@transmitsecurity/platform-web-sdk 1.16.2 → 1.17.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/CHANGELOG.md +23 -2
- package/README.md +69 -48
- package/dist/web-sdk-drs+idv+webauthn+ido.js +2 -2
- package/dist/web-sdk.d.ts +4 -16
- package/package.json +12 -13
- package/build/drs-entry.d.ts +0 -20
- package/build/drs-entry.js +0 -19
- package/build/drs-only.d.ts +0 -22
- package/build/drs-only.js +0 -25
- package/build/drs.d.ts +0 -28
- package/build/drs.js +0 -45
- package/build/ido/idoImpl.d.ts +0 -2
- package/build/ido/idoImpl.js +0 -4
- package/build/ido/index.d.ts +0 -7
- package/build/ido/index.js +0 -9
- package/build/ido-entry.d.ts +0 -17
- package/build/ido-entry.js +0 -19
- package/build/ido.d.ts +0 -18
- package/build/ido.js +0 -27
- package/build/idv-entry.d.ts +0 -17
- package/build/idv-entry.js +0 -19
- package/build/idv.d.ts +0 -18
- package/build/idv.js +0 -27
- package/build/initialize-only.d.ts +0 -7
- package/build/initialize-only.js +0 -40
- package/build/initialize.d.ts +0 -1
- package/build/initialize.js +0 -2
- package/build/mainExport.d.ts +0 -16
- package/build/mainExport.js +0 -43
- package/build/sdk-factory.d.ts +0 -109
- package/build/sdk-factory.js +0 -108
- package/build/shared-state.d.ts +0 -4
- package/build/shared-state.js +0 -32
- package/build/webauthn-entry.d.ts +0 -19
- package/build/webauthn-entry.js +0 -19
- package/build/webauthn.d.ts +0 -24
- package/build/webauthn.js +0 -44
- package/bundler-config.json +0 -14
- package/dist/docs/.nojekyll +0 -1
- package/dist/docs/README.md +0 -72
- package/dist/docs/enums/ErrorCode.md +0 -113
- package/dist/docs/interfaces/ActionEventOptions.md +0 -44
- package/dist/docs/interfaces/ActionResponse.md +0 -9
- package/dist/docs/interfaces/AuthenticationAutofillActivateHandlers.md +0 -61
- package/dist/docs/interfaces/AutofillHandlers.md +0 -50
- package/dist/docs/interfaces/CrossDeviceController.md +0 -27
- package/dist/docs/interfaces/SdkError.md +0 -28
- package/dist/docs/interfaces/WebauthnApis.md +0 -73
- package/dist/docs/interfaces/WebauthnAuthenticationFlows.md +0 -52
- package/dist/docs/interfaces/WebauthnCrossDeviceFlows.md +0 -107
- package/dist/docs/interfaces/WebauthnCrossDeviceRegistrationOptions.md +0 -23
- package/dist/docs/interfaces/WebauthnRegistrationOptions.md +0 -55
- package/dist/docs/interfaces/initConfigParams.md +0 -7
- package/dist/docs/modules/drs.md +0 -92
- package/dist/docs/modules/idv.md +0 -106
- package/dist/docs/modules/webauthn.md +0 -197
- package/dist/docs/modules.md +0 -146
- package/dist/drs.cjs +0 -1
- package/dist/drs.d.ts +0 -248
- package/dist/drs.js +0 -1
- package/dist/ido.cjs +0 -3
- package/dist/ido.d.ts +0 -57
- package/dist/ido.js +0 -3
- package/dist/idv.cjs +0 -1
- package/dist/idv.d.ts +0 -69
- package/dist/idv.js +0 -1
- package/dist/index.cjs +0 -3
- package/dist/index.esm.js +0 -3
- package/dist/index.umd.js +0 -3
- package/dist/ts-platform-websdk.js +0 -3
- package/dist/webauthn.cjs +0 -1
- package/dist/webauthn.d.ts +0 -463
- package/dist/webauthn.js +0 -1
- package/scripts/make-semver-aliases.sh +0 -11
- package/scripts/upload-dist.sh +0 -9
- package/src/mainExport.ts +0 -75
- package/src/tsconfig.json +0 -14
package/dist/drs.d.ts
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
declare enum RecommendationType {
|
|
2
|
-
ALLOW = "ALLOW",
|
|
3
|
-
CHALLENGE = "CHALLENGE",
|
|
4
|
-
DENY = "DENY",
|
|
5
|
-
TRUST = "TRUST"
|
|
6
|
-
}
|
|
7
|
-
type EventResponse = {
|
|
8
|
-
actionToken?: string;
|
|
9
|
-
deviceId?: string;
|
|
10
|
-
recommendation?: Recommendation;
|
|
11
|
-
userId?: string;
|
|
12
|
-
};
|
|
13
|
-
type Recommendation = {
|
|
14
|
-
type: RecommendationType;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
interface ActionResponse {
|
|
18
|
-
/** The token return by the SDK when the action was reported */
|
|
19
|
-
actionToken?: string;
|
|
20
|
-
}
|
|
21
|
-
interface InitOptions {
|
|
22
|
-
/** Opaque identifier of the user in your system */
|
|
23
|
-
userId?: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Initial parameters for SDK
|
|
27
|
-
*/
|
|
28
|
-
interface ConstructorOptions {
|
|
29
|
-
/** Print logs to console */
|
|
30
|
-
verbose?: boolean;
|
|
31
|
-
/** Your server URL
|
|
32
|
-
*
|
|
33
|
-
* Default value is https://collect.riskid.security */
|
|
34
|
-
serverPath?: string;
|
|
35
|
-
/** Enable session token fetching
|
|
36
|
-
*
|
|
37
|
-
* Default value is false */
|
|
38
|
-
enableSessionToken?: boolean;
|
|
39
|
-
/** First party server url for the identifiers migration
|
|
40
|
-
*
|
|
41
|
-
* Default value is undefined */
|
|
42
|
-
firstPartyMigrationUrl?: string;
|
|
43
|
-
}
|
|
44
|
-
interface TransactionData {
|
|
45
|
-
amount: number;
|
|
46
|
-
currency: string;
|
|
47
|
-
reason?: string;
|
|
48
|
-
transactionDate?: number;
|
|
49
|
-
payer?: {
|
|
50
|
-
name?: string;
|
|
51
|
-
bankIdentifier?: string;
|
|
52
|
-
branchIdentifier?: string;
|
|
53
|
-
accountNumber?: string;
|
|
54
|
-
};
|
|
55
|
-
payee?: {
|
|
56
|
-
name?: string;
|
|
57
|
-
bankIdentifier?: string;
|
|
58
|
-
branchIdentifier?: string;
|
|
59
|
-
accountNumber?: string;
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
interface ActionEventOptions {
|
|
63
|
-
/** Any ID that could help relate the action with external context or session */
|
|
64
|
-
correlationId?: string;
|
|
65
|
-
/** User ID of the not yet authenticated user, used to enhance risk and
|
|
66
|
-
* trust assessments. Once the user is authenticated,
|
|
67
|
-
* {@link TSAccountProtection.setAuthenticatedUser} should be called. */
|
|
68
|
-
claimedUserId?: string;
|
|
69
|
-
/**
|
|
70
|
-
* The reported claimedUserId type (if provided), should not contain PII unless it is hashed.
|
|
71
|
-
* Supported values: email, phone_number, account_id, ssn, national_id, passport_number, drivers_license_number, other.
|
|
72
|
-
*/
|
|
73
|
-
claimedUserIdType?: string;
|
|
74
|
-
/**
|
|
75
|
-
* A transaction data-points object for transaction-monitoring
|
|
76
|
-
*/
|
|
77
|
-
transactionData?: TransactionData;
|
|
78
|
-
/**
|
|
79
|
-
* Custom attributes matching the schema previously defined in the Admin Portal
|
|
80
|
-
*/
|
|
81
|
-
customAttributes?: Record<string, string | number | boolean>;
|
|
82
|
-
/**
|
|
83
|
-
* The fields below are supported for Enterprise-IAM sdk usage actions, added `ignore` for avoiding preseting this attribute in the docs
|
|
84
|
-
* @ignore
|
|
85
|
-
*/
|
|
86
|
-
publicKey?: string;
|
|
87
|
-
/**
|
|
88
|
-
* @ignore
|
|
89
|
-
*/
|
|
90
|
-
extensionMetadata?: string;
|
|
91
|
-
/**
|
|
92
|
-
* @ignore
|
|
93
|
-
*/
|
|
94
|
-
extensionDeviceAttributes?: Record<string, string>;
|
|
95
|
-
/**
|
|
96
|
-
* @ignore
|
|
97
|
-
*/
|
|
98
|
-
suspiciousSignals?: string[];
|
|
99
|
-
/**
|
|
100
|
-
* @ignore
|
|
101
|
-
*/
|
|
102
|
-
suspiciousContext?: string;
|
|
103
|
-
/**
|
|
104
|
-
* @ignore
|
|
105
|
-
*/
|
|
106
|
-
downloadFile?: Record<string, boolean | string | number>;
|
|
107
|
-
/**
|
|
108
|
-
* @ignore
|
|
109
|
-
*/
|
|
110
|
-
uploadFile?: Record<string, boolean | string | number>;
|
|
111
|
-
}
|
|
112
|
-
declare class TSAccountProtection {
|
|
113
|
-
private static initializedInstance;
|
|
114
|
-
private initializationPromise;
|
|
115
|
-
private isSDKDisabled;
|
|
116
|
-
private enableSessionToken;
|
|
117
|
-
private identifiersMigrationEnabled;
|
|
118
|
-
private firstPartyMigrationUrl;
|
|
119
|
-
private validationManager;
|
|
120
|
-
private storageManager;
|
|
121
|
-
private eventsManager;
|
|
122
|
-
private deviceDataManager;
|
|
123
|
-
private configManager;
|
|
124
|
-
private requestsManager;
|
|
125
|
-
private identityManager;
|
|
126
|
-
private migrationsManager;
|
|
127
|
-
private cryptoBinding;
|
|
128
|
-
private logsReporter;
|
|
129
|
-
private options;
|
|
130
|
-
private clientId;
|
|
131
|
-
/**
|
|
132
|
-
*
|
|
133
|
-
Creates a new Account Protection SDK instance with your client context
|
|
134
|
-
@param clientId Your AccountProtection client identifier
|
|
135
|
-
@param options SDK configuration options
|
|
136
|
-
*/
|
|
137
|
-
constructor(clientId: string, options?: ConstructorOptions);
|
|
138
|
-
/** @ignore */
|
|
139
|
-
constructor(serverPath: string, clientId: string);
|
|
140
|
-
/**
|
|
141
|
-
* @ignore
|
|
142
|
-
* @returns List of loaded actions that can be invoked
|
|
143
|
-
*/
|
|
144
|
-
get actions(): string[];
|
|
145
|
-
/** @ignore */
|
|
146
|
-
getActions(): Promise<string[]>;
|
|
147
|
-
getSessionToken(): Promise<any>;
|
|
148
|
-
/**
|
|
149
|
-
* Initializes the AccountProtection SDK, which starts automatically tracking and submitting info of the user journey
|
|
150
|
-
* @param options Init options
|
|
151
|
-
* @returns Indicates if the call succeeded
|
|
152
|
-
*/
|
|
153
|
-
init(options?: InitOptions | string): Promise<boolean>;
|
|
154
|
-
private isInitialized;
|
|
155
|
-
/**
|
|
156
|
-
* Reports a user action event to the SDK
|
|
157
|
-
* @param actionType Type of user action event that was predefined in the Transmit Security server
|
|
158
|
-
* @returns Indicates if the call succeeded
|
|
159
|
-
*/
|
|
160
|
-
triggerActionEvent(actionType: string, options?: ActionEventOptions): Promise<ActionResponse>;
|
|
161
|
-
/**
|
|
162
|
-
* @ignore
|
|
163
|
-
*/
|
|
164
|
-
identifyUser(userId: string): Promise<boolean>;
|
|
165
|
-
private updateUserId;
|
|
166
|
-
/**
|
|
167
|
-
* @ignore
|
|
168
|
-
*/
|
|
169
|
-
unidentifiedUser(): Promise<boolean>;
|
|
170
|
-
/**
|
|
171
|
-
* Sets the user context for all subsequent events in the browser session (or until the user is explicitly cleared)
|
|
172
|
-
* It should be set only after you've fully authenticated the user (including, for example, any 2FA that was required)
|
|
173
|
-
* @param userId Opaque identifier of the user in your system
|
|
174
|
-
* @param options Reserved for future use
|
|
175
|
-
* @returns Indicates if the call succeeded
|
|
176
|
-
*/
|
|
177
|
-
setAuthenticatedUser(userId: string, options?: {}): Promise<boolean>;
|
|
178
|
-
/** @ignore */
|
|
179
|
-
setUser(userId: string, _options?: {}): Promise<boolean>;
|
|
180
|
-
/**
|
|
181
|
-
* Clears the user context for all subsequent events in the browser session
|
|
182
|
-
* @param options Reserved for future use
|
|
183
|
-
* @returns Indicates if the call succeeded
|
|
184
|
-
*/
|
|
185
|
-
clearUser(options?: {}): Promise<boolean>;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
declare module '@transmit-security/web-sdk-common/dist/module-metadata/module-metadata' {
|
|
189
|
-
interface initConfigParams {
|
|
190
|
-
drs?: InitOptions & ConstructorOptions & {
|
|
191
|
-
enabled: boolean;
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Reports a user action event to the SDK
|
|
197
|
-
* @param actionType Type of user action event that was predefined in the Transmit Security server
|
|
198
|
-
* @returns Indicates if the call succeeded
|
|
199
|
-
*/
|
|
200
|
-
declare const triggerActionEvent: TSAccountProtection['triggerActionEvent'];
|
|
201
|
-
/** @ignore */
|
|
202
|
-
declare const setUser: TSAccountProtection['setUser'];
|
|
203
|
-
/**
|
|
204
|
-
* Sets the user context for all subsequent events in the browser session (or until the user is explicitly cleared)
|
|
205
|
-
* It should be set only after you've fully authenticated the user (including, for example, any 2FA that was required)
|
|
206
|
-
* @param userId Opaque identifier of the user in your system
|
|
207
|
-
* @param options Reserved for future use
|
|
208
|
-
* @returns Indicates if the call succeeded
|
|
209
|
-
*/
|
|
210
|
-
declare const setAuthenticatedUser: TSAccountProtection['setAuthenticatedUser'];
|
|
211
|
-
/**
|
|
212
|
-
* Clears the user context for all subsequent events in the browser session
|
|
213
|
-
* @param options Reserved for future use
|
|
214
|
-
* @returns Indicates if the call succeeded
|
|
215
|
-
*/
|
|
216
|
-
declare const clearUser: TSAccountProtection['clearUser'];
|
|
217
|
-
/** @ignore */
|
|
218
|
-
declare const identifyUser: TSAccountProtection['identifyUser'];
|
|
219
|
-
/** @ignore */
|
|
220
|
-
declare const unidentifiedUser: TSAccountProtection['unidentifiedUser'];
|
|
221
|
-
/** @ignore */
|
|
222
|
-
declare const getActions: TSAccountProtection['getActions'];
|
|
223
|
-
/** @ignore */
|
|
224
|
-
declare const getSessionToken: TSAccountProtection['getSessionToken'];
|
|
225
|
-
/** @ignore */
|
|
226
|
-
declare const __internal: {
|
|
227
|
-
getDeviceId(): string;
|
|
228
|
-
getClientId(): string;
|
|
229
|
-
flush(): Promise<EventResponse>;
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
declare const PACKAGE_VERSION: string;
|
|
233
|
-
declare namespace drs {
|
|
234
|
-
export function initialize(config: any): void;
|
|
235
|
-
export * from "@transmit-security/riskid_sdk";
|
|
236
|
-
export const triggerActionEvent: (...args: any[]) => any;
|
|
237
|
-
export const setUser: (...args: any[]) => any;
|
|
238
|
-
export const setAuthenticatedUser: (...args: any[]) => any;
|
|
239
|
-
export const clearUser: (...args: any[]) => any;
|
|
240
|
-
export const identifyUser: (...args: any[]) => any;
|
|
241
|
-
export const unidentifiedUser: (...args: any[]) => any;
|
|
242
|
-
export const getActions: (...args: any[]) => any;
|
|
243
|
-
export const getSessionToken: (...args: any[]) => any;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
declare function initialize(config: any): void;
|
|
247
|
-
|
|
248
|
-
export { ActionEventOptions, ActionResponse, PACKAGE_VERSION, __internal, clearUser, drs, getActions, getSessionToken, identifyUser, initialize, setAuthenticatedUser, setUser, triggerActionEvent, unidentifiedUser };
|
package/dist/drs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"undefined"==typeof globalThis&&("undefined"!=typeof window?(window.globalThis=window,window.global=window):"undefined"!=typeof self&&(self.globalThis=self,self.global=self));const t=Symbol("MODULE_INITIALIZED"),e=new Map;function i(t,i){var n,r;null===(n=e.get(t))||void 0===n||n.forEach((r=t=>t(i),function(){try{return r(...arguments)}catch(t){console.log(t)}}))}let n=null;function r(t){n=t}var a=Object.freeze({__proto__:null,getInitConfig:function(){return n},get initConfig(){return n},setInitConfig:r});function s(e){r(e),i(t,void 0)}var o=Object.freeze({__proto__:null,initialize:s});function c(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function l(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?c(Object(i),!0).forEach((function(e){d(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):c(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function x(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function d(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function h(t,e){if(null==t)return{};var i,n,r=function(t,e){if(null==t)return{};var i,n,r={},a=Object.keys(t);for(n=0;n<a.length;n++)i=a[n],e.indexOf(i)>=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n<a.length;n++)i=a[n],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function u(t,e){return Object.entries(e).reduce(((e,i)=>{let[n,r]=i;return l(l({},e),{},{[n]:f.isPrototypeOf(r)?new r(t.slug):"function"==typeof r?r.bind(t):"object"==typeof r&&!Array.isArray(r)&&r?u(t,r):r})}),{})}class f{constructor(t){this.slug=t}static create(t){return class extends f{constructor(e){super(e),Object.assign(this,u(this,t(this)))}}}}var g=Object.freeze({__proto__:null,Agent:f}),_=Object.freeze({__proto__:null,MODULE_INITIALIZED:t,emit:i,off:function(t,i){const n=e.get(t);if(!n)return;const r=n.indexOf(i);-1!==r&&n.splice(r,1)},on:function(t,i){var n;e.has(t)?null===(n=e.get(t))||void 0===n||n.push(i):e.set(t,[i])}});function p(t,e){const i=!t||"object"!=typeof t||Array.isArray(t)?{}:t;return[e.reduce(((t,e)=>{if(e in t){const i=t[e];if(null!==i&&"object"==typeof i&&!Array.isArray(i))return i}const i={};return t[e]=i,i}),i),i]}function y(t,e){let i=t;return e.every((t=>!(!i||"object"!=typeof i||Array.isArray(i)||!(t in i))&&(i=i[t],!0)),t)}const w="tsec",v="general";function m(t){return t?v:n.clientId}function b(t){return function(t){if(!t)return{};try{return JSON.parse(t)}catch(t){return{}}}((t?sessionStorage:localStorage).getItem(w))}function S(t,e){const i=t?sessionStorage:localStorage,n=e(b(t));i.setItem(w,JSON.stringify(n))}var E=Object.freeze({__proto__:null,COMMON_STORAGE_KEY:w,GENERAL_ID_KEY:v,getValue:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=m(!!e.isGeneral),n=b(!!e.sessionOnly),[r]=p(n,[this.slug.toString(),i]);return r[t]},hasValue:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=m(!!e.isGeneral),n=b(!!e.sessionOnly);return y(n,[this.slug.toString(),i,t])},removeValue:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=m(!!e.isGeneral);S(!!e.sessionOnly,(e=>{const[n,r]=p(e,[this.slug.toString(),i]);return delete n[t],r}))},setValue:function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=m(!!i.isGeneral);S(!!i.sessionOnly,(i=>{const[r,a]=p(i,[this.slug.toString(),n]);return r[t]=e,a}))}});const D="RSA-PSS",I=async(t,e)=>await window.crypto.subtle.generateKey({name:t,modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!1,e),T=async()=>await I("RSA-OAEP",["encrypt","decrypt"]),k=async()=>await I(D,["sign"]),A=async(t,e)=>{const i=(new TextEncoder).encode(e);return await window.crypto.subtle.sign({name:D,saltLength:32},t,i)};class P{constructor(t,e,i){this.slug=t,this.dbName=e,this.dbVersion=i}queryObjectStore(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=(window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB||window.shimIndexedDB).open(`${this.slug}:${this.dbName}`,this.dbVersion||1);n.onupgradeneeded=()=>{var e;const i=n.result;(null===(e=null==i?void 0:i.objectStoreNames)||void 0===e?void 0:e.contains)&&!i.objectStoreNames.contains(t)&&i.createObjectStore(t,{keyPath:"key"})},n.onsuccess=()=>{const r=n.result,a=r.transaction(t,(null==i?void 0:i.operation)||"readwrite"),s=a.objectStore(t);e(s),a.oncomplete=()=>{r.close()}}}put(t,e,i){return new Promise(((n,r)=>{this.queryObjectStore(t,(t=>{const a=t.put({key:e,value:i});a.onsuccess=()=>{n(a.result)},a.onerror=t=>{r("Failed adding item to objectStore, err: "+t)}}))}))}add(t,e,i){return new Promise(((n,r)=>{this.queryObjectStore(t,(t=>{const a=t.add({key:e,value:i});a.onsuccess=()=>{n(a.result)},a.onerror=t=>{const e=t.target.error;r(e)}}))}))}get(t,e){return new Promise(((i,n)=>{this.queryObjectStore(t,(t=>{const r=t.get(e);r.onsuccess=()=>{var t;r.result?i(null===(t=r.result)||void 0===t?void 0:t.value):i(void 0)},r.onerror=t=>{n("Failed adding item to objectStore, err: "+t)}}))}))}getAll(t,e){return new Promise(((i,n)=>{this.queryObjectStore(t,(t=>{const r=t.getAll(null,e);r.onsuccess=()=>{if(r.result){const t=r.result;(null==t?void 0:t.length)?i(t.map((t=>null==t?void 0:t.value))):i(t)}else i([])},r.onerror=t=>{n("Failed getting items, err: "+t)}}))}))}delete(t,e){return new Promise(((i,n)=>{this.queryObjectStore(t,(t=>{const r=t.delete(e);r.onsuccess=()=>{i()},r.onerror=t=>{n(`Failed deleting key: '${e}' from objectStore, err: `+t)}}))}))}clear(t){return new Promise(((e,i)=>{this.queryObjectStore(t,(t=>{const n=t.clear();n.onsuccess=()=>{e()},n.onerror=t=>{i("Failed clearing objectStore, err: "+t)}}))}))}}const C="platform",M="init",O="completed",R="RSA2048",K=[M,O];class L{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sign",i=arguments.length>2?arguments[2]:void 0;var r,a,s,o;this.agent=t,this.keysType=e,this.options=i,this._extractingKeysPromise=null;const c=!(null===(r=this.options)||void 0===r?void 0:r.productScope);this.keysDatabaseName=c||!(null===(a=this.options)||void 0===a?void 0:a.indexedDBName)?"ts_crypto_binding":this.options.indexedDBName,this.dbVersion=c?1:(null===(s=this.options)||void 0===s?void 0:s.dbVersion)||1,this.keysStoreName=c||!(null===(o=this.options)||void 0===o?void 0:o.keysStoreName)?"identifiers_store":this.options.keysStoreName,this.indexedDBClient=new P(c?C:t.slug,this.keysDatabaseName,this.dbVersion),this.indexedDBClientFallback=new P((c?C:t.slug)+`:${n.clientId}`,this.keysDatabaseName,this.dbVersion)}getKeysRecordKey(){return`${this.keysType}_keys`}getRotatedKeysRecordKey(){return`rotated_${this.keysType}_keys`}getRotatedKeysRecordKeyPending(){return`rotated_pending_${this.keysType}_keys`}arrayBufferToBase64(t){return window.btoa(String.fromCharCode(...new Uint8Array(t)))}async getPKRepresentations(t){const e=await crypto.subtle.exportKey("spki",t);return{arrayBufferKey:e,base64Key:this.arrayBufferToBase64(e)}}async generateKeyPair(){return"sign"==this.keysType?await k():await T()}async calcKeyIdentifier(t){const e=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(e)).map((t=>t.toString(16).padStart(2,"0"))).join("")}async extractKeysData(){if(this._extractingKeysPromise)return this._extractingKeysPromise;this._extractingKeysPromise=(async()=>{var t,e;const i=(null===(e=null===(t=this.options)||void 0===t?void 0:t.keyRotation)||void 0===e?void 0:e.isEnabled)?await this.getRotatedKeysData():await this.getKeysData(),{base64Key:n}=await this.getPKRepresentations(i.publicKey);return this.publicKeyBase64=n,this.keyIdentifier=i.keyIdentifier,i})();try{return await this._extractingKeysPromise}finally{this._extractingKeysPromise=null}}async generateKeyPairData(t){const e=await this.generateKeyPair(),{arrayBufferKey:i}=await this.getPKRepresentations(e.publicKey),n=t||await this.calcKeyIdentifier(i);return l(l({},e),{},{keyIdentifier:n,createdDate:Date.now()})}shouldKeyBeRotated(t){var e;const i=null===(e=this.options)||void 0===e?void 0:e.keyRotation;if(!(null==i?void 0:i.isEnabled)||!i.expiryDays||void 0===i.startedAt)return!1;const n=24*i.expiryDays*60*60*1e3,r=t.createdDate&&t.createdDate>=i.startedAt?t.createdDate:i.startedAt;return Date.now()-r>n-2592e6}async extractMainKeysData(){return await this.indexedDBClient.get(this.keysStoreName,this.getKeysRecordKey())}async extractFallbackMainKeysData(){return await this.indexedDBClientFallback.get(this.keysStoreName,this.getKeysRecordKey())}async extractRotatedKeysData(){return await this.indexedDBClient.get(this.keysStoreName,this.getRotatedKeysRecordKey())}async extractPendingRotatedKeysData(){return await this.indexedDBClient.get(this.keysStoreName,this.getRotatedKeysRecordKeyPending())}async saveKeyData(t,e){try{return await this.indexedDBClient.add(this.keysStoreName,t,e),e}catch(e){if(e instanceof DOMException&&"ConstraintError"===e.name){const e=await this.indexedDBClient.get(this.keysStoreName,t);if(e)return e}throw e}}async getKeysData(){const t=this.getKeysRecordKey();let e=await this.extractMainKeysData();if(e)return e;if(e=await this.extractFallbackMainKeysData(),e)return this.saveKeyData(t,e);const i=await this.generateKeyPairData();return this.saveKeyData(t,i)}async getOrCreateRotatedKeys(){let t=await this.extractRotatedKeysData();if(!t){const e=this.getRotatedKeysRecordKey(),i=await this.getKeysData(),n=l(l({},i),{},{createdDate:i.createdDate||Date.now()});t=await this.saveKeyData(e,n)}return t}async getRotatedKeysData(){const t=await this.getOrCreateRotatedKeys();if(this.shouldKeyBeRotated(t)){if(!await this.extractPendingRotatedKeysData()){const e=this.getRotatedKeysRecordKeyPending(),i=await this.generateKeyPairData(t.keyIdentifier);await this.saveKeyData(e,i)}}return t}async getPublicData(){return this.publicKeyBase64&&this.keyIdentifier||await this.extractKeysData(),{publicKey:this.publicKeyBase64,keyIdentifier:this.keyIdentifier}}async sign(t){if("sign"==this.keysType){const{privateKey:e}=await this.extractKeysData(),i=await A(e,t);return this.arrayBufferToBase64(i)}throw new Error("keysType must be 'sign' in order to use sign keys")}async clearKeys(){const t=this.getKeysRecordKey();await this.indexedDBClient.delete(this.keysStoreName,t)}getBaseRotationPayload(){return{keyIdentifier:this.keyIdentifier,slot:this.getRotatedKeysRecordKey(),publicKey:this.publicKeyBase64,publicKeyType:R,tenantId:this.options.keyRotation.tenantId}}async getRotationData(){var t,e;if(!(null===(e=null===(t=this.options)||void 0===t?void 0:t.keyRotation)||void 0===e?void 0:e.isEnabled))return;this.publicKeyBase64&&this.keyIdentifier||await this.extractKeysData();const i=await this.extractPendingRotatedKeysData();if(i){const{base64Key:t}=await this.getPKRepresentations(i.publicKey),{privateKey:e}=await this.extractKeysData(),n=l(l({},this.getBaseRotationPayload()),{},{newPublicKey:t,createdDate:i.createdDate,newPublicKeyType:R}),r=JSON.stringify(n);return{data:r,signature:await this.signPayload(r,e)}}const n=await this.extractRotatedKeysData();if(n&&!1===n.confirmed){await this.extractKeysData();const t=JSON.stringify(this.getBaseRotationPayload());return{data:t,signature:await this.signPayload(t,n.privateKey)}}}async signPayload(t,e){const i=await A(e,t);return this.arrayBufferToBase64(i)}async handleRotateResponse(t){if(K.includes(t))if(t===M){const t=await this.extractPendingRotatedKeysData();if(t){await this.indexedDBClient.delete(this.keysStoreName,this.getRotatedKeysRecordKey());const e=l(l({},t),{},{confirmed:!1});await this.indexedDBClient.put(this.keysStoreName,this.getRotatedKeysRecordKey(),e),await this.indexedDBClient.delete(this.keysStoreName,this.getRotatedKeysRecordKeyPending());const{base64Key:i}=await this.getPKRepresentations(t.publicKey);this.publicKeyBase64=i,this.keyIdentifier=t.keyIdentifier}}else if(t===O){const t=await this.extractRotatedKeysData();t&&!1===t.confirmed&&await this.indexedDBClient.put(this.keysStoreName,this.getRotatedKeysRecordKey(),l(l({},t),{},{confirmed:!0}))}}}var N=Object.freeze({__proto__:null,createCryptoBinding:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"sign",e=arguments.length>1?arguments[1]:void 0;return new L(this,t,e)},generateRSAKeyPair:T,generateRSASignKeyPair:k,signAssymetric:A,verifyAssymetric:async(t,e,i)=>{const n=(new TextEncoder).encode(e);return await window.crypto.subtle.verify(D,t,i,n)}}),z=Object.freeze({__proto__:null});const U=f.create((t=>{class e extends Error{constructor(e,i){super(`${t.slug}-${e} ${i}`)}}return{TsError:e,TsInternalError:class extends e{constructor(t){super(t,"Internal error")}}}}));var B=f.create((()=>l({exceptions:U},g)));class F{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.agent=t,this.middlewares=e,this.logs=[]}info(t,e){this.pushLog(3,t,e)}warn(t,e){this.pushLog(4,t,e)}error(t,e){this.pushLog(5,t,e)}pushLog(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.logs.push({timestamp:Date.now(),module:this.agent.slug,severity:t,fields:i,message:e});const n=this.middlewares.map((t=>t(this)));Promise.all(n).catch((()=>{}))}}var j=Object.freeze({__proto__:null,consoleMiddleware:function(t){const e=t.logs[t.logs.length-1];console.log(`${e.severity} ${e.message}`,e.fields)},createSdkLogger:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new F(this,t)}});function Z(t,e){if(!(null==t?void 0:t.trim()))return"";if(function(t){try{return new URL(t),!0}catch(t){return!1}}(t))return t;const i="http://mock.com",n=new URL(i);n.search=(null==e?void 0:e.toString())||"",n.pathname=t;return n.href.replace(i,"")}const V={"Content-Type":"application/json","X-TS-client-time":(new Date).toUTCString(),"X-TS-ua":navigator.userAgent};function H(t,e,i){var n;const r=(a=e||{},encodeURI(JSON.stringify(a)).split(/%..|./).length-1);var a;return{method:t,headers:l(l(l({},{"X-TS-body-size":String(r)}),V),i||{}),body:null!==(n=e&&JSON.stringify(e||{}))&&void 0!==n?n:void 0}}function G(t,e,i,n,r){const a=Z(t,n),s=H(e,i,r);return fetch(a,s)}async function W(t,e,i,n,r){let a;if(a=await G(t,e,i,n,r),!a.ok)throw new Error("Request failed");return a}var Y=Object.freeze({__proto__:null,httpDelete:async function(t,e){const i=await W(t,"DELETE",void 0,void 0,e);return l(l({data:await i.json()},i),{},{headers:i.headers})},httpGet:async function(t,e,i){const n=await W(t,"GET",void 0,e,i);return l(l({data:await n.json()},n),{},{headers:n.headers})},httpPost:async function(t,e,i,n){const r=await W(t,"POST",e,i,n);return l(l({data:await r.json()},r),{},{headers:r.headers})},httpPut:async function(t,e,i,n){const r=await W(t,"PUT",e,i,n);return l(l({data:await r.json()},r),{},{headers:r.headers})},init:H}),q=f.create((()=>({events:_,moduleMetadata:a,mainEntry:o,utils:B,storage:E,crypto:N,indexedDB:z,logger:j,http:Y}))),J={},$={};function X(t){let e=t.length;for(;--e>=0;)t[e]=0}const Q=256,tt=286,et=30,it=15,nt=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),rt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),at=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),st=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ot=new Array(576);X(ot);const ct=new Array(60);X(ct);const lt=new Array(512);X(lt);const xt=new Array(256);X(xt);const dt=new Array(29);X(dt);const ht=new Array(et);function ut(t,e,i,n,r){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=t&&t.length}let ft,gt,_t;function pt(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}X(ht);const yt=t=>t<256?lt[t]:lt[256+(t>>>7)],wt=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},vt=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,wt(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},mt=(t,e,i)=>{vt(t,i[2*e],i[2*e+1])},bt=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},St=(t,e,i)=>{const n=new Array(16);let r,a,s=0;for(r=1;r<=it;r++)n[r]=s=s+i[r-1]<<1;for(a=0;a<=e;a++){let e=t[2*a+1];0!==e&&(t[2*a]=bt(n[e]++,e))}},Et=t=>{let e;for(e=0;e<tt;e++)t.dyn_ltree[2*e]=0;for(e=0;e<et;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},Dt=t=>{t.bi_valid>8?wt(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},It=(t,e,i,n)=>{const r=2*e,a=2*i;return t[r]<t[a]||t[r]===t[a]&&n[e]<=n[i]},Tt=(t,e,i)=>{const n=t.heap[i];let r=i<<1;for(;r<=t.heap_len&&(r<t.heap_len&&It(e,t.heap[r+1],t.heap[r],t.depth)&&r++,!It(e,n,t.heap[r],t.depth));)t.heap[i]=t.heap[r],i=r,r<<=1;t.heap[i]=n},kt=(t,e,i)=>{let n,r,a,s,o=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],r=t.pending_buf[t.l_buf+o],o++,0===n?mt(t,r,e):(a=xt[r],mt(t,a+Q+1,e),s=nt[a],0!==s&&(r-=dt[a],vt(t,r,s)),n--,a=yt(n),mt(t,a,i),s=rt[a],0!==s&&(n-=ht[a],vt(t,n,s)))}while(o<t.last_lit);mt(t,256,e)},At=(t,e)=>{const i=e.dyn_tree,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,a=e.stat_desc.elems;let s,o,c,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<a;s++)0!==i[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):i[2*s+1]=0;for(;t.heap_len<2;)c=t.heap[++t.heap_len]=l<2?++l:0,i[2*c]=1,t.depth[c]=0,t.opt_len--,r&&(t.static_len-=n[2*c+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)Tt(t,i,s);c=a;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Tt(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,i[2*c]=i[2*s]+i[2*o],t.depth[c]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,i[2*s+1]=i[2*o+1]=c,t.heap[1]=c++,Tt(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,r=e.stat_desc.static_tree,a=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,c=e.stat_desc.max_length;let l,x,d,h,u,f,g=0;for(h=0;h<=it;h++)t.bl_count[h]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)x=t.heap[l],h=i[2*i[2*x+1]+1]+1,h>c&&(h=c,g++),i[2*x+1]=h,x>n||(t.bl_count[h]++,u=0,x>=o&&(u=s[x-o]),f=i[2*x],t.opt_len+=f*(h+u),a&&(t.static_len+=f*(r[2*x+1]+u)));if(0!==g){do{for(h=c-1;0===t.bl_count[h];)h--;t.bl_count[h]--,t.bl_count[h+1]+=2,t.bl_count[c]--,g-=2}while(g>0);for(h=c;0!==h;h--)for(x=t.bl_count[h];0!==x;)d=t.heap[--l],d>n||(i[2*d+1]!==h&&(t.opt_len+=(h-i[2*d+1])*i[2*d],i[2*d+1]=h),x--)}})(t,e),St(i,l,t.bl_count)},Pt=(t,e,i)=>{let n,r,a=-1,s=e[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)r=s,s=e[2*(n+1)+1],++o<c&&r===s||(o<l?t.bl_tree[2*r]+=o:0!==r?(r!==a&&t.bl_tree[2*r]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,a=r,0===s?(c=138,l=3):r===s?(c=6,l=3):(c=7,l=4))},Ct=(t,e,i)=>{let n,r,a=-1,s=e[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),n=0;n<=i;n++)if(r=s,s=e[2*(n+1)+1],!(++o<c&&r===s)){if(o<l)do{mt(t,r,t.bl_tree)}while(0!=--o);else 0!==r?(r!==a&&(mt(t,r,t.bl_tree),o--),mt(t,16,t.bl_tree),vt(t,o-3,2)):o<=10?(mt(t,17,t.bl_tree),vt(t,o-3,3)):(mt(t,18,t.bl_tree),vt(t,o-11,7));o=0,a=r,0===s?(c=138,l=3):r===s?(c=6,l=3):(c=7,l=4)}};let Mt=!1;const Ot=(t,e,i,n)=>{vt(t,0+(n?1:0),3),((t,e,i,n)=>{Dt(t),n&&(wt(t,i),wt(t,~i)),t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i})(t,e,i,!0)};$._tr_init=t=>{Mt||((()=>{let t,e,i,n,r;const a=new Array(16);for(i=0,n=0;n<28;n++)for(dt[n]=i,t=0;t<1<<nt[n];t++)xt[i++]=n;for(xt[i-1]=n,r=0,n=0;n<16;n++)for(ht[n]=r,t=0;t<1<<rt[n];t++)lt[r++]=n;for(r>>=7;n<et;n++)for(ht[n]=r<<7,t=0;t<1<<rt[n]-7;t++)lt[256+r++]=n;for(e=0;e<=it;e++)a[e]=0;for(t=0;t<=143;)ot[2*t+1]=8,t++,a[8]++;for(;t<=255;)ot[2*t+1]=9,t++,a[9]++;for(;t<=279;)ot[2*t+1]=7,t++,a[7]++;for(;t<=287;)ot[2*t+1]=8,t++,a[8]++;for(St(ot,287,a),t=0;t<et;t++)ct[2*t+1]=5,ct[2*t]=bt(t,5);ft=new ut(ot,nt,257,tt,it),gt=new ut(ct,rt,0,et,it),_t=new ut(new Array(0),at,0,19,7)})(),Mt=!0),t.l_desc=new pt(t.dyn_ltree,ft),t.d_desc=new pt(t.dyn_dtree,gt),t.bl_desc=new pt(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,Et(t)},$._tr_stored_block=Ot,$._tr_flush_block=(t,e,i,n)=>{let r,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<Q;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),At(t,t.l_desc),At(t,t.d_desc),s=(t=>{let e;for(Pt(t,t.dyn_ltree,t.l_desc.max_code),Pt(t,t.dyn_dtree,t.d_desc.max_code),At(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*st[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=i+5,i+4<=r&&-1!==e?Ot(t,e,i,n):4===t.strategy||a===r?(vt(t,2+(n?1:0),3),kt(t,ot,ct)):(vt(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(vt(t,e-257,5),vt(t,i-1,5),vt(t,n-4,4),r=0;r<n;r++)vt(t,t.bl_tree[2*st[r]+1],3);Ct(t,t.dyn_ltree,e-1),Ct(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),kt(t,t.dyn_ltree,t.dyn_dtree)),Et(t),n&&Dt(t)},$._tr_tally=(t,e,i)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(xt[i]+Q+1)]++,t.dyn_dtree[2*yt(e)]++),t.last_lit===t.lit_bufsize-1),$._tr_align=t=>{vt(t,2,3),mt(t,256,ot),(t=>{16===t.bi_valid?(wt(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)};var Rt=(t,e,i,n)=>{let r=65535&t|0,a=t>>>16&65535|0,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{r=r+e[n++]|0,a=a+r|0}while(--s);r%=65521,a%=65521}return r|a<<16|0};const Kt=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var Lt=(t,e,i,n)=>{const r=Kt,a=n+i;t^=-1;for(let i=n;i<a;i++)t=t>>>8^r[255&(t^e[i])];return-1^t},Nt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},zt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Ut,_tr_stored_block:Bt,_tr_flush_block:Ft,_tr_tally:jt,_tr_align:Zt}=$,Vt=Rt,Ht=Lt,Gt=Nt,{Z_NO_FLUSH:Wt,Z_PARTIAL_FLUSH:Yt,Z_FULL_FLUSH:qt,Z_FINISH:Jt,Z_BLOCK:$t,Z_OK:Xt,Z_STREAM_END:Qt,Z_STREAM_ERROR:te,Z_DATA_ERROR:ee,Z_BUF_ERROR:ie,Z_DEFAULT_COMPRESSION:ne,Z_FILTERED:re,Z_HUFFMAN_ONLY:ae,Z_RLE:se,Z_FIXED:oe,Z_DEFAULT_STRATEGY:ce,Z_UNKNOWN:le,Z_DEFLATED:xe}=zt,de=258,he=262,ue=103,fe=113,ge=666,_e=(t,e)=>(t.msg=Gt[e],e),pe=t=>(t<<1)-(t>4?9:0),ye=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let we=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const ve=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},me=(t,e)=>{Ft(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,ve(t.strm)},be=(t,e)=>{t.pending_buf[t.pending++]=e},Se=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Ee=(t,e,i,n)=>{let r=t.avail_in;return r>n&&(r=n),0===r?0:(t.avail_in-=r,e.set(t.input.subarray(t.next_in,t.next_in+r),i),1===t.state.wrap?t.adler=Vt(t.adler,e,r,i):2===t.state.wrap&&(t.adler=Ht(t.adler,e,r,i)),t.next_in+=r,t.total_in+=r,r)},De=(t,e)=>{let i,n,r=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match;const c=t.strstart>t.w_size-he?t.strstart-(t.w_size-he):0,l=t.window,x=t.w_mask,d=t.prev,h=t.strstart+de;let u=l[a+s-1],f=l[a+s];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+s]===f&&l[i+s-1]===u&&l[i]===l[a]&&l[++i]===l[a+1]){a+=2,i++;do{}while(l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&a<h);if(n=de-(h-a),a=h-de,n>s){if(t.match_start=e,s=n,n>=o)break;u=l[a+s-1],f=l[a+s]}}}while((e=d[e&x])>c&&0!=--r);return s<=t.lookahead?s:t.lookahead},Ie=t=>{const e=t.w_size;let i,n,r,a,s;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-he)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,i=n;do{r=t.head[--i],t.head[i]=r>=e?r-e:0}while(--n);n=e,i=n;do{r=t.prev[--i],t.prev[i]=r>=e?r-e:0}while(--n);a+=e}if(0===t.strm.avail_in)break;if(n=Ee(t.strm,t.window,t.strstart+t.lookahead,a),t.lookahead+=n,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=we(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=we(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<he&&0!==t.strm.avail_in)},Te=(t,e)=>{let i,n;for(;;){if(t.lookahead<he){if(Ie(t),t.lookahead<he&&e===Wt)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=we(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-he&&(t.match_length=De(t,i)),t.match_length>=3)if(n=jt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=we(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=we(t,t.ins_h,t.window[t.strstart+1]);else n=jt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(me(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Jt?(me(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(me(t,!1),0===t.strm.avail_out)?1:2},ke=(t,e)=>{let i,n,r;for(;;){if(t.lookahead<he){if(Ie(t),t.lookahead<he&&e===Wt)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=we(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-he&&(t.match_length=De(t,i),t.match_length<=5&&(t.strategy===re||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,n=jt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=we(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(me(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=jt(t,0,t.window[t.strstart-1]),n&&me(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=jt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Jt?(me(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(me(t,!1),0===t.strm.avail_out)?1:2};function Ae(t,e,i,n,r){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=r}const Pe=[new Ae(0,0,0,0,((t,e)=>{let i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(Ie(t),0===t.lookahead&&e===Wt)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const n=t.block_start+i;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,me(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-he&&(me(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Jt?(me(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(me(t,!1),t.strm.avail_out),1)})),new Ae(4,4,8,4,Te),new Ae(4,5,16,8,Te),new Ae(4,6,32,32,Te),new Ae(4,4,16,16,ke),new Ae(8,16,32,32,ke),new Ae(8,16,128,128,ke),new Ae(8,32,128,256,ke),new Ae(32,128,258,1024,ke),new Ae(32,258,258,4096,ke)];function Ce(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=xe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ye(this.dyn_ltree),ye(this.dyn_dtree),ye(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ye(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ye(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Me=t=>{if(!t||!t.state)return _e(t,te);t.total_in=t.total_out=0,t.data_type=le;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:fe,t.adler=2===e.wrap?0:1,e.last_flush=Wt,Ut(e),Xt},Oe=t=>{const e=Me(t);return e===Xt&&(t=>{t.window_size=2*t.w_size,ye(t.head),t.max_lazy_match=Pe[t.level].max_lazy,t.good_match=Pe[t.level].good_length,t.nice_match=Pe[t.level].nice_length,t.max_chain_length=Pe[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},Re=(t,e,i,n,r,a)=>{if(!t)return te;let s=1;if(e===ne&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),r<1||r>9||i!==xe||n<8||n>15||e<0||e>9||a<0||a>oe)return _e(t,te);8===n&&(n=9);const o=new Ce;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=r+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<r+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=a,o.method=i,Oe(t)};J.deflateInit=(t,e)=>Re(t,e,xe,15,8,ce),J.deflateInit2=Re,J.deflateReset=Oe,J.deflateResetKeep=Me,J.deflateSetHeader=(t,e)=>t&&t.state?2!==t.state.wrap?te:(t.state.gzhead=e,Xt):te,J.deflate=(t,e)=>{let i,n;if(!t||!t.state||e>$t||e<0)return t?_e(t,te):te;const r=t.state;if(!t.output||!t.input&&0!==t.avail_in||r.status===ge&&e!==Jt)return _e(t,0===t.avail_out?ie:te);r.strm=t;const a=r.last_flush;if(r.last_flush=e,42===r.status)if(2===r.wrap)t.adler=0,be(r,31),be(r,139),be(r,8),r.gzhead?(be(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),be(r,255&r.gzhead.time),be(r,r.gzhead.time>>8&255),be(r,r.gzhead.time>>16&255),be(r,r.gzhead.time>>24&255),be(r,9===r.level?2:r.strategy>=ae||r.level<2?4:0),be(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(be(r,255&r.gzhead.extra.length),be(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=Ht(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(be(r,0),be(r,0),be(r,0),be(r,0),be(r,0),be(r,9===r.level?2:r.strategy>=ae||r.level<2?4:0),be(r,3),r.status=fe);else{let e=xe+(r.w_bits-8<<4)<<8,i=-1;i=r.strategy>=ae||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,r.status=fe,Se(r,e),0!==r.strstart&&(Se(r,t.adler>>>16),Se(r,65535&t.adler)),t.adler=1}if(69===r.status)if(r.gzhead.extra){for(i=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),ve(t),i=r.pending,r.pending!==r.pending_buf_size));)be(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),ve(t),i=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,be(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),0===n&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),ve(t),i=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,be(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>i&&(t.adler=Ht(t.adler,r.pending_buf,r.pending-i,i)),0===n&&(r.status=ue)}else r.status=ue;if(r.status===ue&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&ve(t),r.pending+2<=r.pending_buf_size&&(be(r,255&t.adler),be(r,t.adler>>8&255),t.adler=0,r.status=fe)):r.status=fe),0!==r.pending){if(ve(t),0===t.avail_out)return r.last_flush=-1,Xt}else if(0===t.avail_in&&pe(e)<=pe(a)&&e!==Jt)return _e(t,ie);if(r.status===ge&&0!==t.avail_in)return _e(t,ie);if(0!==t.avail_in||0!==r.lookahead||e!==Wt&&r.status!==ge){let i=r.strategy===ae?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(Ie(t),0===t.lookahead)){if(e===Wt)return 1;break}if(t.match_length=0,i=jt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(me(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Jt?(me(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(me(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===se?((t,e)=>{let i,n,r,a;const s=t.window;for(;;){if(t.lookahead<=de){if(Ie(t),t.lookahead<=de&&e===Wt)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=t.strstart-1,n=s[r],n===s[++r]&&n===s[++r]&&n===s[++r])){a=t.strstart+de;do{}while(n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&r<a);t.match_length=de-(a-r),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=jt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=jt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(me(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Jt?(me(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(me(t,!1),0===t.strm.avail_out)?1:2})(r,e):Pe[r.level].func(r,e);if(3!==i&&4!==i||(r.status=ge),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),Xt;if(2===i&&(e===Yt?Zt(r):e!==$t&&(Bt(r,0,0,!1),e===qt&&(ye(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),ve(t),0===t.avail_out))return r.last_flush=-1,Xt}return e!==Jt?Xt:r.wrap<=0?Qt:(2===r.wrap?(be(r,255&t.adler),be(r,t.adler>>8&255),be(r,t.adler>>16&255),be(r,t.adler>>24&255),be(r,255&t.total_in),be(r,t.total_in>>8&255),be(r,t.total_in>>16&255),be(r,t.total_in>>24&255)):(Se(r,t.adler>>>16),Se(r,65535&t.adler)),ve(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Xt:Qt)},J.deflateEnd=t=>{if(!t||!t.state)return te;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==ue&&e!==fe&&e!==ge?_e(t,te):(t.state=null,e===fe?_e(t,ee):Xt)},J.deflateSetDictionary=(t,e)=>{let i=e.length;if(!t||!t.state)return te;const n=t.state,r=n.wrap;if(2===r||1===r&&42!==n.status||n.lookahead)return te;if(1===r&&(t.adler=Vt(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===r&&(ye(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const a=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,Ie(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=we(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Ie(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=a,n.wrap=r,Xt},J.deflateInfo="pako deflate (from Nodeca project)";var Ke={};const Le=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);Ke.assign=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Le(i,e)&&(t[e]=i[e])}}return t},Ke.flattenChunks=t=>{let e=0;for(let i=0,n=t.length;i<n;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,n=0,r=t.length;e<r;e++){let r=t[e];i.set(r,n),n+=r.length}return i};var Ne={};let ze=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){ze=!1}const Ue=new Uint8Array(256);for(let t=0;t<256;t++)Ue[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Ue[254]=Ue[254]=1,Ne.string2buf=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,i,n,r,a,s=t.length,o=0;for(r=0;r<s;r++)i=t.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=t.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),a=0,r=0;a<o;r++)i=t.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=t.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),i<128?e[a++]=i:i<2048?(e[a++]=192|i>>>6,e[a++]=128|63&i):i<65536?(e[a++]=224|i>>>12,e[a++]=128|i>>>6&63,e[a++]=128|63&i):(e[a++]=240|i>>>18,e[a++]=128|i>>>12&63,e[a++]=128|i>>>6&63,e[a++]=128|63&i);return e};Ne.buf2string=(t,e)=>{const i=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,r;const a=new Array(2*i);for(r=0,n=0;n<i;){let e=t[n++];if(e<128){a[r++]=e;continue}let s=Ue[e];if(s>4)a[r++]=65533,n+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&n<i;)e=e<<6|63&t[n++],s--;s>1?a[r++]=65533:e<65536?a[r++]=e:(e-=65536,a[r++]=55296|e>>10&1023,a[r++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&ze)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return i})(a,r)},Ne.utf8border=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+Ue[t[i]]>e?i:e};const Be=J,Fe=Ke,je=Ne,Ze=Nt,Ve=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},He=Object.prototype.toString,{Z_NO_FLUSH:Ge,Z_SYNC_FLUSH:We,Z_FULL_FLUSH:Ye,Z_FINISH:qe,Z_OK:Je,Z_STREAM_END:$e,Z_DEFAULT_COMPRESSION:Xe,Z_DEFAULT_STRATEGY:Qe,Z_DEFLATED:ti}=zt;function ei(t){this.options=Fe.assign({level:Xe,method:ti,chunkSize:16384,windowBits:15,memLevel:8,strategy:Qe},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ve,this.strm.avail_out=0;let i=Be.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Je)throw new Error(Ze[i]);if(e.header&&Be.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?je.string2buf(e.dictionary):"[object ArrayBuffer]"===He.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=Be.deflateSetDictionary(this.strm,t),i!==Je)throw new Error(Ze[i]);this._dict_set=!0}}ei.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let r,a;if(this.ended)return!1;for(a=e===~~e?e:!0===e?qe:Ge,"string"==typeof t?i.input=je.string2buf(t):"[object ArrayBuffer]"===He.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(a===We||a===Ye)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(r=Be.deflate(i,a),r===$e)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),r=Be.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Je;if(0!==i.avail_out){if(a>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},ei.prototype.onData=function(t){this.chunks.push(t)},ei.prototype.onEnd=function(t){t===Je&&(this.result=Fe.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ii=function(t,e){return(e=e||{}).gzip=!0,function(t,e){const i=new ei(e);if(i.push(t,!0),i.err)throw i.msg||Ze[i.err];return i.result}(t,e)};const ni=["enabled","userId"];var ri,ai,si=["drs"];ri=si,ai=391,function(t){for(;--t;)ri.push(ri.shift())}(++ai);var oi,ci,li,xi=new q((oi="0x0",si[oi-=0])),di=["getItem","sessionStorage","setItem","removeItemSessionStorageSafe","removeItem","localStorage","FALLBACK_SESSION_STORAGE","FALLBACK_LOCAL_STORAGE","clientId","getClientId","getFullStorageKey","getItemSessionStorageSafe"];ci=di,li=378,function(t){for(;--t;)ci.push(ci.shift())}(++li);var hi=function(t,e){return di[t-=0]};class ui{constructor(t){this[hi("0x0")]={},this[hi("0x1")]={},this[hi("0x2")]=t}[hi("0x3")](){return this[hi("0x2")]}setClientId(t){this[hi("0x2")]=t}[hi("0x4")](t){return this[hi("0x2")]+"_"+t}[hi("0x5")](t){const e=this[hi("0x4")](t);try{return window.sessionStorage[hi("0x6")](e)}catch(t){return this[hi("0x0")][e]}}setItemSessionStorageSafe(t,e){const i=this[hi("0x4")](t);try{window[hi("0x7")][hi("0x8")](i,e)}catch(t){this[hi("0x0")][i]=e}}[hi("0x9")](t){const e=this.getFullStorageKey(t);try{window[hi("0x7")][hi("0xa")](e)}catch(t){this.FALLBACK_SESSION_STORAGE[e]=void 0}}getItemLocalStorageSafe(t){const e=this.getFullStorageKey(t);try{return window.localStorage[hi("0x6")](e)}catch(t){return this.FALLBACK_LOCAL_STORAGE[e]}}setItemLocalStorageSafe(t,e){const i=this[hi("0x4")](t);try{window[hi("0xb")][hi("0x8")](i,e)}catch(t){this[hi("0x1")][i]=e}}removeItemLocalStorageSafe(t){const e=this[hi("0x4")](t);try{window.localStorage[hi("0xa")](e)}catch(t){this[hi("0x1")][e]=void 0}}}var fi,gi,_i=["pushLog","warn","error","flush","log","logPrefix","stringify","push","now","formatter","unshift","enabled","logsLimit","logs","middlewares","info"];fi=_i,gi=235,function(t){for(;--t;)fi.push(fi.shift())}(++gi);var pi=function(t,e){return _i[t-=0]};class yi{constructor(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this[pi("0x0")]=t,this.logPrefix="[AccountProtection SDK]",this[pi("0x1")]=1e4,this[pi("0x2")]=[],this[pi("0x3")]=[]}[pi("0x4")](t,e){this[pi("0x5")](3,t,e)}[pi("0x6")](t,e){this[pi("0x5")](4,t,e)}[pi("0x7")](t,e){this.pushLog(5,t,e)}[pi("0x8")](){const t=this[pi("0x2")];return this[pi("0x2")]=[],t}pushLog(t,e,i){this.enabled&&console[pi("0x9")]("%s %s %s",this[pi("0xa")],e,JSON[pi("0xb")](i)),this.logs[pi("0xc")]({timestamp:Date[pi("0xd")](),severity:t,text:JSON[pi("0xb")](l(l({},i),{},{message:e}),this[pi("0xe")])}),this[pi("0x2")].length>this[pi("0x1")]&&this.logs[pi("0xf")]();const n=this[pi("0x3")].map((t=>t()));Promise.all(n).catch((()=>{}))}[pi("0xe")](t,e){if(e instanceof Error){const{name:t,stack:i,message:n}=e;return{name:t,stack:i,message:n}}return e}}const wi=new yi;var vi,mi,bi=["refreshConf","keys","setItemLocalStorageSafe","stringify","timestamp","ric","storageManager","requestsManager","conf","loadConf","device/conf?tenantId=","error","error fetching config","getItemLocalStorageSafe","parse","error loading config","getConfValue"];vi=bi,mi=174,function(t){for(;--t;)vi.push(vi.shift())}(++mi);var Si=function(t,e){return bi[t-=0]};const Ei=Si("0x0"),Di=Si("0x1");class Ii{constructor(t,e){this[Si("0x2")]=t,this[Si("0x3")]=e,this[Si("0x4")]=this[Si("0x5")]()}async fetchConf(t){try{const e=Si("0x6")+t,i=await this[Si("0x3")].getData(e);return null!=i?i:{}}catch(e){return wi[Si("0x7")](Si("0x8"),{clientId:t,error:e}),{}}}[Si("0x5")](){const t=this[Si("0x2")][Si("0x9")](Di);if(null!=t)try{return JSON[Si("0xa")](t)}catch(t){wi[Si("0x7")](Si("0xb"),{error:t})}return{}}shouldUpdateConf(){const t=this[Si("0xc")](Ei,0);return Date.now()-t>36e5}async[Si("0xd")](t){if(!this.shouldUpdateConf())return!1;let e=await this.fetchConf(t);return 0==Object[Si("0xe")](e).length?e=this.loadConf():this[Si("0x2")][Si("0xf")](Di,JSON[Si("0x10")](e)),this[Si("0x4")]=e,!0}[Si("0xc")](t,e){const i=void 0!==this[Si("0x4")]?this[Si("0x4")][t]:void 0;return null!=i?i:e}}var Ti,ki,Ai=["EVENT_TYPE_INTERACTION","interaction","EVENT_TYPE_IDENTIFICATION","desktop_web","mobile_web","device"];Ti=Ai,ki=419,function(t){for(;--t;)Ti.push(Ti.shift())}(++ki);var Pi,Ci,Mi=function(t,e){return Ai[t-=0]};(Ci=Pi||(Pi={})).EVENT_TYPE_ACTION="action",Ci.EVENT_TYPE_DEVICE=Mi("0x0"),Ci[Mi("0x1")]=Mi("0x2"),Ci[Mi("0x3")]="identification";const Oi=Mi("0x4"),Ri=Mi("0x5");var Ki,Li,Ni=["length","splice","push","maintainLastXItems"];Ki=Ni,Li=131,function(t){for(;--t;)Ki.push(Ki.shift())}(++Li);var zi=function(t,e){return Ni[t-=0]};class Ui{static[zi("0x0")](t,e,i){return t[zi("0x1")]>=e&&t[zi("0x2")](0,1),t[zi("0x3")](i),t}}var Bi,Fi,ji=["location","shiftKey","inputType","view","data","buffer","collect","extractEventData","maintainLastXItems","getData","now","extractButtonsPressedData","altKey","buttons","offsetX","offsetY","firesTouchEvents","sourceCapabilities","target","isTrusted","cancelable","metaKey","bufferSize","composed"];Bi=ji,Fi=292,function(t){for(;--t;)Bi.push(Bi.shift())}(++Fi);var Zi=function(t,e){return ji[t-=0]};class Vi{constructor(t){this[Zi("0x0")]=[],this[Zi("0x1")]=t}[Zi("0x2")](t){const e=this[Zi("0x3")](t);Ui[Zi("0x4")](this[Zi("0x0")],this[Zi("0x1")],e)}[Zi("0x5")](){return this[Zi("0x0")]}[Zi("0x3")](t){return l({x:t.x,y:t.y,tspl:Date[Zi("0x6")]()},this.extractButtonsPressedData(t))}[Zi("0x7")](t){return l(l(l(l({},t.ctrlKey&&{ctrlKey:!0}),t[Zi("0x8")]&&{altKey:!0}),t.shiftKey&&{shiftKey:!0}),0!=t.buttons&&{buttons:t[Zi("0x9")]})}}class Hi{constructor(t){this[Zi("0x0")]=[],this.buffer=t}[Zi("0x2")](t){var e;const i={x:t.x,y:t.y,timestamp:Date[Zi("0x6")](),mouseButtonType:t.detail,offsetX:t[Zi("0xa")],offsetY:t[Zi("0xb")],isPressed:null==(null===(e=t.sourceCapabilities)||void 0===e?void 0:e[Zi("0xc")])?null:!t[Zi("0xd")].firesTouchEvents,target_id:t[Zi("0xe")].id};Ui[Zi("0x4")](this.data,this.buffer,i)}[Zi("0x5")](){const t=[...this[Zi("0x0")]];return this.data=[],t}}class Gi{constructor(t){this[Zi("0x0")]=[],this.bufferSize=t}[Zi("0x2")](t){var e;const i={isTrusted:t[Zi("0xf")],cancelable:t[Zi("0x10")],composed:t.composed,isView:!!t.view,shiftKey:t.shiftKey,metaKey:t[Zi("0x11")],firesTouchEvents:null===(e=t[Zi("0xd")])||void 0===e?void 0:e.firesTouchEvents,timestamp:Date[Zi("0x6")]()};Ui[Zi("0x4")](this[Zi("0x0")],this[Zi("0x12")],i)}[Zi("0x5")](){const t=[...this[Zi("0x0")]];return this[Zi("0x0")]=[],t}}class Wi{constructor(t){this.data=[],this.bufferSize=t}[Zi("0x2")](t){var e;const i={isTrusted:t[Zi("0xf")],cancelable:t[Zi("0x10")],composed:t[Zi("0x13")],isView:!!t.view,location:t[Zi("0x14")],shiftKey:t[Zi("0x15")],firesTouchEvents:null===(e=t[Zi("0xd")])||void 0===e?void 0:e[Zi("0xc")],timestamp:Date[Zi("0x6")]()};Ui[Zi("0x4")](this[Zi("0x0")],this.bufferSize,i)}[Zi("0x5")](){const t=this[Zi("0x0")];return this.data=[],t}}class Yi{constructor(t){this.data=[],this[Zi("0x12")]=t}[Zi("0x2")](t){const e={isTrusted:t[Zi("0xf")],cancelable:t[Zi("0x10")],composed:t[Zi("0x13")],inputType:t[Zi("0x16")],isView:!!t[Zi("0x17")],timestamp:Date[Zi("0x6")]()};Ui[Zi("0x4")](this[Zi("0x0")],this[Zi("0x12")],e)}[Zi("0x5")](){const t=this[Zi("0x0")];return this[Zi("0x0")]=[],t}}class qi{constructor(t){this[Zi("0x0")]=[],this[Zi("0x12")]=t}[Zi("0x2")](t){const e={isTrusted:t.isTrusted,cancelable:t[Zi("0x10")],composed:t.composed,timestamp:Date[Zi("0x6")]()};Ui[Zi("0x4")](this[Zi("0x0")],this[Zi("0x12")],e)}[Zi("0x5")](){const t=this[Zi("0x0")];return this[Zi("0x0")]=[],t}}var Ji,$i,Xi=["getGenericAttributes","getAttachedData","error","error adding interaction listener","eventTypesToAttach","getData","href","change","paste","mousemove","mouseup","mousedown","submit","keyup","input","focusout","SELECT","TEXTAREA","safeEventCallback","interactionEventsCollectorsData","detail","sourceCapabilities","firesTouchEvents","offsetX","offsetY","target","isTrusted","cancelable","composed","dropEffect","clipboardData","effectAllowed","mouseEventsCollectionBuffer","dataset","virtualKeyboard","inputTypeFilter","tagName","includes","entries","addSafeInteractionListener","Error while adding listener","filter","handleEvent","forEach"];Ji=Xi,$i=227,function(t){for(;--t;)Ji.push(Ji.shift())}(++$i);var Qi=function(t,e){return Xi[t-=0]};const tn=Qi("0x0"),en=Qi("0x1"),nn=Qi("0x2"),rn=Qi("0x3"),an=Qi("0x4"),sn=Qi("0x5"),on=Qi("0x6"),cn="keydown",ln=Qi("0x7"),xn=Qi("0x8"),dn=["INPUT",Qi("0x9"),Qi("0xa")];class hn{constructor(t,e,i){this.deviceEventDataCollectionIgnoreList=t,this.mouseEventsCollectionBuffer=e,this[Qi("0xb")]=i,this[Qi("0xc")]={click:{eventTypesToAttach:[nn,rn,an],attributesMapper:t=>{var e;return{x:t.x,y:t.y,mouseButtonType:t[Qi("0xd")],isPressed:null==(null===(e=t[Qi("0xe")])||void 0===e?void 0:e[Qi("0xf")])?null:!t[Qi("0xe")][Qi("0xf")],offsetX:t[Qi("0x10")],offsetY:t[Qi("0x11")],target_id:t[Qi("0x12")].id}}},[en]:{attributesMapper:t=>({target_id:t.target.id,isTrusted:t[Qi("0x13")],cancelable:t[Qi("0x14")],composed:t[Qi("0x15")],dropEffect:t.clipboardData[Qi("0x16")],effectAllowed:t[Qi("0x17")][Qi("0x18")]})},[sn]:{attributesMapper:t=>({target_id:t[Qi("0x12")].id})},[nn]:{continousCollectors:[new Vi(this[Qi("0x19")])]},[rn]:{continousCollectors:[new Hi(1)]},[an]:{continousCollectors:[new Hi(1)]},[xn]:{eventTypesToAttach:[ln,on,cn,tn],filter:this.inputTypeFilter,attributesMapper:t=>{const{target:e,isTrusted:i,cancelable:n,composed:r}=t;return l({target_id:e.id,dataset_keys:Object.keys(e[Qi("0x1a")]||{}),isTrusted:i,cancelable:n,composed:r},navigator[Qi("0x1b")]&&{navigator_virtualKeyboard:navigator[Qi("0x1b")].overlaysContent})}},[ln]:{filter:this[Qi("0x1c")],continousCollectors:[new Yi(50)]},[on]:{filter:this[Qi("0x1c")],continousCollectors:[new Wi(50)]},[cn]:{filter:this[Qi("0x1c")],continousCollectors:[new Gi(50)]},[tn]:{continousCollectors:[new qi(50)]}}}inputTypeFilter(t){var e;const i=null===(e=t[Qi("0x12")])||void 0===e?void 0:e[Qi("0x1d")];return dn[Qi("0x1e")](i)}registerEventListeners(){for(const[t,e]of Object[Qi("0x1f")](this[Qi("0xc")]))if(!this.deviceEventDataCollectionIgnoreList[Qi("0x1e")](t))try{this[Qi("0x20")](t,e)}catch(e){wi.error(Qi("0x21"),{error:e,eventType:t})}}[Qi("0x22")](t,e){return!t.filter||t[Qi("0x22")](e)}async[Qi("0x23")](t,e,i){const{attributesMapper:n,continousCollectors:r}=t;if(!this[Qi("0x22")](t,e))return!1;if(r)r[Qi("0x24")]((t=>{t.collect(e)}));else{const t=this[Qi("0x25")](),r=this[Qi("0x26")](i),a=l(l(l({},t),n(e)),r&&{attachedEventsData:r});await this.safeEventCallback(i,a)}return!0}addSafeInteractionListener(t,e){window.addEventListener(t,(async i=>{try{await this[Qi("0x23")](e,i,t)}catch(t){wi[Qi("0x27")](Qi("0x28"),{error:t})}}))}[Qi("0x26")](t){let e;const i=this[Qi("0xc")][t][Qi("0x29")];return i&&(e={},i[Qi("0x24")]((t=>{const{continousCollectors:i}=this[Qi("0xc")][t];i&&i[Qi("0x24")]((i=>e[t]=i[Qi("0x2a")]()))}))),e}[Qi("0x25")](){return{location:window.location[Qi("0x2b")]}}}var un,fn,gn=["race","catch","warn","executor reached timeout","finally","getHighEntropyValues","model","platform","platformVersion","fullVersionList","bitness","mobile","wow64","resolve","setTimeout"];un=gn,fn=140,function(t){for(;--t;)un.push(un.shift())}(++fn);var _n=function(t,e){return gn[t-=0]};function pn(){var t;return null===(t=navigator.userAgentData)||void 0===t?void 0:t[_n("0x0")](["architecture",_n("0x1"),_n("0x2"),_n("0x3"),_n("0x4"),_n("0x5"),_n("0x6"),_n("0x7"),"uaFullVersion"])}function yn(t,e){let i;const n=[Promise[_n("0x8")](t()).catch((()=>{})),new Promise(((t,n)=>i=window[_n("0x9")](n,e)))];return Promise[_n("0xa")](n)[_n("0xb")]((()=>wi[_n("0xc")](_n("0xd"),{fnName:t.name})))[_n("0xe")]((()=>clearTimeout(i)))}var wn,vn,mn=["worker throw error","resolve","collectPromisesData","worker promise rejected","getCookieEnabled","getFIDOEnabled","credentials","PublicKeyCredential","crypto","getRandomValues","from","RTCPeerConnection","getWindowBasedKeys","chrome","safari","__crWeb","yandex","__yb","__ybro","__edgeTrackingPreventionStatistics","webkit","samsungAr","ucweb","UCShellJava","puffinDevice","_phantom","callPhantom","Buffer","emit","spawn","domAutomationController","domAutomation","__nightmare","_selenium","callSelenium","_Selenium_IDE_Recorder","__$webdriverAsyncExecutor","__driver_evaluate","__driver_unwrapped","__fxdriver_evaluate","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","__selenium_evaluate","__selenium_unwrapped","__webdriver__chr","__webdriver_evaluate","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","__webdriver_unwrapped","awesomium","cdc_adoQpoasnfa76pfcZLmcfl_Array","cdc_adoQpoasnfa76pfcZLmcfl_Promise","chrome_asyncScriptInfo","OSMJIF","spynner_additional_js_loaded","watinExpressionError","watinExpressionResult","push","getMediaMatch","standard","no-preference","high","low","more","less","forced","100","active","none","inverted","rec2020","replace","matchMedia","matches","log","sqrt","exp","acos","acosh","asin","asinh","atanh","atan","sinh","cos","cosh","expm1","log1p","length","hashCodeString","getSessionStorage","sessionStorage","localStorage","external","toString","indexOf","Sequentum","webdriver","__fxdriver_unwrapped","calledSelenium","_WEBDRIVER_ELEM_CACHE","ChromeDriverw","webdriver-evaluate","selenium-evaluate","webdriverCommand","webdriver-evaluate-response","__webdriverFunc","$cdc_asdjflasutopfhvcZLmcfl_","serviceWorker","filter","product","userAgent","userAgentData","storage","estimate","navigatorOnLine","userActivation","isActive","permissions","state","sendBeacon","getOwnPropertyDescriptor","hardwareConcurrency","languages","get","function","platform","url","referrer","memory","indexedDB","DocumentTouch","maxTouchPoints","msMaxTouchPoints","getPlugins","type","plugins","name","description","screen","availHeight","availWidth","height","pixelDepth","orientation","angle","devicePixelRatio","outerWidth","outerHeight","getCpuClass","getOsCpu","oscpu","HTMLElement","prototype","addBehavior","enumerateDevices","kind","label","groupId","OfflineAudioContext","webkitOfflineAudioContext","createOscillator","triangle","frequency","createDynamicsCompressor","knee","ratio","release","connect","destination","start","renderedBuffer","startRendering","getChannelData","subarray","getHash","threshold","attack","createAnalyser","disconnect","frequencyBinCount","getFloatFrequencyData","call","fftSize","getFloatTimeDomainData","reduction","abs","monospace","sans-serif","serif","sans-serif-thin","ARNO PRO","Agency FB","AvantGarde Bk BT","BankGothic Md BT","Calibri","Century","Century Gothic","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Levenim MT","Lucida Bright","Lucida Sans","MS Mincho","MS Outlook","MS Reference Specialty","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Minion Pro","Monotype Corsiva","PMingLiU","SCRIPTINA","Segoe UI Light","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","ZWAdobeF","createElement","style","visibility","hidden","span","top","left","fontSize","10px","textContent","appendChild","map","some","offsetWidth","offsetHeight","body","removeChild","language","DateTimeFormat","resolvedOptions","timeZone","vendor","getBuildID","buildID","width","textBaseline","alphabetic","fillStyle","#f60","#069","font",'11pt "Times New Roman"',"fillText","rgba(102, 204, 0, 0.2)","18pt Arial","globalCompositeOperation","multiply","#f2f","#2ff","arc","fill","#f9c","toDataURL","rect","getContext","charging","chargingTime","dischargingTime","level","brave","isBrave","canvas","webgl","webgl-experimental","getExtension","WEBGL_debug_renderer_info","getParameter","UNMASKED_RENDERER_WEBGL","getCodesTests","video","canPlayType",'video/mp4; codecs="avc1.42E01E"',"video/mp4;;Codecs =avc1.42E01E","getPublicData","isMobile","only screen and (max-width: 600px)","sdkDeviceDataCollectionIgnoreList","deviceDataCalculationExpiry","reduce","storageManager","configManager","cryptoBinding","calculate","getConfValue","dataPointsExtractor","lastDeviceData","now","getDeviceData","getItemLocalStorageSafe","dataPoints","getBattery","getBrave","getCanvasFingerprint","getConnection","getCryptoRandomValues","getDeviceMemory","getDocumentBasedKeys","getHardwareConcurrency","getIndexedDB","getLanguages","getLanguage","getTimezoneOffset","getLocalStorage","getNavigatorBasedKeys","getNavigatorProduct","getNavigatorUAData","getNavigatorHighEntropyData","navigatorStorageEstimation","navigatorIsUserActive","getMathFingerprint","getOpenDatabase","getWindowOrientation","getPlatform","getAddBehavior","getProductSub","getMediaDevices","getAudioFingerprintExtended","getFonts","getPerformanceMemory","getScreen","hasSequentum","getReferrer","getTimezone","getTouchSupport","getVendor","getWebGlRenderer","getWindowOuter","webRTCDisabled","getCryptoBindingData","bind","getNavigatorPermissionsState","geolocation","isGeoLocationExists","isSendBeaconFunction","getNavigatorPrototype","getInstalledRelatedApps","windowConstructorAliasTest","CDPRuntimeDomainTest","Error","Object","console","debug","windowDocumentAuxVarsTest","getOwnPropertyNames","document","$chrome_asyncScriptInfo","values","value","cache_","getPrototypeOf","storeItem","retrieveItem","isNodeReachable_","sort","Promise","Symbol","token","getAsyncToken","startPromisesLoop","entries","includes","warn"];wn=mn,vn=295,function(t){for(;--t;)wn.push(wn.shift())}(++vn);var bn=function(t,e){return mn[t-=0]};const Sn=bn("0x0"),En=bn("0x1"),Dn=t=>t?[...t][bn("0x2")](((t,e)=>t+Math.abs(e)),0):0;class In{constructor(t,e,i){this[bn("0x3")]=t,this[bn("0x4")]=e,this[bn("0x5")]=i}async[bn("0x6")](){const t=this[bn("0x4")][bn("0x7")](Sn,[]),e=this[bn("0x4")][bn("0x7")](En,36e5),i=await new Tn(t,this[bn("0x5")])[bn("0x8")]();return this[bn("0x9")]=i,this[bn("0x3")].setItemLocalStorageSafe(En,Date[bn("0xa")]()+e),i}async[bn("0xb")](){return Number(this[bn("0x3")][bn("0xc")](En))<Date.now()||!this.lastDeviceData?await this.calculate():this[bn("0x9")]}}class Tn{constructor(t,e){this[bn("0x0")]=t,this[bn("0x5")]=e,this[bn("0xd")]={battery:this[bn("0xe")],brave:this[bn("0xf")],canvas:this[bn("0x10")],codecs:this.getCodesTests,connection:this[bn("0x11")],cookieEnabled:this.getCookieEnabled,cryptoRandomValues:this[bn("0x12")],deviceMemory:this[bn("0x13")],documentBasedKeys:this[bn("0x14")],hardwareConcurrency:this[bn("0x15")],indexedDB:this[bn("0x16")],fidoEnabled:this.getFIDOEnabled,languages:this[bn("0x17")],language:this[bn("0x18")],timezoneOffset:this[bn("0x19")],localStorage:this[bn("0x1a")],navigatorBasedKeys:this[bn("0x1b")],navigatorProduct:this[bn("0x1c")],navigatorUserAgent:this.getNavigatorUserAgent,navigatorUAData:this[bn("0x1d")],navigatorHighEntropyData:this[bn("0x1e")],navigatorStorageEstimation:this[bn("0x1f")],navigatorOnLine:this.navigatorOnLine,navigatorIsUserActive:this[bn("0x20")],math:this[bn("0x21")],mediaMatch:this.getMediaMatch,openDatabase:this[bn("0x22")],windowOrientation:this[bn("0x23")],platform:this[bn("0x24")],cpuClass:this.getCpuClass,osClass:this.getOsCpu,addBehavior:this[bn("0x25")],productSub:this[bn("0x26")],mediaDevices:this[bn("0x27")],audioFingerprint:this.getAudioFingerprint,audioFingerprintExtended:this[bn("0x28")],fonts:this[bn("0x29")],performanceTiming:this.getPerformanceTiming,performanceMemory:this[bn("0x2a")],plugins:this.getPlugins,screen:this[bn("0x2b")],sequentum:this[bn("0x2c")],sessionStorage:this.getSessionStorage,referrer:this[bn("0x2d")],timezone:this[bn("0x2e")],touchSupport:this[bn("0x2f")],vendor:this[bn("0x30")],buildID:this.getBuildID,webdriver:this.getWebDriver,webGlRenderer:this[bn("0x31")],windowBasedKeys:this.getWindowBasedKeys,windowOuter:this[bn("0x32")],webRTCDisabled:this[bn("0x33")],cryptoBindingData:this[bn("0x34")][bn("0x35")](this),notificationState:this[bn("0x36")].bind(this,"notifications"),geolocationState:this.getNavigatorPermissionsState[bn("0x35")](this,bn("0x37")),isGeoLocationExists:this[bn("0x38")],isSendBeaconExists:this[bn("0x39")],navigatorPrototype:this[bn("0x3a")],installedRelatedApps:this[bn("0x3b")],windowConstructorAliasTest:this[bn("0x3c")],windowDocumentAuxVarsTest:this.windowDocumentAuxVarsTest,CDPRuntimeDomainTest:this[bn("0x3d")]}}[bn("0x3d")](){let t=!1;const e=new(window[bn("0x3e")]);return window[bn("0x3f")].defineProperty(e,"stack",{configurable:!1,enumerable:!1,get:function(){return t=!0,""}}),window[bn("0x40")][bn("0x41")](e.stack),t}[bn("0x42")](){for(const t of window[bn("0x3f")][bn("0x43")](window[bn("0x44")]))if(t==bn("0x45")||/^\$cdc_[a-zA-Z0-9]{22}_$/.test(t))return!0;for(const t of window[bn("0x3f")][bn("0x46")](window.Object.getOwnPropertyDescriptors(window[bn("0x44")]))){if(!t[bn("0x47")]||void 0===t[bn("0x47")][bn("0x48")])continue;const e=window.Object[bn("0x43")](window[bn("0x3f")][bn("0x49")](t[bn("0x47")])),i=[bn("0x4a"),bn("0x4b"),bn("0x4c")];if(e[bn("0x4d")](),i[bn("0x4d")](),e.every(((t,e)=>t==i[e])))return!0}return!1}[bn("0x3c")](){const t=window[bn("0x3f")].getOwnPropertyNames(window);for(const e of t){if(/^cdc_[a-zA-Z0-9]{22}_(Array|Promise|Symbol)$/.test(e))return!0;for(const t of[window.Array,window[bn("0x4e")],window[bn("0x4f")]])if(e!=(null==t?void 0:t.name)&&e!=bn("0x50")&&e!=bn("0x51")&&window[e]===t)return!0}return!1}async[bn("0x8")](){const t=this.startPromisesLoop();return await this.collectPromisesData(t)}[bn("0x52")](){const t={};for(const[e,i]of Object[bn("0x53")](this[bn("0xd")]))if(!this.sdkDeviceDataCollectionIgnoreList[bn("0x54")](e))try{t[e]=yn(i,100)}catch(i){wi[bn("0x55")](bn("0x56"),{e:i,key:e}),t[e]=Promise[bn("0x57")]()}return t}async[bn("0x58")](t){const e={};for(const[i,n]of Object[bn("0x53")](t))try{e[i]=await n}catch(t){wi[bn("0x55")](bn("0x59"),{e:t,key:i}),e[i]=void 0}return e}[bn("0x5a")](){const t=navigator.cookieEnabled;return Promise[bn("0x57")](t)}async[bn("0x5b")](){return!!navigator[bn("0x5c")]&&await window[bn("0x5d")].isUserVerifyingPlatformAuthenticatorAvailable()}[bn("0x12")](){const t=window[bn("0x5e")][bn("0x5f")](new Uint8Array(16));return Array[bn("0x60")](t)}[bn("0x33")](){const t=null==window[bn("0x61")];return Promise[bn("0x57")](t)}[bn("0x62")](){const t=[bn("0x63"),bn("0x64"),bn("0x65"),"__gCrWeb",bn("0x66"),bn("0x67"),bn("0x68"),"__firefox__",bn("0x69"),bn("0x6a"),"oprt",bn("0x6b"),bn("0x6c"),bn("0x6d"),bn("0x6e"),bn("0x6f"),"__phantomas",bn("0x70"),bn("0x71"),bn("0x72"),bn("0x73"),bn("0x74"),bn("0x75"),bn("0x76"),bn("0x77"),"calledSelenium",bn("0x78"),bn("0x79"),bn("0x7a"),bn("0x7b"),bn("0x7c"),bn("0x7d"),"__fxdriver_unwrapped",bn("0x7e"),bn("0x7f"),bn("0x80"),bn("0x81"),bn("0x82"),bn("0x83"),bn("0x84"),bn("0x85"),bn("0x86"),bn("0x87"),bn("0x88"),"__webdriverFuncgeb",bn("0x89"),"calledPhantom",bn("0x8a"),bn("0x8b"),"cdc_adoQpoasnfa76pfcZLmcfl_Symbol",bn("0x8c"),"fmget_targets","geb",bn("0x8d"),bn("0x8e"),bn("0x8f"),bn("0x90")],e=[];for(const i of t){const t=window[i];void 0!==t&&null!=t&&e[bn("0x91")](i)}return Promise[bn("0x57")](e)}[bn("0x92")](){const t={"dynamic-range":["high",bn("0x93")],"prefers-reduced-motion":[bn("0x94"),bn("0x2")],"prefers-contrast":[bn("0x94"),bn("0x95"),bn("0x96"),bn("0x97"),bn("0x98"),bn("0x99")],"max-monochrome":["0","10",bn("0x9a"),"1000"],"forced-colors":[bn("0x9b"),bn("0x9c")],"inverted-colors":[bn("0x9d"),bn("0x9c")],"color-gamut":[bn("0x9e"),"p3","srgb"]},e={};for(const[i,n]of Object[bn("0x53")](t))for(const t of n)e[i[bn("0x9f")](/-/g,"_")+"_"+t[bn("0x9f")](/-/g,"_")]=window[bn("0xa0")]("("+i+": "+t+")")[bn("0xa1")];return Promise[bn("0x57")](e)}getMathFingerprint(){const t=[Math[bn("0xa5")](.12312423423423424),Math[bn("0xa6")](1e308),(e=1e154,Math[bn("0xa2")](e+Math[bn("0xa3")](e*e-1))),Math[bn("0xa7")](.12312423423423424),Math[bn("0xa8")](1),Math[bn("0xa2")](1+Math[bn("0xa3")](2)),Math[bn("0xa9")](.5),Math[bn("0xa2")](3)/2,Math[bn("0xaa")](.5),Math.sin(-1e300),Math[bn("0xab")](1),Math[bn("0xa4")](1)-1/Math[bn("0xa4")](1)/2,Math[bn("0xac")](10.000000000123),Math[bn("0xad")](1),(Math[bn("0xa4")](1)+1/Math.exp(1))/2,Math.tan(-1e300),Math.tanh(1),(Math[bn("0xa4")](2)-1)/(Math[bn("0xa4")](2)+1),Math[bn("0xa4")](1),Math[bn("0xae")](1),Math[bn("0xa4")](1)-1,Math[bn("0xaf")](10),Math[bn("0xa2")](11),Math.PI**-100];var e;let i="";for(let e=0;e<t[bn("0xb0")];e++)i+=t[e].toString();return Promise[bn("0x57")](Tn[bn("0xb1")](i))}[bn("0x11")](){const{connection:t}=navigator,e=(t=>{let{downlink:e,effectiveType:i,rtt:n,saveData:r}=t;return{downlink:e,effectiveType:i,rtt:n,saveData:r}})(t);return Promise[bn("0x57")](e)}[bn("0xb2")](){return Promise[bn("0x57")](!!window[bn("0xb3")])}[bn("0x1a")](){return Promise[bn("0x57")](!!window[bn("0xb4")])}[bn("0x2c")](){return-1!==window[bn("0xb5")][bn("0xb6")]()[bn("0xb7")](bn("0xb8"))}[bn("0x1b")](){return[bn("0xb9"),bn("0x7b"),bn("0x84"),bn("0x81"),bn("0x7d"),bn("0x7c"),"__webdriver_unwrapped",bn("0x82"),bn("0xba"),bn("0x79"),bn("0x77"),bn("0xbb"),bn("0xbc"),bn("0xbd"),"driver-evaluate",bn("0xbe"),bn("0xbf"),bn("0xc0"),bn("0xc1"),bn("0xc2"),"__webdriver_script_fn","__$webdriverAsyncExecutor",bn("0x7e"),"__lastWatirConfirm","__lastWatirPrompt",bn("0x45"),bn("0xc3"),bn("0xc4")][bn("0xc5")]((t=>navigator[t]))}[bn("0x1c")](){const t=navigator[bn("0xc6")];return Promise.resolve(t)}getNavigatorUserAgent(){return navigator[bn("0xc7")]}[bn("0x1d")](){return navigator[bn("0xc8")]}getNavigatorHighEntropyData(){return pn()}[bn("0x1f")](){return navigator[bn("0xc9")][bn("0xca")]()}[bn("0xcb")](){return navigator.onLine}[bn("0x20")](){return navigator[bn("0xcc")][bn("0xcd")]}async[bn("0x36")](t){try{const e=await navigator[bn("0xce")].query({name:t});return null==e?void 0:e[bn("0xcf")]}catch(t){}}[bn("0x38")](){return!!navigator.geolocation}[bn("0x39")](){return"function"==typeof navigator[bn("0xd0")]}[bn("0x3a")](){return{hardwareConcurrency:Object[bn("0xd1")](Object.getPrototypeOf(navigator),bn("0xd2")).get[bn("0xb6")](),languages:Object[bn("0xd1")](Object.getPrototypeOf(navigator),bn("0xd3"))[bn("0xd4")][bn("0xb6")]()}}async[bn("0x3b")](){if(typeof navigator[bn("0x3b")]===bn("0xd5"))try{const{related_applications:t}=await navigator[bn("0x3b")]();if(t&&Array.isArray(t))return t.map((t=>({platform:t[bn("0xd6")],url:t[bn("0xd7")]})))}catch(t){}}[bn("0x2d")](){return document[bn("0xd8")]}getPerformanceTiming(){return performance.timing}[bn("0x2a")](){const{jsHeapSizeLimit:t,totalJSHeapSize:e,usedJSHeapSize:i}=performance[bn("0xd9")];return{jsHeapSizeLimit:t,totalJSHeapSize:e,usedJSHeapSize:i}}[bn("0x16")](){return Promise[bn("0x57")](!!window[bn("0xda")])}getOpenDatabase(){const{openDatabase:t}=window;return Promise.resolve(!!t)}[bn("0x2f")](){const t=window[bn("0xdb")]&&document instanceof DocumentTouch,e={maxTouchPoints:navigator[bn("0xdc")]||navigator[bn("0xdd")]||0,documentTouch:t,ontouchstart:"ontouchstart"in window};return Promise[bn("0x57")](e)}[bn("0xde")](){function t(t){const e=[];for(let i=0;i<t[bn("0xb0")];++i)e[bn("0x91")]({type:t[i][bn("0xdf")],suffixes:t[i].suffixes});return e}const e=[];for(let i=0;i<navigator.plugins[bn("0xb0")];++i){const n=navigator[bn("0xe0")][i];n&&e[bn("0x91")]({name:n[bn("0xe1")],description:n[bn("0xe2")],mimeTypes:t(n)})}return Promise[bn("0x57")](e)}[bn("0x2b")](){const t=window[bn("0xe3")]||screen,{availLeft:e}=t,{availTop:i}=t,n={availHeight:t[bn("0xe4")],availLeft:e,availTop:i,availWidth:t[bn("0xe5")],colorDepth:t.colorDepth,height:t[bn("0xe6")],width:t.width,pixelDepth:t[bn("0xe7")],orientationAngle:t[bn("0xe8")]&&t[bn("0xe8")][bn("0xe9")],orientationType:t[bn("0xe8")]&&t[bn("0xe8")].type,devicePixelRatio:window[bn("0xea")]};return Promise[bn("0x57")](n)}static[bn("0xb1")](t){if(null==t)return;let e=0,i=0;const n=t[bn("0xb0")];for(;i<n;)e=(e<<5)-e+t.charCodeAt(i++)|0;return e}[bn("0x32")](){const t={outerWidth:window[bn("0xeb")],outerHeight:window[bn("0xec")]};return Promise[bn("0x57")](t)}getWebDriver(){const t=navigator[bn("0xb9")];return Promise[bn("0x57")](t)}[bn("0x23")](){const t=window[bn("0xe8")];return Promise[bn("0x57")](t)}[bn("0x24")](){const t=navigator[bn("0xd6")];return Promise[bn("0x57")](t)}[bn("0xed")](){const t=navigator.cpuClass;return Promise[bn("0x57")](t)}[bn("0xee")](){const t=navigator[bn("0xef")];return Promise[bn("0x57")](t)}[bn("0x25")](){const t=!!window[bn("0xf0")][bn("0xf1")][bn("0xf2")];return Promise[bn("0x57")](t)}getProductSub(){const t=navigator.productSub;return Promise.resolve(t)}async getMediaDevices(){const t=await navigator.mediaDevices[bn("0xf3")](),e=[];for(const i of t)e.push({kind:i[bn("0xf4")],label:i[bn("0xf5")],deviceId:i.deviceId,groupId:i[bn("0xf6")]});return e}async getAudioFingerprint(){const t=window[bn("0xf7")]||window[bn("0xf8")];if(!t)return-1;const e=new t(1,5e3,44100),i=e[bn("0xf9")]();i[bn("0xdf")]=bn("0xfa"),i[bn("0xfb")][bn("0x47")]=1e4;const n=e[bn("0xfc")]();n.threshold.value=-50,n[bn("0xfd")].value=40,n[bn("0xfe")][bn("0x47")]=12,n.attack[bn("0x47")]=0,n[bn("0xff")][bn("0x47")]=.25,i[bn("0x100")](n),n[bn("0x100")](e[bn("0x101")]),i[bn("0x102")](0);const r=new Promise((async(t,i)=>{e.oncomplete=e=>t(e[bn("0x103")]);try{await e[bn("0x104")]()}catch(t){i(t)}})),a=(await r)[bn("0x105")](0)[bn("0x106")](4500);return Tn[bn("0x107")](a)}async[bn("0x28")](){var t;const e=window[bn("0xf7")]||window[bn("0xf8")];if(!e)return{};const i=new e(1,5e3,44100),n=i[bn("0xf9")]();n[bn("0xdf")]="triangle",n[bn("0xfb")][bn("0x47")]=1e4;const r=i[bn("0xfc")]();r[bn("0x108")][bn("0x47")]=-50,r[bn("0xfd")][bn("0x47")]=40,r[bn("0x109")][bn("0x47")]=0;const a=i[bn("0x10a")]();n[bn("0x100")](r),r[bn("0x100")](a),r[bn("0x100")](i[bn("0x101")]),n[bn("0x102")](0);try{await i[bn("0x104")](),r[bn("0x10b")](),n[bn("0x10b")]();const e=new Float32Array(a[bn("0x10c")]);null===(t=a[bn("0x10d")])||void 0===t||t[bn("0x10e")](a,e);const s=new Float32Array(a[bn("0x10f")]);return bn("0x110")in a&&a[bn("0x110")](s),{gain:r[bn("0x111")][bn("0x47")]||r[bn("0x111")],freq:Dn(e),time:Dn(s)}}catch(t){return{}}}static[bn("0x107")](t){let e=0;for(let i=0;i<t.length;++i)e+=Math[bn("0x112")](t[i]);return e}[bn("0x29")](){const t=[bn("0x113"),bn("0x114"),bn("0x115")],e=[bn("0x116"),bn("0x117"),bn("0x118"),"Arabic Typesetting","Arial Unicode MS",bn("0x119"),bn("0x11a"),"Batang","Bitstream Vera Sans Mono",bn("0x11b"),bn("0x11c"),bn("0x11d"),"Clarendon",bn("0x11e"),bn("0x11f"),bn("0x120"),bn("0x121"),bn("0x122"),"Gill Sans",bn("0x123"),bn("0x124"),bn("0x125"),bn("0x126"),"Leelawadee","Letter Gothic",bn("0x127"),bn("0x128"),bn("0x129"),"Menlo",bn("0x12a"),bn("0x12b"),bn("0x12c"),"MS UI Gothic",bn("0x12d"),bn("0x12e"),bn("0x12f"),bn("0x130"),"Microsoft Uighur",bn("0x131"),bn("0x132"),bn("0x133"),"Pristina",bn("0x134"),bn("0x135"),"Serifa","SimHei",bn("0x136"),bn("0x137"),bn("0x138"),bn("0x139"),"Vrinda",bn("0x13a")],i=document[bn("0x13b")]("div");i[bn("0x13c")][bn("0x13d")]=bn("0x13e");const n={},r={},a=t=>{const e=document[bn("0x13b")](bn("0x13f")),{style:n}=e;return n.position="absolute",n[bn("0x140")]="0",n[bn("0x141")]="0",n.fontFamily=t,n[bn("0x142")]=bn("0x143"),e[bn("0x144")]="mmMwWLliI0O&1",i[bn("0x145")](e),e},s=(t,e)=>a("'"+t+"',"+e),o=t[bn("0x146")](a),c=(()=>{const i={};for(const n of e)i[n]=t[bn("0x146")]((t=>s(n,t)));return i})();document.body[bn("0x145")](i);try{for(let e=0;e<t[bn("0xb0")];e++)n[t[e]]=o[e][bn("0x148")],r[t[e]]=o[e][bn("0x149")];const i=e.filter((e=>{return i=c[e],t[bn("0x147")](((t,e)=>i[e].offsetWidth!==n[t]||i[e].offsetHeight!==r[t]));var i}));return Promise[bn("0x57")](i)}finally{document[bn("0x14a")][bn("0x14b")](i)}}getTimezoneOffset(){const t=(new Date)[bn("0x19")]();return Promise[bn("0x57")](t)}[bn("0x18")](){const t=navigator[bn("0x14c")];return Promise[bn("0x57")](t)}[bn("0x17")](){const t=navigator[bn("0xd3")];return Promise[bn("0x57")](t)}[bn("0x15")](){const t=navigator[bn("0xd2")];return Promise[bn("0x57")](t)}[bn("0x13")](){const t=navigator.deviceMemory;return Promise.resolve(t)}[bn("0x14")](){return[bn("0x84"),bn("0x81"),bn("0x87"),bn("0x86"),bn("0x85"),bn("0x7d"),bn("0x7c"),"__webdriver_unwrapped",bn("0x7b"),"__selenium_unwrapped",bn("0xba")][bn("0xc5")]((t=>document[t]))}[bn("0x2e")](){const t=Intl[bn("0x14d")]()[bn("0x14e")]()[bn("0x14f")];return Promise.resolve(t)}[bn("0x30")](){const t=navigator[bn("0x150")];return Promise.resolve(t)}[bn("0x151")](){const t=navigator[bn("0x152")];return Promise[bn("0x57")](t)}async[bn("0x10")](){const t=document[bn("0x13b")]("canvas");t.width=1,t[bn("0xe6")]=1;const e=t[bn("0x167")]("2d"),i={winding:function(t){return t[bn("0x166")](0,0,10,10),t[bn("0x166")](2,2,6,6),!t.isPointInPath(5,5,"evenodd")}(e),geometry:function(t,e){t[bn("0x153")]=122,t[bn("0xe6")]=110,e[bn("0x15e")]=bn("0x15f");const i=[[bn("0x160"),40,40],[bn("0x161"),80,40],["#ff2",60,80]];for(const[t,n,r]of i)e[bn("0x156")]=t,e.beginPath(),e[bn("0x162")](n,r,40,0,2*Math.PI,!0),e.closePath(),e[bn("0x163")]();return e[bn("0x156")]=bn("0x164"),e[bn("0x162")](60,60,60,0,2*Math.PI,!0),e[bn("0x162")](60,60,20,0,2*Math.PI,!0),e[bn("0x163")]("evenodd"),Tn[bn("0xb1")](t[bn("0x165")]())}(t,e),text:function(t,e){t[bn("0x153")]=240,t.height=60,e[bn("0x154")]=bn("0x155"),e[bn("0x156")]=bn("0x157"),e.fillRect(100,1,62,20),e[bn("0x156")]=bn("0x158"),e[bn("0x159")]=bn("0x15a");const i="Cwm fjordbank gly "+String.fromCharCode(55357,56835);return e[bn("0x15b")](i,2,15),e.fillStyle=bn("0x15c"),e[bn("0x159")]=bn("0x15d"),e.fillText(i,4,45),Tn[bn("0xb1")](t.toDataURL())}(t,e)};return Promise[bn("0x57")](i)}async getBattery(){const t=await navigator[bn("0xe")]();return{charging:t[bn("0x168")],chargingTime:t[bn("0x169")],dischargingTime:t[bn("0x16a")],level:t[bn("0x16b")]}}async[bn("0xf")](){return!!navigator[bn("0x16c")]&&await navigator[bn("0x16c")][bn("0x16d")]()}async[bn("0x31")](){const t=document[bn("0x13b")](bn("0x16e")),e=t[bn("0x167")](bn("0x16f"))||t.getContext(bn("0x170")),i=e[bn("0x171")](bn("0x172"));return Promise[bn("0x57")](e[bn("0x173")](i[bn("0x174")]))}async[bn("0x175")](){const t=document[bn("0x13b")](bn("0x176")),e={basic:""===t[bn("0x177")](bn("0x178")),advanced:""===t[bn("0x177")](bn("0x179"))};return Promise.resolve(e)}async[bn("0x34")](){const{publicKey:t,keyIdentifier:e}=await this.cryptoBinding[bn("0x17a")]();return{publicKey:t,keyIdentifier:e}}static[bn("0x17b")](){return/iPhone|iPad|iPod|Android|MiuiBrowser/i.test(navigator[bn("0xc7")])||null!=window[bn("0xe8")]||window[bn("0xa0")](bn("0x17c"))[bn("0xa1")]}}var kn,An,Pn=["uncompressed","ALLOW","CHALLENGE","DENY","TRUST","compress","compressed"];kn=Pn,An=271,function(t){for(;--t;)kn.push(kn.shift())}(++An);var Cn,Mn,On,Rn,Kn=function(t,e){return Pn[t-=0]};(Mn=Cn||(Cn={}))[Kn("0x0")]=Kn("0x1"),Mn[Kn("0x2")]=Kn("0x2"),(Rn=On||(On={}))[Kn("0x3")]=Kn("0x3"),Rn.CHALLENGE=Kn("0x4"),Rn[Kn("0x5")]="DENY",Rn[Kn("0x6")]=Kn("0x6");var Ln,Nn,zn=["parse","SHA-256","crypto is not supported","generateSymKey","subtle","generateKey","AES-GCM","encrypt","decrypt","encryptPayload","string","encode","crypto","arrayBufferToBase64","encryptSymKeyBundle","exportKey","raw","stringify","RSA-OAEP","byteLength","fromCharCode","btoa","importPublicKey","importKey"];Ln=zn,Nn=483,function(t){for(;--t;)Ln.push(Ln.shift())}(++Nn);var Un=function(t,e){return zn[t-=0]};class Bn{constructor(t){this.configManager=t}[Un("0x0")](){return window.crypto[Un("0x1")][Un("0x2")]({name:Un("0x3"),length:256},!0,[Un("0x4"),Un("0x5")])}async[Un("0x6")](t,e){const i=typeof t===Un("0x7")?(new TextEncoder)[Un("0x8")](t):t,n=window.crypto.getRandomValues(new Uint8Array(12)),r={name:Un("0x3"),iv:n},a=await window[Un("0x9")].subtle.encrypt(r,e,i);return{payloadCipherText:this[Un("0xa")](a),iv:n}}async[Un("0xb")](t,e,i){const n=await window[Un("0x9")].subtle[Un("0xc")](Un("0xd"),t),r=this[Un("0xa")](n),a=this[Un("0xa")](e),s=(new TextEncoder)[Un("0x8")](JSON[Un("0xe")]({symKey:r,iv:a})),o=await window[Un("0x9")][Un("0x1")][Un("0x4")]({name:Un("0xf")},i,s);return this[Un("0xa")](o)}[Un("0xa")](t){let e="";const i=new Uint8Array(t),n=i[Un("0x10")];for(let t=0;t<n;t++)e+=String[Un("0x11")](i[t]);return window[Un("0x12")](e)}[Un("0x13")](t){return window[Un("0x9")][Un("0x1")][Un("0x14")]("jwk",JSON[Un("0x15")](t),{name:Un("0xf"),hash:Un("0x16")},!0,["encrypt"])}async[Un("0x4")](t,e){if(!window[Un("0x9")]||!window[Un("0x9")][Un("0x1")])throw new Error(Un("0x17"));const i=await this[Un("0x0")](),{payloadCipherText:n,iv:r}=await this.encryptPayload(e,i),a=await this[Un("0x13")](t);return{encryptedData:n,encryptedKey:await this[Un("0xb")](i,r,a)}}}var Fn,jn,Zn=["error","name","toString","SDKError: ",", errorSpace: ","toLog","CLIENT","SERVER","server","COMMUNICATION","communication","errorSpace","errorCode","message"];Fn=Zn,jn=468,function(t){for(;--t;)Fn.push(Fn.shift())}(++jn);var Vn,Hn,Gn=function(t,e){return Zn[t-=0]};(Hn=Vn||(Vn={}))[Gn("0x0")]="client",Hn[Gn("0x1")]=Gn("0x2"),Hn[Gn("0x3")]=Gn("0x4");class Wn extends Error{constructor(t,e,i){var n,r;super(),this.error=t,this[Gn("0x5")]=e,this[Gn("0x6")]=i,this[Gn("0x7")]=(null===(n=this[Gn("0x8")])||void 0===n?void 0:n.message)||this[Gn("0x8")].toString(),this[Gn("0x9")]=(null===(r=this[Gn("0x8")])||void 0===r?void 0:r.name)||Wn[Gn("0x9")]}[Gn("0xa")](){return Gn("0xb")+this.message+(this[Gn("0x5")]?Gn("0xc")+this[Gn("0x5")]:"")+(this[Gn("0x6")]?", errorCode: "+this[Gn("0x6")]:"")}[Gn("0xd")](){return l(l({name:this[Gn("0x9")],message:this[Gn("0x7")]},this[Gn("0x5")]&&{errorSpace:this.errorSpace}),this[Gn("0x6")]&&{errorCode:this[Gn("0x6")]})}}var Yn,qn,Jn=["identityManager","getTabId","timestamp","includes","type","addEventToLocalStorage","push","length","flushTimeoutHandle","flush","Error while emitting event","getClientId","errorCode","toLog","min","catch","Error while emitting event (delayed flush)","refreshSessionToken","sendDeviceDataEvent","Failed to refresh data","isTokenExpired","error","Failed to polling data","enrichUADataIfDoesNotExist","navigatorHighEntropyData","popAllEvents","pop","sort","clientId","deviceId","userId","getUserId","sdkPlatform","events","keyIdentifier","warn","sessionToken","buildEncryptedRequestBody","getRotationData","data","signature","postData","device/events","headers","find","value","setDeviceId","setUserId","cleanLocalStorageEvents","COMMUNICATION","stringify","uncompressed","increaseEventIndex","eventIndex","getItemLocalStorageSafe","parseInt","isNaN","setItemLocalStorageSafe","shouldSendDeviceEvent","now","info","no need to send device event","getDeviceData","emitEvent","getDeviceId","page_load","referrer","history","extractWindowRespurces","performance","getEntriesByType","resources","isArray","map","name","initiatorType","registerEventListeners","fetchEventsFromLocalStorage","parse","removeItemLocalStorageSafe","ddls","rei","mouseEventsCollectionBuffer","bufferSize","bufferInterval","EVENT_TYPE_IDENTIFICATION","localStoredEventTypes","configManager","storageManager","requestsManager","cryptoBinding","serverPath","enableSessionToken","safeEventCallback","EVENT_TYPE_INTERACTION","eventsQueue","crypto","interactionEventsManager","getConfValue","isMobile","eventTypesToStore","maxEventStored","pollingInterval","pollingSessionToken","index","location","toString","platform","sdkVersion","tabId"];Yn=Jn,qn=410,function(t){for(;--t;)Yn.push(Yn.shift())}(++qn);var $n=function(t,e){return Jn[t-=0]};const Xn=$n("0x0"),Qn="lastDeviceInDeviceEvent",tr=$n("0x1"),er="lse",ir=$n("0x2"),nr="deviceEventDataCollectionIgnoreList",rr=$n("0x3"),ar=$n("0x4"),sr=[Pi.EVENT_TYPE_ACTION,Pi[$n("0x5")]],or=$n("0x6");class cr{constructor(t,e,i,n,r,a,s,o){this[$n("0x7")]=t,this[$n("0x8")]=e,this.deviceDataManager=i,this[$n("0x9")]=n,this.identityManager=r,this[$n("0xa")]=a,this[$n("0xb")]=s,this[$n("0xc")]=o,this.eventIndex=null,this.flushTimeoutHandle=null,this[$n("0xd")]=async(t,e)=>{try{const i=l({},l({interaction_type:t},e)),n={type:Pi[$n("0xe")],attributes:i};return await this.emitEvent(n)}catch(t){}},this.enableSessionToken=o,this[$n("0xf")]=[],this[$n("0x10")]=new Bn(t),this[$n("0x11")]=new hn(this.configManager[$n("0x12")](nr,[]),this[$n("0x7")][$n("0x12")](ir,100),this.safeEventCallback),this[$n("0x13")]=Tn.isMobile(),this[$n("0x14")]=this[$n("0x7")][$n("0x12")](or,[Pi.EVENT_TYPE_ACTION]),this[$n("0x15")]=this.configManager[$n("0x12")]("maxLocalStoredEvents",4),this[$n("0x16")]=36e4,this[$n("0x17")]()}async emitEvent(t){t[$n("0x18")]=this.increaseEventIndex(),t[$n("0x19")]=location[$n("0x1a")](),t.platform=navigator[$n("0x1b")],t[$n("0x1c")]="1.52.0",t[$n("0xb")]=this.serverPath,t[$n("0x1d")]=this[$n("0x1e")][$n("0x1f")](),t[$n("0x20")]=Date.now(),await this.enrichUADataIfDoesNotExist(t);let e=0;this[$n("0x14")][$n("0x21")](t[$n("0x22")])?e=this[$n("0x23")](t):this[$n("0xf")][$n("0x24")](t);const i=this[$n("0x7")][$n("0x12")](rr,2);if(this.eventsQueue[$n("0x25")]+e>=i||sr[$n("0x21")](t[$n("0x22")])){this[$n("0x26")]&&(clearTimeout(this.flushTimeoutHandle),this[$n("0x26")]=null);try{return await this[$n("0x27")]()}catch(e){throw wi.error($n("0x28"),{clientId:this[$n("0x1e")][$n("0x29")](),eventType:t[$n("0x22")],error:e[$n("0x2a")]?e[$n("0x2b")]():e}),e}}if(!this.flushTimeoutHandle&&this[$n("0xf")][$n("0x25")]>0){const e=this[$n("0x7")][$n("0x12")](ar,2),i=Math[$n("0x2c")](e,30);this.flushTimeoutHandle=setTimeout((()=>{this[$n("0x26")]=null,this[$n("0x27")]()[$n("0x2d")]((e=>{wi.error($n("0x2e"),{clientId:this[$n("0x1e")][$n("0x29")](),eventType:t[$n("0x22")],error:e[$n("0x2a")]?e.toLog():e})}))}),1e3*i)}return{}}async[$n("0x2f")](){try{return this[$n("0xf")][$n("0x25")]>0||await this[$n("0x30")](!0),await this.flush()}catch(t){wi.error($n("0x31"),{e:t})}}async[$n("0x17")](){try{this[$n("0x1e")][$n("0x32")]()&&await this[$n("0x2f")]()}catch(t){wi[$n("0x33")]($n("0x34"),{e:t})}finally{setTimeout((async()=>{await this[$n("0x17")]()}),this[$n("0x16")])}}async[$n("0x35")](t){var e;if(!(null===(e=t.attributes)||void 0===e?void 0:e.navigatorHighEntropyData))try{t.attributes[$n("0x36")]=await pn()}catch(t){}}[$n("0x37")](){const t=[],e=this.fetchEventsFromLocalStorage();for(;this.eventsQueue[$n("0x25")];)t[$n("0x24")](this[$n("0xf")][$n("0x38")]());return(null==e?void 0:e[$n("0x25")])&&t[$n("0x24")](...e),t[$n("0x39")](((t,e)=>t[$n("0x20")]-e[$n("0x20")]))}async flush(){const t=this[$n("0x37")]();if(0===t[$n("0x25")])return{};const e={};e[$n("0x3a")]=this[$n("0x1e")][$n("0x29")](),e[$n("0x3b")]=this[$n("0x1e")].getDeviceId(),e[$n("0x3c")]=this[$n("0x1e")][$n("0x3d")](),e[$n("0x3e")]=this[$n("0x13")]?Ri:Oi,e[$n("0x3f")]=t;try{const{keyIdentifier:t}=await this[$n("0xa")].getPublicData();e[$n("0x40")]=t}catch(t){wi[$n("0x41")]("Crypto-binding is not supported. "+t)}this.enableSessionToken&&(e[$n("0x42")]=!0);const i=await this[$n("0x43")](e),n=await this[$n("0xa")][$n("0x44")]();let r;n&&(r=[{type:"key_rotation_data",data:n[$n("0x45")],signature:n[$n("0x46")]}]);const a=await this.requestsManager[$n("0x47")]($n("0x48"),l(l({},i),r?{headers:r}:{}));if(a[$n("0x49")]){const t=a[$n("0x49")][$n("0x4a")]((t=>"key_rotation_status"===t[$n("0x22")]));t&&t[$n("0x4b")]&&this[$n("0xa")].handleRotateResponse(t[$n("0x4b")])}return a[$n("0x3b")]&&this[$n("0x1e")][$n("0x4c")](a.deviceId),a[$n("0x42")]&&this[$n("0x1e")].setSessionToken(a[$n("0x42")]),a[$n("0x3c")]&&this[$n("0x1e")][$n("0x4d")](a[$n("0x3c")]),this[$n("0x4e")](),a}async buildEncryptedRequestBody(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this[$n("0x7")][$n("0x12")]("publicKey",null);if(null===i&&e)return await this[$n("0x7")].refreshConf(this[$n("0x1e")][$n("0x29")]()),await this[$n("0x43")](t);if(null===i)throw new Wn(new Error("Encryption error - missing public key"),Vn[$n("0x4f")]);try{const e=JSON[$n("0x50")](t),n=this.compressData(e),r=n||e,{encryptedData:a,encryptedKey:s}=await this[$n("0x10")].encrypt(i,r);return{data:a,key:s,dataType:n?Cn.compress:Cn[$n("0x51")]}}catch(t){throw new Wn(t,Vn.CLIENT)}}compressData(t){try{return ii(t)}catch(t){wi.error("Failed to compress data, sending the data to the service uncompressed",{clientId:this[$n("0x1e")][$n("0x29")](),error:t})}}[$n("0x52")](){if(null===this[$n("0x53")]){const t=this[$n("0x8")][$n("0x54")](tr),e=Number[$n("0x55")](t);this[$n("0x53")]=Number[$n("0x56")](e)?-1:e}return this[$n("0x53")]++,this[$n("0x8")][$n("0x57")](tr,this.eventIndex[$n("0x1a")]()),this[$n("0x53")]}[$n("0x58")](){const t=this[$n("0x8")][$n("0x54")](Xn),e=this[$n("0x8")][$n("0x54")](Qn);return!t||!e||Date[$n("0x59")]()-t>864e5||e!=this[$n("0x1e")].getDeviceId()}async[$n("0x30")](t){if(!t&&!this.shouldSendDeviceEvent())return wi[$n("0x5a")]($n("0x5b")),!1;const e=await this.deviceDataManager[$n("0x5c")](),i={type:Pi.EVENT_TYPE_DEVICE,attributes:e},n=await this[$n("0x5d")](i);return n&&(this.storageManager[$n("0x57")](Xn,Date.now()),this[$n("0x8")][$n("0x57")](Qn,this.identityManager[$n("0x5e")]())),n}async sendPageLoadEvent(){const t=$n("0x5f");if(this.configManager.getConfValue(nr,[])[$n("0x21")](t))return!1;const e=this.extractWindowRespurces();return await this.emitEvent({type:Pi[$n("0xe")],attributes:l(l({interaction_type:t,location:window[$n("0x19")].href,referrer:document[$n("0x60")]},window[$n("0x61")]&&{window_historyLength:window[$n("0x61")].length}),e&&{windowResources:e})}),!0}[$n("0x62")](){try{const t=window[$n("0x63")][$n("0x64")]($n("0x65"));return t&&Array[$n("0x66")](t)?t[$n("0x67")]((t=>({name:t[$n("0x68")],initiatorType:t[$n("0x69")]}))):void 0}catch(t){}}registerEventListeners(){this.interactionEventsManager[$n("0x6a")](),this[$n("0x1e")][$n("0x6a")]()}[$n("0x6b")](){const t=this[$n("0x8")][$n("0x54")](er);return t?JSON[$n("0x6c")](t):[]}[$n("0x23")](t){const e=this.fetchEventsFromLocalStorage();return Ui.maintainLastXItems(e,this[$n("0x15")],t),this[$n("0x8")].setItemLocalStorageSafe(er,JSON.stringify(e)),e[$n("0x25")]}cleanLocalStorageEvents(){this[$n("0x8")][$n("0x6d")](er)}}var lr,xr,dr=["userId","removeItemSessionStorageSafe","removeItemLocalStorageSafe","tabId","random","setSessionToken","getSessionToken","parse","iat","exp","now","rti","rst","userIdStorageExpiry","configManager","setClientId","clientId","loadDeviceId","loadTabId","registerEventListeners","addEventListener","beforeunload","saveTabIdOnUnload","getDeviceId","setDeviceId","deviceId","info","Updating DeviceId","setItemSessionStorageSafe","storageManager","setItemLocalStorageSafe","getItemSessionStorageSafe","getItemLocalStorageSafe","getClientId","getUserId","getConfValue","setUserId"];lr=dr,xr=344,function(t){for(;--t;)lr.push(lr.shift())}(++xr);var hr=function(t,e){return dr[t-=0]};const ur="rui",fr="rdi",gr="rdit",_r=hr("0x0"),pr=hr("0x1"),yr=hr("0x2");class wr{constructor(t,e,i){this.storageManager=t,this[hr("0x3")]=e,this.clientId=i,this[hr("0x4")](this[hr("0x5")])}load(){this[hr("0x6")](),this[hr("0x7")]()}[hr("0x8")](){window[hr("0x9")](hr("0xa"),(async()=>this[hr("0xb")]()))}[hr("0xc")](){return this.deviceId}[hr("0xd")](t){this[hr("0xe")]!==t&&(wi[hr("0xf")](hr("0x10"),{deviceId:t}),this[hr("0xe")]=t,this.storageManager[hr("0x11")](fr,t),this[hr("0x12")][hr("0x13")](fr,t))}[hr("0x6")](){const t=this.storageManager[hr("0x14")](fr)||this[hr("0x12")][hr("0x15")](fr);return null!=t&&this[hr("0xd")](t),t}[hr("0x16")](){return this[hr("0x5")]}setClientId(t){this[hr("0x12")][hr("0x16")]()!=t&&this.storageManager[hr("0x4")](t),this[hr("0x12")].setItemSessionStorageSafe("rci",t)}[hr("0x17")](){if(Number(this[hr("0x12")].getItemLocalStorageSafe(gr))+this[hr("0x3")][hr("0x18")](yr,864e5)<Date.now())return this.removeUserId(),null;const t=this[hr("0x12")][hr("0x14")](ur);return null!=t?t:this[hr("0x12")][hr("0x15")](ur)}[hr("0x19")](t){this[hr("0x1a")]=t,this.storageManager[hr("0x11")](ur,t),this[hr("0x12")].setItemLocalStorageSafe(ur,t),this[hr("0x12")][hr("0x13")](gr,Date.now())}removeUserId(){this.storageManager[hr("0x1b")](ur),this[hr("0x12")][hr("0x1c")](ur),this[hr("0x12")][hr("0x1c")](gr)}[hr("0x7")](){const t=this.storageManager[hr("0x14")](_r);t?(this[hr("0x12")][hr("0x1b")](_r),this[hr("0x1d")]=t):this[hr("0x1d")]=Math.floor(Math[hr("0x1e")]()*Number.MAX_SAFE_INTEGER).toString()}getTabId(){return this[hr("0x1d")]}[hr("0xb")](){this[hr("0x12")][hr("0x11")](_r,this[hr("0x1d")])}[hr("0x1f")](t){this[hr("0x12")][hr("0x13")](pr,t)}getSessionToken(){return this[hr("0x12")].getItemLocalStorageSafe(pr)||this.storageManager[hr("0x14")](pr)}isTokenExpired(){var t;const e=this[hr("0x20")]();if(!e)return!0;try{const i=JSON[hr("0x21")](atob(e.split(".")[1]));let n=(null!==(t=i.exp)&&void 0!==t?t:i[hr("0x22")])*(i.exp&&i[hr("0x23")]<1e12?1e3:1);return i.exp||(n+=9e5),Date[hr("0x24")]()>=n}catch(t){return wi.error("Invalid JWT:",{error:t}),!0}}}var vr,mr,br=["stringify","callServer","getData","GET","fetch","fetch-api is not supported","CLIENT","statusText","status","message","COMMUNICATION","serverPath","postData","postDataFromURL","POST","include","application/json"];vr=br,mr=198,function(t){for(;--t;)vr.push(vr.shift())}(++mr);var Sr=function(t,e){return br[t-=0]};class Er{constructor(t){this[Sr("0x0")]=t}async[Sr("0x1")](t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this[Sr("0x2")](this[Sr("0x0")]+t,e,i)}async[Sr("0x2")](t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n={method:Sr("0x3"),credentials:Sr("0x4"),headers:new Headers(l({"Content-Type":Sr("0x5")},i)),body:JSON[Sr("0x6")](e)};return await this[Sr("0x7")](t,n)}async[Sr("0x8")](t){const e=this[Sr("0x0")]+t,i={method:Sr("0x9"),credentials:Sr("0x4")};return await this[Sr("0x7")](e,i)}async[Sr("0x7")](t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(Sr("0xa")in window))throw new Wn(new Error(Sr("0xb")),Vn[Sr("0xc")]);try{const i=await fetch(t,e),n=await i.json();if(i.ok)return n;throw new Wn(new Error(n.message||i[Sr("0xd")]),Vn.SERVER,i[Sr("0xe")])}catch(t){if(!(t instanceof Wn))throw new Wn(new Error(t[Sr("0xf")]),Vn[Sr("0x10")]);throw t}}}var Dr,Ir,Tr=["filter","length","Invalid SDK params was provided: ","stringify","REQUIRED_SDK_PARAMS","string","throwOrReturnResult","info","throwError","validateSDKParams","keys"];Dr=Tr,Ir=224,function(t){for(;--t;)Dr.push(Dr.shift())}(++Ir);var kr=function(t,e){return Tr[t-=0]};class Ar{constructor(){this[kr("0x0")]={clientId:kr("0x1")}}[kr("0x2")](t,e,i){if(!t&&((null==e?void 0:e.logIfInvalid)&&wi[kr("0x3")](i),null==e?void 0:e[kr("0x4")]))throw new Error(i);return t}[kr("0x5")](t,e){const i=Object[kr("0x6")](this[kr("0x0")])[kr("0x7")]((e=>typeof t[e]!=this[kr("0x0")][e]));return this[kr("0x2")](0==i[kr("0x8")],e,kr("0x9")+JSON[kr("0xa")](i))}}var Pr,Cr,Mr=["platform","postData","device/logs","requestsManager","identityManager","configManager","lastTimeLogsSent","logMiddleware","reportLogs","middlewares","push","getConfValue","enableLogsReporting","logsMinimumDelay","logs","length","now","flush","getClientId","floor"];Pr=Mr,Cr=363,function(t){for(;--t;)Pr.push(Pr.shift())}(++Cr);var Or=function(t,e){return Mr[t-=0]};class Rr{constructor(t,e,i){this[Or("0x0")]=t,this[Or("0x1")]=e,this[Or("0x2")]=i,this[Or("0x3")]=0,this[Or("0x4")]=async()=>{try{await this[Or("0x5")]()}catch(t){}},wi[Or("0x6")][Or("0x7")](this[Or("0x4")])}async[Or("0x5")](){if(!this[Or("0x2")][Or("0x8")](Or("0x9"),!1))return;const t=this[Or("0x2")].getConfValue("logsMinimumBatch",6),e=this[Or("0x2")][Or("0x8")](Or("0xa"),12e4);if(wi[Or("0xb")][Or("0xc")]<t||this[Or("0x3")]+e>Date.now())return;this[Or("0x3")]=Date[Or("0xd")]();const i=wi[Or("0xe")](),n=this[Or("0x1")][Or("0xf")](),r=Math[Or("0x10")](Date[Or("0xd")]()/1e3),a={sdkVersion:"1.52.0",platform:navigator[Or("0x11")],clientId:n,timestamp:r,logEntries:i};await this[Or("0x0")][Or("0x12")](Or("0x13"),a)}}var Kr,Lr,Nr=["getClientId","device/migrate-identifiers","postDataFromURL","deviceId","storageManager","rimd","identityManager","migrateIdentifiers","getItemLocalStorageSafe","true","getDeviceId"];Kr=Nr,Lr=258,function(t){for(;--t;)Kr.push(Kr.shift())}(++Lr);var zr=function(t,e){return Nr[t-=0]};const Ur=zr("0x0");class Br{constructor(t,e,i){this[zr("0x1")]=t,this.requestsManager=e,this.storageManager=i}async[zr("0x2")](t){if(this.storageManager[zr("0x3")](Ur)!=zr("0x4")){const e=this[zr("0x1")][zr("0x5")](),i=this[zr("0x1")][zr("0x6")](),n=(t.endsWith("/")?t:t+"/")+zr("0x7"),r=await this.requestsManager[zr("0x8")](n,{deviceId:e,clientId:i});r.deviceId&&r[zr("0x9")]==e&&this[zr("0xa")].setItemLocalStorageSafe(Ur,zr("0x4"))}}}var Fr,jr,Zr=["identityManager","migrationsManager","storageManager","enableSessionToken","logsReporter","getConfValue","isInitialized","Session token is not enabled","now","info","SDK disabled","disabled_sdk_","eventsManager","refreshSessionToken","getSessionToken","init","object","userId","initializationPromise","refreshConf","tenantId","keyRotation","cryptoBinding","crypto","createCryptoBinding","sign","isEnabled","startedAt","deviceDataManager","enabled","sendDeviceDataEvent","catch","sendPageLoadEvent","updateUserId","registerEventListeners","triggerActionEvent","includes","warn","Invalid action type","CLIENT","claimedUserIdType","invalid_claimed_user_id_type_","getDeviceData","EVENT_TYPE_ACTION","correlationId","claimedUserId","publicKey","extensionMetadata","extensionDeviceAttributes","suspiciousSignals","suspiciousContext","downloadFile","uploadFile","transactionData","customAttributes","emitEvent","Unhandled SDK error. recieved eventResponse: ","errorSpace","SERVER","_error_","message","unexpected_error_","identifyUser","identifyUser called without a valid userid","getUserId","setUserId","EVENT_TYPE_IDENTIFICATION","deviceId","removeUserId","setAuthenticatedUser","setUser","unidentifiedUser","RiskID","TSAccountProtection","dispatchEvent","undefined","sdkEnabled","enableIdentifiersMigration","verbose","actions","https://collect.riskid.security/","email","phone_number","ssn","national_id","passport_number","drivers_license_number","other","isSDKDisabled","identifiersMigrationEnabled","firstPartyMigrationUrl","validationManager","initializedInstance","SDK already initialized","string","clientId","options","serverPath","toString","validateSDKParams","mainEntry","requestsManager","configManager"];Fr=Zr,jr=487,function(t){for(;--t;)Fr.push(Fr.shift())}(++jr);var Vr=function(t,e){return Zr[t-=0]};const Hr=[null,void 0,Vr("0x0"),"",0],Gr=Vr("0x1"),Wr=Vr("0x2"),Yr=Vr("0x3"),qr=Vr("0x4"),Jr=Vr("0x5"),$r=[Vr("0x6"),Vr("0x7"),"account_id",Vr("0x8"),Vr("0x9"),Vr("0xa"),Vr("0xb"),Vr("0xc")];class Xr{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var i;if(this.initializationPromise=null,this[Vr("0xd")]=!1,this.enableSessionToken=!1,this[Vr("0xe")]=!1,this[Vr("0xf")]=null,this[Vr("0x10")]=new Ar,Xr[Vr("0x11")])throw new Error(Vr("0x12"));Xr[Vr("0x11")]=!0;const n=typeof e===Vr("0x13");this[Vr("0x14")]=n?e:t,this[Vr("0x15")]=n?{serverPath:t}:e,(i=this[Vr("0x15")])[Vr("0x16")]||(i[Vr("0x16")]=Jr),this[Vr("0x15")][Vr("0x16")]=new URL(this.options[Vr("0x16")])[Vr("0x17")](),this[Vr("0xf")]=this.options.firstPartyMigrationUrl||null,wi.enabled=!!this[Vr("0x15")].verbose,this[Vr("0x10")][Vr("0x18")](this,{throwError:!0,logIfInvalid:!0})||(this[Vr("0xd")]=!0),this.storageManager=new ui(this[Vr("0x14")]),this[Vr("0x1a")]=new Er(this.options[Vr("0x16")]),this[Vr("0x1b")]=new Ii(this.storageManager,this.requestsManager),this[Vr("0x1c")]=new wr(this.storageManager,this.configManager,this[Vr("0x14")]),this[Vr("0x1c")].load(),this[Vr("0x1d")]=new Br(this[Vr("0x1c")],this[Vr("0x1a")],this[Vr("0x1e")]),this[Vr("0x1f")]=this[Vr("0x15")][Vr("0x1f")]||!1,this[Vr("0x20")]=new Rr(this[Vr("0x1a")],this[Vr("0x1c")],this.configManager)}get[Vr("0x4")](){return this[Vr("0x1b")][Vr("0x21")](qr,[])}async getActions(){return await this[Vr("0x22")](),this[Vr("0x4")]}async getSessionToken(){if(!this[Vr("0x1f")])throw new Error(Vr("0x23"));if(!await this[Vr("0x22")]()){const t=Date[Vr("0x24")]();return wi[Vr("0x25")](Vr("0x26")),{actionToken:Vr("0x27")+t}}return this[Vr("0x1c")].isTokenExpired()&&await this[Vr("0x28")][Vr("0x29")](),this[Vr("0x1c")][Vr("0x2a")]()}async[Vr("0x2b")](t){const e=typeof t!==Vr("0x2c")?t:null==t?void 0:t[Vr("0x2d")];return wi[Vr("0x25")]("sdk init started"),this[Vr("0x2e")]=(async()=>{await this.configManager[Vr("0x2f")](this[Vr("0x1c")].getClientId());const t=this[Vr("0x1b")].getConfValue(Vr("0x30"),null),i=this[Vr("0x1b")][Vr("0x21")](Vr("0x31"),null);return this[Vr("0x32")]=xi[Vr("0x33")][Vr("0x34")](Vr("0x35"),(null==i?void 0:i[Vr("0x36")])?{keyRotation:{isEnabled:!0,expiryDays:i.expiryDays,startedAt:i[Vr("0x37")],tenantId:t}}:void 0),this[Vr("0x38")]=new In(this[Vr("0x1e")],this[Vr("0x1b")],this[Vr("0x32")]),this[Vr("0x28")]=new cr(this[Vr("0x1b")],this[Vr("0x1e")],this[Vr("0x38")],this[Vr("0x1a")],this[Vr("0x1c")],this[Vr("0x32")],this.options.serverPath,this[Vr("0x1f")]),this.isSDKDisabled=this[Vr("0xd")]||!this[Vr("0x1b")][Vr("0x21")](Gr,!1),!this[Vr("0xd")]&&(this[Vr("0xe")]=this[Vr("0xe")]||this.configManager.getConfValue(Wr,!1),this[Vr("0xe")]&&this[Vr("0xf")]&&await this[Vr("0x1d")].migrateIdentifiers(this[Vr("0xf")]),wi[Vr("0x39")]=wi[Vr("0x39")]||!!this.configManager[Vr("0x21")](Yr,!1),await this[Vr("0x28")][Vr("0x3a")]()[Vr("0x3b")]((()=>{})),await this[Vr("0x28")][Vr("0x3c")]()[Vr("0x3b")]((()=>{})),await this[Vr("0x3d")](e)[Vr("0x3b")]((()=>{})),this.eventsManager[Vr("0x3e")](),await this.eventsManager.flush()[Vr("0x3b")]((()=>{})),wi.info("sdk init done"),!0)})(),await this[Vr("0x2e")]}async isInitialized(){return null!==this.initializationPromise&&await this[Vr("0x2e")]}async[Vr("0x3f")](t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=Date[Vr("0x24")]();if(!await this[Vr("0x22")]())return wi[Vr("0x25")]("SDK disabled"),{actionToken:Vr("0x27")+i};if(!this[Vr("0x4")][Vr("0x40")](t))return wi[Vr("0x41")](Vr("0x42"),{actionType:t}),{actionToken:Vn[Vr("0x43")]+"_error_'invalid action type - "+t+"'_"+i};const n=null==e?void 0:e[Vr("0x44")];if(n&&!$r.includes(n))return wi[Vr("0x41")]("Invalid claimedUserIdType",{claimedUserIdType:n}),{actionToken:Vr("0x45")+n+"_"+i};let r;this[Vr("0x1b")].getConfValue("enableDeviceAttributesInActions",!1)&&(r=await this[Vr("0x38")][Vr("0x46")]());const a=l({type:Pi[Vr("0x47")],attributes:l(l(l(l(l(l(l(l(l(l(l(l({action_type:t},(null==e?void 0:e[Vr("0x48")])&&{correlation_id:e[Vr("0x48")]}),(null==e?void 0:e[Vr("0x49")])&&{claimed_user_id:e[Vr("0x49")]}),n&&{claimed_user_id_type:n}),(null==e?void 0:e[Vr("0x4a")])&&{public_key:e[Vr("0x4a")]}),(null==e?void 0:e[Vr("0x4b")])&&{extension_metadata:e.extensionMetadata}),(null==e?void 0:e.extensionDeviceAttributes)&&{extension_device_attributes:e[Vr("0x4c")]}),(null==e?void 0:e[Vr("0x4d")])&&{suspicious_signals:e[Vr("0x4d")]}),(null==e?void 0:e[Vr("0x4e")])&&{suspicious_context:e.suspiciousContext}),(null==e?void 0:e.downloadFile)&&{download_file:e[Vr("0x4f")]}),(null==e?void 0:e.uploadFile)&&{upload_file:e[Vr("0x50")]}),(null==e?void 0:e[Vr("0x51")])&&{transactionData:e.transactionData}),r)},(null==e?void 0:e.customAttributes)&&{customAttributes:e[Vr("0x52")]});try{const t=await this[Vr("0x28")][Vr("0x53")](a),{actionToken:e}=t;if(!e)throw new Wn(new Error(Vr("0x54")+(typeof t==Vr("0x2c")?JSON.stringify(t).slice(15):t)),Vn.CLIENT);return t}catch(e){return{actionToken:e instanceof Wn?e[Vr("0x55")]===Vn[Vr("0x56")]?e[Vr("0x55")]+Vr("0x57")+t+"_"+e.errorCode+"_'"+e[Vr("0x58")]+"'_"+i:e[Vr("0x55")]+Vr("0x57")+t+"_'"+e.message+"'_"+i:Vr("0x59")+t+"_"+i}}}async[Vr("0x5a")](t){return await this[Vr("0x22")]()?this.updateUserId(t):(wi[Vr("0x25")](Vr("0x26")),!1)}async[Vr("0x3d")](t){if(Hr[Vr("0x40")](t))return wi[Vr("0x25")](Vr("0x5b"),{userId:t}),!1;t=t.toString(),wi.info(Vr("0x5a"),{userId:t});const e=this[Vr("0x1c")][Vr("0x5c")]();return e===t||(this.identityManager[Vr("0x5d")](t),!!(await this[Vr("0x28")].emitEvent({type:Pi[Vr("0x5e")],attributes:{previous_user_id:e,user_id:t}}))[Vr("0x5f")])}async unidentifiedUser(){if(!await this[Vr("0x22")]())return wi[Vr("0x25")](Vr("0x26")),!1;const t=this[Vr("0x1c")][Vr("0x5c")]();return null!=t&&this.identityManager[Vr("0x60")](),!!(await this[Vr("0x28")].emitEvent({type:Pi[Vr("0x5e")],attributes:{previous_user_id:t}}))[Vr("0x5f")]}async[Vr("0x61")](t){return await this[Vr("0x5a")](t)}async[Vr("0x62")](t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this[Vr("0x61")](t,e)}async clearUser(){return await this[Vr("0x63")]()}}Xr[Vr("0x11")]=!1,document[Vr("0x66")](new CustomEvent("TSAccountProtectionReady"));var Qr,ta,ea=["events","MODULE_INITIALIZED","moduleMetadata","getInitConfig","init","utils","exceptions","TsError","not_initialized","tsPlatform not initialized","setUser","clearUser","identifyUser","unidentifiedUser","getSessionToken","identityManager","getDeviceId","getClientId","eventsManager","flush"];Qr=ea,ta=500,function(t){for(;--t;)Qr.push(Qr.shift())}(++ta);var ia=function(t,e){return ea[t-=0]};let na=null;function ra(t){if(!t)throw new(xi[ia("0x5")][ia("0x6")][ia("0x7")])(ia("0x8"),ia("0x9"))}xi.events.on(xi[ia("0x0")][ia("0x1")],(()=>{const{clientId:t,drs:e}=xi[ia("0x2")][ia("0x3")](),i=e||{},{enabled:n,userId:r}=i,a=h(i,ni);!1!==n&&(na=new Xr(t,a),na[ia("0x4")]({userId:r}))}));const aa=function(){return ra(na),na.triggerActionEvent(...arguments)},sa=function(){return ra(na),na[ia("0xa")](...arguments)},oa=function(){return ra(na),na.setAuthenticatedUser(...arguments)},ca=function(){return ra(na),na[ia("0xb")](...arguments)},la=function(){return ra(na),na[ia("0xc")](...arguments)},xa=function(){return ra(na),na[ia("0xd")](...arguments)},da=function(){return ra(na),na.getActions()},ha=function(){return ra(na),na[ia("0xe")]()},ua={getDeviceId:()=>na[ia("0xf")][ia("0x10")](),getClientId:()=>na[ia("0xf")][ia("0x11")](),flush:()=>na[ia("0x12")][ia("0x13")]()};const fa="1.16.2",ga={initialize:s,...Object.freeze({__proto__:null,__internal:ua,clearUser:ca,getActions:da,getSessionToken:ha,identifyUser:la,setAuthenticatedUser:oa,setUser:sa,triggerActionEvent:aa,unidentifiedUser:xa})};export{fa as PACKAGE_VERSION,ua as __internal,ca as clearUser,ga as drs,da as getActions,ha as getSessionToken,la as identifyUser,s as initialize,oa as setAuthenticatedUser,sa as setUser,aa as triggerActionEvent,xa as unidentifiedUser};
|