@magield/collectors 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/behavior/recorder.d.ts +33 -0
- package/dist/behavior/recorder.js +303 -1
- package/dist/hash.d.ts +15 -0
- package/dist/hash.js +27 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -1
- package/dist/native.d.ts +39 -0
- package/dist/native.js +142 -1
- package/dist/registry.d.ts +57 -0
- package/dist/registry.js +108 -1
- package/dist/run.d.ts +10 -0
- package/dist/run.js +128 -1
- package/dist/signals/adblock.d.ts +2 -0
- package/dist/signals/adblock.js +135 -1
- package/dist/signals/apps.d.ts +2 -0
- package/dist/signals/apps.js +191 -1
- package/dist/signals/audio.d.ts +16 -0
- package/dist/signals/audio.js +63 -1
- package/dist/signals/automation.d.ts +2 -0
- package/dist/signals/automation.js +346 -1
- package/dist/signals/behavior.d.ts +17 -0
- package/dist/signals/behavior.js +31 -1
- package/dist/signals/capabilities.d.ts +2 -0
- package/dist/signals/capabilities.js +235 -1
- package/dist/signals/devices.d.ts +2 -0
- package/dist/signals/devices.js +119 -1
- package/dist/signals/display.d.ts +2 -0
- package/dist/signals/display.js +101 -1
- package/dist/signals/errors.d.ts +2 -0
- package/dist/signals/errors.js +84 -1
- package/dist/signals/features.d.ts +2 -0
- package/dist/signals/features.js +951 -1
- package/dist/signals/fonts.d.ts +2 -0
- package/dist/signals/fonts.js +128 -1
- package/dist/signals/integrity.d.ts +2 -0
- package/dist/signals/integrity.js +216 -1
- package/dist/signals/math.d.ts +2 -0
- package/dist/signals/math.js +43 -1
- package/dist/signals/navigator.d.ts +10 -0
- package/dist/signals/navigator.js +81 -1
- package/dist/signals/pointer.d.ts +2 -0
- package/dist/signals/pointer.js +93 -1
- package/dist/signals/render.d.ts +12 -0
- package/dist/signals/render.js +214 -1
- package/dist/signals/screen.d.ts +9 -0
- package/dist/signals/screen.js +80 -1
- package/dist/signals/storage.d.ts +33 -0
- package/dist/signals/storage.js +100 -1
- package/dist/signals/timezone.d.ts +9 -0
- package/dist/signals/timezone.js +63 -1
- package/dist/signals/webrtc.d.ts +2 -0
- package/dist/signals/webrtc.js +168 -1
- package/dist/stable-core.d.ts +128 -0
- package/dist/stable-core.js +187 -1
- package/dist/types.d.ts +54 -0
- package/dist/types.js +15 -1
- package/package.json +2 -1
|
@@ -1 +1,235 @@
|
|
|
1
|
-
(function(T,U){const CZ={T:0x19b,U:0x13c,h:0x114,u:'p5Uq',I:0x227,i:0xa0,R:'i)p*',Z:0x0,O:0x61,E:0x3,z:0x173,p:0x12b,v:0xfb,K:0xe1,Y:'@i#O',A:0x104,X:0x9f,G:0x168,r:0x80,n:'yd2V',g:'AOx7',q:0x452,k:0x45f,e:0x3e8,y:0x459,s:0x22f,M:0x2b0,CO:0x1c8,CE:0x294,Cz:'e#QV',Cp:0x100,Cv:'FoYR',CK:0x161,CY:0x48,CA:0xde,CX:0xb8,CG:'uyr2',Cr:0x26,Cn:0x9d,Cg:0x1c,Cq:0x10f,Ck:0x8e,Ce:0x7c,Cy:0xd2,Cs:'QokO',CM:0x574,Cm:0x504,CB:0x56a,Cj:0x4f4,Cx:'TDn9'},CR={T:0x39b},Ci={T:0x51},CI={T:0x1b6},Cu={T:0x370},Ch={T:0x28e};function d(T,U,h,u,I){return b(U-Ch.T,T);}function x(T,U,h,u,I){return b(U-Cu.T,I);}function B(T,U,h,u,I){return b(I- -CI.T,U);}function m(T,U,h,u,I){return b(T-Ci.T,u);}function j(T,U,h,u,I){return b(T- -CR.T,I);}const h=T();while(!![]){try{const u=-parseInt(m(CZ.T,CZ.U,CZ.h,CZ.u,CZ.I))/(-0x36d*-0x3+-0x1*0x7c4+-0x2*0x141)+-parseInt(B(-CZ.i,CZ.R,CZ.Z,-CZ.O,CZ.E))/(-0x1dcb+-0x3a2+0x216f)+parseInt(j(-CZ.z,-CZ.p,-CZ.v,-CZ.K,CZ.Y))/(-0x697+0xc*0x32b+-0x1f6a)*(-parseInt(j(-CZ.A,-CZ.X,-CZ.G,-CZ.r,CZ.n))/(-0x354*-0x1+-0xfcb+0xc7b))+parseInt(d(CZ.g,CZ.q,CZ.k,CZ.e,CZ.y))/(0x16e1+-0x4*0x8bd+0x8*0x183)+parseInt(j(-CZ.s,-CZ.M,-CZ.CO,-CZ.CE,CZ.Cz))/(0x916+0x69a+0x2*-0x7d5)+parseInt(B(CZ.Cp,CZ.Cv,CZ.CK,CZ.CY,CZ.CA))/(-0x685*-0x1+0x1141*0x1+-0x17bf)*(parseInt(B(-CZ.CX,CZ.CG,CZ.Cr,-CZ.Cn,-CZ.Cg))/(-0xa33+0x1d05+-0x41*0x4a))+-parseInt(j(-CZ.Cq,-CZ.Ck,-CZ.Ce,-CZ.Cy,CZ.Cs))/(-0x82e+0x2*-0x1007+0x2845)*(-parseInt(x(CZ.CM,CZ.Cm,CZ.CB,CZ.Cj,CZ.Cx))/(-0x4*-0x170+-0x551*-0x5+-0x204b));if(u===U)break;else h['push'](h['shift']());}catch(I){h['push'](h['shift']());}}}(F,-0x5e9*0xf4+0x6f96f+0x1210*0x40));const D=(function(){const CE={T:0x42d,U:'4A*4',h:0x32c,u:0x3bf,I:0x332};let T=!![];return function(U,h){const u=T?function(){const CO={T:0x248};function Q(T,U,h,u,I){return b(u-CO.T,U);}if(h){const I=h[Q(CE.T,CE.U,CE.h,CE.u,CE.I)](U,arguments);return h=null,I;}}:function(){};return T=![],u;};}()),C=D(this,function(){const Cn={T:0x40f,U:0x3be,h:'CYLN',u:0x361,I:0x44b,i:0xdb,R:0x52,Z:0x2e,O:'QBWO',E:0xd4,z:0x282,p:0x2ac,v:'Fl01',K:0x2a2,Y:0x300,A:0x273,X:0x3c7,G:0x2b4,r:0x324,n:'iQSC',g:0xe4,q:0x114,k:0x7b,e:'Yp4N',y:0x5e,s:'Fl01',M:0x22a,Cg:0x15e,Cq:0x276,Ck:0x1d2,Ce:'l@5%',Cy:0x1ff,Cs:0x171,CM:0x27d,Cm:0x211,CB:0x1a9,Cj:0x2d8,Cx:0x233,Cd:'@i#O',CQ:0x2c7,Co:0x2eb,Cf:0x2cb,Ct:0x3ec,CV:0x35a,CW:'AOx7',Cl:0x2f8,CJ:0x370,CH:'*4X7',CL:0x2ee,CS:0x2c5,Cc:'Q#pA',Cw:0x256,CP:0x1fa,CN:0x234,Ca:0x289,D0:0x3ac,D1:0x34b,D2:0x39f,D3:0x334,D4:'FoYR',D5:'X&nP',D6:0x26d,D7:0x317,D8:0x2e3,D9:0x28d,DC:'Ta63',DD:0x175,DF:0x24d,Db:0x25e,DT:0x214,DU:0x2ab,Dh:0x2ad,Du:'a64e',DI:0x325,Di:0x237,DR:0x468,DZ:0x3e6,DO:'uyr2',DE:0x33e,Dz:0x3df,Dp:'@[uX',Dv:0x16b,DK:0x2b7,DY:0x25d,DA:0x20f,DX:0x1f2,DG:0x113,Dr:0x189,Dn:'FoYR',Dg:0x145,Dq:0x34a,Dk:0x402,De:0x401,Dy:0x39f,Ds:')%ZW'},Cr={T:0x1d1},CG={T:0x26},CX={T:0x1e1},CA={T:0x6a},CK={T:0x13d};function o(T,U,h,u,I){return b(U-CK.T,h);}const U={};U[o(Cn.T,Cn.U,Cn.h,Cn.u,Cn.I)]=function(u,I){return u!==I;};function V(T,U,h,u,I){return b(I-CA.T,T);}function f(T,U,h,u,I){return b(h- -CX.T,u);}U[f(-Cn.i,-Cn.R,-Cn.Z,Cn.O,-Cn.E)]=o(Cn.z,Cn.p,Cn.v,Cn.K,Cn.Y)+t(Cn.A,Cn.X,Cn.G,Cn.r,Cn.n)+'+$';const h=U;if(h[f(-Cn.g,-Cn.q,-Cn.k,Cn.e,-Cn.y)](C[V(Cn.s,Cn.M,Cn.Cg,Cn.Cq,Cn.Ck)]()[V(Cn.Ce,Cn.Cy,Cn.Cs,Cn.CM,Cn.Cm)+W(Cn.CB,Cn.Cj,Cn.Cx,Cn.Cd,Cn.CQ)]()[t(Cn.Co,Cn.Cf,Cn.Ct,Cn.CV,Cn.CW)+'Of']('\x0a'),-(-0x4*0x838+0x84*0x1a+0x1379*0x1)))return;function W(T,U,h,u,I){return b(h-CG.T,u);}function t(T,U,h,u,I){return b(u-Cr.T,I);}return C[o(Cn.Cl,Cn.CJ,Cn.CH,Cn.CL,Cn.CS)+V(Cn.Cc,Cn.Cw,Cn.CP,Cn.CN,Cn.Ca)]()[t(Cn.D0,Cn.D1,Cn.D2,Cn.D3,Cn.D4)+'h'](h[V(Cn.D5,Cn.D6,Cn.D7,Cn.D8,Cn.D9)])[V(Cn.DC,Cn.DD,Cn.DF,Cn.Db,Cn.DT)+o(Cn.DU,Cn.Dh,Cn.Du,Cn.DI,Cn.Di)]()[o(Cn.DR,Cn.DZ,Cn.DO,Cn.DE,Cn.Dz)+V(Cn.Dp,Cn.Dv,Cn.DK,Cn.DY,Cn.DA)+'r'](C)[W(Cn.DX,Cn.DG,Cn.Dr,Cn.Dn,Cn.Dg)+'h'](h[t(Cn.Dq,Cn.Dk,Cn.De,Cn.Dy,Cn.Ds)]);});function l(T,U,h,u,I){const Cg={T:0x12a};return b(T-Cg.T,h);}C();import{hash}from'../hash.js';function J(T,U,h,u,I){const Cq={T:0xed};return b(u- -Cq.T,h);}function H(T,U,h,u,I){const Ck={T:0x3a2};return b(u-Ck.T,I);}function S(T,U,h,u,I){const Ce={T:0x36c};return b(T-Ce.T,I);}const PERMISSIONS=[l(0x2ae,0x2e8,'es82',0x34b,0x23e)+J(0x156,0xae,'Ta63',0x12c,0xd2)+l(0x285,0x2a0,'&S7a',0x2df,0x2c3),L(0x3a9,0x374,'es82',0x454,0x3c0)+S(0x57b,0x52c,0x504,0x567,'iQSC')+H(0x5b5,0x69b,0x669,0x5f0,'l@5%'),J(0x1c7,0x1bb,'yd2V',0x162,0xd0)+'a',S(0x574,0x51e,0x59f,0x4c5,'vhi&')+S(0x5de,0x5fc,0x58b,0x607,'c4dk')+L(0x3db,0x469,'i)p*',0x347,0x3a1),S(0x55a,0x4e8,0x5be,0x55f,'Y[(0')+l(0x2b2,0x30c,'QokO',0x2fe,0x301)+S(0x539,0x4ed,0x4dd,0x5a7,'es82'),l(0x30a,0x272,'@[uX',0x3a2,0x2b1)+J(0xa6,0x78,'oNP^',0xe4,0x89)+'n',l(0x2d6,0x2b7,'es82',0x31a,0x237)+J(0x123,0x142,'Ta63',0x174,0x19c),S(0x558,0x541,0x59b,0x5bf,'uyr2')+H(0x619,0x65e,0x5ba,0x5cd,'9Y2V')+L(0x2c3,0x2d8,'u@Ws',0x31c,0x331),S(0x59c,0x516,0x51f,0x62c,'AOx7')+L(0x317,0x2f0,'@i#O',0x354,0x2c5)+'s',J(0x233,0x239,'es82',0x18a,0xe8)+l(0x390,0x364,'egZI',0x3b9,0x399)+'er',H(0x5c1,0x583,0x57d,0x5c7,'o4As')+L(0x3bf,0x357,'QokO',0x35e,0x417),S(0x4c8,0x447,0x4a7,0x4ce,'Nha4'),H(0x541,0x50c,0x5ff,0x56c,']k^3')+H(0x5fb,0x68a,0x5a0,0x5fb,'u@Ws')+l(0x2f5,0x2f3,'uO(G',0x392,0x25b),H(0x539,0x5f3,0x4c7,0x560,'$3pI')+J(0x1c7,0x111,'e#QV',0x152,0xa2)+l(0x3d1,0x465,')%ZW',0x3d9,0x389),H(0x55d,0x56b,0x4ff,0x57f,'Q#pA')+J(0x216,0xeb,'[k8l',0x198,0x211)+J(0x146,0x177,'#Zn2',0x14d,0x10d)+H(0x547,0x61f,0x5ab,0x58f,'$3pI'),S(0x501,0x519,0x55a,0x47a,'e#QV'),L(0x415,0x3a3,'AOx7',0x43f,0x3c0)+S(0x599,0x531,0x555,0x4ec,'Q#pA')+J(0x1ee,0x1a0,'ArdJ',0x13d,0x9e)+'k',L(0x40b,0x3d2,'[k8l',0x4a8,0x36b)+l(0x36f,0x3b5,'X&nP',0x37f,0x334)+J(0x94,0x23,'@[uX',0xac,0xc9),S(0x4f9,0x521,0x4c1,0x551,'Yp4N')+L(0x2c1,0x363,'QokO',0x29e,0x300)+J(0x102,-0xc,'X&nP',0x8c,0xb8)+'nt'];function L(T,U,h,u,I){const Cy={T:0x178};return b(T-Cy.T,h);}export const capabilitiesCollector={'id':H(0x4d5,0x50a,0x575,0x574,'egZI'),'wave':J(0x2e,0x104,'o4As',0x87,-0x22),'optional':!![],async 'collect'({navigator:U,window:h}){const Db={T:0x523,U:'AOx7',h:0x550,u:0x50d,I:0x497,i:0x553,R:'i)p*',Z:0x503,O:0x51f,E:0x5b5,z:0x164,p:0x14e,v:0x12d,K:0x10c,Y:'X&nP',A:0x57f,X:'yd2V',G:0x509,r:0x540,n:0x5c4,g:0x63d,q:0x56b,k:0x5ea,e:0x57e,y:'rg5B',s:0x1d,M:0x9e,DT:'es82',DU:0x44,Dh:0x60,Du:0x75,DI:0x10d,Di:0x75,DR:0xc2,DZ:0x56b,DO:'9Y2V',DE:0x521,Dz:0x514,Dp:0x584,Dv:0x564,DK:'48Eu',DY:0x4b9,DA:0x51b,DX:0x55f,DG:0x3b,Dr:0x44,Dn:'rg5B',Dg:0x42,Dq:0xc7,Dk:0x2a,De:0x2d,Dy:0x71,Ds:0x16,DM:'t9wj',Dm:0x3,DB:0x73,Dj:0x67,Dx:0x5e,Dd:0xab,DQ:0x85,Do:0x1b,Df:'l@5%',Dt:0xfe,DV:0xa4,DW:0x96,Dl:'u@Ws',DJ:0x91,DH:0x144,DL:0x133,DS:'vhi&',Dc:0xee,Dw:0x18d,DP:0x471,DN:'#Zn2',Da:0x4f0,F0:0x51d,F1:0x570,F2:'uyr2',F3:0x462,F4:0x4c9,F5:0x4e9,F6:0x96,F7:0x83,F8:'c4dk',F9:0xa,FC:0x25,FD:0xe3,FF:0x11d,Fb:0x172,FT:0x121,FU:'uyr2',Fh:0x76,Fu:0x4c,FI:0x81,Fi:0xb1,FR:'QokO',FZ:0xc,FO:0x4c,FE:'uO(G',Fz:0x43,Fp:0x3f,Fv:0x2b,FK:0x7a,FY:0x8,FA:0x60,FX:'X&nP',FG:0x69,Fr:0xbc,Fn:0x70,Fg:0xf,Fq:']k^3',Fk:0x11,Fe:0x22,Fy:'Fl01',Fs:0x52,FM:0xa6,Fm:0xe,FB:0x15,Fj:0x9a,Fx:'&S7a',Fd:0x41c,FQ:'u@Ws',Fo:0x4a4,Ff:0x460,Ft:0x408,FV:0x6ae,FW:0x671,Fl:0x678,FJ:0x653,FH:'iQSC',FL:0x2c,FS:0xb3,Fc:'Yp4N',Fw:0x8e,FP:0x61b,FN:0x6aa,Fa:0x64b,b0:0x5f7,b1:'e#QV',b2:0x68,b3:0xd5,b4:0xfd,b5:'es82',b6:0xa8,b7:0x145,b8:0xe3,b9:'egZI',bC:0xee,bD:0x6b,bF:0x27,bb:0x466,bT:'QokO',bU:0x48e,bh:0x3ff,bu:0x43b,bI:'oNP^',bi:0x52a,bR:0x4e0,bZ:0x512,bO:0x158,bE:'TDn9',bz:0x116,bp:0x3e,bv:0x125,bK:0x189,bY:'4A*4',bA:0x202,bX:0x19b,bG:0x198,br:0x173,bn:'MHd#',bg:0x10c,bq:0x208,bk:0x198,be:0x196,by:'ArdJ',bs:0x178,bM:0x1a0,bm:0x1c,bB:0x66,bj:0x35,bx:0x16a,bd:0x155,bQ:'es82',bo:0x19d,bf:0x11f,bt:0x604,bV:0x548,bW:0x5f0,bl:0x680,bJ:'Q#pA',bH:0x4aa,bL:0x5c2,bS:0x556,bc:0x55c,bw:'&DbD',bP:0x8d,bN:0x59,ba:0x2f,T0:0xae,T1:'CYLN',T2:0x5f3,T3:0x605,T4:0x597,T5:'ArdJ',T6:0x106,T7:0x8b,T8:0x112,T9:0x120,TC:'o4As',TD:0xc3,TF:0xce,Tb:0x14a,TT:0xff,TU:'sYr9',Th:0x53c,Tu:0x53f,TI:0x5e0,Ti:0x684,TR:'uO(G',TZ:0x1f2,TO:0x1b3,TE:0xf2,Tz:0x89,Tp:0xd4,Tv:0x8,TK:0x3,TY:0x98,TA:0x57,TX:0xc8,TG:0xd6,Tr:'@[uX',Tn:0x42,Tg:0x160,Tq:0xac,Tk:0x102,Te:')%ZW',Ty:0x56,Ts:0x60,TM:0x57,Tm:0x7d,TB:'vhi&',Tj:0xf0,Tx:0xe2,Td:0x4a,TQ:0x17,To:0x140,Tf:0x80,Tt:0xad,TV:0x12f,TW:0x580,Tl:0x629,TJ:0x5b3,TH:0x530,TL:'#Zn2',TS:0x4b,Tc:0xcd,Tw:'Nha4',TP:0xaa,TN:0x40,Ta:0x4f2,U0:0x548,U1:0x498,U2:'QBWO',U3:0x6e,U4:0x4d,U5:0x73,U6:0xe4,U7:'r9wo',U8:0x88,U9:0x18e,UC:0xe9,UD:0xcd,UF:0xef,Ub:0xca,UT:0x501,UU:'Y[(0',Uh:0x4e4,Uu:0x4ef,UI:0x93,Ui:0x139,UR:'u@Ws',UZ:0x1a3,UO:0xbe,UE:0x4f6,Uz:0x5c9,Up:0x537,Uv:0x5b1,UK:0x618,UY:0x5cb,UA:0x666,UX:0x6e9,UG:'Yp4N',Ur:0x47,Un:0xf2,Ug:0xb0,Uq:0xa5,Uk:0x39,Ue:0x85,Uy:0x18,Us:0x105,UM:0x156,Um:'uO(G',UB:0x177,Uj:0x168,Ux:0x1a,Ud:0x23,UQ:0xba,Uo:0xb1,Uf:0x4cf,Ut:'QokO',UV:0x507,UW:0x5d2,Ul:0x58f,UJ:0x5ab,UH:0x616,UL:'Ta63',US:0x6c,Uc:'Q#pA',Uw:0x20c,UP:0x1a7,UN:0x163,Ua:0x56,h0:0x5a,h1:'o4As',h2:0xdb,h3:0x2e,h4:0x5,h5:0x6d,h6:0x34,h7:0xb,h8:0x51,h9:0x2d,hC:'Htoc',hD:0x7a,hF:0x63b,hb:0x627,hT:0x59c,hU:'uO(G',hh:0x53a,hu:'9Y2V',hI:0x4b1,hi:0x536,hR:0x522,hZ:0x92,hO:0xb4,hE:0x4,hz:0x61,hp:'MHd#',hv:0x572,hK:'yd2V',hY:0x4ab,hA:0xd0,hX:0xc5,hG:0x17a,hr:0x119,hn:0x5e7,hg:0x5da,hq:0x646,hk:0x5a9,he:'e#QV',hy:0x9c,hs:0x61,hM:0x117,hm:0x87,hB:0x69a,hj:0x5a2,hx:0x630,hd:0x67f,hQ:'iQSC',ho:0x2,hf:0x111,ht:'$3pI',hV:0x693,hW:0x67b,hl:0x641,hJ:0x5d7,hH:'iQSC',hL:0x15f,hS:'Nha4',hc:0x137,hw:0x1a6,hP:0x6fb,hN:0x5db,ha:0x65e,u0:0x656,u1:'oNP^',u2:0x63,u3:0xad,u4:0x20,u5:0x110,u6:0x15c,u7:0x3d,u8:0xeb,u9:'Htoc',uC:0x5e7,uD:0x610,uF:0x5f4,ub:0x54f,uT:0x207,uU:0x19a,uh:'TDn9',uu:0x182,uI:0x1f8,ui:0x611,uR:0x5c0,uZ:0x60d,uO:0x583,uE:'p5Uq',uz:0x648,up:0x665,uv:'I9j^',uK:0x4c6,uY:'Ta63',uA:0x4dc,uX:0x4fb,uG:0x52e,ur:0x45,un:0x26,ug:0x4b,uq:'[k8l',uk:0x525,ue:0x57d,uy:0x57e,us:0x4c,uM:0x26,um:0xd,uB:'Nha4',uj:0x3e7,ux:0x4ac,ud:0x42f,uQ:0x480,uo:0x125,uf:0x17,ut:0xb6,uV:0x595,uW:0x6b5,ul:0x610,uJ:0x5de,uH:'vhi&',uL:0x5e6,uS:0x576,uc:0x4d9,uw:0x3e5,uP:0x45d,uN:0x468,ua:0x490,I0:0x4a7,I1:0x52f,I2:0x495,I3:0x36,I4:0x4f,I5:0x50,I6:'rg5B',I7:0xbd,I8:0x4af,I9:'Y[(0',IC:0x48f,ID:0x4b4,IF:0x406,Ib:0x58f,IT:0x58d,IU:0x5b0,Ih:'Fl01',Iu:0x581,II:0x61c,Ii:0x656,IR:0x4b0,IZ:'&S7a',IO:0x37b,IE:0x423,Iz:0x442,Ip:0x65,Iv:0xf3,IK:0x151,IY:'FoYR',IA:0x394,IX:'X&nP',IG:0x37e,Ir:0x42b,In:0x3d8,Ig:0x50e,Iq:0x611,Ik:0x5f2,Ie:0x411,Iy:0x51a,Is:0x493,IM:0x4e7,Im:0x75,IB:0x21,Ij:0xbb,Ix:0xd7,Id:0x8e,IQ:0x62,Io:0x96,If:0xe,It:0x1e9,IV:0x186,IW:'FoYR',Il:0x199,IJ:0x1e5,IH:0x5ea,IL:'Yp4N',IS:0x54b,Ic:0x53e,Iw:0x5a8,IP:0x162,IN:'a64e',Ia:0x132,i0:0x149,i1:0x712,i2:0x5fa,i3:0x673,i4:'Nha4',i5:0x92,i6:0x56,i7:0xb8,i8:0xa2,i9:0x58c,iC:0x5ee,iD:0x5bc,iF:'9Y2V',ib:0x2c,iT:0x73,iU:0xd1,ih:0x16a,iu:0xab,iI:0x1e0,ii:0x147,iR:0x142,iZ:0x7f,iO:0x1f,iE:'Nha4',iz:0x36,ip:'Q#pA',iv:0xe1,iK:0x38,iY:0x61f,iA:0x5dc,iX:0x592,iG:'@i#O',ir:0x3da,ig:0x431,iq:0x48a,ik:0x473,ie:0x101,iy:0x81,is:'$3pI',iM:0x78,im:'t9wj',iB:0x26,ij:0x40a,ix:'&S7a',id:0x455,iQ:0x3fd,io:0x49,it:0x6f,iV:'CYLN',iW:0xa0,il:0x102,iJ:0xda,iH:'Ta63',iL:0x18,iS:0x6a,ic:'i)p*',iw:0x4f,iP:0x84,iN:0x12b,ia:0x26,R0:'c4dk',R1:0x54,R2:0x4e5,R3:0x56d,R4:0x54a,R5:0x4df,R6:'#Zn2',R7:0x1d5,R8:0x164,R9:0x19e,RC:0x132,RD:'l@5%',RF:0xe8,Rb:0x160,RT:0xd2,RU:0x3b4,Rh:']k^3',Ru:0x3d3,RI:0x41e,Ri:0x3ab,RR:0x692,RZ:0x647,RO:0x5e8,RE:0x5a0,Rz:'I9j^',Rp:0x67f,Rv:0x5ff,RK:0x5b4,RY:0x686,RA:0x701,RX:0x65b,RG:'@i#O',Rr:0x23,Rn:0x60,Rg:0x43,Rq:0x9f,Rk:0x13e,Re:0xd2,Ry:'u@Ws',Rs:0x412,RM:'u@Ws',Rm:0x468,RB:0x487,Rj:0x48b,Rx:0x636,Rd:0x546,RQ:0x5b7,Ro:0x516,Rf:'AOx7',Rt:0x6c,RV:0x112,RW:'&DbD',Rl:0x126,RJ:0xa6,RH:0xdb,RL:0x1e1,RS:0x104,Rc:0x14c,Rw:0x4ce,RP:0x566,RN:0x568,Ra:0x5a1,Z0:0x1e7,Z1:0x193,Z2:0x14b,Z3:0x230,Z4:0x24,Z5:0x3c,Z6:'48Eu',Z7:0x3ff,Z8:0x4a1,Z9:0x441,ZC:0x661,ZD:0x64f,ZF:0x5fe,Zb:0x65b,ZT:0x55f,ZU:0x615,Zh:0x62c,Zu:0x11e,ZI:0x161,Zi:0xe7,ZR:0x4e8,ZZ:0x485,ZO:0x66,ZE:0x50,Zz:'X&nP',Zp:0xe,Zv:0x9b,ZK:'$3pI',ZY:0x89,ZA:0x8c,ZX:'$3pI',ZG:0xca,Zr:0x97,Zn:0xb4,Zg:0x148,Zq:0x1b5,Zk:0x5de,Ze:0x51f,Zy:0x581,Zs:'FoYR',ZM:0x5ed,Zm:0x4d6,ZB:0x557,Zj:0x55c,Zx:'oNP^',Zd:0x72,ZQ:0x18,Zo:0x2b,Zf:'a64e',Zt:0xa8,ZV:0x58,ZW:0x537,Zl:0x535,ZJ:0x491,ZH:'c4dk',ZL:0x19,ZS:0x7c,Zc:0x543,Zw:0x5a8,ZP:0x6be,ZN:0x614,Za:0x629,O0:0x53c,O1:'iQSC',O2:0xa9,O3:0x10a,O4:0x65,O5:0x108,O6:'Nha4',O7:0x9,O8:0x34,O9:0xa2,OC:0x31,OD:'yd2V',OF:0x9e,Ob:0x50,OT:0xcc,OU:0x6a9,Oh:0x622,Ou:0x64f,OI:0x6e8,Oi:0x608,OR:0x6df,OZ:0x62f,OO:0x632,OE:0x17,Oz:0x74,Op:'AOx7',Ov:0x113,OK:0x14,OY:0x29,OA:0x59,OX:0x74,OG:'uO(G',Or:0x4a,On:0x5cb,Og:'CYLN',Oq:0x545,Ok:0x4e1,Oe:0x71,Oy:0x146,Os:'@i#O',OM:0x14e,Om:0xc0,OB:0x94,Oj:'oNP^',Ox:0x7c,Od:0x5e,OQ:0xfc,Oo:0x3f,Of:0x5ea,Ot:'a64e',OV:0x5f5,OW:0x57c,Ol:0xc8,OJ:0x80,OH:'Y[(0',OL:0x4fc,OS:'Fl01',Oc:0x4d0,Ow:0x542,OP:0x5c7,ON:0x587,Oa:')%ZW',E0:0x4f5,E1:0x4d3,E2:0x15b,E3:0x185,E4:0x160,E5:0x59d,E6:'uyr2',E7:0x5a0,E8:0x523,E9:0x48b,EC:0x1ab,ED:0x103,EF:'TDn9',Eb:0x1a9,ET:0xf8,EU:0x5b6,Eh:0x650,Eu:0x7,EI:0x50,Ei:'Fl01',ER:0x97,EZ:0x91,EO:0xf1,EE:0x7b,Ez:'es82',Ep:0x121,Ev:0x5d,EK:0x166,EY:0xa3,EA:0xdc,EX:0x14f,EG:'Yp4N',Er:0x120,En:'ArdJ',Eg:0xb9,Eq:0x1c6,Ek:0x54b,Ee:0x5cd,Ey:0x5d7,Es:'l@5%',EM:0x4f4,Em:'l@5%',EB:0x47b,Ej:0x4fb,Ex:0x30,Ed:0x1c,EQ:0x7e,Eo:0x5c,Ef:0x4e,Et:0x17,EV:0x46,EW:0x17,El:0xb3,EJ:0x64a,EH:0x6cc,EL:0x638,ES:0x6ad,Ec:0x510,Ew:0x46b,EP:0x19,EN:'i)p*',Ea:0x33,z0:0x67,z1:'o4As',z2:0x4d,z3:0x4a5,z4:0x4cc,z5:0x52c,z6:0x5ce,z7:0xd9,z8:0x14a,z9:0xcb,zC:0x20,zD:0xfa,zF:0xe0,zb:0xaf,zT:'@[uX',zU:0x81,zh:0x5d4,zu:0x657,zI:0x668,zi:'Htoc',zR:0x125,zZ:0xb2,zO:'vhi&',zE:0x560,zz:'uO(G',zp:0x4d7,zv:0x4c3,zK:0x601,zY:0x5d7,zA:0x64d,zX:0x643,zG:'iQSC',zr:0x1a6,zn:0x132,zg:0x1af,zq:0x59d,zk:0x648,ze:0x5ef,zy:0x36,zs:0xd,zM:0x10,zm:0x11a,zB:0xf7,zj:'Nha4',zx:0xe8,zd:0x87,zQ:0x7f,zo:0x6,zf:'uyr2',zt:0x77,zV:0x6d,zW:'MHd#',zl:0x2a,zJ:0x16d,zH:0x15d,zL:0x12d,zS:0x592,zc:0x63d,zw:0x645,zP:'@[uX',zN:0x44,za:'Yp4N',p0:0x28,p1:0x42b,p2:'uyr2',p3:0x472,p4:0x4a6,p5:0x4ba,p6:0x1f9,p7:0x169,p8:'Fl01',p9:0x1b2,pC:0xb7,pD:0x563,pF:0x4dd,pb:0x63,pT:0xd7,pU:'I9j^',ph:0x5f8,pu:0x552,pI:0x600,pi:'oNP^',pR:0x3de,pZ:'uyr2',pO:0x3ca,pE:0x43f,pz:0x44a,pp:'Nha4',pv:0x3f8,pK:0x45e,pY:0x3ee,pA:0x1a8,pX:0x16b,pG:'rg5B',pr:0x12b,pn:0x1c5,pg:0x453,pq:'a64e',pk:0x3b1,pe:0x434,py:0x48,ps:'@[uX',pM:0xb5,pm:0x6ba,pB:0x654,pj:0x5bd,px:'#Zn2',pd:0x5e9,pQ:0x53d,po:0x5a5,pf:0x4cf,pt:'o4As',pV:0x485,pW:0x482,pl:0x49a,pJ:0x5cc,pH:0x5d2,pL:0x5d1,pS:0x527,pc:0xca,pw:0xa2,pP:0x12,pN:0xf0},DF={T:0x15a,U:0x35,h:0x52,u:0x6d},DD={T:0x37b,U:0x15f,h:0x4b,u:0x117},DC={T:0x421,U:0x394,h:0x3ff,u:0x4a3,I:'e#QV',i:'48Eu',R:0x280,Z:0x1fe,O:0x1a7,E:0x16f,z:0xde,p:'9Y2V',v:0x109,K:0x8b,Y:0xa9,A:0x3ee,X:0x47e,G:0x482,r:0x40a,n:'iQSC',g:'[k8l',q:0x1b2,k:0x18a,e:0x1c1,y:0x233,s:0x4e7,M:0x5ad,DD:'4A*4',DF:0x493,Db:0x52c,DT:0x475,DU:0x49f,Dh:0x42d,Du:0x468,DI:'egZI'},D9={T:'[k8l',U:0x36c,h:0x3ae,u:0x367,I:0x3ba,i:0x153,R:0x234,Z:0x1c0,O:'@i#O',E:0x16e,z:0x343,p:0x38a,v:0x394,K:0x382,Y:'l@5%',A:0x419,X:0x3f7,G:0x4a7,r:0x3ec,n:'oNP^',g:0x3dd,q:'Nha4',k:0x3c4,e:0x3b5,y:0x384,s:0x470,M:'QokO',DC:0x405,DD:0x521,DF:0x48a},D3={T:0x48,U:0x53e,h:0x194,u:0x1c7},D2={T:0x598,U:0x4cc,h:0x4fd,u:0x4f5,I:'Htoc'},D0={T:0x14d,U:0x307,h:0x1ee,u:0xe7},CN={T:0x157,U:0x63c,h:0xa6,u:0xaa},Cw={T:0x460,U:0xc1,h:0xba,u:0x3d},Cc={T:0x428,U:0xf8,h:0x144,u:0x45},Cs={T:0x258,U:0x159,h:0x15d,u:0xef};function N(T,U,h,u,I){return L(h-Cs.T,U-Cs.U,I,u-Cs.h,I-Cs.u);}const u={'DTSXm':c(Db.T,Db.U,Db.h,Db.u,Db.I)+c(Db.i,Db.R,Db.Z,Db.O,Db.E)+w(-Db.z,-Db.p,-Db.v,-Db.K,Db.Y),'IHYtm':function(i){return i();},'IabbY':function(i,R,Z){return i(R,Z);},'AMkLh':function(i,R){return i===R;},'BnUjp':c(Db.A,Db.X,Db.G,Db.r,Db.n)+N(Db.g,Db.q,Db.k,Db.e,Db.y),'wZpGA':P(-Db.s,-Db.M,Db.DT,-Db.DU,-Db.Dh)+a(Db.Du,Db.DI,Db.Di,Db.U,Db.DR)+'l','TYFNO':c(Db.DZ,Db.DO,Db.DE,Db.Dz,Db.Dp)+c(Db.Dv,Db.DK,Db.DY,Db.DA,Db.DX)+P(Db.DG,-Db.Dr,Db.Dn,-Db.Dg,-Db.Dq),'iYCVI':w(-Db.Dk,Db.De,Db.Dy,-Db.Ds,Db.DM)+a(-Db.Dm,-Db.DB,Db.Dj,Db.DT,-Db.Dx)+a(-Db.Dd,-Db.DQ,-Db.Do,Db.Df,-Db.Dt)+P(-Db.DV,-Db.DW,Db.Dl,-Db.DJ,-Db.DH)+'n','QjQXm':P(-Db.DL,-Db.Dt,Db.DS,-Db.Dc,-Db.Dw)+c(Db.DP,Db.DN,Db.Da,Db.F0,Db.F1)+c(Db.O,Db.F2,Db.F3,Db.F4,Db.F5)+'on','JAwra':P(-Db.F6,-Db.F7,Db.F8,-Db.F9,Db.FC)+w(-Db.FD,-Db.FF,-Db.Fb,-Db.FT,Db.FU)+w(-Db.Fh,-Db.Fu,-Db.FI,-Db.Fi,Db.FR)+P(Db.FZ,-Db.FO,Db.FE,Db.Fz,-Db.Fp),'fgFLw':w(Db.Fv,-Db.FK,-Db.FY,-Db.FA,Db.FX)+w(-Db.FG,-Db.Fr,-Db.Fn,-Db.Fg,Db.Fq)+a(-Db.Fk,Db.Fe,-Db.Dm,Db.Fy,Db.Fs),'eWPxs':w(-Db.FM,Db.Fm,Db.FB,-Db.Fj,Db.Fx)+c(Db.Fd,Db.FQ,Db.Fo,Db.Ff,Db.Ft)+'re','BDMZK':N(Db.FV,Db.FW,Db.Fl,Db.FJ,Db.FH),'RUzfi':a(Db.F7,Db.FL,Db.FS,Db.Fc,Db.Fw)+'ss','ppHGN':N(Db.FP,Db.FN,Db.Fa,Db.b0,Db.b1)+a(-Db.b2,-Db.b3,-Db.b4,Db.b5,-Db.DB)+a(Db.b6,Db.b7,Db.b8,Db.b9,Db.bC),'mjxft':w(Db.FG,-Db.Dk,Db.bD,-Db.bF,Db.FR)+c(Db.bb,Db.bT,Db.u,Db.bU,Db.bh)+c(Db.bu,Db.bI,Db.bi,Db.bR,Db.bZ),'qGRei':P(-Db.bO,-Db.Fr,Db.bE,-Db.bz,-Db.bp),'Yvrup':function(i,R){return i(R);},'BYsqL':function(i,R){return i(R);},'JCMJK':P(-Db.bv,-Db.bK,Db.bY,-Db.bA,-Db.bX)+P(-Db.bG,-Db.br,Db.bn,-Db.bg,-Db.bq)+'4','ZwagV':P(-Db.bk,-Db.be,Db.by,-Db.bs,-Db.bM)+'an','dHwnD':P(-Db.bm,-Db.bB,Db.DK,Db.bj,-Db.FK)+P(-Db.bx,-Db.bd,Db.bQ,-Db.bo,-Db.bf)+'ds','RNErc':N(Db.bt,Db.bV,Db.bW,Db.bl,Db.bJ)+N(Db.bH,Db.bL,Db.bS,Db.bc,Db.bw),'oBuBg':w(-Db.bP,-Db.bN,-Db.ba,-Db.T0,Db.T1)+N(Db.T2,Db.T3,Db.T4,Db.bW,Db.T5)+w(-Db.T6,-Db.T7,-Db.T8,-Db.T9,Db.TC),'eJVIc':function(i,R){return i===R;},'CKwOx':function(i,R){return i===R;},'TKwsW':function(i,R){return i(R);},'AVwWV':w(-Db.TD,-Db.TF,-Db.Tb,-Db.TT,Db.TU)+N(Db.Th,Db.Tu,Db.TI,Db.Ti,Db.TR)+P(-Db.TZ,-Db.Fb,Db.Fq,-Db.TO,-Db.TE)+'t','uSujj':function(i,R){return i===R;},'HmqdU':P(-Db.Tz,-Db.Tp,Db.Fx,-Db.Dk,-Db.Dj)+a(Db.Tv,Db.TK,Db.TY,Db.Fx,-Db.TA)+P(-Db.TX,-Db.TG,Db.Tr,-Db.Tn,-Db.Tg),'qsPOT':a(-Db.Tq,-Db.Tq,-Db.Tk,Db.Te,-Db.Ty)+a(-Db.Ts,-Db.TM,-Db.Tm,Db.TB,-Db.Tj)+P(-Db.Tx,-Db.Td,Db.FH,Db.TQ,-Db.T0)+w(-Db.To,-Db.Tf,-Db.Tt,-Db.TV,Db.bY),'WssQZ':function(i,R){return i===R;},'BwvSF':N(Db.TW,Db.Tl,Db.TJ,Db.TH,Db.TL)+P(-Db.TS,-Db.Tc,Db.Tw,-Db.TP,-Db.TN)+N(Db.Ta,Db.Dv,Db.U0,Db.U1,Db.U2),'fbwBx':a(-Db.bF,Db.U3,Db.U4,Db.Te,-Db.Fn)+P(-Db.U5,-Db.U6,Db.U7,-Db.U8,-Db.U9)+'e','XEJcu':function(i,R){return i!==R;},'bEjWk':function(i,R){return i===R;},'dHfyc':w(-Db.UC,-Db.UD,-Db.UF,-Db.Ub,Db.TC)+'r','sCKAu':c(Db.UT,Db.UU,Db.Uh,Db.Uu,Db.bi)+P(-Db.UI,-Db.Ui,Db.UR,-Db.UZ,-Db.UO)+N(Db.UE,Db.Uz,Db.Up,Db.Uv,Db.FH),'Jynrm':N(Db.UK,Db.UY,Db.UA,Db.UX,Db.UG)+P(-Db.Ur,-Db.Un,Db.b1,-Db.Ug,-Db.Uq)+a(Db.Uk,Db.M,Db.Ue,Db.bn,Db.Uy)+'sh','aiJJM':function(i,R){return i(R);},'YEasK':P(-Db.Us,-Db.UM,Db.Um,-Db.UB,-Db.Uj)+a(-Db.Ux,-Db.Ud,-Db.UQ,Db.bw,-Db.Uo)+c(Db.Uf,Db.Ut,Db.F4,Db.UV,Db.bH)+N(Db.UW,Db.Ul,Db.UJ,Db.UH,Db.UL),'BJVRQ':a(Db.US,-Db.Fm,Db.FZ,Db.Uc,Db.Fj)+w(-Db.Uw,-Db.UP,-Db.bz,-Db.UN,Db.UL)+a(-Db.Ua,Db.h0,-Db.bB,Db.h1,-Db.h2)+w(-Db.h3,-Db.h4,Db.h5,-Db.h6,Db.U),'uXRPL':a(-Db.h7,Db.h8,-Db.h9,Db.hC,Db.hD)+N(Db.hF,Db.hb,Db.hT,Db.e,Db.hU)+c(Db.hh,Db.hu,Db.hI,Db.hi,Db.hR)+'l','PQmDQ':function(i,R){return i/R;},'wEJbv':function(i,R){return i*R;},'ofbjU':function(i,R){return i===R;},'YiWpB':a(-Db.hZ,-Db.hO,-Db.hE,Db.Tw,Db.F9)+a(-Db.Dj,-Db.hz,Db.FB,Db.hp,Db.Fp)+'sh','OohKh':c(Db.hv,Db.hK,Db.hY,Db.G,Db.u)+'ed','Wdzyu':w(-Db.hA,-Db.hX,-Db.hG,-Db.hr,Db.bY)+'d','RTcEy':function(i,R){return i(R);},'bSaYN':N(Db.hn,Db.hg,Db.hq,Db.hk,Db.he)+a(Db.hy,Db.hs,Db.hM,Db.UL,Db.hm)+N(Db.hB,Db.hj,Db.hx,Db.hd,Db.hQ),'FtZyr':w(-Db.ho,-Db.bf,-Db.hf,-Db.Tz,Db.ht)+N(Db.hV,Db.hW,Db.hl,Db.hJ,Db.hH)+P(-Db.hL,-Db.bM,Db.hS,-Db.hc,-Db.hw)};function w(T,U,h,u,I){return L(u- -Cc.T,U-Cc.U,I,u-Cc.h,I-Cc.u);}const I={};try{const i=U[N(Db.hP,Db.hN,Db.ha,Db.u0,Db.u1)+w(-Db.u2,-Db.u3,-Db.Ur,-Db.u4,Db.U)+w(-Db.u5,-Db.u6,-Db.u7,-Db.u8,Db.u9)];if(u[N(Db.uC,Db.uD,Db.uF,Db.ub,Db.T5)](i?.[P(-Db.uT,-Db.uU,Db.uh,-Db.uu,-Db.uI)+N(Db.ui,Db.uR,Db.uZ,Db.uO,Db.uE)+N(Db.k,Db.uz,Db.up,Db.ui,Db.uv)+c(Db.uK,Db.uY,Db.uA,Db.uX,Db.uG)],undefined)){const R=u[a(Db.ur,Db.un,-Db.ug,Db.uq,Db.Ug)][N(Db.uk,Db.ue,Db.uy,Db.bR,Db.FE)]('|');let Z=-0x1bb6+0x1efc+-0x2*0x1a3;while(!![]){switch(R[Z++]){case'0':I[u[w(Db.Uq,Db.us,-Db.uM,-Db.um,Db.uB)]]=null;continue;case'1':I[u[c(Db.uj,Db.T1,Db.ux,Db.ud,Db.uQ)]]=null;continue;case'2':I[u[w(-Db.uo,-Db.FY,-Db.uf,-Db.ut,Db.Fq)]]=null;continue;case'3':I[u[N(Db.uV,Db.uW,Db.ul,Db.uJ,Db.uH)]]=null;continue;case'4':I[u[N(Db.hj,Db.uL,Db.uS,Db.uc,Db.DT)]]=null;continue;}break;}}else{const O=await i[c(Db.uw,Db.T1,Db.uP,Db.uN,Db.ua)+c(Db.I0,Db.TC,Db.DX,Db.I1,Db.I2)+a(Db.I3,-Db.I4,-Db.I5,Db.I6,Db.I7)+c(Db.I8,Db.I9,Db.IC,Db.ID,Db.IF)]([u[N(Db.uF,Db.Ib,Db.IT,Db.IU,Db.Ih)],u[N(Db.UA,Db.Iu,Db.II,Db.Ii,Db.FR)],u[c(Db.IR,Db.IZ,Db.IO,Db.IE,Db.Iz)],u[w(-Db.Ip,-Db.Iv,-Db.IK,-Db.Dt,Db.IY)],u[c(Db.IA,Db.IX,Db.IG,Db.Ir,Db.In)],u[N(Db.Ig,Db.Iq,Db.Uv,Db.Ik,Db.IX)],u[c(Db.Ie,Db.Fq,Db.Iy,Db.Is,Db.IM)]]);I[u[w(Db.Im,Db.Ue,Db.Fe,-Db.IB,Db.Tr)]]=u[P(-Db.Ij,-Db.Ix,Db.F2,-Db.Id,-Db.IQ)](asString,O[u[P(-Db.FY,-Db.U5,Db.DM,-Db.Io,Db.If)]]),I[u[P(-Db.It,-Db.IV,Db.IW,-Db.Il,-Db.IJ)]]=u[c(Db.IH,Db.IL,Db.IS,Db.Ic,Db.Iw)](asString,O[u[P(-Db.IP,-Db.Tx,Db.IN,-Db.Ia,-Db.i0)]]),I[u[N(Db.i1,Db.i2,Db.i3,Db.hq,Db.i4)]]=u[P(-Db.i5,-Db.i6,Db.hu,-Db.i7,-Db.i8)](asString,O[u[N(Db.i9,Db.i2,Db.iC,Db.iD,Db.iF)]]),I[u[a(-Db.ib,Db.iT,-Db.h7,Db.IN,-Db.F9)]]=u[P(-Db.FO,-Db.iU,Db.uh,-Db.ih,-Db.iu)](asString,O[u[w(-Db.iI,-Db.bz,-Db.ii,-Db.iR,Db.IN)]]),I[u[w(Db.iZ,Db.Dk,-Db.iO,-Db.F9,Db.iE)]]=u[P(-Db.iz,-Db.U4,Db.ip,-Db.iv,-Db.iK)](asString,O[u[N(Db.iY,Db.iA,Db.iX,Db.G,Db.iG)]]),I[u[c(Db.ir,Db.b9,Db.ig,Db.iq,Db.ik)]]=u[w(-Db.ie,-Db.iy,-Db.Dw,-Db.h2,Db.is)](typeof O[u[a(-Db.iM,-Db.Tv,-Db.Fj,Db.im,-Db.iB)]],u[c(Db.ij,Db.ix,Db.I8,Db.id,Db.iQ)])?O[u[w(-Db.M,-Db.io,Db.Uy,-Db.it,Db.iV)]]:null;const E=i[w(-Db.iW,-Db.il,-Db.iJ,-Db.Ij,Db.iH)+'s']??[];I[u[a(-Db.iL,-Db.U3,Db.iS,Db.ic,Db.iw)]]=E[w(-Db.FD,-Db.hA,-Db.iP,-Db.iN,Db.Df)](z=>z[a(0x67,0x8b,0x79,'ArdJ',0x96)]+'/'+z[a(-0xaf,-0x123,-0xb0,'uO(G',-0xd0)+'on'])[a(-Db.u7,-Db.ia,-Db.bC,Db.R0,-Db.R1)]()[N(Db.R2,Db.R3,Db.R4,Db.R5,Db.R6)](',');}}catch{I[u[w(-Db.R7,-Db.R8,-Db.R9,-Db.RC,Db.RD)]]=null;}function P(T,U,h,u,I){return L(U- -Cw.T,U-Cw.U,h,u-Cw.h,I-Cw.u);}try{const z=h[w(-Db.hL,-Db.RF,-Db.Rb,-Db.RT,Db.T5)+c(Db.RU,Db.Rh,Db.Ru,Db.RI,Db.Ri)+N(Db.RR,Db.RZ,Db.RO,Db.RE,Db.Rz)];if(u[N(Db.A,Db.Rp,Db.Rv,Db.RK,Db.FE)](z,undefined))I[u[N(Db.RY,Db.RA,Db.RX,Db.E,Db.RG)]]=null,I[u[P(Db.Rr,-Db.Rn,Db.TU,-Db.Rg,-Db.iO)]]=null;else{let p=z[a(-Db.Rq,-Db.Rk,-Db.Re,Db.Ry,-Db.bN)+c(Db.Rs,Db.RM,Db.Rm,Db.RB,Db.Rj)]();u[N(Db.Rx,Db.Rd,Db.RQ,Db.Ro,Db.Rf)](p[P(-Db.Rt,-Db.RV,Db.RW,-Db.Rl,-Db.RJ)+'h'],-0x7*-0x18d+-0x2*-0x2a1+0x55f*-0x3)&&(await new Promise(v=>{const D8={T:0x92,U:0x49,h:0x89,u:0x115},D7={T:0x31,U:0x41,h:0x71,u:0x1ea},D5={T:0x59,U:0x178,h:0xe5,u:0xea},Ca={T:0x180,U:0x1d0,h:0x1a0,u:0x17d},CP={T:0x9b,U:0x506,h:0x100,u:0x80};function C0(T,U,h,u,I){return P(T-CP.T,T-CP.U,I,u-CP.h,I-CP.u);}function CC(T,U,h,u,I){return P(T-CN.T,I-CN.U,h,u-CN.h,I-CN.u);}function C8(T,U,h,u,I){return P(T-Ca.T,h-Ca.U,U,u-Ca.h,I-Ca.u);}function C7(T,U,h,u,I){return P(T-D0.T,h-D0.U,T,u-D0.h,I-D0.u);}const K={'ovMLd':u[C0(DC.T,DC.U,DC.h,DC.u,DC.I)],'LFnaa':function(X){const D1={T:0x7d,U:0xd5,h:0x122,u:0x1c6};function C1(T,U,h,u,I){return C0(h-D1.T,U-D1.U,h-D1.h,u-D1.u,I);}return u[C1(D2.T,D2.U,D2.h,D2.u,D2.I)](X);}};function C9(T,U,h,u,I){return P(T-D3.T,T-D3.U,u,u-D3.h,I-D3.u);}let Y=![];const A=()=>{const D6={T:0xa5,U:0x161,h:0x94,u:0x1f},D4={T:0x21e,U:0xfa,h:0x1c2,u:0xb3};if(Y)return;function C3(T,U,h,u,I){return C0(h- -D4.T,U-D4.U,h-D4.h,u-D4.u,u);}function C5(T,U,h,u,I){return C0(U- -D5.T,U-D5.U,h-D5.h,u-D5.u,h);}Y=!![];function C2(T,U,h,u,I){return C0(U- -D6.T,U-D6.U,h-D6.h,u-D6.u,T);}try{z[C2(D9.T,D9.U,D9.h,D9.u,D9.I)+C3(D9.i,D9.R,D9.Z,D9.O,D9.E)+C4(D9.z,D9.p,D9.v,D9.K,D9.Y)+C4(D9.A,D9.X,D9.G,D9.r,D9.n)](K[C6(D9.g,D9.q,D9.k,D9.e,D9.y)],A);}catch{}function C6(T,U,h,u,I){return C0(T- -D7.T,U-D7.U,h-D7.h,u-D7.u,U);}function C4(T,U,h,u,I){return C0(T- -D8.T,U-D8.U,h-D8.h,u-D8.u,I);}K[C6(D9.s,D9.M,D9.DC,D9.DD,D9.DF)](v);};try{const X={};X[C7(DC.i,DC.R,DC.Z,DC.O,DC.E)]=!![],z[C8(DC.z,DC.p,DC.v,DC.K,DC.Y)+C0(DC.A,DC.X,DC.G,DC.r,DC.n)+C7(DC.g,DC.q,DC.k,DC.e,DC.y)+'r'](u[CC(DC.s,DC.M,DC.DD,DC.DF,DC.Db)],A,X);}catch{}u[C0(DC.DT,DC.DU,DC.Dh,DC.Du,DC.DI)](setTimeout,A,-0xdb4+0x265f+0xd*-0x1c7);}),p=z[w(-Db.RH,-Db.RL,-Db.RS,-Db.Rc,Db.RM)+N(Db.Rw,Db.RP,Db.RN,Db.Ra,Db.FR)]()),I[u[P(-Db.Z0,-Db.Z1,Db.R0,-Db.Z2,-Db.Z3)]]=p[P(Db.iK,-Db.I5,Db.hC,-Db.Z4,Db.Z5)+'h'],I[u[c(Db.Iz,Db.Z6,Db.Z7,Db.Z8,Db.Z9)]]=u[N(Db.ZC,Db.ZD,Db.ZF,Db.Zb,Db.h1)](p[N(Db.ZT,Db.ZU,Db.Dp,Db.Zh,Db.ip)+'h'],-0x229f+0x11b2+0x10ed)?null:u[w(-Db.Zu,-Db.bK,-Db.ZI,-Db.Zi,Db.IY)](hash,p[c(Db.Ir,Db.ic,Db.ZR,Db.ik,Db.ZZ)](K=>K[a(0x53,0xc9,0x30,'c4dk',0x97)]+'|'+K[P(-0x1b9,-0x18a,'uO(G',-0xfe,-0x1ff)]+'|'+K[N(0x551,0x629,0x5c1,0x53a,'yd2V')+N(0x5ef,0x55e,0x5d9,0x5a9,'QokO')+'ce'])[a(Db.ZO,Db.ZE,Db.UI,Db.Zz,Db.Ds)]()[w(-Db.I4,Db.Zp,-Db.bf,-Db.Zv,Db.ZK)](',')),I[u[P(-Db.ZY,-Db.ZA,Db.ZX,-Db.ZG,-Db.Zr)]]=p[P(-Db.Zn,-Db.v,Db.Dl,-Db.Zg,-Db.Zq)](K=>K[a(0x7b,0x98,0xea,'Y[(0',0xfa)+'lt'])?.[N(Db.Zk,Db.Ze,Db.h,Db.Zy,Db.Zs)]??null;}}catch{I[u[a(-Db.bB,-Db.F7,Db.h7,Db.b5,Db.Tv)]]=null;}try{const v=U[N(Db.ZM,Db.Zm,Db.ZB,Db.Zj,Db.Zx)];if(u[a(-Db.Zd,Db.ZQ,-Db.Zo,Db.Zf,-Db.it)](v?.[w(-Db.Zt,Db.Ds,-Db.FS,-Db.ZV,Db.uq)+N(Db.Iy,Db.ZW,Db.Zl,Db.ZJ,Db.ZH)+w(-Db.ZL,-Db.I7,-Db.ZQ,-Db.ZS,Db.FH)],undefined))I[u[N(Db.n,Db.hj,Db.Zc,Db.Dp,Db.bY)]]=null,I[u[N(Db.Zw,Db.ZP,Db.ZN,Db.up,Db.Df)]]=null;else{const K=await v[N(Db.Za,Db.Tu,Db.hJ,Db.O0,Db.O1)+a(-Db.O2,-Db.O3,-Db.O4,Db.ip,-Db.O5)+w(-Db.hA,-Db.be,-Db.Tb,-Db.Rl,Db.O6)]();if(u[a(-Db.Fg,-Db.F9,Db.O7,Db.Tr,-Db.O8)](K,null))I[u[a(Db.O9,Db.OC,Db.Tf,Db.OD,Db.OF)]]=null,I[u[a(Db.Ob,-Db.h7,Db.OT,Db.I6,-Db.io)]]=null,I[u[N(Db.OU,Db.Oh,Db.Ou,Db.OI,Db.Zf)]]=u[N(Db.Oi,Db.OR,Db.OZ,Db.OO,Db.uE)];else{I[u[P(-Db.OE,-Db.Oz,Db.Op,-Db.Ov,-Db.OK)]]=K[a(-Db.OY,-Db.OA,-Db.OX,Db.OG,-Db.Or)]?.[c(Db.On,Db.Og,Db.R5,Db.Oq,Db.Ok)+'r']??null,I[u[a(-Db.Tt,-Db.Oe,-Db.Oy,Db.Os,-Db.OM)]]=K[P(-Db.Om,-Db.OB,Db.Oj,-Db.Zr,-Db.Om)]?.[P(-Db.Ox,-Db.Od,Db.F2,-Db.OQ,-Db.Oo)+c(Db.Of,Db.Ot,Db.OV,Db.OW,Db.Ro)+'re']??null;const Y=K[w(-Db.Ol,-Db.OJ,-Db.Iv,-Db.hD,Db.OH)+'s'],A=[];if(u[c(Db.OL,Db.OS,Db.Oc,Db.Ow,Db.OP)](Y,undefined)&&u[c(Db.ON,Db.Oa,Db.E0,Db.IS,Db.E1)](Y,null))for(const X in Y){const G=Y[X];if(u[w(-Db.E2,-Db.E3,-Db.TG,-Db.E4,Db.DS)](typeof G,u[c(Db.E5,Db.E6,Db.E7,Db.E8,Db.E9)]))A[P(-Db.EC,-Db.ED,Db.EF,-Db.Eb,-Db.ET)](X+'='+G);}A[N(Db.T2,Db.EU,Db.Eh,Db.u0,Db.uE)](),I[u[a(Db.Eu,Db.DU,Db.EI,Db.Ei,Db.Uo)]]=A[w(-Db.iv,-Db.ER,-Db.UD,-Db.Ol,Db.Zx)+'h'],I[u[a(-Db.EZ,-Db.EO,-Db.EE,Db.Ez,-Db.Ep)]]=u[a(-Db.TN,Db.ho,Db.Ur,Db.RD,-Db.Ev)](A[w(-Db.EK,-Db.EY,-Db.EA,-Db.EX,Db.EG)+'h'],0xbd5+0x1930+-0x2505)?null:u[P(-Db.iv,-Db.Er,Db.En,-Db.Eg,-Db.Eq)](hash,A[N(Db.DX,Db.Ek,Db.Ee,Db.Ey,Db.Es)]('|'));}}}catch{I[u[c(Db.EM,Db.Em,Db.E8,Db.EB,Db.Ej)]]=null;}try{const r=U[a(-Db.Ex,Db.Ed,-Db.EQ,Db.uE,-Db.OY)+w(Db.Eo,Db.Ip,-Db.Ef,-Db.Et,Db.Tr)];if(u[P(-Db.hy,-Db.EV,Db.ht,Db.EW,-Db.El)](r,undefined))I[u[N(Db.EJ,Db.EH,Db.EL,Db.ES,Db.U2)]]=![],I[u[c(Db.Uf,Db.bw,Db.DY,Db.Ec,Db.Ew)]]=null;else{const n=await r[a(Db.EP,Db.OB,Db.bj,Db.EN,-Db.Ea)](U);I[u[w(-Db.hm,Db.Fm,Db.z0,-Db.io,Db.FR)]]=!![],I[u[a(-Db.iO,-Db.Uy,Db.FZ,Db.z1,Db.z2)]]=n[c(Db.z3,Db.Os,Db.z4,Db.z5,Db.z6)+P(-Db.z7,-Db.z8,Db.RM,-Db.TD,-Db.z9)],I[u[P(-Db.zC,-Db.UI,Db.bQ,-Db.zD,-Db.zF)]]=u[a(-Db.OK,-Db.Oe,-Db.zb,Db.zT,Db.zU)](Math[N(Db.zh,Db.RZ,Db.zu,Db.zI,Db.zi)](u[w(-Db.zR,-Db.b4,-Db.hz,-Db.zZ,Db.zO)](n[c(Db.zE,Db.zz,Db.Dv,Db.zp,Db.zv)],0x1388+0x23*-0xd3+-0x5*-0x1df)),0xb28+0x4b9+-0xfd7);}}catch{I[u[N(Db.zK,Db.zY,Db.zA,Db.zX,Db.zG)]]=null;}function a(T,U,h,u,I){return L(T- -DD.T,U-DD.U,u,u-DD.h,I-DD.u);}function c(T,U,h,u,I){return L(u-DF.T,U-DF.U,U,u-DF.h,I-DF.u);}try{const g=U[P(-Db.zr,-Db.zn,Db.Dn,-Db.U9,-Db.zg)+N(Db.zq,Db.zk,Db.hk,Db.ze,Db.Fq)+'s'];if(u[w(Db.zy,Db.zs,Db.O4,-Db.zM,Db.uE)](g?.[a(-Db.EY,-Db.zm,-Db.zB,Db.zj,-Db.zx)],undefined))I[u[a(-Db.zd,-Db.zQ,Db.zo,Db.zf,-Db.zD)]]=null;else{const q=[];let k=-0xb89+-0x1d47+-0x4*-0xa34,e=-0x3*-0x1f+-0x13dc+0x1*0x137f;for(const y of PERMISSIONS){try{const s={};s[a(Db.zt,Db.zV,Db.Fz,Db.zW,-Db.zl)]=y;const M=await g[P(-Db.ii,-Db.zJ,Db.X,-Db.zH,-Db.zL)](s);q[N(Db.zS,Db.OZ,Db.zc,Db.zw,Db.zP)](y+'='+M[a(-Db.zN,Db.Ea,-Db.iJ,Db.za,-Db.p0)]);if(u[c(Db.p1,Db.p2,Db.p3,Db.p4,Db.p5)](M[P(-Db.p6,-Db.p7,Db.p8,-Db.p9,-Db.pC)],u[c(Db.hg,Db.F2,Db.ZN,Db.pD,Db.pF)]))k++;else{if(u[a(-Db.pb,Db.zl,-Db.pT,Db.pU,-Db.Tq)](M[N(Db.ph,Db.UT,Db.pu,Db.pI,Db.pi)],u[c(Db.pR,Db.pZ,Db.pO,Db.pE,Db.Iz)]))e++;}}catch{q[c(Db.pz,Db.pp,Db.pv,Db.pK,Db.pY)](y+(P(-Db.pA,-Db.pX,Db.pG,-Db.pr,-Db.pn)+c(Db.pg,Db.pq,Db.pk,Db.bu,Db.pe)+'ed'));}}I[u[P(-Db.py,-Db.Ug,Db.ps,-Db.Ef,-Db.pM)]]=u[N(Db.pm,Db.z6,Db.pB,Db.pj,Db.px)](hash,q[c(Db.zh,Db.uv,Db.pd,Db.pQ,Db.po)]('|')),I[u[c(Db.pf,Db.pt,Db.pV,Db.pW,Db.pl)]]=k,I[u[N(Db.pJ,Db.pH,Db.pL,Db.pS,Db.DM)]]=e;}}catch{I[u[P(-Db.pc,-Db.pw,Db.he,-Db.pP,-Db.pN)]]=null;}return I;}};function asString(U){const DZ={T:0x1a8,U:0x11d,h:0xe1,u:'Y[(0',I:0xec,i:0x364,R:0x354,Z:'&S7a',O:0x38f,E:0x2fb,z:0xe2,p:0x67,v:0x8d,K:')%ZW',Y:0x4a,A:0xa5,X:0xb2,G:0x148,r:'a64e',n:0x8,g:'MHd#',q:0x3cd,k:0x438,e:0x3e6,y:0x418,s:0xa7,M:0xcc,DO:0x5f,DE:'uyr2',Dz:0x120,Dp:0xe4,Dv:0x176,DK:0x21b,DY:'Ta63',DA:0x1a4},DR={T:0x147,U:0x18,h:0x30a,u:0xa5},Du={T:0x1a8,U:0x190,h:0x264,u:0x83},Dh={T:0xdb,U:0xf5,h:0x389,u:0x32},DU={T:0x26,U:0x183,h:0x22b,u:0x1db},DT={T:0x1e0,U:0xbc,h:0x1d8,u:0x68};function CD(T,U,h,u,I){return J(T-DT.T,U-DT.U,u,U- -DT.h,I-DT.u);}const h={};function CF(T,U,h,u,I){return J(T-DU.T,U-DU.U,h,T-DU.h,I-DU.u);}function Cb(T,U,h,u,I){return J(T-Dh.T,U-Dh.U,T,h-Dh.h,I-Dh.u);}function CT(T,U,h,u,I){return J(T-Du.T,U-Du.U,I,U- -Du.h,I-Du.u);}h[CD(-DZ.T,-DZ.U,-DZ.h,DZ.u,-DZ.I)]=function(I,i){return I===i;},h[CF(DZ.i,DZ.R,DZ.Z,DZ.O,DZ.E)]=CD(-DZ.z,-DZ.p,-DZ.v,DZ.K,-DZ.Y)+'g',h[CD(-DZ.A,-DZ.X,-DZ.G,DZ.r,-DZ.n)]=function(I,i){return I!==i;};const u=h;function CU(T,U,h,u,I){return J(T-DR.T,U-DR.U,T,I-DR.h,I-DR.u);}return u[CU(DZ.g,DZ.q,DZ.k,DZ.e,DZ.y)](typeof U,u[CD(-DZ.s,-DZ.M,-DZ.DO,DZ.DE,-DZ.Dz)])&&u[CD(-DZ.Dp,-DZ.Dv,-DZ.DK,DZ.DY,-DZ.DA)](U,'')?U:null;}function b(C,D){C=C-(-0xd6*0x25+-0x6e+-0x829*-0x4);const T=F();let U=T[C];if(b['BvyouZ']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return 0x3c*-0x26+-0x18ad*-0x1+-0xfc5;})['indexOf']('\x0a')!==-(0x1ab7+-0x1666+0x2*-0x228);for(let v=-0x34c+0x1ac*0xd+-0x1270,K,Y,A=0xbc5+-0x10e3*-0x1+-0x1ca8;Y=R['charAt'](A++);~Y&&(K=v%(0x1348+0xd4f+-0x2093)?K*(0x2694+0x157*0x2+-0x16a*0x1d)+Y:Y,v++%(0x1dba+-0xf17+-0xe9f))?O+=p||z['charCodeAt'](A+(0xb*-0xc1+-0x222+0xa77))-(0x254f+-0x3a7*-0x3+-0x181d*0x2)!==-0x1684+-0x173b+-0x2dbf*-0x1?String['fromCharCode'](0x1cc6+-0x1c78+0xb1&K>>(-(0x20e0+0x16cc+-0x37aa)*v&-0x16a2+-0xb63+0x220b)):v:-0x1*0xe19+0x86c+-0x1*-0x5ad){Y=Z['indexOf'](Y);}for(let X=-0x1*0x198f+-0xac3+0x2452*0x1,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](-0x3af+0x9*-0x1f3+0x154a))['slice'](-(0x1*-0x11e7+-0x2056+0x323f));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=0x12*-0x223+0x5*-0x647+0x45d9*0x1,z,p='';R=h(R);let v;for(v=-0x1*0x21e9+0x1*-0xcdb+0x124*0x29;v<0x22d4+0x4*-0x4e9+0xe30*-0x1;v++){O[v]=v;}for(v=0x316*-0x3+-0x13e4+-0x1d26*-0x1;v<-0x19a0+-0x1a86*-0x1+0x1a;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(0x1*-0x243d+0x12c1*0x2+-0x17*0x3),z=O[v],O[v]=O[E],O[E]=z;}v=0x3*0x403+0x2d8+-0xee1*0x1,E=0x1*-0xd31+0x1ba1+-0x108*0xe;for(let K=-0x34*0x89+-0x315*-0x9+0x1*0x17;K<R['length'];K++){v=(v+(-0x3c5*-0x5+-0x4b0*0x5+0x498))%(-0x3b*-0xb+-0x1356+0x11cd),E=(E+O[v])%(-0x100*-0x24+-0x3*-0x353+-0x1d*0x18d),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(0x934+0x119+-0x94d)]);}return p;};b['zINKrQ']=i,b['bcCimB']={},b['BvyouZ']=!![];}const u=T[0x3*-0xa51+0x2ab*0xb+-0x2*-0xcd];b['DWPzXZ']!==u&&(b['bcCimB']={},b['DWPzXZ']=u);const I=b['bcCimB'][C];if(I===undefined){if(b['GTrhmj']===undefined){const R=function(Z){this['hVBPqb']=Z,this['RaVhse']=[0x2281+0x1*-0x47+0x1*-0x2239,-0x1162*-0x2+-0xce*0x1a+0xdd8*-0x1,0x42*-0x4e+-0x15fa+0x1*0x2a16],this['RZwpxM']=function(){return'newState';},this['psSITg']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['TXmjWH']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['uoLahv']=function(){const Z=new RegExp(this['psSITg']+this['TXmjWH']),O=Z['test'](this['RZwpxM']['toString']())?--this['RaVhse'][-0x5bc+-0xcce*0x1+0x128b]:--this['RaVhse'][0x126a+0xa*-0x305+0xbc8];return this['AFCavc'](O);},R['prototype']['AFCavc']=function(Z){if(!Boolean(~Z))return Z;return this['NlkIBh'](this['hVBPqb']);},R['prototype']['NlkIBh']=function(Z){for(let O=-0xe67+0xef*0x7+0x7de,E=this['RaVhse']['length'];O<E;O++){this['RaVhse']['push'](Math['round'](Math['random']())),E=this['RaVhse']['length'];}return Z(this['RaVhse'][-0xaf6+0x1*0x1cd6+0x11e0*-0x1]);},(''+function(){return 0xfb7+0x6b2*-0x2+-0x253;})['indexOf']('\x0a')===-(-0x14d*0x18+-0x19d6+0x390f)&&new R(b)['uoLahv'](),b['GTrhmj']=!![];}U=b['zINKrQ'](U,D),b['bcCimB'][C]=U;}else U=I;return U;}function F(){const DO=['i8k5khGH','W7XtW7WpWRG','W5mCjtrr','W5JcG34pWR4','hJRcHCoHWO0','BwmOdJe','W7zwW6y','tfRcHSoKW44','s1mjer0','wmorW6y0WOe','jSk/ohGU','W7HuuL/cTG','gqnBW6Dr','WQjrlW','Dfa9lq','A1j7W559','WOrmDw8ZkYvKzXSn','W4nfW73cOG','W5/cOMO3WQ8','W7HvW6uTWRG','WR8Vmmo4W58','W7biW5ScWR0','WOFcI8oTWRmI','W7lcVeJdM38','DmoGW7tdG8kb','ySo7DtzR','WRxcVCo5WRSQ','lapdJKLc','lSocW4irW6q','vCouW7P/WPq','yxxcVmkFFa','W67dVb/cLs4','W47dTmklWQhdPq','W4tcNxC','D1a8ia','mmkTWQBdOuG','WQ/cUCoLWQ8','cfFcT8kcWRu','A0W9oWK','WQzVWO/cVue','t8kPW7FdGuG','DSknW6hdGuO','W5bjW6BcMSkL','dtNdIL9a','WPbiWPhcG2m','iSkKlW','WPhcMbtdPq','hrzxW6fq','t3VcUqOwhWJdVvxdHCkXWP3dUq','W7/dSCkzWP/cGq','v3hdIr4CWOjiWQLDWOddL1in','W4XFrLxcTW','pZncW7vn','W5VdMvlcRZS','baHF','EvGOzWa','WPNdHmo3hr8','i1VcTSoiWPu','WPBcMeWd','WPBdHCk0BmoN','W5lcL3iSWRC','cKBcT8oaWRK','kbVdISoe','W7/dQZlcVWu','W4bZeeW','DulcKSoYW6i','W4jsA1ZcGa','WQ5qW7VcHhW','BKpcJCkKyW','WOdcHrVdTxu','ACkjW67dLa','h0pcTCoj','CSooACo9Dq','W6RcJ2tdPMi','WRldNSo6cH4','ANVcVG','W6P/BSoroq','zSokFq','CX5KW5S+','B8opW4NdI0O','AK09oW','W4dcHSoHnwy','AKWRiq','WR1JWO/cVLO','W4njW7hcUmk/','W7P6tK/cQG','WRRcNfOB','gdvnW7Lo','WQdcUCo7W6yH','WRldV8oRdHW','W6L8Dmo1W4jZe8oCWQ4','fJlcIeC','a8krWPtdP24','d1pcQCofWQu','DrXZW4W','W6mHWRmC','WQKmbrJdTwe7ACkQW7tcQSkV','WR/dQ8o8hqe','WPldOmk2u8kW','WOhdS8oChre','W55cW7u','CSoxW70WW4q','W5xcG8kFWQrs','W7LUqq','WP0VtgGtW7tdJtPB','WPxcU8ogWPyQ','W7NdQtm','W7iXWQmBgW','WPNdVmoUhrm','C3xcNCkgwa','WPb+WOddU8oa','t3FcV8kwFW','W61oW4i8WRG','CupcVtfmmmkz','WRtdHmoRaae','WOVcVKessq','WRdcQmoNWQe3','W4DzW57cPCkN','WPdcRKGQDq','xCkZWRNcOI0','v8k9W7RdLua','lJBdP8ohbq','W5hdPCkKWQldSa','W55pW7FcVW','W6naW6FcMMa','C1BcP8kbxG','WOf9dmkbW5K','WQi7cCkxgSkuFL5LWOv2gq','WOVcTmoYW7BcT8oSWOJdN3pcJ8k4W7i','W5ffW7ZcQa','Eq1LW5z8','WPxcLJZdJwC','cXhcQSofWOS','WRL+WOdcRLa','oSo0W6q7W54','W4BcTKe8WRi','l8obW5OzW74','rfhcUCk9uG','nCksWP3cMWpdHSk+uelcSCkJvmk5','W7eUgW','dsldUu8','ECoMW7JdISkx','D8oMW5hdPCkP','uCkJW7FdGh4','W5NcNMCWWR0','WQZcTSo4','WQlcRmo/WQ0X','WQtdJ8oWgXC','qmoSW4iGWQS','qs9pWRddNa','lSk+kfeR','ySoBFmoGFW','WQHFmq','W5SFmXXL','W5HWs2pcUG','oJ3cUmoKWOy','W6LZy8otpG','ot9+W51R','l2lcLmo0WQ0','W4tcGNO2WRu','WQRcTSoTWQC','W7XpW6u','q8oBW6SNWPi','W43dPCk4WRBdRq','zCo/W77dISkh','qqnzWPC','W6CHWQ8dgW','W7pdPI/cTbq','WP5cWRJdRSoQ','W4L9cqWw','WRdcT38HAG','WQG/n8oy','WPZcIeqrxG','y8oRW7VdP1e','BCoFzSoUza','W6rIECoroa','WOBcR8o3W4O8','W7bhrSokBq','W7jFueNdRW','gHFcTG','WPXcWQtdU8o7','W5avWQ0Rjq','Du8vbrq','AfJcLmoHW7C','WOhcGHpdRN4','W77dOmkrWP7cKG','W5C3WRm+lG','W7TtW7aMWQ4','fJlcT0zg','W41EtL/cQW','W7m7cGm8','W7rmEwBcIa','W57cQfapWPi','WPJdGSkwA8ki','C8oMBIX1n3ddUM7cLSoD','BxxcP8kC','WPlcI8onWOy/','DqTZW5XN','WRldRCo1dGy','W7FcTCoPkx0','b8kvWPdcGxe','iHpcQhDg','l0JcJtf3','WQ/cVCo9WQ0V','cdfOW6Tx','oCk1lwGN','WOBcOSoUWPqR','tXPKW4L6','WOdcSJhdGgu','W4dcJvpdPfO','W6T5DmkfWOCPrSosWQBcHCkzhCkj','nSoFW7u','B8o2yCo6za','oCk/kxmM','WQZcSCoOWQ0h','W4jntLNcSG','W6qRWRi','ba9YW5Lt','W5pcMxxcR1m','er/cUSog','W5hcIMBdQv0','WPOtn8obW7O','W5/cO8kgWPPk','W7XtW74LWQ8','W68uW6NdHa','AKWzlre','W7DUxCoi','WPXpWR3cPCo+','ACkaW4CbWQ8','W5tdRSkT','W57dOCk6W6VdSG','sSkGW64EWPi','gSoYWROEWPdcKZpdL8o4','W6JdLr/cOZG','v8ocW7ddO8km','WP/cLeObva','W5/cJ0ddI34','gbhcO8kgWP4','AmkcWQCuW5jLWR7dPaC','W7HnW6qTWRK','C8kIW7FdGmkh','t8kHW74+WOC','WQ8Lm8kgWOi','W5pcRCk9WQtdRW','WRhcTL48qW','WOlcLCoGWOqR','ASooW47dJ14','WRhdNmo6bbu','WOxdIszVWPD3gNZdLbq','f8kzoCklzW','o8kKow8','zs9KW5PG','WPnhWQddOSoT','y0xcLSoUW68','W5KTWPCFnG','W6fkW6xcJL8','WODVdu0d','CmooW4tdJvC','WP7dPSkOu8kW','W5SsaJbW','W4DCw8oMgW','cdpdLKDk','WRtcPmowWRWK','fCkZWRldIM4','smkLW7P1WPe','vhddGHSCWOmmWPj+WRtdGvy','DMNcNSk9FG','W7NdQxRcSWm','pY7cRf9P','BbD5W5f2','W47dQ8kPWPVcLa','tY9tWOBdLq','WRddNmoPqqC','W4TAde4D','EsHgW4DG','W6DSwCofrW','kMNcT8kCsq','z1BcMSoLW6K','W67dOdBcPGy','W79ZwLxcOq','W5jEW6hcPCkL','W6jwW4xcUf0','AmouBSoM','WQBdPColpZ4','ecZdPL4','WOjFi8kPW4S','W77dOmknWOtcGq','W55pW7pcUmkJ','pmozW7mSW5C','BSkhWQbNW4LWWQNdNW/cQG','oIBcPmo/WRG','WPxcLwWDtW','rCobW7G4WP0','W5OymbX8','kSk+khGM','W7PoW6eT','W5Ksi1KZ','W6zQumoa','uSkiW68TWOe','hsZdUXvu','WR9rlmkUW6y','rtP3W4Xy','asRdJSoffG','W63dOYxcPG','Dmo9W7RdGCka','W53cQCkCWP0','WPn8WPpcR0u','W7aXWRmh','nKVdG8o8WQS','W57dOCk6W6VdPG','WQVcTdddOMu','lSkImvKN','esZdUv8m','eSkrWO7dI2G','tSomW5ZdIMC','W5FcPSo1hhG','bsBcIWfB','WR7dNmo+arC','z8oSW4ldILC','BSoWW4aYWOy','WPNdS8k2FG','eYBcVvPh','yCoiW4pdIq','eSkvpw4j','WPTlWQVdQSoS','lXfoW4bI','W48vnsO','pSk2WPddTLe','tqXkW5ZdJG','udL4W55Y','W7HigMCi','W7/dSCkzWP/cKa','WQHJWPxcTfa','W6i1d0m6','uCkqWRZdJJW','EGP6W5nf','W7Pjx0tcQW','dCo/W5CSW5m','luKKWOzQWReUANRcSW','zmouBCo7','DmojBCo7uq','W6KDWOm5pq','yCoeW4pdMNy','W5ruvgFcQG','ACkDW7KQWQG','W7/dSCktWOpcHq','mSkpW5hdKx4tqW','W4xcQCkfWOPV','WQLRWPhdTfi','nG/dGSk2W5FcRaZcH8odgq','W7W/feOQ','W7qWWQuDdq','W5lcOmodFNO','W6tdTSk4WRddTa','WRBcQSoU','DCocW5/dI1C'];F=function(){return DO;};return F();}
|
|
1
|
+
import { hash } from '../hash.js';
|
|
2
|
+
/**
|
|
3
|
+
* What the platform will admit to when asked directly.
|
|
4
|
+
*
|
|
5
|
+
* Five probes that share a property: each is an API that answers about the
|
|
6
|
+
* machine or its configuration rather than about the page, and each is one an
|
|
7
|
+
* anti-detect browser has to remember to fake separately. A profile that
|
|
8
|
+
* rewrites its user agent, its GPU string and its core count will usually
|
|
9
|
+
* still report the voice list of the machine it is actually running on.
|
|
10
|
+
*
|
|
11
|
+
* None of them prompts. Geolocation and camera access are deliberately absent
|
|
12
|
+
* from this file: both require permission, both are visible to the user, and a
|
|
13
|
+
* login page that asks is a login page people abandon.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Permissions worth asking the *state* of.
|
|
17
|
+
*
|
|
18
|
+
* `permissions.query` returns granted / denied / prompt without prompting, and
|
|
19
|
+
* the pattern across them is a configuration fingerprint: a fresh automation
|
|
20
|
+
* profile answers `prompt` to everything, where a machine somebody actually
|
|
21
|
+
* uses has a scatter of granted and denied.
|
|
22
|
+
*
|
|
23
|
+
* The list is the subset Chromium answers for. Querying a name an engine does
|
|
24
|
+
* not know throws, which is caught and recorded as unsupported — itself a
|
|
25
|
+
* difference between engines.
|
|
26
|
+
*/
|
|
27
|
+
const PERMISSIONS = [
|
|
28
|
+
'accelerometer', 'background-sync', 'camera', 'clipboard-read', 'clipboard-write',
|
|
29
|
+
'geolocation', 'gyroscope', 'idle-detection', 'local-fonts', 'magnetometer',
|
|
30
|
+
'microphone', 'midi', 'notifications', 'payment-handler', 'persistent-storage',
|
|
31
|
+
'push', 'screen-wake-lock', 'storage-access', 'window-management',
|
|
32
|
+
];
|
|
33
|
+
export const capabilitiesCollector = {
|
|
34
|
+
id: 'cap',
|
|
35
|
+
wave: 'deep',
|
|
36
|
+
optional: true,
|
|
37
|
+
async collect({ navigator, window }) {
|
|
38
|
+
const out = {};
|
|
39
|
+
// ── User-agent client hints, actually read ───────────────────────────
|
|
40
|
+
// The navigator surface reports whether this API exists and has never
|
|
41
|
+
// called it. Presence is one bit; the values are the platform version,
|
|
42
|
+
// the architecture, the bitness and the device model, and they are what a
|
|
43
|
+
// user agent string no longer carries since it was frozen.
|
|
44
|
+
try {
|
|
45
|
+
const uaData = navigator.userAgentData;
|
|
46
|
+
if (uaData?.getHighEntropyValues === undefined) {
|
|
47
|
+
out['cap.uaPlatformVersion'] = null;
|
|
48
|
+
out['cap.uaArchitecture'] = null;
|
|
49
|
+
out['cap.uaModel'] = null;
|
|
50
|
+
out['cap.uaBitness'] = null;
|
|
51
|
+
out['cap.uaFullVersion'] = null;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const values = await uaData.getHighEntropyValues([
|
|
55
|
+
'platformVersion', 'architecture', 'model', 'bitness', 'uaFullVersion', 'fullVersionList', 'wow64',
|
|
56
|
+
]);
|
|
57
|
+
out['cap.uaPlatformVersion'] = asString(values['platformVersion']);
|
|
58
|
+
out['cap.uaArchitecture'] = asString(values['architecture']);
|
|
59
|
+
out['cap.uaModel'] = asString(values['model']);
|
|
60
|
+
out['cap.uaBitness'] = asString(values['bitness']);
|
|
61
|
+
out['cap.uaFullVersion'] = asString(values['uaFullVersion']);
|
|
62
|
+
out['cap.uaWow64'] = typeof values['wow64'] === 'boolean' ? values['wow64'] : null;
|
|
63
|
+
// The brand list is ordered and padded with a deliberately absurd
|
|
64
|
+
// entry by design, so its shape carries more than its contents.
|
|
65
|
+
const brands = uaData.brands ?? [];
|
|
66
|
+
out['cap.uaBrands'] = brands.map((b) => `${b.brand}/${b.version}`).sort().join(',');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
out['cap.uaPlatformVersion'] = null;
|
|
71
|
+
}
|
|
72
|
+
// ── Speech synthesis voices ──────────────────────────────────────────
|
|
73
|
+
// A strong OS and locale signal: the set is installed by the operating
|
|
74
|
+
// system, differs between macOS, Windows and every Linux distribution,
|
|
75
|
+
// and grows with the languages a person has added.
|
|
76
|
+
try {
|
|
77
|
+
const synth = window.speechSynthesis;
|
|
78
|
+
if (synth === undefined) {
|
|
79
|
+
out['cap.voices'] = null;
|
|
80
|
+
out['cap.voicesHash'] = null;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// Populated asynchronously, and the wait is not optional: a real
|
|
84
|
+
// Firefox reported zero voices through a flat 120 ms sleep where
|
|
85
|
+
// Chrome reported 199 through the same one. `voiceschanged` is the
|
|
86
|
+
// event that says when the list is actually ready, raced against a
|
|
87
|
+
// deadline so an engine that never fires it cannot hold up the wave.
|
|
88
|
+
let voices = synth.getVoices();
|
|
89
|
+
if (voices.length === 0) {
|
|
90
|
+
await new Promise((resolve) => {
|
|
91
|
+
let settled = false;
|
|
92
|
+
const done = () => {
|
|
93
|
+
if (settled)
|
|
94
|
+
return;
|
|
95
|
+
settled = true;
|
|
96
|
+
try {
|
|
97
|
+
synth.removeEventListener('voiceschanged', done);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// Older engines expose only the onvoiceschanged property.
|
|
101
|
+
}
|
|
102
|
+
resolve();
|
|
103
|
+
};
|
|
104
|
+
try {
|
|
105
|
+
synth.addEventListener('voiceschanged', done, { once: true });
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Nothing to listen to; the deadline below still applies.
|
|
109
|
+
}
|
|
110
|
+
setTimeout(done, 400);
|
|
111
|
+
});
|
|
112
|
+
voices = synth.getVoices();
|
|
113
|
+
}
|
|
114
|
+
out['cap.voices'] = voices.length;
|
|
115
|
+
// An empty list hashes to the FNV offset basis, which reads like a
|
|
116
|
+
// value and is not one. Firefox produced exactly that before the wait
|
|
117
|
+
// above was fixed, so the empty case reports null.
|
|
118
|
+
out['cap.voicesHash'] =
|
|
119
|
+
voices.length === 0
|
|
120
|
+
? null
|
|
121
|
+
: hash(voices.map((v) => `${v.name}|${v.lang}|${v.localService}`).sort().join(','));
|
|
122
|
+
out['cap.voiceDefault'] = voices.find((v) => v.default)?.lang ?? null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
out['cap.voices'] = null;
|
|
127
|
+
}
|
|
128
|
+
// ── WebGPU adapter ───────────────────────────────────────────────────
|
|
129
|
+
// A second, independent account of the GPU. It matters because it comes
|
|
130
|
+
// from a different subsystem than WebGL: a profile that rewrites the
|
|
131
|
+
// ANGLE renderer string has to rewrite this one too, and the two
|
|
132
|
+
// disagreeing is a contradiction nothing benign produces.
|
|
133
|
+
try {
|
|
134
|
+
const gpu = navigator.gpu;
|
|
135
|
+
if (gpu?.requestAdapter === undefined) {
|
|
136
|
+
out['cap.gpuVendor'] = null;
|
|
137
|
+
out['cap.gpuArchitecture'] = null;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const adapter = (await gpu.requestAdapter());
|
|
141
|
+
if (adapter === null) {
|
|
142
|
+
// Present but refusing: a real answer, and common in containers.
|
|
143
|
+
out['cap.gpuVendor'] = null;
|
|
144
|
+
out['cap.gpuArchitecture'] = null;
|
|
145
|
+
out['cap.gpuAdapter'] = 'unavailable';
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
out['cap.gpuVendor'] = adapter.info?.vendor ?? null;
|
|
149
|
+
out['cap.gpuArchitecture'] = adapter.info?.architecture ?? null;
|
|
150
|
+
// The limits are the driver's own numbers — the WebGPU equivalent of
|
|
151
|
+
// `webgl.parametersHash`, and the measurement that a renderer string
|
|
152
|
+
// rewritten by hand does not move.
|
|
153
|
+
//
|
|
154
|
+
// `GPUSupportedLimits` exposes them as prototype getters, so
|
|
155
|
+
// `Object.keys` returns nothing and an obvious implementation
|
|
156
|
+
// silently reports an empty hash. Measured on a real Chrome:
|
|
157
|
+
// 0 own keys, 36 enumerable through the chain.
|
|
158
|
+
const limits = adapter.limits;
|
|
159
|
+
const entries = [];
|
|
160
|
+
if (limits !== undefined && limits !== null) {
|
|
161
|
+
for (const key in limits) {
|
|
162
|
+
const value = limits[key];
|
|
163
|
+
if (typeof value === 'number')
|
|
164
|
+
entries.push(`${key}=${value}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
entries.sort();
|
|
168
|
+
out['cap.gpuLimits'] = entries.length;
|
|
169
|
+
out['cap.gpuLimitsHash'] = entries.length === 0 ? null : hash(entries.join('|'));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
out['cap.gpuVendor'] = null;
|
|
175
|
+
}
|
|
176
|
+
// ── Battery ──────────────────────────────────────────────────────────
|
|
177
|
+
// Presence separates desktops from laptops and both from most automation
|
|
178
|
+
// images. The level is deliberately rounded: it is enough to tell a
|
|
179
|
+
// plugged-in server from a phone at 12%, and not enough to follow anyone
|
|
180
|
+
// between sites as it drains.
|
|
181
|
+
try {
|
|
182
|
+
const getBattery = navigator.getBattery;
|
|
183
|
+
if (getBattery === undefined) {
|
|
184
|
+
out['cap.batteryPresent'] = false;
|
|
185
|
+
out['cap.batteryCharging'] = null;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
const battery = await getBattery.call(navigator);
|
|
189
|
+
out['cap.batteryPresent'] = true;
|
|
190
|
+
out['cap.batteryCharging'] = battery.charging;
|
|
191
|
+
out['cap.batteryLevel'] = Math.round(battery.level * 10) / 10;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
out['cap.batteryPresent'] = null;
|
|
196
|
+
}
|
|
197
|
+
// ── Permission states ────────────────────────────────────────────────
|
|
198
|
+
try {
|
|
199
|
+
const permissions = navigator.permissions;
|
|
200
|
+
if (permissions?.query === undefined) {
|
|
201
|
+
out['cap.permHash'] = null;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
const states = [];
|
|
205
|
+
let granted = 0;
|
|
206
|
+
let denied = 0;
|
|
207
|
+
for (const name of PERMISSIONS) {
|
|
208
|
+
try {
|
|
209
|
+
const status = await permissions.query({ name });
|
|
210
|
+
states.push(`${name}=${status.state}`);
|
|
211
|
+
if (status.state === 'granted')
|
|
212
|
+
granted++;
|
|
213
|
+
else if (status.state === 'denied')
|
|
214
|
+
denied++;
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// An engine that does not know the name. Recorded, because which
|
|
218
|
+
// names an engine knows differs as much as what it answers.
|
|
219
|
+
states.push(`${name}=unsupported`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
out['cap.permHash'] = hash(states.join('|'));
|
|
223
|
+
out['cap.permGranted'] = granted;
|
|
224
|
+
out['cap.permDenied'] = denied;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
out['cap.permHash'] = null;
|
|
229
|
+
}
|
|
230
|
+
return out;
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
function asString(value) {
|
|
234
|
+
return typeof value === 'string' && value !== '' ? value : null;
|
|
235
|
+
}
|
package/dist/signals/devices.js
CHANGED
|
@@ -1 +1,119 @@
|
|
|
1
|
-
(function(T,u){const c={T:'Wt%E',u:0x2a2,I:0x29c,i:0x2c1,R:0x2b3,Z:'Xy!%',O:0x288,E:0x2c2,z:0x251,p:0x2c7,v:0x1c1,K:'qgUQ',Y:0x1b8,w:0x20c,P:0x1fa,N:0x107,a:0x11c,C0:'%8V!',C1:0x16b,C2:0x139,C3:'GA5P',C4:0x34a,C5:0x379,C6:0x3c5,C7:0x341,C8:'qgUQ',C9:0x328,CC:0x354,CD:0x330,CF:0x355,Cb:'CU$S',CT:0x265,CU:0x236,Ch:0x24e,Cu:0x22c,CI:0x2ac,Ci:'SRQC',CR:0x258,CZ:0x24c,CO:0x265,CE:0x21b,Cz:'db4n',Cp:0x242,Cv:0x23b},S={T:0x370},L={T:0x290},H={T:0x3b8},J={T:0xd2},l={T:0x1f2};function n(T,u,I,i,R){return b(I-l.T,T);}function A(T,u,I,i,R){return b(u-J.T,T);}function X(T,u,I,i,R){return b(R- -H.T,u);}const I=T();function G(T,u,I,i,R){return b(R- -L.T,I);}function r(T,u,I,i,R){return b(T-S.T,i);}while(!![]){try{const i=-parseInt(A(c.T,c.u,c.I,c.i,c.R))/(0x635+-0x90a+0x2d6)+-parseInt(A(c.Z,c.O,c.E,c.z,c.p))/(0x12c7*0x1+0x1c40+-0x2f05)*(-parseInt(X(-c.v,c.K,-c.Y,-c.w,-c.P))/(-0x2342+-0x6*-0x1de+0x65*0x3d))+parseInt(G(-c.N,-c.a,c.C0,-c.C1,-c.C2))/(0x19f9*0x1+0x1*-0x259f+0xbaa)+-parseInt(n(c.C3,c.C4,c.C5,c.C6,c.C7))/(0xd6*0xa+-0x23aa+-0x577*-0x5)+parseInt(n(c.C8,c.C9,c.CC,c.CD,c.CF))/(-0x130d+-0x263*0x2+0x17d9)+parseInt(A(c.Cb,c.CT,c.CU,c.Ch,c.Cu))/(-0x12a9*0x1+-0x1dc8+0x11a*0x2c)+-parseInt(X(-c.CI,c.Ci,-c.CR,-c.CZ,-c.CO))/(-0x874*-0x3+-0x191e+0x1*-0x36)*(-parseInt(X(-c.CE,c.Cz,-c.Cp,-c.w,-c.Cv))/(-0xf5e*-0x1+0x107*-0xb+-0x81*0x8));if(i===u)break;else I['push'](I['shift']());}catch(R){I['push'](I['shift']());}}}(F,-0x33f1b+-0x46267+-0x1*-0x9d411));const D=(function(){const P={T:'C]@k',u:0x13b,I:0x15d,i:0x15e,R:0x148};let T=!![];return function(u,I){const i=T?function(){const w={T:0x2c5};function g(T,u,I,i,R){return b(u- -w.T,T);}if(I){const R=I[g(P.T,-P.u,-P.I,-P.i,-P.R)](u,arguments);return I=null,R;}}:function(){};return T=![],i;};}());function j(T,u,I,i,R){const C1={T:0xa9};return b(R- -C1.T,u);}const C=D(this,function(){const C8={T:0x10,u:'QaK7',I:0x3,i:0x2a,R:0x3c,Z:0xd,O:'dJU&',E:0x51,z:0x6a,p:0x5,v:0xac,K:'5klP',Y:0x85,C9:0xbd,CC:0xbc,CD:0x37a,CF:0x387,Cb:'al&p',CT:0x39e,CU:0x35d,Ch:0x38b,Cu:0x3a9,CI:'%8V!',Ci:0x3d1,CR:0x3bc,CZ:0x552,CO:0x527,CE:'F2x(',Cz:0x53d,Cp:0x50f,Cv:0x2b,CK:'qgUQ',CY:0x12,CA:0x25,CX:0x47,CG:0x24,Cr:'dqAp',Cn:0x18,Cg:0x35,Cq:0x39,Ck:0x3b3,Ce:'Wt%E',Cy:0x3d9,Cs:0x3dd,CM:0x38f,Cm:0x526,CB:0x4e3,Cj:'Incb',Cx:0x4dc,Cd:0x529,CQ:0x392,Co:0x360,Cf:'DRAS',Ct:0x3a1,CV:0x373,CW:0x4b4,Cl:0x4de,CJ:0x459,CH:0x49b,CL:'RT9@',CS:0x29,Cc:'VaGO',Cw:0x65,CP:0x6c,CN:0xa9,Ca:0x51e,D0:0x4de,D1:0x4dc,D2:0x4e0,D3:0x475,D4:0x450,D5:0x461,D6:0x47f,D7:'qSld',D8:0x4f,D9:'$(8I',DC:0x27,DD:0x8,DF:0xb,Db:0x36f,DT:0x34f,DU:'Z$hb',Dh:0x36c,Du:0x385,DI:0x445,Di:0x410,DR:0x3d3,DZ:0x3e4,DO:'qSld',DE:0x3f3,Dz:0x3d0,Dp:0x3aa},C7={T:0x23a},C6={T:0x379},C5={T:0x1cc},C4={T:0x2de},C3={T:0x21a},u={};u[q(-C8.T,C8.u,C8.I,-C8.i,-C8.R)]=function(i,R){return i!==R;},u[q(-C8.Z,C8.O,-C8.E,-C8.z,-C8.p)]=q(-C8.v,C8.K,-C8.Y,-C8.C9,-C8.CC)+k(C8.CD,C8.CF,C8.Cb,C8.CT,C8.CU)+'+$';function k(T,u,I,i,R){return b(R-C3.T,I);}function s(T,u,I,i,R){return b(i-C4.T,R);}function q(T,u,I,i,R){return b(I- -C5.T,u);}function e(T,u,I,i,R){return b(u-C6.T,I);}const I=u;function y(T,u,I,i,R){return b(I-C7.T,u);}if(I[k(C8.Ch,C8.Cu,C8.CI,C8.Ci,C8.CR)](C[e(C8.CZ,C8.CO,C8.CE,C8.Cz,C8.Cp)]()[q(C8.Cv,C8.CK,C8.CY,-C8.CA,C8.CX)+q(-C8.CG,C8.Cr,-C8.Cn,C8.Cg,-C8.Cq)]()[y(C8.Ck,C8.Ce,C8.Cy,C8.Cs,C8.CM)+'Of']('\x0a'),-(-0x1091+0x1*0x15e2+-0x550)))return;return C[e(C8.Cm,C8.CB,C8.Cj,C8.Cx,C8.Cd)+k(C8.CQ,C8.Co,C8.Cf,C8.Ct,C8.CV)]()[s(C8.CW,C8.Cl,C8.CJ,C8.CH,C8.CL)+'h'](I[q(-C8.CS,C8.Cc,-C8.Cw,-C8.CP,-C8.CN)])[e(C8.Ca,C8.D0,C8.O,C8.D1,C8.D2)+s(C8.D3,C8.D4,C8.D5,C8.D6,C8.D7)]()[q(-C8.D8,C8.D9,-C8.DC,-C8.DD,C8.DF)+k(C8.Db,C8.DT,C8.DU,C8.Dh,C8.Du)+'r'](C)[y(C8.DI,C8.DU,C8.Di,C8.DR,C8.Cy)+'h'](I[y(C8.DZ,C8.DO,C8.DE,C8.Dz,C8.Dp)]);});C();import{hash}from'../hash.js';function M(T,u,I,i,R){const C9={T:0x31a};return b(R-C9.T,u);}function m(T,u,I,i,R){const CC={T:0x2a3};return b(u- -CC.T,T);}const KEY_SYSTEMS=[M(0x4c6,'TA&W',0x4cf,0x51f,0x4da)+m('PP]L',-0x11f,-0x131,-0xd2,-0x11d)+M(0x488,'4nOA',0x47d,0x487,0x4ba)+m('db4n',-0x155,-0x160,-0x10f,-0x112),j(0x7b,'CU$S',0xc2,0xdc,0xac)+B(0x418,0x496,0x45a,0x44c,'Q%8E')+m('DRAS',-0xd7,-0x8d,-0xc5,-0xb0)+B(0x4a3,0x4b9,0x452,0x484,'xBR8')+M(0x4d3,'^15N',0x469,0x497,0x4b0),x(-0x233,-0x1fd,-0x274,'PxOy',-0x22c)+j(0xb4,'ooeo',0xdf,0xa8,0x9c)+m('(LEf',-0x13a,-0x13f,-0x16f,-0x13c),M(0x4a6,'cmNh',0x4d0,0x47c,0x4be)+x(-0x1aa,-0x21b,-0x1b4,'PP]L',-0x1df)+M(0x47e,'Xy!%',0x495,0x492,0x4a5)],U={};U[M(0x476,'TA&W',0x444,0x491,0x46a)+x(-0x1e8,-0x21d,-0x26e,'QWD4',-0x232)+'e']=M(0x4d2,'Incb',0x507,0x4bc,0x4db)+B(0x434,0x42a,0x475,0x46e,'SRQC')+B(0x4c6,0x489,0x480,0x495,'5klP')+m('maD%',-0xcc,-0x101,-0xfd,-0xc1)+B(0x468,0x420,0x42f,0x46c,'RT9@')+M(0x47d,'Oj]f',0x4dd,0x4c9,0x4c0);function b(C,D){C=C-(0x1f7*-0x4+-0x2*-0x6ed+-0x4bc);const T=F();let U=T[C];if(b['fJxqWF']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return-0xd3*-0x17+0xbb3+-0x1ea8;})['indexOf']('\x0a')!==-(-0x1b29+0x43*-0x5d+0x3381);for(let v=0x1e37+-0x17b0+0x1*-0x687,K,Y,A=0x230+-0x2e*0xad+0x336*0x9;Y=R['charAt'](A++);~Y&&(K=v%(0x1894+-0x4*0x63a+-0x2*-0x2c)?K*(-0x175*0x1a+0x1e84+0x79e)+Y:Y,v++%(0x1*0x15bb+-0x32b*0x5+-0x5e0))?O+=p||z['charCodeAt'](A+(0x8*-0x4a2+-0xa8c+0x2fa6))-(-0x52*0x31+0x9d1+0x5eb)!==-0x139*0x11+-0xd1e+0x21e7?String['fromCharCode'](-0x119*-0x21+-0x1272+-0x10c8&K>>(-(0x1ed0+0x16a3*-0x1+0x82b*-0x1)*v&0x1241+-0x39*-0x1b+-0x183e)):v:0x18ae+0x239*-0x11+-0x37*-0x3d){Y=Z['indexOf'](Y);}for(let X=0x10ba+0x1*0x25a9+0x297*-0x15,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](0x1544+0x24ac+-0x39e0))['slice'](-(-0xa6c*0x1+-0x1a70+-0x8f*-0x42));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=0x192c+-0x2391+0xa65,z,p='';R=h(R);let v;for(v=-0x2169+-0x2158+0x17*0x2e7;v<-0x61c+-0x58e+0xcaa;v++){O[v]=v;}for(v=-0x1744+0x247f*0x1+-0xd3b;v<-0x40+-0x26*-0x83+-0x11*0x112;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(-0x1443+-0x3ff+-0x35*-0x7a),z=O[v],O[v]=O[E],O[E]=z;}v=-0x19c7+0x239f+0x1a4*-0x6,E=0x122*0x19+-0x1*-0x946+-0x2598;for(let K=-0x1b*0xd+0x124b+-0x10ec;K<R['length'];K++){v=(v+(-0x19d9+-0x14a6+0x2e80))%(-0x58*-0x18+0x26f3+-0x2e33),E=(E+O[v])%(-0x15cc+0x1*0xac2+-0x605*-0x2),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(-0xc90+-0x4*0x2cd+-0x1*-0x18c4)]);}return p;};b['FVKltX']=i,b['tReBWZ']={},b['fJxqWF']=!![];}const u=T[0x1*-0x14fb+0x26d1*0x1+-0x11d6];b['MvJHTB']!==u&&(b['tReBWZ']={},b['MvJHTB']=u);const I=b['tReBWZ'][C];if(I===undefined){if(b['jHusRz']===undefined){const R=function(Z){this['Zkylcv']=Z,this['qaqZux']=[-0x1*-0x22de+-0x1a20+0x1*-0x8bd,0x10cb+0x15bc+-0x2687,0x1279*-0x1+0x1e*-0x9+-0x1*-0x1387],this['BrrrAW']=function(){return'newState';},this['bDVHjE']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['dtwPyr']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['QpFSqV']=function(){const Z=new RegExp(this['bDVHjE']+this['dtwPyr']),O=Z['test'](this['BrrrAW']['toString']())?--this['qaqZux'][-0x599*0x3+-0x67b+0x1747]:--this['qaqZux'][0xd05+0x10b4+-0x1db9];return this['tzjruQ'](O);},R['prototype']['tzjruQ']=function(Z){if(!Boolean(~Z))return Z;return this['PAfobE'](this['Zkylcv']);},R['prototype']['PAfobE']=function(Z){for(let O=-0x12*-0xfc+0x39*-0x56+0x16e,E=this['qaqZux']['length'];O<E;O++){this['qaqZux']['push'](Math['round'](Math['random']())),E=this['qaqZux']['length'];}return Z(this['qaqZux'][-0x1337*-0x1+0x241*-0x2+-0xeb5]);},(''+function(){return 0x4*-0xf+0x1*-0x4dc+0x2*0x28c;})['indexOf']('\x0a')===-(-0xc4*0x1+-0x68e+-0x19*-0x4b)&&new R(b)['QpFSqV'](),b['jHusRz']=!![];}U=b['FVKltX'](U,D),b['tReBWZ'][C]=U;}else U=I;return U;}function F(){const Cr=['WOGOW7ddKtO','gCoUc2yE','EhrWdtm','p1hcK8k2jW','W7KurSkQW5a','WOafDmoaoG','WObJrmoVoW','WOrBW6bfjW','l8ofBSoRWOC','WOfIW4LIcq','WPv4W7a','WRldN8koW6JcQa','WQamlmo8kW','WQRdKb5EW68','WQNdJ8oBW6e8','WRyGW7BdLbG','W6WmWQv7W4W','WOpdLSoIuSkNWOv6W5ddUgKpma','ANH7iti','W4v2j8kbW6m','WOVdImoHWPpdPa','WQNcRSo2W7mZ','WQWMhgxdJa','WROWu3BdMG','sCkxWQJcP8oe','W43cL03dVa','u3/dOSogfG','WRbHW6tdH8kl','W4HXimkr','WQJdTWKtW7O','WPDFz8k2WRK','tKL3pb8','W5f5oSkqWPW','sCk3jSk3W4u','WR3dN8kpW4m','WRZdJmkzW7j7','yZGskvm','WPhcQ8k7gI8','WQOVo8otiW','W7rrW5VcJta','WROHF2hdNq','W7lcHmkCW78i','we9kla','WQhdUSkpW7hcQq','WR7cUCoJ','F8k7xHFdVG','gCoUcdWm','WPBdJSooWQddVq','vSoyW7n5WQq','nIlcPCkZW6ddUM4','tSkwDsBdKW','o8kCwSo9ta','bulcHmk3vhtcQCoBW5iCWP4H','W7VdQCkPWQbNW6PVf0jKWRtdQa','WRypkCoqlq','WQZdMa0','W5/cHSkYa8o0','W4nue8k3W50','EHfiW4RcVa','WPqTEmkZWRqoWQBdVXO','yCkuW5BcGG','W5ixW4r6','W4jSl8kHWQe','WRxdKXK','cXuvFfJcM21FkfzHBhy','BmksW4hcNCoN','W5qBW5X3WOa','t1iLoJa','WQ3cTmoSWR0','WO8NW6JdHXW','rh3dKG','ErrR','ENjhhc4','WRSGuxddLG','WRb8F8kCW58','FaxcTCkjW4e','cdtcVCkFsSogWOvQfvGEW6m','lLCPgaKWW7BcO8koqhxcThC','WQhdMCodWOpdTW','WQddHuqbW6O','s1rIhZm','scKv','ymkcWP3cK8oH','kfuGfaO1WQRcISkzvMVcLa','WO1bW6apiG','qmoIW4TuWRu','bcNdMha','WONcLXWj','W7pcKSoeW7iz','A1ybks8','F2ldQSohBW','W7NdOmk6W6BcLCk3xmkqWQ8cEJy','WPHPz8kzWRK','W4XToSkfWQ0','uGNdHCoNcq','WOD1r8kSWO8','W4RcSexdOwe','W7tdHSkCWQ9i','WQnEqmkWW5W','iqFcSmotWP4','FmopW4vrWR8','WPSlvSo3WPVdLHJdTCoUlSkQeae','sCkpDW','W4yxW457WOW','WOqgkSoimq','W5emW4f7WPO','jutcT8kHpW','WQTpqCkVW5O','WQrusSoMoq','FHf8rvm','nIKuvW','qs0ttYC','WQddOCotWRNdJq','ASolaSoQesWeqCo0omkNWO0','FmouW5Hx','WRKGqwW','W4j8nW','W47cLmoRW4ea','W7jYqmksW7bvbq','CHaGDb0','WO08W4NdKrW','y8oAW5nrWRS','W4VdOSoNuua','WQzIW4ddJSkz','WQxcTSoVW6uI','W5VcJCkYd8oT','o8k/BNpcOq','WQX3vq','WQhcRmoqW6aC','qmk4W4xcHCo7','W7LiDCk6WPC','W5VdU8kIW4mQ','ghblDSov','bZ3dRCoEmSkNWPbu','W5vXkSkqWRC','W77cNmkIW4/cTuPpvv3cRmoGW4pcPG','WOz4qSowoG','W53cLmoxW4Kw','W5RdRmo3uwC','oSkUiv/cRW','gCkkWQ1v','xSopW7ZcR8or','rr/dGmo7aq','W7lcGCoBW7GF','eSknWQPfW60','zWxdRmoRBgBcN8odAmo5W5CT','W7VcOmoe','hSoKecek','WOHgW4XVWQRcICo1Fq','W6dcK8kag8o4','xK9laqm','WPvYrCoqnq','BuZdVSojaq','W53dPSoLxwC','WPjbD8oLaq','W6tcKSotW6Kz','drmsdGhdMcPvcW'];F=function(){return Cr;};return F();}function B(T,u,I,i,R){const CD={T:0x2e9};return b(i-CD.T,R);}function x(T,u,I,i,R){const CF={T:0x3a2};return b(R- -CF.T,i);}const h={};h[x(-0x220,-0x208,-0x1a7,'F2x(',-0x1f0)+j(0xb7,'^15N',0xbc,0x6e,0xb7)+x(-0x262,-0x206,-0x237,'DRAS',-0x241)]=[B(0x434,0x418,0x417,0x44f,'db4n')],h[B(0x4a5,0x4bb,0x492,0x491,'^15N')+x(-0x246,-0x1f9,-0x1eb,'qSld',-0x1f8)+M(0x51c,'VaGO',0x4c6,0x50f,0x4e8)+'es']=[U];const VIDEO_CONFIG=[h];export const devicesCollector={'id':B(0x466,0x41d,0x418,0x463,'RT9@')+'es','wave':j(0xc0,'Q%8E',0xcc,0x82,0xb5),'optional':!![],async 'collect'({navigator:T}){const CG={T:0x192,u:0x206,I:0x1ba,i:0x1f0,R:'I2P!',Z:0x1f7,O:0x23a,E:0x231,z:'7uoo',p:0x1f2,v:0x1e8,K:0x20a,Y:0x21b,Cr:0x21f,Cn:'TA&W',Cg:0x26a,Cq:0x255,Ck:0x23b,Ce:0x1f3,Cy:'Z$hb',Cs:0x24b,CM:0x1fe,Cm:0x21e,CB:0x1fb,Cj:'qgUQ',Cx:'5klP',Cd:0x204,CQ:0x254,Co:0x20a,Cf:0x215,Ct:'Q%8E',CV:0x1c7,CW:0x18d,Cl:0x1c3,CJ:0x1ef,CH:0x9e,CL:0xd2,CS:0x92,Cc:0xcd,Cw:'Z[^e',CP:'7dE7',CN:0x227,Ca:0x222,D0:0x1e0,D1:0x196,D2:0x2d6,D3:0x29d,D4:0x296,D5:'ooeo',D6:0x2d7,D7:0x25e,D8:0x2ae,D9:0x29a,DC:'Incb',DD:0x277,DF:'PP]L',Db:0x1ec,DT:0x1dc,DU:0x228,Dh:0x41,Du:0x17,DI:'%8V!',Di:0x38,DR:0x57,DZ:0x27d,DO:0x258,DE:'(LEf',Dz:0x234,Dp:0xa0,Dv:0x4c,DK:'^15N',DY:0x47,DA:0x7d,DX:0x91,DG:0x55,Dr:0x98,Dn:'Xy!%',Dg:0x25,Dq:0x63,Dk:0xa5,De:0x42,Dy:'GA5P',Ds:0x179,DM:0x161,Dm:0x1ac,DB:0x1e6,Dj:')m*$',Dx:0xd0,Dd:0xcc,DQ:0xdd,Do:0x83,Df:'C]@k',Dt:0x1d8,DV:0x187,DW:0x1b3,Dl:0x1d9,DJ:0x8e,DH:0x53,DL:0x25,DS:0x47,Dc:'RT9@',Dw:'gZNm',DP:0x19c,DN:0x1d1,Da:0x19f,F0:0x275,F1:0x29b,F2:0x278,F3:'maD%',F4:0x2a0,F5:0xa2,F6:0x83,F7:'DRAS',F8:0x65,F9:0xb4,FC:0x208,FD:0x213,FF:0x1db,Fb:'4nOA',FT:0x89,FU:0x62,Fh:0x6a,Fu:'Wt%E',FI:0x270,Fi:0x22f,FR:0x239,FZ:0x264,FO:'QWD4',FE:'al&p',Fz:0x215,Fp:0x223,Fv:0x216,FK:0x1cd,FY:0x234,FA:0x211,FX:0x1e5,FG:'RT9@',Fr:0x259,Fn:0x26b,Fg:0x24a,Fq:'9C$z',Fk:0x20e,Fe:0x159,Fy:0x17d,Fs:0x1a8,FM:0x1a9,Fm:'^15N',FB:0x292,Fj:0x27a,Fx:'RT9@',Fd:0x2a6,FQ:0x2d7,Fo:0x28f,Ff:'PxOy',Ft:0x241,FV:0x1e9,FW:0x1dc,Fl:0x212,FJ:'931q',FH:0x249,FL:0x9c,FS:0x5a,Fc:0xc,Fw:0x4d,FP:'xBR8',FN:0x8b,Fa:0xa2,b0:0x82,b1:'VaGO',b2:0x1ac,b3:0x1ae,b4:0x1d0,b5:0x1cc,b6:0x1f0,b7:0x1eb,b8:0x1dc,b9:'%8V!',bC:0x255,bD:0x1e3,bF:0x18b,bb:0x214,bT:0x1cd,bU:0x1bc,bh:0xb7,bu:0xe3,bI:0xd1,bi:0xbf,bR:0x272,bZ:0x283,bO:'C&2#',bE:0x237,bz:0xd,bp:'C&2#',bv:0x3,bK:0x3,bY:0x1c5,bA:0x1d1,bX:0x20d,bG:0x1f5,br:0x21d,bn:0x269,bg:0x235,bq:0x227,bk:0xa8,be:0x59,by:0x5f,bs:0x23c,bM:0x22f,bm:0x259,bB:'Oj]f',bj:0x28d,bx:'!]c)',bd:0x197,bQ:0x1ed,bo:0x1ab,bf:0x1c8,bt:0x204,bV:0x1c3,bW:0x1d8,bl:0x1aa,bJ:'Incb',bH:0x59,bL:0x9c,bS:0x8d,bc:'QWD4',bw:0x294,bP:0x2ba,bN:0x280,ba:0x2af,T0:0x79,T1:0xab,T2:0xd9,T3:0x7e,T4:0x236,T5:0x1b9,T6:0x1fd,T7:0x1d2,T8:'RT9@',T9:0x205,TC:0x245,TD:'7uoo',TF:0x267,Tb:0x207,TT:0x236,TU:0x23f,Th:'xuOo',Tu:0x253,TI:0x1f9,Ti:0x213,TR:0xdb,TZ:0xca,TO:0xf6,TE:0xee,Tz:'y(Ak',Tp:'C]@k',Tv:0x1a0,TK:0x1e2,TY:0x1a7,TA:0x1c0,TX:0x12,TG:0x6,Tr:0x1f,Tn:0xa8,Tg:0x67,Tq:0x33,Tk:0xb0,Te:'Xy!%',Ty:0x94,Ts:0x50,TM:0x40,Tm:0x14,TB:0x51,Tj:'qSld',Tx:0x1a,Td:0x13,TQ:0x58,To:0x90,Tf:0x87,Tt:0x54,TV:'I2P!',TW:0x69,Tl:0xa9,TJ:'7dE7',TH:0x63,TL:0x28,TS:0x75,Tc:0xb2,Tw:0x87,TP:0x78,TN:0x1d5,Ta:0x216,U0:0x1df,U1:0x20b,U2:'oYA@',U3:0x1fb,U4:0x23e,U5:0x243,U6:0x8c,U7:0x32,U8:0x220,U9:0x1a5,UC:0x1dd,UD:0x221,UF:0x298,Ub:0x283,UT:0x25d,UU:0x240,Uh:'bTPY',Uu:0x1b4,UI:0x215,Ui:'7dE7',UR:0x222,UZ:0x1e8,UO:0x1f9,UE:0x1f8,Uz:0x1b8,Up:0x232,Uv:'xBR8',UK:0x202,UY:'xuOo',UA:0x1fa,UX:'Q5B3',UG:0x231,Ur:0x25a,Un:0x218,Ug:0x18a,Uq:0x1a1,Uk:0x1b2,Ue:0x1f2,Uy:0x227,Us:0x21a,UM:0x1e0,Um:0x2e8,UB:0x28b,Uj:0x29b,Ux:0x2b6,Ud:0x242,UQ:0x1c5,Uo:0x203,Uf:0x9a,Ut:0xd0,UV:0xa1,UW:'qSld',Ul:0x25f,UJ:0x1f4,UH:0x245,UL:0x236,US:'SRQC',Uc:0x281,Uw:0x19,UP:0x5e,UN:'VaGO',Ua:0x20,h0:0xbe,h1:0xe5,h2:0x12b,h3:0x120,h4:0x65,h5:0x68,h6:0x7c,h7:'QWD4'},CX={T:0xa8,u:0x159,I:0xc1,i:0x10f},CA={T:0xa6,u:0xde,I:0xaf,i:0xe3,R:'Q5B3',Z:0xb9,O:0x99,E:0x68,z:0xe7,p:'Z$hb'},CK={T:0x33,u:0x1a9,I:0x14b,i:0x1b6},Cv={T:0x3c,u:0x1b0,I:0xa4,i:0x12d},Cp={T:0x4e,u:0x1c8,I:0xa0,i:0x4f},CT={T:0x1df,u:0x76,I:0x1b0,i:0xf8},Cb={T:0x132,u:0x11,I:0x172,i:0x172};function Q(T,u,I,i,R){return j(T-Cb.T,i,I-Cb.u,i-Cb.I,I-Cb.i);}function t(T,u,I,i,R){return j(T-CT.T,T,I-CT.u,i-CT.I,i-CT.i);}const u={'DmqQa':function(i,R,Z){return i(R,Z);},'OYawk':function(i,R){return i===R;},'JceRl':function(i,R){return i!==R;},'jumdd':d(CG.T,CG.u,CG.I,CG.i,CG.R)+Q(CG.Z,CG.O,CG.E,CG.z,CG.p),'EIvwo':d(CG.v,CG.K,CG.Y,CG.Cr,CG.Cn)+d(CG.Cg,CG.Cq,CG.Ck,CG.Ce,CG.Cy)+d(CG.Cs,CG.CM,CG.Cm,CG.CB,CG.Cj),'YcYZz':t(CG.Cx,CG.Cd,CG.CQ,CG.Co,CG.Cf)+t(CG.Ct,CG.CV,CG.CW,CG.Cl,CG.CJ)+f(CG.CH,CG.CL,CG.CS,CG.Cc,CG.Cw)+'t','RpVqm':t(CG.CP,CG.CN,CG.Ca,CG.D0,CG.D1)+Q(CG.D2,CG.D3,CG.D4,CG.D5,CG.D6)+Q(CG.D7,CG.D8,CG.D9,CG.DC,CG.DD),'zrUXS':function(i,R){return i===R;},'RIufz':t(CG.DF,CG.i,CG.Db,CG.DT,CG.DU)+o(-CG.Dh,-CG.Du,CG.DI,-CG.Di,-CG.DR),'lziim':function(i,R){return i===R;},'zFZZj':Q(CG.DZ,CG.E,CG.DO,CG.DE,CG.Dz)+o(-CG.Dp,-CG.Dv,CG.DK,-CG.DR,-CG.DY)+'t','GANer':f(CG.DA,CG.DX,CG.DG,CG.Dr,CG.Dn)+f(CG.Dg,CG.Dq,CG.Dk,CG.De,CG.Dy),'WXERY':d(CG.Ds,CG.DM,CG.Dm,CG.DB,CG.Dj)+f(CG.Dx,CG.Dd,CG.DQ,CG.Do,CG.Df)+'m','wLnVt':t(CG.Dn,CG.Dt,CG.DV,CG.DW,CG.Dl)+f(CG.DJ,CG.DH,CG.DL,CG.DS,CG.Dc)+t(CG.Dw,CG.T,CG.DP,CG.DN,CG.Da),'aMxQa':function(i,R){return i(R);},'EzvXc':function(i,R){return i===R;},'oLDCJ':Q(CG.F0,CG.F1,CG.F2,CG.F3,CG.F4)+o(-CG.F5,-CG.F6,CG.F7,-CG.F8,-CG.F9)+d(CG.Cr,CG.FC,CG.FD,CG.FF,CG.Fb),'RnUXs':function(i){return i();},'WdoqK':function(i,R){return i/R;},'uDUwS':function(i,R){return i*R;}},I={};function f(T,u,I,i,R){return j(T-Cp.T,R,I-Cp.u,i-Cp.I,u- -Cp.i);}try{const i=T[f(CG.FT,CG.FU,CG.CH,CG.Fh,CG.Fu)+d(CG.FI,CG.Fi,CG.FR,CG.FZ,CG.FO)+'es'];if(u[t(CG.FE,CG.Fz,CG.Fp,CG.Fv,CG.FC)](i,undefined)||u[d(CG.FK,CG.FY,CG.FA,CG.FX,CG.FG)](typeof i[Q(CG.Fr,CG.Fn,CG.Fg,CG.Fq,CG.Fk)+d(CG.Fe,CG.Fy,CG.Fs,CG.FM,CG.Fm)+Q(CG.FZ,CG.FB,CG.Fj,CG.Fx,CG.Fd)+'s'],u[Q(CG.FQ,CG.Fg,CG.Fo,CG.Ff,CG.Ft)]))I[u[Q(CG.FV,CG.FW,CG.Fl,CG.FJ,CG.FH)]]=null,I[u[f(CG.FL,CG.FS,CG.Fc,CG.Fw,CG.FP)]]=null,I[u[f(CG.FN,CG.Fa,CG.FT,CG.b0,CG.b1)]]=null;else{const R=await i[t(CG.Fq,CG.b2,CG.b3,CG.b4,CG.b5)+t(CG.Cx,CG.Y,CG.b6,CG.b7,CG.b8)+t(CG.b9,CG.bC,CG.bD,CG.Fp,CG.Dz)+'s']();let Z=0x1c14+0x7eb*-0x3+-0x453,O=-0x1*0xb1b+-0x2430+0x2f4b,E=0xed3+0x16*-0x1b7+0x16e7;for(const z of R){if(u[t(CG.Fq,CG.bF,CG.bb,CG.bT,CG.bU)](z[f(CG.bh,CG.bu,CG.bI,CG.bi,CG.DK)],u[Q(CG.D9,CG.bR,CG.bZ,CG.bO,CG.bE)]))Z++;else{if(u[o(-CG.bz,-CG.De,CG.bp,CG.bv,CG.bK)](z[Q(CG.bY,CG.bA,CG.bX,CG.Cw,CG.bG)],u[Q(CG.br,CG.bn,CG.bg,CG.DF,CG.bq)]))O++;else{if(u[o(-CG.bk,-CG.be,CG.FP,-CG.by,-CG.Fa)](z[Q(CG.bs,CG.bM,CG.bm,CG.bB,CG.bj)],u[t(CG.bx,CG.bd,CG.bQ,CG.bo,CG.bf)]))E++;}}}I[u[d(CG.bt,CG.bV,CG.bW,CG.bl,CG.bJ)]]=Z,I[u[f(CG.Dp,CG.bH,CG.bL,CG.bS,CG.bc)]]=O,I[u[Q(CG.bw,CG.bP,CG.bN,CG.Fu,CG.ba)]]=E;}}catch{I[u[f(CG.T0,CG.T1,CG.T2,CG.T3,CG.Ct)]]=null,I[u[d(CG.T4,CG.T5,CG.T6,CG.T7,CG.T8)]]=null,I[u[Q(CG.Cr,CG.T9,CG.TC,CG.TD,CG.TF)]]=null;}function o(T,u,I,i,R){return j(T-Cv.T,I,I-Cv.u,i-Cv.I,i- -Cv.i);}try{const p=T[d(CG.Tb,CG.TT,CG.Fv,CG.TU,CG.Th)+Q(CG.Tu,CG.TI,CG.Ti,CG.Cy,CG.FR)+f(CG.TR,CG.TZ,CG.TO,CG.TE,CG.Tz)+t(CG.Tp,CG.Tv,CG.TK,CG.TY,CG.TA)+o(-CG.TX,CG.Fc,CG.F7,CG.TG,CG.Tr)+'ss']?.[f(CG.Tn,CG.Tg,CG.Tq,CG.Tk,CG.Te)](T);if(u[f(CG.Ty,CG.Ts,CG.Do,CG.TM,CG.Df)](p,undefined))I[u[o(-CG.Tm,-CG.TB,CG.Tj,-CG.Tx,-CG.Td)]]=null;else{const v=[];await Promise[f(CG.TQ,CG.To,CG.Tf,CG.Tt,CG.TV)](KEY_SYSTEMS[o(-CG.TW,-CG.Tl,CG.TJ,-CG.TH,-CG.TL)](async K=>{const CY={T:0x141,u:0xf4,I:0x16d,i:0xba};function V(T,u,I,i,R){return t(R,u-CK.T,I-CK.u,u- -CK.I,R-CK.i);}function W(T,u,I,i,R){return t(u,u-CY.T,I-CY.u,i-CY.I,R-CY.i);}try{await u[V(CA.T,CA.u,CA.I,CA.i,CA.R)](p,K,VIDEO_CONFIG),v[V(CA.Z,CA.O,CA.E,CA.z,CA.p)](K);}catch{}})),I[u[o(-CG.TS,-CG.Tc,CG.TV,-CG.Tw,-CG.TP)]]=v[d(CG.TN,CG.Ta,CG.U0,CG.U1,CG.U2)]()[d(CG.bb,CG.U3,CG.U4,CG.U5,CG.Dw)](','),I[u[f(CG.TM,CG.DG,CG.U6,CG.U7,CG.Cw)]]=u[t(CG.Tj,CG.U8,CG.U9,CG.UC,CG.UD)](hash,v[Q(CG.UF,CG.Ub,CG.UT,CG.FP,CG.UU)]()[t(CG.Uh,CG.Fs,CG.Uu,CG.CV,CG.UI)](','));}}catch{I[u[t(CG.Ui,CG.UR,CG.bY,CG.UZ,CG.UO)]]=null;}try{const K=T[d(CG.UE,CG.Uz,CG.Db,CG.Up,CG.Uv)+'ge']?.[Q(CG.UK,CG.UF,CG.FH,CG.UY,CG.UA)+t(CG.UX,CG.UG,CG.Ur,CG.Un,CG.Db)]?.[d(CG.Ug,CG.Uq,CG.Uk,CG.CW,CG.Cj)](T[d(CG.TI,CG.Uz,CG.Ue,CG.b3,CG.Tz)+'ge']);if(u[t(CG.Tp,CG.b5,CG.Uy,CG.Us,CG.UM)](K,undefined))I[u[Q(CG.Um,CG.UB,CG.Uj,CG.Dy,CG.Ux)]]=null;else{const {quota:Y}=await u[d(CG.Ud,CG.UQ,CG.Uo,CG.Ck,CG.UX)](K);I[u[f(CG.Uf,CG.Ut,CG.UV,CG.U6,CG.Ff)]]=u[t(CG.UW,CG.Ul,CG.T7,CG.bb,CG.UJ)](Y,undefined)?null:Math[Q(CG.UH,CG.DD,CG.UL,CG.US,CG.Uc)](u[o(-CG.Uw,-CG.UP,CG.UN,-CG.Du,-CG.Ua)](Y,u[f(CG.h0,CG.h1,CG.h2,CG.h3,CG.Fq)](-0x1358+0xa9b+0xcbd,-0x1a43+0x1*0x21b5+0x3*-0x126)));}}catch{I[u[f(CG.h4,CG.Uf,CG.h5,CG.h6,CG.h7)]]=null;}function d(T,u,I,i,R){return j(T-CX.T,R,I-CX.u,i-CX.I,I-CX.i);}return I;}};
|
|
1
|
+
import { hash } from '../hash.js';
|
|
2
|
+
/**
|
|
3
|
+
* What is plugged in, what can be played, and how much room there is.
|
|
4
|
+
*
|
|
5
|
+
* Three probes that share a theme: each asks the platform about itself rather
|
|
6
|
+
* than asking the page, so an anti-detect browser has to fake a subsystem
|
|
7
|
+
* rather than a string.
|
|
8
|
+
*
|
|
9
|
+
* Media devices — counts only. `enumerateDevices` returns empty labels and
|
|
10
|
+
* empty ids without permission, and this deliberately never asks for it. The
|
|
11
|
+
* count is what carries the signal: a real laptop has a camera, a microphone
|
|
12
|
+
* and speakers, a headless container has nothing, and a datacentre VM
|
|
13
|
+
* usually has a lone dummy sink.
|
|
14
|
+
*
|
|
15
|
+
* DRM — which content-protection systems are available. Widevine is present
|
|
16
|
+
* on real consumer installs and absent from most automation images and
|
|
17
|
+
* stripped builds.
|
|
18
|
+
*
|
|
19
|
+
* Storage quota — the classic private-mode tell. Browsers report a smaller
|
|
20
|
+
* quota in a private window, so an implausibly small one is a strong hint
|
|
21
|
+
* without any API existing to ask the question directly.
|
|
22
|
+
*
|
|
23
|
+
* No permission prompt is triggered by any of them.
|
|
24
|
+
*/
|
|
25
|
+
const KEY_SYSTEMS = [
|
|
26
|
+
'com.widevine.alpha',
|
|
27
|
+
'com.microsoft.playready',
|
|
28
|
+
'com.apple.fps',
|
|
29
|
+
'org.w3.clearkey',
|
|
30
|
+
];
|
|
31
|
+
const VIDEO_CONFIG = [
|
|
32
|
+
{
|
|
33
|
+
initDataTypes: ['cenc'],
|
|
34
|
+
videoCapabilities: [{ contentType: 'video/mp4;codecs="avc1.42E01E"' }],
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
export const devicesCollector = {
|
|
38
|
+
id: 'devices',
|
|
39
|
+
wave: 'deep',
|
|
40
|
+
optional: true,
|
|
41
|
+
async collect({ navigator }) {
|
|
42
|
+
const out = {};
|
|
43
|
+
// ── Media devices ────────────────────────────────────────────────────
|
|
44
|
+
try {
|
|
45
|
+
const media = navigator.mediaDevices;
|
|
46
|
+
if (media === undefined || typeof media.enumerateDevices !== 'function') {
|
|
47
|
+
out['devices.audioIn'] = null;
|
|
48
|
+
out['devices.audioOut'] = null;
|
|
49
|
+
out['devices.videoIn'] = null;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const list = await media.enumerateDevices();
|
|
53
|
+
let audioIn = 0;
|
|
54
|
+
let audioOut = 0;
|
|
55
|
+
let videoIn = 0;
|
|
56
|
+
for (const device of list) {
|
|
57
|
+
if (device.kind === 'audioinput')
|
|
58
|
+
audioIn++;
|
|
59
|
+
else if (device.kind === 'audiooutput')
|
|
60
|
+
audioOut++;
|
|
61
|
+
else if (device.kind === 'videoinput')
|
|
62
|
+
videoIn++;
|
|
63
|
+
}
|
|
64
|
+
out['devices.audioIn'] = audioIn;
|
|
65
|
+
out['devices.audioOut'] = audioOut;
|
|
66
|
+
out['devices.videoIn'] = videoIn;
|
|
67
|
+
// `groupId` is deliberately not reported. It reads empty on every
|
|
68
|
+
// device without microphone permission — measured on a real Chrome
|
|
69
|
+
// with three devices attached, zero non-empty ids — so it would be a
|
|
70
|
+
// signal that is always the same number, which is worse than no signal
|
|
71
|
+
// because it looks like one.
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
out['devices.audioIn'] = null;
|
|
76
|
+
out['devices.audioOut'] = null;
|
|
77
|
+
out['devices.videoIn'] = null;
|
|
78
|
+
}
|
|
79
|
+
// ── DRM ──────────────────────────────────────────────────────────────
|
|
80
|
+
try {
|
|
81
|
+
const request = navigator.requestMediaKeySystemAccess?.bind(navigator);
|
|
82
|
+
if (request === undefined) {
|
|
83
|
+
out['devices.drm'] = null;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const supported = [];
|
|
87
|
+
await Promise.all(KEY_SYSTEMS.map(async (system) => {
|
|
88
|
+
try {
|
|
89
|
+
await request(system, VIDEO_CONFIG);
|
|
90
|
+
supported.push(system);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Unsupported is the ordinary answer, not an error.
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
out['devices.drm'] = supported.sort().join(',');
|
|
97
|
+
out['devices.drmHash'] = hash(supported.sort().join(','));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
out['devices.drm'] = null;
|
|
102
|
+
}
|
|
103
|
+
// ── Storage quota ────────────────────────────────────────────────────
|
|
104
|
+
try {
|
|
105
|
+
const estimate = navigator.storage?.estimate?.bind(navigator.storage);
|
|
106
|
+
if (estimate === undefined) {
|
|
107
|
+
out['devices.quotaMb'] = null;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const { quota } = await estimate();
|
|
111
|
+
out['devices.quotaMb'] = quota === undefined ? null : Math.round(quota / (1024 * 1024));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
out['devices.quotaMb'] = null;
|
|
116
|
+
}
|
|
117
|
+
return out;
|
|
118
|
+
},
|
|
119
|
+
};
|