From 05a774d54215b1b1b90fc6d4df4bcde09443e49c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Tue, 16 Apr 2024 23:03:08 +0900 Subject: [PATCH] =?UTF-8?q?v2.3.0=20=E6=96=B0=E5=A2=9E=201.=20=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E5=9E=8B=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE=E9=80=89?= =?UTF-8?q?=E9=A1=B9=202.=20=E6=BC=AB=E7=94=BB=E4=B8=8B=E8=BD=BD=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=B9=B6=E5=8F=91=E9=99=90=E5=88=B6=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=201.=20=E5=90=8C=E6=97=B6=E4=B8=8B=E8=BD=BD=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E6=BC=AB=E7=94=BB=E6=97=B6=E5=A4=B1=E8=B4=A5=20(fix?= =?UTF-8?q?=20#67)=202.=20=E4=B8=BB=E9=A1=B5=E6=BB=91=E5=8A=A8=E6=A8=AA?= =?UTF-8?q?=E5=B9=85=E5=90=8E=E5=88=B7=E6=96=B0=E9=97=AA=E9=80=80=20(fix?= =?UTF-8?q?=20#65)=20=E4=BC=98=E5=8C=96=201.=20=E7=BD=91=E7=BB=9C=E4=B8=8D?= =?UTF-8?q?=E4=BD=B3=E6=97=B6=E8=87=AA=E5=8A=A8=E6=89=93=E5=BC=80=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E5=9E=8B=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE=202.=20?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=8F=8D=E5=A4=8D=E8=AF=BB=E5=8F=96=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dictionaries/fumiama.xml | 2 + app/build.gradle | 13 +- app/libs/arm64-v8a/libjnidispatch.so | Bin 0 -> 168176 bytes app/libs/armeabi-v7a/libjnidispatch.so | Bin 0 -> 122296 bytes app/libs/x86/libjnidispatch.so | Bin 0 -> 120184 bytes app/libs/x86_64/libjnidispatch.so | Bin 0 -> 118584 bytes .../copymanga/json/ComandyCapsule.java | 11 ++ .../copymanga/json/ComandyVersion.java | 5 + .../template/general/NoBackRefreshFragment.kt | 10 +- .../fumiama/copymanga/tools/http/Comandy.kt | 117 ++++++++++++ .../tools/http/ComandyGlideModule.kt | 129 +++++++++++++ .../copymanga/tools/http/DownloadTools.kt | 170 ++++++++++++------ .../top/fumiama/copymanga/tools/http/Proxy.kt | 8 + .../copymanga/ui/comicdl/ComicDlHandler.kt | 9 +- .../fumiama/copymanga/ui/home/HomeHandler.kt | 4 +- .../java/top/fumiama/copymanga/user/Member.kt | 88 ++++++--- app/src/main/res/values/strings.xml | 7 + app/src/main/res/xml/pref_setting.xml | 15 ++ build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 20 files changed, 501 insertions(+), 91 deletions(-) create mode 100644 app/libs/arm64-v8a/libjnidispatch.so create mode 100644 app/libs/armeabi-v7a/libjnidispatch.so create mode 100644 app/libs/x86/libjnidispatch.so create mode 100644 app/libs/x86_64/libjnidispatch.so create mode 100644 app/src/main/java/top/fumiama/copymanga/json/ComandyCapsule.java create mode 100644 app/src/main/java/top/fumiama/copymanga/json/ComandyVersion.java create mode 100644 app/src/main/java/top/fumiama/copymanga/tools/http/Comandy.kt create mode 100644 app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt diff --git a/.idea/dictionaries/fumiama.xml b/.idea/dictionaries/fumiama.xml index 51ac377..e9c54e3 100644 --- a/.idea/dictionaries/fumiama.xml +++ b/.idea/dictionaries/fumiama.xml @@ -2,10 +2,12 @@ alphae + comandy downloaders grps imgs kohima + libcomandy lowpan mangacopy mangafuna diff --git a/app/build.gradle b/app/build.gradle index 2134a1c..b216064 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' android { defaultConfig { @@ -8,8 +9,8 @@ android { applicationId 'top.fumiama.copymanga' minSdkVersion 23 targetSdkVersion 34 - versionCode 57 - versionName '2.2.9' + versionCode 58 + versionName '2.3.0' resourceConfigurations += ['zh', 'zh-rCN'] testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -46,6 +47,11 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }*/ } + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 @@ -78,7 +84,7 @@ dependencies { implementation 'com.github.yalantis:ucrop:2.2.6' implementation 'com.to.aboomy:pager2banner:1.0.1' implementation 'com.github.bumptech.glide:glide:4.16.0' - annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0' + kapt 'com.github.bumptech.glide:compiler:4.16.0' implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.github.vovaksenov99:OverscrollableScrollView:1.0' implementation 'com.liaoinstan.springview:library:1.7.0' @@ -86,4 +92,5 @@ dependencies { implementation 'com.lapism:search:2.4.1@aar' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0' implementation 'com.airbnb.android:lottie:6.4.0' + implementation 'net.java.dev.jna:jna:5.14.0' } diff --git a/app/libs/arm64-v8a/libjnidispatch.so b/app/libs/arm64-v8a/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..cd7e6716fea3058c9657e8f6de3e9fd563c157fb GIT binary patch literal 168176 zcmeEvdwf*Ywf~-(00BW>;bA~C6Y$aaLU}97$pi)83Q=kGHj_+(LEZ#42$e}lm0N7f zQL5JVmPrB%(^p!dl2&B^YiaSeh%L4B;Q(rB=>scDhKlq1e)nVM%*iBPulLVi_#DnT zYp=cb+H0@9_S$RjvuD*cH(u-Yc!c@$iRXoUvlK+%#NxGHgCZ<3N%X}3L∾+asOQ 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 literal 0 HcmV?d00001 diff --git a/app/libs/armeabi-v7a/libjnidispatch.so b/app/libs/armeabi-v7a/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..603883efab9aa2738eebf955de568c92c7343ba5 GIT binary patch literal 122296 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 LJZGv;(%=3cYaAjN literal 0 HcmV?d00001 diff --git a/app/libs/x86/libjnidispatch.so b/app/libs/x86/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..e9094b68bb8ffe392836d533dbdb0085821fa960 GIT binary patch literal 120184 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 literal 0 HcmV?d00001 diff --git a/app/libs/x86_64/libjnidispatch.so b/app/libs/x86_64/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..e594b888233908dfd17af7cf031dd770dc93c8f8 GIT binary patch literal 118584 zcmeEvdq7mx_Wyv8Xxd)*%Ujcmwb_eFZKyeANykHy+dRp z?^4d39qw6FzovUQf%Wbcm5_I$rN67dCq&_ZfAim~C105O8A=o7W*j45l6p`tG&2A@ zu^0G_Vc=y9-rv@E1!tNocx%GY-xdabCxiF5)n$tegx<9<^bbn74Kkp|{Bb-f<0wpCa4BB;L@d95H<<4eskucpV1byrfUhZl9W~&wOd4JmiBT8`es3&B^sNHkAmHZ-_-+Ajw!jBr!eISKz|R--7Yca7;?Q!Z z3wVxzOZgWHc%23QcL6Wh$n%-rm)}#p1|6ITu1YF8L2nIv>FSpQV3wWCat}?hN%yerI^j#ME4+T7SDJPcl z#Ps9kCR^Z{0-ht_$B8m#33!2kM+>-Dz$*nDX3YMc7w|d(KS{v51iVqe`wIAp{e>PZ z@CyaJS-@qvR||NX1zsiK9Re=pe}KV7VW!(7g1$@8A1`pL!qC4b=xz0!utCswhN0gp z=oSBM>7+fSww;6)I&63ZeF!Vk_-y!JxioBi+L;p`f z-({iSB;YocXCUR@E#R>h_`m_Yz6k;@+vR)#PZsc6AX=_q9vY?lCerXu`34%UD(4Q&tDi!cb0he~} z50lURg1$ibpQnm^o)z#qk&he?Hwk#71^%0WHw*ZugGEMIj}Nk)WXo8|H74zUAmF5* zI#I5iuZIhG<4c_1Arw7Iz-__-xkO~|knrUkFk8^ilKH>F;TMYztO>jzRTp6fu|c1pUPVzWgl? zNEPrK1-whZT>{=9;2FZkitnKF>_bWVq z0k(Y;2CfUZBJ5w%+w$|PC)!-j@e^!w%Wf<>zq-OUy0l_m@#uMlZg*)}VfE+HtW3Fw2RKWXv}Ef=aiStDyyz6bQhIUJ|zpP z%G|}adByXpi`_PNX;sC7@e8LE&I71$?%awZTS--Mv8|+}EWfy_s-ntPU0zvLR_-pb z6_*!P%qlCNJ=Kl$Y+JRvYHo44t-N@_q{8`y0=S^4S^y_-Nba z*E2PJe#MP*ii_MZ!-{zvD%FxxSXDUB1Se$&Ey0j;KFr@hRTaae%DJtOo#q$8da7&6 z^U-(mdG`5b8YN#dC`>%Fdcwy>MPw>De%ppYJl;q%gz$3nop5p<` zE+najc}$f@nRqY@WEan?s9G3SN1!-rdjikev*hRlIml$AR#z7lmWQt_C`F@`pf1%% z6YS_sgN%;WG(aDLE&`AEV_JF#R3H@s=39YLoD)imi*Bl}ftxhNnSW)us{#wKlCrtQSz^7(79}(f zk&g*y9m?U9xiARO(wfCU(@K}zws5l5lvfqcE`y1OAKxWGcCov(0;15`2(BPjrulp_ zBnV&e2=LKnNFq)l@xqG4C|G_eaCZMKGG1yjdkO5&$h;@E`MM(*ms~MQBY2gG{&P6vj^?xcq z1SiIYBj9|sNuyFe4PN=hwZ%pGWJ5fAEE_BH(V?nqDl5?^(cxGQ3><7yEJ#5{A{JsX zZz5r;HE~oGm71`qMSf*r)jVDmYU%vhd_~QwKf6L&k1fA=R-wBPi|!k%A&a{ZqeFgi z`7Da?%%e35{^<4OyCMiQANMJ^D8zRoF7e93_Bx(rJajgmDfToE*ZH{Uz4)cLC=Rw9 z*9*8P&x>(6aM9oOxR$Udn{5T|&*6F&*BiL#b?4u372;Zi%lvmU67>Gyuefdzh`)>b zEZpf8!}GYF#6_oHCHruPXm*9F>q)!uf8AGJ4Ie!)~x;=r5-i_Ri zs~lGYu6uF4gX3iOY?v2$%f3L_Az30l4?YHCUvpa4!?jSKwYLp3`wZ9@llal5l0?qQ6>Pqj5bz z3GsIu?!$52kLxc2Mz=cg{5b9|T#Iq#<9Y}e{hiKlwwbt35YLUc7vL(z6^H9JT=X{) z*A46`5`8Ta{aF4>PyC9&-TEKl!u=PDllg|DHp69!k+5aDBG|>B%yhx$(6WN?p!AX= zn0JuM3=8)hniJ2B{~OHbe|e&@lm9omY0+`geq7UrVR0(B-sMb5%3%fygbc`}k+#6w1w7UQZxir% z3p`E06D;r~0Z+2P69hcj0*@E)Gz&adz%wlH7y(x-aGQYVSm52S@%rXj;9UYpuzY?xiO9QWLz= z1oxTXwI;a71g|r}8%*$e6Z{?%yuk$5Oz=lcaJil)bfXFWpoxB&2~O)0`M2BzpC^I1 zH<{o!nc&SPxLhX@y43`ywVC{DGr_AR5chTy{ALrpC-s~K5w@NYqwsG7{(44Gx|Apa z9X$Do$t?XorD>=LB(U^a zN)M!TEK9GXG%ei&HkN*s(soLB9R^^;3zVj1LZE}CpQ1D^?E`Hr{TQWBq;xY&-%n{; zh6I+g^j(yuBCr5970mXd)6mcE736n+TQv2+!sDbx_CWa&ASrXej*z|uETn!*}^ z9G1S0(iDCQWU%zrls<*h$t*pI(iAEPB(U^&N>k`35X;hIDNRe?fQ_XupfoL?16_Ym z{m-Fv0;M}x`bW|i_%GyE@0_xlpaax9HepozrX*}!2fCB|1|J_8uUE9j~ZcQkr}2i-i}X zXnm0CX-I&_p{`A7_HM4(#9=eQauIT7EOnF}GV19lVSne_hkKc}bE)8K9MhfZVMnfG zTDJNgB=|+~&q~xGhN2EmL^cbmNkCU(Oiu$XuDs25@9W@pYA2*L1DyoH6!klox?jlT zYj&#Z?cQW~RoU8cK!NBG6J>u&v!kb>9+?=3y&U0CTMS&vW|#UCvU5bVIJM(?8k*s5 zW&5_fPjG5O6zzTraym&esAssMK`zC&(G5LBDB7uje(mn#QqRpU>TyMMQ%&NbLdQ(U z4UYVo>yRIp=W(XZ{lOZMS1W5Yk+sN?HM+qp_^@y_N;p=HvLbqV8t6+#RLbs6g_puB z79%PaI1``}`|wPXNXYv=&$M@WmsIxN0xzLXhN7k5 zys=W=Du68Vo*OE!d%D!^`xU*)>WhSKOB$e&np0Amkr}toBigSeihMC!N^|FS`|ymQ zeqQ61F!bX)6Zsk1^INdq2N{;zZ+!0(dC7k_l+;-sMtc{4n`||#{W{j{jO=O9rTQkq z>*MN6lIpt$fJAw+RT7bFZ+&}sZUQshm>i&Aya~sX*825*kYgZERFW`?qqu7EjAs3^d{{p&=}H=3@2?J zM;ujykhV)o``{s|!DK1zodB`^X&FDA>W5RwWZM<(QEE?@|F*<ywexyQ_l0;#ZX(5pmGdl#gf%dqN_a(=U?r^i}B%#fk;W3E&EJUBZ;9odC3(RV9d4*Tgh6D=~)Y6Vox3EfVW!JR^S~4{d_R!NfeB=49>? z*u~tcZo%A&Ecuj=w#{P2{lvV0JeaJjsLSDB6rmLL=)+MtW(<93_8gn7c4VqQv&ofF zXTX{#Y=|0T>x^p1O4)A8hs1QL9iq`^uETW9IJo$6IfJR8Qw!;)ZqeH@MqoVtBtTII z3c8s7SpSgTg;V{E^^Pt@t!Y=YKg(3J+O({;OLaIW_IuZnZi=$n6m^{v(X4oyPggu0 zUCPM!T>iOyl4>y`fOF#az9i5Mb-^Zq=CNhPigjjy$HLjObu$` zci7)_WubrNwyOgcqs)l(b$4_sT2{MK^r_;HYEaayb}j3(h;}vWGn6$FcM>^$-6Eeh zlb(FdcPv)?#X(&)wZRp8o2nE@Ba>x+L3>KsEIckpZdS_f5UV1OOLkei@2{i|?RaK4 zaj9iY)g~KgG21{PYdbc4G>{FbnTZ23G3R9$?Q^dAArkt~PudMbX9k+70qZVG*{G-+ zT`!qK|Z2Tw_u=W%EB;#nz<9R>@V-kF4~?Qv4i!#&LY0#P6cP-M~CKd*7BJ+uUnDu?C6|5vj= zL(~f&{i5!!gbIi`)4cqXJyLfEZ_D;qhLsu{-9-j7}2IY;?Sa&lsMGP zT$|!q8{tU*?2aFtT3^HgAsOb9qLKuZL4y64n`{e7ZYQnuoKAT zIoQYU(*Rf0pPlM<==z6)m{sWfHAUT-(yV_R=;?8(+b}fd0s-yo?;hysX(F>!r~nW` zsF@h(gIOHHbRNv2^KEH=vWN>qijcx|J|O5ED#pv7Q9Pu%$WHSH%S_LNC<;VTw?LYK zKQ6llbr@9m=mCF#V1aD4i)Iow^)=L? zT@)>Kb}_R#7j^rs=pGAZkw94RbwC50R!&}|-x=t6d}TIs9qhAn5A>2ti&5V5$p#hQ zKBXlyF$UB&yZ0gdtN1X09#SwRWMEdtiWvfPj9#FV*ez1*!zQsexUYxUYyvz$V$-ky zG!q-b((LBa8at4`zKe~8sgFZ;r`n8KJYU3Xg{c#D`HV9w7-D0Pr5Fe?q{dLEF)uZl zpQL}i6KXH&rg}&8=zdDkD7?Y$jfY)i`F7jy*@|Kv{@iYdKf7nmu0H4ho&(4Eqdo`N zW?!-k|E6qA*;it(i2Dx5RsG_yS46oy8zShz<%%t_f4vsh`z7|YbJqZNN7M<5XH9JS z-UXj$rt5aE2mDG=n?oD$AbQw<>HZw_ug@1%C`Fr1uteeO3qYwL4Q3B@#Lte`(mMGZ=sr`=ltaf@(?Uh$dctZG=PJK)%=0 zJIubFDWT zcAL_SQ7RKyhHkkJ6$yUI+g@0ngHZZ~qN&vCcSkJ3NS% zk_L166WE}JXd1jt^^l$pd!nAqMl%dd6d3y_A~_B^6OXEsMgm>$(i%vllxFB)n~|UW z&1?EModY`0uE-M4!Tt*d+TYx)_@fg~j<9J_4eL)G4LuMz+NyD z!eNI|K~YKdT(|wM6;0(2moE#nxgg6n%i3!G6{CVsI4wUsJaGzgq!J!Az>f>$ThFSUO zB|UI|1@1R1AHARk4wfEwvlU0nQpBu%Ma&xGQmptmfuF$f{jB&Q0)H0AAD9s;^SFp% zoA+<_Y#S7a1cAlBrSTKvT3^WZw`-wjjYZ;nI?UtMDI9+W#yLf+*D)#~y1$j{Z=EH- zTpmD@LHnTFhJjXhY0uR`Rth>H$aC0gC%ryGINO()$EFkaovzD2?IZ(WzpYH z!zfR?@K>=>*?;MruHYzt(RUc-U*+>{+?~)9Tbn^>{ciGVNqp|By_?5ECtB((MsxsE zkDO|J%?K>G2lI;2D+#Q%m!UjBo!TNyKs|Qv#b`i19fdj7i7|nZti7Y1BpD4zQnI=| zOebOndhA;`CMSWE&zEwl^gt2}^S`6fF;()J1ydz&>ciKtrY5(9HMMCz588{$hFK>zXS8{G}zWhpq+~1=8=u5hfLKbrv~A`V7w>}ogLkg=A*zpWUx%`8OVs< zGr=xH{0r*uh9kj+|71Eg*fh`qqReMNb~6x3m>F;&vj(#F$rQv|2P!r(GHy~f<2XW` zAtrHpFl-9@2qzEaKZElBp5>2~&khG$&5#;W%USbNiAU4GNv0z2W<_S$!j;FyJH9>^ ztCD9DOR=6NRj6+$^rUWT@jZbDScpx1$jw0hTHIW!uYleB83b(cHR488cw8nPdw9IY z=SBKb8|=Y;?@0KOnve3)`~+Up-PgXNS@qT7St(kh_)lF=+g%Wy%1}Jtcj3;{Bfp_| znF|Af9YHh2pGkKHb9%PJ8S~{(1`N#NYTp3Fsvb6ClT%Iw?+t7KXkTDQa^OG7K^-+oGAKVt>+i3TFMY`0Yt8*+e2d-fDtVI_RM!a?k zsa1d?E{2~P_ZBQt7DX+|M08`}6Srq-5EE|*fn`xpiqE(de_UymVhuA;NElbvYyMM! zS!&8ZmRjP?=D^Jc-+jna@%)&eXntxA`zkCyhbaDOFb~f**u@|0wLE)e(U4ezVHVSiT4}u~3LhLuBb-VAc zBnIpH)JLAB?uA%aXt>#_;iXT?MyE!vfO^mm96i$#V>uVPM0|St9q@zM$UsY=A&U0U zGUNkV$k2!<{T2!tgod*yex${XG?{kL-WCBf8~smOViMZO$-Cw9Y^!n2g8#=+D-94*@m*QxEze|g9uL{#H#Q9f}qj!cfuA_F17k32^{#vu(vx+7GlU{ z_pwE-7B{t5toIKn8j?SWz9uD4gXHL#k&t??!#*e~F|_khsjx3D>049~#JvI$YqTGe z7~)<=;;LVfHvOqr>1fMQh&5QWsXas^5zPr29}hKu0RZ~VRb)efH@Ulgyh*ZTE?K3E zMPrVT>;%e=TM)A)W?yJnGA{iT?3~bl_#A_KGQ`qHRbaUwifA`A8&{m&N8^Gq0`hjH z;g)qvySE?flhLauN7%B}aTWzFJ=oLpHc@sal{CQN(-Tmt!*lpdyYKI$?K{^orQLam zK1j5CY5xPn)pvbH%Gdz4WvYA7D|9E=@S;-PP_vR=Bh3>kXAzA6bbk7w5EFSH{8ZYj zl#f69(2=In3ajIdtPk8zJ&#Qq2Pavra|3+4)rk;GpN_n!gQ_ivJfg^ZDJV)9wDEPo z1xhgz8)~X!O=YObeUm7xKolmDcYZ@WY#WIf8p*)aL3Up@3U>LQr7ocU3&majgQy|Z zYuBf&UPXY3F5pt1WnG{P^o9_VLxte_6(tX)F0IAIpvLI*M&V@PLtN?^cHf8HASm*a zSD_R=#BXe%QM7kym{I&=oQi+&)#L-X{F(b>6~F6Cxcol>*g|GCg6c+krQz}+D2k6b zc)z8xd;)V&0?p%GUa-JF1DR8^Q)kiQwof7VZG*AR2xHS2q$%%yc&iAHf5bSK`wWjh zeq6kL>Fccb4SYE|g1i8wDC$lnqLsyk(1Fizl68)YqshGGLyH+K*0-f_(S2d-8iEY}QG+Nqu(bP8okHTnlQUFxWhO-Tfw zK8{g}m_GbU1nE-cDp#kq#0C_y7IXQu0fv`P`(6UKa+3?nN4pz1K7sHvtoU{VPa81; zmss(%Lxl6w#*n}%Ry^%T;CR}G5IBSZH$*<#P{i>ug#X%#r(IMWZzKHMY@CmNVxPGI ze&fx-8sH4{0>0jt?}s+wou#^-VqFwj`-R>n=!ejZY%X)X_GD5`{T7 zQHh-|OaHW2e)5;{P5k7Kkwo72$(HP^;T%OJvhjqiiy$KdT!Yr2e93bROk#;TRDtHK zPcRKgY52fQH9sGiJ+ORNDAa{G029Yu zu86k_D<_ib4`rzvdfg=W5u{!;_L*B%=Qf?Z^6T73tU$O0tD<6hA8Y!&^X z?=PVH#eQ9LC{gNK#us-Jqs98IuSUgv2&h>cH!qIx3L|*jLNLRS$G(~}u;R}(@Ysl= zrM?(s*C2h|uUQea+3le<>;+RvgHua!!5RN{E2){OY$+dn4@JEBf&s%YcVFl z=Y_0E5FIw+(&`(~i7Cq%7CsWz??CJp>k>dyn$3NJ$<6Kg81gMe#g35gDU2aUlka3h zzIy2HKbJ2+--MZVhVaK+?8k^T`XJjZ@d3^IkFa@ve3zm*^AHGQN%bLGu$qEf*p`jd zasZJvMZKEDqf1M|qL(wh+rXKcC7H^X`z^j!0kM03!XS~URYxJdtg;|Rwz?l1oBCw? zOHN1gIoJFcN`mr{CO;&p6*lZOV7iDvnXnbE24|s;|wscRdkkrHg;*Ts3F)|6>UP2qCQj)sU~UT zI`sJ%C$NB|G+wbF;!%qyyVu?y^Pc9ZM`19Rl#MQR4>BPtouVk9qh}TwpAa)ii)wXg zu_%x!T+1LxhbukSzW4@wPN?vFvMEgNqwFC=-ykZN`Ux9(_vmxrb_V0& z4o^!&X8NsB^Dk1g$$0@k8-}U>Ys}b4$BJjH&F*^=7)iX~Q)B+1(jkl7Eot{YO_r!l z$YU#`d(a%()F|3R;K5@SM)Y@Zw*|}3QumM71~hpBk)8uX7hHwc|H`Kw&qvr=P-Hzw zpYOIq`Mz(#v@Ft{0%a{jZ6OTFQ8<0c{eV~!WS{RWwxxjN^n0@K@P@>|G{snuI)c2L5!3|18TZo;) zWV#hk8o~wqWf|+-thRP<3Y=NgpSlt=kB6G@MD;^&VM@^kADpC(Igqk(e9z!+R_Ue3 zlLL&u;C=?pM+1S3g|*7e-XN%6&SDB7Tf2<-E3;B2pO&Vlz6Z~#k!r)Oml?mB#GFGh z|1o+9N``HsQnX~fFV^SGomzx3SNe~VUi2`^k!VlB1_bo_7>9pBr08%MPpFGA+tjX% zQM3~kZNSe;`XKw__5IMuo`W&=rRP)daNzBiVw&4%_a-3q78=&3jQnKH);_SYz(9a# z9VE+jqT8X*O}IP)BMZ7R@8}Rg`gfvBph{8>bptB*zFv<24y(?~@c4rIqBh|TMP|dL zJ#mscxYem)8y;^+EVgMeNl-wjL0u6Y=-Bmm5~874%8As7)_or@2U&+_t5G=5PzEDb z`v#Jk*UCD`zfmqNvj2;6*(yD>ToN0?{+sos#qobpE?ZrPmYWe&5;Y2MFljd@p;2Tz z(d_Yew7yW~q?V}nse2e)n5yU=>-*ea+${jPjJg+)QY#=^Pqi(Fb{-~`}Ga!VEN>V#S` z?dXppMuH6}pbom0w7utS$dQey3rjlTpJ%g8i-C*CIYq;!R;1Ay`hHrq5x0u3OQmm0 z8SMBC88hdW_V&L3g@H;06STOR?$+} z`#NUv{d!?Pd3-D=+J#^d{aAgHbnJMCz3@64@4I^RS^%h#-~t9eJ!Sf1I~8RT0I z@_-Nj81oKywmoa{l@i{fkNnJdqmE9Fh{jYbuh5`Qa}0nuqE7QGdtSn9$p!M9?Wz=>B_=nouULwNcK z0r4vYQ_mn0dY?lY@JC<$AuJUOSrmmATCG&#j$i0`GY_|}Z31K-38%e5ZV4HS=5NB2 za9hO4ImI7!wr~<$5nEjm+oZ>H-x@ISB`Gbwe4}Up@<*Su(I^+GQ6I1rD?S&61-sUb zsi9rV_biKb((;bF>xEYIk`Q#16+Jry{rMP6=1K_q?^g845cC2oxyNGMa{hj_vtLhHKFR=3vBbLSt?1FGZGbY&>(3+0TO2HJ&%b(l5M4D1*o%DE1?g9V z9#Ph#)1S!cU4DF-tNXzL+1a-w&_GGUk@D<1H&}mAA6s8R`q4x$b?b%2VF?OFA(raG z%LIh$-*>5Nvenj1{*^E`s?b+10ooBQ+mGU|ty#fzZc_xsErLP%KM*5S5h6s4-gBVG zp4pBsG~7(%Bb?{FOA`En&Dl7^5TRoF@&SIFeiADe)!LxfQ%U~3 z2y|iHg=h9@7B;mY7}}zL008QXcPuC~@n7I{qD;KT*u!5=%nXbK1uDne8|72y<6l`h zRcb9o<=^}1bzp=unbJ(#JWfYx*e0s~g9_(+XHOx$e*G%xt>U9mJiFgv5jTVnT_acU>-Z6YLV>TwMm13>21vo+kOn zpf%p7Z(3u?Y6BW7aV-AIAV1z;9GQRVG4OfEz!w|?pJT$~>o#n3hGP=Zs^A%ZJgEyn zD1G4>omUw127$1DgLK>_32Kw*2@$#Oo|@AbFe`0>& zrEc*@`J&LbpsFZ+akCttq|#1Pil!w-P4d9LzDKbpKdvbTa-jb)KZ))n7u{p|Jy-pNx#o^(@a*srHyQ;4 zGb+WuOP1gL;zM7(jD%Cgr@cSEi_!BM!~%>@duafH*rJ`8eTh$M>8nV8>grE}S?er9 z-WOkpC~EYzBjG(#D6)-$)bzO^HUVzwxqlfX1bVDQzXCKq@m2f->yZ_NT|zfTj8A=I zm^%>t%%4PNAF#}bx`fEI)V)c-_~Wi)Oj~fw3gX%>LE zeQ%V08ZZ51bLsW8+*YGcm!*Ghlzzz?R{C6C`tHp{hwKHz4q5tp2E$XF;S$d9j)mbx z$#9CnFl;R=p+9H%vxT8rGKl&?A$gqPUnHzQuF}FVRx+qY32$sb9Gxpdo! z*QDX8k|EMyxSmL~)K5rmf81)x5W_9#WXbTJ!Ei2TXygnJTNt(`3Xxti7#4Ac3eK=Z zG6<7PkPNRG3~Sq%NSAR2CLq;8Fzh@_l<=fvNF6WoWE$>~B45Gq)*jR$(MbmT8D{n- ziNCg2_D3aptiis4R1N`o`$~Ljuk4c~dWgZ^M75Rd7fAe|UfEBQ=)IUExp{O^>HfF| zmWwbC(Vw!Vrk;?64ZQk2rrHlk>HfIcqG;Ix2TKNSoMcbWbB4z_gVVzBHO}{9145Kh zf^9u3p^P&mSs0#@3{9v2?dtHS4iO|weNRbi7{&0`#`8$@K!d&WV`L=N_r0t@Ot0+k zNpt|d3RmBHV)w_@ZlYX5d)H5Ah|2v8YA)-G=EBNlZYvnxD(jUJ{jgD309z7J*dmsT zC`?#&KUvs8qh>SBg&mNJTit8TzLMxhpn1*uQkDF1qkAdr!30sW>o7^PnhlI4GA;E? z651b^PJ&XO6T`sQlHqJay5E?_gw;=##dr3qiZK%Xp`pog(jD<%*dV} zHVVVC5l%=1Q&eVRGM*1Iy=Eq+;rUnboPp;(;#tA-PvSWT&$@Wd!}B)rT!80q#d9g1 z+r@Jwo<9}OwRqmdp1p~6m)c#k1Y6A-EXMbFP^F1YyUlH;(AZ5M_-(vMzEbuD{{{YW-1d|awH);|N4W&bOQ@L~RmT;TB2Z<7qTPy+We4XPB2ZHZ^(T(%&$$l0&Z~bRp$2f& zY>w&>sCYvCjIA!n@EML;FHnCh2kHxs+Q?Ba2-G%0z0FaVtzuQaSD;!5MW>}B!^s@w z7N{2q<>RPEj=EN$?jzJ3j>_Vw%LHmZp|0epTd?ARIh`d?GYB+*p<)CogHUYi zwLdP3qjtZ>wK0NFbb0|KEaUasEKvOk^*vBLr1rJ||AJ+B;6u*wJ4P3X&?r#tgnEUe z-doL3K7o3dP=DsAn>lKZKs`mMTRG|{UfnANYAK-#IO=hZ8Y57136;fBX&g07pspg+ zIUKcvE9vm7yt)?=%Fa=ban$z$bqb+=rMEcv&WWR11bGOQ`s>yPc-=gWYXrUn}vxUfG|P z=n{k7X=cAw;;-(N{d$SM&|p8^%sxiqhxf`JC(-l+e#|3C{dJ>B^Sg(N%Kd2Xt>HFF z^hXR$4cBUB|GUJ$)hqi_iGIvrf6~mJFY!xyWzUf4*#>*HnLS?OFYC4L2Zo5can+FU zlg#X|NcN$ls_I%t4+f0r zESbq`z1Hw-iGI+i;YT#)%WipCR-v?4_AL_aG(=p$ri{47ESFwIe1VuuBHk}EiR!hC zYKh))0@aYTIL<8MWQmXHm3@>%Zv#8m;%68Dp~Wq9V+)%jw75SmRKzWmrs3yFCWCc& zX_n|khKS2p=3;buMB=aRm3^T^UucM!!bKbxUc^jdGHG#?%!GEXA2|XJl<1EcnzT5~ zEaHyAqJ~fR%DzFOy+Cs<-m`&e@lm?9ves>BL#8!HI?z3(X>aDDgk^TEl-zbc>!WnWc3_T}^I`lIb`f!F3oFUP|ut73> z*iTkEf)+Shs+Titq&EeoO2m98(G5D2E#M_?ZaZq${+W*h2d$* z5N9yl$r-NV409|Db0kB1jI6_K&XB+vZm=+VzJ4%5QiRO#-4Lah(? zl_i|Y8CG$Ik1PzUB}0k9(1$aO;3D<6h_pyDj5HV)Qd8j^NM1tcnoyB)CBu(0LOAdX zBGFP$;S3*I7(N>y>hQ9`a4KimMp%bY3q#lOq7H8x3^vYi0%z!;@=Oi)res)TFf8XHeM@Eg zVB&CpU3XGrA?=UEt5NQMqWq|uz=L(XuR2kVSCYC90+XVdc2 z27`?=Xq@3A3&V?&p~PUoi*r)zSkCZ-g`rw9j5HXY;taz$!%Y^3v6A6OLrc}1p_TOK zj}rk&qYe?0;bnv2R*FDrsY^LSKT8R%eMP0K42F|<2@^R(I}hg>CEP0+PKcBZx1B;Y zT52?Bc+SEwT{3(UAsABMAO@Hl-gSxdr~O7|eP063ANMp!cpzE47bn6NyLT25;;?fH z3;9!3o{@g_GYFAUsA3IxaGEeSbFml1YgmHOi6eDzJV0pVft}-oBOBkQ-$K!E zIUCtxi)I!4BxL`=KM}OP68n^*KZ(S-i|5-AKu0A|@}l3g7NZX#G5 z3HfZ9Nt1%ck_JK5&e(+xeXyx_H&@1-$Kuyad;O!xANycL{F#gf`&cQ&w=832*ID> z&nfi$2!GC@=ezmySSpu(4ixm)(6gIAFQDgA{`@PtQ{a0397i(K&w+xzf$EaUpW6wZ z#-D8@+bI4_k>@}HfA&$igZcAW#2dq(S)RZ1m~SrS)5V`3r*gOR=TC^Yoj>m&I0d*v z;-C2SpVT}w%3Dcj5(IkL@v|YjNAU`28MI9s_1U>DbO0rSo?CuVp2Z#>y!VpP&kZ$q zxU>;B_26w5zDK5mJcsbZSZUAJa%3+LS#(H{IP`3;48GPsQVq7C6z8hDxF+Wp_4d4fa_1s78<-oVy zS?M)V3%+t{HMIiW7u%ghb80oEy#Q}l6i;W2{=gElncH*pyZA$%ekXf)w;nm`HF$>U z==12F{=MBd4XQ+ikvZ+vi>EU~@b(jX{ou3);j!4n*-UOMY%nR<@I4)Y!C_i~?~ilR zc_G>A2BCkp?T)^rB>h9&cM{oly-e-J#4dOdbnr})-8+mq6gd9mb%y3`fseXi`*^)E zKrd{hI?(%Fdfkz%UxhS1rLAtDDlYb6tN-1JI&xue>oXDvnL$UA4u-ph{htVbvU?8Z zUt5cpkEN$*#1{tMIWcV=5otQ*FZGZ;F+0*Q&$Jq9N z%I(;sEj`}O;9CwonnMEV^9lBU0q||2Q8(^vxbrl8C{Tr+E{bAsWal3F%NL7GU2dbZ>+HY}h={ z-r-Oi5r7HEw=(kL0FMD2je^YZnIv-6FZc_WH)XddWeN2J98GZ#9aiO3cjIeF9HS(a zm92i3tsaJ-v@pl%uZg@;JM~ALVD}qIgAZQlcQ*XBT`u+1{fc(8GFcmk?Xb5U*M-v? zHAmhAZOpRq>X>B{w5VkseJGCoT!15$9T){LBHjoSqaV(M*+R^2)&TU82-V1ynBan* z<6TLml;;OP01x+Lg`2%5v^B#}*Pzdf6*L!H zk?=aTQ_HCnGeFE6C0m=Aqrk*lfj}Lmp?@HK8~wt}#8SQNbZq4%*Yrbjfa&L?*6ZsZ zrZW)j-e;i&b{4E1ldensr6F(*9_TwGb(3E3MCbsJgS2S?xbseQ2t*G3qUS?M8VoQ3 zpD7-3;0%TVg!9-I<{Xb63FXHI;xI|e;enG_M+nIk*o8ri?Mpxv75c#y)Uu7&asbs* zzxy;%x#(c!^gpx8`Oc!b(eF+yU7ZFA^j9uG^~plEBSkG-O6G`MGB6^1_9oS>MZc|p z{YatrHqZe4-79oUz5DM>bNWjSm=L!^rUp`P-l`a)GOQ|7#l{(Z64VkjBHlY4m4Pzo zRj36@Fm%y{ujt56ppP`YpMoavH2#5q4*9UD88+<32#&*!E8k+P2=G=CE{z(ZmYzy! z=TRLALcgEz3x3cC7859<(I1WhW#MFELG8SkIzOeu8}j;6xbW`WCZ5XZX& zr&~V1WUDRsRU>{L)gP-9P?%$yL;M(?&dxE@tM9;i#J8OtcudNTaj6F!_N-qs*{4PL zJWAhs3N;mmHYoII%)ffZL)1=KIY2mj<~she-8hnre@Dd1mq%fJ&R$QiZU)0tJrV^X zTk&0i;(x6UU`zn0Jw8XO;L9R9Xix6JX6Fns1NaP-a74ISJeEued`Aw$En^EpIx=-T zmRD>Kev4iPt+4*{)63Ljck1<+9Prt+JNUx@GuNT1Fh?v}L|pV+Rv&{F^}G~{*K6+~ zN#!I!8{0F`SnQ_>g!J6u;CYNi9>~DSGq}EimpKM`blyXDf$uN>q+kHh*pDNKe9Rdf zxIMJE5PymEiOmk|iz$3&j@kcJ8m0w5W&ZvZBsuqiXUq)z1G$;}E&S+TGkzThxv-WN z`vufbF>`~bgZB3y7$)?!3d?fRSKb3S=WH`H7KwE|76$mfdJHbG1b7c_9LSFjg(GPP+Bti=D1mS7B%<~1 z(I8?jIm@&eCE`56t4Sg%MEnlZ*kFH>m^vXFQBecXR}-|~BWV77{oO>pzVrJAmv%fm z>g{K?>5i&^FJyHfJ0A#bU*q>R42|ItK0KePn#y2C}=8tQkEr6`a;Y4hq zmIq$e_T1MDC>?Mx8a{`kZdD_aHoNz4_!oy?VL9X< z-^Yn@Y|S>JPTB+J@uNJg$g# z@qM47p)wnB^cyBReBu1=epcC@h5}Rt_M=Up6-&M;1D0JdKc{xjBPcsl?atPg&`?Pk z+E?KtES$+c_&wdlHXz;Jlu6+$M6!OOGsIk4Uu+$yL=klK*aG|*&FxJ%P|vCTnJNrZ z(`s;(8qwh83Cj`o&UQX=gSC4HQa1n>0ds2UNmB6U0zdo{fc43k%xO~97{>(hgSjV& zAI!adxjqT2Nae`$-*G|!D&e^DAVj9NRjCCgYd zjlqF<2lXGP2NfxX1G{f0jLV@-uk{=pVqdzIn!q1D8RI?1)uI9Q?C5E#HuQtz_emvD zzcNLsxll{8o`mrfzxWDm;KZ((je%~eCetUrM-|5hI@Qe2!8rI=`|1?ELvkFY;GaJb~RY*$bK)9Hc)Oct}ZA_Ow z65o5dATG)3#KBKa$kGs2UU{nLUi%z}YLC)QMseSrPqVAZo}Jos3_v)~kB-RICP&fXYOC-_zb_dFzuduABsbx_y=8zB zb*8Fqsvjb*=PE36^SuchQ-1#Z_@mjPK1+Pqo&@#@`?jsTSi2Xzj2`9R(-N$!k zh8$2Q^bZ=0w4(Xt5huCm2vlHi`$d1qIk3M!HDY%Th#PSiWyRPQv5q_W=6 zxRIF)o-h=YM1)vJ7z(-TR})YpI2F$zm|)5+QqW+Ls5CQqglZ8eNev>C&rx* zX#t~X2Wn}F0qA{SC}&v-U9;xVONF!)@Rj*b6Zy{tjQOkRe?dj}nV7Dn><)*?i@#aW&;-wUgS(qK-@C zUZ|qNDMW;i1-R`G;wLiJJ3PNdkf(((7)9`sBjFo5_F**_LHucq9}gMyVE5TEk0C1x z5@Ll)%T;U%#t&`afKI#jE0EACIZZFU8I@-1Yy|A!8QcbGWXv4h@A;iHp3 zyUU;WEpAXbCV%+GI{|M%n%X)K&vkg#FGDfNHqYUo(g)JJoS4evGchbB>t}IP0R|QH zbbT;O`bdk2Xg`UYO}BB9N@R}lx|YFyoQwHtg)8xL_NL|a#AVP9N+@;I`x`-^XaleQ zo*+{Y2A_hXZ%)u}!J96aVKQW*W}$%f{qX8jzRp&Eg3+c?wgJ3B#Ou6FWY7}TP7o*p zCFt+giz5MNfB?SXBL=EI3M0S-gaObIWLV$n&(gE8N&qb0sjkIRf#|dQOex6jGd<6~ zYH&Qo(xBvNIL(2b_XEK&Lhqt;pdfIhQ;l%;nO?w7jP`Cs+tP|h(FP=HQ8E6?PS4>8 z`x1QAfP5nH^ahk+;C?^yyaW-cmTmeFf0_4>pyJbq3Fgyo|@inR)?g@#!*DlxlHd8K~$ zT{J;Du$#T`3Z^C0qSXA9@qbuJrSH`j6z9s9#|+x&KzmwnsmB3!Snb_y;nEKP=iU&d=~j-TRL{I<07U~*@`TRt7w-dY_-|YoTvb-aa=2y2oo=w&)H`RYdY$FG5U|MB4c3T zpF|kS#}r}rQoB$qpgE}xS!4LBQ8!G1-*s?ZQ&W<@r6TAR1X{QyDu%oe`@Of2Dxf4( znzGylVBKwrm)q>#EqG*;2vvC~USUGzwf>w=&p|Zo7HVZOi7)T~eg%Z{8zxIc|DX}*gd*+E4NNIX)wQ;|)e4MR4giwH}18qqD2bQ>WvDj0Ye zfCkh^wBR|2h*LBSzf*}eHqHHb+ghog3X$+o3dgJxx!LsN3DA;NN(rG0nk(665w`xh zJ~4w@O#M!e#T!dBvqME}kUFt_RU3aDt?$DZgnS;y@8|%Nt!3po{WIffTtHZb#o+M? z=5UOeEE2pMdLl(ryqDZ12TH`-=UP(ogKOxR^9R?)d}83IY_}-cmru`6sj9@y0(#c4}KJgxhn&cALK65VuCqYjxE%ioBL!vl}b_F6p z9*nQ?^#=R-82a*!eiRBZX1(SYv5QjrsCh9wU-7wLsC@d)yK2vFlUXMHd1?oyLdR@8# z$v_Pr*?gKC8r!Fc>vN!WX|rSLRLBIp73HVxDJ^{|la$RREp$2weiy~5jZ0+VaX4Bv zvjXTzcz-}EJo}qDF{rm^R|E#S2&HJV(yxt<9?SOaR@6T3<7s-y_Rk|4`u#lno0DUd zK9NB2)YUO1=~H9u6F#Aj)=Si>h?`@@1ZVCn#dEo>=E;(|GqM|Hi>Zn2Ol5q0m(lm`KPlQJ ztQtR|8h4<>q8i^HQH_!YI8^bJC6^aVS8ma}FQr)&eh{6h`muf)%b;d;mX;Oe)MmzX zdUB2WO!ePzn7F$=ha%^rG0oiu?|pbZTTGOsjRB#v=nJPGAz8%Al=Pq7*g_PMIr0}J;#0W1-`Y9{ zDw=|y7H($9bM0?l)!(!2j}p(pf$nJ6C1)%crlfb*e8b-nna}jfVC@szM8mh3DftLu zY?pGX-GOBeYBVo3r_HkmhW@jsCz7?({21B4OFWDE4_qEmg9DWDM(*PP{jw@8hcLcG zC()>YGt0#4Gg2E9tHp;uIJwjkBaz{59EW_46Pph}nDa|XJF-)VpRf}y-_Ucc5lH9G|0BX$O2m)aoF4o06 zRaCh_pIV5)B^D8N_X%{1bN8iNe$AIHR4nGFow^MqN)fr9@XSY&m&krc`aR?A5JhM% zA)=TO<)mB;hjwNd;M$T z50Q-)bVhrSJ?Sk(gIf2Wi7f|#eqe6E;lw>X`2F%+44A)f#S2;dAxL%_jjb)wdjYZ8 z5=bj8(YukLu~2WIY&@4X5z;*!)O+xx-v#LEBm=KT{|!(MxPut9xCQ{Ii6$#*+}-qy zex~@^Y9_&`-7KAh^xB%S^n2ARCAoXL_4`>5o)k`p1;&wlDpT6@Lr13SAS+<0a1YU+tbRsYcqA7?Ohd zll#`7J{SeSnp(xmA3)3R^wgOw(LxE&*54s%P^R(d)QUF!|FQQj;89lB!vBP1AY3OZ zX=96Zw6Q0t2tmOn1}c*qGhqVAO}vJf3!ouMlL;4#fD8eq!)V%COIzF0*37)rN$OSh4$eT0B_xUU94pd>holAqdmjd@b?^Lp<|7vh;!Ze_^9@5O zaB$Li@`cFd0wmvs9;O>2&De0prPT2b{z)mNe^=#DwyxyzRkVzk0+Zf9C{b`)Rt4&E zbL3xEL+3Gj5rsrj#;XoRfna_qD5EZ2)i*^J+$`OqB+FfFe*zwDg$eyNd>et3FF5II z1hE7r)jxW-8uRxb?l{`Mcj(c8eVK#>_IU%hU>+}IZqGI+$$d^_70If8K;@u=m}q4> z-TA*4v-t;1bg1f%>m+CS7pz0TBUOr=@l~WTr%L7@o}w2V>u*9rSet@tQIBIIb{*a9 z8rrxri_K+@^&4mm5ncR`Gb_EtxlcRRrw=Ae!IAID*n^O)yMj1X#kV*e>*t8D2WID~ zWhO5%MTpj&N4PgIyFl1D#o9RsF?XyxMdP>ww>yz=6+|pL^e0p-g8!(4^CUQ86KwFo zmt;2=d*l2kFXRM`=iYp{h}O$z%gAo`{@2}smwPW#^752B?Me5}H?O7{Gu*++FDk}Q zDCzA(?h&KcPPvPA$-e09ag@RxtYD~l*RgSlq)A^~w~!mDZf~H0+E!JLqg&*pKm;aY z6T;wpcKgjJa2LJkSpQAw^uZZ4^vGA306Nym`eM8yS!#PqrcA-rsvh0N6RAhLvwsiF*8+v`OF^U5{Uth*FPF6YdRE7Qn@-#t$4DeVNtUfWTg-^}vAmJxU^?d0QR z%Le)`TNmg^mjBg3`;VkOxAX4~dSd>wp&8jB-<4zB``<(@y3^hbJh%U^fe#|z72et& zq=xZhu2&UrcXAel0l-O}SeL#78^&_m1@)qK<+izYZ=k zh`b_FPBppL{6iTpx{K`XggQ1pM0ENoUzWtP7w?^sYVgJ`@CGiqPPnJruM!ZjU!g!; zf1$eygxUHMX~bd`?$~gFWGp!HGeRs&r6VP!;3daiq-p%8+>Q-Qd@#~3`*%9%gy*M+ z%EmtA4PA0APoCrNi=pmu{MQpQUCgo!B;|gMkJp|cr=J(?Y{mO4JJUlG3o+ju>)t?D zRRz&7%um`6xq}&(FkILi!#gQQfW#@stpWn}S_R_e5Ir1epu)YuDSt++)yBVbrL!Wp z;^k2{%J$}CeLoY5!26MlXl_-n9{-V3m7y}nj_IM%6X_m~b%g{mter+Gm^ZKh-N3e4*@chVc#iLcfp!Pns1272B8C<8 zA36wOcNK`Yn%Of-d_->etGE-q_?MWvP=ZWH$3iJt{>UYCJ#QKgw<;Xaohj|ZUST#T zI@WioQeMrj@G3r8Ru!DajAL5XwjpSs;|Fk0y8Lep@uZ!qqNJIwV|y78enH=_3Vhi6 zsIFI3ZC({SQKUP!J0h|HM)bBP@Btgt+`&r5joYOZ?SJFJ$%B-({cx4&gPmWLA*2``~8gR zdyDMnz{#<3j>>~%!4{c716%fXXv)j`ktwU!%2a_4^G9%z4Apk;qJ%RY>j#s4_nlz) zkQ+SK?vSy0`Sqb+h#m^;+xhn_|B=kVJNplZI+HXJANoB8a#MmHI*c9)JMw!%?(9&R z4JE|h?RV6ImH$I&#X`TVQS9tH0H_(F z^gTy~bbN=TBd?o!2u*qzq-5fry)tlf7P}g@!+O|eOW9Gr=0`fc7b`m^KX9|vU);ZvTXy)tf(Tn1}pS)mg){+txubeDD8xRG&NwdXC?(2czl zAG$A*y6U!HMSS^j`$=;fkx#3Lip%q`)JT8nqQCHVyJg49@!I>`!CCZIx9Uyw*ID#e zbP)}67@PamebQe(E4k@L@6r*Di@1a)Z6^SJtX*I$(5a*;9t0OTS0%|(r6>sD5;X)nDIX% zU92b`=zXQ3b3!zFZqWW?2@s0!YKr#G8@lZw?&W9kkscY#kKPXSMR=6_pa2vIq|0*|V9%Uhn_`{(lnmBRJA!#uCKBA2Z?0xpN2VyHw99?{Tc>{BRcb zr#YAs<2R63KJqCf>zZ$b8}L!%U0n022!3}pZdB#>v2Necxq3BBU-}(Pi;m-XV7J;zKg6q18KPX8lKrq#n)Qn(-fv(Wvr*$?}9>p;TjrI zIYR>WBTtew&BxJkCER)+wDdo0`Rs47sz<4{vY`DDXl3yim&o74Ka-STqTZ9vR0{Ww z9-FU5B20)vy%}m1Q!Noll-pxbFfPVPo#c0W(=JOVTQdTy@=in~{m#e#O|m#jXan|_ zo)Jag9eIo#TluQBKM5A;KzQs|?v~q(eZg5-d~IdjglII2eIbNDA|*uvkPb)Lu7Ld; z;3Cx|5N>09qVG5Pr-XZ?Z98&dUOwT;2~n5wr96BwF&_~>iDdc-8c3IOkE7!UP=-G{ zQ~QgUp})zn5kvq-IyyEG6gep7xSx7xFAh!#!aaO1(IY{^bgTUR1`;tF^CdYp*;WNk1*dp~L!EGtw|&hj*Lso{ir|#bOK`aae@MC!j*Us|hx1Uc()rZt z{~Xp&RU1uthCWG^zK4*r&z@Dq*=bD`mFCicnw za#XWhZ;@InC2}Pk0lA z_0rIk?@E{7!^~gI0v96Edr;O)5U#j`h>CcsPC#mj2fnq ziIa)hIy6QbG3_h4@upAu54x;3FzH7EiYMIn0I1|BT?{(>)&5}m{1yFtFv!>crvp^Qt# zcr(Ivg`%>TDZrXQU^FhJ+cG0xr((oz4PKD1g7#q@q;n@fZnLc0ShtJR5Cf;Q^!DR_ zro&_8KQ1jjMZ4P$%6;&HbUHE0>|rtYRmc1jd9Did@*U*;uk%7~Z>Ab|s?wO{mMY^; z`bE)+Hit4}uc!HOVta6=2dC$G*)A0`4ae+u7rpEo!ZgY4D1Q##?T?7Fs$&9C$^uWi zenSmLT_kdmd}GVeaXxtIqw8-Z2W5e-;|E+9btzq5PE)dpsS9JnvQowCH4(ZAhkA!- zyOh_0wee~4H<)Zm#|V~)1=Rj0cTl;!+DQx<@Bs5@6s-I{7X>dAo z>T4?9#bYoh|5MRs*DKD?JJww&YP$G(r(^wtgm?laV#)ekYEI3`BlH;7YJ=0sx;1b9 zn>3J_QcGROLzoFkh?-Hm{m}~@8-6-eIH0~h(9YK$)E14$ToO$tE^kl3g-3XDkz=Ec zS`TLb3bW2QH#7FCsoMS{9WOdMoMdk3yMgR)NVvSb=SCVUad2KkS8?U24%~4y?GX8i zGHbIZ(^<7TV!12ZPN^c-TiOGns6x6ts*mLFSeJG zlEa@b^he#akzOw%uess1pOhirvHlT>6b=8JM=FgCM>vJF7>0kwXn==>&j({XU22S{ zn|2572lnW=S;P(OI)3n?eUFIR5FJsrOXO<3p8a6Nilfs1*Hhm7w|hT@9`0AD)D(lp zd0ym-xdu0XKyWsYiV~cu@SY(fM$tjX264S2CkW1T1m~b*{r4re=pheMv@u&k1GDhP zl;DkdQUs^8P|bUb#-OIoRf1z5t2pm;tUE%l@f2N$;JghN<9`&v!4>orVcPc?6C7eZ z2$q?l6Gx|rlqEQXd|QVgID{y{X~kd?!SN?a4B{!$auqYWdl+9u@@6W*;izL9ri!7_?*=E;2|j4Q1K{d7>gYH%j7~q4DeZHCNp1^JH=j%?%#V60ytW*-&K>O3l<g?az0h~y`so;jWi#}M+`ZKN%ZqBoq zv(r1{5>ySgAzFB+*ft&4O5)wSel9%@7fNWk6VHto%f}sR+u?SUyd-8ll-|(wS-xSO z;|E>-*M?LDp7Z8E%SZOG_w2vwl0Ns2J22_%a>uY;6>w+bw5|QHwAPx&wG`%?|937X71`449(r!lY4xVu6*iPl^ zdfERf68E&2oS~Ae2~Xn4#RGQ0e;Dje+D;iwyz&{E^v}mgIRDRRYcZgdNnV^iiZnUg zAd{ft><^%DtZ(MQi!yf|>l)O4tp_I+MUO2_Zj`U$c#%tQurjBLb)5BorH@E5=TP2z2CaN1hw?vuE2Wzh77&0yDRNM1D~)Y8 zVw-6*&F?MFOp9z4=VIXCglOcm;tOOWRA4`|N$w+8@z2ViUbh}e!VdpxctxI&c(~1n z;v=4HoaG09BiWr+;0~-I7i+TA_8!JS?FT%JogG<6@1$M#2xW-A$$f$9(-%w-5Ilzg z;0tnBJo+4#W+ahd_7?>anzURZ>GcolG?4v$o~`_eq`Un)`7q?@7wH5}cVISIn4Q(m z2b58~{$6*%lc-$j-b^~5lYXC1zh`)}yH&2iUhp}&Q^H73>MqN%gz-`zI`b=vCNV7$UOpVV_QRsJ5v93^4Ir|jyq4-=yI zr98#ieGie$y5C3)_AIQIwZVu>jl2n5pMWT0hneePv9n$Kca~i=@&Q3!sz|BBAp00( zFhslP(XlxDM~d}Al^Ln!Yh=>Ge40fz#-ze3R*@@_2C!vu$z;fg4 z{Rt;Dy!C6Tl_#eMM(p>^B@6HI-1|*gzx9S>{{LkA@ZNd&QL1>UCh)R1cpdm9a6i<} zu~pa66idj&q4vYxqU?u>>e#r9q&(fUKlO617>>cp!o&(&16AatnwV4)eKsxmWcyDd ze-*0^zv)$kH)_Hun(#^i{@*kBuE>mhODKYKjF`~i z`y3r##}zGAucS7Vqvo43?=*AH?x|WWd;wqG^gzZ_L!Sy{|JQ@kR4oh;QyHhGW<@?l zAp1U^V&(8BggG|WDOMQ_udKzm%zI3MU*w`)0W`Ch4Xa$mLpK~Nm(Mz&_ z7I!%}pL7RrV3KpF{m2cBO7V3v*&vBNI~D#iRw%08!P<~Jy)?(#H+zF@QkT89KgEzu zSr3aHofH0|itJDH8rEFoJL9Ocn(m(S6qk--QrGV$hZN(;Nj6-}(OUaAg@0%=-TtrX;n%JpTQYd#sr-zD2knap zXNsG=L?#(TzHQ+jNP+MKD2Lh`V7>tvbn(Wp{g&uINplaunbR-0bAEL2Zw-=OZ&{kAQY{SEw#nh1;T|YqhH(b$<_a zDo0*;1GVC8#KHV!rmSt@usR@Dwh4LC_IT2|%Ze}iHtbgEsj0Mv^bE5chtSv?B`b3D z7zNFw?yTvuv~#oP67vBAfJQm^Se;`3*KmR6hQHCUax?Gbg*Mr$RVDkHs6I(yp;r#B z<25jB(q$?qf0g$)$zC5a<}v)0(Ne4S&+;tic-SxIMy+nUk5Bpx_W`?; z|KZO{OBUNRxLBXr3SN-;yt<7?>g={3gh}B5WlUa4kEwt3`IMfYOO0@h9A!Ka z9tQJphnPE@=|Ko5{SA>k#4CUyFCjh=x7Hq&{F`1QaF&}3Wh#kF#C@Lc09kj zhWdU==zK#;3m7WWMTeqK88OvRfo=uCP{9YBFovr0IOk)UoN>k**i$}D^zbrL zP#KcNSM{Dr*pH3d`{&N^ckre$p56=T(e02PRF=G|ic}Tyr5Klo6qg(D zg-*Fq@}!<6zRvz>^{I}=n=&C5f4Rh`L;V@cSQk4qCFQWxLo9*o(dV{})@ zr?XYXCnj$6A_j&3gwwI{%fv%zW(|>kJ=L@G@9c268kt5vp)+7##>l`g^rbXU5nC!+RD>!j;(Q)5vILrSN8@h~eS4b_U_7sn#S>iIF&m28n?RI`5e_hqyX<@Gksp8;1!v$*^p z@Cy7NAu9{bG*7a7hOiG*YzQc+d?3L8_7HzG{rqEWwDj*ykI4CFB7R~asl2FHigh}I zS2aPo`APw!Q}jZ`RJ-GhZK8<#byi1_wFkzeqH+_L3V zSW2G|{#FN3y(My&4$)mlCBF)caRUfJ|^>LD482-B~t;mvc zmv7mG=O-v5#=okgYp7!*pJ(If1j1@F)_cs!lf4ZJ7}qbE4Eg`QE{fjZcsVPOoOv$(~QH+_f3&)DZxk(}QIn zQjUY16v3?a1Pf!uoEyXrI;IsIMo6a0 zitc#OarbAW;6YV>cWrs6D|i#rmpiD+Uv>%0VEJ09z2Ln2-GPnL6yeLV$V~DvZd%?c zB&X$jilm&5jbY>?;(&Q)czV8!Wz68ow>e~ljV4p5El#*FdW^flypaTsTx|EsNipA8 zNNmdK4Rmm(0Unl&outqH%E>zeRa?D*P>W$)Ppe6|3)aj?~ zJ^o!>yQ#6>%qmvGJH81Jo>UjyV*7Lati^V(*@mmL`A zdxD<~m3%0=!|Ok(-y)_T5>S|6uFL#)4Xdh+%q@cBjZtw83J;@V5t{#kJF3}OQ=9uE zZ`$k8*Oh%MwBf$-mc7f%Fk?jQf!NYorhV8S72bA(n- z`FE<>4R6rQAtlVgOm#?aWpHv{c&Iq*WK7;Fv5wI{>FCeF4v)*q+1t(aZOzugV?mj}Bf_Q^w3E$A$h}GrvsU_X`jpBW%pxWe;Me zx42PWXIVxoGL2%M>sa4LGQ0wQr#E+ujm-O>9ug`|V_r4J6_}PYfxT=q$EeTLbV}AM zgQN2t549rQeb^cm(Z{4>+z#(vd5c`^jo={OD@;%8{TlD>(-R`IM=(7RfEK56i2QyNEvoxl#4(n4)BhR_4IX)VUR)olYz#uu^d!cXjz)K=qRt3EI%SM*3dN{%FAl^?pppS$-iWk zt*seWCLHTurE`Hn`xFv=?a8$A^WQ*)VhWV;%nLy2F8`hp7Cpyi?mRrgHFQrIFN%&) zAH)&1GALUlk-On2NEydt$lDE)7K|h74N`{j7^Qp=N1~H@99e9TvML{={G36KVo;AE z&(TOF{yMk*9tU&wF_GhRPa~JwE)fGj_t)@mKCARGdg5oq_n#cP{4Gr*s|lgfsJ~|j z!$zdjq$s1Sq$qied>=Me^3>n?T`Xt&yN0SX*}E^&o9hp!`%k1hHa-A5mw(Tw$WOV6 z%R5seJk)rrl-BSBj_LC~=#d9FHVR=b3ogo#S;6{Uq{xBsj=MH<<9d{Vhc4X9dw6TP zL!-&rYOk!8bKDQOgITVkKitu)PNr&q!(Dq)pY<1-_8F$+#~HdOve3#seH}6Sb9muJBBoUweGFYt=rUe5>8#me(sc!gs1l|vn}pz5CZ-h~_Y94#6;sSI+W3H30QgDh5Tf&(P`pyrR;k6b; zbC1+zXi`1m*84fe>F}j0fc;w``}a@`7$7eTD3T9E%!JDKoSYC6I2b>7QW)%$-m{e{r?KKs$% z7mB++z3d1VJp7;f^lyv{G5ypb;PFv$ zd*JA?JqX~F$h;?rMfiXkXv()qA7DW2df2#~H-w-QO=9?iI zbIPSU^GTooCtNtRI6y<-ChAxS!R~k_M>_;}rzkIt0ab;l4VMWY5j)QB` zs)~*{I>fZ1D4URaEWLT#dE?n4wa9d|4LICcQyRhLoIY9GEF@+>~Hs_krT%XI|Xx3RJEXj!oQ zJ`6f#ln1MJR0bx$>I#ndsy~wM{~&$&YENxXd1xxTRClJkcfQJTEF*@w16VY>Ky|am zu&e#KK>N0`K>2-<(PYfh7g&4U<=e=KEpjy)DVCGvSl;(h?(N3>Q;H#7$wg%#<4B-K z76stdLnM*Q+GiPeNEE-Oqc_kQtlDErv|${nxohWba|eH=q>9tJ+0&4=Qn_Yfx~-W`!${&A=D*}JnfaJB}{*1-Ql4S0j2bD4pCK|Js5gmrUL z9xz`k^>=T-Upz z`x%ySQdFVh?!anTnzi-=N15Z-&#|{dCU=gFG6SEx z<^L@$^8Y_1-*WQ{8As*jk*(ZB#K+>k^Q{AdbgW_djsM=HPZ?(k%X^T$kU@b`6VKBE-Fq$#}OSm`YKbB*69$$7%%+jnnZCHDz%teg&%kQw^Pjt9Ag=4nx7y4)9R% z!oU8+|6<)C+^q=x^N}uEOg{LAt+ppCGF40g{C?JRE6@K69rA1vXKUbW4V^Pf&ZZzz{Shlhfga7v)^I+yZUqq_kZJF%?HnhpRJ#>@^Q9* zoYfC!_2b#`;q3UxCaKJ`_Q6^E=&XHs);^Z?qO4KLmWFicd&z$?O$E8>2uA!dcS6{A;T4{7^BXUn8uDj zmwa9)G{1tQ5;EL7U(0akzu>Ojr}nGKW;J(O9|r?_1FPBIz?Vb7ZkE#uYCnyUU-774Ci_R=dekimlSqpx{CI!F7yOP z?*$FfAYbWn`B+L?`*clg$Q-{W(lsZbUh{l>e=P?dgw-1{$$L@RCr&z!ha{a|N-AG` zc!EXzb9w{1zSVPZm?tna;$t5hUlq+#B@eP&-dj-NBl6xAdn9}B)AfeO6Km-PbIj!B;;n~FoD z<-Ho)4k!N{RlC$ydUMYBW0G}ua46qUV{?ayu3I$T{4rI~~q;;Ye6*&t6XeL5E~(cD((9 zgUdowKh!UD$x9UMO;K{gzF)Oj+I)$U54g)aq3r7o-~O0-LA8P{f8)nfhCn)Zm#I5- zsKDp-EpJ=c9qeA0t+#B}jcwblP29FSl`4?Uz3lZZhBiEo(}jDVOMG7;I5_0i*)#R8 zHz$VJ?ar}DbOPC!m{1<;{dbRiAu*vf#=wUK&&O^Lpr)9{QzMM02i)=4(e? z{^&^d`%9>NZTQ&>XJ#3lv z`2U%<%*6)JTy%td;juC>VwiNxvZ7w!gv#KEOx{tsW|%j4zQ_OOAP@a=`EUIHO!si| z{{fF<<}3$pK*wsEBc}%?^jMzC<~l$^4r z9Nq9K-jtBz5Avuw{-jd#Nu>?&tDNDw%2`^|^lv_Ajn7w8yV%)O<6E+< z-sxN1T3=J=^ff!@S2-J+Tb;Fy&28n$~l>YcUC zjg17<*O^qTc+KsNbYnzL1pD_iP8JL_9pn_I^^t@P$zH>GTmdA&ax8Nh}@3G?`V$Z7nsm^}3m)aII}pINGj~;yCB{S}C^5wr;P6nk9|(s%>j& zWSS^eg5>)CcyeJ?yJ-wn0o3>H$We2X#Zbvf?Z<0B;b6s!x5vDuw)U2m=2oO)W=nmm z;vR1l%4pg^RoarKhGr!wvD{GJ8f4t6+DqzmeZ={j_MYRTLgIW&+8Y{>Eh}D|b7^~< z4`FrIEol|erDH6vp}W*LTUwVarRljB(H1$YX>F}psgtpl#){s2i?3!$lj$s~$r56! z)FjHhCfGMGYFctT85hY;7Tl|xrU13gOUJjhH;uowsb;*lrp;F_ViwQ7O*f&E_*S15 zD8xd`=2)w*w~-1ArOs#9Bgjp0fzVO|8c>U2nv`JgTlKMLDlBU~KMtF%>sTNb_ z+Qyo;HoD)^ab$TMSspj5c}Wv}HdUuyrj06+pH_NR4HEs zy5Gu)x3Fo@Gv~)=n0}1hi2NkVMn$a2&y=Ht3QB3(#JY>;^&{#pLC*R~-)hXUPTja4 zOZrmUtM;@`6jS?>H~A&C@1lC2G^a-f1Jfz{S0`~cr^``ga<_|-7N4G;k*B8mGGG0w5hLcIn5h$I2O=@}^}J zDN!%!ipgzgSW;bU>8+2*Z+}r#MJ2^s(zLAkw)lW>CVMnF_2m5ZGpZ-I$LaFYUzF4H zXT+r`!2nYZhg6e!KyJzTj14Qf%(kT|Er@EL(cE;InYx*&-I6vnQH)J4wVX|AxTUCY z(iIb~D7d_)wzh6!;iTG0S4^y(IO+1bx}r&!*Jvu^m(Z1c2LB0@@y6yFnP4UAcircb z)PX@6zO!1JZ)vPw+NL7w2_Q}ePZ>UqOWO1dSW?P zK>j5yk(MtkucqDCyi}%m`IdV^*VDWv?G(es&}!UE#sh=!>4~+f7v%%e4m8!8Rx8z8 zzNN9^oANDbY9~0MedGLF>)YBJeL`iNJmLrt$^`z)7vtUe*HTHAW6P;z96D{j=2o0? z3GMrla-pnjQ##3^Gp}}WJ^nrh;@aDkw;_?Djp~fcjkqF>zd&c;GVMS#*)TP)=s&jK zaTxxTSOs~c(lQuLG64TfHrek@J z!~?aYsjhwnRbmoMq}R$^53cb{#v)t7C^B`LD~l#cbc`ySrp8%G&UGakMNOM%r);UX zcql-E!;{*a*-)i?xY~JRn%Ro7d`VrsGZrt&K{dlO(|L>bl&Q*$_cG1tk~XLDIp$qb zmv3wLH5A(BHZv)!Xm`vJ4|IEfKuWqiDNnWyE zj4{v?IGdD5=3)IOpKDE}5{ql;;-n}RGG@@)66O+epJLYwN>_#+&upotYZ7a&7QJ`>;rU6ijD?n0St$*#EhuTQcuq={o6feZ zc}bnEfkDt`t7~p&Jh3%4H!U)^C~{w+txf%x`w3U72Y@_Xak+W|$kUY*)e|5lA(r9d zT)LzUCW|ePr3RM3cCkqzibj{c_80Tx&b)T1SD^uATr)x&?ujw_~ zRv}qGEwH4yxv{>cNeg`5^;ChEQk_Po>cHmFR{Ck762(@!xJLS8ed}q#^QGqIEXJj8 zf=cL_iBwHXn#W0WZK>Hzo)Rfk!6ll>XbBnB<kFO+3mhdIj?y zJ-2NmMHNjltm;gspHNuoONNmsq!_g!)KX{&Zjf#e&xWc26I4NnrbR!rgfayz$lByV=Pz&SL zbF8g(B*Dc+DvnF7LKQhK*)jeJ`H$feX`~FRW)8|u+xVGS*A@Wm8EUs@uZ3p z2;wy!Cs9R6pfR$PfKl2t9zl1;__NNkEl!@=e4A{L z(AKmv2U=R|TdHf9G#E3N-0M~U`Bh2wj84{OO;ln_#MTrW&usGCTU*oKCAZZ#uA~gI zwZn-?aGP^6i=$@37GKr2k|k9&H4|}dZDKKXu6K^M)NPYVqPeMI$s%@2u!}=Ed(7gtz`Z(F?7=AKzqZX4gy+FU#SlDhFUT$`=cc1h!k%eb7E6tyu&v0$A{ zFwXG%(?9#7k8ypEtB-57fpUK{*B29>1=rv8nE~)Z`@NHW(cH9X^u|H|bJtk-d$}4- zI`<@`_gn5?Nq8P8AE(YhGv;IDz3gMq43xIu=cdFTO@1=$(P-}QX!NaN(dc@vT&_Js zDJ$0tnbarOZ%42hj_Vod=5pOXQpcNUU>(r9GN9i)gm_$Uq{lBwrwm*qBN{z_R5W^h zRy6u)uEU&AF1U|#{lL)riDzAFz*+aj@U^aq=S8Dqxz=+%$hFx(xxa_&zJzDN^>^K$ zfPWz2UTB4Pe{uf*#7&lT#^`IZffIpcT#4PSf(MT6vVGoMCBRayIb59QijLP|l|cDP z?8Ix~tZ20GnrL(%XHswD%HjFWk9oBSJy#d;t*bNPzCS*T33n4`2iLN>(dbvWwsO72 zbvL+=a~00hbXCO3H`j&Wy0|~U<*$iG+qi1Ee!(@zK)EmFx-#KeaQ$8R3HUJy_d>g4 zVZ04wtFipDWYc#)KRJ3>ewpek75YB$zZEM(eXSxfMBm5bk2*aNOgvn^Om_M&9xnT* zPyfZ!H;%;=l6d&glo0*MzGL+p6w8T0#PC))$EWu5V~4-`rP<^d^V5IvaQo?jVB+EZ z2HQ?-iAGz#6OAtTRx~;b*aFP?h--@p&x5{z>i|670UqRf$~+5hpzH4MvYGjN`r6FB zbqW5JgzHUc8qGE0`{-XTfr9_=2hr%i{V*Cmmn+QuWZ>c-A+~t9U2p%G{%WpOKZ!=IOYkFjwk~Or ze>gsKl0D3vB_EAmA|hb+{aURxP`El(9ip_`XWP z2@}_-tPO)IM-DF8oL=V7m^Tc%lHr4<0VLEmk;}`q0{UVRAw^$0a&Xz*>33yJ3)wdh zF7po=^oqoD4NreOP2Z?^>mgtJd|&hh5wg?cd5CvV$SZ~qI%K6M`TH$b-V1%vMqn&n zNhrO1b4HopK4_-S<8&28=-=X6486qD^xlz!r`?qv%Ghl84<2-<$&!TX@{^y;KlDY@ z67yAZSNb%G;33ALcnsn1g)R)eIz(QTqkQDx3MqfcUargklodnhS3!T^#lGmmME0*X!Grwgt^(xLra z{`9upim{@U_!FVq4&9{+qyI^KFZdqtUlx>#?-@CGa9>nDm=$j~ z)qksnZW?rwPDTd#d9^S4Y3{9`;KzW^1Amc)1d2RN1V0u0cVc|qrk`74_)}r8w$KyCzHZgzE71!xY%+rzNNyqA;#C6!dK!=CSD=&;`yl> zIe50jTNI1u=_j6#crC<>iYXB5Pj{!!7DXZbK7Cb&RAAZg^h!%lO1(cI>HWPg`e)iT zF&_QDJf>l8)Dqx>!jVhR#+&w+Rz5VrC z+hmfOi;0oN>nRV!(nY@GdQkMaN6ViQL(lMQDXh@)8_jhO@z)Z+P2|h`q`n^jALezN zZwoG=-jd3Ht8gwKevM%%@!lZbtoQ!4cv9c;;hi4h-7Iegsr06e9PH8hTs70(s+p9W zOS$Fb`V-8-KndSN_|^f!r9R&vd^_P+NPP2?c&ET00Dqa_ zRQce0OPsHKTPA#l@X3UqAbeb6{MvZ@8wt;3J~~joR}r2=cwS=sn{<51_kD!tS>Zy% zPw)?dp9&rj`$-zlfG7lCkf@i8+*PRYbiNi2Xodci&@-1_E?g{mijOPT2r)KCrQ}HH z$6}gqg8tuQ^fC@gJB#H~Qs`7aw^qI`@6ZM$n-v>Sme5&5t3_hnH`uo8<`@#Pf zd|p5J7r+{_|*J+!Eft_UN(+w?+3pM z{EmL`_ki!}2mb*0o__Fq!0!W3H;?_Ko?kKasKMAz@b4M^GAvj>!H=NfBtPd_NTA?z z!ApMVF0r5BCmZ@y{9N!--qds(!At$5;@5+h`b^FLec+}30kNOR;e#ML!OIcnF}W=Z zrE9adL5r=4A^Cg*`lHZ`8nb?aKL!2-_|*K29--+Gm)K9}$AS;{Lth5|F!J7nX$UD&~_=%v#fS39Sa&KEH`rIS-Gx}WH&$nVO@5WwzCP9x&zUC5d z7W~S^m0;-=w>54|XM8_@m^6|M9FqQe=v#84Q5n{)UoJQIfnN;1Qjk{puv>1D$YSL2 zllXg}>x3?0xK#L8z;8<7EA;PyUkg65y<|KXL4H?&znFWSp0zWvl5d%S-lfZZn*ioLw_2srcJC|1&-p?$ItgC7T*OCyZi7tZ>lERI zgnMJ*jQ`Wr{9u{INt!4Z=i5T)sMgp|$}<`K0`ONP*UtEa4 zSh!g2uIy|zgPblBE#O3w*3{*MlUrNamPM4$+u zq%)WJEoIT@^W4YdE58H@4SE<-CD*H<%PWsY=SxSl%1JsNoeutz^yA9Hgt6531JEz< zMx!;S^Tpq>RI*Su{6^t!+8_EY&|j2DPy62hiRAMX;oAt8z8_0}hOns^UaHxs^5k+l z#8&9yb`tY0_zapWwC>?E_%A%X(4By;Sol?$d3u%1W_3SnBs`}o8a*Z9s=UnhL*f_M zoZ%Xk=eN5@6%6{-uu*vx34VZ*;q{~Pa9PA00}|P0yOHa+@auu!K0zpc*xQC5{nl@1 zelrVpiLtTgu1`s!ba<5}qStHRL*;PAe+-JNa7HxR(+__uzm+Nc>4hJQzqIEn_-}*% zFJt^;{kuXrR=y(jTRwa?|3$7Jko?R%ef-)3z5u-Nw0?5`3V1j8rGixT6Z7A-31_b* zECdVv2ol)@{qu?R9N&gmraFL(M&=<0Xabb*}{7)A;&+rOOrs(RRD}e5q z7~R5=g9j;jEs;Jizg1kDp*sNGHpVCI=b_OP{YGlOTCV*@3)6p?#td{fj-zLon*I(6 zd6xG3y&j9pM=kUZ!S6FTWWOup?({*s(Ae&QXeAG-{1~)3H%FsC<~!}t{Q zL#F>;5tj~6ueVEdHLR(%rw53)V?{LD9?Ku~WBhr`hmFc9SAM){!>{As^6BB;!&8EL zPvY>Ce)=AKj>6|ML0Ec+{wz~B2_O9l<|ivzhm`O^ieP5qJar=Bvk0Fo;pQjh@`7Ih z{`Z1Y(Ma7d<5)c8@0x^o*O+)@r;O_@=)Wk|PxKRhE8(jMe~a*(HLN#eSn*T(SCU`$%l-O; z@Dexo8!&Bn`fjm{@Z?TQb`>d4uGC8-AFevEj`f{H|5ajtNqPsZ?r+?K+Tcy)x|{*B~# zf?oyxe()1x@pO6b0l)nh%zI+xjkObgPUUGyU#f~+GFBDx@qR%kk{0=?)ELsEQ zD7syKlI~pibiwBmh0*^S0gd1ffR_(F$NF!4y{BWyHQ)Tq`b_`O@-1U3zV)e!Z|78e z=Mxq8jh_46bHA7M{ZU&-4Ek``;XnWBkFOj$`0|05T)SO+Tu}&W9bif6_?TfAe_B`4b-6rrc_z8R* z-~SQ9`7qcl;HF)D(X9e^_eGBaw*WK$3V&b$FlP_^fLnkqf(LE^WcK|avrEVWE4;TizfwsTH2bcpq04xBW0J?!WC#XkYA#eq70k9Le0=Nyh1=t1L z20Q@V0Xz!q0cO5Uxvlb}6 zp)J4#z%Jlo-~r$Y;8EZvVCK7&6PO3=0Zs*mfeV0{!`b&B&lj>!0O-Dmxe2i6V)n88 zgYbOzMga4Gi-FsKTYx7%PddQDOSuPb0y^I#3|I&}Fcx~?;>+;)0ar|duY?1`z#e=A zS?>dj;1Aq(6*R!i67GR3fCmH*JOS(hI^|o2rCh*Gz{LW~C>wA=IdycLd{z(_7zS+8~Hy; z9AE*k2j~WF^U*Fq_cHPYJg}TNz`~W#{gZTovw(%SLkHXh+y?9c_5d@#3_Z||&9nFv z>G;VbaKT3Kz!jUQhY!I43xV4Lv>R~oX6hHX0~iLnze@Y{MWa9d8a#kupnTQvwXaiN zVD3He0=j=r`vAB6l6nFzc#u2;7Xyz1R{%57uQ|UW-=b%Mi-Dqt&;HKVz}Xr&TLWin z;A{>2zgPoKlj$rQiwgXv{#+(G@gJ^t^~*Hjvr@t>|5SzvUzide=hXjQ!AlxH^w#8b zE&L}_@Uvdj^q(03|JecXV^i=J|4Au$Yb|fZf9m|m6ij|cO#rSK^;>v_hB9xIpS31u z!3E*~;AhoOrU|gtW^rk#A7)gu+^DreptV-oW2(bUPi+>xHTPYMk63;ziL2lHtO>|3 zLj&6iGl{io)#774yA31j`EMq^)!v4UO^z^@pOp?~naZyf5A$3-ul>BH!#q>Zr!Ljc zm|;oum{aOG$J7sIlzO)6S;zXH|39@wmtd=bUCsJ=p?P*1c-Y|A8o1TK!zO&8dG0dL zYYns+IQ0?Dx8>8O#tJmdl1-ug{2IQXk;@F+VBoz5{@B1@8@SiN7Y#gO;4uRS7ixZ= zFz|B*UTI*3f%6UI;05(tX5a<`?=|qp2L9T>y#~H$;1L6l892Deq;KHo47}373IpdG z*kIr?12-6WuYo@{@Ye?JHSk3Pj~IB&K%M%){|`T?+u?wL`wT2JFwa1zfjI_d8JKCH z&A=1C)clSb*kkZr2JSF$yMfyb+-l$!13L}eWZ+r@R~Xo0;9>(88o0o~Sq8cdoN8d$ zJnu8G%fKB5ZZ~k7fm;o<F-h7w9?Y6oO#n`%*%I9 z99J}Mh4b=)36lyYTz-W!kGBv@f^tv+ArGSQc!(;&7jYUbe93F9VA5N6}rRxb6` z+yeBqYPi_Ct6SMbplzH$U#o2#$44)=ja$^zKF%D9lk`wsm;6Wsa!@0&&0R~Q&o<6i zzk>g*&2=@t8r!(~#nt-2>eyZN;yPkVs6>ZwoH~|9<)UWkl3EgJh5`S^DSn#IEp2VK zaU4}4CrI1IadLIN%BPg{GApxE+5vweZ5cR6QVB*3fdAwGcyTKB$4At9fA~oQ;HM0L zFCPF8nm2#aY}R-u&(<&9Hppg;a~4iuI)B#qmWsSL-fpwTqh$PGn>7w4O+ z@jDrxX|u-tWc*OuETeCe@r;^N6EXTe-8S6jly7&W{L*bBY&%-}!;iG>xT`-rJ3D^b zAKqc>Z+uDTEv%zI>yQ2%n`Q4LW+~mqLjCss=+CpQ?Z?hbS6=i)4*EXb#=>RFZwAlC z0dmxAyM zX<+*fu)lPFsPMyVSu-`EddGs>?E}z1Way{P*7VY!<+qpXT&%HK20vY4ZMHuc{8ocE z=9ldagWqTHUpDmb8~iM(aDEmaJLMMsTMgc+LTxtLdn5QRgIDh`5H{Z6x6jvvYL5=L zviC{o4_~YCENQ6UwFYlnpr0=?_y&V7FnINj0%6M)-Vh~#)rNlGbsFh3VVe#9sKHy3 zx7FaYM3DGd`4KUed=?mdtq!*BH2AFsKi=S9GWdN4Z>q!AYw@{36Iy)wz@I~ZpK9#E z9K&Z62Cv|^rr<9y_%35tTJ+-#eqjpz7Y*K-f}a6i)&C1R!C#tms}Yi0xKur)@OfO(8=?g8 z)ByPB2f)9q@bv3jHIr`|UVk-s=WQDCfWaR%_yin@- zXbS!_25(!d2_G@^mx5RImeO8DhQ7?@GZB#pqJyGWc_D z|1|jRhTfV#zpU^k6A9pm#oq|j^Cs-Q0q8TC_e#0C4F7^O9pMs%Phf0riw3|?9RNRP z0Q?OKkDT~53`$^q!_H1sX&HQ~P-`uhiYVekxl)bc4 zKMPaneFnca1^;t{-tfaZ`-5^I}QE80q9>f^qq#@vLVw+NR`*% zt#WQX=1Uv#dyPXufsRebiP@L4(lz0c4eHuOUbvwH`imv=)XpGQ;ZA2oPe zKr^uN|BAt9rQqcq5aHuAc&lA5z)%!?fx)jZ`6*TS#FFa!N<+Wh&}SNwB?HiZ$>bK6|y9~b4;D0#)pN9>7*0(gF z8P;rn8i4*CL+>>7R=Rxy&}WV^a%Jc(IhS`!`m49g4gFL@f3eB`wFci}@Rppf8i3E8 zhJK;3KV{#V{O&RMwT6$S4<9x7ttt3748F_Y)jKTkc^mvWw)1S3pVpH9Qx<=dt~Fkd za_D;4`kyKrHkYaBPaC|=7$C(u*j8ZSWunJVz1squWAJN#uFy914hy%p8~nnE#;d)? z+-^4bS)bGizN3R}KQQ>Nhcx0GgWqlNhYkMA2LGnTe}_h>cT~8|#_=zDV{4k`f0?2G zoWXB@SR*DG{51xD)Zo1azsBIF8iSW=RKFh^eAhnxTx0M*H~6i8&--fh+?3>!9o@^z{jU+v;?wXrkdxU~+G<5rHDZIe*_-9NeIVCAJP zKu)2(a-xRI)lGGETZOGbeRjsiQE_tED(AK}FE3d+gF`NDOVz1%oRM5#ua2x!=b+o# zn)vWpldr*Mov){l1GM4OZLDvSgO4jYG14HH*R~mCsm9EkTTy7ySSJXZDCWRlD-?SD zX*df}YECAXlm4pZz(jqdt{mZ9Z5^+H4*s04zDlF2AfDi9 z=N`BDTI)E>nyC6bK8cz9WX?Q}QMl^rIP|?OPNa)3&j|+`Cs4&wPrz9vwoq0ntIa9I zv1ff!aqQ7LE;)vfa1Jj{dgl0IdA3A{gST64)z!3dQ?m-FrMl&CziPyynlqDq64uOaH-7y1@Av`Sh(>j@KD04@RJTXgaEBfP2HxFp2#rA~Ubg7oQwN^)!>r`34*tNE;5HJ`Ps){R@OPmQ+3@yt~E*yfL5 z6>Hm%pfhKGo;gK*VCb1?5b%#kN}WP_W+v*C)PYF!7btawS?yud$oN-K28t{iB_(Q$ zJ}|PnnXhjtjT7f$1tEuRE%h9k$*RpjoH_rq$!0~M&0`Vj8k2%*lOndP{R-EO|+zjzu%hjIC>wm9K%~D(zEUEr-g-MA1lJ_2re7 z)mM~wJpcEROaD8O%lvX$c!Wx}G7oXC4?}ai&p$;4=;hgzKZN8~EbJneurppBpi@ zPJ>dpXUMUp(+5(MKnvd$7>F9>U!@K+J`=?m+Y=6|JsZxf$RV>DwXLnTrfJ~9LTMVM zfy{Fd@&M)pbZ2fF2+q_r1fQ{K2-i(>h72UM3ZHV~H0l9!YmEM-x5=T}Ed!FNNx>Q0 zSAU$vwzR#8lb8qOBc?WAyRx;dY?D)_;|60RXVe>u(i+c~wzJ!#T0TWpdt01PY~jM# zpsQ(4r@;E9k?Q$)Tg)z$h}f@s`ZG}75$Rf#e)DpD;C8`)1ySn2^mX+~9ZQO8ZsAKA z14g6qIJMlTzM7s=2&o#|k~S=KE4+az5$AnlPz;paC2etTA1UWvjQa93+CG#%PPA0D zBNGC!i4%f>@&cJQ^5*Lgn-7?22wk&0rShq%wsy><8J_ByOKiX@@m`4$+|o!lPw4-Wz9cVm zH5F#`!fALt$rPR)@d(!Is&8mpGYf{-U0rYbXMSL--|U`GMOV5V_z&qk{lNiu zPip&FWY)H(GP7maw6{as-{0y|JpU$6~B`AAT2a}bZB4`foj)L^Ebi=e?1bUAbNAg&-_{c?clE&%Fwle z=-tJiwxj0nnon))JE4CA^S8^^j#+v(8#uID$xn^9gHw@z4X=`#KkU$I;xm8rbl|0K zkizDQvWh2mlzen|VE#b9;4pt&=QTg{dFb@c;{GGPzJ3?MXWxZAO^k|YD|nDJ>uxriLcdwo8SR&R#4g%u9BV#89jKa;#Qq&i%)oe=aIu1_v(4qHykVn&%d7Ozxtnja{ha~zx^z~ G`~L={Gn2po literal 0 HcmV?d00001 diff --git a/app/src/main/java/top/fumiama/copymanga/json/ComandyCapsule.java b/app/src/main/java/top/fumiama/copymanga/json/ComandyCapsule.java new file mode 100644 index 0000000..c397ad4 --- /dev/null +++ b/app/src/main/java/top/fumiama/copymanga/json/ComandyCapsule.java @@ -0,0 +1,11 @@ +package top.fumiama.copymanga.json; + +import java.util.HashMap; + +public class ComandyCapsule { + public int code; + public String method; + public String url; + public HashMap headers; + public String data; +} diff --git a/app/src/main/java/top/fumiama/copymanga/json/ComandyVersion.java b/app/src/main/java/top/fumiama/copymanga/json/ComandyVersion.java new file mode 100644 index 0000000..3f6c9c7 --- /dev/null +++ b/app/src/main/java/top/fumiama/copymanga/json/ComandyVersion.java @@ -0,0 +1,5 @@ +package top.fumiama.copymanga.json; + +public class ComandyVersion { + public String body; +} diff --git a/app/src/main/java/top/fumiama/copymanga/template/general/NoBackRefreshFragment.kt b/app/src/main/java/top/fumiama/copymanga/template/general/NoBackRefreshFragment.kt index b3aaaff..e77c513 100644 --- a/app/src/main/java/top/fumiama/copymanga/template/general/NoBackRefreshFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/template/general/NoBackRefreshFragment.kt @@ -10,9 +10,7 @@ import androidx.core.animation.doOnEnd import androidx.fragment.app.Fragment import androidx.preference.PreferenceManager import kotlinx.android.synthetic.main.content_main.* -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withContext import top.fumiama.copymanga.MainActivity import top.fumiama.copymanga.tools.ui.UITools import java.util.concurrent.atomic.AtomicBoolean @@ -48,8 +46,8 @@ open class NoBackRefreshFragment(private val layoutToLoad: Int): Fragment() { isFirstInflate = true Log.d("MyNBRF", "destroyed") } - suspend fun showKanban() = withContext(Dispatchers.Main) { - if (disableAnimation) return@withContext + fun showKanban() { + if (disableAnimation) return (activity?:(MainActivity.mainWeakReference?.get()))?.apply {cmaini?.post { if(cmaini?.visibility == View.GONE) { Log.d("MyNBRF", "show: start, set h: ${window?.decorView?.height}") @@ -62,8 +60,8 @@ open class NoBackRefreshFragment(private val layoutToLoad: Int): Fragment() { Log.d("MyNBRF", "show: end") } private var isHideRunning = AtomicBoolean() - suspend fun hideKanban() = withContext(Dispatchers.Main) { - if (disableAnimation) return@withContext + fun hideKanban() { + if (disableAnimation) return (activity?:(MainActivity.mainWeakReference?.get()))?.apply { cmaini?.post { if(!isHideRunning.get() && cmaini?.visibility == View.VISIBLE) { isHideRunning.set(true) diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/Comandy.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/Comandy.kt new file mode 100644 index 0000000..075b691 --- /dev/null +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/Comandy.kt @@ -0,0 +1,117 @@ +package top.fumiama.copymanga.tools.http + +import android.os.Build +import android.util.Log +import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.edit +import androidx.preference.PreferenceManager +import com.google.gson.Gson +import com.sun.jna.Library +import com.sun.jna.Native +import top.fumiama.copymanga.MainActivity +import top.fumiama.copymanga.json.ComandyVersion +import top.fumiama.dmzj.copymanga.R +import java.io.ByteArrayInputStream +import java.io.File +import java.util.concurrent.atomic.AtomicBoolean +import java.util.zip.GZIPInputStream + +interface Comandy : Library { + // fun add_dns(para: String?, is_ipv6: Int): String? + + fun request(para: String): String? + + companion object { + private var isInInit = AtomicBoolean(false) + var instance: Comandy? = null + get() { + //Log.d("MyComandy", "get instance @$field") + if (field != null) return field + field = libraryFile?.absolutePath?.let { Native.load(it, Comandy::class.java) }?:return null + //Log.d("MyComandy", "init instance @$field") + return field + } + private var mUseComandy: Boolean? = null + val useComandy: Boolean + get() { + if (isInInit.get()) { + Log.d("MyComandy", "block useComandy for isInInit") + return false + } + if (mUseComandy != true && DownloadTools.failTimes.get() >= 2) { + mUseComandy = true + return true + } + if (mUseComandy != null) return mUseComandy!! + MainActivity.mainWeakReference?.get()?.let { + PreferenceManager.getDefaultSharedPreferences(it).apply { + val b = getBoolean("settings_cat_net_sw_use_comandy", false) + Log.d("MyComandy", "use comandy: $b") + mUseComandy = b + return b + } + } + mUseComandy = false + return false + } + private val libraryFile: File? + get() { + if (isInInit.get()) return null + isInInit.set(true) + Log.d("MyComandy", "start to download/check lib") + val prefix = when (Build.SUPPORTED_ABIS[0]) { + "arm64-v8a" -> "aarch64" + "armeabi-v7a" -> "armv7a" + "x86_64" -> "x86_64" + "x86" -> "i686" + else -> null + }?:return null + Log.d("MyComandy", "arch: $prefix") + return MainActivity.mainWeakReference?.get()?.let { ma -> + var f = File(ma.filesDir, "libs") + if (!f.exists()) f.mkdirs() + f = File(f, "libcomandy.so") + var remoteVersion = 0 + if (f.exists()) { + DownloadTools.getHttpContent(ma.getString(R.string.comandy_version_url), -1)?.let dataLet@{ + try { + val body = Gson().fromJson(it.decodeToString(), ComandyVersion::class.java)?.body + if (body?.startsWith("Version: ") == true) { + remoteVersion = body.substring(9).toInt() + } + } catch (e: Exception) { + e.printStackTrace() + } + val myVersion = ma.getPreferences(AppCompatActivity.MODE_PRIVATE).getInt("comandy_version", 0) + if (myVersion >= remoteVersion) { + Log.d("MyComandy", "lib version $myVersion is latest") + isInInit.set(false) + return@let f + } + Log.d("MyComandy", "lib version $myVersion <= latest $remoteVersion, update...") + } + } + DownloadTools.getHttpContent(ma.getString(R.string.comandy_download_url).format(prefix), -1)?.let { + if(f.exists()) f.delete() + try { + GZIPInputStream(ByteArrayInputStream(it)).use { dataIn -> + f.outputStream().use { dataOut -> + dataIn.copyTo(dataOut) + } + } + if (remoteVersion > 0) ma.getPreferences(AppCompatActivity.MODE_PRIVATE).edit { + putInt("comandy_version", remoteVersion) + apply() + } + Log.d("MyComandy", "update success") + isInInit.set(false) + } catch (e: Exception) { + e.printStackTrace() + if(f.exists()) f.delete() + } + } + return@let if(f.exists()) f else null + } + } + } +} diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt new file mode 100644 index 0000000..fa67fa6 --- /dev/null +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt @@ -0,0 +1,129 @@ +package top.fumiama.copymanga.tools.http + +import android.content.Context +import android.util.Base64 +import android.util.Log +import com.bumptech.glide.Glide +import com.bumptech.glide.Priority +import com.bumptech.glide.Registry +import com.bumptech.glide.annotation.GlideModule +import com.bumptech.glide.load.DataSource +import com.bumptech.glide.load.Options +import com.bumptech.glide.load.data.DataFetcher +import com.bumptech.glide.load.model.GlideUrl +import com.bumptech.glide.load.model.ModelLoader +import com.bumptech.glide.load.model.ModelLoaderFactory +import com.bumptech.glide.load.model.MultiModelLoaderFactory +import com.bumptech.glide.module.AppGlideModule +import com.bumptech.glide.signature.ObjectKey +import com.google.gson.Gson +import top.fumiama.copymanga.MainActivity +import top.fumiama.copymanga.json.ComandyCapsule +import java.nio.ByteBuffer + +@GlideModule +class ComandyGlideModule: AppGlideModule() { + override fun registerComponents(context: Context, glide: Glide, registry: Registry) { + super.registerComponents(context, glide, registry) + registry.prepend(GlideUrl::class.java, ByteBuffer::class.java, ComandyGlideUrlFactory()) + registry.prepend(String::class.java, ByteBuffer::class.java, ComandyStringFactory()) + } + + inner class ComandyDataFetcher(private val model: GlideUrl): DataFetcher { + constructor(model: String): this(GlideUrl(model)) + override fun loadData( + priority: Priority, + callback: DataFetcher.DataCallback + ) { + val capsule = ComandyCapsule() + capsule.url = model.toStringUrl() + capsule.method = "GET" + if (model.headers.isNotEmpty()) { + capsule.headers = hashMapOf() + model.headers.forEach { (k, v) -> capsule.headers[k] = v } + } + try { + val para = Gson().toJson(capsule) + MainActivity.mainWeakReference?.get()?.runOnUiThread { + Log.d("MyCGM", "request: $para") + } + Comandy.instance!!.request(para).let { result -> + Gson().fromJson(result, ComandyCapsule::class.java)!!.let { + if (it.code != 200) { + callback.onLoadFailed(IllegalArgumentException("HTTP${it.code} ${ + it.data?.let { d -> Base64.decode(d, Base64.DEFAULT).decodeToString() } + }")) + return + } + callback.onDataReady(ByteBuffer.wrap(Base64.decode(it.data, Base64.DEFAULT))) + } + } + } catch (e: Exception) { + callback.onLoadFailed(e) + } + } + + override fun cleanup() { } + + override fun cancel() { } + + override fun getDataClass(): Class { + return ByteBuffer::class.java + } + + override fun getDataSource(): DataSource { + return DataSource.REMOTE + } + + } + + inner class ComandyGlideUrlModelLoader: ModelLoader { + override fun buildLoadData( + model: GlideUrl, + width: Int, + height: Int, + options: Options + ): ModelLoader.LoadData { + return ModelLoader.LoadData(ObjectKey(model), ComandyDataFetcher(model)) + } + + override fun handles(model: GlideUrl): Boolean { + return Comandy.useComandy && Comandy.instance != null && model.toURL().let { it.protocol == "https" } + } + + } + + inner class ComandyStringModelLoader: ModelLoader { + override fun buildLoadData( + model: String, + width: Int, + height: Int, + options: Options + ): ModelLoader.LoadData { + return ModelLoader.LoadData(ObjectKey(model), ComandyDataFetcher(model)) + } + + override fun handles(model: String): Boolean { + return Comandy.useComandy && Comandy.instance != null && model.startsWith("https://") + } + + } + + inner class ComandyGlideUrlFactory: ModelLoaderFactory { + override fun build(multiFactory: MultiModelLoaderFactory): ModelLoader { + return ComandyGlideUrlModelLoader() + } + + override fun teardown() { } + + } + + inner class ComandyStringFactory: ModelLoaderFactory { + override fun build(multiFactory: MultiModelLoaderFactory): ModelLoader { + return ComandyStringModelLoader() + } + + override fun teardown() { } + + } +} \ No newline at end of file diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt index 32f3ae9..9159906 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt @@ -1,16 +1,21 @@ package top.fumiama.copymanga.tools.http import android.content.Context +import android.util.Base64 import android.util.Log import androidx.preference.PreferenceManager +import com.google.gson.Gson import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import top.fumiama.copymanga.MainActivity +import top.fumiama.copymanga.json.ComandyCapsule import top.fumiama.dmzj.copymanga.R +import java.lang.IllegalArgumentException import java.net.HttpURLConnection import java.net.URL import java.util.concurrent.Callable import java.util.concurrent.FutureTask +import java.util.concurrent.atomic.AtomicInteger object DownloadTools { val app_ver = MainActivity.mainWeakReference?.get()?.let { main -> @@ -20,6 +25,7 @@ object DownloadTools { }!! val pc_ua = MainActivity.mainWeakReference?.get()!!.getString(R.string.pc_ua).format(app_ver) val referer = MainActivity.mainWeakReference?.get()!!.getString(R.string.referer).format(app_ver) + val failTimes = AtomicInteger(0) fun getApiConnection(url: String, method: String = "GET", refer: String? = null, ua: String? = null, timeout: Int = 20000) = url.let { val connection = URL(url).openConnection() as HttpURLConnection @@ -45,10 +51,37 @@ object DownloadTools { } setRequestProperty("platform", "3") } - Log.d("Mydl", "getConnection: $url\n${connection.requestProperties.map { "${it.key}: ${it.value}" }.joinToString("\n")}") + Log.d("MyDT", "getConnection: $url\n${connection.requestProperties.map { "${it.key}: ${it.value}" }.joinToString("\n")}") connection } + fun getComandyApiConnection(url: String, method: String = "GET", refer: String? = null, ua: String? = null) = + run { + val capsule = ComandyCapsule() + capsule.url = url + capsule.method = method + capsule.headers = hashMapOf() + capsule.headers["host"] = url.substringAfter("://").substringBefore("/") + ua?.let { capsule.headers["user-agent"] = it } + refer?.let { capsule.headers["referer"] = it } + capsule.headers["source"] = "copyApp" + capsule.headers["webp"] = "1" + MainActivity.mainWeakReference?.get()?.let { + PreferenceManager.getDefaultSharedPreferences(it).apply { + capsule.headers["region"] = if(!getBoolean("settings_cat_net_sw_use_foreign", false)) "1" else "0" + } + it.getPreferences(Context.MODE_PRIVATE).apply { + capsule.headers["version"] = app_ver + getString("token", "")?.let { tk -> + capsule.headers["authorization"] = "Token $tk" + } + } + } + capsule.headers["platform"] = "3" + Log.d("MyDT", "getComandyConnection: $url\n${capsule.headers.map { "${it.key}: ${it.value}" }.joinToString("\n")}") + capsule + } + private fun getNormalConnection(url: String, method: String = "GET", ua: String? = null, timeout: Int = 20000) = url.let { val connection = URL(url).openConnection() as HttpURLConnection @@ -61,20 +94,75 @@ object DownloadTools { } } + private fun getComandyNormalConnection(url: String, method: String = "GET", ua: String? = null) = + run { + val capsule = ComandyCapsule() + capsule.url = url + capsule.method = method + capsule.headers = hashMapOf() + capsule.headers["host"] = url.substringAfter("://").substringBefore("/") + ua?.let { capsule.headers["user-agent"] = it } + capsule + } + suspend fun getHttpContent(u: String, refer: String? = null, ua: String? = null): ByteArray = withContext(Dispatchers.IO) { + if (Comandy.useComandy) { + getComandyApiConnection(u, "GET", refer, ua).let { capsule -> + val para = Gson().toJson(capsule) + //Log.d("MyDT", "comandy request: $para") + Comandy.instance?.request(para)?.let { result -> + //Log.d("MyDT", "comandy reply: $result") + Gson().fromJson(result, ComandyCapsule::class.java)!!.let { + if (it.code != 200) throw IllegalArgumentException("HTTP${it.code} ${ + it.data?.let { d -> Base64.decode(d, Base64.DEFAULT).decodeToString() } + }") + Base64.decode(it.data, Base64.DEFAULT) + } + } + }.let { if(it?.isNotEmpty() == true ) return@withContext it } + } + failTimes.incrementAndGet() getApiConnection(u, "GET", refer, ua).let { val ret = it.inputStream.readBytes() it.disconnect() - Log.d("Mydl", "getHttpContent: ${ret.size} bytes") + Log.d("MyDT", "getHttpContent: ${ret.size} bytes") + failTimes.decrementAndGet() ret } } fun getHttpContent(u: String, readSize: Int): ByteArray? { - Log.d("Mydl", "getHttp: $u") - var ret: ByteArray? = null - val task = FutureTask(Callable { + Log.d("MyDT", "getHttp: $u") + val task = prepare(u, readSize) + Thread(task).start() + return try { + task.get() + } catch (ex: Exception) { + ex.printStackTrace() + if (Comandy.useComandy) failTimes.incrementAndGet() + null + } + } + + fun prepare(u: String, readSize: Int = -1) = run { + Log.d("MyDT", "prepareHttp: $u") + FutureTask(if (Comandy.useComandy) Callable{ + try { + Comandy.instance?.request(Gson().toJson( + getComandyNormalConnection(u, "GET")) + )?.let { result -> + Gson().fromJson(result, ComandyCapsule::class.java)?.let { + if (it.code != 200) null + else it.data?.let { d -> Base64.decode(d, Base64.DEFAULT) } + } + } + } catch (ex: Exception) { + ex.printStackTrace() + null + } + } else Callable { + var ret: ByteArray? = null try { val connection = getNormalConnection(u, "GET") val ci = connection.inputStream @@ -87,57 +175,10 @@ object DownloadTools { } catch (ex: Exception) { ex.printStackTrace() } - return@Callable ret + ret }) - Thread(task).start() - return try { - task.get() - } catch (ex: Exception) { - ex.printStackTrace() - null - } } - /*fun touch(url: String?): FutureTask? = - url?.let { - Log.d("Mydl", "touchHttp: $it") - var ret: ByteArray? = null - val task = FutureTask(Callable { - try { - val connection = getNormalConnection(it, "GET") - - val ci = connection?.inputStream - ret = ci?.readBytes() - ci?.close() - connection?.disconnect() - } catch (ex: Exception) { - ex.printStackTrace() - } - return@Callable ret - }) - Thread(task).start() - task - }*/ - - fun prepare(url: String?): FutureTask? = - url?.let { - Log.d("Mydl", "prepareHttp: $it") - val task = FutureTask(Callable { - var ret: ByteArray? = null - try { - val connection = getNormalConnection(it, "GET") - connection.inputStream?.use { ci -> - ret = ci.readBytes() - } - connection.disconnect() - } catch (ex: Exception) { - ex.printStackTrace() - } - return@Callable ret - }) - task - } - /*private fun replaceChineseCharacters(string: String?) : String? { if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.M) return string else return string?.replace(Regex("(?<=/)[\\w\\s\\d\\u4e00-\\u9fa5.-]+(?=/?)")) { match -> @@ -146,14 +187,31 @@ object DownloadTools { }*/ fun requestWithBody(url: String, method: String, body: ByteArray, refer: String? = null, ua: String? = null): ByteArray? { - Log.d("Mydl", "$method Http: $url") + Log.d("MyDT", "$method Http: $url") var ret: ByteArray? = null - val task = FutureTask(Callable { + val task = FutureTask(if(Comandy.useComandy) Callable{ try { - getApiConnection(url, method, refer, ua)?.apply { + val capsule = getComandyApiConnection(url, method, refer, ua) + capsule.data = body.decodeToString() + Comandy.instance?.request(Gson().toJson(capsule))?.let { result -> + Gson().fromJson(result, ComandyCapsule::class.java)?.let { + if (it.code != 200) null + else it.data?.let { d -> Base64.decode(d, Base64.DEFAULT) } + } + } + } catch (ex: Exception) { + ex.printStackTrace() + null + } + } + else Callable { + failTimes.incrementAndGet() + try { + getApiConnection(url, method, refer, ua).apply { outputStream.write(body) ret = inputStream.readBytes() disconnect() + failTimes.decrementAndGet() } } catch (ex: Exception) { ex.printStackTrace() diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/Proxy.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/Proxy.kt index e08a624..cdec538 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/http/Proxy.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/Proxy.kt @@ -30,26 +30,34 @@ class Proxy(id: Int, private val apiRegex: Regex, keyID: Int? = null) { } companion object { + private var mUseImageProxy: Boolean? = null val useImageProxy: Boolean get() { + if (mUseImageProxy != null) return mUseImageProxy!! MainActivity.mainWeakReference?.get()?.let { PreferenceManager.getDefaultSharedPreferences(it).apply { val b = getBoolean("settings_cat_net_sw_use_img_proxy", false) Log.d("MyProxy", "use image proxy: $b") + mUseImageProxy = b return b } } + mUseImageProxy = false return false } + private var mUseApiProxy: Boolean? = null val useApiProxy: Boolean get() { + if (mUseApiProxy != null) return mUseApiProxy!! MainActivity.mainWeakReference?.get()?.let { PreferenceManager.getDefaultSharedPreferences(it).apply { val b = getBoolean("settings_cat_net_sw_use_api_proxy", false) Log.d("MyProxy", "use api proxy: $b") + mUseApiProxy = b return b } } + mUseApiProxy = false return false } } diff --git a/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt b/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt index 9798a22..03db6b4 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt @@ -11,6 +11,7 @@ import android.view.ViewGroup import android.view.ViewTreeObserver import android.widget.Toast import androidx.lifecycle.lifecycleScope +import androidx.preference.PreferenceManager import com.google.gson.Gson import kotlinx.android.synthetic.main.button_tbutton.* import kotlinx.android.synthetic.main.button_tbutton.view.* @@ -21,6 +22,7 @@ import kotlinx.android.synthetic.main.line_chapter.view.* import kotlinx.android.synthetic.main.line_horizonal_empty.view.* import kotlinx.android.synthetic.main.widget_downloadbar.* import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import top.fumiama.copymanga.json.ChapterStructure @@ -38,6 +40,7 @@ import top.fumiama.copymanga.views.LazyScrollView import top.fumiama.dmzj.copymanga.R import java.io.File import java.lang.ref.WeakReference +import java.util.concurrent.atomic.AtomicInteger class ComicDlHandler(looper: Looper, private val th: WeakReference, private val vols: Array, private val comicName: String, private val groupNames: Array?):Handler(looper) { constructor(looper: Looper, th: WeakReference, comicName: String) : this(looper, th, arrayOf(), comicName, null) { @@ -63,6 +66,7 @@ class ComicDlHandler(looper: Looper, private val th: WeakReference() private var uuidArray = arrayOf() + private val maxBatch = that?.activity?.let { PreferenceManager.getDefaultSharedPreferences(it) }?.getInt("settings_cat_md_sb_max_batch", 16)?:16 @SuppressLint("SetTextI18n") override fun handleMessage(msg: Message) { @@ -265,12 +269,15 @@ class ComicDlHandler(looper: Looper, private val th: WeakReference if(i.isChecked) { withContext(Dispatchers.Main) { i.isEnabled = false } i.url?.let { + while (totalInDownload.get() >= maxBatch) delay(1000) + totalInDownload.incrementAndGet() launch { mangaDlTools.downloadChapterInVol( it, @@ -278,7 +285,7 @@ class ComicDlHandler(looper: Looper, private val th: WeakReference) : AutoDownloadH -1 -> { homeF?.apply { swiperefresh?.isRefreshing = msg.obj as Boolean - lifecycleScope.launch { if(msg.obj as Boolean) showKanban() else hideKanban() } + if(msg.obj as Boolean) showKanban() else hideKanban() } } //0 -> setLayouts() @@ -281,8 +281,8 @@ class HomeHandler(private val that: WeakReference) : AutoDownloadH withContext(Dispatchers.IO) { homeF?.showKanban() fhib?.isAutoPlay = false - fhib?.adapter?.notifyDataSetChanged() index = null + fhib?.adapter?.notifyDataSetChanged() fhib = null indexLines = arrayOf() this@HomeHandler.sendEmptyMessage(6) //removeAllViews diff --git a/app/src/main/java/top/fumiama/copymanga/user/Member.kt b/app/src/main/java/top/fumiama/copymanga/user/Member.kt index 176250d..5ab708c 100644 --- a/app/src/main/java/top/fumiama/copymanga/user/Member.kt +++ b/app/src/main/java/top/fumiama/copymanga/user/Member.kt @@ -5,8 +5,10 @@ import android.util.Base64 import com.google.gson.Gson import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import top.fumiama.copymanga.json.ComandyCapsule import top.fumiama.copymanga.json.LoginInfoStructure import top.fumiama.copymanga.tools.api.CMApi +import top.fumiama.copymanga.tools.http.Comandy import top.fumiama.copymanga.tools.http.DownloadTools import top.fumiama.dmzj.copymanga.R import java.net.URLEncoder @@ -16,29 +18,37 @@ class Member(private val pref: SharedPreferences, private val getString: (Int) - val hasLogin: Boolean get() = pref.getString("token", "")?.isNotEmpty()?:false suspend fun login(username: String, pwd: String, salt: Int): LoginInfoStructure = withContext(Dispatchers.IO) { var err = "" - getLoginConnection(username, pwd, salt).apply { + if (Comandy.useComandy) getComandyLoginConnection(username, pwd, salt).let { capsule -> + try { + Comandy.instance?.request(Gson().toJson(capsule))?.let { result -> + Gson().fromJson(result, ComandyCapsule::class.java)!!.let { + if (it.code != 200) { + val l = LoginInfoStructure() + l.code = it.code + l.message = it.data?.let { d -> Base64.decode(d, Base64.DEFAULT).decodeToString() } + return@withContext l + } + Base64.decode(it.data, Base64.DEFAULT) + } + } + } catch (e: Exception) { + err = e.message.toString() + null + } + }?.let { + try { + saveInfo(it) + } catch (e: Exception) { + err = e.message.toString() + } + } + else getLoginConnection(username, pwd, salt).apply { inputStream.use { it?.readBytes()?.let { data -> - data.inputStream().use { dataIn -> - try { - Gson().fromJson( - dataIn.reader(), LoginInfoStructure::class.java - )?.let { info -> - if(info.code == 200) { - pref.edit()?.apply { - putString("token", info.results?.token) - putString("user_id", info.results?.user_id) - putString("username", info.results?.username) - putString("nickname", info.results?.nickname) - apply() - return@withContext info() - } - } - return@withContext info - }?: run { err = getString(R.string.login_parse_json_error) } - } catch (e: Exception) { - err = data.decodeToString() - } + try { + saveInfo(data) + } catch (e: Exception) { + err = e.message.toString() } }?: run { err = getString(R.string.login_get_conn_failed) } } @@ -101,6 +111,26 @@ class Member(private val pref: SharedPreferences, private val getString: (Int) - } } + private suspend fun saveInfo(data: ByteArray) = data.inputStream().use { dataIn -> + try { + Gson().fromJson(dataIn.reader(), LoginInfoStructure::class.java)?.let { l -> + if(l.code == 200) { + pref.edit()?.apply { + putString("token", l.results?.token) + putString("user_id", l.results?.user_id) + putString("username", l.results?.username) + putString("nickname", l.results?.nickname) + apply() + return@use info() + } + } + return@use l + }?: throw Exception(getString(R.string.login_parse_json_error)) + } catch (e: Exception) { + throw Exception(data.decodeToString(), e) + } + } + private fun getLoginConnection(username: String, pwd: String, salt: Int) = getString(R.string.loginApiUrl).format(CMApi.myHostApiUrl).let { CMApi.apiProxy?.wrap(it)?:it @@ -117,4 +147,20 @@ class Member(private val pref: SharedPreferences, private val getString: (Int) - } } } + + private fun getComandyLoginConnection(username: String, pwd: String, salt: Int) = + getString(R.string.loginApiUrl).format(CMApi.myHostApiUrl).let { + CMApi.apiProxy?.wrap(it)?:it + }.let { + DownloadTools.getComandyApiConnection(it, "POST").apply { + pref.apply { + headers["content-type"] = "application/x-www-form-urlencoded;charset=utf-8" + headers["platform"] = "3" + headers["accept"] = "application/json" + val r = if(!getBoolean("settings_cat_net_sw_use_foreign", false)) "1" else "0" + val pwdEncoded = Base64.encode("$pwd-$salt".toByteArray(), Base64.DEFAULT).decodeToString() + data = "username=${URLEncoder.encode(username, Charset.defaultCharset().name())}&password=$pwdEncoded&salt=$salt&platform=3&authorization=Token+&version=1.4.4&source=copyApp®ion=$r&webp=1" + } + } + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 38f9c3e..58aaa25 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -89,6 +89,9 @@ https://copymanga.azurewebsites.net/api/api?code=%1$s&url=%2$s settings_cat_net_sb_image_resolution + https://gitea.seku.su/api/v1/repos/fumiama/comandy/releases/tags/default + "https://gitea.seku.su/fumiama/comandy/releases/download/default/%1$s_libcomandy.so.gz" + 已完结 WIFI @@ -151,6 +154,8 @@ 打开后不再在开始阅读时提示 使用海外线路 不管使用什么线路, API访问均是海外, 只有图片CDN可能会变化(也可能不变), 请酌情选择使用 + 增强型数据访问 + 使用经过优化的请求方法访问服务器 请求API网址 一般无需更改,除非拷贝漫画官方更改网址,默认:&hosturl; 使用API代理(重启生效) @@ -175,6 +180,8 @@ 漫画下载 显示未下载漫画 打开后将在我的下载显示所有浏览过详情页的漫画,旧版下载永远全部显示 + 漫画下载并发限制 + 默认为16 用户名为空 密码为空 diff --git a/app/src/main/res/xml/pref_setting.xml b/app/src/main/res/xml/pref_setting.xml index 86bc984..ae89d32 100644 --- a/app/src/main/res/xml/pref_setting.xml +++ b/app/src/main/res/xml/pref_setting.xml @@ -44,6 +44,12 @@ + + diff --git a/build.gradle b/build.gradle index 5f5470d..e2e7e24 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { maven { url "https://jitpack.io" } } dependencies { - classpath 'com.android.tools.build:gradle:8.2.2' + classpath 'com.android.tools.build:gradle:8.3.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5563ca9..d6cc089 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip