From 85361507bd625b761fdec520fdee2a97ec9b7702 Mon Sep 17 00:00:00 2001 From: Anthony Restaino Date: Tue, 8 Oct 2013 20:33:25 -0400 Subject: [PATCH] Sync with Play Store Sorry for lack of description but it has been a while since I synced and I cannot quite remember what the changes were. I apologize. I had trouble syncing from linux. --- AndroidManifest.xml | 8 +- Barebones.apk | Bin 145607 -> 147029 bytes ic_launcher.png | Bin 126318 -> 134336 bytes ic_launcher_small.png | Bin 21093 -> 17333 bytes res/anim/left.xml | 3 +- res/anim/right.xml | 6 +- res/drawable-hdpi/ic_launcher.png | Bin 7037 -> 6011 bytes res/drawable-xhdpi/ic_launcher.png | Bin 11431 -> 9424 bytes res/drawable-xxhdpi/ic_launcher.png | Bin 19940 -> 15837 bytes res/layout/advanced_settings.xml | 24 + res/values-fr/strings.xml | 46 +- res/values/strings.xml | 1 + .../activities/AdvancedSettingsActivity.java | 34 +- .../barebones/activities/BrowserActivity.java | 3255 +++++++++-------- .../activities/IncognitoModeActivity.java | 3133 ++++++++-------- .../customwebview/CustomWebView.java | 55 +- .../customwebview/IncognitoWebView.java | 51 +- .../barebones/databases/DatabaseHandler.java | 8 +- .../IncognitoChromeClient.java | 4 +- .../barebones/utilities/FinalVariables.java | 4 +- .../browser/barebones/utilities/Utils.java | 55 +- .../webviewclasses/CustomChromeClient.java | 4 +- 22 files changed, 3390 insertions(+), 3301 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 43ad229..6fa3b08 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="56" + android:versionName="2.5.1.2" > - + + + *N5 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 SR(cqxB$x>Up9R?aK>r6HcUUa| diff --git a/ic_launcher.png b/ic_launcher.png index 5ef2ab5c700267687c4317ccdad562124009f1d9..77885c7349de018783cd69753412b65cfb00a2b0 100644 GIT binary patch literal 134336 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%0AP00ib*H)=y&_Gne4n~ zh1-sP{~P(xS6CqDcxD|BKUjI>{vcq4QL`?6k8@^6u=GD?TmXqxNfED5>yCLq_$lZF z0*LOEy)(npbtjb7A$z(xyYvk5s%1qeB7u{12JeKFmQq2mJzBHQQ$^G{k3lZz^yEv% z9j3*HQ?goT-6F-nBEx(&75DTb`o#_eAC9OUO~=Abx(hKo3Y7WgjUA;%GD4J@oRZ;l zMw??f@u?=RpQWFx@jyB#J6Xyp^c6IPmtPRX)0pA=t`pmY2u*T-41O?!-(2+}m@+Qk zlhVGi$KlBK1!4G#L5xe^O;UiSeYrWoyluSGSAPBA^~3p;)3>YCX{z_^R--U%>(Oa|lAu^Sya^iYK)Xj-~cI*t?S5unIIq3Ek8NP}#kRf7z=Mf~gZFxeloHm0h+2R7H( z(a517&gf5=ZmkQmbf)=|vmHaOoNoJ;-t}{;PTjZHQ6M?-$V4O0B%x8vQ~+Lnj61}P zL{MwA4*{~09{ELpI&Br`2J18ijt@Qoo`7Eg+pj+l|MPva*Ean3M!7(5)~?DkYxvX^ zZ*5IDz&N=P_|KDe2z*VuspAbi_xqP8Dry%(4t>W1zU3M~*`s#wOKO9HiKwl)%JM*= zs(g@>2}Jox6{t7oo*G~+%|5!SxF8GeaR$eUKXrC?@_*^n%UfoWTNa?40mzt}XHMS@ zV0$BmcXN8P$dh2==5*)1yyR1^D>2dy#{5cRPHK4poGtt-;wMB_MU5uJ`|mu(()VVC zlq+V1-`0Rz*W#sVHZ>qZya=ekfT`xXiAQ%44w}St zZ>HtW4kfbGW%nq7~QIx zx$<2J$a$YFbq_qpKCiR9be!GtX8uIOId`6>(WR>u!I~Vks1dYNv~X6_{Ru- z5UNbSJ$~%B#C~RWT4NkxsTBvtqlEk&;a7B-7k6B2pKMHTCCJ3X!Uk(~2?r0Q2B`28 zG<{XBy|*s^jg4y@USY4KpGs)qBnSaiF}NQzP{&woI(53F(<^HUI|LN;^VKEuFGpaF zgG`|L>z2b(-u?g|_Hw}@!K$>O62UKMwdz7lW_Iya)aH-y9Iykq7Qj*jVy#}VX2d=q z^LYQt0RnFk;L}c?%oWspfq-5~Lkn6blwU*1XVi=y}N(=(bnL1btzU%`g*of+fc+mi@<`7rg@{ z63cE-+bJsu2aLdh23tXupV`%UF03JZ;jgxbQB)-qX?Dg1dVk=)0*Y$H>G*lB@~6j= zVd5wcM=k^=VUO*YT+{u2=cSWNO4N5g#>X#6EW>4T*}FjKvYHW^LPta zj6u$5c?TJ%I^<7Nq#AKQ^2Wi-=VgaV!Fk-@(tyxJ3qIp%im^+b0rTOu^DvZCZ8t89DH%D?wRuAVusf0Eof{ zZZQqB{{bDhUJZi@|I%ek_JLHOF>*h%i=yIweqj>V!?awV#QjS6Pb}H}-_`FleTw)N zj|@LJ58sQu#pkKx067EoF|biR?m-t((K`Nt_(69O2uLO64I?ea)725R)PJp~hM`FP zt8^%ryX<1FnhK(Oj7U{)qHutv@#q-Rf?(>G7)V4wzHvenX&=xQz+Psfa$X`ToOTNH zVrHk4+McJpKiZLA9QRy?Nk{tmzoMgoxFm_x;^dJ#$RYg2a3xPEyqFWHUal?nue^L6 zaU!RF!E|LKhmdm4r=B<-tS0yFApa>uEjRx^-45V8M83(LWYENyFO=!!wP0d?JKucjVFjzNor@c5~Qj`8y>gfhG^J0*uh5Sw9lrq^V5shz9l@dWh5@6Bm_Z| zq$TTR#4v1Ln3z8In2yr24V0Q^l%#;~U5u_xn%k7eNV6WOu5e7Qi5q;*ZL$TcoxY0= zoK|7?3vc7$t3AxpYR3_vVLbkhhd=OiF0}&jR-9>iF2#XxLc8b^iWI#c14YBi6Kv2c zJmjGFt@&Aek|wm;gN81)n_n9wOfC6pNnei6)j;0#kXAZ4+|I>=q=I}iq5BvEA8IP{b!AcdrXerK%mTeDZv-N2Q%iu59`V`o#CCbGhA*CBH) zQYtaq8(GWCm4Y(3`H^?!vsX#3r6Wykb0iQ>)*S2aR$xm_dpFJvsot!E08e926M4u9 zuvqd9dW)lv{cZZh`j6HCm!BGp?6xyo4T3Khi5`rIUk`?9ewy23CW&MptwNV8y^hR$ zKjtM_a4-z%RFn$E2_C+|%9&o@WLqci%@LwM~8 zwm9WowM3|zG&4E1hy*kj>ELy|NK^V@1W9oukE+}1z*MR*az>M^BLyg~Bzx^R-bhUp zT_MsV`ND2vD=|Nggo8y+##Vb`sAU@HSEsC|MM1&L{Y>vD4@XVEiE`=l)UHKTbcmtb z&?{nYDJTpjR(HMf6vDQ*u!Ozi?VO{3vTF%L0_O86AAIqk&8O((wg8g)LfMeOL-=FYv zjKw6-oF*cc?=>>oYiQrw?n^lP@(jGAN56^#j;-*BwIvWhaRBt7r0%?{_`0YL!sc@V zu56JI_L(~XXJz2K~r0~q#{?Z3Q zS?&F*2;T>YT8>-hM8zvCoZQGNMV7QHd^Jc0&8W~sP6xdYQ$eY!{<_cJB8Eg6T*R9h zQucq!0u+^!Slq!>F5_k51b?ov)lIF6u2e(-CP4si3c2k{bwOw%Tu%_qA%n*pUlHML zJ$LkDdSYu=o}bbQe39%x&<~%S`&x8;tZ=pp_lvE*zyD5eg_Dv-rQUl#P%x@ON zYv{x!e$GT9io}zv2FVbUpc1XJ{WF-`vQ7q7VtT#yE@j3OG}nXF$r99zjMjQ?^0>cD zc>U;$%CJH5OqZV~Ppf7pbaW8~F6tm1WTY;~(?2@x%h-TrVt$pIn6#y z!}$xx!{85|C@_a;AU#HbDYzz1>r&P=<1N&~zyHa{HiT!ND@?Jx`uTjXza6b zIR6`Ge!cE=2AQkCk?YAu3H-rWz;T|leYFp0J3tI0;di4iZ2UKDkco410~Zu@v|pjm zrJVlVws4AMe<&yWk+Cz@Kle@`xAlNHQJi!cpdZ--+YR!BlX{(h(JT{0@i(v9cVCxcD83A0LuT zZnPR!$T@w=bi&~q&osO7Iw_N4b=C_``F==?QDo@Uuhc!Gzh*Nc0xwP%8d79@CWX^P zeMhlfcYfX8umag;tBltjMe`qWx?AtNpQIWbLwUped#i-QEq5O zYa>Dvx;ciEq>*dB2G7w_QvID<6ZdNkbP55ihn0~|>*|9tpA0uX*FSN&ILh^f!8(lU zXAU|7H4mr>+A@{LGdqaq;Rk^qH@E89b(_%3&_FN{o00kv#i)8EUO>EO0i^5>Tg@F) zk^SKLRkUC2MuSI|$Z08HUHy5YQjDVm5fO1AEvisK%GgPV&A^yM;&*zV`)7|Pa_D%l zW0@tW?_<+fjOka6ZajsQ4yXqh`n!^f0rYQgCNjARIc!qMzQ4_!ZNvKQcOTdVLcs8c zWuUO;C1$BGp`G#5p3uJ*ONUn%V=Ce9Q!{SXz8p6h>x$1cQQ+GcfJZYSJ<l3@dhO!G@z(|2o=i!I>h2Fp&G|D?+MQFB|7M z01~{e5Bw^r*-LYp_>5ws{{o6UsTRTp5a{07BPmD~#^%O9(uAs9STmh$nE;!E$*0vUB{N)crB|hC{|Gz0Tl-X&VlyIn^Spk%CT|oEAeu3T)H`;^{-t zUTi$s$9&iyS0F^m7^l=D`e$8D z!wj~_jLdDpVq-rnJxK0xu`YF?rAWe0`aCK2o~qsl<6&`O!UBE5B=O`;Yr|QCFFA4M z1kpN zbkDb`9av;eYC-g)6Nl%IbWLm!T)%6^YqC|)-=~uJIV@WxqQnY|1^5MtyZPuUeg3PBWOW1kYzk7xlz2NU}s3_cTaL{7ZXvx?AZ&HBA?eFI;FYv+S0Gl z#ijRO9L*TYd4~>_KI0Baa-}K1cvo%lVjy}NoxwCIaivWhO^mNT^PE;!i{qhT@it1u37@EhpIq8IZa5$;mzDPG<3F%t-1_VO^>&8&jafW}mL*>ta0uW^f`Q0#&7gVr%S9wVOqQv)o?+9$%9-IyoXYKG0 zrheidevGdC!HSdPaYsclcnee?2H%N}+xrEg!p~fpQZ#seLR_5I=sEI)al!QT*0`V@ z<11(wyf-U!nPgvATC&gP*GJ|A>nL-=upPjxaEWA4t@X42Xay~VvziIvh}@}CgL^m- zLthB4C9ABzkq`qelxpMWQHS978E~%0XH7WV>HkAlX1y`DpKo3`_iM4yQZzwntxgr( z1P~`oj5dv$i*`Z=G)Jd{6i_FG4-4T3hW?BEfe!+>-2=@b|M(Aw(9(wLsjtKld*+r@ zP$Ui17c}*;Q7>Cj@F)9OrN)K(@6&UKdE9wO7XX~;K|#zoc4DMwAjbM936I|ImOYN+ z*GFKxXpl3NgE`>dz5ZPsN@WM(;@l!4_fj{a34fN7>xa@yQbX7rDBj-ooyb)==Xm`u3%W;s zbAcvY@#|lR{x!kp{D-J8e&}AlLMM5zPX=pG{E82_y#Afl65#HP;2G?!r|+qC?}PawnrPir;}0eI1N9ky z0O_>;w9M7N6s%{NJd_$;Wpk-t-WTL@ zd&-0TWoU0i5O>{0dZeYa=O_o1%&Bq;F#}Qi4DC%JtjSd!2uR*{t7AhCVRDBLkf9YR zQ|!F%{Y~W!P>e#mHgQMA=HVLYX0NY$k~n?S7Z$gM!?=>KnXOA$7$oXf{LQ(UiApdK6h*HzgYEo6yay1jU(7<1vpJ0 zF*}56K5^OjnEy#CpUEpe&U>Qw#T~fHnm`bd)gf8@{`a}@_{aa`Q+F^mcRnfF`0jaq zP!JedI1-8SJ$anat1_=JBdTCRx(X7{-5CE~a(#+?*a1pLq_$(6c1jRAL)+QErL@gg~!h4Y@tV0x0_xcJd#GkZ?b<(1&vuQhzOP%iO|?L17zatS&wJnHI_R!^o9>$ZL9{1C7OEoY3AAU_y-r?5HC_X3xG%sk#m6Ff~t{~P7^4)Cq|@y zWs6yGiRq9czLabK>3eN>lyQQ62>RAq@xw>&;`pcL_dWLPxvQjE6C2&N-R2V#L4sLf z4G!Q_UEQ7t!VrbGuEs6Tzr#s!OWxTx+4!UtzWCgZ5t>l279Qors1{d`y};vO))7;h zFZ*26YO4HVQFo1ljosUnRxk&GQeHN@lqv+9PPR5aBm*!as2x3_T~{ux`fSRC+&e4` zC>--&c|TlPL00;oY=COYwALb=>I$D@Sa&e1X0`$_7j}U}bux3)6~=x#1i#q)BL)F@ zM0;2UFC};%73fP-7F;U9GX5S3`bVHY`uSsv1xn8T85c% zo)LtZbPVBZ90XbZrqPn{PoUKs2FYrcKUG0lGE96#m9U+l7w%+kDlnyA&{0q3@q>{E zXzVOo{_A+;pEM${NqI|)p>oZLJ6b@z27bRN<#XYq!!Dq^Z(*-Jkjcv` zPc}{J+Q)=y?hK}aq7@)7Xm!zqOVV#D!fs4=s3!P$z$`D1Bi}0V=c3JI8m|J#1 zqp(dw>V~d{5-~=01K|Mv@^Sy(zJ)&z@U4@GCR$BQU?GKFGv1?t29O=WY_W zzWRdr3>A^i8%9#dyZRCMCT%4$!engbthyB6P}ln1d6 zDV6l-5NGJ|@*w!A-JbIDGj_POv4AYL1(jo3Jm!!V3At?8mnVySBCB7t7sr_QhSh zx&>^_O~5MjbE%UdGs0Y={jL9VL9q7Lz>5IG>dSq3gW8^>L5CX$#QLr;Glr7j?rQ7q zArP_}RQ`UrYmyMx3UkE6C=c%#z4hHDpYI zoJ=3;bVT0*7!uiQl~~sigd)8bDS1k#Y$AE@H7s{E{&-1fP`+h+T9#BT#-DV;f^)?| zlq08dW%Z3kM$Y<<3$iR?C6^16`wr;Wt-ugyP8C;0ydw2I0b50o@5*Xh2Nc`Rsv@d< z&^@ZC>DtwsYksWk(Oc6Q7b6nfVAF$sJ$outcS!u8D3Ra)>4;T!R?Rx)vuXL_X1FXR zHiY+ufLFsQWw`uArl`cVnB&H8ey%iL#gLB0H;ymIrr~P2Kx;YW$mKEiy{or6zRoH( zyD14C*e;~aXPI`yDm^cd8F+j5eTVnvq21N-Tqi+$$tyP;2!95Nr+F@6sN)dxn18mN91cSTs>E!pZpp`BpKIc7A79u0duExmJ-ok^gsjm@~ZFH$ELr$ zJApaIFc}!DFazi3kAqd$32{%MRS{*Wh z$|!}0QP(FtEYsFBEv|js?|VZ&DdWaOx!8`3Nv@M?spoD@saBU0OLmOFD7Vw25iWfV zgLa#3pGsCpX-U_vcvBV$?IU|8-!l2ap7BY8bC8mTlj=Rc9!qarGeH#Bt^ZvayQaks z(0sFJn$;HEHyM2AcP`MeRS#MTr_2~~yK`d%pU^EY)3hpJ>qxrovNq_h{@8iYlAE=X z4&K2QrK%3uU3YFzG*o2dfNC8%SqCEWq56?*z`!FLEsCvg;!B$|XBDzKEz=veq^}y!(X!UG$sYq))j(B{&7Y1C|0}$k}m-#ye zmrQr=oyZw)FRY3+u$;h7+|{{>J+>HhUNcm?qMe0JI^35X-wv5(Nwya z$#3bnmPvvhKm5n^JYA**=c)HiRnY!ByUvb%ngJi^x3M+lzk~=vjXEXs#dOp~nZv*x zyg1xgocQY=-A#SVt>c8>8mxS4&ap403!UG~M)KIz?Lbs^yzwXq0ka{RMp+gsL<{0o^KK?N9SFa~8m7oljJ{(y;fJu#q#8sQ9!tt^oYJ z_{IfO$Q^o8#)<8t+&+?=9&jhB8>l(?euQx@N}htEQ1*68jtYpuj{Rk>_o?DX{q(N) zZO@lfyncaO_2OytbXm>0)Q&*OI=<(177^-~=xiKSZ&>=>5@6cuWCV^*$T0mrJTdj+ zi|EXZ87kj8?m6-L_Q=X1EeEazx>n&<;y2RLWwm(NLKxOpVBYMV*jEQ&qr3y1Zg$BeBm@}?U4Y&|`_mF+ysF6jHrxhq5yHq0OE zg@MIbfT`}rgo<`W}5)P;4KOIK(UmbYHS7JYA# zd3`L3V2%NHD@vnjM(k zK?c*FI|xX_6X|{319cw+DPW}2Ko^Rf+53zaZ=L~Bg-!p-5fm#~?YfHBx4lYgx(>@O zn3;Rg!bv0Q$mt08ZJh5wZTYm1EBq)KY<(#b_{4a)?OF`dX`cesv-goIQN82~>!tbc z!ey;urDQxhf0y>m6TolI1=TV#$P__Q)1eKC+m5av#)m<;P5-*VR11p8Qkv08;JrIW zn;>A~;V^JsBsHW0CE{Vt2<4zNOnUfZt?#+#*SoR;9=BrW!FEbqb0%0}=|D@FDo$>c zb@&d1!4eX_?exi$+`s|nNcO31<_pNKIr11-&Yx6}I%XdO1Zxqjm74+J{3j5*v)vPD zK3K=HOFuyzKgBpk*T+ax9t0&0Waez!ZhUov@T+xDV`g15&nqc)@cK!T=F*8~ENJxE zqXSt=;ODDHL!)f}YP$kaNmj!JNi2nG?;HlK*;yj*JC(ZD5ycs42btVsEl#bia(Yq1 z1d&p@nu2fYtkKHK0#K!G^)>Q_S!lgO={3+2gDNpVQtrs{B0k4So(P_?rGobBYrLdW1lMECt$TNzBu@%&j_q<();s?Z8yzrG($5i zQ~MN4Uk8$s3~%H5+d+P;isauQ!X1PDQf%N%q$CXVQBP67&irjURWw@$X22gNz4aU| zxS^FnE6r{5ko(uaNEIx6mZR6>p0(tVOOvD%wObPTo|C%{G4QQXZ6df!pfdo* z$_NVJvUMIMvG~=1tk>(4e2)?S8ha6ex&f#WWa1IrRwNTkZ$jLE4M3E~f9t=n=uGJB6N}R0Ipd5i^q0lr$?IcwVNfJu8 zF#+cB9Mx*}No+e4%j*j3$+XpKkHD#l#@g{Feg(2J1E(wUz81BTZuQkp*m#bHA_Hd( zGKH764%gGF^?L6OPI|Y9PZkft&v~HbyN%f!ugNLz;GS^D{N&ZzCyue;hLuKL*pb>H z>mrcxgr%_Jr_?sf~;>)jddM5ahy z6uaT5SEDLZo$8m}F{`W;Q1QO64g;2{aq54rplv z2CcyrG|T*e3dAz_D)(z{4ccz&;jbDGg^Yl&|xg7my@k4sWL z71>mDf_qgV&}0JDGmGuNq*ea>AGKwDl&EwVP+RzXP^j>+MMfnwA!e-#QW_9w8qoIz z__ErTY3OdU^dd{`I9p*Og8897N?N_1A21^^K`kEWXAC z_z0n+mq6Oei4i703_`?`pO(=HC60a-Q;iO#|Bt3G4~P2w-ha(lW^Bz=mLg_kD@&53 zY-1_aTcS-`7*U9#g%IX7k|ld8Dp}g=O_n5E%v5$|6j`#2ea|vsX3X;XJ>H++_n%z4 zy1K4;<~h%~&wbzL9EmZblA+EH_j&7G+Mi#MHl*8nd@SZL_i=~WXBL3N5qYR4G)o#a zvp6zDPX7Y-l4DMDB9iuJ&x?@5D)$VG9k?7zdUJ3Ab7CEsK1*I5ob&fm9L+)LQx|VQ z*edI7mt(-X1MlD!+{qP2z;E?Ib6sNvH2VuB09WK?a{*)OJx|a@6j5<3KsD5WV4EW5 z9|rXA2n+0rd2#EoduA`_zC8o2I_+D*J~Uzrc6Y5znON&d^@uZvjyotG0*+lom?oLOmmhim zMmiaMIpxq-;X{C(QW^sFF&G|paM$0?Sr{3)>(R-$1pt+WlnJMpk7&)=;>5W)`|@=q$-q>l;G^*PRoh*P_xr|fUC zrY&)?e{W&-Vqi`s#c~RiSvtI&aW< z>2Tva?0u~L1k%C~nv*ToryK;+h;8Ac#3vgq?s1h)b-vp(pgaR?INQXoKvCk_XkLmUa?(kwH*FbrzJ@|rUtFsEBWQZf+8dj=Y=>7b|WMA%y=X}&$@?# zar@o$;<2jZyKiX8C02aJYTquYrI)`FFq8I`ip2ZZcKAQknJeFX`F4*B0-z?x)UR_$ zzmv`0KxOjZ#^%4}YXsILAu6@)uN)p3Xy}Qzln&9NYvJ`u>27W0vSHeyg@@lYP4f+L zu=_M~PxY+9uX@uOVX~=H<81D8>_m$moaehAw|U$KP6pvm0Ltke90F7i-PQIW)eJzSRpG5vo)5 zF6iN8{QR(2N(6_-I_=?MQoXaxI395ZZ`nGf)Qj!c2F&DDh#70*QGwjaTk*>;ibNU02!P$>6^dr1{zcrD4A{ z2mIO}{Wo#uj81^^opq~5ubVHYAA$kiU<+i)x+iu+gn8U^jn?~JfGc=Tnj@SZp$suW zep4i0gU+r``B#c+FMs7MC+|X^7)LkqnBhRX&~V!8LGdRM!bJ$e91dEe$vkQah;-1U zmU-Ny`vZz|ayu}3eB2?@7IjKt=Jzf%QC2Vcz{Ryvwcq-)_c6W+PhkzzqIZv_sTjOt z@vriNmuc~eiN6me?$3Mu$|n8T^{jKH6(yJDX-gnsgfjV<3JLzrZ! zE4+7#|9UV%GzAszNq_=`Y5#*B zxGyz{b~6-z(mnoY-~&A`&)+lfH_Q6ce1!5yz#+?@+aOHgnprSX;jnJby%vC=v?C%i z228lQK4|K;y>-BIl(*R)G-xjmIn&;<8*p!I~I(bj6vCe*sCJA!L; zc0zm_-b}t)e6^$OMrti`PQLNEZd%ONf)SNskLoMm*2uT@*xM-=Ps@vV77sXy{z3A; zdbd~1J=|EX(>^#uE6-8q_synqS4nI-{B`!0vt=X8X>KH4lSe#^~? z(iQ5wU6^0;EJqhq=4{9i&W^FK#VWpk+nCufM3R^m>I(Ukh3a#Zb+u&W0({`vK9BtR zug0!)<7$gRO#Zxx@=5TsdbgP0p-O{-C}5AfvmVYkW5Vn`n|Jv?cLSI!1L$}#eQhch zZl7Vk6CAwD+tIql`@qZxlDE`O@zZL>uy+cG?WGxV4buy1ffqpi2$n5)=hDwjwxI{< zy=`a@1$VSY5%u{64!Av_$gW-#BA*lU zTbuUi(YCIuwY~Der4uJ>vD7VU&@U0R=+-!aHma#)MGYG|};npLPA4x8u z>K@pi5n@}__$^QMy&jKI_y;LkeD}lU+blfy3#ozJRud^+1f1%y2t|`A%w8O|!UNe^ z-ylPHdO3Ta9w*R9>HQP?CKGMNkWe7!&-ndS0TErs*r25A|1c1Fzut)-@?r} zi{xyJeAVSHUfsU=M6aW(Q68}A;H7ed@p!v|cn{+awOZ!bp(^0s^!?}EYE-Xnf6Nid z|FyN2@a8w+PL==34r%ZG;1HSn;2iT6aG2|NYWH;`Tz%fCBGf5LKX^w1v~T~``zbb` zDZj;q>VMwlqg&?M5M%t&8=w|)DAF* zv^C27(c1Yt(F5x@65Z9U$5M%&!FgRXq|hOQT@cQ3Tl@vrMyn?Me&5p*iMIWpi>CtH z?~8q`1ybw3WQ~%^6N(>@ao2x9w@(MWL<8>n9}0!K)SfHZ>O;6J?q#VJ7Cj%Zrj=R4 zi4qqBr==GBRsFJ__m>*4rT2y!cb)3esBBEFxP9q;M4=^-dTv?3$Yl4jKaFP| zn+>9E4jBufBwv`UWM_r8eB<#LPs-WXhdX=6>fX^ZMrifS>J5QS!xW>hO!n(5#o5^c z8=>>c>uH-gW;Q0IUvm7QT1#=DGBvR8VSWv6FEiCyuy&%_cWLe^5hhMYW#~{MwS!jcnAvt8T!9I}*)C z53ZZ|>L-1tT^}jvw<<=a`$jZQmTgt<6B)l8h+*^(^p{TV4VpIeUn18XOWCzI-xzwo zxG>)JjfsW2&X!F@KkqAGoSF*a6L!x@ry^W+#4c=$)$T`yo)~4{(0XJd5qFfT%5CG( zd7pVc&Bz5+xI*4}1+!a0Xm+sMaIm-W@5OU23ax}8j1x`7iS#S{R2-qpJ>j!%j{cc9Ps~ zNNQINqEb`%~8xLOjo-9ye#8BI;IEVY81ucZb*8XTVp41+io*>ZD1 zzdL*9^%#|FUt8F-!k(b%k$y8Pp}l1#mA$u57*`6?$#%tvU0=JHvyeHo=23Y^_~0#v zl~Gvl5)K1>o81E)SZIC(@8u8hNSj7GE{A4^3i2+@;%7M7p^ur1LG)*Ky(2HlPu;GG zC^O#$JPB%D=$}5RS9sHabzf@-7e^B0S`2Vr!lIC*dGH*Cn>{+mNW@dfFK{dB6yi!k z&6HQdY=#rkmph8vn+Obr6Tgpdh4EA5lPrw2@FglInZ-s~3YDuZy`-vyd;BDoW6}}U^g&@yAIGS)t*C!E zIi&qnOb_cdvCVZwi~IK{vN4S>Qk7ycp}!!K3!`#LQx?tPr05=0*A6ZXlb`uQPdKj zq@i~3uv_q^G~vP6*D>A5+dtjNfp0=%i;=p#`Z1d6fx^<@ABSD9m1n#kXx_;q^(mWO zuL@;EukUN|>K~%a&#Bpmc%dLWKJ*jADSpB|ldK^Wk~J%2dXldBXOWnKrf){-$gu-L zuga}b`tzlmm&ugOjIte;;RHf?JFG<%-Vrmt>9ggi#_(<}U{4IGU;pQMYe!S0ze8meRX( zFfTUc?GQbWg5G?_oxj=|^;}nU#N^!Qu2STEZXYUM z|LQS?C&O!AoZ_e&c2qb#S=h+_Lawg6Uy8X_FM!uT(!zZAZo=7sIn&-b-N&Pp3w1uU zq3xIZPsv(t%NZ{FW`Fv|yNojT407g%(zHwjl+W7GyD1&QzpCFJJ}E#|u3y+wNfceX z!D-Ml?-tn3qF=)DrAOBxvzaf^= z?`A|wUtJ=5a?RtC?y8HQ-AiXyaAn9+W@;Zo^+(O;5m*Jz%NQm<=HhJIcvzF*cb?p= z+s!JGale=I3m0gZb3cFP9uyjjaha2IyyUuYSaRE+mvAbQHXi=wbLdw|3>xaczF$af z*?(*@((eUs(dduELZtS>+&dQLeM`g2SEIM25oYi*SrdNdSTAA6CmJ_OB}YmP+~)s; zXOs|kC1gN->*@{c$f>o43efZKKr*CXOX$aMpvhg~ES3i>eD#+;uKaq3s3T@CG_OiE zxqJefg38eqZ9rj12HHhRnKlr%_MkY*r6J(y-__`K))IBLqHDJ}txb1E$BLmGQ{wT- z8ZQqy>*|@ks#*kRX24_e?<Z02)(!rn|>FTw#^_W#*aMvj>$i9*lh7t zA0bqaoe%0M_6NtxTvwKEx;GhuCjaIU;CdAO=B9=3wCu68vpiMy$J)Prs>QoFXVx71 z`igeYu3$4a-X0Ek^1PGj@N{%7!PWK&D}nal?mg12mW=^f;ZP3S|6o~f2M^BXPSEAlw(cfCUgU>sW^xj zzC!%9{(Y~lU}En+lbeEYzZu1E!l0ish^_I(#uKj9$HudV*E|XT*Ytdy zBD;S{tE|3y;pVXc6|e?`vvK%pmtz@c3Rl5Ay_fYm=jy&^66kao)w6h# z;1cSPf_$|WGPu8_XD)7OVA_mh$3L&DdhyQ+Q8PTJ;K8S)jzDoInp>Xm{F132g~;c z;N|QzA@A)e6f|%?^4~M4qB(JIrsM{Lp*J0Og2H=d_C`U_#CU}y>RgJfHFblV2!I&6 zy5TY?O9hglD0Jk&^?kc!U2}8StjYAqA_#qckkQ>H+OWSCqbJAiDlK9zc z>=1Q0OE7GH6r%Iq-G>izEHjN?-CeXQ^Xym>?N~~87SvC9^&Dtn$6CrxJmKCNGsvmmBwx1C=!c!vt zNd%ST$4u9i7?F{D3=u<#kupC z`x3@&Df^!Vksl|`pW>#gFE7EzgzlRf7mQLsddxqt3L(fC>TlL-#ot<7rVbv~_cc*T zJ`IlU(j=KOmYpu#0~IEJ;9L2ad$Vpgtpc=)D!D7czD-XFuUghsYitil%M-b(B?)(^ z(lMy1|KYJ#w^r~Qgct9s#-mp*8-bK~S?*fyfQTJl(QZe={dMt8h>}WkF;Wl>%_k@o zEl3#q2)^#*(HM!R!qb&XS-Tz!n1@(Zb@r~o7oCNq@A?Ss`lxg%&)0wFg?pBVPGho~b_>5iPTIO_%(SzEuW!%ls({`Lv3K{Tb3!L>B^h=E%@ z3c-Y6QrXKvF9ZuwmT?o|HvO+=P=YfFPbM^m_*2*Qi}Ew-DunbY{WMO*4BV@AfmBk1 z3&CR5fTh8 z^xvng)Qj|{Z{wFCkC~BPc|n*Ki|^yf$PjYls z%YMm1%1KM%^9cB6V`6!WrfF|udwCw7j&dV|lyDG!}(GK3sz$p8Q~=S}JK) zc$@CL?uYXZcRtNy+2NU4lqaH&3}$4#gysR-%0knBW55v=C{?m<7*n`6jIT}x`u%*S z(~J5`J5(P;W#iv|uD8fQx!89`GuZq~_~+axP*nH0$-L9>SM z36mC1c#@;wLD5PO*-HT4aC0ZN2{$t0J_(C#^WB{#Qc}gaOPa0}=H3uohhiHEFFJ7c zS#BHABihimluvRwG$NLLgX2W4A`IMCX2#yA2-gq|s8S@xJ=FDc!cHvtKq+FMXpzvC z28m=`G4g#Uk9ixK|DZHDCn)toC|tPqGWaXoVx*8ynlm%LygW&X7T(pXuhbIqrVl+e z9(?JqJmYzme}w(2T&h=9>mJ`LbLdrzdHk0;vBk&ffUGz>oqVphDf2S7p!*M7E1`ED z+ep$C_{-ZN;BJTPgXUSU+27hz&GE@77QeQ2+$=g!dE@j-WW|tv18MPK-^q8vZ{aS> z$SaWa9g^);ibEs$OEd8H5gg}g@S65TPB;u6Zlw_rObWsmFA*yrC#Y4GdJ=VIFz*bi ztUhv7C6q*e(HWj%(#HPYGCt~{{BEbHf-rj6xOqH2Ys)Q_BU>~o3U3J| z(ezaD!o9~Nzo#4&e%%EpqUln89NWhN|AB5K(rQilCZMY-uWhYv32@J#1!s5 zWT;yCUj<>)k{Ld}b~c8T#2?BQe{#M4+-#}BcR&A?jPmY+?S~%0)woSvi!nX8GMR|s zjm2ZGFq5VR>k9UdBzMzjzt)Ogj?4N?lX}tByq$4bbh-jHZDLp@572heRtm8$N)}Fq zsXoJ&jf9d-M&=YIVHSyDw;=)qm<2`Aa=c~a8wHS;Pz6%fJ3(Ui-r$k~wi&9@CDHGKPM`KJQC22KM&SiX=frkxcp{y%vo#sQf@5-}15q4RTPEh$m z^T*0NcKO%u$-54&dC0zC9N6+`)-rYRvsS^4lV+S7G+$=wO_!{d_|6KCk1Ery#=hmI z-gTPbdTsP;GD}5n*=-3pyKgXZgvOVLbve<9(PJKe7QLDtp#J0jpbt@~IDZqp&b6w%yn9Dtn#CYXlHrThI?qP_ zfuA+>MiS+OFN}M8A|OQbReV6fEvRth%R}og!{7kde}7_ZF&^DE1J_jS?`cMSm&*)t z+gS)&7s;Lz3vW$GoaMw@j8+RvF>Fx4*t1Bp&Glu*EoXiLVwe{I$D?#)x~}ZLIw?az zKJS*??BT?;XVDmh>~ti0IUM=OC(E+5t`)=2lz!MP?#Z(zi`)qmJamnv74i4c#;UjR zXqyy3`cm<@DQ!DSsC%z6e2qW-yOqG|EJjpSVZ2KGxRnfed#986pCwk*;ER(m)>s+J z!&65z!6gfP{0GCCDPiw3JwM}QX$*MI2-hfxD7Ci@@SJyl?o066^?sny+B=F`wG~S} zbl8lC_=GOgB0Q1l>=)f6F{%-+;z#ampvTGH**d+|kh%s?;*S#)TZ;>`<$k~O+O`76 z=j%T=lX=2q+aP6V-Zzp23k_zC$3BAT5?_;$a?r^6lzD0Q)y5KaBtx(tU!;I~TEk?M zkuBf(+4DTP<(>ovk2YXz@X^@tXUGfo7~8loLGNk$=VaeFi%!Mqn+B1a0k3)e0Y{HJ zZEzv6QWLy1uAR3d(%^u}Y#+D7{2T=qX3&dU6s*z?L_EPDb}Q^VNjA}Hgi{o=gEykD zT+PD+HgjhWZo7L;=xMF~g`fwj^q}fiRLr&i1JGs_8zyhPlu`tD!A1icuwI-``*GcE z*@4AwMkve3PBChIUqcD*7*v+*i3EWk??AOxR>dcU^hfzkJpozS&>;}xK%Q=?_}h>_ zhrj}V+_h|T_Ptq|;)`Q2%Y^nCVkFwbAmk1ggxH6+G2=4*W|~X|6wxqk6iTdqPuOr9 zg@OLkT=@OmBu$BH7hzm$LQ@R4S7(__`R4H~Y4L>cVAnz-qf)TTY#PJ~Qy<}dheLZGJ_stm+8k7|U{@Nl z(c$!!N2YH5Vt!LIhTx=jRhFNGzX*N>y(%LQD6DL_l^l_cjFAp4v0%YBBJv149t;*w zN>lICH>Tgi!bQ!S0%dgs(892P3Zf>)9d47NXgoh8Jo-C)Uz2&X1^e;C#fa*$s&%B+ zAhef_dEwPQ<3{0!8k17nza=3q!QmS^OipM~eS2c+cyecQo^affg(vp!_s{ zE92gVBFdxPd8m<-V$*Y&34S&8>*2?3;8{-pktDg$O#17y%5>a@_-NHNC{B|bx8$>p zxhUjP6Yw;5JzCO=D0?~=I#a8-QwE(w#Hq^LnMhN>gjA)kGqCx0VW&BeOZNA^`GpHe zL(-X3#sh(A2;(_a_yA4UEWN>t>80^$kC_5}PWoJOpq9(x!bkq=g3Ha>S?gK#Dv<&O zvJ1#bGIzi`euz~cj=bjkh$Sh7D)4zZ5S2Y50xj<(1umx7B2>xQ2>Uk`^_UCHm{&!hqf~i2APLqSt(F(oz!GhHrPM9ozsyvC#g}YW7!8rjXsF zqsQ(=_$PuE>-0a4l01sjNw;c8xap3qoVbj_5plQ&RZ1w7jQEAk`^PO19V)wWLU?rI zM8jW28`qdGMw=H)?suMIM|_qiwR-GJ)==@d)_ZVau7rgf^4Eor*hsOoMreOMID6*9 z-u&R&!>nqOPw2037UABYeII2ViQR|4GQFaQu+~nv#SDDxE*nM5vtxl?#A|m7tRHf9d2e8R9#fXgh z&m~6L;B;1in)fm()f0K{^ruB1(XZ&RKYgW~1{~hY-G0Bn>G`e5WnW|RnHVEiAuQB~ ze<@!d^Xl{UdbiBV-Zd>vdwYe&j}LF4yNWcxo1&6G@~<+H&sUg;1hO?sz^R5)XgJ7z zltJngwVRiZ`unah|IG0f;-Xk?Hk3;~HH10Mw_F~t7{c6?zQ}D}=#=6%ue93zM|r{W z&@B#69oC>EbAl++Buo~rq`Yj>p`X3~a=~>bA^!l2+5Gs^_8p?25Z4iPJ2 zuMIN}xO&VjcWJg`-2Y}pEzr`L~~uNq(I0`;z}kd^iKHn4={dDMRk6IhRP(UfDPBMMutg z`a|}I>ayvAW*aI|0UZlK#|Ft&6jw2T%H2MNht5a*(ZoWzU6Ias=zc70GBQ4FON9oj+g$MH;y}em_6i^`fq~1Re9roLqB;*5D$T zFjdq;NUTKT6n^scg3R)!IRgE%s6G;+u<}bRZ$|?8+WM#@Wy;*=i3e=X_FEob-bq|? z?DhX@NSP#ju4M=%Xp3{CANaj_8m$hUZ7O)5F6b?i~XZI?j zQx*fT0|Mwm2HG@R`XMVCS8}+5SDCryok_8#B6?!MLKM19#fx53wG@r8UClV3CvH8H zN&>o>tmdi0JOEu5isRH7PXdlS5G!Tgg0`!#lM(?^e~1l4uR;VJ=Ju!o2}$T27asKk z@5^Z2w#vlYVZ|AR6DFm|t%8&{`mdlXDq_@kv)2^}9hxsUeqq}*J*O$VR)3W7bC=Ic4T1E+byp$8uwmR$OgMd(|BBZ2ic~#UFpAUi z=7JgDeW}0kek|(~QIIb03bt^U*t6jYf5{OC@lUx+({sYMjzx1)qsgw<$GVF&Ohg-! zB{qw4h(y4^qjwHG146~;zG*!4ul1_bs4D98`NJ)$ZgrO9{lKExU0CXSB6Mx&GvlsV zCm zcF-J<7xOz2%=H-FJVLwEFSWcQ_&_0jU6Ap}dEA%3XCA)y8YwTuf=rd4@QYx%9@rrC zGhzu72A@6lB@y=I>n@0x+b(U$*Fzk2R`v;x=QfSZ)#{HF_?{1F%$6XHOC*2Kiucj? zxw2n)t)Aq+;=z4w4;MVs)PJ}JRn|cNjiYCP2`{bL(w3O%upI+z61*d@hP>C56EIcN zoqfj|OU%QkRBBj?6x;wsCbnV7Q41vW+rgght88*+jdp?)N;!`RHGQEXL1z2U2)}lm z<06m1as3+ukVv*t6<tL3qm1cBnxfBp$5*fg>B=NJ!C#(c0cJYdz2LPiQ^Qs z_|~u&=s6W{4KI%Ak0hUw;@n0#DHaZG_pHsNh-`M+j6YDQkIGnIbZ~7kOj~q7K}s7! zHzT(utb(gIyqef(lI3~;gdjos6(<4^$^QWyJM$aQSvaE{fP(mzaj@lR!3F=6UoG=p zGv#l_o-L0B@t^NX|HCQxy@*NWv+uqV`A@5MltSx&9UIS}JE}pFJ8xwv8&e$(IVz&5Td3=D-A+e6@H$(u zVcOkAPIP6RxEW{Tyn6}>V85SvH@_eAX)^MtU}@VoyO(3OOJjCQ?nm||A#*w)@}cIKZ|V1A_rtD(SkFS zN&{kOquU?5hRP~`ZTN-b%1PuMa)Z&!TRC#^G65Eaw;}*xT4qHLzgwxPbwlb?KK;JA zP5mj2FgF(mTUWTx_4mlwffo25?YcSWJSU0S*)A`7L>ynv`O)J{-~X-h$K z=HYjG{w|fK`3ZTGjF`%p>IF^qprI!RIP49n4@5|Ry}0_HI_C5@lrB2KmFE`YLiw+8 zw)vD+eSycZAM$>PvtQv33drvCX-RpRmj-5twmA1%EBkik*Xvz(^qC{?Z0r|A8jv4|(3XAoo#8>@>&mT$43-i`i&0((WC<%_yx(H! zhAX+?U@8UgFx7L(GIuDG*&}maNZ^QnQ>Db<9*tKc8Ueb3&EdoXV^v<{tWJf#(W=fI z_?8o)NJ>!g?FimNQLy;P%#k z$v+yfGpyz|O$~5i7BM%^Pj~swZe1g8fPat23pYujoDb{Bp!Uk6A(@%8SO^OxY}vF! zRQka$$W3nOw-t2zOTo(li7$n>H-Bb;f25C)hHUd*K!s+#2>GU|81>9nXka~9IWxcf zU8y%of$4g44(Va`F*C1l$9vl!o$0%O%IhAV!Pddtn^-t4Ec?FwCf7yQ>_+9?+ylbg zgF>vj^Gf}nJAuFf$);r`^}qplMW-atyY{(?t9Yc`ySb6Sg0h=eoIdRhu7ts)NMF!R zZNO4gZNiz^E_M~wrK?1m?eZ96G?Eh7SH8xcBgr7s( zDFNPD@DYSY;(FWUt-hej64~Q-eF$UC2^^iP#jOyL9Shepn+t){kug8~fq%sAFDsqA zs5VL-AEvxnI6GIu2W6)Pc$`nGTIQo0z-erBi-LsDh&rO5Dg%4%8G+)l2D_WAE&YtB zDkR7Mz_c66r9JqSnpBQ%QkLV+cei}xT;1e+99LZ~SUcjQv$2PEFK*ZfIo&&d(tI$w z;AVm+f{WrIJ3yBt{ktFk)^y)(?#aqd-75O`@`c@O1;iU(CWNAA`M>=u)egJJdkPdP z4qn$^`24vUMm55!jj%x@+<2LijapV32(037y-iGTJAn>eUwCkBs9d4f=K_c$lVDW{ z_F{`MUZ?CRh?EW8$f|Je)C0By-rh%x5x?fBzZ~=c^qC9MoiK1uR5R}gmTtPbwcb~m zn=ynruJpJm8!lo{n+T%Z=h0)dp_9#I%8%qUxYSf=<->Ekr{L_$sZfO~4|=FVWQ(WP z^jP+XB-#>#2ZF*}T$Na<0iDM}JH2^-)1cN`JB8hj##rZCIp?Si&QVG=t4yb(qIm2f zZ4HzgH{7rNeQ4jr%b;=tyBmRM`WK}w(Ai!cy|mNIqIV z-baKTrTij3Z{;c}<+nxeNK~3KT@ux`{iv4cfSuNE(ShbItw$EVALmq|<}PPm=|SGC zK|P+I0~x#l?-*)Cjf<2vwG8vfKK!4=dFY!_yQ^D z@AbKWxvmdMHL!tIv9NsSboTyYA@?Nj40c$dU)ED-DiF8H+u`p#dJkUu$bOB%k)7vUXkQ#>5x6ktL}KUp-#LF9+(c0_rauihZIR4rJ!* zP}~xAR!Q=g8p2hrxAnM?6~wjU@)YX=6XpXC{d%83Tv;#X1P#=KH^%eXjgO=L;k5-z zdT<*5$k%)PW6ee(pD#e(>(KLS@7+{&`}Tredbn#T-6aOth{Q%LG(easw(r2o`bj{d z5HT)M*V;_2NHT4kkJG~N#=G0n-lr^^V5y)`P1`G(`q^VGbfC~xxU!9k2~*eXr9y)kFFtoWs>Apy}`QtG_DWm@+XAQHe+Xp1TPH4QURqv5`3eFyJC_!h$OM(03|KW!|)-?_=>TjK%d3L0e z;0{_o{{ob(PaGZ-Xp!`im-*ZM<*)NP%=xf#@dM@boWLsyJ4dAt2$_ zJ;S51<%(4OHK|ra_7N+~eNPwkP(;bJy$ZYC9s`g2)GB|vQpl<)%D?$g-kw>V_l`*5FWUsqIV3ca+PeCleHDf?-%{0KrI zDb2Qo4%p1f=rFFXA9wxnXo>Oq6mm<6?@^!1uXpPvX(2o{*6ZQsMuO;%(_j4JWdAFv zCOGc@73vPI)6(xho>c?wH6S6_qbI^hEz;3hX6(GP6V zgbfS*fYqTq4Z&iO~<+D@v)l36D<@C*U5!7)54pLS@+ zj{)Yw*%YMBuj?O4NM|dQmje}Ai&M@0+K);?b^zK{e@}D?&^Z`ZX&UfHV>Y#(bpH;4 zAi{5S*k4v)##Lc|lsVIPJ7ni@Hf)b4c?yiz8Mh4|6vhXwjDKxH`xy*4MZ)F;NaZgN zUr0FDrI?B+n%Ig$v~z1kAD!MY>o55pGZ?IU?F(jzZA%F33&7YO}^Ov0-44`;3B$;dT0rFeh&R0ipWH z1%P{x0!KPdf_K>X=E5I}oZFY7jJ}o1;SR#^%-=H+dFZpa1AIPZ|`jqd%plD*Qa`)1fK+aKplt+ zZND~IHMEPqtrYqB$FFVn21Mo4*v}VcE4-4g!BAaFnX4&fe>#Tm^HxX~u8|=x z|iT@MekjXFVP_T0?s;j#u@g~-ZRiP@F${^2z}H^mRaXF@;XCdX?WiYfYt zDUgejnI{Llgw2Hc44I;FH`;^bV-S(+VYAsu6WX=)W`y|X$6xZLRG1oj8Vz^nuR8>q zBNP`;tN;oM_!)^jrez#6l_pQx4#HhJy@?b{J1+c(U*ai9;{bciTRzulV#!gYhs^p) zp34}?{++Y4+u(f6tXS99rxX|n2R$Lar=rMZf*$Ong__$O0t7en*g#h}NT`c;g? zvp=h4=($ky9RFFi0GZc%-nU$!Jh;Ym`diYXLjO>mZto9yGhZ$|g;cNr9!Hu)!yLa(VQ;GHh0!F>RN&;B%y zQe$@AC1Bu;BRI2SIH!cV6qm>ZlbWM*5BNuTm$-k^`Rd%)yK?Mr;JdF*-G+ptRy#!J z_lqtWi#L&p0ehz%TFUc`TyT~~oKK4(j!~p$;(!g5Q(t$B>MCQ2Z7mhsEedTE4Suy* z$~nI*>Xw(Bb*?u$mwwAt9Oc$%eKbYdyfj-7BS#&Tg`83n)N#m4>Lxd! zQi`xL{f1{5+-{^)IO-Pk^JBTyvh)j@PAs8W5EQ~4-i7wlN}#_dnHRu9IdHT4|4AiT zW1ZBUe(>gXpnwEjM{Gyx$Ed9fJHGriR@DlU+Ei(o#on-T`XX=}PC9_j2HIcelwq4B zB^A5Ck%C&n15)DfmpoDfDTqdjC3r9F_Y%A@-TRhf#VOb3KJR!s7D#!i@AFjX2Xi$@ zr-k-#IWDEdyrlh^{SDdfh_Yi(@BMO-pnDyEho{r_;c3kk%4myElRFhR(I%wVc@RBS zEr~YNvoZrjx+)#^x5T3CokT2Ev2Si^O7-Q4qVSSc8mK!OchQ_Za!{HYWcCkhu2*~> z<+k;E?^e;U`JZjQhVWlcb^+<}#I_LD^V!nFm0gLhd*3t4z8d;mJ;SGTB-d|?)X8PdCj^{Q6cuC9f1!(<3a#g(QzU2@et+} z2bIWp1E~7FR(xIHAV{GV7(X4GU@V=CBc=R$Iqz&Id~@|pAeT9we7b@5%K-rF7Mjl( zE|q_5`uaU(+Z!)jW2j8k?a&&vByVNP&rhpFY%%8LhLl8bEyn-mqK-p(M7Ml#NPG7d zThKqW_uRdGjP-F({}&=?X(0B<#(lz5H82N{Z(B4=L9X?pv8AXmY|f){9ONvPgC97F zI?!*oT-I$mRu1!pvO$f|lbe^(E}-3Vm}n~h&fCEbeN z3Y+9dq|mnh)&62|P`9YQFhA0kY?}CKw!*<#@QMb+3eJGR^U;ErAT$iQZNcB}fRMlq zv4K>K;ilgqcW!Le;>L`(xW@Y^`J6o?d=v5}{7u9`;aiz zxbZcEgA{}B^BeWUEe$D;mpn$Pqs+CWG{M!}2v=V*&?_SpI*CS%!n8dG*tYvu;K)v+ zl+6Y4ptxF5JO#e{Jj#yaHRO}RzLu2|zElPuTl^9FS1quX;IfQkd@qQ49Q`|5u`@sL zO^7bsZY>NK9u@MJs#ibvKlhXm+|Zr9RAi1?@r`V@ruSfh-aD2XRI-MjNb(7vZ1L|A zd4SQ8*?nDu`q@(bJsz6aqxcSd_h9K6Bn#|+VHI2IR#}^Eg_1kl$mbwZh7^{3z`V#;7F=?I=Q;CXd_Mo?n+tC)UgkcpD*~_Kza#pz{?1gmVm$jaZCCf* z^O)&fqMxEUMnjH6i8b)%?fChZ3N(igG?UW_(7BLEuA5(gyX_XC2g;Ys)?r?KK zDC-N3vbpWMBpS`F2&y5f7@i}k=p0eM_Wcl-LIrMz_$u+3VWC_aH?@-go zGIz)hBt6dcoJ&T;9`y~kAow&ybKm{{TDtalrvLB%-fT9PSaQE@lysSpq?BD;Dy@rj zG532!rIK>n#jV^e3f-8B$er9Oj1*Cf%F@LxGEMH6nVH|)=lk=Q$HT++dY{*Mo!9d` zpXZ#n6!c6qxaXD|JIn!QIb`grB2fi8-3<;{6qSHA(gM%O!_}gZHysYT18W@@2^qHl zRpx9L7__)oyFoE&olJ@UL_mN~biqyG##SjPixI7}=_D$7ZGUKy6C9*j5D~e+P6%`$x{yGj7j+lp_ReiRkU0^2+=8_S`r5I3rdVIP`Mt6z(=9A;u)E{j=RrZ8 zS=m=+wK=dxTPH%&Km1a(DTGvAmZIAX*7Co~fY8mM5Ghu8#pqnQ&olL7At?BVL7(xE z%C#Qe%6jt(dBZfQK0;3OL&k5moa}lx{Jf8*7J9r90bw8`bT~P;?uKXxwuG}dcgso+ zcrGZt|Lem_#jz>h)sijrg8iRi;QGdD46b^baz+UNpojNL*DFX3o_k& z0taaV_H$p9sBnMV=pTaY2J*5G8agtt5eH*?dZDJZ0QTHwBp=0$1osl$$Ws%yY*B!% zYTg;7zJ^F8v=g(Y7&ma6o=b1p@PtU{5rw%Jw`p!_82}}gew&O&`QX!kB|)v}-CIsf zSxITjUv%QvQi49XU$iqq`upQ2MCQVB`^F4>0$SOan1CLM*4)z7qn}1QXEN!4Y$pfZr|6s1M*>!39=!Flpc1Nt2;di!elxi+SxP!KNs3@HguCAxwQWLHITiz$H&w^)_p~N>SX=%cjmq{OS^Mli!u-AaEn#fx0Q)(Cs1L;c$o73FcWBp z-9U$U>xfwEM1KZKL_HW+c}zHcO;+r&7*Tvx&71`SOE>vp^Ku!hpa1nr$&q%YPK+ss zo=6eVBs8)!@T+xzSsoTfh|L3+tWL6!yjEi~)n_`TIQz<;%yE_5)cAGa)kb{2jtC<> zCZvxB#JXOdo}1?PdLB%iJ32G45k8#j|hpTWm-#!H&1&fSsDwK+r zr|#tzAln)dI3)Y`6C&M3UlA6L0k@_?3^&ErK=|+ng)_VRgmbhQGwRG6xAq)s0XK= zW;2#nI`)F+@TqwE2iIO(d(YFP^%F?+ZXK2HAOafoey;SN>c0P^Si9Azw7mmzpd@_w zdG;@`?CoASaxl_eUP{qS2|z>X{F;d{7`Oa*6u>63ZbzsRF;Ze@=s`KvlA-4&BuL_N zq^*io-qB-QBq3l!1gZSOv8&=($dXbok0U;1;a<<#{c+9@lpW(H5a;mSl*sNPmI6jT{%UIjPay4DfSzsb+| zHFfggs%_ZUJ$!pvEmSO zM8w4uI#MhtK-MOwI{wvJVXith#1{)$fRm_lq!*{KhBp%ygd2-~UyclNX)h~DIOJl- zd*!$ql{=8c*Bg&=Sm&$$B;t?YH-VLH3b8Zoo-fnqiTwTBse!$+(fm^uHYA(VuN-If zUk_x10R#8Ls})|3Vi7_0Ew#K~$?caM%g1j)4^pQ(UD7*LIo3lLEnPGSe6bW0laR1& zhs$gQft_9a74&2FZ!pT$pVyB9l-mpdEb*+nbs2~Jq@+1C%f<6?%8sJB%UY$`L6l;u z&H6T{P5LD2P#AIedFQ+WFdM&r<$@5{z6#3r(b-Au*)AzyflSKx2vu952fBVF#X;V2 zHUpFncfKCbA1&qi_!ayMI(~Eb1qxgtdqBzN28mg#YA|k$_SK;IkJU)Fuf*YyvF4uQ z5jOjZFd*P!|Ne*}oLM(1gl@oqLpDoa8S0FIkbr0%sT5Sa&LidYmcMQifdTJAX+dS3 zKGGqSkG#WV&JT-gQ|AQW9lq`1KcC^}4cK=n)K1sFhnw&z)&$RY^7y1uX;oTMi!9gY z>9B6COz@1kR0O8D*m*q-kg zB#0W#wZ``%`DY=a&hj`|L=Oe3EuC2iCCKw!ZbRH83ZzLletAgTWR@jAcPyGabE`r8 zPmp#I@2^&!oi)0x;b}S85S`Z$$=6zaFg#|+jd3&-519zsEOMBY4Z;*ko!M-&^M#4v ztNrX0Z*n zVFPb85;&!cq`x=|{*A(M2ezr$H@|339d3wU5EZh=zP*uw@B|@8CQpq=v6Zgl?~t39 z%I1mOC|f}uzhF(^P0c$dJlIcH4Rp57&S^apkBT%=zS(N#%rN3pD8){c1* z={dAg1sD_4;g_7jx8jIEb{I#W7pwCYVVpE&UD`boXTI%FSo;TE4H&xG zw+}vKd~H_tcYUB!*wb%0<6NqVC=+RT$UiK z!8+{38iHE~M&dW!raKS`SLGBi8sd^ffE_3RgFA|Fr^rcxsqG&VVOoQv-!)ehr|aCO z>*T55`huNVkR*NlAqT$# z*wT0B#L83-QbHcbyY;ND#g%X^)9)=w;(ciMvLCIs$rCs-fSzHdlGN%mnP@gHP$IN2{`jW?%Z?~?@C}w4}7NTDV zQ&7peYGZr;7%m<-AnZ85ny-_;-CJ#Se%D$a3GC_k;&S%*4eEY_>qrKXFd$cUPHaS+ z=x>Z!vyKoOSiI9abD+Uxr7+qXGH0XJE;&B@3Q6L99JQaJ5LtoF?x5p^F{Lu+DCLVUmVpHav*K zC#osZ{`FB&Z|+i0h(N6&(7Wq+X<8h*^i!)=ONt>?m>j@29Js$QCqwh^9q@XJ_Dhoo zm4fH#-wUfhL|_oH(vb46fb>ECD2$wG`gqY-VA&cX{Id(YTxBPQEA!J+NI;KS5Rxzq z1??S2od$*3Dxw1sD&pKasX{0{IaeP{E}=W-gPH-xlkG65oAojGxH3f$i>dNz{oEek zhK9?4PjLSVIGw3@kKs_1X^+p$oX;XDSJpS2eyo}31#&E*<=gAE=`UGKwlNkoXKC zfg_iIsSUA|076*WVDyElOBy%l((JoI3r|!Nut=uwyJo_T1bP-J5@UlDyN-=^AV|Utj-8AZ^Tn9@LQM3&B6CPl|5BGUsrz6U#z2slr~Nlp{rtfw!iH0NA#+` zn17D4kWmL`7x)3U>EHb53)T?q%#0t9E($hgQXB^#>t=m19p5!`hZt!A4EEj94?fi0 zA>k@tUV&j;Qhzq~*&Xw02Y6t)d!-4A$Dt6$6X^MEK)SM;n{_RRT>1mKOoitS>J0rf z><#JMSQ4jb#;)k%+6pkbl)pYy@S0mYCUBP?{H*_Tjabv;gI!)3`@?DShrYojN2OTD zp~1!PZ~P$Zso|Lg(y;J+3GV~Kg(9@^;VuDqe~^k(j?2pLkG+lpXA+f)y9Fk@Y+z)| zv*gfnjaAl+04eo;!PC!O&z|%Ms{y5^JR&gfqufS;8-A9JAb5z2y_frI^VW2dzI{=7 z_z}Q67|M5&dVs|5puAcXZ4TQw-sRON_Ln40Be|Xs&;`$xXxtjgJsdXy%ry+p8{U{} zeAD`U{G#rZ*_zEq4lPz%@Qide%r{ii+)q zTb19D-(_A(z*qkaxHMaNga6!~=2x)6HZAI~3|8~vZsgr!@##yDdR3;0#Ox)AyhMW@ zeK;cb?OTTc{@WB#=blL#ehxQBwJjo|%?m6DyO3=jN?_7F*d-V0^w?lf45DEnu3@K$ zR46&e67wk zV74%<6u*~;s5tcD`#lFga1z1@0eX!Aj?alAeDwpw%|I`ZU^JfCw|D^}fA6j1RF?5W z$Wa$5JDFQ5dko7X?!eef-@Wz#t7M(lEj;sGGPLE47G~%Cl*b3s&em zJPSNVSl{F7cvp=1Z_VwhSc>LlZ^CU796Kgxn6h2#Ko0lrHi_xV&o0)X(mkKxE_U%} zD%U1jy~65T`^Px1R}8C1Ied?ar{d54Gy6~;;-31IgGg^wex<5SkR$L8N{YEgBjAwX z!il*8<<)1W6V0!-gRE%&ITT@L?pnq>R5a9HRU9xw+=kSfqBe-plgl3x0M!^M%Ca@H zi7wIn(wwN0p8rrg#@Xrw*P9)dN*>!T`Ixh#&&azO@e^;9FUxf0-=}i3v)CyfJsdd` zs{k#{&qsv&4w?2I1H%M5(JZm4mT!1tbW&6?Dst%(5dA>H=xrV%Q$5@i29~^}nu+gE zrS@Hls91$OPKw<8Ub9;;;?1efn_5osKoN$tRS^(-%-b~|A~4-0$#+D0x-+i@0qk-+ zap-3G5o&IEORDNdDRIT~M}RFH7x(zr+pix}<<&ooo{Qt zudY;~L<5EdlN>CPez}=01H*w8nOX05!su@S&m)qR948EetS#*Yfhc=u_>rfyEZ&U$ zG+QCu<3c)vPVg~KYUyUTYa^$LwSVr<7ofc;vQU}TTPyePR=3K9DGbllQPl-?6Dtev z){OA)4SHvXTghHCycMDHTU%jJ`U-@z0UVy_EWL*fqVUoRog?;rXcvJgGD%R5^lyX52vKEt=R#6`fh zlOB<(rP(yzsaPbNmy&{$iyC(eUxlmh+r|1#PkG#b@{|z24{_*Wk;OwQNvk%%vi@{!FTpZ?_LSM87So zDM*TQYVql#c?;L^`_uQQof`CecwW=~b2DtiUIqMnnfIvowsm|%#fR~YKSrrc-U-ly z_r@NVJ+hzd4GQY?2pNNENU8W0RM{eei=l@loFxv*I-GXBd7TFq9$3Z{&uKsj;t;fW zEyniho+x1ONqbCnw5dBV0)^Bc(n0~TG24pd0MkY2yy&_?W*o+iIJ+}i><~Ok*%^Kd z7s>f_;|GabE2TW8Hnw@GFYK?B!@Ts;oktUpl7w29{e4C`czTv3I(BTnlt_uqb=46~ zn7K=%u3dC1a{K5uaeeO+NUM3CN@$$G(Y{`z9TUCke3tIuXYp*jX**&UgGfJ(6R!uu zg%#8Y-j8OQNdCoO@TR_qhzq4OSFjLt>KRmbuaulO$TdKAF>_dBk-*@vRQ|Rxk?R$0 zQPNPO*t~i-0pJGd>_&}5LNo%s4FHB(eSn6{p8f8rmY?WuM7c@D(_B@`#f@N(+)}!P zOJpD>XD(Im_vbnztCM_O6DJbBGl!SE621NMhf5_vkx-hC2pcsv${FOq!qu;bOE3L) z7=B(JVHjC%t4Hnc(|=cL!grqlwTI6|_^L09-Fb)?>MaLrdE$@;JsSlWf0J0K72QPY z1`fB+qvf?jtJ8HAg~q9|c-K8hUm65M>t`Q6tqw?~>^+NN$5{&0=wLfh4{-nik&k|X!7L%}79*KQ#!qe-+LE|M_ zB?f6_qzVHR`g;rr?|!7d!A|yd8T|DjdT(QT=Br67>osFBKy<_ouDW#vn=RYM`QX*b zF3*f!8f{wHFm*sT7}IHgf`8pb>Iov;xy3k*Q&}>hQ`bu327w@NdL?Jc-x}>T{2Z6k zkYdPK+dxs?Jo`Ib+2T!I>BaX0UQy@{eB8Rh!MmnheUNaA?t*|U7eIJYF{Z>pXIFtO zFWQ;bZMrOSy&?HbS}ccgo(S0F7~8?=*e^Ns73~vnv#119rBLGJ7_e4E1U=GANXGs^p^*Svo?Fu&AU=IU`_)o#oF=oftrwBsQMb7%|R z)hW2-hGd+pe4_}O{jEgg5(~B$aNy1+>w&tyb{tZScq0wnhT4r}(gAsSmKuCT6*iBH zxLMuL7p2rBzg~_L9!ADtkz{v_{Gh2jUF!91$$EK7sXR;+VbVwC;MT}~SB4Z!&h(J~ z0^p?uVXyEckp+&^!4!2UFVl!m+31ov?_w-^l|Ppr)m15X(>1@UrK?q(`|W8D;(8W# zJjw~3hf8Wm!d;%?PQ~yI_l7*0t-S|wY`Qb+sYuy4WETRj1mB6A_5<&bj|N5H<|Db_ zzLTuWq6#$PC*l7t6&V^`ZN!Cwf;6lbM%yHZ|`H_3Pz zGOV6lK(QafN0*S(cG9hpz<_33spOl{l#~k;>W`;qoM;brme`{hpiu)|n*n4b!#3sU zmdNmnGHrPf7v}Xu3rXBAt0DgQs>9g(w;nR&;Yq1K{ym0K{PlU! z29MlMXD{#bil?xS!7+7O16zNX0Z&rS1^oTo zA?&@mFsH;P5BrR-Z>fVH#qSlW%^c#jaeOP%t)NE|8gyBfTnMGHLqD(JdIiEHuvAfW zRj3GwjgBzKAmz42Lol%6@-1(n6=hUSGTsqtep_dx!A;Z7B;Rv&xO1=Wo(N42Y|XT{ zJl6j#3gXwVxiRZMgKUi&&Rddb`yqC=5W4ILo5~8j#+&<*ed+kXW~$y*g5u0+X8oP&<5Xx$gG$M5fa9dQ?T(!8;RbjWiO+cSNqU> zDn~+O<~SykKlf8=$Wd*XP`)PovZOa(4weVS;j7acCog8d>#C%XgxJ+BBG4Gct`B#q zzbb2c^7%L_|Md=57<@zzsv=(Y(Lq}5aH&g=se3DFkK>Ac@edddb;J;6&o=;`9or{u z;9!3Aj3&u9G1bkEJp1otk*6=AfE!^-^R7UoPkZ)caGVz5eTRj!xCM=Qt$7_s!JBpR zpClCYQ@>vPFHG91T|2HM=j`jX@x>ycjBVUpv3VV5Tx8^52MlNr)Gbu<;x#@+KI^4om0Ox*D-eB=7yGq znOJ|_(tV@T!(23#^6fD2n0#s*KybIYBP| zu8f#E>_Len^NPoxEpLJI=LCvGtn_qN#Nu-a>e4s7KV|Xz4+q`lDdjfW9EK4&jSM+b z5FB|?G6H~Ed*=XTTQPGw9DAWR#!9`+@=^}k2Y1uCXvxx2N490Zk+&>)p5Uw$@@anI z3rCFtP#_d28#R>*GEvwnE$gUmnxM+4s6us#Uur=pAhs zo114rh@5`5*nkeOjbtPS3 z2<$rN>12IsUeLr@la~!Ic{GOGgaQ@l^N9;C$^inKtpCXU^X{jYY@J>$W!~K;A>Wwv0=*K0YaZ^>3@s8}Fj zbp4FQl^qmC+T%W|9LO)^R-fEcNFI+A_iEy81rJqv45XhB`{Wa71_g4Vn0EwWN{e-D z_TTj*Qx_>$R#SU@N*juUnlBA(DOh#%7i77%SU_y9b(C2u=Sxedl3MCnp~cF7&EyR_ ziD%{kqcGE&eXaXA`^NSy)rv1a7StZ9Jy&}^D7w^VnY$TFQN#s|Bv_;89Rw^@61W`> zeqmOXl9{`%RUn}%u)nt=UfhGIh>!dQ;>~Crf<0!?hE*fI57l-y5+&)oxcoX>q+fi} z=}OjGjDc?d>dh_H=-YiSQXd?W=x#~9Ab~qbR&K5?%c_*;Wx{h)5#d?fM?*h{)Q6ph zA65G-IxHT1?E@Nx@7>&LoRQtlsTA%QH+eiRrbl76Mj4-95B*;jzn@nycIMNui3dqN zMCL;S_9YCUjs(1#vklmVFhIK^s_9$#?W$xKT+M=yo%0XV%PYT&^?%LSZRwv%m492K zcrHdPMu*eXV)}mDQ2lWIZ}mZ^!AFBX2i1q1-dV}=!+Cx6Z*F%rkMX`GO~1Z}WAt!_ zYXl9(hyM5V1?Lq^3o-4HeF+9AM-2c48i5gpEIJF7fuA!N{0h~O9(mF9!?AI$?qoHt zI>-X#tE#J#8%OVhV>yM!A7%!Qq^@<>6=S+>H7DJ zwZ;Qo$hJC`kpv?8g0JSHb6ea({#8hNP z{=sCBySKO*IXb2XgssjgcGb0a8QOPVj{8hkiVTtH zV42We2X(X5N+USU{=-#QrS~bSZ%W?K`t8nvfELfX%0c^Cp~!wV$kKIdSpQ27X=up` z6p=rl8(5Dvwqa-Y7GfM?PAl1Ih|yLqj^4m$z+`5--0(U*YV=a2YIa z8LRA~%EuC|p$3c(H<9YRJ?K!ov!n}k;smMT*nE&TxJNn^5+6%x5cOj5TPb~<)cN)6 z_)F-QB5jGH$QKEh&noA?2ET!B0YOB*%ArR=25^ifmL$R(Lc9%Ak@q4q%B~n=M_!S; zAVr*!-|pr9br}-nUoMC;~@ET(wvB zl|$~6=MrobB-hlh64Jis22J72SGmp(OletwB_I!s$W@EH$QG>*PPHM|@uawj)lQd#m zJxU1sOmHif$=zUN&rZ$Q3s?@|*fY4Yw3c8Le%tdIJgJDZ+-_k%zIG zNBYFJuUw9ny-q6^$d?H)>r^)w7J&z6=_-Z3V$Or!Ga0sw3U&lb5~MD`=PrXnJ>l>} zN6)?0o>b)RSK*OgepAs4Mx`BOjP2SQ%Jh~Mx8?sATlK1lm(N`l2PgEt1fHos+e4R^ zB;`GHvr&|x%ODf)>b~{3=exWp$*U^z>}kCuq1hJ58nepU86wkRDLYct%{lIJno?hk zYa&x5{G8LPb+;;D-H zeeqmV2DySkegd&Q!b(k7RNFj?z!IU`PsQo{6t$R&yJ;A)r@BlLEK?uB8;3DXGUup= zv%mHFJ?P+9T5IqKA2rW$vN-hfgK;{rU zoGp(3@4pHZ9_UCX>1axk+~i19mYlaVsdhCkNZPPyNxUdftGqKeCg{?h|GofZDuXIp zJlw5!+|p@KPPgnR^ZL1=H!#CpBTSn2sHLp4%Ig0=b0Mq}CjU0o!5JGO<6X35qs069 z?tf09SEcn8Yk$`L!xh(-(5bWkGhzC7mjP^3P=e04h!)el%j?z$7h0=jd>L?5X8DDa#52I8k@r3V0wIgBJvTIzdPu&Lu6>X*m={(*9X zA|Fscb`Blt;Y8xa6WZPg}&q2@f1*b&Y()pzU!CB5 z>2DVT{8O!sn5obEM+}P_~|L;RxY}E_q-inn;+n!qc zHFvnvmXy-v)I4v4hOe51GHy8=F2<^z1~Q(Kgm)MhWqR(*uL3(0J<;=>D>}bBPjyGT zJjxq_CQa7m4tP)8N|OJFRpwj&Lzz%U=8pPXv)!Lpe+da#c(o-MhVt)-Ee2sTQW-;3 zi&H1~)?yVByzz}UAJ1Kd^qcmld%Nw;%Xlhr{1^K$@Y~1}Xa6wLY}*mNqA=)z^|TR! z!lI+A*K}<;PrtqqYwrcSOQ_`Y>eThzDCoOb2ke246OJLV2C>*K{qp}AE^PYsg=lwk z(Sz%yV>u$XM7j*LO%{#y>s4qQu@X<<7MWHHT=I3m+L21;Ve^5l*IB8h4>n&ABVQFN zx}4`vf-|>l_X7Xt3MQRLjO&{xQ8Uwtch(fO8nUpfY&}J6?6JmawrPSBsK@7Hz5VJD*2So*aI= zsOYgz^L!FQz@t2ejgM3aD6ankUp%R(Lp*4+V9tKgzK6fG_`-Bs;-{B)M!tkwQ96$6 zvcjukRttI0E$Dc(|DNvq)8=e8)G0`w-D6*)q3@~sE$btdhZ&7eRTTddKsqB+h3{U9 zGnI>7Mj7WIq+GBZv3+n}i%bkxo%l{Ogw1r}OVtgSk~b{e&!e+h{O!nUMD5a>W4bRN zA%)xC8~vm^x^(}I#F4~v0V4sciWihqAs*~Hx>kjT2rE*&gmN+K_3nR)h|c;$DA9+6 zd;!#mMbCF3<4v5l;#$i~U2vooMniY}d|&^`Z)GmJuOHed8lHv!^|VW=VZY-Kzkax& z+`O58I=7Rcl$N1~k>D$CL5V&|k~O3Le!>;;rx8wz4Dx#8C@}5^nIm)K<-}Li3H^_d zfu*MGxmBsrR!L#uR2X5v<@hw#bML=Don3P-ddqq3*LvAyO+QKwbh#B`n52t`gDsR_ zKSwRnc!@qWwDd|V=P;2eEq)HRz}_#xIE%W=EbiAHde@#p{zUu;aXR(bpU6`Kzy#)A zR<9TTv3D3#bL)wlqh>Uvq|NaJ$D0;sNs5==E{3AKJk!!8be$^lnJ^MjS2&)coV;$p z>X&sVk|1qqahqXBr*%mymtM2!q!lP3*4>af)vQWxF_WD>X84TXTSR_xN??P+qr~M! zjcq3@L+&7mKjl>>=FJFF@Se6?4Wc$~?Iydh_dBsgKjvNzFGiLBQlu8$_opXrrb&@h zwkOhyWQ3)Cd~_P%`ADIW?5PcT5SEhu-Y$0~TOGFkWSMe#(eQQ=-Q z*0o(U-ytaP%6>-F(v2)!c3uk%NL3+x2ZW;k%idy>&({5G%ie6^)_gbT43mf#l#cTw zx|s*O0r|WJ0s($j##~UsC6l#PaW8tR$6(V)Jh@(SA%=11kpxRy4s!G!!cOt~1tL@0 zE_!sAl0`Tw*mDw+@+41I(NCLj35E$d1y7z1kxph#mS?ueN3RSvb?(s2TFeI#=jgBh zKdc+rS)HbQMwv;-@i;en$_eeS#q{*RY76S|%gAYX2CB6ARHLpbWYc2!=i1YE;?E-?f>kG%;fpN8V%|v6(}Qn^t(vYe_)g!|xWhkYC({{yTOm?8 z-!`H$r+>FGPc5vb+zby*)Z*@-pJm)iJB%A6&b(HNzFvNC6dQfAo*3tjKqiAvvb`I! z6~J`y$BXZL)Mu@dm(HLzgl)09YF2g%XMj-^VQ<3Y#Z;Lbt#q?=D}w)j$&>EPoD{-) zWO>zha|%g&uw^JrD&oOtH=#XXSS~h;oBAR*L@!CkM{%Z2PAOIMYNma!9`gM#mq{Fc zm2&;rsqlxst?;0-&{4*d45{^yjmKfFeU*o$U>7!JNMyq!XMyh%)(=}I9;*A^TMHY@Zn1IdiP09zQJ~qQrRJnW-GmGH7xY6Mz@EmjKrEW! zeuD830O*88#l&;cUv!XF14MKkWWr>U*@ph>yqV`t@ltDwv(3p6N~hga~Z7@yyXaW|EXKkRNcQBCGuy9BJD8kvC6#;do0^I>d50js{3 zZ*u=9B^bWD^1JusQVrDy^`heCxBN^Ey`j(8)BdZTkFhLPge2g?Rs~3;aJcc(>VGJ@IFvfh48!!gOiWN zX@I-(E2!Tspj_cTYq?7-e+e`?PIEdX_LvL`<=&!%h?7hPfxBXEx?8!?nu;#F32^Qh z`6b-iCxcCU+r!p_v38f(myjzNn`zk4jyL)|V3(5A046t$Yvs`s66a%u&p3NPm7i_7 z#gz0BbrItay#VA}5Y$^h#k$cwhFkBilP=qrMb0rkhhC~HYdmBt-S1B-Z)EU$$pmm7 zMMY^xZpLm}5htg9o}Y7ppNznT+=!Uywc5nZrv(RXzi#*)7E5y#dhffw!9J^qBr+d< zN{gOx_7mLm=0#lFRn9u1Q9n3rFKE2T+DFLK0N8R^3t}(*n%aKn#&qHp{**gSi0df81i#G1T&P+W5MdUB}hc(kBdZCpKv zDx~Gnyaf9}OZaf>NUZEz{cWrCq!ek%p0Dw$J6m^YSe3o!3PQPUZw*%o$oxwv?9V<- z@6y4^WvMu}%55QDno;wPTeGK|@A~8^?*0dqw%;eG`CT#snG%+7df+oWKE~PCYh#%k zvzv=i-bL&WR3m0ypKiMU5>jlh*nQVhv(RC{p=I&~2)-n2a_i3p+kYiyf8e|R@@HGE zs_?jH1!s^$>ol8h)IU#Dm0uWYHhdz%zh0e8r}!U8G7|e=U~t!e#s6{a zk`VlABk5nf@-;UjTXdZKMc`|>L;2N2ffFWHxl~?4cIHzSg*bdaiqV1Y;vArCedHor z$0kihB+RneLNmO+?5!V|vlhYrQ7oxEFR6}(uHpjxG@_DB$futv^Ao(Q^K`|zDwkWq z{8_Mlyu>Rh(ecKsNjx+G4`lVAaeS#F1h|)ZACDJvV+zl@4-MYt(&bws{r_s0jgsrO zT{CZPt#0ax6LA?>TmchON2hBgKXJ1>>@`ETtXH3HrZFPCIaM83T8O`^o~Qe+4WDjW?QVvbw^iNU*Zuf=>2Z`) zR?U^Yr@MEGImHR%*b- zk9ybWFh^-4IzK%A<@mE>=K@Dg{KwG)jA%p0yjP6(SdY;JbPsbg3JVI${zJ>V=dPJ}&lGkVr1hJU9!lkafVPrBeQsV% z=O*QY_WW$~e6XE1W%qr`O#2}8fvRV-D^}uFNm=hK9-eF72zfb<-xCNxoqXd(#k$Fi zPnMWy8rK}H38SDDl^(v*zbV$ow)T?_`2+ir+vBJGAP`Kxd`r|s=4!^j zdP_3!eO*q$JS9k+bXEfpmJd6#xBH@rs#q46qUE03z$xi+wbfhUt|GhLX%O*Btt=KRAj-8EE zkn(Ni0ju}+@4x-)R5fi`bNjbtC7UO#o>hTW&j6mBvX3h?;Pst*x`#6IyD2>s^3h@S z$UzQv-r39cOfi&8+OYP#rWC_;D(F8ljC#eDQW1L@v3{WTBi8+J+qHF6`J8AkZ zy_3gt`2G1yV(Q@3*lC|sTnR(DXv75Ro$l2uy+S`Ufnm+qTmN}>$Ff(C@23;w;gn_Q za^50KE%UI(Oku;Ka3bq@Z@br(d(*C`l7M5pFr%M`_{D-YEFU#41aD|lszNoE7rq9rF>vh zX8V&_bZp%KC+NqOXQ0tY*xgOh^4MFpb=H*+l&BPZpnc1hx%r9;%0@HfaBheoWEa9$ zQI!4}@u3|7C+E15E20O*kA=9~w0nX$zl+z3KEhJr&#NlL!c{G{wN*U*uoVvPO2jbx zT}2-IM&LH3q2up-kF`-DdC8o2%utO2Y<)V*dVB_NPlBXKlZzfkfH834>wDvhKR+qC zs5sk?wwsUX{?#3i-k51oim((DY)0-Pi>xxB@cE#n**y%0d(P66lcV$Sy&Bmmz03Yd zK?6jX#pz}~E0~jA*>*l&B>j3}+IF2PUpDyX$u*C&)_iR&XME6QOP*QRxE!X%J$t?3 z4w)v{Babv3(0XU}N#~deG-PakY7qMRha(jf#=CJeUw|(Of8&i>?A{1+p26x2N$*hD z*wIwESd*Ko|2fN7EU10G%an-d`k{CDN=BT-eVI*5&~Oe8XOuv?64*_r0i=OAwy_ED-=o&V5@bu-V_my+L;}O*8u!B3)I-wec*tlaEdE)Qo-TzfD zmCT0x80sx1{70oqJ}7INPH&U)_!j&tvY{%?wYH?1L4kMoQ*NQ^&RtdR@KKxY@bGawMuu(nILR!ybap zMnBV2KCyuxT<9|t=^qlX_UJX_a~O6+snj<95fL5ce+MWlgO$oVl-f|NLPCbjqTDsA zz)y{NlP=@GX41+lt*Ph71sKj?T}PsJ{N6JnBlDD*@D_@*TeLzwIc4`dZhzOE$hDup ztMa;mp(e@xc|n7rFib=^B!0sGvZ#nRYSMI@$CgR17rtp1*3Vl%O3`d|)1(c+?ZVY) znf3#p$*?XZgs>0nsQ2@uR0^=18C(uG18N1*8qNTpky9PFSG!iqpm`YsX65D2i0l{Z z%lWI`OBJsusUeN_OK1@$TR)wP)+?LVyTv< zj*-F55yaTYP;SgUB3_&D0BgTez$(hdUchrD*tA4k+)aZmTIR`;hIrqFl}~A?EpD-# z>kZjjj6)oRJ_E77Gv0in{ogWaJbJHCo$E$z!~`mmT`!^Bi>_^SckcWyX2ggm9__e? z85vXEv34itynEwG+O+Du$4GUu{yY55ySCzFoQQN~jV3VT@36xha*fiisP)6ic*CyO zydvX4lD)Eq!@`?}^hmfq)XR%4u@?(T@dSxpUd^5C$3A4!mu zL`sxNeG|EVJ-`3*yXJVSNsTf?iclUgk>M(cFLmN0^Ol`)4`rd3rKOc3hu(P2I3N2d2*iO{)+~V7Z(@aIGTbHW1Xf)x%mVb}W0NF1gj7zK{RP(uKb0 z!L*nR_>_P!5v+}#eazmy6-k_*`Q$Xk9pa28C4mRpx0+A3tL6p41K%b-_U(h7#$@Yx zyVGS|Pit_fNUkX6m{Uf*t~yH}*i(0PB5Nu%R~m*BzXzK9dFg)FM6An$W%SXPSYs8@ zTJW>R^a_IP6D|kOx4A|SrR7M1P8GRcEtR!M#D;Ay=^AFs3S z;I@(Xmhl>NFrtd32E^EMprvs!z0vD)PkLxtksP1gvi4gT(84o;9^~Q$#mFvm#5iGY zw|UVZPle)36TV-e>h2Amz@>1Cro^hZ8!6t>Bl%&cW!Pm%+m(=rWvU`tc8L3Yx}2Ue zQ$`h=Swtr{S4^#!L?gqaKG{;f8o+sA@hn_v+l82NV(LW6QvaHQDj*_X`d5LEtcnzj&_N6;!ah~wWrHEgoh~8w! zI0ya}=krUgK9Jc9hq-I!-Zl&C?z<)RDt~iscICNVjW1a#=a>+b zR-AJD*&wzoOX97Be2Aj=m8`~DG5Vd@=4=hnrjo~gHSz#G%!*oiF0Dx;T+Q3yW#iTR zs_#84t;iPsFo*3eoB!E2pF3IH^*R>IHs|UiCLdn(M$0Tq5S?m{lYOm+Ke5h!DFehH1Y|K6#bW!G^38TW0S?3;~!OyE`_~ zf6I-tPtS#o@SBowOT9t^kSzFDVaq>J=ESQb7g?u={eCtlTfXFLmcnE9#3u3yzG%s46mG?+(9th89uk6(UW~oA{}PB*>NgVZS2*`5 zio~gU=}$?#H1o@dB9w|!;~!(MpAQUw-N?MnJ{n3bfInKWM6z%HzQ)pibwqo9^#y`T z-yZ9V|LE8y{=3M9b72#HrX(RTX|{Olfj{E3#;VO$vrD?zptE8N6vC&JX&Ji+Z(4%v zxlH@#;trJssH7`mST}aLVY07^U2T(L`EfV)xQ8PqHB(a3(CIa#c-s+GIu33?E#S<3LYqLGG{5OE*`32cu!4S;{!7`v9g@fAZucWD zd!3f1G9uV{0ai)hl3FXfFSBYwSBdDM*qGl2PaSdg^5PDSp0%RADB4SK_9&}MRODpY zqmvn1q|EltGzyChN)VChd0Z;-5)qQ}4~mJBuePMUH*8bYY53NNXR6`~V*@?2ShD$_Z@4xNMoa#B2U<>C&Cst(L*)EYaDA5=>>-=~K<6EV_p61$NKLl{i; z5`=;k7>J=W=l^m1OQjbl`__r#Fp7HzQHmGv;K5K*f|%MxTY4yG?+MDzjP}dIGwoe? zYNS;h^a=(H<&!0fRpcubs@Gnh_A`x> zia`HfaAW#Dq1`iLG?Bn~r)t}_@?MX%mrdSE zz`|ve{?GUd$3?$%9{~#=Z_9cN?^%45j>m>A-FQgxe%3h%eswB$5@kvw+}Nk#3+74Z zybeK@vH=2#9FL_k*;s2pN|jxUTRO)bVTK_ zHvmX@^K-t=QH&hOpwM&a&X<~entLgVNA)H)rZanU%B9KQR`EyQkRaJT50E@&Wm1r5 zut*hcOox?9M1;J@eu6uvNqp+(yN%x8;YFRow@j)E&ge};f%HoAVW3~U_hvOONRA@z zu&L_sk>)c5lMnNMHbDk%u^LMP+-I6EyZ?A_YC*oN={vE~@Xud26?Np(OBO@>x;jf>dn2*X}2RAhb1rOCsq}Ik3Zc&V&-WtJw35I=B&E)zRQ&00c z=<)Nnm3@B!wGAA8R3IIHNQB%=5;hgkYLs3m?cWF!V%l0c+#K3uxwYyoalRoP?9It; z%q?v8tqc5J)0S97w9Q**T9}~i3{kC2Lb9?m$w)^++|%3p;O*k3E;(&26Yw=2x%iU? zCxeQ94e@gayv6{*3aH>IGzRWYLT%gx7>$MBLFRwyZS`p;<->^cRqwhE?0f<3=$My( zHzaVqt!#I{qIr9{*?UkS17jk=$(ddtwGm2ryY5LjnwjtzbeDQfkcHr71v96GtiF*! z;!zFgv)ttOhB!;&Zh99-3@iJ++g@Pm_}o&zXEG!YVZ*CdgO7S>S9@yNy;>&Ul2fAs zx!pnASTaC`ukSB>H+^3+47BJLXJYKdN|?m9`S|F+JV3WEinu3|Wa48Mg#;PDUi{KQ zl|_+r$$^NXeB#M9vzG6Y2QK@dB(?+qZVwueKDVYKdoDY4HGp1MxN2weQCMiP)ik z&GNHWa&O{GI!pg%yZBvwzt6RtS|otNOHyuDc2RCo#d)?9U7Hl~8Vg3$B1g z8V_g+HyGI^weqA%NG>FGyl<=b(vVmKkClO^-++`uYHv4kg9pKUX|)oB-|9l3+QTfd zY&||2;T+ALRqpt&6K2~yKQ$nc!x(jNGVgX{i7!N7Eq4kU{1HIM;@PO-v*97n&dLXh zF`rLlOtgk|Fjfm)#|@nUI)nbiQAQ{5e^H(2Tc?f(w$CEcB>c56fDQk=&YsyoWYg>% zaxaQM+-lAj7&!cd+WL?hE6pYuaeq6pAvLKdC>B$~GsgTGw0-;; z?BMEA>jZvp2|z88G^eDu7w8jn7!>31Zx-7yR1d)Lr8-fIBAuY`0~_@(`5Slrt_@z7 zFfGxRvYuWGT20J3>dYhzTiSU@oEzQhMQsfZ{K%4qp<9V5Mm0^?awCKlQI7T0aA6`r zf3d)Q+l=r8f8UFzA3mn)`?srhui(#;iO>t(p#X-x^N!mkzf{05Utuoqehi!RkeOU~ ze9=~>y%@&c7I_~8JhcTYJ?`r6hlK1_6v*TZ9jIJKoRV!646Ufc)Jw#3w7J=l}Tf;^g!wE+z=ACGfVW;$j}}nhwuWr?$hNaTL*eQHfEK`%`Wy1KMp&Dr8XU zSls4Hhh-jP14N|<{@n@L)Rf-nR(++`+froq>Wax&^@THfH<=V7YIjTG<;8%D9uTi; zTG?~phaG$#U%4fFA@h$D%2CG^I7MoWpl&w!9Y-XSK27vdjf@R^7v7NuU!S;K)ypo7 zlo(ul0eB5k3^D|RT?;l>r3$W6_qo_?u^C7P8s<|iYzlHDlsG|g_AzOXC6DDTD=a(A z3t3aMS*H+n-4PHrUcA4`stolvJR1FvtS#{=6e-P7T=IjBq{`MrP-3(| zr4?J4X66{lsxXc3nAhss6&~|13HOP=VrSDwyUlw}L1$`wsgoP<>&o_7OS9eR^79wFG3Hp~ z(%(3t!+FUav>N9KYEfl;4cK>5xeHfqi-@>_bx%Xrdc>O&<5}Zm$Synvvg~oP!!kWW z>@mq1IuO0fl6-1<(u&l+GW?DB>+|quc)_h7D)bH%U}$1ECs6esrF zp~{y!(CUxn?>a3iFrR}C2uIaXnNWhj?N1G>X=Tvj2GX7MLj8lld=i=tSF zbL=|h`!WoZ#qLt%%$Kl@jQtJC)R?(r@(pTu0p$zE9lui(|_jY8Ov<8a$=ny9tUt*O)xN>6-6uniy5YCo z{6~y;^;H}eXvDy3t#WD6gn*rcQ!Y{cgYCKDp2B5WF^*$% z!YoIqNb&rq8^Sxx*B_P%9d%gVxXvM~L3{fq$I~5l?=oMyC))w%pWX0;oZmEfm5JQ1 zrp=swdjn{=LDz7Dso@6PR0UK$+87gc^v-UoC!=Jy;~v`TpNG#YjpV+EOc)1kn5Avo zI94gk&WjLP$=0{?e?(-PNEHywBPucsXq(6=5pdpiqL>s(rJMehzwKpfZn6!>Mfv03 z3FQh0mBjmCw@U#g%7m`sFVg~cUeF&UGUiLNecHWDghf-aOyo3^O>I~)+W_i}vNa=C za(<;8E`1+}(Vs7{5c*?0Uuf0?@#!Q7|5N$=>E8u?PTmN5!T;7fyb!8dVG)0Jr^+n) zw4bDV`zUcR{D6JRWWc8gWyb8Il1gPoqs0+gvytO#B1?;0pI-FjEGmp9>71L&ff-=9 zsao=yoiuTe0_-%avghWETQqr8jtpKCpXN$#3FnyNfi{j9}l|3o;3@^Ma^4&{RE8Py;`F%~uh?`8c3lN*R>3 zM`4jazix%M_&s@g;8@Sw(MRX*OdVo)zqPvm38@!%XFlpN{){sCDelJ1mSQ(xitM*ANUn zTZ~;CSXEiJ*qu9jn$UKU&89=&Pd7%-4x26H$4WfmZD8uY2KZu1OeBR93@=&`Uf5J8 z2Hvi4zt_NodFEx{aUY~JF2IuhQ3cGgY|jTOw@}6XsiiYz2SnL{i-Qor6^E%qKgx$i zaAzs$N~Svb>k1X>l;5~XCEwvUo>SE(i{+kRHxnb;MGCVyCQ2^y?rjwZeXv~owR{tS z1xK9X?YwOokz;-05TQInj-g)Ip|A!{w%HysL=anDCST%s^%0EgZ0lU>e{x<954(c) z!p*`5*K;qlb4HuHfDQ0a1J?UMt0;au9Uogq54)RrbZAltBa_~R{8H(AD+oVPmsO|L z(4Y|zN_XOmzmjP??8gf_2l@^jaH$!*f&6F-c6bSL2n4rfgIp=vda91>5&6@hW`^YKL}yt$#=^?1wmRM}pf zaTB>@+hV8QfmrisBc)0RhB#Faheyc#ISxDmwF$QSVzxr5WtS@m6y zZN%<{ryB+zVKqTi1942{ZU~7y61j_^gVJm}$m+6EG_TP`Epj0LM}NiH zblBN9x5au+@YRPmABCROj-!@- zSesx|x8j8N$6FIi`8tGI_`OXr_J(o{@A>)f9Wdzql&_c*mno6~;WXhLOnbg@7$Z5C z9}q~?ZP`x=b>l$Y1X z!qp%AFRVSmv*t^eHPvIMSiel?VC`F|>5L(8^kCu&tL|!Vc^dt7fL5ssC$vcU&P%@z zX@n1&U-XcW&P`i4gQG9AK3PfpSi0{ALu4R0KYwJ8JH8;UND^r^6!H>c&`paKCW`<0 zY&z*UP<>1CT++?EFKsu|)FKmmj;H7*9==sbbgS3uR9sQXD(SjE2}k~_>hGNzU}bF@ z5EvHqp8o)-q%d_$REo3|X5yz~>&_U@t0H|d{$=60!c@y5{UKbrpj>(J1$SZL%R$aa zV0ZscvGtl=s?->5JQ!d8*r|HdkszT?XQ$B*`#3{2Y53 zfl^dR^z}l)d?ffA;OqmC1M%TwEm5*dOpm_ZPA!5X?#{S%Z&OneV#lk?aBTToCu>aU zx8{iMlu^dU@>h-GvjyX{mK|C@6elivz6>~vORg}XG-2YlE>YxY(Dy8v?n5?3H^XM6 z>hI`0tChOb(7j(`ZaKvRcq=DbcK6<7m}Fhw_N~Yo#w>rrv%cNa%Y!r3w-gs-f(|L`qAKZwAe$gCeB2etb@A~Sa z(r9W8o8WK)R>&t6!I|h{K{i`-uW>|h8_AZu-KLTKr)%CpnB=xsfORJcq{T(J;ch-- z8DoLqlKhCQF-ivuwGXjf5|V$y+r~pY-URU8NeMXH^!`n@+fOIsxy|cmWBEe@@Xwv~ zx9^w|ahvJmDxjJE>0fO*ojM-VvWv{B^fhT(g95qNg%d};|G4@vfW1e(zw7wW4X_SR z8X9Amx-C^9D3Oxb`T#Mt(Q|%&J`n9YgG_kn@Vj)No`IG88tD(_GJgVsIvVP;ycSWm z0tH(4l>0E`p8=)CN%+pE^2IC1$-I?22Y!GUc$%AT3Gn}`!ZEuprNB9Ge+evtbD!1{ z&;MNM=bZOIREAS#sS7nV<(-RI<8&kO@@6v8Y80QyxgF3uBsiu)y?R(KN|GOHtRYr= zMw((NO{E*VMlmX5Qo_e2Kdrl&++khZ(WPSrqs`f8uw6-n&TAYn(txuIBToo>$m4*s zaftz)P#0^LWv3L^0JXhR;HWu6KRG3{VnVnrr=>eoDDv@|?&>qlSaa?L;l%kYkczG{ zoz4KqUWs8cAV+IE(SA-966gc{?t3%r-%FsF7;8y9AqkuI_)KGTUahE zGaf~xq03~B$C!lFqPb#98|n4YO#!@dj{`*Vf;{6>a#>oxzhQR!?UXvMcNIRQqd;>{ zBG|}K?o?1L=GK}=)Y+<&dCt0%+@iV@8?Q-?x)US9_8L@`UMwj1FKEKHqluP!EUL6R zeJ^k8NKW(eBn*bPzm-{Ynfh|3l6UgQci&rC!$_@RyhOW;7H|APD}?$Id6Gs`7pr@I zOj0WeMQ z4+oknf1PX;VrVR^3aaRn#Q%e)cD%Ne;_Iv0@(p|lB53p-$qlrWA zoxz{63dh>-?j<1Bqb5`f36HRXqI0VLv}qbJ5&+*JTck;B4qd$&T*FMk&*;so93PRl z?%g^6a56x9+n_m}NctK6Ia)DfW>EdERO0B_UqGM7a@Rt1znm24}mHas9Dau3wh18Ta? z`x&Zi=8NP>n3khSW&=J!=c75Y|6xOB7xIGg+y~yUmPdbrK*j#n=EKywc>cT!D5z4G zss)dHR6$jJ#)gY5Hf1l2se6Ysf()9w?h`0V*j@2ja7Q7Sv$-Wki<480s#}B|L>*!D zRIh^anumX9|P z(R(9%kM`UM3+10qK1I8~Ih^u=7Uzoy+bWk>f*fFqZQu8K;$E()EFOD=3airuvTp|K zNY4KLE?Ivj3s0vC=69XyEpt7Q=ZO#W0S`c3%#A%ZZ>fTOAiwh1@aA|h4`vi1f8Nk| zK5nsL%?!-k-S2Hp;lUeMEPEYmiF`m_OQs5fs89?6@s){361Y164Ys^JY>ZuW_k~E$ z$_T-;koRH2RW4$=(IRG&)FK^O0t9FXSHn`N?ad5~eS0mR-&g%ys&cq=np1jA-LquN zgtRN5ECz&9``AtAyzYdzS!+v6JORAc;De(ewkJ;Zie%y1UcEr_+xlRN32f1My!q?wbX;f`^$<@h9$Fm+b3na(hG+}q?X(0^|ReK5l*wXY~SOn(PLX0KgZ#w@GlJ;;B+XMLnRd+gc+&zyy=29E86|0{Ejs|4oN%mVBeV<reXvuX;{*ho@!`BQ3ozC--04=vvpl zjW{vbJXH${-74>Vzb~G+^Z}n5;5zl3-({+#EQt-Z^u4-n*SO+gCUV5l*>&W?lI%RVD&M z%q^b(2IcXs;1lyG0a(?*@b^WA?9}TZ71($PyT>E=fHEkLZJQ1dh-Jqpu|^4H{Y1-0 zPlgKV?OUg#TR|12R&Uzz(?zQ1v8o!-@lq`JTn+ z_PWY`Iyn4A{8XF(JNg=!FL`=R*R-1mQw3&>^QG53d}|>M@LqFi3sRcu!U!uGwjHS8;T!JqZTf>rqAH)f%GZNtjoS;({yUp&2wlI*PI{duLxRKfTi1l||(=VKWV^9sp2 zlL$1h&6n{+Qj18uJBDK($Ei}f-$bN$e?)kFrQ?nH*aTJ*01G7&W<>)u0Au0et14nh z%4bO=Py7u_}YIm-&@cG*mTU#eE+z=_aQjLA(Fo# zP(g%7hPm})ICT%G`|+0E;#%TY27kHj(A$7qUiK4WN`er3oDDTL8Trz>xG4e_Wbr+f z9VPZS(nGXE4??SC-(;?B`QFL9ksa^W^7>V(Tq)WCo>IxP|lP)tvU)Z6Ac< ze9)QW7Z%KI@BU+^%$}1v7%To~*li+4CB9s#Z|f#FVXpmp4<~iokNsF-qbCLTKqwRByJ`iRO?G*uBznyE^Fp+1czPpdey!N^oK6#Af4+QGZ#&icRsaE`wv0T~^nxhP6Do#oic!BSJ=*II-m z`3jL5j`c{=k=oa{#F{xXlC#)Ob%HkIBJMM~x~qKuuW1cJ)^Rja{Ym!BtXc-Unv31h=-%Bh5VRzA}#cK zNO5wDXC5wut=s*!q1Rm4?=IFDBh@a&3lR5m?RLX(<$!zrWtJl!0T=JZ_#?uZr}{re z40khKB@}0^axj^gin5eU4EArg!>a}~U}SV3<{_5r1?J01rcP0+>=Am*?7^~UN0#eI z&!TB>G(I0wN#G-Ex=&GS1j2Z9KjpFTk-Zsd$O)0*ki5MWJ78nDZEPDZ6$Ae z$36~{TEJasq3GTk)LJn|`*kHEj^CWDeICKS3j6ULLEd4>xkWmBLJ_jq*g{jCllf1_?<`m7H)tN=D? zA?bnk0CUZlEK(JRgb%n_8=1orC43;2$9CR~4+JLzs*DRpNy=>T+d}EkTjqv6Iqe)# z3v)skEnaZU2q-Ofug*I9`{uwM-uMi2G3m{ib+hfKmw`Dk&}Qfd z!=b&i&kNc?QhVL3~6bjyz% zIg->%r4PqD8URUO)&^_IokBrHFQt`j96G~UQ%o)szH$_T2e9%D9v6vX!OD zR#~#m*h!%jZPtjghioxpR}w15ZVW|@m?_J|nEBq`pWk);{;0TgUFml2a~|h$9*=WV zd}NGX$%}9Ywo&%X`f2QiDAc|q@W)S}Yshe+6Y*AL{o?p=;GS$bt(HjOA7TL&bm{7N zP>?bw9_5uU-`>47MWXuqzsyOwiy26QKY|rEu#}juFrZbu;hf7qb)g4R)w3#vcd-~)~hUSo8lbM zf+{6?XLo2LM@4V`81>A#pGL4YCfSIN@tdXG){pqEx}Fpl+^{xd3yhXW>(>J6>a)dc z{|ynZ;Dnwe4MB%tnK#tLD!*pwq*{^ThhYM)aB$r1NR5V^^QYybt#>1(Q zkqAdmV%V-U>TC;=bJ|oSJiJ}O*D==b z8(xbb&xst)oK%Yr<+*?{jF~@9&Y%->_8so6&n%1vEwZ4Y1D^t$D@ikg^`&?m>xnKu8rL0LyA8l zAs?s)l~y~4(}o>FKp%x5uL5qw4Q9+z#NQ=hTc~YAvlBz@Z}|bzP9RXYrLmTkd!)Of zm5K2A`$yI{3%N@#+fz4T2hNuf-@%<#d6i;GZp(u!S_Vqm$J)WAyaYZ$-GMU>;NH>PXTY;jDi-Y5KcwS7S_`&SgqXqH2<1 z$d9L}eOnr$m2U@^hlUDHy(?UmypaLk9dPcvzC*!TlX-f{Xx@XTLX_ zM2%MhtfTFeS*)Eg(lzL>di86s=}!7Bt0L0@+9+c}5&cl4ZonCa?gv)m)o@G2mJ@eY z%E~v39pI;@#9!_vUyYto;0zBcC^5En#d81bn{X1H_+fu~*Gt=mAA==`uF`-$cUQrs zoo8XP(GR5;ekhn|f1e`0cDoG75~spliGtVw*^^hCf-`3{E zju54xH%O*u(8ic^&HNoYDe%;GRw8FwQvt%e7=5bMlV{&R)D51KY38k7%ynLD5=jSo z1#BA~Xr4Sb0KOz?=!r=yev%0H31eP@d!D7Wn})vfGxaG6Bb=-Sft6@R8* zW4wPG1^=G%OL%z6>1(vG{KpF&g$ww(APM`$^t9z1Ngqhc8@aMv>pQ*Ghn^s4Da|x{ z#nF%dIzhR$cs3IJ3?At_Rs0MF<#plQv*yk$@hs7i-P?^Rzb*1y{-|N(TG0*&g%OP5 zUTVG86rC)f)sX4I9*56#H}lJH)L&zMYcgM1zWF);v}0CFc}U{9a;1039#LW4=D4&%Pfybt+#%!0-UJ4Eqj#<*s3SQgi`R z^6MT2CLb_zNdP^}NqSue#`}YF5~lx8E$d8mWFlAP`*yt+;WF`#>xW8ue$Vdb((_Z- z&)PRlZ~gpGWGwyWebq5zGrQQ@5QpfB!Tv$B2i7LZVVYH+j5NnnBe_q;SGSxSgZmr% zR`=Ygr62#nOTo95l~d;QC(MtjXuHSgql%CRM}M4CR9IJa;rIq0mW|?PpK~dMiiBLG z{JV`N@Gg2Do5~xK)3cb!5yShY+|Sq*lh*ZVy!OUvirybyiXQC*_xl;nxJZK2_eNp6 znMUE3FM;Tq_ekjvOXAjLx!f=OT+OsxG)|Gc%nDI&k=fWmnIK44P3Q{OKg7*E<14@2 z7gK(-@2bc%zH}o%il1EJrJP(;rTor!aID)^*YM*($$RMqy%XAq$*!_nlRbjBpJP2- z6h8rAY~IFi^*?cT$64$L=p_0q`FXM7zhyzPx`QPfk-a8!zGmKa^W$$P`iAeF`f@)F zdBsM-sUL>GOi5V6G%g4)L(;e}nzQoNx*KUIpvn5* zjme*szWoY?-CT7~ZL+=B@NsodOWW$6h%EZ?B@YVz3qYgabe9UG=@aHhjy9&x$Ckjf z;j9Aa6V#E-1GKkW!sApi9#)9LIh9ZHGu>JIMN{8HX#&ZrQ!~pK68&^K_6lre%FOiM zKiK%JBeIZwXwHJ-&NxhQ2U7>W7P$tl8)5y-kD^p$56L`oqsKjotvpvWad= zx+3i+Wg=mr>6>o4xr_UN4|S+~JQwd+r$A})HSrVtL}q|-Y3a?$)05^NE@gDRHQ&Ps z`Uk<-61Z5EA`#Eyf(!zq({GcH+ONW2S!}lrR}BVuvCklHXapI8$hCro-rN)uks?0% zzh0v3gsd3BC6V9-{rb6!0?&;PZWW6D*onD1-hM>@*iZ2h?>?y_sPIeY&*#3!FDVd6 zKUI;%f+r4WmqEiuJ8M`mPgvEk^R#|m`Ty8PF3`sgj1F|hnB5!eocO;Bli3n(dY4pB z^&68=-~@m9gc0YuDsy7WZ*vb3eD>)+)|EJ!h)z~OO40;(B`i32RaqMgw8Tkl>J)ed zON_ughOX+% zIZQT<<#6DvtF7OfV#0P>IsOi%ojxTJ@$7qD*dQtX6n8(x@OB&?{dS^OxTP(^ZE5dJ z_MYZ=L%?3~QY>EO#t9l7_=F{0D|a9raH@mZK9H{0(?Q^*>mT1E|5gEd%BZR~eivOA zQCZj%2ol47>j0?vk~{o7DHg>qL>>gJK+Tp~#>s`LxKy9nOT<#%5BQfsls4hEf*uvl0~o(pr3uZNM?RH>xYLp| zSj{;}1K#709i%f>Y`Qkt&JR>@R;%+gu?JiuQXtk(Bl?U*i^ z8VU=)Cn70wPHnK;Cm|pQCK^HLhfO4jpbZM1M(QVVdb_UBrwo64taHyc3~o{Dy4SMg z&|!bn*MC$|>W`*2eQtiV*6iSX7_nu`f5iVKT~DwCeieCo%E-gztP7HTmwcMyL;K-k z>LU7-_@VGC{C~V&A5!G4;q4Bjf7zQt5SC@7-Et;u69hDNX8BJoTleC6w`q>iWP$`% z3`C??%+k-()!gOoPSREQIXSV3pUaml65qO1!!Ph@Rz^D{WBA1sMF|r)rBqhT^-i>T zMW-_ecgAxXT84PH6B8RpvSR<+Nr+;tKWQ0CCZs-L&026vnpxcWwvV11jjJNM{QHqo zZklmU0xj`%y)hD-$~6N;u1P_j^3x?5sxDk%!uP2_re=8&3CkD*kPspho&N`WBg`NHmCfWRg%1YX-_yK$d=XhK$`1YbveOWyxnd4N(s)O>9PSDJ{^}JX*ZF`_1EQR+?CUEpnF zpra>V4!-8J#y@ye5DGakRAvpFE0hou_EYaX3-RBvH=2)o=13ncYsaiz<%UjWfzR!)^^w=4e)%FBr)&g$XGg&XKEcR5)MtcxaeBNA~7a<>VGK ziEX<9q<=2ViVo!Vl}wHhwZHwB+&1xFDP@@PZo$$UdBTl%DV)K#R6AP{WRRd4+|k4noleu`k;4fI{g;A8W|t6h)T^`x4UCVN{c>0g}X z4JE3UgrF^=%h!LhD?t+V@gh9S2Yx=i1|`A^NL^g*mp89%eh;l42VRPNvalxDctw9` zk_Qv1&56>(D%}l=e%Im<)YXymv#vAC0>=6IUASpUyx@%6nzJZD`HVd08ZR~(BYI8> z%1HwsoTsJAMn6gdmBWpe<32hqP7vKtW(vpVbUJ_HXpJt1R+wbbX zy~8AZn5Ocf`+kAJ!P3!GgIyUti(NEfn0sE_zUnkQ6Z4E0@)|5dsxREByrLvP4?J-l zuE$-ro)Cz4TngQ(8h>S`kBBi4`ErhAvf_Mn#=dSN3N11nb|oU>@5@xoPhSI;)B62u zvQBkVdAk@Ce#iMnq2`8gU5LWla}l0ih>~Zk@q9dswe^D@p$2$!EySoo*fUnd@@DL? zXR1g<5{`%Z9GP{(HC2TJ8%WI0B9<*@+;Yp;^4ir`ibnjMy=wgjD~Zr0y36<$e8}WucZhpI-*$o1k;v zJT@`2oIy>wq0Di13bHoMVR|wX&KnUG#x6`0jyRYBBmhq5!ra$1%Ui&q+_Y znDSir#~(k@e8rgz_KU0unSXZIgK z2dQ1G+yGkpB0pY+x6xur)i5t8P1vk>#@Wcp;Z8-kwmL1Ho%Qv1+B_KS^Z|*a@KDc1d#k#r4JBR`J8#cprVaZ7 z1czz0$!CdGI|j(Ql^4WZhTQEc3|uuS`w-C7v036K>$`B{>F~hHyj>l^cgKLZrH`&i|C%*Yll0gv$v9wfDM5&wT?nr2RL1yayCjG*;RAsyO^YA zbxy1#2oQ7jxX1EMpYSQdM_x+&vKzYT=3~ zy;1(#HYR(_2InKF%o*k*@OMoOQR)lkl`IFUF5}93P44GINn4L2GAYPh0>yx(wB9&K zd2B^?@rJXm!0NUA9lYTF?YU0i?hHx#0D6Z1EcO!!86aAyJ=ls&ybK!8fm#Wit{vs~ zdsP=k5aom-%ZsXBL&&fZA*|Y8sF^KYox0h4=t+5R?r)A| zdxY1WvLj6hH#Vnp8ZYub*oNaRs!*M9mlNWjhtW(OiUyi-ILpK6lC7I6R)%N+W{Jdu zCr4eyu(g$+kX~TvV{`4Vx25B9|4~%NAYh}}oxa{+?a0ZcKfJvk+CHJ;)p543Og-U| z(A8}L$<+bj_L~_~HLP2C^NP>-BCp6? zn5%Z#^#-Z=YHw7ho&ddJ$Zc+ceQT&9RTDmY8DJQ zU`Gn;@pF2i`fTCl*3I@qcV~e=K^G>>T?sCy|4V+4TF|3Ddx(;{Q&evaISb1#NiCek z?&Ewx=DrI-kb#aJ!pcIRx4G^hC#EgB4`dt1620zUb;Z9QA`y_G_HyL9&6@;N5u7ul zTjWUj@ul{t?O7@gs zPiWK(sI}(Xs$V#ts#fY=Mg478DSZ#@R5<*$YNVQqh%BGrJ8m<4?3PtQUfh&1IFH9N z5I!tY^S#=dP&aY5BjBah+j|g)n?8+^I0`fI6*ZI;=3<@F*MGoc*0Xmt$uSM{a zm#iNG(x&*Zn0C~FD)}&U2LRRv@|(WKNC#EA+f-u~jS@CX_m*$b%32o*U!2N)Cia$h7e9AOb*0p2-ftY!9NTcg zH7?q`W+Bw!-e!5$F{Ww)>X(Lc=(>k)3G_BH?9zSD8kmS` zZe)+%`h&QHNqW&2<-q|F+U6DayFvHf89Kxl!~WhTc_om(R7b3o{~`7q+2pekvC-fl z;m*mVYmg%IOmy6bSDn*Owt^8B?B36tYIiX`V0a5X>c|0Ze!^AAY#YgJE;=c5#+~#% zxEF_;^awL(U)HUxu%E^FNwy&Kj7eVmCy~xnp5xX56t^@a$wR_E_F)>_M$=wARbsg1 z^4*~`R@pvfRh3=;xp&5%PHv79-%ytSBXUENE%?qg$}@mc$)fu(92fc4B)j7P@Pk+G zU~pd7)t5^i6!Mb|e@PG8b#TY~bSq+u98?6iD1o9-*eq8iVh+j&9)ACVs{99NU`}la z$$0Zx2c~py3_rAh+iM$`ZGH#}jHzn~3iW%jV?tZCSDgJN)V7G;8(2#*g@yTl;kC=NvPTHvH-_?g{+YS{w$#OKubG*a7?!ff9a0$lzcS5# zGPzbF5(v0Oy`hzNA?PW!J+d1Dvq-VD;k5{E<`RNq8Jp2r!N(|qGlZhQ2k*Fw7|;}r zbcNTzdhqZsf{@u^m^QdoI9+>6KrgaD2CD39e){V>>AYt9mfOb_qzs}=eeBS1s9%<+ zU`Ch<&;F&gZ`zOG#(W5{JNzp3(9m|_0R&XicG|t*!M(zMnar`^&6Ng_Sel4{RSTyv z(1PkuiA(hr1T$d>c>JSWy3mP{KiPyz_Vl@G?wY0d8YaPmd*sd(!k#V7!H^{70`4swojX0YANu3DSx5LWb^PZKMko~iSi9w9 zqMvB&Mc9lj|11a6hK}uqwrxi^zY(Orkg>s+Z6aL{x&hB0Q?nwHRQH#rn)8zFc?NW4 z7EWXb@5V|Kc{j$pB{9@1$G!cYW{2eJn(D{fFaNG6jJk7L_>!$m4;Qyq83yCYLVF#M zs)1F)EqUc$c7iq_ijfJH)|!)P){nsHfou(M-vd@}3FjG4c9bvj`qP(?LO(U zrgJzeMZnY-B72giTSYi_ZpAqRMV^F{>KVQip(6N3ToF7!mA5>&Z}#6sShyzf*luh- z`Y3Fr_$-lhPQ4TAu!52>&!Lum_S?ty1vzKOlNLDf^14BLTR-R)u3$G;(3a?%PRyf) z2Re>ixdl>DjiH0@c|@$%O@BYNUG18Lmr?Jc^Ir1Gn}dqPprsOp#juGaZ;*~MdF8F@ z_w7PS5cHs`QEud6sH0Qf7t9|BdfScmqa<$O@F(Xa?#XQssLUB$qmz>Y0ljl zthi{&3jFJ~S{0}3Az>qk^WUQaYCGKRQ~nEN@=<|$9!{nQq&y;5ksQ&%%olcj^wo;o zuRcAcx3odU$GR86+Z=eT$*-XRBkDIsG#OMd=4Hqa&N9B{4Sy?$eTd3EVebJqWA_4T zvgDd(KOQ1V62PdY(P(@^zxZHFgoLlyjmZ7f`128WgD#E7jZa}?m@j1ZPz-NoZmu8b zX>~fK*cVfZFiOT$MqBIvmk@v%snXp5cx+R65JE)txs|c#*4t4MX#*V#z6vF^fIXgI z$q@P}(ME6EjuD9p@W#q>-ouIC!A{u(RWkP;$%utuF5emDxcr;W*_@sk^BllgHFwuq z+tbIorhbf_o>~}-FTd@B$cVkB-jMgi&XU_`M$gZV6;ITtVJPRtX$aeESc{js_qF}H zD1g8Bu(E5)xcfnz3QJU-!LH^JIGNmhS|D6hoBxI=hp%PSUCi7%+3QU?z#>z;xC+m z?P~Uewtg=J_V(V;ip}*x;fA$cKbm3Lf5$G?yqqWp%s+AbP@df0Nk6$T#bPtm{Z90e%ltf&K~A~SP7~<^ZVzH5a&>Bo zzZ)gbGgAWZ+2JCd#_FDy7=Ge_J9IUV$GM$W&XY6agR4wWQ_MjolXPHgxe?oyi^H#> zn&5k+sX%%}9Q}vi?(lSa(1Ut;ZF`%1HFFE9BR;YdS;A-W`Z;sIToSOIC*o(|n z0#pSi`p9K=lmf?$Ux8!JD}Rvl=mtnj$2Yr`q@$A&_T*1D?LB!ynCk=mx1g3L40-zV z`UN1PLN6!Jnoc{fNZ!R{aF`8*XItxno?OlZw}y*xJGH!yGpn2Z2&Fe!hdXgA`^wf4`zb& z-gX!wPV+?&Tlx;e2n7@LpjH}-CyIrmK52@%Ohkq5CR!u-#mKtmQpECNTkt}F9?Vgx z5QP;QQpHxlakci8zjuY8ePC&SD0}(7yWmj zZrmUSiV#n3qv&nEJC*u~=KQ~eR8ZA{Ms?AwNtsEQ^5Md6j}P~n6_i(278*jV`6H+3 z_CM!`pN2WD+jV?0SdlvXJThUId}x|9d7YIR1>O+)$B8IcGhEi{`)8u)Oyr4Q`9dD3%k(bwA`Q zS^iSl)zv107dQ~4Q81teV`cz>4qS`Jxy=|XoF&9_Q`cJ!U!n)P?Nq7vuB{^_k!z$e z-C28LvQ5K}|A0sd=O|J?s+(B`=SPSGjY#qH#X?&-lsp%F;7`d0J3))|q^$D>#$Q*Q0`aq2I%uDW_qXtVma&sJhR;|(| z%bPrH$yOVq)xCfb8~>{3VB#j++TFl8PK+h2ouk|uZZ>991{VqU@#wG;ylm7c*CM#< z?%5?t0^1T7zt~kx5a(J5)J+%)Y08;<9RfAbNd>1Ers4KG>`JMjWxI?R$Vr-|PpT?A zKn(xZuPwHRX(X#$R9HccG!T1cUC_zxpk{$lpMz6`d?v=0_2-f!Ni6 z+zCxjgQ)7$7&OFtYJcrkDqmT@A&{|U&JH_gw>+lykd^BEeeBF6$mCAHLj@b#CT~s$ zU+`27UF$cM?K~^#Env6!HH`+6ww1TnUU!T#)aH{Hj#^Dz zxIUQaBC9?i!RG2{%w#fxLJZz(rHE~1zT3f|6y*e@FHbnX+cDsyV*}GemO$z68h(7x z??Eo!Y}Jh3{{KPh+mR+FBu3uGT6S8^Fl{S{;^YnHSl5~}Rsnc0e7UO74&6q#wBs%R zf(4C*`d5m`l7%yb4^~F!+VBz)wHFY?Sn3@0`&%>i zdTi3ERI`H;T=hI^*go}$n-6=edGsyQZuw>3oolAlhP+F-Au#&OUezzK>>_HTLEj*# z8^mNX{m}hU8SSh{)iLtDvR2Pct$6BJrKA>aF*=s;%RreE%tyocUS?F0W+?UVK<_HI zCE4U4%yGs=FREhJx_O=h57IaDo@hWCDSLYbfIxIE#KFULs@AGROARgBWnz>|nYEQ} zozb(JLK6O(8=^P5+W@i%mdRMaSMI%%IxV>s9bjqCLp*eh(e4~q0v(9HOmw}u+vO!b zyYjIhwsOb7o-#O=Z6b!H<#@nT?!utAuP8kb@o4`sD#v>*Vz?Wg^Y_`M8l`U=z6~}) zM7k;L&ubOohSL*F>;E0q1%wE%lNEc{3wyRYah4|hh?T%AZ+368)&2Gkh(^*EAt;L_ zMMB7&hXWYiwq;C3@~uGsUuHJ_K{uB>uHIy%n=PpM1ZavKO}L?`*O-A?uOCk8C}2ET zSQ@2<4ortyWeiM%$@qkrcHqmRh#j1Ft+m##q%oh@XQN3;!Mu`NM(nLG+#TF15;J%) z!1~K4rPq1;K0N2-diCZDlt%mHC6nSL9%|H>U2{db>Y6DS0;>Chkj->~>uQ9|@W}O2 zsj2~H1~N8-=O{|TU!5g0r7C2}(0#8-I+(%}k#w1;EJk#Ee`6NxGpplYD}jzS{g^3n z{JYTP_!qZ*eWR03c|q*`kQLSoLQaACPns8?FkQA8UIs7rDbb6j0;18wuKLb z(zeAiqFg8OISY0(jK~n!7G|2WlgwGtVAsc_su9Cvu={bN9KT`G)~TC|X7<{VVg{nK zA3mg#x@+$_EZcX9%?>wYR0TH;2Lun!+H*(lcBd`PlAlQ#bn(^Pcczc2dNG1U*{BYd z{(DB<>};fx9|Qf*ow+>d8TGuGgT;k@l~Tz2*Uo1=$)zeAqUt>o8e`r#w;Z1AgsqM$_wWa{=0$Lu zX>J5%*z+~MD+0zlO?{@-*r%InFIEclL{@WOq1OG_TX$g$Rr&tc&^JSGNJES$^X4oB zGz4Jg=I8-;3!E(8B!A)8;*j+q>b06>G+Ec<`?T2kQuv++!=AksL(C-}<@e|-A@w@M zVXD26h=9294$Mm-qHv3a5CngbMqBoSu1Z6qVGEv+G@xG&k%s z7pl&zxD>FD0C&kKa0ABh=K50g)@S}DObU1rYIg2AVDfmseNoM=<>PTD{=LQ(t&fAz zEwwUCf#*L{UaS@u0nng00ly~v=M$%Dv9k>=Dn?*0@;E1QPF1GM5Aunbt*AXZg`TFx z-3pxSN~5+{r8bNc8WJSKUi8Wa@Kt@(6((i9*edJLEdQSW+^M(nd7`XS?*JVUPoz5@ zII?0N3chFb%`*BqOfWhK7@HSQFmEyR8P#l83M-j?(!{GP_3suUqwyUl*(r7EuVd=p z`Fa7{(!c9UbuxF;*%KJa5T|gJMxt6?r@WBnVQ()Os5wv6b_`ej==?PcnpVrUyC{JJ zT^jNX5nIg-8HpL4f)NKCExQBFWp(qjQz+e>e3A?F)dqIZj?km)T;HL)P6FR{gF>++ zM=2`&kh~yNexNPzv^K;lcp%PcF3e$8UGo7pt^&}8jl{}G9f9Oav+iBtk=ng2mXq>* zLc}@Q2If@hM6bpO5wF2}p!fcZzU!@bbY_%)CwcFxLCIXMId?tcoz;cCOXu>iQ80d9 zjXhYre;{-T59q`*U=-?dJVc49#y+m4!kL0%!Lg$Z`_}AOP3P(}!X6ZN z1iR97|B7|mLaL+e#OHJ*dVS4TE=blW8nfaNy=RL`clw)4PsAscIQ5cC9D4yJSjgQ$ z`X{l&Uh}<%+`-xQac1m5ife>)X42hH?G}pe|Fr~ciAFq za~$WHj%feF71)P6(FeMJ7eyo7*g=%Q2^+U$`iUU1B#uGe zLWRI7bnvpwxqQsx8Z~>$1nfxud}LvRYB*g#q~>Vwd3n|89IEA$?rgZT-_1>GTc>Yp zM#9NVzc3tedUaYZ$nsqgc3f+elj~5k3JV@JSZ~M_cBD3@GlDU<-h}lI-0_{!a z_B{aT)#4I}gAXc#K5urfKpx zD|I^UXo)vHA*9amHe-4+!ru$0?21Sjsx7z-m40#xSsh-`!S-r93Wl8VKO_%|)G{AA zuJe};_DC{Vb_<+*9lsjiY~Cx}Rf;|?2>f*f|NUef537vwCV!}Ybt?SbFR%6ds-~?@ zLLp3mZ$QRzFLXx`inh3mfuBnz9fe$TZ&KrVw{19(d`}?@!A}5QK=y3RXr%44-(fRo z%QlRMSU@U$#|+xMdTSRxdYRef8N>|CHt|)hA{}B$3AfA$IIkw9uBK5pHzUAB3)Cl6 zh0#ao6TdbI)L{d*d)-nVI*vUc$#cFWo?>h?%E4f6($TE)rsuJQuO`!h)+bkQ*PFg( zE;>82GV6}@`czjU6@}DK-l^;;6RoL~qvN{IqioQxT<`xU185gqz_nJ;BRfa`t`ti4 z6V;fw047a6MXu5id+&1GmNCKQ(-#}qhLZ^|Ifobb(>{J;!G6vgYT4=X_Jj~N8eIyH zmE_%l5cyvmT9J|M$Wy#ftnMQ^h(+h%$0)4Ruqsrm|Azi%=}5-uOD+%y;8yS9pvr?9zI@?dN7=vb*g&#r4Qhoa`q)*S`XUZ<;I?8buY_nkE?YhNn>IOIw)@O zYWV>$!U1!C7V(Ee4la_!#V2@{YAo*D+aJDCg?f-PJTv)&$%kFNTdaTSVWH(?rt zKg$m;*G=T?zabq|f|ri_3f1c}UQsWe=6oj3?0_oZR^!eMs6-pELYAllQ9)u<8{~xF zZbc05C!6G5-(99!wmh8rdgq!m>u*a#0xjlp5)AMuQ4(PGc-~)OMC7&wyGrL87;?Vm zC3XpiYt@EfoTdZ<`!k+Y;zTjDZ3N8z zEvJ5GT4Q!y&(@|&$)uKCq1y_jXmVC(Hgc(9rGnRBOo-NR$#twRgTIK=Sg`Y|GBXkQ zPp)R0o;67VRJd=H^xM3(5!gMGn!>@6<@$c61DrF^EP zTs9DmlgZm23S5IAoduQIwT_w(h`#;y_wAQ8gFk#OLst$FOfFjQh*$CjI+ksUNiCh8cVKdVreXORPF^mdD;IqFX44=+xR@(ceyz=eV$2KV(O7{cKB_hB(Lvs;E49!RvKS9*>@pMrn;){3t6)+B z#n~1J;t<#@m+}_2aQtS`=14T3V+5gg2L#ST$liZ8ht&Jo;Bhps^JgkwfeA0wZ5$Npu%JozG);&$i2*yadb;Hq=hGE_H_99q$u%;wW5iI(7;>^MPamU`dy+G_!0)6Mrz3uAa z1*!4@8eE!K&JjD`hGd~0YQq4a0EJNZ{Z;s-K2MGN#cdFA{mRXrEQ?J|-Mg%?0QX$` z8pG$3ohLG0NPOO^OaJ=^@nv*ddl`KWWbKQ|7{&oe|7EwTa5AQEqdN_lMoHc)rztuQ zJ+^R5B>rlSzE>CFKp)F5Uz!UpQcj6?7okv+lPP5Pv!!ZIE_gm~Irt63a&TB#7w zj*y7d#5%rjp#Fjjun2bsfK*pq?oL(geyu-Ga)faaX_6(&0J0uM9q@Qq={6YM33Sn? zfPBRM{ns=%pe5;y%&$lz^mG@jNk|b}dYyV9M?U{#ymZ6Z^zoW&Cw&!CmW5F^Fvaaj z$_IYdMc75;^?#(p+g^liPOkXF81j-kVD$O&vb~smW02s;kFkVVdnjBHyYMKXro?Nn zS99H3K}xt|(0<=G#**byvap4w5V%G49{?lw1ae@Tv%2A*HcXgBc7(4zVUFoJtJB|~ z#g_%0jft@%T;$TdyR6#?3MlR!+xqhPgE!m#roNYtF*PlwQcxrbPXX~noiEvlyiA5w zPF#+_$-7nT<0aHzv={LjEbmIMgt)F95HY7$QHlqy5QVLq>W8d`G8#1OWo&FL5NK1R358i9*n%y)Wffg^7Kngl^ zVH=3XoBIiw#t820&UuN?cLAEz#O=LKfT(naff*BsjT*z-WQZ8t-_YNjwt~IBn^{k( z%)dOk;k#FgJ`m|JxvABJIkv9FR|vN8NS(I_-6U2!-sopu?jv3ojgFjABhuGWf?yI? zN|Zb3;P|!pJUe0f_cLuey78IER$W~07Nz0U)B!M7mS-nV){n0>JXU5~8*JTplK=SV zaWT&a9u2_JWpO+4!7*GfCsIc2>4LfQbH!$`n{R2r-yHj`V< z=?gK&yXAr>15(o#W{D+^^o81TmByX9w`FoW35rmgaF3uBY~{!{Rta;gGlw}n_2-fI zfaBO(1xfUM+JZzKnB((NB#REYKxFVFGgb=`MJtV3R{s{= zXpk3LfW3<*YlD#y;Th<}Q_rXahTnzRU7FKLQ0m(_ilkv~-^a_m{iqvP&3R==VS$Lc zW9jsDRA91@z8nk`rLVPh{~lFmg-U$RFHQEnuYY)CFek5de4n^lY z=Zhqr#BDy0Ta39rs2KX*ZLdQiF5*R;ZiYGT(8Ji>VW9GCBWUW^0eH^#Bt(KhoMy_6 zc&^A^hy98f;+)ofxf*R+Uby_Y{Mta^OgD_ex=b8q%FdQR+iFZ|DsL!4gi5N_5ha8t zN&5zT<|Tr@tyL`_NYnl^P^llbKwx$5ebR$gwV`2es7&~R{u^y55b>^2I1T1iwEp;+ z=}DjqdZ)kr(eXtx;QX4c>$I_k+)sLO&m zZPBLH!BtG;W<`D=c~kq!U!#*i3VMDJxAg3@-Qs7vmeB~hCu!aJ+k?4pf$90et(nIC zsc*gPdHOe=^Kf#CieEKLQWZap_i(){_sV_87q%`tp)NT7Q8X=8GBYxet4zt0DK+eC zlWEc^Wtkaw*~^S%bUvRQiLU$5CJHj~h=Z~;1ejRiK*iUA7(x{O=dCzAY8g205%*ep zYg3xKE8sP5yIsEQJPg-{HCd>-+)VOKXI}mu#Ry~B%qz39nfmQH3L7`z{Gx=k8&FVe zYV0*Hz1~nhKRGa_Zx4BLuBWuJ8 zvA)aEE02%oTN@No_rwRPT$zg*ytvU|#qOT4bQuY)vEB%5!3TZ=FTR zbHH^Iu#K(em@d_H(kH+6&p9t;<_mlFcRm#;Jm`Dxa>3lR&inflHZ9qw47KQ7!L^~W zVPmb8|D|R`H~ShLwBSDXJsHQgDM7N;pCTuh!p}| zPH^*;=W2uQiQHd*k`y?4^CFz{Y=inub%PChffVS7&j8q@xQ`+*P11n@gA8&qyZwlPHYVzgJ z4YYY_=4t~q@B9b2GU42Q)j!L3sFdF5WLJsC0gu)=eF05=&^V|G+s|E35}*Ct5xQ*e zx@rf?`^UDsJOT&aed&><9Oipi`Dee-(+czLmdkNbEJbpb_`&$ge)2Mh9gA=ECPo&1 zh02s{nlc81`2fqWCZ?^R17qdqCXJ&G!w)fj7p})s=ZWRBtnwm3L+RaDl>1a&1S5;= zEmnt;F>>EO0m~7V9S8K%PKRNa`d_~bZh`T4px@tM`>y}+-kjxy?0L@~u>U+9{MY*} zqUrpZ*^FeN7%$?$&rp}S+{B+p&34H{~IXR1VA~ zj8>s_uyJ|5XOY*e4}kiu=_2^MDc3hM&F#ei`M8|@6{s3=~L(=~j6 z@&PZHwyh2rz>)~JIj$5Ql7P_PXErr2%9ekW6{d{;x?*rAC+zp5h{AJqyhWanmB{@U#UiYIsa>)Klb|P|LGH}?!boK;$*OQjH@YNcl&J`kEVc=vI?7UuqNb_u>|v^*MpuI@qCM_SjNA^p`&-Ix|D&aB)yXM zF}ki#w)aluA9bMvwz`L>RaodLv2LPaTYW)Xo@u1w* zN3 zF~63I!(uiBiuJk$A<80n0U*$+0`BFM*ny5c;pTl$JTf6L4QhSj}JtY^U~x%^N9s8EcKBzq{0E~?l%)G zS7CQ^Cr?)sb}T%2ZpJU6z#OYH8u-Tex(LvZ{iN0H%NALA{xa@?lBY5;L4B z#Nbw^RXmN;xbD4Rto~rUC;EBpM7e0e`MFNfR~Bh*tnjv9$rhDeiUQ!Z)3mBb;ENA& zpW8kbDwpo5t-L8mC4}rl*@TKwNoZ>RxKl41$N>T+kO^Q*11{NW^&Z)p5@R!o?&-v49j&BLMo-th6)m@$?y(J0H< zm#D01q!6<2S{braXets}!i=?qY)OhNDV51CYm7A_hGJU85K*#cA2Yw>{rO(s@9!_y z#pRE4UgtdLdG6=F?+3Htjia=4t==qlF}fxi8)_aH=(#b2hK^v$c6r)RKYm2=-pFk% zkTC1%xQn`L$shw`?pyX>dXVO_M5C9cw{)W0C@$MHF^#r%+* zrHtQAT$sbXUdr8%vW$z4KRMarAUV>En*VK1kw}P>ID)v_Emq2w_lw|^@;KEKDrBm1 zA)&@gTM_H-gPh*@LNDsug6HaXF0|V{HqZ9VHVln<)ny?|$t$bS)PI59(d`8cn6>$@ zE%cv?1x@kougyV4oP$;+dm|I`#4F_Zh>mk()0(sZSUWL(yEG)IVS%xH#$4wjW7S_* zP-CC8Y^fr5_DHhM)=Lw)FieGap;W?Y0ozoIsD#s)#vJ8VpP7lLvHR|um$kn>t2m%N zT7JJ0Bn547{JpdH3 ze8)+N6pDyrPo9X=iYuFomCnqIlqc*ph5=#$1n7EjoYvDQsi4{yEydCM&yMi37e9Z5 zL$|4)n|1nWB=Yj%b)NisZUeo`d8n*NCI)<-IPyNz{GgH|24pUZhK zl}5rS@~}~@>81@I$Xf(g;>|VJdM!6mGr>FGx?M@&V;>DJ%TbB}d}kmILX)z0w)aCv zw%3u6U=grl+Oz+9#>lMEYus@_kC_bMPMVKp+~rXLy>5x@>~k?N@P)*t5&1j8f=H8W3z>$Xb_hPw6HB4Ev)k@jfdZF zw3YrW@?B=#FM!efYEp2#*<5@#%g_aIgCF2}iYfa>kwB5e=;&$R4F~9#u{3r5Jf4Ah4r?se6U2ja`o? zLZ_l6?&=yeZ+AO^nc1M=BcRG~rn~$&`j5&5nRLTa1>8r1;{aw?ie)G^6qIoLXI1$8 zgMo&*z8d5!3|umrZO<7j#D@hhvH@JOL$~qZfk&GjKKI%stTP-5pHBN%_`QW6EZZKX zKUQx1K>S?#-5&Mhcf$OhbBd#q4B*;Scu=pNPcjS4xu2P=0kJPe(HNA;%IM;|YK`do zx!Y1`?K{L@`niG@=RqMve&&7SN6>YCm-KvJ#|t`(Wed#R3_mTuohmhB66XqbFEUct8*J$D;5P(O z|4f1?_fcTF^5tYnkLn{5xcjY~fZb#)`4tfKfLEF1XI_hoRm{R(X4X05Ie*{wj@cy< zxD)?trvdjj>*I2NvS%t;8+|NZ=Uc>A&sHIPbRimgNr4O}N;6sS_MS$%?&Bdn+DZPh z@2>8{GP>)y_x6t&?B2=gGnnjmUExa=)o!5~8WxN*j6B)IY!Z~c)vqTGHzIBh`U&2#XZRlYnv$B@_jn~+^8I{ zZAqcqR6*wlz)28X{PrbCRKD|(3Ubnn^ILz!ItPvM{7A{B0>9G=?M3ac(tf{E;o2|n zu1#{U-yg7RAYyO7xlOB`y*v9ui%WaCe?j#2$sGyZF}-As`k=&jE$^=VL(eNc^IjwN zxf9Xn?H==~=NM$yWP?P@sZ323@y?C&x?fVbuYZy!5)0UuSPrs(65I_rj4*cP6pqXn z=|Wsp6pnQBL@0kVFKGUVBEp5)SO<3{4JIET5^vwTv7z_ip-Xn2z4yW)_Zmw|v-_QQ zukw0mZIOcrB-tS`9S4ZGms!ASl8tY7Sk1GY@ZHa6uDniU;sA~;+THrWC@JF;)`=hR@%Zoa z|7#PChqzQdZ&B&%|GjC`U_HTPCWILN;pFz!Wex5RaWuyF zv8Oka8Jk?|H$y+FIKS--cbj)ucfkp7^;-)pM%vUYW$ug8TND{B~4BOqT{E z2|CVUZ@ZW{N<4-MMSjoGV1v_Ym80kVo#MzrPSP^KY$2Fmk4FX$s7HF9Y*iZ!N_2n7Av+l)CPKN_OK4{($N&8w3(#tGsa=k0J2 zfqI$GR+!Jf>W;k9y)(pm=xUED5s2JL3YlLA(&QJ0jpZ9Z?>WlKaPx7axJj0-cbg66 z0x=8*F5r}zzF?8|jI?(?>NUHsJStGUkn?=h0qqRQj(KnY!dTGbEj`?VE!M`Dry4&m z&x*|uvB#fyS-$*LpN7yD+>YHbVM!XFCiE*m7?MIOWHW})jL_HTZww-QH9{gNA zg_Ec0iKL9`q_`UViRnKL{)?P#z~=GJ9z573?y@SA1Y#5nj7*H^zv{?y5Dob_4HyEK z|5VMXGxL&TKD8Sve;kK46V>tGAd(@RuaBt&SCy`P=PAn^4+LzC&gSO`^ zSk0M~QN0P9J!_8K6GsJVe;2REy19%7f0bazba0q;vy;;85{S-l$WzKxUmyb)korMi zuvOOclvPyCrw&b&5;CM5@e)(DadNDD>!8Z;#$?C6c--NnZf$&BYFx%`0b6B4+7-4@ zj_o)PV+oJMG7QNf=5f0M%;fdSmA_*n3*Ko}^rvm-Rd{Pv9B*k1^%;30%hbve6Di!Z zsj%0t1k?7;gs0CAt{q+?9cNj zfYXy2`+v9PY4Uoj&cv4iFQKD8Y?Fr~Wrh|b0BT2WKJ{(2fl1q$#XX)Q!gp;q`s8H% z=FMrr%<7V!SdA2}+K#~ALBO+qsHBHf?a3B3M2c%!uSNPI%z-k5a~uu)uG(XA2SN+f zInH}S&d0B0>h9-rVVC^hMmUKFS~e@qyZjROUxmL~so(*(NCX%3gk6XUl($-=_ zxXuY%At@_`vcT5kFXf}$vGrXJi*M_Lr%!Pk9>5ozM>|N`oF{vfA_s(g%_pZL*1B?k4Er+M-(6oc zr%lZ!IA$KrtXK8|4VAuz4}o=bO*J-+I_2=|2V~0bS?c*+(`y6WCpT&wg|m!HsN#7q z;sFojlX!qh85C7wN}giC<~cW1GR4m#Nw`w)&rSZf1^+x6yZN5}jNf-rkacFd<8(9y zAN>LiJ%I#Rh9KW?!IJ#ebTJd9msuO$+$Gi>?1yXd?9;_%o`JvggEoJ0yn8Z)Hfx{W zIWu#bl#;0FqclM4noCbHlHzi59ZX?Y;H^LSLJD;a)A&Yt!iOFb{MkKKP{~^C6zW$z zDKJ~C1skp1Ro-WzUY^OJAUIg&uf+A=uDJf29pAYTHpBZ*xAQ>~WQ!2`tVG_UIw&f; zBeq&1(+MkGnmpHE>oms9n)Tn(rcH??IAvCr_&N1So%0)2_e204aOl`X{XeBQNE}b2 z)^$L6Xt$*BQMUB9*c6opLfg{Mys~m&06i8R4J3-^OfLc_l8@1ACl`RvmV`>+2itX< zqr6)p(5Cf+oL;d~j&^L7Hq!MahBbpFoo00Nn8Nvb8S#6stR*Ku=V@#sI(87lrW*G% zr5~Q6jm|O`Gv(X(l+|U~*s$F(vIebEo5$Ux{xq|87J6cI&^aRl^~YuNQ3jX_zp0kP zDLyl;#p82SqT@y-Wo5%lNfcmauWbRU_^^EK-81}7c4pxb>*!oNpT?<<50T)N1DWn{ z>uVV1-AQMW?a1)=O9j5F%Kjs6oDk54t8ykX8W<8!ILHSVpD{j1$`(lGY) zbC|ajdP{y}(7A+7Z~N&wKr^0?NTGLXHXG!Pat>;p=!T$^eyK3%037(PG;O&Eljx1a zKWA-!B4`UTmLa0Xgw(s3h&RmL;LwW4v;jY%(imr1WO66O}RffO3 zXz722>sxm3h``!jKj1b+j=cbv4HW@2n(6S?8}u&&HjJ)tj^)H$MswnUV|xdAT!$n} z_ih09*IGglBl)&Huu94-Rk`KV=lH8W`)0 z^f|Tu*$Ngq9S@^_)fIt&7W%wy+SR9o6Y_9V*a}R zb(=VkjyBt{aha^oz7ad?KMbCr5yCqz@0oCg__@P0D)9bodb)$yjUymhMGbSdcL%w#>GE>#@8HS5w(MG8hLdPa67DD#0@+O6e#H=D~L#e+iyv2&&}?ApA;1W_}x z4jDnF78*i_ zjlOMqQsie6@VoiryPLx;%Y6@Way%i@F^FUZfq@l34ljR{?a=O~f z>~9P&%AJUie!)l)SM2#opqa2()#{r@@DLeVLV#baw z!NQ~*QJVL&pdas%$ss0hzxXz!%v~F$kgG@@v26VilF+CwJIm6$?vY>9vaq~C6&y*P z2}&%-v4w?7zB;))E&roRYptR4lVC7E)o(bXM9P7S@|!eNk`GLa|8QLOTZL=Xhx)SV z%YZw~maA8Z181BXdg-1nMHXbE(;Xb9vok@*ASz}0+HB<%6x43<{_om@z=L-KLyz-? z`Yj6qInV=;)x`VIo{(MvjI(5e zEaBeEG=S4P#^B%|LFez$4)2|fgejI(kQUMA%1AD@<|Po7lnPh1j(z-aMSI)ih(2l7 z@Bx{+cm>xpI!!? zE0E6N;IBXKIKs0?alVRZOG+J$T`q5Zt|Y%drzC&OsicV&YNuia+Wub-Lu1j#S1f=S zy_X5Q%wpnpEfJ@y7eiS_ z@CdrEH7nzp?>mU^d<(x4{bxhVB^1>Y9;+|12^3!$D_J(O? z_s(JJzf7GH_}qx^_#Rbr=@eD^3|DZ3S04Mn;1U8I_DDUMd;?TilHp(UYUws=HVxbdW5_~VrtO8 z$C$we!Q_$O)=4=?Nu{vS>d}i4AH+yg#1XjU@QwPLm!@xf-&O+KMjD(x*|x$`h4h3- z%E#I1HgHooG(N4s`U=rSSglj6rtuEqwDWIlzvEwK$OzhPqeCQWU(3Cl_6KnX*|HPW zvOJ@nOYy6tvo?J2MjfDh#RUxXL@Sa*28>4ZuPd+@U^eP_P#3&hx#r5Fs++3~*UINt zv=<38H~OP$-XIj>K(cgzOMyd)oc*@!N=)p9n>fcxz@*A_?ND5v=dspc7(-_UI3739)8nB~Hg|2?(7My?pY8Di%56>nNJVm) z;-K+`#9{eYPKigh?~IN+L*?KxY@NO^`)=MUY!S~SYH1n-J)L*u6N&M21prCA?q$$D zI{lWxyHqsh(Zhl)z~=C=+(gX46womT8V(%7KesCh+N{TP)ZwOb>PbfWSlqZB2o>)u z_D2b{Bos~=rgyi(ayhcfe7e|DVw4YpFp&{=0jf-4KgPSOF}_|JE2FYpr|6KAbfDb? zL&(*H7bmZP2~bOKWRH1jPj%e;0iH#()(_x;%vB&|sxPq#B#=61r%}Dr~e0rGXxYzu%u)l(?^ll{nPx&!>%3 z{kCh^1elB(u;ogSVMA_E8AHN}=O7QoXb>XbOoG#>l=vxD<-_{UPt$d}x=ZJULZ8P` z9^`JDNa;a0D}EP_>-Fo)U&qw*$x0=d3)r@p>kGCt&O|+lz3@e8a_ww@CL8KYsxd0i zqKI}y)@mtH z>{@Z^_lde--@o$r#ePO^q|y-H{EIWWxdATOmB$*zU9$+sQAKQiC-wXe=Uv_JO1V6^ zPhW(@EWB_ws7l#qj*Y95h#W&L4xX97LAa%m!9TxAwC(5@)*-W>cW|7qSA>2H=X|E~~LB0mO4KnPWQ*#|%JoOIFk2@WnfKJ6+|);yz-h;k>{0inHK!#0(7gs@fW zhb~gOh4xb9wP7DIm7^cC8@otm`=eDs(vGp(y_J36; zs`%h9Bf)XS0N`D$Tl%ozd`jYw7g&0#$HDjNy#9YzTstm1gDSlBLpA8^4dbgNxr#gS zcy)_sMk4fujc>}LuC3gMC+Qt~Y$Ie}HiAm0AE%u0^fey=)W zo}|KTTRwb`Q(h^}N-iPRx?VN_BQKSp4-f~CFxX*j-Fl;y+jlu|=$%Ffu6?d83Y=wI zFR_ab!(XP1bX0h49e;Ivhy@F_X#L=XDi#3GL`UoE3j%ys4y|D=z9+-Ov&2-kANWMVw-Tmai2T3O=m5T(U9Hz((@~c6qGoNH4)~E|u zi%Q_Bn?^NhbpLyurZYJ@IF^?rzi}Aip&07WX;ve%kINnVb36lI4E+Z6<%13WRbUqD z_5Xhw4#MeNzDzh=)iatP8Z*Vxa`YIx==3R;*6`w{U2W%4<)AlXkEX%1`M&iu3VWFq z#*~PRho)kBpO~sG4N|+aV-$JpXQI;MF7$#2)KlE^RA0gc1}Lfvsixzv_6Psq7oL4Y zFjMzX_*sA<<9nm`Z-c}kBPOHR46jaUeSJv4HmSlj)jGN(2RPp(=ti@~fpgRs6;b%s z-k*s!4hM3$zbsRe9oy`F)x~`Z*$)XKMls;*10Cc*HB@L~nFcHScX;}*1TNkB-SyW0 z?LZ@Jrt%V8!mo-Uk*}FPAjVq-OOb;n`c2_^B{1;eb=mcjWp2exlzOpdo%l5vs1?y_GMRjNP+D`TC+aOn_-=fj& zVDo$IU|rC^F+;43CDh(5A#O0|rugRGZ+lKuW27d!tc5Vi^=*d2ps|>HIldc;ZFHJ# zf6(grbNR%jw`?8TV;Sec7e_1aO)4b2u!7D(KS=?w^Ir zQp8mN?_ObY)=n#e^uFvY`Abjq{#if=c@UHF4CG0r<$vzRUPxDz>{O&H_A!FEP};tP zUH$s^rQ7siYOc`DY=5IUD`)mcDz>oee(32RfBvX6M)T;^a#I(?-DP|dcilz?5qQlD zEq`+(k@~2%G1iRwGC~~&6wuR3VRRMY>Yg0S){Db#)p&NW)?MBo6lV_Pa$u0}2Z-mp z=*UjL%MP&!JoQfq^@~Vaz$idFe__@~flsvW&c7hHV0LsQ2ghMu<{iW@&j~|%d$+#4 zCq}a+y^Px!Q_uN4KjET)E$m~$g{qZ2c4^+_5Ql6{{zGryvkmJEVl<^)~2~^1r`-LysZ*hK;esOT2+* zoz!q-2YsXLz#PKy^~-idm^GYyV>R3jO1uC$!@6(~RmJFKkeMDlKlXWZs_|1265=pK zy8he@%k#~u=qK)LWtC`s{No6kLhU>dFgv@t+1v|4J4k)r-kE5QHq1rqZEUjgpD;FA za%zwj+%_Fn+oA5{mqXCxm}Uvq9V%YS3};H5D)MDU$C#x2@hro1>&tm!Y}4fP6O6I8 zr@;GOrx>vJ4Z^8$#huGoV5`o=oKHByh0z-|Vn4I4mA1G&>`p%1aj(1)6pL{gTHu~% z#bnHadv544B#rv4Cg5lPeZwn`{b@}#RoZu{*k$KKbncR9*9`<-a=20%wYR?RgizfHGD9_5ScB7i_;cnnhZ=)s$Sjus!IX~ z!h$H1pMaQ?V!V8t;=@(v6L@qt?x=?1r?D&)RNoH2g9^OM1H z@`N^i5^41>7Jm{^8rpQ-%hDn|5Rt)agl1<0ac+n!pZ^e-!U-kMC@;7Dd?@?Gin4o7 z*!mRPdl$M^3Swn=x9ZN~v{0MO;jt@b-)`SRju08n)k06e{Z~-2b^L#&($km=S~y!V z^QexCG>!OuL8GHlHD*8>hJyhbC%hAJBz8ZZ%+?k6t#O?dAr1sQ-!L@4PIH>y+A1KI z)e4pQ{&s+Tp{>|l&J;Pypqxb;eoXDIj}&ehaTE$u^@QFsB=%q=!h=sVZRhf09|YzN zbW8RCvvGicRl@ibAZJEa7b0cjwk!0uuG6g*;%R3G{MmC0PaHpm*fqRZWUxNWjU_4_ z9rtS5%3av$=SprjsOXBJJhPTV&CKeM1;mrV2E4|QA6d73$dV;H0?@q6fP)JF9#3xobz9 zWoj(+MF8>##Bn0wcgj0f?S{i)PlNvmYpmSgDH&H-#(_6|u7ue-1R7M*{CY@=3y+X9 z2L*WDWENhAy&{|-3Fz~Km^fa&9CH*ByvpE_SQL?q@7FO8FtM%YrtiA9MFaS>3dZR+ z?xhc>;wHsuIL>KSGztcK zI|BG2dYO-B;^idOAOsJT+5;^PHtVu@;UwVU0;7Z9?tsItQ&an51uXnYQ+XG8E7xUq}3esXPlnqilRC(*^;O=iI7@=&Q zchOSyIjs$4T*cDo@7$-9e%edMzd|V3g7Q}ytuUQd=KrW>4aj zk!CX!X>rO9_A>>KIEo>=C}rkQp3zH(NkWAx8>6>!>Sy=9ned12Ws);kqh}@ww$b|~ zGTb}7K_3=SEgUemdoJSDrMQZR@qQl%11;Mo`hfH0zD;28;I&9>l)n!TkH29Ow(J9Z zEhE;8-aCz5x(I^30Lbn#8$htXu{u36`R4`}e5&JUQZoFy+&dUm>bcq3XF?XA{2{BD zW60)o+ouqc6r_WLE;1b>^0*!ZDh9qiwo4Z7W38w|gAjCLn+m3CS zyANK;U83kB+fPlX2m0){#{0Q_qu=@HPi*K&b=roD-+J+;p2xb5wSJId8R)2j`W=}E zGo-;LRiQRlC`tqhfvX;Dg!qCW9$gqU_}5ulz_&0psG-e|8_UKM*(nGW_(}2wx~tl@ zE{?6Z9=L(Abt_9T0yG&Z3j@J!K(8qgu-Nyy1@p=wWo^rWB+PgRh#ziqyvNV(44fh3 zU+z;-1`c4lXoVWkI;6F}W(TLcGb;AturkAmsT`YAV-rY-Ym*8k@QO{18g+MI2!vm-ZP`E}KlY-ET)>o>)nG^8) z+pG3I4#_TMd%&ZYdt1j#+!I?Led+>|WCa{3fsFXG0>os~1HyKwR(Xw!Bp1d;PdqRW z|LJ?{P7|wGH9IN}GRW&jL8)ZT6KV7qN`E$xBgbC_JwR;z7tj0zdw^N=>I+U?DK{*@ zR=Ey6E?iF|dZo2%@tT!p{d>B+P;J~~V^ZGPgau_w>%C1JIorJLgFUKvkF48}0LuQ^ zAmtd}_0j)E73htu2tikSw(m6=DawYQqE3m3`=MFk_I^@y4L>o;Y9#D9YmXgq+(8Yh z<)f-XdHuiquT|j4`V-$wABTtn!SlxUev;Ksztc&wUrI%bby&G^^OIHQV89d}0lu^A zT|S~4WS+aji>93ZX4A{u1S==$)YQFLS>ghU?%#<$KZqage@1wPv60XaH})P3v$qA9 zUh~JY-ut=x@lCgwd!w8rK>}}ssn44_CHPSr&t8wM!UrIf+;gl(!^_^nLu#tu&RUYg zUkVU|CeUaF(@b4%a8$o~_Z zkov7p>Cq4sSclV5FkdNn**zedhf9KJ6|DiSmY;+ERUU&L-nsy*+Kc^7ymPrCLi~;# zFkuVzZQ|kx{BSpCX+gIy`mc8~U&JXK;QH$U>Tw$a$L7rB@Pr=6(N|cD|+9ovsTbAxxzGqx|Tzo~c~z-@&pw%&!8rHVEAEXs0jB zuKTHqWPK+khvS-HBwe5M?8zyX`tX|MEGs8+q}0JR=|(laJTrFxPy7E{xPZD1kk77F zToG(*RjR3>&sCJg=x|+4rgcW-_p3g{|85Pm{{}Js1rhySnkJRipfD+V_4p1r)uiui z1UP+F9tYS^iXUHNyk&5MtUVvKtKmG)np#x_-`szP3lKe2s# z&=mGTh^`MVA7_NAyfDP)Ba5pXfk+-r9UZJs(e(qcll)q><^xDzodrUZQzLK_1SKW+fec_q9Z~G~DORKI#myTiS2d_e$~wVi}Jo-?FMd{ zWvlNng8aXm$3hZ~Wd3 zjr{(ja$W(d-9thH+L&p=l|*WnSL3aRPj**_rko(KbaiU&l8Of*5{{ow7%FG=IdL-Eqd4V~kOB60*nhM5f^!y%E&nl>hr5>yix!Gs+gkBUFB3__x(}?l*rwBY8Pm zA?e06zY;g7aYg}7ZMey!XDO4P^F9kk&jH?^&*xi{ipE_XIIab$)OwrzbyXcW5lSEHB|B{D403s0s-TUh&i>OUr`OM zs)yCXQLeJ8Y3LU315m_6F3*`!Vyt1T{;tXr?_QI;t1WszEHVh<$uWx?9@-5Sf!p;BvM(EF?D z6B0tC(I?8CEsepG){oDmyCy`x5$ZvdZCLyld!$vN12R-jX`s&X!S0J-@K&;#HjsKc zEaLNKXmM!gVVychvj{k^;EmZEZ0eq4s=0Tu(o%NRxwSvFJ1f?D3rCJhi%~uc7V0ig z@x?ak!VDqufO$^RzV99|f`pa`LGeoDel5^cR!1qwgN3SaDHMT)8etrR0#3HFCKtXK z4_D%X8*qw|U^r9rF=&R^uFM1dsk~a7FiXuSL=C)ys$i6NK+71spWY<|dCOLT5HqJJ z405acUu~~LTUVVEqC>KnTVq!Ska=SQm!QSk>Ru=SHgK3?Yx9%NcbDZ_HlV)8(Iy&j z_{teX7(jdXkWfFg?zsGnSS&VaQ{{df2$M`pPd}g}3|4ngp#_q^EFLgXl#luk^fwS_ zGcV)zb0!zKpsMu5&}9-1*@TYrfW(~0{R-e4;&^SXL0agDvDGPZ8@eZ3JKyCH)7&$* zM6`cDxEoCk!2=2$+JS4D^FQ4QEdSBZUO$W-ZW$qDyJ^L?3NSKSE@xG znYzgP&2WVOE(;3Vlaw7{PCL<4e>hA$31-%a;_ zBI!}pQ%FfUW{wwR?qK$CEI6wL(K$4g&aXyJ}SM&rX7%urrws1HhuLFHa z{?`aW6~?0_gN=CDEY~4s?Ph;c$&%v;i&#h4+H$9DWLW&zHg=o?93Zy>X*1EVCwG&8URP&;m_zs*lu7stn!#&z zZR*ZKcZr|sj;}Wlsz-RlH*YmBHG4G>o4jLhPnN%L<2&382Sjz>w@cb7~xBXR$0Rz1W%G3<^ctfwejuJ`ApW;3WcH6wn9RTxWu%Po;+die zSSYkG_uWi1Q$*YO-}abQYxA*v%%PI<^~1E_mNz9w_OXmHtQSX1{E~{4{#CL%Rh<5g zY6WC%|Hx%x;!gW)N}NK%NqGhZ{soilk;VMzF2v-u&4rMGSSgfKKt&n%MS%)G5NOI2 zIxtCn`U&(Ebg>PHsAPqXdv)6QBTr*9EWp`(9CLwVFr~Wd^+}AtR~&w1#Wfzh{WBJe zp~1wzT3bRlQm;eG3c{qLZqRkGOcxkmE~1P_Pu_`>^G(cU5JU6HMeobFz^^=hu+QH9 zDe0{Fy0eGX^wR)DOVN{|OY2v;XM%W79Oh(&(w;B;Xm={Hkial?f{;gT4aFX*AsMiBuIS&_bqbFLq0N^hR=G2KZgtSo;z*>mY8I>6rV~C5j+$-0{ z-vHE=JD^^{p^K5Sspl`&&YLc>8dnv0K{5c$8W5%N>+hM*#`q*2!h(N&ZLVvv8}u9y zA@w-5{Z@r&b#axxa=Y2AUa$sb)DsH5gVf7KlJ*1wlOh~HmRsqhGJsb1QXXTWL(Dvt zc%2iK6e#7(dMrIU$$3M>bVFn-ZE@Y+L~jG|)8E-OC<~@7y6CkMbuKeB>N;DT~<4uxAw2b+WSQI=HLxxvK_@&3R%YBiYr!Uj}xm!teA8shUq_MdQNq@^Ast&-NnPmBy~q}-Eu9=seApZ$$8ZLT--QGCBRR1d zTHyO<#bs=p&4i{Q-@Yn*2;A|&SSj%F>%VXS3-CQh*x-51y!3t>?Ws@~>#fC(I#9i! zYv4`CRH5lnac2&{%;ILhaBm1x0(a#v>;)#McaTq6sU_gIL8H+j$X z&Zk!-w3WD%vk+rtPmSiuRL8Uef=gN)pi7)SeK(sUBxgfO*i@-g*jQY zOk^dqbRt{#;f@z_g7r1NWa-nh9~^fS{rl5y$8b^Vh$ps9PMxB5x2M5W(%bc~7p2>@ z^|$n^XLqc+EjA=nGF6&hM>Yj zfYZpK732X{ufyeJ0?N6J;qw1o|1fm(u{GhHJNWShI28$Oo(g$g8bQ?>a>g5K{SN!7 zPg${T*jk|>H4v?bNxJB=)PHhr`y~hE3>sd8tT^n@>2&IlM<1}A@`6L}^^vYU;-c*q znpdC?nso@3kBB|!=zaHyz8EHIVOj7d-9v06?T+$v>SC@%D{&2+ng-zXaKhvH>~dgO zr$lS>qZpuGXQ;&x-x3%=Gdh;GIzQ|*=C38r%)dQzr#WD3yJMkoV`Wfx!*N8Vdreb@eRNxTKB&u+Im{?<2cl4!a?tR(icUu1^ z<@%ps#sf61Ud@)2PNroU`{?0|`kN9my>HMpr+&};~tRD;x{w;C;tn!Ww zmCsMD&XaOf(@im0D=UWNa&b39%i$;{0qVlp19&4y$gj_I^=IpaG4aVZ(Ye_$?#$z`Q+hI7E!Xx07_* zAFT+obuYj-HWyfvO~;;8jjvP!VCPrEj58>mOyua7X?}fkz;nRKl}(w)Qcuhh&@+u^ z`K!9A72KrDTUyg;aiK~l`*`%u{rKMh*P3HFDD3?W8ti*-bgz;9bX?9J!On@~$R&6{ zjf84;^OBvv`ymc6ks$CH>#j-W(ULtetN;wNG;>ol-ph~#7siAjb8ml(PCijJ;!)vm zun7aeWydAkSf5pw)e;D~*o$T(H@1dK#(Vwt(?>3pFdMbt{C+S?=!;%G|6>x$4N)k3 z+Tqe~d+WR`s`b|9g0ltqd#^BL0p`N7gf$xXaxAmrX#Q*cVq$l7kcYDsQwLqiwd0 zZP#tja6Vol-l`{1d`K!vpm(+CL-KVrsXvu&tOi>>!mr0~sm2zl3KQS8q8R1;Jc=;< z#-()9*bbJ4ri2ifO1Jnj3bfANYhDP}n^@q8ZI_4+Q2w}89&q#6$E_nIeBb8Qg~-Y_ zuanJ<)Ii}o&5mL=%)p!gKZ;7wUOSyI&qMCWFSlG(!C0HVKORLI|> z&+n(?(`8liw5sqa?m2U0sPG7`MONmt$>VcDEup2luzaqU<$Lc|@jHZ$2$N9rYwOU< z5710sg694l(R;c`Xo47F#+daPb|DUbEMf9IUM1#S-YFU&O9%$JhD=+m{1Ehdb0huw z=+B6)2Hj0b(<^-8O;q02ehX&pqnQ59n~`+G&t}h}bvb%S)k!e7c$r8(Gb?Ug zLy74my67rd!YGR0PVUkEjgSG4yH$F)QFTJP4Ot=uS@w%cTnJPi6F4+q@T07Q3b8EhJF0A~3ZRa1sSuQAD zLl@_%e)cH-%yeV9XdZXwMezWCpUGQ{CZENX#mWmpY19rmlzs1EBSETpicy1%x72UN zD#@oa_;9K)-opWHn+RxpbK3aL2eBDojH_mfk^1UE-U_*2r@%fqFqGgVoi-sU+tWQE z`vI~PF(L+rV$?pV(VgimX?$NDcKvV`q=vZ4)>K6u`h=)>Dwnoe^d?}{rFnQL_XhlT z@5hpP@^^DNx}zGb(5QTfgv}!DZo~n&UoV-hP?&W6Gfdja5>qxN94&JRx@Kp1GF?*Do+@AUh{sJ#NT#H*Nece+Kx3 zI#(8}UKxM>Y{KMQd%XG)w9>K(oJX3A3`&afj&iM?Qs`wpE()BJ52S_Owapxu9Q4o`^DR+2bm2F!b4#t*!2_+c-H&R4R?rs9$4y*)(Yo(@aTR>N%||9j3EY)`B?Rpb^{Q#H@8Cq{x9QsiFjX< z=!m@h=%0vxv$}=cy4jM3xv?(&YnKZA&mPef4v@6))Gur)%|iOhuOC21JXPEiLjPHU zaGC@KR zA$6Kl?e8bYNybcvHk{}CVEv_aq~t!YN}sW_C*B_(#s}~p4?JVl9us{EtYxr zN^93Q{>#z z8I%0f?vL^E0BSwRa^@0E3`vdmlByXnyCzkW!7jsFuR3KUKrv5YuW=wxjGd{{+aIvU zb}VS0f-!jVhIZwpKqB{v8uFCg_ess@WXEfwz2CKuU_w@zzT8oT zJ>t~o-*`Y8+7rHDH{bTm*T3|)RV%9_wq(9Jv$noek=Ke6IDQ3Cb#bsqW#;^pdb#Sp zLH$_T>A|z5ufPreYzG5G<%fqK&u(3fST1xs!9)7Xm%I-Qw6tf?5MqBjavcR9x;4EW z)KXjMWfDrZKm1jX;4(ROD<~{d;vta^?L}}RWe>_HTk;5ZspZKsSdCq>fWDLmB**I~ z(GlVi!yPgxr)+TC-9W-yiz$RYV=ZdAU%&tJ)4{F7_yE2~(Gu(sE%{#)=K-Jd7@cxLPpxjOe9d7sOZQiPaXXYYzr;dN+WHOxC1_zbgRH$B;u z<@w7JaWjVprQO*23biSqc zeXihClQNmFWNxI!3bMYNGJN+q3ifq`O>x@^-ediLJbigM)bAJeXU15@zVD2sQ1*Qb zgF;!NBx|;k$d)bZj9q0-*|H`g+4pRNGzuwu){#OaV;^SByr1vyz25iF`NLeEXU;kI zdCs}deI5i(f53WX++DTnB~9yUZW$x}m26|Asm2WaifIdF9t^?Ez)@j%5loLo&mrL) zlU>P0eV)N<842y;w*8jUZ!)-kVK;}tVLknWv$}Dhx7b_stJ8OBsX$0>D<6UiK~j!QV4}p!SV~24$~&xSN4k$5*`w&b1Jp-udAI z;MNG6(VPei3r1bqHbw(J6D53O2BeUOFT-x*%_JC~8YTP2UJkxt4_f&`b&P7Uz4F1n z**}QJo>Ww48+FtBy<#o5^br`L&cM8E*kG;U>(05oX-<(Xur!@I-2blp>d;(4;yr+% zN{DLc)zCelJ!Jz|+Zw;$^8#u)Ou-{hlW@0D{>Ax714@_@#JT?(T0;o^PhY^;0=FucYr>!PXz!lsV=HLj)JCr6g+J!Plirjm(!8Hc1vPhiYd zAp}cbk+{Ka^V;hmyiI0)+EQgq(d_sxNe2Kc_-i>*Le;!{Gv_OZ%Hb*x6q3Y)X6HG`SdhkMvn4FWp0- zNI{t0(E1zExGwgf8|5G|2;Na6NB_ZcXnmI=eTAnDY=d~0Z}cx&HRA=nJp=wpO-Bey z+pbPnz2|+$31$**zd>=LS|t(+?sxma;?T2O!+S1M79cBJa<{4YY($(1$^J~{uSox6^8xAx01{M zdWieR{r_0<3r?B{fzRELZ1pc`UdG3rV-Wfq_WkqAM2k5v;y8g*M7(=pB+9i+>e?H3 zUAO6M8g`_zrMQB0|8IuyuJ7pz*!Rdvcv;3saqgeLWiJn=2lbb1RVVu2^owTr`Pq)1EjHlB&s7`>)F>(vFKf-0joyV}TLm z^|!8Vv`ld^)oO}JUa4fg=S~vLG?Vo7%&#wPh?pCIGhZ4Td#|(9;oy94(z##z_)c&W zwhLEx*M@K?=olt0>&#I>DwS+cyQ0wj%#J|R7d~rd-sytX4@R9 zy1*Vtwi8Qmj-w3E3`XN@zvu93fAq+QV}d=4i_8qh-a>nxc2fV$?o+3J+YrVjvSkmH z=X|q7sXL8Z*VP!GXn{+jN+K3dyze(NF05@5Ke0%Jl#nq$fDG}Aug;dQF<&e=8?ahY z&MEF4acUO?_;N>E9KD3zYP(&s&w^NrMg(hRTx zY9q1Y>StEqR4b_4M6h|v9b^AG;lDygl%w?fS&+(OB;EHVQzl4m^O8Aq-o_qrvG1J| zh!W%d?>euRgqT9WrehR)myq!8=`2D}{*==_c>-eVw8lW?3T^LWjNHfe2JQ%euTOay zMo{{p78-=J2Rx;kIrBGL4tdppz7ueV$+Wz$koD(1y{~8ce~Y!A=zoR7CyAwxZ9dB|HYthD0ToJ z_?uF#&(jaOT7atUYfJCu60SGyhpsgZZlDzCEC_lWVc)|l12ZWSeXU_zP~03SN9=LW zb?OsH#`5k9ensst<4+dw+n*>VtFWJ5!f&}2`!8%be1xJ5KykBPWAuF1b)8kYj#Za- z`ucO=kcbn5h#s5Bb*gg$0IubQ%9Qt(RS&DeXHYx#1tW%ft9HNkig5BJyI-IBaz7 z?!ly7mYA2P!tddcVWi-ufNhl-=C6lAq%4J_j$sEeFSN~|8OJQCRb&r*;~SL1I5VvY z_r9l2{z`{4Q!WDrkz(@2PzdxqV_dhM=uh@%*dtBTqqZg}6+KKG2D*{XQlgPuiB*ps`{6 zz{X>sPJU0IEmC=;>1nt@)oB|fdVwW+6wF10Si zL*<94X4Pb18aDJhE%6P8h~KwAFD^hv-}|JG|1Plm?uNmspyh!- z>@JNjl&9``lM~P{F9KSmeK=C5^<|mI@7LiRPtIYLbNq1UVmkNl*;##l)4YbP1njqoVSX--#|8&;iUpkNWCf~qYE3$EHUdQtJ4IO zF=mWJWs0XHmay2Saz6dGJg#?rfD)1aZU335HSC$_!Eq25k5>|szXkrHtaiK3myIHI75UME;~fV-Ln%2uT1643 zl&4_C5hx}>v-mP)+A%HilMw1oA{Q> zi`$aHb)33nQb`~lTWp}s22iyn&yf6k1(9#gEGm(|4Jqbl#AsI;?lZlE<8s2CH{suj z=X{)B(w=BP*uKbcdOSWC#!udlqSuiRl3^%aPxMMKqVz<{TW1+;^v2a0s#=PV!KbEF z41(>+i4^53Vz~iXj*Mt!IbxWT&?+7hEi@%8$tr8k*N2SKp&e*hwS-tTd9R|sm^cF( z;IVDM#@TzQWpTvO`ZzV_hlK$E-KXSgpR{!ZEjkT9*!nIRORIpOdSeR{bG1_}C#Ulqkc!-@GPG(pA!D8U=V!@cv&hutmlVX@bbr?M!neKr zBQbS;%+_Bo09oY)RT2(9pH8=cbLrmkfQnRS@Qx`L54!x|_xD#Df6LOpucqroXFhZM z_22hX4>%hF3eO97o@4B&(f>sWRR(|@Lx&!rctbE^2{a^+I~Ur3c2nTEJ%XubsWIK6 zSU2kb|Meh+@1vcE9PQs)s*Dg-j0_a>A7T*mfb&tww|;Q|Bj&h4)n7cs!k;i?F*PRp zW9z}7u7D>cCNAjL(Et0ED{@lPzDrlO{TzO;Q5MgD8}cw~OQ6TSQB{|tBm;P14c&vI z?*LLze7C9Zuo$ou3`{x!5euC$74H{5|8;4dc)>L(xNCMaPHuH$z!pdFaoqL}jo zvIfiT&ZJZr{|g*P=^+BCV8zEnwSuu@46NaIbjO!Wv$tJ}Z}T>t84@qtcV7FcCwXvb zKdLS&VcvD6HD4r15QtjfCAp6Xhbo`sn#HbWp^B(_c2?4emznU%UM8`33-yJb`UiVy zp*UZMbG-``zA4^r6N@}!oL;ny`f8%UL;8zPjtQ^Bf`k^{Z>Hh*cH~OLuhe$Qxl4&r|xD5}SKT_tRdS0%E@Y2rus7|@^@9;$Bbk5rwHK?$my|FAYxsx2uo=Z>U&i3vO_u9*G z^oU)$+fG{Mr0AaSzvl&2l1y?sIN&h(TSgE2FC zehSM44=NdIX`3qlwRu?StR()h-Z3(b8W8mIZ&JwNKUhmQGaPXAdMur5oEkqLe=-iRh41UItQ098; z=RR|OX?10pf?3m?Qh^>quDGtkLRWlRVbj96eo}ZM7dz>hrj5@0J<6pfqgfs2e+l^YM3(FNA5#D#5H_nt_^iC7M zeiyz>bl5(wbW-q?tnDt@wzbJW;%t+jIuaaL^U)6Wc{wkaJQv_>D($NXl5#D!L z_FdM|Fqg*hI%B2sjX>XgcQ4DR{miX#rgt`)W=zDj_m!P-JE zynRXgzyB0mRn{zCoAsW_b%3l+_Pz}H=WIhU?xuXhqaYBRnd*=H2ni&(UM5i_65{z$ z{wV1OHCk3GpT@roP~s9{$2$*i2Se&zd%p+}me;LnP{pP#WFIwUQ^hQ~-IL=yP(p0s+4%bo-3AqY6)Gann zeK(Gc)+FkaHy8hIY`5Q2oT6=$D?M#H|KKt4#<0*xVYX4IT+_n62a(5*hINLkK6kq$ z{MIEl{E3pT`g4};fs47th>Fb6QySGrxT>}QQL?hcnudd8-ui5NIMvJzZv_)up6?zC zwtjldcGrFSEYn@Lsut^+6bBF<_yDRF#I8cidfh0NO<)wuOllY~iRsNAGuG*U_$JNe zKwLA3pGs{o<(6~$y-z-`zmgQ)7S@vGTq5Z?;$;(SNgb|Yy1u2pi8a|z(7kE6I>~Z{ zALE63*U>wCtyN<}EW5|!_~L5RG7+%{rU?x3OG#bE52?sSVH971q1Gp@w>-6>Kc?As z$r!RC@k0N6@oaC|iTF{=(s6|oou}k@h}&GCcH{PNtKv7`_~t7!!nXuke0UIx>kGBt zd)(W*%g(CZ``prV=mHsQN^QuygILFB(UFYMP?^@`G^>aOBi!QAf zkU9R%%|A0fsZ+r-ldiY3f(zAxUu}g})|M@qZeRZuGfej@p;&Z?Yv49#f%@8wUWtSC zA2{q&)Guo>(oB}!e4?Z20eOFf66XjZlzyIegdk~dKLaqA?vkCq0`*XThF;r48b-1J zCp_Z;AP#wGtjS*g^=qk1oB^z-b@JgadrC*H-Q^atyC@3AK-i}af}>Ih{I;I$2fdt> z?hHBN&J{(9dxv0TR6wkBkEl#TWFXuLUQ280-qZ4;mfhF(+U+=joQWy*!O4!iKTI~f zn@d02gUf%nzO>#sx|Mhus`1a!$J2kE-^)MLY#;(-Z&((QN1VQ~N}L(I1We!Lz>7@W z*HKk{SW*$ibtbH)vcsY_mrg|}D;vZZ%f!jZ_PJm)%oA-~HYB{55`EJ6m|J=0QtF$z zjC@;Co<2|y7Z67Xxwl$Hxc&{<6iJ!*Tf)2=YH57sE!^e)^C#I~6P+f*o@4Kt=6voH zBApm^R&E(~az#{baguY2C(i~kRZ2dv&9dGpM?YQdx3uvzk?7<>9D%WH9 z(7j^^zs8!xdflU!DX++sk6Rft=fCl`XoR8*jDm>dxJIkEa zn?>#FzKF_is%xM)MJNz_66Vu=uhTRuFa8UPNSXT+;#D_a*L=U(@4?pi(PD!L)<{55 zvR^^h_n_e;xVjAYSYQNOq{+N!9QyDlua7P(Rt}}|5gV*rx=iCWos%9>1##rDM3@x< z6~2}B{VE^EV(i^FnP(7_qQ-HZ?M9H>b(WoPvZoB4I4swF?XCv5|GVOE{(iLOJ0_Uj zF>19jS0Fnt|0%z~jH5%6ReIUnU#}MD0jrtvPg@_-1;2HO*ttG3{7v`hJP&h3kO{=V zITkTf-**L-;V>l6LFPR@UL$i1Q0}Om{&=vbEDAih54C;*;1FD_=*8vHD5|Ab2gVR~ zc8q}OIUrE7zS0j*GnkAX!l3F(>=S=0Qkn|nPKvo0b+vkW3goDlZ8LF=ez7mJ!ChFt z``a)VhncE3=tomsRGr|yPdn%rx;~A+>bS?`G&V_q9Zny2GjBSsQOYJr%~r zOD%)%%@3o|B=q(qlrflb-a!gYZtt+oafxzpW~-b(q|85BXO<(3{<$Ccn629KpeP;bs~|K`9IsxyLfr{7Pzh;R86g^H%3KVxD&rNHq83&*Uz#)mrlQRD?5 z#Ir?@My9O!Y(4Ce+WaE>Hp34+{=eF^N8UVf^E)()+`PS`z)X=A-4;LNLt{n#>^r{*JlsFf79aP5WwPs%FJxL*gnkwpf!p^oD7imPNqA-mZYq zaEi{Sygp{oL;k+v$EcQGz@55m##akfqye=TQuPsuTTBYU*hx_u)z4E>H|zf0YmY8X z?I`upJz8Atvq&-S!YHiMQ#s0J7sOr8~ZE@lfaHwh*Y6Tjjxsy#Wf3Wtu zmCE(n*0Qh0s>NHq#qc5cuPb7Dx%QN9nLOo`KPivMwi(904G5(#2dA2CBlUXW}cG= z=v_6f&P#s$WbL#is0uGzFZZ)iKv2C_-BE7g+{2P#za`{t^wQPZzh??gVGMy=13|Yw z8hzMo&8_xZHfh-bUR53yDhB^^`?qvCcxUNhW#}09yHI&lS17|&FU!O7(__DK8WyS3 zhsr9js5SxqLn`gc0F(#DVi;36d6~EQSw3?J@V|rKc$RO_ft?FJPkVnm8_ITsf^H&RCCKTuP)~PbE$P(x{#hV z=}xY)4wusqYO>VeXxd;rv=5q#85{ei${e}FZ!AylhJ7Ei&|H{#COadiTaKB5WZxAz zh)5*tfU-_^;v&o+-ytpGqr&_iN0W4;>Y3`D*yle#R8RO((Uq$2_NurQ5w`4k*ZB&* z=OekLAUSz1_BDgTwo!|Cb2T3+^ZRzqL{O^FTbgFOIG=$ECx(jd&Q`xPDnXV_0-)i+ z8z=|~d?=)XwG|Nb``50Va&IBvLHe!Gg`b4MfRxp|tAeW-A>wFK)f^`H^#xwW_7Hy| zec1;}tg~}&UQC@f8|+)FcN zyd5{sS5;TL_L`ipHF7vx_q}qya=9YS)I3!6j#tlJ^jGRE4msrvL_pE|l@y4aH(_6i z%p13)Yk<&+hDU#u{dL=I7Qwl3My0219{s37%%K|8O<*UB0gZqq17IU*583Em@4&yp zFUzPQ^I>?S2{C^vv!^HAYX8KohwByB5>tbotQifL<0_2Bo8W4@ z=sWM$exrTy(Ug#j_ei0`AFq{vKGyT~g_{cl3*J=`%gk7dcM*E~7>jq`zq3H&*r2`iPaEGtMUOZs>Yx1@+#Wg?MR^096hn+x+xPo_xW{ z_9^LXl{&Z{<+-q=yKQ0JAk(s*W+U{YOjQx}Un`DLCaT;D$meE_stP_M$ z!n?K~gI%hUBK492udtp*N$jG2uAg^C_}6Jedi9bhJ^SCEQEZxZsOIPY(I)*BSh_vy z$KRw^7WMb2!;67!KcW4McTFO*H7Ue%t}JH$0y5%Cr|N7-ikeR@TiY>ntd{WH{;n&| zy+S7qp_z@jtJ})>@9`_oz5pq##}+)YV6S109yd!Jd5J0_a#f=Z8}aOWl9`a_S5=Hc z|2QKft)ro(apI5s*wb+s!pe`P`gEYBk_{Q<_U2A$h$>K#9pJP&mw0MJ>2tE)(RVoB zETvf*JItsW2yXb=jhP;qJ2qijG`hV^{V+Av+t=|~xteLs^r67v!esF6)$+Ahr#p?v zb*epsM#J^1HGVn;L$4aQ*baD?+QK-Kbd|2f7Vk^5k>yrj<5}pCQtA*TRc_#JjXY2q z44jX+%LTl@@$klU#LUe;^_5<`I1WJn93~m~%Iq)Zf-$0YsN_by59Wv)^MgA4VfSw; zJGS{SS)VG`J@|;P{no5S&SGn!9FH%p_6EJb@yN^2e<>Z(YwtQk2N&EsPL~$5i6J+A zD!!gYRDPxEzw?d=W^?jWTTNr*p@^xSwq>wDpt^xV^D`gt24(Ow>zbruG7KjlSGv!- zdWkXW8JHUhmR7j@vhvc}lu{K4PRUQzH5yG&9GP96gr+n#!&dv?UaB#9QU!0OvjnrQ zTM4X`PE3Y8b=&0g(%xolx!GJCojo^JACwChHvblo?SAB*Xc5R6IL4Sh?Zl!>G$WT3&a_hqp$_$ z5Ap%$=AL>RelRah&1?PS;~P_M`f+tKZ~pDFZ@Kwah@8)|TY3^RQb_U<Gd~&qln*rAOhkixQmBlHnZB=;q*74u+>VK&nr@Hm&wLQx> zh!E34+M}C=y0l`OM=g_Eq2IHlC8Y3}dj5ds#2C0d{EsWY<`gV8&UKmn% zRr$hF42$`K3s`LYWAjrXlA3sT`xL6Tm4k$vjzBJa6DR_ui3tPs+V-^`gp0wcrEZWO1aqK`1Ohw&QCn4*XiCXfrV&H^poSvf$h$Z zx=x~(wvKwe8Qw*e)bPGO8rY^UiTZQ&DTw+RFel!2Q^bdRJLgXq?kYFcvj@wbTg-w~ zyNWR&(NI28a98n7dQ}KAt>aH5smi@!d(!xX_nv>3QVj&r8>`t9P_VztY;VE(&|IN1 z{CmMxQjPe?28W|_ZYEZ?QoA4TKAHQ(YtpjzcBP%!Kp$qhnFced;jpvGf}6ws&jvRb z+I92oJBq#ZHgNp*#Ar;*%PpBrAJ~j*)#n>!R&`}_+g_TRAF6h4Y&o5&x0@k#FWdEX zlm@~&#Q59;lRBPI73pQKh&Nt{;UU@eBjWdNAS)!OfjkEj;F=iZ1gytGc^NRHofg!~ z@vPzdjjrRDOG2O9_seFRVrs6+b^C;lYZM%s<=S z?9y=QPVPrDn)DmhNisEW(O5>G3Z;p!d~>mX9MPB*tgLb$hhssm-N?h0tD6c~MV?Fd zHZxm?gPVcv3rsF0jtf&1IN$) zp69}1!fUwiq_lgO1I!owx94))rWLmma{g!)GhNliju8b>%hA6?U`BLqa0M|JBPJ+2 zM*sbJ%+UzfzjgBd-U=m+R1*(qTs4WO@WUv|2bvsYIl_!6o-fQ#0I$o}6`IiN#OT#I zIRBzgZF+uTn-)bmU?0()B)(iZONsJ1(wu`>`iS>83p9&+s&t-X4=Lnw4B@2C)-}O#lfp%GUVpE)98#Q z+7YR{(S>hr{z@e3l)6yuXNf4s*Wyx`jLH!Uh#+g+~LyZ86MTET;kvYEi->D z^w^;`8fQ5Ymp#WKTrn5L5-3h%TxroOZr!G*@g=p8k1oxQMrbuIhA%RO-yf&W`zV%$ zA6w56DWdqFv1#J3TdihhOO(l&8yBbX4X0=uj(#dsRYCYQlu{~7f4{*p)=0z!I&uo$ z{A#sTm5w!QYR)@?wd9duJUkvW1NzIpYgv=NAfVn%JaYLOHoUMec$A&CUsRE{uR7)r z36g0JqIp)7x`N*Mx$)swM{fC8;E?2>9#TRsSGI8f7asBO*ju>s!<#u8jJc}9-p*@C ztM{glYU;^c*fypaACr|8zlnABNNn^%@|bggs1!m|Fcr9jfTM+|T^3%T87Tq_q|@Nx zF-=0CvU)Ka$zp@3yM}t)KI396PH53&ONL=!ddK+lgk3T|I&X}s3q{qM#L}9&7(#=3 z^}$DY^(bLZ&jVF;mVCx9O3Xjjn~Tw(qn?PHzq%0eE$wG3SKp&=OqH$4M-TkBTb|YP zRvs~N>kj)Y_hAi;_0u?XeSh&P;RC4W#saYX8SWYB*jATBm-HWMYlM3T0jaA6Ptqd5 zCJ-e%i}$v;z1iaz`GKPur{5Q*vOL^7S{2N(3XXpHXe+dLX0>Umd7;*W&0A%zlIBdx z{yN?YzaC#c>qBn|&mdjA#AZHyz)W6qP`A>vGW9-ob&Pr$F0IOYXzSHfHQ`ui)mFy; z_0Vx9wCY5Q_ME^u>2ul{;#L*y1&Sh}xk^-xaQ&TxZV6|6oTcum$W8Bd0CxcEYOf%< z9n&tyU-xvsJY>YNkk~bK!?b<$5xhOh`D3|9QtVmKpTgM{#*nTRz$xSy;>*fBVafby zVM`%(Gvjyk@GV@-05>zSn#p)$Q#X4KNS*P2u?cSIV47#Ar39?O5HJk|K@F1;{Q<^x zDo?@%23k~E=Gzm%oq(n?H!4zV{Ucob)4hm?I@!uy@4dtSf=GtZ&g8?{4K%adBUQj@QGYhkzx!_>3OvNj;#@3Hnx07xb2S* zlwW|6$FUpy17$&@&yD}g4c?bEUBC|Be=Y-VhuK-Bd^V0|3Q_#2DS7U?7Ms5~L2o^n=S80A_!gBi14=IOxChzZSV0U{C{17R zSz4Z?Y=1 ze4e^6DLq+}=-6vHY-TRt^*{mUzfI*x3)ysCj6r&x-;@|QY*IthwVyr>fA&FO%H?(r zQ>{&zud%A*RPbb2)k!5qg7zGT1|ow)0$gRZaY?_&WZL8?*Gvg4m21Yx$M21@eHmm0 zGr#Il+q*t348WRjBm@)oR0fz2p;^A1{LScUiQ2CkQcKyiPk;2gU}E&rRpzA_+_*N& zIYn)v$POWQ*t|^Ra?Y}Mhe7*J{mK_27mMHu%{mT4d;3_Ee`4lF=dvPIY_A1n)%rf5 z{!jrQ4?hbRJUyf-R+&_%rBXiNOw!Zv@zj9QW>C>iR5nGT70YDJ(eN{4_fI;XXfGtMcsVcP1MD;iH%zf_L&Bgq{@yQ`a98GC4 zG0QOwIgl$O_yT=s@5JkMra~TUkR1uiV?>*zQ=c%|Kss-z-pA>}`7@_OO1s^K%AwtP zMa=h4$LV~ws$%yv{ql-}|9fM9Db{lWJ;O0Sad>d6>{CL~@64Tmk_&3*d#6S3$BkY^ zo&$0zYfE}by>^UJrDLKIqwLI4%#Q<~F81FH8tu;-fq(FbaVPKQQooEL>a9_JQi@-D zkN%0eUz3caJ4i-n0%njdR#u=*=rQr!NzY0kP1_lIK6@vbp5G=HhnQypVgA+syvje?5}tJ!PnvXKKp}LunTNG5yO`z|y91;L-%*vNo9a zWw!eqUD83*TWb%>UF8zPH0Q10R(}YuM!sKt9NK)BPr+XYG(Sjl?%mAOnDBAN;43(- zi5FJ@)wiE>d2hZlE7Te|e99M=xW$VLS1VXKrLo-F6nJ`_f;gy~pZ(JE z^18TL{jTjsT)9M&7n%!m44bGrh5lg{PWuEO3UxV$HWZIFgncaC z)A^81MSFRLgL>kashG+t8BV7}?0{>@0=y99m~%fudii#d`rF|=obd)I@5W$pL!SA# zXy5;Pf%v5NSJzF=E!M+=s0=;f`jG{M__DNW6H6XNmgg)+@WAZ?##==UeG^EfD`>mP z%L`X11LPeb$Q|b-ipP=!Fz>O?!dSdo$MpTE$&q#>WO}|ZfOrl{{9JNWUN8KZD4ZKo zI`?#-S^PR+rft|62+i=!NujIu9k7~T3rRcj&2UFIU=y^B2)2E@ZfOFBk!HcU$AS!i zKUNqKr@=iM@Q2k78!%6UZ;-*ZCie`XYpCp@MGA#5!*fu^|0)=(UTLm>-5rwv7}69_ z-jkWBYno&gbJ@(lqNQmBwWP9xz6T24e85ay69>$EYRf9$R#sPhebjwr@zA?r(zEJE zX_Kpl#{6Uz-qLU!qpj&~y=bXSqK zKmn}sXO1{v1hs|)Q@6}Ny5%Vjad{)9Ee7#t&yd;#zsH0QST&F^2U1{<`^rx)>CMms z{fNN1g?)8t+$vsu9UGYY6ROp{R$KzEEwoDikyM2pp_+96q#N;Lv8uC*IO#MQ^~GY7 z{EgX2x1yn&u4{Ra;*X=u4U-ox8TbOg_KmBT^{xK}z7EJpz|kERphnWnT==0AP?GQn zXQCYon62bwiGzeWC;U1Ciq+4(WpR-_#6;Qo{m)dLJ!5ufoZGAuKS!S>2h?tt3cbU( zb)$?q$)XU;?cyge0DF}i;*TwWqnrW%t}k>zG7OnOvCfbNtO(waTuXfjMhYzn946V6 z0qyz4tiVgQ#2fTTshKZSN?bqkIf1)%bbwOF7iwfJgw>gbSAOr*JTT7hwe2Id3d4TH z8#>JSmm+{Bd&WgTiR7#c!RUkkYZ(-Zp>+Wzd9NY!|06L%ATB9@6kO^Y@WcwZMG}Ls zrT{P_NHd`Ekc}A*(7^%!E6%hKG*FUMX-L&Qga*)WU{Vku22h>=ti~wX5~MnZGp9*(xV;|UD$Fg42*iV)>KU&ng!eZZ z=JJIK3Or>+w;!`CsD;iu?{LU^KRKftAs-%fFr%&m>??KD$U`y%1KNA62iQ3B>n{#i zDHaDVlJ@C=wCfZ5SVixvJb*TJ1}pk9AqPxjc6!C2X#AK6@Ig1{8jyi_a_K@k5U*6z zC2}(h`X6hFUj$gT)s`VhT#H|X%!(?881JT0eZt*M5>~pbJs+>fA1h9eQsGVVM&8y% zf8uf%5acg8&rDgRnYWakcDc^K$=sak(BE71fN+HL1RM$K$^FZ7O%U2F&2|ysA9^6> zem|w4PcU~)B$)Q^N6E?#&16{#f;qu`iRIEDt?qyhM4Q^>*=0_W1j)+mA>Mdphdzxd znp5m{hGRe@_~Ewow>L@RSFVTabI%(-%6)y(NDWq)$kN<5BZaDad^R9&u!sa*o?w@! zoze#t8z}XDW?HI$vaw9r-ujbSBwbpDq%;Zo*9cx+$%lL2Mc39EMFHF2Ju6%v(hR}M zL|RdAyq;XD_D=kt-O%EOVsiLr_7C1f{A9P-K%V53Q6nVubII0X)@`Q=DU+N&BS77 z;>2Qv@pl~}cD$SR(}bSy(nBMakt@*(^!2(TK$lMt0TsQ^68Pi5uuX@{cOFZO4It7I zhySX_EfzQWiI3>6hXB^EHd>~|wvFbjSW4z>LveG6IkCC&zUG_r9^a$I3x+=VI1K~I z>1@(e^7!2W8Q|z~f51I|Y`zZpZ$qUqp)_zjsIgqF=Es_sK!+6;=23nZGB(Z{dE`;In4p1)9qhR0<8ctcWZq4~K zcbQNuE`#6F+|f8bWy#ZCJ)3$x*u3*w@7(LgbH!S^uF(ULj?B8?+N>260(U~tBcK4v zJjz^Hp424}<$Zi9+V6V)v8NpLhKIT+|L zQ$~Pe%}YFOtpu^xRSY`wVlvH1V;nKPTm?Z+ZE9AwYUZ$QWH>_MC7=;XPx^byy zSTgXK-LeZPVZ%aMuOgqokmp3qfxDa{q9CB$fB_(hh#mbiQykzH2LkCC05AX+=J@Nw zYBkpAkmn%T{{yGo5&&@en>PZ*nW7K0oLC<~Fvo$^z=~f4Weuv{{!{2UWwb!AHneU4 z(biMgTd`^! zcGI>Njf}@f6||-}rih6Zj<%yq{>{9JBN;(y z06uOjFrz-T{Lmon(;M}hdr0M;0F+A}&>?pigGNU$4y4S9+5jLg+y;7( zR$C9WKR`cX0Mw68djMYekQA^ag=PbJF?Q6zK(syZ9(EbDQVciqO_NwCP9edB>#ZON z(74MWG4pa6P@BBQ1GqeElpFs8&3J*12MFvXFcD+uxkyLe!9LD9xB`1gKZ2)0(U7ur z=Z*KwCF2>KFjRsx_K48wN_h}bDV;=dbM*nze}P_e zfMO;_is1&PxEaNOcV`Sa|u}%cu zTt#m^xyy~d@&T{tNEZhME`tdZGzA!f)^I{V;Xt4n)}A31!YLvJ2&|T(0wJ#sbB|GZ z1C%gk%Kg8K|G4$8>8uwwuZ-zXYO`9c(s#H1B>Abe#avuTUs4C}QGSIKxE8#2|LKg< z-o&M$K>RWOcozkbB`*VeF>DYMw7L+!tSx`SS;h$qMK?h$UIjD3Auf+hT_#{MuLi}jP?X;tBkW-t z3~0XKKx{ELpl#2?ivA-50`s%~ZvIoep5*}LH#=ysG9VnwHvqXS6oxB6M)}Yr!(|{} zx#o-SkK5h0g(J;PnH* z<*5x4$hC&B!iU5F$A|lHpuW1}mLizJmflX#s|H}_fn21U2HqXwA_92KE+3Iczv=n% zH$NRf?33FQwqqv*$;KV)Af<`anX+iIXk3##fDnCFe`VvfWE!iHlxcGB7t-u*8RJl( zDy143)N&H6(}39v05eGiG9*BD zh0q<6IiR2u{Co?}%<;6Qo|{XN2Rq@Op%%bT{4os4LP>&&&{KGP2uUzZ0_q&V`#`yy zf(8xm7={rV(1hYXF7u!lPAHrZ{{hM%J(`K~6DDF0*k-|yYm{m;K*Kb%O3k6#3GnZO zfT^a>PmmM;Vdw0>n@oVAcd120Aqg@BmSYCC}*rvP%Hee|SlKz^?-K;s)>nwn4+e z4h{{1w)z+j=`Fu+7Z1D@cg?O=_!CS!zb#Pg9Z z3W;MfYE6Gr?VfsYVSR#Dy8U(MB0ZTO`#E^5KdG9r-!_)qnYMEm_YxZEAle((%f!bD z$560an618Wpi5U3iuR^Pf~F((9S=KE-|@Z7WD|fsv6llt5smv0 zNvK+&{cP(f0y-lXM0k5lo`8w?zHINilA&FY%A9&id=s}6kep!DHDWAkIsbt~~@kSYjB9v0Sfy6nXWkqMlcwf;rcs3K@(aJijaPC{$-&M_ zi@X8w@(A_-Z%olVB!cJKnbXcPEKdU&+?( zqq4T;Iv<{y($Lh5!vW`5XM?kQSktFG-F1dIO;NluNhcFZlBc6J5>TK=&+IYKxW&$F zz+A={dapZS{VIIhZ{Xe=uF)sjF8gmkir_EN{LS_j;wF0cDe$867(w0306qi1{2-2r z0Z*2CInY1DK`_6Z7EGX`Lu(gZ6a)IG(J!Td?|4*L9mJ9fCL&CxRdaY}4#r2G0&vD< z>*POwhCq_fW44>w>A)IST|hYl`XwL>gz%#URI)e$BN+NZ9*E&4^vKUVP!CSf?92$# z5SK^Pn8Oqp_;O+|p+;Useun~%bex<3sHVpQ?CZc$Bgd=Pf)@6Bry0-Ymnf>$MS+Ht z^qbci&&G6&7Ap`XzFDC+avIVt-?~D6~nok+QTdY!Z8Vo(-jBKS!F7#00nQ?Zf z12iNRV@}XFy5&52Je4Jh%MulnS#Uy_kz`63fpY$BJDCCXtdXvbWuV8=1?1WUIt|?r zSIfa$7NTLSh;IY*mw^BM{#J8dKw-Cd~=s60jmk&eVlwkx-UAg`19nd5uw~`EZs4_>24RBJ`P*eoT%-W?4RU42-;E!H1 zNso8lN;%*_bPxe@U$&1SdWyBx{iH_W=-iD#8<12_k(U^Gzzoxc^4oBLl=1NZC zygi?ArIDf}Z1!Ny%Oq-2+mbuy`=VqY?D~)^JNq`BS|8{TSieOgW{K^u^l~Q>m*<4I z^xwE1D!23_oq2$|1$fRbd`;lh#|hQ$Ukkd!h?;#iPZh6(M@G(wB7NL!P0J1543f?5j zT(YO!jS3Qz??Y&4Lu&RaAdgG1l#vPHkt?4VWJsYPauMM$iRK};5B?`bIN35t5$+Ta zhG=TjaC5a04Jj3p47qInE35gaqbw~3@3?c{5wEe}ut<*h-qOaL{`Rm}gptrBY=u{` z(*Av&1?F7^^sU2!N z2M2m^=Sb;7J0VAd)pC521y#S;>EC+S0QA^55C*T3Yk#pOxDq=Et#ya~>GJF2?%mi` z*~cN#>ZwL>^{x)$2g=Yk_#?lwR`9+U<%l?K5vf)ellValvT_<)e_0+E+x>&Q5aGxE zWl8j|FNN>05PcHSy$WgCP954bsn(5FhSn&1hR6`I=94KGkP4;=LMX%ddWZ2;SC!uM~PN#%2=&ITH=I+cxL2 z$`rilOApm7^wLk^?U(cnWZ;5~?F4aMRci^7iL5Y_wFK8kC$>)FTeVJF-MpTTES@6+1DXtAGFO0f zd?Gqbf^XRaU2P_M?$e>k`Acd*xl;K5JDPkQixa-KPn8I6bZ1zti1Q|A(>;j=0Q<_1$S z-SdF6Okt~y1Sx6^?`B+dXD%?Y#K9cDtr7tBOM*lTZQ1)<7U?51$It{sS$EqXtsz#( z(ERU-fR{h-Gc;8i_$H}p@PI#-<<;IeJufn~*( zJGY6shrReDcmEF_5Gg_Hnq9%8aT|2&0&j86t9jTOsX9Z2v1JOg6coA9)TDrj-a!^+O9oXK*IP)S$LoW>R3XE-h@yfP zIukreXRnESirCoqQJ|?MJFhL52AMyIMCms|XNYxf43cxgLW0*l8nHQtC5P|-yt5~t z9Ha(@-XyL%>3608_h}FNtYkIO`&CYef4C8{TrltuW@+Rf>dTkKQ&0le@wwuk7;8cB z02QNdPnH$-Pd;hG=FP^g7_r@XPD!(EHvdF=4BjZEzM}pOJ@q8}y36A~`A_h;c{3e= zM47gIEJ6vFcUt%HDZe*8)DllluM|xiTSR1^&xelEoft5CR}K{LtsIsEpi?tnSS;TG zO{9JnQ5<&>9(x`X|4w4^#yAqa8~@>wDOXU{_?o|P0j@7~Mgr;at4qe{pz7a`H}*Ny zx)N{g*FjuS!BIobXLU))2tX^v$%;aFju<~h>d3P~6fdPBr7k@eD!OyE$Wz_LqU06 zq=1`zr0E%cTXwsO^MdYH+`N}{cI?~nr>kP>@_4M4?zgp5nC=R7>-vH7A7*jw`d*Ik zDZBB<$pI<43DV~G+@mibSj_rPRZ7RQJDs;f{eg{D!c#DY$vAq=P>?+P%!!_7$&5{O zanxT?ua0ufGZ5)di8n22JG4=?oo}mKvB}t*T)P&wUU(sjZiJn&(Q(mcSf$-+jFY3t zQW~T-;A5X)KsDebB%O1a@fe906CRS_>5$;L==)`)DtOFSw~}V8lUztbcJz)}P9i`h zzsW<%*oWE1R(h3Ya&s$v=zex-+nK2L9qfwk9%>msxraK4EtwcA7pN1AHWQax^T`6c zEFRBSs4rMDkv6IvbdJax)Y{zBQiE5P@mOzx_XpD>IP|C7mI>@zE9-}lnxln14s5huN?n@%GcpjJ9TECAa#?d2whed&x)g-5(vjfvVnoVWv1x^%h2m)LM|d3D z5000ynlsXc7uo_gHW;Y zBbV+ph+ibKM>ag~!;J&bRbzB3cC>o?T*AF4D$Rv&kY;q8B<)m@l8Q`i#}zrb=cV3y zM5Z%AnOMswrl$iZaU&iP12Njj9qMiP|LQHXgK$F%`J@8pMZ3n`(A5`4=r4eGzbtYWT4`l2^{k;kdshhnI>%eJpPGsgft6$4 zLrbzt+PKRm+VP{;J#O;MSIpLF+YEM2c2kM|JS>V|tRy|Fc)U!WJ|Qp^2xYLK;ofZ= ze4WZ(&!LQ?eY)~ z;ThK)7_m7zd_dh!&~oVj7AS+Psn5aO_Ao>1)e&pKkQ(ysKSfAi?<&c7dtMs`hTylr z#@pwO((gBQhAN>9h6AznLWu9wiqp6uzsSu=oB;IRm;xZ?*{cQO*Gz!OK18Ykl2;GS zg~H+>L(rEp3e|zZ=AM4AGBmw-(7oZafL+(BW(WH2{-{)<0de=@B*7}d6JGDz1U#j^ zt$CKZ!S0If>puFG>K()M8NCt96Dy+TRV7-V_j9RnZZ78F&-}3-s)I%iT@&lLjhmcJ zpehp5o#=<(=+^6&OO&sJqWr1-e)|c2Xk>3Z{~@ct2tK)~04}s7?A<2Zf~T9zl8@bL zwn_;rU`rSS8umQEANpydCaA4UyfrGE6$xIK4)du7$ax|~6`=1m5e8NR@elAQw|tmL za}KR6>wPIr>zJO7AS!Qn^AhHKZ$m@x|7Td^S?bBP43-TDk(`bB^+Ehr~;yN zME{w&DOZpZ@&LjQHAjSjnAV>Oe@SoM-vhU6?qB3b5J{-%9>k5S-6fGx70C~DhT%%_ zxU~HK!e7%`D+Lj60)gV1pEz5cU4XZ>hYfm-SO@DyW!=lQeo}xJmT%pAFnfP=`^Q-q zk1f$S*3F^{IE4*%CVV@=20_>l;oC)YKRU$`AK63g#ht8X9xU={u9N{i!TsCrzTWt@ z!9TC|^!45vY7R~Vuyc%dq=p_zPq-ybH$)M9v9HC({J8yMH^+phnMn1g(1wuS?fcC-%88jVpKug?cdI5qtM&{S^NH7wx*ABjghaV zuT>N<(xOx~Mn%PW!GhS_@gg_ZJwODQTIj$%Rgu}GO7#3U3U-? z{Vo(&p$WlgQdFqBK~MSrto8kOEzEpC0Q{)*J`BCsE$rya z_eaE48`latckeSrO`Da_ZnFw?&8-7aQ{_Pl?RiR9J-+K^gCr_EdPxlspE5>qLf5^} zryx-j0mxL75=bewgrMtDpqE0-V)s@F#_798u%lc>oARX$)P5t^boe(YYLMYC?<^t^ zl|4NXO-VUjn_SD|56wsQp<0-o@6H~4mCXc;zjnkP_W})y6qOrswR(NeXcE@ZMt!HX zdMLJaRTYoZBAl(k|F|)n;{%`1A-HDqpvoUBW~uZ(Ny7Gg{=Tm-aK!^IXXRu-_^T<* z_e&cV-r<-v3)hysa1B4%A+SjUTT6gn_5>PtKQ}+d$zODfcZftwrh4`%NKas^0YK)W zO9w!zMH~6W(#YEGZyl3llomcJn<270{&htgzkQzUPNFX%G6ZL=UNX2M4svvlI-_+H zy1fZ?TIjqz_~ozxf6y&ak};Po%4&!>{zFI`w91tpC)@+Ii85-9@OawvXTtwvP~s>G zeX$hnA~U6(2{aloeWoF0=84oPDcqMIb99(BB%Od;X=9Js3OsCR=O@rRIkr2JwPpgH z`j65-C9!g*;ObBMD(s;WR~aC+%ZM3+S#rvgvEKpD3UHO)F(*28zcy^I{;C%;_+b9^ zJU@PwV9}V6x<3hvAg^hgb>Xk$u&P0zq*)5ar?9t5*uFz*qe3xr!G0J`pho~Qrml?C zVg17U0^0>t*Uvi~?Fr$P-_+6Tcqm@Y@B<#vz+8?7044jpl2Ds|+8oJgK5LpIyZuOV z1s<@(5Z2`XS9U$Adql-`;I>Igl{|_<12#IXZj8nAp94`%_dpC+8Vz~!-Ihozu4Ndv z{==0Z5Skz+!_x%00Kb*_WGIbG&x^iVfRDGI>g(^Gg>$zDV9dzs6%(v1YuPR9@JB(4 zHGcx$b|=z@!wNgj^;C@s-;U6Au#kj!`vhBEx)t%TH$L@$x0xx2i0d!@%2EZ(2wqMRUE#am)h;0+6;Ip)5j88Ge6Lks;d#C(d)< z+}bZS%BaX%RHQ6KUk6reG4t{=>2zbl2cD`VzR5g`3t&+J3VL+CtngU&sSDNbS2}E) z*SRkDRoF5|oNl$twq|DY>D?UNp-;(!*kmc)zn*%|lPd<5{5tEQ57zw*|Lt2=(3@>x zQ~ht?ieokOtzYkTT#p=lNL9i1Z*Tr397;uxnY^_!*kO@Aw#i~5a7I*lR@py9kNb_j z%$EP`qZf5I;8Fzkwap1op#{|biaNl}3qQ?AP490Y%9aek0dw_{U*fO~IvBuE|MvXO z_R)EQJ@)TTL>k^$DLOP-4m(w8%W@9?4^W=yAaGZEQ6I}QPx7E1GcObo?m$2%T-mei zCF8P%Gy-Gt%xTPKfhol)y-qg;krH&^1(DH54hwMYuz2;Peo zsQhg8BOLHt0B!Uqvy>RS`M$5XEG2*eO9`}M!wsnQ>u)kG8V3$9d^q_~mB{8{acYc} zT7ai1bmM zdTDY3OKXO+oMRdVTPC?={KYpAh5EUZ6VqM~`nf!H?6o0X_=IjpOuy_oEb~WO3ArXE zP%&2baO1ar-SY8^9&d)fm~?nI?zsK#luY&d3s9JE2bv0Ea-tX8=uTqyxtxG*aVT8c zgNgAh%LdkWN1SqqpIONJTa}AI{x0VQUQEL8ia^rZaUA@>GV~=!YS1H?(Y)qpr>xTz zsLuIBzYrqBWiz4HQ2G>McsS*rCQ0^Yb8;WK4Eay9T*&2KN^D;O7n0? zDd8a_&xhBF1Xdf5SFQN+k(K}M2&L{bJQexd?sqGF_#xGfmlkB^!7nZ#(|A~L54B|x z{Sb@3EK2)XclZ5!Z~1rI)nxEJ^9FnHwe_vkvGC*Xq_=W<%>++3N8{1Ib>pdye0AyA z^hJ;@-M9lTB*y;C6J#2hY81ku{_4axqc_V03KjBr2Xh=>{e)B->~tP&Y~)fcRla7K zpr$V{%&a2$%bGca+RC%Pcm5h+{9aH-KMvW~D`&wuI7b9Q-j&wvcl}kNVePUC2a)8z z0nI@1TCfRyEF%07-Qa3h#TBI_MaOQM1mP1^eFQ*qi>Hqvv&oCWB(3S)wFYf|zTU2N zT;gqB;n=$TJ}&)i1HRREf*K6EMsGy>f)R@&a^LO`J_3#!KS$(_aJD32CLd=##ON;Z z5Iw~u>b-)7>63+Y&BcPzvx#&o`D_AMX3f6Vc{;jqP$rMd&*AD+&3UDielbiqnHxiQe5(;0lAH;p6nzv&_%{iMa$U3~d4k@ha$5 znbz$_h|yhE6D)gqy3WXe zT&(A^K7|7|O<<#YkQ=C!zt@tWb`rZC^E=Q0+;svW{n~}2Gx@!<9+C_hx;`p7m|> z#(s5iBFcM7@pAas0-$It{xhAKe4a*B?y0lY>#H1boyM?2`8~sQwGB30kBPp)VzguT(3j@cRq1E5WFZC8cn@DESSC~ZN4;d$at_0=#dF1qiQcI9AtRRKE2CnEQPj12Dc0vZ*Z)c` zyLnWY`SAhupgMpLz<}L>!Mg`QQ#M~9Xlt!Ar>oEddDw4!U>@GnO2;>J_+<8(l#CCb z1C3gKOvoAP!M%W7c(lz@J!&@F?~lfhj_KCW;ojpmx~zL0PhBi{V9NI)rY{q$b_EI~ zv?>Kbo_pH(r*O0nZx^M9{v)v>YRkGL(uP!*2o&BJA~SvPUZU|$#wh1&;?&HQ}XA#egA zxjV2yY^9WEB9m(b=n!06QF!Bu*Izp~^SCPbl-qvFSqqlE{V={)5nGqPtOh?QlgH*# z*KOOoa~QXX%6pt_eg3PPPSV{Kj`;2Of+xR(j_6}Fe)Y5qWgUmQR8an*E{`nG`8J+; zf^Iiq&f^~wokIN3d)KbnV={R4yOrzh2J@KnQs!C7;L(QB`0qC$8p_&Rz7(gHeCGNR z!C5Tt$}H@zq3b^z_#w24g^+&Z>hN2Z0Yy$P}n!D7-ok!s|Cj(j^$ruYw? zB5;#&2&$yRLd^|Vqn!XfsJTHMtx~giuA$h|+@af}!Fqk_^@^?1L=kH4dNN<6BsI9E z5=)Xm;=TxbhgL1J7m4Xs(ro#&#@XT!4A3UKs(~W#k<5rlyp^lMxNwfh0Po_00F?HJagJ2gPbXqrPOqYPlkcnvHK#fgxejQn*if%$)mhlB$GxF8^+v-j?8&W-bqzCOiE(!x3Pg;BXj8PzTJ zW6}83L)Lba)>(Q+St43fLtlvI>df4fjrEKdg~&R@|0ID)tz3ietk-?qLvP2Rw#eWk z+XcSyeULi496O_HAqt{I%;6K6b znx&tK!L4AKaDz#|rW)MP!@GQ-jMqX8hnimQKYP|+km-wvapk2mTnS_TIyLa@;F4oX zi}DeFCNUVh%Wcs||A2uA>3On^Kw&H7q?n=gfv`4~C*&BRPo$EVI}0jN?J@|Lre6{nWDdUMJCJ|62#G(D5{Yjn-k_Y^<3jK@ zU~2KE3d?_c)zcRx;}<|}YwFBZv6&Zx zO9qkdv-k=-wi!#Mvu-x%;tDY3uAUluml}Ip58%Mju36o4J-B?^ENA)X)n7t$YZtrB z9egkzZ~uG)SJNI6qoLOotf{gkx(x*i72(e%RRFSd-{qOm^5^N56m6HO|~I!lQHVs zPq=h>(rC11c4*O|>ZJg1L_!ePkhZMke-`3Lu*ev57#G~dG^8YDK(pTMFWZzjKOcS1 zL?Xlf%?fG7bg1la^a!h*=Jn~e<;LL7kU9nFF$z;@|0E|omKA%++M~xqr}5W~DgAi` zM^F2*yo(xwP_@`PJ%!?kxl-@r_-}P0e^uABS6N|D5tO;x&hwl2%(>C4hoHthV zx*9yVJ!0i%?9ffKVW9_g&9}iE<~*7A-f1sAJX>yhJV3TCH6KZg)x%mxm?no$Q|bJn zUz3>@0v|Hi$rO~;pgYW#Fca+G$N^J%J_t#m3T1+L6y7I`TbYT4<{*lG#^nK)I75>5 zT6d?~d=X5#<1P!5?xB$_+2_T3AL>1fJKLzv@FRA+U*Sp|RHdy*f9Qq2wZ5v+~+9&WO^*&j1??Rt`=B7hl~DAuuNa=43Xj`9Vi|6N4gb3;6r$tc`EpGD?9tV zWLU}kB_cAmXwO2MPLW9ldn`}HLjImRH>wu1(;4XNLm%aIYiUoAM#w8UMu^Q&mpVh` zHQ?m2=`JqkQL8*`qwx~JNr$gmyLYeCX*^gs)u3B+RLu8d;CgKx9`@n(l^$wzSHWc< zj&6E{xl(jH9>*MuG{FN;-JU1xx-(mHisjTEF+6u{R}3p+X%&6adE7q;t+Lsf~c zCNls69C9ImtzgLbQ90Emt`x5!b#k)C^Qz3_ZxuyNdbrFY!FcYJ#9@){IL^Z+x%8Wp zn3XAJMPyH6Ci^F;V3B)|ih`XG1UisMiY#(SsA!2xHSND+imBEbt3fzl){gDO-%Ctz zC;#01S$GIuTPf0a(7Nrq234#V14^>?uPhXPuKar&Aj&gj<`>aGLI^UfrM=T2msFQB z%GL!wd|dwYcguS2Q!eLh9`0Z>(HlIrtNq01kP+Ko8d2AFCu26L-D`eHMDCOKTVwvb z)3}CL?u(7Sq)Ub@CfvM0P=fe?3kToiJO_VWN;fs`J#kmFvW6~S$zdf}%Wv5~h}-O% z#M_0xC2Iu_+IM~EZ;yQK)4u02eBSHys)9WJyf&Zy z`kLwn-Hiu^b#I8YqHFE5<+ona)gZMN%RlXkE<}A(XN+iJ3c>kenwo)POy?Y;QQA@h zBksG63dLUS-km$XUl+&p$UOgjrd8Y|o`GH{vyVQKWL!YsJkP=vHn&*gw(H;ZFB;Crj0@)CM?`s`B4Zaqs;H~$CCFw? zCkz=>4@nfSs|yj)mmdKSZyU68&)rLP%Po%NKP|xJcRli%?b9m#R=cVFRQl6Tpb$lL z=06{XiMs3f`j_5nVgBi?#SOR~p|+hQL%Y4@l~=Y+@e88G?qyMPD>DFAId5CQDKhg> zxEg}G2ky;21H-Ovmpcg%r76+wN?w&E!;7$x?L1=y5~T}B%r%L!ozP-@|AUSfLN>@lL^TnyqR zYG_Nxo5)`{_-{CcT*W{XgIb<)Q?8>NI<_4K(^vo4s zkDh7fbbKlNx&Q5+zw7zRgs6{}9h*y;HKN&rZUp^$YBq-VDqIL34VYVf2owW?_dT*t zv(l8AKxyXVxI{|cO*5JNK`uSMy1A|u*Bn_osS%a)FyA`0%juWP!GC*j>(I7ii-Z$* zlOjNS?q&6*Nz(T5sk#LW^8|qzmX?RB6T*jZ7XMpO`z@YdXk?=**lwnw9mn)4bsxrC z%LjVoIv=tuM6jwi&D!LzZP7lK9hFo4Zk5wF3UOSwa{fJTgo#+nWku6qy`boOsuO-# zPQgOII`4FJn0x(naP5cFFKc@aYhIunhVa4;$DX(rwZVDv+CRm|EA<`u0PD7MGZzR} zmo~6o)clwJGZSRJ0bI)O#3}y1a>`h(0^meiMIJ~EJczS<>eSE~2Oi3xfw^eFPK@bI zLJErs{9-UIA6gN9mNEkQX)J~3)7lPN7W)5%R*xu&0BRlJPWCeICB7MqXT+d`O0pkC z`kdQyjn=g^C-BA>5YRN_ODN;g;10|ufE<+)c*cH(axJmdaAcagw}FoNw4ZptN*;gE z{!a|9^R5-2H)0WOQmIuP*D3F}8n=F`P%~Wyg=Z2A?#pi$zU9)P8&Y3YFxS?_89hYo zWlt6{a86H5>8B05N+!cpO5fSFmHrYNFFA$Z+@s3uKO@&3(!6KHHqS8VxFi+u$TA2dMy_kS;8$y_N$+uVEA zzpqtnnGzU3CMYK?-+A;S86}9c^hF{+UgVel?YcEUsd?g}o)Q-%?Fz_5`aCgQZ>=QF z@EmdDNn`XSJ{O|@0QC5g`bZnww!Q_na|NS;KBfXfXj`gJd&C>1k(Cj;mAVg3cgl6S zhDqElDmQQd)M*UazP2GNnRvg;8fpXz1{1`~Vr_`&)kQtG)59eY&6qmVC6`u{~;L$DH_G z?NNgfktVy>s~pLW>2zIPbz*O6c1C=opY$aS(~}>&S1VO{y%MTMo1W05$Ko#hn*!^V8>s-Puk@L;N}y>mP$!wL0Nr9Xn2HNf@zaH}916k&)y zbV@jWr1zxS?D~;c+k<;MPuf0KIxHF1l&T>j^bQb`65aQ-?I7Hz+soBHcFsMfN@>_x zJ9mY&rz>Q&FCepcf>a5ABjnP8&MvRte!M4kO?mHxKnWWP<0`#shsu zw=DGDpTUqA@_8DYQYvI#Zr?FHcTSvKdqlgwsaUqZ_@irHaqm@*c@3?NDH;C`*}gXf z6LK4jY1MSeQMGWF4uAc-<>A$ET`x7Fef|zvXx-NmWp4cmi4;db!J3#jx}!v`UZnV{W0u% zY9%i}>bI_BB9&XOJ6x?TL#sIdf7NDN4So0ZZRkwun$4d}tkCz21;|2aF^bk>=7{$G z&n$%VTZMJ!(jE8h+G9XL_eqa)AxdaKTahEe?C7OyiWV6z#nL-38O}sL!|baO;|e_c z0Wxqt+MO?Lw4HdMZVqJY*(Wgjb+z?FCF8^d>Yy-xsUx1dC-3I@HurG8ZjpRH&vVwR z3$R2sX7ZzK*^0K?hpL~@(~rIm`~i^%PuYTWb5g7a2@&Hv2%2$-=Kg(SE$_|nw_|3- zLXSzNSj)r>v6gL)5_zoi*zTW3R&!g+aOKby;j1cjpIr+My8EO%qA^43u43waht`np zqa#aqER1qx#WB^~w0P<+{z4MPhc5=* z=v|+P%+Bbw(YW)AU%#);!8Sva;a&KT9B4ZV;&=RfNv9=4F5!s%#%x4U>4)`Kt(_Yw z&JeNgJaGsp>?N`vikluB_W#Tja;|)<=3QhbHR(NE{UF2aKe5zRNfelK&a#(QTrnnn zj(9_wc9wK0MimgSF=b#Lx#SE9)T01oxsEomDq5(GiBAafZ@wSTFM2<2F@dj)%9}Kb zx)yuE+I^Lq&VrxCQ@f6OKkdsd`Bl5Dy{JX`S~U+hjKLodEBpuNBJlw!{A5CWU~S89 ze77{MT}G9ZttTI`HlCUaakaE)Q9RVNT7t@o2gW@j4Z4y@^p3aEh z05`xDKj~)Ix`QUoY7n5Gxa(=3K@6ON8itH-fq7zlE zRMv7*>Aa^2YOAQ_av!)B40FP*I%t?M0PAa~RFet%u#;x*D!pE;{e>4}qg2VyQWQws z%03p*w4?m_qrNmw1au~_#s%Z;A@5b%LzeTfy*WkaebT&=*GiNMziewi_+n3}&2hWR zv8tT0fK!F5==RF!Nr%WUyd!Yo&Sy9wx5YrbVxdG%7%|q1(Yz^y;}VwyKxvIsznEcD4fdSsV(I&+>jGgNaPHt$(a#%3Bmc7 zB?>ounp~-h0kviE@)a2uc$lOAEB=XO(=`iT0jiOO>=kk(dj3$jFRO$Ul^FsV0>1y{ zpBJyVE8OB+U%dlicBfSMIU0$!mT`~<`SNPLvsp7DQNUHyilpWz>$j*7v`gb)2tPs8 zVTm&H?1Kb*61XlWU)-bC*dWqvLzc! zcxibL?K!#)zoPkp^(@=r^p>-NvQ#we1wTt}^|vF8tXH)G;%AV1$ctH(iP@Eo(uX9ApTae*=11gtqgo4&S*sg~=q)D|uL!L(Ts%`Pc}z z#T-SPgW5mja2W=(a?%skYl*ZI`yfig_=oLub1|uX6#aCl?R|pfpVnHl+)chfZtK+} z|4E#nxwjfQRMQ#Hb$V%F?dJ;Wy?c%1LIL}(x zhcAt~Hml0RbgTNPLe;3_!$y^$cZVfY9m2%R3eF4FTWeh~D|!2b>tn*%NF3wRgB7Le ztMg8GFv;lfd}YQDlo}AU0fhWQ!hGW6ytpfI^Apg?6Pu|se|{1s$|EH{W)8_0nV-vd z{v}>!acsi@YQoK+Ve2`k<=SIOH-fCz5uBwT-Br-zs+f=U*^+^l; zB>lwqRLC~Rwl^`JY_&>3b0PwiYAu-{!>EhA!M0j$@4i7AxgWl+G zKtTr39WiN*Vw`F#Dq1f0eM~MmM--e>?{50PYVuvwr}&&yk_0`p^PumOvQnB2sm%-@ zqDc&l3|9+E$+*IJ9ApR)9z)u5^+c)_t|>l_L3XGAPU8W-$13Mv3+LT9y6c$FQ>85> zzu0o^MZJgTRuAldoqjO|WAaSZg;JoP_@I*jtt{mz$`l#m{duTd{bT$Gw3ukQ3~AO* zpq_=!*1NBvQS!+}tz8RhA1!39IaXft&yNkq%11X;l|MNht{L3zD&^gJ(Bei=&4qZE zl7^DI?RppDx3xzQ-_{y5)#^oVa*hlXZ>nwfaVCWiI;)?ljW7Obr%fR|ek3Ntc=G=A zYO<}*qP~_jVGlO;wKT3@DOkO#9UcbL4JWLjhL;+RQq~{&JtM zAQ!ySY#yLfhb)!8UR{m{{(_Q`;ejTWqU{gwh}CA-`6)H;?L9d1dQql}6#4+GpZkzNR^{f26>C8v4Y) zRFOM(a=6w^?a#5_UfYwepe%XGe;DRs>Ducfo35{RB{)k_NS1D%H&jn@Kipgz(gHt5 zhl^7}6JdX90aR=6EAeWZrN!^+{;_8L7KJgvSn`>ZB`NIlHA+Q zXOAvpU*F(N9DJo5RQ8LJn3u9dImob9VP*}#e-vbnCKb#L)sJJT()bN@92Pr1?0nTq zft3s`fN!-7at{}x+C*(m^;8?YR5M6T+Lr6L*RNvku# z4c>$H66HmegJdd%wyGEms(o!I>K=2`DT1u$@7dCC!@2E8zbpu~3SV3~_8|3h4%WY$ zq4!;pQSpa*mzQrSc)(7M+5DY1P30$^(Reb-(Gt3T6C%* z+E1bo0B}BASTY_zK6UH7j6X5FU}4Um5VM)@2DOPN6B~4Q%hH1ysB=))SX(_yISCt= zqHP!xMb_fVSoe{^Xp|?!_`nqziNR$pTg}j#1v4@zBiDZp+8n~~|F6R%P=cvW+*#It ztztoLEDN$T`J@%8>_g3LadT(|hsYwWLbNT1lNJ??tfR#eBwcC2X~d23q%Z&8Fr=6T zL7vcvaEmdw!j)n2=J${!h}ivGZ8*BgxMnEsX*Cx0DWuV6iy zo0r7OUXm0Xw5(FABCbq)j zz5Qt~q_}8mEs*6rheu2D?hv)2Cmy&OfPqiOxmk+g31;4iRlUT}+? zn)v0L{h`wZ|F}Ws=XLo#25gI{7e{KFtp-!&Bb{9I2_8OsT^U)@ii9(3Npz_OXx9#X z0D-u_cXx(ocE5={zLQid>Z$!BFZ6X5Ww`3N64M}81Z?f*Qb$f%N*HfI4*o@}r@l_( zJIzo+>fO(MbXz#0X+(&KY?t7AD9Fhi)IQf!lGK`H4&CpazoiJR%8JSWUN$8H(#sjUUOsglFC$vH}w2xjTP5(dcD(^0T9L>aae~HHJSBGfua< z#+`|CB_!15J1`W7L&O%674P@nGdjtwGn{yDlld|G(02E7RxDZgeWC9M1^V%2r-p1Q zf5<#|l%29N>RPZ149sF*_xLcWy9TWsHva++xMy$;4&$Y&c!5&ISR9Qn7WlVAEf}^& zaF+PjOnaOoL+j+y prdCHO1l&A8{*sfml(Hh>0I=LHb4|KP_G6(l5T(x$Yyb=^E z2&J*-hJnowHEf$k$zf;01!W3R@e0Ea!Co?IjE1|LkrMJjnZeyVc(_Hk`NUc4=ID6q z=HtzBLfzsi6$P)S_hU-moe68-W5L5_?_S@ZyuR>3?+=(HHsP)0Eoq)G*FnB7*^NteK*iyLw!>E;scRAQ_2_%n>3ub z9k|WyP)$^p3~sW4PvI7j#6?FJR%gO5y2<->0jLw&Ay-S~NRO-E6_tV+c&} zPi!BO*e}7O{T?Xcxp`{3LaWMFrQ3CGO@v&5PI^9I!bfr6)kK@=bSjCG1}>AQC((GN zG*TAb0WgJOhbnq$fE%Iyvp)Nbne#^pmTPGalH6&l=C=0L_4EZv*b^Rgz@RdFcMKlp z^6SR(hUH$Pg#D!hVsH0Nzow=&=rUc-_LQ0m9Md;#;!sVjn;x)J7z-v&Qt)-_;>;zY zAJXi1+Jr3PzN}RzYU;4VutgI1A$wVJknfsf%6y^KZ~Su=yEPMaO17 zI(+h`G{eUEGP(hc8OtZ3k*9>~p~j$XS540JD3EQVjHjPU9KszT^R*?cFD-cvm`_)w zw(l;8LK-7yItYR`eqG(U?-#!`736w?zy}TinX*)xspVG*!e3_qW2ZCW4{&ks`GgF# z@qiu8UaEEoJ_WncB|#LyW)wi_s>+YP*15snJ#3-&^+&s=JhS_{N+y}frJH&$Pjp;N z{_x|_Z3qZ?sM`6!cH1mzmT(ouzBHV@?pQNFfoQwN6#(DRYYxPeo+)I+FJ0BDFOEGV ztYK757Ml|CPkK7*#(Jjo^mFO6VF~!a0s(zOUkm=Ock*X#q1a5#kK30}&LbE(X!~v{ zLj|Q0*=N(u1n)lS<;ohI*4-EZ4cASIfHf+T=+}AW4f%_Tc;y2rF_vWvPFW~e zeGP5&<>*qzFO1_&FJyLNf%8I$>@=8DFg!{KD$(CA;mLZbyZf3riguJZwq_oYn65AC z1!yq>*$#y0=ScMuV?MO&oLU{U;S%C4QD&@Shs2si;~w5IqUD*x!@ADf(88R5UH|O( zVK&eO-}`5u^|TvrH(!iCK!;)wtSsGi$2CaZA^D`egSz$~T-=@)nEWg=UGa?MW2HC` zf1>@gVKQ!`jd8X*u)cHgm*!^09osK*S)B>^n+EzCx@FkBO5LhtGFvg~>fs#ge`Dp{ zko9Ub$M!9O1Jh$zlC-s=87H5)9+I?04S}ML67X|ZO$6rFK!WFWwP~fbDJtQ-t`4*& zcxI`-G1avav}9%G;F*1NNN$su&M?<5V-wn~gOZk7RK@AZKl7J85i};|NC`B0x}$BH z{p!yLtuDn*y%UO3o^pD6V8|)XVYC`C4&DnPqLWf3UyQ)RTMPxAB+6WFCAn2m(v=87 z2bA6#6Clyy3d5xWi7UD9TqGIOIWhQy7M~au46eZ+Y1ew_qIK-=p=U2SItHV9e7!gW zRRhq_k1tsWepB@Cz)jLLNovpoW`nhy&Y0f!Tc@wJwhWB6;atjBpMskbHa#d@ofw1rC&QE(gJ|4La2ufO;RZ;~ zJ?_kfDGP2o80C_`eUtU>ym$7yDHV!YXAYPS3h>bX%9s;jF+|GPGN5_s4E&3xuSN!q{<+Vb8gKkPR9+nhVuvx65Eq}vYkKR)?{(k5lza<~% zxxmlG$bhWeRFHpJeLCA;GO@y0B3cr91cslg67fT9oLw2T<+W?=er@d8IV!d)86VAT zwJ8sDJB0l_JfoRR-7LV_5`Mn}lOJibt~_6PbWWwt^VeISNvTKFU)Hu+Zx>Sb^GnE7 zKa9FBUo&40g|UfJXMB|N_Kczh4HPUm7W*rH{1-&Gj45UM|T4Z*hiBaM6} zAn;A()Asz|H33=hXE2F$Qz{7tEWkbTrNs&54VL?(J$i!t!!>wh`@s?a&=u39%G~g) zo#(%`)ZjYp(M=0NKhYNpg%A6l^eOC~q>_*ix?1>I8S++^IdXcf-fR`=v84ug9I5c; z`9VDaTcJ;)%30!>0*R*I+rdg>rFEo)4HgmY_ek;C#oAbT1fO+Ov*utub^C8R|Nc~a zSQ9a_uIQ2eBhRNxp1w=W318;2^^=nN@sWKbcIiG6%t6w{#(&?x){x&7JztP@Aqf=P ziYZK`PuGt>^jExXU*g*)ok$g#q37pF(?Oc*11w%9D7G}ZVdIV$;JZ3H~JHTQ>>XV{w6 z90pt7O^#)~IZDJ>y!kXgv`A-KWpCzHFR;g(ADFuP9FdYOOtTBp0M zbJ#1L>&pvy-lIFN;=TLKj8Cf#a-KzIt!fbndFDIxN(K^`srEYv`~)()?O0ZzWjc)E zt&OLhVO)vZnLttf^OBu>ackotzV!bXTeQxpsBM6>f z`-i-r|8#iuwGVIoLAS*72PUXWj8OWS#C=kXQnu4xJDt{^d5`b>ObK4WiCuU~pZK*Y zwMVKh_fj&01n$5!(#CNkXpS<4hS(8xJLz;wHBV_N&zGk8Bm)xVHYvPrLu_nb=evi* z*7vgbE-aA5rc`PMli9sP3d>F2(x)DnG*1s4dKU3yRfphLmH9H?oEYA>b;JLUrZ10% z@_qk*W(;O*W0xf})>J}S%R4j3QixKC6iN|=BC^dh_6ixLNDESEB}*x31{Ezr6lI$! zp~Os~8D@EY_k6zR_eY#g=QyX^J=c9*uj{o4xqGpcS5BPm>y}F-p?m$L#No5hhoBs} z;9X=_sm2v#nUwXtCw)ep005Xz5CHb31BExkl;))hQYqb7#QXHV6yEoM1>GEEnDmW< z>;TTYiMJIV3?VI(QeMpgl|O|AV)j8ohgAZ$BUPJpWgp2NMXnvs zf+IM7j=V}Q@N+LIi(G*VTy1YV{eLdfug2)kVLL4vAVlsawW$v0+op``Yn`E`&!ILH1#$tzf-!y47lIzUmpdTlwk` ziJ7aX$~($yV*{~|t8|O8A$0nM!0Wjy4xU@0bH95`7mv&%lI@6_UvB{%>L)M|Ow9^Z zemTTke(Dl?RSzG_hP9itTUPxNCcIp^66pWEZcMtfk)sN6I9QECG!j%Yx$Pw3YX>zv z48H<;A|PD0VBt4p!#HpL#WA?=|E}Uya1}BC6N~~7+S%WT(^Ggno)@%TY}0abxr`(T zIy8ld0XrEliN-@0swLu=FVcVHFCIN@ATyS2UI0<4V4R4l$V1=SO1@KtP6uKLJZ&r5 zhj$Rw1s{R19#rAT$Md9U+l!LHQnHLVC92z<2bw6m?Z@k+f)^aVCQb$<{k;85$Kq7? z(Zkb6^<#(_yFs0MA08+MYU0|iMh9+>rYCB)b_jlXsiP-_Ab=QuNpXc{jH(f)LJ1v& zeQSA8QAS`DH=V=j2mP|+r;BEYj%2N!SGwCs+S zunpqcw;>03l5Nvm4x_A1MkorB4cnNW&X0fG5ar0d2Y39Cq?q4vx)AI;yd{|3Oa0KB z7KwvrCbHL=XWHI$JqU<=^z;{RV7SMhGykrHA$*J9i zJLAylwjk1jytTe=hp&Czo}4Gilxw;^feC(3`5O0oeqo`1@#mMYng02n!Agyw`(b8l zb9GlmnW-qF1G7GOYLKy%hndU=@1{qen6Ed$5Crw=sa+|VeJI<*)Fz3^Qtr{6KH+c4 z9*!=V47|X~iBFZ<1d&d>eJEfE zUc+VQkW^%lb8^CcsJc_HvE=Q%LE0DzEVFAKkC8Gwb90a%zu<}%M9)CTf=|=Ta#}2 zgfisWwz>A4xdV{Ve6JBd!jo#lhd6WV&c8^B{t5S98&=k!*v zD>H&Fs*8BZb4^z`VGc2CMdO0L9}CL`56jDdkW3qxb8NB<{^VElDdSyDH??Wt$h3iu z=+ARf)Z{?O*P}qW+KXJQ;zmaaGOv=a0RKzkcN#3>OfhTkg1?jpgCUQ3$QQ$43pKFF zPB~#1Si4)-Zc9eWpS2Tu9IJj1MBFLF{0s|DoB*DMT2QRcQZ?$W8PZxm)-o;|?V10? z09fq-#2o_GKpTyy9i&>|s9y6+f#@ql+klQ-?xlqZ*h)>PC}Tus}N?&Rbn zqsfsVWs2V(fx~hl&;ImE!83;+gCcFpD4o)DSsuC8FZ@-ahBQ1uG@E7{&IE9SoR4Q8 zv+_HB%s#&0>A6GvH=Q-Y0bigMekTUGV|hJ=95`D-sHwmMZ%mhlpn@~lD!R`K3jaWG z2fdGp9}sWs`rP|}1wdL^R1RDKmLwUUfo-10S3Wm(Rf(5OsOE+T91f}ePrA0K)A<0+ z9XepDh{AeFFweRD?1zw6K_TV6EW4t0OGiZYT^Ty{D`~4d3}h z>mG<;x`KXtWz%#+X}}0QFJR}aByy@g)`IYc}wd;0+7j94&j`jnG#skJBAzkq{%lc=d{~Q-*w_Ld&S1YP{Mx;a9Sc|D#Ux42>zrj z4P#+Sei>)Rg-7S#-8_g)k)DoZlD5bk%qlE)X%SHaM(LRyu=P959C4|A?bV!YF!!Cx z-?)WEnmJnpKpTc$bPTKP$sjumUZ%l6GGQm^?i#R+R^7Z%_L*S8s}dqpcfa!9JD$BNV+Q$@l&+7e)KCopMor{tq@Blc3mKv>N*`7E&u4~Ze`m4x_&@~5SUoN0&S7M6pq?EOvBcaK z@rQ9T;%I2FQd4s>Dt|wc&?sU|g?CiUg!BK*88`MuzQU#*ASrrl)GSJnyk*+#P0{QZ z9Zrl5oHqNWX=f$$h`f23+;kzTwWN-QDRRQZarkE-W+HDN4?exwOh6K>Zby`p_`9`5 zcB5>!xz8^Y?;5qxx2$6ah0c8#O6rx0eLDHLGX4aQJp}{|Eb&I`za#DRj$`+ir#PMR z<%WW8RjP(4F?~D}2-ebBY)N=`7G0e>zzI8dom+di0=bVapE(@B%MhT0BOgEferb@8 zKU^pt7XNALii+JFP@HO1@TMd!vYCuwKh*5g4#+5Vi^FaCS}$jd#23@8$_GqI?&RAA zXfPErSmw%#z(5TWvr}R~CN20H)4fmn-> zh|T|qO}ec;=NQ;kXy?aUHuOe7@5uC~f%={`>gj3&e^Ge~rd8@(vzrGbbZ_3did;By zY$>+%!~2ot>V=`DBS#!7ZkRFJZCWYJYSO2ENk#OvC=;g`Tq`nXv@nyPC($&0NFCJ$ zRml-0j_jy7;928_X~cqIg5x~iiBBbvc#=ySMN%UC0crXT@1-U^!T5I$0#GCK1FhE% zBrnQX9!#H=NGxsm?p^bvRrb#AGPQvu=JM&j@uAccJnyD?(d54m&Ha@#!d30#lCbnD z^s9wsFVN(gTTHNX;Awr5ngS3mZEQuzyr~7y>en)R;WrL z)JnJg=BaE_kt2#0(zW60(Ig%Tu+Gg^pcu{`&;hIeRR=~&s1}26(#tLqcAPTwg#s@wuyR4^Hp<_V4}i?5LZM4HAYp zWv7QmUai*@d6#n7R1VPI69noha~$zaCJ2B4Z8~FsQ_QTLeZ$qUyJTleNP6 zxI7BSS^T#<6T^HDS!+Q`j7A2}U_h%_RyUS$%`7|=Oh9|3VkF!4IQwJkjsTWxleQki zD=Q%6ZFzwT+ICxS>v-I=kU6jS@^Ky4w8Ob?%p#tVGZ_yFjQ>vmx1SbB3RYJ=D1_8i zU!>wv86~pHtzgnRqAAQa0u>if^!<$h)?fQ4W8CdVMgb@rbTh$;j503xQ+ASvEC8U1 zD_HzVDREj7vMNuvtg}4$DX9ze2g7$pOIpvmz>}9hU}4*Z=#C%^)p@fF#TybZ!Km6t zgA?~GON_?nioJD?ijA#Sh_*wZfBbFb0e1d)5ezx{~sme(6o#yMRARuLS2y%ta(Wu+BBq6m6kOJbQ zOtY7P(C8Q-6O|?F;Yy6FrRp&?eb5=Ircy~<`e9~C)?vsOGx@ho5pB7tuJ~)-*V)YA zoYrbc)-h5YJ+i-Uk+=#olAG^}TYlLu1^*YJD(rYkS-`6-_YPK#|JrWr`H(>SiAI(s zz)I@rQ(F-j7>+z7QImflzcfrSq%ghHt(Oa_;oBGlNnoBVr$j4z!}jPYbD20anNjwI z1J73%_s!^tO3;Oz&SX0L1@`Hr%pd3BDMJr=wz(n&*Id!pLw)1#V^8pU&UTEKXTT3- zVRH~j0yOv}K`XOIOLW#|-&>9bs!L0x59mCdz>o+C)v^Hbosjt#} zM^~pSqONGs8YIC*{X>k!h1hNio-@Ykt%%HGSVZ6(ax>oLE0eK#s&$HT@%>ULz3_Ra z{&IWo)`hG#m1)_G*B=Gf;c)c&@nw{!#+DgrB8GHGj~SeLb&1y<5PzI%s#sJAa92QW z3K7D&+XJ;n&y;R9cY%PLCZM z>Mf=AH>o%p7d>G$ps=6D= zXyKZ^QtvD4N)Tzntc`V*kn`TFL{;osM8D6P_fbxy>R;_Ls^su*q3f~9LAYS zmTa)tSyvWwk7ZMNT`_Ou&CYUHTy~VrpicPam<+Xaur%9E^3<+VY(9lq_o$gOw>0qW z;nRiWj2ssY!**<%I=Y2I&4Ofst&>r!i0;>$qX=#EC96xl6)SukUO?d~C{9}}$Cg9l zA*pW>u8I^3G0P!MOibyBR=lBh1s6%MNGYQrOmP2}2g~+jXNlcu4MBq7nX%fppzgp`F}dU(nuDr3g#6jkC6aI<>HJ; zN-{o;teFwcnBtCj$#j{9`u!adLxk^T_w$kTS>Zc_d(iYzs$dWk&gH{Bu8Uh^oU6aZ z2N*)c#!3l{A(0LZ_<)(V#}q8h0#7SL$3j5f(`n`2*C4V+ND-Xw?w zkSfj~uL3{8-PMDrTrR-FuUSZg$Mo^JrK=oxaht(9EHZVV##_Zkw63W+p(3%iWJ4Oj z&Yos`ttU5K1rWEFE3fQ>Jo05~<4YIl8xx;R*8u2!B{PB5lZIdObw>J=vM2yLhlSy3 zk}n|f9G#|@L%V=VwO;1RZr%veGr*x!CN5G_`XLJgxx&-AsCO@R{p(%~YuC1yZ<^mm zgnnG0{!)ah&KE)noHaoAMqG`0S_u)aVnQ7@D~8gjdodRzt?pqa&H=$UY()-*l*>bu zXdbvHhcuzd8))z{jao@1Xj+k_ws$%)SZZ6_wz#*27)TZ>=IwA|R7mTQ*@H5uDme=$ zrmM8Y24W>T;eFNQlkJs9Y`tzi9RKAUnQ*H5RLirzKFf98rO-0XnYUR=nOF%ag1zDy zh*;yXUW?lEC5GNHmpgIiblJj8Kc)z65&lTOa~r9 z^jh?XOfY0n;p_HU=)Ol&q97V@ByvYDSb^n3rnv*Glj{6yE-FLd*z{3K*i2qzY;K5SCX^nGm32%OmH1)vK)Dlzn(Oo=)ZhCnZy&{IA6q`SPzcKc2G$`flh&kNP}Kn@`m@*r*N6Iyr_ za;Fjm;E~B>%mbx*X8{Kp%0g-nfWBVv``RYw*wpQt_FXCbJhap@ma1V(dUKnBgyy~ntSP~QCdl?s6Qyy1U~w%x$Q zL0!c7;k<*zKCH0e?SZA9AVH4jyC*!hrKP|etk{^|5|FskuXjj6h8;|S^a^r9xsMcX( zd^C$x8>OR`8C_I$^c>4Li;=HT@)K=p5~>7T3e^>zfZkm%@IrIXwulq#gAtU@V-fN5 z&T+!u$Rifs;c%!Hu~DHMtnL+MQmJJu?rz?pN37@)Jmo;{*lt!qzuKd31Tn%qUUEvM z=|zGA>+RXSobW2Un9G=UxLs*2d9PbqB7Dr?m?aMR5;ZiQ`COionRF+eezR5doK*`9 zuG&fK7s^%%gcV4m*v?7>8uRjx7{-tE59hAwoLIVW*}BU(w5a>;_}f>o$iNFNI7;n3 zNJidLE$*6M5{@f%C~NPJci#h8$WW$MdS{jyDs2(EVg#XqX6hQW>k8(yzT#zwX3G4j z9K6~DeO^b&qE2qb7VI@03w?>nO6}DaK?c7Urm5PR7LihRE4uGwRmNZS#dY64!+&Vg z8ty4!HM2SEg*AWX5kxJxf?u&woBSE&&WjW<2i=+cvhVEX5V-5rDjgBsm4^tFlV+xh z`+9;}Mr4sqaUH*BHVUS`TwSvm6o>m*d%0=m=E<;zYXt@%fi=Z!upW|u{5vvKZN=bhyQgeRSBg~vSOXY3&p*fXVT?Q zZwRiI*^7y}tM|c};Sa2>p@(FZVLq*Q*xQY8RkDDvVmT0 z-+1TLhTlCfSLJdpem{@i%|dbqXP=5l%Y^_syX5z)w>6i(t($!yxPv|(5bG^zx*VBN zn14dLJK4&BKqEYdkI5d>XvjatCdr)2!HKp^S4)yqW}Wd(wepGSq*IqjKC|XBq7)YX z&4brsLfKo6G$sG;NmPvwPoh}*RVG|yIk&OPFx2-s4}WFx3jJ?Tg&Wv@V#zOdK&gkx zC93MXhJ4XTRNb?!v?sn!_N$y`Ck`5dyaa1!^tX%+t0Ax}i{ZE_GbEYmG@zwKQ`hz0 z4cD&U2KgvMhE|^C*ZhJy8^4zs_2~yEKYFCN_iLmcdHT&kr)yr+NO|T>=VqPtb6YJA zR^z-g!*lt?I~uG|3@7pxG|)u(LKTG&Aqbk_KIb6Q8cpvHpBbkJcP3?YAl53PKR+p9 zH^N=Vuccbj$8OsQq&GV~h}mHnxbehq)P_N?lHcuwO5$lmQ9rM=$ALHQ13#mYBYk^XICHG)jlB6jC(R7cbKXMdJ$emq zV}HmsCGny>4CLDyQYKz2KDeV^DywIA{| zVyK<_MT3mXFqmr0^K>1x$o&lYA3E}ovOc9Z#^?4qvZ_yFDA`MCXc0w&>}7(Ze5@v^ z%G6WFKEorHSF?}tiUUzJCFq(=i7}K8&}}NLg$A z;cs#De(%Qet5f^EyV>74?3U61`4RUA*(Z4gBgfn6@@6G3)B6=Pb~*9BZ{~v?-$Lc= z9j9@jX&9X8!|(SAZYD+65^iyq9d$rU<>$(?M|J6n9zmHMNTyhBr7U1JfXbuKDln~Y zg;R&eeb|U);t#r00S&N1px`Ylv|e1+!w z${JJfm7Eg-d#}_PiPaYp(KeC5Qr@2v;jYsRWuaJ%_%WLjN-b%PN|L z5O8pmIYvNO5PDTN&T~!O!JKZ~&X3pdq3YMZ%myc+szDH9zaAziRc=82i z?;rDO{^ozXET0`U%Rx5h-jR$d{*M_FVI6u8hkOhb_$6E}WMnpZsIF3Ob!>2*TDZFc)lOh}D?(TN6c$)2htZ$4P6ND;Xf<@_B}t zI#u6@7=UM(fX1D%mAaN_y$yX0Tatd&4Nczl@>Gaz=n8r0hho~6p~}H??4vg=VwJ%| zyeL_<57-svbYI7H5~@B|a(CPd8TK-N=2G^_c<;On^@UbB7IF%dZYjXf#c6TZwo>We z+mQ_0h$}6MFP7%tO`p;LxH3M$GDWoXY++H;_D^JBXa`v5Nkuth=RRu6RP>Yw`GAs1of$E~ikjQF3jMPZRsMGi^in_A*%XCM6dh zav)oxUY>hlIM05|1J~J#J1OaYalsC6Ofy=MPCG4DU(bzf9FZRu)0QxG^%k@Bv_K(kp z@THt+%b%gDqDi3^ip+D)6mamzd|O*n2SjIM_}=WGvMtHItlF=N?y{n5oSeoKAci*?q==;s{L9ywpqQNI}e9%0|S?EE;U{NeZDS7=5e;8{&Lkrk=E zSyZcvUg^KFg7ez{I>(nLW;ZNz)@h5PW5E+W<##%Pdk;|TlLTKUuMQ5~1QZwlg(suf zJRI`J?Ktmy{JZA93$k$Rn;%@g(;5M4X3e0)lRUdt%U~JIu$AE_x>+T^6DK;eUc&aHPxbfE5Iw zaT7J9ww*@{SP!1K*qb*tq}*J&uGy8g8zP@_r`mVrK@gj4YKqzeCIKq@qY1tZ+5sUc{|P&gaLmU zH6YeCqyPduHB!#S9Y|52hp1eLx^o*9w%Bm{0@PqqSEQ_XmR!%gnYuNGq7@YM_7Lq>Uq&n@x3o z;x=;3?{a&tTztSq_9cpIk|E096&0i9vTVZ8K=}KvBoKj@`zMq7ZD6PJ@jQChF7!c^ zi5QczxDzI|>jEZR3AhSxft0D~fcg`zWMXARJ8T8L)MI94=$WF)Ip_6=Xri8kF-Psl zG_p0KBW>vQf~aR_SeK%=;ck|2`GaNAh}pwRE&~2)iwp0^IkX z3~>lqoUpT3Vt{*SQDXG*Du*NEkpuj&5fkdD?s@X`lq>}v=S}<`l#v8&;C5-)MBv5A zkjW;UuilvhXwKQ77kseVLGaETdiLTnoy-39?BU{BInD-s`8Nuo+kxTmhM9xx@#IVl zv@1oGsU7KEvhrd>f4u#3cJ=>ND4OaeB1#VhEfe1vqvnY5(s2iHR7iC-7`@hbptpee zi#)a(wFH+EzRmQpo^j00pTbzX?G7DjiRl6Po7++6fX7?J zdX7?mgKL+l^S%AFA3LaUEmVRO+oKMONXIcm`TwL@1>>x77ashcC>T$i2TUIMO!#jc zy(4V+Bb^kdZQUZ9E7}votF2bgu{=#aIUhiijo;FH}ZTMU9 zz<((1-eGHC_X5^Y@8l^C^^*tL^pOG@2AorQH(Nv+DO!?p57Dd>eRr$ykq`FWPVNX zGc;>FV!_e!Twl_+tr7XF0DSMy{6XuWA88dn2V!0mBh7$Gybz0nYIr6LzsZLd z_Pg1Q*H&tMz4Oem*>$HQ4mj%pT6Th>777|m3wR)|Oohq}j1lo&5gDaqA-P!(9Vl39 zg4P3*)`7mS7|MmuzGdZ~eS7(&PO;!=YlQWj30H)V@lMjn`E?{>ENq>1OW11br>SO} zg&mKdvI#u#O11zsSO`zuLu zZ>%PBrZV9|XOYH1UNw&T(DzF_;idJXkIBdn8JM(|mq1&uk&LKOG7ZbWRYHE&f_Z>o z2Tds6lCp*Zp7}znf#|!ZY0k8Q9>D^ zF0Dor6)Y44XI8D-4h6)zKQ2988jw$NT<1oZB#wHl%l=(HDYOL%!2j$6t)ZHZ&w}DW{3y3$?d-%3!GS zIe#=QT^};s{@|2-Ylk=FAh#M!q3W6+&4&g~4md`vKZds^G-s7Aj*`9D z`?q^FKWP=7HJ`|)9}u#8keStBoH68~s$_fTr#J}bdceZiaB=Ujj%YcK^t6TWa3R49 z_*5^vk2 zH9$QbUZ>HL-#S~1Ch+(^Cf=NC1+K)=jH9h0Q&w#TA+QTP?%i+4`2~@|w}EM;A5UUY zN1#w|1SISCMEidWHI`_$zdgh@wvG2BzL|MiG?2_%Lgo`LRzelm*LEpL-Az+n3qr@s zjm6cOiM~K(6hSie>S=*EXy?QO%&x~+NIP&1sADk}=RkB9{9Y-d&GD;FD}uUO^F<=E znM=<+GK&n4h>b#ldop5q>A>BAczmu@4fu`m^*&r%QRdFB+Ijp0^Ex|Kg~3-YX`pUf6Gb_1*FnH`Tg(kEu`Er9=j`#8ft z-Sbf^k}@c8v$?&0k$sR&;((>Z`bub4GqsvrqB-|Q(0Mp0DAtPqL254XlPPMMvA)P1 zv^F)Ha9#cy!G@6P1+XZ(=~QZr@^_Q?>m|Eu3x=AxBOv$$qdIkp4a4ilS-Z)g21z)N34X4eCIz zbiGigLZ}xiODX^AOysGs%#W`Ps-+tO$4x?~w^}xd6X^>2yTH>d{Kz~97?_L42sS}; zSKk;CJqy+m#N(q!!-TtuE9vPI z5$k^`O8;_*a5yb(J;TLXx5C!ePb1ea`tzGcz{a2U2}u$W(8SHDbZ$YJqjF#m0-j(U z(cVAE!Cu$PJ1r?*-OI%5&AhEF{<-uqZ%jS(*m@Mn{SJ9sTN*Rd3u9_a1-5_l53!{UT* zaIiP@R!vkM2=d2b@3fEqEqtRKx^0B-_Ia8wG{_a$i_1ya=`Jab5dg0tb$>>4Ozq*# zGBN8id@X|`;9dWEe8be9d{0Y`y7{NZbvFvvr9{1HNOTx7GsGz>odKm6^e#j%w6eb9 z1<2S0m3J8mb|Gg`9i=fD406nAeIIuzeI*Mb=Q!tyRT=36ox7rGVhnzVtG@H9`QpIA z_v?Y&>ei$)*QWus@6J(zsc7F;uc#n0{^3$VJDTAbCC)U>l;c-U^|W)eCkNTh{lYOB zP(Y{6Q|CZpRHe4`!?_=mmiP)sSSUzGk7SQ11HRBV~tvA5A-a7~UD*@tN?_ zo{$;eT#)=Qio6jlyX5=+SA4R1@-T)j;H@eOvm%ake!*>y~jAi zx%l-Lo2T%om{vr+iVK&N;>UqV>iWQa#5iJ^u_@vtcf<00U&hZjY)Lbb0ifV>Nm!~J z!dE7?6_mAv09#}FT^II?LmecC(VmCA&Yu)*{J&eI6&qgWIa#$9bd=qGnT>3>+}U?> zKriC#DOoIn3;P}SI#gRkyZ%{u%y{9)Jeetx_|Uj{-NgwET_#0u)dK3@6NOZ2-Jtu` z9f0fFR;D7_wBWd%lVQpt{NE@s$l*v!f_?^UNdfTFr4Z_#@|938shM%V5R48caddc; zUknWJ8Ly;CPRfc}l8ibTIgc`Rti-&xY@WHoz)TtawJ~?=Q|+`Ucc6ic$UFBxZ6n~j zFQDE`XIKOD!@l>FQcVd4cnIG;xQ(cXF2sbYqRcqA)zhprEylx8;p>-9h&Imwb9UpK zT=;S_QeE?E`p`higkFThF>`C}=KRusi6x~YE$6hxADwxz>HGN+0E09C_s*|_qJ{`P z!ptRF2eMfK_Wu(dJ*!-*EO^ly-9Fje?lw**Ok~n!DLNXfS%lw{cphOqjFE_^Bf~M62mVxaF=s6|91ZI@#NiO7Gwh?zb{`K@0h0G2IBVGuK?{_}sxqnZpHvjalogV2H<&=nb) zWLgqHMr0Sv6+$&I2X=FN-bH;CUYirK>+tE5-U`_VbJXjpEme zl)&3CK0SG5fM=tCv=r~?=MVmkOnRB;X+?PU&eIo6W|8X0cx8_&HA_B{c?}aooPjg)Pg*1X7YFsLVz-x^d0`eA1Cg z7&+~cRLOiD(_l~?(mdstj+wwRvetk>KQIKG-d3e9O?fJ4#>;b$I-$vJeN^SMP`lx( z&>{@>Y|KftMV}<8KSfaaUQ+=8Zz&7wBVKR*b;S9fPd{q7=1qon&7aL{L7o7O63yw2 z0a9-f!Lfi*d=zkpZGR)HbK5%wBiyG`$OrqU)%;ZcaFZ90{oh!Y*7&9#un;>r9?>3$ zQ8%(7)L-l%fYhPi>90<#>Ry&?IFD+D8vyd9eVk3&YR61HDM6S%e#LNXa?IgGMbJ5B zL3>b+1MTtT*Xx<|sA{E+;ud4pA)43OhJ29`KL~4Nk-Ss7{)I5``1a;YXb{rCD*$$5 z)ZTRR#&tgCSi$%D+6O~^bs>R8kgJ+v)ixvOw6f1YI7B1pI9>ld+){4;us4&OS8bPpV}$U*8-2U1?@QM%o_ z8?$ggw@}F~0OLovB;z~;WhR(RXALmSy{9Ee3u(jAXF;D;CM!wmQWOxCmWiu)j-N8= z4pHXW^oJ};{vb(WE`g@>rULfoReSUMWf71gU_?(rHS^pPyQKaa5ywraH)Lr2=nh%5 zcH>gy*b-Yx`%IKho9j19^>byWR-!RbF=+tZ0*GUFWvLlKXIZ1eUTYtTm8YS01qD^ubkF3Gf#g}5R&P>pzc5t~BIxuPe&7aaCB*=+9_(@eGOKY2RsUl=^JD!megzR)=o$lytl9 z%d|4mf=V0v-wsi)^d&IQt`Z!#HyfnE)>)+9Q--TRvK!DQxyz8#IMNl*u4LS6*ul#{ zv&xzt8)(y%e##;fjU<>g{%Q=y5%hrMy0;PKD^^0Ul>u0A>*7U;>cD%Ir$U8|Y5yGZm=nAj` zMO)M~yjsN2F0>i6> zM7yYTqK~&^uu`Xnrs*%<#ro*`_E(=if`mFttu(PF(@DOh55Q?y<61F5a#T4O|M3^d z%fajgdPH1#m!u0rt@C4^6iA{ZpL@3U-w!oZxe-}W^UNHHVWnNb3G?KYRUA3AeP@4R z37_=76-gZkWo%a%=^g==6Zz~w*Zim}ZY^ccjCDkeAjkyG%oeO)L%o5lGQ|>J^stb* z+YA4I&PB{)Z5jVG8Ams2q2xTAu}s$*ea!IOZ1og=pm~;&ggFBmhtmB2j(uK36m(C& zI;{Y!YpsRM1gFl-l$$I5D-UK$j8(a0Inac=+dxJxJ#yc(QO!V3*xX`95wk~Iq%8QP z4#-%$Mz@L$;(Lx{yN8&#;4193x+5gSh9t$)(5Ymqn>*3XiyrT-j^INg6g zh9g@K`N&eKwM+am(bsGwnfe#y{0Y$f8Gl zSJV9~t-MS=--l+^79`V+r;|>wGD#PGJFoc2OP?L1^EZd0Ht20!D2snZ2bZhMaHU8O zR4tQlg~lkbSMmj4sH_#RWAO4W24OU16+0!NlOZQBJw3Jcd!PIx43M*ch0+;3In_t~ z0z|W$-o4(W7(+d|4KxHh0Xwbv=9R-%k59)wb)O7v8Sp_|0-+=KQRHb^o-Xpc5)WK9*am{x zbI8P~u=uTqigOnq(Ha{q;19ja9Yd8pW2Je< zIlGUgQm9I;I&@`ySV_N*XjRQm?1BgniaUWTO7QtEO{j3?-ml0`Fuk4KI`z?e?3khg zh01~f38p=W%$eu*&Lbrqh=dqW>6E8jNZ>Y9^B)Yu^47mL=V*<-DA5{ky`c5|n{(<$ z!HIR~_xxC%t#)E&){o{H;I&VRz>uqKFX-J^KP{>8?}tn(ad;oQ;2N_>ciBjm(&(!J zj^^IuYr`}6Oge@{Fh9Y&_uXSTkWU z(Pm(yS@+1X;tsVjQex;1^_>}i9{4K>n`>M#3$eHLer8`WKvle+H8DZ`Vkn~^4JroX zLIgKTHSHFrC>@Hc?GT(93UHYo7D$a1TBLz5Ud z&5Vi|iPpA$0ZVX2emgsc)qOLx!}`3(Y6uE2*gF|O=yt?e0l}Z*4QmUg`-R7NL6KFO zT4T?8^EL%9RGcXD0@W=Z1b9_cIpc>GaeJ#RmTz5u%vg|o7z6}d{aR-syySCNQt{Tz z%}jES4o}jV5Q-OV(T+LZ5p6G}A$Y@iGHd3+kyt6P0qYP&8N`HV{t|Fyz|#L$n0VDT z^(|oszYw*QBa*#7Z|;nc|Gv=x1^uK$sKl~zxf@Dw2U-#E4`gw`LiXV&zeRRmO3?Y8 zt3oe6OFJSKG*V>6Z4>odi8p!+Mp+rs2m3akZAx9n5+``y6TLc#f}Wih`>HnzynR&W zgtowh;}H0!TX#`w@r!5v-2Tp1nQN??ZOek2D5t1Z&UrWMX zpVJs0jUM|vUYTvGX)Is|en65RXr_g?>wnD5!my&NR)I&Mu3sGslw0*T^t4bMHEJk&pw4Q+Vl+T8XYjwz!P=rf z@)SjpIX$qr>OVo}!1CiaN3J`9_Ug*foY(kcw_c|{DQ&`fW&gJHRXM>cJC}^??Ih-E zf`AMYp6OEGP19R z)v8^?y8gc*T63mo!?v&$;{R=8Sx->jPP3dn$h{ zJ#?-7Tsf&>yHMM+R9pdmpKlCEg0@#~INhX-2=U!|Yp=#}JDhJX+H9+yaEUy)H_l+g zEh~$1?G?T9Pk@CF-f+@#9V!3=7{Vqu@8~mSVz#iJD?0Kbzo znWqNbKg2lr`sFuQZBd(#cL$#TUm79n1y1lW+kwMP-C~3Ref2F8reys*R?_-;!u3MDr=yiC zII}I+E>Rb8mD_z(uH8M;pk8-+y^$aTWuBR?YuK(kR1WGgIj6OpEAgFe@Fk~0cr2zO z$dlv7svXt^+e^?>Ui~mM1A0gu-(PmJD{}w>F!ty-VW#Xl$NZ*o<>SiN!-+_5lc-Q0 zoR%1qb303@4{-+mh~?F2fNSm|PaivEmynd}Hs(?x zDitZ$LhdCJv7zWf$TioY+}Y%^+4cA8^Zor{`*)tta~|h$F3)Z?SA{Sfk|_uSCJtNwt6s^RWb&v@uM5wwQ57 zr^F_;D$;{v$E~KRgK!V@v5(;JgZiy4**ar-CJ8(jkxHfv#99O&vhE;+XpXCcfh)pS z6peRNycFSKC$x7XJrNIQ6{v)E;hH5=eRANj!vo5hNN+_Fu@4gRO&x0QEsq_+e0~ zy|+P~hZN_4!mFr;-8?w&H~5Tmqxy`_z8&*2US&2I-k|>E!nn^#X=~A0VBGT`QqZg@vET}eYMBzgEq0%fky|BU2;BWGYhvgtlhqFO?e z68$%pdxwS!z1N<{j|Hozf~evozHM+zjSQI8pCd*a*mF)?ILDb3dA-~`>$i1xN+hYd zrzG!5UoehHtNznAmAhO`T}$50(=p&c21z)9LDIEcSMOe0)!-hk!s|Ywd#M8`FtOK6 zmEFB~&oH2szgB$JzCq*zL_?YQ&vO!>sF3`pMw|Unto(EFC~I2Si61gtCgaY1x$r%S z_iMk2;hj%hRR2I}N7e1oGmf1^xe{#PVw?l!$HY0q`N@F`88GZT;oWO+A*AR=!dbD@ zVZMv>9xsiiNP2Kvn&tpQH|`YtTNsrfe+2RXo^Vg9NW{e+N;sAfX^Gi=-VXZTekg_? z)G{{HM&e^f3AErZ(^DDIJTXx5FQnJhzZb8ew@^!r=H-A!0qP-se?6JDvG^p>3y~BH zPvBMKU+`{{=5x!fwpxy-Eln9d<#kH>6KX|6>Rb78UOP;!`tE`jNu(w3Deh>$KdL9J z2Kct_C(nHDy9HA`txAdGojh~4muTP1C;k_?10{j$-c}4&NEQpk2=p0uRXiw)He7%x zq*Nz(qU}5LTTh(gc)Osc^w4aNO11M7mSR@wc0X9jXLrn1tQjR@oHH#i6VVNf()i>_ ziW^kemj6o>SYquh5tyqIWUwT>rNp#CM^BeR{Gn+Q;M+dyI|OG88(Nf-zG-2W_@7K| z>D3}(PcXr<0GdnwL&iDD*+U+LJCVsfL56##@ek$2Eg7g+NkoK0dmQVvDQRMW5*Ose z%T0dGeNq0}lls|->K?Z6WQVs`G&;}D8CRHGnhX zYvBVluC4F1lC<3h_n)?n5+- z9H0?NoI>E=*`XPZZC)tBzBdK;pZ2aRcRn-Wvc3D!w;r|f#*kdkZc8yl4~td8R+3^n za{t*1<$oNH@Zp*ex#n!>GK3rOEBCLSwPM;iJ!|Acu(=Eqe}2yz05bx`W3tB+6V_8~ zrT@hq{)4~*bny&91KPOo#2H37%H+5Fw}1N!K`55L4b{vm=rm-fpCiVNv#80Fyt8F^ zo^Kg`II8USm~h$c4KwBpLFwl9WARq14FD+J5$%JAH_i%WWR*tuN9+c6Wq!RGO(c zi9avR9yi(G#~ZR|XAj(D%Z_V3InIbX@uY~Nv5Q;g>EzE?e&+m;CK%_IGU~zph}Jes z#``UJUH$QyR$ZJN7@-asIj$ts>j?Q=DcG>`mZaJg`W+#x-<7kA$vQ69ulFMXrYcdo zA8atjWx#;yQbyvTBi1$!lJ*dZFRm!yKUHY94>@)sL^g{1lXVp$+XmHK(A1L+A@F0< zS22scdbu5S^^kI#R}@cPd>Ogt=Vzqo&YdeGSA}Ej z13|CxvQ*tPwTwqEZCw?|AyF~~vmN>OwTQPxnVqF3xc)Y;;kYFsya&tP{d_F{?y@)R z_x808P2UZu)yd!rh+$~H&caNQ{JtnbP~IAvQNIspH;yvK96B|`r(BKbWp403iLG)1 zC2J1Y@omXpdv%&12?@t4{5=h*Cc+5zO5QhHH^A|q{{Zl{I+z#?;6gz zv5EDIMvC2bF6~R(!!@|Un0lKjKmOsF{P>2ZUISi4Z>8yx{Pt8kI0C?HOCYE`B4 z*wd(Cu=VBS$vES|UzQ|YQCU`1c%jHQxrc6*W>q=7!F4^mvk}cRiausiwmvNawq9OV z3idt~-mXRy1S#a}#-UL8T4{cE5Z8-HMrTNrNx&we3~b!+>3A%5HfQQqHO1 z$bZn25*hm(-)41yJ5?d)^I!QL6;gc<2V_)F%OSxD?!0%h5W`bjV2;G(AnZ9U(WP9z z6X03hU7GlCe`%sIerd9S5H)U~Ez1O2QOWqqPyfm?sA=8=bx6yAAy@O8TDoRXoFkDK z^3DWfU#;%Nd_=~#4B!y-@i7Qycg>0<;52;`bj*yI zfUhc0@*{{d`_cXk2LVwvfGEN3`~aq$=#?m5^y^9DiPw|OIj`4VEWci>Jo@^FZA$46 zgRA}O8$2CZE|9`qS;RfHm=3n1H;q<+c~oBP$HNmQ%SWB)%wJAVdBv_S5%X?fI`)!@ z2-N8p_hnvEOy()BfqE0L1AxoR1sISb-Ha6HZ%pT%_)~}-A!5L&mSoaC9W%~01h+VGa?pqPhUnF*UuPj`gnthcM~`0c*DT)I_I zk2W>EqCu7`Gh$AaRfk0F0#_u08$%=sAC%OPt#t)qGW<^-b6kJ%DonE9L%_k{0s&FU zW$1Wo5ki%RO;IM_C7AeS$4dg4u$L(Wbz#;)JEiH&2!(-#%X&*UVdri9Mysh{J;g z_*OeG@%*kaTu_pG9rOMN)1Zvi?dnADNOVf)U2i@yG(scckAjuPQ5}T99$Fh}SOvpq z(vdc6y(q`Hfbh)5m+^ts}PgVH;qm+QiA*kEAs#!e#8IlQdKF*c)kCSaW2;M z<^t61l0=9$au>utRaB7{Ysg*}H~cn@zq7P$j0s1Ln}<`!Ov9L#(|G zy$AvP!2OT8<>$ZMb~DLomr0Z{2+wuoo;iVJ~t9qzcZ+hah}IXJlj^5X|;dWORu~ zA`-zY-7)3p+cMe{E7)bZkk4Liir_@sE(n(IPl6J-rCf!*yp1*sR|3Xa)hzP$vS_M) zS=jsmr}_FiCswhKQ;s=niI;7P!reT*pS|_r-vnES!qX4^oR!L0aP9-YFWh*L)#0Rb z&wjr6v#)L3@mfl*)ruKd44P^_#zu^NzGHY$LS$FBtFWPWD`MK-Plm{&|NJV%$|Uy; zwZCVWR=;7{tb)@YnC)hvSOxaiNfX*=WZZC*<*J_FVRo&yv^_SQYT>*k?pd}!ZPaGyC<(+gVj z$kfl6pe8&ZNy(EV2uSD2(LVDQyT#TYZ3^u3AJ}(I?BhvE;ND{p&>z4EHj==@&xcDw zw2t%tI7$HhlJU82KPVqyskmH198 zMKfo-_c0HSSHC1w@hEo|WLW(iBzJoaSJ%CW>oIXp$IZvJIL+sTmHtReDZNhp<3!)C zbE2=MIZ<0Gecu#-%~q2HK-B1Rk2Sf?;`s{zlHn*VmC)XJF(jW@VXCo9ilMk`+w2GK zCrb)uhF)5AzD47!o>2Jc4U+SP*`vb$W{L05U!f5j#2I?~CAhet)A|1PA3!e^iT&w+ z!2g(k@Qu%C|FD+byhLeET*@?0E|LLN{8y#_dm6LQ1!lRizT~`2&MNuRxZ=^00xPh} zgV`J63W@^3OAGUblL|ndeh89iLDsk_a322Z>MphC;-rxz3*gFQi1CpOBqX1BKzJ87 zax*ptmzwt-+RLk1=1>iqc}5GIsk*yM<1P37>7J%_!7dig_*nhszyAFg#&Q#D`X;Ho z>)t;I8-J9xNKKkJRY%fFSsJg&Sh8kJ?bNt>+o$^!O%kI^acFVgKea5bq72vNx!+mG zE5F}aCJU`#2qhAtx6(v5btO#^(CK~qcWughbxE>pGh+SCrbM`<#t}iE>y$`Aj|~`M zZRn7bjLuY(+~2a`7({R9wILckz|86BJ&?nv6f%{;1w#cYg+qmNqqLse*;5rqxtvMT zkJOZDe4NRZPM-%r7o@-x>jD>3UhN{h>*wRWT*)i$Qm<+aM#R|3e+<|>=q^JM52O<8 zz|9tLSs@@a?(1R9&jSwp-$CzGabn!OR3R<_ye&A+Cx&mf4X(#^uhb9yDZ6P>IeVA`y z;bYf$FW%q8bJTSj-!D0<^?T9XxxBC+P1Ke(;`9=pr#?8!Z!pl$Yg%69p;_OJ05Y31 zi(|y0PA;SMc#dUw`matWjmV8(N+&ZGCU zQFh%BfQ(DFjnEf>M3mRkZgpxpO?v3!{sHJc* za)&4ssV@+6GN5b!K#N2A7UIUnp;y^y0LUOk6mBob6H|`K(Y9(-rJp@_t|4=lEiM zsMaimF(Ios^rN}a=ns3j-0_&v#TQYOp{0QoYT2+nYy+)#k&`D~#kFfU`-J6|G_O0h z+VmHGMgsovtpb^$(b{|{vn)o$yRSNq?Rov1e8ghJxirS8Yt}lS^G2CQLvY2@%yqss zD}7wA51Sl7kmJ?tJnB&0Fo-?Jl+o*5yjUWzy@1la#jN0Eb#fXnu+2A`cftTHRdp7& zFJ}L|7{nu8u-=^f-6W!+Rw&Ax5C9F3AA}JUs;_lmtl(dK`JMwchF1zr<0ao56_w0= zqWSBwu#l_8ofk5n?nrfu2|@FHpn*s|SJ?>8A%(N8_#~2R^u(dEy6cnzh9r5;s09J721&xN+ZWGZSby3^NWshqoosDUq^ZdH-%!WKpqZg-wWV}WfBL*Qrx^f5qy~Ds2 zRjEnQr5kgJ|BilV7@V3Dd-_XC~J3o`avaHMv)~h1Ctzm!RQHdCm$t27M8m zQdD>7K!Z`9R@iwhck$)$2|xcJF542#6~yIt`*Oi5g4{0}gkTQbgU|{wyP=GA3<_H8 zwJX6ab}$(|dHtT#_(j@VC7?Mer_Dg%i@dhpVS{4^n+wQZaj2Sp_hUh!b7yK+gp*)Z zrtktu8;!CJen>{bgb+>&M$k@qayMrG$L)eoon_~U?@;WkXolW4cgOD^JE>!L1b@+L@Lm8+bPx?852 z_>&GHwC$x#(7DL$i9vjfe1R5TP;T?1Dj(|1*n+7hEnL2(r3AreaK5u_GS*J_f2dTkXuQ;UY*w(P(|xXonPDnl*fq6zsK0@KaZkXWce)06ZXrsa zr4uTnYN|bv4)n1Rm(SY>96fq67=Zn8a+Pq!B{?^SB zKSxjHQA!$iJnUI>pR9@3pX%XF)8zGXqi@!A^8x1uE6b?xt+=fuZ5)|%Fbx%wcaF!L z)SpEKaVrj1XceC*HZMMt(rW-7kDniRH))c+lY;xW)6+DA$_$khH))NT=}ZDDR91x{ zjK4xM&|B==!x^L8eeICQizr!kL1w&V1-u$OUoc4x_XbOe`l@4ZOKSiU|l-6=q3 za?kLtPj&n*-XUK(Tk+;7p%}4mMq;InbB#U!10ctK?}6Joa%f69E<>)x)U6^=XdgvLbTnebk%1J?KucV}*G@o6nPBA*WaR!uM zk0z{mR}5kHVb9Nq>e)!c&V~7kok?3U2PnvzYqbz;Ks?}=f|es{r(u~77^BJ1R<;Jm zrS9*jVEN;aEz%9zq`wc(1N66g|3B=U@;}DI&fl+kd8p@wTW&Fz@kLsAH74tu^ONyv z){Aqo%-Sh;&iKKn&PSEhDn8ELi&)0$ee7J~Z)MZ>R(A6)XYpbO-86Z1SZ+YXCNf>I z9tsrLL^`NCIvWz{HNSd%7>dt}LW>bACx=Rzeh>V=4?nN?PAK!P+EAJm9Jl((fY1+Y zy{1kVzmHBsDaT^FvFci}TFqLVYuDtg8xPir!qvSul6}oi1b~tY>*Xzf?6T3iAG1Js zqDcLKV4olfRyG}pgvVCKx8Jgc&^h{c&a?K!kl8EU-qo)SG_GF&Y-D0m`hLY#=Y8(*y)fd&m2AsPgsy@THpt;+vwm;r|L zM*m3q`9V50I(m!CIvWheta-c%C!8dR=I{;HPDbRrMegq65nI{S!gF{q)^XDYmlEG6 zl=DuM)tS==QbgYj0d{+^>q^o}E#m1)GocojxZhG`(lj@Zee6Tz7%M)aCxq!#gBFBP zKc~JU|0rD6K72VK+IQA@u7_h4`+jQ$Em3kFln%2pG z+}pK27u>^4*TahgEBrnu;|1~rD~SH$duSxi0#Vp z%a41j@^-jU`y4d5)Y|lOkjEJueKoy=79gZsZlv3( ze6o@vP79j9D71|za!^5N7g2SiF#=Sf;>iF8Hm(>EWBavHq||7uE>O?p2g7vIZphnp z$^p&v42l{_MO`Tl&X5LK(OxYNtryo8rLCE|rekFX0Kv^#URcaxSH%Y8#hxMKO zF9b~T{}8BI7|2k3fVBjpT!QUguQ1C@i=Qbak}d~7iJfh@Dg?!3cYb@N$s-@s#9!nj z10jA!9MVT>z5fpTz~J9pg|a`j=skSo?~{?ZjRsWL6t8irZx-!oytVaoc#gDeu4I@% z8jCisyU{w$yw%1%Q9fu+A4(C`h^%oFn?vQD1ml84wDJR?q@3iqt?BNMDeEeTFC$Ix zBojXdR^tD7t|4IV%^8)ygDcpvk?Z8u)FfAC;jd<@3d=20#pZGwwYBO|8)=U zhQ3wI_@pFcHrTpTCZCeLdF${Q^bU` zI;x>W9FUoOR?I`6Q-2X_yVWq_nnX@-{*Y#!M@>2i^~CBwe0&fr+Jjt!Y>{774^0jZ$n zkRxW$>(k&;TPi99?=bbc<@sV+o}OaAfZwA<$GlUJepSVr-)>eo7qwkAl^QGOr0hI> zGfhls6~5A^l+U?Ck#k15d%@ngHQX%32_ld`=j!!_5Xed$FEn3?>Zc*Xd_%2!O9Jvd%EEM9d1WVn0(g)ervGmUyOkxQ@M((LEsZMgVQ|)=^huE2- z?tNF15JT6PiZ7zi%e=)w%O>|%>0dR#QJBh_dF#Z+;4tuNJ728}+8nYmu(6V^v<>9; znsG{}PGzC7-5N!y6^ae^`bS^`UJC5Lh{>PV>s=MZ8cr<-)(?af`SM|qX)3TTEd}6t zjb;52IH1IQaVdYtK!?X%!tcx=0r3e`7aB%LS*vdtr>Rk}rYv&vr8;?UW=x~<3P>wB?~OA&btLnZJMMGALN)!nERL^rT* zeYsG}#phE>he^5MwIz>K-RL5pCG(dXB|mB_k`u~`1e~M86i7Pw)%@izjdtam$OPuaURG`t-JW#BSDvXEHxzE4WzeG;2fvR}}Oo2g%` zn`ikRHMcj}{Ba5KpAYauntm<_L)F~$l>JWsc45>9AYGz@7z#|P zChrxNd!~=A#lhq2-ti{=55owrM1rfI{2(2K5pr?>dmfmfHGu7$b~cssJKd?gDfACM zybiWu=gjrxes?*8ol8F?TGOlP$(jAi2Ln#trKCE@mTS*NI#AI%>P3Rr(R+UOCd22; zhBxDkctYn5#Hxn$zk>**r4J&Il^iDv{DiRJQcq?T zU-vAoeumc}m}?))v!vd8FZkrghhr_`)n4NG_j|Y|RR_pXP&GB(4Mf}llW-&-CQ3Li z?OgWi1x2yR{MA)cd8TaJhf(c*!9tT*v2+8R=BmP=vxpYApd81$$je_pWRtfNY)jH^ z7LpgN{EqKIx%rWn=DYLqHc*X!1wXUDyU;1|(`Ifr;SrYsG1>rGN5yU|4EvTo^8Tjd zIrEOM_5 z2x*5{FF`}kSo#Z)%Uv?#O*!lhtjP9IojCukm(T9Zh0tsSYY;PIc;nZEm4D{ zy#(ZE79Zs?KRYJ~Fwt*K=YxI>1!Am-r<{cC?5#X>Y9QA zRa_8Mkx;Uw60p)PiUB*8pC46ff-7w8)c^(zm95K<_6VCb)+AHwUIPl$i$mz z^IpY%WxvS{9F4jqWn zqflF7z3Hq!Xr0+R<|3r&EE(TMmqd-9msk;;=b5?W1Aqnxk z^(ff5IW12h*O-JNQ&|b-)WlBj#5r3Rw!f7&B z`o$-U%xksT!7bPLRA4Qk!@FS*2||}PW}XUpOPjm3<Zv!I-I)OoF9x%Xn8kt~fl)pW1%dUdK9^v?&CXlQb2#zxdO}a~tv~5Ipye)S?wBhSJXoT$|C#P9qDYF!*+fE> zm&9){hjO=PY$05?mKHH4!RJxo^jDiW#To+8G~{>9adUMym@wiWRhDF5tD+RSbbzvU&UEhrxgHLij6JFDmY$p%&ECzx!Kd9T6 zsaPF!p7)c{+L(sM#_p-R%(vNgQ?>tI{`uaDarUYfS_dE9fs%)-@6qNJptd0ueLk6Q zXs!Gmi3S1ih?_vUy8~lMgjl25u}`W(M$m-%*C1hzS$};+!Z!Bo<=l=R&&JF!c1UdN zIj{MJ0%&m#ey*u7R!A!-$ ztn%h?Ikap5JO4XlI5sa&x8Ri&+vt^qCo2AwX?bx9XTTe`1a8T=3r2^LZK6n;NX=0g zc2qbqHQL4Hv%i-t$N;1T%Q|5tDSRki{L@4gw%6OQIXCm3=?07sbPbKi+Fr-!>3#6u zR5mOc79?~FLltF04sOZ?iff8+dBk<1EFiwG`j##Ps09wgR+>s0S4MTp9T9sfyL02# zlkrm@Ncud(XhJwF%l1zCZj}v#5%#6{Z`SXR{`h#+Qa)PdE5+Ec9Tg1vlg$OYs-gN0 zFq40lZGwD;3|HD(Hw!N?m&&*8E#1D1*2m+z(z{X5zIf62x)W|mgD^5CcFgeDCs%Vo zx-lQZ%teNP|Han$*MRHXi~XCiVm)HxgDY>RD}Pl^^KElm7EcfX#c6G=@9`K(vx6BB zjbimTw))&kWo&libKCkm^iz1dhYhsG&wv+>Ul!6=hY6A7Uyd|vD(=fsYjP!Ej%^+87dAlom- zpL-T!y}#zXDWH7mLZLBUmM{%gxA#~pVbO^M>>3<;s@Vh}Z;EB%8xsjzFc+t+E|N-? ztC`%~U1935jdGatO?htdGm|d?j)TEh`qNNq4ZIKZl2~5IK;e1{2L$Cv&@K!M1Z5Ou zrJx~p-^~b>A~i@#9+DCcsW%L1JVud|na<%ODSgIzN&x0&z0aUsumayI#f&zBWG_Kx zO#aZ9(-n_1?1+G04(7XB+w%Uj^)dXY8UX>x62l;^6?gTLeCAM-R~tLXP(UiRiqGe* zd*W!z2kVYW%j=9Eo193g(v25`#L}nNXM=|e%7(4AIf)AR+PA3uDT9XjTAbY&uo@>& zN2PDvW}3GTfajMxK{eP&*1xZXuWkZe)Tdp>+ZkS?NLIqAi@!Sr3k=0hH4;i}Tc~$Q zlJXJ1p9;8!9dh_$LD`0J@aBazG({Tbz?1IXk0b{%?g@$Zhak=~xpzsL$*)6|XM-=* z0;wW=4`@7BmpdK7bHT7$x+?LcD}2s4>1?gwm6h1ijb|@zJIG8FBmO>f43~Q|YFqbQ z0X=w<;t5VBXPeZtyyXgv&%W*vOe2-|tOi4iW!`r7-@=6D8}}dPRk1i9M-ZdM(yTW- zIqNbT8nX%V7c(zZNW&VBb{nigvu@zq=Rx4tni?y z4bwpC;T+XPG1EH3J}?RioNYKg@_6BDaqm^xyC-3^K!PIIJ<3Cq=c^CNcx}r^&@uNZ z9NSAm82>&MY?FS*BCDw|c1_d>Kf?}-edljA@U*P`OT8YqU~+9Cpg(=2f1syV-tTPm zw>&DHuD%Uc%mlWx(E*180_A)Hn_Bt5B?cTGiU)*a{X75-ai?XdW_Qw5PrW;|C+j0k zJveX0c>6`Mt4`~JM2cqtusCJw(g&X+DTIqUZI zqz;NsKYh-w19eRyOZ!W1UkJ$;$#VM`UOtNNg>{ z--EzxA+Vp2(~aj37QEq=sVl1Od;RNGh-$0m&w!OJkC{FgL}|a;4NssM<7-N8!$`Ux z{3N6?sb}{4D=hQ0#fZg-(+p1rN|3P0<=ysXPlwAL0j{W&roKG|Qb5xn>Ml~ckcq&7 z-c!M}$UfT6lP$%iQ-jXtCF>=l9(UGDOx*6Q6F1$~y!we1w>_rJ9P`yVj@<1SUKWe< z&jqgu%BacQ@PaS6%V>_N$9=tj^{i*;pVeA?biNSWex~*1@SBWx@ffm6zsP@|;(?ID zFY%{Mv7A~c<_^ht6lcfEt(kuv7upO*Cx*%r6#k|M^ z@|+_lEn`cK{K0-jZveZcrJDxXO4vGG?%XOsKT7wnwKX-*KiHeOQ~d7`|C#5@y%!tu zkHTD#HAuphm0|u;cW6ZM(3B+Q7oo&1w>}u0<0U)NWDLqa0_ET>a{Xk!Y;7%aO8sZi24>5 zCy?uj{;oQkpwMzB*^JP5kV4YPr#`_%>r))kW4Tv`rx&Y*^;7O9^jbe~h%dC?FQo~o z?RnD^^eG8eBGEz4(gb&Zbc^xf55a&8!Fa8L{GjXKkaiaaxbH(dyHJjTd8kP4e(uHP z#xEhoXg#j|?XVmZS~J`N-I4p!^Vu&j5B-{p`|UX%{(HmW#O8Tk)?uC&odt5E(4Ppe zt_#19z;7lJwBEy*GVqp#AnHgKe|+v{6bkl{wpk?woL2Ke0?G}@=?k)oAP}8Z4eM2T z_{HYX$0rM-u@&#`7%mZDIKRw>(4YR!E9oD3<8(>S&Uns|sdeccGCBfhDD;yko)CD}aRf?IQ2`mH&T7H2$)ISc( z3nc$~&vTZHQx-LQc?GNwwYLo%v?s&LtX|3&Tz+%86)FuQAg^eQo*voI1p4e$@@?7* zQho1ft0rq6_em(S_ig%Bx+))MB>p#|&c3tx)Qf8ApPMChTD6O}ZPyK&VKHb(pW};I z{*KKdj9n-?RKt`nshZg&&Fnt$2a&l>)c$6;n5+>MARrFr5+i{?@o=LrUyUrN3EdE& zpN~67u?&tKzCwKytQSvi`)ns{(YL?#-sM01NALFkvdF`R-;)*^9;t)YCP3gZQqVaO z@Dv^HYiq@6eHNqD0Ok*qX@@Tp*xFLQ+jMz(d$&csVAU0M_6 zBUqRu##zFk`CVmc+8_62J`m27&=B5=l&s@4m(D&ax*vAPJPBcB>oq8x-+0fyJ5;@% z$$uwzaXDvla=jY0Ah#y7_Q1o6tGdnJEStK(C@<%_N;6G!Mi`yXKwCU{S_cHec|rK90@mV8p>)~~6T z^sg4S@EjR~B8d;mH&b`r!U$kHkbDFL-v&Q4-^R8`^v2o$bDa+ktg%yjNuJv6f_2kp z`sc$Y^8NQymXiZg0;&cT$XiyQqF^E2B_{U9mv3&Lw!$+ev#!&Jz0>D=w#KUIrc(K0 zOJyjxHfN46*Ia~iZ|A8)$DLL&NQ0{(+yxHAoWXVl5-P_k6qfUcT-{ zd+DsU^>RoWKL=V4?|sKt!vf?D$u($ zziHa(4&b^i(ti=Rgbf}bpnIU~KtOt)@e9D60~}+l+5QjmC!`}r zeUb$8HNvw4`&YkI+bPOlD-}mRCKkkX(ydtYKiLw{7k2Wc~zY( zb|zkntNqP|OtWnl`(sW(KymsQr{6M0gNaNBX{pXS2EO8lwVu6!5%48Tw=3+<$z8kmNjK^_Sa+MFE*3*^YH~6 zBa|No!%*-i-5>04v?Y~v$oQ}q95#?&y*&K!_fTM~1U6}~@9BVwik z2@}$^S_tmnnGmc;f*^MUi^cPdb{^oFTX!0lr@7sJG^)QQ-WF1C~XWf{ycJ$Z*Z(edTCQD><=;m-%FgKDdXYpNG)H~nJs zrY_LOZla@}m9RMbNpI-PrYa^RU{`>%oKL3KJmnO0{E7*Tp{S{=Kq!9y3$THV4h!8j zRtFp+M}KF_tckR3`lwf^6@QJ1<{!9w$>MJDw5P&nsS#HA9Y5tDJC#zkvZPfJ5w%%c z70n~N2v__9BP>J(2{zhR*~`|K?<`=Nak~B|O5TZ1ei5Ct@9dhrA4@cJjyblo=V*I+ zop6J1g(qa#rR;=P`deQy`e?=V{;Tg&r~C)&Jq8X&Nf^7@(Kljoq()S8x7TdSWU@eJ zIcNtX9qk6Y4W8>M3C3yFg29nrQ9A3$?=46qk}>$6bmC4QFX!F^sj(*w+jq;PtPbZ3 z({DFl0!H)!DHkc%_D@51t6FEq6h#jwf%sFAf{p*Cc2`AN^T$nt=bIn=S=w{j5eN37 z!vp^u51GH)Gp&}Su`Jc#mQwo6sduXD3L8>o%9TcM?u)7!WArtBY$OFY;`^LA`Kh3R zQfOiw-Sg%cXC&sW)uRK8^a<$&ca)}wYJ>Nd+@q&4lxJTjy{G&{-rTL0@sJ#Q()-Z< zRA$z;DSk|tPchc>s3;)iDLG|5nl3O#f~DL@(yk(3Y$ZPuJ)gaH>XBSyL4By&VnnI; zZimjH7ex4rqP`?Vg+N@jOj*gDvJWN;!SmWUMzn_@-wIxteN%pSp>D2Rs9U z7PN7}+zMmQr~kl5Oupq;gGA-=%bb#zwcnS z*WF}Wy;ksoH#yI_T#vHcI%s1tIE37!|72W?j!6r({nNp#9PwVL8)x*T__Dbs=%}nT zeAi91<^-(+;S%<7-(!bUaygnYv!RYmB-Ru=IR>pa!Km-*A_5msq`zfj@h-8^M`q48 z=(KL{uT04P<~%<>#^zx74z|>`QDtOB zVdVNAO(lasysXsir1V5@Ck#!sf5Lh|e{*{KP2vfYp9_$^%g1Vi{RJ5ti$5YQ20JQV z(%oLJ7v1hPUwDO^wbJ%xIm zzMS*5_a~>(kgdl4& z(~F%!2bF9%SF;7d733qJ?1g-BXgarG-sVTc+|JI3;@E8Foc1)npAYx2xv!=tgGTKZNp* z6d(U^uQcpi!!z0QGKrTXUgWPNTGu@Csnn>>{YPw z!K%}@%%(oO@M#uG0F(RL>vwlxGfdxEvqohF+dHpZ2(h_p+T7{#sh%$X@xgrrN+;5$ ze|>x2H1}xxi`ipFJ;t$TmoJvAUf*ut&bfa&Z@oySS85^c^?K3O-V+}i(yJLe4_ZuS ztq?tz*#y1z<v&eMFa5_$^+BmY(QTrdI*&|NB9uo$3?z9U zZj7CL7mOqQc>`Hw?93iXH=g}5A^V#}*vzinkgabD&ux2ir?a$u)6|02J_J#Wc9T_jnMDL((yZlGmg2u?{YD3a~ON;P&p6NoFx3;S_}Udao+ zG08#L@jq+_1Nafqn{xNE1?-_3U0CTkApvri`q%}2s&jm|F0tG1fJ5G1`>`YRyQe!% z_a2B;le>M)_tnPutDfK&dGG8(@vAO|{eqK>55*3%rQriHV+@WA<7VZOSHgPjPP7ND z5rhw)=j3*Scfk?jpr9rAhXhO^_4XmnrsQg=h;P3`dpLt%T@7&B_yo;f7-YA=Lm*v< zk2p6Ydf7NtSb*^UYah4^jHM+Nqc&&SJTL1vHrS$9>OB+MdCOQd+vLmkfxUv)nEBw5 zTxc&Sb{H!SZ7#%1bfizdGpTFwnKjtZ=hKI5qfYLR?o?rjp^Ti*6Agw0-O( zpg`MipVxPHblYV7jjOJCF^c{m;K1M+UnV)*#J@)YJ?#H{4xyLocFLA+x3SS?!h)i7 zaHKLXIg-bgd*0}I5;#xTObssp(ai94a_}wkW%7Ql03S|tubeoe)p6Qd;4*-FMB~rALlv#-fvd$A9x+Wmd;%b#rDYxL!||rkYuNW7G2j7 zE=ckbU$BZ3eF31K@nQ@a*lqv6nyxe|skI9;ndXqDMGzJ=>P=UI=4?2Sb~7!klq|c_ zM`D>%d7TgyG|&>8)Y34~>NBsE!?m=V6Not!#O;P%rv!4=OdN7b={r>4`E`Dr^{&15 zyU*Uwe%@!Tw^t>zs(hkxyYmvZBB#a10{5$kLAy5L)f*mNHWCp2U=%9d8S;Ca505uQ zl66D`%I|YzUf)wMyRuBdVz3|;=^`T-*7uJTer^vm#82Lyg-&>rv9r8E)qrUWoNRCh zIW)PL8EiK?%L2QsGW6NmFFL!fM#QA?Cepj-wn)FuVs9&;R&==@n)pQbPEyHUDJEpC zbyreM@<>SF2U&3c{z>zH0A^#}Qr$^!VdE5JpHUsivJ{A)dXtgq+&~k4jV7C_F?|vy zsT-+le-yEl3UvP2s^-=3&u>p-G$6GOp-3&H*SN-stG{A$rzn-RBPjI--e3=aOb2G)O&jGY+sqxu@~T*!M&W3T;!mDOi`> zTQtFIpu4o>o-HZ-PJiHi8OHpuHJ8l{4t$Y3eMiXCyLY#IL;5}Ml)g*MOf3Kyua9i8 z(GDswF%03+5a;K}YuV-SX=cm{-ReC&#N0NK`*HF_yYpO#j3Xu;KhqaEdS?EHg!SlIMCJ=`11K0pu*^WL0&y?1 zz(VeItI~AKJ;FSBfa#378;V@Y-$G-TmqeRQg_D+v_~8JZfNd9O&eAm@TF)MM%ZeAo zv+-ACvL5t{?w`)qDp<`rdKrJ`V#udK|FM1jn9=CYAJj6PH^<};;JjM@y&4;{W@LHa zNbi*WVAO}DwL7F9C2OVHAv+r%mY2;gHZ<@)@&-fDxj+4{{-A97$Vzixy>(Cs$Uyvq zH8AKA3e9vo?=Y9nrSRkc$3w+IX-9e^O>e$5$|wvgAcSs zLkbI_yr7}2Df6>AqhEhXl5XeXL*UOG$2;&SXKs>uPBNvuPTR22VxReuU0RU{IR+c! z$8Q1^`}!i3HLEKSI*{G?`q|lHb@HH+|Lyo`TaTWF6F|IdUc3Aq`x-RMO6em5@{%qLD*MKqfLga% znlQhm`tH2<=LCn{^v5S!-)EHGF|6wPBKdIyy&t%)EiC9C)#8d@YYW;rn$z(Y-@fUu zCVSyuLi_xU_`~B>idgRn?&#O`%QLxn)VF(Oa{&DV)W%!-I}ZKEKiGm17!-F@rws}9Kv0d=F)X{q zm#W>v9`%|CH)X7f?H$P3n@*b7PitH};bdZGYqx)ev_Q9z1rE+gRWxrICt37!Kl&da zJRjE;g5h=XO`zs#3*AnLTY5DMTOg=*ccmIgb-{P5_ zH)kMBbwgCU)dyRIa4-Lsr5TgogcDW@am|&@xF_YG>brV6>XCSvaMFsNAC=?*1V=wl z^_aB82RQ7NLRvAc#ioyxjb#ugTgiUpvTGMo;RbH8BZ!<9_$5E3=-Kcg7k+jdhHTj8Vqh zj30&H*NmxK>DVh10+E=pyQYwwUt)O6P>rRD9ovB10I1atqT55*4UMR^z`qg$;)9kT z;PNfRDj*ccuoYbpv~Jvc`GG8xg2kKd8GTE|0148E?TVgxXfoWV3QVzAMPu6|yduo7 zeaC7x)+BaPLmlV9UsDpB8cw4t%d2Havq&B?>r4q%79D*p>V5D6|4rkIR~E$pdI5e8 zSHfkU;Q_c0_B`VF84T$8;oc3}EimXBO}e810!f3JQy+<^FGvyv1OA$lyUWv)%Ngwv zb(4u%q~8+l0_>ARFV3m^z{ocz`}wkO_FYjDl1akn6>fW9f+_+lZ_M0D@2iYBG}kvj z!H;c9-k%$1huFilRv86eS?A?gx2ildIaSF7G$*Y2=7fGLrT>B#-KHAclM>cceH!&} zC|qYs)GL;Y2g1II2U-z{ysn;m_3j&0G%s|?9lvMaotR2D_B6K3!SyY>t9E+OtR^EuJctJoEEvRObl=2-S9C%9wkssV?X4rV1Bw5g#JxB$5UE zaC9V=s3^3+EL`WiGKCNddmKmDoI%qs#J{U<<$T~K@C0UA!S^+tGM(Rl>QYY7V~`Db zc$CT`4-WtgHOdG!Rlq#Y)+6RwOn(TI1wm`E-CP5)BRZOROv!b!s{l)}7DXbh`u%+- z2c56guxf6IPa&O%YNH9%a$VV*esi||^O!56x7E-%^er((I~xSGkdCj0;n#KgZcj_` zPZ1F9Dj4LN_2%0Vp@q~^4zldDhm(bBMH)P9GgaL^M+xkdyYkvoaUPTEIB@rNnhG^b zZN3*V58(0$&$CQJs@%P|Iq|(qA$2v~6oJyE+l^>z!42(97b-yJSOm2$gY7ItImpAF zP7Ea~5}&S6vv@B@z}&s$DqgD+U^09GIWgvk*AyeRA(?R5MhTI8loa!+3Mf-sgOchR zXh#GKh^_*1)|cG1k__5mLRf}vj1c8CVj0hGEqgt}v`whUV}B=Efyw=2Q8Uui)wT{? zVPA0$WV6mHFFplW1BAyQLJQbPvwm@`Pl@D6&p^#dq?4RNZe?9tj~3$ZYtqA)rIF~ zAgRp^esN`xB4}+xI|t43dHQ(LSU_o1c*zNz8ao0=+%?TGnvlmV@`6>ojWdGum5BJq z>_DMOp;y?phf>8I_eF6)mqUec8Qq$F`=fOi5R3f}ui|*n=&KBehwM^~9|^+A0#0j# zv;DEJ&Vo>e#NxqBF?k013Ipbv-q(%Y=A*U++L%0s07Z+IFZi}@E{S?s5+znwn4s(_ zEz~Prr&mNo(64M;Y$4|jv864}Dkyt#x8avOcDJ9$#G|6CHym!U9W*%(X$9(p1WZ4x z7lhax&E73-07si6qRrQj^~U}9(vAU*e=*kRQR+ z$_eT76~9m2DFDm!l>}sOooVU^FR6|Apt@k4qgXC}8$`v^abU|z5bzvuKeVsRjhym7 DWF@i{ diff --git a/ic_launcher_small.png b/ic_launcher_small.png index 89b702fc6238313a7316d13e1ba744b9770e1248..7fec34d336c333663d2aed1cad46c94d88675fb6 100644 GIT binary patch literal 17333 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
{f-bI-bW-9Mgn_OqX}&))mQ=9hx7Q9#&BPG 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 SQh@~k0000 - \ No newline at end of file diff --git a/res/anim/right.xml b/res/anim/right.xml index 6c3fbf0..5634516 100644 --- a/res/anim/right.xml +++ b/res/anim/right.xml @@ -3,8 +3,8 @@ + android:interpolator="@android:anim/anticipate_overshoot_interpolator" + android:toXDelta="-2%p" android:duration="150" + /> \ No newline at end of file diff --git a/res/drawable-hdpi/ic_launcher.png b/res/drawable-hdpi/ic_launcher.png index b7a46c4e0496e3f083b38e144b21583da48bdf0d..91347fa512d2ac146e675a293d5c63912a4cdb1e 100644 GIT binary patch literal 6011 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 literal 7037 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 b#IpVeHrAq%3`&)!00000NkvXXu0mjf2(dP% diff --git a/res/drawable-xhdpi/ic_launcher.png b/res/drawable-xhdpi/ic_launcher.png index 81a92c661d35d99f1eba642eafa5c267ceb1978f..e781abcdca59c4bbfba503eb16627d5cc89e97ef 100644 GIT binary patch literal 9424 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 WYX6bG?fRtv0000N2bPDNB8 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 B=jZ?c diff --git a/res/drawable-xxhdpi/ic_launcher.png b/res/drawable-xxhdpi/ic_launcher.png index 7df2cf11b7cb600fb2927b1bde2a689408a0faa4..cf420bd9535c3c58efb4ef7325d99250002f75c3 100644 GIT binary patch literal 15837 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 literal 19940 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 + + + + + + + - Lightning Google Paramètres @@ -13,47 +11,15 @@ Voir la version mobile Voir la version ordinateur Utiliser un User Agent personnalisé - Page d\'accueil + Au démarrage Les paramètres ne s\'appliqueront qu\'aux nouveaux onglets Activer le mode plein écran Activer JavaScript - Restaurer les onglets si ils sont perdus - Paramètres - Dossier de téléchargement - Paramètres avancés - Code source - Licence - github.com/anthonycr/Lightning-Browser - Apache License 2.0 - NewSettings - Paramètres - Version de l\'application - Effacer le cache en quittant - Activer la redistribution du texte - Bloquer les images - Permettre aux sites d\'ouvrir dans de nouvelles fenêtres - Activer les témoins - Importer les favoris du Navigateur Internet - Taille du texte - AdvancedSettings - Hello world! - (Recommandé) - (Les sites peuvent paraître étranges) - Moteur de recherche - Rechercher - Modifer l\'échelle de l\'écran - Charger les pages dans une vue d\'ensemble - Restorer les onglets perdus au démarrage - Historique - Ajouter favoris + History + Aj. Favoris Favoris Partager Paramètres - Onglet privé - Nouvel onglet - (Navigateur d\'origine introuvable) - (Navigateur d\'origine trouvé) - Cacher la barre de status en naviguant - Effacer lex témoins - - + Incognito tab + New tab + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index d775be7..4015c81 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -55,5 +55,6 @@ (Supported stock browser detected) Hide status bar while browsing Clear browser cookies + Enable back and foward gestures \ No newline at end of file diff --git a/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java b/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java index dfe5290..96a5b36 100644 --- a/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java +++ b/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java @@ -39,8 +39,8 @@ public class AdvancedSettingsActivity extends Activity { static final String preferences = "settings"; static SharedPreferences settings; static SharedPreferences.Editor edit; - static RelativeLayout r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15; - static CheckBox cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11; + static RelativeLayout r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16; + static CheckBox cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11, cb12; static Context CONTEXT; Handler messageHandler; @@ -76,6 +76,8 @@ public class AdvancedSettingsActivity extends Activity { r13 = (RelativeLayout) findViewById(R.id.r13); r14 = (RelativeLayout) findViewById(R.id.r14); r15 = (RelativeLayout) findViewById(R.id.r15); + r16 = (RelativeLayout) findViewById(R.id.r16); + cb1 = (CheckBox) findViewById(R.id.cb1); cb2 = (CheckBox) findViewById(R.id.cb2); @@ -88,6 +90,7 @@ public class AdvancedSettingsActivity extends Activity { cb9 = (CheckBox) findViewById(R.id.cb9); cb10 = (CheckBox) findViewById(R.id.cb10); cb11 = (CheckBox) findViewById(R.id.cb11); + cb12 = (CheckBox) findViewById(R.id.cb12); cb1.setChecked(settings.getBoolean("passwords", true)); cb2.setChecked(settings.getBoolean("cache", false)); @@ -100,6 +103,7 @@ public class AdvancedSettingsActivity extends Activity { cb9.setChecked(settings.getBoolean("overviewmode", true)); cb10.setChecked(settings.getBoolean("restoreclosed", true)); cb11.setChecked(settings.getBoolean("hidestatus", false)); + cb12.setChecked(settings.getBoolean("gestures", true)); r1(r1); r2(r2); @@ -116,6 +120,7 @@ public class AdvancedSettingsActivity extends Activity { r13(r13); r14(r14); r15(r15); + r16(r16); cb1(cb1); cb2(cb2); cb3(cb3); @@ -127,6 +132,7 @@ public class AdvancedSettingsActivity extends Activity { cb9(cb9); cb10(cb10); cb11(cb11); + cb12(cb12); back(); TextView importBookmarks = (TextView)findViewById(R.id.isImportAvailable); @@ -311,6 +317,19 @@ public class AdvancedSettingsActivity extends Activity { }); } + + void cb12(CheckBox view) { + view.setOnCheckedChangeListener(new OnCheckedChangeListener() { + + @Override + public void onCheckedChanged(CompoundButton buttonView, + boolean isChecked) { + edit.putBoolean("gestures", isChecked); + edit.commit(); + } + + }); + } void r1(RelativeLayout view) { view.setOnClickListener(new OnClickListener() { @@ -531,6 +550,17 @@ public class AdvancedSettingsActivity extends Activity { }); } + void r16(RelativeLayout view) { + view.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + cb12.setChecked(!cb12.isChecked()); + } + + }); + } + public void clearHistory() { CookieManager c = CookieManager.getInstance(); CookieSyncManager.createInstance(this); diff --git a/src/acr/browser/barebones/activities/BrowserActivity.java b/src/acr/browser/barebones/activities/BrowserActivity.java index 8d9f675..71eef7d 100644 --- a/src/acr/browser/barebones/activities/BrowserActivity.java +++ b/src/acr/browser/barebones/activities/BrowserActivity.java @@ -42,6 +42,7 @@ import android.graphics.Bitmap; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.location.LocationManager; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -95,240 +96,78 @@ import android.widget.TextView.OnEditorActionListener; @SuppressWarnings("deprecation") public class BrowserActivity extends Activity implements OnTouchListener { - public static void generateHistory(final CustomWebView view, - final Context context) { - - Thread history = new Thread(new Runnable() { - - @Override - public void run() { - String historyHtml = HistoryPageVariables.Heading; - Cursor historyCursor = null; - String[][] h = new String[50][3]; - - try { - SQLiteDatabase s = historyHandler.getReadableDatabase(); - historyCursor = s.query("history", // URI - // of - columns, // Which columns to return - null, // Which rows to return (all rows) - null, // Selection arguments (none) - null, null, null); - - handler.sendEmptyMessage(1); - - } catch (SQLiteException ignored) { - } catch (NullPointerException ignored) { - } catch (IllegalStateException ignored) { - } + public static class ClickHandler extends Handler { - try { - if (historyCursor != null) { - if (historyCursor.moveToLast()) { - // Variable for holding the retrieved URL - int urlColumn = historyCursor.getColumnIndex("url"); - int titleColumn = historyCursor - .getColumnIndex("title"); - // Reference to the the column containing the URL - int n = 0; - do { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + String url = null; + url = msg.getData().getString("url"); + handleLongClickOnBookmarks(url, msg.arg1); + } - h[n][0] = historyCursor.getString(urlColumn); - h[n][2] = h[n][0].substring(0, - Math.min(100, h[n][0].length())) - + "..."; - h[n][1] = historyCursor.getString(titleColumn); - historyHtml += (HistoryPageVariables.Part1 - + h[n][0] + HistoryPageVariables.Part2 - + h[n][1] + HistoryPageVariables.Part3 - + h[n][2] + HistoryPageVariables.Part4); - n++; - } while (n < 49 && historyCursor.moveToPrevious()); - } - } - } catch (SQLiteException ignored) { - } catch (NullPointerException ignored) { - } catch (IllegalStateException ignored) { - } + } - historyHtml += BookmarkPageVariables.End; - File historyWebPage = new File(context.getFilesDir(), - "history.html"); - try { - FileWriter hWriter = new FileWriter(historyWebPage, false); - hWriter.write(historyHtml); - hWriter.close(); - } catch (IOException e) { - e.printStackTrace(); - } - if (uBar.isShown()) { - currentTabTitle.setText("History"); - setUrlText(""); - getUrl.setPadding(tenPad, 0, tenPad, 0); - } + static class Handle extends Handler { - view.loadUrl("file://" + historyWebPage); + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case 1: { + currentTab.loadUrl(getUrl.getText().toString()); + break; + } + case 2: { + // deleteTab(msg.arg1); + break; + } + case 3: { + currentTab.invalidate(); + break; } - - }); - history.run(); - } - - public static void setUrlText(String url) { - if (url != null) { - if (!url.startsWith("file://")) { - getUrl.setText(url); - } else { - getUrl.setText(""); } + super.handleMessage(msg); } - } - public static void removeView(CustomWebView view) { - if (!showFullScreen) { - view.startAnimation(fadeOut); - } - background.removeView(view); - uBar.bringToFront(); } - private static BrowserActivity ACTIVITY; - - - private static int index = 0; - public static void renameBookmark(String url){ - index = 0; - for(int n = 0; n tabList; + public static List tabList; // variables public static CustomWebView currentTab; public static TextView currentTabTitle; + public static MultiAutoCompleteTextView getUrl; public static TextView[] urlTitle; public static ProgressBar browserProgress; @@ -357,6 +196,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { public static boolean isPhone = false; public static boolean showFullScreen = false; public static boolean noStockBrowser = true; + public static boolean gestures; public static SharedPreferences settings; public static SharedPreferences.Editor edit; public static String user; @@ -382,294 +222,155 @@ public class BrowserActivity extends Activity implements OnTouchListener { public static Drawable active; public static LinearLayout tabLayout; - public static String[] getArray(String input) { - return input.split(SEPARATOR); - } - - public static int newId() { - - Random n = new Random(); - int id = n.nextInt(); - - while (tabList.contains(id)) { - id = n.nextInt(); + // creates the tab and returns the ID of the view + public static int createTab(String theUrl, boolean display) { + int id = -1; + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] == null) { + id = n; + break; + } } - return id; - } - - @SuppressWarnings("unused") - public static void setFavicon(int id, Bitmap favicon) { - Drawable icon; - icon = new BitmapDrawable(null, favicon); - icon.setBounds(0, 0, width / 2, height / 2); - if (icon != null) { - urlTitle[id].setCompoundDrawables(icon, null, exitTab, null); - } else { - urlTitle[id] - .setCompoundDrawables(webpageOther, null, exitTab, null); - } - - } - - void deleteTab(final int del) { - if (API >= 11) { - main[del].onPause(); - } - main[del].stopLoading(); - main[del].clearHistory(); - edit.putString("oldPage", urlToLoad[del][0]); - edit.commit(); - urlToLoad[del][0] = null; - urlToLoad[del][1] = null; - if (API < 16) { - urlTitle[del].setBackgroundDrawable(active); - } else { - urlTitle[del].setBackground(active); - } - - urlTitle[del].setPadding(leftPad, 0, rightPad, 0); - Animation yolo = AnimationUtils.loadAnimation(this, R.anim.down); - yolo.setAnimationListener(new AnimationListener() { - - @Override - public void onAnimationEnd(Animation animation) { - // urlTitle[del].setVisibility(View.GONE); - tabLayout.post(new Runnable() { - - @Override - public void run() { - tabLayout.removeView(urlTitle[del]); + if (id != -1) { + if (tabList.size() > 0) { + if (display) { + if (API < 16) { + currentTabTitle.setBackgroundDrawable(inactive); + } else { + currentTabTitle.setBackground(inactive); } - - }); - findNewView(del); - main[del] = null; + currentTabTitle.setPadding(leftPad, 0, rightPad, 0); + } } - - @Override - public void onAnimationRepeat(Animation animation) { + final TextView title = new TextView(CONTEXT); + title.setText("New Tab"); + if (display) { + if (API < 16) { + title.setBackgroundDrawable(active); + } else { + title.setBackground(active); + } + } else { + if (API < 16) { + title.setBackgroundDrawable(inactive); + } else { + title.setBackground(inactive); + } } + title.setSingleLine(true); + title.setGravity(Gravity.CENTER_VERTICAL); + title.setHeight(height32); + title.setWidth(pixels); + title.setPadding(leftPad, 0, rightPad, 0); + title.setId(id); + title.setGravity(Gravity.CENTER_VERTICAL); - @Override - public void onAnimationStart(Animation animation) { - } + title.setCompoundDrawables(webpageOther, null, exitTab, null); - }); - urlTitle[del].startAnimation(yolo); - uBar.bringToFront(); - } + Drawable[] drawables = title.getCompoundDrawables(); + bounds = drawables[2].getBounds(); + title.setOnTouchListener(ACTIVITY); + Animation holo = AnimationUtils.loadAnimation(CONTEXT, R.anim.up); + tabLayout.addView(title); + title.setVisibility(View.INVISIBLE); + holo.setAnimationListener(new AnimationListener() { - void findNewView(int id) { - int delete = tabList.indexOf(id); - int leftId = id; - boolean right = false, left = false; - if (id == currentId) { + @Override + public void onAnimationEnd(Animation animation) { + } - if (main[id].isShown()) { - removeView(main[id]); - } + @Override + public void onAnimationRepeat(Animation animation) { + } - if (tabList.size() > delete + 1) { - id = tabList.get(delete + 1); - if (urlTitle[id].isShown()) { - background.addView(main[id]); - main[id].setVisibility(View.VISIBLE); - uBar.bringToFront(); - if (API < 16) { - urlTitle[id].setBackgroundDrawable(active); - } else { - urlTitle[id].setBackground(active); - } - urlTitle[id].setPadding(leftPad, 0, rightPad, 0); - currentId = id; - currentTab = main[id]; - currentTabTitle = urlTitle[id]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - right = true; - if (main[id].getProgress() < 100) { - onProgressChanged(id, main[id].getProgress()); - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - } else { - onProgressChanged(id, main[id].getProgress()); - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); - } - // break; + @Override + public void onAnimationStart(Animation animation) { + title.setVisibility(View.VISIBLE); } - } - if (!right) { - if (delete > 0) { - leftId = tabList.get(delete - 1); - if (urlTitle[leftId].isShown()) { - background.addView(main[leftId]); - main[leftId].setVisibility(View.VISIBLE); - // uBar.bringToFront(); - if (API < 16) { - urlTitle[leftId].setBackgroundDrawable(active); - } else { - urlTitle[leftId].setBackground(active); - } - urlTitle[leftId].setPadding(leftPad, 0, rightPad, 0); - currentId = leftId; - currentTab = main[leftId]; - currentTabTitle = urlTitle[leftId]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - left = true; - if (main[leftId].getProgress() < 100) { - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - onProgressChanged(leftId, - main[leftId].getProgress()); - } else { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); - onProgressChanged(leftId, - main[leftId].getProgress()); - } - // break; - } + }); + title.startAnimation(holo); + urlTitle[id] = title; - } + urlTitle[id].setText("New Tab"); + if (theUrl != null) { + main[id] = generateTab(id, theUrl, display); + } else { + main[id] = generateTab(id, homepage, display); } } else { - right = left = true; - } - tabList.remove(delete); - if (!(right || left)) { - finish(); + Utils.showToast(CONTEXT, "Max number of tabs reached"); } - uBar.bringToFront(); - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + return id; } - @Override - public void onLowMemory() { - for (int n = 0; n < MAX_TABS; n++) { - if (n != currentId && main[n] != null) { - main[n].freeMemory(); + public static void deleteBookmark(String url) { + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); + int n = 0; + try { + BufferedWriter bookWriter = new BufferedWriter(new FileWriter(book)); + BufferedWriter urlWriter = new BufferedWriter(new FileWriter( + bookUrl)); + while (bUrl[n] != null && n < (MAX_BOOKMARKS - 1)) { + if (!bUrl[n].equalsIgnoreCase(url)) { + bookWriter.write(bTitle[n]); + urlWriter.write(bUrl[n]); + bookWriter.newLine(); + urlWriter.newLine(); + } + n++; } + bookWriter.close(); + urlWriter.close(); + } catch (FileNotFoundException e) { + } catch (IOException e) { } - super.onLowMemory(); + for (int p = 0; p < MAX_BOOKMARKS; p++) { + bUrl[p] = null; + bTitle[p] = null; + } + try { + BufferedReader readBook = new BufferedReader(new FileReader(book)); + BufferedReader readUrl = new BufferedReader(new FileReader(bookUrl)); + String t, u; + int z = 0; + while ((t = readBook.readLine()) != null + && (u = readUrl.readLine()) != null && z < MAX_BOOKMARKS) { + bUrl[z] = u; + bTitle[z] = t; + z++; + } + readBook.close(); + readUrl.close(); + } catch (IOException ignored) { + } + openBookmarks(CONTEXT, currentTab); } - void enter() { - getUrl.setOnKeyListener(new OnKeyListener() { + public static void generateHistory(final CustomWebView view, + final Context context) { + + Thread history = new Thread(new Runnable() { @Override - public boolean onKey(View arg0, int arg1, KeyEvent arg2) { + public void run() { + String historyHtml = HistoryPageVariables.Heading; + Cursor historyCursor = null; + String[][] h = new String[50][3]; - switch (arg1) { - case KeyEvent.KEYCODE_ENTER: - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - searchTheWeb(getUrl.getText().toString(), CONTEXT); - return true; - default: - break; - } - return false; - } + try { + SQLiteDatabase s = historyHandler.getReadableDatabase(); + historyCursor = s.query("history", // URI + // of + columns, // Which columns to return + null, // Which rows to return (all rows) + null, // Selection arguments (none) + null, null, null); - }); - getUrl.setOnEditorActionListener(new OnEditorActionListener() { - - @Override - public boolean onEditorAction(TextView arg0, int actionId, - KeyEvent arg2) { - if (actionId == EditorInfo.IME_ACTION_GO - || actionId == EditorInfo.IME_ACTION_DONE - || actionId == EditorInfo.IME_ACTION_NEXT - || actionId == EditorInfo.IME_ACTION_SEND - || actionId == EditorInfo.IME_ACTION_SEARCH - || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - searchTheWeb(getUrl.getText().toString(), CONTEXT); - return true; - } - return false; - } - - }); - } - - @SuppressLint("HandlerLeak") - void enterUrl() { - getUrl = (MultiAutoCompleteTextView) findViewById(R.id.enterUrl); - getUrl.setPadding(tenPad, 0, tenPad, 0); - getUrl.setTextColor(getResources().getColor(android.R.color.black)); - getUrl.setPadding(tenPad, 0, tenPad, 0); - getUrl.setBackgroundResource(R.drawable.book); - getUrl.setPadding(tenPad, 0, tenPad, 0); - final List> list = new ArrayList>(); - handler = new Handler() { - - @Override - public void handleMessage(Message msg) { - - switch (msg.what) { - case 1: { - SimpleAdapter adapter = new SimpleAdapter(CONTEXT, list, - R.layout.two_line_autocomplete, new String[] { - "title", "url" }, new int[] { R.id.title, - R.id.url }); - - getUrl.setAdapter(adapter); - - break; - } - case 2: { - - break; - } - } - } - }; - - Thread updateAutoComplete = new Thread(new Runnable() { - - @Override - public void run() { - - Cursor c = null; - Cursor managedCursor = null; - columns = new String[] { "url", "title" }; - try { - - bookmarks = Browser.BOOKMARKS_URI; - c = getContentResolver().query(bookmarks, columns, null, - null, null); - } catch (SQLiteException ignored) { - } catch (IllegalStateException ignored) { - } catch (NullPointerException ignored) { - } - - if (c != null) { - noStockBrowser = false; - Log.i("Browser", "detected AOSP browser"); - } else { - noStockBrowser = true; - Log.e("Browser", "did not detect AOSP browser"); - } - if (c != null) { - c.close(); - } - try { - - managedCursor = null; - SQLiteDatabase s = historyHandler.getReadableDatabase(); - managedCursor = s.query("history", // URI - // of - columns, // Which columns to return - null, // Which rows to return (all rows) - null, // Selection arguments (none) - null, null, null); + handler.sendEmptyMessage(1); } catch (SQLiteException ignored) { } catch (NullPointerException ignored) { @@ -677,135 +378,101 @@ public class BrowserActivity extends Activity implements OnTouchListener { } try { - if (managedCursor != null) { - - if (managedCursor.moveToLast()) { - + if (historyCursor != null) { + if (historyCursor.moveToLast()) { // Variable for holding the retrieved URL - - int urlColumn = managedCursor.getColumnIndex("url"); - int titleColumn = managedCursor + int urlColumn = historyCursor.getColumnIndex("url"); + int titleColumn = historyCursor .getColumnIndex("title"); // Reference to the the column containing the URL + int n = 0; do { - String urlA = managedCursor - .getString(urlColumn); - String title = managedCursor - .getString(titleColumn); - Map map = new HashMap(); - map.put("title", title); - map.put("url", urlA); - list.add(map); - } while (managedCursor.moveToPrevious()); + + h[n][0] = historyCursor.getString(urlColumn); + h[n][2] = h[n][0].substring(0, + Math.min(100, h[n][0].length())) + + "..."; + h[n][1] = historyCursor.getString(titleColumn); + historyHtml += (HistoryPageVariables.Part1 + + h[n][0] + HistoryPageVariables.Part2 + + h[n][1] + HistoryPageVariables.Part3 + + h[n][2] + HistoryPageVariables.Part4); + n++; + } while (n < 49 && historyCursor.moveToPrevious()); } } - handler.sendEmptyMessage(1); } catch (SQLiteException ignored) { } catch (NullPointerException ignored) { } catch (IllegalStateException ignored) { } - managedCursor.close(); - } - - }); - try { - updateAutoComplete.start(); - } catch (NullPointerException ignored) { - } catch (SQLiteMisuseException ignored) { - } catch (IllegalStateException ignored) { - } - - getUrl.setThreshold(1); - getUrl.setTokenizer(new SpaceTokenizer()); - getUrl.setOnItemClickListener(new OnItemClickListener() { - @Override - public void onItemClick(AdapterView arg0, View arg1, int arg2, - long arg3) { + historyHtml += BookmarkPageVariables.End; + File historyWebPage = new File(context.getFilesDir(), + "history.html"); try { - String url; - url = ((TextView) arg1.findViewById(R.id.url)).getText() - .toString(); - getUrl.setText(url); - searchTheWeb(url, CONTEXT); - url = null; + FileWriter hWriter = new FileWriter(historyWebPage, false); + hWriter.write(historyHtml); + hWriter.close(); + } catch (IOException e) { + e.printStackTrace(); + } + if (uBar.isShown()) { + currentTabTitle.setText("History"); + setUrlText(""); getUrl.setPadding(tenPad, 0, tenPad, 0); - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - } catch (NullPointerException e) { - Log.e("Browser Error: ", - "NullPointerException on item click"); } + + view.loadUrl("file://" + historyWebPage); } }); - - getUrl.setSelectAllOnFocus(true); // allows edittext to select all when - // clicked + history.run(); } - void back() { - ImageView exit = (ImageView) findViewById(R.id.exit); - exit.setBackgroundResource(R.drawable.button); - if (isPhone) { - RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); - relativeLayout1.removeView(exit); + public static CustomWebView generateTab(final int pageToView, String Url, + final boolean display) { + CustomWebView view = new CustomWebView(CONTEXT); + view.setId(pageToView); + view.setWebViewClient(new CustomWebViewClient(ACTIVITY)); + view.setWebChromeClient(new CustomChromeClient(ACTIVITY)); + if (API > 8) { + view.setDownloadListener(new CustomDownloadListener(ACTIVITY)); } - exit.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - if (currentTab.canGoBack()) { - currentTab.goBack(); - } else { - deleteTab(currentId); - } - - } - - }); - exit.setOnLongClickListener(new OnLongClickListener() { - - @Override - public boolean onLongClick(View v) { - finish(); - return true; + if (display) { + if (currentId != -1) { + background.removeView(currentTab); } + background.addView(view); + view.requestFocus(); + currentId = pageToView; + currentTab = main[pageToView]; + currentTabTitle = urlTitle[pageToView]; + } + uBar.bringToFront(); + if (Url.contains("about:home")) { + goBookmarks(CONTEXT, view); + } else if (Url.contains("about:blank")) { + view.loadUrl(""); + } else { + searchTheWeb(Url, CONTEXT); - }); - + } + Log.i("Browser", "tab complete"); + return view; } - @Override - public void finish() { - background.clearDisappearingChildren(); - background.removeView(currentTab); - tabScroll.clearDisappearingChildren(); - if (settings.getBoolean("cache", false)) { - currentTab.clearCache(true); - Log.i("Lightning", "Cache Cleared"); - } - super.finish(); + public static String[] getArray(String input) { + return input.split(SEPARATOR); } - void forward() { - ImageView forward = (ImageView) findViewById(R.id.forward); - forward.setBackgroundResource(R.drawable.button); - if (isPhone) { - RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); - relativeLayout1.removeView(forward); + public static void goBack(CustomWebView view) { + if (view.isShown() && view.canGoBack() && gestures) { + view.goBack(); } - forward.setOnClickListener(new OnClickListener() { + Animation left = AnimationUtils.loadAnimation(CONTEXT, R.anim.left); + background.startAnimation(left); - @Override - public void onClick(View v) { - if (currentTab.canGoForward()) { - currentTab.goForward(); - } - } - - }); } static void goBookmarks(Context context, CustomWebView view) { @@ -831,994 +498,1453 @@ public class BrowserActivity extends Activity implements OnTouchListener { openBookmarks(context, view); } - @SuppressLint("InlinedApi") - private void initialize() { + public static void goForward(CustomWebView view) { + if (view.isShown() && view.canGoForward() && gestures) { + view.goForward(); + } + Animation right = AnimationUtils.loadAnimation(CONTEXT, R.anim.right); + background.startAnimation(right); + } - tabList = new ArrayList(); - bUrl = new String[MAX_BOOKMARKS]; - bTitle = new String[MAX_BOOKMARKS]; - main = new CustomWebView[MAX_TABS]; - urlTitle = new TextView[MAX_TABS]; - urlToLoad = new String[MAX_TABS][2]; - fullScreen = false; - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); - historyHandler = new DatabaseHandler(this); - cookieManager = CookieManager.getInstance(); - CookieSyncManager.createInstance(CONTEXT); - cookieManager.setAcceptCookie(settings.getBoolean("cookies", true)); + public static void handleLongClickOnBookmarks(final String clickedURL, + final int n) { + if (clickedURL != null) { - progressBar = (ProgressBar) findViewById(R.id.progressBar1); - browserProgress = (ProgressBar) findViewById(R.id.progressBar); - browserProgress.setVisibility(View.GONE); + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + renameBookmark(clickedURL); + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + main[n].loadUrl(clickedURL); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + deleteBookmark(clickedURL); + break; + } + } + } + }; - if (API >= 11) { - progressBar.setIndeterminateDrawable(getResources().getDrawable( - R.drawable.ics_animation)); - } else { - progressBar.setIndeterminateDrawable(getResources().getDrawable( - R.drawable.ginger_animation)); + AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog + builder.setMessage("What would you like to do with this bookmark?") + .setPositiveButton("Rename", dialogClickListener) + .setNegativeButton("Open", dialogClickListener) + .setNeutralButton("Delete", dialogClickListener).show(); } + } - showFullScreen = settings.getBoolean("fullscreen", false); - uBar = (RelativeLayout) findViewById(R.id.urlBar); - screen = (RelativeLayout) findViewById(R.id.background); - slideUp = AnimationUtils.loadAnimation(this, R.anim.slide_up); - slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); - fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); - fadeOut.setDuration(250); - fadeIn = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); - // mShortAnimationDuration = getResources().getInteger( - // android.R.integer.config_mediumAnimTime); - slideUp.setAnimationListener(new AnimationListener() { + public static int newId() { - @Override - public void onAnimationEnd(Animation arg0) { - uBar.setVisibility(View.GONE); - } + Random n = new Random(); + int id = n.nextInt(); - @Override - public void onAnimationRepeat(Animation arg0) { + while (tabList.contains(id)) { + id = n.nextInt(); + } + return id; + } + // new tab method, takes the id of the tab to be created and the url to load + public static int newTab(final String theUrl, final boolean display) { + Log.i("Browser", "making tab"); + homepage = settings.getString("home", HOMEPAGE); + int finalID = createTab(theUrl, display); + if (finalID != -1) { + tabList.add(finalID); + if (display) { + currentId = finalID; + currentTab = main[finalID]; + currentTabTitle = urlTitle[finalID]; } - @Override - public void onAnimationStart(Animation arg0) { + return finalID; + } else { + return 0; + } + } + public static void onCreateWindow(Message resultMsg) { + newTab("", true); + WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; + transport.setWebView(currentTab); + resultMsg.sendToTarget(); + browserHandler.postDelayed(new Runnable() { + @Override + public void run() { + currentTab.loadUrl(getUrl.getText().toString()); } + }, 500); + } - }); - slideDown.setAnimationListener(new AnimationListener() { + public static void onHideCustomView(FrameLayout fullScreenContainer, + CustomViewCallback mCustomViewCallback, int orientation) { + FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); + screen.removeView(fullScreenContainer); + fullScreenContainer = null; + mCustomViewCallback.onCustomViewHidden(); + ACTIVITY.setRequestedOrientation(orientation); + background.addView(currentTab); + uBar.setVisibility(View.VISIBLE); + uBar.bringToFront(); + } - @Override - public void onAnimationEnd(Animation animation) { + + private static Message click; + public static boolean onLongClick() { + int n = currentId; + if(currentId == -1 || currentTab == null){ + return true; + } + final HitTestResult result = currentTab.getHitTestResult(); + if (currentTab.getUrl().contains( + "file://" + CONTEXT.getFilesDir() + "/bookmarks.html")) { + click = new Message(); + click.arg1 = n; + click.setTarget(new ClickHandler()); + currentTab.requestFocusNodeHref(click); - } + return true; + } else if (result != null) { + if (result.getExtra() != null) { + if (result.getType() == 5 && API > 8) { + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + int num = currentId; + newTab(result.getExtra(), false); + // urlTitle[num].performClick(); + currentId = num; + currentTab = main[num]; + currentTabTitle = urlTitle[num]; + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + currentTab.loadUrl(result.getExtra()); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + if (API > 8) { + String url = result.getExtra(); - @Override - public void onAnimationRepeat(Animation animation) { + Utils.downloadFile(CONTEXT, url, null, null); - } + } + break; + } + } + } + }; - @Override - public void onAnimationStart(Animation animation) { - uBar.setVisibility(View.VISIBLE); - } + AlertDialog.Builder builder = new AlertDialog.Builder( + CONTEXT); // dialog + builder.setMessage( + "What would you like to do with this image?") + .setPositiveButton("Open in New Tab", + dialogClickListener) + .setNegativeButton("Open Normally", + dialogClickListener) + .setNeutralButton("Download Image", + dialogClickListener).show(); - }); + } else { + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + int num = currentId; + newTab(result.getExtra(), false); + currentId = num; + currentTab = main[num]; + currentTabTitle = urlTitle[num]; + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + currentTab.loadUrl(result.getExtra()); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + if (API < 11) { + android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ACTIVITY + .getSystemService(Context.CLIPBOARD_SERVICE); + clipboard.setText(result.getExtra()); + } else { + ClipboardManager clipboard = (ClipboardManager) ACTIVITY + .getSystemService(CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText( + "label", result.getExtra()); + clipboard.setPrimaryClip(clip); + } + break; + } + } + } + }; - RelativeLayout refreshLayout = (RelativeLayout) findViewById(R.id.refreshLayout); - refreshLayout.setBackgroundResource(R.drawable.button); + AlertDialog.Builder builder = new AlertDialog.Builder( + CONTEXT); // dialog + builder.setTitle(result.getExtra()) + .setMessage( + "What do you want to do with this link?") + .setPositiveButton("Open in New Tab", + dialogClickListener) + .setNegativeButton("Open Normally", + dialogClickListener) + .setNeutralButton("Copy link", dialogClickListener) + .show(); + } + } + return true; - // user agent - if (API < 17) { - user = new WebView(CONTEXT).getSettings().getUserAgentString(); } else { - user = WebSettings.getDefaultUserAgent(this); + return false; } + } - background = (FrameLayout) findViewById(R.id.holder); - defaultUser = user; // setting mobile user - // agent - switch (settings.getInt("search", 1)) { - case 1: - SEARCH = FinalVariables.GOOGLE_SEARCH; - break; - case 2: - SEARCH = FinalVariables.BING_SEARCH; - break; - case 3: - SEARCH = FinalVariables.YAHOO_SEARCH; - break; - case 4: - SEARCH = FinalVariables.STARTPAGE_SEARCH; - break; - case 5: - SEARCH = FinalVariables.DUCK_SEARCH; - break; - case 6: - SEARCH = FinalVariables.BAIDU_SEARCH; - break; - case 7: - SEARCH = FinalVariables.YANDEX_SEARCH; - break; - case 8: - SEARCH = FinalVariables.DUCK_LITE_SEARCH; - break; - } - - exitTab = getResources().getDrawable(R.drawable.stop); // user - // agent - homepage = settings.getString("home", HOMEPAGE); // initializing - // the - // stored - // homepage - // variable - - // initializing variables declared + public static void onPageFinished(WebView view, String url) { + if (view.isShown()) { + view.invalidate(); + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); - height = getResources().getDrawable(R.drawable.loading) - .getMinimumHeight(); - width = getResources().getDrawable(R.drawable.loading) - .getMinimumWidth(); + if (showFullScreen && uBar.isShown()) { + uBar.startAnimation(slideUp); + } + } + view.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); + Log.i("Lightning", "Page Finished"); + loadTime = System.currentTimeMillis() - loadTime; + Log.i("Lightning", "Load Time: " + loadTime); + } - // hides keyboard so it doesn't default pop up - this.getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); + + private static int numberPage; + public static void onPageStarted(WebView view, String url, Bitmap favicon) { + Log.i("Lightning", "Page Started"); + loadTime = System.currentTimeMillis(); + numberPage = view.getId(); - // opens icondatabase so that favicons can be stored - WebIconDatabase.getInstance().open( - getDir("icons", MODE_PRIVATE).getPath()); + if (url.startsWith("file://")) { + view.getSettings().setUseWideViewPort(false); + } else { + view.getSettings().setUseWideViewPort( + settings.getBoolean("wideviewport", true)); + } - // scroll view containing tabs - tabLayout = (LinearLayout) findViewById(R.id.tabLayout); - tabScroll = (HorizontalScrollView) findViewById(R.id.tabScroll); - tabScroll.setBackgroundColor(getResources().getColor(R.color.black)); - tabScroll.setHorizontalScrollBarEnabled(false); - if (API > 8) { - tabScroll.setOverScrollMode(View.OVER_SCROLL_NEVER); // disallow - // overscroll + if (view.isShown()) { + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + setUrlText(url); } - // image dimensions and initialization - final int dps = 175; - final float scale = getApplicationContext().getResources() - .getDisplayMetrics().density; - pixels = (int) (dps * scale + 0.5f); - leftPad = (int) (17 * scale + 0.5f); - rightPad = (int) (15 * scale + 0.5f); - height32 = (int) (32 * scale + 0.5f); - tenPad = (int) (10 * scale + 0.5f); + urlTitle[numberPage].setCompoundDrawables(webpageOther, null, exitTab, + null); + if (favicon != null) { + setFavicon(view.getId(), favicon); + } - webpageOther = getResources().getDrawable(R.drawable.webpage); - incognitoPage = getResources().getDrawable(R.drawable.incognito); - webpageOther.setBounds(0, 0, width / 2, height / 2); - incognitoPage.setBounds(0, 0, width / 2, height / 2); - exitTab.setBounds(0, 0, width * 2 / 3, height * 2 / 3); + getUrl.setPadding(tenPad, 0, tenPad, 0); + urlToLoad[numberPage][0] = url; - Thread startup = new Thread(new Runnable() { + if (!uBar.isShown() && showFullScreen) { + uBar.startAnimation(slideDown); + } + } - @Override - public void run() { - reopenOldTabs(); // restores old tabs or creates a new one + public static void onProgressChanged(int id, int progress) { + if (id == currentId) { + browserProgress.setProgress(progress); + if (progress < 100) { + browserProgress.setVisibility(View.VISIBLE); + } else { + browserProgress.setVisibility(View.GONE); } + } + } - }); - startup.run(); + public static void onReceivedTitle(int numberPage, String title) { + if (title != null && title.length() != 0) { + urlTitle[numberPage].setText(title); + urlToLoad[numberPage][1] = title; + Utils.updateHistory(CONTEXT, CONTEXT.getContentResolver(), + noStockBrowser, urlToLoad[numberPage][0], title); + } + } - // new tab button - ImageView newTab = (ImageView) findViewById(R.id.newTab); - newTab.setBackgroundResource(R.drawable.button); - newTab.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - newTab(homepage, true); - tabScroll.postDelayed(new Runnable() { - @Override - public void run() { - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); - } - }, 100L); + public static void onShowCustomView() { + background.removeView(currentTab); + uBar.setVisibility(View.GONE); + } - } - }); - newTab.setOnLongClickListener(new OnLongClickListener() { + static void openBookmarks(Context context, CustomWebView view) { + String bookmarkHtml = BookmarkPageVariables.Heading; - @Override - public boolean onLongClick(View v) { - if (settings.getString("oldPage", "").length() > 0) { - newTab(settings.getString("oldPage", ""), true); - edit.putString("oldPage", ""); - edit.commit(); - tabScroll.postDelayed(new Runnable() { - @Override - public void run() { - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), - 0); - } - }, 100L); - } - return true; + for (int n = 0; n < MAX_BOOKMARKS; n++) { + if (bUrl[n] != null) { + bookmarkHtml += (BookmarkPageVariables.Part1 + bUrl[n] + + BookmarkPageVariables.Part2 + bUrl[n] + + BookmarkPageVariables.Part3 + bTitle[n] + BookmarkPageVariables.Part4); } + } + bookmarkHtml += BookmarkPageVariables.End; + File bookmarkWebPage = new File(context.getFilesDir(), "bookmarks.html"); + try { + FileWriter bookWriter = new FileWriter(bookmarkWebPage, false); + bookWriter.write(bookmarkHtml); + bookWriter.close(); + } catch (IOException e) { + e.printStackTrace(); + } + view.loadUrl("file://" + bookmarkWebPage); - }); - refresh = (ImageView) findViewById(R.id.refresh); - refreshLayout.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View arg0) { + if (uBar.isShown()) { + currentTabTitle.setText("Bookmarks"); + setUrlText(""); + getUrl.setPadding(tenPad, 0, tenPad, 0); + } - if (currentTab.getProgress() < 100) { - currentTab.stopLoading(); - } else { - currentTab.reload(); - } - } + } - }); + public static void openFileChooser(ValueCallback uploadMsg) { + mUploadMessage = uploadMsg; + Intent i = new Intent(Intent.ACTION_GET_CONTENT); + i.addCategory(Intent.CATEGORY_OPENABLE); + i.setType("*/*"); + ACTIVITY.startActivityForResult( + Intent.createChooser(i, "File Chooser"), 1); + } - enterUrl(); - if (showFullScreen) { - toggleFullScreen(); + public static void reinitializeSettings() { + int size = tabList.size(); + cookieManager = CookieManager.getInstance(); + CookieSyncManager.createInstance(CONTEXT); + cookieManager.setAcceptCookie(settings.getBoolean("cookies", true)); + for (int n = 0; n < size; n++) { + main[tabList.get(n)].settingsInitialization(CONTEXT); } - browserHandler = new Handle(); - } - static class Handle extends Handler { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case 1: { - currentTab.loadUrl(getUrl.getText().toString()); - break; - } - case 2: { - // deleteTab(msg.arg1); - break; - } - case 3: { - currentTab.invalidate(); - break; - } + public static void renameBookmark(String url) { + index = 0; + for (int n = 0; n < MAX_BOOKMARKS; n++) { + if (bUrl[n] != null) { + if (bUrl[n].equalsIgnoreCase(url)) { + index = n; + break; + } } - super.handleMessage(msg); } - } - - void reopenOldTabs() { - Intent url = getIntent(); - String URL = url.getDataString(); - boolean oldTabs = false; + final AlertDialog.Builder homePicker = new AlertDialog.Builder(CONTEXT); + homePicker.setTitle("Rename Bookmark"); + final EditText getText = new EditText(CONTEXT); + getText.setText(bTitle[index]); - if (settings.getBoolean("savetabs", true)) { - if (URL != null) { - // opens a new tab with the url if its there - int n = newTab(URL, true); - main[n].resumeTimers(); - oldTabs = true; + homePicker.setView(getText); + homePicker.setPositiveButton("OK", + new DialogInterface.OnClickListener() { - } - boolean first = false; - for (String aMemoryURL : memoryURL) { - if (aMemoryURL.length() > 0) { - if (!first) { - int n = newTab("", !oldTabs); - main[n].resumeTimers(); - main[n].getSettings().setCacheMode( - WebSettings.LOAD_CACHE_ELSE_NETWORK); - main[n].loadUrl(aMemoryURL); - } else { - int n = newTab("", false); - main[n].getSettings().setCacheMode( - WebSettings.LOAD_CACHE_ELSE_NETWORK); - main[n].loadUrl(aMemoryURL); + @Override + public void onClick(DialogInterface dialog, int which) { + bTitle[index] = getText.getText().toString(); + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + File bookUrl = new File(CONTEXT.getFilesDir(), + "bookurl"); + int n = 0; + try { + BufferedWriter bookWriter = new BufferedWriter( + new FileWriter(book)); + BufferedWriter urlWriter = new BufferedWriter( + new FileWriter(bookUrl)); + while (bUrl[n] != null && n < (MAX_BOOKMARKS - 1)) { + bookWriter.write(bTitle[n]); + urlWriter.write(bUrl[n]); + bookWriter.newLine(); + urlWriter.newLine(); + n++; + } + bookWriter.close(); + urlWriter.close(); + } catch (FileNotFoundException e) { + } catch (IOException e) { + } + for (int p = 0; p < MAX_BOOKMARKS; p++) { + bUrl[p] = null; + bTitle[p] = null; + } + try { + BufferedReader readBook = new BufferedReader( + new FileReader(book)); + BufferedReader readUrl = new BufferedReader( + new FileReader(bookUrl)); + String t, u; + int z = 0; + while ((t = readBook.readLine()) != null + && (u = readUrl.readLine()) != null + && z < MAX_BOOKMARKS) { + bUrl[z] = u; + bTitle[z] = t; + z++; + } + readBook.close(); + readUrl.close(); + } catch (IOException ignored) { + } + openBookmarks(CONTEXT, currentTab); } - oldTabs = true; - } - - } + }); + homePicker.show(); - if (!oldTabs) { - int n = newTab(homepage, true); - main[n].resumeTimers(); - } - } else { - if (URL != null) { - // opens a new tab with the URL if its there - int n = newTab(URL, true); - main[n].resumeTimers(); + } - } else { - // otherwise it opens the home-page - int n = newTab(homepage, true); - main[n].resumeTimers(); + static void searchTheWeb(String query, Context context) { + query = query.trim(); + currentTab.stopLoading(); - } + if (query.startsWith("www.")) { + query = "http://" + query; + } else if (query.startsWith("ftp.")) { + query = "ftp://" + query; } - } - public static CustomWebView generateTab(final int pageToView, String Url, - final boolean display) { - CustomWebView view = new CustomWebView(CONTEXT); - view.setId(pageToView); - view.setWebViewClient(new CustomWebViewClient(ACTIVITY)); - view.setWebChromeClient(new CustomChromeClient(ACTIVITY)); - if (API > 8) { - view.setDownloadListener(new CustomDownloadListener(ACTIVITY)); - } + boolean containsPeriod = query.contains("."); + boolean isIPAddress = (TextUtils.isDigitsOnly(query.replace(".", "")) && (query + .replace(".", "").length() >= 4)); + boolean aboutScheme = query.contains("about:"); + boolean validURL = (query.startsWith("ftp://") + || query.startsWith("http://") || query.startsWith("file://") || query + .startsWith("https://")) || isIPAddress; + boolean isSearch = ((query.contains(" ") || !containsPeriod) && !aboutScheme); - if (display) { - if (currentId != -1) { - background.removeView(currentTab); - } - background.addView(view); - view.requestFocus(); - currentId = pageToView; - currentTab = main[pageToView]; - currentTabTitle = urlTitle[pageToView]; - } - uBar.bringToFront(); - if (Url.contains("about:home")) { - goBookmarks(CONTEXT, view); - } else if (Url.contains("about:blank")) { - view.loadUrl(""); + if (query.contains("about:home") || query.contains("about:bookmarks")) { + goBookmarks(context, currentTab); + } else if (query.contains("about:history")) { + generateHistory(currentTab, context); + } else if (isSearch) { + query.replaceAll(" ", "+"); + currentTab.loadUrl(SEARCH + query); + } else if (!validURL) { + currentTab.loadUrl("http://" + query); } else { - if (!Url.startsWith("http") && Url != "") { - Url = "http://" + Url; - } - view.loadUrl(Url); - + currentTab.loadUrl(query); } - Log.i("Browser", "tab complete"); - return view; - } - - private void newSettings() { - startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); } - // new tab method, takes the id of the tab to be created and the url to load - public static int newTab(final String theUrl, final boolean display) { - Log.i("Browser", "making tab"); - homepage = settings.getString("home", HOMEPAGE); - int finalID = createTab(theUrl, display); - if (finalID != -1) { - tabList.add(finalID); - if (display) { - currentId = finalID; - currentTab = main[finalID]; - currentTabTitle = urlTitle[finalID]; - } - - return finalID; + @SuppressWarnings("unused") + public static void setFavicon(int id, Bitmap favicon) { + Drawable icon; + icon = new BitmapDrawable(null, favicon); + icon.setBounds(0, 0, width / 2, height / 2); + if (icon != null) { + urlTitle[id].setCompoundDrawables(icon, null, exitTab, null); } else { - return 0; + urlTitle[id] + .setCompoundDrawables(webpageOther, null, exitTab, null); } + } - // creates the tab and returns the ID of the view - public static int createTab(String theUrl, boolean display) { - int id = -1; - for (int n = 0; n < MAX_TABS; n++) { - if (main[n] == null) { - id = n; - break; - } - } - if (id != -1) { - if (id > 0) { - if (display) { - if (API < 16) { - currentTabTitle.setBackgroundDrawable(inactive); - } else { - currentTabTitle.setBackground(inactive); - } - currentTabTitle.setPadding(leftPad, 0, rightPad, 0); - } - } - final TextView title = new TextView(CONTEXT); - title.setText("New Tab"); - if (display) { - if (API < 16) { - title.setBackgroundDrawable(active); - } else { - title.setBackground(active); - } + public static void setUrlText(String url) { + if (url != null) { + if (!url.startsWith("file://")) { + getUrl.setText(url); } else { - if (API < 16) { - title.setBackgroundDrawable(inactive); - } else { - title.setBackground(inactive); - } + getUrl.setText(""); } - title.setSingleLine(true); - title.setGravity(Gravity.CENTER_VERTICAL); - title.setHeight(height32); - title.setWidth(pixels); - title.setPadding(leftPad, 0, rightPad, 0); - title.setId(id); - title.setGravity(Gravity.CENTER_VERTICAL); - - title.setCompoundDrawables(webpageOther, null, exitTab, null); - - Drawable[] drawables = title.getCompoundDrawables(); - bounds = drawables[2].getBounds(); - title.setOnTouchListener(ACTIVITY); - Animation holo = AnimationUtils.loadAnimation(CONTEXT, R.anim.up); - tabLayout.addView(title); - title.setVisibility(View.INVISIBLE); - holo.setAnimationListener(new AnimationListener() { + } + } - @Override - public void onAnimationEnd(Animation animation) { - } + static void share() { + Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); - @Override - public void onAnimationRepeat(Animation animation) { - } + // set the type + shareIntent.setType("text/plain"); - @Override - public void onAnimationStart(Animation animation) { - title.setVisibility(View.VISIBLE); - } + // add a subject + shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, + urlToLoad[currentId][1]); - }); - title.startAnimation(holo); - urlTitle[id] = title; + // build the body of the message to be shared + String shareMessage = urlToLoad[currentId][0]; - urlTitle[id].setText("New Tab"); + // add the message + shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage); - if (theUrl != null) { - main[id] = generateTab(id, theUrl, display); - } else { - main[id] = generateTab(id, homepage, display); - } + // start the chooser for sharing + CONTEXT.startActivity(Intent.createChooser(shareIntent, + "Share this page")); + } + public static void toggleFullScreen() { + showFullScreen = settings.getBoolean("fullscreen", false); + CustomWebView.showFullScreen = showFullScreen; + if (fullScreen) { + background.removeView(uBar); + screen.addView(uBar); + fullScreen = false; } else { - Utils.showToast(CONTEXT, "Max number of tabs reached"); + screen.removeView(uBar); + background.addView(uBar); + fullScreen = true; } - return id; } - @Override - protected void onActivityResult(int requestCode, int resultCode, - Intent intent) { - if (requestCode == 1) { - if (null == mUploadMessage) - return; - Uri result = intent == null || resultCode != RESULT_OK ? null - : intent.getData(); - mUploadMessage.onReceiveValue(result); - mUploadMessage = null; - + void back() { + ImageView exit = (ImageView) findViewById(R.id.exit); + exit.setBackgroundResource(R.drawable.button); + if (isPhone) { + RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); + relativeLayout1.removeView(exit); } - } + exit.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + + if (currentTab.canGoBack()) { + currentTab.goBack(); + } else { + deleteTab(currentId); + } - @Override - public void onBackPressed() { - try { - if (showFullScreen && !uBar.isShown()) { - uBar.startAnimation(slideDown); } - if (currentTab.isShown() && currentTab.canGoBack()) { - currentTab.goBack(); - } else { - deleteTab(currentId); - uBar.bringToFront(); + + }); + exit.setOnLongClickListener(new OnLongClickListener() { + + @Override + public boolean onLongClick(View v) { + finish(); + return true; } - } catch (NullPointerException ignored) { - } - return; - } - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - if (settings.getBoolean("textreflow", false)) { - currentTab.getSettings().setLayoutAlgorithm( - LayoutAlgorithm.NARROW_COLUMNS); - } else { - currentTab.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NORMAL); - } + }); } - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); // displays main xml layout - CONTEXT = this; - ACTIVITY = this; - settings = getSharedPreferences("settings", 0); - edit = settings.edit(); - - if (settings.getBoolean("hidestatus", false)) { - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); + void deleteTab(final int del) { + if (API >= 11) { + main[del].onPause(); } - if (settings.getBoolean("savetabs", true)) { - String mem = settings.getString("memory", ""); - edit.putString("memory", ""); - memoryURL = new String[MAX_TABS]; - memoryURL = getArray(mem); + main[del].stopLoading(); + main[del].clearHistory(); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + edit.putString("oldPage", urlToLoad[del][0]); + edit.commit(); + urlToLoad[del][0] = null; + urlToLoad[del][1] = null; + if (API < 16) { + urlTitle[del].setBackgroundDrawable(active); + } else { + urlTitle[del].setBackground(active); } - inactive = getResources().getDrawable(R.drawable.bg_inactive); - active = getResources().getDrawable(R.drawable.bg_press); - initialize(); // sets up random stuff - options(); // allows options to be opened - enter();// enter url bar - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); + urlTitle[del].setPadding(leftPad, 0, rightPad, 0); + Animation yolo = AnimationUtils.loadAnimation(this, R.anim.down); + yolo.setAnimationListener(new AnimationListener() { - float widthInInches = metrics.widthPixels / metrics.xdpi; - float heightInInches = metrics.heightPixels / metrics.ydpi; - double sizeInInches = Math.sqrt(Math.pow(widthInInches, 2) - + Math.pow(heightInInches, 2)); - // 0.5" buffer for 7" devices - isPhone = sizeInInches < 6.5; - forward();// forward button - back(); - if (settings.getInt("first", 0) == 0) { // This dialog alerts the user - // to some navigation - // techniques - String message = "1. Long-press back button to exit browser\n\n" - + "2. Swipe from left edge toward the right (---->) to go back\n\n" - + "3. Swipe from right edge toward the left (<----)to go forward\n\n" - + "4. Visit settings and advanced settings to change options\n\n" - + "5. Long-press on the new tab button to open the last closed tab"; + @Override + public void onAnimationEnd(Animation animation) { + // urlTitle[del].setVisibility(View.GONE); + tabLayout.post(new Runnable() { - Utils.createInformativeDialog(CONTEXT, "Browser Tips", message); - edit.putInt("first", 1); - edit.commit(); - } + @Override + public void run() { + tabLayout.removeView(urlTitle[del]); + } - } + }); + findNewView(del); + main[del] = null; + } - @Override - public boolean onCreateOptionsMenu(Menu menu) { + @Override + public void onAnimationRepeat(Animation animation) { + } - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu, menu); + @Override + public void onAnimationStart(Animation animation) { + } - return true; + }); + urlTitle[del].startAnimation(yolo); + uBar.bringToFront(); } - /* - * (non-Javadoc) - * - * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent) - */ - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - switch (keyCode) { - case KeyEvent.KEYCODE_SEARCH: { - getUrl.requestFocus(); - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - manager.showSoftInput(getUrl, 0); + void enter() { + getUrl.setOnKeyListener(new OnKeyListener() { - break; - } - case KeyEvent.KEYCODE_F5: { - currentTab.reload(); - } - case KeyEvent.KEYCODE_ESCAPE: { - currentTab.stopLoading(); - } - case KeyEvent.KEYCODE_TAB: { - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - if (!manager.isActive()) { - newTab(homepage, true); - } + @Override + public boolean onKey(View arg0, int arg1, KeyEvent arg2) { - } - case KeyEvent.KEYCODE_F12: { - finish(); - } - case KeyEvent.KEYCODE_F6: { - getUrl.selectAll(); - } - case KeyEvent.KEYCODE_F10: { - startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); - } - case KeyEvent.KEYCODE_F11: { - toggleFullScreen(); - } - case KeyEvent.KEYCODE_DEL: { - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - if (!manager.isActive()) { - currentTab.goBack(); + switch (arg1) { + case KeyEvent.KEYCODE_ENTER: + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + searchTheWeb(getUrl.getText().toString(), CONTEXT); + return true; + default: + break; + } + return false; } - } - } - return super.onKeyDown(keyCode, event); - } - @Override - public boolean onKeyLongPress(int keyCode, KeyEvent event) { + }); + getUrl.setOnEditorActionListener(new OnEditorActionListener() { - if (keyCode == KeyEvent.KEYCODE_BACK) { - if (!settings.getBoolean("restoreclosed", true)) { - for (int n = 0; n < MAX_TABS; n++) { - urlToLoad[n][0] = null; + @Override + public boolean onEditorAction(TextView arg0, int actionId, + KeyEvent arg2) { + if (actionId == EditorInfo.IME_ACTION_GO + || actionId == EditorInfo.IME_ACTION_DONE + || actionId == EditorInfo.IME_ACTION_NEXT + || actionId == EditorInfo.IME_ACTION_SEND + || actionId == EditorInfo.IME_ACTION_SEARCH + || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + searchTheWeb(getUrl.getText().toString(), CONTEXT); + return true; } + return false; } - finish(); - return true; - } else - return super.onKeyLongPress(keyCode, event); - } - - @Override - protected void onNewIntent(Intent intent) { - - String url = intent.getDataString(); - int id = -1; - int download = -1; - try { - id = intent.getExtras().getInt("acr.browser.barebones.Origin") - 1; - } catch (NullPointerException e) { - id = -1; - } - try { - download = intent.getExtras().getInt( - "acr.browser.barebones.Download"); - } catch (NullPointerException e) { - download = -1; - } - if (id >= 0) { - main[id].loadUrl(url); - } else if (download == 1) { - Utils.downloadFile(CONTEXT, url, null, null); - } else if (url != null) { - newTab(url, true); - } - super.onNewIntent(intent); + }); } - @Override - public boolean onOptionsItemSelected(MenuItem item) { + @SuppressLint("HandlerLeak") + void enterUrl() { + getUrl = (MultiAutoCompleteTextView) findViewById(R.id.enterUrl); + getUrl.setPadding(tenPad, 0, tenPad, 0); + getUrl.setTextColor(getResources().getColor(android.R.color.black)); + getUrl.setPadding(tenPad, 0, tenPad, 0); + getUrl.setBackgroundResource(R.drawable.book); + getUrl.setPadding(tenPad, 0, tenPad, 0); + final List> list = new ArrayList>(); + handler = new Handler() { - switch (item.getItemId()) { - case R.id.history: - generateHistory(currentTab, CONTEXT); - return true; - case R.id.bookmark: - if (urlToLoad[currentId][1] != null) { - if (!urlToLoad[currentId][1].equals("Bookmarks")) { - Utils.addBookmark(CONTEXT, urlToLoad[currentId][1], - urlToLoad[currentId][0]); - } - } - return true; - case R.id.settings: - newSettings(); - return true; - case R.id.allBookmarks: - if (urlToLoad[currentId][1] == null) { - goBookmarks(CONTEXT, currentTab); - } else if (!urlToLoad[currentId][1].equals("Bookmarks")) { - goBookmarks(CONTEXT, currentTab); - } + @Override + public void handleMessage(Message msg) { - return true; - case R.id.share: - share(); - return true; - case R.id.incognito: - startActivity(new Intent(FinalVariables.INCOGNITO_INTENT)); - // newTab(number, homepage, true, true); - return true; - default: - return super.onOptionsItemSelected(item); - } - } + switch (msg.what) { + case 1: { + SimpleAdapter adapter = new SimpleAdapter(CONTEXT, list, + R.layout.two_line_autocomplete, new String[] { + "title", "url" }, new int[] { R.id.title, + R.id.url }); - @Override - protected void onPause() { + getUrl.setAdapter(adapter); - if (currentTab != null) { - if (API >= 11) { - currentTab.onPause(); - } - currentTab.pauseTimers(); - } - Thread remember = new Thread(new Runnable() { + break; + } + case 2: { - @Override - public void run() { - String s = ""; - for (int n = 0; n < MAX_TABS; n++) { - if (urlToLoad[n][0] != null) { - s = s + urlToLoad[n][0] + "|$|SEPARATOR|$|"; - } + break; + } } - edit.putString("memory", s); - edit.commit(); } - }); - remember.start(); - super.onPause(); - } - - @Override - protected void onResume() { - onProgressChanged(currentId, currentTab.getProgress()); - if (currentTab.getProgress() == 100) { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); + }; - } - if (API >= 11) { - currentTab.onResume(); - } - reinitializeSettings(); - currentTab.resumeTimers(); - if (settings.getBoolean("fullscreen", false) != fullScreen) { - toggleFullScreen(); - } - super.onResume(); - } + Thread updateAutoComplete = new Thread(new Runnable() { - static void openBookmarks(Context context, CustomWebView view) { - String bookmarkHtml = BookmarkPageVariables.Heading; + @Override + public void run() { - for (int n = 0; n < MAX_BOOKMARKS; n++) { - if (bUrl[n] != null) { - bookmarkHtml += (BookmarkPageVariables.Part1 + bUrl[n] - + BookmarkPageVariables.Part2 + bUrl[n] - + BookmarkPageVariables.Part3 + bTitle[n] + BookmarkPageVariables.Part4); - } - } - bookmarkHtml += BookmarkPageVariables.End; - File bookmarkWebPage = new File(context.getFilesDir(), "bookmarks.html"); - try { - FileWriter bookWriter = new FileWriter(bookmarkWebPage, false); - bookWriter.write(bookmarkHtml); - bookWriter.close(); - } catch (IOException e) { - e.printStackTrace(); - } - view.loadUrl("file://" + bookmarkWebPage); + Cursor c = null; + Cursor managedCursor = null; + columns = new String[] { "url", "title" }; + try { - if (uBar.isShown()) { - currentTabTitle.setText("Bookmarks"); - setUrlText(""); - getUrl.setPadding(tenPad, 0, tenPad, 0); - } + bookmarks = Browser.BOOKMARKS_URI; + c = getContentResolver().query(bookmarks, columns, null, + null, null); + } catch (SQLiteException ignored) { + } catch (IllegalStateException ignored) { + } catch (NullPointerException ignored) { + } - } + if (c != null) { + noStockBrowser = false; + Log.i("Browser", "detected AOSP browser"); + } else { + noStockBrowser = true; + Log.e("Browser", "did not detect AOSP browser"); + } + if (c != null) { + c.close(); + } + try { - void options() { - ImageView options = (ImageView) findViewById(R.id.options); - options.setBackgroundResource(R.drawable.button); - options.setOnClickListener(new OnClickListener() { + managedCursor = null; + SQLiteDatabase s = historyHandler.getReadableDatabase(); + managedCursor = s.query("history", // URI + // of + columns, // Which columns to return + null, // Which rows to return (all rows) + null, // Selection arguments (none) + null, null, null); - @Override - public void onClick(View v) { + } catch (SQLiteException ignored) { + } catch (NullPointerException ignored) { + } catch (IllegalStateException ignored) { + } - if (API >= 11) { - PopupMenu menu = new PopupMenu(CONTEXT, v); - MenuInflater inflate = menu.getMenuInflater(); - inflate.inflate(R.menu.menu, menu.getMenu()); - menu.setOnMenuItemClickListener(new OnMenuItemClickListener() { + try { + if (managedCursor != null) { - @Override - public boolean onMenuItemClick(MenuItem item) { + if (managedCursor.moveToLast()) { - switch (item.getItemId()) { - case R.id.history: - generateHistory(currentTab, CONTEXT); - return true; - case R.id.bookmark: - if (urlToLoad[currentId][1] != null) { - if (!urlToLoad[currentId][1] - .equals("Bookmarks")) { - Utils.addBookmark(CONTEXT, - urlToLoad[currentId][1], - urlToLoad[currentId][0]); - } - } - return true; - case R.id.settings: - newSettings(); - return true; - case R.id.allBookmarks: - if (urlToLoad[currentId][1] == null) { - goBookmarks(CONTEXT, currentTab); - } else if (!urlToLoad[currentId][1] - .equals("Bookmarks")) { - goBookmarks(CONTEXT, currentTab); - } - return true; - case R.id.share: - share(); - return true; - case R.id.incognito: - startActivity(new Intent( - FinalVariables.INCOGNITO_INTENT)); - // newTab(number, homepage, true, true); - return true; - default: - return false; - } + // Variable for holding the retrieved URL + int urlColumn = managedCursor.getColumnIndex("url"); + int titleColumn = managedCursor + .getColumnIndex("title"); + // Reference to the the column containing the URL + do { + String urlA = managedCursor + .getString(urlColumn); + String title = managedCursor + .getString(titleColumn); + Map map = new HashMap(); + map.put("title", title); + map.put("url", urlA); + list.add(map); + } while (managedCursor.moveToPrevious()); } - - }); - menu.show(); - } else if (API < 11) { - - openOptionsMenu(); + } + handler.sendEmptyMessage(1); + } catch (SQLiteException ignored) { + } catch (NullPointerException ignored) { + } catch (IllegalStateException ignored) { } + managedCursor.close(); } }); - } - - static void share() { - Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); - - // set the type - shareIntent.setType("text/plain"); + try { + updateAutoComplete.start(); + } catch (NullPointerException ignored) { + } catch (SQLiteMisuseException ignored) { + } catch (IllegalStateException ignored) { + } - // add a subject - shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, - urlToLoad[currentId][1]); + getUrl.setThreshold(1); + getUrl.setTokenizer(new SpaceTokenizer()); + getUrl.setOnItemClickListener(new OnItemClickListener() { - // build the body of the message to be shared - String shareMessage = urlToLoad[currentId][0]; + @Override + public void onItemClick(AdapterView arg0, View arg1, int arg2, + long arg3) { + try { + String url; + url = ((TextView) arg1.findViewById(R.id.url)).getText() + .toString(); + getUrl.setText(url); + searchTheWeb(url, CONTEXT); + url = null; + getUrl.setPadding(tenPad, 0, tenPad, 0); + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + } catch (NullPointerException e) { + Log.e("Browser Error: ", + "NullPointerException on item click"); + } + } - // add the message - shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage); + }); - // start the chooser for sharing - CONTEXT.startActivity(Intent.createChooser(shareIntent, - "Share this page")); + getUrl.setSelectAllOnFocus(true); // allows edittext to select all when + // clicked } - static void searchTheWeb(String query, Context context) { - query = query.trim(); - currentTab.stopLoading(); + void findNewView(int id) { + int delete = tabList.indexOf(id); + int leftId = id; + boolean right = false, left = false; + if (id == currentId) { - if (query.startsWith("www.")) { - query = "http://" + query; - } else if (query.startsWith("ftp.")) { - query = "ftp://" + query; - } + if (main[id].isShown()) { + main[id].startAnimation(fadeOut); + background.removeView(main[id]); + uBar.bringToFront(); + } - boolean containsPeriod = query.contains("."); - boolean isIPAddress = (TextUtils.isDigitsOnly(query.replace(".", "")) && (query - .replace(".", "").length() >= 4)); - boolean aboutScheme = query.contains("about:"); - boolean validURL = (query.startsWith("ftp://") - || query.startsWith("http://") || query.startsWith("file://") || query - .startsWith("https://")) || isIPAddress; - boolean isSearch = ((query.contains(" ") || !containsPeriod) && !aboutScheme); + if (tabList.size() > delete + 1) { + id = tabList.get(delete + 1); + if (urlTitle[id].isShown()) { + background.addView(main[id]); + main[id].setVisibility(View.VISIBLE); + uBar.bringToFront(); + if (API < 16) { + urlTitle[id].setBackgroundDrawable(active); + } else { + urlTitle[id].setBackground(active); + } + urlTitle[id].setPadding(leftPad, 0, rightPad, 0); + currentId = id; + currentTab = main[id]; + currentTabTitle = urlTitle[id]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + right = true; + if (main[id].getProgress() < 100) { + onProgressChanged(id, main[id].getProgress()); + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + } else { + onProgressChanged(id, main[id].getProgress()); + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + } + // break; + } - if (query.contains("about:home") || query.contains("about:bookmarks")) { - goBookmarks(context, currentTab); - } else if (query.contains("about:history")) { - generateHistory(currentTab, context); - } else if (isSearch) { - query.replaceAll(" ", "+"); - currentTab.loadUrl(SEARCH + query); - } else if (!validURL) { - currentTab.loadUrl("http://" + query); - } else { - currentTab.loadUrl(query); - } - } + } + if (!right) { + if (delete > 0) { + leftId = tabList.get(delete - 1); + if (urlTitle[leftId].isShown()) { + background.addView(main[leftId]); + main[leftId].setVisibility(View.VISIBLE); + // uBar.bringToFront(); + if (API < 16) { + urlTitle[leftId].setBackgroundDrawable(active); + } else { + urlTitle[leftId].setBackground(active); + } + urlTitle[leftId].setPadding(leftPad, 0, rightPad, 0); + currentId = leftId; + currentTab = main[leftId]; + currentTabTitle = urlTitle[leftId]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + left = true; + if (main[leftId].getProgress() < 100) { + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + onProgressChanged(leftId, + main[leftId].getProgress()); + } else { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + onProgressChanged(leftId, + main[leftId].getProgress()); + } + // break; + } - public static void onPageFinished(WebView view, String url) { - if (view.isShown()) { - view.invalidate(); - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); + } - if (showFullScreen && uBar.isShown()) { - uBar.startAnimation(slideUp); } - } - view.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); - Log.i("Lightning", "Page Finished"); - loadTime = System.currentTimeMillis() - loadTime; - Log.i("Lightning", "Load Time: " + loadTime); - } - - public static void onPageStarted(WebView view, String url, Bitmap favicon) { - Log.i("Lightning", "Page Started"); - loadTime = System.currentTimeMillis(); - int numberPage = view.getId(); - if (url.startsWith("file://")) { - view.getSettings().setUseWideViewPort(false); } else { - view.getSettings().setUseWideViewPort( - settings.getBoolean("wideviewport", true)); + right = left = true; } - - if (view.isShown()) { - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - setUrlText(url); + tabList.remove(delete); + if (!(right || left)) { + finish(); } + uBar.bringToFront(); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + } - urlTitle[numberPage].setCompoundDrawables(webpageOther, null, exitTab, - null); - if (favicon != null) { - setFavicon(view.getId(), favicon); + @Override + public void finish() { + background.clearDisappearingChildren(); + background.removeView(currentTab); + tabScroll.clearDisappearingChildren(); + if (settings.getBoolean("cache", false)) { + currentTab.clearCache(true); + Log.i("Lightning", "Cache Cleared"); } + super.finish(); + } - getUrl.setPadding(tenPad, 0, tenPad, 0); - urlToLoad[numberPage][0] = url; - - if (!uBar.isShown() && showFullScreen) { - uBar.startAnimation(slideDown); + void forward() { + ImageView forward = (ImageView) findViewById(R.id.forward); + forward.setBackgroundResource(R.drawable.button); + if (isPhone) { + RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); + relativeLayout1.removeView(forward); } - } + forward.setOnClickListener(new OnClickListener() { - public static void onCreateWindow(Message resultMsg) { - newTab("", true); - WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; - transport.setWebView(currentTab); - resultMsg.sendToTarget(); - browserHandler.postDelayed(new Runnable() { @Override - public void run() { - currentTab.loadUrl(getUrl.getText().toString()); + public void onClick(View v) { + if (currentTab.canGoForward()) { + currentTab.goForward(); + } } - }, 500); - } - public static void onShowCustomView() { - background.removeView(currentTab); - uBar.setVisibility(View.GONE); + }); } - public static void onHideCustomView(FrameLayout fullScreenContainer, - CustomViewCallback mCustomViewCallback, int orientation) { - FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); - screen.removeView(fullScreenContainer); - fullScreenContainer = null; - mCustomViewCallback.onCustomViewHidden(); - ACTIVITY.setRequestedOrientation(orientation); - background.addView(currentTab); - uBar.setVisibility(View.VISIBLE); - uBar.bringToFront(); - } + @SuppressLint("InlinedApi") + private void initialize() { - public static void onReceivedTitle(int numberPage, String title) { - if (title != null && title.length() != 0) { - urlTitle[numberPage].setText(title); - urlToLoad[numberPage][1] = title; - Utils.updateHistory(CONTEXT, CONTEXT.getContentResolver(), - noStockBrowser, urlToLoad[numberPage][0], title); - } - } + tabList = new ArrayList(); + bUrl = new String[MAX_BOOKMARKS]; + bTitle = new String[MAX_BOOKMARKS]; + main = new CustomWebView[MAX_TABS]; + urlTitle = new TextView[MAX_TABS]; + urlToLoad = new String[MAX_TABS][2]; + fullScreen = false; + DisplayMetrics metrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(metrics); + historyHandler = new DatabaseHandler(this); + cookieManager = CookieManager.getInstance(); + CookieSyncManager.createInstance(CONTEXT); + cookieManager.setAcceptCookie(settings.getBoolean("cookies", true)); - public static void openFileChooser(ValueCallback uploadMsg) { - mUploadMessage = uploadMsg; - Intent i = new Intent(Intent.ACTION_GET_CONTENT); - i.addCategory(Intent.CATEGORY_OPENABLE); - i.setType("*/*"); - ACTIVITY.startActivityForResult( - Intent.createChooser(i, "File Chooser"), 1); - } + progressBar = (ProgressBar) findViewById(R.id.progressBar1); + browserProgress = (ProgressBar) findViewById(R.id.progressBar); + browserProgress.setVisibility(View.GONE); - @Override - public boolean onTouch(View v, MotionEvent event) { - try { - id = v.getId(); - background.clearDisappearingChildren(); - boolean xPress = false; - int x = (int) event.getX(); - int y = (int) event.getY(); - Rect edge = new Rect(); + if (API >= 11) { + progressBar.setIndeterminateDrawable(getResources().getDrawable( + R.drawable.ics_animation)); + } else { + progressBar.setIndeterminateDrawable(getResources().getDrawable( + R.drawable.ginger_animation)); + } + + showFullScreen = settings.getBoolean("fullscreen", false); + uBar = (RelativeLayout) findViewById(R.id.urlBar); + screen = (RelativeLayout) findViewById(R.id.background); + slideUp = AnimationUtils.loadAnimation(this, R.anim.slide_up); + slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); + fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); + fadeOut.setDuration(250); + fadeIn = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); + // mShortAnimationDuration = getResources().getInteger( + // android.R.integer.config_mediumAnimTime); + slideUp.setAnimationListener(new AnimationListener() { + + @Override + public void onAnimationEnd(Animation arg0) { + uBar.setVisibility(View.GONE); + } + + @Override + public void onAnimationRepeat(Animation arg0) { + + } + + @Override + public void onAnimationStart(Animation arg0) { + + } + + }); + slideDown.setAnimationListener(new AnimationListener() { + + @Override + public void onAnimationEnd(Animation animation) { + + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + + @Override + public void onAnimationStart(Animation animation) { + uBar.setVisibility(View.VISIBLE); + } + + }); + + RelativeLayout refreshLayout = (RelativeLayout) findViewById(R.id.refreshLayout); + refreshLayout.setBackgroundResource(R.drawable.button); + + // user agent + if (API < 17) { + user = new WebView(CONTEXT).getSettings().getUserAgentString(); + } else { + user = WebSettings.getDefaultUserAgent(this); + } + + background = (FrameLayout) findViewById(R.id.holder); + defaultUser = user; // setting mobile user + // agent + switch (settings.getInt("search", 1)) { + case 1: + SEARCH = FinalVariables.GOOGLE_SEARCH; + break; + case 2: + SEARCH = FinalVariables.BING_SEARCH; + break; + case 3: + SEARCH = FinalVariables.YAHOO_SEARCH; + break; + case 4: + SEARCH = FinalVariables.STARTPAGE_SEARCH; + break; + case 5: + SEARCH = FinalVariables.DUCK_SEARCH; + break; + case 6: + SEARCH = FinalVariables.BAIDU_SEARCH; + break; + case 7: + SEARCH = FinalVariables.YANDEX_SEARCH; + break; + case 8: + SEARCH = FinalVariables.DUCK_LITE_SEARCH; + break; + } + + exitTab = getResources().getDrawable(R.drawable.stop); // user + // agent + homepage = settings.getString("home", HOMEPAGE); // initializing + // the + // stored + // homepage + // variable + + gestures = settings.getBoolean("gestures", true); + + // initializing variables declared + + height = getResources().getDrawable(R.drawable.loading) + .getMinimumHeight(); + width = getResources().getDrawable(R.drawable.loading) + .getMinimumWidth(); + + // hides keyboard so it doesn't default pop up + this.getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); + + // opens icondatabase so that favicons can be stored + WebIconDatabase.getInstance().open( + getDir("icons", MODE_PRIVATE).getPath()); + + // scroll view containing tabs + tabLayout = (LinearLayout) findViewById(R.id.tabLayout); + tabScroll = (HorizontalScrollView) findViewById(R.id.tabScroll); + tabScroll.setBackgroundColor(getResources().getColor(R.color.black)); + tabScroll.setHorizontalScrollBarEnabled(false); + if (API > 8) { + tabScroll.setOverScrollMode(View.OVER_SCROLL_NEVER); // disallow + // overscroll + } + + // image dimensions and initialization + final int dps = 175; + final float scale = getApplicationContext().getResources() + .getDisplayMetrics().density; + pixels = (int) (dps * scale + 0.5f); + leftPad = (int) (17 * scale + 0.5f); + rightPad = (int) (15 * scale + 0.5f); + height32 = (int) (32 * scale + 0.5f); + tenPad = (int) (10 * scale + 0.5f); + + webpageOther = getResources().getDrawable(R.drawable.webpage); + incognitoPage = getResources().getDrawable(R.drawable.incognito); + webpageOther.setBounds(0, 0, width / 2, height / 2); + incognitoPage.setBounds(0, 0, width / 2, height / 2); + exitTab.setBounds(0, 0, width * 2 / 3, height * 2 / 3); + + Thread startup = new Thread(new Runnable() { + + @Override + public void run() { + reopenOldTabs(); // restores old tabs or creates a new one + } + + }); + startup.run(); + + // new tab button + ImageView newTab = (ImageView) findViewById(R.id.newTab); + newTab.setBackgroundResource(R.drawable.button); + newTab.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + Handler click = new NewTabHandler(); + click.sendEmptyMessage(1); + tabScroll.postDelayed(new Runnable() { + @Override + public void run() { + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + } + }, 100L); + + } + }); + newTab.setOnLongClickListener(new OnLongClickListener() { + + @Override + public boolean onLongClick(View v) { + if (settings.getString("oldPage", "").length() > 0) { + newTab(settings.getString("oldPage", ""), true); + edit.putString("oldPage", ""); + edit.commit(); + tabScroll.postDelayed(new Runnable() { + @Override + public void run() { + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), + 0); + } + }, 100L); + } + return true; + } + + }); + refresh = (ImageView) findViewById(R.id.refresh); + refreshLayout.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View arg0) { + + if (currentTab.getProgress() < 100) { + currentTab.stopLoading(); + } else { + currentTab.reload(); + } + } + + }); + + enterUrl(); + if (showFullScreen) { + toggleFullScreen(); + } + browserHandler = new Handle(); + + } + + private void newSettings() { + startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, + Intent intent) { + if (requestCode == 1) { + if (null == mUploadMessage) + return; + Uri result = intent == null || resultCode != RESULT_OK ? null + : intent.getData(); + mUploadMessage.onReceiveValue(result); + mUploadMessage = null; + + } + } + + @Override + public void onBackPressed() { + try { + if (showFullScreen && !uBar.isShown()) { + uBar.startAnimation(slideDown); + } + if (currentTab.isShown() && currentTab.canGoBack()) { + currentTab.goBack(); + } else { + deleteTab(currentId); + uBar.bringToFront(); + } + } catch (NullPointerException ignored) { + } + return; + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + if (settings.getBoolean("textreflow", false)) { + currentTab.getSettings().setLayoutAlgorithm( + LayoutAlgorithm.NARROW_COLUMNS); + } else { + currentTab.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NORMAL); + } + + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); // displays main xml layout + CONTEXT = this; + ACTIVITY = this; + settings = getSharedPreferences("settings", 0); + edit = settings.edit(); + + if (settings.getBoolean("hidestatus", false)) { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + if (settings.getBoolean("savetabs", true)) { + String mem = settings.getString("memory", ""); + edit.putString("memory", ""); + memoryURL = new String[MAX_TABS]; + memoryURL = getArray(mem); + } + + try { + LocationManager locationManager = (LocationManager) CONTEXT + .getSystemService(Context.LOCATION_SERVICE); + if (locationManager.getAllProviders().contains( + LocationManager.GPS_PROVIDER)) { + DEVICE_HAS_GPS = true; + } + } catch (Exception ignored) { + DEVICE_HAS_GPS = false; + } + inactive = getResources().getDrawable(R.drawable.bg_inactive); + active = getResources().getDrawable(R.drawable.bg_press); + initialize(); // sets up random stuff + options(); // allows options to be opened + enter();// enter url bar + DisplayMetrics metrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(metrics); + + float widthInInches = metrics.widthPixels / metrics.xdpi; + float heightInInches = metrics.heightPixels / metrics.ydpi; + double sizeInInches = Math.sqrt(Math.pow(widthInInches, 2) + + Math.pow(heightInInches, 2)); + // 0.5" buffer for 7" devices + isPhone = sizeInInches < 6.5; + forward();// forward button + back(); + if (settings.getInt("first", 0) == 0) { + // navigation tips + String message = "1. Long-press back button to exit browser\n\n" + + "2. Swipe from left edge toward the right (---->) to go back\n\n" + + "3. Swipe from right edge toward the left (<----)to go forward\n\n" + + "4. Visit settings and advanced settings to change options\n\n" + + "5. Long-press on the new tab button to open the last closed tab"; + + Utils.createInformativeDialog(CONTEXT, "Browser Tips", message); + edit.putInt("first", 1); + edit.commit(); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu, menu); + + return true; + } + + /* + * (non-Javadoc) + * + * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent) + */ + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_SEARCH: { + getUrl.requestFocus(); + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + manager.showSoftInput(getUrl, 0); + + break; + } + case KeyEvent.KEYCODE_F5: { + currentTab.reload(); + } + case KeyEvent.KEYCODE_ESCAPE: { + currentTab.stopLoading(); + } + case KeyEvent.KEYCODE_TAB: { + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (!manager.isActive()) { + newTab(homepage, true); + } + + } + case KeyEvent.KEYCODE_F12: { + finish(); + } + case KeyEvent.KEYCODE_F6: { + getUrl.selectAll(); + } + case KeyEvent.KEYCODE_F10: { + startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); + } + case KeyEvent.KEYCODE_F11: { + toggleFullScreen(); + } + case KeyEvent.KEYCODE_DEL: { + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (!manager.isActive()) { + currentTab.goBack(); + } + } + } + return super.onKeyDown(keyCode, event); + } + + @Override + public boolean onKeyLongPress(int keyCode, KeyEvent event) { + + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (!settings.getBoolean("restoreclosed", true)) { + for (int n = 0; n < MAX_TABS; n++) { + urlToLoad[n][0] = null; + } + } + finish(); + return true; + } else + return super.onKeyLongPress(keyCode, event); + } + + @Override + public void onLowMemory() { + for (int n = 0; n < MAX_TABS; n++) { + if (n != currentId && main[n] != null) { + main[n].freeMemory(); + } + } + super.onLowMemory(); + } + + @Override + protected void onNewIntent(Intent intent) { + + String url = intent.getDataString(); + int id = -1; + int download = -1; + try { + id = intent.getExtras().getInt("acr.browser.barebones.Origin") - 1; + } catch (NullPointerException e) { + id = -1; + } + try { + download = intent.getExtras().getInt( + "acr.browser.barebones.Download"); + } catch (NullPointerException e) { + download = -1; + } + if (id >= 0) { + main[id].loadUrl(url); + } else if (download == 1) { + Utils.downloadFile(CONTEXT, url, null, null); + } else if (url != null) { + newTab(url, true); + } + + super.onNewIntent(intent); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + switch (item.getItemId()) { + case R.id.history: + generateHistory(currentTab, CONTEXT); + return true; + case R.id.bookmark: + if (urlToLoad[currentId][1] != null) { + if (!urlToLoad[currentId][1].equals("Bookmarks")) { + Utils.addBookmark(CONTEXT, urlToLoad[currentId][1], + urlToLoad[currentId][0]); + } + } + return true; + case R.id.settings: + newSettings(); + return true; + case R.id.allBookmarks: + if (urlToLoad[currentId][1] == null) { + goBookmarks(CONTEXT, currentTab); + } else if (!urlToLoad[currentId][1].equals("Bookmarks")) { + goBookmarks(CONTEXT, currentTab); + } + + return true; + case R.id.share: + share(); + return true; + case R.id.incognito: + startActivity(new Intent(FinalVariables.INCOGNITO_INTENT)); + // newTab(number, homepage, true, true); + return true; + default: + return super.onOptionsItemSelected(item); + } + } + + @Override + protected void onPause() { + + if (currentTab != null) { + if (API >= 11) { + currentTab.onPause(); + } + currentTab.pauseTimers(); + } + Thread remember = new Thread(new Runnable() { + + @Override + public void run() { + String s = ""; + for (int n = 0; n < MAX_TABS; n++) { + if (urlToLoad[n][0] != null) { + s = s + urlToLoad[n][0] + "|$|SEPARATOR|$|"; + } + } + edit.putString("memory", s); + edit.commit(); + } + }); + remember.start(); + super.onPause(); + } + + @Override + protected void onResume() { + super.onResume(); + if (currentTab != null) { + onProgressChanged(currentId, currentTab.getProgress()); + if (currentTab.getProgress() == 100) { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + + } + if (API >= 11) { + currentTab.onResume(); + } + } + gestures = settings.getBoolean("gestures", true); + reinitializeSettings(); + currentTab.resumeTimers(); + if (settings.getBoolean("fullscreen", false) != fullScreen) { + toggleFullScreen(); + } + + } + + private int x; + private int y; + private boolean xPress; + private Rect edge; + + @Override + public boolean onTouch(View v, MotionEvent event) { + try { + id = v.getId(); + background.clearDisappearingChildren(); + xPress = false; + x = (int) event.getX(); + y = (int) event.getY(); + edge = new Rect(); v.getDrawingRect(edge); currentTabTitle.setPadding(leftPad, 0, rightPad, 0); if (event.getAction() == MotionEvent.ACTION_DOWN) { @@ -1871,248 +1997,157 @@ public class BrowserActivity extends Activity implements OnTouchListener { } uBar.bringToFront(); - currentId = id; - currentTab = main[id]; - currentTabTitle = urlTitle[id]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - if (API < 16) { - currentTabTitle.setBackgroundDrawable(active); - } else if (API > 15) { - currentTabTitle.setBackground(active); - } - if (currentTab.getProgress() < 100) { - refresh.setVisibility(View.INVISIBLE); - - progressBar.setVisibility(View.VISIBLE); - - } else { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); - } - onProgressChanged(currentId, currentTab.getProgress()); - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); - currentTab.invalidate(); - } - } - - } - uBar.bringToFront(); - v.setPadding(leftPad, 0, rightPad, 0); - } catch (Exception e) { - e.printStackTrace(); - Log.e("Lightning Error", "Well we dun messed up"); - } - return true; - } - - public static class ClickHandler extends Handler { - - /* - * (non-Javadoc) - * - * @see android.os.Handler#handleMessage(android.os.Message) - */ - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - String url = null; - url = msg.getData().getString("url"); - handleLongClickOnBookmarks(url, msg.arg1); - } - - } - - public static boolean onLongClick() { - int n = currentId; - final HitTestResult result = currentTab.getHitTestResult(); - - if (currentTab.getUrl().contains( - "file://" + CONTEXT.getFilesDir() + "/bookmarks.html")) { - Message message = new Message(); - message.arg1 = n; - message.setTarget(new ClickHandler()); - currentTab.requestFocusNodeHref(message); - - return true; - } else if (result != null) { - if (result.getExtra() != null) { - if (result.getType() == 5 && API > 8) { - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - int num = currentId; - newTab(result.getExtra(), false); - // urlTitle[num].performClick(); - currentId = num; - currentTab = main[num]; - currentTabTitle = urlTitle[num]; - break; - } - case DialogInterface.BUTTON_NEGATIVE: { - currentTab.loadUrl(result.getExtra()); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { - if (API > 8) { - String url = result.getExtra(); + currentId = id; + currentTab = main[id]; + currentTabTitle = urlTitle[id]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + if (API < 16) { + currentTabTitle.setBackgroundDrawable(active); + } else if (API > 15) { + currentTabTitle.setBackground(active); + } + if (currentTab.getProgress() < 100) { + refresh.setVisibility(View.INVISIBLE); - Utils.downloadFile(CONTEXT, url, null, null); + progressBar.setVisibility(View.VISIBLE); - } - break; - } - } + } else { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); } - }; + onProgressChanged(currentId, currentTab.getProgress()); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + currentTab.invalidate(); + } + } - AlertDialog.Builder builder = new AlertDialog.Builder( - CONTEXT); // dialog - builder.setMessage( - "What would you like to do with this image?") - .setPositiveButton("Open in New Tab", - dialogClickListener) - .setNegativeButton("Open Normally", - dialogClickListener) - .setNeutralButton("Download Image", - dialogClickListener).show(); + } + uBar.bringToFront(); + v.setPadding(leftPad, 0, rightPad, 0); + } catch (Exception e) { + e.printStackTrace(); + Log.e("Lightning Error", "Well we dun messed up"); + } + return true; + } + + void options() { + ImageView options = (ImageView) findViewById(R.id.options); + options.setBackgroundResource(R.drawable.button); + options.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + + if (API >= 11) { + PopupMenu menu = new PopupMenu(CONTEXT, v); + MenuInflater inflate = menu.getMenuInflater(); + inflate.inflate(R.menu.menu, menu.getMenu()); + menu.setOnMenuItemClickListener(new OnMenuItemClickListener() { - } else { - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - int num = currentId; - newTab(result.getExtra(), false); - currentId = num; - currentTab = main[num]; - currentTabTitle = urlTitle[num]; - break; - } - case DialogInterface.BUTTON_NEGATIVE: { - currentTab.loadUrl(result.getExtra()); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { + public boolean onMenuItemClick(MenuItem item) { - if (API < 11) { - android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ACTIVITY - .getSystemService(Context.CLIPBOARD_SERVICE); - clipboard.setText(result.getExtra()); - } else { - ClipboardManager clipboard = (ClipboardManager) ACTIVITY - .getSystemService(CLIPBOARD_SERVICE); - ClipData clip = ClipData.newPlainText( - "label", result.getExtra()); - clipboard.setPrimaryClip(clip); + switch (item.getItemId()) { + case R.id.history: + generateHistory(currentTab, CONTEXT); + return true; + case R.id.bookmark: + if (urlToLoad[currentId][1] != null) { + if (!urlToLoad[currentId][1] + .equals("Bookmarks")) { + Utils.addBookmark(CONTEXT, + urlToLoad[currentId][1], + urlToLoad[currentId][0]); + } } - break; - } + return true; + case R.id.settings: + newSettings(); + return true; + case R.id.allBookmarks: + if (urlToLoad[currentId][1] == null) { + goBookmarks(CONTEXT, currentTab); + } else if (!urlToLoad[currentId][1] + .equals("Bookmarks")) { + goBookmarks(CONTEXT, currentTab); + } + return true; + case R.id.share: + share(); + return true; + case R.id.incognito: + startActivity(new Intent( + FinalVariables.INCOGNITO_INTENT)); + // newTab(number, homepage, true, true); + return true; + default: + return false; } + } - }; - AlertDialog.Builder builder = new AlertDialog.Builder( - CONTEXT); // dialog - builder.setTitle(result.getExtra()) - .setMessage( - "What do you want to do with this link?") - .setPositiveButton("Open in New Tab", - dialogClickListener) - .setNegativeButton("Open Normally", - dialogClickListener) - .setNeutralButton("Copy link", dialogClickListener) - .show(); + }); + menu.show(); + } else if (API < 11) { + + openOptionsMenu(); } } - return true; - } else { - return false; - } + }); } - public static void handleLongClickOnBookmarks(final String clickedURL, - final int n) { - if (clickedURL != null) { + void reopenOldTabs() { + Intent url = getIntent(); + String URL = url.getDataString(); + boolean oldTabs = false; - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - renameBookmark(clickedURL); - break; - } - case DialogInterface.BUTTON_NEGATIVE: { - main[n].loadUrl(clickedURL); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { - deleteBookmark(clickedURL); - break; - } + if (settings.getBoolean("savetabs", true)) { + if (URL != null) { + // opens a new tab with the url if its there + int n = newTab(URL, true); + main[n].resumeTimers(); + oldTabs = true; + + } + boolean first = false; + for (String aMemoryURL : memoryURL) { + if (aMemoryURL.length() > 0) { + if (!first) { + int n = newTab("", !oldTabs); + main[n].resumeTimers(); + main[n].getSettings().setCacheMode( + WebSettings.LOAD_CACHE_ELSE_NETWORK); + main[n].loadUrl(aMemoryURL); + } else { + int n = newTab("", false); + main[n].getSettings().setCacheMode( + WebSettings.LOAD_CACHE_ELSE_NETWORK); + main[n].loadUrl(aMemoryURL); } + oldTabs = true; } - }; - - AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog - builder.setMessage("What would you like to do with this bookmark?") - .setPositiveButton("Rename", dialogClickListener) - .setNegativeButton("Open", dialogClickListener) - .setNeutralButton("Delete", dialogClickListener).show(); - } - } - - public static void goBack(CustomWebView view) { - if (view.isShown() && view.canGoBack()) { - view.goBack(); - } - Animation left = AnimationUtils.loadAnimation(CONTEXT, R.anim.left); - background.startAnimation(left); - } - - public static void goForward(CustomWebView view) { - if (view.isShown() && view.canGoForward()) { - view.goForward(); - } - Animation right = AnimationUtils.loadAnimation(CONTEXT, R.anim.right); - background.startAnimation(right); - } + } - public static void onProgressChanged(int id, int progress) { - if (id == currentId) { - browserProgress.setProgress(progress); - if (progress < 100) { - browserProgress.setVisibility(View.VISIBLE); - } else { - browserProgress.setVisibility(View.GONE); + if (!oldTabs) { + int n = newTab(homepage, true); + main[n].resumeTimers(); } - } - } + } else { + if (URL != null) { + // opens a new tab with the URL if its there + int n = newTab(URL, true); + main[n].resumeTimers(); - public static void reinitializeSettings() { - int size = tabList.size(); - for (int n = 0; n < size; n++) { - main[tabList.get(n)].settingsInitialization(CONTEXT); - } - } + } else { + // otherwise it opens the home-page + int n = newTab(homepage, true); + main[n].resumeTimers(); - public static void toggleFullScreen() { - showFullScreen = settings.getBoolean("fullscreen", false); - CustomWebView.showFullScreen = showFullScreen; - if (fullScreen) { - background.removeView(uBar); - screen.addView(uBar); - fullScreen = false; - } else { - screen.removeView(uBar); - background.addView(uBar); - fullScreen = true; + } } } } \ No newline at end of file diff --git a/src/acr/browser/barebones/activities/IncognitoModeActivity.java b/src/acr/browser/barebones/activities/IncognitoModeActivity.java index d4c4348..9ec96ab 100644 --- a/src/acr/browser/barebones/activities/IncognitoModeActivity.java +++ b/src/acr/browser/barebones/activities/IncognitoModeActivity.java @@ -78,6 +78,7 @@ import android.webkit.WebView; import android.webkit.WebView.HitTestResult; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; +import android.widget.EditText; import android.widget.FrameLayout; import android.widget.HorizontalScrollView; import android.widget.ImageView; @@ -94,167 +95,77 @@ import android.widget.TextView.OnEditorActionListener; @SuppressWarnings("deprecation") public class IncognitoModeActivity extends Activity implements OnTouchListener { - public static void generateHistory(final IncognitoWebView view, - final Context context) { - - Thread history = new Thread(new Runnable() { - - @Override - public void run() { - String historyHtml = HistoryPageVariables.Heading; - Cursor historyCursor = null; - String[][] h = new String[50][3]; - - try { - SQLiteDatabase s = historyHandler.getReadableDatabase(); - historyCursor = s.query("history", // URI - // of - columns, // Which columns to return - null, // Which rows to return (all rows) - null, // Selection arguments (none) - null, null, null); - - handler.sendEmptyMessage(1); - - } catch (SQLiteException ignored) { - } catch (NullPointerException ignored) { - } catch (IllegalStateException ignored) { - } + public static class ClickHandler extends Handler { - try { - if (historyCursor != null) { - if (historyCursor.moveToLast()) { - // Variable for holding the retrieved URL - int urlColumn = historyCursor.getColumnIndex("url"); - int titleColumn = historyCursor - .getColumnIndex("title"); - // Reference to the the column containing the URL - int n = 0; - do { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + String url = null; + url = msg.getData().getString("url"); + handleLongClickOnBookmarks(url, msg.arg1); + } - h[n][0] = historyCursor.getString(urlColumn); - h[n][2] = h[n][0].substring(0, - Math.min(100, h[n][0].length())) - + "..."; - h[n][1] = historyCursor.getString(titleColumn); - historyHtml += (HistoryPageVariables.Part1 - + h[n][0] + HistoryPageVariables.Part2 - + h[n][1] + HistoryPageVariables.Part3 - + h[n][2] + HistoryPageVariables.Part4); - n++; - } while (n < 49 && historyCursor.moveToPrevious()); - } - } - } catch (SQLiteException ignored) { - } catch (NullPointerException ignored) { - } catch (IllegalStateException ignored) { - } + } - historyHtml += BookmarkPageVariables.End; - File historyWebPage = new File(context.getFilesDir(), - "history.html"); - try { - FileWriter hWriter = new FileWriter(historyWebPage, false); - hWriter.write(historyHtml); - hWriter.close(); - } catch (IOException e) { - e.printStackTrace(); - } - if (uBar.isShown()) { - currentTabTitle.setText("History"); - setUrlText(""); - getUrl.setPadding(tenPad, 0, tenPad, 0); - } + static class Handle extends Handler { - view.loadUrl("file://" + historyWebPage); + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case 1: { + currentTab.loadUrl(getUrl.getText().toString()); + break; + } + case 2: { + // deleteTab(msg.arg1); + break; + } + case 3: { + currentTab.invalidate(); + break; } - - }); - history.run(); - } - - public static void setUrlText(String url) { - if (url != null) { - if (!url.startsWith("file://")) { - getUrl.setText(url); - } else { - getUrl.setText(""); } + super.handleMessage(msg); } - } - public static void removeView(WebView view) { - if (!showFullScreen) { - view.startAnimation(fadeOut); - } - background.removeView(view); - uBar.bringToFront(); } - private static IncognitoModeActivity ACTIVITY; + static class NewTabHandler extends Handler { - public static void deleteBookmark(String url) { - File book = new File(CONTEXT.getFilesDir(), "bookmarks"); - File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); - int n = 0; - try { - BufferedWriter bookWriter = new BufferedWriter(new FileWriter(book)); - BufferedWriter urlWriter = new BufferedWriter(new FileWriter( - bookUrl)); - while (bUrl[n] != null && n < (MAX_BOOKMARKS - 1)) { - if (!bUrl[n].equalsIgnoreCase(url)) { - bookWriter.write(bTitle[n]); - urlWriter.write(bUrl[n]); - bookWriter.newLine(); - urlWriter.newLine(); - } - n++; - } - bookWriter.close(); - urlWriter.close(); - } catch (FileNotFoundException e) { - } catch (IOException e) { - } - for (int p = 0; p < MAX_BOOKMARKS; p++) { - bUrl[p] = null; - bTitle[p] = null; - } - try { - BufferedReader readBook = new BufferedReader(new FileReader(book)); - BufferedReader readUrl = new BufferedReader(new FileReader(bookUrl)); - String t, u; - int z = 0; - while ((t = readBook.readLine()) != null - && (u = readUrl.readLine()) != null && z < MAX_BOOKMARKS) { - bUrl[z] = u; - bTitle[z] = t; - z++; + @Override + public void handleMessage(Message msg) { + if (msg.what == 1) { + newTab(homepage, true); } - readBook.close(); - readUrl.close(); - } catch (IOException ignored) { + super.handleMessage(msg); } - openBookmarks(CONTEXT, currentTab); + } - // variables + private static IncognitoModeActivity ACTIVITY; + + private static int index = 0; // constants public static final int MAX_TABS = FinalVariables.MAX_TABS; + public static final int MAX_BOOKMARKS = FinalVariables.MAX_BOOKMARKS; + + // variables + public static final boolean PAID_VERSION = FinalVariables.PAID_VERSION; public static final String HOMEPAGE = FinalVariables.HOMEPAGE; public static final int API = FinalVariables.API; public static final String SEPARATOR = "\\|\\$\\|SEPARATOR\\|\\$\\|"; - // semi constants public static Context CONTEXT; public static String SEARCH; - public static List tabList; + public static List tabList; // variables public static IncognitoWebView currentTab; public static TextView currentTabTitle; + public static MultiAutoCompleteTextView getUrl; public static TextView[] urlTitle; public static ProgressBar browserProgress; @@ -267,7 +178,6 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { public static ImageView refresh; public static ProgressBar progressBar; public static String defaultUser; - public static Drawable webpageOther; public static Drawable incognitoPage; public static Drawable exitTab; public static long loadTime = 0; @@ -286,7 +196,6 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { public static SharedPreferences settings; public static SharedPreferences.Editor edit; public static String user; - public static String[] memoryURL; public static String[] bUrl; public static String[] bTitle; public static String[] columns; @@ -307,433 +216,251 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { public static Drawable inactive; public static Drawable active; public static LinearLayout tabLayout; - - public static String[] getArray(String input) { - return input.split(SEPARATOR); - } - - public static int newId(){ - - Random n = new Random(); - int id = n.nextInt(); - - while(tabList.contains(id)){ - id = n.nextInt(); - } - return id; - } - - - @SuppressWarnings("unused") - public static void setFavicon(int id, Bitmap favicon) { - Drawable icon = null; - icon = new BitmapDrawable(null, favicon); - icon.setBounds(0, 0, width / 2, height / 2); - if (icon != null) { - urlTitle[id].setCompoundDrawables(incognitoPage, null, exitTab, null); - } else { - urlTitle[id] - .setCompoundDrawables(incognitoPage, null, exitTab, null); - } - icon = null; - - } - - void deleteTab(final int del) { - if (API >= 11) { - main[del].onPause(); - } - main[del].stopLoading(); - main[del].clearHistory(); - edit.putString("oldPage", urlToLoad[del][0]); - edit.commit(); - urlToLoad[del][0] = null; - urlToLoad[del][1] = null; - if (API < 16) { - urlTitle[del].setBackgroundDrawable(active); - } else { - urlTitle[del].setBackground(active); + // creates the tab and returns the ID of the view + public static int createTab(String theUrl, boolean display) { + int id = -1; + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] == null) { + id = n; + break; + } } - - urlTitle[del].setPadding(leftPad, 0, rightPad, 0); - Animation yolo = AnimationUtils.loadAnimation(this, R.anim.down); - yolo.setAnimationListener(new AnimationListener() { - - @Override - public void onAnimationEnd(Animation animation) { - // urlTitle[del].setVisibility(View.GONE); - tabLayout.post(new Runnable() { - - @Override - public void run() { - tabLayout.removeView(urlTitle[del]); + if (id != -1) { + if (tabList.size() > 0) { + if (display) { + if (API < 16) { + currentTabTitle.setBackgroundDrawable(inactive); + } else { + currentTabTitle.setBackground(inactive); } - - }); - findNewView(del); - main[del] = null; + currentTabTitle.setPadding(leftPad, 0, rightPad, 0); + } } - - @Override - public void onAnimationRepeat(Animation animation) { + final TextView title = new TextView(CONTEXT); + title.setText("New Tab"); + if (display) { + if (API < 16) { + title.setBackgroundDrawable(active); + } else { + title.setBackground(active); + } + } else { + if (API < 16) { + title.setBackgroundDrawable(inactive); + } else { + title.setBackground(inactive); + } } + title.setSingleLine(true); + title.setGravity(Gravity.CENTER_VERTICAL); + title.setHeight(height32); + title.setWidth(pixels); + title.setPadding(leftPad, 0, rightPad, 0); + title.setId(id); + title.setGravity(Gravity.CENTER_VERTICAL); - @Override - public void onAnimationStart(Animation animation) { - } + title.setCompoundDrawables(incognitoPage, null, exitTab, null); - }); - urlTitle[del].startAnimation(yolo); - uBar.bringToFront(); - } + Drawable[] drawables = title.getCompoundDrawables(); + bounds = drawables[2].getBounds(); + title.setOnTouchListener(ACTIVITY); + Animation holo = AnimationUtils.loadAnimation(CONTEXT, R.anim.up); + tabLayout.addView(title); + title.setVisibility(View.INVISIBLE); + holo.setAnimationListener(new AnimationListener() { - void findNewView(int id) { - int delete = tabList.indexOf(id); - int leftId = id; - boolean right = false, left = false; - if (id == currentId) { + @Override + public void onAnimationEnd(Animation animation) { + } - if (main[id].isShown()) { - removeView(main[id]); - } + @Override + public void onAnimationRepeat(Animation animation) { + } - if (tabList.size() > delete + 1) { - id = tabList.get(delete + 1); - if (urlTitle[id].isShown()) { - background.addView(main[id]); - main[id].setVisibility(View.VISIBLE); - uBar.bringToFront(); - if (API < 16) { - urlTitle[id].setBackgroundDrawable(active); - } else { - urlTitle[id].setBackground(active); - } - urlTitle[id].setPadding(leftPad, 0, rightPad, 0); - currentId = id; - currentTab = main[id]; - currentTabTitle = urlTitle[id]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - right = true; - if (main[id].getProgress() < 100) { - onProgressChanged(id, main[id].getProgress()); - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - } else { - onProgressChanged(id, main[id].getProgress()); - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); - } - // break; + @Override + public void onAnimationStart(Animation animation) { + title.setVisibility(View.VISIBLE); } - } - if (!right) { - // for (; leftId >= 0; leftId--) { - if (delete > 0) { - leftId = tabList.get(delete - 1); - if (urlTitle[leftId].isShown()) { - background.addView(main[leftId]); - main[leftId].setVisibility(View.VISIBLE); - // uBar.bringToFront(); - if (API < 16) { - urlTitle[leftId].setBackgroundDrawable(active); - } else { - urlTitle[leftId].setBackground(active); - } - urlTitle[leftId].setPadding(leftPad, 0, rightPad, 0); - currentId = leftId; - currentTab = main[leftId]; - currentTabTitle = urlTitle[leftId]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - left = true; - if (main[leftId].getProgress() < 100) { - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - onProgressChanged(leftId, - main[leftId].getProgress()); - } else { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); - onProgressChanged(leftId, - main[leftId].getProgress()); - } - // break; - } + }); + title.startAnimation(holo); + urlTitle[id] = title; - } + urlTitle[id].setText("New Tab"); + if (theUrl != null) { + main[id] = generateTab(id, theUrl, display); + } else { + main[id] = generateTab(id, homepage, display); } } else { - right = left = true; - } - tabList.remove(delete); - if (!(right || left)) { - finish(); - } - uBar.bringToFront(); - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); - } - - @Override - public void onLowMemory() { - for (int n = 0; n < MAX_TABS; n++) { - if (n != currentId && main[n] != null) { - main[n].freeMemory(); - } + Utils.showToast(CONTEXT, "Max number of tabs reached"); } - super.onLowMemory(); + return id; } - - void enter() { - getUrl.setOnKeyListener(new OnKeyListener() { - - @Override - public boolean onKey(View arg0, int arg1, KeyEvent arg2) { - - switch (arg1) { - case KeyEvent.KEYCODE_ENTER: - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - searchTheWeb(getUrl.getText().toString(), CONTEXT); - return true; - default: - break; + public static void deleteBookmark(String url) { + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); + int n = 0; + try { + BufferedWriter bookWriter = new BufferedWriter(new FileWriter(book)); + BufferedWriter urlWriter = new BufferedWriter(new FileWriter( + bookUrl)); + while (bUrl[n] != null && n < (MAX_BOOKMARKS - 1)) { + if (!bUrl[n].equalsIgnoreCase(url)) { + bookWriter.write(bTitle[n]); + urlWriter.write(bUrl[n]); + bookWriter.newLine(); + urlWriter.newLine(); } - return false; + n++; } - - }); - getUrl.setOnEditorActionListener(new OnEditorActionListener() { - - @Override - public boolean onEditorAction(TextView arg0, int actionId, - KeyEvent arg2) { - if (actionId == EditorInfo.IME_ACTION_GO - || actionId == EditorInfo.IME_ACTION_DONE - || actionId == EditorInfo.IME_ACTION_NEXT - || actionId == EditorInfo.IME_ACTION_SEND - || actionId == EditorInfo.IME_ACTION_SEARCH - || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - searchTheWeb(getUrl.getText().toString(), CONTEXT); - return true; - } - return false; + bookWriter.close(); + urlWriter.close(); + } catch (FileNotFoundException e) { + } catch (IOException e) { + } + for (int p = 0; p < MAX_BOOKMARKS; p++) { + bUrl[p] = null; + bTitle[p] = null; + } + try { + BufferedReader readBook = new BufferedReader(new FileReader(book)); + BufferedReader readUrl = new BufferedReader(new FileReader(bookUrl)); + String t, u; + int z = 0; + while ((t = readBook.readLine()) != null + && (u = readUrl.readLine()) != null && z < MAX_BOOKMARKS) { + bUrl[z] = u; + bTitle[z] = t; + z++; } - - }); + readBook.close(); + readUrl.close(); + } catch (IOException ignored) { + } + openBookmarks(CONTEXT, currentTab); } - @SuppressLint("HandlerLeak") - void enterUrl() { - getUrl = (MultiAutoCompleteTextView) findViewById(R.id.enterUrl); - getUrl.setPadding(tenPad, 0, tenPad, 0); - getUrl.setTextColor(getResources().getColor(android.R.color.black)); - getUrl.setPadding(tenPad, 0, tenPad, 0); - getUrl.setBackgroundResource(R.drawable.book); - getUrl.setPadding(tenPad, 0, tenPad, 0); - final List> list = new ArrayList>(); - handler = new Handler() { - - @Override - public void handleMessage(Message msg) { - - switch (msg.what) { - case 1: { - SimpleAdapter adapter = new SimpleAdapter(CONTEXT, list, - R.layout.two_line_autocomplete, new String[] { - "title", "url" }, new int[] { R.id.title, - R.id.url }); - - getUrl.setAdapter(adapter); - - break; - } - case 2: { - - break; - } - } - } - }; + public static void generateHistory(final IncognitoWebView view, + final Context context) { - Thread updateAutoComplete = new Thread(new Runnable() { + Thread history = new Thread(new Runnable() { @Override public void run() { + String historyHtml = HistoryPageVariables.Heading; + Cursor historyCursor = null; + String[][] h = new String[50][3]; - Cursor c = null; - Cursor managedCursor = null; - columns = new String[] { "url", "title" }; try { + SQLiteDatabase s = historyHandler.getReadableDatabase(); + historyCursor = s.query("history", // URI + // of + columns, // Which columns to return + null, // Which rows to return (all rows) + null, // Selection arguments (none) + null, null, null); + + handler.sendEmptyMessage(1); - bookmarks = Browser.BOOKMARKS_URI; - c = getContentResolver().query(bookmarks, columns, null, - null, null); } catch (SQLiteException ignored) { - } catch (IllegalStateException ignored) { } catch (NullPointerException ignored) { - } - - if (c != null) { - noStockBrowser = false; - Log.i("Browser", "detected AOSP browser"); - } else { - noStockBrowser = true; - Log.e("Browser", "did not detect AOSP browser"); - } - if (c != null) { - c.close(); - } - try { - - managedCursor = null; - SQLiteDatabase s = historyHandler.getReadableDatabase(); - managedCursor = s.query("history", // URI - // of - columns, // Which columns to return - null, // Which rows to return (all rows) - null, // Selection arguments (none) - null, null, null); - - } catch (SQLiteException ignored) { - } catch (NullPointerException ignored) { - } catch (IllegalStateException ignored) { + } catch (IllegalStateException ignored) { } try { - if (managedCursor != null) { - - if (managedCursor.moveToLast()) { - + if (historyCursor != null) { + if (historyCursor.moveToLast()) { // Variable for holding the retrieved URL - - int urlColumn = managedCursor.getColumnIndex("url"); - int titleColumn = managedCursor + int urlColumn = historyCursor.getColumnIndex("url"); + int titleColumn = historyCursor .getColumnIndex("title"); // Reference to the the column containing the URL + int n = 0; do { - String urlA = managedCursor - .getString(urlColumn); - String title = managedCursor - .getString(titleColumn); - Map map = new HashMap(); - map.put("title", title); - map.put("url", urlA); - list.add(map); - } while (managedCursor.moveToPrevious()); + + h[n][0] = historyCursor.getString(urlColumn); + h[n][2] = h[n][0].substring(0, + Math.min(100, h[n][0].length())) + + "..."; + h[n][1] = historyCursor.getString(titleColumn); + historyHtml += (HistoryPageVariables.Part1 + + h[n][0] + HistoryPageVariables.Part2 + + h[n][1] + HistoryPageVariables.Part3 + + h[n][2] + HistoryPageVariables.Part4); + n++; + } while (n < 49 && historyCursor.moveToPrevious()); } } - handler.sendEmptyMessage(1); } catch (SQLiteException ignored) { } catch (NullPointerException ignored) { } catch (IllegalStateException ignored) { } - managedCursor.close(); - } - - }); - try { - updateAutoComplete.start(); - } catch (NullPointerException ignored) { - } catch (SQLiteMisuseException ignored) { - } catch (IllegalStateException ignored) { - } - - getUrl.setThreshold(1); - getUrl.setTokenizer(new SpaceTokenizer()); - getUrl.setOnItemClickListener(new OnItemClickListener() { - @Override - public void onItemClick(AdapterView arg0, View arg1, int arg2, - long arg3) { + historyHtml += BookmarkPageVariables.End; + File historyWebPage = new File(context.getFilesDir(), + "history.html"); try { - String url; - url = ((TextView) arg1.findViewById(R.id.url)).getText() - .toString(); - getUrl.setText(url); - searchTheWeb(url, CONTEXT); - url = null; + FileWriter hWriter = new FileWriter(historyWebPage, false); + hWriter.write(historyHtml); + hWriter.close(); + } catch (IOException e) { + e.printStackTrace(); + } + if (uBar.isShown()) { + currentTabTitle.setText("History"); + setUrlText(""); getUrl.setPadding(tenPad, 0, tenPad, 0); - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); - } catch (NullPointerException e) { - Log.e("Browser Error: ", - "NullPointerException on item click"); } + + view.loadUrl("file://" + historyWebPage); } }); - - getUrl.setSelectAllOnFocus(true); // allows edittext to select all when - // clicked + history.run(); } - void back() { - ImageView exit = (ImageView) findViewById(R.id.exit); - exit.setBackgroundResource(R.drawable.button); - if (isPhone) { - RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); - relativeLayout1.removeView(exit); + public static IncognitoWebView generateTab(final int pageToView, String Url, + final boolean display) { + IncognitoWebView view = new IncognitoWebView(CONTEXT); + view.setId(pageToView); + view.setWebViewClient(new IncognitoWebViewClient(ACTIVITY)); + view.setWebChromeClient(new IncognitoChromeClient(ACTIVITY)); + if (API > 8) { + view.setDownloadListener(new IncognitoDownloadListener(ACTIVITY)); } - exit.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - - if (currentTab.canGoBack()) { - currentTab.goBack(); - } else { - deleteTab(currentId); - } - - } - }); - exit.setOnLongClickListener(new OnLongClickListener() { - - @Override - public boolean onLongClick(View v) { - finish(); - return true; + if (display) { + if (currentId != -1) { + background.removeView(currentTab); } - - }); - - } - - @Override - public void finish() { - background.clearDisappearingChildren(); - tabScroll.clearDisappearingChildren(); - if (settings.getBoolean("cache", false)) { - currentTab.clearCache(true); - Log.i("Lightning", "Cache Cleared"); + background.addView(view); + view.requestFocus(); + currentId = pageToView; + currentTab = main[pageToView]; + currentTabTitle = urlTitle[pageToView]; } - super.finish(); + uBar.bringToFront(); + if (Url.contains("about:home")) { + goBookmarks(CONTEXT, view); + } else if (Url.contains("about:blank")) { + view.loadUrl(""); + } else { + searchTheWeb(Url, CONTEXT); + } + Log.i("Browser", "tab complete"); + return view; } - void forward() { - ImageView forward = (ImageView) findViewById(R.id.forward); - forward.setBackgroundResource(R.drawable.button); - if (isPhone) { - RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); - relativeLayout1.removeView(forward); + public static void goBack(IncognitoWebView view) { + if (view.isShown() && view.canGoBack()) { + view.goBack(); } - forward.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - if (currentTab.canGoForward()) { - currentTab.goForward(); - } - } + Animation left = AnimationUtils.loadAnimation(CONTEXT, R.anim.left); + background.startAnimation(left); - }); } static void goBookmarks(Context context, IncognitoWebView view) { @@ -759,1284 +486,1566 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { openBookmarks(context, view); } - @SuppressLint("InlinedApi") - private void initialize() { + public static void goForward(IncognitoWebView view) { + if (view.isShown() && view.canGoForward()) { + view.goForward(); + } + Animation right = AnimationUtils.loadAnimation(CONTEXT, R.anim.right); + background.startAnimation(right); + } - tabList = new ArrayList(); - bUrl = new String[MAX_BOOKMARKS]; - bTitle = new String[MAX_BOOKMARKS]; - main = new IncognitoWebView[MAX_TABS]; - urlTitle = new TextView[MAX_TABS]; - urlToLoad = new String[MAX_TABS][2]; - fullScreen = false; - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); - historyHandler = new DatabaseHandler(this); - cookieManager = CookieManager.getInstance(); - CookieSyncManager.createInstance(CONTEXT); - cookieManager.setAcceptCookie(false); + public static void handleLongClickOnBookmarks(final String clickedURL, + final int n) { + if (clickedURL != null) { - progressBar = (ProgressBar) findViewById(R.id.progressBar1); - browserProgress = (ProgressBar) findViewById(R.id.progressBar); - browserProgress.setVisibility(View.GONE); + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + renameBookmark(clickedURL); + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + main[n].loadUrl(clickedURL); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + deleteBookmark(clickedURL); + break; + } + } + } + }; - if (API >= 11) { - progressBar.setIndeterminateDrawable(getResources().getDrawable( - R.drawable.ics_animation)); - } else { - progressBar.setIndeterminateDrawable(getResources().getDrawable( - R.drawable.ginger_animation)); + AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog + builder.setMessage("What would you like to do with this bookmark?") + .setPositiveButton("Rename", dialogClickListener) + .setNegativeButton("Open", dialogClickListener) + .setNeutralButton("Delete", dialogClickListener).show(); } + } - showFullScreen = settings.getBoolean("fullscreen", false); - uBar = (RelativeLayout) findViewById(R.id.urlBar); - screen = (RelativeLayout) findViewById(R.id.background); - slideUp = AnimationUtils.loadAnimation(this, R.anim.slide_up); - slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); - fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); - fadeOut.setDuration(250); - fadeIn = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); - // mShortAnimationDuration = getResources().getInteger( - // android.R.integer.config_mediumAnimTime); - slideUp.setAnimationListener(new AnimationListener() { + public static int newId() { - @Override - public void onAnimationEnd(Animation arg0) { - uBar.setVisibility(View.GONE); - } + Random n = new Random(); + int id = n.nextInt(); - @Override - public void onAnimationRepeat(Animation arg0) { + while (tabList.contains(id)) { + id = n.nextInt(); + } + return id; + } + // new tab method, takes the id of the tab to be created and the url to load + public static int newTab(final String theUrl, final boolean display) { + Log.i("Browser", "making tab"); + homepage = settings.getString("home", HOMEPAGE); + int finalID = createTab(theUrl, display); + if (finalID != -1) { + tabList.add(finalID); + if (display) { + currentId = finalID; + currentTab = main[finalID]; + currentTabTitle = urlTitle[finalID]; } - @Override - public void onAnimationStart(Animation arg0) { + return finalID; + } else { + return 0; + } + } + public static void onCreateWindow(Message resultMsg) { + newTab("", true); + WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; + transport.setWebView(currentTab); + resultMsg.sendToTarget(); + browserHandler.postDelayed(new Runnable() { + @Override + public void run() { + currentTab.loadUrl(getUrl.getText().toString()); } + }, 500); + } - }); - slideDown.setAnimationListener(new AnimationListener() { - - @Override - public void onAnimationEnd(Animation animation) { + public static void onHideCustomView(FrameLayout fullScreenContainer, + CustomViewCallback mCustomViewCallback, int orientation) { + FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); + screen.removeView(fullScreenContainer); + fullScreenContainer = null; + mCustomViewCallback.onCustomViewHidden(); + ACTIVITY.setRequestedOrientation(orientation); + background.addView(currentTab); + uBar.setVisibility(View.VISIBLE); + uBar.bringToFront(); + } - } + private static Message click; + public static boolean onLongClick() { + int n = currentId; + if(currentId == -1 || currentTab == null){ + return true; + } + final HitTestResult result = currentTab.getHitTestResult(); - @Override - public void onAnimationRepeat(Animation animation) { + if (currentTab.getUrl().contains( + "file://" + CONTEXT.getFilesDir() + "/bookmarks.html")) { + click = new Message(); + click.arg1 = n; + click.setTarget(new ClickHandler()); + currentTab.requestFocusNodeHref(click); - } + return true; + } else if (result != null) { + if (result.getExtra() != null) { + if (result.getType() == 5 && API > 8) { + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + int num = currentId; + newTab(result.getExtra(), false); + // urlTitle[num].performClick(); + currentId = num; + currentTab = main[num]; + currentTabTitle = urlTitle[num]; + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + currentTab.loadUrl(result.getExtra()); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + if (API > 8) { + String url = result.getExtra(); - @Override - public void onAnimationStart(Animation animation) { - uBar.setVisibility(View.VISIBLE); - } + Utils.downloadFile(CONTEXT, url, null, null); - }); + } + break; + } + } + } + }; + + AlertDialog.Builder builder = new AlertDialog.Builder( + CONTEXT); // dialog + builder.setMessage( + "What would you like to do with this image?") + .setPositiveButton("Open in New Tab", + dialogClickListener) + .setNegativeButton("Open Normally", + dialogClickListener) + .setNeutralButton("Download Image", + dialogClickListener).show(); - RelativeLayout refreshLayout = (RelativeLayout) findViewById(R.id.refreshLayout); - refreshLayout.setBackgroundResource(R.drawable.button); + } else { + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: { + int num = currentId; + newTab(result.getExtra(), false); + currentId = num; + currentTab = main[num]; + currentTabTitle = urlTitle[num]; + break; + } + case DialogInterface.BUTTON_NEGATIVE: { + currentTab.loadUrl(result.getExtra()); + break; + } + case DialogInterface.BUTTON_NEUTRAL: { + if (API < 11) { + android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ACTIVITY + .getSystemService(Context.CLIPBOARD_SERVICE); + clipboard.setText(result.getExtra()); + } else { + ClipboardManager clipboard = (ClipboardManager) ACTIVITY + .getSystemService(CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText( + "label", result.getExtra()); + clipboard.setPrimaryClip(clip); + } + break; + } + } + } + }; + + AlertDialog.Builder builder = new AlertDialog.Builder( + CONTEXT); // dialog + builder.setTitle(result.getExtra()) + .setMessage( + "What do you want to do with this link?") + .setPositiveButton("Open in New Tab", + dialogClickListener) + .setNegativeButton("Open Normally", + dialogClickListener) + .setNeutralButton("Copy link", dialogClickListener) + .show(); + } + } + return true; - // user agent - if (API < 17) { - user = new WebView(CONTEXT).getSettings().getUserAgentString(); } else { - user = WebSettings.getDefaultUserAgent(this); + return false; } + } - background = (FrameLayout) findViewById(R.id.holder); - defaultUser = user; // setting mobile user - // agent - switch (settings.getInt("search", 1)) { - case 1: - SEARCH = FinalVariables.GOOGLE_SEARCH; - break; - case 2: - SEARCH = FinalVariables.BING_SEARCH; - break; - case 3: - SEARCH = FinalVariables.YAHOO_SEARCH; - break; - case 4: - SEARCH = FinalVariables.STARTPAGE_SEARCH; - break; - case 5: - SEARCH = FinalVariables.DUCK_SEARCH; - break; - case 6: - SEARCH = FinalVariables.BAIDU_SEARCH; - break; - case 7: - SEARCH = FinalVariables.YANDEX_SEARCH; - break; - case 8: - SEARCH = FinalVariables.DUCK_LITE_SEARCH; - break; + public static void onPageFinished(WebView view, String url) { + if (view.isShown()) { + view.invalidate(); + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + + if (showFullScreen && uBar.isShown()) { + uBar.startAnimation(slideUp); + } } + view.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); + Log.i("Lightning", "Page Finished"); + loadTime = System.currentTimeMillis() - loadTime; + Log.i("Lightning", "Load Time: " + loadTime); + } - exitTab = getResources().getDrawable(R.drawable.stop); // user - // agent - homepage = settings.getString("home", HOMEPAGE); // initializing - // the - // stored - // homepage - // variable + private static int numberPage; + public static void onPageStarted(WebView view, String url, Bitmap favicon) { + Log.i("Lightning", "Page Started"); + loadTime = System.currentTimeMillis(); + numberPage = view.getId(); - // initializing variables declared + if (url.startsWith("file://")) { + view.getSettings().setUseWideViewPort(false); + } else { + view.getSettings().setUseWideViewPort( + settings.getBoolean("wideviewport", true)); + } - height = getResources().getDrawable(R.drawable.loading) - .getMinimumHeight(); - width = getResources().getDrawable(R.drawable.loading) - .getMinimumWidth(); + if (view.isShown()) { + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + setUrlText(url); + } - // hides keyboard so it doesn't default pop up - this.getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); + urlTitle[numberPage].setCompoundDrawables(incognitoPage, null, exitTab, + null); + if (favicon != null) { + setFavicon(view.getId(), favicon); + } - // opens icondatabase so that favicons can be stored - WebIconDatabase.getInstance().open( - getDir("icons", MODE_PRIVATE).getPath()); + getUrl.setPadding(tenPad, 0, tenPad, 0); + urlToLoad[numberPage][0] = url; - // scroll view containing tabs - tabLayout = (LinearLayout) findViewById(R.id.tabLayout); - tabScroll = (HorizontalScrollView) findViewById(R.id.tabScroll); - tabScroll.setBackgroundColor(getResources().getColor(R.color.black)); - tabScroll.setHorizontalScrollBarEnabled(false); - if (API > 8) { - tabScroll.setOverScrollMode(View.OVER_SCROLL_NEVER); // disallow - // overscroll + if (!uBar.isShown() && showFullScreen) { + uBar.startAnimation(slideDown); } + } - // image dimensions and initialization - final int dps = 175; - final float scale = getApplicationContext().getResources() - .getDisplayMetrics().density; - pixels = (int) (dps * scale + 0.5f); - leftPad = (int) (17 * scale + 0.5f); - rightPad = (int) (15 * scale + 0.5f); - height32 = (int) (32 * scale + 0.5f); - tenPad = (int) (10 * scale + 0.5f); + public static void onProgressChanged(int id, int progress) { + if (id == currentId) { + browserProgress.setProgress(progress); + if (progress < 100) { + browserProgress.setVisibility(View.VISIBLE); + } else { + browserProgress.setVisibility(View.GONE); + } + } + } - webpageOther = getResources().getDrawable(R.drawable.webpage); - incognitoPage = getResources().getDrawable(R.drawable.incognito); - webpageOther.setBounds(0, 0, width / 2, height / 2); - incognitoPage.setBounds(0, 0, width / 2, height / 2); - exitTab.setBounds(0, 0, width * 2 / 3, height * 2 / 3); + public static void onReceivedTitle(int numberPage, String title) { + if (title != null && title.length() != 0) { + urlTitle[numberPage].setText(title); + urlToLoad[numberPage][1] = title; + } + } - Thread startup = new Thread(new Runnable() { + public static void onShowCustomView() { + background.removeView(currentTab); + uBar.setVisibility(View.GONE); + } - @Override - public void run() { - reopenOldTabs(); // restores old tabs or creates a new one + static void openBookmarks(Context context, IncognitoWebView view) { + String bookmarkHtml = BookmarkPageVariables.Heading; + + for (int n = 0; n < MAX_BOOKMARKS; n++) { + if (bUrl[n] != null) { + bookmarkHtml += (BookmarkPageVariables.Part1 + bUrl[n] + + BookmarkPageVariables.Part2 + bUrl[n] + + BookmarkPageVariables.Part3 + bTitle[n] + BookmarkPageVariables.Part4); } + } + bookmarkHtml += BookmarkPageVariables.End; + File bookmarkWebPage = new File(context.getFilesDir(), "bookmarks.html"); + try { + FileWriter bookWriter = new FileWriter(bookmarkWebPage, false); + bookWriter.write(bookmarkHtml); + bookWriter.close(); + } catch (IOException e) { + e.printStackTrace(); + } + view.loadUrl("file://" + bookmarkWebPage); - }); - startup.run(); + if (uBar.isShown()) { + currentTabTitle.setText("Bookmarks"); + setUrlText(""); + getUrl.setPadding(tenPad, 0, tenPad, 0); + } - // new tab button - ImageView newTab = (ImageView) findViewById(R.id.newTab); - newTab.setBackgroundResource(R.drawable.button); - newTab.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - newTab(homepage, true); - tabScroll.postDelayed(new Runnable() { - @Override - public void run() { - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); - } - }, 100L); - - } - }); - newTab.setOnLongClickListener(new OnLongClickListener() { + } - @Override - public boolean onLongClick(View v) { - if (settings.getString("oldPage", "").length() > 0) { - newTab(settings.getString("oldPage", ""), true); - edit.putString("oldPage", ""); - edit.commit(); - tabScroll.postDelayed(new Runnable() { - @Override - public void run() { - tabScroll.smoothScrollTo( - currentTabTitle.getLeft(), 0); - } - }, 100L); - } - return true; - } + public static void openFileChooser(ValueCallback uploadMsg) { + mUploadMessage = uploadMsg; + Intent i = new Intent(Intent.ACTION_GET_CONTENT); + i.addCategory(Intent.CATEGORY_OPENABLE); + i.setType("*/*"); + ACTIVITY.startActivityForResult( + Intent.createChooser(i, "File Chooser"), 1); + } - }); - refresh = (ImageView) findViewById(R.id.refresh); - refreshLayout.setOnClickListener(new OnClickListener() { + public static void reinitializeSettings() { + int size = tabList.size(); + for (int n = 0; n < size; n++) { + main[tabList.get(n)].settingsInitialization(CONTEXT); + } + } - @Override - public void onClick(View arg0) { - if (currentTab.getProgress() < 100) { - currentTab.stopLoading(); - } else { - currentTab.reload(); + public static void renameBookmark(String url) { + index = 0; + for (int n = 0; n < MAX_BOOKMARKS; n++) { + if (bUrl[n] != null) { + if (bUrl[n].equalsIgnoreCase(url)) { + index = n; + break; } } + } - }); + final AlertDialog.Builder homePicker = new AlertDialog.Builder(CONTEXT); + homePicker.setTitle("Rename Bookmark"); + final EditText getText = new EditText(CONTEXT); + getText.setText(bTitle[index]); - enterUrl(); - if (showFullScreen) { - toggleFullScreen(); - } - browserHandler = new Handle(); + homePicker.setView(getText); + homePicker.setPositiveButton("OK", + new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, int which) { + bTitle[index] = getText.getText().toString(); + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + File bookUrl = new File(CONTEXT.getFilesDir(), + "bookurl"); + int n = 0; + try { + BufferedWriter bookWriter = new BufferedWriter( + new FileWriter(book)); + BufferedWriter urlWriter = new BufferedWriter( + new FileWriter(bookUrl)); + while (bUrl[n] != null && n < (MAX_BOOKMARKS - 1)) { + bookWriter.write(bTitle[n]); + urlWriter.write(bUrl[n]); + bookWriter.newLine(); + urlWriter.newLine(); + n++; + } + bookWriter.close(); + urlWriter.close(); + } catch (FileNotFoundException e) { + } catch (IOException e) { + } + for (int p = 0; p < MAX_BOOKMARKS; p++) { + bUrl[p] = null; + bTitle[p] = null; + } + try { + BufferedReader readBook = new BufferedReader( + new FileReader(book)); + BufferedReader readUrl = new BufferedReader( + new FileReader(bookUrl)); + String t, u; + int z = 0; + while ((t = readBook.readLine()) != null + && (u = readUrl.readLine()) != null + && z < MAX_BOOKMARKS) { + bUrl[z] = u; + bTitle[z] = t; + z++; + } + readBook.close(); + readUrl.close(); + } catch (IOException ignored) { + } + openBookmarks(CONTEXT, currentTab); + } + }); + homePicker.show(); } - static class Handle extends Handler { + static void searchTheWeb(String query, Context context) { + query = query.trim(); + currentTab.stopLoading(); - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case 1: { - currentTab.loadUrl(getUrl.getText().toString()); - break; - } - case 2: { - // deleteTab(msg.arg1); - break; - } - case 3: { - currentTab.invalidate(); - break; - } - } - super.handleMessage(msg); + if (query.startsWith("www.")) { + query = "http://" + query; + } else if (query.startsWith("ftp.")) { + query = "ftp://" + query; } + boolean containsPeriod = query.contains("."); + boolean isIPAddress = (TextUtils.isDigitsOnly(query.replace(".", "")) && (query + .replace(".", "").length() >= 4)); + boolean aboutScheme = query.contains("about:"); + boolean validURL = (query.startsWith("ftp://") + || query.startsWith("http://") || query.startsWith("file://") || query + .startsWith("https://")) || isIPAddress; + boolean isSearch = ((query.contains(" ") || !containsPeriod) && !aboutScheme); + + if (query.contains("about:home") || query.contains("about:bookmarks")) { + goBookmarks(context, currentTab); + } else if (query.contains("about:history")) { + generateHistory(currentTab, context); + } else if (isSearch) { + query.replaceAll(" ", "+"); + currentTab.loadUrl(SEARCH + query); + } else if (!validURL) { + currentTab.loadUrl("http://" + query); + } else { + currentTab.loadUrl(query); + } } - void reopenOldTabs() { - Intent url = getIntent(); - String URL = url.getDataString(); - boolean oldTabs = false; + public static void setFavicon(int id, Bitmap favicon) { + Drawable icon; + icon = new BitmapDrawable(null, favicon); + icon.setBounds(0, 0, width / 2, height / 2); + urlTitle[id] + .setCompoundDrawables(incognitoPage, null, exitTab, null); + - if (settings.getBoolean("savetabs", true)) { - if (URL != null) { - // opens a new tab with the url if its there - int n = newTab(URL, true); - main[n].resumeTimers(); - oldTabs = true; + } + public static void setUrlText(String url) { + if (url != null) { + if (!url.startsWith("file://")) { + getUrl.setText(url); + } else { + getUrl.setText(""); } - boolean first = false; - for (String aMemoryURL : memoryURL) { - if (aMemoryURL.length() > 0) { - if (!first) { - int n = newTab("", !oldTabs); - main[n].resumeTimers(); - main[n].getSettings().setCacheMode( - WebSettings.LOAD_CACHE_ELSE_NETWORK); - main[n].loadUrl(aMemoryURL); - } else { - int n = newTab("", false); - main[n].getSettings().setCacheMode( - WebSettings.LOAD_CACHE_ELSE_NETWORK); - main[n].loadUrl(aMemoryURL); - } - oldTabs = true; - } + } + } - } + static void share() { + Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); - if (!oldTabs) { - int n = newTab(homepage, true); - main[n].resumeTimers(); - } - } else { - if (URL != null) { - // opens a new tab with the URL if its there - int n = newTab(URL, true); - main[n].resumeTimers(); + // set the type + shareIntent.setType("text/plain"); - } else { - // otherwise it opens the home-page - int n = newTab(homepage, true); - main[n].resumeTimers(); + // add a subject + shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, + urlToLoad[currentId][1]); - } + // build the body of the message to be shared + String shareMessage = urlToLoad[currentId][0]; + + // add the message + shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage); + + // start the chooser for sharing + CONTEXT.startActivity(Intent.createChooser(shareIntent, + "Share this page")); + } + + public static void toggleFullScreen() { + showFullScreen = settings.getBoolean("fullscreen", false); + IncognitoWebView.showFullScreen = showFullScreen; + if (fullScreen) { + background.removeView(uBar); + screen.addView(uBar); + fullScreen = false; + } else { + screen.removeView(uBar); + background.addView(uBar); + fullScreen = true; } } - public static IncognitoWebView generateTab(final int pageToView, String Url, - final boolean display) { - IncognitoWebView view = new IncognitoWebView(CONTEXT); - view.setId(pageToView); - view.setWebViewClient(new IncognitoWebViewClient(ACTIVITY)); - view.setWebChromeClient(new IncognitoChromeClient(ACTIVITY)); - if (API > 8) { - view.setDownloadListener(new IncognitoDownloadListener(ACTIVITY)); + void back() { + ImageView exit = (ImageView) findViewById(R.id.exit); + exit.setBackgroundResource(R.drawable.button); + if (isPhone) { + RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); + relativeLayout1.removeView(exit); } + exit.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + + if (currentTab.canGoBack()) { + currentTab.goBack(); + } else { + deleteTab(currentId); + } - if (display) { - if (currentId != -1) { - background.removeView(currentTab); } - background.addView(view); - view.requestFocus(); - currentId = pageToView; - currentTab = main[pageToView]; - currentTabTitle = urlTitle[pageToView]; - } - uBar.bringToFront(); - if (Url.contains("about:home")) { - goBookmarks(CONTEXT, view); - } else if (Url.contains("about:blank")) { - view.loadUrl(""); - } else { - if (!Url.startsWith("http") && Url != "") { - Url = "http://" + Url; + + }); + exit.setOnLongClickListener(new OnLongClickListener() { + + @Override + public boolean onLongClick(View v) { + finish(); + return true; } - view.loadUrl(Url); - } - Log.i("Browser", "tab complete"); - return view; - } + }); - private void newSettings() { - startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); } - // new tab method, takes the id of the tab to be created and the url to load - public static int newTab(final String theUrl, final boolean display) { - Log.i("Browser", "making tab"); - homepage = settings.getString("home", HOMEPAGE); - int finalID = createTab(theUrl, display); - if (finalID != -1) { - tabList.add(finalID); - if (display) { - currentId = finalID; - currentTab = main[finalID]; - currentTabTitle = urlTitle[finalID]; - } - - return finalID; - } else { - return 0; + void deleteTab(final int del) { + if (API >= 11) { + main[del].onPause(); } - } - - //creates the tab and returns the ID of the view - public static int createTab(String theUrl, boolean display) { - int id = -1; - for (int n = 0; n < MAX_TABS; n++) { - if (main[n] == null) { - id = n; - break; - } + main[del].stopLoading(); + main[del].clearHistory(); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + edit.putString("oldPage", urlToLoad[del][0]); + edit.commit(); + urlToLoad[del][0] = null; + urlToLoad[del][1] = null; + if (API < 16) { + urlTitle[del].setBackgroundDrawable(active); + } else { + urlTitle[del].setBackground(active); } - if (id != -1) { - if (id > 0) { - if (display) { - if (API < 16) { - currentTabTitle.setBackgroundDrawable(inactive); - } else { - currentTabTitle.setBackground(inactive); + + urlTitle[del].setPadding(leftPad, 0, rightPad, 0); + Animation yolo = AnimationUtils.loadAnimation(this, R.anim.down); + yolo.setAnimationListener(new AnimationListener() { + + @Override + public void onAnimationEnd(Animation animation) { + // urlTitle[del].setVisibility(View.GONE); + tabLayout.post(new Runnable() { + + @Override + public void run() { + tabLayout.removeView(urlTitle[del]); } - currentTabTitle.setPadding(leftPad, 0, rightPad, 0); - } + + }); + findNewView(del); + main[del] = null; } - final TextView title = new TextView(CONTEXT); - title.setText("New Tab"); - if (display) { - if (API < 16) { - title.setBackgroundDrawable(active); - } else { - title.setBackground(active); - } - } else { - if (API < 16) { - title.setBackgroundDrawable(inactive); - } else { - title.setBackground(inactive); - } + + @Override + public void onAnimationRepeat(Animation animation) { } - title.setSingleLine(true); - title.setGravity(Gravity.CENTER_VERTICAL); - title.setHeight(height32); - title.setWidth(pixels); - title.setPadding(leftPad, 0, rightPad, 0); - title.setId(id); - title.setGravity(Gravity.CENTER_VERTICAL); - title.setCompoundDrawables(incognitoPage, null, exitTab, null); + @Override + public void onAnimationStart(Animation animation) { + } - Drawable[] drawables = title.getCompoundDrawables(); - bounds = drawables[2].getBounds(); - title.setOnTouchListener(ACTIVITY); - Animation holo = AnimationUtils.loadAnimation(CONTEXT, R.anim.up); - tabLayout.addView(title); - title.setVisibility(View.INVISIBLE); - holo.setAnimationListener(new AnimationListener() { + }); + urlTitle[del].startAnimation(yolo); + uBar.bringToFront(); + } - @Override - public void onAnimationEnd(Animation animation) { - } + void enter() { + getUrl.setOnKeyListener(new OnKeyListener() { - @Override - public void onAnimationRepeat(Animation animation) { - } + @Override + public boolean onKey(View arg0, int arg1, KeyEvent arg2) { - @Override - public void onAnimationStart(Animation animation) { - title.setVisibility(View.VISIBLE); + switch (arg1) { + case KeyEvent.KEYCODE_ENTER: + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + searchTheWeb(getUrl.getText().toString(), CONTEXT); + return true; + default: + break; } + return false; + } - }); - title.startAnimation(holo); - urlTitle[id] = title; - - urlTitle[id].setText("New Tab"); + }); + getUrl.setOnEditorActionListener(new OnEditorActionListener() { - if (theUrl != null) { - main[id] = generateTab(id, theUrl, display); - } else { - main[id] = generateTab(id, homepage, display); + @Override + public boolean onEditorAction(TextView arg0, int actionId, + KeyEvent arg2) { + if (actionId == EditorInfo.IME_ACTION_GO + || actionId == EditorInfo.IME_ACTION_DONE + || actionId == EditorInfo.IME_ACTION_NEXT + || actionId == EditorInfo.IME_ACTION_SEND + || actionId == EditorInfo.IME_ACTION_SEARCH + || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + searchTheWeb(getUrl.getText().toString(), CONTEXT); + return true; + } + return false; } - } else { - Utils.showToast(CONTEXT, "Max number of tabs reached"); - } - return id; + }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, - Intent intent) { - if (requestCode == 1) { - if (null == mUploadMessage) - return; - Uri result = intent == null || resultCode != RESULT_OK ? null - : intent.getData(); - mUploadMessage.onReceiveValue(result); - mUploadMessage = null; + @SuppressLint("HandlerLeak") + void enterUrl() { + getUrl = (MultiAutoCompleteTextView) findViewById(R.id.enterUrl); + getUrl.setPadding(tenPad, 0, tenPad, 0); + getUrl.setTextColor(getResources().getColor(android.R.color.black)); + getUrl.setPadding(tenPad, 0, tenPad, 0); + getUrl.setBackgroundResource(R.drawable.book); + getUrl.setPadding(tenPad, 0, tenPad, 0); + final List> list = new ArrayList>(); + handler = new Handler() { - } - } + @Override + public void handleMessage(Message msg) { - @Override - public void onBackPressed() { - try { - if (showFullScreen && !uBar.isShown()) { - uBar.startAnimation(slideDown); - } - if (currentTab.isShown() && currentTab.canGoBack()) { - currentTab.goBack(); - } else { - deleteTab(currentId); - uBar.bringToFront(); - } - } catch (NullPointerException ignored) { - } - return; - } + switch (msg.what) { + case 1: { + SimpleAdapter adapter = new SimpleAdapter(CONTEXT, list, + R.layout.two_line_autocomplete, new String[] { + "title", "url" }, new int[] { R.id.title, + R.id.url }); - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - if (settings.getBoolean("textreflow", false)) { - currentTab.getSettings().setLayoutAlgorithm( - LayoutAlgorithm.NARROW_COLUMNS); - } else { - currentTab.getSettings().setLayoutAlgorithm( - LayoutAlgorithm.NORMAL); - } + getUrl.setAdapter(adapter); - } + break; + } + case 2: { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); // displays main xml layout - CONTEXT = this; - ACTIVITY = this; - settings = getSharedPreferences("settings", 0); - edit = settings.edit(); + break; + } + } + } + }; - if (settings.getBoolean("hidestatus", false)) { - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - if (settings.getBoolean("savetabs", true)) { - String mem = settings.getString("memory", ""); - edit.putString("memory", ""); - memoryURL = new String[MAX_TABS]; - memoryURL = getArray(mem); - } + Thread updateAutoComplete = new Thread(new Runnable() { - inactive = getResources().getDrawable(R.drawable.bg_inactive); - active = getResources().getDrawable(R.drawable.bg_press); - initialize(); // sets up random stuff - options(); // allows options to be opened - enter();// enter url bar - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); + @Override + public void run() { - float widthInInches = metrics.widthPixels / metrics.xdpi; - float heightInInches = metrics.heightPixels / metrics.ydpi; - double sizeInInches = Math.sqrt(Math.pow(widthInInches, 2) - + Math.pow(heightInInches, 2)); - // 0.5" buffer for 7" devices - isPhone = sizeInInches < 6.5; - forward();// forward button - back(); - if (settings.getInt("first", 0) == 0) { // This dialog alerts the user - // to some navigation - // techniques - String message = "1. Long-press back button to exit browser\n\n" - + "2. Swipe from left edge toward the right (---->) to go back\n\n" - + "3. Swipe from right edge toward the left (<----)to go forward\n\n" - + "4. Visit settings and advanced settings to change options\n\n" - + "5. Long-press on the new tab button to open the last closed tab"; - - Utils.createInformativeDialog(CONTEXT, "Browser Tips", message); - edit.putInt("first", 1); - edit.commit(); - } + Cursor c = null; + Cursor managedCursor = null; + columns = new String[] { "url", "title" }; + try { - } + bookmarks = Browser.BOOKMARKS_URI; + c = getContentResolver().query(bookmarks, columns, null, + null, null); + } catch (SQLiteException ignored) { + } catch (IllegalStateException ignored) { + } catch (NullPointerException ignored) { + } - @Override - public boolean onCreateOptionsMenu(Menu menu) { + if (c != null) { + noStockBrowser = false; + Log.i("Browser", "detected AOSP browser"); + } else { + noStockBrowser = true; + Log.e("Browser", "did not detect AOSP browser"); + } + if (c != null) { + c.close(); + } + try { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.incognito_menu, menu); + managedCursor = null; + SQLiteDatabase s = historyHandler.getReadableDatabase(); + managedCursor = s.query("history", // URI + // of + columns, // Which columns to return + null, // Which rows to return (all rows) + null, // Selection arguments (none) + null, null, null); - return true; - } + } catch (SQLiteException ignored) { + } catch (NullPointerException ignored) { + } catch (IllegalStateException ignored) { + } - /* - * (non-Javadoc) - * - * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent) - */ - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - switch (keyCode) { - case KeyEvent.KEYCODE_SEARCH: { - getUrl.requestFocus(); - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - manager.showSoftInput(getUrl, 0); - - break; - } - case KeyEvent.KEYCODE_F5: { - currentTab.reload(); - } - case KeyEvent.KEYCODE_ESCAPE: { - currentTab.stopLoading(); - } - case KeyEvent.KEYCODE_TAB: { - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - if(!manager.isActive()){ - newTab(homepage, true); + try { + if (managedCursor != null) { + + if (managedCursor.moveToLast()) { + + // Variable for holding the retrieved URL + + int urlColumn = managedCursor.getColumnIndex("url"); + int titleColumn = managedCursor + .getColumnIndex("title"); + // Reference to the the column containing the URL + do { + String urlA = managedCursor + .getString(urlColumn); + String title = managedCursor + .getString(titleColumn); + Map map = new HashMap(); + map.put("title", title); + map.put("url", urlA); + list.add(map); + } while (managedCursor.moveToPrevious()); + } + } + handler.sendEmptyMessage(1); + } catch (SQLiteException ignored) { + } catch (NullPointerException ignored) { + } catch (IllegalStateException ignored) { + } + managedCursor.close(); } - - } - case KeyEvent.KEYCODE_F12: { - finish(); - } - case KeyEvent.KEYCODE_F6:{ - getUrl.selectAll(); - } - case KeyEvent.KEYCODE_F10: { - startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); - } - case KeyEvent.KEYCODE_F11:{ - toggleFullScreen(); + + }); + try { + updateAutoComplete.start(); + } catch (NullPointerException ignored) { + } catch (SQLiteMisuseException ignored) { + } catch (IllegalStateException ignored) { } - case KeyEvent.KEYCODE_DEL:{ - InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - if(!manager.isActive()){ - currentTab.goBack(); + + getUrl.setThreshold(1); + getUrl.setTokenizer(new SpaceTokenizer()); + getUrl.setOnItemClickListener(new OnItemClickListener() { + + @Override + public void onItemClick(AdapterView arg0, View arg1, int arg2, + long arg3) { + try { + String url; + url = ((TextView) arg1.findViewById(R.id.url)).getText() + .toString(); + getUrl.setText(url); + searchTheWeb(url, CONTEXT); + url = null; + getUrl.setPadding(tenPad, 0, tenPad, 0); + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getUrl.getWindowToken(), 0); + } catch (NullPointerException e) { + Log.e("Browser Error: ", + "NullPointerException on item click"); + } } + + }); + + getUrl.setSelectAllOnFocus(true); // allows edittext to select all when + // clicked + } + + void findNewView(int id) { + int delete = tabList.indexOf(id); + int leftId = id; + boolean right = false, left = false; + if (id == currentId) { + + if (main[id].isShown()) { + main[id].startAnimation(fadeOut); + background.removeView(main[id]); + uBar.bringToFront(); + } + + if (tabList.size() > delete + 1) { + id = tabList.get(delete + 1); + if (urlTitle[id].isShown()) { + background.addView(main[id]); + main[id].setVisibility(View.VISIBLE); + uBar.bringToFront(); + if (API < 16) { + urlTitle[id].setBackgroundDrawable(active); + } else { + urlTitle[id].setBackground(active); + } + urlTitle[id].setPadding(leftPad, 0, rightPad, 0); + currentId = id; + currentTab = main[id]; + currentTabTitle = urlTitle[id]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + right = true; + if (main[id].getProgress() < 100) { + onProgressChanged(id, main[id].getProgress()); + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + } else { + onProgressChanged(id, main[id].getProgress()); + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + } + // break; + } + + } + if (!right) { + if (delete > 0) { + leftId = tabList.get(delete - 1); + if (urlTitle[leftId].isShown()) { + background.addView(main[leftId]); + main[leftId].setVisibility(View.VISIBLE); + // uBar.bringToFront(); + if (API < 16) { + urlTitle[leftId].setBackgroundDrawable(active); + } else { + urlTitle[leftId].setBackground(active); + } + urlTitle[leftId].setPadding(leftPad, 0, rightPad, 0); + currentId = leftId; + currentTab = main[leftId]; + currentTabTitle = urlTitle[leftId]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + left = true; + if (main[leftId].getProgress() < 100) { + refresh.setVisibility(View.INVISIBLE); + progressBar.setVisibility(View.VISIBLE); + onProgressChanged(leftId, + main[leftId].getProgress()); + } else { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + onProgressChanged(leftId, + main[leftId].getProgress()); + } + // break; + } + + } + + } + + } else { + right = left = true; } + tabList.remove(delete); + if (!(right || left)) { + finish(); } - return super.onKeyDown(keyCode, event); + uBar.bringToFront(); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); } @Override - public boolean onKeyLongPress(int keyCode, KeyEvent event) { + public void finish() { + background.clearDisappearingChildren(); + background.removeView(currentTab); + tabScroll.clearDisappearingChildren(); + if (settings.getBoolean("cache", false)) { + currentTab.clearCache(true); + Log.i("Lightning", "Cache Cleared"); + } + super.finish(); + } - if (keyCode == KeyEvent.KEYCODE_BACK) { - if (!settings.getBoolean("restoreclosed", true)) { - for (int n = 0; n < MAX_TABS; n++) { - urlToLoad[n][0] = null; + void forward() { + ImageView forward = (ImageView) findViewById(R.id.forward); + forward.setBackgroundResource(R.drawable.button); + if (isPhone) { + RelativeLayout relativeLayout1 = (RelativeLayout) findViewById(R.id.relativeLayout1); + relativeLayout1.removeView(forward); + } + forward.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + if (currentTab.canGoForward()) { + currentTab.goForward(); } } - finish(); - return true; - } else - return super.onKeyLongPress(keyCode, event); + + }); } - @Override - protected void onNewIntent(Intent intent) { + @SuppressLint("InlinedApi") + private void initialize() { - String url = intent.getDataString(); - int id = -1; - int download = -1; - try { - id = intent.getExtras().getInt("acr.browser.barebones.Origin") - 1; - } catch (NullPointerException e) { - id = -1; + tabList = new ArrayList(); + bUrl = new String[MAX_BOOKMARKS]; + bTitle = new String[MAX_BOOKMARKS]; + main = new IncognitoWebView[MAX_TABS]; + urlTitle = new TextView[MAX_TABS]; + urlToLoad = new String[MAX_TABS][2]; + fullScreen = false; + DisplayMetrics metrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(metrics); + historyHandler = new DatabaseHandler(this); + cookieManager = CookieManager.getInstance(); + CookieSyncManager.createInstance(CONTEXT); + cookieManager.setAcceptCookie(false); + + progressBar = (ProgressBar) findViewById(R.id.progressBar1); + browserProgress = (ProgressBar) findViewById(R.id.progressBar); + browserProgress.setVisibility(View.GONE); + + if (API >= 11) { + progressBar.setIndeterminateDrawable(getResources().getDrawable( + R.drawable.ics_animation)); + } else { + progressBar.setIndeterminateDrawable(getResources().getDrawable( + R.drawable.ginger_animation)); } - try { - download = intent.getExtras().getInt( - "acr.browser.barebones.Download"); - } catch (NullPointerException e) { - download = -1; + + showFullScreen = settings.getBoolean("fullscreen", false); + uBar = (RelativeLayout) findViewById(R.id.urlBar); + screen = (RelativeLayout) findViewById(R.id.background); + slideUp = AnimationUtils.loadAnimation(this, R.anim.slide_up); + slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); + fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); + fadeOut.setDuration(250); + fadeIn = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); + // mShortAnimationDuration = getResources().getInteger( + // android.R.integer.config_mediumAnimTime); + slideUp.setAnimationListener(new AnimationListener() { + + @Override + public void onAnimationEnd(Animation arg0) { + uBar.setVisibility(View.GONE); + } + + @Override + public void onAnimationRepeat(Animation arg0) { + + } + + @Override + public void onAnimationStart(Animation arg0) { + + } + + }); + slideDown.setAnimationListener(new AnimationListener() { + + @Override + public void onAnimationEnd(Animation animation) { + + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + + @Override + public void onAnimationStart(Animation animation) { + uBar.setVisibility(View.VISIBLE); + } + + }); + + RelativeLayout refreshLayout = (RelativeLayout) findViewById(R.id.refreshLayout); + refreshLayout.setBackgroundResource(R.drawable.button); + + // user agent + if (API < 17) { + user = new WebView(CONTEXT).getSettings().getUserAgentString(); + } else { + user = WebSettings.getDefaultUserAgent(this); } - if (id >= 0) { - main[id].loadUrl(url); - } else if (download == 1) { - Utils.downloadFile(CONTEXT, url, null, null); - } else if (url != null) { - newTab(url, true); + + background = (FrameLayout) findViewById(R.id.holder); + defaultUser = user; // setting mobile user + // agent + switch (settings.getInt("search", 1)) { + case 1: + SEARCH = FinalVariables.GOOGLE_SEARCH; + break; + case 2: + SEARCH = FinalVariables.BING_SEARCH; + break; + case 3: + SEARCH = FinalVariables.YAHOO_SEARCH; + break; + case 4: + SEARCH = FinalVariables.STARTPAGE_SEARCH; + break; + case 5: + SEARCH = FinalVariables.DUCK_SEARCH; + break; + case 6: + SEARCH = FinalVariables.BAIDU_SEARCH; + break; + case 7: + SEARCH = FinalVariables.YANDEX_SEARCH; + break; + case 8: + SEARCH = FinalVariables.DUCK_LITE_SEARCH; + break; } - super.onNewIntent(intent); - } + exitTab = getResources().getDrawable(R.drawable.stop); // user + // agent + homepage = settings.getString("home", HOMEPAGE); // initializing + // the + // stored + // homepage + // variable + + // initializing variables declared - @Override - public boolean onOptionsItemSelected(MenuItem item) { + height = getResources().getDrawable(R.drawable.loading) + .getMinimumHeight(); + width = getResources().getDrawable(R.drawable.loading) + .getMinimumWidth(); - switch (item.getItemId()) { - case R.id.history: - generateHistory(currentTab, CONTEXT); - return true; - case R.id.bookmark: - if (urlToLoad[currentId][1] != null) { - if (!urlToLoad[currentId][1].equals("Bookmarks")) { - Utils.addBookmark(CONTEXT, urlToLoad[currentId][1], - urlToLoad[currentId][0]); - } - } - return true; - case R.id.settings: - newSettings(); - return true; - case R.id.allBookmarks: - if (urlToLoad[currentId][1] == null) { - goBookmarks(CONTEXT, currentTab); - } else if (!urlToLoad[currentId][1].equals("Bookmarks")) { - goBookmarks(CONTEXT, currentTab); - } + // hides keyboard so it doesn't default pop up + this.getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); - return true; - case R.id.share: - share(); - return true; - case R.id.incognito: - newTab(homepage, true); - return true; - default: - return super.onOptionsItemSelected(item); + // opens icondatabase so that favicons can be stored + WebIconDatabase.getInstance().open( + getDir("icons", MODE_PRIVATE).getPath()); + + // scroll view containing tabs + tabLayout = (LinearLayout) findViewById(R.id.tabLayout); + tabScroll = (HorizontalScrollView) findViewById(R.id.tabScroll); + tabScroll.setBackgroundColor(getResources().getColor(R.color.black)); + tabScroll.setHorizontalScrollBarEnabled(false); + if (API > 8) { + tabScroll.setOverScrollMode(View.OVER_SCROLL_NEVER); // disallow + // overscroll } - } - @Override - protected void onPause() { + // image dimensions and initialization + final int dps = 175; + final float scale = getApplicationContext().getResources() + .getDisplayMetrics().density; + pixels = (int) (dps * scale + 0.5f); + leftPad = (int) (17 * scale + 0.5f); + rightPad = (int) (15 * scale + 0.5f); + height32 = (int) (32 * scale + 0.5f); + tenPad = (int) (10 * scale + 0.5f); - if (currentTab != null) { - if (API >= 11) { - currentTab.onPause(); - } - currentTab.pauseTimers(); - } - Thread remember = new Thread(new Runnable() { + incognitoPage = getResources().getDrawable(R.drawable.incognito); + incognitoPage.setBounds(0, 0, width / 2, height / 2); + exitTab.setBounds(0, 0, width * 2 / 3, height * 2 / 3); + + Thread startup = new Thread(new Runnable() { @Override public void run() { - String s = ""; - for (int n = 0; n < MAX_TABS; n++) { - if (urlToLoad[n][0] != null) { - s = s + urlToLoad[n][0] + "|$|SEPARATOR|$|"; - } - } - edit.putString("memory", s); - edit.commit(); + reopenOldTabs(); // restores old tabs or creates a new one } - }); - remember.start(); - super.onPause(); - } - @Override - protected void onResume() { - onProgressChanged(currentId, currentTab.getProgress()); - if (currentTab.getProgress() == 100) { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); + }); + startup.run(); - } - if (API >= 11) { - currentTab.onResume(); - } - reinitializeSettings(); - currentTab.resumeTimers(); - if(settings.getBoolean("fullscreen", false)!=fullScreen){ - toggleFullScreen(); - } - super.onResume(); - } + // new tab button + ImageView newTab = (ImageView) findViewById(R.id.newTab); + newTab.setBackgroundResource(R.drawable.button); + newTab.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + Handler click = new NewTabHandler(); + click.sendEmptyMessage(1); + tabScroll.postDelayed(new Runnable() { + @Override + public void run() { + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + } + }, 100L); - static void openBookmarks(Context context, IncognitoWebView view) { - String bookmarkHtml = BookmarkPageVariables.Heading; + } + }); + newTab.setOnLongClickListener(new OnLongClickListener() { - for (int n = 0; n < MAX_BOOKMARKS; n++) { - if (bUrl[n] != null) { - bookmarkHtml += (BookmarkPageVariables.Part1 + bUrl[n] - + BookmarkPageVariables.Part2 + bUrl[n] - + BookmarkPageVariables.Part3 + bTitle[n] + BookmarkPageVariables.Part4); + @Override + public boolean onLongClick(View v) { + if (settings.getString("oldPage", "").length() > 0) { + newTab(settings.getString("oldPage", ""), true); + edit.putString("oldPage", ""); + edit.commit(); + tabScroll.postDelayed(new Runnable() { + @Override + public void run() { + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), + 0); + } + }, 100L); + } + return true; } - } - bookmarkHtml += BookmarkPageVariables.End; - File bookmarkWebPage = new File(context.getFilesDir(), "bookmarks.html"); - try { - FileWriter bookWriter = new FileWriter(bookmarkWebPage, false); - bookWriter.write(bookmarkHtml); - bookWriter.close(); - } catch (IOException e) { - e.printStackTrace(); - } - view.loadUrl("file://" + bookmarkWebPage); - if (uBar.isShown()) { - currentTabTitle.setText("Bookmarks"); - setUrlText(""); - getUrl.setPadding(tenPad, 0, tenPad, 0); - } + }); + refresh = (ImageView) findViewById(R.id.refresh); + refreshLayout.setOnClickListener(new OnClickListener() { - } + @Override + public void onClick(View arg0) { - void options() { - ImageView options = (ImageView) findViewById(R.id.options); - options.setBackgroundResource(R.drawable.button); - options.setOnClickListener(new OnClickListener() { + if (currentTab.getProgress() < 100) { + currentTab.stopLoading(); + } else { + currentTab.reload(); + } + } - @Override - public void onClick(View v) { + }); - if (API >= 11) { - PopupMenu menu = new PopupMenu(CONTEXT, v); - MenuInflater inflate = menu.getMenuInflater(); - inflate.inflate(R.menu.incognito_menu, menu.getMenu()); - menu.setOnMenuItemClickListener(new OnMenuItemClickListener() { + enterUrl(); + if (showFullScreen) { + toggleFullScreen(); + } + browserHandler = new Handle(); - @Override - public boolean onMenuItemClick(MenuItem item) { + } - switch (item.getItemId()) { - case R.id.history: - generateHistory(currentTab, CONTEXT); - return true; - case R.id.bookmark: - if (urlToLoad[currentId][1] != null) { - if (!urlToLoad[currentId][1] - .equals("Bookmarks")) { - Utils.addBookmark(CONTEXT, - urlToLoad[currentId][1], - urlToLoad[currentId][0]); - } - } - return true; - case R.id.settings: - newSettings(); - return true; - case R.id.allBookmarks: - if (urlToLoad[currentId][1] == null) { - goBookmarks(CONTEXT, currentTab); - } else if (!urlToLoad[currentId][1] - .equals("Bookmarks")) { - goBookmarks(CONTEXT, currentTab); - } - return true; - case R.id.share: - share(); - return true; - case R.id.incognito: - newTab(homepage,true); - return true; - default: - return false; - } + private void newSettings() { + startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); + } - } + @Override + protected void onActivityResult(int requestCode, int resultCode, + Intent intent) { + if (requestCode == 1) { + if (null == mUploadMessage) + return; + Uri result = intent == null || resultCode != RESULT_OK ? null + : intent.getData(); + mUploadMessage.onReceiveValue(result); + mUploadMessage = null; - }); - menu.show(); - } else if (API < 11) { + } + } - openOptionsMenu(); - } + @Override + public void onBackPressed() { + try { + if (showFullScreen && !uBar.isShown()) { + uBar.startAnimation(slideDown); + } + if (currentTab.isShown() && currentTab.canGoBack()) { + currentTab.goBack(); + } else { + deleteTab(currentId); + uBar.bringToFront(); } + } catch (NullPointerException ignored) { + } + return; + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + if (settings.getBoolean("textreflow", false)) { + currentTab.getSettings().setLayoutAlgorithm( + LayoutAlgorithm.NARROW_COLUMNS); + } else { + currentTab.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NORMAL); + } - }); } - static void share() { - Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); // displays main xml layout + CONTEXT = this; + ACTIVITY = this; + settings = getSharedPreferences("settings", 0); + edit = settings.edit(); - // set the type - shareIntent.setType("text/plain"); + if (settings.getBoolean("hidestatus", false)) { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + inactive = getResources().getDrawable(R.drawable.bg_inactive); + active = getResources().getDrawable(R.drawable.bg_press); + initialize(); // sets up random stuff + options(); // allows options to be opened + enter();// enter url bar + DisplayMetrics metrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(metrics); - // add a subject - shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, - urlToLoad[currentId][1]); + float widthInInches = metrics.widthPixels / metrics.xdpi; + float heightInInches = metrics.heightPixels / metrics.ydpi; + double sizeInInches = Math.sqrt(Math.pow(widthInInches, 2) + + Math.pow(heightInInches, 2)); + // 0.5" buffer for 7" devices + isPhone = sizeInInches < 6.5; + forward();// forward button + back(); + if (settings.getInt("firstIncognito", 0) == 0) { + // navigation tips + String message = "Incognito Mode keeps you safe while browsing the internet." + + " History is not saved, Cookies are disabled, and Location access is " + + "disabled to ensure as best we can that you are not being tracked. " + + "Happy Browsing!"; + + Utils.createInformativeDialog(CONTEXT, "About Incognito", message); + edit.putInt("first", 1); + edit.commit(); + } + } - // build the body of the message to be shared - String shareMessage = urlToLoad[currentId][0]; + @Override + public boolean onCreateOptionsMenu(Menu menu) { - // add the message - shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage); + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.incognito_menu, menu); - // start the chooser for sharing - CONTEXT.startActivity(Intent.createChooser(shareIntent, - "Share this page")); + return true; } - static void searchTheWeb(String query, Context context) { - query = query.trim(); - currentTab.stopLoading(); + /* + * (non-Javadoc) + * + * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent) + */ + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_SEARCH: { + getUrl.requestFocus(); + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + manager.showSoftInput(getUrl, 0); - if (query.startsWith("www.")) { - query = "http://" + query; - } else if (query.startsWith("ftp.")) { - query = "ftp://" + query; + break; } + case KeyEvent.KEYCODE_F5: { + currentTab.reload(); + } + case KeyEvent.KEYCODE_ESCAPE: { + currentTab.stopLoading(); + } + case KeyEvent.KEYCODE_TAB: { + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (!manager.isActive()) { + newTab(homepage, true); + } - boolean containsPeriod = query.contains("."); - boolean isIPAddress = (TextUtils.isDigitsOnly(query.replace(".", "")) && (query - .replace(".", "").length() >= 4)); - boolean aboutScheme = query.contains("about:"); - boolean validURL = (query.startsWith("ftp://") - || query.startsWith("http://") || query.startsWith("file://") || query - .startsWith("https://")) || isIPAddress; - boolean isSearch = ((query.contains(" ") || !containsPeriod) && !aboutScheme); - - if (query.contains("about:home") || query.contains("about:bookmarks")) { - goBookmarks(context, currentTab); - } else if (query.contains("about:history")) { - generateHistory(currentTab, context); - } else if (isSearch) { - query.replaceAll(" ", "+"); - currentTab.loadUrl(SEARCH + query); - } else if (!validURL) { - currentTab.loadUrl("http://" + query); - } else { - currentTab.loadUrl(query); } + case KeyEvent.KEYCODE_F12: { + finish(); + } + case KeyEvent.KEYCODE_F6: { + getUrl.selectAll(); + } + case KeyEvent.KEYCODE_F10: { + startActivity(new Intent(FinalVariables.SETTINGS_INTENT)); + } + case KeyEvent.KEYCODE_F11: { + toggleFullScreen(); + } + case KeyEvent.KEYCODE_DEL: { + InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (!manager.isActive()) { + currentTab.goBack(); + } + } + } + return super.onKeyDown(keyCode, event); } - public static void onPageFinished(WebView view, String url) { - if (view.isShown()) { - view.invalidate(); - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); + @Override + public boolean onKeyLongPress(int keyCode, KeyEvent event) { - if (showFullScreen && uBar.isShown()) { - uBar.startAnimation(slideUp); + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (!settings.getBoolean("restoreclosed", true)) { + for (int n = 0; n < MAX_TABS; n++) { + urlToLoad[n][0] = null; + } } - } - view.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); - Log.i("Lightning", "Page Finished"); - loadTime = System.currentTimeMillis() - loadTime; - Log.i("Lightning", "Load Time: " + loadTime); + finish(); + return true; + } else + return super.onKeyLongPress(keyCode, event); } - - - public static void onPageStarted(WebView view, String url, Bitmap favicon) { - Log.i("Lightning", "Page Started"); - loadTime = System.currentTimeMillis(); - int numberPage = view.getId(); - if (url.startsWith("file://")) { - view.getSettings().setUseWideViewPort(false); - } else { - view.getSettings().setUseWideViewPort( - settings.getBoolean("wideviewport", true)); + @Override + public void onLowMemory() { + for (int n = 0; n < MAX_TABS; n++) { + if (n != currentId && main[n] != null) { + main[n].freeMemory(); + } } + super.onLowMemory(); + } - if (view.isShown()) { - refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); - setUrlText(url); - } + @Override + protected void onNewIntent(Intent intent) { - urlTitle[numberPage].setCompoundDrawables(incognitoPage, null, exitTab, - null); - if (favicon != null) { - setFavicon(view.getId(), favicon); + String url = intent.getDataString(); + int id = -1; + int download = -1; + try { + id = intent.getExtras().getInt("acr.browser.barebones.Origin") - 1; + } catch (NullPointerException e) { + id = -1; } - - getUrl.setPadding(tenPad, 0, tenPad, 0); - urlToLoad[numberPage][0] = url; - - if (!uBar.isShown() && showFullScreen) { - uBar.startAnimation(slideDown); + try { + download = intent.getExtras().getInt( + "acr.browser.barebones.Download"); + } catch (NullPointerException e) { + download = -1; + } + if (id >= 0) { + main[id].loadUrl(url); + } else if (download == 1) { + Utils.downloadFile(CONTEXT, url, null, null); + } else if (url != null) { + newTab(url, true); } - } - public static void onCreateWindow(Message resultMsg) { - newTab("", true); - WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; - transport.setWebView(currentTab); - resultMsg.sendToTarget(); - browserHandler.postDelayed(new Runnable() { - @Override - public void run() { - currentTab.loadUrl(getUrl.getText().toString()); - } - }, 500); + super.onNewIntent(intent); } - public static void onShowCustomView() { - background.removeView(currentTab); - uBar.setVisibility(View.GONE); - } + @Override + public boolean onOptionsItemSelected(MenuItem item) { - public static void onHideCustomView(FrameLayout fullScreenContainer, - CustomViewCallback mIncognitoViewCallback, int orientation) { - FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); - screen.removeView(fullScreenContainer); - fullScreenContainer = null; - mIncognitoViewCallback.onCustomViewHidden(); - ACTIVITY.setRequestedOrientation(orientation); - background.addView(currentTab); - uBar.setVisibility(View.VISIBLE); - uBar.bringToFront(); + switch (item.getItemId()) { + case R.id.history: + generateHistory(currentTab, CONTEXT); + return true; + case R.id.bookmark: + if (urlToLoad[currentId][1] != null) { + if (!urlToLoad[currentId][1].equals("Bookmarks")) { + Utils.addBookmark(CONTEXT, urlToLoad[currentId][1], + urlToLoad[currentId][0]); + } + } + return true; + case R.id.settings: + newSettings(); + return true; + case R.id.allBookmarks: + if (urlToLoad[currentId][1] == null) { + goBookmarks(CONTEXT, currentTab); + } else if (!urlToLoad[currentId][1].equals("Bookmarks")) { + goBookmarks(CONTEXT, currentTab); + } + + return true; + case R.id.share: + share(); + return true; + case R.id.incognito: + newTab(homepage, true); + return true; + default: + return super.onOptionsItemSelected(item); + } } - public static void onReceivedTitle(int numberPage, String title) { - if (title != null && title.length() != 0) { - urlTitle[numberPage].setText(title); - urlToLoad[numberPage][1] = title; + @Override + protected void onPause() { + + if (currentTab != null) { + if (API >= 11) { + currentTab.onPause(); + } + currentTab.pauseTimers(); } + super.onPause(); } - public static void openFileChooser(ValueCallback uploadMsg) { - mUploadMessage = uploadMsg; - Intent i = new Intent(Intent.ACTION_GET_CONTENT); - i.addCategory(Intent.CATEGORY_OPENABLE); - i.setType("*/*"); - ACTIVITY.startActivityForResult( - Intent.createChooser(i, "File Chooser"), 1); + @Override + protected void onResume() { + super.onResume(); + onProgressChanged(currentId, currentTab.getProgress()); + if (currentTab.getProgress() == 100) { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + + } + if (API >= 11) { + currentTab.onResume(); + } + reinitializeSettings(); + currentTab.resumeTimers(); + if (settings.getBoolean("fullscreen", false) != fullScreen) { + toggleFullScreen(); + } + } + private int x; + private int y; + private Rect edge; + private boolean xPress; + @Override public boolean onTouch(View v, MotionEvent event) { - try{ - id = v.getId(); - background.clearDisappearingChildren(); - boolean xPress = false; - int x = (int) event.getX(); - int y = (int) event.getY(); - Rect edge = new Rect(); - v.getDrawingRect(edge); - currentTabTitle.setPadding(leftPad, 0, rightPad, 0); - if (event.getAction() == MotionEvent.ACTION_DOWN) { - timeTabPressed = System.currentTimeMillis(); - } else if (event.getAction() == MotionEvent.ACTION_UP) { - - if ((System.currentTimeMillis() - timeTabPressed) > 1000) { - xPress = true; - } + try { + id = v.getId(); + background.clearDisappearingChildren(); + xPress = false; + x = (int) event.getX(); + y = (int) event.getY(); + edge = new Rect(); + v.getDrawingRect(edge); + currentTabTitle.setPadding(leftPad, 0, rightPad, 0); + if (event.getAction() == MotionEvent.ACTION_DOWN) { + timeTabPressed = System.currentTimeMillis(); + } else if (event.getAction() == MotionEvent.ACTION_UP) { + + if ((System.currentTimeMillis() - timeTabPressed) > 1000) { + xPress = true; + } - if (x >= (edge.right - bounds.width() - v.getPaddingRight() - 10 * 3 / 2) - && x <= (edge.right - v.getPaddingRight() + 10 * 3 / 2) - && y >= (v.getPaddingTop() - 10 / 2) - && y <= (v.getHeight() - v.getPaddingBottom() + 10 / 2)) { - xPress = true; - } - if (id == currentId) { - if (xPress) { - deleteTab(id); - uBar.bringToFront(); + if (x >= (edge.right - bounds.width() - v.getPaddingRight() - 10 * 3 / 2) + && x <= (edge.right - v.getPaddingRight() + 10 * 3 / 2) + && y >= (v.getPaddingTop() - 10 / 2) + && y <= (v.getHeight() - v.getPaddingBottom() + 10 / 2)) { + xPress = true; } - } else if (id != currentId) { - if (xPress) { - deleteTab(id); - } else { - if (API < 16) { - currentTabTitle.setBackgroundDrawable(inactive); - } else if (API > 15) { - currentTabTitle.setBackground(inactive); - } - currentTabTitle.setPadding(leftPad, 0, rightPad, 0); - if (!showFullScreen) { - background.addView(main[id]); - main[id].startAnimation(fadeIn); - currentTab.startAnimation(fadeOut); - background.removeView(currentTab); + if (id == currentId) { + if (xPress) { + deleteTab(id); uBar.bringToFront(); - } else if (API >= 12) { - main[id].setAlpha(0f); - background.addView(main[id]); - try { - main[id].animate().alpha(1f).setDuration(250); - } catch (NullPointerException ignored) { + } + } else if (id != currentId) { + if (xPress) { + deleteTab(id); + } else { + if (API < 16) { + currentTabTitle.setBackgroundDrawable(inactive); + } else if (API > 15) { + currentTabTitle.setBackground(inactive); + } + currentTabTitle.setPadding(leftPad, 0, rightPad, 0); + if (!showFullScreen) { + background.addView(main[id]); + main[id].startAnimation(fadeIn); + currentTab.startAnimation(fadeOut); + background.removeView(currentTab); + uBar.bringToFront(); + } else if (API >= 12) { + main[id].setAlpha(0f); + background.addView(main[id]); + try { + main[id].animate().alpha(1f).setDuration(250); + } catch (NullPointerException ignored) { + } + background.removeView(currentTab); + uBar.bringToFront(); + } else { + background.removeView(currentTab); + background.addView(main[id]); } - background.removeView(currentTab); uBar.bringToFront(); - } else { - background.removeView(currentTab); - background.addView(main[id]); - } - uBar.bringToFront(); - currentId = id; - currentTab = main[id]; - currentTabTitle = urlTitle[id]; - setUrlText(urlToLoad[currentId][0]); - getUrl.setPadding(tenPad, 0, tenPad, 0); - if (API < 16) { - currentTabTitle.setBackgroundDrawable(active); - } else if (API > 15) { - currentTabTitle.setBackground(active); - } - if (currentTab.getProgress() < 100) { - refresh.setVisibility(View.INVISIBLE); + currentId = id; + currentTab = main[id]; + currentTabTitle = urlTitle[id]; + setUrlText(urlToLoad[currentId][0]); + getUrl.setPadding(tenPad, 0, tenPad, 0); + if (API < 16) { + currentTabTitle.setBackgroundDrawable(active); + } else if (API > 15) { + currentTabTitle.setBackground(active); + } + if (currentTab.getProgress() < 100) { + refresh.setVisibility(View.INVISIBLE); - progressBar.setVisibility(View.VISIBLE); + progressBar.setVisibility(View.VISIBLE); - } else { - progressBar.setVisibility(View.GONE); - refresh.setVisibility(View.VISIBLE); + } else { + progressBar.setVisibility(View.GONE); + refresh.setVisibility(View.VISIBLE); + } + onProgressChanged(currentId, currentTab.getProgress()); + tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); + currentTab.invalidate(); } - onProgressChanged(currentId, currentTab.getProgress()); - tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); - currentTab.invalidate(); } - } - } - uBar.bringToFront(); - v.setPadding(leftPad, 0, rightPad, 0); - } - catch(Exception e){ + } + uBar.bringToFront(); + v.setPadding(leftPad, 0, rightPad, 0); + } catch (Exception e) { e.printStackTrace(); Log.e("Lightning Error", "Well we dun messed up"); } return true; } - public static class ClickHandler extends Handler { - - /* - * (non-Javadoc) - * - * @see android.os.Handler#handleMessage(android.os.Message) - */ - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - String url = null; - url = msg.getData().getString("url"); - handleLongClickOnBookmarks(url, msg.arg1); - } - - } - - public static boolean onLongClick() { - final int n = currentId; - final HitTestResult result = main[n].getHitTestResult(); - - if (main[n].getUrl().contains( - "file://" + CONTEXT.getFilesDir() + "/bookmarks.html")) { + void options() { + ImageView options = (ImageView) findViewById(R.id.options); + options.setBackgroundResource(R.drawable.button); + options.setOnClickListener(new OnClickListener() { - Message message = new Message(); - message.arg1 = n; - message.setTarget(new ClickHandler()); - main[n].requestFocusNodeHref(message); + @Override + public void onClick(View v) { - return true; - } else if (result != null) { - if(result.getExtra()!=null){ - if (result.getType() == 5 && API > 8) { - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - int num = currentId; - newTab(result.getExtra(), false); - // urlTitle[num].performClick(); - currentId = num; - currentTab = main[num]; - currentTabTitle = urlTitle[num]; - break; - } - case DialogInterface.BUTTON_NEGATIVE: { - main[n].loadUrl(result.getExtra()); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { - if (API > 8) { - String url = result.getExtra(); + if (API >= 11) { + PopupMenu menu = new PopupMenu(CONTEXT, v); + MenuInflater inflate = menu.getMenuInflater(); + inflate.inflate(R.menu.incognito_menu, menu.getMenu()); + menu.setOnMenuItemClickListener(new OnMenuItemClickListener() { - Utils.downloadFile(CONTEXT, url, null, null); + @Override + public boolean onMenuItemClick(MenuItem item) { + switch (item.getItemId()) { + case R.id.history: + generateHistory(currentTab, CONTEXT); + return true; + case R.id.bookmark: + if (urlToLoad[currentId][1] != null) { + if (!urlToLoad[currentId][1] + .equals("Bookmarks")) { + Utils.addBookmark(CONTEXT, + urlToLoad[currentId][1], + urlToLoad[currentId][0]); + } + } + return true; + case R.id.settings: + newSettings(); + return true; + case R.id.allBookmarks: + if (urlToLoad[currentId][1] == null) { + goBookmarks(CONTEXT, currentTab); + } else if (!urlToLoad[currentId][1] + .equals("Bookmarks")) { + goBookmarks(CONTEXT, currentTab); + } + return true; + case R.id.share: + share(); + return true; + case R.id.incognito: + newTab(homepage, true); + return true; + default: + return false; } - break; - } - } - } - }; - AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog - builder.setMessage("What would you like to do with this image?") - .setPositiveButton("Open in New Tab", - dialogClickListener) - .setNegativeButton("Open Normally", dialogClickListener) - .setNeutralButton("Download Image", dialogClickListener) - .show(); - - } else { - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - int num = currentId; - newTab(result.getExtra(), false); - currentId = num; - currentTab = main[num]; - currentTabTitle = urlTitle[num]; - break; } - case DialogInterface.BUTTON_NEGATIVE: { - main[n].loadUrl(result.getExtra()); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { - - if (API < 11) { - android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ACTIVITY - .getSystemService(Context.CLIPBOARD_SERVICE); - clipboard.setText(result.getExtra()); - } else { - ClipboardManager clipboard = (ClipboardManager) ACTIVITY - .getSystemService(CLIPBOARD_SERVICE); - ClipData clip = ClipData.newPlainText("label", - result.getExtra()); - clipboard.setPrimaryClip(clip); - } - break; - } - } - } - }; - - AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog - builder.setTitle(result.getExtra()) - .setMessage("What do you want to do with this link?") - .setPositiveButton("Open in New Tab", - dialogClickListener) - .setNegativeButton("Open Normally", dialogClickListener) - .setNeutralButton("Copy link", dialogClickListener) - .show(); - } - } - return true; - - } else { - return false; - } - } - public static void handleLongClickOnBookmarks(final String clickedURL, - final int n) { - if (clickedURL != null) { + }); + menu.show(); + } else if (API < 11) { - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: { - int num = currentId; - newTab(clickedURL, false); - currentId = num; - currentTab = main[num]; - currentTabTitle = urlTitle[num]; - break; - } - case DialogInterface.BUTTON_NEGATIVE: { - main[n].loadUrl(clickedURL); - break; - } - case DialogInterface.BUTTON_NEUTRAL: { - deleteBookmark(clickedURL); - break; - } - } + openOptionsMenu(); } - }; - - AlertDialog.Builder builder = new AlertDialog.Builder(CONTEXT); // dialog - builder.setMessage("What would you like to do with this bookmark?") - .setPositiveButton("Open in New Tab", dialogClickListener) - .setNegativeButton("Open Normally", dialogClickListener) - .setNeutralButton("Delete", dialogClickListener).show(); - } - } - - public static void goBack(IncognitoWebView view) { - if (view.isShown() && view.canGoBack()) { - view.goBack(); - } - Animation left = AnimationUtils.loadAnimation(CONTEXT, R.anim.left); - background.startAnimation(left); - - } + } - public static void goForward(IncognitoWebView view) { - if (view.isShown() && view.canGoForward()) { - view.goForward(); - } - Animation right = AnimationUtils.loadAnimation(CONTEXT, R.anim.right); - background.startAnimation(right); + }); } - public static void onProgressChanged(int id, int progress) { - if (id == currentId) { - browserProgress.setProgress(progress); - if (progress < 100) { - browserProgress.setVisibility(View.VISIBLE); - } else { - browserProgress.setVisibility(View.GONE); - } - } - } - - public static void reinitializeSettings(){ - for(int n = 0; n < tabList.size(); n++){ - main[tabList.get(n)].settingsInitialization(CONTEXT); - } - } - - public static void toggleFullScreen(){ - showFullScreen = settings.getBoolean("fullscreen", false); - IncognitoWebView.showFullScreen = showFullScreen; - if(fullScreen){ - background.removeView(uBar); - screen.addView(uBar); - fullScreen = false; - }else{ - screen.removeView(uBar); - background.addView(uBar); - fullScreen = true; + void reopenOldTabs() { + Intent url = getIntent(); + String URL = url.getDataString(); + if (URL != null) { + // opens a new tab with the URL if its there + int n = newTab(URL, true); + main[n].resumeTimers(); + } else { + // otherwise it opens the home-page + int n = newTab(homepage, true); + main[n].resumeTimers(); } + } } \ No newline at end of file diff --git a/src/acr/browser/barebones/customwebview/CustomWebView.java b/src/acr/browser/barebones/customwebview/CustomWebView.java index bf81a4d..6e26ccb 100644 --- a/src/acr/browser/barebones/customwebview/CustomWebView.java +++ b/src/acr/browser/barebones/customwebview/CustomWebView.java @@ -21,12 +21,12 @@ import android.webkit.WebSettings.PluginState; import android.webkit.WebSettings.RenderPriority; public final class CustomWebView extends WebView { - private boolean first = false; static final int API = FinalVariables.API; public static boolean showFullScreen;; final View uBar = BrowserActivity.uBar; final Animation slideUp = BrowserActivity.slideUp; final Animation slideDown = BrowserActivity.slideDown; + final boolean DEVICE_HAS_GPS = BrowserActivity.DEVICE_HAS_GPS; static Context CONTEXT; static String defaultUser; public WebSettings settings; @@ -157,10 +157,14 @@ public final class CustomWebView extends WebView { } } - settings.setGeolocationEnabled(preferences - .getBoolean("location", false)); - settings.setGeolocationDatabasePath(context.getFilesDir() - .getAbsolutePath()); + if (DEVICE_HAS_GPS) { + settings.setGeolocationEnabled(preferences.getBoolean("location", + false)); + settings.setGeolocationDatabasePath(context.getFilesDir() + .getAbsolutePath()); + } else { + settings.setGeolocationEnabled(false); + } settings.setUseWideViewPort(preferences .getBoolean("wideviewport", true)); settings.setLoadWithOverviewMode(preferences.getBoolean("overviewmode", @@ -175,18 +179,16 @@ public final class CustomWebView extends WebView { settings.setBlockNetworkImage(preferences.getBoolean("blockimages", false)); settings.setLoadsImagesAutomatically(true); - + switch (preferences.getInt("agentchoose", 1)) { case 1: getSettings().setUserAgentString(defaultUser); break; case 2: - getSettings().setUserAgentString( - FinalVariables.DESKTOP_USER_AGENT); + getSettings().setUserAgentString(FinalVariables.DESKTOP_USER_AGENT); break; case 3: - getSettings().setUserAgentString( - FinalVariables.MOBILE_USER_AGENT); + getSettings().setUserAgentString(FinalVariables.MOBILE_USER_AGENT); break; case 4: getSettings().setUserAgentString( @@ -215,6 +217,14 @@ public final class CustomWebView extends WebView { private class CustomGestureListener extends SimpleOnGestureListener { final int SWIPE_THRESHOLD = 100; final int SWIPE_VELOCITY_THRESHOLD = 100; + DisplayMetrics metrics; + WindowManager wm; + Display display; + Point size; + int width; + float diffY; + float diffX; + boolean first = false; @Override public boolean onDown(MotionEvent e) { @@ -225,7 +235,11 @@ public final class CustomWebView extends WebView { @Override public void onLongPress(MotionEvent e) { if (BrowserActivity.currentId != -1) { - BrowserActivity.onLongClick(); + try { + BrowserActivity.onLongClick(); + } catch (NullPointerException ignored) { + ignored.printStackTrace(); + } } super.onLongPress(e); } @@ -251,24 +265,23 @@ public final class CustomWebView extends WebView { float velocityY) { try { - int width; if (API < 13) { - DisplayMetrics metrics = CONTEXT.getResources() + metrics = CONTEXT.getResources() .getDisplayMetrics(); width = metrics.widthPixels; } else { - WindowManager wm = (WindowManager) CONTEXT + wm = (WindowManager) CONTEXT .getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); - Point size = new Point(); + display = wm.getDefaultDisplay(); + size = new Point(); display.getSize(size); width = size.x; } - if ((width - e1.getX() < width / 12) - || (e1.getX() < width / 12)) { - float diffY = e2.getY() - e1.getY(); - float diffX = e2.getX() - e1.getX(); + if ((width - e1.getX() <= width / 15) + || (e1.getX() <= width / 15)) { + diffY = e2.getY() - e1.getY(); + diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { @@ -287,5 +300,5 @@ public final class CustomWebView extends WebView { return super.onFling(e1, e2, velocityX, velocityY); } } - + } diff --git a/src/acr/browser/barebones/customwebview/IncognitoWebView.java b/src/acr/browser/barebones/customwebview/IncognitoWebView.java index 6e6d931..37be1ab 100644 --- a/src/acr/browser/barebones/customwebview/IncognitoWebView.java +++ b/src/acr/browser/barebones/customwebview/IncognitoWebView.java @@ -21,7 +21,6 @@ import android.webkit.WebSettings.PluginState; import android.webkit.WebSettings.RenderPriority; public final class IncognitoWebView extends WebView { - private boolean first = false; static final int API = FinalVariables.API; public static boolean showFullScreen;; final View uBar = IncognitoModeActivity.uBar; @@ -157,10 +156,7 @@ public final class IncognitoWebView extends WebView { } } - settings.setGeolocationEnabled(preferences - .getBoolean("location", false)); - settings.setGeolocationDatabasePath(context.getFilesDir() - .getAbsolutePath()); + settings.setGeolocationEnabled(false); settings.setUseWideViewPort(preferences .getBoolean("wideviewport", true)); settings.setLoadWithOverviewMode(preferences.getBoolean("overviewmode", @@ -175,18 +171,16 @@ public final class IncognitoWebView extends WebView { settings.setBlockNetworkImage(preferences.getBoolean("blockimages", false)); settings.setLoadsImagesAutomatically(true); - + switch (preferences.getInt("agentchoose", 1)) { case 1: getSettings().setUserAgentString(defaultUser); break; case 2: - getSettings().setUserAgentString( - FinalVariables.DESKTOP_USER_AGENT); + getSettings().setUserAgentString(FinalVariables.DESKTOP_USER_AGENT); break; case 3: - getSettings().setUserAgentString( - FinalVariables.MOBILE_USER_AGENT); + getSettings().setUserAgentString(FinalVariables.MOBILE_USER_AGENT); break; case 4: getSettings().setUserAgentString( @@ -215,6 +209,14 @@ public final class IncognitoWebView extends WebView { private class CustomGestureListener extends SimpleOnGestureListener { final int SWIPE_THRESHOLD = 100; final int SWIPE_VELOCITY_THRESHOLD = 100; + DisplayMetrics metrics; + WindowManager wm; + Display display; + Point size; + int width; + float diffY; + float diffX; + boolean first = false; @Override public boolean onDown(MotionEvent e) { @@ -225,7 +227,11 @@ public final class IncognitoWebView extends WebView { @Override public void onLongPress(MotionEvent e) { if (IncognitoModeActivity.currentId != -1) { - IncognitoModeActivity.onLongClick(); + try { + IncognitoModeActivity.onLongClick(); + } catch (NullPointerException ig) { + ig.printStackTrace(); + } } super.onLongPress(e); } @@ -251,31 +257,32 @@ public final class IncognitoWebView extends WebView { float velocityY) { try { - int width; if (API < 13) { - DisplayMetrics metrics = CONTEXT.getResources() + metrics = CONTEXT.getResources() .getDisplayMetrics(); width = metrics.widthPixels; } else { - WindowManager wm = (WindowManager) CONTEXT + wm = (WindowManager) CONTEXT .getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); - Point size = new Point(); + display = wm.getDefaultDisplay(); + size = new Point(); display.getSize(size); width = size.x; } - if ((width - e1.getX() < width / 12) - || (e1.getX() < width / 12)) { - float diffY = e2.getY() - e1.getY(); - float diffX = e2.getX() - e1.getX(); + if ((width - e1.getX() <= width / 15) + || (e1.getX() <= width / 15)) { + diffY = e2.getY() - e1.getY(); + diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { - IncognitoModeActivity.goBack(IncognitoWebView.this); + IncognitoModeActivity + .goBack(IncognitoWebView.this); } else { - IncognitoModeActivity.goForward(IncognitoWebView.this); + IncognitoModeActivity + .goForward(IncognitoWebView.this); } } } diff --git a/src/acr/browser/barebones/databases/DatabaseHandler.java b/src/acr/browser/barebones/databases/DatabaseHandler.java index c04543a..09ad535 100644 --- a/src/acr/browser/barebones/databases/DatabaseHandler.java +++ b/src/acr/browser/barebones/databases/DatabaseHandler.java @@ -81,6 +81,7 @@ public class DatabaseHandler extends SQLiteOpenHelper { cursor.moveToFirst(); String m = cursor.getString(0); cursor.close(); + db.close(); // return item return m; } @@ -117,10 +118,11 @@ public class DatabaseHandler extends SQLiteOpenHelper { ContentValues values = new ContentValues(); values.put(KEY_URL, item.getUrl()); values.put(KEY_TITLE, item.getTitle()); - - // updating row - return db.update(TABLE_HISTORY, values, KEY_ID + " = ?", + int n = db.update(TABLE_HISTORY, values, KEY_ID + " = ?", new String[] { String.valueOf(item.getID()) }); + // updating row + db.close(); + return n; } // Deleting single item diff --git a/src/acr/browser/barebones/incognitoclasses/IncognitoChromeClient.java b/src/acr/browser/barebones/incognitoclasses/IncognitoChromeClient.java index 9e025c2..c31a2fb 100644 --- a/src/acr/browser/barebones/incognitoclasses/IncognitoChromeClient.java +++ b/src/acr/browser/barebones/incognitoclasses/IncognitoChromeClient.java @@ -140,6 +140,7 @@ public class IncognitoChromeClient extends WebChromeClient { mCustomView.setKeepScreenOn(false); mCustomView = null; IncognitoModeActivity.onHideCustomView(fullScreenContainer, mCustomViewCallback, orientation); + super.onHideCustomView(); } @Override @@ -174,7 +175,7 @@ public class IncognitoChromeClient extends WebChromeClient { mCustomView = view; mCustomViewCallback = callback; browserActivity.setRequestedOrientation(requestedOrientation); - + super.onShowCustomView(view, requestedOrientation, callback); } @Override @@ -198,6 +199,7 @@ public class IncognitoChromeClient extends WebChromeClient { mCustomView = view; mCustomViewCallback = callback; browserActivity.setRequestedOrientation(browserActivity.getRequestedOrientation()); + super.onShowCustomView(view, callback); } public void openFileChooser(ValueCallback uploadMsg) { diff --git a/src/acr/browser/barebones/utilities/FinalVariables.java b/src/acr/browser/barebones/utilities/FinalVariables.java index e59417c..25a3d0d 100644 --- a/src/acr/browser/barebones/utilities/FinalVariables.java +++ b/src/acr/browser/barebones/utilities/FinalVariables.java @@ -15,9 +15,9 @@ public class FinalVariables { public static final String GOOGLE_SEARCH = "https://www.google.com/search?client=lightning&q="; public static final String BING_SEARCH = "http://www.bing.com/search?q="; public static final String DUCK_SEARCH = "https://duckduckgo.com/?t=lightning&q="; - public static final String DUCK_LITE_SEARCH = "https://duckduckgo.com/lite/?q="; + public static final String DUCK_LITE_SEARCH = "https://duckduckgo.com/lite/?t=lightning&q="; public static final String STARTPAGE_SEARCH = "https://startpage.com/do/metasearch.pl?language=english&cat=web&query="; - public static final String HOMEPAGE = "https://www.google.com/"; + public static final String HOMEPAGE = "https://duckduckgo.com"; public static final String BAIDU_SEARCH = "http://www.baidu.com/s?wd="; public static final String YANDEX_SEARCH = "http://yandex.ru/yandsearch?lr=21411&text="; public static final String ADVANCED_SETTINGS_INTENT = "android.intent.action.ADVANCED_SETTINGS"; diff --git a/src/acr/browser/barebones/utilities/Utils.java b/src/acr/browser/barebones/utilities/Utils.java index 86797b8..d99e6f3 100644 --- a/src/acr/browser/barebones/utilities/Utils.java +++ b/src/acr/browser/barebones/utilities/Utils.java @@ -10,7 +10,6 @@ import java.io.IOException; import acr.browser.barebones.databases.DatabaseHandler; import acr.browser.barebones.databases.HistoryItem; -import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.AlertDialog; import android.app.DownloadManager; @@ -28,13 +27,15 @@ import android.os.Environment; import android.provider.Browser; import android.util.Log; import android.webkit.URLUtil; -import android.widget.EditText; import android.widget.Toast; public class Utils { public static DatabaseHandler historyHandler; public static SQLiteDatabase history; + public static Cursor cursor; + public static StringBuilder sb; + public static Runnable update; public static void createInformativeDialog(Context context, String title, String message) { @@ -92,7 +93,7 @@ public class Utils { public static void updateHistory(final Context context, final ContentResolver content, final boolean noStockBrowser, final String url, final String title) { - Runnable update = new Runnable() { + update = new Runnable() { @Override public void run() { if (!noStockBrowser) { @@ -102,11 +103,11 @@ public class Utils { } } try { - StringBuilder sb = new StringBuilder("url" + " = "); + sb = new StringBuilder("url" + " = "); DatabaseUtils.appendEscapedSQLString(sb, url); historyHandler = new DatabaseHandler(context); history = historyHandler.getReadableDatabase(); - Cursor cursor = history.query("history", new String[] { + cursor = history.query("history", new String[] { "id", "url", "title" }, sb.toString(), null, null, null, null); if (!cursor.moveToFirst()) { @@ -140,30 +141,26 @@ public class Utils { public static void downloadFile(final Context context, final String url, final String contentDisposition, final String mimetype) { try { - Thread downloader = new Thread(new Runnable() { - @SuppressLint("InlinedApi") - @Override - public void run() { - DownloadManager download = (DownloadManager) context - .getSystemService(Context.DOWNLOAD_SERVICE); - Uri nice = Uri.parse(url); - DownloadManager.Request it = new DownloadManager.Request( - nice); - String fileName = URLUtil.guessFileName(url, - contentDisposition, mimetype); - if (FinalVariables.API >= 11) { - it.allowScanningByMediaScanner(); - it.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); - } - String location = context.getSharedPreferences("settings", - 0).getString("download", - Environment.DIRECTORY_DOWNLOADS); - it.setDestinationInExternalPublicDir(location, fileName); - Log.i("Barebones", "Downloading" + fileName); - download.enqueue(it); - } - }); - downloader.run(); + DownloadManager download = (DownloadManager) context + .getSystemService(Context.DOWNLOAD_SERVICE); + Uri nice = Uri.parse(url); + DownloadManager.Request it = new DownloadManager.Request( + nice); + String fileName = URLUtil.guessFileName(url, + contentDisposition, mimetype); + it.setTitle(fileName); + it.setDescription(url); + if (FinalVariables.API >= 11) { + it.allowScanningByMediaScanner(); + it.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); + } + String location = context.getSharedPreferences("settings", + 0).getString("download", + Environment.DIRECTORY_DOWNLOADS); + it.setDestinationInExternalPublicDir(location, fileName); + Log.i("Barebones", "Downloading" + fileName); + download.enqueue(it); + } catch (NullPointerException e) { Log.e("Barebones", "Problem downloading"); Toast.makeText(context, "Error Downloading File", diff --git a/src/acr/browser/barebones/webviewclasses/CustomChromeClient.java b/src/acr/browser/barebones/webviewclasses/CustomChromeClient.java index b816588..df8cabc 100644 --- a/src/acr/browser/barebones/webviewclasses/CustomChromeClient.java +++ b/src/acr/browser/barebones/webviewclasses/CustomChromeClient.java @@ -140,6 +140,7 @@ public class CustomChromeClient extends WebChromeClient { mCustomView.setKeepScreenOn(false); mCustomView = null; BrowserActivity.onHideCustomView(fullScreenContainer, mCustomViewCallback, orientation); + super.onHideCustomView(); } @Override @@ -174,7 +175,7 @@ public class CustomChromeClient extends WebChromeClient { mCustomView = view; mCustomViewCallback = callback; browserActivity.setRequestedOrientation(requestedOrientation); - + super.onShowCustomView(view, requestedOrientation, callback); } @Override @@ -198,6 +199,7 @@ public class CustomChromeClient extends WebChromeClient { mCustomView = view; mCustomViewCallback = callback; browserActivity.setRequestedOrientation(browserActivity.getRequestedOrientation()); + super.onShowCustomView(view, callback); } public void openFileChooser(ValueCallback uploadMsg) {