fpscanner 1.0.2 → 1.0.4-beta.0

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.
@@ -1,14 +1,14 @@
1
- function ne() {
1
+ function ie() {
2
2
  return navigator.webdriver;
3
3
  }
4
- function ie() {
4
+ function ae() {
5
5
  return navigator.userAgent;
6
6
  }
7
- function ae() {
7
+ function oe() {
8
8
  return navigator.platform;
9
9
  }
10
- const l = "ERROR", r = "INIT", s = "NA", f = "SKIPPED", d = "high", b = "low", oe = "medium";
11
- function p(t) {
10
+ const l = "ERROR", r = "INIT", s = "NA", v = "SKIPPED", g = "high", S = "low", se = "medium";
11
+ function f(t) {
12
12
  let e = 0;
13
13
  for (let n = 0, i = t.length; n < i; n++) {
14
14
  let a = t.charCodeAt(n);
@@ -16,14 +16,14 @@ function p(t) {
16
16
  }
17
17
  return e.toString(16).padStart(8, "0");
18
18
  }
19
- function h(t, e) {
19
+ function m(t, e) {
20
20
  for (const n in t)
21
21
  t[n] = e;
22
22
  }
23
- function se() {
23
+ function ce() {
24
24
  return navigator.buildID === "20181001000000";
25
25
  }
26
- function ce() {
26
+ function le() {
27
27
  try {
28
28
  let t = !1;
29
29
  const e = Error.prepareStackTrace;
@@ -36,25 +36,25 @@ function ce() {
36
36
  return l;
37
37
  }
38
38
  }
39
- function le() {
39
+ function ue() {
40
40
  const t = {
41
41
  vendor: r,
42
42
  renderer: r
43
43
  };
44
- if (se())
45
- return h(t, s), t;
44
+ if (ce())
45
+ return m(t, s), t;
46
46
  try {
47
47
  var e = document.createElement("canvas"), n = e.getContext("webgl") || e.getContext("experimental-webgl");
48
- n.getSupportedExtensions().indexOf("WEBGL_debug_renderer_info") >= 0 ? (t.vendor = n.getParameter(n.getExtension("WEBGL_debug_renderer_info").UNMASKED_VENDOR_WEBGL), t.renderer = n.getParameter(n.getExtension("WEBGL_debug_renderer_info").UNMASKED_RENDERER_WEBGL)) : h(t, s);
48
+ n.getSupportedExtensions().indexOf("WEBGL_debug_renderer_info") >= 0 ? (t.vendor = n.getParameter(n.getExtension("WEBGL_debug_renderer_info").UNMASKED_VENDOR_WEBGL), t.renderer = n.getParameter(n.getExtension("WEBGL_debug_renderer_info").UNMASKED_RENDERER_WEBGL)) : m(t, s);
49
49
  } catch {
50
- h(t, l);
50
+ m(t, l);
51
51
  }
52
52
  return t;
53
53
  }
54
- function ue() {
54
+ function de() {
55
55
  return "__pwInitScripts" in window || "__playwright__binding__" in window;
56
56
  }
57
- function de() {
57
+ function ge() {
58
58
  return navigator.hardwareConcurrency || s;
59
59
  }
60
60
  function he() {
@@ -71,15 +71,15 @@ function he() {
71
71
  } catch {
72
72
  t.push(-1);
73
73
  }
74
- }), p(t.map(String).join(","));
74
+ }), f(t.map(String).join(","));
75
75
  }
76
- function ge() {
76
+ function me() {
77
77
  return navigator.deviceMemory || s;
78
78
  }
79
- function me() {
79
+ function pe() {
80
80
  return eval.toString().length;
81
81
  }
82
- function pe() {
82
+ function fe() {
83
83
  const t = {
84
84
  timezone: r,
85
85
  localeLanguage: r
@@ -95,7 +95,7 @@ function pe() {
95
95
  }
96
96
  return t;
97
97
  }
98
- function fe() {
98
+ function ve() {
99
99
  return {
100
100
  width: window.screen.width,
101
101
  height: window.screen.height,
@@ -108,13 +108,13 @@ function fe() {
108
108
  hasMultipleDisplays: typeof screen.isExtended < "u" ? screen.isExtended : s
109
109
  };
110
110
  }
111
- function ve() {
111
+ function we() {
112
112
  return {
113
113
  languages: navigator.languages,
114
114
  language: navigator.language
115
115
  };
116
116
  }
117
- async function we() {
117
+ async function ye() {
118
118
  const t = {
119
119
  vendor: r,
120
120
  architecture: r,
@@ -126,13 +126,13 @@ async function we() {
126
126
  const e = await navigator.gpu.requestAdapter();
127
127
  e && (t.vendor = e.info.vendor, t.architecture = e.info.architecture, t.device = e.info.device, t.description = e.info.description);
128
128
  } catch {
129
- h(t, l);
129
+ m(t, l);
130
130
  }
131
131
  else
132
- h(t, s);
132
+ m(t, s);
133
133
  return t;
134
134
  }
135
- function ye() {
135
+ function be() {
136
136
  const t = [
137
137
  "__driver_evaluate",
138
138
  "__webdriver_evaluate",
@@ -166,7 +166,7 @@ function ye() {
166
166
  }
167
167
  return e = e || !!document.__webdriver_script_fn || !!window.domAutomation || !!window.domAutomationController, e;
168
168
  }
169
- function be() {
169
+ function Se() {
170
170
  try {
171
171
  const t = "webdriver", e = window.navigator;
172
172
  if (!e[t] && !e.hasOwnProperty(t)) {
@@ -179,7 +179,7 @@ function be() {
179
179
  return !1;
180
180
  }
181
181
  }
182
- async function Se() {
182
+ async function Ce() {
183
183
  const t = window.navigator, e = {
184
184
  architecture: r,
185
185
  bitness: r,
@@ -204,25 +204,25 @@ async function Se() {
204
204
  ]);
205
205
  e.architecture = n.architecture, e.bitness = n.bitness, e.brands = n.brands, e.mobile = n.mobile, e.model = n.model, e.platform = n.platform, e.platformVersion = n.platformVersion, e.uaFullVersion = n.uaFullVersion;
206
206
  } catch {
207
- h(e, l);
207
+ m(e, l);
208
208
  }
209
209
  else
210
- h(e, s);
210
+ m(e, s);
211
211
  return e;
212
212
  }
213
- function Ce() {
213
+ function Ae() {
214
214
  if (!navigator.plugins) return !1;
215
215
  const t = typeof navigator.plugins.toString == "function" ? navigator.plugins.toString() : navigator.plugins.constructor && typeof navigator.plugins.constructor.toString == "function" ? navigator.plugins.constructor.toString() : typeof navigator.plugins;
216
216
  return t === "[object PluginArray]" || t === "[object MSPluginsCollection]" || t === "[object HTMLPluginsCollection]";
217
217
  }
218
- function Ae() {
218
+ function Pe() {
219
219
  if (!navigator.plugins) return s;
220
220
  const t = [];
221
221
  for (let e = 0; e < navigator.plugins.length; e++)
222
222
  t.push(navigator.plugins[e].name);
223
- return p(t.join(","));
223
+ return f(t.join(","));
224
224
  }
225
- function Pe() {
225
+ function Me() {
226
226
  return navigator.plugins ? navigator.plugins.length : s;
227
227
  }
228
228
  function xe() {
@@ -241,7 +241,7 @@ function We() {
241
241
  return l;
242
242
  }
243
243
  }
244
- function Me() {
244
+ function ke() {
245
245
  const t = {
246
246
  isValidPluginArray: r,
247
247
  pluginCount: r,
@@ -250,9 +250,9 @@ function Me() {
250
250
  pluginOverflow: r
251
251
  };
252
252
  try {
253
- t.isValidPluginArray = Ce(), t.pluginCount = Pe(), t.pluginNamesHash = Ae(), t.pluginConsistency1 = xe(), t.pluginOverflow = We();
253
+ t.isValidPluginArray = Ae(), t.pluginCount = Me(), t.pluginNamesHash = Pe(), t.pluginConsistency1 = xe(), t.pluginOverflow = We();
254
254
  } catch {
255
- h(t, l);
255
+ m(t, l);
256
256
  }
257
257
  return t;
258
258
  }
@@ -276,12 +276,12 @@ async function Ee() {
276
276
  webcams: e.videoinput
277
277
  });
278
278
  } else
279
- return h(e, s), t(e);
279
+ return m(e, s), t(e);
280
280
  } else
281
- return h(e, s), t(e);
281
+ return m(e, s), t(e);
282
282
  });
283
283
  }
284
- function ke() {
284
+ function De() {
285
285
  const t = {
286
286
  webdriver: r,
287
287
  userAgent: r,
@@ -296,7 +296,7 @@ function ke() {
296
296
  const i = e.contentWindow?.navigator;
297
297
  t.webdriver = i.webdriver ?? !1, t.userAgent = i.userAgent ?? s, t.platform = i.platform ?? s, t.memory = i.deviceMemory ?? s, t.cpuCount = i.hardwareConcurrency ?? s, t.language = i.language ?? s;
298
298
  } catch {
299
- h(t, l);
299
+ m(t, l);
300
300
  } finally {
301
301
  if (n)
302
302
  try {
@@ -306,7 +306,7 @@ function ke() {
306
306
  }
307
307
  return t;
308
308
  }
309
- async function De() {
309
+ async function _e() {
310
310
  return new Promise((t) => {
311
311
  const e = {
312
312
  vendor: r,
@@ -318,33 +318,49 @@ async function De() {
318
318
  cpuCount: r
319
319
  };
320
320
  let n = null, i = null, a = null;
321
- const g = () => {
321
+ const d = () => {
322
322
  a && clearTimeout(a), n && n.terminate(), i && URL.revokeObjectURL(i);
323
323
  };
324
324
  try {
325
- const m = `try {
326
- var fingerprintWorker = {};
327
-
325
+ const p = `var fingerprintWorker = {
326
+ userAgent: 'NA',
327
+ language: 'NA',
328
+ cpuCount: 'NA',
329
+ platform: 'NA',
330
+ memory: 'NA',
331
+ vendor: 'NA',
332
+ renderer: 'NA'
333
+ };
334
+ try {
328
335
  fingerprintWorker.userAgent = navigator.userAgent;
329
336
  fingerprintWorker.language = navigator.language;
330
337
  fingerprintWorker.cpuCount = navigator.hardwareConcurrency;
331
338
  fingerprintWorker.platform = navigator.platform;
332
- fingerprintWorker.memory = navigator.deviceMemory;
333
-
339
+ if (typeof navigator.deviceMemory !== 'undefined') {
340
+ fingerprintWorker.memory = navigator.deviceMemory;
341
+ }
334
342
 
335
- var canvas = new OffscreenCanvas(1, 1);
336
- fingerprintWorker.vendor = 'INIT';
337
- fingerprintWorker.renderer = 'INIT';
338
- var gl = canvas.getContext('webgl');
339
- const isFirefox = navigator.userAgent.includes('Firefox');
340
343
  try {
341
- if (gl && !isFirefox) {
342
- var glExt = gl.getExtension('WEBGL_debug_renderer_info');
343
- fingerprintWorker.vendor = gl.getParameter(glExt.UNMASKED_VENDOR_WEBGL);
344
- fingerprintWorker.renderer = gl.getParameter(glExt.UNMASKED_RENDERER_WEBGL);
345
- } else {
344
+ if (typeof OffscreenCanvas === 'undefined') {
346
345
  fingerprintWorker.vendor = 'NA';
347
346
  fingerprintWorker.renderer = 'NA';
347
+ } else {
348
+ var canvas = new OffscreenCanvas(1, 1);
349
+ var gl = canvas.getContext('webgl');
350
+ var isFirefox = navigator.userAgent.indexOf('Firefox') !== -1;
351
+ if (gl && !isFirefox) {
352
+ var glExt = gl.getExtension('WEBGL_debug_renderer_info');
353
+ if (glExt) {
354
+ fingerprintWorker.vendor = gl.getParameter(glExt.UNMASKED_VENDOR_WEBGL);
355
+ fingerprintWorker.renderer = gl.getParameter(glExt.UNMASKED_RENDERER_WEBGL);
356
+ } else {
357
+ fingerprintWorker.vendor = 'NA';
358
+ fingerprintWorker.renderer = 'NA';
359
+ }
360
+ } else {
361
+ fingerprintWorker.vendor = 'NA';
362
+ fingerprintWorker.renderer = 'NA';
363
+ }
348
364
  }
349
365
  } catch (_) {
350
366
  fingerprintWorker.vendor = 'ERROR';
@@ -353,26 +369,27 @@ async function De() {
353
369
  self.postMessage(fingerprintWorker);
354
370
  } catch (e) {
355
371
  self.postMessage(fingerprintWorker);
356
- }`, w = new Blob([m], { type: "application/javascript" });
372
+ }`, w = new Blob([p], { type: "application/javascript" });
357
373
  i = URL.createObjectURL(w), n = new Worker(i), a = window.setTimeout(() => {
358
- g(), h(e, l), t(e);
374
+ d(), m(e, l), t(e);
359
375
  }, 2e3), n.onmessage = function(o) {
360
376
  try {
361
- e.vendor = o.data.vendor, e.renderer = o.data.renderer, e.userAgent = o.data.userAgent, e.language = o.data.language, e.platform = o.data.platform, e.memory = o.data.memory, e.cpuCount = o.data.cpuCount;
377
+ const h = (y) => typeof y > "u" ? s : y;
378
+ e.vendor = h(o.data.vendor), e.renderer = h(o.data.renderer), e.userAgent = h(o.data.userAgent), e.language = h(o.data.language), e.platform = h(o.data.platform), e.memory = h(o.data.memory), e.cpuCount = h(o.data.cpuCount);
362
379
  } catch {
363
- h(e, l);
380
+ m(e, l);
364
381
  } finally {
365
- g(), t(e);
382
+ d(), t(e);
366
383
  }
367
384
  }, n.onerror = function() {
368
- g(), h(e, l), t(e);
385
+ d(), m(e, l), t(e);
369
386
  };
370
387
  } catch {
371
- g(), h(e, l), t(e);
388
+ d(), m(e, l), t(e);
372
389
  }
373
390
  });
374
391
  }
375
- function _e() {
392
+ function Re() {
376
393
  const t = {
377
394
  toSourceError: r,
378
395
  hasToSource: !1
@@ -393,7 +410,7 @@ function _e() {
393
410
  }
394
411
  return t;
395
412
  }
396
- const S = [
413
+ const C = [
397
414
  'audio/mp4; codecs="mp4a.40.2"',
398
415
  "audio/mpeg;",
399
416
  'audio/webm; codecs="vorbis"',
@@ -402,7 +419,7 @@ const S = [
402
419
  'audio/ogg; codecs="speex"',
403
420
  'audio/ogg; codecs="flac"',
404
421
  'audio/3gpp; codecs="samr"'
405
- ], C = [
422
+ ], A = [
406
423
  'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',
407
424
  'video/mp4; codecs="avc1.42E01E"',
408
425
  'video/mp4; codecs="avc1.58A01E"',
@@ -416,7 +433,7 @@ const S = [
416
433
  'video/3gpp; codecs="mp4v.20.8"',
417
434
  'video/x-matroska; codecs="theora"'
418
435
  ];
419
- function A(t, e) {
436
+ function P(t, e) {
420
437
  const n = {};
421
438
  try {
422
439
  const i = document.createElement(e);
@@ -432,7 +449,7 @@ function A(t, e) {
432
449
  }
433
450
  return n;
434
451
  }
435
- function P(t) {
452
+ function M(t) {
436
453
  const e = {}, n = window.MediaSource;
437
454
  if (!n || typeof n.isTypeSupported != "function") {
438
455
  for (const i of t)
@@ -452,14 +469,14 @@ function x(t) {
452
469
  const e = window.RTCRtpReceiver;
453
470
  if (e && typeof e.getCapabilities == "function") {
454
471
  const n = e.getCapabilities(t);
455
- return p(JSON.stringify(n));
472
+ return f(JSON.stringify(n));
456
473
  }
457
474
  return s;
458
475
  } catch {
459
476
  return l;
460
477
  }
461
478
  }
462
- function Re() {
479
+ function Ie() {
463
480
  const t = {
464
481
  audioCanPlayTypeHash: s,
465
482
  videoCanPlayTypeHash: s,
@@ -471,16 +488,16 @@ function Re() {
471
488
  };
472
489
  try {
473
490
  t.hasMediaSource = !!window.MediaSource;
474
- const e = A(S, "audio"), n = A(C, "video");
475
- t.audioCanPlayTypeHash = p(JSON.stringify(e)), t.videoCanPlayTypeHash = p(JSON.stringify(n));
476
- const i = P(S), a = P(C);
477
- t.audioMediaSourceHash = p(JSON.stringify(i)), t.videoMediaSourceHash = p(JSON.stringify(a)), t.rtcAudioCapabilitiesHash = x("audio"), t.rtcVideoCapabilitiesHash = x("video");
491
+ const e = P(C, "audio"), n = P(A, "video");
492
+ t.audioCanPlayTypeHash = f(JSON.stringify(e)), t.videoCanPlayTypeHash = f(JSON.stringify(n));
493
+ const i = M(C), a = M(A);
494
+ t.audioMediaSourceHash = f(JSON.stringify(i)), t.videoMediaSourceHash = f(JSON.stringify(a)), t.rtcAudioCapabilitiesHash = x("audio"), t.rtcVideoCapabilitiesHash = x("video");
478
495
  } catch {
479
- h(t, l);
496
+ m(t, l);
480
497
  }
481
498
  return t;
482
499
  }
483
- async function Ie() {
500
+ async function Le() {
484
501
  return new Promise((t) => {
485
502
  try {
486
503
  const e = new Image(), n = document.createElement("canvas").getContext("2d");
@@ -494,22 +511,22 @@ async function Ie() {
494
511
  }
495
512
  });
496
513
  }
497
- function Le() {
514
+ function Te() {
498
515
  var t = document.createElement("canvas");
499
516
  t.width = 400, t.height = 200, t.style.display = "inline";
500
517
  var e = t.getContext("2d");
501
518
  try {
502
- return e.rect(0, 0, 10, 10), e.rect(2, 2, 6, 6), e.textBaseline = "alphabetic", e.fillStyle = "#f60", e.fillRect(125, 1, 62, 20), e.fillStyle = "#069", e.font = "11pt no-real-font-123", e.fillText("Cwm fjordbank glyphs vext quiz, 😃", 2, 15), e.fillStyle = "rgba(102, 204, 0, 0.2)", e.font = "18pt Arial", e.fillText("Cwm fjordbank glyphs vext quiz, 😃", 4, 45), e.globalCompositeOperation = "multiply", e.fillStyle = "rgb(255,0,255)", e.beginPath(), e.arc(50, 50, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(0,255,255)", e.beginPath(), e.arc(100, 50, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(255,255,0)", e.beginPath(), e.arc(75, 100, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(255,0,255)", e.arc(75, 75, 75, 0, 2 * Math.PI, !0), e.arc(75, 75, 25, 0, 2 * Math.PI, !0), e.fill("evenodd"), p(t.toDataURL());
519
+ return e.rect(0, 0, 10, 10), e.rect(2, 2, 6, 6), e.textBaseline = "alphabetic", e.fillStyle = "#f60", e.fillRect(125, 1, 62, 20), e.fillStyle = "#069", e.font = "11pt no-real-font-123", e.fillText("Cwm fjordbank glyphs vext quiz, 😃", 2, 15), e.fillStyle = "rgba(102, 204, 0, 0.2)", e.font = "18pt Arial", e.fillText("Cwm fjordbank glyphs vext quiz, 😃", 4, 45), e.globalCompositeOperation = "multiply", e.fillStyle = "rgb(255,0,255)", e.beginPath(), e.arc(50, 50, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(0,255,255)", e.beginPath(), e.arc(100, 50, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(255,255,0)", e.beginPath(), e.arc(75, 100, 50, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.fillStyle = "rgb(255,0,255)", e.arc(75, 75, 75, 0, 2 * Math.PI, !0), e.arc(75, 75, 25, 0, 2 * Math.PI, !0), e.fill("evenodd"), f(t.toDataURL());
503
520
  } catch {
504
521
  return l;
505
522
  }
506
523
  }
507
- async function Te() {
524
+ async function Oe() {
508
525
  const t = {
509
526
  hasModifiedCanvas: r,
510
527
  canvasFingerprint: r
511
528
  };
512
- return t.hasModifiedCanvas = await Ie(), t.canvasFingerprint = Le(), t;
529
+ return t.hasModifiedCanvas = await Le(), t.canvasFingerprint = Te(), t;
513
530
  }
514
531
  function He() {
515
532
  const t = ["deviceMemory", "hardwareConcurrency", "language", "languages", "platform"], e = [];
@@ -519,34 +536,34 @@ function He() {
519
536
  }
520
537
  return e.join("");
521
538
  }
522
- function Oe() {
539
+ function Ue() {
523
540
  return Math.random().toString(36).substring(2, 15);
524
541
  }
525
- function Fe() {
542
+ function Ne() {
526
543
  return (/* @__PURE__ */ new Date()).getTime();
527
544
  }
528
- function Ue() {
545
+ function Fe() {
529
546
  return window.location.href;
530
547
  }
531
548
  function W(t, e) {
532
549
  const n = t.signals;
533
550
  return e === "iframe" ? n.contexts.iframe.webdriver !== n.automation.webdriver || n.contexts.iframe.userAgent !== n.browser.userAgent || n.contexts.iframe.platform !== n.device.platform || n.contexts.iframe.memory !== n.device.memory || n.contexts.iframe.cpuCount !== n.device.cpuCount : n.contexts.webWorker.webdriver !== n.automation.webdriver || n.contexts.webWorker.userAgent !== n.browser.userAgent || n.contexts.webWorker.platform !== n.device.platform || n.contexts.webWorker.memory !== n.device.memory || n.contexts.webWorker.cpuCount !== n.device.cpuCount;
534
551
  }
535
- function Ve() {
552
+ function Ge() {
536
553
  const t = {
537
554
  bitmask: r,
538
555
  extensions: []
539
- }, e = document.body.hasAttribute("data-gr-ext-installed"), n = typeof window.ethereum < "u", i = document.getElementById("coupon-birds-drop-div") !== null, a = document.querySelector("deepl-input-controller") !== null, g = document.getElementById("monica-content-root") !== null, m = document.querySelector("chatgpt-sidebar") !== null, w = typeof window.__REQUESTLY__ < "u", o = Array.from(document.querySelectorAll("*")).filter((v) => v.tagName.toLowerCase().startsWith("veepn-")).length > 0;
556
+ }, e = document.body.hasAttribute("data-gr-ext-installed"), n = typeof window.ethereum < "u", i = document.getElementById("coupon-birds-drop-div") !== null, a = document.querySelector("deepl-input-controller") !== null, d = document.getElementById("monica-content-root") !== null, p = document.querySelector("chatgpt-sidebar") !== null, w = typeof window.__REQUESTLY__ < "u", o = Array.from(document.querySelectorAll("*")).filter((h) => h.tagName.toLowerCase().startsWith("veepn-")).length > 0;
540
557
  return t.bitmask = [
541
558
  e ? "1" : "0",
542
559
  n ? "1" : "0",
543
560
  i ? "1" : "0",
544
561
  a ? "1" : "0",
545
- g ? "1" : "0",
546
- m ? "1" : "0",
562
+ d ? "1" : "0",
563
+ p ? "1" : "0",
547
564
  w ? "1" : "0",
548
565
  o ? "1" : "0"
549
- ].join(""), e && t.extensions.push("grammarly"), n && t.extensions.push("metamask"), i && t.extensions.push("coupon-birds"), a && t.extensions.push("deepl"), g && t.extensions.push("monica-ai"), m && t.extensions.push("sider-ai"), w && t.extensions.push("requestly"), o && t.extensions.push("veepn"), t;
566
+ ].join(""), e && t.extensions.push("grammarly"), n && t.extensions.push("metamask"), i && t.extensions.push("coupon-birds"), a && t.extensions.push("deepl"), d && t.extensions.push("monica-ai"), p && t.extensions.push("sider-ai"), w && t.extensions.push("requestly"), o && t.extensions.push("veepn"), t;
550
567
  }
551
568
  function c(t) {
552
569
  try {
@@ -555,7 +572,7 @@ function c(t) {
555
572
  return !1;
556
573
  }
557
574
  }
558
- function Ge() {
575
+ function Ve() {
559
576
  const t = {
560
577
  bitmask: r,
561
578
  chrome: c(() => "chrome" in window),
@@ -608,7 +625,7 @@ function Be() {
608
625
  window.matchMedia(`(color: ${n})`).matches && (e = n);
609
626
  t.colorDepth = e;
610
627
  } catch {
611
- h(t, l);
628
+ m(t, l);
612
629
  }
613
630
  return t;
614
631
  }
@@ -616,83 +633,99 @@ function je(t) {
616
633
  const e = t.signals.device.screenResolution;
617
634
  return e.width === 800 && e.height === 600 || e.availableWidth === 800 && e.availableHeight === 600 || e.innerWidth === 800 && e.innerHeight === 600;
618
635
  }
619
- function Ne(t) {
620
- return t.signals.automation.webdriver === !0;
621
- }
622
636
  function ze(t) {
623
- return !!t.signals.automation.selenium;
637
+ return t.signals.automation.webdriver === !0;
624
638
  }
625
639
  function $e(t) {
626
- return t.signals.automation.cdp === !0;
640
+ return !!t.signals.automation.selenium;
627
641
  }
628
642
  function Qe(t) {
629
- return t.signals.automation.playwright === !0;
643
+ return t.signals.automation.cdp === !0;
630
644
  }
631
645
  function qe(t) {
632
- return typeof t.signals.device.memory != "number" ? !1 : t.signals.device.memory > 32 || t.signals.device.memory < 0.25;
646
+ return t.signals.automation.playwright === !0;
633
647
  }
634
648
  function Ke(t) {
635
- return typeof t.signals.device.cpuCount != "number" ? !1 : t.signals.device.cpuCount > 70;
649
+ return typeof t.signals.device.memory != "number" ? !1 : t.signals.device.memory > 32 || t.signals.device.memory < 0.25;
636
650
  }
637
651
  function Je(t) {
638
- const e = t.signals.browser.userAgent;
639
- return t.signals.browser.features.chrome === !1 && typeof e == "string" && e.includes("Chrome");
652
+ return typeof t.signals.device.cpuCount != "number" ? !1 : t.signals.device.cpuCount > 70;
640
653
  }
641
654
  function Ye(t) {
642
- return t.signals.contexts.iframe.webdriver === !0;
655
+ return t.includes("Android") || t.includes("iPhone") || t.includes("iPod") || t.includes("iPad");
643
656
  }
644
657
  function Ze(t) {
645
- return t.signals.contexts.webWorker.webdriver === !0;
658
+ const e = t.signals.browser.userAgent;
659
+ return typeof e != "string" || !e.includes("Chrome") || Ye(e) ? !1 : t.signals.browser.features.chrome === !1;
646
660
  }
647
661
  function Xe(t) {
648
- const e = t.signals.contexts.webWorker, n = t.signals.graphics.webGL;
649
- return e.vendor === l || e.renderer === l || n.vendor === s || n.renderer === s || e.vendor === f ? !1 : e.vendor !== n.vendor || e.renderer !== n.renderer;
662
+ return t.signals.contexts.iframe.webdriver === !0;
650
663
  }
651
664
  function et(t) {
652
- return t.signals.contexts.webWorker.platform === s || t.signals.contexts.webWorker.platform === l || t.signals.contexts.webWorker.platform === f ? !1 : t.signals.device.platform !== t.signals.contexts.webWorker.platform;
665
+ return t.signals.contexts.webWorker.webdriver === !0;
666
+ }
667
+ function b(t) {
668
+ return typeof t != "string" || t.length === 0 ? !0 : t === s || t === l || t === v || t === r;
653
669
  }
654
670
  function tt(t) {
671
+ const e = t.signals.contexts.webWorker, n = t.signals.graphics.webGL;
672
+ return b(n.vendor) || b(n.renderer) || b(e.vendor) || b(e.renderer) ? !1 : e.vendor !== n.vendor || e.renderer !== n.renderer;
673
+ }
674
+ function rt(t, e) {
675
+ const n = t.includes("iPad"), i = e.includes("iPad");
676
+ if (n === i)
677
+ return !1;
678
+ const a = (d) => d === "MacIntel" || d === "MacPPC";
679
+ return a(t) || a(e);
680
+ }
681
+ function nt(t) {
682
+ if (t.signals.contexts.webWorker.platform === s || t.signals.contexts.webWorker.platform === l || t.signals.contexts.webWorker.platform === v)
683
+ return !1;
684
+ const e = t.signals.device.platform, n = t.signals.contexts.webWorker.platform;
685
+ return !(e === n || rt(e, n));
686
+ }
687
+ function it(t) {
655
688
  return t.signals.contexts.iframe.platform === s || t.signals.contexts.iframe.platform === l ? !1 : t.signals.device.platform !== t.signals.contexts.iframe.platform;
656
689
  }
657
- function rt(t) {
690
+ function at(t) {
658
691
  return t.signals.automation.webdriverWritable === !0;
659
692
  }
660
- function nt(t) {
693
+ function ot(t) {
661
694
  return t.signals.graphics.webGL.renderer.includes("SwiftShader");
662
695
  }
663
- function it(t) {
696
+ function st(t) {
664
697
  return t.signals.locale.internationalization.timezone === "UTC";
665
698
  }
666
- function at(t) {
699
+ function ct(t) {
667
700
  const e = t.signals.locale.languages.languages, n = t.signals.locale.languages.language;
668
701
  return n && e && Array.isArray(e) && e.length > 0 ? e[0] !== n : !1;
669
702
  }
670
- function ot(t) {
703
+ function lt(t) {
671
704
  return !!(t.signals.browser.features.chrome && t.signals.browser.etsl !== 33 || t.signals.browser.features.safari && t.signals.browser.etsl !== 37 || t.signals.browser.userAgent.includes("Firefox") && t.signals.browser.etsl !== 37);
672
705
  }
673
- function st(t) {
706
+ function ut(t) {
674
707
  return [
675
708
  t.signals.browser.userAgent,
676
709
  t.signals.contexts.iframe.userAgent,
677
710
  t.signals.contexts.webWorker.userAgent
678
711
  ].some((n) => /bot|headless/i.test(n.toLowerCase()));
679
712
  }
680
- function ct(t) {
713
+ function dt(t) {
681
714
  const e = t.signals.graphics.webgpu, n = t.signals.graphics.webGL, i = t.signals.browser.userAgent;
682
715
  return !!((n.vendor.includes("Apple") || n.renderer.includes("Apple")) && !i.includes("Mac") || e.vendor.includes("apple") && !i.includes("Mac") || e.vendor.includes("apple") && !n.renderer.includes("Apple"));
683
716
  }
684
- function lt(t) {
717
+ function gt(t) {
685
718
  const e = t.signals.device.platform, n = t.signals.browser.userAgent, i = t.signals.browser.highEntropyValues.platform;
686
719
  return !!(n.includes("Mac") && (e.includes("Win") || e.includes("Linux")) || n.includes("Windows") && (e.includes("Mac") || e.includes("Linux")) || n.includes("Linux") && (e.includes("Mac") || e.includes("Win")) || i !== l && i !== s && (i.includes("Mac") && (e.includes("Win") || e.includes("Linux")) || i.includes("Windows") && (e.includes("Mac") || e.includes("Linux")) || i.includes("Linux") && (e.includes("Mac") || e.includes("Win"))));
687
720
  }
688
- async function ut(t, e) {
721
+ async function ht(t, e) {
689
722
  const n = new TextEncoder().encode(e), i = new TextEncoder().encode(t), a = new Uint8Array(i.length);
690
- for (let m = 0; m < i.length; m++)
691
- a[m] = i[m] ^ n[m % n.length];
692
- const g = String.fromCharCode(...a);
693
- return btoa(g);
723
+ for (let p = 0; p < i.length; p++)
724
+ a[p] = i[p] ^ n[p % n.length];
725
+ const d = String.fromCharCode(...a);
726
+ return btoa(d);
694
727
  }
695
- class ht {
728
+ class pt {
696
729
  constructor() {
697
730
  this.fingerprint = {
698
731
  signals: {
@@ -921,7 +954,7 @@ class ht {
921
954
  */
922
955
  generateFingerprintScannerId() {
923
956
  try {
924
- const e = this.fingerprint.signals, n = this.fingerprint.fastBotDetectionDetails, i = "FS1", g = [
957
+ const e = this.fingerprint.signals, n = this.fingerprint.fastBotDetectionDetails, i = "FS1", d = [
925
958
  n.headlessChromeScreenResolution.detected,
926
959
  n.hasWebdriver.detected,
927
960
  n.hasWebdriverWritable.detected,
@@ -944,19 +977,19 @@ class ht {
944
977
  n.hasGPUMismatch.detected,
945
978
  n.hasPlatformMismatch.detected
946
979
  // Add other detection rules output here
947
- ].map((u) => u ? "1" : "0").join(""), m = [
980
+ ].map((u) => u ? "1" : "0").join(""), p = [
948
981
  e.automation.webdriver === !0,
949
982
  e.automation.webdriverWritable === !0,
950
983
  e.automation.selenium === !0,
951
984
  e.automation.cdp === !0,
952
985
  e.automation.playwright === !0
953
- ].map((u) => u ? "1" : "0").join(""), w = p(String(e.automation.navigatorPropertyDescriptors)).slice(0, 4), o = `${m}h${w}`, v = typeof e.device.screenResolution.width == "number" ? e.device.screenResolution.width : 0, y = typeof e.device.screenResolution.height == "number" ? e.device.screenResolution.height : 0, M = typeof e.device.cpuCount == "number" ? String(e.device.cpuCount).padStart(2, "0") : "00", E = typeof e.device.memory == "number" ? String(Math.round(e.device.memory)).padStart(2, "0") : "00", k = [
986
+ ].map((u) => u ? "1" : "0").join(""), w = f(String(e.automation.navigatorPropertyDescriptors)).slice(0, 4), o = `${p}h${w}`, h = typeof e.device.screenResolution.width == "number" ? e.device.screenResolution.width : 0, y = typeof e.device.screenResolution.height == "number" ? e.device.screenResolution.height : 0, k = typeof e.device.cpuCount == "number" ? String(e.device.cpuCount).padStart(2, "0") : "00", E = typeof e.device.memory == "number" ? String(Math.round(e.device.memory)).padStart(2, "0") : "00", D = [
954
987
  e.device.screenResolution.hasMultipleDisplays === !0,
955
988
  e.device.mediaQueries.prefersReducedMotion === !0,
956
989
  e.device.mediaQueries.prefersReducedTransparency === !0,
957
990
  e.device.mediaQueries.hover === !0,
958
991
  e.device.mediaQueries.anyHover === !0
959
- ].map((u) => u ? "1" : "0").join(""), D = [
992
+ ].map((u) => u ? "1" : "0").join(""), _ = [
960
993
  e.device.platform,
961
994
  e.device.screenResolution.pixelDepth,
962
995
  e.device.screenResolution.colorDepth,
@@ -968,7 +1001,7 @@ class ht {
968
1001
  e.device.mediaQueries.pointer,
969
1002
  e.device.mediaQueries.anyPointer,
970
1003
  e.device.mediaQueries.colorDepth
971
- ].map((u) => String(u)).join("|"), _ = p(D).slice(0, 6), R = `${v}x${y}c${M}m${E}b${k}h${_}`, I = typeof e.browser.features.bitmask == "string" ? e.browser.features.bitmask : "0000000000", L = typeof e.browser.extensions.bitmask == "string" ? e.browser.extensions.bitmask : "00000000", T = [
1004
+ ].map((u) => String(u)).join("|"), R = f(_).slice(0, 6), I = `${h}x${y}c${k}m${E}b${D}h${R}`, L = typeof e.browser.features.bitmask == "string" ? e.browser.features.bitmask : "0000000000", T = typeof e.browser.extensions.bitmask == "string" ? e.browser.extensions.bitmask : "00000000", O = [
972
1005
  e.browser.plugins.isValidPluginArray === !0,
973
1006
  e.browser.plugins.pluginConsistency1 === !0,
974
1007
  e.browser.plugins.pluginOverflow === !0,
@@ -986,9 +1019,9 @@ class ht {
986
1019
  e.browser.highEntropyValues.platformVersion,
987
1020
  e.browser.highEntropyValues.uaFullVersion,
988
1021
  e.browser.highEntropyValues.mobile
989
- ].map((u) => String(u)).join("|"), O = p(H).slice(0, 6), F = `f${I}e${L}p${T}h${O}`, U = [
1022
+ ].map((u) => String(u)).join("|"), U = f(H).slice(0, 6), N = `f${L}e${T}p${O}h${U}`, F = [
990
1023
  e.graphics.canvas.hasModifiedCanvas === !0
991
- ].map((u) => u ? "1" : "0").join(""), V = [
1024
+ ].map((u) => u ? "1" : "0").join(""), G = [
992
1025
  e.graphics.webGL.vendor,
993
1026
  e.graphics.webGL.renderer,
994
1027
  e.graphics.webgpu.vendor,
@@ -996,26 +1029,26 @@ class ht {
996
1029
  e.graphics.webgpu.device,
997
1030
  e.graphics.webgpu.description,
998
1031
  e.graphics.canvas.canvasFingerprint
999
- ].map((u) => String(u)).join("|"), G = p(V).slice(0, 6), B = `${U}h${G}`, j = [
1032
+ ].map((u) => String(u)).join("|"), V = f(G).slice(0, 6), B = `${F}h${V}`, j = [
1000
1033
  e.codecs.hasMediaSource === !0
1001
- ].map((u) => u ? "1" : "0").join(""), N = [
1034
+ ].map((u) => u ? "1" : "0").join(""), z = [
1002
1035
  e.codecs.audioCanPlayTypeHash,
1003
1036
  e.codecs.videoCanPlayTypeHash,
1004
1037
  e.codecs.audioMediaSourceHash,
1005
1038
  e.codecs.videoMediaSourceHash,
1006
1039
  e.codecs.rtcAudioCapabilitiesHash,
1007
1040
  e.codecs.rtcVideoCapabilitiesHash
1008
- ].map((u) => String(u)).join("|"), z = p(N).slice(0, 6), $ = `${j}h${z}`, Q = typeof e.locale.languages.language == "string" ? e.locale.languages.language.slice(0, 2).toLowerCase() : "xx", q = Array.isArray(e.locale.languages.languages) ? e.locale.languages.languages.length : 0, K = (typeof e.locale.internationalization.timezone == "string" ? e.locale.internationalization.timezone : "unknown").replace(/[\/\s]/g, "-"), J = [
1041
+ ].map((u) => String(u)).join("|"), $ = f(z).slice(0, 6), Q = `${j}h${$}`, q = typeof e.locale.languages.language == "string" ? e.locale.languages.language.slice(0, 2).toLowerCase() : "xx", K = Array.isArray(e.locale.languages.languages) ? e.locale.languages.languages.length : 0, J = (typeof e.locale.internationalization.timezone == "string" ? e.locale.internationalization.timezone : "unknown").replace(/[\/\s]/g, "-"), Y = [
1009
1042
  e.locale.internationalization.timezone,
1010
1043
  e.locale.internationalization.localeLanguage,
1011
1044
  Array.isArray(e.locale.languages.languages) ? e.locale.languages.languages.join(",") : e.locale.languages.languages,
1012
1045
  e.locale.languages.language
1013
- ].map((u) => String(u)).join("|"), Y = p(J).slice(0, 4), Z = `${Q}${q}t${K}_h${Y}`, X = [
1046
+ ].map((u) => String(u)).join("|"), Z = f(Y).slice(0, 4), X = `${q}${K}t${J}_h${Z}`, ee = [
1014
1047
  W(this.fingerprint, "iframe"),
1015
1048
  W(this.fingerprint, "worker"),
1016
1049
  e.contexts.iframe.webdriver === !0,
1017
1050
  e.contexts.webWorker.webdriver === !0
1018
- ].map((u) => u ? "1" : "0").join(""), ee = [
1051
+ ].map((u) => u ? "1" : "0").join(""), te = [
1019
1052
  e.contexts.iframe.userAgent,
1020
1053
  e.contexts.iframe.platform,
1021
1054
  e.contexts.iframe.memory,
@@ -1028,17 +1061,17 @@ class ht {
1028
1061
  e.contexts.webWorker.language,
1029
1062
  e.contexts.webWorker.vendor,
1030
1063
  e.contexts.webWorker.renderer
1031
- ].map((u) => String(u)).join("|"), te = p(ee).slice(0, 6), re = `${X}h${te}`;
1064
+ ].map((u) => String(u)).join("|"), re = f(te).slice(0, 6), ne = `${ee}h${re}`;
1032
1065
  return [
1033
1066
  i,
1034
- g,
1067
+ d,
1035
1068
  o,
1036
- R,
1037
- F,
1069
+ I,
1070
+ N,
1038
1071
  B,
1039
- $,
1040
- Z,
1041
- re
1072
+ Q,
1073
+ X,
1074
+ ne
1042
1075
  ].join("_");
1043
1076
  } catch (e) {
1044
1077
  return console.error("Error generating fingerprint scanner id", e), l;
@@ -1048,34 +1081,34 @@ class ht {
1048
1081
  const n = "__DEFAULT_FPSCANNER_KEY__";
1049
1082
  return n.length > 20 && n.indexOf("DEFAULT") > 0 && n.indexOf("FPSCANNER") > 0 && console.warn(
1050
1083
  '[fpscanner] WARNING: Using default encryption key! Run "npx fpscanner build --key=your-secret-key" to inject your own key. See: https://github.com/antoinevastel/fpscanner#advanced-custom-builds'
1051
- ), await ut(JSON.stringify(e), n);
1084
+ ), await ht(JSON.stringify(e), n);
1052
1085
  }
1053
1086
  /**
1054
1087
  * Detection rules with name and severity.
1055
1088
  */
1056
1089
  getDetectionRules() {
1057
1090
  return [
1058
- { name: "headlessChromeScreenResolution", severity: d, test: je },
1059
- { name: "hasWebdriver", severity: d, test: Ne },
1060
- { name: "hasWebdriverWritable", severity: d, test: rt },
1061
- { name: "hasSeleniumProperty", severity: d, test: ze },
1062
- { name: "hasCDP", severity: d, test: $e },
1063
- { name: "hasPlaywright", severity: d, test: Qe },
1064
- { name: "hasImpossibleDeviceMemory", severity: d, test: qe },
1065
- { name: "hasHighCPUCount", severity: d, test: Ke },
1066
- { name: "hasMissingChromeObject", severity: d, test: Je },
1067
- { name: "hasWebdriverIframe", severity: d, test: Ye },
1068
- { name: "hasWebdriverWorker", severity: d, test: Ze },
1069
- { name: "hasMismatchWebGLInWorker", severity: d, test: Xe },
1070
- { name: "hasMismatchPlatformIframe", severity: d, test: tt },
1071
- { name: "hasMismatchPlatformWorker", severity: d, test: et },
1072
- { name: "hasSwiftshaderRenderer", severity: b, test: nt },
1073
- { name: "hasUTCTimezone", severity: oe, test: it },
1074
- { name: "hasMismatchLanguages", severity: b, test: at },
1075
- { name: "hasInconsistentEtsl", severity: d, test: ot },
1076
- { name: "hasBotUserAgent", severity: d, test: st },
1077
- { name: "hasGPUMismatch", severity: d, test: ct },
1078
- { name: "hasPlatformMismatch", severity: d, test: lt }
1091
+ { name: "headlessChromeScreenResolution", severity: g, test: je },
1092
+ { name: "hasWebdriver", severity: g, test: ze },
1093
+ { name: "hasWebdriverWritable", severity: g, test: at },
1094
+ { name: "hasSeleniumProperty", severity: g, test: $e },
1095
+ { name: "hasCDP", severity: g, test: Qe },
1096
+ { name: "hasPlaywright", severity: g, test: qe },
1097
+ { name: "hasImpossibleDeviceMemory", severity: g, test: Ke },
1098
+ { name: "hasHighCPUCount", severity: g, test: Je },
1099
+ { name: "hasMissingChromeObject", severity: g, test: Ze },
1100
+ { name: "hasWebdriverIframe", severity: g, test: Xe },
1101
+ { name: "hasWebdriverWorker", severity: g, test: et },
1102
+ { name: "hasMismatchWebGLInWorker", severity: g, test: tt },
1103
+ { name: "hasMismatchPlatformIframe", severity: g, test: it },
1104
+ { name: "hasMismatchPlatformWorker", severity: g, test: nt },
1105
+ { name: "hasSwiftshaderRenderer", severity: S, test: ot },
1106
+ { name: "hasUTCTimezone", severity: se, test: st },
1107
+ { name: "hasMismatchLanguages", severity: S, test: ct },
1108
+ { name: "hasInconsistentEtsl", severity: g, test: lt },
1109
+ { name: "hasBotUserAgent", severity: g, test: ut },
1110
+ { name: "hasGPUMismatch", severity: g, test: dt },
1111
+ { name: "hasPlatformMismatch", severity: g, test: gt }
1079
1112
  ];
1080
1113
  }
1081
1114
  runDetectionRules() {
@@ -1112,59 +1145,59 @@ class ht {
1112
1145
  return n;
1113
1146
  }
1114
1147
  async collectFingerprint(e = { encrypt: !0 }) {
1115
- const { encrypt: n = !0, skipWorker: i = !1 } = e, a = this.fingerprint.signals, g = {
1148
+ const { encrypt: n = !0, skipWorker: i = !1 } = e, a = this.fingerprint.signals, d = {
1116
1149
  // Automation signals
1117
- webdriver: this.collectSignal(ne),
1118
- webdriverWritable: this.collectSignal(be),
1119
- selenium: this.collectSignal(ye),
1120
- cdp: this.collectSignal(ce),
1121
- playwright: this.collectSignal(ue),
1150
+ webdriver: this.collectSignal(ie),
1151
+ webdriverWritable: this.collectSignal(Se),
1152
+ selenium: this.collectSignal(be),
1153
+ cdp: this.collectSignal(le),
1154
+ playwright: this.collectSignal(de),
1122
1155
  navigatorPropertyDescriptors: this.collectSignal(He),
1123
1156
  // Device signals
1124
- cpuCount: this.collectSignal(de),
1125
- memory: this.collectSignal(ge),
1126
- platform: this.collectSignal(ae),
1127
- screenResolution: this.collectSignal(fe),
1157
+ cpuCount: this.collectSignal(ge),
1158
+ memory: this.collectSignal(me),
1159
+ platform: this.collectSignal(oe),
1160
+ screenResolution: this.collectSignal(ve),
1128
1161
  multimediaDevices: this.collectSignal(Ee),
1129
1162
  mediaQueries: this.collectSignal(Be),
1130
1163
  // Browser signals
1131
- userAgent: this.collectSignal(ie),
1132
- browserFeatures: this.collectSignal(Ge),
1133
- plugins: this.collectSignal(Me),
1134
- browserExtensions: this.collectSignal(Ve),
1135
- highEntropyValues: this.collectSignal(Se),
1136
- etsl: this.collectSignal(me),
1164
+ userAgent: this.collectSignal(ae),
1165
+ browserFeatures: this.collectSignal(Ve),
1166
+ plugins: this.collectSignal(ke),
1167
+ browserExtensions: this.collectSignal(Ge),
1168
+ highEntropyValues: this.collectSignal(Ce),
1169
+ etsl: this.collectSignal(pe),
1137
1170
  maths: this.collectSignal(he),
1138
- toSourceError: this.collectSignal(_e),
1171
+ toSourceError: this.collectSignal(Re),
1139
1172
  // Graphics signals
1140
- webGL: this.collectSignal(le),
1141
- webgpu: this.collectSignal(we),
1142
- canvas: this.collectSignal(Te),
1173
+ webGL: this.collectSignal(ue),
1174
+ webgpu: this.collectSignal(ye),
1175
+ canvas: this.collectSignal(Oe),
1143
1176
  // Codecs
1144
- mediaCodecs: this.collectSignal(Re),
1177
+ mediaCodecs: this.collectSignal(Ie),
1145
1178
  // Locale signals
1146
- internationalization: this.collectSignal(pe),
1147
- languages: this.collectSignal(ve),
1179
+ internationalization: this.collectSignal(fe),
1180
+ languages: this.collectSignal(we),
1148
1181
  // Context signals
1149
- iframe: this.collectSignal(ke),
1182
+ iframe: this.collectSignal(De),
1150
1183
  webWorker: i ? Promise.resolve({
1151
- webdriver: f,
1152
- userAgent: f,
1153
- platform: f,
1154
- memory: f,
1155
- cpuCount: f,
1156
- language: f,
1157
- vendor: f,
1158
- renderer: f
1159
- }) : this.collectSignal(De),
1184
+ webdriver: v,
1185
+ userAgent: v,
1186
+ platform: v,
1187
+ memory: v,
1188
+ cpuCount: v,
1189
+ language: v,
1190
+ vendor: v,
1191
+ renderer: v
1192
+ }) : this.collectSignal(_e),
1160
1193
  // Meta signals
1161
- nonce: this.collectSignal(Oe),
1162
- time: this.collectSignal(Fe),
1163
- url: this.collectSignal(Ue)
1164
- }, m = Object.keys(g), w = await Promise.all(Object.values(g)), o = Object.fromEntries(m.map((v, y) => [v, w[y]]));
1165
- return a.automation.webdriver = o.webdriver, a.automation.webdriverWritable = o.webdriverWritable, a.automation.selenium = o.selenium, a.automation.cdp = o.cdp, a.automation.playwright = o.playwright, a.automation.navigatorPropertyDescriptors = o.navigatorPropertyDescriptors, a.device.cpuCount = o.cpuCount, a.device.memory = o.memory, a.device.platform = o.platform, a.device.screenResolution = o.screenResolution, a.device.multimediaDevices = o.multimediaDevices, a.device.mediaQueries = o.mediaQueries, a.browser.userAgent = o.userAgent, a.browser.features = o.browserFeatures, a.browser.plugins = o.plugins, a.browser.extensions = o.browserExtensions, a.browser.highEntropyValues = o.highEntropyValues, a.browser.etsl = o.etsl, a.browser.maths = o.maths, a.browser.toSourceError = o.toSourceError, a.graphics.webGL = o.webGL, a.graphics.webgpu = o.webgpu, a.graphics.canvas = o.canvas, a.codecs = o.mediaCodecs, a.locale.internationalization = o.internationalization, a.locale.languages = o.languages, a.contexts.iframe = o.iframe, a.contexts.webWorker = o.webWorker, this.fingerprint.nonce = o.nonce, this.fingerprint.time = o.time, this.fingerprint.url = o.url, this.fingerprint.fastBotDetectionDetails = this.runDetectionRules(), this.fingerprint.fastBotDetection = Object.values(this.fingerprint.fastBotDetectionDetails).some((v) => v.detected), this.fingerprint.fsid = this.generateFingerprintScannerId(), n ? await this.encryptFingerprint(JSON.stringify(this.fingerprint)) : this.fingerprint;
1194
+ nonce: this.collectSignal(Ue),
1195
+ time: this.collectSignal(Ne),
1196
+ url: this.collectSignal(Fe)
1197
+ }, p = Object.keys(d), w = await Promise.all(Object.values(d)), o = Object.fromEntries(p.map((h, y) => [h, w[y]]));
1198
+ return a.automation.webdriver = o.webdriver, a.automation.webdriverWritable = o.webdriverWritable, a.automation.selenium = o.selenium, a.automation.cdp = o.cdp, a.automation.playwright = o.playwright, a.automation.navigatorPropertyDescriptors = o.navigatorPropertyDescriptors, a.device.cpuCount = o.cpuCount, a.device.memory = o.memory, a.device.platform = o.platform, a.device.screenResolution = o.screenResolution, a.device.multimediaDevices = o.multimediaDevices, a.device.mediaQueries = o.mediaQueries, a.browser.userAgent = o.userAgent, a.browser.features = o.browserFeatures, a.browser.plugins = o.plugins, a.browser.extensions = o.browserExtensions, a.browser.highEntropyValues = o.highEntropyValues, a.browser.etsl = o.etsl, a.browser.maths = o.maths, a.browser.toSourceError = o.toSourceError, a.graphics.webGL = o.webGL, a.graphics.webgpu = o.webgpu, a.graphics.canvas = o.canvas, a.codecs = o.mediaCodecs, a.locale.internationalization = o.internationalization, a.locale.languages = o.languages, a.contexts.iframe = o.iframe, a.contexts.webWorker = o.webWorker, this.fingerprint.nonce = o.nonce, this.fingerprint.time = o.time, this.fingerprint.url = o.url, this.fingerprint.fastBotDetectionDetails = this.runDetectionRules(), this.fingerprint.fastBotDetection = Object.values(this.fingerprint.fastBotDetectionDetails).some((h) => h.detected), this.fingerprint.fsid = this.generateFingerprintScannerId(), n ? await this.encryptFingerprint(JSON.stringify(this.fingerprint)) : this.fingerprint;
1166
1199
  }
1167
1200
  }
1168
1201
  export {
1169
- ht as default
1202
+ pt as default
1170
1203
  };