@privacyscrubber/mcp-server 2.4.1 → 2.4.3

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.
@@ -27,7 +27,7 @@ const cmdIndex = args.indexOf("--");
27
27
 
28
28
  if (args.includes("--version") || args.includes("-v")) {
29
29
  const pkgPath = path.resolve(__dirname, './package.json');
30
- let version = '2.4.1';
30
+ let version = '2.4.3';
31
31
  try { version = JSON.parse(fs.readFileSync(pkgPath, 'utf8')).version; } catch (_) {}
32
32
  console.log(`ps-guard / pii-masking-run v${version} (PrivacyScrubber MCP)`);
33
33
  process.exit(0);
@@ -250,18 +250,23 @@ function performSanitization(text) {
250
250
  if (!license.isPro && result.tokenMap) {
251
251
  // Free tier: check for secrets and warn
252
252
  let hasSecrets = false;
253
+ const SECRET_TOKEN_RE = /^\[(?:SECRET|API_TOKEN|AWS_KEY|JWT_TOKEN|STRIPE_KEY|OPENAI_KEY|DB_URI)_\d+\]$/;
253
254
  Object.entries(result.tokenMap).forEach(([token, original]) => {
254
- let isSecret = false;
255
- for (const detector of DEVOPS_SECRETS_DETECTOR) {
256
- detector.regex.lastIndex = 0;
257
- if (detector.regex.test(original)) {
258
- isSecret = true;
259
- break;
255
+ let isSecret = SECRET_TOKEN_RE.test(token);
256
+ if (!isSecret) {
257
+ for (const detector of DEVOPS_SECRETS_DETECTOR) {
258
+ detector.regex.lastIndex = 0;
259
+ if (detector.regex.test(original)) {
260
+ isSecret = true;
261
+ break;
262
+ }
260
263
  }
261
264
  }
262
265
  if (isSecret) {
263
266
  hasSecrets = true;
264
267
  result.scrubbedText = result.scrubbedText.replaceAll(token, '[SECRET_BLOCKED_UPGRADE_TO_PRO]');
268
+ delete result.tokenMap[token];
269
+ delete localSessionMap[token];
265
270
  }
266
271
  });
267
272
 
@@ -280,7 +285,7 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
280
285
  const keys = Array.isArray(currentTokenMap) ? currentTokenMap : Object.keys(currentTokenMap);
281
286
  for (const t of keys) {
282
287
  const tokenStr = typeof t === 'string' ? t : (t.token || t.mask || '');
283
- const match = tokenStr.match(/\[([A-Z_]+)_\d+\]/);
288
+ const match = tokenStr.match(/\[([A-Z0-9_]+)_\d+\]/);
284
289
  const baseType = match ? match[1] : (tokenStr.replace(/\[|\]/g, '').replace(/_[0-9]+$/, '') || 'CUSTOM');
285
290
  entities[baseType] = (entities[baseType] || 0) + 1;
286
291
  totalCount++;
@@ -289,7 +294,7 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
289
294
  const types = Object.keys(entities);
290
295
  let riskLevel = 'LOW EXPOSURE';
291
296
  if (totalCount > 0) {
292
- const hasHighRisk = types.some(t => ['ID', 'SSN', 'CREDIT_CARD', 'PASSPORT', 'BANK', 'API_KEY', 'SECRET', 'PASSWORD', 'MRN', 'KEY'].includes(t));
297
+ const hasHighRisk = types.some(t => ['ID', 'SSN', 'CREDIT_CARD', 'PASSPORT', 'BANK', 'API_KEY', 'SECRET', 'PASSWORD', 'MRN', 'KEY', 'AWS_KEY', 'STRIPE_KEY', 'JWT_TOKEN', 'API_TOKEN'].includes(t));
293
298
  if (hasHighRisk || types.length >= 3 || totalCount >= 10) {
294
299
  riskLevel = 'CRITICAL (HIGH EXPOSURE)';
295
300
  } else if (types.length >= 2 || totalCount >= 3) {
@@ -399,7 +404,7 @@ function buildPsr2Receipt(tokenMap, timestamp = new Date().toISOString()) {
399
404
  const labels = (tokenMap && typeof tokenMap === 'object' ? Object.keys(tokenMap) : []).slice().sort();
400
405
  const counts = {};
401
406
  for (const t of labels) {
402
- const m = t.match(/\[([A-Z_]+)_\d+\]/);
407
+ const m = String(t).trim().match(/^(?:\[|<|\{\{|__)([A-Z0-9_]+)_\d+(?:\]|>|\}\}|__)$/);
403
408
  const type = m ? m[1] : 'CUSTOM';
404
409
  counts[type] = (counts[type] || 0) + 1;
405
410
  }
@@ -436,7 +441,7 @@ function emitProofFeedback() {
436
441
  const hasSecrets = (telemetry.types || []).some(t => ['API_KEY', 'SECRET', 'PASSWORD', 'TOKEN', 'KEY', 'CREDIT_CARD', 'BANK', 'ID', 'SSN'].includes(t));
437
442
  if (hasSecrets || totalMasked >= 3) {
438
443
  process.stderr.write(`\x1b[33m[ps-guard] Saved credentials/PII from model egress. Star the project: https://github.com/moxno/privacyscrubber-mcp\x1b[0m\n`);
439
- process.stderr.write(`\x1b[90m One-click CLI: gh repo star moxno/privacyscrubber-mcp | Backend SDK: npm i @privacyscrubber/sdk\x1b[0m\n`);
444
+ process.stderr.write(`\x1b[90m One-click CLI: gh repo star moxno/privacyscrubber-mcp | Feedback: https://privacyscrubber.com/uninstall/?mode=feedback&src=cli\x1b[0m\n`);
440
445
  }
441
446
  } else if (args.includes("--verbose")) {
442
447
  process.stderr.write(`\x1b[36m[ps-guard] 0 item(s) masked · 0 bytes egress · Zero-Trust RAM verified\x1b[0m\n`);
@@ -1,261 +1,11 @@
1
- (function(global) {
2
- // ── START LICENSE CRYPTO ──
3
- const PUBLIC_KEY_N = BigInt("21317979104050344678233452423803986868842680501941538057759536089609908024281729760556922188810565541201321990374637212776148857190553192389608364990754937991254608109727112734447704854882786946805547031142530865504430968628760311494129154950865158735816268612258108296781892583171421605668998979064782378729322077179022581884976242706169323540456286526420742434868559866211716347133681429395477256705746276962607312574959642065929462114149296066812527505837608212730874704915352119747022918247963886630350365119206627670591400728523813746184290857872958847087691236909900501703203494160206941648263514117706558791691");
4
- const PUBLIC_KEY_E = 65537n;
5
-
6
- function modPow(base, exp, mod) {
7
- let res = 1n;
8
- base = base % mod;
9
- while (exp > 0n) {
10
- if (exp % 2n === 1n) res = (res * base) % mod;
11
- exp = exp / 2n;
12
- base = (base * base) % mod;
13
- }
14
- return res;
15
- }
16
-
17
- function bigIntToString(bi) {
18
- let hex = bi.toString(16);
19
- if (hex.length % 2 !== 0) hex = '0' + hex;
20
- let str = '';
21
- for (let i = 0; i < hex.length; i += 2) {
22
- str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
23
- }
24
- return str;
25
- }
26
-
27
- function stringToBigInt(str) {
28
- let hex = '';
29
- for (let i = 0; i < str.length; i++) {
30
- hex += str.charCodeAt(i).toString(16).padStart(2, '0');
31
- }
32
- return BigInt('0x' + hex);
33
- }
34
-
35
- function sha256(ascii) {
36
- function rightRotate(value, amount) { return (value>>>amount) | (value<<(32 - amount)); }
37
- var mathPow = Math.pow; var maxWord = mathPow(2, 32);
38
- var lengthProperty = 'length'; var i, j;
39
- var result = ''; var words = []; var asciiBitLength = ascii[lengthProperty]*8;
40
- var hash = sha256.h = sha256.h || [];
41
- var k = sha256.k = sha256.k || [];
42
- var primeCounter = k[lengthProperty];
43
- var isComposite = {};
44
- for (var candidate = 2; primeCounter < 64; candidate++) {
45
- if (!isComposite[candidate]) {
46
- for (i = 0; i < 313; i += candidate) { isComposite[i] = candidate; }
47
- hash[primeCounter] = (mathPow(candidate, .5)*maxWord)|0;
48
- k[primeCounter++] = (mathPow(candidate, 1/3)*maxWord)|0;
49
- }
50
- }
51
- ascii += '\x80';
52
- while (ascii[lengthProperty]%64 - 56) ascii += '\x00';
53
- for (i = 0; i < ascii[lengthProperty]; i++) {
54
- j = ascii.charCodeAt(i);
55
- if (j>>8) return;
56
- words[i>>2] |= j << ((3 - i)%4)*8;
57
- }
58
- words[words[lengthProperty]] = ((asciiBitLength/maxWord)|0);
59
- words[words[lengthProperty]] = (asciiBitLength)
60
- for (j = 0; j < words[lengthProperty];) {
61
- var w = words.slice(j, j += 16);
62
- var oldHash = hash;
63
- hash = hash.slice(0, 8);
64
- for (i = 0; i < 64; i++) {
65
- var w15 = w[i - 15], w2 = w[i - 2];
66
- var a = hash[0], e = hash[4];
67
- var temp1 = hash[7] + (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) + ((e&hash[5])^((~e)&hash[6])) + k[i] + (w[i] = (i < 16) ? w[i] : (w[i - 16] + (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15>>>3)) + w[i - 7] + (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2>>>10)))|0);
68
- var temp2 = (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) + ((a&hash[1])^(a&hash[2])^(hash[1]&hash[2]));
69
- hash = [(temp1 + temp2)|0].concat(hash);
70
- hash[4] = (hash[4] + temp1)|0;
71
- }
72
- for (i = 0; i < 8; i++) { hash[i] = (hash[i] + oldHash[i])|0; }
73
- }
74
- for (i = 0; i < 8; i++) {
75
- for (j = 3; j + 1; j--) {
76
- var b = (hash[i]>>(j*8))&255;
77
- result += ((b < 16) ? 0 : '') + b.toString(16);
78
- }
79
- }
80
- return result;
81
- }
82
- // ── END LICENSE CRYPTO ──
83
-
84
- class LicenseManager {
85
- /**
86
- * Validates a license key universally across all environments.
87
- * @param {string} key - The license key.
88
- * @param {object} options - Options mapping to environment specifics.
89
- * @returns {object} { valid: boolean, tier: string|null, reason?: string, expires?: number }
90
- */
91
- static validate(key, options = {}) {
92
- if (!key) return { valid: false, tier: null, reason: "No key provided" };
93
- const rawKey = key.trim();
94
- const k = rawKey.toUpperCase();
95
- const parts = k.split('-');
96
-
97
- const now = options.mockTime !== undefined && options.mockTime !== null ? options.mockTime : Date.now();
98
- let lastSeen = 0;
99
-
100
- if (options.storage) {
101
- lastSeen = parseInt(options.storage.getItem('ps_last_seen_time') || '0', 10);
102
- if (options.mockTime === undefined || options.mockTime === null) {
103
- options.storage.setItem('ps_last_seen_time', now.toString());
104
- }
105
- }
106
-
107
- // Clock rollback guard
108
- if ((options.mockTime === undefined || options.mockTime === null) && now < lastSeen) {
109
- if (options.onAnomaly) options.onAnomaly();
110
- return { valid: false, tier: null, reason: "Clock rollback anomaly detected" };
111
- }
112
-
113
- const _atob = typeof atob !== 'undefined' ? atob : (str) => Buffer.from(str, 'base64').toString('binary');
114
-
115
- // 1. Process Pilot Keys (RSA-1024 Encrypted Timestamps)
116
- if (k.startsWith('PS-PILOT-')) {
117
- try {
118
- const payload = rawKey.substring(9);
119
- const binary = _atob(payload);
120
- const bytes = new Uint8Array(binary.length);
121
- for (let i = 0; i < binary.length; i++) {
122
- bytes[i] = binary.charCodeAt(i);
123
- }
124
- let hex = '';
125
- for (let i = 0; i < bytes.length; i++) {
126
- hex += bytes[i].toString(16).padStart(2, '0');
127
- }
128
- const S = BigInt('0x' + hex);
129
-
130
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
131
- const decryptedStr = bigIntToString(M);
132
-
133
- if (decryptedStr.startsWith('ZTDS-PILOT-')) {
134
- const expDate = parseInt(decryptedStr.substring(11), 10);
135
- if (!isNaN(expDate)) {
136
- if (now < expDate) return { valid: true, tier: 'TEAMS', expires: expDate };
137
-
138
- if (options.onExpired) options.onExpired('Pilot');
139
- return { valid: false, tier: null, reason: "Pilot expired" };
140
- }
141
- }
142
- } catch(e) {
143
- return { valid: false, tier: null, reason: "Pilot decryption failed" };
144
- }
145
- }
146
-
147
- // 1.5. Process RSA Signed Keys (PS-RSA-...)
148
- if (k.startsWith('PS-RSA-')) {
149
- try {
150
- const payload = rawKey.substring(7);
151
- const binary = _atob(payload);
152
- const bytes = new Uint8Array(binary.length);
153
- for (let i = 0; i < binary.length; i++) {
154
- bytes[i] = binary.charCodeAt(i);
155
- }
156
- let hex = '';
157
- for (let i = 0; i < bytes.length; i++) {
158
- hex += bytes[i].toString(16).padStart(2, '0');
159
- }
160
- const S = BigInt('0x' + hex);
161
-
162
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
163
- const decryptedStr = bigIntToString(M);
164
-
165
- if (decryptedStr.startsWith('ZTDS-LIC-')) {
166
- const pieces = decryptedStr.split('-');
167
- if (pieces.length >= 5) {
168
- const tier = pieces[2];
169
- const expires = parseInt(pieces[4], 10);
170
- if (!isNaN(expires)) {
171
- if (now < expires) return { valid: true, tier: tier, expires: expires };
172
-
173
- if (options.onExpired) options.onExpired('RSA');
174
- return { valid: false, tier: null, reason: "RSA key expired" };
175
- }
176
- }
177
- }
178
- } catch(e) {
179
- return { valid: false, tier: null, reason: "RSA decryption failed" };
180
- }
181
- }
182
-
183
- // 2. Process Modern Prefixed Keys (v1.4.2+ Salted Checksum)
184
- if (parts.length === 4 && parts[0] === 'PS' && ['PRO', 'TEAMS', 'SDK', 'OEM', 'ENTERPRISE'].includes(parts[1])) {
185
- const tier = parts[1];
186
- const core = parts[2];
187
- const checksum = parts[3];
188
- const salt = "ZTDS_SALT_2026_!@#";
189
- const input = core + salt + tier;
190
- let sum = 0;
191
- for (let i = 0; i < input.length; i++) {
192
- sum += input.charCodeAt(i) * (i + 1);
193
- }
194
- const expectedChecksum = (sum % 9999).toString().padStart(4, '0');
195
- if (checksum === expectedChecksum) {
196
- return { valid: true, tier: tier };
197
- }
198
- }
199
-
200
- // 3. Process Standard RS256 JWTs (eyJ...)
201
- if (rawKey.startsWith('eyJ') && rawKey.split('.').length === 3) {
202
- try {
203
- const [b64Header, b64Payload, b64Signature] = rawKey.split('.');
204
-
205
- let sigStr = b64Signature.replace(/-/g, '+').replace(/_/g, '/');
206
- while (sigStr.length % 4) sigStr += '=';
207
- const binarySig = _atob(sigStr);
208
- let hexSig = '';
209
- for (let i = 0; i < binarySig.length; i++) {
210
- hexSig += binarySig.charCodeAt(i).toString(16).padStart(2, '0');
211
- }
212
-
213
- const S = BigInt('0x' + hexSig);
214
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
215
-
216
- let mHex = M.toString(16);
217
- if (mHex.length % 2 !== 0) mHex = '0' + mHex;
218
-
219
- const expectedHash = sha256(b64Header + '.' + b64Payload);
220
-
221
- if (mHex.endsWith(expectedHash)) {
222
- const payloadJson = _atob(b64Payload.replace(/-/g, '+').replace(/_/g, '/'));
223
- const payload = JSON.parse(payloadJson);
224
-
225
- if (payload.exp && (now / 1000) < payload.exp) {
226
- return { valid: true, tier: payload.tier || 'PRO', expires: payload.exp * 1000 };
227
- } else {
228
- if (options.onExpired) options.onExpired('JWT');
229
- return { valid: false, tier: null, reason: "JWT expired" };
230
- }
231
- }
232
- } catch(e) {
233
- return { valid: false, tier: null, reason: "JWT validation failed" };
234
- }
235
- }
236
-
237
- return { valid: false, tier: null, reason: "Invalid format" };
238
- }
239
- }
240
-
241
- LicenseManager.PUBLIC_KEY_N = PUBLIC_KEY_N;
242
- LicenseManager.PUBLIC_KEY_E = PUBLIC_KEY_E;
243
- LicenseManager.OFFLINE_KEY_SALT = "ZTDS_SALT_2026_!@#";
244
-
245
- // Export module for ES modules, CommonJS, and Browser Global
246
- if (typeof globalThis !== 'undefined') {
247
- globalThis.LicenseManager = LicenseManager;
248
- }
249
- if (typeof global !== 'undefined') {
250
- global.LicenseManager = LicenseManager;
251
- }
252
- if (typeof window !== 'undefined') {
253
- window.LicenseManager = LicenseManager;
254
- }
255
- if (typeof exports !== 'undefined') {
256
- if (typeof module !== 'undefined' && module.exports) {
257
- module.exports = LicenseManager;
258
- }
259
- exports.LicenseManager = LicenseManager;
260
- }
261
- })(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this));
1
+ /**
2
+ * @license
3
+ * PrivacyScrubber Core Processing Engine (ZTDS)
4
+ * Copyright (c) 2026 PrivacyScrubber. All Rights Reserved.
5
+ *
6
+ * WARNING: This is proprietary, commercial software.
7
+ * Unauthorized copying, modification, distribution, or use of this source code,
8
+ * via any medium, is strictly prohibited. Protected by international copyright
9
+ * laws and treaties.
10
+ */
11
+ function _0x237e(){const _0x1cec33=['mJyZnq','Cej1Eq','DcbLEa','zNDowG','otaYmG','nteXoq','CgvYqW','ndyZnW','mZiYma','wwP5AG','BKTOtG','zxHW','wvHyza','mJqYoa','zxLk','zgjsAG','mdG1nW','Exb0Aq','nZu4nJa4ogDjBeLACG','mte0oq','wfvYsG','nZCXnW','mJm4oq','vf8Yma','nta2mZyZovnhs29Qyq','odyXmG','v0DMwa','nZG2oq','nJi2ma','odq5nW','nJa4mW','rvLFrq','x1nbta','C2vLBG','mJC2oq','mZG4nG','BNnLtq','yxn0xW','DhjPBq','odmXnW','zgf0Aq','odu1oq','nJy4mq','mJa2nq','nZCWnG','ndyWoa','DgvK','mta0ma','mZiXoq','mtiWmq','tKXOvW','C3rHCG','ufjp','su5fxW','u0eT','wLreuW','Dg9vCa','ntK2na','ntGXoa','ndi1mW','nZyXna','mZGXmW','B25fEa','DLLiqq','mJbdquL5DNi','mJa2nG','yMfZzq','Dg9tDa','zNjVBq','s2PNDq','BgvK','C0DjtW','BM93','odG1nW','yxnL','nZK3oq','zxrLyW','DcbKzq','vgHeBq','rvLFtG','C3vICW','z2v0sq','ndy3oa','B25bBG','zM9YBq','otG2oa','ufvcta','nJa1nG','y2HHCG','mtqYmq','ChnFBa','mtu0oq','mtK3na','nta0na','zxHWAq','oteYnq','mJmZna','nJG4na','mJG1mG','B24GzG','mZuYmq','nJm0nW','ote2oq','otm5nq','ndeYoq','mdmXmq','ndaWnW','otaZnW','ota4ma','mZC2ma','lvbjta','ntu0nW','DgvT','CgfYCW','mZyWoa','ndKXnq','tM8GAW','nJqYma','qNPPCq','v2L0Aa','ody2mG','r29tEa','zgvK','nZyWmW','mdy5na','BM9Tyq','u0fmva','mtmZnG','nZq3ma','BhKGza','odCYoq','y0DODa','uLnb','Aw5JBa','odyYoa','sLDuia','Cxvuyq','odiXmG','mZb2uu5ZAwy','t1qT','wLjTAa','nty3ma','y3j5Ca','uLbssq','t0vn','nta1oa','oti5na','ntaZnG','wfzquq','mtyWmG','mte3mq','DgLVBG','uNz4za','mJeZmq','mJzFiq','mZy5ma','mtyYnG','nJu1na','DgfYDa','sunFsW','Dw5Kzq','nJG5oq','ndq3nW','mJCXmq','ntaXnW','mdGYoq','C3rVCG','re5mAW','vgLTzq','mJuYnW','uLnbia','ufmTua','shD4zq','mJy4ma','rgrzrW','uNrWra','mdG2nq','nti0mG','otyWoq','A2v5ia','mti3mJiZnZnLsMXyrgy','uMHgsG','otm3oq','tgLJzq','q2XVyW','ntC0oq','AKr5Eq','C2v0sq','suXpva','ntC0nG','Cg93','B21HBa','t0zgta','ywLSzq','ndy4ma','ntu4nW','sw52yq','vhvYsW','y3PbCq','yw5HzW','x3rPBq','CM92Aq','CMLUzW','mZa5nG','DhjPBG','CNrZ','nZm1oa','mdmYma','BgLKia','zgvJCG','yLHWwG','mJK2ma','nZyWnq','mdy0nW','ntaZna','nM1SvgPowa','nJKXmG','mtCYoq','igzHAq','C3bSAq','nZqYna','CgLYzq','odiZnW','zw5KCW','nZmXmG','ndC3mG','whv3uW','uxnwsW','nJmWmW','mJeYnW','nJq5oq','mZC3ndu3nMj2y25kDG','otKWma','nty5mG','sLDu','ntG4na','q29Kzq','s1nhDq','nZu5nq','A0HyuG','ndG4mG','mZGWmW','nZa4nW','ugLSBW','CMvWBa','nZaYmG','ANHosG','mty0oa','DgLLCG','BgXIyq','odGZnty1t25jtw5L','y29UyW','mdu5mq','mJC2nW','nZmWoa','nJiXmq','oda1nW','ntmXoq','mtKWnq','odK3oq','ode0mG','ndu2mG','luXjqW','mtqXmq','mZqYmZu2zu1HzNLi','ote4mG','mZq4nG','BgvUzW','CgfKuW','rxPOEG','C2XPyW','ywnL','ntaXoq','nte1oa','nJC4mq','q2HHCG','zxKGCa','odeWnq','yMLUyq','mdC1na','mZq5na','BfHgCW','AKPlBG','mJu4mq','mta5nW','CMvK','nde1mW','odKYnq','mtC1nJy2nK1tCKz3zq','Bw9JAW','y2SGyq','ufmTuG','nZa2mq','tw9sCa','ywDL','ru5urq','mJe4oa','DMfSAq','DwrLCW','zMLUzq','mZu0ma','AYbYBW','odqYoq','zxHWBW','vevbtq','s0vzxW','nZq2mq','nde0oq','ndC5nG','mJCZna','nta4nG','DhnxAq','nJi0mG','rMzPvW','D0rhua','u0rl','ody1mG','nJKZmG','mdq4nq'];_0x237e=function(){return _0x1cec33;};return _0x237e();}function _0x2fed(_0x251c0e,_0x5068d3){_0x251c0e=_0x251c0e-0x150;const _0x237ef4=_0x237e();let _0x2fedad=_0x237ef4[_0x251c0e];if(_0x2fed['DFEvSY']===undefined){var _0x1d0f41=function(_0x5ce074){const _0x1bc1df='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c3876='',_0x1ffe45='';for(let _0x12dd67=0x0,_0x17db97,_0x26100e,_0x3c7550=0x0;_0x26100e=_0x5ce074['charAt'](_0x3c7550++);~_0x26100e&&(_0x17db97=_0x12dd67%0x4?_0x17db97*0x40+_0x26100e:_0x26100e,_0x12dd67++%0x4)?_0x5c3876+=String['fromCharCode'](0xff&_0x17db97>>(-0x2*_0x12dd67&0x6)):0x0){_0x26100e=_0x1bc1df['indexOf'](_0x26100e);}for(let _0x3b25fb=0x0,_0x55416b=_0x5c3876['length'];_0x3b25fb<_0x55416b;_0x3b25fb++){_0x1ffe45+='%'+('00'+_0x5c3876['charCodeAt'](_0x3b25fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ffe45);};_0x2fed['ouKyYX']=_0x1d0f41,_0x2fed['iDRBkx']={},_0x2fed['DFEvSY']=!![];}const _0x547b5c=_0x237ef4[0x0],_0x19e3fa=_0x251c0e+_0x547b5c,_0x35a883=_0x2fed['iDRBkx'][_0x19e3fa];return!_0x35a883?(_0x2fedad=_0x2fed['ouKyYX'](_0x2fedad),_0x2fed['iDRBkx'][_0x19e3fa]=_0x2fedad):_0x2fedad=_0x35a883,_0x2fedad;}const _0x3ba9aa=_0x2fed,_0x3f9338=_0x2fed;(function(_0x218b8e,_0x350524){const _0x470868={_0x3c3e98:0x247,_0x4a1a6e:0x25f,_0x238187:0x226,_0x4ba6e2:0x17f,_0x3d9084:0x239,_0x3b1a01:0x216,_0x343c93:0x157,_0x1caf21:0x151,_0x1d7519:0x1f3,_0x5b282:0x1c9},_0x2949a7=_0x2fed,_0xa34ef3=_0x2fed,_0x5d957d=_0x218b8e();while(!![]){try{const _0x4a1b50=parseInt(_0x2949a7(_0x470868._0x3c3e98))/0x1+parseInt(_0xa34ef3(_0x470868._0x4a1a6e))/0x2+parseInt(_0xa34ef3(_0x470868._0x238187))/0x3+-parseInt(_0xa34ef3(_0x470868._0x4ba6e2))/0x4*(-parseInt(_0x2949a7(_0x470868._0x3d9084))/0x5)+-parseInt(_0xa34ef3(_0x470868._0x3b1a01))/0x6*(-parseInt(_0xa34ef3(_0x470868._0x343c93))/0x7)+parseInt(_0x2949a7(_0x470868._0x1caf21))/0x8+parseInt(_0x2949a7(_0x470868._0x1d7519))/0x9*(-parseInt(_0xa34ef3(_0x470868._0x5b282))/0xa);if(_0x4a1b50===_0x350524)break;else _0x5d957d['push'](_0x5d957d['shift']());}catch(_0xb099e9){_0x5d957d['push'](_0x5d957d['shift']());}}}(_0x237e,0xc1acd),function(_0x5caef8){const _0x33efa7={_0x409f96:0x199,_0xd4d383:0x160,_0x43d64c:0x1df,_0x3583ec:0x26a,_0x5c1e34:0x1ea,_0x41d8c5:0x1fb,_0x29b97a:0x176,_0x2507b0:0x1ad,_0x3643dd:0x1ca,_0x3ce037:0x232,_0x523fb7:0x1c3,_0x28d84a:0x27a,_0xcc184d:0x156,_0x3faaa9:0x1d9,_0x36f061:0x1c6,_0x4fd497:0x19d,_0x4233b7:0x25c,_0x5bd3b0:0x1d8,_0x39c2d3:0x16e,_0x64bdbe:0x215,_0x59874c:0x19f,_0x365493:0x1f0,_0x4b53d6:0x230,_0x371773:0x1ec,_0x420848:0x24f,_0x2f8892:0x25d,_0x5836bf:0x23f,_0x41d241:0x22d,_0x2c2ed0:0x1b1,_0x11f407:0x1f1,_0x2f202a:0x1ab,_0x2fb9ef:0x28b,_0x25a81c:0x218,_0x138f5e:0x213,_0x1fd857:0x228,_0x43e4d3:0x267,_0x13f0d9:0x254,_0x348ca5:0x1dc,_0x3ea806:0x170,_0x9fbade:0x1aa,_0x11246b:0x285,_0x35d619:0x224,_0x879031:0x188,_0x1066f6:0x241,_0x3f05f0:0x155,_0x21e057:0x15d,_0x486184:0x225,_0x5c86db:0x256,_0x2d339d:0x1f5,_0x4a3354:0x19e,_0x1c6349:0x16c,_0x124560:0x1e2,_0x437763:0x274,_0x57ded7:0x1e1,_0x2341b6:0x22f,_0x3a8e95:0x15a,_0x48b2f2:0x201,_0x1ddbcb:0x1ef,_0x320592:0x20a,_0x4720ee:0x1c5,_0x188ba5:0x152,_0x600d98:0x1a7,_0x175367:0x19a,_0x528389:0x275,_0x284b84:0x1db,_0x393533:0x25a,_0x3a0d44:0x1e4,_0x155886:0x251,_0x4348bf:0x25e,_0x4f97ca:0x166,_0x1eb39b:0x198,_0x39e121:0x196,_0x4d0608:0x242,_0x28c5e8:0x214,_0x433644:0x21d,_0x10fe83:0x1c1,_0x52c909:0x286,_0x172df2:0x282,_0x26b85a:0x179,_0x51a724:0x15c,_0x1bd2ba:0x277,_0x575c52:0x27c,_0x5b7d70:0x244,_0x1a300b:0x27b,_0xfbc460:0x1b4,_0x3b51a1:0x21b,_0x203546:0x249,_0xcd7a75:0x1b7,_0x2f5d24:0x1be,_0x2a3765:0x1a6,_0x1f956d:0x220,_0x26f735:0x1cc,_0x11e0e7:0x161,_0x4c4d00:0x15b,_0x471744:0x21f,_0x5fbebd:0x1f8,_0x102390:0x178,_0x3c61ad:0x16a,_0x5b7a46:0x1d1,_0x3c3bb0:0x23e,_0x156aa4:0x272,_0x5d1a38:0x212,_0x1d1875:0x1d0,_0x46c58a:0x1ac,_0x5d7244:0x1c8,_0x22aad1:0x23d,_0x3284be:0x1b2,_0x332abc:0x1a3,_0x54de87:0x19b,_0xfe9aeb:0x248,_0x5ef732:0x273,_0x93441c:0x162,_0x113d0c:0x223,_0x5220d7:0x1d2,_0xfde595:0x26d,_0x414dcf:0x28e,_0x45bef7:0x22a,_0x4d7fe6:0x231,_0x157166:0x217,_0x2fe2a3:0x1da,_0x559e6c:0x227,_0x47ea1e:0x1e3,_0x5f26d7:0x257,_0x2ba857:0x1d4,_0x809e27:0x27e,_0x429f40:0x246,_0x5947ba:0x16b,_0x476b42:0x1a5,_0x22f550:0x195,_0x209e6c:0x1de,_0xfd22da:0x18e,_0x5c04d8:0x1de,_0x1ea8a4:0x15e,_0x193b23:0x174,_0x29f4ce:0x270,_0x4ae373:0x1bd,_0x4b3611:0x176,_0x5b14f0:0x15f,_0x43bb5e:0x1f6,_0x1e2247:0x163,_0x3eadb3:0x163,_0x397407:0x206,_0x32c745:0x1f6,_0x10fea0:0x206,_0x2236d6:0x26e,_0x32d43c:0x26e,_0x2a5017:0x20c,_0x592dad:0x163},_0x223d04={_0x185981:0x1b3,_0x4ff20a:0x253,_0x341bca:0x208,_0x50b241:0x165,_0x1ff7cd:0x177,_0x4580d8:0x21a,_0x385a26:0x260,_0x13d929:0x1e7,_0x5d92cf:0x260,_0xa8b3d:0x1e7,_0x46af88:0x187,_0x5d239f:0x265,_0xec027e:0x1e5,_0x2523dd:0x190,_0x944062:0x199,_0x1ca49b:0x164,_0x198b14:0x160,_0x429070:0x207,_0x51f14f:0x260,_0x4abce5:0x265,_0x502515:0x1fa,_0xb0158e:0x1af,_0xda68a8:0x27f,_0x3dc4cc:0x182,_0x1f8c54:0x209,_0x520627:0x260,_0x4e68cd:0x260,_0x59a88f:0x1e7,_0x614980:0x1fe,_0x514a91:0x1f7,_0x20ece7:0x26c,_0x26b323:0x238,_0xd9da38:0x261,_0x5661ef:0x1bc,_0xd73071:0x1c0,_0x3c304d:0x18b,_0x83974a:0x16d,_0x527f64:0x1eb,_0x11740d:0x172,_0x5dc136:0x276,_0x24c8eb:0x17e,_0x1cf550:0x18f,_0x22fb7e:0x20b,_0x4d760b:0x24a,_0x13adb7:0x1b8,_0x5cfb16:0x24a,_0x5c0b7c:0x197,_0x6ace2b:0x22b,_0x49de57:0x182,_0x1ad3a1:0x1dd,_0x1c9364:0x221,_0x3b6bd1:0x1e6,_0x5a8500:0x171,_0x2082a8:0x18f,_0x4831b4:0x26f,_0x43b998:0x21c,_0x394bdd:0x28a,_0xdee3f6:0x232,_0x4c98e1:0x280,_0x2127b6:0x1cd,_0x2193b4:0x1d6,_0x569f3c:0x219,_0x29d9e6:0x185,_0x304f3b:0x172,_0x5a8604:0x276,_0x22e9d1:0x262,_0x336ac3:0x175,_0x523d5c:0x24a,_0x197204:0x24b,_0x460fd0:0x276,_0x49029e:0x176,_0x26ffc7:0x245,_0x18af31:0x24a,_0x55d158:0x17d,_0x194246:0x21c,_0x21cb2d:0x1ed,_0x195c55:0x1e9,_0xedabe2:0x1f2,_0x4ca47a:0x19d,_0x2f2ec4:0x1a2,_0xf92ec6:0x200,_0xb9b55c:0x173,_0x2d5932:0x26f,_0x571bf4:0x205,_0x4905a0:0x1cf,_0x476085:0x266,_0x180d2d:0x1ce,_0x105876:0x1c4,_0x22740b:0x269,_0x15a28a:0x1f4,_0x5826f2:0x22e,_0x3b3c0d:0x197,_0x493b25:0x22c,_0x4dbeb4:0x28d,_0x26b4a1:0x233,_0x362546:0x233,_0x4dbf72:0x24e,_0x3b1783:0x279,_0x1fcbde:0x24a,_0x18b35a:0x197,_0x26bf9e:0x22b,_0x1ac48e:0x209,_0x376726:0x1dd,_0x4aa716:0x182,_0x1cf295:0x1c7,_0x30f8cf:0x259,_0x27e63e:0x21e,_0x98d1c7:0x1b6,_0x2ea9eb:0x264,_0x26d7da:0x233,_0x3de7c9:0x24e,_0x402851:0x24e,_0x1cd9c6:0x1b0,_0x369daf:0x289,_0x9ba96e:0x289,_0x4ed265:0x237,_0x128e87:0x288,_0x51d621:0x229,_0x120922:0x1d7,_0x55462e:0x1c6,_0x4730cd:0x268,_0x191717:0x167,_0x5c654b:0x203,_0x2073ef:0x20f},_0x410d7c={_0xb2a7f9:0x1fd,_0x44a43a:0x1b5,_0x3de973:0x281,_0x3fec52:0x197,_0x274435:0x159,_0x3aa05f:0x24d,_0x595bcf:0x235,_0x1cd75b:0x222,_0x3d03b7:0x18d,_0x46e268:0x1c2,_0x5f5885:0x278,_0x17e797:0x1ee,_0x5df99b:0x258,_0x1d924f:0x287,_0x3cb83f:0x1f9,_0x4a66b2:0x204,_0x37df93:0x153,_0x377aa5:0x1cb,_0x1b8f3b:0x182},_0x454903={_0x981e11:0x24a,_0x208f7d:0x22b,_0x4c774d:0x209,_0x20eb94:0x24b,_0xa9b33e:0x1dd},_0x57f658={_0x3527b7:0x182,_0x10d587:0x24a,_0x3d70a2:0x183,_0x3955ee:0x252,_0x134678:0x22b,_0x42399b:0x1b5,_0x41e2e8:0x18f},_0x560926={_0x50d7fd:0x24c,_0x188070:0x1c7},_0xefc815=_0x2fed,_0x542075=_0x2fed,_0x3844e7={'Ezhzh':function(_0xba07d5,_0x1b242d){return _0xba07d5/_0x1b242d;},'quTad':function(_0x40a1a8,_0x35c5b6){return _0x40a1a8%_0x35c5b6;},'fwNZf':function(_0x2ce55a,_0x1dd2c1){return _0x2ce55a*_0x1dd2c1;},'Bziqe':function(_0x4cf663,_0x3ee7ec,_0x4f128f){return _0x4cf663(_0x3ee7ec,_0x4f128f);},'Kjguq':function(_0x4229c5,_0x595704){return _0x4229c5/_0x595704;},'WGfXC':function(_0x150ba6,_0x3960ef){return _0x150ba6>>_0x3960ef;},'bXpZm':function(_0x2a40a2,_0x18efd1){return _0x2a40a2<<_0x18efd1;},'jxNJE':function(_0x1be6f0,_0xa86b14,_0x106ecd){return _0x1be6f0(_0xa86b14,_0x106ecd);},'QsVKP':function(_0x2671b0,_0x1e23ce){return _0x2671b0^_0x1e23ce;},'ThDmF':function(_0x31ee90,_0x457761){return _0x31ee90|_0x457761;},'cGhtN':function(_0x722424,_0x42814d){return _0x722424+_0x42814d;},'FfiWv':function(_0x48b3b9,_0xbeb5df){return _0x48b3b9+_0xbeb5df;},'RtpDV':function(_0x58f2f8,_0x277a3b){return _0x58f2f8^_0x277a3b;},'lXFsl':function(_0x47f40b,_0x49d5cb,_0x20e5b8){return _0x47f40b(_0x49d5cb,_0x20e5b8);},'YjyjJ':function(_0x3dbcfb,_0x107b80,_0x124320){return _0x3dbcfb(_0x107b80,_0x124320);},'jDyys':function(_0x10029e,_0x3b5683,_0x57d593){return _0x10029e(_0x3b5683,_0x57d593);},'TurKa':function(_0x37857d,_0x4b6728){return _0x37857d^_0x4b6728;},'XUrJL':function(_0x18d53a,_0x4d4fcc){return _0x18d53a&_0x4d4fcc;},'ZRmhL':function(_0x46cd7,_0x402011){return _0x46cd7&_0x402011;},'pBuyI':_0xefc815(_0x33efa7._0x409f96)+_0x542075(0x164)+_0x542075(_0x33efa7._0xd4d383)+_0x542075(0x207)+'e','Hwxeg':_0x542075(_0x33efa7._0x43d64c)+_0x542075(_0x33efa7._0x3583ec)+'d','vYHAk':_0xefc815(_0x33efa7._0x5c1e34)+_0x542075(_0x33efa7._0x41d8c5)+'-','GoSxc':function(_0x2b60aa,_0x8bdb2e){return _0x2b60aa<_0x8bdb2e;},'XuwST':function(_0x54a188,_0x575d3a){return _0x54a188+_0x575d3a;},'DNLkn':function(_0x2e7240,_0x58d72b,_0x32cb48,_0x538a72){return _0x2e7240(_0x58d72b,_0x32cb48,_0x538a72);},'NLhWI':_0x542075(_0x33efa7._0x29b97a)+_0x542075(_0x33efa7._0x2507b0)+_0x542075(_0x33efa7._0x3643dd),'YXXdG':_0xefc815(_0x33efa7._0x3ce037)+'t','DdYGn':_0x542075(_0x33efa7._0x523fb7),'czAqz':_0xefc815(_0x33efa7._0x28d84a),'RhFJZ':_0xefc815(_0x33efa7._0x29b97a)+_0xefc815(0x15f)+_0xefc815(_0x33efa7._0xcc184d)+_0x542075(_0x33efa7._0x3faaa9)+'@#','kHXRd':function(_0x425ed5,_0x32ae20){return _0x425ed5+_0x32ae20;},'KSGux':function(_0x27ec11,_0x71ca03){return _0x27ec11+_0x71ca03;},'dbRjC':function(_0x515451,_0x6c3f7f){return _0x515451===_0x6c3f7f;},'wDGPR':function(_0x370ba2,_0x3a8f0f){return _0x370ba2%_0x3a8f0f;},'jJKnd':function(_0x132ce3,_0x158364){return _0x132ce3+_0x158364;},'MoRpg':function(_0x5cd580,_0x19f1e5){return _0x5cd580(_0x19f1e5);},'nKhNF':_0xefc815(0x173),'Rvxdb':_0xefc815(_0x33efa7._0x36f061)+_0xefc815(_0x33efa7._0x4fd497)+_0xefc815(_0x33efa7._0x4233b7)},_0x3d1e25=BigInt(_0x542075(_0x33efa7._0x5bd3b0)+_0xefc815(0x18a)+_0x542075(_0x33efa7._0x39c2d3)+_0x542075(_0x33efa7._0x64bdbe)+_0x542075(0x191)+_0x542075(_0x33efa7._0x59874c)+_0x542075(_0x33efa7._0x365493)+_0xefc815(_0x33efa7._0x4b53d6)+_0x542075(0x194)+_0x542075(0x1a0)+_0xefc815(_0x33efa7._0x371773)+_0x542075(_0x33efa7._0x420848)+_0x542075(_0x33efa7._0x2f8892)+_0x542075(_0x33efa7._0x5836bf)+_0xefc815(_0x33efa7._0x41d241)+_0xefc815(_0x33efa7._0x2c2ed0)+_0xefc815(_0x33efa7._0x11f407)+_0xefc815(_0x33efa7._0x2f202a)+_0xefc815(_0x33efa7._0x2fb9ef)+_0x542075(_0x33efa7._0x25a81c)+_0xefc815(_0x33efa7._0x138f5e)+_0x542075(_0x33efa7._0x1fd857)+_0xefc815(_0x33efa7._0x43e4d3)+_0x542075(_0x33efa7._0x13f0d9)+_0xefc815(_0x33efa7._0x348ca5)+_0xefc815(_0x33efa7._0x3ea806)+_0x542075(0x16f)+_0xefc815(_0x33efa7._0x9fbade)+_0x542075(_0x33efa7._0x11246b)+_0x542075(_0x33efa7._0x35d619)+_0xefc815(0x17b)+_0xefc815(_0x33efa7._0x879031)+_0xefc815(_0x33efa7._0x1066f6)+_0xefc815(0x240)+_0xefc815(_0x33efa7._0x3f05f0)+_0x542075(_0x33efa7._0x21e057)+_0xefc815(_0x33efa7._0x486184)+_0xefc815(_0x33efa7._0x5c86db)+_0x542075(_0x33efa7._0x2d339d)+_0xefc815(_0x33efa7._0x4a3354)+_0x542075(_0x33efa7._0x1c6349)+_0xefc815(0x25b)+_0xefc815(_0x33efa7._0x124560)+_0x542075(_0x33efa7._0x437763)+_0x542075(_0x33efa7._0x57ded7)+_0x542075(0x27d)+_0x542075(_0x33efa7._0x2341b6)+_0x542075(_0x33efa7._0x3a8e95)+_0x542075(_0x33efa7._0x48b2f2)+_0xefc815(0x1ae)+_0x542075(0x1a8)+_0xefc815(0x17a)+_0xefc815(_0x33efa7._0x1ddbcb)+_0x542075(0x19c)+_0xefc815(_0x33efa7._0x320592)+_0xefc815(_0x33efa7._0x4720ee)+_0x542075(0x1ba)+_0xefc815(_0x33efa7._0x188ba5)+_0x542075(_0x33efa7._0x600d98)+_0xefc815(_0x33efa7._0x175367)+_0x542075(_0x33efa7._0x528389)+_0x542075(0x250)+_0xefc815(0x20d)+_0x542075(_0x33efa7._0x284b84)+_0xefc815(0x158)+_0x542075(_0x33efa7._0x393533)+_0xefc815(_0x33efa7._0x3a0d44)+_0xefc815(_0x33efa7._0x155886)+_0x542075(_0x33efa7._0x4348bf)+_0x542075(_0x33efa7._0x4f97ca)+_0xefc815(_0x33efa7._0x1eb39b)+_0xefc815(_0x33efa7._0x39e121)+_0xefc815(0x1e0)+_0x542075(_0x33efa7._0x4d0608)+_0xefc815(_0x33efa7._0x28c5e8)+_0x542075(_0x33efa7._0x433644)+_0x542075(_0x33efa7._0x10fe83)+_0xefc815(_0x33efa7._0x52c909)+_0x542075(0x154)+_0xefc815(_0x33efa7._0x172df2)+_0x542075(_0x33efa7._0x26b85a)+_0xefc815(_0x33efa7._0x51a724)+_0x542075(_0x33efa7._0x1bd2ba)+_0xefc815(0x263)+_0xefc815(_0x33efa7._0x575c52)+_0xefc815(0x26b)+_0xefc815(_0x33efa7._0x5b7d70)+_0xefc815(_0x33efa7._0x1a300b)+_0xefc815(_0x33efa7._0xfbc460)+_0xefc815(_0x33efa7._0x3b51a1)+_0xefc815(_0x33efa7._0x203546)+_0xefc815(0x168)+_0xefc815(_0x33efa7._0xcd7a75)+_0xefc815(0x1d5)+_0xefc815(0x1a4)+_0xefc815(_0x33efa7._0x2f5d24)+_0x542075(0x243)+_0x542075(_0x33efa7._0x2a3765)+_0xefc815(_0x33efa7._0x1f956d)+_0x542075(_0x33efa7._0x26f735)+_0xefc815(0x1fc)+_0xefc815(_0x33efa7._0x11e0e7)+_0x542075(_0x33efa7._0x4c4d00)+_0x542075(_0x33efa7._0x471744)+_0xefc815(_0x33efa7._0x5fbebd)+_0xefc815(_0x33efa7._0x102390)+_0xefc815(_0x33efa7._0x3c61ad)+_0xefc815(_0x33efa7._0x5b7a46)+_0x542075(_0x33efa7._0x3c3bb0)+_0x542075(_0x33efa7._0x156aa4)+_0xefc815(_0x33efa7._0x5d1a38)+_0x542075(0x169)+_0xefc815(0x1e8)+_0xefc815(_0x33efa7._0x1d1875)+_0xefc815(_0x33efa7._0x46c58a)+_0xefc815(_0x33efa7._0x5d7244)+_0x542075(_0x33efa7._0x22aad1)+_0x542075(0x1bf)+_0x542075(_0x33efa7._0x3284be)+_0x542075(_0x33efa7._0x332abc)+_0xefc815(_0x33efa7._0x54de87)+_0x542075(0x234)+_0xefc815(_0x33efa7._0xfe9aeb)+_0x542075(_0x33efa7._0x5ef732)+_0xefc815(_0x33efa7._0x93441c)+_0x542075(_0x33efa7._0x113d0c)+_0x542075(_0x33efa7._0x5220d7)+_0xefc815(0x283)+_0x542075(0x180)+_0x542075(0x23c)+_0xefc815(0x23b)+_0x542075(0x1a9)+_0x542075(0x1a1)+_0x542075(0x17c)+_0xefc815(0x271)+_0xefc815(_0x33efa7._0xfde595)+_0xefc815(_0x33efa7._0x414dcf)+_0xefc815(_0x33efa7._0x10fe83)+_0x542075(_0x33efa7._0x45bef7)+_0xefc815(_0x33efa7._0x4d7fe6)+_0xefc815(_0x33efa7._0x157166)+_0xefc815(_0x33efa7._0x2fe2a3)+_0x542075(_0x33efa7._0x559e6c)+_0xefc815(_0x33efa7._0x47ea1e)+_0x542075(0x20e)+_0xefc815(_0x33efa7._0x5f26d7)+_0x542075(_0x33efa7._0x2ba857)+_0xefc815(0x1bb)+_0xefc815(0x236)+_0x542075(_0x33efa7._0x809e27)+_0x542075(_0x33efa7._0x429f40)+_0x542075(_0x33efa7._0x5947ba)+_0x542075(0x202)+_0xefc815(_0x33efa7._0x476b42)+'1'),_0x5dd816=0x10001n;function _0x1aeaf4(_0x4ac942,_0x46259f,_0x512d06){const _0x4ee035=_0xefc815,_0xcb3e65=_0xefc815;let _0x3d1e6d=0x1n;_0x4ac942=_0x4ac942%_0x512d06;while(_0x46259f>0x0n){if(_0x46259f%0x2n===0x1n)_0x3d1e6d=_0x3d1e6d*_0x4ac942%_0x512d06;_0x46259f=_0x3844e7[_0x4ee035(_0x560926._0x50d7fd)+'h'](_0x46259f,0x2n),_0x4ac942=_0x3844e7[_0x4ee035(_0x560926._0x188070)+'d'](_0x3844e7[_0xcb3e65(0x281)+'f'](_0x4ac942,_0x4ac942),_0x512d06);}return _0x3d1e6d;}function _0x4646f8(_0x51195e){const _0x3e43e7=_0x542075,_0x14df76=_0x542075;let _0x9f48e2=_0x51195e[_0x3e43e7(_0x57f658._0x3527b7)+_0x14df76(0x209)](0x10);if(_0x9f48e2[_0x14df76(0x24a)+'th']%0x2!==0x0)_0x9f48e2='0'+_0x9f48e2;let _0x2c4a08='';for(let _0x38c17c=0x0;_0x38c17c<_0x9f48e2[_0x3e43e7(_0x57f658._0x10d587)+'th'];_0x38c17c+=0x2){_0x2c4a08+=String[_0x3e43e7(_0x57f658._0x3d70a2)+_0x3e43e7(_0x57f658._0x3955ee)+_0x14df76(_0x57f658._0x134678)](_0x3844e7[_0x3e43e7(_0x57f658._0x42399b)+'e'](parseInt,_0x9f48e2[_0x14df76(_0x57f658._0x41e2e8)+'tr'](_0x38c17c,0x2),0x10));}return _0x2c4a08;}function _0x18c427(_0x5f12e0){const _0x9c715c=_0xefc815,_0x483393=_0xefc815;let _0x2bb0cd='';for(let _0x3d4f91=0x0;_0x3d4f91<_0x5f12e0[_0x9c715c(_0x454903._0x981e11)+'th'];_0x3d4f91++){_0x2bb0cd+=_0x5f12e0[_0x483393(0x197)+_0x483393(_0x454903._0x208f7d)+'At'](_0x3d4f91)[_0x9c715c(0x182)+_0x483393(_0x454903._0x4c774d)](0x10)[_0x483393(_0x454903._0x20eb94)+_0x9c715c(_0x454903._0xa9b33e)](0x2,'0');}return BigInt('0x'+_0x2bb0cd);}function _0x5b2d4e(_0x32cc4d){const _0x6de7fa={_0x27d742:0x186},_0x37eab3=_0x542075,_0x480ada=_0x542075,_0x1f8783={'sGIOQ':function(_0x15b815,_0x25cf6b){return _0x15b815>>>_0x25cf6b;},'XVPQk':function(_0x1422ce,_0x5632ea){return _0x1422ce-_0x5632ea;}};function _0x3af257(_0x1b4cbe,_0x3e4518){const _0x562a0c=_0x2fed,_0x4347b3=_0x2fed;return _0x1f8783[_0x562a0c(_0x6de7fa._0x27d742)+'Q'](_0x1b4cbe,_0x3e4518)|_0x1b4cbe<<_0x1f8783[_0x4347b3(0x1d3)+'k'](0x20,_0x3e4518);}var _0x26ff49=Math[_0x37eab3(_0x410d7c._0xb2a7f9)],_0x1aff0f=_0x26ff49(0x2,0x20),_0x5691b5=_0x480ada(0x24a)+'th',_0x1c5e5c,_0x5e0462,_0x4641b7='',_0xd8498f=[],_0xca9d31=_0x32cc4d[_0x5691b5]*0x8,_0x560255=_0x5b2d4e['h']=_0x5b2d4e['h']||[],_0x263876=_0x5b2d4e['k']=_0x5b2d4e['k']||[],_0x1b4499=_0x263876[_0x5691b5],_0x1b3acc={};for(var _0x3b1a36=0x2;_0x1b4499<0x40;_0x3b1a36++){if(!_0x1b3acc[_0x3b1a36]){for(_0x1c5e5c=0x0;_0x1c5e5c<0x139;_0x1c5e5c+=_0x3b1a36){_0x1b3acc[_0x1c5e5c]=_0x3b1a36;}_0x560255[_0x1b4499]=_0x3844e7[_0x480ada(_0x410d7c._0x44a43a)+'e'](_0x26ff49,_0x3b1a36,0.5)*_0x1aff0f|0x0,_0x263876[_0x1b4499++]=_0x3844e7[_0x37eab3(_0x410d7c._0x3de973)+'f'](_0x26ff49(_0x3b1a36,_0x3844e7[_0x37eab3(0x184)+'q'](0x1,0x3)),_0x1aff0f)|0x0;}}_0x32cc4d+='\u0080';while(_0x32cc4d[_0x5691b5]%0x40-0x38)_0x32cc4d+='\x00';for(_0x1c5e5c=0x0;_0x1c5e5c<_0x32cc4d[_0x5691b5];_0x1c5e5c++){_0x5e0462=_0x32cc4d[_0x480ada(_0x410d7c._0x3fec52)+_0x37eab3(0x22b)+'At'](_0x1c5e5c);if(_0x3844e7[_0x37eab3(_0x410d7c._0x274435)+'C'](_0x5e0462,0x8))return;_0xd8498f[_0x1c5e5c>>0x2]|=_0x3844e7[_0x480ada(0x211)+'m'](_0x5e0462,(0x3-_0x1c5e5c)%0x4*0x8);}_0xd8498f[_0xd8498f[_0x5691b5]]=_0xca9d31/_0x1aff0f|0x0,_0xd8498f[_0xd8498f[_0x5691b5]]=_0xca9d31;for(_0x5e0462=0x0;_0x5e0462<_0xd8498f[_0x5691b5];){var _0x25d10f=_0xd8498f[_0x480ada(0x24d)+'e'](_0x5e0462,_0x5e0462+=0x10),_0x2cd93f=_0x560255;_0x560255=_0x560255[_0x37eab3(_0x410d7c._0x3aa05f)+'e'](0x0,0x8);for(_0x1c5e5c=0x0;_0x1c5e5c<0x40;_0x1c5e5c++){var _0x4ebe54=_0x25d10f[_0x1c5e5c-0xf],_0x21ce94=_0x25d10f[_0x1c5e5c-0x2],_0x337e45=_0x560255[0x0],_0x49968d=_0x560255[0x4],_0x3ea439=_0x560255[0x7]+(_0x3844e7[_0x37eab3(_0x410d7c._0x595bcf)+'E'](_0x3af257,_0x49968d,0x6)^_0x3af257(_0x49968d,0xb)^_0x3af257(_0x49968d,0x19))+_0x3844e7[_0x480ada(_0x410d7c._0x1cd75b)+'P'](_0x49968d&_0x560255[0x5],~_0x49968d&_0x560255[0x6])+_0x263876[_0x1c5e5c]+(_0x25d10f[_0x1c5e5c]=_0x1c5e5c<0x10?_0x25d10f[_0x1c5e5c]:_0x3844e7[_0x37eab3(_0x410d7c._0x3d03b7)+'F'](_0x3844e7[_0x37eab3(_0x410d7c._0x46e268)+'N'](_0x3844e7[_0x480ada(_0x410d7c._0x5f5885)+'v'](_0x3844e7[_0x37eab3(_0x410d7c._0x5f5885)+'v'](_0x25d10f[_0x1c5e5c-0x10],_0x3844e7[_0x480ada(_0x410d7c._0x17e797)+'V'](_0x3844e7[_0x37eab3(_0x410d7c._0x5df99b)+'l'](_0x3af257,_0x4ebe54,0x7)^_0x3af257(_0x4ebe54,0x12),_0x4ebe54>>>0x3)),_0x25d10f[_0x1c5e5c-0x7]),_0x3844e7[_0x480ada(_0x410d7c._0x1d924f)+'J'](_0x3af257,_0x21ce94,0x11)^_0x3844e7[_0x480ada(_0x410d7c._0x3cb83f)+'s'](_0x3af257,_0x21ce94,0x13)^_0x21ce94>>>0xa),0x0)),_0x5a3532=_0x3844e7[_0x480ada(_0x410d7c._0x17e797)+'V'](_0x3af257(_0x337e45,0x2)^_0x3844e7[_0x480ada(_0x410d7c._0x44a43a)+'e'](_0x3af257,_0x337e45,0xd),_0x3af257(_0x337e45,0x16))+(_0x3844e7[_0x37eab3(_0x410d7c._0x4a66b2)+'a'](_0x3844e7[_0x37eab3(_0x410d7c._0x37df93)+'L'](_0x337e45,_0x560255[0x1]),_0x3844e7[_0x480ada(_0x410d7c._0x377aa5)+'L'](_0x337e45,_0x560255[0x2]))^_0x560255[0x1]&_0x560255[0x2]);_0x560255=[_0x3ea439+_0x5a3532|0x0][_0x480ada(0x23a)+'at'](_0x560255),_0x560255[0x4]=_0x560255[0x4]+_0x3ea439|0x0;}for(_0x1c5e5c=0x0;_0x1c5e5c<0x8;_0x1c5e5c++){_0x560255[_0x1c5e5c]=_0x560255[_0x1c5e5c]+_0x2cd93f[_0x1c5e5c]|0x0;}}for(_0x1c5e5c=0x0;_0x1c5e5c<0x8;_0x1c5e5c++){for(_0x5e0462=0x3;_0x5e0462+0x1;_0x5e0462--){var _0x48dd1c=_0x560255[_0x1c5e5c]>>_0x5e0462*0x8&0xff;_0x4641b7+=(_0x48dd1c<0x10?0x0:'')+_0x48dd1c[_0x37eab3(_0x410d7c._0x1b8f3b)+_0x37eab3(0x209)](0x10);}}return _0x4641b7;}class LicenseManager{static validate(_0x1a19a1,_0x2404db={}){const _0x2ec814=_0xefc815,_0x76bf4c=_0xefc815;if(!_0x1a19a1)return{'valid':![],'tier':null,'reason':_0x2ec814(_0x223d04._0x185981)+_0x2ec814(_0x223d04._0x4ff20a)+_0x76bf4c(_0x223d04._0x341bca)+_0x76bf4c(0x1b9)};const _0x411408=_0x1a19a1[_0x76bf4c(_0x223d04._0x50b241)](),_0x156638=_0x411408[_0x2ec814(_0x223d04._0x1ff7cd)+_0x2ec814(0x284)+_0x2ec814(0x189)](),_0x1f0ab6=_0x156638[_0x2ec814(_0x223d04._0x4580d8)+'t']('-'),_0x5f549d=_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x76bf4c(_0x223d04._0x13d929)]!==undefined&&_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x2ec814(_0x223d04._0x13d929)]!==null?_0x2404db[_0x2ec814(_0x223d04._0x5d92cf)+_0x2ec814(_0x223d04._0xa8b3d)]:Date[_0x76bf4c(_0x223d04._0x46af88)]();let _0x3b201b=0x0;_0x2404db[_0x76bf4c(0x1e5)+_0x2ec814(_0x223d04._0x5d239f)]&&(_0x3b201b=parseInt(_0x2404db[_0x76bf4c(_0x223d04._0xec027e)+_0x76bf4c(_0x223d04._0x5d239f)][_0x76bf4c(_0x223d04._0x2523dd)+_0x2ec814(0x1af)](_0x2ec814(_0x223d04._0x944062)+_0x2ec814(_0x223d04._0x1ca49b)+_0x76bf4c(_0x223d04._0x198b14)+_0x2ec814(_0x223d04._0x429070)+'e')||'0',0xa),(_0x2404db[_0x76bf4c(_0x223d04._0x51f14f)+_0x76bf4c(0x1e7)]===undefined||_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x76bf4c(_0x223d04._0x13d929)]===null)&&_0x2404db[_0x2ec814(0x1e5)+_0x76bf4c(_0x223d04._0x4abce5)][_0x2ec814(_0x223d04._0x502515)+_0x76bf4c(_0x223d04._0xb0158e)](_0x3844e7[_0x76bf4c(_0x223d04._0xda68a8)+'I'],_0x5f549d[_0x76bf4c(_0x223d04._0x3dc4cc)+_0x76bf4c(_0x223d04._0x1f8c54)]()));if((_0x2404db[_0x76bf4c(_0x223d04._0x520627)+_0x2ec814(0x1e7)]===undefined||_0x2404db[_0x2ec814(_0x223d04._0x4e68cd)+_0x2ec814(_0x223d04._0x59a88f)]===null)&&_0x5f549d<_0x3b201b){if(_0x2404db[_0x2ec814(0x192)+_0x76bf4c(0x1fe)+'y'])_0x2404db[_0x76bf4c(0x192)+_0x76bf4c(_0x223d04._0x614980)+'y']();return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x514a91)+_0x76bf4c(_0x223d04._0x20ece7)+_0x76bf4c(_0x223d04._0x26b323)+_0x76bf4c(_0x223d04._0xd9da38)+_0x2ec814(_0x223d04._0x5661ef)+_0x2ec814(_0x223d04._0xd73071)+_0x76bf4c(_0x223d04._0x3c304d)+_0x76bf4c(_0x223d04._0x83974a)};}const _0x465de0=typeof atob!==_0x3844e7[_0x2ec814(_0x223d04._0x527f64)+'g']?atob:_0x33ad81=>Buffer[_0x2ec814(0x183)](_0x33ad81,_0x76bf4c(0x181)+'64')[_0x76bf4c(0x182)+_0x2ec814(0x209)](_0x76bf4c(0x255)+'ry');if(_0x156638[_0x2ec814(_0x223d04._0x11740d)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x3844e7[_0x2ec814(_0x223d04._0x24c8eb)+'k']))try{const _0x44e4ce=_0x411408[_0x76bf4c(_0x223d04._0x1cf550)+_0x76bf4c(_0x223d04._0x22fb7e)+'g'](0x9),_0x5a47fb=_0x465de0(_0x44e4ce),_0x44b102=new Uint8Array(_0x5a47fb[_0x76bf4c(_0x223d04._0x4d760b)+'th']);for(let _0x349dea=0x0;_0x3844e7[_0x2ec814(_0x223d04._0x13adb7)+'c'](_0x349dea,_0x5a47fb[_0x2ec814(_0x223d04._0x5cfb16)+'th']);_0x349dea++){_0x44b102[_0x349dea]=_0x5a47fb[_0x2ec814(_0x223d04._0x5c0b7c)+_0x2ec814(_0x223d04._0x6ace2b)+'At'](_0x349dea);}let _0xde6fa='';for(let _0x4e5fdd=0x0;_0x4e5fdd<_0x44b102[_0x76bf4c(_0x223d04._0x5cfb16)+'th'];_0x4e5fdd++){_0xde6fa+=_0x44b102[_0x4e5fdd][_0x76bf4c(_0x223d04._0x49de57)+_0x76bf4c(_0x223d04._0x1f8c54)](0x10)[_0x2ec814(0x24b)+_0x76bf4c(_0x223d04._0x1ad3a1)](0x2,'0');}const _0xb55c86=BigInt(_0x3844e7[_0x2ec814(_0x223d04._0x1c9364)+'T']('0x',_0xde6fa)),_0x15bfb8=_0x3844e7[_0x76bf4c(_0x223d04._0x3b6bd1)+'n'](_0x1aeaf4,_0xb55c86,_0x5dd816,_0x3d1e25),_0x1a58d7=_0x4646f8(_0x15bfb8);if(_0x1a58d7[_0x2ec814(0x172)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x3844e7[_0x76bf4c(_0x223d04._0x5a8500)+'I'])){const _0x28f72e=parseInt(_0x1a58d7[_0x2ec814(_0x223d04._0x2082a8)+_0x2ec814(_0x223d04._0x22fb7e)+'g'](0xb),0xa);if(!isNaN(_0x28f72e)){if(_0x5f549d<_0x28f72e)return{'valid':!![],'tier':_0x2ec814(_0x223d04._0x4831b4)+'S','expires':_0x28f72e};if(_0x2404db[_0x76bf4c(0x17d)+_0x2ec814(_0x223d04._0x43b998)+'d'])_0x2404db[_0x76bf4c(0x17d)+_0x76bf4c(_0x223d04._0x43b998)+'d'](_0x3844e7[_0x76bf4c(_0x223d04._0x394bdd)+'G']);return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0xdee3f6)+_0x76bf4c(_0x223d04._0x4c98e1)+_0x76bf4c(_0x223d04._0x43b998)+'d'};}}}catch(_0x10d0e6){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0xdee3f6)+_0x2ec814(0x18c)+_0x76bf4c(_0x223d04._0x2127b6)+_0x76bf4c(_0x223d04._0x2193b4)+_0x76bf4c(_0x223d04._0x569f3c)+_0x2ec814(_0x223d04._0x29d9e6)};}if(_0x156638[_0x2ec814(_0x223d04._0x304f3b)+_0x2ec814(_0x223d04._0x5a8604)+'th'](_0x76bf4c(_0x223d04._0x22e9d1)+_0x76bf4c(_0x223d04._0x336ac3)))try{const _0x67e3a0=_0x411408[_0x2ec814(_0x223d04._0x1cf550)+_0x2ec814(_0x223d04._0x22fb7e)+'g'](0x7),_0x35d003=_0x465de0(_0x67e3a0),_0x13efaf=new Uint8Array(_0x35d003[_0x2ec814(_0x223d04._0x4d760b)+'th']);for(let _0x41fe6b=0x0;_0x41fe6b<_0x35d003[_0x2ec814(_0x223d04._0x523d5c)+'th'];_0x41fe6b++){_0x13efaf[_0x41fe6b]=_0x35d003[_0x2ec814(0x197)+_0x2ec814(0x22b)+'At'](_0x41fe6b);}let _0x316af6='';for(let _0x321322=0x0;_0x321322<_0x13efaf[_0x76bf4c(0x24a)+'th'];_0x321322++){_0x316af6+=_0x13efaf[_0x321322][_0x2ec814(0x182)+_0x76bf4c(_0x223d04._0x1f8c54)](0x10)[_0x76bf4c(_0x223d04._0x197204)+_0x2ec814(_0x223d04._0x1ad3a1)](0x2,'0');}const _0x251e76=BigInt('0x'+_0x316af6),_0x321b27=_0x1aeaf4(_0x251e76,_0x5dd816,_0x3d1e25),_0x4bdae4=_0x4646f8(_0x321b27);if(_0x4bdae4[_0x76bf4c(_0x223d04._0x304f3b)+_0x76bf4c(_0x223d04._0x460fd0)+'th'](_0x2ec814(_0x223d04._0x49029e)+_0x2ec814(_0x223d04._0x26ffc7)+'-')){const _0x5404b0=_0x4bdae4[_0x76bf4c(_0x223d04._0x4580d8)+'t']('-');if(_0x5404b0[_0x76bf4c(_0x223d04._0x18af31)+'th']>=0x5){const _0x2b874c=_0x5404b0[0x2],_0x1f37be=parseInt(_0x5404b0[0x4],0xa);if(!isNaN(_0x1f37be)){if(_0x5f549d<_0x1f37be)return{'valid':!![],'tier':_0x2b874c,'expires':_0x1f37be};if(_0x2404db[_0x2ec814(0x17d)+_0x76bf4c(0x21c)+'d'])_0x2404db[_0x76bf4c(_0x223d04._0x55d158)+_0x2ec814(_0x223d04._0x194246)+'d'](_0x3844e7[_0x76bf4c(_0x223d04._0x21cb2d)+'n']);return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x195c55)+_0x76bf4c(_0x223d04._0xedabe2)+_0x76bf4c(_0x223d04._0x4ca47a)+_0x76bf4c(0x25c)};}}}}catch(_0x3fbaa7){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x195c55)+_0x2ec814(0x210)+_0x2ec814(0x150)+_0x2ec814(_0x223d04._0x2f2ec4)+_0x76bf4c(_0x223d04._0xf92ec6)+'d'};}if(_0x1f0ab6[_0x76bf4c(0x24a)+'th']===0x4&&_0x1f0ab6[0x0]==='PS'&&[_0x76bf4c(_0x223d04._0xb9b55c),_0x2ec814(_0x223d04._0x2d5932)+'S',_0x3844e7[_0x76bf4c(_0x223d04._0x571bf4)+'z'],_0x76bf4c(_0x223d04._0x4905a0),_0x76bf4c(_0x223d04._0x476085)+_0x2ec814(_0x223d04._0x180d2d)+'SE'][_0x76bf4c(_0x223d04._0x105876)+_0x76bf4c(_0x223d04._0x22740b)](_0x1f0ab6[0x1])){const _0x2d920b=_0x1f0ab6[0x1],_0x29d37a=_0x1f0ab6[0x2],_0x88354e=_0x1f0ab6[0x3],_0x522165=_0x3844e7[_0x2ec814(_0x223d04._0x15a28a)+'Z'],_0x3a1b23=_0x3844e7[_0x2ec814(_0x223d04._0x5826f2)+'d'](_0x29d37a,_0x522165)+_0x2d920b;let _0x1c4bc8=0x0;for(let _0x1e7f1b=0x0;_0x3844e7[_0x2ec814(_0x223d04._0x13adb7)+'c'](_0x1e7f1b,_0x3a1b23[_0x76bf4c(0x24a)+'th']);_0x1e7f1b++){_0x1c4bc8+=_0x3a1b23[_0x76bf4c(_0x223d04._0x3b3c0d)+_0x2ec814(_0x223d04._0x6ace2b)+'At'](_0x1e7f1b)*_0x3844e7[_0x2ec814(_0x223d04._0x493b25)+'x'](_0x1e7f1b,0x1);}const _0x2f1e19=(_0x1c4bc8%0x270f)[_0x76bf4c(0x182)+_0x76bf4c(_0x223d04._0x1f8c54)]()[_0x76bf4c(_0x223d04._0x197204)+_0x2ec814(0x1dd)](0x4,'0');if(_0x3844e7[_0x2ec814(_0x223d04._0x4dbeb4)+'C'](_0x88354e,_0x2f1e19))return{'valid':!![],'tier':_0x2d920b};}if(_0x411408[_0x76bf4c(0x172)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x2ec814(0x28c))&&_0x411408[_0x76bf4c(_0x223d04._0x4580d8)+'t']('.')[_0x2ec814(_0x223d04._0x4d760b)+'th']===0x3)try{const [_0x4b6ce7,_0x3bd41d,_0xd45981]=_0x411408[_0x76bf4c(_0x223d04._0x4580d8)+'t']('.');let _0x4aa725=_0xd45981[_0x76bf4c(_0x223d04._0x26b4a1)+_0x76bf4c(0x24e)](/-/g,'+')[_0x76bf4c(_0x223d04._0x362546)+_0x2ec814(_0x223d04._0x4dbf72)](/_/g,'/');while(_0x3844e7[_0x2ec814(_0x223d04._0x3b1783)+'R'](_0x4aa725[_0x76bf4c(_0x223d04._0x1fcbde)+'th'],0x4))_0x4aa725+='=';const _0x487cc3=_0x465de0(_0x4aa725);let _0x2491c6='';for(let _0x24f058=0x0;_0x24f058<_0x487cc3[_0x76bf4c(_0x223d04._0x5cfb16)+'th'];_0x24f058++){_0x2491c6+=_0x487cc3[_0x2ec814(_0x223d04._0x18b35a)+_0x76bf4c(_0x223d04._0x26bf9e)+'At'](_0x24f058)[_0x2ec814(_0x223d04._0x49de57)+_0x76bf4c(_0x223d04._0x1ac48e)](0x10)[_0x76bf4c(_0x223d04._0x197204)+_0x76bf4c(_0x223d04._0x376726)](0x2,'0');}const _0x410d89=BigInt('0x'+_0x2491c6),_0x292a95=_0x1aeaf4(_0x410d89,_0x5dd816,_0x3d1e25);let _0x24ae33=_0x292a95[_0x2ec814(_0x223d04._0x4aa716)+_0x2ec814(0x209)](0x10);if(_0x3844e7[_0x76bf4c(_0x223d04._0x1cf295)+'d'](_0x24ae33[_0x2ec814(_0x223d04._0x18af31)+'th'],0x2)!==0x0)_0x24ae33='0'+_0x24ae33;const _0x369404=_0x5b2d4e(_0x3844e7[_0x76bf4c(_0x223d04._0x30f8cf)+'d'](_0x4b6ce7,'.')+_0x3bd41d);if(_0x24ae33[_0x2ec814(_0x223d04._0x27e63e)+_0x76bf4c(_0x223d04._0x98d1c7)](_0x369404)){const _0x3d7539=_0x3844e7[_0x76bf4c(_0x223d04._0x2ea9eb)+'g'](_0x465de0,_0x3bd41d[_0x76bf4c(_0x223d04._0x26d7da)+_0x76bf4c(_0x223d04._0x3de7c9)](/-/g,'+')[_0x2ec814(0x233)+_0x76bf4c(_0x223d04._0x402851)](/_/g,'/')),_0x33366f=JSON[_0x2ec814(_0x223d04._0x1cd9c6)+'e'](_0x3d7539);if(_0x33366f[_0x2ec814(_0x223d04._0x369daf)]&&_0x5f549d/0x3e8<_0x33366f[_0x76bf4c(_0x223d04._0x9ba96e)])return{'valid':!![],'tier':_0x33366f[_0x76bf4c(_0x223d04._0x4ed265)]||_0x3844e7[_0x76bf4c(_0x223d04._0x128e87)+'F'],'expires':_0x33366f[_0x2ec814(_0x223d04._0x369daf)]*0x3e8};else{if(_0x2404db[_0x2ec814(_0x223d04._0x55d158)+_0x2ec814(0x21c)+'d'])_0x2404db[_0x76bf4c(0x17d)+_0x2ec814(_0x223d04._0x43b998)+'d'](_0x76bf4c(_0x223d04._0x51d621));return{'valid':![],'tier':null,'reason':_0x3844e7[_0x2ec814(_0x223d04._0x120922)+'b']};}}}catch(_0x2df9d7){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x55462e)+_0x76bf4c(_0x223d04._0x4730cd)+_0x76bf4c(_0x223d04._0x191717)+_0x76bf4c(0x1a2)+_0x76bf4c(_0x223d04._0xf92ec6)+'d'};}return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x5c654b)+_0x76bf4c(_0x223d04._0x2073ef)+_0x2ec814(0x193)+'at'};}}LicenseManager[_0x542075(_0x33efa7._0x22f550)+_0x542075(_0x33efa7._0x209e6c)+_0x542075(_0x33efa7._0xfd22da)]=_0x3d1e25,LicenseManager[_0x542075(0x195)+_0xefc815(_0x33efa7._0x5c04d8)+_0xefc815(_0x33efa7._0x1ea8a4)]=_0x5dd816,LicenseManager[_0x542075(0x1ff)+_0xefc815(_0x33efa7._0x193b23)+_0xefc815(_0x33efa7._0x29f4ce)+_0xefc815(_0x33efa7._0x4ae373)]=_0x542075(_0x33efa7._0x4b3611)+_0x542075(_0x33efa7._0x5b14f0)+_0x542075(_0x33efa7._0xcc184d)+_0xefc815(_0x33efa7._0x3faaa9)+'@#',typeof globalThis!==_0x3844e7[_0xefc815(0x1eb)+'g']&&(globalThis[_0xefc815(_0x33efa7._0x43bb5e)+_0xefc815(_0x33efa7._0x1e2247)+_0x542075(0x206)+'er']=LicenseManager),typeof _0x5caef8!==_0x542075(_0x33efa7._0x43d64c)+_0xefc815(0x26a)+'d'&&(_0x5caef8[_0xefc815(_0x33efa7._0x43bb5e)+_0x542075(_0x33efa7._0x3eadb3)+_0xefc815(_0x33efa7._0x397407)+'er']=LicenseManager),typeof window!==_0xefc815(_0x33efa7._0x43d64c)+_0x542075(_0x33efa7._0x3583ec)+'d'&&(window[_0xefc815(_0x33efa7._0x32c745)+_0x542075(_0x33efa7._0x1e2247)+_0x542075(_0x33efa7._0x10fea0)+'er']=LicenseManager),typeof exports!==_0x3844e7[_0xefc815(0x1eb)+'g']&&(typeof module!==_0xefc815(_0x33efa7._0x43d64c)+_0xefc815(_0x33efa7._0x3583ec)+'d'&&module[_0x542075(_0x33efa7._0x2236d6)+_0x542075(0x20c)]&&(module[_0xefc815(_0x33efa7._0x32d43c)+_0x542075(_0x33efa7._0x2a5017)]=LicenseManager),exports[_0x542075(0x1f6)+_0xefc815(_0x33efa7._0x592dad)+_0xefc815(_0x33efa7._0x10fea0)+'er']=LicenseManager);}(typeof globalThis!==_0x3ba9aa(0x1df)+_0x3f9338(0x26a)+'d'?globalThis:typeof window!==_0x3f9338(0x1df)+_0x3f9338(0x26a)+'d'?window:this));