@evomap/evolver-core 2.0.0 → 2.0.2
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.js +1 -273
- package/dist/algo/capabilityCandidates.js +1 -146
- package/dist/algo/confidence.js +1 -196
- package/dist/algo/conversationSniffer.js +1 -149
- package/dist/algo/cycleEngine.js +1 -625
- 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.js +1 -68
- package/dist/algo/geneHealth.js +1 -17
- package/dist/algo/geneIntake.js +1 -128
- package/dist/algo/genePromotion.js +1 -53
- package/dist/algo/geneSelection.js +1 -546
- package/dist/algo/index.js +1 -22
- package/dist/algo/memoryGraph.js +1 -86
- package/dist/algo/mutation.js +1 -22
- package/dist/algo/orchestrator.js +1 -87
- package/dist/algo/publishEligibility.js +1 -52
- package/dist/algo/solidify.js +1 -63
- package/dist/algo/strategyPresets.js +1 -61
- package/dist/algo/ucb1.js +1 -156
- package/dist/benchmark/antiGeneBenchmark.js +1 -252
- package/dist/benchmark/antiGeneImpact.js +1 -34
- package/dist/benchmark/antiGeneRollout.js +1 -269
- package/dist/benchmark/benchmark.js +1 -26
- package/dist/benchmark/evolutionThesisSolver.js +1 -41
- package/dist/benchmark/index.js +1 -7
- package/dist/benchmark/selectionFlatAbstention.js +1 -481
- package/dist/benchmark/thesis.js +1 -150
- package/dist/benchmark/triggerShift.js +1 -106
- package/dist/cycle/cycleTimeline.js +1 -74
- package/dist/cycle/index.js +1 -2
- package/dist/cycle/stateMachine.js +1 -25
- package/dist/hub/agentDirectory.js +1 -104
- package/dist/hub/assetCallLog.js +1 -195
- package/dist/hub/bindings.js +1 -121
- package/dist/hub/capability.js +1 -1
- package/dist/hub/conversationDistiller.js +1 -264
- 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.js +1 -408
- package/dist/hub/reuseDecision.js +1 -127
- package/dist/hub/sanitize.js +1 -322
- 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/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.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.js +1 -187
- package/dist/schema/index.js +1 -6
- 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.js +1 -19
- package/dist/signals/curriculum.js +1 -202
- package/dist/signals/cycleHistoryFromEvents.js +1 -105
- package/dist/signals/expand.js +1 -293
- package/dist/signals/extractor.js +1 -82
- package/dist/signals/index.js +1 -8
- package/dist/signals/metaSignals.js +1 -200
- package/dist/signals/signalGate.js +1 -40
- package/dist/signals/taskDomain.js +1 -43
- package/dist/signals/traceSignals.js +1 -123
- package/dist/strategy/constraintAblation.js +1 -2820
- package/dist/strategy/constraintAblationPredicates.js +1 -339
- package/dist/strategy/experiment.js +1 -63
- package/dist/strategy/index.js +1 -3
- package/dist/strategy/strategyPoint.js +1 -23
- package/package.json +1 -1
|
@@ -1,61 +1 @@
|
|
|
1
|
-
// Evolution strategy presets (ported from v1 gep/strategy.js). An operator-selectable POSTURE that biases the
|
|
2
|
-
// repair/optimize/innovate/explore mix for a cycle — "harden after a big change", "repair-only emergency",
|
|
3
|
-
// "innovate when stable" — plus a repair-loop threshold. resolveStrategy is pure + fully input-driven (the
|
|
4
|
-
// caller supplies the chosen name, recent signals, and cycle count from env/state); auto-detection picks
|
|
5
|
-
// early-stabilize for the first few cycles and steady-state when saturation signals appear.
|
|
6
|
-
export const STRATEGY_PRESETS = {
|
|
7
|
-
balanced: { name: 'balanced', label: 'Balanced', description: 'Normal operation. Steady growth with stability.', repair: 0.2, optimize: 0.2, innovate: 0.5, explore: 0.1, repairLoopThreshold: 0.5 },
|
|
8
|
-
innovate: { name: 'innovate', label: 'Innovation Focus', description: 'System is stable. Maximize new features and capabilities.', repair: 0.05, optimize: 0.1, innovate: 0.8, explore: 0.05, repairLoopThreshold: 0.3 },
|
|
9
|
-
harden: { name: 'harden', label: 'Hardening', description: 'After a big change. Focus on stability and robustness.', repair: 0.4, optimize: 0.35, innovate: 0.2, explore: 0.05, repairLoopThreshold: 0.7 },
|
|
10
|
-
'repair-only': { name: 'repair-only', label: 'Repair Only', description: 'Emergency. Fix everything before doing anything else.', repair: 0.8, optimize: 0.18, innovate: 0.0, explore: 0.02, repairLoopThreshold: 1.0 },
|
|
11
|
-
'early-stabilize': { name: 'early-stabilize', label: 'Early Stabilization', description: 'First cycles. Prioritize fixing existing issues before innovating.', repair: 0.6, optimize: 0.22, innovate: 0.15, explore: 0.03, repairLoopThreshold: 0.8 },
|
|
12
|
-
'steady-state': { name: 'steady-state', label: 'Steady State', description: 'Evolution saturated. Maintain existing capabilities. Explore for new directions.', repair: 0.55, optimize: 0.25, innovate: 0.05, explore: 0.15, repairLoopThreshold: 0.9 },
|
|
13
|
-
};
|
|
14
|
-
export function strategyNames() {
|
|
15
|
-
return Object.keys(STRATEGY_PRESETS);
|
|
16
|
-
}
|
|
17
|
-
/** Saturation meta-signals that switch auto-detection to steady-state (graceful degradation). */
|
|
18
|
-
const SATURATION_SIGNALS = new Set(['force_steady_state', 'evolution_saturation']);
|
|
19
|
-
/**
|
|
20
|
-
* Meta-signals that mean "stuck repairing / failing — break out by innovating" (ported from v1 strategy.js
|
|
21
|
-
* intent: a repair loop or a high failure ratio should pivot the posture off repair toward new directions).
|
|
22
|
-
* Saturation takes precedence (it wins when both are present, matching v1's steady-state-on-saturation rule).
|
|
23
|
-
*/
|
|
24
|
-
const INNOVATE_PIVOT_SIGNALS = new Set([
|
|
25
|
-
'repair_loop_detected',
|
|
26
|
-
'force_innovation_after_repair_loop',
|
|
27
|
-
'high_failure_ratio',
|
|
28
|
-
]);
|
|
29
|
-
/**
|
|
30
|
-
* Resolve the active strategy preset. Explicit name wins (unknown → balanced). Otherwise auto-detect:
|
|
31
|
-
* first 1-5 cycles → early-stabilize; an innovate-pivot meta-signal (repair loop / high failure ratio) →
|
|
32
|
-
* innovate; a saturation signal → steady-state (overrides both); forceInnovation → innovate. This is where
|
|
33
|
-
* the history-derived meta-signals (see signals/metaSignals.ts) actually drive strategy adaptation.
|
|
34
|
-
* Pure — no env/fs reads (the caller supplies the inputs).
|
|
35
|
-
*/
|
|
36
|
-
export function resolveStrategy(input = {}) {
|
|
37
|
-
const explicit = typeof input.name === 'string' && input.name.trim() !== '';
|
|
38
|
-
let name = (explicit ? input.name : 'balanced').toLowerCase().trim();
|
|
39
|
-
let forceInnovation = false;
|
|
40
|
-
if (!explicit && input.forceInnovation) {
|
|
41
|
-
name = 'innovate';
|
|
42
|
-
forceInnovation = true;
|
|
43
|
-
}
|
|
44
|
-
const isDefault = !explicit || name === 'balanced' || name === 'auto';
|
|
45
|
-
if (isDefault && !forceInnovation) {
|
|
46
|
-
const signals = input.signals ?? [];
|
|
47
|
-
const cycleCount = input.cycleCount ?? 0;
|
|
48
|
-
if (cycleCount > 0 && cycleCount <= 5)
|
|
49
|
-
name = 'early-stabilize';
|
|
50
|
-
// Stuck repairing / failing → pivot to innovate to break the loop (v1 strategy.js intent).
|
|
51
|
-
if (signals.some((s) => INNOVATE_PIVOT_SIGNALS.has(s)))
|
|
52
|
-
name = 'innovate';
|
|
53
|
-
// Saturation → steady-state. Last so it overrides early-stabilize AND the innovate pivot:
|
|
54
|
-
// when the loop has exhausted its innovation space, hardening/maintenance beats more innovation.
|
|
55
|
-
if (signals.some((s) => SATURATION_SIGNALS.has(s)))
|
|
56
|
-
name = 'steady-state';
|
|
57
|
-
}
|
|
58
|
-
if (name === 'auto')
|
|
59
|
-
name = 'balanced';
|
|
60
|
-
return STRATEGY_PRESETS[name] ?? STRATEGY_PRESETS['balanced'];
|
|
61
|
-
}
|
|
1
|
+
const _0x195714=_0x7949;function _0x15a1(){const _0xbff9d6=['\x57\x37\x7a\x35\x57\x51\x38\x37\x57\x34\x48\x45\x57\x35\x5a\x64\x50\x47','\x57\x35\x61\x70\x68\x43\x6f\x63\x76\x53\x6b\x6f\x57\x35\x4a\x63\x4f\x77\x61\x4a\x46\x57','\x76\x43\x6f\x44\x57\x34\x7a\x56\x57\x50\x44\x46\x45\x43\x6f\x72','\x68\x43\x6b\x67\x57\x52\x35\x69\x57\x34\x33\x64\x55\x66\x56\x64\x51\x33\x39\x76\x57\x51\x68\x64\x50\x43\x6b\x53','\x57\x50\x2f\x64\x54\x78\x64\x63\x4f\x5a\x44\x6a\x63\x76\x57','\x67\x43\x6b\x43\x57\x37\x4a\x63\x56\x65\x66\x74\x57\x4f\x75','\x43\x6d\x6b\x4a\x43\x57\x48\x47\x57\x34\x68\x63\x56\x61\x61','\x61\x59\x76\x34\x73\x77\x54\x32\x64\x43\x6f\x50','\x79\x76\x52\x64\x52\x49\x75','\x57\x34\x35\x38\x76\x4b\x4b\x52\x73\x6d\x6f\x58\x7a\x71','\x57\x36\x78\x64\x56\x5a\x42\x64\x51\x4a\x4e\x64\x51\x68\x5a\x64\x4a\x47','\x75\x43\x6f\x57\x57\x35\x37\x63\x49\x38\x6f\x6f\x6f\x78\x68\x63\x54\x61','\x67\x67\x35\x56\x57\x34\x7a\x64\x57\x35\x44\x4d\x57\x36\x71','\x57\x52\x54\x68\x64\x78\x52\x63\x49\x6d\x6f\x43\x78\x43\x6b\x46','\x57\x36\x37\x63\x4a\x59\x68\x64\x51\x6d\x6b\x44\x57\x52\x34\x74\x57\x4f\x69','\x57\x52\x42\x63\x50\x67\x74\x64\x53\x32\x4e\x63\x54\x49\x5a\x64\x4b\x6d\x6f\x77\x45\x48\x53\x50\x63\x57','\x73\x53\x6f\x67\x57\x34\x79','\x45\x53\x6b\x51\x61\x74\x61','\x43\x6d\x6b\x52\x43\x57\x62\x36\x57\x35\x56\x64\x55\x71\x75','\x57\x37\x61\x57\x57\x52\x53\x59\x57\x36\x6e\x6e\x57\x34\x2f\x64\x52\x47','\x57\x35\x62\x67\x76\x30\x4b\x52\x76\x6d\x6f\x53\x41\x47','\x62\x6d\x6b\x7a\x57\x36\x79','\x77\x38\x6f\x46\x57\x34\x4f\x78\x57\x4f\x52\x63\x52\x58\x37\x64\x52\x61','\x57\x37\x56\x64\x4d\x53\x6b\x36\x57\x50\x42\x63\x52\x48\x38\x48\x63\x71','\x57\x4f\x35\x75\x73\x47','\x57\x50\x50\x6c\x75\x73\x4e\x63\x55\x53\x6b\x74\x78\x43\x6b\x74','\x57\x52\x56\x64\x51\x68\x74\x63\x53\x5a\x4c\x61\x64\x4b\x53','\x57\x51\x52\x64\x55\x53\x6f\x70\x65\x53\x6b\x51\x57\x36\x50\x44\x57\x36\x69','\x57\x37\x30\x56\x57\x52\x6d\x32\x57\x34\x4c\x46\x57\x34\x46\x64\x51\x61','\x65\x53\x6b\x46\x57\x34\x48\x34','\x6e\x43\x6b\x75\x57\x37\x4e\x63\x50\x4b\x76\x6e\x57\x51\x4b\x54','\x43\x6d\x6b\x38\x68\x71','\x57\x50\x61\x47\x72\x38\x6b\x43\x66\x43\x6b\x76\x57\x35\x39\x6f','\x57\x35\x61\x35\x57\x51\x5a\x64\x49\x43\x6f\x70\x57\x36\x37\x63\x48\x66\x71','\x57\x37\x65\x48\x57\x51\x70\x64\x48\x6d\x6f\x65\x57\x34\x37\x63\x4a\x4b\x75','\x57\x51\x4b\x41\x57\x36\x56\x63\x4e\x6d\x6f\x5a\x67\x38\x6f\x74\x75\x71','\x78\x77\x47\x63\x6c\x30\x42\x63\x48\x64\x6c\x63\x55\x61','\x57\x50\x79\x56\x57\x4f\x57\x78\x6e\x38\x6b\x6e\x70\x43\x6b\x4c','\x57\x51\x74\x63\x54\x6d\x6f\x34\x57\x50\x52\x63\x4e\x48\x54\x50\x69\x71','\x46\x65\x2f\x64\x53\x73\x4e\x63\x50\x78\x57','\x57\x34\x4b\x48\x57\x36\x4b\x4a\x62\x77\x58\x65','\x64\x38\x6b\x6e\x57\x34\x48\x30\x57\x50\x2f\x64\x56\x58\x64\x64\x4a\x61','\x57\x4f\x7a\x7a\x74\x43\x6b\x44\x63\x38\x6b\x4e\x57\x35\x43','\x70\x74\x74\x63\x49\x6d\x6f\x68\x44\x73\x52\x63\x52\x43\x6b\x50\x57\x37\x61\x6b\x73\x53\x6b\x78\x57\x52\x4f','\x61\x38\x6b\x71\x57\x36\x5a\x64\x56\x61\x62\x36\x57\x4f\x34\x56','\x57\x52\x56\x63\x53\x65\x6e\x62\x57\x52\x65\x52\x57\x36\x4f\x67','\x64\x73\x54\x4d\x74\x73\x76\x5a\x62\x38\x6f\x2f','\x57\x35\x75\x64\x46\x72\x34','\x6c\x65\x52\x64\x4b\x71\x69','\x57\x37\x53\x31\x57\x52\x4b\x50\x57\x50\x69\x6c\x57\x37\x37\x64\x54\x71','\x57\x35\x75\x42\x7a\x62\x70\x64\x4d\x53\x6b\x43\x57\x36\x76\x73','\x57\x37\x52\x63\x48\x78\x46\x64\x50\x38\x6b\x6d\x57\x51\x62\x43\x57\x4f\x4f','\x63\x74\x54\x66\x45\x47\x5a\x63\x4e\x33\x64\x63\x56\x66\x65\x57\x73\x38\x6f\x70\x57\x34\x38','\x62\x6d\x6f\x6e\x46\x74\x39\x4e\x69\x4d\x79\x45','\x57\x4f\x4c\x41\x73\x43\x6b\x75','\x6a\x43\x6f\x30\x6b\x31\x4f\x32\x57\x50\x6c\x63\x52\x47\x37\x63\x51\x53\x6f\x45\x63\x63\x38','\x78\x76\x37\x64\x53\x59\x68\x63\x4f\x4d\x4e\x63\x47\x47\x4b','\x42\x53\x6b\x6b\x74\x53\x6f\x71\x7a\x43\x6f\x55\x57\x52\x31\x47','\x45\x43\x6f\x71\x66\x43\x6b\x39\x57\x50\x34\x53\x57\x36\x37\x64\x47\x57','\x67\x6d\x6b\x67\x57\x52\x6a\x6c\x57\x34\x78\x64\x55\x48\x56\x64\x48\x75\x6a\x4f\x57\x50\x5a\x64\x4b\x71','\x6b\x47\x4a\x63\x47\x38\x6b\x4a\x57\x35\x71\x37\x77\x49\x47','\x57\x51\x4b\x63\x57\x51\x52\x63\x52\x53\x6f\x31\x66\x38\x6f\x69','\x77\x77\x35\x55\x57\x50\x65\x61\x57\x35\x6a\x2f\x57\x37\x43','\x57\x35\x69\x6d\x46\x48\x74\x64\x48\x43\x6b\x74\x57\x37\x79\x78','\x77\x43\x6b\x59\x57\x36\x71\x7a\x57\x34\x7a\x53\x57\x34\x5a\x63\x4a\x61','\x57\x51\x4e\x63\x54\x47\x6c\x63\x56\x4a\x2f\x64\x4f\x78\x4e\x64\x4d\x71','\x57\x51\x70\x64\x4f\x38\x6f\x6f\x65\x53\x6f\x42','\x6f\x38\x6f\x57\x57\x52\x65\x72\x57\x34\x39\x5a\x57\x51\x4e\x63\x4d\x78\x4f','\x57\x36\x6c\x64\x4f\x43\x6b\x52\x57\x4f\x68\x63\x49\x48\x4c\x72\x65\x48\x4e\x63\x55\x48\x79','\x57\x34\x35\x78\x72\x65\x65\x58\x68\x43\x6f\x4d\x46\x61','\x57\x52\x47\x57\x57\x51\x38\x50\x57\x34\x4c\x6f\x57\x35\x33\x63\x50\x57','\x61\x6d\x6b\x72\x57\x34\x35\x2b\x57\x50\x74\x64\x48\x30\x70\x64\x4d\x57','\x57\x36\x78\x64\x56\x5a\x33\x63\x4f\x59\x37\x64\x55\x74\x6d','\x57\x51\x74\x63\x4f\x38\x6f\x31\x57\x35\x4b','\x57\x36\x53\x54\x57\x52\x4b\x37\x57\x35\x48\x73\x57\x4f\x70\x64\x54\x61','\x43\x38\x6b\x47\x44\x47\x76\x4e\x57\x35\x4a\x63\x55\x62\x61','\x57\x52\x5a\x63\x56\x53\x6b\x4d\x6c\x43\x6b\x41\x57\x34\x68\x64\x4e\x53\x6f\x72','\x61\x57\x2f\x63\x48\x61','\x57\x50\x39\x4b\x57\x37\x47\x55\x6f\x77\x58\x31\x57\x51\x47','\x57\x51\x64\x64\x4f\x6d\x6f\x70\x66\x6d\x6b\x71\x57\x34\x44\x76\x57\x37\x47','\x57\x50\x6e\x6b\x78\x33\x56\x63\x4b\x38\x6b\x45\x73\x38\x6b\x76','\x6c\x66\x4e\x64\x4a\x61\x4f','\x6b\x53\x6f\x32\x6a\x31\x53\x33\x57\x50\x78\x64\x52\x57\x6c\x63\x4f\x6d\x6f\x2f\x63\x62\x65\x46','\x68\x6d\x6b\x45\x57\x4f\x44\x47\x41\x49\x48\x78\x72\x62\x78\x63\x4d\x64\x4e\x63\x4d\x53\x6f\x6e','\x57\x51\x56\x63\x55\x53\x6b\x49\x6f\x43\x6b\x62\x57\x35\x42\x64\x53\x53\x6b\x44','\x78\x4e\x57\x36\x72\x73\x7a\x32\x6a\x38\x6f\x44\x74\x57','\x78\x6d\x6b\x67\x57\x34\x37\x64\x53\x4a\x56\x64\x54\x4c\x46\x64\x48\x57','\x78\x78\x4f\x39\x67\x78\x39\x46\x6f\x38\x6f\x62\x7a\x53\x6b\x62\x57\x51\x69','\x78\x38\x6f\x4b\x57\x51\x30\x41\x57\x52\x4a\x64\x56\x61\x42\x63\x56\x47','\x41\x4d\x70\x63\x52\x53\x6b\x49\x57\x51\x54\x5a\x57\x51\x47\x44\x57\x37\x6d\x62\x73\x71','\x57\x50\x72\x67\x57\x52\x68\x64\x50\x38\x6f\x56\x6a\x53\x6f\x4f\x57\x34\x4f','\x78\x71\x35\x70\x57\x35\x39\x65\x6f\x53\x6f\x34\x68\x61','\x57\x34\x48\x63\x79\x57\x2f\x64\x4b\x53\x6b\x71\x57\x36\x34\x78','\x57\x34\x38\x64\x7a\x62\x34','\x6c\x32\x78\x64\x47\x53\x6b\x79\x6d\x4d\x5a\x64\x53\x53\x6f\x6e','\x57\x37\x56\x64\x47\x43\x6b\x4e\x57\x4f\x5a\x63\x54\x72\x47\x38\x71\x61','\x6f\x38\x6f\x2b\x57\x52\x66\x62\x57\x50\x43\x4a\x57\x35\x33\x64\x52\x32\x37\x64\x47\x38\x6b\x74\x57\x52\x71\x79\x63\x57','\x57\x52\x30\x59\x57\x37\x75\x4e\x6b\x4e\x44\x55\x57\x51\x69','\x57\x36\x46\x64\x49\x4d\x37\x64\x51\x6d\x6f\x79\x57\x52\x50\x68\x57\x4f\x75','\x45\x31\x6c\x64\x52\x63\x34','\x6e\x57\x37\x64\x52\x49\x52\x63\x52\x4e\x4a\x64\x4d\x58\x71','\x71\x38\x6f\x4d\x57\x35\x6c\x63\x48\x53\x6f\x64\x6f\x4a\x4b','\x57\x34\x54\x51\x57\x4f\x61\x75\x69\x6d\x6b\x58\x6b\x6d\x6b\x79','\x57\x36\x31\x43\x57\x34\x4a\x64\x4d\x73\x37\x64\x48\x33\x68\x64\x4d\x61','\x57\x50\x4f\x61\x57\x50\x78\x64\x56\x53\x6f\x2b\x69\x43\x6f\x49\x57\x4f\x6d','\x6d\x43\x6b\x52\x66\x59\x4f\x6c\x65\x43\x6f\x53\x70\x47','\x57\x52\x68\x63\x56\x53\x6b\x47\x70\x6d\x6b\x6e\x57\x34\x4f','\x43\x6d\x6b\x4e\x45\x71\x7a\x38\x57\x34\x46\x64\x55\x71\x30','\x62\x38\x6b\x6c\x57\x34\x48\x59','\x57\x37\x33\x63\x48\x78\x70\x64\x52\x38\x6b\x6d\x57\x51\x62\x6a\x57\x4f\x65','\x63\x6d\x6b\x5a\x57\x36\x39\x61\x57\x36\x4a\x63\x47\x31\x4e\x64\x4f\x6d\x6f\x35\x57\x52\x33\x63\x4f\x58\x6e\x55\x75\x61','\x79\x43\x6f\x62\x68\x6d\x6f\x56\x45\x6d\x6f\x2b\x57\x37\x72\x52','\x57\x35\x56\x64\x4d\x6d\x6b\x38\x57\x50\x70\x63\x55\x66\x65\x62\x75\x57','\x57\x35\x4b\x2f\x43\x61','\x57\x35\x69\x51\x7a\x49\x69','\x71\x43\x6b\x71\x57\x34\x2f\x64\x51\x5a\x2f\x64\x54\x31\x46\x64\x47\x71','\x57\x37\x33\x63\x56\x65\x72\x62\x57\x34\x53\x33\x57\x35\x30','\x73\x32\x39\x4e\x57\x35\x71','\x6f\x75\x33\x64\x4a\x61\x61','\x7a\x6d\x6f\x62\x76\x43\x6f\x45\x57\x36\x6c\x63\x4e\x43\x6f\x5a\x65\x57'];_0x15a1=function(){return _0xbff9d6;};return _0x15a1();}(function(_0x359c04,_0x429157){const _0x22a13c=_0x7949,_0x46907f=_0x359c04();while(!![]){try{const _0xd23c7e=parseInt(_0x22a13c(0x127,'\x26\x47\x34\x25'))/(0x1c32+0x1414+-0x3045)*(parseInt(_0x22a13c(0xc2,'\x6a\x2a\x4b\x62'))/(0x24ac+-0x2*0x11e1+-0xe8))+parseInt(_0x22a13c(0x100,'\x4a\x53\x21\x6c'))/(0x1d9*0xe+-0x1269+-0x772)*(-parseInt(_0x22a13c(0xdc,'\x61\x70\x70\x53'))/(-0x16a4+-0x72+0x171a))+-parseInt(_0x22a13c(0xed,'\x5b\x62\x44\x46'))/(0x2ad+-0xfd*-0x2+-0x4a2)*(parseInt(_0x22a13c(0xcb,'\x45\x71\x61\x70'))/(-0xd74+-0x934+0x16ae))+parseInt(_0x22a13c(0x12a,'\x53\x52\x6a\x47'))/(-0xbeb+0x2b*-0xe5+-0x1d*-0x1bd)+-parseInt(_0x22a13c(0xda,'\x55\x75\x64\x65'))/(-0x2543+-0x1*0x1f4c+0x4497)+parseInt(_0x22a13c(0x133,'\x5a\x78\x43\x7a'))/(0x1c*0x14e+0x19c3+-0x3e42)+parseInt(_0x22a13c(0xf5,'\x67\x61\x6e\x26'))/(0x15d7*0x1+0x101d+-0x25ea);if(_0xd23c7e===_0x429157)break;else _0x46907f['push'](_0x46907f['shift']());}catch(_0x2df8af){_0x46907f['push'](_0x46907f['shift']());}}}(_0x15a1,0x4b56c+-0x1537*-0xcc+-0xc842a));export const STRATEGY_PRESETS={'\x62\x61\x6c\x61\x6e\x63\x65\x64':{'\x6e\x61\x6d\x65':_0x195714(0x12d,'\x61\x70\x70\x53'),'\x6c\x61\x62\x65\x6c':_0x195714(0x121,'\x39\x58\x52\x4f'),'\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0xfa,'\x73\x57\x5a\x36')+_0x195714(0x113,'\x5b\x34\x2a\x59')+_0x195714(0xc8,'\x46\x76\x6f\x33')+_0x195714(0xe5,'\x53\x52\x6a\x47')+_0x195714(0x12c,'\x56\x66\x34\x41')+_0x195714(0xcf,'\x46\x76\x6f\x33'),'\x72\x65\x70\x61\x69\x72':0.2,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.2,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0.5,'\x65\x78\x70\x6c\x6f\x72\x65':0.1,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0.5},'\x69\x6e\x6e\x6f\x76\x61\x74\x65':{'\x6e\x61\x6d\x65':_0x195714(0x101,'\x28\x71\x53\x23'),'\x6c\x61\x62\x65\x6c':_0x195714(0xfe,'\x51\x58\x48\x54')+_0x195714(0x122,'\x26\x4f\x63\x6c'),'\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0xdd,'\x73\x57\x5a\x36')+_0x195714(0xe3,'\x72\x28\x5d\x5d')+_0x195714(0xe1,'\x56\x73\x75\x31')+_0x195714(0x10d,'\x78\x77\x4a\x73')+_0x195714(0xd3,'\x6c\x5b\x67\x39')+_0x195714(0xc5,'\x6a\x48\x52\x4c')+_0x195714(0xee,'\x78\x52\x34\x66')+'\x2e','\x72\x65\x70\x61\x69\x72':0.05,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.1,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0.8,'\x65\x78\x70\x6c\x6f\x72\x65':0.05,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0.3},'\x68\x61\x72\x64\x65\x6e':{'\x6e\x61\x6d\x65':_0x195714(0xf1,'\x6c\x5b\x67\x39'),'\x6c\x61\x62\x65\x6c':'\x48\x61\x72\x64\x65\x6e\x69\x6e'+'\x67','\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0xc3,'\x79\x5a\x6a\x6f')+_0x195714(0x109,'\x46\x76\x6f\x33')+_0x195714(0x118,'\x50\x7a\x24\x4e')+_0x195714(0xe9,'\x78\x77\x4a\x73')+_0x195714(0x111,'\x23\x64\x64\x74')+_0x195714(0xd7,'\x50\x7a\x24\x4e')+'\x74\x6e\x65\x73\x73\x2e','\x72\x65\x70\x61\x69\x72':0.4,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.35,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0.2,'\x65\x78\x70\x6c\x6f\x72\x65':0.05,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0.7},'\x72\x65\x70\x61\x69\x72\x2d\x6f\x6e\x6c\x79':{'\x6e\x61\x6d\x65':_0x195714(0x134,'\x56\x70\x52\x5a')+_0x195714(0x10f,'\x55\x75\x64\x65'),'\x6c\x61\x62\x65\x6c':_0x195714(0x137,'\x4a\x6d\x47\x5e')+_0x195714(0x114,'\x52\x4d\x62\x33'),'\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0x103,'\x73\x78\x46\x44')+_0x195714(0xf6,'\x79\x70\x42\x47')+_0x195714(0x138,'\x79\x70\x42\x47')+_0x195714(0xd5,'\x26\x47\x34\x25')+_0x195714(0xf0,'\x6b\x23\x79\x2a')+_0x195714(0x131,'\x72\x28\x5d\x5d')+_0x195714(0xc9,'\x75\x37\x23\x29'),'\x72\x65\x70\x61\x69\x72':0.8,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.18,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0x0,'\x65\x78\x70\x6c\x6f\x72\x65':0.02,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0x1},'\x65\x61\x72\x6c\x79\x2d\x73\x74\x61\x62\x69\x6c\x69\x7a\x65':{'\x6e\x61\x6d\x65':_0x195714(0x123,'\x5a\x78\x43\x7a')+_0x195714(0x129,'\x4a\x53\x21\x6c'),'\x6c\x61\x62\x65\x6c':_0x195714(0xf7,'\x39\x21\x4b\x49')+_0x195714(0xd2,'\x23\x64\x64\x74')+_0x195714(0x117,'\x4a\x53\x21\x6c'),'\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0x10c,'\x50\x7a\x24\x4e')+_0x195714(0x130,'\x4d\x23\x48\x39')+_0x195714(0xf4,'\x78\x77\x4a\x73')+_0x195714(0xef,'\x56\x73\x75\x31')+_0x195714(0xe6,'\x39\x21\x4b\x49')+_0x195714(0xcd,'\x4d\x23\x48\x39')+_0x195714(0xf2,'\x23\x64\x64\x74')+'\x6e\x6e\x6f\x76\x61\x74\x69\x6e'+'\x67\x2e','\x72\x65\x70\x61\x69\x72':0.6,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.22,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0.15,'\x65\x78\x70\x6c\x6f\x72\x65':0.03,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0.8},'\x73\x74\x65\x61\x64\x79\x2d\x73\x74\x61\x74\x65':{'\x6e\x61\x6d\x65':_0x195714(0xd1,'\x4d\x23\x48\x39')+_0x195714(0xe4,'\x72\x28\x5d\x5d'),'\x6c\x61\x62\x65\x6c':_0x195714(0xc7,'\x56\x63\x69\x66')+_0x195714(0x11c,'\x67\x4f\x67\x4a'),'\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e':_0x195714(0xe8,'\x26\x47\x34\x25')+_0x195714(0xff,'\x4d\x23\x48\x39')+_0x195714(0x125,'\x45\x71\x61\x70')+_0x195714(0xcc,'\x5b\x34\x2a\x59')+_0x195714(0x128,'\x67\x4f\x67\x4a')+_0x195714(0x119,'\x73\x78\x46\x44')+_0x195714(0x12b,'\x52\x4d\x62\x33')+_0x195714(0x106,'\x61\x70\x70\x53')+_0x195714(0x10b,'\x6a\x48\x52\x4c')+_0x195714(0x116,'\x39\x21\x4b\x49'),'\x72\x65\x70\x61\x69\x72':0.55,'\x6f\x70\x74\x69\x6d\x69\x7a\x65':0.25,'\x69\x6e\x6e\x6f\x76\x61\x74\x65':0.05,'\x65\x78\x70\x6c\x6f\x72\x65':0.15,'\x72\x65\x70\x61\x69\x72\x4c\x6f\x6f\x70\x54\x68\x72\x65\x73\x68\x6f\x6c\x64':0.9}};function _0x7949(_0x4b8e2c,_0x361be7){_0x4b8e2c=_0x4b8e2c-(0x2696+0x13f8+0x1*-0x39cd);const _0x521a47=_0x15a1();let _0x483220=_0x521a47[_0x4b8e2c];if(_0x7949['\x43\x48\x64\x6a\x68\x41']===undefined){var _0x121d44=function(_0xff4a77){const _0x357c93='\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 _0x23ff29='',_0x1b4aa1='';for(let _0x4f425c=-0x1d*-0xf5+-0x888+-0x1339,_0x19381c,_0x5130a3,_0x508d51=-0x1*0x1e0e+0x1*-0x1ecf+0x3cdd;_0x5130a3=_0xff4a77['\x63\x68\x61\x72\x41\x74'](_0x508d51++);~_0x5130a3&&(_0x19381c=_0x4f425c%(-0x1105+-0x2*-0xd54+0x1*-0x99f)?_0x19381c*(0x1*0x56d+0x239b+0x2d*-0xe8)+_0x5130a3:_0x5130a3,_0x4f425c++%(0x2710+0x1*-0x1c1d+-0x137*0x9))?_0x23ff29+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x109b+-0x8*0x3eb+0x30f2&_0x19381c>>(-(0xb*0x3+-0x11e7*-0x1+0x1206*-0x1)*_0x4f425c&0x2*0x46e+-0x1a07*-0x1+-0x55*0x69)):0xc3+-0x18*-0xed+-0x16fb){_0x5130a3=_0x357c93['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5130a3);}for(let _0x2eefef=0xc*-0xd7+0x2125*-0x1+0x8a5*0x5,_0x14abce=_0x23ff29['\x6c\x65\x6e\x67\x74\x68'];_0x2eefef<_0x14abce;_0x2eefef++){_0x1b4aa1+='\x25'+('\x30\x30'+_0x23ff29['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2eefef)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x86d*-0x1+0xe2f+-0x5b2))['\x73\x6c\x69\x63\x65'](-(-0xcc7*-0x2+0x1a8e*-0x1+0x3*0x56));}return decodeURIComponent(_0x1b4aa1);};const _0x40b4a8=function(_0x140dde,_0x2f25a6){let _0x16ce4f=[],_0x479c67=0x37e+0x134*-0x1+-0x24a*0x1,_0xe6e97a,_0x32f48c='';_0x140dde=_0x121d44(_0x140dde);let _0x3219a5;for(_0x3219a5=-0x45f*-0x3+-0xb77+0x2*-0xd3;_0x3219a5<-0xae9*0x3+0x1ed*-0x1+0x23a8*0x1;_0x3219a5++){_0x16ce4f[_0x3219a5]=_0x3219a5;}for(_0x3219a5=0x1f99+0xb58+-0x2af1;_0x3219a5<-0x13e3+-0x45b+0x193e;_0x3219a5++){_0x479c67=(_0x479c67+_0x16ce4f[_0x3219a5]+_0x2f25a6['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3219a5%_0x2f25a6['\x6c\x65\x6e\x67\x74\x68']))%(-0x1*-0x263d+-0x11de+-0x135f),_0xe6e97a=_0x16ce4f[_0x3219a5],_0x16ce4f[_0x3219a5]=_0x16ce4f[_0x479c67],_0x16ce4f[_0x479c67]=_0xe6e97a;}_0x3219a5=-0x13d0+-0x34b*-0x5+0x1*0x359,_0x479c67=-0x1455+-0x1946+0x2d9b;for(let _0x23e110=0x6d9+0x82c+-0xf05;_0x23e110<_0x140dde['\x6c\x65\x6e\x67\x74\x68'];_0x23e110++){_0x3219a5=(_0x3219a5+(-0x201f+0x2fe*-0xc+0x4408*0x1))%(0x4*0x642+0x2b*0x4+-0x18b4),_0x479c67=(_0x479c67+_0x16ce4f[_0x3219a5])%(0x26c4+0x220a+0x5b*-0xca),_0xe6e97a=_0x16ce4f[_0x3219a5],_0x16ce4f[_0x3219a5]=_0x16ce4f[_0x479c67],_0x16ce4f[_0x479c67]=_0xe6e97a,_0x32f48c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x140dde['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x23e110)^_0x16ce4f[(_0x16ce4f[_0x3219a5]+_0x16ce4f[_0x479c67])%(0x1706+-0x10aa+0x2ae*-0x2)]);}return _0x32f48c;};_0x7949['\x4c\x65\x41\x56\x4c\x4c']=_0x40b4a8,_0x7949['\x76\x66\x46\x72\x78\x58']={},_0x7949['\x43\x48\x64\x6a\x68\x41']=!![];}const _0x1657f3=_0x521a47[0x6b9+-0x1*-0x605+-0xcbe],_0xc94236=_0x4b8e2c+_0x1657f3,_0x5c730e=_0x7949['\x76\x66\x46\x72\x78\x58'][_0xc94236];return!_0x5c730e?(_0x7949['\x43\x4a\x44\x41\x54\x45']===undefined&&(_0x7949['\x43\x4a\x44\x41\x54\x45']=!![]),_0x483220=_0x7949['\x4c\x65\x41\x56\x4c\x4c'](_0x483220,_0x361be7),_0x7949['\x76\x66\x46\x72\x78\x58'][_0xc94236]=_0x483220):_0x483220=_0x5c730e,_0x483220;}export function strategyNames(){const _0x3072f4=_0x195714;return Object[_0x3072f4(0x110,'\x6b\x23\x79\x2a')](STRATEGY_PRESETS);}const SATURATION_SIGNALS=new Set([_0x195714(0xce,'\x67\x4f\x67\x4a')+'\x65\x61\x64\x79\x5f\x73\x74\x61'+'\x74\x65',_0x195714(0x11b,'\x4d\x23\x48\x39')+_0x195714(0x108,'\x5b\x34\x2a\x59')+_0x195714(0xea,'\x4a\x6d\x47\x5e')]),INNOVATE_PIVOT_SIGNALS=new Set([_0x195714(0xdb,'\x6c\x5b\x67\x39')+_0x195714(0xe2,'\x31\x56\x61\x57')+_0x195714(0xf9,'\x4b\x50\x65\x46'),_0x195714(0xd6,'\x75\x37\x23\x29')+_0x195714(0x132,'\x78\x77\x4a\x73')+_0x195714(0x11d,'\x52\x4d\x62\x33')+_0x195714(0x124,'\x5b\x62\x44\x46')+'\x6f\x70',_0x195714(0x112,'\x4d\x23\x48\x39')+_0x195714(0x11a,'\x75\x37\x23\x29')+'\x69\x6f']);export function resolveStrategy(_0x51a81e={}){const _0x748198=_0x195714,_0x5eb84d=typeof _0x51a81e[_0x748198(0x135,'\x4a\x53\x21\x6c')]===_0x748198(0x126,'\x4a\x6d\x47\x5e')&&_0x51a81e[_0x748198(0x12e,'\x72\x28\x5d\x5d')][_0x748198(0xd0,'\x45\x71\x61\x70')]()!=='';let _0x349e87=(_0x5eb84d?_0x51a81e[_0x748198(0x107,'\x4a\x6d\x47\x5e')]:'\x62\x61\x6c\x61\x6e\x63\x65\x64')[_0x748198(0x115,'\x6a\x2a\x4b\x62')+_0x748198(0x11e,'\x6b\x23\x79\x2a')]()[_0x748198(0x12f,'\x40\x7a\x67\x25')](),_0x7a5c90=![];!_0x5eb84d&&_0x51a81e[_0x748198(0xdf,'\x67\x61\x6e\x26')+_0x748198(0xc4,'\x26\x4f\x63\x6c')]&&(_0x349e87=_0x748198(0xc6,'\x72\x28\x5d\x5d'),_0x7a5c90=!![]);const _0x3fb13c=!_0x5eb84d||_0x349e87===_0x748198(0x105,'\x23\x64\x64\x74')||_0x349e87===_0x748198(0xfd,'\x40\x7a\x67\x25');if(_0x3fb13c&&!_0x7a5c90){const _0x21b22b=_0x51a81e[_0x748198(0x104,'\x52\x4d\x62\x33')]??[],_0x411b8a=_0x51a81e[_0x748198(0x120,'\x39\x58\x52\x4f')+'\x6e\x74']??0x9d*0x35+0x26fb+0x23be*-0x2;if(_0x411b8a>0x2065+-0xd8b*0x2+-0x97*0x9&&_0x411b8a<=0x13*0x17d+-0x1*-0x250c+-0x414e)_0x349e87='\x65\x61\x72\x6c\x79\x2d\x73\x74'+_0x748198(0xec,'\x40\x41\x4e\x62');if(_0x21b22b[_0x748198(0xfc,'\x6a\x48\x52\x4c')](_0xb76181=>INNOVATE_PIVOT_SIGNALS[_0x748198(0xd4,'\x79\x5a\x6a\x6f')](_0xb76181)))_0x349e87=_0x748198(0xc6,'\x72\x28\x5d\x5d');if(_0x21b22b['\x73\x6f\x6d\x65'](_0x133941=>SATURATION_SIGNALS[_0x748198(0xf8,'\x4b\x50\x65\x46')](_0x133941)))_0x349e87=_0x748198(0x10a,'\x40\x41\x4e\x62')+_0x748198(0xd8,'\x40\x7a\x67\x25');}if(_0x349e87===_0x748198(0xf3,'\x67\x4f\x67\x4a'))_0x349e87=_0x748198(0xc1,'\x59\x75\x76\x7a');return STRATEGY_PRESETS[_0x349e87]??STRATEGY_PRESETS[_0x748198(0x11f,'\x29\x69\x2a\x44')];}
|
package/dist/algo/ucb1.js
CHANGED
|
@@ -1,156 +1 @@
|
|
|
1
|
-
export const SELECTION_POLICIES = ['engine-health', 'ucb1-shadow', 'ucb1'];
|
|
2
|
-
export const UCB1_SELECTION_POLICY_VERSION = 'ucb1-v1';
|
|
3
|
-
export const UCB1_REWARD_POLICY_VERSION = 'productive-binary-v1';
|
|
4
|
-
function nonEmptyString(value) {
|
|
5
|
-
if (typeof value !== 'string')
|
|
6
|
-
return undefined;
|
|
7
|
-
const normalized = value.trim();
|
|
8
|
-
return normalized.length > 0 ? normalized : undefined;
|
|
9
|
-
}
|
|
10
|
-
function decisionProjection(event) {
|
|
11
|
-
if (event.type !== 'decision.gene_selected')
|
|
12
|
-
return undefined;
|
|
13
|
-
const payload = event.payload;
|
|
14
|
-
const cycleId = nonEmptyString(payload['cycleId']);
|
|
15
|
-
const geneId = nonEmptyString(payload['selectedGeneId']);
|
|
16
|
-
if (!cycleId)
|
|
17
|
-
return undefined;
|
|
18
|
-
if (!geneId || geneId === 'ad-hoc')
|
|
19
|
-
return { cycleId, decision: null };
|
|
20
|
-
return {
|
|
21
|
-
cycleId,
|
|
22
|
-
decision: { armId: nonEmptyString(payload['selectedAssetId']) ?? geneId },
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
function terminalReward(event) {
|
|
26
|
-
if (event.type !== 'cycle.failed' && event.type !== 'cycle.solidified')
|
|
27
|
-
return null;
|
|
28
|
-
const payload = event.payload;
|
|
29
|
-
const cycleId = nonEmptyString(payload['cycleId']);
|
|
30
|
-
if (!cycleId)
|
|
31
|
-
return null;
|
|
32
|
-
if (event.type === 'cycle.failed' || payload['producedValue'] === false)
|
|
33
|
-
return { cycleId, reward: 0 };
|
|
34
|
-
// Legacy solidified events predate producedValue. Preserve the existing confidence replay compatibility policy.
|
|
35
|
-
return { cycleId, reward: 1 };
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Rebuild UCB1 state from the append-only root event log. Decisions are pulls immediately, so later readers no
|
|
39
|
-
* longer treat an in-flight arm as cold. The read-select-append sequence is not an atomic reservation across
|
|
40
|
-
* workers. A terminal event adds reward exactly once per cycle; duplicate rows collapse to their latest projection.
|
|
41
|
-
*/
|
|
42
|
-
export function deriveUcb1History(events) {
|
|
43
|
-
const cycles = new Map();
|
|
44
|
-
for (const event of events) {
|
|
45
|
-
const decision = decisionProjection(event);
|
|
46
|
-
// A restarted/re-emitted decision for the same cycleId begins a new pending lifecycle. Never let a terminal
|
|
47
|
-
// from the earlier lifecycle leak reward into this newer arm.
|
|
48
|
-
if (decision) {
|
|
49
|
-
if (decision.decision)
|
|
50
|
-
cycles.set(decision.cycleId, { decision: decision.decision });
|
|
51
|
-
else
|
|
52
|
-
cycles.delete(decision.cycleId);
|
|
53
|
-
}
|
|
54
|
-
const terminal = terminalReward(event);
|
|
55
|
-
if (terminal) {
|
|
56
|
-
const cycle = cycles.get(terminal.cycleId);
|
|
57
|
-
if (cycle)
|
|
58
|
-
cycle.reward = terminal.reward;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const mutable = new Map();
|
|
62
|
-
for (const cycle of cycles.values()) {
|
|
63
|
-
const current = mutable.get(cycle.decision.armId) ?? { pulls: 0, completedPulls: 0, rewardSum: 0 };
|
|
64
|
-
current.pulls += 1;
|
|
65
|
-
if (cycle.reward !== undefined) {
|
|
66
|
-
current.completedPulls += 1;
|
|
67
|
-
current.rewardSum += cycle.reward;
|
|
68
|
-
}
|
|
69
|
-
mutable.set(cycle.decision.armId, current);
|
|
70
|
-
}
|
|
71
|
-
const arms = new Map();
|
|
72
|
-
for (const [armId, stats] of mutable) {
|
|
73
|
-
arms.set(armId, {
|
|
74
|
-
armId,
|
|
75
|
-
...stats,
|
|
76
|
-
meanReward: stats.completedPulls > 0 ? stats.rewardSum / stats.completedPulls : 0,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return { arms, totalPulls: cycles.size };
|
|
80
|
-
}
|
|
81
|
-
function emptyStats(armId) {
|
|
82
|
-
return { armId, pulls: 0, completedPulls: 0, rewardSum: 0, meanReward: 0 };
|
|
83
|
-
}
|
|
84
|
-
/** Combine current asset identity with legacy gene-only history when that bridge is unambiguous. */
|
|
85
|
-
export function ucb1StatsForCandidate(history, geneId, assetId, includeLegacyGeneHistory = true) {
|
|
86
|
-
const armId = assetId ?? geneId;
|
|
87
|
-
const identities = assetId === undefined
|
|
88
|
-
? [geneId]
|
|
89
|
-
: [...new Set([assetId, ...(includeLegacyGeneHistory ? [geneId] : [])])];
|
|
90
|
-
const matches = identities.map((identity) => history.arms.get(identity)).filter((stats) => stats !== undefined);
|
|
91
|
-
if (matches.length === 0)
|
|
92
|
-
return emptyStats(armId);
|
|
93
|
-
const pulls = matches.reduce((sum, stats) => sum + stats.pulls, 0);
|
|
94
|
-
const completedPulls = matches.reduce((sum, stats) => sum + stats.completedPulls, 0);
|
|
95
|
-
const rewardSum = matches.reduce((sum, stats) => sum + stats.rewardSum, 0);
|
|
96
|
-
return {
|
|
97
|
-
armId,
|
|
98
|
-
pulls,
|
|
99
|
-
completedPulls,
|
|
100
|
-
rewardSum,
|
|
101
|
-
meanReward: completedPulls > 0 ? rewardSum / completedPulls : 0,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
function finiteBaseScore(value) {
|
|
105
|
-
return Number.isFinite(value) ? value : Number.NEGATIVE_INFINITY;
|
|
106
|
-
}
|
|
107
|
-
function finiteCount(value) {
|
|
108
|
-
return Number.isFinite(value) ? Math.min(Number.MAX_SAFE_INTEGER, Math.floor(Math.max(0, value))) : 0;
|
|
109
|
-
}
|
|
110
|
-
function finiteMeanReward(value) {
|
|
111
|
-
return Number.isFinite(value) ? Math.max(0, Math.min(1, value)) : 0;
|
|
112
|
-
}
|
|
113
|
-
function saturatingCountSum(total, value) {
|
|
114
|
-
const count = finiteCount(value);
|
|
115
|
-
return total >= Number.MAX_SAFE_INTEGER - count ? Number.MAX_SAFE_INTEGER : total + count;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Canonical UCB1: mean reward + sqrt(2 ln(total pulls) / arm pulls). Cold arms have +Infinity and are ordered
|
|
119
|
-
* deterministically by base score then arm identity. The caller supplies only the already-gated exploration window.
|
|
120
|
-
*/
|
|
121
|
-
export function chooseUcb1Arm(arms, historyTotalPulls) {
|
|
122
|
-
if (arms.length === 0)
|
|
123
|
-
return { choice: null, fallbackReason: 'empty_pool' };
|
|
124
|
-
if (arms.some((arm) => !arm.explorationEligible))
|
|
125
|
-
return { choice: null, fallbackReason: 'ineligible_arm' };
|
|
126
|
-
const totalPulls = Math.max(1, finiteCount(historyTotalPulls), arms.reduce((sum, arm) => saturatingCountSum(sum, arm.stats.pulls), 0));
|
|
127
|
-
const ranked = arms.map((arm) => {
|
|
128
|
-
const pulls = finiteCount(arm.stats.pulls);
|
|
129
|
-
const meanReward = finiteMeanReward(arm.stats.meanReward);
|
|
130
|
-
const coldStart = pulls === 0;
|
|
131
|
-
const bonus = coldStart ? null : Math.sqrt((2 * Math.log(totalPulls)) / pulls);
|
|
132
|
-
const index = coldStart ? null : meanReward + bonus;
|
|
133
|
-
return { arm, pulls, meanReward, coldStart, bonus, index };
|
|
134
|
-
}).sort((left, right) => {
|
|
135
|
-
if (left.coldStart !== right.coldStart)
|
|
136
|
-
return left.coldStart ? -1 : 1;
|
|
137
|
-
if (left.index !== null && right.index !== null && left.index !== right.index)
|
|
138
|
-
return right.index - left.index;
|
|
139
|
-
const leftScore = finiteBaseScore(left.arm.baseScore);
|
|
140
|
-
const rightScore = finiteBaseScore(right.arm.baseScore);
|
|
141
|
-
return rightScore !== leftScore ? rightScore - leftScore : left.arm.armId.localeCompare(right.arm.armId);
|
|
142
|
-
});
|
|
143
|
-
const winner = ranked[0];
|
|
144
|
-
return {
|
|
145
|
-
choice: {
|
|
146
|
-
armId: winner.arm.armId,
|
|
147
|
-
pulls: winner.pulls,
|
|
148
|
-
completedPulls: finiteCount(winner.arm.stats.completedPulls),
|
|
149
|
-
totalPulls,
|
|
150
|
-
meanReward: winner.meanReward,
|
|
151
|
-
bonus: winner.bonus,
|
|
152
|
-
index: winner.index,
|
|
153
|
-
coldStart: winner.coldStart,
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
}
|
|
1
|
+
const _0x1e8dc0=_0x2e4a;(function(_0x2ab15b,_0x1b0fe8){const _0x1f26c8=_0x2e4a,_0x4d8dde=_0x2ab15b();while(!![]){try{const _0xd92fec=parseInt(_0x1f26c8(0x21f,'\x32\x53\x49\x74'))/(0x14e1+-0xf87+-0x559)*(parseInt(_0x1f26c8(0x234,'\x59\x37\x69\x21'))/(-0x1c*-0x6a+0xe5*-0x1f+0x1025*0x1))+parseInt(_0x1f26c8(0x22e,'\x48\x51\x35\x35'))/(-0x220e*-0x1+0x22a5+-0x44b0)+parseInt(_0x1f26c8(0x1d9,'\x46\x6b\x75\x50'))/(0xc44+-0x2234+-0x232*-0xa)*(parseInt(_0x1f26c8(0x1f2,'\x4b\x34\x55\x68'))/(-0x1c*0xd8+-0x13*-0x47+-0x930*-0x2))+-parseInt(_0x1f26c8(0x1f0,'\x5b\x34\x31\x55'))/(-0x14d*0x1+0xc3a+-0xae7)+parseInt(_0x1f26c8(0x1d0,'\x65\x75\x6c\x36'))/(-0x2*-0xa93+0x1*0x1e95+-0x19da*0x2)*(parseInt(_0x1f26c8(0x1c9,'\x58\x37\x4c\x52'))/(0x1e*0x4b+0x1983+0x11b*-0x1f))+-parseInt(_0x1f26c8(0x214,'\x46\x6b\x75\x50'))/(-0x14f5+0x7*-0x469+-0x11*-0x30d)*(-parseInt(_0x1f26c8(0x215,'\x42\x32\x74\x35'))/(0x237d+-0x4c4*-0x5+-0x3b47))+-parseInt(_0x1f26c8(0x1e5,'\x5b\x34\x31\x55'))/(0x1*0x212e+-0x2*0xb21+-0xae1);if(_0xd92fec===_0x1b0fe8)break;else _0x4d8dde['push'](_0x4d8dde['shift']());}catch(_0x334c62){_0x4d8dde['push'](_0x4d8dde['shift']());}}}(_0x3afd,-0x25*0x425c+0x84fe8+0xa7cd3));function _0x3afd(){const _0x2bc812=['\x57\x37\x6c\x63\x4f\x75\x78\x64\x4c\x33\x65\x6d\x57\x51\x53','\x57\x51\x4a\x64\x49\x4d\x66\x70\x72\x49\x4e\x63\x49\x31\x30','\x63\x4e\x57\x55\x57\x50\x79','\x63\x53\x6b\x7a\x57\x52\x44\x6f\x57\x52\x75\x54','\x70\x58\x44\x74\x72\x66\x38','\x57\x35\x75\x63\x78\x71\x56\x64\x48\x57','\x75\x43\x6b\x4d\x68\x74\x42\x63\x48\x4b\x79','\x65\x43\x6b\x35\x57\x50\x78\x64\x52\x71','\x57\x4f\x39\x33\x57\x37\x64\x64\x52\x43\x6b\x69\x75\x65\x30\x75','\x57\x35\x74\x64\x4c\x4e\x35\x33\x57\x4f\x4b','\x57\x37\x54\x69\x57\x50\x65\x5a\x74\x38\x6b\x61','\x64\x6d\x6b\x6a\x73\x47\x58\x73','\x79\x4e\x7a\x4c','\x57\x35\x2f\x64\x56\x76\x74\x64\x53\x6d\x6f\x48\x69\x38\x6f\x41\x57\x51\x34','\x57\x51\x2f\x64\x51\x6d\x6f\x61','\x57\x37\x74\x64\x52\x77\x65','\x63\x6d\x6b\x64\x57\x35\x34\x59\x57\x4f\x4b','\x77\x53\x6f\x39\x57\x37\x6d\x42\x57\x36\x30\x53\x57\x34\x70\x64\x54\x75\x6c\x63\x47\x63\x43','\x62\x43\x6b\x75\x57\x35\x30\x43\x57\x50\x4c\x54','\x57\x52\x78\x63\x47\x47\x33\x63\x56\x71','\x57\x4f\x5a\x64\x49\x4e\x58\x50\x46\x77\x58\x58\x57\x51\x30','\x57\x52\x50\x35\x57\x37\x68\x64\x51\x6d\x6b\x62','\x57\x50\x4b\x38\x70\x47','\x57\x4f\x78\x64\x4a\x76\x74\x64\x4d\x71','\x46\x33\x39\x55\x64\x6d\x6f\x73\x6a\x30\x58\x33','\x75\x38\x6f\x5a\x57\x34\x44\x56','\x57\x51\x35\x72\x66\x32\x4e\x63\x4b\x75\x34\x2b\x57\x37\x61','\x63\x77\x44\x65\x57\x35\x74\x63\x47\x6d\x6b\x48\x76\x74\x57','\x68\x64\x66\x70\x45\x68\x4b','\x66\x53\x6b\x4c\x57\x50\x65','\x71\x53\x6f\x5a\x57\x34\x76\x34\x73\x47\x69\x55\x71\x61','\x62\x61\x33\x63\x49\x47','\x57\x4f\x76\x32\x57\x37\x4e\x64\x55\x6d\x6b\x43','\x57\x35\x4e\x63\x49\x43\x6b\x75\x57\x35\x35\x55\x77\x38\x6b\x72\x73\x71','\x57\x34\x64\x64\x4a\x67\x50\x49\x73\x31\x62\x54\x57\x52\x4f','\x57\x34\x47\x42\x57\x36\x74\x64\x47\x38\x6f\x79','\x65\x62\x5a\x63\x4e\x38\x6b\x6a\x57\x52\x75','\x57\x4f\x2f\x64\x48\x53\x6b\x52\x57\x51\x52\x64\x54\x47','\x62\x43\x6b\x75\x57\x37\x6e\x76\x57\x35\x57','\x57\x35\x74\x63\x54\x30\x69','\x42\x67\x48\x30','\x57\x50\x5a\x64\x4b\x43\x6b\x58\x57\x4f\x6c\x64\x4f\x6d\x6b\x41','\x57\x35\x79\x78\x72\x72\x70\x64\x4d\x38\x6f\x6c\x43\x57','\x57\x37\x37\x63\x47\x64\x72\x71\x41\x78\x70\x63\x52\x4e\x64\x63\x4e\x61','\x57\x51\x64\x63\x4e\x31\x64\x63\x53\x6d\x6b\x6f\x57\x34\x75','\x57\x37\x39\x6e\x57\x50\x47','\x6f\x53\x6b\x73\x67\x6d\x6f\x35\x57\x36\x62\x4d\x75\x6d\x6b\x34','\x69\x6d\x6b\x6d\x57\x4f\x76\x4a\x57\x4f\x30\x78\x57\x36\x5a\x64\x4f\x47','\x66\x58\x68\x63\x4a\x53\x6b\x79','\x63\x53\x6b\x69\x57\x35\x61\x78\x57\x4f\x47\x52\x61\x53\x6b\x33','\x57\x36\x7a\x63\x62\x38\x6b\x31\x57\x51\x56\x63\x4e\x43\x6f\x69\x57\x35\x56\x63\x56\x38\x6b\x50\x44\x61','\x57\x37\x4a\x64\x49\x33\x72\x63\x46\x71','\x6b\x38\x6b\x47\x57\x4f\x62\x41\x57\x34\x4e\x63\x50\x71','\x57\x34\x56\x64\x47\x33\x31\x49\x79\x61','\x6f\x6d\x6b\x6a\x57\x36\x61\x49\x57\x4f\x69','\x61\x5a\x61\x48\x57\x34\x54\x31\x57\x37\x65\x4f','\x57\x4f\x35\x7a\x57\x34\x33\x64\x4e\x38\x6b\x59\x67\x61\x76\x62','\x61\x38\x6b\x64\x57\x37\x61\x71\x57\x4f\x6c\x64\x4c\x38\x6f\x5a','\x73\x43\x6b\x6e\x65\x71\x74\x63\x4e\x61','\x6a\x43\x6f\x2f\x73\x6d\x6f\x74\x57\x34\x37\x63\x4a\x47\x31\x52\x57\x36\x74\x64\x4d\x64\x46\x63\x52\x71','\x72\x74\x78\x64\x4e\x6d\x6f\x36\x43\x43\x6b\x6e','\x75\x43\x6b\x4d\x65\x63\x78\x63\x4c\x30\x4f','\x57\x36\x42\x64\x51\x32\x31\x6b\x57\x51\x38','\x62\x6d\x6b\x79\x57\x35\x30','\x57\x4f\x5a\x64\x55\x31\x53','\x6d\x43\x6b\x61\x57\x4f\x58\x4b\x57\x50\x61\x71\x57\x37\x70\x64\x53\x57','\x57\x50\x74\x64\x4a\x53\x6f\x35\x64\x38\x6f\x64\x69\x76\x46\x64\x4f\x61','\x66\x43\x6b\x70\x57\x37\x35\x66\x57\x37\x5a\x64\x4c\x43\x6b\x4a\x57\x36\x69','\x57\x34\x38\x42\x57\x34\x4e\x64\x56\x53\x6b\x73\x65\x61\x39\x64','\x45\x75\x6c\x64\x55\x38\x6f\x6a\x6f\x4c\x54\x39\x57\x35\x47','\x57\x35\x68\x64\x53\x32\x37\x63\x54\x47\x4e\x64\x52\x43\x6f\x57','\x57\x51\x70\x63\x49\x74\x37\x63\x4c\x53\x6b\x61\x75\x43\x6b\x4c\x57\x35\x70\x64\x50\x53\x6f\x55\x57\x52\x56\x63\x4e\x4b\x71\x34','\x74\x43\x6b\x32\x68\x5a\x33\x63\x47\x71','\x57\x52\x4b\x42\x57\x35\x68\x64\x49\x43\x6f\x56\x76\x68\x34\x6a','\x57\x52\x31\x47\x57\x34\x37\x64\x48\x6d\x6b\x6c','\x57\x52\x46\x64\x4d\x53\x6b\x75\x57\x51\x4e\x64\x4e\x57','\x6b\x49\x56\x64\x4a\x43\x6f\x66\x79\x49\x66\x64','\x57\x4f\x78\x64\x48\x30\x52\x64\x49\x6d\x6b\x54\x57\x36\x79\x72\x44\x57','\x74\x6d\x6b\x66\x6e\x38\x6b\x31\x57\x52\x56\x64\x53\x74\x54\x54','\x43\x75\x4a\x64\x56\x57','\x70\x63\x68\x63\x53\x6d\x6b\x50\x57\x4f\x70\x64\x53\x68\x56\x64\x54\x47','\x72\x77\x6a\x50\x57\x50\x75\x51\x57\x51\x47\x2f\x57\x52\x78\x64\x48\x38\x6b\x66\x57\x35\x64\x63\x4a\x71','\x57\x51\x42\x63\x4a\x5a\x37\x63\x4e\x43\x6b\x68\x77\x53\x6b\x53\x57\x51\x2f\x64\x49\x43\x6f\x47\x57\x50\x74\x63\x4f\x33\x53','\x57\x35\x50\x56\x73\x67\x4f\x73\x57\x51\x4b','\x57\x52\x58\x44\x46\x38\x6f\x6d\x73\x6d\x6f\x30\x57\x51\x4c\x39','\x57\x35\x68\x63\x53\x30\x78\x64\x4c\x31\x79\x4d\x57\x51\x64\x64\x4d\x71','\x68\x43\x6b\x34\x57\x52\x62\x77','\x79\x33\x35\x35\x75\x43\x6f\x58\x57\x37\x33\x64\x4b\x77\x4b','\x65\x38\x6b\x62\x57\x37\x35\x76\x57\x34\x43','\x57\x37\x75\x56\x57\x35\x64\x64\x53\x6d\x6f\x34\x57\x50\x6e\x6c\x57\x36\x34','\x61\x6d\x6b\x46\x78\x47\x76\x66\x57\x37\x7a\x59\x75\x71','\x6a\x53\x6f\x77\x45\x61\x6e\x4e\x57\x36\x30','\x71\x74\x78\x63\x4c\x43\x6f\x54\x45\x38\x6b\x67\x57\x50\x44\x39','\x64\x43\x6b\x4d\x57\x51\x35\x67\x57\x4f\x4f\x51\x57\x35\x56\x64\x4c\x71','\x57\x37\x33\x64\x50\x66\x44\x74\x78\x78\x72\x68\x57\x50\x4f','\x57\x37\x68\x64\x4b\x32\x64\x64\x49\x38\x6f\x48\x66\x53\x6f\x39\x57\x50\x4b','\x57\x4f\x53\x36\x6d\x53\x6f\x51\x57\x4f\x57','\x57\x50\x71\x4e\x6e\x38\x6f\x33\x57\x50\x4e\x64\x4d\x74\x43\x77','\x57\x36\x42\x64\x48\x78\x5a\x64\x49\x47','\x57\x52\x66\x72\x61\x77\x42\x63\x53\x75\x38\x41\x57\x36\x71','\x57\x51\x46\x64\x4f\x53\x6f\x7a\x70\x6d\x6f\x59\x64\x47','\x57\x50\x78\x64\x4a\x75\x56\x64\x4e\x43\x6b\x49\x57\x37\x43\x61\x44\x47','\x62\x53\x6b\x45\x74\x71\x76\x70\x57\x51\x50\x31\x72\x61','\x7a\x4e\x54\x34\x78\x61','\x57\x37\x56\x64\x4b\x67\x4e\x64\x49\x57','\x57\x34\x42\x64\x56\x77\x58\x52\x44\x65\x61','\x57\x34\x64\x63\x4b\x53\x6f\x41\x75\x43\x6f\x2b\x57\x36\x42\x64\x4e\x53\x6f\x5a','\x57\x50\x5a\x64\x4b\x43\x6b\x49\x57\x50\x42\x64\x53\x43\x6b\x42','\x57\x34\x75\x70\x78\x58\x70\x64\x4b\x43\x6f\x4a\x43\x57','\x64\x64\x69\x32\x57\x35\x6e\x42\x57\x35\x57','\x68\x4d\x44\x65\x57\x35\x74\x63\x4c\x38\x6b\x57','\x57\x50\x65\x39\x66\x43\x6f\x33\x57\x50\x68\x64\x4d\x73\x79\x78','\x6c\x6d\x6b\x54\x57\x4f\x6a\x77','\x45\x53\x6b\x47\x68\x6d\x6b\x66','\x6c\x6d\x6b\x45\x66\x38\x6b\x34\x57\x51\x66\x57\x74\x6d\x6b\x38','\x57\x4f\x5a\x63\x55\x49\x78\x63\x48\x38\x6b\x59\x57\x36\x44\x36\x66\x47','\x57\x34\x68\x64\x4c\x68\x50\x52\x46\x72\x31\x58\x57\x51\x43','\x57\x51\x46\x64\x4f\x53\x6f\x4f\x6f\x53\x6f\x30\x63\x57','\x69\x53\x6f\x38\x73\x6d\x6f\x71\x57\x34\x4e\x63\x48\x30\x4b\x67\x57\x35\x42\x64\x4b\x73\x78\x63\x4e\x43\x6f\x49\x66\x47','\x77\x6d\x6f\x71\x73\x5a\x5a\x64\x47\x53\x6b\x76\x57\x36\x44\x2f','\x65\x53\x6b\x66\x57\x37\x66\x69\x57\x35\x5a\x64\x49\x6d\x6b\x54\x57\x37\x34','\x57\x35\x57\x71\x57\x34\x78\x64\x54\x53\x6b\x63\x6f\x47\x34','\x57\x4f\x4c\x32\x57\x37\x52\x64\x54\x6d\x6b\x6b\x75\x62\x71\x7a','\x66\x6d\x6b\x4a\x57\x34\x68\x64\x4e\x53\x6f\x67','\x71\x38\x6b\x43\x57\x50\x64\x63\x49\x73\x31\x75','\x57\x37\x61\x78\x75\x61\x52\x64\x4b\x71','\x69\x53\x6b\x79\x66\x61','\x61\x6d\x6f\x6a\x57\x34\x78\x64\x4a\x78\x4b\x61\x57\x51\x70\x64\x56\x4e\x72\x76\x57\x4f\x4e\x64\x47\x53\x6f\x53\x77\x71','\x66\x74\x30\x33\x57\x34\x48\x4f','\x77\x71\x75\x72\x57\x34\x4c\x65\x57\x34\x4a\x64\x4f\x47','\x68\x4a\x71\x35\x57\x34\x4c\x69\x57\x37\x75\x37\x57\x4f\x61','\x79\x6d\x6b\x4a\x66\x6d\x6b\x65','\x71\x43\x6f\x4b\x57\x35\x34','\x44\x43\x6f\x4b\x57\x34\x72\x35\x44\x47\x75','\x57\x35\x2f\x63\x4e\x43\x6f\x74\x73\x6d\x6f\x59\x57\x37\x69','\x57\x51\x6a\x67\x67\x30\x37\x63\x50\x57','\x66\x38\x6b\x63\x73\x48\x58\x6a\x57\x36\x65','\x57\x51\x54\x2f\x76\x78\x6e\x52\x41\x77\x30','\x57\x36\x4c\x79\x57\x4f\x30\x49','\x57\x36\x39\x65\x57\x4f\x4f\x4d\x77\x6d\x6b\x77','\x57\x52\x4a\x64\x48\x32\x6e\x78\x75\x61','\x78\x4a\x37\x64\x4e\x6d\x6f\x51\x41\x47','\x46\x77\x39\x31\x61\x43\x6f\x74','\x57\x50\x52\x64\x49\x43\x6f\x38\x76\x53\x6f\x75\x57\x36\x6c\x64\x4d\x6d\x6f\x5a','\x62\x6d\x6f\x61\x57\x34\x68\x64\x4a\x68\x7a\x69\x57\x37\x37\x63\x47\x65\x6e\x54\x57\x51\x43','\x77\x6d\x6b\x55\x61\x59\x78\x63\x49\x33\x65\x79\x77\x71','\x57\x52\x38\x76\x72\x61','\x57\x52\x39\x37\x74\x33\x7a\x33\x79\x77\x79\x2b','\x57\x52\x6d\x68\x57\x37\x52\x64\x4b\x6d\x6f\x54\x77\x68\x34\x6a','\x6a\x53\x6f\x4a\x42\x47\x7a\x34\x57\x37\x46\x64\x52\x68\x71','\x57\x35\x52\x63\x47\x6d\x6f\x33\x57\x35\x52\x63\x50\x53\x6b\x6d\x57\x35\x78\x63\x48\x53\x6f\x49\x45\x4d\x69','\x76\x49\x6c\x64\x4c\x43\x6f\x67\x44\x47'];_0x3afd=function(){return _0x2bc812;};return _0x3afd();}export const SELECTION_POLICIES=[_0x1e8dc0(0x218,'\x5e\x54\x64\x70')+_0x1e8dc0(0x1f6,'\x65\x5a\x65\x66'),_0x1e8dc0(0x1cc,'\x29\x63\x79\x25')+_0x1e8dc0(0x244,'\x61\x5b\x41\x28'),'\x75\x63\x62\x31'];export const UCB1_SELECTION_POLICY_VERSION=_0x1e8dc0(0x1d7,'\x65\x5a\x65\x66');export const UCB1_REWARD_POLICY_VERSION='\x70\x72\x6f\x64\x75\x63\x74\x69'+_0x1e8dc0(0x1fa,'\x4f\x6a\x69\x48')+_0x1e8dc0(0x238,'\x32\x43\x46\x70');function nonEmptyString(_0x93d21){const _0x20fd10=_0x1e8dc0;if(typeof _0x93d21!==_0x20fd10(0x1d2,'\x70\x67\x2a\x25'))return undefined;const _0x547946=_0x93d21['\x74\x72\x69\x6d']();return _0x547946[_0x20fd10(0x248,'\x4d\x38\x36\x26')]>-0x23f0+-0x932+-0x6a*-0x6d?_0x547946:undefined;}function decisionProjection(_0x464d33){const _0x237168=_0x1e8dc0;if(_0x464d33['\x74\x79\x70\x65']!==_0x237168(0x231,'\x33\x6c\x54\x76')+_0x237168(0x24a,'\x69\x63\x30\x44')+_0x237168(0x1db,'\x47\x37\x42\x6a'))return undefined;const _0x13f66c=_0x464d33[_0x237168(0x1c8,'\x2a\x56\x32\x39')],_0x5c0357=nonEmptyString(_0x13f66c[_0x237168(0x1ea,'\x59\x24\x4b\x74')]),_0x3a5631=nonEmptyString(_0x13f66c[_0x237168(0x1b9,'\x72\x25\x23\x49')+_0x237168(0x223,'\x6a\x25\x47\x56')]);if(!_0x5c0357)return undefined;if(!_0x3a5631||_0x3a5631===_0x237168(0x1ca,'\x78\x6e\x64\x4b'))return{'\x63\x79\x63\x6c\x65\x49\x64':_0x5c0357,'\x64\x65\x63\x69\x73\x69\x6f\x6e':null};return{'\x63\x79\x63\x6c\x65\x49\x64':_0x5c0357,'\x64\x65\x63\x69\x73\x69\x6f\x6e':{'\x61\x72\x6d\x49\x64':nonEmptyString(_0x13f66c[_0x237168(0x1eb,'\x67\x6a\x37\x39')+_0x237168(0x236,'\x4f\x45\x41\x52')])??_0x3a5631}};}function terminalReward(_0x21d1ac){const _0x5b289d=_0x1e8dc0;if(_0x21d1ac[_0x5b289d(0x23d,'\x54\x38\x24\x67')]!==_0x5b289d(0x1cf,'\x4d\x38\x36\x26')+'\x69\x6c\x65\x64'&&_0x21d1ac[_0x5b289d(0x200,'\x5b\x34\x31\x55')]!==_0x5b289d(0x212,'\x69\x63\x30\x44')+_0x5b289d(0x1ff,'\x6b\x42\x5a\x66'))return null;const _0x522a6d=_0x21d1ac[_0x5b289d(0x227,'\x33\x6c\x54\x76')],_0x5b294d=nonEmptyString(_0x522a6d[_0x5b289d(0x217,'\x4c\x23\x59\x26')]);if(!_0x5b294d)return null;if(_0x21d1ac[_0x5b289d(0x1ce,'\x24\x6b\x54\x51')]==='\x63\x79\x63\x6c\x65\x2e\x66\x61'+_0x5b289d(0x20f,'\x46\x6b\x75\x50')||_0x522a6d[_0x5b289d(0x1e2,'\x4c\x23\x59\x26')+_0x5b289d(0x21b,'\x2a\x56\x32\x39')]===![])return{'\x63\x79\x63\x6c\x65\x49\x64':_0x5b294d,'\x72\x65\x77\x61\x72\x64':0x0};return{'\x63\x79\x63\x6c\x65\x49\x64':_0x5b294d,'\x72\x65\x77\x61\x72\x64':0x1};}export function deriveUcb1History(_0x387277){const _0x1178ee=_0x1e8dc0,_0xd07916=new Map();for(const _0x5de6d6 of _0x387277){if(_0x1178ee(0x1d8,'\x47\x37\x42\x6a')!==_0x1178ee(0x1e9,'\x59\x37\x69\x21')){const _0x33483c=decisionProjection(_0x5de6d6);if(_0x33483c){if(_0x33483c[_0x1178ee(0x216,'\x65\x5a\x65\x66')])_0xd07916[_0x1178ee(0x222,'\x6a\x25\x47\x56')](_0x33483c[_0x1178ee(0x217,'\x4c\x23\x59\x26')],{'\x64\x65\x63\x69\x73\x69\x6f\x6e':_0x33483c[_0x1178ee(0x231,'\x33\x6c\x54\x76')]});else _0xd07916[_0x1178ee(0x20c,'\x72\x25\x23\x49')](_0x33483c['\x63\x79\x63\x6c\x65\x49\x64']);}const _0x2a1a3e=terminalReward(_0x5de6d6);if(_0x2a1a3e){const _0x2a95a5=_0xd07916[_0x1178ee(0x1bd,'\x24\x6b\x54\x51')](_0x2a1a3e[_0x1178ee(0x20a,'\x2a\x56\x32\x39')]);if(_0x2a95a5)_0x2a95a5[_0x1178ee(0x229,'\x30\x42\x72\x6f')]=_0x2a1a3e[_0x1178ee(0x229,'\x30\x42\x72\x6f')];}}else{if(_0x3861b2[_0x1178ee(0x249,'\x78\x6e\x64\x4b')]!==_0x1178ee(0x204,'\x6a\x41\x29\x37')+_0x1178ee(0x206,'\x5b\x34\x31\x55')&&_0x9f35a6[_0x1178ee(0x228,'\x30\x42\x72\x6f')]!==_0x1178ee(0x237,'\x58\x37\x4c\x52')+_0x1178ee(0x1f5,'\x77\x4e\x29\x49'))return null;const _0x1891bf=_0x1ba660[_0x1178ee(0x1d5,'\x32\x43\x46\x70')],_0x945f55=_0x5ea335(_0x1891bf['\x63\x79\x63\x6c\x65\x49\x64']);if(!_0x945f55)return null;if(_0xcda9ec[_0x1178ee(0x20e,'\x70\x67\x2a\x25')]==='\x63\x79\x63\x6c\x65\x2e\x66\x61'+_0x1178ee(0x205,'\x77\x4e\x29\x49')||_0x1891bf[_0x1178ee(0x1bc,'\x6a\x25\x47\x56')+_0x1178ee(0x24b,'\x5e\x54\x64\x70')]===![])return{'\x63\x79\x63\x6c\x65\x49\x64':_0x945f55,'\x72\x65\x77\x61\x72\x64':0x0};return{'\x63\x79\x63\x6c\x65\x49\x64':_0x945f55,'\x72\x65\x77\x61\x72\x64':0x1};}}const _0xedf704=new Map();for(const _0x737453 of _0xd07916[_0x1178ee(0x224,'\x5b\x2a\x79\x46')]()){const _0x417368=_0xedf704[_0x1178ee(0x1c5,'\x4f\x45\x41\x52')](_0x737453[_0x1178ee(0x233,'\x58\x70\x55\x31')]['\x61\x72\x6d\x49\x64'])??{'\x70\x75\x6c\x6c\x73':0x0,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x50\x75\x6c\x6c\x73':0x0,'\x72\x65\x77\x61\x72\x64\x53\x75\x6d':0x0};_0x417368[_0x1178ee(0x22c,'\x4d\x62\x31\x51')]+=-0x2347*0x1+-0x2147+-0x1*-0x448f,_0x737453[_0x1178ee(0x1f1,'\x41\x70\x4e\x78')]!==undefined&&(_0x417368[_0x1178ee(0x23e,'\x5e\x54\x64\x70')+_0x1178ee(0x207,'\x69\x63\x30\x44')]+=0x626+-0x1*0x63+-0x43*0x16,_0x417368['\x72\x65\x77\x61\x72\x64\x53\x75'+'\x6d']+=_0x737453[_0x1178ee(0x1c7,'\x59\x37\x69\x21')]),_0xedf704['\x73\x65\x74'](_0x737453[_0x1178ee(0x1e3,'\x25\x41\x56\x28')][_0x1178ee(0x246,'\x4d\x38\x36\x26')],_0x417368);}const _0x3640cd=new Map();for(const [_0x352f2d,_0x2b7a6e]of _0xedf704){if(_0x1178ee(0x1d4,'\x4d\x38\x36\x26')===_0x1178ee(0x1e8,'\x5e\x54\x64\x70'))_0x3640cd[_0x1178ee(0x1bb,'\x54\x38\x24\x67')](_0x352f2d,{'\x61\x72\x6d\x49\x64':_0x352f2d,..._0x2b7a6e,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':_0x2b7a6e[_0x1178ee(0x210,'\x29\x63\x79\x25')+_0x1178ee(0x239,'\x44\x79\x38\x53')]>-0x1*0x1265+0x3af*-0x6+-0x287f*-0x1?_0x2b7a6e[_0x1178ee(0x201,'\x4e\x48\x23\x36')+'\x6d']/_0x2b7a6e[_0x1178ee(0x232,'\x28\x64\x57\x59')+_0x1178ee(0x1f9,'\x58\x70\x55\x31')]:0x6f*0xf+0x168*-0x7+0x1*0x357});else return{'\x61\x72\x6d\x49\x64':_0x478e98,'\x70\x75\x6c\x6c\x73':0x0,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x50\x75\x6c\x6c\x73':0x0,'\x72\x65\x77\x61\x72\x64\x53\x75\x6d':0x0,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':0x0};}return{'\x61\x72\x6d\x73':_0x3640cd,'\x74\x6f\x74\x61\x6c\x50\x75\x6c\x6c\x73':_0xd07916['\x73\x69\x7a\x65']};}function emptyStats(_0x25a58f){return{'\x61\x72\x6d\x49\x64':_0x25a58f,'\x70\x75\x6c\x6c\x73':0x0,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x50\x75\x6c\x6c\x73':0x0,'\x72\x65\x77\x61\x72\x64\x53\x75\x6d':0x0,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':0x0};}export function ucb1StatsForCandidate(_0x4efc43,_0x13d99b,_0x26b6b7,_0xa971c3=!![]){const _0xd0fe28=_0x1e8dc0,_0x2acd1e=_0x26b6b7??_0x13d99b,_0xda41b1=_0x26b6b7===undefined?[_0x13d99b]:[...new Set([_0x26b6b7,..._0xa971c3?[_0x13d99b]:[]])],_0x5762d6=_0xda41b1['\x6d\x61\x70'](_0x1e9603=>_0x4efc43[_0xd0fe28(0x1b7,'\x6a\x25\x47\x56')]['\x67\x65\x74'](_0x1e9603))[_0xd0fe28(0x240,'\x30\x42\x72\x6f')](_0x2ae936=>_0x2ae936!==undefined);if(_0x5762d6[_0xd0fe28(0x23c,'\x47\x37\x42\x6a')]===-0x1c1d+0x330*-0x6+0x2f3d)return emptyStats(_0x2acd1e);const _0x102678=_0x5762d6[_0xd0fe28(0x21a,'\x48\x51\x35\x35')]((_0x38eafb,_0x146937)=>_0x38eafb+_0x146937['\x70\x75\x6c\x6c\x73'],0x19d0+-0x19*0xe3+-0x3a5),_0x1214eb=_0x5762d6[_0xd0fe28(0x226,'\x6a\x41\x29\x37')]((_0x53090f,_0x158e7e)=>_0x53090f+_0x158e7e[_0xd0fe28(0x203,'\x67\x6a\x37\x39')+_0xd0fe28(0x239,'\x44\x79\x38\x53')],-0x11ad+-0x1*-0x1735+0x588*-0x1),_0x12a0e9=_0x5762d6[_0xd0fe28(0x209,'\x59\x37\x69\x21')]((_0x53a1ae,_0x3df4b1)=>_0x53a1ae+_0x3df4b1[_0xd0fe28(0x1b6,'\x4d\x62\x31\x51')+'\x6d'],0x223f+0x261b+-0x485a);return{'\x61\x72\x6d\x49\x64':_0x2acd1e,'\x70\x75\x6c\x6c\x73':_0x102678,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x50\x75\x6c\x6c\x73':_0x1214eb,'\x72\x65\x77\x61\x72\x64\x53\x75\x6d':_0x12a0e9,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':_0x1214eb>0x22c*-0x9+0xd*0x1af+0x257*-0x1?_0x12a0e9/_0x1214eb:0x1*-0x1ecf+0x48e*-0x3+0x9*0x4f1};}function _0x2e4a(_0x463ef5,_0x50122b){_0x463ef5=_0x463ef5-(-0x1*-0x4a5+0x5df*0x2+0xdd*-0x11);const _0x292ec9=_0x3afd();let _0xbda4cb=_0x292ec9[_0x463ef5];if(_0x2e4a['\x45\x71\x6c\x59\x73\x42']===undefined){var _0x448719=function(_0x53bfa7){const _0x546483='\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 _0x3f6855='',_0x2f064e='';for(let _0x325c4b=0xd*-0x7b+-0x2fa+0x939,_0x30876e,_0x5d03b3,_0x3e2742=0x234a+-0x2*0xd87+0x7c*-0x11;_0x5d03b3=_0x53bfa7['\x63\x68\x61\x72\x41\x74'](_0x3e2742++);~_0x5d03b3&&(_0x30876e=_0x325c4b%(0x3*-0x343+-0x1aa0+0x1*0x246d)?_0x30876e*(-0x1f47+-0x143*-0xd+-0x1*-0xf20)+_0x5d03b3:_0x5d03b3,_0x325c4b++%(-0x1*-0x160f+0xc73+-0x227e))?_0x3f6855+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x71f+-0x62f*0x5+0x18cb&_0x30876e>>(-(0x8*-0x2dc+-0x2b*0x3e+0x1*0x214c)*_0x325c4b&-0xd*-0x2c3+0xe41+-0x22e*0x17)):0x8*0x112+0x2*0xaf7+-0x1e7e){_0x5d03b3=_0x546483['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5d03b3);}for(let _0x329cbd=0xda7+-0x162a+0x883*0x1,_0x2039de=_0x3f6855['\x6c\x65\x6e\x67\x74\x68'];_0x329cbd<_0x2039de;_0x329cbd++){_0x2f064e+='\x25'+('\x30\x30'+_0x3f6855['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x329cbd)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xa99+0x375*0x9+-0x4*0x51d))['\x73\x6c\x69\x63\x65'](-(-0x203*-0xa+-0x2f*0x59+-0x3c5));}return decodeURIComponent(_0x2f064e);};const _0x79373b=function(_0x2da304,_0x3be7f1){let _0x46d303=[],_0x18fff5=-0x1df+-0x9a*0x3d+0x2691*0x1,_0x36d809,_0x37c4bf='';_0x2da304=_0x448719(_0x2da304);let _0x4635cc;for(_0x4635cc=-0x1bc+0x120e*0x2+-0x2260;_0x4635cc<-0xcb5+-0x376*-0x1+-0x3d*-0x2b;_0x4635cc++){_0x46d303[_0x4635cc]=_0x4635cc;}for(_0x4635cc=0x1*-0x1272+0x1*-0x13a0+0x2612;_0x4635cc<0x190+0x33b*0x7+-0x1*0x172d;_0x4635cc++){_0x18fff5=(_0x18fff5+_0x46d303[_0x4635cc]+_0x3be7f1['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4635cc%_0x3be7f1['\x6c\x65\x6e\x67\x74\x68']))%(-0x3*-0x623+0x138e+-0x24f7*0x1),_0x36d809=_0x46d303[_0x4635cc],_0x46d303[_0x4635cc]=_0x46d303[_0x18fff5],_0x46d303[_0x18fff5]=_0x36d809;}_0x4635cc=0x1145*-0x2+-0x1e82+0x1*0x410c,_0x18fff5=0x3c7*0x8+0x16b2+-0x209*0x1a;for(let _0x8ad324=-0x1d09*-0x1+0x1517*0x1+-0xc88*0x4;_0x8ad324<_0x2da304['\x6c\x65\x6e\x67\x74\x68'];_0x8ad324++){_0x4635cc=(_0x4635cc+(0x13cc+0x373*0x1+0x1*-0x173e))%(0x988+0x4*-0x2dd+0x1*0x2ec),_0x18fff5=(_0x18fff5+_0x46d303[_0x4635cc])%(0x16db+-0x1652+-0x11*-0x7),_0x36d809=_0x46d303[_0x4635cc],_0x46d303[_0x4635cc]=_0x46d303[_0x18fff5],_0x46d303[_0x18fff5]=_0x36d809,_0x37c4bf+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x2da304['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x8ad324)^_0x46d303[(_0x46d303[_0x4635cc]+_0x46d303[_0x18fff5])%(0x25*0x8b+-0x1e9+0x897*-0x2)]);}return _0x37c4bf;};_0x2e4a['\x74\x69\x75\x6a\x59\x49']=_0x79373b,_0x2e4a['\x6d\x58\x6f\x4d\x49\x47']={},_0x2e4a['\x45\x71\x6c\x59\x73\x42']=!![];}const _0x4529d4=_0x292ec9[-0x4*-0x4b8+0x84*0x3e+-0x196c*0x2],_0x4fdfc4=_0x463ef5+_0x4529d4,_0x46d251=_0x2e4a['\x6d\x58\x6f\x4d\x49\x47'][_0x4fdfc4];return!_0x46d251?(_0x2e4a['\x61\x6a\x63\x68\x74\x49']===undefined&&(_0x2e4a['\x61\x6a\x63\x68\x74\x49']=!![]),_0xbda4cb=_0x2e4a['\x74\x69\x75\x6a\x59\x49'](_0xbda4cb,_0x50122b),_0x2e4a['\x6d\x58\x6f\x4d\x49\x47'][_0x4fdfc4]=_0xbda4cb):_0xbda4cb=_0x46d251,_0xbda4cb;}function finiteBaseScore(_0x1e1922){const _0x3dac4b=_0x1e8dc0;return Number[_0x3dac4b(0x20d,'\x6b\x42\x5a\x66')](_0x1e1922)?_0x1e1922:Number[_0x3dac4b(0x1cd,'\x44\x79\x38\x53')+_0x3dac4b(0x1df,'\x44\x79\x38\x53')+'\x59'];}function finiteCount(_0xc380f7){const _0x18f497=_0x1e8dc0;return Number[_0x18f497(0x1e7,'\x28\x64\x57\x59')](_0xc380f7)?Math[_0x18f497(0x21c,'\x29\x63\x79\x25')](Number[_0x18f497(0x243,'\x5b\x34\x31\x55')+_0x18f497(0x1ee,'\x24\x6b\x54\x51')],Math[_0x18f497(0x21e,'\x32\x43\x46\x70')](Math[_0x18f497(0x242,'\x77\x4e\x29\x49')](0x1165+0x657*-0x2+-0x4b7,_0xc380f7))):0x5*0x617+-0x1311+-0xb62;}function finiteMeanReward(_0x24a570){const _0x3ac493=_0x1e8dc0;return Number[_0x3ac493(0x20d,'\x6b\x42\x5a\x66')](_0x24a570)?Math['\x6d\x61\x78'](0xcf5*-0x2+-0x2df+0x1cc9,Math[_0x3ac493(0x1dd,'\x4d\x38\x36\x26')](-0x1ac5+-0x1205+-0x1*-0x2ccb,_0x24a570)):-0x16a+-0x473*-0x4+-0x6*0x2bb;}function saturatingCountSum(_0x458587,_0x3af7ae){const _0x4cc33f=_0x1e8dc0,_0x44dd34=finiteCount(_0x3af7ae);return _0x458587>=Number['\x4d\x41\x58\x5f\x53\x41\x46\x45'+'\x5f\x49\x4e\x54\x45\x47\x45\x52']-_0x44dd34?Number[_0x4cc33f(0x1f7,'\x6f\x53\x43\x76')+_0x4cc33f(0x1e0,'\x61\x5b\x41\x28')]:_0x458587+_0x44dd34;}export function chooseUcb1Arm(_0x3c950e,_0x2465d7){const _0xb2c7ff=_0x1e8dc0;if(_0x3c950e[_0xb2c7ff(0x202,'\x61\x5b\x41\x28')]===-0x1*0x1fb7+-0x1*0x15c1+-0x3b*-0xe8)return{'\x63\x68\x6f\x69\x63\x65':null,'\x66\x61\x6c\x6c\x62\x61\x63\x6b\x52\x65\x61\x73\x6f\x6e':_0xb2c7ff(0x22f,'\x47\x37\x42\x6a')+'\x6f\x6c'};if(_0x3c950e[_0xb2c7ff(0x221,'\x46\x6b\x75\x50')](_0x5d327d=>!_0x5d327d[_0xb2c7ff(0x1f8,'\x6a\x41\x29\x37')+_0xb2c7ff(0x1bf,'\x68\x4e\x6a\x66')+_0xb2c7ff(0x1cb,'\x30\x42\x72\x6f')]))return{'\x63\x68\x6f\x69\x63\x65':null,'\x66\x61\x6c\x6c\x62\x61\x63\x6b\x52\x65\x61\x73\x6f\x6e':_0xb2c7ff(0x208,'\x5b\x2a\x79\x46')+_0xb2c7ff(0x213,'\x61\x5b\x41\x28')};const _0x14c66b=Math['\x6d\x61\x78'](-0x243e+0x17d6+-0x9*-0x161,finiteCount(_0x2465d7),_0x3c950e[_0xb2c7ff(0x1da,'\x4f\x6a\x69\x48')]((_0x77f3ac,_0x13ac59)=>saturatingCountSum(_0x77f3ac,_0x13ac59[_0xb2c7ff(0x1c4,'\x65\x5a\x65\x66')][_0xb2c7ff(0x1e6,'\x47\x37\x42\x6a')]),0x1*0x11a1+-0x1f*0x112+0xf8d)),_0x400913=_0x3c950e[_0xb2c7ff(0x230,'\x65\x75\x6c\x36')](_0x109447=>{const _0x585877=_0xb2c7ff;if('\x78\x72\x69\x48\x6d'===_0x585877(0x1d1,'\x69\x63\x30\x44')){const _0x225d5d=_0x29c873(_0x4de6bd[_0x585877(0x1fe,'\x6b\x42\x5a\x66')][_0x585877(0x1e6,'\x47\x37\x42\x6a')]),_0x144440=_0x1efe81(_0x325ad5[_0x585877(0x23b,'\x2a\x56\x32\x39')][_0x585877(0x220,'\x32\x43\x46\x70')+'\x72\x64']),_0x371a5=_0x225d5d===-0x26a1+-0x1f7b+0x461c,_0x2cd3e7=_0x371a5?null:_0x15e008[_0x585877(0x1f4,'\x44\x79\x38\x53')]((0x2039+0x15*0x1cb+-0x45de)*_0x5ab7d2[_0x585877(0x1de,'\x6c\x49\x56\x36')](_0x19f3d6)/_0x225d5d),_0x189d04=_0x371a5?null:_0x144440+_0x2cd3e7;return{'\x61\x72\x6d':_0x22cf9c,'\x70\x75\x6c\x6c\x73':_0x225d5d,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':_0x144440,'\x63\x6f\x6c\x64\x53\x74\x61\x72\x74':_0x371a5,'\x62\x6f\x6e\x75\x73':_0x2cd3e7,'\x69\x6e\x64\x65\x78':_0x189d04};}else{const _0x1446d9=finiteCount(_0x109447[_0x585877(0x1dc,'\x6c\x37\x72\x31')]['\x70\x75\x6c\x6c\x73']),_0x8371d8=finiteMeanReward(_0x109447[_0x585877(0x22a,'\x58\x37\x4c\x52')]['\x6d\x65\x61\x6e\x52\x65\x77\x61'+'\x72\x64']),_0x370858=_0x1446d9===-0x5b8+-0x1*0x1253+-0x4cf*-0x5,_0x3e1c75=_0x370858?null:Math['\x73\x71\x72\x74']((-0x5d3+-0x229f+0x2874)*Math[_0x585877(0x1ed,'\x25\x41\x56\x28')](_0x14c66b)/_0x1446d9),_0x451548=_0x370858?null:_0x8371d8+_0x3e1c75;return{'\x61\x72\x6d':_0x109447,'\x70\x75\x6c\x6c\x73':_0x1446d9,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':_0x8371d8,'\x63\x6f\x6c\x64\x53\x74\x61\x72\x74':_0x370858,'\x62\x6f\x6e\x75\x73':_0x3e1c75,'\x69\x6e\x64\x65\x78':_0x451548};}})[_0xb2c7ff(0x24d,'\x67\x6a\x37\x39')]((_0x227134,_0x2d8fec)=>{const _0x1bbe47=_0xb2c7ff;if(_0x1bbe47(0x23f,'\x6c\x37\x72\x31')!==_0x1bbe47(0x1ba,'\x65\x5e\x43\x38')){const _0x488045=_0x3e2742(_0x329cbd);return _0x2039de>=_0x2da304[_0x1bbe47(0x211,'\x78\x6e\x64\x4b')+_0x1bbe47(0x1fc,'\x69\x63\x30\x44')]-_0x488045?_0x3be7f1['\x4d\x41\x58\x5f\x53\x41\x46\x45'+_0x1bbe47(0x1ec,'\x46\x6b\x75\x50')]:_0x46d303+_0x488045;}else{if(_0x227134['\x63\x6f\x6c\x64\x53\x74\x61\x72'+'\x74']!==_0x2d8fec[_0x1bbe47(0x1fb,'\x44\x79\x38\x53')+'\x74'])return _0x227134[_0x1bbe47(0x1fd,'\x5b\x34\x31\x55')+'\x74']?-(-0x3f5*-0x6+-0x465+0x4d6*-0x4):0xb44+0x243b+0x1*-0x2f7e;if(_0x227134['\x69\x6e\x64\x65\x78']!==null&&_0x2d8fec[_0x1bbe47(0x1d3,'\x69\x63\x30\x44')]!==null&&_0x227134[_0x1bbe47(0x241,'\x6a\x41\x29\x37')]!==_0x2d8fec['\x69\x6e\x64\x65\x78'])return _0x2d8fec[_0x1bbe47(0x22b,'\x4f\x6a\x69\x48')]-_0x227134[_0x1bbe47(0x219,'\x46\x70\x78\x74')];const _0x12bd40=finiteBaseScore(_0x227134[_0x1bbe47(0x24c,'\x6b\x42\x5a\x66')][_0x1bbe47(0x1f3,'\x4f\x45\x41\x52')+'\x65']),_0x56dcb3=finiteBaseScore(_0x2d8fec[_0x1bbe47(0x245,'\x6c\x37\x72\x31')][_0x1bbe47(0x1c0,'\x69\x63\x30\x44')+'\x65']);return _0x56dcb3!==_0x12bd40?_0x56dcb3-_0x12bd40:_0x227134['\x61\x72\x6d'][_0x1bbe47(0x235,'\x4f\x6a\x69\x48')]['\x6c\x6f\x63\x61\x6c\x65\x43\x6f'+'\x6d\x70\x61\x72\x65'](_0x2d8fec['\x61\x72\x6d'][_0x1bbe47(0x1c3,'\x59\x37\x69\x21')]);}}),_0x2156e2=_0x400913[0x2*-0x3d2+-0x24c7+0x2c6b];return{'\x63\x68\x6f\x69\x63\x65':{'\x61\x72\x6d\x49\x64':_0x2156e2[_0xb2c7ff(0x24c,'\x6b\x42\x5a\x66')][_0xb2c7ff(0x225,'\x4e\x48\x23\x36')],'\x70\x75\x6c\x6c\x73':_0x2156e2[_0xb2c7ff(0x1c1,'\x6f\x53\x43\x76')],'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x50\x75\x6c\x6c\x73':finiteCount(_0x2156e2[_0xb2c7ff(0x1c6,'\x4d\x62\x31\x51')][_0xb2c7ff(0x1c2,'\x24\x6b\x54\x51')]['\x63\x6f\x6d\x70\x6c\x65\x74\x65'+_0xb2c7ff(0x20b,'\x32\x53\x49\x74')]),'\x74\x6f\x74\x61\x6c\x50\x75\x6c\x6c\x73':_0x14c66b,'\x6d\x65\x61\x6e\x52\x65\x77\x61\x72\x64':_0x2156e2[_0xb2c7ff(0x1b8,'\x4e\x48\x23\x36')+'\x72\x64'],'\x62\x6f\x6e\x75\x73':_0x2156e2[_0xb2c7ff(0x23a,'\x65\x5e\x43\x38')],'\x69\x6e\x64\x65\x78':_0x2156e2[_0xb2c7ff(0x1be,'\x5e\x54\x64\x70')],'\x63\x6f\x6c\x64\x53\x74\x61\x72\x74':_0x2156e2[_0xb2c7ff(0x1e1,'\x65\x5a\x65\x66')+'\x74']}};}
|