@superdurable/dex 1.12.0 → 1.14.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 CHANGED
@@ -191,14 +191,36 @@ try {
191
191
  }
192
192
  ```
193
193
 
194
+ After `await worker.start()`, call `await worker.waitPullRegistered({ timeoutMs: 10_000 })`
195
+ to wait until every Flow type queue and the app Worker ID queue has registered at least once.
196
+ The wait also accepts an `AbortSignal` as `signal`. It is safe before startup and for concurrent
197
+ callers. It rejects with `PullRegistrationError` (queue and original gRPC `cause`) if a permanent
198
+ rejection leaves a queue without another registered stream before readiness. Startup failures
199
+ and shutdown before readiness also reject the wait. Once registration succeeds, later waits
200
+ resolve even after shutdown.
201
+
202
+ Use `worker.pullRegistrationState().isReady` for ongoing probes. Snapshots include `queues`
203
+ with `queue`, `hasRegisteredStream`, and `lastPermanentError`. Readiness does not flap during
204
+ reconnects or transient errors. A permanent rejection without another registered stream makes
205
+ it false; re-registration clears that queue's error. Closing does not reset readiness.
206
+
207
+ Set `pull.stopOnPermanentStreamRejection: true` to drain and stop on such a permanent rejection
208
+ before or after readiness. It defaults to false, retaining indefinite retries. `worker.run()`
209
+ rejects with `PullRegistrationError` after draining; `start()` keeps its non-blocking startup
210
+ behavior. Always call `close()`, which remains safe after `run()` returns.
211
+
194
212
  Pull mode polls the Worker's sticky queue and every registered Flow type queue.
195
213
  Flow type names must be unique within one Dex server. `maxConcurrentTasks`
196
214
  defaults to the logical CPU count, and `idleStreamsPerQueue` defaults to one.
197
215
  Each stream runs one task at a time. When all slots are busy, the Worker rejects
198
216
  additional assignments for reassignment. The Worker keeps idle streams on each
199
- queue even when all slots are busy, so it can hold up to
200
- `(1 + F) * (idleStreamsPerQueue + maxConcurrentTasks)` streams, where `F` is the
201
- number of registered Flow types. Size both options for the server's stream cap.
217
+ queue even when all slots are busy. After tasks finish, it gracefully closes surplus
218
+ idle streams while preserving readiness. With `F` registered Flow types, the
219
+ steady-state bound after load drops is
220
+ `maxConcurrentTasks + (1 + F) * idleStreamsPerQueue` streams. The transient peak
221
+ during a burst remains bounded by the matching caps. Size both options for
222
+ `matching.maxConcurrentTasksCap` per app Worker ID per matching owner and
223
+ `matching.maxStreams` per Matching instance.
202
224
 
203
225
  The Worker rejects an unregistered Step or RPC by name. Dex retries that task
204
226
  on another pull Worker without consuming a Step attempt, including when the
@@ -395,6 +395,8 @@ export interface WorkerOptions {
395
395
  * ```
396
396
  */
397
397
  export interface PullWorkerOptions {
398
+ /** Stops and drains the Worker when a permanent rejection leaves a queue without registered streams. Defaults to false, retrying indefinitely. Worker.run rejects with PullRegistrationError after draining; Worker.start keeps its non-blocking startup behavior. */
399
+ readonly stopOnPermanentStreamRejection?: boolean;
398
400
  /** Maximum simultaneous handlers; zero or omission uses the logical CPU count. Negative values are invalid. */
399
401
  readonly maxConcurrentTasks?: number;
400
402
  /** Waiting streams on the sticky queue and each Flow type queue; zero or omission uses one. Negative values are invalid. */
@@ -0,0 +1,70 @@
1
+ import type { ServiceError } from "@grpc/grpc-js";
2
+ /** Identifies a permanent rejection that leaves a pull queue without a registered stream. */
3
+ export declare class PullRegistrationError extends Error {
4
+ /** Queue rejected by the server: a Flow type or the app Worker ID. */
5
+ readonly queue: string;
6
+ /**
7
+ * Creates a queue-specific rejection preserving the original gRPC error as `cause`.
8
+ * @param queue - Rejected Flow type or app Worker ID queue.
9
+ * @param cause - Permanent gRPC stream error, including its status code and details.
10
+ */
11
+ constructor(queue: string, cause: ServiceError);
12
+ }
13
+ /** Independent snapshot of one pull queue; error objects must be treated as immutable. */
14
+ export interface PullQueueRegistrationState {
15
+ /** Flow type or app Worker ID queue name. */
16
+ readonly queue: string;
17
+ /** Whether this queue currently has an acknowledged stream. */
18
+ readonly hasRegisteredStream: boolean;
19
+ /** Last permanent rejection, cleared by successful registration; absent when none remains. */
20
+ readonly lastPermanentError: ServiceError | undefined;
21
+ }
22
+ /** Independent readiness snapshot returned by Worker.pullRegistrationState. */
23
+ export interface PullRegistrationState {
24
+ /** Latches after all queues register; false while a queue has a permanent error and no registered stream. */
25
+ readonly isReady: boolean;
26
+ /** Queue snapshots in registration order; empty for a listening Worker. */
27
+ readonly queues: readonly PullQueueRegistrationState[];
28
+ }
29
+ /** Optional cancellation and deadline for Worker.waitPullRegistered. */
30
+ export interface WaitPullRegisteredOptions {
31
+ /** Cancels only this wait with the signal's reason; defaults to no cancellation. */
32
+ readonly signal?: AbortSignal;
33
+ /** Positive finite timeout in milliseconds; omitted means no deadline. */
34
+ readonly timeoutMs?: number;
35
+ }
36
+ export declare class PullRegistration {
37
+ private readonly queues;
38
+ private readonly listeners;
39
+ private hasRegisteredAllQueues;
40
+ private initialError;
41
+ private hasStopped;
42
+ permanentError: PullRegistrationError | undefined;
43
+ constructor(queues: readonly string[]);
44
+ registered(queue: string): void;
45
+ ended(queue: string, wasRegistered: boolean, failure?: ServiceError): boolean;
46
+ stopped(failure?: unknown): void;
47
+ snapshot(): PullRegistrationState;
48
+ wait(options?: WaitPullRegisteredOptions): Promise<void>;
49
+ addWaiter(waiter: RegistrationWaiter): void;
50
+ removeWaiter(waiter: RegistrationWaiter): void;
51
+ checkWaiter(waiter: RegistrationWaiter): void;
52
+ private notify;
53
+ }
54
+ declare class RegistrationWaiter {
55
+ private readonly registration;
56
+ private readonly options;
57
+ private timer;
58
+ private resolve;
59
+ private reject;
60
+ private hasFinished;
61
+ private readonly abort;
62
+ private readonly timeout;
63
+ private readonly deadlineMs;
64
+ constructor(registration: PullRegistration, options: WaitPullRegisteredOptions);
65
+ wait(): Promise<void>;
66
+ finish(failure?: unknown): void;
67
+ private onAbort;
68
+ private onTimeout;
69
+ }
70
+ export {};
@@ -0,0 +1,156 @@
1
+ // Copyright (c) 2026 Super Durable, Inc.
2
+ //
3
+ // Licensed under the Sustainable Use License 1.0.
4
+ // You may not use this file except in compliance with the License.
5
+ // See the LICENSE file in the repository root.
6
+ //
7
+ // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
+ /** Identifies a permanent rejection that leaves a pull queue without a registered stream. */
9
+ export class PullRegistrationError extends Error {
10
+ /** Queue rejected by the server: a Flow type or the app Worker ID. */
11
+ queue;
12
+ /**
13
+ * Creates a queue-specific rejection preserving the original gRPC error as `cause`.
14
+ * @param queue - Rejected Flow type or app Worker ID queue.
15
+ * @param cause - Permanent gRPC stream error, including its status code and details.
16
+ */
17
+ constructor(queue, cause) {
18
+ super(`pull queue ${queue} rejected: ${cause.message}`, { cause });
19
+ this.name = "PullRegistrationError";
20
+ this.queue = queue;
21
+ }
22
+ }
23
+ export class PullRegistration {
24
+ queues;
25
+ listeners = new Set();
26
+ hasRegisteredAllQueues = false;
27
+ initialError;
28
+ hasStopped = false;
29
+ permanentError;
30
+ constructor(queues) {
31
+ this.queues = new Map(queues.map((queue) => [queue, {
32
+ hasRegistered: false, registeredStreams: 0, lastPermanentError: undefined,
33
+ }]));
34
+ }
35
+ registered(queue) {
36
+ const registration = this.queues.get(queue);
37
+ registration.hasRegistered = true;
38
+ registration.registeredStreams++;
39
+ registration.lastPermanentError = undefined;
40
+ this.hasRegisteredAllQueues ||= [...this.queues.values()].every((entry) => entry.hasRegistered);
41
+ this.notify();
42
+ }
43
+ ended(queue, wasRegistered, failure) {
44
+ const registration = this.queues.get(queue);
45
+ if (wasRegistered)
46
+ registration.registeredStreams--;
47
+ if (failure !== undefined) {
48
+ registration.lastPermanentError = failure;
49
+ if (registration.registeredStreams === 0) {
50
+ const rejection = new PullRegistrationError(queue, failure);
51
+ if (!this.hasRegisteredAllQueues)
52
+ this.initialError ??= rejection;
53
+ this.permanentError ??= rejection;
54
+ this.notify();
55
+ return true;
56
+ }
57
+ }
58
+ this.notify();
59
+ return false;
60
+ }
61
+ stopped(failure) {
62
+ this.initialError ??= failure;
63
+ this.hasStopped = true;
64
+ this.notify();
65
+ }
66
+ snapshot() {
67
+ const queues = [...this.queues].map(([queue, registration]) => ({
68
+ queue, hasRegisteredStream: registration.registeredStreams > 0,
69
+ lastPermanentError: registration.lastPermanentError,
70
+ }));
71
+ return {
72
+ isReady: this.hasRegisteredAllQueues && !queues.some((queue) => !queue.hasRegisteredStream && queue.lastPermanentError !== undefined),
73
+ queues,
74
+ };
75
+ }
76
+ wait(options = {}) {
77
+ const { signal, timeoutMs } = options;
78
+ if (timeoutMs !== undefined && (!Number.isFinite(timeoutMs) || timeoutMs <= 0)) {
79
+ return Promise.reject(new RangeError("timeoutMs must be positive and finite"));
80
+ }
81
+ return new RegistrationWaiter(this, options).wait();
82
+ }
83
+ addWaiter(waiter) {
84
+ this.listeners.add(waiter);
85
+ }
86
+ removeWaiter(waiter) {
87
+ this.listeners.delete(waiter);
88
+ }
89
+ checkWaiter(waiter) {
90
+ if (this.hasRegisteredAllQueues)
91
+ waiter.finish();
92
+ else if (this.initialError !== undefined)
93
+ waiter.finish(this.initialError);
94
+ else if (this.hasStopped)
95
+ waiter.finish(new Error("pull Worker stopped before registration"));
96
+ }
97
+ notify() {
98
+ for (const listener of this.listeners)
99
+ this.checkWaiter(listener);
100
+ }
101
+ }
102
+ class RegistrationWaiter {
103
+ registration;
104
+ options;
105
+ timer;
106
+ resolve;
107
+ reject;
108
+ hasFinished = false;
109
+ abort = this.onAbort.bind(this);
110
+ timeout = this.onTimeout.bind(this);
111
+ deadlineMs;
112
+ constructor(registration, options) {
113
+ this.registration = registration;
114
+ this.options = options;
115
+ this.deadlineMs = options.timeoutMs === undefined ? undefined : Date.now() + options.timeoutMs;
116
+ }
117
+ wait() {
118
+ return new Promise((resolve, reject) => {
119
+ this.resolve = resolve;
120
+ this.reject = reject;
121
+ this.registration.addWaiter(this);
122
+ this.options.signal?.addEventListener("abort", this.abort, { once: true });
123
+ this.registration.checkWaiter(this);
124
+ if (!this.hasFinished && this.options.signal?.aborted === true)
125
+ this.onAbort();
126
+ if (!this.hasFinished && this.deadlineMs !== undefined)
127
+ this.onTimeout();
128
+ });
129
+ }
130
+ finish(failure) {
131
+ if (this.hasFinished)
132
+ return;
133
+ this.hasFinished = true;
134
+ this.registration.removeWaiter(this);
135
+ this.options.signal?.removeEventListener("abort", this.abort);
136
+ if (this.timer !== undefined)
137
+ clearTimeout(this.timer);
138
+ if (failure === undefined)
139
+ this.resolve();
140
+ else
141
+ this.reject(failure);
142
+ }
143
+ onAbort() {
144
+ this.finish(this.options.signal?.reason);
145
+ }
146
+ onTimeout() {
147
+ const remainingMs = this.deadlineMs - Date.now();
148
+ if (remainingMs <= 0) {
149
+ this.finish(new DOMException("Pull registration timed out", "TimeoutError"));
150
+ }
151
+ else {
152
+ this.timer = setTimeout(this.timeout, Math.min(remainingMs, 2_147_483_647));
153
+ }
154
+ }
155
+ }
156
+ //# sourceMappingURL=pull-registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-registration.js","sourceRoot":"","sources":["../../src/pull-registration.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { type Credential } from "./credential.js";
2
2
  import { type Registry } from "./flow.js";
3
3
  import type { PullWorkerOptions } from "./options.js";
4
+ import { PullRegistration } from "./pull-registration.js";
4
5
  import { WorkerDispatcher } from "./worker-dispatcher.js";
5
6
  export declare class PullWorker {
6
7
  private readonly dispatcher;
8
+ private readonly options;
9
+ private readonly onPermanentRejection;
7
10
  readonly appWorkerID: string;
11
+ readonly registration: PullRegistration;
8
12
  private readonly client;
9
13
  private readonly queues;
10
14
  private readonly flowTypes;
@@ -18,7 +22,7 @@ export declare class PullWorker {
18
22
  private stopDeadlineMs;
19
23
  private hasLoggedUnsupportedServer;
20
24
  private busyTaskCount;
21
- constructor(registry: Registry, dispatcher: WorkerDispatcher, serverAddress: string, options: PullWorkerOptions, credential?: Credential);
25
+ constructor(registry: Registry, dispatcher: WorkerDispatcher, serverAddress: string, options: PullWorkerOptions, credential?: Credential, onPermanentRejection?: () => void);
22
26
  start(): void;
23
27
  close(): Promise<void>;
24
28
  private reconcile;
@@ -29,6 +33,7 @@ export declare class PullWorker {
29
33
  private rejectTask;
30
34
  private executeTask;
31
35
  private finishTask;
36
+ private hasRegisteredIdleReplacements;
32
37
  private sendTaskFrame;
33
38
  private send;
34
39
  private disconnect;
@@ -37,5 +42,6 @@ export declare class PullWorker {
37
42
  private armHalfCloseTimer;
38
43
  private completeHalfClose;
39
44
  private scheduleReconnect;
45
+ private recordStreamResult;
40
46
  private closeStream;
41
47
  }
@@ -12,10 +12,14 @@ import { credentialInterceptors } from "./credential.js";
12
12
  import { registeredFlow } from "./flow.js";
13
13
  import { InvokeExecuteMethodOutput, InvokeWaitForMethodOutput, PollWorkerTaskRejectReason, WorkerTaskServiceClient, } from "./gen/dex.js";
14
14
  import { workerErrorResponse } from "./grpc-status.js";
15
+ import { PullRegistration } from "./pull-registration.js";
15
16
  import { sdkVersion } from "./sdk-version.generated.js";
16
17
  export class PullWorker {
17
18
  dispatcher;
19
+ options;
20
+ onPermanentRejection;
18
21
  appWorkerID;
22
+ registration;
19
23
  client;
20
24
  queues;
21
25
  flowTypes;
@@ -29,8 +33,10 @@ export class PullWorker {
29
33
  stopDeadlineMs;
30
34
  hasLoggedUnsupportedServer = false;
31
35
  busyTaskCount = 0;
32
- constructor(registry, dispatcher, serverAddress, options, credential) {
36
+ constructor(registry, dispatcher, serverAddress, options, credential, onPermanentRejection = () => { }) {
33
37
  this.dispatcher = dispatcher;
38
+ this.options = options;
39
+ this.onPermanentRejection = onPermanentRejection;
34
40
  this.maxConcurrentTasks = positiveOption(options.maxConcurrentTasks, availableParallelism(), "maxConcurrentTasks");
35
41
  this.idleStreamsPerQueue = positiveOption(options.idleStreamsPerQueue, 1, "idleStreamsPerQueue");
36
42
  this.stopDrainTimeoutMs = options.stopDrainTimeoutMs === undefined || options.stopDrainTimeoutMs === 0
@@ -51,6 +57,7 @@ export class PullWorker {
51
57
  throw new TypeError(`appWorkerID conflicts with Flow type ${this.appWorkerID}`);
52
58
  }
53
59
  this.queues = [this.appWorkerID, ...this.flowTypes];
60
+ this.registration = new PullRegistration(this.queues);
54
61
  this.client = createWorkerTaskClient(serverAddress, credential);
55
62
  }
56
63
  start() {
@@ -59,6 +66,7 @@ export class PullWorker {
59
66
  async close() {
60
67
  const stopDeadlineMs = this.stopDeadlineMs ??= Date.now() + this.stopDrainTimeoutMs;
61
68
  this.isStopping = true;
69
+ this.registration.stopped();
62
70
  for (const poll of this.streams) {
63
71
  poll.isDraining = true;
64
72
  if (poll.isHalfClosed)
@@ -103,6 +111,14 @@ export class PullWorker {
103
111
  reconcile() {
104
112
  if (this.isStopping)
105
113
  return;
114
+ for (const poll of this.streams) {
115
+ if (poll.isRegistered && !poll.isDisconnected && poll.task === undefined
116
+ && !poll.isDraining && this.hasRegisteredIdleReplacements(poll)) {
117
+ poll.isDraining = true;
118
+ poll.isRetiring = true;
119
+ this.halfCloseStream(poll);
120
+ }
121
+ }
106
122
  for (const queue of this.queues) {
107
123
  let idleCount = 0;
108
124
  for (const poll of this.streams) {
@@ -113,7 +129,7 @@ export class PullWorker {
113
129
  const poll = {
114
130
  queue, stream: undefined, task: undefined, retryTimer: undefined,
115
131
  halfCloseTimer: undefined, halfClosePromise: undefined, resolveHalfClose: undefined,
116
- isRegistered: false, supportsUnknownNameRejection: false, isDisconnected: false, isHalfClosed: false, isDraining: false,
132
+ isRegistered: false, hasRecordedResult: false, supportsUnknownNameRejection: false, isDisconnected: false, isHalfClosed: false, isDraining: false, isRetiring: false,
117
133
  isReconnectRequested: false,
118
134
  backoffMs: 100, failure: undefined,
119
135
  };
@@ -127,6 +143,7 @@ export class PullWorker {
127
143
  if (this.isStopping)
128
144
  return;
129
145
  poll.isRegistered = false;
146
+ poll.hasRecordedResult = false;
130
147
  poll.supportsUnknownNameRejection = false;
131
148
  poll.isDisconnected = false;
132
149
  poll.isHalfClosed = false;
@@ -174,8 +191,10 @@ export class PullWorker {
174
191
  }
175
192
  else if (frame?.$case === "registered") {
176
193
  poll.isRegistered = true;
194
+ this.registration.registered(poll.queue);
177
195
  poll.supportsUnknownNameRejection = frame.value.supportsUnknownNameRejection;
178
196
  poll.backoffMs = 100;
197
+ this.reconcile();
179
198
  }
180
199
  else {
181
200
  console.error("Worker task stream did not register");
@@ -320,6 +339,10 @@ export class PullWorker {
320
339
  poll.task = undefined;
321
340
  this.activeTasks.delete(task.completion);
322
341
  this.busyTaskCount--;
342
+ if (!poll.isDisconnected && !poll.isDraining && this.hasRegisteredIdleReplacements(poll)) {
343
+ poll.isDraining = true;
344
+ poll.isRetiring = true;
345
+ }
323
346
  if (poll.isDisconnected) {
324
347
  if (!this.isStopping)
325
348
  this.scheduleReconnect(poll);
@@ -329,6 +352,10 @@ export class PullWorker {
329
352
  }
330
353
  this.reconcile();
331
354
  }
355
+ hasRegisteredIdleReplacements(poll) {
356
+ return [...this.streams].filter((candidate) => candidate !== poll && candidate.queue === poll.queue && candidate.isRegistered
357
+ && candidate.task === undefined && !candidate.isDraining && !candidate.isDisconnected).length >= this.idleStreamsPerQueue;
358
+ }
332
359
  sendTaskFrame(poll, frame) {
333
360
  this.send(poll, { frame: { $case: "taskFrame", value: frame } });
334
361
  }
@@ -341,6 +368,7 @@ export class PullWorker {
341
368
  disconnect(poll) {
342
369
  if (poll.isDisconnected)
343
370
  return;
371
+ this.recordStreamResult(poll);
344
372
  poll.isDisconnected = true;
345
373
  poll.stream?.cancel();
346
374
  poll.task?.controller.abort();
@@ -356,6 +384,7 @@ export class PullWorker {
356
384
  }
357
385
  if (poll.isDisconnected)
358
386
  return;
387
+ this.recordStreamResult(poll);
359
388
  poll.isDisconnected = true;
360
389
  poll.task?.controller.abort();
361
390
  if (!this.isStopping && poll.task === undefined)
@@ -390,6 +419,7 @@ export class PullWorker {
390
419
  completeHalfClose(poll) {
391
420
  if (!poll.isHalfClosed)
392
421
  return;
422
+ this.recordStreamResult(poll);
393
423
  poll.isHalfClosed = false;
394
424
  if (poll.halfCloseTimer !== undefined)
395
425
  clearTimeout(poll.halfCloseTimer);
@@ -400,7 +430,7 @@ export class PullWorker {
400
430
  poll.stream = undefined;
401
431
  if (!this.isStopping) {
402
432
  const idleStreamCount = [...this.streams].filter((candidate) => candidate !== poll && candidate.queue === poll.queue && candidate.task === undefined && !candidate.isDraining).length;
403
- if (poll.isReconnectRequested && idleStreamCount >= this.idleStreamsPerQueue) {
433
+ if (poll.isRetiring || poll.isReconnectRequested && idleStreamCount >= this.idleStreamsPerQueue) {
404
434
  this.streams.delete(poll);
405
435
  }
406
436
  else {
@@ -441,7 +471,23 @@ export class PullWorker {
441
471
  this.openStream(poll);
442
472
  }, delayMs);
443
473
  }
474
+ recordStreamResult(poll) {
475
+ if (poll.hasRecordedResult)
476
+ return;
477
+ poll.hasRecordedResult = true;
478
+ const failure = poll.failure;
479
+ const isPermanent = failure !== undefined && [
480
+ status.INVALID_ARGUMENT, status.RESOURCE_EXHAUSTED, status.UNIMPLEMENTED,
481
+ status.PERMISSION_DENIED, status.UNAUTHENTICATED,
482
+ ].includes(failure.code);
483
+ const isRejected = this.registration.ended(poll.queue, poll.isRegistered, isPermanent ? failure : undefined);
484
+ poll.isRegistered = false;
485
+ if (isRejected && this.options.stopOnPermanentStreamRejection === true && !this.isStopping) {
486
+ queueMicrotask(this.onPermanentRejection);
487
+ }
488
+ }
444
489
  closeStream(poll) {
490
+ this.recordStreamResult(poll);
445
491
  poll.isDisconnected = true;
446
492
  poll.stream?.cancel();
447
493
  if (poll.isHalfClosed)
@@ -1 +1 @@
1
- {"version":3,"file":"pull-worker.js","sourceRoot":"","sources":["../../src/pull-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-worker.js","sourceRoot":"","sources":["../../src/pull-worker.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EACL,WAAW,EACX,MAAM,GAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAmB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAsC,MAAM,WAAW,CAAC;AAC/E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,GAOxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA8BxD,MAAM,OAAO,UAAU;IAmBF;IAEA;IAEA;IAtBH,WAAW,CAAS;IACpB,YAAY,CAAmB;IAC9B,MAAM,CAA+C;IACrD,MAAM,CAAoB;IAC1B,SAAS,CAAoB;IAC7B,eAAe,CAAsC;IACrD,kBAAkB,CAAS;IAC3B,mBAAmB,CAAS;IAC5B,kBAAkB,CAAS;IAC3B,OAAO,GAAG,IAAI,GAAG,EAAc,CAAC;IAChC,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;IAChD,UAAU,GAAG,KAAK,CAAC;IACnB,cAAc,CAAqB;IACnC,0BAA0B,GAAG,KAAK,CAAC;IACnC,aAAa,GAAG,CAAC,CAAC;IAE1B,YACE,QAAkB,EACD,UAA4B,EAC7C,aAAqB,EACJ,OAA0B,EAC3C,UAAuB,EACN,uBAAmC,GAAG,EAAE,GAAE,CAAC;QAJ3C,eAAU,GAAV,UAAU,CAAkB;QAE5B,YAAO,GAAP,OAAO,CAAmB;QAE1B,yBAAoB,GAApB,oBAAoB,CAAuB;QAE5D,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACnH,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACjG,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,OAAO,CAAC,kBAAkB,KAAK,CAAC;YACpG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAU,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAC;QAChE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,wCAAwC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAI,UAAqD,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACxB,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBAC/B,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxF,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,SAAS;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3H,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;mBACnE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,SAAS,EAAE,CAAC;YACvF,CAAC;YACD,OAAO,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAe;oBACvB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;oBAChE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;oBACnF,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK;oBACpK,oBAAoB,EAAE,KAAK;oBAC3B,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS;iBACnC,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAgB;QACjC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAgC,EAAE,EAAE;YACrD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAqB,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO;YACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;wBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC9B,OAAO,EAAE,YAAY;wBACrB,UAAU;qBACX,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAgB,EAAE,QAAgC;QACpE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,KAAK,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,EAAE,KAAK,KAAK,YAAY,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC;gBAC7E,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QACD,QAAQ,KAAK,EAAE,KAAK,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;oBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvE,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC;gBACD,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAgB,EAAE,IAAoB;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnH,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,0CAA0C,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,oBAAoB,GAAG,UAAU,KAAK,SAAS;YACnD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,IAAoB;QAC5C,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;oBACnF,OAAO,IAAI,EAAE,iBAAiB,KAAK,IAAI;wBACrC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,2CAA2C,CAAC;gBACzF,CAAC;gBACD,OAAO,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI;oBACxE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,2CAA2C,CAAC;YACzF,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;oBACpE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,0CAA0C,CAAC;YACxF,CAAC;YACD;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAgB,EAAE,MAAc,EAAE,MAAkC;QACrF,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAgB,EAAE,IAAoB,EAAE,MAAmB;QACnF,IAAI,CAAC;YACH,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC5B,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACxF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;4BACtD,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;yBAC1G,EAAE,CAAC,CAAC;oBACL,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACxF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;4BACtD,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;yBAC1G,EAAE,CAAC,CAAC;oBACL,MAAM;gBACR,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC3E,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC3F,MAAM;gBACR,CAAC;gBACD;oBACE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,UAAU,KAAK,IAAI;wBACrE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBAClF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;4BACtD,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;yBACtE,EAAE,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAgB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,6BAA6B,CAAC,IAAgB;QACpD,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5C,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,YAAY;eAC3E,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,cAAc,CACtF,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC;IACvC,CAAC;IAEO,aAAa,CAAC,IAAgB,EAAE,KAA0B;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,IAAI,CAAC,IAAgB,EAAE,OAA8B;QAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,IAAgB;QACjC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,cAAc,CAAC,IAAgB;QACrC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAEO,eAAe,CAAC,IAAgB;QACtC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1F,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAgB,EAAE,UAAkB;QAC5D,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7D,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAC9G,CAAC,MAAM,CAAC;YACT,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,IAAI,eAAe,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAChG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACxC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO;QAC7D,IAAI,IAAI,CAAC,oBAAoB;YAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACrC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,OAAO,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,IAAI;YAClC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;YACzE,MAAM,CAAC,kBAAkB;SAC1B,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,IAAgB;QACzC,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,IAAI;YAC3C,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa;YACxE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe;SACjD,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7G,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,8BAA8B,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3F,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAgB;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED,MAAM,qBAAqB;IAEN;IACA;IACA;IACA;IAJnB,YACmB,IAAgB,EAChB,MAAc,EACd,MAA6B,EAC7B,SAA+C;QAH/C,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAuB;QAC7B,cAAS,GAAT,SAAS,CAAsC;IAC/D,CAAC;IAEG,eAAe,CAAC,KAAwB;QAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,WAAW,CAAC,KAAsB;QACvC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,UAAU,CAAC,MAA2C;QAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YACpF,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,oBAAoB;IAKL;IACA;IALZ,UAAU,GAAG,KAAK,CAAC;IAClB,KAAK,CAA4C;IAEzD,YACmB,UAAkB,EAClB,UAA2B;QAD3B,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAAiB;QAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAEO,QAAQ;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;CACF;AAED,SAAS,cAAc,CAAC,KAAyB,EAAE,YAAoB,EAAE,IAAY;IACnF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,iCAAiC,CAAC,CAAC;IAC9G,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SACvG,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,QAAQ,CAAC;IACvF,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;IACvH,MAAM,QAAQ,GAAG,kCAAkC,CAAC;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IAChG,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAqB,EAAE,UAAkC;IACvF,OAAO,IAAI,uBAAuB,CAAC,aAAa,EAAE,WAAW,CAAC,cAAc,EAAE,EAAE;QAC9E,YAAY,EAAE,sBAAsB,CAAC,UAAU,CAAC;KACjD,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- export declare const sdkVersion = "1.12.0";
1
+ export declare const sdkVersion = "1.14.1";
@@ -6,5 +6,5 @@
6
6
  //
7
7
  // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
8
  // Generated by scripts/write-sdk-version.mjs.
9
- export const sdkVersion = "1.12.0";
9
+ export const sdkVersion = "1.14.1";
10
10
  //# sourceMappingURL=sdk-version.generated.js.map
@@ -1,6 +1,9 @@
1
1
  import type { BlobCache } from "./blob-cache.js";
2
2
  import { type Registry } from "./flow.js";
3
3
  import type { WorkerOptions, WorkerTarget } from "./options.js";
4
+ export { PullRegistrationError } from "./pull-registration.js";
5
+ export type { PullRegistrationState, PullQueueRegistrationState, WaitPullRegisteredOptions } from "./pull-registration.js";
6
+ import type { PullRegistrationState, WaitPullRegisteredOptions } from "./pull-registration.js";
4
7
  /**
5
8
  * Hosts registered Step and RPC handlers through a listener or outbound pull streams.
6
9
  *
@@ -34,6 +37,7 @@ export declare class Worker {
34
37
  private resolveStopped;
35
38
  private state;
36
39
  private negotiatedProtocolVersion;
40
+ private shutdownError;
37
41
  /**
38
42
  * Constructs a Worker without starting its listener or task streams.
39
43
  * @param registry - Flow definitions served by this Worker.
@@ -46,10 +50,43 @@ export declare class Worker {
46
50
  /**
47
51
  * Negotiates the Server protocol, synchronizes indexes, and starts listening or polling.
48
52
  * The promise resolves after binding or launching pull streams; call exactly once.
53
+ * Await waitPullRegistered separately to gate startup on pull queue acknowledgements.
49
54
  */
50
55
  start(): Promise<void>;
51
- /** Starts the Worker and waits until `close` completes shutdown. */
56
+ /**
57
+ * Starts the Worker and waits until `close` completes shutdown.
58
+ * @returns A promise resolved after graceful shutdown and handler completion.
59
+ * @throws {Error} Startup or shutdown fails.
60
+ * @throws {PullRegistrationError} A permanent rejection leaves a queue without registered streams when stopOnPermanentStreamRejection is enabled.
61
+ */
52
62
  run(): Promise<void>;
63
+ /**
64
+ * Waits until every Flow type queue and the app Worker ID queue has registered at least once.
65
+ * Safe before or after start and for concurrent callers. Later calls resolve even after shutdown.
66
+ * Reconnects do not reset completion. Use pullRegistrationState for ongoing readiness probes.
67
+ * @param options - Optional AbortSignal and positive timeout in milliseconds; defaults to waiting indefinitely.
68
+ * @returns A promise resolved after all queues have registered once.
69
+ * @throws {PullRegistrationError} A permanent rejection leaves a queue without another registered stream before readiness.
70
+ * @throws {Error} Startup fails, the Worker stops before readiness, or this is a listening Worker.
71
+ * @throws {RangeError} The timeout is invalid.
72
+ * @throws {DOMException} The timeout expires; cancellation rejects with the signal's reason.
73
+ * @example
74
+ * ```ts
75
+ * await worker.start();
76
+ * await worker.waitPullRegistered({ timeoutMs: 10_000 });
77
+ * console.log(worker.pullRegistrationState().isReady);
78
+ * ```
79
+ */
80
+ waitPullRegistered(options?: WaitPullRegisteredOptions): Promise<void>;
81
+ /**
82
+ * Returns an independent snapshot of pull queue registrations.
83
+ * Readiness latches after every queue registers once. Only a permanent rejection with no
84
+ * registered stream makes it false; re-registration clears the queue error. Stop preserves readiness.
85
+ * @returns Current readiness and queue snapshots, or false and an empty list for a listening Worker.
86
+ * See waitPullRegistered for a startup and readiness example. Treat errors as immutable.
87
+ */
88
+ pullRegistrationState(): PullRegistrationState;
89
+ private stopAfterPermanentRejection;
53
90
  /**
54
91
  * Gracefully stops the listener or drains pull tasks, then releases connections.
55
92
  * A pull Worker force-cancels after its drain timeout and waits for handlers to return.
@@ -15,6 +15,7 @@ import { sdkVersion } from "./sdk-version.generated.js";
15
15
  import { ValueHydrator } from "./value-mapper.js";
16
16
  import { WorkerDispatcher } from "./worker-dispatcher.js";
17
17
  import { PullWorker } from "./pull-worker.js";
18
+ export { PullRegistrationError } from "./pull-registration.js";
18
19
  /**
19
20
  * Hosts registered Step and RPC handlers through a listener or outbound pull streams.
20
21
  *
@@ -48,6 +49,7 @@ export class Worker {
48
49
  resolveStopped;
49
50
  state = "created";
50
51
  negotiatedProtocolVersion = 0;
52
+ shutdownError;
51
53
  /**
52
54
  * Constructs a Worker without starting its listener or task streams.
53
55
  * @param registry - Flow definitions served by this Worker.
@@ -73,7 +75,7 @@ export class Worker {
73
75
  try {
74
76
  this.pullWorker = options.pull === undefined
75
77
  ? undefined
76
- : new PullWorker(registry, dispatcher, options.serverAddress ?? "localhost:8801", options.pull, options.credential);
78
+ : new PullWorker(registry, dispatcher, options.serverAddress ?? "localhost:8801", options.pull, options.credential, () => this.stopAfterPermanentRejection());
77
79
  }
78
80
  catch (failure) {
79
81
  this.flowService.close();
@@ -89,6 +91,7 @@ export class Worker {
89
91
  /**
90
92
  * Negotiates the Server protocol, synchronizes indexes, and starts listening or polling.
91
93
  * The promise resolves after binding or launching pull streams; call exactly once.
94
+ * Await waitPullRegistered separately to gate startup on pull queue acknowledgements.
92
95
  */
93
96
  async start() {
94
97
  if (this.state !== "created") {
@@ -118,20 +121,70 @@ export class Worker {
118
121
  this.state = "running";
119
122
  }
120
123
  catch (failure) {
124
+ const endpoint = this.pullWorker === undefined
125
+ ? `Worker on ${bindAddress}`
126
+ : `pull Worker for ${this.options.serverAddress ?? "localhost:8801"}`;
127
+ const startupError = new Error(`cannot start TypeScript ${endpoint}`, { cause: failure });
128
+ this.pullWorker?.registration.stopped(startupError);
121
129
  this.state = "stopped";
122
130
  await this.pullWorker?.close();
123
131
  this.flowService.close();
124
132
  this.resolveStopped();
125
- const endpoint = this.pullWorker === undefined
126
- ? `Worker on ${bindAddress}`
127
- : `pull Worker for ${this.options.serverAddress ?? "localhost:8801"}`;
128
- throw new Error(`cannot start TypeScript ${endpoint}`, { cause: failure });
133
+ throw startupError;
129
134
  }
130
135
  }
131
- /** Starts the Worker and waits until `close` completes shutdown. */
136
+ /**
137
+ * Starts the Worker and waits until `close` completes shutdown.
138
+ * @returns A promise resolved after graceful shutdown and handler completion.
139
+ * @throws {Error} Startup or shutdown fails.
140
+ * @throws {PullRegistrationError} A permanent rejection leaves a queue without registered streams when stopOnPermanentStreamRejection is enabled.
141
+ */
132
142
  async run() {
133
143
  await this.start();
134
144
  await this.stopped;
145
+ if (this.shutdownError !== undefined)
146
+ throw this.shutdownError;
147
+ if (this.options.pull?.stopOnPermanentStreamRejection === true && this.pullWorker?.registration.permanentError !== undefined) {
148
+ throw this.pullWorker.registration.permanentError;
149
+ }
150
+ }
151
+ /**
152
+ * Waits until every Flow type queue and the app Worker ID queue has registered at least once.
153
+ * Safe before or after start and for concurrent callers. Later calls resolve even after shutdown.
154
+ * Reconnects do not reset completion. Use pullRegistrationState for ongoing readiness probes.
155
+ * @param options - Optional AbortSignal and positive timeout in milliseconds; defaults to waiting indefinitely.
156
+ * @returns A promise resolved after all queues have registered once.
157
+ * @throws {PullRegistrationError} A permanent rejection leaves a queue without another registered stream before readiness.
158
+ * @throws {Error} Startup fails, the Worker stops before readiness, or this is a listening Worker.
159
+ * @throws {RangeError} The timeout is invalid.
160
+ * @throws {DOMException} The timeout expires; cancellation rejects with the signal's reason.
161
+ * @example
162
+ * ```ts
163
+ * await worker.start();
164
+ * await worker.waitPullRegistered({ timeoutMs: 10_000 });
165
+ * console.log(worker.pullRegistrationState().isReady);
166
+ * ```
167
+ */
168
+ waitPullRegistered(options = {}) {
169
+ if (this.pullWorker === undefined)
170
+ return Promise.reject(new Error("waitPullRegistered requires a pull Worker"));
171
+ return this.pullWorker.registration.wait(options);
172
+ }
173
+ /**
174
+ * Returns an independent snapshot of pull queue registrations.
175
+ * Readiness latches after every queue registers once. Only a permanent rejection with no
176
+ * registered stream makes it false; re-registration clears the queue error. Stop preserves readiness.
177
+ * @returns Current readiness and queue snapshots, or false and an empty list for a listening Worker.
178
+ * See waitPullRegistered for a startup and readiness example. Treat errors as immutable.
179
+ */
180
+ pullRegistrationState() {
181
+ return this.pullWorker?.registration.snapshot() ?? { isReady: false, queues: [] };
182
+ }
183
+ stopAfterPermanentRejection() {
184
+ this.close().catch((failure) => {
185
+ this.shutdownError = failure;
186
+ this.resolveStopped();
187
+ });
135
188
  }
136
189
  /**
137
190
  * Gracefully stops the listener or drains pull tasks, then releases connections.
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdurable/dex",
3
- "version": "1.12.0",
3
+ "version": "1.14.1",
4
4
  "description": "TypeScript SDK for the Dex durable workflow engine",
5
5
  "license": "LicenseRef-Sustainable-Use-1.0",
6
6
  "repository": {