From 9918a96355f38c3d57d4d28aa11a3665527a3c77 Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 15 Aug 2018 18:54:58 +0200 Subject: [PATCH 1/5] EstrenosGo: logos locales --- .../media/channels/fanart/estrenosgo.png | Bin 0 -> 41627 bytes .../media/channels/thumb/estrenosgo.png | Bin 0 -> 19810 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 plugin.video.alfa/resources/media/channels/fanart/estrenosgo.png create mode 100644 plugin.video.alfa/resources/media/channels/thumb/estrenosgo.png diff --git a/plugin.video.alfa/resources/media/channels/fanart/estrenosgo.png b/plugin.video.alfa/resources/media/channels/fanart/estrenosgo.png new file mode 100644 index 0000000000000000000000000000000000000000..35f8cca80c4a415f6fa11c345973033d31c69645 GIT binary patch literal 41627 zcmce7hhI|r|GzEkYFan5Of$Q;($cGD?n!29<;q;SFmsDS4%}elHq2EPS?-ZrBvV9D zpy5bOQBiOqucMlv87oCVOs;lVq+r4YImvM=ujoOQvtC?Txq>_v-xlro}s*@6|02*N*(r zO@3c|BjgAWI0FB>)N}vwSi+}n$9p%ocMC5^EdDtB$D>CF3K)}L=ORB>jzTMZU;7>g zjew1YI7x>5_JdAh1HUy4gVEAr(`Pd_KhxEA|A;5m8B6VSCcRaavc10ye*O5g>Sf`T z3i)=qi;v*d=99b1jY24wO~lH8E1H)td=p5Wzd&J`Cy50TIY}4i#k9Y{_FaTVSM3VD zZgeXM=cHcqCg6H&?%tOsrvi-R{UZU=G6?1B(o&5V!u_A_;zz+ok;qW@MCP`39ldvQ zD)aFD+X;Vpm>W3LX{u@YH2QRB+zDxjZ^Ercs#^2d{m0A_q-$~8KJJX>r%ngKf``Lh z5nE6DUAtu`CYEqcOzi$6F|jS7=)52%cI$xHF4@~+Vn*3wV#gsA52Y7kVnwv;SIwQ{ z#+L-Kd1tvW+7^M}lCQkdzqAt8F8p0hpOan$jUC7F1{d5Yj3jH#o1c)TH(cmvQLWT z)1NGIusw4hRT0la(K+(zR@(+%orKSS{>zJd`$Q{=))*XgMBFHA#uBBrO;9)^N2BdC z2lw9p`9gYalJL}5E?Ki$I!s5t+O?+IS@oY^*P6ANi*ma!|GS~T>GAR>P7JoUUp={P zS?r^covJ2gZDlnZU(ggb_9u}wee)vhQE(b#(g^|Ky3}3A10XP#AJZq0MT$E2FO?Jsue6jacp@E z=M;%)f{NWCCu-Jm1wgtgGb!4*9N0CuY|xs|2crm6TcZn!MHE8@$Ne>$CICXHQwq4c zcO0`Q?6Rz1x2v2RKYlE^QFi69 z!Rh}VH8=5lQNZ#SL9uoXL^=K)X@W*_@12=$Q>y)n6 zLSpd*x^c>2L%zZMA&yfw2nSTO=1YQ*BGJ3LxuM(IY7q!T^O1`Oc0cx&6D9=&SfV}B zlcRt8*PPlWBU|#UtgUB$Xjb#oj-|>gDN)$$M$r`+{nQmU4ZizBc( zhU`tLBl6rRDrA<&;3iNPbScZwgk=!w2g*}-s)%BVIbB1+gRM@F5p}V^o3zyk4h!hB z%2ERn5^zBcKoy?RK?_80Kp&9^ijQ|63DvC=Klt#n$VO^vYCJqWOXWWt+IwG2bZ7`W zOI$emhK5zQs*a-8vU}(Lkqv_pVrOsP`GA)2peI4U_L2B?fmzUt&`NV42p3uj-}4ZT z83|W-WC9tuS3y&)?c3Zb;v=B;`+v(6H*~-OYbdulEP?qclKKFHvk9+=MIGM^(^;U_ za&Mu+4<1?Pvdq5ow&fca(X{Fxy;c27v2FVYSMeN{;W+3wF%a_2n>W*^KX~fiIlOn< zZ<0w1`Oi}|+m_wBE+Zo&as&~--2OU-4(L7B_x=0%>|UrX!;W^~iSH;^{+7UgYx3Ip zL5HFNrZQZ+DZWL2-Yt}$-3kzd2_rirwfnzXsa@D#Rms#}0HUsd2M%w~;qkzJX0Ub! zD-!ic4VskAlDwbIGy%_UtwfP)?xM-ngTV`59!q+7c`e;Ob1~11} zWRBWViFFgrg7sDyKPG&lNj+jF$K^8xDd|t}y`$q&>&ANS+j3zkHXP%27m#2I#z7}F z=t-PbO;mgQBF6FST$(@)w(Z8_P(bCZ8)+R0eg1k(kN9&$lGW6V0F0q<6L59(_;EBS zdwr`dFeqpy*~x@RT384^xfeffb_l5cpHmLoeo}&-_c1HX)>2;CZuRSu4yR&WvW|d^ zER!9C6r67qC3!LC)myZ35no^q3Db{^%A3kGe^dvYXc^My3DQ0%*qzbPzqqiG!+e~a zowy?&4=4PzC2Mh_?D@+_mv^Y%dm1Rb7y(}CW77yovEQ7gK<$qrP;QXvpH9;WZe6S9 z8K6=M-zp>d4E^32)C3c|$}wxp`+=r#7F|8 z`R4s&3H(dnn%OL#pjM3nvK2Q(xlb(6dCQpY>wpI%37I~S@o++V1iAIi{^cI3Lqh?) zzpsc8w}5%ql~C9~&AD9m^%K}n z`cEbYzsr^0t(QY>9e?~_0t2Clyna$CnOQ#MG2s|61Twk@NL@i44`Vw~b%LK#%y;*g z%SYByaOlDx^==0SmJP7F7jJ8dxvw@;j5ENfks2oup-+P+)yCV}Day~^AD@JJQAXMF zUQM{YI^LGI(txW&n71x%OvE?QxE^E>HwsRXY$8kg@L>S1JjMJ<8+>;!$4o&yB&l&K zXgq;(JHd364YCCIXgcS;eS7op-cTL+wP7ETpT6rcqJVJGcF1Ix%KYie=Zt?|}^GByeoW1`KAH{Jg-{xld z__H0%o#n}vhSIFB0?5&o7MJ9~bPryqE=*>EC?6uI-Pi0WsEweXqFCkL3!Bwapw7?f zD6~vIxj@BJn7X`>(TmqgGkRewh+y)iZwcv4oDz0<#)|CZg<@EtE^r>{Jsn-(Z$$RP z2!PmdSGQ?+jyPw0-ik(a<3-)ULC;XTnw?+`c)IHztC0tctY>zz#kvV)DU( zfmVnc=cKnyh)!mOtGqml{O-&Dhy<3p`_lq5CFQsD^mOQ?0oEmAMIJubch`t*BQ#;o zV<)6$67sqHH@hV1e8N)x3fV^PI<;n?5J{GVVoCbV@qD8a6dO>DKR zSZd02_Zw9gV_;@NF?5c6Zmr+qh=1{f7I)&)xtb$Qg*U@+rzoF9Q&UXf~MvWTSY& zlX1b`N-CM}xvI4iGkIBq`s=G{0o&s~qpO^o7#3zLik716GvaZ}DqoaDS5uhVeDxH$ zqoT*Y?DJ0=V`VihJY^Jpt+ce%dk-@D*D$CWLhcJieX8?(G33A<1)Fyyi1JSDNstc@ zhO6zWJ6>0-ZOJ`;Xd|3N?MiUcrNP)Tat@1nOu1fh>ti7*BgFk zaFr##9Els$=*q(bKn7l2VawEFl6pS=3;R)GMOB`G^&N@ zoihlor7%T%M{TKIR{b~eVyjp0yn5f=eO)%S z2tz;Paoz-0lK=sdaiQ4j*jkID^% zM|-{E*CA@tYZ^;tkX}Zp^)l9)!Fdjgvk`k{wFNjKKZ{)q%1LIUJ=5RGZno_5#lX~$ zrRIoym?&%RBC|}k@WLD)$rt}tUYC7J(C^*{9&QfkeN(5OL{;5}vtcA`h{J`1JJEFd zHuah^)GsJ}TMmS@)p^;CTLYQuMmPl{;XZnj7@Ug}A4M5$qOM7I6h>V77z&>sam|MAv^>?}Z=W&RLKB=z+Y&mkf(?agY2MaL zIlhLINcn}9%-(W^$8iM|4ip2XR*#Lj>xv2rG>qmZ_r$xRkZ|nqzg6l&YNDU3D#BS6 z!Nb0L4qpFqG0e5;wgPQZ4-yy72b)yO-2n6p@b$=w(eDGF<*w_c=`~;YIT&cae>*p( zfB%WX+WJLwI=qW>BVAY%--;>+X^2!>N+=%hFPu!q(OxGg|_DQE9Jv z2@7&`yNqHA?ZV&wOH?z8a`Ch92fsW7Co^ehwrL_bM@&pG`K?9vxX7MODU-dS19y;! zFCU=Vb@R@cW)FvmvQ$sG(KZNXOf4I82_HBWY$&c+1Mf_FK__H&nH^kR?vrort7J1PN^8|5hNY?ezEIeU#)?y2zB%b?X*2ZJ z6Q0|~;xfYN&mN^nH}49hn?Po(L(5cHMH?N^y2{T}P$U&&lCNTtm^2VTBf6&O>#Q_7 zqvLJ#>Cx?z#+&np7JlRcis(CwvC*?mgh5B-W~8@_0uGMVHS|EeOI6sm{Co%7Vl!M6 z>g!wVx3~@3YIyjsU3~hapCEeVwe;H<``Q(|{IeCT()87?^a$|7bKRqH9tBdRq4@T{ zer({{qGTY`RZ+`@qDqS+V-R+BRBjfHP0t7MV?9Q-qg(o~S=MdbOHzBQ!MVMhig%{h86oQa|k6gs@)3iq8v|bCkrY5W9{%$jS3j zmOJ-GIyf0_prnE9`l}$p_bVTQ9BH4bfzl7{NZKtE@GM=KT|QBo(>{S$0U#IUPM5*K z=-Ve0cgj~s{!sk9DM5(zC}N^n_#V} zbxmb}oz4i{dsP89X4ckP*(#m3FpoQ@I9@LM#-?7AcrEEzlEJ<1@j0PvOTQvXIW2zqOy9LUX5i4zJ8fr51#ZM&fjl?4RE;bw-1E|Jb(0^lQA>mp-WzcBaa^p_xG6Y)l$wK4Es6v_Bq_p zFS4wwzEA=^`Ry%uXCwLjBgoDj>rqJf$M`4XuaZaB5_gd#COtp`Xj>NRZ$xU4bAd77 zrpnB>DgC5ZD?7!>V^d1{Z4Jvl(T#Z0&bcR!{6uB6uwT3gRA!m^M_jFsBe zu#u=;hXT@(G%gqg9%K+9T$+4r_~lrnJI37wdqH;B>3?L;ZeELpycMA((+Z93bWiMs zYta_u9r$QnXLqykc_7wOpU{`fCQId~fU}(RUzb~d@C~zuehYkTm>aPtJ}$P{eGXGm z`DkK2r9Mn42;^@YLwcnqI}jH5EaqIn1cWmg=o|u`za7ILo3l^FXYscp-A)CXk~Py8 zr;>R-jht$xC-Z5~_0AHmZK5JBPH^)&xrs8IYIf&}g0fj$t-?v8k@l#r!sYRoP1$Rv zPowFFwk3o5%$d=ukd+3huayms+pLRW`x70LPFR_jMcMYjVkpwDw};+N@rXM$cy^&M z#kKz=b(lMMS~f@I4M={uoYX(K4U>X>4!j1EM~w&}Qdd_Gc=7_(arnPD`3YNcSbb4! zNgTG)=Z@m^=aBAuN*R|_=U(l~3{na zzCHm2)UCEf{Rw5MJ@);mdZF(3@mbEI_;365K6Xx7ahD^j_vz2vCh_Y}__e;g@Wbs= zkzBMqXRekNV@Ov`P)zoB=I(q;CclAEn$(_Am()U!zIK$AOFn(|k6f8{w31(zWNK%j z(on~lLx(2wn+mZb(EK zb^eu>G1k(3C_kgj_x$5!R4b~i(hb`13@(2qY<7*AU)n1L5YLZEGW@u~K_pP&1yN;O zb?yTT53VP@M@#T>x}3bdhstD#RTuS& z8G@%Xp?B02lwyZ#+f9`*f#Y(F`9lH+Bf*afmzHR_)9z+-8R9fMXz2BqRG@+IrzgF1W@)LIi z#I%%h^q-*Kcs24oCGWCC*}YE}S%}*h$O}r+xpE$Uk`&5!=da%2<(hO1del^bd@7hz z9PfxfPdyIk8_PpVe_+gLFLzlrgw=q0a{xQF{iZCb>sB>ULC%_}P$r%^U9sG@W*=@G z_h|i$Oy9+RkNm`WW=eguFc(c|d8tL^DFP;IbwGl^uiivr6PcTO1*U)Bg!}zb!nPlw z)`kc;2GMqtC!tq&Jh97XgheeT_dV(>wEYZ1pC4`dalixX#NYJ*0JQXIAVAA-5P5-5Mn zl-h`H+!>J2yL*PZWOXV#@gQ^G`+t52mobvlDllloX!yDR_|* z7xO(&yp`PuP(MpJ@%dXq>L6DJ46U;sS-JaS%HDYUgMz%UR|*cy`1Au&>#X4Ku@or& zcXk6ZyESSJ0iK;U>+-0vps_K!MmV*)Ur~tx?W-x3S@v09<|C7{8Y9;lPi+f#4)rO< zH!|s0G4|s&6~N(jMyb(83n1ewfulND!d)L(-Rz$?Dp={tNl{kAXu~lNS6c|%;fjLq zO3FYLLF(UgPMV9o04{-%57t(7(OYf6CzT50TmIYYy7N^(;*q#SpRy8Cf%gI3^M(;DKFNz` ztrpOs$XT0JN?^=36|l_Y@FTGyvF65|rptN1Jo#gjU(wj;u)5;Z-Us&I_a|&5S*U34 z^WKyG)i^2(@x}Fkk@nAXJrBn9xBCbf0@&54&o&P08w<2T-n^n0QA^ARMW6f{{5hER zT1j6jy{pPaBOu@KnP>@B$}5E4)7UvSxkeJpzid8ZsVS|gQMZ>Dl-$_-vmPdJiKl+h zuCSPhG`hG9YFj{aJLF8EO?6|4o5VcGLa~f4f~io`ub?jHtviQN?XbP{_jPo-X(T>s z+iKk^_T)EaU5x}bKGxoEpJoIScw3r1JccbWqz$+MYrO}#LoQAQ;86s{u62D}YlZov zQEAnBcGRmVRZYq?%51; zvaAcF^uA-{ENuDaa2~AmHMinw7Y~8LtxYX8|!gR!2i7~Z_* z9AbrP@tZu`*<5%LH1T#Y5u(b#gCynqa-(kyWN2Ke$&KC0O2P@o+rHz@@FrOXf7GJ+YaMj{+@x(~(=w-n4%dJ|^-{hVmlT%gkcAM#h{1E1*ncaNyh}zp-UC!Ocflv> zIa63u9U!5$ntto&ycHRfc1qtgl>Kw!26lD)ZWrGqXIu#fk+#$AS}D&jiz5)=C3Twk z+slUbtt$zb$PO(Plf{n?{f21Q9KcrIsm+e$!JX{|ZMIGFo2!Lq2Du+|?l=1)(5}W1 zSk&Zzb$@igD-R|SH>trHjF+LUe*p(ix@kt5EAd2d~*3l0+ibY^Udqnc^lO z`JbnmF&(~Rt`5nRhqn=nYp39Lz}QtH z=63TM4)GXU4U_9wVO1_1B*?Alu5&$afJA z!fi!AUb_=wbJC}uzsPZ$W5Z&z8>1#OXEYSj9V_GVzxxM;k)*4UgXzXF!E9m|o85xl z;k)%j+{eD;sGnnag4Gv{A(|Z&7ZyyulNqB-N|GVa?V_a~yZ*DMx|$?`faaZ{W=txS z*-zW~{kk5I)bEcIgsuCP0)gc0okFFIM+MQ(vZePV+Cl6AmLCTKB*buIHnO%4th4k~!4FTYsV&eAgaAiUpcCCMWJ1kIxU z9(+@2+aaeA=2$A@R&{&4Ix}hZOu}?Z7v~LTvIdegrnpC zVaRe{{VdepPi)_nKG;B4NEtX?ePq$K=k)=m?WKe0L7`Fcoul7dSdI;<*sx$v>YIGV zH^<83M(Wo+0ZQEpf>en7NO1_jOb?X5uOlyNglP2qOgy8oE!LyC*>~ztP%Sco(gyP3lRXp(M?;av0`X5JJ!6A=r$93o z@Qit-70)4Ws~<0E0!@+RBVNqAidp;S@C%|VGRkQ+jOPSkuk>vYdghJ3Atj2%dtRQ` zHDSN+EirkXYh?5$mT!`}p?lCGe|y|#5gQA`ZlO`|=kYr*k z2nw}Bhq`wvIibDCWX8u0Zzv*kE}$DYyf_^q>U;-xZG`A9+N?{Gs$Xk<(|p|+8+c3K ztJMwgD;Dq5F{GDo9P8>99v-~$?iFvYQ1E;DN?fTKPk~Sj*!&7O`|n80{q)IgDF0o` ziq%Y(u8MAmdfuvda^GL)zqk3W%I>b?a=-stoq9<&dtdYLR+P1;tgo_!yGOV+GHWD) zSRi?81Wx`fE6)$3rzO3{OLFWincZou*?jH6Ry*O}czp1Xr?2;DhGd$NXV#NGu_dG% zJvw+is{f_SrR%Sp;zwYrO=l62u7I7D-xc#h3u2iW-a#HO4jfCr^+!I7#joqW-c;$c z6&gV8JlNNNxQf}Qs82VLwmkv+QSO*Nhk&J*7aUKm^Hyo+e@c%xjjAiQw$~M}#>#iw z2xphiQQOogz}f!yM+)k~1GI;VK2XCG|AMdyQ~D)7&4dzurrxDTUA2U4(FWF59O))8 z1xos}ku;KP6%#kt-7t~{LT?4}`ygR%->hUB!}-&xKBoOgEs);}NbmLwRkdxS)EqqV_Z?;PwXD>FGD7F3 zPoyu8lGcvZ+qcdxaAhtHi4cWz{UBbm-p46gf_LJ%3kP;DkE1<>eBnl^hj$+0OKRv} z1%u<;hA;|-;G^0X?E5qCp_K(3?kuqfiS)V^55+?n`+JaPb(0G&Ig_x|IxJ8AF~>a~ zXxCA%h~@oy3t#uyj_T7K4)~rW@v}`rh7z)}P@#inc?f=R@z&bLfjSMV%8J-|BSbGK zXDYVTzQCaLRxrngu-?miskG&bN)n5%}RlM)q8DuIg6+#@w*Y8fem$`oSdsaRv0^iNxU5TnbA zKc+5sqT5C!v@B^m=t^R1=uqJN{lW2P;BWrnkqKNFWj1>HmVF_-Zt(Yls}#?Ze;P9X z>O|+*zm;#{SLaP`HR|bx8{svOxdG?Y&de-7EyfG$+6r0^S5DH>0^C6y?v(SeopwQ# z^tii!WNmolcaPPIjrj0YAES#q`yqb?BjpzdNxnXOb~t7pdav3vWAHtDL*s4xPPs+Z z24@NnF9_K;JGd1|{K+0cIW2h6$iH=$Lgg$f+~uM8SoabRGffK{H~U9=I4!?2EiCzcQ|^mO zfw6?$DXe90SK;Dj+SIj8`jaO2iB#2sbS++xa4Fg8a6(p)^Dj5&TJM_+b5PzG5u}ds zAsNT?KG~OUx2gI@;!=5?mluj-NaV*Oh;PRdgXg=_*zor}NT8nZm~ z{d<~*SM%lnrVicpae_&cn4QT^rvOslU(*UU^!cq%jVeUQ{*!$QvoYd#wITMo0M8oF z{Jd3D%jH#EeNlZ|`lF)r?1(*eF^UCtw)-=_JeyszDODkoWx8bdOE%&3JdNA6BS!2e z{l9p-4g5BpHcpC3mr1+YcWcP^M%$^k3MJROJI^e8IbfF90pSCAG3p(l?i1&@6>hhW zY_&qZF@L;Hu^`5Ija2{qSWbPX?{eKg|4z4ZXM3mL+3SEfH}gY<5;~aBR=qz{D4RCv zAe~r>!F89!=aK8%SYt$9|GPFZnV)&#dIwrynS+9^uXQ6e;NUIO*jXsoi~!3Y+xRn9 zS$Ci5;F?i?WCWdcF}-o!Gm1&ZP$A;hux2tw4{QL%O6F2s`)4D_p2{L@rX`%M>4( zpGvz{S%3ZlQ84Qhea8^9%VVpf&g<@MB50f#0mFp_LFuA6Mi*7G{H*EH9H^H|FnZmO=f zdtZ^?-N+lYcE<_DeYi@8X71>zRUZ6$^J!3;S==L~rw!d`R$f%eh7K{K=LWjsk06|8 zjxUJCTx(-OieXcY~T&jh)oN+Qdar=`U(ht4-=fwB5V7DI{ z1qsE>@nl9QHu}sFBFp(5fF}J2K@C2ys+3-Sli%?Ye}%vybC?@6SYp#+7kpZUo#K#W z4{70Qiw#X`tVAH(!%yHG$-v?E(f8YT?ac?U zfnRcF-P1ENYdo5=))N>VeCW?xK+dO7;fNb^MQPhiKq=%K3VeiIp&(~V|LuQm!`?r0 z#>em%&?%~ofi7>4&@%TNGo*&veZ*L_+E(V@xa#E7Q2xu(=_)O9z(%j(n)+4{wWR>r zliy`80-Wkg2GJ8N`;prX)l2POr>h!rtnIa*w(nFlygq;bqjJlkL3pLEi@TndjP~G| z{tijrSfxF!K$C7@{P03WD{?|WHgJh|_x&7f&fD1_ua=*-#%n2D#&%@Uy9iA~U}tlS zmo@1as4O=qt&aAGVoPwV{S2P2stIfz!ghoH+;lRr-1!n&6xF-TIfI&dLyD`1E+Huf zMiUFX6IxjQ&DMs9KPMaepzK@Tm;mH4`%~Q}+!Za^ikQj|P-XaPi#G=GyHQ2%qMYCG zc~o`MN?cb^iqFY#7ql|vLF3@ZU5cR79_odr;|&aJ4BEc53zcU`-aZ-i=<6oy9M1%u z;+HcT6>eQQ3RyS-101wies_ZM^N|y8@{tOHxTWfr(+7@O#R1EPVqlxbc&Cv_Q5X@5 zW{{C3W2tmqGz%%OcGTIkwX&$bBu8Zg=>oo+dt>D3oQp&7&rzA`5UZLBCFi;iZcq@r zJ;gm*+tkKzYY?kH)5NFz}D49#CQ6$+}uMbi8 zuP1zc&^8raRK!w~>O*?O7c5s+Z&9sPmwR;1P(Sukm>Wm)stTSPS16NLK!T;U2B>L7 zd4YtHt@Swsvuw**CatzU=Fx?Ul>1OMLWxH6qPHw(1(eqoaQo;rZRb`H)o?&uo1gB&fN~D zn}$r=bW1hP0U^p;hEa@;E_OR=+rQ0W@NN34=~)o~e!oH1zDdm@|EzWxq`?u$kavxd z6i!xsG7r#|=E~5W-`S1G-snkB<9Lxi6qcXryarfTq%cSQ=P%M&j0$SPMzuj9QS){0Tw_3( z?Of!$f8C#$o~N967RSTIEI&Vhs!Pn-^){mQWFsVQW+SIt!f>J>b)xpm4VSfM#9zi% zg1AudpPLb{K9QN*V@@MiH;+F)hES5m!)1n;s-WRC*iZ3THpl01Q! zmHx6TDrM!|rr7BeZKz<-51p}$b^49u``M%K-EL->zQ-d?ExaD|(&VB=&8+>{(uJ;7 zz|uKlZX$4|CAV)zfIuNQWycj#pcK&{bN9X)8oard!0*hG$$QUrh|ry-CZ@x=gBPRJ zue=-P#aVSn{TQ@z90(lgYwjg2=(=1brvY?At%cz(_&Fdmg#pX&Fc+#-(K_9OS zO2L{kjm*KW$M4dy285G~BJ3+hhxmcKIQ(z~0xvD6ZClwvTJ=y*9Uiaok{Mk3=1NWe zh41}|ZJ5?F}HbQY&dUFdf0s;2L_aU8v-6!3ejMAg?I!{s`egewgHy>!5Du74Y zm!8>|Us%&)ye3O!Zy0m50j%WE_y~99TD1?iZh8)ElJ{Kd4E1j-O2U{6ohv!fINpwCs+|x5x_FSke%XLL3O-EJN;fto* zUvE!8YqGUF?=@MqRi?Y#ypeCj-&TP(9Seo7wS{6WDYmlgH~Iw6x?=Z_e1Fe+*x18Q>0)rfF%A*JDgMy*a)K-+8x z{c32!2Q-#jGE|OpCZuai7^Y@H71Kh04juKyM*M|qca)z9 zcfC$JQ>=l&rFEWt5GHq)9Hld8-z*EPs+uM6E?X8RVNVreT3l)X@Y?e1c?-d&vCWB} z*DL$8y5rt2o52%w*KN79GVhwae)ZO<$v8lRv6Xq-pWi2Tx1al!lsO6z=JSQ>7Nu zS%$wq0b6@_IJJ^K$Fg^#XdvH#x-V&8u>PmZ4bIy{Z|i~293s_Q6^1Wo8}U%l!?~S= zx3`UBO<3DV%tle7NooafpuGTega`r<6pvWZB){$eP*m`^ubk>Xue?+mgU#MErEM37 z$^!Cpya!jjit5#!swbY@C?$CSP0DS8l*r$A^mQxjFvsR3A6@pFkqI3>b`IhHHAkZ3 z_jr88zzDs@t~LFm6{QOj+lY-v)wu5 zK;%e9eVUj?)D9%7lm<-%61@&UL;9k12=_$b&1w3ROy5yMDV@-PmzCf!MQ?UPOv6!< zBV!oZ8&Z-QT(jPPRmx&=EPajZrw=Vq_F|N_zFh3c%M%@rCDuD&snPnKxHuI6*S$*T($ohMC(!W8aS-h4R=8|DWB56@q6xDvs23sHEcbtGl_w= zyl+TR#_7)uRAGQ=iiMJ)s0oIBvZ#EFviN-dpiUJr=lctd=%#no=k5MZU+y6%%sA}!Dncg{eBiPyJdJ{#-^#RyGFVS`|Cp(C+o{l%m`EVaj^?h^tx8| zDd(G>PWCQ#;M^AgtaoZdLyo7%t+ELFAp4VUFkYZ{^71n8n|EwTIMn4((oadAgOEX3 z_(sR8dP>dphOUoWsHVT3zHIzr_Rzo|IsX+AAp1YP7E7H17hV_0fdU?VP_zxuF?y!p zH5#*-<)w79yZk6v)?xTk5p+iN-S?10VjiZi#~{cvLboVyxpDqof7&%6W6wUp&Z`GI zi_b1Sl+3+73;@|_>K{n6NWYktIzGPZ!SZ+G@CGeQY-`BTZ)HB(Yvaf@i1-QR!N>aY z0Q#?UClvD~*-nLZA;>^&HEGh%bS*3W)r%j^6PF3+N1vD0H^+TnD1PPJl@q=K6}`Ne z;S=f_VWnbPvs=x`VZu86m$J|ETOCP=J=0>x54*7?my|%4KG{E;>f}am1q_5)DD?DSK@XAo0eMr@M2m?fh z5t|=`v$%U)868Vuq0eIy)4Oh_FM1F!_8HmTnXQ$2cVNEc-r$pz0RA+yUUny7UykF& z(Y3Lcp*=IMm+JJF_0`&=lgVuvlQ%WxYXSp63py(yv12PZ<#2m_z&DTE-Kdq*)zYfKsKgThOfdhRc%z*KVIq1vEs*i9xhFboD4L3v3O*A`&_#H z_sZbfPU|i-_TH`7$;79D$2BTnXkKrszW7%UF}=#Q<~$(2!M5(b2h`5|jPv=@5t2`~ z7SyFztvb`T^5adX4{b%q3leS_ZzvA1o7$$>8JWTUVK;(^dF0h?GKBG2xYn8jTR1Ux zS=Ej=bj`l{?{#vI>b&II=&Xr@aXE&u+0wB0z6k6P8*n&m@XaoawFa&{Ft`O50+g&>&$S(fo+of`De&rF4n%}%N^OxD;+S3v&Fj&@Vm+MTa- zkSb-w5lu!8ewpgNS=!?I>8@QOvT4DqgPNB+qk}1L$39-!cvNI)$8Nten)hYF|7l9q zZ2#}nX7%C1+pkW%ZvW$M!Z?H(Hc}b*sMr z=WhOnb(VeBnGS05t{Q~e3|vK*JK>`M99+Bh0xH#qOY+6qh5 zV0IzVO*nAKlYkY&VAsQ)#Cq`lrD)2%+<56%^h+ncxA3QsRaTfqDjeXc!Ug8WIdnLc zdIqT;q&^>=KTw|R_)<2|-ob8h&nn(}6<1m^7F00EgtWL)yrXX7G3CrU(^`ZL9lG-{ znm5XlAG=i59Z`DA(ZiTqVh>m=lE(eCGvY?u$?)r3r-qN>H*>KAqZLn2#o6jlMPH*# z@ukD_RfFSOO6EKq)j+bkp;qX7sS@Uup#j(DLM?410}w$J=bHT<1%;FwP@o~9$apFS zWwst`R-05`8dKP~JgK zzXg!)@pt#*w(-x`)t9=t*U=o=)gX5ljMiyPQkSWtpG9;PKRMn2T6dPO1>PLOJVK0MDQU0s15Z4$SkVc6BmxSbyJrK;| zjJ|zFI^nnad?vHL%}6dX%_o>sk3!utJ5%FjmocXZhPGQPCD zDO78?t6+^i*|Eaht*lDCwaYzG>XX0zc>B?x!<YvaUR4Nb69u`X)7waIlLmN z8B9s1gp@hHKza{cTPc|@NVJEv&4s1|lk+w5<8S>xn$9z-sjX|<95D^g2gMxxI zAs}5vLAsPsLOVz&5TpboG(|y?rXWQ+Mp{Urg%X;Ag7gxS&_a{|A%qYqp$ER4=e*ya zjQwYik+JvObFDS!ys!J{fk(RF;KIm~5(u(1IyUMD`V{$O&Jr$da|v5n`9;Zd;O2=0 z^=E%zJr?uzZWb75=B`;y4J!z{HWW)pgdS=lE7waO zBr0Y*rhOS$Y+IP$Oz1*R2mJIvDlLS#`1z}f+9vOegig7!_ZeSOv|QOF{UA}*CHjyQ z;+S&hT@%CV_Mt?@lR4le_tYq_Y5Xfo;Drv zFAwt2O`1=FiJD>g^br#Y`*D^7UXC>;x6?rYe?@Dxy-1k(owUJi8<^}bSFYf0E+`;|! z3f3gr!4>Sxg%HF=%_+ZKm&-m8z7N4crON70mFpNF(I^%Hq22a~ZyRJ=hIn$~qsVwM zXR=d3g=i(4ncnMf9=2GxiuariR|8rn)&9xysViDRsl`%Bi#wt7ZtpaLT|%tcK9A%@ z!$GtZZIptu1$MvI$@Y&`H#5UC1?a#$pNgOr8UN!9Y6i>vxh()nD9t7VXz+t`{h=s zy2Lo0Y;664aNZKorjwzx(`wH{uGAXEXs6l~|8|c%PY3W&-``X`lXw0h%;&QPO05FX z7l{girwuILQGM?vcwaaVw5ndRQzDWbtPB+5%hPM1Qw^*gx+O{1m!2c17VAf~J98>c z*DeBh9^E?s?s|!iR7~5FpB^s>>rk9ToU%rx4k8_tacEp%^(g)^P>Imj_x~kZR{f_YT0F=k;7Z&=(uIv3G zrKqT#*6gTl7w44xUZ~a3qpq63c`wqTA>6mTAWjlfyKIgo4wAap`&P>G8|3fDy;+9S zeL)(!y@Z;s3+d14gP+!^H@d}zm`ytvDlb6q$0rVR#eiFgiy2t2Lg$7lDs2VH9HKnm zWLWvxe%iYxnnx)&lzkGwco)dNC!d#(PadwxZd`<}1`3QnFip<|X62+hJDR(?+evK4 z%$wRdu65dD1D8ZrJ*G>41dS|h0|{7!PjN|lVA|VjL(z*}MQ=FYb~hKY!Zg1ye`O0EA6u z0C$K#jE)+{dx#T5Je~%MVCy=N>sE}rL)G_Z1TGLlM2(C=22mbw=AQ4GzIunG26`^{ zG$yMb7RN6i_QN@ZF0=oP#(KQZf;x?`;<4HNxfxgL@y|RPLHP5}^moGohZjP{&#pVx zXFt3tCiuIYeEPam#W3CLisNy;5!->qf@%K6OtGq+iSh?eDf|M@AvV*0+* z^v}L)vf^RS3kL_jU!0xss!j+)=muH~xV2PgtD(sMGF8^`2lHLQge|1?Db=6yCemf9 zAGyPA^Sb?Qs`I^)p1yUP7&HXsjXDeEph2KQqKlj}^<%%$V>3f6E+`HLuUev{(Jw%>Q z>DBLc4SDTT&brM$0%rf;PTI491ebXhu?Eh;SAPc3N6uSMJyODcf>@g2DGU`yto=C~ zvFm9)w^|5nx+1OS@Uf1ih{b1Qdue$8{3nt=;XN==^euqo%oZU}*skUj^AxJ!JQh|O5uzZ05jdYIO6Ef4#<7rv*QH=+f{`sVt z2`TiwGr*#>wUjgh;WXNsXkI~PiVnf4ejr|!jFpD79{y%=M^r+TcMaY=WB;%N%H^f- zd|mLgKTA$MJz{}RAp5zay`{?|mb3VqW0^gcX`uR%^1>^W$R{+EsF!f%?gamFhz~|o z$VAcF$2T`pwbP5eRMj_F#EltOogFxCE)E=gkm;PN6QT!)CrDqc|4Ed;<)BsEUZ+90 zDGv_Z%z~u@oh)%17`){R_-keMmTkE~f>BS($BR}7UL@iB zLRJLDX3Xn9$;G`koJnYq|AWcD9ytvDK62E&&~=jVsIxaW`O`QPAfaGv!{c$(y);9U z!x&UqPg$3;Bnceqa3<|9*DGUV4^L!8p*DgNN0-KhSa7JY z-}TN3=`$B^RKQPlbK-eE4N1;NOTPN4053}H&&~dHd9WcoXnhgo`fiiZIc|IL1&;Od z`GmLfo4aT7Kl1KPtqJ&ay(RJ;T=?xjGhygIiBefwx{`-3*<(@u1iN61SgqsNQxwl{ z>%m<$2Ea2Dsq3N6&V;t@&jnd>;w{9HPlA9(TK2r^XSN7lG}k1UDLnTMF3nUgn~2R+ zAF#K6pM!Stv)TGIK=KV$rSJ46Rf4RyN7RyxnTbsR4fpbRuna6Eg{3~KIKYYOjB_bl zakQydAw|jNOhkw3Ah7}X55Y%Sv$J2O11OV#J1Qkcf(H+}@?rNhJVK0;Zgh*7!$H99 zzP6FkefxBgCXi2`&+YmzABF>fMC*&n!V`_OLdj4{MP&Ul;pdjMAEnhKHn%h#3+R`V zrGLO^e=*}MVGtk;xR+etJxH^zxbK(%5;Aw{s$Kzjc1+JkQotN`K z>ukJp<<3t&zQ~1VAxCW%uTH8?mFwHtMb6@I%R0a(#lu3jk|e+>OV>iHe+rYmM;Nik zL`@D^nAjkdM3tldqN*eSMDfNX9g549cQ}_4lh>uzEjzL@=VK>=d8Xt%zie+3d=TcZ zCj_2$+DV`|HACg5OU?VfnTyEhQ@WGBx8G}@nN;IG@h7A!N>WGa4X?C`d=WNKf|GU2 z*0sf^ge5nM;Z^UZEd6gx3T1`omtH+F!;0Mdl$+l=G^Eqo<>PTXvP1)8R4NtRwLM{; zIvrX0StmT|I^mxmUfX>M!j!O|LKVcYq*u84ttO0i5NQ{>%HNhHG=&3SFCpzFpyekQ z7njgCgdL?;!s<)F>1*6*15Vw+N9C`n55tO=TLq*%t#ZdP6F<^Kb`r_3KbK>9jP+H5$fZxct?w`>T6gG8uO~`2M*vCyb2Ok!;-dvHs{i`RhVQQO>nTe&n_%WV#`_ zRFIgf@8$6|fqDOR@o-1ZlDTA@AA6GmRuv*nyo0yKe>>%8DrO zQX*Q1Pr2nx)(2SVf{C%ais-lQo!Vxe$yamS)eYTbDX4nxkf}p-X>Fx*IA zoH2Errq;GSOc^QIA1`3Ui9m*+8lhkhmY5$!5zeEL7(qc)J6PJ5FJvu(>_EiD#cU$c z8pu5#bFp(667c4w;yHo5gTXeWLzHoGeClexdBE9@51}sB`!nw(&x*Z2*%2~V zK_RZ)a?J&*|*HTh&Mi5cua`zQ;`@0T{k2WD-SF1v5utxZI=7Yr?yJs^Y|x zluSQmko#*c#_QLpkbqRD6~^j@0Rd!U-zBBo*8K3l@jA{T@DnZ0J|4=#b*c@AH20yA z^jq)j?%U!PEBGV zB=pb&3jcW~23a%U5KU|6)C|D+ots?1Z5U`k{}&wJrh2_~+uBDBJ7qg&#@kc;j!+Hw z({iEdeB1SzXC)HNHF*H9lC`TdexVirm>d~!>>BmhBZMeBz5kMSDhi>ovV*1&hfb}< zZZ$M98Q)~{cE?cdR;i}9C1noP2-6>OzoM>u#ho#w5&I1iyB<bVonh({wNMSuCP#mGN99Bq>kV|rvMrZ<`+FEgpL)rpBP8=mWjsJ_5;GhT z)#M{Lp|?&+&&>A@2{aWi#|{L(7zhpr1A--ua&h7~{v2jgvadXU}s_lWQ0jQuT zWoD)Hj!p$RNJ~SbVlZ+!28JeaZL9(H=qq7dMq?A(dsXHlj~6!!TfGgE2W?!Rcl zbVKQjyuuIqakzi0a39PsufAcmxYo@}=@h^60(6_o2_c{^Kh zW)LyhcZsBksh_hAF$&N7_e4zo(=$~U^Q0o#hv1J^{q#dE(pEM%qMHD2m)AShS}@BY zBZL=3P=7jVf4Ac(XP)0$T-yO(@8F-h>-Ev=_50+O4YMQhzrIDb%!9`ty1rO;y})cx zuOl(<;$M2gQ0?C@ms%u5RUAxF8ykG?B;R06sYKF?n>}nyNI})p+kv_cuErJbZf+~7 z{xV=01(CIDma(~EoHCn7?yP}6I^cH7fW7Dh0y+>KKDjG3`PV#0u1VEdHqk@(!!;0HJt{j%s_PhBO~ay4C5Hi%<+=9it4YcKkoXiLDJe~5^6AJBGnQ5B`JTvYqpjAMz;n;rDt~31| za_}P>5_s?s=r-)y1BFvyp9>E-m`Id$-aMbn&GE{X4Ce^rejO!=JbXUCK$v;u2N=4k zWn=IG^YTfJjkbbH1616(e#JBVmMQKX#P!aNf~XFl>XR_<;e>iHm1N#*vN`64nuY;e zJd5q>3mRXd!drbY;2(|ozBB5ll+az3H1?&~^6oAT(!=?U_GGYJU_@1mvkEk7Dj=~g zni}j%UJH88ZLl*27#8J>uZ!(IWmp{jgbn$fAy*r!(|K7-mBDy(@VRjCN=N_K6 zi=Bh1iM+ma0-va;&iPt!>vRsEy6+ew(5N{DMDnXJR7R}gc3vGMtZJYQeU%)wmgH^> zU5RtU`g-N`d-`VWM`djbU1%XT>TBaCD3wAFvBEucdU;qoe}xqfx9T`= zHm~hYbcq~XxHjQ*`Ax!d*TRp|HbfxR_J< z`MIeCKQ@-dC1-MP;zDm`2|P>~MdRaU#N3TJO|vkJ-J=B&c=Lz7bRf`49rd8-94j>V zN-N9gexWR;%`T)-_{|r+)D=yjX|69?-Yc>B>d?NZ#($0SUxDq|rJS+nP}n1ZXTv+7 z?yHsCN;M}jlgui}i;I~11W<~!=(FefrD;a3+CdI0R-~K16zayk{zfkZwP)u4b`MT8 zy-e5(*SHzLla^ER3R=qc2-P%wlZ^zS=iT+Mx%BWXIy$Y`*Ne zJ}kv6GJxS3+2+?+Z*6`Nat)>fV>idmSt?##T!J*L*ptPR;FJFp$q7N(lz{$D5j$gIy z(ImR5RHCwWz%vQDp}GTGZal6YvmSiZZ+)AK(foHN%i7nZ-!C@$D4=w8!f5Rd7`!q{ z`S9Vx-8~U*5R}`FY}i9ax6pY#_7%+lY2osPFlhtno}UFRUskDu-VqF9L!d%t?+<6% zS{QS;WcOpiWq;Fab$YG9-4so4??)A8+7<0vwto*nOFhiU5wDB^A4`dzwb$*zWg!8k zQB_083ug|S_>m3&+a`z%*Tf)z1c?d{DYN=Jw|p^n0+Id)4+|NkU>pR8V3bTmqsbue z{ZBpzo7u8+8=H9rCh5YCn=5Z1PNPsuLbCL|P#2i$FI#Z!=eL!jW8Yss96Qr6rfURZQIPCO>Q>(%yP(y3(7PU1FifwBI*QRg}LU|+NTuy_t& zAgMlnt;@q!F*|Laog)))Vj<2bzT}XQb5r!^U-F`hA;`bH$oGr`x@JNa_)%u#&V=$0 zsozS}yA*jtxwTP9O0N9%E^X*^QVqrY(fH<6k$cOgiPr*Y@+?ZBsyiTiFHRLDhrGy>34(%=pbKDbkz1U=b!mGFg;A?;W1y?V2c@ zP@}%~$5~aJg18#I2|!C*-MO0Ix(s3NW{7{dl^jeST*+A`5X86MbiX&Nb8T84bVv1^ z609A|ewxcRx}drj#B-0biM8zm@Z1YqC7k9tl>h~p=G%BbZI(Eai1@2?gGnITL#$dI zY=*(6JaRoZJvF!QtXA-$G}jy6Nk|0z66A1$(3f#3$ua1$lh%8w?#x+{ZY90^#L*L0 zY5^spzG`h3|3o^cTIEh7rqBlE0u$k>iJqgj4(7Jyw@&MBOFRNf&yo7t`jLPA3yc2s z4*W)$>2X%_eA$>4x2#HSJt%qi`3!s+1Qo4F_`z^&bac;2*&9oE6ge}NksLXpYL2(x z9A(#OLA4^ifzE1{qi{j}TIY9$E-{slM6G98$t4j-_ z-Hf`Ff32%0bRUy(*@abefx22AdH4PF`m$}ovgfbhCjBG3_&i1?WmGk_o)H)Mnrfy` z87_s^5}HDffm*zs+E&)BW)w+gHtY}Jif#fAwb0TK{gt%0*q*&U_9Hd1D&X17GPR|t z7YCLc3g5I@|DhB{jt;RZ1<`JSB!>7_&;@8jjZ`46NH5%^vk`!S*Fb~iHxfVOc7Rh6Wz=FUJmPw^Vm; z)aY^1WqA#Gon*#xU*^HRCZ~gBH>)Y_zq&U)Ya?BiBgu~0Q_*l!%0ZWO0nC)0Amz?0 zAls8Jx}g)~wA0QCF)kS7y$q+u6M6dP0<-0hPS|+glH!X0=@mjrdY zwHAly?8$C^>Qsc~E`$H4I_pne_~i|MFW0o@SFMU%6Rqf@6|*oJRQ|L^9g;ulyU9^V zHg7O>H2VucONqsxH|EYu=g&*G`g%b*Rwn)w(oo;qnrRn3xmor3VC()nHXHnS5%`|j z;?Ul$J-+P8CprRs58b#?%YvVIPZ0v0;wHAcAn<{?d*Y1E_*lN$2jMx z5b)~dYcBU7l);R<{`BAaiQ{ep3Gg}}c|Fg8V z+3%_546$%MC4XEE_--Q`Jqd+%sT^H96^|b56c!q^>Q1>0<)NjMVz@>A1ei}9BB#EwxL8l+w8mlo&4x3^wxYRZlEiGIH{L5% zC1`UQIyXJhsm00j=RQPI0ZFuvwxxrH|JLeSORs?$snYSAj#lY{1*KMV@NhY~j2!Zt zpvD0x{j(ps_0RhO?N!nQXD74^?=YE@TsIk&5?jYv3mMCSn#hPHDAWpZRnfbhCtY-N z$WXP3l(N59`#hs8C(pLs-~OOzP%^Ih{qDD_k=L+1L{?Z)Lj1ft42btUpX82qBT8m^&|K-C~Ve%+3*{eT)xXKp5-g9COk4}+eLwP zT6FyOo3RJ^#zCSuLbY7fs?r3MMRweDXUM(*;`W76QwN0?Q7b}voEJ%pf*wF^s5RWi z`G#f1EiOfG*h_x%pFlOg#_dW|6v16@l?h&-srE%pYj)+ADx7dqI?$^*c9pySy)gNJ z&9L!!KMJa)#4!Pbi691#UXsoXU~qKUvA)F=L@V%${MPWQvT$}q1dSF*b}VHaoIp}*?lJ7w$GV+v7}CQ5>nXUkx- zS9Hf>cK$(4fj`R`O#Tt)uMtPzUJ>|3uCdsgt z=o)nhEl>?LuPHm5q&bP4R#N%s`K1SL#x2_C;C;ATFRd{?-5boEuT5XLxZtx%{95+6 zPSpPSfnlGi;0;TnKyzxJKoKF6_#TrRLlX&I8VD%-$;h#nhLfe~6f#Ki>x9RR88?GD zJZ)yM5H@u6KSgttZedjEyEvjFzic8&G6C{BN43R8-_x`{-Y>XjY5I>O?jJozMctgG zzQw6pmQaO{vL}^Skr8~|q!p62bZ&9E!nZR@#d(*%DW36{P5so4u4SyL-J#If4O#Rvw7hlz%E&WOR&A6y-USv{JYlygNXs&#E zBxk~MdldV=#j)P}(XKlc|A5m(iPl*Y4B^CW$pY=|OrWIJ6ZD+hjDdiWHz? z)UOC?WRA8cvq0WPmqS?jfW9C2bixPq*;8l75_RrLAk3>aJ0@5K1aS&A+`DtNXS#i; z$L}=xiW05akhi13Jghn(EOV$2b&0KMRw1v6q!t`#sYTl47OFLxbst-hJnvQ4M%fSF z-Ld>!Znhr&)=0l#bbK(PR${Cl;bn3h4>|hJ#lvFq+tsLF{YrYBpjg_aTG;yQ)!2x? z-4dM#FZ(sl9h(d3|EVI(ivpHaVk`7iXcZx|M+vf|40K5~`sHvU+< z_lN3(MBm7M@v!T6cz$z)Q!xW=aC^`vFkf2ARN6+mr^cEqbpNkEQz+h|-Wg)bF`}UA zdE{usihDdNF|B#2q4NOuodHK?L zyk1JB&Kj;h6URrFl!cv74M0DcU&~;J4z2|s(9d(W&GC>kza2VO)^fv&AcB)#Hb|4q z?-So$-BH@17CU*KQtIl?Qar8|uhNQ?JPezyo6@TToNPpQ^Ty70$!j`U-1wv6qzW!b zRJ3UMEYY@x2Wdqkv1P7fzCA9;#46Lt0>$A=6 z8BR2EEhVy~Fs`Qh|iGiMNIBX^5z;Z@wJdEi> z=7cr{WUjRy#z6Dxe0(^=F_*+(x6wC4WUjxu`j%(Es=m2MXuV!?Ic|8mZeY7{aGDYn zt%sRF&9F(|^CBkG3X-@lXmv}envlKcAb0+ro-<8fUpa8$MIT6ZI+{NYk=MfQ!f=6< zNy*9o(L=v_ynYog(l=_=zCNm#bK?u*7w5;{D^7L|mg%0VdYt@bEmvXm z<%*tu!(;%bkrdaIH~RcLsUOyr-zt`O3mx#twR4?I-mVmJ*c+(f-)Zq|nT66IN{-7O z=~%A#b9c@T@5xy7~@-dYq-bj-gC>+7R^y_LZRr+>7aShX2G)^%~ zf#THfoH<$HuC)u+L8m$IDwPV~0e)Mw!s6y)%#S|R%s2fh5;w5bgF>99LXW4PVB*@2 zPqF`S>+$7goY0owgD&@utLNXB$h?`PoXx8Q7+*2kWifeaLu#D~gW83(C`PIKV*2-5 zN-+O>_B6%r+OMk5Qk3VZNKIEaqp_0K&^#di<+DhqSX1$a9=pniS<2A2Mjull|> ze6c-D#zq-xqS7 zr3DE$?Z00F4ejS8DOR)Nge%hLkuyV`>9POKepKF!#{D!^MG(S4RU3mJxo zCeV%uQteR}urhxff)9QVb6WI=+;mS&m06Vmnh+!UEQ3Z4wy`T{2BP>?`2wxfCSiwN zdWuP+!y+tjhvm>u3}dC}Uwhn=KG1zHezwZWKx!_DU2y~Y<$>fDq*|4Wjt>+|%jU70 zabouKjV6vK^>E(OOE@zXEz`P4bSe$K3ri>S49!CS!7W8wTV^8v4D$Kx&&Dcp-e720 zkTVVH2c}RLzq-9&)DFSQaWlFaXO*8n;O=bPLpn7{-AxL;xyAVii-bD)+i@v&E^LZe zFGHqOUx};eb!D2;jm;FbHpf#IyD2-WAnnk;PcxGf^$LKaID+=wY*@~IS(V`#cp zY$WAmaHP(|-7A3hpZ|F)UF6N?jIbC#yY>@&WD-`^DbH=&XF;V*`nLgam*s*|l-cmk ze!TpCe)7S}fefK1kC3Ldj+hG3{d(%CnNf+FN)exXlDTWt{ZlDA@Ivfu-Gw9M|H+Ax zoWt*JgU6zd9PsF znYj=X<-rdhX2UG7h>7+XO#^(B2k5@^U;l2*4qZRO6Kv84GDF)Xm4pNxFL%X#5xE|$ ztgvA5TgtO4l3``kD5?wRY%K(#7HdaCkXV#4913SyUFrP&&SaUg4WQG+`{|xySyngx z+%RZmg&uKT?uV*BZ#?KL+h^J&fKV#V^5!SK{q&FKPB#3F_!`*J_FefO)lnm>q49@l zZ|~mjJHc0-?cx?2y&NFqYIQP#v(#a~Zs{yTkGH!a^7uN@qoy2ue_&~NmYNuZZi|}k z^{pHpIFa+)Y!~E}XLbvC(o3m>>t(bA639kBPgl<#a`RIX?a_j{Jk;51Jjoe1$H3nW zPb40@;<7ONsr%e!jl2+NE3<2z&hHw(Scd#13!9b@)LV~LimLwWu~*)TnP=j-V=4R~ zYU2i6e0L;kSx0HYygXgtc4=uwsV=Igo3_4$;WXrLcN`RM^PAm74}ncSL3v<|+w-1y zijnbVs1L_CYpio|+ci6KHNkPvg&6R#Uy#2-+*0J}>Z=2gJrncJlS#$6xj z8y9y%Y{_Sw1x+=Jr1smy2|spqG8&>rsNiGBXF<9)T#mrtwz~NrH!5Vjs9mpcTVCsG zH1eXe>iu&!PsH3kw_b1Tv)3Og?SPgBHICHnh{dMH;4^FYM(Fvw)y!m4caE@k>l&zE zGZDL*IO`{hFCHYzPoB8ID&D$$U7)m1x-DE%Oi$ugma~`jiTS|n?Chxiy~#Z4LF>N} za`_9wA&iHw|ALpIalA&Hzu#5FV5nj=~b2joQ?=R%H?d#fZa#Vi`J(Cj6wSB07UL zJo?T4qQLURY-&os^u4r(S<6Q){cXrxosu8?X5P&9lj&wU70-2On~IL7Q8ifZZ)YD>b&SM_JC9 z8P&hF^0teg>Z;mIvVdXv2>s-8n74WC(`)FRgc6?JR?OAYwN$b{KDJ={(RP{y%5Jj= z=^f?d4SOgR%^D2uIM~q%Wm?@fpt7PWGTPSf?W(7s&klOA8E3gD%g_JwpPPwHNp88@ z0^H718cFDKU+pis5fTFQIf6=g{X~soi?DkH{)IBG#K7|7p^w!E{i!^+t?ZiciS@y%DC%}F1(fBxK7_mPj9e~cHK32 z*5XzT{jvIxVOt0+vF1TNJDH-TvI#n)MBEI*=!WKy9|(mSfA(u~%p-G>(Zf7cXwrNd zt@_Gy_12I0^0^q|V)r3cQR7k($uF1|q+$)xhw{(_-gr;d6fjdWdL}I=Iy^)hlh*qv zU8JAsVG@)q?S@aUv?G1o6`EOgCQhUbQ;l{ZPoe^Ic+)251oZ)}j3@egE^byBq!)WH zz+hyx+taPWogmjbdY(Hr?Oe-x_3ki258enV<|2lFwu&gXvMM`6MMsD{_1AeH!(05U ztg*2DENl5IB<`(1ZNk*x`gXrh%rMvB;XKoyYc15`L^6?qik8K#x@SjcR7`Nrw%IgM z0#jBS=ReZ8#(`WPL5uP)+>2rQEv>z8;_p?%4b&vIQv*BG{BxXBrk~|auiLa$I1~** zb)2}B3Vg!BR+syl+EJoP#qk?Qt9@>x==q*Hn7A*X;?G=*Ag;BS4;BGJN#+dFV<}sa zdE4na@AGaWT)x0iXg{4lqS?>MN$T5E=Q*^44N5KO)>%#)+3G(k{+6DK%nKv4Q&9gQ z{7a*qHZsJD>{E?Y=y9_`L&GC*jrVZF_insTc95nwLZz=v<~cPTzs-5=NxxMCDdhSM z&iCjA&E<-|`tY(C@~s)<|%lToi*2uP0`UONScEn74| z3UdG+45keR{7tkC`K!VHiJ+DgLU~bT+3qhN_0vY;&g*M8_Yzt|C_HmBKZ#`s?Cqbw~uM-fKfJ%F)GZEW={Zfjnc~Z7}h73^1Bv5@1$4v66GrG(sRlCUrHZ(GB@X5N8A17SQ~9e%@D{h z>5|hrGi-bM!ame57e1hObvwdoE(T*1RU7AgQwF}ck_OTWx?hwn@alh)Y+aM57Wqub z;q}UQ{+7Wz#NZ#_uP8FUTVFDc(HafX337!?i;l^}4p$#S-5b3eMwP&A(dB!Bq?P#j zAV_5xL2f%O4K;14$E!;)Ey#41M%eaMoPUjpk8UdeUtLDwec6sTT=mGP8dWe}9r$;^`Q4$8IuxlRm82qw?*4M9L0y9 zmkb7B3V(=JKuD!cX3MZ=bm~uGd{n1gWb)@fvZC4>yx;L8T^J&$?WNhp{o=0AHkZdx zsnrz4pV>RvSl043h=nsWi)V%SxyN?eVXDlB>#940&t*1=ziKw+V!s&9ag>O6_j!~*A@I7>5Gx^X=n@30+-*FUS3kAzmRG~Gc4sN!j#^tI z8eCj5@xyMeQ*SODlhj>xAoU2vAd9;~eoPtFuEUN$b?6*z8QaqO#0ay7f0&au64Oh(hq8A-cJ|A#JUK{Cs-t5XphRdNJ7C28ZXheBR#H{55kgL3 z`s0lDGfp0*5x*=5o+3&sSlCv8*;}{5>^rGntB1Y5151-Yj;?Po!!xhWs_GoS4#=<> zy=h}LR%Jp^2mf!?y7%VliQ39ag`prAKw<$Km%Y2Wp6%A6{td^7b_do$D+(EPOegRu zh~9G|IIDZYmCXR8%!|~OtWP9SyM>0A-irCCh9qR$9R!?pcHEhT@ac9WS4EFxAXUq3>KmqpH zFOSyxH}_$VrgIT_{X(%mvNq?q|7xNm)$-OtNTmO$Pmg~Am*8CwX!GYf2E?K|=YJal zgPiw3gOPvq4TZUl1gna!ymt3QO=|aAWPjuwV>PJp;WMFvCOut#l4xo-4KxTC@qLu^ zL!jF*4et71?7ZiKC{|Ykr}&<~7uiN0LQ`~JX=*dDJA7o^(f7+$>`8hk+-1D5pOf9= zW-rm$$Mbe3SwTBOZ`i^Jw-(aL1NE-ETFG68PBrCkkPl>Jb++Cjs{;NA0*=HFROqCV zMw?hb>IedvEgFHs@+N($in$~nVa079&;V-e4b|@25^~P`BYblRLI9b6ChHo@W4oLiUmHU;vc&QuD-Q&Gm_}?-SpJW6852 zr-IQ|zf>3Yk%Gp^dKHJZ-@SSp&><#D@Y#mCIGuFG?LhU8HrJC$b?#Ve%AZw3QPNcx zPCDW$`Dau~TP8az3gPU`xc?81@#pC`QUqEH+Y}ITzgOScVhqu9xiq2VSE-5KE#g6~K3!&B`*aB{N-y5O*>b;cV?g}1^&HK~D`cB_VN0;yn9E}VsrVjy z(P-f`N0sMl76nvdNS$i4|97agI(GyYOt<*l!6>};b1u#_M-;LisJ1&H)38Wmt6m63 zk*Y%BR0Xb$T+ot;C@sl4(Ov7n@Qns1c@Rc(f4|b0+NJDuHB`-&=$H31sy^~Y#aU;g z5&VlJ8olweo4b3`mk6g!v8V?w@bkxCK+bu+x>u5Axsp%njw^Zq7BEDy4<#)It>M-Q zZ@!2ny_CeXfquL??$)kwW>?ddtApVc%(T)D*H#qOnecZ_j0t=MR~64#u~*FcAlzjp zqhmd?Ftz}mx$=LOO178dxW1*sGcz;pZ?4LFW(^On5A;t*S-+WB4}u*%Co*1tUs!2< zw>fEnIO?v{`CO?~+TY_cS$2I1F#W1EbVulwjL@?Ue6DK^#r_p!H!yjdu-+SQBcggD zw>KR0M=RF4nyQA<-bPBVB?JUr2^D^J?g+vGG&-u4?UAlTRjF9Jz|lqpoOiH1 zK%3Plv7Ri^)IdDFf&4L4!@IzSJ* zCWsB(`|JmEChzQ5$c4z;o017nF#4<6Ax( zF4V6I4z^a?>uTE)#os?JH_#J2YuQARVnYeYk(s$bkXEFrMDYjG_wE0j)+?_i>FIKP zEYzd-_e!S9FoH0L4+7yrHil?XV+OIcY*hXR%U<8kacCirdTbgQp5iIBOL z1!GbxietcI(@G+0&Y3kTGjq+v^lahi;*#~V7d~1DHLNIxlE#(PoJ&`I&@|dED177S zQ7q{5$;TIO9=~6B^#qp9^nYTDu23@{`zc)U#M(zW_;*@?ADT|e*2}e?P${m`aFVje z7~Mf#eR3x@2Eok&uHFXumfw6(NxEP48b7a0LQ;KY4mniZ%5@$c-4MmZ2kHNBDDIyQ zuC|Bk^FC0ZgYm(_9{E?xm%@C8{CtDSExmb*up7GdN!HkwT*nk=zR3oQt`Id7L-hJ( z{|zwPXRGFu$8iv%``-128BoG*@Mf0%XnT;n^l9Cr_s_j~F-#Gednf7N zWaqJ2i}XACrf&T4_0zij(Ths`&(OU9ZX8T(qgcSZO%rEok+WgkB;{lg>0%eS(I1ra zPWiA&^S*VtgTJ;ctz27`yAjI%-}C;8TV&(@^~#*@6C(Ivd(TMhw2V`JuA$v(Qk*bk z|D&V5b9qb9@ot>W(%S~sW>y9Y36BADXgRIp$n6j@N;H?wDn+49WG=az zYoZKs6p}{N(xGy{ZJ5k*-E>2jGa5!h6vJ9>bDQhF@8z8Dzi_^f$9JD!-tWEl`FtLq z&+GHLy-nlLmeDX;&f85i|59Uh2c%Y;!bpLA>{3CiieWel zvDnO7EG}^;O%TH~tC_|Cuy0!OOy>!`3EWhQGW6*x_NE%7k3xLsJ@cvVf`zH6B&Nd0 za+70?5JsYunLEx0S51T?bDA1G<{j15?cOXN23|*?VdNo_fo`$ZlgoYkV%ezapu3XH zhO5hnpq91uS>JRmX^>?DGz#Ue@);j@_k5minTh{5s{a?tWjHM*jYhLxKWjH2CnVCLU*D2tl-~gE5=_u~ad2d|`e`_=PXjFFJ@=NYU z2avmib!eNL?^7lusoYCJlYe}FVpfN0A2BB>-`Xl2R!aMLY0Sji=hthFMIJlOhmCuY zYbgqlT4MD6wDwn@ae2gaw^H9vU8j%5*4sQBw?X4> zL}ef!v+SewMtF@eRx0GC<(Qw6_t=cy2=s?{6|r?g$4sF9)lco7E2~yAksiDvOCd{{ zUBpgr54{kT1J~XxA(`6rX>NFUPARsu^ajT`v6cS80areYXYB>0EAZGFZfQlkl4Po8 ziw5t06{FF6|H1mdDPQYl@eCmPQ9WC~b`;wHAEA4uVExLuFMcz_Le3A78;!=($l6Wn zA-x$3__Vs82Hz>{o|PJFo5&`dYYydE(piHO`n&o^5jEYJ@+C6WHJLCgXx7A%0h&)6 zg&}-GGz=&2)TdY*u2iwSiole??hrM8q6wb8RBLUatw$E# z(%LM+CZYYp=6l?X&bWNAr=T$&KF6p|D{;H_zibek+3{K(O6;Ltpr&DHBLQ@?3Bjj% z0I7TIh-awR($nH>BU?sZ=9g3v`v>O7-1hQ&1`1{X(Uo@vd$bR}e5U?n{1coKq!f_q z!~_j2)`1&Tlj^!;j!wi{PC_4@QtQ(T;6h4}4A#hTMQQXFvoY@zpJVODRwtL-c_Exj zH3BNq5&3=|5%!X1Fuk>59|fd;rD&&WTL*Gen0Pb07`@!^Sq{FY zv!V9{+lNAOdGUO;xlKX63RVt2B38@iD(bnlMR2lVb~$a_X;%{{)#)ME<)u;;VqMdv zfKim*C8v6)qukmr6dk7f*^>Ly02{fDQtr_6s+Aay;(-&_s8jJv zy#S8J%YQtTL`W~_pF^$CodgvAbeN<|kv@IO@zFJ|Bzq)@o4)eWPV$5#9K3RL+StZ} zQtQ=;w=futuD*U@Y^)^E!yu|?o}U8(v|7@fFbV@7o0gm7MFnNL`BUZ_6l{Hb^{6qy z)PhxpHExuiUbbQze16WSr)uV7eBWwG6~VEgKJa?K$R6Gxk8H@j zSi`6;NvQMhibXEmdvOV!-BBVj6N$Y#DdQL31N#!0`QX7>I;K5$dlXi`SAb_?4NHTS z_jU|*KH4qcm&^V0x*B1K{hB%Y;#+=peZg8J3If>!;)&M9MHq79HqE@b+5&&i9zu0* zlkSRdUH>dReC!=6IiSpnMI|8mv~9b-q{t#F!uOXoC6XYyP7=_$aqG{MG_|OObpYF~ zm<_EC^>*|`3ZY=-`2A@IgW zm+<*r@9KZ-=^Mr0$#`<$kCLCAuq<9v0Zkxi|2TC&-0k|XJ!Kr9_;^IsGmljl(8X77 z_|;-$2&RZDdEtYec3Q2SNnTCbjl(5O?D7v2vTw*{SmY9Lq_v+OGSTmtQ3=-bJqL1ag>7fBX+c@q&zAl@a14 z)uK^W7D@lnpa%dM9yPk>gyS}BGWRGguE8zj9HeOA~X*1nR`Sl0L zm_p}P8@h~Fb7X)u9m6}nzMSQyqHjQ2IG*{QUo&kW-#NqmntE-lO?Bn-h|qqdB{Pb7 zPEZ=ZrfDG%Ujub6j-xbo^+`6n`!E!RBI3{kK>t@CJRogm(Tl%snM8EEZp_%id81N} z+3FN|Hbk)-GY##Z2Z`cuITdQeTbhowc}RN$$|lW6tc5^}SCQRoW*69|-yKRyzvl7N z!vrVCB6vnpFbjhyoflfaY3@N$+e~u5JxO($Q!?;*N0#7`&biR zHO^S_*U;4P7Ba{~vV78gb%Ve@8h$QW=umiVa2~n$qC$2Tf$iMr}&m48i;8Lk^9$}XaN0}oMP*=+ie%1rC_FO97?&^^gys3 z{7!KdWm!Q6*zfGsaT@E_K|W|HCPbYSjR6;DU*j(4?>(_(05XW#_+MmW5jTp}tJtoH zHPQc(CK?d7CMmoYSs-bC6{Fc!ZXM{}-eN2ok=q$9YP9x4M1#(!zdLTv9zaB}6Vck= zlZPR$5<5iaG;M&38u5i<;)wV_%sFD|5b=Rnb%@oY*meLx5Zgzw^B_`)|Jx4IHVE`L W-*3MA=QBmmdh&P6V`Zk!G5-OIbb*He literal 0 HcmV?d00001 diff --git a/plugin.video.alfa/resources/media/channels/thumb/estrenosgo.png b/plugin.video.alfa/resources/media/channels/thumb/estrenosgo.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b3478c3e8be761ce6851f5c5feea86c79e4b21 GIT binary patch literal 19810 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�)yk|AA6X4+Sq!+eeNrmvb}2=OEwzT-`O%=bz_le-FH4YO5KayM0)i+!i5PAz z^1l==s#}|N@kZGVOA-2HQd2PZa+Zg8I$|l&S8AIQ{~r7Z^wJ$FR6-1tN6x9#!~gvB zNOw+E@4Xa32T+;Zkux)UPDix`MSIYcgZQ1!7^dFkULKCcACdi;czTo82{m>Jk$8IO z1VqIh>S&R^sBqUZdvPIE(q~6G8i@rZ*tc%0A;X8*?2?zVP;^(`ac@sAg&+UahUZjq z1{>Yc;-EVZd8+FX2)H@+7WR1!IHVa3(`P+o#m5apVt1(!Ksuno8!c_4Ge~J*Wo; z{do9pbV>z6-33k&(-JlIPS^kt2TTL^y=`z$^VM58u(Hy-$rd3O6|Zk8-ECceI|(2n zCANvX{)U=YTZigl?)NC#PY1uVdZS+Y7{^jBGRf!a#br3aG8}W()@S3s5BCLd_aig| zvc>8j3|qR+nrx*+-QbeZh})lNWCQJawOJD@Y1k~49wqIA*irlFBDzgJ9 z-wT?;B(N?ylma9E(*|)6p1E@4lyaCcda_vVvfD}A$C^3iv1>6Zw3s#H4R zMb^Bs)CFC){k{Cvb%OkNWmDdwglmR%fU1vglVcC`cgub1V}*`uGbIIUFPY1rtE0Sc z621TYSatqj+hk3&g?yGWlHnrXR|Q~mmqZE?p>(y39AgYhkb%CmRhz=|-hW)I zsyE2`i5cltYZnIi^A`y+vxG3+Y_E_0VubyDz;>k5c zY&-T9PmY-rua!l`bCGC@&&t;V%%eQS7luGH|IFB+n1)^leLA6_;H+JRJwo=pPN1)* z-~|$5HMc%;XJ!v>Y8I~>y$941BQN8O{hPcJrtz9nm{)X&1>h)W<{fF^GgJgjS( zqWIj*?a4}1&qt!|SFz!`-!aS`S3k>Pbzg+iY#&9uYv5T(;De{eF12B1554&1%z4{MCCn3cNP)t;&d^NuZ%xK{7nRUEKCawCgU01%}u6hFNC<-?LyT(48*;GpGuvg?m z_77G%iaJsQGWoZ0_)KRU*BM5(y8yD8pbrE0ftVet3O(>dV7uz+tY*_&6KaWz1D^pk zGcb8twKH|5`7RyP{!7HYSN%5>4kCq*G!01zDJ72Rwy-if*n!^u6m%AHv#QfH_<0zL zG)Qn1m5dla#)0w_NQ{F|v>&fPkebqOnL|9|%Jh*Yr2{bTWTJx<#I=CPa$I&Z+I^B4 zmD&u~i6d{|R_;-((37$9G)BwB?W)0J*wdzKkh%4NFZS3~mz)$t)J0Mq>3OGGBK$ho zwaQYz*CmZwl$p;edBJGgW!8L+7Z0;3J7@7(HrVm#BP^vvM5O+oaw{xoy}{DLHQ2rq z1`1+rN8&_>Tz1UjkaN&W7?MTUv@5exydw9rI%|I}$+Fi^UPU8?6=6Pl_hlowqEUfy zIm^|GCFfvoi)SBBX({6}NwC#O#Wg&3gqTN`bj0<2=F6%BgsifXtsE%_u2(t6U0op> ze>lw=<4_Y5c+$i*I-JNToq&N}Hk=O2aum(%C+ny^h^V5aA@}PY;!+yQLs@nUQQn(9 zwz+t|5O2pVk!Ek1!5Y7_$v>TI-Lr^}%=32GD*s!e=mSuWbyeOge6`Io=85kCJmVBT z_k6lCvQj~BBc#fg$UB$-b9dc<$O(_qRB)0+yGPV0WRmX|)eOv;`S|N-se>5YIs+PW zw82qyn$|*pH3>6Qn_VVPc^=r4fF9F#&JmK6H&f|fVE5azHDvL8tyY306s!v{yD!EGvb9v1ip|HYhO zV0E5l$@aGS-6wy6r+?FT`kx%rzb;Gtx0SV8^4b6Y{icni9>%bp%Qtv`$-oJ~(!JQg MCYHu{L-$Aj0f&4?0RR91 literal 0 HcmV?d00001 From 03d528f71bc3e72be26e473b8b76dfdf09bc8f85 Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 15 Aug 2018 19:02:17 +0200 Subject: [PATCH 2/5] Mejoras internas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mejoras en búsquedas --- plugin.video.alfa/channels/elitetorrent.py | 6 ++-- plugin.video.alfa/channels/grantorrent.py | 8 +++++ plugin.video.alfa/channels/newpct1.py | 12 +++++--- plugin.video.alfa/lib/generictools.py | 36 ++++++++++++++++++---- 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/plugin.video.alfa/channels/elitetorrent.py b/plugin.video.alfa/channels/elitetorrent.py index fccba66c..c4b74f07 100644 --- a/plugin.video.alfa/channels/elitetorrent.py +++ b/plugin.video.alfa/channels/elitetorrent.py @@ -274,8 +274,6 @@ def findvideos(item): item.title = re.sub('\s\[\d+,?\d*?\s\w[b|B]s\]', '', item.title) #Quitamos size de título, si lo traía item.title = '%s [%s]' % (item.title, size) #Agregamos size al final del título item.quality = re.sub('\s\[\d+,?\d*?\s\w[b|B]s\]', '', item.quality) #Quitamos size de calidad, si lo traía - item.quality = '%s [%s]' % (item.quality, size) #Agregamos size al final de calidad - item.quality = item.quality.replace("G", "G ").replace("M", "M ") #Se evita la palabra reservada en Unify patron_t = '

= "1900" and year <= "2040" and year != "2020": - title_subs += [year] - item_local.infoLabels['year'] = '-' + item_local.infoLabels['year'] = year + #title_subs += [year] + else: + item_local.infoLabels['year'] = '-' #Guarda la variable temporal que almacena la info adicional del título a ser restaurada después de TMDB item_local.title_subs = title_subs @@ -1074,8 +1076,10 @@ def listado_busqueda(item): year = "" year = str(year) if year >= "1900" and year <= "2040" and year != "2020": - title_subs += [year] - item_local.infoLabels['year'] = '-' + item_local.infoLabels['year'] = year + #title_subs += [year] + else: + item_local.infoLabels['year'] = '-' #Guarda la variable temporal que almacena la info adicional del título a ser restaurada después de TMDB item_local.title_subs = title_subs diff --git a/plugin.video.alfa/lib/generictools.py b/plugin.video.alfa/lib/generictools.py index 8f1c130e..639d374d 100644 --- a/plugin.video.alfa/lib/generictools.py +++ b/plugin.video.alfa/lib/generictools.py @@ -297,13 +297,26 @@ def post_tmdb_listado(item, itemlist): rating = '' except: pass - + # Si TMDB no ha encontrado el vídeo limpiamos el año if item_local.infoLabels['year'] == "-": item_local.infoLabels['year'] = '' item_local.infoLabels['aired'] = '' + + # Si TMDB no ha encontrado nada y hemos usado el año de la web, lo intentamos sin año + if not item_local.infoLabels['tmdb_id']: + if item_local.infoLabels['year']: #lo intentamos de nuevo solo si había año, puede que erroneo + year = item_local.infoLabels['year'] #salvamos el año por si no tiene éxito la nueva búsqueda + item_local.infoLabels['year'] = "-" #reseteo el año + try: + tmdb.set_infoLabels(item_local, True) #pasamos otra vez por TMDB + except: + pass + if not item_local.infoLabels['tmdb_id']: #ha tenido éxito? + item_local.infoLabels['year'] = year #no, restauramos el año y lo dejamos ya + # Para Episodios, tomo el año de exposición y no el de inicio de la serie - elif item_local.infoLabels['aired']: + if item_local.infoLabels['aired']: item_local.infoLabels['year'] = scrapertools.find_single_match(str(item_local.infoLabels['aired']), r'\/(\d{4})') # Preparamos el título para series, con los núm. de temporadas, si las hay @@ -873,7 +886,7 @@ def post_tmdb_findvideos(item, itemlist): En Itemlist devuelve un Item con el pseudotítulo. Ahí el canal irá agregando el resto. """ - #logger.debug(item) + logger.debug(item) #Creción de título general del vídeo a visualizar en Findvideos itemlist = [] @@ -965,8 +978,8 @@ def post_tmdb_findvideos(item, itemlist): tiempo_final = tiempo_final / 60 #Lo transformo a minutos horas = tiempo_final / 60 #Lo transformo a horas resto = tiempo_final - (horas * 60) #guardo el resto de minutos de la hora - if not scrapertools.find_single_match(item.quality, '(\[\d+:\d+\])'): #si ya tiene la duración, pasamos - item.quality += ' [%s:%s]' % (str(horas).zfill(2), str(resto).zfill(2)) #Lo agrego a Calidad del Servidor + if not scrapertools.find_single_match(item.quality, '(\[\d+:\d+)'): #si ya tiene la duración, pasamos + item.quality += ' [COLOR white][%s:%s h]' % (str(horas).zfill(2), str(resto).zfill(2)) #Lo agrego a Calidad del Servidor except: pass @@ -1019,6 +1032,14 @@ def post_tmdb_findvideos(item, itemlist): #Pintamos el pseudo-título con toda la información disponible del vídeo itemlist.append(item.clone(action="", server = "", title=title_gen)) #Título con todos los datos del vídeo + if item.action == 'show_result': #Viene de una búsqueda global + channel = item.channel.capitalize() + if item.from_channel == channel_py or item.channel == channel_py: + channel = item.category + elif item.from_channel: + channel = item.from_channel.capitalize() + item.quality = '[COLOR yellow][%s][/COLOR] %s' % (channel, item.quality) + #agregamos la opción de Añadir a Videoteca para péliculas (no series) if item.contentType == 'movie' and item.contentChannel != "videolibrary": #Permitimos la actualización de los títulos, bien para uso inmediato, o para añadir a la videoteca @@ -1159,11 +1180,13 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): #Cargamos en .json del canal para ver las listas de valores en settings fail_over = channeltools.get_channel_json(channel_py) for settings in fail_over['settings']: #Se recorren todos los settings - if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting + if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting fail_over = settings['default'] #Carga lista de clones break fail_over_list = ast.literal_eval(fail_over) + if item.from_channel: #Desde search puede venir con el nombre de canal equivocado + item.channel = item.from_channel #Recorremos el Array identificando el canal que falla for active, channel, channel_host, contentType, action_excluded in fail_over_list: if item.channel == channel_py: @@ -1183,6 +1206,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): break if not channel_failed: + logger.error('Patrón: ' + str(patron) + ' / fail_over_list: ' + str(fail_over_list)) logger.error(item) return (item, data) #Algo no ha funcionado, no podemos hacer nada From 625f97b60b46f48cfb093bede4fbef6b456051b4 Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 15 Aug 2018 19:03:33 +0200 Subject: [PATCH 3/5] Videolibrary: reacondocionado de PlayCounts --- plugin.video.alfa/channels/videolibrary.json | 10 ++- plugin.video.alfa/channels/videolibrary.py | 69 ++++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/plugin.video.alfa/channels/videolibrary.json b/plugin.video.alfa/channels/videolibrary.json index a68b173f..4afa81bd 100755 --- a/plugin.video.alfa/channels/videolibrary.json +++ b/plugin.video.alfa/channels/videolibrary.json @@ -44,7 +44,9 @@ "00:00", "04:00", "08:00", - "12:00" + "12:00", + "16:00", + "20:00" ] }, { @@ -303,6 +305,12 @@ "default": true, "enabled": "eq(-1,TheTvDB.com)", "visible": true + }, + { + "id": "verify_playcount", + "type": "bool", + "label": "Verificación de los contadores de vídeos vistos/no vistos (desmarcar para verificar)", + "default": false } ] } \ No newline at end of file diff --git a/plugin.video.alfa/channels/videolibrary.py b/plugin.video.alfa/channels/videolibrary.py index c2927894..bd3a0998 100644 --- a/plugin.video.alfa/channels/videolibrary.py +++ b/plugin.video.alfa/channels/videolibrary.py @@ -546,6 +546,75 @@ def update_tvshow(item): p_dialog.close() +def verify_playcount_series(item, path): + logger.info() + + """ + Este método revisa y repara el PlayCount de una serie que se haya desincronizado de la lista real de episodios en su carpeta. Las entradas de episodios, temporadas o serie que falten, son creado con la marca de "no visto". Posteriormente se envia a verificar los contadores de Temporadas y Serie + + En el retorno envía de estado de True si se actualizado o False si no, normalmente por error. Con este estado, el caller puede actualizar el estado de la opción "verify_playcount" en "videolibrary.py". La intención de este método es la de dar una pasada que repare todos los errores y luego desactivarse. Se puede volver a activar en el menú de Videoteca de Alfa. + + """ + #logger.debug("item:\n" + item.tostring('\n')) + + #Si no ha hecho nunca la verificación, lo forzamos + estado = config.get_setting("verify_playcount", "videolibrary") + if not estado or estado == False: + estado = True #Si no ha hecho nunca la verificación, lo forzamos + else: + estado = False + + if item.contentType == 'movie': #Esto es solo para Series + return (item, False) + + if filetools.exists(path): + nfo_path = filetools.join(path, "tvshow.nfo") + head_nfo, it = videolibrarytools.read_nfo(nfo_path) #Obtenemos el .nfo de la Serie + + if not hasattr(it, 'library_playcounts') or not it.library_playcounts: #Si el .nfo no tiene library_playcounts se lo creamos + logger.error('** No tiene PlayCount') + it.library_playcounts = {} + + # Obtenemos los archivos de los episodios + raiz, carpetas_series, ficheros = filetools.walk(path).next() + + # Crear un item en la lista para cada strm encontrado + estado_update = False + for i in ficheros: + if i.endswith('.strm'): + season_episode = scrapertools.get_season_and_episode(i) + if not season_episode: + # El fichero no incluye el numero de temporada y episodio + continue + season, episode = season_episode.split("x") + + if season_episode not in it.library_playcounts: #No está incluido el episodio + it.library_playcounts.update({season_episode: 0}) #actualizamos el playCount del .nfo + estado_update = True #Marcamos que hemos actualizado algo + + if 'season %s' % season not in it.library_playcounts: #No está incluida la Temporada + it.library_playcounts.update({'season %s' % season: 0}) #actualizamos el playCount del .nfo + estado_update = True #Marcamos que hemos actualizado algo + + if it.contentSerieName not in it.library_playcounts: #No está incluida la Serie + it.library_playcounts.update({item.contentSerieName: 0}) #actualizamos el playCount del .nfo + estado_update = True #Marcamos que hemos actualizado algo + + if estado_update: + logger.error('** Estado de actualización: ' + str(estado) + ' / PlayCount: ' + str(it.library_playcounts)) + estado = estado_update + # se comprueba que si todos los episodios de una temporada están marcados, se marque tb la temporada + for key, value in it.library_playcounts.iteritems(): + if key.startswith("season"): + season = scrapertools.find_single_match(key, 'season (\d+)') #Obtenemos en núm. de Temporada + it = check_season_playcount(it, season) + + # Guardamos los cambios en item.nfo + if filetools.write(nfo_path, head_nfo + it.tojson()): + return (it, estado) + return (item, False) + + def mark_content_as_watched2(item): logger.info() # logger.debug("item:\n" + item.tostring('\n')) From 9bdc8bcc1e3244ace2dcdac5ea514dd3c715630d Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 15 Aug 2018 19:04:21 +0200 Subject: [PATCH 4/5] =?UTF-8?q?Videplibrarytools:=20error=20cuando=20se=20?= =?UTF-8?q?cancela=20edici=C3=B3n=20t=C3=ADtulo=20en=20TMDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.video.alfa/core/videolibrarytools.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugin.video.alfa/core/videolibrarytools.py b/plugin.video.alfa/core/videolibrarytools.py index ac3dc120..f38242da 100644 --- a/plugin.video.alfa/core/videolibrarytools.py +++ b/plugin.video.alfa/core/videolibrarytools.py @@ -215,6 +215,8 @@ def save_tvshow(item, episodelist): @return: el número de episodios sobreescritos @rtype fallidos: int @return: el número de episodios fallidos o -1 si ha fallado toda la serie + @rtype path: str + @return: directorio serie """ logger.info() # logger.debug(item.tostring('\n')) @@ -223,7 +225,7 @@ def save_tvshow(item, episodelist): # Si llegados a este punto no tenemos titulo o code, salimos if not (item.contentSerieName or item.infoLabels['code']) or not item.channel: logger.debug("NO ENCONTRADO contentSerieName NI code") - return 0, 0, -1 # Salimos sin guardar + return 0, 0, -1, path # Salimos sin guardar scraper_return = scraper.find_and_set_infoLabels(item) # Llegados a este punto podemos tener: @@ -234,7 +236,7 @@ def save_tvshow(item, episodelist): # TODO de momento si no hay resultado no añadimos nada, # aunq podriamos abrir un cuadro para introducir el identificador/nombre a mano logger.debug("NO ENCONTRADO EN SCRAPER O NO TIENE code") - return 0, 0, -1 + return 0, 0, -1, path _id = item.infoLabels['code'][0] @@ -311,7 +313,7 @@ def save_tvshow(item, episodelist): if not episodelist: # La lista de episodios esta vacia - return 0, 0, 0 + return 0, 0, 0, path # Guardar los episodios '''import time @@ -619,6 +621,7 @@ def add_tvshow(item, channel=None): # Obtiene el listado de episodios itemlist = getattr(channel, item.action)(item) + insertados, sobreescritos, fallidos, path = save_tvshow(item, itemlist) if not insertados and not sobreescritos and not fallidos: From bb7147db7dae602ddf233d9b962795d79dbf5ade Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 15 Aug 2018 19:06:59 +0200 Subject: [PATCH 5/5] Videolibrary_services: soporte de Updater MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Borrado de código innecesario que grababa una copia obsoleta del .nfo Arreglo de actualzización de la videoteca en la opción "al inicar Kodi y al menos una vez al dia". Sólo alcualizaba una vez el primer día, al inicio --- plugin.video.alfa/videolibrary_service.py | 50 +++++++++++++++++------ 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/plugin.video.alfa/videolibrary_service.py b/plugin.video.alfa/videolibrary_service.py index ecbde844..0452fa02 100644 --- a/plugin.video.alfa/videolibrary_service.py +++ b/plugin.video.alfa/videolibrary_service.py @@ -50,17 +50,17 @@ def update(path, p_dialog, i, t, serie, overwrite): try: if int(overwrite) == 3: # Sobrescribir todos los archivos (tvshow.nfo, 1x01.nfo, 1x01 [canal].json, 1x01.strm, etc...) - insertados, sobreescritos, fallidos = videolibrarytools.save_tvshow(serie, itemlist) - serie= videolibrary.check_season_playcount(serie, serie.contentSeason) - if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): - serie.infoLabels['playcount'] = serie.playcount + insertados, sobreescritos, fallidos, notusedpath = videolibrarytools.save_tvshow(serie, itemlist) + #serie= videolibrary.check_season_playcount(serie, serie.contentSeason) + #if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): + # serie.infoLabels['playcount'] = serie.playcount else: insertados, sobreescritos, fallidos = videolibrarytools.save_episodes(path, itemlist, serie, silent=True, overwrite=overwrite) - it = videolibrary.check_season_playcount(it, it.contentSeason) - if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): - serie.infoLabels['playcount'] = serie.playcount + #it = videolibrary.check_season_playcount(it, it.contentSeason) + #if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): + # serie.infoLabels['playcount'] = serie.playcount insertados_total += insertados except Exception, ex: @@ -96,7 +96,8 @@ def check_for_update(overwrite=True): serie_actualizada = False update_when_finished = False hoy = datetime.date.today() - + estado_verify_playcount_series = False + try: if config.get_setting("update", "videolibrary") != 0 or overwrite: config.set_setting("updatelibrary_last_check", hoy.strftime('%Y-%m-%d'), "videolibrary") @@ -128,6 +129,19 @@ def check_for_update(overwrite=True): logger.info("serie=" + serie.contentSerieName) p_dialog.update(int(math.ceil((i + 1) * t)), heading, serie.contentSerieName) + + #Verificamos el estado del serie.library_playcounts de la Serie por si está incompleto + try: + estado = False + #Si no hemos hecho la verificación o no tiene playcount, entramos + estado = config.get_setting("verify_playcount", "videolibrary") + if not estado or estado == False or not serie.library_playcounts: #Si no se ha pasado antes, lo hacemos ahora + serie, estado = videolibrary.verify_playcount_series(serie, path) #También se pasa si falta un PlayCount por completo + except: + pass + else: + if estado: #Si ha tenido éxito la actualización... + estado_verify_playcount_series = True #... se marca para cambiar la opción de la Videoteca interval = int(serie.active) # Podria ser del tipo bool @@ -188,10 +202,11 @@ def check_for_update(overwrite=True): if not serie_actualizada: update_next += datetime.timedelta(days=interval) - head_nfo, serie = videolibrarytools.read_nfo(tvshow_file) #Vuelve a leer el.nfo, que ha sido modificado + head_nfo, serie = videolibrarytools.read_nfo(tvshow_file) #Vuelve a leer el.nfo, que ha sido modificado if interval != int(serie.active) or update_next.strftime('%Y-%m-%d') != serie.update_next: + if update_next > hoy: + serie.update_next = update_next.strftime('%Y-%m-%d') serie.active = interval - serie.update_next = update_next.strftime('%Y-%m-%d') serie.channel = "videolibrary" serie.action = "get_seasons" filetools.write(tvshow_file, head_nfo + serie.tojson()) @@ -205,6 +220,9 @@ def check_for_update(overwrite=True): else: update_when_finished = True + if estado_verify_playcount_series: #Si se ha cambiado algún playcount, ... + estado = config.set_setting("verify_playcount", True, "videolibrary") #... actualizamos la opción de Videolibrary + if config.get_setting("search_new_content", "videolibrary") == 1 and update_when_finished: # Actualizamos la videoteca de Kodi: Buscar contenido en todas las series if config.is_xbmc(): @@ -254,7 +272,8 @@ def start(thread=True): def monitor_update(): update_setting = config.get_setting("update", "videolibrary") - if update_setting == 2 or update_setting == 3: # "Actualizar "Cada dia" o "Una vez al dia" + # "Actualizar "Una sola vez al dia" o "al inicar Kodi y al menos una vez al dia" + if update_setting == 2 or update_setting == 3: hoy = datetime.date.today() last_check = config.get_setting("updatelibrary_last_check", "videolibrary") if last_check: @@ -269,14 +288,15 @@ def monitor_update(): # (last_check, hoy, datetime.datetime.now().hour)) # logger.info("Atraso del inicio del dia: %i:00" % update_start) - if last_check < hoy and datetime.datetime.now().hour >= int(update_start): - logger.info("Inicio actualizacion programada: %s" % datetime.datetime.now()) + if last_check <= hoy and datetime.datetime.now().hour == int(update_start): + logger.info("Inicio actualizacion programada para las %s h.: %s" % (update_start, datetime.datetime.now())) check_for_update(overwrite=False) if __name__ == "__main__": # Se ejecuta en cada inicio import xbmc + import time # modo adulto: # sistema actual 0: Nunca, 1:Siempre, 2:Solo hasta que se reinicie Kodi @@ -289,6 +309,10 @@ if __name__ == "__main__": if wait > 0: xbmc.sleep(wait) + # Verificar quick-fixes al abrirse Kodi, y dejarlo corriendo como Thread + from platformcode import updater + updater.check_addon_init() + if not config.get_setting("update", "videolibrary") == 2: check_for_update(overwrite=False)