@plurnk/plurnk-schemes 1.21.1 → 1.22.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/SPEC.md +28 -13
- package/dist/MessageScheme.d.ts.map +1 -1
- package/dist/MessageScheme.js +2 -1
- package/dist/MessageScheme.js.map +1 -1
- package/dist/PacketSections.d.ts +1 -1
- package/dist/PacketSections.d.ts.map +1 -1
- package/dist/PacketSections.js +2 -2
- package/dist/PacketSections.js.map +1 -1
- package/dist/Slicer.d.ts +6 -3
- package/dist/Slicer.d.ts.map +1 -1
- package/dist/Slicer.js +55 -21
- package/dist/Slicer.js.map +1 -1
- package/dist/Summarize.d.ts.map +1 -1
- package/dist/Summarize.js +2 -3
- package/dist/Summarize.js.map +1 -1
- package/package.json +5 -5
package/SPEC.md
CHANGED
|
@@ -226,7 +226,7 @@ ordinary; handlers must make concurrent access and semantic isolation explicit.
|
|
|
226
226
|
Handlers without initialization or retained resources omit the corresponding
|
|
227
227
|
hook.
|
|
228
228
|
|
|
229
|
-
The entry CRUD primitives (`readEntry`/`writeEntry`/`deleteEntry`) are not handler operations; schemes use `ctx.entries
|
|
229
|
+
§scheme-ctx-entries The entry CRUD primitives (`readEntry`/`writeEntry`/`deleteEntry`) are not handler operations; schemes use the manifest-bound `ctx.entries` (`read`, `write`, and `delete`), and the engine drives that same capability for COPY/MOVE/KILL orchestration when a `data` scheme omits resource-specific storage hooks. Proposal application is the optional `applyResolution` handler hook described in §3.bis.
|
|
230
230
|
|
|
231
231
|
A log-targeted KILL is not a handler method. Core owns that active-projection
|
|
232
232
|
curation; an entry scheme has no log visibility state and never receives it.
|
|
@@ -422,6 +422,24 @@ region of four coordinates has no meaning over a window and is refused.
|
|
|
422
422
|
| `<SL,SC,EL,EC>` | exact exclusive-end region using 1-based Unicode code-point columns |
|
|
423
423
|
| `<0>` / `<-1>` | mutation anchors before the first / after the final line |
|
|
424
424
|
|
|
425
|
+
Every replacement inserts its body verbatim. `Slicer.wholeLineBody(content, marker, body)` is
|
|
426
|
+
the pure helper core applies where a fenced EDIT body becomes inserted content
|
|
427
|
+
({§zero-width-column-one-insert}): it appends the content's separator only for a non-empty body
|
|
428
|
+
without a trailing newline at a zero-width column-1 region, and returns every other body unchanged.
|
|
429
|
+
|
|
430
|
+
§range-starts-at-one A two-coordinate range starts at 1. `<0>` is a single-position
|
|
431
|
+
prepend anchor, never a range start: `<0,M>` — including `<0,-1>`, which is not a
|
|
432
|
+
whole-content alias — is refused 416 by `lines()`, `linesRaw()`, `textReplacement()`,
|
|
433
|
+
`lineMarkerEdit[Batch]()`, `window()` and `page()`, on empty content and empty result sets
|
|
434
|
+
too, and never clamped to `<1,M>`. The refusal's `recovery` names the forms the author may
|
|
435
|
+
have meant, in the range's unit:
|
|
436
|
+
|
|
437
|
+
| Unit | `recovery` |
|
|
438
|
+
|---|---|
|
|
439
|
+
| line, `M ≥ 1` | the whole-line insert `<M,1,M,1>` ({§zero-width-column-one-insert}), `<0>` / `<-1>`, and `<1,M>` |
|
|
440
|
+
| line, `M < 1` | `<1,-1>` for every line, `<0>` / `<-1>` |
|
|
441
|
+
| byte, result, resource | `<1,M>` |
|
|
442
|
+
|
|
425
443
|
As an unadvertised ingestion tolerance, `Slicer` accepts
|
|
426
444
|
`<startLine,startColumn,endLine>` and immediately lowers it to the complete
|
|
427
445
|
four-coordinate region ending after the final code point of `endLine`.
|
|
@@ -563,13 +581,6 @@ This permits one multi-channel producer to preserve successful evidence beside
|
|
|
563
581
|
an independently failed representation without inventing another settlement
|
|
564
582
|
path or reducing a result to a state label.
|
|
565
583
|
|
|
566
|
-
The module setup seam registers a scheme-bound producer with `pending()` and
|
|
567
|
-
`settle(workspaceId, event, result)`. Settlement preserves the universal result,
|
|
568
|
-
is idempotent and notifies only the attached live loops. A producer serializes
|
|
569
|
-
resolution/registration against settlement and reconciles retained pending
|
|
570
|
-
identities at startup. Core settles attachments whose producer is absent at
|
|
571
|
-
boot as unavailable. This is independent of process-owned stream subscriptions.
|
|
572
|
-
|
|
573
584
|
`EntryCoordinates.resolve(target, authority)` supplies the same canonical
|
|
574
585
|
coordinate Core binds ({§scheme-address}); handlers do not invent another
|
|
575
586
|
interpretation of namespace authorities.
|
|
@@ -601,10 +612,8 @@ or ordered resource effects.
|
|
|
601
612
|
|
|
602
613
|
DB-coupled entry/channel machinery — CRUD + write-time tokenization, the
|
|
603
614
|
standard entry operations, channel writes, and subscription registry — lives
|
|
604
|
-
in the consumer. This package defines their stable interfaces and pure helpers
|
|
605
|
-
|
|
606
|
-
handlers omit resource-specific storage hooks, engine-owned COPY/MOVE/KILL
|
|
607
|
-
orchestration uses the manifest-bound `ctx.entries` implementation.
|
|
615
|
+
in the consumer. This package defines their stable interfaces and pure helpers
|
|
616
|
+
({§scheme-ctx-entries}).
|
|
608
617
|
|
|
609
618
|
## §5 Trusted extension contract
|
|
610
619
|
|
|
@@ -627,7 +636,7 @@ A scheme handler is discovered and registered with **zero first-party involvemen
|
|
|
627
636
|
- **`SchemeDiscovery` owns the scan (this package).** `SchemeDiscovery.discover({ cwd? })` walks *all* of `node_modules` — scoped (`@acme/foo`) and unscoped — and returns `{ schemes: {name, packageName, exportName?, attribution?}[], packageAttributions, skipped }` for every package declaring `plurnk.kind === "scheme"`. Scope-agnostic, so a third party under their own scope is found with no first-party allow-list; two names claiming one prefix fail-hard (across packages or within one), as does a malformed `plurnk.schemes` (locality of error, not a silent skip). It returns **descriptors, not handlers** — contract-only, it never imports a scheme package; the consumer imports each `packageName` and registers `new mod[exportName ?? "default"]()`, applying in-tree precedence. The scan primitives — package enumeration, the `PLURNK_PLUGINS_TRUSTED_ONLY` trust gate, the deployment-root `node_modules` walk — are one implementation in `@plurnk/plurnk-meta`, shared by all four family-head scanners; `SchemeDiscovery` adds only the scheme-descriptor shape on top.
|
|
628
637
|
- **Attribution is package-authored.** `packageAttributions` carries one canonical validated static tag list per admitted package. `SchemeInfo.attribution` remains the published per-scheme projection when a declaration exists; a loaded handler may additionally implement the shared runtime hook ({§plugin-attribution}). Neither the descriptor nor the consumer owns another policy.
|
|
629
638
|
- **The framework stays contract-only.** `@plurnk/plurnk-schemes` does not depend on scheme plugins. The daemon declares its bundled plugins as direct dependencies, and additional plugins are installed at the application root. Plugins declare the framework as a peer dependency using the repository's normal same-minor compatibility range; the framework itself is ignored by discovery because it has no `plurnk.kind`.
|
|
630
|
-
- **The default bundle is the daemon's own `dependencies`**, not an aggregator package
|
|
639
|
+
- **The default bundle is the daemon's own `dependencies`**, not an aggregator package. Installing `plurnk-core` surfaces the first-party schemes; any other leaf — first-party or third-party — is added by installing it, and scope-agnostic discovery lights it up identically. No bundle is ever a gate.
|
|
631
640
|
- **Trust.** The scanner enforces the shared predicate before attribution or scheme-field validation and returns withheld package names in `skipped`; the host owns presentation ({§plugin-trust-boundary}).
|
|
632
641
|
|
|
633
642
|
## Message sources
|
|
@@ -639,3 +648,9 @@ scheme for ordinary READ/FIND/COPY and delivers exact-address SEND replies under
|
|
|
639
648
|
of message body or reply state. The protocol module owns URI identity; Core owns durable
|
|
640
649
|
admission and correlation. Message representations reject mutation while remaining SEND
|
|
641
650
|
recipients. Scratch entries and protocol artifacts retain their own existing write contracts.
|
|
651
|
+
|
|
652
|
+
§message-immutable-recovery An EDIT, COPY or MOVE onto, or KILL of, a message address is
|
|
653
|
+
refused 405 `message-immutable`; its detail names the address as a received message that
|
|
654
|
+
answering settles, and its `recovery` gives the working form with that address:
|
|
655
|
+
`` Answer it with `SEND (message://tester/bde40185)` and your reply as the body, or finish your
|
|
656
|
+
work with a parameterless KILL whose body is the answer. ``
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageScheme.d.ts","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,aAAa;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,YAAY,IAAI,EAAE,MAAM,EAMvB;IAEK,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAE,MAAM,GAAG,OAAgB;;;
|
|
1
|
+
{"version":3,"file":"MessageScheme.d.ts","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,aAAa;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,YAAY,IAAI,EAAE,MAAM,EAMvB;IAEK,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAE,MAAM,GAAG,OAAgB;;;cAatG;IAEK,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,SAAS,gDAEpF;IAEK,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,gDAE1D;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,gDAElD;CACJ"}
|
package/dist/MessageScheme.js
CHANGED
|
@@ -11,8 +11,9 @@ export default class MessageScheme {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
async resolveEntryAddress(target, _ctx, access = "read") {
|
|
14
|
+
// {§message-immutable-recovery} — a KILL here is an attempt to acknowledge or dismiss; answering is how.
|
|
14
15
|
if (access === "write")
|
|
15
|
-
return Results.failure(`scheme:${this.manifest.name}`, "message-immutable", 405,
|
|
16
|
+
return Results.failure(`scheme:${this.manifest.name}`, "message-immutable", 405, `\`${target.raw}\` is a received message; it cannot be edited, moved or killed, and answering it is what settles it.`, {}, { retryable: false, recovery: `Answer it with \`SEND (${target.raw})\` and your reply as the body, or finish your work with a parameterless KILL whose body is the answer.` });
|
|
16
17
|
if (target.kind !== "url")
|
|
17
18
|
return null;
|
|
18
19
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageScheme.js","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2D,MAAM,0BAA0B,CAAC;AAI/G,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,QAAQ,CAAiB;IAElC,YAAY,IAAY;QACpB,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YAClF,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YAC5E,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;SACjF,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAkB,EAAE,IAAsB,EAAE,MAAM,GAAqB,MAAM;QACnG,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAC1C,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,GAAG,EACxD,
|
|
1
|
+
{"version":3,"file":"MessageScheme.js","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2D,MAAM,0BAA0B,CAAC;AAI/G,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,QAAQ,CAAiB;IAElC,YAAY,IAAY;QACpB,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YAClF,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YAC5E,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;SACjF,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAkB,EAAE,IAAsB,EAAE,MAAM,GAAqB,MAAM;QACnG,yGAAyG;QACzG,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAC1C,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,GAAG,EACxD,KAAK,MAAM,CAAC,GAAG,sGAAsG,EACrH,EAAE,EACF,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,0BAA0B,MAAM,CAAC,GAAG,yGAAyG,EAAE,CAChL,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO;YACH,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAChC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;SACzG,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAyC,EAAE,GAAc;QACjF,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAyB,EAAE,GAAc;QACvD,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAc;QAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ"}
|
package/dist/PacketSections.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PacketSectionDraft } from "./packet.ts";
|
|
2
2
|
export default class PacketSections {
|
|
3
|
-
#private;
|
|
4
3
|
static assertDrafts(value: unknown, subject?: string): PacketSectionDraft[];
|
|
4
|
+
static assertDraft(value: unknown, subject: string): PacketSectionDraft;
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=PacketSections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketSections.d.ts","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,CAAC,OAAO,OAAO,cAAc
|
|
1
|
+
{"version":3,"file":"PacketSections.d.ts","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAA0B,GAAG,kBAAkB,EAAE,CAY3F;IAED,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAoBtE;CACJ"}
|
package/dist/PacketSections.js
CHANGED
|
@@ -6,7 +6,7 @@ export default class PacketSections {
|
|
|
6
6
|
throw new TypeError(`${subject} must be an array`);
|
|
7
7
|
const names = new Set();
|
|
8
8
|
for (let index = 0; index < value.length; index += 1) {
|
|
9
|
-
const section = PacketSections
|
|
9
|
+
const section = PacketSections.assertDraft(value[index], `${subject}[${index}]`);
|
|
10
10
|
if (names.has(section.name)) {
|
|
11
11
|
throw new TypeError(`${subject} has duplicate section name '${section.name}'`);
|
|
12
12
|
}
|
|
@@ -14,7 +14,7 @@ export default class PacketSections {
|
|
|
14
14
|
}
|
|
15
15
|
return value;
|
|
16
16
|
}
|
|
17
|
-
static
|
|
17
|
+
static assertDraft(value, subject) {
|
|
18
18
|
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
19
19
|
throw new TypeError(`${subject} must be an object`);
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketSections.js","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,YAAY,CAAC,KAAc,EAAE,OAAO,GAAG,uBAAuB;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC;QAE9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"PacketSections.js","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"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"}
|
package/dist/Slicer.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { LineMarker, RangeExtent, TextRegion } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import { type SchemeResult, type ScopeNormalization } from "./Results.ts";
|
|
3
|
+
export interface ScopeError {
|
|
4
|
+
readonly error: string;
|
|
5
|
+
readonly recovery?: string;
|
|
6
|
+
}
|
|
3
7
|
export interface TextReplacement {
|
|
4
8
|
readonly start: number;
|
|
5
9
|
readonly end: number;
|
|
@@ -67,9 +71,8 @@ export default class Slicer {
|
|
|
67
71
|
#private;
|
|
68
72
|
static coversAvailable(range: RangeExtent): boolean;
|
|
69
73
|
static window(marker: LineMarker, total: number, unit: RangeUnit): WindowResult;
|
|
70
|
-
static
|
|
71
|
-
|
|
72
|
-
};
|
|
74
|
+
static wholeLineBody(content: string, marker: LineMarker, body: string): string;
|
|
75
|
+
static textReplacement(content: string, marker: LineMarker, body: string): TextReplacement | ScopeError;
|
|
73
76
|
static lines(content: string, marker: LineMarker): SliceResult;
|
|
74
77
|
static page<T>(items: readonly T[], marker: LineMarker, options?: {
|
|
75
78
|
readonly unit?: RangeUnit;
|
package/dist/Slicer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slicer.d.ts","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Slicer.d.ts","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"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"}
|
package/dist/Slicer.js
CHANGED
|
@@ -21,11 +21,11 @@ export default class Slicer {
|
|
|
21
21
|
static #failure(code, status, detail, fields = {}, extensions = {}) {
|
|
22
22
|
return Results.failure("schemes:slicer", code, status, detail, fields, extensions);
|
|
23
23
|
}
|
|
24
|
-
static #rangeFailure(detail, range) {
|
|
24
|
+
static #rangeFailure(detail, range, recovery = "Choose a range within the available extent.") {
|
|
25
25
|
return Slicer.#failure("range-not-satisfiable", 416, detail, { range }, {
|
|
26
26
|
range,
|
|
27
27
|
stage: "projection",
|
|
28
|
-
recovery
|
|
28
|
+
recovery,
|
|
29
29
|
retryable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -62,10 +62,10 @@ export default class Slicer {
|
|
|
62
62
|
if (marker.marks.length !== 1 && marker.marks.length !== 2) {
|
|
63
63
|
return Slicer.#regionFailure(`Positional windows take one or two coordinates; received ${marker.marks.length}.`, marker);
|
|
64
64
|
}
|
|
65
|
-
const norm = Slicer.#normalize(marker, total);
|
|
65
|
+
const norm = Slicer.#normalize(marker, total, unit);
|
|
66
66
|
const extent = Slicer.#extent(marker, total, unit);
|
|
67
67
|
if ("error" in norm)
|
|
68
|
-
return Slicer.#rangeFailure(norm.error, extent);
|
|
68
|
+
return Slicer.#rangeFailure(norm.error, extent, norm.recovery);
|
|
69
69
|
if (norm.kind !== "range" || norm.start > norm.end) {
|
|
70
70
|
return { status: 200, start: null, end: null, range: Slicer.#projectedExtent(extent, null, null) };
|
|
71
71
|
}
|
|
@@ -107,6 +107,17 @@ export default class Slicer {
|
|
|
107
107
|
}
|
|
108
108
|
return { start, end, body, startLine, endLine: resolvedEndLine };
|
|
109
109
|
}
|
|
110
|
+
// {§zero-width-column-one-insert} — the fence artifact repaired where a fenced EDIT body becomes
|
|
111
|
+
// inserted content: a zero-width region at column 1 inserts whole lines, so a non-empty body that
|
|
112
|
+
// does not end in a newline gains the content's separator. Every other body is returned verbatim.
|
|
113
|
+
static wholeLineBody(content, marker, body) {
|
|
114
|
+
const [startLine, startColumn, endLine, endColumn] = marker.marks;
|
|
115
|
+
const zeroWidthAtColumnOne = marker.marks.length === 4
|
|
116
|
+
&& startLine === endLine && startColumn === 1 && endColumn === 1;
|
|
117
|
+
if (!zeroWidthAtColumnOne || body.length === 0 || /[\r\n]$/.test(body))
|
|
118
|
+
return body;
|
|
119
|
+
return `${body}${Slicer.#preferredSeparator(content, TextCoordinates.lines(content))}`;
|
|
120
|
+
}
|
|
110
121
|
static #preferredSeparator(content, lines) {
|
|
111
122
|
return lines.find(({ separator }) => separator.length > 0)?.separator
|
|
112
123
|
?? (content.includes("\r\n") ? "\r\n" : content.includes("\r") ? "\r" : "\n");
|
|
@@ -117,7 +128,7 @@ export default class Slicer {
|
|
|
117
128
|
if (lines.length === 0 && marker.marks.length === 1 && marker.marks[0] === 1) {
|
|
118
129
|
return { start: 0, end: 0, body, startLine: 1, endLine: 1 };
|
|
119
130
|
}
|
|
120
|
-
const norm = Slicer.#normalize(marker, lines.length);
|
|
131
|
+
const norm = Slicer.#normalize(marker, lines.length, "line");
|
|
121
132
|
if ("error" in norm)
|
|
122
133
|
return norm;
|
|
123
134
|
const separator = Slicer.#preferredSeparator(content, lines);
|
|
@@ -203,7 +214,28 @@ export default class Slicer {
|
|
|
203
214
|
normalization: { requested, canonical },
|
|
204
215
|
};
|
|
205
216
|
}
|
|
206
|
-
|
|
217
|
+
// {§range-starts-at-one} A two-coordinate range never starts at 0; the refusal names the
|
|
218
|
+
// zero-width insertion and the 1-based range the author may have meant.
|
|
219
|
+
static #zeroStart(last, unit) {
|
|
220
|
+
if (unit !== "line") {
|
|
221
|
+
return {
|
|
222
|
+
error: `Range <0,${last}> starts at 0; ${unit} positions are numbered from 1.`,
|
|
223
|
+
recovery: `Write <1,${last}> to start at the first ${unit}.`,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
const error = `Range <0,${last}> starts at 0, which is not a line; lines are numbered from 1 and 0 is only the <0> prepend position.`;
|
|
227
|
+
if (last < 1) {
|
|
228
|
+
return {
|
|
229
|
+
error,
|
|
230
|
+
recovery: `Write <1,-1> to select every line; <0> prepends and <-1> appends without replacing anything.`,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
error,
|
|
235
|
+
recovery: `To insert before line ${last}, write <${last},1,${last},1>; <0> prepends and <-1> appends; to select lines 1 through ${last}, write <1,${last}>.`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
static #normalize(marker, totalLines, unit) {
|
|
207
239
|
// {§slicer-text-algebra} The parser carries raw `marks: [number, ...]`;
|
|
208
240
|
// this owner assigns roles: marks[0] = first/position, marks[1] = last
|
|
209
241
|
// (range end). A single mark is a position/sentinel; two is a range.
|
|
@@ -228,21 +260,19 @@ export default class Slicer {
|
|
|
228
260
|
: `Line ${first} is outside the available line range 1..${totalLines}.`,
|
|
229
261
|
};
|
|
230
262
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
//
|
|
234
|
-
//
|
|
235
|
-
// full replacement for EDIT.
|
|
263
|
+
if (first === 0)
|
|
264
|
+
return Slicer.#zeroStart(last, unit);
|
|
265
|
+
// Whole-content `<1,-1>` is valid even on empty content — it selects the entire,
|
|
266
|
+
// possibly-empty range ({§empty-mutation-scope}). start>end here yields an empty
|
|
267
|
+
// slice for READ and a full replacement for EDIT.
|
|
236
268
|
if (totalLines === 0) {
|
|
237
|
-
if (
|
|
269
|
+
if (first === 1 && (last === -1 || last > 0)) {
|
|
238
270
|
return { kind: "range", start: 1, end: 0 };
|
|
239
271
|
}
|
|
240
272
|
return { error: `Range ${first},${last} cannot select from empty content.` };
|
|
241
273
|
}
|
|
242
|
-
|
|
274
|
+
const n = first;
|
|
243
275
|
let m = last;
|
|
244
|
-
if (n === 0)
|
|
245
|
-
n = 1;
|
|
246
276
|
if (m === -1 || m > totalLines)
|
|
247
277
|
m = totalLines;
|
|
248
278
|
if (n < 1 || n > totalLines)
|
|
@@ -291,9 +321,9 @@ export default class Slicer {
|
|
|
291
321
|
return Slicer.#regionFailure(`Text regions require one, two, or four coordinates; received ${marker.marks.length}.`, marker);
|
|
292
322
|
}
|
|
293
323
|
const lines = TextCoordinates.logicalLines(content);
|
|
294
|
-
const norm = Slicer.#normalize(marker, lines.length);
|
|
324
|
+
const norm = Slicer.#normalize(marker, lines.length, "line");
|
|
295
325
|
if ("error" in norm) {
|
|
296
|
-
return Slicer.#rangeFailure(norm.error, Slicer.#extent(marker, lines.length, "line"));
|
|
326
|
+
return Slicer.#rangeFailure(norm.error, Slicer.#extent(marker, lines.length, "line"), norm.recovery);
|
|
297
327
|
}
|
|
298
328
|
const extent = Slicer.#extent(marker, lines.length, "line");
|
|
299
329
|
if (norm.kind !== "range") {
|
|
@@ -369,15 +399,19 @@ export default class Slicer {
|
|
|
369
399
|
}
|
|
370
400
|
return Slicer.#rangeFailure(`Result ${first} is out of range; available positions are 1..${total} — this scope pages ${extent.unit} items, not text lines.`, extent);
|
|
371
401
|
}
|
|
402
|
+
if (first === 0) {
|
|
403
|
+
const zero = Slicer.#zeroStart(last, options.unit ?? "result");
|
|
404
|
+
return Slicer.#rangeFailure(zero.error, extent, zero.recovery);
|
|
405
|
+
}
|
|
372
406
|
if (total === 0) {
|
|
373
407
|
// Any well-formed range over an empty result set selects nothing: the answer is
|
|
374
408
|
// "no matches", a 200 with zero items. Only an inverted range is unsatisfiable.
|
|
375
|
-
if (first >=
|
|
409
|
+
if (first >= 1 && (last === -1 || last >= first)) {
|
|
376
410
|
return { status: 200, items: [], range: Slicer.#projectedExtent(extent, null, null) };
|
|
377
411
|
}
|
|
378
412
|
return Slicer.#rangeFailure(`Result range ${first},${last} is inverted; a range runs from a lower position to a higher one.`, extent);
|
|
379
413
|
}
|
|
380
|
-
const n = first
|
|
414
|
+
const n = first;
|
|
381
415
|
const m = last === -1 ? total : Math.min(last, total);
|
|
382
416
|
if (n < 1 || n > total)
|
|
383
417
|
return Slicer.#rangeFailure(`Result range start ${first} is out of range; available positions are 1..${total} — this scope pages ${extent.unit} items, not text lines.`, extent);
|
|
@@ -402,7 +436,7 @@ export default class Slicer {
|
|
|
402
436
|
if ("error" in selected) {
|
|
403
437
|
return marker.marks.length !== 1 && marker.marks.length !== 2
|
|
404
438
|
? Slicer.#regionFailure(selected.error, marker)
|
|
405
|
-
: Slicer.#rangeFailure(selected.error, Slicer.#extent(marker, TextCoordinates.logicalLines(content).length, "line"));
|
|
439
|
+
: Slicer.#rangeFailure(selected.error, Slicer.#extent(marker, TextCoordinates.logicalLines(content).length, "line"), selected.recovery);
|
|
406
440
|
}
|
|
407
441
|
return {
|
|
408
442
|
status: 200,
|
|
@@ -431,7 +465,7 @@ export default class Slicer {
|
|
|
431
465
|
if ("error" in replacement) {
|
|
432
466
|
return edit.marker.marks.length !== 1 && edit.marker.marks.length !== 2
|
|
433
467
|
? Slicer.#regionFailure(replacement.error, edit.marker)
|
|
434
|
-
: Slicer.#rangeFailure(replacement.error, Slicer.#extent(edit.marker, TextCoordinates.logicalLines(content).length, "line"));
|
|
468
|
+
: Slicer.#rangeFailure(replacement.error, Slicer.#extent(edit.marker, TextCoordinates.logicalLines(content).length, "line"), replacement.recovery);
|
|
435
469
|
}
|
|
436
470
|
replacements.push({ ...replacement, marker: edit.marker });
|
|
437
471
|
}
|
package/dist/Slicer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slicer.js","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,4CAA4C;AAC5C,8CAA8C;AAC9C,wDAAwD;AACxD,6DAA6D;AAC7D,2EAA2E;AAC3E,sEAAsE;AACtE,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,0EAA0E;AAC1E,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,sEAAsE;AAGtE,OAAO,EAAE,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,OAAuD,MAAM,cAAc,CAAC;AAmDnF,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,QAAQ,CACX,IAAY,EACZ,MAAc,EACd,MAAc,EACd,MAAM,GAAsC,EAAE,EAC9C,UAAU,GAAsC,EAAE;QAElD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAM,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,aAAa,CAChB,MAAc,EACd,KAAkB;QAElB,OAAO,MAAM,CAAC,QAAQ,CAClB,uBAAuB,EACvB,GAAG,EACH,MAAM,EACN,EAAE,KAAK,EAAE,EACT;YACI,KAAK;YACL,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,6CAA6C;YACvD,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,cAAc,CACjB,MAAc,EACd,MAAkB;QAElB,OAAO,MAAM,CAAC,QAAQ,CAClB,uBAAuB,EACvB,GAAG,EACH,MAAM,EACN,EAAE,EACF;YACI,oBAAoB,EAAE,MAAM,CAAC,KAAK;YAClC,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,4CAA4C;YACtD,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAkB,EAAE,KAAa,EAAE,IAAe;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;YACH,IAAI;YACJ,KAAK;YACL,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,gBAAgB,CACnB,MAAmB,EACnB,KAAoB,EACpB,IAAmB;QAEnB,OAAO,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;YAClC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAkB;QACrC,OAAO,KAAK,CAAC,KAAK,KAAK,CAAC;eACjB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IACD,8FAA8F;IAC9F,8FAA8F;IAC9F,yFAAyF;IACzF,MAAM,CAAC,MAAM,CAAC,MAAkB,EAAE,KAAa,EAAE,IAAe;QAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,cAAc,CACxB,4DAA4D,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAClF,MAAM,CACT,CAAC;QACN,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC,aAAa,CAAe,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACvG,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3H,CAAC;IAED,MAAM,CAAC,qBAAqB,CACxB,OAAe,EACf,MAAkB,EAClB,IAAY;QAEZ,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACrE,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/E,OAAO,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,cAAc,SAAS,2CAA2C,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACxG,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,YAAY,OAAO,2CAA2C,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,cAAc,YAAY,oBAAoB,EAAE,CAAC;QACrE,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,GAAG,CAAC,CAAE,CAAC;QAChD,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAChF,IAAI,KAAa,CAAC;QAClB,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACD,KAAK,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1E,GAAG,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,CAAC;QACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YACd,OAAO;gBACH,KAAK,EAAE,gBAAgB,SAAS,IAAI,WAAW,IAAI,OAAO,IAAI,YAAY,yBAAyB;aACtG,CAAC;QACN,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAA0B;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS;eAC9D,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,oBAAoB,CACvB,OAAe,EACf,MAAkB,EAClB,IAAY;QAEZ,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,qFAAqF;QACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3E,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC5E,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9E,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,CAAC;YACT,OAAO;gBACH,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,GAAG,EAAE,OAAO,CAAC,MAAM;gBACnB,IAAI,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE;gBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;aACrC,CAAC;QACN,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,sBAAsB,EAAE,CAAC;QACjF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAC;QACX,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,eAAe,CAClB,OAAe,EACf,MAAkB,EAClB,IAAY;QAEZ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,OAAO,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjF,OAAO,OAAO,IAAI,WAAW;gBACzB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO;YACH,KAAK,EAAE,gEAAgE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG;SAChG,CAAC;IACN,CAAC;IAED,MAAM,CAAC,cAAc,CACjB,OAAe,EACf,MAAkB;QAElB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,YAAY,OAAO,2CAA2C,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACpG,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,YAAY,OAAO,oCAAoC,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAoC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,SAAS,GAAoC,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACxG,OAAO;YACH,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE;YAC5C,aAAa,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC1C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAkB,EAAE,UAAkB;QACpD,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,KAAK,EAAE,gEAAgE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAC7G,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;YACpF,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACzF,OAAO;gBACH,KAAK,EAAE,UAAU,KAAK,CAAC;oBACnB,CAAC,CAAC,QAAQ,KAAK,oCAAoC;oBACnD,CAAC,CAAC,QAAQ,KAAK,2CAA2C,UAAU,GAAG;aAC9E,CAAC;QACN,CAAC;QACD,mEAAmE;QACnE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,6BAA6B;QAC7B,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,oCAAoC,EAAE,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,IAAI,CAAC,KAAK,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU;YAAE,CAAC,GAAG,UAAU,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU;YAAE,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,2CAA2C,UAAU,GAAG,EAAE,CAAC;QAC5H,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,aAAa,IAAI,2CAA2C,UAAU,GAAG,EAAE,CAAC;QACvG,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,gBAAgB,IAAI,GAAG,EAAE,CAAC;QACzE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,wEAAwE;IACxE,iEAAiE;IACjE,EAAE;IACF,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,MAAkB;QAC5C,MAAM,eAAe,GAAG,MAAM,CAAC;QAC/B,IAAI,aAA6C,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,OAAO,IAAI,QAAQ;gBAAE,OAAO,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvF,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,iBAAiB,CAC5C,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,GAAG,CACf,CAAC;YACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACjD,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,MAAM;gBACN,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;aACnF,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,cAAc,CACxB,gEAAgE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EACtF,MAAM,CACT,CAAC;QACN,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;aACrD,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,CAAC;gBACZ,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;aACrD,CAAC;QACN,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK;aACjB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;aAC/B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO;YACH,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;SAC/D,CAAC;IACN,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,CAAC,IAAI,CACP,KAAmB,EACnB,MAAkB,EAClB,OAAO,GAAkC,EAAE;QAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,QAAQ,CAClB,uBAAuB,EACvB,GAAG,EACH,wFAAwF,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,EACxH,EAAE,KAAK,EAAE,MAAM,EAAE,EACjB;gBACI,KAAK,EAAE,MAAM;gBACb,kBAAkB,EAAE,MAAM,CAAC,KAAK;gBAChC,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,qCAAqC;gBAC/C,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,aAAa,CACvB,oEAAoE,KAAK,WAAW,EACpF,MAAM,CACT,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,+EAA+E;YAC/E,gFAAgF;YAChF,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC9B,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACzB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;iBACvD,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CACvB,UAAU,KAAK,gDAAgD,KAAK,uBAAuB,MAAM,CAAC,IAAI,yBAAyB,EAC/H,MAAM,CACT,CAAC;QACN,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,gFAAgF;YAChF,gFAAgF;YAChF,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CACvB,gBAAgB,KAAK,IAAI,IAAI,mEAAmE,EAChG,MAAM,CACT,CAAC;QACN,CAAC;QACD,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;YAAE,OAAO,MAAM,CAAC,aAAa,CAC/C,sBAAsB,KAAK,gDAAgD,KAAK,uBAAuB,MAAM,CAAC,IAAI,yBAAyB,EAC3I,MAAM,CACT,CAAC;QACF,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,aAAa,CAClC,oBAAoB,IAAI,gDAAgD,KAAK,GAAG,EAChF,MAAM,CACT,CAAC;QACF,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,aAAa,CAClC,sBAAsB,KAAK,gBAAgB,IAAI,GAAG,EAClD,MAAM,CACT,CAAC;QACF,OAAO;YACH,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,aAAa;IACb,mFAAmF;IACnF,wEAAwE;IACxE,uBAAuB;IACvB,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAkB;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC/C,CAAC,CAAC,MAAM,CAAC,aAAa,CAClB,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAC/E,CAAC;QACV,CAAC;QACD,OAAO;YACH,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;YACjD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,GAAG,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;SAC3D,CAAC;IACN,CAAC;IAED,4CAA4C;IAC5C,uCAAuC;IACvC,4CAA4C;IAC5C,qCAAqC;IACrC,yCAAyC;IACzC,kEAAkE;IAClE,mEAAmE;IACnE,iDAAiD;IACjD,MAAM,CAAC,cAAc,CAAC,OAAe,EAAE,MAAkB,EAAE,IAAY;QACnE,OAAO,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAA2B;QACnE,MAAM,YAAY,GAA6D,EAAE,CAAC;QAClF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5E,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACnE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;oBACvD,CAAC,CAAC,MAAM,CAAC,aAAa,CAClB,WAAW,CAAC,KAAK,EACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CACpF,CAAC;YACV,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAChE,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,QAAQ,CAClB,mBAAmB,EACnB,GAAG,EACH,gEAAgE,EAChE,EAAE,EACF;gBACI,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,YAAY,CAAC,MAAM;gBAC9B,QAAQ,EAAE,kDAAkD;gBAC5D,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,oFAAoF;QACpF,sFAAsF;QACtF,sFAAsF;QACtF,gFAAgF;QAChF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9I,MAAM,SAAS,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5H,4FAA4F;QAC5F,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC/C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,EAAE,CAAC,CAAC;oBAAC,SAAS;gBACtJ,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC;gBACrE,IAAI,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBAAC,SAAS;gBAChF,CAAC;gBACD,IAAI,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS;gBACjG,qFAAqF;gBACrF,qFAAqF;gBACrF,mFAAmF;gBACnF,MAAM,aAAa,GAAG,CAAC,MAAgB,EAAE,MAAgB,EAAW,EAAE,CAClE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;uBACrE,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrF,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAY,EAAE,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzK,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,aAAa,GAAa,EAAE,CAAC;oBAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxI,MAAM,WAAW,GAAG,CAAC,KAAe,EAAY,EAAE,GAAG,MAAM,EAAE,GAAa,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;4BAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnQ,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;wBAAC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7F,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC7J,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wBACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;wBACxK,SAAS;oBACb,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC3F,SAAS;oBACb,CAAC;oBACD,SAAS;gBACb,CAAC;gBACD,0DAA0D;gBAC1D,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO;oBAAE,SAAS;gBACxG,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;gBAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjF,IAAI,KAAK,KAAK,KAAK;oBAAE,SAAS;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,eAAe,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBAChF,MAAM,aAAa,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3G,IAAI,OAAO,IAAI,QAAQ;oBAAE,SAAS;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;gBAC/L,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACtL,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,qFAAqF;QACrF,sFAAsF;QACtF,sDAAsD;QACtD,MAAM,SAAS,GAAqI,EAAE,CAAC;QACvJ,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,QAAQ,GAAG,UAAU,IAAI,UAAU;oBACrC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,UAAU;wBACR,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG;wBACtC,CAAC,CAAC,UAAU;4BACR,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG;4BACtC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;gBACjD,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,MAAM,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO,CAAC;gBAC/I,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;oBACjE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB;wBAChC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB;4BACzG,CAAC,CAAC,SAAS,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrJ,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,wBAAwB,CAAC,CAAC;YACnF,MAAM,QAAQ,GAAG;gBACb,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,IAAK,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAK,GAAG,CAAC,GAAG,CAAC;gBACnR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7G,CAAC;YACF,OAAO,MAAM,CAAC,QAAQ,CAClB,mBAAmB,EACnB,GAAG,EACH,2BAA2B,EAC3B,EAAE,EACF;gBACI,KAAK,EAAE,UAAU;gBACjB,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO;gBACzC,SAAS;gBACT,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,YAAY,CAAC,MAAM;gBAC9B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,GAAG,SAAS,CAAC,MAAM,oBAAoB,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,YAAY,CAAC,MAAM,4BAA4B,YAAY,CAAC,MAAM,kBAAkB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC,EAAE;gBAChV,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,yFAAyF;QACzF,cAAc;QACd,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzG,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAC3D,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO;YACH,MAAM,EAAE,GAAG;YACX,MAAM;YACN,GAAG,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SACtD,CAAC;IACN,CAAC;CAEJ"}
|
|
1
|
+
{"version":3,"file":"Slicer.js","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"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"}
|
package/dist/Summarize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Summarize.d.ts","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Summarize.d.ts","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,MAAM,CAAC,OAAO,OAAO,SAAS;;IAM1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiB/D;CA2BJ"}
|
package/dist/Summarize.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// (`READ <tag>://x<L>`) without a READ-to-orient; the body itself stays behind
|
|
5
5
|
// the handle. Receipt = `address + OrientIndex`; reaching the body is always an
|
|
6
6
|
// explicit READ. (No preview, no inline — universal-receipt is locked.)
|
|
7
|
+
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
7
8
|
import MimetypeClassifier from "./MimetypeClassifier.js";
|
|
8
9
|
export default class Summarize {
|
|
9
10
|
// Build the structural orient-index for a produced output blob, by its REAL
|
|
@@ -51,9 +52,7 @@ export default class Summarize {
|
|
|
51
52
|
return typeof item;
|
|
52
53
|
}
|
|
53
54
|
static #textIndex(content) {
|
|
54
|
-
const lines = content
|
|
55
|
-
? 0
|
|
56
|
-
: content.endsWith("\n") ? content.split("\n").length - 1 : content.split("\n").length;
|
|
55
|
+
const lines = TextCoordinates.lineCount(content); // {§logical-line-count}
|
|
57
56
|
// Markdown-style headings (`#`..`######`) — the structural anchors the
|
|
58
57
|
// model slices toward in prose output.
|
|
59
58
|
const headings = [];
|
package/dist/Summarize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Summarize.js","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,8CAA8C;AAC9C,sEAAsE;AACtE,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE;AAExE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAQzD,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,4EAA4E;IAC5E,sEAAsE;IACtE,4EAA4E;IAC5E,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,CAAC,SAAS,CAAC,OAAe,EAAE,QAAgB;QAC9C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5D,CAAC;YACD,sEAAsE;YACtE,6CAA6C;QACjD,CAAC;QACD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAe;QAC5B,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IACnE,CAAC;IAED,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,CAAC,QAAQ,CAAC,IAAa;QACzB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACzG,OAAO,OAAO,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAe;QAC7B,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"Summarize.js","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-schemes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "Framework + contract for the @plurnk/plurnk-schemes-* URI handler packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -48,13 +48,13 @@
|
|
|
48
48
|
"prepack": "npm run build"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"@plurnk/plurnk-mimetypes": "^1.
|
|
51
|
+
"@plurnk/plurnk-mimetypes": "^1.22.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@plurnk/plurnk-contracts": "1.
|
|
55
|
-
"@plurnk/plurnk-meta": "1.
|
|
54
|
+
"@plurnk/plurnk-contracts": "1.22.0",
|
|
55
|
+
"@plurnk/plurnk-meta": "1.22.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@plurnk/plurnk-parser": "1.
|
|
58
|
+
"@plurnk/plurnk-parser": "1.22.0"
|
|
59
59
|
}
|
|
60
60
|
}
|