@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.
Files changed (201) hide show
  1. package/dist/algo/antiDistill.js +1 -167
  2. package/dist/algo/bans.js +1 -33
  3. package/dist/algo/candidateAssembly.d.ts +7 -2
  4. package/dist/algo/candidateAssembly.js +1 -205
  5. package/dist/algo/capabilityCandidates.js +1 -136
  6. package/dist/algo/confidence.js +1 -196
  7. package/dist/algo/conversationSniffer.js +1 -149
  8. package/dist/algo/cycleEngine.d.ts +23 -2
  9. package/dist/algo/cycleEngine.js +1 -425
  10. package/dist/algo/cycleFailureClassifier.js +1 -112
  11. package/dist/algo/epigenetics.js +1 -41
  12. package/dist/algo/evolutionEvent.js +1 -24
  13. package/dist/algo/exploration.d.ts +7 -0
  14. package/dist/algo/exploration.js +1 -55
  15. package/dist/algo/geneHealth.d.ts +2 -2
  16. package/dist/algo/geneHealth.js +1 -16
  17. package/dist/algo/geneIntake.js +1 -128
  18. package/dist/algo/genePromotion.js +1 -53
  19. package/dist/algo/geneSelection.d.ts +63 -5
  20. package/dist/algo/geneSelection.js +1 -246
  21. package/dist/algo/index.d.ts +2 -0
  22. package/dist/algo/index.js +1 -20
  23. package/dist/algo/memoryGraph.js +1 -86
  24. package/dist/algo/mutation.js +1 -22
  25. package/dist/algo/orchestrator.d.ts +8 -1
  26. package/dist/algo/orchestrator.js +1 -75
  27. package/dist/algo/publishEligibility.d.ts +34 -0
  28. package/dist/algo/publishEligibility.js +1 -0
  29. package/dist/algo/solidify.js +1 -63
  30. package/dist/algo/strategyPresets.js +1 -61
  31. package/dist/algo/ucb1.d.ts +53 -0
  32. package/dist/algo/ucb1.js +1 -0
  33. package/dist/assetstore/assetSidecarRecords.d.ts +7 -2
  34. package/dist/assetstore/assetSidecarRecords.js +238 -0
  35. package/dist/assetstore/assetSidecarRecovery.js +2 -2
  36. package/dist/assetstore/assetStoreHealth.d.ts +6 -0
  37. package/dist/assetstore/assetStoreHealth.js +56 -14
  38. package/dist/assetstore/assetStoreStorage.d.ts +1 -1
  39. package/dist/assetstore/assetStoreStorage.js +27 -9
  40. package/dist/assetstore/assetSyncLedger.d.ts +86 -0
  41. package/dist/assetstore/assetSyncLedger.js +683 -4
  42. package/dist/assetstore/index.d.ts +1 -0
  43. package/dist/assetstore/index.js +1 -0
  44. package/dist/assetstore/localAssetStoreSnapshot.d.ts +51 -0
  45. package/dist/assetstore/localAssetStoreSnapshot.js +329 -0
  46. package/dist/assetstore/localJsonl.d.ts +4 -2
  47. package/dist/assetstore/localJsonl.js +89 -9
  48. package/dist/assetstore/provenance.d.ts +80 -4
  49. package/dist/assetstore/provenance.js +313 -5
  50. package/dist/assetstore/provider.d.ts +58 -1
  51. package/dist/assetstore/provider.js +97 -6
  52. package/dist/benchmark/antiGeneBenchmark.d.ts +2 -0
  53. package/dist/benchmark/antiGeneBenchmark.js +1 -251
  54. package/dist/benchmark/antiGeneImpact.js +1 -34
  55. package/dist/benchmark/antiGeneRollout.d.ts +2 -0
  56. package/dist/benchmark/antiGeneRollout.js +1 -268
  57. package/dist/benchmark/benchmark.js +1 -26
  58. package/dist/benchmark/evolutionThesisSolver.js +1 -41
  59. package/dist/benchmark/index.d.ts +2 -1
  60. package/dist/benchmark/index.js +1 -6
  61. package/dist/benchmark/selectionFlatAbstention.d.ts +152 -0
  62. package/dist/benchmark/selectionFlatAbstention.js +1 -0
  63. package/dist/benchmark/thesis.js +1 -150
  64. package/dist/benchmark/triggerShift.js +1 -106
  65. package/dist/bootstrap/envFingerprint.d.ts +9 -0
  66. package/dist/bootstrap/envFingerprint.js +5 -0
  67. package/dist/bootstrap/index.d.ts +2 -1
  68. package/dist/bootstrap/index.js +2 -1
  69. package/dist/bootstrap/v1EnvCompat.d.ts +111 -0
  70. package/dist/bootstrap/v1EnvCompat.js +280 -0
  71. package/dist/cycle/cycleTimeline.js +1 -74
  72. package/dist/cycle/index.js +1 -2
  73. package/dist/cycle/stateMachine.js +1 -25
  74. package/dist/events/eventArchive.d.ts +2 -0
  75. package/dist/events/eventArchive.js +13 -3
  76. package/dist/events/eventSchema.d.ts +7 -7
  77. package/dist/events/eventStore.d.ts +2 -0
  78. package/dist/events/eventStore.js +5 -1
  79. package/dist/events/ingest.d.ts +1 -0
  80. package/dist/events/ingest.js +1 -0
  81. package/dist/events/paths.d.ts +3 -1
  82. package/dist/events/paths.js +4 -0
  83. package/dist/events/public.d.ts +2 -2
  84. package/dist/events/public.js +2 -2
  85. package/dist/events/reports.d.ts +2 -0
  86. package/dist/events/reports.js +4 -0
  87. package/dist/exec/autoExec.d.ts +43 -2
  88. package/dist/exec/autoExec.js +76 -9
  89. package/dist/exec/autonomousCycle.d.ts +22 -4
  90. package/dist/exec/autonomousCycle.js +64 -13
  91. package/dist/exec/claudeBridge.d.ts +32 -7
  92. package/dist/exec/claudeBridge.js +281 -29
  93. package/dist/exec/prompt.js +5 -1
  94. package/dist/exec/runnerRegistry.d.ts +68 -26
  95. package/dist/exec/runnerRegistry.js +307 -72
  96. package/dist/exec/selfPr.js +1 -7
  97. package/dist/feedback/envelope.d.ts +61 -0
  98. package/dist/feedback/envelope.js +168 -0
  99. package/dist/feedback/index.d.ts +1 -0
  100. package/dist/feedback/index.js +1 -0
  101. package/dist/hooks/hooks.js +1 -0
  102. package/dist/hub/agentDirectory.js +1 -104
  103. package/dist/hub/assetCallLog.d.ts +35 -1
  104. package/dist/hub/assetCallLog.js +1 -72
  105. package/dist/hub/bindings.d.ts +8 -1
  106. package/dist/hub/bindings.js +1 -110
  107. package/dist/hub/capability.d.ts +90 -3
  108. package/dist/hub/capability.js +1 -1
  109. package/dist/hub/conversationDistiller.js +1 -264
  110. package/dist/hub/fake.d.ts +2 -2
  111. package/dist/hub/fake.js +1 -70
  112. package/dist/hub/hubReview.js +1 -106
  113. package/dist/hub/index.js +1 -11
  114. package/dist/hub/ingest.js +1 -15
  115. package/dist/hub/questionGenerator.d.ts +5 -1
  116. package/dist/hub/questionGenerator.js +1 -406
  117. package/dist/hub/reuseDecision.js +1 -127
  118. package/dist/hub/sanitize.js +1 -322
  119. package/dist/index.d.ts +3 -1
  120. package/dist/index.js +4 -1
  121. package/dist/mailbox/dispatch.d.ts +1 -1
  122. package/dist/mailbox/dispatch.js +22 -6
  123. package/dist/mailbox/envelope.d.ts +7 -1
  124. package/dist/mailbox/envelope.js +9 -2
  125. package/dist/mailbox/ipcServer.d.ts +10 -2
  126. package/dist/mailbox/ipcServer.js +163 -13
  127. package/dist/mailbox/store.d.ts +89 -3
  128. package/dist/mailbox/store.js +895 -41
  129. package/dist/material/boundary.js +1 -14
  130. package/dist/material/consumer.js +1 -55
  131. package/dist/material/emit.js +1 -52
  132. package/dist/material/factory.js +1 -25
  133. package/dist/material/index.js +1 -9
  134. package/dist/material/materialArchive.js +1 -466
  135. package/dist/material/materialStore.js +1 -69
  136. package/dist/material/sampling.js +1 -39
  137. package/dist/material/sources.js +1 -33
  138. package/dist/material/watermark.js +1 -76
  139. package/dist/ops/evolutionGraphProjection.d.ts +20 -0
  140. package/dist/ops/evolutionGraphProjection.js +315 -0
  141. package/dist/ops/index.d.ts +2 -1
  142. package/dist/ops/index.js +2 -1
  143. package/dist/ops/selfUpdate.d.ts +8 -0
  144. package/dist/ops/selfUpdate.js +24 -8
  145. package/dist/personality/drift.js +1 -106
  146. package/dist/personality/events.js +1 -37
  147. package/dist/personality/evolveOps.js +1 -93
  148. package/dist/personality/index.js +1 -11
  149. package/dist/personality/mutate.js +1 -39
  150. package/dist/personality/pivot.js +1 -22
  151. package/dist/personality/prompt.js +1 -62
  152. package/dist/personality/riskGate.js +1 -80
  153. package/dist/personality/schema.d.ts +16 -16
  154. package/dist/personality/schema.js +1 -119
  155. package/dist/personality/select.js +1 -71
  156. package/dist/personality/stats.js +1 -82
  157. package/dist/personality/store.js +1 -92
  158. package/dist/schema/common.js +1 -17
  159. package/dist/schema/evolutionGraph.d.ts +784 -0
  160. package/dist/schema/evolutionGraph.js +1 -0
  161. package/dist/schema/index.d.ts +1 -0
  162. package/dist/schema/index.js +1 -5
  163. package/dist/schema/material.js +1 -50
  164. package/dist/schema/problem.js +1 -45
  165. package/dist/schema/proofOfWork.js +1 -9
  166. package/dist/schema/signal.d.ts +3 -3
  167. package/dist/schema/signal.js +1 -19
  168. package/dist/signals/curriculum.d.ts +55 -0
  169. package/dist/signals/curriculum.js +1 -0
  170. package/dist/signals/cycleHistoryFromEvents.js +1 -96
  171. package/dist/signals/expand.d.ts +15 -1
  172. package/dist/signals/expand.js +1 -125
  173. package/dist/signals/extractor.d.ts +2 -2
  174. package/dist/signals/extractor.js +1 -57
  175. package/dist/signals/index.d.ts +3 -1
  176. package/dist/signals/index.js +1 -6
  177. package/dist/signals/metaSignals.d.ts +4 -0
  178. package/dist/signals/metaSignals.js +1 -158
  179. package/dist/signals/signalGate.js +1 -40
  180. package/dist/signals/taskDomain.d.ts +22 -0
  181. package/dist/signals/taskDomain.js +1 -0
  182. package/dist/signals/traceSignals.js +1 -123
  183. package/dist/strategy/constraintAblation.js +1 -3074
  184. package/dist/strategy/constraintAblationPredicates.d.ts +31 -0
  185. package/dist/strategy/constraintAblationPredicates.js +1 -0
  186. package/dist/strategy/experiment.js +1 -63
  187. package/dist/strategy/index.js +1 -3
  188. package/dist/strategy/strategyPoint.js +1 -23
  189. package/dist/trace/index.d.ts +3 -1
  190. package/dist/trace/index.js +3 -1
  191. package/dist/trace/learningTrace.d.ts +209 -0
  192. package/dist/trace/learningTrace.js +276 -0
  193. package/dist/trace/proxyTurns.d.ts +31 -0
  194. package/dist/trace/proxyTurns.js +137 -0
  195. package/dist/verify/sandboxRunner.d.ts +28 -0
  196. package/dist/verify/sandboxRunner.js +218 -19
  197. package/dist/verify/sandboxedValidation.d.ts +9 -0
  198. package/dist/verify/sandboxedValidation.js +113 -13
  199. package/dist/verify/validation.d.ts +11 -1
  200. package/dist/verify/validation.js +31 -0
  201. package/package.json +5 -2
@@ -1,167 +1 @@
1
- import { createHash } from 'node:crypto';
2
- export const ANTI_DISTILL_MIN_FAILURES = 2;
3
- export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN = 0.6;
4
- function asStrings(value) {
5
- if (!Array.isArray(value))
6
- return [];
7
- return [...new Set(value.map(String).map((item) => item.trim()).filter(Boolean))];
8
- }
9
- function stringField(record, key) {
10
- const value = record[key];
11
- return typeof value === 'string' && value.trim() ? value : undefined;
12
- }
13
- function isFailedCapsule(record) {
14
- if (record.type !== 'Capsule')
15
- return false;
16
- const outcome = record['outcome'];
17
- return Boolean(outcome && typeof outcome === 'object' && !Array.isArray(outcome)
18
- && outcome.status === 'failed');
19
- }
20
- function capsuleId(record, index) {
21
- return stringField(record, 'asset_id') ?? stringField(record, 'id') ?? `capsule:${index}`;
22
- }
23
- function capsuleDigest(record, index) {
24
- if (!isFailedCapsule(record))
25
- return null;
26
- const trigger = asStrings(record['trigger']);
27
- if (trigger.length === 0)
28
- return null;
29
- return {
30
- capsuleId: capsuleId(record, index),
31
- trigger,
32
- ...(stringField(record, 'gene') ? { gene: stringField(record, 'gene') } : {}),
33
- ...(stringField(record, 'summary') ? { summary: stringField(record, 'summary') } : {}),
34
- ...(record['outcome'] !== undefined ? { outcome: record['outcome'] } : {}),
35
- ...(record['proof_of_work'] !== undefined ? { proofOfWork: record['proof_of_work'] } : {}),
36
- };
37
- }
38
- function stableCapsuleView(capsule) {
39
- return {
40
- capsuleId: capsule.capsuleId,
41
- trigger: [...capsule.trigger].sort(),
42
- ...(capsule.gene ? { gene: capsule.gene } : {}),
43
- ...(capsule.summary ? { summary: capsule.summary } : {}),
44
- ...(capsule.outcome !== undefined ? { outcome: capsule.outcome } : {}),
45
- ...(capsule.proofOfWork !== undefined ? { proofOfWork: capsule.proofOfWork } : {}),
46
- };
47
- }
48
- function canonicalHashValue(value) {
49
- if (value === null || typeof value !== 'object')
50
- return value;
51
- if (Array.isArray(value))
52
- return value.map(canonicalHashValue);
53
- return Object.fromEntries(Object.entries(value)
54
- .sort(([left], [right]) => left.localeCompare(right))
55
- .map(([key, item]) => [key, canonicalHashValue(item)]));
56
- }
57
- function hashStable(value) {
58
- return createHash('sha256').update(JSON.stringify(canonicalHashValue(value))).digest('hex');
59
- }
60
- export function triggerOverlapScore(a, b) {
61
- const left = new Set(a.map(String).filter(Boolean));
62
- const right = new Set(b.map(String).filter(Boolean));
63
- if (left.size === 0 || right.size === 0)
64
- return 0;
65
- let hit = 0;
66
- for (const token of left)
67
- if (right.has(token))
68
- hit += 1;
69
- return hit / new Set([...left, ...right]).size;
70
- }
71
- function compatibleWithCluster(capsule, cluster, overlapMin) {
72
- let total = 0;
73
- for (const existing of cluster.capsules) {
74
- const overlap = triggerOverlapScore(capsule.trigger, existing.trigger);
75
- if (overlap < overlapMin)
76
- return { ok: false, avg: overlap };
77
- total += overlap;
78
- }
79
- return { ok: true, avg: cluster.capsules.length > 0 ? total / cluster.capsules.length : 1 };
80
- }
81
- function recurringTrigger(capsules, minFailures) {
82
- const counts = new Map();
83
- for (const capsule of capsules) {
84
- for (const token of capsule.trigger)
85
- counts.set(token, (counts.get(token) ?? 0) + 1);
86
- }
87
- return [...counts.entries()]
88
- .filter(([, count]) => count >= minFailures)
89
- .map(([token]) => token)
90
- .sort();
91
- }
92
- function sharedTrigger(capsules) {
93
- return recurringTrigger(capsules, capsules.length);
94
- }
95
- function clusterId(capsules) {
96
- return `anti_cluster_${hashStable(capsules.map(stableCapsuleView)).slice(0, 16)}`;
97
- }
98
- function toFailureCluster(cluster, minFailures) {
99
- const capsules = [...cluster.capsules].sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
100
- return {
101
- clusterId: clusterId(capsules),
102
- trigger: recurringTrigger(capsules, minFailures),
103
- sharedTrigger: sharedTrigger(capsules),
104
- capsuleIds: capsules.map((capsule) => capsule.capsuleId),
105
- genes: [...new Set(capsules.map((capsule) => capsule.gene).filter((gene) => Boolean(gene)))].sort(),
106
- failureCapsules: capsules,
107
- };
108
- }
109
- function positiveInteger(value, fallback) {
110
- return Number.isSafeInteger(value) && value !== undefined && value > 0 ? value : fallback;
111
- }
112
- function nonNegativeInteger(value, fallback) {
113
- return Number.isSafeInteger(value) && value !== undefined && value >= 0 ? value : fallback;
114
- }
115
- function overlapThreshold(value) {
116
- return typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= 1
117
- ? value
118
- : ANTI_DISTILL_TRIGGER_OVERLAP_MIN;
119
- }
120
- export function collectAntiDistillInput(capsules, opts = {}) {
121
- const minFailures = positiveInteger(opts.minFailures, ANTI_DISTILL_MIN_FAILURES);
122
- const overlapMin = overlapThreshold(opts.triggerOverlapMin);
123
- const failedCapsuleCount = capsules.filter(isFailedCapsule).length;
124
- const seen = new Set();
125
- const failed = capsules
126
- .map((record, index) => capsuleDigest(record, index))
127
- .filter((capsule) => capsule !== null)
128
- .filter((capsule) => {
129
- if (seen.has(capsule.capsuleId))
130
- return false;
131
- seen.add(capsule.capsuleId);
132
- return true;
133
- })
134
- .sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
135
- const clusters = [];
136
- for (const capsule of failed) {
137
- let bestIndex = -1;
138
- let bestScore = -1;
139
- for (let i = 0; i < clusters.length; i += 1) {
140
- const score = compatibleWithCluster(capsule, clusters[i], overlapMin);
141
- if (score.ok && score.avg > bestScore) {
142
- bestIndex = i;
143
- bestScore = score.avg;
144
- }
145
- }
146
- if (bestIndex >= 0)
147
- clusters[bestIndex].capsules.push(capsule);
148
- else
149
- clusters.push({ capsules: [capsule] });
150
- }
151
- const failureClusters = clusters
152
- .filter((cluster) => cluster.capsules.length >= minFailures)
153
- .map((cluster) => toFailureCluster(cluster, minFailures))
154
- .sort((a, b) => b.failureCapsules.length - a.failureCapsules.length
155
- || a.trigger.join('\0').localeCompare(b.trigger.join('\0'))
156
- || a.capsuleIds.join('\0').localeCompare(b.capsuleIds.join('\0')))
157
- .slice(0, opts.maxClusters !== undefined ? nonNegativeInteger(opts.maxClusters, clusters.length) : clusters.length);
158
- return {
159
- dataHash: hashStable(failureClusters.map((cluster) => ({
160
- trigger: cluster.trigger,
161
- capsuleIds: cluster.capsuleIds,
162
- }))),
163
- failedCapsuleCount,
164
- clusterableFailureCount: failed.length,
165
- failureClusters,
166
- };
167
- }
1
+ (function(_0x199bb5,_0x398aa2){const _0x568ff2=_0x4c29,_0x3750ac=_0x199bb5();while(!![]){try{const _0x5e6fb3=parseInt(_0x568ff2(0xd1,'\x45\x49\x65\x5d'))/(0x5*-0x481+-0x2*-0x1eb+0xd*0x170)+-parseInt(_0x568ff2(0x82,'\x24\x5a\x71\x67'))/(-0x209+-0x1d44+0x1f4f*0x1)*(-parseInt(_0x568ff2(0xbb,'\x30\x74\x4b\x63'))/(-0x1b7+0x4a8*-0x5+0x1902))+-parseInt(_0x568ff2(0xc7,'\x4e\x47\x5a\x30'))/(0x1b6b+0x2*-0x1f9+-0x1775)*(-parseInt(_0x568ff2(0x9d,'\x30\x74\x4b\x63'))/(0x1215+0xfcb+-0x51*0x6b))+-parseInt(_0x568ff2(0x80,'\x4e\x47\x5a\x30'))/(-0x1e95*0x1+-0xb1*-0x16+0xf65*0x1)*(-parseInt(_0x568ff2(0xda,'\x65\x50\x24\x37'))/(-0x1d50+-0x32*-0x80+0x457*0x1))+-parseInt(_0x568ff2(0x8a,'\x6d\x64\x5b\x7a'))/(0x3*0xc9d+0x64e+-0x2c1d)*(-parseInt(_0x568ff2(0xae,'\x42\x21\x74\x6a'))/(-0xa49+0x9*-0xa3+-0x1*-0x100d))+-parseInt(_0x568ff2(0x11a,'\x51\x69\x65\x53'))/(-0x16a5+-0xd3*0x2+0x1855)*(-parseInt(_0x568ff2(0xb3,'\x37\x37\x62\x63'))/(-0x11f0+-0x95f+-0xdad*-0x2))+parseInt(_0x568ff2(0xfa,'\x65\x50\x24\x37'))/(-0x1*0xff4+0x5*-0x77a+0x3562)*(-parseInt(_0x568ff2(0xc9,'\x65\x50\x24\x37'))/(0x19dc+0x42a*0x9+-0x3f49));if(_0x5e6fb3===_0x398aa2)break;else _0x3750ac['push'](_0x3750ac['shift']());}catch(_0x31ec31){_0x3750ac['push'](_0x3750ac['shift']());}}}(_0x5ed0,0x237*-0x7cf+0x10cdcd+0xf57a9*0x1));import{createHash}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';export const ANTI_DISTILL_MIN_FAILURES=-0xa79*-0x1+-0x1*-0x1d4b+-0x27c2;export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN=0xf9e+0x2*-0xd57+0xb10+0.6;function asStrings(_0x2fb2a3){const _0x540cc1=_0x4c29;if(!Array[_0x540cc1(0x118,'\x63\x6a\x32\x77')](_0x2fb2a3))return[];return[...new Set(_0x2fb2a3[_0x540cc1(0xab,'\x58\x73\x38\x66')](String)['\x6d\x61\x70'](_0x5de2df=>_0x5de2df['\x74\x72\x69\x6d']())[_0x540cc1(0x108,'\x50\x4c\x6b\x65')](Boolean))];}function stringField(_0x30eb5a,_0x4b5d27){const _0xe23c40=_0x4c29,_0x3631b5=_0x30eb5a[_0x4b5d27];return typeof _0x3631b5===_0xe23c40(0xf6,'\x55\x4f\x38\x57')&&_0x3631b5[_0xe23c40(0xe2,'\x64\x4d\x29\x73')]()?_0x3631b5:undefined;}function isFailedCapsule(_0x10d853){const _0x59cb4f=_0x4c29;if(_0x10d853[_0x59cb4f(0x83,'\x41\x46\x70\x69')]!==_0x59cb4f(0xc3,'\x43\x68\x78\x6e'))return![];const _0x2be976=_0x10d853[_0x59cb4f(0xce,'\x61\x58\x74\x50')];return Boolean(_0x2be976&&typeof _0x2be976===_0x59cb4f(0x103,'\x64\x4d\x29\x73')&&!Array[_0x59cb4f(0xe3,'\x41\x46\x70\x69')](_0x2be976)&&_0x2be976[_0x59cb4f(0xb1,'\x5d\x47\x4d\x4b')]==='\x66\x61\x69\x6c\x65\x64');}function capsuleId(_0x57b6eb,_0x2d197a){const _0x3effad=_0x4c29;return stringField(_0x57b6eb,_0x3effad(0xf0,'\x26\x63\x58\x67'))??stringField(_0x57b6eb,'\x69\x64')??_0x3effad(0xdf,'\x30\x69\x65\x40')+_0x2d197a;}function capsuleDigest(_0x1b9093,_0x36697d){const _0x30b7ea=_0x4c29;if(!isFailedCapsule(_0x1b9093))return null;const _0x17b867=asStrings(_0x1b9093[_0x30b7ea(0x87,'\x56\x44\x55\x21')]);if(_0x17b867['\x6c\x65\x6e\x67\x74\x68']===-0x15d0+0x2269+-0xc99)return null;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':capsuleId(_0x1b9093,_0x36697d),'\x74\x72\x69\x67\x67\x65\x72':_0x17b867,...stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))?{'\x67\x65\x6e\x65':stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))}:{},...stringField(_0x1b9093,_0x30b7ea(0xd8,'\x57\x73\x54\x53'))?{'\x73\x75\x6d\x6d\x61\x72\x79':stringField(_0x1b9093,_0x30b7ea(0x111,'\x65\x50\x24\x37'))}:{},..._0x1b9093['\x6f\x75\x74\x63\x6f\x6d\x65']!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x1b9093[_0x30b7ea(0xf4,'\x24\x5a\x71\x67')]}:{},..._0x1b9093[_0x30b7ea(0x106,'\x50\x4c\x6b\x65')+_0x30b7ea(0x10b,'\x66\x72\x4c\x31')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x1b9093[_0x30b7ea(0x113,'\x61\x58\x74\x50')+'\x5f\x77\x6f\x72\x6b']}:{}};}function stableCapsuleView(_0x69b5cb){const _0x20cb66=_0x4c29;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':_0x69b5cb[_0x20cb66(0xf9,'\x51\x69\x65\x53')+'\x64'],'\x74\x72\x69\x67\x67\x65\x72':[..._0x69b5cb[_0x20cb66(0xad,'\x55\x4b\x44\x6b')]][_0x20cb66(0xa8,'\x33\x55\x6f\x2a')](),..._0x69b5cb[_0x20cb66(0xd5,'\x24\x5a\x71\x67')]?{'\x67\x65\x6e\x65':_0x69b5cb[_0x20cb66(0xa0,'\x6a\x55\x30\x73')]}:{},..._0x69b5cb[_0x20cb66(0x11e,'\x71\x30\x50\x75')]?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x69b5cb[_0x20cb66(0xed,'\x37\x37\x62\x63')]}:{},..._0x69b5cb[_0x20cb66(0x97,'\x6f\x6e\x45\x4d')]!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x69b5cb[_0x20cb66(0x119,'\x30\x74\x4b\x63')]}:{},..._0x69b5cb[_0x20cb66(0xac,'\x30\x67\x77\x42')+_0x20cb66(0xd4,'\x61\x58\x74\x50')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x69b5cb[_0x20cb66(0xcb,'\x51\x69\x65\x53')+_0x20cb66(0x122,'\x50\x4b\x36\x53')]}:{}};}function canonicalHashValue(_0x243222){const _0x1f2b75=_0x4c29;if(_0x243222===null||typeof _0x243222!==_0x1f2b75(0x116,'\x51\x69\x65\x53'))return _0x243222;if(Array['\x69\x73\x41\x72\x72\x61\x79'](_0x243222))return _0x243222[_0x1f2b75(0xf7,'\x42\x21\x74\x6a')](canonicalHashValue);return Object[_0x1f2b75(0xf1,'\x61\x58\x74\x50')+_0x1f2b75(0x7e,'\x4a\x64\x75\x4f')](Object[_0x1f2b75(0x121,'\x6f\x6e\x45\x4d')](_0x243222)[_0x1f2b75(0xf3,'\x57\x73\x54\x53')](([_0x1bd89d],[_0x1eaaa7])=>_0x1bd89d[_0x1f2b75(0xbe,'\x51\x69\x65\x53')+_0x1f2b75(0x124,'\x4d\x74\x61\x53')](_0x1eaaa7))[_0x1f2b75(0xef,'\x71\x30\x50\x75')](([_0x51ff5f,_0x3adf96])=>[_0x51ff5f,canonicalHashValue(_0x3adf96)]));}function _0x5ed0(){const _0x21d9e7=['\x57\x50\x46\x64\x4f\x5a\x30\x49\x57\x50\x70\x64\x50\x6d\x6f\x32','\x66\x77\x79\x6f\x57\x36\x6c\x63\x48\x64\x42\x64\x47\x57','\x76\x64\x64\x64\x47\x68\x65','\x43\x38\x6b\x66\x57\x4f\x4e\x64\x54\x38\x6f\x6c\x77\x61','\x70\x53\x6f\x63\x57\x4f\x62\x56','\x72\x6d\x6b\x68\x57\x50\x52\x64\x4a\x53\x6b\x6a\x41\x6d\x6b\x58\x76\x6d\x6f\x50','\x57\x4f\x57\x59\x57\x34\x6c\x63\x4e\x57\x35\x50','\x57\x34\x44\x64\x71\x57','\x61\x53\x6b\x67\x57\x37\x4c\x53\x57\x35\x52\x63\x51\x61','\x64\x68\x75\x78','\x72\x53\x6f\x50\x79\x43\x6b\x31\x57\x4f\x74\x63\x48\x38\x6b\x56','\x61\x49\x42\x63\x4b\x73\x54\x44\x57\x51\x79\x6b','\x79\x4d\x35\x76\x77\x47','\x63\x6d\x6b\x4c\x70\x53\x6b\x45\x57\x35\x54\x6e\x6d\x53\x6b\x33\x42\x53\x6b\x67\x57\x36\x79','\x57\x37\x79\x61\x78\x6d\x6b\x63\x6d\x4b\x37\x63\x51\x71','\x76\x43\x6f\x66\x71\x38\x6f\x39\x74\x47','\x69\x43\x6f\x63\x57\x50\x66\x36\x57\x4f\x71\x2f\x57\x37\x4a\x63\x54\x71','\x65\x47\x65\x6f','\x57\x52\x69\x4a\x57\x34\x30','\x57\x50\x4b\x59\x57\x35\x74\x63\x4a\x47','\x57\x50\x31\x44\x6b\x57','\x67\x38\x6b\x69\x57\x37\x47\x67\x57\x50\x33\x63\x49\x6d\x6f\x76','\x69\x53\x6b\x74\x57\x52\x65\x4b\x43\x68\x4f\x4c','\x57\x52\x6d\x56\x57\x35\x76\x6e\x6e\x43\x6f\x46','\x66\x72\x38\x41\x6a\x38\x6f\x5a\x57\x50\x6a\x38\x57\x4f\x4b','\x6b\x31\x69\x70\x57\x50\x50\x56\x57\x36\x76\x6d\x57\x35\x6a\x33\x76\x49\x30\x76\x61\x57','\x74\x6d\x6b\x44\x57\x36\x70\x64\x4f\x6d\x6b\x36\x75\x43\x6b\x59\x57\x51\x30','\x72\x68\x7a\x75\x57\x37\x5a\x64\x4c\x4a\x64\x63\x51\x43\x6b\x49\x57\x4f\x72\x38','\x57\x51\x57\x6d\x45\x43\x6b\x6c\x64\x33\x52\x63\x4d\x38\x6b\x61','\x70\x43\x6f\x46\x57\x50\x31\x30\x57\x4f\x34\x76\x57\x35\x33\x63\x4a\x71','\x57\x36\x46\x64\x48\x38\x6b\x39\x57\x36\x75','\x6f\x72\x70\x63\x4d\x59\x7a\x32','\x57\x36\x71\x42\x57\x36\x62\x55\x57\x51\x2f\x63\x49\x58\x75','\x70\x53\x6b\x64\x66\x53\x6b\x55\x57\x37\x64\x63\x47\x6d\x6b\x32','\x57\x37\x7a\x6b\x57\x52\x42\x63\x4a\x71','\x57\x35\x54\x56\x57\x50\x33\x64\x4d\x76\x4f\x54\x45\x4e\x50\x6e\x57\x4f\x71\x73\x75\x43\x6f\x4b','\x78\x4e\x6a\x69','\x75\x76\x58\x6b\x57\x37\x61\x55\x57\x36\x4e\x63\x54\x6d\x6f\x30\x57\x51\x64\x63\x4d\x6d\x6b\x41\x57\x4f\x71','\x57\x36\x71\x43\x57\x37\x38','\x57\x37\x2f\x63\x48\x6d\x6f\x77\x57\x36\x47','\x57\x36\x74\x64\x48\x53\x6b\x56\x57\x37\x4c\x63\x6a\x57','\x66\x4a\x65\x68','\x65\x73\x6c\x64\x4c\x53\x6f\x74\x57\x35\x53\x52\x57\x34\x61','\x64\x59\x46\x64\x4d\x53\x6f\x6d\x57\x35\x38','\x72\x4e\x66\x7a\x57\x37\x37\x64\x54\x59\x52\x63\x51\x6d\x6b\x44\x57\x4f\x39\x74','\x79\x43\x6b\x46\x57\x50\x5a\x64\x51\x53\x6f\x48\x73\x68\x72\x58','\x57\x4f\x68\x64\x47\x58\x30','\x62\x38\x6b\x6f\x57\x36\x76\x52\x57\x34\x52\x63\x54\x53\x6f\x57\x6a\x71','\x57\x50\x53\x6b\x57\x34\x56\x64\x48\x38\x6f\x67\x57\x37\x6e\x66\x43\x47','\x57\x36\x70\x64\x4e\x43\x6f\x75\x57\x50\x6a\x79\x57\x36\x54\x35\x57\x4f\x75','\x62\x72\x79\x6f','\x6f\x59\x6c\x63\x51\x74\x35\x6e','\x57\x4f\x74\x63\x4c\x4d\x61\x56','\x41\x38\x6b\x63\x68\x53\x6f\x2b\x57\x52\x33\x64\x55\x32\x30','\x42\x48\x58\x6f\x57\x34\x47','\x57\x4f\x42\x64\x4a\x71\x71\x71','\x57\x34\x42\x64\x48\x74\x57','\x57\x51\x56\x64\x4b\x6d\x6b\x6d\x57\x52\x53\x37\x72\x38\x6b\x75\x57\x50\x75\x72\x57\x50\x65','\x57\x36\x70\x64\x47\x6d\x6b\x4e\x57\x36\x50\x71\x6d\x77\x57','\x57\x50\x30\x73\x57\x52\x5a\x64\x4a\x75\x38','\x57\x35\x68\x63\x51\x4c\x33\x64\x4b\x59\x4f\x76','\x57\x36\x68\x64\x49\x53\x6f\x64','\x57\x37\x56\x63\x47\x6d\x6f\x69\x57\x37\x34\x68\x45\x38\x6b\x44\x57\x52\x75','\x64\x53\x6f\x61\x57\x34\x70\x64\x50\x38\x6b\x6c\x44\x38\x6b\x56','\x57\x52\x2f\x63\x4a\x43\x6f\x6f\x57\x35\x4b\x54\x57\x34\x33\x63\x4a\x4d\x47','\x57\x36\x48\x65\x57\x52\x71','\x57\x4f\x50\x49\x57\x51\x4a\x64\x50\x74\x65\x66\x79\x49\x65','\x57\x36\x30\x43\x57\x37\x54\x47\x57\x4f\x78\x63\x49\x61\x71\x59','\x63\x53\x6b\x35\x57\x34\x71\x62\x57\x4f\x4f','\x65\x74\x4a\x64\x49\x43\x6f\x6b','\x57\x37\x46\x63\x4c\x6d\x6f\x6d\x57\x36\x34\x44\x45\x53\x6b\x44','\x68\x6d\x6f\x6a\x7a\x38\x6b\x4a\x57\x50\x68\x63\x4a\x38\x6b\x44','\x66\x38\x6b\x42\x57\x36\x44\x58\x57\x35\x68\x63\x56\x71','\x57\x34\x70\x64\x47\x74\x71','\x57\x36\x33\x64\x4e\x43\x6f\x43\x57\x51\x6a\x62\x57\x37\x6a\x56\x57\x34\x53','\x6c\x53\x6f\x6d\x57\x4f\x6a\x4f\x57\x50\x30\x32\x57\x35\x37\x63\x4b\x57','\x72\x4e\x39\x78\x57\x37\x52\x63\x50\x4c\x6c\x63\x47\x53\x6b\x77\x57\x52\x35\x67\x74\x53\x6b\x37','\x57\x52\x46\x63\x4a\x53\x6f\x37\x57\x34\x75\x56\x57\x34\x68\x63\x49\x71','\x57\x52\x6d\x78\x57\x37\x5a\x64\x49\x6d\x6f\x46\x57\x4f\x34\x6a\x67\x53\x6b\x31\x71\x4d\x30','\x57\x37\x52\x63\x56\x4b\x50\x71\x57\x50\x56\x63\x56\x68\x30\x46','\x57\x34\x34\x43\x45\x38\x6b\x6f\x57\x36\x64\x64\x4a\x33\x37\x63\x53\x43\x6f\x50\x57\x52\x56\x63\x4b\x47','\x62\x47\x75\x75\x57\x51\x58\x49\x57\x51\x4e\x63\x4c\x53\x6f\x71','\x57\x36\x65\x62\x57\x37\x31\x4a','\x44\x47\x62\x71\x57\x34\x4f\x56\x57\x52\x75','\x70\x53\x6b\x75\x67\x6d\x6b\x53\x57\x36\x75','\x57\x50\x2f\x63\x48\x4d\x6d\x4e\x57\x51\x6e\x55','\x57\x35\x58\x79\x57\x4f\x4a\x63\x4e\x6d\x6b\x74\x57\x52\x53\x34\x71\x4a\x43\x49\x57\x52\x72\x4c\x57\x50\x71','\x64\x61\x65\x74\x57\x51\x44\x4a\x57\x52\x6d','\x71\x32\x66\x78\x68\x73\x44\x5a\x57\x50\x4e\x64\x4b\x61','\x6c\x6d\x6b\x42\x57\x36\x65\x73\x57\x4f\x2f\x63\x47\x43\x6f\x63','\x76\x78\x50\x75\x62\x49\x72\x45','\x57\x50\x75\x4c\x72\x4c\x6d\x4f\x57\x37\x43','\x71\x53\x6b\x6d\x57\x37\x6c\x64\x4f\x43\x6b\x51','\x76\x33\x7a\x74\x72\x53\x6f\x4d','\x57\x50\x38\x52\x57\x34\x52\x63\x49\x48\x39\x2b','\x57\x36\x30\x68\x57\x37\x48\x35\x57\x51\x78\x63\x4c\x61','\x72\x58\x33\x64\x47\x49\x62\x2b\x6e\x31\x71\x4e\x57\x51\x70\x63\x48\x71','\x61\x5a\x75\x6a\x57\x51\x33\x64\x55\x61\x78\x63\x54\x57','\x66\x38\x6b\x68\x57\x37\x71\x51\x57\x4f\x52\x64\x52\x61','\x62\x64\x69\x6e\x57\x51\x46\x64\x56\x48\x6c\x63\x56\x61','\x57\x35\x33\x64\x4a\x5a\x79\x70','\x57\x37\x53\x43\x57\x37\x54\x49\x57\x51\x42\x63\x55\x72\x38\x4d','\x57\x4f\x34\x6f\x57\x34\x4e\x64\x4d\x6d\x6f\x73\x57\x36\x39\x54\x75\x47','\x74\x6d\x6b\x64\x57\x50\x46\x63\x55\x43\x6f\x44\x6e\x43\x6b\x39\x46\x43\x6f\x53\x6b\x73\x64\x63\x4b\x61','\x69\x53\x6f\x70\x57\x50\x48\x2b\x57\x4f\x53\x55','\x62\x47\x75\x75\x57\x51\x58\x59\x57\x52\x38','\x57\x4f\x71\x43\x57\x37\x4a\x64\x4d\x43\x6f\x76\x57\x36\x6a\x58','\x75\x43\x6f\x49\x43\x53\x6f\x6d\x57\x4f\x6e\x41\x70\x57','\x46\x6d\x6b\x42\x57\x34\x53\x4f\x57\x35\x39\x51\x57\x35\x64\x63\x4e\x38\x6f\x67\x57\x50\x4a\x64\x4e\x6d\x6b\x6b','\x63\x38\x6b\x6e\x57\x37\x39\x39\x57\x35\x5a\x63\x52\x47','\x57\x36\x46\x63\x56\x33\x62\x77\x57\x50\x52\x63\x56\x65\x79\x2b','\x57\x35\x56\x63\x50\x4c\x2f\x64\x47\x64\x53\x70','\x57\x37\x7a\x71\x57\x51\x4e\x63\x4c\x6d\x6b\x6a\x57\x4f\x79\x79','\x45\x6d\x6b\x58\x57\x52\x47\x6f\x43\x68\x69\x6f\x57\x51\x43','\x57\x4f\x50\x4e\x57\x52\x57','\x57\x52\x61\x4f\x57\x34\x31\x6c\x6f\x43\x6f\x69\x6c\x71','\x57\x36\x42\x63\x48\x4d\x34','\x45\x33\x76\x6f\x78\x43\x6f\x4a\x57\x4f\x52\x63\x47\x53\x6f\x4d','\x57\x4f\x6d\x77\x57\x52\x4a\x64\x4a\x78\x75','\x57\x51\x6c\x64\x4b\x38\x6f\x62\x57\x35\x4b','\x57\x51\x34\x77\x44\x38\x6b\x69\x62\x4d\x30','\x70\x53\x6b\x61\x57\x36\x71\x62\x57\x4f\x33\x63\x4c\x47','\x57\x36\x79\x70\x57\x36\x71','\x57\x34\x6e\x68\x71\x61','\x57\x34\x4c\x64\x71\x38\x6f\x48\x57\x51\x46\x63\x50\x6d\x6b\x33\x57\x36\x4b','\x6b\x66\x69\x6a\x57\x50\x39\x54\x57\x50\x47\x67\x57\x37\x58\x43\x42\x61\x34','\x57\x36\x43\x6c\x57\x37\x50\x51\x57\x52\x74\x63\x4a\x47','\x57\x51\x37\x63\x47\x53\x6f\x2b\x57\x36\x75\x4a\x72\x53\x6b\x6a','\x44\x53\x6b\x69\x6c\x38\x6f\x50','\x71\x59\x64\x64\x4e\x78\x57','\x45\x71\x72\x6f\x57\x35\x34\x55\x57\x52\x65\x7a\x57\x37\x47','\x57\x37\x78\x63\x52\x68\x62\x44\x57\x4f\x4a\x63\x51\x31\x65\x59','\x77\x38\x6b\x6f\x57\x37\x52\x64\x54\x6d\x6b\x4f\x77\x6d\x6b\x4c','\x65\x4a\x70\x63\x4f\x47\x64\x63\x47\x5a\x6d\x4d\x46\x47','\x57\x52\x4b\x4a\x57\x35\x44\x45\x6a\x6d\x6f\x66','\x57\x51\x78\x63\x47\x6d\x6f\x36\x57\x52\x4f\x70\x42\x63\x79\x74\x65\x53\x6b\x69\x57\x37\x62\x74\x57\x4f\x61','\x66\x43\x6f\x75\x57\x35\x30','\x57\x50\x2f\x64\x48\x58\x4b','\x57\x34\x46\x64\x4b\x57\x75\x6a\x57\x50\x74\x64\x4f\x43\x6f\x62','\x57\x4f\x47\x58\x76\x43\x6f\x70','\x57\x37\x52\x63\x4d\x67\x5a\x64\x56\x43\x6f\x4e','\x68\x53\x6f\x69\x57\x51\x64\x63\x4f\x43\x6f\x2b\x63\x38\x6f\x56\x57\x50\x64\x63\x48\x38\x6f\x57\x67\x4a\x61\x44','\x57\x52\x78\x63\x4e\x38\x6f\x34\x57\x34\x6d\x32\x57\x34\x4a\x63\x4e\x33\x34','\x57\x37\x4e\x63\x48\x43\x6f\x43','\x57\x50\x53\x58\x78\x6d\x6f\x70\x6a\x71','\x57\x35\x74\x63\x4f\x4b\x68\x64\x4c\x64\x4f\x6c\x65\x38\x6f\x56','\x57\x4f\x34\x4b\x73\x6d\x6f\x46\x6f\x30\x75\x36','\x69\x6d\x6f\x65\x57\x50\x58\x44\x57\x4f\x4b\x5a\x57\x35\x46\x63\x52\x57','\x57\x52\x4f\x5a\x57\x34\x31\x41\x70\x38\x6f\x61\x6f\x57','\x57\x4f\x48\x57\x57\x51\x56\x64\x53\x5a\x61\x32\x42\x4a\x79','\x42\x38\x6b\x71\x6c\x57','\x70\x6d\x6f\x48\x57\x52\x4a\x63\x4e\x47\x64\x64\x4d\x61','\x57\x4f\x6d\x4f\x57\x37\x33\x63\x49\x47\x31\x2b\x63\x32\x61','\x57\x4f\x56\x64\x47\x38\x6f\x45\x77\x47\x74\x64\x51\x33\x65','\x63\x38\x6f\x63\x44\x6d\x6f\x41\x57\x50\x7a\x73\x64\x71','\x57\x4f\x75\x37\x75\x53\x6f\x65','\x57\x4f\x5a\x63\x54\x53\x6f\x51\x57\x52\x43\x47\x57\x52\x37\x64\x49\x32\x4b','\x65\x75\x37\x63\x4c\x78\x65','\x65\x74\x56\x64\x4b\x53\x6f\x44\x57\x35\x38','\x57\x35\x7a\x4d\x64\x38\x6f\x55\x6e\x65\x30\x55\x57\x36\x6c\x64\x53\x71','\x66\x38\x6b\x67\x57\x36\x39\x39','\x57\x52\x57\x32\x57\x50\x78\x64\x49\x33\x69','\x74\x63\x74\x64\x47\x61','\x64\x61\x53\x45\x57\x51\x66\x37\x57\x52\x37\x63\x53\x6d\x6f\x38','\x68\x38\x6f\x7a\x46\x43\x6b\x4e\x57\x4f\x52\x63\x49\x47','\x6b\x43\x6f\x4e\x57\x51\x42\x63\x4e\x47','\x57\x35\x52\x63\x4f\x4b\x4e\x64\x50\x63\x6d\x73\x62\x43\x6f\x73','\x44\x38\x6b\x2f\x57\x51\x53\x43\x41\x78\x53\x4f\x57\x4f\x65','\x73\x73\x74\x64\x47\x57','\x57\x51\x42\x63\x4a\x6d\x6f\x4e\x57\x35\x38\x4c\x57\x36\x56\x63\x4e\x66\x4f','\x66\x62\x79\x75\x57\x51\x44\x57\x57\x52\x37\x63\x47\x71'];_0x5ed0=function(){return _0x21d9e7;};return _0x5ed0();}function hashStable(_0x4ce063){const _0x373adc=_0x4c29;return createHash(_0x373adc(0x110,'\x55\x4f\x38\x57'))[_0x373adc(0x10c,'\x45\x49\x65\x5d')](JSON[_0x373adc(0x123,'\x66\x72\x4c\x31')+'\x79'](canonicalHashValue(_0x4ce063)))['\x64\x69\x67\x65\x73\x74'](_0x373adc(0xe6,'\x42\x21\x74\x6a'));}export function triggerOverlapScore(_0x4af45b,_0x39fd59){const _0x53d2ac=_0x4c29,_0x5f11a5=new Set(_0x4af45b[_0x53d2ac(0x128,'\x61\x58\x74\x50')](String)[_0x53d2ac(0x9a,'\x33\x55\x6f\x2a')](Boolean)),_0x501f8c=new Set(_0x39fd59['\x6d\x61\x70'](String)[_0x53d2ac(0x127,'\x43\x68\x78\x6e')](Boolean));if(_0x5f11a5[_0x53d2ac(0x125,'\x59\x4c\x4b\x4b')]===0x39e+0x26bb+-0x2a59||_0x501f8c[_0x53d2ac(0xc1,'\x45\x49\x65\x5d')]===0x56*0x3+-0x14b+-0x49*-0x1)return 0x18*0x16e+-0x1e83+0x8b*-0x7;let _0x4b12a0=0x3*-0x11f+0x3*0x26d+-0x1*0x3ea;for(const _0x9b399d of _0x5f11a5)if(_0x501f8c[_0x53d2ac(0x8b,'\x37\x37\x62\x63')](_0x9b399d))_0x4b12a0+=-0x1d*-0x3d+-0xe2*-0x14+-0x1890;return _0x4b12a0/new Set([..._0x5f11a5,..._0x501f8c])[_0x53d2ac(0xa3,'\x55\x4f\x38\x57')];}function compatibleWithCluster(_0xd8c6ba,_0x476bfc,_0x19f59c){const _0x2604cc=_0x4c29;let _0x5b5dfe=-0x14*0x17+0x26e3+-0x2517;for(const _0x3f4a11 of _0x476bfc[_0x2604cc(0xec,'\x24\x5a\x71\x67')]){if(_0x2604cc(0xe1,'\x69\x5a\x57\x31')!=='\x74\x76\x54\x49\x6f'){const _0x4dd844=triggerOverlapScore(_0xd8c6ba[_0x2604cc(0xe8,'\x6d\x64\x5b\x7a')],_0x3f4a11[_0x2604cc(0xaf,'\x6d\x69\x4b\x79')]);if(_0x4dd844<_0x19f59c)return{'\x6f\x6b':![],'\x61\x76\x67':_0x4dd844};_0x5b5dfe+=_0x4dd844;}else{const _0x364d4e=_0x3a1836(_0x5ccb35,_0x577033[_0x16944e],_0x530fc0);_0x364d4e['\x6f\x6b']&&_0x364d4e[_0x2604cc(0xeb,'\x30\x69\x65\x40')]>_0x3855ff&&(_0x39fb29=_0x6e3c59,_0x229c40=_0x364d4e[_0x2604cc(0xc2,'\x79\x5a\x61\x68')]);}}return{'\x6f\x6b':!![],'\x61\x76\x67':_0x476bfc[_0x2604cc(0x85,'\x4e\x47\x5a\x30')][_0x2604cc(0x81,'\x61\x58\x74\x50')]>-0x1f6b*-0x1+-0x223f+-0x1*-0x2d4?_0x5b5dfe/_0x476bfc[_0x2604cc(0x9f,'\x40\x42\x54\x56')]['\x6c\x65\x6e\x67\x74\x68']:-0x6d*-0x3d+0x1e00+-0x37f8};}function recurringTrigger(_0x424497,_0x218024){const _0xe618a0=_0x4c29,_0x46a5a2=new Map();for(const _0x5631c0 of _0x424497){if(_0xe618a0(0xcd,'\x69\x5a\x57\x31')!=='\x76\x6e\x43\x6b\x4f'){for(const _0x3836a7 of _0x5631c0[_0xe618a0(0xcf,'\x6f\x45\x72\x32')])_0x46a5a2[_0xe618a0(0x8c,'\x73\x45\x4a\x23')](_0x3836a7,(_0x46a5a2[_0xe618a0(0xc0,'\x6f\x6e\x45\x4d')](_0x3836a7)??-0x18c0+-0x17dd+0x309d)+(-0x537+0x72b*-0x2+0x2*0x9c7));}else{if(_0x58469e[_0xe618a0(0xe4,'\x4e\x47\x5a\x30')]!=='\x43\x61\x70\x73\x75\x6c\x65')return![];const _0xa76376=_0x25f3b7[_0xe618a0(0xf5,'\x37\x50\x31\x41')];return _0x2462f4(_0xa76376&&typeof _0xa76376===_0xe618a0(0x11b,'\x55\x4f\x38\x57')&&!_0x14da9f[_0xe618a0(0x8d,'\x42\x21\x74\x6a')](_0xa76376)&&_0xa76376[_0xe618a0(0xd6,'\x6d\x64\x5b\x7a')]===_0xe618a0(0x117,'\x55\x4b\x44\x6b'));}}return[..._0x46a5a2[_0xe618a0(0x9c,'\x50\x51\x61\x28')]()][_0xe618a0(0xb6,'\x55\x4f\x38\x57')](([,_0x38d6c4])=>_0x38d6c4>=_0x218024)[_0xe618a0(0xd2,'\x50\x4c\x6b\x65')](([_0x4e0c71])=>_0x4e0c71)[_0xe618a0(0x112,'\x42\x21\x74\x6a')]();}function sharedTrigger(_0x2c858b){const _0x28af3f=_0x4c29;return recurringTrigger(_0x2c858b,_0x2c858b[_0x28af3f(0xa7,'\x37\x50\x31\x41')]);}function clusterId(_0xb7538a){const _0x363476=_0x4c29;return _0x363476(0xdb,'\x5d\x47\x4d\x4b')+_0x363476(0xe9,'\x4d\x74\x61\x53')+hashStable(_0xb7538a[_0x363476(0xb7,'\x6d\x69\x4b\x79')](stableCapsuleView))[_0x363476(0xa1,'\x57\x73\x54\x53')](0x22af+0x3fb*-0x1+-0x1eb4,0x16*0x131+-0x1*0x11d9+-0x84d);}function toFailureCluster(_0x5a26e1,_0x5a1994){const _0x1a5c3d=_0x4c29,_0x5116af=[..._0x5a26e1[_0x1a5c3d(0x98,'\x26\x63\x58\x67')]][_0x1a5c3d(0xb2,'\x51\x69\x65\x53')]((_0x436f1c,_0x4943e7)=>_0x436f1c[_0x1a5c3d(0x7f,'\x4a\x64\x75\x4f')+'\x64'][_0x1a5c3d(0xaa,'\x79\x71\x43\x52')+'\x6d\x70\x61\x72\x65'](_0x4943e7[_0x1a5c3d(0xdd,'\x55\x4f\x38\x57')+'\x64']));return{'\x63\x6c\x75\x73\x74\x65\x72\x49\x64':clusterId(_0x5116af),'\x74\x72\x69\x67\x67\x65\x72':recurringTrigger(_0x5116af,_0x5a1994),'\x73\x68\x61\x72\x65\x64\x54\x72\x69\x67\x67\x65\x72':sharedTrigger(_0x5116af),'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x5116af[_0x1a5c3d(0x99,'\x41\x46\x70\x69')](_0x4658ac=>_0x4658ac[_0x1a5c3d(0xc8,'\x56\x44\x55\x21')+'\x64']),'\x67\x65\x6e\x65\x73':[...new Set(_0x5116af[_0x1a5c3d(0xb5,'\x4a\x64\x75\x4f')](_0xf550aa=>_0xf550aa[_0x1a5c3d(0x8e,'\x56\x55\x58\x54')])[_0x1a5c3d(0xb4,'\x45\x49\x65\x5d')](_0x214c75=>Boolean(_0x214c75)))][_0x1a5c3d(0xd0,'\x71\x30\x50\x75')](),'\x66\x61\x69\x6c\x75\x72\x65\x43\x61\x70\x73\x75\x6c\x65\x73':_0x5116af};}function positiveInteger(_0x1d4060,_0x3f7987){const _0x43fbc5=_0x4c29;return Number[_0x43fbc5(0xfd,'\x6b\x61\x34\x64')+_0x43fbc5(0x102,'\x6f\x45\x72\x32')](_0x1d4060)&&_0x1d4060!==undefined&&_0x1d4060>0x227a+0x1cb4+-0x3f2e?_0x1d4060:_0x3f7987;}function _0x4c29(_0x690f58,_0x1777a7){_0x690f58=_0x690f58-(0x1145*-0x1+0x2a*0x97+-0x703*0x1);const _0x2a9b3a=_0x5ed0();let _0x3483de=_0x2a9b3a[_0x690f58];if(_0x4c29['\x50\x76\x53\x6b\x75\x43']===undefined){var _0x238e62=function(_0x2c6e2d){const _0x244cbd='\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 _0x58e7dd='',_0x293baa='';for(let _0x4bb54b=-0x1c*0xee+-0x16b2+-0x3f*-0xc6,_0x417459,_0x403fe4,_0x464458=0x25c4+-0xf03+-0x16c1;_0x403fe4=_0x2c6e2d['\x63\x68\x61\x72\x41\x74'](_0x464458++);~_0x403fe4&&(_0x417459=_0x4bb54b%(-0x18a7*0x1+0x220f*0x1+0x4b2*-0x2)?_0x417459*(-0xb*0x30a+-0xf97+-0x3145*-0x1)+_0x403fe4:_0x403fe4,_0x4bb54b++%(-0x7fa+-0x943+0x277*0x7))?_0x58e7dd+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x182a+0x165e+0x37*0xd&_0x417459>>(-(-0x79d+-0x8ec+0x108b)*_0x4bb54b&0xef*-0x3+-0x568+0x83b*0x1)):-0x8bc*-0x2+-0x1802*-0x1+-0x297a){_0x403fe4=_0x244cbd['\x69\x6e\x64\x65\x78\x4f\x66'](_0x403fe4);}for(let _0x1f45b4=0x10c5+0x1484+0x17*-0x19f,_0x429749=_0x58e7dd['\x6c\x65\x6e\x67\x74\x68'];_0x1f45b4<_0x429749;_0x1f45b4++){_0x293baa+='\x25'+('\x30\x30'+_0x58e7dd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1f45b4)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x26b*0xb+-0x1ac7+-0x9*-0x5f0))['\x73\x6c\x69\x63\x65'](-(0x1218+-0xa6*0xb+-0xaf4));}return decodeURIComponent(_0x293baa);};const _0x216951=function(_0x523571,_0x3a44ae){let _0xf4f4b4=[],_0x20502f=0x21*0x3e+0xbb*0x17+0x241*-0xb,_0x27a97c,_0x3df4ac='';_0x523571=_0x238e62(_0x523571);let _0x9d9d01;for(_0x9d9d01=-0x13df+-0x681+0x1a60;_0x9d9d01<-0x17b1+-0x1*-0x8c7+0xfea;_0x9d9d01++){_0xf4f4b4[_0x9d9d01]=_0x9d9d01;}for(_0x9d9d01=0x1*-0x48f+-0x4*0x193+0xadb;_0x9d9d01<-0xfbc+-0x11f4*0x1+-0x1158*-0x2;_0x9d9d01++){_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01]+_0x3a44ae['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x9d9d01%_0x3a44ae['\x6c\x65\x6e\x67\x74\x68']))%(0x13f7*0x1+0x1*0x2f1+-0x15e8),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c;}_0x9d9d01=0x1*0xd31+0x1f19+0x1625*-0x2,_0x20502f=-0xc*-0x6c+0x2602+-0x1*0x2b12;for(let _0x3790d3=0xe2c+-0xb3*-0x31+-0x306f;_0x3790d3<_0x523571['\x6c\x65\x6e\x67\x74\x68'];_0x3790d3++){_0x9d9d01=(_0x9d9d01+(0x166*0xf+-0x210c+0xc13))%(0x2074+-0x1847+-0x72d),_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01])%(-0x1dd*0x3+0x8e4+-0x24d),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c,_0x3df4ac+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x523571['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3790d3)^_0xf4f4b4[(_0xf4f4b4[_0x9d9d01]+_0xf4f4b4[_0x20502f])%(-0x7*-0x18a+-0x76*0x43+-0x2*-0xa8e)]);}return _0x3df4ac;};_0x4c29['\x55\x69\x66\x4b\x7a\x42']=_0x216951,_0x4c29['\x6a\x41\x69\x70\x68\x6c']={},_0x4c29['\x50\x76\x53\x6b\x75\x43']=!![];}const _0x7b5b9b=_0x2a9b3a[0x3ff+-0x2f5+0x26*-0x7],_0x18e289=_0x690f58+_0x7b5b9b,_0x558c1a=_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289];return!_0x558c1a?(_0x4c29['\x50\x78\x66\x70\x4d\x59']===undefined&&(_0x4c29['\x50\x78\x66\x70\x4d\x59']=!![]),_0x3483de=_0x4c29['\x55\x69\x66\x4b\x7a\x42'](_0x3483de,_0x1777a7),_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289]=_0x3483de):_0x3483de=_0x558c1a,_0x3483de;}function nonNegativeInteger(_0x12ce3e,_0xed06c0){const _0x2ac855=_0x4c29;return Number[_0x2ac855(0x9b,'\x45\x49\x65\x5d')+'\x74\x65\x67\x65\x72'](_0x12ce3e)&&_0x12ce3e!==undefined&&_0x12ce3e>=0x1a06*0x1+0x1fd0+-0x39d6?_0x12ce3e:_0xed06c0;}function overlapThreshold(_0x209e47){const _0x2d6b03=_0x4c29;return typeof _0x209e47===_0x2d6b03(0x126,'\x2a\x55\x5b\x65')&&Number[_0x2d6b03(0xee,'\x30\x67\x77\x42')](_0x209e47)&&_0x209e47>=-0x4a*-0x25+0x1850*0x1+0x1*-0x2302&&_0x209e47<=0x4dd+0xcda+-0x11b6?_0x209e47:ANTI_DISTILL_TRIGGER_OVERLAP_MIN;}export function collectAntiDistillInput(_0x361664,_0x59b737={}){const _0x2efb7e=_0x4c29,_0x52f9ac=positiveInteger(_0x59b737[_0x2efb7e(0x96,'\x51\x69\x65\x53')+_0x2efb7e(0xbf,'\x55\x4b\x44\x6b')],ANTI_DISTILL_MIN_FAILURES),_0x4c38af=overlapThreshold(_0x59b737[_0x2efb7e(0x11c,'\x6b\x61\x34\x64')+_0x2efb7e(0xde,'\x63\x6a\x32\x77')+'\x6e']),_0x17d5b1=_0x361664[_0x2efb7e(0xc5,'\x6f\x6e\x45\x4d')](isFailedCapsule)[_0x2efb7e(0x105,'\x55\x4b\x44\x6b')],_0x4dadf6=new Set(),_0x1aab34=_0x361664[_0x2efb7e(0x128,'\x61\x58\x74\x50')]((_0x446385,_0x4f2c44)=>capsuleDigest(_0x446385,_0x4f2c44))[_0x2efb7e(0xea,'\x23\x57\x5b\x54')](_0x1def1d=>_0x1def1d!==null)['\x66\x69\x6c\x74\x65\x72'](_0x1e6eda=>{const _0x38f694=_0x2efb7e;if(_0x4dadf6[_0x38f694(0xa5,'\x58\x73\x38\x66')](_0x1e6eda['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64']))return![];return _0x4dadf6[_0x38f694(0x92,'\x24\x5a\x71\x67')](_0x1e6eda[_0x38f694(0x88,'\x42\x56\x65\x24')+'\x64']),!![];})[_0x2efb7e(0x112,'\x42\x21\x74\x6a')]((_0x1d81b1,_0x3cd145)=>_0x1d81b1[_0x2efb7e(0x114,'\x63\x6a\x32\x77')+'\x64']['\x6c\x6f\x63\x61\x6c\x65\x43\x6f'+_0x2efb7e(0xd9,'\x57\x73\x54\x53')](_0x3cd145['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64'])),_0x143148=[];for(const _0x52c6e5 of _0x1aab34){if(_0x2efb7e(0xa4,'\x4d\x74\x61\x53')===_0x2efb7e(0xf2,'\x43\x68\x78\x6e')){let _0x406061=-(-0x1*0x1a7c+0x12be+-0x3*-0x295),_0x3ccc57=-(-0x1861+0x1d77*-0x1+0x35d9);for(let _0x248e76=-0x2090+0x22d1+-0x241;_0x248e76<_0x143148['\x6c\x65\x6e\x67\x74\x68'];_0x248e76+=-0x2448+0x1a5*-0x8+0x107b*0x3){const _0x49e305=compatibleWithCluster(_0x52c6e5,_0x143148[_0x248e76],_0x4c38af);_0x49e305['\x6f\x6b']&&_0x49e305[_0x2efb7e(0x120,'\x26\x63\x58\x67')]>_0x3ccc57&&(_0x406061=_0x248e76,_0x3ccc57=_0x49e305[_0x2efb7e(0xd7,'\x65\x50\x24\x37')]);}if(_0x406061>=-0xe5*-0x2b+0x575+-0x2bec)_0x143148[_0x406061][_0x2efb7e(0x91,'\x30\x67\x77\x42')][_0x2efb7e(0xb0,'\x58\x73\x38\x66')](_0x52c6e5);else _0x143148[_0x2efb7e(0xcc,'\x6d\x64\x5b\x7a')]({'\x63\x61\x70\x73\x75\x6c\x65\x73':[_0x52c6e5]});}else return _0x17631a['\x69\x73\x53\x61\x66\x65\x49\x6e'+_0x2efb7e(0x93,'\x56\x55\x58\x54')](_0x1fbccb)&&_0x278280!==_0x3bb4b6&&_0x13f76a>-0x2556+-0xf7d+0x34d3?_0x256112:_0x54427c;}const _0x3c3137=_0x143148[_0x2efb7e(0x10d,'\x61\x58\x74\x50')](_0x3ff0aa=>_0x3ff0aa[_0x2efb7e(0xc6,'\x23\x66\x67\x41')][_0x2efb7e(0x101,'\x4e\x47\x5a\x30')]>=_0x52f9ac)[_0x2efb7e(0xdc,'\x73\x45\x4a\x23')](_0x20f29c=>toFailureCluster(_0x20f29c,_0x52f9ac))['\x73\x6f\x72\x74']((_0x407205,_0x2ac33c)=>_0x2ac33c[_0x2efb7e(0x86,'\x6b\x61\x34\x64')+_0x2efb7e(0xfb,'\x30\x67\x77\x42')][_0x2efb7e(0x105,'\x55\x4b\x44\x6b')]-_0x407205[_0x2efb7e(0xff,'\x55\x4b\x44\x6b')+_0x2efb7e(0x95,'\x56\x55\x58\x54')][_0x2efb7e(0x11d,'\x23\x57\x5b\x54')]||_0x407205[_0x2efb7e(0x10f,'\x65\x50\x24\x37')][_0x2efb7e(0xba,'\x66\x72\x4c\x31')]('\x00')[_0x2efb7e(0xa6,'\x55\x4b\x44\x6b')+_0x2efb7e(0xbd,'\x59\x5e\x4d\x55')](_0x2ac33c[_0x2efb7e(0xb9,'\x69\x5a\x57\x31')][_0x2efb7e(0x100,'\x61\x58\x74\x50')]('\x00'))||_0x407205[_0x2efb7e(0x88,'\x42\x56\x65\x24')+'\x64\x73'][_0x2efb7e(0xe5,'\x73\x45\x4a\x23')]('\x00')[_0x2efb7e(0xca,'\x2a\x55\x5b\x65')+_0x2efb7e(0x10a,'\x56\x44\x55\x21')](_0x2ac33c[_0x2efb7e(0x94,'\x23\x57\x5b\x54')+'\x64\x73'][_0x2efb7e(0x9e,'\x56\x55\x58\x54')]('\x00')))[_0x2efb7e(0x8f,'\x50\x4b\x36\x53')](0x2474+0x1681+0x183*-0x27,_0x59b737[_0x2efb7e(0xa9,'\x23\x57\x5b\x54')+_0x2efb7e(0xe0,'\x55\x4b\x44\x6b')]!==undefined?nonNegativeInteger(_0x59b737[_0x2efb7e(0xf8,'\x30\x69\x65\x40')+'\x65\x72\x73'],_0x143148[_0x2efb7e(0x89,'\x6f\x6e\x45\x4d')]):_0x143148[_0x2efb7e(0x109,'\x25\x77\x55\x4a')]);return{'\x64\x61\x74\x61\x48\x61\x73\x68':hashStable(_0x3c3137[_0x2efb7e(0xb7,'\x6d\x69\x4b\x79')](_0x3f6bd5=>({'\x74\x72\x69\x67\x67\x65\x72':_0x3f6bd5[_0x2efb7e(0x107,'\x43\x68\x78\x6e')],'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x3f6bd5[_0x2efb7e(0x11f,'\x79\x71\x43\x52')+'\x64\x73']}))),'\x66\x61\x69\x6c\x65\x64\x43\x61\x70\x73\x75\x6c\x65\x43\x6f\x75\x6e\x74':_0x17d5b1,'\x63\x6c\x75\x73\x74\x65\x72\x61\x62\x6c\x65\x46\x61\x69\x6c\x75\x72\x65\x43\x6f\x75\x6e\x74':_0x1aab34['\x6c\x65\x6e\x67\x74\x68'],'\x66\x61\x69\x6c\x75\x72\x65\x43\x6c\x75\x73\x74\x65\x72\x73':_0x3c3137};}
package/dist/algo/bans.js CHANGED
@@ -1,33 +1 @@
1
- // Ban genes that have repeatedly failed on the SAME signals (ported from v1 selector.js
2
- // banGenesFromFailedCapsules). Complements epigenetic suppression (which is per-environment): this is a
3
- // hard, signal-overlap-based exclusion — a gene with >=2 failed capsules whose trigger covers the current
4
- // signals is dropped from the candidate set, so a strategy that keeps failing here is not resurrected.
5
- const BAN_THRESHOLD = 2;
6
- const OVERLAP_MIN = 0.6;
7
- /** Fraction of the current signals covered by a failure's trigger (how much it is "the same problem"). */
8
- function signalCoverage(signals, trigger) {
9
- if (signals.length === 0)
10
- return 0;
11
- const t = new Set(trigger.map((s) => String(s)));
12
- let hit = 0;
13
- for (const s of signals)
14
- if (t.has(s))
15
- hit += 1;
16
- return hit / signals.length;
17
- }
18
- /** Gene ids with >=2 failed capsules whose trigger covers >=60% of the current signals. */
19
- export function bannedGenesFromFailures(failures, signals) {
20
- const counts = new Map();
21
- for (const fc of failures) {
22
- if (!fc.gene)
23
- continue;
24
- if (signalCoverage(signals, fc.trigger ?? []) < OVERLAP_MIN)
25
- continue;
26
- counts.set(fc.gene, (counts.get(fc.gene) ?? 0) + 1);
27
- }
28
- const banned = new Set();
29
- for (const [gene, c] of counts)
30
- if (c >= BAN_THRESHOLD)
31
- banned.add(gene);
32
- return banned;
33
- }
1
+ (function(_0x58a774,_0x2eda0a){const _0x3a2e89=_0x3561,_0x2d135e=_0x58a774();while(!![]){try{const _0x3fd856=parseInt(_0x3a2e89(0x111,'\x7a\x47\x36\x63'))/(0x102a+0x1526+0x1*-0x254f)+-parseInt(_0x3a2e89(0x121,'\x57\x67\x44\x23'))/(0x4*-0x44d+-0x16a8+0x27de)*(-parseInt(_0x3a2e89(0x11c,'\x76\x6f\x66\x46'))/(-0x975+0x607+-0x1*-0x371))+parseInt(_0x3a2e89(0x114,'\x4f\x48\x38\x35'))/(-0xf16*-0x1+0xfdf+0x1*-0x1ef1)*(-parseInt(_0x3a2e89(0x118,'\x38\x77\x72\x4b'))/(-0x1*-0x17b2+-0x22dd+-0x1*-0xb30))+parseInt(_0x3a2e89(0x10a,'\x38\x46\x74\x36'))/(-0xca5+-0x1*-0x13d7+-0x22*0x36)*(-parseInt(_0x3a2e89(0x105,'\x70\x74\x49\x26'))/(0x12ff+0x481*-0x5+-0x12f*-0x3))+parseInt(_0x3a2e89(0x115,'\x50\x4b\x47\x50'))/(0x2*-0xb6f+-0x121e+0x1482*0x2)+parseInt(_0x3a2e89(0x112,'\x47\x67\x33\x73'))/(0x1f84*-0x1+-0x1*0x996+0x2923*0x1)+-parseInt(_0x3a2e89(0x11b,'\x71\x79\x65\x31'))/(0x667*0x1+-0x305*-0x6+-0x187b)*(parseInt(_0x3a2e89(0x119,'\x67\x74\x33\x35'))/(-0x214b+-0x311*-0x3+0x1*0x1823));if(_0x3fd856===_0x2eda0a)break;else _0x2d135e['push'](_0x2d135e['shift']());}catch(_0x3e3dc){_0x2d135e['push'](_0x2d135e['shift']());}}}(_0x3b9e,-0x1*-0x56a1f+0x2a821+-0xa9*0x35c));const BAN_THRESHOLD=0x1ea0+-0xc03+0x129b*-0x1,OVERLAP_MIN=0x1*0x248e+-0x2*-0x123b+-0x4904+0.6;function _0x3b9e(){const _0x560d4d=['\x6b\x75\x6c\x64\x56\x43\x6f\x32\x6e\x43\x6b\x61','\x6e\x57\x46\x63\x4e\x53\x6f\x6a\x57\x35\x6c\x64\x51\x32\x75\x65\x6e\x61','\x71\x67\x6c\x63\x4a\x49\x70\x64\x4c\x38\x6f\x61\x57\x4f\x72\x56\x46\x67\x68\x64\x54\x72\x74\x64\x51\x47','\x7a\x53\x6f\x68\x57\x50\x71\x61','\x67\x6d\x6f\x74\x69\x57','\x6d\x57\x46\x63\x4d\x43\x6b\x42\x57\x52\x42\x63\x52\x4d\x75\x6a\x6c\x38\x6f\x33\x68\x71\x61','\x57\x52\x52\x63\x48\x4a\x50\x38\x77\x4a\x70\x64\x4c\x59\x56\x64\x48\x53\x6b\x67\x57\x50\x56\x64\x50\x75\x75','\x6f\x53\x6b\x66\x57\x51\x4e\x63\x52\x43\x6b\x47\x57\x4f\x71','\x57\x50\x47\x2f\x64\x6d\x6b\x7a\x57\x4f\x69\x79\x44\x53\x6b\x45\x72\x73\x34','\x73\x38\x6b\x63\x44\x76\x69\x50\x57\x4f\x74\x64\x52\x4e\x64\x63\x4a\x72\x42\x64\x53\x49\x52\x64\x49\x71','\x67\x43\x6f\x69\x73\x4e\x78\x63\x52\x68\x52\x64\x50\x33\x31\x41\x44\x63\x52\x64\x52\x4c\x4f','\x57\x4f\x70\x64\x54\x63\x64\x63\x48\x38\x6f\x74\x6a\x6d\x6f\x6a\x69\x61','\x67\x38\x6f\x69\x74\x4e\x68\x64\x52\x74\x4a\x63\x4d\x75\x58\x61\x72\x47','\x44\x62\x42\x63\x4f\x38\x6f\x31\x65\x38\x6b\x41\x6e\x53\x6b\x31\x45\x61','\x57\x35\x37\x64\x53\x58\x56\x64\x4d\x71','\x42\x53\x6b\x6d\x57\x4f\x4f\x77\x57\x51\x76\x47\x57\x50\x70\x63\x4f\x43\x6b\x6d\x57\x52\x30','\x57\x4f\x4a\x63\x50\x4b\x46\x63\x4a\x74\x56\x64\x52\x73\x2f\x63\x50\x77\x70\x64\x53\x77\x52\x64\x49\x38\x6f\x57','\x44\x58\x68\x64\x4f\x6d\x6f\x76\x57\x51\x75\x4b\x57\x34\x31\x63\x45\x43\x6f\x39','\x74\x6d\x6f\x68\x45\x61','\x43\x62\x42\x63\x50\x6d\x6b\x4e\x44\x38\x6f\x46\x6e\x53\x6b\x34\x79\x57\x4f\x45\x72\x57','\x57\x51\x42\x63\x50\x53\x6f\x4b\x57\x52\x69\x62\x7a\x65\x71','\x64\x43\x6f\x31\x78\x6d\x6b\x6f\x62\x4b\x47\x4a','\x41\x53\x6f\x2f\x57\x35\x61','\x70\x43\x6f\x71\x57\x35\x31\x64','\x69\x53\x6b\x73\x57\x51\x37\x63\x52\x43\x6b\x5a\x57\x4f\x4e\x63\x50\x61','\x57\x37\x44\x39\x57\x4f\x34\x55\x62\x43\x6f\x4c\x57\x50\x33\x63\x4a\x4c\x6c\x63\x50\x76\x5a\x63\x4a\x57','\x6c\x68\x66\x43\x43\x43\x6f\x36\x57\x4f\x4f\x6c\x76\x61','\x76\x43\x6b\x51\x63\x64\x34\x74\x57\x52\x5a\x63\x4b\x38\x6f\x4f\x66\x43\x6f\x78','\x57\x37\x4e\x63\x4b\x6d\x6f\x65','\x57\x35\x65\x36\x57\x51\x64\x63\x47\x61\x7a\x6b\x57\x50\x33\x63\x50\x6d\x6b\x30\x6e\x47\x56\x63\x4b\x6d\x6b\x6a','\x43\x49\x58\x55','\x57\x35\x52\x63\x4a\x4d\x4a\x63\x56\x53\x6b\x72\x68\x6d\x6f\x71\x57\x36\x43\x4f\x57\x52\x4f\x31\x57\x34\x65','\x57\x51\x74\x64\x47\x38\x6b\x32\x75\x31\x68\x63\x56\x38\x6f\x4c\x57\x37\x6c\x64\x50\x58\x6d'];_0x3b9e=function(){return _0x560d4d;};return _0x3b9e();}function _0x3561(_0x500f79,_0x1fd020){_0x500f79=_0x500f79-(0x1*0x46f+0x11ff+-0x1569);const _0xfc008e=_0x3b9e();let _0x257f89=_0xfc008e[_0x500f79];if(_0x3561['\x6a\x52\x48\x43\x55\x68']===undefined){var _0x159fe7=function(_0x57b129){const _0x45ab6e='\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 _0x1ab097='',_0x140931='';for(let _0x387050=0x20c1+0x515*-0x5+-0x758,_0x3d8189,_0x14b1af,_0xf26c84=-0x6d*-0x34+-0x1db5*-0x1+-0x33d9;_0x14b1af=_0x57b129['\x63\x68\x61\x72\x41\x74'](_0xf26c84++);~_0x14b1af&&(_0x3d8189=_0x387050%(-0x221f*0x1+0x2535+0x6*-0x83)?_0x3d8189*(-0x1*-0x1867+-0x451+-0x13d6)+_0x14b1af:_0x14b1af,_0x387050++%(0x1423*0x1+0x1*0x2057+-0xa*0x53f))?_0x1ab097+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x167e*0x1+-0x1c82+-0x11*-0x30f&_0x3d8189>>(-(0x1841+-0x1c94+0x455*0x1)*_0x387050&-0x1a5d*0x1+-0x29*0xdd+0x3dc8)):0x1b17+0x2f*0x3+-0x1ba4){_0x14b1af=_0x45ab6e['\x69\x6e\x64\x65\x78\x4f\x66'](_0x14b1af);}for(let _0x2425ce=0xa*-0x221+0x35f*0xb+-0x1*0xfcb,_0x370b78=_0x1ab097['\x6c\x65\x6e\x67\x74\x68'];_0x2425ce<_0x370b78;_0x2425ce++){_0x140931+='\x25'+('\x30\x30'+_0x1ab097['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2425ce)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x6*-0x35c+0x1ecf+-0x32e7))['\x73\x6c\x69\x63\x65'](-(-0x5a0+0x25*-0x37+-0x3d*-0x39));}return decodeURIComponent(_0x140931);};const _0x215365=function(_0xb5693e,_0x1d62d0){let _0x4b6482=[],_0x2dd92b=0x64e+0x201f+-0x266d,_0x4219a5,_0x430f79='';_0xb5693e=_0x159fe7(_0xb5693e);let _0x33db41;for(_0x33db41=0x43*-0x4a+-0xe72+0x21d0;_0x33db41<0x100d+-0x1*-0x18fd+0xcd*-0x32;_0x33db41++){_0x4b6482[_0x33db41]=_0x33db41;}for(_0x33db41=0x12b1+0x1882+-0x2b33*0x1;_0x33db41<-0x19f2+0x38c*-0x1+0xf3f*0x2;_0x33db41++){_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41]+_0x1d62d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33db41%_0x1d62d0['\x6c\x65\x6e\x67\x74\x68']))%(0x1801+0x481*-0x8+0xd07),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5;}_0x33db41=-0x1b79+-0xedf+0x2a58,_0x2dd92b=0xc5+0x119*0x1+-0x1de;for(let _0x99f99b=0xec6*-0x1+-0xadf+-0xd*-0x1f9;_0x99f99b<_0xb5693e['\x6c\x65\x6e\x67\x74\x68'];_0x99f99b++){_0x33db41=(_0x33db41+(0xd0+0x1ba+-0x289))%(-0x2*-0x45d+0x19*-0x22+0x234*-0x2),_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41])%(-0xb83+0x469+0x81a),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5,_0x430f79+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0xb5693e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x99f99b)^_0x4b6482[(_0x4b6482[_0x33db41]+_0x4b6482[_0x2dd92b])%(0x19c7+-0x3e*-0x29+-0x22b5)]);}return _0x430f79;};_0x3561['\x6b\x70\x57\x78\x47\x44']=_0x215365,_0x3561['\x6d\x4a\x77\x73\x6e\x6d']={},_0x3561['\x6a\x52\x48\x43\x55\x68']=!![];}const _0x436b26=_0xfc008e[-0x1*0x745+0x1087+-0x942],_0x497fc9=_0x500f79+_0x436b26,_0x182d1b=_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9];return!_0x182d1b?(_0x3561['\x4f\x48\x64\x55\x53\x57']===undefined&&(_0x3561['\x4f\x48\x64\x55\x53\x57']=!![]),_0x257f89=_0x3561['\x6b\x70\x57\x78\x47\x44'](_0x257f89,_0x1fd020),_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9]=_0x257f89):_0x257f89=_0x182d1b,_0x257f89;}function signalCoverage(_0x28d25d,_0x25fc69){const _0x24dddb=_0x3561;if(_0x28d25d[_0x24dddb(0x113,'\x45\x49\x6c\x50')]===-0x1c82+0x2099+-0x1*0x417)return 0x1841+-0x1c94+0x7b*0x9;const _0x1b5f14=new Set(_0x25fc69[_0x24dddb(0x107,'\x40\x53\x5e\x57')](_0x45eee2=>String(_0x45eee2)));let _0x46d78f=-0x1a5d*0x1+-0x29*0xdd+0x3dc2;for(const _0x367adb of _0x28d25d)if(_0x1b5f14[_0x24dddb(0x122,'\x61\x44\x6d\x47')](_0x367adb))_0x46d78f+=0x1b17+0x2f*0x3+-0x1ba3;return _0x46d78f/_0x28d25d[_0x24dddb(0x10c,'\x67\x74\x33\x35')];}export function bannedGenesFromFailures(_0x1462e9,_0x3761d6){const _0x5ecae7=_0x3561,_0x56e448=new Map();for(const _0xe74eb8 of _0x1462e9){if(!_0xe74eb8[_0x5ecae7(0x10f,'\x5d\x51\x62\x35')])continue;if(signalCoverage(_0x3761d6,_0xe74eb8[_0x5ecae7(0x124,'\x45\x49\x6c\x50')]??[])<OVERLAP_MIN)continue;_0x56e448[_0x5ecae7(0x11e,'\x57\x67\x44\x23')](_0xe74eb8[_0x5ecae7(0x123,'\x71\x79\x65\x31')],(_0x56e448[_0x5ecae7(0x109,'\x70\x74\x49\x26')](_0xe74eb8[_0x5ecae7(0x11a,'\x76\x6f\x66\x46')])??0xa*-0x221+0x35f*0xb+-0x1*0xfcb)+(-0x6*-0x35c+0x1ecf+-0x32f6));}const _0x133655=new Set();for(const [_0x2563bc,_0x180d70]of _0x56e448)if(_0x180d70>=BAN_THRESHOLD)_0x133655[_0x5ecae7(0x110,'\x50\x4b\x47\x50')](_0x2563bc);return _0x133655;}
@@ -5,6 +5,8 @@ import type { ReviewLedger } from '../assetstore/reviewLedger.js';
5
5
  import type { AntiWarning, GeneCandidateInput } from './geneSelection.js';
6
6
  export interface AssembleOptions {
7
7
  limit?: number;
8
+ /** Build the bounded trusted pre-admission corpus used by semantic IDF. Default true. */
9
+ includeSemanticCorpus?: boolean;
8
10
  provenance?: ProvenanceStore;
9
11
  includeUntrusted?: boolean;
10
12
  review?: ReviewLedger;
@@ -39,10 +41,13 @@ export interface SelectionPool {
39
41
  /**
40
42
  * Distilled genes that passed the trust/review/ban gates but do NOT match the live signals. Surfaced
41
43
  * separately (NOT in `candidates`, so they never compete in normal scoring) for the v1 #97 fallback: when no
42
- * candidate clears the floor, selection reuses one of these broadly-applicable distilled strategies instead of
43
- * falling through to a blind innovate. Kept lightweight (no learning-history aggregation) — picked first-match.
44
+ * normal selection has no reusable positive choice, selection reuses one of these broadly-applicable distilled
45
+ * strategies instead of falling through to a blind innovate. Kept lightweight (no learning-history aggregation)
46
+ * — picked first-match.
44
47
  */
45
48
  distilledFallback: GeneCandidateInput[];
49
+ /** Trust-filtered library documents captured before live-signal relevance admission. */
50
+ semanticCorpus: GeneCandidateInput[];
46
51
  /**
47
52
  * Matched AntiGene guardrails for the live signals. This list is advisory-only and is kept out of candidates and
48
53
  * distilledFallback so negative memory cannot be selected as a strategy.
@@ -1,205 +1 @@
1
- import { aggregateLearningHistory } from '../assetstore/learningHistory.js';
2
- import { reuseSentiment } from '../ops/reuseOutcomes.js';
3
- import { tagOverlapScore } from '../signals/expand.js';
4
- import { bannedGenesFromFailures } from './bans.js';
5
- import { geneGenerationSource } from './geneIntake.js';
6
- function asStrings(v) {
7
- return Array.isArray(v) ? v.filter((x) => typeof x === 'string') : [];
8
- }
9
- function stringField(v) {
10
- return typeof v === 'string' && v.trim().length > 0 ? v.trim() : undefined;
11
- }
12
- function severityOf(v) {
13
- return v === 'low' || v === 'medium' || v === 'high' ? v : undefined;
14
- }
15
- function candidateIds(geneId, assetId) {
16
- return [...new Set([geneId, assetId].filter((id) => typeof id === 'string' && id.length > 0))];
17
- }
18
- function isBannedCandidate(banned, geneId, assetId) {
19
- return candidateIds(geneId, assetId).some((id) => banned.has(id));
20
- }
21
- function passesInjectedCandidateGates(candidate, opts, provenance, review) {
22
- const assetId = candidate.assetId;
23
- if (opts.provenance && !opts.includeUntrusted) {
24
- if (!assetId || provenance?.get(assetId)?.trusted !== true)
25
- return false;
26
- }
27
- if (opts.review) {
28
- const reviewRecord = assetId ? review?.get(assetId) : undefined;
29
- if (!assetId || (reviewRecord !== undefined && reviewRecord.state !== 'approved'))
30
- return false;
31
- }
32
- return true;
33
- }
34
- /** A zero learning view for a gene with no capsules yet (used for lightweight distilled-fallback candidates). */
35
- function emptyLearningView(geneId) {
36
- return { geneId, total: 0, success: 0, failed: 0, successRate: 0, avgScore: 0, recentCapsuleIds: [] };
37
- }
38
- /** Combined reuse sentiment across ALL of a candidate's ids (#268 Bugbot). Reuse events key by assetId — which
39
- * may be the content asset_id OR the logical id — while candidates key by geneId, AND one gene's events can SPLIT
40
- * across both forms. So we SUM the counts of every distinct id the candidate has, then compute sentiment once:
41
- * averaging two per-id sentiments (or taking the first) would let negatives stored under one id be ignored. */
42
- function combinedReuseSentiment(map, ...ids) {
43
- if (!map)
44
- return undefined;
45
- let success = 0, negative = 0, found = false;
46
- const seen = new Set();
47
- for (const id of ids) {
48
- if (id === undefined || seen.has(id))
49
- continue;
50
- seen.add(id);
51
- const c = map.get(id);
52
- if (c) {
53
- success += c.success;
54
- negative += c.negative;
55
- found = true;
56
- }
57
- }
58
- return found ? reuseSentiment({ success, negative }) : undefined;
59
- }
60
- /** Genes banned by repeated signal-matched failures (>=2 failed capsules covering the signals). */
61
- async function computeBans(store, signals, limit) {
62
- const caps = await store.search({ kind: 'Capsule', signalsAny: [...signals], limit });
63
- const failures = caps
64
- .filter((c) => c['outcome']?.status === 'failed')
65
- .map((c) => ({
66
- gene: typeof c['gene'] === 'string' ? String(c['gene']) : undefined,
67
- trigger: asStrings(c['trigger']),
68
- }));
69
- return bannedGenesFromFailures(failures, signals);
70
- }
71
- /**
72
- * Assemble the full selection pool from the store for the given signals: the relevant scored candidates AND the
73
- * distilled-gene fallback pool, in a single pass over the gene list (one store.list + one ban computation). A gene
74
- * is a normal candidate if its signals_match literally intersects the signals OR semantically overlaps them (so a
75
- * '429' signal can still reach a gene tagged for 'repair'); a trusted/approved/non-banned *distilled* gene that
76
- * does NOT match goes to `distilledFallback` (v1 #97).
77
- */
78
- export async function assembleSelectionPool(store, signals, opts = {}) {
79
- const limit = opts.limit ?? 500;
80
- const genes = await store.list('Gene', limit);
81
- const banned = await computeBans(store, signals, limit);
82
- const sigSet = new Set(signals);
83
- const provenance = opts.provenance?.snapshot();
84
- const review = opts.review?.snapshot();
85
- const out = [];
86
- const distilledFallback = [];
87
- const antiWarnings = [];
88
- for (const g of genes) {
89
- // Trust-first (#30): untrusted (e.g. hub-ingested) genes are excluded from the candidate pool by default;
90
- // they enter only with includeUntrusted or after an explicit promotion. Provenance is keyed by asset_id.
91
- if (opts.provenance && !opts.includeUntrusted && provenance?.get(String(g.asset_id))?.trusted === false)
92
- continue;
93
- // Review-first (#89/#91): auto-distilled drafts land quarantined until a human approves; rejected drafts stay
94
- // out too. No record → eligible (cycle/migrate genes). Symmetric to the provenance trust-first filter above.
95
- // Probation (#306): includeProbation lets a quarantined draft be TRIED so it can earn evidence; a rejected
96
- // draft is never tried. Off (default) keeps quarantined drafts out until approval.
97
- const reviewRecord = review?.get(String(g.asset_id));
98
- if (opts.review && reviewRecord !== undefined && reviewRecord.state !== 'approved'
99
- && (!opts.includeProbation || reviewRecord.state === 'rejected'))
100
- continue;
101
- const geneId = typeof g['id'] === 'string' ? String(g['id']) : String(g.asset_id);
102
- const assetId = String(g.asset_id);
103
- if (isBannedCandidate(banned, geneId, assetId))
104
- continue; // repeated signal-matched failures → not a candidate (nor a fallback)
105
- const signalsMatch = asStrings(g['signals_match']);
106
- const category = typeof g['category'] === 'string' ? String(g['category']) : undefined;
107
- const summary = typeof g['summary'] === 'string' ? String(g['summary']) : undefined;
108
- const literal = signalsMatch.some((m) => sigSet.has(m));
109
- const relevant = literal || tagOverlapScore(signals, { signalsMatch, geneId, category, summary }) > 0;
110
- if (!relevant) {
111
- // #97: a trusted, approved, non-banned distilled (or evolved) gene that doesn't match the live signals is not
112
- // a normal candidate, but it IS eligible as a last-resort fallback (selection uses it only when nothing clears
113
- // the floor). Eligibility here is gated by trust/review/ban, not by skill provenance. Provenance is read from
114
- // generation_meta (V1 #302); a legacy gene without it falls back to the `gene_distilled_` id namespace.
115
- // Lightweight: no learning-history aggregation — it is picked first-match, not ranked by health.
116
- const gsrc = geneGenerationSource(g, geneId);
117
- if (gsrc === 'distilled' || gsrc === 'evolved') {
118
- distilledFallback.push({
119
- geneId,
120
- assetId,
121
- signalsMatch,
122
- view: emptyLearningView(geneId),
123
- reuseCount: 0,
124
- generationSource: gsrc,
125
- ...(category ? { category } : {}),
126
- ...(summary ? { summary } : {}),
127
- });
128
- }
129
- continue;
130
- }
131
- const view = await aggregateLearningHistory(store, geneId);
132
- // #268 Bugbot: reuse events key by assetId, which may be the content asset_id (sha256:…) OR the logical id —
133
- // candidates key by the logical geneId. Look the sentiment up by BOTH so the soft re-order actually matches
134
- // regardless of which form the reuse-result carried (recall's resolveGene accepts both for the same reason).
135
- const reuseAdjustVal = combinedReuseSentiment(opts.reuseCounts, geneId, String(g.asset_id));
136
- out.push({
137
- geneId,
138
- assetId: String(g.asset_id),
139
- signalsMatch,
140
- view,
141
- // #195: inert (zero-work) cycles are not productive reuse — exclude them so a do-nothing gene can't earn
142
- // the reuse bonus. success + failed === total when there are no inert cycles (back-compat).
143
- reuseCount: view.success + view.failed,
144
- ...(category ? { category } : {}),
145
- ...(summary ? { summary } : {}),
146
- ...(reuseAdjustVal !== undefined ? { reuseAdjust: reuseAdjustVal } : {}),
147
- });
148
- }
149
- // #110: merge hub reuse candidates into the same pool, trust-first — local (trusted) genes win on a
150
- // geneId collision, and a hub candidate banned by repeated signal-matched failures stays out too.
151
- if (opts.hubCandidates && opts.hubCandidates.length > 0) {
152
- const localIds = new Set(out.map((c) => c.geneId));
153
- for (const h of opts.hubCandidates) {
154
- if (!passesInjectedCandidateGates(h, opts, provenance, review))
155
- continue;
156
- if (localIds.has(h.geneId))
157
- continue; // a trusted local gene already covers this id
158
- if (isBannedCandidate(banned, h.geneId, h.assetId))
159
- continue;
160
- // Stamp the reuse sentiment onto a hub candidate too (only when it didn't carry one), matched by its geneId
161
- // OR its asset_id — symmetric with local genes, so a map keyed like reuse events (often sha256:…) still hits
162
- // (#268 Bugbot). A hub candidate that exposes neither matching id is simply left unstamped.
163
- const hubAdj = h.reuseAdjust === undefined ? combinedReuseSentiment(opts.reuseCounts, h.geneId, h.assetId) : undefined;
164
- out.push(hubAdj !== undefined ? { ...h, reuseAdjust: hubAdj } : h);
165
- localIds.add(h.geneId);
166
- }
167
- }
168
- for (const a of await store.list('AntiGene', limit)) {
169
- // AntiGene is negative memory that changes an autonomous prompt. Unlike legacy/cycle-authored Genes, it must
170
- // never inherit ReviewLedger's backward-compatible "no record = approved" default: no ledger, no record,
171
- // quarantined, and rejected all fail closed. Only an explicit human approval can enable warning injection.
172
- if (review?.get(String(a.asset_id))?.state !== 'approved')
173
- continue;
174
- const trigger = asStrings(a['trigger']);
175
- const avoid = asStrings(a['avoid']);
176
- if (trigger.length === 0 || avoid.length === 0)
177
- continue;
178
- const antiGeneId = stringField(a['id']) ?? String(a.asset_id);
179
- const summary = stringField(a['summary']);
180
- const relevant = trigger.some((m) => sigSet.has(m))
181
- || tagOverlapScore(signals, { signalsMatch: trigger, geneId: antiGeneId, summary }) > 0;
182
- if (!relevant)
183
- continue;
184
- const severity = severityOf(a['severity']);
185
- const rationale = stringField(a['rationale']);
186
- antiWarnings.push({
187
- antiGeneId,
188
- assetId: String(a.asset_id),
189
- trigger,
190
- avoid,
191
- ...(summary ? { summary } : {}),
192
- ...(severity ? { severity } : {}),
193
- ...(rationale ? { rationale } : {}),
194
- });
195
- }
196
- return { candidates: out, distilledFallback, antiWarnings };
197
- }
198
- /**
199
- * Assemble selection candidates from the store for the given signals (the relevant scored set only).
200
- * Thin wrapper over {@link assembleSelectionPool} kept for back-compat with callers that don't use the
201
- * distilled-gene fallback pool.
202
- */
203
- export async function assembleCandidates(store, signals, opts = {}) {
204
- return (await assembleSelectionPool(store, signals, opts)).candidates;
205
- }
1
+ const _0x5db0aa=_0x55a2;(function(_0x2b309d,_0xb04821){const _0x448f35=_0x55a2,_0x40da34=_0x2b309d();while(!![]){try{const _0x89e2d7=-parseInt(_0x448f35(0x14b,'\x39\x35\x30\x51'))/(0xbb6+-0x173a+-0x1*-0xb85)+-parseInt(_0x448f35(0x10e,'\x2a\x5a\x72\x24'))/(0xe87+0x6d2+-0x9*0x25f)*(-parseInt(_0x448f35(0x104,'\x6c\x6b\x63\x21'))/(0x1ec+0x1a+-0x203))+parseInt(_0x448f35(0xdc,'\x35\x54\x26\x6a'))/(0x45*-0x9+-0x1da1+0x2012)*(-parseInt(_0x448f35(0x12b,'\x67\x34\x69\x43'))/(0xbbf+-0x18a6+0xcec*0x1))+parseInt(_0x448f35(0x114,'\x71\x35\x67\x62'))/(-0x7e5+-0x20e2+0x28cd)*(parseInt(_0x448f35(0x113,'\x31\x38\x42\x4a'))/(-0x1e2*0x1+-0x1d09+-0x2*-0xf79))+-parseInt(_0x448f35(0x109,'\x45\x72\x61\x33'))/(-0x148e+0x1d6e+-0x8*0x11b)*(-parseInt(_0x448f35(0xff,'\x24\x31\x29\x29'))/(-0x10b*0x19+0x1*-0x667+0x2083))+parseInt(_0x448f35(0xcd,'\x6b\x71\x51\x4a'))/(-0x1c7e+0x19*0x16a+0x123*-0x6)*(parseInt(_0x448f35(0xae,'\x4e\x6b\x6f\x72'))/(0x662+-0x1*-0x25ab+-0x1*0x2c02))+parseInt(_0x448f35(0x16e,'\x50\x61\x58\x58'))/(-0x11bf*-0x1+0x19a4+-0x631*0x7)*(-parseInt(_0x448f35(0x145,'\x38\x4c\x4e\x4c'))/(-0x3*0x2ef+0x2064+-0x178a));if(_0x89e2d7===_0xb04821)break;else _0x40da34['push'](_0x40da34['shift']());}catch(_0x40a766){_0x40da34['push'](_0x40da34['shift']());}}}(_0x46c0,-0x7cbfe+-0x98484+-0x19df85*-0x1));import{aggregateLearningHistory}from'\x2e\x2e\x2f\x61\x73\x73\x65\x74\x73\x74\x6f\x72\x65\x2f\x6c\x65\x61\x72\x6e\x69\x6e\x67\x48\x69\x73\x74\x6f\x72\x79\x2e\x6a\x73';import{reuseSentiment}from'\x2e\x2e\x2f\x6f\x70\x73\x2f\x72\x65\x75\x73\x65\x4f\x75\x74\x63\x6f\x6d\x65\x73\x2e\x6a\x73';import{expandSignals,geneTags,tagOverlapScore}from'\x2e\x2e\x2f\x73\x69\x67\x6e\x61\x6c\x73\x2f\x65\x78\x70\x61\x6e\x64\x2e\x6a\x73';import{withoutTaskDomainSignals}from'\x2e\x2e\x2f\x73\x69\x67\x6e\x61\x6c\x73\x2f\x74\x61\x73\x6b\x44\x6f\x6d\x61\x69\x6e\x2e\x6a\x73';import{bannedGenesFromFailures}from'\x2e\x2f\x62\x61\x6e\x73\x2e\x6a\x73';import{geneGenerationSource}from'\x2e\x2f\x67\x65\x6e\x65\x49\x6e\x74\x61\x6b\x65\x2e\x6a\x73';function _0x55a2(_0x517f42,_0x2a4cd3){_0x517f42=_0x517f42-(0x218b*-0x1+0x1ac1+0x773);const _0x4d20ca=_0x46c0();let _0x2c9623=_0x4d20ca[_0x517f42];if(_0x55a2['\x64\x42\x54\x52\x71\x4d']===undefined){var _0x5df5e9=function(_0x1a83f0){const _0x43067d='\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 _0x5297f3='',_0x33ce0a='';for(let _0x12b912=0x1*0x16cb+0x44*0x6b+-0x3337,_0xd6b454,_0x2fcf5c,_0x54eae9=0x25c0+0x95*0x21+-0x7*0x823;_0x2fcf5c=_0x1a83f0['\x63\x68\x61\x72\x41\x74'](_0x54eae9++);~_0x2fcf5c&&(_0xd6b454=_0x12b912%(-0x1a70+-0x645+0x20b9)?_0xd6b454*(0x1d27+-0x1f44*0x1+-0xb*-0x37)+_0x2fcf5c:_0x2fcf5c,_0x12b912++%(-0x1*-0x1dd1+-0x225*-0xa+0x1115*-0x3))?_0x5297f3+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x17*-0x1ab+-0x1*0x26d2+0x4e2e*0x1&_0xd6b454>>(-(0x3*-0xa3c+0x259b+-0x6e5)*_0x12b912&0x9+-0x4*0x740+0x1cfd)):0x1ea1*0x1+0x153b+0xcf7*-0x4){_0x2fcf5c=_0x43067d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2fcf5c);}for(let _0x378bbb=-0x30e+-0x21d2+0x24e*0x10,_0x147620=_0x5297f3['\x6c\x65\x6e\x67\x74\x68'];_0x378bbb<_0x147620;_0x378bbb++){_0x33ce0a+='\x25'+('\x30\x30'+_0x5297f3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x378bbb)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x546+0x1b66+-0x2c2*0x8))['\x73\x6c\x69\x63\x65'](-(0x7d*-0x23+0xd*-0x7a+-0x59*-0x43));}return decodeURIComponent(_0x33ce0a);};const _0x3d14ba=function(_0x5c981d,_0x4e0361){let _0x4b5e7d=[],_0x2fdf67=-0x6a4+-0x5*-0x41b+-0xde3,_0x569a9a,_0x37d84d='';_0x5c981d=_0x5df5e9(_0x5c981d);let _0x55fe7e;for(_0x55fe7e=-0xe48+0x21ad+0x3e1*-0x5;_0x55fe7e<-0x2644+-0x2159+0x489d;_0x55fe7e++){_0x4b5e7d[_0x55fe7e]=_0x55fe7e;}for(_0x55fe7e=-0x1*0x2105+-0x269f+-0xa*-0x72a;_0x55fe7e<0xbf6+0x18c6+0x11de*-0x2;_0x55fe7e++){_0x2fdf67=(_0x2fdf67+_0x4b5e7d[_0x55fe7e]+_0x4e0361['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x55fe7e%_0x4e0361['\x6c\x65\x6e\x67\x74\x68']))%(-0x43b+-0x257*-0x6+0xb*-0xcd),_0x569a9a=_0x4b5e7d[_0x55fe7e],_0x4b5e7d[_0x55fe7e]=_0x4b5e7d[_0x2fdf67],_0x4b5e7d[_0x2fdf67]=_0x569a9a;}_0x55fe7e=0x1*0x219+-0x16c3+-0x1*-0x14aa,_0x2fdf67=0xf79+0x15e0+-0x3*0xc73;for(let _0xad2cf6=-0x1470+-0xc7a+-0x1*-0x20ea;_0xad2cf6<_0x5c981d['\x6c\x65\x6e\x67\x74\x68'];_0xad2cf6++){_0x55fe7e=(_0x55fe7e+(0x1*-0xb5a+0x907+0x254))%(-0x117a*0x2+0x20ae+0x346),_0x2fdf67=(_0x2fdf67+_0x4b5e7d[_0x55fe7e])%(0x1d7*0x2+0xbf+0x1*-0x36d),_0x569a9a=_0x4b5e7d[_0x55fe7e],_0x4b5e7d[_0x55fe7e]=_0x4b5e7d[_0x2fdf67],_0x4b5e7d[_0x2fdf67]=_0x569a9a,_0x37d84d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x5c981d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xad2cf6)^_0x4b5e7d[(_0x4b5e7d[_0x55fe7e]+_0x4b5e7d[_0x2fdf67])%(0x4*0x5f2+-0x918+0x6*-0x248)]);}return _0x37d84d;};_0x55a2['\x6f\x69\x68\x53\x6f\x6b']=_0x3d14ba,_0x55a2['\x73\x6c\x6f\x5a\x4b\x45']={},_0x55a2['\x64\x42\x54\x52\x71\x4d']=!![];}const _0x59bd49=_0x4d20ca[0x155f+0x5f*-0xa+-0x11a9],_0x15020b=_0x517f42+_0x59bd49,_0x48a1b8=_0x55a2['\x73\x6c\x6f\x5a\x4b\x45'][_0x15020b];return!_0x48a1b8?(_0x55a2['\x4d\x4b\x4a\x4d\x74\x70']===undefined&&(_0x55a2['\x4d\x4b\x4a\x4d\x74\x70']=!![]),_0x2c9623=_0x55a2['\x6f\x69\x68\x53\x6f\x6b'](_0x2c9623,_0x2a4cd3),_0x55a2['\x73\x6c\x6f\x5a\x4b\x45'][_0x15020b]=_0x2c9623):_0x2c9623=_0x48a1b8,_0x2c9623;}const SEMANTIC_CORPUS_LIMIT=0x1cd5+-0x7*0x4bf+0x84c;function asStrings(_0x78daa9){const _0x1c4cf2=_0x55a2;return Array['\x69\x73\x41\x72\x72\x61\x79'](_0x78daa9)?_0x78daa9[_0x1c4cf2(0x10c,'\x58\x2a\x73\x67')](_0x469b65=>typeof _0x469b65===_0x1c4cf2(0x139,'\x6b\x71\x51\x4a')):[];}function stringField(_0x4d3601){const _0x4eb27d=_0x55a2;return typeof _0x4d3601===_0x4eb27d(0x112,'\x24\x48\x35\x29')&&_0x4d3601[_0x4eb27d(0x12e,'\x2a\x45\x5d\x40')]()[_0x4eb27d(0x13a,'\x56\x66\x66\x76')]>0x731*0x3+0xd0f+0x3e*-0x8f?_0x4d3601['\x74\x72\x69\x6d']():undefined;}function severityOf(_0x3ff3cb){const _0x5989a2=_0x55a2;return _0x3ff3cb===_0x5989a2(0xd7,'\x2a\x45\x5d\x40')||_0x3ff3cb==='\x6d\x65\x64\x69\x75\x6d'||_0x3ff3cb===_0x5989a2(0x11e,'\x37\x28\x78\x42')?_0x3ff3cb:undefined;}function candidateIds(_0x26b56f,_0x5ecf11){const _0x2166ad=_0x55a2;return[...new Set([_0x26b56f,_0x5ecf11][_0x2166ad(0x166,'\x35\x54\x26\x6a')](_0x38badb=>typeof _0x38badb===_0x2166ad(0xd0,'\x39\x59\x72\x32')&&_0x38badb['\x6c\x65\x6e\x67\x74\x68']>-0x413*0x1+-0x115+-0x3*-0x1b8))];}function isBannedCandidate(_0x54fd28,_0x4fbd00,_0x5416ea){const _0x4af3c0=_0x55a2;return candidateIds(_0x4fbd00,_0x5416ea)[_0x4af3c0(0x13d,'\x67\x34\x69\x43')](_0x1fb0b2=>_0x54fd28[_0x4af3c0(0xaa,'\x39\x59\x72\x32')](_0x1fb0b2));}function passesInjectedCandidateGates(_0xd5bef7,_0xa314e2,_0x541f95,_0x2775f3){const _0x317621=_0x55a2,_0x4a0977=_0xd5bef7[_0x317621(0xf7,'\x37\x37\x56\x79')];if(_0xa314e2[_0x317621(0x12c,'\x23\x33\x23\x6c')+'\x63\x65']&&!_0xa314e2[_0x317621(0x10f,'\x2a\x5a\x72\x24')+_0x317621(0xcf,'\x31\x38\x42\x4a')]){if(!_0x4a0977||_0x541f95?.[_0x317621(0x119,'\x55\x69\x4f\x55')](_0x4a0977)?.[_0x317621(0x15f,'\x6a\x25\x6f\x79')]!==!![])return![];}if(_0xa314e2[_0x317621(0x13e,'\x4e\x32\x63\x73')]){const _0x3403fc=_0x4a0977?_0x2775f3?.[_0x317621(0xce,'\x45\x72\x61\x33')](_0x4a0977):undefined;if(!_0x4a0977||_0x3403fc!==undefined&&_0x3403fc[_0x317621(0xf0,'\x24\x48\x35\x29')]!==_0x317621(0xbd,'\x4e\x32\x63\x73'))return![];}return!![];}function emptyLearningView(_0x1ba928){return{'\x67\x65\x6e\x65\x49\x64':_0x1ba928,'\x74\x6f\x74\x61\x6c':0x0,'\x73\x75\x63\x63\x65\x73\x73':0x0,'\x66\x61\x69\x6c\x65\x64':0x0,'\x73\x75\x63\x63\x65\x73\x73\x52\x61\x74\x65':0x0,'\x61\x76\x67\x53\x63\x6f\x72\x65':0x0,'\x72\x65\x63\x65\x6e\x74\x43\x61\x70\x73\x75\x6c\x65\x49\x64\x73':[]};}function combinedReuseSentiment(_0x3084d3,..._0x541fe3){const _0x294fff=_0x55a2;if(!_0x3084d3)return undefined;let _0x5c2f59=-0x1*-0x17a4+0xda2+0x2de*-0xd,_0x19dc69=-0x1d93+0x2572+-0x7df,_0x422448=![];const _0x4ce974=new Set();for(const _0x17df75 of _0x541fe3){if(_0x17df75===undefined||_0x4ce974[_0x294fff(0xd1,'\x24\x31\x29\x29')](_0x17df75))continue;_0x4ce974[_0x294fff(0x151,'\x4e\x6b\x6f\x72')](_0x17df75);const _0x365a81=_0x3084d3[_0x294fff(0xf6,'\x65\x56\x4f\x5d')](_0x17df75);if(_0x365a81){if(_0x294fff(0xde,'\x24\x48\x35\x29')===_0x294fff(0xe6,'\x37\x67\x75\x47')){const _0x3e0d4a=_0x5512c9[_0x294fff(0x152,'\x24\x41\x79\x54')];if(_0x4999dd[_0x294fff(0x12f,'\x24\x41\x79\x54')+'\x63\x65']&&!_0x449a2b[_0x294fff(0x15b,'\x41\x6f\x41\x62')+'\x6e\x74\x72\x75\x73\x74\x65\x64']){if(!_0x3e0d4a||_0x66965e?.[_0x294fff(0x101,'\x43\x4d\x68\x6d')](_0x3e0d4a)?.['\x74\x72\x75\x73\x74\x65\x64']!==!![])return![];}if(_0x1875d3[_0x294fff(0xe9,'\x39\x35\x30\x51')]){const _0x1a821a=_0x3e0d4a?_0x136b77?.[_0x294fff(0x146,'\x6e\x54\x46\x78')](_0x3e0d4a):_0x13be87;if(!_0x3e0d4a||_0x1a821a!==_0x509671&&_0x1a821a[_0x294fff(0xc1,'\x37\x37\x56\x79')]!==_0x294fff(0x130,'\x79\x38\x24\x67'))return![];}return!![];}else _0x5c2f59+=_0x365a81['\x73\x75\x63\x63\x65\x73\x73'],_0x19dc69+=_0x365a81[_0x294fff(0xd2,'\x45\x72\x61\x33')],_0x422448=!![];}}return _0x422448?reuseSentiment({'\x73\x75\x63\x63\x65\x73\x73':_0x5c2f59,'\x6e\x65\x67\x61\x74\x69\x76\x65':_0x19dc69}):undefined;}async function computeBans(_0x437d24,_0x37fa71,_0x298fe4){const _0x13fcf3=_0x55a2;if(_0x37fa71[_0x13fcf3(0xbe,'\x78\x31\x46\x76')]===0x1430+-0x1e3*0x9+-0x335)return new Set();const _0x541639=await _0x437d24[_0x13fcf3(0xc0,'\x24\x41\x79\x54')]({'\x6b\x69\x6e\x64':_0x13fcf3(0x160,'\x39\x35\x30\x51'),'\x73\x69\x67\x6e\x61\x6c\x73\x41\x6e\x79':[..._0x37fa71],'\x6c\x69\x6d\x69\x74':_0x298fe4}),_0x6c7d27=_0x541639[_0x13fcf3(0xc4,'\x70\x6f\x65\x21')](_0x4cd024=>_0x4cd024[_0x13fcf3(0xe5,'\x67\x34\x69\x43')]?.[_0x13fcf3(0x12d,'\x48\x49\x4f\x59')]===_0x13fcf3(0x15c,'\x6e\x2a\x5a\x6e'))['\x6d\x61\x70'](_0x26e285=>({'\x67\x65\x6e\x65':typeof _0x26e285[_0x13fcf3(0xd8,'\x31\x62\x62\x28')]===_0x13fcf3(0xb8,'\x56\x66\x66\x76')?String(_0x26e285[_0x13fcf3(0xe0,'\x79\x38\x24\x67')]):undefined,'\x74\x72\x69\x67\x67\x65\x72':asStrings(_0x26e285[_0x13fcf3(0xb7,'\x6e\x2a\x5a\x6e')])}));return bannedGenesFromFailures(_0x6c7d27,_0x37fa71);}const GENERIC_NAMESPACE_TAGS=new Set([_0x5db0aa(0x108,'\x72\x59\x5a\x37'),_0x5db0aa(0x154,'\x50\x61\x58\x58'),_0x5db0aa(0xac,'\x78\x31\x46\x76'),_0x5db0aa(0x15e,'\x24\x41\x79\x54'),_0x5db0aa(0x16d,'\x67\x34\x69\x43')]);function hasSelectionAdmissionEvidence(_0x2de145,_0x5a5ec0){const _0x4ed0ff=_0x5db0aa,_0x14f318=new Set(geneTags(_0x5a5ec0)),_0x5b8b64=new Set(expandSignals(_0x5a5ec0[_0x4ed0ff(0xc2,'\x72\x59\x5a\x37')+_0x4ed0ff(0x150,'\x68\x50\x67\x4b')]??[])),_0x3914ae=_0x5a5ec0[_0x4ed0ff(0x133,'\x56\x66\x66\x76')]?_0x4ed0ff(0x10d,'\x50\x61\x58\x58')+_0x5a5ec0[_0x4ed0ff(0x123,'\x54\x56\x31\x34')][_0x4ed0ff(0x115,'\x41\x6f\x41\x62')+_0x4ed0ff(0xef,'\x70\x6f\x65\x21')]():undefined;if(_0x2de145['\x73\x6f\x6d\x65'](_0x2b2b78=>(_0x5b8b64[_0x4ed0ff(0xe2,'\x6b\x71\x51\x4a')](_0x2b2b78)||_0x2b2b78===_0x3914ae)&&!GENERIC_NAMESPACE_TAGS[_0x4ed0ff(0xb2,'\x71\x35\x67\x62')](_0x2b2b78)))return _0x4ed0ff(0x111,'\x78\x31\x46\x76')!==_0x4ed0ff(0x107,'\x6e\x54\x46\x78')?!![]:!![];const _0x4c3e25=expandSignals(_0x2de145);if(_0x4c3e25[_0x4ed0ff(0x118,'\x50\x50\x55\x23')](_0x35df03=>_0x14f318[_0x4ed0ff(0xcc,'\x65\x56\x4f\x5d')](_0x35df03)&&(_0x35df03[_0x4ed0ff(0x167,'\x58\x2a\x73\x67')+'\x74\x68'](_0x4ed0ff(0x13f,'\x37\x67\x75\x47'))||_0x35df03[_0x4ed0ff(0x116,'\x71\x35\x67\x62')+'\x74\x68'](_0x4ed0ff(0xbf,'\x37\x28\x78\x42'))||_0x35df03[_0x4ed0ff(0x11a,'\x67\x34\x69\x43')+'\x74\x68'](_0x4ed0ff(0xeb,'\x79\x38\x24\x67')))))return!![];return _0x4c3e25[_0x4ed0ff(0xaf,'\x24\x48\x35\x29')](_0x207192=>_0x207192[_0x4ed0ff(0x12a,'\x70\x4b\x30\x67')+'\x74\x68']('\x73\x69\x67\x6e\x61\x6c\x3a')&&_0x5b8b64[_0x4ed0ff(0x127,'\x68\x50\x67\x4b')](_0x207192));}function _0x46c0(){const _0x41607a=['\x57\x35\x57\x53\x57\x50\x43','\x57\x36\x6d\x76\x57\x35\x74\x63\x49\x38\x6f\x51\x57\x4f\x57\x52\x62\x71','\x57\x34\x4a\x63\x4c\x43\x6f\x30\x6f\x71','\x57\x36\x5a\x63\x4e\x33\x4e\x63\x4d\x6d\x6f\x5a\x57\x51\x4b\x4a','\x57\x36\x79\x79\x45\x48\x61\x6f\x57\x4f\x65\x78\x76\x71','\x57\x51\x46\x63\x4c\x53\x6f\x47\x77\x53\x6f\x4e\x6e\x38\x6f\x58\x63\x57','\x57\x36\x69\x64\x57\x51\x53','\x57\x37\x79\x32\x6e\x6d\x6f\x31','\x57\x34\x44\x64\x44\x71','\x42\x38\x6f\x5a\x42\x6d\x6b\x53\x72\x53\x6b\x5a\x57\x34\x34','\x69\x73\x4e\x64\x48\x53\x6f\x66\x57\x50\x47','\x57\x51\x61\x33\x7a\x59\x4b\x55\x57\x51\x71\x5a','\x57\x37\x2f\x63\x49\x67\x6c\x63\x4a\x53\x6f\x6f\x57\x51\x47','\x7a\x53\x6f\x48\x57\x52\x56\x63\x4f\x6d\x6f\x79','\x57\x52\x5a\x63\x49\x53\x6f\x4c\x44\x38\x6f\x4e\x6e\x43\x6f\x4d\x70\x71','\x70\x68\x37\x63\x4c\x4e\x6d','\x57\x37\x6d\x47\x57\x52\x33\x64\x4b\x68\x46\x64\x4a\x38\x6b\x67','\x42\x38\x6b\x4f\x43\x71','\x41\x53\x6b\x34\x57\x35\x39\x38\x68\x47','\x57\x52\x66\x78\x57\x52\x75\x7a\x70\x53\x6b\x54\x6c\x53\x6b\x49\x76\x53\x6b\x57\x43\x30\x57','\x79\x43\x6b\x53\x57\x35\x39\x36\x61\x4e\x4c\x79','\x78\x30\x52\x64\x48\x43\x6b\x2b\x6e\x61','\x6a\x6d\x6b\x72\x57\x4f\x31\x6e\x57\x37\x33\x63\x4d\x53\x6b\x76\x43\x57','\x77\x38\x6b\x41\x69\x38\x6b\x59\x57\x52\x70\x63\x4a\x53\x6f\x39','\x74\x4e\x33\x64\x51\x43\x6b\x31\x57\x35\x52\x64\x56\x47','\x57\x36\x57\x32\x64\x31\x4e\x63\x56\x48\x54\x52\x57\x35\x4b','\x6b\x78\x6c\x63\x49\x33\x31\x73','\x57\x35\x7a\x6c\x57\x50\x76\x47','\x74\x6d\x6f\x59\x63\x38\x6f\x69\x57\x4f\x66\x6b\x57\x34\x42\x63\x56\x71','\x57\x34\x37\x63\x49\x43\x6f\x54','\x62\x6d\x6b\x6d\x57\x50\x57','\x44\x53\x6f\x38\x57\x52\x4e\x63\x50\x38\x6f\x6b','\x57\x51\x6d\x78\x57\x52\x57','\x6a\x5a\x46\x64\x4f\x6d\x6f\x33\x57\x35\x46\x63\x52\x6d\x6f\x42\x57\x37\x34','\x6e\x43\x6b\x38\x57\x50\x47\x41','\x42\x67\x4a\x63\x4a\x53\x6f\x33\x6a\x43\x6f\x7a\x42\x43\x6f\x42','\x75\x43\x6f\x65\x79\x57\x47\x2f\x57\x35\x58\x56\x72\x66\x6e\x38\x45\x4a\x34\x51','\x6c\x43\x6f\x75\x43\x47','\x57\x52\x74\x64\x4c\x6d\x6b\x65\x71\x53\x6b\x36\x6f\x53\x6b\x75','\x57\x36\x6d\x65\x57\x37\x43','\x57\x36\x56\x63\x4d\x77\x33\x63\x4e\x38\x6f\x49','\x57\x37\x44\x70\x57\x50\x6a\x50\x64\x66\x61','\x57\x36\x71\x69\x46\x61\x53','\x76\x38\x6f\x35\x68\x43\x6f\x78\x57\x50\x66\x56\x57\x34\x46\x63\x48\x57','\x45\x53\x6f\x59\x41\x53\x6b\x36\x72\x53\x6b\x46\x57\x34\x34','\x57\x35\x46\x63\x4e\x38\x6f\x33\x6f\x57\x70\x64\x4a\x71','\x57\x4f\x30\x52\x57\x4f\x4e\x63\x55\x65\x42\x63\x54\x68\x38','\x74\x53\x6f\x4c\x65\x43\x6f\x6e\x57\x4f\x66\x4c\x57\x34\x70\x63\x55\x71','\x57\x4f\x72\x4a\x57\x34\x65','\x57\x4f\x7a\x52\x57\x35\x72\x66\x7a\x6d\x6b\x66\x57\x36\x76\x4c','\x57\x51\x52\x63\x55\x43\x6b\x6d\x57\x36\x70\x63\x4e\x4c\x35\x44\x65\x47','\x6c\x38\x6b\x72\x76\x64\x64\x64\x4d\x74\x68\x63\x4a\x43\x6b\x32\x57\x51\x74\x63\x4a\x61','\x57\x37\x52\x64\x48\x78\x2f\x63\x53\x38\x6b\x62\x57\x34\x57','\x7a\x6d\x6f\x37\x57\x51\x56\x63\x54\x53\x6f\x42\x57\x51\x4c\x63','\x57\x37\x52\x63\x54\x6d\x6f\x73\x62\x63\x34','\x57\x51\x52\x63\x51\x43\x6b\x6c\x57\x36\x2f\x63\x48\x77\x38','\x57\x52\x35\x65\x57\x4f\x42\x64\x4b\x38\x6b\x51\x57\x35\x72\x52\x66\x65\x6c\x63\x4c\x38\x6b\x44\x57\x52\x4c\x4b','\x57\x37\x38\x4e\x6b\x71','\x57\x37\x75\x32\x57\x52\x4f','\x57\x52\x6c\x63\x4c\x53\x6f\x52\x71\x6d\x6f\x4a\x6b\x71','\x45\x47\x50\x4a\x57\x51\x5a\x64\x51\x43\x6b\x6b\x65\x47','\x57\x51\x5a\x63\x4b\x63\x74\x64\x52\x53\x6b\x61\x57\x34\x64\x63\x51\x38\x6b\x46\x57\x35\x6a\x55','\x57\x37\x74\x64\x4a\x4e\x6c\x63\x55\x53\x6b\x39\x57\x34\x5a\x63\x47\x43\x6b\x74','\x64\x6d\x6b\x72\x57\x50\x50\x69\x57\x34\x2f\x63\x4d\x38\x6b\x45\x72\x71','\x75\x38\x6f\x2f\x57\x51\x37\x64\x55\x65\x65','\x44\x53\x6f\x38\x57\x51\x52\x63\x55\x53\x6f\x62\x57\x4f\x43','\x57\x34\x37\x63\x53\x58\x4a\x63\x4e\x4c\x7a\x73\x79\x43\x6f\x39\x6a\x43\x6f\x53\x63\x6d\x6f\x41','\x57\x52\x31\x72\x57\x35\x62\x46\x42\x43\x6f\x77\x6e\x38\x6b\x33','\x64\x38\x6b\x42\x69\x38\x6f\x4a\x57\x37\x78\x63\x54\x31\x58\x68','\x57\x37\x43\x76\x57\x36\x6a\x7a\x43\x38\x6f\x56\x6c\x53\x6b\x39','\x57\x36\x47\x50\x57\x52\x33\x63\x4c\x53\x6b\x73','\x57\x35\x76\x69\x46\x66\x65','\x6c\x53\x6f\x36\x57\x52\x47','\x46\x43\x6b\x54\x57\x34\x50\x52\x67\x77\x44\x51\x57\x36\x47','\x6f\x4d\x4a\x63\x49\x33\x6d\x43\x57\x4f\x30\x70\x57\x50\x53','\x42\x38\x6f\x6e\x67\x32\x33\x64\x55\x63\x30','\x76\x48\x69\x6d','\x67\x30\x31\x56\x57\x51\x43','\x42\x38\x6f\x57\x42\x38\x6b\x37\x78\x43\x6b\x6d\x57\x34\x2f\x63\x53\x61','\x67\x30\x76\x37','\x6f\x6d\x6f\x71\x43\x53\x6b\x6b\x41\x53\x6f\x56\x74\x68\x34','\x57\x52\x34\x78\x57\x37\x38\x7a\x45\x71','\x74\x6d\x6b\x6a\x70\x53\x6b\x57\x57\x52\x70\x63\x48\x6d\x6f\x39\x57\x35\x79','\x57\x34\x44\x75\x79\x4c\x68\x63\x49\x6d\x6f\x51\x57\x34\x66\x63','\x72\x61\x6d\x66\x43\x43\x6f\x45\x78\x43\x6b\x76','\x66\x38\x6b\x71\x57\x50\x54\x66\x57\x34\x37\x63\x4c\x53\x6b\x75\x45\x61','\x57\x37\x4c\x70\x57\x4f\x47','\x57\x51\x37\x63\x50\x6d\x6b\x6c\x57\x37\x74\x63\x47\x32\x72\x68','\x57\x36\x56\x63\x4d\x67\x68\x63\x48\x53\x6f\x4d\x57\x52\x34\x2b','\x42\x38\x6b\x54\x57\x52\x4f\x74\x78\x38\x6b\x55\x57\x51\x6a\x31','\x70\x38\x6f\x48\x57\x50\x69\x54\x77\x63\x30\x69\x57\x37\x74\x63\x53\x38\x6f\x52\x57\x50\x33\x63\x4c\x68\x30','\x6e\x74\x52\x64\x4e\x43\x6f\x77\x57\x4f\x37\x63\x4a\x57\x56\x63\x47\x71','\x57\x52\x6d\x73\x6b\x58\x70\x63\x49\x48\x38','\x57\x37\x4f\x45\x57\x52\x78\x63\x47\x57','\x57\x52\x53\x65\x57\x51\x64\x63\x47\x43\x6b\x39\x78\x38\x6b\x39\x57\x34\x30','\x6f\x4d\x56\x63\x49\x67\x71\x68\x57\x51\x71\x64\x57\x50\x53','\x57\x35\x43\x53\x57\x4f\x52\x63\x52\x30\x78\x63\x48\x76\x53\x58','\x57\x51\x65\x77\x6f\x48\x78\x63\x4b\x62\x50\x51\x6a\x47','\x76\x62\x43\x43\x45\x43\x6f\x79\x71\x6d\x6b\x45\x76\x71','\x57\x51\x5a\x63\x52\x38\x6b\x72\x57\x36\x70\x63\x4f\x32\x75','\x57\x36\x65\x38\x57\x51\x70\x64\x4b\x61','\x57\x37\x66\x45\x43\x31\x70\x64\x49\x4c\x75\x36\x6e\x57\x33\x64\x51\x53\x6f\x73\x72\x64\x79','\x57\x37\x30\x63\x57\x52\x33\x63\x4e\x53\x6b\x58\x71\x78\x71\x77','\x46\x43\x6f\x30\x46\x53\x6b\x39\x76\x57','\x44\x6d\x6b\x39\x43\x65\x64\x64\x4e\x38\x6f\x62','\x77\x58\x6d\x67\x45\x38\x6f\x6c\x72\x57','\x64\x38\x6b\x4e\x73\x43\x6b\x69\x57\x35\x61\x37\x57\x35\x42\x63\x53\x5a\x78\x63\x50\x33\x71\x35','\x6e\x6d\x6b\x34\x57\x36\x56\x64\x51\x38\x6b\x45\x57\x35\x44\x4b\x68\x43\x6f\x4a\x6f\x57\x33\x63\x4b\x57','\x46\x43\x6b\x32\x57\x34\x7a\x38','\x68\x43\x6f\x69\x69\x4d\x47\x4f\x57\x52\x65','\x46\x4c\x5a\x64\x48\x43\x6b\x54\x6d\x6d\x6f\x32\x57\x37\x74\x63\x49\x71','\x65\x4c\x44\x37\x57\x51\x52\x64\x54\x58\x50\x43','\x57\x51\x61\x63\x57\x37\x4b\x74\x46\x30\x65','\x6b\x43\x6b\x62\x67\x53\x6f\x6e\x57\x34\x4b','\x69\x6d\x6f\x58\x57\x51\x39\x77\x71\x75\x4a\x64\x49\x64\x61','\x46\x53\x6b\x53\x57\x35\x48\x58','\x46\x4e\x42\x63\x53\x38\x6b\x64\x57\x36\x68\x63\x48\x6d\x6f\x69\x57\x36\x38\x7a\x6a\x57','\x57\x35\x5a\x63\x4e\x38\x6f\x54','\x57\x36\x4e\x64\x4b\x4d\x74\x63\x50\x43\x6b\x38\x57\x34\x33\x63\x47\x61','\x57\x52\x38\x65\x57\x51\x42\x63\x4d\x47','\x70\x62\x46\x63\x4b\x38\x6f\x37\x67\x6d\x6f\x34\x57\x36\x64\x64\x53\x43\x6b\x4a\x44\x71','\x43\x43\x6f\x6e\x61\x32\x70\x64\x51\x74\x69','\x64\x49\x5a\x63\x51\x43\x6f\x54\x57\x4f\x52\x63\x55\x75\x42\x63\x4f\x53\x6b\x55\x57\x50\x68\x63\x53\x38\x6b\x45','\x45\x48\x50\x4b\x57\x51\x64\x64\x53\x53\x6b\x37\x71\x43\x6b\x69','\x57\x36\x66\x63\x57\x52\x31\x6c\x6a\x62\x42\x64\x4a\x6d\x6f\x50\x57\x35\x71\x45\x64\x53\x6b\x57','\x57\x36\x4b\x61\x57\x37\x53','\x42\x67\x4a\x63\x4a\x53\x6f\x33\x6a\x43\x6f\x70\x79\x61','\x57\x37\x62\x41\x57\x50\x48\x54','\x61\x38\x6b\x6e\x57\x4f\x4f','\x57\x51\x4f\x66\x57\x52\x5a\x63\x4b\x53\x6b\x53\x45\x6d\x6b\x34','\x70\x53\x6b\x56\x42\x31\x52\x64\x4d\x38\x6f\x5a\x61\x61','\x45\x48\x54\x59\x57\x51\x71','\x57\x36\x6a\x63\x57\x52\x50\x6e\x72\x4d\x64\x64\x54\x6d\x6f\x37\x57\x35\x71\x35','\x72\x57\x6d\x42\x44\x61','\x62\x53\x6b\x45\x57\x4f\x31\x62\x57\x35\x33\x63\x4b\x6d\x6b\x6a\x42\x57','\x74\x32\x5a\x64\x52\x43\x6b\x31\x57\x35\x68\x64\x52\x47','\x6a\x6d\x6f\x59\x57\x36\x69\x36\x57\x4f\x6c\x63\x4d\x31\x44\x50','\x57\x35\x70\x64\x56\x38\x6b\x62\x71\x38\x6b\x73\x57\x37\x68\x64\x55\x33\x34','\x65\x53\x6b\x41\x64\x6d\x6f\x47\x57\x37\x46\x63\x54\x4b\x54\x72','\x57\x52\x75\x78\x57\x36\x69\x77\x44\x65\x69','\x57\x34\x4a\x63\x4a\x38\x6f\x36\x70\x58\x6c\x64\x4c\x4a\x4f','\x57\x52\x4b\x46\x57\x52\x5a\x63\x4e\x61','\x57\x36\x4f\x48\x64\x31\x4e\x63\x52\x5a\x31\x47','\x46\x33\x4e\x64\x52\x38\x6b\x56\x57\x34\x52\x64\x50\x77\x57','\x79\x53\x6f\x65\x57\x50\x42\x64\x49\x61','\x57\x37\x4e\x63\x4e\x78\x5a\x63\x4d\x43\x6f\x4f\x57\x52\x4f\x49\x73\x47','\x41\x78\x6c\x63\x4a\x53\x6f\x4d\x6f\x6d\x6f\x51\x41\x6d\x6f\x41','\x57\x37\x43\x4c\x57\x51\x68\x64\x4d\x78\x78\x64\x4f\x38\x6b\x67','\x62\x6d\x6b\x6d\x57\x4f\x50\x62\x57\x34\x37\x63\x4f\x6d\x6b\x73\x43\x47','\x57\x37\x69\x75\x79\x58\x43\x6f\x57\x52\x61','\x57\x51\x46\x63\x49\x38\x6f\x4d\x72\x53\x6f\x59\x6b\x6d\x6f\x76\x70\x71','\x6b\x53\x6b\x37\x57\x4f\x4f\x45\x43\x53\x6f\x47\x57\x4f\x66\x71','\x79\x66\x52\x64\x4d\x71','\x41\x43\x6f\x48\x57\x51\x56\x63\x50\x57','\x57\x51\x46\x63\x49\x53\x6f\x51\x77\x43\x6f\x4e\x6b\x43\x6f\x37','\x62\x38\x6f\x6d\x6a\x57','\x46\x43\x6b\x57\x57\x34\x58\x33\x64\x68\x47','\x6b\x4c\x4b\x47\x57\x37\x42\x63\x53\x53\x6f\x75\x78\x6d\x6b\x69\x67\x64\x4e\x63\x49\x38\x6f\x36','\x6b\x67\x2f\x63\x4d\x77\x69\x6e','\x6c\x43\x6f\x47\x57\x36\x69','\x57\x51\x61\x45\x57\x34\x34\x39\x69\x76\x57\x32\x79\x4e\x75\x43','\x79\x53\x6f\x64\x57\x4f\x52\x64\x47\x4e\x71\x52\x57\x37\x69','\x66\x43\x6b\x61\x68\x43\x6f\x35\x57\x37\x68\x63\x50\x4b\x54\x47','\x76\x38\x6f\x46\x57\x35\x4a\x64\x4a\x74\x44\x41\x57\x50\x5a\x64\x48\x4e\x31\x48\x57\x50\x42\x64\x51\x61','\x44\x53\x6f\x4e\x57\x52\x78\x63\x54\x47','\x71\x38\x6b\x6e\x6a\x6d\x6b\x59\x57\x51\x64\x63\x47\x57','\x70\x5a\x46\x64\x53\x43\x6f\x43','\x57\x36\x57\x61\x57\x37\x61','\x57\x37\x43\x76\x57\x36\x6a\x46\x79\x47','\x57\x37\x79\x59\x63\x71','\x79\x4b\x46\x64\x48\x38\x6b\x4d\x6b\x61','\x57\x52\x42\x64\x48\x53\x6b\x64\x71\x53\x6b\x50\x68\x6d\x6b\x63\x57\x50\x57','\x57\x51\x43\x65\x57\x36\x69\x44\x44\x4b\x70\x64\x53\x71','\x72\x61\x69\x41\x44\x43\x6f\x72\x73\x61','\x57\x52\x6c\x64\x47\x53\x6b\x64','\x71\x53\x6f\x65\x70\x6d\x6f\x34\x57\x36\x4a\x63\x4d\x67\x62\x4e','\x6b\x6d\x6f\x53\x57\x52\x39\x46\x71\x67\x78\x64\x49\x71','\x62\x6d\x6b\x6a\x57\x50\x7a\x6e\x57\x35\x34','\x64\x53\x6f\x44\x6a\x68\x6d\x49\x57\x52\x61\x63\x6e\x57','\x46\x53\x6f\x75\x57\x4f\x56\x64\x48\x32\x57\x4d','\x65\x4c\x7a\x54\x57\x51\x37\x63\x55\x71','\x57\x52\x47\x74\x57\x51\x37\x63\x48\x43\x6b\x37\x77\x71','\x57\x51\x42\x64\x4b\x38\x6b\x77\x75\x38\x6b\x52','\x57\x52\x4a\x63\x4f\x38\x6b\x79\x57\x36\x4a\x63\x49\x32\x31\x68\x6f\x57','\x57\x37\x79\x32\x6e\x6d\x6f\x31\x46\x66\x34','\x61\x38\x6b\x77\x57\x50\x76\x71\x57\x35\x2f\x63\x4a\x71','\x6b\x53\x6f\x5a\x57\x36\x65\x51\x57\x4f\x75','\x63\x77\x37\x63\x4a\x76\x43\x4a','\x79\x6d\x6f\x75\x57\x50\x70\x64\x49\x78\x30\x35','\x57\x4f\x61\x68\x57\x4f\x5a\x63\x47\x77\x4e\x63\x48\x33\x65','\x57\x36\x75\x73\x57\x37\x62\x6f\x43\x38\x6f\x76\x68\x71','\x6b\x38\x6f\x76\x79\x47','\x44\x43\x6f\x39\x57\x51\x56\x63\x55\x57','\x69\x53\x6f\x71\x44\x71','\x6e\x53\x6f\x57\x6d\x4c\x5a\x64\x56\x43\x6f\x43\x66\x59\x56\x64\x4b\x57','\x57\x36\x4f\x76\x57\x34\x43','\x57\x50\x68\x64\x54\x31\x4e\x64\x4b\x58\x71\x72\x72\x53\x6f\x70','\x6e\x53\x6f\x31\x57\x36\x6d\x32\x57\x50\x4a\x63\x4f\x57'];_0x46c0=function(){return _0x41607a;};return _0x46c0();}export async function assembleSelectionPool(_0x49fd83,_0xff27c4,_0x5bb4a4={}){const _0x5ea575=_0x5db0aa,_0x35eb55=_0x5bb4a4[_0x5ea575(0xb5,'\x37\x67\x75\x47')]??0x1*-0x1732+-0x1596+-0xbaf*-0x4,_0x4b6299=_0x5bb4a4[_0x5ea575(0x110,'\x70\x6f\x65\x21')+_0x5ea575(0x102,'\x43\x4d\x68\x6d')+_0x5ea575(0xc5,'\x39\x59\x72\x32')]!==![],_0x3ad3da=_0x4b6299?Math[_0x5ea575(0x14e,'\x71\x35\x67\x62')](_0x35eb55,SEMANTIC_CORPUS_LIMIT):_0x35eb55,_0x40f5e8=await _0x49fd83[_0x5ea575(0x16a,'\x24\x48\x35\x29')](_0x5ea575(0xec,'\x68\x50\x67\x4b'),_0x3ad3da),_0x257f93=withoutTaskDomainSignals(_0xff27c4),_0x3c7b48=await computeBans(_0x49fd83,_0x257f93,_0x35eb55),_0x52c71f=new Set(_0x257f93),_0xcf8df=_0x5bb4a4['\x70\x72\x6f\x76\x65\x6e\x61\x6e'+'\x63\x65']?.[_0x5ea575(0x137,'\x2a\x45\x5d\x40')](),_0x2a3668=_0x5bb4a4[_0x5ea575(0x11c,'\x6c\x6b\x63\x21')]?.[_0x5ea575(0x168,'\x58\x79\x37\x44')](),_0x147de0=[],_0x506cab=[],_0x4d19a8=[],_0xae64ac=new Set(),_0x1ad5d2=_0x4f1a6f=>{const _0x3dfb=_0x5ea575;if(!_0x4b6299||_0x4d19a8[_0x3dfb(0xb0,'\x54\x56\x31\x34')]>=SEMANTIC_CORPUS_LIMIT)return;const _0x59fee5=_0x4f1a6f[_0x3dfb(0x106,'\x24\x48\x35\x29')]??_0x4f1a6f[_0x3dfb(0x134,'\x72\x59\x5a\x37')];if(_0xae64ac[_0x3dfb(0x16c,'\x4e\x32\x63\x73')](_0x59fee5))return;_0xae64ac[_0x3dfb(0x11d,'\x56\x66\x66\x76')](_0x59fee5),_0x4d19a8[_0x3dfb(0x156,'\x56\x66\x66\x76')](_0x4f1a6f);},_0x357518=[];for(const [_0x5a877c,_0x116928]of _0x40f5e8[_0x5ea575(0x128,'\x72\x59\x5a\x37')]()){const _0x3bddd2=_0xcf8df?.[_0x5ea575(0xf8,'\x71\x35\x67\x62')](String(_0x116928['\x61\x73\x73\x65\x74\x5f\x69\x64']));if(_0x5bb4a4[_0x5ea575(0x100,'\x38\x6f\x26\x57')+'\x63\x65']&&!_0x5bb4a4[_0x5ea575(0x143,'\x55\x69\x4f\x55')+_0x5ea575(0xad,'\x41\x6f\x41\x62')]&&_0x3bddd2?.[_0x5ea575(0xd4,'\x39\x58\x50\x21')]===![])continue;const _0x571a8e=_0x2a3668?.[_0x5ea575(0x10b,'\x49\x78\x29\x5d')](String(_0x116928[_0x5ea575(0x165,'\x70\x6f\x65\x21')]));if(_0x5bb4a4[_0x5ea575(0xc7,'\x78\x31\x46\x76')]&&_0x571a8e!==undefined&&_0x571a8e[_0x5ea575(0xb3,'\x71\x35\x67\x62')]!==_0x5ea575(0x132,'\x48\x49\x4f\x59')&&(!_0x5bb4a4[_0x5ea575(0xfc,'\x38\x6f\x26\x57')+_0x5ea575(0x126,'\x70\x6f\x65\x21')]||_0x571a8e[_0x5ea575(0x138,'\x6d\x68\x58\x5b')]===_0x5ea575(0x15a,'\x7a\x45\x23\x55')))continue;const _0x577954=typeof _0x116928['\x69\x64']===_0x5ea575(0x158,'\x39\x35\x30\x51')?String(_0x116928['\x69\x64']):String(_0x116928[_0x5ea575(0x103,'\x72\x59\x5a\x37')]),_0x16bc8e=String(_0x116928[_0x5ea575(0x14c,'\x50\x61\x58\x58')]);if(isBannedCandidate(_0x3c7b48,_0x577954,_0x16bc8e))continue;const _0x4e4aca=asStrings(_0x116928[_0x5ea575(0xd6,'\x58\x2a\x73\x67')+_0x5ea575(0x122,'\x6e\x2a\x5a\x6e')]),_0x4c70ef=withoutTaskDomainSignals(_0x4e4aca),_0x23c90e=typeof _0x116928[_0x5ea575(0x157,'\x70\x6f\x65\x21')]===_0x5ea575(0x158,'\x39\x35\x30\x51')?String(_0x116928[_0x5ea575(0xb6,'\x37\x37\x56\x79')]):undefined,_0x2decfd=typeof _0x116928[_0x5ea575(0x16b,'\x58\x2a\x73\x67')]==='\x73\x74\x72\x69\x6e\x67'?String(_0x116928[_0x5ea575(0x125,'\x56\x66\x66\x76')]):undefined,_0x4ed88b=_0x4c70ef[_0x5ea575(0x135,'\x49\x78\x29\x5d')](_0x4a71a1=>_0x52c71f[_0x5ea575(0x120,'\x37\x28\x78\x42')](_0x4a71a1)),_0x553b37={'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x4c70ef,'\x67\x65\x6e\x65\x49\x64':_0x577954,'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x23c90e,'\x73\x75\x6d\x6d\x61\x72\x79':_0x2decfd};_0x3bddd2?.[_0x5ea575(0x147,'\x2a\x5a\x72\x24')]!==![]&&(_0x571a8e===undefined||_0x571a8e[_0x5ea575(0xf9,'\x39\x58\x50\x21')]===_0x5ea575(0x11f,'\x6d\x68\x58\x5b'))&&_0x1ad5d2({'\x67\x65\x6e\x65\x49\x64':_0x577954,'\x61\x73\x73\x65\x74\x49\x64':_0x16bc8e,'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x4e4aca,'\x76\x69\x65\x77':emptyLearningView(_0x577954),..._0x23c90e?{'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x23c90e}:{},..._0x2decfd?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x2decfd}:{}});if(_0x5a877c>=_0x35eb55)continue;const _0x41df03=_0x4ed88b||hasSelectionAdmissionEvidence(_0x257f93,_0x553b37);if(!_0x41df03){const _0x5616cc=geneGenerationSource(_0x116928,_0x577954);(_0x5616cc===_0x5ea575(0x163,'\x48\x38\x6c\x71')+'\x64'||_0x5616cc===_0x5ea575(0x164,'\x49\x78\x29\x5d'))&&_0x506cab[_0x5ea575(0xb1,'\x38\x4c\x4e\x4c')]({'\x67\x65\x6e\x65\x49\x64':_0x577954,'\x61\x73\x73\x65\x74\x49\x64':_0x16bc8e,'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x4e4aca,'\x76\x69\x65\x77':emptyLearningView(_0x577954),'\x72\x65\x75\x73\x65\x43\x6f\x75\x6e\x74':0x0,'\x67\x65\x6e\x65\x72\x61\x74\x69\x6f\x6e\x53\x6f\x75\x72\x63\x65':_0x5616cc,..._0x23c90e?{'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x23c90e}:{},..._0x2decfd?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x2decfd}:{}});continue;}const _0x356370=await aggregateLearningHistory(_0x49fd83,_0x577954),_0x1b554c=_0x3bddd2?.[_0x5ea575(0xfd,'\x6d\x68\x58\x5b')]!==![]&&(_0x571a8e===undefined||_0x571a8e['\x73\x74\x61\x74\x65']==='\x61\x70\x70\x72\x6f\x76\x65\x64'),_0x4cc71c=combinedReuseSentiment(_0x5bb4a4[_0x5ea575(0xd5,'\x35\x54\x26\x6a')+_0x5ea575(0x10a,'\x31\x62\x62\x28')],_0x577954,String(_0x116928['\x61\x73\x73\x65\x74\x5f\x69\x64']));_0x147de0[_0x5ea575(0x161,'\x78\x31\x46\x76')]({'\x67\x65\x6e\x65\x49\x64':_0x577954,'\x61\x73\x73\x65\x74\x49\x64':String(_0x116928[_0x5ea575(0x11b,'\x79\x38\x24\x67')]),'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x4e4aca,'\x76\x69\x65\x77':_0x356370,'\x72\x65\x75\x73\x65\x43\x6f\x75\x6e\x74':_0x356370[_0x5ea575(0x15d,'\x6e\x54\x46\x78')]+_0x356370[_0x5ea575(0xfa,'\x68\x50\x67\x4b')],..._0x23c90e?{'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x23c90e}:{},..._0x2decfd?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x2decfd}:{},..._0x4cc71c!==undefined?{'\x72\x65\x75\x73\x65\x41\x64\x6a\x75\x73\x74':_0x4cc71c}:{},'\x65\x78\x70\x6c\x6f\x72\x61\x74\x69\x6f\x6e\x45\x6c\x69\x67\x69\x62\x6c\x65':_0x1b554c});}if(_0x5bb4a4[_0x5ea575(0xdf,'\x58\x2a\x73\x67')+_0x5ea575(0xe3,'\x67\x34\x69\x43')]&&_0x5bb4a4[_0x5ea575(0xf2,'\x38\x4c\x4e\x4c')+_0x5ea575(0xdb,'\x23\x33\x23\x6c')][_0x5ea575(0x14a,'\x6c\x6b\x63\x21')]>0x236*-0x7+-0xd29+-0x1*-0x1ca3){if(_0x5ea575(0x117,'\x2a\x45\x5d\x40')!=='\x64\x4b\x47\x57\x6e'){const _0xf6b71e=new Set(_0x147de0['\x6d\x61\x70'](_0x4a47ae=>_0x4a47ae['\x67\x65\x6e\x65\x49\x64'])),_0x5af144=new Set(_0x147de0['\x6d\x61\x70'](_0x5c9495=>_0x5c9495[_0x5ea575(0xc9,'\x71\x35\x67\x62')])['\x66\x69\x6c\x74\x65\x72'](_0x6a203=>_0x6a203!==undefined));for(const _0xb0d81b of _0x5bb4a4['\x68\x75\x62\x43\x61\x6e\x64\x69'+'\x64\x61\x74\x65\x73']){if(!passesInjectedCandidateGates(_0xb0d81b,_0x5bb4a4,_0xcf8df,_0x2a3668))continue;if(_0xf6b71e[_0x5ea575(0xb4,'\x6a\x25\x6f\x79')](_0xb0d81b[_0x5ea575(0xdd,'\x39\x58\x50\x21')]))continue;if(_0xb0d81b['\x61\x73\x73\x65\x74\x49\x64']&&_0x5af144[_0x5ea575(0xf1,'\x24\x41\x79\x54')](_0xb0d81b[_0x5ea575(0xe1,'\x49\x78\x29\x5d')]))continue;if(isBannedCandidate(_0x3c7b48,_0xb0d81b['\x67\x65\x6e\x65\x49\x64'],_0xb0d81b[_0x5ea575(0x140,'\x37\x28\x78\x42')]))continue;const _0x289c03=_0xb0d81b[_0x5ea575(0xed,'\x38\x6f\x26\x57')+_0x5ea575(0xee,'\x6e\x54\x46\x78')]===undefined?combinedReuseSentiment(_0x5bb4a4[_0x5ea575(0xea,'\x6a\x25\x6f\x79')+_0x5ea575(0x169,'\x37\x67\x75\x47')],_0xb0d81b[_0x5ea575(0x105,'\x2a\x5a\x72\x24')],_0xb0d81b[_0x5ea575(0xda,'\x6d\x68\x58\x5b')]):undefined,_0x3b1d91={..._0xb0d81b,'\x65\x78\x70\x6c\x6f\x72\x61\x74\x69\x6f\x6e\x45\x6c\x69\x67\x69\x62\x6c\x65':![]};_0x147de0[_0x5ea575(0x144,'\x67\x34\x69\x43')](_0x289c03!==undefined?{..._0x3b1d91,'\x72\x65\x75\x73\x65\x41\x64\x6a\x75\x73\x74':_0x289c03}:_0x3b1d91),_0xf6b71e[_0x5ea575(0xca,'\x65\x56\x4f\x5d')](_0xb0d81b[_0x5ea575(0xc3,'\x31\x62\x62\x28')]);if(_0xb0d81b[_0x5ea575(0x14f,'\x48\x38\x6c\x71')])_0x5af144[_0x5ea575(0xd9,'\x50\x50\x55\x23')](_0xb0d81b[_0x5ea575(0xbb,'\x55\x69\x4f\x55')]);}}else _0xd6b454[_0x5ea575(0xcb,'\x24\x48\x35\x29')]({'\x67\x65\x6e\x65\x49\x64':_0x2fcf5c,'\x61\x73\x73\x65\x74\x49\x64':_0x54eae9,'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x378bbb,'\x76\x69\x65\x77':_0x147620(_0x5c981d),'\x72\x65\x75\x73\x65\x43\x6f\x75\x6e\x74':0x0,'\x67\x65\x6e\x65\x72\x61\x74\x69\x6f\x6e\x53\x6f\x75\x72\x63\x65':_0x4e0361,..._0x4b5e7d?{'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x2fdf67}:{},..._0x569a9a?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x37d84d}:{}});}for(const _0x1af7a6 of await _0x49fd83[_0x5ea575(0xf3,'\x58\x79\x37\x44')](_0x5ea575(0xe7,'\x70\x6f\x65\x21'),_0x35eb55)){if(_0x5ea575(0x142,'\x41\x6f\x41\x62')!==_0x5ea575(0xc6,'\x79\x38\x24\x67'))return typeof _0x280998===_0x5ea575(0x141,'\x6e\x2a\x5a\x6e')&&_0x16ccc3['\x74\x72\x69\x6d']()[_0x5ea575(0xbe,'\x78\x31\x46\x76')]>0x8a9*0x1+-0x4e5*0x7+0x199a?_0x12f0d3[_0x5ea575(0x148,'\x24\x41\x79\x54')]():_0xf0c954;else{if(_0x2a3668?.[_0x5ea575(0xb9,'\x37\x37\x56\x79')](String(_0x1af7a6[_0x5ea575(0xf4,'\x48\x38\x6c\x71')]))?.[_0x5ea575(0xa9,'\x79\x38\x24\x67')]!==_0x5ea575(0x162,'\x39\x58\x50\x21'))continue;const _0x1468bb=asStrings(_0x1af7a6[_0x5ea575(0xe8,'\x54\x56\x31\x34')]),_0x56d1d4=asStrings(_0x1af7a6[_0x5ea575(0xbc,'\x70\x6f\x65\x21')]);if(_0x1468bb[_0x5ea575(0xfe,'\x6e\x54\x46\x78')]===-0x1788+-0x1885+0x300d||_0x56d1d4['\x6c\x65\x6e\x67\x74\x68']===0x75a+0x482*-0x7+0xc1a*0x2)continue;const _0x291aac=stringField(_0x1af7a6['\x69\x64'])??String(_0x1af7a6[_0x5ea575(0x124,'\x50\x50\x55\x23')]),_0x57e7d1=stringField(_0x1af7a6[_0x5ea575(0x129,'\x39\x58\x50\x21')]),_0x2aa1ac=withoutTaskDomainSignals(_0x1468bb),_0x352472=_0x2aa1ac[_0x5ea575(0xd3,'\x6e\x54\x46\x78')](_0x811a6=>_0x52c71f['\x68\x61\x73'](_0x811a6))||tagOverlapScore(_0x257f93,{'\x73\x69\x67\x6e\x61\x6c\x73\x4d\x61\x74\x63\x68':_0x2aa1ac,'\x67\x65\x6e\x65\x49\x64':_0x291aac,'\x73\x75\x6d\x6d\x61\x72\x79':_0x57e7d1})>-0xc11+0xe73+0x5*-0x7a;if(!_0x352472)continue;const _0x27e612=severityOf(_0x1af7a6['\x73\x65\x76\x65\x72\x69\x74\x79']),_0x4d2b47=stringField(_0x1af7a6[_0x5ea575(0x121,'\x65\x56\x4f\x5d')+'\x65']);_0x357518[_0x5ea575(0xfb,'\x35\x54\x26\x6a')]({'\x61\x6e\x74\x69\x47\x65\x6e\x65\x49\x64':_0x291aac,'\x61\x73\x73\x65\x74\x49\x64':String(_0x1af7a6[_0x5ea575(0x159,'\x39\x59\x72\x32')]),'\x74\x72\x69\x67\x67\x65\x72':_0x1468bb,'\x61\x76\x6f\x69\x64':_0x56d1d4,..._0x57e7d1?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x57e7d1}:{},..._0x27e612?{'\x73\x65\x76\x65\x72\x69\x74\x79':_0x27e612}:{},..._0x4d2b47?{'\x72\x61\x74\x69\x6f\x6e\x61\x6c\x65':_0x4d2b47}:{}});}}return{'\x63\x61\x6e\x64\x69\x64\x61\x74\x65\x73':_0x147de0,'\x64\x69\x73\x74\x69\x6c\x6c\x65\x64\x46\x61\x6c\x6c\x62\x61\x63\x6b':_0x506cab,'\x73\x65\x6d\x61\x6e\x74\x69\x63\x43\x6f\x72\x70\x75\x73':_0x4d19a8,'\x61\x6e\x74\x69\x57\x61\x72\x6e\x69\x6e\x67\x73':_0x357518};}export async function assembleCandidates(_0x21f1b8,_0x590db5,_0xf86229={}){const _0x2edd94=_0x5db0aa;return(await assembleSelectionPool(_0x21f1b8,_0x590db5,{..._0xf86229,'\x69\x6e\x63\x6c\x75\x64\x65\x53\x65\x6d\x61\x6e\x74\x69\x63\x43\x6f\x72\x70\x75\x73':![]}))[_0x2edd94(0x131,'\x24\x31\x29\x29')+'\x65\x73'];}