@atalk/sdk 0.1.0-alpha.11 → 0.1.0-alpha.13

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
@@ -59,6 +59,7 @@ After an owner revokes the runtime, issue a new connection code and start once w
59
59
  - `message.markRead()` emits an explicit encrypted-network read acknowledgement.
60
60
  - `message.isSupervisor` identifies messages sent by the personal owner or an organization owner/admin.
61
61
  - `message.mentions` contains explicit agent targets decoded from the E2EE payload; `message.isMentioned` tells this runtime whether it is one of them.
62
+ - `message.routing` is `RELAY` only for an unmentioned supervisor message in a conversation with a known counterparty; otherwise it is `REPLY` to the sender.
62
63
  - `message.relay(text)` lets a supervisor intervene in the active agent conversation.
63
64
  - With supervision enabled by default, encrypted activity copies are delivered to authorized supervisors even while they are offline. The aTalk relay cannot read them.
64
65
  - `agent.on("error", handler)` handles connection and protocol errors.
@@ -80,9 +81,17 @@ The model, provider, prompt, tools, and framework are configured by the runtime
80
81
 
81
82
  ## Tasks and Workrooms
82
83
 
83
- `agent.workrooms` exposes encrypted multi-agent Tasks without changing direct-message APIs. `list()`/`get()` return a verified, locally decrypted `descriptor` with the task title/objective; the relay stores only its encrypted envelope. Use `poll(workroomId, handler)` or `watch(...)` for autonomous work. They invoke the handler only for an authenticated structured mention of this peer whose intent is `direct`, or an `executing` plan step assigned to it. FYI mentions, inactive plan steps, general traffic, another agent's work and the runtime's own events advance the durable cursor without starting a model turn—even when the Task has only one agent. Plain-text `@names` are not routing. `readAuditEvents(workroomId, afterSequence, limit)` is the separate stateless operator view for all decrypted events and does not advance the autonomous cursor.
84
+ `agent.workrooms` exposes encrypted multi-agent Tasks without changing direct-message APIs. `list()`/`get()` return a verified, locally decrypted `descriptor` with the task title/objective; the relay stores only its encrypted envelope. Use `poll(workroomId, handler)` or `watch(...)` for autonomous work. They invoke the handler only for an authenticated structured mention of this peer whose intent is `direct`, or an `executing` plan step assigned to it. FYI mentions, inactive plan steps, general traffic, another agent's work, the runtime's own events, and events received with an `observer` membership advance the durable cursor without starting a model turn—even when the Task has only one agent. New executable mentions and assignments to observers are rejected. Plain-text `@names` are not routing. `readAuditEvents(workroomId, afterSequence, limit)` is the separate stateless operator view for all decrypted events and does not advance the autonomous cursor.
84
85
 
85
- This is a fail-closed behavior change from early alpha builds where `poll()` delivered every Task event and consumers had to inspect `directedToMe` themselves. Existing wire payloads remain compatible: `mentions` was already an encrypted protocol-v1 field, and an omitted/empty list now means “visible to participants, addressed to no agent.” Producers must populate `mentions` with the selected active member's exact `peerId`, canonical `handle`, `peerType` and explicit intent; do not manufacture routing by interpolating text. Publication and decryption reject stale, duplicate or mismatched targets and direct self-mentions.
86
+ This is a fail-closed behavior change from early alpha builds where `poll()` delivered every Task event and consumers had to inspect `directedToMe` themselves. The encrypted protocol-v1 `mentions` field remains compatible, and an omitted/empty list means “visible to participants, addressed to no agent.” Current writers additionally sign `recipientEncryptionKeyHash`, the SHA-512 fingerprint of the exact decoded X25519 public key used for each wrap. Producers must populate `mentions` with the selected active member's exact `peerId`, canonical `handle`, `peerType` and explicit intent; do not manufacture routing by interpolating text. Publication and decryption reject stale, duplicate or mismatched targets and direct self-mentions.
87
+
88
+ Each newly accepted event carries a relay-generated immutable snapshot of the participating peer ids, canonical handles, roles and public keys. SDKs verify its peer-id set and recipient-key fingerprints against the wraps signed inside the encrypted envelope, then use the snapshot only to authenticate and route that historical event. A later removal, suspension, key rotation or role change therefore cannot poison another member's durable cursor or reinterpret old work. Autonomous execution still requires both the event-time role and the runtime's current role to be executable. During rolling upgrades, envelopes where every wrap omits the fingerprint and older rows without a snapshot remain readable but always audit-only; partial or mismatched fingerprint sets fail closed.
89
+
90
+ If a current-format event cannot be verified or decrypted, polling persists the failure across restarts and retries it three times by default (`maxEventFailures`, capped at 10). It is then quarantined so later events can continue; observe that transition with `onEventQuarantined` and inspect retained dead letters with `listQuarantinedEvents()`. Legacy audit-only events are quarantined immediately and never reach the handler. Handler exceptions remain normal at-least-once delivery failures: they neither advance the cursor nor create a dead letter. `readAuditEvents()` still fails closed on any event it cannot open.
91
+
92
+ The durable dedupe and failure keys use the signed envelope `envelopeId`, so replaying the same ciphertext under a different outer `eventId` cannot start the handler twice. Existing Node SDK state remains compatible because its protocol-v1 writer already used the same UUID for both fields.
93
+
94
+ An `observer` may verify and read Task history, but the mandate guard fails closed before any external effect even if that identity still has an otherwise-valid older mandate. The actor, human principal and issuer must all remain active, non-observer Task members; removal or demotion immediately disables the permission without erasing its audit history.
86
95
 
87
96
  Every decrypted event keeps the compatibility boolean `directedToMe` and adds the verified `routing` view: `directMentions` plus only this runtime's executable `assignedSteps`. For plan events, `poll`/`watch` also replace `content.steps` with that recipient-only list before invoking the handler. The complete plan remains available only through `readAuditEvents`, so an autonomous adapter cannot mistake another participant's steps for its own.
88
97
 
package/dist/agent.d.ts CHANGED
@@ -95,6 +95,8 @@ export declare class Agent {
95
95
  private outboxDrain;
96
96
  private inboxDrain;
97
97
  private inboxRetryTimer;
98
+ private heartbeatTimer;
99
+ private reconnectTimer;
98
100
  private inboxRetryAttempt;
99
101
  private readonly sentThisConnection;
100
102
  private socket?;
@@ -134,6 +136,9 @@ export declare class Agent {
134
136
  private prepareAndConnect;
135
137
  private connect;
136
138
  private scheduleReconnect;
139
+ private startHeartbeat;
140
+ private stopHeartbeat;
141
+ private clearReconnectTimer;
137
142
  private handleFrame;
138
143
  private processIncomingMessage;
139
144
  private sendEnvelope;
package/dist/agent.js CHANGED
@@ -9,6 +9,7 @@ import { emptyRuntimeState, FileRuntimeStateStore, MemoryRuntimeStateStore, } fr
9
9
  import { WorkroomClient } from "./workrooms.js";
10
10
  const MAX_PROCESSED_INCOMING = 10_000;
11
11
  const DEFAULT_REFRESH_LEEWAY_MS = 5 * 60_000;
12
+ const HEARTBEAT_INTERVAL_MS = 25_000;
12
13
  const FATAL_SESSION_CODES = new Set([
13
14
  "AUTH_REQUIRED",
14
15
  "INVALID_REFRESH_TOKEN",
@@ -33,6 +34,8 @@ export class Agent {
33
34
  outboxDrain;
34
35
  inboxDrain;
35
36
  inboxRetryTimer;
37
+ heartbeatTimer;
38
+ reconnectTimer;
36
39
  inboxRetryAttempt = 0;
37
40
  sentThisConnection = new Set();
38
41
  socket;
@@ -84,6 +87,8 @@ export class Agent {
84
87
  }
85
88
  async start() {
86
89
  this.stopped = false;
90
+ this.stopHeartbeat();
91
+ this.clearReconnectTimer();
87
92
  this.inboxRetryAttempt = 0;
88
93
  this.runtimeState = (await this.runtimeStateStore.load()) ?? emptyRuntimeState();
89
94
  const persistedCredentials = await this.credentialStore.load();
@@ -110,6 +115,8 @@ export class Agent {
110
115
  this.stopped = true;
111
116
  this.ready = false;
112
117
  this.reconnectAttempt = 0;
118
+ this.stopHeartbeat();
119
+ this.clearReconnectTimer();
113
120
  if (this.inboxRetryTimer)
114
121
  clearTimeout(this.inboxRetryTimer);
115
122
  this.inboxRetryTimer = undefined;
@@ -240,6 +247,7 @@ export class Agent {
240
247
  this.ready = true;
241
248
  this.reconnectAttempt = 0;
242
249
  this.sentThisConnection.clear();
250
+ this.startHeartbeat(socket);
243
251
  clearTimeout(timeout);
244
252
  resolve();
245
253
  void this.drainOutbox().catch((error) => this.emitError(error));
@@ -266,8 +274,11 @@ export class Agent {
266
274
  });
267
275
  socket.on("close", (code) => {
268
276
  clearTimeout(timeout);
269
- if (this.socket === socket)
277
+ if (this.socket === socket) {
270
278
  this.ready = false;
279
+ delete this.socket;
280
+ this.stopHeartbeat();
281
+ }
271
282
  if (!ready) {
272
283
  const error = code === 4001 || code === 1008
273
284
  ? new AgentProtocolError("INVALID_SESSION", "Agent credentials were rejected")
@@ -285,10 +296,11 @@ export class Agent {
285
296
  });
286
297
  }
287
298
  scheduleReconnect() {
288
- if (this.stopped)
299
+ if (this.stopped || this.reconnectTimer)
289
300
  return;
290
301
  const delay = reconnectDelay(this.reconnectAttempt++);
291
- setTimeout(() => {
302
+ this.reconnectTimer = setTimeout(() => {
303
+ this.reconnectTimer = undefined;
292
304
  if (this.stopped)
293
305
  return;
294
306
  void this.connectWithRefresh().catch((error) => {
@@ -300,6 +312,30 @@ export class Agent {
300
312
  });
301
313
  }, delay);
302
314
  }
315
+ startHeartbeat(socket) {
316
+ this.stopHeartbeat();
317
+ this.heartbeatTimer = setInterval(() => {
318
+ if (this.stopped || !this.ready || this.socket !== socket || socket.readyState !== WebSocket.OPEN)
319
+ return;
320
+ try {
321
+ socket.send(JSON.stringify({ kind: "PING" }));
322
+ }
323
+ catch (error) {
324
+ this.emitError(error);
325
+ }
326
+ }, HEARTBEAT_INTERVAL_MS);
327
+ this.heartbeatTimer.unref();
328
+ }
329
+ stopHeartbeat() {
330
+ if (this.heartbeatTimer)
331
+ clearInterval(this.heartbeatTimer);
332
+ this.heartbeatTimer = undefined;
333
+ }
334
+ clearReconnectTimer() {
335
+ if (this.reconnectTimer)
336
+ clearTimeout(this.reconnectTimer);
337
+ this.reconnectTimer = undefined;
338
+ }
303
339
  async handleFrame(frame) {
304
340
  if (frame.kind === "ERROR") {
305
341
  throw new AgentProtocolError(frame.code, frame.message);
@@ -352,8 +388,8 @@ export class Agent {
352
388
  const isSupervisor = this.supervisors.some((supervisor) => supervisor.id === sender.id);
353
389
  const isMentioned = directedMessage?.mentions.some((mention) => mention.peerId === credentials.peer.id) ?? false;
354
390
  const counterparty = isSupervisor ? this.counterparties.get(frame.envelope.conversation_id) : sender;
355
- const routing = isSupervisor && !isMentioned
356
- ? { mode: "RELAY", targetHandle: counterparty?.handle ?? "" }
391
+ const routing = isSupervisor && !isMentioned && counterparty
392
+ ? { mode: "RELAY", targetHandle: counterparty.handle }
357
393
  : { mode: "REPLY", targetHandle: sender.handle };
358
394
  if (!isSupervisor) {
359
395
  this.counterparties.set(frame.envelope.conversation_id, sender);
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export type { AgentAttachmentFileInput, AgentAttachmentInput, AttachmentTransfer
3
3
  export { FileCredentialStore } from "./credential-store.js";
4
4
  export type { AgentCredentials, CredentialRefreshContext, CredentialRefresher, CredentialStore, RefreshedAgentCredentials, } from "./credential-store.js";
5
5
  export { FileRuntimeStateStore, MemoryRuntimeStateStore } from "./runtime-state-store.js";
6
- export type { AgentRuntimeState, PendingAgentActivation, RuntimeStateStore, WorkroomMandateUsage } from "./runtime-state-store.js";
6
+ export type { AgentRuntimeState, PendingAgentActivation, RuntimeStateStore, WorkroomEventFailureState, WorkroomMandateUsage, } from "./runtime-state-store.js";
7
7
  export { RUST_CORE_VERSION } from "./native-core.js";
8
8
  export { defaultWorkroomAction, WorkroomClient, workroomStopReason } from "./workrooms.js";
9
9
  export type { DecryptedWorkroomEvent, MandateGuardResult, MandatedActionInput, MandatedExecutionResult, MandatedFilePublicationInput, MandatedPublicationInput, WorkroomDetail, WorkroomEventPage, WorkroomEventProjection, WorkroomPollOptions, WorkroomPublishOptions, } from "./workrooms.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAQ1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -18,6 +18,18 @@ export interface WorkroomMandateUsage {
18
18
  /** Retry-safe operation ids already charged to this mandate revision. */
19
19
  completedOperations?: Record<string, string>;
20
20
  }
21
+ export interface WorkroomEventFailureState {
22
+ workroomId: string;
23
+ eventId: string;
24
+ /** Signed envelope identity used for retry/deduplication by current runtimes. */
25
+ envelopeId?: string;
26
+ sequence: number;
27
+ attempts: number;
28
+ reason: "legacy_audit_only" | "processing_failed";
29
+ lastError: string;
30
+ status: "retrying" | "quarantined";
31
+ updatedAt: string;
32
+ }
21
33
  export interface AgentRuntimeState {
22
34
  version: 1;
23
35
  outbox: EncryptedEnvelope[];
@@ -26,8 +38,10 @@ export interface AgentRuntimeState {
26
38
  counterparties: Record<string, PublicPeer>;
27
39
  /** Last successfully handled sequence per workroom. */
28
40
  workroomCursors?: Record<string, number>;
29
- /** Bounded durable dedupe set for replayed workroom events. */
41
+ /** Bounded durable dedupe set keyed by signed workroom envelope id. */
30
42
  processedWorkroomEvents?: Record<string, true>;
43
+ /** Bounded durable retry/dead-letter state keyed by signed workroom envelope id. */
44
+ workroomEventFailures?: Record<string, WorkroomEventFailureState>;
31
45
  /** Runtime-enforced counters, isolated by signed mandate revision. */
32
46
  workroomMandateUsage?: Record<string, WorkroomMandateUsage>;
33
47
  /** Crash-safe activation data. The one-time activation token is never persisted here. */
@@ -10,6 +10,7 @@ export function emptyRuntimeState() {
10
10
  counterparties: {},
11
11
  workroomCursors: {},
12
12
  processedWorkroomEvents: {},
13
+ workroomEventFailures: {},
13
14
  workroomMandateUsage: {},
14
15
  };
15
16
  }
@@ -46,6 +47,7 @@ export class FileRuntimeStateStore {
46
47
  processedWorkroomEvents: value.processedWorkroomEvents && typeof value.processedWorkroomEvents === "object"
47
48
  ? value.processedWorkroomEvents
48
49
  : {},
50
+ workroomEventFailures: parseWorkroomEventFailures(value.workroomEventFailures),
49
51
  workroomMandateUsage: value.workroomMandateUsage && typeof value.workroomMandateUsage === "object"
50
52
  ? value.workroomMandateUsage
51
53
  : {},
@@ -80,4 +82,26 @@ function isPendingActivation(value) {
80
82
  && typeof keys.encryptionPublicKey === "string"
81
83
  && typeof keys.encryptionSecretKey === "string";
82
84
  }
85
+ const MAX_STORED_WORKROOM_EVENT_FAILURES = 1_000;
86
+ function parseWorkroomEventFailures(value) {
87
+ if (!value || typeof value !== "object" || Array.isArray(value))
88
+ return {};
89
+ return Object.fromEntries(Object.entries(value)
90
+ .filter((entry) => isWorkroomEventFailureState(entry[1]))
91
+ .slice(-MAX_STORED_WORKROOM_EVENT_FAILURES));
92
+ }
93
+ function isWorkroomEventFailureState(value) {
94
+ if (!value || typeof value !== "object" || Array.isArray(value))
95
+ return false;
96
+ const candidate = value;
97
+ return typeof candidate.workroomId === "string"
98
+ && typeof candidate.eventId === "string"
99
+ && (candidate.envelopeId === undefined || typeof candidate.envelopeId === "string")
100
+ && Number.isSafeInteger(candidate.sequence) && Number(candidate.sequence) >= 0
101
+ && Number.isSafeInteger(candidate.attempts) && Number(candidate.attempts) >= 0
102
+ && (candidate.reason === "legacy_audit_only" || candidate.reason === "processing_failed")
103
+ && typeof candidate.lastError === "string"
104
+ && (candidate.status === "retrying" || candidate.status === "quarantined")
105
+ && typeof candidate.updatedAt === "string";
106
+ }
83
107
  //# sourceMappingURL=runtime-state-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state-store.js","sourceRoot":"","sources":["../src/runtime-state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-state-store.js","sourceRoot":"","sources":["../src/runtime-state-store.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { decryptMandateTerms, type AppendWorkroomEvent, type AttachmentDescriptor, type MandateUseDecision, type MandateUseRequest, type PublicPeer, type SignedMandate, type SignedMandateCommitment, type SignedMandateRevocation, type SignedWorkroomApprovalDecision, type SignedWorkroomReceipt, type Workroom, type WorkroomContentPayload, type WorkroomDescriptor, type WorkroomEncryptedEnvelope, type WorkroomMember, type WorkroomRoutingMatch, type WorkroomThread } from "@atalk/protocol";
1
+ import { decryptMandateTerms, type AppendWorkroomEvent, type AttachmentDescriptor, type MandateUseDecision, type MandateUseRequest, type PublicPeer, type SignedMandate, type SignedMandateCommitment, type SignedMandateRevocation, type SignedWorkroomApprovalDecision, type SignedWorkroomReceipt, type Workroom, type WorkroomContentPayload, type WorkroomDescriptor, type WorkroomEncryptedEnvelope, type WorkroomEventMembershipSnapshot, type WorkroomMember, type WorkroomRoutingMatch, type WorkroomThread } from "@atalk/protocol";
2
2
  import type { AgentCredentials } from "./credential-store.js";
3
3
  import type { AgentAttachmentFileInput, AgentAttachmentInput, AttachmentTransferOptions } from "./agent.js";
4
- import type { AgentRuntimeState } from "./runtime-state-store.js";
4
+ import type { AgentRuntimeState, WorkroomEventFailureState } from "./runtime-state-store.js";
5
5
  interface WorkroomMembership extends WorkroomMember {
6
6
  id: string;
7
7
  workroomId: string;
@@ -75,6 +75,7 @@ export interface WorkroomDetail {
75
75
  interface WorkroomEventRecord {
76
76
  sequence: number;
77
77
  event: AppendWorkroomEvent;
78
+ membershipSnapshot?: WorkroomEventMembershipSnapshot[];
78
79
  projection?: WorkroomEventProjection;
79
80
  }
80
81
  export interface DecryptedWorkroomEvent extends WorkroomEventRecord {
@@ -120,6 +121,10 @@ export interface WorkroomPollOptions {
120
121
  limit?: number;
121
122
  signal?: AbortSignal;
122
123
  maxAttempts?: number;
124
+ /** Processing failures are retried durably before the event is quarantined. */
125
+ maxEventFailures?: number;
126
+ /** Observability hook; cursor/dead-letter state is persisted before invocation. */
127
+ onEventQuarantined?: (failure: WorkroomEventFailureState) => void | Promise<void>;
123
128
  }
124
129
  export interface WorkroomEventPage {
125
130
  events: DecryptedWorkroomEvent[];
@@ -239,6 +244,8 @@ export declare class WorkroomClient {
239
244
  * model-trigger loop because it includes traffic addressed to other agents.
240
245
  */
241
246
  readAuditEvents(workroomId: string, afterSequence?: number, limit?: number, signal?: AbortSignal): Promise<WorkroomEventPage>;
247
+ /** Durable processing failures that were skipped so later Task work can continue. */
248
+ listQuarantinedEvents(workroomId?: string): WorkroomEventFailureState[];
242
249
  /** Long-polls using the durable cursor until aborted. */
243
250
  watch(workroomId: string, handler: (event: DecryptedWorkroomEvent) => void | Promise<void>, options?: WorkroomPollOptions & {
244
251
  intervalMs?: number;
@@ -299,6 +306,11 @@ export declare class WorkroomClient {
299
306
  private openDetail;
300
307
  private decryptEvent;
301
308
  private readEventPage;
309
+ private readRawEventPage;
310
+ private quarantineLegacyEvent;
311
+ private recordEventFailure;
312
+ private clearEventFailure;
313
+ private commitEventCursor;
302
314
  private openMandate;
303
315
  private verifiedApprovals;
304
316
  private ensureApprovalRequests;
package/dist/workrooms.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
2
  import { open, stat } from "node:fs/promises";
3
3
  import { basename, extname, resolve } from "node:path";
4
- import { attachmentPartDescriptors, createChunkedAttachmentDescriptor, decryptMandateTerms, decryptWorkroomPayload, encryptAttachment, encryptAttachmentChunk, encryptWorkroomPayload, evaluateMandateUse, hashCanonical, mandateCommitmentMatchesEncryptedTerms, mandateCommitmentMatchesTerms, splitEncryptedAttachment, signWorkroomReceipt, resolveWorkroomRouting, validateWorkroomContentRouting, verifyMandate, verifyMandateCommitment, verifyMandateRevocation, verifyWorkroomApprovalDecision, workroomApprovalRequestPayloadSchema, workroomContentPayloadSchema, workroomDescriptorSchema, } from "@atalk/protocol";
4
+ import { appendWorkroomEventSchema, attachmentPartDescriptors, createChunkedAttachmentDescriptor, decryptMandateTerms, decryptWorkroomPayload, encryptAttachment, encryptAttachmentChunk, encryptWorkroomPayload, evaluateMandateUse, hashBase64UrlPayload, hashCanonical, mandateCommitmentMatchesEncryptedTerms, mandateCommitmentMatchesTerms, splitEncryptedAttachment, signWorkroomReceipt, resolveWorkroomRouting, validateWorkroomContentRouting, verifyMandate, verifyMandateCommitment, verifyMandateRevocation, verifyWorkroomApprovalDecision, workroomApprovalRequestPayloadSchema, workroomContentPayloadSchema, workroomDescriptorSchema, workroomEventMembershipSnapshotSchema, } from "@atalk/protocol";
5
5
  const MAX_PROCESSED_WORKROOM_EVENTS = 10_000;
6
+ const MAX_WORKROOM_EVENT_FAILURES = 1_000;
7
+ const DEFAULT_WORKROOM_EVENT_FAILURE_ATTEMPTS = 3;
6
8
  /** E2EE task client. The relay sees signed ciphertext and routing projections only. */
7
9
  export class WorkroomClient {
8
10
  dependencies;
@@ -35,28 +37,54 @@ export class WorkroomClient {
35
37
  async poll(workroomId, handler, options = {}) {
36
38
  let cursor = this.dependencies.runtimeState().workroomCursors?.[workroomId] ?? 0;
37
39
  const limit = Math.max(1, Math.min(options.limit ?? 100, 500));
40
+ const requestedFailureLimit = options.maxEventFailures ?? DEFAULT_WORKROOM_EVENT_FAILURE_ATTEMPTS;
41
+ const maxEventFailures = Number.isSafeInteger(requestedFailureLimit)
42
+ ? Math.max(1, Math.min(requestedFailureLimit, 10))
43
+ : DEFAULT_WORKROOM_EVENT_FAILURE_ATTEMPTS;
38
44
  do {
39
45
  throwIfAborted(options.signal);
40
- const page = await this.readEventPage(workroomId, cursor, limit, options.maxAttempts ?? 3, options.signal);
41
- for (const decrypted of page.events) {
46
+ const page = await this.readRawEventPage(workroomId, cursor, limit, options.maxAttempts ?? 3, options.signal);
47
+ const legacyAuditOnly = [];
48
+ for (const record of page.records) {
49
+ if (record.membershipSnapshot)
50
+ exactEventMembershipSnapshot(record);
51
+ legacyAuditOnly.push(isLegacyAuditOnlyWorkroomEvent(record));
52
+ }
53
+ const hasExecutableCandidate = legacyAuditOnly.some((legacy) => !legacy);
54
+ const detail = hasExecutableCandidate ? await this.get(workroomId, cursor, 1) : undefined;
55
+ for (const [index, record] of page.records.entries()) {
42
56
  throwIfAborted(options.signal);
43
- const record = decrypted;
44
- const alreadyHandled = this.dependencies.runtimeState().processedWorkroomEvents?.[record.event.eventId];
57
+ if (legacyAuditOnly[index]) {
58
+ const alreadyHandled = workroomEventWasProcessed(this.dependencies.runtimeState(), record);
59
+ const failure = alreadyHandled ? undefined : await this.quarantineLegacyEvent(record);
60
+ cursor = record.sequence;
61
+ if (alreadyHandled)
62
+ await this.commitEventCursor(record);
63
+ if (failure && options.onEventQuarantined)
64
+ await options.onEventQuarantined(failure);
65
+ continue;
66
+ }
67
+ let decrypted;
68
+ try {
69
+ decrypted = await this.decryptEvent(record, detail);
70
+ }
71
+ catch (error) {
72
+ const failure = await this.recordEventFailure(record, error, maxEventFailures);
73
+ if (failure.status !== "quarantined")
74
+ throw error;
75
+ cursor = record.sequence;
76
+ if (options.onEventQuarantined)
77
+ await options.onEventQuarantined(failure);
78
+ continue;
79
+ }
80
+ await this.clearEventFailure(record);
81
+ const alreadyHandled = workroomEventWasProcessed(this.dependencies.runtimeState(), record);
45
82
  if (!alreadyHandled && decrypted.directedToMe)
46
83
  await handler(autonomousEventView(decrypted));
47
84
  cursor = record.sequence;
48
- await this.dependencies.mutateRuntimeState((state) => {
49
- state.workroomCursors ??= {};
50
- state.processedWorkroomEvents ??= {};
51
- state.workroomCursors[workroomId] = cursor;
52
- state.processedWorkroomEvents[record.event.eventId] = true;
53
- const ids = Object.keys(state.processedWorkroomEvents);
54
- for (let index = 0; index < ids.length - MAX_PROCESSED_WORKROOM_EVENTS; index += 1) {
55
- delete state.processedWorkroomEvents[ids[index]];
56
- }
57
- });
85
+ await this.commitEventCursor(record);
58
86
  }
59
- if (page.nextAfterSequence === null || page.events.length === 0)
87
+ if (page.nextAfterSequence === null || page.records.length === 0)
60
88
  return cursor;
61
89
  } while (true);
62
90
  }
@@ -68,6 +96,14 @@ export class WorkroomClient {
68
96
  async readAuditEvents(workroomId, afterSequence = 0, limit = 100, signal) {
69
97
  return this.readEventPage(workroomId, afterSequence, limit, 3, signal);
70
98
  }
99
+ /** Durable processing failures that were skipped so later Task work can continue. */
100
+ listQuarantinedEvents(workroomId) {
101
+ return Object.values(this.dependencies.runtimeState().workroomEventFailures ?? {})
102
+ .filter((failure) => failure.status === "quarantined"
103
+ && (!workroomId || failure.workroomId === workroomId))
104
+ .map((failure) => ({ ...failure }))
105
+ .sort((left, right) => left.sequence - right.sequence);
106
+ }
71
107
  /** Long-polls using the durable cursor until aborted. */
72
108
  async watch(workroomId, handler, options = {}) {
73
109
  while (!options.signal?.aborted) {
@@ -84,7 +120,7 @@ export class WorkroomClient {
84
120
  const credentials = this.dependencies.credentials();
85
121
  const detail = await this.get(workroomId, 0, 1);
86
122
  const activePeers = exactActiveMemberPeers(detail);
87
- validateWorkroomContentRouting(content, activePeers.map(routingPeer), credentials.peer.id);
123
+ validateWorkroomContentRouting(content, exactActiveRoutingPeers(detail), credentials.peer.id);
88
124
  const recipients = activePeers.map(({ id, encryptionPublicKey }) => ({ peerId: id, encryptionPublicKey }));
89
125
  if (!recipients.some(({ peerId }) => peerId === credentials.peer.id))
90
126
  throw new Error("WORKROOM_MEMBERSHIP_REQUIRED");
@@ -342,12 +378,36 @@ export class WorkroomClient {
342
378
  if (workroomEnded) {
343
379
  return { status: "denied", decision: { status: "denied", code: "MANDATE_ENDED", detail: workroomEnded } };
344
380
  }
381
+ if (detail.membership.role === "observer") {
382
+ return {
383
+ status: "denied",
384
+ decision: { status: "denied", code: "MANDATE_MISMATCH", detail: "observer role is read-only" },
385
+ };
386
+ }
345
387
  const view = detail.latestMandates
346
388
  .filter(({ mandate }) => mandate.actorPeerId === credentials.peer.id && (!input.mandateId || mandate.mandateId === input.mandateId))
347
389
  .sort((left, right) => right.mandate.revision - left.mandate.revision)[0];
348
390
  if (!view)
349
391
  return { status: "denied", decision: { status: "denied", code: "MANDATE_MISMATCH" } };
350
392
  const signedMandate = this.openMandate(view, detail);
393
+ const activeRoles = new Map(detail.members
394
+ .filter(({ membership }) => !membership.leftAt)
395
+ .map(({ membership }) => [membership.peerId, membership.role]));
396
+ const mandateParties = [
397
+ signedMandate.mandate.actorPeerId,
398
+ signedMandate.mandate.principalPeerId,
399
+ signedMandate.mandate.issuedByPeerId,
400
+ ];
401
+ if (mandateParties.some((peerId) => !activeRoles.has(peerId) || activeRoles.get(peerId) === "observer")) {
402
+ return {
403
+ status: "denied",
404
+ decision: {
405
+ status: "denied",
406
+ code: "MANDATE_MISMATCH",
407
+ detail: "mandate parties must remain active non-observer members",
408
+ },
409
+ };
410
+ }
351
411
  if (view.revocation) {
352
412
  verifyRevocation(view.revocation, detail);
353
413
  return { status: "denied", decision: { status: "denied", code: "MANDATE_ENDED", detail: "revoked" } };
@@ -406,8 +466,13 @@ export class WorkroomClient {
406
466
  }
407
467
  async decryptEvent(record, detail) {
408
468
  const credentials = this.dependencies.credentials();
409
- const actor = detail.members.find(({ membership }) => membership.peerId === record.event.actorPeerId)?.peer
410
- ?? await this.dependencies.request(`/v1/peers/${record.event.actorPeerId}/keys`);
469
+ const membershipSnapshot = exactEventMembershipSnapshot(record);
470
+ const legacyAuditOnly = isLegacyAuditOnlyWorkroomEvent(record);
471
+ const historicalActor = membershipSnapshot?.find(({ peerId }) => peerId === record.event.actorPeerId);
472
+ const currentActor = detail.members.find(({ membership }) => membership.peerId === record.event.actorPeerId)?.peer;
473
+ const actor = historicalActor?.signingPublicKey && historicalActor.encryptionPublicKey
474
+ ? publicPeerFromEventSnapshot(historicalActor, currentActor)
475
+ : currentActor ?? await this.dependencies.request(`/v1/peers/${record.event.actorPeerId}/keys`);
411
476
  if (!actor)
412
477
  throw new Error("WORKROOM_EVENT_ACTOR_MISSING");
413
478
  const content = workroomContentPayloadSchema.parse(decryptWorkroomPayload({
@@ -423,9 +488,15 @@ export class WorkroomClient {
423
488
  && content.threadId !== record.event.threadId) {
424
489
  throw new Error("WORKROOM_THREAD_MISMATCH");
425
490
  }
426
- validateWorkroomContentRouting(content, exactActiveMemberPeers(detail).map(routingPeer), record.event.actorPeerId);
491
+ if (membershipSnapshot) {
492
+ validateWorkroomContentRouting(content, membershipSnapshot.map(eventSnapshotRoutingPeer), record.event.actorPeerId, { allowObserverTargets: true });
493
+ }
427
494
  validateProjectionBinding(record.projection, content);
428
- const routing = resolveWorkroomRouting(content, credentials.peer.id, record.event.actorPeerId);
495
+ const historicalRecipientRole = membershipSnapshot
496
+ ?.find(({ peerId }) => peerId === credentials.peer.id)?.role;
497
+ const routing = resolveWorkroomRouting(content, credentials.peer.id, record.event.actorPeerId, legacyAuditOnly || detail.membership.role === "observer" || historicalRecipientRole === "observer"
498
+ ? "observer"
499
+ : detail.membership.role);
429
500
  return {
430
501
  ...record,
431
502
  actor,
@@ -435,18 +506,104 @@ export class WorkroomClient {
435
506
  };
436
507
  }
437
508
  async readEventPage(workroomId, afterSequence, limit, maxAttempts, signal) {
438
- const cursor = Number.isSafeInteger(afterSequence) && afterSequence >= 0 ? afterSequence : 0;
439
- const pageSize = Math.max(1, Math.min(Number.isSafeInteger(limit) ? limit : 100, 500));
440
- const query = new URLSearchParams({ afterSequence: String(cursor), limit: String(pageSize) });
441
- const page = await this.retry(() => this.dependencies.request(`/v1/workrooms/${encodeURIComponent(workroomId)}/events?${query}`), maxAttempts, signal);
442
- const detail = await this.get(workroomId, cursor, 1);
509
+ const page = await this.readRawEventPage(workroomId, afterSequence, limit, maxAttempts, signal);
510
+ const detail = await this.get(workroomId, afterSequence, 1);
443
511
  const events = [];
444
- for (const record of page.events) {
512
+ for (const record of page.records) {
445
513
  throwIfAborted(signal);
446
514
  events.push(await this.decryptEvent(record, detail));
447
515
  }
448
516
  return { events, nextAfterSequence: page.nextAfterSequence };
449
517
  }
518
+ async readRawEventPage(workroomId, afterSequence, limit, maxAttempts, signal) {
519
+ const cursor = Number.isSafeInteger(afterSequence) && afterSequence >= 0 ? afterSequence : 0;
520
+ const pageSize = Math.max(1, Math.min(Number.isSafeInteger(limit) ? limit : 100, 500));
521
+ const query = new URLSearchParams({ afterSequence: String(cursor), limit: String(pageSize) });
522
+ const page = await this.retry(() => this.dependencies.request(`/v1/workrooms/${encodeURIComponent(workroomId)}/events?${query}`), maxAttempts, signal);
523
+ const records = validateRawWorkroomEventPage(workroomId, cursor, page);
524
+ return { records, nextAfterSequence: page.nextAfterSequence };
525
+ }
526
+ async quarantineLegacyEvent(record) {
527
+ let failure;
528
+ const updatedAt = new Date().toISOString();
529
+ const failureKey = workroomEventProcessingId(record);
530
+ await this.dependencies.mutateRuntimeState((state) => {
531
+ state.workroomEventFailures ??= {};
532
+ state.workroomCursors ??= {};
533
+ state.processedWorkroomEvents ??= {};
534
+ failure = {
535
+ workroomId: record.event.workroomId,
536
+ eventId: record.event.eventId,
537
+ envelopeId: record.event.envelope.envelopeId,
538
+ sequence: record.sequence,
539
+ attempts: 0,
540
+ reason: "legacy_audit_only",
541
+ lastError: "Legacy event has no complete event-time recipient-key binding",
542
+ status: "quarantined",
543
+ updatedAt,
544
+ };
545
+ delete state.workroomEventFailures[failureKey];
546
+ state.workroomEventFailures[failureKey] = { ...failure };
547
+ state.workroomCursors[record.event.workroomId] = record.sequence;
548
+ state.processedWorkroomEvents[failureKey] = true;
549
+ pruneRuntimeEventState(state);
550
+ });
551
+ return failure;
552
+ }
553
+ async recordEventFailure(record, error, maximumAttempts) {
554
+ let failure;
555
+ const updatedAt = new Date().toISOString();
556
+ const failureKey = workroomEventProcessingId(record);
557
+ await this.dependencies.mutateRuntimeState((state) => {
558
+ state.workroomEventFailures ??= {};
559
+ const previous = state.workroomEventFailures[failureKey];
560
+ const attempts = previous?.reason === "processing_failed"
561
+ && previous.workroomId === record.event.workroomId
562
+ && previous.sequence === record.sequence
563
+ ? previous.attempts + 1
564
+ : 1;
565
+ failure = {
566
+ workroomId: record.event.workroomId,
567
+ eventId: record.event.eventId,
568
+ envelopeId: record.event.envelope.envelopeId,
569
+ sequence: record.sequence,
570
+ attempts,
571
+ reason: "processing_failed",
572
+ lastError: eventFailureMessage(error),
573
+ status: attempts >= maximumAttempts ? "quarantined" : "retrying",
574
+ updatedAt,
575
+ };
576
+ delete state.workroomEventFailures[failureKey];
577
+ state.workroomEventFailures[failureKey] = { ...failure };
578
+ if (failure.status === "quarantined") {
579
+ state.workroomCursors ??= {};
580
+ state.processedWorkroomEvents ??= {};
581
+ state.workroomCursors[record.event.workroomId] = record.sequence;
582
+ state.processedWorkroomEvents[failureKey] = true;
583
+ }
584
+ pruneRuntimeEventState(state);
585
+ });
586
+ return failure;
587
+ }
588
+ async clearEventFailure(record) {
589
+ const failureKey = workroomEventProcessingId(record);
590
+ if (!this.dependencies.runtimeState().workroomEventFailures?.[failureKey])
591
+ return;
592
+ await this.dependencies.mutateRuntimeState((state) => {
593
+ if (state.workroomEventFailures)
594
+ delete state.workroomEventFailures[failureKey];
595
+ });
596
+ }
597
+ async commitEventCursor(record) {
598
+ const processingId = workroomEventProcessingId(record);
599
+ await this.dependencies.mutateRuntimeState((state) => {
600
+ state.workroomCursors ??= {};
601
+ state.processedWorkroomEvents ??= {};
602
+ state.workroomCursors[record.event.workroomId] = record.sequence;
603
+ state.processedWorkroomEvents[processingId] = true;
604
+ pruneRuntimeEventState(state);
605
+ });
606
+ }
450
607
  openMandate(view, detail) {
451
608
  const credentials = this.dependencies.credentials();
452
609
  const issuer = requiredPeer(detail, view.mandate.issuedByPeerId);
@@ -683,6 +840,66 @@ export class WorkroomClient {
683
840
  throw lastError;
684
841
  }
685
842
  }
843
+ function eventFailureMessage(error) {
844
+ const message = error instanceof Error ? `${error.name}: ${error.message}` : String(error);
845
+ return message.slice(0, 512);
846
+ }
847
+ function workroomEventProcessingId(record) {
848
+ return record.event.envelope.envelopeId;
849
+ }
850
+ function workroomEventWasProcessed(state, record) {
851
+ const processed = state.processedWorkroomEvents ?? {};
852
+ return Boolean(processed[workroomEventProcessingId(record)]);
853
+ }
854
+ function validateRawWorkroomEventPage(workroomId, cursor, page) {
855
+ if (!Array.isArray(page.events))
856
+ throw new Error("WORKROOM_EVENT_PAGE_INVALID");
857
+ let previousSequence = cursor;
858
+ const records = page.events.map((record) => {
859
+ if (!record || typeof record !== "object")
860
+ throw new Error("WORKROOM_EVENT_METADATA_INVALID");
861
+ if (!Number.isSafeInteger(record.sequence) || record.sequence <= previousSequence) {
862
+ throw new Error("WORKROOM_EVENT_SEQUENCE_INVALID");
863
+ }
864
+ let event;
865
+ try {
866
+ event = appendWorkroomEventSchema.parse(record.event);
867
+ }
868
+ catch {
869
+ throw new Error("WORKROOM_EVENT_METADATA_INVALID");
870
+ }
871
+ if (event.workroomId !== workroomId || event.envelope.workroomId !== workroomId) {
872
+ throw new Error("WORKROOM_EVENT_PAGE_WORKROOM_MISMATCH");
873
+ }
874
+ if (event.envelope.senderPeerId !== event.actorPeerId
875
+ || event.envelope.createdAt !== event.createdAt) {
876
+ throw new Error("WORKROOM_EVENT_METADATA_MISMATCH");
877
+ }
878
+ previousSequence = record.sequence;
879
+ return { ...record, event };
880
+ });
881
+ if (page.nextAfterSequence !== null
882
+ && (!Number.isSafeInteger(page.nextAfterSequence)
883
+ || records.length === 0
884
+ || page.nextAfterSequence !== records.at(-1).sequence)) {
885
+ throw new Error("WORKROOM_EVENT_CURSOR_INVALID");
886
+ }
887
+ return records;
888
+ }
889
+ function pruneRuntimeEventState(state) {
890
+ if (state.processedWorkroomEvents) {
891
+ const processedIds = Object.keys(state.processedWorkroomEvents);
892
+ for (let index = 0; index < processedIds.length - MAX_PROCESSED_WORKROOM_EVENTS; index += 1) {
893
+ delete state.processedWorkroomEvents[processedIds[index]];
894
+ }
895
+ }
896
+ if (state.workroomEventFailures) {
897
+ const failureIds = Object.keys(state.workroomEventFailures);
898
+ for (let index = 0; index < failureIds.length - MAX_WORKROOM_EVENT_FAILURES; index += 1) {
899
+ delete state.workroomEventFailures[failureIds[index]];
900
+ }
901
+ }
902
+ }
686
903
  function exactActiveMemberPeers(detail) {
687
904
  const peers = detail.members.filter(({ membership }) => !membership.leftAt).map(({ membership, peer }) => {
688
905
  if (!peer || peer.status !== "ACTIVE")
@@ -708,6 +925,76 @@ function routingPeer(peer) {
708
925
  status: "ACTIVE",
709
926
  };
710
927
  }
928
+ function exactActiveRoutingPeers(detail) {
929
+ const peers = new Map(exactActiveMemberPeers(detail).map((peer) => [peer.id, peer]));
930
+ return detail.members
931
+ .filter(({ membership }) => !membership.leftAt)
932
+ .map(({ membership }) => {
933
+ const peer = peers.get(membership.peerId);
934
+ if (!peer)
935
+ throw new Error("WORKROOM_ROUTING_MEMBER_INVALID");
936
+ return { ...routingPeer(peer), role: membership.role };
937
+ });
938
+ }
939
+ function exactEventMembershipSnapshot(record) {
940
+ if (!record.membershipSnapshot)
941
+ return undefined;
942
+ const snapshot = workroomEventMembershipSnapshotSchema.array().min(1).max(1_000).parse(record.membershipSnapshot);
943
+ const peerIds = snapshot.map(({ peerId }) => peerId);
944
+ if (new Set(peerIds).size !== peerIds.length
945
+ || !peerIds.includes(record.event.actorPeerId)
946
+ || snapshot.some(({ signingPublicKey, encryptionPublicKey }) => Boolean(signingPublicKey) !== Boolean(encryptionPublicKey))) {
947
+ throw new Error("WORKROOM_EVENT_MEMBERSHIP_SNAPSHOT_INVALID");
948
+ }
949
+ if (record.event.envelope.cipherSuite === "ATALK_GROUP_BOX_V1") {
950
+ const recipients = record.event.envelope.wrappedKeys.map(({ recipientPeerId }) => recipientPeerId);
951
+ if (!sameSet(peerIds, recipients))
952
+ throw new Error("WORKROOM_EVENT_MEMBERSHIP_SNAPSHOT_MISMATCH");
953
+ const members = new Map(snapshot.map((member) => [member.peerId, member]));
954
+ const hashes = record.event.envelope.wrappedKeys.map(({ recipientEncryptionKeyHash }) => recipientEncryptionKeyHash);
955
+ if (!hashes.every((hash) => hash === undefined) && record.event.envelope.wrappedKeys.some((wrapped) => {
956
+ const encryptionPublicKey = members.get(wrapped.recipientPeerId)?.encryptionPublicKey;
957
+ return !encryptionPublicKey
958
+ || wrapped.recipientEncryptionKeyHash !== hashBase64UrlPayload(encryptionPublicKey);
959
+ })) {
960
+ throw new Error("WORKROOM_EVENT_RECIPIENT_KEY_MISMATCH");
961
+ }
962
+ }
963
+ return snapshot;
964
+ }
965
+ function isLegacyAuditOnlyWorkroomEvent(record) {
966
+ if (!record.membershipSnapshot)
967
+ return true;
968
+ return record.event.envelope.cipherSuite === "ATALK_GROUP_BOX_V1"
969
+ && record.event.envelope.wrappedKeys.every(({ recipientEncryptionKeyHash }) => recipientEncryptionKeyHash === undefined);
970
+ }
971
+ function eventSnapshotRoutingPeer(snapshot) {
972
+ return {
973
+ id: snapshot.peerId,
974
+ handle: snapshot.handle,
975
+ type: snapshot.peerType,
976
+ status: "ACTIVE",
977
+ role: snapshot.role,
978
+ };
979
+ }
980
+ function publicPeerFromEventSnapshot(snapshot, current) {
981
+ if (!snapshot.signingPublicKey || !snapshot.encryptionPublicKey) {
982
+ throw new Error("WORKROOM_EVENT_ACTOR_KEYS_MISSING");
983
+ }
984
+ return {
985
+ ...(current ?? {
986
+ displayName: snapshot.handle.slice(1),
987
+ publicDiscoverable: false,
988
+ organizationDiscoverable: false,
989
+ }),
990
+ id: snapshot.peerId,
991
+ type: snapshot.peerType,
992
+ status: "ACTIVE",
993
+ handle: snapshot.handle,
994
+ signingPublicKey: snapshot.signingPublicKey,
995
+ encryptionPublicKey: snapshot.encryptionPublicKey,
996
+ };
997
+ }
711
998
  function exactActiveRecipients(detail) {
712
999
  return exactActiveMemberPeers(detail)
713
1000
  .map(({ id, encryptionPublicKey }) => ({ peerId: id, encryptionPublicKey }));
@@ -1 +1 @@
1
- {"version":3,"file":"workrooms.js","sourceRoot":"","sources":["../src/workrooms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,sCAAsC,EACtC,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,oCAAoC,EACpC,4BAA4B,EAC5B,wBAAwB,GAkBzB,MAAM,iBAAiB,CAAC;AASzB,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAkM7C,uFAAuF;AACvF,MAAM,OAAO,cAAc;IAGI;IAFrB,aAAa,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEzD,YAA6B,YAAwC;QAAxC,iBAAY,GAAZ,YAAY,CAA4B;IAAG,CAAC;IAEzE,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,KAAK,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,KAAK,EAAE,CAAC,EACzD,CAAC,CACF,CAAC;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,aAAa,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG;QAC/D,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;YAChC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACjD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,EAC3F,CAAC,CACF,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,UAAkB,EAClB,OAAgE,EAChE,UAA+B,EAAE;QAEjC,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,CAAC,WAAW,IAAI,CAAC,EACxB,OAAO,CAAC,MAAM,CACf,CAAC;YACF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC;gBACzB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxG,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,YAAY;oBAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7F,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACzB,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnD,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC;oBAC7B,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC;oBACrC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;oBAC3C,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;oBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,6BAA6B,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;wBACnF,OAAO,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;QACjF,CAAC,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,aAAa,GAAG,CAAC,EACjB,KAAK,GAAG,GAAG,EACX,MAAoB;QAEpB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,KAAK,CACT,UAAkB,EAClB,OAAgE,EAChE,UAAyD,EAAE;QAE3D,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAkB,EAClB,QAAgB,EAChB,SAAiC,EACjC,UAAkC,EAAE;QAEpC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAChH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjG,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,8BAA8B,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtH,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,UAAU,EAAE,OAAO;YACnB,UAAU;YACV,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;YACzC,OAAO,EAAE,OAAO;YAChB,sBAAsB,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB;YACzD,yBAAyB,EAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB;YAC/D,UAAU;YACV,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,MAAM,KAAK,GAAwB;YACjC,OAAO;YACP,UAAU;YACV,QAAQ;YACR,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ;YACR,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS,OAAO,EAAE;YAC5D,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAAE;YACxF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,EACF,OAAO,CAAC,WAAW,IAAI,CAAC,CACzB,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAA6E,EAAE;QACzI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ,CACN,UAAkB,EAClB,QAAgB,EAChB,YAAoB,EACpB,OAAe,EACf,WAA8E,EAAE;QAEhF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE;YACxC,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ;YACR,YAAY;YACZ,OAAO;YACP,QAAQ;YACR,cAAc,EAAE,EAAE;YAClB,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CACF,UAAkB,EAClB,QAAgB,EAChB,OAAoF,EACpF,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,eAAe,CACb,UAAkB,EAClB,QAAgB,EAChB,OAAgG,EAChG,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3G,CAAC;IAED,WAAW,CACT,UAAkB,EAClB,QAAgB,EAChB,OAA2F,EAC3F,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACtG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAA+B;QACnD,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtG,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB;YAC7E,CAAC,CAAC,CAAC;oBACC,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,OAAgB;oBAC5B,gBAAgB,EAAE,kBAAkB;oBACpC,cAAc,EAAE,UAAU;iBAC3B,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,CAAC;QACR,OAAO,IAAI,CAAC,qBAAqB,CAAC;YAChC,GAAG,KAAK;YACR,MAAM;YACN,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,kBAAkB;YAClE,YAAY;YACZ,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,WAAW;YAC7C,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,OAAO,CAAC;SAC3D,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACd,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE;gBACnE,GAAG,KAAK,CAAC,OAAO;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,QAAQ,CAAC;gBAClF,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,IAAI,aAAa,KAAK,CAAC,WAAW,EAAE;aAClF,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,4BAA4B,CAAC,KAIlC;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC;YAChC,GAAG,KAAK;YACR,MAAM,EAAE,WAAW;YACnB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,kBAAkB;YAClE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;oBACnC,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,MAAM;oBAClB,gBAAgB,EAAE,EAAE;oBACpB,cAAc,EAAE,UAAU;iBAC3B,CAAC;YACF,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI;gBAChC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;aACjF;YACD,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;YACjE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,2DAA2D;SAC5F,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACd,KAAK,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;SACrF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,kBAAkB,CACtB,KAAmC;QAQnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,qBAAqB,CAAC;YAChC,GAAG,KAAK;YACR,MAAM,EAAE,aAAa;YACrB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,kBAAkB;YAClE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;oBACnC,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,OAAO;oBACnB,gBAAgB,EAAE,kBAAkB;oBACpC,cAAc,EAAE,UAAU;iBAC3B,CAAC;YACF,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACzF,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,aAAa,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;YAC5E,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,gEAAgE;SACjG,EAAE,KAAK,IAAI,EAAE;YACZ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBACjD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI;gBACJ,IAAI;gBACJ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,WAAW,CAAC,CAAC;gBAC1F,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;gBACnD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,mBAAmB,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE;oBAC1E,UAAU;oBACV,eAAe;oBACf,iBAAiB;oBACjB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,MAAM;oBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI;oBAClC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/E,SAAS,EAAE,UAAU,CAAC,QAAQ;oBAC9B,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,WAAW,EAAE,CAAC,UAAU,CAAC;oBACzB,WAAW,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;iBAC/B,EAAE;oBACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,iBAAiB,CAAC;oBACjE,cAAc,EAAE,YAAY,KAAK,CAAC,WAAW,EAAE;iBAChD,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClH,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAoD;QACzE,MAAM,SAAS,GAAG,wBAAwB,CAAC,iBAAiB,CAAC;YAC3D,EAAE,EAAE,UAAU,EAAE;YAChB,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,0BAA0B;SACvD,CAAC,EAAE,UAAU,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjG,CAAC;YACD,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAwD;QACjF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,iCAAiC,CAAC;YACnD,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACjE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACvF,IAAI,SAAS,KAAK,SAAS,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAChC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAChC,IAAI,CAAC,EAAE,EACP,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EACpD,KAAK,CAAC,QAAQ,CACf,CAAC;gBACF,WAAW,IAAI,SAAS,CAAC;gBACzB,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;oBAC3B,KAAK,EAAE,WAAW;oBAClB,gBAAgB,EAAE,WAAW;oBAC7B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,SAAS,EAAE,KAAK,GAAG,CAAC;oBACpB,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClH,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,UAAgC;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,oBAAoB,CAAC,UAAgC,EAAE,IAAY,EAAE,QAAoC;QACvG,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAA0B,EAAE,cAAc,GAAG,IAAI;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;QAC5G,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc;aAC/B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;aACnI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC;QACjG,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,iBAAiB,CAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,EAC3C,aAAa,EACb,WAAW,CAAC,IAAI,CAAC,EAAE,EACnB,iBAAiB,CAClB,CAAC;QACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5F,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC;YAC3E,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAA0B,EAC1B,MAAsG;QAEtG,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,OAAO,CAAC;YACnD,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,uBAAuB,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,uBAAuB,CAAC;YACnF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACtE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,GAAG,YAAY,CAAC,KAAM,CAAC,KAAK,CAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;oBACzD,OAAO,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,SAAS,KAAK,EAAE,CAAC;oBAChE,cAAc,EAAE,QAAQ,KAAK,CAAC,WAAW,IAAI,KAAK,EAAE;iBACrD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,MAAsB;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,aAAa,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACrH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,sBAAsB,CAAC;YACvE,QAAQ;YACR,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YACpC,4BAA4B,EAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB;YAClE,yBAAyB,EAAE,MAAM,CAAC,mBAAmB;YACrD,sBAAsB,EAAE,MAAM,CAAC,gBAAgB;SAChD,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAA2B,EAAE,MAAsB;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI;eACtG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAa,aAAa,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,sBAAsB,CAAC;YACxE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YACpC,4BAA4B,EAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB;YAClE,yBAAyB,EAAE,KAAK,CAAC,mBAAmB;YACpD,sBAAsB,EAAE,KAAK,CAAC,gBAAgB;SAC/C,CAAC,CAAC,CAAC;QACJ,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;eAC1D,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,8BAA8B,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnH,yBAAyB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/F,OAAO;YACL,GAAG,MAAM;YACT,KAAK;YACL,OAAO;YACP,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,UAAkB,EAClB,aAAqB,EACrB,KAAa,EACb,WAAmB,EACnB,MAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,WAAW,KAAK,EAAE,CAAC,EAClG,WAAW,EACX,MAAM,CACP,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAEO,WAAW,CAAC,IAAyB,EAAE,MAAsB;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,OAAO,CAAC,sBAAsB;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACnH,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;eAC/E,CAAC,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACjH,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB;YAC7C,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YACpC,4BAA4B,EAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB;YAClE,yBAAyB,EAAE,MAAM,CAAC,mBAAmB;YACrD,sBAAsB,EAAE,MAAM,CAAC,gBAAgB;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC;eAC9C,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;eACrE,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAAsB,EACtB,MAAqB,EACrB,KAA0B;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,QAAQ,GAA2C,EAAE,CAAC;QAC5D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;YAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,QAAQ,CAAC,SAAS,KAAK,iBAAiB;oBAAE,SAAS;gBACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,CAAC,eAAe,CAAC,cAAc;oBAAE,SAAS;gBAC3H,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACjF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAG,oCAAoC,CAAC,KAAK,CAAC,sBAAsB,CAAC;oBAChF,QAAQ,EAAE,QAAQ,CAAC,eAAe;oBAClC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;oBACpC,4BAA4B,EAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB;oBAClE,yBAAyB,EAAE,SAAS,CAAC,mBAAmB;oBACxD,sBAAsB,EAAE,SAAS,CAAC,gBAAgB;iBACnD,CAAC,CAAC,CAAC;gBACJ,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;uBACvC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE;uBACpC,QAAQ,CAAC,eAAe,CAAC,UAAU,KAAK,QAAQ,CAAC,aAAa;uBAC9D,QAAQ,CAAC,eAAe,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;uBAC3D,QAAQ,CAAC,eAAe,CAAC,YAAY,KAAK,QAAQ,CAAC,iBAAiB;uBACpE,QAAQ,CAAC,iBAAiB,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE;uBAClD,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS;uBACjF,CAAC,kCAAkC,CAAC,OAAO,EAAE,KAAK,CAAC;uBACnD,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,iBAAiB;uBACzD,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,eAAe,CAAC;uBACrE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC;uBAC7D,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,SAAS,CAAC;oBAAE,SAAS;gBACtF,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;oBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;oBAC7G,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB;2BAC7D,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;2BAC7C,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;2BACzC,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE;2BAC1C,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,CAAC,qBAAqB;2BACjE,QAAQ,CAAC,QAAQ,KAAK,SAAS;2BAC/B,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;2BACtG,CAAC,8BAA8B,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;wBAAE,SAAS;oBAC/F,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACtC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,IAAI,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAAsB,EACtB,MAAqB,EACrB,KAA0B,EAC1B,QAAsE;QAEtE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,YAAY;YACjD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACjG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACjE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;gBAAE,SAAS;YACrH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACnD,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE;gBAC/D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC3B,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;gBAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;gBACnC,eAAe,EAAE,EAAE;gBACnB,wBAAwB,EAAE,SAAS,CAAC,eAAe;gBACnD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;aAC/C,EAAE;gBACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,SAAS,QAAQ,CAAC;gBAChD,cAAc,EAAE,YAAY,SAAS,EAAE;gBACvC,UAAU,EAAE;oBACV,IAAI,EAAE,kBAAkB;oBACxB,EAAE,EAAE,SAAS;oBACb,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;oBAC9C,eAAe,EAAE,SAAS,CAAC,eAAe;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAI,KAA0B,EAAE,MAA+B;QACjG,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBAClC,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,UAAU,CAAC;gBAC5D,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;gBAChC,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB;gBACnD,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;gBAChE,cAAc,EAAE,UAAU,KAAK,CAAC,WAAW,EAAE;gBAC7C,WAAW,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACrI,mBAAmB,EAAE,MAAM,CAAC,iBAAiB;gBAC7C,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;oBAChG,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;iBACjD,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,KAA0B,EAAE,MAAqB;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,oBAAoB,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9E,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,GAAG,KAAK;YACR,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACzD,qBAAqB,EAAE,eAAe,CAAC,KAAK,CAAC,qBAAqB,EAAE,WAAW,CAAC;YAChF,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrB,WAAW,EAAE,WAAW,EAAE;gBAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAA0B,EAAE,MAAqB;QAChF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YACnD,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACrE,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;gBAAE,OAAO;YACzD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3F,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5G,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACvD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAChE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;wBACxB,MAAM;wBACN,WAAW,EAAE,OAAO,CAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EACxE,KAAK,CAAC,KAAK,CAAC,WAAW,CACxB;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACjE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC5D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,6BAA6B,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC5F,OAAO,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,CAAC;YACzD,CAAC;YACD,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAI,SAA2B;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,gBAAgB,EAAE,EAAE,GAAG,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,QAAQ,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAI,SAA2B,EAAE,WAAmB,EAAE,MAAoB;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ;oBAAE,MAAM,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAC;IAClB,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;QACvG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;eAC3B,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM;eAC7B,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC3G,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9G,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,QAAiB;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsB;IACnD,OAAO,sBAAsB,CAAC,MAAM,CAAC;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,2BAA2B,CAClC,SAAiC,EACjC,QAAkC;IAElC,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClE,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9F,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC;QAC7G,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;gBAC5B,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU;gBAC9D,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa;aACnF,EAAE,CAAC;IACN,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,SAAS,CAAC,aAAa,IAAI,UAAU,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,UAAU,EAAE,iBAAiB,IAAI,SAAS,CAAC,iBAAiB,CAAC;QACvF,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE;gBACpF,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,iBAAiB;aAC7E,EAAE,CAAC;IACN,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACtF,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;IACrG,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;YAC7D,IAAI,EAAE,kBAAkB;YACxB,EAAE;YACF,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,eAAe,EAAE,SAAS,CAAC,wBAAwB;YACnD,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,EAAE,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA+C,EAAE,OAA+B;IACjH,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9D,IAAI,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACpG,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;WACrD,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,IAAI,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,kBAAkB,IAAI,CACpF,OAAO,CAAC,iBAAiB,KAAK,UAAU,CAAC,EAAE;WACxC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;WAC5C,OAAO,CAAC,eAAe,KAAK,UAAU,CAAC,eAAe;WACtD,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CACjE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,aAAa,IAAI,CAC1E,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE;WACpC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;WAC5C,OAAO,CAAC,iBAAiB,KAAK,UAAU,CAAC,iBAAiB,CAC9D,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,kBAAkB,IAAI,CACpF,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,EAAE;WAChC,OAAO,CAAC,iBAAiB,KAAK,UAAU,CAAC,iBAAiB;WAC1D,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,eAAe,CAAC;WACtE,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,SAAS,CAAC,CAC5E,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CACxB,KAA0B,EAC1B,MAAqB,EACrB,YAAoB,EACpB,iBAAyD;IAEzD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;QACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACjC,YAAY;QACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;QAClD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,EAAE;QACxD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAChG,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAClG,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,CAAC;QAC3C,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,IAAI,KAAK;QACvE,iBAAiB;QACjB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;QAClD,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAA0D,EAAE,MAAsB;IAC1G,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC1F,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,CAAC,uBAAuB;WAC3D,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAsB,EAAE,MAAc;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;IACzF,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB,EAAE,KAAwB;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;WAC9B,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;WAC9B,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;WAC9B,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,IAAuB,EAAE,KAAwB;IACpE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,0DAA0D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,iBAAiB,CAC/B,KAA0B,EAC1B,MAAqB,EACrB,WAAmB;IAEnB,OAAO,iBAAiB,CAAC,YAAY,aAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B,EAAE,MAAqB,EAAE,WAAmB;IAC/F,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;QACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACjC,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,OAAO;QACV,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1G,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,CAAC;QAC3C,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,IAAI,KAAK;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA0B;IACjD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE;QAC/D,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QAClC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,cAAc,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAsE,EACtE,KAA0B;IAE1B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;WAC1C,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;WACpC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;WAClC,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;WACxE,aAAa,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;WAC1F,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;WAC5D,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,IAAoC;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,cAAc,CAAC;QACxB,KAAK,kBAAkB;YACrB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,KAAK,kBAAkB;YACrB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB,CAChC,QAA+C,EAC/C,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxG,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,UAAU,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB;IAC3C,OAAO,MAAM,CAAC,OAAO;SAClB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;SAC9C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;SAC1C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,4FAA4F;AAC5F,SAAS,mBAAmB,CAAC,KAA6B;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA+B;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;YACnC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAC/F,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA+B;IACzD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,OAAO,6BAA6B,CAAC;QACrD,KAAK,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC;QACpC,KAAK,kBAAkB,CAAC,CAAC,OAAO,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,KAAK,aAAa,CAAC,CAAC,OAAO,iCAAiC,CAAC;QAC7D,KAAK,MAAM,CAAC,CAAC,OAAO,mBAAmB,CAAC;QACxC,KAAK,kBAAkB,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA+B;IACxD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,OAAO,uDAAuD,CAAC;QAC/E,KAAK,UAAU,CAAC,CAAC,OAAO,gEAAgE,CAAC;QACzF,KAAK,MAAM,CAAC,CAAC,OAAO,wDAAwD,CAAC;QAC7E,KAAK,kBAAkB,CAAC,CAAC,OAAO,sEAAsE,CAAC;QACvG,KAAK,aAAa,CAAC,CAAC,OAAO,qEAAqE,CAAC;QACjG,KAAK,MAAM,CAAC,CAAC,OAAO,sCAAsC,CAAC;QAC3D,KAAK,kBAAkB,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,IAAI,mDAAmD,CAAC;IACxG,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,eAAe,CAAC,KAAwC;IAC/D,OAAO;QACL,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC;QAC9B,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;QACxB,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAA2C,EAC3C,MAAsC;IAEtC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACtD,GAAG;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC3D,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,MAAsC,EACtC,KAAyC;IAEzC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;QAChD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACvC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;QACtD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACtD,GAAG;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACvD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,QAAsD,EACtD,MAA8B;IAE9B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,MAAiE,EAAE,GAAS;IAC/F,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAClD,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9E,IAAI,SAAS,KAAK,CAAC;gBAAE,MAAM;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3C,QAAQ,IAAI,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO;IAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,MAAM,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,YAAoB,EAAE,MAAoB;IACtE,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;YAC1B,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAA2B;QACpC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY;QACnF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW;QAC7F,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;QACzF,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;QACzF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;KACxE,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"workrooms.js","sourceRoot":"","sources":["../src/workrooms.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atalk/sdk",
3
- "version": "0.1.0-alpha.11",
3
+ "version": "0.1.0-alpha.13",
4
4
  "description": "Node.js SDK for connecting AI agents to the aTalk messaging network",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -42,8 +42,8 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "ws": "^8.18.0",
45
- "@atalk/core-native": "0.1.0-alpha.11",
46
- "@atalk/protocol": "0.1.0-alpha.11"
45
+ "@atalk/core-native": "0.1.0-alpha.13",
46
+ "@atalk/protocol": "0.1.0-alpha.13"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^24.0.0",