@magield/collectors 0.6.1 → 0.8.2
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,81 @@
|
|
|
1
|
-
function q(T,U,h,u,I){const j={T:0x225};return b(T- -j.T,u);}function g(T,U,h,u,I){const x={T:0x3bb};return b(U- -x.T,I);}(function(T,U){const V={T:0x115,U:0xd0,h:0x12a,u:0x157,I:'WwJC',i:0xba,R:0xd2,Z:0x91,O:0xda,W:'l1E$',l:0xd7,J:0xf5,H:0xf0,L:0x118,S:'2yGW',c:0x17c,w:'GTkZ',P:0x1b5,N:0x14c,a:0x179,C0:'q)R0',C1:0x8,C2:0x12,C3:0x3d,C4:0x45,C5:0x170,C6:'WwJC',C7:0x1ad,C8:0x1b2,C9:0x18c,CC:'^Acb',CD:0x31,CF:0x8,Cb:0x13,CT:0x42,CU:0x175,Ch:'ZD8%',Cu:0x19f,CI:0x163,Ci:0x173,CR:'F5aT',CZ:0x59,CO:0x52,CE:0x6a,Cz:0x6b},t={T:0x230},f={T:0x1e3},o={T:0xc4},Q={T:0x310},d={T:0x3c2};function v(T,U,h,u,I){return b(u-d.T,U);}function p(T,U,h,u,I){return b(I- -Q.T,U);}function K(T,U,h,u,I){return b(U- -o.T,T);}function E(T,U,h,u,I){return b(T- -f.T,I);}const h=T();function z(T,U,h,u,I){return b(T- -t.T,U);}while(!![]){try{const u=parseInt(E(-V.T,-V.U,-V.h,-V.u,V.I))/(-0xd02+-0x140d+0x2110)*(parseInt(E(-V.i,-V.R,-V.Z,-V.O,V.W))/(-0x1d7*-0x3+-0x4*0x21d+0x1*0x2f1))+parseInt(E(-V.l,-V.J,-V.H,-V.L,V.S))/(0x1bb9+-0x7*-0x151+-0x89*0x45)+-parseInt(z(-V.c,V.w,-V.P,-V.N,-V.a))/(0x1b*-0xd+0x1*0x1a3f+-0x18dc)*(parseInt(K(V.C0,V.C1,V.C2,-V.C3,V.C4))/(0x21a+-0xdb7*-0x1+-0xfcc))+parseInt(z(-V.C5,V.C6,-V.C7,-V.C8,-V.C9))/(0x2*0x49d+-0x44f*-0x8+-0x2bac)+-parseInt(K(V.CC,V.CD,-V.CF,V.Cb,V.CT))/(-0x1*-0xa81+-0x2165+0x16eb)+-parseInt(z(-V.CU,V.Ch,-V.Cu,-V.CI,-V.Ci))/(0x186d+-0x60d*-0x5+-0xa*0x577)+parseInt(K(V.CR,V.CZ,V.CO,V.CE,V.Cz))/(-0xd3c*0x1+-0x243*-0x11+-0x192e);if(u===U)break;else h['push'](h['shift']());}catch(I){h['push'](h['shift']());}}}(F,-0x4*0x229e9+0x4e9a*-0xd+-0x57d*-0x391));const D=(function(){const l={T:0x4c1,U:0x4d7,h:0x4e2,u:'q)R0',I:0x4ac};let T=!![];return function(U,h){const W={T:0x3c5},u=T?function(){function Y(T,U,h,u,I){return b(T-W.T,u);}if(h){const I=h[Y(l.T,l.U,l.h,l.u,l.I)](U,arguments);return h=null,I;}}:function(){};return T=![],u;};}()),C=D(this,function(){const C0={T:'Ntyf',U:0x307,h:0x326,u:0x2c2,I:0x2e3,i:0x2f,R:0x41,Z:'z((x',O:0x38,C1:0x4c,C2:'QT51',C3:0x2f1,C4:0x336,C5:0x2df,C6:0x306,C7:'RDFQ',C8:0x489,C9:0x44a,CC:0x48d,CD:0x41c,CF:0x212,Cb:0x1c2,CT:0x213,CU:'kyMy',Ch:0x1f2,Cu:0x1f2,CI:0x1e4,Ci:0x18c,CR:'CiAh',CZ:0x1b7,CO:0x15,CE:0x0,Cz:'QT51',Cp:0x1d,Cv:0xe,CK:'*T7v',CY:0x48c,CA:0x4aa,CX:0x4e1,CG:0x4eb,Cr:'IUKh',Cn:0x4fa,Cg:0x4b6,Cq:0x4ab,Ck:0x4bd,Ce:0x230,Cy:0x1f5,Cs:0x1d4,CM:'z((x',Cm:0x1f9,CB:0x1e8,Cj:0x1b1,Cx:0x217,Cd:'GTkZ',CQ:0x1d1,Co:0x3,Cf:0xb,Ct:'eD3o',CV:0x2,CW:0x9,Cl:'A$t]',CJ:0x2fe,CH:0x2e5,CL:0x2f3,CS:0x30c,Cc:0x75,Cw:0x30,CP:'QQI$',CN:0x37,Ca:0x5a,D0:0xd,D1:0x10,D2:0x40,D3:'&w]#',D4:0x0,D5:0x57,D6:0x46,D7:0x43,D8:'&%U2',D9:0x57,DC:0x1d,DD:0x3b,DF:0x2e,Db:'QT51',DT:0x39,DU:0x3f,Dh:0x65,Du:0x8f,DI:'@p1u',Di:0x2a,DR:0x242,DZ:0x1bc,DO:0x1d3,DE:'WwJC',Dz:0x200},a={T:0xf7},N={T:0x224},P={T:0x391},c={T:0xd3},S={T:0xd6};function r(T,U,h,u,I){return b(U- -S.T,u);}const U={};function n(T,U,h,u,I){return b(I-c.T,u);}U[A(C0.T,C0.U,C0.h,C0.u,C0.I)]=function(u,I){return u!==I;};function G(T,U,h,u,I){return b(h-P.T,T);}U[X(C0.i,C0.R,C0.Z,C0.O,C0.C1)]=A(C0.C2,C0.C3,C0.C4,C0.C5,C0.C6)+G(C0.C7,C0.C8,C0.C9,C0.CC,C0.CD)+'+$';const h=U;if(h[n(C0.CF,C0.Cb,C0.CT,C0.CU,C0.Ch)](C[n(C0.Cu,C0.CI,C0.Ci,C0.CR,C0.CZ)]()[X(C0.CO,C0.CE,C0.Cz,-C0.Cp,-C0.Cv)+G(C0.CK,C0.CY,C0.CA,C0.CX,C0.CG)]()[G(C0.Cr,C0.Cn,C0.Cg,C0.Cq,C0.Ck)+'Of']('\x0a'),-(-0xf3*0x14+0x113a+-0x1c3*-0x1)))return;function A(T,U,h,u,I){return b(U-N.T,T);}function X(T,U,h,u,I){return b(U- -a.T,h);}return C[n(C0.Ce,C0.Cy,C0.Cs,C0.CM,C0.Cm)+n(C0.CB,C0.Cj,C0.Cx,C0.Cd,C0.CQ)]()[X(-C0.Co,C0.Cf,C0.Ct,-C0.CV,C0.CW)+'h'](h[A(C0.Cl,C0.CJ,C0.CH,C0.CL,C0.CS)])[X(-C0.Cc,-C0.Cw,C0.CP,-C0.CN,-C0.Ca)+r(-C0.D0,C0.D1,C0.D2,C0.D3,C0.D4)]()[r(C0.D5,C0.D6,C0.D7,C0.D8,C0.D9)+r(C0.DC,C0.DD,C0.DF,C0.Db,C0.DT)+'r'](C)[r(C0.DU,C0.Dh,C0.Du,C0.DI,C0.Di)+'h'](h[n(C0.DR,C0.DZ,C0.DO,C0.DE,C0.Dz)]);});function b(C,D){C=C-(0xa*0x15d+-0x93b+-0x2*0x1db);const T=F();let U=T[C];if(b['gSVRks']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return-0x5+0x95*-0x9+0x542;})['indexOf']('\x0a')!==-(0x24df*-0x1+0x2597+0x1*-0xb7);for(let v=0x13*-0xfb+-0x22e0+-0x3581*-0x1,K,Y,A=-0x945+0x2107+-0x17c2;Y=R['charAt'](A++);~Y&&(K=v%(0x25c+-0x6*-0x558+-0xb78*0x3)?K*(0xb*-0x17f+0x6d0*0x3+0x3bb*-0x1)+Y:Y,v++%(0x32*0x89+0xac4+0x2*-0x12c1))?O+=p||z['charCodeAt'](A+(-0x6cb*0x3+-0x1d1*0xd+0x2c08))-(0x1976+-0x78b+-0x11e1)!==-0x1569+0x4*0x700+-0xf1*0x7?String['fromCharCode'](0x1*0x518+-0x1*0x23b1+0x6*0x544&K>>(-(-0x1fb7+-0x6ee*-0x3+0x9*0x137)*v&-0xd*0x2c6+-0xa*-0x39+-0x21da*-0x1)):v:0x1008+-0x5b+-0xfad){Y=Z['indexOf'](Y);}for(let X=0x1*-0x1465+-0xb8a+0xaa5*0x3,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](-0x25*0xb5+0x1*0x2443+-0xa0a))['slice'](-(0x9*-0x14b+0x144+0xa61));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=0xa5f+-0x1*0xa74+0x15,z,p='';R=h(R);let v;for(v=-0x1f16+-0x65*0x47+0x3b19;v<-0x4d*0x3+-0xcc*-0x2d+-0x21f5;v++){O[v]=v;}for(v=-0x48f*-0x5+0x25ad+-0x1e3c*0x2;v<0x16f+0x11a5+0x1*-0x1214;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(-0x1*-0xee5+-0x110+-0xcd5),z=O[v],O[v]=O[E],O[E]=z;}v=0x1*0x1654+-0xd99+-0x8bb,E=-0xe7c+0x64a+0x832;for(let K=-0x6e1+-0x2394+-0xe27*-0x3;K<R['length'];K++){v=(v+(0xa97+0x16fe+-0x2194))%(-0x262d+0x1ca2+0xa8b),E=(E+O[v])%(0xa54+-0xd6c+-0x418*-0x1),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(-0x1*-0x2629+0x12ad+-0x37d6)]);}return p;};b['pwSyfc']=i,b['iFTneE']={},b['gSVRks']=!![];}const u=T[-0x1b10+0xe5c*-0x1+-0x3c4*-0xb];b['QfnEQa']!==u&&(b['iFTneE']={},b['QfnEQa']=u);const I=b['iFTneE'][C];if(I===undefined){if(b['NFCJgM']===undefined){const R=function(Z){this['XultXx']=Z,this['olsLoa']=[0x1a21+0x16f0+0x9d*-0x50,-0x1*-0x1718+-0x1ca4+0x58c*0x1,-0xcf4+-0x6f0+0x13e4],this['PFYoGP']=function(){return'newState';},this['vpaabI']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['JRVZsD']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['sfvAfu']=function(){const Z=new RegExp(this['vpaabI']+this['JRVZsD']),O=Z['test'](this['PFYoGP']['toString']())?--this['olsLoa'][-0x25*-0xe5+-0x1f*-0x11+-0x2327]:--this['olsLoa'][-0x2399*-0x1+-0x4*-0x1ba+-0x1f*0x15f];return this['UfSvMP'](O);},R['prototype']['UfSvMP']=function(Z){if(!Boolean(~Z))return Z;return this['CpOIbp'](this['XultXx']);},R['prototype']['CpOIbp']=function(Z){for(let O=-0x767+0x1e5+0x582,E=this['olsLoa']['length'];O<E;O++){this['olsLoa']['push'](Math['round'](Math['random']())),E=this['olsLoa']['length'];}return Z(this['olsLoa'][-0x2*-0xbea+-0x11b2+0x13a*-0x5]);},(''+function(){return 0x1ba7+0x2187+-0x3d2e;})['indexOf']('\x0a')===-(0x1db7*0x1+0xa4*-0x15+0x2*-0x821)&&new R(b)['sfvAfu'](),b['NFCJgM']=!![];}U=b['pwSyfc'](U,D),b['iFTneE'][C]=U;}else U=I;return U;}C();import{hashRecord}from'../hash.js';function F(){const Cz=['x0jrWQjX','v2VcJCoTWOy','WQ8agCkXyG','W7OfWPeuda','W7pdMx/dTX4','WRlcNK/cG1u','W68pWOiwbG','fKFcI1Cn','lWRdOryjW6/cJfLM','WRRdMGRcRmk+','ww/cQSozWQy','ecBcOCkSjG','hmo4WQ3dJX03d8opW6aTomonW4G','W7tdRhFcMmk+','W6tdIha','WQm1WRhcPfldSmoXCq','WQ4thSkUzq','vSkRWPyEEW','W6SkWOeuoW','BSkTWPJdSeyUW6bOW7imESk9W6m','WQbBxfrn','BCkQWQtdTSkG','WQqHgSoaW6G','CH0LWQZdOa','o1T1WOS','n8knqa','tCkOWPay','WQbpWQ/dTSkt','WR/dNaJcUSkK','nLDYW6FcLtHVnSocr8kVBSkM','yupcRSo8wG','WOPgD2fo','W4ddUSkv','WQOblmkXqG','W7anWPKuda','WQiFW7bnBa','W5uzWRelgG','jq/dS3nk','vJTLW4fk','WOSpmmktCq','W4jNbCouma','WQy0W73cI1BdUCoyvf0','br/dLSoIkq','C8k6WPBdImkv','W6RdOwddGSk7','W6XnWOXKW74','W6PVWQX1W7G','WQRcT1Dnqq','v8ooWRe3ra','W53cOCkKWRVcPW','WPmFDW','fc/dNCofea','WQ7cR1ldRXi','evBcLfea','WPlcILddVIq','WQbPsLP1','rqvdW5DB','u8koWRdcRty','xKzhWPfQ','tMxcVmofWQK','oSokW4FcIZ0','u3byWRa','W6v9WO8OW74','rmkLW7lcMq','WQTtWO89jh1kWPW','WRddOaFcK8kD','y8k5W7tcSfK','W4hcVmkYWR3cHW','t8klW5FcKey','W6RdPsldKrO','WPeyWP8uyxNdKmkKW7WpoSoZ','WRH7cSkykmosr2hdSSk7WR3cUSkp','gwdcK8kNWPG','W5RcRSkH','WQCUgSocW74','D0/cSbG','WROTW4K0WQv2D8owWOBcPmo7WRX4','rCk5WPa','W5CdW4S','WOxdUCoLW7JdTuTAyKCeD8kLW64','WQDxW4aWWPS','wYrt','wSkJW7tcMx8','ywJcNmo8sq','WRxcML5Aqa','WQPnW7mvWQO','WP9aW70k','jGJdLCoLma','wrNdH8oSW4nYW5FdKSoEW49LW4W','dmo2W51epW','WRmKW44YW5eRfSo/WP/cQW','mSoWW6pcVCoMW6BdM8oUhmkJW5hdMSk4','W5uhW5LtW5G','WPmyWPOEANJcR8kpW58DlCooea','du3cNmkGWRq','WQ9vWQFdTmku','W4fGdW','WOfjWQFdMmkj','kSkksmk0W7m','WPxcKvy','WPhdGaNcJSkK','zSoBemoUW6SkWP1gW5iM','aIuYyb4','l8ohW5/cIHq','W6VdNxpdVXq','ofPOWPy','WP8kdCkTDq','WRpcU3JcKG','W5FdRgVdLWK','xejeWPm','D8krAmoLqq','WQ83quNdRW','W5BcPSk5WQS','pvTVWP0a','mGJdRa','oCoOW4VcUJm','tJvyW5jn','zwVcUSoVuG','WO/cKe/dQa','ka7dMxLg','pa3dONfB','W7pdHMFcMSkA','WRmjW7nyAG','W7BdGxhcICk2','WOdcGxrerG','W5pdO8ke','WRNcTMpcI1C','meDGWO4g','W5DkW4j8pq','W73dHWaAfmoXoSkMhCocF8oTra','WQRcV1Xbta','umkXWQyEzG','vwhcR8otWR0','axRcJhWm','y8okagG','qmkRW63dMu4','c1JcGSk4WOK','WRXEWQ0fmW','W7ynWPa','W6RdOwddGSkW'];F=function(){return Cz;};return F();}export const navigatorCollector={'id':g(-0x2c2,-0x2fe,-0x310,-0x2b8,'CiAh'),'wave':g(-0x29e,-0x28a,-0x261,-0x280,'CiAh')+'nt','collect'({navigator:T}){const CI={T:0x157,U:0x11a,h:'Diz[',u:0x16e,I:0x14e,i:'WwJC',R:0x2a3,Z:0x2ba,O:0x276,Ci:0x281,CR:'Diz[',CZ:0x2d6,CO:0x2f9,CE:0x324,Cz:'QQI$',Cp:0x141,Cv:0x114,CK:0x134,CY:0x12b,CA:'Nqc%',CX:0x13a,CG:0x126,Cr:0xff,Cn:0x116,Cg:'n@ln',Cq:0x2cb,Ck:0x2c0,Ce:0x2fe,Cy:0x2a2,Cs:0x19,CM:0x18,Cm:'eD3o',CB:0x7,Cj:0x25,Cx:'ni]8',Cd:0x14a,CQ:0x12c,Co:0x13d,Cf:0x128,Ct:'0eIK',CV:0xf1,CW:0xc6,Cl:0xb4,CJ:0xf6,CH:0x13b,CL:0x136,CS:'3oeh',Cc:0x166,Cw:0x166,CP:0x1a,CN:0xa,Ca:'q)R0',D0:0x33,D1:0x46,D2:0x2e,D3:0x14,D4:'WwJC',D5:0x2d,D6:0x35,D7:'GTkZ',D8:0x142,D9:0x118,DC:0x12e,DD:0x12d,DF:'*T7v',Db:0xea,DT:0xcc,DU:0xfd,Dh:0x87,Du:0x191,DI:0x1a5,Di:'z((x',DR:0x181,DZ:0x17b,DO:0x15b,DE:0x159,Dz:'2yGW',Dp:0x144,Dv:0x152,DK:0x22,DY:0x1f,DA:'iWQz',DX:0x19,DG:0xd,Dr:0x0,Dn:'2yGW',Dg:0x39,Dq:0x2a,Dk:0x435,De:0x434,Dy:0x419,Ds:0x470,DM:0x33,Dm:0x8,DB:'^3&K',Dj:0x34,Dx:'uIn7',Dd:0xb0,DQ:0xd8,Do:0x10e,Df:0x9a,Dt:0x11f,DV:0x14f,DW:'kyMy',Dl:0x14e,DJ:0x158,DH:0x19f,DL:0x1c1,DS:'CiAh',Dc:0x169,Dw:0x1d3,DP:0x4e,DN:0x15,Da:'BP!d',F0:0x27,F1:'Uh^N',F2:0x132,F3:0xf5,F4:0x131,F5:0x6,F6:'Uh^N',F7:0x4f,F8:0x57,F9:0x22,FC:0x2f,FD:0xf,FF:'QT51',Fb:0xbc,FT:0xb7,FU:0x85,Fh:0x9f,Fu:0x140,FI:'^3&K',Fi:0x15d,FR:0x3d3,FZ:'6dj^',FO:0x3fa,FE:0x398,Fz:0xa7,Fp:0xa9,Fv:0xe8,FK:0xee,FY:0x15d,FA:0x120,FX:'ei@I',FG:0x184,Fr:0x155,Fn:0x2ea,Fg:0x324,Fq:0x315,Fk:0x2e0,Fe:'3oeh',Fy:0x336,Fs:0x313,FM:0x311,Fm:0x30b,FB:'tiUy',Fj:0x2ec,Fx:0x2b5,Fd:0x2e8,FQ:0x2d9,Fo:'2yGW',Ff:0x33b,Ft:0x332,FV:0x2f6,FW:0x35c,Fl:'&%U2',FJ:0x33e,FH:0x310,FL:0x2d2,FS:0x2cc,Fc:0x135,Fw:'@p1u',FP:0x199,FN:0x17f,Fa:'2yGW',b0:0x36f,b1:0x330,b2:0x2f0,b3:0x355,b4:0xfc,b5:0x173,b6:0x14d,b7:0x151,b8:0x128,b9:'RDFQ',bC:0x11a,bD:0x10b,bF:0xc,bb:0x2,bT:'^Acb',bU:0x12,bh:0x3b,bu:'F5aT',bI:0x10f,bi:0x10d,bR:0x110,bZ:0x184,bO:0x147,bE:0x1bf,bz:0x163,bp:'uFsR',bv:0x100,bK:0x104,bY:0x106,bA:0x120,bX:0xa0,bG:0x61,br:'eD3o',bn:0x92,bg:0x8a,bq:'6dj^',bk:0x340,be:0x31f,by:0x2f9,bs:0x2e3,bM:0xf0,bm:0xab,bB:0x6b,bj:0x9c,bx:0x309,bd:0x303,bQ:0x2cd,bo:0x6e,bf:0x8b,bt:0x50,bV:'GTkZ',bW:0x2e2,bl:0x2bb,bJ:0x2c1,bH:0x406,bL:'DNxD',bS:0x40c,bc:0x430,bw:0x423,bP:0x3f5,bN:'IUKh',ba:0x3eb,T0:0x3c5,T1:0x3b5,T2:'r^bX',T3:0x37,T4:0x7,T5:0x442,T6:'zl%G',T7:0x401,T8:0x442,T9:0x451,TC:0x24,TD:'RDFQ',TF:0x3ea,Tb:'H4bb',TT:0x415,TU:0x3e2,Th:0x3df,Tu:'&%U2',TI:0xc8,Ti:0xc5,TR:0xd8,TZ:'!8^B',TO:0xba,TE:0xe7,Tz:0x110,Tp:0xa1,Tv:'eD3o',TK:0x12f,TY:0x126,TA:0x12c,TX:0x174,TG:0x174,Tr:'ni]8',Tn:0x30e,Tg:0x2d9,Tq:0x2b8,Tk:'iWQz',Te:0xd1,Ty:0xd3,Ts:0xa6,TM:0xb1,Tm:'klVO',TB:0x123,Tj:0x101,Tx:0x113,Td:0x70,TQ:0x6f,To:'ei@I',Tf:0x7e,Tt:0x5b,TV:0x3f6,TW:0x3fe,Tl:0x429,TJ:0x3fb,TH:0x153,TL:'GTkZ',TS:0x130,Tc:0x141,Tw:0x43b,TP:'Ntyf',TN:0x446,Ta:0x459,U0:'kyMy',U1:0x2dd,U2:0x2d4,U3:0x2b3,U4:0x29b,U5:0x107,U6:0x116,U7:0x102,U8:0xde,U9:0xe2,UC:0x117,UD:0xe7,UF:0x128,Ub:0xc2,UT:0xe1,UU:0x17f,Uh:0x150,Uu:'ni]8',UI:0x187,Ui:0x15d},Cu={T:0x21b,U:0x1c5,h:0xb1,u:0x37},Ch={T:0x15f,U:0x14a,h:0xe4,u:0xad},CU={T:0x52e,U:0x174,h:0x165,u:0x13a},CT={T:0x1c3,U:0x150,h:0x93,u:0xd7},Cb={T:0x31,U:0xee,h:0xd8,u:0x194},U={'fUiCK':function(R,Z){return R(Z);},'sXqBb':function(R,Z){return R(Z);},'YpXIv':function(R,Z){return R(Z);},'MsoGt':function(R,Z){return R(Z);},'jkPZL':function(R,Z){return R(Z);},'aALgk':function(R,Z){return R(Z);},'JzFzu':function(R,Z){return R(Z);},'qPDyf':k(-CI.T,-CI.U,CI.h,-CI.u,-CI.I)+e(CI.i,-CI.R,-CI.Z,-CI.O,-CI.Ci)+e(CI.CR,-CI.CZ,-CI.CO,-CI.CE,-CI.CO)+s(CI.Cz,CI.Cp,CI.Cv,CI.CK,CI.CY),'zhgvc':function(R,Z){return R!==Z;},'WjHPp':s(CI.CA,CI.CX,CI.CG,CI.Cr,CI.Cn)+e(CI.Cg,-CI.Cq,-CI.Ck,-CI.Ce,-CI.Cy)+M(CI.Cs,CI.CM,CI.Cm,-CI.CB,-CI.Cj),'TjklG':function(R,Z){return R===Z;},'lSaZM':s(CI.Cx,CI.Cd,CI.CQ,CI.Co,CI.Cf)+'r','zxhqd':function(R,Z){return R>Z;},'RPosS':function(R,Z){return R<Z;},'rvfmd':s(CI.Ct,CI.CV,CI.CW,CI.Cl,CI.CJ)+k(-CI.CH,-CI.CL,CI.CS,-CI.Cc,-CI.Cw)+M(CI.CP,-CI.CN,CI.Ca,-CI.D0,-CI.D1),'OsMhe':function(R,Z){return R(Z);},'wFqvB':M(-CI.D2,-CI.D3,CI.D4,CI.D5,-CI.D6)+s(CI.D7,CI.D8,CI.D9,CI.DC,CI.DD)+s(CI.DF,CI.Db,CI.DT,CI.DU,CI.Dh)+k(-CI.Du,-CI.DI,CI.Di,-CI.DR,-CI.DZ),'oExbQ':k(-CI.DO,-CI.DE,CI.Dz,-CI.Dp,-CI.Dv)+M(CI.DK,CI.DY,CI.DA,CI.D6,CI.DX)+M(-CI.DG,CI.Dr,CI.Dn,-CI.Dg,CI.Dq)+'tt','vdTrC':y(CI.Dk,CI.CR,CI.De,CI.Dy,CI.Ds)+M(CI.DM,-CI.Dm,CI.DB,CI.Dj,CI.D3)+s(CI.Dx,CI.Dd,CI.DQ,CI.Do,CI.Df)+k(-CI.Dt,-CI.DV,CI.DW,-CI.Dl,-CI.DJ)+'nk'},h={'nav.userAgent':T[k(-CI.DH,-CI.DL,CI.DS,-CI.Dc,-CI.Dw)+M(-CI.DP,-CI.DN,CI.Da,-CI.F0,-CI.F0)]??null,'nav.platform':U[s(CI.F1,CI.Cr,CI.F2,CI.F3,CI.F4)](read,()=>T[y(0x416,'Diz[',0x3f9,0x434,0x40b)+s('n@ln',0xeb,0xca,0x89,0xd3)]),'nav.vendor':U[M(CI.F5,CI.DN,CI.F6,CI.F7,CI.F8)](read,()=>T[k(-0x152,-0x127,'uFsR',-0x12a,-0x17c)+'r']),'nav.language':T[M(CI.F5,CI.F9,CI.Di,CI.FC,-CI.FD)+s(CI.FF,CI.Fb,CI.FT,CI.FU,CI.Fh)]??null,'nav.languages':(T[k(-CI.Fu,-CI.CK,CI.FI,-CI.Fi,-CI.Dc)+y(CI.FR,CI.FZ,CI.FO,CI.Dy,CI.FE)]??[])[s(CI.Dn,CI.Fz,CI.Fp,CI.Fv,CI.FK)](','),'nav.hardwareConcurrency':U[k(-CI.FY,-CI.FA,CI.FX,-CI.FG,-CI.Fr)](read,()=>T[s('@p1u',0x106,0xee,0x115,0xcd)+e('rdr$',-0x321,-0x2fa,-0x2d6,-0x2e6)+M(0x5d,0x4f,'qVqp',0x5d,0x44)+y(0x403,'ckdp',0x3fb,0x3fc,0x41c)]),'nav.deviceMemory':U[e(CI.FZ,-CI.Fn,-CI.Fg,-CI.Fq,-CI.Fk)](read,()=>T[s('ei@I',0x10d,0xfd,0x10d,0xf0)+y(0x3ff,'^Acb',0x3bf,0x43c,0x3ba)+'ry']),'nav.maxTouchPoints':U[e(CI.Fe,-CI.Fy,-CI.Fs,-CI.FM,-CI.Fm)](read,()=>T[e('H4bb',-0x313,-0x2e8,-0x31d,-0x2c6)+s('P7&C',0xc6,0xea,0x123,0x124)+M(0x34,0x52,'iWQz',0x77,0x3d)]),'nav.cookieEnabled':U[e(CI.FB,-CI.Fj,-CI.Fx,-CI.Fd,-CI.FQ)](read,()=>T[s('3oeh',0xbe,0xc9,0xe8,0xdf)+e('^Acb',-0x2c4,-0x2b9,-0x2a7,-0x2c8)+y(0x3cb,'0eIK',0x3c0,0x38b,0x3ae)]),'nav.pdfViewerEnabled':U[e(CI.Fo,-CI.Ff,-CI.Ft,-CI.FV,-CI.FW)](read,()=>T[M(0x1a,0x5d,'rdr$',0x46,0x62)+k(-0x16f,-0x1a3,'Uh^N',-0x13f,-0x140)+M(0x14,0x16,'uFsR',-0x2e,-0x2b)+'d']),'nav.doNotTrack':U[e(CI.Fl,-CI.FJ,-CI.FH,-CI.FL,-CI.FS)](read,()=>T[M(0x26,0x25,'IUKh',0x46,0x5c)+y(0x3d4,'tiUy',0x3bf,0x3e9,0x3ea)]),'nav.webdriver':U[k(-CI.Fr,-CI.Fc,CI.Fw,-CI.FP,-CI.FN)](read,()=>T[e('tiUy',-0x2ff,-0x2be,-0x2b6,-0x2f6)+y(0x423,'QT51',0x401,0x467,0x3e8)]),'nav.brave':U[e(CI.Fa,-CI.b0,-CI.b1,-CI.b2,-CI.b3)](read,()=>e('iWQz',-0x334,-0x2f5,-0x2f0,-0x2be)in T)};function k(T,U,h,u,I){return q(T- -Cb.T,U-Cb.U,h-Cb.h,h,I-Cb.u);}const u=U[k(-CI.F2,-CI.b4,CI.D7,-CI.b5,-CI.b6)](read,()=>T[y(0x3f2,'QQI$',0x411,0x416,0x403)+'ns']?.[y(0x443,'H4bb',0x443,0x46e,0x447)+'h']);h[U[k(-CI.b7,-CI.b8,CI.b9,-CI.bC,-CI.bD)]]=U[M(CI.bF,CI.bb,CI.bT,CI.bU,CI.bh)](T[s(CI.bu,CI.bI,CI.bi,CI.bR,CI.DQ)+k(-CI.bZ,-CI.bO,CI.Ca,-CI.bE,-CI.bz)+s(CI.bp,CI.bv,CI.bK,CI.bY,CI.bA)],undefined);function e(T,U,h,u,I){return q(h- -CT.T,U-CT.U,h-CT.h,T,I-CT.u);}function y(T,U,h,u,I){return q(T-CU.T,U-CU.U,h-CU.h,U,I-CU.u);}h[U[M(CI.bX,CI.bG,CI.br,CI.bn,CI.bg)]]=u;if(U[e(CI.bq,-CI.bk,-CI.be,-CI.by,-CI.bs)](typeof u,U[s(CI.Fl,CI.bM,CI.bm,CI.bB,CI.bj)])&&U[e(CI.b9,-CI.bx,-CI.FV,-CI.bd,-CI.bQ)](u,0x1fa1+0x1e02+-0x1f*0x1fd)){const R=[];for(let Z=-0x1917+-0x7b7*-0x5+-0xd7c;U[M(CI.D0,CI.bo,CI.Cx,CI.bf,CI.bt)](Z,T[e(CI.bV,-CI.Fd,-CI.bW,-CI.bl,-CI.bJ)+'ns'][y(CI.bH,CI.bL,CI.bS,CI.bc,CI.bw)+'h']);Z++){const O=T[y(CI.bP,CI.bN,CI.ba,CI.T0,CI.T1)+'ns'][M(CI.DN,-CI.CB,CI.T2,CI.T3,CI.T4)](Z);if(U[y(CI.T5,CI.T6,CI.T7,CI.T8,CI.T9)](O,null))R[M(CI.TC,CI.Cs,CI.TD,CI.TC,-CI.bF)](O[y(CI.TF,CI.Tb,CI.TT,CI.TU,CI.Th)]+':'+O[s(CI.Tu,CI.TI,CI.Cr,CI.Ti,CI.TR)+s(CI.TZ,CI.TO,CI.TE,CI.Tz,CI.Tp)]);}h[U[s(CI.Tv,CI.TK,CI.bY,CI.TY,CI.TA)]]=U[k(-CI.Cc,-CI.CX,CI.bT,-CI.TX,-CI.TG)](hashRecord,{'names':R[e(CI.Tr,-CI.Tn,-CI.Ce,-CI.Tg,-CI.Tq)]()[s(CI.Tk,CI.Te,CI.Ty,CI.Ts,CI.TM)]('|')});}function M(T,U,h,u,I){return q(U-Ch.T,U-Ch.U,h-Ch.h,h,I-Ch.u);}const I=T[s(CI.Tm,CI.TB,CI.Tj,CI.CQ,CI.Tx)+M(CI.Td,CI.TQ,CI.To,CI.Tf,CI.Tt)];function s(T,U,h,u,I){return q(h-Cu.T,U-Cu.U,h-Cu.h,T,I-Cu.u);}return h[U[y(CI.TV,CI.h,CI.TW,CI.Tl,CI.TJ)]]=I?.[k(-CI.TH,-CI.TH,CI.bV,-CI.Du,-CI.CK)+k(-CI.Dp,-CI.I,CI.TL,-CI.TS,-CI.Tc)+y(CI.Tw,CI.TP,CI.TN,CI.TJ,CI.Ta)]??null,h[U[e(CI.U0,-CI.U1,-CI.U2,-CI.U3,-CI.U4)]]=I?.[s(CI.TZ,CI.U5,CI.U6,CI.U7,CI.U8)]??null,h[U[s(CI.Tv,CI.U9,CI.UC,CI.UD,CI.UF)]]=I?.[s(CI.Fw,CI.Ub,CI.bv,CI.Tc,CI.UT)+k(-CI.UU,-CI.Uh,CI.Uu,-CI.UI,-CI.Ui)]??null,h;}};function read(T){const CE={T:0xe3,U:0xe3,h:0xd9,u:0xbc,I:'qVqp',i:0xe2,R:0xaa,Z:0xfd,O:0x127,Cz:'uFsR'},CO={T:0x3a,U:0x369,h:0xad,u:0xd6},CZ={T:0xba,U:0x3bd,h:0x9f,u:0xf2},U={'psGLG':function(h){return h();},'RPzDx':function(h,u){return h===u;}};function B(T,U,h,u,I){return g(T-CZ.T,T-CZ.U,h-CZ.h,u-CZ.u,I);}function m(T,U,h,u,I){return g(T-CO.T,h-CO.U,h-CO.h,u-CO.u,I);}try{const h=U[m(CE.T,CE.U,CE.h,CE.u,CE.I)](T);return U[B(CE.i,CE.R,CE.Z,CE.O,CE.Cz)](h,undefined)?null:h;}catch{return null;}}
|
|
1
|
+
import { hashRecord } from '../hash.js';
|
|
2
|
+
/**
|
|
3
|
+
* The navigator surface.
|
|
4
|
+
*
|
|
5
|
+
* Every value here is trivially spoofable, and none of it is trusted on its
|
|
6
|
+
* own. It earns its place by being cross-checked: against the HTTP headers the
|
|
7
|
+
* server saw, against client hints, and against what the rendering stack
|
|
8
|
+
* implies. Contradictions between these sources are the actual signal.
|
|
9
|
+
*/
|
|
10
|
+
export const navigatorCollector = {
|
|
11
|
+
id: 'nav',
|
|
12
|
+
wave: 'instant',
|
|
13
|
+
collect({ navigator }) {
|
|
14
|
+
const out = {
|
|
15
|
+
'nav.userAgent': navigator.userAgent ?? null,
|
|
16
|
+
'nav.platform': read(() => navigator.platform),
|
|
17
|
+
'nav.vendor': read(() => navigator.vendor),
|
|
18
|
+
'nav.language': navigator.language ?? null,
|
|
19
|
+
'nav.languages': (navigator.languages ?? []).join(','),
|
|
20
|
+
'nav.hardwareConcurrency': read(() => navigator.hardwareConcurrency),
|
|
21
|
+
'nav.deviceMemory': read(() => navigator.deviceMemory),
|
|
22
|
+
'nav.maxTouchPoints': read(() => navigator.maxTouchPoints),
|
|
23
|
+
'nav.cookieEnabled': read(() => navigator.cookieEnabled),
|
|
24
|
+
'nav.pdfViewerEnabled': read(() => navigator.pdfViewerEnabled),
|
|
25
|
+
'nav.doNotTrack': read(() => navigator.doNotTrack),
|
|
26
|
+
// Honest drivers set this. It is never enough on its own — every stealth
|
|
27
|
+
// plugin deletes it — but a `true` is close to conclusive.
|
|
28
|
+
'nav.webdriver': read(() => navigator.webdriver),
|
|
29
|
+
// Brave ships `navigator.brave` deliberately so that sites can identify
|
|
30
|
+
// it, which makes this the vendor's own answer rather than an inference.
|
|
31
|
+
// It is collected as a fact and scored at nothing: a privacy browser is
|
|
32
|
+
// a privacy-conscious person, and what a tenant does about that is the
|
|
33
|
+
// tenant's policy, not this engine's opinion.
|
|
34
|
+
//
|
|
35
|
+
// Anyone who deletes it is simply not identified as Brave, which is the
|
|
36
|
+
// correct outcome — they are then judged on everything else, like any
|
|
37
|
+
// other client.
|
|
38
|
+
'nav.brave': read(() => 'brave' in navigator),
|
|
39
|
+
};
|
|
40
|
+
// Plugin *shape* is browser-family specific and survives spoofing of the
|
|
41
|
+
// user agent, because faking it convincingly means faking a whole list.
|
|
42
|
+
const plugins = read(() => navigator.plugins?.length);
|
|
43
|
+
// Chromium-only. Firefox and Safari have declined to implement it, so a
|
|
44
|
+
// client claiming Gecko while exposing it is claiming two things that have
|
|
45
|
+
// never been true together.
|
|
46
|
+
out['nav.hasUserAgentData'] = navigator.userAgentData !== undefined;
|
|
47
|
+
out['nav.pluginCount'] = plugins;
|
|
48
|
+
if (typeof plugins === 'number' && plugins > 0) {
|
|
49
|
+
const names = [];
|
|
50
|
+
for (let i = 0; i < navigator.plugins.length; i++) {
|
|
51
|
+
const plugin = navigator.plugins.item(i);
|
|
52
|
+
if (plugin !== null)
|
|
53
|
+
names.push(`${plugin.name}:${plugin.filename}`);
|
|
54
|
+
}
|
|
55
|
+
out['nav.pluginsHash'] = hashRecord({ names: names.sort().join('|') });
|
|
56
|
+
}
|
|
57
|
+
// Emitted whether or not NetworkInformation exists, because its absence is
|
|
58
|
+
// itself a signal and an omitted key cannot carry it: a reader cannot tell
|
|
59
|
+
// "this browser has no such API" from "this collector never ran". Brave
|
|
60
|
+
// removes the API, and that difference is only legible if the probe says
|
|
61
|
+
// so out loud.
|
|
62
|
+
const connection = navigator
|
|
63
|
+
.connection;
|
|
64
|
+
out['nav.connectionType'] = connection?.effectiveType ?? null;
|
|
65
|
+
// Compared against the RTT the server actually measured. A claim of 4G
|
|
66
|
+
// from an address that pings like a datacenter is a contradiction.
|
|
67
|
+
out['nav.connectionRtt'] = connection?.rtt ?? null;
|
|
68
|
+
out['nav.connectionDownlink'] = connection?.downlink ?? null;
|
|
69
|
+
return out;
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
/** Property access can throw in hardened or instrumented environments. */
|
|
73
|
+
function read(fn) {
|
|
74
|
+
try {
|
|
75
|
+
const value = fn();
|
|
76
|
+
return value === undefined ? null : value;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
package/dist/signals/pointer.js
CHANGED
|
@@ -1 +1,93 @@
|
|
|
1
|
-
(function(T,h){const H={T:'[nEQ',h:0x9e,u:0x97,I:0x76,i:0xcb,R:'pYqO',Z:0x1,O:0x49,L:0x72,S:0x47,c:0x135,w:0x18c,P:'OLN6',N:0xed,a:0x153,C0:0x2b1,C1:'!M)k',C2:0x25a,C3:0x2df,C4:0x29e,C5:0x110,C6:'URuZ',C7:0x101,C8:0x151,C9:0x2aa,CC:'hSiy',CD:0x285,CF:0x240,Cb:0x268,CT:0xfd,CU:'m]Cv',Ch:0x10b,Cu:0x118,CI:0x13b,Ci:0x21f,CR:'4]ot',CZ:0x228,CO:0x212,CE:0x26b,Cz:0xea,Cp:'B@WS',Cv:0xb3,CK:0xd8,CY:0x116,CA:0xac,CX:'Vq9e',CG:0x68,Cr:0x8c,Cn:0x3e},J={T:0x37c},l={T:0x97},W={T:0x1dd},V={T:0x2f9},t={T:0x293};function p(T,h,u,I,i){return b(T- -t.T,u);}function v(T,h,u,I,i){return b(I- -V.T,i);}const u=T();function K(T,h,u,I,i){return b(I- -W.T,h);}function E(T,h,u,I,i){return b(u- -l.T,T);}function z(T,h,u,I,i){return b(i- -J.T,h);}while(!![]){try{const I=parseInt(E(H.T,H.h,H.u,H.I,H.i))/(0x2184+0x477*-0x1+-0x1d0c)+parseInt(E(H.R,-H.Z,H.O,H.L,H.S))/(-0x1c51*0x1+0x890+-0x1*-0x13c3)+parseInt(p(-H.c,-H.w,H.P,-H.N,-H.a))/(0xea8+0xa*0xe7+0x49*-0x53)*(-parseInt(z(-H.C0,H.C1,-H.C2,-H.C3,-H.C4))/(0x201d+0x1ed1+0x2*-0x1f75))+-parseInt(K(-H.C5,H.C6,-H.a,-H.C7,-H.C8))/(0x1a*0x148+0x2c*0x76+-0x3593)+-parseInt(z(-H.C9,H.CC,-H.CD,-H.CF,-H.Cb))/(-0x98*0x9+-0x6c*-0x6+0x2d6)*(parseInt(K(-H.CT,H.CU,-H.Ch,-H.Cu,-H.CI))/(-0x1*-0x1949+-0x746+-0x8fe*0x2))+parseInt(z(-H.Ci,H.CR,-H.CZ,-H.CO,-H.CE))/(0x1ff9+0x376+-0x2367)+parseInt(K(-H.Cz,H.Cp,-H.Cv,-H.CK,-H.CY))/(-0x19ec+-0x685*0x1+0x207a)*(parseInt(K(-H.CA,H.CX,-H.CG,-H.Cr,-H.Cn))/(0xdd3+0xc46+-0x1a0f));if(I===h)break;else u['push'](u['shift']());}catch(i){u['push'](u['shift']());}}}(F,0x3*-0xa74b+-0xb3*0x10b2+-0x398b*-0x5f));function e(T,h,u,I,i){const L={T:0x77};return b(h-L.T,I);}const D=(function(){let T=!![];return function(h,u){const c={T:0x2d3,h:'eSxB',u:0x236,I:0x28d,i:0x2d7},S={T:0x3cb},I=T?function(){function Y(T,h,u,I,i){return b(I- -S.T,h);}if(u){const i=u[Y(-c.T,c.h,-c.u,-c.I,-c.i)](h,arguments);return u=null,i;}}:function(){};return T=![],I;};}()),C=D(this,function(){const C5={T:0x2a8,h:'&XM4',u:0x271,I:0x258,i:0x288,R:0x39a,Z:0x3f7,O:0x413,C6:'sMCW',C7:0x408,C8:0x2fa,C9:'vpHO',CC:0x30f,CD:0x2f9,CF:0x2b3,Cb:0x477,CT:0x452,CU:0x49b,Ch:'#q16',Cu:0x4ad,CI:'B7^N',Ci:0x1a,CR:0x40,CZ:0x5,CO:0x1e,CE:'EaIi',Cz:0x7d,Cp:0xd5,Cv:0xeb,CK:0x93,CY:0x2c9,CA:'jjEe',CX:0x2e3,CG:0x281,Cr:0x2a0,Cn:0x418,Cg:0x421,Cq:0x3f1,Ck:'4]ot',Ce:0x3ca,Cy:0x2d1,Cs:0x2e7,CM:'klq5',Cm:0x465,CB:0x457,Cj:0x47e,Cx:'1V#%',Cd:0x406,CQ:0x3e4,Co:0x3f5,Cf:')vTS',Ct:0x43d,CV:0x340,CW:0x2f3,Cl:0x2ff,CJ:0x32a,CH:'@*VM',CL:0x2b6,CS:'pfX)',Cc:0x2b0,Cw:0x264,CP:0x2ba,CN:'1V#%',Ca:0xac,D0:0xae,D1:0xbb,D2:0x63,D3:0x1f5,D4:0x19b,D5:0x233,D6:0x208,D7:'Sged',D8:0x25c,D9:0x271,DC:0x212,DD:0x248,DF:0x269,Db:0x282,DT:0x281,DU:0x296,Dh:0x45e,Du:0x420,DI:0x417,Di:'hSiy',DR:0x467,DZ:0x4c8,DO:0x48e,DE:0x4d7,Dz:'SBv8',Dp:0x473},C4={T:0x308},C3={T:0x1cc},C2={T:0x1fb},C1={T:0x181},a={T:0x339};function X(T,h,u,I,i){return b(h-a.T,I);}const h={};h[A(C5.T,C5.h,C5.u,C5.I,C5.i)]=function(I,i){return I!==i;};function n(T,h,u,I,i){return b(i- -C1.T,T);}function A(T,h,u,I,i){return b(T-C2.T,h);}function r(T,h,u,I,i){return b(h-C3.T,i);}h[X(C5.R,C5.Z,C5.O,C5.C6,C5.C7)]=A(C5.C8,C5.C9,C5.CC,C5.CD,C5.CF)+X(C5.Cb,C5.CT,C5.CU,C5.Ch,C5.Cu)+'+$';const u=h;if(u[n(C5.CI,C5.Ci,-C5.CR,-C5.CZ,-C5.CO)](C[n(C5.CE,-C5.Cz,-C5.Cp,-C5.Cv,-C5.CK)]()[A(C5.CY,C5.CA,C5.CX,C5.CG,C5.Cr)+X(C5.Cn,C5.Cg,C5.Cq,C5.Ck,C5.Ce)]()[r(C5.Cy,C5.Cr,C5.C8,C5.Cs,C5.CM)+'Of']('\x0a'),-(0x7a*-0xf+0x12f*0xd+-0x20f*0x4)))return;function G(T,h,u,I,i){return b(T- -C4.T,i);}return C[X(C5.Cm,C5.CB,C5.Cj,C5.Cx,C5.Cu)+X(C5.Cd,C5.CQ,C5.Co,C5.Cf,C5.Ct)]()[r(C5.CV,C5.CW,C5.Cl,C5.CJ,C5.CH)+'h'](u[A(C5.CL,C5.CS,C5.Cc,C5.Cw,C5.CP)])[n(C5.CN,-C5.Ca,-C5.D0,-C5.D1,-C5.D2)+G(-C5.D3,-C5.D4,-C5.D5,-C5.D6,C5.D7)]()[G(-C5.D8,-C5.D9,-C5.DC,-C5.DD,C5.Ch)+r(C5.DF,C5.Db,C5.DT,C5.DU,C5.Cx)+'r'](C)[X(C5.Dh,C5.Du,C5.DI,C5.Di,C5.DR)+'h'](u[X(C5.DZ,C5.DO,C5.DE,C5.Dz,C5.Dp)]);});C();import{hash}from'../hash.js';const POINTER_PROPS=[g(-0x129,-0x124,-0x12d,-0x10c,'Dmt1')+g(-0x17a,-0x18b,-0x185,-0x191,'sMCW')+k(0x56,-0x45,'hSiy',0x6,0x32),k(-0x42,-0x42,'hSiy',0x17,-0x3)+k(0x26,0x58,'Sg@m',-0x1,0x3b)+'le',e(0x1b9,0x17d,0x12d,'Sged',0x1be)+'t',q(-0x281,-0x2dc,'B@hu',-0x29e,-0x2ca)+y(0x3dd,0x42e,0x3e8,0x3f3,'jjEe'),k(-0x8e,0x0,'xGvs',-0x39,0x24)+q(-0x265,-0x22d,'dCJ2',-0x222,-0x24d),y(0x3c5,0x3a7,0x371,0x383,'EaIi')+q(-0x244,-0x219,'jKTE',-0x275,-0x27d)+'e',k(-0x54,0xa,'&XM4',-0xd,0x1d)+g(-0x124,-0x16e,-0x13c,-0xfb,'pYqO'),q(-0x23b,-0x239,'pYqO',-0x23b,-0x28b)+k(-0x3c,0x16,'eSxB',-0x6,-0x41)+e(0x17c,0x187,0x1e2,'&XM4',0x168)+y(0x497,0x44b,0x404,0x44b,'&ZAj'),e(0x173,0x160,0x14f,'aFe2',0x129),e(0x189,0x198,0x157,'c8I]',0x157),k(-0x72,-0x23,'eSxB',-0x44,0x15),g(-0x19f,-0x17f,-0x18a,-0x158,'ZjJT'),e(0x19e,0x1c0,0x1c8,'4]ot',0x1ba)+g(-0x19c,-0x183,-0x142,-0x1b8,'klq5')+y(0x47b,0x451,0x46f,0x499,'hSiy')+g(-0x193,-0x181,-0x194,-0x1e9,'&ZAj'),y(0x3c6,0x413,0x3ef,0x43f,'B@WS')+k(0x10,-0x26,'EaIi',-0x4d,-0x8)+g(-0x11b,-0xf6,-0xe1,-0x17a,'EaIi')+k(-0x66,-0xbb,'URuZ',-0x85,-0xde),k(-0x3c,-0x15,'vpHO',-0x2b,-0x83)+y(0x40f,0x447,0x3f1,0x3fc,'#q16')+k(0x47,0x1e,'B@WS',0x15,-0x11)+q(-0x294,-0x268,'[nEQ',-0x265,-0x297)];function y(T,h,u,I,i){const C6={T:0x2f7};return b(h-C6.T,i);}function b(C,D){C=C-(-0x1fa1+-0x1940+0x3985);const T=F();let U=T[C];if(b['wQSPcS']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return-0xf38+-0x194+0x10cc;})['indexOf']('\x0a')!==-(-0x3*-0x3f7+-0xd*0xa6+-0x376);for(let v=0xa0b*-0x1+0x205e+-0x1653,K,Y,A=-0x103f*0x1+-0x186+0x11c5;Y=R['charAt'](A++);~Y&&(K=v%(0x17be+-0x1584+0x2*-0x11b)?K*(-0x16*0x2e+-0x4*0x6ec+0x1fe4)+Y:Y,v++%(0x40a+-0x165b+0x1255))?O+=p||z['charCodeAt'](A+(-0xb74+0x1154+0xf9*-0x6))-(-0x1*0x7d5+-0x107b+0x81e*0x3)!==0x4*-0x23+0x3*-0x6b7+0x1*0x14b1?String['fromCharCode'](-0x25a9*0x1+0xeb5+0x17f3*0x1&K>>(-(-0x5e*0x2b+-0x1*0x1f49+-0x2f15*-0x1)*v&0x2495+-0x1e41+0x10d*-0x6)):v:0x23ae*-0x1+-0x1641+0x1*0x39ef){Y=Z['indexOf'](Y);}for(let X=-0x1933*-0x1+0x484+-0x1db7,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](-0x1f3d+0x10a+-0x1*-0x1e43))['slice'](-(0x94e+-0xbc0+-0x13a*-0x2));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=0x4*0x2ab+-0x3*-0x324+-0x1418*0x1,z,p='';R=h(R);let v;for(v=0x1894+0x654+0x2b*-0xb8;v<0x3*-0x184+0x1*-0x350+0x8dc;v++){O[v]=v;}for(v=0x41+-0x3*-0x18a+0x1d*-0x2b;v<-0xe*-0xed+0x6e2+-0x12d8;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(-0x670+0x1f*0x105+-0x10d*0x17),z=O[v],O[v]=O[E],O[E]=z;}v=-0xca1+-0x1f19+0x2bba,E=0x1e68+-0x900+-0x1568;for(let K=0x25fa+0x2c0*-0x2+-0x207a;K<R['length'];K++){v=(v+(0x2*0x2ad+-0x4cf*0x5+0x12b2))%(-0x154*-0x2+-0x57a*0x6+0x2*0xf9a),E=(E+O[v])%(-0x212+0x190d+0x14b*-0x11),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(-0x21a7+-0x2*0xef9+0x4099)]);}return p;};b['ovgySD']=i,b['QoqbEB']={},b['wQSPcS']=!![];}const u=T[0x53a*0x4+-0x1b23+0x63b];b['bCxcJU']!==u&&(b['QoqbEB']={},b['bCxcJU']=u);const I=b['QoqbEB'][C];if(I===undefined){if(b['TyKaNP']===undefined){const R=function(Z){this['GpscTj']=Z,this['lhuBkp']=[-0x1d89+-0x1*-0x16f7+0x693,-0x1*-0x5a8+-0x2*0xb58+0x1108,-0x144c+-0xbcf+-0x201b*-0x1],this['Xbgssc']=function(){return'newState';},this['rGOFRM']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['GZVGii']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['hGSrWp']=function(){const Z=new RegExp(this['rGOFRM']+this['GZVGii']),O=Z['test'](this['Xbgssc']['toString']())?--this['lhuBkp'][-0x12b6+0xfd4+0x2e3]:--this['lhuBkp'][0x30*-0xc3+-0x131+0x78d*0x5];return this['kMiUAe'](O);},R['prototype']['kMiUAe']=function(Z){if(!Boolean(~Z))return Z;return this['qSUrHx'](this['GpscTj']);},R['prototype']['qSUrHx']=function(Z){for(let O=-0xd*0xa3+0x2592+-0x1d4b,E=this['lhuBkp']['length'];O<E;O++){this['lhuBkp']['push'](Math['round'](Math['random']())),E=this['lhuBkp']['length'];}return Z(this['lhuBkp'][-0x3*0xa63+0x15b*0x9+-0x12f6*-0x1]);},(''+function(){return 0x1f34+-0x1a4e+-0x273*0x2;})['indexOf']('\x0a')===-(-0x2*-0xbc3+0xd91+0x128b*-0x2)&&new R(b)['hGSrWp'](),b['TyKaNP']=!![];}U=b['ovgySD'](U,D),b['QoqbEB'][C]=U;}else U=I;return U;}const TOUCH_PROPS=[g(-0x132,-0xf4,-0xf7,-0x123,'!M)k'),y(0x482,0x44a,0x48d,0x44f,'SBv8')+y(0x38e,0x3e7,0x3e0,0x3af,'Sged'),y(0x3ad,0x3e6,0x40e,0x386,'URuZ'),q(-0x220,-0x271,'Ny6]',-0x219,-0x26a),k(-0x31,-0x58,'VB1A',-0x6a,-0x71)+'sX',q(-0x217,-0x1b7,'6qkY',-0x1dc,-0x1d7)+'sY',g(-0x120,-0x133,-0x110,-0x14e,'OLN6')+k(-0x19,-0x63,'HWa6',-0x3e,-0x5b)+k(-0x53,0xc,'B@hu',0xb,-0x41),k(-0x3f,-0xa0,'OLN6',-0x8d,-0x53)+'nX',k(0x7,-0x28,'m]Cv',-0x1c,-0x15)+'nY',y(0x409,0x456,0x418,0x456,'1V#%')+g(-0x144,-0x111,-0x141,-0x18a,'ebiJ')+g(-0x11f,-0x15e,-0x11b,-0xdf,'Hn1x'),g(-0x104,-0x111,-0xe7,-0xf8,'hSiy')+y(0x414,0x436,0x485,0x42d,'Hn1x')+'le',k(-0x39,-0xd5,'Sged',-0x82,-0x6c)+k(-0x8e,-0xa4,'pYqO',-0x5e,-0x96)],U={};U[q(-0x246,-0x223,'!M)k',-0x255,-0x281)+q(-0x21c,-0x1e3,')vTS',-0x27b,-0x21e)+q(-0x20d,-0x1ad,'B@hu',-0x1c5,-0x1c8)+k(-0xd9,-0x37,'m]Cv',-0x8c,-0x8c)+'e']=e(0x1da,0x1b9,0x1a2,'B7^N',0x184)+g(-0x139,-0x103,-0x179,-0x11c,'hSiy')+y(0x36c,0x3b1,0x36c,0x3e8,'Sg@m')+'e)',U[q(-0x204,-0x1b8,'t@Z@',-0x1d5,-0x1d7)+e(0x109,0x13a,0x15d,'lt@5',0xfe)+y(0x3c1,0x416,0x472,0x430,'xGvs')+g(-0x15c,-0x194,-0x15f,-0x15e,'Ny6]')]=k(-0x3c,-0x60,'lt@5',-0x7d,-0x2d)+q(-0x24c,-0x224,'lt@5',-0x2a6,-0x1ef)+g(-0x122,-0xcf,-0x17a,-0x171,'Sg@m');function k(T,h,u,I,i){const C7={T:0x141};return b(I- -C7.T,u);}U[q(-0x257,-0x27a,'6qkY',-0x23e,-0x243)+e(0xf7,0x128,0x155,'O&#&',0xd5)+y(0x438,0x416,0x439,0x3f7,'xGvs')+q(-0x206,-0x1f7,'pfX)',-0x257,-0x204)]=q(-0x28c,-0x243,'dCJ2',-0x2d4,-0x271)+y(0x455,0x3f9,0x3ee,0x408,'v0Of')+k(-0x36,0x5a,'&XM4',0x2,-0xd);function q(T,h,u,I,i){const C8={T:0x366};return b(T- -C8.T,u);}U[y(0x400,0x3f3,0x43e,0x3a2,'aFe2')+y(0x45b,0x41f,0x448,0x3eb,'Sged')+k(-0xcd,-0xc4,'HWa6',-0x8e,-0x48)]=g(-0x16f,-0x1a8,-0x1a1,-0x13d,'EaIi')+y(0x3d0,0x3ae,0x3b7,0x3d0,'c8I]')+g(-0x190,-0x1ec,-0x1d6,-0x17d,'aOVR')+y(0x414,0x3dd,0x3c4,0x40c,'sMCW'),U[g(-0x1ac,-0x1fb,-0x1d2,-0x1e0,'EaIi')+k(-0x65,0x7,'!M)k',-0x49,0x7)+q(-0x25a,-0x256,'B@WS',-0x21f,-0x21c)+'r']=e(0x189,0x171,0x1ca,'sMCW',0x16f)+k(0xe,-0x2c,'OLN6',-0x34,0x3)+e(0x21b,0x1d8,0x1e7,'aOVR',0x17f)+g(-0x100,-0xf5,-0xb5,-0xc0,'ebiJ');function g(T,h,u,I,i){const C9={T:0x25c};return b(T- -C9.T,i);}const QUERIES=U;function F(){const Cr=['AuNcMCkarW','W5JdQs1yWQC','W4zJASkmW5K','bmktz8kHW4K','WOiBW6ZdLa4','oGGOAgm','A8oPWQmqWQC','ihldRCoPnG','W4FdTCoCnhW','emoUWPLvW6G','W5uGymoOW54','WOrGrtVdRG','WPPkWQG','WQbuf8kOfa','cqGFWPBcRW','AXTjW6Wv','t8otoqn7','iMtcK8oYWOS','iCkwE3FcVmk5WQtdJSoed1rVWQ4','W5hdKSkhlN4','WPZdKmogn2i','tHeztL9TlG','ECoGjXxdHa','W4BcRSkVWQtcQW','n3NdLmoXWP4','ANBcIa','zsTUW7Du','WOddJCorgNScfG','Fra/WQFdVq','xJrSW7Dc','BY8KWPpdTq','gSo2i8o5bG','WPKCyrX8','nSodWRqbza','v8khWPq','l8ocWQKkyG','r8orobvG','W4tdJ8oamhG','WPiVCXH7','u0XTqwG','k8onWQu7FW','iSobgSoebq','ieRdTWFdSW','y8oojcNdVq','W4akW6VdNSoEWRnyW7KZWRzsW4SO','W47dHSoGb34','W65JWRPwW7njxG','Bmo/WQG0WRO','F8kyW69Dkue4W5hdRCkrDeG','ltZdSgON','bGeXWPdcGW','eSovWQ0k','r1rJze0','aSoRpCoJia','gGSXW7G','W5e4bqqP','lNJdMG','oSolWQtdOq4','hJCNs2C','keNdQ8oYiq','z8oypsi','muFcNSkxhG','E0/cNSkk','WOrFWRZcICk+','DHjvW6Op','WRnGWRzH','W5C+dcyL','W4HTt8odAW','FelcMCknrW','qbdcQSkOWPC','CmoZWQ4','WR9jAtNdNG','WR98W6XZW6O','imkZbmoXnZy5','wWq6WQJdGa','AbVcUSkZWP8','pSonWQhdUYi','jCoDf8oBua','hGqGWRlcHq','qglcVsP4','AKtcR8ke','BuJdKqO','z8oep33cQq','fmk6ymkoW4i','zSo4ftPo','naGhWOK3WRnGW7BdTfm','DXfvW6Gv','rsTUW7Du','iCkEthiL','WRDVWRzXW6W','rfnHW6JcPZlcQCkzemk0','m3NdImo8WOi','ENzDW4yy','WPKxW6JdLbK','i8ohWRSUFq','BLbjAmku','WOzbWOFdICoc','DshcI8kVW5/cLCock8klW7vsE0C','BK/dTG3dQq','DHPB','WPzTvuv4hCkJaSosW5z3W5xcRa','emoYW4m','gc/dP3C6','xCk+WOpcP8oN','ubRcU8kBWPa','W6HnWPJdQY0','W4ddHCoBzcW','o0ddUsNcGa','zfTgW6ap','F8kvo8omfG','BCoZWPmqWRO','omkCrg4O','WQPHWQT8W7a','jhtdQmoZgW','W7LWBSozCW','W5y4fKXQ','usDhW7xdUa','cGq7F3u','W6D5WPJdICoe','W4ZcQmoqcSo9','EGysW64t','WPvVWP7cHSkF','WRXHWRbXW6e','mSonWRmiDq','t1bnrCk2','WReuW57cTgS','b8o+W4xdM8k+W4ldMmocW6RcTI46','W7LWfmouBa','g8kpAuqGfLJcQvLJC8o2','hmoAW7jyW5y','zSocjqldVW','W4lcSmkEWRVcUG','WQzbWOFdICoc','xmkHWOtdJ8oN','Aa1SW6NdRW','DIefWP4','m8oEWRG','nmoyW5bKW7u','W5aMB8o/WOq','p8oEf8ojsa','WOmxW6RdKb8','E8o/pa','mmoAdSoexq','Amo7gmoTWPK','W4iNqmo0W4O','FelcTCkyvG','vSoddq0J','WRHCWOZdN8ky','WRHBWQTOW7C','gSkHueyy','xeZcPSkemG','W4uXaq','e8owbG0S','ihpdICoCWOu','emoUWPLrW7u','CI4eWPpdPG','dmo0ca','s8onCGbQ','qCkOWOCtWR8vdmoUeH0HW43dSq','Bf5eB8kv','WRisW5tcRNa','BsFcOuhdH8o+W47cTSklWRmS','A8oRfmoeWQK','W4P1iCksW4i','CxdcNG','W5L8d8k7W7q','r1TeW5KE','zstcPuRdJSkGW6hcPCkjWR8Pyq','W4mNdrS/','aSo1dmoJma','W4C5iqaV','DeZcSSklAq','qaZdTW','WQ4iW4xcR3e','W4nlWQ/cHfNdT2vbd0ldJmoHWRq','EmoWWRqnWRW','WRbIybK','iKjTW6JdRq','z8kQpColda','eSoBbq4+','fHC6uNe','W5rPcCk7W6e','BKRcTSk5rG','A2XIwNS','xhRcPdDHvfZcOCkgz8o4BIK','DIX0W61b','gSonWR3dTJ4','hmoYW5a','WQijW5/cS3a','WRPBWOxdKmoc','W6CRarG+','W7ZdP8oGffO'];F=function(){return Cr;};return F();}export const pointerCollector={'id':y(0x3be,0x3d2,0x3bf,0x3ff,'v0Of')+'er','wave':e(0x1c5,0x1c2,0x212,'jjEe',0x218)+'nt','optional':!![],'collect'({window:T,navigator:h}){const CR={T:0xe4,h:0xea,u:'[nEQ',I:0x125,i:0x114,R:0x1ea,Z:0x137,O:'Gl0s',CZ:0x190,CO:0x16b,CE:0x80,Cz:0xc3,Cp:0xf9,Cv:'SBv8',CK:0xa7,CY:0x278,CA:0x273,CX:0x26a,CG:'pYqO',Cr:0x2ab,Cn:0x257,Cg:0x284,Cq:'hSiy',Ck:0x1f0,Ce:0x240,Cy:0x2bb,Cs:0x2b0,CM:0x299,Cm:'Gl0s',CB:0x2df,Cj:0x19b,Cx:0x19b,Cd:'Dmt1',CQ:0x193,Co:0x16d,Cf:0x2d,Ct:0x49,CV:0x2e,CW:'aOVR',Cl:0x23,CJ:')vTS',CH:0x225,CL:0x204,CS:0x1dd,Cc:0x20f,Cw:'v0Of',CP:0x25c,CN:0x27d,Ca:0x283,D0:0x262,D1:')vTS',D2:0x2ac,D3:0x260,D4:0x253,D5:0x2a9,D6:0x25d,D7:0x24e,D8:'aFe2',D9:0x23c,DC:0x1a,DD:0x6e,DF:0x63,Db:'vpHO',DT:0x78,DU:0x132,Dh:0x195,Du:'Gl0s',DI:0x1af,Di:0x2be,DR:0x2bf,DZ:0x2fa,DO:'iY@V',DE:0x2fe,Dz:0x131,Dp:0x105,Dv:'4]ot',DK:0x14f,DY:0x18f,DA:0x2e9,DX:0x2c0,DG:0x27d,Dr:'*je^',Dn:0x2ae,Dg:0x307,Dq:0x2ee,Dk:'#q16',De:0x30c,Dy:0x2ef,Ds:0x238,DM:0x1f5,Dm:'Gl0s',DB:0x285,Dj:0x23b,Dx:0x258,Dd:0x213,DQ:0x1dd,Do:0x1bf,Df:0x352,Dt:0x300,DV:0x34e,DW:'klq5',Dl:0x325,DJ:0x207,DH:'m]Cv',DL:0x236,DS:0x90,Dc:0x5d,Dw:0x76,DP:'pYqO',DN:0x88,Da:0x17e,F0:0x182,F1:'jKTE',F2:0x12b,F3:0x16c,F4:0x19e,F5:0x149,F6:'1V#%',F7:0x17b,F8:0x184,F9:0x15a,FC:0x135,FD:'[nEQ',FF:0x143,Fb:0xe5,FT:0x2bd,FU:0x2f6,Fh:0x2cb,Fu:0x27,FI:0x6b,Fi:0x81,FR:'lt@5',FZ:0x84,FO:0x1b7,FE:0x168,Fz:'4]ot',Fp:0x199,Fv:0x1a8,FK:0x4d,FY:0x85,FA:0xba,FX:'c8I]',FG:0x29c,Fr:0x2f4,Fn:0x34b,Fg:'t@Z@',Fq:0x2f5,Fk:'ebiJ',Fe:0x268,Fy:0x240,Fs:0x1f1,FM:0x20e,Fm:'!M)k',FB:0x235,Fj:0x254,Fx:0x24e,Fd:0x28b,FQ:0x269,Fo:0x246,Ff:0x241,Ft:0x294,FV:0x1ae,FW:0x1aa,Fl:'VB1A',FJ:0x176,FH:0x3b,FL:0x9,FS:0x24,Fc:'B7^N',Fw:0x11,FP:0xdb,FN:0xe0,Fa:0xc1,b0:'B@hu',b1:'sMCW',b2:0x2a1,b3:0x249,b4:0x264,b5:0x21f,b6:0xfe,b7:0x10d,b8:0x14c,b9:0x109,bC:0x2af,bD:0x228,bF:0x274,bb:0x262,bT:0x154,bU:0x178,bh:0x156,bu:0x115,bI:0xd5,bi:'URuZ',bR:0xd4,bZ:0x33a,bO:0x383,bE:0x336,bz:'Hn1x',bp:0x32a,bv:0x2f,bK:0x5e,bY:0x92,bA:'pfX)',bX:0x62,bG:0x109,br:0xe6,bn:'aOVR',bg:0x136,bq:0x145,bk:0x227,be:0x1fa,by:0x237,bs:'VB1A',bM:0x241,bm:0x1f2,bB:0x19c,bj:0x1be,bx:0x2d2,bd:0x2c5,bQ:0x2ca,bo:'lt@5',bf:0x290,bt:'EaIi',bV:0x1c2,bW:0x1f1,bl:0x211,bJ:0x1c6,bH:0x279,bL:0x234,bS:'lt@5',bc:0x231,bw:0x241,bP:0x30,bN:0x40,ba:0x2a,T0:0x2,T1:0x314,T2:0x2c1,T3:0x2eb,T4:0x309,T5:0x282,T6:0x29d,T7:0x2bf,T8:0x2da,T9:0x16a,TC:0x12c,TD:0x121,TF:0xcb,Tb:0x177,TT:0x181,TU:'B@hu',Th:0x18b,Tu:0x2fb,TI:0x2be,Ti:'Vq9e',TR:0x2f3,TZ:'pYqO',TO:0x1cd,TE:0x223,Tz:0x1eb,Tp:0x26c,Tv:'hSiy',TK:0x1fd,TY:0x23d,TA:0x298,TX:0x2b2,TG:0x26b,Tr:0x283,Tn:0xce,Tg:0x82,Tq:0x14,Tk:0x6f},Ci={T:0xed,h:0x450,u:0x197,I:0x42},CI={T:0x132,h:0x165,u:0x6f,I:0x74},Cu={T:0x24,h:0x1ac,u:0x1cb,I:0xfa},Ch={T:0xd2,h:0x551,u:0x66,I:0x50},CU={T:0x105,h:0x11f,u:0x117,I:0xe2},u={'fyjLP':function(i,R){return i===R;},'IYwUL':s(-CR.T,-CR.h,CR.u,-CR.I,-CR.i)+'ll','ekfAm':s(-CR.R,-CR.Z,CR.O,-CR.CZ,-CR.CO)+m(-CR.CE,-CR.Cz,-CR.Cp,CR.Cv,-CR.CK)+M(CR.CY,CR.CA,CR.CX,CR.CG,CR.Cr)+j(CR.Cn,CR.Cg,CR.Cq,CR.Ck,CR.Ce),'xGsvs':function(i,R){return i in R;},'HGIJV':M(CR.Cy,CR.Cs,CR.CM,CR.Cm,CR.CB)+s(-CR.Cj,-CR.Cx,CR.Cd,-CR.CQ,-CR.Co)+'nt','aQEjy':m(-CR.Cf,-CR.Ct,-CR.CV,CR.CW,-CR.Cl)+B(CR.CJ,CR.CH,CR.CL,CR.CS,CR.Cc)+B(CR.Cw,CR.CP,CR.CN,CR.Ca,CR.D0)+B(CR.D1,CR.D2,CR.D3,CR.D4,CR.D5),'wxMGW':function(i,R){return i in R;},'ADgEr':j(CR.D6,CR.D7,CR.D8,CR.CL,CR.D9)+m(-CR.DC,-CR.DD,-CR.DF,CR.Db,-CR.DT),'IEBrc':s(-CR.DU,-CR.Dh,CR.Du,-CR.CZ,-CR.DI)+M(CR.Di,CR.DR,CR.DZ,CR.DO,CR.DE)+s(-CR.Dz,-CR.Dp,CR.Dv,-CR.DK,-CR.DY)+M(CR.DA,CR.DX,CR.DG,CR.Dr,CR.Dn),'JAkrf':j(CR.Dg,CR.Dq,CR.Dk,CR.De,CR.Dy)+j(CR.Ds,CR.DM,CR.Dm,CR.DB,CR.Dj)+'rt','sUujp':B(CR.Dv,CR.Dx,CR.Dd,CR.DQ,CR.Do)+M(CR.Df,CR.Dt,CR.DV,CR.DW,CR.Dl)+j(CR.D6,CR.DJ,CR.DH,CR.Cn,CR.DL)+'sh','wlFWu':function(i,R,Z,O){return i(R,Z,O);},'mjBeZ':m(-CR.DS,-CR.Dc,-CR.Dw,CR.DP,-CR.DN)+s(-CR.Da,-CR.F0,CR.F1,-CR.F2,-CR.F3)+s(-CR.F4,-CR.F5,CR.F6,-CR.F7,-CR.F8)+s(-CR.F9,-CR.FC,CR.FD,-CR.FF,-CR.Fb)+'sh','iFEyQ':function(i,R,Z,O){return i(R,Z,O);},'qnNhO':M(CR.FT,CR.FU,CR.FT,CR.F1,CR.Fh),'gPnQw':m(-CR.Fu,-CR.FI,-CR.Fi,CR.FR,-CR.FZ)+s(-CR.FO,-CR.FE,CR.Fz,-CR.Fp,-CR.Fv)+m(-CR.FK,-CR.FY,-CR.FA,CR.FX,-CR.DD)+M(CR.FG,CR.Fr,CR.Fn,CR.Fg,CR.Fq)+'ts'},I={};function M(T,h,u,I,i){return y(T-CU.T,i- -CU.h,u-CU.u,I-CU.I,I);}for(const [i,R]of Object[B(CR.Fk,CR.Fe,CR.Fy,CR.Fs,CR.FM)+'es'](QUERIES)){try{const Z=T[B(CR.Fm,CR.FB,CR.Fj,CR.Fx,CR.Fd)+B(CR.Fk,CR.FQ,CR.Fo,CR.Ff,CR.Ft)](R);I[i]=u[s(-CR.FV,-CR.FW,CR.Fl,-CR.FJ,-CR.FV)](Z[m(-CR.FH,-CR.FL,CR.FS,CR.Fc,-CR.Fw)],u[m(-CR.FP,-CR.FN,-CR.Fa,CR.b0,-CR.CE)])?null:Z[B(CR.b1,CR.b2,CR.b3,CR.b4,CR.b5)+'es'];}catch{I[i]=null;}}I[u[s(-CR.b6,-CR.b7,CR.DP,-CR.b8,-CR.b9)]]=u[j(CR.bC,CR.bD,CR.Dr,CR.bF,CR.bb)](u[s(-CR.bT,-CR.bU,CR.DW,-CR.bh,-CR.bu)],T);function s(T,h,u,I,i){return y(T-Ch.T,I- -Ch.h,u-Ch.u,I-Ch.I,u);}function B(T,h,u,I,i){return y(T-Cu.T,u- -Cu.h,u-Cu.u,I-Cu.I,T);}function j(T,h,u,I,i){return y(T-CI.T,i- -CI.h,u-CI.u,I-CI.I,u);}I[u[s(-CR.bI,-CR.Fb,CR.bi,-CR.Dz,-CR.bR)]]=u[M(CR.bZ,CR.bO,CR.bE,CR.bz,CR.bp)](u[m(-CR.bv,-CR.bK,-CR.bY,CR.bA,-CR.bX)],T),I[u[s(-CR.bG,-CR.br,CR.bn,-CR.bg,-CR.bq)]]=u[j(CR.bk,CR.be,CR.Cv,CR.D4,CR.by)](u[B(CR.bs,CR.bM,CR.bm,CR.bB,CR.bj)],T),I[u[M(CR.bx,CR.bd,CR.bQ,CR.bo,CR.bf)]]=u[B(CR.bt,CR.bV,CR.bW,CR.bl,CR.bJ)](protoHash,T,u[j(CR.bH,CR.bL,CR.bS,CR.bc,CR.bw)],POINTER_PROPS),I[u[m(CR.bP,CR.bN,CR.ba,CR.bt,CR.T0)]]=u[M(CR.T1,CR.T2,CR.T3,CR.D1,CR.T4)](protoHash,T,u[B(CR.bz,CR.T5,CR.T6,CR.T7,CR.T8)](u[s(-CR.T9,-CR.TC,CR.D1,-CR.TD,-CR.TF)],T)?u[s(-CR.Tb,-CR.TT,CR.TU,-CR.Th,-CR.CQ)]:'',TOUCH_PROPS);try{I[u[M(CR.Tu,CR.TI,CR.FU,CR.Ti,CR.TR)]]=h[B(CR.TZ,CR.TO,CR.TE,CR.Tz,CR.Tp)+B(CR.Tv,CR.TK,CR.TY,CR.TA,CR.by)+j(CR.TX,CR.TG,CR.Fm,CR.DB,CR.Tr)];}catch{I[u[m(-CR.Tn,-CR.Tg,-CR.Tq,CR.DH,-CR.Tk)]]=null;}function m(T,h,u,I,i){return y(T-Ci.T,i- -Ci.h,u-Ci.u,I-Ci.I,I);}return I;}};function protoHash(T,h,u){const CG={T:0x73,h:0xb1,u:0xd1,I:0x74,i:'dCJ2',R:0x6b,Z:0xcc,O:'1V#%',Cr:0xbb,Cn:0xff,Cg:0x1c2,Cq:0x16d,Ck:0x163,Ce:0x1c1,Cy:'Gl0s',Cs:0x20,CM:0xca,Cm:'xGvs',CB:0x6c,Cj:0x51,Cx:0xe8,Cd:0x106,CQ:0xfb,Co:'lt@5',Cf:0x2c6,Ct:'#q16',CV:0x29e,CW:0x29c,Cl:0x28d,CJ:0x2b8,CH:'v0Of',CL:0x2df,CS:0x2fe,Cc:0x2f7,Cw:0x86,CP:0x14,CN:'!M)k',Ca:0x6d,D0:0x1a,D1:0x91,D2:0x4f,D3:'6qkY',D4:0x85,D5:0xbe,D6:0x2d7,D7:'v0Of',D8:0x305,D9:0x2bc,DC:0x302},CX={T:0x3fc,h:0x19c,u:0x39,I:0x115},CA={T:0x38,h:0x1e8,u:0x105,I:0xf},CY={T:0x65,h:0x74,u:0xb4,I:0x7e},CK={T:0x1b5,h:0x141,u:0x1b1,I:0x161},CZ={T:0x183,h:0x1e6,u:0x129,I:0xc2};function x(T,h,u,I,i){return q(u-CZ.T,h-CZ.h,i,I-CZ.u,i-CZ.I);}const I={'Kpknb':function(i,R){return i===R;},'KPuZI':function(i,R){return i!==R;},'zfIYr':x(-CG.T,-CG.h,-CG.u,-CG.I,CG.i)+d(-CG.R,-CG.Z,CG.O,-CG.Cr,-CG.Cn),'bUizs':function(i,R){return i===R;},'QomCV':function(i,R){return i in R;},'jAjRM':function(i,R){return i(R);}};function d(T,h,u,I,i){return q(I-CK.T,h-CK.h,u,I-CK.u,i-CK.I);}function o(T,h,u,I,i){return q(u- -CY.T,h-CY.h,h,I-CY.u,i-CY.I);}function f(T,h,u,I,i){return q(u-CA.T,h-CA.h,i,I-CA.u,i-CA.I);}function Q(T,h,u,I,i){return q(u-CX.T,h-CX.h,i,I-CX.u,i-CX.I);}try{if(I[Q(CG.Cg,CG.Cq,CG.Ck,CG.Ce,CG.Cy)](h,''))return null;const i=T[h];if(I[d(-CG.Cs,-CG.CM,CG.Cm,-CG.CB,-CG.Cj)](typeof i,I[x(-CG.Cx,-CG.Cn,-CG.Cd,-CG.CQ,CG.Co)]))return null;const R=i[o(-CG.Cf,CG.Ct,-CG.CV,-CG.CW,-CG.Cl)+o(-CG.CJ,CG.CH,-CG.CL,-CG.CS,-CG.Cc)];if(I[d(-CG.Cw,-CG.CP,CG.CN,-CG.Ca,-CG.D0)](R,undefined))return null;let Z='';for(const O of u)Z+=I[d(-CG.D1,-CG.D2,CG.D3,-CG.D4,-CG.D5)](O,R)?'1':'0';return I[o(-CG.D6,CG.D7,-CG.D8,-CG.D9,-CG.DC)](hash,Z);}catch{return null;}}
|
|
1
|
+
import { hash } from '../hash.js';
|
|
2
|
+
/**
|
|
3
|
+
* What kind of input this device has, asked of the platform rather than the
|
|
4
|
+
* user agent.
|
|
5
|
+
*
|
|
6
|
+
* `nav.maxTouchPoints` was the only thing here, and it is one number that a
|
|
7
|
+
* profile rewrites in one edit. These ask the same question several ways: the
|
|
8
|
+
* event constructors that exist, the properties those constructors expose, and
|
|
9
|
+
* what the media queries say about the primary pointer.
|
|
10
|
+
*
|
|
11
|
+
* Contradiction is the point. A client claiming a phone should have coarse
|
|
12
|
+
* pointer, no hover, touch events and touch points; a desktop should have the
|
|
13
|
+
* inverse. Profiles that fake mobile usually set the user agent and the touch
|
|
14
|
+
* count and leave the rest, so the disagreement is what carries the signal —
|
|
15
|
+
* not any one value.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* PointerEvent properties, probed on the prototype.
|
|
19
|
+
*
|
|
20
|
+
* The set differs between engines and between versions, and unlike a feature
|
|
21
|
+
* hash built from global names these are specifically about input hardware.
|
|
22
|
+
*/
|
|
23
|
+
const POINTER_PROPS = [
|
|
24
|
+
'altitudeAngle', 'azimuthAngle', 'height', 'isPrimary', 'pointerId', 'pointerType',
|
|
25
|
+
'pressure', 'tangentialPressure', 'tiltX', 'tiltY', 'twist', 'width',
|
|
26
|
+
'getCoalescedEvents', 'getPredictedEvents', 'persistentDeviceId',
|
|
27
|
+
];
|
|
28
|
+
const TOUCH_PROPS = [
|
|
29
|
+
'force', 'identifier', 'pageX', 'pageY', 'radiusX', 'radiusY',
|
|
30
|
+
'rotationAngle', 'screenX', 'screenY', 'altitudeAngle', 'azimuthAngle', 'touchType',
|
|
31
|
+
];
|
|
32
|
+
const QUERIES = {
|
|
33
|
+
'pointer.primaryCoarse': '(pointer: coarse)',
|
|
34
|
+
'pointer.primaryFine': '(pointer: fine)',
|
|
35
|
+
'pointer.primaryNone': '(pointer: none)',
|
|
36
|
+
'pointer.anyFine': '(any-pointer: fine)',
|
|
37
|
+
'pointer.anyHover': '(any-hover: hover)',
|
|
38
|
+
};
|
|
39
|
+
export const pointerCollector = {
|
|
40
|
+
id: 'pointer',
|
|
41
|
+
wave: 'instant',
|
|
42
|
+
optional: true,
|
|
43
|
+
collect({ window, navigator }) {
|
|
44
|
+
const out = {};
|
|
45
|
+
for (const [key, query] of Object.entries(QUERIES)) {
|
|
46
|
+
try {
|
|
47
|
+
const result = window.matchMedia(query);
|
|
48
|
+
// An engine that does not know the query normalises it to 'not all',
|
|
49
|
+
// where `matches` would otherwise report a confident false.
|
|
50
|
+
out[key] = result.media === 'not all' ? null : result.matches;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
out[key] = null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
out['pointer.pointerEvent'] = 'PointerEvent' in window;
|
|
57
|
+
out['pointer.touchEvent'] = 'TouchEvent' in window;
|
|
58
|
+
out['pointer.ontouchstart'] = 'ontouchstart' in window;
|
|
59
|
+
out['pointer.propsHash'] = protoHash(window, 'PointerEvent', POINTER_PROPS);
|
|
60
|
+
out['pointer.touchPropsHash'] = protoHash(window, 'TouchEvent' in window ? 'Touch' : '', TOUCH_PROPS);
|
|
61
|
+
// Reported beside the media queries on purpose. A desktop that claims five
|
|
62
|
+
// touch points while every query says fine-pointer-with-hover is the
|
|
63
|
+
// contradiction this collector exists to make visible, and it is only
|
|
64
|
+
// visible when both sides are recorded.
|
|
65
|
+
try {
|
|
66
|
+
out['pointer.maxTouchPoints'] = navigator.maxTouchPoints;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
out['pointer.maxTouchPoints'] = null;
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
/** Which of a set of properties the constructor's prototype actually carries. */
|
|
75
|
+
function protoHash(window, constructorName, props) {
|
|
76
|
+
try {
|
|
77
|
+
if (constructorName === '')
|
|
78
|
+
return null;
|
|
79
|
+
const ctor = window[constructorName];
|
|
80
|
+
if (typeof ctor !== 'function')
|
|
81
|
+
return null;
|
|
82
|
+
const proto = ctor.prototype;
|
|
83
|
+
if (proto === undefined)
|
|
84
|
+
return null;
|
|
85
|
+
let bits = '';
|
|
86
|
+
for (const prop of props)
|
|
87
|
+
bits += prop in proto ? '1' : '0';
|
|
88
|
+
return hash(bits);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Collector } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Canvas and WebGL: what the GPU and driver actually produce.
|
|
4
|
+
*
|
|
5
|
+
* These are the highest-entropy signals available to a page, because the output
|
|
6
|
+
* depends on the whole rendering stack — GPU, driver version, OS text
|
|
7
|
+
* rasteriser, font hinting. They are also the ones privacy browsers
|
|
8
|
+
* deliberately poison, so the *stability* of the result is collected alongside
|
|
9
|
+
* it: real hardware is deterministic, injected noise is not.
|
|
10
|
+
*/
|
|
11
|
+
export declare const canvasCollector: Collector;
|
|
12
|
+
export declare const webglCollector: Collector;
|