@evomap/evolver 1.90.0 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -564
- package/bin/evolver-llm-proxy.js +3 -0
- package/bin/evolver-mcp.js +2 -0
- package/bin/evolver-proxy.js +3 -0
- package/bin/evolver.js +4 -0
- package/index.js +1 -3670
- package/package.json +32 -62
- package/CONTRIBUTING.md +0 -19
- package/LICENSE +0 -641
- package/README.ja-JP.md +0 -521
- package/README.ko-KR.md +0 -520
- package/README.zh-CN.md +0 -531
- package/SKILL.md +0 -365
- package/assets/cover.png +0 -0
- package/assets/gep/genes.seed.json +0 -496
- package/conformance/savings-core/constants.json +0 -30
- package/conformance/savings-core/golden-vectors.json +0 -333
- package/scripts/a2a_export.js +0 -63
- package/scripts/a2a_ingest.js +0 -79
- package/scripts/a2a_promote.js +0 -118
- package/scripts/analyze_by_skill.js +0 -121
- package/scripts/build_binaries.js +0 -479
- package/scripts/check-changelog.js +0 -166
- package/scripts/extract_log.js +0 -85
- package/scripts/generate_history.js +0 -75
- package/scripts/gep_append_event.js +0 -96
- package/scripts/gep_personality_report.js +0 -234
- package/scripts/human_report.js +0 -147
- package/scripts/recall-verify-report.js +0 -234
- package/scripts/recover_loop.js +0 -61
- package/scripts/refresh_stars_badge.js +0 -168
- package/scripts/seed-merchants.js +0 -91
- package/scripts/skill2recipes.js +0 -118
- package/scripts/suggest_version.js +0 -89
- package/scripts/validate-modules.js +0 -38
- package/scripts/validate-suite.js +0 -78
- package/src/adapters/claudeCode.js +0 -194
- package/src/adapters/codex.js +0 -216
- package/src/adapters/cursor.js +0 -91
- package/src/adapters/hookAdapter.js +0 -469
- package/src/adapters/kiro.js +0 -195
- package/src/adapters/opencode.js +0 -326
- package/src/adapters/scripts/_lockPaths.js +0 -74
- package/src/adapters/scripts/_memoryFiltering.js +0 -35
- package/src/adapters/scripts/_runtimePaths.js +0 -440
- package/src/adapters/scripts/evolver-session-end.js +0 -321
- package/src/adapters/scripts/evolver-session-start.js +0 -587
- package/src/adapters/scripts/evolver-signal-detect.js +0 -98
- package/src/adapters/scripts/evolver-task-recall.js +0 -173
- package/src/atp/atpExecute.js +0 -283
- package/src/atp/atpTaskPickup.js +0 -233
- package/src/atp/autoBuyer.js +0 -382
- package/src/atp/autoDeliver.js +0 -215
- package/src/atp/cli.js +0 -354
- package/src/atp/cliAutobuyPrompt.js +0 -154
- package/src/atp/consumerAgent.js +0 -157
- package/src/atp/defaultHandler.js +0 -69
- package/src/atp/heartbeatSignalsHandler.js +0 -254
- package/src/atp/hubClient.js +0 -317
- package/src/atp/index.js +0 -38
- package/src/atp/merchantAgent.js +0 -118
- package/src/atp/protocol.js +0 -41
- package/src/atp/questionComposer.js +0 -133
- package/src/atp/serviceHelper.js +0 -92
- package/src/canary.js +0 -13
- package/src/config.js +0 -351
- package/src/evolve/guards.js +0 -1
- package/src/evolve/pipeline/collect.js +0 -1
- package/src/evolve/pipeline/dispatch.js +0 -1
- package/src/evolve/pipeline/enrich.js +0 -1
- package/src/evolve/pipeline/hub.js +0 -1
- package/src/evolve/pipeline/select.js +0 -1
- package/src/evolve/pipeline/signals.js +0 -1
- package/src/evolve/utils.js +0 -1
- package/src/evolve.js +0 -1
- package/src/experiment/agentRunner.js +0 -229
- package/src/experiment/cli.js +0 -159
- package/src/experiment/comparison.js +0 -233
- package/src/experiment/metrics.js +0 -75
- package/src/forceUpdate.js +0 -991
- package/src/gep/a2a.js +0 -173
- package/src/gep/a2aProtocol.js +0 -1
- package/src/gep/analyzer.js +0 -35
- package/src/gep/antiAbuseTelemetry.js +0 -1
- package/src/gep/assetCallLog.js +0 -197
- package/src/gep/assetStore.js +0 -723
- package/src/gep/assets.js +0 -36
- package/src/gep/autoDistillConv.js +0 -1
- package/src/gep/autoDistillLlm.js +0 -1
- package/src/gep/bridge.js +0 -138
- package/src/gep/candidateEval.js +0 -1
- package/src/gep/candidates.js +0 -1
- package/src/gep/claimNudge.js +0 -121
- package/src/gep/cliContracts.js +0 -1190
- package/src/gep/contentHash.js +0 -1
- package/src/gep/conversationDistiller.js +0 -1
- package/src/gep/conversationSniffer.js +0 -1
- package/src/gep/crypto.js +0 -1
- package/src/gep/curriculum.js +0 -1
- package/src/gep/deviceId.js +0 -1
- package/src/gep/directoryClient.js +0 -115
- package/src/gep/envFingerprint.js +0 -1
- package/src/gep/epigenetics.js +0 -1
- package/src/gep/execBridge.js +0 -1
- package/src/gep/executionTrace.js +0 -291
- package/src/gep/explore.js +0 -1
- package/src/gep/featureFlags.js +0 -121
- package/src/gep/gitOps.js +0 -265
- package/src/gep/hash.js +0 -1
- package/src/gep/hostErrorClassifier.js +0 -34
- package/src/gep/hubFetch.js +0 -1
- package/src/gep/hubReview.js +0 -1
- package/src/gep/hubSearch.js +0 -1
- package/src/gep/hubVerify.js +0 -1
- package/src/gep/idleScheduler.js +0 -400
- package/src/gep/issueReporter.js +0 -416
- package/src/gep/learningSignals.js +0 -1
- package/src/gep/llmReview.js +0 -92
- package/src/gep/localStateAwareness.js +0 -243
- package/src/gep/mailboxTransport.js +0 -119
- package/src/gep/memoryGraph.js +0 -1
- package/src/gep/memoryGraphAdapter.js +0 -1
- package/src/gep/mutation.js +0 -1
- package/src/gep/narrativeMemory.js +0 -1
- package/src/gep/oauthLogin.js +0 -181
- package/src/gep/openPRRegistry.js +0 -1
- package/src/gep/paths.js +0 -522
- package/src/gep/personality.js +0 -1
- package/src/gep/policyCheck.js +0 -1
- package/src/gep/portable.js +0 -103
- package/src/gep/privacyClient.js +0 -235
- package/src/gep/prompt.js +0 -1
- package/src/gep/questionGenerator.js +0 -518
- package/src/gep/recallInject.js +0 -1
- package/src/gep/recallVerifier.js +0 -1
- package/src/gep/reflection.js +0 -1
- package/src/gep/sanitize.js +0 -264
- package/src/gep/savingsCore.js +0 -1
- package/src/gep/schemas/capsule.js +0 -170
- package/src/gep/schemas/gene.js +0 -154
- package/src/gep/schemas/index.js +0 -8
- package/src/gep/schemas/protocol.js +0 -51
- package/src/gep/schemas/task.js +0 -74
- package/src/gep/selector.js +0 -1
- package/src/gep/selfPR.js +0 -469
- package/src/gep/signals.js +0 -776
- package/src/gep/skill2gep.js +0 -1056
- package/src/gep/skill2gepAudit.js +0 -303
- package/src/gep/skill2recipes.js +0 -511
- package/src/gep/skillDistiller.js +0 -1
- package/src/gep/skillPublisher.js +0 -358
- package/src/gep/solidify.js +0 -1
- package/src/gep/strategy.js +0 -1
- package/src/gep/taskReceiver.js +0 -575
- package/src/gep/tokenSavings.js +0 -1
- package/src/gep/trajectoryExport.js +0 -1
- package/src/gep/validationReport.js +0 -55
- package/src/gep/validator/index.js +0 -411
- package/src/gep/validator/reporter.js +0 -210
- package/src/gep/validator/sandboxExecutor.js +0 -480
- package/src/gep/validator/stakeBootstrap.js +0 -357
- package/src/gep/workspaceKeychain.js +0 -1
- package/src/ops/cleanup.js +0 -80
- package/src/ops/commentary.js +0 -60
- package/src/ops/health_check.js +0 -104
- package/src/ops/index.js +0 -11
- package/src/ops/innovation.js +0 -67
- package/src/ops/lifecycle.js +0 -798
- package/src/ops/self_repair.js +0 -76
- package/src/ops/skills_monitor.js +0 -147
- package/src/ops/trigger.js +0 -33
- package/src/proxy/clientSettings.js +0 -405
- package/src/proxy/envelope.js +0 -59
- package/src/proxy/extensions/dmHandler.js +0 -45
- package/src/proxy/extensions/sessionHandler.js +0 -141
- package/src/proxy/extensions/skillUpdater.js +0 -64
- package/src/proxy/extensions/traceControl.js +0 -1
- package/src/proxy/index.js +0 -1395
- package/src/proxy/inject.js +0 -1
- package/src/proxy/lifecycle/manager.js +0 -1568
- package/src/proxy/mailbox/state.js +0 -207
- package/src/proxy/mailbox/store.js +0 -602
- package/src/proxy/router/cache_passthrough.js +0 -26
- package/src/proxy/router/features.js +0 -84
- package/src/proxy/router/gemini_route.js +0 -154
- package/src/proxy/router/messages_route.js +0 -535
- package/src/proxy/router/model_router.js +0 -113
- package/src/proxy/router/models_route.js +0 -52
- package/src/proxy/router/ollama_route.js +0 -103
- package/src/proxy/router/responses_route.js +0 -170
- package/src/proxy/router/vertex_route.js +0 -110
- package/src/proxy/server/http.js +0 -363
- package/src/proxy/server/routes.js +0 -558
- package/src/proxy/server/settings.js +0 -115
- package/src/proxy/sync/engine.js +0 -179
- package/src/proxy/sync/inbound.js +0 -211
- package/src/proxy/sync/outbound.js +0 -361
- package/src/proxy/task/monitor.js +0 -131
- package/src/proxy/trace/extractor.js +0 -1
- package/src/proxy/trace/usage.js +0 -1
- package/src/solo/breaker.js +0 -25
- package/src/solo/gitGuard.js +0 -65
- package/src/webui/client/clientJs/assets.js +0 -111
- package/src/webui/client/clientJs/bootstrap.js +0 -92
- package/src/webui/client/clientJs/common.js +0 -77
- package/src/webui/client/clientJs/i18n.js +0 -366
- package/src/webui/client/clientJs/index.js +0 -35
- package/src/webui/client/clientJs/interactions.js +0 -351
- package/src/webui/client/clientJs/overview.js +0 -152
- package/src/webui/client/clientJs/personality.js +0 -285
- package/src/webui/client/clientJs/pipelines.js +0 -330
- package/src/webui/client/indexHtml.js +0 -221
- package/src/webui/client/static.js +0 -23
- package/src/webui/client/stylesCss.js +0 -639
- package/src/webui/client/vendor/README.md +0 -15
- package/src/webui/client/vendor/echarts.min.js +0 -45
- package/src/webui/index.js +0 -14
- package/src/webui/observer/assets.js +0 -146
- package/src/webui/observer/index.js +0 -37
- package/src/webui/observer/interactions.js +0 -127
- package/src/webui/observer/jsonl.js +0 -75
- package/src/webui/observer/paths.js +0 -46
- package/src/webui/observer/personality.js +0 -43
- package/src/webui/observer/pipelineEvents.js +0 -58
- package/src/webui/observer/redact.js +0 -63
- package/src/webui/observer/runs.js +0 -356
- package/src/webui/observer/safety.js +0 -57
- package/src/webui/observer/skills.js +0 -70
- package/src/webui/observer/status.js +0 -71
- package/src/webui/server/http.js +0 -138
- package/src/webui/server/routes.js +0 -41
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
// Execution Trace: structured, desensitized evolution execution summary.
|
|
2
|
-
// Built during solidify and optionally shared with Hub via EvolutionEvent payload.
|
|
3
|
-
//
|
|
4
|
-
// Desensitization rules (applied locally, never on Hub):
|
|
5
|
-
// - File paths: basename + extension only (src/utils/retry.js -> retry.js)
|
|
6
|
-
// - Code content: never sent, only statistical metrics (lines, files)
|
|
7
|
-
// - Error messages: type signature only (TypeError: x is not a function -> TypeError)
|
|
8
|
-
// - Environment variables, secrets, user data: stripped entirely
|
|
9
|
-
// - Configurable via EVOLVER_TRACE_LEVEL: none | minimal | standard | collaboration (default: minimal)
|
|
10
|
-
|
|
11
|
-
const path = require('path');
|
|
12
|
-
|
|
13
|
-
const TRACE_LEVELS = { none: 0, minimal: 1, standard: 2, collaboration: 3 };
|
|
14
|
-
|
|
15
|
-
function getTraceLevel() {
|
|
16
|
-
const raw = String(process.env.EVOLVER_TRACE_LEVEL || 'minimal').toLowerCase().trim();
|
|
17
|
-
return TRACE_LEVELS[raw] != null ? raw : 'minimal';
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function desensitizeFilePath(filePath) {
|
|
21
|
-
if (!filePath || typeof filePath !== 'string') return null;
|
|
22
|
-
const ext = path.extname(filePath);
|
|
23
|
-
const base = path.basename(filePath);
|
|
24
|
-
return base || ext || 'unknown';
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function extractErrorSignature(errorText) {
|
|
28
|
-
if (!errorText || typeof errorText !== 'string') return null;
|
|
29
|
-
const text = errorText.trim();
|
|
30
|
-
|
|
31
|
-
// Match common error type patterns: TypeError, ReferenceError, SyntaxError, etc.
|
|
32
|
-
const jsError = text.match(/^((?:[A-Z][a-zA-Z]*)?Error)\b/);
|
|
33
|
-
if (jsError) return jsError[1];
|
|
34
|
-
|
|
35
|
-
// Match errno-style: ECONNRESET, ENOENT, EPERM, etc.
|
|
36
|
-
const errno = text.match(/\b(E[A-Z]{2,})\b/);
|
|
37
|
-
if (errno) return errno[1];
|
|
38
|
-
|
|
39
|
-
// Match HTTP status codes
|
|
40
|
-
const http = text.match(/\b((?:4|5)\d{2})\b/);
|
|
41
|
-
if (http) return 'HTTP_' + http[1];
|
|
42
|
-
|
|
43
|
-
// Fallback: first word if it looks like an error type
|
|
44
|
-
const firstWord = text.split(/[\s:]/)[0];
|
|
45
|
-
if (firstWord && firstWord.length <= 40 && /^[A-Z]/.test(firstWord)) return firstWord;
|
|
46
|
-
|
|
47
|
-
return 'UnknownError';
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function inferToolChain(validationResults, blast) {
|
|
51
|
-
const tools = new Set();
|
|
52
|
-
|
|
53
|
-
if (blast && blast.files > 0) tools.add('file_edit');
|
|
54
|
-
|
|
55
|
-
if (Array.isArray(validationResults)) {
|
|
56
|
-
for (const r of validationResults) {
|
|
57
|
-
const cmd = String(r.cmd || '').trim();
|
|
58
|
-
if (cmd.startsWith('npm test') || cmd.includes('jest') || cmd.includes('mocha')) {
|
|
59
|
-
tools.add('test_run');
|
|
60
|
-
} else if (cmd.includes('lint') || cmd.includes('eslint')) {
|
|
61
|
-
tools.add('lint_check');
|
|
62
|
-
} else if (cmd.includes('validate') || cmd.includes('check')) {
|
|
63
|
-
tools.add('validation_run');
|
|
64
|
-
} else if (cmd.startsWith('node ')) {
|
|
65
|
-
tools.add('node_exec');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return Array.from(tools);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function classifyBlastLevel(blast) {
|
|
74
|
-
if (!blast) return 'unknown';
|
|
75
|
-
const files = Number(blast.files) || 0;
|
|
76
|
-
const lines = Number(blast.lines) || 0;
|
|
77
|
-
if (files <= 3 && lines <= 50) return 'low';
|
|
78
|
-
if (files <= 10 && lines <= 200) return 'medium';
|
|
79
|
-
return 'high';
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function buildExecutionTrace({
|
|
83
|
-
gene,
|
|
84
|
-
mutation,
|
|
85
|
-
signals,
|
|
86
|
-
blast,
|
|
87
|
-
constraintCheck,
|
|
88
|
-
validation,
|
|
89
|
-
canary,
|
|
90
|
-
outcomeStatus,
|
|
91
|
-
startedAt,
|
|
92
|
-
collaborationContext,
|
|
93
|
-
}) {
|
|
94
|
-
const level = getTraceLevel();
|
|
95
|
-
if (level === 'none') return null;
|
|
96
|
-
|
|
97
|
-
const trace = {
|
|
98
|
-
gene_id: gene && gene.id ? String(gene.id) : null,
|
|
99
|
-
mutation_category: (mutation && mutation.category) || (gene && gene.category) || null,
|
|
100
|
-
signals_matched: Array.isArray(signals) ? signals.slice(0, 10) : [],
|
|
101
|
-
outcome: outcomeStatus || 'unknown',
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
// Minimal level: core metrics only
|
|
105
|
-
trace.files_changed_count = blast ? Number(blast.files) || 0 : 0;
|
|
106
|
-
trace.lines_added = 0;
|
|
107
|
-
trace.lines_removed = 0;
|
|
108
|
-
|
|
109
|
-
// Compute added/removed from blast if available
|
|
110
|
-
if (blast && blast.lines) {
|
|
111
|
-
// blast.lines is total churn (added + deleted); split heuristically
|
|
112
|
-
const total = Number(blast.lines) || 0;
|
|
113
|
-
if (outcomeStatus === 'success') {
|
|
114
|
-
trace.lines_added = Math.round(total * 0.6);
|
|
115
|
-
trace.lines_removed = total - trace.lines_added;
|
|
116
|
-
} else {
|
|
117
|
-
trace.lines_added = Math.round(total * 0.5);
|
|
118
|
-
trace.lines_removed = total - trace.lines_added;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
trace.validation_result = validation && validation.ok ? 'pass' : 'fail';
|
|
123
|
-
trace.blast_radius = classifyBlastLevel(blast);
|
|
124
|
-
|
|
125
|
-
// Standard level: richer context
|
|
126
|
-
if (level === 'standard') {
|
|
127
|
-
// Desensitized file list (basenames only)
|
|
128
|
-
if (blast && Array.isArray(blast.changed_files)) {
|
|
129
|
-
trace.file_types = {};
|
|
130
|
-
for (const f of blast.changed_files) {
|
|
131
|
-
const ext = path.extname(f) || '.unknown';
|
|
132
|
-
trace.file_types[ext] = (trace.file_types[ext] || 0) + 1;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Validation commands (already safe -- node/npm/npx only)
|
|
137
|
-
if (validation && Array.isArray(validation.results)) {
|
|
138
|
-
trace.validation_commands = validation.results.map(r => String(r.cmd || '').slice(0, 100));
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// Error signatures (desensitized)
|
|
142
|
-
trace.error_signatures = [];
|
|
143
|
-
if (constraintCheck && Array.isArray(constraintCheck.violations)) {
|
|
144
|
-
for (const v of constraintCheck.violations) {
|
|
145
|
-
// Constraint violations have known prefixes; classify directly
|
|
146
|
-
const vStr = String(v);
|
|
147
|
-
if (vStr.startsWith('max_files')) trace.error_signatures.push('max_files_exceeded');
|
|
148
|
-
else if (vStr.startsWith('forbidden_path')) trace.error_signatures.push('forbidden_path');
|
|
149
|
-
else if (vStr.startsWith('HARD CAP')) trace.error_signatures.push('hard_cap_breach');
|
|
150
|
-
else if (vStr.startsWith('CRITICAL')) trace.error_signatures.push('critical_overrun');
|
|
151
|
-
else if (vStr.startsWith('critical_path')) trace.error_signatures.push('critical_path_modified');
|
|
152
|
-
else if (vStr.startsWith('canary_failed')) trace.error_signatures.push('canary_failed');
|
|
153
|
-
else if (vStr.startsWith('ethics:')) trace.error_signatures.push('ethics_violation');
|
|
154
|
-
else {
|
|
155
|
-
const sig = extractErrorSignature(v);
|
|
156
|
-
if (sig) trace.error_signatures.push(sig);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
if (validation && Array.isArray(validation.results)) {
|
|
161
|
-
for (const r of validation.results) {
|
|
162
|
-
if (!r.ok && r.err) {
|
|
163
|
-
const sig = extractErrorSignature(r.err);
|
|
164
|
-
if (sig && !trace.error_signatures.includes(sig)) {
|
|
165
|
-
trace.error_signatures.push(sig);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
trace.error_signatures = trace.error_signatures.slice(0, 10);
|
|
171
|
-
|
|
172
|
-
// Tool chain inference
|
|
173
|
-
trace.tool_chain = inferToolChain(
|
|
174
|
-
validation && validation.results ? validation.results : [],
|
|
175
|
-
blast
|
|
176
|
-
);
|
|
177
|
-
|
|
178
|
-
// Duration
|
|
179
|
-
if (validation && validation.startedAt && validation.finishedAt) {
|
|
180
|
-
trace.validation_duration_ms = validation.finishedAt - validation.startedAt;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// Canary result
|
|
184
|
-
if (canary && !canary.skipped) {
|
|
185
|
-
trace.canary_ok = !!canary.ok;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Collaboration level: swarm interaction decision traces
|
|
190
|
-
if (level === 'collaboration') {
|
|
191
|
-
// Include everything from standard level
|
|
192
|
-
if (blast && Array.isArray(blast.changed_files)) {
|
|
193
|
-
if (!trace.file_types) {
|
|
194
|
-
trace.file_types = {};
|
|
195
|
-
for (const f of blast.changed_files) {
|
|
196
|
-
const ext = path.extname(f) || '.unknown';
|
|
197
|
-
trace.file_types[ext] = (trace.file_types[ext] || 0) + 1;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (validation && Array.isArray(validation.results)) {
|
|
203
|
-
if (!trace.validation_commands) {
|
|
204
|
-
trace.validation_commands = validation.results.map(r => String(r.cmd || '').slice(0, 100));
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
if (!trace.error_signatures) trace.error_signatures = [];
|
|
209
|
-
if (!trace.tool_chain) {
|
|
210
|
-
trace.tool_chain = inferToolChain(
|
|
211
|
-
validation && validation.results ? validation.results : [],
|
|
212
|
-
blast
|
|
213
|
-
);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
if (canary && !canary.skipped && trace.canary_ok === undefined) {
|
|
217
|
-
trace.canary_ok = !!canary.ok;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
// Collaboration-specific fields
|
|
221
|
-
trace.collaboration = {};
|
|
222
|
-
|
|
223
|
-
if (collaborationContext) {
|
|
224
|
-
const ctx = collaborationContext;
|
|
225
|
-
|
|
226
|
-
if (ctx.roleDecision) {
|
|
227
|
-
trace.collaboration.role_decision = {
|
|
228
|
-
chosen_role: ctx.roleDecision.chosenRole || null,
|
|
229
|
-
reasoning: (ctx.roleDecision.reasoning || '').slice(0, 500),
|
|
230
|
-
alternatives_considered: Array.isArray(ctx.roleDecision.alternatives)
|
|
231
|
-
? ctx.roleDecision.alternatives.slice(0, 5)
|
|
232
|
-
: [],
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
if (ctx.teammateOutputsConsumed) {
|
|
237
|
-
trace.collaboration.context_consumption = Array.isArray(ctx.teammateOutputsConsumed)
|
|
238
|
-
? ctx.teammateOutputsConsumed.slice(0, 10).map(o => ({
|
|
239
|
-
from_node_id: o.fromNodeId || null,
|
|
240
|
-
output_type: o.outputType || 'unknown',
|
|
241
|
-
consumed_bytes: Number(o.consumedBytes) || 0,
|
|
242
|
-
usage_summary: (o.usageSummary || '').slice(0, 200),
|
|
243
|
-
}))
|
|
244
|
-
: [];
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
if (ctx.delegations) {
|
|
248
|
-
trace.collaboration.delegations = Array.isArray(ctx.delegations)
|
|
249
|
-
? ctx.delegations.slice(0, 10).map(d => ({
|
|
250
|
-
to_node_id: d.toNodeId || null,
|
|
251
|
-
task_title: (d.taskTitle || '').slice(0, 100),
|
|
252
|
-
role: d.role || 'builder',
|
|
253
|
-
}))
|
|
254
|
-
: [];
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
if (ctx.reviewFeedback) {
|
|
258
|
-
trace.collaboration.review_feedback = {
|
|
259
|
-
score: Math.max(0, Math.min(100, Number(ctx.reviewFeedback.score) || 0)),
|
|
260
|
-
issues_count: Number(ctx.reviewFeedback.issuesCount) || 0,
|
|
261
|
-
fix_instructions_count: Number(ctx.reviewFeedback.fixInstructionsCount) || 0,
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
if (ctx.roleSwitch) {
|
|
266
|
-
trace.collaboration.role_switch = {
|
|
267
|
-
from_role: ctx.roleSwitch.fromRole || null,
|
|
268
|
-
to_role: ctx.roleSwitch.toRole || null,
|
|
269
|
-
trigger: (ctx.roleSwitch.trigger || '').slice(0, 200),
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
if (ctx.sessionId) trace.collaboration.session_id = ctx.sessionId;
|
|
274
|
-
if (ctx.teamSize) trace.collaboration.team_size = Math.max(0, Number(ctx.teamSize) || 0);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
// Timestamp
|
|
279
|
-
trace.created_at = new Date().toISOString();
|
|
280
|
-
|
|
281
|
-
return trace;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
module.exports = {
|
|
285
|
-
buildExecutionTrace,
|
|
286
|
-
desensitizeFilePath,
|
|
287
|
-
extractErrorSignature,
|
|
288
|
-
inferToolChain,
|
|
289
|
-
classifyBlastLevel,
|
|
290
|
-
getTraceLevel,
|
|
291
|
-
};
|
package/src/gep/explore.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x31e7f1=_0x103d;(function(_0x37a9eb,_0xe7abb8){const _0x4c8239=_0x103d,_0x451e52=_0x37a9eb();while(!![]){try{const _0x478438=-parseInt(_0x4c8239(0x230,'\x6f\x46\x5b\x52'))/(0x476+0x52*-0xb+-0xef)+parseInt(_0x4c8239(0x2af,'\x47\x5d\x26\x37'))/(0x7ad+-0x106e+0x8c3)*(parseInt(_0x4c8239(0x284,'\x47\x57\x4c\x66'))/(-0x1710+0x979+0x1*0xd9a))+parseInt(_0x4c8239(0x36d,'\x6f\x46\x5b\x52'))/(0x1*-0x2a7+0x9*-0x6+0x2e1)*(parseInt(_0x4c8239(0x2bc,'\x71\x46\x72\x41'))/(0x1*-0x1aad+0x1273*-0x1+0x1*0x2d25))+-parseInt(_0x4c8239(0x3b5,'\x57\x4c\x55\x34'))/(0x9bc*0x3+0xf1*-0x1+0x1c3d*-0x1)*(-parseInt(_0x4c8239(0x3b1,'\x5e\x29\x66\x75'))/(-0x92b+-0xece*0x2+0x26ce))+-parseInt(_0x4c8239(0x1f8,'\x28\x76\x6c\x53'))/(0xf1a*0x1+0x13c9+-0x22db)*(parseInt(_0x4c8239(0x37f,'\x32\x65\x30\x6f'))/(-0x23ea+-0x1421+0x3814))+-parseInt(_0x4c8239(0x38d,'\x37\x4b\x41\x5e'))/(0x1*-0x22d9+-0xc6a+0x2f4d)+parseInt(_0x4c8239(0x2fe,'\x52\x4f\x4b\x29'))/(0xed2+-0x10b*-0x8+0x1*-0x171f);if(_0x478438===_0xe7abb8)break;else _0x451e52['push'](_0x451e52['shift']());}catch(_0x36716c){_0x451e52['push'](_0x451e52['shift']());}}}(_0x521b,0xf37d7+0x641*-0x22d+0xa1db0));const _0x19571a=(function(){let _0x2cce33=!![];return function(_0x3f874d,_0x4e80be){const _0x3740b8=_0x103d,_0x256a7b={};_0x256a7b['\x69\x62\x41\x65\x4e']=_0x3740b8(0x337,'\x50\x24\x69\x29');const _0x114132=_0x256a7b,_0x197f6a=_0x2cce33?function(){const _0x2d5821=_0x3740b8;if(_0x114132[_0x2d5821(0x2b8,'\x75\x4a\x25\x73')]!==_0x114132['\x69\x62\x41\x65\x4e'])return{};else{if(_0x4e80be){const _0x346611=_0x4e80be[_0x2d5821(0x24a,'\x34\x51\x6c\x67')](_0x3f874d,arguments);return _0x4e80be=null,_0x346611;}}}:function(){};return _0x2cce33=![],_0x197f6a;};}()),_0x251a76=_0x19571a(this,function(){const _0xa1d660=_0x103d,_0x5c0223={};_0x5c0223[_0xa1d660(0x38b,'\x66\x61\x75\x23')]=_0xa1d660(0x35f,'\x48\x36\x5e\x4c')+_0xa1d660(0x3b6,'\x55\x34\x5a\x38');const _0x145e21=_0x5c0223;return _0x251a76[_0xa1d660(0x3bd,'\x51\x77\x57\x41')]()[_0xa1d660(0x27c,'\x66\x61\x75\x23')](_0x145e21['\x71\x70\x43\x4f\x47'])[_0xa1d660(0x205,'\x33\x5a\x5d\x33')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0xa1d660(0x298,'\x33\x5a\x5d\x33')](_0x251a76)[_0xa1d660(0x387,'\x74\x24\x73\x44')](_0xa1d660(0x292,'\x34\x51\x6c\x67')+_0xa1d660(0x34b,'\x47\x71\x53\x52'));});_0x251a76();'use strict';const _0x29a8a9=require('\x66\x73'),_0x1b59f5=require(_0x31e7f1(0x3ad,'\x43\x50\x4e\x55')),{execSync:_0x1c0d86}=require('\x63\x68\x69\x6c\x64\x5f\x70\x72'+_0x31e7f1(0x376,'\x47\x5d\x26\x37')),_0x5e17fd=(-0x12f7+0x21c9+-0x4*0x3b2)*(0x69+0x1065*-0x2+-0x2461*-0x1)*(0x9e1+0x17da+0x81*-0x3b),{getEvolutionDir:_0x535b2b,getRepoRoot:_0x2daf58}=require('\x2e\x2f\x70\x61\x74\x68\x73'),_0x3fc85d=String(process.env.EVOLVER_EXPLORE_ENABLED||_0x31e7f1(0x1ff,'\x47\x57\x4c\x66'))['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x31e7f1(0x308,'\x62\x21\x36\x52')]()!==_0x31e7f1(0x1fe,'\x66\x24\x36\x6c'),_0x558e7d=parseInt(process.env.EVOLVER_EXPLORE_COOLDOWN_MS||'\x31\x38\x30\x30\x30\x30\x30',0x1*0x26db+-0x2*-0x10ac+0x1*-0x4829)||0xfcd72+0x11855*-0x1f+0x2d9c19,_0x3c37a4=(process.env.EVOLVER_EXPLORE_ARXIV_CATEGORIES||_0x31e7f1(0x245,'\x52\x4f\x4b\x29')+_0x31e7f1(0x36f,'\x6f\x46\x5b\x52'))[_0x31e7f1(0x389,'\x33\x5a\x5d\x33')]('\x2c')[_0x31e7f1(0x332,'\x75\x4a\x25\x73')](_0x52df8c=>_0x52df8c[_0x31e7f1(0x30d,'\x49\x61\x78\x5b')]())[_0x31e7f1(0x238,'\x57\x4c\x55\x34')](Boolean),_0x5f588b=parseInt(process.env.EVOLVER_EXPLORE_STALE_DAYS||'\x33\x30',-0x2b*-0xb+-0x2631*-0x1+-0x5*0x800)||0xb*-0xe+0x1abf*-0x1+-0x59*-0x4f,_0x8ffcd2=0x4b*-0x2f+-0x220d+-0x2*-0x17f3,_0x2a1093=0x796*-0x3+-0x84f*0x1+0x1f1b,_0x23bc67=0x1deb+-0x92e+-0xe5*0x15;function _0x3c4be5(){const _0x2e13a7=_0x31e7f1,_0xb78783={'\x42\x49\x6b\x6c\x56':function(_0x597334){return _0x597334();},'\x6e\x74\x55\x55\x41':_0x2e13a7(0x2b5,'\x47\x71\x53\x52')+_0x2e13a7(0x371,'\x66\x24\x36\x6c')+_0x2e13a7(0x1ef,'\x55\x34\x5a\x38')};return _0x1b59f5['\x6a\x6f\x69\x6e'](_0xb78783[_0x2e13a7(0x2c8,'\x52\x4f\x4b\x29')](_0x535b2b),_0xb78783[_0x2e13a7(0x3aa,'\x30\x69\x32\x66')]);}function _0x11f493(){const _0x343ae2=_0x31e7f1,_0xf4be24={'\x44\x52\x5a\x79\x72':function(_0x52da94,_0x59c566){return _0x52da94-_0x59c566;},'\x66\x72\x57\x4c\x55':function(_0x36854e,_0x1fc357){return _0x36854e*_0x1fc357;},'\x6d\x41\x41\x59\x43':_0x343ae2(0x3b8,'\x64\x5e\x6c\x67'),'\x52\x70\x6a\x56\x58':'\x73\x74\x61\x6c\x65\x5f\x66\x69'+'\x6c\x65','\x6e\x6e\x6b\x73\x74':function(_0x3fee52,_0x5cb5a5){return _0x3fee52===_0x5cb5a5;},'\x6b\x42\x66\x58\x6e':_0x343ae2(0x217,'\x37\x4b\x41\x5e'),'\x72\x75\x53\x79\x6d':function(_0x34c5cf){return _0x34c5cf();},'\x67\x77\x65\x4d\x75':_0x343ae2(0x2b4,'\x46\x5d\x34\x73')};try{if(_0xf4be24[_0x343ae2(0x261,'\x2a\x6e\x4e\x58')](_0xf4be24[_0x343ae2(0x2e2,'\x70\x59\x66\x40')],_0xf4be24[_0x343ae2(0x339,'\x43\x50\x4e\x55')])){const _0xdfdce3=_0x29a8a9[_0x343ae2(0x2e5,'\x71\x46\x72\x41')+_0x343ae2(0x38f,'\x74\x24\x73\x44')](_0xf4be24[_0x343ae2(0x22b,'\x29\x48\x5a\x35')](_0x3c4be5),_0xf4be24[_0x343ae2(0x3a7,'\x51\x4e\x76\x41')]);return JSON[_0x343ae2(0x2bf,'\x51\x4e\x76\x41')](_0xdfdce3);}else{const _0x46a7ef=_0x54b2d3['\x73\x74\x61\x74\x53\x79\x6e\x63'](_0x186481[_0x343ae2(0x28d,'\x36\x4d\x42\x74')](_0x490709,_0x3f9122)),_0x54dae0=_0xe653f7[_0x343ae2(0x29c,'\x71\x78\x41\x4d')](_0xf4be24[_0x343ae2(0x364,'\x5d\x25\x53\x55')](_0x46139b,_0x46a7ef[_0x343ae2(0x259,'\x57\x4c\x55\x34')])/(_0xf4be24['\x66\x72\x57\x4c\x55'](_0xf4be24[_0x343ae2(0x2d0,'\x28\x4f\x34\x67')](-0x1*-0x219b+-0x2308+-0x1*-0x185,0x1db+0x2*0x243+-0xd*0x79),-0x199e+0x25e*0xb+0x6*-0x8)*(0x1d2c+-0x10e7+-0x85d))),_0x2d23f2={};_0x2d23f2[_0x343ae2(0x23c,'\x66\x24\x36\x6c')]=_0xf4be24[_0x343ae2(0x231,'\x43\x50\x4e\x55')],_0x2d23f2['\x63\x61\x74\x65\x67\x6f\x72\x79']=_0xf4be24[_0x343ae2(0x358,'\x25\x6d\x45\x37')],_0x2d23f2['\x66\x69\x6c\x65']=_0x1527bc,_0x2d23f2[_0x343ae2(0x2ed,'\x47\x5d\x26\x37')]=_0x54dae0,_0x2d23f2[_0x343ae2(0x313,'\x66\x61\x75\x23')+'\x65\x73']=_0x46a7ef[_0x343ae2(0x29f,'\x66\x61\x75\x23')],_0x368563[_0x343ae2(0x256,'\x43\x50\x4e\x55')](_0x2d23f2);}}catch(_0x2a5955){return{};}}function _0x165126(_0x17bbf4){const _0x571bac=_0x31e7f1,_0x1f8f71={'\x46\x72\x61\x45\x51':function(_0x2d56c2){return _0x2d56c2();},'\x4a\x41\x43\x72\x47':function(_0x33dcfb,_0x3755d6){return _0x33dcfb+_0x3755d6;},'\x50\x65\x6c\x44\x54':'\x2e\x74\x6d\x70','\x48\x6e\x67\x68\x56':function(_0x35ad74,_0x22b902){return _0x35ad74+_0x22b902;},'\x71\x4b\x69\x53\x46':'\x75\x74\x66\x38'},_0x20f00e=_0x1f8f71[_0x571bac(0x28e,'\x48\x36\x5e\x4c')](_0x535b2b),_0x5b261e=_0x3c4be5();try{const _0x1e9939={};_0x1e9939[_0x571bac(0x1f6,'\x33\x5a\x5d\x33')+'\x65']=!![];if(!_0x29a8a9[_0x571bac(0x2b2,'\x43\x50\x4e\x55')+'\x6e\x63'](_0x20f00e))_0x29a8a9[_0x571bac(0x2c5,'\x52\x4f\x4b\x29')+'\x63'](_0x20f00e,_0x1e9939);const _0x991082={'\x6c\x61\x73\x74\x5f\x65\x78\x70\x6c\x6f\x72\x65\x5f\x61\x74':new Date()[_0x571bac(0x206,'\x48\x36\x5e\x4c')+_0x571bac(0x34e,'\x28\x4f\x34\x67')](),'\x6c\x61\x73\x74\x5f\x65\x78\x70\x6c\x6f\x72\x65\x5f\x74\x73':Date[_0x571bac(0x2ae,'\x25\x6d\x45\x37')](),'\x72\x65\x73\x75\x6c\x74\x5f\x63\x6f\x75\x6e\x74':_0x17bbf4[_0x571bac(0x273,'\x5a\x57\x70\x69')],'\x72\x65\x73\x75\x6c\x74\x73':_0x17bbf4[_0x571bac(0x222,'\x32\x65\x30\x6f')](-0x148c+0x1c*-0x2b+-0x328*-0x8,-0x19*0x12f+0x1e49+0x25*-0x4)},_0x4c0c63=_0x1f8f71['\x4a\x41\x43\x72\x47'](_0x5b261e,_0x1f8f71['\x50\x65\x6c\x44\x54']);_0x29a8a9['\x77\x72\x69\x74\x65\x46\x69\x6c'+_0x571bac(0x224,'\x5e\x29\x66\x75')](_0x4c0c63,_0x1f8f71[_0x571bac(0x3bc,'\x64\x57\x32\x37')](JSON[_0x571bac(0x2f1,'\x34\x51\x6c\x67')+'\x79'](_0x991082,null,-0x161*0x9+-0xceb*-0x2+-0xd6b),'\x0a'),_0x1f8f71[_0x571bac(0x227,'\x36\x72\x24\x43')]),_0x29a8a9[_0x571bac(0x365,'\x52\x4f\x4b\x29')+'\x6e\x63'](_0x4c0c63,_0x5b261e);}catch(_0x278da4){}}function _0x201d6d(_0x186907,_0x1d0605){const _0x1f4b67=_0x31e7f1,_0x2f9fa5={'\x59\x43\x45\x53\x69':function(_0x1c5c6c,_0x5c6325){return _0x1c5c6c<_0x5c6325;},'\x50\x52\x61\x75\x6d':_0x1f4b67(0x30c,'\x57\x4c\x55\x34')+_0x1f4b67(0x235,'\x4b\x4e\x48\x73')+_0x1f4b67(0x2dd,'\x64\x57\x32\x37'),'\x4e\x65\x77\x4f\x70':function(_0x55f146){return _0x55f146();},'\x50\x51\x52\x51\x58':function(_0x55e125,_0x3f9b60){return _0x55e125<_0x3f9b60;},'\x44\x62\x7a\x6f\x43':function(_0x5ee0ea){return _0x5ee0ea();},'\x59\x6b\x51\x7a\x62':function(_0x2fca21,_0x14a43c){return _0x2fca21-_0x14a43c;},'\x71\x45\x51\x4b\x6f':function(_0x25e467,_0x417dc7){return _0x25e467!==_0x417dc7;},'\x4a\x76\x65\x4a\x63':_0x1f4b67(0x324,'\x49\x61\x78\x5b'),'\x69\x51\x73\x4e\x4e':'\x54\x78\x79\x71\x56','\x62\x59\x54\x6d\x4b':function(_0x4fbb53){return _0x4fbb53();}};if(!_0x3fc85d)return![];if(_0x1d0605&&_0x1d0605[_0x1f4b67(0x395,'\x53\x65\x39\x65')+_0x1f4b67(0x20d,'\x53\x65\x39\x65')]){const _0x3b2445=_0x2f9fa5[_0x1f4b67(0x295,'\x28\x4f\x34\x67')](_0x11f493),_0x25e300=_0x3b2445[_0x1f4b67(0x3a2,'\x71\x46\x72\x41')+_0x1f4b67(0x26a,'\x5d\x25\x53\x55')]||0x9+-0x2*0x287+0x505;if(_0x2f9fa5[_0x1f4b67(0x294,'\x32\x65\x30\x6f')](_0x2f9fa5[_0x1f4b67(0x2ef,'\x73\x53\x7a\x49')](Date[_0x1f4b67(0x333,'\x44\x68\x6b\x6f')](),_0x25e300),_0x558e7d))return![];return!![];}const _0x5e0267=Array[_0x1f4b67(0x381,'\x62\x21\x36\x52')](_0x186907)?_0x186907:[];if(_0x5e0267[_0x1f4b67(0x2eb,'\x5e\x29\x66\x75')](_0x2f9fa5[_0x1f4b67(0x3b0,'\x43\x50\x4e\x55')])){if(_0x2f9fa5[_0x1f4b67(0x2cb,'\x73\x53\x7a\x49')](_0x2f9fa5[_0x1f4b67(0x233,'\x32\x65\x30\x6f')],_0x2f9fa5[_0x1f4b67(0x249,'\x6a\x63\x37\x75')])){const _0xbb85d5=_0x2f9fa5[_0x1f4b67(0x28f,'\x63\x64\x6e\x55')](_0x11f493),_0x465031=_0xbb85d5[_0x1f4b67(0x2e1,'\x4b\x4e\x48\x73')+_0x1f4b67(0x2ad,'\x71\x46\x72\x41')]||0xbf0+-0x36f+-0x137*0x7;if(_0x2f9fa5[_0x1f4b67(0x3b2,'\x71\x78\x41\x4d')](_0x2f9fa5['\x59\x6b\x51\x7a\x62'](Date['\x6e\x6f\x77'](),_0x465031),_0x558e7d))return![];return!![];}else{if(!_0x553d0d)return![];if(_0x107bb2&&_0x4626b5[_0x1f4b67(0x2b7,'\x66\x61\x75\x23')+_0x1f4b67(0x27b,'\x73\x53\x7a\x49')]){const _0x393255=_0x15e195(),_0x4662de=_0x393255[_0x1f4b67(0x31b,'\x52\x4f\x4b\x29')+_0x1f4b67(0x21b,'\x48\x36\x5e\x4c')]||0x10f*0x10+0x15f1+-0x26e1;if(_0x2f9fa5[_0x1f4b67(0x3a1,'\x48\x36\x5e\x4c')](_0x2daaa9[_0x1f4b67(0x22a,'\x66\x61\x75\x23')]()-_0x4662de,_0x144ed7))return![];return!![];}const _0x9d4bfd=_0x338a8c[_0x1f4b67(0x293,'\x64\x57\x32\x37')](_0x10648a)?_0x42534f:[];if(_0x9d4bfd[_0x1f4b67(0x250,'\x44\x68\x6b\x6f')](_0x2f9fa5[_0x1f4b67(0x22f,'\x66\x24\x36\x6c')])){const _0x5d9816=_0x2f9fa5[_0x1f4b67(0x33d,'\x44\x68\x6b\x6f')](_0x170b8b),_0x3c89dc=_0x5d9816[_0x1f4b67(0x31f,'\x48\x36\x5e\x4c')+_0x1f4b67(0x2ad,'\x71\x46\x72\x41')]||-0xc*-0x27f+-0x97*-0x2b+-0x3751;if(_0x2f9fa5[_0x1f4b67(0x210,'\x30\x69\x32\x66')](_0x47d839[_0x1f4b67(0x29e,'\x28\x76\x6c\x53')]()-_0x3c89dc,_0x112982))return![];return!![];}return![];}}return![];}function _0x901301(_0x311dd7){const _0x5b2d37=_0x31e7f1,_0x19ac1c={'\x44\x66\x6d\x70\x4d':function(_0x2f16e4){return _0x2f16e4();},'\x79\x4e\x74\x42\x4f':function(_0x56ad36,_0x2be266,_0x56fedd){return _0x56ad36(_0x2be266,_0x56fedd);}},_0x54bc6f=[],_0x568656=_0x311dd7||_0x19ac1c[_0x5b2d37(0x36b,'\x34\x51\x6c\x67')](_0x2daf58);return _0x4b35d6(_0x568656,_0x54bc6f),_0x19ac1c[_0x5b2d37(0x1f7,'\x33\x5a\x5d\x33')](_0x28fe24,_0x568656,_0x54bc6f),_0x19ac1c[_0x5b2d37(0x20a,'\x74\x30\x78\x78')](_0x112f05,_0x568656,_0x54bc6f),_0x54bc6f[_0x5b2d37(0x267,'\x2a\x6e\x4e\x58')](0xaf8+-0x2a5+-0x853*0x1,_0x8ffcd2);}function _0x49976c(_0x4ef364){const _0x1d49d8=_0x31e7f1;return/node_modules|\.git\/|dist\/|build\/|\.min\.js|package-lock|\.lock$|\.map$/[_0x1d49d8(0x2ff,'\x47\x71\x53\x52')](_0x4ef364);}function _0x82433e(_0x341f43){const _0x534bc0=_0x31e7f1;return/\.(js|ts|py|mjs|cjs|jsx|tsx)$/[_0x534bc0(0x23e,'\x66\x61\x75\x23')](_0x341f43);}function _0x4b35d6(_0x37b72f,_0x3928d1){const _0xb7ae8=_0x31e7f1,_0x3289a6={'\x52\x45\x48\x78\x58':function(_0x1b6f3f,_0xf7661c){return _0x1b6f3f===_0xf7661c;},'\x7a\x6a\x6f\x4e\x46':function(_0x4c259c,_0x52af45){return _0x4c259c+_0x52af45;},'\x4c\x4b\x69\x5a\x72':_0xb7ae8(0x35c,'\x33\x5a\x5d\x33')+_0xb7ae8(0x260,'\x74\x30\x78\x78')+_0xb7ae8(0x276,'\x70\x59\x66\x40')+_0xb7ae8(0x35e,'\x66\x61\x75\x23')+_0xb7ae8(0x39b,'\x53\x65\x39\x65')+_0xb7ae8(0x287,'\x52\x4f\x4b\x29')+_0xb7ae8(0x1f3,'\x2a\x6e\x4e\x58'),'\x51\x65\x66\x6b\x4e':function(_0x255f7a,_0x595f8d,_0x31ae2f){return _0x255f7a(_0x595f8d,_0x31ae2f);},'\x42\x53\x61\x49\x78':_0xb7ae8(0x2d3,'\x29\x48\x5a\x35'),'\x72\x66\x70\x49\x6e':_0xb7ae8(0x309,'\x37\x4b\x41\x5e'),'\x59\x4d\x77\x66\x6c':function(_0xa5b27d,_0x4adcac){return _0xa5b27d(_0x4adcac);},'\x45\x75\x47\x56\x56':_0xb7ae8(0x304,'\x44\x68\x6b\x6f'),'\x4b\x50\x4e\x6e\x44':_0xb7ae8(0x2ea,'\x50\x24\x69\x29')+'\x6d\x65\x6e\x74'};if(_0x3289a6[_0xb7ae8(0x281,'\x44\x68\x6b\x6f')](process[_0xb7ae8(0x378,'\x2a\x6e\x4e\x58')],_0xb7ae8(0x33e,'\x74\x30\x78\x78')))return;try{const _0x179aa2=_0x3289a6[_0xb7ae8(0x272,'\x55\x34\x5a\x38')](_0xb7ae8(0x34d,'\x66\x45\x6c\x52')+_0xb7ae8(0x24e,'\x6a\x63\x37\x75')+_0xb7ae8(0x278,'\x71\x46\x72\x41')+_0xb7ae8(0x26e,'\x28\x4f\x34\x67')+_0xb7ae8(0x343,'\x36\x72\x24\x43')+_0xb7ae8(0x25d,'\x32\x65\x30\x6f')+_0xb7ae8(0x28a,'\x48\x36\x5e\x4c')+_0xb7ae8(0x34f,'\x64\x5e\x6c\x67'),_0x3289a6['\x4c\x4b\x69\x5a\x72']),_0xb972cd=_0x3289a6[_0xb7ae8(0x2d6,'\x5d\x25\x53\x55')](_0x1c0d86,_0x179aa2,{'\x63\x77\x64':_0x37b72f,'\x74\x69\x6d\x65\x6f\x75\x74':0x2710,'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x3289a6[_0xb7ae8(0x2ca,'\x74\x24\x73\x44')],'\x73\x74\x64\x69\x6f':[_0x3289a6[_0xb7ae8(0x266,'\x51\x4e\x76\x41')],_0x3289a6[_0xb7ae8(0x307,'\x71\x78\x41\x4d')],_0x3289a6[_0xb7ae8(0x26b,'\x49\x61\x78\x5b')]],'\x6d\x61\x78\x42\x75\x66\x66\x65\x72':_0x5e17fd}),_0x109268=_0xb972cd[_0xb7ae8(0x3bb,'\x75\x4a\x25\x73')]('\x0a')[_0xb7ae8(0x24d,'\x66\x24\x36\x6c')](Boolean),_0x5587e1=new Set();for(const _0x515d0b of _0x109268){const _0x219b27=_0x515d0b[_0xb7ae8(0x23d,'\x55\x34\x5a\x38')](/^\.\/(.+?):(\d+):\s*(.*)$/);if(!_0x219b27)continue;const [,_0x3aed15,_0xf945bc,_0x2de07e]=_0x219b27;if(_0x3289a6[_0xb7ae8(0x290,'\x5a\x57\x70\x69')](_0x49976c,_0x3aed15))continue;const _0x40e7d8=_0x3289a6[_0xb7ae8(0x239,'\x5a\x57\x70\x69')](_0x3aed15,'\x3a')+_0xf945bc;if(_0x5587e1['\x68\x61\x73'](_0x40e7d8))continue;_0x5587e1['\x61\x64\x64'](_0x40e7d8);const _0x529e0b=(_0x2de07e[_0xb7ae8(0x29a,'\x43\x50\x4e\x55')](/\b(TODO|FIXME|HACK|XXX)\b/i)||[_0x3289a6[_0xb7ae8(0x38a,'\x66\x24\x36\x6c')]])[0x25d7*-0x1+0x1*-0x1499+0x3a70]['\x74\x6f\x55\x70\x70\x65\x72\x43'+_0xb7ae8(0x377,'\x66\x24\x36\x6c')]();_0x3928d1[_0xb7ae8(0x392,'\x55\x34\x5a\x38')]({'\x74\x79\x70\x65':'\x69\x6e\x74\x65\x72\x6e\x61\x6c','\x63\x61\x74\x65\x67\x6f\x72\x79':_0x3289a6[_0xb7ae8(0x296,'\x46\x5d\x34\x73')],'\x74\x61\x67':_0x529e0b,'\x66\x69\x6c\x65':_0x3aed15,'\x6c\x69\x6e\x65':parseInt(_0xf945bc,-0xfef*-0x2+-0x1*0x997+0x1*-0x163d),'\x73\x6e\x69\x70\x70\x65\x74':_0x2de07e[_0xb7ae8(0x312,'\x66\x24\x36\x6c')]()[_0xb7ae8(0x214,'\x43\x50\x4e\x55')](0x2e*-0xa6+-0x284+0x564*0x6,-0xc1+0x1*-0x1c2d+0x1*0x1db6)});}}catch(_0x1cac3b){}}function _0x28fe24(_0x4d09f5,_0x1ef352){const _0x344d51=_0x31e7f1,_0x24c392={'\x73\x6e\x63\x6b\x48':function(_0x17ee15,_0x236ed8){return _0x17ee15===_0x236ed8;},'\x48\x54\x79\x72\x74':_0x344d51(0x2e7,'\x66\x45\x6c\x52'),'\x68\x6a\x79\x78\x48':function(_0x147d2e,_0x1813bd){return _0x147d2e===_0x1813bd;},'\x51\x52\x43\x4e\x6c':function(_0x3619bf,_0x2de645){return _0x3619bf*_0x2de645;},'\x47\x53\x70\x44\x63':function(_0x2efeac,_0xd213a6){return _0x2efeac*_0xd213a6;},'\x73\x7a\x56\x78\x71':function(_0x5451dc,_0x27ed5f){return _0x5451dc*_0x27ed5f;},'\x58\x53\x4f\x43\x4e':_0x344d51(0x328,'\x51\x4e\x76\x41'),'\x69\x6f\x63\x5a\x52':function(_0x21fa40,_0x590b78){return _0x21fa40+_0x590b78;},'\x57\x6e\x79\x4f\x6b':function(_0x533432,_0x3b97f7,_0x52ad5f){return _0x533432(_0x3b97f7,_0x52ad5f);},'\x70\x72\x57\x6f\x7a':_0x344d51(0x32a,'\x37\x4b\x41\x5e'),'\x67\x4d\x4f\x43\x74':_0x344d51(0x218,'\x6f\x46\x5b\x52'),'\x49\x65\x55\x59\x76':function(_0x491e01,_0x226fff){return _0x491e01(_0x226fff);},'\x57\x65\x6f\x48\x49':function(_0x1c5248,_0x26097b){return _0x1c5248/_0x26097b;},'\x65\x44\x47\x4d\x77':function(_0x1b2d4e,_0x26210c){return _0x1b2d4e-_0x26210c;},'\x75\x70\x6f\x71\x58':_0x344d51(0x331,'\x64\x5e\x6c\x67')+'\x6c\x65'};if(_0x24c392[_0x344d51(0x2d5,'\x50\x24\x69\x29')](process[_0x344d51(0x3ae,'\x50\x24\x69\x29')],_0x344d51(0x2a4,'\x55\x34\x5a\x38')))return;const _0x5186c6=_0x24c392[_0x344d51(0x2a9,'\x47\x71\x53\x52')](_0x24c392[_0x344d51(0x314,'\x44\x68\x6b\x6f')](_0x24c392[_0x344d51(0x302,'\x47\x57\x4c\x66')](_0x24c392[_0x344d51(0x2ab,'\x33\x5a\x5d\x33')](_0x5f588b,-0x2a7+-0x3f+0x2fe),-0x17*0xf4+0x565*0x3+0x5f9*0x1),-0xa16*-0x2+-0x2c1*-0x2+0x1*-0x1972),-0x1398+0x2*0xee4+-0x648),_0x2163db=Date[_0x344d51(0x262,'\x2a\x6e\x4e\x58')]();try{if(_0x24c392[_0x344d51(0x268,'\x4b\x4e\x48\x73')]===_0x24c392[_0x344d51(0x32d,'\x5a\x57\x70\x69')]){const _0x66b9cc=_0x24c392['\x69\x6f\x63\x5a\x52'](_0x344d51(0x384,'\x43\x50\x4e\x55')+_0x344d51(0x31e,'\x47\x71\x53\x52')+_0x344d51(0x2e6,'\x50\x24\x69\x29')+_0x344d51(0x386,'\x36\x4d\x42\x74')+_0x344d51(0x326,'\x74\x30\x78\x78')+'\x22\x2a\x2e\x74\x73\x22\x20\x2d'+_0x344d51(0x2fd,'\x6f\x46\x5b\x52')+_0x344d51(0x372,'\x36\x4d\x42\x74')+'\x29\x20',_0x344d51(0x285,'\x36\x4d\x42\x74')+_0x344d51(0x29b,'\x53\x65\x39\x65')+_0x344d51(0x280,'\x25\x6d\x45\x37')+_0x344d51(0x247,'\x5e\x29\x66\x75')+_0x344d51(0x219,'\x71\x78\x41\x4d')+_0x344d51(0x398,'\x62\x21\x36\x52')+_0x344d51(0x351,'\x28\x4f\x34\x67')+_0x344d51(0x2a0,'\x25\x6d\x45\x37')+_0x344d51(0x383,'\x33\x5a\x5d\x33')+'\x22\x20')+(_0x344d51(0x22d,'\x75\x4a\x25\x73')+_0x5f588b+(_0x344d51(0x223,'\x71\x78\x41\x4d')+_0x344d51(0x242,'\x51\x4e\x76\x41')+_0x344d51(0x2c7,'\x34\x51\x6c\x67'))),_0x2501b6=_0x24c392[_0x344d51(0x26c,'\x73\x53\x7a\x49')](_0x1c0d86,_0x66b9cc,{'\x63\x77\x64':_0x4d09f5,'\x74\x69\x6d\x65\x6f\x75\x74':0x2710,'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x24c392[_0x344d51(0x277,'\x6a\x63\x37\x75')],'\x73\x74\x64\x69\x6f':[_0x24c392[_0x344d51(0x2e0,'\x48\x36\x5e\x4c')],_0x344d51(0x3a0,'\x66\x45\x6c\x52'),_0x24c392[_0x344d51(0x2be,'\x73\x53\x7a\x49')]],'\x6d\x61\x78\x42\x75\x66\x66\x65\x72':_0x5e17fd}),_0x48ba83=_0x2501b6[_0x344d51(0x394,'\x53\x65\x39\x65')]('\x0a')['\x66\x69\x6c\x74\x65\x72'](Boolean);for(const _0x2223ce of _0x48ba83){const _0x2100d7=_0x2223ce[_0x344d51(0x33a,'\x56\x72\x74\x23')](/^\.\//,'');if(_0x24c392[_0x344d51(0x322,'\x73\x53\x7a\x49')](_0x49976c,_0x2100d7))continue;try{const _0x2b3ccf=_0x29a8a9['\x73\x74\x61\x74\x53\x79\x6e\x63'](_0x1b59f5[_0x344d51(0x232,'\x44\x68\x6b\x6f')](_0x4d09f5,_0x2100d7)),_0x40c703=Math['\x66\x6c\x6f\x6f\x72'](_0x24c392[_0x344d51(0x31d,'\x34\x51\x6c\x67')](_0x24c392[_0x344d51(0x2f4,'\x57\x4c\x55\x34')](_0x2163db,_0x2b3ccf['\x6d\x74\x69\x6d\x65\x4d\x73']),_0x24c392[_0x344d51(0x228,'\x47\x5d\x26\x37')](_0x24c392['\x51\x52\x43\x4e\x6c']((0x1acf*-0x1+0x540*0x1+0x1*0x15a7)*(0x156e*-0x1+0x6*0x2d1+0x4c4),-0x1a23*0x1+0xb*-0x2ae+0x37d9),-0x3*0xc37+-0xae6+0x3373*0x1))),_0x4735ab={};_0x4735ab[_0x344d51(0x21f,'\x47\x57\x4c\x66')]=_0x24c392[_0x344d51(0x269,'\x47\x71\x53\x52')],_0x4735ab[_0x344d51(0x2ce,'\x66\x24\x36\x6c')]=_0x24c392[_0x344d51(0x2db,'\x37\x4b\x41\x5e')],_0x4735ab[_0x344d51(0x349,'\x36\x4d\x42\x74')]=_0x2100d7,_0x4735ab['\x61\x67\x65\x5f\x64\x61\x79\x73']=_0x40c703,_0x4735ab[_0x344d51(0x270,'\x5e\x29\x66\x75')+'\x65\x73']=_0x2b3ccf[_0x344d51(0x33c,'\x71\x46\x72\x41')],_0x1ef352[_0x344d51(0x257,'\x28\x76\x6c\x53')](_0x4735ab);}catch(_0xf3c589){}}}else{let _0x392bf6;_0x24c392[_0x344d51(0x3a3,'\x32\x65\x30\x6f')](_0x298a74[_0x344d51(0x35b,'\x30\x69\x32\x66')],_0x24c392['\x48\x54\x79\x72\x74'])?_0x392bf6=_0x344d51(0x2d2,'\x66\x45\x6c\x52')+'\x69\x6e\x74\x65\x72\x6e\x61\x6c'+'\x3a'+_0x6424b1[_0x344d51(0x2a3,'\x49\x61\x78\x5b')]:_0x392bf6=_0x344d51(0x201,'\x4b\x4e\x48\x73')+_0x344d51(0x396,'\x55\x34\x5a\x38')+'\x3a'+_0x2daaab[_0x344d51(0x2ba,'\x5e\x29\x66\x75')],!_0x426afa[_0x344d51(0x21c,'\x28\x4f\x34\x67')](_0x392bf6)&&(_0x302f8a['\x61\x64\x64'](_0x392bf6),_0x52c245[_0x344d51(0x348,'\x71\x46\x72\x41')](_0x392bf6));}}catch(_0x46fa12){}}function _0x112f05(_0x3fa05b,_0x229087){const _0x4d3d35=_0x31e7f1,_0x5d2a81={'\x58\x7a\x48\x79\x48':_0x4d3d35(0x2e4,'\x57\x4c\x55\x34'),'\x66\x6a\x4c\x61\x51':function(_0x281b91,_0x3e8b99){return _0x281b91+_0x3e8b99;},'\x72\x53\x65\x75\x65':function(_0x428d78,_0x835550,_0x484d89){return _0x428d78(_0x835550,_0x484d89);},'\x7a\x49\x66\x74\x67':_0x4d3d35(0x390,'\x66\x45\x6c\x52'),'\x4d\x76\x70\x48\x5a':_0x4d3d35(0x39c,'\x28\x76\x6c\x53'),'\x44\x69\x5a\x78\x63':function(_0x3d6b7f,_0x5a76be){return _0x3d6b7f!==_0x5a76be;},'\x58\x77\x47\x79\x62':_0x4d3d35(0x2c2,'\x6c\x52\x43\x53'),'\x5a\x6b\x6b\x62\x61':function(_0x1e2283,_0x2ad812,_0x528a24){return _0x1e2283(_0x2ad812,_0x528a24);},'\x57\x6d\x4e\x76\x77':function(_0x8aa29,_0x3e966f){return _0x8aa29<_0x3e966f;},'\x68\x6a\x6d\x73\x6c':function(_0x50ca07,_0x2e0054){return _0x50ca07(_0x2e0054);},'\x49\x6b\x79\x41\x51':function(_0x46d7d6,_0x459006){return _0x46d7d6===_0x459006;},'\x71\x56\x64\x59\x73':_0x4d3d35(0x1f4,'\x36\x4d\x42\x74')};if(process[_0x4d3d35(0x255,'\x56\x72\x74\x23')]===_0x5d2a81[_0x4d3d35(0x236,'\x47\x5d\x26\x37')])return;try{const _0x55f76d=_0x5d2a81['\x66\x6a\x4c\x61\x51']('\x66\x69\x6e\x64\x20\x2e\x20\x2d'+_0x4d3d35(0x397,'\x6c\x52\x43\x53')+_0x4d3d35(0x21a,'\x51\x77\x57\x41')+_0x4d3d35(0x2fc,'\x37\x4b\x41\x5e')+_0x4d3d35(0x2fd,'\x6f\x46\x5b\x52')+_0x4d3d35(0x25e,'\x49\x61\x78\x5b')+'\x29\x20',_0x4d3d35(0x2b1,'\x4b\x4e\x48\x73')+_0x4d3d35(0x279,'\x57\x4c\x55\x34')+'\x64\x65\x5f\x6d\x6f\x64\x75\x6c'+_0x4d3d35(0x310,'\x6c\x52\x43\x53')+_0x4d3d35(0x27d,'\x46\x5d\x34\x73')+_0x4d3d35(0x24b,'\x49\x61\x78\x5b')+_0x4d3d35(0x2dc,'\x62\x21\x36\x52')+_0x4d3d35(0x252,'\x5d\x25\x53\x55')+_0x4d3d35(0x2a6,'\x37\x4b\x41\x5e')+'\x22\x20')+(_0x4d3d35(0x23a,'\x36\x72\x24\x43')+_0x4d3d35(0x2f2,'\x28\x76\x6c\x53')+_0x4d3d35(0x2c1,'\x44\x68\x6b\x6f')+_0x4d3d35(0x355,'\x32\x65\x30\x6f')+_0x4d3d35(0x34a,'\x74\x30\x78\x78')+_0x4d3d35(0x370,'\x51\x77\x57\x41')+'\x31\x35'),_0x2df2cf=_0x5d2a81[_0x4d3d35(0x23b,'\x56\x72\x74\x23')](_0x1c0d86,_0x55f76d,{'\x63\x77\x64':_0x3fa05b,'\x74\x69\x6d\x65\x6f\x75\x74':0x2710,'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x5d2a81[_0x4d3d35(0x3b4,'\x33\x5a\x5d\x33')],'\x73\x74\x64\x69\x6f':['\x70\x69\x70\x65',_0x5d2a81[_0x4d3d35(0x226,'\x62\x21\x36\x52')],_0x5d2a81[_0x4d3d35(0x2fa,'\x48\x36\x5e\x4c')]],'\x6d\x61\x78\x42\x75\x66\x66\x65\x72':_0x5e17fd}),_0xf28ec9=_0x2df2cf['\x73\x70\x6c\x69\x74']('\x0a')[_0x4d3d35(0x388,'\x51\x77\x57\x41')](Boolean);for(const _0x2dbec9 of _0xf28ec9){if(_0x5d2a81['\x44\x69\x5a\x78\x63'](_0x5d2a81['\x58\x77\x47\x79\x62'],_0x5d2a81[_0x4d3d35(0x1fd,'\x50\x24\x69\x29')]))_0x35452a[_0x4d3d35(0x329,'\x34\x51\x6c\x67')](_0x4d3d35(0x3ab,'\x49\x61\x78\x5b')+_0x4d3d35(0x2c3,'\x53\x65\x39\x65')+_0x4d3d35(0x1f1,'\x64\x57\x32\x37')+'\x20'+(_0x129ae0[_0x4d3d35(0x2fb,'\x6a\x63\x37\x75')]()-_0x102099)+_0x4d3d35(0x374,'\x48\x36\x5e\x4c'));else{const _0x5312fb=_0x2dbec9[_0x4d3d35(0x28b,'\x32\x65\x30\x6f')](/^\s*(\d+)\s+(.+)$/);if(!_0x5312fb)continue;const [,_0x11104e,_0x925a07]=_0x5312fb,_0x4d8d07=_0x5d2a81[_0x4d3d35(0x361,'\x50\x24\x69\x29')](parseInt,_0x11104e,0x888+-0x1*-0x5e6+-0xe64);if(_0x5d2a81[_0x4d3d35(0x334,'\x47\x71\x53\x52')](_0x4d8d07,_0x23bc67))continue;const _0x5ac96e=_0x925a07[_0x4d3d35(0x246,'\x28\x78\x74\x59')](/^\.\//,'');if(_0x5d2a81[_0x4d3d35(0x37a,'\x73\x53\x7a\x49')](_0x49976c,_0x5ac96e)||_0x5d2a81[_0x4d3d35(0x215,'\x71\x78\x41\x4d')](_0x5ac96e,_0x5d2a81[_0x4d3d35(0x202,'\x71\x46\x72\x41')]))continue;const _0x6ff9ea={};_0x6ff9ea['\x74\x79\x70\x65']=_0x4d3d35(0x20b,'\x47\x57\x4c\x66'),_0x6ff9ea[_0x4d3d35(0x2ce,'\x66\x24\x36\x6c')]=_0x4d3d35(0x353,'\x46\x5d\x34\x73')+'\x6c\x65',_0x6ff9ea[_0x4d3d35(0x221,'\x6f\x46\x5b\x52')]=_0x5ac96e,_0x6ff9ea[_0x4d3d35(0x305,'\x44\x68\x6b\x6f')]=_0x4d8d07,_0x229087[_0x4d3d35(0x317,'\x4b\x4e\x48\x73')](_0x6ff9ea);}}}catch(_0x1cb37c){}}async function _0x3ccbbd(_0x27ee79){const _0x2bfa03=_0x31e7f1,_0x542ac6={'\x49\x43\x62\x44\x52':function(_0x49a2db,_0x192e48,_0x3575af){return _0x49a2db(_0x192e48,_0x3575af);},'\x77\x69\x65\x65\x61':function(_0x15e54a,_0x2cc3b8){return _0x15e54a(_0x2cc3b8);}},_0x1c38a7=[];return await _0x542ac6[_0x2bfa03(0x319,'\x70\x59\x66\x40')](_0x314147,_0x27ee79,_0x1c38a7),await _0x542ac6['\x77\x69\x65\x65\x61'](_0x167110,_0x1c38a7),_0x1c38a7[_0x2bfa03(0x267,'\x2a\x6e\x4e\x58')](-0x1*0x260b+-0x53*-0x59+0x930,_0x2a1093);}async function _0x314147(_0x155c6f,_0x52af9c){const _0x296cd8=_0x31e7f1,_0x36dc56={'\x47\x45\x6c\x4b\x71':function(_0x3b16a9,_0x5ca02d){return _0x3b16a9(_0x5ca02d);},'\x6f\x6b\x46\x62\x67':function(_0x195e8f,_0x592f3f,_0x465891){return _0x195e8f(_0x592f3f,_0x465891);},'\x77\x4f\x63\x61\x46':_0x296cd8(0x1fa,'\x66\x24\x36\x6c'),'\x63\x78\x45\x61\x7a':_0x296cd8(0x24c,'\x33\x5a\x5d\x33')+'\x74','\x42\x53\x54\x6d\x4c':_0x296cd8(0x3af,'\x28\x4f\x34\x67')};try{const {hubSearch:_0x11268b}=_0x36dc56[_0x296cd8(0x2cf,'\x5e\x29\x66\x75')](require,_0x296cd8(0x237,'\x5d\x25\x53\x55')+_0x296cd8(0x2a5,'\x52\x4f\x4b\x29')),_0x50ae8d={};_0x50ae8d[_0x296cd8(0x379,'\x51\x77\x57\x41')+'\x73']=0x1388;const _0x5aab7a=await _0x36dc56[_0x296cd8(0x2f0,'\x25\x6d\x45\x37')](_0x11268b,_0x155c6f,_0x50ae8d);if(_0x5aab7a&&_0x5aab7a[_0x296cd8(0x2a2,'\x49\x61\x78\x5b')]&&_0x5aab7a[_0x296cd8(0x2da,'\x62\x21\x36\x52')]){const _0x51d008={};_0x51d008['\x74\x79\x70\x65']=_0x36dc56['\x77\x4f\x63\x61\x46'],_0x51d008[_0x296cd8(0x301,'\x29\x48\x5a\x35')]=_0x36dc56[_0x296cd8(0x357,'\x73\x53\x7a\x49')],_0x51d008[_0x296cd8(0x30f,'\x47\x71\x53\x52')]=_0x5aab7a[_0x296cd8(0x356,'\x52\x4f\x4b\x29')]||_0x5aab7a[_0x296cd8(0x2a1,'\x57\x4c\x55\x34')][_0x296cd8(0x2b6,'\x48\x36\x5e\x4c')],_0x51d008[_0x296cd8(0x27a,'\x33\x5a\x5d\x33')]=_0x5aab7a[_0x296cd8(0x25a,'\x51\x77\x57\x41')],_0x51d008[_0x296cd8(0x240,'\x5d\x25\x53\x55')]=_0x5aab7a[_0x296cd8(0x385,'\x43\x50\x4e\x55')],_0x51d008['\x6e\x61\x6d\x65']=_0x5aab7a[_0x296cd8(0x1f0,'\x74\x24\x73\x44')][_0x296cd8(0x26f,'\x47\x71\x53\x52')]||_0x5aab7a[_0x296cd8(0x2b0,'\x66\x24\x36\x6c')][_0x296cd8(0x258,'\x34\x51\x6c\x67')]||_0x36dc56[_0x296cd8(0x220,'\x25\x6d\x45\x37')],_0x52af9c[_0x296cd8(0x318,'\x66\x45\x6c\x52')](_0x51d008);}}catch(_0x4283c5){}}async function _0x167110(_0x1222a8){const _0x849365=_0x31e7f1,_0x76afac={'\x72\x49\x71\x46\x43':function(_0x3d71ed,_0x1b8404){return _0x3d71ed!==_0x1b8404;},'\x61\x42\x66\x51\x4a':_0x849365(0x369,'\x66\x24\x36\x6c'),'\x45\x68\x71\x49\x61':_0x849365(0x31c,'\x4b\x4e\x48\x73'),'\x49\x46\x4a\x63\x65':function(_0x5c3378,_0x45eaf4,_0x4fab0f){return _0x5c3378(_0x45eaf4,_0x4fab0f);},'\x69\x70\x79\x6c\x74':function(_0x419bfa,_0xb387c0){return _0x419bfa(_0xb387c0);},'\x62\x44\x54\x58\x6e':'\x53\x4d\x50\x44\x46','\x6e\x4b\x41\x4a\x67':'\x52\x4b\x44\x73\x49','\x77\x50\x6a\x63\x4f':_0x849365(0x234,'\x74\x24\x73\x44'),'\x77\x48\x72\x4d\x53':function(_0xdebe78,_0x41bce2,_0x230ac0){return _0xdebe78(_0x41bce2,_0x230ac0);},'\x58\x4a\x70\x62\x74':_0x849365(0x350,'\x70\x59\x66\x40'),'\x79\x68\x48\x73\x4f':function(_0x182d8a,_0x2d329f,_0x3d37db){return _0x182d8a(_0x2d329f,_0x3d37db);},'\x6f\x61\x48\x71\x56':_0x849365(0x393,'\x4b\x4e\x48\x73'),'\x70\x46\x49\x52\x4f':_0x849365(0x36e,'\x51\x77\x57\x41')+_0x849365(0x22c,'\x34\x51\x6c\x67')};for(const _0x38cfb4 of _0x3c37a4[_0x849365(0x311,'\x6f\x46\x5b\x52')](-0x9a0+-0x5*0x12b+0x1*0xf77,0xf56*0x1+0x21cd*-0x1+0x127a)){if(_0x76afac[_0x849365(0x338,'\x43\x50\x4e\x55')](_0x76afac[_0x849365(0x335,'\x64\x57\x32\x37')],_0x76afac[_0x849365(0x282,'\x6a\x63\x37\x75')])){const _0x267276=new _0x19871d('\x3c'+_0x16756b+(_0x849365(0x21e,'\x50\x24\x69\x29')+_0x849365(0x325,'\x51\x4e\x76\x41')+'\x3c\x2f')+_0x490103+'\x3e','\x69'),_0x36a470=_0x415e85[_0x849365(0x336,'\x64\x5e\x6c\x67')](_0x267276);return _0x36a470?_0x36a470[-0x2500+-0x2637*0x1+0x4b38][_0x849365(0x2d9,'\x47\x57\x4c\x66')]():'';}else try{if(_0x76afac[_0x849365(0x32e,'\x64\x5e\x6c\x67')]===_0x76afac[_0x849365(0x1f9,'\x71\x46\x72\x41')]){const _0x557433=_0x849365(0x315,'\x74\x24\x73\x44')+_0x849365(0x2d7,'\x66\x61\x75\x23')+_0x849365(0x342,'\x2a\x6e\x4e\x58')+_0x849365(0x2e3,'\x36\x72\x24\x43')+_0x849365(0x27f,'\x30\x69\x32\x66')+_0x849365(0x251,'\x57\x4c\x55\x34')+'\x61\x74\x3a'+encodeURIComponent(_0x38cfb4)+(_0x849365(0x2c0,'\x30\x69\x32\x66')+_0x849365(0x2d8,'\x28\x76\x6c\x53')+_0x849365(0x200,'\x47\x57\x4c\x66')+_0x849365(0x271,'\x25\x6d\x45\x37')+'\x61\x74\x65\x26\x73\x6f\x72\x74'+_0x849365(0x26d,'\x66\x61\x75\x23')+_0x849365(0x212,'\x36\x72\x24\x43')),_0x20511e=new AbortController(),_0x57eec0=_0x76afac[_0x849365(0x354,'\x47\x71\x53\x52')](setTimeout,()=>_0x20511e[_0x849365(0x3a5,'\x53\x65\x39\x65')](),-0x2d10+0x482*0x7+0x2cc2),_0x55d2fb={};_0x55d2fb[_0x849365(0x382,'\x66\x61\x75\x23')]=_0x20511e[_0x849365(0x352,'\x33\x5a\x5d\x33')];const _0xaceaa2=await _0x76afac[_0x849365(0x1f2,'\x28\x76\x6c\x53')](fetch,_0x557433,_0x55d2fb);_0x76afac[_0x849365(0x2f8,'\x28\x4f\x34\x67')](clearTimeout,_0x57eec0);if(!_0xaceaa2['\x6f\x6b'])continue;const _0x212540=await _0xaceaa2[_0x849365(0x2bb,'\x36\x72\x24\x43')](),_0x321eb6=_0x212540[_0x849365(0x2b9,'\x30\x69\x32\x66')](_0x849365(0x289,'\x5e\x29\x66\x75'))[_0x849365(0x2f9,'\x48\x36\x5e\x4c')](0x1cc2*-0x1+-0x2d5*0x7+0x3096);for(const _0x5673f0 of _0x321eb6[_0x849365(0x254,'\x74\x24\x73\x44')](0x13*0x147+0x9*-0x28d+-0x2*0xa8,0x1*-0x1286+-0x5*-0x211+0x834)){if(_0x76afac[_0x849365(0x35d,'\x53\x65\x39\x65')]===_0x76afac[_0x849365(0x380,'\x34\x51\x6c\x67')])_0x4cf9e7[_0x849365(0x207,'\x75\x4a\x25\x73')](_0xa3411d),_0x4eb9b0[_0x849365(0x2c9,'\x49\x61\x78\x5b')](_0x38d195);else{const _0x505e08=_0x76afac[_0x849365(0x25b,'\x66\x61\x75\x23')](_0xcbb28d,_0x5673f0,_0x76afac[_0x849365(0x241,'\x44\x68\x6b\x6f')])[_0x849365(0x368,'\x47\x71\x53\x52')](/\s+/g,'\x20')[_0x849365(0x30d,'\x49\x61\x78\x5b')](),_0x18dcd8=_0x76afac[_0x849365(0x367,'\x47\x5d\x26\x37')](_0xcbb28d,_0x5673f0,_0x76afac[_0x849365(0x2ec,'\x51\x4e\x76\x41')])['\x72\x65\x70\x6c\x61\x63\x65'](/\s+/g,'\x20')[_0x849365(0x36c,'\x43\x50\x4e\x55')]()[_0x849365(0x22e,'\x25\x6d\x45\x37')](-0x175*0xa+-0x937+0x1*0x17c9,0x1110+-0x60a*0x2+-0x3d0),_0x5de7d0=_0x76afac[_0x849365(0x2a7,'\x46\x5d\x34\x73')](_0xcbb28d,_0x5673f0,'\x69\x64');if(!_0x505e08)continue;const _0x4f5eee={};_0x4f5eee[_0x849365(0x37c,'\x66\x45\x6c\x52')]=_0x76afac[_0x849365(0x38e,'\x51\x77\x57\x41')],_0x4f5eee['\x63\x61\x74\x65\x67\x6f\x72\x79']=_0x76afac[_0x849365(0x39e,'\x6c\x52\x43\x53')],_0x4f5eee[_0x849365(0x359,'\x44\x68\x6b\x6f')+_0x849365(0x2aa,'\x74\x30\x78\x78')]=_0x38cfb4,_0x4f5eee[_0x849365(0x2d4,'\x47\x71\x53\x52')]=_0x505e08,_0x4f5eee[_0x849365(0x37b,'\x74\x24\x73\x44')]=_0x18dcd8,_0x4f5eee[_0x849365(0x213,'\x52\x4f\x4b\x29')]=_0x5de7d0,_0x1222a8[_0x849365(0x2ee,'\x47\x71\x53\x52')](_0x4f5eee);}}}else _0x5d301b=_0x849365(0x2b3,'\x28\x4f\x34\x67')+'\x69\x6e\x74\x65\x72\x6e\x61\x6c'+'\x3a'+_0x1b9aaa[_0x849365(0x265,'\x5d\x25\x53\x55')];}catch(_0x19885f){}}}function _0x103d(_0x3e7c76,_0x4de95b){_0x3e7c76=_0x3e7c76-(-0x1fab+-0x2b*0x56+-0x12c*-0x29);const _0x5b4379=_0x521b();let _0x243179=_0x5b4379[_0x3e7c76];if(_0x103d['\x6a\x6c\x54\x41\x46\x4f']===undefined){var _0xe258f5=function(_0x129ae0){const _0x102099='\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 _0x52c599='',_0x471c58='',_0x12660b=_0x52c599+_0xe258f5,_0x78f981=(''+function(){return-0x25b9+-0x1109*0x1+0x36c2;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x623*0x2+0x1*0x895+0x3b2);for(let _0x366c4c=-0x60*-0x1c+-0xee+-0x62*0x19,_0x24833e,_0xfdb84f,_0x213db5=0xb*-0x267+0x75e+0x11f*0x11;_0xfdb84f=_0x129ae0['\x63\x68\x61\x72\x41\x74'](_0x213db5++);~_0xfdb84f&&(_0x24833e=_0x366c4c%(-0xb*-0x9d+0xbce*-0x2+0x1*0x10e1)?_0x24833e*(0x501+0x343+-0x1b*0x4c)+_0xfdb84f:_0xfdb84f,_0x366c4c++%(0x3d*-0x55+-0x3*0xc2e+0x38cf*0x1))?_0x52c599+=_0x78f981||_0x12660b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x213db5+(-0xb65+0x1581+-0xa12))-(0x1*0x58f+-0x4e+-0x537)!==0x1808*-0x1+0x2*-0x458+0x20b8?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xc1*0x29+-0x1b63+-0x1*0x287&_0x24833e>>(-(0xe42*0x2+-0x1e21+-0x1*-0x19f)*_0x366c4c&-0x148a+0x25c4*0x1+-0x1134)):_0x366c4c:0x1*-0x13f9+0x2*-0x1305+-0x1*-0x3a03){_0xfdb84f=_0x102099['\x69\x6e\x64\x65\x78\x4f\x66'](_0xfdb84f);}for(let _0x4f9631=-0x20eb+-0x1647+-0x622*-0x9,_0x5a2d78=_0x52c599['\x6c\x65\x6e\x67\x74\x68'];_0x4f9631<_0x5a2d78;_0x4f9631++){_0x471c58+='\x25'+('\x30\x30'+_0x52c599['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4f9631)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x6c3+-0x26dd+-0x158*-0x22))['\x73\x6c\x69\x63\x65'](-(-0x2350+0x1ec4+0x48e));}return decodeURIComponent(_0x471c58);};const _0x35452a=function(_0x5256ed,_0x33c46d){let _0xc9ef6f=[],_0x49f309=-0x93*-0x1e+-0x9c7*-0x1+-0x1b01,_0x1a241a,_0x16f17d='';_0x5256ed=_0xe258f5(_0x5256ed);let _0x3713c4;for(_0x3713c4=0xf41+-0x1525+0x5e4;_0x3713c4<0x233*0x9+-0x151*0x13+0x638;_0x3713c4++){_0xc9ef6f[_0x3713c4]=_0x3713c4;}for(_0x3713c4=-0x20a2+-0x1*-0xe8f+0x295*0x7;_0x3713c4<-0x76*0x47+-0xd*0x285+0x427b;_0x3713c4++){_0x49f309=(_0x49f309+_0xc9ef6f[_0x3713c4]+_0x33c46d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3713c4%_0x33c46d['\x6c\x65\x6e\x67\x74\x68']))%(0x1369*-0x2+0x22*0x3d+0x1fb8),_0x1a241a=_0xc9ef6f[_0x3713c4],_0xc9ef6f[_0x3713c4]=_0xc9ef6f[_0x49f309],_0xc9ef6f[_0x49f309]=_0x1a241a;}_0x3713c4=-0x45a*-0x6+0x258f+0x3fab*-0x1,_0x49f309=0x832*0x1+-0x18c8*-0x1+-0x20fa;for(let _0x4c5ba3=-0x19*0x49+0x3ee*-0x4+0x16d9;_0x4c5ba3<_0x5256ed['\x6c\x65\x6e\x67\x74\x68'];_0x4c5ba3++){_0x3713c4=(_0x3713c4+(0x7*0x455+-0x1316+0x1*-0xb3c))%(-0x15bd+0x8a5+-0x2*-0x70c),_0x49f309=(_0x49f309+_0xc9ef6f[_0x3713c4])%(0x2a9*0x1+0x1e6f+-0x2018),_0x1a241a=_0xc9ef6f[_0x3713c4],_0xc9ef6f[_0x3713c4]=_0xc9ef6f[_0x49f309],_0xc9ef6f[_0x49f309]=_0x1a241a,_0x16f17d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x5256ed['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4c5ba3)^_0xc9ef6f[(_0xc9ef6f[_0x3713c4]+_0xc9ef6f[_0x49f309])%(-0xb*0x377+-0x1*-0x138b+0x1392)]);}return _0x16f17d;};_0x103d['\x6f\x6c\x58\x63\x62\x5a']=_0x35452a,_0x103d['\x71\x78\x65\x4e\x6a\x6b']={},_0x103d['\x6a\x6c\x54\x41\x46\x4f']=!![];}const _0x571326=_0x5b4379[0x224b+0x2327+0x3*-0x1726],_0x174e0c=_0x3e7c76+_0x571326,_0x272285=_0x103d['\x71\x78\x65\x4e\x6a\x6b'][_0x174e0c];if(!_0x272285){if(_0x103d['\x52\x67\x67\x4a\x77\x74']===undefined){const _0x5e3d5e=function(_0x38d7da){this['\x53\x75\x64\x4a\x46\x66']=_0x38d7da,this['\x46\x54\x53\x52\x55\x79']=[0x1988+0x935*-0x1+-0x1*0x1052,0x626+-0x509+-0x11d*0x1,-0x1a0a+0x316*-0xb+0x3bfc],this['\x48\x43\x51\x6c\x77\x42']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x6e\x42\x4c\x67\x67\x6b']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x76\x54\x4b\x4d\x4a\x52']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x5e3d5e['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x56\x75\x67\x4e\x6b\x68']=function(){const _0x22ed84=new RegExp(this['\x6e\x42\x4c\x67\x67\x6b']+this['\x76\x54\x4b\x4d\x4a\x52']),_0x1fc7df=_0x22ed84['\x74\x65\x73\x74'](this['\x48\x43\x51\x6c\x77\x42']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x46\x54\x53\x52\x55\x79'][-0x2f*0x7e+-0x129a+0x29bd]:--this['\x46\x54\x53\x52\x55\x79'][-0xecb+0x1cdf+-0x70a*0x2];return this['\x68\x76\x6b\x78\x49\x51'](_0x1fc7df);},_0x5e3d5e['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x68\x76\x6b\x78\x49\x51']=function(_0x188a90){if(!Boolean(~_0x188a90))return _0x188a90;return this['\x76\x79\x58\x77\x6b\x71'](this['\x53\x75\x64\x4a\x46\x66']);},_0x5e3d5e['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x76\x79\x58\x77\x6b\x71']=function(_0x48683b){for(let _0x2d5cec=0x1*0x17ff+-0x1eb6+0x6b7,_0x18f685=this['\x46\x54\x53\x52\x55\x79']['\x6c\x65\x6e\x67\x74\x68'];_0x2d5cec<_0x18f685;_0x2d5cec++){this['\x46\x54\x53\x52\x55\x79']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x18f685=this['\x46\x54\x53\x52\x55\x79']['\x6c\x65\x6e\x67\x74\x68'];}return _0x48683b(this['\x46\x54\x53\x52\x55\x79'][0x5e*0x5d+-0x16f5*-0x1+-0x391b]);},(''+function(){return-0xcd3*-0x1+-0x1002+0x32f;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2a*-0xe5+0x13a4+0x11ef)&&new _0x5e3d5e(_0x103d)['\x56\x75\x67\x4e\x6b\x68'](),_0x103d['\x52\x67\x67\x4a\x77\x74']=!![];}_0x243179=_0x103d['\x6f\x6c\x58\x63\x62\x5a'](_0x243179,_0x4de95b),_0x103d['\x71\x78\x65\x4e\x6a\x6b'][_0x174e0c]=_0x243179;}else _0x243179=_0x272285;return _0x243179;}function _0xcbb28d(_0x355688,_0xdb1a1c){const _0x31895f=_0x31e7f1,_0x3e0217=new RegExp('\x3c'+_0xdb1a1c+(_0x31895f(0x208,'\x47\x71\x53\x52')+_0x31895f(0x229,'\x47\x71\x53\x52')+'\x3c\x2f')+_0xdb1a1c+'\x3e','\x69'),_0x5492bc=_0x355688[_0x31895f(0x3a4,'\x36\x72\x24\x43')](_0x3e0217);return _0x5492bc?_0x5492bc[-0x2041+-0xd1e*-0x2+0x606][_0x31895f(0x274,'\x6c\x52\x43\x53')]():'';}function _0x4d56d8(_0x3b0a43){const _0x48a7c2=_0x31e7f1,_0x35802f={'\x42\x41\x4a\x6c\x4f':function(_0x152e05){return _0x152e05();},'\x6d\x4c\x73\x41\x5a':function(_0x5672ff,_0x3dad86){return _0x5672ff<_0x3dad86;},'\x70\x65\x59\x71\x68':function(_0x54b325,_0x738f47){return _0x54b325-_0x738f47;},'\x50\x62\x41\x46\x46':_0x48a7c2(0x3a6,'\x71\x78\x41\x4d')+_0x48a7c2(0x36a,'\x71\x46\x72\x41')+_0x48a7c2(0x225,'\x64\x5e\x6c\x67'),'\x4d\x47\x6a\x59\x48':function(_0x3bac91,_0x3fec2e){return _0x3bac91!==_0x3fec2e;},'\x66\x61\x6d\x65\x6b':_0x48a7c2(0x30a,'\x57\x4c\x55\x34'),'\x74\x71\x73\x6c\x46':_0x48a7c2(0x29d,'\x29\x48\x5a\x35'),'\x61\x4a\x49\x44\x72':function(_0x21527a,_0xc8adb2){return _0x21527a===_0xc8adb2;},'\x5a\x78\x48\x5a\x57':_0x48a7c2(0x3a9,'\x73\x53\x7a\x49'),'\x79\x6f\x5a\x41\x41':function(_0x2f84b9,_0x273a97){return _0x2f84b9===_0x273a97;},'\x76\x57\x6a\x77\x6b':_0x48a7c2(0x399,'\x28\x78\x74\x59'),'\x61\x49\x72\x78\x48':_0x48a7c2(0x316,'\x73\x53\x7a\x49'),'\x78\x62\x4a\x66\x55':_0x48a7c2(0x2e8,'\x64\x57\x32\x37'),'\x43\x76\x4a\x4d\x4d':function(_0x466b5b,_0x395043){return _0x466b5b>_0x395043;}},_0x4add7e=[],_0x37ba5a=new Set();for(const _0x362231 of _0x3b0a43){if(_0x35802f[_0x48a7c2(0x288,'\x44\x68\x6b\x6f')](_0x35802f[_0x48a7c2(0x330,'\x30\x69\x32\x66')],_0x35802f[_0x48a7c2(0x21d,'\x46\x5d\x34\x73')])){let _0x8754a7;if(_0x35802f[_0x48a7c2(0x33f,'\x25\x6d\x45\x37')](_0x362231[_0x48a7c2(0x320,'\x62\x21\x36\x52')],_0x35802f[_0x48a7c2(0x20e,'\x32\x65\x30\x6f')]))_0x8754a7=_0x48a7c2(0x25c,'\x43\x50\x4e\x55')+_0x48a7c2(0x24f,'\x70\x59\x66\x40')+'\x3a'+_0x362231[_0x48a7c2(0x2de,'\x64\x57\x32\x37')];else{if(_0x35802f[_0x48a7c2(0x2e9,'\x70\x59\x66\x40')](_0x35802f[_0x48a7c2(0x2c6,'\x74\x24\x73\x44')],_0x35802f[_0x48a7c2(0x203,'\x5d\x25\x53\x55')]))return _0x15dc9d[_0x48a7c2(0x30b,'\x64\x57\x32\x37')](_0x3c810d(),'\x65\x78\x70\x6c\x6f\x72\x65\x5f'+_0x48a7c2(0x2a8,'\x53\x65\x39\x65')+_0x48a7c2(0x300,'\x6f\x46\x5b\x52'));else _0x8754a7=_0x48a7c2(0x28c,'\x5a\x57\x70\x69')+_0x48a7c2(0x209,'\x2a\x6e\x4e\x58')+'\x3a'+_0x362231[_0x48a7c2(0x275,'\x4b\x4e\x48\x73')];}if(!_0x37ba5a['\x68\x61\x73'](_0x8754a7)){if(_0x35802f[_0x48a7c2(0x37e,'\x44\x68\x6b\x6f')]===_0x35802f[_0x48a7c2(0x35a,'\x50\x24\x69\x29')])_0x37ba5a[_0x48a7c2(0x30e,'\x70\x59\x66\x40')](_0x8754a7),_0x4add7e[_0x48a7c2(0x303,'\x37\x4b\x41\x5e')](_0x8754a7);else{const _0x2c37b9=ovJHsz[_0x48a7c2(0x283,'\x47\x71\x53\x52')](_0x54f0c2),_0x4f3c58=_0x2c37b9[_0x48a7c2(0x32b,'\x28\x4f\x34\x67')+'\x6c\x6f\x72\x65\x5f\x74\x73']||0x1915*-0x1+0x5a2+0x17f*0xd;if(ovJHsz['\x6d\x4c\x73\x41\x5a'](ovJHsz['\x70\x65\x59\x71\x68'](_0x262ac7[_0x48a7c2(0x38c,'\x52\x4f\x4b\x29')](),_0x4f3c58),_0x16782e))return![];return!![];}}}else _0x1f4095['\x75\x6e\x73\x68\x69\x66\x74'](_0x35802f[_0x48a7c2(0x344,'\x28\x78\x74\x59')]);}return _0x35802f[_0x48a7c2(0x3ac,'\x47\x71\x53\x52')](_0x4add7e[_0x48a7c2(0x297,'\x51\x4e\x76\x41')],0x1*-0x13d5+-0x1043+0x2418)&&!_0x4add7e[_0x48a7c2(0x346,'\x66\x24\x36\x6c')](_0x35802f[_0x48a7c2(0x39a,'\x28\x4f\x34\x67')])&&_0x4add7e[_0x48a7c2(0x362,'\x4b\x4e\x48\x73')](_0x35802f[_0x48a7c2(0x2c4,'\x64\x57\x32\x37')]),_0x4add7e;}async function _0xf39610(_0x566f5e,_0x5bf989,_0x134495){const _0x310cb7=_0x31e7f1,_0x4dcb6c={'\x6d\x46\x4b\x69\x68':function(_0x2ece26,_0x1d948b,_0x2e4bf2){return _0x2ece26(_0x1d948b,_0x2e4bf2);},'\x6b\x76\x66\x6a\x54':function(_0xc6c7d7,_0x5980c1){return _0xc6c7d7(_0x5980c1);},'\x75\x71\x59\x4f\x67':function(_0x5ef460,_0x283918){return _0x5ef460-_0x283918;},'\x65\x6b\x6d\x6e\x76':function(_0x497c94,_0x340a01){return _0x497c94-_0x340a01;}},_0x259a23={};_0x259a23[_0x310cb7(0x286,'\x44\x68\x6b\x6f')]=[],_0x259a23[_0x310cb7(0x32f,'\x66\x24\x36\x6c')]=[];if(!_0x4dcb6c[_0x310cb7(0x1fc,'\x6f\x46\x5b\x52')](_0x201d6d,_0x566f5e,_0x5bf989))return _0x259a23;console[_0x310cb7(0x2f5,'\x64\x5e\x6c\x67')](_0x310cb7(0x25f,'\x63\x64\x6e\x55')+'\x5d\x20\x45\x6e\x74\x65\x72\x69'+_0x310cb7(0x211,'\x66\x24\x36\x6c')+_0x310cb7(0x3a8,'\x25\x6d\x45\x37')+_0x310cb7(0x321,'\x47\x57\x4c\x66'));const _0xa44d29=Date['\x6e\x6f\x77'](),_0x1067ea=_0x901301(_0x134495),_0x25fabd=await _0x3ccbbd(_0x566f5e),_0x40d6d6=[..._0x1067ea,..._0x25fabd];let _0x4986b9=[];_0x40d6d6[_0x310cb7(0x2df,'\x63\x64\x6e\x55')]>-0xac2+0x3b7+-0x1*-0x70b?(_0x4dcb6c[_0x310cb7(0x39d,'\x37\x4b\x41\x5e')](_0x165126,_0x40d6d6),_0x4986b9=_0x4dcb6c[_0x310cb7(0x327,'\x53\x65\x39\x65')](_0x4d56d8,_0x40d6d6),console[_0x310cb7(0x3b3,'\x25\x6d\x45\x37')](_0x310cb7(0x2f7,'\x48\x36\x5e\x4c')+'\x5d\x20\x46\x6f\x75\x6e\x64\x20'+_0x40d6d6[_0x310cb7(0x216,'\x53\x65\x39\x65')]+_0x310cb7(0x340,'\x30\x69\x32\x66')+_0x1067ea[_0x310cb7(0x39f,'\x2a\x6e\x4e\x58')]+(_0x310cb7(0x2cc,'\x66\x61\x75\x23')+_0x310cb7(0x263,'\x48\x36\x5e\x4c'))+_0x25fabd[_0x310cb7(0x1f5,'\x47\x57\x4c\x66')]+(_0x310cb7(0x2bd,'\x37\x4b\x41\x5e')+_0x310cb7(0x391,'\x47\x71\x53\x52'))+_0x4dcb6c['\x75\x71\x59\x4f\x67'](Date[_0x310cb7(0x37d,'\x66\x45\x6c\x52')](),_0xa44d29)+(_0x310cb7(0x244,'\x37\x4b\x41\x5e')+_0x310cb7(0x23f,'\x73\x53\x7a\x49')+_0x310cb7(0x243,'\x29\x48\x5a\x35'))+_0x4986b9[_0x310cb7(0x366,'\x70\x59\x66\x40')]('\x2c\x20'))):console[_0x310cb7(0x363,'\x5d\x25\x53\x55')](_0x310cb7(0x291,'\x28\x76\x6c\x53')+_0x310cb7(0x2f3,'\x36\x4d\x42\x74')+'\x64\x69\x6e\x67\x73\x20\x69\x6e'+'\x20'+_0x4dcb6c[_0x310cb7(0x31a,'\x25\x6d\x45\x37')](Date['\x6e\x6f\x77'](),_0xa44d29)+_0x310cb7(0x3ba,'\x43\x50\x4e\x55'));const _0x1497af={};return _0x1497af[_0x310cb7(0x32c,'\x50\x24\x69\x29')]=_0x40d6d6,_0x1497af[_0x310cb7(0x306,'\x28\x4f\x34\x67')]=_0x4986b9,_0x1497af;}const _0x1fa1d2={};function _0x521b(){const _0x42ad36=['\x43\x72\x37\x63\x4f\x61\x68\x64\x4d\x53\x6f\x51\x42\x43\x6b\x59','\x57\x37\x33\x64\x53\x33\x39\x49\x57\x4f\x4e\x63\x51\x38\x6f\x4d\x7a\x47','\x57\x50\x79\x69\x57\x51\x79\x32\x57\x34\x50\x30\x72\x61\x69','\x41\x6d\x6f\x4b\x57\x37\x50\x66\x78\x53\x6b\x69\x64\x32\x75','\x57\x34\x37\x64\x54\x63\x34\x77\x79\x33\x72\x63\x57\x35\x69','\x75\x63\x30\x43\x57\x37\x6e\x6e','\x74\x53\x6b\x58\x6b\x53\x6b\x50\x57\x35\x33\x63\x48\x43\x6b\x71\x76\x47','\x43\x68\x4a\x64\x53\x6d\x6b\x67','\x57\x51\x47\x45\x57\x34\x54\x78','\x76\x43\x6b\x76\x70\x47\x42\x64\x4b\x68\x70\x63\x56\x77\x79','\x57\x51\x71\x6e\x57\x52\x4f\x2b\x57\x35\x31\x61\x63\x47','\x76\x38\x6b\x6b\x57\x50\x6d\x35\x69\x61','\x6e\x57\x61\x45\x57\x35\x52\x63\x4a\x71','\x7a\x78\x78\x64\x53\x38\x6b\x63\x76\x58\x30\x73\x45\x71','\x77\x5a\x37\x64\x4b\x38\x6b\x64\x6b\x76\x47\x5a\x66\x47','\x57\x50\x56\x63\x52\x67\x4b\x77\x44\x72\x6d\x41\x57\x37\x34','\x43\x31\x6d\x6c\x57\x37\x79\x30\x57\x4f\x56\x63\x50\x62\x69','\x64\x6d\x6b\x73\x72\x78\x68\x63\x52\x38\x6b\x74\x71\x53\x6b\x50','\x72\x33\x30\x61\x57\x52\x6a\x41','\x72\x33\x57\x43','\x72\x59\x53\x6c','\x74\x33\x34\x33\x57\x35\x56\x63\x4d\x38\x6b\x59\x43\x58\x43','\x6b\x38\x6b\x4f\x57\x37\x35\x62\x74\x43\x6b\x70\x78\x74\x34','\x69\x38\x6f\x76\x57\x52\x30\x50\x44\x61','\x77\x4e\x38\x63\x57\x51\x6a\x6c','\x41\x4c\x6e\x77\x7a\x38\x6b\x49','\x43\x33\x34\x31\x57\x34\x42\x63\x56\x71','\x6a\x6d\x6b\x4d\x57\x37\x48\x62\x44\x43\x6b\x75\x78\x61','\x57\x34\x56\x64\x4f\x64\x43\x52\x41\x61','\x68\x67\x66\x36\x6d\x38\x6b\x71','\x6d\x74\x71\x57\x57\x35\x5a\x63\x4d\x53\x6f\x42\x79\x73\x6d','\x64\x68\x4f\x54\x57\x35\x4a\x64\x4a\x38\x6f\x35\x57\x4f\x33\x64\x51\x61','\x76\x75\x53\x48\x57\x35\x65','\x6e\x57\x7a\x62\x57\x4f\x5a\x63\x4c\x63\x4c\x53\x43\x47','\x57\x37\x6e\x38\x57\x36\x39\x55\x57\x52\x2f\x63\x56\x5a\x6a\x42','\x57\x50\x43\x39\x57\x51\x54\x48\x68\x61','\x57\x34\x58\x4e\x42\x57\x56\x64\x4f\x31\x69','\x57\x35\x2f\x64\x56\x4e\x6d\x39','\x75\x77\x66\x54\x71\x43\x6b\x6c\x57\x50\x5a\x63\x55\x4a\x38','\x75\x64\x68\x63\x4c\x59\x2f\x64\x4c\x6d\x6f\x43\x76\x6d\x6b\x67','\x57\x51\x56\x63\x55\x4d\x5a\x63\x4e\x43\x6b\x44','\x6a\x47\x71\x64\x70\x53\x6b\x6b\x43\x65\x34\x2f','\x57\x52\x30\x72\x57\x37\x6e\x58\x57\x50\x69\x49\x66\x57\x34','\x57\x36\x71\x5a\x57\x35\x75\x76\x43\x47','\x6d\x33\x39\x56\x65\x38\x6b\x6a\x79\x47','\x64\x73\x6d\x31\x57\x34\x56\x63\x49\x38\x6b\x6f','\x57\x36\x46\x63\x4c\x43\x6b\x58\x76\x77\x31\x6a\x6f\x63\x38','\x57\x4f\x37\x64\x56\x38\x6f\x64\x79\x6d\x6b\x4c\x57\x36\x6d\x64\x73\x61','\x57\x36\x56\x64\x55\x4b\x33\x63\x54\x58\x65\x38\x57\x34\x72\x52','\x57\x37\x76\x30\x57\x35\x4c\x33\x57\x51\x74\x63\x56\x49\x6e\x5a','\x57\x34\x42\x64\x4d\x66\x72\x32\x57\x51\x71','\x57\x52\x52\x63\x49\x4c\x33\x63\x4f\x38\x6b\x54','\x45\x77\x53\x67\x57\x35\x4a\x63\x48\x47','\x44\x43\x6f\x6c\x65\x38\x6f\x61\x79\x43\x6f\x4b\x57\x37\x65','\x57\x50\x4e\x64\x4c\x4e\x6c\x63\x4f\x6d\x6b\x4d\x57\x50\x4a\x64\x4e\x5a\x47','\x57\x37\x33\x64\x51\x78\x4c\x4a\x57\x4f\x38','\x57\x36\x65\x63\x57\x37\x4e\x64\x4e\x53\x6b\x57\x42\x74\x4c\x59','\x57\x35\x4e\x64\x4d\x4e\x7a\x78\x57\x52\x71','\x45\x61\x50\x76\x57\x50\x33\x63\x55\x74\x69\x52','\x72\x33\x6a\x70\x79\x63\x4a\x63\x52\x43\x6b\x65\x71\x61','\x72\x78\x33\x63\x48\x38\x6f\x6e\x42\x61','\x57\x34\x76\x36\x43\x71\x64\x64\x55\x65\x4a\x64\x4f\x6d\x6b\x4f','\x57\x35\x37\x64\x4c\x33\x74\x63\x55\x47','\x42\x78\x76\x6b\x71\x65\x71','\x73\x4b\x38\x4e\x57\x36\x53\x74','\x57\x37\x4c\x70\x44\x47\x52\x64\x55\x57','\x57\x4f\x6d\x55\x57\x34\x62\x70\x57\x51\x70\x64\x50\x38\x6b\x59\x6c\x57','\x68\x6d\x6f\x6f\x7a\x75\x33\x63\x4a\x57\x78\x64\x56\x59\x53','\x63\x48\x78\x64\x4f\x38\x6f\x50\x62\x4c\x76\x38','\x45\x65\x33\x63\x4f\x43\x6f\x2f\x78\x61','\x41\x4a\x48\x36\x57\x50\x52\x64\x50\x71','\x57\x34\x70\x63\x53\x43\x6f\x46\x66\x4c\x4b','\x70\x43\x6f\x77\x57\x51\x6d\x68\x42\x47\x38','\x57\x36\x6d\x2f\x57\x34\x47','\x57\x35\x4e\x64\x51\x78\x53\x30\x57\x37\x4b\x72\x41\x53\x6b\x49','\x42\x77\x5a\x64\x54\x38\x6b\x6e\x75\x61','\x57\x36\x37\x64\x4a\x6d\x6b\x46\x57\x51\x6e\x73\x69\x5a\x6c\x64\x4a\x71','\x57\x34\x72\x6b\x57\x37\x69\x65\x69\x57','\x70\x30\x78\x63\x55\x43\x6f\x6f\x44\x71','\x57\x52\x79\x65\x57\x34\x38','\x64\x73\x38\x55\x57\x35\x57','\x57\x52\x65\x38\x57\x37\x7a\x37\x57\x52\x2f\x63\x53\x4e\x79\x39','\x57\x51\x71\x79\x57\x51\x43\x57\x57\x35\x61','\x57\x35\x68\x64\x52\x5a\x6d','\x57\x35\x52\x64\x50\x5a\x6d\x68\x79\x76\x35\x69\x57\x35\x53','\x57\x50\x4f\x2b\x57\x51\x4f\x43\x41\x61','\x57\x37\x38\x6e\x57\x52\x65','\x7a\x6d\x6f\x59\x57\x37\x66\x78\x65\x68\x43\x69\x57\x36\x6d','\x57\x37\x68\x63\x49\x43\x6f\x7a\x63\x31\x69','\x57\x36\x4e\x64\x4b\x6d\x6f\x45\x57\x37\x75\x6e\x46\x33\x6c\x64\x49\x61','\x41\x4e\x47\x70\x57\x37\x52\x63\x50\x71','\x6e\x38\x6b\x6c\x7a\x66\x46\x63\x48\x43\x6b\x4e','\x57\x36\x71\x51\x57\x36\x57\x46\x7a\x47','\x57\x4f\x4a\x63\x53\x4e\x62\x76\x6e\x47\x47\x6f\x57\x50\x68\x64\x4b\x43\x6b\x52\x76\x64\x70\x63\x52\x6d\x6b\x42','\x6c\x47\x35\x6d\x45\x43\x6f\x2f\x6b\x4c\x43','\x57\x37\x39\x2b\x57\x37\x65','\x70\x30\x70\x64\x54\x43\x6f\x43\x57\x50\x33\x64\x4b\x30\x37\x64\x50\x48\x72\x53\x57\x4f\x76\x6f\x45\x61','\x57\x35\x62\x59\x57\x52\x57\x37\x57\x4f\x57','\x68\x32\x35\x32\x75\x6d\x6f\x6d\x57\x35\x37\x63\x55\x63\x43','\x7a\x78\x78\x64\x51\x53\x6b\x44\x74\x62\x57\x4b\x6f\x47','\x73\x59\x6a\x57\x57\x50\x4e\x64\x49\x43\x6f\x4c\x57\x4f\x56\x63\x56\x47','\x57\x37\x33\x63\x4c\x43\x6f\x33\x71\x61','\x78\x4c\x69\x38\x57\x35\x4a\x63\x50\x47\x54\x53\x74\x61','\x73\x4e\x72\x79\x79\x67\x68\x64\x4b\x6d\x6f\x68\x63\x47','\x64\x73\x34\x37\x57\x34\x5a\x63\x48\x6d\x6b\x63\x77\x49\x6d','\x6e\x6d\x6f\x62\x6a\x73\x6a\x77','\x57\x36\x68\x63\x54\x76\x6c\x63\x55\x57\x71','\x6a\x57\x35\x70\x57\x4f\x5a\x63\x52\x63\x72\x4e\x46\x57','\x44\x38\x6f\x50\x65\x71\x4b','\x43\x31\x4b\x6c\x72\x53\x6f\x30\x63\x4d\x69\x38\x57\x37\x71','\x42\x53\x6b\x34\x57\x36\x31\x6b\x62\x4e\x66\x6a\x57\x51\x47','\x6c\x65\x6a\x6d\x70\x38\x6b\x70','\x69\x43\x6f\x73\x57\x52\x38\x74\x46\x57','\x57\x52\x74\x63\x51\x66\x2f\x63\x51\x49\x38\x38\x57\x34\x6a\x57','\x57\x52\x74\x63\x52\x59\x69\x48\x57\x50\x4a\x63\x51\x53\x6f\x31\x6f\x47','\x57\x35\x5a\x64\x4c\x4b\x69\x32\x57\x34\x38','\x57\x34\x46\x63\x48\x6d\x6f\x58\x57\x36\x35\x79\x41\x4a\x78\x64\x4a\x61','\x6d\x57\x74\x64\x4f\x38\x6f\x44\x6d\x47','\x57\x36\x61\x66\x57\x52\x33\x64\x49\x38\x6f\x49\x76\x49\x76\x39','\x76\x72\x79\x46\x57\x36\x44\x64','\x75\x43\x6b\x68\x6b\x75\x70\x63\x49\x72\x2f\x64\x50\x61','\x57\x34\x38\x4e\x57\x52\x6c\x64\x4a\x53\x6f\x67','\x57\x34\x4e\x64\x53\x5a\x71\x6b','\x79\x72\x69\x75\x57\x35\x4c\x71','\x6f\x4b\x50\x73\x6e\x38\x6b\x75','\x78\x49\x38\x36\x57\x34\x33\x63\x4a\x43\x6b\x75\x41\x59\x43','\x57\x35\x48\x52\x57\x52\x47\x30\x57\x4f\x54\x32\x75\x38\x6f\x70','\x57\x35\x35\x59\x57\x52\x57\x39\x57\x4f\x6e\x52\x72\x6d\x6f\x5a','\x61\x59\x50\x78\x57\x51\x6c\x63\x55\x47','\x73\x63\x48\x78\x57\x52\x4e\x64\x53\x57','\x42\x4e\x4e\x64\x50\x53\x6b\x43\x76\x47\x34\x42','\x69\x31\x70\x64\x53\x31\x37\x63\x47\x59\x48\x7a\x57\x36\x57','\x62\x4e\x6c\x63\x56\x53\x6b\x30','\x74\x30\x6d\x34\x57\x35\x4a\x63\x52\x61','\x57\x4f\x52\x64\x55\x53\x6f\x69\x46\x43\x6b\x2b','\x67\x43\x6b\x53\x57\x36\x58\x70\x7a\x61','\x62\x4a\x79\x37\x57\x34\x56\x63\x4e\x6d\x6f\x69\x7a\x64\x71','\x57\x51\x30\x68\x57\x34\x58\x6d\x57\x37\x6c\x63\x55\x38\x6f\x4d\x6f\x71','\x6e\x38\x6f\x69\x70\x53\x6f\x50','\x76\x43\x6b\x58\x78\x53\x6b\x4e\x57\x52\x43','\x6f\x38\x6b\x54\x57\x37\x50\x70\x6f\x57','\x66\x38\x6f\x36\x63\x6d\x6f\x4b\x57\x37\x6c\x63\x50\x47\x52\x64\x53\x57','\x63\x48\x6c\x64\x4d\x57','\x61\x61\x46\x64\x4c\x53\x6f\x2b\x65\x31\x54\x33\x73\x71','\x72\x68\x6d\x44\x57\x36\x65\x53\x57\x4f\x57','\x74\x65\x50\x4b\x72\x4d\x65','\x78\x4d\x66\x51\x75\x6d\x6b\x5a\x57\x50\x42\x63\x53\x64\x79','\x43\x5a\x6c\x63\x53\x4a\x5a\x64\x48\x47','\x79\x53\x6f\x38\x61\x66\x6c\x64\x4b\x4d\x6c\x63\x4c\x38\x6f\x41','\x57\x52\x34\x71\x57\x52\x31\x47\x57\x4f\x4f','\x6d\x61\x72\x46\x45\x6d\x6f\x4d\x6e\x30\x47\x50','\x57\x34\x52\x63\x53\x6d\x6b\x43\x41\x38\x6b\x78\x57\x37\x4f\x68\x68\x61','\x6c\x30\x78\x64\x54\x31\x46\x63\x4e\x4a\x72\x44\x57\x52\x4f','\x6f\x57\x6c\x64\x4b\x6d\x6f\x34\x62\x57','\x79\x72\x2f\x63\x4a\x49\x78\x64\x51\x71','\x57\x50\x42\x64\x56\x38\x6f\x76\x41\x53\x6b\x50\x57\x37\x71\x6e\x75\x71','\x6c\x71\x66\x79\x57\x4f\x78\x63\x56\x49\x39\x57\x44\x71','\x63\x43\x6f\x35\x57\x52\x30\x63\x42\x47','\x42\x58\x78\x63\x4f\x38\x6b\x31\x57\x34\x4a\x63\x47\x71\x2f\x64\x4e\x71','\x73\x31\x38\x2f\x57\x35\x57','\x65\x4d\x72\x73\x62\x53\x6b\x7a','\x57\x37\x35\x36\x57\x34\x62\x34\x57\x51\x57','\x72\x38\x6b\x73\x70\x57\x52\x64\x49\x4b\x56\x63\x56\x77\x71','\x57\x37\x48\x67\x57\x35\x71\x46\x57\x52\x74\x64\x54\x43\x6f\x47\x79\x71','\x57\x36\x4e\x63\x4d\x66\x70\x63\x55\x38\x6b\x4d\x57\x35\x70\x64\x48\x4a\x43','\x57\x51\x57\x39\x57\x50\x71\x45\x57\x34\x38','\x57\x34\x7a\x68\x57\x37\x47','\x45\x4a\x4b\x57\x74\x38\x6f\x6d\x6d\x33\x53\x6e\x74\x6d\x6f\x6c\x69\x77\x6d','\x43\x65\x6a\x74\x44\x78\x4e\x64\x4f\x6d\x6f\x43\x63\x57','\x72\x59\x50\x35\x57\x50\x4e\x64\x4b\x47','\x77\x67\x54\x63\x7a\x4e\x61','\x7a\x4e\x66\x42\x74\x75\x38','\x57\x52\x78\x63\x50\x30\x57','\x42\x6d\x6f\x33\x57\x52\x54\x75\x65\x63\x65\x68\x57\x36\x71','\x57\x35\x79\x4f\x41\x4e\x71\x52\x57\x37\x52\x64\x4f\x6d\x6f\x59','\x57\x52\x58\x41\x57\x36\x37\x63\x4c\x43\x6b\x47\x70\x67\x47\x47\x76\x6d\x6f\x68\x69\x67\x6a\x41\x57\x4f\x53','\x74\x30\x38\x2f\x57\x34\x61','\x57\x34\x50\x4e\x6b\x71','\x65\x67\x46\x63\x52\x6d\x6f\x50\x71\x43\x6f\x48\x6c\x38\x6b\x6b','\x65\x53\x6f\x4f\x66\x6d\x6f\x6b\x77\x71','\x70\x53\x6b\x4f\x57\x36\x7a\x77','\x57\x34\x64\x64\x4b\x4c\x48\x62','\x57\x37\x4a\x64\x54\x68\x6a\x52\x57\x4f\x38','\x78\x74\x6e\x4e\x57\x50\x56\x64\x48\x38\x6f\x37\x57\x50\x30','\x57\x35\x62\x61\x57\x36\x30\x49\x70\x57','\x77\x43\x6b\x4a\x74\x57','\x70\x53\x6b\x30\x57\x36\x76\x42','\x57\x50\x61\x52\x57\x52\x57\x6c\x57\x34\x69','\x63\x71\x4e\x64\x49\x38\x6f\x31','\x57\x51\x57\x62\x57\x51\x6d\x2f\x57\x35\x44\x2f\x68\x64\x34','\x57\x34\x33\x64\x54\x63\x34\x70','\x45\x72\x74\x63\x53\x61','\x77\x4c\x4b\x2f\x57\x35\x68\x63\x56\x73\x7a\x47\x44\x57','\x57\x34\x37\x64\x56\x5a\x76\x36\x57\x50\x35\x6a\x6e\x38\x6b\x47','\x57\x34\x50\x4b\x6c\x4e\x4b\x56','\x57\x34\x4c\x48\x57\x51\x65\x31','\x64\x73\x38\x55\x57\x35\x5a\x63\x54\x38\x6b\x65\x46\x64\x69','\x57\x35\x70\x64\x4a\x4d\x58\x6b\x57\x50\x38','\x73\x5a\x75\x62\x57\x36\x61\x73\x57\x4f\x33\x63\x4b\x53\x6f\x4c','\x70\x67\x62\x69\x70\x43\x6b\x30','\x71\x4e\x76\x51\x74\x61','\x6e\x4c\x37\x64\x53\x66\x4f','\x75\x74\x70\x63\x54\x49\x64\x64\x55\x47','\x57\x37\x72\x36\x57\x36\x54\x30\x57\x52\x30','\x57\x36\x65\x70\x57\x51\x52\x64\x4c\x53\x6f\x70\x79\x63\x72\x4a','\x76\x4d\x7a\x59\x43\x43\x6b\x4b','\x79\x38\x6b\x64\x69\x49\x56\x64\x52\x71','\x74\x31\x6d\x38\x57\x35\x68\x64\x51\x72\x38\x50\x74\x57','\x72\x32\x7a\x79\x43\x75\x52\x64\x51\x53\x6f\x77\x68\x47','\x74\x6d\x6b\x50\x77\x53\x6b\x48','\x6c\x6d\x6f\x45\x6d\x53\x6b\x51\x67\x38\x6b\x79','\x61\x4d\x50\x77\x6a\x43\x6b\x6e','\x57\x52\x74\x63\x4d\x31\x6c\x63\x4c\x43\x6b\x6a\x61\x4d\x71\x47','\x57\x35\x42\x64\x49\x4a\x6d\x61\x79\x57','\x64\x43\x6f\x61\x57\x50\x65\x5a\x72\x30\x30\x62\x79\x57','\x6c\x6d\x6f\x6f\x6c\x4c\x42\x63\x4c\x53\x6b\x5a\x79\x53\x6f\x31','\x57\x37\x68\x64\x4b\x53\x6f\x7a\x57\x36\x53\x53','\x6e\x53\x6f\x2b\x57\x4f\x75\x68\x76\x57','\x77\x6d\x6b\x6a\x6b\x47','\x6f\x38\x6b\x50\x57\x37\x6d\x67','\x71\x4a\x54\x5a\x57\x4f\x68\x64\x55\x43\x6f\x59\x57\x50\x42\x64\x54\x61','\x57\x4f\x56\x64\x50\x6d\x6f\x75\x41\x6d\x6b\x66','\x57\x37\x48\x72\x74\x49\x2f\x64\x4d\x71','\x57\x36\x39\x61\x57\x36\x37\x64\x52\x53\x6f\x30','\x57\x34\x35\x36\x57\x51\x38\x32\x57\x4f\x76\x4f\x72\x71','\x57\x37\x74\x63\x50\x66\x70\x63\x54\x58\x53','\x57\x35\x4c\x43\x57\x37\x37\x64\x49\x38\x6f\x57\x6b\x33\x2f\x64\x47\x57','\x6d\x6d\x6f\x63\x66\x61','\x57\x37\x52\x64\x53\x4d\x53','\x42\x65\x43\x63\x57\x34\x6c\x63\x56\x47','\x61\x49\x74\x64\x48\x6d\x6f\x6b\x70\x47','\x57\x34\x44\x6a\x57\x36\x56\x64\x48\x6d\x6f\x39','\x57\x50\x42\x64\x55\x43\x6f\x63\x76\x38\x6b\x55','\x43\x4b\x74\x64\x53\x53\x6b\x4f\x45\x57','\x41\x30\x2f\x64\x50\x43\x6b\x32\x76\x47','\x74\x6d\x6b\x34\x6f\x38\x6b\x58\x57\x35\x52\x63\x49\x43\x6b\x68','\x57\x36\x4e\x64\x55\x71\x4e\x64\x48\x6d\x6f\x73\x76\x64\x34\x6b\x74\x72\x37\x63\x51\x73\x75\x4c','\x6d\x71\x48\x65\x45\x71','\x57\x35\x52\x64\x55\x67\x54\x62\x57\x4f\x57','\x6e\x6d\x6b\x68\x42\x71\x56\x64\x48\x71','\x57\x37\x62\x42\x57\x34\x39\x45\x57\x52\x4b','\x57\x52\x6c\x63\x52\x65\x52\x63\x54\x58\x30\x39\x57\x4f\x43\x52','\x57\x50\x34\x2f\x57\x51\x54\x41\x6e\x53\x6f\x32\x57\x52\x4f\x53','\x75\x78\x4f\x44\x57\x36\x39\x62\x57\x36\x57\x54\x57\x37\x4f','\x44\x53\x6f\x4f\x64\x65\x64\x63\x47\x74\x33\x64\x4e\x6d\x6f\x43','\x46\x38\x6b\x35\x57\x37\x48\x59\x57\x37\x4b','\x62\x48\x37\x64\x4b\x53\x6f\x33\x67\x30\x7a\x47\x45\x71','\x57\x35\x72\x39\x57\x51\x53\x30\x57\x50\x66\x47\x75\x38\x6f\x35','\x57\x35\x42\x63\x50\x43\x6b\x64\x6d\x6d\x6f\x67\x57\x51\x6e\x73\x73\x38\x6f\x70\x57\x50\x4a\x64\x4f\x30\x4e\x63\x4d\x71','\x6d\x48\x72\x6e\x44\x61','\x57\x35\x6c\x64\x4b\x78\x68\x63\x53\x71','\x6c\x6d\x6b\x43\x44\x58\x4a\x64\x4d\x53\x6b\x53\x41\x43\x6f\x31','\x65\x61\x6e\x4e\x57\x50\x61','\x67\x43\x6b\x51\x57\x37\x31\x57\x57\x36\x54\x62\x6d\x71','\x69\x76\x4e\x64\x50\x4b\x6c\x64\x4a\x68\x44\x6f\x57\x52\x47','\x72\x5a\x72\x4e','\x57\x35\x50\x72\x57\x52\x33\x63\x48\x57','\x41\x57\x78\x63\x55\x71\x4e\x64\x49\x43\x6f\x32\x44\x71','\x61\x78\x61\x49\x57\x35\x78\x63\x49\x38\x6f\x35\x57\x4f\x68\x64\x53\x61','\x57\x36\x71\x35\x57\x35\x30\x6a\x44\x4c\x53','\x57\x36\x74\x63\x47\x6d\x6f\x4a\x68\x33\x48\x33\x6b\x49\x34','\x43\x4d\x57\x67\x57\x35\x46\x63\x52\x61','\x72\x4d\x4e\x63\x4e\x38\x6f\x63\x6a\x65\x31\x39\x62\x47','\x57\x36\x57\x44\x57\x51\x52\x64\x48\x38\x6f\x4b\x77\x4a\x76\x33','\x6b\x68\x44\x67\x68\x43\x6b\x62','\x57\x34\x6e\x48\x57\x36\x58\x6d\x57\x50\x6d','\x57\x37\x78\x64\x52\x32\x72\x4e\x57\x4f\x52\x63\x4b\x6d\x6f\x47\x44\x61','\x57\x50\x52\x64\x53\x53\x6f\x37\x79\x38\x6b\x4a','\x57\x36\x42\x63\x56\x65\x37\x63\x54\x57','\x57\x52\x4f\x76\x57\x50\x50\x66\x70\x32\x70\x64\x55\x62\x38','\x57\x37\x4a\x64\x4f\x6d\x6f\x52\x57\x35\x4b\x77','\x76\x58\x4f\x32\x57\x50\x56\x64\x49\x6d\x6f\x69\x6a\x78\x71','\x61\x59\x38\x64\x6b\x5a\x37\x63\x50\x53\x6b\x66\x72\x57','\x46\x38\x6f\x4c\x57\x51\x62\x4b\x6e\x31\x44\x48\x57\x52\x4b\x74','\x57\x52\x4a\x64\x55\x38\x6f\x41\x7a\x38\x6b\x78','\x72\x32\x35\x51\x74\x6d\x6b\x66\x57\x50\x78\x63\x56\x61','\x6a\x6d\x6b\x4d\x57\x36\x30','\x64\x6d\x6b\x42\x57\x35\x62\x44\x77\x61','\x57\x37\x38\x6c\x57\x52\x46\x64\x47\x38\x6f\x39\x79\x61\x39\x51','\x43\x48\x2f\x63\x56\x71\x4f','\x45\x74\x52\x63\x54\x6d\x6b\x4e\x57\x37\x38','\x73\x75\x38\x38\x57\x35\x4a\x63\x51\x62\x50\x53','\x57\x36\x50\x46\x57\x51\x79\x44\x57\x51\x4b','\x6c\x72\x66\x6f\x43\x38\x6f\x73\x6b\x4c\x65\x49','\x43\x6d\x6b\x61\x69\x62\x70\x64\x51\x71','\x44\x68\x2f\x64\x51\x53\x6b\x64','\x57\x4f\x57\x35\x43\x59\x54\x34\x57\x36\x74\x64\x4e\x43\x6b\x32\x64\x43\x6b\x67\x57\x52\x4b','\x72\x43\x6b\x42\x57\x4f\x71\x49\x6d\x33\x37\x63\x4e\x4a\x6d','\x57\x50\x44\x42\x61\x47','\x77\x6d\x6f\x6a\x57\x50\x71\x55\x6a\x65\x78\x64\x4a\x4e\x38','\x57\x34\x35\x4e\x57\x51\x4b\x53\x57\x50\x66\x33\x67\x6d\x6f\x47','\x57\x50\x42\x63\x4b\x4a\x70\x63\x50\x6d\x6f\x2f\x57\x50\x46\x63\x4a\x57\x75','\x57\x51\x57\x62\x57\x51\x6d\x38\x57\x34\x50\x35\x63\x47','\x72\x4e\x71\x66','\x6f\x30\x70\x64\x53\x53\x6f\x42\x57\x50\x37\x63\x4b\x59\x37\x64\x49\x48\x50\x71\x57\x52\x71','\x79\x72\x68\x63\x4f\x38\x6b\x7a\x57\x35\x38','\x57\x35\x58\x47\x57\x51\x30','\x77\x78\x38\x6b\x57\x52\x76\x69\x57\x37\x65\x34\x57\x52\x47','\x75\x6d\x6b\x61\x57\x50\x65\x55\x6b\x4c\x74\x63\x4d\x48\x38','\x69\x32\x76\x55\x64\x38\x6b\x78','\x75\x64\x71\x79\x57\x37\x31\x6a\x57\x35\x64\x64\x48\x61','\x6d\x4c\x6c\x64\x53\x31\x43','\x6b\x65\x74\x64\x54\x61','\x57\x36\x5a\x64\x56\x31\x7a\x4f\x57\x51\x4b','\x67\x73\x74\x63\x4b\x6d\x6f\x6d\x44\x32\x75\x52\x6a\x61','\x77\x53\x6b\x54\x64\x63\x4e\x64\x47\x57','\x75\x43\x6b\x4a\x41\x38\x6b\x32\x57\x51\x33\x63\x51\x72\x57','\x64\x73\x38\x5a\x57\x35\x46\x63\x49\x43\x6b\x6b','\x57\x52\x31\x2f\x57\x35\x34\x6f\x7a\x65\x70\x63\x4d\x68\x65','\x7a\x4d\x74\x64\x52\x43\x6b\x6b\x67\x65\x66\x78\x42\x47','\x42\x77\x6c\x64\x50\x38\x6b\x6c','\x57\x50\x42\x63\x4b\x4a\x70\x63\x56\x53\x6f\x31\x57\x50\x46\x63\x4a\x33\x71','\x75\x63\x71\x75\x57\x36\x6a\x6c\x57\x34\x4f','\x71\x53\x6b\x61\x57\x50\x61\x2f\x69\x66\x6d','\x57\x36\x71\x47\x57\x35\x79\x6f\x79\x57','\x57\x37\x48\x4d\x57\x4f\x38\x6f\x57\x52\x69','\x64\x5a\x79\x78\x57\x37\x42\x63\x52\x57','\x57\x36\x6d\x62\x57\x51\x34','\x45\x53\x6f\x4f\x57\x51\x43\x6c\x75\x5a\x43\x78\x57\x52\x34\x70\x57\x4f\x57\x52\x57\x4f\x46\x63\x47\x57','\x73\x38\x6b\x69\x57\x52\x71\x36\x65\x57','\x43\x64\x47\x42\x57\x37\x6d','\x6d\x31\x2f\x64\x50\x71\x4f','\x76\x57\x6e\x53\x57\x35\x33\x63\x50\x31\x4b','\x57\x50\x30\x49\x57\x52\x44\x68','\x76\x33\x48\x54\x71\x43\x6b\x45\x57\x50\x33\x63\x51\x73\x4f','\x57\x36\x4e\x64\x4c\x6d\x6f\x74\x57\x36\x47\x6d','\x57\x36\x4e\x64\x4a\x6d\x6f\x71\x57\x37\x71\x75\x41\x61\x70\x64\x48\x57','\x57\x4f\x47\x56\x57\x52\x62\x6b\x6b\x6d\x6f\x38\x57\x50\x34\x34','\x57\x35\x2f\x64\x54\x77\x4f\x31\x57\x50\x57\x70\x6f\x53\x6b\x73','\x67\x6d\x6f\x59\x61\x6d\x6f\x52\x57\x37\x68\x63\x52\x57\x5a\x64\x53\x57','\x73\x6d\x6b\x6e\x57\x37\x7a\x45\x57\x34\x53','\x46\x4a\x48\x62\x57\x52\x70\x64\x4f\x61','\x57\x51\x74\x63\x49\x38\x6f\x42\x57\x36\x71\x6f\x69\x5a\x6c\x64\x4c\x57','\x57\x51\x47\x63\x57\x34\x48\x41','\x6a\x43\x6b\x52\x57\x37\x6e\x75\x6e\x57','\x57\x35\x56\x64\x49\x4c\x6d\x63\x57\x37\x6d','\x72\x78\x79\x66\x57\x51\x7a\x41\x57\x37\x79','\x6e\x4b\x6c\x64\x53\x31\x43','\x43\x4b\x72\x55\x76\x4e\x57','\x6c\x47\x62\x6e\x41\x6d\x6f\x2f\x6f\x31\x57\x38','\x77\x33\x6c\x63\x4b\x6d\x6f\x66\x74\x61','\x42\x53\x6f\x54\x68\x72\x37\x64\x49\x57','\x57\x37\x56\x64\x48\x53\x6f\x71\x57\x37\x6d\x6d','\x57\x34\x44\x45\x57\x36\x30\x68\x70\x4b\x52\x63\x49\x6d\x6b\x59','\x6e\x53\x6f\x65\x57\x51\x47\x54\x42\x57','\x57\x36\x6e\x57\x57\x37\x6a\x5a\x57\x51\x74\x63\x54\x68\x7a\x59','\x69\x4d\x66\x33\x67\x43\x6b\x6a\x41\x75\x6d\x5a','\x57\x37\x5a\x63\x53\x77\x56\x63\x48\x5a\x65','\x57\x36\x6c\x64\x47\x5a\x38\x73\x41\x4c\x35\x69\x57\x34\x43','\x45\x66\x57\x67\x57\x37\x4e\x63\x48\x61','\x43\x67\x5a\x64\x54\x38\x6b\x67','\x57\x50\x6c\x64\x56\x6d\x6f\x71\x43\x43\x6b\x71\x57\x37\x47\x71\x75\x71','\x77\x5a\x72\x52\x57\x50\x56\x64\x49\x43\x6f\x47\x57\x4f\x61','\x75\x66\x2f\x64\x4f\x53\x6b\x42\x76\x71','\x43\x66\x7a\x43\x57\x50\x56\x63\x48\x73\x7a\x53\x71\x57','\x57\x37\x54\x4c\x57\x35\x47\x34\x6f\x61','\x57\x37\x31\x2b\x57\x36\x65','\x57\x36\x30\x7a\x57\x35\x57\x74\x43\x61','\x57\x37\x48\x70\x57\x36\x62\x47\x57\x4f\x38\x35\x69\x64\x6e\x4e\x57\x37\x5a\x63\x49\x38\x6b\x71','\x57\x34\x7a\x2b\x57\x36\x38\x6c','\x65\x74\x71\x58\x57\x36\x52\x63\x4e\x6d\x6b\x68\x43\x73\x6d','\x57\x34\x6e\x67\x57\x36\x56\x64\x47\x53\x6f\x4e\x67\x4e\x4a\x64\x48\x47','\x46\x38\x6f\x53\x57\x51\x79\x69\x75\x4a\x61\x46\x57\x4f\x65\x4c\x57\x52\x43\x6e\x57\x4f\x6c\x63\x50\x71','\x42\x78\x37\x63\x52\x71','\x6c\x53\x6f\x74\x63\x63\x35\x53','\x6b\x57\x4a\x64\x48\x43\x6f\x5a\x69\x47','\x75\x6d\x6b\x67\x57\x51\x38\x2f\x6e\x30\x4a\x63\x47\x64\x75','\x57\x50\x34\x34\x57\x51\x4f','\x74\x49\x61\x62\x57\x37\x6e\x61','\x62\x57\x2f\x64\x4a\x6d\x6f\x38\x62\x58\x72\x53\x78\x47','\x57\x50\x65\x54\x57\x37\x6a\x43\x57\x51\x4f','\x74\x74\x6e\x67\x57\x37\x71\x45','\x57\x34\x64\x64\x4c\x32\x4e\x63\x54\x43\x6f\x51','\x6c\x38\x6f\x46\x6f\x43\x6f\x4a\x71\x43\x6f\x45','\x57\x36\x75\x31\x57\x35\x4b\x73\x7a\x75\x74\x64\x4e\x49\x30','\x57\x36\x34\x45\x57\x34\x34\x4c\x77\x61','\x57\x36\x50\x41\x57\x4f\x4f\x6a\x57\x37\x52\x63\x56\x38\x6f\x32\x65\x57\x30\x37\x57\x34\x4e\x64\x50\x73\x69','\x62\x57\x4c\x70\x76\x43\x6f\x62','\x57\x35\x48\x52\x57\x52\x57\x39\x57\x50\x7a\x51\x76\x38\x6f\x4d','\x77\x78\x38\x65\x57\x52\x6e\x6c','\x57\x35\x72\x6f\x64\x68\x6d\x49','\x57\x52\x52\x64\x50\x38\x6f\x32\x46\x6d\x6b\x75','\x57\x35\x54\x59\x57\x51\x71\x52\x57\x4f\x65','\x6e\x38\x6f\x69\x69\x53\x6f\x48','\x6c\x6d\x6f\x69\x69\x38\x6f\x67\x74\x6d\x6b\x6c\x57\x36\x46\x63\x50\x57','\x76\x33\x48\x50\x73\x6d\x6b\x64\x57\x4f\x68\x63\x52\x78\x57','\x6d\x5a\x44\x41\x72\x43\x6f\x74','\x6b\x43\x6b\x61\x57\x37\x48\x43\x79\x47','\x57\x52\x58\x44\x57\x36\x64\x63\x4b\x6d\x6b\x4b\x6e\x32\x76\x6b\x72\x6d\x6f\x45\x6b\x4c\x4c\x69','\x57\x36\x6d\x2f\x57\x36\x4b\x74\x7a\x76\x37\x64\x4d\x74\x57','\x78\x32\x48\x49\x76\x4c\x52\x64\x4e\x6d\x6f\x41\x68\x61','\x70\x6d\x6f\x68\x61\x61','\x79\x68\x72\x59\x57\x36\x4e\x64\x4f\x30\x43\x48\x73\x61','\x74\x67\x53\x46\x57\x51\x72\x43\x57\x37\x61\x52\x57\x52\x4b','\x6f\x53\x6b\x47\x44\x33\x52\x63\x55\x61','\x6b\x53\x6f\x75\x69\x38\x6f\x48\x72\x38\x6f\x79\x57\x37\x78\x63\x56\x47','\x70\x6d\x6b\x37\x57\x37\x6e\x48\x75\x53\x6b\x71\x71\x59\x47','\x57\x36\x6c\x64\x4c\x6d\x6f\x74\x57\x36\x34\x6b\x41\x71','\x43\x4d\x74\x63\x55\x38\x6f\x30\x75\x57','\x74\x6d\x6b\x73\x6b\x62\x68\x64\x49\x4b\x33\x63\x55\x61','\x57\x34\x6c\x63\x4c\x67\x5a\x63\x47\x59\x47','\x57\x35\x6e\x30\x57\x36\x47\x39\x57\x50\x58\x30\x77\x53\x6f\x4c','\x43\x6d\x6f\x56\x64\x62\x70\x64\x48\x33\x37\x63\x4e\x6d\x6f\x70','\x57\x37\x47\x43\x57\x52\x75','\x43\x32\x68\x64\x51\x53\x6b\x6e\x78\x71','\x57\x36\x54\x6e\x57\x36\x71\x51\x61\x61','\x57\x37\x42\x64\x47\x43\x6f\x72\x57\x36\x79\x6d\x7a\x61','\x63\x38\x6b\x50\x57\x36\x44\x71\x6c\x71','\x57\x34\x4c\x48\x6e\x33\x38','\x57\x34\x31\x73\x57\x52\x31\x67\x69\x76\x4e\x63\x4d\x43\x6b\x66','\x64\x6d\x6f\x6a\x57\x35\x65\x4c\x6a\x65\x5a\x63\x49\x33\x69','\x72\x32\x48\x7a\x79\x65\x52\x64\x55\x38\x6f\x44','\x72\x4a\x54\x5a','\x57\x37\x5a\x63\x4b\x6d\x6f\x49\x66\x66\x53','\x57\x52\x4e\x64\x4a\x53\x6b\x70\x77\x6d\x6f\x43\x57\x51\x4c\x6b\x7a\x57','\x6e\x38\x6f\x64\x6a\x38\x6f\x48','\x57\x35\x6e\x63\x57\x35\x6a\x33\x57\x4f\x43','\x57\x35\x39\x48\x6b\x33\x38','\x77\x33\x64\x63\x4d\x53\x6f\x6e\x79\x71','\x57\x4f\x69\x75\x57\x51\x6e\x65\x6e\x76\x33\x63\x4d\x38\x6f\x63','\x69\x74\x58\x63\x57\x4f\x46\x63\x51\x61','\x57\x34\x6e\x43\x57\x36\x79','\x44\x43\x6b\x4d\x77\x53\x6b\x6d\x57\x4f\x75','\x43\x53\x6f\x68\x61\x63\x37\x64\x50\x71','\x73\x73\x68\x63\x54\x53\x6b\x55\x57\x34\x38','\x7a\x31\x4b\x71\x57\x36\x46\x63\x4c\x66\x6d\x32\x6f\x47','\x65\x63\x4b\x4a','\x61\x78\x70\x63\x49\x38\x6f\x31\x73\x57','\x72\x6d\x6b\x64\x70\x57','\x43\x6d\x6f\x6f\x65\x63\x35\x31\x57\x35\x2f\x64\x47\x75\x43','\x57\x36\x6a\x39\x57\x36\x39\x35\x57\x51\x34','\x57\x36\x31\x62\x57\x51\x4b\x54\x57\x4f\x4b','\x57\x4f\x47\x37\x46\x49\x48\x2b\x57\x51\x78\x63\x56\x6d\x6b\x6c\x6b\x38\x6b\x33\x57\x4f\x5a\x63\x49\x43\x6b\x4a','\x42\x75\x5a\x64\x47\x53\x6b\x33\x45\x57','\x57\x37\x37\x64\x53\x4e\x76\x47','\x79\x4d\x52\x63\x4c\x53\x6f\x4b\x7a\x57','\x76\x59\x47\x62\x57\x37\x58\x6e','\x78\x78\x62\x50\x73\x38\x6b\x45\x57\x4f\x46\x63\x56\x73\x47','\x76\x47\x4a\x63\x4a\x53\x6b\x74\x57\x36\x71','\x7a\x53\x6f\x4d\x57\x36\x6a\x72\x73\x6d\x6b\x5a\x73\x49\x79','\x57\x51\x38\x71\x57\x52\x38\x4e\x57\x35\x31\x2f','\x57\x35\x50\x4f\x42\x49\x6c\x64\x4b\x71','\x6c\x53\x6f\x50\x65\x72\x4a\x64\x47\x64\x46\x63\x48\x43\x6f\x6c','\x74\x6d\x6b\x6f\x6c\x53\x6b\x4f\x57\x35\x34','\x57\x34\x4c\x51\x57\x52\x47\x39','\x57\x4f\x61\x32\x57\x52\x62\x6d\x6d\x47','\x63\x49\x6d\x4e\x57\x34\x30','\x6b\x68\x54\x4d\x67\x6d\x6f\x42\x44\x65\x53\x34','\x6a\x43\x6b\x4d\x57\x36\x35\x62','\x57\x36\x70\x64\x4a\x78\x7a\x54\x57\x52\x6d','\x70\x38\x6f\x67\x57\x51\x65\x6d\x6f\x48\x53\x45\x69\x47','\x68\x77\x46\x63\x54\x6d\x6f\x2f\x68\x6d\x6b\x55','\x69\x38\x6b\x55\x57\x52\x53\x45\x6b\x4d\x31\x6e\x57\x51\x57','\x57\x36\x34\x44\x57\x37\x46\x64\x4f\x38\x6f\x7a\x6b\x74\x39\x47','\x78\x43\x6b\x2b\x57\x34\x4c\x79\x57\x35\x35\x57\x6d\x71','\x69\x72\x57\x75\x57\x34\x70\x64\x51\x77\x53\x34\x41\x61','\x65\x67\x4e\x63\x54\x53\x6f\x36\x71\x38\x6f\x38\x6b\x43\x6b\x4e','\x57\x52\x6c\x63\x4d\x75\x4a\x63\x56\x6d\x6b\x50','\x76\x43\x6b\x77\x70\x71\x2f\x64\x4e\x71','\x57\x50\x4e\x63\x50\x67\x31\x6e\x6b\x66\x7a\x74\x57\x35\x79','\x57\x37\x38\x4c\x57\x35\x47\x34\x44\x4b\x74\x64\x48\x64\x34','\x57\x35\x54\x36\x57\x51\x71\x53\x57\x4f\x66\x32','\x57\x37\x56\x64\x50\x72\x42\x63\x4d\x38\x6b\x6a\x61\x67\x71\x4d'];_0x521b=function(){return _0x42ad36;};return _0x521b();}_0x1fa1d2[_0x31e7f1(0x341,'\x55\x34\x5a\x38')+_0x31e7f1(0x1fb,'\x2a\x6e\x4e\x58')]=_0x201d6d,_0x1fa1d2[_0x31e7f1(0x345,'\x64\x57\x32\x37')+_0x31e7f1(0x2d1,'\x43\x50\x4e\x55')]=_0x901301,_0x1fa1d2[_0x31e7f1(0x2cd,'\x66\x24\x36\x6c')+_0x31e7f1(0x20f,'\x34\x51\x6c\x67')]=_0x3ccbbd,_0x1fa1d2[_0x31e7f1(0x248,'\x29\x48\x5a\x35')+_0x31e7f1(0x323,'\x6a\x63\x37\x75')]=_0x4d56d8,_0x1fa1d2[_0x31e7f1(0x253,'\x49\x61\x78\x5b')+_0x31e7f1(0x27e,'\x50\x24\x69\x29')+'\x65']=_0x165126,_0x1fa1d2[_0x31e7f1(0x299,'\x6c\x52\x43\x53')+_0x31e7f1(0x3b7,'\x66\x61\x75\x23')]=_0x11f493,_0x1fa1d2[_0x31e7f1(0x20c,'\x5d\x25\x53\x55')+'\x72\x65']=_0xf39610,module[_0x31e7f1(0x373,'\x57\x4c\x55\x34')]=_0x1fa1d2;
|
package/src/gep/featureFlags.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
// Feature flags persistence layer.
|
|
2
|
-
//
|
|
3
|
-
// Provides three-tier override semantics (read by callers):
|
|
4
|
-
// 1. Local env (highest priority, user escape hatch)
|
|
5
|
-
// 2. Persisted flag from disk (set by hub mailbox or manual write)
|
|
6
|
-
// 3. Code default (lowest priority)
|
|
7
|
-
//
|
|
8
|
-
// File location: ~/.evomap/feature_flags.json (same dir as node_id / node_secret).
|
|
9
|
-
// Schema: { "<key>": { value: any, source: string, updatedAt: ISO8601 } }
|
|
10
|
-
//
|
|
11
|
-
// Whitelist enforcement happens at the caller (HUB_EVENT_HANDLERS).
|
|
12
|
-
|
|
13
|
-
'use strict';
|
|
14
|
-
|
|
15
|
-
const fs = require('fs');
|
|
16
|
-
const path = require('path');
|
|
17
|
-
|
|
18
|
-
// Lazy resolution via paths.getEvomapDir() — honors EVOLVER_HOME (#114).
|
|
19
|
-
const { getEvomapDir } = require('./paths');
|
|
20
|
-
function _flagsDir() { return getEvomapDir(); }
|
|
21
|
-
function _flagsFile() { return path.join(_flagsDir(), 'feature_flags.json'); }
|
|
22
|
-
const LOCAL_FLAGS_FILE = path.resolve(__dirname, '..', '..', '.evomap_feature_flags.json');
|
|
23
|
-
|
|
24
|
-
let _cache = null;
|
|
25
|
-
let _cacheLoaded = false;
|
|
26
|
-
|
|
27
|
-
function _readFile(p) {
|
|
28
|
-
try {
|
|
29
|
-
if (!fs.existsSync(p)) return null;
|
|
30
|
-
const raw = fs.readFileSync(p, 'utf8');
|
|
31
|
-
if (!raw) return null;
|
|
32
|
-
const obj = JSON.parse(raw);
|
|
33
|
-
if (obj && typeof obj === 'object') return obj;
|
|
34
|
-
} catch (_) {}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function _loadFromDisk() {
|
|
39
|
-
if (_cacheLoaded) return _cache;
|
|
40
|
-
_cacheLoaded = true;
|
|
41
|
-
_cache = _readFile(_flagsFile()) || _readFile(LOCAL_FLAGS_FILE) || {};
|
|
42
|
-
return _cache;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function _writeToDisk(obj) {
|
|
46
|
-
// NOTE(windows): mode 0o700 / 0o600 are silently ignored on Windows.
|
|
47
|
-
// Feature-flag files will NOT be owner-only on Windows; they are protected
|
|
48
|
-
// only by user-profile directory ACLs. This is acceptable as feature flags
|
|
49
|
-
// are not security-critical secrets.
|
|
50
|
-
try {
|
|
51
|
-
const dir = _flagsDir();
|
|
52
|
-
if (!fs.existsSync(dir)) {
|
|
53
|
-
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
54
|
-
}
|
|
55
|
-
fs.writeFileSync(_flagsFile(), JSON.stringify(obj, null, 2), { encoding: 'utf8', mode: 0o600 });
|
|
56
|
-
return true;
|
|
57
|
-
} catch (_) {}
|
|
58
|
-
try {
|
|
59
|
-
fs.writeFileSync(LOCAL_FLAGS_FILE, JSON.stringify(obj, null, 2), { encoding: 'utf8', mode: 0o600 });
|
|
60
|
-
return true;
|
|
61
|
-
} catch (_) {}
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Read a persisted feature flag value. Returns undefined if not set.
|
|
67
|
-
* @param {string} key
|
|
68
|
-
* @returns {any|undefined}
|
|
69
|
-
*/
|
|
70
|
-
function readFeatureFlag(key) {
|
|
71
|
-
if (!key || typeof key !== 'string') return undefined;
|
|
72
|
-
const all = _loadFromDisk();
|
|
73
|
-
const entry = all[key];
|
|
74
|
-
if (!entry || typeof entry !== 'object') return undefined;
|
|
75
|
-
return entry.value;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Persist a feature flag. Returns true on success.
|
|
80
|
-
* @param {string} key
|
|
81
|
-
* @param {any} value
|
|
82
|
-
* @param {string} [source] - origin tag, e.g. "hub_mailbox", "manual"
|
|
83
|
-
*/
|
|
84
|
-
function writeFeatureFlag(key, value, source) {
|
|
85
|
-
if (!key || typeof key !== 'string') return false;
|
|
86
|
-
const all = _loadFromDisk();
|
|
87
|
-
all[key] = {
|
|
88
|
-
value,
|
|
89
|
-
source: typeof source === 'string' && source ? source : 'unknown',
|
|
90
|
-
updatedAt: new Date().toISOString(),
|
|
91
|
-
};
|
|
92
|
-
const ok = _writeToDisk(all);
|
|
93
|
-
if (ok) _cache = all;
|
|
94
|
-
return ok;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Returns the full flags object (read-only view). For diagnostics/tests.
|
|
99
|
-
*/
|
|
100
|
-
function getAllFeatureFlags() {
|
|
101
|
-
const all = _loadFromDisk();
|
|
102
|
-
return JSON.parse(JSON.stringify(all));
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Reset the in-process cache. Test-only.
|
|
107
|
-
*/
|
|
108
|
-
function _resetCacheForTests() {
|
|
109
|
-
_cache = null;
|
|
110
|
-
_cacheLoaded = false;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
module.exports = {
|
|
114
|
-
readFeatureFlag,
|
|
115
|
-
writeFeatureFlag,
|
|
116
|
-
getAllFeatureFlags,
|
|
117
|
-
_resetCacheForTests,
|
|
118
|
-
// Getter so callers see the current EVOLVER_HOME at call time (#114).
|
|
119
|
-
get FLAGS_FILE() { return _flagsFile(); },
|
|
120
|
-
LOCAL_FLAGS_FILE,
|
|
121
|
-
};
|