@evomap/evolver 1.91.2 → 1.92.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.
Files changed (66) hide show
  1. package/README.md +13 -7
  2. package/index.js +150 -71
  3. package/package.json +2 -1
  4. package/src/adapters/scripts/_runtimePaths.js +10 -1
  5. package/src/adapters/scripts/evolver-session-end.js +10 -1
  6. package/src/canonicalIdentityLock.js +455 -0
  7. package/src/evolve/guards.js +1 -1
  8. package/src/evolve/pipeline/collect.js +1 -1
  9. package/src/evolve/pipeline/dispatch.js +1 -1
  10. package/src/evolve/pipeline/enrich.js +1 -1
  11. package/src/evolve/pipeline/hub.js +1 -1
  12. package/src/evolve/pipeline/select.js +1 -1
  13. package/src/evolve/pipeline/signals.js +1 -1
  14. package/src/evolve/utils.js +1 -1
  15. package/src/evolve.js +1 -1
  16. package/src/gep/a2aProtocol.js +1 -5175
  17. package/src/gep/antiAbuseTelemetry.js +1 -233
  18. package/src/gep/assetStore.js +56 -12
  19. package/src/gep/autoDistillConv.js +1 -205
  20. package/src/gep/autoDistillLlm.js +1 -315
  21. package/src/gep/candidateEval.js +1 -92
  22. package/src/gep/candidates.js +1 -1
  23. package/src/gep/contentHash.js +1 -30
  24. package/src/gep/conversationDistiller.js +1 -270
  25. package/src/gep/conversationSniffer.js +1 -266
  26. package/src/gep/crypto.js +1 -93
  27. package/src/gep/curriculum.js +1 -1
  28. package/src/gep/deviceId.js +1 -218
  29. package/src/gep/envFingerprint.js +1 -118
  30. package/src/gep/epigenetics.js +1 -31
  31. package/src/gep/execBridge.js +1 -712
  32. package/src/gep/explore.js +1 -289
  33. package/src/gep/hash.js +1 -15
  34. package/src/gep/hubFetch.js +1 -672
  35. package/src/gep/hubReview.js +1 -212
  36. package/src/gep/hubSearch.js +1 -544
  37. package/src/gep/hubVerify.js +1 -306
  38. package/src/gep/learningSignals.js +1 -1
  39. package/src/gep/memoryGraph.js +1 -1449
  40. package/src/gep/memoryGraphAdapter.js +1 -203
  41. package/src/gep/mutation.js +1 -1
  42. package/src/gep/narrativeMemory.js +1 -1
  43. package/src/gep/openPRRegistry.js +1 -205
  44. package/src/gep/personality.js +1 -1
  45. package/src/gep/policyCheck.js +1 -599
  46. package/src/gep/prompt.js +1 -1
  47. package/src/gep/recallInject.js +1 -409
  48. package/src/gep/recallVerifier.js +1 -318
  49. package/src/gep/reflection.js +1 -1
  50. package/src/gep/savingsCore.js +1 -1
  51. package/src/gep/schemas/gene.js +2 -0
  52. package/src/gep/selector.js +1 -1
  53. package/src/gep/skillDistiller.js +1 -1294
  54. package/src/gep/solidify.js +1 -1
  55. package/src/gep/strategy.js +1 -136
  56. package/src/gep/syncAsset.js +1 -0
  57. package/src/gep/tokenSavings.js +1 -1
  58. package/src/gep/trajectoryExport.js +1 -3841
  59. package/src/gep/workspaceKeychain.js +1 -174
  60. package/src/proxy/extensions/traceControl.js +1 -123
  61. package/src/proxy/index.js +136 -8
  62. package/src/proxy/inject.js +1 -52
  63. package/src/proxy/lifecycle/manager.js +279 -18
  64. package/src/proxy/mailbox/state.js +60 -29
  65. package/src/proxy/trace/extractor.js +1 -2355
  66. package/src/proxy/trace/usage.js +1 -105
@@ -1,233 +1 @@
1
- 'use strict';
2
-
3
- const crypto = require('crypto');
4
- const fs = require('fs');
5
- const os = require('os');
6
- const path = require('path');
7
-
8
- const { captureEnvFingerprint, envFingerprintKey } = require('./envFingerprint');
9
-
10
- const SCHEMA_VERSION = 'anti_abuse.v1';
11
- const REDACTION_VERSION = 'anti_abuse_redaction.v1';
12
- const DEFAULT_TTL_DAYS = 90;
13
- const MAX_HASH_FILE_BYTES = 10 * 1024 * 1024;
14
-
15
- function nowIso(now) {
16
- if (now instanceof Date) return now.toISOString();
17
- if (typeof now === 'string' && now) return now;
18
- return new Date().toISOString();
19
- }
20
-
21
- function boolFromEnv(value) {
22
- const v = String(value || '').trim().toLowerCase();
23
- return v === '1' || v === 'true' || v === 'yes' || v === 'on';
24
- }
25
-
26
- function hmacPseudonym(value, opts) {
27
- const raw = value == null ? '' : String(value);
28
- const salt = opts && opts.salt ? String(opts.salt) : '';
29
- const purpose = opts && opts.purpose ? String(opts.purpose) : 'anti_abuse';
30
- if (!raw || !salt) return null;
31
- return crypto.createHmac('sha256', salt).update(purpose).update('\0').update(raw).digest('hex').slice(0, 32);
32
- }
33
-
34
- function sha256File(filePath) {
35
- let stat;
36
- try {
37
- stat = fs.statSync(filePath);
38
- } catch (_) {
39
- return null;
40
- }
41
- if (!stat.isFile() || stat.size > MAX_HASH_FILE_BYTES) return null;
42
- const hash = crypto.createHash('sha256');
43
- hash.update(fs.readFileSync(filePath));
44
- return hash.digest('hex');
45
- }
46
-
47
- function safeJsonFile(filePath) {
48
- try {
49
- return JSON.parse(fs.readFileSync(filePath, 'utf8'));
50
- } catch (_) {
51
- return null;
52
- }
53
- }
54
-
55
- function filePermissionClass(filePath) {
56
- let stat;
57
- try {
58
- stat = fs.statSync(filePath);
59
- } catch (_) {
60
- return 'missing';
61
- }
62
- if (!stat.isFile()) return 'not_file';
63
- const mode = stat.mode & 0o777;
64
- if ((mode & 0o077) === 0) return 'owner_only';
65
- if ((mode & 0o007) !== 0) return 'world_accessible';
66
- return 'group_accessible';
67
- }
68
-
69
- // The integrity envelope fingerprints the INSTALLED @evomap/evolver package
70
- // — its package.json, CLI entry, and lockfiles — not the user's project.
71
- // __dirname tracks this file inside the install (<pkg>/src/gep/), so two
72
- // levels up is the package root in every install mode (dev clone, npm
73
- // global, npx cache). Hashing getRepoRoot() (the user's project) here would
74
- // make hub-side integrity checks compare workspace files against
75
- // evolver_version, mismatching on every npm/global install.
76
- function getEvolverPackageRoot() {
77
- return path.resolve(__dirname, '..', '..');
78
- }
79
-
80
- // Containment gate for EVERY file the integrity envelope reads: resolve the
81
- // candidate through symlinks and require it to stay inside the package root.
82
- // Default-on heartbeat collection must not grow an out-of-tree file-read
83
- // side effect — not via a tampered bin.evolver, and not via a symlinked
84
- // package.json / lockfile either (each read is up to MAX_HASH_FILE_BYTES).
85
- // Returns the real path when contained, else null (missing files land here
86
- // too, matching sha256File's old null-on-ENOENT behavior).
87
- function containedRealPath(root, candidate) {
88
- try {
89
- const realRoot = fs.realpathSync(root);
90
- const real = fs.realpathSync(candidate);
91
- return real.startsWith(realRoot + path.sep) ? real : null;
92
- } catch (_) {
93
- return null;
94
- }
95
- }
96
-
97
- function collectIntegrityHashes(packageRoot) {
98
- const root = packageRoot || getEvolverPackageRoot();
99
- const pkgPath = containedRealPath(root, path.join(root, 'package.json'));
100
- const pkg = (pkgPath && safeJsonFile(pkgPath)) || {};
101
- const bin = pkg && pkg.bin && typeof pkg.bin.evolver === 'string' ? pkg.bin.evolver : null;
102
- const binPath = bin ? containedRealPath(root, path.resolve(root, bin)) : null;
103
- const lockfiles = ['package-lock.json', 'pnpm-lock.yaml', 'yarn.lock', 'bun.lockb'];
104
- const lockfile_hashes = {};
105
- for (const name of lockfiles) {
106
- const p = containedRealPath(root, path.join(root, name));
107
- const digest = p ? sha256File(p) : null;
108
- if (digest) lockfile_hashes[name] = digest;
109
- }
110
- return {
111
- package_json_hash: pkgPath ? sha256File(pkgPath) : null,
112
- cli_entry_hash: binPath ? sha256File(binPath) : null,
113
- lockfile_hashes,
114
- };
115
- }
116
-
117
- function settingsPermissionClass(env) {
118
- const e = env || process.env;
119
- const settingsDir = e.EVOLVER_SETTINGS_DIR || path.join(os.homedir(), '.evolver');
120
- return filePermissionClass(path.join(settingsDir, 'settings.json'));
121
- }
122
-
123
- function normalizeTaskMetrics(taskMeta) {
124
- const meta = taskMeta && typeof taskMeta === 'object' ? taskMeta : {};
125
- const metrics = meta.task_metrics && typeof meta.task_metrics === 'object' ? meta.task_metrics : null;
126
- if (!metrics) return null;
127
- return {
128
- pending: Number.isFinite(Number(metrics.pending)) ? Number(metrics.pending) : null,
129
- claimed: Number.isFinite(Number(metrics.claimed)) ? Number(metrics.claimed) : null,
130
- completed: Number.isFinite(Number(metrics.completed)) ? Number(metrics.completed) : null,
131
- failed: Number.isFinite(Number(metrics.failed)) ? Number(metrics.failed) : null,
132
- avg_completion_ms: Number.isFinite(Number(metrics.avg_completion_ms)) ? Number(metrics.avg_completion_ms) : null,
133
- };
134
- }
135
-
136
- function ttlDays(env) {
137
- const raw = Number(env && env.EVOLVER_ANTI_ABUSE_TTL_DAYS);
138
- return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : DEFAULT_TTL_DAYS;
139
- }
140
-
141
- function unavailable(field, reason, expectedSource) {
142
- return {
143
- field,
144
- reason,
145
- expected_source: expectedSource || 'hub_server',
146
- };
147
- }
148
-
149
- function buildHeartbeatAntiAbuseTelemetry(opts) {
150
- const options = opts || {};
151
- const env = options.env || process.env;
152
- const fp = options.envFingerprint || captureEnvFingerprint();
153
- const salt = options.salt != null ? options.salt : env.EVOLVER_ANTI_ABUSE_SALT;
154
- const saltId = options.saltId || env.EVOLVER_ANTI_ABUSE_SALT_ID || (salt ? 'env' : null);
155
- const packageRoot = options.packageRoot || getEvolverPackageRoot();
156
- const devicePseudonym = hmacPseudonym(fp && fp.device_id, { salt, purpose: 'device' });
157
- const workspacePseudonym = hmacPseudonym(process.cwd(), { salt, purpose: 'workspace' });
158
- const missing = [];
159
- if (!devicePseudonym) missing.push(unavailable('device_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
160
- if (!workspacePseudonym) missing.push(unavailable('workspace_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
161
- missing.push(
162
- unavailable('client_ip', 'server_observed_required', 'hub_edge'),
163
- unavailable('asn', 'server_observed_required', 'hub_edge'),
164
- unavailable('proxy_vpn_tor_datacenter_class', 'server_observed_required', 'hub_edge'),
165
- unavailable('account_security', 'account_service_required', 'hub_account'),
166
- unavailable('payout_method_token', 'payments_service_required', 'hub_payments'),
167
- unavailable('risk_action_case', 'risk_engine_required', 'hub_risk')
168
- );
169
-
170
- return {
171
- schema_version: SCHEMA_VERSION,
172
- event_type: 'node.heartbeat',
173
- purpose: 'anti_abuse',
174
- pii_class: 'medium',
175
- consent_level: 'default',
176
- retention_ttl_days: ttlDays(env),
177
- policy_version: env.EVOLVER_ANTI_ABUSE_POLICY_VERSION || 'local-default',
178
- redaction_version: REDACTION_VERSION,
179
- source: options.source || 'evolver-client',
180
- generated_at: nowIso(options.now),
181
- source_confidence: {
182
- node_identity: 'client_attested',
183
- device_integrity: 'client_attested',
184
- task_metrics: 'client_attested',
185
- network_source: 'server_observed_required',
186
- account_security: 'server_observed_required',
187
- payout: 'server_observed_required',
188
- risk_decision: 'server_observed_required',
189
- },
190
- identity: {
191
- node_id: options.nodeId || null,
192
- account_id: null,
193
- org_id: null,
194
- },
195
- device: {
196
- device_pseudonym: devicePseudonym,
197
- workspace_pseudonym: workspacePseudonym,
198
- pseudonym_salt_id: saltId,
199
- env_fingerprint_key: envFingerprintKey(fp),
200
- platform: fp.platform || null,
201
- arch: fp.arch || null,
202
- os_release: fp.os_release || null,
203
- node_version: fp.node_version || null,
204
- evolver_version: fp.evolver_version || null,
205
- client: fp.client || null,
206
- client_version: fp.client_version || null,
207
- model: fp.model || null,
208
- region: fp.region || null,
209
- container: !!fp.container,
210
- },
211
- integrity: collectIntegrityHashes(packageRoot),
212
- local_security_boundary: {
213
- proxy_bind_address_class: 'loopback',
214
- // Env sniffing is only a fallback for the client heartbeat: the proxy
215
- // lifecycle heartbeat runs INSIDE the proxy process (which usually has
216
- // neither env var set) and passes its ground truth explicitly.
217
- proxy_port_configured: options.proxyPortConfigured != null
218
- ? !!options.proxyPortConfigured
219
- : (boolFromEnv(env.EVOMAP_PROXY) || !!env.EVOMAP_PROXY_PORT),
220
- settings_permission_class: settingsPermissionClass(env),
221
- },
222
- task_timing: normalizeTaskMetrics(options.taskMeta),
223
- unavailable_fields: missing,
224
- };
225
- }
226
-
227
- module.exports = {
228
- SCHEMA_VERSION,
229
- REDACTION_VERSION,
230
- buildHeartbeatAntiAbuseTelemetry,
231
- collectIntegrityHashes,
232
- hmacPseudonym,
233
- };
1
+ const _0x69ccc5=_0xaf57;(function(_0x4912ec,_0xbc9459){const _0x463d29=_0xaf57,_0xa0af15=_0x4912ec();while(!![]){try{const _0x47d245=parseInt(_0x463d29(0x21c,'\x54\x7a\x4e\x55'))/(-0x5cd+0x3*-0x6b2+-0xcf2*-0x2)*(-parseInt(_0x463d29(0x236,'\x79\x37\x67\x25'))/(0x1*0x1127+-0x77*0x2f+-0x12d*-0x4))+parseInt(_0x463d29(0x190,'\x4b\x56\x6e\x53'))/(-0x8be+-0x2*0x703+0x16c7)*(parseInt(_0x463d29(0x23f,'\x56\x62\x48\x40'))/(-0x235a+0x9*-0x265+0x38eb))+-parseInt(_0x463d29(0x22c,'\x61\x73\x55\x79'))/(0x1*0x1ee3+-0x19fc+0xa*-0x7d)*(parseInt(_0x463d29(0x269,'\x77\x7a\x25\x79'))/(0x240e*-0x1+0xdbe+0xb2b*0x2))+parseInt(_0x463d29(0x229,'\x38\x66\x39\x32'))/(-0xdbb+0x1869*-0x1+0x262b)*(parseInt(_0x463d29(0x2c8,'\x62\x41\x71\x79'))/(0x737+-0x1fc5+-0xc4b*-0x2))+parseInt(_0x463d29(0x22f,'\x78\x5e\x33\x51'))/(0x2573+-0x26f6+-0x84*-0x3)+-parseInt(_0x463d29(0x130,'\x52\x78\x64\x4c'))/(-0x2694+-0x1*-0x1083+0x161b)*(-parseInt(_0x463d29(0x15c,'\x71\x53\x38\x53'))/(0x6fd+-0xb3d+-0x44b*-0x1))+-parseInt(_0x463d29(0x1e6,'\x2a\x31\x71\x69'))/(0x216b+-0x5+-0x215a);if(_0x47d245===_0xbc9459)break;else _0xa0af15['push'](_0xa0af15['shift']());}catch(_0x595c21){_0xa0af15['push'](_0xa0af15['shift']());}}}(_0x2203,-0x16bf83+-0x150596+0x38e895));const _0x1b0fe7=(function(){const _0x160053=_0xaf57,_0x5c2de7={};_0x5c2de7[_0x160053(0x26a,'\x56\x62\x48\x40')]=function(_0x22bfb3,_0xd2236c){return _0x22bfb3||_0xd2236c;},_0x5c2de7[_0x160053(0x148,'\x38\x66\x39\x32')]=_0x160053(0x211,'\x51\x6f\x5e\x79')+'\x65\x72',_0x5c2de7['\x6b\x62\x76\x41\x6b']=function(_0x3b294f,_0x159498){return _0x3b294f===_0x159498;},_0x5c2de7['\x75\x6f\x6c\x49\x66']=_0x160053(0x1fd,'\x72\x25\x62\x71'),_0x5c2de7[_0x160053(0x161,'\x72\x25\x62\x71')]=_0x160053(0x156,'\x6c\x71\x56\x37'),_0x5c2de7[_0x160053(0x13b,'\x4d\x64\x4d\x5a')]=_0x160053(0x1d6,'\x4e\x42\x71\x59');const _0x50dff8=_0x5c2de7;let _0x10446d=!![];return function(_0x496ab5,_0x2368c5){const _0xeb19c4=_0x10446d?function(){const _0x121b9b=_0xaf57,_0x543abf={'\x51\x76\x52\x41\x4e':function(_0x2ff790,_0xc2c3cb){const _0xde20aa=_0xaf57;return _0x50dff8[_0xde20aa(0x248,'\x48\x35\x6b\x71')](_0x2ff790,_0xc2c3cb);},'\x6d\x4c\x70\x6f\x68':_0x50dff8[_0x121b9b(0x29f,'\x4e\x42\x71\x59')]};if(_0x50dff8[_0x121b9b(0x241,'\x71\x53\x38\x53')](_0x50dff8[_0x121b9b(0x1b0,'\x34\x39\x6a\x43')],_0x50dff8[_0x121b9b(0x155,'\x7a\x5d\x4d\x44')])){if(_0x2368c5){if(_0x50dff8[_0x121b9b(0x2ba,'\x61\x44\x23\x59')]===_0x50dff8['\x76\x68\x6d\x63\x61'])return{'\x66\x69\x65\x6c\x64':_0x4acace,'\x72\x65\x61\x73\x6f\x6e':_0x385dac,'\x65\x78\x70\x65\x63\x74\x65\x64\x5f\x73\x6f\x75\x72\x63\x65':_0x543abf[_0x121b9b(0x1cc,'\x6f\x44\x35\x45')](_0x3cd39c,_0x543abf['\x6d\x4c\x70\x6f\x68'])};else{const _0x4802c0=_0x2368c5[_0x121b9b(0x233,'\x6c\x4b\x2a\x54')](_0x496ab5,arguments);return _0x2368c5=null,_0x4802c0;}}}else _0x1c0dd3=_0x2844e6[_0x121b9b(0x259,'\x7a\x5d\x4d\x44')](_0x36c5c0);}:function(){};return _0x10446d=![],_0xeb19c4;};}()),_0x5b3128=_0x1b0fe7(this,function(){const _0x1614ec=_0xaf57,_0x3da750={};_0x3da750[_0x1614ec(0x1ee,'\x4d\x64\x4d\x5a')]=_0x1614ec(0x28f,'\x4e\x42\x71\x59')+_0x1614ec(0x131,'\x6c\x70\x70\x41');const _0x4b1373=_0x3da750;return _0x5b3128[_0x1614ec(0x1b1,'\x28\x21\x70\x5a')]()[_0x1614ec(0x1bd,'\x5d\x23\x56\x4c')](_0x4b1373[_0x1614ec(0x24f,'\x28\x39\x24\x48')])[_0x1614ec(0x20f,'\x6c\x71\x56\x37')]()[_0x1614ec(0x21f,'\x4b\x56\x6e\x53')+_0x1614ec(0x2a8,'\x34\x39\x6a\x43')](_0x5b3128)[_0x1614ec(0x1f9,'\x61\x73\x55\x79')](_0x4b1373[_0x1614ec(0x1af,'\x61\x73\x55\x79')]);});_0x5b3128();'use strict';const _0x40c42d=require(_0x69ccc5(0x27b,'\x56\x62\x48\x40')),_0x3b3bf0=require('\x66\x73'),_0x4f050a=require('\x6f\x73'),_0x25ec80=require(_0x69ccc5(0x194,'\x72\x25\x62\x71')),{captureEnvFingerprint:_0x3a825c,envFingerprintKey:_0x3e109d}=require(_0x69ccc5(0x252,'\x28\x69\x28\x4c')+_0x69ccc5(0x13e,'\x5d\x23\x56\x4c')),_0xa3407b=_0x69ccc5(0x29b,'\x4b\x7a\x66\x51')+'\x73\x65\x2e\x76\x31',_0xf96dc2=_0x69ccc5(0x266,'\x28\x21\x70\x5a')+_0x69ccc5(0x1d4,'\x5d\x23\x56\x4c')+'\x74\x69\x6f\x6e\x2e\x76\x31',_0x10dde5=-0x1a+0x1*-0x1643+0x1*0x16b7,_0x58b836=(-0x17+-0x4d9+0x4fa)*(0xf3e+0x14aa+-0x1fe8)*(0x32e*-0x2+0x195d+-0xa7*0x17);function _0xc6a849(_0x1498f4){const _0x3d8267=_0x69ccc5,_0x47a55f={};_0x47a55f['\x47\x47\x75\x45\x56']=_0x3d8267(0x215,'\x4b\x56\x6e\x53');const _0x13a919=_0x47a55f;if(_0x1498f4 instanceof Date)return _0x1498f4[_0x3d8267(0x282,'\x48\x43\x53\x72')+_0x3d8267(0x249,'\x65\x24\x46\x5b')]();if(typeof _0x1498f4===_0x13a919[_0x3d8267(0x29c,'\x79\x37\x67\x25')]&&_0x1498f4)return _0x1498f4;return new Date()[_0x3d8267(0x14f,'\x54\x7a\x4e\x55')+_0x3d8267(0x2d4,'\x50\x58\x63\x63')]();}function _0x180c05(_0x3116e0){const _0x2bc64e=_0x69ccc5,_0x2e0d81={'\x52\x5a\x72\x6f\x6e':function(_0x634a55,_0x446816){return _0x634a55(_0x446816);},'\x47\x73\x70\x46\x43':function(_0x14f1e1,_0x500bc2){return _0x14f1e1===_0x500bc2;},'\x44\x45\x6a\x56\x6f':function(_0x12f58c,_0x5e0dc9){return _0x12f58c===_0x5e0dc9;},'\x4f\x55\x6f\x6e\x4c':_0x2bc64e(0x1b9,'\x56\x62\x48\x40'),'\x69\x7a\x6d\x74\x76':_0x2bc64e(0x1f8,'\x6a\x59\x47\x43')},_0x392506=_0x2e0d81[_0x2bc64e(0x2b8,'\x4b\x56\x6e\x53')](String,_0x3116e0||'')[_0x2bc64e(0x1dc,'\x55\x6e\x61\x7a')]()[_0x2bc64e(0x1a2,'\x65\x4a\x6f\x58')+'\x61\x73\x65']();return _0x2e0d81[_0x2bc64e(0x2d6,'\x56\x62\x48\x40')](_0x392506,'\x31')||_0x2e0d81[_0x2bc64e(0x268,'\x7a\x5d\x4d\x44')](_0x392506,_0x2e0d81[_0x2bc64e(0x214,'\x24\x36\x36\x68')])||_0x2e0d81[_0x2bc64e(0x2c1,'\x2a\x31\x71\x69')](_0x392506,_0x2e0d81[_0x2bc64e(0x26d,'\x64\x62\x6d\x37')])||_0x392506==='\x6f\x6e';}function _0x14ac81(_0x183828,_0x5b1861){const _0x152967=_0x69ccc5,_0x2480e3={'\x59\x4d\x65\x51\x79':function(_0x3042e2,_0x460a78){return _0x3042e2(_0x460a78);},'\x74\x78\x68\x4b\x48':_0x152967(0x1b6,'\x64\x62\x6d\x37')+'\x73\x65','\x4f\x51\x50\x46\x44':function(_0x37c8c9,_0x1a2432){return _0x37c8c9||_0x1a2432;},'\x76\x74\x4c\x70\x4d':_0x152967(0x2cf,'\x56\x62\x48\x40'),'\x59\x76\x68\x75\x7a':_0x152967(0x27f,'\x51\x45\x2a\x4d')},_0x3f9ae7=_0x183828==null?'':String(_0x183828),_0x389a39=_0x5b1861&&_0x5b1861['\x73\x61\x6c\x74']?_0x2480e3[_0x152967(0x2be,'\x65\x24\x46\x5b')](String,_0x5b1861[_0x152967(0x283,'\x56\x62\x48\x40')]):'',_0x20a14a=_0x5b1861&&_0x5b1861[_0x152967(0x1fc,'\x28\x6c\x57\x74')]?_0x2480e3[_0x152967(0x1a9,'\x48\x35\x6b\x71')](String,_0x5b1861[_0x152967(0x220,'\x28\x39\x24\x48')]):_0x2480e3[_0x152967(0x1f2,'\x51\x6f\x5e\x79')];if(_0x2480e3['\x4f\x51\x50\x46\x44'](!_0x3f9ae7,!_0x389a39))return null;return _0x40c42d[_0x152967(0x258,'\x28\x69\x28\x4c')+'\x61\x63'](_0x2480e3[_0x152967(0x243,'\x64\x62\x6d\x37')],_0x389a39)['\x75\x70\x64\x61\x74\x65'](_0x20a14a)['\x75\x70\x64\x61\x74\x65']('\x00')[_0x152967(0x1f7,'\x61\x44\x23\x59')](_0x3f9ae7)[_0x152967(0x174,'\x6b\x58\x51\x73')](_0x2480e3[_0x152967(0x1ae,'\x74\x49\x36\x5e')])[_0x152967(0x14c,'\x28\x21\x70\x5a')](-0x9*0x40f+0x2*0xa6d+0xfad,0x5*0x121+0x3*-0x242+0x141);}function _0x5a707b(_0x223f69){const _0x5b67f2=_0x69ccc5,_0x5467c4={};_0x5467c4[_0x5b67f2(0x1cd,'\x74\x49\x36\x5e')]=_0x5b67f2(0x24a,'\x4e\x42\x71\x59'),_0x5467c4[_0x5b67f2(0x291,'\x74\x49\x36\x5e')]=function(_0x463677,_0x139543){return _0x463677&_0x139543;},_0x5467c4['\x6d\x49\x56\x78\x61']=function(_0x214192,_0x2b6f8c){return _0x214192===_0x2b6f8c;},_0x5467c4[_0x5b67f2(0x2a5,'\x30\x6b\x51\x5a')]=_0x5b67f2(0x2b1,'\x44\x55\x44\x73')+'\x6c\x79',_0x5467c4[_0x5b67f2(0x2c9,'\x61\x73\x55\x79')]=function(_0x2d893b,_0x5e840b){return _0x2d893b!==_0x5e840b;},_0x5467c4['\x45\x59\x5a\x6a\x7a']=_0x5b67f2(0x225,'\x48\x43\x53\x72')+_0x5b67f2(0x14d,'\x78\x5e\x33\x51'),_0x5467c4[_0x5b67f2(0x2c6,'\x56\x62\x48\x40')]=_0x5b67f2(0x2a2,'\x55\x6e\x61\x7a'),_0x5467c4[_0x5b67f2(0x1e2,'\x61\x73\x55\x79')]=function(_0x233d5e,_0x1b0bba){return _0x233d5e>_0x1b0bba;},_0x5467c4[_0x5b67f2(0x1ea,'\x2a\x31\x71\x69')]=_0x5b67f2(0x1a7,'\x29\x6b\x57\x35');const _0x52f705=_0x5467c4;let _0x2b85ac;try{_0x2b85ac=_0x3b3bf0[_0x5b67f2(0x16c,'\x28\x6c\x57\x74')](_0x223f69);}catch(_0xf95317){if(_0x52f705[_0x5b67f2(0x1e3,'\x74\x49\x36\x5e')](_0x52f705['\x7a\x4b\x79\x6c\x53'],'\x53\x42\x43\x42\x66'))return null;else{let _0x46cae6;try{_0x46cae6=_0x3198da[_0x5b67f2(0x1cf,'\x34\x39\x6a\x43')](_0x29a694);}catch(_0x24902a){return _0x5b67f2(0x2ce,'\x2a\x31\x71\x69');}if(!_0x46cae6[_0x5b67f2(0x160,'\x65\x4a\x6f\x58')]())return _0x52f705[_0x5b67f2(0x265,'\x31\x29\x24\x59')];const _0x10d8ce=_0x52f705[_0x5b67f2(0x29e,'\x48\x35\x6b\x71')](_0x46cae6['\x6d\x6f\x64\x65'],0x25a8+-0x9a*-0x3d+-0x485b);if(_0x52f705['\x6d\x49\x56\x78\x61'](_0x52f705[_0x5b67f2(0x23d,'\x31\x29\x24\x59')](_0x10d8ce,0x18fc+0x5*-0x5e1+-0x2*-0x254),0x2c0*0xd+-0x427*0x5+-0xefd))return _0x52f705['\x42\x53\x57\x4f\x55'];if(_0x52f705['\x43\x4e\x52\x6b\x51'](_0x10d8ce&0x1*-0x4fa+0xdf5+-0x8f4,-0x465+-0xd0a*0x1+0x1*0x116f))return'\x77\x6f\x72\x6c\x64\x5f\x61\x63'+_0x5b67f2(0x1aa,'\x28\x21\x70\x5a');return _0x52f705[_0x5b67f2(0x28b,'\x48\x43\x53\x72')];}}if(!_0x2b85ac[_0x5b67f2(0x29d,'\x61\x73\x55\x79')]()||_0x52f705[_0x5b67f2(0x1f0,'\x71\x53\x38\x53')](_0x2b85ac[_0x5b67f2(0x28c,'\x65\x24\x46\x5b')],_0x58b836))return null;const _0x463b50=_0x40c42d[_0x5b67f2(0x159,'\x72\x26\x51\x74')+'\x73\x68'](_0x52f705[_0x5b67f2(0x26b,'\x6f\x44\x35\x45')]);return _0x463b50[_0x5b67f2(0x14a,'\x48\x43\x53\x72')](_0x3b3bf0['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x5b67f2(0x16f,'\x4d\x64\x4d\x5a')](_0x223f69)),_0x463b50[_0x5b67f2(0x175,'\x64\x62\x6d\x37')](_0x5b67f2(0x2cd,'\x48\x35\x6b\x71'));}function _0xac62(_0x212574){const _0x212fe2=_0x69ccc5,_0x16cd01={};_0x16cd01[_0x212fe2(0x1a0,'\x48\x35\x6b\x71')]=function(_0x3cc66b,_0x2d21cf){return _0x3cc66b>_0x2d21cf;},_0x16cd01[_0x212fe2(0x1c7,'\x2a\x31\x71\x69')]=function(_0xdfc90,_0x49ed50){return _0xdfc90===_0x49ed50;},_0x16cd01[_0x212fe2(0x1da,'\x28\x69\x28\x4c')]=_0x212fe2(0x1ef,'\x29\x6b\x57\x35'),_0x16cd01[_0x212fe2(0x136,'\x62\x41\x71\x79')]=_0x212fe2(0x152,'\x29\x6b\x57\x35');const _0x5751d1=_0x16cd01;try{if(_0x5751d1[_0x212fe2(0x1be,'\x31\x29\x24\x59')](_0x5751d1[_0x212fe2(0x1da,'\x28\x69\x28\x4c')],'\x43\x46\x74\x79\x6a')){const _0x356b2b=_0x35ba75(_0x27b43d&&_0x4b6d39[_0x212fe2(0x2b4,'\x55\x6e\x61\x7a')+_0x212fe2(0x1db,'\x6b\x58\x51\x73')+_0x212fe2(0x251,'\x4d\x64\x4d\x5a')+'\x41\x59\x53']);return _0x294ca3[_0x212fe2(0x1a3,'\x55\x6e\x61\x7a')](_0x356b2b)&&_0x5751d1[_0x212fe2(0x280,'\x4d\x64\x4d\x5a')](_0x356b2b,-0x5ab*-0x1+-0x1*-0xd4f+0x2*-0x97d)?_0x311940[_0x212fe2(0x1f4,'\x6c\x70\x70\x41')](_0x356b2b):_0x5e6887;}else return JSON[_0x212fe2(0x180,'\x50\x58\x63\x63')](_0x3b3bf0[_0x212fe2(0x27c,'\x74\x49\x36\x5e')+_0x212fe2(0x230,'\x51\x6f\x5e\x79')](_0x212574,_0x5751d1[_0x212fe2(0x184,'\x61\x44\x23\x59')]));}catch(_0x3be114){return null;}}function _0xaf57(_0x35ba75,_0x27b43d){_0x35ba75=_0x35ba75-(0x9*0xd2+0x1e2b+-0x2460);const _0x4b6d39=_0x2203();let _0x294ca3=_0x4b6d39[_0x35ba75];if(_0xaf57['\x42\x76\x6d\x74\x71\x53']===undefined){var _0x311940=function(_0x588a59){const _0x4acace='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x385dac='',_0x3cd39c='',_0x430b7f=_0x385dac+_0x311940,_0xde0f01=(''+function(){return 0xc*-0x282+-0x2*-0x37e+0x66*0x3a;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x63*0x24+0x3*-0x5a7+0x30a);for(let _0x501a13=0x3*-0x213+0x2538+0x45*-0x73,_0x358d1e,_0x44b44d,_0x5f550f=-0x1*0xa58+-0xb55*-0x2+-0xc52*0x1;_0x44b44d=_0x588a59['\x63\x68\x61\x72\x41\x74'](_0x5f550f++);~_0x44b44d&&(_0x358d1e=_0x501a13%(-0x766+-0x6*-0x2f5+-0xa54)?_0x358d1e*(-0x1c71+-0x2098+0x21d*0x1d)+_0x44b44d:_0x44b44d,_0x501a13++%(-0xfef*-0x2+-0x6a0+0x1*-0x193a))?_0x385dac+=_0xde0f01||_0x430b7f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5f550f+(0x265f+0x1542+-0x3b97))-(0x14*0x10f+-0x242e*-0x1+-0x3950)!==-0x74a+-0x31c+-0xf2*-0xb?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x6*-0x615+0x74a+-0x2ac9&_0x358d1e>>(-(0x40b+-0x1f69+0x1b60)*_0x501a13&-0x2*0x30a+0x1*0x5ce+0x4c)):_0x501a13:0x8da+0x1807*0x1+0x1*-0x20e1){_0x44b44d=_0x4acace['\x69\x6e\x64\x65\x78\x4f\x66'](_0x44b44d);}for(let _0x5f881=0x24dc+-0x21fd+-0x2df,_0x146b13=_0x385dac['\x6c\x65\x6e\x67\x74\x68'];_0x5f881<_0x146b13;_0x5f881++){_0x3cd39c+='\x25'+('\x30\x30'+_0x385dac['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5f881)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xa30+-0x2355+0x2d95))['\x73\x6c\x69\x63\x65'](-(0x8f5*0x1+-0x20aa+0x17b7));}return decodeURIComponent(_0x3cd39c);};const _0x3f0227=function(_0x3d8984,_0x2303a1){let _0x5dfd6e=[],_0x58bc74=0x2462*-0x1+-0x825+0x2c87,_0x227a30,_0x516049='';_0x3d8984=_0x311940(_0x3d8984);let _0x3e0012;for(_0x3e0012=0x82*-0x8+0x1ded*-0x1+0x7*0x4db;_0x3e0012<0x1ac+-0x1*0x20ef+-0x2043*-0x1;_0x3e0012++){_0x5dfd6e[_0x3e0012]=_0x3e0012;}for(_0x3e0012=-0x9e4+-0x1aee+-0x2*-0x1269;_0x3e0012<0x791*-0x4+-0x155e+0x2*0x1a51;_0x3e0012++){_0x58bc74=(_0x58bc74+_0x5dfd6e[_0x3e0012]+_0x2303a1['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3e0012%_0x2303a1['\x6c\x65\x6e\x67\x74\x68']))%(0x16f3*0x1+-0x2124+0x23d*0x5),_0x227a30=_0x5dfd6e[_0x3e0012],_0x5dfd6e[_0x3e0012]=_0x5dfd6e[_0x58bc74],_0x5dfd6e[_0x58bc74]=_0x227a30;}_0x3e0012=0x420+-0x59e+0xbf*0x2,_0x58bc74=-0x18e6+0x27*0x84+0x4ca*0x1;for(let _0x15472f=0x153c+-0xce1+-0x85b;_0x15472f<_0x3d8984['\x6c\x65\x6e\x67\x74\x68'];_0x15472f++){_0x3e0012=(_0x3e0012+(0x1*-0x1fd1+0x259*0x1+0x1d79))%(-0xbfb*-0x2+-0x1a92+0x39c),_0x58bc74=(_0x58bc74+_0x5dfd6e[_0x3e0012])%(0x5a2+-0x6*-0x278+0x2*-0x9b9),_0x227a30=_0x5dfd6e[_0x3e0012],_0x5dfd6e[_0x3e0012]=_0x5dfd6e[_0x58bc74],_0x5dfd6e[_0x58bc74]=_0x227a30,_0x516049+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x3d8984['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x15472f)^_0x5dfd6e[(_0x5dfd6e[_0x3e0012]+_0x5dfd6e[_0x58bc74])%(-0x1864+-0x26d7+0x403b)]);}return _0x516049;};_0xaf57['\x77\x63\x63\x66\x4d\x63']=_0x3f0227,_0xaf57['\x53\x4b\x70\x6d\x4c\x78']={},_0xaf57['\x42\x76\x6d\x74\x71\x53']=!![];}const _0x5e6887=_0x4b6d39[0x1*-0x6cf+0x1*0x1f34+0x5*-0x4e1],_0x58bffa=_0x35ba75+_0x5e6887,_0x432fdf=_0xaf57['\x53\x4b\x70\x6d\x4c\x78'][_0x58bffa];if(!_0x432fdf){if(_0xaf57['\x42\x71\x6b\x46\x68\x46']===undefined){const _0x4c4a0c=function(_0x39bc9a){this['\x51\x6c\x74\x56\x57\x6c']=_0x39bc9a,this['\x50\x65\x42\x76\x48\x4c']=[-0x25*0x106+0x9b0+0x1c2f,-0xbb+-0x71*0x49+-0x1bc*-0x13,0x68*0x7+-0x1*0xe5d+0x3d7*0x3],this['\x53\x57\x69\x46\x43\x4b']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x71\x7a\x4d\x56\x69\x4b']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x44\x6e\x58\x74\x76\x45']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x4c4a0c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x59\x6a\x65\x73\x46\x67']=function(){const _0x445bb=new RegExp(this['\x71\x7a\x4d\x56\x69\x4b']+this['\x44\x6e\x58\x74\x76\x45']),_0x35407d=_0x445bb['\x74\x65\x73\x74'](this['\x53\x57\x69\x46\x43\x4b']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x50\x65\x42\x76\x48\x4c'][0x1647*-0x1+0x31*-0xf+0x1927]:--this['\x50\x65\x42\x76\x48\x4c'][0x1301*0x1+-0x2469+0x1168];return this['\x50\x4b\x6e\x58\x61\x49'](_0x35407d);},_0x4c4a0c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x4b\x6e\x58\x61\x49']=function(_0x46e11b){if(!Boolean(~_0x46e11b))return _0x46e11b;return this['\x41\x53\x7a\x6f\x74\x56'](this['\x51\x6c\x74\x56\x57\x6c']);},_0x4c4a0c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x41\x53\x7a\x6f\x74\x56']=function(_0x4601aa){for(let _0x48e8dc=0xba9*0x1+-0x1575+0x2*0x4e6,_0x1bc7b2=this['\x50\x65\x42\x76\x48\x4c']['\x6c\x65\x6e\x67\x74\x68'];_0x48e8dc<_0x1bc7b2;_0x48e8dc++){this['\x50\x65\x42\x76\x48\x4c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x1bc7b2=this['\x50\x65\x42\x76\x48\x4c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x4601aa(this['\x50\x65\x42\x76\x48\x4c'][0x10f*-0xf+-0x3a6*-0x3+0x4ef*0x1]);},(''+function(){return-0x12*-0x19c+0x8c3*0x3+-0x3741;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x1e04+0x1755+0x6b0)&&new _0x4c4a0c(_0xaf57)['\x59\x6a\x65\x73\x46\x67'](),_0xaf57['\x42\x71\x6b\x46\x68\x46']=!![];}_0x294ca3=_0xaf57['\x77\x63\x63\x66\x4d\x63'](_0x294ca3,_0x27b43d),_0xaf57['\x53\x4b\x70\x6d\x4c\x78'][_0x58bffa]=_0x294ca3;}else _0x294ca3=_0x432fdf;return _0x294ca3;}function _0x7feae9(_0x16e35e){const _0x3a3969=_0x69ccc5,_0x2682f8={};_0x2682f8[_0x3a3969(0x183,'\x48\x43\x53\x72')]=function(_0x5c7314,_0x755ac5){return _0x5c7314===_0x755ac5;},_0x2682f8[_0x3a3969(0x2bc,'\x72\x26\x51\x74')]=_0x3a3969(0x1e0,'\x72\x26\x51\x74'),_0x2682f8['\x54\x43\x77\x4c\x73']=_0x3a3969(0x1d0,'\x65\x24\x46\x5b'),_0x2682f8[_0x3a3969(0x1fb,'\x6c\x71\x56\x37')]=function(_0x2abde9,_0x34c933){return _0x2abde9&_0x34c933;},_0x2682f8[_0x3a3969(0x2a3,'\x65\x24\x46\x5b')]=function(_0x51a5b6,_0x46f57f){return _0x51a5b6===_0x46f57f;},_0x2682f8[_0x3a3969(0x189,'\x6e\x36\x67\x43')]=function(_0x13a5df,_0x8b05d6){return _0x13a5df&_0x8b05d6;},_0x2682f8[_0x3a3969(0x203,'\x77\x7a\x25\x79')]='\x67\x72\x6f\x75\x70\x5f\x61\x63'+_0x3a3969(0x23c,'\x34\x39\x6a\x43');const _0x150ecd=_0x2682f8;let _0x1d2b01;try{_0x150ecd[_0x3a3969(0x22e,'\x44\x55\x44\x73')](_0x3a3969(0x1b4,'\x6b\x58\x51\x73'),_0x150ecd['\x6b\x64\x43\x67\x43'])?_0x1d2b01=_0x3b3bf0[_0x3a3969(0x222,'\x65\x4a\x6f\x58')](_0x16e35e):_0x348209=_0x25beed[_0x3a3969(0x2b3,'\x31\x29\x24\x59')](_0x557822);}catch(_0x91df17){return _0x150ecd[_0x3a3969(0x12f,'\x44\x55\x44\x73')];}if(!_0x1d2b01[_0x3a3969(0x139,'\x6c\x4b\x2a\x54')]())return'\x6e\x6f\x74\x5f\x66\x69\x6c\x65';const _0x361d92=_0x150ecd[_0x3a3969(0x25e,'\x5d\x23\x56\x4c')](_0x1d2b01[_0x3a3969(0x274,'\x48\x35\x6b\x71')],-0x20c1+-0x243+0x2503);if(_0x150ecd[_0x3a3969(0x2aa,'\x5d\x23\x56\x4c')](_0x150ecd[_0x3a3969(0x147,'\x28\x39\x24\x48')](_0x361d92,-0x2f*0x8d+0x136a+-0x35c*-0x2),-0x44*0x82+0x12ca+-0x41*-0x3e))return _0x3a3969(0x23a,'\x6c\x70\x70\x41')+'\x6c\x79';if((_0x361d92&-0x5*-0x89+0x96b*-0x4+-0x1183*-0x2)!==-0xe6d+-0x1b41*0x1+0x2*0x14d7)return _0x3a3969(0x25f,'\x79\x37\x67\x25')+_0x3a3969(0x263,'\x28\x6c\x57\x74');return _0x150ecd[_0x3a3969(0x18f,'\x65\x24\x46\x5b')];}function _0x4f1372(){const _0xe83b41=_0x69ccc5;return _0x25ec80[_0xe83b41(0x1c2,'\x65\x24\x46\x5b')](__dirname,'\x2e\x2e','\x2e\x2e');}function _0x2f0c3b(_0x398c1,_0x9721fa){const _0x2cd852=_0x69ccc5,_0x316216={};_0x316216[_0x2cd852(0x267,'\x5a\x33\x30\x6f')]=function(_0x1c6bf8,_0x3477d6){return _0x1c6bf8 instanceof _0x3477d6;},_0x316216['\x7a\x58\x74\x5a\x45']=function(_0x2ff490,_0x889278){return _0x2ff490===_0x889278;},_0x316216[_0x2cd852(0x2c7,'\x71\x53\x38\x53')]='\x75\x74\x66\x38',_0x316216[_0x2cd852(0x20b,'\x28\x39\x24\x48')]=function(_0x3680f6,_0x43494b){return _0x3680f6!==_0x43494b;},_0x316216[_0x2cd852(0x1d2,'\x4e\x42\x71\x59')]='\x42\x6d\x57\x71\x4b',_0x316216[_0x2cd852(0x2ca,'\x62\x41\x71\x79')]=_0x2cd852(0x15e,'\x74\x49\x36\x5e'),_0x316216[_0x2cd852(0x1e5,'\x4d\x64\x4d\x5a')]=function(_0x459d1b,_0x31fa9c){return _0x459d1b+_0x31fa9c;},_0x316216[_0x2cd852(0x192,'\x56\x62\x48\x40')]=function(_0x3c6ba9,_0x390f7a){return _0x3c6ba9===_0x390f7a;},_0x316216[_0x2cd852(0x1ad,'\x72\x26\x51\x74')]=_0x2cd852(0x185,'\x78\x5e\x33\x51');const _0x189f9c=_0x316216;try{if(_0x189f9c[_0x2cd852(0x187,'\x77\x7a\x25\x79')](_0x189f9c[_0x2cd852(0x13a,'\x6c\x71\x56\x37')],_0x189f9c[_0x2cd852(0x1a5,'\x6e\x36\x67\x43')])){const _0x2217db=_0x3b3bf0[_0x2cd852(0x272,'\x4e\x42\x71\x59')+_0x2cd852(0x1c3,'\x24\x36\x36\x68')](_0x398c1),_0x5ac8f5=_0x3b3bf0[_0x2cd852(0x188,'\x29\x6b\x57\x35')+_0x2cd852(0x1df,'\x62\x41\x71\x79')](_0x9721fa);return _0x5ac8f5[_0x2cd852(0x209,'\x62\x41\x71\x79')+'\x74\x68'](_0x189f9c[_0x2cd852(0x176,'\x56\x62\x48\x40')](_0x2217db,_0x25ec80[_0x2cd852(0x15b,'\x51\x45\x2a\x4d')]))?_0x5ac8f5:null;}else{if(xOfJSp[_0x2cd852(0x172,'\x61\x44\x23\x59')](_0x362a5a,_0x2deccc))return _0x49f1ca[_0x2cd852(0x2cb,'\x28\x69\x28\x4c')+_0x2cd852(0x277,'\x28\x39\x24\x48')]();if(xOfJSp[_0x2cd852(0x200,'\x6c\x71\x56\x37')](typeof _0x45faaa,_0x2cd852(0x239,'\x55\x6e\x61\x7a'))&&_0x2310cc)return _0x4b5958;return new _0x424b3e()[_0x2cd852(0x2a0,'\x51\x45\x2a\x4d')+'\x69\x6e\x67']();}}catch(_0x1553a4){if(_0x189f9c[_0x2cd852(0x192,'\x56\x62\x48\x40')](_0x2cd852(0x170,'\x48\x43\x53\x72'),_0x189f9c[_0x2cd852(0x27e,'\x6c\x71\x56\x37')]))return null;else try{return _0x4d0371[_0x2cd852(0x219,'\x6c\x74\x5e\x25')](_0x23ce45[_0x2cd852(0x1c9,'\x6f\x44\x35\x45')+'\x53\x79\x6e\x63'](_0x39f644,xOfJSp[_0x2cd852(0x18d,'\x28\x69\x28\x4c')]));}catch(_0x58efe5){return null;}}}function _0x684905(_0x1710de){const _0x5383d3=_0x69ccc5,_0x5da2d9={'\x6a\x68\x6a\x58\x76':function(_0x2d3d3b,_0x5767e8){return _0x2d3d3b(_0x5767e8);},'\x59\x44\x50\x71\x74':function(_0x1b3216){return _0x1b3216();},'\x61\x4a\x45\x66\x64':function(_0x191035,_0xd7afb9,_0x3d6cc7){return _0x191035(_0xd7afb9,_0x3d6cc7);},'\x79\x6a\x76\x5a\x57':_0x5383d3(0x260,'\x71\x53\x38\x53')+'\x6a\x73\x6f\x6e','\x65\x4d\x59\x6e\x55':function(_0x156c07,_0x86d6f8){return _0x156c07===_0x86d6f8;},'\x44\x53\x75\x6a\x6e':_0x5383d3(0x132,'\x31\x29\x24\x59'),'\x59\x72\x61\x57\x48':function(_0xd8ff72,_0x522a9a,_0x5209d9){return _0xd8ff72(_0x522a9a,_0x5209d9);},'\x66\x75\x4b\x78\x42':_0x5383d3(0x204,'\x62\x41\x71\x79')+_0x5383d3(0x1a1,'\x28\x69\x28\x4c')+'\x6e','\x56\x66\x64\x41\x56':_0x5383d3(0x142,'\x51\x45\x2a\x4d')+_0x5383d3(0x2bd,'\x78\x5e\x33\x51'),'\x63\x55\x50\x48\x4a':'\x79\x61\x72\x6e\x2e\x6c\x6f\x63'+'\x6b','\x56\x47\x49\x57\x4e':_0x5383d3(0x1b2,'\x6c\x4b\x2a\x54')+'\x62','\x45\x61\x69\x46\x5a':function(_0x47a637,_0x3317c1){return _0x47a637===_0x3317c1;},'\x50\x61\x73\x48\x73':_0x5383d3(0x171,'\x72\x25\x62\x71'),'\x70\x6f\x4a\x72\x55':function(_0x196dc8,_0x351249){return _0x196dc8(_0x351249);}},_0x1a2452=_0x1710de||_0x5da2d9[_0x5383d3(0x1ed,'\x2a\x31\x71\x69')](_0x4f1372),_0x38e6c3=_0x5da2d9[_0x5383d3(0x1e9,'\x48\x35\x6b\x71')](_0x2f0c3b,_0x1a2452,_0x25ec80[_0x5383d3(0x15f,'\x29\x6b\x57\x35')](_0x1a2452,_0x5da2d9[_0x5383d3(0x25b,'\x65\x4a\x6f\x58')])),_0x5b9c2a=_0x38e6c3&&_0x5da2d9[_0x5383d3(0x224,'\x6a\x59\x47\x43')](_0xac62,_0x38e6c3)||{},_0x27ce9d=_0x5b9c2a&&_0x5b9c2a[_0x5383d3(0x1f6,'\x4b\x7a\x66\x51')]&&_0x5da2d9[_0x5383d3(0x164,'\x24\x36\x36\x68')](typeof _0x5b9c2a[_0x5383d3(0x22d,'\x29\x6b\x57\x35')]['\x65\x76\x6f\x6c\x76\x65\x72'],_0x5da2d9[_0x5383d3(0x2c5,'\x51\x6f\x5e\x79')])?_0x5b9c2a[_0x5383d3(0x281,'\x77\x7a\x25\x79')]['\x65\x76\x6f\x6c\x76\x65\x72']:null,_0x5724c8=_0x27ce9d?_0x5da2d9['\x59\x72\x61\x57\x48'](_0x2f0c3b,_0x1a2452,_0x25ec80['\x72\x65\x73\x6f\x6c\x76\x65'](_0x1a2452,_0x27ce9d)):null,_0x3bb1fd=[_0x5da2d9[_0x5383d3(0x137,'\x62\x41\x71\x79')],_0x5da2d9[_0x5383d3(0x21b,'\x5a\x33\x30\x6f')],_0x5da2d9['\x63\x55\x50\x48\x4a'],_0x5da2d9[_0x5383d3(0x2b2,'\x28\x6c\x57\x74')]],_0x49f3af={};for(const _0x337950 of _0x3bb1fd){if(_0x5da2d9[_0x5383d3(0x1a8,'\x56\x62\x48\x40')](_0x5da2d9['\x50\x61\x73\x48\x73'],_0x5da2d9['\x50\x61\x73\x48\x73'])){const _0x96e215=_0x2f0c3b(_0x1a2452,_0x25ec80[_0x5383d3(0x13c,'\x6c\x70\x70\x41')](_0x1a2452,_0x337950)),_0x2aab49=_0x96e215?_0x5da2d9[_0x5383d3(0x1ce,'\x71\x53\x38\x53')](_0x5a707b,_0x96e215):null;if(_0x2aab49)_0x49f3af[_0x337950]=_0x2aab49;}else{const _0x44f061=_0x55c591(_0x57d0d5,_0x344ec3[_0x5383d3(0x255,'\x2a\x31\x71\x69')](_0x3fe409,_0x342844)),_0x194b5b=_0x44f061?_0x5da2d9[_0x5383d3(0x2a7,'\x52\x78\x64\x4c')](_0x447d65,_0x44f061):null;if(_0x194b5b)_0x446306[_0x17815d]=_0x194b5b;}}return{'\x70\x61\x63\x6b\x61\x67\x65\x5f\x6a\x73\x6f\x6e\x5f\x68\x61\x73\x68':_0x38e6c3?_0x5a707b(_0x38e6c3):null,'\x63\x6c\x69\x5f\x65\x6e\x74\x72\x79\x5f\x68\x61\x73\x68':_0x5724c8?_0x5da2d9[_0x5383d3(0x2d2,'\x74\x49\x36\x5e')](_0x5a707b,_0x5724c8):null,'\x6c\x6f\x63\x6b\x66\x69\x6c\x65\x5f\x68\x61\x73\x68\x65\x73':_0x49f3af};}function _0x52b870(_0x430b24){const _0x222bcf=_0x69ccc5,_0x3cd08a={'\x46\x56\x77\x7a\x64':function(_0x20d1ad,_0x42826e){return _0x20d1ad(_0x42826e);}},_0x4b1868=_0x430b24||process.env,_0x185497=_0x4b1868['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x222bcf(0x223,'\x6e\x36\x67\x43')+_0x222bcf(0x284,'\x5a\x33\x30\x6f')]||_0x25ec80[_0x222bcf(0x134,'\x31\x29\x24\x59')](_0x4f050a[_0x222bcf(0x182,'\x31\x29\x24\x59')](),'\x2e\x65\x76\x6f\x6c\x76\x65\x72');return _0x3cd08a['\x46\x56\x77\x7a\x64'](_0x7feae9,_0x25ec80[_0x222bcf(0x195,'\x72\x25\x62\x71')](_0x185497,_0x222bcf(0x257,'\x6c\x4b\x2a\x54')+_0x222bcf(0x1cb,'\x61\x44\x23\x59')));}function _0x4be815(_0x3ef4a4){const _0x210b38=_0x69ccc5,_0x5b94ba={'\x6d\x73\x78\x4a\x75':function(_0x1ad8ec,_0x25e750){return _0x1ad8ec===_0x25e750;},'\x4e\x77\x67\x75\x45':'\x6f\x62\x6a\x65\x63\x74','\x6a\x62\x49\x6a\x61':function(_0x1c3991,_0x5b26c0){return _0x1c3991(_0x5b26c0);},'\x48\x6a\x4e\x50\x47':function(_0x2a2b7e,_0x5db580){return _0x2a2b7e(_0x5db580);},'\x6f\x57\x47\x41\x6a':function(_0x619401,_0x2b0e5c){return _0x619401(_0x2b0e5c);}},_0x306d98=_0x3ef4a4&&_0x5b94ba[_0x210b38(0x201,'\x6b\x58\x51\x73')](typeof _0x3ef4a4,_0x5b94ba[_0x210b38(0x146,'\x51\x6f\x5e\x79')])?_0x3ef4a4:{},_0x3bcb67=_0x306d98[_0x210b38(0x20d,'\x72\x26\x51\x74')+'\x72\x69\x63\x73']&&typeof _0x306d98[_0x210b38(0x1fa,'\x5a\x33\x30\x6f')+_0x210b38(0x13f,'\x38\x66\x39\x32')]===_0x5b94ba['\x4e\x77\x67\x75\x45']?_0x306d98[_0x210b38(0x2c4,'\x48\x35\x6b\x71')+_0x210b38(0x253,'\x4d\x64\x4d\x5a')]:null;if(!_0x3bcb67)return null;return{'\x70\x65\x6e\x64\x69\x6e\x67':Number[_0x210b38(0x254,'\x30\x6b\x51\x5a')](_0x5b94ba[_0x210b38(0x135,'\x48\x43\x53\x72')](Number,_0x3bcb67[_0x210b38(0x279,'\x51\x6f\x5e\x79')]))?_0x5b94ba[_0x210b38(0x299,'\x72\x26\x51\x74')](Number,_0x3bcb67[_0x210b38(0x1d5,'\x4b\x7a\x66\x51')]):null,'\x63\x6c\x61\x69\x6d\x65\x64':Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x5b94ba[_0x210b38(0x149,'\x65\x4a\x6f\x58')](Number,_0x3bcb67[_0x210b38(0x2b0,'\x6f\x44\x35\x45')]))?_0x5b94ba[_0x210b38(0x140,'\x6c\x74\x5e\x25')](Number,_0x3bcb67[_0x210b38(0x206,'\x44\x55\x44\x73')]):null,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64':Number[_0x210b38(0x24c,'\x77\x7a\x25\x79')](_0x5b94ba[_0x210b38(0x2d1,'\x74\x49\x36\x5e')](Number,_0x3bcb67[_0x210b38(0x226,'\x78\x5e\x33\x51')+'\x64']))?_0x5b94ba[_0x210b38(0x17e,'\x30\x6b\x51\x5a')](Number,_0x3bcb67[_0x210b38(0x199,'\x54\x7a\x4e\x55')+'\x64']):null,'\x66\x61\x69\x6c\x65\x64':Number[_0x210b38(0x169,'\x6e\x36\x67\x43')](_0x5b94ba[_0x210b38(0x20a,'\x4d\x64\x4d\x5a')](Number,_0x3bcb67['\x66\x61\x69\x6c\x65\x64']))?_0x5b94ba[_0x210b38(0x299,'\x72\x26\x51\x74')](Number,_0x3bcb67[_0x210b38(0x1bf,'\x51\x45\x2a\x4d')]):null,'\x61\x76\x67\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\x5f\x6d\x73':Number[_0x210b38(0x2d5,'\x44\x55\x44\x73')](Number(_0x3bcb67[_0x210b38(0x262,'\x52\x78\x64\x4c')+'\x6c\x65\x74\x69\x6f\x6e\x5f\x6d'+'\x73']))?_0x5b94ba[_0x210b38(0x18b,'\x28\x21\x70\x5a')](Number,_0x3bcb67[_0x210b38(0x178,'\x38\x66\x39\x32')+_0x210b38(0x2d0,'\x65\x24\x46\x5b')+'\x73']):null};}function _0x599689(_0x5ee207){const _0x7b5384=_0x69ccc5,_0x49b359={'\x70\x68\x43\x6f\x48':function(_0x3cf0d7,_0xdddb08){return _0x3cf0d7(_0xdddb08);},'\x7a\x53\x4d\x4f\x6b':function(_0x4df3de,_0x5c04d5){return _0x4df3de>_0x5c04d5;}},_0x4606d3=_0x49b359[_0x7b5384(0x2b9,'\x51\x45\x2a\x4d')](Number,_0x5ee207&&_0x5ee207[_0x7b5384(0x1eb,'\x78\x5e\x33\x51')+_0x7b5384(0x1d3,'\x65\x4a\x6f\x58')+_0x7b5384(0x18c,'\x62\x41\x71\x79')+_0x7b5384(0x21e,'\x64\x62\x6d\x37')]);return Number[_0x7b5384(0x275,'\x6b\x58\x51\x73')](_0x4606d3)&&_0x49b359[_0x7b5384(0x296,'\x28\x69\x28\x4c')](_0x4606d3,-0x269c+0xcc3+0x19d9)?Math[_0x7b5384(0x198,'\x29\x6b\x57\x35')](_0x4606d3):_0x10dde5;}function _0x2f207a(_0x1e9dd1,_0x551f89,_0x367945){const _0x5884e3=_0x69ccc5,_0x51503e={};_0x51503e[_0x5884e3(0x26f,'\x28\x21\x70\x5a')]=function(_0x342982,_0x55237e){return _0x342982||_0x55237e;},_0x51503e['\x76\x44\x69\x43\x76']=_0x5884e3(0x287,'\x28\x69\x28\x4c')+'\x65\x72';const _0x381bd5=_0x51503e;return{'\x66\x69\x65\x6c\x64':_0x1e9dd1,'\x72\x65\x61\x73\x6f\x6e':_0x551f89,'\x65\x78\x70\x65\x63\x74\x65\x64\x5f\x73\x6f\x75\x72\x63\x65':_0x381bd5['\x73\x75\x48\x4f\x4d'](_0x367945,_0x381bd5[_0x5884e3(0x1d7,'\x48\x43\x53\x72')])};}function _0x5b27c1(_0xac3f6a){const _0x169083=_0x69ccc5,_0x100099={'\x44\x50\x4b\x78\x71':function(_0x113a71,_0x49477b){return _0x113a71||_0x49477b;},'\x74\x42\x47\x74\x4b':function(_0x151af3){return _0x151af3();},'\x52\x4c\x57\x44\x72':function(_0x1784c5,_0x213781){return _0x1784c5!=_0x213781;},'\x4f\x44\x7a\x6c\x49':_0x169083(0x240,'\x74\x49\x36\x5e'),'\x71\x69\x55\x66\x54':_0x169083(0x12e,'\x28\x39\x24\x48'),'\x62\x50\x6e\x75\x62':function(_0x42b379,_0xba2f2f,_0x1250b5){return _0x42b379(_0xba2f2f,_0x1250b5);},'\x6a\x72\x6e\x76\x61':function(_0x1bdd22,_0x8e4f78,_0x22e805,_0x15e60c){return _0x1bdd22(_0x8e4f78,_0x22e805,_0x15e60c);},'\x5a\x76\x78\x77\x49':_0x169083(0x1ba,'\x4b\x7a\x66\x51')+'\x73\x65\x75\x64\x6f\x6e\x79\x6d','\x4e\x41\x68\x7a\x6d':'\x61\x6e\x74\x69\x5f\x61\x62\x75'+_0x169083(0x19a,'\x55\x6e\x61\x7a')+_0x169083(0x166,'\x6a\x59\x47\x43'),'\x66\x59\x61\x70\x76':_0x169083(0x256,'\x51\x45\x2a\x4d')+_0x169083(0x1ab,'\x54\x7a\x4e\x55')+_0x169083(0x216,'\x65\x24\x46\x5b'),'\x42\x6f\x6b\x5a\x66':'\x77\x6f\x72\x6b\x73\x70\x61\x63'+'\x65\x5f\x70\x73\x65\x75\x64\x6f'+_0x169083(0x295,'\x48\x43\x53\x72'),'\x49\x69\x62\x52\x65':_0x169083(0x25d,'\x74\x49\x36\x5e')+_0x169083(0x153,'\x64\x62\x6d\x37')+_0x169083(0x17d,'\x72\x25\x62\x71'),'\x77\x68\x71\x61\x57':_0x169083(0x151,'\x79\x37\x67\x25'),'\x76\x6f\x70\x59\x63':function(_0x50bb56,_0x3a3bd0,_0x44b701,_0x4c345f){return _0x50bb56(_0x3a3bd0,_0x44b701,_0x4c345f);},'\x4a\x5a\x55\x51\x48':'\x61\x73\x6e','\x62\x77\x71\x49\x51':_0x169083(0x24d,'\x4d\x64\x4d\x5a')+_0x169083(0x1fe,'\x72\x25\x62\x71')+_0x169083(0x244,'\x2a\x31\x71\x69')+_0x169083(0x2b6,'\x6c\x71\x56\x37'),'\x67\x64\x64\x55\x6b':_0x169083(0x2af,'\x4d\x64\x4d\x5a')+_0x169083(0x179,'\x78\x5e\x33\x51'),'\x74\x76\x73\x73\x50':_0x169083(0x16b,'\x30\x6b\x51\x5a')+_0x169083(0x227,'\x6c\x4b\x2a\x54')+'\x72\x65\x71\x75\x69\x72\x65\x64','\x64\x79\x4e\x65\x69':_0x169083(0x1d9,'\x28\x6c\x57\x74')+_0x169083(0x19b,'\x28\x39\x24\x48'),'\x73\x54\x63\x41\x48':function(_0xc31024,_0x33196c,_0x3828de,_0x5605c3){return _0xc31024(_0x33196c,_0x3828de,_0x5605c3);},'\x79\x6a\x44\x76\x62':_0x169083(0x1b3,'\x5a\x33\x30\x6f')+_0x169083(0x144,'\x65\x24\x46\x5b')+_0x169083(0x20c,'\x4d\x64\x4d\x5a'),'\x59\x62\x44\x56\x62':'\x70\x61\x79\x6d\x65\x6e\x74\x73'+_0x169083(0x27a,'\x7a\x5d\x4d\x44')+'\x5f\x72\x65\x71\x75\x69\x72\x65'+'\x64','\x73\x45\x6e\x70\x7a':_0x169083(0x186,'\x65\x4a\x6f\x58')+_0x169083(0x28a,'\x48\x43\x53\x72'),'\x68\x6e\x68\x6e\x57':_0x169083(0x202,'\x6a\x59\x47\x43')+_0x169083(0x1b8,'\x65\x24\x46\x5b'),'\x72\x52\x78\x59\x66':_0x169083(0x221,'\x6f\x44\x35\x45'),'\x68\x67\x57\x49\x50':_0x169083(0x14e,'\x65\x24\x46\x5b')+'\x72\x74\x62\x65\x61\x74','\x4a\x66\x6c\x67\x55':_0x169083(0x2bf,'\x48\x43\x53\x72')+'\x73\x65','\x52\x4d\x7a\x71\x52':_0x169083(0x297,'\x65\x24\x46\x5b'),'\x52\x57\x52\x54\x44':function(_0x29aaa5,_0x364cc2){return _0x29aaa5(_0x364cc2);},'\x76\x4a\x7a\x4e\x6e':_0x169083(0x26e,'\x28\x21\x70\x5a')+_0x169083(0x18a,'\x28\x69\x28\x4c'),'\x6e\x5a\x47\x48\x48':function(_0x576fd8,_0x4160ea){return _0x576fd8(_0x4160ea);},'\x55\x58\x4d\x57\x71':_0x169083(0x205,'\x5d\x23\x56\x4c')+_0x169083(0x2ad,'\x55\x6e\x61\x7a'),'\x63\x51\x4a\x44\x79':function(_0x45d409,_0x379b2c){return _0x45d409(_0x379b2c);},'\x49\x64\x6b\x6a\x69':_0x169083(0x133,'\x61\x73\x55\x79'),'\x4e\x52\x59\x52\x56':function(_0x459f7b,_0x577d46){return _0x459f7b!=_0x577d46;}},_0xf49b35=_0x100099[_0x169083(0x21a,'\x4d\x64\x4d\x5a')](_0xac3f6a,{}),_0x187967=_0xf49b35[_0x169083(0x141,'\x5a\x33\x30\x6f')]||process.env,_0x4763f9=_0xf49b35[_0x169083(0x271,'\x28\x6c\x57\x74')+_0x169083(0x1d8,'\x64\x62\x6d\x37')]||_0x100099[_0x169083(0x23e,'\x72\x25\x62\x71')](_0x3a825c),_0x142f64=_0x100099[_0x169083(0x191,'\x30\x6b\x51\x5a')](_0xf49b35[_0x169083(0x165,'\x6c\x74\x5e\x25')],null)?_0xf49b35[_0x169083(0x15a,'\x5d\x23\x56\x4c')]:_0x187967['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x169083(0x292,'\x28\x39\x24\x48')+_0x169083(0x1e4,'\x44\x55\x44\x73')],_0x519d2d=_0xf49b35[_0x169083(0x246,'\x29\x6b\x57\x35')]||_0x187967[_0x169083(0x14b,'\x77\x7a\x25\x79')+_0x169083(0x278,'\x55\x6e\x61\x7a')+_0x169083(0x208,'\x4b\x56\x6e\x53')+'\x49\x44']||(_0x142f64?_0x100099[_0x169083(0x25c,'\x4b\x7a\x66\x51')]:null),_0x330571=_0xf49b35[_0x169083(0x210,'\x4d\x64\x4d\x5a')+_0x169083(0x1ac,'\x34\x39\x6a\x43')]||_0x100099[_0x169083(0x196,'\x4e\x42\x71\x59')](_0x4f1372),_0x22676b={};_0x22676b[_0x169083(0x17c,'\x6e\x36\x67\x43')]=_0x142f64,_0x22676b[_0x169083(0x1a6,'\x51\x6f\x5e\x79')]=_0x100099[_0x169083(0x217,'\x51\x6f\x5e\x79')];const _0x4cb71b=_0x14ac81(_0x4763f9&&_0x4763f9[_0x169083(0x1ec,'\x72\x26\x51\x74')+'\x64'],_0x22676b),_0x3ec908={};_0x3ec908['\x73\x61\x6c\x74']=_0x142f64,_0x3ec908[_0x169083(0x2c0,'\x38\x66\x39\x32')]=_0x169083(0x24b,'\x79\x37\x67\x25')+'\x65';const _0xaa034f=_0x100099[_0x169083(0x1e1,'\x6e\x36\x67\x43')](_0x14ac81,process[_0x169083(0x1f3,'\x30\x6b\x51\x5a')](),_0x3ec908),_0x523870=[];if(!_0x4cb71b)_0x523870[_0x169083(0x293,'\x6b\x58\x51\x73')](_0x100099[_0x169083(0x264,'\x6c\x74\x5e\x25')](_0x2f207a,_0x100099[_0x169083(0x1ff,'\x6c\x74\x5e\x25')],_0x100099[_0x169083(0x1d1,'\x38\x66\x39\x32')],_0x100099[_0x169083(0x1dd,'\x31\x29\x24\x59')]));if(!_0xaa034f)_0x523870[_0x169083(0x237,'\x48\x43\x53\x72')](_0x2f207a(_0x100099[_0x169083(0x2a1,'\x72\x25\x62\x71')],'\x61\x6e\x74\x69\x5f\x61\x62\x75'+_0x169083(0x270,'\x52\x78\x64\x4c')+_0x169083(0x261,'\x7a\x5d\x4d\x44'),_0x100099[_0x169083(0x1c5,'\x6e\x36\x67\x43')]));return _0x523870[_0x169083(0x28e,'\x29\x6b\x57\x35')](_0x100099[_0x169083(0x163,'\x6a\x59\x47\x43')](_0x2f207a,_0x169083(0x20e,'\x29\x6b\x57\x35')+'\x70',_0x100099['\x49\x69\x62\x52\x65'],_0x100099[_0x169083(0x28d,'\x6c\x70\x70\x41')]),_0x100099[_0x169083(0x2a6,'\x48\x43\x53\x72')](_0x2f207a,_0x100099[_0x169083(0x168,'\x65\x4a\x6f\x58')],_0x100099[_0x169083(0x231,'\x61\x44\x23\x59')],_0x100099['\x77\x68\x71\x61\x57']),_0x100099[_0x169083(0x2ab,'\x38\x66\x39\x32')](_0x2f207a,_0x100099[_0x169083(0x286,'\x2a\x31\x71\x69')],_0x100099[_0x169083(0x276,'\x52\x78\x64\x4c')],_0x169083(0x213,'\x4b\x56\x6e\x53')),_0x100099[_0x169083(0x15d,'\x4d\x64\x4d\x5a')](_0x2f207a,_0x100099[_0x169083(0x245,'\x28\x6c\x57\x74')],_0x100099[_0x169083(0x247,'\x51\x6f\x5e\x79')],_0x100099[_0x169083(0x1bb,'\x52\x78\x64\x4c')]),_0x100099[_0x169083(0x212,'\x2a\x31\x71\x69')](_0x2f207a,_0x100099[_0x169083(0x167,'\x55\x6e\x61\x7a')],_0x100099[_0x169083(0x1c1,'\x54\x7a\x4e\x55')],_0x100099[_0x169083(0x232,'\x28\x39\x24\x48')]),_0x2f207a(_0x100099[_0x169083(0x16d,'\x74\x49\x36\x5e')],'\x72\x69\x73\x6b\x5f\x65\x6e\x67'+_0x169083(0x235,'\x28\x21\x70\x5a')+_0x169083(0x193,'\x28\x69\x28\x4c'),_0x100099[_0x169083(0x2ac,'\x5d\x23\x56\x4c')])),{'\x73\x63\x68\x65\x6d\x61\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0xa3407b,'\x65\x76\x65\x6e\x74\x5f\x74\x79\x70\x65':_0x100099[_0x169083(0x26c,'\x72\x25\x62\x71')],'\x70\x75\x72\x70\x6f\x73\x65':_0x100099[_0x169083(0x22a,'\x29\x6b\x57\x35')],'\x70\x69\x69\x5f\x63\x6c\x61\x73\x73':_0x169083(0x16a,'\x6c\x4b\x2a\x54'),'\x63\x6f\x6e\x73\x65\x6e\x74\x5f\x6c\x65\x76\x65\x6c':_0x100099['\x52\x4d\x7a\x71\x52'],'\x72\x65\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x74\x74\x6c\x5f\x64\x61\x79\x73':_0x100099[_0x169083(0x238,'\x28\x21\x70\x5a')](_0x599689,_0x187967),'\x70\x6f\x6c\x69\x63\x79\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x187967[_0x169083(0x145,'\x62\x41\x71\x79')+_0x169083(0x22b,'\x31\x29\x24\x59')+_0x169083(0x19f,'\x28\x6c\x57\x74')+_0x169083(0x2d8,'\x65\x4a\x6f\x58')+'\x4e']||_0x100099[_0x169083(0x2d3,'\x5a\x33\x30\x6f')],'\x72\x65\x64\x61\x63\x74\x69\x6f\x6e\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0xf96dc2,'\x73\x6f\x75\x72\x63\x65':_0xf49b35[_0x169083(0x285,'\x72\x25\x62\x71')]||_0x169083(0x218,'\x6a\x59\x47\x43')+_0x169083(0x158,'\x6c\x74\x5e\x25'),'\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x5f\x61\x74':_0x100099[_0x169083(0x157,'\x5d\x23\x56\x4c')](_0xc6a849,_0xf49b35[_0x169083(0x1c4,'\x61\x73\x55\x79')]),'\x73\x6f\x75\x72\x63\x65\x5f\x63\x6f\x6e\x66\x69\x64\x65\x6e\x63\x65':{'\x6e\x6f\x64\x65\x5f\x69\x64\x65\x6e\x74\x69\x74\x79':_0x100099[_0x169083(0x1f5,'\x34\x39\x6a\x43')],'\x64\x65\x76\x69\x63\x65\x5f\x69\x6e\x74\x65\x67\x72\x69\x74\x79':_0x100099[_0x169083(0x19e,'\x28\x21\x70\x5a')],'\x74\x61\x73\x6b\x5f\x6d\x65\x74\x72\x69\x63\x73':_0x100099[_0x169083(0x298,'\x6c\x4b\x2a\x54')],'\x6e\x65\x74\x77\x6f\x72\x6b\x5f\x73\x6f\x75\x72\x63\x65':_0x169083(0x1c6,'\x28\x21\x70\x5a')+_0x169083(0x19c,'\x79\x37\x67\x25')+_0x169083(0x1bc,'\x62\x41\x71\x79'),'\x61\x63\x63\x6f\x75\x6e\x74\x5f\x73\x65\x63\x75\x72\x69\x74\x79':_0x100099[_0x169083(0x1e8,'\x78\x5e\x33\x51')],'\x70\x61\x79\x6f\x75\x74':_0x100099[_0x169083(0x143,'\x6f\x44\x35\x45')],'\x72\x69\x73\x6b\x5f\x64\x65\x63\x69\x73\x69\x6f\x6e':_0x100099[_0x169083(0x21d,'\x6a\x59\x47\x43')]},'\x69\x64\x65\x6e\x74\x69\x74\x79':{'\x6e\x6f\x64\x65\x5f\x69\x64':_0xf49b35[_0x169083(0x2cc,'\x6f\x44\x35\x45')]||null,'\x61\x63\x63\x6f\x75\x6e\x74\x5f\x69\x64':null,'\x6f\x72\x67\x5f\x69\x64':null},'\x64\x65\x76\x69\x63\x65':{'\x64\x65\x76\x69\x63\x65\x5f\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d':_0x4cb71b,'\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x5f\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d':_0xaa034f,'\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d\x5f\x73\x61\x6c\x74\x5f\x69\x64':_0x519d2d,'\x65\x6e\x76\x5f\x66\x69\x6e\x67\x65\x72\x70\x72\x69\x6e\x74\x5f\x6b\x65\x79':_0x100099[_0x169083(0x289,'\x51\x45\x2a\x4d')](_0x3e109d,_0x4763f9),'\x70\x6c\x61\x74\x66\x6f\x72\x6d':_0x4763f9[_0x169083(0x2c3,'\x61\x73\x55\x79')]||null,'\x61\x72\x63\x68':_0x4763f9[_0x169083(0x150,'\x51\x45\x2a\x4d')]||null,'\x6f\x73\x5f\x72\x65\x6c\x65\x61\x73\x65':_0x4763f9[_0x169083(0x138,'\x30\x6b\x51\x5a')+'\x73\x65']||null,'\x6e\x6f\x64\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4763f9[_0x169083(0x25a,'\x24\x36\x36\x68')+_0x169083(0x1c8,'\x5d\x23\x56\x4c')]||null,'\x65\x76\x6f\x6c\x76\x65\x72\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4763f9[_0x169083(0x242,'\x28\x21\x70\x5a')+_0x169083(0x294,'\x61\x73\x55\x79')]||null,'\x63\x6c\x69\x65\x6e\x74':_0x4763f9[_0x169083(0x234,'\x55\x6e\x61\x7a')]||null,'\x63\x6c\x69\x65\x6e\x74\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4763f9[_0x169083(0x17f,'\x4e\x42\x71\x59')+'\x65\x72\x73\x69\x6f\x6e']||null,'\x6d\x6f\x64\x65\x6c':_0x4763f9[_0x169083(0x13d,'\x5d\x23\x56\x4c')]||null,'\x72\x65\x67\x69\x6f\x6e':_0x4763f9[_0x169083(0x162,'\x54\x7a\x4e\x55')]||null,'\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72':!!_0x4763f9[_0x169083(0x2bb,'\x55\x6e\x61\x7a')+'\x72']},'\x69\x6e\x74\x65\x67\x72\x69\x74\x79':_0x100099[_0x169083(0x250,'\x61\x73\x55\x79')](_0x684905,_0x330571),'\x6c\x6f\x63\x61\x6c\x5f\x73\x65\x63\x75\x72\x69\x74\x79\x5f\x62\x6f\x75\x6e\x64\x61\x72\x79':{'\x70\x72\x6f\x78\x79\x5f\x62\x69\x6e\x64\x5f\x61\x64\x64\x72\x65\x73\x73\x5f\x63\x6c\x61\x73\x73':_0x100099[_0x169083(0x290,'\x51\x45\x2a\x4d')],'\x70\x72\x6f\x78\x79\x5f\x70\x6f\x72\x74\x5f\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64':_0x100099[_0x169083(0x177,'\x62\x41\x71\x79')](_0xf49b35[_0x169083(0x2b5,'\x56\x62\x48\x40')+_0x169083(0x1ca,'\x6b\x58\x51\x73')+_0x169083(0x1e7,'\x65\x4a\x6f\x58')],null)?!!_0xf49b35[_0x169083(0x2ae,'\x4d\x64\x4d\x5a')+_0x169083(0x19d,'\x28\x6c\x57\x74')+_0x169083(0x181,'\x28\x39\x24\x48')]:_0x100099[_0x169083(0x2d7,'\x55\x6e\x61\x7a')](_0x180c05,_0x187967[_0x169083(0x1c0,'\x4e\x42\x71\x59')+_0x169083(0x154,'\x30\x6b\x51\x5a')])||!!_0x187967[_0x169083(0x2a4,'\x56\x62\x48\x40')+_0x169083(0x16e,'\x6e\x36\x67\x43')+'\x54'],'\x73\x65\x74\x74\x69\x6e\x67\x73\x5f\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x5f\x63\x6c\x61\x73\x73':_0x100099['\x6e\x5a\x47\x48\x48'](_0x52b870,_0x187967)},'\x74\x61\x73\x6b\x5f\x74\x69\x6d\x69\x6e\x67':_0x100099['\x6e\x5a\x47\x48\x48'](_0x4be815,_0xf49b35[_0x169083(0x17b,'\x44\x55\x44\x73')]),'\x75\x6e\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x5f\x66\x69\x65\x6c\x64\x73':_0x523870};}function _0x2203(){const _0x323927=['\x64\x38\x6f\x44\x57\x4f\x78\x63\x4f\x67\x69','\x57\x52\x61\x67\x57\x37\x4c\x5a\x61\x61','\x57\x37\x2f\x64\x48\x38\x6b\x69\x6e\x38\x6b\x35\x71\x61','\x45\x38\x6f\x75\x6d\x6d\x6b\x2b\x77\x75\x4e\x63\x56\x58\x79','\x65\x38\x6b\x6f\x57\x4f\x69\x53\x70\x61','\x57\x51\x46\x64\x55\x38\x6b\x76\x79\x67\x2f\x63\x54\x6d\x6b\x64\x43\x57','\x45\x30\x57\x4b\x6e\x63\x42\x63\x55\x43\x6b\x41\x57\x34\x43','\x41\x38\x6f\x56\x57\x34\x50\x53\x6b\x31\x75\x66\x57\x37\x71','\x57\x35\x6c\x63\x4b\x38\x6b\x2b\x57\x52\x71','\x57\x52\x37\x63\x4b\x48\x33\x63\x4d\x48\x75\x57\x42\x43\x6f\x36','\x61\x6d\x6b\x46\x63\x78\x30','\x77\x38\x6f\x2f\x72\x4e\x37\x63\x47\x6d\x6f\x4d\x65\x38\x6f\x58','\x6c\x38\x6b\x44\x57\x34\x76\x44','\x57\x34\x66\x68\x57\x36\x68\x63\x4d\x72\x61','\x73\x43\x6f\x76\x57\x50\x4c\x4c\x74\x71','\x57\x52\x6e\x6a\x75\x67\x64\x64\x48\x71','\x65\x57\x2f\x64\x55\x67\x46\x63\x55\x6d\x6b\x61','\x68\x71\x57\x45\x67\x64\x48\x6b\x64\x53\x6f\x78','\x57\x51\x35\x59\x45\x31\x57','\x57\x34\x64\x63\x48\x6d\x6b\x54','\x46\x43\x6f\x35\x43\x43\x6f\x72\x57\x34\x43\x56\x79\x38\x6b\x45\x6d\x53\x6f\x57\x57\x51\x6d','\x57\x51\x64\x63\x48\x43\x6b\x75\x57\x35\x46\x63\x56\x47','\x6c\x77\x47\x31\x57\x34\x53\x58','\x68\x38\x6b\x65\x62\x49\x53','\x57\x50\x65\x46\x57\x37\x66\x6b\x6b\x38\x6f\x31','\x57\x50\x38\x54\x64\x66\x6e\x58','\x42\x43\x6f\x4c\x57\x36\x72\x77\x63\x32\x47','\x6a\x43\x6b\x4e\x57\x35\x35\x41\x67\x47','\x6d\x43\x6f\x4d\x57\x52\x62\x7a\x57\x50\x65','\x61\x57\x6c\x64\x56\x78\x79','\x69\x53\x6b\x38\x57\x34\x6e\x46\x65\x4d\x2f\x64\x47\x47','\x71\x6d\x6b\x65\x77\x6d\x6b\x58\x57\x50\x34','\x57\x52\x69\x32\x57\x36\x6a\x59\x64\x57','\x57\x4f\x4e\x63\x49\x38\x6b\x7a\x57\x34\x75\x2f\x41\x53\x6f\x54\x68\x71','\x57\x35\x7a\x38\x78\x53\x6f\x6b\x69\x38\x6b\x33','\x68\x6d\x6b\x58\x57\x37\x35\x52\x66\x4a\x6e\x4d\x73\x47','\x57\x52\x52\x64\x4e\x49\x42\x63\x56\x32\x50\x74\x71\x4c\x47','\x6e\x77\x30\x2f\x57\x35\x71\x62','\x57\x52\x6c\x63\x54\x38\x6b\x68\x57\x37\x75\x6f\x75\x38\x6f\x77\x6b\x47','\x57\x50\x4e\x63\x4a\x53\x6b\x75\x57\x34\x69','\x57\x35\x56\x64\x53\x38\x6b\x70\x69\x6d\x6b\x53','\x57\x4f\x47\x45\x6a\x65\x76\x6f','\x57\x34\x69\x46\x57\x37\x54\x4d\x57\x50\x75','\x6c\x4c\x4b\x6e\x57\x4f\x33\x64\x4b\x53\x6b\x4b\x57\x36\x31\x6a','\x71\x38\x6b\x55\x6d\x4a\x74\x64\x4f\x6d\x6b\x70','\x78\x43\x6f\x4c\x72\x67\x4e\x63\x48\x43\x6f\x33','\x57\x50\x6c\x64\x56\x38\x6b\x6b\x6b\x67\x65','\x78\x75\x65\x4d\x57\x50\x6a\x41','\x69\x6d\x6f\x65\x57\x4f\x74\x63\x4b\x66\x42\x63\x4b\x38\x6b\x43\x57\x51\x30','\x57\x52\x46\x64\x55\x38\x6b\x66\x7a\x4e\x74\x63\x56\x38\x6b\x42\x42\x57','\x57\x4f\x43\x45\x57\x52\x74\x64\x4f\x4b\x64\x63\x4c\x53\x6f\x37\x57\x51\x6d\x6d\x6f\x53\x6b\x33\x75\x38\x6f\x63','\x72\x43\x6b\x45\x6d\x74\x52\x64\x48\x30\x56\x64\x52\x38\x6b\x4a','\x57\x50\x70\x63\x4d\x43\x6b\x5a\x57\x35\x47','\x57\x52\x57\x52\x68\x31\x66\x49\x6c\x57\x4c\x54','\x66\x38\x6b\x57\x57\x35\x72\x55\x61\x47','\x57\x50\x2f\x64\x52\x38\x6b\x4f\x42\x75\x6c\x63\x54\x33\x78\x64\x4a\x47','\x57\x35\x34\x39\x57\x37\x68\x64\x4d\x6d\x6b\x53','\x57\x52\x4e\x64\x48\x59\x6d','\x41\x6d\x6b\x38\x41\x6d\x6f\x62\x57\x37\x6c\x64\x54\x6d\x6b\x58','\x57\x36\x2f\x64\x4b\x6d\x6b\x47\x6c\x6d\x6b\x44','\x57\x35\x65\x59\x57\x34\x48\x77\x57\x50\x65','\x57\x50\x78\x64\x4d\x53\x6b\x66\x7a\x77\x43','\x57\x50\x61\x7a\x57\x35\x76\x38\x6e\x38\x6f\x58\x57\x4f\x48\x45','\x73\x43\x6f\x5a\x62\x38\x6b\x4e\x76\x57','\x62\x38\x6b\x6f\x64\x49\x4e\x64\x4c\x43\x6b\x74\x79\x58\x75','\x57\x4f\x33\x63\x47\x43\x6b\x6e\x57\x37\x75\x59','\x70\x43\x6f\x62\x45\x48\x4a\x63\x54\x71','\x64\x38\x6b\x31\x57\x51\x57\x6f\x6d\x57','\x71\x66\x79\x47\x57\x50\x72\x79\x57\x37\x70\x64\x4b\x33\x71','\x6f\x6d\x6f\x71\x72\x58\x5a\x63\x53\x61','\x72\x49\x37\x63\x53\x6d\x6b\x69\x57\x36\x76\x34\x57\x51\x52\x63\x54\x38\x6f\x56\x57\x36\x75\x6d\x57\x50\x4c\x5a\x69\x57','\x77\x67\x75\x56\x62\x4c\x57','\x69\x62\x50\x43\x6b\x43\x6b\x2f\x43\x43\x6b\x49\x57\x35\x66\x6e\x57\x36\x4a\x64\x4e\x73\x53','\x6c\x38\x6b\x45\x57\x34\x50\x61\x65\x71','\x57\x52\x52\x64\x51\x6d\x6b\x51\x68\x4b\x69','\x6d\x53\x6f\x73\x41\x48\x61','\x57\x52\x34\x56\x67\x4b\x57','\x57\x51\x71\x48\x62\x30\x4f','\x57\x4f\x4a\x64\x47\x43\x6b\x67\x46\x67\x43','\x57\x37\x2f\x63\x4d\x68\x46\x63\x4a\x4d\x4c\x6e\x73\x33\x74\x63\x50\x71','\x65\x38\x6b\x68\x61\x63\x52\x64\x4c\x57','\x46\x6d\x6f\x56\x57\x36\x35\x70\x63\x67\x6d\x66\x57\x36\x6d','\x73\x53\x6b\x6c\x71\x38\x6b\x30\x57\x50\x30\x77\x57\x52\x66\x46','\x57\x52\x37\x64\x4a\x64\x6d','\x57\x52\x74\x63\x4c\x62\x52\x63\x54\x57\x79\x58\x42\x53\x6f\x61','\x57\x52\x33\x64\x51\x73\x4a\x63\x50\x76\x39\x64\x73\x30\x34','\x6e\x43\x6b\x36\x57\x51\x79\x79\x6b\x61','\x57\x50\x52\x64\x52\x58\x4a\x63\x4d\x33\x7a\x4d\x7a\x78\x47','\x57\x4f\x52\x64\x52\x68\x74\x64\x4e\x6d\x6f\x6b','\x6e\x38\x6f\x70\x42\x62\x2f\x64\x52\x38\x6f\x32\x73\x72\x71','\x57\x4f\x57\x64\x57\x37\x54\x6d\x6d\x6d\x6f\x31\x57\x4f\x6e\x57','\x75\x6d\x6b\x44\x77\x53\x6b\x55\x57\x50\x69\x74\x57\x52\x66\x4c','\x67\x6d\x6b\x70\x63\x53\x6b\x4d\x57\x52\x6d\x6d\x42\x53\x6b\x79','\x57\x50\x4a\x63\x4a\x53\x6b\x68\x57\x37\x53\x76','\x6c\x66\x47\x44\x57\x50\x4a\x64\x4e\x6d\x6b\x4a\x57\x34\x4b','\x62\x53\x6b\x64\x64\x4e\x46\x63\x4b\x6d\x6f\x65','\x57\x4f\x78\x64\x51\x53\x6b\x4b\x67\x76\x71','\x57\x50\x64\x64\x47\x4b\x56\x64\x48\x53\x6f\x47','\x61\x38\x6b\x68\x57\x50\x47\x38\x6d\x6d\x6f\x78\x61\x48\x61','\x43\x6d\x6f\x53\x57\x36\x50\x43\x68\x76\x4b\x45\x57\x37\x71','\x71\x38\x6f\x6d\x57\x4f\x75','\x6b\x72\x75\x72\x6b\x61\x4f','\x62\x68\x75\x2f\x57\x34\x38\x53','\x57\x52\x38\x6b\x65\x5a\x37\x64\x53\x57','\x77\x43\x6f\x6d\x57\x50\x31\x39\x65\x57','\x66\x6d\x6b\x6e\x57\x52\x47\x37\x6b\x38\x6f\x43\x61\x62\x69','\x57\x35\x4c\x53\x76\x6d\x6b\x6e\x6f\x53\x6b\x31\x57\x34\x75\x78','\x73\x6d\x6b\x4d\x65\x6d\x6f\x41\x57\x36\x33\x63\x4e\x57\x30\x6e','\x41\x53\x6b\x33\x6f\x64\x4a\x64\x49\x71','\x61\x43\x6b\x63\x6c\x49\x46\x64\x4b\x6d\x6b\x62\x43\x49\x4b','\x77\x6d\x6f\x49\x76\x32\x78\x63\x51\x43\x6f\x49\x66\x43\x6f\x42','\x57\x4f\x78\x64\x4d\x43\x6b\x45\x66\x4b\x68\x64\x49\x57','\x46\x65\x57\x55\x64\x4d\x56\x63\x53\x6d\x6b\x6d\x57\x34\x6d','\x57\x52\x74\x64\x55\x43\x6b\x34\x6f\x47','\x65\x76\x68\x63\x4d\x72\x30\x53\x57\x4f\x5a\x64\x56\x38\x6b\x37','\x57\x51\x79\x2f\x57\x50\x52\x64\x56\x43\x6b\x36','\x79\x78\x79\x6f\x57\x52\x76\x4c\x57\x34\x33\x64\x51\x76\x71','\x57\x51\x35\x32\x44\x4c\x52\x64\x52\x53\x6f\x30','\x45\x43\x6b\x37\x71\x6d\x6f\x72\x57\x34\x69','\x57\x35\x78\x63\x47\x6d\x6b\x30\x57\x52\x61\x31\x78\x57','\x57\x52\x4e\x64\x4c\x43\x6b\x6f\x72\x77\x33\x63\x4b\x33\x78\x64\x51\x61','\x72\x53\x6f\x49\x57\x34\x44\x50\x62\x47','\x7a\x30\x79\x5a\x70\x4d\x74\x63\x50\x38\x6b\x41','\x62\x38\x6f\x73\x57\x4f\x44\x75','\x57\x4f\x61\x75\x66\x57','\x57\x4f\x42\x63\x4f\x43\x6b\x2b\x57\x35\x57\x4e','\x65\x38\x6b\x68\x57\x50\x4b\x35\x70\x6d\x6f\x68\x6d\x72\x4f','\x57\x50\x48\x48\x6b\x43\x6b\x57\x57\x50\x61','\x57\x51\x35\x36\x45\x65\x79','\x62\x78\x56\x64\x50\x43\x6f\x79\x57\x50\x53\x4e\x57\x37\x46\x64\x4f\x71','\x75\x38\x6b\x65\x6f\x4a\x2f\x64\x54\x43\x6b\x73\x6a\x53\x6b\x38','\x57\x4f\x47\x57\x57\x34\x39\x71\x57\x4f\x30','\x6a\x4d\x4a\x64\x4c\x53\x6f\x39\x57\x50\x6d','\x70\x4b\x65\x75\x57\x36\x6d\x4e','\x6f\x38\x6b\x4a\x63\x6d\x6b\x72\x57\x51\x53','\x78\x38\x6f\x78\x57\x50\x62\x61\x6a\x53\x6f\x66\x66\x53\x6f\x33','\x45\x65\x4f\x5a\x69\x4d\x68\x63\x56\x38\x6b\x79','\x64\x38\x6f\x5a\x57\x4f\x56\x63\x54\x76\x47','\x57\x51\x5a\x64\x55\x38\x6b\x4e\x77\x78\x75','\x57\x52\x4b\x49\x57\x36\x6e\x51\x67\x6d\x6f\x72\x57\x52\x6e\x4d','\x57\x51\x35\x32\x73\x66\x52\x64\x51\x6d\x6f\x34\x67\x74\x71','\x62\x76\x68\x63\x47\x72\x61\x4d\x57\x4f\x46\x64\x48\x57','\x57\x50\x42\x64\x4b\x53\x6b\x51\x43\x67\x4f','\x57\x37\x5a\x64\x53\x38\x6b\x66\x66\x43\x6b\x37','\x73\x38\x6f\x38\x75\x77\x78\x63\x4d\x6d\x6f\x33','\x57\x51\x68\x64\x4e\x59\x78\x63\x4c\x66\x48\x6a\x74\x31\x71','\x70\x6d\x6f\x49\x72\x4a\x37\x63\x4b\x61','\x7a\x53\x6b\x6a\x61\x72\x4a\x64\x4a\x6d\x6b\x36\x61\x38\x6b\x43','\x74\x43\x6b\x43\x44\x43\x6b\x51','\x7a\x53\x6b\x6b\x7a\x6d\x6f\x75\x57\x36\x61','\x57\x37\x76\x57\x57\x36\x5a\x63\x4f\x6d\x6f\x4e\x57\x35\x71\x68\x6f\x6d\x6f\x73\x57\x4f\x79\x73\x68\x71','\x71\x67\x4f\x72\x57\x51\x6d','\x6d\x57\x34\x77\x65\x62\x79','\x57\x4f\x6c\x63\x51\x6d\x6b\x58\x57\x35\x4b\x5a','\x57\x51\x38\x53\x67\x73\x74\x64\x4e\x47','\x68\x4b\x30\x66\x57\x35\x65\x68','\x79\x53\x6b\x36\x68\x71\x6c\x64\x49\x32\x6c\x64\x4a\x57','\x57\x50\x4a\x63\x47\x38\x6b\x39\x57\x35\x42\x63\x53\x61','\x57\x35\x79\x37\x76\x6d\x6f\x31\x57\x37\x57\x30\x57\x4f\x52\x64\x50\x43\x6b\x38\x77\x4e\x38\x37\x57\x52\x47','\x57\x4f\x4f\x6a\x57\x35\x6d','\x57\x4f\x33\x64\x54\x38\x6b\x65\x71\x77\x6d','\x57\x51\x4a\x64\x48\x77\x56\x64\x53\x43\x6f\x39','\x57\x4f\x7a\x2b\x67\x38\x6b\x38\x57\x51\x43','\x57\x4f\x68\x64\x49\x6d\x6b\x50\x78\x31\x64\x63\x4b\x38\x6b\x39\x73\x71','\x67\x48\x53\x6e\x65\x63\x39\x6b\x67\x43\x6f\x46','\x57\x52\x48\x6e\x70\x6d\x6b\x30\x57\x52\x61','\x57\x50\x56\x63\x48\x53\x6b\x6a\x57\x35\x4a\x63\x4e\x71','\x69\x38\x6b\x49\x6f\x49\x74\x64\x56\x61','\x63\x53\x6b\x42\x6f\x38\x6b\x61\x57\x50\x65','\x42\x6d\x6f\x68\x6f\x38\x6b\x5a\x74\x66\x4a\x63\x50\x61\x79','\x6b\x66\x75\x68\x57\x51\x70\x64\x55\x57','\x68\x53\x6b\x4c\x57\x37\x4b','\x57\x52\x6c\x64\x4a\x30\x4e\x63\x49\x6d\x6f\x4d','\x45\x43\x6f\x37\x57\x52\x58\x4a\x62\x61','\x66\x31\x33\x63\x47\x71','\x57\x35\x6d\x51\x57\x35\x48\x45\x57\x50\x44\x74','\x6e\x53\x6b\x57\x57\x34\x6d','\x57\x50\x30\x45\x61\x74\x78\x64\x4b\x53\x6f\x4e','\x74\x6d\x6b\x4d\x67\x53\x6f\x45\x57\x34\x46\x63\x48\x4a\x43\x75','\x75\x53\x6f\x45\x57\x4f\x58\x50\x42\x57','\x57\x52\x4e\x64\x4e\x5a\x78\x63\x55\x31\x7a\x7a\x73\x71','\x57\x52\x79\x44\x6f\x78\x76\x34','\x57\x51\x61\x72\x67\x4b\x54\x35\x61\x47\x48\x4f','\x6b\x48\x78\x64\x51\x78\x78\x63\x4e\x57','\x71\x38\x6f\x4e\x57\x50\x54\x33\x46\x61','\x73\x53\x6b\x30\x6c\x72\x56\x64\x50\x47','\x70\x43\x6b\x38\x57\x34\x6e\x68\x6a\x67\x64\x64\x48\x4d\x57','\x43\x38\x6f\x65\x65\x6d\x6b\x4c\x77\x57','\x79\x33\x69\x43\x57\x51\x54\x54\x57\x35\x4a\x64\x51\x72\x30','\x57\x52\x35\x2f\x46\x4b\x33\x64\x4f\x38\x6f\x4f\x6a\x5a\x79','\x75\x53\x6b\x74\x69\x5a\x4a\x64\x50\x30\x56\x64\x56\x57','\x75\x43\x6b\x64\x46\x43\x6b\x4b\x57\x51\x57\x6a\x57\x51\x62\x31','\x72\x32\x38\x57\x74\x38\x6f\x6e\x62\x6d\x6b\x49\x57\x37\x79','\x79\x67\x43\x45\x57\x52\x6a\x34\x57\x34\x5a\x64\x4d\x31\x4b','\x57\x4f\x6c\x63\x4e\x43\x6b\x30\x57\x37\x68\x63\x4d\x61','\x57\x52\x5a\x64\x4b\x5a\x2f\x64\x4e\x78\x61','\x57\x51\x68\x63\x4b\x53\x6b\x75','\x63\x48\x38\x69\x65\x48\x6e\x63\x69\x38\x6f\x63','\x66\x53\x6b\x68\x62\x49\x64\x64\x49\x38\x6b\x67\x73\x62\x71','\x74\x43\x6f\x71\x57\x52\x58\x7a\x73\x59\x75\x72\x57\x50\x61','\x57\x52\x52\x63\x4c\x53\x6b\x7a\x57\x34\x52\x63\x56\x53\x6b\x57\x6d\x73\x30','\x6e\x66\x47\x6e\x57\x52\x46\x64\x47\x6d\x6b\x31\x57\x35\x35\x72','\x57\x50\x6a\x44\x64\x38\x6b\x65\x57\x4f\x57','\x46\x66\x38\x6e\x71\x38\x6f\x50\x6c\x6d\x6b\x72\x57\x34\x57','\x67\x38\x6f\x2b\x57\x4f\x7a\x7a\x57\x4f\x47','\x7a\x31\x34\x44\x44\x43\x6f\x49\x6c\x57','\x73\x4b\x79\x55\x6a\x57','\x6c\x75\x71\x36\x57\x4f\x37\x64\x50\x57','\x6b\x53\x6b\x4a\x57\x35\x39\x61\x64\x77\x74\x64\x4c\x5a\x75','\x61\x61\x6c\x64\x4f\x33\x68\x63\x53\x57','\x57\x4f\x37\x63\x50\x38\x6b\x58\x57\x35\x4e\x63\x52\x47','\x42\x53\x6b\x48\x64\x43\x6f\x30\x57\x34\x34','\x6b\x6d\x6b\x32\x57\x52\x53\x68\x75\x64\x43\x44\x57\x36\x65\x75\x57\x50\x33\x63\x51\x38\x6f\x57','\x62\x53\x6b\x38\x57\x35\x6a\x2b\x68\x47','\x45\x6d\x6f\x76\x43\x61','\x44\x30\x75\x62\x42\x38\x6f\x34\x6f\x53\x6b\x64\x57\x34\x4f','\x57\x52\x56\x64\x4c\x5a\x78\x64\x55\x65\x46\x63\x47\x43\x6f\x6e','\x68\x32\x56\x64\x50\x53\x6f\x4a\x57\x51\x38\x4e\x57\x36\x4a\x64\x52\x57','\x57\x4f\x53\x79\x57\x35\x7a\x78\x66\x6d\x6f\x50\x57\x50\x39\x71','\x57\x52\x70\x63\x56\x43\x6b\x6c\x57\x37\x47\x79\x74\x43\x6f\x45\x6b\x57','\x6a\x43\x6b\x39\x57\x35\x50\x30\x64\x71','\x57\x36\x33\x64\x48\x43\x6b\x64\x69\x38\x6b\x39\x45\x53\x6b\x41\x67\x71','\x57\x51\x46\x64\x53\x43\x6b\x6c\x79\x32\x52\x63\x53\x38\x6b\x42\x43\x57','\x57\x34\x48\x38\x73\x6d\x6f\x76\x70\x38\x6b\x35\x57\x34\x6d\x4a','\x6f\x32\x56\x63\x55\x74\x65\x44\x57\x52\x52\x64\x51\x43\x6b\x65','\x43\x6d\x6b\x63\x57\x35\x46\x64\x55\x57\x33\x64\x49\x53\x6f\x61\x57\x36\x37\x64\x53\x53\x6b\x50\x42\x43\x6b\x33\x57\x50\x78\x63\x4b\x57','\x70\x38\x6b\x6e\x61\x59\x6c\x64\x53\x61','\x71\x43\x6b\x44\x75\x43\x6f\x54\x57\x34\x4e\x64\x4e\x6d\x6b\x62\x66\x57','\x57\x35\x31\x6e\x77\x78\x78\x63\x48\x38\x6b\x35\x57\x35\x78\x63\x56\x4d\x78\x64\x4f\x4e\x79\x4e\x57\x35\x38','\x66\x38\x6b\x63\x61\x71','\x76\x6d\x6b\x79\x64\x49\x56\x64\x4d\x47','\x57\x37\x78\x63\x51\x38\x6f\x73\x6a\x74\x6c\x64\x4f\x43\x6f\x43\x69\x6d\x6f\x33\x71\x6d\x6b\x76\x57\x52\x78\x63\x52\x53\x6f\x79','\x64\x31\x71\x62\x57\x4f\x53','\x57\x36\x38\x5a\x57\x35\x35\x54\x57\x4f\x79','\x57\x52\x4a\x64\x50\x59\x4e\x64\x55\x66\x69','\x57\x35\x50\x50\x73\x53\x6f\x70\x6c\x57','\x77\x53\x6b\x63\x44\x43\x6b\x49\x57\x50\x69\x6f','\x63\x43\x6b\x6d\x57\x4f\x34\x71\x6b\x38\x6f\x71\x68\x57\x61','\x57\x36\x74\x63\x53\x63\x33\x63\x50\x61\x43\x33\x46\x61','\x57\x37\x52\x64\x47\x53\x6b\x46\x70\x47','\x6d\x53\x6b\x31\x57\x52\x4b\x42\x68\x71','\x73\x53\x6b\x41\x42\x53\x6b\x55\x57\x50\x69\x44','\x57\x52\x56\x64\x4c\x65\x4a\x63\x47\x53\x6f\x4d\x70\x6d\x6b\x43\x57\x51\x79','\x57\x37\x78\x63\x52\x6d\x6b\x73\x76\x67\x4e\x63\x50\x6d\x6b\x4c\x45\x61','\x74\x38\x6f\x67\x57\x4f\x6a\x68\x68\x6d\x6f\x45\x66\x6d\x6f\x58','\x43\x6d\x6b\x38\x71\x53\x6f\x52\x57\x36\x75','\x57\x52\x4f\x6d\x6b\x76\x62\x61','\x57\x37\x74\x64\x48\x53\x6b\x56\x6e\x32\x42\x64\x49\x43\x6b\x70','\x6f\x67\x30\x48','\x69\x6d\x6b\x55\x6e\x6d\x6b\x49\x57\x50\x75','\x62\x43\x6b\x75\x57\x4f\x71\x4a\x6c\x38\x6f\x71\x68\x63\x4f','\x74\x38\x6f\x34\x42\x33\x5a\x63\x55\x57','\x57\x50\x76\x4f\x64\x38\x6b\x47\x57\x51\x50\x59\x57\x35\x2f\x64\x48\x57','\x57\x51\x37\x64\x4a\x49\x70\x63\x4e\x4c\x69','\x62\x53\x6b\x6b\x61\x5a\x68\x64\x52\x6d\x6b\x77','\x6b\x66\x53\x43\x57\x50\x56\x64\x4f\x57','\x57\x52\x2f\x64\x47\x31\x74\x64\x4d\x43\x6f\x4a','\x46\x65\x30\x4e','\x57\x50\x6c\x64\x52\x6d\x6b\x31\x76\x30\x52\x63\x51\x4b\x42\x64\x4e\x71','\x57\x51\x68\x63\x49\x61\x33\x63\x52\x47\x6d\x4b\x41\x38\x6f\x38','\x76\x38\x6f\x58\x6f\x43\x6b\x42\x79\x77\x78\x63\x4d\x73\x57','\x57\x52\x52\x63\x48\x43\x6b\x76\x57\x35\x4e\x63\x50\x53\x6b\x69\x69\x47\x38','\x73\x6d\x6b\x59\x44\x53\x6f\x6d\x57\x37\x70\x64\x52\x47','\x57\x50\x52\x64\x4b\x5a\x74\x64\x53\x77\x4f','\x57\x4f\x30\x51\x6b\x47\x70\x64\x49\x61','\x57\x50\x4e\x63\x53\x53\x6b\x4c\x57\x37\x78\x63\x49\x38\x6b\x42\x63\x5a\x53','\x44\x43\x6b\x70\x41\x48\x52\x63\x54\x38\x6f\x41\x75\x58\x75','\x57\x52\x4a\x63\x4e\x53\x6b\x7a\x57\x35\x69','\x66\x6d\x6b\x48\x57\x35\x54\x54\x64\x74\x72\x4d\x43\x61','\x57\x4f\x54\x4d\x62\x43\x6b\x52','\x57\x34\x64\x63\x49\x6d\x6b\x36\x57\x52\x69\x31\x78\x33\x4e\x64\x49\x57','\x57\x34\x48\x38\x74\x53\x6f\x78\x70\x38\x6b\x30\x57\x34\x65\x70','\x6f\x6d\x6f\x73\x41\x48\x78\x63\x54\x43\x6f\x35\x43\x48\x79','\x57\x34\x44\x43\x57\x36\x5a\x63\x50\x63\x78\x64\x4d\x43\x6b\x47\x57\x50\x47','\x6f\x53\x6f\x65\x57\x4f\x31\x73\x57\x50\x56\x63\x51\x77\x42\x63\x52\x57','\x57\x4f\x65\x67\x57\x34\x66\x35\x65\x61','\x6f\x4e\x64\x63\x4c\x72\x47\x67','\x6c\x4d\x79\x4c\x57\x34\x57\x5a\x57\x36\x31\x71\x63\x61','\x57\x52\x7a\x59\x44\x67\x5a\x64\x4d\x57','\x57\x51\x68\x63\x49\x61\x33\x63\x51\x72\x71\x6c\x41\x38\x6f\x38','\x6f\x38\x6b\x54\x69\x43\x6b\x69\x57\x50\x38\x51\x76\x6d\x6f\x47','\x57\x35\x4c\x62\x57\x37\x37\x63\x4f\x58\x2f\x64\x4a\x53\x6b\x50','\x57\x51\x6d\x57\x57\x52\x70\x64\x48\x38\x6b\x57\x57\x4f\x4f\x67\x6c\x57','\x57\x51\x52\x64\x4a\x5a\x74\x63\x55\x66\x62\x69\x71\x66\x34','\x67\x48\x68\x64\x56\x33\x74\x63\x54\x57','\x79\x38\x6b\x72\x72\x53\x6f\x39\x57\x36\x43','\x61\x43\x6b\x6d\x57\x50\x38\x4d\x62\x53\x6f\x75\x64\x61\x61','\x78\x6d\x6b\x63\x6c\x53\x6f\x53\x57\x36\x34','\x57\x37\x62\x54\x57\x36\x46\x63\x48\x48\x4b','\x64\x38\x6b\x57\x63\x38\x6b\x31\x79\x68\x37\x63\x50\x59\x43','\x57\x52\x42\x64\x48\x38\x6b\x33\x65\x78\x71','\x65\x67\x4e\x64\x53\x38\x6f\x66\x57\x52\x34','\x57\x51\x79\x50\x6f\x77\x31\x42','\x75\x6d\x6f\x32\x74\x4e\x4a\x63\x47\x61','\x64\x6d\x6b\x6e\x57\x4f\x47\x55\x6e\x43\x6b\x79\x63\x48\x61','\x65\x38\x6b\x78\x57\x51\x6d\x61\x66\x61','\x57\x52\x65\x4a\x57\x4f\x56\x64\x51\x38\x6b\x59\x57\x4f\x4b\x46\x61\x61','\x57\x51\x5a\x64\x48\x64\x68\x63\x4a\x76\x62\x65\x73\x31\x34','\x57\x4f\x37\x64\x50\x53\x6b\x47\x7a\x66\x5a\x63\x4f\x4c\x37\x64\x4b\x61','\x57\x35\x62\x68\x57\x36\x70\x63\x51\x72\x53','\x57\x51\x74\x64\x4f\x65\x52\x64\x53\x47','\x74\x53\x6b\x30\x65\x5a\x4a\x64\x56\x43\x6b\x73\x6e\x43\x6b\x53','\x57\x4f\x53\x56\x57\x52\x42\x64\x49\x53\x6b\x32','\x57\x51\x6c\x64\x4a\x63\x61','\x45\x6d\x6b\x47\x73\x6d\x6b\x6f\x57\x51\x6d\x37\x57\x4f\x44\x76','\x6c\x65\x47\x62\x57\x4f\x5a\x64\x4d\x53\x6b\x2b\x57\x34\x53','\x57\x36\x54\x42\x57\x36\x4a\x63\x4f\x47\x64\x64\x49\x43\x6b\x54\x57\x50\x34','\x57\x51\x70\x64\x55\x43\x6b\x30\x6c\x33\x52\x64\x51\x47','\x6c\x32\x79\x32\x57\x35\x34\x71\x57\x37\x7a\x4a\x61\x47','\x43\x43\x6f\x30\x57\x36\x7a\x79\x66\x4d\x38\x66\x57\x37\x38','\x42\x53\x6f\x75\x57\x4f\x76\x38\x46\x57','\x57\x35\x56\x63\x48\x6d\x6b\x4c','\x57\x4f\x4e\x63\x4c\x6d\x6b\x47\x57\x36\x52\x63\x4a\x61','\x78\x6d\x6f\x52\x65\x71','\x57\x37\x37\x64\x4d\x6d\x6b\x4c\x62\x43\x6b\x63\x44\x53\x6b\x70\x63\x61','\x57\x52\x70\x64\x51\x53\x6b\x48\x6b\x57','\x7a\x38\x6b\x64\x69\x6d\x6f\x4e','\x57\x52\x30\x48\x67\x31\x7a\x4f\x6f\x61','\x57\x4f\x6e\x2b\x68\x43\x6b\x6d\x57\x50\x75','\x6d\x38\x6f\x76\x42\x73\x56\x63\x53\x53\x6f\x35\x73\x61\x30','\x57\x37\x5a\x64\x53\x38\x6b\x6d\x43\x65\x70\x63\x56\x6d\x6b\x63','\x57\x35\x33\x63\x55\x38\x6b\x41\x57\x50\x71\x79','\x57\x36\x2f\x64\x4d\x43\x6b\x79\x6a\x71','\x57\x34\x2f\x64\x52\x53\x6b\x32\x70\x6d\x6b\x33','\x7a\x4b\x4f\x36\x6e\x61','\x57\x51\x70\x64\x49\x31\x46\x63\x48\x53\x6f\x64','\x62\x43\x6b\x45\x68\x63\x30','\x57\x35\x74\x63\x51\x38\x6f\x50\x6a\x47\x46\x64\x51\x47\x68\x63\x4b\x71','\x57\x37\x52\x63\x48\x43\x6b\x32\x57\x52\x79\x35','\x6c\x77\x57\x71\x57\x37\x75\x4c','\x57\x4f\x52\x64\x52\x62\x70\x64\x47\x78\x46\x63\x53\x38\x6f\x51\x57\x34\x6d','\x76\x38\x6b\x59\x6a\x4a\x4b','\x57\x50\x47\x45\x65\x4a\x74\x64\x4d\x6d\x6f\x47\x57\x4f\x34','\x57\x36\x74\x64\x4a\x53\x6b\x62','\x69\x43\x6f\x5a\x71\x4a\x56\x63\x51\x47','\x43\x75\x79\x4d\x6d\x68\x33\x63\x56\x43\x6b\x6c','\x57\x36\x35\x62\x44\x38\x6f\x30\x6a\x57','\x66\x62\x57\x59\x65\x59\x30','\x72\x6d\x6b\x4f\x6f\x74\x33\x64\x54\x53\x6b\x79\x6e\x43\x6b\x61','\x66\x66\x52\x63\x4d\x58\x30\x71\x57\x4f\x4a\x64\x47\x53\x6b\x2b','\x57\x50\x68\x63\x4f\x61\x52\x63\x47\x63\x79','\x57\x4f\x43\x69\x6a\x49\x37\x64\x4e\x43\x6f\x51','\x57\x52\x4e\x64\x4f\x67\x4e\x64\x4d\x6d\x6f\x51','\x57\x52\x6c\x64\x52\x6d\x6b\x4e\x7a\x33\x53','\x57\x34\x46\x63\x4a\x53\x6b\x75\x57\x4f\x38\x46\x41\x66\x6c\x64\x49\x71','\x57\x4f\x57\x48\x62\x78\x35\x54','\x45\x38\x6b\x68\x46\x53\x6b\x72\x57\x52\x6d','\x42\x31\x65\x32\x69\x65\x6d','\x57\x4f\x78\x64\x4e\x43\x6b\x63\x65\x4b\x2f\x64\x4c\x43\x6b\x42\x57\x51\x47','\x70\x38\x6b\x62\x57\x34\x50\x6c\x6e\x47','\x57\x37\x5a\x64\x4d\x6d\x6b\x43\x64\x38\x6b\x55','\x57\x51\x47\x55\x57\x52\x37\x64\x47\x6d\x6b\x4c','\x77\x6d\x6f\x6d\x57\x4f\x6d','\x61\x38\x6b\x4f\x65\x64\x64\x64\x56\x75\x33\x64\x52\x71','\x57\x51\x44\x48\x79\x76\x4e\x64\x48\x47','\x6b\x38\x6f\x61\x57\x4f\x33\x63\x55\x76\x71','\x57\x51\x39\x62\x42\x33\x68\x64\x51\x57','\x74\x43\x6b\x41\x45\x43\x6b\x30\x57\x4f\x47\x46\x57\x51\x65','\x57\x52\x52\x63\x48\x43\x6b\x76\x57\x35\x4e\x63\x50\x53\x6b\x68\x6f\x57\x30','\x57\x51\x56\x63\x4c\x6d\x6b\x7a\x57\x34\x37\x63\x51\x53\x6b\x35\x69\x63\x61','\x66\x68\x6c\x64\x50\x43\x6f\x76\x57\x52\x61\x52\x57\x37\x38','\x78\x53\x6b\x69\x6c\x64\x74\x64\x55\x68\x68\x64\x54\x6d\x6b\x53','\x57\x50\x2f\x64\x52\x71\x37\x63\x4e\x68\x43','\x43\x38\x6b\x4e\x7a\x6d\x6f\x71\x57\x34\x78\x64\x50\x6d\x6b\x54\x69\x71','\x46\x6d\x6b\x34\x75\x38\x6b\x6c\x57\x51\x4f\x2f\x57\x50\x44\x46','\x57\x52\x64\x64\x55\x43\x6b\x49\x6a\x33\x46\x64\x4c\x43\x6b\x52\x57\x4f\x4f','\x7a\x53\x6f\x43\x57\x4f\x6e\x6d\x73\x4a\x38','\x45\x53\x6f\x34\x57\x37\x6e\x71\x66\x4e\x69\x63','\x72\x4e\x61\x44\x43\x38\x6f\x49','\x57\x34\x70\x63\x49\x43\x6b\x45\x57\x52\x6d\x79','\x57\x37\x43\x35\x57\x35\x35\x69\x57\x50\x4b','\x77\x53\x6b\x62\x43\x53\x6b\x5a\x57\x50\x30\x74\x57\x51\x54\x4c','\x66\x72\x4f\x34\x68\x47\x38','\x57\x51\x2f\x63\x53\x6d\x6b\x46\x43\x4d\x56\x63\x55\x47','\x74\x67\x34\x4c\x61\x68\x65','\x57\x36\x56\x64\x4d\x43\x6b\x79\x70\x38\x6b\x73\x72\x6d\x6b\x7a\x64\x57','\x6d\x43\x6f\x68\x57\x50\x68\x63\x56\x31\x52\x63\x4a\x38\x6b\x75','\x57\x51\x7a\x36\x68\x6d\x6b\x64\x57\x4f\x43','\x62\x53\x6f\x6e\x45\x4d\x68\x63\x53\x48\x5a\x63\x51\x38\x6b\x73\x6f\x4e\x75\x65\x6d\x73\x34','\x57\x50\x34\x78\x61\x74\x70\x64\x4c\x38\x6f\x47\x57\x50\x6c\x63\x49\x57','\x57\x52\x33\x64\x52\x4c\x33\x64\x56\x6d\x6f\x67\x71\x6d\x6b\x48\x78\x71','\x67\x68\x34\x41\x57\x4f\x6c\x64\x4e\x71','\x57\x52\x52\x64\x47\x6d\x6b\x30\x6d\x31\x30','\x6b\x6d\x6b\x38\x63\x53\x6b\x6c\x57\x4f\x38','\x6b\x33\x34\x76\x57\x51\x6e\x6a\x57\x35\x78\x64\x4f\x71','\x57\x51\x30\x31\x6d\x49\x5a\x64\x4f\x61','\x41\x32\x75\x4e\x57\x50\x44\x69','\x6c\x38\x6f\x70\x72\x49\x46\x63\x4a\x53\x6f\x70\x74\x47\x4b','\x67\x78\x68\x64\x4f\x6d\x6f\x7a\x57\x50\x71\x51','\x57\x51\x68\x64\x51\x4c\x79','\x57\x4f\x58\x47\x68\x38\x6b\x32\x57\x51\x31\x4f\x57\x35\x30','\x57\x52\x70\x64\x4f\x38\x6b\x53\x42\x74\x56\x63\x53\x57','\x45\x75\x79\x30\x6f\x67\x46\x63\x56\x38\x6b\x47\x57\x34\x53','\x6e\x32\x65\x45\x57\x35\x61\x33','\x6e\x32\x53\x39\x57\x36\x69\x47','\x74\x53\x6b\x6e\x65\x38\x6f\x37\x57\x37\x79','\x57\x34\x43\x59\x57\x36\x71','\x77\x6d\x6b\x6d\x62\x64\x4a\x64\x50\x65\x46\x64\x52\x38\x6b\x4e','\x57\x4f\x46\x64\x55\x6d\x6b\x39\x67\x75\x30','\x77\x53\x6b\x2f\x76\x53\x6b\x64\x57\x4f\x75','\x57\x51\x65\x5a\x57\x36\x66\x4d\x66\x43\x6f\x64\x57\x52\x48\x38','\x57\x52\x70\x63\x49\x58\x52\x63\x51\x62\x75\x47\x45\x6d\x6f\x4d','\x57\x51\x2f\x64\x48\x5a\x68\x64\x4f\x75\x56\x63\x4c\x57','\x7a\x43\x6b\x38\x6e\x72\x33\x64\x55\x71','\x57\x37\x72\x30\x57\x36\x74\x64\x4e\x43\x6b\x64\x57\x4f\x69\x6d\x65\x6d\x6f\x38','\x57\x37\x2f\x63\x49\x47\x33\x64\x47\x57','\x43\x38\x6b\x4e\x44\x38\x6f\x6e\x57\x37\x4a\x64\x55\x47','\x57\x4f\x69\x75\x64\x5a\x46\x64\x4b\x38\x6f\x55\x57\x4f\x70\x63\x4a\x71','\x41\x53\x6b\x38\x42\x6d\x6f\x6b','\x57\x36\x64\x64\x4c\x43\x6b\x4c\x70\x6d\x6b\x53','\x7a\x68\x53\x6c\x57\x51\x4c\x2b','\x44\x77\x79\x30\x57\x52\x48\x6f','\x65\x53\x6b\x48\x57\x34\x6a\x32\x62\x4a\x66\x33\x44\x61','\x57\x35\x6a\x51\x46\x6d\x6f\x6b\x6f\x53\x6b\x2f','\x41\x43\x6f\x68\x57\x4f\x4c\x38\x79\x61','\x57\x52\x5a\x63\x4e\x38\x6b\x78\x57\x34\x6c\x63\x56\x47','\x57\x52\x37\x64\x4a\x65\x2f\x63\x49\x71','\x57\x52\x62\x38\x43\x30\x33\x64\x4f\x71','\x57\x52\x50\x32\x7a\x76\x4a\x64\x56\x38\x6f\x31\x66\x49\x6d','\x6d\x38\x6f\x42\x57\x4f\x64\x63\x56\x61','\x6f\x61\x4e\x64\x4e\x31\x6c\x63\x4b\x71','\x78\x43\x6b\x50\x68\x57','\x57\x34\x70\x63\x4a\x38\x6b\x54\x57\x52\x66\x39\x76\x30\x4e\x64\x4d\x61','\x70\x4e\x46\x64\x50\x53\x6f\x55\x57\x52\x47','\x43\x66\x43\x4f\x70\x4d\x5a\x63\x4a\x53\x6b\x6c\x57\x34\x4b','\x76\x4b\x75\x57\x57\x4f\x58\x41\x57\x37\x52\x64\x4e\x4d\x38','\x65\x4c\x4f\x69\x57\x50\x33\x64\x54\x47','\x57\x51\x42\x64\x4d\x58\x78\x64\x4b\x75\x53'];_0x2203=function(){return _0x323927;};return _0x2203();}const _0x5d8e0f={};_0x5d8e0f[_0x69ccc5(0x1a4,'\x71\x53\x38\x53')+_0x69ccc5(0x1b7,'\x56\x62\x48\x40')]=_0xa3407b,_0x5d8e0f[_0x69ccc5(0x1f1,'\x77\x7a\x25\x79')+_0x69ccc5(0x228,'\x4b\x7a\x66\x51')+'\x4e']=_0xf96dc2,_0x5d8e0f['\x62\x75\x69\x6c\x64\x48\x65\x61'+_0x69ccc5(0x173,'\x51\x6f\x5e\x79')+_0x69ccc5(0x1b5,'\x29\x6b\x57\x35')+_0x69ccc5(0x12d,'\x79\x37\x67\x25')]=_0x5b27c1,_0x5d8e0f[_0x69ccc5(0x29a,'\x6b\x58\x51\x73')+_0x69ccc5(0x27d,'\x54\x7a\x4e\x55')+_0x69ccc5(0x24e,'\x31\x29\x24\x59')]=_0x684905,_0x5d8e0f[_0x69ccc5(0x207,'\x55\x6e\x61\x7a')+_0x69ccc5(0x273,'\x7a\x5d\x4d\x44')]=_0x14ac81,module[_0x69ccc5(0x2b7,'\x54\x7a\x4e\x55')]=_0x5d8e0f;
@@ -4,6 +4,7 @@ const { getGepAssetsDir, getBundledGepAssetsDir, getRepoRoot, getSessionScope }
4
4
  const { computeAssetId, SCHEMA_VERSION } = require('./contentHash');
5
5
  const { validateGene } = require('./schemas/gene');
6
6
  const { validateCapsule } = require('./schemas/capsule');
7
+ const { validateSyncGene } = require('./syncAsset');
7
8
 
8
9
  // Run validateGene/validateCapsule before persisting. Warn-only -- never throw
9
10
  // because losing a write hurts more than persisting a slightly-malformed
@@ -271,6 +272,14 @@ function legacyGepAssetsDir() {
271
272
  return baseDir;
272
273
  }
273
274
 
275
+ function readOnlyRuntimeAssetPath(name) {
276
+ const target = path.join(getGepAssetsDir(), name);
277
+ if (fs.existsSync(target) || process.env.GEP_ASSETS_DIR) return target;
278
+ const legacy = path.join(legacyGepAssetsDir(), name);
279
+ if (path.resolve(target) !== path.resolve(legacy) && fs.existsSync(legacy)) return legacy;
280
+ return target;
281
+ }
282
+
274
283
  function migrateLegacyRuntimeAssets() {
275
284
  if (process.env.GEP_ASSETS_DIR) return;
276
285
  const targetDir = getGepAssetsDir();
@@ -317,13 +326,19 @@ function ensureGenesSeeded() {
317
326
  }
318
327
  }
319
328
 
320
- function loadGenes(opts) {
321
- const options = opts || {};
322
- if (options.seed !== false) ensureGenesSeeded();
323
- const jsonGenes = readJsonIfExists(genesPath(), getDefaultGenes()).genes || [];
329
+ function _loadGenes(options) {
330
+ const readOnly = options && options.readOnly === true;
331
+ const shouldSeed = !options || options.seed !== false;
332
+ if (!readOnly && shouldSeed) ensureGenesSeeded();
333
+ let jsonPath = readOnly ? readOnlyRuntimeAssetPath('genes.json') : genesPath();
334
+ if (readOnly && !fs.existsSync(jsonPath)) {
335
+ const seed = fs.existsSync(genesSeedPath()) ? genesSeedPath() : bundledGenesPath();
336
+ if (fs.existsSync(seed)) jsonPath = seed;
337
+ }
338
+ const jsonGenes = readJsonIfExists(jsonPath, getDefaultGenes()).genes || [];
324
339
  const jsonlGenes = [];
325
340
  try {
326
- const p = path.join(getGepAssetsDir(), 'genes.jsonl');
341
+ const p = readOnly ? readOnlyRuntimeAssetPath('genes.jsonl') : path.join(getGepAssetsDir(), 'genes.jsonl');
327
342
  if (fs.existsSync(p)) {
328
343
  const raw = fs.readFileSync(p, 'utf8');
329
344
  raw.split('\n').forEach(line => {
@@ -355,11 +370,21 @@ function loadGenes(opts) {
355
370
  return Array.from(unique.values());
356
371
  }
357
372
 
358
- function loadCapsules() {
359
- const legacy = readJsonIfExists(capsulesPath(), getDefaultCapsules()).capsules || [];
373
+ function loadGenes(options) {
374
+ return _loadGenes({ readOnly: false, seed: !options || options.seed !== false });
375
+ }
376
+
377
+ function loadGenesReadOnly() {
378
+ return _loadGenes({ readOnly: true });
379
+ }
380
+
381
+ function _loadCapsules(options) {
382
+ const readOnly = options && options.readOnly === true;
383
+ const jsonPath = readOnly ? readOnlyRuntimeAssetPath('capsules.json') : capsulesPath();
384
+ const legacy = readJsonIfExists(jsonPath, getDefaultCapsules()).capsules || [];
360
385
  const jsonlCapsules = [];
361
386
  try {
362
- const p = capsulesJsonlPath();
387
+ const p = readOnly ? readOnlyRuntimeAssetPath('capsules.jsonl') : capsulesJsonlPath();
363
388
  if (fs.existsSync(p)) {
364
389
  const raw = fs.readFileSync(p, 'utf8');
365
390
  raw.split('\n').forEach(line => {
@@ -381,6 +406,14 @@ function loadCapsules() {
381
406
  return Array.from(unique.values());
382
407
  }
383
408
 
409
+ function loadCapsules() {
410
+ return _loadCapsules({ readOnly: false });
411
+ }
412
+
413
+ function loadCapsulesReadOnly() {
414
+ return _loadCapsules({ readOnly: true });
415
+ }
416
+
384
417
  // Grow the tail chunk until it strictly contains the final newline-terminated
385
418
  // line, then JSON.parse it. A single event embeds the full ValidationReport
386
419
  // (up to ~4000 chars stdout + ~4000 chars stderr per command, plus blast
@@ -613,8 +646,8 @@ function recomputeAssetId(obj) {
613
646
  return obj;
614
647
  }
615
648
 
616
- function upsertGene(geneObj) {
617
- _validateAssetWarn('Gene', validateGene, geneObj);
649
+ function _upsertGene(geneObj, validatorFn) {
650
+ _validateAssetWarn('Gene', validatorFn, geneObj);
618
651
  ensureSchemaFields(geneObj);
619
652
  recomputeAssetId(geneObj);
620
653
  ensureGenesSeeded();
@@ -627,6 +660,17 @@ function upsertGene(geneObj) {
627
660
  });
628
661
  }
629
662
 
663
+ function upsertGene(geneObj) {
664
+ return _upsertGene(geneObj, validateGene);
665
+ }
666
+
667
+ // Hub sync payloads are prepared and validated by syncAsset.js. Keep that
668
+ // compatibility validator on this dedicated write path so Hub-only categories
669
+ // never weaken or produce warnings in the standard Gene persistence path.
670
+ function upsertSyncedGene(geneObj) {
671
+ return _upsertGene(geneObj, validateSyncGene);
672
+ }
673
+
630
674
  function appendCapsule(capsuleObj) {
631
675
  _validateAssetWarn('Capsule', validateCapsule, capsuleObj);
632
676
  ensureSchemaFields(capsuleObj);
@@ -710,10 +754,10 @@ function ensureAssetFiles() {
710
754
  }
711
755
 
712
756
  module.exports = {
713
- loadGenes, loadCapsules, readAllEvents, getLastEventId,
757
+ loadGenes, loadGenesReadOnly, loadCapsules, loadCapsulesReadOnly, readAllEvents, getLastEventId,
714
758
  appendEventJsonl, appendCandidateJsonl, appendExternalCandidateJsonl,
715
759
  readRecentCandidates, readRecentExternalCandidates,
716
- upsertGene, appendCapsule, upsertCapsule,
760
+ upsertGene, upsertSyncedGene, appendCapsule, upsertCapsule,
717
761
  appendFailedCapsule, readRecentFailedCapsules,
718
762
  genesPath, capsulesPath, eventsPath, candidatesPath, externalCandidatesPath, failedCapsulesPath,
719
763
  pendingSignalsPath, consumePendingSignals,