@fingerprintjs/fingerprintjs
Version:
Browser fingerprinting library with the highest accuracy and stability
28 lines (26 loc) • 36.7 kB
JavaScript
/**
* FingerprintJS v5.2.0 - Copyright (c) FingerprintJS, Inc, 2026 (https://fingerprint.com)
*
* Licensed under MIT License
*
* Copyright (c) 2025 FingerprintJS, Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
var FingerprintJS=function(t){"use strict";var n="5.2.0";function e(t,n){return new Promise((e=>setTimeout(e,t,n)))}function o(t){return!!t&&"function"==typeof t.then}function i(t,n){try{const e=t();o(e)?e.then((t=>n(!0,t)),(t=>n(!1,t))):n(!0,e)}catch(e){n(!1,e)}}async function r(t,n,e=16){const o=Array(t.length);let i=Date.now();for(let r=0;r<t.length;++r){o[r]=n(t[r],r);const a=Date.now();a>=i+e&&(i=a,await new Promise((t=>{const n=new MessageChannel;n.port1.onmessage=()=>t(),n.port2.postMessage(null)})))}return o}function a(t){return t.then(void 0,(()=>{})),t}function c(t){return parseInt(t)}function s(t){return parseFloat(t)}function u(t,n){return"number"==typeof t&&isNaN(t)?n:t}function l(t){return t.reduce(((t,n)=>t+(n?1:0)),0)}function d(t,n=1){if(Math.abs(n)>=1)return Math.round(t/n)*n;{const e=1/n;return Math.round(t*e)/e}}function m(t,n){const e=t[0]>>>16,o=65535&t[0],i=t[1]>>>16,r=65535&t[1],a=n[0]>>>16,c=65535&n[0],s=n[1]>>>16;let u=0,l=0,d=0,m=0;m+=r+(65535&n[1]),d+=m>>>16,m&=65535,d+=i+s,l+=d>>>16,d&=65535,l+=o+c,u+=l>>>16,l&=65535,u+=e+a,u&=65535,t[0]=u<<16|l,t[1]=d<<16|m}function f(t,n){const e=t[0]>>>16,o=65535&t[0],i=t[1]>>>16,r=65535&t[1],a=n[0]>>>16,c=65535&n[0],s=n[1]>>>16,u=65535&n[1];let l=0,d=0,m=0,f=0;f+=r*u,m+=f>>>16,f&=65535,m+=i*u,d+=m>>>16,m&=65535,m+=r*s,d+=m>>>16,m&=65535,d+=o*u,l+=d>>>16,d&=65535,d+=i*s,l+=d>>>16,d&=65535,d+=r*c,l+=d>>>16,d&=65535,l+=e*u+o*s+i*c+r*a,l&=65535,t[0]=l<<16|d,t[1]=m<<16|f}function p(t,n){const e=t[0];32===(n%=64)?(t[0]=t[1],t[1]=e):n<32?(t[0]=e<<n|t[1]>>>32-n,t[1]=t[1]<<n|e>>>32-n):(n-=32,t[0]=t[1]<<n|e>>>32-n,t[1]=e<<n|t[1]>>>32-n)}function h(t,n){0!==(n%=64)&&(n<32?(t[0]=t[1]>>>32-n,t[1]=t[1]<<n):(t[0]=t[1]<<n-32,t[1]=0))}function b(t,n){t[0]^=n[0],t[1]^=n[1]}const y=[4283543511,3981806797],g=[3301882366,444984403];function v(t){const n=[0,t[0]>>>1];b(t,n),f(t,y),n[1]=t[0]>>>1,b(t,n),f(t,g),n[1]=t[0]>>>1,b(t,n)}const w=[2277735313,289559509],L=[1291169091,658871167],k=[0,5],V=[0,1390208809],S=[0,944331445];function W(t,n){const e=function(t){const n=new Uint8Array(t.length);for(let e=0;e<t.length;e++){const o=t.charCodeAt(e);if(o>127)return(new TextEncoder).encode(t);n[e]=o}return n}(t);n=n||0;const o=[0,e.length],i=o[1]%16,r=o[1]-i,a=[0,n],c=[0,n],s=[0,0],u=[0,0];let l;for(l=0;l<r;l+=16)s[0]=e[l+4]|e[l+5]<<8|e[l+6]<<16|e[l+7]<<24,s[1]=e[l]|e[l+1]<<8|e[l+2]<<16|e[l+3]<<24,u[0]=e[l+12]|e[l+13]<<8|e[l+14]<<16|e[l+15]<<24,u[1]=e[l+8]|e[l+9]<<8|e[l+10]<<16|e[l+11]<<24,f(s,w),p(s,31),f(s,L),b(a,s),p(a,27),m(a,c),f(a,k),m(a,V),f(u,L),p(u,33),f(u,w),b(c,u),p(c,31),m(c,a),f(c,k),m(c,S);s[0]=0,s[1]=0,u[0]=0,u[1]=0;const d=[0,0];switch(i){case 15:d[1]=e[l+14],h(d,48),b(u,d);case 14:d[1]=e[l+13],h(d,40),b(u,d);case 13:d[1]=e[l+12],h(d,32),b(u,d);case 12:d[1]=e[l+11],h(d,24),b(u,d);case 11:d[1]=e[l+10],h(d,16),b(u,d);case 10:d[1]=e[l+9],h(d,8),b(u,d);case 9:d[1]=e[l+8],b(u,d),f(u,L),p(u,33),f(u,w),b(c,u);case 8:d[1]=e[l+7],h(d,56),b(s,d);case 7:d[1]=e[l+6],h(d,48),b(s,d);case 6:d[1]=e[l+5],h(d,40),b(s,d);case 5:d[1]=e[l+4],h(d,32),b(s,d);case 4:d[1]=e[l+3],h(d,24),b(s,d);case 3:d[1]=e[l+2],h(d,16),b(s,d);case 2:d[1]=e[l+1],h(d,8),b(s,d);case 1:d[1]=e[l],b(s,d),f(s,w),p(s,31),f(s,L),b(a,s)}return b(a,o),b(c,o),m(a,c),m(c,a),v(a),v(c),m(a,c),m(c,a),("00000000"+(a[0]>>>0).toString(16)).slice(-8)+("00000000"+(a[1]>>>0).toString(16)).slice(-8)+("00000000"+(c[0]>>>0).toString(16)).slice(-8)+("00000000"+(c[1]>>>0).toString(16)).slice(-8)}function Z(t){return"function"!=typeof t}function x(t,n,e,o){const c=Object.keys(t).filter((t=>!function(t,n){for(let e=0,o=t.length;e<o;++e)if(t[e]===n)return!0;return!1}(e,t))),s=a(r(c,(e=>function(t,n){const e=a(new Promise((e=>{const o=Date.now();i(t.bind(null,n),((...t)=>{const n=Date.now()-o;if(!t[0])return e((()=>({error:t[1],duration:n})));const r=t[1];if(Z(r))return e((()=>({value:r,duration:n})));e((()=>new Promise((t=>{const e=Date.now();i(r,((...o)=>{const i=n+Date.now()-e;if(!o[0])return t({error:o[1],duration:i});t({value:o[1],duration:i})}))}))))}))})));return function(){return e.then((t=>t()))}}(t[e],n)),o));return async function(){const t=await s,n=await r(t,(t=>a(t())),o),e=await Promise.all(n),i={};for(let o=0;o<c.length;++o)i[c[o]]=e[o];return i}}function M(){const t=window,n=navigator;return l(["MSCSSMatrix"in t,"msSetImmediate"in t,"msIndexedDB"in t,"msMaxTouchPoints"in n,"msPointerEnabled"in n])>=4}function R(){const t=window,n=navigator;return l(["msWriteProfilerMark"in t,"MSStream"in t,"msLaunchUri"in n,"msSaveBlob"in n])>=3&&!M()}function F(){const t=window,n=navigator;return l(["webkitPersistentStorage"in n,"webkitTemporaryStorage"in n,0===(n.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in t,"BatteryManager"in t,"webkitMediaStream"in t,"webkitSpeechGrammar"in t])>=5}function G(){const t=window;return l(["ApplePayError"in t,"CSSPrimitiveValue"in t,"Counter"in t,0===navigator.vendor.indexOf("Apple"),"RGBColor"in t,"WebKitMediaKeys"in t])>=4}function I(){const t=window,{HTMLElement:n,Document:e}=t;return l(["safari"in t,!("ongestureend"in t),!("TouchEvent"in t),!("orientation"in t),n&&!("autocapitalize"in n.prototype),e&&"pointerLockElement"in e.prototype])>=4}function C(){const t=window;return n=t.print,/^function\s.*?\{\s*\[native code]\s*}$/.test(String(n))&&"[object WebPageNamespace]"===String(t.browser);var n}function Y(){var t,n;const e=window;return l(["buildID"in navigator,"MozAppearance"in(null!==(n=null===(t=document.documentElement)||void 0===t?void 0:t.style)&&void 0!==n?n:{}),"onmozfullscreenchange"in e,"mozInnerScreenX"in e,"CSSMozDocumentRule"in e,"CanvasCaptureMediaStream"in e])>=4}function P(){const{CSS:t}=window;return l([t.supports("selector(::details-content)"),t.supports("selector(::before::marker)"),t.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function X(){const t=window,n=document,{CSS:e,Promise:o,AudioContext:i}=t;return l([o&&"try"in o,"caretPositionFromPoint"in n,i&&"onerror"in i.prototype,e.supports("ruby-align","space-around")])>=3}function E(){const t=window,n=navigator,{CSS:e,HTMLButtonElement:o}=t;return l([!("getStorageUpdates"in n),o&&"popover"in o.prototype,"CSSCounterStyleRule"in t,e.supports("font-size-adjust: ex-height 0.5"),e.supports("text-transform: full-width")])>=4}function j(){const t=document;return t.fullscreenElement||t.msFullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement||null}function H(){const t=F(),n=Y(),e=window,o=navigator,i="connection";return t?l([!("SharedWorker"in e),o[i]&&"ontypechange"in o[i],!("sinkId"in new Audio)])>=2:!!n&&l(["onorientationchange"in e,"orientation"in e,/android/i.test(o.appVersion)])>=2}function A(){const t=navigator,n=window,e=Audio.prototype,{visualViewport:o}=n;return l(["srLatency"in e,"srChannelCount"in e,"devicePosture"in t,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function N(){const t=window,n=t.OfflineAudioContext||t.webkitOfflineAudioContext;if(!n)return-2;if(G()&&!I()&&!function(){const t=window;return l(["DOMRectList"in t,"RTCPeerConnectionIceEvent"in t,"SVGGeometryElement"in t,"ontransitioncancel"in t])>=3}())return-1;const e=new n(1,5e3,44100),i=e.createOscillator();i.type="triangle",i.frequency.value=1e4;const r=e.createDynamicsCompressor();r.threshold.value=-50,r.knee.value=40,r.ratio.value=12,r.attack.value=0,r.release.value=.25,i.connect(r),r.connect(e.destination),i.start(0);const[c,s]=function(t){const n=3,e=500,i=500,r=5e3;let c=()=>{};const s=new Promise(((s,u)=>{let l=!1,d=0,m=0;t.oncomplete=t=>s(t.renderedBuffer);const f=()=>{setTimeout((()=>u(J("timeout"))),Math.min(i,m+r-Date.now()))},p=()=>{try{const i=t.startRendering();switch(o(i)&&a(i),t.state){case"running":m=Date.now(),l&&f();break;case"suspended":document.hidden||d++,l&&d>=n?u(J("suspended")):setTimeout(p,e)}}catch(i){u(i)}};p(),c=()=>{l||(l=!0,m>0&&f())}}));return[s,c]}(e),u=a(c.then((t=>function(t){let n=0;for(let e=0;e<t.length;++e)n+=Math.abs(t[e]);return n}(t.getChannelData(0).subarray(4500))),(t=>{if("timeout"===t.name||"suspended"===t.name)return-3;throw t})));return()=>(s(),u)}function J(t){const n=new Error(t);return n.name=t,n}async function _(t,n,o=50){var i,r,a;const c=document;for(;!c.body;)await e(o);const s=c.createElement("iframe");try{for((await new Promise(((t,e)=>{let o=!1;const i=()=>{o=!0,t()};s.onload=i,s.onerror=t=>{o=!0,e(t)};const{style:r}=s;r.setProperty("display","block","important"),r.position="absolute",r.top="0",r.left="0",r.visibility="hidden",n&&"srcdoc"in s?s.srcdoc=n:s.src="about:blank",c.body.appendChild(s);const a=()=>{var t,n;o||("complete"===(null===(n=null===(t=s.contentWindow)||void 0===t?void 0:t.document)||void 0===n?void 0:n.readyState)?i():setTimeout(a,10))};a()})));!(null===(r=null===(i=s.contentWindow)||void 0===i?void 0:i.document)||void 0===r?void 0:r.body);)await e(o);return await t(s,s.contentWindow)}finally{null===(a=s.parentNode)||void 0===a||a.removeChild(s)}}function D(t){const[n,e]=function(t){var n,e;const o=`Unexpected syntax '${t}'`,i=/^\s*([a-z-]*)(.*)$/i.exec(t),r=i[1]||void 0,a={},c=/([.:#][\w-]+|\[.+?\])/gi,s=(t,n)=>{a[t]=a[t]||[],a[t].push(n)};for(;;){const t=c.exec(i[2]);if(!t)break;const r=t[0];switch(r[0]){case".":s("class",r.slice(1));break;case"#":s("id",r.slice(1));break;case"[":{const t=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(r);if(!t)throw new Error(o);s(t[1],null!==(e=null!==(n=t[4])&&void 0!==n?n:t[5])&&void 0!==e?e:"");break}default:throw new Error(o)}}return[r,a]}(t),o=document.createElement(null!=n?n:"div");for(const i of Object.keys(e)){const t=e[i].join(" ");"style"===i?T(o.style,t):o.setAttribute(i,t)}return o}function T(t,n){for(const e of n.split(";")){const n=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(e);if(n){const[,e,o,,i]=n;t.setProperty(e,o,i||"")}}}const z=["monospace","sans-serif","serif"],B=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function O(t){let n,e,o=!1;const[i,r]=function(){const t=document.createElement("canvas");return t.width=1,t.height=1,[t,t.getContext("2d")]}();return!function(t,n){return!(!n||!t.toDataURL)}(i,r)?n=e="unsupported":(o=function(t){return t.rect(0,0,10,10),t.rect(2,2,6,6),!t.isPointInPath(5,5,"evenodd")}(r),t?n=e="skipped":[n,e]=function(t,n){!function(t,n){t.width=240,t.height=60,n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(100,1,62,20),n.fillStyle="#069",n.font='11pt "Times New Roman"';const e=`Cwm fjordbank gly ${String.fromCharCode(55357,56835)}`;n.fillText(e,2,15),n.fillStyle="rgba(102, 204, 0, 0.2)",n.font="18pt Arial",n.fillText(e,4,45)}(t,n);const e=$(t),o=$(t);if(e!==o)return["unstable","unstable"];!function(t,n){t.width=122,t.height=110,n.globalCompositeOperation="multiply";for(const[e,o,i]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])n.fillStyle=e,n.beginPath(),n.arc(o,i,40,0,2*Math.PI,!0),n.closePath(),n.fill();n.fillStyle="#f9c",n.arc(60,60,60,0,2*Math.PI,!0),n.arc(60,60,20,0,2*Math.PI,!0),n.fill("evenodd")}(t,n);const i=$(t);return[i,e]}(i,r)),{winding:o,geometry:n,text:e}}function $(t){return t.toDataURL()}function U(){const t=screen,n=t=>u(c(t),null),e=[n(t.width),n(t.height)];return e.sort().reverse(),e}const Q=2500;let K,q;function tt(){return function(){if(void 0!==q)return;const t=()=>{const n=nt();et(n)?q=setTimeout(t,Q):(K=n,q=void 0)};t()}(),async()=>{let t=nt();if(et(t)){if(K)return[...K];j()&&(await function(){const t=document;return(t.exitFullscreen||t.msExitFullscreen||t.mozCancelFullScreen||t.webkitExitFullscreen).call(t)}(),t=nt())}return et(t)||(K=t),t}}function nt(){const t=screen;return[u(s(t.availTop),null),u(s(t.width)-s(t.availWidth)-u(s(t.availLeft),0),null),u(s(t.height)-s(t.availHeight)-u(s(t.availTop),0),null),u(s(t.availLeft),null)]}function et(t){for(let n=0;n<4;++n)if(t[n])return!1;return!0}function ot(){return u(c(navigator.hardwareConcurrency),void 0)}function it(t){t.style.setProperty("visibility","hidden","important"),t.style.setProperty("display","block","important")}function rt(t){return matchMedia(`(inverted-colors: ${t})`).matches}function at(t){return matchMedia(`(forced-colors: ${t})`).matches}function ct(t){return matchMedia(`(prefers-contrast: ${t})`).matches}function st(t){return matchMedia(`(prefers-reduced-motion: ${t})`).matches}function ut(t){return matchMedia(`(prefers-reduced-transparency: ${t})`).matches}function lt(t){return matchMedia(`(dynamic-range: ${t})`).matches}const dt=Math,mt=()=>0;const ft="mmMwWLliI0fiflO&1",pt={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function ht(t){const n=H()?0:3,e=Math.pow(10,n);return Math.floor(t*e)/e}const bt=function(){let t=window;for(;;){const e=t.parent;if(!e||e===t)return!1;try{if(e.location.origin!==t.location.origin)return!0}catch(n){if(n instanceof Error&&"SecurityError"===n.name)return!0;throw n}t=e}};const yt=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),gt=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),vt=["FRAGMENT_SHADER","VERTEX_SHADER"],wt=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],Lt="WEBGL_debug_renderer_info";function kt(t){if(t.webgl)return t.webgl.context;const n=document.createElement("canvas");let e;n.addEventListener("webglCreateContextError",(()=>e=void 0));for(const i of["webgl","experimental-webgl"]){try{e=n.getContext(i)}catch(o){}if(e)break}return t.webgl={context:e},e}function Vt(t,n,e){const o=t.getShaderPrecisionFormat(t[n],t[e]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function St(t){return Object.keys(t.__proto__).filter(Wt)}function Wt(t){return"string"==typeof t&&!t.match(/[^A-Z0-9_x]/)}function Zt(){return Y()}function xt(t){return"function"==typeof t.getParameter}const Mt={userAgentData:async function(){const t=navigator.userAgentData;if(!t)return;const n=t.brands.filter((({brand:t})=>!function(t){return/not/i.test(t)}(t))).map((({brand:t})=>t)),e={brands:n.length>1?n.filter((t=>"Chromium"!==t)):n,mobile:t.mobile,platform:t.platform};if(t.getHighEntropyValues)try{const n=await t.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);e.architecture=n.architecture,e.bitness=n.bitness,e.model=n.model,e.platformVersion=n.platformVersion}catch(o){if(!(o instanceof DOMException&&"NotAllowedError"===o.name))throw o;e.highEntropyStatus="not_allowed"}return e},fonts:function(){return _((async(t,{document:n})=>{const e=n.body;e.style.fontSize="48px";const o=n.createElement("div");o.style.setProperty("visibility","hidden","important");const i={},r={},a=t=>{const e=n.createElement("span"),{style:i}=e;return i.position="absolute",i.top="0",i.left="0",i.fontFamily=t,e.textContent="mmMwWLliI0O&1",o.appendChild(e),e},c=(t,n)=>a(`'${t}',${n}`),s=z.map(a),u=(()=>{const t={};for(const n of B)t[n]=z.map((t=>c(n,t)));return t})();e.appendChild(o);for(let l=0;l<z.length;l++)i[z[l]]=s[l].offsetWidth,r[z[l]]=s[l].offsetHeight;return B.filter((t=>{return n=u[t],z.some(((t,e)=>n[e].offsetWidth!==i[t]||n[e].offsetHeight!==r[t]));var n}))}))},domBlockers:async function({debug:t}={}){if(!G()&&!H())return;const n=function(){const t=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',t("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",t("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",t("LnNwb25zb3JpdA=="),".ylamainos",t("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),t("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",t("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",t("LmhlYWRlci1ibG9ja2VkLWFk"),t("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",t("I2FkXzMwMFgyNTA="),t("I2Jhbm5lcmZsb2F0MjI="),t("I2NhbXBhaWduLWJhbm5lcg=="),t("I0FkLUNvbnRlbnQ=")],adGuardChinese:[t("LlppX2FkX2FfSA=="),t("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",t("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),t("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",t("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",t("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",t("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),t("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),t("LmFkZ29vZ2xl"),t("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[t("YW1wLWF1dG8tYWRz"),t("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",t("I2FkX2ludmlld19hcmVh")],adGuardRussian:[t("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),t("LnJlY2xhbWE="),'div[id^="smi2adblock"]',t("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[t("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),t("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",t("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),t("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),t("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",t("I3Jla2xhbWk="),t("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),t("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),t("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[t("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",t("LndpZGdldF9wb19hZHNfd2lkZ2V0"),t("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",t("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[t("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),t("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",t("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",t("I3Jla2xhbW5pLWJveA=="),t("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",t("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[t("I2FkdmVydGVudGll"),t("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",t("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",t("LnNwb25zb3JsaW5rZ3J1ZW4="),t("I3dlcmJ1bmdza3k="),t("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),t("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[t("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",t("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),t("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),t("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[t("LnJla2xhbW9zX3RhcnBhcw=="),t("LnJla2xhbW9zX251b3JvZG9z"),t("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),t("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),t("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[t("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[t("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),t("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",t("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[t("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),t("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),t("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",t("LmFkX19tYWlu"),t("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[t("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[t("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),t("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[t("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),t("I2xpdmVyZUFkV3JhcHBlcg=="),t("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),t("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[t("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",t("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),t("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),t("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[t("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),t("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),t("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",t("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),t("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),t("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),t("ZGl2I3NrYXBpZWNfYWQ=")],ro:[t("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),t("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),t("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),t("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[t("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),t("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),t("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",t("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),t("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",t("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}(),o=Object.keys(n),i=[].concat(...o.map((t=>n[t]))),r=await async function(t){var n;const o=document,i=o.createElement("div"),r=new Array(t.length),a={};it(i);for(let e=0;e<t.length;++e){const n=D(t[e]);"DIALOG"===n.tagName&&n.show();const a=o.createElement("div");it(a),a.appendChild(n),i.appendChild(a),r[e]=n}for(;!o.body;)await e(50);o.body.appendChild(i);try{for(let n=0;n<t.length;++n)r[n].offsetParent||(a[t[n]]=!0)}finally{null===(n=i.parentNode)||void 0===n||n.removeChild(i)}return a}(i);t&&function(t,n){let e="DOM blockers debug:\n```";for(const o of Object.keys(t)){e+=`\n${o}:`;for(const i of t[o])e+=`\n ${n[i]?"🚫":"➡️"} ${i}`}console.log(`${e}\n\`\`\``)}(n,r);const a=o.filter((t=>{const e=n[t];return l(e.map((t=>r[t])))>.6*e.length}));return a.sort(),a},fontPreferences:function(){return function(t,n=4e3){return _(((e,o)=>{const i=o.document,r=i.body,a=r.style;a.width=`${n}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",F()?r.style.zoom=""+1/o.devicePixelRatio:G()&&(r.style.zoom="reset");const c=i.createElement("div");return c.textContent=[...Array(n/20|0)].map((()=>"word")).join(" "),r.appendChild(c),t(i,r,o)}),'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}(((t,n,e)=>{const o={},i={};for(const a of Object.keys(pt)){const[e={},i=ft]=pt[a],r=t.createElement("span");r.textContent=i,r.style.whiteSpace="nowrap";for(const t of Object.keys(e)){const n=e[t];void 0!==n&&(r.style[t]=n)}o[a]=r,n.append(t.createElement("br"),r)}const r=F()&&X();for(const a of Object.keys(pt)){const t=o[a].getBoundingClientRect().width;i[a]=r?ht(t*e.devicePixelRatio):t}return i}))},audio:function(){return G()&&E()&&C()||F()&&A()&&function(){const t=window,{URLPattern:n}=t;return l(["union"in Set.prototype,"Iterator"in t,n&&"hasRegExpGroups"in n.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}()?-4:N()},screenFrame:function(){const t=G()&&E()&&C(),n=Y()&&P();if(t||n)return()=>Promise.resolve(void 0);const e=tt();return async()=>{const t=await e(),n=t=>null===t?null:d(t,10);return[n(t[0]),n(t[1]),n(t[2]),n(t[3])]}},canvas:function(){return O(function(){const t=G()&&E()&&C(),n=Y()&&function(){const t=window,n=navigator,{CSS:e}=t;return l(["userActivation"in n,e.supports("color","light-dark(#000, #fff)"),e.supports("height","1lh"),"globalPrivacyControl"in n])>=3}();return t||n}())},osCpu:function(){return navigator.oscpu},languages:function(){const t=navigator,n=[],e=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==e&&n.push([e]),Array.isArray(t.languages))F()&&function(){const t=window;return l([!("MediaSettingsRange"in t),"RTCEncodedAudioFrame"in t,""+t.Intl=="[object Intl]",""+t.Reflect=="[object Reflect]"])>=3}()||n.push(t.languages);else if("string"==typeof t.languages){const e=t.languages;e&&n.push(e.split(","))}return n},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return u(s(navigator.deviceMemory),void 0)},screenResolution:function(){if(!(G()&&E()&&C()))return U()},hardwareConcurrency:function(){const t=ot();return void 0!==t&&Y()&&P()?t>=8?8:4:t},timezone:function(){var t;const n=null===(t=window.Intl)||void 0===t?void 0:t.DateTimeFormat;if(n){const t=(new n).resolvedOptions().timeZone;if(t)return t}const e=-function(){const t=(new Date).getFullYear();return Math.max(s(new Date(t,0,1).getTimezoneOffset()),s(new Date(t,6,1).getTimezoneOffset()))}();return`UTC${e>=0?"+":""}${e}`},sessionStorage:function(){try{return!!window.sessionStorage}catch(t){return!0}},localStorage:function(){try{return!!window.localStorage}catch(t){return!0}},indexedDB:function(){if(!M()&&!R())try{return!!window.indexedDB}catch(t){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){const{platform:t}=navigator;return"MacIntel"===t&&G()&&!I()?function(){if("iPad"===navigator.platform)return!0;const t=screen,n=t.width/t.height;return l(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,n>.65&&n<1.53])>=2}()?"iPad":"iPhone":t},plugins:function(){const t=navigator.plugins;if(!t)return;const n=[];for(let e=0;e<t.length;++e){const o=t[e];if(!o)continue;const i=[];for(let t=0;t<o.length;++t){const n=o[t];i.push({type:n.type,suffixes:n.suffixes})}n.push({name:o.name,description:o.description,mimeTypes:i})}return n},touchSupport:function(){const t=navigator;let n,e=0;void 0!==t.maxTouchPoints?e=c(t.maxTouchPoints):void 0!==t.msMaxTouchPoints&&(e=t.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch(o){n=!1}return{maxTouchPoints:e,touchEvent:n,touchStart:"ontouchstart"in window}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){const t=[];for(const n of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){const e=window[n];e&&"object"==typeof e&&t.push(n)}return t.sort()},cookiesEnabled:function(){const t=document;try{t.cookie="cookietest=1; SameSite=Strict;";const n=-1!==t.cookie.indexOf("cookietest=");return t.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",n}catch(n){return!1}},colorGamut:function(){for(const t of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${t})`).matches)return t},invertedColors:function(){return!!rt("inverted")||!rt("none")&&void 0},forcedColors:function(){return!!at("active")||!at("none")&&void 0},monochrome:function(){if(matchMedia("(min-monochrome: 0)").matches){for(let t=0;t<=100;++t)if(matchMedia(`(max-monochrome: ${t})`).matches)return t;throw new Error("Too high value")}},contrast:function(){return ct("no-preference")?0:ct("high")||ct("more")?1:ct("low")||ct("less")?-1:ct("forced")?10:void 0},reducedMotion:function(){return!!st("reduce")||!st("no-preference")&&void 0},reducedTransparency:function(){return!!ut("reduce")||!ut("no-preference")&&void 0},hdr:function(){return!!lt("high")||!lt("standard")&&void 0},math:function(){const t=dt.acos||mt,n=dt.acosh||mt,e=dt.asin||mt,o=dt.asinh||mt,i=dt.atanh||mt,r=dt.atan||mt,a=dt.sin||mt,c=dt.sinh||mt,s=dt.cos||mt,u=dt.cosh||mt,l=dt.tan||mt,d=dt.tanh||mt,m=dt.exp||mt,f=dt.expm1||mt,p=dt.log1p||mt;return{acos:t(.12312423423423424),acosh:n(1e308),acoshPf:(h=1e154,dt.log(h+dt.sqrt(h*h-1))),asin:e(.12312423423423424),asinh:o(1),asinhPf:(t=>dt.log(t+dt.sqrt(t*t+1)))(1),atanh:i(.5),atanhPf:(t=>dt.log((1+t)/(1-t))/2)(.5),atan:r(.5),sin:a(-1e300),sinh:c(1),sinhPf:(t=>dt.exp(t)-1/dt.exp(t)/2)(1),cos:s(10.000000000123),cosh:u(1),coshPf:(t=>(dt.exp(t)+1/dt.exp(t))/2)(1),tan:l(-1e300),tanh:d(1),tanhPf:(t=>(dt.exp(2*t)-1)/(dt.exp(2*t)+1))(1),exp:m(1),expm1:f(1),expm1Pf:(t=>dt.exp(t)-1)(1),log1p:p(10),log1pPf:(t=>dt.log(1+t))(10),powPI:(t=>dt.pow(dt.PI,t))(-100)};var h},pdfViewerEnabled:function(){return navigator.pdfViewerEnabled},architecture:function(){const t=new Float32Array(1),n=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],n[3]},applePay:function(){const{ApplePaySession:t}=window;if("function"!=typeof(null==t?void 0:t.canMakePayments))return-1;if(bt())return-3;try{return t.canMakePayments()?1:0}catch(n){return function(t){if(t instanceof Error&&"InvalidAccessError"===t.name&&/\bfrom\b.*\binsecure\b/i.test(t.message))return-2;throw t}(n)}},privateClickMeasurement:function(){var t;const n=document.createElement("a"),e=null!==(t=n.attributionSourceId)&&void 0!==t?t:n.attributionsourceid;return void 0===e?void 0:String(e)},audioBaseLatency:function(){if(!(H()||G()))return-2;if(!window.AudioContext)return-1;const t=(new AudioContext).baseLatency;return null==t?-1:isFinite(t)?t:-3},dateTimeLocale:function(){if(!window.Intl)return-1;const t=window.Intl.DateTimeFormat;if(!t)return-2;const n=t().resolvedOptions().locale;return n||""===n?n:-3},webGlBasics:function({cache:t}){var n,e,o,i,r,a;const c=kt(t);if(!c)return-1;if(!xt(c))return-2;const s=Zt()?null:c.getExtension(Lt);return{version:(null===(n=c.getParameter(c.VERSION))||void 0===n?void 0:n.toString())||"",vendor:(null===(e=c.getParameter(c.VENDOR))||void 0===e?void 0:e.toString())||"",vendorUnmasked:s?null===(o=c.getParameter(s.UNMASKED_VENDOR_WEBGL))||void 0===o?void 0:o.toString():"",renderer:(null===(i=c.getParameter(c.RENDERER))||void 0===i?void 0:i.toString())||"",rendererUnmasked:s?null===(r=c.getParameter(s.UNMASKED_RENDERER_WEBGL))||void 0===r?void 0:r.toString():"",shadingLanguageVersion:(null===(a=c.getParameter(c.SHADING_LANGUAGE_VERSION))||void 0===a?void 0:a.toString())||""}},webGlExtensions:function({cache:t}){const n=kt(t);if(!n)return-1;if(!xt(n))return-2;const e=n.getSupportedExtensions(),o=n.getContextAttributes(),i=[],r=[],a=[],c=[],s=[];if(o)for(const l of Object.keys(o))r.push(`${l}=${o[l]}`);const u=St(n);for(const l of u){const t=n[l];a.push(`${l}=${t}${yt.has(t)?`=${n.getParameter(t)}`:""}`)}if(e)for(const l of e){if(l===Lt&&Zt()||"WEBGL_polygon_mode"===l&&(F()||G()))continue;const t=n.getExtension(l);if(t)for(const e of St(t)){const o=t[e];c.push(`${e}=${o}${gt.has(o)?`=${n.getParameter(o)}`:""}`)}else i.push(l)}for(const l of vt)for(const t of wt){const e=Vt(n,l,t);s.push(`${l}.${t}=${e.join(",")}`)}return c.sort(),a.sort(),{contextAttributes:r,parameters:a,shaderPrecisions:s,extensions:e,extensionParameters:c,unsupportedExtensions:i}}};const Rt="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function Ft(t){const n=function(t){if(H())return.4;if(G())return!I()||E()&&C()?.3:.5;const n="value"in t.platform?t.platform.value:"";if(/^Win/.test(n))return.6;if(/^Mac/.test(n))return.5;return.7}(t),e=function(t){return d(.99+.01*t,1e-4)}(n);return{score:n,comment:Rt.replace(/\$/g,`${e}`)}}function Gt(t){return JSON.stringify(t,((t,n)=>{return n instanceof Error?{name:(e=n).name,message:e.message,stack:null===(o=e.stack)||void 0===o?void 0:o.split("\n"),...e}:n;var e,o}),2)}function It(t){return W(function(t){let n="";for(const e of Object.keys(t).sort()){const o=t[e],i="error"in o?"error":JSON.stringify(o.value);n+=`${n?"|":""}${e.replace(/([:|\\])/g,"\\$1")}:${i}`}return n}(t))}function Ct(t=50){return function(t,n=1/0){const{requestIdleCallback:o}=window;return o?new Promise((t=>o.call(window,(()=>t()),{timeout:n}))):e(Math.min(t,n))}(t,2*t)}function Yt(t,e){const o=Date.now();return{async get(i){const r=Date.now(),a=await t(),c=function(t){let e;const o=Ft(t);return{get visitorId(){return void 0===e&&(e=It(this.components)),e},set visitorId(t){e=t},confidence:o,components:t,version:n}}(a);return(e||(null==i?void 0:i.debug))&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: ${c.version}\nuserAgent: ${navigator.userAgent}\ntimeBetweenLoadAndGet: ${r-o}\nvisitorId: ${c.visitorId}\ncomponents: ${Gt(a)}\n\`\`\``),c}}}async function Pt(t={}){const{delayFallback:e,debug:o,monitoring:i=!0}=t;i&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{const t=new XMLHttpRequest;t.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${n}/npm-monitoring`,!0),t.send()}catch(t){console.error(t)}}(),await Ct(e);const r=function(t){return x(Mt,t,[])}({cache:{},debug:o});return Yt(r,o)}var Xt={load:Pt,hashComponents:It,componentsToDebugString:Gt};const Et=W;return t.componentsToDebugString=Gt,t.default=Xt,t.getFullscreenElement=j,t.getUnstableAudioFingerprint=N,t.getUnstableCanvasFingerprint=O,t.getUnstableHardwareConcurrency=ot,t.getUnstableScreenFrame=tt,t.getUnstableScreenResolution=U,t.getWebGLContext=kt,t.hashComponents=It,t.isAndroid=H,t.isChromium=F,t.isDesktopWebKit=I,t.isEdgeHTML=R,t.isGecko=Y,t.isSamsungInternet=A,t.isTrident=M,t.isWebKit=G,t.load=Pt,t.loadSources=x,t.murmurX64Hash128=Et,t.prepareForSources=Ct,t.sources=Mt,t.transformSource=function(t,n){const e=t=>Z(t)?n(t):()=>{const e=t();return o(e)?e.then(n):n(e)};return n=>{const i=t(n);return o(i)?i.then(e):e(i)}},t.withIframe=_,Object.defineProperty(t,"__esModule",{value:!0}),t}({});