@evomap/evolver-core 2.0.0-beta.9 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/algo/antiDistill.js +1 -167
- package/dist/algo/bans.js +1 -33
- package/dist/algo/candidateAssembly.d.ts +7 -2
- package/dist/algo/candidateAssembly.js +1 -205
- package/dist/algo/capabilityCandidates.js +1 -136
- package/dist/algo/confidence.js +1 -196
- package/dist/algo/conversationSniffer.js +1 -149
- package/dist/algo/cycleEngine.d.ts +23 -2
- package/dist/algo/cycleEngine.js +1 -425
- package/dist/algo/cycleFailureClassifier.js +1 -112
- package/dist/algo/epigenetics.js +1 -41
- package/dist/algo/evolutionEvent.js +1 -24
- package/dist/algo/exploration.d.ts +7 -0
- package/dist/algo/exploration.js +1 -55
- package/dist/algo/geneHealth.d.ts +2 -2
- package/dist/algo/geneHealth.js +1 -16
- package/dist/algo/geneIntake.js +1 -128
- package/dist/algo/genePromotion.js +1 -53
- package/dist/algo/geneSelection.d.ts +63 -5
- package/dist/algo/geneSelection.js +1 -246
- package/dist/algo/index.d.ts +2 -0
- package/dist/algo/index.js +1 -20
- package/dist/algo/memoryGraph.js +1 -86
- package/dist/algo/mutation.js +1 -22
- package/dist/algo/orchestrator.d.ts +8 -1
- package/dist/algo/orchestrator.js +1 -75
- package/dist/algo/publishEligibility.d.ts +34 -0
- package/dist/algo/publishEligibility.js +1 -0
- package/dist/algo/solidify.js +1 -63
- package/dist/algo/strategyPresets.js +1 -61
- package/dist/algo/ucb1.d.ts +53 -0
- package/dist/algo/ucb1.js +1 -0
- package/dist/assetstore/assetSidecarRecords.d.ts +7 -2
- package/dist/assetstore/assetSidecarRecords.js +238 -0
- package/dist/assetstore/assetSidecarRecovery.js +2 -2
- package/dist/assetstore/assetStoreHealth.d.ts +6 -0
- package/dist/assetstore/assetStoreHealth.js +56 -14
- package/dist/assetstore/assetStoreStorage.d.ts +1 -1
- package/dist/assetstore/assetStoreStorage.js +27 -9
- package/dist/assetstore/assetSyncLedger.d.ts +86 -0
- package/dist/assetstore/assetSyncLedger.js +683 -4
- package/dist/assetstore/index.d.ts +1 -0
- package/dist/assetstore/index.js +1 -0
- package/dist/assetstore/localAssetStoreSnapshot.d.ts +51 -0
- package/dist/assetstore/localAssetStoreSnapshot.js +329 -0
- package/dist/assetstore/localJsonl.d.ts +4 -2
- package/dist/assetstore/localJsonl.js +89 -9
- package/dist/assetstore/provenance.d.ts +80 -4
- package/dist/assetstore/provenance.js +313 -5
- package/dist/assetstore/provider.d.ts +58 -1
- package/dist/assetstore/provider.js +97 -6
- package/dist/benchmark/antiGeneBenchmark.d.ts +2 -0
- package/dist/benchmark/antiGeneBenchmark.js +1 -251
- package/dist/benchmark/antiGeneImpact.js +1 -34
- package/dist/benchmark/antiGeneRollout.d.ts +2 -0
- package/dist/benchmark/antiGeneRollout.js +1 -268
- package/dist/benchmark/benchmark.js +1 -26
- package/dist/benchmark/evolutionThesisSolver.js +1 -41
- package/dist/benchmark/index.d.ts +2 -1
- package/dist/benchmark/index.js +1 -6
- package/dist/benchmark/selectionFlatAbstention.d.ts +152 -0
- package/dist/benchmark/selectionFlatAbstention.js +1 -0
- package/dist/benchmark/thesis.js +1 -150
- package/dist/benchmark/triggerShift.js +1 -106
- package/dist/bootstrap/envFingerprint.d.ts +9 -0
- package/dist/bootstrap/envFingerprint.js +5 -0
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.js +2 -1
- package/dist/bootstrap/v1EnvCompat.d.ts +111 -0
- package/dist/bootstrap/v1EnvCompat.js +280 -0
- package/dist/cycle/cycleTimeline.js +1 -74
- package/dist/cycle/index.js +1 -2
- package/dist/cycle/stateMachine.js +1 -25
- package/dist/events/eventArchive.d.ts +2 -0
- package/dist/events/eventArchive.js +13 -3
- package/dist/events/eventSchema.d.ts +7 -7
- package/dist/events/eventStore.d.ts +2 -0
- package/dist/events/eventStore.js +5 -1
- package/dist/events/ingest.d.ts +1 -0
- package/dist/events/ingest.js +1 -0
- package/dist/events/paths.d.ts +3 -1
- package/dist/events/paths.js +4 -0
- package/dist/events/public.d.ts +2 -2
- package/dist/events/public.js +2 -2
- package/dist/events/reports.d.ts +2 -0
- package/dist/events/reports.js +4 -0
- package/dist/exec/autoExec.d.ts +43 -2
- package/dist/exec/autoExec.js +76 -9
- package/dist/exec/autonomousCycle.d.ts +22 -4
- package/dist/exec/autonomousCycle.js +64 -13
- package/dist/exec/claudeBridge.d.ts +32 -7
- package/dist/exec/claudeBridge.js +281 -29
- package/dist/exec/prompt.js +5 -1
- package/dist/exec/runnerRegistry.d.ts +68 -26
- package/dist/exec/runnerRegistry.js +307 -72
- package/dist/exec/selfPr.js +1 -7
- package/dist/feedback/envelope.d.ts +61 -0
- package/dist/feedback/envelope.js +168 -0
- package/dist/feedback/index.d.ts +1 -0
- package/dist/feedback/index.js +1 -0
- package/dist/hooks/hooks.js +1 -0
- package/dist/hub/agentDirectory.js +1 -104
- package/dist/hub/assetCallLog.d.ts +35 -1
- package/dist/hub/assetCallLog.js +1 -72
- package/dist/hub/bindings.d.ts +8 -1
- package/dist/hub/bindings.js +1 -110
- package/dist/hub/capability.d.ts +90 -3
- package/dist/hub/capability.js +1 -1
- package/dist/hub/conversationDistiller.js +1 -264
- package/dist/hub/fake.d.ts +2 -2
- package/dist/hub/fake.js +1 -70
- package/dist/hub/hubReview.js +1 -106
- package/dist/hub/index.js +1 -11
- package/dist/hub/ingest.js +1 -15
- package/dist/hub/questionGenerator.d.ts +5 -1
- package/dist/hub/questionGenerator.js +1 -406
- package/dist/hub/reuseDecision.js +1 -127
- package/dist/hub/sanitize.js +1 -322
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/dist/mailbox/dispatch.d.ts +1 -1
- package/dist/mailbox/dispatch.js +22 -6
- package/dist/mailbox/envelope.d.ts +7 -1
- package/dist/mailbox/envelope.js +9 -2
- package/dist/mailbox/ipcServer.d.ts +10 -2
- package/dist/mailbox/ipcServer.js +163 -13
- package/dist/mailbox/store.d.ts +89 -3
- package/dist/mailbox/store.js +895 -41
- package/dist/material/boundary.js +1 -14
- package/dist/material/consumer.js +1 -55
- package/dist/material/emit.js +1 -52
- package/dist/material/factory.js +1 -25
- package/dist/material/index.js +1 -9
- package/dist/material/materialArchive.js +1 -466
- package/dist/material/materialStore.js +1 -69
- package/dist/material/sampling.js +1 -39
- package/dist/material/sources.js +1 -33
- package/dist/material/watermark.js +1 -76
- package/dist/ops/evolutionGraphProjection.d.ts +20 -0
- package/dist/ops/evolutionGraphProjection.js +315 -0
- package/dist/ops/index.d.ts +2 -1
- package/dist/ops/index.js +2 -1
- package/dist/ops/selfUpdate.d.ts +8 -0
- package/dist/ops/selfUpdate.js +24 -8
- package/dist/personality/drift.js +1 -106
- package/dist/personality/events.js +1 -37
- package/dist/personality/evolveOps.js +1 -93
- package/dist/personality/index.js +1 -11
- package/dist/personality/mutate.js +1 -39
- package/dist/personality/pivot.js +1 -22
- package/dist/personality/prompt.js +1 -62
- package/dist/personality/riskGate.js +1 -80
- package/dist/personality/schema.d.ts +16 -16
- package/dist/personality/schema.js +1 -119
- package/dist/personality/select.js +1 -71
- package/dist/personality/stats.js +1 -82
- package/dist/personality/store.js +1 -92
- package/dist/schema/common.js +1 -17
- package/dist/schema/evolutionGraph.d.ts +784 -0
- package/dist/schema/evolutionGraph.js +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -5
- package/dist/schema/material.js +1 -50
- package/dist/schema/problem.js +1 -45
- package/dist/schema/proofOfWork.js +1 -9
- package/dist/schema/signal.d.ts +3 -3
- package/dist/schema/signal.js +1 -19
- package/dist/signals/curriculum.d.ts +55 -0
- package/dist/signals/curriculum.js +1 -0
- package/dist/signals/cycleHistoryFromEvents.js +1 -96
- package/dist/signals/expand.d.ts +15 -1
- package/dist/signals/expand.js +1 -125
- package/dist/signals/extractor.d.ts +2 -2
- package/dist/signals/extractor.js +1 -57
- package/dist/signals/index.d.ts +3 -1
- package/dist/signals/index.js +1 -6
- package/dist/signals/metaSignals.d.ts +4 -0
- package/dist/signals/metaSignals.js +1 -158
- package/dist/signals/signalGate.js +1 -40
- package/dist/signals/taskDomain.d.ts +22 -0
- package/dist/signals/taskDomain.js +1 -0
- package/dist/signals/traceSignals.js +1 -123
- package/dist/strategy/constraintAblation.js +1 -3074
- package/dist/strategy/constraintAblationPredicates.d.ts +31 -0
- package/dist/strategy/constraintAblationPredicates.js +1 -0
- package/dist/strategy/experiment.js +1 -63
- package/dist/strategy/index.js +1 -3
- package/dist/strategy/strategyPoint.js +1 -23
- package/dist/trace/index.d.ts +3 -1
- package/dist/trace/index.js +3 -1
- package/dist/trace/learningTrace.d.ts +209 -0
- package/dist/trace/learningTrace.js +276 -0
- package/dist/trace/proxyTurns.d.ts +31 -0
- package/dist/trace/proxyTurns.js +137 -0
- package/dist/verify/sandboxRunner.d.ts +28 -0
- package/dist/verify/sandboxRunner.js +218 -19
- package/dist/verify/sandboxedValidation.d.ts +9 -0
- package/dist/verify/sandboxedValidation.js +113 -13
- package/dist/verify/validation.d.ts +11 -1
- package/dist/verify/validation.js +31 -0
- package/package.json +5 -2
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
// Read-only Evolution Graph projection over already-emitted root_events.
|
|
2
|
+
//
|
|
3
|
+
// PURE: a function over a root-event snapshot. It never appends events, writes assets, or mutates selection —
|
|
4
|
+
// projecting is strictly an observability concern (same posture as ops/reuseOutcomes.ts). The graph it returns is
|
|
5
|
+
// evidence for "which variant was selected on what basis, and was that later contradicted", not a new actuator.
|
|
6
|
+
//
|
|
7
|
+
// Every edge carries provenance back to the root_event seq that justified it, so a dashboard card can always be
|
|
8
|
+
// traced to a specific emitted event instead of a narrative summary.
|
|
9
|
+
import { deriveEvolutionGraphDashboardSummary, EVOLUTION_GRAPH_SCHEMA_VERSION, } from '../schema/evolutionGraph.js';
|
|
10
|
+
import { HOST_SUPPRESS_CLASSES } from '../algo/cycleFailureClassifier.js';
|
|
11
|
+
const DEFAULT_MAX_EVENTS = 5_000;
|
|
12
|
+
const MAX_LABEL = 120;
|
|
13
|
+
const RESOLUTION_STATUSES = new Set([
|
|
14
|
+
'pending',
|
|
15
|
+
'suppressed_observationally',
|
|
16
|
+
'resolved_by_evidence',
|
|
17
|
+
'regressed',
|
|
18
|
+
'inconclusive',
|
|
19
|
+
]);
|
|
20
|
+
export function projectEvolutionGraph(events, options = {}) {
|
|
21
|
+
const maxEvents = boundedLimit(options.maxEvents, DEFAULT_MAX_EVENTS);
|
|
22
|
+
const window = events.length > maxEvents ? events.slice(events.length - maxEvents) : events;
|
|
23
|
+
const builder = new GraphBuilder();
|
|
24
|
+
for (const event of window)
|
|
25
|
+
builder.absorb(event);
|
|
26
|
+
const nodes = builder.nodes();
|
|
27
|
+
const edges = builder.edges();
|
|
28
|
+
const newestTs = window.length > 0 ? text(window[window.length - 1]?.ts) : '';
|
|
29
|
+
return {
|
|
30
|
+
schemaVersion: EVOLUTION_GRAPH_SCHEMA_VERSION,
|
|
31
|
+
graphId: options.graphId ?? 'graph:evolution:root-events',
|
|
32
|
+
generatedAt: options.generatedAt ?? (isoTimestamp(newestTs) ?? '1970-01-01T00:00:00.000Z'),
|
|
33
|
+
nodes,
|
|
34
|
+
edges,
|
|
35
|
+
dashboard: deriveEvolutionGraphDashboardSummary({ nodes, edges }),
|
|
36
|
+
extensions: {},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
class GraphBuilder {
|
|
40
|
+
nodesById = new Map();
|
|
41
|
+
edgesById = new Map();
|
|
42
|
+
variantByLifecycle = new Map();
|
|
43
|
+
/** cycleId can be reused; only events in the current lifecycle may share evidence or graph nodes. */
|
|
44
|
+
lifecycleByCycle = new Map();
|
|
45
|
+
nodes() {
|
|
46
|
+
return [...this.nodesById.values()].sort((left, right) => left.id.localeCompare(right.id));
|
|
47
|
+
}
|
|
48
|
+
edges() {
|
|
49
|
+
return [...this.edgesById.values()].sort((left, right) => left.id.localeCompare(right.id));
|
|
50
|
+
}
|
|
51
|
+
absorb(event) {
|
|
52
|
+
const at = isoTimestamp(text(event.ts));
|
|
53
|
+
if (!at)
|
|
54
|
+
return;
|
|
55
|
+
const payload = event.payload ?? {};
|
|
56
|
+
const cycleId = opaqueId(payload['cycleId']);
|
|
57
|
+
switch (event.type) {
|
|
58
|
+
case 'cycle.started': {
|
|
59
|
+
if (cycleId)
|
|
60
|
+
this.beginLifecycle(cycleId);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
case 'capsule.produced': {
|
|
64
|
+
if (!cycleId)
|
|
65
|
+
return;
|
|
66
|
+
const capsuleId = opaqueId(payload['capsuleId']);
|
|
67
|
+
const status = resolutionStatus(payload['resolutionStatus']);
|
|
68
|
+
if (!capsuleId || !status)
|
|
69
|
+
return;
|
|
70
|
+
const lifecycle = this.activeLifecycle(cycleId);
|
|
71
|
+
lifecycle.capsule = {
|
|
72
|
+
capsuleId,
|
|
73
|
+
resolutionStatus: status,
|
|
74
|
+
producedValue: payload['producedValue'] === true,
|
|
75
|
+
event,
|
|
76
|
+
};
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
case 'decision.gene_selected': {
|
|
80
|
+
if (!cycleId)
|
|
81
|
+
return;
|
|
82
|
+
const lifecycle = this.decisionLifecycle(cycleId, event);
|
|
83
|
+
const variant = this.variant(lifecycle, at);
|
|
84
|
+
const gene = opaqueId(payload['selectedAssetId']) ?? opaqueId(payload['selectedGeneId']);
|
|
85
|
+
if (gene) {
|
|
86
|
+
const spec = this.node(`spec:${gene}`, 'spec', `gene ${gene}`, at);
|
|
87
|
+
this.edge('derivation', spec, variant, at, event, 'variant derived from the selected gene');
|
|
88
|
+
}
|
|
89
|
+
const selection = this.node(`selection:${lifecycle.key}`, 'selection', `selection for cycle ${cycleId}`, at);
|
|
90
|
+
const reason = text(payload['selectedReason']) || text(event.human?.title) || 'gene selected by cycle engine';
|
|
91
|
+
this.edge('selected', variant, selection, at, event, reason);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
case 'mutation.built': {
|
|
95
|
+
if (!cycleId)
|
|
96
|
+
return;
|
|
97
|
+
const lifecycle = this.activeLifecycle(cycleId);
|
|
98
|
+
if (!lifecycle.key)
|
|
99
|
+
return;
|
|
100
|
+
const variant = this.variant(lifecycle, at);
|
|
101
|
+
const mutationId = opaqueId(payload['mutationId']);
|
|
102
|
+
if (!mutationId)
|
|
103
|
+
return;
|
|
104
|
+
const code = this.node(`code:${mutationId}`, 'code', `mutation ${mutationId}`, at);
|
|
105
|
+
this.edge('derivation', variant, code, at, event, 'variant produced a mutation');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
case 'cycle.solidified': {
|
|
109
|
+
if (!cycleId)
|
|
110
|
+
return;
|
|
111
|
+
const lifecycle = this.activeLifecycle(cycleId);
|
|
112
|
+
lifecycle.terminal = true;
|
|
113
|
+
if (!lifecycle.key)
|
|
114
|
+
return;
|
|
115
|
+
const score = terminalOutcomeScore(payload['outcome'], 'success');
|
|
116
|
+
if (score === null)
|
|
117
|
+
return;
|
|
118
|
+
const variant = this.variant(lifecycle, at);
|
|
119
|
+
const run = this.node(`run:${lifecycle.key}`, 'run', `cycle ${cycleId}`, at);
|
|
120
|
+
this.edge('evaluated_by', variant, run, at, event, 'cycle completed with a measured outcome');
|
|
121
|
+
const evidence = this.matchingCapsuleEvidence(lifecycle, payload, true);
|
|
122
|
+
if (evidence?.resolutionStatus === 'resolved_by_evidence'
|
|
123
|
+
&& evidence.producedValue
|
|
124
|
+
&& payload['producedValue'] === true) {
|
|
125
|
+
this.edge('fixed', variant, run, at, event, 'cycle resolved by output-backed validation evidence', {
|
|
126
|
+
metric: 'cycle_outcome_score',
|
|
127
|
+
after: score,
|
|
128
|
+
direction: 'improved',
|
|
129
|
+
}, [evidence.event]);
|
|
130
|
+
}
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
case 'cycle.failed': {
|
|
134
|
+
if (!cycleId)
|
|
135
|
+
return;
|
|
136
|
+
const lifecycle = this.activeLifecycle(cycleId);
|
|
137
|
+
lifecycle.terminal = true;
|
|
138
|
+
if (!lifecycle.key)
|
|
139
|
+
return;
|
|
140
|
+
const score = terminalOutcomeScore(payload['outcome'], 'failed');
|
|
141
|
+
const failureClass = text(payload['failure_class']);
|
|
142
|
+
if (score === null || text(payload['failureKind']) || suppressesFailure(failureClass))
|
|
143
|
+
return;
|
|
144
|
+
const variant = this.variant(lifecycle, at);
|
|
145
|
+
const run = this.node(`run:${lifecycle.key}`, 'run', `cycle ${cycleId}`, at);
|
|
146
|
+
this.edge('evaluated_by', variant, run, at, event, 'cycle completed with a measured failed outcome');
|
|
147
|
+
const capsule = this.matchingCapsuleEvidence(lifecycle, payload);
|
|
148
|
+
const inlineStatus = resolutionStatus(payload['resolutionStatus']);
|
|
149
|
+
if (hasOwn(payload, 'resolutionStatus') && !inlineStatus)
|
|
150
|
+
return;
|
|
151
|
+
const status = inlineStatus ?? capsule?.resolutionStatus ?? null;
|
|
152
|
+
if (inlineStatus && capsule && inlineStatus !== capsule.resolutionStatus)
|
|
153
|
+
return;
|
|
154
|
+
if (status === 'regressed') {
|
|
155
|
+
this.edge('regressed', variant, run, at, event, failureClass || 'measured cycle regression', {
|
|
156
|
+
metric: 'cycle_outcome_score',
|
|
157
|
+
after: score,
|
|
158
|
+
direction: 'regressed',
|
|
159
|
+
}, capsule ? [capsule.event] : []);
|
|
160
|
+
}
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
case 'cycle.aborted': {
|
|
164
|
+
if (cycleId)
|
|
165
|
+
this.activeLifecycle(cycleId).terminal = true;
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
case 'value.reuse_outcome': {
|
|
169
|
+
const assetId = opaqueId(payload['assetId']);
|
|
170
|
+
if (!assetId)
|
|
171
|
+
return;
|
|
172
|
+
const spec = this.node(`spec:${assetId}`, 'spec', `gene ${assetId}`, at);
|
|
173
|
+
const feedback = this.node(`feedback:${assetId}:${event.seq}`, 'feedback', `reuse outcome ${text(payload['outcome']) || 'negative'}`, at);
|
|
174
|
+
this.edge('derivation', feedback, spec, at, event, 'reuse feedback recorded against the gene');
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
case 'anti_gene.rollout_result': {
|
|
178
|
+
const suite = opaqueId(payload['suite']) ?? `seq-${event.seq}`;
|
|
179
|
+
const test = this.node(`test:${suite}`, 'test', `anti-gene rollout ${suite}`, at);
|
|
180
|
+
const verdict = text(payload['verdict']);
|
|
181
|
+
const variant = this.node(`variant:rollout:${suite}`, 'variant', `anti-gene arm ${suite}`, at);
|
|
182
|
+
this.edge('evaluated_by', variant, test, at, event, verdict || 'anti-gene rollout evaluated');
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
default:
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
beginLifecycle(cycleId) {
|
|
190
|
+
const lifecycle = {
|
|
191
|
+
cycleId,
|
|
192
|
+
key: '',
|
|
193
|
+
decisionSeen: false,
|
|
194
|
+
capsule: null,
|
|
195
|
+
terminal: false,
|
|
196
|
+
};
|
|
197
|
+
this.lifecycleByCycle.set(cycleId, lifecycle);
|
|
198
|
+
return lifecycle;
|
|
199
|
+
}
|
|
200
|
+
activeLifecycle(cycleId) {
|
|
201
|
+
const current = this.lifecycleByCycle.get(cycleId);
|
|
202
|
+
return !current || current.terminal ? this.beginLifecycle(cycleId) : current;
|
|
203
|
+
}
|
|
204
|
+
decisionLifecycle(cycleId, event) {
|
|
205
|
+
let lifecycle = this.lifecycleByCycle.get(cycleId);
|
|
206
|
+
if (!lifecycle || lifecycle.decisionSeen || lifecycle.capsule || lifecycle.terminal) {
|
|
207
|
+
lifecycle = this.beginLifecycle(cycleId);
|
|
208
|
+
}
|
|
209
|
+
lifecycle.key = `${cycleId}:seq:${event.seq}`;
|
|
210
|
+
lifecycle.decisionSeen = true;
|
|
211
|
+
lifecycle.capsule = null;
|
|
212
|
+
return lifecycle;
|
|
213
|
+
}
|
|
214
|
+
variant(lifecycle, at) {
|
|
215
|
+
const existing = this.variantByLifecycle.get(lifecycle.key);
|
|
216
|
+
if (existing)
|
|
217
|
+
return this.nodesById.get(existing);
|
|
218
|
+
const node = this.node(`variant:${lifecycle.key}`, 'variant', `variant from cycle ${lifecycle.cycleId}`, at);
|
|
219
|
+
this.variantByLifecycle.set(lifecycle.key, node.id);
|
|
220
|
+
return node;
|
|
221
|
+
}
|
|
222
|
+
matchingCapsuleEvidence(lifecycle, payload, requireCapsuleId = false) {
|
|
223
|
+
const evidence = lifecycle.capsule;
|
|
224
|
+
if (!evidence)
|
|
225
|
+
return null;
|
|
226
|
+
if (!hasOwn(payload, 'capsuleId'))
|
|
227
|
+
return requireCapsuleId ? null : evidence;
|
|
228
|
+
const capsuleId = opaqueId(payload['capsuleId']);
|
|
229
|
+
return !capsuleId || capsuleId !== evidence.capsuleId ? null : evidence;
|
|
230
|
+
}
|
|
231
|
+
node(id, kind, label, at) {
|
|
232
|
+
const existing = this.nodesById.get(id);
|
|
233
|
+
if (existing)
|
|
234
|
+
return existing;
|
|
235
|
+
const node = {
|
|
236
|
+
id,
|
|
237
|
+
kind,
|
|
238
|
+
label: label.slice(0, MAX_LABEL) || id,
|
|
239
|
+
createdAt: at,
|
|
240
|
+
metrics: [],
|
|
241
|
+
tags: [],
|
|
242
|
+
extensions: {},
|
|
243
|
+
};
|
|
244
|
+
this.nodesById.set(id, node);
|
|
245
|
+
return node;
|
|
246
|
+
}
|
|
247
|
+
edge(kind, from, to, at, event, reason, metricDelta, supportingEvents = []) {
|
|
248
|
+
const id = `edge:${kind}:${from.id}->${to.id}:${event.seq}`;
|
|
249
|
+
if (this.edgesById.has(id))
|
|
250
|
+
return;
|
|
251
|
+
this.edgesById.set(id, {
|
|
252
|
+
id,
|
|
253
|
+
kind,
|
|
254
|
+
from: from.id,
|
|
255
|
+
to: to.id,
|
|
256
|
+
createdAt: at,
|
|
257
|
+
provenance: provenanceFor([...supportingEvents, event]),
|
|
258
|
+
...(metricDelta ? { metricDelta } : {}),
|
|
259
|
+
reason: reason.slice(0, MAX_LABEL),
|
|
260
|
+
extensions: {},
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
function boundedLimit(value, fallback) {
|
|
265
|
+
if (!Number.isFinite(value) || value === undefined || value <= 0)
|
|
266
|
+
return fallback;
|
|
267
|
+
return Math.min(fallback, Math.floor(value));
|
|
268
|
+
}
|
|
269
|
+
function text(value) {
|
|
270
|
+
return typeof value === 'string' ? value.replace(/[\r\n\t]+/g, ' ').trim() : '';
|
|
271
|
+
}
|
|
272
|
+
/** Opaque local identifiers only: no control characters, bounded, so a graph id cannot smuggle payload text. */
|
|
273
|
+
function opaqueId(value) {
|
|
274
|
+
const candidate = text(value);
|
|
275
|
+
if (!candidate || candidate.length > 160)
|
|
276
|
+
return null;
|
|
277
|
+
return /^[A-Za-z0-9][A-Za-z0-9:._-]*$/.test(candidate) ? candidate : null;
|
|
278
|
+
}
|
|
279
|
+
function isoTimestamp(value) {
|
|
280
|
+
if (!value)
|
|
281
|
+
return null;
|
|
282
|
+
const parsed = Date.parse(value);
|
|
283
|
+
return Number.isFinite(parsed) ? new Date(parsed).toISOString() : null;
|
|
284
|
+
}
|
|
285
|
+
function terminalOutcomeScore(value, expectedStatus) {
|
|
286
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
287
|
+
return null;
|
|
288
|
+
const outcome = value;
|
|
289
|
+
if (outcome['status'] !== expectedStatus)
|
|
290
|
+
return null;
|
|
291
|
+
const score = outcome['score'];
|
|
292
|
+
return typeof score === 'number' && Number.isFinite(score) ? score : null;
|
|
293
|
+
}
|
|
294
|
+
function resolutionStatus(value) {
|
|
295
|
+
return typeof value === 'string' && RESOLUTION_STATUSES.has(value)
|
|
296
|
+
? value
|
|
297
|
+
: null;
|
|
298
|
+
}
|
|
299
|
+
function suppressesFailure(value) {
|
|
300
|
+
return value !== '' && HOST_SUPPRESS_CLASSES.has(value);
|
|
301
|
+
}
|
|
302
|
+
function hasOwn(value, key) {
|
|
303
|
+
return Object.prototype.hasOwnProperty.call(value, key);
|
|
304
|
+
}
|
|
305
|
+
function provenanceFor(events) {
|
|
306
|
+
const seen = new Set();
|
|
307
|
+
return events.flatMap((event) => {
|
|
308
|
+
const capturedAt = isoTimestamp(text(event.ts));
|
|
309
|
+
const ref = `seq:${event.seq}`;
|
|
310
|
+
if (!capturedAt || seen.has(ref))
|
|
311
|
+
return [];
|
|
312
|
+
seen.add(ref);
|
|
313
|
+
return [{ kind: 'root_event', ref, capturedAt, summary: event.type }];
|
|
314
|
+
});
|
|
315
|
+
}
|
package/dist/ops/index.d.ts
CHANGED
package/dist/ops/index.js
CHANGED
package/dist/ops/selfUpdate.d.ts
CHANGED
|
@@ -91,6 +91,14 @@ export interface DownloadedArtifact {
|
|
|
91
91
|
/** Or a precomputed lowercase-hex sha256, if the caller hashed during streaming (avoids buffering). */
|
|
92
92
|
sha256?: string;
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Parse a configured public key (PEM, raw 32-byte base64, SPKI DER base64, or a KeyObject) into a node KeyObject.
|
|
96
|
+
*
|
|
97
|
+
* The base64 forms mirror scripts/release-update-manifest.mjs parsePublicKey exactly: the release pipeline and the
|
|
98
|
+
* built-in channel key ship the full SPKI DER blob (44 bytes for Ed25519), while operator overrides may supply the
|
|
99
|
+
* bare 32-byte raw key. Anything that does not decode to a valid Ed25519 SPKI key throws (fail-closed).
|
|
100
|
+
*/
|
|
101
|
+
export declare function toPublicKey(publicKey: string | KeyObject): KeyObject;
|
|
94
102
|
/**
|
|
95
103
|
* Verify downloaded artifacts against the manifest. PURE + deterministic (takes already-read bytes/hashes; does
|
|
96
104
|
* NO I/O). Two layers:
|
package/dist/ops/selfUpdate.js
CHANGED
|
@@ -224,19 +224,35 @@ export function canonicalManifestBytes(manifest) {
|
|
|
224
224
|
};
|
|
225
225
|
return new TextEncoder().encode(JSON.stringify(canonical));
|
|
226
226
|
}
|
|
227
|
-
/**
|
|
228
|
-
|
|
227
|
+
/**
|
|
228
|
+
* Parse a configured public key (PEM, raw 32-byte base64, SPKI DER base64, or a KeyObject) into a node KeyObject.
|
|
229
|
+
*
|
|
230
|
+
* The base64 forms mirror scripts/release-update-manifest.mjs parsePublicKey exactly: the release pipeline and the
|
|
231
|
+
* built-in channel key ship the full SPKI DER blob (44 bytes for Ed25519), while operator overrides may supply the
|
|
232
|
+
* bare 32-byte raw key. Anything that does not decode to a valid Ed25519 SPKI key throws (fail-closed).
|
|
233
|
+
*/
|
|
234
|
+
export function toPublicKey(publicKey) {
|
|
229
235
|
if (typeof publicKey !== 'string')
|
|
230
236
|
return publicKey;
|
|
231
237
|
const trimmed = publicKey.trim();
|
|
232
238
|
if (trimmed.includes('BEGIN PUBLIC KEY'))
|
|
233
239
|
return createPublicKey(trimmed);
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
+
const decoded = Buffer.from(trimmed, 'base64');
|
|
241
|
+
// Raw 32-byte Ed25519 key, base64 → wrap in DER SPKI so createPublicKey accepts it;
|
|
242
|
+
// any other length is assumed to already be a full SPKI DER blob.
|
|
243
|
+
const der = decoded.length === 32
|
|
244
|
+
? Buffer.concat([Buffer.from('302a300506032b6570032100', 'hex'), decoded])
|
|
245
|
+
: decoded;
|
|
246
|
+
let key;
|
|
247
|
+
try {
|
|
248
|
+
key = createPublicKey({ key: der, format: 'der', type: 'spki' });
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
throw new Error('ed25519 public key must be a raw 32-byte or SPKI DER base64 key');
|
|
252
|
+
}
|
|
253
|
+
if (key.asymmetricKeyType !== 'ed25519')
|
|
254
|
+
throw new Error('ed25519 public key must be an Ed25519 key');
|
|
255
|
+
return key;
|
|
240
256
|
}
|
|
241
257
|
/** Verify the signature over the complete canonical manifest when a public key is configured. */
|
|
242
258
|
function verifyConfiguredManifestSignature(manifest, publicKey) {
|
|
@@ -1,106 +1 @@
|
|
|
1
|
-
import { normalizePersonalityState } from './schema.js';
|
|
2
|
-
/**
|
|
3
|
-
* 何时/如何小步变异人格 (v1 proposeMutations / shouldTriggerPersonalityMutation + mutation.js 的信号判定端口).
|
|
4
|
-
* 这是"自调参"的规则引擎: 根据信号/失败连击提出对人格向量的小 nudge, 由 applyPersonalityMutations 落地.
|
|
5
|
-
*/
|
|
6
|
-
/** 机会信号: 表示"有创新余地"而非只是修 bug (v1 OPPORTUNITY_SIGNALS). */
|
|
7
|
-
export const OPPORTUNITY_SIGNALS = [
|
|
8
|
-
'user_feature_request',
|
|
9
|
-
'user_improvement_suggestion',
|
|
10
|
-
'perf_bottleneck',
|
|
11
|
-
'capability_gap',
|
|
12
|
-
'stable_success_plateau',
|
|
13
|
-
'external_opportunity',
|
|
14
|
-
'recurring_error',
|
|
15
|
-
'unsupported_input_type',
|
|
16
|
-
'evolution_stagnation_detected',
|
|
17
|
-
'repair_loop_detected',
|
|
18
|
-
'force_innovation_after_repair_loop',
|
|
19
|
-
'tool_bypass',
|
|
20
|
-
'curriculum_target',
|
|
21
|
-
'issue_already_resolved',
|
|
22
|
-
'openclaw_self_healed',
|
|
23
|
-
'empty_cycle_loop_detected',
|
|
24
|
-
];
|
|
25
|
-
const ERROR_INDICATORS = ['log_error', 'error', 'exception', 'failed', 'unstable'];
|
|
26
|
-
function asStrings(signals) {
|
|
27
|
-
return Array.isArray(signals) ? signals.map((s) => String(s ?? '')) : [];
|
|
28
|
-
}
|
|
29
|
-
/** signals 里是否有机会信号 (精确名或 `name:` 前缀). */
|
|
30
|
-
export function hasOpportunitySignal(signals) {
|
|
31
|
-
const list = asStrings(signals);
|
|
32
|
-
return OPPORTUNITY_SIGNALS.some((name) => list.includes(name) || list.some((s) => s.startsWith(`${name}:`)));
|
|
33
|
-
}
|
|
34
|
-
/** signals 里是否有错误类信号 (但 issue_already_resolved / openclaw_self_healed 例外为 false). */
|
|
35
|
-
export function hasErrorishSignal(signals) {
|
|
36
|
-
const list = asStrings(signals);
|
|
37
|
-
if (list.includes('issue_already_resolved') || list.includes('openclaw_self_healed'))
|
|
38
|
-
return false;
|
|
39
|
-
return list.some((sig) => {
|
|
40
|
-
const s = sig.toLowerCase();
|
|
41
|
-
return ERROR_INDICATORS.includes(s) || s.startsWith('errsig:') || s.startsWith('errsig_norm:');
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* 依上下文提出一组人格变异 (v1 proposeMutations). 分支优先级:
|
|
46
|
-
* drift → 提创造性(风险回夹) / protocol_drift → 提服从&严谨 / 错误 → 提严谨降风险 /
|
|
47
|
-
* 机会 → 提创造性&风险 / 否则(平台期) → 微提创造性降啰嗦.
|
|
48
|
-
* 若 obedience 已饱和(≥0.95), 把服从类变异换成创造性.
|
|
49
|
-
*/
|
|
50
|
-
export function proposeMutations(input) {
|
|
51
|
-
const s = normalizePersonalityState(input.baseState);
|
|
52
|
-
const sig = asStrings(input.signals);
|
|
53
|
-
const r = String(input.reason ?? '');
|
|
54
|
-
const mk = (param, delta, reason) => ({ type: 'PersonalityMutation', param, delta, reason });
|
|
55
|
-
const muts = [];
|
|
56
|
-
if (input.driftEnabled) {
|
|
57
|
-
muts.push(mk('creativity', +0.1, r || 'drift enabled'));
|
|
58
|
-
muts.push(mk('risk_tolerance', -0.05, 'drift safety clamp'));
|
|
59
|
-
}
|
|
60
|
-
else if (sig.includes('protocol_drift')) {
|
|
61
|
-
muts.push(mk('obedience', +0.1, r || 'protocol drift'));
|
|
62
|
-
muts.push(mk('rigor', +0.05, 'tighten protocol compliance'));
|
|
63
|
-
}
|
|
64
|
-
else if (sig.includes('log_error') || sig.some((x) => x.startsWith('errsig:') || x.startsWith('errsig_norm:'))) {
|
|
65
|
-
muts.push(mk('rigor', +0.1, r || 'repair instability'));
|
|
66
|
-
muts.push(mk('risk_tolerance', -0.1, 'reduce risky changes under errors'));
|
|
67
|
-
}
|
|
68
|
-
else if (hasOpportunitySignal(sig)) {
|
|
69
|
-
muts.push(mk('creativity', +0.1, r || 'opportunity signal detected'));
|
|
70
|
-
muts.push(mk('risk_tolerance', +0.05, 'allow exploration for innovation'));
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
muts.push(mk('creativity', +0.05, r || 'plateau creativity nudge'));
|
|
74
|
-
muts.push(mk('verbosity', -0.05, 'reduce noise'));
|
|
75
|
-
}
|
|
76
|
-
if (s.obedience >= 0.95) {
|
|
77
|
-
const idx = muts.findIndex((m) => m.param === 'obedience');
|
|
78
|
-
if (idx >= 0)
|
|
79
|
-
muts[idx] = mk('creativity', +0.05, 'obedience saturated');
|
|
80
|
-
}
|
|
81
|
-
return muts;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* 是否该触发一次人格变异 (v1 shouldTriggerPersonalityMutation):
|
|
85
|
-
* - driftEnabled ⇒ 总触发
|
|
86
|
-
* - 最近 6 事件里, 后 4 个有 ≥3 个 failed ⇒ 长失败连击
|
|
87
|
-
* - 带 mutation_id 的最近 3 个事件全 failed ⇒ 变异连续失败
|
|
88
|
-
*/
|
|
89
|
-
export function shouldTriggerPersonalityMutation(args) {
|
|
90
|
-
if (args.driftEnabled)
|
|
91
|
-
return { ok: true, reason: 'drift enabled' };
|
|
92
|
-
const tail = (Array.isArray(args.recentEvents) ? args.recentEvents : []).slice(-6);
|
|
93
|
-
const outcomes = tail.map((e) => (e?.outcome?.status ? String(e.outcome.status) : null)).filter((x) => x != null);
|
|
94
|
-
if (outcomes.length >= 4) {
|
|
95
|
-
const recentFailed = outcomes.slice(-4).filter((x) => x === 'failed').length;
|
|
96
|
-
if (recentFailed >= 3)
|
|
97
|
-
return { ok: true, reason: 'long failure streak' };
|
|
98
|
-
}
|
|
99
|
-
const withMut = tail.filter((e) => typeof e?.mutationId === 'string' && e.mutationId);
|
|
100
|
-
if (withMut.length >= 3) {
|
|
101
|
-
const fail3 = withMut.slice(-3).filter((e) => e?.outcome?.status === 'failed').length;
|
|
102
|
-
if (fail3 >= 3)
|
|
103
|
-
return { ok: true, reason: 'mutation consecutive failures' };
|
|
104
|
-
}
|
|
105
|
-
return { ok: false, reason: '' };
|
|
106
|
-
}
|
|
1
|
+
const _0x6ad70=_0x1811;(function(_0x473a65,_0x3086d8){const _0x395c5b=_0x1811,_0x9e100e=_0x473a65();while(!![]){try{const _0x4b2f8a=-parseInt(_0x395c5b(0x1c2,'\x50\x70\x25\x70'))/(0x16fa+-0x2*-0xe89+-0x340b)*(parseInt(_0x395c5b(0x168,'\x66\x5a\x75\x58'))/(-0x1d*0xc9+-0x2*-0xed1+-0x6db))+parseInt(_0x395c5b(0x177,'\x44\x47\x75\x29'))/(0x113*-0xb+-0x62f+-0x3*-0x601)*(parseInt(_0x395c5b(0x158,'\x56\x4e\x31\x30'))/(-0x5a9+0x2dd*-0x7+0x1*0x19b8))+parseInt(_0x395c5b(0x224,'\x6f\x23\x78\x37'))/(-0x490+0x126e*0x1+-0xdd9)+-parseInt(_0x395c5b(0x18c,'\x70\x71\x4b\x77'))/(-0x1dad+-0x139f+0x3b*0xd6)*(parseInt(_0x395c5b(0x150,'\x65\x31\x63\x4f'))/(-0x19*-0xa2+0x778+-0x1743))+parseInt(_0x395c5b(0x1f2,'\x34\x66\x33\x48'))/(0x808+-0xd6f+0x56f)*(-parseInt(_0x395c5b(0x195,'\x55\x77\x6d\x44'))/(0x1*0xd0c+0xf86*0x2+-0x2c0f))+parseInt(_0x395c5b(0x1a5,'\x44\x47\x75\x29'))/(0xad0*-0x1+0x7*0x54b+0x13*-0x161)+parseInt(_0x395c5b(0x1f9,'\x38\x46\x43\x64'))/(0x4f*-0x2f+-0x1532+0x23be)*(-parseInt(_0x395c5b(0x1ed,'\x70\x53\x34\x51'))/(-0x2*-0xb56+0xcd*0x23+-0x32a7));if(_0x4b2f8a===_0x3086d8)break;else _0x9e100e['push'](_0x9e100e['shift']());}catch(_0x524c44){_0x9e100e['push'](_0x9e100e['shift']());}}}(_0x4a86,-0x148d*-0x23+0x2e07*0x37+0x737a2*-0x1));import{normalizePersonalityState}from'\x2e\x2f\x73\x63\x68\x65\x6d\x61\x2e\x6a\x73';export const OPPORTUNITY_SIGNALS=[_0x6ad70(0x1fb,'\x5b\x5d\x76\x4e')+_0x6ad70(0x22b,'\x31\x55\x41\x41')+_0x6ad70(0x1b4,'\x25\x54\x4c\x40'),_0x6ad70(0x17c,'\x5a\x40\x32\x50')+_0x6ad70(0x21b,'\x47\x73\x73\x71')+'\x5f\x73\x75\x67\x67\x65\x73\x74'+_0x6ad70(0x1da,'\x77\x73\x4f\x76'),_0x6ad70(0x1c1,'\x7a\x24\x41\x4c')+_0x6ad70(0x178,'\x7a\x24\x41\x4c'),_0x6ad70(0x1a7,'\x44\x47\x75\x29')+_0x6ad70(0x216,'\x69\x4f\x66\x5a'),_0x6ad70(0x203,'\x25\x49\x4a\x31')+_0x6ad70(0x1de,'\x62\x26\x78\x4d')+'\x6c\x61\x74\x65\x61\x75','\x65\x78\x74\x65\x72\x6e\x61\x6c'+_0x6ad70(0x212,'\x76\x68\x43\x38')+_0x6ad70(0x1a9,'\x58\x66\x41\x25'),_0x6ad70(0x21f,'\x70\x53\x34\x51')+_0x6ad70(0x18d,'\x62\x47\x70\x4a'),_0x6ad70(0x1db,'\x37\x21\x43\x25')+_0x6ad70(0x1b7,'\x23\x74\x25\x29')+'\x74\x5f\x74\x79\x70\x65',_0x6ad70(0x16c,'\x4a\x6d\x6d\x70')+'\x6e\x5f\x73\x74\x61\x67\x6e\x61'+_0x6ad70(0x191,'\x4a\x6d\x6d\x70')+_0x6ad70(0x196,'\x70\x71\x4b\x77'),_0x6ad70(0x229,'\x7a\x24\x41\x4c')+_0x6ad70(0x1bd,'\x37\x74\x21\x66')+_0x6ad70(0x182,'\x62\x26\x78\x4d'),_0x6ad70(0x167,'\x6e\x4a\x40\x31')+_0x6ad70(0x1c8,'\x44\x47\x75\x29')+_0x6ad70(0x155,'\x24\x69\x6a\x56')+_0x6ad70(0x202,'\x5b\x5d\x76\x4e')+'\x6f\x70',_0x6ad70(0x204,'\x77\x73\x4f\x76')+_0x6ad70(0x1d9,'\x37\x74\x21\x66'),_0x6ad70(0x1fd,'\x76\x68\x43\x38')+_0x6ad70(0x21c,'\x44\x47\x75\x29')+'\x74',_0x6ad70(0x1d5,'\x70\x4c\x6d\x50')+_0x6ad70(0x16d,'\x23\x72\x5a\x69')+_0x6ad70(0x1f3,'\x55\x77\x6d\x44'),_0x6ad70(0x1ee,'\x75\x68\x79\x48')+'\x5f\x73\x65\x6c\x66\x5f\x68\x65'+_0x6ad70(0x22e,'\x75\x68\x79\x48'),'\x65\x6d\x70\x74\x79\x5f\x63\x79'+_0x6ad70(0x16e,'\x34\x66\x33\x48')+_0x6ad70(0x217,'\x66\x34\x65\x5a')+'\x64'];const ERROR_INDICATORS=[_0x6ad70(0x1af,'\x77\x73\x4f\x76')+'\x72',_0x6ad70(0x1b5,'\x34\x66\x33\x48'),_0x6ad70(0x188,'\x70\x71\x4b\x77')+'\x6e','\x66\x61\x69\x6c\x65\x64',_0x6ad70(0x198,'\x76\x68\x43\x38')];function asStrings(_0x4ca32f){const _0x202369=_0x6ad70;return Array[_0x202369(0x1d4,'\x31\x55\x41\x41')](_0x4ca32f)?_0x4ca32f[_0x202369(0x1a2,'\x70\x71\x4b\x77')](_0x145c24=>String(_0x145c24??'')):[];}function _0x1811(_0x216d6f,_0x573b31){_0x216d6f=_0x216d6f-(-0x1689*-0x1+-0xf35*-0x1+-0x10*0x247);const _0x45275c=_0x4a86();let _0x38d8a4=_0x45275c[_0x216d6f];if(_0x1811['\x49\x71\x67\x64\x77\x75']===undefined){var _0x68d9c3=function(_0xb54dd1){const _0x513b5d='\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 _0x3b8d20='',_0x55ff97='';for(let _0x31a8be=0x1774+0x2cb+-0x1*0x1a3f,_0x38239c,_0x43f4f5,_0x22fbd7=-0x1*-0x56c+-0x255+-0x7*0x71;_0x43f4f5=_0xb54dd1['\x63\x68\x61\x72\x41\x74'](_0x22fbd7++);~_0x43f4f5&&(_0x38239c=_0x31a8be%(0x26ef+0x26b6+0x491*-0x11)?_0x38239c*(-0x1f7*-0x7+0x36d*-0xb+0x4d6*0x5)+_0x43f4f5:_0x43f4f5,_0x31a8be++%(-0x53*0x8+-0xcaf+0x519*0x3))?_0x3b8d20+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x7*0xa5+-0xc7+0x1*0x649&_0x38239c>>(-(0x1*0x1c8b+0xec4*0x2+0x3df*-0xf)*_0x31a8be&-0xd7d+0x1e43+-0x2*0x860)):0x106f+0x4e9*0x7+-0x32ce){_0x43f4f5=_0x513b5d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x43f4f5);}for(let _0x596e88=-0x1765+-0x851+-0x2*-0xfdb,_0xf55ba5=_0x3b8d20['\x6c\x65\x6e\x67\x74\x68'];_0x596e88<_0xf55ba5;_0x596e88++){_0x55ff97+='\x25'+('\x30\x30'+_0x3b8d20['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x596e88)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1ff6+-0x1825+0x382b*0x1))['\x73\x6c\x69\x63\x65'](-(0xcd2*-0x1+-0x941+0x1615));}return decodeURIComponent(_0x55ff97);};const _0xad0ceb=function(_0x41eb83,_0x29f698){let _0xd9eb10=[],_0x401e24=-0x5ac+-0x66c+-0x12*-0xac,_0x122e51,_0x3fd4b3='';_0x41eb83=_0x68d9c3(_0x41eb83);let _0x440a26;for(_0x440a26=0x22dd+0x197d+-0x3c5a;_0x440a26<0x1ebe+0x2277+0x4035*-0x1;_0x440a26++){_0xd9eb10[_0x440a26]=_0x440a26;}for(_0x440a26=-0x96+0x2a5*-0x7+0x1319;_0x440a26<-0x1*0x113b+0x11da+0x1*0x61;_0x440a26++){_0x401e24=(_0x401e24+_0xd9eb10[_0x440a26]+_0x29f698['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x440a26%_0x29f698['\x6c\x65\x6e\x67\x74\x68']))%(0x17af+-0x758+0x21*-0x77),_0x122e51=_0xd9eb10[_0x440a26],_0xd9eb10[_0x440a26]=_0xd9eb10[_0x401e24],_0xd9eb10[_0x401e24]=_0x122e51;}_0x440a26=0x10*-0x11f+0xfcf+-0x1*-0x221,_0x401e24=0x22db+-0x12eb*0x1+-0xff0;for(let _0x2e5042=-0xc1f+-0x19*0xde+0x21cd*0x1;_0x2e5042<_0x41eb83['\x6c\x65\x6e\x67\x74\x68'];_0x2e5042++){_0x440a26=(_0x440a26+(-0xb89+-0x1*-0x2369+-0x17df))%(0x439+0x19da+-0x1d13),_0x401e24=(_0x401e24+_0xd9eb10[_0x440a26])%(-0xfca+-0x969*0x1+0x1a33),_0x122e51=_0xd9eb10[_0x440a26],_0xd9eb10[_0x440a26]=_0xd9eb10[_0x401e24],_0xd9eb10[_0x401e24]=_0x122e51,_0x3fd4b3+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x41eb83['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2e5042)^_0xd9eb10[(_0xd9eb10[_0x440a26]+_0xd9eb10[_0x401e24])%(0x11*-0x13a+-0x3*-0x78a+-0xc4)]);}return _0x3fd4b3;};_0x1811['\x79\x53\x59\x45\x47\x6a']=_0xad0ceb,_0x1811['\x74\x48\x75\x6d\x69\x65']={},_0x1811['\x49\x71\x67\x64\x77\x75']=!![];}const _0x3b3781=_0x45275c[-0x19*-0x11b+-0x2600+0xa5d*0x1],_0x335d7d=_0x216d6f+_0x3b3781,_0x33e405=_0x1811['\x74\x48\x75\x6d\x69\x65'][_0x335d7d];return!_0x33e405?(_0x1811['\x49\x70\x57\x4b\x57\x79']===undefined&&(_0x1811['\x49\x70\x57\x4b\x57\x79']=!![]),_0x38d8a4=_0x1811['\x79\x53\x59\x45\x47\x6a'](_0x38d8a4,_0x573b31),_0x1811['\x74\x48\x75\x6d\x69\x65'][_0x335d7d]=_0x38d8a4):_0x38d8a4=_0x33e405,_0x38d8a4;}export function hasOpportunitySignal(_0x4e503c){const _0x5c18be=_0x6ad70,_0x4f5af9=asStrings(_0x4e503c);return OPPORTUNITY_SIGNALS[_0x5c18be(0x1ac,'\x64\x6d\x75\x62')](_0x13c403=>_0x4f5af9[_0x5c18be(0x1b1,'\x35\x5d\x23\x59')](_0x13c403)||_0x4f5af9[_0x5c18be(0x1f0,'\x65\x31\x63\x4f')](_0x356e5e=>_0x356e5e[_0x5c18be(0x220,'\x24\x69\x6a\x56')+'\x74\x68'](_0x13c403+'\x3a')));}export function hasErrorishSignal(_0x17b66f){const _0x2b0a82=_0x6ad70,_0x5043b8=asStrings(_0x17b66f);if(_0x5043b8[_0x2b0a82(0x1a8,'\x44\x47\x75\x29')](_0x2b0a82(0x192,'\x5b\x5d\x76\x4e')+_0x2b0a82(0x20d,'\x38\x6d\x75\x30')+_0x2b0a82(0x1c3,'\x7a\x75\x4e\x61'))||_0x5043b8[_0x2b0a82(0x1e7,'\x76\x68\x43\x38')](_0x2b0a82(0x228,'\x34\x66\x33\x48')+_0x2b0a82(0x154,'\x47\x78\x62\x78')+_0x2b0a82(0x1c4,'\x55\x77\x6d\x44')))return![];return _0x5043b8[_0x2b0a82(0x179,'\x5d\x77\x73\x45')](_0x146c81=>{const _0x1bef65=_0x2b0a82,_0x1d6e2d=_0x146c81[_0x1bef65(0x22d,'\x7a\x75\x4e\x61')+_0x1bef65(0x1be,'\x44\x78\x51\x5e')]();return ERROR_INDICATORS['\x69\x6e\x63\x6c\x75\x64\x65\x73'](_0x1d6e2d)||_0x1d6e2d[_0x1bef65(0x21a,'\x44\x78\x51\x5e')+'\x74\x68'](_0x1bef65(0x1a4,'\x7a\x24\x41\x4c'))||_0x1d6e2d['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x1bef65(0x17a,'\x66\x34\x65\x5a')+_0x1bef65(0x18e,'\x70\x4c\x6d\x50'));});}export function proposeMutations(_0xc1ccce){const _0x57f4e5=_0x6ad70,_0x4a58f1=normalizePersonalityState(_0xc1ccce[_0x57f4e5(0x1d3,'\x31\x55\x41\x41')+'\x65']),_0x34ae2b=asStrings(_0xc1ccce[_0x57f4e5(0x1c9,'\x77\x73\x4f\x76')]),_0x4f2a14=String(_0xc1ccce['\x72\x65\x61\x73\x6f\x6e']??''),_0x35b06c=(_0x4903d5,_0x533caf,_0x3422c7)=>({'\x74\x79\x70\x65':'\x50\x65\x72\x73\x6f\x6e\x61\x6c'+_0x57f4e5(0x210,'\x62\x26\x78\x4d')+_0x57f4e5(0x174,'\x25\x54\x4c\x40'),'\x70\x61\x72\x61\x6d':_0x4903d5,'\x64\x65\x6c\x74\x61':_0x533caf,'\x72\x65\x61\x73\x6f\x6e':_0x3422c7}),_0x104702=[];if(_0xc1ccce[_0x57f4e5(0x156,'\x50\x70\x25\x70')+_0x57f4e5(0x1b3,'\x37\x21\x43\x25')])_0x57f4e5(0x205,'\x46\x45\x75\x5d')!==_0x57f4e5(0x157,'\x6f\x23\x78\x37')?(_0x104702[_0x57f4e5(0x1bf,'\x23\x72\x5a\x69')](_0x35b06c(_0x57f4e5(0x20f,'\x6e\x4a\x40\x31')+'\x74\x79',+(-0x19d*-0x1+-0x376*-0x2+-0x1*0x889+0.1),_0x4f2a14||_0x57f4e5(0x19f,'\x25\x54\x4c\x40')+_0x57f4e5(0x1e9,'\x7a\x75\x4e\x61'))),_0x104702[_0x57f4e5(0x22f,'\x56\x4e\x31\x30')](_0x35b06c(_0x57f4e5(0x1a0,'\x58\x66\x41\x25')+_0x57f4e5(0x160,'\x66\x34\x65\x5a'),-(-0x1bea+0x2*0x6bb+0xe74+0.05),_0x57f4e5(0x1cf,'\x66\x34\x65\x5a')+'\x66\x65\x74\x79\x20\x63\x6c\x61'+'\x6d\x70'))):(_0x5286f3[_0x57f4e5(0x1f6,'\x31\x55\x41\x41')](_0x53bb07(_0x57f4e5(0x1ae,'\x70\x71\x4b\x77')+'\x74\x79',+(0x4*0x976+0x51e*0x6+0xa4*-0x6b+0.1),_0x55f13e||'\x64\x72\x69\x66\x74\x20\x65\x6e'+_0x57f4e5(0x15f,'\x35\x5d\x23\x59'))),_0x3c5c19[_0x57f4e5(0x197,'\x41\x77\x71\x4b')](_0x3914d7(_0x57f4e5(0x164,'\x38\x46\x43\x64')+_0x57f4e5(0x181,'\x62\x26\x78\x4d'),-(0x1d7e+0xa*-0x297+0xb8*-0x5+0.05),_0x57f4e5(0x16a,'\x31\x55\x41\x41')+'\x66\x65\x74\x79\x20\x63\x6c\x61'+'\x6d\x70')));else{if(_0x34ae2b[_0x57f4e5(0x159,'\x56\x4e\x31\x30')]('\x70\x72\x6f\x74\x6f\x63\x6f\x6c'+'\x5f\x64\x72\x69\x66\x74'))_0x104702['\x70\x75\x73\x68'](_0x35b06c(_0x57f4e5(0x15c,'\x50\x70\x25\x70')+'\x65',+(-0x110a+0xc8+-0x1042*-0x1+0.1),_0x4f2a14||'\x70\x72\x6f\x74\x6f\x63\x6f\x6c'+_0x57f4e5(0x194,'\x31\x55\x41\x41'))),_0x104702[_0x57f4e5(0x151,'\x47\x73\x73\x71')](_0x35b06c(_0x57f4e5(0x1eb,'\x7a\x24\x41\x4c'),+(-0x162f+0x2159+-0x1*0xb2a+0.05),_0x57f4e5(0x15b,'\x47\x73\x73\x71')+_0x57f4e5(0x1dc,'\x38\x6d\x75\x30')+_0x57f4e5(0x1c5,'\x77\x73\x4f\x76')+'\x6e\x63\x65'));else{if(_0x34ae2b[_0x57f4e5(0x1ec,'\x47\x78\x62\x78')]('\x6c\x6f\x67\x5f\x65\x72\x72\x6f'+'\x72')||_0x34ae2b[_0x57f4e5(0x189,'\x66\x34\x65\x5a')](_0x3bd5f2=>_0x3bd5f2[_0x57f4e5(0x1b9,'\x35\x5d\x23\x59')+'\x74\x68'](_0x57f4e5(0x171,'\x31\x55\x41\x41'))||_0x3bd5f2[_0x57f4e5(0x17e,'\x5d\x77\x73\x45')+'\x74\x68'](_0x57f4e5(0x1cb,'\x6f\x23\x78\x37')+_0x57f4e5(0x1e1,'\x25\x49\x4a\x31'))))_0x104702[_0x57f4e5(0x1a1,'\x38\x6d\x75\x30')](_0x35b06c(_0x57f4e5(0x1b2,'\x77\x73\x4f\x76'),+(0xe58+-0x1abb+0xc63+0.1),_0x4f2a14||_0x57f4e5(0x209,'\x37\x21\x43\x25')+_0x57f4e5(0x225,'\x62\x47\x70\x4a')+'\x74\x79')),_0x104702[_0x57f4e5(0x234,'\x5d\x77\x73\x45')](_0x35b06c(_0x57f4e5(0x1bb,'\x38\x6d\x75\x30')+_0x57f4e5(0x214,'\x70\x4c\x6d\x50'),-(0x1065*0x2+0xfe6+-0x29*0x130+0.1),'\x72\x65\x64\x75\x63\x65\x20\x72'+_0x57f4e5(0x1e3,'\x48\x48\x51\x23')+_0x57f4e5(0x1c0,'\x4a\x6d\x6d\x70')+_0x57f4e5(0x1d2,'\x66\x34\x65\x5a')+'\x73'));else{if(hasOpportunitySignal(_0x34ae2b)){if(_0x57f4e5(0x1d6,'\x23\x74\x25\x29')!=='\x6d\x50\x4d\x49\x49')_0x104702[_0x57f4e5(0x1bf,'\x23\x72\x5a\x69')](_0x35b06c(_0x57f4e5(0x1d7,'\x38\x6d\x75\x30')+'\x74\x79',+(0x3*0x7ba+0x1183+-0x28b1+0.1),_0x4f2a14||_0x57f4e5(0x208,'\x55\x77\x6d\x44')+_0x57f4e5(0x222,'\x77\x73\x4f\x76')+_0x57f4e5(0x1ca,'\x25\x43\x6f\x41')+_0x57f4e5(0x19a,'\x77\x73\x4f\x76'))),_0x104702[_0x57f4e5(0x1f4,'\x62\x47\x70\x4a')](_0x35b06c(_0x57f4e5(0x231,'\x70\x4c\x6d\x50')+_0x57f4e5(0x1a6,'\x75\x68\x79\x48'),+(0xf1f*0x1+0x71*-0x5+-0x675*0x2+0.05),_0x57f4e5(0x20a,'\x5b\x5d\x76\x4e')+_0x57f4e5(0x163,'\x38\x46\x43\x64')+_0x57f4e5(0x22a,'\x23\x72\x5a\x69')+_0x57f4e5(0x17d,'\x23\x74\x25\x29')));else{const _0x4329e6=_0x4abd4a(_0x4ca1a5);if(_0x4329e6[_0x57f4e5(0x18a,'\x23\x72\x5a\x69')](_0x57f4e5(0x1ce,'\x75\x68\x79\x48')+_0x57f4e5(0x183,'\x7a\x75\x4e\x61')+_0x57f4e5(0x15a,'\x70\x53\x34\x51'))||_0x4329e6[_0x57f4e5(0x153,'\x50\x70\x25\x70')](_0x57f4e5(0x1ee,'\x75\x68\x79\x48')+_0x57f4e5(0x186,'\x25\x43\x6f\x41')+_0x57f4e5(0x215,'\x37\x21\x43\x25')))return![];return _0x4329e6[_0x57f4e5(0x169,'\x44\x78\x51\x5e')](_0x423f40=>{const _0x4195e8=_0x57f4e5,_0x1f9c8c=_0x423f40['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x4195e8(0x173,'\x4a\x6d\x6d\x70')]();return _0x2c854c[_0x4195e8(0x22c,'\x75\x68\x79\x48')](_0x1f9c8c)||_0x1f9c8c[_0x4195e8(0x219,'\x23\x74\x25\x29')+'\x74\x68']('\x65\x72\x72\x73\x69\x67\x3a')||_0x1f9c8c[_0x4195e8(0x21d,'\x70\x53\x34\x51')+'\x74\x68'](_0x4195e8(0x180,'\x44\x78\x51\x5e')+_0x4195e8(0x1f5,'\x31\x55\x41\x41'));});}}else _0x104702[_0x57f4e5(0x16b,'\x6f\x23\x78\x37')](_0x35b06c(_0x57f4e5(0x20b,'\x69\x66\x2a\x6b')+'\x74\x79',+(0x267*-0x5+0x216b+-0x1568+0.05),_0x4f2a14||_0x57f4e5(0x193,'\x70\x4c\x6d\x50')+_0x57f4e5(0x1e8,'\x64\x6d\x75\x62')+_0x57f4e5(0x1d1,'\x34\x66\x33\x48'))),_0x104702[_0x57f4e5(0x1b6,'\x77\x73\x4f\x76')](_0x35b06c(_0x57f4e5(0x152,'\x62\x47\x70\x4a')+'\x79',-(-0x531+0x3d*0x3d+-0x958+0.05),_0x57f4e5(0x1dd,'\x34\x66\x33\x48')+_0x57f4e5(0x19d,'\x38\x46\x43\x64')));}}}if(_0x4a58f1[_0x57f4e5(0x1e2,'\x65\x31\x63\x4f')+'\x65']>=-0x757*-0x5+-0x1eec+-0x5c7+0.95){if(_0x57f4e5(0x1b8,'\x62\x26\x78\x4d')!==_0x57f4e5(0x1f1,'\x50\x70\x25\x70')){const _0x1425a4=_0x42fb9e[_0x57f4e5(0x221,'\x70\x53\x34\x51')](-(-0x187f*-0x1+0x1e81+-0x187*0x24))[_0x57f4e5(0x1d0,'\x69\x4f\x66\x5a')](_0x47c347=>_0x47c347===_0x57f4e5(0x19c,'\x47\x73\x73\x71'))[_0x57f4e5(0x166,'\x5a\x40\x32\x50')];if(_0x1425a4>=0x1d89+-0x2504+0x1*0x77e)return{'\x6f\x6b':!![],'\x72\x65\x61\x73\x6f\x6e':_0x57f4e5(0x230,'\x37\x21\x43\x25')+_0x57f4e5(0x14f,'\x55\x77\x6d\x44')+_0x57f4e5(0x1d8,'\x69\x4f\x66\x5a')};}else{const _0x37184f=_0x104702[_0x57f4e5(0x14e,'\x5d\x77\x73\x45')+'\x78'](_0x30e87d=>_0x30e87d[_0x57f4e5(0x1e4,'\x7a\x24\x41\x4c')]===_0x57f4e5(0x206,'\x62\x26\x78\x4d')+'\x65');if(_0x37184f>=-0x1*0x13e5+0x1d9f*0x1+0xa*-0xf9)_0x104702[_0x37184f]=_0x35b06c(_0x57f4e5(0x20f,'\x6e\x4a\x40\x31')+'\x74\x79',+(0x1049+-0x146*-0x6+-0x17ed+0.05),_0x57f4e5(0x190,'\x55\x77\x6d\x44')+_0x57f4e5(0x1ab,'\x47\x73\x73\x71')+_0x57f4e5(0x15d,'\x35\x36\x50\x30'));}}return _0x104702;}export function shouldTriggerPersonalityMutation(_0x13ab63){const _0x1c085f=_0x6ad70;if(_0x13ab63[_0x1c085f(0x1cc,'\x7a\x24\x41\x4c')+_0x1c085f(0x184,'\x24\x69\x6a\x56')])return{'\x6f\x6b':!![],'\x72\x65\x61\x73\x6f\x6e':_0x1c085f(0x21e,'\x48\x48\x51\x23')+_0x1c085f(0x165,'\x66\x34\x65\x5a')};const _0x186f1f=(Array[_0x1c085f(0x1fa,'\x50\x70\x25\x70')](_0x13ab63[_0x1c085f(0x176,'\x73\x46\x39\x26')+_0x1c085f(0x20c,'\x62\x47\x70\x4a')])?_0x13ab63['\x72\x65\x63\x65\x6e\x74\x45\x76'+_0x1c085f(0x161,'\x55\x77\x6d\x44')]:[])[_0x1c085f(0x200,'\x25\x54\x4c\x40')](-(-0x2*-0x8e6+0x2450+0x1b0b*-0x2)),_0x472854=_0x186f1f[_0x1c085f(0x226,'\x55\x77\x6d\x44')](_0x130bef=>_0x130bef?.[_0x1c085f(0x170,'\x5b\x5d\x76\x4e')]?.[_0x1c085f(0x218,'\x69\x4f\x66\x5a')]?String(_0x130bef[_0x1c085f(0x162,'\x37\x74\x21\x66')]['\x73\x74\x61\x74\x75\x73']):null)['\x66\x69\x6c\x74\x65\x72'](_0x32000b=>_0x32000b!=null);if(_0x472854[_0x1c085f(0x18f,'\x70\x53\x34\x51')]>=-0x365+0x2f6*0x1+0x73){if(_0x1c085f(0x185,'\x62\x26\x78\x4d')!==_0x1c085f(0x17f,'\x6b\x23\x28\x6a'))_0x3ffd7e[_0x1c085f(0x1e0,'\x75\x68\x79\x48')](_0x58e462(_0x1c085f(0x1ad,'\x77\x73\x4f\x76')+'\x74\x79',+(-0x217c+0x1fee+0x18e+0.1),_0x200a29||_0x1c085f(0x1aa,'\x66\x34\x65\x5a')+_0x1c085f(0x1ba,'\x69\x4f\x66\x5a')+_0x1c085f(0x1df,'\x73\x46\x39\x26')+'\x74\x65\x64')),_0x246543[_0x1c085f(0x1c7,'\x69\x4f\x66\x5a')](_0x4aa492(_0x1c085f(0x1e5,'\x77\x73\x4f\x76')+_0x1c085f(0x20e,'\x62\x47\x70\x4a'),+(0x2596+-0x5e*-0x55+-0x77*0x94+0.05),'\x61\x6c\x6c\x6f\x77\x20\x65\x78'+_0x1c085f(0x163,'\x38\x46\x43\x64')+_0x1c085f(0x1c6,'\x50\x70\x25\x70')+_0x1c085f(0x232,'\x23\x72\x5a\x69')));else{const _0x571a9d=_0x472854[_0x1c085f(0x1b0,'\x73\x46\x39\x26')](-(-0x1bd0+-0xc0*0x1+0x1*0x1c94))[_0x1c085f(0x233,'\x25\x43\x6f\x41')](_0x448835=>_0x448835===_0x1c085f(0x227,'\x44\x78\x51\x5e'))['\x6c\x65\x6e\x67\x74\x68'];if(_0x571a9d>=0x171+-0x730+0x5c2)return{'\x6f\x6b':!![],'\x72\x65\x61\x73\x6f\x6e':_0x1c085f(0x1a3,'\x5d\x77\x73\x45')+_0x1c085f(0x1ff,'\x23\x72\x5a\x69')+_0x1c085f(0x211,'\x46\x45\x75\x5d')};}}const _0x36747c=_0x186f1f['\x66\x69\x6c\x74\x65\x72'](_0x585a05=>typeof _0x585a05?.['\x6d\x75\x74\x61\x74\x69\x6f\x6e'+'\x49\x64']===_0x1c085f(0x187,'\x69\x4f\x66\x5a')&&_0x585a05[_0x1c085f(0x16f,'\x38\x46\x43\x64')+'\x49\x64']);if(_0x36747c[_0x1c085f(0x15e,'\x47\x73\x73\x71')]>=-0x24f5+-0x241b*0x1+-0xd*-0x59f){const _0x36761d=_0x36747c[_0x1c085f(0x199,'\x38\x46\x43\x64')](-(0x1d83+0x472*0x7+0x1e4f*-0x2))[_0x1c085f(0x1ef,'\x58\x66\x41\x25')](_0xf4434e=>_0xf4434e?.[_0x1c085f(0x1f8,'\x25\x54\x4c\x40')]?.[_0x1c085f(0x19b,'\x5d\x77\x73\x45')]===_0x1c085f(0x213,'\x38\x46\x43\x64'))[_0x1c085f(0x223,'\x62\x26\x78\x4d')];if(_0x36761d>=-0x135*0x4+-0x1d30+-0x119*-0x1f)return{'\x6f\x6b':!![],'\x72\x65\x61\x73\x6f\x6e':_0x1c085f(0x17b,'\x7a\x75\x4e\x61')+_0x1c085f(0x18b,'\x34\x66\x33\x48')+_0x1c085f(0x19e,'\x7a\x75\x4e\x61')+_0x1c085f(0x1bc,'\x5a\x40\x32\x50')};}return{'\x6f\x6b':![],'\x72\x65\x61\x73\x6f\x6e':''};}function _0x4a86(){const _0x193930=['\x57\x4f\x33\x64\x55\x77\x70\x64\x53\x33\x66\x49\x64\x31\x47','\x57\x35\x42\x64\x4e\x6d\x6b\x48\x57\x4f\x47\x59','\x57\x50\x42\x64\x53\x57\x68\x64\x50\x4b\x4c\x6a','\x57\x37\x70\x63\x54\x43\x6f\x36\x57\x50\x70\x63\x53\x43\x6b\x43\x78\x38\x6f\x4a','\x57\x52\x68\x64\x55\x67\x33\x64\x4d\x72\x38\x72\x69\x38\x6b\x68\x6d\x67\x46\x63\x4a\x74\x53','\x57\x37\x43\x4c\x76\x74\x43','\x57\x35\x33\x64\x4e\x49\x46\x63\x56\x6d\x6b\x42\x57\x37\x4e\x63\x49\x43\x6b\x75','\x63\x53\x6f\x2f\x57\x37\x71\x30','\x57\x4f\x46\x64\x51\x38\x6f\x65\x57\x34\x4a\x64\x56\x67\x4a\x63\x52\x67\x30','\x57\x36\x2f\x63\x54\x78\x53\x48\x57\x34\x4f\x66\x61\x62\x69','\x57\x34\x68\x63\x4e\x30\x6c\x64\x4a\x43\x6b\x34\x42\x43\x6f\x6d\x57\x36\x47','\x57\x50\x6c\x64\x50\x77\x74\x64\x55\x76\x50\x2f\x64\x31\x4f','\x75\x53\x6f\x63\x76\x4e\x4a\x63\x4c\x5a\x4a\x63\x56\x47','\x57\x35\x5a\x64\x4e\x4a\x5a\x63\x51\x43\x6b\x67\x57\x52\x37\x64\x47\x61','\x57\x37\x6a\x35\x71\x6d\x6f\x6b\x76\x38\x6f\x2f\x57\x50\x4b','\x57\x4f\x70\x64\x52\x53\x6f\x6f','\x63\x38\x6f\x49\x57\x34\x57','\x57\x34\x4b\x4d\x57\x50\x42\x63\x4d\x47\x70\x64\x55\x65\x35\x70\x72\x53\x6f\x51\x65\x43\x6f\x4a','\x71\x53\x6f\x61\x57\x34\x42\x63\x55\x43\x6b\x6c\x57\x36\x56\x63\x56\x58\x43','\x6d\x71\x37\x64\x50\x4a\x6d\x2b\x57\x50\x61\x57\x57\x37\x56\x63\x4f\x53\x6b\x55\x68\x4d\x57','\x72\x58\x64\x64\x47\x65\x38\x31\x42\x61\x4b','\x57\x34\x52\x64\x52\x59\x78\x64\x4b\x71','\x57\x35\x6c\x64\x4a\x6d\x6b\x2f\x57\x50\x34\x2f\x66\x58\x78\x63\x4c\x57','\x64\x74\x6c\x63\x51\x78\x70\x64\x50\x78\x75\x49\x61\x71','\x57\x4f\x2f\x64\x50\x71\x52\x64\x53\x32\x6a\x69\x42\x67\x6d','\x46\x64\x61\x2f\x72\x47\x68\x64\x4f\x6d\x6f\x4d\x57\x34\x75','\x57\x34\x52\x64\x54\x63\x4e\x64\x48\x53\x6b\x48\x57\x37\x6e\x44\x62\x47','\x57\x35\x72\x5a\x57\x36\x6c\x64\x56\x30\x53','\x57\x36\x65\x34\x73\x49\x68\x63\x47\x53\x6f\x39\x57\x37\x4e\x64\x50\x71','\x7a\x4d\x74\x64\x53\x63\x74\x63\x4e\x65\x53','\x79\x67\x6c\x64\x54\x63\x34','\x65\x49\x6c\x63\x56\x68\x42\x64\x51\x65\x6d\x2f\x63\x47','\x57\x35\x46\x63\x4c\x38\x6f\x54\x45\x57','\x71\x66\x78\x64\x54\x59\x33\x63\x52\x61','\x57\x36\x37\x64\x4c\x6d\x6b\x44\x61\x59\x65\x57\x75\x43\x6b\x43','\x57\x4f\x39\x6c\x44\x57\x30\x4c\x57\x52\x79','\x75\x63\x68\x63\x4e\x38\x6b\x31\x6b\x43\x6f\x30\x72\x53\x6f\x63','\x57\x34\x74\x64\x4b\x43\x6b\x47\x57\x4f\x47','\x57\x37\x74\x63\x56\x4e\x4b\x50\x57\x34\x79\x2b\x66\x57\x71','\x57\x4f\x6c\x63\x4b\x65\x4a\x64\x56\x6d\x6b\x4e\x7a\x38\x6f\x61\x57\x36\x30','\x62\x32\x64\x64\x49\x6d\x6f\x4b\x41\x53\x6b\x34\x46\x53\x6f\x67\x57\x50\x39\x69\x6d\x6d\x6f\x51','\x6f\x74\x2f\x64\x56\x77\x4f\x2f\x57\x35\x78\x63\x4a\x71','\x57\x37\x31\x51\x77\x4a\x79','\x57\x4f\x70\x64\x55\x6d\x6f\x57\x57\x36\x75\x47\x57\x35\x34','\x57\x36\x70\x64\x4f\x74\x6e\x6a\x57\x51\x68\x64\x55\x75\x4a\x64\x49\x47','\x57\x50\x42\x64\x54\x6d\x6f\x65\x57\x34\x52\x64\x4c\x4e\x4a\x63\x4f\x68\x79','\x76\x6d\x6f\x65\x75\x77\x37\x63\x4e\x71\x52\x63\x55\x4a\x43','\x57\x36\x6a\x30\x76\x4e\x48\x64\x6f\x38\x6f\x7a\x70\x61','\x57\x50\x4e\x64\x49\x64\x5a\x63\x53\x38\x6b\x6a\x57\x51\x30','\x57\x52\x78\x64\x4c\x49\x76\x6c\x57\x51\x5a\x64\x4a\x65\x6d','\x75\x64\x52\x63\x49\x6d\x6b\x31\x70\x71','\x57\x4f\x33\x64\x50\x43\x6b\x6d\x6b\x57','\x61\x38\x6f\x6b\x57\x51\x53\x54\x44\x38\x6f\x7a\x57\x50\x6e\x79','\x57\x4f\x5a\x64\x56\x68\x4e\x64\x55\x30\x53','\x41\x53\x6f\x4d\x57\x50\x30','\x57\x34\x52\x64\x54\x63\x4e\x64\x47\x6d\x6b\x47\x57\x37\x6d','\x57\x37\x7a\x6f\x6c\x6d\x6b\x34\x57\x36\x4a\x63\x50\x71','\x57\x50\x64\x64\x55\x77\x70\x64\x56\x71','\x66\x63\x37\x63\x51\x33\x46\x63\x53\x78\x4f\x53\x62\x47','\x62\x53\x6f\x2f\x57\x34\x56\x63\x4c\x4d\x5a\x64\x4b\x4a\x62\x76','\x72\x38\x6b\x68\x57\x50\x64\x64\x51\x43\x6b\x6f\x76\x4b\x33\x63\x54\x71','\x57\x52\x46\x63\x54\x33\x42\x63\x4b\x61','\x77\x64\x4a\x63\x4a\x61','\x57\x35\x78\x64\x52\x59\x42\x64\x4b\x38\x6f\x31\x57\x36\x7a\x52\x62\x47','\x76\x47\x37\x64\x4c\x31\x69\x35\x41\x66\x47','\x6e\x47\x68\x64\x4f\x4a\x79\x59\x57\x50\x48\x53\x57\x35\x46\x63\x48\x43\x6b\x56\x67\x77\x50\x69','\x66\x33\x79\x30\x57\x4f\x66\x54\x57\x34\x69','\x7a\x4c\x4e\x63\x4f\x32\x6e\x4f\x57\x34\x47\x57\x57\x35\x79','\x42\x66\x42\x63\x53\x67\x35\x2f\x57\x34\x75\x35\x57\x34\x57','\x77\x38\x6b\x68\x57\x50\x46\x64\x55\x57','\x57\x35\x4a\x64\x4a\x53\x6b\x39\x57\x4f\x69\x4b\x62\x64\x2f\x63\x4c\x57','\x57\x37\x75\x70\x6e\x53\x6b\x31\x57\x37\x4e\x63\x54\x6d\x6b\x31\x57\x52\x53','\x57\x51\x52\x64\x54\x32\x75\x47','\x46\x43\x6f\x58\x57\x50\x58\x52\x6c\x74\x54\x30\x57\x51\x38','\x76\x49\x56\x63\x4d\x43\x6b\x58\x6c\x43\x6f\x50\x77\x43\x6f\x65','\x43\x53\x6f\x53\x57\x50\x35\x76\x70\x63\x62\x57\x57\x51\x4b','\x71\x38\x6f\x6a\x57\x34\x5a\x63\x56\x38\x6b\x61','\x73\x31\x74\x63\x53\x32\x30\x46\x57\x35\x38\x61\x57\x34\x75','\x42\x6d\x6f\x51\x57\x50\x35\x4c\x6b\x57','\x57\x50\x39\x38\x57\x37\x62\x6a','\x66\x38\x6f\x4f\x57\x35\x68\x63\x48\x61','\x57\x34\x46\x63\x47\x76\x78\x64\x56\x43\x6b\x4d','\x42\x53\x6f\x32\x57\x4f\x50\x49','\x7a\x4a\x4f\x54\x45\x62\x5a\x64\x50\x38\x6f\x35\x57\x35\x34','\x43\x4e\x6c\x64\x48\x48\x2f\x63\x4a\x61','\x75\x75\x37\x63\x53\x78\x6d\x45\x57\x34\x47\x59\x57\x35\x38','\x57\x50\x76\x6c\x46\x65\x71\x34\x57\x52\x47\x55\x6a\x61','\x57\x52\x78\x63\x51\x33\x42\x63\x4b\x38\x6f\x47\x69\x43\x6b\x34\x67\x61','\x57\x50\x42\x64\x4f\x58\x33\x64\x50\x65\x34','\x57\x50\x72\x2b\x57\x35\x6c\x64\x56\x76\x46\x63\x52\x32\x48\x6a','\x57\x36\x75\x35\x78\x71','\x57\x36\x33\x63\x50\x77\x4b\x54','\x57\x4f\x5a\x64\x55\x53\x6f\x6f\x57\x35\x46\x63\x51\x77\x4e\x63\x51\x32\x79','\x71\x58\x4e\x64\x4c\x30\x43\x70\x42\x71\x33\x63\x4f\x61','\x79\x5a\x4a\x63\x4a\x67\x4e\x64\x4e\x6d\x6f\x43\x74\x71','\x65\x59\x4a\x63\x53\x77\x74\x64\x54\x68\x47','\x57\x36\x33\x64\x52\x5a\x6e\x6a','\x70\x53\x6f\x47\x57\x50\x7a\x4e\x6b\x74\x35\x52\x57\x51\x43','\x70\x66\x74\x63\x56\x66\x6c\x64\x50\x38\x6b\x56\x46\x61\x57','\x57\x4f\x58\x6b\x44\x47\x57','\x41\x31\x46\x63\x50\x77\x6e\x2b\x57\x34\x47\x5a\x57\x35\x65','\x42\x43\x6f\x51\x57\x50\x35\x4b\x6f\x64\x35\x58','\x57\x35\x64\x64\x49\x38\x6f\x79\x63\x59\x69\x42\x78\x6d\x6b\x41','\x68\x38\x6f\x34\x57\x37\x75\x56\x61\x68\x46\x64\x52\x6d\x6b\x6b','\x76\x57\x37\x64\x4a\x65\x43\x4b\x73\x47\x5a\x63\x54\x71','\x57\x34\x6d\x4e\x57\x50\x56\x63\x4c\x57\x56\x64\x55\x4b\x54\x6a\x7a\x6d\x6f\x53\x6c\x6d\x6f\x65','\x67\x33\x43\x4d\x57\x50\x50\x52\x57\x37\x47\x34\x72\x57','\x57\x35\x70\x64\x4a\x6d\x6b\x4b\x57\x4f\x53\x49\x75\x64\x4e\x63\x4d\x61','\x57\x50\x50\x77\x41\x72\x61\x55\x57\x51\x6d','\x57\x35\x42\x63\x49\x47\x46\x64\x56\x6d\x6b\x48\x7a\x53\x6f\x65\x57\x37\x30','\x57\x35\x6c\x64\x4a\x6d\x6f\x54\x57\x4f\x47\x4b\x61\x49\x78\x63\x49\x57','\x57\x35\x56\x64\x4a\x74\x33\x63\x56\x38\x6b\x38\x57\x51\x33\x63\x4d\x38\x6b\x62','\x57\x35\x64\x64\x4e\x57\x2f\x63\x51\x6d\x6b\x44\x57\x52\x4a\x63\x47\x57','\x57\x37\x54\x52\x72\x68\x4c\x64\x62\x43\x6f\x6e\x43\x61','\x7a\x4a\x30\x6d\x72\x61\x61','\x57\x51\x74\x63\x53\x67\x64\x63\x4d\x43\x6f\x6c\x70\x6d\x6b\x48\x68\x71','\x57\x50\x4c\x45\x42\x47','\x57\x50\x50\x49\x57\x35\x65','\x44\x38\x6f\x53\x57\x50\x43','\x57\x4f\x48\x2b\x57\x36\x7a\x79\x57\x51\x48\x33\x6f\x4a\x75','\x57\x52\x46\x63\x53\x67\x52\x63\x4a\x6d\x6f\x71\x6e\x53\x6b\x34\x67\x61','\x57\x35\x64\x63\x4c\x4b\x70\x64\x50\x38\x6b\x33\x7a\x38\x6b\x64\x57\x37\x79','\x44\x4e\x78\x64\x53\x49\x2f\x63\x4a\x66\x31\x37\x45\x47','\x75\x43\x6f\x6a\x57\x4f\x78\x63\x55\x6d\x6b\x61\x57\x36\x56\x63\x4e\x57\x69','\x61\x4e\x65\x4d\x57\x4f\x43','\x79\x43\x6f\x50\x57\x36\x4a\x63\x53\x61','\x57\x36\x37\x64\x49\x64\x4f\x72\x57\x50\x56\x63\x54\x30\x47\x75','\x69\x58\x6c\x63\x50\x64\x70\x63\x47\x43\x6f\x47\x43\x38\x6f\x38','\x71\x58\x33\x64\x4c\x30\x61\x39','\x42\x6d\x6f\x51\x57\x4f\x50\x48\x62\x49\x7a\x54\x57\x51\x4f','\x73\x6d\x6b\x5a\x57\x52\x6e\x4f\x77\x49\x4a\x64\x4f\x53\x6b\x70\x77\x53\x6b\x56\x45\x43\x6f\x6d','\x68\x38\x6f\x6b\x57\x52\x53\x31\x79\x38\x6f\x46\x57\x50\x50\x6f','\x57\x52\x52\x64\x51\x4d\x30\x4b\x6f\x43\x6b\x4e\x6f\x71\x71','\x61\x73\x78\x63\x53\x78\x46\x64\x54\x71','\x57\x52\x76\x2b\x75\x63\x74\x63\x4a\x6d\x6f\x69\x57\x34\x6c\x64\x47\x57','\x71\x72\x78\x64\x47\x4b\x34\x49','\x57\x51\x6e\x38\x79\x6d\x6f\x4e\x71\x6d\x6f\x4a\x57\x52\x33\x64\x54\x71','\x57\x35\x37\x63\x52\x38\x6b\x55\x57\x37\x4f\x4a\x57\x36\x39\x74\x57\x35\x46\x63\x54\x61','\x68\x78\x71\x57\x57\x4f\x66\x54\x57\x34\x53\x34\x78\x61','\x75\x38\x6b\x68\x57\x4f\x2f\x64\x54\x53\x6b\x30\x75\x61','\x57\x37\x6c\x64\x48\x74\x69\x71','\x69\x58\x64\x63\x4a\x77\x4a\x64\x50\x47','\x57\x50\x42\x64\x49\x58\x2f\x63\x50\x38\x6f\x4d\x6f\x53\x6f\x7a\x57\x36\x6c\x63\x47\x4c\x72\x31\x73\x57','\x57\x37\x2f\x64\x52\x64\x50\x42\x57\x51\x33\x64\x55\x61','\x6c\x48\x78\x64\x51\x33\x61','\x57\x35\x42\x64\x4e\x49\x70\x64\x4f\x61','\x57\x34\x4e\x64\x4d\x74\x33\x63\x53\x47','\x6d\x49\x74\x63\x4f\x74\x6c\x63\x49\x68\x44\x58\x71\x4b\x34','\x64\x43\x6f\x34\x57\x35\x42\x63\x4b\x33\x46\x63\x4e\x5a\x61','\x57\x34\x33\x63\x50\x59\x74\x63\x4f\x62\x34\x4b\x6d\x4c\x43\x6d\x57\x52\x78\x63\x55\x38\x6b\x38','\x6f\x57\x46\x63\x4d\x30\x2f\x64\x50\x38\x6f\x55\x42\x61','\x73\x6d\x6f\x65\x72\x32\x4e\x63\x50\x5a\x70\x63\x56\x4a\x4f','\x57\x34\x38\x4e\x57\x50\x46\x63\x4b\x57\x46\x64\x55\x33\x62\x4f\x74\x43\x6f\x51\x64\x38\x6f\x37','\x66\x43\x6f\x72\x57\x51\x4f\x52\x46\x38\x6f\x79\x57\x4f\x50\x72','\x57\x4f\x74\x63\x48\x38\x6f\x38\x57\x35\x4c\x55\x73\x78\x52\x63\x4b\x43\x6b\x30\x57\x52\x48\x6a\x57\x52\x79\x68','\x57\x37\x68\x63\x50\x77\x47\x47\x57\x50\x6d\x50\x62\x47\x75','\x65\x43\x6f\x48\x57\x34\x56\x63\x4b\x33\x30','\x57\x4f\x52\x63\x4f\x43\x6b\x48\x77\x6d\x6f\x37\x57\x50\x7a\x76','\x77\x6d\x6f\x68\x71\x33\x6c\x63\x49\x47\x52\x63\x54\x5a\x71','\x46\x43\x6f\x56\x57\x36\x74\x64\x51\x67\x68\x63\x56\x77\x33\x63\x4b\x61','\x41\x53\x6f\x53\x57\x50\x7a\x4d\x62\x4a\x62\x37\x57\x52\x79','\x57\x50\x78\x64\x4b\x38\x6b\x5a\x57\x36\x6d\x72','\x42\x68\x74\x64\x54\x63\x37\x63\x4c\x4b\x54\x6b\x41\x71','\x65\x61\x56\x64\x50\x64\x72\x79\x57\x4f\x4b\x67\x57\x37\x5a\x64\x56\x4e\x6a\x63\x57\x51\x57','\x57\x36\x70\x64\x53\x59\x7a\x63\x57\x52\x52\x64\x51\x66\x70\x64\x48\x57','\x57\x4f\x39\x31\x57\x36\x76\x6d\x57\x52\x66\x31\x44\x73\x34','\x78\x6d\x6f\x42\x74\x4e\x74\x63\x4a\x33\x78\x63\x56\x49\x6d','\x57\x36\x69\x30\x57\x50\x57\x39\x57\x37\x64\x64\x54\x43\x6b\x37\x79\x61','\x6f\x57\x37\x64\x52\x67\x53','\x57\x52\x78\x63\x50\x32\x74\x63\x4e\x6d\x6f\x67\x63\x53\x6b\x4c\x65\x71','\x6f\x58\x6c\x64\x55\x78\x79\x55\x57\x35\x38','\x57\x37\x42\x63\x51\x6d\x6f\x54\x57\x50\x68\x63\x4f\x6d\x6b\x51\x71\x6d\x6f\x4b','\x41\x4d\x6c\x64\x51\x61\x46\x63\x49\x4c\x50\x66\x46\x47','\x57\x52\x46\x64\x47\x43\x6b\x75','\x6b\x43\x6f\x6c\x57\x51\x47\x50\x45\x43\x6f\x6a\x57\x4f\x54\x69','\x57\x50\x4e\x64\x53\x78\x4e\x64\x54\x65\x54\x59','\x57\x37\x44\x51\x76\x4d\x6a\x66\x70\x57','\x57\x50\x58\x38\x57\x37\x62\x6a','\x57\x4f\x48\x67\x77\x47\x6d\x51\x57\x51\x65','\x57\x36\x4a\x64\x4d\x53\x6b\x4f\x57\x50\x4b\x5a\x65\x5a\x37\x63\x4e\x61','\x57\x4f\x39\x6c\x7a\x62\x61\x2b\x57\x51\x69','\x79\x73\x53\x4f\x76\x71\x68\x64\x55\x53\x6f\x45\x57\x34\x69','\x57\x37\x43\x2b\x77\x73\x64\x63\x4e\x38\x6f\x50\x57\x37\x68\x64\x4f\x47','\x57\x36\x6a\x61\x6d\x38\x6b\x58\x57\x36\x64\x63\x50\x6d\x6b\x50\x57\x51\x34','\x43\x66\x78\x63\x4a\x68\x7a\x52\x57\x35\x6d\x37\x57\x35\x4f','\x57\x50\x5a\x64\x51\x43\x6f\x2f\x57\x37\x61\x47\x57\x34\x76\x72\x57\x37\x79','\x6c\x48\x70\x63\x50\x49\x5a\x64\x4c\x43\x6b\x4a\x46\x53\x6f\x5a','\x57\x50\x33\x64\x55\x6d\x6f\x39\x57\x37\x43\x4d\x57\x34\x72\x56\x57\x37\x65','\x57\x34\x42\x63\x4a\x38\x6f\x50\x42\x71\x6c\x63\x54\x75\x65\x61','\x57\x50\x5a\x64\x53\x43\x6f\x33\x57\x36\x65\x58','\x44\x38\x6f\x33\x57\x4f\x61\x51\x6b\x4a\x54\x4c\x57\x51\x47','\x42\x33\x70\x64\x56\x59\x33\x63\x49\x30\x79','\x71\x53\x6b\x38\x57\x52\x35\x50\x75\x73\x64\x64\x50\x6d\x6b\x62\x44\x53\x6b\x4f\x74\x53\x6f\x57','\x6d\x62\x70\x64\x52\x68\x4b\x56\x57\x35\x70\x63\x4b\x38\x6f\x58','\x57\x36\x68\x64\x4f\x49\x79','\x57\x36\x69\x52\x75\x74\x37\x63\x4a\x53\x6f\x2b','\x57\x34\x33\x63\x47\x30\x6c\x64\x56\x6d\x6b\x33\x42\x53\x6f\x63\x57\x36\x38','\x71\x72\x4e\x64\x4c\x75\x61\x35\x46\x74\x33\x63\x55\x61','\x57\x37\x70\x64\x53\x68\x57\x51\x57\x34\x66\x36\x67\x58\x4b','\x57\x34\x33\x64\x4d\x74\x5a\x63\x56\x38\x6b\x57\x57\x51\x56\x63\x4e\x38\x6b\x65','\x67\x32\x4f\x32\x57\x4f\x6e\x37\x57\x34\x6d\x38\x77\x61','\x66\x63\x4a\x63\x4b\x78\x33\x64\x50\x4e\x4b\x2f\x6c\x61','\x65\x32\x47\x57\x57\x4f\x53','\x57\x50\x79\x77\x57\x34\x6c\x64\x4f\x47','\x57\x50\x66\x2f\x57\x37\x54\x6b\x57\x37\x48\x48\x6e\x63\x34','\x57\x36\x62\x58\x72\x67\x44\x35\x6c\x53\x6f\x64\x43\x61','\x57\x37\x70\x63\x56\x32\x57\x4b\x57\x34\x43\x5a\x68\x72\x4b','\x57\x35\x46\x64\x4a\x53\x6b\x75\x67\x59\x69\x44','\x57\x34\x4e\x64\x54\x74\x56\x64\x4e\x61','\x57\x35\x2f\x64\x51\x73\x42\x64\x4b\x6d\x6b\x43\x57\x36\x35\x55\x63\x47','\x57\x36\x64\x64\x54\x49\x72\x69\x57\x36\x4a\x64\x52\x31\x6c\x64\x4d\x57','\x57\x52\x64\x63\x4e\x4a\x43\x64\x57\x50\x78\x63\x47\x65\x69\x2f','\x57\x36\x62\x41\x6e\x53\x6b\x38','\x6b\x61\x78\x64\x51\x4e\x4f\x49\x57\x34\x4e\x63\x4c\x53\x6f\x53','\x6f\x58\x52\x63\x55\x76\x68\x64\x4f\x6d\x6f\x52\x43\x62\x65','\x57\x50\x76\x48\x7a\x53\x6f\x4e\x75\x38\x6f\x79\x57\x52\x64\x64\x4f\x57','\x57\x36\x52\x63\x4d\x53\x6f\x55\x41\x58\x70\x63\x54\x65\x4b\x42','\x6e\x47\x42\x63\x53\x31\x56\x64\x4f\x43\x6f\x6b\x45\x57\x6d','\x69\x53\x6f\x4f\x57\x34\x34\x4c\x68\x57','\x57\x35\x34\x69\x57\x37\x6c\x64\x49\x57\x50\x65\x57\x35\x75','\x57\x4f\x38\x6e\x57\x35\x6c\x64\x50\x48\x31\x79\x57\x37\x68\x64\x53\x47','\x57\x50\x5a\x64\x53\x53\x6f\x59\x57\x37\x71\x58\x57\x35\x69','\x57\x36\x72\x67\x69\x53\x6b\x38\x57\x37\x4e\x63\x50\x6d\x6b\x50\x57\x37\x4f','\x70\x72\x42\x63\x56\x31\x4e\x64\x56\x6d\x6f\x51\x45\x57\x65','\x57\x34\x46\x63\x4b\x43\x6b\x32','\x57\x37\x58\x6b\x6b\x38\x6b\x5a\x57\x37\x4e\x63\x51\x71','\x71\x31\x4a\x63\x56\x67\x71\x6f','\x57\x35\x6c\x64\x4a\x6d\x6b\x53\x57\x4f\x6d\x31\x66\x71','\x57\x36\x4e\x64\x52\x73\x6a\x45','\x57\x50\x72\x4b\x57\x35\x42\x64\x47\x76\x5a\x63\x50\x33\x4b','\x57\x4f\x2f\x64\x56\x68\x2f\x64\x51\x4b\x39\x49\x63\x76\x53'];_0x4a86=function(){return _0x193930;};return _0x4a86();}
|
|
@@ -1,37 +1 @@
|
|
|
1
|
-
import { personalityKey } from './schema.js';
|
|
2
|
-
/** 记录本轮选用的人格状态 (注入 prompt 前). */
|
|
3
|
-
export async function emitPersonalitySelected(ingestor, args) {
|
|
4
|
-
const key = personalityKey(args.personality);
|
|
5
|
-
return ingestor.ingest({
|
|
6
|
-
type: 'personality.selected',
|
|
7
|
-
human: {
|
|
8
|
-
title: `人格 ${key}`,
|
|
9
|
-
detail: `rigor=${args.personality.rigor.toFixed(2)} creativity=${args.personality.creativity.toFixed(2)} risk=${args.personality.risk_tolerance.toFixed(2)}`,
|
|
10
|
-
},
|
|
11
|
-
payload: { cycleId: args.cycleId, personalityKey: key, personalityState: args.personality, known: args.known },
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 记录风险闸对变异的降级 (仅当真降级了才发; downgraded=false 不发).
|
|
16
|
-
* why 必填 —— 让"Why 面板"能解释这次变异为何被压。
|
|
17
|
-
*/
|
|
18
|
-
export async function emitPersonalityRiskGated(ingestor, args) {
|
|
19
|
-
if (!args.gate.downgraded)
|
|
20
|
-
return null;
|
|
21
|
-
const m = args.gate.mutation;
|
|
22
|
-
return ingestor.ingest({
|
|
23
|
-
type: 'personality.risk_gated',
|
|
24
|
-
human: {
|
|
25
|
-
title: `风险闸降级 → ${m.category}/${m.risk_level}`,
|
|
26
|
-
why: `人格 ${personalityKey(args.personality)} 未满足高危放行 (rigor≥0.6 且 risk_tolerance≤0.5); 安全信号: ${args.gate.appliedSignals.join(', ')}`,
|
|
27
|
-
severity: 'notice',
|
|
28
|
-
},
|
|
29
|
-
payload: {
|
|
30
|
-
cycleId: args.cycleId,
|
|
31
|
-
mutationId: m.id,
|
|
32
|
-
category: m.category,
|
|
33
|
-
riskLevel: m.risk_level,
|
|
34
|
-
appliedSignals: args.gate.appliedSignals,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
}
|
|
1
|
+
(function(_0x8f1ec1,_0x3498a1){const _0x21cc29=_0x3233,_0x16394a=_0x8f1ec1();while(!![]){try{const _0x2ff631=-parseInt(_0x21cc29(0x19d,'\x61\x76\x21\x68'))/(0x1857+-0xd*0x265+0x6cb)+parseInt(_0x21cc29(0x1c0,'\x58\x56\x44\x7a'))/(-0xea2+-0x2246+0x30ea)+-parseInt(_0x21cc29(0x1cd,'\x35\x5b\x51\x40'))/(0x239d+-0x6*-0x4c7+-0x4044)+parseInt(_0x21cc29(0x19f,'\x44\x29\x31\x55'))/(0xb0d*-0x3+-0x2*-0x12dd+-0x1*0x48f)*(parseInt(_0x21cc29(0x1a9,'\x61\x76\x21\x68'))/(0xe*0x89+-0x1d3*-0x11+-0x267c))+parseInt(_0x21cc29(0x1c5,'\x6d\x61\x48\x65'))/(0x11f2+0x2205*0x1+-0x1*0x33f1)+-parseInt(_0x21cc29(0x1ac,'\x73\x4f\x23\x37'))/(-0xbf*0x2b+-0x1c8e+-0x5*-0xc22)+parseInt(_0x21cc29(0x1b2,'\x24\x71\x57\x4c'))/(0x2*0x841+-0x1236+0x1bc)*(parseInt(_0x21cc29(0x19b,'\x69\x70\x43\x28'))/(0x1964+-0xf9d*-0x2+-0x5*0xb51));if(_0x2ff631===_0x3498a1)break;else _0x16394a['push'](_0x16394a['shift']());}catch(_0x55436d){_0x16394a['push'](_0x16394a['shift']());}}}(_0x1af6,-0xa30*0x17c+-0x78ad3+0x2129a6));import{personalityKey}from'\x2e\x2f\x73\x63\x68\x65\x6d\x61\x2e\x6a\x73';export async function emitPersonalitySelected(_0x407b50,_0x2c1a36){const _0x5a9dec=_0x3233,_0x2ee4f0=personalityKey(_0x2c1a36[_0x5a9dec(0x1c8,'\x71\x24\x4b\x63')+_0x5a9dec(0x1d3,'\x73\x4f\x23\x37')]);return _0x407b50[_0x5a9dec(0x1ad,'\x35\x5b\x51\x40')]({'\x74\x79\x70\x65':_0x5a9dec(0x1c4,'\x76\x47\x4f\x50')+_0x5a9dec(0x1d9,'\x2a\x6b\x40\x36')+_0x5a9dec(0x1a5,'\x73\x6e\x78\x25'),'\x68\x75\x6d\x61\x6e':{'\x74\x69\x74\x6c\x65':_0x5a9dec(0x1d1,'\x35\x48\x6b\x30')+_0x2ee4f0,'\x64\x65\x74\x61\x69\x6c':_0x5a9dec(0x1ba,'\x6c\x44\x75\x6e')+_0x2c1a36[_0x5a9dec(0x1b9,'\x58\x56\x44\x7a')+_0x5a9dec(0x1b8,'\x24\x71\x57\x4c')][_0x5a9dec(0x1b6,'\x23\x7a\x55\x77')][_0x5a9dec(0x1ca,'\x71\x24\x4b\x63')](-0x150a+-0x522+0x1a2e)+(_0x5a9dec(0x1d7,'\x23\x7a\x55\x77')+_0x5a9dec(0x1d8,'\x70\x69\x40\x41'))+_0x2c1a36[_0x5a9dec(0x1d6,'\x6d\x77\x73\x67')+_0x5a9dec(0x1be,'\x62\x4f\x58\x4f')][_0x5a9dec(0x1c2,'\x4e\x7a\x71\x5d')+'\x74\x79'][_0x5a9dec(0x1c7,'\x63\x34\x7a\x49')](-0x1346*-0x1+0x49*-0x17+-0xcb5)+_0x5a9dec(0x1d0,'\x35\x48\x6b\x30')+_0x2c1a36[_0x5a9dec(0x1bb,'\x44\x39\x4c\x4a')+_0x5a9dec(0x1ab,'\x48\x53\x23\x6e')][_0x5a9dec(0x1bc,'\x73\x6e\x78\x25')+_0x5a9dec(0x198,'\x29\x5e\x40\x25')][_0x5a9dec(0x1c6,'\x37\x59\x51\x71')](-0x2*0x124+0x14fd+-0x12b3)},'\x70\x61\x79\x6c\x6f\x61\x64':{'\x63\x79\x63\x6c\x65\x49\x64':_0x2c1a36[_0x5a9dec(0x1d2,'\x48\x53\x23\x6e')],'\x70\x65\x72\x73\x6f\x6e\x61\x6c\x69\x74\x79\x4b\x65\x79':_0x2ee4f0,'\x70\x65\x72\x73\x6f\x6e\x61\x6c\x69\x74\x79\x53\x74\x61\x74\x65':_0x2c1a36[_0x5a9dec(0x1cb,'\x34\x33\x24\x6c')+_0x5a9dec(0x1d5,'\x31\x59\x45\x4e')],'\x6b\x6e\x6f\x77\x6e':_0x2c1a36[_0x5a9dec(0x1a1,'\x34\x33\x24\x6c')]}});}function _0x3233(_0x206d8d,_0x31c1b1){_0x206d8d=_0x206d8d-(0x17db+-0x198c*0x1+0x348);const _0x583b54=_0x1af6();let _0x48b71b=_0x583b54[_0x206d8d];if(_0x3233['\x75\x4d\x4f\x4a\x42\x58']===undefined){var _0x2e7be6=function(_0x471120){const _0x3d7d5c='\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 _0x234198='',_0x43d63c='';for(let _0x197626=-0x3b*-0x83+-0x1f20+0xef,_0x5d3900,_0x3c0ae4,_0x1b0eab=0x4ac+-0x18d4+-0x6b8*-0x3;_0x3c0ae4=_0x471120['\x63\x68\x61\x72\x41\x74'](_0x1b0eab++);~_0x3c0ae4&&(_0x5d3900=_0x197626%(-0xd27+0x5*-0x32b+0x1d02)?_0x5d3900*(0xb*0x35+0x55+-0x12e*0x2)+_0x3c0ae4:_0x3c0ae4,_0x197626++%(0x1*0x6a7+0x970+0x5*-0x337))?_0x234198+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x13*-0x9+0x8b*-0x8+-0x17*-0x34&_0x5d3900>>(-(-0x150a+-0x522+0x1a2e)*_0x197626&-0x1346*-0x1+0x49*-0x17+-0xcb1)):-0x2*0x124+0x14fd+-0x12b5){_0x3c0ae4=_0x3d7d5c['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3c0ae4);}for(let _0x24019d=-0x23c5+-0x4*0xbc+0x9*0x44d,_0x4ead81=_0x234198['\x6c\x65\x6e\x67\x74\x68'];_0x24019d<_0x4ead81;_0x24019d++){_0x43d63c+='\x25'+('\x30\x30'+_0x234198['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x24019d)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x258e+0x688*0x1+0x1f16))['\x73\x6c\x69\x63\x65'](-(-0x1dac+0x3*-0x191+0x2261));}return decodeURIComponent(_0x43d63c);};const _0x121605=function(_0x55cd6c,_0xdbcbd5){let _0x41b54e=[],_0x71b78f=0x6e*-0x29+-0x1*-0x145+0x1059,_0x46547a,_0x18ce3e='';_0x55cd6c=_0x2e7be6(_0x55cd6c);let _0xd5979c;for(_0xd5979c=-0x1484+0xd*-0x2a9+-0xd9*-0x41;_0xd5979c<-0xef2+0x1*0x138f+-0x25*0x19;_0xd5979c++){_0x41b54e[_0xd5979c]=_0xd5979c;}for(_0xd5979c=-0x1*-0xb5d+-0x1*-0x127d+0x2*-0xeed;_0xd5979c<-0x66b+0x1af6+-0x138b;_0xd5979c++){_0x71b78f=(_0x71b78f+_0x41b54e[_0xd5979c]+_0xdbcbd5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xd5979c%_0xdbcbd5['\x6c\x65\x6e\x67\x74\x68']))%(0xb24+-0x2*0x117d+-0xb*-0x242),_0x46547a=_0x41b54e[_0xd5979c],_0x41b54e[_0xd5979c]=_0x41b54e[_0x71b78f],_0x41b54e[_0x71b78f]=_0x46547a;}_0xd5979c=-0x2491+-0x2589+0x4a1a,_0x71b78f=-0x1992+0x16*0x7c+0x2*0x775;for(let _0x1e8fc2=0x18d*0xf+-0xca7*-0x3+-0x3d38;_0x1e8fc2<_0x55cd6c['\x6c\x65\x6e\x67\x74\x68'];_0x1e8fc2++){_0xd5979c=(_0xd5979c+(0x1edc+-0x117e+-0xd5d))%(-0x16ef+0xf6*-0x7+0x1ea9),_0x71b78f=(_0x71b78f+_0x41b54e[_0xd5979c])%(0x1e4d+-0x1210+0x1*-0xb3d),_0x46547a=_0x41b54e[_0xd5979c],_0x41b54e[_0xd5979c]=_0x41b54e[_0x71b78f],_0x41b54e[_0x71b78f]=_0x46547a,_0x18ce3e+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x55cd6c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e8fc2)^_0x41b54e[(_0x41b54e[_0xd5979c]+_0x41b54e[_0x71b78f])%(0x2104+-0x1*-0x68c+0x9a4*-0x4)]);}return _0x18ce3e;};_0x3233['\x54\x56\x4c\x63\x45\x79']=_0x121605,_0x3233['\x52\x6b\x59\x4f\x4b\x43']={},_0x3233['\x75\x4d\x4f\x4a\x42\x58']=!![];}const _0x888438=_0x583b54[-0x119*-0xa+0x132e+0x78a*-0x4],_0xcd5dbb=_0x206d8d+_0x888438,_0x4abad5=_0x3233['\x52\x6b\x59\x4f\x4b\x43'][_0xcd5dbb];return!_0x4abad5?(_0x3233['\x78\x70\x67\x48\x64\x71']===undefined&&(_0x3233['\x78\x70\x67\x48\x64\x71']=!![]),_0x48b71b=_0x3233['\x54\x56\x4c\x63\x45\x79'](_0x48b71b,_0x31c1b1),_0x3233['\x52\x6b\x59\x4f\x4b\x43'][_0xcd5dbb]=_0x48b71b):_0x48b71b=_0x4abad5,_0x48b71b;}export async function emitPersonalityRiskGated(_0x312b36,_0x23b815){const _0x3502b5=_0x3233;if(!_0x23b815[_0x3502b5(0x1b5,'\x29\x5e\x40\x25')]['\x64\x6f\x77\x6e\x67\x72\x61\x64'+'\x65\x64'])return null;const _0x370e2b=_0x23b815[_0x3502b5(0x1a6,'\x58\x56\x44\x7a')][_0x3502b5(0x19c,'\x6c\x44\x75\x6e')];return _0x312b36[_0x3502b5(0x1cf,'\x51\x53\x25\x59')]({'\x74\x79\x70\x65':_0x3502b5(0x1a7,'\x73\x6e\x78\x25')+_0x3502b5(0x1bd,'\x30\x4a\x67\x5a')+_0x3502b5(0x1b7,'\x4b\x58\x49\x5e'),'\x68\x75\x6d\x61\x6e':{'\x74\x69\x74\x6c\x65':_0x3502b5(0x19e,'\x4d\x47\x37\x5a')+_0x370e2b[_0x3502b5(0x1b3,'\x31\x51\x70\x5e')]+'\x2f'+_0x370e2b[_0x3502b5(0x1cc,'\x76\x47\x4f\x50')+'\x65\x6c'],'\x77\x68\x79':_0x3502b5(0x1aa,'\x42\x58\x64\x40')+personalityKey(_0x23b815[_0x3502b5(0x199,'\x52\x57\x57\x4b')+_0x3502b5(0x1b8,'\x24\x71\x57\x4c')])+('\x20\u672a\u6ee1\u8db3\u9ad8\u5371\u653e\u884c'+_0x3502b5(0x19a,'\x6c\x44\x75\x6e')+_0x3502b5(0x1ce,'\x29\x5e\x40\x25')+_0x3502b5(0x1c1,'\x23\x7a\x55\x77')+_0x3502b5(0x1ae,'\x62\x4f\x58\x4f')+_0x3502b5(0x1c3,'\x29\x5e\x40\x25')+'\x20')+_0x23b815[_0x3502b5(0x1b5,'\x29\x5e\x40\x25')][_0x3502b5(0x1a8,'\x51\x53\x25\x59')+_0x3502b5(0x1bf,'\x72\x7a\x72\x42')][_0x3502b5(0x1b1,'\x29\x5e\x40\x25')]('\x2c\x20'),'\x73\x65\x76\x65\x72\x69\x74\x79':_0x3502b5(0x1d4,'\x76\x47\x4f\x50')},'\x70\x61\x79\x6c\x6f\x61\x64':{'\x63\x79\x63\x6c\x65\x49\x64':_0x23b815['\x63\x79\x63\x6c\x65\x49\x64'],'\x6d\x75\x74\x61\x74\x69\x6f\x6e\x49\x64':_0x370e2b['\x69\x64'],'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x370e2b['\x63\x61\x74\x65\x67\x6f\x72\x79'],'\x72\x69\x73\x6b\x4c\x65\x76\x65\x6c':_0x370e2b[_0x3502b5(0x1a4,'\x5e\x54\x31\x63')+'\x65\x6c'],'\x61\x70\x70\x6c\x69\x65\x64\x53\x69\x67\x6e\x61\x6c\x73':_0x23b815[_0x3502b5(0x1b4,'\x43\x78\x56\x6f')][_0x3502b5(0x1b0,'\x66\x4f\x33\x58')+_0x3502b5(0x1a3,'\x44\x29\x31\x55')]}});}function _0x1af6(){const _0x8c6a7f=['\x76\x4e\x56\x63\x4a\x71\x46\x64\x4f\x4c\x34','\x57\x51\x64\x63\x50\x47\x64\x64\x50\x53\x6b\x61\x57\x4f\x79\x50\x57\x50\x6d','\x64\x53\x6b\x67\x57\x52\x70\x63\x50\x57','\x57\x34\x42\x64\x50\x38\x6f\x71\x57\x51\x53','\x68\x43\x6b\x78\x57\x51\x74\x63\x53\x65\x78\x63\x4a\x38\x6b\x65\x6e\x47','\x42\x6d\x6f\x77\x6b\x38\x6b\x6a\x67\x53\x6b\x46\x57\x35\x48\x34','\x6a\x47\x33\x63\x56\x64\x52\x64\x55\x33\x6e\x37\x44\x43\x6f\x58\x57\x35\x74\x64\x56\x61','\x35\x6c\x55\x6c\x35\x51\x67\x77\x63\x57','\x76\x68\x4c\x76','\x78\x38\x6f\x33\x77\x47\x74\x63\x49\x38\x6f\x65\x57\x36\x68\x64\x4d\x6d\x6b\x62\x65\x47\x65\x65\x57\x34\x34','\x63\x43\x6f\x34\x57\x34\x74\x64\x4c\x38\x6f\x73\x6e\x71','\x44\x32\x42\x63\x4c\x43\x6f\x4d\x34\x4f\x51\x64\x46\x53\x6f\x64\x6b\x57','\x57\x35\x4f\x67\x71\x6d\x6b\x68\x57\x36\x6e\x31\x63\x61\x70\x64\x50\x53\x6b\x39\x74\x6d\x6b\x2b\x71\x71','\x57\x37\x37\x64\x4d\x30\x68\x63\x55\x38\x6f\x66\x45\x38\x6b\x67\x57\x36\x69','\x57\x36\x66\x79\x67\x78\x38','\x57\x34\x58\x2b\x46\x65\x44\x32\x57\x37\x62\x4c','\x57\x37\x61\x6d\x57\x37\x6d\x48\x78\x6d\x6b\x7a\x41\x6d\x6b\x44','\x57\x35\x37\x63\x56\x47\x71\x6c','\x57\x36\x58\x77\x62\x68\x71','\x57\x34\x37\x63\x4f\x6d\x6f\x56\x41\x78\x4b','\x43\x47\x64\x64\x48\x38\x6b\x6d\x67\x38\x6f\x47','\x57\x50\x31\x4b\x42\x61','\x57\x35\x68\x64\x4f\x38\x6f\x77\x57\x52\x31\x71\x61\x61\x79\x4f','\x57\x4f\x61\x30\x67\x49\x78\x64\x53\x6d\x6b\x45','\x65\x65\x35\x44\x57\x36\x71\x69\x57\x4f\x68\x64\x55\x61\x61','\x68\x38\x6b\x42\x57\x51\x78\x63\x51\x68\x78\x63\x4c\x43\x6b\x6b\x6e\x47','\x57\x51\x34\x77\x45\x32\x50\x63\x57\x50\x78\x63\x4a\x6d\x6b\x49','\x46\x33\x5a\x63\x4a\x57','\x57\x34\x6c\x63\x4a\x30\x33\x64\x56\x43\x6f\x52\x74\x71','\x57\x50\x78\x63\x53\x6d\x6b\x75\x57\x37\x38\x67\x76\x48\x79\x6f\x76\x30\x57\x6a\x57\x52\x4f','\x57\x34\x2f\x63\x4f\x53\x6f\x78\x43\x4d\x72\x2b\x57\x37\x68\x64\x4a\x57','\x6f\x30\x69\x4a\x6d\x6d\x6b\x72\x57\x52\x4e\x64\x50\x71\x75','\x57\x51\x69\x6d\x75\x6f\x77\x55\x4d\x6f\x77\x67\x4c\x55\x73\x2b\x51\x45\x77\x70\x4b\x53\x6f\x55','\x57\x35\x30\x54\x57\x35\x46\x64\x47\x43\x6b\x65\x6a\x5a\x70\x64\x52\x57','\x79\x4d\x52\x63\x48\x67\x64\x64\x47\x38\x6f\x4c\x57\x35\x6a\x6d\x57\x4f\x47\x74\x63\x62\x4e\x63\x56\x47','\x57\x36\x6d\x68\x73\x6d\x6f\x62\x57\x4f\x6d\x44\x57\x34\x53','\x57\x51\x68\x64\x56\x31\x42\x64\x56\x38\x6b\x6d\x42\x43\x6f\x75','\x57\x4f\x76\x75\x57\x51\x44\x6e\x77\x43\x6f\x2b\x67\x43\x6f\x57','\x71\x31\x47\x44\x57\x37\x38\x43\x64\x4e\x50\x76\x57\x34\x46\x64\x4c\x74\x2f\x64\x55\x38\x6b\x58','\x57\x4f\x66\x45\x57\x50\x6e\x78\x74\x53\x6f\x31\x68\x61','\x57\x51\x75\x72\x66\x63\x4a\x64\x56\x68\x69\x52\x57\x51\x75','\x57\x35\x38\x48\x57\x35\x42\x64\x4d\x43\x6b\x30\x6a\x74\x46\x64\x54\x71','\x75\x53\x6b\x55\x57\x50\x64\x63\x48\x53\x6b\x71\x43\x48\x65\x4e\x57\x36\x4a\x64\x53\x66\x46\x64\x48\x43\x6b\x35','\x57\x52\x53\x7a\x72\x4a\x68\x4b\x55\x36\x50\x4f\x76\x38\x6b\x39','\x7a\x6d\x6f\x69\x70\x6d\x6b\x61\x61\x6d\x6b\x6f','\x69\x38\x6b\x77\x70\x75\x4b\x44\x6e\x47','\x35\x6c\x51\x35\x35\x51\x6f\x79\x44\x61','\x78\x4e\x72\x70\x57\x51\x72\x4b\x57\x34\x4e\x63\x4d\x57','\x62\x6d\x6b\x58\x66\x71','\x57\x34\x6d\x4e\x57\x35\x68\x64\x4d\x38\x6b\x69\x6c\x61','\x57\x52\x4e\x64\x4e\x6d\x6b\x71','\x6d\x4e\x79\x42\x6a\x38\x6b\x35\x7a\x38\x6b\x53\x42\x57','\x57\x50\x5a\x63\x51\x53\x6f\x36\x79\x32\x50\x4d\x57\x37\x33\x64\x49\x57','\x57\x50\x64\x63\x48\x63\x4e\x63\x49\x57','\x78\x53\x6b\x4d\x7a\x32\x71\x56\x68\x38\x6f\x46\x57\x34\x4f','\x44\x63\x54\x45\x7a\x43\x6f\x4a\x70\x38\x6f\x2b\x75\x43\x6b\x6e\x44\x53\x6f\x72\x44\x6d\x6b\x2b','\x57\x37\x64\x63\x51\x57\x62\x76\x6c\x65\x64\x63\x47\x4b\x4b\x6f\x57\x51\x54\x5a\x6b\x57','\x57\x35\x61\x4a\x57\x50\x74\x64\x4b\x6d\x6f\x33\x57\x50\x34\x45','\x6d\x43\x6f\x44\x7a\x47\x6e\x67\x75\x48\x68\x63\x49\x66\x4c\x53\x57\x35\x38','\x57\x36\x35\x66\x65\x78\x2f\x63\x4e\x73\x30','\x6a\x58\x69\x41\x57\x37\x68\x63\x4f\x38\x6f\x6f\x57\x51\x6c\x63\x55\x57','\x57\x35\x6a\x31\x64\x59\x70\x64\x50\x43\x6f\x6d\x64\x45\x6b\x6a\x4f\x57','\x57\x50\x61\x68\x46\x43\x6f\x50\x75\x32\x78\x64\x4b\x6d\x6f\x47\x45\x65\x53\x32\x72\x67\x38','\x57\x50\x38\x4f\x63\x73\x56\x64\x54\x53\x6f\x6b\x65\x67\x47','\x6a\x71\x46\x63\x56\x64\x68\x64\x53\x58\x6d\x67\x75\x53\x6f\x52\x57\x34\x4e\x64\x50\x71\x57\x45','\x36\x41\x6b\x6a\x36\x7a\x4d\x4f\x36\x7a\x73\x73\x36\x7a\x51\x6d\x35\x37\x55\x70\x7a\x6f\x6b\x65\x4b\x38\x6b\x79','\x63\x73\x4e\x64\x4c\x73\x37\x64\x47\x32\x74\x63\x4b\x63\x2f\x63\x4e\x71','\x69\x57\x33\x63\x55\x5a\x6c\x64\x55\x48\x34\x65\x45\x43\x6f\x52\x57\x35\x6c\x64\x54\x73\x6d\x6b','\x57\x52\x34\x41\x63\x73\x5a\x64\x56\x71','\x69\x43\x6f\x41\x57\x52\x65\x4e\x57\x37\x46\x64\x50\x43\x6f\x43\x63\x6d\x6f\x4a\x57\x52\x75\x30\x57\x50\x69\x35'];_0x1af6=function(){return _0x8c6a7f;};return _0x1af6();}
|