@plurnk/plurnk-schemes-http 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/SPEC.md +26 -19
- package/dist/Http.d.ts +3 -3
- package/dist/Http.d.ts.map +1 -1
- package/dist/Http.js +12 -6
- package/dist/Http.js.map +1 -1
- package/dist/Ws.d.ts +2 -1
- package/dist/Ws.d.ts.map +1 -1
- package/dist/Ws.js +117 -77
- package/dist/Ws.js.map +1 -1
- package/docs/http.md +14 -12
- package/docs/wss.md +18 -13
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -8,16 +8,16 @@ authored against the DB-free
|
|
|
8
8
|
|
|
9
9
|
## HTTP operations
|
|
10
10
|
|
|
11
|
-
| Operation
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
11
|
+
| Operation | Behavior |
|
|
12
|
+
| ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
13
|
+
| `## READ0 (http(s)://…)` | Fetch or reuse/revalidate a GET representation, then stream the selected response channel |
|
|
14
|
+
| `## READ0 (http(s)://…) <scope>` | Apply the standard entry READ to an already-materialized response without refetching |
|
|
15
|
+
| `## FIND0 (http(s)://…)` with matcher body | Materialize an exact URL when required, then use the universal entry query and matcher |
|
|
16
|
+
| `## SEND0 [200] (http(s)://…)` with body | POST the body and stream the response |
|
|
17
|
+
| `## EDIT0 (http(s)://…)` with body | PUT a whole-resource replacement; line-scoped HTTP edits are invalid |
|
|
18
|
+
| `## KILL0 (http(s)://…)` | DELETE the remote resource and stream the response |
|
|
19
|
+
| `## SEND0 [499] (http(s)://…)` | Cancel the routed in-flight subscription |
|
|
20
|
+
| `## SEND0 [410] (http(s)://…)` | Delete the local stored response entry |
|
|
21
21
|
|
|
22
22
|
A path-pattern FIND surveys already-materialized web entries; it does not crawl
|
|
23
23
|
or discover the remote web. Exact matcher FIND shares the standard flat
|
package/SPEC.md
CHANGED
|
@@ -36,21 +36,21 @@ pathnames, `%28` and `%29` canonicalize to literal parentheses.
|
|
|
36
36
|
|
|
37
37
|
## §op-surface §2 HTTP operation surface
|
|
38
38
|
|
|
39
|
-
| Operation
|
|
40
|
-
|
|
|
41
|
-
| Exact
|
|
42
|
-
| Exact
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
39
|
+
| Operation | Remote action | Contract |
|
|
40
|
+
| ------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
41
|
+
| Exact `## READ0 (url) <scope?>` | GET unless a fresh GET copy is usable | Prepare one complete canonical representation, then let core select and project it |
|
|
42
|
+
| Exact `## FIND0 (url)` | GET only when acquisition is required | Use the same preparation, then universal query, matcher, weighting, and pagination |
|
|
43
|
+
| `## FIND0 (pattern-url)` | None | Query already-materialized web entries; a path pattern does not discover the remote web |
|
|
44
|
+
| `## SEND0 [200] (url)` with body | POST | Stream and persist the response under the addressed URL |
|
|
45
|
+
| `## EDIT0 (url)` with body | PUT | Replace the whole remote resource; a line marker is invalid |
|
|
46
|
+
| `## KILL0 (url)` | DELETE | Delete the remote resource and stream its response |
|
|
47
|
+
| `## SEND0 [410] (url)` | None | Delete the local stored entry |
|
|
48
|
+
| `## SEND0 [499] (url)` | Cancellation is engine-routed | The routed subscription handle aborts the live owner; scheme dispatch is a `200` no-op |
|
|
49
49
|
|
|
50
50
|
Finite GET uses scope-blind representation preparation; POST, PUT, DELETE,
|
|
51
51
|
and genuinely live GET responses retain the subscription path. Request
|
|
52
52
|
headers are ordered target metadata: one trailing `{Key: value}` block per
|
|
53
|
-
header.
|
|
53
|
+
header. A loop SEND signal is never the remote HTTP status; remote status and
|
|
54
54
|
headers are persisted in `header`.
|
|
55
55
|
Exact-versus-pattern FIND preparation uses the shared
|
|
56
56
|
`PathSyntax.hasGlob` classifier {§path-glob}; HTTP owns no reduced
|
|
@@ -219,8 +219,8 @@ acquisition `header` remain independent of an unavailable origin source.
|
|
|
219
219
|
| Finite empty text response | `204` |
|
|
220
220
|
| Finite binary response has no readable projection | `415` (`binary-response-unsupported`) |
|
|
221
221
|
| Binary projection input exceeds the configured byte bound | `413` (`projection-input-limit`) |
|
|
222
|
-
| `
|
|
223
|
-
| Routed `
|
|
222
|
+
| SEND signal `410` | Exact entry-delete result |
|
|
223
|
+
| Routed SEND signal `499` dispatch | `200` |
|
|
224
224
|
| Client-cancelled finite acquisition | `499` (`cancelled`) |
|
|
225
225
|
| SSE after acquisition | `102` initial; terminal selected-channel result |
|
|
226
226
|
| SSE cancellation after acquisition | `102` initial; terminal `499` |
|
|
@@ -403,7 +403,7 @@ body, TTL, and validators together.
|
|
|
403
403
|
POST, PUT, and DELETE responses retain their method marker but cannot satisfy a
|
|
404
404
|
later GET or exact-FIND acquisition. An unmarked authored entry and an eligible
|
|
405
405
|
stored GET remain visible to universal FIND as durable evidence; exact HTTP
|
|
406
|
-
preparation applies the policy above. `
|
|
406
|
+
preparation applies the policy above. SEND signal `410` deletes the stored entry.
|
|
407
407
|
|
|
408
408
|
### §sse Server-sent events
|
|
409
409
|
|
|
@@ -456,18 +456,19 @@ stateDiagram-v2
|
|
|
456
456
|
Claimed --> Idle: setup or construction failure
|
|
457
457
|
Connecting --> Open: native open; messages active; READ 102
|
|
458
458
|
Connecting --> Settling: pre-open close/error, KILL, cancel, activation failure, or shutdown
|
|
459
|
-
Open --> Open: ordered inbound frame or SEND
|
|
459
|
+
Open --> Open: ordered inbound frame, EDIT, or SEND 200
|
|
460
460
|
Open --> Settling: closing state, close/error, KILL, cancel, binary frame, persistence failure, or shutdown
|
|
461
461
|
Settling --> Idle: await retained work, close subscription, release claim
|
|
462
462
|
```
|
|
463
463
|
|
|
464
464
|
| Operation or event | Contract |
|
|
465
465
|
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
466
|
-
|
|
|
466
|
+
| `## READ0 (ws(s)://…)` | Claim, seed/subscribe, construct `CONNECTING`, then return `102` after native `open` plus durable activation |
|
|
467
467
|
| Concurrent duplicate READ | `409` in `claimed`, `connecting`, `open`, or `settling`; cleanup releases the only claim |
|
|
468
|
-
|
|
|
469
|
-
|
|
|
470
|
-
|
|
|
468
|
+
| `## EDIT0 (ws(s)://…)` | Send one whole text frame only for an open owner; line ranges and multi-statement batches are rejected |
|
|
469
|
+
| `## SEND0 [200] (ws(s)://…)` | Send only for owner `open` plus native `readyState=OPEN`; absent or non-open owner is `409`; send throw is `502` |
|
|
470
|
+
| `## SEND0 [499] (ws(s)://…)` | Engine-routed cancellation closes the owning READ; scheme dispatch returns `200` |
|
|
471
|
+
| `## KILL0 (ws(s)://…)` | Close/cancel the claimed owner; no owner is `404`; an attempted close throw is `502` |
|
|
471
472
|
| Inbound frame after native `open` | Join the owner's persistence chain; the next write begins only after the preceding write succeeds |
|
|
472
473
|
| Binary frame after native `open` | Retain the text prefix, prune the binary and later frames, settle `415 binary-frame-unsupported`, close with private-use code `4003` |
|
|
473
474
|
| First inbound persistence failure | Retain the successful prefix, prune queued and later frames, and settle with `500 message-persistence-failed` |
|
|
@@ -475,6 +476,12 @@ stateDiagram-v2
|
|
|
475
476
|
| Socket closes after `open` | Drain the accepted frame prefix; initial READ remains `102`; settle with `200` unless a drained write fails |
|
|
476
477
|
| Failure after `open` | Initial READ remains `102`; persist the exact terminal failure and wake through subscription settlement |
|
|
477
478
|
|
|
479
|
+
Markerless single-statement EDIT and SEND with signal `200` converge on one
|
|
480
|
+
outbound text-frame path and have the same connection and transport outcomes.
|
|
481
|
+
Dispatcher phase order ({§op-mode-phases}) runs EDIT before READ and SEND after
|
|
482
|
+
READ, so an EDIT requires an owner opened before the turn while SEND can follow
|
|
483
|
+
the opening READ in the same turn.
|
|
484
|
+
|
|
478
485
|
The in-instance registry is keyed by workspace, addressed protocol, and
|
|
479
486
|
canonical network pathname. The claim remains registered through terminal
|
|
480
487
|
cleanup, so a new READ cannot overlap an owner's subscription settlement. Every
|
package/dist/Http.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, SendStatement,
|
|
1
|
+
import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, SendStatement, ResolvedEditStatement, KillStatement } from "@plurnk/plurnk-schemes";
|
|
2
2
|
export default class Http implements SchemeHandler {
|
|
3
3
|
#private;
|
|
4
4
|
static manifest: SchemeManifest;
|
|
5
5
|
constructor();
|
|
6
6
|
ready(): Promise<void>;
|
|
7
7
|
prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
|
|
8
|
-
editBatch(statements: readonly
|
|
9
|
-
edit(statement:
|
|
8
|
+
editBatch(statements: readonly ResolvedEditStatement[], ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
9
|
+
edit(statement: ResolvedEditStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
10
10
|
kill(statement: KillStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
11
11
|
send(statement: SendStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
12
12
|
}
|
package/dist/Http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,qBAAqB,EACrB,aAAa,EAOhB,MAAM,wBAAwB,CAAC;AAuMhC,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,aAAa;;IAC9C,MAAM,CAAC,QAAQ,EAAE,cAAc,CA2B7B;IAIF,cAGC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAS1C;IAkNK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqCxG;IAEK,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEvF;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/E;IAQK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoC/E;CAypBJ"}
|
package/dist/Http.js
CHANGED
|
@@ -150,7 +150,15 @@ class Http {
|
|
|
150
150
|
volatile: true, // remote content can change between fetches
|
|
151
151
|
modelVisible: true,
|
|
152
152
|
glyph: "🌐",
|
|
153
|
-
example:
|
|
153
|
+
example: [
|
|
154
|
+
"## READ0 (https://example.com/page)",
|
|
155
|
+
"",
|
|
156
|
+
"## EDIT0 (https://api.example.com/v1/pets/42{Content-Type: application/json})",
|
|
157
|
+
'{"name":"Mango","status":"available"}',
|
|
158
|
+
"",
|
|
159
|
+
"## SEND0 [200] (https://api.example.com/v1/pets{Content-Type: application/json})",
|
|
160
|
+
'{"name":"Mango","status":"available"}',
|
|
161
|
+
].join("\n"),
|
|
154
162
|
documentation,
|
|
155
163
|
flags: {
|
|
156
164
|
requiresWeb: true, // excluded under the loop's noWeb flag
|
|
@@ -273,7 +281,6 @@ class Http {
|
|
|
273
281
|
};
|
|
274
282
|
const written = await ctx.entries.write(pathname, {
|
|
275
283
|
channels,
|
|
276
|
-
tags: cached.tags,
|
|
277
284
|
});
|
|
278
285
|
if (Results.isErrorStatus(written.status))
|
|
279
286
|
return _a.#passthrough(written);
|
|
@@ -308,7 +315,6 @@ class Http {
|
|
|
308
315
|
}
|
|
309
316
|
const written = await ctx.entries.write(pathname, {
|
|
310
317
|
channels: WebFetcher.materializedChannels(materialized, { url, method: "GET" }),
|
|
311
|
-
tags: [],
|
|
312
318
|
});
|
|
313
319
|
if (Results.isErrorStatus(written.status))
|
|
314
320
|
return _a.#passthrough(written);
|
|
@@ -374,7 +380,7 @@ class Http {
|
|
|
374
380
|
async edit(statement, ctx) {
|
|
375
381
|
return this.editBatch([statement], ctx);
|
|
376
382
|
}
|
|
377
|
-
// KILL -> DELETE the resource. Distinct from SEND
|
|
383
|
+
// KILL -> DELETE the resource. Distinct from SEND signal 410 (which drops the local
|
|
378
384
|
// cached entry): KILL is an HTTP DELETE request to the remote.
|
|
379
385
|
async kill(statement, ctx) {
|
|
380
386
|
if (statement.target === null || statement.target.kind !== "url") {
|
|
@@ -444,7 +450,7 @@ class Http {
|
|
|
444
450
|
retryable: false,
|
|
445
451
|
});
|
|
446
452
|
}
|
|
447
|
-
// Local AbortController for force-cancel from outside (SEND
|
|
453
|
+
// Local AbortController for force-cancel from outside (SEND signal 499).
|
|
448
454
|
const local = new AbortController();
|
|
449
455
|
const handle = { cancel: () => local.abort() };
|
|
450
456
|
// {§http-lifecycle} open() binds an existing entry, so the handler seeds
|
|
@@ -564,7 +570,7 @@ class Http {
|
|
|
564
570
|
mimetype,
|
|
565
571
|
state: "active",
|
|
566
572
|
}]));
|
|
567
|
-
return { channels
|
|
573
|
+
return { channels };
|
|
568
574
|
}
|
|
569
575
|
// {§revalidation} The body and header must have settled successfully. An
|
|
570
576
|
// auxiliary channel may have terminally failed without invalidating body.
|
package/dist/Http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,oEAAoE;AACpE,gFAAgF;;AAEhF,OAAO,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAoBnE,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,OAAO,GACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,UAAU,EAAE,EACf,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,GAI1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5E,+EAA+E;AAC/E,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACjD,MAAM,mBAAmB,GAAG,WAAc,CAAC;AAC3C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACnC,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,cAAc;CACjB,CAAC,CAAC;AAmBH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAY,EAAE;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,OAAO;gBAAE,OAAO,GAAG,KAAK,CAAC;iBACxB,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC;iBACvC,IAAI,SAAS,KAAK,GAAG;gBAAE,MAAM,GAAG,KAAK,CAAC;QAC/C,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAA8C,EAAE;IAClF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnF,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAA4B,EAAiB,EAAE;IACtE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,IAAY,EAAsB,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI;YAAE,SAAS;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAoB,EAAE;IAClD,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,KAAK,KAAK,IAAI;QACjB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,MAAM,GAAsB;IAC9B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACxC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CAC3C,CAAC;AACF,MAAM,QAAQ,GAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACtF,MAAM,WAAW,GAAG,+IAA+I,CAAC;AACpK,MAAM,WAAW,GAAG,4KAA4K,CAAC;AACjM,MAAM,YAAY,GAAG,uJAAuJ,CAAC;AAE7K,MAAM,WAAW,GAAG,CAChB,OAAe,EACf,GAAW,EACX,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,MAAc,EACD,EAAE;IACf,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,UAAU,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI;WAC9B,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU;WACjC,IAAI,CAAC,UAAU,EAAE,KAAK,UAAU;WAChC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW;WAClC,IAAI,CAAC,aAAa,EAAE,KAAK,aAAa;WACtC,IAAI,CAAC,aAAa,EAAE,KAAK,aAAa;WACtC,IAAI,CAAC,SAAS,EAAE,KAAK,YAAY;QACpC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;QAChB,CAAC,CAAC,IAAI,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAiB,EAAE;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,WAAW,CACd,SAAS,CAAC,CAAC,CAAE,EACb,SAAS,CAAC,CAAC,CAAE,EACb,SAAS,CAAC,CAAC,CAAE,EACb,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,CAAC,CAAE,EACb,SAAS,CAAC,CAAC,CAAE,EACb,SAAS,CAAC,CAAC,CAAE,CAChB,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;QAC5D,OAAO,WAAW,CACd,MAAM,CAAC,CAAC,CAAE,EACV,MAAM,CAAC,CAAC,CAAE,EACV,MAAM,CAAC,CAAC,CAAE,EACV,IAAI,EACJ,MAAM,CAAC,CAAC,CAAE,EACV,MAAM,CAAC,CAAC,CAAE,EACV,MAAM,CAAC,CAAC,CAAE,CACb,CAAC;IACN,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,OAAO,KAAK,IAAI;QACnB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CACT,OAAO,CAAC,CAAC,CAAE,EACX,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,EACzB,OAAO,CAAC,CAAC,CAAE,EACX,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAClB,OAAO,CAAC,CAAC,CAAE,EACX,OAAO,CAAC,CAAC,CAAE,EACX,OAAO,CAAC,CAAC,CAAE,CACd,CAAC;AACV,CAAC,CAAC;AAEF,kFAAkF;AAClF,qFAAqF;AACrF,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3F,MAAqB,IAAI;IACrB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,MAAM;QACZ,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,kFAAkF;QAClF,+BAA+B;QAC/B,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,0BAA0B,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3F,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,IAAI,EAAS,4CAA4C;QACnE,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACL,qCAAqC;YACrC,EAAE;YACF,+EAA+E;YAC/E,uCAAuC;YACvC,EAAE;YACF,kFAAkF;YAClF,uCAAuC;SAC1C,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,aAAa;QACb,KAAK,EAAE;YACH,WAAW,EAAE,IAAI,EAAE,uCAAuC;SAC7D;KACJ,CAAC;IAEO,iBAAiB,CAAS;IAC1B,WAAW,CAAa;IACjC;QACI,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,4CAA4C;IAC5C,KAAK,CAAC,qBAAqB,CACvB,OAAyC,EACzC,GAAc;QAEd,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,yCAAyC,EAAE;gBACnF,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,mCAAmC;gBAC7C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CACb,MAAe,EACf,QAAgB,EAChB,GAAc;QAEd,MAAM,OAAO,GAAG,EAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAmC,CAAC;QACxC,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9D,OAAO,EAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,EAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YACxF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/E,IAAI,CAAC;gBACD,IAAI,MAAM,EAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrF,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;oBACrB,IAAI,EAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;wBAChE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,EAAI,CAAC,uBAAuB,CAC/B,GAAG,EACH,KAAK,EACL,IAAI,uBAAuB,CAAC,EAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAChF,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,EAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,OAA8B,CAAC;QACnC,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,cAAc;gBACvB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;oBACtB,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE;oBACrC,CAAC,CAAC,EAAE,CAAC;gBACT,OAAO,EAAE,KAAK;gBACd,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9D,OAAO,EAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,kBAAkB,EAClB,WAAW,GAAG,6BAA6B,EAC3C;gBACI,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,IAAI;aAClB,CACJ,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,GAAG,yDAAyD,EACxE;oBACI,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,aAAa;oBACpB,SAAS,EAAE,IAAI;iBAClB,CACJ,CAAC;YACN,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC;YACtD,IAAI,EAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,GAAG,6EAA6E,EAC5F;oBACI,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,aAAa;oBACpB,SAAS,EAAE,IAAI;iBAClB,CACJ,CAAC;YACN,CAAC;YACD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,EAAI,CAAC,wBAAwB,CAC9B,YAAY,EACZ,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACrE,EAAE,CAAC;gBACA,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,GAAG,yFAAyF,EACxG;oBACI,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,aAAa;oBACpB,SAAS,EAAE,IAAI;iBAClB,CACJ,CAAC;YACN,CAAC;YACD,MAAM,QAAQ,GAA0B;gBACpC,GAAG,MAAM,CAAC,QAAQ;gBAClB,CAAC,MAAM,CAAC,EAAE;oBACN,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE;oBAC3B,OAAO,EAAE,EAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC;iBAChF;aACJ,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC9C,QAAQ;aACX,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,mBAAmB;eACrC,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;eAC/B,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,YAA0C,CAAC;QAC/C,IAAI,CAAC;YACD,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;gBAC3C,OAAO,EAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,6BAA6B,EAC7B,YAAY,GAAG,aAAa,OAAO,CAAC,QAAQ,yGAAyG,EACrJ;gBACI,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,iBAAiB;gBACxB,QAAQ,EAAE,+CAA+C;gBACzD,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAClF,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,OAAuB,EACvB,OAAuB,EACvB,GAAc;QAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB;YAC/B,MAAM,EAAE,KAAK,IAAI,EAAE;gBACf,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClD,CAAC;SACJ,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,EAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE;YACjD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;SAC3C,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACjD,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,KAAK,CAAC,SAAS,CAAC,UAA4C,EAAE,GAAc;QACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,uBAAuB,EACvB,GAAG,UAAU,CAAC,MAAM,yEAAyE,EAC7F;gBACI,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/D,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,yCAAyC,EAAE;gBACnF,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,mCAAmC;gBAC7C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,uBAAuB,EACvB,gFAAgF,EAChF;gBACI,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,iEAAiE;gBAC3E,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAgC,EAAE,GAAc;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,oFAAoF;IACpF,+DAA+D;IAC/D,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAc;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/D,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,yCAAyC,EAAE;gBACnF,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,mCAAmC;gBAC7C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,4DAA4D;IAC5D,qDAAqD;IACrD,mCAAmC;IACnC,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAc;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/D,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,yCAAyC,EAAE;gBACnF,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,mCAAmC;gBAC7C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,EAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;gBAAE,OAAO,OAAO,CAAC;YACzD,OAAO,EAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,6DAA6D;YAC7D,8DAA8D;YAC9D,wCAAwC;YACxC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;QACD,0EAA0E;QAC1E,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,yBAAyB,EACzB,kDAAkD,MAAM,GAAG,EAC3D;YACI,eAAe,EAAE,MAAM;YACvB,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,4EAA4E;IAC5E,4DAA4D;IAC5D,yBAAyB;IACzB,KAAK,CAAC,QAAQ,CAAC,MAAe,EAAE,GAAc,EAAE,MAAc,EAAE,IAAwB;QACpF,MAAM,OAAO,GAAG,EAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzE,IAAI,CAAC,CAAC,gBAAgB,IAAI,EAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,mBAAmB,EACnB,YAAY,gBAAgB,oCAAoC,EAChE;gBACI,gBAAgB,EAAE,gBAAgB;gBAClC,iBAAiB;gBACjB,QAAQ,EAAE,sCAAsC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC/G,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QAED,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAEnE,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7E,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;oBAC5D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAqB,EAAE,GAAG,OAAO,CAAC;gBACtE,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,QAAQ;aACrB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAE5E,kEAAkE;YAClE,iEAAiE;YACjE,mEAAmE;YACnE,sDAAsD;YACtD,MAAM,EAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACpH,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;gBACjF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,QAAQ,GAAG;gBACb,MAAM,EAAE,YAAyC;gBACjD,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE;aACtC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,SAAS,CAAC;gBACd,IAAI,CAAC;oBACD,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CACrC,QAAQ,EACR,QAAQ,EACR,GAAG,CAAC,UAAU,CACjB,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACnD,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,EAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;oBAChF,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC5E,MAAM,YAAY,CAAC,KAAK,CACpB,EAAE,MAAM,EAAE,GAAG,EAAE,EACf,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,wBAAwB,QAAQ,EAAE,CACzF,CAAC;oBACF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBACjD,CAAC;gBACD,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,QAAQ,MAAM,IAAI,GAAG,aAAa,QAAQ,yGAAyG,CAAC;gBACnK,MAAM,MAAM,GAAG,EAAI,CAAC,IAAI,CACpB,GAAG,EACH,MAAM,EACN,6BAA6B,EAC7B,MAAM,EACN;oBACI,MAAM,EAAE,GAAG;oBACX,MAAM;oBACN,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,iBAAiB;oBACxB,QAAQ,EAAE,sGAAsG;oBAChH,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC;gBACF,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,8DAA8D;YAC9D,wEAAwE;YACxE,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAyC,EAAE,CAAC;gBAClE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBACtB,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1E,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,KAAK,QAAQ,CAAC,CAAC;YACrF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,EAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,EAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC9D,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,QAAQ,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACxD,iEAAiE;YACjE,gDAAgD;YAChD,MAAM,MAAM,GAAG,EAAI,CAAC,IAAI,CACpB,GAAG,EACH,MAAM,EACN,cAAc,EACd,MAAM,EACN;gBACI,MAAM,EAAE,GAAG;gBACX,MAAM;gBACN,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,IAAI;aAClB,CACJ,CAAC;YACF,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;QAClB,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,CAAC,UAAU;QACb,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,EAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;gBACpE,OAAO,EAAE,EAAE;gBACX,QAAQ;gBACR,KAAK,EAAE,QAAiB;aAC3B,CAAC,CAAC,CACN,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,CAAC,uBAAuB,CAAC,KAAsB;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,KAA+B,EAAW,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC;QAC1G,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC;QAC5F,OAAO,UAAU,CAAC,SAAS,CAAC;eACrB,UAAU,CAAC,WAAW,CAAC;eACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,CAAC,KAAK,CAAC,0BAA0B,CACnC,KAAsB,EACtB,cAAwD,EACxD,UAA0B;QAE1B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,EAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;eACnC,EAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK;eAC7C,cAAc,CAAC,MAAM,KAAK,CAAC;eAC3B,EAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS;eAChD,CAAC,EAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO;eAChD,MAAM,EAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,YAAY,CACrB,YAAgC,EAChC,MAAc,EACd,MAAc,EACd,UAAkB,EAClB,eAAyD,EACzD,cAAwD;QAExD,MAAM,YAAY,CAAC,WAAW,CAC1B,MAAM,EACN,EAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,EACjF,YAAY,CACf,CAAC;IACN,CAAC;IAED,MAAM,CAAC,eAAe,CAClB,MAAc,EACd,MAAc,EACd,UAAkB,EAClB,eAAyD,EACzD,cAAwD;QAExD,MAAM,KAAK,GAAG,CAAC,QAAQ,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,KAAK,MAAM,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,CACjC,YAAgC,EAChC,QAAgB;QAEhB,MAAM,YAAY,CAAC,WAAW,CAC1B,MAAM,EACN,KAAK,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC9C,YAAY,CACf,CAAC;IACN,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC3B,YAAgC,EAChC,QAAkB,EAClB,OAAuF;QAEvF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,EAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,EAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO;YACX,CAAC;YACD,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,eAAe,MAAM,SAAS,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,EAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO;YACX,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,QAAQ,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,EAAI,CAAC,IAAI,CACpB,GAAG,EACH,MAAM,EACN,cAAc,EACd,MAAM,EACN;gBACI,MAAM,EAAE,OAAO,CAAC,GAAG;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,IAAI;aAClB,CACJ,CAAC;YACF,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,8DAA8D;IAC9D,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAgC,EAAE,QAAkB;QAC3E,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAsB,IAAI,CAAC;QACpC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,YAAY,CAAC;YACxB,aAAa,EAAE,aAAa,CAAC,0CAA0C,CAAC;YACxE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,gEAAgE;YAChE,gEAAgE;YAChE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B;oBAAE,KAAK,GAAG,KAAK,CAAC;YACjE,CAAC;SACJ,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACvB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,YAAY,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAiC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAChC,MAAM,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC;QAChC,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAe;QAC3B,IAAI,OAAuB,CAAC;QAC5B,IAAI,CAAC;YACD,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,8DAA8D,EAAE;gBACxG,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,wCAAwC;gBAClD,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1D,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,mDAAmD,EAAE;gBAC7F,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,mCAAmC;gBAC7C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,EAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,mCAAmC,EAAE;gBACvF,MAAM,EAAE,OAAO,CAAC,GAAG;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,2FAA2F;gBACrG,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,2EAA2E;IAC3E,2DAA2D;IAC3D,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAC1C,MAAM,SAAS,GAAG,EAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;QAClD,IAAI,YAAY,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,MAAM,GAAG,EAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACnD,OAAO,MAAM,CAAC,mBAAmB,KAAK,SAAS;eACxC,EAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACjF,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,UAAU,CAAC,WAAmB;QACjC,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAY;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAwB;QACzC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,IAAI,EAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,UAAU;gBAAE,UAAU,GAAG,KAAK,CAAC;QACzE,CAAC;QACD,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC;QACxC,OAAO,EAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,cAAc;YAC1E,CAAC,CAAC,UAAU,GAAG,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAA8B,EAAE,IAAY;QAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAc;QACpC,MAAM,MAAM,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC;aACzD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,SAAS,EAA8C,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACpE,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,mBAAmB,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;gBACtC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,MAAM,aAAa,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC;oBACtC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;oBAC7B,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,SAAS,GAAG,EAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC9C,mBAAmB,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACJ,MAAM,UAAU,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;wBACtC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;wBAC1B,CAAC,CAAC,IAAI,CAAC;oBACX,MAAM,WAAW,GAAG,UAAU,IAAI,SAAS,CAAC;oBAC5C,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO;YACH,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;YAC3D,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;YAC3D,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC;SACxE,CAAC;IACN,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAAc,EAAE,SAAiB,EAAE,GAAW;QAC7D,MAAM,MAAM,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAmB;QACrC,OAAO,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IACvE,CAAC;IAED,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,CAAC,mBAAmB,CAAC,WAAmB,EAAE,KAAa;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,CAAC;gBAAE,SAAS;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACvD,IAAI,IAAI,KAAK,UAAU;gBAAE,UAAU,GAAG,KAAK,CAAC;QAChD,CAAC;QACD,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACrC,IAAI,KAAyB,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK;gBAAE,SAAS;YAC/E,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QAC1C,OAAO,EAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,WAAmB;QAC5C,OAAO,EAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAmB;QACpC,MAAM,KAAK,GAAG,EAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QAC1E,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,MAAc;QACjC,OAAO,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,UAA0B;QACtE,MAAM,cAAc,GAAG,EAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,EAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,oBAAoB,CAAC,UAAU,CAAC,iBAAiB,CAAC;mBAC/C,oBAAoB,KAAK,oBAAoB;gBAAE,OAAO,IAAI,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,IAAI,oBAAoB,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,cAAc,GAAG,EAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,CAAC;QACjD,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC;IACxE,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,CAAC,gBAAgB,CACnB,MAAc,EACd,eAAyD,EACzD,cAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAClC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC9D,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAqC;YAC7C,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;YAC5D,GAAG,OAAO;SACb,CAAC;QACF,MAAM,eAAe,GAAG;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,wBAAwB;YACxB,qBAAqB;SACxB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,KAAK,GAAG,EAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,OAAO;YACH,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa;YACzB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YACnC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;YACtD,GAAG,cAAc,OAAO;YACxB,GAAG,UAAU,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YAC5C,oBAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAClE,GAAG,eAAe;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,WAAmB,EAAE,eAAwB;QACzE,MAAM,MAAM,GAAG,EAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC;gBAChC,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,WAAW,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC7D,OAAO,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;mBACvC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,oBAAoB,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,qBAAqB,KAAK,IAAI;YACnD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,KAAK,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAE,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,gBAAgB,KAAK,IAAI;eACzB,cAAc,KAAK,IAAI;eACvB,gBAAgB,KAAK,cAAc,CAAC;IAC/C,CAAC;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,CAAC,WAAW,CAAC,WAAmB;QAClC,MAAM,MAAM,GAAG,EAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,YAAY,GAAG,EAAI,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAoB;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAsB,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,MAAc;QACzC,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,WAAW,EACX,QAAQ,MAAM,IAAI,GAAG,iBAAiB,EACtC;YACI,MAAM,EAAE,GAAG;YACX,MAAM;YACN,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC1B,GAAW,EACX,MAAc,EACd,KAA8B;QAE9B,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,YAAY,yBAAyB,EAAE,CAAC;YACnF,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,wBAAwB,EACxB,QAAQ,MAAM,IAAI,GAAG,iBAAiB,KAAK,CAAC,KAAK,CAAC,YAAY,wCAAwC,EACtG;gBACI,MAAM,EAAE,GAAG;gBACX,MAAM;gBACN,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;gBAC9B,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;gBACtC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;gBACxC,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,OAAO,EAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,mBAAmB,EACnB,QAAQ,MAAM,IAAI,GAAG,wDAAwD,EAC7E;YACI,MAAM,EAAE,GAAG;YACX,MAAM;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,IAAI,CACP,MAAc,EACd,MAAc,EACd,IAAY,EACZ,OAAe,EACf,UAAU,GAAsC,EAAE;QAElD,OAAO,OAAO,CAAC,OAAO,CAClB,UAAU,MAAM,EAAE,EAClB,IAAI,EACJ,MAAM,EACN,OAAO,EACP,EAAE,KAAK,EAAE,aAAa,EAAE,EACxB,UAAU,CACQ,CAAC;IAC3B,CAAC;CACJ"}
|
package/dist/Ws.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, SendStatement, KillStatement } from "@plurnk/plurnk-schemes";
|
|
1
|
+
import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, ResolvedEditStatement, SendStatement, KillStatement } from "@plurnk/plurnk-schemes";
|
|
2
2
|
interface SocketEvent {
|
|
3
3
|
readonly data?: unknown;
|
|
4
4
|
readonly code?: number;
|
|
@@ -20,6 +20,7 @@ export default class Ws implements SchemeHandler {
|
|
|
20
20
|
constructor(connect?: SocketFactory);
|
|
21
21
|
prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
|
|
22
22
|
close(): Promise<void>;
|
|
23
|
+
editBatch(statements: readonly ResolvedEditStatement[], ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
23
24
|
send(statement: SendStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
24
25
|
kill(statement: KillStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
|
|
25
26
|
}
|
package/dist/Ws.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ws.d.ts","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,aAAa,EAGhB,MAAM,wBAAwB,CAAC;AAYhC,UAAU,WAAW;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,UAAU,MAAM;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AACD,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAwB7C,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,aAAa;;IAC5C,MAAM,CAAC,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"Ws.d.ts","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,EACrB,aAAa,EACb,aAAa,EAGhB,MAAM,wBAAwB,CAAC;AAYhC,UAAU,WAAW;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,UAAU,MAAM;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AACD,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAwB7C,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,aAAa;;IAC5C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAsB7B;IAOF,YAAY,OAAO,GAAE,aAA6B,EAEjD;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CA2R1C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3B;IAIK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCxG;IAGK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgB/E;IA4DK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiD/E;CAsEJ"}
|
package/dist/Ws.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// WebSocket handler. {§ws} owns its operation surface; {§ws-lifecycle} owns
|
|
2
2
|
// address claims and settlement. Retained sockets follow {§handler-lifecycle}
|
|
3
3
|
// and use the canonical network identity {§network-address}.
|
|
4
|
+
var _a;
|
|
4
5
|
import { NetworkAddress, Results } from "@plurnk/plurnk-schemes";
|
|
5
6
|
import { readFile } from "node:fs/promises";
|
|
6
7
|
// The inbound-frame channel - every message the origin pushes streams here.
|
|
@@ -14,7 +15,7 @@ const SOCKET_CLOSE_INTERNAL_ERROR = 4011;
|
|
|
14
15
|
// typing is not a compile dependency (tests always inject, so this path is
|
|
15
16
|
// runtime-only). Fail-hard if the runtime lacks it.
|
|
16
17
|
const connectGlobal = (url) => new globalThis.WebSocket(url);
|
|
17
|
-
|
|
18
|
+
class Ws {
|
|
18
19
|
static manifest = {
|
|
19
20
|
name: "wss",
|
|
20
21
|
channels: { [MESSAGES]: "text/plain" },
|
|
@@ -24,7 +25,15 @@ export default class Ws {
|
|
|
24
25
|
volatile: true,
|
|
25
26
|
modelVisible: true,
|
|
26
27
|
glyph: "🔌",
|
|
27
|
-
example:
|
|
28
|
+
example: [
|
|
29
|
+
"## READ0 (wss://api.example.com/feed)",
|
|
30
|
+
"",
|
|
31
|
+
"## EDIT0 (wss://api.example.com/feed)",
|
|
32
|
+
'{"type":"subscribe","channel":"updates"}',
|
|
33
|
+
"",
|
|
34
|
+
"## SEND0 [200] (wss://api.example.com/feed)",
|
|
35
|
+
'{"type":"message","text":"Hello"}',
|
|
36
|
+
].join("\n"),
|
|
28
37
|
documentation,
|
|
29
38
|
flags: {
|
|
30
39
|
requiresWeb: true,
|
|
@@ -43,18 +52,18 @@ export default class Ws {
|
|
|
43
52
|
// subscription continue to stream and settle independently.
|
|
44
53
|
async prepareRepresentation(request, ctx) {
|
|
45
54
|
if (request.target.kind !== "url") {
|
|
46
|
-
return
|
|
55
|
+
return _a.#bad(400, "bad-target", "READ requires a ws(s):// URL target.", {
|
|
47
56
|
stage: "target-validation",
|
|
48
57
|
recovery: "Provide a ws(s):// URL target.",
|
|
49
58
|
retryable: false,
|
|
50
59
|
});
|
|
51
60
|
}
|
|
52
|
-
const address =
|
|
61
|
+
const address = _a.#address(request.target);
|
|
53
62
|
if (!(address instanceof NetworkAddress))
|
|
54
63
|
return address;
|
|
55
64
|
const { url } = address;
|
|
56
65
|
const pathname = request.pathname;
|
|
57
|
-
const key =
|
|
66
|
+
const key = _a.#key(ctx.workspaceId, address);
|
|
58
67
|
const existing = this.#sockets.get(key);
|
|
59
68
|
if (existing !== undefined) {
|
|
60
69
|
return { status: 200, connectionState: existing.state };
|
|
@@ -74,16 +83,16 @@ export default class Ws {
|
|
|
74
83
|
let settled = false;
|
|
75
84
|
try {
|
|
76
85
|
// {§ws-lifecycle} Seed the declared channel before subscription open.
|
|
77
|
-
const written = await ctx.entries.write(pathname,
|
|
86
|
+
const written = await ctx.entries.write(pathname, _a.#seedEntry());
|
|
78
87
|
if (Results.isErrorStatus(written.status))
|
|
79
|
-
return
|
|
88
|
+
return _a.#passthrough(written);
|
|
80
89
|
if (owner.shutdownRequested)
|
|
81
|
-
return
|
|
90
|
+
return _a.#cancelled(url);
|
|
82
91
|
let requestCancel = () => { owner.shutdownRequested = true; };
|
|
83
92
|
const handle = { cancel: () => requestCancel() };
|
|
84
93
|
const subscription = await ctx.subscriptions.open(pathname, handle);
|
|
85
94
|
if (owner.shutdownRequested) {
|
|
86
|
-
const cancelled =
|
|
95
|
+
const cancelled = _a.#cancelled(url);
|
|
87
96
|
await subscription.close(cancelled, "WebSocket execution was cancelled.");
|
|
88
97
|
return cancelled;
|
|
89
98
|
}
|
|
@@ -94,7 +103,7 @@ export default class Ws {
|
|
|
94
103
|
catch (err) {
|
|
95
104
|
console.error("WebSocket connection failed", { url, err });
|
|
96
105
|
const detail = `The WebSocket connection to ${url} failed.`;
|
|
97
|
-
const result =
|
|
106
|
+
const result = _a.#bad(502, "connect-failed", detail, {
|
|
98
107
|
target: url,
|
|
99
108
|
stage: "connection",
|
|
100
109
|
retryable: true,
|
|
@@ -165,7 +174,7 @@ export default class Ws {
|
|
|
165
174
|
void task.then(() => pending.delete(task), () => pending.delete(task));
|
|
166
175
|
return task;
|
|
167
176
|
};
|
|
168
|
-
const cancelled = () =>
|
|
177
|
+
const cancelled = () => _a.#cancelled(url);
|
|
169
178
|
requestCancel = () => {
|
|
170
179
|
owner.shutdownRequested = true;
|
|
171
180
|
const result = cancelled();
|
|
@@ -196,7 +205,7 @@ export default class Ws {
|
|
|
196
205
|
try {
|
|
197
206
|
const activated = await setChannelState(pathname, MESSAGES, "active");
|
|
198
207
|
if (Results.isErrorStatus(activated.status)) {
|
|
199
|
-
const result =
|
|
208
|
+
const result = _a.#passthrough(activated);
|
|
200
209
|
void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: SOCKET_CLOSE_INTERNAL_ERROR, reason: "activation failed" }).catch(reportCleanupFailure);
|
|
201
210
|
return;
|
|
202
211
|
}
|
|
@@ -209,7 +218,7 @@ export default class Ws {
|
|
|
209
218
|
}
|
|
210
219
|
catch (err) {
|
|
211
220
|
console.error("WebSocket channel activation failed", { url, err });
|
|
212
|
-
const result =
|
|
221
|
+
const result = _a.#bad(500, "channel-activation-failed", "The WebSocket message channel could not enter its active state.", {
|
|
213
222
|
target: url,
|
|
214
223
|
stage: "persistence",
|
|
215
224
|
retryable: false,
|
|
@@ -230,7 +239,7 @@ export default class Ws {
|
|
|
230
239
|
return;
|
|
231
240
|
if (typeof data !== "string") {
|
|
232
241
|
const detail = "The received WebSocket frame is binary; the messages channel accepts text only.";
|
|
233
|
-
const result =
|
|
242
|
+
const result = _a.#bad(415, "binary-frame-unsupported", detail, {
|
|
234
243
|
target: url,
|
|
235
244
|
stage: "materialization",
|
|
236
245
|
retryable: false,
|
|
@@ -247,7 +256,7 @@ export default class Ws {
|
|
|
247
256
|
if (frameFailure !== null)
|
|
248
257
|
return;
|
|
249
258
|
console.error("WebSocket message persistence failed", { url, err });
|
|
250
|
-
const result =
|
|
259
|
+
const result = _a.#bad(500, "message-persistence-failed", "The received WebSocket message could not be persisted.", {
|
|
251
260
|
target: url,
|
|
252
261
|
stage: "persistence",
|
|
253
262
|
retryable: false,
|
|
@@ -258,12 +267,12 @@ export default class Ws {
|
|
|
258
267
|
}
|
|
259
268
|
});
|
|
260
269
|
persistenceTail = persistence;
|
|
261
|
-
track(persistence);
|
|
270
|
+
void track(persistence);
|
|
262
271
|
});
|
|
263
272
|
socket.addEventListener("error", (event) => {
|
|
264
273
|
console.error("WebSocket transport failed", { url, message: event.message });
|
|
265
274
|
const detail = `The WebSocket connection to ${url} failed.`;
|
|
266
|
-
const result =
|
|
275
|
+
const result = _a.#bad(502, "connection-failed", detail, {
|
|
267
276
|
target: url,
|
|
268
277
|
stage: "connection",
|
|
269
278
|
retryable: true,
|
|
@@ -276,7 +285,7 @@ export default class Ws {
|
|
|
276
285
|
socket.addEventListener("close", (event) => {
|
|
277
286
|
if (!owner.opened && !owner.killRequested && !subscription.aborted) {
|
|
278
287
|
const detail = `The WebSocket connection to ${url} closed before it opened.`;
|
|
279
|
-
const result =
|
|
288
|
+
const result = _a.#bad(502, "connection-failed", detail, {
|
|
280
289
|
target: url,
|
|
281
290
|
stage: "connection",
|
|
282
291
|
retryable: true,
|
|
@@ -328,11 +337,38 @@ export default class Ws {
|
|
|
328
337
|
if (errors.length > 0)
|
|
329
338
|
throw new AggregateError(errors, "WebSocket shutdown failed");
|
|
330
339
|
}
|
|
331
|
-
// SEND
|
|
332
|
-
//
|
|
340
|
+
// EDIT and SEND signal 200 target only an open owner whose native transport
|
|
341
|
+
// is still OPEN. Both operations converge on one outbound-frame path.
|
|
342
|
+
async editBatch(statements, ctx) {
|
|
343
|
+
if (statements.length !== 1) {
|
|
344
|
+
return _a.#bad(409, "non-atomic-edit-batch", `${statements.length} EDIT statements cannot be committed atomically to one WebSocket connection.`, {
|
|
345
|
+
statements: statements.length,
|
|
346
|
+
stage: "mutation",
|
|
347
|
+
recovery: "Submit one whole-message EDIT.",
|
|
348
|
+
retryable: false,
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
const statement = statements[0];
|
|
352
|
+
if (statement.target === null || statement.target.kind !== "url") {
|
|
353
|
+
return _a.#bad(400, "bad-target", "EDIT requires a ws(s):// URL target.", {
|
|
354
|
+
stage: "target-validation",
|
|
355
|
+
recovery: "Provide a ws(s):// URL target.",
|
|
356
|
+
retryable: false,
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
if (statement.lineMarker !== null) {
|
|
360
|
+
return _a.#bad(400, "line-edit-unsupported", "WebSocket EDIT sends one whole message and does not accept a line range.", {
|
|
361
|
+
stage: "mutation",
|
|
362
|
+
recovery: "Remove the line range and submit the complete message body.",
|
|
363
|
+
retryable: false,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
return this.#write(statement.target, statement.body ?? "", ctx, "EDIT");
|
|
367
|
+
}
|
|
368
|
+
// SEND signal 499 is routed to the owning READ handle; scheme dispatch is a no-op.
|
|
333
369
|
async send(statement, ctx) {
|
|
334
370
|
if (statement.target === null || statement.target.kind !== "url") {
|
|
335
|
-
return
|
|
371
|
+
return _a.#bad(400, "bad-target", "SEND requires a ws(s):// URL target.", {
|
|
336
372
|
stage: "target-validation",
|
|
337
373
|
recovery: "Provide a ws(s):// URL target.",
|
|
338
374
|
retryable: false,
|
|
@@ -341,71 +377,73 @@ export default class Ws {
|
|
|
341
377
|
const status = statement.signal;
|
|
342
378
|
if (status === 499)
|
|
343
379
|
return { shape: "passthrough", status: 200 };
|
|
344
|
-
if (status === 200)
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
return address;
|
|
348
|
-
const owner = this.#sockets.get(Ws.#key(ctx.workspaceId, address));
|
|
349
|
-
if (owner === undefined) {
|
|
350
|
-
return Ws.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
|
|
351
|
-
target: address.url,
|
|
352
|
-
stage: "connection",
|
|
353
|
-
recovery: "READ the WebSocket URL before sending a message.",
|
|
354
|
-
retryable: false,
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
const socket = owner.socket;
|
|
358
|
-
if (owner.state !== "open" || socket === null || socket.readyState !== SOCKET_OPEN) {
|
|
359
|
-
const connectionState = owner.state === "open" && socket?.readyState !== SOCKET_OPEN
|
|
360
|
-
? "settling"
|
|
361
|
-
: owner.state;
|
|
362
|
-
if (connectionState === "settling")
|
|
363
|
-
owner.state = "settling";
|
|
364
|
-
return Ws.#bad(409, "socket-not-open", `The WebSocket connection to ${address.url} is ${connectionState}; SEND requires open.`, {
|
|
365
|
-
target: address.url,
|
|
366
|
-
connectionState,
|
|
367
|
-
stage: "connection",
|
|
368
|
-
recovery: connectionState === "settling"
|
|
369
|
-
? "Wait for the current READ to settle, then READ the WebSocket URL again."
|
|
370
|
-
: "Wait for the connection's active stream event before sending.",
|
|
371
|
-
retryable: connectionState !== "settling",
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
try {
|
|
375
|
-
socket.send(statement.body?.raw ?? "");
|
|
376
|
-
return { shape: "passthrough", status: 200 };
|
|
377
|
-
}
|
|
378
|
-
catch (err) {
|
|
379
|
-
console.error("WebSocket send failed", { target: address.url, err });
|
|
380
|
-
return Ws.#bad(502, "send-failed", "The WebSocket message could not be sent.", {
|
|
381
|
-
target: address.url,
|
|
382
|
-
stage: "transfer",
|
|
383
|
-
retryable: false,
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
return Ws.#bad(501, "send-status-unsupported", `The WebSocket scheme does not interpret SEND status ${status}.`, {
|
|
380
|
+
if (status === 200)
|
|
381
|
+
return this.#write(statement.target, statement.body?.raw ?? "", ctx, "SEND");
|
|
382
|
+
return _a.#bad(501, "send-status-unsupported", `The WebSocket scheme does not interpret SEND status ${status}.`, {
|
|
388
383
|
requestedStatus: status,
|
|
389
384
|
stage: "dispatch",
|
|
390
385
|
retryable: false,
|
|
391
386
|
});
|
|
392
387
|
}
|
|
388
|
+
async #write(target, body, ctx, operation) {
|
|
389
|
+
const address = _a.#address(target);
|
|
390
|
+
if (!(address instanceof NetworkAddress))
|
|
391
|
+
return address;
|
|
392
|
+
const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
|
|
393
|
+
if (owner === undefined) {
|
|
394
|
+
return _a.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
|
|
395
|
+
target: address.url,
|
|
396
|
+
stage: "connection",
|
|
397
|
+
recovery: "READ the WebSocket URL before sending a message.",
|
|
398
|
+
retryable: false,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
const socket = owner.socket;
|
|
402
|
+
if (owner.state !== "open" || socket === null || socket.readyState !== SOCKET_OPEN) {
|
|
403
|
+
const connectionState = owner.state === "open" && socket?.readyState !== SOCKET_OPEN
|
|
404
|
+
? "settling"
|
|
405
|
+
: owner.state;
|
|
406
|
+
if (connectionState === "settling")
|
|
407
|
+
owner.state = "settling";
|
|
408
|
+
return _a.#bad(409, "socket-not-open", `The WebSocket connection to ${address.url} is ${connectionState}; ${operation} requires open.`, {
|
|
409
|
+
target: address.url,
|
|
410
|
+
connectionState,
|
|
411
|
+
stage: "connection",
|
|
412
|
+
recovery: connectionState === "settling"
|
|
413
|
+
? "Wait for the current READ to settle, then READ the WebSocket URL again."
|
|
414
|
+
: "Wait for the connection's active stream event before sending.",
|
|
415
|
+
retryable: connectionState !== "settling",
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
try {
|
|
419
|
+
socket.send(body);
|
|
420
|
+
return { shape: "passthrough", status: 200 };
|
|
421
|
+
}
|
|
422
|
+
catch (err) {
|
|
423
|
+
console.error("WebSocket send failed", { operation, target: address.url, err });
|
|
424
|
+
return _a.#bad(502, "send-failed", "The WebSocket message could not be sent.", {
|
|
425
|
+
target: address.url,
|
|
426
|
+
stage: "transfer",
|
|
427
|
+
retryable: false,
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
}
|
|
393
431
|
// KILL closes or cancels the one claimed owner. Its terminal path settles
|
|
394
432
|
// the READ subscription before releasing the address.
|
|
395
433
|
async kill(statement, ctx) {
|
|
396
434
|
if (statement.target === null || statement.target.kind !== "url") {
|
|
397
|
-
return
|
|
435
|
+
return _a.#bad(400, "bad-target", "KILL requires a ws(s):// URL target.", {
|
|
398
436
|
stage: "target-validation",
|
|
399
437
|
recovery: "Provide a ws(s):// URL target.",
|
|
400
438
|
retryable: false,
|
|
401
439
|
});
|
|
402
440
|
}
|
|
403
|
-
const address =
|
|
441
|
+
const address = _a.#address(statement.target);
|
|
404
442
|
if (!(address instanceof NetworkAddress))
|
|
405
443
|
return address;
|
|
406
|
-
const owner = this.#sockets.get(
|
|
444
|
+
const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
|
|
407
445
|
if (owner === undefined) {
|
|
408
|
-
return
|
|
446
|
+
return _a.#bad(404, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
|
|
409
447
|
target: address.url,
|
|
410
448
|
stage: "connection",
|
|
411
449
|
retryable: false,
|
|
@@ -428,12 +466,12 @@ export default class Ws {
|
|
|
428
466
|
return { shape: "passthrough", status: 200 };
|
|
429
467
|
}
|
|
430
468
|
catch (err) {
|
|
431
|
-
if (this.#sockets.get(
|
|
469
|
+
if (this.#sockets.get(_a.#key(ctx.workspaceId, address)) === owner) {
|
|
432
470
|
owner.killRequested = false;
|
|
433
471
|
owner.state = priorState;
|
|
434
472
|
}
|
|
435
473
|
console.error("WebSocket close failed", { target: address.url, err });
|
|
436
|
-
return
|
|
474
|
+
return _a.#bad(502, "close-failed", "The WebSocket connection could not be closed.", {
|
|
437
475
|
target: address.url,
|
|
438
476
|
stage: "connection",
|
|
439
477
|
retryable: true,
|
|
@@ -449,21 +487,21 @@ export default class Ws {
|
|
|
449
487
|
address = NetworkAddress.from(target);
|
|
450
488
|
}
|
|
451
489
|
catch {
|
|
452
|
-
return
|
|
490
|
+
return _a.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL with an authority.", {
|
|
453
491
|
stage: "target-validation",
|
|
454
492
|
recovery: "Provide a ws(s):// URL with a host.",
|
|
455
493
|
retryable: false,
|
|
456
494
|
});
|
|
457
495
|
}
|
|
458
496
|
if (address.scheme !== "ws" && address.scheme !== "wss") {
|
|
459
|
-
return
|
|
497
|
+
return _a.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL target.", {
|
|
460
498
|
stage: "target-validation",
|
|
461
499
|
recovery: "Provide a ws(s):// URL target.",
|
|
462
500
|
retryable: false,
|
|
463
501
|
});
|
|
464
502
|
}
|
|
465
503
|
if (address.hasCredentials) {
|
|
466
|
-
return
|
|
504
|
+
return _a.#bad(400, "userinfo-not-allowed", "WebSocket URL userinfo is not allowed.", {
|
|
467
505
|
target: address.url,
|
|
468
506
|
stage: "target-validation",
|
|
469
507
|
recovery: "Remove credentials from the URL.",
|
|
@@ -474,14 +512,14 @@ export default class Ws {
|
|
|
474
512
|
}
|
|
475
513
|
// {§ws-lifecycle} open() binds an existing entry, so seed the manifest shape.
|
|
476
514
|
static #seedEntry() {
|
|
477
|
-
const channels = Object.fromEntries(Object.entries(
|
|
478
|
-
return { channels
|
|
515
|
+
const channels = Object.fromEntries(Object.entries(_a.manifest.channels).map(([name, mimetype]) => [name, { content: "", mimetype }]));
|
|
516
|
+
return { channels };
|
|
479
517
|
}
|
|
480
518
|
static #passthrough(result) {
|
|
481
519
|
return Results.assert({ ...result, shape: "passthrough" });
|
|
482
520
|
}
|
|
483
521
|
static #cancelled(url) {
|
|
484
|
-
return
|
|
522
|
+
return _a.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
|
|
485
523
|
target: url,
|
|
486
524
|
stage: "connection",
|
|
487
525
|
retryable: false,
|
|
@@ -491,4 +529,6 @@ export default class Ws {
|
|
|
491
529
|
return Results.failure("scheme:wss", kind, status, message, { shape: "passthrough" }, extensions);
|
|
492
530
|
}
|
|
493
531
|
}
|
|
532
|
+
_a = Ws;
|
|
533
|
+
export default Ws;
|
|
494
534
|
//# sourceMappingURL=Ws.js.map
|
package/dist/Ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ws.js","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Ws.js","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"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"}
|
package/docs/http.md
CHANGED
|
@@ -6,13 +6,13 @@ the requested text scope. HTML becomes a readable model-facing body (normally
|
|
|
6
6
|
Markdown); original server source is retained separately. Auxiliary channels
|
|
7
7
|
are never presented by default.
|
|
8
8
|
|
|
9
|
-
| Operation
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
9
|
+
| Operation | Remote action | Effect |
|
|
10
|
+
| ---------------------------------------------- | ------------- | ------------------------------------------------------------------------- |
|
|
11
|
+
| `## READ0 (http(s)://…) <scope?>` | GET if needed | Acquire/reuse the complete response, then return the selected scoped text |
|
|
12
|
+
| `## FIND0 (http(s)://…)` with matcher body | GET if needed | Prepare an exact URL, then return flat match locations |
|
|
13
|
+
| `## SEND0 [200] (http(s)://…)` with body | POST | Submit the body and stream the response |
|
|
14
|
+
| `## EDIT0 (http(s)://…)` with body | PUT | Replace the whole remote resource; do not use a line scope |
|
|
15
|
+
| `## KILL0 (http(s)://…)` | DELETE | Delete the remote resource and stream the response |
|
|
16
16
|
|
|
17
17
|
A path-pattern FIND searches only web entries already materialized in the
|
|
18
18
|
workspace; a pattern cannot discover the remote web. FIND returns navigation
|
|
@@ -55,7 +55,7 @@ adds its route, status, timing, any reported request ID and credits, and bounded
|
|
|
55
55
|
failure evidence. `body`, `header`, and `html` carry independent durable
|
|
56
56
|
producer outcomes; the selected channel determines success. Thus `#html` or
|
|
57
57
|
`#header` can remain readable after a body failure, while a Tavily body can
|
|
58
|
-
succeed without fabricating unavailable server HTML.
|
|
58
|
+
succeed without fabricating unavailable server HTML. A SEND signal is never the
|
|
59
59
|
remote HTTP status. A direct non-success origin response is still materialized:
|
|
60
60
|
origin-backed channels carry its exact durable `http-response-status` Problem,
|
|
61
61
|
while independently produced Tavily content and acquisition headers retain
|
|
@@ -92,8 +92,10 @@ Request headers ride inside the target as ordered trailing `{Key: value}`
|
|
|
92
92
|
blocks, one header per block:
|
|
93
93
|
|
|
94
94
|
```plurnk
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
## READ0 (https://api.example.com/v1/me{Authorization: Bearer TOKEN}{Accept: application/json})
|
|
96
|
+
|
|
97
|
+
## EDIT0 (https://api.example.com/v1/thing/42{Authorization: Bearer TOKEN}{Content-Type: application/json})
|
|
98
|
+
{"done":true}
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
Percent-encode `)`, `<`, and `}` inside a header value.
|
|
@@ -109,7 +111,7 @@ identity. POST, PUT, and DELETE never use that rewrite.
|
|
|
109
111
|
|
|
110
112
|
| Control | Effect |
|
|
111
113
|
| ------------------------ | --------------------------------------------------------------------- |
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
+
| `## SEND0 [499] (http(s)://…)` | Cancel the routed in-flight acquisition |
|
|
115
|
+
| `## SEND0 [410] (http(s)://…)` | Delete the local stored response; the next READ must acquire it again |
|
|
114
116
|
|
|
115
117
|
For a persistent bidirectional connection, use `wss://`.
|
package/docs/wss.md
CHANGED
|
@@ -2,31 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Use WebSocket for a persistent, bidirectional connection. `wss` is a
|
|
4
4
|
stateful scheme, not an HTTP content type: READ claims a workspace address and
|
|
5
|
-
owns its socket until terminal settlement, while
|
|
6
|
-
|
|
5
|
+
owns its socket until terminal settlement, while EDIT, SEND, and KILL address
|
|
6
|
+
that owner.
|
|
7
7
|
|
|
8
|
-
| Operation
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
| A second
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
8
|
+
| Operation | Effect |
|
|
9
|
+
| ---------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
10
|
+
| `## READ0 (wss://host/path)` | Claim the address, connect, mark `messages` active on `open`, and stream inbound frames |
|
|
11
|
+
| A second READ of the same address | Return `409` until the existing owner's terminal cleanup releases the claim |
|
|
12
|
+
| `## EDIT0 (wss://host/path)` with body | Send one whole text frame through an already-open owner; ranges and batches are invalid |
|
|
13
|
+
| `## SEND0 [200] (wss://host/path)` with body | Send one whole text frame; it may follow the opening READ in the same turn |
|
|
14
|
+
| `## SEND0 [499] (wss://host/path)` | Cancel the owning READ through its routed subscription handle |
|
|
15
|
+
| `## KILL0 (wss://host/path)` | Close or cancel the claimed owner; an address with no owner is `404` |
|
|
15
16
|
|
|
16
|
-
| Owner state | Meaning | `
|
|
17
|
+
| Owner state | Meaning | EDIT or SEND with signal `200` |
|
|
17
18
|
| ------------ | ---------------------------------------------------- | ------------------------------------------------ |
|
|
18
19
|
| `claimed` | Address reserved while entry/subscription setup runs | `409`; no second ownership path is created |
|
|
19
20
|
| `connecting` | Native socket exists but has not emitted `open` | `409`; wait for the active stream event |
|
|
20
|
-
| `open` | `open` was observed and the native state is open | Sends
|
|
21
|
+
| `open` | `open` was observed and the native state is open | Sends one whole text frame |
|
|
21
22
|
| `settling` | A terminal transition owns cleanup | `409`; wait for cleanup before another READ |
|
|
22
23
|
|
|
23
24
|
The native `open` event plus durable `messages` activation is the acquisition
|
|
24
25
|
boundary. It emits the ordinary metadata-only stream event and returns the READ
|
|
25
|
-
at `102`; later operations from the same worker or client may then SEND
|
|
26
|
-
the live owner. A close before acquisition is a direct `502` connection
|
|
26
|
+
at `102`; later operations from the same worker or client may then EDIT, SEND,
|
|
27
|
+
or KILL the live owner. A close before acquisition is a direct `502` connection
|
|
27
28
|
failure. After acquisition, close, cancellation, and failure settle the retained
|
|
28
29
|
subscription without rewriting the initial READ.
|
|
29
30
|
|
|
31
|
+
EDIT and SEND share the same outbound-frame behavior. Operation phase order is
|
|
32
|
+
the only scheduling distinction: SEND can follow READ in one turn, while EDIT
|
|
33
|
+
runs before READ and therefore requires a connection opened by an earlier turn.
|
|
34
|
+
|
|
30
35
|
Connection identity includes the workspace, exact `ws`/`wss` protocol, host,
|
|
31
36
|
non-default port, path, and ordered query. A fragment does not change socket
|
|
32
37
|
identity; `messages` is the only current channel.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-schemes-http",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "HTTP(S) request/response and WebSocket scheme handlers for the plurnk agent runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"prepack": "npm run build"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@plurnk/plurnk-schemes": "^1.
|
|
72
|
+
"@plurnk/plurnk-schemes": "^1.6.1"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"eventsource-parser": "^4.0.0"
|