velocious 1.0.565 → 1.0.567
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 +5 -1
- package/bin/velocious.js +28 -1
- package/build/bin/velocious.js +28 -1
- package/build/configuration-types.js +1 -0
- package/build/configuration.js +20 -0
- package/build/http-server/client/websocket-session.js +455 -69
- package/build/src/configuration-types.d.ts +8 -0
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +2 -1
- package/build/src/configuration.d.ts +12 -0
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +19 -1
- package/build/src/http-server/client/websocket-session.d.ts +102 -4
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +404 -67
- package/package.json +1 -1
- package/src/configuration-types.js +1 -0
- package/src/configuration.js +20 -0
- package/src/http-server/client/websocket-session.js +455 -69
|
@@ -24,8 +24,8 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
24
24
|
channelReplayStates: Map<any, any>;
|
|
25
25
|
/**
|
|
26
26
|
* Message queue.
|
|
27
|
-
* @type {
|
|
28
|
-
messageQueue:
|
|
27
|
+
* @type {InboundMessageWork[]} */
|
|
28
|
+
messageQueue: InboundMessageWork[];
|
|
29
29
|
/** @type {Buffer[]} */
|
|
30
30
|
_bufferChunks: Buffer[];
|
|
31
31
|
_bufferChunkIndex: number;
|
|
@@ -39,6 +39,13 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
39
39
|
messageHandlerPromise: Promise<void | import("../../configuration-types.js").WebsocketMessageHandler> | undefined;
|
|
40
40
|
pendingMessageHandler: boolean;
|
|
41
41
|
logger: Logger;
|
|
42
|
+
_inboundMaxPendingBytes: number;
|
|
43
|
+
_inboundMaxPendingMessages: number;
|
|
44
|
+
_inboundPendingBytes: number;
|
|
45
|
+
_inboundPendingMessages: number;
|
|
46
|
+
_inboundAccountingGeneration: number;
|
|
47
|
+
_inboundClosed: boolean;
|
|
48
|
+
_inboundBacklogOverloaded: boolean;
|
|
42
49
|
/**
|
|
43
50
|
* Narrows the runtime value to the documented type.
|
|
44
51
|
* @type {Record<string, ?>} */
|
|
@@ -201,15 +208,44 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
201
208
|
/**
|
|
202
209
|
* Runs send goodbye.
|
|
203
210
|
* @param {import("./index.js").default} client - Client instance.
|
|
211
|
+
* @param {{code?: number, reason?: string}} [options] - Optional close status.
|
|
204
212
|
* @returns {void} - No return value.
|
|
205
213
|
*/
|
|
206
|
-
sendGoodbye(client: import("./index.js").default
|
|
214
|
+
sendGoodbye(client: import("./index.js").default, { code, reason }?: {
|
|
215
|
+
code?: number;
|
|
216
|
+
reason?: string;
|
|
217
|
+
}): void;
|
|
218
|
+
/**
|
|
219
|
+
* Whether a caught dispatch error is an expected client-flow failure.
|
|
220
|
+
* @param {Error} error - Normalized dispatch error.
|
|
221
|
+
* @returns {boolean} - Whether framework error reporters should ignore it.
|
|
222
|
+
*/
|
|
223
|
+
_expectedClientError(error: Error): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Reports one unexpected WebSocket dispatch failure and returns its normalized Error.
|
|
226
|
+
* @param {?} caughtError - Caught dispatch failure.
|
|
227
|
+
* @param {Record<string, ?>} context - Structured dispatch context.
|
|
228
|
+
* @returns {Error} - Normalized error for existing logs and client responses.
|
|
229
|
+
*/
|
|
230
|
+
_reportUnexpectedDispatchError(caughtError: unknown, context: Record<string, unknown>): Error;
|
|
207
231
|
/**
|
|
208
232
|
* Runs handle message.
|
|
209
233
|
* @param {WebsocketSessionMessage} message - Message text.
|
|
210
234
|
* @returns {Promise<void>} - Resolves when complete.
|
|
211
235
|
*/
|
|
212
236
|
_handleMessage(message: WebsocketSessionMessage): Promise<void>;
|
|
237
|
+
/**
|
|
238
|
+
* Appends an admitted message to the per-session FIFO chain.
|
|
239
|
+
* @param {InboundMessageWork} work - Admitted decoded message.
|
|
240
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
241
|
+
*/
|
|
242
|
+
_handleMessageWork(work: InboundMessageWork): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Dispatches or transfers one admitted message while retaining its accounting.
|
|
245
|
+
* @param {InboundMessageWork} work - Admitted decoded message.
|
|
246
|
+
* @returns {Promise<void>} - Resolves after dispatch or resolver-queue transfer.
|
|
247
|
+
*/
|
|
248
|
+
_runMessageWork(work: InboundMessageWork): Promise<void>;
|
|
213
249
|
/**
|
|
214
250
|
* Runs dispatch message.
|
|
215
251
|
* @param {WebsocketSessionMessage} message - Message text.
|
|
@@ -247,6 +283,29 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
247
283
|
* @returns {void}
|
|
248
284
|
*/
|
|
249
285
|
_clearBufferedFrameChunks(): void;
|
|
286
|
+
/**
|
|
287
|
+
* Tentatively admits one complete text message before decoding it.
|
|
288
|
+
* @param {number} byteLength - Exact complete raw text payload bytes.
|
|
289
|
+
* @returns {InboundMessageAdmission | null} - Admission ownership, or null after overload/close.
|
|
290
|
+
*/
|
|
291
|
+
_admitInboundMessage(byteLength: number): InboundMessageAdmission | null;
|
|
292
|
+
/**
|
|
293
|
+
* Releases one admission exactly once.
|
|
294
|
+
* @param {InboundMessageAdmission} admission - Admission ownership.
|
|
295
|
+
* @returns {void}
|
|
296
|
+
*/
|
|
297
|
+
_releaseInboundAdmission(admission: InboundMessageAdmission): void;
|
|
298
|
+
/**
|
|
299
|
+
* Abandons all admitted input and invalidates late settlements.
|
|
300
|
+
* @returns {void}
|
|
301
|
+
*/
|
|
302
|
+
_abandonInboundMessages(): void;
|
|
303
|
+
/**
|
|
304
|
+
* Permanently closes a session whose next message exceeded its backlog budget.
|
|
305
|
+
* @param {number} rejectedBytes - Raw payload bytes rejected at admission.
|
|
306
|
+
* @returns {void}
|
|
307
|
+
*/
|
|
308
|
+
_closeForInboundBacklog(rejectedBytes: number): void;
|
|
250
309
|
/**
|
|
251
310
|
* Closes after an inbound buffering limit and releases all parser-owned input.
|
|
252
311
|
* @returns {void}
|
|
@@ -330,7 +389,14 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
330
389
|
params?: Record<string, unknown>;
|
|
331
390
|
subscriptionChannel?: string;
|
|
332
391
|
}): Promise<boolean>;
|
|
333
|
-
|
|
392
|
+
/**
|
|
393
|
+
* Handles socket closure and optionally retains resumable state.
|
|
394
|
+
* @param {{allowResume?: boolean}} [options] - Closure behavior.
|
|
395
|
+
* @returns {void}
|
|
396
|
+
*/
|
|
397
|
+
_handleClose({ allowResume }?: {
|
|
398
|
+
allowResume?: boolean;
|
|
399
|
+
}): void;
|
|
334
400
|
/**
|
|
335
401
|
* Called by the grace timer when the paused period expires without
|
|
336
402
|
* a resume. Tears down all live Connections + Channel subs and
|
|
@@ -557,6 +623,14 @@ export default class VelociousHttpServerClientWebsocketSession {
|
|
|
557
623
|
*/
|
|
558
624
|
setMessageHandler(handler: import("../../configuration-types.js").WebsocketMessageHandler): void;
|
|
559
625
|
_resolveMessageHandlerPromise(): Promise<void>;
|
|
626
|
+
/**
|
|
627
|
+
* Inserts resolver completion into the FIFO chain before allowing new dispatch.
|
|
628
|
+
* @param {{useHandler: boolean}} args - Resolver result.
|
|
629
|
+
* @returns {Promise<void>} - Resolves after queued messages drain.
|
|
630
|
+
*/
|
|
631
|
+
_finishMessageHandlerResolution({ useHandler }: {
|
|
632
|
+
useHandler: boolean;
|
|
633
|
+
}): Promise<void>;
|
|
560
634
|
/**
|
|
561
635
|
* Runs flush queued messages.
|
|
562
636
|
* @param {{useHandler: boolean}} args - Args.
|
|
@@ -585,6 +659,30 @@ export type WebsocketSessionMessage = {
|
|
|
585
659
|
method: string;
|
|
586
660
|
path: string;
|
|
587
661
|
} | Record<string, unknown>;
|
|
662
|
+
export type InboundMessageAdmission = {
|
|
663
|
+
/**
|
|
664
|
+
* - Exact raw text payload bytes charged to this admission.
|
|
665
|
+
*/
|
|
666
|
+
byteLength: number;
|
|
667
|
+
/**
|
|
668
|
+
* - Accounting generation active when admitted.
|
|
669
|
+
*/
|
|
670
|
+
generation: number;
|
|
671
|
+
/**
|
|
672
|
+
* - Whether this admission has already been released.
|
|
673
|
+
*/
|
|
674
|
+
released: boolean;
|
|
675
|
+
};
|
|
676
|
+
export type InboundMessageWork = {
|
|
677
|
+
/**
|
|
678
|
+
* - Admission ownership.
|
|
679
|
+
*/
|
|
680
|
+
admission: InboundMessageAdmission;
|
|
681
|
+
/**
|
|
682
|
+
* - Decoded client message.
|
|
683
|
+
*/
|
|
684
|
+
message: WebsocketSessionMessage;
|
|
685
|
+
};
|
|
588
686
|
import WebsocketRequest from "./websocket-request.js";
|
|
589
687
|
import Logger from "../../logger.js";
|
|
590
688
|
import WebsocketChannel from "../websocket-channel.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-session.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-session.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket-session.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-session.js"],"names":[],"mappings":"AAsGA;IAaE;;;;;;;;OAQG;IACH,8FANG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QACL,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACqD,cAAc;QACzB,cAAc;QACE,qBAAqB;KACrH,EAwIA;IA5JD,mEAA2B;IAC3B,wBAAyB;IACzB,mBAAoB;IACpB,oCAAgC;IAChC,oCAAgC;IAChC,8BAA0B;IAC1B,mCAA+B;IAC/B;;sCAEkC;IAClC,cADU,kBAAkB,EAAE,CACb;IAYf,uBAAuB;IACvB,eADW,MAAM,EAAE,CACI;IACvB,0BAA0B;IAC1B,2BAA2B;IAC3B,uBAAuB;IACvB,gCAAgC;IAChC,qCAAoB;IACpB,wDAAkC;IAClC,8EAAoC;IACpC,2FAAoC;IACpC,kHAAkD;IAClD,+BAA2D;IAC3D,eAA8B;IAG9B,gCAA0D;IAC1D,mCAAgE;IAChE,6BAA6B;IAC7B,gCAAgC;IAChC,qCAAqC;IACrC,wBAA2B;IAC3B,mCAAsC;IAEtC;;mCAE+B;IAC/B,WADU,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CACR;IAEnB;;;;;OAKG;IACH,MAFU,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAEb;IAEd;;2EAEuE;IACvE,cADU,GAAG,CAAC,MAAM,EAAE,OAAO,4BAA4B,EAAE,OAAO,CAAC,CACtC;IAE7B;;6GAEyG;IACzG,uBADU,GAAG,CAAC,MAAM,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,yBAAyB,EAAE,OAAO,CAAA;KAAC,CAAC,CAC/D;IAEtC;;;;;;OAMG;IACH,WAFU,MAAM,CAEa;IAE7B;;;OAGG;IACH,SAFU,OAAO,CAEG;IAEpB;;;OAGG;IACH,gBAFU,KAAK,CAAC,OAAC,CAAC,CAEM;IAExB;;qDAEiD;IACjD,QADU,OAAO,YAAY,EAAE,OAAO,GAAG,IAAI,CAC3B;IAElB;;;;;;;OAOG;IACH,eAFU,OAAO,CAAC,IAAI,CAAC,CAEe;IAEtC;;;;;;OAMG;IACH,wBAFU,OAAO,CAAC,OAAC,CAAC,GAAG,SAAS,CAEO;IAEvC;;;;;OAKG;IACH,qBAFU,MAAM,EAAE,GAAG,IAAI,CAEM;IAE/B;;;;;OAKG;IACH,mBAFU,MAAM,GAAG,IAAI,CAEM;IAE7B;;;;;OAKG;IACH,kBAFU,MAAM,CAES;IAIzB;;;;;;OAMG;IACH,iBAFU,OAAO,CAEU;IAE3B;;;;;;OAMG;IACH,iBAFU,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAEpB;IAG7B;;;;OAIG;IACH,0BAFa,IAAI,CAWhB;IAED;;;;;;OAMG;IACH,gCAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,eAFa,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAI7B;IAED;;;OAGG;IACH,YAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,IAAI,CAIhB;IAED,gBAWC;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,IAAI,CAahB;IAED;;;;;;OAMG;IACH,mBALW,MAAM,WACN,OAAC,YACD;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC,GAC3E,OAAO,CAAC,IAAI,CAAC,CA2CzB;IAED;;;OAGG;IACH,qBAFa,OAAO,CAAC,IAAI,CAAC,CA+CzB;IAED;;;;;OAKG;IACH,oBAJW,OAAO,YAAY,EAAE,OAAO,qBAC5B;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,GAC9B,IAAI,CAyBhB;IAED;;;;OAIG;IACH,4BAHW,KAAK,GACH,OAAO,CAWnB;IAED;;;;;OAKG;IACH,4CAJW,OAAC,WACD,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,KAAK,CAkBjB;IAED;;;;OAIG;IACH,wBAHW,uBAAuB,GACrB,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;;OAIG;IACH,yBAHW,kBAAkB,GAChB,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;OAIG;IACH,sBAHW,kBAAkB,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBzB;IAED;;;;OAIG;IACH,0BAHW,uBAAuB,GACrB,OAAO,CAAC,IAAI,CAAC,CAWzB;IAED;;;;;;OAMG;IACH,6BAHW,uBAAuB,GACrB,OAAO,CAAC,IAAI,CAAC,CA6HzB;IAED;;;OAGG;IACH,kBAFa,IAAI,CAoKhB;IAED;;;;;OAKG;IACH,8BAHW,MAAM,GACJ,MAAM,CAkBlB;IAED;;;;OAIG;IACH,iCAHW,MAAM,GACJ,MAAM,CAwClB;IAED;;;OAGG;IACH,6BAFa,IAAI,CAOhB;IAED;;;;OAIG;IACH,iCAHW,MAAM,GACJ,uBAAuB,GAAG,IAAI,CAqB1C;IAED;;;;OAIG;IACH,oCAHW,uBAAuB,GACrB,IAAI,CAUhB;IAED;;;OAGG;IACH,2BAFa,IAAI,CAQhB;IAED;;;;OAIG;IACH,uCAHW,MAAM,GACJ,IAAI,CAqBhB;IAED;;;OAGG;IACH,yBAFa,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,yBAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;;;;;;OAOG;IACH,0BAFa,OAAO,CAwBnB;IAED;;yBAEqB;IACrB,wBADa,IAAI,CAKhB;IAED;;;;;;;OAOG;IACH,mBAFa,IAAI,CAWhB;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAgBhB;IAED;;;OAGG;IACH,kBAFa,IAAI,CAOhB;IAED;;;;;OAKG;IACH,0BAJW,MAAM,WACN,MAAM,GACJ,IAAI,CAShB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,IAAI,CAwChB;IAED;;;;;OAKG;IACH,uBAFa,IAAI,CAUhB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,8EACN;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,yBAAyB,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAC,GACjK,OAAO,CAAC,OAAO,CAAC,CA6C5B;IAED;;;;OAIG;IACH,+BAHW;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAC,GACrB,IAAI,CAsChB;IAED;;;;;OAKG;IACH,wBAFa,IAAI,CAahB;IAED;;;;;;OAMG;IACH,0BAFa,OAAO,CAAC,OAAC,CAAC,CAiBtB;IAED;;;;;;OAMG;IACH,qBAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,iBAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,qCAHW,cAAc,GAAG,UAAU,GACzB,OAAO,CAAC,IAAI,CAAC,CA8BzB;IAED;;;;;;;OAOG;IACH,8BAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CA8EzB;IAED;;;;;;OAMG;IACH,6BAHW,mBAAmB,GAAG,eAAe,GAAG,OAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;;OAOG;IACH,+BAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CAkDzB;IAED;;;;OAIG;IACH,kCAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CAyBzB;IAED;;;;;OAKG;IACH,gCAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CA2BzB;IAED;;;;;;OAMG;IACH,iCAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CAoFzB;IAED;;;;;;;;;OASG;IACH,gFALG;QAAqB,WAAW,EAAxB,MAAM;QACO,WAAW,EAAxB,MAAM;QAC0C,YAAY,EAA5D,OAAO,yBAAyB,EAAE,OAAO;KACjD,GAAU,OAAO,CAAC,IAAI,CAAC,CAiCzB;IAED;;;;;OAKG;IACH,mCAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAED;;;;;;OAMG;IACH,iCAFa,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED,kCAMC;IAED;;;;OAIG;IACH,gCAHW,gBAAgB,GACd,OAAO,CAAC,IAAI,CAAC,CAkCzB;IAED;;;;;OAKG;IACH,0BAJW,gBAAgB,GAAG,SAAS,UAC5B,MAAM,GAAG,IAAI,GAAG,SAAS,GACvB,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;OAIG;IACH,2BAHW,MAAM,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;;OAIG;IACH,6DAHW;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAA;KAAC,GACjE,OAAO,CAAC,IAAI,CAAC,CAuDzB;IAED;;;;;;;;OAQG;IACH,uFANG;QAAqB,OAAO,EAApB,MAAM;QACmB,WAAW,EAApC,MAAM,GAAG,SAAS;QACL,mBAAmB,EAAhC,MAAM;QAC8B,kBAAkB,EAAtD,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GAAG,SAAS;KACrC,GAAU,OAAO,CAAC,KAAK,GAAG;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAmBhI;IAED;;;;;;OAMG;IACH,+CAJG;QAAqB,OAAO,EAApB,MAAM;QAC6F,WAAW,EAA9G;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAC;KACpG,GAAU,OAAO,CAAC,IAAI,CAAC,CAkBzB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,eACN;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAC1F,OAAO,CAAC,IAAI,CAAC,CAsBzB;IAED;;;;OAIG;IACH,oCAHW;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAA;KAAC,GAC5C,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAe9C;IAED;;;;;OAKG;IACH,wBAJW,MAAM,QACN,MAAM,GACJ,IAAI,CAMhB;IAED,wCAeC;IAED;;;;OAIG;IACH,mCAHW,uBAAuB,GACrB,OAAO,CAAC,IAAI,CAAC,CAqCzB;IAED,yCAeC;IAED;;;OAGG;IACH,iBAFa,MAAM,GAAG,SAAS,CAI9B;IAED;;;;OAIG;IACH,2BAHW,OAAO,8BAA8B,EAAE,uBAAuB,GAC5D,IAAI,CAKhB;IAED,+CAyCC;IAED;;;;OAIG;IACH,gDAHW;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;OAIG;IACH,qCAHW;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GACnB,OAAO,CAAC,IAAI,CAAC,CAmCzB;CACF;;;;sCArwEY;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAA;CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;;gBAK/Q,MAAM;;;;gBACN,MAAM;;;;cACN,OAAO;;;;;;eAKP,uBAAuB;;;;aACvB,uBAAuB;;6BAjBR,wBAAwB;mBAPlC,iBAAiB;6BAIP,yBAAyB"}
|