footprintjs 9.36.0 → 9.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +7 -7
- package/dist/advanced.js +2 -2
- package/dist/esm/advanced.d.ts +2 -2
- package/dist/esm/advanced.js +2 -2
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/lib/builder/FlowChartBuilder.d.ts +46 -34
- package/dist/esm/lib/builder/FlowChartBuilder.js +328 -381
- package/dist/esm/lib/engine/graph/prefixNodeTree.d.ts +26 -0
- package/dist/esm/lib/engine/graph/prefixNodeTree.js +40 -0
- package/dist/esm/lib/engine/handlers/ParallelForEachHandler.d.ts +1 -1
- package/dist/esm/lib/engine/handlers/ParallelForEachHandler.js +3 -3
- package/dist/esm/lib/engine/handlers/ResumeEntry.js +11 -2
- package/dist/esm/lib/engine/handlers/StageRunner.js +17 -3
- package/dist/esm/lib/engine/index.d.ts +1 -1
- package/dist/esm/lib/engine/index.js +1 -1
- package/dist/esm/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +1 -1
- package/dist/esm/lib/engine/narrative/types.d.ts +25 -1
- package/dist/esm/lib/engine/narrative/types.js +1 -1
- package/dist/esm/lib/engine/traversal/FlowchartTraverser.d.ts +13 -31
- package/dist/esm/lib/engine/traversal/FlowchartTraverser.js +68 -86
- package/dist/esm/lib/engine/traversalContext.d.ts +65 -0
- package/dist/esm/lib/engine/traversalContext.js +83 -0
- package/dist/esm/lib/engine/walkSubflowSpec.js +3 -2
- package/dist/esm/lib/ids/branchSegment.js +119 -0
- package/dist/esm/lib/ids/runtimeStageId.d.ts +191 -0
- package/dist/esm/lib/ids/runtimeStageId.js +225 -0
- package/dist/esm/lib/memory/commitLogUtils.js +1 -1
- package/dist/esm/lib/memory/logModel.js +1 -1
- package/dist/esm/lib/memory/verbs.d.ts +2 -1
- package/dist/esm/lib/memory/verbs.js +1 -1
- package/dist/esm/lib/pause/index.d.ts +1 -1
- package/dist/esm/lib/pause/index.js +1 -1
- package/dist/esm/lib/pause/types.d.ts +48 -1
- package/dist/esm/lib/pause/types.js +52 -3
- package/dist/esm/lib/recorder/InOutRecorder.js +3 -2
- package/dist/esm/lib/recorder/hooks.d.ts +1 -1
- package/dist/esm/lib/recorder/hooks.js +1 -1
- package/dist/esm/lib/runner/DeferredObserverTier.js +3 -3
- package/dist/esm/lib/runner/FlowChartExecutor.js +33 -9
- package/dist/esm/lib/runner/getSubtreeSnapshot.js +6 -5
- package/dist/esm/lib/scope/ScopeFacade.d.ts +1 -1
- package/dist/esm/lib/scope/ScopeFacade.js +7 -10
- package/dist/esm/lib/scope/types.d.ts +2 -0
- package/dist/esm/lib/scope/types.js +1 -1
- package/dist/esm/lib/time-travel/chain.js +2 -2
- package/dist/esm/lib/time-travel/commitStops.js +4 -4
- package/dist/esm/lib/time-travel/index.d.ts +1 -1
- package/dist/esm/lib/time-travel/index.js +2 -2
- package/dist/esm/lib/time-travel/timeTravel.js +8 -9
- package/dist/esm/lib/time-travel/types.d.ts +1 -1
- package/dist/esm/lib/time-travel/types.js +2 -2
- package/dist/esm/trace.d.ts +3 -3
- package/dist/esm/trace.js +3 -3
- package/dist/index.js +1 -1
- package/dist/lib/builder/FlowChartBuilder.js +328 -381
- package/dist/lib/engine/graph/prefixNodeTree.js +44 -0
- package/dist/lib/engine/handlers/ParallelForEachHandler.js +3 -3
- package/dist/lib/engine/handlers/ResumeEntry.js +10 -1
- package/dist/lib/engine/handlers/StageRunner.js +17 -3
- package/dist/lib/engine/index.js +1 -1
- package/dist/lib/engine/narrative/types.js +1 -1
- package/dist/lib/engine/traversal/FlowchartTraverser.js +68 -86
- package/dist/lib/engine/traversalContext.js +89 -0
- package/dist/lib/engine/walkSubflowSpec.js +3 -2
- package/dist/lib/ids/branchSegment.js +127 -0
- package/dist/lib/ids/runtimeStageId.js +242 -0
- package/dist/lib/memory/commitLogUtils.js +1 -1
- package/dist/lib/memory/logModel.js +1 -1
- package/dist/lib/memory/verbs.js +1 -1
- package/dist/lib/pause/index.js +1 -1
- package/dist/lib/pause/types.js +54 -4
- package/dist/lib/recorder/InOutRecorder.js +3 -2
- package/dist/lib/recorder/hooks.js +1 -1
- package/dist/lib/runner/DeferredObserverTier.js +3 -3
- package/dist/lib/runner/FlowChartExecutor.js +32 -8
- package/dist/lib/runner/getSubtreeSnapshot.js +6 -5
- package/dist/lib/scope/ScopeFacade.js +7 -10
- package/dist/lib/scope/types.js +1 -1
- package/dist/lib/time-travel/chain.js +2 -2
- package/dist/lib/time-travel/commitStops.js +4 -4
- package/dist/lib/time-travel/index.js +2 -2
- package/dist/lib/time-travel/timeTravel.js +8 -9
- package/dist/lib/time-travel/types.js +2 -2
- package/dist/trace.js +3 -3
- package/dist/types/advanced.d.ts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/lib/builder/FlowChartBuilder.d.ts +46 -34
- package/dist/types/lib/engine/graph/prefixNodeTree.d.ts +26 -0
- package/dist/types/lib/engine/handlers/ParallelForEachHandler.d.ts +1 -1
- package/dist/types/lib/engine/index.d.ts +1 -1
- package/dist/types/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +1 -1
- package/dist/types/lib/engine/narrative/types.d.ts +25 -1
- package/dist/types/lib/engine/traversal/FlowchartTraverser.d.ts +13 -31
- package/dist/types/lib/engine/traversalContext.d.ts +65 -0
- package/dist/types/lib/ids/runtimeStageId.d.ts +191 -0
- package/dist/types/lib/memory/verbs.d.ts +2 -1
- package/dist/types/lib/pause/index.d.ts +1 -1
- package/dist/types/lib/pause/types.d.ts +48 -1
- package/dist/types/lib/recorder/hooks.d.ts +1 -1
- package/dist/types/lib/scope/ScopeFacade.d.ts +1 -1
- package/dist/types/lib/scope/types.d.ts +2 -0
- package/dist/types/lib/time-travel/index.d.ts +1 -1
- package/dist/types/lib/time-travel/types.d.ts +1 -1
- package/dist/types/trace.d.ts +3 -3
- package/package.json +1 -1
- package/dist/esm/lib/engine/branchSegment.js +0 -119
- package/dist/esm/lib/engine/runtimeStageId.d.ts +0 -103
- package/dist/esm/lib/engine/runtimeStageId.js +0 -119
- package/dist/lib/engine/branchSegment.js +0 -127
- package/dist/lib/engine/runtimeStageId.js +0 -126
- package/dist/types/lib/engine/runtimeStageId.d.ts +0 -103
- /package/dist/esm/lib/{engine → ids}/branchSegment.d.ts +0 -0
- /package/dist/types/lib/{engine → ids}/branchSegment.d.ts +0 -0
package/CLAUDE.md
CHANGED
|
@@ -19,7 +19,7 @@ Entry points: `footprintjs` (public API) · `/recorders` (factories) · `/trace`
|
|
|
19
19
|
| slice/ | variable-first backward slicing (triage query layer): sliceForKey (anchor at last writer → causalChain) + arrayProvenance/elementProvenance (append-fold element births — the agent mega-key fix) + KeysReadSource strategies. Pure post-hoc queries; imports memory/ ONLY (see src/lib/slice/README.md) |
|
|
20
20
|
| time-travel/ | the READER'S cursor over a finished trace (9.17.0): `timeTravel()` stops/moves/marks/`drill()`, `stateAt()` fold + honesty basis, `TimeTravelStrategy<TMeta>` seam (one shipped: `commitStops`). 9.18.0 composer's side: axis.ts (`splitAxis` = the ONE guard of the `[start,…stages,end]` contract; `filterStops` = filter + re-partition + `Stop.meta` vocabulary + `Stop.prologue` on an absorbing start — a FLAG, deliberately not a 5th StopKind), bundles.ts (per-bundle narrowing of `unknown[]` rows → index-holding GAPS in `FoldedState.skipped`), chain.ts (`timeTravel([paused, resumed])`: commit indices stay RUN-LOCAL + `Stop.sourceIdx`; refused unless execution indices are monotonic across legs and no id repeats). Read-time only — never a second live cursor. Imports memory/ + `engine/runtimeStageId` (see src/lib/time-travel/README.md) |
|
|
21
21
|
| pause/ | PauseSignal / FlowchartCheckpoint types + `interrupt(scope, payload)` (throws InterruptSignal; converted to PauseSignal at the StageRunner boundary, `pausedBy:'interrupt'`) |
|
|
22
|
-
| engine/ | FlowchartTraverser + handlers/; narrative/ = the whole FlowRecorder channel (dispatcher + 9 strategies), not just text; branchSegment.ts = the ONE owner of the generated-segment grammar (`<stageId>~<index>`, marker `~` RESERVED); `executeStage` (:720) = the ONE funnel every stage fn passes through — and therefore the ONE owner of the declarative `retry` loop; `handlers/ResumeEntry.ts` = the ONE owner of a resume's ONE-SHOT re-entry (M2, 9.28.0: start + one hop per subflow on the pause path, each level's dispatcher continuation read from the chart, waiting sibling pauses queued at their fan-out) |
|
|
22
|
+
| engine/ | FlowchartTraverser + handlers/; narrative/ = the whole FlowRecorder channel (dispatcher + 9 strategies), not just text; `lib/ids/branchSegment.ts` (moved to the `ids/` leaf in 9.37.0) = the ONE owner of the generated-segment grammar (`<stageId>~<index>`, marker `~` RESERVED); `executeStage` (:720) = the ONE funnel every stage fn passes through — and therefore the ONE owner of the declarative `retry` loop; `handlers/ResumeEntry.ts` = the ONE owner of a resume's ONE-SHOT re-entry (M2, 9.28.0: start + one hop per subflow on the pause path, each level's dispatcher continuation read from the chart, waiting sibling pauses queued at their fan-out) |
|
|
23
23
|
| runner/ | FlowChartExecutor wiring (runtime, recorders, pause/resume, snapshot, DeferredObserverTier). RunContext.ts is a fluent run builder, NOT the threaded per-run context |
|
|
24
24
|
| observer-queue/ | pure deferred-delivery pipeline (engine imports IT, never reverse) |
|
|
25
25
|
| contract/, detach/ | I/O schema + OpenAPI; fire-and-forget child charts (drivers passed explicitly) |
|
|
@@ -36,27 +36,27 @@ Entry points: `footprintjs` (public API) · `/recorders` (factories) · `/trace`
|
|
|
36
36
|
|
|
37
37
|
**Retry (9.15.0):** `StageNode.retry` is a POLICY on a stage, not a kind — no new node type, no `computeNodeType` edit. The loop lives in `FlowchartTraverser.executeStage` (:720), so linear/streaming/pausable/decider/selector/fork-child/subflow-inner all get it from one implementation. A failed non-final attempt calls `StageContext.discardStaged()` (buffer + stateView + _stageWrites/_stageReads + _provenanceReads + _untrackedSources); the final attempt is today's law untouched. PauseSignal and abort are NEVER retried. One runtimeStageId + one CommitBundle per stage regardless of attempts; retries do not consume `maxIterations`.
|
|
38
38
|
|
|
39
|
-
**Declared tags (9.21.0):** `StageNode.tags?: readonly string[]` is a NAME on a stage, declared at build time — POLICY-like (the retry precedent): no node type, no `computeNodeType` edit, no type-union site, and
|
|
39
|
+
**Declared tags (9.21.0):** `StageNode.tags?: readonly string[]` is a NAME on a stage, declared at build time — POLICY-like (the retry precedent): no node type, no `computeNodeType` edit, no type-union site, and the one prefixer (`engine/graph/prefixNodeTree.ts`, 9.37.0) spreads `{ ...node }` so it rides subflow prefixing untouched. ONE landing site `FlowChartBuilder.ts · applyTags` (twin of `applyRetryPolicy`) serves the `.tag(...names)` cursor modifier and every `options.tags` site; refuses empty/non-string/`~`/duplicate/double-declare at build. Stamp: `FlowchartTraverser.executeNodeStep` sets `context.tags = node.tags` beside `runtimeStageId` (unconditionally — a re-used context must not keep a prior node's names); `StageContext.commit` spreads `tagsFragment()` beside `untrackedSourcesFragment()` on BOTH commit paths and RELEASES it, so a double-commit path (fork child fan-out repeat, mount exit) records it once — absent when empty (`CommitBundle.tags?`; pinned byte-identical to 9.20.0 by test/lib/engine/scenario/declared-tags-byte-identity.test.ts). NOT inherited by createNext/createChild; the one synthetic node that could lose it is `FlowChartExecutor.resume`'s stand-in for the paused stage — built by `FlowChartExecutor · standInFor` from the paused node ITSELF (fn swapped), so it keeps the tags on both re-entries; it runs ONCE — a later visit of the paused id runs the chart's real node, which carries its own tags. The spec carries `tags` as-is (Map advertises the vocabulary; `RuntimeStructureManager.stageNodeToStructure` copies it for run-time-resolved nodes). Reader: `time-travel/tagStops.ts` = `filterStops(commitStops(...), any-of over log[stop.commitIdx].tags, meta = the array)`, exported from `/trace`. Never a runtime `$tag()` — a value would ride past every redaction point. Design: docs/design/2026-09-declared-tags.md.
|
|
40
40
|
|
|
41
41
|
**Event order (code-verified; older docs had 3/4 swapped):** onStageStart → onRead/onWrite (live, PRE-commit) → **onStageEnd (StageRunner.ts:81) → onCommit (StageContext.ts:587)** → FlowRecorder onDecision/onFork/onSelected/onSubflowEntry → onStageExecuted (uniform, with stageType). Error path: commit STILL happens (FlowchartTraverser.ts:1088) before onError+rethrow — a failing stage's writes land. `interrupt()` rides the ERROR path's shape, not the pausable one: the stage function threw, so onStageEnd does NOT fire (the `addPausableFunction` pause DOES fire it — there the function returned normally).
|
|
42
42
|
|
|
43
43
|
## Extension points
|
|
44
44
|
- **New stage kind**: boolean flag on `StageNode` (engine/graph/StageNode.ts:39 — kinds are flags, not an enum) + builder method on FlowChartBuilder (pattern: addPausableFunction :1264; fire structure events endpoint-before-edge) + phase in the hard-coded chain `executeNodeStep` (FlowchartTraverser.ts:801 — no handler registry; new handler class takes HandlerDeps, engine/types.ts:344, instantiated in traverser ctor :402-413). Must also edit 5 type-union sites: engine/types.ts:477, builder/types.ts:50, builder/types.ts:104, engine/types.ts:427, and computeNodeType's flag→type mapping (RuntimeStructureManager.ts:19-21 — the only one the compiler won't flag; miss it and the new kind silently serializes as 'stage'). Zero-engine alternative: pure sugar over addFunction (pattern: addDetachAndForget :1343). WORKED EXAMPLE (9.14.0 addParallelForEach): flag `isDynamicParallel` + ParallelForEachHandler + Phase 0b (BEFORE Phase 1 VALIDATE — the node has no fn/children/decider by design); it added NO new node type — the spec carries a BOOLEAN and computeNodeType returns 'fork' (precedent: isPausable/isLazy/isStreaming are flags on a 'stage'), which is the cheaper choice whenever the new kind is a variant of an existing shape.
|
|
45
45
|
- **Decider/selector**: addDeciderFunction :1433 → DeciderList (:53); addSelectorFunction :1478 → SelectorFnList (:428); runtime match on `child.branchId ?? child.id` (DeciderHandler.ts:133). Evidence via decide()/select() (decide/decide.ts:169/218). `decide()`'s 3rd param is `DefaultBranch = string | { branch, label? }` (9.16.0) — the default is chosen by NO rule, so `rules[].label` can never name it; the object form puts that label on `DecisionEvidence.defaultLabel`, spread into BOTH evidence exits (matched AND fallthrough) so a harvest doesn't gain/lose the meaning with the data. Bare string ⇒ key absent, byte-identical to pre-9.16. `select()` has no default and is deliberately untouched.
|
|
46
|
-
- **Recorder**: channels = ScopeRecorder (scope/types.ts:137), FlowRecorder (engine/narrative/types.ts:425), EmitRecorder (recorder/EmitRecorder.ts:121 — attachEmitRecorder just delegates to the scope channel), CombinedRecorder (recorder/CombinedRecorder.ts:98, routed by method-shape), StructureRecorder (builder/structure/StructureRecorder.ts:347, build-time; its
|
|
46
|
+
- **Recorder**: channels = ScopeRecorder (scope/types.ts:137), FlowRecorder (engine/narrative/types.ts:425), EmitRecorder (recorder/EmitRecorder.ts:121 — attachEmitRecorder just delegates to the scope channel), CombinedRecorder (recorder/CombinedRecorder.ts:98, routed by method-shape), StructureRecorder (builder/structure/StructureRecorder.ts:347, build-time; its hooks are NOT in `HOOKS` (build-time, not a run channel) — the `StructureRecorderDispatcher` fires each by name, so a new structure hook = interface + `fire*` + the builder's `_fire*` helper; 9.24.0 `onStageTagged` is the worked example: names that land AFTER `onStageAdded` through the `.tag()` door go out as their own event, `StructureStageAddedEvent.tags` carries the ones that landed before). Attach via executor.attach*Recorder — idempotent by id. **One registry since 9.36.0 (F6): `recorder/hooks.ts · HOOKS`** — every hook declared once (channels, payload, executor-made); `hooksOn(channel)` drives channel routing and the deferred tier's taps, `CompositeRecorder`'s fan-out is generated from `HOOK_NAMES`, and one `fire` isolates every recorder error (scope → `onError`, flow → dev warning; R10: a throwing `onResume` no longer rejects `resume()`). A hook on an interface but not in `HOOKS` does not compile (`test/architecture/hook-registry-compile.test.ts`). Detection accepts class-prototype methods (blocks only Object.prototype — CombinedRecorder.ts:266). New built-in = compose a store as a field (no base classes) + factory in src/recorders.ts. `toSnapshot()` bundles are REBUILT field by field into `RecorderSnapshot` (FlowChartExecutor.ts:1698 — so a recorder can't spoof its own `id`); anything not on that copy list is dropped silently — the free-form slot is `meta` (facts about the bundle: which projection, what it omits — what a consumer BRANCHES on; prose goes in `description`). A new bundle field means editing the copy list AND the three `toSnapshot?()` signature sites (scope/types.ts:159, engine/narrative/types.ts:462, recorder/CombinedRecorder.ts:121).
|
|
47
47
|
- **Scope $-method (4-file checklist)**: ScopeFacade capability + ReactiveTarget (reactive/types.ts:20); ScopeMethods type (:74); METHOD_ROUTES (createTypedScope.ts:46); SCOPE_METHOD_NAMES (reactive/types.ts:262) — miss #4 and the name becomes a state key.
|
|
48
48
|
- **Contract**: builder.contract() (:1056) → makeRunnable toOpenAPI/toMCPTool (runner/RunnableChart.ts:83/153). BYO schema is duck-typed (schema/detect.ts:24).
|
|
49
49
|
- **Scope provider**: ProviderResolver (scope/providers/types.ts:35) via registerScopeResolver (registry.ts:15; exported from /advanced). Simpler: custom scopeFactory (engine/types.ts:73).
|
|
50
50
|
- **Detach driver**: DetachDriver (detach/types.ts:186); no registry — passed explicitly.
|
|
51
51
|
- **Observability dial** (pattern): capture/ primitive + FlowChartExecutorOptions option + snapshot discriminant — FOUR dials now: readTracking/writeTracking/commitValues/writeProvenance (#P1: `'reads-prefix'` stamps `TraceEntry.readKeys` = keys tracked-read before each write; consumed by causalChain `edgeAttribution: 'per-write'` and sliceForKey's default). Propagation is the same 6-site pattern for all four.
|
|
52
|
-
- **Worked example of a new FLOW hook (9.15.0 `onStageRetry`)**: `FlowStageRetryEvent` + `FlowRecorder.onStageRetry?` + `IControlFlowNarrative.onStageRetry` (engine/narrative/types.ts) → `FlowRecorderDispatcher` impl → `NullControlFlowNarrativeGenerator` no-op (interface is REQUIRED there) →
|
|
52
|
+
- **Worked example of a new FLOW hook (9.15.0 `onStageRetry`)**: `FlowStageRetryEvent` + `FlowRecorder.onStageRetry?` + `IControlFlowNarrative.onStageRetry` (engine/narrative/types.ts) → `FlowRecorderDispatcher` impl → `NullControlFlowNarrativeGenerator` no-op (interface is REQUIRED there) → **its `HOOKS` entry (recorder/hooks.ts)** → `NarrativeFlowRecorder` sentence (the 8 strategies extend it, so they inherit free) → `CombinedNarrativeRecorder` + `CombinedNarrativeEntry.type` + `NarrativeFormatter.renderRetry` → barrels (the composite fan-out is generated). Retry is the only flow event that fires DURING a stage, so the narrative BUFFERS it via `bufferOp` (the `onEmit` precedent) — pushing it straight to the store would place the line before its own stage header.
|
|
53
53
|
- **Closed seams that look open**: ExecutionEnv (fixed type); decide() operators (evaluator.ts:19 module-private); METHOD_ROUTES; the executeNodeStep phase chain; emit dispatcher (rides scope channel).
|
|
54
54
|
|
|
55
55
|
## Change-impact map
|
|
56
56
|
- **Trace verbs** (`set|merge|append|delete`, memory/types.ts:42) → ONE law, `memory/verbs.ts` (L1) — F2 deleted the three replicas. `applyVerb` is the ONLY function with an arm per verb (a fifth verb in the union stops compiling there; `TRAITS` — `isTotal` / `recordsTail` — says what a verb IS, pinned against the step), `placeVerb` puts its value or removes the key (`ABSENT`), and two loops fold it: `foldRows` folds ONE bundle's rows into a state with the clone DISCIPLINE as a parameter (`'private'` = the PUBLIC `applySmartMerge`, which keeps its 9.28.0 contract: base deep-cloned, fully detached result — 9.29.0; `'pathCopy'` = the engine's `nextGeneration` — live commit + redacted mirror — and the folds' `applySmartMergeInto` — `stateAt`, `EventLog.materialise`; `'byReference'` = `dryFold`, the admitted record's comparison fold — 9.30.0), and `foldKey` folds ONE path's rows across a log — `commitLogUtils · commitValueAt` (anchored at the last total row) and `slice/elementProvenance · arrayProvenance` (an OBSERVER of that fold: it keeps the births and has no verb switch); causalChain/findLastWriter only match paths. A bundle's merge delta is detached ONCE per bundle (`RecordedPayload`): `deepSmartMerge` dedups an array union BY REFERENCE, so the merge rows of one bundle must see the same objects (a per-row clone made `commitValueAt` double the elements — the 9.29.0 reader bug, fixed here); `foldKey` narrows that copy to its one path. **An unknown verb is REFUSED** (`UnknownVerbError`, public on `/trace`; R2) by `foldRows` (so `applySmartMerge`), `commitValueAt`, `arrayProvenance` — they used to fold it as a `merge`; `time-travel/bundles · bundleRefusal` asks the same `isVerb` and makes it a GAP instead. Pinned: the three old replicas live on as the CONTROL in test/lib/memory/property/verb-law-differential.property.test.ts (kept for the packet's lifetime). The delta encoder keeps VOCABULARY only since 9.30.0 (it picks a verb; its values come from `dryFold` of the stage's 'full' rows — `TransactionBuffer · fullRowsValue`; `replayPathVerbs`/`replayFamilyVerbs` deleted). NOT a second loop (9.22.1): `verbs.ts · supersededByNextSet` — the ONE repeated-path skip (CONSECUTIVE same-path `set` rows: only the last is applied), asked by `foldRows` before its step; its commit-side twin is the last-materialised-path memo in `toChangeOnlyPayload`. Rows are never dropped from the log; a non-consecutive skip is WRONG (a descendant op in between coerces/shells the container) — pinned by test/lib/memory/scenario/repeated-path-byte-identity.test.ts. Since 9.23.0 the clone in that memo loop (and every `structuredClone` in `toDeltaPayload`) is THE clone — the patch trees hold references until commit; no verb switch was touched.
|
|
57
|
-
- **StageContext.commit / dials** → ONE owner since 9.35.0 (F5): `memory/runPolicy.ts` — a frozen `RunPolicy` (the four dials + the `RedactionRule` + the mirror flag) built ONCE by `FlowChartExecutor · createTraverser` (run AND resume), handed to `ExecutionRuntime`, held BY REFERENCE by every `StageContext` (`inheritRun` in createNext/createChild) and passed by `SubflowExecutor · executeSubflow` to the nested runtime BEFORE the seed. A fifth dial = the policy type + its consumer. The old `use*`/`get
|
|
58
|
-
- **runtimeStageId format** (`#`/`/` delimiters) →
|
|
59
|
-
- **Subflow id prefixing** →
|
|
57
|
+
- **StageContext.commit / dials** → ONE owner since 9.35.0 (F5): `memory/runPolicy.ts` — a frozen `RunPolicy` (the four dials + the `RedactionRule` + the mirror flag) built ONCE by `FlowChartExecutor · createTraverser` (run AND resume), handed to `ExecutionRuntime`, held BY REFERENCE by every `StageContext` (`inheritRun` in createNext/createChild) and passed by `SubflowExecutor · executeSubflow` to the nested runtime BEFORE the seed. A fifth dial = the policy type + its consumer. The old per-dial `use*`/`get*` and `enableRedactedMirror` were removed in 9.36.0 (no compat shims — owner ruling). `commit()`'s FIRST act (9.23.0) is `materialiseWrites` — the `writeTracking` retained form is taken there, once per key, from `_pendingWrites` (bare references + the write-time verdict); anything that reads `_stageWrites` goes through `retainedWrites()` (a non-consuming fold, so a mid-run snapshot is honest), and `discardStaged` drops the pending map with the rest.
|
|
58
|
+
- **runtimeStageId format** (`#`/`/` delimiters) → ONE grammar owner since 9.37.0 (F7): `src/lib/ids/` (L0 leaf: `runtimeStageId.ts` — `parseRuntimeStageId`, `isExecutionKey`, `stageIdOf`, `subflowPathOf`, `refuseReservedId`; `branchSegment.ts` — the `~` grammar). Every parser (ScopeFacade subflow path, subflowResults dual-keying, checkpoint lean-filter, narrative buffering, store keys) calls it; none re-derives the grammar. R5: every id door (22 at build, plus the run-time dynamic-StageNode door) refuses `#` and `/`; stage ids may contain `~`. `TraversalContext` has ONE constructor (`engine/traversalContext.ts`); `depth` = subflow nesting read off the runtimeStageId on every stamp. Brands `RuntimeStageId`/`ExecutionIndex`/`CommitIdx` on `/trace` (types only).
|
|
59
|
+
- **Subflow id prefixing** → ONE prefixer since 9.37.0: `engine/graph/prefixNodeTree.ts`, used by the builder AND the traverser (eager, lazy and `parallelForEach` mounts — lazy/branch roots were unprefixed before 9.37.0, so branch ids collided); change it + stageMap key composition + resume drilling. test/lib/engine/branch-segment-prefixer-equivalence.test.ts stays as a guard.
|
|
60
60
|
- **Checkpoint shape** → `FlowChartExecutor · buildPauseCheckpoint` ↔ `FlowChartExecutor · resume` (validation) ↔ `checkpointSanitize.ts` ↔ `ResumeEntry.plan` (the path's mounts + captures + dispatcher continuations, the `pendingPauses` queue; refused up front when unwalkable, ambiguous, or a pending record is not a sibling) ↔ `SubflowExecutor · executeSubflow` resume hop (seed from the capture in place of the mapper's values — the mapper still runs, for the args — FIRST entry only) ↔ `ChildrenExecutor · raisePauses` (fills `pendingPauses`). 9.28.0 adds ONE optional field, `pendingPauses` (present only when parallel siblings wait); `continuationStageId` is a record, no longer read. Pinned: a 9.27.0 checkpoint resumes, test/lib/pause/resume-real-chart-9.27.0-checkpoints.test.ts.
|
|
61
61
|
- **Committed-state writers** (copy-on-write, 9.29.0) → anything that writes into `SharedMemory`'s state, a fold's working copy or the buffer's working copy must copy before it writes: `pathOps · ownSpine` for the containers on the path, `ownedRootOf` for the root, `own`/`adopt` for what it created. An in-place edit of a container it did not create edits every generation sharing it — the counted guard stays green while the generations property fails. A new READ path through `TransactionBuffer` goes through `get` (private after the first write) unless it only compares (`peek`); a read the working copy cannot answer is served from LIVE state (`StageContext · readState`, as on 9.28.0) after `TransactionBuffer · detachBase` gives the diff base a private copy at that path — a private copy of the value handed out instead would change live state wherever 9.28.0 let an in-place edit in (a fork child's read of a parent key). `TransactionBuffer · merge` privatises its base first: `deepSmartMerge` dedups arrays BY REFERENCE, so the identity of the base is part of the bytes.
|
|
62
62
|
- **Redaction** (9.19.0) has ONE owner: `memory/redaction.ts` `RedactionRule` (verdict per user-level path: `clear | whole | fields`), installed on the root StageContext by `ExecutionRuntime.useRedaction` and carried on the run's `RunPolicy` with the four dials (F5). `StageContext.stageWrite` is the ONE write funnel (facade writes, subflow seed, outputMapper merge-back, resume re-seed) and `getValue` retention asks the same rule; the facade asks it for recorder payloads; `SubflowExecutor` for the narrated seed (`retainRecord`). The LAW: a policy covers everything retained or served (log both encodings, mirror, stageReads/stageWrites, narrative, subflow seed + merge-back) and NEVER the live heap or the resume checkpoint. `emitPatterns` is the one separate scrub (emit channel). Two placeholders, historical: log/mirror `'REDACTED'`, scope-tier `'[REDACTED]'`.
|
package/dist/advanced.js
CHANGED
|
@@ -105,7 +105,7 @@ Object.defineProperty(exports, "seedSubflowGlobalStore", { enumerable: true, get
|
|
|
105
105
|
Object.defineProperty(exports, "SelectorHandler", { enumerable: true, get: function () { return index_js_17.SelectorHandler; } });
|
|
106
106
|
Object.defineProperty(exports, "StageRunner", { enumerable: true, get: function () { return index_js_17.StageRunner; } });
|
|
107
107
|
Object.defineProperty(exports, "SubflowExecutor", { enumerable: true, get: function () { return index_js_17.SubflowExecutor; } });
|
|
108
|
-
var runtimeStageId_js_1 = require("./lib/
|
|
108
|
+
var runtimeStageId_js_1 = require("./lib/ids/runtimeStageId.js");
|
|
109
109
|
Object.defineProperty(exports, "buildRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.buildRuntimeStageId; } });
|
|
110
110
|
Object.defineProperty(exports, "createExecutionCounter", { enumerable: true, get: function () { return runtimeStageId_js_1.createExecutionCounter; } });
|
|
111
111
|
Object.defineProperty(exports, "parseRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.parseRuntimeStageId; } });
|
|
@@ -125,4 +125,4 @@ Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: functi
|
|
|
125
125
|
var index_js_19 = require("./lib/contract/index.js");
|
|
126
126
|
Object.defineProperty(exports, "normalizeSchema", { enumerable: true, get: function () { return index_js_19.normalizeSchema; } });
|
|
127
127
|
Object.defineProperty(exports, "zodToJsonSchema", { enumerable: true, get: function () { return index_js_19.zodToJsonSchema; } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNIOzs7Ozs7O0dBT0c7Ozs7QUFxQkgsa0RBQXFEO0FBQTVDLHdHQUFBLFlBQVksT0FBQTtBQUNyQixrREFBcUQ7QUFBNUMsd0dBQUEsWUFBWSxPQUFBO0FBQ3JCLGtEQUFpRDtBQUF4QyxvR0FBQSxRQUFRLE9BQUE7QUFDakIsa0RBQTBEO0FBQWpELDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLGtEQUE0RDtBQUFuRCwrR0FBQSxtQkFBbUIsT0FBQTtBQUM1QixrREFBc0Q7QUFBN0MseUdBQUEsYUFBYSxPQUFBO0FBQ3RCLGtEQVcrQjtBQVY3QiwyR0FBQSxlQUFlLE9BQUE7QUFDZiwwR0FBQSxjQUFjLE9BQUE7QUFDZCwwR0FBQSxjQUFjLE9BQUE7QUFDZCxnSEFBQSxvQkFBb0IsT0FBQTtBQUNwQix5R0FBQSxhQUFhLE9BQUE7QUFDYix3R0FBQSxZQUFZLE9BQUE7QUFDWix1R0FBQSxXQUFXLE9BQUE7QUFDWCwwR0FBQSxjQUFjLE9BQUE7QUFDZCw2R0FBQSxpQkFBaUIsT0FBQTtBQUNqQix1R0FBQSxXQUFXLE9BQUE7QUF1QmIsbURBQXNHO0FBQTdGLDBHQUFBLGNBQWMsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUFFLDBHQUFBLGNBQWMsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUNyRSxxRUFBMEU7QUFBakUsNEhBQUEsdUJBQXVCLE9BQUE7QUFhaEMsaURBQTZGO0FBQXBGLDhHQUFBLGtCQUFrQixPQUFBO0FBQUUsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBRSx1R0FBQSxXQUFXLE9BQUE7QUFDOUQsa0RBVThCO0FBVDVCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGNBQWMsT0FBQTtBQXlCaEIsbURBQXlEO0FBQWhELDZHQUFBLGdCQUFnQixPQUFBO0FBR3pCLG1EQUFzRTtBQUE3RCwrR0FBQSxrQkFBa0IsT0FBQTtBQUFFLHNHQUFBLFNBQVMsT0FBQTtBQU90QyxxREFVaUM7QUFUL0IseUdBQUEsWUFBWSxPQUFBO0FBQ1osNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIscUdBQUEsUUFBUSxPQUFBO0FBQ1IscUdBQUEsUUFBUSxPQUFBO0FBQ1IsK0dBQUEsa0JBQWtCLE9BQUE7QUFDbEIsZ0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsMEdBQUEsYUFBYSxPQUFBO0FBQ2Isd0dBQUEsV0FBVyxPQUFBO0FBU2IsbURBQTJEO0FBQWxELCtHQUFBLGtCQUFrQixPQUFBO0FBQzNCLG1EQUEwRDtBQUFqRCw4R0FBQSxpQkFBaUIsT0FBQTtBQW1CMUIsbURBQTBFO0FBQWpFLDhIQUFBLGlDQUFpQyxPQUFBO0FBSTFDLG1EQWlCK0I7QUFoQjdCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHlHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFdBQVcsT0FBQTtBQUNYLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGVBQWUsT0FBQTtBQUtqQixvRUFBa0g7QUFBekcsd0hBQUEsbUJBQW1CLE9BQUE7QUFBRSwySEFBQSxzQkFBc0IsT0FBQTtBQUFFLHdIQUFBLG1CQUFtQixPQUFBO0FBQ3pFLG9FQUF5RjtBQUFoRiwrR0FBQSxVQUFVLE9BQUE7QUFBRSxnSEFBQSxXQUFXLE9BQUE7QUFBRSxtSEFBQSxjQUFjLE9BQUE7QUFVaEQsbURBQXVEO0FBQTlDLDJHQUFBLGNBQWMsT0FBQTtBQUV2QiwrRUFBK0U7QUFDL0UsNkRBQTZEO0FBQzdELCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLHVFQUF1RTtBQUN2RSwyRUFBMkU7QUFDM0UscURBQTJFO0FBQWxFLDRHQUFBLGVBQWUsT0FBQTtBQUFFLDRHQUFBLGVBQWUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZm9vdHByaW50anMvYWR2YW5jZWQg4oCUIExvdy1sZXZlbCBpbnRlcm5hbHMgZm9yIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcyBhbmQgdGVzdGluZy5cbiAqXG4gKiBNb3N0IHVzZXJzIG5ldmVyIG5lZWQgdGhpcy4gVXNlIGBmb290cHJpbnRqc2AgKG1haW4pIGluc3RlYWQuXG4gKiBUaGlzIGVudHJ5IHBvaW50IGV4cG9zZXMgYFNoYXJlZE1lbW9yeWAsIGBTdGFnZUNvbnRleHRgLCBgRmxvd2NoYXJ0VHJhdmVyc2VyYCxcbiAqIGFuZCBvdGhlciBwcmltaXRpdmVzIHRoYXQgcG93ZXIgdGhlIGVuZ2luZS5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgU2hhcmVkTWVtb3J5LCBTdGFnZUNvbnRleHQgfSBmcm9tICdmb290cHJpbnRqcy9hZHZhbmNlZCc7XG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIGFkdmFuY2VkXG4gKi9cbi8qKlxuICogRm9vdFByaW50IOKAlCBBZHZhbmNlZCAvIEludGVybmFsIEFQSVxuICpcbiAqIFRoZXNlIGV4cG9ydHMgYXJlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMsIHRlc3RpbmcsIGFuZCBidWlsZGluZ1xuICogY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzLiBNb3N0IHVzZXJzIHNob3VsZCB1c2UgdGhlIG1haW4gJ2Zvb3RwcmludCcgZW50cnkgcG9pbnQuXG4gKlxuICogSW1wb3J0IHZpYTogaW1wb3J0IHsgLi4uIH0gZnJvbSAnZm9vdHByaW50L2FkdmFuY2VkJ1xuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSDigJQgTG93LWxldmVsIHRyYW5zYWN0aW9uYWwgc3RhdGUgcHJpbWl0aXZlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIENvbW1pdEJ1bmRsZSxcbiAgRmxvd0NvbnRyb2xUeXBlLFxuICBGbG93TWVzc2FnZSxcbiAgTWVtb3J5UGF0Y2gsXG4gIFJlYWRTdW1tYXJ5TWFya2VyLFxuICBSZWFkVHJhY2tpbmdNb2RlLFxuICBSZXRlbnRpb25Qb2xpY3ksXG4gIFN0YWdlU25hcHNob3QsXG4gIFRyYWNlRW50cnksXG4gIFVudHJhY2tlZFNvdXJjZSxcbiAgV3JpdGVTdW1tYXJ5TWFya2VyLFxuICBXcml0ZVRyYWNraW5nTW9kZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVkYWN0aW9uVmVyZGljdCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTaGFyZWRNZW1vcnkgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgU3RhZ2VDb250ZXh0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IEV2ZW50TG9nIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVmZmVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERpYWdub3N0aWNDb2xsZWN0b3IgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgUmVkYWN0aW9uUnVsZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseVNtYXJ0TWVyZ2UsXG4gIGRlZXBTbWFydE1lcmdlLFxuICBnZXROZXN0ZWRWYWx1ZSxcbiAgZ2V0UnVuQW5kR2xvYmFsUGF0aHMsXG4gIG5vcm1hbGlzZVBhdGgsXG4gIHBhdGhTZWdtZW50cyxcbiAgcmVkYWN0UGF0Y2gsXG4gIHNldE5lc3RlZFZhbHVlLFxuICB1cGRhdGVOZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlVmFsdWUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJ1aWxkZXIg4oCUIFR5cGVzIGFuZCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBFeGVjT3B0aW9ucyxcbiAgRmxvd0NoYXJ0T3B0aW9ucyxcbiAgRmxvd0NoYXJ0U3BlYyxcbiAgSUxvZ2dlcixcbiAgU2NvcGVQcm90ZWN0aW9uTW9kZSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBTaW1wbGlmaWVkUGFyYWxsZWxTcGVjLFxuICBTdGFnZUZuLFxuICBTdGFnZU5vZGUsXG4gIFN0cmVhbUNhbGxiYWNrLFxuICBTdHJlYW1MaWZlY3ljbGVIYW5kbGVyLFxuICBTdHJlYW1Ub2tlbkhhbmRsZXIsXG4gIFN1YmZsb3dNb3VudE9wdGlvbnMsXG4gIFN1YmZsb3dSZWYsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgQXJyYXlNZXJnZU1vZGUsIERlY2lkZXJMaXN0LCBTZWxlY3RvckZuTGlzdCwgc3BlY1RvU3RhZ2VOb2RlIH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVUeXBlZFNjb3BlRmFjdG9yeSB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY29wZSDigJQgUHJvdmlkZXJzLCBwcm90ZWN0aW9uLCByZWNvcmRlciBvcHRpb25zLCBhbmQgZXZlbnQgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBQcm92aWRlclJlc29sdmVyLFxuICBSZXNvbHZlT3B0aW9ucyxcbiAgU2NvcGVQcm92aWRlcixcbiAgU3RhZ2VDb250ZXh0TGlrZSxcbiAgU3RyaWN0TW9kZSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlRXJyb3JNZXNzYWdlLCBjcmVhdGVQcm90ZWN0ZWRTY29wZSwgU2NvcGVGYWNhZGUgfSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhdHRhY2hTY29wZU1ldGhvZHMsXG4gIGlzU3ViY2xhc3NPZlNjb3BlRmFjYWRlLFxuICBsb29rc0xpa2VDbGFzc0N0b3IsXG4gIGxvb2tzTGlrZUZhY3RvcnksXG4gIG1ha2VDbGFzc1Byb3ZpZGVyLFxuICBtYWtlRmFjdG9yeVByb3ZpZGVyLFxuICByZWdpc3RlclNjb3BlUmVzb2x2ZXIsXG4gIHJlc29sdmVTY29wZVByb3ZpZGVyLFxuICB0b1Njb3BlRmFjdG9yeSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuXG4vLyBTY29wZVJlY29yZGVyIGNvbmZpZy9vcHRpb24gdHlwZXNcbmV4cG9ydCB0eXBlIHtcbiAgQWdncmVnYXRlZE1ldHJpY3MsXG4gIERlYnVnRW50cnksXG4gIERlYnVnUmVjb3JkZXJPcHRpb25zLFxuICBEZWJ1Z1ZlcmJvc2l0eSxcbiAgUmVjb3JkZXJDb250ZXh0LFxuICBTdGFnZUV2ZW50LFxuICBTdGFnZU1ldHJpY3MsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbi8vIGBEZWZpbmVTY29wZU9wdGlvbnNgICh6b2Qgc2NvcGUgb3B0aW9ucykgbW92ZWQgdG8gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vIFpvZCBpbnRlcm5hbHMgbW92ZWQgdG8gdGhlIG9wdC1pbiBgZm9vdHByaW50anMvem9kYCBlbnRyeSAoa2VlcHMgem9kIOKAlCBhblxuLy8gb3B0aW9uYWwgcGVlciDigJQgb3V0IG9mIHRoZSBgZm9vdHByaW50anMvYWR2YW5jZWRgIGxvYWQgcGF0aCkuIEltcG9ydFxuLy8gY3JlYXRlU2NvcGVQcm94eUZyb21ab2QgLyBkZWZpbmVTY29wZVNjaGVtYSAvIGlzU2NvcGVTY2hlbWEgLyBab2RTY29wZVJlc29sdmVyXG4vLyBmcm9tICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSdW5uZXIg4oCUIEludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5leHBvcnQgeyBFeGVjdXRpb25SdW50aW1lIH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbi8qKiBUaGUgcnVuJ3MgcG9saWN5IGFuIGBFeGVjdXRpb25SdW50aW1lYCBpcyBjb25zdHJ1Y3RlZCB3aXRoIChGNSkuICovXG5leHBvcnQgdHlwZSB7IFJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBERUZBVUxUX1JVTl9QT0xJQ1ksIHJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlYWN0aXZlIOKAlCBUeXBlZFNjb3BlIGludGVybmFscyAoZm9yIGN1c3RvbSBwcm94eSBpbXBsZW1lbnRhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUmVhY3RpdmVPcHRpb25zLCBSZWFjdGl2ZVRhcmdldCB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIEJSRUFLX1NFVFRFUixcbiAgYnVpbGROZXN0ZWRQYXRjaCxcbiAgY3JlYXRlQXJyYXlQcm94eSxcbiAgaXNIYW5kbGUsXG4gIGpvaW5QYXRoLFxuICBTQ09QRV9NRVRIT0RfTkFNRVMsXG4gIHNob3VsZFdyYXBXaXRoUHJveHksXG4gIHVud3JhcEhhbmRsZXMsXG4gIHZhbHVlQmVoaW5kLFxufSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuZ2luZSDigJQgREZTIGdyYXBoIHRyYXZlcnNhbCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBUcmF2ZXJzZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRGVjaWRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBGbG93Y2hhcnRUcmF2ZXJzZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgaXNTdGFnZU5vZGVSZXR1cm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBOYXJyYXRpdmUgaW50ZXJuYWxzXG5leHBvcnQgdHlwZSB7IElDb250cm9sRmxvd05hcnJhdGl2ZSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyYW5jaFJlc3VsdCxcbiAgQnJhbmNoUmVzdWx0cyxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIGFzIEVuZ2luZVNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgSGFuZGxlckRlcHMsXG4gIElFeGVjdXRpb25SdW50aW1lLFxuICBOb2RlUmVzdWx0VHlwZSxcbiAgUnVudGltZVN0cnVjdHVyZU1ldGFkYXRhLFxuICBTY29wZUZhY3RvcnksXG4gIFNlcmlhbGl6ZWRQaXBlbGluZU5vZGUsXG4gIFN0YWdlRnVuY3Rpb24sXG4gIFN1YmZsb3dSZXN1bHQsXG4gIFRyYXZlcnNhbFJlc3VsdCxcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IE51bGxDb250cm9sRmxvd05hcnJhdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIEhhbmRsZXJzICh0ZXN0aW5nIC8gY3VzdG9tIGVuZ2luZXMpXG5leHBvcnQgdHlwZSB7IEV4ZWN1dGVOb2RlRm4sIFF1ZXVlZFBhdXNlLCBSZXN1bWVIb3AsIFJ1blN0YWdlRm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlPdXRwdXRNYXBwaW5nLFxuICBDaGlsZHJlbkV4ZWN1dG9yLFxuICBjb21wdXRlTm9kZVR5cGUsXG4gIENvbnRpbnVhdGlvblJlc29sdmVyLFxuICBjcmVhdGVTdWJmbG93SGFuZGxlckRlcHMsXG4gIERlY2lkZXJIYW5kbGVyLFxuICBERUZBVUxUX01BWF9JVEVSQVRJT05TLFxuICBleHRyYWN0UGFyZW50U2NvcGVWYWx1ZXMsXG4gIGdldEluaXRpYWxTY29wZVZhbHVlcyxcbiAgTm9kZVJlc29sdmVyLFxuICBSZXN1bWVFbnRyeSxcbiAgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIsXG4gIHNlZWRTdWJmbG93R2xvYmFsU3RvcmUsXG4gIFNlbGVjdG9ySGFuZGxlcixcbiAgU3RhZ2VSdW5uZXIsXG4gIFN1YmZsb3dFeGVjdXRvcixcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gVHJhY2UgdXRpbGl0aWVzIOKAlCByZS1leHBvcnRlZCBoZXJlIGZvciBjb252ZW5pZW5jZS4gQ2Fub25pY2FsIHBhdGg6ICdmb290cHJpbnRqcy90cmFjZSdcbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvZW5naW5lL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNIOzs7Ozs7O0dBT0c7Ozs7QUFxQkgsa0RBQXFEO0FBQTVDLHdHQUFBLFlBQVksT0FBQTtBQUNyQixrREFBcUQ7QUFBNUMsd0dBQUEsWUFBWSxPQUFBO0FBQ3JCLGtEQUFpRDtBQUF4QyxvR0FBQSxRQUFRLE9BQUE7QUFDakIsa0RBQTBEO0FBQWpELDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLGtEQUE0RDtBQUFuRCwrR0FBQSxtQkFBbUIsT0FBQTtBQUM1QixrREFBc0Q7QUFBN0MseUdBQUEsYUFBYSxPQUFBO0FBQ3RCLGtEQVcrQjtBQVY3QiwyR0FBQSxlQUFlLE9BQUE7QUFDZiwwR0FBQSxjQUFjLE9BQUE7QUFDZCwwR0FBQSxjQUFjLE9BQUE7QUFDZCxnSEFBQSxvQkFBb0IsT0FBQTtBQUNwQix5R0FBQSxhQUFhLE9BQUE7QUFDYix3R0FBQSxZQUFZLE9BQUE7QUFDWix1R0FBQSxXQUFXLE9BQUE7QUFDWCwwR0FBQSxjQUFjLE9BQUE7QUFDZCw2R0FBQSxpQkFBaUIsT0FBQTtBQUNqQix1R0FBQSxXQUFXLE9BQUE7QUF1QmIsbURBQXNHO0FBQTdGLDBHQUFBLGNBQWMsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUFFLDBHQUFBLGNBQWMsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUNyRSxxRUFBMEU7QUFBakUsNEhBQUEsdUJBQXVCLE9BQUE7QUFhaEMsaURBQTZGO0FBQXBGLDhHQUFBLGtCQUFrQixPQUFBO0FBQUUsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBRSx1R0FBQSxXQUFXLE9BQUE7QUFDOUQsa0RBVThCO0FBVDVCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGNBQWMsT0FBQTtBQXlCaEIsbURBQXlEO0FBQWhELDZHQUFBLGdCQUFnQixPQUFBO0FBR3pCLG1EQUFzRTtBQUE3RCwrR0FBQSxrQkFBa0IsT0FBQTtBQUFFLHNHQUFBLFNBQVMsT0FBQTtBQU90QyxxREFVaUM7QUFUL0IseUdBQUEsWUFBWSxPQUFBO0FBQ1osNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIscUdBQUEsUUFBUSxPQUFBO0FBQ1IscUdBQUEsUUFBUSxPQUFBO0FBQ1IsK0dBQUEsa0JBQWtCLE9BQUE7QUFDbEIsZ0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsMEdBQUEsYUFBYSxPQUFBO0FBQ2Isd0dBQUEsV0FBVyxPQUFBO0FBU2IsbURBQTJEO0FBQWxELCtHQUFBLGtCQUFrQixPQUFBO0FBQzNCLG1EQUEwRDtBQUFqRCw4R0FBQSxpQkFBaUIsT0FBQTtBQW1CMUIsbURBQTBFO0FBQWpFLDhIQUFBLGlDQUFpQyxPQUFBO0FBSTFDLG1EQWlCK0I7QUFoQjdCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHlHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFdBQVcsT0FBQTtBQUNYLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGVBQWUsT0FBQTtBQUtqQixpRUFBK0c7QUFBdEcsd0hBQUEsbUJBQW1CLE9BQUE7QUFBRSwySEFBQSxzQkFBc0IsT0FBQTtBQUFFLHdIQUFBLG1CQUFtQixPQUFBO0FBQ3pFLG9FQUF5RjtBQUFoRiwrR0FBQSxVQUFVLE9BQUE7QUFBRSxnSEFBQSxXQUFXLE9BQUE7QUFBRSxtSEFBQSxjQUFjLE9BQUE7QUFVaEQsbURBQXVEO0FBQTlDLDJHQUFBLGNBQWMsT0FBQTtBQUV2QiwrRUFBK0U7QUFDL0UsNkRBQTZEO0FBQzdELCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLHVFQUF1RTtBQUN2RSwyRUFBMkU7QUFDM0UscURBQTJFO0FBQWxFLDRHQUFBLGVBQWUsT0FBQTtBQUFFLDRHQUFBLGVBQWUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZm9vdHByaW50anMvYWR2YW5jZWQg4oCUIExvdy1sZXZlbCBpbnRlcm5hbHMgZm9yIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcyBhbmQgdGVzdGluZy5cbiAqXG4gKiBNb3N0IHVzZXJzIG5ldmVyIG5lZWQgdGhpcy4gVXNlIGBmb290cHJpbnRqc2AgKG1haW4pIGluc3RlYWQuXG4gKiBUaGlzIGVudHJ5IHBvaW50IGV4cG9zZXMgYFNoYXJlZE1lbW9yeWAsIGBTdGFnZUNvbnRleHRgLCBgRmxvd2NoYXJ0VHJhdmVyc2VyYCxcbiAqIGFuZCBvdGhlciBwcmltaXRpdmVzIHRoYXQgcG93ZXIgdGhlIGVuZ2luZS5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgU2hhcmVkTWVtb3J5LCBTdGFnZUNvbnRleHQgfSBmcm9tICdmb290cHJpbnRqcy9hZHZhbmNlZCc7XG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIGFkdmFuY2VkXG4gKi9cbi8qKlxuICogRm9vdFByaW50IOKAlCBBZHZhbmNlZCAvIEludGVybmFsIEFQSVxuICpcbiAqIFRoZXNlIGV4cG9ydHMgYXJlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMsIHRlc3RpbmcsIGFuZCBidWlsZGluZ1xuICogY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzLiBNb3N0IHVzZXJzIHNob3VsZCB1c2UgdGhlIG1haW4gJ2Zvb3RwcmludCcgZW50cnkgcG9pbnQuXG4gKlxuICogSW1wb3J0IHZpYTogaW1wb3J0IHsgLi4uIH0gZnJvbSAnZm9vdHByaW50L2FkdmFuY2VkJ1xuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSDigJQgTG93LWxldmVsIHRyYW5zYWN0aW9uYWwgc3RhdGUgcHJpbWl0aXZlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIENvbW1pdEJ1bmRsZSxcbiAgRmxvd0NvbnRyb2xUeXBlLFxuICBGbG93TWVzc2FnZSxcbiAgTWVtb3J5UGF0Y2gsXG4gIFJlYWRTdW1tYXJ5TWFya2VyLFxuICBSZWFkVHJhY2tpbmdNb2RlLFxuICBSZXRlbnRpb25Qb2xpY3ksXG4gIFN0YWdlU25hcHNob3QsXG4gIFRyYWNlRW50cnksXG4gIFVudHJhY2tlZFNvdXJjZSxcbiAgV3JpdGVTdW1tYXJ5TWFya2VyLFxuICBXcml0ZVRyYWNraW5nTW9kZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVkYWN0aW9uVmVyZGljdCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTaGFyZWRNZW1vcnkgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgU3RhZ2VDb250ZXh0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IEV2ZW50TG9nIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVmZmVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERpYWdub3N0aWNDb2xsZWN0b3IgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgUmVkYWN0aW9uUnVsZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseVNtYXJ0TWVyZ2UsXG4gIGRlZXBTbWFydE1lcmdlLFxuICBnZXROZXN0ZWRWYWx1ZSxcbiAgZ2V0UnVuQW5kR2xvYmFsUGF0aHMsXG4gIG5vcm1hbGlzZVBhdGgsXG4gIHBhdGhTZWdtZW50cyxcbiAgcmVkYWN0UGF0Y2gsXG4gIHNldE5lc3RlZFZhbHVlLFxuICB1cGRhdGVOZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlVmFsdWUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJ1aWxkZXIg4oCUIFR5cGVzIGFuZCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBFeGVjT3B0aW9ucyxcbiAgRmxvd0NoYXJ0T3B0aW9ucyxcbiAgRmxvd0NoYXJ0U3BlYyxcbiAgSUxvZ2dlcixcbiAgU2NvcGVQcm90ZWN0aW9uTW9kZSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBTaW1wbGlmaWVkUGFyYWxsZWxTcGVjLFxuICBTdGFnZUZuLFxuICBTdGFnZU5vZGUsXG4gIFN0cmVhbUNhbGxiYWNrLFxuICBTdHJlYW1MaWZlY3ljbGVIYW5kbGVyLFxuICBTdHJlYW1Ub2tlbkhhbmRsZXIsXG4gIFN1YmZsb3dNb3VudE9wdGlvbnMsXG4gIFN1YmZsb3dSZWYsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgQXJyYXlNZXJnZU1vZGUsIERlY2lkZXJMaXN0LCBTZWxlY3RvckZuTGlzdCwgc3BlY1RvU3RhZ2VOb2RlIH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVUeXBlZFNjb3BlRmFjdG9yeSB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY29wZSDigJQgUHJvdmlkZXJzLCBwcm90ZWN0aW9uLCByZWNvcmRlciBvcHRpb25zLCBhbmQgZXZlbnQgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBQcm92aWRlclJlc29sdmVyLFxuICBSZXNvbHZlT3B0aW9ucyxcbiAgU2NvcGVQcm92aWRlcixcbiAgU3RhZ2VDb250ZXh0TGlrZSxcbiAgU3RyaWN0TW9kZSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlRXJyb3JNZXNzYWdlLCBjcmVhdGVQcm90ZWN0ZWRTY29wZSwgU2NvcGVGYWNhZGUgfSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhdHRhY2hTY29wZU1ldGhvZHMsXG4gIGlzU3ViY2xhc3NPZlNjb3BlRmFjYWRlLFxuICBsb29rc0xpa2VDbGFzc0N0b3IsXG4gIGxvb2tzTGlrZUZhY3RvcnksXG4gIG1ha2VDbGFzc1Byb3ZpZGVyLFxuICBtYWtlRmFjdG9yeVByb3ZpZGVyLFxuICByZWdpc3RlclNjb3BlUmVzb2x2ZXIsXG4gIHJlc29sdmVTY29wZVByb3ZpZGVyLFxuICB0b1Njb3BlRmFjdG9yeSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuXG4vLyBTY29wZVJlY29yZGVyIGNvbmZpZy9vcHRpb24gdHlwZXNcbmV4cG9ydCB0eXBlIHtcbiAgQWdncmVnYXRlZE1ldHJpY3MsXG4gIERlYnVnRW50cnksXG4gIERlYnVnUmVjb3JkZXJPcHRpb25zLFxuICBEZWJ1Z1ZlcmJvc2l0eSxcbiAgUmVjb3JkZXJDb250ZXh0LFxuICBTdGFnZUV2ZW50LFxuICBTdGFnZU1ldHJpY3MsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbi8vIGBEZWZpbmVTY29wZU9wdGlvbnNgICh6b2Qgc2NvcGUgb3B0aW9ucykgbW92ZWQgdG8gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vIFpvZCBpbnRlcm5hbHMgbW92ZWQgdG8gdGhlIG9wdC1pbiBgZm9vdHByaW50anMvem9kYCBlbnRyeSAoa2VlcHMgem9kIOKAlCBhblxuLy8gb3B0aW9uYWwgcGVlciDigJQgb3V0IG9mIHRoZSBgZm9vdHByaW50anMvYWR2YW5jZWRgIGxvYWQgcGF0aCkuIEltcG9ydFxuLy8gY3JlYXRlU2NvcGVQcm94eUZyb21ab2QgLyBkZWZpbmVTY29wZVNjaGVtYSAvIGlzU2NvcGVTY2hlbWEgLyBab2RTY29wZVJlc29sdmVyXG4vLyBmcm9tICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSdW5uZXIg4oCUIEludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5leHBvcnQgeyBFeGVjdXRpb25SdW50aW1lIH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbi8qKiBUaGUgcnVuJ3MgcG9saWN5IGFuIGBFeGVjdXRpb25SdW50aW1lYCBpcyBjb25zdHJ1Y3RlZCB3aXRoIChGNSkuICovXG5leHBvcnQgdHlwZSB7IFJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBERUZBVUxUX1JVTl9QT0xJQ1ksIHJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlYWN0aXZlIOKAlCBUeXBlZFNjb3BlIGludGVybmFscyAoZm9yIGN1c3RvbSBwcm94eSBpbXBsZW1lbnRhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUmVhY3RpdmVPcHRpb25zLCBSZWFjdGl2ZVRhcmdldCB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIEJSRUFLX1NFVFRFUixcbiAgYnVpbGROZXN0ZWRQYXRjaCxcbiAgY3JlYXRlQXJyYXlQcm94eSxcbiAgaXNIYW5kbGUsXG4gIGpvaW5QYXRoLFxuICBTQ09QRV9NRVRIT0RfTkFNRVMsXG4gIHNob3VsZFdyYXBXaXRoUHJveHksXG4gIHVud3JhcEhhbmRsZXMsXG4gIHZhbHVlQmVoaW5kLFxufSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuZ2luZSDigJQgREZTIGdyYXBoIHRyYXZlcnNhbCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBUcmF2ZXJzZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRGVjaWRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBGbG93Y2hhcnRUcmF2ZXJzZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgaXNTdGFnZU5vZGVSZXR1cm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBOYXJyYXRpdmUgaW50ZXJuYWxzXG5leHBvcnQgdHlwZSB7IElDb250cm9sRmxvd05hcnJhdGl2ZSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyYW5jaFJlc3VsdCxcbiAgQnJhbmNoUmVzdWx0cyxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIGFzIEVuZ2luZVNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgSGFuZGxlckRlcHMsXG4gIElFeGVjdXRpb25SdW50aW1lLFxuICBOb2RlUmVzdWx0VHlwZSxcbiAgUnVudGltZVN0cnVjdHVyZU1ldGFkYXRhLFxuICBTY29wZUZhY3RvcnksXG4gIFNlcmlhbGl6ZWRQaXBlbGluZU5vZGUsXG4gIFN0YWdlRnVuY3Rpb24sXG4gIFN1YmZsb3dSZXN1bHQsXG4gIFRyYXZlcnNhbFJlc3VsdCxcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IE51bGxDb250cm9sRmxvd05hcnJhdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIEhhbmRsZXJzICh0ZXN0aW5nIC8gY3VzdG9tIGVuZ2luZXMpXG5leHBvcnQgdHlwZSB7IEV4ZWN1dGVOb2RlRm4sIFF1ZXVlZFBhdXNlLCBSZXN1bWVIb3AsIFJ1blN0YWdlRm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlPdXRwdXRNYXBwaW5nLFxuICBDaGlsZHJlbkV4ZWN1dG9yLFxuICBjb21wdXRlTm9kZVR5cGUsXG4gIENvbnRpbnVhdGlvblJlc29sdmVyLFxuICBjcmVhdGVTdWJmbG93SGFuZGxlckRlcHMsXG4gIERlY2lkZXJIYW5kbGVyLFxuICBERUZBVUxUX01BWF9JVEVSQVRJT05TLFxuICBleHRyYWN0UGFyZW50U2NvcGVWYWx1ZXMsXG4gIGdldEluaXRpYWxTY29wZVZhbHVlcyxcbiAgTm9kZVJlc29sdmVyLFxuICBSZXN1bWVFbnRyeSxcbiAgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIsXG4gIHNlZWRTdWJmbG93R2xvYmFsU3RvcmUsXG4gIFNlbGVjdG9ySGFuZGxlcixcbiAgU3RhZ2VSdW5uZXIsXG4gIFN1YmZsb3dFeGVjdXRvcixcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gVHJhY2UgdXRpbGl0aWVzIOKAlCByZS1leHBvcnRlZCBoZXJlIGZvciBjb252ZW5pZW5jZS4gQ2Fub25pY2FsIHBhdGg6ICdmb290cHJpbnRqcy90cmFjZSdcbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2lkcy9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
|
package/dist/esm/advanced.d.ts
CHANGED
|
@@ -52,8 +52,8 @@ export type { BranchResult, BranchResults, SerializedPipelineStructure as Engine
|
|
|
52
52
|
export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
|
|
53
53
|
export type { ExecuteNodeFn, QueuedPause, ResumeHop, RunStageFn } from './lib/engine/index.js';
|
|
54
54
|
export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
|
|
55
|
-
export type { ExecutionCounter } from './lib/
|
|
56
|
-
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/
|
|
55
|
+
export type { ExecutionCounter } from './lib/ids/runtimeStageId.js';
|
|
56
|
+
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
57
57
|
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
58
58
|
export type { FilterCondition } from './lib/decide/index.js';
|
|
59
59
|
export { evaluateFilter } from './lib/decide/index.js';
|
package/dist/esm/advanced.js
CHANGED
|
@@ -37,7 +37,7 @@ export { FlowchartTraverser } from './lib/engine/index.js';
|
|
|
37
37
|
export { isStageNodeReturn } from './lib/engine/index.js';
|
|
38
38
|
export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
|
|
39
39
|
export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
|
|
40
|
-
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/
|
|
40
|
+
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
41
41
|
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
42
42
|
export { evaluateFilter } from './lib/decide/index.js';
|
|
43
43
|
// ============================================================================
|
|
@@ -48,4 +48,4 @@ export { evaluateFilter } from './lib/decide/index.js';
|
|
|
48
48
|
// importing the runner. Gate inputs with detectSchema (main barrel): a
|
|
49
49
|
// non-Zod 'parseable' schema (yup/superstruct) passes through unconverted.
|
|
50
50
|
export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0g7Ozs7Ozs7R0FPRztBQXFCSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLHVCQUF1QixDQUFDO0FBc0IvQixPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDO0FBd0I5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPdEUsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0seUJBQXlCLENBQUM7QUFRakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFtQjFELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLFdBQVcsRUFDWCxlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFJL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFVekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELCtFQUErRTtBQUMvRSw2REFBNkQ7QUFDN0QsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsdUVBQXVFO0FBQ3ZFLDJFQUEyRTtBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBmb290cHJpbnRqcy9hZHZhbmNlZCDigJQgTG93LWxldmVsIGludGVybmFscyBmb3IgY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzIGFuZCB0ZXN0aW5nLlxuICpcbiAqIE1vc3QgdXNlcnMgbmV2ZXIgbmVlZCB0aGlzLiBVc2UgYGZvb3RwcmludGpzYCAobWFpbikgaW5zdGVhZC5cbiAqIFRoaXMgZW50cnkgcG9pbnQgZXhwb3NlcyBgU2hhcmVkTWVtb3J5YCwgYFN0YWdlQ29udGV4dGAsIGBGbG93Y2hhcnRUcmF2ZXJzZXJgLFxuICogYW5kIG90aGVyIHByaW1pdGl2ZXMgdGhhdCBwb3dlciB0aGUgZW5naW5lLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTaGFyZWRNZW1vcnksIFN0YWdlQ29udGV4dCB9IGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJztcbiAqIGBgYFxuICpcbiAqIEBtb2R1bGUgYWR2YW5jZWRcbiAqL1xuLyoqXG4gKiBGb290UHJpbnQg4oCUIEFkdmFuY2VkIC8gSW50ZXJuYWwgQVBJXG4gKlxuICogVGhlc2UgZXhwb3J0cyBhcmUgZm9yIGFkdmFuY2VkIHVzZSBjYXNlcywgdGVzdGluZywgYW5kIGJ1aWxkaW5nXG4gKiBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMuIE1vc3QgdXNlcnMgc2hvdWxkIHVzZSB0aGUgbWFpbiAnZm9vdHByaW50JyBlbnRyeSBwb2ludC5cbiAqXG4gKiBJbXBvcnQgdmlhOiBpbXBvcnQgeyAuLi4gfSBmcm9tICdmb290cHJpbnQvYWR2YW5jZWQnXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtb3J5IOKAlCBMb3ctbGV2ZWwgdHJhbnNhY3Rpb25hbCBzdGF0ZSBwcmltaXRpdmVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ29tbWl0QnVuZGxlLFxuICBGbG93Q29udHJvbFR5cGUsXG4gIEZsb3dNZXNzYWdlLFxuICBNZW1vcnlQYXRjaCxcbiAgUmVhZFN1bW1hcnlNYXJrZXIsXG4gIFJlYWRUcmFja2luZ01vZGUsXG4gIFJldGVudGlvblBvbGljeSxcbiAgU3RhZ2VTbmFwc2hvdCxcbiAgVHJhY2VFbnRyeSxcbiAgVW50cmFja2VkU291cmNlLFxuICBXcml0ZVN1bW1hcnlNYXJrZXIsXG4gIFdyaXRlVHJhY2tpbmdNb2RlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWRhY3Rpb25WZXJkaWN0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFNoYXJlZE1lbW9yeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRXZlbnRMb2cgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWZmZXIgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRGlhZ25vc3RpY0NvbGxlY3RvciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBSZWRhY3Rpb25SdWxlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5U21hcnRNZXJnZSxcbiAgZGVlcFNtYXJ0TWVyZ2UsXG4gIGdldE5lc3RlZFZhbHVlLFxuICBnZXRSdW5BbmRHbG9iYWxQYXRocyxcbiAgbm9ybWFsaXNlUGF0aCxcbiAgcGF0aFNlZ21lbnRzLFxuICByZWRhY3RQYXRjaCxcbiAgc2V0TmVzdGVkVmFsdWUsXG4gIHVwZGF0ZU5lc3RlZFZhbHVlLFxuICB1cGRhdGVWYWx1ZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnVpbGRlciDigJQgVHlwZXMgYW5kIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIEV4ZWNPcHRpb25zLFxuICBGbG93Q2hhcnRPcHRpb25zLFxuICBGbG93Q2hhcnRTcGVjLFxuICBJTG9nZ2VyLFxuICBTY29wZVByb3RlY3Rpb25Nb2RlLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIFNpbXBsaWZpZWRQYXJhbGxlbFNwZWMsXG4gIFN0YWdlRm4sXG4gIFN0YWdlTm9kZSxcbiAgU3RyZWFtQ2FsbGJhY2ssXG4gIFN0cmVhbUxpZmVjeWNsZUhhbmRsZXIsXG4gIFN0cmVhbVRva2VuSGFuZGxlcixcbiAgU3ViZmxvd01vdW50T3B0aW9ucyxcbiAgU3ViZmxvd1JlZixcbn0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBBcnJheU1lcmdlTW9kZSwgRGVjaWRlckxpc3QsIFNlbGVjdG9yRm5MaXN0LCBzcGVjVG9TdGFnZU5vZGUgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVR5cGVkU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvYnVpbGRlci90eXBlZEZsb3dDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlIOKAlCBQcm92aWRlcnMsIHByb3RlY3Rpb24sIHJlY29yZGVyIG9wdGlvbnMsIGFuZCBldmVudCB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIFByb3ZpZGVyUmVzb2x2ZXIsXG4gIFJlc29sdmVPcHRpb25zLFxuICBTY29wZVByb3ZpZGVyLFxuICBTdGFnZUNvbnRleHRMaWtlLFxuICBTdHJpY3RNb2RlLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVFcnJvck1lc3NhZ2UsIGNyZWF0ZVByb3RlY3RlZFNjb3BlLCBTY29wZUZhY2FkZSB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGF0dGFjaFNjb3BlTWV0aG9kcyxcbiAgaXNTdWJjbGFzc09mU2NvcGVGYWNhZGUsXG4gIGxvb2tzTGlrZUNsYXNzQ3RvcixcbiAgbG9va3NMaWtlRmFjdG9yeSxcbiAgbWFrZUNsYXNzUHJvdmlkZXIsXG4gIG1ha2VGYWN0b3J5UHJvdmlkZXIsXG4gIHJlZ2lzdGVyU2NvcGVSZXNvbHZlcixcbiAgcmVzb2x2ZVNjb3BlUHJvdmlkZXIsXG4gIHRvU2NvcGVGYWN0b3J5LFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5cbi8vIFNjb3BlUmVjb3JkZXIgY29uZmlnL29wdGlvbiB0eXBlc1xuZXhwb3J0IHR5cGUge1xuICBBZ2dyZWdhdGVkTWV0cmljcyxcbiAgRGVidWdFbnRyeSxcbiAgRGVidWdSZWNvcmRlck9wdGlvbnMsXG4gIERlYnVnVmVyYm9zaXR5LFxuICBSZWNvcmRlckNvbnRleHQsXG4gIFN0YWdlRXZlbnQsXG4gIFN0YWdlTWV0cmljcyxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuLy8gYERlZmluZVNjb3BlT3B0aW9uc2AgKHpvZCBzY29wZSBvcHRpb25zKSBtb3ZlZCB0byAnZm9vdHByaW50anMvem9kJy5cblxuLy8gWm9kIGludGVybmFscyBtb3ZlZCB0byB0aGUgb3B0LWluIGBmb290cHJpbnRqcy96b2RgIGVudHJ5IChrZWVwcyB6b2Qg4oCUIGFuXG4vLyBvcHRpb25hbCBwZWVyIOKAlCBvdXQgb2YgdGhlIGBmb290cHJpbnRqcy9hZHZhbmNlZGAgbG9hZCBwYXRoKS4gSW1wb3J0XG4vLyBjcmVhdGVTY29wZVByb3h5RnJvbVpvZCAvIGRlZmluZVNjb3BlU2NoZW1hIC8gaXNTY29wZVNjaGVtYSAvIFpvZFNjb3BlUmVzb2x2ZXJcbi8vIGZyb20gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1bm5lciDigJQgSW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUnVudGltZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEV4ZWN1dGlvblJ1bnRpbWUgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuLyoqIFRoZSBydW4ncyBwb2xpY3kgYW4gYEV4ZWN1dGlvblJ1bnRpbWVgIGlzIGNvbnN0cnVjdGVkIHdpdGggKEY1KS4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERFRkFVTFRfUlVOX1BPTElDWSwgcnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVhY3RpdmUg4oCUIFR5cGVkU2NvcGUgaW50ZXJuYWxzIChmb3IgY3VzdG9tIHByb3h5IGltcGxlbWVudGF0aW9ucylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSZWFjdGl2ZU9wdGlvbnMsIFJlYWN0aXZlVGFyZ2V0IH0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgQlJFQUtfU0VUVEVSLFxuICBidWlsZE5lc3RlZFBhdGNoLFxuICBjcmVhdGVBcnJheVByb3h5LFxuICBpc0hhbmRsZSxcbiAgam9pblBhdGgsXG4gIFNDT1BFX01FVEhPRF9OQU1FUyxcbiAgc2hvdWxkV3JhcFdpdGhQcm94eSxcbiAgdW53cmFwSGFuZGxlcyxcbiAgdmFsdWVCZWhpbmQsXG59IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRW5naW5lIOKAlCBERlMgZ3JhcGggdHJhdmVyc2FsIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFRyYXZlcnNlck9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBEZWNpZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IEZsb3djaGFydFRyYXZlcnNlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBpc1N0YWdlTm9kZVJldHVybiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIE5hcnJhdGl2ZSBpbnRlcm5hbHNcbmV4cG9ydCB0eXBlIHsgSUNvbnRyb2xGbG93TmFycmF0aXZlIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVFbnRyeSwgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQnJhbmNoUmVzdWx0LFxuICBCcmFuY2hSZXN1bHRzLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgYXMgRW5naW5lU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBIYW5kbGVyRGVwcyxcbiAgSUV4ZWN1dGlvblJ1bnRpbWUsXG4gIE5vZGVSZXN1bHRUeXBlLFxuICBSdW50aW1lU3RydWN0dXJlTWV0YWRhdGEsXG4gIFNjb3BlRmFjdG9yeSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lTm9kZSxcbiAgU3RhZ2VGdW5jdGlvbixcbiAgU3ViZmxvd1Jlc3VsdCxcbiAgVHJhdmVyc2FsUmVzdWx0LFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gSGFuZGxlcnMgKHRlc3RpbmcgLyBjdXN0b20gZW5naW5lcylcbmV4cG9ydCB0eXBlIHsgRXhlY3V0ZU5vZGVGbiwgUXVldWVkUGF1c2UsIFJlc3VtZUhvcCwgUnVuU3RhZ2VGbiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseU91dHB1dE1hcHBpbmcsXG4gIENoaWxkcmVuRXhlY3V0b3IsXG4gIGNvbXB1dGVOb2RlVHlwZSxcbiAgQ29udGludWF0aW9uUmVzb2x2ZXIsXG4gIGNyZWF0ZVN1YmZsb3dIYW5kbGVyRGVwcyxcbiAgRGVjaWRlckhhbmRsZXIsXG4gIERFRkFVTFRfTUFYX0lURVJBVElPTlMsXG4gIGV4dHJhY3RQYXJlbnRTY29wZVZhbHVlcyxcbiAgZ2V0SW5pdGlhbFNjb3BlVmFsdWVzLFxuICBOb2RlUmVzb2x2ZXIsXG4gIFJlc3VtZUVudHJ5LFxuICBSdW50aW1lU3RydWN0dXJlTWFuYWdlcixcbiAgc2VlZFN1YmZsb3dHbG9iYWxTdG9yZSxcbiAgU2VsZWN0b3JIYW5kbGVyLFxuICBTdGFnZVJ1bm5lcixcbiAgU3ViZmxvd0V4ZWN1dG9yLFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBUcmFjZSB1dGlsaXRpZXMg4oCUIHJlLWV4cG9ydGVkIGhlcmUgZm9yIGNvbnZlbmllbmNlLiBDYW5vbmljYWwgcGF0aDogJ2Zvb3RwcmludGpzL3RyYWNlJ1xuZXhwb3J0IHR5cGUgeyBFeGVjdXRpb25Db3VudGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGJ1aWxkUnVudGltZVN0YWdlSWQsIGNyZWF0ZUV4ZWN1dGlvbkNvdW50ZXIsIHBhcnNlUnVudGltZVN0YWdlSWQgfSBmcm9tICcuL2xpYi9lbmdpbmUvcnVudGltZVN0YWdlSWQuanMnO1xuZXhwb3J0IHsgZmluZENvbW1pdCwgZmluZENvbW1pdHMsIGZpbmRMYXN0V3JpdGVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2NvbW1pdExvZ1V0aWxzLmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVjaWRlIOKAlCBwdXJlIGd1YXJkIGV2YWx1YXRpb24gKGZvciBjdXN0b20gYXZhaWxhYmlsaXR5L2RlY2lzaW9uIGVuZ2luZXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBldmFsdWF0ZUZpbHRlciBpcyBlbmdpbmUtZnJlZTogYSBwdXJlIGZ1bmN0aW9uIG92ZXIgKGdldFZhbHVlLCBpc1JlZGFjdGVkKVxuLy8gY2FsbGJhY2tzIHRoYXQgZXZhbHVhdGVzIGEgV2hlcmVGaWx0ZXIgYW5kIHJldHVybnMgcGVyLWNvbmRpdGlvbiBldmlkZW5jZS5cbi8vIEV4dGVybmFsIGRyaXZlcnMgKGUuZy4gaGNpZm9vdHByaW50J3MgYXZhaWxhYmxlKCkpIGV2YWx1YXRlIGVkZ2UgZ3VhcmRzIHdpdGhcbi8vIGl0IG91dHNpZGUgYW55IHJ1biDigJQgbm8gc2NvcGUsIG5vIGNvbW1pdCwgd29ya2VyLXNhZmUuXG5leHBvcnQgdHlwZSB7IEZpbHRlckNvbmRpdGlvbiB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5leHBvcnQgeyBldmFsdWF0ZUZpbHRlciB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbnRyYWN0IOKAlCBzY2hlbWEgbm9ybWFsaXphdGlvbiAoZm9yIGN1c3RvbSB0b29sIGVtaXR0ZXJzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHVyZSBjaGFydC1tZXRhZGF0YSBoZWxwZXJzIGJlaGluZCB0b01DUFRvb2wvdG9PcGVuQVBJLiBDdXN0b20gZW1pdHRlcnNcbi8vIChwZXItZWRnZSBNQ1AgZGVzY3JpcHRvcnMpIHJldXNlIHRoZSBab2TihpJKU09OLVNjaGVtYSBjb252ZXJzaW9uIHdpdGhvdXRcbi8vIGltcG9ydGluZyB0aGUgcnVubmVyLiBHYXRlIGlucHV0cyB3aXRoIGRldGVjdFNjaGVtYSAobWFpbiBiYXJyZWwpOiBhXG4vLyBub24tWm9kICdwYXJzZWFibGUnIHNjaGVtYSAoeXVwL3N1cGVyc3RydWN0KSBwYXNzZXMgdGhyb3VnaCB1bmNvbnZlcnRlZC5cbmV4cG9ydCB7IG5vcm1hbGl6ZVNjaGVtYSwgem9kVG9Kc29uU2NoZW1hIH0gZnJvbSAnLi9saWIvY29udHJhY3QvaW5kZXguanMnO1xuIl19
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0g7Ozs7Ozs7R0FPRztBQXFCSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLHVCQUF1QixDQUFDO0FBc0IvQixPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDO0FBd0I5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPdEUsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0seUJBQXlCLENBQUM7QUFRakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFtQjFELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLFdBQVcsRUFDWCxlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFJL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFVekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELCtFQUErRTtBQUMvRSw2REFBNkQ7QUFDN0QsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsdUVBQXVFO0FBQ3ZFLDJFQUEyRTtBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBmb290cHJpbnRqcy9hZHZhbmNlZCDigJQgTG93LWxldmVsIGludGVybmFscyBmb3IgY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzIGFuZCB0ZXN0aW5nLlxuICpcbiAqIE1vc3QgdXNlcnMgbmV2ZXIgbmVlZCB0aGlzLiBVc2UgYGZvb3RwcmludGpzYCAobWFpbikgaW5zdGVhZC5cbiAqIFRoaXMgZW50cnkgcG9pbnQgZXhwb3NlcyBgU2hhcmVkTWVtb3J5YCwgYFN0YWdlQ29udGV4dGAsIGBGbG93Y2hhcnRUcmF2ZXJzZXJgLFxuICogYW5kIG90aGVyIHByaW1pdGl2ZXMgdGhhdCBwb3dlciB0aGUgZW5naW5lLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTaGFyZWRNZW1vcnksIFN0YWdlQ29udGV4dCB9IGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJztcbiAqIGBgYFxuICpcbiAqIEBtb2R1bGUgYWR2YW5jZWRcbiAqL1xuLyoqXG4gKiBGb290UHJpbnQg4oCUIEFkdmFuY2VkIC8gSW50ZXJuYWwgQVBJXG4gKlxuICogVGhlc2UgZXhwb3J0cyBhcmUgZm9yIGFkdmFuY2VkIHVzZSBjYXNlcywgdGVzdGluZywgYW5kIGJ1aWxkaW5nXG4gKiBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMuIE1vc3QgdXNlcnMgc2hvdWxkIHVzZSB0aGUgbWFpbiAnZm9vdHByaW50JyBlbnRyeSBwb2ludC5cbiAqXG4gKiBJbXBvcnQgdmlhOiBpbXBvcnQgeyAuLi4gfSBmcm9tICdmb290cHJpbnQvYWR2YW5jZWQnXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtb3J5IOKAlCBMb3ctbGV2ZWwgdHJhbnNhY3Rpb25hbCBzdGF0ZSBwcmltaXRpdmVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ29tbWl0QnVuZGxlLFxuICBGbG93Q29udHJvbFR5cGUsXG4gIEZsb3dNZXNzYWdlLFxuICBNZW1vcnlQYXRjaCxcbiAgUmVhZFN1bW1hcnlNYXJrZXIsXG4gIFJlYWRUcmFja2luZ01vZGUsXG4gIFJldGVudGlvblBvbGljeSxcbiAgU3RhZ2VTbmFwc2hvdCxcbiAgVHJhY2VFbnRyeSxcbiAgVW50cmFja2VkU291cmNlLFxuICBXcml0ZVN1bW1hcnlNYXJrZXIsXG4gIFdyaXRlVHJhY2tpbmdNb2RlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWRhY3Rpb25WZXJkaWN0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFNoYXJlZE1lbW9yeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRXZlbnRMb2cgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWZmZXIgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRGlhZ25vc3RpY0NvbGxlY3RvciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBSZWRhY3Rpb25SdWxlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5U21hcnRNZXJnZSxcbiAgZGVlcFNtYXJ0TWVyZ2UsXG4gIGdldE5lc3RlZFZhbHVlLFxuICBnZXRSdW5BbmRHbG9iYWxQYXRocyxcbiAgbm9ybWFsaXNlUGF0aCxcbiAgcGF0aFNlZ21lbnRzLFxuICByZWRhY3RQYXRjaCxcbiAgc2V0TmVzdGVkVmFsdWUsXG4gIHVwZGF0ZU5lc3RlZFZhbHVlLFxuICB1cGRhdGVWYWx1ZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnVpbGRlciDigJQgVHlwZXMgYW5kIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIEV4ZWNPcHRpb25zLFxuICBGbG93Q2hhcnRPcHRpb25zLFxuICBGbG93Q2hhcnRTcGVjLFxuICBJTG9nZ2VyLFxuICBTY29wZVByb3RlY3Rpb25Nb2RlLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIFNpbXBsaWZpZWRQYXJhbGxlbFNwZWMsXG4gIFN0YWdlRm4sXG4gIFN0YWdlTm9kZSxcbiAgU3RyZWFtQ2FsbGJhY2ssXG4gIFN0cmVhbUxpZmVjeWNsZUhhbmRsZXIsXG4gIFN0cmVhbVRva2VuSGFuZGxlcixcbiAgU3ViZmxvd01vdW50T3B0aW9ucyxcbiAgU3ViZmxvd1JlZixcbn0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBBcnJheU1lcmdlTW9kZSwgRGVjaWRlckxpc3QsIFNlbGVjdG9yRm5MaXN0LCBzcGVjVG9TdGFnZU5vZGUgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVR5cGVkU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvYnVpbGRlci90eXBlZEZsb3dDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlIOKAlCBQcm92aWRlcnMsIHByb3RlY3Rpb24sIHJlY29yZGVyIG9wdGlvbnMsIGFuZCBldmVudCB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIFByb3ZpZGVyUmVzb2x2ZXIsXG4gIFJlc29sdmVPcHRpb25zLFxuICBTY29wZVByb3ZpZGVyLFxuICBTdGFnZUNvbnRleHRMaWtlLFxuICBTdHJpY3RNb2RlLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVFcnJvck1lc3NhZ2UsIGNyZWF0ZVByb3RlY3RlZFNjb3BlLCBTY29wZUZhY2FkZSB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGF0dGFjaFNjb3BlTWV0aG9kcyxcbiAgaXNTdWJjbGFzc09mU2NvcGVGYWNhZGUsXG4gIGxvb2tzTGlrZUNsYXNzQ3RvcixcbiAgbG9va3NMaWtlRmFjdG9yeSxcbiAgbWFrZUNsYXNzUHJvdmlkZXIsXG4gIG1ha2VGYWN0b3J5UHJvdmlkZXIsXG4gIHJlZ2lzdGVyU2NvcGVSZXNvbHZlcixcbiAgcmVzb2x2ZVNjb3BlUHJvdmlkZXIsXG4gIHRvU2NvcGVGYWN0b3J5LFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5cbi8vIFNjb3BlUmVjb3JkZXIgY29uZmlnL29wdGlvbiB0eXBlc1xuZXhwb3J0IHR5cGUge1xuICBBZ2dyZWdhdGVkTWV0cmljcyxcbiAgRGVidWdFbnRyeSxcbiAgRGVidWdSZWNvcmRlck9wdGlvbnMsXG4gIERlYnVnVmVyYm9zaXR5LFxuICBSZWNvcmRlckNvbnRleHQsXG4gIFN0YWdlRXZlbnQsXG4gIFN0YWdlTWV0cmljcyxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuLy8gYERlZmluZVNjb3BlT3B0aW9uc2AgKHpvZCBzY29wZSBvcHRpb25zKSBtb3ZlZCB0byAnZm9vdHByaW50anMvem9kJy5cblxuLy8gWm9kIGludGVybmFscyBtb3ZlZCB0byB0aGUgb3B0LWluIGBmb290cHJpbnRqcy96b2RgIGVudHJ5IChrZWVwcyB6b2Qg4oCUIGFuXG4vLyBvcHRpb25hbCBwZWVyIOKAlCBvdXQgb2YgdGhlIGBmb290cHJpbnRqcy9hZHZhbmNlZGAgbG9hZCBwYXRoKS4gSW1wb3J0XG4vLyBjcmVhdGVTY29wZVByb3h5RnJvbVpvZCAvIGRlZmluZVNjb3BlU2NoZW1hIC8gaXNTY29wZVNjaGVtYSAvIFpvZFNjb3BlUmVzb2x2ZXJcbi8vIGZyb20gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1bm5lciDigJQgSW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUnVudGltZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEV4ZWN1dGlvblJ1bnRpbWUgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuLyoqIFRoZSBydW4ncyBwb2xpY3kgYW4gYEV4ZWN1dGlvblJ1bnRpbWVgIGlzIGNvbnN0cnVjdGVkIHdpdGggKEY1KS4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERFRkFVTFRfUlVOX1BPTElDWSwgcnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVhY3RpdmUg4oCUIFR5cGVkU2NvcGUgaW50ZXJuYWxzIChmb3IgY3VzdG9tIHByb3h5IGltcGxlbWVudGF0aW9ucylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSZWFjdGl2ZU9wdGlvbnMsIFJlYWN0aXZlVGFyZ2V0IH0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgQlJFQUtfU0VUVEVSLFxuICBidWlsZE5lc3RlZFBhdGNoLFxuICBjcmVhdGVBcnJheVByb3h5LFxuICBpc0hhbmRsZSxcbiAgam9pblBhdGgsXG4gIFNDT1BFX01FVEhPRF9OQU1FUyxcbiAgc2hvdWxkV3JhcFdpdGhQcm94eSxcbiAgdW53cmFwSGFuZGxlcyxcbiAgdmFsdWVCZWhpbmQsXG59IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRW5naW5lIOKAlCBERlMgZ3JhcGggdHJhdmVyc2FsIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFRyYXZlcnNlck9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBEZWNpZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IEZsb3djaGFydFRyYXZlcnNlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBpc1N0YWdlTm9kZVJldHVybiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIE5hcnJhdGl2ZSBpbnRlcm5hbHNcbmV4cG9ydCB0eXBlIHsgSUNvbnRyb2xGbG93TmFycmF0aXZlIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVFbnRyeSwgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQnJhbmNoUmVzdWx0LFxuICBCcmFuY2hSZXN1bHRzLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgYXMgRW5naW5lU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBIYW5kbGVyRGVwcyxcbiAgSUV4ZWN1dGlvblJ1bnRpbWUsXG4gIE5vZGVSZXN1bHRUeXBlLFxuICBSdW50aW1lU3RydWN0dXJlTWV0YWRhdGEsXG4gIFNjb3BlRmFjdG9yeSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lTm9kZSxcbiAgU3RhZ2VGdW5jdGlvbixcbiAgU3ViZmxvd1Jlc3VsdCxcbiAgVHJhdmVyc2FsUmVzdWx0LFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gSGFuZGxlcnMgKHRlc3RpbmcgLyBjdXN0b20gZW5naW5lcylcbmV4cG9ydCB0eXBlIHsgRXhlY3V0ZU5vZGVGbiwgUXVldWVkUGF1c2UsIFJlc3VtZUhvcCwgUnVuU3RhZ2VGbiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseU91dHB1dE1hcHBpbmcsXG4gIENoaWxkcmVuRXhlY3V0b3IsXG4gIGNvbXB1dGVOb2RlVHlwZSxcbiAgQ29udGludWF0aW9uUmVzb2x2ZXIsXG4gIGNyZWF0ZVN1YmZsb3dIYW5kbGVyRGVwcyxcbiAgRGVjaWRlckhhbmRsZXIsXG4gIERFRkFVTFRfTUFYX0lURVJBVElPTlMsXG4gIGV4dHJhY3RQYXJlbnRTY29wZVZhbHVlcyxcbiAgZ2V0SW5pdGlhbFNjb3BlVmFsdWVzLFxuICBOb2RlUmVzb2x2ZXIsXG4gIFJlc3VtZUVudHJ5LFxuICBSdW50aW1lU3RydWN0dXJlTWFuYWdlcixcbiAgc2VlZFN1YmZsb3dHbG9iYWxTdG9yZSxcbiAgU2VsZWN0b3JIYW5kbGVyLFxuICBTdGFnZVJ1bm5lcixcbiAgU3ViZmxvd0V4ZWN1dG9yLFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBUcmFjZSB1dGlsaXRpZXMg4oCUIHJlLWV4cG9ydGVkIGhlcmUgZm9yIGNvbnZlbmllbmNlLiBDYW5vbmljYWwgcGF0aDogJ2Zvb3RwcmludGpzL3RyYWNlJ1xuZXhwb3J0IHR5cGUgeyBFeGVjdXRpb25Db3VudGVyIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGJ1aWxkUnVudGltZVN0YWdlSWQsIGNyZWF0ZUV4ZWN1dGlvbkNvdW50ZXIsIHBhcnNlUnVudGltZVN0YWdlSWQgfSBmcm9tICcuL2xpYi9pZHMvcnVudGltZVN0YWdlSWQuanMnO1xuZXhwb3J0IHsgZmluZENvbW1pdCwgZmluZENvbW1pdHMsIGZpbmRMYXN0V3JpdGVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2NvbW1pdExvZ1V0aWxzLmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVjaWRlIOKAlCBwdXJlIGd1YXJkIGV2YWx1YXRpb24gKGZvciBjdXN0b20gYXZhaWxhYmlsaXR5L2RlY2lzaW9uIGVuZ2luZXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBldmFsdWF0ZUZpbHRlciBpcyBlbmdpbmUtZnJlZTogYSBwdXJlIGZ1bmN0aW9uIG92ZXIgKGdldFZhbHVlLCBpc1JlZGFjdGVkKVxuLy8gY2FsbGJhY2tzIHRoYXQgZXZhbHVhdGVzIGEgV2hlcmVGaWx0ZXIgYW5kIHJldHVybnMgcGVyLWNvbmRpdGlvbiBldmlkZW5jZS5cbi8vIEV4dGVybmFsIGRyaXZlcnMgKGUuZy4gaGNpZm9vdHByaW50J3MgYXZhaWxhYmxlKCkpIGV2YWx1YXRlIGVkZ2UgZ3VhcmRzIHdpdGhcbi8vIGl0IG91dHNpZGUgYW55IHJ1biDigJQgbm8gc2NvcGUsIG5vIGNvbW1pdCwgd29ya2VyLXNhZmUuXG5leHBvcnQgdHlwZSB7IEZpbHRlckNvbmRpdGlvbiB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5leHBvcnQgeyBldmFsdWF0ZUZpbHRlciB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbnRyYWN0IOKAlCBzY2hlbWEgbm9ybWFsaXphdGlvbiAoZm9yIGN1c3RvbSB0b29sIGVtaXR0ZXJzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHVyZSBjaGFydC1tZXRhZGF0YSBoZWxwZXJzIGJlaGluZCB0b01DUFRvb2wvdG9PcGVuQVBJLiBDdXN0b20gZW1pdHRlcnNcbi8vIChwZXItZWRnZSBNQ1AgZGVzY3JpcHRvcnMpIHJldXNlIHRoZSBab2TihpJKU09OLVNjaGVtYSBjb252ZXJzaW9uIHdpdGhvdXRcbi8vIGltcG9ydGluZyB0aGUgcnVubmVyLiBHYXRlIGlucHV0cyB3aXRoIGRldGVjdFNjaGVtYSAobWFpbiBiYXJyZWwpOiBhXG4vLyBub24tWm9kICdwYXJzZWFibGUnIHNjaGVtYSAoeXVwL3N1cGVyc3RydWN0KSBwYXNzZXMgdGhyb3VnaCB1bmNvbnZlcnRlZC5cbmV4cG9ydCB7IG5vcm1hbGl6ZVNjaGVtYSwgem9kVG9Kc29uU2NoZW1hIH0gZnJvbSAnLi9saWIvY29udHJhY3QvaW5kZXguanMnO1xuIl19
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ export { hasEmitRecorderMethods, hasFlowRecorderMethods, hasRecorderMethods, isF
|
|
|
99
99
|
*/
|
|
100
100
|
export type { EmitEvent, EmitRecorder } from './lib/recorder/index.js';
|
|
101
101
|
/** @category Observe — Flow */
|
|
102
|
-
export type { FlowBreakEvent, FlowDecisionEvent, FlowErrorEvent, FlowForkEvent, FlowLoopEvent, FlowNextEvent, FlowRecorder, FlowRunEvent, FlowRunFailedEvent, FlowSelectedEvent, FlowStageEvent, FlowStageRetryEvent, FlowSubflowEvent, FlowSubflowRegisteredEvent, TraversalContext, } from './lib/engine/index.js';
|
|
102
|
+
export type { FlowBreakEvent, FlowDecisionEvent, FlowErrorEvent, FlowForkEvent, FlowLoopEvent, FlowNextEvent, FlowRecorder, FlowRunEvent, FlowRunFailedEvent, FlowSelectedEvent, FlowStageEvent, FlowStageRetryEvent, FlowSubflowEvent, FlowSubflowRegisteredEvent, ResumeLink, TraversalContext, } from './lib/engine/index.js';
|
|
103
103
|
/** @category Observe — Flow */
|
|
104
104
|
export type { CombinedNarrativeEntry } from './lib/engine/index.js';
|
|
105
105
|
/**
|
|
@@ -143,7 +143,7 @@ export { getSubtreeSnapshot, listSubflowPaths } from './lib/runner/index.js';
|
|
|
143
143
|
export { CompositeRecorder } from './lib/recorder/index.js';
|
|
144
144
|
/** @category Pause/Resume */
|
|
145
145
|
/** @category Pause/Resume */
|
|
146
|
-
export type { FlowchartCheckpoint, PausableHandler, PendingPause } from './lib/pause/index.js';
|
|
146
|
+
export type { FlowchartCheckpoint, PausableHandler, PausedExecution, PendingPause } from './lib/pause/index.js';
|
|
147
147
|
/**
|
|
148
148
|
* @category Pause/Resume
|
|
149
149
|
*
|
package/dist/esm/index.js
CHANGED
|
@@ -86,4 +86,4 @@ export { disableDevMode, enableDevMode, isDevMode } from './lib/devMode.js';
|
|
|
86
86
|
// A run's record as JSON without the engine's recursion limit (9.26.0): the
|
|
87
87
|
// same bytes JSON.stringify emits, for a deep `next` chain it cannot encode.
|
|
88
88
|
export { stringifySnapshot } from './lib/runner/stringifySnapshot.js';
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFTSCw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBNkJ4Riw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0IzQyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWtCdkQsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFxQm5ELCtCQUErQjtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxvQ0FBb0M7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFtQzVELHFFQUFxRTtBQUNyRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0seUJBQXlCLENBQUM7QUFpRGpDLCtCQUErQjtBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs5RCwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBeUJ0RSx1Q0FBdUM7QUFDdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSwrRUFBK0U7QUFFL0UsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBb0I1RCw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBaUVqRCxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Usc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVNyRyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFFLCtFQUErRTtBQUMvRSxpREFBaUQ7QUFDakQsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUUsaUZBQWlGO0FBQ2pGLDRFQUE0RTtBQUM1RSxzREFBc0Q7QUFDdEQsNEVBQTRFO0FBQzVFLDZFQUE2RTtBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm9vdFByaW50IOKAlCBQdWJsaWMgQVBJICh2MylcbiAqXG4gKiBUaGUgZmxvd2NoYXJ0IHBhdHRlcm4gZm9yIGJhY2tlbmQgY29kZS5cbiAqIEJ1aWxkIOKGkiBSdW4g4oaSIE9ic2VydmUuXG4gKlxuICogKipUaHJlZSBpbXBvcnQgcGF0aHM6KipcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmbG93Q2hhcnQsIGRlY2lkZSwgbmFycmF0aXZlIH0gZnJvbSAnZm9vdHByaW50anMnOyAgICAgICAgICAgLy8gbWFpbiDigJQgc3RhcnQgaGVyZVxuICogaW1wb3J0IHsgbWV0cmljcywgZGVidWcsIG1hbmlmZXN0IH0gICAgIGZyb20gJ2Zvb3RwcmludGpzL3JlY29yZGVycyc7IC8vIHJlY29yZGVyIGZhY3Rvcmllc1xuICogaW1wb3J0IHsgU2hhcmVkTWVtb3J5LCBTdGFnZUNvbnRleHQgfSAgIGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJzsgIC8vIGludGVybmFsc1xuICogYGBgXG4gKlxuICogQG1vZHVsZVxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFF1aWNrIFN0YXJ0IOKAlCBFdmVyeXRoaW5nIHlvdSBuZWVkIGZvciA5MCUgb2YgdXNlIGNhc2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgUXVpY2sgU3RhcnQgKi9cbmV4cG9ydCB0eXBlIHsgRmxvd0NoYXJ0LCBTdGFnZUZ1bmN0aW9uIGFzIFN0YWdlSGFuZGxlciwgU3RyZWFtSGFuZGxlcnMgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBRdWljayBTdGFydCAqL1xuZXhwb3J0IHsgZmxvd0NoYXJ0LCBGbG93Q2hhcnRCdWlsZGVyLCBmbG93Q2hhcnRTZWxlY3RvciB9IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBRdWljayBTdGFydFxuICpcbiAqIENvbmZpZyBmb3IgYC5hZGRQYXJhbGxlbEZvckVhY2goKWAg4oCUIG9uZSBicmFuY2ggcGVyIGl0ZW0sIGJyYW5jaCBjb3VudFxuICogZGVjaWRlZCBhdCBydW4gdGltZSBmcm9tIHRoZSBwYXlsb2FkLiBgbWF4QnJhbmNoZXNgIGFuZCBgaW50b2AgYXJlIHJlcXVpcmVkXG4gKiBvbiBwdXJwb3NlIChzZWUgZG9jcy9kZXNpZ24vZXhlY3V0aW9uLWNvbnRyb2wubWQpLlxuICovXG5leHBvcnQgdHlwZSB7IEJyYW5jaENoYXJ0LCBQYXJhbGxlbEZvckVhY2hDb25maWcsIFJldHJ5UG9saWN5IH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgUXVpY2sgU3RhcnQg4oCUIGJ1aWxkLXRpbWUgb2JzZXJ2ZXIgKHR3aW4gb2YgRmxvd1JlY29yZGVyKSAqL1xuZXhwb3J0IHR5cGUge1xuICBTdHJ1Y3R1cmVEZWNpZGVyQ29tcGxldGVFdmVudCxcbiAgU3RydWN0dXJlRWRnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZUVkZ2VLaW5kLFxuICBTdHJ1Y3R1cmVMb29wRWRnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZVJlY29yZGVyLFxuICBTdHJ1Y3R1cmVTdGFnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZVN0YWdlVGFnZ2VkRXZlbnQsXG4gIFN0cnVjdHVyZVN1YmZsb3dNb3VudGVkRXZlbnQsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFF1aWNrIFN0YXJ0ICovXG5leHBvcnQgdHlwZSB7IFR5cGVkU3RhZ2VGdW5jdGlvbiB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vKiogQGNhdGVnb3J5IFF1aWNrIFN0YXJ0ICovXG5leHBvcnQgdHlwZSB7IFNjb3BlTWV0aG9kcywgVHlwZWRTY29wZSB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBRdWljayBTdGFydCAqL1xuZXhwb3J0IHsgbmFycmF0aXZlIH0gZnJvbSAnLi9yZWNvcmRlcnMuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNpc2lvbiBCcmFuY2hpbmcg4oCUIGRlY2lkZSgpIC8gc2VsZWN0KCkgd2l0aCBldmlkZW5jZSBjYXB0dXJlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgRGVjaXNpb24gQnJhbmNoaW5nICovXG5leHBvcnQgdHlwZSB7XG4gIERlY2lkZVJ1bGUsXG4gIERlY2lzaW9uRXZpZGVuY2UsXG4gIERlY2lzaW9uUmVzdWx0LFxuICBEZWZhdWx0QnJhbmNoLFxuICBGaWx0ZXJPcHMsXG4gIFJ1bGVFdmlkZW5jZSxcbiAgU2VsZWN0aW9uRXZpZGVuY2UsXG4gIFNlbGVjdGlvblJlc3VsdCxcbiAgV2hlbkNsYXVzZSxcbiAgV2hlcmVGaWx0ZXIsXG59IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgRGVjaXNpb24gQnJhbmNoaW5nICovXG5leHBvcnQgeyBkZWNpZGUsIHNlbGVjdCB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1biDigJQgRXhlY3V0ZSBjaGFydHMgYW5kIGNvbGxlY3QgcmVzdWx0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHR5cGUgeyBSdW5SZXN1bHQgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHR5cGUgeyBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnMgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKipcbiAqIFRoZSBmb3VyIG9ic2VydmFiaWxpdHkgZGlhbHMgYEZsb3dDaGFydEV4ZWN1dG9yT3B0aW9uc2AgaW5oZXJpdHMuXG4gKiBAY2F0ZWdvcnkgUnVuXG4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuRGlhbHMgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHsgRmxvd0NoYXJ0RXhlY3V0b3IgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHsgUnVuQ29udGV4dCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgUnVuICovXG5leHBvcnQgdHlwZSB7IENoYXJ0T3BlbkFQSU9wdGlvbnMsIE1DUFRvb2xEZXNjcmlwdGlvbiwgUnVubmFibGVGbG93Q2hhcnQgfSBmcm9tICcuL2xpYi9ydW5uZXIvUnVubmFibGVDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9ic2VydmUg4oCUIERhdGEgKHNjb3BlIHJlY29yZGVycywgZmlyZSBkdXJpbmcgc3RhZ2UgZXhlY3V0aW9uKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERhdGEgKi9cbmV4cG9ydCB0eXBlIHtcbiAgQ29tbWl0RXZlbnQsXG4gIEVycm9yRXZlbnQsXG4gIFJlYWRFdmVudCxcbiAgUmVkYWN0aW9uUG9saWN5LFxuICBSZWRhY3Rpb25SZXBvcnQsXG4gIFNjb3BlUmVjb3JkZXIsXG4gIFN0YWdlRXZlbnQsXG4gIFdyaXRlRXZlbnQsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBEYXRhICovXG5leHBvcnQgeyBNZXRyaWNSZWNvcmRlciB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBEYXRhICovXG5leHBvcnQgeyBEZWJ1Z1JlY29yZGVyIH0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIE9wZXJhdGlvbiAqL1xuZXhwb3J0IHsgUmVjb3JkZXJPcGVyYXRpb24gfSBmcm9tICcuL2xpYi9yZWNvcmRlci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERlbGl2ZXJ5IHRpZXIgKFJGQy0wMDEgZGVmZXJyZWQgb2JzZXJ2ZXJzKVxuICpcbiAqIEV2ZXJ5IGBhdHRhY2gqUmVjb3JkZXJgIGNhbGwgYWNjZXB0cyBhbiBvcHRpb25zIGJhZzpcbiAqIGBleGVjdXRvci5hdHRhY2hTY29wZVJlY29yZGVyKHJlYywgeyBkZWxpdmVyeTogJ2RlZmVycmVkJyB9KWAgdGFrZXMgdGhlXG4gKiByZWNvcmRlciBPVVQgb2YgdGhlIGVuZ2luZSdzIGhvdCBwYXRoIOKAlCBldmVudHMgYXJlIGNhcHR1cmVkIGludG8gb25lXG4gKiBib3VuZGVkLCB0b3RhbGx5LW9yZGVyZWQgcXVldWUgYW5kIGRlbGl2ZXJlZCBhdCB0aGUgbmV4dCBtaWNyb3Rhc2tcbiAqIGNoZWNrcG9pbnQgKFwib25lIGJlYXQgYmVoaW5kXCIpLiBPbWl0IGBkZWxpdmVyeWAgZm9yIHRoZSBoaXN0b3JpY2FsXG4gKiBzeW5jaHJvbm91cyBjYWxsIChieXRlLWlkZW50aWNhbCB0byBwcmV2aW91cyByZWxlYXNlcykuIEFjY291bnRpbmdcbiAqIHN1cmZhY2VzIG9uIGBzbmFwc2hvdC5vYnNlcnZlclN0YXRzYDsgYGV4ZWN1dG9yLmRyYWluT2JzZXJ2ZXJzKClgIHNldHRsZXNcbiAqIGFzeW5jIGxpc3RlbmVycyBiZWZvcmUgc2h1dGRvd24uIFNlZSBgZG9jcy9ndWlkZXMvb2JzZXJ2ZXJzLWRlZmVycmVkLm1kYC5cbiAqL1xuZXhwb3J0IHR5cGUge1xuICBBdHRhY2hSZWNvcmRlck9wdGlvbnMsXG4gIE9ic2VydmVyRGVsaXZlcnksXG4gIE9ic2VydmVyRHJhaW5SZXN1bHQsXG4gIE9ic2VydmVyU3RhdHMsXG59IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERlbGl2ZXJ5IHRpZXIgKFJGQy0wMDEgZGVmZXJyZWQgb2JzZXJ2ZXJzKVxuICpcbiAqIGBDYXB0dXJlUG9saWN5YCDigJQgaG93IGEgZGVmZXJyZWQgZXZlbnQncyBwYXlsb2FkIGlzIG1hdGVyaWFsaXplZCBhdFxuICogY2FwdHVyZSB0aW1lIChgJ3N1bW1hcnknYCBkZWZhdWx0IC8gYCdjbG9uZSdgIC8gYCdyZWYnYCkuIGBPdmVyZmxvd1BvbGljeWBcbiAqIOKAlCB3aGF0IGEgc2F0dXJhdGVkIHF1ZXVlIGRvZXMgKGAnZHJvcC1vbGRlc3QnYCBkZWZhdWx0IC8gYCdzYW1wbGUnYCAvXG4gKiBgJ2Jsb2NrJ2ApLiBgRGlzcGF0Y2hlclN0YXRzYCAvIGBMaXN0ZW5lclN0YXRzYCDigJQgdGhlIGFjY291bnRpbmcgc2hhcGVzXG4gKiBlbWJlZGRlZCBpbiBgT2JzZXJ2ZXJTdGF0c2AuIFR5cGVzIG9ubHkg4oCUIHRoZSBvYnNlcnZlci1xdWV1ZSBtb2R1bGVcbiAqIGl0c2VsZiBpcyBpbnRlcm5hbDsgY29uc3VtZXJzIHVzZSB0aGUgYXR0YWNoIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIHsgQ2FwdHVyZVBvbGljeSwgRGlzcGF0Y2hlclN0YXRzLCBMaXN0ZW5lclN0YXRzLCBPdmVyZmxvd1BvbGljeSB9IGZyb20gJy4vbGliL29ic2VydmVyLXF1ZXVlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBDb21iaW5lZCAoYm90aCBkYXRhLWZsb3cgYW5kIGNvbnRyb2wtZmxvdykgKi9cbmV4cG9ydCB0eXBlIHsgQ29tYmluZWRSZWNvcmRlciB9IGZyb20gJy4vbGliL3JlY29yZGVyL2luZGV4LmpzJztcbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgQ29tYmluZWQgKGJvdGggZGF0YS1mbG93IGFuZCBjb250cm9sLWZsb3cpICovXG5leHBvcnQge1xuICBoYXNFbWl0UmVjb3JkZXJNZXRob2RzLFxuICBoYXNGbG93UmVjb3JkZXJNZXRob2RzLFxuICBoYXNSZWNvcmRlck1ldGhvZHMsXG4gIGlzRmxvd0V2ZW50LFxufSBmcm9tICcuL2xpYi9yZWNvcmRlci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEVtaXQgKHVzZXItYXV0aG9yZWQgc3RydWN0dXJlZCBldmVudHMpXG4gKlxuICogVGhpcmQgb2JzZXJ2ZXIgY2hhbm5lbCAoYWxvbmdzaWRlIGBTY29wZVJlY29yZGVyYCBhbmQgYEZsb3dSZWNvcmRlcmApLiBDb25zdW1lclxuICogY29kZSBjYWxscyBgc2NvcGUuJGVtaXQobmFtZSwgcGF5bG9hZClgIGZyb20gaW5zaWRlIGEgc3RhZ2U7IGV2ZXJ5IGF0dGFjaGVkXG4gKiBgRW1pdFJlY29yZGVyLm9uRW1pdChldmVudClgIGZpcmVzIHN5bmNocm9ub3VzbHkgd2l0aCBzdGFnZS1jb250ZXh0XG4gKiBlbnJpY2htZW50LiBQYXNzLXRocm91Z2gg4oCUIG5vIGJ1ZmZlcmluZywgemVybyBhbGxvY2F0aW9uIHdoZW4gbm8gcmVjb3JkZXJcbiAqIGlzIGF0dGFjaGVkLlxuICovXG5leHBvcnQgdHlwZSB7IEVtaXRFdmVudCwgRW1pdFJlY29yZGVyIH0gZnJvbSAnLi9saWIvcmVjb3JkZXIvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPYnNlcnZlIOKAlCBGbG93IChGbG93UmVjb3JkZXIsIGZpcmVzIGFmdGVyIHN0YWdlIGV4ZWN1dGlvbilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgdHlwZSB7XG4gIEZsb3dCcmVha0V2ZW50LFxuICBGbG93RGVjaXNpb25FdmVudCxcbiAgRmxvd0Vycm9yRXZlbnQsXG4gIEZsb3dGb3JrRXZlbnQsXG4gIEZsb3dMb29wRXZlbnQsXG4gIEZsb3dOZXh0RXZlbnQsXG4gIEZsb3dSZWNvcmRlcixcbiAgRmxvd1J1bkV2ZW50LFxuICBGbG93UnVuRmFpbGVkRXZlbnQsXG4gIEZsb3dTZWxlY3RlZEV2ZW50LFxuICBGbG93U3RhZ2VFdmVudCxcbiAgRmxvd1N0YWdlUmV0cnlFdmVudCxcbiAgRmxvd1N1YmZsb3dFdmVudCxcbiAgRmxvd1N1YmZsb3dSZWdpc3RlcmVkRXZlbnQsXG4gIFRyYXZlcnNhbENvbnRleHQsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvdyAqL1xuZXhwb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZUVudHJ5IH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvd1xuICpcbiAqIGBOYXJyYXRpdmVGb3JtYXR0ZXJgIOKAlCBwbHVnZ2FibGUgZm9ybWF0dGVyIHRoYXQgY29udmVydHMgZXZlbnQgY29udGV4dFxuICogb2JqZWN0cyBpbnRvIHRoZSB0ZXh0IGxpbmVzIG9mIHRoZSBuYXJyYXRpdmUuIFByZWZlciB0aGlzIG5hbWUgaW4gbmV3XG4gKiBjb2RlOyBgTmFycmF0aXZlUmVuZGVyZXJgIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyB0aGF0IHdpbGwgYmUgcmVtb3ZlZCBpblxuICogdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgeyBOYXJyYXRpdmVGb3JtYXR0ZXIsIE5hcnJhdGl2ZVJlbmRlcmVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB0eXBlIHsgTWFuaWZlc3RFbnRyeSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvdyAqL1xuZXhwb3J0IHsgTWFuaWZlc3RGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IEFkYXB0aXZlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBNaWxlc3RvbmVOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFByb2dyZXNzaXZlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBSTEVOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBTaWxlbnROYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFdpbmRvd2VkTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VsZi1EZXNjcmliaW5nIOKAlCAuY29udHJhY3QoKSwgdG9PcGVuQVBJKCksIHRvTUNQVG9vbCgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgU2VsZi1EZXNjcmliaW5nICovXG5leHBvcnQgdHlwZSB7XG4gIEZsb3dDaGFydENvbnRyYWN0LFxuICBGbG93Q2hhcnRDb250cmFjdE9wdGlvbnMsXG4gIEpzb25TY2hlbWEsXG4gIE9wZW5BUElPcHRpb25zLFxuICBPcGVuQVBJU3BlYyxcbn0gZnJvbSAnLi9saWIvY29udHJhY3QvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTbmFwc2hvdCAmIENvbXBvc2l0aW9uIOKAlCBTdWJmbG93IG5hdmlnYXRpb24gYW5kIENvbXBvc2FibGVSdW5uZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBTbmFwc2hvdCAmIENvbXBvc2l0aW9uICovXG5leHBvcnQgdHlwZSB7IENvbXBvc2FibGVSdW5uZXIgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFNuYXBzaG90ICYgQ29tcG9zaXRpb24gKi9cbmV4cG9ydCB0eXBlIHsgUmVjb3JkZXJTbmFwc2hvdCwgUnVudGltZVNuYXBzaG90LCBTdWJ0cmVlU25hcHNob3QgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFNuYXBzaG90ICYgQ29tcG9zaXRpb24gKi9cbmV4cG9ydCB7IGdldFN1YnRyZWVTbmFwc2hvdCwgbGlzdFN1YmZsb3dQYXRocyB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlUmVjb3JkZXIgQ29tcG9zaXRpb24g4oCUIEJ1bmRsZSBtdWx0aXBsZSByZWNvcmRlcnMgaW50byBkb21haW4gcHJlc2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IFNjb3BlUmVjb3JkZXIgKi9cbmV4cG9ydCB7IENvbXBvc2l0ZVJlY29yZGVyIH0gZnJvbSAnLi9saWIvcmVjb3JkZXIvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYXVzZS9SZXN1bWUg4oCUIFNlcmlhbGl6YWJsZSBjaGVja3BvaW50cyBmb3IgbG9uZy1ydW5uaW5nIG9yIGh1bWFuLWluLXRoZS1sb29wIGZsb3dzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgUGF1c2UvUmVzdW1lICovXG4vKiogQGNhdGVnb3J5IFBhdXNlL1Jlc3VtZSAqL1xuZXhwb3J0IHR5cGUgeyBGbG93Y2hhcnRDaGVja3BvaW50LCBQYXVzYWJsZUhhbmRsZXIsIFBlbmRpbmdQYXVzZSB9IGZyb20gJy4vbGliL3BhdXNlL2luZGV4LmpzJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgUGF1c2UvUmVzdW1lXG4gKlxuICogYGludGVycnVwdChzY29wZSwgeyByZWFzb24sIGV4cGVjdHM/IH0pYCDigJQgc3RvcCBtaWQtc3RhZ2UgdG8gYXNrIGEgcXVlc3Rpb24sXG4gKiBhbmQgZ2V0IHRoZSBhbnN3ZXIgYmFjayBhdCB0aGUgc2FtZSBjYWxsIHNpdGUgd2hlbiB0aGUgcnVuIHJlc3VtZXMuIFJlc3VtZVxuICogcmUtZW50ZXJzIHRoZSBzdGFnZSBmcm9tIGl0cyBUT1AgKHN0YWdlcyBhcmUgYXRvbWljKSwgc28ga2VlcCB0aGUgaGFsZlxuICogYmVmb3JlIHRoZSBjYWxsIGlkZW1wb3RlbnQuXG4gKi9cbmV4cG9ydCB0eXBlIHsgSW50ZXJydXB0UGF5bG9hZCB9IGZyb20gJy4vbGliL3BhdXNlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBQYXVzZS9SZXN1bWUgKi9cbmV4cG9ydCB7IGludGVycnVwdCB9IGZyb20gJy4vbGliL3BhdXNlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBTY29wZVJlY29yZGVyICovXG5leHBvcnQgdHlwZSB7IENvbXBvc2l0ZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcmVjb3JkZXIvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb25maWd1cmF0aW9uIOKAlCBUeXBlcyBwYXNzZWQgdG8gRmxvd0NoYXJ0RXhlY3V0b3IgYW5kIHJ1bigpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgQ29uZmlndXJhdGlvbiAqL1xuZXhwb3J0IHR5cGUgeyBFeGVjdXRpb25FbnYsIEV4ZWN1dG9yUmVzdWx0LCBQYXVzZWRSZXN1bHQsIFJ1bk9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IENvbmZpZ3VyYXRpb24gKi9cbmV4cG9ydCB0eXBlIHsgU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgQ29uZmlndXJhdGlvblxuICpcbiAqIFJlYWQtdHJhY2tpbmcgcG9saWN5IGZvciBgU3RhZ2VTbmFwc2hvdC5zdGFnZVJlYWRzYCAoIzE0KTpcbiAqIGAnZnVsbCdgIChkZWZhdWx0IOKAlCBwZXItcmVhZCB2YWx1ZSBjbG9uZSwgaGlzdG9yaWNhbCBiZWhhdmlvcikgL1xuICogYCdzdW1tYXJ5J2AgKGNoZWFwIGBSZWFkU3VtbWFyeU1hcmtlcmAgcGVyIHJlYWQpIC8gYCdvZmYnYCAobm8gdHJhY2tpbmcsXG4gKiB6ZXJvIHBlci1yZWFkIGNsb25lKS4gUGFzcyBhcyBgbmV3IEZsb3dDaGFydEV4ZWN1dG9yKGNoYXJ0LCB7IHJlYWRUcmFja2luZyB9KWBcbiAqIG9yIGNhbGwgYGV4ZWN1dG9yLnNldFJlYWRUcmFja2luZyhtb2RlKWAgYmVmb3JlIGBydW4oKWAuXG4gKi9cbmV4cG9ydCB0eXBlIHsgUmVhZFN1bW1hcnlNYXJrZXIsIFJlYWRUcmFja2luZ01vZGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb25maWd1cmF0aW9uXG4gKlxuICogV3JpdGUtdHJhY2tpbmcgcG9saWN5IGZvciBgU3RhZ2VTbmFwc2hvdC5zdGFnZVdyaXRlc2AgKCMxM2MtQSkg4oCUIHRoZVxuICogc2libGluZyBvZiBgUmVhZFRyYWNraW5nTW9kZWA7IGJvdGggYWxpYXMgdGhlIHNoYXJlZCBgUmV0ZW50aW9uUG9saWN5YFxuICogZmFtaWx5IGZyb20gYGxpYi9jYXB0dXJlYC4gYCdmdWxsJ2AgKGRlZmF1bHQg4oCUIHBlci13cml0ZSB2YWx1ZSBjbG9uZSxcbiAqIGhpc3RvcmljYWwgYmVoYXZpb3IpIC8gYCdzdW1tYXJ5J2AgKGNoZWFwIGBXcml0ZVN1bW1hcnlNYXJrZXJgIHBlciB3cml0ZSlcbiAqIC8gYCdvZmYnYCAobm8gdHJhY2tpbmc7IGBzdGFnZVdyaXRlc2AgYWJzZW50IGFuZCB0aGUgYG9uQ29tbWl0YCBtdXRhdGlvbnNcbiAqIHBheWxvYWQgaXMgZW1wdHkg4oCUIHdyaXRlcyB0aGVtc2VsdmVzIHN0aWxsIGNvbW1pdCwgYW5kIHRoZSBjb21taXQgbG9nIGlzXG4gKiB1bmFmZmVjdGVkKS4gUGFzcyBhcyBgbmV3IEZsb3dDaGFydEV4ZWN1dG9yKGNoYXJ0LCB7IHdyaXRlVHJhY2tpbmcgfSlgIG9yXG4gKiBjYWxsIGBleGVjdXRvci5zZXRXcml0ZVRyYWNraW5nKG1vZGUpYCBiZWZvcmUgYHJ1bigpYC5cbiAqL1xuZXhwb3J0IHR5cGUgeyBSZXRlbnRpb25Qb2xpY3ksIFdyaXRlU3VtbWFyeU1hcmtlciwgV3JpdGVUcmFja2luZ01vZGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb25maWd1cmF0aW9uXG4gKlxuICogQ29tbWl0LXZhbHVlcyBlbmNvZGluZyBmb3IgdGhlIENPTU1JVCBMT0cgKCMxM2MtQikg4oCUIHRoZSB0aGlyZCBkaWFsIG9mXG4gKiB0aGUgZmFtaWx5LCBhbmQgdGhlIG9ubHkgTE9TU0xFU1Mgb25lIChpdCBjaGFuZ2VzIHRoZSBsb2cncyBlbmNvZGluZyxcbiAqIG5ldmVyIGl0cyBpbmZvcm1hdGlvbikuIGAnZnVsbCdgIChkZWZhdWx0IOKAlCBldmVyeSBzdXJ2aXZpbmcgYHNldGAgc3RvcmVzXG4gKiB0aGUgZnVsbCBmaW5hbCB2YWx1ZSwgYnl0ZS1pZGVudGljYWwgdG8gaGlzdG9yeSkgLyBgJ2RlbHRhJ2AgKGFycmF5XG4gKiBuZXQtY2hhbmdlcyB0aGF0IGFyZSBcImJhc2UgcGx1cyBhIHRhaWxcIiBjb21taXQgYXMgYW4gYGFwcGVuZGAgdmVyYlxuICogc3RvcmluZyBvbmx5IHRoZSB0YWlsOyBgZGVsZXRlVmFsdWUoKWAgY29tbWl0cyBhcyBhIHJlYWwgYGRlbGV0ZWAgdmVyYjtcbiAqIG9uZSB0cmFjZSBlbnRyeSBwZXIgc3Vydml2aW5nIHBhdGgpLiBSZXBsYXkgcmVjb25zdHJ1Y3RzIGV2ZXJ5IHN0ZXAnc1xuICogZnVsbCBzdGF0ZSBleGFjdGx5LiBDb25zdW1lcnMgcmVhZGluZyBgYnVuZGxlLm92ZXJ3cml0ZVtrZXldYCBhcyB0aGUgZnVsbFxuICogdmFsdWUgbXVzdCB1c2UgYGNvbW1pdFZhbHVlQXRgIGZyb20gYGZvb3RwcmludGpzL3RyYWNlYC4gUGFzcyBhc1xuICogYG5ldyBGbG93Q2hhcnRFeGVjdXRvcihjaGFydCwgeyBjb21taXRWYWx1ZXMgfSlgIG9yIGNhbGxcbiAqIGBleGVjdXRvci5zZXRDb21taXRWYWx1ZXMobW9kZSlgIGJlZm9yZSBgcnVuKClgOyB0aGUgYWN0aXZlIG1vZGUgaXMgdGhlXG4gKiBzbmFwc2hvdCBkaXNjcmltaW5hbnQgYGdldFNuYXBzaG90KCkuY29tbWl0VmFsdWVzYC5cbiAqL1xuZXhwb3J0IHR5cGUgeyBDb21taXRWYWx1ZXNNb2RlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJhY3QgJiBWYWxpZGF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgQ29udHJhY3QgJiBWYWxpZGF0aW9uICovXG5leHBvcnQgdHlwZSB7IFNjaGVtYUtpbmQsIFZhbGlkYXRpb25Jc3N1ZSwgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4vbGliL3NjaGVtYS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgQ29udHJhY3QgJiBWYWxpZGF0aW9uICovXG5leHBvcnQgeyBkZXRlY3RTY2hlbWEsIGlzVmFsaWRhdGFibGUsIGlzWm9kIH0gZnJvbSAnLi9saWIvc2NoZW1hL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBDb250cmFjdCAmIFZhbGlkYXRpb24gKi9cbmV4cG9ydCB7IElucHV0VmFsaWRhdGlvbkVycm9yLCB2YWxpZGF0ZUFnYWluc3RTY2hlbWEsIHZhbGlkYXRlT3JUaHJvdyB9IGZyb20gJy4vbGliL3NjaGVtYS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVycm9yIFV0aWxpdGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IEVycm9yIFV0aWxpdGllcyAqL1xuZXhwb3J0IHR5cGUgeyBTdHJ1Y3R1cmVkRXJyb3JJbmZvIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBFcnJvciBVdGlsaXRpZXMgKi9cbmV4cG9ydCB7IGV4dHJhY3RFcnJvckluZm8sIGZvcm1hdEVycm9ySW5mbyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERldiBUb29scyDigJQgTW9kZSBmbGFncyBhbmQgWm9kIHNjb3BlIHV0aWxpdGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEBjYXRlZ29yeSBEZXYgVG9vbHNcbiAqXG4gKiBHbG9iYWwgZGV2LW1vZGUgZmxhZy4gQ2FsbCBgZW5hYmxlRGV2TW9kZSgpYCBhdCBhcHBsaWNhdGlvbiBzdGFydHVwIHRvXG4gKiB0dXJuIG9uIGRldmVsb3Blci1vbmx5IGRpYWdub3N0aWNzIGFjcm9zcyB0aGUgbGlicmFyeSDigJQgY2lyY3VsYXItcmVmZXJlbmNlXG4gKiBkZXRlY3Rpb24gaW4gc2NvcGUgd3JpdGVzLCB3YXJuaW5ncyB3aGVuIGEgcmVjb3JkZXIgaGFzIG5vIG9ic2VydmVyXG4gKiBtZXRob2RzLCBzdXNwaWNpb3VzLXByZWRpY2F0ZSB3YXJuaW5ncyBpbiBkZWNpZGUvc2VsZWN0LCBzdHJ1Y3R1cmFsXG4gKiBjaGVja3MgaW4gYGdldFN1YnRyZWVTbmFwc2hvdGAsIGFuZCBhbnkgZnV0dXJlIGRldi1vbmx5IGRpYWdub3N0aWMuXG4gKlxuICogUHJvZHVjdGlvbiBsZWF2ZXMgaXQgT0ZGIGJ5IGRlZmF1bHQgKHplcm8gb3ZlcmhlYWQpLiBTZWUgdGhlIEpTRG9jIG9uXG4gKiBgZW5hYmxlRGV2TW9kZWAgZm9yIHRoZSBmdWxsIGxpc3QgYW5kIHVzYWdlIGV4YW1wbGUuXG4gKi9cbmV4cG9ydCB7IGRpc2FibGVEZXZNb2RlLCBlbmFibGVEZXZNb2RlLCBpc0Rldk1vZGUgfSBmcm9tICcuL2xpYi9kZXZNb2RlLmpzJztcblxuLy8gYGRlZmluZVNjb3BlRnJvbVpvZGAgYW5kIHRoZSBvdGhlciB6b2QtYmFzZWQgc2NvcGUgaGVscGVycyBtb3ZlZCB0byB0aGUgb3B0LWluXG4vLyBgZm9vdHByaW50anMvem9kYCBlbnRyeSDigJQga2VlcGluZyB6b2Qgb3V0IG9mIHRoZSBjb3JlIGxvYWQgcGF0aCAoaXQgaXMgYW5cbi8vIG9wdGlvbmFsIHBlZXIpLiBJbXBvcnQgdGhlbSBmcm9tICdmb290cHJpbnRqcy96b2QnLlxuLy8gQSBydW4ncyByZWNvcmQgYXMgSlNPTiB3aXRob3V0IHRoZSBlbmdpbmUncyByZWN1cnNpb24gbGltaXQgKDkuMjYuMCk6IHRoZVxuLy8gc2FtZSBieXRlcyBKU09OLnN0cmluZ2lmeSBlbWl0cywgZm9yIGEgZGVlcCBgbmV4dGAgY2hhaW4gaXQgY2Fubm90IGVuY29kZS5cbmV4cG9ydCB7IHN0cmluZ2lmeVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL3N0cmluZ2lmeVNuYXBzaG90LmpzJztcbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFTSCw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBNkJ4Riw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0IzQyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWtCdkQsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFxQm5ELCtCQUErQjtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxvQ0FBb0M7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFtQzVELHFFQUFxRTtBQUNyRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0seUJBQXlCLENBQUM7QUFrRGpDLCtCQUErQjtBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs5RCwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBeUJ0RSx1Q0FBdUM7QUFDdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSwrRUFBK0U7QUFFL0UsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBb0I1RCw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBaUVqRCxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Usc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVNyRyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFFLCtFQUErRTtBQUMvRSxpREFBaUQ7QUFDakQsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUUsaUZBQWlGO0FBQ2pGLDRFQUE0RTtBQUM1RSxzREFBc0Q7QUFDdEQsNEVBQTRFO0FBQzVFLDZFQUE2RTtBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm9vdFByaW50IOKAlCBQdWJsaWMgQVBJICh2MylcbiAqXG4gKiBUaGUgZmxvd2NoYXJ0IHBhdHRlcm4gZm9yIGJhY2tlbmQgY29kZS5cbiAqIEJ1aWxkIOKGkiBSdW4g4oaSIE9ic2VydmUuXG4gKlxuICogKipUaHJlZSBpbXBvcnQgcGF0aHM6KipcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmbG93Q2hhcnQsIGRlY2lkZSwgbmFycmF0aXZlIH0gZnJvbSAnZm9vdHByaW50anMnOyAgICAgICAgICAgLy8gbWFpbiDigJQgc3RhcnQgaGVyZVxuICogaW1wb3J0IHsgbWV0cmljcywgZGVidWcsIG1hbmlmZXN0IH0gICAgIGZyb20gJ2Zvb3RwcmludGpzL3JlY29yZGVycyc7IC8vIHJlY29yZGVyIGZhY3Rvcmllc1xuICogaW1wb3J0IHsgU2hhcmVkTWVtb3J5LCBTdGFnZUNvbnRleHQgfSAgIGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJzsgIC8vIGludGVybmFsc1xuICogYGBgXG4gKlxuICogQG1vZHVsZVxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFF1aWNrIFN0YXJ0IOKAlCBFdmVyeXRoaW5nIHlvdSBuZWVkIGZvciA5MCUgb2YgdXNlIGNhc2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgUXVpY2sgU3RhcnQgKi9cbmV4cG9ydCB0eXBlIHsgRmxvd0NoYXJ0LCBTdGFnZUZ1bmN0aW9uIGFzIFN0YWdlSGFuZGxlciwgU3RyZWFtSGFuZGxlcnMgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBRdWljayBTdGFydCAqL1xuZXhwb3J0IHsgZmxvd0NoYXJ0LCBGbG93Q2hhcnRCdWlsZGVyLCBmbG93Q2hhcnRTZWxlY3RvciB9IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBRdWljayBTdGFydFxuICpcbiAqIENvbmZpZyBmb3IgYC5hZGRQYXJhbGxlbEZvckVhY2goKWAg4oCUIG9uZSBicmFuY2ggcGVyIGl0ZW0sIGJyYW5jaCBjb3VudFxuICogZGVjaWRlZCBhdCBydW4gdGltZSBmcm9tIHRoZSBwYXlsb2FkLiBgbWF4QnJhbmNoZXNgIGFuZCBgaW50b2AgYXJlIHJlcXVpcmVkXG4gKiBvbiBwdXJwb3NlIChzZWUgZG9jcy9kZXNpZ24vZXhlY3V0aW9uLWNvbnRyb2wubWQpLlxuICovXG5leHBvcnQgdHlwZSB7IEJyYW5jaENoYXJ0LCBQYXJhbGxlbEZvckVhY2hDb25maWcsIFJldHJ5UG9saWN5IH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgUXVpY2sgU3RhcnQg4oCUIGJ1aWxkLXRpbWUgb2JzZXJ2ZXIgKHR3aW4gb2YgRmxvd1JlY29yZGVyKSAqL1xuZXhwb3J0IHR5cGUge1xuICBTdHJ1Y3R1cmVEZWNpZGVyQ29tcGxldGVFdmVudCxcbiAgU3RydWN0dXJlRWRnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZUVkZ2VLaW5kLFxuICBTdHJ1Y3R1cmVMb29wRWRnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZVJlY29yZGVyLFxuICBTdHJ1Y3R1cmVTdGFnZUFkZGVkRXZlbnQsXG4gIFN0cnVjdHVyZVN0YWdlVGFnZ2VkRXZlbnQsXG4gIFN0cnVjdHVyZVN1YmZsb3dNb3VudGVkRXZlbnQsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFF1aWNrIFN0YXJ0ICovXG5leHBvcnQgdHlwZSB7IFR5cGVkU3RhZ2VGdW5jdGlvbiB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vKiogQGNhdGVnb3J5IFF1aWNrIFN0YXJ0ICovXG5leHBvcnQgdHlwZSB7IFNjb3BlTWV0aG9kcywgVHlwZWRTY29wZSB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBRdWljayBTdGFydCAqL1xuZXhwb3J0IHsgbmFycmF0aXZlIH0gZnJvbSAnLi9yZWNvcmRlcnMuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNpc2lvbiBCcmFuY2hpbmcg4oCUIGRlY2lkZSgpIC8gc2VsZWN0KCkgd2l0aCBldmlkZW5jZSBjYXB0dXJlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgRGVjaXNpb24gQnJhbmNoaW5nICovXG5leHBvcnQgdHlwZSB7XG4gIERlY2lkZVJ1bGUsXG4gIERlY2lzaW9uRXZpZGVuY2UsXG4gIERlY2lzaW9uUmVzdWx0LFxuICBEZWZhdWx0QnJhbmNoLFxuICBGaWx0ZXJPcHMsXG4gIFJ1bGVFdmlkZW5jZSxcbiAgU2VsZWN0aW9uRXZpZGVuY2UsXG4gIFNlbGVjdGlvblJlc3VsdCxcbiAgV2hlbkNsYXVzZSxcbiAgV2hlcmVGaWx0ZXIsXG59IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgRGVjaXNpb24gQnJhbmNoaW5nICovXG5leHBvcnQgeyBkZWNpZGUsIHNlbGVjdCB9IGZyb20gJy4vbGliL2RlY2lkZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1biDigJQgRXhlY3V0ZSBjaGFydHMgYW5kIGNvbGxlY3QgcmVzdWx0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHR5cGUgeyBSdW5SZXN1bHQgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHR5cGUgeyBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnMgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKipcbiAqIFRoZSBmb3VyIG9ic2VydmFiaWxpdHkgZGlhbHMgYEZsb3dDaGFydEV4ZWN1dG9yT3B0aW9uc2AgaW5oZXJpdHMuXG4gKiBAY2F0ZWdvcnkgUnVuXG4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuRGlhbHMgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHsgRmxvd0NoYXJ0RXhlY3V0b3IgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFJ1biAqL1xuZXhwb3J0IHsgUnVuQ29udGV4dCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgUnVuICovXG5leHBvcnQgdHlwZSB7IENoYXJ0T3BlbkFQSU9wdGlvbnMsIE1DUFRvb2xEZXNjcmlwdGlvbiwgUnVubmFibGVGbG93Q2hhcnQgfSBmcm9tICcuL2xpYi9ydW5uZXIvUnVubmFibGVDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9ic2VydmUg4oCUIERhdGEgKHNjb3BlIHJlY29yZGVycywgZmlyZSBkdXJpbmcgc3RhZ2UgZXhlY3V0aW9uKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERhdGEgKi9cbmV4cG9ydCB0eXBlIHtcbiAgQ29tbWl0RXZlbnQsXG4gIEVycm9yRXZlbnQsXG4gIFJlYWRFdmVudCxcbiAgUmVkYWN0aW9uUG9saWN5LFxuICBSZWRhY3Rpb25SZXBvcnQsXG4gIFNjb3BlUmVjb3JkZXIsXG4gIFN0YWdlRXZlbnQsXG4gIFdyaXRlRXZlbnQsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBEYXRhICovXG5leHBvcnQgeyBNZXRyaWNSZWNvcmRlciB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBEYXRhICovXG5leHBvcnQgeyBEZWJ1Z1JlY29yZGVyIH0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIE9wZXJhdGlvbiAqL1xuZXhwb3J0IHsgUmVjb3JkZXJPcGVyYXRpb24gfSBmcm9tICcuL2xpYi9yZWNvcmRlci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERlbGl2ZXJ5IHRpZXIgKFJGQy0wMDEgZGVmZXJyZWQgb2JzZXJ2ZXJzKVxuICpcbiAqIEV2ZXJ5IGBhdHRhY2gqUmVjb3JkZXJgIGNhbGwgYWNjZXB0cyBhbiBvcHRpb25zIGJhZzpcbiAqIGBleGVjdXRvci5hdHRhY2hTY29wZVJlY29yZGVyKHJlYywgeyBkZWxpdmVyeTogJ2RlZmVycmVkJyB9KWAgdGFrZXMgdGhlXG4gKiByZWNvcmRlciBPVVQgb2YgdGhlIGVuZ2luZSdzIGhvdCBwYXRoIOKAlCBldmVudHMgYXJlIGNhcHR1cmVkIGludG8gb25lXG4gKiBib3VuZGVkLCB0b3RhbGx5LW9yZGVyZWQgcXVldWUgYW5kIGRlbGl2ZXJlZCBhdCB0aGUgbmV4dCBtaWNyb3Rhc2tcbiAqIGNoZWNrcG9pbnQgKFwib25lIGJlYXQgYmVoaW5kXCIpLiBPbWl0IGBkZWxpdmVyeWAgZm9yIHRoZSBoaXN0b3JpY2FsXG4gKiBzeW5jaHJvbm91cyBjYWxsIChieXRlLWlkZW50aWNhbCB0byBwcmV2aW91cyByZWxlYXNlcykuIEFjY291bnRpbmdcbiAqIHN1cmZhY2VzIG9uIGBzbmFwc2hvdC5vYnNlcnZlclN0YXRzYDsgYGV4ZWN1dG9yLmRyYWluT2JzZXJ2ZXJzKClgIHNldHRsZXNcbiAqIGFzeW5jIGxpc3RlbmVycyBiZWZvcmUgc2h1dGRvd24uIFNlZSBgZG9jcy9ndWlkZXMvb2JzZXJ2ZXJzLWRlZmVycmVkLm1kYC5cbiAqL1xuZXhwb3J0IHR5cGUge1xuICBBdHRhY2hSZWNvcmRlck9wdGlvbnMsXG4gIE9ic2VydmVyRGVsaXZlcnksXG4gIE9ic2VydmVyRHJhaW5SZXN1bHQsXG4gIE9ic2VydmVyU3RhdHMsXG59IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIERlbGl2ZXJ5IHRpZXIgKFJGQy0wMDEgZGVmZXJyZWQgb2JzZXJ2ZXJzKVxuICpcbiAqIGBDYXB0dXJlUG9saWN5YCDigJQgaG93IGEgZGVmZXJyZWQgZXZlbnQncyBwYXlsb2FkIGlzIG1hdGVyaWFsaXplZCBhdFxuICogY2FwdHVyZSB0aW1lIChgJ3N1bW1hcnknYCBkZWZhdWx0IC8gYCdjbG9uZSdgIC8gYCdyZWYnYCkuIGBPdmVyZmxvd1BvbGljeWBcbiAqIOKAlCB3aGF0IGEgc2F0dXJhdGVkIHF1ZXVlIGRvZXMgKGAnZHJvcC1vbGRlc3QnYCBkZWZhdWx0IC8gYCdzYW1wbGUnYCAvXG4gKiBgJ2Jsb2NrJ2ApLiBgRGlzcGF0Y2hlclN0YXRzYCAvIGBMaXN0ZW5lclN0YXRzYCDigJQgdGhlIGFjY291bnRpbmcgc2hhcGVzXG4gKiBlbWJlZGRlZCBpbiBgT2JzZXJ2ZXJTdGF0c2AuIFR5cGVzIG9ubHkg4oCUIHRoZSBvYnNlcnZlci1xdWV1ZSBtb2R1bGVcbiAqIGl0c2VsZiBpcyBpbnRlcm5hbDsgY29uc3VtZXJzIHVzZSB0aGUgYXR0YWNoIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIHsgQ2FwdHVyZVBvbGljeSwgRGlzcGF0Y2hlclN0YXRzLCBMaXN0ZW5lclN0YXRzLCBPdmVyZmxvd1BvbGljeSB9IGZyb20gJy4vbGliL29ic2VydmVyLXF1ZXVlL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBDb21iaW5lZCAoYm90aCBkYXRhLWZsb3cgYW5kIGNvbnRyb2wtZmxvdykgKi9cbmV4cG9ydCB0eXBlIHsgQ29tYmluZWRSZWNvcmRlciB9IGZyb20gJy4vbGliL3JlY29yZGVyL2luZGV4LmpzJztcbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgQ29tYmluZWQgKGJvdGggZGF0YS1mbG93IGFuZCBjb250cm9sLWZsb3cpICovXG5leHBvcnQge1xuICBoYXNFbWl0UmVjb3JkZXJNZXRob2RzLFxuICBoYXNGbG93UmVjb3JkZXJNZXRob2RzLFxuICBoYXNSZWNvcmRlck1ldGhvZHMsXG4gIGlzRmxvd0V2ZW50LFxufSBmcm9tICcuL2xpYi9yZWNvcmRlci9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEVtaXQgKHVzZXItYXV0aG9yZWQgc3RydWN0dXJlZCBldmVudHMpXG4gKlxuICogVGhpcmQgb2JzZXJ2ZXIgY2hhbm5lbCAoYWxvbmdzaWRlIGBTY29wZVJlY29yZGVyYCBhbmQgYEZsb3dSZWNvcmRlcmApLiBDb25zdW1lclxuICogY29kZSBjYWxscyBgc2NvcGUuJGVtaXQobmFtZSwgcGF5bG9hZClgIGZyb20gaW5zaWRlIGEgc3RhZ2U7IGV2ZXJ5IGF0dGFjaGVkXG4gKiBgRW1pdFJlY29yZGVyLm9uRW1pdChldmVudClgIGZpcmVzIHN5bmNocm9ub3VzbHkgd2l0aCBzdGFnZS1jb250ZXh0XG4gKiBlbnJpY2htZW50LiBQYXNzLXRocm91Z2gg4oCUIG5vIGJ1ZmZlcmluZywgemVybyBhbGxvY2F0aW9uIHdoZW4gbm8gcmVjb3JkZXJcbiAqIGlzIGF0dGFjaGVkLlxuICovXG5leHBvcnQgdHlwZSB7IEVtaXRFdmVudCwgRW1pdFJlY29yZGVyIH0gZnJvbSAnLi9saWIvcmVjb3JkZXIvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPYnNlcnZlIOKAlCBGbG93IChGbG93UmVjb3JkZXIsIGZpcmVzIGFmdGVyIHN0YWdlIGV4ZWN1dGlvbilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgdHlwZSB7XG4gIEZsb3dCcmVha0V2ZW50LFxuICBGbG93RGVjaXNpb25FdmVudCxcbiAgRmxvd0Vycm9yRXZlbnQsXG4gIEZsb3dGb3JrRXZlbnQsXG4gIEZsb3dMb29wRXZlbnQsXG4gIEZsb3dOZXh0RXZlbnQsXG4gIEZsb3dSZWNvcmRlcixcbiAgRmxvd1J1bkV2ZW50LFxuICBGbG93UnVuRmFpbGVkRXZlbnQsXG4gIEZsb3dTZWxlY3RlZEV2ZW50LFxuICBGbG93U3RhZ2VFdmVudCxcbiAgRmxvd1N0YWdlUmV0cnlFdmVudCxcbiAgRmxvd1N1YmZsb3dFdmVudCxcbiAgRmxvd1N1YmZsb3dSZWdpc3RlcmVkRXZlbnQsXG4gIFJlc3VtZUxpbmssXG4gIFRyYXZlcnNhbENvbnRleHQsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvdyAqL1xuZXhwb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZUVudHJ5IH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvd1xuICpcbiAqIGBOYXJyYXRpdmVGb3JtYXR0ZXJgIOKAlCBwbHVnZ2FibGUgZm9ybWF0dGVyIHRoYXQgY29udmVydHMgZXZlbnQgY29udGV4dFxuICogb2JqZWN0cyBpbnRvIHRoZSB0ZXh0IGxpbmVzIG9mIHRoZSBuYXJyYXRpdmUuIFByZWZlciB0aGlzIG5hbWUgaW4gbmV3XG4gKiBjb2RlOyBgTmFycmF0aXZlUmVuZGVyZXJgIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyB0aGF0IHdpbGwgYmUgcmVtb3ZlZCBpblxuICogdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgeyBOYXJyYXRpdmVGb3JtYXR0ZXIsIE5hcnJhdGl2ZVJlbmRlcmVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB0eXBlIHsgTWFuaWZlc3RFbnRyeSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgT2JzZXJ2ZSDigJQgRmxvdyAqL1xuZXhwb3J0IHsgTWFuaWZlc3RGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IEFkYXB0aXZlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBNaWxlc3RvbmVOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFByb2dyZXNzaXZlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBSTEVOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBPYnNlcnZlIOKAlCBGbG93ICovXG5leHBvcnQgeyBTaWxlbnROYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IE9ic2VydmUg4oCUIEZsb3cgKi9cbmV4cG9ydCB7IFdpbmRvd2VkTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VsZi1EZXNjcmliaW5nIOKAlCAuY29udHJhY3QoKSwgdG9PcGVuQVBJKCksIHRvTUNQVG9vbCgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgU2VsZi1EZXNjcmliaW5nICovXG5leHBvcnQgdHlwZSB7XG4gIEZsb3dDaGFydENvbnRyYWN0LFxuICBGbG93Q2hhcnRDb250cmFjdE9wdGlvbnMsXG4gIEpzb25TY2hlbWEsXG4gIE9wZW5BUElPcHRpb25zLFxuICBPcGVuQVBJU3BlYyxcbn0gZnJvbSAnLi9saWIvY29udHJhY3QvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTbmFwc2hvdCAmIENvbXBvc2l0aW9uIOKAlCBTdWJmbG93IG5hdmlnYXRpb24gYW5kIENvbXBvc2FibGVSdW5uZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBTbmFwc2hvdCAmIENvbXBvc2l0aW9uICovXG5leHBvcnQgdHlwZSB7IENvbXBvc2FibGVSdW5uZXIgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFNuYXBzaG90ICYgQ29tcG9zaXRpb24gKi9cbmV4cG9ydCB0eXBlIHsgUmVjb3JkZXJTbmFwc2hvdCwgUnVudGltZVNuYXBzaG90LCBTdWJ0cmVlU25hcHNob3QgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFNuYXBzaG90ICYgQ29tcG9zaXRpb24gKi9cbmV4cG9ydCB7IGdldFN1YnRyZWVTbmFwc2hvdCwgbGlzdFN1YmZsb3dQYXRocyB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlUmVjb3JkZXIgQ29tcG9zaXRpb24g4oCUIEJ1bmRsZSBtdWx0aXBsZSByZWNvcmRlcnMgaW50byBkb21haW4gcHJlc2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogQGNhdGVnb3J5IFNjb3BlUmVjb3JkZXIgKi9cbmV4cG9ydCB7IENvbXBvc2l0ZVJlY29yZGVyIH0gZnJvbSAnLi9saWIvcmVjb3JkZXIvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYXVzZS9SZXN1bWUg4oCUIFNlcmlhbGl6YWJsZSBjaGVja3BvaW50cyBmb3IgbG9uZy1ydW5uaW5nIG9yIGh1bWFuLWluLXRoZS1sb29wIGZsb3dzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgUGF1c2UvUmVzdW1lICovXG4vKiogQGNhdGVnb3J5IFBhdXNlL1Jlc3VtZSAqL1xuZXhwb3J0IHR5cGUgeyBGbG93Y2hhcnRDaGVja3BvaW50LCBQYXVzYWJsZUhhbmRsZXIsIFBhdXNlZEV4ZWN1dGlvbiwgUGVuZGluZ1BhdXNlIH0gZnJvbSAnLi9saWIvcGF1c2UvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBQYXVzZS9SZXN1bWVcbiAqXG4gKiBgaW50ZXJydXB0KHNjb3BlLCB7IHJlYXNvbiwgZXhwZWN0cz8gfSlgIOKAlCBzdG9wIG1pZC1zdGFnZSB0byBhc2sgYSBxdWVzdGlvbixcbiAqIGFuZCBnZXQgdGhlIGFuc3dlciBiYWNrIGF0IHRoZSBzYW1lIGNhbGwgc2l0ZSB3aGVuIHRoZSBydW4gcmVzdW1lcy4gUmVzdW1lXG4gKiByZS1lbnRlcnMgdGhlIHN0YWdlIGZyb20gaXRzIFRPUCAoc3RhZ2VzIGFyZSBhdG9taWMpLCBzbyBrZWVwIHRoZSBoYWxmXG4gKiBiZWZvcmUgdGhlIGNhbGwgaWRlbXBvdGVudC5cbiAqL1xuZXhwb3J0IHR5cGUgeyBJbnRlcnJ1cHRQYXlsb2FkIH0gZnJvbSAnLi9saWIvcGF1c2UvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFBhdXNlL1Jlc3VtZSAqL1xuZXhwb3J0IHsgaW50ZXJydXB0IH0gZnJvbSAnLi9saWIvcGF1c2UvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IFNjb3BlUmVjb3JkZXIgKi9cbmV4cG9ydCB0eXBlIHsgQ29tcG9zaXRlU25hcHNob3QgfSBmcm9tICcuL2xpYi9yZWNvcmRlci9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbmZpZ3VyYXRpb24g4oCUIFR5cGVzIHBhc3NlZCB0byBGbG93Q2hhcnRFeGVjdXRvciBhbmQgcnVuKClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBDb25maWd1cmF0aW9uICovXG5leHBvcnQgdHlwZSB7IEV4ZWN1dGlvbkVudiwgRXhlY3V0b3JSZXN1bHQsIFBhdXNlZFJlc3VsdCwgUnVuT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8qKiBAY2F0ZWdvcnkgQ29uZmlndXJhdGlvbiAqL1xuZXhwb3J0IHR5cGUgeyBTY29wZUZhY3RvcnkgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb25maWd1cmF0aW9uXG4gKlxuICogUmVhZC10cmFja2luZyBwb2xpY3kgZm9yIGBTdGFnZVNuYXBzaG90LnN0YWdlUmVhZHNgICgjMTQpOlxuICogYCdmdWxsJ2AgKGRlZmF1bHQg4oCUIHBlci1yZWFkIHZhbHVlIGNsb25lLCBoaXN0b3JpY2FsIGJlaGF2aW9yKSAvXG4gKiBgJ3N1bW1hcnknYCAoY2hlYXAgYFJlYWRTdW1tYXJ5TWFya2VyYCBwZXIgcmVhZCkgLyBgJ29mZidgIChubyB0cmFja2luZyxcbiAqIHplcm8gcGVyLXJlYWQgY2xvbmUpLiBQYXNzIGFzIGBuZXcgRmxvd0NoYXJ0RXhlY3V0b3IoY2hhcnQsIHsgcmVhZFRyYWNraW5nIH0pYFxuICogb3IgY2FsbCBgZXhlY3V0b3Iuc2V0UmVhZFRyYWNraW5nKG1vZGUpYCBiZWZvcmUgYHJ1bigpYC5cbiAqL1xuZXhwb3J0IHR5cGUgeyBSZWFkU3VtbWFyeU1hcmtlciwgUmVhZFRyYWNraW5nTW9kZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBXcml0ZS10cmFja2luZyBwb2xpY3kgZm9yIGBTdGFnZVNuYXBzaG90LnN0YWdlV3JpdGVzYCAoIzEzYy1BKSDigJQgdGhlXG4gKiBzaWJsaW5nIG9mIGBSZWFkVHJhY2tpbmdNb2RlYDsgYm90aCBhbGlhcyB0aGUgc2hhcmVkIGBSZXRlbnRpb25Qb2xpY3lgXG4gKiBmYW1pbHkgZnJvbSBgbGliL2NhcHR1cmVgLiBgJ2Z1bGwnYCAoZGVmYXVsdCDigJQgcGVyLXdyaXRlIHZhbHVlIGNsb25lLFxuICogaGlzdG9yaWNhbCBiZWhhdmlvcikgLyBgJ3N1bW1hcnknYCAoY2hlYXAgYFdyaXRlU3VtbWFyeU1hcmtlcmAgcGVyIHdyaXRlKVxuICogLyBgJ29mZidgIChubyB0cmFja2luZzsgYHN0YWdlV3JpdGVzYCBhYnNlbnQgYW5kIHRoZSBgb25Db21taXRgIG11dGF0aW9uc1xuICogcGF5bG9hZCBpcyBlbXB0eSDigJQgd3JpdGVzIHRoZW1zZWx2ZXMgc3RpbGwgY29tbWl0LCBhbmQgdGhlIGNvbW1pdCBsb2cgaXNcbiAqIHVuYWZmZWN0ZWQpLiBQYXNzIGFzIGBuZXcgRmxvd0NoYXJ0RXhlY3V0b3IoY2hhcnQsIHsgd3JpdGVUcmFja2luZyB9KWAgb3JcbiAqIGNhbGwgYGV4ZWN1dG9yLnNldFdyaXRlVHJhY2tpbmcobW9kZSlgIGJlZm9yZSBgcnVuKClgLlxuICovXG5leHBvcnQgdHlwZSB7IFJldGVudGlvblBvbGljeSwgV3JpdGVTdW1tYXJ5TWFya2VyLCBXcml0ZVRyYWNraW5nTW9kZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBDb21taXQtdmFsdWVzIGVuY29kaW5nIGZvciB0aGUgQ09NTUlUIExPRyAoIzEzYy1CKSDigJQgdGhlIHRoaXJkIGRpYWwgb2ZcbiAqIHRoZSBmYW1pbHksIGFuZCB0aGUgb25seSBMT1NTTEVTUyBvbmUgKGl0IGNoYW5nZXMgdGhlIGxvZydzIGVuY29kaW5nLFxuICogbmV2ZXIgaXRzIGluZm9ybWF0aW9uKS4gYCdmdWxsJ2AgKGRlZmF1bHQg4oCUIGV2ZXJ5IHN1cnZpdmluZyBgc2V0YCBzdG9yZXNcbiAqIHRoZSBmdWxsIGZpbmFsIHZhbHVlLCBieXRlLWlkZW50aWNhbCB0byBoaXN0b3J5KSAvIGAnZGVsdGEnYCAoYXJyYXlcbiAqIG5ldC1jaGFuZ2VzIHRoYXQgYXJlIFwiYmFzZSBwbHVzIGEgdGFpbFwiIGNvbW1pdCBhcyBhbiBgYXBwZW5kYCB2ZXJiXG4gKiBzdG9yaW5nIG9ubHkgdGhlIHRhaWw7IGBkZWxldGVWYWx1ZSgpYCBjb21taXRzIGFzIGEgcmVhbCBgZGVsZXRlYCB2ZXJiO1xuICogb25lIHRyYWNlIGVudHJ5IHBlciBzdXJ2aXZpbmcgcGF0aCkuIFJlcGxheSByZWNvbnN0cnVjdHMgZXZlcnkgc3RlcCdzXG4gKiBmdWxsIHN0YXRlIGV4YWN0bHkuIENvbnN1bWVycyByZWFkaW5nIGBidW5kbGUub3ZlcndyaXRlW2tleV1gIGFzIHRoZSBmdWxsXG4gKiB2YWx1ZSBtdXN0IHVzZSBgY29tbWl0VmFsdWVBdGAgZnJvbSBgZm9vdHByaW50anMvdHJhY2VgLiBQYXNzIGFzXG4gKiBgbmV3IEZsb3dDaGFydEV4ZWN1dG9yKGNoYXJ0LCB7IGNvbW1pdFZhbHVlcyB9KWAgb3IgY2FsbFxuICogYGV4ZWN1dG9yLnNldENvbW1pdFZhbHVlcyhtb2RlKWAgYmVmb3JlIGBydW4oKWA7IHRoZSBhY3RpdmUgbW9kZSBpcyB0aGVcbiAqIHNuYXBzaG90IGRpc2NyaW1pbmFudCBgZ2V0U25hcHNob3QoKS5jb21taXRWYWx1ZXNgLlxuICovXG5leHBvcnQgdHlwZSB7IENvbW1pdFZhbHVlc01vZGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCAmIFZhbGlkYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEBjYXRlZ29yeSBDb250cmFjdCAmIFZhbGlkYXRpb24gKi9cbmV4cG9ydCB0eXBlIHsgU2NoZW1hS2luZCwgVmFsaWRhdGlvbklzc3VlLCBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi9saWIvc2NoZW1hL2luZGV4LmpzJztcblxuLyoqIEBjYXRlZ29yeSBDb250cmFjdCAmIFZhbGlkYXRpb24gKi9cbmV4cG9ydCB7IGRldGVjdFNjaGVtYSwgaXNWYWxpZGF0YWJsZSwgaXNab2QgfSBmcm9tICcuL2xpYi9zY2hlbWEvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IENvbnRyYWN0ICYgVmFsaWRhdGlvbiAqL1xuZXhwb3J0IHsgSW5wdXRWYWxpZGF0aW9uRXJyb3IsIHZhbGlkYXRlQWdhaW5zdFNjaGVtYSwgdmFsaWRhdGVPclRocm93IH0gZnJvbSAnLi9saWIvc2NoZW1hL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRXJyb3IgVXRpbGl0aWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKiBAY2F0ZWdvcnkgRXJyb3IgVXRpbGl0aWVzICovXG5leHBvcnQgdHlwZSB7IFN0cnVjdHVyZWRFcnJvckluZm8gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vKiogQGNhdGVnb3J5IEVycm9yIFV0aWxpdGllcyAqL1xuZXhwb3J0IHsgZXh0cmFjdEVycm9ySW5mbywgZm9ybWF0RXJyb3JJbmZvIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGV2IFRvb2xzIOKAlCBNb2RlIGZsYWdzIGFuZCBab2Qgc2NvcGUgdXRpbGl0aWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQGNhdGVnb3J5IERldiBUb29sc1xuICpcbiAqIEdsb2JhbCBkZXYtbW9kZSBmbGFnLiBDYWxsIGBlbmFibGVEZXZNb2RlKClgIGF0IGFwcGxpY2F0aW9uIHN0YXJ0dXAgdG9cbiAqIHR1cm4gb24gZGV2ZWxvcGVyLW9ubHkgZGlhZ25vc3RpY3MgYWNyb3NzIHRoZSBsaWJyYXJ5IOKAlCBjaXJjdWxhci1yZWZlcmVuY2VcbiAqIGRldGVjdGlvbiBpbiBzY29wZSB3cml0ZXMsIHdhcm5pbmdzIHdoZW4gYSByZWNvcmRlciBoYXMgbm8gb2JzZXJ2ZXJcbiAqIG1ldGhvZHMsIHN1c3BpY2lvdXMtcHJlZGljYXRlIHdhcm5pbmdzIGluIGRlY2lkZS9zZWxlY3QsIHN0cnVjdHVyYWxcbiAqIGNoZWNrcyBpbiBgZ2V0U3VidHJlZVNuYXBzaG90YCwgYW5kIGFueSBmdXR1cmUgZGV2LW9ubHkgZGlhZ25vc3RpYy5cbiAqXG4gKiBQcm9kdWN0aW9uIGxlYXZlcyBpdCBPRkYgYnkgZGVmYXVsdCAoemVybyBvdmVyaGVhZCkuIFNlZSB0aGUgSlNEb2Mgb25cbiAqIGBlbmFibGVEZXZNb2RlYCBmb3IgdGhlIGZ1bGwgbGlzdCBhbmQgdXNhZ2UgZXhhbXBsZS5cbiAqL1xuZXhwb3J0IHsgZGlzYWJsZURldk1vZGUsIGVuYWJsZURldk1vZGUsIGlzRGV2TW9kZSB9IGZyb20gJy4vbGliL2Rldk1vZGUuanMnO1xuXG4vLyBgZGVmaW5lU2NvcGVGcm9tWm9kYCBhbmQgdGhlIG90aGVyIHpvZC1iYXNlZCBzY29wZSBoZWxwZXJzIG1vdmVkIHRvIHRoZSBvcHQtaW5cbi8vIGBmb290cHJpbnRqcy96b2RgIGVudHJ5IOKAlCBrZWVwaW5nIHpvZCBvdXQgb2YgdGhlIGNvcmUgbG9hZCBwYXRoIChpdCBpcyBhblxuLy8gb3B0aW9uYWwgcGVlcikuIEltcG9ydCB0aGVtIGZyb20gJ2Zvb3RwcmludGpzL3pvZCcuXG4vLyBBIHJ1bidzIHJlY29yZCBhcyBKU09OIHdpdGhvdXQgdGhlIGVuZ2luZSdzIHJlY3Vyc2lvbiBsaW1pdCAoOS4yNi4wKTogdGhlXG4vLyBzYW1lIGJ5dGVzIEpTT04uc3RyaW5naWZ5IGVtaXRzLCBmb3IgYSBkZWVwIGBuZXh0YCBjaGFpbiBpdCBjYW5ub3QgZW5jb2RlLlxuZXhwb3J0IHsgc3RyaW5naWZ5U25hcHNob3QgfSBmcm9tICcuL2xpYi9ydW5uZXIvc3RyaW5naWZ5U25hcHNob3QuanMnO1xuIl19
|
|
@@ -24,16 +24,8 @@ import type { FlowChart, FlowChartOptions, FlowChartSpec, ILogger, SerializedPip
|
|
|
24
24
|
* `end()` sets `deciderFn = true` — the fn IS the decider.
|
|
25
25
|
*/
|
|
26
26
|
export declare class DeciderList<TOut = any, TScope = any> {
|
|
27
|
-
private readonly
|
|
28
|
-
private readonly curNode;
|
|
29
|
-
private readonly curSpec;
|
|
30
|
-
private readonly branchIds;
|
|
27
|
+
private readonly cursor;
|
|
31
28
|
private defaultId?;
|
|
32
|
-
private readonly parentDescriptionParts;
|
|
33
|
-
private readonly parentStageDescriptions;
|
|
34
|
-
private readonly reservedStepNumber;
|
|
35
|
-
private readonly deciderDescription?;
|
|
36
|
-
private readonly branchDescInfo;
|
|
37
29
|
constructor(builder: FlowChartBuilder<TOut, TScope>, curNode: StageNode<TOut, TScope>, curSpec: SerializedPipelineStructure, parentDescriptionParts?: string[], parentStageDescriptions?: Map<string, string>, reservedStepNumber?: number, deciderDescription?: string);
|
|
38
30
|
addFunctionBranch(id: string, name: string, fn?: StageFunction<TOut, TScope>, description?: string,
|
|
39
31
|
/** `{ loopTo }` declares this branch loops back to an already-declared
|
|
@@ -108,15 +100,7 @@ export declare class DeciderList<TOut = any, TScope = any> {
|
|
|
108
100
|
end(): FlowChartBuilder<TOut, TScope>;
|
|
109
101
|
}
|
|
110
102
|
export declare class SelectorFnList<TOut = any, TScope = any> {
|
|
111
|
-
private readonly
|
|
112
|
-
private readonly curNode;
|
|
113
|
-
private readonly curSpec;
|
|
114
|
-
private readonly branchIds;
|
|
115
|
-
private readonly parentDescriptionParts;
|
|
116
|
-
private readonly parentStageDescriptions;
|
|
117
|
-
private readonly reservedStepNumber;
|
|
118
|
-
private readonly selectorDescription?;
|
|
119
|
-
private readonly branchDescInfo;
|
|
103
|
+
private readonly cursor;
|
|
120
104
|
constructor(builder: FlowChartBuilder<TOut, TScope>, curNode: StageNode<TOut, TScope>, curSpec: SerializedPipelineStructure, parentDescriptionParts?: string[], parentStageDescriptions?: Map<string, string>, reservedStepNumber?: number, selectorDescription?: string);
|
|
121
105
|
addFunctionBranch(id: string, name: string, fn?: StageFunction<TOut, TScope>, description?: string,
|
|
122
106
|
/** `{ retry }` gives THIS BRANCH's stage a declarative retry policy;
|
|
@@ -601,6 +585,47 @@ export declare class FlowChartBuilder<TOut = any, TScope = any> {
|
|
|
601
585
|
toMermaid(): string;
|
|
602
586
|
private _needCursor;
|
|
603
587
|
private _needCursorSpec;
|
|
588
|
+
/**
|
|
589
|
+
* The node a fan-out (`addListOfFunction`, `addSubFlowChart`,
|
|
590
|
+
* `addLazySubFlowChart`) hangs its children on — the cursor, unless the
|
|
591
|
+
* cursor's `children` already MEAN something else:
|
|
592
|
+
*
|
|
593
|
+
* - a subflow MOUNT — the engine reads a mount that carries children as the
|
|
594
|
+
* mounted chart's OWN content (`NodeResolver · resolveSubflowReference`),
|
|
595
|
+
* so a fork hung there ran INSIDE the subflow: the subflow's real chart
|
|
596
|
+
* never ran, everything after the fork ran twice, and a pause after it was
|
|
597
|
+
* checkpointed under the wrong subflow path (and refused on resume);
|
|
598
|
+
* - a DECIDER or a SELECTOR (the cursor after `.end()`) — its children are
|
|
599
|
+
* its branches, so a fork child became a branch nobody picks;
|
|
600
|
+
* - a `parallelForEach` — its branches come from `items` at run time and
|
|
601
|
+
* built children are never dispatched, so the fork never ran.
|
|
602
|
+
*
|
|
603
|
+
* Through 9.37.0 the builder hung the fork there anyway. So after such a
|
|
604
|
+
* node the fork continues AFTER it: a function-less fork node
|
|
605
|
+
* `<nodeId>-fork` becomes the node's `next` and the new cursor — the shape
|
|
606
|
+
* `addFunction(...).addListOfFunction(...)` already builds, which every
|
|
607
|
+
* reader (engine, resume, structure, spec) handles. A second fan-out call
|
|
608
|
+
* reuses that node, as it would any cursor. The id is reserved both ways:
|
|
609
|
+
* refused here when a stage already has it, and by `_addToMap` /
|
|
610
|
+
* `_registerSubflowDef` when a later stage or mount asks for it.
|
|
611
|
+
*/
|
|
612
|
+
private _needForkParent;
|
|
613
|
+
/** Ids `_needForkParent` generated — no later stage or mount may take one. */
|
|
614
|
+
private _forkNodeIds;
|
|
615
|
+
/** Asked by `_addToMap` / `_registerSubflowDef`: an id a generated fork node or a claiming door holds is refused. */
|
|
616
|
+
private _refuseForkNodeId;
|
|
617
|
+
/** Ids the lazy-mount and parallelForEach doors claimed (they register in no map). */
|
|
618
|
+
private _claimedIds;
|
|
619
|
+
/** True when an earlier stage, branch, fork child, mount or generated fork node holds `id`. */
|
|
620
|
+
private _idTaken;
|
|
621
|
+
/**
|
|
622
|
+
* @internal The lazy-mount doors and `addParallelForEach` register their id
|
|
623
|
+
* in no map, so through 9.37.0 they accepted an id another stage or mount
|
|
624
|
+
* already had (and a later stage could take theirs). They claim it here:
|
|
625
|
+
* refused when taken, recorded when fresh. Loop-ref stubs never pass
|
|
626
|
+
* through a door, so they stay the one deliberate duplicate.
|
|
627
|
+
*/
|
|
628
|
+
_claimFreshId(id: string, door: string): void;
|
|
604
629
|
/**
|
|
605
630
|
* Advance the spec cursor. Retained as a method so call sites stay
|
|
606
631
|
* one-liners and future cursor-related side effects have a hook.
|
|
@@ -634,22 +659,9 @@ export declare class FlowChartBuilder<TOut = any, TScope = any> {
|
|
|
634
659
|
_addToMap(id: string, fn: StageFunction<TOut, TScope>): void;
|
|
635
660
|
_mergeStageMap(other: Map<string, StageFunction<TOut, TScope>>, prefix?: string): void;
|
|
636
661
|
/**
|
|
637
|
-
* Prefix a node tree with a subflow path segment
|
|
638
|
-
*
|
|
639
|
-
*
|
|
640
|
-
* This function and `FlowchartTraverser.prefixNodeTree` are byte-twins by
|
|
641
|
-
* contract: this one prefixes at MOUNT time, the traverser's at RUN time
|
|
642
|
-
* (lazy subflows, and the generated branches of `addParallelForEach`), and a
|
|
643
|
-
* chart must come out identical either way.
|
|
644
|
-
* `test/lib/engine/branch-segment-prefixer-equivalence.test.ts` pins that —
|
|
645
|
-
* any edit here must be mirrored there, and vice versa.
|
|
646
|
-
*
|
|
647
|
-
* Generated branch segments (`<stageId>~<index>`, see
|
|
648
|
-
* `engine/branchSegment.ts`) ride this exact path with no special case: a
|
|
649
|
-
* segment is just a prefix. That is the mechanical tolerance the design
|
|
650
|
-
* relies on — the runtimeStageId grammar accepts it unchanged, which is why
|
|
651
|
-
* no parser in the library had to learn the marker.
|
|
652
|
-
* Design: docs/design/execution-control.md.
|
|
662
|
+
* Prefix a node tree with a subflow path segment at MOUNT time — the one
|
|
663
|
+
* prefixer, `engine/graph/prefixNodeTree.ts` (the traverser calls the same
|
|
664
|
+
* function at RUN time). Kept as the builder's door for its mount sites.
|
|
653
665
|
*/
|
|
654
666
|
_prefixNodeTree(node: StageNode<TOut, TScope>, prefix: string): StageNode<TOut, TScope>;
|
|
655
667
|
_mergeSubflows(subflows: Record<string, {
|