@ginger-ai/ginger-js 0.0.1 β 0.0.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/ginger.cjs.js +1 -1
- package/dist/ginger.cjs.js.map +1 -1
- package/dist/ginger.esm.js +1 -1
- package/dist/ginger.esm.js.map +1 -1
- package/dist/ginger.umd.js +1 -1
- package/dist/ginger.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +1 -1
- package/src/core/constants.ts +1 -1
package/dist/ginger.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GingerJS={})}(this,function(e){"use strict";const t=()=>{const e=Date.now(),t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".slice(0,34);return`${e}.${i(e,t)}`};function n(e,t){if(0===e)return"00000000";let n="";for(;e>0;){n=t[e%34]+n,e=Math.floor(e/34)}for(;n.length<8;)n="0"+n;return n.slice(-8)}const i=(e,t,o=1)=>{if(o>3)return n(e,t);const r=0x4bf63f8c5b100,a=function(e,t){let n=0;for(let i of e){let e=t.indexOf(i.toUpperCase());if(-1===e)throw new Error("Invalid base-34 character");n=34*n+e}return n}(n((e+function(e){const t=e;return Math.floor(Math.random()*t)}(r))%r,t),t);return i(a,t,o+1)};class o extends Error{constructor(e,t,n){super(e),this.name="GingerError",this.statusCode=t,this.response=n}}class r extends Error{constructor(e){super(e),this.name="GingerClientError"}}const a=["mobile","desktop","tablet"];var s;!function(e){e.typed="typed",e.paste="pasted",e.mixed="mixed"}(s||(s={}));const c=["login","registration","credentials_update","alerts_snooze"],d="https://app.getrayyan.com",l="https://test.getrayyan.com";const u=()=>{let e=0;const t=()=>{"hidden"===document.visibilityState&&e++};return{getCount:()=>e,addListener:()=>document.addEventListener("visibilitychange",t),removeListener:()=>document.removeEventListener("visibilitychange",t)}},m=async(e,t,n,i)=>{try{const r=await fetch(e,{method:n,headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(t)});r.ok||await(async e=>{const t=await e.json(),n=t?.error||t.message||"An error occurred";throw new o(n,e.status,e)})(r);return await r.json()}catch(e){throw e}};var h;!function(e){e.POST="POST"}(h||(h={}));class f{constructor(e){(e=>{if(!e)throw new r("'apikey' must be provided.")})(e),this.basePath=function(e){return e.includes("sk_live")||e.includes("pk_live")?d:l}(e),this.apikey=e}async post(e){const{url:t,payload:n,method:i=h.POST}=e,o=`${this.basePath}${t}`;try{return await m(o,n,i,this.apikey)}catch(e){throw e}}}let w={exclude:[],include:[],logging:!0};const p={},g=(e,t)=>{"undefined"!=typeof window&&(p[e]=t)},b={timeout:"true"};function v(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const y=new Uint32Array([597399067,2869860233,951274213,2716044179]);function k(e,t){return e<<t|e>>>32-t}function x(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const i=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,i=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=i.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],y[0]),n[0]=k(n[0],15),n[0]=Math.imul(n[0],y[1]),t[0]=t[0]^n[0],t[0]=k(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],y[1]),n[1]=k(n[1],16),n[1]=Math.imul(n[1],y[2]),t[1]=t[1]^n[1],t[1]=k(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],y[2]),n[2]=k(n[2],17),n[2]=Math.imul(n[2],y[3]),t[2]=t[2]^n[2],t[2]=k(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],y[3]),n[3]=k(n[3],18),n[3]=Math.imul(n[3],y[0]),t[3]=t[3]^n[3],t[3]=k(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,i),function(e,t){const n=e.byteLength/16|0,i=e.byteLength%16,o=new Uint32Array(4),r=new Uint8Array(e,16*n,i);switch(i){case 15:o[3]=o[3]^r[14]<<16;break;case 14:o[3]=o[3]^r[13]<<8;break;case 13:o[3]=o[3]^(0|r[12]),o[3]=Math.imul(o[3],y[3]),o[3]=k(o[3],18),o[3]=Math.imul(o[3],y[0]),t[3]=t[3]^o[3];break;case 12:o[2]=o[2]^r[11]<<24;break;case 11:o[2]=o[2]^r[10]<<16;break;case 10:o[2]=o[2]^r[9]<<8;break;case 9:o[2]=o[2]^(0|r[8]),o[2]=Math.imul(o[2],y[2]),o[2]=k(o[2],17),o[2]=Math.imul(o[2],y[3]),t[2]=t[2]^o[2];break;case 8:o[1]=o[1]^r[7]<<24;break;case 7:o[1]=o[1]^r[6]<<16;break;case 6:o[1]=o[1]^r[5]<<8;break;case 5:o[1]=o[1]^(0|r[4]),o[1]=Math.imul(o[1],y[1]),o[1]=k(o[1],16),o[1]=Math.imul(o[1],y[2]),t[1]=t[1]^o[1];break;case 4:o[0]=o[0]^r[3]<<24;break;case 3:o[0]=o[0]^r[2]<<16;break;case 2:o[0]=o[0]^r[1]<<8;break;case 1:o[0]=o[0]^(0|r[0]),o[0]=Math.imul(o[0],y[0]),o[0]=k(o[0],15),o[0]=Math.imul(o[0],y[1]),t[0]=t[0]^o[0]}}(e,i),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=v(t[0]),t[1]=v(t[1]),t[2]=v(t[2]),t[3]=v(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,i);const o=new Uint8Array(i.buffer);return Array.from(o).map(e=>e.toString(16).padStart(2,"0")).join("")}async function S(){try{const e=Object.fromEntries(Object.entries(p).filter(([e])=>!w?.exclude?.includes(e)).filter(([e])=>w?.include?.some(e=>e.includes("."))?w?.include?.some(t=>t.startsWith(e)):0===w?.include?.length||w?.include?.includes(e)).map(([e,t])=>[e,t()])),t=Object.keys(e),n=Object.values(e),i=await function(e,t,n){return Promise.all(e.map(e=>{return Promise.race([e,(i=t,o=n,new Promise(e=>{setTimeout(()=>e(o),i)}))]);var i,o}))}(n,w?.timeout||1e3,b),o={};return i.forEach((e,n)=>{void 0!==e&&(o[t[n]]=e)}),L(o,w.exclude||[],w.include||[],"")}catch(e){throw e}}function L(e,t,n,i=""){const o={};for(const[r,a]of Object.entries(e)){const e=i+r+".";if("object"!=typeof a||Array.isArray(a)){const i=t.some(t=>e.startsWith(t)),s=n.some(t=>e.startsWith(t));i&&!s||(o[r]=a)}else{const i=L(a,t,n,e);Object.keys(i).length>0&&(o[r]=i)}}return o}async function E(){try{const e=await S(),t=C(e),n=x(JSON.stringify(t)),i=function(e){const t=C(e);return Object.keys(t)}(t);return{hash:n.toString(),data:e,componentsUsedForHash:i}}catch(e){throw e}}function C(e){return{audio:e.audio,fonts:e.fonts,hardware:e.hardware,math:e.math,permissions:e.permissions,screen:e.screen,system:e.system,emojiFingerprint:e.emojiFingerprint,vendorFlavour:e.vendorFlavour,colorGamut:e.colorGamut,canvas:e.canvas,webglBasics:e.webGlBasics}}async function _(){let e=0;"Atlantic/Reykjavik"===Intl.DateTimeFormat().resolvedOptions().timeZone&&e++;const t=A();return["Mozilla","unknown"].includes(t.vendor)&&e++,window.RTCPeerConnection||e++,navigator.deviceMemory||e++,2===navigator.hardwareConcurrency&&e++,navigator.credentials||e++,navigator.geolocation||e++,{status:e>=6,confidence:`${(e/7).toFixed(2)}`}}const A=()=>{try{const e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return{vendor:"unsupported",renderer:"unsupported"};const n=t.getExtension("WEBGL_debug_renderer_info");return n?{vendor:t.getParameter(n.UNMASKED_VENDOR_WEBGL),renderer:t.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{vendor:"unknown",renderer:"unknown"}}catch{return{vendor:"error",renderer:"error"}}};async function P(){return new Promise(function(e,t){let n="unknown";function i(t){e({status:t,browser_name:n})}function o(){let e=0,t=parseInt("-1");try{t.toFixed(t)}catch(t){e=t.message.length}return e}function r(){return void 0!==navigator.msSaveBlob&&39===eval.toString().length}function a(){const e=String(Math.random());try{window.indexedDB.open(e,1).onupgradeneeded=function(t){const n=t.target?.result;try{n.createObjectStore("test",{autoIncrement:!0}).put(new Blob)}catch(e){let t=e;if(e instanceof Error&&(t=e.message??e),"string"!=typeof t)return void i(!1);t.includes("BlobURLs are not yet supported")&&i(!0)}finally{n.close(),window.indexedDB.deleteDatabase(e),navigator.storage?.estimate?navigator.storage.estimate().then(({quota:e})=>{i(!!(e&&e<2e9))}).catch(()=>{i(!1)}):i(!1)}}}catch(e){i(!1)}}function s(){void 0!==navigator.maxTouchPoints?a():function(){const e=window.openDatabase,t=window.localStorage;try{e(null,null,null,null)}catch(e){return void i(!0)}try{t.setItem("test","1"),t.removeItem("test")}catch(e){return void i(!0)}i(!1)}()}function c(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(e,t){i(Math.round(t/1048576)<2*Math.round(function(){const e=window;return void 0!==e.performance&&void 0!==e.performance.memory&&void 0!==e.performance.memory.jsHeapSizeLimit?performance.memory.jsHeapSizeLimit:1073741824}()/1048576))},function(e){t(new Error("detectIncognito somehow failed to query storage quota: "+e.message))})}function d(){void 0!==self.Promise&&void 0!==self.Promise.allSettled?c():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}44===o()?(n="Safari",s()):51===o()?(n=function(){const e=navigator.userAgent;return e.match(/Chrome/)?void 0!==navigator.brave?"Brave":e.match(/Edg/)?"Edge":e.match(/OPR/)?"Opera":"Chrome":"Chromium"}(),d()):25===o()?(n="Firefox",i(void 0===navigator.serviceWorker)):r()?(n="Internet Explorer",i(void 0===window.indexedDB)):t(new Error("detectIncognito cannot determine the browser"))})}var V=function(e,t){return V=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},V(e,t)};function I(e,t,n,i){return new(n||(n=Promise))(function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}c((i=i.apply(e,t||[])).next())})}function M(e,t){var n,i,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(r=0)),r;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function R(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var F="awesomium",W="cef",T="cefsharp",G="coachjs",j="electron",O="fminer",D="geb",B="nightmarejs",H="phantomas",N="phantomjs",Z="rhino",z="selenium",Y="sequentum",X="slimerjs",U="webdriverio",J="webdriver",q="headless_chrome",K="unknown",$=function(e){function t(n,i){var o=e.call(this,i)||this;return o.state=n,o.name="BotdError",Object.setPrototypeOf(o,t.prototype),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}V(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);function Q(e){return I(this,void 0,void 0,function(){var t,n,i=this;return M(this,function(o){switch(o.label){case 0:return t={},n=Object.keys(e),[4,Promise.all(n.map(function(n){return I(i,void 0,void 0,function(){var i,o,r,a,s;return M(this,function(c){switch(c.label){case 0:i=e[n],c.label=1;case 1:return c.trys.push([1,3,,4]),o=t,r=n,s={},[4,i()];case 2:return o[r]=(s.value=c.sent(),s.state=0,s),[3,4];case 3:return a=c.sent(),t[n]=a instanceof $?{state:a.state,error:"".concat(a.name,": ").concat(a.message)}:{state:-3,error:a instanceof Error?"".concat(a.name,": ").concat(a.message):String(a)},[3,4];case 4:return[2]}})})}))];case 1:return o.sent(),[2,t]}})})}function ee(e,t){return-1!==e.indexOf(t)}function te(e,t){return-1!==e.indexOf(t)}function ne(e){return Object.getOwnPropertyNames(e)}function ie(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=function(t){if("string"==typeof t){if(ee(e,t))return{value:!0}}else if(null!=function(e,t){if("find"in e)return e.find(t);for(var n=0;n<e.length;n++)if(t(e[n],n,e))return e[n]}(e,function(e){return t.test(e)}))return{value:!0}},o=0,r=t;o<r.length;o++){var a=i(r[o]);if("object"==typeof a)return a.value}return!1}function oe(e){return e.reduce(function(e,t){return e+(t?1:0)},0)}var re={detectAppVersion:function(e){var t=e.appVersion;return 0===t.state&&(/headless/i.test(t.value)?q:/electron/i.test(t.value)?j:/slimerjs/i.test(t.value)?X:void 0)},detectDocumentAttributes:function(e){var t=e.documentElementKeys;return 0===t.state&&(ie(t.value,"selenium","webdriver","driver")?z:void 0)},detectErrorTrace:function(e){var t=e.errorTrace;return 0===t.state&&(/PhantomJS/i.test(t.value)?N:void 0)},detectEvalLengthInconsistency:function(e){var t=e.evalLength,n=e.browserKind,i=e.browserEngineKind;if(0===t.state&&0===n.state&&0===i.state){var o=t.value;return"unknown"!==i.value&&(37===o&&!ee(["webkit","gecko"],i.value)||39===o&&!ee(["internet_explorer"],n.value)||33===o&&!ee(["chromium"],i.value))}},detectFunctionBind:function(e){if(-2===e.functionBind.state)return N},detectLanguagesLengthInconsistency:function(e){var t=e.languages;if(0===t.state&&0===t.value.length)return q},detectNotificationPermissions:function(e){var t=e.notificationPermissions,n=e.browserKind;return 0===n.state&&"chrome"===n.value&&(0===t.state&&t.value?q:void 0)},detectPluginsArray:function(e){var t=e.pluginsArray;if(0===t.state&&!t.value)return q},detectPluginsLengthInconsistency:function(e){var t=e.pluginsLength,n=e.android,i=e.browserKind,o=e.browserEngineKind;if(0===t.state&&0===n.state&&0===i.state&&0===o.state&&"chrome"===i.value&&!n.value&&"chromium"===o.value)return 0===t.value?q:void 0},detectProcess:function(e){var t,n=e.process;return 0===n.state&&("renderer"===n.value.type||null!=(null===(t=n.value.versions)||void 0===t?void 0:t.electron)?j:void 0)},detectUserAgent:function(e){var t=e.userAgent;return 0===t.state&&(/PhantomJS/i.test(t.value)?N:/Headless/i.test(t.value)?q:/Electron/i.test(t.value)?j:/slimerjs/i.test(t.value)?X:void 0)},detectWebDriver:function(e){var t=e.webDriver;if(0===t.state&&t.value)return q},detectWebGL:function(e){var t=e.webGL;if(0===t.state){var n=t.value,i=n.vendor,o=n.renderer;if("Brian Paul"==i&&"Mesa OffScreen"==o)return q}},detectWindowExternal:function(e){var t=e.windowExternal;return 0===t.state&&(/Sequentum/i.test(t.value)?Y:void 0)},detectWindowSize:function(e){var t=e.windowSize,n=e.documentFocus;if(0!==t.state||0!==n.state)return!1;var i=t.value,o=i.outerWidth,r=i.outerHeight;return n.value&&0===o&&0===r?q:void 0},detectMimeTypesConsistent:function(e){var t=e.mimeTypesConsistent;if(0===t.state&&!t.value)return K},detectProductSub:function(e){var t=e.productSub,n=e.browserKind;return 0===t.state&&0===n.state&&("chrome"!==n.value&&"safari"!==n.value&&"opera"!==n.value&&"wechat"!==n.value||"20030107"===t.value?void 0:K)},detectDistinctiveProperties:function(e){var t=e.distinctiveProps;if(0!==t.state)return!1;var n,i=t.value;for(n in i)if(i[n])return n}};function ae(){var e,t,n=window,i=navigator;return oe(["webkitPersistentStorage"in i,"webkitTemporaryStorage"in i,0===i.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in n,"BatteryManager"in n,"webkitMediaStream"in n,"webkitSpeechGrammar"in n])>=5?"chromium":oe(["ApplePayError"in n,"CSSPrimitiveValue"in n,"Counter"in n,0===i.vendor.indexOf("Apple"),"getStorageUpdates"in i,"WebKitMediaKeys"in n])>=4?"webkit":oe(["buildID"in navigator,"MozAppearance"in(null!==(t=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==t?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4?"gecko":"unknown"}var se={android:function(){var e=ae(),t="chromium"===e,n="gecko"===e;if(!t&&!n)return!1;var i=window;return oe(["onorientationchange"in i,"orientation"in i,t&&!("SharedWorker"in i),n&&/android/i.test(navigator.appVersion)])>=2},browserKind:function(){var e,t=null===(e=navigator.userAgent)||void 0===e?void 0:e.toLowerCase();return te(t,"edg/")?"edge":te(t,"trident")||te(t,"msie")?"internet_explorer":te(t,"wechat")?"wechat":te(t,"firefox")?"firefox":te(t,"opera")||te(t,"opr")?"opera":te(t,"chrome")?"chrome":te(t,"safari")?"safari":"unknown"},browserEngineKind:ae,documentFocus:function(){return void 0!==document.hasFocus&&document.hasFocus()},userAgent:function(){return navigator.userAgent},appVersion:function(){var e=navigator.appVersion;if(null==e)throw new $(-1,"navigator.appVersion is undefined");return e},rtt:function(){if(void 0===navigator.connection)throw new $(-1,"navigator.connection is undefined");if(void 0===navigator.connection.rtt)throw new $(-1,"navigator.connection.rtt is undefined");return navigator.connection.rtt},windowSize:function(){return{outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight}},pluginsLength:function(){if(void 0===navigator.plugins)throw new $(-1,"navigator.plugins is undefined");if(void 0===navigator.plugins.length)throw new $(-3,"navigator.plugins.length is undefined");return navigator.plugins.length},pluginsArray:function(){if(void 0===navigator.plugins)throw new $(-1,"navigator.plugins is undefined");if(void 0===window.PluginArray)throw new $(-1,"window.PluginArray is undefined");return navigator.plugins instanceof PluginArray},errorTrace:function(){try{null[0]()}catch(e){if(e instanceof Error&&null!=e.stack)return e.stack.toString()}throw new $(-3,"errorTrace signal unexpected behaviour")},productSub:function(){var e=navigator.productSub;if(void 0===e)throw new $(-1,"navigator.productSub is undefined");return e},windowExternal:function(){if(void 0===window.external)throw new $(-1,"window.external is undefined");var e=window.external;if("function"!=typeof e.toString)throw new $(-2,"window.external.toString is not a function");return e.toString()},mimeTypesConsistent:function(){if(void 0===navigator.mimeTypes)throw new $(-1,"navigator.mimeTypes is undefined");for(var e=navigator.mimeTypes,t=Object.getPrototypeOf(e)===MimeTypeArray.prototype,n=0;n<e.length;n++)t&&(t=Object.getPrototypeOf(e[n])===MimeType.prototype);return t},evalLength:function(){return eval.toString().length},webGL:function(){var e=document.createElement("canvas");if("function"!=typeof e.getContext)throw new $(-2,"HTMLCanvasElement.getContext is not a function");var t=e.getContext("webgl");if(null===t)throw new $(-4,"WebGLRenderingContext is null");if("function"!=typeof t.getParameter)throw new $(-2,"WebGLRenderingContext.getParameter is not a function");return{vendor:t.getParameter(t.VENDOR),renderer:t.getParameter(t.RENDERER)}},webDriver:function(){if(null==navigator.webdriver)throw new $(-1,"navigator.webdriver is undefined");return navigator.webdriver},languages:function(){var e,t=navigator,n=[],i=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==i&&n.push([i]),Array.isArray(t.languages))"chromium"===ae()&&oe([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||n.push(t.languages);else if("string"==typeof t.languages){var o=t.languages;o&&n.push(o.split(","))}return n},notificationPermissions:function(){return I(this,void 0,void 0,function(){var e,t;return M(this,function(n){switch(n.label){case 0:if(void 0===window.Notification)throw new $(-1,"window.Notification is undefined");if(void 0===navigator.permissions)throw new $(-1,"navigator.permissions is undefined");if("function"!=typeof(e=navigator.permissions).query)throw new $(-2,"navigator.permissions.query is not a function");n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e.query({name:"notifications"})];case 2:return t=n.sent(),[2,"denied"===window.Notification.permission&&"prompt"===t.state];case 3:throw n.sent(),new $(-3,"notificationPermissions signal unexpected behaviour");case 4:return[2]}})})},documentElementKeys:function(){if(void 0===document.documentElement)throw new $(-1,"document.documentElement is undefined");var e=document.documentElement;if("function"!=typeof e.getAttributeNames)throw new $(-2,"document.documentElement.getAttributeNames is not a function");return e.getAttributeNames()},functionBind:function(){if(void 0===Function.prototype.bind)throw new $(-2,"Function.prototype.bind is undefined");return Function.prototype.bind.toString()},process:function(){var e=window.process,t="window.process is";if(void 0===e)throw new $(-1,"".concat(t," undefined"));if(e&&"object"!=typeof e)throw new $(-3,"".concat(t," not an object"));return e},distinctiveProps:function(){var e,t,n=((e={})[F]={window:["awesomium"]},e[W]={window:["RunPerfTest"]},e[T]={window:["CefSharp"]},e[G]={window:["emit"]},e[O]={window:["fmget_targets"]},e[D]={window:["geb"]},e[B]={window:["__nightmare","nightmare"]},e[H]={window:["__phantomas"]},e[N]={window:["callPhantom","_phantom"]},e[Z]={window:["spawn"]},e[z]={window:["_Selenium_IDE_Recorder","_selenium","calledSelenium",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/],document:["__selenium_evaluate","selenium-evaluate","__selenium_unwrapped"]},e[U]={window:["wdioElectron"]},e[J]={window:["webdriver","__webdriverFunc","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw"],document:["__webdriver_script_fn","__driver_evaluate","__webdriver_evaluate","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__fxdriver_unwrapped","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","$cdc_asdjflasutopfhvcZLmcf","$cdc_asdjflasutopfhvcZLmcfl_","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor"]},e[q]={window:["domAutomation","domAutomationController"]},e),i={},o=ne(window),r=[];for(t in void 0!==window.document&&(r=ne(window.document)),n){var a=n[t];if(void 0!==a){var s=void 0!==a.window&&ie.apply(void 0,R([o],a.window,!1)),c=!(void 0===a.document||!r.length)&&ie.apply(void 0,R([r],a.document,!1));i[t]=s||c}}return i}},ce=function(){function e(){this.components=void 0,this.detections=void 0}return e.prototype.getComponents=function(){return this.components},e.prototype.getDetections=function(){return this.detections},e.prototype.detect=function(){if(void 0===this.components)throw new Error("BotDetector.detect can't be called before BotDetector.collect");var e=function(e,t){var n={},i={bot:!1};for(var o in t){var r=(0,t[o])(e),a={bot:!1};"string"==typeof r?a={bot:!0,botKind:r}:r&&(a={bot:!0,botKind:K}),n[o]=a,a.bot&&(i=a)}return[n,i]}(this.components,re),t=e[0],n=e[1];return this.detections=t,n},e.prototype.collect=function(){return I(this,void 0,void 0,function(){var e;return M(this,function(t){switch(t.label){case 0:return e=this,[4,Q(se)];case 1:return e.components=t.sent(),[2,this.components]}})})},e}();function de(e){var t=(void 0===e?{}:e).monitoring,n=void 0===t||t;return I(this,void 0,void 0,function(){var e;return M(this,function(t){switch(t.label){case 0:return n&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var e=new XMLHttpRequest;e.open("get","https://m1.openfpcdn.io/botd/v".concat("1.9.1","/npm-monitoring"),!0),e.send()}catch(e){console.error(e)}}(),[4,(e=new ce).collect()];case 1:return t.sent(),[2,e]}})})}async function le(){try{const e=(await de()).detect();return e.bot?{status:!0,botKind:e.botKind}:{status:!1}}catch(e){return console.error(e),null}}function ue(){return me().name}function me(){const e={name:"Unknown",version:"Unknown",confidence:0,engine:"Unknown"},t=[],n=navigator.userAgent.toLowerCase();-1===n.indexOf("edg/")&&-1===n.indexOf("edge/")||t.push({name:"Edge",confidence:75});if(function(e,t){44===t.toFixedErrorLength?e.push({name:"Safari",confidence:40}):51===t.toFixedErrorLength?e.push({name:"Chrome",confidence:30}):25===t.toFixedErrorLength&&e.push({name:"Firefox",confidence:30});t.functionToStringLength>30&&t.functionToStringLength<40?e.push({name:"Firefox",confidence:10}):t.functionToStringLength>40&&e.push({name:"Chrome",confidence:15})}(t,function(){let e=0;try{const e=parseInt("-1");e.toFixed(e)}catch(t){e=t.message.length}let t=0;try{t=Function.prototype.toString.call(Function).length}catch(e){}return{toFixedErrorLength:e,functionToStringLength:t}}()),function(e){navigator.brave&&"function"==typeof navigator.brave.isBrave&&e.push({name:"Brave",confidence:90});if(void 0!==window.chrome&&window.chrome.app&&window.chrome.runtime){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")?void 0===navigator.brave&&e.push({name:"Chrome",confidence:40}):e.push({name:"Edge",confidence:40})}!(window.chrome&&window.chrome.csi&&window.chrome.loadTimes)||window.opr||window.opera||navigator.brave&&"function"==typeof navigator.brave.isBrave||e.push({name:"Chrome",confidence:60});void 0===window.InstallTrigger&&void 0===window.sidebar||e.push({name:"Firefox",confidence:70});(/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!(void 0===window.safari)&&window.safari.pushNotification).toString())&&e.push({name:"Safari",confidence:70});(window.msCredentials||document.documentMode)&&e.push({name:"Edge",confidence:60});(window.opr||window.opera)&&e.push({name:"Opera",confidence:60})}(t),function(e){if("function"==typeof navigator.registerProtocolHandler)try{if("chrome"in window){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:25})}("ms-access"in navigator||"ms-browser-extension"in navigator||"ms-calculator"in navigator||"ms-drive-to"in navigator||"ms-excel"in navigator||"ms-gamebarservices"in navigator||"ms-search"in navigator||"ms-word"in navigator)&&e.push({name:"Edge",confidence:80}),("opr:"in navigator.plugins||"opera:"in navigator.plugins)&&e.push({name:"Opera",confidence:25})}catch(e){}}(t),function(e){const t=window.getComputedStyle(document.documentElement);""===t.getPropertyValue("--apple-trailing-word")&&""===t.getPropertyValue("-webkit-app-region")||e.push({name:"Safari",confidence:20});""===t.getPropertyValue("-moz-context-properties")&&""===t.getPropertyValue("-moz-user-focus")||e.push({name:"Firefox",confidence:20});""===t.getPropertyValue("-ms-ime-align")&&""===t.getPropertyValue("-ms-flow-from")||e.push({name:"Edge",confidence:60})}(t),function(e){if(performance.memory&&performance.memory.jsHeapSizeLimit){if(performance.memory.jsHeapSizeLimit>2e9){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:20})}}if(void 0!==window.chrome&&"function"==typeof window.chrome.loadTimes)try{const t=window.chrome.loadTimes();t&&"number"==typeof t.firstPaintTime&&"number"==typeof t.requestTime&&e.push({name:"Chrome",confidence:30})}catch(e){}}(t),function(e){try{throw new Error}catch(t){if(t.stack&&t.stack.indexOf("()@")>=0&&e.push({name:"Firefox",confidence:15}),t.stack&&t.stack.indexOf("at new")>=0){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:20})}t.stack&&-1===t.stack.indexOf("@")&&-1===t.stack.indexOf("at ")&&e.push({name:"Safari",confidence:15})}if(document.createElement("canvas").toDataURL().length>15&&void 0===navigator.brave&&void 0!==window.chrome){const t=new Image;let n=0;t.onload=()=>{n++,0===n&&e.push({name:"Brave",confidence:20})},t.onerror=()=>{e.push({name:"Brave",confidence:10})},t.src="https://www.facebook.com/tr?id=1234567890&ev=PageView"}try{!!window.__JQUERY_OBJECT__&&e.push({name:"Chrome",confidence:15})}catch(e){}-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&-1===navigator.userAgent.indexOf("Brave")&&void 0!==window.chrome&&window.chrome.runtime&&e.push({name:"Chrome",confidence:35})}(t),function(e){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")||e.push({name:"Edge",confidence:80});try{CSS.supports("-ms-ime-align","auto")&&e.push({name:"Edge",confidence:70})}catch(e){}try{"function"==typeof navigator.msLaunchUri&&e.push({name:"Edge",confidence:85}),void 0!==window.MSInputMethodContext&&e.push({name:"Edge",confidence:80}),(document.documentMode||/edge/i.test(navigator.userAgent))&&e.push({name:"Edge",confidence:75}),void 0!==window.chrome&&window.chrome.runtime&&!window.chrome.webstore&&e.push({name:"Edge",confidence:60})}catch(e){}try{const t=document.createElement("canvas"),n=t.getContext("2d");if(n){t.width=200,t.height=50,n.font="20px Arial",n.textBaseline="top",n.fillText("EdgeBrowserTest",0,0);const i=n.getImageData(0,0,t.width,t.height).data;let o=0;for(let e=0;e<400;e+=4)o=(o<<5)-o+i[e];o<0&&e.push({name:"Edge",confidence:50})}}catch(e){}}(t),function(e){-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&void 0!==window.chrome&&window.chrome.runtime&&"function"==typeof window.chrome.loadTimes&&"function"==typeof window.chrome.csi&&void 0===navigator.brave&&e.push({name:"Chrome",confidence:75});try{Array.from(navigator.plugins).some(e=>"Chrome PDF Viewer"===e.name)&&-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&e.push({name:"Chrome",confidence:60})}catch(e){}try{const t=navigator.userAgent.match(/Chrome\/([0-9.]+)/);if(t){const n=t[1];-1!==navigator.appVersion.indexOf(n)&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&e.push({name:"Chrome",confidence:30})}}catch(e){}}(t),function(e){try{if(navigator.brave)return void e.push({name:"Brave",confidence:95});const t=navigator.userAgent;if(t.includes("Brave")||t.includes("brave"))return void e.push({name:"Brave",confidence:90});if(void 0!==window.chrome&&window.chrome.runtime&&!window.google){!("google"in window)&&!window.chrome.webstore&&void 0!==navigator.brave&&e.push({name:"Brave",confidence:60})}}catch(e){}}(t),t.length>0){const n=t.reduce((e,t)=>(e[t.name]=(e[t.name]||0)+t.confidence,e),{});let i=0,o="Unknown";for(const[e,t]of Object.entries(n))t>i&&(i=t,o=e);"Chrome"===o&&function(){try{const e=navigator.userAgent.toLowerCase();if(-1!==e.indexOf("edg/")||-1!==e.indexOf("edge/"))return!0;if(window.msCredentials||document.documentMode||void 0!==window.MSInputMethodContext||"function"==typeof navigator.msLaunchUri)return!0;if(void 0!==window.chrome&&window.chrome.runtime&&!window.chrome.webstore&&!window.opr&&!window.opera)try{const e=Array.from(navigator.plugins).some(e=>"Chrome PDF Viewer"===e.name),t=Array.from(navigator.plugins).some(e=>-1!==e.name.indexOf("Edge"));if(!e||t)return!0}catch(e){}return!1}catch(e){return!1}}()&&(o="Edge"),e.name=o,e.confidence=Math.min(100,i),["Chrome","Edge","Opera","Brave"].includes(o)?e.engine="Blink":"Firefox"===o?e.engine="Gecko":"Safari"===o&&(e.engine="WebKit"),e.version=function(e){const t=navigator.userAgent;let n="Unknown";try{if("Chrome"===e){const e=t.match(/Chrome\/([0-9.]+)/);e&&(n=e[1])}else if("Firefox"===e){const e=t.match(/Firefox\/([0-9.]+)/);e&&(n=e[1])}else if("Safari"===e){const e=t.match(/Version\/([0-9.]+)/);e&&(n=e[1])}else if("Edge"===e){const e=t.match(/Edg(?:e)?\/([0-9.]+)/);e&&(n=e[1])}else if("Opera"===e){const e=t.match(/OPR\/([0-9.]+)/);e&&(n=e[1])}else if("Brave"===e)if(navigator.brave&&navigator.brave.version)n=navigator.brave.version;else{const e=t.match(/Brave\/([0-9.]+)/);if(e)n=e[1];else{const e=t.match(/Chrome\/([0-9.]+)/);e&&(n=e[1])}if(void 0!==navigator.brave)try{navigator.brave.isBrave().then(e=>{})}catch(e){}}}catch(e){}return n}(o)}return e}var he,fe="user-agent",we="",pe="function",ge="undefined",be="object",ve="string",ye="browser",ke="cpu",xe="device",Se="engine",Le="os",Ee="result",Ce="name",_e="type",Ae="vendor",Pe="version",Ve="architecture",Ie="major",Me="model",Re="console",Fe="mobile",We="tablet",Te="smarttv",Ge="wearable",je="xr",Oe="embedded",De="inapp",Be="brands",He="formFactors",Ne="fullVersionList",Ze="platform",ze="platformVersion",Ye="bitness",Xe="sec-ch-ua",Ue=Xe+"-full-version-list",Je=Xe+"-arch",qe=Xe+"-"+Ye,Ke=Xe+"-form-factors",$e=Xe+"-"+Fe,Qe=Xe+"-"+Me,et=Xe+"-"+Ze,tt=et+"-version",nt=[Be,Ne,Fe,Me,Ze,ze,Ve,He,Ye],it="Amazon",ot="Apple",rt="ASUS",at="BlackBerry",st="Google",ct="Huawei",dt="Lenovo",lt="Honor",ut="LG",mt="Microsoft",ht="Motorola",ft="Nvidia",wt="OnePlus",pt="OPPO",gt="Samsung",bt="Sharp",vt="Sony",yt="Xiaomi",kt="Zebra",xt="Chrome",St="Chromium",Lt="Chromecast",Et="Edge",Ct="Firefox",_t="Opera",At="Facebook",Pt="Sogou",Vt="Mobile ",It=" Browser",Mt="Windows",Rt=typeof window!==ge&&window.navigator?window.navigator:void 0,Ft=Rt&&Rt.userAgentData?Rt.userAgentData:void 0,Wt=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},Tt=function(e,t){if(typeof e===be&&e.length>0){for(var n in e)if(Dt(t)==Dt(e[n]))return!0;return!1}return!!jt(e)&&Dt(t)==Dt(e)},Gt=function(e,t){for(var n in e)return/^(browser|cpu|device|engine|os)$/.test(n)||!!t&&Gt(e[n])},jt=function(e){return typeof e===ve},Ot=function(e){if(e){for(var t=[],n=Nt(/\\?\"/g,e).split(","),i=0;i<n.length;i++)if(n[i].indexOf(";")>-1){var o=zt(n[i]).split(";v=");t[i]={brand:o[0],version:o[1]}}else t[i]=zt(n[i]);return t}},Dt=function(e){return jt(e)?e.toLowerCase():e},Bt=function(e){return jt(e)?Nt(/[^\d\.]/g,e).split(".")[0]:void 0},Ht=function(e){for(var t in e){var n=e[t];typeof n==be&&2==n.length?this[n[0]]=n[1]:this[n]=void 0}return this},Nt=function(e,t){return jt(t)?t.replace(e,we):t},Zt=function(e){return Nt(/\\?\"/g,e)},zt=function(e,t){if(jt(e))return e=Nt(/^\s\s*/,e),typeof t===ge?e:e.substring(0,500)},Yt=function(e,t){if(e&&t)for(var n,i,o,r,a,s,c=0;c<t.length&&!a;){var d=t[c],l=t[c+1];for(n=i=0;n<d.length&&!a&&d[n];)if(a=d[n++].exec(e))for(o=0;o<l.length;o++)s=a[++i],typeof(r=l[o])===be&&r.length>0?2===r.length?typeof r[1]==pe?this[r[0]]=r[1].call(this,s):this[r[0]]=r[1]:r.length>=3&&(typeof r[1]!==pe||r[1].exec&&r[1].test?3==r.length?this[r[0]]=s?s.replace(r[1],r[2]):void 0:4==r.length?this[r[0]]=s?r[3].call(this,s.replace(r[1],r[2])):void 0:r.length>4&&(this[r[0]]=s?r[3].apply(this,[s.replace(r[1],r[2])].concat(r.slice(4))):void 0):r.length>3?this[r[0]]=s?r[1].apply(this,r.slice(2)):void 0:this[r[0]]=s?r[1].call(this,s,r[2]):void 0):this[r]=s||void 0;c+=2}},Xt=function(e,t){for(var n in t)if(typeof t[n]===be&&t[n].length>0){for(var i=0;i<t[n].length;i++)if(Tt(t[n][i],e))return"?"===n?void 0:n}else if(Tt(t[n],e))return"?"===n?void 0:n;return t.hasOwnProperty("*")?t["*"]:e},Ut={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Jt={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},qt={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Kt={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[Pe,[Ce,Vt+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[Pe,[Ce,Et+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[Pe,[Ce,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[Ce,Pe],[/opios[\/ ]+([\w\.]+)/i],[Pe,[Ce,_t+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[Pe,[Ce,_t+" GX"]],[/\bopr\/([\w\.]+)/i],[Pe,[Ce,_t]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[Pe,[Ce,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[Pe,[Ce,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[Ce,Pe],[/quark(?:pc)?\/([-\w\.]+)/i],[Pe,[Ce,"Quark"]],[/\bddg\/([\w\.]+)/i],[Pe,[Ce,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[Pe,[Ce,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[Pe,[Ce,"WeChat"]],[/konqueror\/([\w\.]+)/i],[Pe,[Ce,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[Pe,[Ce,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[Pe,[Ce,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[Pe,[Ce,"Smart "+dt+It]],[/(avast|avg)\/([\w\.]+)/i],[[Ce,/(.+)/,"$1 Secure"+It],Pe],[/\bfocus\/([\w\.]+)/i],[Pe,[Ce,Ct+" Focus"]],[/\bopt\/([\w\.]+)/i],[Pe,[Ce,_t+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[Pe,[Ce,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[Pe,[Ce,"Dolphin"]],[/coast\/([\w\.]+)/i],[Pe,[Ce,_t+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[Pe,[Ce,"MIUI"+It]],[/fxios\/([\w\.-]+)/i],[Pe,[Ce,Vt+Ct]],[/\bqihoobrowser\/?([\w\.]*)/i],[Pe,[Ce,"360"]],[/\b(qq)\/([\w\.]+)/i],[[Ce,/(.+)/,"$1Browser"],Pe],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[Ce,/(.+)/,"$1"+It],Pe],[/samsungbrowser\/([\w\.]+)/i],[Pe,[Ce,gt+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[Pe,[Ce,Pt+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[Ce,Pt+" Mobile"],Pe],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[Ce,Pe],[/(lbbrowser|rekonq)/i],[Ce],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[Pe,Ce],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[Ce,At],Pe,[_e,De]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[Ce,Pe,[_e,De]],[/\bgsa\/([\w\.]+) .*safari\//i],[Pe,[Ce,"GSA"],[_e,De]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[Pe,[Ce,"TikTok"],[_e,De]],[/\[(linkedin)app\]/i],[Ce,[_e,De]],[/(chromium)[\/ ]([-\w\.]+)/i],[Ce,Pe],[/headlesschrome(?:\/([\w\.]+)| )/i],[Pe,[Ce,xt+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[Pe,[Ce,Et+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[Ce,xt+" WebView"],Pe],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[Pe,[Ce,"Android"+It]],[/chrome\/([\w\.]+) mobile/i],[Pe,[Ce,Vt+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[Ce,Pe],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[Pe,[Ce,Vt+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[Ce,Vt+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[Pe,Ce],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[Ce,[Pe,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[Ce,Pe],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[Ce,Vt+Ct],Pe],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[Ce,"Netscape"],Pe],[/(wolvic|librewolf)\/([\w\.]+)/i],[Ce,Pe],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[Pe,[Ce,Ct+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[Ce,[Pe,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[Ce,[Pe,/[^\d\.]+./,we]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[Ve,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[Ve,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[Ve,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[Ve,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[Ve,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[Ve,/ower/,we,Dt]],[/ sun4\w[;\)]/i],[[Ve,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[Ve,Dt]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[Me,[Ae,gt],[_e,We]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[Me,[Ae,gt],[_e,Fe]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[Me,[Ae,ot],[_e,Fe]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[Me,[Ae,ot],[_e,We]],[/(macintosh);/i],[Me,[Ae,ot]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[Me,[Ae,bt],[_e,Fe]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[Me,[Ae,lt],[_e,We]],[/honor([-\w ]+)[;\)]/i],[Me,[Ae,lt],[_e,Fe]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[Me,[Ae,ct],[_e,We]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[Me,[Ae,ct],[_e,Fe]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[Me,/_/g," "],[Ae,yt],[_e,We]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[Me,/_/g," "],[Ae,yt],[_e,Fe]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[Me,[Ae,wt],[_e,Fe]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[Me,[Ae,pt],[_e,Fe]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[Me,[Ae,Xt,{OnePlus:["203","304","403","404","413","415"],"*":pt}],[_e,We]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[Me,[Ae,"BLU"],[_e,Fe]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[Me,[Ae,"Vivo"],[_e,Fe]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[Me,[Ae,"Realme"],[_e,Fe]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[Me,[Ae,dt],[_e,We]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[Me,[Ae,dt],[_e,Fe]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[Me,[Ae,ht],[_e,Fe]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[Me,[Ae,ht],[_e,We]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[Me,[Ae,ut],[_e,We]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[Me,[Ae,ut],[_e,Fe]],[/(nokia) (t[12][01])/i],[Ae,Me,[_e,We]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[Me,/_/g," "],[_e,Fe],[Ae,"Nokia"]],[/(pixel (c|tablet))\b/i],[Me,[Ae,st],[_e,We]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[Me,[Ae,st],[_e,Fe]],[/(google) (pixelbook( go)?)/i],[Ae,Me],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[Me,[Ae,vt],[_e,Fe]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[Me,"Xperia Tablet"],[Ae,vt],[_e,We]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[Me,[Ae,it],[_e,We]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[Me,/(.+)/g,"Fire Phone $1"],[Ae,it],[_e,Fe]],[/(playbook);[-\w\),; ]+(rim)/i],[Me,Ae,[_e,We]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[Me,[Ae,at],[_e,Fe]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[Me,[Ae,rt],[_e,We]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[Me,[Ae,rt],[_e,Fe]],[/(nexus 9)/i],[Me,[Ae,"HTC"],[_e,We]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[Ae,[Me,/_/g," "],[_e,Fe]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[Me,[Ae,"TCL"],[_e,We]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[Me,[Ae,"TCL"],[_e,Fe]],[/(itel) ((\w+))/i],[[Ae,Dt],Me,[_e,Xt,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[Me,[Ae,"Acer"],[_e,We]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[Me,[Ae,"Meizu"],[_e,Fe]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[Me,[Ae,"Ulefone"],[_e,Fe]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[Me,[Ae,"Energizer"],[_e,Fe]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[Me,[Ae,"Cat"],[_e,Fe]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[Me,[Ae,"Smartfren"],[_e,Fe]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[Me,[Ae,"Nothing"],[_e,Fe]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[Me,[Ae,"Archos"],[_e,We]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[Me,[Ae,"Archos"],[_e,Fe]],[/; (n159v)/i],[Me,[Ae,"HMD"],[_e,Fe]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[Ae,Me,[_e,We]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[Ae,Me,[_e,Fe]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[Ae,Me,[_e,We]],[/(surface duo)/i],[Me,[Ae,mt],[_e,We]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[Me,[Ae,"Fairphone"],[_e,Fe]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[Me,[Ae,ft],[_e,We]],[/(sprint) (\w+)/i],[Ae,Me,[_e,Fe]],[/(kin\.[onetw]{3})/i],[[Me,/\./g," "],[Ae,mt],[_e,Fe]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[Me,[Ae,kt],[_e,We]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[Me,[Ae,kt],[_e,Fe]],[/smart-tv.+(samsung)/i],[Ae,[_e,Te]],[/hbbtv.+maple;(\d+)/i],[[Me,/^/,"SmartTV"],[Ae,gt],[_e,Te]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[Ae,Me,[_e,Te]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[Ae,ut],[_e,Te]],[/(apple) ?tv/i],[Ae,[Me,ot+" TV"],[_e,Te]],[/crkey.*devicetype\/chromecast/i],[[Me,Lt+" Third Generation"],[Ae,st],[_e,Te]],[/crkey.*devicetype\/([^/]*)/i],[[Me,/^/,"Chromecast "],[Ae,st],[_e,Te]],[/fuchsia.*crkey/i],[[Me,Lt+" Nest Hub"],[Ae,st],[_e,Te]],[/crkey/i],[[Me,Lt],[Ae,st],[_e,Te]],[/(portaltv)/i],[Me,[Ae,At],[_e,Te]],[/droid.+aft(\w+)( bui|\))/i],[Me,[Ae,it],[_e,Te]],[/(shield \w+ tv)/i],[Me,[Ae,ft],[_e,Te]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[Me,[Ae,bt],[_e,Te]],[/(bravia[\w ]+)( bui|\))/i],[Me,[Ae,vt],[_e,Te]],[/(mi(tv|box)-?\w+) bui/i],[Me,[Ae,yt],[_e,Te]],[/Hbbtv.*(technisat) (.*);/i],[Ae,Me,[_e,Te]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[Ae,/.+\/(\w+)/,"$1",Xt,{LG:"lge"}],[Me,zt],[_e,Te]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[Me,[_e,Te]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[_e,Te]],[/(playstation \w+)/i],[Me,[Ae,vt],[_e,Re]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[Me,[Ae,mt],[_e,Re]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[Ae,Me,[_e,Re]],[/droid.+; (shield)( bui|\))/i],[Me,[Ae,ft],[_e,Re]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[Me,[Ae,gt],[_e,Ge]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[Ae,Me,[_e,Ge]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[Me,[Ae,pt],[_e,Ge]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[Me,[Ae,ot],[_e,Ge]],[/(opwwe\d{3})/i],[Me,[Ae,wt],[_e,Ge]],[/(moto 360)/i],[Me,[Ae,ht],[_e,Ge]],[/(smartwatch 3)/i],[Me,[Ae,vt],[_e,Ge]],[/(g watch r)/i],[Me,[Ae,ut],[_e,Ge]],[/droid.+; (wt63?0{2,3})\)/i],[Me,[Ae,kt],[_e,Ge]],[/droid.+; (glass) \d/i],[Me,[Ae,st],[_e,je]],[/(pico) (4|neo3(?: link|pro)?)/i],[Ae,Me,[_e,je]],[/(quest( \d| pro)?s?).+vr/i],[Me,[Ae,At],[_e,je]],[/mobile vr; rv.+firefox/i],[[_e,je]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[Ae,[_e,Oe]],[/(aeobc)\b/i],[Me,[Ae,it],[_e,Oe]],[/(homepod).+mac os/i],[Me,[Ae,ot],[_e,Oe]],[/windows iot/i],[[_e,Oe]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[Me,[_e,Xt,{mobile:"Mobile",xr:"VR","*":We}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[_e,We]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[_e,Fe]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[Me,[Ae,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[Pe,[Ce,Et+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[Ce,Pe],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[Pe,[Ce,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[Ce,Pe],[/ladybird\//i],[[Ce,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[Pe,Ce]],os:[[/(windows nt) (6\.[23]); arm/i],[[Ce,/N/,"R"],[Pe,Xt,Ut]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[Ce,Pe],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[Pe,/(;|\))/g,"",Xt,Ut],[Ce,Mt]],[/(windows ce)\/?([\d\.]*)/i],[Ce,Pe],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[Pe,/_/g,"."],[Ce,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[Ce,"macOS"],[Pe,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[Pe,[Ce,Lt+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[Pe,[Ce,Lt+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[Pe,[Ce,Lt+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[Pe,[Ce,Lt+" Linux"]],[/crkey\/([\d\.]+)/i],[Pe,[Ce,Lt]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[Pe,Ce],[/(ubuntu) ([\w\.]+) like android/i],[[Ce,/(.+)/,"$1 Touch"],Pe],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[Ce,Pe],[/\(bb(10);/i],[Pe,[Ce,at]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[Pe,[Ce,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[Pe,[Ce,Ct+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[Pe,[Ce,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[Pe,Xt,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[Ce,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[Pe,[Ce,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[Ce,"Chrome OS"],Pe],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[Ce,Pe],[/(sunos) ?([\d\.]*)/i],[[Ce,"Solaris"],Pe],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[Ce,Pe]]},$t=(Ht.call((he={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[ye,[Ce,Pe,Ie,_e]],[ke,[Ve]],[xe,[_e,Me,Ae]],[Se,[Ce,Pe]],[Le,[Ce,Pe]]]),Ht.call(he.isIgnore,[[ye,[Pe,Ie]],[Se,[Pe]],[Le,[Pe]]]),Ht.call(he.isIgnoreRgx,[[ye,/ ?browser$/i],[Le,/ ?os$/i]]),Ht.call(he.toString,[[ye,[Ce,Pe]],[ke,[Ve]],[xe,[Ae,Me]],[Se,[Ce,Pe]],[Le,[Ce,Pe]]]),he),Qt=function(e,t){var n=$t.init[t],i=$t.isIgnore[t]||0,o=$t.isIgnoreRgx[t]||0,r=$t.toString[t]||0;function a(){Ht.call(this,n)}return a.prototype.getItem=function(){return e},a.prototype.withClientHints=function(){return Ft?Ft.getHighEntropyValues(nt).then(function(t){return e.setCH(new en(t,!1)).parseCH().get()}):e.parseCH().get()},a.prototype.withFeatureCheck=function(){return e.detectFeature().get()},t!=Ee&&(a.prototype.is=function(e){var t=!1;for(var n in this)if(this.hasOwnProperty(n)&&!Tt(i,n)&&Dt(o?Nt(o,this[n]):this[n])==Dt(o?Nt(o,e):e)){if(t=!0,e!=ge)break}else if(e==ge&&t){t=!t;break}return t},a.prototype.toString=function(){var e=we;for(var t in r)typeof this[r[t]]!==ge&&(e+=(e?" ":we)+this[r[t]]);return e||ge}),Ft||(a.prototype.then=function(e){var t=this,n=function(){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])};n.prototype={is:a.prototype.is,toString:a.prototype.toString};var i=new n;return e(i),i}),new a};function en(e,t){if(e=e||{},Ht.call(this,nt),t)Ht.call(this,[[Be,Ot(e[Xe])],[Ne,Ot(e[Ue])],[Fe,/\?1/.test(e[$e])],[Me,Zt(e[Qe])],[Ze,Zt(e[et])],[ze,Zt(e[tt])],[Ve,Zt(e[Je])],[He,Ot(e[Ke])],[Ye,Zt(e[qe])]]);else for(var n in e)this.hasOwnProperty(n)&&typeof e[n]!==ge&&(this[n]=e[n])}function tn(e,t,n,i){return this.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data},this.set=function(e,t){return this.data[e]=t,this},this.setCH=function(e){return this.uaCH=e,this},this.detectFeature=function(){if(Rt&&Rt.userAgent==this.ua)switch(this.itemType){case ye:Rt.brave&&typeof Rt.brave.isBrave==pe&&this.set(Ce,"Brave");break;case xe:!this.get(_e)&&Ft&&Ft[Fe]&&this.set(_e,Fe),"Macintosh"==this.get(Me)&&Rt&&typeof Rt.standalone!==ge&&Rt.maxTouchPoints&&Rt.maxTouchPoints>2&&this.set(Me,"iPad").set(_e,We);break;case Le:!this.get(Ce)&&Ft&&Ft[Ze]&&this.set(Ce,Ft[Ze]);break;case Ee:var e=this.data,t=function(t){return e[t].getItem().detectFeature().get()};this.set(ye,t(ye)).set(ke,t(ke)).set(xe,t(xe)).set(Se,t(Se)).set(Le,t(Le))}return this},this.parseUA=function(){return this.itemType!=Ee&&Yt.call(this.data,this.ua,this.rgxMap),this.itemType==ye&&this.set(Ie,Bt(this.get(Pe))),this},this.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case ye:case Se:var n,i=e[Ne]||e[Be];if(i)for(var o in i){var r=i[o].brand||i[o],a=i[o].version;this.itemType==ye&&!/not.a.brand/i.test(r)&&(!n||/Chrom/.test(n)&&r!=St||n==Et&&/WebView2/.test(r))&&(r=Xt(r,qt),(n=this.get(Ce))&&!/Chrom/.test(n)&&/Chrom/.test(r)||this.set(Ce,r).set(Pe,a).set(Ie,Bt(a)),n=r),this.itemType==Se&&r==St&&this.set(Pe,a)}break;case ke:var s=e[Ve];s&&(s&&"64"==e[Ye]&&(s+="64"),Yt.call(this.data,s+";",t));break;case xe:if(e[Fe]&&this.set(_e,Fe),e[Me]&&(this.set(Me,e[Me]),!this.get(_e)||!this.get(Ae))){var c={};Yt.call(c,"droid 9; "+e[Me]+")",t),!this.get(_e)&&c.type&&this.set(_e,c.type),!this.get(Ae)&&c.vendor&&this.set(Ae,c.vendor)}if(e[He]){var d;if("string"!=typeof e[He])for(var l=0;!d&&l<e[He].length;)d=Xt(e[He][l++],Jt);else d=Xt(e[He],Jt);this.set(_e,d)}break;case Le:var u=e[Ze];if(u){var m=e[ze];u==Mt&&(m=parseInt(Bt(m),10)>=13?"11":"10"),this.set(Ce,u).set(Pe,m)}this.get(Ce)==Mt&&"Xbox"==e[Me]&&this.set(Ce,"Xbox").set(Pe,void 0);break;case Ee:var h=this.data,f=function(t){return h[t].getItem().setCH(e).parseCH().get()};this.set(ye,f(ye)).set(ke,f(ke)).set(xe,f(xe)).set(Se,f(Se)).set(Le,f(Le))}return this},Ht.call(this,[["itemType",e],["ua",t],["uaCH",i],["rgxMap",n],["data",Qt(this,e)]]),this}function nn(e,t,n){if(typeof e===be?(Gt(e,!0)?(typeof t===be&&(n=t),t=e):(n=e,t=void 0),e=void 0):typeof e!==ve||Gt(t,!0)||(n=t,t=void 0),n&&typeof n.append===pe){var i={};n.forEach(function(e,t){i[t]=e}),n=i}if(!(this instanceof nn))return new nn(e,t,n).getResult();var o=typeof e===ve?e:n&&n[fe]?n[fe]:Rt&&Rt.userAgent?Rt.userAgent:we,r=new en(n,!0),a=t?function(e,t){var n={},i=t;if(!Gt(t))for(var o in i={},t)for(var r in t[o])i[r]=t[o][r].concat(i[r]?i[r]:[]);for(var a in e)n[a]=i[a]&&i[a].length%2==0?i[a].concat(e[a]):e[a];return n}(Kt,t):Kt,s=function(e){return e==Ee?function(){return new tn(e,o,a,r).set("ua",o).set(ye,this.getBrowser()).set(ke,this.getCPU()).set(xe,this.getDevice()).set(Se,this.getEngine()).set(Le,this.getOS()).get()}:function(){return new tn(e,o,a[e],r).parseUA().get()}};return Ht.call(this,[["getBrowser",s(ye)],["getCPU",s(ke)],["getDevice",s(xe)],["getEngine",s(Se)],["getOS",s(Le)],["getResult",s(Ee)],["getUA",function(){return o}],["setUA",function(e){return jt(e)&&(o=e.length>500?zt(e,500):e),this}]]).setUA(o),this}nn.VERSION="2.0.4",nn.BROWSER=Wt([Ce,Pe,Ie,_e]),nn.CPU=Wt([Ve]),nn.DEVICE=Wt([Me,Ae,_e,Re,Fe,Te,We,Ge,Oe]),nn.ENGINE=nn.OS=Wt([Ce,Pe]);const on=async()=>({...new nn(navigator.userAgent).getResult().os,device_type:rn()}),rn=()=>{const e=window.innerWidth;return e<=767?"mobile":e<=1024?"tablet":"desktop"},an=e=>{if(!e)return null;const t=e.toLowerCase();return t.includes("android")?"android":t.includes("iphone")||t.includes("ipad")||"ios"===t?"ios":t.includes("win")?"windows":t.includes("mac")||t.includes("macos")?"macos":t.includes("linux")?"linux":null},sn={ios:[/apple a\d+ gpu/i],macos:[/apple m\d+/i,/opengl engine/i],windows:[/angle.*direct3d/i],android:[/adreno|mali|powervr/i],linux:[/mesa|x11/i]},cn=(e,t,n,i)=>"ios"===i||"android"===i?n>768?"tablet":"mobile":"windows"===i||"macos"===i||"linux"===i?"desktop":t?n<600?"mobile":n<=1024?"tablet":!1===e?"desktop":"tablet":t?null:"desktop",dn=e=>parseFloat(e.toFixed(2)),ln=(e,t)=>{let n=1;const i=[],o={confidence:1,spoofingConfidence:0,isSpoofed:!1,detectionConflicts:[],realPlatform:null,realDeviceType:null},r=t.touchPoints>0,s=t.screen.width,c=an(e.platform),d=(l=t.webGL.renderer?.toLowerCase()||"",sn.ios.some(e=>e.test(l))?"ios":sn.macos.some(e=>e.test(l))?"macos":sn.windows.some(e=>e.test(l))?"windows":sn.android.some(e=>e.test(l))?"android":sn.linux.some(e=>e.test(l))||/NVIDIA|AMD|Intel/i.test(l)?"linux":null);var l;const u=an(t.actualPlatform),m=d||u;let h=c;c&&m&&c!==m?(n-=.3,i.push(`Claimed OS "${c}" disagrees with actual OS signal "${m}".`),h=m):c&&!m&&""!==e.platform?(n-=.2,i.push(`Actual OS signal "${t.actualPlatform}" is unrecognized.`),h=c):!c&&m&&(n-=.2,i.push(`Claimed OS signal "${e.platform}" is unrecognized.`),h=m);const f=(t.webGL.vendor||"").toLowerCase(),w=(t.webGL.renderer||"").toLowerCase();if(f&&"n/a"!==f&&"n/a (masked)"!==f){let e=!1,o=null;"android"===h&&(f.includes("apple")||w.includes("apple"))?(e=!0,o="ios"):"ios"!==h||f.includes("apple")||w.includes("apple")?"windows"===h&&(f.includes("apple")||w.includes("apple"))?(e=!0,o="macos"):"macos"!==h||f.includes("apple")||w.includes("apple")||f.includes("intel")||w.includes("intel")||f.includes("amd")||w.includes("amd")||w.includes("radeon")||(e=!0,o=f.includes("qualcomm")||f.includes("adreno")||f.includes("mali")||f.includes("powervr")||f.includes("arm")?"android":"windows"):(e=!0,o=f.includes("qualcomm")||f.includes("adreno")||f.includes("mali")||f.includes("powervr")||f.includes("arm")?"android":f.includes("intel")||w.includes("intel")||f.includes("nvidia")||w.includes("nvidia")||f.includes("amd")||w.includes("amd")||w.includes("radeon")?"windows":"android"),e&&(n-=.5,i.push(`OS "${h}" conflicts with GPU "${t.webGL.vendor} / ${t.webGL.renderer}". GPU suggests "${o||"unknown"}".`),o&&(h=o))}else t.webGL.error&&(n-=.1,i.push(`WebGL info unavailable (${t.webGL.error}).`));let p=null;const g=(b=e.guessedDeviceType)&&a.includes(b)?e.guessedDeviceType:null;var b;!0!==e.mobile||r?!1===e.mobile&&r?(n-=.15,i.push("Claimed mobile=false but touch points detected."),p=cn(e.mobile,r,s,h)):g&&(p=g):(n-=.3,i.push("Claimed mobile=true but no touch points detected."),p="desktop");"mobile"===p&&s>1024?(n-=.15,i.push(`Device type 'mobile', but screen width (${s}px) is large.`),p="tablet"):"desktop"===p&&s<768&&(n-=.15,i.push(`Preliminary type 'desktop', but screen width (${s}px) is small.`),p=r?"mobile":"desktop"),o.realPlatform=h||c;const v=cn(e.mobile,r,s,o.realPlatform);return p?v&&v!==p?(n-=.12,i.push(`Initial device type guess (${p}) adjusted to ${v} based on final signals.`),o.realDeviceType=v):o.realDeviceType=p:o.realDeviceType=v,o.realDeviceType||("ios"===o.realPlatform||"android"===o.realPlatform?o.realDeviceType=v||"mobile":o.realPlatform?o.realDeviceType=v||"desktop":o.realDeviceType=r?s>768?"tablet":"mobile":"desktop"),o.confidence=dn(Math.max(0,n)),o.spoofingConfidence=dn(1-o.confidence),o.isSpoofed=o.spoofingConfidence>.1,o.detectionConflicts=i,o},un=async()=>{const e={claimed:{platform:"",mobile:!1,brands:[],guessedDeviceType:null},signals:{actualPlatform:"",touchPoints:0,screen:{width:0,height:0,pixelRatio:1},webGL:{vendor:void 0,renderer:void 0,error:""},userAgentString:""},analysis:{confidence:1,spoofingConfidence:0,isSpoofed:!1,detectionConflicts:[],realPlatform:null,realDeviceType:null}},t=(()=>{const e={actualPlatform:navigator.userAgentData?.platform||navigator.platform,touchPoints:navigator.maxTouchPoints||0,screen:{width:screen.width,height:screen.height,pixelRatio:window.devicePixelRatio||1},webGL:{vendor:void 0,renderer:void 0,error:""},userAgentString:navigator.userAgent};try{const t=document.createElement("canvas"),n=t.getContext("webgl2")||t.getContext("webgl")||t.getContext("experimental-webgl");if(n&&"getParameter"in n){const t=n.getExtension("WEBGL_debug_renderer_info");t?(e.webGL.vendor=n.getParameter(t.UNMASKED_VENDOR_WEBGL)||"n/a",e.webGL.renderer=n.getParameter(t.UNMASKED_RENDERER_WEBGL)||"n/a"):(e.webGL.vendor=n.getParameter(n.VENDOR)||"n/a (masked)",e.webGL.renderer=n.getParameter(n.RENDERER)||"n/a (masked)",e.webGL.vendor&&"n/a (masked)"!==e.webGL.vendor||(e.webGL.error="Debug info extension unavailable or vendor masked"))}else e.webGL.error="WebGL context unavailable"}catch(t){console.error("Error getting WebGL data:",t),e.webGL.error=t instanceof Error?t.message:"Unknown WebGL error"}return e})();e.signals=t;const n=await(async e=>{const t={};try{if(navigator.userAgentData){const e=await navigator.userAgentData.getHighEntropyValues(["platform","platformVersion","architecture","model","uaFullVersion","brands","mobile"]);t.platform=e.platform,t.mobile=e.mobile??null,t.brands=e.brands||[],t.mobile?t.guessedDeviceType=screen.width>768?"tablet":"mobile":t.guessedDeviceType="desktop"}else{const n=e,i=n.toLowerCase();i.includes("android")?t.platform="Android":i.includes("iphone")||i.includes("ipad")?t.platform="iOS":i.includes("windows nt")?t.platform="Windows":i.includes("mac os x")||i.includes("macintosh")?t.platform="macOS":i.includes("linux")&&(t.platform="Linux");const o=(e=>{const t=e.toLowerCase();return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|hpwos|Opera M(obi|ini)/i.test(t)?"mobile":t.includes("windows nt")||t.includes("macintosh")||t.includes("x11")?"desktop":null})(n);t.guessedDeviceType=o,t.mobile="mobile"===o||"tablet"===o;const r=n.match(/(Apple|Samsung|Google|Microsoft|Sony|LG|HTC|Nokia|Motorola|Huawei|Xiaomi|Pixel|Firefox|Safari|Edge|Chrome)/i);if(r){const e=n.match(new RegExp(r[0]+"[ /]([\\d._]+)"));t.brands.push({brand:r[0],version:e?e[1]:"unknown"})}}}catch(e){console.error("Error getting User Agent Data:",e)}return t})(t.userAgentString);e.claimed=n;const i=ln(n,t);e.analysis=i;return{...e,deviceOs:i.realPlatform,deviceType:i.realDeviceType,tampering:i.isSpoofed?{status:!0,confidence:i.spoofingConfidence}:{status:!1}}};async function mn(){const{name:e,version:t}=me();return{name:e,version:t,user_agent:navigator.userAgent}}function hn(e,t,n){let i=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let i=0;i<e.length;i++)n.push(e[i].data[t]);i.push(fn(n))}const o=new Uint8ClampedArray(i);return new ImageData(o,t,n)}function fn(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}g("audio",async function(){return new Promise((e,t)=>{try{const t=44100,n=5e3,i=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),o=i.createBufferSource(),r=i.createAnalyser(),a=new Float32Array(r.frequencyBinCount);r.getFloatFrequencyData(a);const s=i.createOscillator();s.frequency.value=1e3;const c=i.createDynamicsCompressor();c.threshold.value=-50,c.knee.value=40,c.ratio.value=12,c.attack.value=0,c.release.value=.2,s.connect(c),c.connect(i.destination),s.start(),i.oncomplete=()=>{e({oscillator:s.type,maxChannels:i.destination.maxChannelCount,channelCountMode:o.channelCountMode,frequencyBinCount:r.frequencyBinCount})},i.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}})});const wn="SamsungBrowser"!==ue()?1:3;function pn(e,t){return new Promise(n=>setTimeout(n,e,t))}"Firefox"!=ue()&&g("canvas",function(){return new Promise(e=>{const t=Array.from({length:wn},()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=280,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const i="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(i,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(i,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const o=t.getImageData(0,0,e.width,e.height);return o}());e({commonImageDataHash:x(hn(t,280,20).data.toString()).toString()})})});const gn=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],bn=["monospace","sans-serif","serif"];function vn(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function yn(){const e=document.createElement("canvas"),t=e.getContext("webgl")??e.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString();let n={vendor:e,renderer:(t.getParameter(t.RENDERER)||"").toString(),version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};const i=t.getExtension("WEBGL_debug_renderer_info");if(i){const e=(t.getParameter(i.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(i.UNMASKED_RENDERER_WEBGL)||"").toString();e&&(n.vendorUnmasked=e),o&&(n.rendererUnmasked=o)}return n}catch(e){}return"undefined"}function kn(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function xn(e,t){const n={};return t.forEach(t=>{const i=function(e){if(0===e.length)return null;const t={};e.forEach(e=>{const n=String(e);t[n]=(t[n]||0)+1});let n=e[0],i=1;return Object.keys(t).forEach(e=>{t[e]>i&&(n=e,i=t[e])}),n}(e.map(e=>t in e?e[t]:void 0).filter(e=>void 0!==e));i&&(n[t]=i)}),n}let Sn;function Ln(e){return e.reduce((e,t)=>e+(t?1:0),0)}function En(){const e=window;return Ln(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===navigator.vendor.indexOf("Apple"),"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Cn(){const e=window;return t=e.print,/^function\s.*?\{\s*\[native code]\s*}$/.test(String(t))&&"[object WebPageNamespace]"===String(e.browser);var t}function _n(){const e=window;return Ln(["buildID"in navigator,"MozAppearance"in(document.documentElement?.style??{}),"onmozfullscreenchange"in e,"mozInnerScreenX"in e,"CSSMozDocumentRule"in e,"CanvasCaptureMediaStream"in e])>=4}function An(){const e=function(){const e=window,t=navigator;return Ln(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===(t.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}(),t=_n(),n=window,i=navigator;return e?Ln([!("SharedWorker"in n),!("sinkId"in new Audio)])>=2:!!t&&Ln(["onorientationchange"in n,"orientation"in n,/android/i.test(i.appVersion)])>=2}"Firefox"!=ue()&&g("fonts",function(){return new Promise((e,t)=>{try{!async function(e){for(;!document.body;)await pn(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const n=t.style;n.setProperty("position","fixed"),n.setProperty("display","block","important"),n.setProperty("visibility","visible"),n.setProperty("border","0"),n.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const i=t.contentDocument||t.contentWindow?.document;if(!i)throw new Error("Iframe document is not accessible");e({iframe:i}),setTimeout(()=>{document.body.removeChild(t)},0)}(async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),i=bn.map(e=>vn(n,e));let o={};gn.forEach(e=>{const t=vn(n,e);i.includes(t)||(o[e]=t)}),e(o)})}catch(e){t({error:"unsupported"})}})}),g("hardware",function(){return new Promise(e=>{const t=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:yn(),architecture:kn(),jsHeapSizeLimit:t.jsHeapSizeLimit||0})})}),g("locales",function(){return new Promise(e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})})}),g("permissions",async function(){Sn=w?.permissions_to_check||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","local-fonts","magnetometer","midi","nfc","notifications","payment-handler","persistent-storage","speaker","storage-access","top-level-storage-access","window-management","query"];const e=Array.from({length:w?.retries||3},()=>async function(){const e={};for(const t of Sn)try{const n=await navigator.permissions.query({name:t});e[t]=n.state.toString()}catch(e){}return e}());return Promise.all(e).then(e=>xn(e,Sn))}),g("screen",function(){return new Promise(e=>{e({colorDepth:screen.colorDepth})})}),g("screenResolution",async function(){return En()&&function(){const e=window,t=navigator,{CSS:n,HTMLButtonElement:i}=e;return Ln([!("getStorageUpdates"in t),i&&"popover"in i.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}()&&Cn()?[]:function(){const e=screen,t=e=>function(e,t){return"number"==typeof e&&isNaN(e)?t:e}(function(e){return parseInt(e)}(e),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}()});const Pn="SamsungBrowser"!==function(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,t=[/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i],n={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const i of t){const t=e.match(i);if(t&&t.groups){return{name:n[t.groups.name.toLowerCase()]||t.groups.name,version:t.groups.version}}}return{name:"unknown",version:"unknown"}}().name?1:3;let Vn,In=null;async function Mn(){"undefined"!=typeof document&&(Vn=document.createElement("canvas"),Vn.width=200,Vn.height=100,In=Vn.getContext("webgl"));try{if(!In)throw new Error("WebGL not supported");const e=Array.from({length:Pn},()=>function(){try{if(!In)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=In.createShader(In.VERTEX_SHADER),i=In.createShader(In.FRAGMENT_SHADER);if(!n||!i)throw new Error("Failed to create shaders");if(In.shaderSource(n,e),In.shaderSource(i,t),In.compileShader(n),!In.getShaderParameter(n,In.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+In.getShaderInfoLog(n));if(In.compileShader(i),!In.getShaderParameter(i,In.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+In.getShaderInfoLog(i));const o=In.createProgram();if(!o)throw new Error("Failed to create shader program");if(In.attachShader(o,n),In.attachShader(o,i),In.linkProgram(o),!In.getProgramParameter(o,In.LINK_STATUS))throw new Error("Shader program linking failed: "+In.getProgramInfoLog(o));In.useProgram(o);const r=137,a=new Float32Array(4*r),s=2*Math.PI/r;for(let e=0;e<r;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(Vn.width/2),a[4*e+3]=Math.sin(t)*(Vn.height/2)}const c=In.createBuffer();In.bindBuffer(In.ARRAY_BUFFER,c),In.bufferData(In.ARRAY_BUFFER,a,In.STATIC_DRAW);const d=In.getAttribLocation(o,"position");In.enableVertexAttribArray(d),In.vertexAttribPointer(d,2,In.FLOAT,!1,0,0),In.viewport(0,0,Vn.width,Vn.height),In.clearColor(0,0,0,1),In.clear(In.COLOR_BUFFER_BIT),In.drawArrays(In.LINES,0,2*r);const l=new Uint8ClampedArray(Vn.width*Vn.height*4);In.readPixels(0,0,Vn.width,Vn.height,In.RGBA,In.UNSIGNED_BYTE,l);return new ImageData(l,Vn.width,Vn.height)}catch(e){return new ImageData(1,1)}finally{In&&(In.bindBuffer(In.ARRAY_BUFFER,null),In.useProgram(null),In.viewport(0,0,In.drawingBufferWidth,In.drawingBufferHeight),In.clearColor(0,0,0,0))}}());return{commonImageHash:x(hn(e,Vn.width,Vn.height).data.toString()).toString()}}catch(e){return}}function Rn(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}g("webgl",async function({cache:e={}}={cache:{}}){const t=function(e){if(e.webgl)return e.webgl.context;const t=document.createElement("canvas");let n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(const e of["webgl","experimental-webgl"]){try{n=t.getContext(e)}catch{}if(n)break}return e.webgl={context:n},n}(e);if(!t)return{status:-1};if(!function(e){return"function"==typeof e.getParameter}(t))return{status:-2};const n=_n()?null:t.getExtension("WEBGL_debug_renderer_info"),i=await Mn();return{version:t.getParameter(t.VERSION)?.toString()||"",vendor:t.getParameter(t.VENDOR)?.toString()||"",vendorUnmasked:n?t.getParameter(n.UNMASKED_VENDOR_WEBGL)?.toString():"",renderer:t.getParameter(t.RENDERER)?.toString()||"",rendererUnmasked:n?t.getParameter(n.UNMASKED_RENDERER_WEBGL)?.toString():"",shadingLanguageVersion:t.getParameter(t.SHADING_LANGUAGE_VERSION)?.toString()||"",...i}}),g("plugins",function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise(t=>{t({plugins:e})})}),g("system",async function(){return new Promise(e=>{const t=me();e({platform:window.navigator.platform,cookieEnabled:window.navigator.cookieEnabled,productSub:navigator.productSub,product:navigator.product,browser:{name:t.name},applePayVersion:Rn()})})});const Fn=["π","π¨βπ©βπ§βπ¦","πΊπΈ","π","πΌ","π","π³οΈβπ","ππ½","β€οΈ","π€¦ββοΈ"],Wn=["Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji","EmojiOne","Twemoji Mozilla","sans-serif"];function Tn(e,t){try{const n=document.createElement("canvas"),i=20;n.width=i,n.height=i;const o=n.getContext("2d");return o?(o.fillStyle="white",o.fillRect(0,0,i,i),o.textBaseline="middle",o.textAlign="center",o.fillStyle="black",o.font=`16px "${t}"`,o.fillText(e,i/2,i/2),o.getImageData(0,0,i,i).data):null}catch(e){return null}}function Gn(e){const t=[];for(let n=0;n<e.length;n+=32)t.push(e[n],e[n+1],e[n+2]);return t}g("emojiFingerprint",async function(){return new Promise(e=>{try{const t={};let n=[];Fn.forEach((e,i)=>{for(const o of Wn){const r=Tn(e,o);if(r){const e=Gn(r);n=[...n,...e],t[`emoji_${i}`]=x(new Uint8Array(e).buffer).slice(0,16);break}}});e({emojiFingerprintHash:x(new Uint8Array(n).buffer),emojiDetails:t,uniqueEmojisRendered:Object.keys(t).length})}catch(t){e({emojiFingerprintHash:"unsupported",emojiDetails:{},uniqueEmojisRendered:0})}})});const jn=(e,t,n,i)=>{const o=(n-t)/i;let r=0;for(let n=0;n<i;n++){r+=e(t+(n+.5)*o)}return r*o};function On(e,t){return new Promise(n=>setTimeout(n,e,t))}function Dn(e){const[t,n]=function(e){const t=`Unexpected syntax '${e}'`,n=/^\s*([a-z-]*)(.*)$/i.exec(e),i=n[1]||void 0,o={},r=/([.:#][\w-]+|\[.+?\])/gi,a=(e,t)=>{o[e]=o[e]||[],o[e].push(t)};for(;;){const e=r.exec(n[2]);if(!e)break;const i=e[0];switch(i[0]){case".":a("class",i.slice(1));break;case"#":a("id",i.slice(1));break;case"[":{const e=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(i);if(!e)throw new Error(t);a(e[1],e[4]??e[5]??"");break}default:throw new Error(t)}}return[i,o]}(e),i=document.createElement(t??"div");for(const e of Object.keys(n)){const t=n[e].join(" ");"style"===e?Bn(i.style,t):i.setAttribute(e,t)}return i}function Bn(e,t){for(const n of t.split(";")){const t=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(t){const[,n,i,,o]=t;e.setProperty(n,i,o||"")}}}function Hn(e){return matchMedia(`(forced-colors: ${e})`).matches}g("math",async()=>({acos:Math.acos(.5),asin:jn(Math.asin,-1,1,97),atan:jn(Math.atan,-1,1,97),cos:jn(Math.cos,0,Math.PI,97),cosh:Math.cosh(9/7),e:Math.E,largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),log:Math.log(1e3),pi:Math.PI,sin:jn(Math.sin,-Math.PI,Math.PI,97),sinh:jn(Math.sinh,-9/7,7/9,97),sqrt:Math.sqrt(2),tan:jn(Math.tan,0,2*Math.PI,97),tanh:jn(Math.tanh,-9/7,7/9,97)}));function Nn(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}g("domBlockers",async function(){if(!En()&&!An())return;const e=function(){const e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("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:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}(),t=Object.keys(e),n=[].concat(...t.map(t=>e[t])),i=await async function(e){const t=document,n=t.createElement("div"),i=new Array(e.length),o={};Nn(n);for(let o=0;o<e.length;++o){const r=Dn(e[o]);"DIALOG"===r.tagName&&r.show();const a=t.createElement("div");Nn(a),a.appendChild(r),n.appendChild(a),i[o]=r}for(;!t.body;)await On(50);t.body.appendChild(n);try{for(let t=0;t<e.length;++t)i[t].offsetParent||(o[e[t]]=!0)}finally{n.parentNode?.removeChild(n)}return o}(n),o=t.filter(t=>{const n=e[t];return Ln(n.map(e=>i[e]))>.6*n.length});return o.sort(),o}),g("vendorFlavour",function(){const e=[];for(const t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){const n=window[t];n&&"object"==typeof n&&e.push(t)}const t=e.sort();if(t.length>0)return t;{const{name:e}=me();return[e]}}),g("monochrome",function(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=100;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}),g("forcedColors",function(){return!!Hn("active")||!Hn("none")&&void 0}),g("colorGamut",function(){for(const e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}),g("osCpu",function(){return navigator.oscpu}),g("audioLatency",function(){return An()||En()?window.AudioContext?(new AudioContext).baseLatency??-1:-1:-2});const Zn=async(e,t)=>{const[n,i,o,r,a,s,c]=await zn();return{request_id:e,device:{fingerprint_id:n.hash,type:"web",os:s.deviceOs,os_version:a.version,raw_device_data:n.data,browserDetails:c,bot:o,tampering:s.tampering,incognito:r,tor:i},sdk:{name:t?.name,version:t?.version}}};async function zn(){return await Promise.all([E(),_(),le(),P(),on(),un(),mn()])}const{getCount:Yn,addListener:Xn,removeListener:Un}=u();class Jn{constructor(e={}){this.isInitialized=!1,this.fields=[],this.trackedFieldIds=new Set,this.config={...Jn.DEFAULT_CONFIG,...e},Xn()}initializeTracking(e){e.filter(e=>!this.trackedFieldIds.has(e.id)).forEach(e=>this.trackField(e)),this.isInitialized=!0}get metrics(){return this.ensureInitialized(),this.fields.map(({element:e,...t})=>t)}removeTracking(e){e?this.removeFieldTracking(e):this.removeAllTracking()}trackField(e){const{id:t,ltm:n}=e,i=this.getValidElement(t),o=this.createFieldMetric(t,i,n);this.fields.push(o),this.trackedFieldIds.add(t);const r=this.createInputHandler(o);i.addEventListener("input",r)}getValidElement(e){const t=document.getElementById(e);if(!t)throw new r(`Element with ID "${e}" was not found in the DOM. Please ensure the ID is correctly assigned to an input element.`);if(!this.isValidInputElement(t))throw new r(`Element with ID "${e}" must be an HTMLInputElement or HTMLTextAreaElement.`);return t}isValidInputElement(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}createFieldMetric(e,t,n){return{field_name:e,started_at:0,ended_at:0,interaction_count:0,fill_method:null,paste_count:0,ltm:n??!1,corrections_count:0,pauses:0,pauseDurations:[],element:t}}createInputHandler(e){return t=>{this.handleInput(e,t)}}handleInput(e,t){const n=performance.now(),i=e.ended_at||0,o=this.analyzeInteraction(e,t,n,i);this.updateFieldMetrics(e,o,n)}analyzeInteraction(e,t,n,i){const o=this.determineFillMethod(e,t);return{fillMethod:o,isCorrection:this.isCorrection(t),isPaste:this.isPaste(o,t),isPause:this.isPause(n,i),pauseDuration:n-i}}updateFieldMetrics(e,t,n){e.started_at||(e.started_at=n),e.ended_at=n,e.fill_method=t.fillMethod,e.interaction_count+=1,t.isCorrection&&(e.corrections_count+=1),t.isPaste&&(e.paste_count+=1),t.isPause&&(e.pauses+=1,e.pauseDurations.push(t.pauseDuration))}determineFillMethod(e,t){const n=t.inputType;if(!n)return s.paste;const i="insertText"===n?s.typed:"insertFromPaste"===n?s.paste:s.mixed;return e.fill_method&&e.fill_method!==i?s.mixed:i}isCorrection(e){return"deleteContentBackward"===e.inputType}isPaste(e,t){return e===s.paste||"insertFromPaste"===t.inputType}isPause(e,t){if(0===t)return!1;return e-t>this.config.pauseThresholdMs}removeFieldTracking(e){const t=this.fields.findIndex(t=>t.field_name===e);if(-1===t)return;const n=this.fields[t];this.cleanupFieldTracking(n),this.fields.splice(t,1),this.trackedFieldIds.delete(e)}removeAllTracking(){this.fields.forEach(e=>this.cleanupFieldTracking(e)),this.fields.length=0,this.trackedFieldIds.clear()}cleanupFieldTracking(e){e.element.removeEventListener("input",this.createInputHandler(e))}ensureInitialized(){if(!this.isInitialized)throw new r("Ginger.trackEvent must be initialized before data can be fetched.")}}Jn.DEFAULT_CONFIG={pauseThresholdMs:1500};const qn=new Jn;e.GingerClientError=r,e.GingerError=o,e.GingerHttpClient=f,e.GingerJsClient=class{constructor({apikey:e}){this.requestId=t(),this.isInitialized=!1,this.getTrackedData=()=>{if(!this.isInitialized)throw new r("Unsuccessful Initialization. Cannot get tracked data.");if(!this.trackDetails)throw new r("Tracking not initiated. Call `trackEvent` before getting tracked data.");const e={distractions_count:Yn(),fields:qn.metrics};return{event_type:this.trackDetails.event_type,request_id:this.trackDetails.request_id,fingerprint_id:this.trackDetails.fingerprint_id,data:{...e}}},this.submitEvent=async()=>{const e=this.getTrackedData();console.log(e);try{const t=await this.httpClient.post({url:"/api/v1/events",payload:e});return Un(),t.data}catch(e){throw new r(`Tracked Data submission failed: ${String(e)}`)}},this.httpClient=new f(e)}async initialize(){try{const e={name:"@ginger-ai/ginger-js",version:"1.0.0"},t=await Zn(this.requestId,e),n=await this.httpClient.post({url:"/api/v1/devices",payload:t});return this.isInitialized=!0,this.deviceResponse=n.data,n}catch(e){throw this.isInitialized=!1,new r(`Initialization failed: ${e}`)}}trackEvent({event_type:e,track_fields:t,request_id:n}){if(!this.isInitialized)throw new r("Unsuccessful Initialization. Cannot track behaviour.");if(!c.includes(e))throw new r(`Invalid event type: ${e}. Allowed types are: ${c.join(", ")}`);var i;i=t,qn.initializeTracking(i),this.trackDetails={event_type:e,request_id:n,fingerprint_id:this.deviceResponse?.fingerprint_id||""}}},e.buildInitialPayload=Zn,e.fetchModules=zn,e.generateRequestId=t,e.pageVisibility=u});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GingerJS={})}(this,function(e){"use strict";const t=()=>{const e=Date.now(),t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".slice(0,34);return`${e}.${i(e,t)}`};function n(e,t){if(0===e)return"00000000";let n="";for(;e>0;){n=t[e%34]+n,e=Math.floor(e/34)}for(;n.length<8;)n="0"+n;return n.slice(-8)}const i=(e,t,o=1)=>{if(o>3)return n(e,t);const r=0x4bf63f8c5b100,a=function(e,t){let n=0;for(let i of e){let e=t.indexOf(i.toUpperCase());if(-1===e)throw new Error("Invalid base-34 character");n=34*n+e}return n}(n((e+function(e){const t=e;return Math.floor(Math.random()*t)}(r))%r,t),t);return i(a,t,o+1)};class o extends Error{constructor(e,t,n){super(e),this.name="GingerError",this.statusCode=t,this.response=n}}class r extends Error{constructor(e){super(e),this.name="GingerClientError"}}const a=["mobile","desktop","tablet"];var s;!function(e){e.typed="typed",e.paste="pasted",e.mixed="mixed"}(s||(s={}));const c=["login","registration","credentials_update","alerts_snooze"],d="https://app.getrayyan.com",l="https://sandbox.useginger.ai";const u=()=>{let e=0;const t=()=>{"hidden"===document.visibilityState&&e++};return{getCount:()=>e,addListener:()=>document.addEventListener("visibilitychange",t),removeListener:()=>document.removeEventListener("visibilitychange",t)}},m=async(e,t,n,i)=>{try{const r=await fetch(e,{method:n,headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(t)});r.ok||await(async e=>{const t=await e.json(),n=t?.error||t.message||"An error occurred";throw new o(n,e.status,e)})(r);return await r.json()}catch(e){throw e}};var h;!function(e){e.POST="POST"}(h||(h={}));class f{constructor(e){(e=>{if(!e)throw new r("'apikey' must be provided.")})(e),this.basePath=function(e){return e.includes("sk_live")||e.includes("pk_live")?d:l}(e),this.apikey=e}async post(e){const{url:t,payload:n,method:i=h.POST}=e,o=`${this.basePath}${t}`;try{return await m(o,n,i,this.apikey)}catch(e){throw e}}}let w={exclude:[],include:[],logging:!0};const p={},g=(e,t)=>{"undefined"!=typeof window&&(p[e]=t)},b={timeout:"true"};function v(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const y=new Uint32Array([597399067,2869860233,951274213,2716044179]);function k(e,t){return e<<t|e>>>32-t}function x(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const i=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,i=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=i.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],y[0]),n[0]=k(n[0],15),n[0]=Math.imul(n[0],y[1]),t[0]=t[0]^n[0],t[0]=k(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],y[1]),n[1]=k(n[1],16),n[1]=Math.imul(n[1],y[2]),t[1]=t[1]^n[1],t[1]=k(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],y[2]),n[2]=k(n[2],17),n[2]=Math.imul(n[2],y[3]),t[2]=t[2]^n[2],t[2]=k(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],y[3]),n[3]=k(n[3],18),n[3]=Math.imul(n[3],y[0]),t[3]=t[3]^n[3],t[3]=k(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,i),function(e,t){const n=e.byteLength/16|0,i=e.byteLength%16,o=new Uint32Array(4),r=new Uint8Array(e,16*n,i);switch(i){case 15:o[3]=o[3]^r[14]<<16;break;case 14:o[3]=o[3]^r[13]<<8;break;case 13:o[3]=o[3]^(0|r[12]),o[3]=Math.imul(o[3],y[3]),o[3]=k(o[3],18),o[3]=Math.imul(o[3],y[0]),t[3]=t[3]^o[3];break;case 12:o[2]=o[2]^r[11]<<24;break;case 11:o[2]=o[2]^r[10]<<16;break;case 10:o[2]=o[2]^r[9]<<8;break;case 9:o[2]=o[2]^(0|r[8]),o[2]=Math.imul(o[2],y[2]),o[2]=k(o[2],17),o[2]=Math.imul(o[2],y[3]),t[2]=t[2]^o[2];break;case 8:o[1]=o[1]^r[7]<<24;break;case 7:o[1]=o[1]^r[6]<<16;break;case 6:o[1]=o[1]^r[5]<<8;break;case 5:o[1]=o[1]^(0|r[4]),o[1]=Math.imul(o[1],y[1]),o[1]=k(o[1],16),o[1]=Math.imul(o[1],y[2]),t[1]=t[1]^o[1];break;case 4:o[0]=o[0]^r[3]<<24;break;case 3:o[0]=o[0]^r[2]<<16;break;case 2:o[0]=o[0]^r[1]<<8;break;case 1:o[0]=o[0]^(0|r[0]),o[0]=Math.imul(o[0],y[0]),o[0]=k(o[0],15),o[0]=Math.imul(o[0],y[1]),t[0]=t[0]^o[0]}}(e,i),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=v(t[0]),t[1]=v(t[1]),t[2]=v(t[2]),t[3]=v(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,i);const o=new Uint8Array(i.buffer);return Array.from(o).map(e=>e.toString(16).padStart(2,"0")).join("")}async function S(){try{const e=Object.fromEntries(Object.entries(p).filter(([e])=>!w?.exclude?.includes(e)).filter(([e])=>w?.include?.some(e=>e.includes("."))?w?.include?.some(t=>t.startsWith(e)):0===w?.include?.length||w?.include?.includes(e)).map(([e,t])=>[e,t()])),t=Object.keys(e),n=Object.values(e),i=await function(e,t,n){return Promise.all(e.map(e=>{return Promise.race([e,(i=t,o=n,new Promise(e=>{setTimeout(()=>e(o),i)}))]);var i,o}))}(n,w?.timeout||1e3,b),o={};return i.forEach((e,n)=>{void 0!==e&&(o[t[n]]=e)}),L(o,w.exclude||[],w.include||[],"")}catch(e){throw e}}function L(e,t,n,i=""){const o={};for(const[r,a]of Object.entries(e)){const e=i+r+".";if("object"!=typeof a||Array.isArray(a)){const i=t.some(t=>e.startsWith(t)),s=n.some(t=>e.startsWith(t));i&&!s||(o[r]=a)}else{const i=L(a,t,n,e);Object.keys(i).length>0&&(o[r]=i)}}return o}async function E(){try{const e=await S(),t=C(e),n=x(JSON.stringify(t)),i=function(e){const t=C(e);return Object.keys(t)}(t);return{hash:n.toString(),data:e,componentsUsedForHash:i}}catch(e){throw e}}function C(e){return{audio:e.audio,fonts:e.fonts,hardware:e.hardware,math:e.math,permissions:e.permissions,screen:e.screen,system:e.system,emojiFingerprint:e.emojiFingerprint,vendorFlavour:e.vendorFlavour,colorGamut:e.colorGamut,canvas:e.canvas,webglBasics:e.webGlBasics}}async function _(){let e=0;"Atlantic/Reykjavik"===Intl.DateTimeFormat().resolvedOptions().timeZone&&e++;const t=A();return["Mozilla","unknown"].includes(t.vendor)&&e++,window.RTCPeerConnection||e++,navigator.deviceMemory||e++,2===navigator.hardwareConcurrency&&e++,navigator.credentials||e++,navigator.geolocation||e++,{status:e>=6,confidence:`${(e/7).toFixed(2)}`}}const A=()=>{try{const e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return{vendor:"unsupported",renderer:"unsupported"};const n=t.getExtension("WEBGL_debug_renderer_info");return n?{vendor:t.getParameter(n.UNMASKED_VENDOR_WEBGL),renderer:t.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{vendor:"unknown",renderer:"unknown"}}catch{return{vendor:"error",renderer:"error"}}};async function P(){return new Promise(function(e,t){let n="unknown";function i(t){e({status:t,browser_name:n})}function o(){let e=0,t=parseInt("-1");try{t.toFixed(t)}catch(t){e=t.message.length}return e}function r(){return void 0!==navigator.msSaveBlob&&39===eval.toString().length}function a(){const e=String(Math.random());try{window.indexedDB.open(e,1).onupgradeneeded=function(t){const n=t.target?.result;try{n.createObjectStore("test",{autoIncrement:!0}).put(new Blob)}catch(e){let t=e;if(e instanceof Error&&(t=e.message??e),"string"!=typeof t)return void i(!1);t.includes("BlobURLs are not yet supported")&&i(!0)}finally{n.close(),window.indexedDB.deleteDatabase(e),navigator.storage?.estimate?navigator.storage.estimate().then(({quota:e})=>{i(!!(e&&e<2e9))}).catch(()=>{i(!1)}):i(!1)}}}catch(e){i(!1)}}function s(){void 0!==navigator.maxTouchPoints?a():function(){const e=window.openDatabase,t=window.localStorage;try{e(null,null,null,null)}catch(e){return void i(!0)}try{t.setItem("test","1"),t.removeItem("test")}catch(e){return void i(!0)}i(!1)}()}function c(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(e,t){i(Math.round(t/1048576)<2*Math.round(function(){const e=window;return void 0!==e.performance&&void 0!==e.performance.memory&&void 0!==e.performance.memory.jsHeapSizeLimit?performance.memory.jsHeapSizeLimit:1073741824}()/1048576))},function(e){t(new Error("detectIncognito somehow failed to query storage quota: "+e.message))})}function d(){void 0!==self.Promise&&void 0!==self.Promise.allSettled?c():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}44===o()?(n="Safari",s()):51===o()?(n=function(){const e=navigator.userAgent;return e.match(/Chrome/)?void 0!==navigator.brave?"Brave":e.match(/Edg/)?"Edge":e.match(/OPR/)?"Opera":"Chrome":"Chromium"}(),d()):25===o()?(n="Firefox",i(void 0===navigator.serviceWorker)):r()?(n="Internet Explorer",i(void 0===window.indexedDB)):t(new Error("detectIncognito cannot determine the browser"))})}var V=function(e,t){return V=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},V(e,t)};function I(e,t,n,i){return new(n||(n=Promise))(function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}c((i=i.apply(e,t||[])).next())})}function M(e,t){var n,i,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(r=0)),r;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function R(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var F="awesomium",W="cef",T="cefsharp",G="coachjs",j="electron",O="fminer",D="geb",B="nightmarejs",H="phantomas",N="phantomjs",Z="rhino",z="selenium",Y="sequentum",X="slimerjs",U="webdriverio",J="webdriver",q="headless_chrome",K="unknown",$=function(e){function t(n,i){var o=e.call(this,i)||this;return o.state=n,o.name="BotdError",Object.setPrototypeOf(o,t.prototype),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}V(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);function Q(e){return I(this,void 0,void 0,function(){var t,n,i=this;return M(this,function(o){switch(o.label){case 0:return t={},n=Object.keys(e),[4,Promise.all(n.map(function(n){return I(i,void 0,void 0,function(){var i,o,r,a,s;return M(this,function(c){switch(c.label){case 0:i=e[n],c.label=1;case 1:return c.trys.push([1,3,,4]),o=t,r=n,s={},[4,i()];case 2:return o[r]=(s.value=c.sent(),s.state=0,s),[3,4];case 3:return a=c.sent(),t[n]=a instanceof $?{state:a.state,error:"".concat(a.name,": ").concat(a.message)}:{state:-3,error:a instanceof Error?"".concat(a.name,": ").concat(a.message):String(a)},[3,4];case 4:return[2]}})})}))];case 1:return o.sent(),[2,t]}})})}function ee(e,t){return-1!==e.indexOf(t)}function te(e,t){return-1!==e.indexOf(t)}function ne(e){return Object.getOwnPropertyNames(e)}function ie(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=function(t){if("string"==typeof t){if(ee(e,t))return{value:!0}}else if(null!=function(e,t){if("find"in e)return e.find(t);for(var n=0;n<e.length;n++)if(t(e[n],n,e))return e[n]}(e,function(e){return t.test(e)}))return{value:!0}},o=0,r=t;o<r.length;o++){var a=i(r[o]);if("object"==typeof a)return a.value}return!1}function oe(e){return e.reduce(function(e,t){return e+(t?1:0)},0)}var re={detectAppVersion:function(e){var t=e.appVersion;return 0===t.state&&(/headless/i.test(t.value)?q:/electron/i.test(t.value)?j:/slimerjs/i.test(t.value)?X:void 0)},detectDocumentAttributes:function(e){var t=e.documentElementKeys;return 0===t.state&&(ie(t.value,"selenium","webdriver","driver")?z:void 0)},detectErrorTrace:function(e){var t=e.errorTrace;return 0===t.state&&(/PhantomJS/i.test(t.value)?N:void 0)},detectEvalLengthInconsistency:function(e){var t=e.evalLength,n=e.browserKind,i=e.browserEngineKind;if(0===t.state&&0===n.state&&0===i.state){var o=t.value;return"unknown"!==i.value&&(37===o&&!ee(["webkit","gecko"],i.value)||39===o&&!ee(["internet_explorer"],n.value)||33===o&&!ee(["chromium"],i.value))}},detectFunctionBind:function(e){if(-2===e.functionBind.state)return N},detectLanguagesLengthInconsistency:function(e){var t=e.languages;if(0===t.state&&0===t.value.length)return q},detectNotificationPermissions:function(e){var t=e.notificationPermissions,n=e.browserKind;return 0===n.state&&"chrome"===n.value&&(0===t.state&&t.value?q:void 0)},detectPluginsArray:function(e){var t=e.pluginsArray;if(0===t.state&&!t.value)return q},detectPluginsLengthInconsistency:function(e){var t=e.pluginsLength,n=e.android,i=e.browserKind,o=e.browserEngineKind;if(0===t.state&&0===n.state&&0===i.state&&0===o.state&&"chrome"===i.value&&!n.value&&"chromium"===o.value)return 0===t.value?q:void 0},detectProcess:function(e){var t,n=e.process;return 0===n.state&&("renderer"===n.value.type||null!=(null===(t=n.value.versions)||void 0===t?void 0:t.electron)?j:void 0)},detectUserAgent:function(e){var t=e.userAgent;return 0===t.state&&(/PhantomJS/i.test(t.value)?N:/Headless/i.test(t.value)?q:/Electron/i.test(t.value)?j:/slimerjs/i.test(t.value)?X:void 0)},detectWebDriver:function(e){var t=e.webDriver;if(0===t.state&&t.value)return q},detectWebGL:function(e){var t=e.webGL;if(0===t.state){var n=t.value,i=n.vendor,o=n.renderer;if("Brian Paul"==i&&"Mesa OffScreen"==o)return q}},detectWindowExternal:function(e){var t=e.windowExternal;return 0===t.state&&(/Sequentum/i.test(t.value)?Y:void 0)},detectWindowSize:function(e){var t=e.windowSize,n=e.documentFocus;if(0!==t.state||0!==n.state)return!1;var i=t.value,o=i.outerWidth,r=i.outerHeight;return n.value&&0===o&&0===r?q:void 0},detectMimeTypesConsistent:function(e){var t=e.mimeTypesConsistent;if(0===t.state&&!t.value)return K},detectProductSub:function(e){var t=e.productSub,n=e.browserKind;return 0===t.state&&0===n.state&&("chrome"!==n.value&&"safari"!==n.value&&"opera"!==n.value&&"wechat"!==n.value||"20030107"===t.value?void 0:K)},detectDistinctiveProperties:function(e){var t=e.distinctiveProps;if(0!==t.state)return!1;var n,i=t.value;for(n in i)if(i[n])return n}};function ae(){var e,t,n=window,i=navigator;return oe(["webkitPersistentStorage"in i,"webkitTemporaryStorage"in i,0===i.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in n,"BatteryManager"in n,"webkitMediaStream"in n,"webkitSpeechGrammar"in n])>=5?"chromium":oe(["ApplePayError"in n,"CSSPrimitiveValue"in n,"Counter"in n,0===i.vendor.indexOf("Apple"),"getStorageUpdates"in i,"WebKitMediaKeys"in n])>=4?"webkit":oe(["buildID"in navigator,"MozAppearance"in(null!==(t=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==t?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4?"gecko":"unknown"}var se={android:function(){var e=ae(),t="chromium"===e,n="gecko"===e;if(!t&&!n)return!1;var i=window;return oe(["onorientationchange"in i,"orientation"in i,t&&!("SharedWorker"in i),n&&/android/i.test(navigator.appVersion)])>=2},browserKind:function(){var e,t=null===(e=navigator.userAgent)||void 0===e?void 0:e.toLowerCase();return te(t,"edg/")?"edge":te(t,"trident")||te(t,"msie")?"internet_explorer":te(t,"wechat")?"wechat":te(t,"firefox")?"firefox":te(t,"opera")||te(t,"opr")?"opera":te(t,"chrome")?"chrome":te(t,"safari")?"safari":"unknown"},browserEngineKind:ae,documentFocus:function(){return void 0!==document.hasFocus&&document.hasFocus()},userAgent:function(){return navigator.userAgent},appVersion:function(){var e=navigator.appVersion;if(null==e)throw new $(-1,"navigator.appVersion is undefined");return e},rtt:function(){if(void 0===navigator.connection)throw new $(-1,"navigator.connection is undefined");if(void 0===navigator.connection.rtt)throw new $(-1,"navigator.connection.rtt is undefined");return navigator.connection.rtt},windowSize:function(){return{outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight}},pluginsLength:function(){if(void 0===navigator.plugins)throw new $(-1,"navigator.plugins is undefined");if(void 0===navigator.plugins.length)throw new $(-3,"navigator.plugins.length is undefined");return navigator.plugins.length},pluginsArray:function(){if(void 0===navigator.plugins)throw new $(-1,"navigator.plugins is undefined");if(void 0===window.PluginArray)throw new $(-1,"window.PluginArray is undefined");return navigator.plugins instanceof PluginArray},errorTrace:function(){try{null[0]()}catch(e){if(e instanceof Error&&null!=e.stack)return e.stack.toString()}throw new $(-3,"errorTrace signal unexpected behaviour")},productSub:function(){var e=navigator.productSub;if(void 0===e)throw new $(-1,"navigator.productSub is undefined");return e},windowExternal:function(){if(void 0===window.external)throw new $(-1,"window.external is undefined");var e=window.external;if("function"!=typeof e.toString)throw new $(-2,"window.external.toString is not a function");return e.toString()},mimeTypesConsistent:function(){if(void 0===navigator.mimeTypes)throw new $(-1,"navigator.mimeTypes is undefined");for(var e=navigator.mimeTypes,t=Object.getPrototypeOf(e)===MimeTypeArray.prototype,n=0;n<e.length;n++)t&&(t=Object.getPrototypeOf(e[n])===MimeType.prototype);return t},evalLength:function(){return eval.toString().length},webGL:function(){var e=document.createElement("canvas");if("function"!=typeof e.getContext)throw new $(-2,"HTMLCanvasElement.getContext is not a function");var t=e.getContext("webgl");if(null===t)throw new $(-4,"WebGLRenderingContext is null");if("function"!=typeof t.getParameter)throw new $(-2,"WebGLRenderingContext.getParameter is not a function");return{vendor:t.getParameter(t.VENDOR),renderer:t.getParameter(t.RENDERER)}},webDriver:function(){if(null==navigator.webdriver)throw new $(-1,"navigator.webdriver is undefined");return navigator.webdriver},languages:function(){var e,t=navigator,n=[],i=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==i&&n.push([i]),Array.isArray(t.languages))"chromium"===ae()&&oe([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||n.push(t.languages);else if("string"==typeof t.languages){var o=t.languages;o&&n.push(o.split(","))}return n},notificationPermissions:function(){return I(this,void 0,void 0,function(){var e,t;return M(this,function(n){switch(n.label){case 0:if(void 0===window.Notification)throw new $(-1,"window.Notification is undefined");if(void 0===navigator.permissions)throw new $(-1,"navigator.permissions is undefined");if("function"!=typeof(e=navigator.permissions).query)throw new $(-2,"navigator.permissions.query is not a function");n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e.query({name:"notifications"})];case 2:return t=n.sent(),[2,"denied"===window.Notification.permission&&"prompt"===t.state];case 3:throw n.sent(),new $(-3,"notificationPermissions signal unexpected behaviour");case 4:return[2]}})})},documentElementKeys:function(){if(void 0===document.documentElement)throw new $(-1,"document.documentElement is undefined");var e=document.documentElement;if("function"!=typeof e.getAttributeNames)throw new $(-2,"document.documentElement.getAttributeNames is not a function");return e.getAttributeNames()},functionBind:function(){if(void 0===Function.prototype.bind)throw new $(-2,"Function.prototype.bind is undefined");return Function.prototype.bind.toString()},process:function(){var e=window.process,t="window.process is";if(void 0===e)throw new $(-1,"".concat(t," undefined"));if(e&&"object"!=typeof e)throw new $(-3,"".concat(t," not an object"));return e},distinctiveProps:function(){var e,t,n=((e={})[F]={window:["awesomium"]},e[W]={window:["RunPerfTest"]},e[T]={window:["CefSharp"]},e[G]={window:["emit"]},e[O]={window:["fmget_targets"]},e[D]={window:["geb"]},e[B]={window:["__nightmare","nightmare"]},e[H]={window:["__phantomas"]},e[N]={window:["callPhantom","_phantom"]},e[Z]={window:["spawn"]},e[z]={window:["_Selenium_IDE_Recorder","_selenium","calledSelenium",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/],document:["__selenium_evaluate","selenium-evaluate","__selenium_unwrapped"]},e[U]={window:["wdioElectron"]},e[J]={window:["webdriver","__webdriverFunc","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw"],document:["__webdriver_script_fn","__driver_evaluate","__webdriver_evaluate","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__fxdriver_unwrapped","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","$cdc_asdjflasutopfhvcZLmcf","$cdc_asdjflasutopfhvcZLmcfl_","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor"]},e[q]={window:["domAutomation","domAutomationController"]},e),i={},o=ne(window),r=[];for(t in void 0!==window.document&&(r=ne(window.document)),n){var a=n[t];if(void 0!==a){var s=void 0!==a.window&&ie.apply(void 0,R([o],a.window,!1)),c=!(void 0===a.document||!r.length)&&ie.apply(void 0,R([r],a.document,!1));i[t]=s||c}}return i}},ce=function(){function e(){this.components=void 0,this.detections=void 0}return e.prototype.getComponents=function(){return this.components},e.prototype.getDetections=function(){return this.detections},e.prototype.detect=function(){if(void 0===this.components)throw new Error("BotDetector.detect can't be called before BotDetector.collect");var e=function(e,t){var n={},i={bot:!1};for(var o in t){var r=(0,t[o])(e),a={bot:!1};"string"==typeof r?a={bot:!0,botKind:r}:r&&(a={bot:!0,botKind:K}),n[o]=a,a.bot&&(i=a)}return[n,i]}(this.components,re),t=e[0],n=e[1];return this.detections=t,n},e.prototype.collect=function(){return I(this,void 0,void 0,function(){var e;return M(this,function(t){switch(t.label){case 0:return e=this,[4,Q(se)];case 1:return e.components=t.sent(),[2,this.components]}})})},e}();function de(e){var t=(void 0===e?{}:e).monitoring,n=void 0===t||t;return I(this,void 0,void 0,function(){var e;return M(this,function(t){switch(t.label){case 0:return n&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var e=new XMLHttpRequest;e.open("get","https://m1.openfpcdn.io/botd/v".concat("1.9.1","/npm-monitoring"),!0),e.send()}catch(e){console.error(e)}}(),[4,(e=new ce).collect()];case 1:return t.sent(),[2,e]}})})}async function le(){try{const e=(await de()).detect();return e.bot?{status:!0,botKind:e.botKind}:{status:!1}}catch(e){return console.error(e),null}}function ue(){return me().name}function me(){const e={name:"Unknown",version:"Unknown",confidence:0,engine:"Unknown"},t=[],n=navigator.userAgent.toLowerCase();-1===n.indexOf("edg/")&&-1===n.indexOf("edge/")||t.push({name:"Edge",confidence:75});if(function(e,t){44===t.toFixedErrorLength?e.push({name:"Safari",confidence:40}):51===t.toFixedErrorLength?e.push({name:"Chrome",confidence:30}):25===t.toFixedErrorLength&&e.push({name:"Firefox",confidence:30});t.functionToStringLength>30&&t.functionToStringLength<40?e.push({name:"Firefox",confidence:10}):t.functionToStringLength>40&&e.push({name:"Chrome",confidence:15})}(t,function(){let e=0;try{const e=parseInt("-1");e.toFixed(e)}catch(t){e=t.message.length}let t=0;try{t=Function.prototype.toString.call(Function).length}catch(e){}return{toFixedErrorLength:e,functionToStringLength:t}}()),function(e){navigator.brave&&"function"==typeof navigator.brave.isBrave&&e.push({name:"Brave",confidence:90});if(void 0!==window.chrome&&window.chrome.app&&window.chrome.runtime){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")?void 0===navigator.brave&&e.push({name:"Chrome",confidence:40}):e.push({name:"Edge",confidence:40})}!(window.chrome&&window.chrome.csi&&window.chrome.loadTimes)||window.opr||window.opera||navigator.brave&&"function"==typeof navigator.brave.isBrave||e.push({name:"Chrome",confidence:60});void 0===window.InstallTrigger&&void 0===window.sidebar||e.push({name:"Firefox",confidence:70});(/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!(void 0===window.safari)&&window.safari.pushNotification).toString())&&e.push({name:"Safari",confidence:70});(window.msCredentials||document.documentMode)&&e.push({name:"Edge",confidence:60});(window.opr||window.opera)&&e.push({name:"Opera",confidence:60})}(t),function(e){if("function"==typeof navigator.registerProtocolHandler)try{if("chrome"in window){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:25})}("ms-access"in navigator||"ms-browser-extension"in navigator||"ms-calculator"in navigator||"ms-drive-to"in navigator||"ms-excel"in navigator||"ms-gamebarservices"in navigator||"ms-search"in navigator||"ms-word"in navigator)&&e.push({name:"Edge",confidence:80}),("opr:"in navigator.plugins||"opera:"in navigator.plugins)&&e.push({name:"Opera",confidence:25})}catch(e){}}(t),function(e){const t=window.getComputedStyle(document.documentElement);""===t.getPropertyValue("--apple-trailing-word")&&""===t.getPropertyValue("-webkit-app-region")||e.push({name:"Safari",confidence:20});""===t.getPropertyValue("-moz-context-properties")&&""===t.getPropertyValue("-moz-user-focus")||e.push({name:"Firefox",confidence:20});""===t.getPropertyValue("-ms-ime-align")&&""===t.getPropertyValue("-ms-flow-from")||e.push({name:"Edge",confidence:60})}(t),function(e){if(performance.memory&&performance.memory.jsHeapSizeLimit){if(performance.memory.jsHeapSizeLimit>2e9){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:20})}}if(void 0!==window.chrome&&"function"==typeof window.chrome.loadTimes)try{const t=window.chrome.loadTimes();t&&"number"==typeof t.firstPaintTime&&"number"==typeof t.requestTime&&e.push({name:"Chrome",confidence:30})}catch(e){}}(t),function(e){try{throw new Error}catch(t){if(t.stack&&t.stack.indexOf("()@")>=0&&e.push({name:"Firefox",confidence:15}),t.stack&&t.stack.indexOf("at new")>=0){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")&&e.push({name:"Chrome",confidence:20})}t.stack&&-1===t.stack.indexOf("@")&&-1===t.stack.indexOf("at ")&&e.push({name:"Safari",confidence:15})}if(document.createElement("canvas").toDataURL().length>15&&void 0===navigator.brave&&void 0!==window.chrome){const t=new Image;let n=0;t.onload=()=>{n++,0===n&&e.push({name:"Brave",confidence:20})},t.onerror=()=>{e.push({name:"Brave",confidence:10})},t.src="https://www.facebook.com/tr?id=1234567890&ev=PageView"}try{!!window.__JQUERY_OBJECT__&&e.push({name:"Chrome",confidence:15})}catch(e){}-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&-1===navigator.userAgent.indexOf("Brave")&&void 0!==window.chrome&&window.chrome.runtime&&e.push({name:"Chrome",confidence:35})}(t),function(e){const t=navigator.userAgent.toLowerCase();-1===t.indexOf("edg/")&&-1===t.indexOf("edge/")||e.push({name:"Edge",confidence:80});try{CSS.supports("-ms-ime-align","auto")&&e.push({name:"Edge",confidence:70})}catch(e){}try{"function"==typeof navigator.msLaunchUri&&e.push({name:"Edge",confidence:85}),void 0!==window.MSInputMethodContext&&e.push({name:"Edge",confidence:80}),(document.documentMode||/edge/i.test(navigator.userAgent))&&e.push({name:"Edge",confidence:75}),void 0!==window.chrome&&window.chrome.runtime&&!window.chrome.webstore&&e.push({name:"Edge",confidence:60})}catch(e){}try{const t=document.createElement("canvas"),n=t.getContext("2d");if(n){t.width=200,t.height=50,n.font="20px Arial",n.textBaseline="top",n.fillText("EdgeBrowserTest",0,0);const i=n.getImageData(0,0,t.width,t.height).data;let o=0;for(let e=0;e<400;e+=4)o=(o<<5)-o+i[e];o<0&&e.push({name:"Edge",confidence:50})}}catch(e){}}(t),function(e){-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&void 0!==window.chrome&&window.chrome.runtime&&"function"==typeof window.chrome.loadTimes&&"function"==typeof window.chrome.csi&&void 0===navigator.brave&&e.push({name:"Chrome",confidence:75});try{Array.from(navigator.plugins).some(e=>"Chrome PDF Viewer"===e.name)&&-1!==navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Edg")&&e.push({name:"Chrome",confidence:60})}catch(e){}try{const t=navigator.userAgent.match(/Chrome\/([0-9.]+)/);if(t){const n=t[1];-1!==navigator.appVersion.indexOf(n)&&-1===navigator.userAgent.indexOf("Edg")&&-1===navigator.userAgent.indexOf("OPR")&&e.push({name:"Chrome",confidence:30})}}catch(e){}}(t),function(e){try{if(navigator.brave)return void e.push({name:"Brave",confidence:95});const t=navigator.userAgent;if(t.includes("Brave")||t.includes("brave"))return void e.push({name:"Brave",confidence:90});if(void 0!==window.chrome&&window.chrome.runtime&&!window.google){!("google"in window)&&!window.chrome.webstore&&void 0!==navigator.brave&&e.push({name:"Brave",confidence:60})}}catch(e){}}(t),t.length>0){const n=t.reduce((e,t)=>(e[t.name]=(e[t.name]||0)+t.confidence,e),{});let i=0,o="Unknown";for(const[e,t]of Object.entries(n))t>i&&(i=t,o=e);"Chrome"===o&&function(){try{const e=navigator.userAgent.toLowerCase();if(-1!==e.indexOf("edg/")||-1!==e.indexOf("edge/"))return!0;if(window.msCredentials||document.documentMode||void 0!==window.MSInputMethodContext||"function"==typeof navigator.msLaunchUri)return!0;if(void 0!==window.chrome&&window.chrome.runtime&&!window.chrome.webstore&&!window.opr&&!window.opera)try{const e=Array.from(navigator.plugins).some(e=>"Chrome PDF Viewer"===e.name),t=Array.from(navigator.plugins).some(e=>-1!==e.name.indexOf("Edge"));if(!e||t)return!0}catch(e){}return!1}catch(e){return!1}}()&&(o="Edge"),e.name=o,e.confidence=Math.min(100,i),["Chrome","Edge","Opera","Brave"].includes(o)?e.engine="Blink":"Firefox"===o?e.engine="Gecko":"Safari"===o&&(e.engine="WebKit"),e.version=function(e){const t=navigator.userAgent;let n="Unknown";try{if("Chrome"===e){const e=t.match(/Chrome\/([0-9.]+)/);e&&(n=e[1])}else if("Firefox"===e){const e=t.match(/Firefox\/([0-9.]+)/);e&&(n=e[1])}else if("Safari"===e){const e=t.match(/Version\/([0-9.]+)/);e&&(n=e[1])}else if("Edge"===e){const e=t.match(/Edg(?:e)?\/([0-9.]+)/);e&&(n=e[1])}else if("Opera"===e){const e=t.match(/OPR\/([0-9.]+)/);e&&(n=e[1])}else if("Brave"===e)if(navigator.brave&&navigator.brave.version)n=navigator.brave.version;else{const e=t.match(/Brave\/([0-9.]+)/);if(e)n=e[1];else{const e=t.match(/Chrome\/([0-9.]+)/);e&&(n=e[1])}if(void 0!==navigator.brave)try{navigator.brave.isBrave().then(e=>{})}catch(e){}}}catch(e){}return n}(o)}return e}var he,fe="user-agent",we="",pe="function",ge="undefined",be="object",ve="string",ye="browser",ke="cpu",xe="device",Se="engine",Le="os",Ee="result",Ce="name",_e="type",Ae="vendor",Pe="version",Ve="architecture",Ie="major",Me="model",Re="console",Fe="mobile",We="tablet",Te="smarttv",Ge="wearable",je="xr",Oe="embedded",De="inapp",Be="brands",He="formFactors",Ne="fullVersionList",Ze="platform",ze="platformVersion",Ye="bitness",Xe="sec-ch-ua",Ue=Xe+"-full-version-list",Je=Xe+"-arch",qe=Xe+"-"+Ye,Ke=Xe+"-form-factors",$e=Xe+"-"+Fe,Qe=Xe+"-"+Me,et=Xe+"-"+Ze,tt=et+"-version",nt=[Be,Ne,Fe,Me,Ze,ze,Ve,He,Ye],it="Amazon",ot="Apple",rt="ASUS",at="BlackBerry",st="Google",ct="Huawei",dt="Lenovo",lt="Honor",ut="LG",mt="Microsoft",ht="Motorola",ft="Nvidia",wt="OnePlus",pt="OPPO",gt="Samsung",bt="Sharp",vt="Sony",yt="Xiaomi",kt="Zebra",xt="Chrome",St="Chromium",Lt="Chromecast",Et="Edge",Ct="Firefox",_t="Opera",At="Facebook",Pt="Sogou",Vt="Mobile ",It=" Browser",Mt="Windows",Rt=typeof window!==ge&&window.navigator?window.navigator:void 0,Ft=Rt&&Rt.userAgentData?Rt.userAgentData:void 0,Wt=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},Tt=function(e,t){if(typeof e===be&&e.length>0){for(var n in e)if(Dt(t)==Dt(e[n]))return!0;return!1}return!!jt(e)&&Dt(t)==Dt(e)},Gt=function(e,t){for(var n in e)return/^(browser|cpu|device|engine|os)$/.test(n)||!!t&&Gt(e[n])},jt=function(e){return typeof e===ve},Ot=function(e){if(e){for(var t=[],n=Nt(/\\?\"/g,e).split(","),i=0;i<n.length;i++)if(n[i].indexOf(";")>-1){var o=zt(n[i]).split(";v=");t[i]={brand:o[0],version:o[1]}}else t[i]=zt(n[i]);return t}},Dt=function(e){return jt(e)?e.toLowerCase():e},Bt=function(e){return jt(e)?Nt(/[^\d\.]/g,e).split(".")[0]:void 0},Ht=function(e){for(var t in e){var n=e[t];typeof n==be&&2==n.length?this[n[0]]=n[1]:this[n]=void 0}return this},Nt=function(e,t){return jt(t)?t.replace(e,we):t},Zt=function(e){return Nt(/\\?\"/g,e)},zt=function(e,t){if(jt(e))return e=Nt(/^\s\s*/,e),typeof t===ge?e:e.substring(0,500)},Yt=function(e,t){if(e&&t)for(var n,i,o,r,a,s,c=0;c<t.length&&!a;){var d=t[c],l=t[c+1];for(n=i=0;n<d.length&&!a&&d[n];)if(a=d[n++].exec(e))for(o=0;o<l.length;o++)s=a[++i],typeof(r=l[o])===be&&r.length>0?2===r.length?typeof r[1]==pe?this[r[0]]=r[1].call(this,s):this[r[0]]=r[1]:r.length>=3&&(typeof r[1]!==pe||r[1].exec&&r[1].test?3==r.length?this[r[0]]=s?s.replace(r[1],r[2]):void 0:4==r.length?this[r[0]]=s?r[3].call(this,s.replace(r[1],r[2])):void 0:r.length>4&&(this[r[0]]=s?r[3].apply(this,[s.replace(r[1],r[2])].concat(r.slice(4))):void 0):r.length>3?this[r[0]]=s?r[1].apply(this,r.slice(2)):void 0:this[r[0]]=s?r[1].call(this,s,r[2]):void 0):this[r]=s||void 0;c+=2}},Xt=function(e,t){for(var n in t)if(typeof t[n]===be&&t[n].length>0){for(var i=0;i<t[n].length;i++)if(Tt(t[n][i],e))return"?"===n?void 0:n}else if(Tt(t[n],e))return"?"===n?void 0:n;return t.hasOwnProperty("*")?t["*"]:e},Ut={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Jt={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},qt={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Kt={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[Pe,[Ce,Vt+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[Pe,[Ce,Et+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[Pe,[Ce,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[Ce,Pe],[/opios[\/ ]+([\w\.]+)/i],[Pe,[Ce,_t+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[Pe,[Ce,_t+" GX"]],[/\bopr\/([\w\.]+)/i],[Pe,[Ce,_t]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[Pe,[Ce,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[Pe,[Ce,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[Ce,Pe],[/quark(?:pc)?\/([-\w\.]+)/i],[Pe,[Ce,"Quark"]],[/\bddg\/([\w\.]+)/i],[Pe,[Ce,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[Pe,[Ce,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[Pe,[Ce,"WeChat"]],[/konqueror\/([\w\.]+)/i],[Pe,[Ce,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[Pe,[Ce,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[Pe,[Ce,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[Pe,[Ce,"Smart "+dt+It]],[/(avast|avg)\/([\w\.]+)/i],[[Ce,/(.+)/,"$1 Secure"+It],Pe],[/\bfocus\/([\w\.]+)/i],[Pe,[Ce,Ct+" Focus"]],[/\bopt\/([\w\.]+)/i],[Pe,[Ce,_t+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[Pe,[Ce,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[Pe,[Ce,"Dolphin"]],[/coast\/([\w\.]+)/i],[Pe,[Ce,_t+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[Pe,[Ce,"MIUI"+It]],[/fxios\/([\w\.-]+)/i],[Pe,[Ce,Vt+Ct]],[/\bqihoobrowser\/?([\w\.]*)/i],[Pe,[Ce,"360"]],[/\b(qq)\/([\w\.]+)/i],[[Ce,/(.+)/,"$1Browser"],Pe],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[Ce,/(.+)/,"$1"+It],Pe],[/samsungbrowser\/([\w\.]+)/i],[Pe,[Ce,gt+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[Pe,[Ce,Pt+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[Ce,Pt+" Mobile"],Pe],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[Ce,Pe],[/(lbbrowser|rekonq)/i],[Ce],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[Pe,Ce],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[Ce,At],Pe,[_e,De]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[Ce,Pe,[_e,De]],[/\bgsa\/([\w\.]+) .*safari\//i],[Pe,[Ce,"GSA"],[_e,De]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[Pe,[Ce,"TikTok"],[_e,De]],[/\[(linkedin)app\]/i],[Ce,[_e,De]],[/(chromium)[\/ ]([-\w\.]+)/i],[Ce,Pe],[/headlesschrome(?:\/([\w\.]+)| )/i],[Pe,[Ce,xt+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[Pe,[Ce,Et+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[Ce,xt+" WebView"],Pe],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[Pe,[Ce,"Android"+It]],[/chrome\/([\w\.]+) mobile/i],[Pe,[Ce,Vt+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[Ce,Pe],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[Pe,[Ce,Vt+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[Ce,Vt+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[Pe,Ce],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[Ce,[Pe,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[Ce,Pe],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[Ce,Vt+Ct],Pe],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[Ce,"Netscape"],Pe],[/(wolvic|librewolf)\/([\w\.]+)/i],[Ce,Pe],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[Pe,[Ce,Ct+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[Ce,[Pe,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[Ce,[Pe,/[^\d\.]+./,we]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[Ve,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[Ve,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[Ve,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[Ve,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[Ve,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[Ve,/ower/,we,Dt]],[/ sun4\w[;\)]/i],[[Ve,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[Ve,Dt]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[Me,[Ae,gt],[_e,We]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[Me,[Ae,gt],[_e,Fe]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[Me,[Ae,ot],[_e,Fe]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[Me,[Ae,ot],[_e,We]],[/(macintosh);/i],[Me,[Ae,ot]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[Me,[Ae,bt],[_e,Fe]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[Me,[Ae,lt],[_e,We]],[/honor([-\w ]+)[;\)]/i],[Me,[Ae,lt],[_e,Fe]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[Me,[Ae,ct],[_e,We]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[Me,[Ae,ct],[_e,Fe]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[Me,/_/g," "],[Ae,yt],[_e,We]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[Me,/_/g," "],[Ae,yt],[_e,Fe]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[Me,[Ae,wt],[_e,Fe]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[Me,[Ae,pt],[_e,Fe]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[Me,[Ae,Xt,{OnePlus:["203","304","403","404","413","415"],"*":pt}],[_e,We]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[Me,[Ae,"BLU"],[_e,Fe]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[Me,[Ae,"Vivo"],[_e,Fe]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[Me,[Ae,"Realme"],[_e,Fe]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[Me,[Ae,dt],[_e,We]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[Me,[Ae,dt],[_e,Fe]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[Me,[Ae,ht],[_e,Fe]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[Me,[Ae,ht],[_e,We]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[Me,[Ae,ut],[_e,We]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[Me,[Ae,ut],[_e,Fe]],[/(nokia) (t[12][01])/i],[Ae,Me,[_e,We]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[Me,/_/g," "],[_e,Fe],[Ae,"Nokia"]],[/(pixel (c|tablet))\b/i],[Me,[Ae,st],[_e,We]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[Me,[Ae,st],[_e,Fe]],[/(google) (pixelbook( go)?)/i],[Ae,Me],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[Me,[Ae,vt],[_e,Fe]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[Me,"Xperia Tablet"],[Ae,vt],[_e,We]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[Me,[Ae,it],[_e,We]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[Me,/(.+)/g,"Fire Phone $1"],[Ae,it],[_e,Fe]],[/(playbook);[-\w\),; ]+(rim)/i],[Me,Ae,[_e,We]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[Me,[Ae,at],[_e,Fe]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[Me,[Ae,rt],[_e,We]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[Me,[Ae,rt],[_e,Fe]],[/(nexus 9)/i],[Me,[Ae,"HTC"],[_e,We]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[Ae,[Me,/_/g," "],[_e,Fe]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[Me,[Ae,"TCL"],[_e,We]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[Me,[Ae,"TCL"],[_e,Fe]],[/(itel) ((\w+))/i],[[Ae,Dt],Me,[_e,Xt,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[Me,[Ae,"Acer"],[_e,We]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[Me,[Ae,"Meizu"],[_e,Fe]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[Me,[Ae,"Ulefone"],[_e,Fe]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[Me,[Ae,"Energizer"],[_e,Fe]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[Me,[Ae,"Cat"],[_e,Fe]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[Me,[Ae,"Smartfren"],[_e,Fe]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[Me,[Ae,"Nothing"],[_e,Fe]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[Me,[Ae,"Archos"],[_e,We]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[Me,[Ae,"Archos"],[_e,Fe]],[/; (n159v)/i],[Me,[Ae,"HMD"],[_e,Fe]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[Ae,Me,[_e,We]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[Ae,Me,[_e,Fe]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[Ae,Me,[_e,We]],[/(surface duo)/i],[Me,[Ae,mt],[_e,We]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[Me,[Ae,"Fairphone"],[_e,Fe]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[Me,[Ae,ft],[_e,We]],[/(sprint) (\w+)/i],[Ae,Me,[_e,Fe]],[/(kin\.[onetw]{3})/i],[[Me,/\./g," "],[Ae,mt],[_e,Fe]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[Me,[Ae,kt],[_e,We]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[Me,[Ae,kt],[_e,Fe]],[/smart-tv.+(samsung)/i],[Ae,[_e,Te]],[/hbbtv.+maple;(\d+)/i],[[Me,/^/,"SmartTV"],[Ae,gt],[_e,Te]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[Ae,Me,[_e,Te]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[Ae,ut],[_e,Te]],[/(apple) ?tv/i],[Ae,[Me,ot+" TV"],[_e,Te]],[/crkey.*devicetype\/chromecast/i],[[Me,Lt+" Third Generation"],[Ae,st],[_e,Te]],[/crkey.*devicetype\/([^/]*)/i],[[Me,/^/,"Chromecast "],[Ae,st],[_e,Te]],[/fuchsia.*crkey/i],[[Me,Lt+" Nest Hub"],[Ae,st],[_e,Te]],[/crkey/i],[[Me,Lt],[Ae,st],[_e,Te]],[/(portaltv)/i],[Me,[Ae,At],[_e,Te]],[/droid.+aft(\w+)( bui|\))/i],[Me,[Ae,it],[_e,Te]],[/(shield \w+ tv)/i],[Me,[Ae,ft],[_e,Te]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[Me,[Ae,bt],[_e,Te]],[/(bravia[\w ]+)( bui|\))/i],[Me,[Ae,vt],[_e,Te]],[/(mi(tv|box)-?\w+) bui/i],[Me,[Ae,yt],[_e,Te]],[/Hbbtv.*(technisat) (.*);/i],[Ae,Me,[_e,Te]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[Ae,/.+\/(\w+)/,"$1",Xt,{LG:"lge"}],[Me,zt],[_e,Te]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[Me,[_e,Te]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[_e,Te]],[/(playstation \w+)/i],[Me,[Ae,vt],[_e,Re]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[Me,[Ae,mt],[_e,Re]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[Ae,Me,[_e,Re]],[/droid.+; (shield)( bui|\))/i],[Me,[Ae,ft],[_e,Re]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[Me,[Ae,gt],[_e,Ge]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[Ae,Me,[_e,Ge]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[Me,[Ae,pt],[_e,Ge]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[Me,[Ae,ot],[_e,Ge]],[/(opwwe\d{3})/i],[Me,[Ae,wt],[_e,Ge]],[/(moto 360)/i],[Me,[Ae,ht],[_e,Ge]],[/(smartwatch 3)/i],[Me,[Ae,vt],[_e,Ge]],[/(g watch r)/i],[Me,[Ae,ut],[_e,Ge]],[/droid.+; (wt63?0{2,3})\)/i],[Me,[Ae,kt],[_e,Ge]],[/droid.+; (glass) \d/i],[Me,[Ae,st],[_e,je]],[/(pico) (4|neo3(?: link|pro)?)/i],[Ae,Me,[_e,je]],[/(quest( \d| pro)?s?).+vr/i],[Me,[Ae,At],[_e,je]],[/mobile vr; rv.+firefox/i],[[_e,je]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[Ae,[_e,Oe]],[/(aeobc)\b/i],[Me,[Ae,it],[_e,Oe]],[/(homepod).+mac os/i],[Me,[Ae,ot],[_e,Oe]],[/windows iot/i],[[_e,Oe]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[Me,[_e,Xt,{mobile:"Mobile",xr:"VR","*":We}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[_e,We]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[_e,Fe]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[Me,[Ae,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[Pe,[Ce,Et+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[Ce,Pe],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[Pe,[Ce,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[Ce,Pe],[/ladybird\//i],[[Ce,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[Pe,Ce]],os:[[/(windows nt) (6\.[23]); arm/i],[[Ce,/N/,"R"],[Pe,Xt,Ut]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[Ce,Pe],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[Pe,/(;|\))/g,"",Xt,Ut],[Ce,Mt]],[/(windows ce)\/?([\d\.]*)/i],[Ce,Pe],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[Pe,/_/g,"."],[Ce,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[Ce,"macOS"],[Pe,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[Pe,[Ce,Lt+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[Pe,[Ce,Lt+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[Pe,[Ce,Lt+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[Pe,[Ce,Lt+" Linux"]],[/crkey\/([\d\.]+)/i],[Pe,[Ce,Lt]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[Pe,Ce],[/(ubuntu) ([\w\.]+) like android/i],[[Ce,/(.+)/,"$1 Touch"],Pe],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[Ce,Pe],[/\(bb(10);/i],[Pe,[Ce,at]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[Pe,[Ce,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[Pe,[Ce,Ct+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[Pe,[Ce,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[Pe,Xt,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[Ce,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[Pe,[Ce,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[Ce,"Chrome OS"],Pe],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[Ce,Pe],[/(sunos) ?([\d\.]*)/i],[[Ce,"Solaris"],Pe],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[Ce,Pe]]},$t=(Ht.call((he={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[ye,[Ce,Pe,Ie,_e]],[ke,[Ve]],[xe,[_e,Me,Ae]],[Se,[Ce,Pe]],[Le,[Ce,Pe]]]),Ht.call(he.isIgnore,[[ye,[Pe,Ie]],[Se,[Pe]],[Le,[Pe]]]),Ht.call(he.isIgnoreRgx,[[ye,/ ?browser$/i],[Le,/ ?os$/i]]),Ht.call(he.toString,[[ye,[Ce,Pe]],[ke,[Ve]],[xe,[Ae,Me]],[Se,[Ce,Pe]],[Le,[Ce,Pe]]]),he),Qt=function(e,t){var n=$t.init[t],i=$t.isIgnore[t]||0,o=$t.isIgnoreRgx[t]||0,r=$t.toString[t]||0;function a(){Ht.call(this,n)}return a.prototype.getItem=function(){return e},a.prototype.withClientHints=function(){return Ft?Ft.getHighEntropyValues(nt).then(function(t){return e.setCH(new en(t,!1)).parseCH().get()}):e.parseCH().get()},a.prototype.withFeatureCheck=function(){return e.detectFeature().get()},t!=Ee&&(a.prototype.is=function(e){var t=!1;for(var n in this)if(this.hasOwnProperty(n)&&!Tt(i,n)&&Dt(o?Nt(o,this[n]):this[n])==Dt(o?Nt(o,e):e)){if(t=!0,e!=ge)break}else if(e==ge&&t){t=!t;break}return t},a.prototype.toString=function(){var e=we;for(var t in r)typeof this[r[t]]!==ge&&(e+=(e?" ":we)+this[r[t]]);return e||ge}),Ft||(a.prototype.then=function(e){var t=this,n=function(){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])};n.prototype={is:a.prototype.is,toString:a.prototype.toString};var i=new n;return e(i),i}),new a};function en(e,t){if(e=e||{},Ht.call(this,nt),t)Ht.call(this,[[Be,Ot(e[Xe])],[Ne,Ot(e[Ue])],[Fe,/\?1/.test(e[$e])],[Me,Zt(e[Qe])],[Ze,Zt(e[et])],[ze,Zt(e[tt])],[Ve,Zt(e[Je])],[He,Ot(e[Ke])],[Ye,Zt(e[qe])]]);else for(var n in e)this.hasOwnProperty(n)&&typeof e[n]!==ge&&(this[n]=e[n])}function tn(e,t,n,i){return this.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data},this.set=function(e,t){return this.data[e]=t,this},this.setCH=function(e){return this.uaCH=e,this},this.detectFeature=function(){if(Rt&&Rt.userAgent==this.ua)switch(this.itemType){case ye:Rt.brave&&typeof Rt.brave.isBrave==pe&&this.set(Ce,"Brave");break;case xe:!this.get(_e)&&Ft&&Ft[Fe]&&this.set(_e,Fe),"Macintosh"==this.get(Me)&&Rt&&typeof Rt.standalone!==ge&&Rt.maxTouchPoints&&Rt.maxTouchPoints>2&&this.set(Me,"iPad").set(_e,We);break;case Le:!this.get(Ce)&&Ft&&Ft[Ze]&&this.set(Ce,Ft[Ze]);break;case Ee:var e=this.data,t=function(t){return e[t].getItem().detectFeature().get()};this.set(ye,t(ye)).set(ke,t(ke)).set(xe,t(xe)).set(Se,t(Se)).set(Le,t(Le))}return this},this.parseUA=function(){return this.itemType!=Ee&&Yt.call(this.data,this.ua,this.rgxMap),this.itemType==ye&&this.set(Ie,Bt(this.get(Pe))),this},this.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case ye:case Se:var n,i=e[Ne]||e[Be];if(i)for(var o in i){var r=i[o].brand||i[o],a=i[o].version;this.itemType==ye&&!/not.a.brand/i.test(r)&&(!n||/Chrom/.test(n)&&r!=St||n==Et&&/WebView2/.test(r))&&(r=Xt(r,qt),(n=this.get(Ce))&&!/Chrom/.test(n)&&/Chrom/.test(r)||this.set(Ce,r).set(Pe,a).set(Ie,Bt(a)),n=r),this.itemType==Se&&r==St&&this.set(Pe,a)}break;case ke:var s=e[Ve];s&&(s&&"64"==e[Ye]&&(s+="64"),Yt.call(this.data,s+";",t));break;case xe:if(e[Fe]&&this.set(_e,Fe),e[Me]&&(this.set(Me,e[Me]),!this.get(_e)||!this.get(Ae))){var c={};Yt.call(c,"droid 9; "+e[Me]+")",t),!this.get(_e)&&c.type&&this.set(_e,c.type),!this.get(Ae)&&c.vendor&&this.set(Ae,c.vendor)}if(e[He]){var d;if("string"!=typeof e[He])for(var l=0;!d&&l<e[He].length;)d=Xt(e[He][l++],Jt);else d=Xt(e[He],Jt);this.set(_e,d)}break;case Le:var u=e[Ze];if(u){var m=e[ze];u==Mt&&(m=parseInt(Bt(m),10)>=13?"11":"10"),this.set(Ce,u).set(Pe,m)}this.get(Ce)==Mt&&"Xbox"==e[Me]&&this.set(Ce,"Xbox").set(Pe,void 0);break;case Ee:var h=this.data,f=function(t){return h[t].getItem().setCH(e).parseCH().get()};this.set(ye,f(ye)).set(ke,f(ke)).set(xe,f(xe)).set(Se,f(Se)).set(Le,f(Le))}return this},Ht.call(this,[["itemType",e],["ua",t],["uaCH",i],["rgxMap",n],["data",Qt(this,e)]]),this}function nn(e,t,n){if(typeof e===be?(Gt(e,!0)?(typeof t===be&&(n=t),t=e):(n=e,t=void 0),e=void 0):typeof e!==ve||Gt(t,!0)||(n=t,t=void 0),n&&typeof n.append===pe){var i={};n.forEach(function(e,t){i[t]=e}),n=i}if(!(this instanceof nn))return new nn(e,t,n).getResult();var o=typeof e===ve?e:n&&n[fe]?n[fe]:Rt&&Rt.userAgent?Rt.userAgent:we,r=new en(n,!0),a=t?function(e,t){var n={},i=t;if(!Gt(t))for(var o in i={},t)for(var r in t[o])i[r]=t[o][r].concat(i[r]?i[r]:[]);for(var a in e)n[a]=i[a]&&i[a].length%2==0?i[a].concat(e[a]):e[a];return n}(Kt,t):Kt,s=function(e){return e==Ee?function(){return new tn(e,o,a,r).set("ua",o).set(ye,this.getBrowser()).set(ke,this.getCPU()).set(xe,this.getDevice()).set(Se,this.getEngine()).set(Le,this.getOS()).get()}:function(){return new tn(e,o,a[e],r).parseUA().get()}};return Ht.call(this,[["getBrowser",s(ye)],["getCPU",s(ke)],["getDevice",s(xe)],["getEngine",s(Se)],["getOS",s(Le)],["getResult",s(Ee)],["getUA",function(){return o}],["setUA",function(e){return jt(e)&&(o=e.length>500?zt(e,500):e),this}]]).setUA(o),this}nn.VERSION="2.0.4",nn.BROWSER=Wt([Ce,Pe,Ie,_e]),nn.CPU=Wt([Ve]),nn.DEVICE=Wt([Me,Ae,_e,Re,Fe,Te,We,Ge,Oe]),nn.ENGINE=nn.OS=Wt([Ce,Pe]);const on=async()=>({...new nn(navigator.userAgent).getResult().os,device_type:rn()}),rn=()=>{const e=window.innerWidth;return e<=767?"mobile":e<=1024?"tablet":"desktop"},an=e=>{if(!e)return null;const t=e.toLowerCase();return t.includes("android")?"android":t.includes("iphone")||t.includes("ipad")||"ios"===t?"ios":t.includes("win")?"windows":t.includes("mac")||t.includes("macos")?"macos":t.includes("linux")?"linux":null},sn={ios:[/apple a\d+ gpu/i],macos:[/apple m\d+/i,/opengl engine/i],windows:[/angle.*direct3d/i],android:[/adreno|mali|powervr/i],linux:[/mesa|x11/i]},cn=(e,t,n,i)=>"ios"===i||"android"===i?n>768?"tablet":"mobile":"windows"===i||"macos"===i||"linux"===i?"desktop":t?n<600?"mobile":n<=1024?"tablet":!1===e?"desktop":"tablet":t?null:"desktop",dn=e=>parseFloat(e.toFixed(2)),ln=(e,t)=>{let n=1;const i=[],o={confidence:1,spoofingConfidence:0,isSpoofed:!1,detectionConflicts:[],realPlatform:null,realDeviceType:null},r=t.touchPoints>0,s=t.screen.width,c=an(e.platform),d=(l=t.webGL.renderer?.toLowerCase()||"",sn.ios.some(e=>e.test(l))?"ios":sn.macos.some(e=>e.test(l))?"macos":sn.windows.some(e=>e.test(l))?"windows":sn.android.some(e=>e.test(l))?"android":sn.linux.some(e=>e.test(l))||/NVIDIA|AMD|Intel/i.test(l)?"linux":null);var l;const u=an(t.actualPlatform),m=d||u;let h=c;c&&m&&c!==m?(n-=.3,i.push(`Claimed OS "${c}" disagrees with actual OS signal "${m}".`),h=m):c&&!m&&""!==e.platform?(n-=.2,i.push(`Actual OS signal "${t.actualPlatform}" is unrecognized.`),h=c):!c&&m&&(n-=.2,i.push(`Claimed OS signal "${e.platform}" is unrecognized.`),h=m);const f=(t.webGL.vendor||"").toLowerCase(),w=(t.webGL.renderer||"").toLowerCase();if(f&&"n/a"!==f&&"n/a (masked)"!==f){let e=!1,o=null;"android"===h&&(f.includes("apple")||w.includes("apple"))?(e=!0,o="ios"):"ios"!==h||f.includes("apple")||w.includes("apple")?"windows"===h&&(f.includes("apple")||w.includes("apple"))?(e=!0,o="macos"):"macos"!==h||f.includes("apple")||w.includes("apple")||f.includes("intel")||w.includes("intel")||f.includes("amd")||w.includes("amd")||w.includes("radeon")||(e=!0,o=f.includes("qualcomm")||f.includes("adreno")||f.includes("mali")||f.includes("powervr")||f.includes("arm")?"android":"windows"):(e=!0,o=f.includes("qualcomm")||f.includes("adreno")||f.includes("mali")||f.includes("powervr")||f.includes("arm")?"android":f.includes("intel")||w.includes("intel")||f.includes("nvidia")||w.includes("nvidia")||f.includes("amd")||w.includes("amd")||w.includes("radeon")?"windows":"android"),e&&(n-=.5,i.push(`OS "${h}" conflicts with GPU "${t.webGL.vendor} / ${t.webGL.renderer}". GPU suggests "${o||"unknown"}".`),o&&(h=o))}else t.webGL.error&&(n-=.1,i.push(`WebGL info unavailable (${t.webGL.error}).`));let p=null;const g=(b=e.guessedDeviceType)&&a.includes(b)?e.guessedDeviceType:null;var b;!0!==e.mobile||r?!1===e.mobile&&r?(n-=.15,i.push("Claimed mobile=false but touch points detected."),p=cn(e.mobile,r,s,h)):g&&(p=g):(n-=.3,i.push("Claimed mobile=true but no touch points detected."),p="desktop");"mobile"===p&&s>1024?(n-=.15,i.push(`Device type 'mobile', but screen width (${s}px) is large.`),p="tablet"):"desktop"===p&&s<768&&(n-=.15,i.push(`Preliminary type 'desktop', but screen width (${s}px) is small.`),p=r?"mobile":"desktop"),o.realPlatform=h||c;const v=cn(e.mobile,r,s,o.realPlatform);return p?v&&v!==p?(n-=.12,i.push(`Initial device type guess (${p}) adjusted to ${v} based on final signals.`),o.realDeviceType=v):o.realDeviceType=p:o.realDeviceType=v,o.realDeviceType||("ios"===o.realPlatform||"android"===o.realPlatform?o.realDeviceType=v||"mobile":o.realPlatform?o.realDeviceType=v||"desktop":o.realDeviceType=r?s>768?"tablet":"mobile":"desktop"),o.confidence=dn(Math.max(0,n)),o.spoofingConfidence=dn(1-o.confidence),o.isSpoofed=o.spoofingConfidence>.1,o.detectionConflicts=i,o},un=async()=>{const e={claimed:{platform:"",mobile:!1,brands:[],guessedDeviceType:null},signals:{actualPlatform:"",touchPoints:0,screen:{width:0,height:0,pixelRatio:1},webGL:{vendor:void 0,renderer:void 0,error:""},userAgentString:""},analysis:{confidence:1,spoofingConfidence:0,isSpoofed:!1,detectionConflicts:[],realPlatform:null,realDeviceType:null}},t=(()=>{const e={actualPlatform:navigator.userAgentData?.platform||navigator.platform,touchPoints:navigator.maxTouchPoints||0,screen:{width:screen.width,height:screen.height,pixelRatio:window.devicePixelRatio||1},webGL:{vendor:void 0,renderer:void 0,error:""},userAgentString:navigator.userAgent};try{const t=document.createElement("canvas"),n=t.getContext("webgl2")||t.getContext("webgl")||t.getContext("experimental-webgl");if(n&&"getParameter"in n){const t=n.getExtension("WEBGL_debug_renderer_info");t?(e.webGL.vendor=n.getParameter(t.UNMASKED_VENDOR_WEBGL)||"n/a",e.webGL.renderer=n.getParameter(t.UNMASKED_RENDERER_WEBGL)||"n/a"):(e.webGL.vendor=n.getParameter(n.VENDOR)||"n/a (masked)",e.webGL.renderer=n.getParameter(n.RENDERER)||"n/a (masked)",e.webGL.vendor&&"n/a (masked)"!==e.webGL.vendor||(e.webGL.error="Debug info extension unavailable or vendor masked"))}else e.webGL.error="WebGL context unavailable"}catch(t){console.error("Error getting WebGL data:",t),e.webGL.error=t instanceof Error?t.message:"Unknown WebGL error"}return e})();e.signals=t;const n=await(async e=>{const t={};try{if(navigator.userAgentData){const e=await navigator.userAgentData.getHighEntropyValues(["platform","platformVersion","architecture","model","uaFullVersion","brands","mobile"]);t.platform=e.platform,t.mobile=e.mobile??null,t.brands=e.brands||[],t.mobile?t.guessedDeviceType=screen.width>768?"tablet":"mobile":t.guessedDeviceType="desktop"}else{const n=e,i=n.toLowerCase();i.includes("android")?t.platform="Android":i.includes("iphone")||i.includes("ipad")?t.platform="iOS":i.includes("windows nt")?t.platform="Windows":i.includes("mac os x")||i.includes("macintosh")?t.platform="macOS":i.includes("linux")&&(t.platform="Linux");const o=(e=>{const t=e.toLowerCase();return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|hpwos|Opera M(obi|ini)/i.test(t)?"mobile":t.includes("windows nt")||t.includes("macintosh")||t.includes("x11")?"desktop":null})(n);t.guessedDeviceType=o,t.mobile="mobile"===o||"tablet"===o;const r=n.match(/(Apple|Samsung|Google|Microsoft|Sony|LG|HTC|Nokia|Motorola|Huawei|Xiaomi|Pixel|Firefox|Safari|Edge|Chrome)/i);if(r){const e=n.match(new RegExp(r[0]+"[ /]([\\d._]+)"));t.brands.push({brand:r[0],version:e?e[1]:"unknown"})}}}catch(e){console.error("Error getting User Agent Data:",e)}return t})(t.userAgentString);e.claimed=n;const i=ln(n,t);e.analysis=i;return{...e,deviceOs:i.realPlatform,deviceType:i.realDeviceType,tampering:i.isSpoofed?{status:!0,confidence:i.spoofingConfidence}:{status:!1}}};async function mn(){const{name:e,version:t}=me();return{name:e,version:t,user_agent:navigator.userAgent}}function hn(e,t,n){let i=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let i=0;i<e.length;i++)n.push(e[i].data[t]);i.push(fn(n))}const o=new Uint8ClampedArray(i);return new ImageData(o,t,n)}function fn(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}g("audio",async function(){return new Promise((e,t)=>{try{const t=44100,n=5e3,i=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),o=i.createBufferSource(),r=i.createAnalyser(),a=new Float32Array(r.frequencyBinCount);r.getFloatFrequencyData(a);const s=i.createOscillator();s.frequency.value=1e3;const c=i.createDynamicsCompressor();c.threshold.value=-50,c.knee.value=40,c.ratio.value=12,c.attack.value=0,c.release.value=.2,s.connect(c),c.connect(i.destination),s.start(),i.oncomplete=()=>{e({oscillator:s.type,maxChannels:i.destination.maxChannelCount,channelCountMode:o.channelCountMode,frequencyBinCount:r.frequencyBinCount})},i.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}})});const wn="SamsungBrowser"!==ue()?1:3;function pn(e,t){return new Promise(n=>setTimeout(n,e,t))}"Firefox"!=ue()&&g("canvas",function(){return new Promise(e=>{const t=Array.from({length:wn},()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=280,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const i="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(i,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(i,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const o=t.getImageData(0,0,e.width,e.height);return o}());e({commonImageDataHash:x(hn(t,280,20).data.toString()).toString()})})});const gn=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],bn=["monospace","sans-serif","serif"];function vn(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function yn(){const e=document.createElement("canvas"),t=e.getContext("webgl")??e.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString();let n={vendor:e,renderer:(t.getParameter(t.RENDERER)||"").toString(),version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};const i=t.getExtension("WEBGL_debug_renderer_info");if(i){const e=(t.getParameter(i.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(i.UNMASKED_RENDERER_WEBGL)||"").toString();e&&(n.vendorUnmasked=e),o&&(n.rendererUnmasked=o)}return n}catch(e){}return"undefined"}function kn(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function xn(e,t){const n={};return t.forEach(t=>{const i=function(e){if(0===e.length)return null;const t={};e.forEach(e=>{const n=String(e);t[n]=(t[n]||0)+1});let n=e[0],i=1;return Object.keys(t).forEach(e=>{t[e]>i&&(n=e,i=t[e])}),n}(e.map(e=>t in e?e[t]:void 0).filter(e=>void 0!==e));i&&(n[t]=i)}),n}let Sn;function Ln(e){return e.reduce((e,t)=>e+(t?1:0),0)}function En(){const e=window;return Ln(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===navigator.vendor.indexOf("Apple"),"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Cn(){const e=window;return t=e.print,/^function\s.*?\{\s*\[native code]\s*}$/.test(String(t))&&"[object WebPageNamespace]"===String(e.browser);var t}function _n(){const e=window;return Ln(["buildID"in navigator,"MozAppearance"in(document.documentElement?.style??{}),"onmozfullscreenchange"in e,"mozInnerScreenX"in e,"CSSMozDocumentRule"in e,"CanvasCaptureMediaStream"in e])>=4}function An(){const e=function(){const e=window,t=navigator;return Ln(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===(t.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}(),t=_n(),n=window,i=navigator;return e?Ln([!("SharedWorker"in n),!("sinkId"in new Audio)])>=2:!!t&&Ln(["onorientationchange"in n,"orientation"in n,/android/i.test(i.appVersion)])>=2}"Firefox"!=ue()&&g("fonts",function(){return new Promise((e,t)=>{try{!async function(e){for(;!document.body;)await pn(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const n=t.style;n.setProperty("position","fixed"),n.setProperty("display","block","important"),n.setProperty("visibility","visible"),n.setProperty("border","0"),n.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const i=t.contentDocument||t.contentWindow?.document;if(!i)throw new Error("Iframe document is not accessible");e({iframe:i}),setTimeout(()=>{document.body.removeChild(t)},0)}(async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),i=bn.map(e=>vn(n,e));let o={};gn.forEach(e=>{const t=vn(n,e);i.includes(t)||(o[e]=t)}),e(o)})}catch(e){t({error:"unsupported"})}})}),g("hardware",function(){return new Promise(e=>{const t=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:yn(),architecture:kn(),jsHeapSizeLimit:t.jsHeapSizeLimit||0})})}),g("locales",function(){return new Promise(e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})})}),g("permissions",async function(){Sn=w?.permissions_to_check||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","local-fonts","magnetometer","midi","nfc","notifications","payment-handler","persistent-storage","speaker","storage-access","top-level-storage-access","window-management","query"];const e=Array.from({length:w?.retries||3},()=>async function(){const e={};for(const t of Sn)try{const n=await navigator.permissions.query({name:t});e[t]=n.state.toString()}catch(e){}return e}());return Promise.all(e).then(e=>xn(e,Sn))}),g("screen",function(){return new Promise(e=>{e({colorDepth:screen.colorDepth})})}),g("screenResolution",async function(){return En()&&function(){const e=window,t=navigator,{CSS:n,HTMLButtonElement:i}=e;return Ln([!("getStorageUpdates"in t),i&&"popover"in i.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}()&&Cn()?[]:function(){const e=screen,t=e=>function(e,t){return"number"==typeof e&&isNaN(e)?t:e}(function(e){return parseInt(e)}(e),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}()});const Pn="SamsungBrowser"!==function(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,t=[/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i],n={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const i of t){const t=e.match(i);if(t&&t.groups){return{name:n[t.groups.name.toLowerCase()]||t.groups.name,version:t.groups.version}}}return{name:"unknown",version:"unknown"}}().name?1:3;let Vn,In=null;async function Mn(){"undefined"!=typeof document&&(Vn=document.createElement("canvas"),Vn.width=200,Vn.height=100,In=Vn.getContext("webgl"));try{if(!In)throw new Error("WebGL not supported");const e=Array.from({length:Pn},()=>function(){try{if(!In)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=In.createShader(In.VERTEX_SHADER),i=In.createShader(In.FRAGMENT_SHADER);if(!n||!i)throw new Error("Failed to create shaders");if(In.shaderSource(n,e),In.shaderSource(i,t),In.compileShader(n),!In.getShaderParameter(n,In.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+In.getShaderInfoLog(n));if(In.compileShader(i),!In.getShaderParameter(i,In.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+In.getShaderInfoLog(i));const o=In.createProgram();if(!o)throw new Error("Failed to create shader program");if(In.attachShader(o,n),In.attachShader(o,i),In.linkProgram(o),!In.getProgramParameter(o,In.LINK_STATUS))throw new Error("Shader program linking failed: "+In.getProgramInfoLog(o));In.useProgram(o);const r=137,a=new Float32Array(4*r),s=2*Math.PI/r;for(let e=0;e<r;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(Vn.width/2),a[4*e+3]=Math.sin(t)*(Vn.height/2)}const c=In.createBuffer();In.bindBuffer(In.ARRAY_BUFFER,c),In.bufferData(In.ARRAY_BUFFER,a,In.STATIC_DRAW);const d=In.getAttribLocation(o,"position");In.enableVertexAttribArray(d),In.vertexAttribPointer(d,2,In.FLOAT,!1,0,0),In.viewport(0,0,Vn.width,Vn.height),In.clearColor(0,0,0,1),In.clear(In.COLOR_BUFFER_BIT),In.drawArrays(In.LINES,0,2*r);const l=new Uint8ClampedArray(Vn.width*Vn.height*4);In.readPixels(0,0,Vn.width,Vn.height,In.RGBA,In.UNSIGNED_BYTE,l);return new ImageData(l,Vn.width,Vn.height)}catch(e){return new ImageData(1,1)}finally{In&&(In.bindBuffer(In.ARRAY_BUFFER,null),In.useProgram(null),In.viewport(0,0,In.drawingBufferWidth,In.drawingBufferHeight),In.clearColor(0,0,0,0))}}());return{commonImageHash:x(hn(e,Vn.width,Vn.height).data.toString()).toString()}}catch(e){return}}function Rn(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}g("webgl",async function({cache:e={}}={cache:{}}){const t=function(e){if(e.webgl)return e.webgl.context;const t=document.createElement("canvas");let n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(const e of["webgl","experimental-webgl"]){try{n=t.getContext(e)}catch{}if(n)break}return e.webgl={context:n},n}(e);if(!t)return{status:-1};if(!function(e){return"function"==typeof e.getParameter}(t))return{status:-2};const n=_n()?null:t.getExtension("WEBGL_debug_renderer_info"),i=await Mn();return{version:t.getParameter(t.VERSION)?.toString()||"",vendor:t.getParameter(t.VENDOR)?.toString()||"",vendorUnmasked:n?t.getParameter(n.UNMASKED_VENDOR_WEBGL)?.toString():"",renderer:t.getParameter(t.RENDERER)?.toString()||"",rendererUnmasked:n?t.getParameter(n.UNMASKED_RENDERER_WEBGL)?.toString():"",shadingLanguageVersion:t.getParameter(t.SHADING_LANGUAGE_VERSION)?.toString()||"",...i}}),g("plugins",function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise(t=>{t({plugins:e})})}),g("system",async function(){return new Promise(e=>{const t=me();e({platform:window.navigator.platform,cookieEnabled:window.navigator.cookieEnabled,productSub:navigator.productSub,product:navigator.product,browser:{name:t.name},applePayVersion:Rn()})})});const Fn=["π","π¨βπ©βπ§βπ¦","πΊπΈ","π","πΌ","π","π³οΈβπ","ππ½","β€οΈ","π€¦ββοΈ"],Wn=["Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji","EmojiOne","Twemoji Mozilla","sans-serif"];function Tn(e,t){try{const n=document.createElement("canvas"),i=20;n.width=i,n.height=i;const o=n.getContext("2d");return o?(o.fillStyle="white",o.fillRect(0,0,i,i),o.textBaseline="middle",o.textAlign="center",o.fillStyle="black",o.font=`16px "${t}"`,o.fillText(e,i/2,i/2),o.getImageData(0,0,i,i).data):null}catch(e){return null}}function Gn(e){const t=[];for(let n=0;n<e.length;n+=32)t.push(e[n],e[n+1],e[n+2]);return t}g("emojiFingerprint",async function(){return new Promise(e=>{try{const t={};let n=[];Fn.forEach((e,i)=>{for(const o of Wn){const r=Tn(e,o);if(r){const e=Gn(r);n=[...n,...e],t[`emoji_${i}`]=x(new Uint8Array(e).buffer).slice(0,16);break}}});e({emojiFingerprintHash:x(new Uint8Array(n).buffer),emojiDetails:t,uniqueEmojisRendered:Object.keys(t).length})}catch(t){e({emojiFingerprintHash:"unsupported",emojiDetails:{},uniqueEmojisRendered:0})}})});const jn=(e,t,n,i)=>{const o=(n-t)/i;let r=0;for(let n=0;n<i;n++){r+=e(t+(n+.5)*o)}return r*o};function On(e,t){return new Promise(n=>setTimeout(n,e,t))}function Dn(e){const[t,n]=function(e){const t=`Unexpected syntax '${e}'`,n=/^\s*([a-z-]*)(.*)$/i.exec(e),i=n[1]||void 0,o={},r=/([.:#][\w-]+|\[.+?\])/gi,a=(e,t)=>{o[e]=o[e]||[],o[e].push(t)};for(;;){const e=r.exec(n[2]);if(!e)break;const i=e[0];switch(i[0]){case".":a("class",i.slice(1));break;case"#":a("id",i.slice(1));break;case"[":{const e=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(i);if(!e)throw new Error(t);a(e[1],e[4]??e[5]??"");break}default:throw new Error(t)}}return[i,o]}(e),i=document.createElement(t??"div");for(const e of Object.keys(n)){const t=n[e].join(" ");"style"===e?Bn(i.style,t):i.setAttribute(e,t)}return i}function Bn(e,t){for(const n of t.split(";")){const t=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(t){const[,n,i,,o]=t;e.setProperty(n,i,o||"")}}}function Hn(e){return matchMedia(`(forced-colors: ${e})`).matches}g("math",async()=>({acos:Math.acos(.5),asin:jn(Math.asin,-1,1,97),atan:jn(Math.atan,-1,1,97),cos:jn(Math.cos,0,Math.PI,97),cosh:Math.cosh(9/7),e:Math.E,largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),log:Math.log(1e3),pi:Math.PI,sin:jn(Math.sin,-Math.PI,Math.PI,97),sinh:jn(Math.sinh,-9/7,7/9,97),sqrt:Math.sqrt(2),tan:jn(Math.tan,0,2*Math.PI,97),tanh:jn(Math.tanh,-9/7,7/9,97)}));function Nn(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}g("domBlockers",async function(){if(!En()&&!An())return;const e=function(){const e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("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:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}(),t=Object.keys(e),n=[].concat(...t.map(t=>e[t])),i=await async function(e){const t=document,n=t.createElement("div"),i=new Array(e.length),o={};Nn(n);for(let o=0;o<e.length;++o){const r=Dn(e[o]);"DIALOG"===r.tagName&&r.show();const a=t.createElement("div");Nn(a),a.appendChild(r),n.appendChild(a),i[o]=r}for(;!t.body;)await On(50);t.body.appendChild(n);try{for(let t=0;t<e.length;++t)i[t].offsetParent||(o[e[t]]=!0)}finally{n.parentNode?.removeChild(n)}return o}(n),o=t.filter(t=>{const n=e[t];return Ln(n.map(e=>i[e]))>.6*n.length});return o.sort(),o}),g("vendorFlavour",function(){const e=[];for(const t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){const n=window[t];n&&"object"==typeof n&&e.push(t)}const t=e.sort();if(t.length>0)return t;{const{name:e}=me();return[e]}}),g("monochrome",function(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=100;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}),g("forcedColors",function(){return!!Hn("active")||!Hn("none")&&void 0}),g("colorGamut",function(){for(const e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}),g("osCpu",function(){return navigator.oscpu}),g("audioLatency",function(){return An()||En()?window.AudioContext?(new AudioContext).baseLatency??-1:-1:-2});const Zn=async(e,t)=>{const[n,i,o,r,a,s,c]=await zn();return{request_id:e,device:{fingerprint_id:n.hash,type:"web",os:s.deviceOs,os_version:a.version,raw_device_data:n.data,browserDetails:c,bot:o,tampering:s.tampering,incognito:r,tor:i},sdk:{name:t?.name,version:t?.version}}};async function zn(){return await Promise.all([E(),_(),le(),P(),on(),un(),mn()])}const{getCount:Yn,addListener:Xn,removeListener:Un}=u();class Jn{constructor(e={}){this.isInitialized=!1,this.fields=[],this.trackedFieldIds=new Set,this.config={...Jn.DEFAULT_CONFIG,...e},Xn()}initializeTracking(e){e.filter(e=>!this.trackedFieldIds.has(e.id)).forEach(e=>this.trackField(e)),this.isInitialized=!0}get metrics(){return this.ensureInitialized(),this.fields.map(({element:e,...t})=>t)}removeTracking(e){e?this.removeFieldTracking(e):this.removeAllTracking()}trackField(e){const{id:t,ltm:n}=e,i=this.getValidElement(t),o=this.createFieldMetric(t,i,n);this.fields.push(o),this.trackedFieldIds.add(t);const r=this.createInputHandler(o);i.addEventListener("input",r)}getValidElement(e){const t=document.getElementById(e);if(!t)throw new r(`Element with ID "${e}" was not found in the DOM. Please ensure the ID is correctly assigned to an input element.`);if(!this.isValidInputElement(t))throw new r(`Element with ID "${e}" must be an HTMLInputElement or HTMLTextAreaElement.`);return t}isValidInputElement(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}createFieldMetric(e,t,n){return{field_name:e,started_at:0,ended_at:0,interaction_count:0,fill_method:null,paste_count:0,ltm:n??!1,corrections_count:0,pauses:0,pauseDurations:[],element:t}}createInputHandler(e){return t=>{this.handleInput(e,t)}}handleInput(e,t){const n=performance.now(),i=e.ended_at||0,o=this.analyzeInteraction(e,t,n,i);this.updateFieldMetrics(e,o,n)}analyzeInteraction(e,t,n,i){const o=this.determineFillMethod(e,t);return{fillMethod:o,isCorrection:this.isCorrection(t),isPaste:this.isPaste(o,t),isPause:this.isPause(n,i),pauseDuration:n-i}}updateFieldMetrics(e,t,n){e.started_at||(e.started_at=n),e.ended_at=n,e.fill_method=t.fillMethod,e.interaction_count+=1,t.isCorrection&&(e.corrections_count+=1),t.isPaste&&(e.paste_count+=1),t.isPause&&(e.pauses+=1,e.pauseDurations.push(t.pauseDuration))}determineFillMethod(e,t){const n=t.inputType;if(!n)return s.paste;const i="insertText"===n?s.typed:"insertFromPaste"===n?s.paste:s.mixed;return e.fill_method&&e.fill_method!==i?s.mixed:i}isCorrection(e){return"deleteContentBackward"===e.inputType}isPaste(e,t){return e===s.paste||"insertFromPaste"===t.inputType}isPause(e,t){if(0===t)return!1;return e-t>this.config.pauseThresholdMs}removeFieldTracking(e){const t=this.fields.findIndex(t=>t.field_name===e);if(-1===t)return;const n=this.fields[t];this.cleanupFieldTracking(n),this.fields.splice(t,1),this.trackedFieldIds.delete(e)}removeAllTracking(){this.fields.forEach(e=>this.cleanupFieldTracking(e)),this.fields.length=0,this.trackedFieldIds.clear()}cleanupFieldTracking(e){e.element.removeEventListener("input",this.createInputHandler(e))}ensureInitialized(){if(!this.isInitialized)throw new r("Ginger.trackEvent must be initialized before data can be fetched.")}}Jn.DEFAULT_CONFIG={pauseThresholdMs:1500};const qn=new Jn;e.GingerClientError=r,e.GingerError=o,e.GingerHttpClient=f,e.GingerJsClient=class{constructor({apikey:e}){this.requestId=t(),this.isInitialized=!1,this.getTrackedData=()=>{if(!this.isInitialized)throw new r("Unsuccessful Initialization. Cannot get tracked data.");if(!this.trackDetails)throw new r("Tracking not initiated. Call `trackEvent` before getting tracked data.");const e={distractions_count:Yn(),fields:qn.metrics};return{event_type:this.trackDetails.event_type,request_id:this.trackDetails.request_id,fingerprint_id:this.trackDetails.fingerprint_id,data:{...e}}},this.submitEvent=async()=>{const e=this.getTrackedData();try{const t=await this.httpClient.post({url:"/api/v1/events",payload:e});return Un(),t.data}catch(e){throw new r(`Tracked Data submission failed: ${String(e)}`)}},this.httpClient=new f(e)}async initialize(){try{const e={name:"@ginger-ai/ginger-js",version:"0.0.2"},t=await Zn(this.requestId,e),n=await this.httpClient.post({url:"/api/v1/devices",payload:t});return this.isInitialized=!0,this.deviceResponse=n.data,n}catch(e){throw this.isInitialized=!1,new r(`Initialization failed: ${e}`)}}trackEvent({event_type:e,track_fields:t,request_id:n}){if(!this.isInitialized)throw new r("Unsuccessful Initialization. Cannot track behaviour.");if(!c.includes(e))throw new r(`Invalid event type: ${e}. Allowed types are: ${c.join(", ")}`);var i;i=t,qn.initializeTracking(i),this.trackDetails={event_type:e,request_id:n,fingerprint_id:this.deviceResponse?.fingerprint_id||""}}},e.buildInitialPayload=Zn,e.fetchModules=zn,e.generateRequestId=t,e.pageVisibility=u});
|
|
2
2
|
//# sourceMappingURL=ginger.umd.js.map
|