@thumbmarkjs/thumbmarkjs 0.20.6 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -45
- package/dist/thumbmark.cjs.js +1 -1
- package/dist/thumbmark.cjs.js.map +1 -1
- package/dist/thumbmark.esm.d.ts +107 -16
- package/dist/thumbmark.esm.js +1 -1
- package/dist/thumbmark.esm.js.map +1 -1
- package/dist/thumbmark.umd.js +1 -1
- package/dist/thumbmark.umd.js.map +1 -1
- package/package.json +7 -2
- package/src/components/audio/{audio.ts → index.ts} +11 -8
- package/src/components/canvas/{canvas.ts → index.ts} +12 -8
- package/src/components/fonts/{fonts.ts → index.ts} +10 -5
- package/src/components/hardware/{hardware.ts → index.ts} +3 -5
- package/src/components/locales/{locales.ts → index.ts} +2 -4
- package/src/components/math/index.ts +28 -0
- package/src/components/permissions/{permissions.ts → index.ts} +29 -37
- package/src/components/plugins/{plugins.ts → index.ts} +2 -4
- package/src/components/screen/{screen.ts → index.ts} +2 -4
- package/src/components/system/{system.ts → index.ts} +2 -5
- package/src/components/webgl/{webgl.ts → index.ts} +3 -5
- package/src/factory.ts +40 -29
- package/src/functions/filterComponents.ts +42 -0
- package/src/functions/functions.test.ts +39 -0
- package/src/functions/index.ts +262 -0
- package/src/functions/legacy_functions.ts +54 -0
- package/src/index.ts +13 -4
- package/src/{fingerprint/options.ts → options.ts} +20 -12
- package/src/thumbmark.ts +41 -0
- package/src/{declarations.d.ts → types/global.d.ts} +1 -1
- package/src/utils/raceAll.ts +0 -2
- package/src/components/index.ts +0 -17
- package/src/components/math/math.ts +0 -39
- package/src/fingerprint/functions.test.ts +0 -34
- package/src/fingerprint/functions.ts +0 -118
- /package/src/components/canvas/{canvas.test.ts → index.test.ts} +0 -0
package/dist/thumbmark.esm.d.ts
CHANGED
|
@@ -1,44 +1,135 @@
|
|
|
1
|
+
interface optionsInterface {
|
|
2
|
+
exclude?: string[];
|
|
3
|
+
include?: string[];
|
|
4
|
+
permissions_to_check?: PermissionName[];
|
|
5
|
+
timeout?: number;
|
|
6
|
+
logging?: boolean;
|
|
7
|
+
api_key?: string;
|
|
8
|
+
cache_api_call?: boolean;
|
|
9
|
+
performance?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param key @deprecated this function will be removed
|
|
14
|
+
* @param value
|
|
15
|
+
*/
|
|
16
|
+
declare function setOption<K extends keyof optionsInterface>(key: K, value: optionsInterface[K]): void;
|
|
17
|
+
|
|
1
18
|
/**
|
|
2
19
|
* This file is used to create the includeComponent function as well as the interfaces each of the
|
|
3
20
|
* fingerprint components must implement.
|
|
4
21
|
*
|
|
5
22
|
*/
|
|
23
|
+
|
|
6
24
|
interface componentInterface {
|
|
7
25
|
[key: string]: string | string[] | number | boolean | componentInterface;
|
|
8
26
|
}
|
|
9
27
|
interface componentFunctionInterface {
|
|
10
|
-
(): Promise<componentInterface>;
|
|
28
|
+
(options?: optionsInterface): Promise<componentInterface | null>;
|
|
11
29
|
}
|
|
12
30
|
/**
|
|
13
31
|
* includeComponent is the function each component function needs to call in order for the component to be included
|
|
14
32
|
* in the fingerprint.
|
|
15
33
|
* @param {string} name - the name identifier of the component
|
|
16
34
|
* @param {componentFunctionInterface} creationFunction - the function that implements the component
|
|
17
|
-
* @returns
|
|
35
|
+
* @returns nothing
|
|
18
36
|
*/
|
|
19
|
-
declare const includeComponent: (name: string, creationFunction: componentFunctionInterface) => void;
|
|
37
|
+
declare const includeComponent: (name: string, creationFunction: componentFunctionInterface, options?: optionsInterface) => void;
|
|
20
38
|
|
|
21
|
-
|
|
39
|
+
/**
|
|
40
|
+
* This file is here to support legacy implementations.
|
|
41
|
+
* Eventually, these functions will be removed to keep the library small.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @deprecated
|
|
47
|
+
*/
|
|
22
48
|
declare function getFingerprintData(): Promise<componentInterface>;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @param includeData boolean
|
|
52
|
+
* @deprecated this function is going to be removed. use getThumbmark or Thumbmark class instead.
|
|
53
|
+
*/
|
|
23
54
|
declare function getFingerprint(includeData?: false): Promise<string>;
|
|
24
55
|
declare function getFingerprint(includeData: true): Promise<{
|
|
25
56
|
hash: string;
|
|
26
57
|
data: componentInterface;
|
|
27
58
|
}>;
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
* @deprecated use Thumbmark or getThumbmark instead with options
|
|
62
|
+
*/
|
|
28
63
|
declare function getFingerprintPerformance(): Promise<{
|
|
29
|
-
|
|
64
|
+
elapsed: Record<string, number>;
|
|
30
65
|
}>;
|
|
31
66
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
67
|
+
/**
|
|
68
|
+
* ThumbmarkJS: Main fingerprinting and API logic
|
|
69
|
+
*
|
|
70
|
+
* This module handles component collection, API calls, uniqueness scoring, and data filtering
|
|
71
|
+
* for the ThumbmarkJS browser fingerprinting library.
|
|
72
|
+
*
|
|
73
|
+
* Exports:
|
|
74
|
+
* - getThumbmark
|
|
75
|
+
* - getThumbmarkDataFromPromiseMap
|
|
76
|
+
* - resolveClientComponents
|
|
77
|
+
* - getVersion
|
|
78
|
+
* - filterThumbmarkData
|
|
79
|
+
*
|
|
80
|
+
* Internal helpers and types are also defined here.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Final thumbmark response structure
|
|
85
|
+
*/
|
|
86
|
+
interface thumbmarkResponse {
|
|
87
|
+
components: componentInterface;
|
|
88
|
+
info: {
|
|
89
|
+
[key: string]: any;
|
|
90
|
+
};
|
|
91
|
+
version: string;
|
|
92
|
+
thumbmark: string;
|
|
93
|
+
/**
|
|
94
|
+
* Only present if options.performance is true.
|
|
95
|
+
*/
|
|
96
|
+
elapsed?: any;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Returns the current package version
|
|
100
|
+
*/
|
|
101
|
+
declare function getVersion(): string;
|
|
102
|
+
/**
|
|
103
|
+
* Main entry point: collects all components, optionally calls API, and returns thumbmark data.
|
|
104
|
+
*
|
|
105
|
+
* @param options - Options for fingerprinting and API
|
|
106
|
+
* @returns thumbmarkResponse (elapsed is present only if options.performance is true)
|
|
107
|
+
*/
|
|
108
|
+
declare function getThumbmark(options?: optionsInterface): Promise<thumbmarkResponse>;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* A client for generating thumbmarks with a persistent configuration.
|
|
112
|
+
*/
|
|
113
|
+
declare class Thumbmark {
|
|
114
|
+
private options;
|
|
115
|
+
/**
|
|
116
|
+
* Creates a new Thumbmarker client instance.
|
|
117
|
+
* @param options - Default configuration options for this instance.
|
|
118
|
+
*/
|
|
119
|
+
constructor(options?: optionsInterface);
|
|
120
|
+
/**
|
|
121
|
+
* Generates a thumbmark using the instance's configuration.
|
|
122
|
+
* @param overrideOptions - Options to override for this specific call.
|
|
123
|
+
* @returns The thumbmark result.
|
|
124
|
+
*/
|
|
125
|
+
get(overrideOptions?: optionsInterface): Promise<any>;
|
|
126
|
+
getVersion(): string;
|
|
127
|
+
/**
|
|
128
|
+
* Register a custom component to be included in the fingerprint.
|
|
129
|
+
* @param key - The component name
|
|
130
|
+
* @param fn - The component function
|
|
131
|
+
*/
|
|
132
|
+
includeComponent(key: string, fn: (options?: optionsInterface) => Promise<componentInterface | null>): void;
|
|
41
133
|
}
|
|
42
|
-
declare function setOption<K extends keyof optionsInterface>(key: K, value: optionsInterface[K]): void;
|
|
43
134
|
|
|
44
|
-
export { getFingerprint, getFingerprintData, getFingerprintPerformance, getVersion, includeComponent, setOption };
|
|
135
|
+
export { Thumbmark, getFingerprint, getFingerprintData, getFingerprintPerformance, getThumbmark, getVersion, includeComponent, setOption };
|
package/dist/thumbmark.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,n,r,t){return new(r||(r=Promise))((function(o,a){function i(e){try{c(t.next(e))}catch(e){a(e)}}function u(e){try{c(t.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)}))).then(i,u)}c((t=t.apply(e,n||[])).next())}))}function n(e,n){var r,t,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&u[0]?t.return:u[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,u[1])).done)return o;switch(t=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,t=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(e,i)}catch(e){u=[6,e],t=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}"function"==typeof SuppressedError&&SuppressedError;var r={exclude:[],include:[],logging:!0,timeout:1e3};function t(e,n){if(!["include","exclude","permissions_to_check","retries","timeout","logging"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(n)||!n.every((function(e){return"string"==typeof e}))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof n)throw new Error("The value of retries must be a number");r[e]=n}var o={},a={timeout:"true"},i=function(e,n){"undefined"!=typeof window&&(o[e]=n)},u=function(){return Object.fromEntries(Object.entries(o).filter((function(e){var n,t=e[0];return!(null===(n=null==r?void 0:r.exclude)||void 0===n?void 0:n.includes(t))})).filter((function(e){var n,t,o,a,i=e[0];return(null===(n=null==r?void 0:r.include)||void 0===n?void 0:n.some((function(e){return e.includes(".")})))?null===(t=null==r?void 0:r.include)||void 0===t?void 0:t.some((function(e){return e.startsWith(i)})):0===(null===(o=null==r?void 0:r.include)||void 0===o?void 0:o.length)||(null===(a=null==r?void 0:r.include)||void 0===a?void 0:a.includes(i))})).map((function(e){return[e[0],(0,e[1])()]})))};function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}var s=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,n){return e<<n|e>>>32-n}function d(e,n){var r;if(void 0===n&&(n=0),n=n?0|n:0,"string"==typeof e&&(r=e,e=(new TextEncoder).encode(r).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var t=new Uint32Array([n,n,n,n]);!function(e,n){for(var r=e.byteLength/16|0,t=new Uint32Array(e,0,4*r),o=0;o<r;o++){var a=t.subarray(4*o,4*(o+1));a[0]=Math.imul(a[0],s[0]),a[0]=l(a[0],15),a[0]=Math.imul(a[0],s[1]),n[0]=n[0]^a[0],n[0]=l(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,a[1]=Math.imul(a[1],s[1]),a[1]=l(a[1],16),a[1]=Math.imul(a[1],s[2]),n[1]=n[1]^a[1],n[1]=l(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,a[2]=Math.imul(a[2],s[2]),a[2]=l(a[2],17),a[2]=Math.imul(a[2],s[3]),n[2]=n[2]^a[2],n[2]=l(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,a[3]=Math.imul(a[3],s[3]),a[3]=l(a[3],18),a[3]=Math.imul(a[3],s[0]),n[3]=n[3]^a[3],n[3]=l(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,t),function(e,n){var r=e.byteLength/16|0,t=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*r,t);switch(t){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],s[3]),o[3]=l(o[3],18),o[3]=Math.imul(o[3],s[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],s[2]),o[2]=l(o[2],17),o[2]=Math.imul(o[2],s[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],s[1]),o[1]=l(o[1],16),o[1]=Math.imul(o[1],s[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],s[0]),o[0]=l(o[0],15),o[0]=Math.imul(o[0],s[1]),n[0]=n[0]^o[0]}}(e,t),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=c(n[0]),n[1]=c(n[1]),n[2]=c(n[2]),n[3]=c(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,t);var o=new Uint8Array(t.buffer);return Array.from(o).map((function(e){return e.toString(16).padStart(2,"0")})).join("")}function f(e,n){return new Promise((function(r){setTimeout((function(){return r(n)}),e)}))}function h(e,n,r){return Promise.all(e.map((function(e){var t=performance.now();return Promise.race([e.then((function(e){return{value:e,elapsed:performance.now()-t}})),f(n,r).then((function(e){return{value:e,elapsed:performance.now()-t}}))])})))}function m(e,n,r){return Promise.all(e.map((function(e){return Promise.race([e,f(n,r)])})))}function v(){return"0.20.6"}function g(){return e(this,void 0,void 0,(function(){var e,t,o,i,c;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=u(),t=Object.keys(e),[4,m(Object.values(e),(null==r?void 0:r.timeout)||1e3,a)];case 1:return o=n.sent(),i=o.filter((function(e){return void 0!==e})),c={},i.forEach((function(e,n){c[t[n]]=e})),[2,p(c,r.exclude||[],r.include||[],"")];case 2:throw n.sent();case 3:return[2]}}))}))}function p(e,n,r,t){void 0===t&&(t="");for(var o={},a=function(e,a){var i=t+e+".";if("object"!=typeof a||Array.isArray(a)){var u=n.some((function(e){return i.startsWith(e)})),c=r.some((function(e){return i.startsWith(e)}));u&&!c||(o[e]=a)}else{var s=p(a,n,r,i);Object.keys(s).length>0&&(o[e]=s)}},i=0,u=Object.entries(e);i<u.length;i++){var c=u[i];a(c[0],c[1])}return o}function w(t){return e(this,void 0,void 0,(function(){var o,a;return n(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,g()];case 1:return o=i.sent(),a=d(JSON.stringify(o)),Math.random()<1e-5&&r.logging&&function(r,t){e(this,void 0,void 0,(function(){var e,o;return n(this,(function(n){switch(n.label){case 0:if(e="https://logging.thumbmarkjs.com/v1/log",o={thumbmark:r,components:t,version:"0.20.6"},sessionStorage.getItem("_tmjs_l"))return[3,4];sessionStorage.setItem("_tmjs_l","1"),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})];case 2:case 3:return n.sent(),[3,4];case 4:return[2]}}))}))}(a,o),t?[2,{hash:a.toString(),data:o}]:[2,a.toString()];case 2:throw i.sent();case 3:return[2]}}))}))}function y(){return e(this,void 0,void 0,(function(){var e,t,o,i;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=u(),t=Object.keys(e),[4,h(Object.values(e),(null==r?void 0:r.timeout)||1e3,a)];case 1:return o=n.sent(),i={elapsed:{}},o.forEach((function(e,n){i[t[n]]=e.value,i.elapsed[t[n]]=e.elapsed})),[2,i];case 2:throw n.sent();case 3:return[2]}}))}))}function b(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};for(var e=navigator.userAgent,n={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"},r=0,t=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<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>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/];r<t.length;r++){var o=t[r],a=e.match(o);if(a&&a.groups)return{name:n[a.groups.name.toLowerCase()]||a.groups.name,version:a.groups.version}}return{name:"unknown",version:"unknown"}}function S(e){for(var n=0,r=0;r<e.length;++r)n+=Math.abs(e[r]);return n}var M=b();function E(e,n,r){for(var t=[],o=0;o<e[0].data.length;o++){for(var a=[],i=0;i<e.length;i++)a.push(e[i].data[o]);t.push(P(a))}var u=new Uint8ClampedArray(t);return new ImageData(u,n,r)}function P(e){if(0===e.length)return 0;for(var n={},r=0,t=e;r<t.length;r++){n[a=t[r]]=(n[a]||0)+1}var o=e[0];for(var a in n)n[a]>n[o]&&(o=parseInt(a,10));return o}["SamsungBrowser","Safari"].includes(M.name)||i("audio",(function(){return e(this,void 0,void 0,(function(){return n(this,(function(e){return[2,new Promise((function(e,n){try{var r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),t=r.createBufferSource(),o=r.createOscillator();o.frequency.value=1e3;var a,i=r.createDynamicsCompressor();i.threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.2,o.connect(i),i.connect(r.destination),o.start(),r.oncomplete=function(n){a=n.renderedBuffer.getChannelData(0),e({sampleHash:S(a),oscillator:o.type,maxChannels:r.destination.maxChannelCount,channelCountMode:t.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))]}))}))}));var A=b(),C=A.name.toLowerCase(),x=A.version.split(".")[0]||"0",T=parseInt(x,10);"firefox"===C||"safari"===C&&17===T||i("canvas",(function(){return document.createElement("canvas").getContext("2d"),new Promise((function(e){var n=Array.from({length:3},(function(){return function(){var e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=280,e.height=20;var r=n.createLinearGradient(0,0,e.width,e.height);r.addColorStop(0,"red"),r.addColorStop(1/6,"orange"),r.addColorStop(2/6,"yellow"),r.addColorStop(.5,"green"),r.addColorStop(4/6,"blue"),r.addColorStop(5/6,"indigo"),r.addColorStop(1,"violet"),n.fillStyle=r,n.fillRect(0,0,e.width,e.height);var t="Random Text WMwmil10Oo";return n.font="23.123px Arial",n.fillStyle="black",n.fillText(t,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(t,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke(),n.getImageData(0,0,e.width,e.height)}()}));e({commonImageDataHash:d(E(n,280,20).data.toString()).toString()})}))}));var k,I=["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"],R=["monospace","sans-serif","serif"];function L(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font="72px ".concat(n),e.measureText("WwMmLli0Oo").width}function _(){var e,n=document.createElement("canvas"),r=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(r&&"getParameter"in r)try{var t=(r.getParameter(r.VENDOR)||"").toString(),o=(r.getParameter(r.RENDERER)||"").toString(),a={vendor:t,renderer:o,version:(r.getParameter(r.VERSION)||"").toString(),shadingLanguageVersion:(r.getParameter(r.SHADING_LANGUAGE_VERSION)||"").toString()};if(!o.length||!t.length){var i=r.getExtension("WEBGL_debug_renderer_info");if(i){var u=(r.getParameter(i.UNMASKED_VENDOR_WEBGL)||"").toString(),c=(r.getParameter(i.UNMASKED_RENDERER_WEBGL)||"").toString();u&&(a.vendorUnmasked=u),c&&(a.rendererUnmasked=c)}}return a}catch(e){}return"undefined"}function O(){var e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}function B(e,n){var r={};return n.forEach((function(n){var t=function(e){if(0===e.length)return null;var n={};e.forEach((function(e){var r=String(e);n[r]=(n[r]||0)+1}));var r=e[0],t=1;return Object.keys(n).forEach((function(e){n[e]>t&&(r=e,t=n[e])})),r}(e.map((function(e){return n in e?e[n]:void 0})).filter((function(e){return void 0!==e})));t&&(r[n]=t)})),r}function D(){var e=[],n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((function(r){n[r].forEach((function(n){matchMedia("(".concat(r,": ").concat(n,")")).matches&&e.push("".concat(r,": ").concat(n))}))})),e}"Firefox"!=b().name&&i("fonts",(function(){var r=this;return new Promise((function(t,o){try{!function(r){var t;e(this,void 0,void 0,(function(){var e,o,a;return n(this,(function(n){switch(n.label){case 0:return document.body?[3,2]:[4,(i=50,new Promise((function(e){return setTimeout(e,i,u)})))];case 1:return n.sent(),[3,0];case 2:if((e=document.createElement("iframe")).setAttribute("frameBorder","0"),(o=e.style).setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),e.src="about:blank",document.body.appendChild(e),!(a=e.contentDocument||(null===(t=e.contentWindow)||void 0===t?void 0:t.document)))throw new Error("Iframe document is not accessible");return r({iframe:a}),setTimeout((function(){document.body.removeChild(e)}),0),[2]}var i,u}))}))}((function(o){var a=o.iframe;return e(r,void 0,void 0,(function(){var e,r,o,i;return n(this,(function(n){return e=a.createElement("canvas"),r=e.getContext("2d"),o=R.map((function(e){return L(r,e)})),i={},I.forEach((function(e){var n=L(r,e);o.includes(n)||(i[e]=n)})),t(i),[2]}))}))}))}catch(e){o({error:"unsupported"})}}))})),i("hardware",(function(){return new Promise((function(e,n){var r=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,t=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:_(),architecture:O(),deviceMemory:r.toString()||"undefined",jsHeapSizeLimit:t.jsHeapSizeLimit||0})}))})),i("locales",(function(){return new Promise((function(e){e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))})),i("permissions",(function(){return e(this,void 0,void 0,(function(){var t;return n(this,(function(o){return k=(null==r?void 0:r.permissions_to_check)||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],"safari"===b().name.toLowerCase()&&(k=k.filter((function(e){return!["camera","geolocation","microphone"].includes(e)}))),t=Array.from({length:(null==r?void 0:r.retries)||3},(function(){return function(){return e(this,void 0,void 0,(function(){var e,r,t,o,a;return n(this,(function(n){switch(n.label){case 0:e={},r=0,t=k,n.label=1;case 1:if(!(r<t.length))return[3,6];o=t[r],n.label=2;case 2:return n.trys.push([2,4,,5]),[4,navigator.permissions.query({name:o})];case 3:return a=n.sent(),e[o]=a.state.toString(),[3,5];case 4:return n.sent(),[3,5];case 5:return r++,[3,1];case 6:return[2,e]}}))}))}()})),[2,Promise.all(t).then((function(e){return B(e,k)}))]}))}))})),i("plugins",(function(){var e=[];if(navigator.plugins)for(var n=0;n<navigator.plugins.length;n++){var r=navigator.plugins[n];e.push([r.name,r.filename,r.description].join("|"))}return new Promise((function(n){n({plugins:e})}))})),i("screen",(function(){return new Promise((function(e){e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:D()})}))})),i("system",(function(){return new Promise((function(e){var n=b(),r={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(r.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{for(var e=window.ApplePaySession.supportsVersion,n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),r.cookieEnabled=window.navigator.cookieEnabled),e(r)}))}));var U,N="SamsungBrowser"!==b().name?1:3,F=null;i("webgl",(function(){return e(this,void 0,void 0,(function(){var e;return n(this,(function(n){"undefined"!=typeof document&&((U=document.createElement("canvas")).width=200,U.height=100,F=U.getContext("webgl"));try{if(!F)throw new Error("WebGL not supported");return e=Array.from({length:N},(function(){return function(){try{if(!F)throw new Error("WebGL not supported");var e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",r=F.createShader(F.VERTEX_SHADER),t=F.createShader(F.FRAGMENT_SHADER);if(!r||!t)throw new Error("Failed to create shaders");if(F.shaderSource(r,e),F.shaderSource(t,n),F.compileShader(r),!F.getShaderParameter(r,F.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+F.getShaderInfoLog(r));if(F.compileShader(t),!F.getShaderParameter(t,F.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+F.getShaderInfoLog(t));var o=F.createProgram();if(!o)throw new Error("Failed to create shader program");if(F.attachShader(o,r),F.attachShader(o,t),F.linkProgram(o),!F.getProgramParameter(o,F.LINK_STATUS))throw new Error("Shader program linking failed: "+F.getProgramInfoLog(o));F.useProgram(o);for(var a=137,i=new Float32Array(4*a),u=2*Math.PI/a,c=0;c<a;c++){var s=c*u;i[4*c]=0,i[4*c+1]=0,i[4*c+2]=Math.cos(s)*(U.width/2),i[4*c+3]=Math.sin(s)*(U.height/2)}var l=F.createBuffer();F.bindBuffer(F.ARRAY_BUFFER,l),F.bufferData(F.ARRAY_BUFFER,i,F.STATIC_DRAW);var d=F.getAttribLocation(o,"position");F.enableVertexAttribArray(d),F.vertexAttribPointer(d,2,F.FLOAT,!1,0,0),F.viewport(0,0,U.width,U.height),F.clearColor(0,0,0,1),F.clear(F.COLOR_BUFFER_BIT),F.drawArrays(F.LINES,0,2*a);var f=new Uint8ClampedArray(U.width*U.height*4);return F.readPixels(0,0,U.width,U.height,F.RGBA,F.UNSIGNED_BYTE,f),new ImageData(f,U.width,U.height)}catch(e){return new ImageData(1,1)}finally{F&&(F.bindBuffer(F.ARRAY_BUFFER,null),F.useProgram(null),F.viewport(0,0,F.drawingBufferWidth,F.drawingBufferHeight),F.clearColor(0,0,0,0))}}()})),[2,{commonImageHash:d(E(e,U.width,U.height).data.toString()).toString()}]}catch(e){return[2,{webgl:"unsupported"}]}return[2]}))}))}));var j=function(e,n,r,t){for(var o=(r-n)/t,a=0,i=0;i<t;i++){a+=e(n+(i+.5)*o)}return a*o};i("math",(function(){return e(void 0,void 0,void 0,(function(){return n(this,(function(e){return[2,{acos:Math.acos(.5),asin:j(Math.asin,-1,1,97),atan:j(Math.atan,-1,1,97),cos:j(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:j(Math.sin,-Math.PI,Math.PI,97),sinh:j(Math.sinh,-9/7,7/9,97),sqrt:Math.sqrt(2),tan:j(Math.tan,0,2*Math.PI,97),tanh:j(Math.tanh,-9/7,7/9,97)}]}))}))}));export{w as getFingerprint,g as getFingerprintData,y as getFingerprintPerformance,v as getVersion,i as includeComponent,t as setOption};
|
|
1
|
+
const e={exclude:[],include:[],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1};let n={...e};function t(e,t){if(!["include","exclude","permissions_to_check","retries","timeout","logging","api_key","cache_api_call"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(t)||!t.every((e=>"string"==typeof e))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof t)throw new Error("The value of retries must be a number");n[e]=t}function r(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,n=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<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>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/],t={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const r of n){const n=e.match(r);if(n&&n.groups){return{name:t[n.groups.name.toLowerCase()]||n.groups.name,version:n.groups.version}}}return{name:"unknown",version:"unknown"}}function o(e){let n=0;for(let t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function a(e,n,t){let r=[];for(let n=0;n<e[0].data.length;n++){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].data[n]);r.push(i(t))}const o=new Uint8ClampedArray(r);return new ImageData(o,n,t)}function i(e){if(0===e.length)return 0;const n={};for(const t of e)n[t]=(n[t]||0)+1;let t=e[0];for(const e in n)n[e]>n[t]&&(t=parseInt(e,10));return t}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,n){return e<<n|e>>>32-n}function u(e,n=0){var t;if(n=n?0|n:0,"string"==typeof e&&(t=e,e=(new TextEncoder).encode(t).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const r=new Uint32Array([n,n,n,n]);!function(e,n){const t=e.byteLength/16|0,r=new Uint32Array(e,0,4*t);for(let e=0;e<t;e++){const t=r.subarray(4*e,4*(e+1));t[0]=Math.imul(t[0],c[0]),t[0]=l(t[0],15),t[0]=Math.imul(t[0],c[1]),n[0]=n[0]^t[0],n[0]=l(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,t[1]=Math.imul(t[1],c[1]),t[1]=l(t[1],16),t[1]=Math.imul(t[1],c[2]),n[1]=n[1]^t[1],n[1]=l(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,t[2]=Math.imul(t[2],c[2]),t[2]=l(t[2],17),t[2]=Math.imul(t[2],c[3]),n[2]=n[2]^t[2],n[2]=l(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,t[3]=Math.imul(t[3],c[3]),t[3]=l(t[3],18),t[3]=Math.imul(t[3],c[0]),n[3]=n[3]^t[3],n[3]=l(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,r),function(e,n){const t=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*t,r);switch(r){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],c[3]),o[3]=l(o[3],18),o[3]=Math.imul(o[3],c[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],c[2]),o[2]=l(o[2],17),o[2]=Math.imul(o[2],c[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],c[1]),o[1]=l(o[1],16),o[1]=Math.imul(o[1],c[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],c[0]),o[0]=l(o[0],15),o[0]=Math.imul(o[0],c[1]),n[0]=n[0]^o[0]}}(e,r),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=s(n[0]),n[1]=s(n[1]),n[2]=s(n[2]),n[3]=s(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,r);const o=new Uint8Array(r.buffer);return Array.from(o).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=r(),m=d.name.toLowerCase(),h=d.version.split(".")[0]||"0",f=parseInt(h,10),g=280;function p(e,n){return new Promise((t=>setTimeout(t,e,n)))}const w=["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"],v=["monospace","sans-serif","serif"];function y(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font=`72px ${n}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const n=document.createElement("canvas"),t=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString(),n=(t.getParameter(t.RENDERER)||"").toString();let r={vendor:e,renderer:n,version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};if(!n.length||!e.length){const e=t.getExtension("WEBGL_debug_renderer_info");if(e){const n=(t.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();n&&(r.vendorUnmasked=n),o&&(r.rendererUnmasked=o)}}return r}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}const E=(e,n,t,r)=>{const o=(t-n)/r;let a=0;for(let t=0;t<r;t++){a+=e(n+(t+.5)*o)}return a*o};function P(e,n){const t={};return n.forEach((n=>{const r=function(e){if(0===e.length)return null;const n={};e.forEach((e=>{const t=String(e);n[t]=(n[t]||0)+1}));let t=e[0],r=1;return Object.keys(n).forEach((e=>{n[e]>r&&(t=e,r=n[e])})),t}(e.map((e=>n in e?e[n]:void 0)).filter((e=>void 0!==e)));r&&(t[n]=r)})),t}const M=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function A(){let e=[];const n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((t=>{n[t].forEach((n=>{matchMedia(`(${t}: ${n})`).matches&&e.push(`${t}: ${n}`)}))})),e}const C="SamsungBrowser"!==r().name?1:3;let k,x=null;const T={audio:async function(e){const n=r();return["SamsungBrowser","Safari"].includes(n.name)?null:async function(){return new Promise(((e,n)=>{try{const n=44100,t=5e3,r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,t,n),a=r.createBufferSource(),i=r.createOscillator();i.frequency.value=1e3;const s=r.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,i.connect(s),s.connect(r.destination),i.start(),r.oncomplete=n=>{c=n.renderedBuffer.getChannelData(0),e({sampleHash:o(c),maxChannels:r.destination.maxChannelCount,channelCountMode:a.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))}()},canvas:async function(e){return r(),"firefox"===m||"safari"===m&&f>=17?null:function(){const e=document.createElement("canvas");return e.getContext("2d"),new Promise((e=>{const n=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=g,e.height=20;const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"red"),t.addColorStop(1/6,"orange"),t.addColorStop(2/6,"yellow"),t.addColorStop(.5,"green"),t.addColorStop(4/6,"blue"),t.addColorStop(5/6,"indigo"),t.addColorStop(1,"violet"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height);const r="Random Text WMwmil10Oo";n.font="23.123px Arial",n.fillStyle="black",n.fillText(r,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(r,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke();const o=n.getImageData(0,0,e.width,e.height);return o}()));e({commonPixelsHash:u(a(n,g,20).data.toString()).toString()})}))}()},fonts:async function(e){const n=r();return["Firefox"].includes(n.name)?null:new Promise(((e,n)=>{try{!async function(e){for(var n;!document.body;)await p(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const r=t.style;r.setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const o=t.contentDocument||(null===(n=t.contentWindow)||void 0===n?void 0:n.document);if(!o)throw new Error("Iframe document is not accessible");e({iframe:o}),setTimeout((()=>{document.body.removeChild(t)}),0)}((async({iframe:n})=>{const t=n.createElement("canvas").getContext("2d"),r=v.map((e=>y(t,e)));let o={};w.forEach((e=>{const n=y(t,e);r.includes(n)||(o[e]=n)})),e(o)}))}catch(e){n({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,n)=>{const t=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:t.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:E(Math.asin,-1,1,97),cos:E(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:E(Math.sin,-Math.PI,Math.PI,97),tan:E(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let n=(null==e?void 0:e.permissions_to_check)||M;"safari"===r().name.toLowerCase()&&(n=n.filter((e=>!["camera","geolocation","microphone"].includes(e))));const t=Array.from({length:3},(()=>async function(e){const n={};for(const t of e)try{const e=await navigator.permissions.query({name:t});n[t]=e.state.toString()}catch(e){}return n}(n)));return Promise.all(t).then((e=>P(e,n)))},plugins:function(){const e=[];if(navigator.plugins)for(let n=0;n<navigator.plugins.length;n++){const t=navigator.plugins[n];e.push([t.name,t.filename,t.description].join("|"))}return new Promise((n=>{n({plugins:e})}))},screen:function(){return new Promise((e=>{e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:A()})}))},system:function(){return new Promise((e=>{const n=r(),t={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(t.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),t.cookieEnabled=window.navigator.cookieEnabled),e(t)}))},webgl:async function(){"undefined"!=typeof document&&(k=document.createElement("canvas"),k.width=200,k.height=100,x=k.getContext("webgl"));try{if(!x)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!x)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 ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",t=x.createShader(x.VERTEX_SHADER),r=x.createShader(x.FRAGMENT_SHADER);if(!t||!r)throw new Error("Failed to create shaders");if(x.shaderSource(t,e),x.shaderSource(r,n),x.compileShader(t),!x.getShaderParameter(t,x.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+x.getShaderInfoLog(t));if(x.compileShader(r),!x.getShaderParameter(r,x.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+x.getShaderInfoLog(r));const o=x.createProgram();if(!o)throw new Error("Failed to create shader program");if(x.attachShader(o,t),x.attachShader(o,r),x.linkProgram(o),!x.getProgramParameter(o,x.LINK_STATUS))throw new Error("Shader program linking failed: "+x.getProgramInfoLog(o));x.useProgram(o);const a=137,i=new Float32Array(4*a),s=2*Math.PI/a;for(let e=0;e<a;e++){const n=e*s;i[4*e]=0,i[4*e+1]=0,i[4*e+2]=Math.cos(n)*(k.width/2),i[4*e+3]=Math.sin(n)*(k.height/2)}const c=x.createBuffer();x.bindBuffer(x.ARRAY_BUFFER,c),x.bufferData(x.ARRAY_BUFFER,i,x.STATIC_DRAW);const l=x.getAttribLocation(o,"position");x.enableVertexAttribArray(l),x.vertexAttribPointer(l,2,x.FLOAT,!1,0,0),x.viewport(0,0,k.width,k.height),x.clearColor(0,0,0,1),x.clear(x.COLOR_BUFFER_BIT),x.drawArrays(x.LINES,0,2*a);const u=new Uint8ClampedArray(k.width*k.height*4);x.readPixels(0,0,k.width,k.height,x.RGBA,x.UNSIGNED_BYTE,u);return new ImageData(u,k.width,k.height)}catch(e){return new ImageData(1,1)}finally{x&&(x.bindBuffer(x.ARRAY_BUFFER,null),x.useProgram(null),x.viewport(0,0,x.drawingBufferWidth,x.drawingBufferHeight),x.clearColor(0,0,0,0))}}()));return{commonPixelsHash:u(a(e,k.width,k.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={},R={timeout:"true"},L=(e,n,t)=>{_[e]=n};var I="1.0.0-rc.1";function O(e,n,t=""){const r={},o=(null==n?void 0:n.exclude)||[],a=(null==n?void 0:n.include)||[];for(const[i,s]of Object.entries(e)){const e=t+i+".";if("object"!=typeof s||Array.isArray(s)){const n=o.some((n=>e.startsWith(n))),t=a.some((n=>e.startsWith(n)));n&&!t||(r[i]=s)}else{const t=O(s,n,e);Object.keys(t).length>0&&(r[i]=t)}}return r}function B(){return I}let D=null,N=null;async function U(n){const t={...e,...n},r={...T,..._},{elapsed:o,resolvedComponents:a}=await F(r,t),i=t.api_key?((e,n)=>{if(e.cache_api_call&&N)return Promise.resolve(N);if(D)return D;const t=fetch("https://api-dev.thumbmarkjs.com/thumbmark",{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized"},body:JSON.stringify({components:n,clientHash:u(JSON.stringify(n))})}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>(N=e,D=null,e))).catch((e=>(console.error("Error fetching pro data",e),D=null,null))),r=e.timeout||5e3,o=new Promise((e=>{setTimeout((()=>{e({thumbmark:u(JSON.stringify(n)),info:{timed_out:!0},version:I})}),r)}));return D=Promise.race([t,o]),D})(t,a):null,s=i?await i:null,c=t.performance?{elapsed:o}:{};if(s){return{components:a,info:s.info||{},version:B(),thumbmark:s.thumbmark||"undefined",...c}}return{thumbmark:u(JSON.stringify(a)),components:a,info:{uniqueness:"api only"},version:B(),...c}}async function F(n,t){const r={...e,...t},o=Object.entries(n).filter((([e])=>{var n;return!(null===(n=null==r?void 0:r.exclude)||void 0===n?void 0:n.includes(e))})).filter((([e])=>{var n,t,o,a;return(null===(n=null==r?void 0:r.include)||void 0===n?void 0:n.some((e=>e.includes("."))))?null===(t=null==r?void 0:r.include)||void 0===t?void 0:t.some((n=>n.startsWith(e))):0===(null===(o=null==r?void 0:r.include)||void 0===o?void 0:o.length)||(null===(a=null==r?void 0:r.include)||void 0===a?void 0:a.includes(e))})),a=o.map((([e])=>e)),i=o.map((([e,n])=>n(t))),s=await function(e,n,t){return Promise.all(e.map((e=>{const r=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-r}))),(o=n,a=t,new Promise((e=>{setTimeout((()=>e(a)),o)}))).then((e=>({value:e,elapsed:performance.now()-r})))]);var o,a})))}(i,(null==r?void 0:r.timeout)||5e3,R),c={},l={};s.forEach(((e,n)=>{var t;null!=e.value&&(l[a[n]]=e.value,c[a[n]]=null!==(t=e.elapsed)&&void 0!==t?t:0)}));const u=O(l,r,"");return{elapsed:c,resolvedComponents:u}}async function G(){return(await U(n)).components}async function W(e){try{const t=await U(n);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}}async function V(){try{const{elapsed:e,resolvedComponents:t}=await F(T,n);return{...t,elapsed:e}}catch(e){throw e}}class j{constructor(n){this.options={...e,...n}}async get(e){return U({...this.options,...e})}getVersion(){return B()}includeComponent(e,n){L(e,n)}}export{j as Thumbmark,W as getFingerprint,G as getFingerprintData,V as getFingerprintPerformance,U as getThumbmark,B as getVersion,L as includeComponent,t as setOption};
|
|
2
2
|
//# sourceMappingURL=thumbmark.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/fingerprint/options.ts","../src/factory.ts","../src/utils/hash.ts","../src/utils/raceAll.ts","../src/fingerprint/functions.ts","../src/components/system/browser.ts","../src/components/audio/audio.ts","../src/utils/commonPixels.ts","../src/components/canvas/canvas.ts","../src/components/fonts/fonts.ts","../src/components/permissions/permissions.ts","../src/components/hardware/hardware.ts","../src/utils/getMostFrequent.ts","../src/components/screen/screen.ts","../src/utils/ephemeralIFrame.ts","../src/components/locales/locales.ts","../src/components/plugins/plugins.ts","../src/components/system/system.ts","../src/components/webgl/webgl.ts","../src/components/math/math.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","undefined","SuppressedError","options","exclude","include","logging","timeout","setOption","key","includes","Error","Array","isArray","every","item","components","timeoutInstance","includeComponent","name","creationFunction","window","getComponentPromises","Object","fromEntries","entries","filter","_a","_b","some","_c","startsWith","_d","_e","map","fmix","input","Math","imul","C","Uint32Array","rotl","m","hash","seed","text","TextEncoder","encode","buffer","ArrayBuffer","blocks","byteLength","view32","i","k","subarray","reminder","tail","Uint8Array","finalize","byteArray","from","byte","toString","padStart","join","delay","val","setTimeout","raceAllPerformance","promises","timeoutTime","timeoutVal","all","p","startTime","performance","now","race","elapsed","raceAll","getVersion","getFingerprintData","promiseMap","keys_1","keys","values","resolvedValues","validValues","resolvedComponents_1","forEach","index","filterFingerprintData","obj","excludeList","includeList","path","_loop_1","currentPath","isExcluded","exclusion","isIncluded","inclusion","filtered","_i","getFingerprint","includeData","fingerprintData","thisHash","JSON","stringify","random","url","payload","thumbmark","version","sessionStorage","getItem","setItem","fetch","method","headers","logFingerprintData","data","getFingerprintPerformance","keys_2","resolvedComponents_2","getBrowser","navigator","ua","userAgent","browserNameMap","edg","opr","samsung","regexes_1","regex","match","groups","toLowerCase","calculateHash","samples","abs","browser","getCommonPixels","images","width","height","finalData","indice","u","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","arr_1","num","mostFrequent","parseInt","audioContext_1","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer_1","createBufferSource","oscillator_1","createOscillator","frequency","samples_1","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","oscillator","type","maxChannels","maxChannelCount","channelCountMode","startRendering","error","console","ver","split","majorVer","document","createElement","getContext","imageDatas","canvas","ctx","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","font","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","getImageData","generateCanvasImageData","commonImageDataHash","permission_keys","availableFonts","baseFonts","measureSingleFont","concat","measureText","getVideoCard","gl","vendor","getParameter","VENDOR","renderer","RENDERER","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","getArchitecture","Float32Array","u8","Infinity","mostFrequentValuesInArrayOfDictionaries","mostFrequentValueForKey","element","String","highestFrequency","mostFrequentValue","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","_this","callback","durationMs","resolveWith","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","permissions_to_check","permissionPromises","retries","permissionStatus","permission_keys_1","feature","permissions","query","status_1","state","getBrowserPermissionsOnce","resolvedPermissions","plugins","plugin","filename","description","is_touchscreen","maxTouchPoints","colorDepth","screen","mediaMatches","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","_RUNS","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","PI","angle","cos","sin","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","commonImageHash","webgl","integrate","a","b","h","sum","acos","asin","atan","cosh","E","largeCos","largeSin","largeTan","tan","log","pi","sinh","sqrt","tanh"],"mappings":"AAkHO,SAASA,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACtE,GACA,CAEO,SAASO,EAAYjB,EAASkB,GACjC,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAK,EAAEK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEZ,KAAMkB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOC,IAAO,GAAGX,EACvJ,SAASM,EAAKM,GAAK,OAAO,SAAUC,GAAK,OACzC,SAAcC,GACV,GAAIjB,EAAG,MAAM,IAAIkB,UAAU,mCAC3B,KAAOf,IAAMA,EAAI,EAAGc,EAAG,KAAOb,EAAI,IAAKA,OACnC,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARe,EAAG,GAAShB,EAAU,OAAIgB,EAAG,GAAKhB,EAAS,SAAOC,EAAID,EAAU,SAAMC,EAAEiB,KAAKlB,GAAI,GAAKA,EAAEV,SAAWW,EAAIA,EAAEiB,KAAKlB,EAAGgB,EAAG,KAAKtB,KAAM,OAAOO,EAE3J,OADID,EAAI,EAAGC,IAAGe,EAAK,CAAS,EAARA,EAAG,GAAQf,EAAEb,QACzB4B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGf,EAAIe,EAAI,MACxB,KAAK,EAAc,OAAXb,EAAEC,QAAgB,CAAEhB,MAAO4B,EAAG,GAAItB,MAAM,GAChD,KAAK,EAAGS,EAAEC,QAASJ,EAAIgB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKb,EAAEI,IAAIY,MAAOhB,EAAEG,KAAKa,MAAO,SACxC,QACI,KAAMlB,EAAIE,EAAEG,MAAML,EAAIA,EAAEmB,OAAS,GAAKnB,EAAEA,EAAEmB,OAAS,KAAkB,IAAVJ,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEb,EAAI,EAAG,QAAW,CAC5G,GAAc,IAAVa,EAAG,MAAcf,GAAMe,EAAG,GAAKf,EAAE,IAAMe,EAAG,GAAKf,EAAE,IAAM,CAAEE,EAAEC,MAAQY,EAAG,GAAI,KAAQ,CACtF,GAAc,IAAVA,EAAG,IAAYb,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIe,EAAI,KAAQ,CACrE,GAAIf,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIc,KAAKL,GAAK,KAAQ,CAC/Df,EAAE,IAAIE,EAAEI,IAAIY,MAChBhB,EAAEG,KAAKa,MAAO,SAEtBH,EAAKlB,EAAKoB,KAAKtC,EAASuB,EAC3B,CAAC,MAAOZ,GAAKyB,EAAK,CAAC,EAAGzB,GAAIS,EAAI,CAAE,CAAW,QAAED,EAAIE,EAAI,CAAI,CAC1D,GAAY,EAARe,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE5B,MAAO4B,EAAG,GAAKA,EAAG,QAAKM,EAAQ5B,MAAM,EAC7E,CAtB+CL,CAAK,CAACyB,EAAGC,GAAM,CAAG,CAuBtE,CAqKkD,mBAApBQ,iBAAiCA,gBChTxD,IAAIC,EAA4B,CACnCC,QAAS,GACTC,QAAS,GACTC,SAAS,EACTC,QAAS,KAGG,SAAAC,EAA4CC,EAAQ1C,GAChE,IAAK,CAAC,UAAW,UAAW,uBAAwB,UAAW,UAAW,WAAW2C,SAASD,GAC1F,MAAM,IAAIE,MAAM,kBAAoBF,GACxC,GAAI,CAAC,UAAW,UAAW,wBAAwBC,SAASD,MAAUG,MAAMC,QAAQ9C,KAAUA,EAAM+C,OAAM,SAAAC,GAAQ,MAAgB,iBAATA,CAAP,KAC9G,MAAM,IAAIJ,MAAM,0FACpB,GAAI,CAAE,UAAW,WAAWD,SAASD,IAAyB,iBAAV1C,EAChD,MAAM,IAAI4C,MAAM,yCACpBR,EAAQM,GAAO1C,CACnB,CCNQ,IAAMiD,EAA2D,CAAE,EAG9DC,EAAsC,CAC/CV,QAAW,QAUFW,EAAmB,SAACC,EAAaC,GACpB,oBAAXC,SACPL,EAAWG,GAAQC,EAC3B,EAMaE,EAAuB,WAChC,OAAOC,OAAOC,YACVD,OAAOE,QAAQT,GACVU,QAAO,SAACC,SAAClB,EAAGkB,EAAA,GACT,gBAAQC,EAAAzB,aAAAF,EAAAE,EAASC,8BAASM,SAASD,GAAK,IAE3CiB,QAAO,SAACC,eAAClB,EAAGkB,EAAA,GACT,OAAuB,QAAhBC,EAAAzB,eAAAA,EAASE,eAAOJ,IAAA2B,OAAA3B,EAAA2B,EAAEC,MAAK,SAAA3D,GAAK,OAAAA,EAAEwC,SAAS,SACxB,QAAhBoB,EAAA3B,eAAAA,EAASE,eAAOJ,IAAA6B,OAAA7B,EAAA6B,EAAED,MAAK,SAAA3D,GAAK,OAAAA,EAAE6D,WAAWtB,EAAI,IAChB,KAAX,QAAlBuB,EAAA7B,aAAAF,EAAAE,EAASE,eAASJ,IAAA+B,OAAA/B,EAAA+B,EAAAjC,UAAgC,QAAhBkC,EAAA9B,aAAOF,EAAPE,EAASE,eAAOJ,IAAAgC,OAAAhC,EAAAgC,EAAEvB,SAASD,GACtE,IAEAyB,KAAI,SAACP,GAAiB,MAAA,CAAbA,EAAA,IAAmB5D,EAAZ4D,EAAA,UAE7B,EC/CA,SAASQ,EAAMC,GAOb,OANAA,GAAUA,IAAU,GACpBA,EAAQC,KAAKC,KAAKF,EAAO,YACzBA,GAAUA,IAAU,GACpBA,EAAQC,KAAKC,KAAKF,EAAO,aACzBA,GAAUA,IAAU,MAEF,CACpB,CAEA,IAAMG,EAAI,IAAIC,YAAY,CACxB,UACA,WACA,UACA,aAGF,SAASC,EAAMC,EAAYjD,GACzB,OAAQiD,GAAKjD,EAAMiD,IAAO,GAAKjD,CACjC,CAsJgB,SAAAkD,EAAMlC,EAA4BmC,GA9KlD,IAAoBC,EAqLlB,QAPgD5C,IAAA2C,IAAAA,EAAQ,GACxDA,EAAQA,EAAe,EAAPA,EAAY,EAET,iBAARnC,IAjLOoC,EAkLCpC,EAAjBA,GAjLc,IAAIqC,aACLC,OAAOF,GAAMG,UAmLtBvC,aAAewC,aACnB,MAAM,IAAIrD,UAAU,4CAGtB,IAAM+C,EAAO,IAAIH,YAAY,CAACI,EAAMA,EAAMA,EAAMA,KA/JlD,SAAenC,EAAmBkC,GAIhC,IAHA,IAAMO,EAAUzC,EAAI0C,WAAa,GAAM,EACjCC,EAAS,IAAIZ,YAAY/B,EAAK,EAAY,EAATyC,GAE9BG,EAAI,EAAGA,EAAIH,EAAQG,IAAK,CAC/B,IAAMC,EAAIF,EAAOG,SAAa,EAAJF,EAAiB,GAATA,EAAI,IAEtCC,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IAEzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GACvBX,EAAK,GAAKF,EAAKE,EAAK,GAAI,IACxBA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAC1BA,EAAK,GAAKN,KAAKC,KAAKK,EAAK,GAAI,GAAK,WAElCW,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IAEzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GACvBX,EAAK,GAAKF,EAAKE,EAAK,GAAI,IACxBA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAC1BA,EAAK,GAAKN,KAAKC,KAAKK,EAAK,GAAI,GAAK,UAElCW,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IAEzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GACvBX,EAAK,GAAKF,EAAKE,EAAK,GAAI,IACxBA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAC1BA,EAAK,GAAKN,KAAKC,KAAKK,EAAK,GAAI,GAAK,WAElCW,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IAEzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GACvBX,EAAK,GAAKF,EAAKE,EAAK,GAAI,IACxBA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAC1BA,EAAK,GAAKN,KAAKC,KAAKK,EAAK,GAAI,GAAK,UAEtC,CAsHElE,CAAKgC,EAAKkC,GApHZ,SAAelC,EAAmBkC,GAChC,IAAMO,EAAUzC,EAAI0C,WAAa,GAAM,EACjCK,EAAY/C,EAAI0C,WAAa,GAE7BG,EAAI,IAAId,YAAY,GACpBiB,EAAO,IAAIC,WAAWjD,EAAc,GAATyC,EAAaM,GAE9C,OAAQA,GACN,KAAK,GACHF,EAAE,GAAMA,EAAE,GAAMG,EAAK,KAAO,GAE9B,KAAK,GACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,KAAO,EAE9B,KAAK,GACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAErBH,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GAEzB,KAAK,GACHA,EAAE,GAAMA,EAAE,GAAMG,EAAK,KAAO,GAE9B,KAAK,GACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,KAAO,GAE9B,KAAK,GACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,EAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,GAErBH,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GAEzB,KAAK,EACHA,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,GAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,GAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,EAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,GAErBH,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GAEzB,KAAK,EACHA,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,GAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,GAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,IAAM,EAE7B,KAAK,EACHH,EAAE,GAAMA,EAAE,GAAMG,EAAK,GAErBH,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBe,EAAE,GAAKb,EAAKa,EAAE,GAAI,IAClBA,EAAE,GAAKjB,KAAKC,KAAKgB,EAAE,GAAIf,EAAE,IACzBI,EAAK,GAAMA,EAAK,GAAKW,EAAE,GAE7B,CA4CEG,CAAKhD,EAAKkC,GA1CZ,SAAmBlC,EAAmBkC,GACpCA,EAAK,GAAMA,EAAK,GAAKlC,EAAI0C,WACzBR,EAAK,GAAMA,EAAK,GAAKlC,EAAI0C,WACzBR,EAAK,GAAMA,EAAK,GAAKlC,EAAI0C,WACzBR,EAAK,GAAMA,EAAK,GAAKlC,EAAI0C,WAEzBR,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAEhCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAEhCA,EAAK,GAAKR,EAAKQ,EAAK,IACpBA,EAAK,GAAKR,EAAKQ,EAAK,IACpBA,EAAK,GAAKR,EAAKQ,EAAK,IACpBA,EAAK,GAAKR,EAAKQ,EAAK,IAEpBA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAEhCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,EAChCA,EAAK,GAAMA,EAAK,GAAKA,EAAK,GAAM,CAClC,CAiBEgB,CAASlD,EAAKkC,GACd,IAAMiB,EAAY,IAAIF,WAAWf,EAAKK,QACtC,OAAOpC,MAAMiD,KAAKD,GAAW1B,KAAI,SAAA4B,GAAQ,OAAAA,EAAKC,SAAS,IAAIC,SAAS,EAAG,QAAMC,KAAK,GACpF,CCjMgB,SAAAC,EAAStF,EAAWuF,GAClC,OAAO,IAAIxG,SAAW,SAACC,GACrBwG,YAAW,WAAM,OAAAxG,EAAQuG,EAAI,GAAEvF,EACjC,GACF,UAQgByF,EACdC,EACAC,EACAC,GAEA,OAAO7G,QAAQ8G,IACbH,EAASpC,KAAI,SAACwC,GACZ,IAAMC,EAAYC,YAAYC,MAC9B,OAAOlH,QAAQmH,KAAK,CAClBJ,EAAEpG,MAAK,SAACP,GAAU,MAAC,CACjBA,MAAKA,EACLgH,QAASH,YAAYC,MAAQF,MAE/BT,EAAMK,EAAaC,GAAYlG,MAAK,SAACP,GAAU,MAAC,CAC9CA,MAAKA,EACLgH,QAASH,YAAYC,MAAQF,WAKvC,UAIgBK,EAAWV,EAAwBC,EAAqBC,GACtE,OAAO7G,QAAQ8G,IAAIH,EAASpC,KAAI,SAACwC,GAC/B,OAAO/G,QAAQmH,KAAK,CAACJ,EAAGR,EAAMK,EAAaC,QAE/C,UCtCgBS,IACZ,cACJ,UAEsBC,4GAK6C,6BAHrDC,EAA0D7D,IAC1D8D,EAAiB7D,OAAO8D,KAAKF,GAEwB,CAAA,EAAMH,EADjBzD,OAAO+D,OAAOH,IACqBhF,aAAAF,EAAAE,EAASI,UAAW,IAAMU,WAM7G,OANMsE,EAAqD5D,EAAkE3C,OACvHwG,EAAoCD,EAAe7D,QAAO,SAAC3D,GAAuC,YAAUkC,IAAVlC,KAClG0H,EAAyD,CAAE,EACjED,EAAYE,SAAQ,SAAC3H,EAAO4H,GACxBF,EAAmBL,EAAKO,IAAU5H,CACtC,IACA,CAAA,EAAO6H,EAAsBH,EAAoBtF,EAAQC,SAAW,GAAID,EAAQE,SAAW,GAAI,YAG/F,sCAEP,CAUK,SAAUuF,EAAsBC,EAAyBC,EAAuBC,EAAuBC,QAAA/F,IAAA+F,IAAAA,EAAiB,IAG1H,IAFA,IAAM5H,EAA6B,CAAE,EAEzB6H,EAAA,SAAAxF,EAAK1C,GACb,IAAMmI,EAAcF,EAAOvF,EAAM,IAEjC,GAAqB,iBAAV1C,GAAuB6C,MAAMC,QAAQ9C,GAKzC,CACH,IAAMoI,EAAaL,EAAYjE,MAAK,SAAAuE,GAAa,OAAAF,EAAYnE,WAAWqE,MAClEC,EAAaN,EAAYlE,MAAK,SAAAyE,GAAa,OAAAJ,EAAYnE,WAAWuE,MAEnEH,IAAcE,IACfjI,EAAOqC,GAAO1C,OAVkC,CACpD,IAAMwI,EAAWX,EAAsB7H,EAAO+H,EAAaC,EAAaG,GACpE3E,OAAO8D,KAAKkB,GAAUxG,OAAS,IAC/B3B,EAAOqC,GAAO8F,KANoBC,EAAA,EAAnB7E,EAAAJ,OAAOE,QAAQoE,GAAfW,EAAmB7E,EAAA5B,OAAnByG,IAAmB,CAAnC,IAAA5E,OAACqE,EAAGrE,EAAA,GAAOA,EAAA,GAgBrB,CAED,OAAOxD,CACX,CAIM,SAAgBqI,EAAeC,qGAEL,6BAAM,CAAA,EAAAxB,YAG9B,OAHMyB,EAAkBhF,EAA0B3C,OAC5C4H,EAAWjE,EAAKkE,KAAKC,UAAUH,IACjCtE,KAAK0E,SAAW,MAAW5G,EAAQG,SAgC/C,SAAkCsG,EAAkBD,8FAO5C,GANEK,EAAM,yCACNC,EAAU,CACZC,UAAWN,EACX5F,WAAY2F,EACZQ,kBAECC,eAAeC,QAAQ,WAAxB,MAAkC,CAAA,EAAA,GAClCD,eAAeE,QAAQ,UAAW,sBAE9B,6BAAM,CAAA,EAAAC,MAAMP,EAAK,CACbQ,OAAQ,OACRC,QAAS,CACL,eAAgB,oBAEpBhJ,KAAMoI,KAAKC,UAAUG,iEAIpC,CAnDuDS,CAAmBd,EAAUD,GACzED,EACA,CAAA,EAAO,CAAE/D,KAAMiE,EAAS7C,WAAY4D,KAAMhB,IAE1C,CAAA,EAAOC,EAAS7C,mBAGpB,sCAEP,UAEqB6D,0GAKS,6BAHjBzC,EAAa7D,IACbuG,EAAOtG,OAAO8D,KAAKF,GAEF,CAAA,EAAMd,EADZ9C,OAAO+D,OAAOH,IAC2BhF,aAAAF,EAAAE,EAASI,UAAW,IAAMU,WAQpF,OARMsE,EAAiB5D,EAA8E3C,OAC/F8I,EAA6C,CAC/C/C,QAAS,CAAA,GAEbQ,EAAeG,SAAQ,SAAC3H,EAAO4H,GAC3BmC,EAAmBD,EAAKlC,IAAU5H,EAAMA,MACxC+J,EAA4B,QAAED,EAAKlC,IAAU5H,EAAMgH,OACvD,IACA,CAAA,EAAO+C,UAGP,sCAEP,UCxFeC,IACd,GAAyB,oBAAdC,UACT,MAAO,CACL7G,KAAM,UACNgG,QAAS,WAgCX,IA7BA,IAAMc,EAAKD,UAAUE,UAsBfC,EAA4C,CAChDC,IAAO,OACPC,IAAO,QACPC,QAAW,kBAIO9B,EAAA,EAAA+B,EA3BJ,CAEd,qDAEA,+CAEA,kFAEA,4EAEA,6CAEA,6DAEA,wDAEA,iDAWkB/B,WAAAA,IAAS,CAAxB,IAAMgC,EAAKD,EAAA/B,GACRiC,EAAQR,EAAGQ,MAAMD,GACvB,GAAIC,GAASA,EAAMC,OAIjB,MAAO,CACLvH,KAHWgH,EAAeM,EAAMC,OAAOvH,KAAKwH,gBAAkBF,EAAMC,OAAOvH,KAI3EgG,QAASsB,EAAMC,OAAOvB,SAM5B,MAAO,CACLhG,KAAM,UACNgG,QAAS,UAEb,CCRF,SAASyB,EAAcC,GAErB,IADA,IAAIlG,EAAO,EACFU,EAAI,EAAGA,EAAIwF,EAAQ9I,SAAUsD,EACpCV,GAAQN,KAAKyG,IAAID,EAAQxF,IAE3B,OAAOV,CACT,CAEA,IAAMoG,EAAUhB,aC7DAiB,EAAgBC,EAAqBC,EAAeC,GAEhE,IADA,IAAIC,EAAsB,GACjB/F,EAAI,EAAGA,EAAI4F,EAAO,GAAGtB,KAAK5H,OAAQsD,IAAK,CAE5C,IADA,IAAIgG,EAAmB,GACdC,EAAI,EAAGA,EAAIL,EAAOlJ,OAAQuJ,IAC/BD,EAAOrJ,KAAKiJ,EAAOK,GAAG3B,KAAKtE,IAE/B+F,EAAUpJ,KAAKuJ,EAAgBF,IAGnC,IACMG,EAAa,IAAIC,kBADLL,GAElB,OAAO,IAAIM,UAAUF,EAAYN,EAAOC,EAC5C,CAEA,SAASI,EAAgBI,GACrB,GAAmB,IAAfA,EAAI5J,OACN,OAAO,EAMT,IAHA,IAAM6J,EAA0C,CAAE,EAGhCpD,EAAA,EAAAqD,EAAGF,EAAHnD,WAAAA,IAAK,CACrBoD,EADSE,EAAGD,EAAArD,KACSoD,EAAaE,IAAQ,GAAK,EAGjD,IAAIC,EAAuBJ,EAAI,GAG/B,IAAK,IAAMG,KAAOF,EACZA,EAAaE,GAAOF,EAAaG,KACnCA,EAAeC,SAASF,EAAK,KAIjC,OAAOC,CACT,CDyBG,CAAC,iBAAkB,UAAUrJ,SAASqI,EAAQ5H,OACjDD,EAAiB,SA5DnB,8EA6CE,MAAA,CAAA,EA5CsB,IAAIvD,SAA4B,SAACC,EAASC,GAC9D,IAEE,IAEMoM,EAAe,IAAK5I,OAAO6I,qBAAuB7I,OAAO8I,2BAA2B,EADvE,IADA,OAGbC,EAAcH,EAAaI,qBAE3BC,EAAaL,EAAaM,mBAChCD,EAAWE,UAAUzM,MAAQ,IAC7B,IASI0M,EATEC,EAAaT,EAAaU,2BAChCD,EAAWE,UAAU7M,OAAS,GAC9B2M,EAAWG,KAAK9M,MAAQ,GACxB2M,EAAWI,MAAM/M,MAAQ,GACzB2M,EAAWK,OAAOhN,MAAQ,EAC1B2M,EAAWM,QAAQjN,MAAQ,GAC3BuM,EAAWW,QAAQP,GACnBA,EAAWO,QAAQhB,EAAaiB,aAChCZ,EAAWa,QAGXlB,EAAamB,WAAa,SAAAC,GACxBZ,EAAUY,EAAMC,eAAeC,eAAe,GAC9C3N,EACI,CACI4N,WAAc5C,EAAc6B,GAC5BgB,WAAcnB,EAAWoB,KACzBC,YAAe1B,EAAaiB,YAAYU,gBACxCC,iBAAoBzB,EAAYyB,kBAIzC,EAED5B,EAAa6B,iBAGb,MAAOC,GACPC,QAAQD,MAAM,oCAAqCA,GACnDlO,EAAOkO,GAGX,UAID,IE7CD,IAAMhD,EAAUhB,IACV5G,EAAO4H,EAAQ5H,KAAKwH,cACpBsD,EAAMlD,EAAQ5B,QAAQ+E,MAAM,KAAK,IAAM,IACvCC,EAAWnC,SAASiC,EAAK,IAkFlB,YAAT9K,GAAiC,WAATA,GAAkC,KAAbgL,GAC/CjL,EAAiB,UAtEL,WAIZ,OAHekL,SAASC,cAAc,UACnBC,WAAW,MAEvB,IAAI3O,SAAQ,SAACC,GAMlB,IAAM2O,EAA0B3L,MAAMiD,KAAK,CAAE9D,OArBnC,IAqBoD,WAAM,OASxE,WACE,IAAMyM,EAASJ,SAASC,cAAc,UAChCI,EAAMD,EAAOF,WAAW,MAE9B,IAAKG,EACH,OAAO,IAAI/C,UAAU,EAAG,GAI1B8C,EAAOtD,MA/BM,IAgCbsD,EAAOrD,OA/BO,GAkCd,IAAMuD,EAAWD,EAAIE,qBAAqB,EAAG,EAAGH,EAAOtD,MAAOsD,EAAOrD,QACrEuD,EAASE,aAAa,EAAG,OACzBF,EAASE,aAAa,EAAI,EAAG,UAC7BF,EAASE,aAAa,EAAI,EAAG,UAC7BF,EAASE,aAAa,GAAO,SAC7BF,EAASE,aAAa,EAAI,EAAG,QAC7BF,EAASE,aAAa,EAAI,EAAG,UAC7BF,EAASE,aAAa,EAAG,UAGzBH,EAAII,UAAYH,EAChBD,EAAIK,SAAS,EAAG,EAAGN,EAAOtD,MAAOsD,EAAOrD,QAGxC,IAAM4D,EAAa,yBAmBnB,OAlBAN,EAAIO,KAAO,iBACXP,EAAII,UAAY,QAChBJ,EAAIQ,SAASF,GAAY,EAAI,IAG7BN,EAAII,UAAY,uBAChBJ,EAAIQ,SAASF,GAAY,IAAM,MAG/BN,EAAIS,YACJT,EAAIU,OAAO,EAAG,GACdV,EAAIW,OAAuB,EAAfZ,EAAOtD,MAAa,EAAGsD,EAAOrD,QAC1CsD,EAAIY,YAAc,QAClBZ,EAAIa,UAAY,EAChBb,EAAIc,SAEcd,EAAIe,aAAa,EAAG,EAAGhB,EAAOtD,MAAOsD,EAAOrD,OAGhE,CAxDwEsE,MAGpE7P,EAAQ,CACN8P,oBAAqB/K,EAHCqG,EAAgBuD,EAd7B,IACC,IAgBgC5E,KAAK5D,YAAYA,YAE/D,GACF,IChCA,ICDI4J,EDCEC,EAAiB,CACnB,QACA,cACA,eACA,mBACA,QACA,UACA,SACA,aACA,SACA,UACA,UACA,QACA,UACA,UACA,iBACA,gBACA,aACA,UACA,cACA,eACA,UACA,UACA,mBACA,gBACA,QACA,aACA,MACA,YACA,YACA,yBACA,WACA,SACA,UACA,YACA,YACA,SACA,cACA,eACA,QACA,eACA,QACA,OACA,SACA,gBACA,iBACA,sBACA,UACA,eACA,oBACA,aACA,SACA,YACA,SACA,cACA,YACA,SACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,SACA,cACA,YACA,WACA,YACA,SACA,mBACA,WACA,QACA,cACA,eACA,WACA,OACA,kBACA,aACA,SACA,UACA,QACA,kBACA,gBACA,eACA,SACA,eACA,UACA,aAGIC,EAAY,CAAC,YAAa,aAAc,SAmChD,SAASC,EAAkBrB,EAAsCO,GAC7D,IAAKP,EACD,MAAM,IAAI9L,MAAM,gCAKpB,OAFoB8L,EAAIO,KACxBP,EAAIO,KAAO,QAAAe,OAAQf,GACZP,EAAIuB,YAHU,cAGQ9E,KACjC,CE5HA,SAAS+E,UACCzB,EAASJ,SAASC,cAAc,UAChC6B,EAA+B,QAA1BvM,EAAA6K,EAAOF,WAAW,gBAAQrM,IAAA0B,EAAAA,EAAI6K,EAAOF,WAAW,sBAE3D,GAAI4B,GAAM,iBAAkBA,EACxB,IAEI,IAAMC,GAAUD,EAAGE,aAAaF,EAAGG,SAAW,IAAItK,WAC5CuK,GAAYJ,EAAGE,aAAaF,EAAGK,WAAa,IAAIxK,WAElD3F,EAA6B,CAC7B+P,OAAQA,EACRG,SAAUA,EACVnH,SAAU+G,EAAGE,aAAaF,EAAGM,UAAY,IAAIzK,WAC7C0K,wBAAyBP,EAAGE,aAAaF,EAAGQ,2BAA6B,IAAI3K,YAIjF,IAAKuK,EAASvO,SAAWoO,EAAOpO,OAAQ,CACpC,IAAM4O,EAAYT,EAAGU,aAAa,6BAClC,GAAID,EAAW,CACX,IAAME,GAAkBX,EAAGE,aAAaO,EAAUG,wBAA0B,IAAI/K,WAC1EgL,GAAoBb,EAAGE,aAAaO,EAAUK,0BAA4B,IAAIjL,WAGhF8K,IACAzQ,EAAOyQ,eAAiBA,GAExBE,IACA3Q,EAAO2Q,iBAAmBA,IAKtC,OAAO3Q,EACT,MAAO2N,IAIb,MAAO,WACX,CAEA,SAASkD,IACP,IAAMvQ,EAAI,IAAIwQ,aAAa,GACrBC,EAAK,IAAIzL,WAAWhF,EAAEsE,QAI5B,OAHAtE,EAAE,GAAK0Q,IACP1Q,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAETyQ,EAAG,EACZ,CCvCgB,SAAAE,EAAwC1F,EAA+BtE,GACnF,IAAMjH,EAAiC,CAAE,EASzC,OAPAiH,EAAKK,SAAQ,SAACjF,GACZ,IACM6O,EAhCZ,SAA2B3F,GACvB,GAAmB,IAAfA,EAAI5J,OACN,OAAO,KAGT,IAAM6J,EAA0C,CAAE,EAGlDD,EAAIjE,SAAQ,SAAC6J,GACX,IAAM9O,EAAM+O,OAAOD,GACnB3F,EAAanJ,IAAQmJ,EAAanJ,IAAQ,GAAK,CACjD,IAEA,IAAIsJ,EAAoBJ,EAAI,GACxB8F,EAAmB,EAUvB,OAPAlO,OAAO8D,KAAKuE,GAAclE,SAAQ,SAACjF,GAC7BmJ,EAAanJ,GAAOgP,IACtB1F,EAAetJ,EACfgP,EAAmB7F,EAAanJ,GAEpC,IAEOsJ,CACT,CAOoC2F,CADX/F,EAAIzH,KAAI,SAAC2D,GAAQ,OAACpF,KAAOoF,EAAMA,EAAIpF,QAAOR,KAAYyB,QAAO,SAACyC,GAAQ,YAAQlE,IAARkE,MAEvFmL,IACFlR,EAAOqC,GAAO6O,EAClB,IAEOlR,CACT,CCvBF,SAASuR,IACL,IAAIC,EAAoB,GAMlBC,EAA0C,CAC5C,mBAAoB,CAAC,OAAQ,OAAQ,MAAO,OAAQ,SAAU,iBAC9D,YAAa,CAAC,QAAS,QACvB,cAAe,CAAC,OAAQ,SAAU,QAClCC,QAAW,CAAC,OAAQ,SAAU,QAC9BC,MAAS,CAAC,QAAS,QACnBC,OAAU,CAAC,OAAQ,QACnB,kBAAmB,CAAC,WAAY,QAChC,yBAA0B,CAAC,SAAU,iBACrC,+BAAgC,CAAC,SAAU,iBAC3CC,UAAa,CAAC,OAAQ,eAAgB,WACtC,gBAAiB,CAAC,SAAU,SAShC,OANA1O,OAAO8D,KAAKwK,GAAcnK,SAAQ,SAACjF,GAC/BoP,EAAapP,GAAKiF,SAAQ,SAAC3H,GACnBmS,WAAW,IAAInC,OAAAtN,eAAQ1C,EAAK,MAAKoS,SACjCP,EAAQ5P,KAAK,GAAA+N,OAAGtN,EAAQ,MAAAsN,OAAAhQ,GAChC,GACJ,IACO6R,CACX,CJoGyB,WAArB7H,IAAa5G,MACbD,EAAiB,SA5CP,WAAd,IA8BCkP,EAAA5Q,KA5BG,OAAO,IAAI7B,SAAQ,SAACC,EAASC,GACzB,KKvGF,SAAgCwS,6GAE1BjE,SAAS3N,KAAI,CAAA,EAAA,GACnB,CAAA,GA6B2B6R,EA7BhB,GA8BN,IAAI3S,SAAQ,SAACC,GAAY,OAAAwG,WAAWxG,EAAS0S,EAAYC,sBA9B9D3O,EAAA5C,oBAgBF,IAdMwR,EAASpE,SAASC,cAAc,WAC/BoE,aAAa,cAAe,MAE7BC,EAAQF,EAAOE,OACfC,YAAY,WAAW,SAC7BD,EAAMC,YAAY,UAAW,QAAS,aACtCD,EAAMC,YAAY,aAAc,WAChCD,EAAMC,YAAY,SAAU,KAC5BD,EAAMC,YAAY,UAAU,KAE5BH,EAAOI,IAAM,cACbxE,SAAS3N,KAAKoS,YAAYL,KAEpBM,EAAiBN,EAAOO,kBAAuC,QAApBpP,EAAA6O,EAAOQ,qBAAa/Q,IAAA0B,OAAA1B,EAAA0B,EAAEyK,WAErE,MAAM,IAAIzL,MAAM,4CAIlB0P,EAAS,CAAEG,OAAQM,IAGnB1M,YAAW,WACTgI,SAAS3N,KAAKwS,YAAYT,EAC3B,GAAE,OAGW,IAAeF,EAAoBC,OAFlD,CL2ESW,EAAgB,SAAOvP,GAAE,IAAA6O,EAAM7O,EAAA6O,0FAGrBhE,EAASgE,EAAOnE,cAAc,UAC9BI,EAAMD,EAAOF,WAAW,MAExB6E,EAA0BtD,EAAU3L,KAAI,SAAC8K,GAC3C,OAAOc,EAAkBrB,EAAKO,EAClC,IAEI4C,EAA8B,CAAE,EACpChC,EAAelI,SAAQ,SAACsH,GACpB,IAAMoE,EAAYtD,EAAkBrB,EAAKO,GACpCmE,EAAczQ,SAAS0Q,KACxBxB,EAAQ5C,GAAQoE,EACxB,IAEAxT,EAAQgS,YACX,IAGH,MAAO7D,GACLlO,EAAO,CAACkO,MAAS,gBAEzB,GACJ,IE9DA7K,EAAiB,YAlEjB,WACE,OAAO,IAAIvD,SAAQ,SAACC,EAASC,GAC3B,IAAMwT,OAA2CpR,IAA3B+H,UAAUqJ,aAA8BrJ,UAAUqJ,aAAe,EACjFC,EAAcjQ,OAAOuD,aAAgBvD,OAAOuD,YAAoB2M,OAAYlQ,OAAOuD,YAAoB2M,OAAS,EACtH3T,EACE,CACE4T,UAAavD,IACbwD,aAAgBxC,IAChBoC,aAAgBA,EAAatN,YAAc,YAC3C2N,gBAAmBJ,EAAWI,iBAAmB,GAGvD,GACF,IIOExQ,EAAiB,WApBnB,WACE,OAAO,IAAIvD,SAAQ,SAACC,GAClBA,EACE,CACE+T,UASG3J,UAAU4J,SARbC,SAYGC,KAAKC,iBAAiBC,kBAAkBC,UAV/C,GACJ,ILoDA/Q,EAAiB,eAhCH,oFAOV,OA9BAyM,GAAkBxN,aAAAF,EAAAE,EAAS+R,uBAAwB,CAC/C,gBACA,gBAAiB,uBACjB,uBACA,mBAAoB,kBAAmB,YACvC,SACA,iBACA,kBACA,cAAe,kBACf,YAAa,cACb,cACA,eAAgB,aAAc,OAC9B,MAAO,gBACP,kBACA,qBACA,OACA,UAAW,iBACX,2BACA,oBACA,SAO+B,WADnBnK,IACJ5G,KAAKwH,gBACbgF,EAAkBA,EAAgBjM,QAAO,SAACjB,GAAQ,OAAC,CAAC,SAAU,cAAe,cAAcC,SAASD,EAAI,KAEtG0R,EAAoDvR,MAAMiD,KAAK,CAAC9D,QAAQI,aAAOF,EAAPE,EAASiS,UAAW,IAAI,WAAM,OAOhH,mHAEUC,EAA8C,CAAE,EAEjB7L,EAAA,EAAf8L,EAAe3E,mBAAf,KAAAnH,YAAe,MAAA,CAAA,EAAA,GAA1B+L,EAAOD,EAAA9L,oBAGK,6BAAA,CAAA,EAAMwB,UAAUwK,YAAYC,MAAM,CAAEtR,KAAMoR,mBAAnDG,EAAS/Q,EAAoD3C,OAGnEqT,EAAiBE,GAAWG,EAAOC,MAAM5O,4DAN3ByC,UAYtB,KAAA,EAAA,MAAA,CAAA,EAAO6L,SACV,CAxB+GO,MACrG,CAAA,EAAAjV,QAAQ8G,IAAI0N,GAAoB7T,MAAK,SAACuU,GAEzC,OADmBxD,EAAwCwD,EAAqBlF,EAEpF,UACH,IMpBCzM,EAAiB,WAnBL,WACV,IAAM4R,EAAoB,GAE1B,GAAI9K,UAAU8K,QACZ,IAAK,IAAIzP,EAAI,EAAGA,EAAI2E,UAAU8K,QAAQ/S,OAAQsD,IAAK,CACjD,IAAM0P,EAAS/K,UAAU8K,QAAQzP,GACjCyP,EAAQ9S,KAAK,CAAC+S,EAAO5R,KAAM4R,EAAOC,SAAUD,EAAOE,aAAchP,KAAK,MAI1E,OAAO,IAAItG,SAAQ,SAACC,GAClBA,EACE,CACEkV,QAAWA,GAGnB,GACA,IH0BF5R,EAAiB,UA3CjB,WACI,OAAO,IAAIvD,SAAQ,SAACC,GAChBA,EACI,CACIsV,eAAkBlL,UAAUmL,eAAiB,EAC7CA,eAAkBnL,UAAUmL,eAC5BC,WAAcC,OAAOD,WACrBE,aAAgB3D,KAG5B,GACJ,II8BAzO,EAAiB,UAxCjB,WACI,OAAO,IAAIvD,SAAQ,SAACC,GAChB,IAAMmL,EAAUhB,IAEV3J,EAA6B,CACnCmV,SAAYlS,OAAO2G,UAAUuL,SAC7BC,WAAcxL,UAAUwL,WACxBC,QAAWzL,UAAUyL,QACrBC,UAAa1L,UAAUE,UACvByL,oBAAuB3L,UAAU2L,oBACjC5K,QAAW,CAAC5H,KAAQ4H,EAAQ5H,KAAMgG,QAAW4B,EAAQ5B,UAGlB,WAA/B4B,EAAQ5H,KAAKwH,gBACbvK,EAAwB,gBAUpC,WACI,GAAiC,WAA7BiD,OAAOuS,SAASC,UAAoE,mBAAnCxS,OAAeyS,gBAChE,IAEI,IADA,IAAMC,EAAgB1S,OAAeyS,gBAAgBE,gBAC5C3Q,EAAI,GAAIA,EAAI,EAAGA,IACpB,GAAI0Q,EAAa1Q,GACb,OAAOA,EAGjB,MAAO0I,GACL,OAAO,EAGf,OAAO,CACX,CAxBwCkI,GAC5B7V,EAAsB,cAAIiD,OAAO2G,UAAUkM,eAE/CtW,EAAQQ,EACZ,GACJ,ICjBA,IACIoO,EADE2H,EAA+B,mBAAtBpM,IAAa5G,KAA6B,EAAI,EAEzD+M,EAAmC,KA4IrChN,EAAiB,SAjInB,oFAR0B,oBAAbkL,YACTI,EAASJ,SAASC,cAAc,WACzBnD,MAAQ,IACfsD,EAAOrD,OAAS,IAChB+E,EAAK1B,EAAOF,WAAW,UAOzB,IAEE,IAAK4B,EACD,MAAM,IAAIvN,MAAM,uBASpB,OALM4L,EAA0B3L,MAAMiD,KAAK,CAAC9D,OAAQoU,IAAQ,WAAM,OAetE,WACE,IAEI,IAAKjG,EACD,MAAM,IAAIvN,MAAM,uBAGpB,IAAMyT,EAAqB,4IAOrBC,EAAuB,uKAOvBC,EAAepG,EAAGqG,aAAarG,EAAGsG,eAClCC,EAAiBvG,EAAGqG,aAAarG,EAAGwG,iBAE1C,IAAKJ,IAAiBG,EAClB,MAAM,IAAI9T,MAAM,4BAOpB,GAJAuN,EAAGyG,aAAaL,EAAcF,GAC9BlG,EAAGyG,aAAaF,EAAgBJ,GAEhCnG,EAAG0G,cAAcN,IACZpG,EAAG2G,mBAAmBP,EAAcpG,EAAG4G,gBACxC,MAAM,IAAInU,MAAM,qCAAuCuN,EAAG6G,iBAAiBT,IAI/E,GADApG,EAAG0G,cAAcH,IACZvG,EAAG2G,mBAAmBJ,EAAgBvG,EAAG4G,gBAC1C,MAAM,IAAInU,MAAM,uCAAyCuN,EAAG6G,iBAAiBN,IAGjF,IAAMO,EAAgB9G,EAAG+G,gBAEzB,IAAKD,EACD,MAAM,IAAIrU,MAAM,mCAMpB,GAHAuN,EAAGgH,aAAaF,EAAeV,GAC/BpG,EAAGgH,aAAaF,EAAeP,GAC/BvG,EAAGiH,YAAYH,IACV9G,EAAGkH,oBAAoBJ,EAAe9G,EAAGmH,aAC1C,MAAM,IAAI1U,MAAM,kCAAoCuN,EAAGoH,kBAAkBN,IAG7E9G,EAAGqH,WAAWP,GAOd,IAJA,IAAMQ,EAAoB,IACpBC,EAAW,IAAIvG,aAAyB,EAAZsG,GAC5BE,EAAkB,EAAIrT,KAAKsT,GAAMH,EAE9BnS,EAAI,EAAGA,EAAImS,EAAWnS,IAAK,CAChC,IAAMuS,EAAQvS,EAAIqS,EAGlBD,EAAa,EAAJpS,GAAS,EAClBoS,EAAa,EAAJpS,EAAQ,GAAK,EACtBoS,EAAa,EAAJpS,EAAQ,GAAKhB,KAAKwT,IAAID,IAAUpJ,EAAOtD,MAAQ,GACxDuM,EAAa,EAAJpS,EAAQ,GAAKhB,KAAKyT,IAAIF,IAAUpJ,EAAOrD,OAAS,GAG7D,IAAM4M,EAAe7H,EAAG8H,eACxB9H,EAAG+H,WAAW/H,EAAGgI,aAAcH,GAC/B7H,EAAGiI,WAAWjI,EAAGgI,aAAcT,EAAUvH,EAAGkI,aAE5C,IAAMC,EAAoBnI,EAAGoI,kBAAkBtB,EAAe,YAC9D9G,EAAGqI,wBAAwBF,GAC3BnI,EAAGsI,oBAAoBH,EAAmB,EAAGnI,EAAGuI,OAAO,EAAO,EAAG,GAGjEvI,EAAGwI,SAAS,EAAG,EAAGlK,EAAOtD,MAAOsD,EAAOrD,QACvC+E,EAAGyI,WAAW,EAAK,EAAK,EAAK,GAC7BzI,EAAG0I,MAAM1I,EAAG2I,kBACZ3I,EAAG4I,WAAW5I,EAAG6I,MAAO,EAAe,EAAZvB,GAE3B,IAAMwB,EAAY,IAAIvN,kBAAkB+C,EAAOtD,MAAQsD,EAAOrD,OAAS,GAIvE,OAHA+E,EAAG+I,WAAW,EAAG,EAAGzK,EAAOtD,MAAOsD,EAAOrD,OAAQ+E,EAAGgJ,KAAMhJ,EAAGiJ,cAAeH,GAC1D,IAAItN,UAAUsN,EAAWxK,EAAOtD,MAAOsD,EAAOrD,QAGlE,MAAO4C,GAEL,OAAO,IAAIrC,UAAU,EAAG,GAClB,QACJwE,IAEFA,EAAG+H,WAAW/H,EAAGgI,aAAc,MAC/BhI,EAAGqH,WAAW,MACdrH,EAAGwI,SAAS,EAAG,EAAGxI,EAAGkJ,mBAAoBlJ,EAAGmJ,qBAC5CnJ,EAAGyI,WAAW,EAAK,EAAK,EAAK,IAGnC,CArHsEW,MAK3D,CAAA,EAAA,CACLC,gBAAmB5U,EAJGqG,EAAgBuD,EAAYC,EAAOtD,MAAOsD,EAAOrD,QAI/BxB,KAAK5D,YAAYA,aAE3D,MAAOgI,GACP,MAAO,CAAA,EAAA,CACLyL,MAAS,+BAGd,ICvCD,IA0BMC,EAAY,SAAC/Y,EAA0BgZ,EAAWC,EAAWlY,GAG/D,IAFA,IAAMmY,GAAKD,EAAID,GAAKjY,EAChBoY,EAAM,EACDxU,EAAI,EAAGA,EAAI5D,EAAG4D,IAAK,CAExBwU,GAAOnZ,EADGgZ,GAAKrU,EAAI,IAAOuU,GAG9B,OAAOC,EAAMD,CACjB,EAEA1W,EAAiB,QApCG,WAAA,OAAA5D,OAAA2C,OAAAA,OAAAA,GAAA,sCAChB,MAAO,CAAA,EAAA,CACH6X,KAAMzV,KAAKyV,KAAK,IAChBC,KAAMN,EAAUpV,KAAK0V,MAAQ,EAAE,EAAG,IAClCC,KAAMP,EAAUpV,KAAK2V,MAAQ,EAAE,EAAG,IAClCnC,IAAK4B,EAAUpV,KAAKwT,IAAK,EAAGxT,KAAKsT,GAAI,IACrCsC,KAAM5V,KAAK4V,KAAK,EAAE,GAClB/Z,EAAGmE,KAAK6V,EACRC,SAAU9V,KAAKwT,IAAI,MACnBuC,SAAU/V,KAAKyT,IAAI,MACnBuC,SAAUhW,KAAKiW,IAAI,MACnBC,IAAKlW,KAAKkW,IAAI,KACdC,GAAInW,KAAKsT,GACTG,IAAK2B,EAAUpV,KAAKyT,KAAMzT,KAAKsT,GAAItT,KAAKsT,GAAI,IAC5C8C,KAAMhB,EAAUpV,KAAKoW,MAAQ,EAAC,EAAG,EAAE,EAAG,IACtCC,KAAMrW,KAAKqW,KAAK,GAChBJ,IAAKb,EAAUpV,KAAKiW,IAAK,EAAG,EAAIjW,KAAKsT,GAAI,IACzCgD,KAAMlB,EAAUpV,KAAKsW,MAAQ,EAAC,EAAG,EAAE,EAAG,WAE7C","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"thumbmark.esm.js","sources":["../src/options.ts","../src/components/system/browser.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/screen/index.ts","../src/components/webgl/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/system/index.ts","../src/functions/filterComponents.ts","../src/functions/index.ts","../src/utils/raceAll.ts","../src/functions/legacy_functions.ts","../src/thumbmark.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["defaultOptions","exclude","include","logging","timeout","cache_api_call","performance","options","setOption","key","value","includes","Error","Array","isArray","every","item","getBrowser","navigator","name","version","ua","userAgent","regexes","browserNameMap","edg","opr","samsung","regex","match","groups","toLowerCase","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","from","map","byte","toString","padStart","join","browser","ver","split","majorVer","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","_RUNS","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","window","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","generateCanvasFingerprint","fonts","callback","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","system","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","customComponents","timeoutInstance","includeComponent","creationFunction","filterThumbmarkData","path","excludeList","includeList","entries","currentPath","isExcluded","some","exclusion","startsWith","isIncluded","inclusion","filtered","getVersion","packageJson.version","currentApiPromise","apiPromiseResult","getThumbmark","_options","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","apiPromise","api_key","components","fetchPromise","fetch","method","headers","Authorization","JSON","stringify","clientHash","response","ok","json","catch","timeoutMs","timeoutPromise","thumbmark","info","timed_out","race","getApiPromise","apiResult","maybeElapsed","uniqueness","comps","opts","e","_b","_c","_d","promises","_","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","getFingerprintData","getFingerprint","includeData","thumbmarkData","getFingerprintPerformance","Thumbmark","constructor","this","get","overrideOptions","globalIncludeComponent"],"mappings":"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"}
|
package/dist/thumbmark.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";function n(e,n,r,t){return new(r||(r=Promise))((function(o,a){function i(e){try{c(t.next(e))}catch(e){a(e)}}function u(e){try{c(t.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)}))).then(i,u)}c((t=t.apply(e,n||[])).next())}))}function r(e,n){var r,t,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&u[0]?t.return:u[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,u[1])).done)return o;switch(t=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,t=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(e,i)}catch(e){u=[6,e],t=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}"function"==typeof SuppressedError&&SuppressedError;var t={exclude:[],include:[],logging:!0,timeout:1e3};var o={},a={timeout:"true"},i=function(e,n){"undefined"!=typeof window&&(o[e]=n)},u=function(){return Object.fromEntries(Object.entries(o).filter((function(e){var n,r=e[0];return!(null===(n=null==t?void 0:t.exclude)||void 0===n?void 0:n.includes(r))})).filter((function(e){var n,r,o,a,i=e[0];return(null===(n=null==t?void 0:t.include)||void 0===n?void 0:n.some((function(e){return e.includes(".")})))?null===(r=null==t?void 0:t.include)||void 0===r?void 0:r.some((function(e){return e.startsWith(i)})):0===(null===(o=null==t?void 0:t.include)||void 0===o?void 0:o.length)||(null===(a=null==t?void 0:t.include)||void 0===a?void 0:a.includes(i))})).map((function(e){return[e[0],(0,e[1])()]})))};function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}var s=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,n){return e<<n|e>>>32-n}function d(e,n){var r;if(void 0===n&&(n=0),n=n?0|n:0,"string"==typeof e&&(r=e,e=(new TextEncoder).encode(r).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var t=new Uint32Array([n,n,n,n]);!function(e,n){for(var r=e.byteLength/16|0,t=new Uint32Array(e,0,4*r),o=0;o<r;o++){var a=t.subarray(4*o,4*(o+1));a[0]=Math.imul(a[0],s[0]),a[0]=l(a[0],15),a[0]=Math.imul(a[0],s[1]),n[0]=n[0]^a[0],n[0]=l(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,a[1]=Math.imul(a[1],s[1]),a[1]=l(a[1],16),a[1]=Math.imul(a[1],s[2]),n[1]=n[1]^a[1],n[1]=l(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,a[2]=Math.imul(a[2],s[2]),a[2]=l(a[2],17),a[2]=Math.imul(a[2],s[3]),n[2]=n[2]^a[2],n[2]=l(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,a[3]=Math.imul(a[3],s[3]),a[3]=l(a[3],18),a[3]=Math.imul(a[3],s[0]),n[3]=n[3]^a[3],n[3]=l(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,t),function(e,n){var r=e.byteLength/16|0,t=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*r,t);switch(t){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],s[3]),o[3]=l(o[3],18),o[3]=Math.imul(o[3],s[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],s[2]),o[2]=l(o[2],17),o[2]=Math.imul(o[2],s[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],s[1]),o[1]=l(o[1],16),o[1]=Math.imul(o[1],s[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],s[0]),o[0]=l(o[0],15),o[0]=Math.imul(o[0],s[1]),n[0]=n[0]^o[0]}}(e,t),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=c(n[0]),n[1]=c(n[1]),n[2]=c(n[2]),n[3]=c(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,t);var o=new Uint8Array(t.buffer);return Array.from(o).map((function(e){return e.toString(16).padStart(2,"0")})).join("")}function f(e,n){return new Promise((function(r){setTimeout((function(){return r(n)}),e)}))}function h(e,n,r){return Promise.all(e.map((function(e){var t=performance.now();return Promise.race([e.then((function(e){return{value:e,elapsed:performance.now()-t}})),f(n,r).then((function(e){return{value:e,elapsed:performance.now()-t}}))])})))}function m(e,n,r){return Promise.all(e.map((function(e){return Promise.race([e,f(n,r)])})))}function v(){return"0.20.6"}function g(){return n(this,void 0,void 0,(function(){var e,n,o,i,c;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),e=u(),n=Object.keys(e),[4,m(Object.values(e),(null==t?void 0:t.timeout)||1e3,a)];case 1:return o=r.sent(),i=o.filter((function(e){return void 0!==e})),c={},i.forEach((function(e,r){c[n[r]]=e})),[2,p(c,t.exclude||[],t.include||[],"")];case 2:throw r.sent();case 3:return[2]}}))}))}function p(e,n,r,t){void 0===t&&(t="");for(var o={},a=function(e,a){var i=t+e+".";if("object"!=typeof a||Array.isArray(a)){var u=n.some((function(e){return i.startsWith(e)})),c=r.some((function(e){return i.startsWith(e)}));u&&!c||(o[e]=a)}else{var s=p(a,n,r,i);Object.keys(s).length>0&&(o[e]=s)}},i=0,u=Object.entries(e);i<u.length;i++){var c=u[i];a(c[0],c[1])}return o}function w(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};for(var e=navigator.userAgent,n={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"},r=0,t=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<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>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/];r<t.length;r++){var o=t[r],a=e.match(o);if(a&&a.groups)return{name:n[a.groups.name.toLowerCase()]||a.groups.name,version:a.groups.version}}return{name:"unknown",version:"unknown"}}function y(e){for(var n=0,r=0;r<e.length;++r)n+=Math.abs(e[r]);return n}var b=w();function S(e,n,r){for(var t=[],o=0;o<e[0].data.length;o++){for(var a=[],i=0;i<e.length;i++)a.push(e[i].data[o]);t.push(M(a))}var u=new Uint8ClampedArray(t);return new ImageData(u,n,r)}function M(e){if(0===e.length)return 0;for(var n={},r=0,t=e;r<t.length;r++){n[a=t[r]]=(n[a]||0)+1}var o=e[0];for(var a in n)n[a]>n[o]&&(o=parseInt(a,10));return o}["SamsungBrowser","Safari"].includes(b.name)||i("audio",(function(){return n(this,void 0,void 0,(function(){return r(this,(function(e){return[2,new Promise((function(e,n){try{var r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),t=r.createBufferSource(),o=r.createOscillator();o.frequency.value=1e3;var a,i=r.createDynamicsCompressor();i.threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.2,o.connect(i),i.connect(r.destination),o.start(),r.oncomplete=function(n){a=n.renderedBuffer.getChannelData(0),e({sampleHash:y(a),oscillator:o.type,maxChannels:r.destination.maxChannelCount,channelCountMode:t.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))]}))}))}));var E=w(),P=E.name.toLowerCase(),A=E.version.split(".")[0]||"0",C=parseInt(A,10);"firefox"===P||"safari"===P&&17===C||i("canvas",(function(){return document.createElement("canvas").getContext("2d"),new Promise((function(e){var n=Array.from({length:3},(function(){return function(){var e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=280,e.height=20;var r=n.createLinearGradient(0,0,e.width,e.height);r.addColorStop(0,"red"),r.addColorStop(1/6,"orange"),r.addColorStop(2/6,"yellow"),r.addColorStop(.5,"green"),r.addColorStop(4/6,"blue"),r.addColorStop(5/6,"indigo"),r.addColorStop(1,"violet"),n.fillStyle=r,n.fillRect(0,0,e.width,e.height);var t="Random Text WMwmil10Oo";return n.font="23.123px Arial",n.fillStyle="black",n.fillText(t,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(t,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke(),n.getImageData(0,0,e.width,e.height)}()}));e({commonImageDataHash:d(S(n,280,20).data.toString()).toString()})}))}));var x,T=["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"],k=["monospace","sans-serif","serif"];function I(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font="72px ".concat(n),e.measureText("WwMmLli0Oo").width}function R(){var e,n=document.createElement("canvas"),r=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(r&&"getParameter"in r)try{var t=(r.getParameter(r.VENDOR)||"").toString(),o=(r.getParameter(r.RENDERER)||"").toString(),a={vendor:t,renderer:o,version:(r.getParameter(r.VERSION)||"").toString(),shadingLanguageVersion:(r.getParameter(r.SHADING_LANGUAGE_VERSION)||"").toString()};if(!o.length||!t.length){var i=r.getExtension("WEBGL_debug_renderer_info");if(i){var u=(r.getParameter(i.UNMASKED_VENDOR_WEBGL)||"").toString(),c=(r.getParameter(i.UNMASKED_RENDERER_WEBGL)||"").toString();u&&(a.vendorUnmasked=u),c&&(a.rendererUnmasked=c)}}return a}catch(e){}return"undefined"}function L(){var e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}function O(e,n){var r={};return n.forEach((function(n){var t=function(e){if(0===e.length)return null;var n={};e.forEach((function(e){var r=String(e);n[r]=(n[r]||0)+1}));var r=e[0],t=1;return Object.keys(n).forEach((function(e){n[e]>t&&(r=e,t=n[e])})),r}(e.map((function(e){return n in e?e[n]:void 0})).filter((function(e){return void 0!==e})));t&&(r[n]=t)})),r}function _(){var e=[],n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((function(r){n[r].forEach((function(n){matchMedia("(".concat(r,": ").concat(n,")")).matches&&e.push("".concat(r,": ").concat(n))}))})),e}"Firefox"!=w().name&&i("fonts",(function(){var e=this;return new Promise((function(t,o){try{!function(e){var t;n(this,void 0,void 0,(function(){var n,o,a;return r(this,(function(r){switch(r.label){case 0:return document.body?[3,2]:[4,(i=50,new Promise((function(e){return setTimeout(e,i,u)})))];case 1:return r.sent(),[3,0];case 2:if((n=document.createElement("iframe")).setAttribute("frameBorder","0"),(o=n.style).setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n),!(a=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document)))throw new Error("Iframe document is not accessible");return e({iframe:a}),setTimeout((function(){document.body.removeChild(n)}),0),[2]}var i,u}))}))}((function(o){var a=o.iframe;return n(e,void 0,void 0,(function(){var e,n,o,i;return r(this,(function(r){return e=a.createElement("canvas"),n=e.getContext("2d"),o=k.map((function(e){return I(n,e)})),i={},T.forEach((function(e){var r=I(n,e);o.includes(r)||(i[e]=r)})),t(i),[2]}))}))}))}catch(e){o({error:"unsupported"})}}))})),i("hardware",(function(){return new Promise((function(e,n){var r=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,t=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:R(),architecture:L(),deviceMemory:r.toString()||"undefined",jsHeapSizeLimit:t.jsHeapSizeLimit||0})}))})),i("locales",(function(){return new Promise((function(e){e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))})),i("permissions",(function(){return n(this,void 0,void 0,(function(){var e;return r(this,(function(o){return x=(null==t?void 0:t.permissions_to_check)||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],"safari"===w().name.toLowerCase()&&(x=x.filter((function(e){return!["camera","geolocation","microphone"].includes(e)}))),e=Array.from({length:(null==t?void 0:t.retries)||3},(function(){return function(){return n(this,void 0,void 0,(function(){var e,n,t,o,a;return r(this,(function(r){switch(r.label){case 0:e={},n=0,t=x,r.label=1;case 1:if(!(n<t.length))return[3,6];o=t[n],r.label=2;case 2:return r.trys.push([2,4,,5]),[4,navigator.permissions.query({name:o})];case 3:return a=r.sent(),e[o]=a.state.toString(),[3,5];case 4:return r.sent(),[3,5];case 5:return n++,[3,1];case 6:return[2,e]}}))}))}()})),[2,Promise.all(e).then((function(e){return O(e,x)}))]}))}))})),i("plugins",(function(){var e=[];if(navigator.plugins)for(var n=0;n<navigator.plugins.length;n++){var r=navigator.plugins[n];e.push([r.name,r.filename,r.description].join("|"))}return new Promise((function(n){n({plugins:e})}))})),i("screen",(function(){return new Promise((function(e){e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:_()})}))})),i("system",(function(){return new Promise((function(e){var n=w(),r={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(r.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{for(var e=window.ApplePaySession.supportsVersion,n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),r.cookieEnabled=window.navigator.cookieEnabled),e(r)}))}));var D,B="SamsungBrowser"!==w().name?1:3,F=null;i("webgl",(function(){return n(this,void 0,void 0,(function(){var e;return r(this,(function(n){"undefined"!=typeof document&&((D=document.createElement("canvas")).width=200,D.height=100,F=D.getContext("webgl"));try{if(!F)throw new Error("WebGL not supported");return e=Array.from({length:B},(function(){return function(){try{if(!F)throw new Error("WebGL not supported");var e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",r=F.createShader(F.VERTEX_SHADER),t=F.createShader(F.FRAGMENT_SHADER);if(!r||!t)throw new Error("Failed to create shaders");if(F.shaderSource(r,e),F.shaderSource(t,n),F.compileShader(r),!F.getShaderParameter(r,F.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+F.getShaderInfoLog(r));if(F.compileShader(t),!F.getShaderParameter(t,F.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+F.getShaderInfoLog(t));var o=F.createProgram();if(!o)throw new Error("Failed to create shader program");if(F.attachShader(o,r),F.attachShader(o,t),F.linkProgram(o),!F.getProgramParameter(o,F.LINK_STATUS))throw new Error("Shader program linking failed: "+F.getProgramInfoLog(o));F.useProgram(o);for(var a=137,i=new Float32Array(4*a),u=2*Math.PI/a,c=0;c<a;c++){var s=c*u;i[4*c]=0,i[4*c+1]=0,i[4*c+2]=Math.cos(s)*(D.width/2),i[4*c+3]=Math.sin(s)*(D.height/2)}var l=F.createBuffer();F.bindBuffer(F.ARRAY_BUFFER,l),F.bufferData(F.ARRAY_BUFFER,i,F.STATIC_DRAW);var d=F.getAttribLocation(o,"position");F.enableVertexAttribArray(d),F.vertexAttribPointer(d,2,F.FLOAT,!1,0,0),F.viewport(0,0,D.width,D.height),F.clearColor(0,0,0,1),F.clear(F.COLOR_BUFFER_BIT),F.drawArrays(F.LINES,0,2*a);var f=new Uint8ClampedArray(D.width*D.height*4);return F.readPixels(0,0,D.width,D.height,F.RGBA,F.UNSIGNED_BYTE,f),new ImageData(f,D.width,D.height)}catch(e){return new ImageData(1,1)}finally{F&&(F.bindBuffer(F.ARRAY_BUFFER,null),F.useProgram(null),F.viewport(0,0,F.drawingBufferWidth,F.drawingBufferHeight),F.clearColor(0,0,0,0))}}()})),[2,{commonImageHash:d(S(e,D.width,D.height).data.toString()).toString()}]}catch(e){return[2,{webgl:"unsupported"}]}return[2]}))}))}));var U=function(e,n,r,t){for(var o=(r-n)/t,a=0,i=0;i<t;i++){a+=e(n+(i+.5)*o)}return a*o};i("math",(function(){return n(void 0,void 0,void 0,(function(){return r(this,(function(e){return[2,{acos:Math.acos(.5),asin:U(Math.asin,-1,1,97),atan:U(Math.atan,-1,1,97),cos:U(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:U(Math.sin,-Math.PI,Math.PI,97),sinh:U(Math.sinh,-9/7,7/9,97),sqrt:Math.sqrt(2),tan:U(Math.tan,0,2*Math.PI,97),tanh:U(Math.tanh,-9/7,7/9,97)}]}))}))})),e.getFingerprint=function(e){return n(this,void 0,void 0,(function(){var o,a;return r(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,g()];case 1:return o=i.sent(),a=d(JSON.stringify(o)),Math.random()<1e-5&&t.logging&&function(e,t){n(this,void 0,void 0,(function(){var n,o;return r(this,(function(r){switch(r.label){case 0:if(n="https://logging.thumbmarkjs.com/v1/log",o={thumbmark:e,components:t,version:"0.20.6"},sessionStorage.getItem("_tmjs_l"))return[3,4];sessionStorage.setItem("_tmjs_l","1"),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})];case 2:case 3:return r.sent(),[3,4];case 4:return[2]}}))}))}(a,o),e?[2,{hash:a.toString(),data:o}]:[2,a.toString()];case 2:throw i.sent();case 3:return[2]}}))}))},e.getFingerprintData=g,e.getFingerprintPerformance=function(){return n(this,void 0,void 0,(function(){var e,n,o,i;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),e=u(),n=Object.keys(e),[4,h(Object.values(e),(null==t?void 0:t.timeout)||1e3,a)];case 1:return o=r.sent(),i={elapsed:{}},o.forEach((function(e,r){i[n[r]]=e.value,i.elapsed[n[r]]=e.elapsed})),[2,i];case 2:throw r.sent();case 3:return[2]}}))}))},e.getVersion=v,e.includeComponent=i,e.setOption=function(e,n){if(!["include","exclude","permissions_to_check","retries","timeout","logging"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(n)||!n.every((function(e){return"string"==typeof e}))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof n)throw new Error("The value of retries must be a number");t[e]=n}}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";const n={exclude:[],include:[],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1};let t={...n};function r(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,n=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<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>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/],t={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const r of n){const n=e.match(r);if(n&&n.groups){return{name:t[n.groups.name.toLowerCase()]||n.groups.name,version:n.groups.version}}}return{name:"unknown",version:"unknown"}}function o(e){let n=0;for(let t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function a(e,n,t){let r=[];for(let n=0;n<e[0].data.length;n++){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].data[n]);r.push(i(t))}const o=new Uint8ClampedArray(r);return new ImageData(o,n,t)}function i(e){if(0===e.length)return 0;const n={};for(const t of e)n[t]=(n[t]||0)+1;let t=e[0];for(const e in n)n[e]>n[t]&&(t=parseInt(e,10));return t}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,n){return e<<n|e>>>32-n}function l(e,n=0){var t;if(n=n?0|n:0,"string"==typeof e&&(t=e,e=(new TextEncoder).encode(t).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const r=new Uint32Array([n,n,n,n]);!function(e,n){const t=e.byteLength/16|0,r=new Uint32Array(e,0,4*t);for(let e=0;e<t;e++){const t=r.subarray(4*e,4*(e+1));t[0]=Math.imul(t[0],c[0]),t[0]=u(t[0],15),t[0]=Math.imul(t[0],c[1]),n[0]=n[0]^t[0],n[0]=u(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,t[1]=Math.imul(t[1],c[1]),t[1]=u(t[1],16),t[1]=Math.imul(t[1],c[2]),n[1]=n[1]^t[1],n[1]=u(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,t[2]=Math.imul(t[2],c[2]),t[2]=u(t[2],17),t[2]=Math.imul(t[2],c[3]),n[2]=n[2]^t[2],n[2]=u(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,t[3]=Math.imul(t[3],c[3]),t[3]=u(t[3],18),t[3]=Math.imul(t[3],c[0]),n[3]=n[3]^t[3],n[3]=u(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,r),function(e,n){const t=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*t,r);switch(r){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],c[3]),o[3]=u(o[3],18),o[3]=Math.imul(o[3],c[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],c[2]),o[2]=u(o[2],17),o[2]=Math.imul(o[2],c[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],c[1]),o[1]=u(o[1],16),o[1]=Math.imul(o[1],c[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],c[0]),o[0]=u(o[0],15),o[0]=Math.imul(o[0],c[1]),n[0]=n[0]^o[0]}}(e,r),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=s(n[0]),n[1]=s(n[1]),n[2]=s(n[2]),n[3]=s(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,r);const o=new Uint8Array(r.buffer);return Array.from(o).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=r(),m=d.name.toLowerCase(),h=d.version.split(".")[0]||"0",f=parseInt(h,10),g=280;function p(e,n){return new Promise((t=>setTimeout(t,e,n)))}const w=["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"],v=["monospace","sans-serif","serif"];function y(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font=`72px ${n}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const n=document.createElement("canvas"),t=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString(),n=(t.getParameter(t.RENDERER)||"").toString();let r={vendor:e,renderer:n,version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};if(!n.length||!e.length){const e=t.getExtension("WEBGL_debug_renderer_info");if(e){const n=(t.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();n&&(r.vendorUnmasked=n),o&&(r.rendererUnmasked=o)}}return r}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}const P=(e,n,t,r)=>{const o=(t-n)/r;let a=0;for(let t=0;t<r;t++){a+=e(n+(t+.5)*o)}return a*o};function E(e,n){const t={};return n.forEach((n=>{const r=function(e){if(0===e.length)return null;const n={};e.forEach((e=>{const t=String(e);n[t]=(n[t]||0)+1}));let t=e[0],r=1;return Object.keys(n).forEach((e=>{n[e]>r&&(t=e,r=n[e])})),t}(e.map((e=>n in e?e[n]:void 0)).filter((e=>void 0!==e)));r&&(t[n]=r)})),t}const M=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function A(){let e=[];const n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((t=>{n[t].forEach((n=>{matchMedia(`(${t}: ${n})`).matches&&e.push(`${t}: ${n}`)}))})),e}const C="SamsungBrowser"!==r().name?1:3;let k,T=null;const x={audio:async function(e){const n=r();return["SamsungBrowser","Safari"].includes(n.name)?null:async function(){return new Promise(((e,n)=>{try{const n=44100,t=5e3,r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,t,n),a=r.createBufferSource(),i=r.createOscillator();i.frequency.value=1e3;const s=r.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,i.connect(s),s.connect(r.destination),i.start(),r.oncomplete=n=>{c=n.renderedBuffer.getChannelData(0),e({sampleHash:o(c),maxChannels:r.destination.maxChannelCount,channelCountMode:a.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))}()},canvas:async function(e){return r(),"firefox"===m||"safari"===m&&f>=17?null:function(){const e=document.createElement("canvas");return e.getContext("2d"),new Promise((e=>{const n=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=g,e.height=20;const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"red"),t.addColorStop(1/6,"orange"),t.addColorStop(2/6,"yellow"),t.addColorStop(.5,"green"),t.addColorStop(4/6,"blue"),t.addColorStop(5/6,"indigo"),t.addColorStop(1,"violet"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height);const r="Random Text WMwmil10Oo";n.font="23.123px Arial",n.fillStyle="black",n.fillText(r,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(r,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke();const o=n.getImageData(0,0,e.width,e.height);return o}()));e({commonPixelsHash:l(a(n,g,20).data.toString()).toString()})}))}()},fonts:async function(e){const n=r();return["Firefox"].includes(n.name)?null:new Promise(((e,n)=>{try{!async function(e){for(var n;!document.body;)await p(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const r=t.style;r.setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const o=t.contentDocument||(null===(n=t.contentWindow)||void 0===n?void 0:n.document);if(!o)throw new Error("Iframe document is not accessible");e({iframe:o}),setTimeout((()=>{document.body.removeChild(t)}),0)}((async({iframe:n})=>{const t=n.createElement("canvas").getContext("2d"),r=v.map((e=>y(t,e)));let o={};w.forEach((e=>{const n=y(t,e);r.includes(n)||(o[e]=n)})),e(o)}))}catch(e){n({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,n)=>{const t=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:t.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:P(Math.asin,-1,1,97),cos:P(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:P(Math.sin,-Math.PI,Math.PI,97),tan:P(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let n=(null==e?void 0:e.permissions_to_check)||M;"safari"===r().name.toLowerCase()&&(n=n.filter((e=>!["camera","geolocation","microphone"].includes(e))));const t=Array.from({length:3},(()=>async function(e){const n={};for(const t of e)try{const e=await navigator.permissions.query({name:t});n[t]=e.state.toString()}catch(e){}return n}(n)));return Promise.all(t).then((e=>E(e,n)))},plugins:function(){const e=[];if(navigator.plugins)for(let n=0;n<navigator.plugins.length;n++){const t=navigator.plugins[n];e.push([t.name,t.filename,t.description].join("|"))}return new Promise((n=>{n({plugins:e})}))},screen:function(){return new Promise((e=>{e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:A()})}))},system:function(){return new Promise((e=>{const n=r(),t={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(t.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),t.cookieEnabled=window.navigator.cookieEnabled),e(t)}))},webgl:async function(){"undefined"!=typeof document&&(k=document.createElement("canvas"),k.width=200,k.height=100,T=k.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)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 ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",t=T.createShader(T.VERTEX_SHADER),r=T.createShader(T.FRAGMENT_SHADER);if(!t||!r)throw new Error("Failed to create shaders");if(T.shaderSource(t,e),T.shaderSource(r,n),T.compileShader(t),!T.getShaderParameter(t,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(t));if(T.compileShader(r),!T.getShaderParameter(r,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(r));const o=T.createProgram();if(!o)throw new Error("Failed to create shader program");if(T.attachShader(o,t),T.attachShader(o,r),T.linkProgram(o),!T.getProgramParameter(o,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(o));T.useProgram(o);const a=137,i=new Float32Array(4*a),s=2*Math.PI/a;for(let e=0;e<a;e++){const n=e*s;i[4*e]=0,i[4*e+1]=0,i[4*e+2]=Math.cos(n)*(k.width/2),i[4*e+3]=Math.sin(n)*(k.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,i,T.STATIC_DRAW);const u=T.getAttribLocation(o,"position");T.enableVertexAttribArray(u),T.vertexAttribPointer(u,2,T.FLOAT,!1,0,0),T.viewport(0,0,k.width,k.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*a);const l=new Uint8ClampedArray(k.width*k.height*4);T.readPixels(0,0,k.width,k.height,T.RGBA,T.UNSIGNED_BYTE,l);return new ImageData(l,k.width,k.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:l(a(e,k.width,k.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={},R={timeout:"true"},L=(e,n,t)=>{_[e]=n};var I="1.0.0-rc.1";function O(e,n,t=""){const r={},o=(null==n?void 0:n.exclude)||[],a=(null==n?void 0:n.include)||[];for(const[i,s]of Object.entries(e)){const e=t+i+".";if("object"!=typeof s||Array.isArray(s)){const n=o.some((n=>e.startsWith(n))),t=a.some((n=>e.startsWith(n)));n&&!t||(r[i]=s)}else{const t=O(s,n,e);Object.keys(t).length>0&&(r[i]=t)}}return r}function B(){return I}let D=null,F=null;async function N(e){const t={...n,...e},r={...x,..._},{elapsed:o,resolvedComponents:a}=await U(r,t),i=t.api_key?((e,n)=>{if(e.cache_api_call&&F)return Promise.resolve(F);if(D)return D;const t=fetch("https://api-dev.thumbmarkjs.com/thumbmark",{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized"},body:JSON.stringify({components:n,clientHash:l(JSON.stringify(n))})}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>(F=e,D=null,e))).catch((e=>(console.error("Error fetching pro data",e),D=null,null))),r=e.timeout||5e3,o=new Promise((e=>{setTimeout((()=>{e({thumbmark:l(JSON.stringify(n)),info:{timed_out:!0},version:I})}),r)}));return D=Promise.race([t,o]),D})(t,a):null,s=i?await i:null,c=t.performance?{elapsed:o}:{};if(s){return{components:a,info:s.info||{},version:B(),thumbmark:s.thumbmark||"undefined",...c}}return{thumbmark:l(JSON.stringify(a)),components:a,info:{uniqueness:"api only"},version:B(),...c}}async function U(e,t){const r={...n,...t},o=Object.entries(e).filter((([e])=>{var n;return!(null===(n=null==r?void 0:r.exclude)||void 0===n?void 0:n.includes(e))})).filter((([e])=>{var n,t,o,a;return(null===(n=null==r?void 0:r.include)||void 0===n?void 0:n.some((e=>e.includes("."))))?null===(t=null==r?void 0:r.include)||void 0===t?void 0:t.some((n=>n.startsWith(e))):0===(null===(o=null==r?void 0:r.include)||void 0===o?void 0:o.length)||(null===(a=null==r?void 0:r.include)||void 0===a?void 0:a.includes(e))})),a=o.map((([e])=>e)),i=o.map((([e,n])=>n(t))),s=await function(e,n,t){return Promise.all(e.map((e=>{const r=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-r}))),(o=n,a=t,new Promise((e=>{setTimeout((()=>e(a)),o)}))).then((e=>({value:e,elapsed:performance.now()-r})))]);var o,a})))}(i,(null==r?void 0:r.timeout)||5e3,R),c={},u={};s.forEach(((e,n)=>{var t;null!=e.value&&(u[a[n]]=e.value,c[a[n]]=null!==(t=e.elapsed)&&void 0!==t?t:0)}));const l=O(u,r,"");return{elapsed:c,resolvedComponents:l}}e.Thumbmark=class{constructor(e){this.options={...n,...e}}async get(e){return N({...this.options,...e})}getVersion(){return B()}includeComponent(e,n){L(e,n)}},e.getFingerprint=async function(e){try{const n=await N(t);return e?{hash:n.thumbmark.toString(),data:n.components}:n.thumbmark.toString()}catch(e){throw e}},e.getFingerprintData=async function(){return(await N(t)).components},e.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:n}=await U(x,t);return{...n,elapsed:e}}catch(e){throw e}},e.getThumbmark=N,e.getVersion=B,e.includeComponent=L,e.setOption=function(e,n){if(!["include","exclude","permissions_to_check","retries","timeout","logging","api_key","cache_api_call"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(n)||!n.every((e=>"string"==typeof e))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof n)throw new Error("The value of retries must be a number");t[e]=n}}));
|
|
2
2
|
//# sourceMappingURL=thumbmark.umd.js.map
|