@evomap/evolver-core 2.0.0-beta.9 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/algo/antiDistill.js +1 -167
- package/dist/algo/bans.js +1 -33
- package/dist/algo/candidateAssembly.d.ts +7 -2
- package/dist/algo/candidateAssembly.js +1 -205
- package/dist/algo/capabilityCandidates.js +1 -136
- package/dist/algo/confidence.js +1 -196
- package/dist/algo/conversationSniffer.js +1 -149
- package/dist/algo/cycleEngine.d.ts +23 -2
- package/dist/algo/cycleEngine.js +1 -425
- package/dist/algo/cycleFailureClassifier.js +1 -112
- package/dist/algo/epigenetics.js +1 -41
- package/dist/algo/evolutionEvent.js +1 -24
- package/dist/algo/exploration.d.ts +7 -0
- package/dist/algo/exploration.js +1 -55
- package/dist/algo/geneHealth.d.ts +2 -2
- package/dist/algo/geneHealth.js +1 -16
- package/dist/algo/geneIntake.js +1 -128
- package/dist/algo/genePromotion.js +1 -53
- package/dist/algo/geneSelection.d.ts +63 -5
- package/dist/algo/geneSelection.js +1 -246
- package/dist/algo/index.d.ts +2 -0
- package/dist/algo/index.js +1 -20
- package/dist/algo/memoryGraph.js +1 -86
- package/dist/algo/mutation.js +1 -22
- package/dist/algo/orchestrator.d.ts +8 -1
- package/dist/algo/orchestrator.js +1 -75
- package/dist/algo/publishEligibility.d.ts +34 -0
- package/dist/algo/publishEligibility.js +1 -0
- package/dist/algo/solidify.js +1 -63
- package/dist/algo/strategyPresets.js +1 -61
- package/dist/algo/ucb1.d.ts +53 -0
- package/dist/algo/ucb1.js +1 -0
- package/dist/assetstore/assetSidecarRecords.d.ts +7 -2
- package/dist/assetstore/assetSidecarRecords.js +238 -0
- package/dist/assetstore/assetSidecarRecovery.js +2 -2
- package/dist/assetstore/assetStoreHealth.d.ts +6 -0
- package/dist/assetstore/assetStoreHealth.js +56 -14
- package/dist/assetstore/assetStoreStorage.d.ts +1 -1
- package/dist/assetstore/assetStoreStorage.js +27 -9
- package/dist/assetstore/assetSyncLedger.d.ts +86 -0
- package/dist/assetstore/assetSyncLedger.js +683 -4
- package/dist/assetstore/index.d.ts +1 -0
- package/dist/assetstore/index.js +1 -0
- package/dist/assetstore/localAssetStoreSnapshot.d.ts +51 -0
- package/dist/assetstore/localAssetStoreSnapshot.js +329 -0
- package/dist/assetstore/localJsonl.d.ts +4 -2
- package/dist/assetstore/localJsonl.js +89 -9
- package/dist/assetstore/provenance.d.ts +80 -4
- package/dist/assetstore/provenance.js +313 -5
- package/dist/assetstore/provider.d.ts +58 -1
- package/dist/assetstore/provider.js +97 -6
- package/dist/benchmark/antiGeneBenchmark.d.ts +2 -0
- package/dist/benchmark/antiGeneBenchmark.js +1 -251
- package/dist/benchmark/antiGeneImpact.js +1 -34
- package/dist/benchmark/antiGeneRollout.d.ts +2 -0
- package/dist/benchmark/antiGeneRollout.js +1 -268
- package/dist/benchmark/benchmark.js +1 -26
- package/dist/benchmark/evolutionThesisSolver.js +1 -41
- package/dist/benchmark/index.d.ts +2 -1
- package/dist/benchmark/index.js +1 -6
- package/dist/benchmark/selectionFlatAbstention.d.ts +152 -0
- package/dist/benchmark/selectionFlatAbstention.js +1 -0
- package/dist/benchmark/thesis.js +1 -150
- package/dist/benchmark/triggerShift.js +1 -106
- package/dist/bootstrap/envFingerprint.d.ts +9 -0
- package/dist/bootstrap/envFingerprint.js +5 -0
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.js +2 -1
- package/dist/bootstrap/v1EnvCompat.d.ts +111 -0
- package/dist/bootstrap/v1EnvCompat.js +280 -0
- package/dist/cycle/cycleTimeline.js +1 -74
- package/dist/cycle/index.js +1 -2
- package/dist/cycle/stateMachine.js +1 -25
- package/dist/events/eventArchive.d.ts +2 -0
- package/dist/events/eventArchive.js +13 -3
- package/dist/events/eventSchema.d.ts +7 -7
- package/dist/events/eventStore.d.ts +2 -0
- package/dist/events/eventStore.js +5 -1
- package/dist/events/ingest.d.ts +1 -0
- package/dist/events/ingest.js +1 -0
- package/dist/events/paths.d.ts +3 -1
- package/dist/events/paths.js +4 -0
- package/dist/events/public.d.ts +2 -2
- package/dist/events/public.js +2 -2
- package/dist/events/reports.d.ts +2 -0
- package/dist/events/reports.js +4 -0
- package/dist/exec/autoExec.d.ts +43 -2
- package/dist/exec/autoExec.js +76 -9
- package/dist/exec/autonomousCycle.d.ts +22 -4
- package/dist/exec/autonomousCycle.js +64 -13
- package/dist/exec/claudeBridge.d.ts +32 -7
- package/dist/exec/claudeBridge.js +281 -29
- package/dist/exec/prompt.js +5 -1
- package/dist/exec/runnerRegistry.d.ts +68 -26
- package/dist/exec/runnerRegistry.js +307 -72
- package/dist/exec/selfPr.js +1 -7
- package/dist/feedback/envelope.d.ts +61 -0
- package/dist/feedback/envelope.js +168 -0
- package/dist/feedback/index.d.ts +1 -0
- package/dist/feedback/index.js +1 -0
- package/dist/hooks/hooks.js +1 -0
- package/dist/hub/agentDirectory.js +1 -104
- package/dist/hub/assetCallLog.d.ts +35 -1
- package/dist/hub/assetCallLog.js +1 -72
- package/dist/hub/bindings.d.ts +8 -1
- package/dist/hub/bindings.js +1 -110
- package/dist/hub/capability.d.ts +90 -3
- package/dist/hub/capability.js +1 -1
- package/dist/hub/conversationDistiller.js +1 -264
- package/dist/hub/fake.d.ts +2 -2
- package/dist/hub/fake.js +1 -70
- package/dist/hub/hubReview.js +1 -106
- package/dist/hub/index.js +1 -11
- package/dist/hub/ingest.js +1 -15
- package/dist/hub/questionGenerator.d.ts +5 -1
- package/dist/hub/questionGenerator.js +1 -406
- package/dist/hub/reuseDecision.js +1 -127
- package/dist/hub/sanitize.js +1 -322
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/dist/mailbox/dispatch.d.ts +1 -1
- package/dist/mailbox/dispatch.js +22 -6
- package/dist/mailbox/envelope.d.ts +7 -1
- package/dist/mailbox/envelope.js +9 -2
- package/dist/mailbox/ipcServer.d.ts +10 -2
- package/dist/mailbox/ipcServer.js +163 -13
- package/dist/mailbox/store.d.ts +89 -3
- package/dist/mailbox/store.js +895 -41
- package/dist/material/boundary.js +1 -14
- package/dist/material/consumer.js +1 -55
- package/dist/material/emit.js +1 -52
- package/dist/material/factory.js +1 -25
- package/dist/material/index.js +1 -9
- package/dist/material/materialArchive.js +1 -466
- package/dist/material/materialStore.js +1 -69
- package/dist/material/sampling.js +1 -39
- package/dist/material/sources.js +1 -33
- package/dist/material/watermark.js +1 -76
- package/dist/ops/evolutionGraphProjection.d.ts +20 -0
- package/dist/ops/evolutionGraphProjection.js +315 -0
- package/dist/ops/index.d.ts +2 -1
- package/dist/ops/index.js +2 -1
- package/dist/ops/selfUpdate.d.ts +8 -0
- package/dist/ops/selfUpdate.js +24 -8
- package/dist/personality/drift.js +1 -106
- package/dist/personality/events.js +1 -37
- package/dist/personality/evolveOps.js +1 -93
- package/dist/personality/index.js +1 -11
- package/dist/personality/mutate.js +1 -39
- package/dist/personality/pivot.js +1 -22
- package/dist/personality/prompt.js +1 -62
- package/dist/personality/riskGate.js +1 -80
- package/dist/personality/schema.d.ts +16 -16
- package/dist/personality/schema.js +1 -119
- package/dist/personality/select.js +1 -71
- package/dist/personality/stats.js +1 -82
- package/dist/personality/store.js +1 -92
- package/dist/schema/common.js +1 -17
- package/dist/schema/evolutionGraph.d.ts +784 -0
- package/dist/schema/evolutionGraph.js +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -5
- package/dist/schema/material.js +1 -50
- package/dist/schema/problem.js +1 -45
- package/dist/schema/proofOfWork.js +1 -9
- package/dist/schema/signal.d.ts +3 -3
- package/dist/schema/signal.js +1 -19
- package/dist/signals/curriculum.d.ts +55 -0
- package/dist/signals/curriculum.js +1 -0
- package/dist/signals/cycleHistoryFromEvents.js +1 -96
- package/dist/signals/expand.d.ts +15 -1
- package/dist/signals/expand.js +1 -125
- package/dist/signals/extractor.d.ts +2 -2
- package/dist/signals/extractor.js +1 -57
- package/dist/signals/index.d.ts +3 -1
- package/dist/signals/index.js +1 -6
- package/dist/signals/metaSignals.d.ts +4 -0
- package/dist/signals/metaSignals.js +1 -158
- package/dist/signals/signalGate.js +1 -40
- package/dist/signals/taskDomain.d.ts +22 -0
- package/dist/signals/taskDomain.js +1 -0
- package/dist/signals/traceSignals.js +1 -123
- package/dist/strategy/constraintAblation.js +1 -3074
- package/dist/strategy/constraintAblationPredicates.d.ts +31 -0
- package/dist/strategy/constraintAblationPredicates.js +1 -0
- package/dist/strategy/experiment.js +1 -63
- package/dist/strategy/index.js +1 -3
- package/dist/strategy/strategyPoint.js +1 -23
- package/dist/trace/index.d.ts +3 -1
- package/dist/trace/index.js +3 -1
- package/dist/trace/learningTrace.d.ts +209 -0
- package/dist/trace/learningTrace.js +276 -0
- package/dist/trace/proxyTurns.d.ts +31 -0
- package/dist/trace/proxyTurns.js +137 -0
- package/dist/verify/sandboxRunner.d.ts +28 -0
- package/dist/verify/sandboxRunner.js +218 -19
- package/dist/verify/sandboxedValidation.d.ts +9 -0
- package/dist/verify/sandboxedValidation.js +113 -13
- package/dist/verify/validation.d.ts +11 -1
- package/dist/verify/validation.js +31 -0
- package/package.json +5 -2
|
@@ -1,466 +1 @@
|
|
|
1
|
-
import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeSync, } from 'node:fs';
|
|
2
|
-
import { basename, dirname, extname, join } from 'node:path';
|
|
3
|
-
import { material } from '../schema/material.js';
|
|
4
|
-
import { acquireLock, releaseLock } from '../util/fileLock.js';
|
|
5
|
-
export const MATERIAL_ARCHIVE_DEFAULT_KEEP_RECORDS = 1_000;
|
|
6
|
-
const SEGMENT_PATTERN = /^material-(\d{16})-(\d{16})\.jsonl$/;
|
|
7
|
-
export class InvalidMaterialLogError extends Error {
|
|
8
|
-
line;
|
|
9
|
-
code = 'MATERIAL_ARCHIVE_INVALID_LOG';
|
|
10
|
-
constructor(line, reason) {
|
|
11
|
-
super(`material archive refused invalid active log at line ${line}: ${reason}`);
|
|
12
|
-
this.line = line;
|
|
13
|
-
this.name = 'InvalidMaterialLogError';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export class InvalidMaterialArchiveError extends Error {
|
|
17
|
-
segment;
|
|
18
|
-
line;
|
|
19
|
-
code = 'MATERIAL_ARCHIVE_INVALID_ARCHIVE';
|
|
20
|
-
constructor(segment, line, reason) {
|
|
21
|
-
super(`material archive segment ${segment} is invalid at line ${line}: ${reason}`);
|
|
22
|
-
this.segment = segment;
|
|
23
|
-
this.line = line;
|
|
24
|
-
this.name = 'InvalidMaterialArchiveError';
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class MaterialArchiveRangeError extends Error {
|
|
28
|
-
code = 'MATERIAL_ARCHIVE_RANGE_INVALID';
|
|
29
|
-
constructor(reason) {
|
|
30
|
-
super(`material archive range is invalid: ${reason}`);
|
|
31
|
-
this.name = 'MaterialArchiveRangeError';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export class MaterialArchiveSegmentConflictError extends Error {
|
|
35
|
-
archiveId;
|
|
36
|
-
code = 'MATERIAL_ARCHIVE_SEGMENT_CONFLICT';
|
|
37
|
-
constructor(archiveId) {
|
|
38
|
-
super(`material archive segment ${archiveId} already exists with different content`);
|
|
39
|
-
this.archiveId = archiveId;
|
|
40
|
-
this.name = 'MaterialArchiveSegmentConflictError';
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export class InvalidMaterialArchiveCursorError extends Error {
|
|
44
|
-
code = 'MATERIAL_ARCHIVE_CURSOR_INVALID';
|
|
45
|
-
constructor(reason) {
|
|
46
|
-
super(`material archive cursor is invalid: ${reason}`);
|
|
47
|
-
this.name = 'InvalidMaterialArchiveCursorError';
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export function materialArchiveDir(path) {
|
|
51
|
-
const ext = extname(path);
|
|
52
|
-
const stem = ext.length > 0 ? basename(path, ext) : basename(path);
|
|
53
|
-
return join(dirname(path), `${stem}.archive`);
|
|
54
|
-
}
|
|
55
|
-
export function materialArchiveSegmentName(start, end) {
|
|
56
|
-
return `material-${String(start).padStart(16, '0')}-${String(end).padStart(16, '0')}.jsonl`;
|
|
57
|
-
}
|
|
58
|
-
export function planMaterialArchive(opts) {
|
|
59
|
-
const keepRecords = normalizeKeepRecords(opts.keepRecords);
|
|
60
|
-
const state = readStrictHistory(opts.path);
|
|
61
|
-
const historyRecords = state.archive.length + state.logicalActive.length;
|
|
62
|
-
const cursors = readCursorsStrict(opts.cursorPaths ?? [], historyRecords);
|
|
63
|
-
const minCursor = minimumCursor(cursors, state.archive.length);
|
|
64
|
-
const wouldArchive = archiveableCount(state, minCursor, keepRecords);
|
|
65
|
-
const start = state.archive.length;
|
|
66
|
-
const end = start + wouldArchive - 1;
|
|
67
|
-
return {
|
|
68
|
-
mode: 'preview',
|
|
69
|
-
activeRecords: state.logicalActive.length,
|
|
70
|
-
physicalActiveRecords: state.active.length,
|
|
71
|
-
archiveRecords: state.archive.length,
|
|
72
|
-
historyRecords,
|
|
73
|
-
keepRecords,
|
|
74
|
-
minCursor,
|
|
75
|
-
cursors,
|
|
76
|
-
overlapRecords: state.overlap,
|
|
77
|
-
wouldArchive,
|
|
78
|
-
retainedRecords: state.logicalActive.length - wouldArchive,
|
|
79
|
-
archiveId: wouldArchive === 0 ? null : `${start}-${end}`,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
export function archiveMaterialStore(opts) {
|
|
83
|
-
const keepRecords = normalizeKeepRecords(opts.keepRecords);
|
|
84
|
-
const lockPath = `${opts.path}.lock`;
|
|
85
|
-
mkdirSync(dirname(opts.path), { recursive: true });
|
|
86
|
-
acquireLock(lockPath);
|
|
87
|
-
try {
|
|
88
|
-
const state = readStrictHistory(opts.path);
|
|
89
|
-
const historyRecords = state.archive.length + state.logicalActive.length;
|
|
90
|
-
const cursors = readCursorsStrict(opts.cursorPaths ?? [], historyRecords);
|
|
91
|
-
const minCursor = minimumCursor(cursors, state.archive.length);
|
|
92
|
-
const archivedRecords = archiveableCount(state, minCursor, keepRecords);
|
|
93
|
-
const start = state.archive.length;
|
|
94
|
-
const end = start + archivedRecords - 1;
|
|
95
|
-
const archiveId = archivedRecords === 0 ? null : `${start}-${end}`;
|
|
96
|
-
if (archivedRecords > 0) {
|
|
97
|
-
const prefix = state.logicalActive.slice(0, archivedRecords);
|
|
98
|
-
const archiveDir = materialArchiveDir(opts.path);
|
|
99
|
-
mkdirSync(archiveDir, { recursive: true });
|
|
100
|
-
const segmentPath = join(archiveDir, materialArchiveSegmentName(start, end));
|
|
101
|
-
const contents = serializeLines(prefix);
|
|
102
|
-
if (existsSync(segmentPath)) {
|
|
103
|
-
if (readFileSync(segmentPath, 'utf8') !== contents) {
|
|
104
|
-
throw new MaterialArchiveSegmentConflictError(archiveId ?? `${start}-${end}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
durableReplace(`${segmentPath}.tmp`, segmentPath, contents);
|
|
109
|
-
fsyncDirectoryBestEffort(archiveDir);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const tail = state.logicalActive.slice(archivedRecords);
|
|
113
|
-
if (archivedRecords > 0 || state.overlap > 0) {
|
|
114
|
-
durableReplace(`${opts.path}.archive.tmp`, opts.path, serializeLines(tail));
|
|
115
|
-
fsyncDirectoryBestEffort(dirname(opts.path));
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
mode: 'write',
|
|
119
|
-
activeRecordsBefore: state.logicalActive.length,
|
|
120
|
-
physicalActiveRecordsBefore: state.active.length,
|
|
121
|
-
keepRecords,
|
|
122
|
-
minCursor,
|
|
123
|
-
cursors,
|
|
124
|
-
archivedRecords,
|
|
125
|
-
retainedRecords: tail.length,
|
|
126
|
-
archiveRecords: state.archive.length + archivedRecords,
|
|
127
|
-
historyRecords,
|
|
128
|
-
recoveredOverlap: state.overlap,
|
|
129
|
-
archiveId,
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
finally {
|
|
133
|
-
releaseLock(lockPath);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/** Operational, fail-soft full history reader. Strict archive writes validate every line and range. */
|
|
137
|
-
export function readMaterialHistory(path) {
|
|
138
|
-
// Snapshot active first. Writers persist an archive segment before replacing active, so every interleaving
|
|
139
|
-
// now observes either the old active state or a recoverable archive/active overlap, never a new tail with an
|
|
140
|
-
// old archive base.
|
|
141
|
-
const active = readMaterialsLenient(path);
|
|
142
|
-
const ordered = [];
|
|
143
|
-
const positions = new Map();
|
|
144
|
-
const archiveDir = materialArchiveDir(path);
|
|
145
|
-
for (const descriptor of segmentDescriptors(archiveDir)) {
|
|
146
|
-
for (const record of readMaterialsLenient(join(archiveDir, descriptor.file))) {
|
|
147
|
-
if (positions.has(record.materialId))
|
|
148
|
-
continue;
|
|
149
|
-
positions.set(record.materialId, ordered.length);
|
|
150
|
-
ordered.push(record);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
// The active log is the current writer source. In a crash overlap it owns the duplicate record while its
|
|
154
|
-
// original absolute position remains stable.
|
|
155
|
-
for (const record of active) {
|
|
156
|
-
const position = positions.get(record.materialId);
|
|
157
|
-
if (position === undefined) {
|
|
158
|
-
positions.set(record.materialId, ordered.length);
|
|
159
|
-
ordered.push(record);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
ordered[position] = record;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return ordered;
|
|
166
|
-
}
|
|
167
|
-
/** Absolute-offset range reader used by durable consumers after active records move into archive segments. */
|
|
168
|
-
export function readMaterialRange(path, start, count) {
|
|
169
|
-
const normalizedStart = normalizeRangeStart(start);
|
|
170
|
-
const normalizedCount = normalizeRangeCount(count);
|
|
171
|
-
if (normalizedCount === 0)
|
|
172
|
-
return [];
|
|
173
|
-
// Keep the same active-first snapshot order as readMaterialHistory; see its concurrency note.
|
|
174
|
-
const active = readMaterialsLenient(path);
|
|
175
|
-
const archiveDir = materialArchiveDir(path);
|
|
176
|
-
const descriptors = segmentDescriptors(archiveDir);
|
|
177
|
-
if (descriptors.length === 0) {
|
|
178
|
-
return active.slice(normalizedStart, normalizedStart + normalizedCount);
|
|
179
|
-
}
|
|
180
|
-
const archiveEnd = Math.max(...descriptors.map((descriptor) => descriptor.end));
|
|
181
|
-
const requestedEnd = Math.min(Number.MAX_SAFE_INTEGER, normalizedStart + normalizedCount - 1);
|
|
182
|
-
const byOffset = new Map();
|
|
183
|
-
for (const descriptor of descriptors) {
|
|
184
|
-
if (descriptor.end < normalizedStart || descriptor.start > requestedEnd)
|
|
185
|
-
continue;
|
|
186
|
-
const records = readMaterialsLenient(join(archiveDir, descriptor.file));
|
|
187
|
-
for (let index = 0; index < records.length; index += 1) {
|
|
188
|
-
const offset = descriptor.start + index;
|
|
189
|
-
if (offset >= normalizedStart && offset <= requestedEnd && !byOffset.has(offset)) {
|
|
190
|
-
byOffset.set(offset, records[index]);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
if (requestedEnd > archiveEnd) {
|
|
195
|
-
const overlap = detectOperationalOverlap(path, descriptors, active);
|
|
196
|
-
const logicalActive = active.slice(overlap);
|
|
197
|
-
const activeStart = archiveEnd + 1;
|
|
198
|
-
for (let index = 0; index < logicalActive.length; index += 1) {
|
|
199
|
-
const offset = activeStart + index;
|
|
200
|
-
if (offset >= normalizedStart && offset <= requestedEnd)
|
|
201
|
-
byOffset.set(offset, logicalActive[index]);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return [...byOffset.entries()]
|
|
205
|
-
.sort(([left], [right]) => left - right)
|
|
206
|
-
.map(([, record]) => record);
|
|
207
|
-
}
|
|
208
|
-
export function inspectMaterialArchive(path) {
|
|
209
|
-
const archiveDir = materialArchiveDir(path);
|
|
210
|
-
const descriptors = segmentDescriptors(archiveDir);
|
|
211
|
-
let bytes = 0;
|
|
212
|
-
let records = 0;
|
|
213
|
-
let invalidLines = 0;
|
|
214
|
-
for (const descriptor of descriptors) {
|
|
215
|
-
const segmentPath = join(archiveDir, descriptor.file);
|
|
216
|
-
bytes += statSync(segmentPath).size;
|
|
217
|
-
for (const line of readFileSync(segmentPath, 'utf8').split('\n')) {
|
|
218
|
-
if (line.length === 0)
|
|
219
|
-
continue;
|
|
220
|
-
try {
|
|
221
|
-
material.parse(JSON.parse(line));
|
|
222
|
-
records += 1;
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
invalidLines += 1;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
return {
|
|
230
|
-
exists: descriptors.length > 0,
|
|
231
|
-
segments: descriptors.length,
|
|
232
|
-
bytes,
|
|
233
|
-
records,
|
|
234
|
-
invalidLines,
|
|
235
|
-
firstOffset: descriptors[0]?.start ?? null,
|
|
236
|
-
lastOffset: descriptors[descriptors.length - 1]?.end ?? null,
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
function readStrictHistory(path) {
|
|
240
|
-
const archive = readArchiveStrict(materialArchiveDir(path));
|
|
241
|
-
const active = readActiveStrict(path);
|
|
242
|
-
const overlap = detectOverlap(archive, active);
|
|
243
|
-
const logicalActive = active.slice(overlap);
|
|
244
|
-
const seen = new Map();
|
|
245
|
-
for (const line of [...archive, ...logicalActive]) {
|
|
246
|
-
const canonical = JSON.stringify(line.record);
|
|
247
|
-
const existing = seen.get(line.record.materialId);
|
|
248
|
-
if (existing !== undefined) {
|
|
249
|
-
if (existing !== canonical)
|
|
250
|
-
throw new MaterialArchiveSegmentConflictError(line.record.materialId);
|
|
251
|
-
throw new MaterialArchiveRangeError(`duplicate material ${line.record.materialId}`);
|
|
252
|
-
}
|
|
253
|
-
seen.set(line.record.materialId, canonical);
|
|
254
|
-
}
|
|
255
|
-
return { archive, active, logicalActive, overlap };
|
|
256
|
-
}
|
|
257
|
-
function readArchiveStrict(archiveDir) {
|
|
258
|
-
const descriptors = segmentDescriptors(archiveDir, true);
|
|
259
|
-
const out = [];
|
|
260
|
-
let expectedStart = 0;
|
|
261
|
-
for (const descriptor of descriptors) {
|
|
262
|
-
if (descriptor.start !== expectedStart) {
|
|
263
|
-
throw new MaterialArchiveRangeError(`expected offset ${expectedStart} but found ${descriptor.start}`);
|
|
264
|
-
}
|
|
265
|
-
const lines = readStrictLines(join(archiveDir, descriptor.file), descriptor.file, true);
|
|
266
|
-
const expectedLength = descriptor.end - descriptor.start + 1;
|
|
267
|
-
if (lines.length !== expectedLength) {
|
|
268
|
-
throw new MaterialArchiveRangeError(`${descriptor.file} declares ${expectedLength} record(s) but contains ${lines.length}`);
|
|
269
|
-
}
|
|
270
|
-
out.push(...lines);
|
|
271
|
-
expectedStart = descriptor.end + 1;
|
|
272
|
-
}
|
|
273
|
-
return out;
|
|
274
|
-
}
|
|
275
|
-
function readActiveStrict(path) {
|
|
276
|
-
if (!existsSync(path))
|
|
277
|
-
return [];
|
|
278
|
-
const out = [];
|
|
279
|
-
const lines = readFileSync(path, 'utf8').split('\n');
|
|
280
|
-
for (let index = 0; index < lines.length; index += 1) {
|
|
281
|
-
const raw = lines[index];
|
|
282
|
-
if (raw.length === 0)
|
|
283
|
-
continue;
|
|
284
|
-
try {
|
|
285
|
-
out.push({ record: material.parse(JSON.parse(raw)), raw });
|
|
286
|
-
}
|
|
287
|
-
catch {
|
|
288
|
-
throw new InvalidMaterialLogError(index + 1, 'invalid json or material schema');
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
return out;
|
|
292
|
-
}
|
|
293
|
-
function readStrictLines(path, segment, archive) {
|
|
294
|
-
const out = [];
|
|
295
|
-
const lines = readFileSync(path, 'utf8').split('\n');
|
|
296
|
-
for (let index = 0; index < lines.length; index += 1) {
|
|
297
|
-
const raw = lines[index];
|
|
298
|
-
if (raw.length === 0)
|
|
299
|
-
continue;
|
|
300
|
-
try {
|
|
301
|
-
out.push({ record: material.parse(JSON.parse(raw)), raw });
|
|
302
|
-
}
|
|
303
|
-
catch {
|
|
304
|
-
if (archive)
|
|
305
|
-
throw new InvalidMaterialArchiveError(segment, index + 1, 'invalid json or material schema');
|
|
306
|
-
throw new InvalidMaterialLogError(index + 1, 'invalid json or material schema');
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
return out;
|
|
310
|
-
}
|
|
311
|
-
function readMaterialsLenient(path) {
|
|
312
|
-
if (!existsSync(path))
|
|
313
|
-
return [];
|
|
314
|
-
const out = [];
|
|
315
|
-
for (const line of readFileSync(path, 'utf8').split('\n')) {
|
|
316
|
-
if (line.length === 0)
|
|
317
|
-
continue;
|
|
318
|
-
try {
|
|
319
|
-
out.push(material.parse(JSON.parse(line)));
|
|
320
|
-
}
|
|
321
|
-
catch {
|
|
322
|
-
// Preserve MaterialStore's existing fail-soft reads. Archive writes use strict parsing.
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
return out;
|
|
326
|
-
}
|
|
327
|
-
function segmentDescriptors(archiveDir, strict = false) {
|
|
328
|
-
if (!existsSync(archiveDir))
|
|
329
|
-
return [];
|
|
330
|
-
const out = [];
|
|
331
|
-
for (const file of readdirSync(archiveDir).sort()) {
|
|
332
|
-
const match = SEGMENT_PATTERN.exec(file);
|
|
333
|
-
if (match === null)
|
|
334
|
-
continue;
|
|
335
|
-
const start = Number(match[1]);
|
|
336
|
-
const end = Number(match[2]);
|
|
337
|
-
if (!Number.isSafeInteger(start) || !Number.isSafeInteger(end) || start < 0 || end < start) {
|
|
338
|
-
if (strict)
|
|
339
|
-
throw new MaterialArchiveRangeError(`invalid segment filename ${file}`);
|
|
340
|
-
continue;
|
|
341
|
-
}
|
|
342
|
-
out.push({ file, start, end });
|
|
343
|
-
}
|
|
344
|
-
return out.sort((left, right) => left.start - right.start || left.end - right.end);
|
|
345
|
-
}
|
|
346
|
-
function detectOverlap(archive, active) {
|
|
347
|
-
const max = Math.min(archive.length, active.length);
|
|
348
|
-
for (let length = max; length > 0; length -= 1) {
|
|
349
|
-
const archiveStart = archive.length - length;
|
|
350
|
-
let matches = true;
|
|
351
|
-
for (let index = 0; index < length; index += 1) {
|
|
352
|
-
if (JSON.stringify(archive[archiveStart + index].record) !== JSON.stringify(active[index].record)) {
|
|
353
|
-
matches = false;
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
if (matches)
|
|
358
|
-
return length;
|
|
359
|
-
}
|
|
360
|
-
return 0;
|
|
361
|
-
}
|
|
362
|
-
function detectOperationalOverlap(path, descriptors, active) {
|
|
363
|
-
const latest = descriptors[descriptors.length - 1];
|
|
364
|
-
if (latest === undefined || active.length === 0)
|
|
365
|
-
return 0;
|
|
366
|
-
const archived = readMaterialsLenient(join(materialArchiveDir(path), latest.file));
|
|
367
|
-
const max = Math.min(archived.length, active.length);
|
|
368
|
-
for (let length = max; length > 0; length -= 1) {
|
|
369
|
-
const archiveStart = archived.length - length;
|
|
370
|
-
let matches = true;
|
|
371
|
-
for (let index = 0; index < length; index += 1) {
|
|
372
|
-
if (JSON.stringify(archived[archiveStart + index]) !== JSON.stringify(active[index])) {
|
|
373
|
-
matches = false;
|
|
374
|
-
break;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
if (matches)
|
|
378
|
-
return length;
|
|
379
|
-
}
|
|
380
|
-
return 0;
|
|
381
|
-
}
|
|
382
|
-
function readCursorsStrict(paths, historyRecords) {
|
|
383
|
-
const out = [];
|
|
384
|
-
for (const path of paths) {
|
|
385
|
-
if (!existsSync(path))
|
|
386
|
-
continue;
|
|
387
|
-
let parsed;
|
|
388
|
-
try {
|
|
389
|
-
parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
390
|
-
}
|
|
391
|
-
catch {
|
|
392
|
-
throw new InvalidMaterialArchiveCursorError('cursor file is not valid JSON');
|
|
393
|
-
}
|
|
394
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
395
|
-
throw new InvalidMaterialArchiveCursorError('cursor file must contain an object');
|
|
396
|
-
}
|
|
397
|
-
for (const [group, value] of Object.entries(parsed)) {
|
|
398
|
-
if (!Number.isSafeInteger(value) || value < 0 || value > historyRecords) {
|
|
399
|
-
throw new InvalidMaterialArchiveCursorError(`group ${group} is outside history bounds`);
|
|
400
|
-
}
|
|
401
|
-
out.push({ group, position: value });
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
return out;
|
|
405
|
-
}
|
|
406
|
-
function minimumCursor(cursors, archiveRecords) {
|
|
407
|
-
return cursors.length === 0 ? archiveRecords : Math.min(...cursors.map((cursor) => cursor.position));
|
|
408
|
-
}
|
|
409
|
-
function archiveableCount(state, minCursor, keepRecords) {
|
|
410
|
-
const committedActive = Math.max(0, minCursor - state.archive.length);
|
|
411
|
-
const tailBound = Math.max(0, state.logicalActive.length - keepRecords);
|
|
412
|
-
return Math.min(committedActive, tailBound);
|
|
413
|
-
}
|
|
414
|
-
function serializeLines(lines) {
|
|
415
|
-
return lines.length === 0 ? '' : `${lines.map((line) => line.raw).join('\n')}\n`;
|
|
416
|
-
}
|
|
417
|
-
function durableReplace(tmpPath, finalPath, contents) {
|
|
418
|
-
let fd = null;
|
|
419
|
-
try {
|
|
420
|
-
fd = openSync(tmpPath, 'w', 0o600);
|
|
421
|
-
writeSync(fd, contents, undefined, 'utf8');
|
|
422
|
-
fsyncSync(fd);
|
|
423
|
-
closeSync(fd);
|
|
424
|
-
fd = null;
|
|
425
|
-
renameSync(tmpPath, finalPath);
|
|
426
|
-
}
|
|
427
|
-
catch (error) {
|
|
428
|
-
if (fd !== null)
|
|
429
|
-
closeSync(fd);
|
|
430
|
-
rmSync(tmpPath, { force: true });
|
|
431
|
-
throw error;
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
function fsyncDirectoryBestEffort(path) {
|
|
435
|
-
let fd = null;
|
|
436
|
-
try {
|
|
437
|
-
fd = openSync(path, 'r');
|
|
438
|
-
fsyncSync(fd);
|
|
439
|
-
}
|
|
440
|
-
catch {
|
|
441
|
-
// Windows and some filesystems do not support fsync on directories.
|
|
442
|
-
}
|
|
443
|
-
finally {
|
|
444
|
-
if (fd !== null)
|
|
445
|
-
closeSync(fd);
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
function normalizeKeepRecords(value) {
|
|
449
|
-
if (value === undefined)
|
|
450
|
-
return MATERIAL_ARCHIVE_DEFAULT_KEEP_RECORDS;
|
|
451
|
-
if (!Number.isFinite(value) || value < 1)
|
|
452
|
-
throw new RangeError('keepRecords must be a positive integer');
|
|
453
|
-
return Math.floor(value);
|
|
454
|
-
}
|
|
455
|
-
function normalizeRangeStart(value) {
|
|
456
|
-
if (!Number.isFinite(value) || value < 0)
|
|
457
|
-
return 0;
|
|
458
|
-
return Math.floor(value);
|
|
459
|
-
}
|
|
460
|
-
function normalizeRangeCount(value) {
|
|
461
|
-
if (!Number.isFinite(value))
|
|
462
|
-
return Number.MAX_SAFE_INTEGER;
|
|
463
|
-
if (value <= 0)
|
|
464
|
-
return 0;
|
|
465
|
-
return Math.floor(value);
|
|
466
|
-
}
|
|
1
|
+
const _0x3b2faa=_0x53f0;(function(_0x254d5f,_0x48b0dd){const _0x46022f=_0x53f0,_0x288759=_0x254d5f();while(!![]){try{const _0x29a696=-parseInt(_0x46022f(0x2d6,'\x49\x6e\x72\x54'))/(0x3d*0x93+-0x1202+-0x1104)+-parseInt(_0x46022f(0x199,'\x48\x53\x4b\x2a'))/(0x19*-0x2+0x52*0x2c+-0xde4)*(-parseInt(_0x46022f(0x293,'\x28\x59\x47\x68'))/(0x1b7d+0xdb5+-0x292f))+parseInt(_0x46022f(0x1e2,'\x68\x79\x57\x67'))/(0x2ad+-0x1c*-0xdf+-0x1b0d)+-parseInt(_0x46022f(0x325,'\x23\x31\x2a\x6e'))/(-0x2494+-0x1423+0x1c5e*0x2)*(parseInt(_0x46022f(0x21b,'\x42\x72\x5e\x5e'))/(0x14*-0x1bd+-0x1*0x2383+0x15*0x359))+parseInt(_0x46022f(0x251,'\x6c\x69\x5e\x74'))/(-0x2067+-0x26e9+0x4757*0x1)+parseInt(_0x46022f(0x33c,'\x78\x67\x6d\x6a'))/(-0x12*0xf7+-0x135a+-0x70*-0x54)*(parseInt(_0x46022f(0x27a,'\x69\x26\x54\x52'))/(-0x294+-0x8*-0xf4+-0x503))+parseInt(_0x46022f(0x1b6,'\x78\x67\x6d\x6a'))/(0x6de+-0xace+0x2*0x1fd)*(-parseInt(_0x46022f(0x338,'\x5e\x66\x36\x4c'))/(-0x24b*-0x1+-0x12cc+0x108c));if(_0x29a696===_0x48b0dd)break;else _0x288759['push'](_0x288759['shift']());}catch(_0x31852b){_0x288759['push'](_0x288759['shift']());}}}(_0x2b29,-0x2119b*-0x1+0x13e661+0x83387*-0x1));import{closeSync,existsSync,fsyncSync,mkdirSync,openSync,readFileSync,readdirSync,renameSync,rmSync,statSync,writeSync}from'\x6e\x6f\x64\x65\x3a\x66\x73';import{basename,dirname,extname,join}from'\x6e\x6f\x64\x65\x3a\x70\x61\x74\x68';import{material}from'\x2e\x2e\x2f\x73\x63\x68\x65\x6d\x61\x2f\x6d\x61\x74\x65\x72\x69\x61\x6c\x2e\x6a\x73';import{acquireLock,releaseLock}from'\x2e\x2e\x2f\x75\x74\x69\x6c\x2f\x66\x69\x6c\x65\x4c\x6f\x63\x6b\x2e\x6a\x73';export const MATERIAL_ARCHIVE_DEFAULT_KEEP_RECORDS=-0xef*-0x26+0x21fc+-0x20c7*0x2;const SEGMENT_PATTERN=/^material-(\d{16})-(\d{16})\.jsonl$/;function _0x53f0(_0x32da61,_0x46b9a4){_0x32da61=_0x32da61-(-0xdb3+0xa3*0x1b+-0xa3*0x3);const _0x551e44=_0x2b29();let _0x1d0fc4=_0x551e44[_0x32da61];if(_0x53f0['\x58\x4e\x47\x47\x6d\x57']===undefined){var _0x69b78f=function(_0x11ec44){const _0x2b29b9='\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 _0x44cbfc='',_0x152914='';for(let _0x3fb630=-0x263c+-0x9*0x86+0x1579*0x2,_0x6a06c6,_0x2da859,_0x59afa7=0x310+0x6*0x643+-0x28a2;_0x2da859=_0x11ec44['\x63\x68\x61\x72\x41\x74'](_0x59afa7++);~_0x2da859&&(_0x6a06c6=_0x3fb630%(-0xc9*-0x2b+-0x25cb+0xe*0x4a)?_0x6a06c6*(-0x1f30+0x2*-0x744+0x2df8)+_0x2da859:_0x2da859,_0x3fb630++%(0x12d3+0x1f16+-0x31e5))?_0x44cbfc+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x1*0x1dea+-0x2432+0x431b&_0x6a06c6>>(-(-0x1b53+-0x6f*0x2+0x1c33*0x1)*_0x3fb630&-0x1*0x263b+-0x3*0x412+0x3277)):-0xafd+-0x31*-0x89+-0xf3c){_0x2da859=_0x2b29b9['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2da859);}for(let _0x5dc238=0x2c*-0xae+0xa60+0x3e8*0x5,_0x3ae626=_0x44cbfc['\x6c\x65\x6e\x67\x74\x68'];_0x5dc238<_0x3ae626;_0x5dc238++){_0x152914+='\x25'+('\x30\x30'+_0x44cbfc['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5dc238)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x524+0x1a80+-0x2b*0xbc))['\x73\x6c\x69\x63\x65'](-(0x28a*0x1+0x2*0x1120+0x1*-0x24c8));}return decodeURIComponent(_0x152914);};const _0x375f7e=function(_0x199c2d,_0x1f1a71){let _0x462818=[],_0x1359e9=-0x24bd*-0x1+0x262d+-0x4aea,_0x254716,_0x2f6a6c='';_0x199c2d=_0x69b78f(_0x199c2d);let _0x3c55d6;for(_0x3c55d6=-0x26b+0x1*0x14f6+-0x128b;_0x3c55d6<-0x1f86+-0x2*-0x89f+0xf48;_0x3c55d6++){_0x462818[_0x3c55d6]=_0x3c55d6;}for(_0x3c55d6=-0x251c+-0x23e3+0x3*0x1855;_0x3c55d6<0xcac+-0x1714+0x5b4*0x2;_0x3c55d6++){_0x1359e9=(_0x1359e9+_0x462818[_0x3c55d6]+_0x1f1a71['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3c55d6%_0x1f1a71['\x6c\x65\x6e\x67\x74\x68']))%(0xb99*-0x1+0x1fd6+-0xc5*0x19),_0x254716=_0x462818[_0x3c55d6],_0x462818[_0x3c55d6]=_0x462818[_0x1359e9],_0x462818[_0x1359e9]=_0x254716;}_0x3c55d6=-0x1e60+0x7e3+0x167d*0x1,_0x1359e9=0x2*-0x2e3+0x76*-0x33+0x2*0xea4;for(let _0x4a6eaa=0x2362+-0x9c2*0x2+-0xfde;_0x4a6eaa<_0x199c2d['\x6c\x65\x6e\x67\x74\x68'];_0x4a6eaa++){_0x3c55d6=(_0x3c55d6+(-0x5fb+0x9c1+-0x3c5))%(0xbe4+-0x1*0x7c4+-0x50*0xa),_0x1359e9=(_0x1359e9+_0x462818[_0x3c55d6])%(0x1*-0x3c6+-0x1845+0x1d0b),_0x254716=_0x462818[_0x3c55d6],_0x462818[_0x3c55d6]=_0x462818[_0x1359e9],_0x462818[_0x1359e9]=_0x254716,_0x2f6a6c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x199c2d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4a6eaa)^_0x462818[(_0x462818[_0x3c55d6]+_0x462818[_0x1359e9])%(-0xcd0+-0x18b5+-0x1*-0x2685)]);}return _0x2f6a6c;};_0x53f0['\x79\x70\x50\x61\x52\x5a']=_0x375f7e,_0x53f0['\x62\x49\x59\x69\x42\x53']={},_0x53f0['\x58\x4e\x47\x47\x6d\x57']=!![];}const _0xfcd68c=_0x551e44[-0x26e4+0x2420+-0x2*-0x162],_0x4b79c4=_0x32da61+_0xfcd68c,_0x1ce066=_0x53f0['\x62\x49\x59\x69\x42\x53'][_0x4b79c4];return!_0x1ce066?(_0x53f0['\x55\x42\x4e\x59\x62\x4d']===undefined&&(_0x53f0['\x55\x42\x4e\x59\x62\x4d']=!![]),_0x1d0fc4=_0x53f0['\x79\x70\x50\x61\x52\x5a'](_0x1d0fc4,_0x46b9a4),_0x53f0['\x62\x49\x59\x69\x42\x53'][_0x4b79c4]=_0x1d0fc4):_0x1d0fc4=_0x1ce066,_0x1d0fc4;}export class InvalidMaterialLogError extends Error{['\x6c\x69\x6e\x65'];[_0x3b2faa(0x31c,'\x76\x53\x48\x44')]=_0x3b2faa(0x245,'\x28\x59\x47\x68')+_0x3b2faa(0x333,'\x31\x53\x78\x36')+_0x3b2faa(0x23c,'\x23\x68\x6e\x24')+_0x3b2faa(0x216,'\x78\x67\x6d\x6a');constructor(_0x15bb86,_0x495243){const _0x1c88a0=_0x3b2faa;super('\x6d\x61\x74\x65\x72\x69\x61\x6c'+_0x1c88a0(0x1f2,'\x5b\x72\x74\x52')+'\x20\x72\x65\x66\x75\x73\x65\x64'+_0x1c88a0(0x309,'\x76\x75\x31\x55')+_0x1c88a0(0x2d7,'\x4b\x40\x4e\x58')+_0x1c88a0(0x21f,'\x52\x44\x68\x4c')+_0x1c88a0(0x30f,'\x6f\x69\x4e\x58')+_0x15bb86+'\x3a\x20'+_0x495243),this[_0x1c88a0(0x1c1,'\x44\x70\x49\x21')]=_0x15bb86,this[_0x1c88a0(0x341,'\x64\x76\x72\x64')]=_0x1c88a0(0x30d,'\x73\x5d\x70\x70')+_0x1c88a0(0x1ec,'\x4f\x72\x26\x45')+_0x1c88a0(0x2be,'\x4f\x72\x26\x45');}}export class InvalidMaterialArchiveError extends Error{[_0x3b2faa(0x2a7,'\x6f\x69\x4e\x58')];[_0x3b2faa(0x314,'\x68\x79\x57\x67')];['\x63\x6f\x64\x65']=_0x3b2faa(0x22a,'\x79\x74\x77\x51')+_0x3b2faa(0x19c,'\x48\x53\x4b\x2a')+_0x3b2faa(0x208,'\x31\x48\x57\x6a')+'\x5f\x41\x52\x43\x48\x49\x56\x45';constructor(_0x499d88,_0x31a01c,_0x4d5824){const _0x697072=_0x3b2faa;super('\x6d\x61\x74\x65\x72\x69\x61\x6c'+_0x697072(0x209,'\x23\x68\x6e\x24')+_0x697072(0x202,'\x75\x78\x77\x44')+'\x20'+_0x499d88+(_0x697072(0x30e,'\x5e\x5d\x68\x69')+_0x697072(0x260,'\x68\x79\x57\x67')+_0x697072(0x2cc,'\x31\x53\x78\x36'))+_0x31a01c+'\x3a\x20'+_0x4d5824),this['\x73\x65\x67\x6d\x65\x6e\x74']=_0x499d88,this[_0x697072(0x257,'\x4a\x40\x72\x62')]=_0x31a01c,this[_0x697072(0x26d,'\x37\x4a\x66\x6a')]=_0x697072(0x289,'\x57\x6b\x24\x69')+_0x697072(0x215,'\x6b\x58\x6f\x49')+'\x72\x63\x68\x69\x76\x65\x45\x72'+_0x697072(0x203,'\x28\x59\x47\x68');}}export class MaterialArchiveRangeError extends Error{['\x63\x6f\x64\x65']=_0x3b2faa(0x245,'\x28\x59\x47\x68')+_0x3b2faa(0x330,'\x57\x6b\x24\x69')+'\x5f\x52\x41\x4e\x47\x45\x5f\x49'+_0x3b2faa(0x22f,'\x66\x59\x6f\x31');constructor(_0x54642c){const _0x1bd7c3=_0x3b2faa;super(_0x1bd7c3(0x232,'\x42\x72\x5e\x5e')+_0x1bd7c3(0x206,'\x57\x6b\x24\x69')+_0x1bd7c3(0x23a,'\x4c\x63\x25\x29')+_0x1bd7c3(0x19f,'\x33\x47\x4c\x21')+'\x64\x3a\x20'+_0x54642c),this[_0x1bd7c3(0x340,'\x5e\x5d\x68\x69')]=_0x1bd7c3(0x2f4,'\x57\x57\x47\x33')+_0x1bd7c3(0x32f,'\x4b\x40\x4e\x58')+'\x61\x6e\x67\x65\x45\x72\x72\x6f'+'\x72';}}export class MaterialArchiveSegmentConflictError extends Error{[_0x3b2faa(0x27b,'\x28\x59\x47\x68')+'\x64'];[_0x3b2faa(0x2b2,'\x6f\x41\x75\x44')]=_0x3b2faa(0x1b3,'\x76\x75\x31\x55')+_0x3b2faa(0x2d8,'\x23\x31\x2a\x6e')+_0x3b2faa(0x30c,'\x31\x48\x57\x6a')+_0x3b2faa(0x1a7,'\x76\x53\x48\x44')+'\x54';constructor(_0x22503e){const _0x3e20bf=_0x3b2faa;super(_0x3e20bf(0x232,'\x42\x72\x5e\x5e')+_0x3e20bf(0x30a,'\x5e\x66\x36\x4c')+_0x3e20bf(0x2bb,'\x21\x68\x49\x25')+'\x20'+_0x22503e+('\x20\x61\x6c\x72\x65\x61\x64\x79'+_0x3e20bf(0x237,'\x57\x57\x47\x33')+_0x3e20bf(0x197,'\x76\x75\x31\x55')+_0x3e20bf(0x214,'\x62\x31\x35\x59')+_0x3e20bf(0x31b,'\x66\x59\x6f\x31'))),this[_0x3e20bf(0x282,'\x57\x6b\x24\x69')+'\x64']=_0x22503e,this[_0x3e20bf(0x301,'\x4b\x40\x4e\x58')]='\x4d\x61\x74\x65\x72\x69\x61\x6c'+_0x3e20bf(0x33a,'\x69\x26\x54\x52')+_0x3e20bf(0x2f6,'\x48\x53\x4b\x2a')+_0x3e20bf(0x346,'\x48\x53\x4b\x2a')+_0x3e20bf(0x267,'\x57\x57\x47\x33');}}export class InvalidMaterialArchiveCursorError extends Error{[_0x3b2faa(0x225,'\x4f\x72\x26\x45')]=_0x3b2faa(0x245,'\x28\x59\x47\x68')+_0x3b2faa(0x2ae,'\x21\x68\x49\x25')+_0x3b2faa(0x239,'\x73\x5d\x70\x70')+_0x3b2faa(0x28c,'\x52\x44\x68\x4c');constructor(_0x79264){const _0x223c95=_0x3b2faa;super(_0x223c95(0x2b0,'\x76\x75\x31\x55')+_0x223c95(0x311,'\x37\x4a\x66\x6a')+'\x20\x63\x75\x72\x73\x6f\x72\x20'+'\x69\x73\x20\x69\x6e\x76\x61\x6c'+_0x223c95(0x19b,'\x6b\x58\x6f\x49')+_0x79264),this[_0x223c95(0x315,'\x73\x5d\x70\x70')]=_0x223c95(0x1aa,'\x5e\x5d\x68\x69')+_0x223c95(0x29d,'\x6c\x69\x5e\x74')+_0x223c95(0x1cf,'\x75\x78\x77\x44')+_0x223c95(0x27c,'\x4a\x7a\x5b\x5a')+'\x72';}}export function materialArchiveDir(_0x110886){const _0x2761b8=_0x3b2faa,_0x3fc3a9=extname(_0x110886),_0x533582=_0x3fc3a9[_0x2761b8(0x284,'\x79\x74\x77\x51')]>0x197e+0x1a4b+-0x1b*0x1eb?basename(_0x110886,_0x3fc3a9):basename(_0x110886);return join(dirname(_0x110886),_0x533582+_0x2761b8(0x207,'\x57\x4f\x51\x32'));}export function materialArchiveSegmentName(_0x3ac8d4,_0x2c0aa8){const _0x359269=_0x3b2faa;return _0x359269(0x2dc,'\x53\x53\x4e\x44')+'\x2d'+String(_0x3ac8d4)['\x70\x61\x64\x53\x74\x61\x72\x74'](0x155*0xa+-0x2b*0xe5+0x1935,'\x30')+'\x2d'+String(_0x2c0aa8)[_0x359269(0x23e,'\x6d\x2a\x32\x6f')](-0x112c+-0x1fd2+-0x3c6*-0xd,'\x30')+_0x359269(0x1e1,'\x6f\x69\x4e\x58');}export function planMaterialArchive(_0x30bdb9){const _0x347020=_0x3b2faa,_0x4da552=normalizeKeepRecords(_0x30bdb9[_0x347020(0x2e0,'\x52\x44\x68\x4c')+_0x347020(0x2c4,'\x76\x75\x31\x55')]),_0x1bf49b=readStrictHistory(_0x30bdb9[_0x347020(0x1d5,'\x6d\x2a\x32\x6f')]),_0x489791=_0x1bf49b[_0x347020(0x2bf,'\x6d\x2a\x32\x6f')][_0x347020(0x284,'\x79\x74\x77\x51')]+_0x1bf49b['\x6c\x6f\x67\x69\x63\x61\x6c\x41'+'\x63\x74\x69\x76\x65'][_0x347020(0x275,'\x4f\x72\x26\x45')],_0x4ad3fb=readCursorsStrict(_0x30bdb9[_0x347020(0x2b5,'\x53\x53\x4e\x44')+_0x347020(0x200,'\x4a\x40\x72\x62')]??[],_0x489791),_0x368bbf=minimumCursor(_0x4ad3fb,_0x1bf49b[_0x347020(0x234,'\x44\x45\x6d\x62')][_0x347020(0x1e3,'\x6f\x41\x75\x44')]),_0x54ecda=archiveableCount(_0x1bf49b,_0x368bbf,_0x4da552),_0x1de9c5=_0x1bf49b[_0x347020(0x241,'\x42\x72\x5e\x5e')][_0x347020(0x211,'\x79\x31\x6b\x32')],_0x1efcb8=_0x1de9c5+_0x54ecda-(-0x1a28+-0x11*-0x121+-0x37c*-0x2);return{'\x6d\x6f\x64\x65':_0x347020(0x273,'\x40\x71\x41\x64'),'\x61\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x1bf49b[_0x347020(0x254,'\x6f\x69\x4e\x58')+_0x347020(0x2d0,'\x4a\x40\x72\x62')]['\x6c\x65\x6e\x67\x74\x68'],'\x70\x68\x79\x73\x69\x63\x61\x6c\x41\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x1bf49b[_0x347020(0x335,'\x68\x79\x57\x67')][_0x347020(0x291,'\x69\x26\x54\x52')],'\x61\x72\x63\x68\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x1bf49b['\x61\x72\x63\x68\x69\x76\x65'][_0x347020(0x319,'\x4c\x63\x25\x29')],'\x68\x69\x73\x74\x6f\x72\x79\x52\x65\x63\x6f\x72\x64\x73':_0x489791,'\x6b\x65\x65\x70\x52\x65\x63\x6f\x72\x64\x73':_0x4da552,'\x6d\x69\x6e\x43\x75\x72\x73\x6f\x72':_0x368bbf,'\x63\x75\x72\x73\x6f\x72\x73':_0x4ad3fb,'\x6f\x76\x65\x72\x6c\x61\x70\x52\x65\x63\x6f\x72\x64\x73':_0x1bf49b[_0x347020(0x276,'\x23\x31\x2a\x6e')],'\x77\x6f\x75\x6c\x64\x41\x72\x63\x68\x69\x76\x65':_0x54ecda,'\x72\x65\x74\x61\x69\x6e\x65\x64\x52\x65\x63\x6f\x72\x64\x73':_0x1bf49b[_0x347020(0x33b,'\x34\x35\x53\x6d')+_0x347020(0x1fa,'\x57\x4f\x51\x32')][_0x347020(0x278,'\x6e\x37\x30\x41')]-_0x54ecda,'\x61\x72\x63\x68\x69\x76\x65\x49\x64':_0x54ecda===-0x20a7+-0x11*0xa5+0x2b9c?null:_0x1de9c5+'\x2d'+_0x1efcb8};}export function archiveMaterialStore(_0x318249){const _0xfb2be9=_0x3b2faa,_0x49fd84=normalizeKeepRecords(_0x318249[_0xfb2be9(0x1ae,'\x62\x6d\x42\x63')+_0xfb2be9(0x320,'\x4a\x40\x72\x62')]),_0x4d3d7f=_0x318249[_0xfb2be9(0x1bc,'\x64\x76\x72\x64')]+_0xfb2be9(0x313,'\x44\x70\x49\x21');mkdirSync(dirname(_0x318249['\x70\x61\x74\x68']),{'\x72\x65\x63\x75\x72\x73\x69\x76\x65':!![]}),acquireLock(_0x4d3d7f);try{const _0x1f9161=readStrictHistory(_0x318249[_0xfb2be9(0x304,'\x31\x53\x78\x36')]),_0x67e29=_0x1f9161[_0xfb2be9(0x296,'\x4c\x63\x25\x29')][_0xfb2be9(0x31e,'\x44\x70\x49\x21')]+_0x1f9161[_0xfb2be9(0x23f,'\x6e\x37\x30\x41')+_0xfb2be9(0x2d0,'\x4a\x40\x72\x62')][_0xfb2be9(0x211,'\x79\x31\x6b\x32')],_0x4d70d4=readCursorsStrict(_0x318249[_0xfb2be9(0x1a0,'\x42\x72\x5e\x5e')+_0xfb2be9(0x1bf,'\x69\x26\x54\x52')]??[],_0x67e29),_0xb09613=minimumCursor(_0x4d70d4,_0x1f9161[_0xfb2be9(0x1ff,'\x4f\x72\x26\x45')][_0xfb2be9(0x1f8,'\x76\x53\x48\x44')]),_0x3714e0=archiveableCount(_0x1f9161,_0xb09613,_0x49fd84),_0x2847a5=_0x1f9161['\x61\x72\x63\x68\x69\x76\x65'][_0xfb2be9(0x24b,'\x51\x21\x61\x51')],_0x30ede9=_0x2847a5+_0x3714e0-(-0x146f+-0x44*0x7f+0xd8b*0x4),_0x58daf5=_0x3714e0===-0x1c63+-0x3*-0xcc4+-0x1*0x9e9?null:_0x2847a5+'\x2d'+_0x30ede9;if(_0x3714e0>-0x762+-0x121e+-0x44*-0x60){if(_0xfb2be9(0x1dc,'\x62\x31\x35\x59')===_0xfb2be9(0x1b4,'\x77\x58\x40\x66')){const _0x13ef4f=_0x1f9161[_0xfb2be9(0x1f9,'\x28\x59\x47\x68')+_0xfb2be9(0x1db,'\x4e\x52\x21\x57')][_0xfb2be9(0x247,'\x79\x31\x6b\x32')](0x1*-0x14f6+-0xcd6+0x21cc,_0x3714e0),_0x18a5b0=materialArchiveDir(_0x318249[_0xfb2be9(0x238,'\x37\x4a\x66\x6a')]);mkdirSync(_0x18a5b0,{'\x72\x65\x63\x75\x72\x73\x69\x76\x65':!![]});const _0x3f49dc=join(_0x18a5b0,materialArchiveSegmentName(_0x2847a5,_0x30ede9)),_0x1d9b1c=serializeLines(_0x13ef4f);if(existsSync(_0x3f49dc)){if(readFileSync(_0x3f49dc,'\x75\x74\x66\x38')!==_0x1d9b1c)throw new MaterialArchiveSegmentConflictError(_0x58daf5??_0x2847a5+'\x2d'+_0x30ede9);}else{if(_0xfb2be9(0x1e8,'\x42\x72\x5e\x5e')!==_0xfb2be9(0x1c4,'\x6e\x37\x30\x41'))durableReplace(_0x3f49dc+_0xfb2be9(0x300,'\x51\x21\x61\x51'),_0x3f49dc,_0x1d9b1c),fsyncDirectoryBestEffort(_0x18a5b0);else{const _0x4a23f5=_0x2571c4(_0x5a4e57[_0xfb2be9(0x1c6,'\x48\x53\x4b\x2a')+_0xfb2be9(0x21c,'\x40\x71\x41\x64')]),_0x4c495f=_0x6598b7(_0x448b0d[_0xfb2be9(0x1bc,'\x64\x76\x72\x64')]),_0x1f2b00=_0x4c495f[_0xfb2be9(0x2c6,'\x23\x31\x2a\x6e')][_0xfb2be9(0x2fd,'\x49\x6e\x72\x54')]+_0x4c495f[_0xfb2be9(0x2a0,'\x23\x31\x2a\x6e')+'\x63\x74\x69\x76\x65']['\x6c\x65\x6e\x67\x74\x68'],_0x309aae=_0x4f20c4(_0x1067a4[_0xfb2be9(0x26c,'\x51\x21\x61\x51')+_0xfb2be9(0x331,'\x6d\x2a\x32\x6f')]??[],_0x1f2b00),_0x3b8231=_0x20c977(_0x309aae,_0x4c495f[_0xfb2be9(0x2f2,'\x23\x68\x6e\x24')][_0xfb2be9(0x1f0,'\x31\x53\x78\x36')]),_0x6df32a=_0x550279(_0x4c495f,_0x3b8231,_0x4a23f5),_0x5babb0=_0x4c495f[_0xfb2be9(0x329,'\x48\x53\x4b\x2a')][_0xfb2be9(0x1f6,'\x23\x68\x6e\x24')],_0x1b8025=_0x5babb0+_0x6df32a-(0x127+0xaed+-0xc13*0x1);return{'\x6d\x6f\x64\x65':_0xfb2be9(0x273,'\x40\x71\x41\x64'),'\x61\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x4c495f[_0xfb2be9(0x318,'\x31\x53\x78\x36')+_0xfb2be9(0x21d,'\x76\x75\x31\x55')][_0xfb2be9(0x2a2,'\x4a\x40\x72\x62')],'\x70\x68\x79\x73\x69\x63\x61\x6c\x41\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x4c495f[_0xfb2be9(0x2e2,'\x4c\x63\x25\x29')][_0xfb2be9(0x1b1,'\x64\x76\x72\x64')],'\x61\x72\x63\x68\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x4c495f[_0xfb2be9(0x234,'\x44\x45\x6d\x62')][_0xfb2be9(0x291,'\x69\x26\x54\x52')],'\x68\x69\x73\x74\x6f\x72\x79\x52\x65\x63\x6f\x72\x64\x73':_0x1f2b00,'\x6b\x65\x65\x70\x52\x65\x63\x6f\x72\x64\x73':_0x4a23f5,'\x6d\x69\x6e\x43\x75\x72\x73\x6f\x72':_0x3b8231,'\x63\x75\x72\x73\x6f\x72\x73':_0x309aae,'\x6f\x76\x65\x72\x6c\x61\x70\x52\x65\x63\x6f\x72\x64\x73':_0x4c495f[_0xfb2be9(0x2d3,'\x5b\x72\x74\x52')],'\x77\x6f\x75\x6c\x64\x41\x72\x63\x68\x69\x76\x65':_0x6df32a,'\x72\x65\x74\x61\x69\x6e\x65\x64\x52\x65\x63\x6f\x72\x64\x73':_0x4c495f[_0xfb2be9(0x1fb,'\x6f\x41\x75\x44')+_0xfb2be9(0x2ce,'\x62\x31\x35\x59')][_0xfb2be9(0x263,'\x52\x44\x68\x4c')]-_0x6df32a,'\x61\x72\x63\x68\x69\x76\x65\x49\x64':_0x6df32a===0x1*0x1b2b+-0x12+-0x1b19?null:_0x5babb0+'\x2d'+_0x1b8025};}}}else _0x1aba7a=_0x2fe59d(_0x11d580,'\x72'),_0x10b845(_0x37e35b);}const _0x122cad=_0x1f9161[_0xfb2be9(0x307,'\x57\x6b\x24\x69')+'\x63\x74\x69\x76\x65'][_0xfb2be9(0x287,'\x78\x67\x6d\x6a')](_0x3714e0);if(_0x3714e0>0x5d*-0x25+0x6*0xb1+0x94b||_0x1f9161[_0xfb2be9(0x28f,'\x79\x31\x6b\x32')]>-0x1d2b+0xdd3*-0x2+-0x1*-0x38d1){if(_0xfb2be9(0x2b7,'\x44\x70\x49\x21')!==_0xfb2be9(0x248,'\x49\x6e\x72\x54'))durableReplace(_0x318249['\x70\x61\x74\x68']+(_0xfb2be9(0x332,'\x6d\x2a\x32\x6f')+_0xfb2be9(0x222,'\x48\x53\x4b\x2a')),_0x318249[_0xfb2be9(0x1da,'\x44\x45\x6d\x62')],serializeLines(_0x122cad)),fsyncDirectoryBestEffort(dirname(_0x318249['\x70\x61\x74\x68']));else{const _0x3a7adc=_0x49b6e0(_0x72339e,_0x438953,_0x3ce554),_0x3d3b0e=_0x3a0da2[_0xfb2be9(0x1e6,'\x6e\x37\x30\x41')](_0x3a7adc),_0x112790=_0x474741+(0x29e+-0x30*-0x57+-0x12ed);for(let _0x1c8da8=-0x2*-0xdc9+-0x9aa+0xc*-0x17e;_0x1c8da8<_0x3d3b0e[_0xfb2be9(0x1e3,'\x6f\x41\x75\x44')];_0x1c8da8+=-0x2248+0x22df+0xf*-0xa){const _0x530f42=_0x112790+_0x1c8da8;if(_0x530f42>=_0x14b9f6&&_0x530f42<=_0xa483f9)_0x23cb86[_0xfb2be9(0x253,'\x53\x53\x4e\x44')](_0x530f42,_0x3d3b0e[_0x1c8da8]);}}}return{'\x6d\x6f\x64\x65':'\x77\x72\x69\x74\x65','\x61\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73\x42\x65\x66\x6f\x72\x65':_0x1f9161[_0xfb2be9(0x2bd,'\x75\x78\x77\x44')+_0xfb2be9(0x31d,'\x78\x67\x6d\x6a')][_0xfb2be9(0x1d0,'\x57\x57\x47\x33')],'\x70\x68\x79\x73\x69\x63\x61\x6c\x41\x63\x74\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73\x42\x65\x66\x6f\x72\x65':_0x1f9161[_0xfb2be9(0x2c0,'\x34\x35\x53\x6d')]['\x6c\x65\x6e\x67\x74\x68'],'\x6b\x65\x65\x70\x52\x65\x63\x6f\x72\x64\x73':_0x49fd84,'\x6d\x69\x6e\x43\x75\x72\x73\x6f\x72':_0xb09613,'\x63\x75\x72\x73\x6f\x72\x73':_0x4d70d4,'\x61\x72\x63\x68\x69\x76\x65\x64\x52\x65\x63\x6f\x72\x64\x73':_0x3714e0,'\x72\x65\x74\x61\x69\x6e\x65\x64\x52\x65\x63\x6f\x72\x64\x73':_0x122cad[_0xfb2be9(0x1f8,'\x76\x53\x48\x44')],'\x61\x72\x63\x68\x69\x76\x65\x52\x65\x63\x6f\x72\x64\x73':_0x1f9161[_0xfb2be9(0x213,'\x57\x4f\x51\x32')]['\x6c\x65\x6e\x67\x74\x68']+_0x3714e0,'\x68\x69\x73\x74\x6f\x72\x79\x52\x65\x63\x6f\x72\x64\x73':_0x67e29,'\x72\x65\x63\x6f\x76\x65\x72\x65\x64\x4f\x76\x65\x72\x6c\x61\x70':_0x1f9161['\x6f\x76\x65\x72\x6c\x61\x70'],'\x61\x72\x63\x68\x69\x76\x65\x49\x64':_0x58daf5};}finally{releaseLock(_0x4d3d7f);}}export function readMaterialHistory(_0x6c63c9){const _0x45573e=_0x3b2faa,_0x8a8d7b=readMaterialsLenient(_0x6c63c9),_0x57dd4e=[],_0x186c42=new Map(),_0x514dc8=materialArchiveDir(_0x6c63c9);for(const _0x1e3f66 of segmentDescriptors(_0x514dc8)){for(const _0xc42943 of readMaterialsLenient(join(_0x514dc8,_0x1e3f66[_0x45573e(0x32b,'\x5e\x66\x36\x4c')]))){if(_0x45573e(0x2e9,'\x40\x71\x41\x64')===_0x45573e(0x2e7,'\x79\x74\x77\x51')){if(!_0x1b41bb[_0x45573e(0x25c,'\x57\x6b\x24\x69')](_0x5562d8)||_0x5b0402<-0x1728+0xdea+0x93e)return 0x53*0x47+0x1*-0x3a0+0x3e1*-0x5;return _0x6deca3[_0x45573e(0x2ef,'\x5e\x5d\x68\x69')](_0x39d0c9);}else{if(_0x186c42[_0x45573e(0x2a6,'\x77\x58\x40\x66')](_0xc42943[_0x45573e(0x285,'\x73\x5d\x70\x70')+'\x49\x64']))continue;_0x186c42[_0x45573e(0x196,'\x57\x57\x47\x33')](_0xc42943[_0x45573e(0x2b8,'\x66\x59\x6f\x31')+'\x49\x64'],_0x57dd4e[_0x45573e(0x230,'\x31\x48\x57\x6a')]),_0x57dd4e[_0x45573e(0x299,'\x5e\x5d\x68\x69')](_0xc42943);}}}for(const _0x4149c6 of _0x8a8d7b){if(_0x45573e(0x343,'\x62\x31\x35\x59')===_0x45573e(0x1f1,'\x6b\x58\x6f\x49')){const _0x348525=_0x186c42['\x67\x65\x74'](_0x4149c6[_0x45573e(0x1cc,'\x44\x70\x49\x21')+'\x49\x64']);if(_0x348525===undefined){if('\x45\x79\x53\x65\x62'!==_0x45573e(0x26f,'\x31\x53\x78\x36')){let _0xc5104d=null;try{_0xc5104d=_0x40ffe2(_0xce8ecc,'\x72'),_0x4d235d(_0xc5104d);}catch{}finally{if(_0xc5104d!==null)_0xac50f6(_0xc5104d);}}else _0x186c42[_0x45573e(0x22b,'\x78\x67\x6d\x6a')](_0x4149c6[_0x45573e(0x286,'\x4f\x72\x26\x45')+'\x49\x64'],_0x57dd4e[_0x45573e(0x1f0,'\x31\x53\x78\x36')]),_0x57dd4e[_0x45573e(0x2e8,'\x64\x76\x72\x64')](_0x4149c6);}else _0x57dd4e[_0x348525]=_0x4149c6;}else{const _0x232c92=_0x2141ca(_0x58e537),_0x5d0646=_0x232c92[_0x45573e(0x278,'\x6e\x37\x30\x41')]>0x1*0xba5+-0x8cd+0x16c*-0x2?_0x18f89e(_0x3052af,_0x232c92):_0x107787(_0x16834d);return _0x455008(_0x408d8f(_0x99fa85),_0x5d0646+_0x45573e(0x2f1,'\x62\x6d\x42\x63'));}}return _0x57dd4e;}export function readMaterialRange(_0x3c4479,_0x528105,_0x53d5f4){const _0x1d9c8e=_0x3b2faa,_0x375e01=normalizeRangeStart(_0x528105),_0x3bb07c=normalizeRangeCount(_0x53d5f4);if(_0x3bb07c===0x2423+-0x5d4+-0x1e4f)return[];const _0xd120f0=readMaterialsLenient(_0x3c4479),_0x3f03ae=materialArchiveDir(_0x3c4479),_0x43f718=segmentDescriptors(_0x3f03ae);if(_0x43f718[_0x1d9c8e(0x319,'\x4c\x63\x25\x29')]===-0x104f+0x803+0x6*0x162){if(_0x1d9c8e(0x2f0,'\x44\x45\x6d\x62')===_0x1d9c8e(0x227,'\x23\x68\x6e\x24')){const _0x227fe6=_0x5bb0ab[_0x1d9c8e(0x1f4,'\x69\x26\x54\x52')+_0x1d9c8e(0x242,'\x79\x74\x77\x51')][_0x1d9c8e(0x25b,'\x6c\x69\x5e\x74')](0x1423+0x22ef+-0x3712,_0x387964),_0x55276f=_0x3574de(_0x35669e[_0x1d9c8e(0x31a,'\x5b\x72\x74\x52')]);_0x30c84c(_0x55276f,{'\x72\x65\x63\x75\x72\x73\x69\x76\x65':!![]});const _0x5c800d=_0x5c86d8(_0x55276f,_0x5e47e3(_0x369ed1,_0x12576b)),_0x34f8b3=_0x19548a(_0x227fe6);if(_0x18faf4(_0x5c800d)){if(_0x44bb4b(_0x5c800d,_0x1d9c8e(0x2ec,'\x44\x45\x6d\x62'))!==_0x34f8b3)throw new _0x265bf5(_0x3e3e3a??_0x12cd27+'\x2d'+_0x1d7cdf);}else _0x4c376e(_0x5c800d+_0x1d9c8e(0x2ed,'\x76\x53\x48\x44'),_0x5c800d,_0x34f8b3),_0x4023b8(_0x55276f);}else return _0xd120f0[_0x1d9c8e(0x1d1,'\x52\x44\x68\x4c')](_0x375e01,_0x375e01+_0x3bb07c);}const _0x44943e=Math[_0x1d9c8e(0x280,'\x57\x6b\x24\x69')](..._0x43f718[_0x1d9c8e(0x2b9,'\x76\x75\x31\x55')](_0x4208d5=>_0x4208d5['\x65\x6e\x64'])),_0x11121f=Math[_0x1d9c8e(0x345,'\x66\x59\x6f\x31')](Number[_0x1d9c8e(0x2af,'\x4e\x52\x21\x57')+_0x1d9c8e(0x1b7,'\x57\x6b\x24\x69')],_0x375e01+_0x3bb07c-(0x24b*0x1+-0x1e2*0x1+-0x68)),_0x48dce3=new Map();for(const _0x46b201 of _0x43f718){if(_0x46b201[_0x1d9c8e(0x231,'\x6e\x37\x30\x41')]<_0x375e01||_0x46b201[_0x1d9c8e(0x322,'\x4e\x52\x21\x57')]>_0x11121f)continue;const _0x3e8f7d=readMaterialsLenient(join(_0x3f03ae,_0x46b201[_0x1d9c8e(0x1fd,'\x5b\x72\x74\x52')]));for(let _0x39fded=-0x6d2+0x18e+0x544;_0x39fded<_0x3e8f7d[_0x1d9c8e(0x2e1,'\x4e\x52\x21\x57')];_0x39fded+=0x1af3+-0x1*0x4b2+0x2c8*-0x8){if(_0x1d9c8e(0x2cd,'\x76\x53\x48\x44')===_0x1d9c8e(0x233,'\x6d\x2a\x32\x6f')){const _0x5a7fb4=_0x46b201[_0x1d9c8e(0x2ff,'\x5e\x66\x36\x4c')]+_0x39fded;_0x5a7fb4>=_0x375e01&&_0x5a7fb4<=_0x11121f&&!_0x48dce3[_0x1d9c8e(0x274,'\x4a\x40\x72\x62')](_0x5a7fb4)&&_0x48dce3[_0x1d9c8e(0x348,'\x4a\x7a\x5b\x5a')](_0x5a7fb4,_0x3e8f7d[_0x39fded]);}else throw new _0x429af6(_0x1d9c8e(0x2d1,'\x64\x76\x72\x64')+_0x1d9c8e(0x323,'\x6b\x58\x6f\x49')+_0x1d9c8e(0x2e6,'\x23\x31\x2a\x6e')+_0x1d9c8e(0x1c7,'\x68\x79\x57\x67')+'\x63\x74');}}if(_0x11121f>_0x44943e){if(_0x1d9c8e(0x22e,'\x76\x75\x31\x55')===_0x1d9c8e(0x297,'\x6d\x2a\x32\x6f')){const _0x3c41c8=detectOperationalOverlap(_0x3c4479,_0x43f718,_0xd120f0),_0x18405d=_0xd120f0[_0x1d9c8e(0x1a1,'\x4c\x63\x25\x29')](_0x3c41c8),_0x52188f=_0x44943e+(0xb6e+-0x200+-0x96d);for(let _0x76744c=0x1*0x245+-0x11b7+0xf72;_0x76744c<_0x18405d[_0x1d9c8e(0x1cd,'\x4b\x40\x4e\x58')];_0x76744c+=-0x50a+0x15da+-0x10cf*0x1){const _0x3e43f0=_0x52188f+_0x76744c;if(_0x3e43f0>=_0x375e01&&_0x3e43f0<=_0x11121f)_0x48dce3[_0x1d9c8e(0x1ad,'\x48\x53\x4b\x2a')](_0x3e43f0,_0x18405d[_0x76744c]);}}else throw new _0x15c13f('\x67\x72\x6f\x75\x70\x20'+_0x40692c+(_0x1d9c8e(0x205,'\x62\x31\x35\x59')+_0x1d9c8e(0x201,'\x44\x70\x49\x21')+_0x1d9c8e(0x1eb,'\x4a\x7a\x5b\x5a')+'\x64\x73'));}return[..._0x48dce3[_0x1d9c8e(0x2a8,'\x6f\x41\x75\x44')]()][_0x1d9c8e(0x324,'\x6e\x37\x30\x41')](([_0x3b1b90],[_0x301a7d])=>_0x3b1b90-_0x301a7d)[_0x1d9c8e(0x1d4,'\x21\x68\x49\x25')](([,_0x82210])=>_0x82210);}export function inspectMaterialArchive(_0x2618ce){const _0x510a2f=_0x3b2faa,_0x1eb57f=materialArchiveDir(_0x2618ce),_0x211bdd=segmentDescriptors(_0x1eb57f);let _0x547c70=0x7ed+0x76*-0x4d+-0x1b91*-0x1,_0x3571c6=-0x18f3+0x56*-0x53+0x34d5,_0x1e9eeb=-0x6*-0x22d+0x5bb*0x2+-0x1884;for(const _0x16e369 of _0x211bdd){const _0x52a7e3=join(_0x1eb57f,_0x16e369['\x66\x69\x6c\x65']);_0x547c70+=statSync(_0x52a7e3)[_0x510a2f(0x347,'\x23\x31\x2a\x6e')];for(const _0x44d246 of readFileSync(_0x52a7e3,'\x75\x74\x66\x38')['\x73\x70\x6c\x69\x74']('\x0a')){if(_0x510a2f(0x21e,'\x42\x72\x5e\x5e')!==_0x510a2f(0x326,'\x6f\x41\x75\x44')){if(_0x44d246['\x6c\x65\x6e\x67\x74\x68']===-0x1695+0x15a+0x153b)continue;try{material[_0x510a2f(0x27f,'\x23\x31\x2a\x6e')](JSON[_0x510a2f(0x2d5,'\x31\x48\x57\x6a')](_0x44d246)),_0x3571c6+=0x125e+-0x61d+-0xc40;}catch{_0x1e9eeb+=-0x5*-0x15b+0x95*-0x32+0x1654;}}else{if(_0x9845ac['\x73\x74\x61\x72\x74']!==_0x238551)throw new _0x1485a3(_0x510a2f(0x236,'\x79\x74\x77\x51')+_0x510a2f(0x1bb,'\x5b\x72\x74\x52')+_0x1dac61+(_0x510a2f(0x33d,'\x5e\x66\x36\x4c')+_0x510a2f(0x2ee,'\x49\x6e\x72\x54'))+_0x4e8b62[_0x510a2f(0x302,'\x77\x58\x40\x66')]);const _0x300444=_0x3fbf93(_0x44e588(_0x4c7d18,_0x118fa0['\x66\x69\x6c\x65']),_0x29d2b8[_0x510a2f(0x221,'\x62\x31\x35\x59')],!![]),_0x7cae46=_0x4083f7[_0x510a2f(0x305,'\x40\x71\x41\x64')]-_0x28ea7d[_0x510a2f(0x2ea,'\x52\x44\x68\x4c')]+(0x1*-0x86+0x1*0x1183+-0x87e*0x2);if(_0x300444[_0x510a2f(0x211,'\x79\x31\x6b\x32')]!==_0x7cae46)throw new _0x586e30(_0x5b0d54[_0x510a2f(0x20e,'\x5e\x5d\x68\x69')]+(_0x510a2f(0x22c,'\x4e\x52\x21\x57')+'\x73\x20')+_0x7cae46+(_0x510a2f(0x298,'\x77\x58\x40\x66')+_0x510a2f(0x27d,'\x4f\x72\x26\x45')+_0x510a2f(0x29f,'\x4b\x40\x4e\x58'))+_0x300444['\x6c\x65\x6e\x67\x74\x68']);_0x134b08[_0x510a2f(0x310,'\x37\x4a\x66\x6a')](..._0x300444),_0x437563=_0x3a1e33[_0x510a2f(0x231,'\x6e\x37\x30\x41')]+(0x561+-0x2*0xc26+0x7*0x2b4);}}}return{'\x65\x78\x69\x73\x74\x73':_0x211bdd[_0x510a2f(0x258,'\x40\x71\x41\x64')]>-0xdff+-0x22ec+0x30eb*0x1,'\x73\x65\x67\x6d\x65\x6e\x74\x73':_0x211bdd[_0x510a2f(0x295,'\x75\x78\x77\x44')],'\x62\x79\x74\x65\x73':_0x547c70,'\x72\x65\x63\x6f\x72\x64\x73':_0x3571c6,'\x69\x6e\x76\x61\x6c\x69\x64\x4c\x69\x6e\x65\x73':_0x1e9eeb,'\x66\x69\x72\x73\x74\x4f\x66\x66\x73\x65\x74':_0x211bdd[-0x1*0x6ad+0x13f8+0xd4b*-0x1]?.['\x73\x74\x61\x72\x74']??null,'\x6c\x61\x73\x74\x4f\x66\x66\x73\x65\x74':_0x211bdd[_0x211bdd[_0x510a2f(0x258,'\x40\x71\x41\x64')]-(-0x472*0x1+0x1389+0x2*-0x78b)]?.[_0x510a2f(0x268,'\x5b\x72\x74\x52')]??null};}function readStrictHistory(_0x1db53c){const _0x172cf9=_0x3b2faa,_0x2403f9=readArchiveStrict(materialArchiveDir(_0x1db53c)),_0x3963c1=readActiveStrict(_0x1db53c),_0x4aea8f=detectOverlap(_0x2403f9,_0x3963c1),_0x24392f=_0x3963c1['\x73\x6c\x69\x63\x65'](_0x4aea8f),_0x44dcc9=new Map();for(const _0x14d190 of[..._0x2403f9,..._0x24392f]){if(_0x172cf9(0x266,'\x57\x57\x47\x33')===_0x172cf9(0x1b5,'\x76\x53\x48\x44')){if(_0x5d770b(_0x120b68,_0x172cf9(0x2a1,'\x49\x6e\x72\x54'))!==_0xa9de7e)throw new _0x5b4506(_0x28a460??_0x12ffc5+'\x2d'+_0x45152c);}else{const _0x25c1ab=JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x14d190[_0x172cf9(0x308,'\x49\x6e\x72\x54')]),_0x1e030a=_0x44dcc9[_0x172cf9(0x271,'\x5e\x5d\x68\x69')](_0x14d190[_0x172cf9(0x25e,'\x57\x57\x47\x33')][_0x172cf9(0x2d4,'\x40\x71\x41\x64')+'\x49\x64']);if(_0x1e030a!==undefined){if(_0x1e030a!==_0x25c1ab)throw new MaterialArchiveSegmentConflictError(_0x14d190[_0x172cf9(0x339,'\x28\x59\x47\x68')][_0x172cf9(0x1b8,'\x57\x4f\x51\x32')+'\x49\x64']);throw new MaterialArchiveRangeError(_0x172cf9(0x2c3,'\x76\x75\x31\x55')+_0x172cf9(0x327,'\x64\x76\x72\x64')+_0x172cf9(0x28d,'\x4f\x72\x26\x45')+_0x14d190[_0x172cf9(0x306,'\x42\x72\x5e\x5e')]['\x6d\x61\x74\x65\x72\x69\x61\x6c'+'\x49\x64']);}_0x44dcc9[_0x172cf9(0x1fc,'\x42\x72\x5e\x5e')](_0x14d190[_0x172cf9(0x316,'\x40\x71\x41\x64')]['\x6d\x61\x74\x65\x72\x69\x61\x6c'+'\x49\x64'],_0x25c1ab);}}return{'\x61\x72\x63\x68\x69\x76\x65':_0x2403f9,'\x61\x63\x74\x69\x76\x65':_0x3963c1,'\x6c\x6f\x67\x69\x63\x61\x6c\x41\x63\x74\x69\x76\x65':_0x24392f,'\x6f\x76\x65\x72\x6c\x61\x70':_0x4aea8f};}function readArchiveStrict(_0x4db910){const _0x698abd=_0x3b2faa,_0x3cecc2=segmentDescriptors(_0x4db910,!![]),_0x56d7ce=[];let _0x49f3d9=0x23d+0x7*0x539+0x2fc*-0xd;for(const _0x2136bb of _0x3cecc2){if('\x6d\x4e\x47\x69\x44'===_0x698abd(0x212,'\x44\x45\x6d\x62')){if(_0x2136bb[_0x698abd(0x2db,'\x4c\x63\x25\x29')]!==_0x49f3d9){if(_0x698abd(0x20b,'\x51\x21\x61\x51')===_0x698abd(0x1c2,'\x21\x68\x49\x25')){if(_0x4b4fda!==null)_0x9f02eb(_0x3876d4);_0x4e49a7(_0x52c97e,{'\x66\x6f\x72\x63\x65':!![]});throw _0x3a29c9;}else throw new MaterialArchiveRangeError(_0x698abd(0x1de,'\x5e\x66\x36\x4c')+_0x698abd(0x2c2,'\x6f\x69\x4e\x58')+_0x49f3d9+(_0x698abd(0x1ef,'\x4a\x7a\x5b\x5a')+_0x698abd(0x249,'\x51\x21\x61\x51'))+_0x2136bb[_0x698abd(0x2f5,'\x21\x68\x49\x25')]);}const _0x141b9e=readStrictLines(join(_0x4db910,_0x2136bb['\x66\x69\x6c\x65']),_0x2136bb[_0x698abd(0x25d,'\x62\x6d\x42\x63')],!![]),_0xcf4b25=_0x2136bb[_0x698abd(0x268,'\x5b\x72\x74\x52')]-_0x2136bb[_0x698abd(0x1ac,'\x76\x75\x31\x55')]+(-0x8*0xa4+0xde9+-0x4*0x232);if(_0x141b9e[_0x698abd(0x281,'\x62\x31\x35\x59')]!==_0xcf4b25)throw new MaterialArchiveRangeError(_0x2136bb[_0x698abd(0x29b,'\x69\x26\x54\x52')]+('\x20\x64\x65\x63\x6c\x61\x72\x65'+'\x73\x20')+_0xcf4b25+('\x20\x72\x65\x63\x6f\x72\x64\x28'+_0x698abd(0x25a,'\x6f\x69\x4e\x58')+_0x698abd(0x220,'\x76\x53\x48\x44'))+_0x141b9e[_0x698abd(0x2e1,'\x4e\x52\x21\x57')]);_0x56d7ce[_0x698abd(0x337,'\x31\x48\x57\x6a')](..._0x141b9e),_0x49f3d9=_0x2136bb['\x65\x6e\x64']+(-0x3a2+0xf31+-0x22*0x57);}else{const _0x1eaf63=_0x1d7ae5[_0x698abd(0x1e4,'\x31\x53\x78\x36')+'\x79'](_0x52b451[_0x698abd(0x1d6,'\x4a\x40\x72\x62')]),_0x2ad0f9=_0x20cc80[_0x698abd(0x2e3,'\x75\x78\x77\x44')](_0x51843c[_0x698abd(0x2ad,'\x79\x74\x77\x51')]['\x6d\x61\x74\x65\x72\x69\x61\x6c'+'\x49\x64']);if(_0x2ad0f9!==_0x18edd5){if(_0x2ad0f9!==_0x1eaf63)throw new _0x29bc8f(_0x3f502b[_0x698abd(0x269,'\x75\x78\x77\x44')][_0x698abd(0x232,'\x42\x72\x5e\x5e')+'\x49\x64']);throw new _0x3c9524(_0x698abd(0x27e,'\x57\x6b\x24\x69')+_0x698abd(0x2fc,'\x28\x59\x47\x68')+_0x698abd(0x1ed,'\x31\x48\x57\x6a')+_0x356661[_0x698abd(0x2ad,'\x79\x74\x77\x51')][_0x698abd(0x1b8,'\x57\x4f\x51\x32')+'\x49\x64']);}_0x21c232[_0x698abd(0x2b1,'\x37\x4a\x66\x6a')](_0x2ad3ae['\x72\x65\x63\x6f\x72\x64'][_0x698abd(0x34a,'\x34\x35\x53\x6d')+'\x49\x64'],_0x1eaf63);}}return _0x56d7ce;}function readActiveStrict(_0x309898){const _0x41e470=_0x3b2faa;if(!existsSync(_0x309898))return[];const _0x34d3b9=[],_0x6d616f=readFileSync(_0x309898,'\x75\x74\x66\x38')[_0x41e470(0x29c,'\x68\x79\x57\x67')]('\x0a');for(let _0xec8f4e=0x1984+-0x1e4*0x12+0x884;_0xec8f4e<_0x6d616f['\x6c\x65\x6e\x67\x74\x68'];_0xec8f4e+=0x39*-0x42+-0x173*-0x5+-0x1*-0x774){const _0xcbe90=_0x6d616f[_0xec8f4e];if(_0xcbe90[_0x41e470(0x1f0,'\x31\x53\x78\x36')]===0xe24+-0x36f*0x1+-0xab5)continue;try{_0x34d3b9[_0x41e470(0x1fe,'\x57\x4f\x51\x32')]({'\x72\x65\x63\x6f\x72\x64':material[_0x41e470(0x2a4,'\x4f\x72\x26\x45')](JSON[_0x41e470(0x210,'\x5e\x5d\x68\x69')](_0xcbe90)),'\x72\x61\x77':_0xcbe90});}catch{throw new InvalidMaterialLogError(_0xec8f4e+(0x1*0xb3+-0x52*-0x20+-0xaf2),_0x41e470(0x2bc,'\x76\x53\x48\x44')+_0x41e470(0x2a3,'\x51\x21\x61\x51')+_0x41e470(0x1e5,'\x6b\x58\x6f\x49')+_0x41e470(0x26e,'\x62\x6d\x42\x63'));}}return _0x34d3b9;}function readStrictLines(_0x1a8162,_0x3ab133,_0x39ce22){const _0x494dcd=_0x3b2faa,_0x192c75=[],_0x49524e=readFileSync(_0x1a8162,_0x494dcd(0x1c5,'\x6c\x69\x5e\x74'))[_0x494dcd(0x30b,'\x21\x68\x49\x25')]('\x0a');for(let _0x54e165=0x1*-0x63d+-0xad*0x28+0x2145;_0x54e165<_0x49524e[_0x494dcd(0x211,'\x79\x31\x6b\x32')];_0x54e165+=0x167c+0x18*0xc1+0x11*-0x263){if(_0x494dcd(0x20a,'\x53\x53\x4e\x44')===_0x494dcd(0x288,'\x4f\x72\x26\x45')){const _0x102ace=_0x10be11(_0x378480,!![]),_0x2b0b56=[];let _0xca000a=-0xf9e*0x1+-0x68*-0xd+-0x6*-0x1b9;for(const _0x3a8a7a of _0x102ace){if(_0x3a8a7a[_0x494dcd(0x2e5,'\x23\x31\x2a\x6e')]!==_0xca000a)throw new _0x10aba3(_0x494dcd(0x24e,'\x5b\x72\x74\x52')+'\x20\x6f\x66\x66\x73\x65\x74\x20'+_0xca000a+(_0x494dcd(0x1ee,'\x6d\x2a\x32\x6f')+_0x494dcd(0x2b6,'\x33\x47\x4c\x21'))+_0x3a8a7a[_0x494dcd(0x240,'\x68\x79\x57\x67')]);const _0x1424bb=_0x13d60e(_0x39cd73(_0x2b51f6,_0x3a8a7a[_0x494dcd(0x24c,'\x6e\x37\x30\x41')]),_0x3a8a7a[_0x494dcd(0x1ca,'\x57\x57\x47\x33')],!![]),_0x130b5a=_0x3a8a7a[_0x494dcd(0x334,'\x64\x76\x72\x64')]-_0x3a8a7a[_0x494dcd(0x2e5,'\x23\x31\x2a\x6e')]+(0x1d*-0xc+0x3f1*0x3+-0xa76);if(_0x1424bb[_0x494dcd(0x275,'\x4f\x72\x26\x45')]!==_0x130b5a)throw new _0x70f55a(_0x3a8a7a['\x66\x69\x6c\x65']+(_0x494dcd(0x2b4,'\x69\x26\x54\x52')+'\x73\x20')+_0x130b5a+(_0x494dcd(0x1ce,'\x66\x59\x6f\x31')+_0x494dcd(0x283,'\x77\x58\x40\x66')+_0x494dcd(0x1f3,'\x49\x6e\x72\x54'))+_0x1424bb[_0x494dcd(0x2f3,'\x6f\x69\x4e\x58')]);_0x2b0b56['\x70\x75\x73\x68'](..._0x1424bb),_0xca000a=_0x3a8a7a[_0x494dcd(0x268,'\x5b\x72\x74\x52')]+(0x1*-0x1f25+0x21b3*-0x1+0x40d9);}return _0x2b0b56;}else{const _0x4519d7=_0x49524e[_0x54e165];if(_0x4519d7[_0x494dcd(0x22d,'\x42\x72\x5e\x5e')]===0x13d2+0xace+-0x10*0x1ea)continue;try{if(_0x494dcd(0x20d,'\x79\x74\x77\x51')===_0x494dcd(0x1ba,'\x73\x5d\x70\x70')){const _0x259383=_0xfa5951[_0x494dcd(0x198,'\x44\x70\x49\x21')]+_0x4f25fa;_0x259383>=_0x582e35&&_0x259383<=_0x5c74b2&&!_0x4e0c82[_0x494dcd(0x2de,'\x75\x78\x77\x44')](_0x259383)&&_0x3fa602[_0x494dcd(0x28b,'\x73\x5d\x70\x70')](_0x259383,_0x1e9378[_0x4b1d82]);}else _0x192c75[_0x494dcd(0x2d2,'\x4a\x40\x72\x62')]({'\x72\x65\x63\x6f\x72\x64':material[_0x494dcd(0x29a,'\x6b\x58\x6f\x49')](JSON[_0x494dcd(0x32e,'\x64\x76\x72\x64')](_0x4519d7)),'\x72\x61\x77':_0x4519d7});}catch{if(_0x39ce22)throw new InvalidMaterialArchiveError(_0x3ab133,_0x54e165+(-0x172c*-0x1+-0x5*0x106+-0x120d),_0x494dcd(0x24f,'\x4e\x52\x21\x57')+_0x494dcd(0x2ab,'\x33\x47\x4c\x21')+_0x494dcd(0x2b0,'\x76\x75\x31\x55')+_0x494dcd(0x1c8,'\x5e\x5d\x68\x69'));throw new InvalidMaterialLogError(_0x54e165+(0x9*0x188+0x1d13+-0x2ada),_0x494dcd(0x292,'\x6f\x41\x75\x44')+_0x494dcd(0x1d2,'\x69\x26\x54\x52')+_0x494dcd(0x1dd,'\x75\x78\x77\x44')+_0x494dcd(0x1a5,'\x66\x59\x6f\x31'));}}}return _0x192c75;}function readMaterialsLenient(_0x374042){const _0x571745=_0x3b2faa;if(!existsSync(_0x374042))return[];const _0xc8db82=[];for(const _0x28ef0a of readFileSync(_0x374042,_0x571745(0x1a8,'\x5e\x66\x36\x4c'))[_0x571745(0x2eb,'\x23\x31\x2a\x6e')]('\x0a')){if(_0x28ef0a[_0x571745(0x1f0,'\x31\x53\x78\x36')]===0x1*-0x595+-0x13aa+0x193f*0x1)continue;try{_0xc8db82[_0x571745(0x317,'\x6d\x2a\x32\x6f')](material[_0x571745(0x219,'\x34\x35\x53\x6d')](JSON[_0x571745(0x29a,'\x6b\x58\x6f\x49')](_0x28ef0a)));}catch{}}return _0xc8db82;}function segmentDescriptors(_0x42ea2c,_0x231778=![]){const _0x242b69=_0x3b2faa;if(!existsSync(_0x42ea2c))return[];const _0x271f2a=[];for(const _0x1ec0a0 of readdirSync(_0x42ea2c)[_0x242b69(0x2ac,'\x62\x31\x35\x59')]()){if(_0x242b69(0x264,'\x66\x59\x6f\x31')===_0x242b69(0x2df,'\x57\x6b\x24\x69')){const _0x4d9eeb=SEGMENT_PATTERN[_0x242b69(0x262,'\x37\x4a\x66\x6a')](_0x1ec0a0);if(_0x4d9eeb===null)continue;const _0x3366af=Number(_0x4d9eeb[0x493*-0x2+0x1a21+-0x10fa]),_0x55c667=Number(_0x4d9eeb[0x11d7*0x1+-0x3*0x617+0x10*0x7]);if(!Number[_0x242b69(0x255,'\x53\x53\x4e\x44')+_0x242b69(0x294,'\x51\x21\x61\x51')](_0x3366af)||!Number['\x69\x73\x53\x61\x66\x65\x49\x6e'+_0x242b69(0x1d9,'\x62\x31\x35\x59')](_0x55c667)||_0x3366af<0x237a*0x1+0x1f*0x87+-0x33d3*0x1||_0x55c667<_0x3366af){if(_0x242b69(0x1c3,'\x5b\x72\x74\x52')!==_0x242b69(0x19d,'\x28\x59\x47\x68')){if(_0x231778)throw new MaterialArchiveRangeError(_0x242b69(0x2cf,'\x4a\x7a\x5b\x5a')+_0x242b69(0x2f9,'\x42\x72\x5e\x5e')+_0x242b69(0x2ba,'\x57\x4f\x51\x32')+'\x20'+_0x1ec0a0);continue;}else _0x26034b=_0x4103e4(_0xeed7da,'\x77',-0xc19*0x1+0x1ca8+-0xf0f),_0x144c81(_0x45c76c,_0x52277c,_0x46d1da,_0x242b69(0x1e9,'\x4a\x7a\x5b\x5a')),_0x285f9a(_0x4c0cfb),_0x4580ab(_0x4488fa),_0x1301b3=null,_0x22ef06(_0x39b5a5,_0x4d8377);}_0x271f2a[_0x242b69(0x1af,'\x79\x74\x77\x51')]({'\x66\x69\x6c\x65':_0x1ec0a0,'\x73\x74\x61\x72\x74':_0x3366af,'\x65\x6e\x64':_0x55c667});}else return _0x242b69(0x2da,'\x62\x6d\x42\x63')+'\x2d'+_0x55a175(_0x84d6eb)[_0x242b69(0x2aa,'\x37\x4a\x66\x6a')](-0x45e*-0x7+0x2019+-0x3e9b,'\x30')+'\x2d'+_0x2cd0e1(_0x20a73d)[_0x242b69(0x195,'\x4a\x7a\x5b\x5a')](-0x133d+0x1*-0x1121+0x246e,'\x30')+_0x242b69(0x243,'\x4b\x40\x4e\x58');}return _0x271f2a[_0x242b69(0x28e,'\x69\x26\x54\x52')]((_0x881c4f,_0x2399d6)=>_0x881c4f[_0x242b69(0x25f,'\x34\x35\x53\x6d')]-_0x2399d6[_0x242b69(0x1be,'\x4b\x40\x4e\x58')]||_0x881c4f[_0x242b69(0x1a4,'\x73\x5d\x70\x70')]-_0x2399d6[_0x242b69(0x2a5,'\x49\x6e\x72\x54')]);}function detectOverlap(_0xfd5fc1,_0x2d3ff7){const _0x20e774=_0x3b2faa,_0x191cec=Math[_0x20e774(0x20f,'\x31\x48\x57\x6a')](_0xfd5fc1[_0x20e774(0x2a2,'\x4a\x40\x72\x62')],_0x2d3ff7[_0x20e774(0x229,'\x66\x59\x6f\x31')]);for(let _0x1b1ca1=_0x191cec;_0x1b1ca1>-0x19b*-0xc+0x2*0x74a+0x2d2*-0xc;_0x1b1ca1-=-0x4ce+-0x110d+-0x577*-0x4){const _0x44e462=_0xfd5fc1[_0x20e774(0x1a6,'\x76\x75\x31\x55')]-_0x1b1ca1;let _0x1b0129=!![];for(let _0xbec08a=0x141*-0x1d+-0x2221+0x467e;_0xbec08a<_0x1b1ca1;_0xbec08a+=-0x383+0x27*0x79+-0xeeb){if(JSON[_0x20e774(0x312,'\x57\x4f\x51\x32')+'\x79'](_0xfd5fc1[_0x44e462+_0xbec08a][_0x20e774(0x290,'\x21\x68\x49\x25')])!==JSON[_0x20e774(0x2fe,'\x23\x31\x2a\x6e')+'\x79'](_0x2d3ff7[_0xbec08a]['\x72\x65\x63\x6f\x72\x64'])){_0x1b0129=![];break;}}if(_0x1b0129)return _0x1b1ca1;}return 0x258b+0x2652+-0x1*0x4bdd;}function detectOperationalOverlap(_0x55fd3a,_0x1588ef,_0xe21cc5){const _0x4e816a=_0x3b2faa,_0x5e4986=_0x1588ef[_0x1588ef[_0x4e816a(0x23b,'\x28\x59\x47\x68')]-(-0x2*-0x71+-0x1101+0x1020)];if(_0x5e4986===undefined||_0xe21cc5[_0x4e816a(0x1f7,'\x4a\x7a\x5b\x5a')]===0x1d47+0x146b+-0x31b2)return-0xfbd*-0x1+-0x2313+0x1356;const _0x18d7a2=readMaterialsLenient(join(materialArchiveDir(_0x55fd3a),_0x5e4986[_0x4e816a(0x1fd,'\x5b\x72\x74\x52')])),_0x510e33=Math[_0x4e816a(0x228,'\x79\x74\x77\x51')](_0x18d7a2['\x6c\x65\x6e\x67\x74\x68'],_0xe21cc5[_0x4e816a(0x1f8,'\x76\x53\x48\x44')]);for(let _0x4bdf7b=_0x510e33;_0x4bdf7b>-0xf41+-0x1b5e+0x2a9f;_0x4bdf7b-=-0x4dc+-0x1c4*-0xb+-0xe8f){const _0x2f4a69=_0x18d7a2['\x6c\x65\x6e\x67\x74\x68']-_0x4bdf7b;let _0x5ec6d7=!![];for(let _0x29e1d2=-0xe*-0x8+0x13*0xa+-0x12e;_0x29e1d2<_0x4bdf7b;_0x29e1d2+=0x1b5c+0x1576+0x1*-0x30d1){if('\x43\x43\x56\x6d\x54'===_0x4e816a(0x1d7,'\x6f\x41\x75\x44'))_0x1d42c0(_0x200d89[_0x4e816a(0x31a,'\x5b\x72\x74\x52')]+(_0x4e816a(0x1e0,'\x5e\x66\x36\x4c')+_0x4e816a(0x204,'\x6f\x41\x75\x44')),_0x118809[_0x4e816a(0x272,'\x68\x79\x57\x67')],_0x27b264(_0x159317)),_0x5638cd(_0x2d740c(_0x390ca[_0x4e816a(0x256,'\x34\x35\x53\x6d')]));else{if(JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x18d7a2[_0x2f4a69+_0x29e1d2])!==JSON[_0x4e816a(0x1b9,'\x6f\x41\x75\x44')+'\x79'](_0xe21cc5[_0x29e1d2])){if(_0x4e816a(0x303,'\x4f\x72\x26\x45')!==_0x4e816a(0x303,'\x4f\x72\x26\x45'))_0x225986['\x70\x61\x72\x73\x65'](_0x5388b2[_0x4e816a(0x2dd,'\x44\x45\x6d\x62')](_0x22b492)),_0x5c0335+=-0x1da6+0x599*0x2+0x1275;else{_0x5ec6d7=![];break;}}}}if(_0x5ec6d7)return _0x4bdf7b;}return 0x1baa+0x1*-0x443+-0x1767;}function readCursorsStrict(_0x40b643,_0x365246){const _0x8f5a7=_0x3b2faa,_0x13f662=[];for(const _0x197458 of _0x40b643){if(!existsSync(_0x197458))continue;let _0x55c86e;try{if(_0x8f5a7(0x2fa,'\x78\x67\x6d\x6a')===_0x8f5a7(0x26a,'\x49\x6e\x72\x54'))throw new _0x51a2d9(_0x8f5a7(0x277,'\x49\x6e\x72\x54')+'\x20\x6f\x66\x66\x73\x65\x74\x20'+_0x8f2c72+(_0x8f5a7(0x19a,'\x6e\x37\x30\x41')+_0x8f5a7(0x265,'\x57\x6b\x24\x69'))+_0x5dc517[_0x8f5a7(0x1a2,'\x6b\x58\x6f\x49')]);else _0x55c86e=JSON[_0x8f5a7(0x19e,'\x66\x59\x6f\x31')](readFileSync(_0x197458,_0x8f5a7(0x1bd,'\x4c\x63\x25\x29')));}catch{if('\x4b\x73\x50\x49\x41'!==_0x8f5a7(0x2c7,'\x4f\x72\x26\x45'))throw new InvalidMaterialArchiveCursorError(_0x8f5a7(0x2e4,'\x57\x6b\x24\x69')+_0x8f5a7(0x31f,'\x21\x68\x49\x25')+_0x8f5a7(0x244,'\x79\x74\x77\x51')+_0x8f5a7(0x2c1,'\x62\x6d\x42\x63'));else _0x15cff9[_0x8f5a7(0x21a,'\x6b\x58\x6f\x49')](_0x15931d,_0x2604df[_0x5e4137]);}if(typeof _0x55c86e!==_0x8f5a7(0x29e,'\x48\x53\x4b\x2a')||_0x55c86e===null||Array[_0x8f5a7(0x336,'\x23\x68\x6e\x24')](_0x55c86e))throw new InvalidMaterialArchiveCursorError(_0x8f5a7(0x226,'\x66\x59\x6f\x31')+_0x8f5a7(0x23d,'\x66\x59\x6f\x31')+_0x8f5a7(0x1b0,'\x79\x31\x6b\x32')+_0x8f5a7(0x1f5,'\x5e\x66\x36\x4c')+'\x63\x74');for(const [_0x1a92bd,_0x304984]of Object[_0x8f5a7(0x235,'\x79\x31\x6b\x32')](_0x55c86e)){if(!Number['\x69\x73\x53\x61\x66\x65\x49\x6e'+_0x8f5a7(0x1c9,'\x69\x26\x54\x52')](_0x304984)||_0x304984<-0x4f*0x4f+-0xe04+-0x2665*-0x1||_0x304984>_0x365246){if(_0x8f5a7(0x246,'\x57\x57\x47\x33')===_0x8f5a7(0x1a3,'\x31\x48\x57\x6a'))throw new InvalidMaterialArchiveCursorError(_0x8f5a7(0x1cb,'\x53\x53\x4e\x44')+_0x1a92bd+(_0x8f5a7(0x2f7,'\x5e\x66\x36\x4c')+_0x8f5a7(0x32a,'\x5b\x72\x74\x52')+_0x8f5a7(0x344,'\x48\x53\x4b\x2a')+'\x64\x73'));else{if(_0x31e5bf)throw new _0x4fea22(_0x50053f,_0x4d004b+(0x254b+-0x1860+-0xcea),_0x8f5a7(0x261,'\x6d\x2a\x32\x6f')+_0x8f5a7(0x279,'\x23\x68\x6e\x24')+_0x8f5a7(0x2d4,'\x40\x71\x41\x64')+_0x8f5a7(0x32d,'\x6d\x2a\x32\x6f'));throw new _0x1f1cb5(_0x5b1a5b+(-0x1a6b+0x226*0xa+0x4f0),_0x8f5a7(0x1ab,'\x51\x21\x61\x51')+_0x8f5a7(0x1d2,'\x69\x26\x54\x52')+_0x8f5a7(0x259,'\x23\x31\x2a\x6e')+'\x20\x73\x63\x68\x65\x6d\x61');}}_0x13f662[_0x8f5a7(0x33f,'\x21\x68\x49\x25')]({'\x67\x72\x6f\x75\x70':_0x1a92bd,'\x70\x6f\x73\x69\x74\x69\x6f\x6e':_0x304984});}}return _0x13f662;}function minimumCursor(_0x23393d,_0x5952f8){const _0x3e34ce=_0x3b2faa;return _0x23393d[_0x3e34ce(0x22d,'\x42\x72\x5e\x5e')]===-0x220b+-0x1a56*-0x1+0x7b5*0x1?_0x5952f8:Math[_0x3e34ce(0x342,'\x4a\x40\x72\x62')](..._0x23393d[_0x3e34ce(0x1a9,'\x6e\x37\x30\x41')](_0x289394=>_0x289394[_0x3e34ce(0x24d,'\x53\x53\x4e\x44')]));}function archiveableCount(_0x47e5ba,_0x4e7435,_0x2b677f){const _0x14f2c1=_0x3b2faa,_0x1522f1=Math['\x6d\x61\x78'](-0x1*-0x13e1+0x18fc+-0x2cdd*0x1,_0x4e7435-_0x47e5ba[_0x14f2c1(0x2a9,'\x77\x58\x40\x66')][_0x14f2c1(0x1e7,'\x57\x4f\x51\x32')]),_0x241302=Math[_0x14f2c1(0x2f8,'\x5e\x66\x36\x4c')](-0x1a*-0x161+0x1350+-0x372a,_0x47e5ba[_0x14f2c1(0x1f4,'\x69\x26\x54\x52')+_0x14f2c1(0x328,'\x48\x53\x4b\x2a')]['\x6c\x65\x6e\x67\x74\x68']-_0x2b677f);return Math[_0x14f2c1(0x321,'\x28\x59\x47\x68')](_0x1522f1,_0x241302);}function serializeLines(_0x1eeeda){const _0x984b2c=_0x3b2faa;return _0x1eeeda['\x6c\x65\x6e\x67\x74\x68']===0x3*0x443+-0x2128+0x7*0x2e9?'':_0x1eeeda[_0x984b2c(0x1df,'\x66\x59\x6f\x31')](_0x9e9262=>_0x9e9262[_0x984b2c(0x1ea,'\x34\x35\x53\x6d')])[_0x984b2c(0x2b3,'\x6c\x69\x5e\x74')]('\x0a')+'\x0a';}function _0x2b29(){const _0x1fd23f=['\x6d\x71\x74\x63\x49\x71\x38\x79\x73\x71','\x66\x66\x33\x63\x47\x73\x5a\x64\x4c\x65\x58\x63\x41\x61','\x67\x43\x6b\x47\x46\x48\x4e\x63\x4b\x38\x6f\x46\x63\x53\x6f\x50','\x75\x53\x6b\x79\x57\x35\x6a\x46\x69\x38\x6b\x53','\x69\x43\x6b\x36\x67\x5a\x6c\x63\x56\x71','\x57\x50\x6e\x6c\x57\x50\x68\x63\x4d\x38\x6f\x31\x62\x43\x6f\x63\x57\x52\x38','\x57\x34\x35\x38\x57\x51\x42\x63\x50\x38\x6b\x30\x57\x36\x7a\x4e\x76\x47','\x57\x51\x2f\x63\x56\x77\x47','\x57\x37\x6a\x41\x73\x65\x38','\x63\x4d\x74\x63\x52\x43\x6b\x69\x57\x36\x61\x70','\x57\x35\x50\x79\x57\x50\x4e\x64\x4c\x38\x6b\x4e','\x6a\x38\x6b\x49\x66\x67\x4b','\x57\x52\x35\x65\x57\x50\x2f\x64\x4d\x58\x6d','\x57\x37\x43\x67\x57\x4f\x39\x67','\x57\x50\x2f\x63\x56\x38\x6b\x57\x57\x51\x75\x47','\x57\x4f\x72\x78\x57\x4f\x33\x64\x51\x64\x4b','\x62\x53\x6b\x49\x79\x48\x78\x63\x4c\x38\x6f\x74\x6b\x6d\x6f\x57','\x65\x63\x75\x2b\x79\x59\x48\x76\x57\x34\x2f\x64\x4f\x57','\x77\x75\x37\x63\x4c\x61','\x77\x5a\x57\x38\x7a\x73\x6e\x69\x57\x35\x5a\x64\x4f\x47','\x6c\x4d\x61\x34\x57\x36\x34\x31\x57\x35\x53','\x62\x73\x6e\x45\x6a\x38\x6b\x58\x42\x4e\x46\x63\x4a\x31\x37\x63\x55\x62\x71\x46\x57\x4f\x4b','\x57\x36\x66\x46\x57\x52\x52\x64\x4e\x53\x6b\x78\x65\x71','\x57\x50\x34\x36\x69\x38\x6b\x37\x74\x43\x6f\x36\x42\x53\x6f\x4e','\x57\x52\x6a\x41\x67\x72\x6e\x4c\x57\x37\x78\x64\x51\x4d\x47','\x57\x36\x52\x64\x4f\x43\x6b\x55\x46\x6d\x6b\x48','\x62\x78\x52\x64\x50\x6d\x6f\x68\x57\x4f\x57\x75','\x57\x35\x4e\x63\x52\x38\x6b\x41\x6d\x6d\x6f\x56','\x57\x37\x74\x64\x53\x30\x30\x32','\x57\x35\x44\x34\x57\x52\x71','\x57\x36\x37\x64\x54\x76\x69\x55\x46\x5a\x34\x70\x68\x71','\x57\x4f\x4a\x63\x4b\x64\x5a\x64\x4e\x6d\x6b\x78\x78\x43\x6f\x53\x67\x47','\x68\x63\x33\x64\x4d\x57','\x57\x51\x6a\x7a\x73\x76\x6e\x7a\x57\x37\x46\x64\x50\x75\x30','\x57\x51\x68\x64\x50\x76\x35\x36\x70\x74\x43\x76\x62\x47','\x57\x4f\x65\x52\x70\x38\x6b\x31\x76\x38\x6f\x31','\x57\x50\x48\x48\x69\x64\x76\x4d','\x57\x37\x53\x2f\x6b\x78\x68\x64\x53\x4b\x4e\x63\x47\x61\x43','\x45\x4a\x58\x45\x6c\x30\x64\x64\x51\x76\x74\x64\x4d\x61','\x57\x50\x76\x78\x57\x50\x4e\x63\x4e\x6d\x6b\x32\x63\x38\x6f\x43\x57\x35\x34','\x76\x74\x57\x47\x6a\x49\x72\x64\x57\x34\x64\x64\x4f\x47','\x64\x38\x6b\x50\x64\x43\x6f\x4b\x70\x53\x6b\x38','\x57\x36\x33\x64\x4f\x4b\x76\x50\x41\x74\x4b','\x57\x37\x44\x64\x57\x4f\x6a\x4f\x76\x4d\x61','\x72\x4d\x74\x63\x51\x53\x6f\x78\x6b\x76\x5a\x63\x48\x53\x6b\x70','\x63\x4d\x56\x64\x4f\x38\x6f\x77\x57\x50\x30','\x57\x36\x66\x76\x57\x52\x70\x64\x4b\x6d\x6b\x61\x67\x6d\x6f\x65\x79\x57','\x57\x37\x2f\x63\x52\x6d\x6b\x68','\x57\x52\x30\x33\x6e\x33\x43','\x67\x77\x52\x64\x55\x43\x6f\x69','\x57\x4f\x4a\x63\x4c\x4a\x52\x64\x48\x53\x6b\x78\x73\x53\x6f\x4c','\x64\x67\x4e\x63\x56\x71','\x6c\x71\x4b\x4a\x57\x4f\x65\x46\x62\x38\x6b\x4f\x57\x37\x71','\x73\x38\x6b\x57\x43\x58\x46\x63\x49\x6d\x6f\x46\x6a\x38\x6f\x4f','\x77\x67\x74\x63\x56\x57','\x57\x51\x6e\x6f\x57\x52\x4e\x64\x49\x71','\x57\x36\x50\x69\x57\x4f\x56\x63\x4e\x47\x34\x37\x69\x43\x6f\x6f','\x42\x73\x54\x68\x62\x75\x4b\x45\x6f\x5a\x30','\x72\x33\x37\x64\x55\x6d\x6f\x64\x57\x50\x61\x76\x57\x52\x74\x63\x51\x57','\x69\x47\x4a\x63\x54\x71\x78\x64\x4f\x4a\x2f\x63\x4a\x65\x79','\x71\x38\x6b\x54\x65\x43\x6f\x47\x69\x53\x6b\x39\x69\x4e\x38','\x57\x35\x4b\x2b\x57\x37\x65\x36\x57\x51\x71','\x43\x38\x6f\x58\x57\x52\x6c\x63\x55\x43\x6f\x6e','\x57\x35\x6d\x32\x66\x48\x4e\x63\x53\x61\x31\x4c\x44\x59\x37\x64\x4f\x43\x6f\x72\x57\x51\x2f\x64\x51\x71','\x7a\x38\x6b\x39\x78\x32\x37\x63\x4d\x57','\x6d\x38\x6b\x35\x57\x35\x69\x61','\x65\x63\x4a\x63\x4c\x71','\x6a\x43\x6b\x58\x57\x34\x57\x77\x57\x52\x30','\x7a\x61\x4c\x31\x42\x58\x37\x63\x4c\x57','\x57\x36\x4f\x50\x57\x52\x58\x68\x57\x50\x61','\x63\x67\x33\x64\x51\x43\x6f\x69\x57\x50\x65\x6b\x57\x51\x43','\x57\x51\x58\x65\x57\x4f\x52\x64\x4d\x57\x38\x36\x44\x43\x6f\x45','\x57\x52\x35\x70\x63\x61\x72\x2b\x57\x37\x33\x64\x50\x30\x75','\x45\x38\x6f\x77\x57\x37\x64\x64\x49\x61','\x79\x38\x6f\x54\x57\x52\x68\x63\x54\x53\x6f\x34\x57\x50\x4e\x64\x55\x38\x6b\x39','\x57\x50\x42\x63\x50\x6d\x6b\x57\x57\x52\x30','\x57\x35\x76\x34\x57\x52\x68\x63\x50\x6d\x6b\x64','\x57\x51\x58\x45\x67\x71','\x57\x52\x33\x64\x55\x53\x6f\x67\x45\x6d\x6b\x34\x57\x35\x50\x67\x77\x43\x6f\x71\x45\x58\x68\x63\x4d\x4e\x53','\x57\x51\x76\x6c\x41\x71','\x57\x35\x61\x73\x72\x38\x6b\x62\x57\x50\x79','\x57\x36\x64\x63\x53\x43\x6b\x30\x67\x53\x6f\x62','\x70\x53\x6b\x35\x66\x78\x68\x63\x55\x43\x6b\x34\x72\x53\x6f\x6e','\x57\x37\x72\x69\x57\x50\x48\x55\x73\x32\x42\x63\x52\x67\x43','\x57\x51\x58\x69\x57\x50\x74\x64\x4d\x57','\x57\x36\x50\x41\x57\x37\x4e\x63\x56\x57','\x79\x72\x39\x44\x79\x71\x74\x63\x4c\x4d\x52\x63\x52\x57','\x57\x51\x74\x63\x53\x68\x44\x6e\x6c\x47','\x57\x4f\x52\x63\x49\x5a\x33\x64\x49\x57','\x76\x31\x52\x63\x4c\x4a\x5a\x64\x4c\x65\x57\x67\x6a\x47','\x6d\x38\x6b\x35\x6f\x53\x6f\x58\x62\x61','\x41\x38\x6b\x4c\x71\x57','\x77\x65\x52\x63\x49\x49\x4a\x64\x4a\x31\x79','\x73\x38\x6b\x6e\x45\x75\x64\x63\x50\x63\x56\x64\x4e\x6d\x6b\x4e','\x76\x38\x6f\x2f\x57\x34\x53','\x57\x35\x5a\x63\x52\x38\x6b\x38\x57\x52\x61\x50\x44\x53\x6f\x61\x61\x71','\x57\x36\x64\x63\x52\x6d\x6b\x44\x6a\x38\x6f\x38\x57\x4f\x6d','\x57\x36\x53\x2b\x7a\x38\x6b\x32\x57\x4f\x79','\x45\x4e\x4e\x63\x50\x71\x70\x64\x53\x4e\x4f','\x65\x73\x74\x63\x4c\x74\x74\x64\x4c\x58\x53','\x57\x37\x5a\x64\x4f\x38\x6b\x4a','\x57\x36\x68\x63\x51\x6d\x6b\x68\x6a\x43\x6f\x36\x57\x4f\x69\x78\x72\x47','\x57\x34\x39\x32\x42\x67\x6d\x41','\x57\x36\x79\x76\x57\x50\x48\x67\x57\x52\x33\x63\x51\x67\x6d','\x42\x71\x6a\x56\x45\x47\x70\x63\x4d\x4d\x30','\x79\x38\x6b\x30\x78\x77\x64\x63\x4c\x72\x42\x64\x55\x6d\x6b\x70','\x68\x53\x6b\x79\x57\x34\x72\x72\x6a\x6d\x6b\x57\x57\x34\x6d\x63','\x42\x65\x6d\x6b\x42\x47','\x6e\x4e\x64\x63\x4e\x77\x4e\x63\x50\x4a\x37\x64\x52\x43\x6f\x62','\x57\x52\x42\x63\x47\x68\x4e\x64\x55\x43\x6f\x46\x57\x50\x75\x76\x57\x36\x69','\x72\x4d\x37\x63\x4f\x38\x6f\x7a\x70\x4c\x75','\x70\x6d\x6b\x66\x6c\x43\x6f\x76\x63\x38\x6b\x79\x68\x76\x34','\x78\x75\x70\x63\x47\x77\x2f\x64\x4c\x4b\x54\x76\x6e\x61','\x57\x37\x6a\x41\x77\x68\x71\x6e\x57\x37\x64\x64\x55\x65\x57','\x57\x37\x78\x64\x4f\x53\x6b\x47\x44\x53\x6b\x4e\x57\x52\x61\x44\x79\x47','\x71\x4d\x79\x68\x7a\x6d\x6f\x30','\x57\x36\x33\x63\x55\x38\x6b\x71\x6b\x6d\x6f\x48\x57\x50\x30\x74','\x7a\x43\x6b\x34\x72\x68\x70\x63\x4b\x57','\x43\x57\x56\x63\x4c\x61\x43\x63\x74\x71','\x41\x43\x6b\x34\x64\x78\x70\x63\x4c\x57\x37\x64\x54\x6d\x6b\x70','\x7a\x30\x52\x63\x4d\x43\x6f\x37\x67\x68\x74\x63\x51\x38\x6b\x63','\x43\x53\x6b\x42\x57\x36\x7a\x48\x62\x47','\x45\x57\x62\x59\x41\x57\x38','\x79\x58\x62\x4b\x62\x4b\x34','\x46\x53\x6f\x47\x57\x36\x75','\x69\x6d\x6b\x33\x62\x71','\x46\x6d\x6f\x48\x57\x51\x56\x63\x55\x6d\x6f\x36\x57\x50\x71','\x57\x37\x2f\x64\x50\x6d\x6b\x52\x45\x47','\x57\x34\x53\x64\x57\x37\x79\x4c\x57\x52\x39\x46\x68\x43\x6b\x4a','\x57\x52\x34\x4d\x6b\x33\x46\x64\x55\x76\x74\x63\x4b\x57\x79','\x57\x50\x78\x63\x50\x43\x6b\x56\x57\x52\x69\x50\x46\x53\x6f\x77\x72\x61','\x65\x63\x64\x63\x49\x57','\x57\x50\x64\x64\x55\x62\x46\x64\x4d\x53\x6f\x4f\x77\x77\x79\x72\x57\x52\x78\x64\x49\x43\x6b\x74\x57\x50\x58\x66','\x57\x50\x71\x57\x57\x50\x48\x71\x41\x62\x37\x63\x4f\x6d\x6f\x48','\x57\x34\x47\x6a\x57\x37\x65','\x42\x67\x75\x53\x57\x36\x47\x34\x57\x35\x79\x30\x62\x71','\x57\x35\x69\x46\x57\x35\x79\x54\x57\x51\x31\x74\x6f\x38\x6b\x4a','\x57\x35\x76\x34\x57\x52\x46\x63\x56\x57','\x66\x67\x4a\x63\x4f\x6d\x6b\x63','\x57\x52\x54\x6b\x44\x66\x2f\x64\x48\x48\x4b','\x57\x4f\x39\x4b\x76\x30\x74\x64\x53\x4c\x75\x30\x41\x61','\x43\x59\x6e\x52\x57\x36\x6d\x55\x57\x34\x6e\x34\x6a\x57','\x57\x35\x42\x63\x52\x65\x42\x63\x49\x38\x6b\x31','\x6a\x64\x4c\x5a\x64\x30\x38\x45\x6f\x74\x30','\x6a\x59\x50\x67\x67\x57','\x74\x6d\x6b\x79\x57\x35\x39\x78\x6a\x43\x6b\x47','\x57\x35\x7a\x54\x57\x51\x6c\x63\x50\x43\x6b\x73','\x78\x78\x53\x63\x6e\x53\x6f\x48\x6c\x32\x68\x63\x4c\x47','\x57\x36\x54\x76\x73\x4b\x79\x76\x57\x37\x4a\x64\x52\x48\x47','\x45\x76\x4f\x42\x7a\x71','\x70\x53\x6b\x5a\x68\x64\x42\x63\x52\x6d\x6b\x4b','\x79\x65\x6c\x63\x47\x47\x68\x64\x4c\x57','\x69\x59\x34\x76','\x73\x53\x6b\x6c\x57\x35\x31\x71\x61\x71','\x74\x6d\x6b\x73\x57\x34\x34','\x57\x52\x34\x57\x70\x57','\x67\x43\x6b\x4d\x44\x72\x2f\x63\x4c\x38\x6f\x45','\x72\x48\x44\x70\x63\x65\x79','\x45\x4b\x34\x72\x41\x43\x6f\x6d','\x43\x38\x6f\x58\x57\x52\x46\x63\x52\x6d\x6f\x48\x57\x4f\x37\x63\x49\x38\x6b\x31','\x43\x4b\x6d\x74\x79\x57','\x79\x74\x62\x6a\x66\x4c\x52\x63\x52\x6d\x6f\x6d','\x57\x51\x47\x33\x61\x53\x6b\x33\x71\x71','\x57\x50\x6d\x33\x57\x52\x54\x45\x79\x57\x75','\x6d\x53\x6b\x31\x57\x34\x4f','\x71\x78\x6d\x73\x46\x47','\x57\x51\x44\x44\x46\x30\x37\x64\x4d\x58\x72\x55','\x65\x67\x64\x63\x56\x71','\x57\x4f\x78\x63\x47\x74\x46\x64\x49\x43\x6b\x6b\x76\x61','\x57\x4f\x31\x5a\x72\x4c\x70\x64\x52\x66\x30\x4c','\x43\x63\x50\x41\x6b\x30\x52\x64\x53\x30\x6c\x63\x4e\x61','\x57\x37\x78\x64\x51\x6d\x6b\x50\x45\x6d\x6b\x57\x57\x52\x4b','\x63\x43\x6b\x2f\x64\x6d\x6f\x54\x41\x53\x6b\x37\x6a\x4a\x4f','\x57\x34\x38\x6c\x57\x34\x46\x63\x4d\x6d\x6b\x4b\x70\x38\x6f\x35\x57\x36\x46\x64\x4b\x71','\x73\x33\x4e\x63\x52\x53\x6f\x77\x69\x30\x56\x63\x4a\x38\x6b\x68','\x57\x37\x70\x64\x54\x65\x72\x38\x77\x63\x6d\x69\x68\x61','\x57\x50\x52\x64\x4a\x78\x4e\x64\x4a\x6d\x6b\x6c\x73\x6d\x6b\x47\x6e\x71','\x6b\x74\x39\x66\x63\x4b\x47\x75\x6c\x63\x57','\x57\x50\x6a\x4b\x75\x76\x6c\x64\x50\x71','\x69\x63\x54\x6e','\x57\x51\x7a\x65\x57\x50\x42\x64\x4d\x72\x75\x4d','\x6c\x64\x48\x77\x64\x4b\x47\x62\x6b\x62\x65','\x57\x34\x57\x64\x41\x53\x6f\x30\x57\x51\x4f\x4d\x61\x6d\x6f\x6d','\x41\x53\x6b\x50\x71\x32\x6c\x63\x47\x47\x4f','\x62\x66\x6c\x63\x56\x66\x37\x63\x48\x58\x4a\x64\x4e\x53\x6f\x59','\x57\x4f\x74\x63\x48\x73\x33\x64\x49\x38\x6b\x6d\x76\x43\x6f\x48\x6f\x47','\x76\x38\x6f\x32\x57\x35\x42\x64\x52\x63\x6d','\x57\x51\x37\x63\x50\x49\x52\x64\x55\x38\x6b\x67','\x62\x63\x72\x64\x62\x30\x30\x45\x6b\x72\x75','\x62\x63\x50\x45\x6a\x6d\x6b\x34\x41\x33\x42\x63\x4b\x67\x78\x63\x49\x63\x79\x34\x57\x50\x79','\x67\x4c\x42\x63\x56\x61','\x67\x38\x6b\x79\x6a\x62\x64\x63\x4c\x6d\x6b\x66\x69\x47','\x57\x4f\x4a\x63\x49\x68\x4b','\x57\x4f\x50\x78\x57\x4f\x5a\x63\x47\x71','\x7a\x58\x50\x2b\x45\x47\x42\x63\x4e\x4d\x34','\x57\x52\x64\x63\x55\x78\x54\x6e\x6c\x48\x38','\x57\x50\x76\x44\x57\x50\x64\x63\x4b\x53\x6b\x48\x61\x47','\x57\x36\x72\x75\x57\x51\x6c\x64\x4d\x6d\x6b\x70\x65\x6d\x6f\x6d\x61\x47','\x67\x5a\x37\x64\x55\x6d\x6b\x6f\x46\x77\x52\x63\x4d\x43\x6b\x39\x57\x37\x4f\x57\x57\x51\x75','\x7a\x6d\x6f\x48\x57\x51\x6c\x63\x55\x53\x6f\x38','\x62\x38\x6b\x4d\x45\x62\x46\x63\x4b\x43\x6f\x73','\x57\x37\x46\x63\x47\x68\x56\x64\x56\x38\x6f\x72\x57\x4f\x7a\x71','\x57\x35\x50\x4a\x44\x77\x79\x6d','\x57\x50\x39\x79\x6c\x38\x6f\x31\x57\x52\x61\x47\x72\x6d\x6b\x68','\x6a\x43\x6b\x4c\x57\x34\x30\x6e','\x57\x51\x39\x41\x68\x57\x76\x59','\x57\x50\x39\x72\x57\x50\x6c\x63\x4b\x61','\x71\x4d\x69\x6b\x46\x38\x6f\x30','\x57\x34\x74\x63\x54\x65\x52\x63\x4d\x53\x6b\x35\x63\x64\x30\x36','\x57\x51\x54\x6d\x57\x37\x37\x63\x51\x53\x6b\x6e\x43\x71','\x6d\x47\x2f\x63\x4b\x57\x4b\x66\x74\x33\x4a\x63\x4b\x61','\x57\x4f\x35\x51\x72\x65\x4a\x64\x4f\x31\x30\x35\x72\x71','\x79\x63\x7a\x6d\x44\x47','\x66\x67\x74\x63\x4f\x6d\x6b\x61\x57\x36\x79\x64','\x45\x53\x6f\x33\x57\x51\x52\x63\x53\x43\x6b\x55\x57\x50\x70\x63\x51\x43\x6f\x30','\x57\x50\x4e\x63\x48\x73\x56\x64\x4e\x43\x6b\x42','\x43\x64\x58\x6f','\x57\x35\x44\x6c\x6f\x71','\x43\x32\x38\x53\x57\x36\x57\x2b\x57\x35\x4b\x53','\x57\x36\x48\x75\x57\x51\x64\x64\x49\x38\x6b\x6b\x68\x6d\x6f\x42','\x57\x35\x35\x79\x6b\x43\x6f\x2b\x57\x52\x79\x4b\x72\x71','\x42\x65\x6d\x41\x76\x43\x6f\x6b\x57\x37\x78\x64\x56\x71\x75','\x6d\x38\x6b\x38\x62\x4c\x44\x61\x65\x6d\x6f\x55\x64\x57','\x57\x52\x4c\x6f\x57\x4f\x52\x64\x49\x47','\x44\x6d\x6b\x50\x74\x4d\x52\x63\x48\x61\x79','\x57\x50\x33\x63\x4e\x75\x50\x48\x66\x64\x69\x52\x69\x61','\x57\x52\x68\x63\x49\x53\x6b\x62\x57\x4f\x57\x77\x76\x53\x6f\x30\x69\x71','\x57\x35\x34\x68\x77\x53\x6b\x73\x57\x4f\x65\x4e\x43\x43\x6b\x53','\x42\x30\x43\x6b','\x57\x36\x35\x76\x57\x52\x64\x64\x4e\x61','\x57\x34\x2f\x63\x52\x30\x42\x63\x48\x47','\x57\x35\x4c\x43\x57\x50\x56\x63\x4c\x53\x6b\x35\x63\x38\x6f\x63\x57\x37\x4f','\x57\x35\x47\x7a\x57\x37\x43\x2f\x57\x51\x72\x65\x69\x53\x6b\x53','\x6e\x38\x6b\x52\x73\x71','\x6e\x73\x6d\x2b\x57\x37\x47\x55','\x77\x75\x37\x63\x4b\x63\x52\x64\x49\x76\x44\x68\x6c\x61','\x57\x35\x34\x68\x78\x47','\x64\x33\x42\x64\x50\x53\x6f\x66\x57\x50\x79\x44\x57\x51\x2f\x63\x51\x57','\x57\x36\x6c\x63\x52\x33\x31\x66\x6d\x72\x34\x74\x65\x71','\x57\x37\x6a\x69\x57\x50\x50\x55\x74\x4d\x68\x63\x55\x32\x43','\x62\x38\x6b\x53\x43\x72\x4e\x63\x48\x53\x6f\x42\x6a\x43\x6f\x44','\x57\x4f\x42\x63\x47\x58\x5a\x64\x4e\x6d\x6b\x6d\x75\x38\x6f\x59','\x57\x36\x6e\x6a\x78\x30\x38\x71\x57\x36\x46\x64\x52\x57','\x57\x34\x72\x36\x57\x52\x46\x63\x56\x53\x6b\x71\x57\x36\x79','\x79\x71\x4c\x35\x6d\x78\x65','\x69\x67\x75\x54\x57\x36\x43\x4f\x57\x35\x69\x53\x7a\x61','\x57\x35\x43\x74\x78\x53\x6b\x42\x57\x50\x4f\x54\x43\x43\x6b\x30','\x57\x34\x65\x63\x78\x71','\x57\x52\x62\x56\x57\x37\x68\x63\x55\x43\x6b\x51','\x57\x4f\x6e\x33\x71\x65\x4e\x64\x51\x75\x4f\x57','\x57\x4f\x4a\x63\x4e\x4a\x64\x64\x50\x38\x6b\x4b','\x65\x53\x6b\x50\x57\x4f\x42\x64\x4f\x4a\x44\x62\x57\x51\x71\x7a\x46\x57','\x46\x68\x38\x61\x76\x48\x79\x47\x70\x49\x54\x6b\x57\x50\x74\x63\x51\x57','\x57\x34\x57\x6c\x57\x34\x42\x63\x4e\x53\x6b\x68\x6b\x43\x6f\x61\x57\x34\x2f\x64\x52\x57','\x7a\x6d\x6f\x4c\x57\x36\x71\x48\x57\x51\x52\x64\x4d\x53\x6b\x57\x57\x34\x75','\x57\x4f\x71\x47\x6e\x6d\x6f\x59','\x57\x35\x7a\x52\x57\x52\x58\x6c\x71\x71','\x57\x51\x4c\x76\x57\x50\x68\x64\x49\x61\x71','\x57\x36\x4a\x64\x51\x76\x31\x56\x43\x74\x47\x45\x75\x57','\x67\x33\x78\x63\x50\x38\x6b\x72\x57\x37\x43','\x57\x50\x34\x32\x57\x51\x58\x6b\x41\x71\x78\x64\x54\x6d\x6f\x49','\x63\x68\x74\x63\x56\x43\x6b\x70','\x57\x52\x71\x4f\x70\x4d\x64\x64\x54\x4b\x68\x63\x48\x47','\x57\x52\x50\x6f\x42\x4c\x33\x64\x47\x62\x48\x34\x57\x50\x65','\x64\x73\x64\x63\x49\x73\x64\x64\x48\x47','\x6a\x67\x65\x44\x46\x62\x33\x63\x53\x62\x78\x63\x52\x38\x6b\x43\x57\x37\x68\x63\x48\x38\x6f\x41\x57\x37\x4b','\x46\x71\x64\x63\x48\x62\x57\x66\x76\x32\x37\x63\x4b\x61','\x57\x52\x31\x65\x43\x77\x6c\x64\x49\x68\x75\x64\x71\x71','\x57\x35\x33\x64\x4b\x67\x4e\x63\x4d\x43\x6f\x6d\x73\x53\x6f\x70\x61\x6d\x6f\x57\x57\x35\x4f\x6a','\x6c\x63\x6a\x45\x67\x30\x33\x63\x51\x6d\x6f\x6d\x43\x47','\x57\x36\x78\x63\x48\x4e\x4e\x64\x50\x43\x6f\x6d','\x57\x35\x79\x6e\x57\x37\x65\x50\x57\x52\x4c\x46\x65\x38\x6b\x48','\x57\x37\x43\x67\x57\x4f\x4c\x44\x57\x52\x65','\x61\x38\x6b\x49\x7a\x71','\x67\x73\x44\x74\x6b\x65\x30','\x6f\x43\x6b\x5a\x66\x59\x68\x63\x49\x53\x6b\x50\x62\x43\x6f\x6f','\x57\x50\x64\x63\x52\x53\x6b\x33\x57\x52\x71\x58\x46\x57','\x57\x37\x46\x63\x4b\x77\x5a\x64\x56\x53\x6f\x6f\x57\x50\x75','\x64\x6d\x6b\x4d\x79\x47','\x6c\x4a\x39\x68\x66\x75\x34\x66\x42\x74\x34','\x57\x50\x66\x58\x71\x4c\x70\x64\x54\x61','\x57\x34\x6a\x4d\x74\x65\x2f\x64\x54\x66\x30\x38\x41\x47','\x75\x6d\x6b\x32\x79\x4d\x68\x63\x48\x71','\x57\x4f\x30\x32\x57\x51\x31\x72','\x57\x50\x48\x6e\x73\x31\x2f\x64\x4e\x71','\x69\x43\x6b\x49\x65\x59\x70\x63\x52\x61','\x57\x50\x66\x31\x74\x30\x4a\x64\x54\x61','\x57\x37\x69\x74\x57\x50\x30\x77','\x57\x52\x76\x73\x57\x4f\x66\x2f','\x45\x5a\x79\x6b','\x6d\x38\x6b\x38\x57\x35\x65\x6b\x57\x51\x4f','\x57\x37\x30\x59\x57\x51\x48\x75\x57\x51\x34','\x42\x59\x6a\x79\x68\x76\x46\x63\x51\x6d\x6f\x42\x45\x57','\x61\x53\x6b\x2b\x61\x6d\x6f\x52\x69\x38\x6b\x49\x6d\x71','\x42\x67\x38\x4c\x57\x36\x79\x56\x57\x35\x38','\x43\x38\x6b\x43\x57\x34\x48\x44\x6a\x43\x6b\x54\x57\x35\x66\x6f','\x57\x52\x68\x63\x51\x68\x4c\x71\x6b\x61','\x57\x51\x66\x6a\x57\x37\x4e\x63\x51\x53\x6b\x61\x43\x43\x6f\x47\x77\x47','\x76\x74\x71\x39\x6a\x49\x72\x75\x57\x35\x37\x64\x54\x61','\x67\x64\x57\x32','\x57\x37\x2f\x63\x52\x6d\x6b\x75\x6c\x43\x6f\x54\x57\x4f\x75\x63\x63\x47','\x78\x6d\x6f\x71\x57\x37\x4a\x64\x52\x74\x65','\x57\x35\x47\x55\x57\x52\x76\x36\x57\x50\x68\x63\x4d\x75\x6e\x6a','\x74\x59\x56\x63\x4f\x6d\x6f\x46\x70\x4c\x4a\x63\x4d\x6d\x6b\x4e','\x45\x74\x44\x65\x6b\x76\x33\x64\x52\x57','\x57\x50\x66\x58\x75\x75\x4a\x64\x52\x4c\x53\x38\x79\x47','\x62\x49\x4b\x56\x44\x64\x38','\x70\x53\x6f\x57\x57\x51\x4a\x63\x52\x57','\x6d\x57\x64\x63\x49\x47\x30','\x57\x34\x58\x45\x6b\x38\x6f\x4b\x57\x51\x53','\x57\x51\x64\x63\x53\x63\x33\x64\x54\x6d\x6b\x32','\x57\x50\x30\x56\x6a\x43\x6b\x36','\x57\x52\x6a\x62\x46\x47','\x57\x37\x37\x63\x52\x6d\x6b\x71\x6c\x38\x6f\x36\x57\x4f\x38','\x69\x73\x76\x73\x64\x30\x69\x77\x69\x72\x4b','\x7a\x5a\x44\x6a\x69\x76\x56\x64\x4f\x57','\x57\x50\x6d\x70\x71\x6d\x6b\x62\x57\x50\x69\x49\x45\x43\x6b\x4b','\x76\x74\x57\x38\x7a\x73\x6e\x69\x57\x35\x5a\x64\x4f\x47','\x57\x52\x68\x63\x52\x68\x72\x6c\x6b\x61','\x69\x48\x6c\x63\x56\x48\x74\x64\x52\x4a\x42\x63\x49\x31\x79','\x69\x66\x33\x63\x56\x4c\x52\x63\x4d\x72\x4a\x64\x4d\x38\x6f\x74','\x44\x43\x6b\x35\x57\x34\x31\x66\x57\x52\x68\x64\x55\x43\x6b\x59\x57\x36\x4f','\x41\x77\x71\x55\x57\x51\x65','\x42\x66\x43\x6e\x42\x47','\x70\x65\x6d\x6d\x7a\x43\x6f\x77\x57\x37\x33\x64\x55\x72\x71','\x67\x4d\x56\x64\x55\x6d\x6f\x6a\x57\x50\x79\x42\x57\x51\x56\x63\x51\x61','\x41\x47\x65\x50\x57\x34\x69\x43','\x78\x78\x53\x69\x43\x57','\x62\x31\x6c\x63\x50\x76\x34','\x57\x51\x76\x6b\x45\x76\x46\x64\x47\x62\x75','\x57\x37\x6a\x6f\x74\x30\x38','\x57\x4f\x65\x48\x6e\x53\x6b\x37\x71\x6d\x6f\x38\x41\x38\x6f\x61','\x57\x37\x52\x63\x4c\x33\x42\x64\x53\x6d\x6f\x6d\x57\x50\x47','\x57\x51\x53\x2f\x6c\x33\x4f','\x77\x30\x68\x63\x4b\x63\x52\x64\x4c\x75\x4f','\x57\x37\x48\x6a\x57\x4f\x48\x51','\x72\x38\x6f\x55\x57\x35\x42\x64\x55\x73\x6d','\x6b\x61\x47\x4f\x57\x34\x79\x64\x62\x47','\x57\x51\x56\x63\x53\x68\x30\x63\x6e\x71\x48\x44\x63\x57','\x63\x4d\x78\x63\x56\x71','\x72\x32\x6c\x63\x4f\x57','\x57\x4f\x2f\x63\x56\x38\x6b\x34\x57\x51\x65\x58','\x57\x52\x7a\x78\x63\x66\x7a\x36\x57\x36\x4e\x64\x55\x68\x61','\x57\x36\x52\x64\x4f\x53\x6b\x31\x41\x57','\x57\x35\x6d\x57\x45\x77\x78\x64\x53\x4e\x65\x48\x73\x47','\x57\x34\x58\x76\x57\x51\x64\x64\x52\x6d\x6b\x71','\x57\x50\x48\x4a\x57\x52\x6e\x79\x43\x48\x6c\x63\x50\x53\x6f\x54','\x57\x51\x44\x41\x57\x37\x33\x63\x55\x43\x6b\x6c','\x57\x51\x76\x43\x57\x37\x46\x63\x50\x38\x6b\x68\x43\x38\x6f\x67','\x57\x52\x69\x36\x70\x4a\x6c\x64\x53\x4b\x4e\x63\x48\x72\x79','\x65\x5a\x71\x49\x79\x57','\x57\x34\x47\x6c\x57\x34\x4e\x64\x48\x38\x6f\x48\x78\x43\x6b\x63\x57\x34\x4a\x64\x47\x59\x54\x67\x76\x48\x47','\x57\x51\x6a\x69\x78\x30\x38\x43\x57\x37\x5a\x64\x51\x57','\x57\x4f\x30\x49\x57\x51\x58\x6b\x79\x57','\x68\x62\x70\x63\x48\x61\x61\x66\x76\x32\x37\x64\x4f\x47','\x65\x47\x54\x4e\x6a\x77\x4b\x2b\x67\x58\x30','\x57\x37\x7a\x74\x74\x57','\x57\x51\x58\x41\x74\x4b\x71\x72\x57\x37\x4a\x64\x56\x66\x30','\x57\x52\x69\x70\x61\x38\x6b\x72\x41\x38\x6f\x75\x75\x43\x6f\x65','\x57\x50\x47\x54\x57\x52\x4f','\x75\x68\x65\x73\x46\x38\x6f\x32\x70\x47','\x63\x53\x6b\x2f\x69\x53\x6f\x58\x6f\x6d\x6b\x31\x6c\x71','\x64\x74\x74\x63\x49\x64\x53','\x72\x4d\x31\x36\x6d\x71\x62\x50\x57\x34\x68\x64\x51\x6d\x6b\x42\x57\x52\x61','\x77\x67\x37\x63\x52\x53\x6f\x72\x6f\x66\x4b','\x57\x52\x48\x6b\x57\x50\x33\x63\x4e\x43\x6b\x38\x68\x6d\x6f\x76\x57\x34\x57','\x57\x34\x4c\x32\x57\x51\x74\x63\x56\x53\x6b\x66\x57\x36\x6a\x4f\x45\x61','\x65\x6d\x6b\x55\x57\x4f\x2f\x63\x55\x68\x72\x49\x57\x51\x69\x33\x46\x53\x6f\x4e\x76\x61','\x76\x74\x38\x37\x43\x4d\x54\x68\x57\x34\x78\x64\x53\x47','\x57\x4f\x31\x35\x57\x50\x56\x63\x47\x38\x6b\x72','\x57\x52\x6c\x63\x51\x77\x54\x6b','\x6f\x38\x6b\x58\x57\x35\x6d\x61','\x57\x50\x6d\x49\x57\x52\x6e\x43','\x66\x77\x4a\x63\x4f\x61','\x57\x4f\x31\x37\x57\x52\x78\x64\x56\x72\x61','\x57\x51\x54\x43\x57\x36\x33\x64\x52\x38\x6b\x6d\x41\x53\x6f\x77\x77\x57','\x77\x75\x42\x63\x49\x47','\x57\x51\x50\x69\x57\x37\x4a\x63\x50\x53\x6b\x6e\x43\x43\x6f\x4d\x72\x57','\x57\x50\x66\x53\x77\x75\x71','\x57\x37\x6c\x64\x4f\x4c\x38','\x65\x63\x64\x63\x56\x5a\x43\x2f\x79\x65\x33\x64\x54\x71','\x57\x34\x48\x34\x57\x52\x46\x63\x53\x53\x6b\x75\x57\x36\x50\x4c\x76\x71','\x57\x37\x68\x64\x50\x4b\x39\x44\x41\x74\x61\x69\x62\x57','\x74\x43\x6b\x79\x57\x34\x47','\x57\x34\x71\x70\x77\x53\x6b\x46\x57\x35\x6d\x51\x45\x43\x6b\x4d','\x6e\x58\x4b\x4e\x57\x35\x6d\x64','\x57\x37\x65\x44\x57\x51\x5a\x63\x50\x6d\x6b\x38\x72\x53\x6f\x74\x7a\x43\x6f\x49','\x57\x52\x4e\x64\x52\x38\x6b\x59\x41\x38\x6f\x4b\x57\x52\x43\x45\x76\x47','\x57\x52\x7a\x46\x76\x31\x79','\x57\x50\x54\x56\x57\x34\x42\x63\x4a\x6d\x6b\x4d\x74\x6d\x6f\x31\x43\x61','\x71\x76\x6c\x63\x50\x6d\x6f\x65\x67\x61','\x72\x65\x37\x63\x4c\x4a\x5a\x64\x4e\x47','\x6b\x53\x6f\x56\x61\x66\x43\x77\x68\x53\x6f\x57\x72\x47','\x57\x36\x2f\x63\x56\x6d\x6b\x62\x6d\x38\x6f\x4e\x57\x50\x4b\x4d\x73\x57','\x57\x36\x78\x63\x4e\x4e\x68\x64\x54\x6d\x6f\x44','\x57\x51\x58\x70\x64\x61\x72\x4a','\x6d\x73\x46\x63\x4f\x71\x52\x64\x53\x47','\x64\x66\x33\x63\x52\x61','\x66\x66\x5a\x63\x48\x59\x46\x64\x4e\x4c\x6e\x68','\x57\x35\x38\x64\x71\x6d\x6b\x71\x57\x4f\x43\x4d','\x57\x34\x72\x4c\x57\x51\x6e\x62\x7a\x65\x74\x63\x4c\x47\x71','\x61\x63\x4b\x4f\x70\x47','\x57\x37\x74\x64\x52\x6d\x6b\x33','\x68\x6d\x6b\x2b\x57\x34\x47\x65\x57\x52\x74\x64\x56\x53\x6b\x47\x57\x34\x79','\x45\x43\x6f\x51\x57\x52\x70\x63\x56\x53\x6f\x49\x57\x50\x78\x63\x56\x38\x6f\x30','\x57\x34\x61\x73\x74\x38\x6b\x66\x57\x4f\x43','\x57\x52\x44\x6c\x57\x36\x61','\x6b\x49\x7a\x70\x64\x4d\x33\x63\x50\x6d\x6f\x6f\x43\x71','\x44\x53\x6b\x35\x78\x4d\x30','\x6b\x61\x39\x30\x7a\x48\x37\x63\x4e\x4e\x46\x63\x50\x61','\x57\x50\x65\x4d\x57\x52\x62\x45\x43\x48\x38','\x70\x65\x61\x42\x6a\x53\x6f\x46\x57\x52\x74\x64\x56\x58\x34','\x57\x37\x34\x4e\x45\x53\x6b\x59\x57\x51\x65\x68\x75\x43\x6b\x6d','\x57\x37\x66\x43\x70\x38\x6f\x61\x57\x4f\x43','\x57\x35\x62\x54\x57\x52\x58\x4f\x75\x71','\x66\x53\x6b\x56\x57\x4f\x4a\x63\x55\x78\x7a\x32\x57\x4f\x71\x6d\x76\x38\x6f\x56\x71\x57','\x65\x47\x6e\x37\x6d\x4d\x71\x57\x63\x61\x4f','\x62\x68\x37\x64\x56\x53\x6f\x66\x57\x4f\x4f\x76\x57\x51\x70\x63\x4f\x47','\x57\x37\x35\x6f\x57\x51\x42\x64\x4b\x6d\x6b\x6e\x68\x53\x6f\x62\x72\x61','\x69\x4d\x78\x63\x51\x31\x52\x63\x55\x47','\x57\x37\x53\x58\x70\x78\x74\x64\x51\x75\x78\x63\x47\x4b\x69','\x57\x4f\x30\x49\x57\x51\x50\x72','\x57\x36\x70\x63\x48\x4e\x37\x63\x52\x57','\x6c\x48\x78\x63\x48\x48\x4f\x79','\x57\x4f\x31\x71\x57\x4f\x30','\x63\x53\x6f\x6d\x57\x4f\x71\x6a\x7a\x53\x6f\x58\x57\x4f\x7a\x78\x57\x35\x4a\x63\x56\x31\x75\x57\x43\x47','\x6b\x61\x71\x4f\x57\x34\x71','\x57\x4f\x46\x63\x4d\x66\x50\x6b\x64\x61','\x57\x52\x38\x6a\x66\x77\x4a\x64\x53\x61','\x57\x35\x33\x64\x48\x43\x6b\x69\x44\x38\x6b\x48','\x57\x35\x64\x63\x54\x65\x4e\x64\x4b\x61','\x57\x51\x39\x6c\x57\x37\x68\x63\x56\x38\x6b\x38\x79\x6d\x6f\x61\x77\x47','\x65\x78\x6d\x69\x6e\x53\x6f\x56\x6f\x73\x56\x63\x4e\x57','\x44\x43\x6b\x4a\x57\x35\x30\x6e\x57\x52\x33\x64\x55\x53\x6b\x4c','\x57\x4f\x31\x44\x57\x50\x4e\x63\x4b\x6d\x6b\x4e','\x77\x6d\x6b\x75\x57\x35\x62\x44','\x57\x35\x57\x45\x57\x36\x4f\x35\x57\x52\x53\x77','\x6b\x71\x57\x59\x57\x34\x71\x66\x62\x38\x6b\x36\x57\x36\x57'];_0x2b29=function(){return _0x1fd23f;};return _0x2b29();}function durableReplace(_0x484204,_0x16c74d,_0x568d20){const _0x16f805=_0x3b2faa;let _0x5e4f5e=null;try{_0x5e4f5e=openSync(_0x484204,'\x77',0x25ae+0x2083+-0x44b1),writeSync(_0x5e4f5e,_0x568d20,undefined,_0x16f805(0x1d8,'\x52\x44\x68\x4c')),fsyncSync(_0x5e4f5e),closeSync(_0x5e4f5e),_0x5e4f5e=null,renameSync(_0x484204,_0x16c74d);}catch(_0x303287){if(_0x16f805(0x33e,'\x69\x26\x54\x52')===_0x16f805(0x2c5,'\x48\x53\x4b\x2a')){if(_0x5e4f5e!==null)closeSync(_0x5e4f5e);rmSync(_0x484204,{'\x66\x6f\x72\x63\x65':!![]});throw _0x303287;}else return _0x5a3bc3[_0x16f805(0x1f6,'\x23\x68\x6e\x24')]===-0x961+-0x21dc+-0x2b3d*-0x1?'':_0x51210b[_0x16f805(0x250,'\x31\x48\x57\x6a')](_0x1e9a22=>_0x1e9a22[_0x16f805(0x24a,'\x52\x44\x68\x4c')])[_0x16f805(0x218,'\x4e\x52\x21\x57')]('\x0a')+'\x0a';}}function fsyncDirectoryBestEffort(_0x319ae8){let _0x474203=null;try{_0x474203=openSync(_0x319ae8,'\x72'),fsyncSync(_0x474203);}catch{}finally{if(_0x474203!==null)closeSync(_0x474203);}}function normalizeKeepRecords(_0x860880){const _0x391c57=_0x3b2faa;if(_0x860880===undefined)return MATERIAL_ARCHIVE_DEFAULT_KEEP_RECORDS;if(!Number[_0x391c57(0x252,'\x64\x76\x72\x64')](_0x860880)||_0x860880<-0x1cbd+0x4*-0x37e+0x2ab6)throw new RangeError(_0x391c57(0x1d3,'\x34\x35\x53\x6d')+'\x72\x64\x73\x20\x6d\x75\x73\x74'+_0x391c57(0x1b2,'\x37\x4a\x66\x6a')+_0x391c57(0x217,'\x51\x21\x61\x51')+_0x391c57(0x270,'\x64\x76\x72\x64'));return Math[_0x391c57(0x224,'\x21\x68\x49\x25')](_0x860880);}function normalizeRangeStart(_0x377887){const _0x232ea2=_0x3b2faa;if(!Number[_0x232ea2(0x223,'\x79\x31\x6b\x32')](_0x377887)||_0x377887<-0x1a3e+-0x1f11+-0x11*-0x35f)return 0x2*0x85d+-0x1176+0xbc;return Math[_0x232ea2(0x26b,'\x37\x4a\x66\x6a')](_0x377887);}function normalizeRangeCount(_0x457dc8){const _0x3192b0=_0x3b2faa;if(!Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x457dc8))return Number[_0x3192b0(0x349,'\x4b\x40\x4e\x58')+_0x3192b0(0x2fb,'\x44\x45\x6d\x62')];if(_0x457dc8<=0xd5+0x1762*0x1+0x1837*-0x1)return-0x241f+0x4*-0x8d7+-0x277*-0x1d;return Math['\x66\x6c\x6f\x6f\x72'](_0x457dc8);}
|