@ruso-0/nreki 10.5.6 → 10.7.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/CHANGELOG.md +120 -0
- package/dist/hologram/harvester.d.ts.map +1 -1
- package/dist/hologram/harvester.js +10 -1
- package/dist/hologram/harvester.js.map +1 -1
- package/dist/hologram/shadow-generator.d.ts.map +1 -1
- package/dist/hologram/shadow-generator.js +22 -3
- package/dist/hologram/shadow-generator.js.map +1 -1
- package/dist/hooks/cognitive-enforcer.d.ts +27 -2
- package/dist/hooks/cognitive-enforcer.d.ts.map +1 -1
- package/dist/hooks/cognitive-enforcer.js +48 -36
- package/dist/hooks/cognitive-enforcer.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/kernel/backends/lsp-sidecar-base.d.ts +2 -6
- package/dist/kernel/backends/lsp-sidecar-base.d.ts.map +1 -1
- package/dist/kernel/backends/lsp-sidecar-base.js +16 -26
- package/dist/kernel/backends/lsp-sidecar-base.js.map +1 -1
- package/dist/kernel/backends/ts-compiler-wrapper.d.ts.map +1 -1
- package/dist/kernel/backends/ts-compiler-wrapper.js.map +1 -1
- package/dist/kernel/healer.d.ts.map +1 -1
- package/dist/kernel/healer.js +77 -30
- package/dist/kernel/healer.js.map +1 -1
- package/dist/kernel/nreki-kernel.d.ts.map +1 -1
- package/dist/kernel/nreki-kernel.js +2 -0
- package/dist/kernel/nreki-kernel.js.map +1 -1
- package/dist/kernel/types.d.ts +24 -1
- package/dist/kernel/types.d.ts.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +30 -0
- package/dist/router.js.map +1 -1
- package/dist/semantic-edit.d.ts.map +1 -1
- package/dist/semantic-edit.js +38 -11
- package/dist/semantic-edit.js.map +1 -1
- package/dist/undo.d.ts.map +1 -1
- package/dist/undo.js +37 -5
- package/dist/undo.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,126 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to NREKI will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 10.7.0 (2026-04-17) — The NREKI Way
|
|
6
|
+
|
|
7
|
+
NREKI stops acting like a passive guard and starts acting like an immune system. The LLM is now surrounded by parasitic signals that cost nothing per call but continuously shape its behavior toward discipline. Four features ship in one minor bump.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Parasitic Defect Radar.** Four regex-based inline detectors run during `outline` on `sym.body`, tagging symbols with `⚠️ [label,...]` when LLM rush signals are detected: `swallowed-error` (empty catch), `type-escape-any` (any escape — anchored to avoid JSX false positives), `ts-suppress` (`@ts-ignore` / `@ts-expect-error` / `@ts-nocheck`), `non-null-assert` (`value!.method()` — anchored to skip `!==`). Zero additional tokens consumed — tags ride the outline header that's already emitted. Microsecond latency per symbol. Escape hatch: a `// nreki-hunt: disable` comment anywhere in the body zeros out all detections for that symbol.
|
|
11
|
+
- **Symbol-level Ghost Oracle.** Exported symbols with 0 external references are tagged `👻 [0 ext refs]` in outline. Entry files (`index.*`, `main.*`, `app.*`, `setup.*`, `server.*`, `cli.*`, `vite-env.*`, `*.config.*`, `*.test.*`, `*.spec.*`) are excluded — they're referenced by runtimes and test-runners, not by the import graph. Pre-fetched via `Promise.all` over unique names so the LSP-backed lookup can parallelize when it becomes truly async (currently `engine.searchFilesBySymbol` is an async wrapper over sync `NrekiDB.searchRawCode` — future-proof shape).
|
|
12
|
+
- **Executable Engrams (immortal ASSERT).** Engrams whose `insight` starts with `ASSERT` (case-insensitive) survive AST-hash mutation — they remain pinned to the symbol across edits. Regular engrams still invalidate on mutation as before. No DSL, just English — the LLM reads and respects. Use it to pin invariants about a symbol's role or contract that transcend the body's implementation.
|
|
13
|
+
- **TTRD Bounties (quantified).** Successful restoration of strict types now reports the exact CFI discount to the LLM via `[TTRD BOUNTY] TYPE DEBT PAID 🏆` feedback: `File friction score (CFI) reduced by N.N points. Excellent engineering.` Pavlovian reinforcement loop closed — the LLM learns that narrowing types produces a measurable reward, not a token of praise.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- [handleOutline](src/handlers/navigate.ts) now renders defect tags, ghost tags, and immortal ASSERT engrams inline alongside the existing risk tags. The LOW-risk skip is extended so any symbol flagged with defects or a ghost tag stays visible.
|
|
17
|
+
- [kernel-bridge.ts](src/handlers/code/kernel-bridge.ts) TTRD feedback now quantifies CFI reduction (via `getFileCFI` before/after) instead of emitting a generic "debt paid" message.
|
|
18
|
+
|
|
19
|
+
### Tests
|
|
20
|
+
- +7 unit tests for [defect-radar.ts](tests/defect-radar.test.ts) (detector coverage + false-positive guards + escape-hatch).
|
|
21
|
+
- +5 integration tests for [handleOutline](tests/navigate.test.ts) (ghost oracle + entry-file exemption + immortal ASSERT survival + regular engram invalidation + case-insensitivity). Real `NrekiEngine`, temp projects, no mocks.
|
|
22
|
+
- Total: 783/783 across 54 files. Zero regressions.
|
|
23
|
+
|
|
24
|
+
### Internal
|
|
25
|
+
- Zero new `any` introduced. Residue grep shows only the 6 known cosmetic hits from v10.6.1 (JSDoc in shadow-generator, one codegen string literal, and three descriptive comments).
|
|
26
|
+
|
|
27
|
+
### Philosophy
|
|
28
|
+
> NREKI now acts less like a passive guard and more like an immune system. The LLM is surrounded by parasitic signals that cost nothing per call but continuously shape its behavior toward discipline.
|
|
29
|
+
|
|
30
|
+
## 10.6.1 (2026-04-17) — Zero-any Discipline Milestone
|
|
31
|
+
|
|
32
|
+
Five bisectable commits eliminating every semantic `any` usage from first-party TypeScript code. Pure refactor — no behavior change, no new tests, no regressions.
|
|
33
|
+
|
|
34
|
+
### Refactor
|
|
35
|
+
- **`sql.js.d.ts`** — 7 `any` usages replaced with the canonical SQLite type union `SqlValue = string | number | boolean | Uint8Array | null`. All call sites in `src/database.ts` already pass only `string` / `number` / `number[]` / `string[]`, all within the union — zero adjustments needed downstream.
|
|
36
|
+
- **`lsp-sidecar-base.ts`** — two `as any` casts on JSON-RPC responses replaced with minimal protocol interfaces: `LspProtocolInitializeResult` (reads only `capabilities.diagnosticProvider` + `serverInfo`) and `LspProtocolDiagnosticResult` (reuses existing `LspDiagnostic` via `items?: LspDiagnostic[]`).
|
|
37
|
+
- **`cognitive-enforcer.ts`** — `evaluate` and `registerSuccess` both take `EnforcerInput` instead of `any`. Per-edit shape declared inline on `EnforcerInput.edits[]` and reused via `NonNullable<EnforcerInput["edits"]>[number]` in `validateSingleBatchEdit` (replaces the earlier `Partial<BatchEditOp>` typing, which was strict-narrow and clashed with the wider `CodeParams.edits[].mode: string` that the router passes down). Unused `BatchEditOp` import removed.
|
|
38
|
+
- **`ts-compiler-wrapper.ts`** — `(this.host as any).getModifiedTime = ...` replaced with a local `CompilerHostWithMtime = ts.CompilerHost & { getModifiedTime?: (fileName: string) => Date }` type alias. `getModifiedTime` is defined on `ts.ModuleResolutionHost` (which `ts.CompilerHost` structurally extends) but isn't a required member — the alias makes the monkey-patch type-visible.
|
|
39
|
+
- **`index.ts`** — CLI init settings block now typed via `ClaudeSettings` interface. `JSON.parse` cast to `unknown` first, narrowed via `typeof parsed === "object"` guard, then asserted to `ClaudeSettings`. `(h: any) => h.matcher` callback's parameter now inferred from array element type.
|
|
40
|
+
|
|
41
|
+
### Residual
|
|
42
|
+
Six `any` mentions remain in `src/`, all non-semantic:
|
|
43
|
+
- Three in `shadow-generator.ts` — JSDoc prose + one codegen string literal (emits `": any"` into generated `.d.ts` when no type can be inferred).
|
|
44
|
+
- Two in `nreki-kernel.ts` comments describing test-access patterns and an earlier v10.5.9 removal.
|
|
45
|
+
- One in `ts-compiler-wrapper.ts` comment describing the v10.6.1 replacement above.
|
|
46
|
+
|
|
47
|
+
### Tests
|
|
48
|
+
- 771/771 pass (52 files). Zero new tests required (pure refactor). Zero regressions.
|
|
49
|
+
|
|
50
|
+
## 10.6.0 (2026-04-17) — Wave 3 Polish (Patch 6)
|
|
51
|
+
|
|
52
|
+
Two bundled fixes in the hologram subsystem. Low-severity but long-overdue.
|
|
53
|
+
|
|
54
|
+
### Correctness
|
|
55
|
+
- **shadow-generator escape-loop fixed in 3 functions** (`stripParameterDefaults`, `splitAndCleanParams`, `cleanSingleParam`). The heuristic `sig[i-1] !== "\\"` misread strings ending in an escaped backslash pair (e.g. `"C:\\"`): the final `\` was read as escaping the closing quote, so the parser kept running INSIDE the string past its actual terminator. Windows paths, escape sequences, and any string literal ending in `\\` silently corrupted the generated `.d.ts` — parameter lists bled into return types. Replaced with the canonical skip-next-char pattern that the peer `splitParams` already used.
|
|
56
|
+
|
|
57
|
+
### Performance
|
|
58
|
+
- **harvester drain loop uses native iterator** instead of `Array.from(this.queue).slice(0, BATCH_SIZE)`. Pre-fix allocated a full copy of the queue Set on every drain cycle: O(N) per batch, O(N²/BATCH_SIZE) total across a drain. At 5k queued files that adds up to millions of wasted allocations. Post-fix: native iterator that stops after `BATCH_SIZE`, no Set copy. Two-phase collect-then-delete preserves original semantics.
|
|
59
|
+
|
|
60
|
+
### Tests
|
|
61
|
+
- 771/771 pass (52 files): 765 from v10.5.9 + 6 new in `tests/hologram-shadow-escape.test.ts` covering Windows-path defaults, backslash-terminated strings followed by more params, cleanSingleParam `=` seek, backtick templates, return-type preservation, and a no-default regression guard.
|
|
62
|
+
- Existing 6/6 harvester tests still green (drain behavior unchanged externally; only the inner loop pattern differs).
|
|
63
|
+
|
|
64
|
+
### End of Round-5 audit execution
|
|
65
|
+
With v10.6.0 shipped, all 6 patches from the round-5 audit of v10.5.1 are now in master: Patch 1 (enforcer bypass, v10.5.7), Patch 2 (`$` substitution, v10.5.7), Patch 3 (saveBackup OOM, v10.5.7), Patch 2 auto-infer + Patch 3 tolerant-patch (v10.5.8), Patch 5 (LSP healer atomic, v10.5.9), Patch 6 (shadow-gen + harvester, v10.6.0). Each shipped in its own bisectable commit.
|
|
66
|
+
|
|
67
|
+
## 10.5.9 (2026-04-17) — LSP Auto-Healer Atomic Multi-TextEdit (Wave 2, Patch 5)
|
|
68
|
+
|
|
69
|
+
Single-patch release. Fixes the doom-loop that occurred whenever an LSP quickfix required coupled edits (e.g., gopls "organize imports" that inserts the import block AND updates a usage, or pyright `from X import Y` plus a reference fix). The healer previously applied only one TextEdit per CodeAction; the other error stayed live, validation rolled back, and the agent retried forever.
|
|
70
|
+
|
|
71
|
+
### Correctness
|
|
72
|
+
- **`requestCodeActions` returns `LspCodeAction[]`** instead of a flat TextEdit array. Each action carries its full `edits[]` so the kernel can treat one CodeAction as one logical fix.
|
|
73
|
+
- **`attemptLspAutoHealing` applies every TextEdit of the chosen CodeAction atomically.** New helper `applyCodeActionEdits` groups edits by resolved file path, creates savepoints for ALL affected files before any apply, and applies each file's edits bottom-up (descending `startLine`/`character`) so earlier offsets remain valid. Atomic rollback on any failure.
|
|
74
|
+
- **Ice Wall whitelist scope corrected** — applied per-CodeAction (on `title`) rather than per-TextEdit.
|
|
75
|
+
|
|
76
|
+
### Typing
|
|
77
|
+
- Canonical LSP shapes (`LspPosition`, `LspRange`, `LspDiagnostic`, `LspTextEdit`, `LspCodeAction`) moved to `src/kernel/types.ts`.
|
|
78
|
+
- Local `LspProtocol*` interfaces added in `lsp-sidecar-base.ts` for the JSON-RPC wire contract. The one `as LspProtocolCodeAction[] | null` cast is the single documented assertion on the LSP protocol — no scattered `as any` anywhere in the new code.
|
|
79
|
+
- `as any` cast on `requestCodeActions` in `nreki-kernel.ts` removed; types flow end-to-end.
|
|
80
|
+
|
|
81
|
+
### Tests
|
|
82
|
+
- 765/765 pass (51 files): prior 760 + 5 new in `tests/healer-atomic.test.ts` covering multi-edit CodeAction atomic apply, full rollback on validation failure, descending-offset same-file ordering, multi-file CodeAction, and destructive-action whitelist rejection.
|
|
83
|
+
- `tests/lsp-sidecar.test.ts` assertion migrated from `fixes[0].newText` to `fixes[0].edits[0].newText` for the new shape.
|
|
84
|
+
|
|
85
|
+
### Not in scope
|
|
86
|
+
- Wave 3 (Patch 6, shadow-generator escape-loop + harvester drain) still targeted for v10.6.
|
|
87
|
+
|
|
88
|
+
## 10.5.8 (2026-04-16) — Round-5 Audit Retrofits + Tolerant Patch
|
|
89
|
+
|
|
90
|
+
Follow-up to v10.5.7 that closes two gaps found during type review and adds the Tolerant Patch ergonomics improvement. Shipped as three bisectable commits.
|
|
91
|
+
|
|
92
|
+
### Correctness
|
|
93
|
+
- **`validateSingleBatchEdit` typed via `Partial<BatchEditOp>` (retrofit).** The helper introduced in v10.5.7 Patch 1 took `edit: any`. Replaced with the canonical `BatchEditOp` shape from `semantic-edit.ts` (under `Partial<>` to model pre-validation input that may be missing fields). Zero behavior change; removes an `any` footgun.
|
|
94
|
+
- **`normalizeEditModes` in `router.ts` (Patch 2).** Agents that send a well-formed `{search_text, replace_text}` payload to `edit`/`batch_edit` without the `mode` field were blocked by the Cognitive Enforcer's blind-edit rule, because the enforcer only short-circuits when it sees `mode:"patch"` explicitly. `handleCode` now infers the mode from payload shape (`{search_text, replace_text}` → `"patch"`, `{new_code}` alone → `"replace"`, explicit `mode` preserved) before the enforcer evaluates. In-place mutation; downstream handlers are idempotent to the re-check.
|
|
95
|
+
|
|
96
|
+
### Ergonomics
|
|
97
|
+
- **Tolerant Patch: fuzzy indentation matching in Phantom Scalpel (Patch 3 extension).** When exact-match patch mode yields 0 occurrences, `applySemanticSplice` now retries with an indent-flexible regex (each line trim-start, `[ \t]*` prefix). On exactly one fuzzy match, the replacement is rebased onto the original's indentation and the patch proceeds. On 2+ fuzzy matches, throws "ambiguous" with the count. The literal-`$` guarantee from v10.5.7 Patch 2 is preserved end-to-end (the escape routine uses the callback form `m => "\\" + m` instead of the `$&` backreference).
|
|
98
|
+
|
|
99
|
+
### Tests
|
|
100
|
+
- 760/760 pass (50 files): 730 baseline + 19 from v10.5.7 + 11 new (5 router normalize, 6 phantom-scalpel tolerant).
|
|
101
|
+
|
|
102
|
+
### Not in scope
|
|
103
|
+
- Wave 2 (Patch 5, LSP auto-healer atomic multi-TextEdit) targeted for v10.5.9.
|
|
104
|
+
- Wave 3 (Patch 6, shadow-generator escape-loop + harvester drain) targeted for v10.6.
|
|
105
|
+
|
|
106
|
+
## 10.5.7 (2026-04-16) — Round-5 Audit Hot-Patches (Wave 1)
|
|
107
|
+
|
|
108
|
+
Three localized security/correctness fixes shipped as separate bisectable commits before the 2026-05-21 Show HN launch.
|
|
109
|
+
|
|
110
|
+
### Security (Critical)
|
|
111
|
+
- **Cognitive Enforcer batch_edit bypass closed (Patch 1).** Pre-fix, `evaluate()` only validated `batch_edit` payloads when `params.edits.length === 1`. Any batch of 2+ edits fell through to an unconditional `{ blocked: false }`, allowing a "disguise batch" attack (1 real blind edit + 1 dummy comment edit) to smuggle blind edits past the cognitive firewall. The enforcer now iterates every edit in the batch and validates each independently via a new `validateSingleBatchEdit` helper. Any single blind edit blocks the whole batch. This was a real enforcement gap — acknowledged plainly rather than spun.
|
|
112
|
+
|
|
113
|
+
### Correctness
|
|
114
|
+
- **Phantom Scalpel patch mode literal replacement (Patch 2).** `applySemanticSplice` patch mode used `String.prototype.replace(string, string)`, which still interprets V8 substitution tokens (`$&`, `$'`, `` $` ``, `$$`) in the replacement string. An LLM patching a shell template with `$'quoted'` or a regex literal with `$&` saw silent substitution. Switched to `split(search).join(replace)` — always literal, and semantically identical under the existing `occurrences === 1` guard.
|
|
115
|
+
|
|
116
|
+
### Reliability
|
|
117
|
+
- **`saveBackup` OOM guard (Patch 3).** Pre-fix, `saveBackup` called `fs.readFileSync(path, "utf-8")` before checking for binary content. A 2GB misdirected file (log, dump, db accidentally passed by the agent) was loaded into the V8 heap as a UTF-8 string before the null-byte check fired, crashing the MCP server with `Allocation failed - JavaScript heap out of memory`. The function now opens an FD, rejects files > 100MB (no code file is ever this big), probes the first 8KB for null bytes via `Uint8Array`, and only then calls `readFileSync`.
|
|
118
|
+
|
|
119
|
+
### Tests
|
|
120
|
+
- 749/749 pass (48 files): 730 baseline + 7 new (cognitive-enforcer) + 6 new (phantom-scalpel patch-2) + 6 new (undo OOM).
|
|
121
|
+
|
|
122
|
+
### Internal
|
|
123
|
+
- Baseline test infrastructure note: vitest 4.1.1 parallel mode (`pool: "forks"` + `fileParallelism: true`) emits "Vitest failed to find the runner" on all 45 test files. Workaround: `npx vitest run --no-file-parallelism` (serial, ~5 min). Root cause out of scope for this release; tracked separately.
|
|
124
|
+
|
|
5
125
|
## 10.5.1 (2026-04-15) — Dynamic Risk Expansion
|
|
6
126
|
|
|
7
127
|
### Changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../src/hologram/harvester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,YAAY;IAKjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IALjB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,YAAY,CAAS;gBAGjB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,WAAW;IAG9B,sDAAsD;IACtD,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAchD,2DAA2D;IAC3D,KAAK,IAAI,IAAI;IAIb;;;;OAIG;YACW,eAAe;
|
|
1
|
+
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../src/hologram/harvester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,YAAY;IAKjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IALjB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,YAAY,CAAS;gBAGjB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,WAAW;IAG9B,sDAAsD;IACtD,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAchD,2DAA2D;IAC3D,KAAK,IAAI,IAAI;IAIb;;;;OAIG;YACW,eAAe;IAoE7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAyC5B"}
|
|
@@ -63,7 +63,16 @@ export class DtsHarvester {
|
|
|
63
63
|
durationMs: performance.now() - t0,
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
// AUDIT FIX (Patch 6 / v10.6): native iterator drain.
|
|
67
|
+
// Array.from(Set) allocates a full copy per drain cycle (O(N)
|
|
68
|
+
// per batch, O(N^2/BATCH_SIZE) total). Native iterator stops
|
|
69
|
+
// after BATCH_SIZE items without touching the rest.
|
|
70
|
+
const batch = [];
|
|
71
|
+
for (const f of this.queue) {
|
|
72
|
+
batch.push(f);
|
|
73
|
+
if (batch.length >= BATCH_SIZE)
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
67
76
|
for (const f of batch)
|
|
68
77
|
this.queue.delete(f);
|
|
69
78
|
for (const filePath of batch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harvester.js","sourceRoot":"","sources":["../../src/hologram/harvester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,wEAAwE;AAExE,MAAM,OAAO,YAAY;IAKT;IACA;IALJ,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1B,YAAY,GAAG,KAAK,CAAC;IAE7B,YACY,MAAmB,EACnB,KAAkB;QADlB,WAAM,GAAN,MAAM,CAAa;QACnB,UAAK,GAAL,KAAK,CAAa;IAC3B,CAAC;IAEJ,sDAAsD;IACtD,eAAe,CAAC,eAAyB;QACrC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC3D,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,KAAK;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAAC,OAAe;QACzC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC;YACD,+CAA+C;YAC/C,gEAAgE;YAChE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,gEAAgE;gBAChE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,OAAO,EAAE,CAAC;oBACjE,OAAO;wBACH,cAAc;wBACd,qBAAqB;wBACrB,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;qBACrC,CAAC;gBACN,CAAC;gBAED,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"harvester.js","sourceRoot":"","sources":["../../src/hologram/harvester.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-generator.d.ts","sourceRoot":"","sources":["../../src/hologram/shadow-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;CACpD;AAED,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"shadow-generator.d.ts","sourceRoot":"","sources":["../../src/hologram/shadow-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;CACpD;AAED,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CACpB;AAmwBD,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC1B,cAAc,CAuChB;AAkCD,wBAAsB,WAAW,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC,CA4FrB"}
|
|
@@ -411,7 +411,15 @@ function stripParameterDefaults(sig) {
|
|
|
411
411
|
for (let i = openParen; i < sig.length; i++) {
|
|
412
412
|
const ch = sig[i];
|
|
413
413
|
if (inString) {
|
|
414
|
-
|
|
414
|
+
// AUDIT FIX (Patch 6 / v10.6): skip-next on backslash. The old
|
|
415
|
+
// `sig[i-1] !== "\\"` heuristic broke on strings ending with an
|
|
416
|
+
// escaped backslash pair (e.g. "C:\\"), which read the final
|
|
417
|
+
// `\` as escaping the closing quote.
|
|
418
|
+
if (ch === "\\" && i + 1 < sig.length) {
|
|
419
|
+
i++;
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
if (ch === inString)
|
|
415
423
|
inString = null;
|
|
416
424
|
continue;
|
|
417
425
|
}
|
|
@@ -445,7 +453,13 @@ function splitAndCleanParams(params) {
|
|
|
445
453
|
for (let i = 0; i < params.length; i++) {
|
|
446
454
|
const ch = params[i];
|
|
447
455
|
if (inString) {
|
|
448
|
-
|
|
456
|
+
// AUDIT FIX (Patch 6 / v10.6): skip-next on backslash.
|
|
457
|
+
if (ch === "\\" && i + 1 < params.length) {
|
|
458
|
+
current += ch + params[i + 1];
|
|
459
|
+
i++;
|
|
460
|
+
continue;
|
|
461
|
+
}
|
|
462
|
+
if (ch === inString)
|
|
449
463
|
inString = null;
|
|
450
464
|
current += ch;
|
|
451
465
|
continue;
|
|
@@ -485,7 +499,12 @@ function cleanSingleParam(param) {
|
|
|
485
499
|
for (let i = 0; i < param.length; i++) {
|
|
486
500
|
const ch = param[i];
|
|
487
501
|
if (inString) {
|
|
488
|
-
|
|
502
|
+
// AUDIT FIX (Patch 6 / v10.6): skip-next on backslash.
|
|
503
|
+
if (ch === "\\" && i + 1 < param.length) {
|
|
504
|
+
i++;
|
|
505
|
+
continue;
|
|
506
|
+
}
|
|
507
|
+
if (ch === inString)
|
|
489
508
|
inString = null;
|
|
490
509
|
continue;
|
|
491
510
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-generator.js","sourceRoot":"","sources":["../../src/hologram/shadow-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAyB/C,wEAAwE;AAExE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;CAC/D,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,IAAuB;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChC,iBAAiB;IACjB,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChC,UAAU;IACV,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO;IACP,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,YAAY;IACZ,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACnC,wDAAwD;IACxD,IAAI,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,EAAE,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB,EAAE,OAAgB;IAChE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAC3B,kBAAkB;QAClB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAuB;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,oDAAoD;QACpD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,mCAAmC;IACnC,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAuB;IACtD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AASD,SAAS,wBAAwB,CAC7B,QAA2B;IAE3B,6DAA6D;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,wBAAwB,CAC7B,UAA6B,EAC7B,IAAY;IAEZ,MAAM,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,mCAAmC,EAAE,CAAC;IACnF,CAAC;IAED,kCAAkC;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,yBAAyB,EAAE,CAAC;IACxE,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACpF,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAClF,IAAI,EAAE,KAAK,gBAAgB;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC5F,IAAI,EAAE,KAAK,iBAAiB;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC5F,IAAI,EAAE,KAAK,gBAAgB,EAAE,CAAC;QAC1B,gDAAgD;QAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,2CAA2C,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,EAAE,KAAK,qBAAqB,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;QACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,gDAAgD,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;QAC3B,oDAAoD;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;QAC7E,IAAI,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,sCAAsC,EAAE,CAAC;QAC/F,mEAAmE;QACnE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,yCAAyC,EAAE,CAAC;IACxF,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,0BAA0B,EAAE,GAAG,EAAE,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAuB;IACzC,4DAA4D;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,mDAAmD;QACnD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACnD,CAAC;QAED,wCAAwC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,kEAAkE;YAClE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC5E,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACzD,CAAC;YACD,8BAA8B;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChE,IAAI,SAAS,EAAE,CAAC;gBACZ,gEAAgE;gBAChE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;oBAC3C,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CACzC,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,SAAS,CAAC,IAAI,KAAK,mBAAmB,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACvE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;oBAC9D,CAAC;oBACD,IAAI,SAAS,CAAC,IAAI,KAAK,sBAAsB,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC7E,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;oBAC/C,CAAC;gBACL,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;YACpE,CAAC;YACD,OAAO,IAAI,CAAC,CAAC,4BAA4B;QAC7C,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC;QAE5B,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACnD,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACpD,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;YAClF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACvC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACrE,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC;YAEvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ;wBAAE,OAAO,MAAM,CAAC;gBACxC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5E,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC7D,CAAC;QAED,sDAAsD;QACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IACnF,CAAC;IAED,4DAA4D;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,sBAAsB;AACvC,CAAC;AAED,wEAAwE;AAExE;;;;GAIG;AACH,SAAS,wBAAwB,CAC7B,IAAuB,EACvB,GAAW,EACX,QAAgB;IAEhB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAAE,SAAS;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,yEAAyE;QACzE,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;YAC1D,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAC3C,CAAC;QACD,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;YAC1D,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,yCAAyC;YACzC,IAAI,QAAQ,KAAK,QAAQ;gBAAE,MAAM;QACrC,CAAC;QACD,qCAAqC;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAsB,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACrF,MAAM;QACV,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACnB,OAAe,EACf,IAAiB;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAE5B,oEAAoE;QACpE,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnC,wDAAwD;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;gBAC3D,CAAC,CAAC,IAAI,KAAK,eAAe,CAC7B,CAAC;YACF,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,SAAS;QACb,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAAE,SAAS;QAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,IAAI,MAAM,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEnD,iCAAiC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IACI,IAAI,CAAC,IAAI,KAAK,uBAAuB;YACrC,IAAI,CAAC,IAAI,KAAK,wBAAwB;YACtC,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAClC,CAAC;YACC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACvC,iEAAiE;YACjE,mEAAmE;YACnE,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;gBACtD,IAAI,QAAQ,IAAI,wBAAwB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC1D,SAAS,CAAC,gCAAgC;gBAC9C,CAAC;YACL,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,SAAS;QACb,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACpC,SAAS;QACb,CAAC;QAED,0BAA0B;QAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CACpB,OAAe,EACf,UAA6B,EAC7B,SAA4B;IAE5B,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAEtF,0BAA0B;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAElC,sBAAsB;QACtB,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG;YAAE,SAAS;QAEzD,kEAAkE;QAClE,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;gBAChF,oEAAoE;gBACpE,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAClC,2DAA2D;gBAC3D,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,QAAQ,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;oBACnC,GAAG,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;YAC/C,CAAC;YACD,SAAS;QACb,CAAC;QAED,wEAAwE;QACxE,IAAI,MAAM,CAAC,IAAI,KAAK,yBAAyB,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACtF,MAAM,IAAI,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;YAC1D,SAAS;QACb,CAAC;QAED,gEAAgE;QAChE,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,GAAW;IACvC,uDAAuD;IACvD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,sEAAsE;IACtE,mEAAmE;IACnE,iFAAiF;IACjF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,QAAQ,GAAG,IAAI,CAAC;YAC5D,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,QAAQ,GAAG,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACxE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAElC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,QAAQ,GAAG,IAAI,CAAC;YAC/D,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,QAAQ,GAAG,EAAE,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACvF,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAClE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;QAC1E,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,2CAA2C;IAC3C,+DAA+D;IAC/D,oEAAoE;IACpE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,QAAQ,GAAG,IAAI,CAAC;YAC9D,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,QAAQ,GAAG,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACxE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5E,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;QACV,CAAC;IACL,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,mBAAmB;IAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAErD,0DAA0D;IAC1D,8DAA8D;IAC9D,gEAAgE;IAChE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,sFAAsF;IACtF,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,QAAQ,GAAG,IAAI,GAAG,YAAY,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB;IAC1C,+EAA+E;IAC/E,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAClE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAClE,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,+BAA+B,CAAC,GAAW;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAElC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAExC,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,yDAAyD,CAAC;IACnF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,MAAc;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9B,CAAC,EAAE,CAAC;gBACJ,SAAS;YACb,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC;YACrC,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACzC,QAAQ,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAClE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACpD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;QAC1E,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACvC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACtE,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,UAAU,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACnD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAE,MAAyB;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,yDAAyD;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAClD,CAAC;IAED,6BAA6B;IAC7B,qCAAqC;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/E,4BAA4B;IAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAClD,CAAC;IAED,IAAI,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAE5D,qCAAqC;IACrC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,4BAA4B;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,WAAW,IAAI,IAAI,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,OAAO,WAAW,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CACvB,OAAe,EACf,UAA6B,EAC7B,QAA2B;IAE3B,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,4CAA4C;QAC5C,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnF,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEhD,8BAA8B;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnD,8FAA8F;IAC9F,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAEvE,4FAA4F;IAC5F,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,YAAY,GAAG,QAAQ,GAAG,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CACvB,OAAe,EACf,QAA2B;IAE3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB;YAAE,SAAS;QAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACX,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,oBAAoB;YACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,6CAA6C;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,OAAO,kBAAkB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,yBAAyB,CACrC,SAAiB,EACjB,OAAe,EACf,MAAc,EACd,QAAyB;IAEzB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,cAAc,KAAK,IAAI;gBAAE,SAAS;YAEtC,UAAU,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,IAAI,CACR,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,KAAK,cAAc,CAAC,MAAM,EAAE,CACrF,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC3B,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC5E,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;YAAS,CAAC;QACP,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,qCAAqC;IACxD,CAAC;AACL,CAAC;AAED,wEAAwE;AAExE,SAAS,aAAa,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACD,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;iBAAM,IACH,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/B,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC/B,CAAC;gBACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAe,EACf,UAAsB;IAEtB,8DAA8D;IAC9D,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAE9B,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,EAC7E,IAAI,EAAE,IAAI,EAAE,MAAM,CACrB,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,iDAAiD;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC3C,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;YACX,CAAC;YAED,yBAAyB;YACzB,IACI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACpC,CAAC;gBACC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBACnC,SAAS,EAAE,CAAC;gBAChB,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,2CAA2C;IAC3C,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,OAAO,CAAC;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,MAAM;QACV,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,kBAAkB;QACnD,SAAS,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC1C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACH,QAAQ;QACR,UAAU;QACV,YAAY;QACZ,KAAK,EAAE;YACH,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,QAAQ,EAAE,UAAU,CAAC,IAAI;YACzB,SAAS;SACZ;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"shadow-generator.js","sourceRoot":"","sources":["../../src/hologram/shadow-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
* State machine en RAM. Falla en 1ms. Cero I/O pesado.
|
|
4
4
|
* Sincroniza pasaportes a disco para resiliencia en reinicios MCP.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* Patch 7 (v10.6.1): superset of params the enforcer inspects across
|
|
8
|
+
* tools/actions. All fields optional because different tools populate
|
|
9
|
+
* different subsets; the enforcer reads permissively and shortcircuits
|
|
10
|
+
* on anything it doesn't recognize. The per-edit shape is wider than
|
|
11
|
+
* semantic-edit's BatchEditOp (mode is plain string, not EditMode) so
|
|
12
|
+
* the enforcer can consume raw router-layer input without casts.
|
|
13
|
+
*/
|
|
14
|
+
interface EnforcerInput {
|
|
15
|
+
path?: string;
|
|
16
|
+
symbol?: string;
|
|
17
|
+
mode?: string;
|
|
18
|
+
focus?: string;
|
|
19
|
+
edits?: Array<{
|
|
20
|
+
path?: string;
|
|
21
|
+
symbol?: string;
|
|
22
|
+
mode?: string;
|
|
23
|
+
search_text?: string;
|
|
24
|
+
replace_text?: string;
|
|
25
|
+
new_code?: string;
|
|
26
|
+
}>;
|
|
27
|
+
_nreki_bypass?: string;
|
|
28
|
+
}
|
|
6
29
|
export declare class CognitiveEnforcer {
|
|
7
30
|
private passports;
|
|
8
31
|
private projectRoot;
|
|
@@ -12,11 +35,13 @@ export declare class CognitiveEnforcer {
|
|
|
12
35
|
private saveState;
|
|
13
36
|
private getPassport;
|
|
14
37
|
private countLines;
|
|
15
|
-
|
|
38
|
+
private validateSingleBatchEdit;
|
|
39
|
+
evaluate(tool: string, action: string, params: EnforcerInput): {
|
|
16
40
|
blocked: boolean;
|
|
17
41
|
errorText?: string;
|
|
18
42
|
penalty?: number;
|
|
19
43
|
};
|
|
20
|
-
registerSuccess(tool: string, action: string, params:
|
|
44
|
+
registerSuccess(tool: string, action: string, params: EnforcerInput): void;
|
|
21
45
|
}
|
|
46
|
+
export {};
|
|
22
47
|
//# sourceMappingURL=cognitive-enforcer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitive-enforcer.d.ts","sourceRoot":"","sources":["../../src/hooks/cognitive-enforcer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cognitive-enforcer.d.ts","sourceRoot":"","sources":["../../src/hooks/cognitive-enforcer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;;;;;GAOG;AACH,UAAU,aAAa;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAYD,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM;IAM/B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,uBAAuB;IAoCxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IA4EzH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;CAoC7E"}
|
|
@@ -78,48 +78,60 @@ export class CognitiveEnforcer {
|
|
|
78
78
|
return 0;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
// Patch 7 (v10.6.1): edit shape pulled from EnforcerInput so the enforcer
|
|
82
|
+
// stays internally self-consistent without importing semantic-edit types.
|
|
83
|
+
validateSingleBatchEdit(edit) {
|
|
84
|
+
// Patch mode has its own anti-ambiguity (occurrences === 1). Safe to pass through.
|
|
85
|
+
if (edit.mode === "patch")
|
|
86
|
+
return { blocked: false };
|
|
87
|
+
if (edit.mode === "insert_before" || edit.mode === "insert_after") {
|
|
88
|
+
if (!edit.path)
|
|
89
|
+
return { blocked: false };
|
|
90
|
+
try {
|
|
91
|
+
const insertSize = fs.statSync(path.resolve(this.projectRoot, edit.path)).size;
|
|
92
|
+
if (insertSize < 50000)
|
|
93
|
+
return { blocked: false };
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return { blocked: false };
|
|
97
|
+
}
|
|
98
|
+
const ip = path.resolve(this.projectRoot, edit.path).replace(/\\/g, "/");
|
|
99
|
+
const ipass = this.getPassport(ip);
|
|
100
|
+
if (!ipass.outlined && !ipass.rawRead) {
|
|
101
|
+
return {
|
|
102
|
+
blocked: true,
|
|
103
|
+
errorText: `Blocked: Blind insert on large file (${edit.path}). Run outline or compress focus:"..." first.`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return { blocked: false };
|
|
107
|
+
}
|
|
108
|
+
if (edit.symbol && edit.path) {
|
|
109
|
+
try {
|
|
110
|
+
const p = path.resolve(this.projectRoot, edit.path).replace(/\\/g, "/");
|
|
111
|
+
const pass = this.getPassport(p);
|
|
112
|
+
if (!pass.focusedSymbols.has(edit.symbol) && !pass.rawRead) {
|
|
113
|
+
return {
|
|
114
|
+
blocked: true,
|
|
115
|
+
errorText: `Blocked: Blind batch_edit on "${edit.symbol}" in ${edit.path}. Run compress focus:"${edit.symbol}" first.`,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch { /* stat/path errors fall through as permissive */ }
|
|
120
|
+
}
|
|
121
|
+
return { blocked: false };
|
|
122
|
+
}
|
|
81
123
|
evaluate(tool, action, params) {
|
|
82
124
|
if (tool !== "nreki_code")
|
|
83
125
|
return { blocked: false };
|
|
84
126
|
if (!["read", "compress", "edit", "batch_edit"].includes(action))
|
|
85
127
|
return { blocked: false };
|
|
86
|
-
// LEY 3.5: Anti-Contrabando.
|
|
128
|
+
// LEY 3.5: Anti-Contrabando. Valida TODO edit del batch, no solo length===1.
|
|
129
|
+
// Fix round-5: antes, un batch de 2+ eludía el cortafuegos (1 real blind + 1 dummy).
|
|
87
130
|
if (action === "batch_edit" && params.edits) {
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
if (
|
|
91
|
-
return
|
|
92
|
-
}
|
|
93
|
-
if (single.mode === "insert_before" || single.mode === "insert_after") {
|
|
94
|
-
// Small files: agent can see everything, skip enforcer for speed.
|
|
95
|
-
// Large files: require outline/rawRead to prevent blind inserts.
|
|
96
|
-
if (!single.path)
|
|
97
|
-
return { blocked: false };
|
|
98
|
-
try {
|
|
99
|
-
const insertSize = fs.statSync(path.resolve(this.projectRoot, single.path)).size;
|
|
100
|
-
if (insertSize < 50000)
|
|
101
|
-
return { blocked: false };
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
return { blocked: false };
|
|
105
|
-
}
|
|
106
|
-
const ip = path.resolve(this.projectRoot, single.path).replace(/\\/g, "/");
|
|
107
|
-
const ipass = this.getPassport(ip);
|
|
108
|
-
if (!ipass.outlined && !ipass.rawRead) {
|
|
109
|
-
return { blocked: true, errorText: `Blocked: Blind insert on large file. Run outline or compress first.` };
|
|
110
|
-
}
|
|
111
|
-
return { blocked: false };
|
|
112
|
-
}
|
|
113
|
-
if (single.symbol && single.path) {
|
|
114
|
-
try {
|
|
115
|
-
const p = path.resolve(this.projectRoot, single.path).replace(/\\/g, "/");
|
|
116
|
-
const pass = this.getPassport(p);
|
|
117
|
-
if (!pass.focusedSymbols.has(single.symbol) && !pass.rawRead) {
|
|
118
|
-
return { blocked: true, errorText: `Blocked: Blind single batch_edit. Run compress focus:"${single.symbol}" first.` };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
catch { }
|
|
122
|
-
}
|
|
131
|
+
for (const edit of params.edits) {
|
|
132
|
+
const result = this.validateSingleBatchEdit(edit);
|
|
133
|
+
if (result.blocked)
|
|
134
|
+
return result;
|
|
123
135
|
}
|
|
124
136
|
return { blocked: false };
|
|
125
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitive-enforcer.js","sourceRoot":"","sources":["../../src/hooks/cognitive-enforcer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cognitive-enforcer.js","sourceRoot":"","sources":["../../src/hooks/cognitive-enforcer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AA6CH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CA8BlF"}
|
package/dist/index.js
CHANGED
|
@@ -120,9 +120,12 @@ if (args[0] === "init") {
|
|
|
120
120
|
let settings = {};
|
|
121
121
|
if (fs.existsSync(settingsPath)) {
|
|
122
122
|
try {
|
|
123
|
-
|
|
123
|
+
const parsed = JSON.parse(fs.readFileSync(settingsPath, "utf-8"));
|
|
124
|
+
if (parsed && typeof parsed === "object") {
|
|
125
|
+
settings = parsed;
|
|
126
|
+
}
|
|
124
127
|
}
|
|
125
|
-
catch { }
|
|
128
|
+
catch { /* malformed JSON — fall through with empty default */ }
|
|
126
129
|
}
|
|
127
130
|
if (!settings.hooks)
|
|
128
131
|
settings.hooks = {};
|
|
@@ -130,7 +133,7 @@ if (args[0] === "init") {
|
|
|
130
133
|
settings.hooks.PreToolUse = [];
|
|
131
134
|
const toolsToBlock = ["Read", "ReadFile", "View", "ViewFile", "Write", "WriteFile", "Edit", "EditFile", "Replace"];
|
|
132
135
|
for (const tool of toolsToBlock) {
|
|
133
|
-
const exists = settings.hooks.PreToolUse.some(
|
|
136
|
+
const exists = settings.hooks.PreToolUse.some(h => h.matcher === tool);
|
|
134
137
|
if (!exists) {
|
|
135
138
|
settings.hooks.PreToolUse.push({
|
|
136
139
|
matcher: tool,
|