@getmarrow/mcp 3.9.79 → 3.9.81

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
@@ -116,7 +116,15 @@ npx -y --package=@getmarrow/mcp@latest marrow-mcp ping
116
116
 
117
117
  Detection and notification are automatic. After explicit installer activation, the local controller may restore only Marrow-managed hooks/configuration. Package upgrades, owner policy, credentials, and unrelated configuration remain explicit and subject to the operator's normal change policy.
118
118
 
119
- ## What's New in v3.9.79
119
+ ## What's New in v3.9.81
120
+
121
+ v3.9.81 adds bounded structured failure evidence to the authenticated eleven-tool control-path canary. Failed runs identify the observed stage, tool, error class, timing, and completed checks without retaining credentials, customer payloads, or arbitrary error text. Protocol and write failures observed after the final response or during shutdown now fail closed; the canary's own bounded cleanup remains compatible with a successful run. The eleven live-tool requirements, client deadlines, package identity checks, and retry limits are unchanged.
122
+
123
+ ### Previous release: v3.9.80
124
+
125
+ v3.9.80 is a reliability patch for direct `marrow_think` and `marrow_commit` calls. Each invocation now carries one stable bounded idempotency key. Only the backend's documented pending-persistence states are reconciled, using the byte-identical request and key after a fixed one-second delay for at most three total attempts. A 202 response is never reported as successful completion; unknown, malformed, correlation-drifted, or exhausted pending responses fail closed with a structured error. Explicit caller-supplied idempotency keys remain unchanged, and durable `observed_unverified` outcomes retain their terminal, non-authorizing semantics.
126
+
127
+ ### Previous release: v3.9.79
120
128
 
121
129
  v3.9.79 aligns `marrow_replay_compare` with the production replay contract. Its public MCP schema now exposes two exclusive modes: fetch an existing comparison with `comparison_id`, or create one with `source_decision_id`, `baseline.decision_id`, and `candidate.decision_id`. Empty, incomplete, mixed-mode, blank-ID, unsafe-ID, same-decision, and undeclared content-bearing fields fail locally before any request, while comparison fetches and valid distinct-decision comparisons keep their existing behavior. Outbound baseline and candidate references contain only validated decision IDs and optional privacy-safe identifier labels. Replay comparison still uses only already-recorded durable evidence and never runs a model or replays customer content. This release requires SDK `^3.7.62`, keeping the active MCP dependency floor aligned with the current SDK release.
122
130
 
@@ -1,8 +1,8 @@
1
1
  import { resolveMarrowEnv, type ResolvedMarrowEnv } from './env';
2
- export declare const MCP_ADAPTER_VERSION = "3.9.79";
2
+ export declare const MCP_ADAPTER_VERSION = "3.9.81";
3
3
  export declare const NATIVE_HOOK_MATCHER = "Bash|Edit|Write|MultiEdit|mcp__(?!marrow__marrow_).*";
4
4
  export declare const GROK_NATIVE_HOOK_MATCHER = "run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video";
5
- export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.79";
5
+ export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.81";
6
6
  export declare const CONTEXT_HOOK_COMMAND: string;
7
7
  export declare const PRE_ACTION_HOOK_COMMAND: string;
8
8
  export declare const ACTION_RESULT_HOOK_COMMAND: string;
@@ -20,7 +20,7 @@ const node_fs_1 = require("node:fs");
20
20
  const node_os_1 = require("node:os");
21
21
  const node_path_1 = require("node:path");
22
22
  const env_1 = require("./env");
23
- exports.MCP_ADAPTER_VERSION = '3.9.79';
23
+ exports.MCP_ADAPTER_VERSION = '3.9.81';
24
24
  exports.NATIVE_HOOK_MATCHER = 'Bash|Edit|Write|MultiEdit|mcp__(?!marrow__marrow_).*';
25
25
  exports.GROK_NATIVE_HOOK_MATCHER = 'run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video';
26
26
  exports.MCP_PACKAGE_SPEC = `@getmarrow/mcp@${exports.MCP_ADAPTER_VERSION}`;
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { ThinkResult, CommitResult, StatusResult, AgentPatternsResult, Orie
5
5
  import { type CreateApiKeyParams, type CreateApiKeyResult, type GetKeyAuditParams, type GetKeyAuditResult, type ListApiKeysResult, type MarrowApiKey, type RevokeApiKeyResult, type RotateApiKeyResult } from '@getmarrow/sdk';
6
6
  import { type LifecycleEvent } from './lifecycle-spool';
7
7
  export type { Narrative, CommitResult } from './types';
8
+ declare const AUTO_MANAGED_WRITE: unique symbol;
8
9
  /**
9
10
  * Validate a path parameter to prevent path traversal attacks.
10
11
  * Only allows alphanumeric, hyphens, underscores, and dots.
@@ -43,6 +44,7 @@ export declare function marrowThink(apiKey: string, baseUrl: string, params: {
43
44
  }, sessionId?: string, agentId?: string, signal?: AbortSignal, options?: {
44
45
  idempotencyKey?: string;
45
46
  responseMode?: 'ack';
47
+ [AUTO_MANAGED_WRITE]?: true;
46
48
  }): Promise<ThinkResult>;
47
49
  /**
48
50
  * Explicitly commit the result of an action to Marrow.
@@ -68,6 +70,7 @@ export declare function marrowCommit(apiKey: string, baseUrl: string, params: {
68
70
  reused_identified_workflow?: boolean;
69
71
  model_usage?: MarrowModelUsageInput;
70
72
  modelUsage?: MarrowModelUsageInput;
73
+ [AUTO_MANAGED_WRITE]?: true;
71
74
  }, sessionId?: string, agentId?: string, signal?: AbortSignal, idempotencyKey?: string): Promise<CommitResult & {
72
75
  runtime_gate?: MarrowAgentRuntimeResult | null;
73
76
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -73,6 +73,10 @@ const SAFE_ARBITRATION_EVIDENCE_KIND = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,39}$/;
73
73
  const SAFE_ARBITRATION_EVIDENCE_REFERENCE = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/;
74
74
  const SAFE_OUTCOME_OBSERVATION_IDENTIFIER = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/;
75
75
  const SAFE_INSTRUCTION_REFERENCE = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
76
+ const SAFE_IDEMPOTENCY_KEY = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
77
+ const AGENT_WRITE_RECONCILIATION_ATTEMPTS = 3;
78
+ const AGENT_WRITE_RECONCILIATION_DELAY_MS = 1_000;
79
+ const AUTO_MANAGED_WRITE = Symbol('marrow-auto-managed-write');
76
80
  const INSTRUCTION_REFERENCE_LONG_DIGIT_RUN = /\d{7,}/;
77
81
  const INSTRUCTION_REFERENCE_DATE = /(?:^|[._:-])(?:(?:19|20)\d{2}[._:-](?:0?[1-9]|1[0-2])[._:-](?:0?[1-9]|[12]\d|3[01])|(?:0?[1-9]|1[0-2])[._:-](?:0?[1-9]|[12]\d|3[01])[._:-](?:19|20)\d{2})(?:$|[._:-])/;
78
82
  const INSTRUCTION_REFERENCE_PROVIDER_ID = /^(?:telegram|tg|discord|slack|signal|whatsapp|wa|matrix|imessage|message|msg|chat|user|thread|channel|room|dm|sms|device)[_:.-]?[A-Za-z]*\d+[A-Za-z0-9_-]*$/i;
@@ -447,6 +451,115 @@ function isDurableObservedOutcome(value) {
447
451
  && typeof value.exact_next_action === 'string'
448
452
  && value.exact_next_action.trim().length > 0;
449
453
  }
454
+ function invocationIdempotencyKey(kind, supplied) {
455
+ if (supplied !== undefined) {
456
+ if (supplied !== supplied.trim() || !SAFE_IDEMPOTENCY_KEY.test(supplied)) {
457
+ throw new TypeError('Idempotency key must be a bounded privacy-safe identifier.');
458
+ }
459
+ return supplied;
460
+ }
461
+ return `mcp-${kind}:${(0, node_crypto_1.randomUUID)()}`;
462
+ }
463
+ function reconciliationError(exhausted) {
464
+ return new request_reliability_1.MarrowRequestError({
465
+ code: 'invalid_response',
466
+ backendCode: exhausted ? 'MCP_RECONCILIATION_EXHAUSTED' : 'MCP_RECONCILIATION_INVALID',
467
+ message: exhausted
468
+ ? 'Marrow write reconciliation did not complete within the bounded retry window'
469
+ : 'Marrow returned an invalid write reconciliation response',
470
+ status: 202,
471
+ retryable: exhausted,
472
+ exactFix: exhausted
473
+ ? 'Retry the same operation explicitly after checking Marrow status; do not assume the decision or outcome closed.'
474
+ : 'Check Marrow status and retry explicitly; do not accept or act on the malformed pending response.',
475
+ });
476
+ }
477
+ function validCorrelationId(value) {
478
+ return typeof value === 'string'
479
+ && value.length > 0
480
+ && value.length <= 256
481
+ && value === value.trim()
482
+ && !/[\u0000-\u001f\u007f-\u009f]/.test(value);
483
+ }
484
+ function pendingDecisionId(kind, value, idempotencyKey, expectedDecisionId) {
485
+ if (value.retryable !== true
486
+ || value.committed !== false
487
+ || value.idempotency_key !== idempotencyKey
488
+ || !validCorrelationId(value.decision_id)) {
489
+ return null;
490
+ }
491
+ if (kind === 'think') {
492
+ return value.reconciliation_state === 'runtime_continuation_persistence_pending'
493
+ && value.decision_state === 'created'
494
+ ? value.decision_id
495
+ : null;
496
+ }
497
+ if (value.decision_id !== expectedDecisionId)
498
+ return null;
499
+ if (value.reconciliation_state === 'pending')
500
+ return value.decision_id;
501
+ return value.reconciliation_state === 'runtime_continuation_invalidation_pending'
502
+ && value.outcome_persisted === true
503
+ ? value.decision_id
504
+ : null;
505
+ }
506
+ async function waitForWriteReconciliation(signal) {
507
+ await new Promise((resolve, reject) => {
508
+ let timer;
509
+ const abort = () => {
510
+ if (timer)
511
+ clearTimeout(timer);
512
+ signal?.removeEventListener('abort', abort);
513
+ reject((0, request_reliability_1.normalizeRequestError)(signal?.reason || new DOMException('Aborted', 'AbortError')));
514
+ };
515
+ if (signal?.aborted) {
516
+ abort();
517
+ return;
518
+ }
519
+ timer = setTimeout(() => {
520
+ signal?.removeEventListener('abort', abort);
521
+ resolve();
522
+ }, AGENT_WRITE_RECONCILIATION_DELAY_MS);
523
+ signal?.addEventListener('abort', abort, { once: true });
524
+ });
525
+ }
526
+ async function fetchAgentWrite(url, init, kind, idempotencyKey, expectedDecisionId, autoManaged = false) {
527
+ let reconciledDecisionId = null;
528
+ for (let attempt = 0; attempt < AGENT_WRITE_RECONCILIATION_ATTEMPTS; attempt += 1) {
529
+ const response = await fetch(url, init);
530
+ const json = await safeJsonResponse(response);
531
+ if (!json.data || typeof json.data !== 'object' || Array.isArray(json.data)) {
532
+ throw (0, request_reliability_1.invalidResponseError)();
533
+ }
534
+ const data = json.data;
535
+ // marrow_auto owns its existing phase/budget continuation contract. Its
536
+ // reserved keys are created only by autoIdempotencyKey below.
537
+ if (response.status === 202 && autoManaged) {
538
+ return { response, data };
539
+ }
540
+ if (response.status !== 202 || (kind === 'commit' && data.outcome_state === 'observed_unverified')) {
541
+ if (reconciledDecisionId) {
542
+ if (kind === 'think' && data.decision_id !== reconciledDecisionId) {
543
+ throw reconciliationError(false);
544
+ }
545
+ if (kind === 'commit' && data.decision_id !== undefined && data.decision_id !== expectedDecisionId) {
546
+ throw reconciliationError(false);
547
+ }
548
+ }
549
+ return { response, data };
550
+ }
551
+ const currentDecisionId = pendingDecisionId(kind, data, idempotencyKey, expectedDecisionId);
552
+ if (!currentDecisionId || (reconciledDecisionId && currentDecisionId !== reconciledDecisionId)) {
553
+ throw reconciliationError(false);
554
+ }
555
+ reconciledDecisionId = currentDecisionId;
556
+ if (attempt + 1 >= AGENT_WRITE_RECONCILIATION_ATTEMPTS) {
557
+ throw reconciliationError(true);
558
+ }
559
+ await waitForWriteReconciliation(init.signal || undefined);
560
+ }
561
+ throw reconciliationError(true);
562
+ }
450
563
  function clampPeriodDays(value, defaultDays = 7) {
451
564
  const parsed = typeof value === 'number' ? value : parseInt(String(value || defaultDays), 10);
452
565
  if (!Number.isFinite(parsed))
@@ -511,20 +624,18 @@ async function marrowThink(apiKey, baseUrl, params, sessionId, agentId, signal,
511
624
  body.previous_outcome = (0, redact_1.redactSensitiveText)(params.previous_outcome ?? '');
512
625
  }
513
626
  const thinkUrl = `${baseUrl}/v1/agent/think${options?.responseMode === 'ack' ? '?response=ack' : ''}`;
627
+ const idempotencyKey = invocationIdempotencyKey('think', options?.idempotencyKey);
514
628
  const thinkInit = {
515
629
  method: 'POST',
516
630
  headers: {
517
631
  ...buildHeaders(apiKey, sessionId, 'application/json', agentId),
518
- ...(options?.idempotencyKey ? { 'Idempotency-Key': options.idempotencyKey } : {}),
632
+ 'Idempotency-Key': idempotencyKey,
519
633
  },
520
634
  body: JSON.stringify(body),
521
635
  signal,
522
636
  };
523
- const res = options?.idempotencyKey
524
- ? await fetch(thinkUrl, thinkInit)
525
- : await fetchWithRetryQueue(thinkUrl, thinkInit, true);
526
- const json = await safeJsonResponse(res);
527
- return markAutoResponseStatus(json.data, res.status);
637
+ const { response, data } = await fetchAgentWrite(thinkUrl, thinkInit, 'think', idempotencyKey, undefined, options?.[AUTO_MANAGED_WRITE] === true);
638
+ return markAutoResponseStatus(data, response.status);
528
639
  }
529
640
  /**
530
641
  * Explicitly commit the result of an action to Marrow.
@@ -608,46 +719,36 @@ async function marrowCommit(apiKey, baseUrl, params, sessionId, agentId, signal,
608
719
  const modelUsage = params.model_usage || params.modelUsage;
609
720
  if (modelUsage)
610
721
  body.model_usage = normalizeModelUsage(modelUsage);
722
+ const resolvedIdempotencyKey = invocationIdempotencyKey('commit', idempotencyKey);
611
723
  const commitInit = {
612
724
  method: 'POST',
613
725
  headers: {
614
726
  ...buildHeaders(apiKey, sessionId, 'application/json', agentId),
615
- ...(idempotencyKey ? { 'Idempotency-Key': idempotencyKey } : {}),
727
+ 'Idempotency-Key': resolvedIdempotencyKey,
616
728
  },
617
729
  body: JSON.stringify(body),
618
730
  signal,
619
731
  };
620
- const res = idempotencyKey
621
- ? await fetch(`${baseUrl}/v1/agent/commit`, commitInit)
622
- : await fetchWithRetryQueue(`${baseUrl}/v1/agent/commit`, commitInit, true);
623
- const json = await safeJsonResponse(res);
624
- if (json.data
625
- && typeof json.data === 'object'
626
- && !Array.isArray(json.data)
627
- && json.data.outcome_state === 'observed_unverified') {
628
- if (!isDurableObservedOutcome(json.data))
732
+ const { response, data } = await fetchAgentWrite(`${baseUrl}/v1/agent/commit`, commitInit, 'commit', resolvedIdempotencyKey, params.decision_id, params[AUTO_MANAGED_WRITE] === true);
733
+ if (data.outcome_state === 'observed_unverified') {
734
+ if (!isDurableObservedOutcome(data))
629
735
  throw (0, request_reliability_1.invalidResponseError)();
630
736
  // A backend 202 can mean durable acceptance rather than async work. Do not
631
737
  // attach the internal pending marker: this exact observation is terminal
632
738
  // delivery and any trusted promotion must be a new explicit commit attempt.
633
- return { ...json.data, committed: false, runtime_gate: runtimeGate };
739
+ return { ...data, committed: false, runtime_gate: runtimeGate };
634
740
  }
635
741
  if (observationOnly)
636
742
  throw (0, request_reliability_1.invalidResponseError)();
637
- if (res.status === 202
638
- && json.data
639
- && typeof json.data === 'object'
640
- && !Array.isArray(json.data)
641
- && (json.data.phase === undefined || json.data.phase === 'commit_pending' || json.data.resumable === true)) {
642
- return markAutoResponseStatus({ ...json.data, committed: false, runtime_gate: runtimeGate }, res.status);
643
- }
644
- if (!json.data
645
- || typeof json.data !== 'object'
646
- || Array.isArray(json.data)
647
- || typeof json.data.committed !== 'boolean') {
743
+ if (response.status === 202
744
+ && params[AUTO_MANAGED_WRITE] === true
745
+ && (data.phase === undefined || data.phase === 'commit_pending' || data.resumable === true)) {
746
+ return markAutoResponseStatus({ ...data, committed: false, runtime_gate: runtimeGate }, response.status);
747
+ }
748
+ if (typeof data.committed !== 'boolean') {
648
749
  throw (0, request_reliability_1.invalidResponseError)();
649
750
  }
650
- return markAutoResponseStatus({ ...json.data, committed: json.data.committed, runtime_gate: runtimeGate }, res.status);
751
+ return markAutoResponseStatus({ ...data, committed: data.committed, runtime_gate: runtimeGate }, response.status);
651
752
  }
652
753
  async function marrowModelUsage(apiKey, baseUrl, input, sessionId, agentId) {
653
754
  const body = normalizeModelUsage({
@@ -924,6 +1025,7 @@ async function marrowAuto(apiKey, baseUrl, params, sessionId, agentId, timeoutMs
924
1025
  }, sessionId, agentId, thinkTimeout.signal, {
925
1026
  idempotencyKey: autoIdempotencyKey(operationId, 'think'),
926
1027
  responseMode: 'ack',
1028
+ [AUTO_MANAGED_WRITE]: true,
927
1029
  });
928
1030
  }
929
1031
  catch (error) {
@@ -1057,6 +1159,7 @@ async function marrowAuto(apiKey, baseUrl, params, sessionId, agentId, timeoutMs
1057
1159
  type: params.type || 'general',
1058
1160
  surfaces: params.surfaces,
1059
1161
  auto_gate: false,
1162
+ [AUTO_MANAGED_WRITE]: true,
1060
1163
  }, sessionId, agentId, commitTimeout.signal, autoIdempotencyKey(operationId, 'commit'));
1061
1164
  }
1062
1165
  catch (error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA8JH,8CAWC;AA2GD,0CAWC;AA+LD,0CAQC;AAED,wCAOC;AAED,oCAQC;AAED,0CAQC;AAED,0CAQC;AAED,8CAQC;AAKD,kCAgFC;AAKD,oCAwJC;AAED,4CAoBC;AA0ND,gCAqVC;AAKD,kDAyBC;AAOD,oCAkHC;AAKD,8BAwDC;AAKD,oCAcC;AAID,wCA8HC;AAOD,0CAWC;AAKD,oCAaC;AAKD,8CAkBC;AAKD,kDAeC;AAKD,gDAeC;AAKD,8CAgBC;AAKD,kDAmBC;AAED,gDAcC;AAED,gDA8BC;AAED,8CAqBC;AAMD,0CAgFC;AAED,oEAWC;AAED,0DAWC;AAED,8DAWC;AAED,4EAcC;AAED,4DAeC;AAED,4CAeC;AAMD,4CAuEC;AAMD,kDAoDC;AAED,sEAcC;AAED,4DAYC;AAED,8DAcC;AAED,4EAcC;AAED,kDAcC;AAED,4CAmBC;AAED,wDAeC;AAED,gDAiBC;AAED,oEAkBC;AAED,kDAmBC;AAED,kDAoBC;AAED,kDAkBC;AAKD,kCAWC;AAKD,4CAgBC;AAED,wDAgBC;AAED,kDAaC;AAKD,oDAeC;AAOD,kDAiBC;AAKD,sDAcC;AAjiFD,6CAAqD;AA6BrD,wCAUwB;AACxB,qCAAqE;AACrE,uDAA8E;AAC9E,mDAAsD;AACtD,+DAAiJ;AACjJ,yDAO4B;AAE5B,MAAM,KAAK,GAAG,mCAAa,CAAC;AAI5B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE/M,MAAM,2BAA2B,GAAG,qCAAqC,CAAC;AAC1E,MAAM,8BAA8B,GAAG,oCAAoC,CAAC;AAC5E,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAClF,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAClF,MAAM,0BAA0B,GAAG,qCAAqC,CAAC;AACzE,MAAM,oCAAoC,GAAG,QAAQ,CAAC;AACtD,MAAM,0BAA0B,GAAG,uKAAuK,CAAC;AAC3M,MAAM,iCAAiC,GAAG,8JAA8J,CAAC;AACzM,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAC/D,MAAM,0BAA0B,GAAG,yCAAyC,CAAC;AAC7E,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AACtE,MAAM,2BAA2B,GAAG,8MAA8M,CAAC;AACnP,MAAM,+BAA+B,GACnC,uJAAuJ,CAAC;AAE1J,SAAS,8BAA8B,CACrC,KAAa,EACb,OAAe,EACf,KAAa;IAEb,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;WACrB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;WACpB,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,qBAAqB,KAAK,oCAAoC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjG,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;WACrB,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;WACvC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;WACnB,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC;WAChD,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;WACtC,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC;WAC7C,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;WACtC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;WACtC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;WACjC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjL,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,aAAa;QACrB,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,OAAO;QACvB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,QAAQ;QACxB,GAAG,EAAE,KAAK;KACX,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA+B,EAAE;IAC5D,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,CAAC,GAAgC,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,GAAgC,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACtE,CAAC,CAAC;IACD,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,CAAwC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtM,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,yBAAyB,CAAwC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7P,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa,EAAE,SAAiB;IAChE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,8BAA8B,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,yBAAyB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;IAC9C,aAAa;IACb,OAAO;IACP,mBAAmB;IACnB,eAAe;IACf,WAAW;CACZ,CAAC,CAAC;AACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,aAAa;IACb,UAAU;IACV,WAAW;CACZ,CAAC,CAAC;AACH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD,MAAM,gCAAgC,GAAG,0BAA0B,CAAC;AAEpE,SAAS,sBAAsB,CAAC,KAA8B,EAAE,OAAgB;IAC9E,MAAM,YAAY,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CAAC,uEAAuE,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,sDAAsD,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IAC5F,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,OAAO,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAC;YACzF,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,eAAe,GAAG,kBAAkB,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CAAC,eAAe,GAAG,gCAAgC,CAAC,CAAC;QAC1E,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,KAAa;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,iGAAiG,CAAC,CAAC;IACjI,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,2EAA2E,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAc,EACd,KAA+B;IAE/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;IAC3F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ;WAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;WACxC,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8GAA8G,CAAC,CAAC;IAC9I,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,GAAG,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAa;IAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,MAA2C,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;QAC3D,MAAM,IAAA,8CAAwB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3E,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,OAAO,GAAG,IAAA,yCAAsB,EAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,GAAoB,EAAE,CAAC;AACvC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,IAAI,kHAAkH,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrI,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,iGAAiG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzH,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,IAAI,kBAAkB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1D,kBAAkB,GAAG,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAClE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjD,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;QACjC,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,IAAiB,EAAE,SAAS,GAAG,KAAK;IAClF,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,SAAkB,EAClB,WAAoB,EACpB,OAAgB;IAEhB,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,iBAAiB,CAAC,GAAG,mBAAmB,EAAE,CAAC;IACnD,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;IAC/C,OAAO,CAAC,0BAA0B,CAAC,GAAG,mCAAmB,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,OAAe,EAAE,SAAkB,EAAE,OAAgB;IAC5F,OAAO,IAAI,kBAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwC;IACpE,OAAO,IAAA,gDAA6B,EAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAwC;IAC7E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAC,mBAAmB,KAAK,WAAW,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC;WACtF,CAAC,OAAO,CAAC,mBAAmB,KAAK,eAAe,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,sCAAsC,CAAC,OAAwC;IACtF,IAAI,IAAA,kDAA+B,EAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,OAAO,CACZ,OAAO;WACJ,SAAS;WACT,OAAO,CAAC,qBAAqB,EAAE,EAAE,KAAK,SAAS;WAC/C,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,IAAI;WAC9C,OAAO,CAAC,sBAAsB,KAAK,IAAI;WACvC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAiC,EACjC,MAA+C,EAC/C,SAAkB,EAClB,OAAgB;IAEhB,MAAM,MAAM,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAA,kDAA+B,EAAC,OAAO,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,eAAe;QACvC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW;QACnE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,cAAc,KAAK,SAAS;YAC3D,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW;YAClE,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM;WAC3B,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;WAChD,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,MAAM,CAAC,WAAW,CAAC;WAChE,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;WACvE,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA8B;IAC9D,OAAO,KAAK,CAAC,QAAQ,KAAK,IAAI;WACzB,KAAK,CAAC,SAAS,KAAK,KAAK;WACzB,KAAK,CAAC,aAAa,KAAK,qBAAqB;WAC7C,OAAO,KAAK,CAAC,sBAAsB,KAAK,QAAQ;WAChD,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;WACtE,KAAK,CAAC,qBAAqB,KAAK,KAAK;WACrC,KAAK,CAAC,wBAAwB,KAAK,KAAK;WACxC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;WAC3C,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC,EAAE,cAAsB,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,MAA0B,EAC1B,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5E,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,OAAe,EACf,EAAU,EACV,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,EAAU,EACV,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,EAAU,EACV,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,OAAe,EACf,MAA0B,EAC1B,SAAkB,EAClB,OAAgB;IAEhB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,OAAe,EACf,MAiBC,EACD,SAAkB,EAClB,OAAgB,EAChB,MAAoB,EACpB,OAA2D;IAE3D,MAAM,IAAI,GAA4B;QACpC,MAAM,EAAE,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;KAC/B,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC5D,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC;IACzD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;IACrD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,KAAK,IAAI;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;QAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC3F,IAAI,CAAC,WAAW,GAAG,IAAA,6BAAoB,EAAC;QACtC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,mBAAmB,EAAE;QAC7B,WAAW,EAAE,SAAS;QACtB,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;KAC9B,CAA4B,CAAC;IAE9B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,OAAO,kBAAkB,OAAO,EAAE,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,MAAM,SAAS,GAAG;QAChB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;YAC/D,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM;KACe,CAAC;IACxB,MAAM,GAAG,GAAG,OAAO,EAAE,cAAc;QACjC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;QAClC,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,OAAe,EACf,MAmBC,EACD,SAAkB,EAClB,OAAgB,EAChB,MAAoB,EACpB,cAAuB;IAEvB,IAAI,WAAW,GAAoC,IAAI,CAAC;IACxD,IAAI,aAAa,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC;IAClE,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;QAC3B,CAAC,cAAc,EAAE,aAAa,CAAC;QAC/B,CAAC,qBAAqB,EAAE,MAAM,CAAC,sBAAsB,CAAC;QACtD,CAAC,wBAAwB,EAAE,MAAM,CAAC,yBAAyB,CAAC;KACpD,EAAE,CAAC;QACX,IAAI,IAAA,wDAAqC,EAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,6DAA6D,KAAK,wBAAwB,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,kBAAkB,CACpC,MAAM,EACN,OAAO,EACP;gBACE,MAAM,EAAE,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC;gBAC1C,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,aAAa,EAAE,UAAU;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;gBAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC;gBACxC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,6BAAoB,EAAC,MAAM,CAAC,KAAK,CAA4B,CAAC,CAAC,CAAC,SAAS;aAChG,EACD,SAAS,EACT,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,wCAAkB;gBAAE,MAAM,GAAG,CAAC;YACjD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,WAAW,CAAC,CAAC;QACjF,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QAC/D,IAAI,CAAC,aAAa,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4KAA4K,CAAC,CAAC;QAChM,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+JAA+J,CAAC,CAAC;QACnL,CAAC;QACD,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,kBAAkB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4KAA4K,CAAC,CAAC;QAChM,CAAC;QACD,eAAe,GAAG,CAAC,kBAAkB,CAAC;QACtC,IAAI,eAAe;YAAE,aAAa,GAAG,SAAS,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,GAA4B;QACpC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,IAAA,4BAAmB,EAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KAChF,CAAC;IACF,IAAI,MAAM,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;IAC7F,IAAI,aAAa;QAAE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;IACxD,IAAI,MAAM,CAAC,sBAAsB;QAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAC/F,IAAI,MAAM,CAAC,yBAAyB;QAAE,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;IACxG,MAAM,oBAAoB,GAAG,OAAO,MAAM,CAAC,sBAAsB,KAAK,QAAQ,IAAI,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE;QACpH,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACpD,CAAC,CAAC,OAAO,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;YAC5F,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACpD,CAAC,CAAC,OAAO,WAAW,EAAE,mBAAmB,EAAE,EAAE,KAAK,QAAQ,IAAI,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;gBACvG,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACzD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,oBAAoB;QAAE,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC;IAC7E,IAAI,MAAM,CAAC,0BAA0B,KAAK,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACvE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC;IAC3D,IAAI,UAAU;QAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;YAC/D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM;KACe,CAAC;IACxB,MAAM,GAAG,GAAG,cAAc;QACxB,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,kBAAkB,EAAE,UAAU,CAAC;QACvD,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,OAAO,kBAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI;WACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;WAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;WACzB,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QACvD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAA,0CAAoB,GAAE,CAAC;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAEjE,CAAC;IACJ,CAAC;IACD,IAAI,eAAe;QAAE,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;WACjB,IAAI,CAAC,IAAI;WACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;WAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;WACzB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7G,OAAO,sBAAsB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI;WACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;WAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;WACxB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAC/B,CAAC;IACD,OAAO,sBAAsB,CAC3B,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAC3E,GAAG,CAAC,MAAM,CACX,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAAe,EACf,KAA4B,EAC5B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;QACzC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;KAC9B,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,GAAG,OAAO,uBAAuB,EAAE;QACvE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAkB,EAAE,SAAkB;IAIjE,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;AACpE,MAAM,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AACtD,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AACjC,QAAA,kCAAkC,GAAG,KAAK,CAAC;AACxD,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAC5C,MAAM,oBAAoB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAShE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEtE,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACtE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAA0B,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC1G,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAU/B;IACC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;QAC1E,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QACnC,MAAM,EAAE,IAAA,4BAAmB,EAAC,KAAK,CAAC,MAAM,CAAC;QACzC,WAAW,EAAE,IAAA,4BAAmB,EAAC,KAAK,CAAC,UAAU,CAAC;QAClD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,6BAAoB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;KACpE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,SAAiB;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG;YAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,wCAAkB,CAAC;gBAC3B,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,OAAO,EAAE,8EAA8E;gBACvF,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,+HAA+H;aAC1I,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,SAAS,GAAG,GAAG,GAAG,6BAA6B,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM;QACtC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,6BAA6B,EAAE,CAAC;IAC9E,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,uEAAuE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,IAAA,wBAAU,GAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,KAAqC;IACpF,OAAO,YAAY,WAAW,IAAI,KAAK,EAAE,CAAC;AAC5C,CAAC;AASD,SAAS,kBAAkB,CAAC,SAAkB;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAkC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,+BAA+B,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB,CAAI,KAAQ,EAAE,MAAc;IACzD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAyC;IACtF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,OAAO,GAAG,KAA4B,CAAC;IAC7C,OAAO,OAAO,CAAC,oBAAoB,CAAC,KAAK,GAAG;WACvC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAA4B,EAC5B,SAAiB,EACjB,gBAAwB;IAExB,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,gCAAgC,CAAC;IACjG,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,gCAAgC,CAAC;AACxF,CAAC;AAmBD,SAAS,WAAW,CAAC,KAUpB;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC;IAC5C,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACrC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS;QACT,cAAc,EAAE,SAAS;YACvB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY;YAC/D,CAAC,CAAC,IAAI;QACR,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,gBAAgB,EAAE;YAChB,GAAG,KAAK,CAAC,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS;SACpC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,OAAe,EACf,MAeC,EACD,SAAkB,EAClB,OAAgB,EAChB,SAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,EAAE,sBAAsB,CAAC;QAC9E,MAAM;QACN,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM;QACnD,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;QAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAwD;QACnE,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACb,CAAC;IACF,IAAI,WAAW,GAAoC,IAAI,CAAC;IACxD,IAAI,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;IAC3C,IAAI,aAAa,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IAE9C,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACjC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;YAC3C,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,WAAW,EAAE,CAAC;gBACpB,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,WAAW,GAAG,MAAM,kBAAkB,CACpC,MAAM,EACN,OAAO,EACP;wBACE,MAAM,EAAE,IAAA,4BAAmB,EAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC;wBACpE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;wBAC9B,QAAQ,EAAE,OAAO;wBACjB,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,yEAAyE;wBACzE,2EAA2E;wBAC3E,OAAO,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE;qBACxE,EACD,SAAS,EACT,OAAO,EACP,cAAc,CAAC,MAAM,EACrB,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAC3C,CAAC;oBACF,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB;2BACtD,CAAC,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;wBACrE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;wBAC5C,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4BAC5D,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;wBACpF,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAC9C,CAAC;QACD,aAAa,GAAG,IAAA,gDAA6B,EAAC,WAAW,CAAC,IAAI,aAAa,CAAC;QAC5E,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,aAAa,GAAG,IAAA,0CAAuB,EAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;eAC5E,IAAA,sDAAmC,EAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,IAAI,CAAC;IACrD,MAAM,qBAAqB,GAAG,OAAO,WAAW,EAAE,WAAW,EAAE,WAAW,KAAK,QAAQ;WAClF,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;QAC7C,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,WAAW,EAAE,WAAW,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,IAAA,0CAAoB,GAAE,CAAC;IAC/B,CAAC;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,UAAU,IAAI,UAAU,KAAK,qBAAqB,EAAE,CAAC;YACvD,MAAM,IAAI,wCAAkB,CAAC;gBAC3B,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,sGAAsG;gBAC/G,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,yLAAyL;aACpM,CAAC,CAAC;QACL,CAAC;QACD,UAAU,GAAG,qBAAqB,CAAC;QACnC,gBAAgB,CAAC,UAAU,GAAG,qBAAqB,CAAC;IACtD,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,WAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,WAAW,CAC7B,MAAM,EACN,OAAO,EACP;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;gBAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,kBAAkB;gBAC/B,iBAAiB,EAAE,GAAG;gBACtB,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE;oBACX,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,mBAAmB,EAAE;oBAC7B,WAAW,EAAE,SAAS;oBACtB,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;iBAC9B;aACF,EACD,SAAS,EACT,OAAO,EACP,YAAY,CAAC,MAAM,EACnB;gBACE,cAAc,EAAE,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;gBACxD,YAAY,EAAE,KAAK;aACpB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB;mBACtD,CAAC,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;gBAC1C,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC5D,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,UAAU,GAAG,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;YACxF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;YAChC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,UAAU,EAAE,CAAC;YACf,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;YACzC,MAAM;QACR,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC;YAAE,MAAM,IAAA,0CAAoB,GAAE,CAAC;QACvF,IAAI,CAAC,MAAM,uBAAuB,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YAC1C,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;IAE/D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,WAAW,CAAC;YACjB,WAAW;YACX,UAAU;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW;YACX,OAAO;YACP,SAAS;YACT,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,IAAI,CACnD,WAAW,CAAC,SAAS,EAAE,QAAQ,KAAK,iBAAiB;WAClD,WAAW,CAAC,YAAY,EAAE,QAAQ,KAAK,iBAAiB;WACxD,WAAW,CAAC,YAAY,EAAE,QAAQ,KAAK,yBAAyB;WAChE,WAAW,CAAC,YAAY,EAAE,uBAAuB,KAAK,IAAI;WAC1D,WAAW,CAAC,YAAY,EAAE,QAAQ,KAAK,yBAAyB;WAChE,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,uBAAuB,KAAK,IAAI;WACvE,WAAW,CAAC,WAAW,EAAE,UAAU,KAAK,iBAAiB;WACzD,WAAW,CAAC,WAAW,EAAE,uBAAuB,KAAK,IAAI,CAC7D,CAAC,CAAC;IACH,MAAM,gCAAgC,GAAG,OAAO,CAC9C,WAAW,EAAE,WAAW;WACrB,qBAAqB;WACrB,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,KAAK,iBAAiB;eACvD,WAAW,CAAC,WAAW,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAC/D,CAAC;IACF,MAAM,qBAAqB,GAAG,qBAAqB,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IACjF,MAAM,2BAA2B,GAAG,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;IACzE,MAAM,gCAAgC,GAAG,OAAO,CAC9C,MAAM,CAAC,yBAAyB;WAC7B,CAAC,CAAC,2BAA2B;eAC3B,MAAM,CAAC,sBAAsB,KAAK,2BAA2B,CAAC,CACpE,CAAC;IAEF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC;YACjB,WAAW;YACX,UAAU;YACV,KAAK,EAAE,iBAAiB;YACxB,WAAW;YACX,OAAO;YACP,SAAS;YACT,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,4WAA4W;SAC9X,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gCAAgC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC1E,OAAO,WAAW,CAAC;YACjB,WAAW;YACX,UAAU;YACV,KAAK,EAAE,yBAAyB;YAChC,WAAW;YACX,OAAO;YACP,SAAS;YACT,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,0BAA0B,GAAG,OAAO,CACxC,gCAAgC;eAC7B,MAAM,CAAC,KAAK;eACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;eACpC,aAAa;eACb,gCAAgC,CACpC,CAAC;QACF,IAAI,0BAA0B;YAAE,aAAa,GAAG,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;YACjB,WAAW;YACX,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,WAAW;YACX,OAAO;YACP,SAAS;YACT,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC;YACjB,WAAW;YACX,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,WAAW;YACX,OAAO;YACP,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,YAAqG,CAAC;IAC1G,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,YAAY,CAC/B,MAAM,EACN,OAAO,EACP;gBACE,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,eAAe,EAAE,aAAa;gBAC9B,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;gBAC3D,MAAM,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM;gBAC/C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;gBAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,KAAK;aACjB,EACD,SAAS,EACT,OAAO,EACP,aAAa,CAAC,MAAM,EACpB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAC1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB;mBACtD,CAAC,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAC5C,IAAI,IAAA,2CAAqB,EAAC,KAAK,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC5D,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5G,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,YAAY,CAAC,SAAS;YAAE,MAAM;QAClC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;YAC5C,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,MAAM,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC9E,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;YAC5C,OAAO,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;IAE5C,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,IAAI;QACpB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,gBAAgB,EAAE;YAChB,GAAG,OAAO;YACV,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,MAA0C,EAC1C,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,GAAG,GACP,GAAG,OAAO,oBAAoB;QAC9B,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,OAAe,EACf,MAAkD,EAClD,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,MAAM,EACN,OAAO,EACP;QACE,MAAM,EAAE,iBAAiB,QAAQ,OAAO;QACxC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,MAAM,EAAE,QAAQ,KAAK,KAAK;SACtC;KACF,EACD,SAAS,EACT,OAAO,EACP,MAAM,CACP,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,oBAAoB,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpG,MAAM,YAAY,GAAmC;QACnD,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,uBAAuB,EAAE,CAAC;QAC1B,KAAK,EAAE,CAAC;KACT,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,MAA+B,EAAyB,EAAE;QAClG,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,IAAI,KAAK,KAAK,yBAAyB,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;YACvE,OAAO,yBAAyB,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9G,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,4EAA4E;QAC5E,OAAO,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,GAAqB;QAClC,sBAAsB;QACtB,cAAc;QACd,iBAAiB;KAClB,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2B,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC7D,MAAM,mCAAmC,GAAG,CAAC,YAAY,EAAE,KAAK,KAAK,KAAK,IAAI,YAAY,EAAE,SAAS,CAAC;WACjG,sBAAsB,KAAK,OAAO;WAClC,sBAAsB,KAAK,yBAAyB,CAAC;IAC1D,MAAM,2BAA2B,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,KAAK,KAAK;WACjE,cAAc,KAAK,OAAO;WAC1B,cAAc,KAAK,yBAAyB,CAAC;IAClD,IAAI,mCAAmC,IAAI,2BAA2B,EAAE,CAAC;QACvE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,YAAY,EAAE,WAAW,EAAE,uBAAuB,IAAI,OAAO,CAAC,YAAY,EAAE,uBAAuB,EAAE,CAAC;QACxG,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACnG,SAAS,CACV,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,yBAAyB,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;QAC1D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,OAAO;QACnG,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,YAAY,EAAE,aAAa;WACtC,YAAY,EAAE,iBAAiB;WAC/B,YAAY,EAAE,QAAQ;WACtB,OAAO,CAAC,YAAY,EAAE,SAAS;WAC/B,UAAU;WACV,OAAO,CAAC,cAAc;WACtB,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,QAAQ,GAA8B,WAAW;QACrD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,KAAK,MAAM;YACnB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK,CAAC;QACtF,CAAC,CAAC,CAAC;gBACC,QAAQ;gBACR,OAAO;gBACP,OAAO,EAAE,WAAW,QAAQ,EAAE;gBAC9B,cAAc,EAAE,YAAY,EAAE,iBAAiB,IAAI,SAAS;aAC7D,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,QAAQ;QACR,cAAc;QACd,SAAS,EAAE;YACT,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;YAC/C,UAAU,EAAE,IAAI;SACjB;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAe,EACf,MAAyB,EACzB,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE;QAChE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,SAAS;SACtB,CAAC;QACF,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAQlB,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM;QAChF,CAAC,CAAC,KAAK,CAAC,YAAY;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,aAAa,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,MAAM,GAAG;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC3C,MAAM;QACN,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KAC9F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO;QACL,MAAM;QACN,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,WAAW;QACzB,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,aAAa;QAC7B,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpI,WAAW,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI;QACrE,aAAa,EAAE,KAAK,CAAC,aAAa;KAChB,CAAC;AACvB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mCAAmC,EAAE;QACrE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5D,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,oEAAoE;AAE7D,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,OAAe,EACf,MAgBC,EACD,SAAkB,EAClB,OAAgB;IAEhB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE7E,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,wBAAwB,EAAE;gBAC1D,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM;gBAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,MAAM,EAAE,EAAE;gBAC3D,MAAM,EAAE,KAAK;gBACb,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,MAAM,QAAQ,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ,EAAE,MAAM,CAAC,OAAO;oBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YACnG,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvF,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC1E,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,cAAc,cAAc,cAAc,OAAO,EAAE;gBACpG,MAAM,EAAE,KAAK;gBACb,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,cAAc,EAAE,MAAM,CAAC,aAAa;oBACpC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,MAAM,CAAC,WAAW;oBACjC,cAAc,EAAE,MAAM,CAAC,aAAa;iBACrC,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM;gBAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,MAAM,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrG,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD;YACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IACzE,CAAC;AACH,CAAC;AAED,2DAA2D;AAE3D;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,eAAe,EAAE;QACjD,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,OAAe,EACf,SAAiB,IAAI,EACrB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qBAAqB,IAAI,EAAE,EAAE;QAC7D,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,OAAe,EACf,SAAiB,IAAI,EACrB,aAAsB,EACtB,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;QAC/E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5D,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,OAAgB,IAAI,EACpB,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE,EAAE,EAAE;QACzD,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5D,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO;QAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qBAAqB,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;QACzE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5D,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,OAAe,EACf,SAAiB,IAAI,EACrB,aAAsB,EACtB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;QAC/E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,KAAiC,EACjC,SAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG;QACX,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;KAC1C,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE;QAChE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,OAAe,EACf,KAAgC,EAChC,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,OAAe,EACf,KAAgC,EAChC,SAAkB,EAClB,OAAgB,EAChB,MAAoB,EACpB,sBAA+B;IAE/B,MAAM,IAAI,GAAG;QACX,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;KAC1C,CAAC;IACF,MAAM,cAAc,GAAG,sBAAsB,IAAI,eAAe,IAAA,wBAAU,GAAE,EAAE,CAAC;IAC/E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;YAC/D,iBAAiB,EAAE,cAAc;SAClC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/E,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,OAAe,EACf,KAA+B,EAC/B,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,IAAI,GAAG;QACX,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;KAC1C,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,KAQC,EACD,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IAChG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;WACrC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;WACjC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,UAAU,CAAC,uEAAuE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAA6B;QACjD,SAAS,EAAE,IAAA,4BAAmB,EAAC,YAAY,CAAC,SAAS,CAAC;QACtD,GAAG,CAAC,OAAO,YAAY,CAAC,YAAY,KAAK,QAAQ;YAC/C,CAAC,CAAC,EAAE,YAAY,EAAE,IAAA,4BAAmB,EAAC,YAAY,CAAC,YAAY,CAAC,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,WAAW,EAAE,8BAA8B,CACzC,QAAQ,CAAC,WAAW,EACpB,2BAA2B,EAC3B,aAAa,CACd;YACD,QAAQ,EAAE,8BAA8B,CACtC,QAAQ,CAAC,QAAQ,EACjB,2BAA2B,EAC3B,UAAU,CACX;YACD,MAAM,EAAE,IAAA,4BAAmB,EAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,GAAG,CAAC,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;gBACxC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAA,4BAAmB,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,QAAQ,CAAC,uBAAuB,KAAK,SAAS;gBACvD,CAAC,CAAC,EAAE,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC;oBACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC7C,IAAI,EAAE,8BAA8B,CAClC,QAAQ,CAAC,IAAI,EACb,8BAA8B,EAC9B,eAAe,CAChB;wBACD,SAAS,EAAE,8BAA8B,CACvC,QAAQ,CAAC,SAAS,EAClB,mCAAmC,EACnC,oBAAoB,CACrB;qBACF,CAAC,CAAC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;KACR,CAAC;IACF,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;QACzC,MAAM,EAAE,IAAA,4BAAmB,EAAC,MAAM,IAAI,2CAA2C,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC9G,IAAI,EAAE,IAAI,IAAI,cAAc;QAC5B,QAAQ,EAAE,QAAQ,IAAI,OAAO;QAC7B,UAAU,EAAE,UAAU,IAAI,SAAS;QACnC,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,6BAAoB,EAAC,OAAO,CAA4B,CAAC,CAAC,CAAC,SAAS;QACvF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAA,6BAAoB,EAAC,KAAK,CAA4B,CAAC,CAAC,CAAC,SAAS;QACjF,YAAY,EAAE,gBAAgB;KAC/B,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oCAAoC,EAAE;QACtE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,+BAA+B,EAAE;QACjE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2CAA2C,EAAE;QAC7E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oDAAoD,EAAE;QACtF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,OAAe,EACf,UAAgD,EAAE,EAClD,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gCAAgC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5G,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAAe,EACf,UAAqD,EAAE,EACvD,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,UAAU;QAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mCAAmC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/G,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9G,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAmB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YACnG,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qCAAqC,EAAE;YACvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,+BAA+B,OAAO,UAAU,EAAE;YAClF,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qCAAqC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACrH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,6BAAoB,EAAC;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oCAAoC,EAAE;YACtE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG;QACrB,oBAAoB;QACpB,sBAAsB;QACtB,aAAa;QACb,UAAU;QACV,WAAW;KACZ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC5G,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2CAA2C,MAAM,EAAE,EAAE;YACrF,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;SACtE,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,+BAA+B,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,+BAA+B,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChF,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,6BAAoB,EAAC;QAChC,kBAAkB,EAAE,gBAAgB;QACpC,oBAAoB,EAAE,gCAAgC,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAClF,WAAW,EAAE,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC;QAC1D,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,yCAAyC,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,6BAA6B,CACjD,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2BAA2B,EAAE;QAC7D,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2BAA2B,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,kCAAkC,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAAe,EACf,QAAiC,EAAE,EACnC,SAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG;QACX,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;KAC1C,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,OAAe,EACf,SAAiB,IAAI,EACrB,aAAsB,EACtB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,aAAa,IAAI,OAAO;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mCAAmC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;QACpF,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,OAAe,EACf,UAA+E,EAAE,EACjF,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,IAAI;QAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAChG,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,6BAA6B,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACrB,GAAG,KAAK;YACR,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,IAAI,EAAE,CAAC;YACjD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAiB,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,EAAE;QACtD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACrB,GAAG,KAAK;YACR,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,OAAO,IAAI,EAAE,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,SAAiB,EACjB,KAA8B,EAC9B,SAAkB,EAClB,OAAgB;IAEhB,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,sBAAsB,MAAM,EAAE,EAAE;QAChE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnE,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/E,cAAc,EAAE,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,UAAiE,EAAE,EACnE,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM;QAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,4BAA4B,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QACxG,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5D,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;QACnD,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAAe,EACf,iBAA0B,KAAK,EAC/B,SAAkB,EAClB,OAAgB,EAChB,MAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;QAC1D,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,OAAe,EACf,KAAqB,EACrB,SAAkB,EAClB,OAAgB;IAEhB,OAAO,IAAA,sCAAoB,EAAC;QAC1B,MAAM;QACN,OAAO;QACP,KAAK,EAAE;YACL,GAAG,KAAK;YACR,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;SACpC;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,UAAkB,EAClB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,MAAM,EAAE,EAAE;QAC7E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,OAAe,EACf,UAAkB,EAClB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,+BAA+B,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,gEAAgE;AAEhE;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,MAAiE,EACjE,SAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,MAAM,EAAE,QAAQ;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,QAAQ;QAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,OAAe,EACf,IAAY,EACZ,SAAkB,EAClB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,QAAQ,UAAU,EAAE;QACrE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getmarrow/mcp",
3
- "version": "3.9.79",
3
+ "version": "3.9.81",
4
4
  "mcpName": "io.github.getmarrow/marrow",
5
5
  "description": "Runtime control, proof, and fleet intelligence for MCP-compatible AI agents.",
6
6
  "bin": {
@@ -3,18 +3,26 @@ const { spawn } = require('node:child_process');
3
3
  const { randomUUID } = require('node:crypto');
4
4
  const { performance } = require('node:perf_hooks');
5
5
  const { resolve } = require('node:path');
6
- const { version: packageVersion } = require('../package.json');
7
- const { MARROW_AUTO_RESPONSE_BUDGET_MAX_MS } = require('../dist/index.js');
6
+ let packageVersion;
7
+ let MARROW_AUTO_RESPONSE_BUDGET_MAX_MS;
8
+ let configurationFailed = false;
9
+ try {
10
+ ({ version: packageVersion } = require('../package.json'));
11
+ ({ MARROW_AUTO_RESPONSE_BUDGET_MAX_MS } = require('../dist/index.js'));
12
+ } catch {
13
+ // A missing/broken build must still reach the CLI's bounded failure handler.
14
+ configurationFailed = true;
15
+ }
8
16
 
9
17
  const CANARY_TOOL_TIMEOUT_MARGIN_MS = 2_000;
10
18
  const CANARY_TOOL_TIMEOUT_MAX_MS = 10_000;
11
19
  const CANARY_DEFAULT_TOOL_TIMEOUT_MS = Math.min(
12
20
  CANARY_TOOL_TIMEOUT_MAX_MS,
13
- MARROW_AUTO_RESPONSE_BUDGET_MAX_MS + CANARY_TOOL_TIMEOUT_MARGIN_MS,
21
+ (MARROW_AUTO_RESPONSE_BUDGET_MAX_MS || 8_000) + CANARY_TOOL_TIMEOUT_MARGIN_MS,
14
22
  );
15
23
 
16
24
  if (CANARY_DEFAULT_TOOL_TIMEOUT_MS < MARROW_AUTO_RESPONSE_BUDGET_MAX_MS + CANARY_TOOL_TIMEOUT_MARGIN_MS) {
17
- throw new Error('MCP canary timeout ceiling cannot contain the bounded marrow_auto budget');
25
+ configurationFailed = true;
18
26
  }
19
27
 
20
28
  function canaryCases(operationId) {
@@ -49,6 +57,68 @@ const HOT_PATH_TOOLS = new Set([
49
57
  'marrow_auto',
50
58
  ]);
51
59
  const OUTPUT_LIMIT_BYTES = 256 * 1024;
60
+ const TOOL_NAMES = new Set(canaryCases('').map(([name]) => name));
61
+ const errorEvidence = new WeakMap();
62
+ const failureRecords = new WeakMap();
63
+
64
+ function canaryError(errorClass, message = errorClass, httpStatus) {
65
+ const error = new Error(message);
66
+ errorEvidence.set(error, { error_class: errorClass, http_status: httpStatus });
67
+ return error;
68
+ }
69
+
70
+ function upstreamError(payload, fallback, message) {
71
+ const statuses = [payload?.http_status, payload?.status, payload?.status_code,
72
+ payload?.error?.http_status, payload?.error?.status, payload?.error?.status_code];
73
+ const status = statuses.find((value) => Number.isInteger(value) && value >= 100 && value <= 599);
74
+ const code = payload?.error?.code ?? payload?.error_code ?? payload?.code;
75
+ let errorClass = fallback;
76
+ if (status === 401 || ['UNAUTHORIZED', 'AUTH_REQUIRED', 'AUTHENTICATION_REQUIRED', 'INVALID_API_KEY', 'API_KEY_REQUIRED', 'unauthorized', 'invalid_api_key', 'authentication_required'].includes(code)) {
77
+ errorClass = 'authentication';
78
+ } else if (status === 403 || ['FORBIDDEN', 'PERMISSION_DENIED', 'INSUFFICIENT_PERMISSIONS', 'PLAN_REQUIRED', 'UPGRADE_REQUIRED', 'forbidden', 'permission_denied', 'plan_required'].includes(code)) {
79
+ errorClass = 'authorization';
80
+ } else if (status === 503 || code === 'HTTP_503' || code === 'http_503') {
81
+ errorClass = 'unavailable503';
82
+ }
83
+ return canaryError(errorClass, message, status);
84
+ }
85
+
86
+ function safeVersion(value) {
87
+ return typeof value === 'string' && value.length <= 64
88
+ && /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(value) ? value : null;
89
+ }
90
+
91
+ function safeMs(value) {
92
+ return Number.isFinite(value) ? Math.max(0, Math.min(60_000, Math.round(value))) : 0;
93
+ }
94
+
95
+ function failureRecord(error, context = {}) {
96
+ const evidence = errorEvidence.get(error) || { error_class: 'internal' };
97
+ const results = (context.results || []).slice(0, 11).map((row) => Object.freeze({
98
+ tool: row.tool, ok: true, live: true, latency_ms: safeMs(row.latency_ms),
99
+ }));
100
+ return Object.freeze({
101
+ schema_version: 1,
102
+ ok: false,
103
+ stage: context.stage || 'setup',
104
+ tool: TOOL_NAMES.has(context.tool) ? context.tool : null,
105
+ error_class: evidence.error_class,
106
+ package_version: safeVersion(context.version),
107
+ expected_version: safeVersion(context.expectedVersion),
108
+ attempt: Math.max(0, Math.min(3, context.attempt || 0)),
109
+ latency_ms: safeMs(performance.now() - (context.stageStarted ?? performance.now())),
110
+ total_latency_ms: safeMs(performance.now() - (context.started ?? performance.now())),
111
+ process_count: context.processCount === 1 ? 1 : 0,
112
+ initialization_ms: context.initializationMs == null ? null : safeMs(context.initializationMs),
113
+ tools_checked: results.length,
114
+ results: Object.freeze(results),
115
+ ...(evidence.http_status === undefined ? {} : { http_status: evidence.http_status }),
116
+ });
117
+ }
118
+
119
+ function serializeFailure(error) {
120
+ return JSON.stringify(failureRecords.get(error) || failureRecord(error));
121
+ }
52
122
 
53
123
  function boundedMs(name, fallback, minimum = 100, maximum = 10_000, env = process.env) {
54
124
  const parsed = Number(env[name] || fallback);
@@ -73,26 +143,25 @@ function latencyGroup(rows) {
73
143
  }
74
144
 
75
145
  function toolPayload(message, name) {
76
- if (!message) throw new Error(`${name} returned no MCP tool response`);
77
- if (message.error) throw new Error(`${name} returned JSON-RPC error ${message.error.code}`);
146
+ if (!message) throw canaryError('contract', 'Missing MCP tool response');
147
+ if (message.error) throw upstreamError(message, 'protocol', 'MCP JSON-RPC error');
78
148
  const result = message.result || {};
79
149
  const text = result.content?.[0]?.text;
80
- if (typeof text !== 'string' || !text.trim()) throw new Error(`${name} returned no MCP tool payload`);
150
+ if (typeof text !== 'string' || !text.trim()) throw canaryError('contract', 'Missing MCP tool payload');
81
151
  let payload;
82
- try { payload = JSON.parse(text); } catch { throw new Error(`${name} returned invalid tool JSON`); }
152
+ try { payload = JSON.parse(text); } catch { throw canaryError('contract', 'Invalid tool JSON'); }
83
153
  if (!payload || typeof payload !== 'object' || Array.isArray(payload) || Object.keys(payload).length === 0) {
84
- throw new Error(`${name} returned an empty or invalid tool payload`);
154
+ throw canaryError('contract', 'Empty or invalid tool payload');
85
155
  }
86
156
  if (result.isError || payload.ok === false || payload.available === false) {
87
- const code = payload.error?.code || payload.error_code || 'tool_unavailable';
88
- throw new Error(`${name} unavailable (${code})`);
157
+ throw upstreamError(payload, 'tool_unavailable', 'MCP tool unavailable');
89
158
  }
90
159
  return payload;
91
160
  }
92
161
 
93
162
  function validatePayload(name, payload) {
94
163
  const requireField = (valid, field) => {
95
- if (!valid) throw new Error(`${name} returned an invalid ${field} contract`);
164
+ if (!valid) throw canaryError('contract', `${name} returned an invalid ${field} contract`);
96
165
  };
97
166
  if (name === 'marrow_status' || name === 'marrow_runtime_status') {
98
167
  requireField(
@@ -160,27 +229,34 @@ class PersistentMcpClient {
160
229
 
161
230
  start() {
162
231
  if (this.child) return;
163
- this.child = this.spawnProcess(this.command, this.args, {
164
- env: this.env,
165
- stdio: ['pipe', 'pipe', 'pipe'],
166
- });
232
+ try {
233
+ this.child = this.spawnProcess(this.command, this.args, {
234
+ env: this.env,
235
+ stdio: ['pipe', 'pipe', 'pipe'],
236
+ });
237
+ } catch { throw canaryError('process_spawn', 'MCP child spawn failed'); }
167
238
  this.child.stdout.setEncoding('utf8');
168
239
  this.child.stdout.on('data', (chunk) => this.onStdout(chunk));
169
240
  this.child.stderr.on('data', (chunk) => {
170
241
  this.stderrBytes += Buffer.byteLength(chunk);
171
- if (this.stderrBytes > this.maxOutputBytes) this.abort(new Error('MCP child exceeded stderr limit'));
242
+ if (this.stderrBytes > this.maxOutputBytes) this.abort(canaryError('output_limit', 'MCP child exceeded stderr limit'));
172
243
  });
173
- this.child.once('error', (error) => this.abort(new Error(`MCP child failed: ${error.code || 'process_error'}`)));
244
+ this.child.stdin.on?.('error', () => this.abort(canaryError('process_write', 'MCP child write failed')));
245
+ this.child.once('error', () => this.abort(canaryError('process_spawn', 'MCP child spawn failed')));
174
246
  this.child.once('exit', (code, signal) => {
175
247
  this.closed = true;
176
- if (this.pending.size > 0) this.rejectAll(new Error(`MCP child exited ${code ?? signal ?? 'unknown'}`));
248
+ const expectedExit = (code === 0 && !signal)
249
+ || (this.cleanupKillRequested && code === null && signal === 'SIGKILL');
250
+ if (this.stopping && expectedExit && this.pending.size === 0 && !this.fatalError) return;
251
+ this.fatalError ||= canaryError('process_exit', 'MCP child exited');
252
+ this.rejectAll(this.fatalError);
177
253
  });
178
254
  }
179
255
 
180
256
  onStdout(chunk) {
181
257
  this.stdoutBuffer += chunk;
182
258
  if (Buffer.byteLength(this.stdoutBuffer) > this.maxOutputBytes) {
183
- this.abort(new Error('MCP child exceeded stdout limit'));
259
+ this.abort(canaryError('output_limit', 'MCP child exceeded stdout limit'));
184
260
  return;
185
261
  }
186
262
  for (;;) {
@@ -191,13 +267,19 @@ class PersistentMcpClient {
191
267
  if (!line) continue;
192
268
  let message;
193
269
  try { message = JSON.parse(line); } catch {
194
- this.abort(new Error('MCP child emitted malformed JSON'));
270
+ this.abort(canaryError('protocol', 'MCP child emitted malformed JSON'));
271
+ return;
272
+ }
273
+ if (!message || typeof message !== 'object' || Array.isArray(message) || message.jsonrpc !== '2.0'
274
+ || (message.id !== undefined && (!Number.isSafeInteger(message.id)
275
+ || (Object.hasOwn(message, 'result') === Object.hasOwn(message, 'error'))))) {
276
+ this.abort(canaryError('protocol', 'MCP child emitted malformed JSON-RPC'));
195
277
  return;
196
278
  }
197
279
  if (!Number.isSafeInteger(message.id)) continue;
198
280
  const pending = this.pending.get(message.id);
199
281
  if (!pending) {
200
- this.abort(new Error(`MCP child returned unexpected response id ${message.id}`));
282
+ this.abort(canaryError('protocol', 'MCP child returned unexpected response id'));
201
283
  return;
202
284
  }
203
285
  clearTimeout(pending.timer);
@@ -207,25 +289,30 @@ class PersistentMcpClient {
207
289
  }
208
290
 
209
291
  request(method, params = {}, timeoutMs = this.timeoutMs) {
292
+ if (this.fatalError) return Promise.reject(this.fatalError);
210
293
  if (!this.child || this.closed || !this.child.stdin.writable) {
211
- return Promise.reject(new Error('MCP child is not writable'));
294
+ return Promise.reject(canaryError('process_write', 'MCP child is not writable'));
212
295
  }
213
296
  const id = this.nextId++;
214
297
  return new Promise((resolveRequest, rejectRequest) => {
215
298
  const timer = setTimeout(() => {
216
299
  this.pending.delete(id);
217
- const error = new Error(`${method} timed out`);
300
+ const error = canaryError('request_timeout', `${method} timed out`);
218
301
  rejectRequest(error);
219
302
  this.abort(error);
220
303
  }, timeoutMs);
221
304
  this.pending.set(id, { resolve: resolveRequest, reject: rejectRequest, timer });
222
- this.child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', id, method, params })}\n`, (error) => {
305
+ const onWrite = (error) => {
223
306
  if (!error) return;
224
307
  clearTimeout(timer);
225
308
  this.pending.delete(id);
226
- rejectRequest(new Error(`${method} write failed`));
227
- this.abort(error);
228
- });
309
+ const failure = canaryError('process_write', `${method} write failed`);
310
+ rejectRequest(failure);
311
+ this.abort(failure);
312
+ };
313
+ try {
314
+ this.child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', id, method, params })}\n`, onWrite);
315
+ } catch (error) { onWrite(error); }
229
316
  });
230
317
  }
231
318
 
@@ -238,16 +325,28 @@ class PersistentMcpClient {
238
325
  }
239
326
 
240
327
  abort(error) {
241
- this.rejectAll(error instanceof Error ? error : new Error('MCP child aborted'));
242
- if (this.child && !this.closed) this.child.kill('SIGKILL');
328
+ this.fatalError ||= error instanceof Error ? error : canaryError('internal');
329
+ this.rejectAll(this.fatalError);
330
+ if (this.child && !this.closed) {
331
+ try { this.child.kill('SIGKILL'); } catch { /* Preserve the original failure. */ }
332
+ }
243
333
  }
244
334
 
245
335
  async stop() {
246
- if (!this.child || this.closed) return;
336
+ if (!this.child || this.closed) {
337
+ if (this.fatalError) throw this.fatalError;
338
+ return;
339
+ }
340
+ this.stopping = true;
247
341
  this.child.stdin.end();
248
342
  await new Promise((resolveExit) => {
249
343
  const timer = setTimeout(() => {
250
- if (!this.closed) this.child.kill('SIGKILL');
344
+ if (!this.closed) {
345
+ // The bounded cleanup deadline intentionally ends an otherwise healthy
346
+ // child. This signal is ours; actual protocol/write errors remain fatal.
347
+ this.cleanupKillRequested = true;
348
+ try { this.child.kill('SIGKILL'); } catch { this.cleanupKillRequested = false; }
349
+ }
251
350
  resolveExit();
252
351
  }, 500);
253
352
  this.child.once('exit', () => {
@@ -255,12 +354,28 @@ class PersistentMcpClient {
255
354
  resolveExit();
256
355
  });
257
356
  });
357
+ if (this.fatalError) throw this.fatalError;
258
358
  }
259
359
  }
260
360
 
261
361
  async function runCanary(env = process.env, options = {}) {
362
+ const started = performance.now();
363
+ const context = { started, stageStarted: started, stage: 'setup', results: [],
364
+ expectedVersion: env.MARROW_EXPECTED_MCP_VERSION || packageVersion };
365
+ try {
366
+ return await executeCanary(env, options, context);
367
+ } catch (caught) {
368
+ const error = errorEvidence.has(caught) ? caught : canaryError('internal');
369
+ error.failure = failureRecord(error, context);
370
+ failureRecords.set(error, error.failure);
371
+ throw error;
372
+ }
373
+ }
374
+
375
+ async function executeCanary(env, options, context) {
376
+ if (configurationFailed) throw canaryError('configuration', 'MCP canary build configuration failed');
262
377
  const key = env.MARROW_API_KEY || '';
263
- if (!key) throw new Error('MARROW_API_KEY is required for the authenticated MCP control-path canary');
378
+ if (!key) throw canaryError('authentication', 'MARROW_API_KEY is required for the authenticated MCP control-path canary');
264
379
  const toolTimeoutMs = boundedMs(
265
380
  'MARROW_MCP_CANARY_TOOL_TIMEOUT_MS',
266
381
  CANARY_DEFAULT_TOOL_TIMEOUT_MS,
@@ -291,30 +406,47 @@ async function runCanary(env = process.env, options = {}) {
291
406
  env: childEnv,
292
407
  spawnProcess: options.spawnProcess,
293
408
  });
294
- const totalTimer = setTimeout(() => client.abort(new Error('MCP canary total timeout')), totalTimeoutMs);
409
+ const totalTimer = setTimeout(() => client.abort(canaryError('total_timeout', 'MCP canary total timeout')), totalTimeoutMs);
295
410
  const processStarted = performance.now();
296
411
  const cases = canaryCases(`canary_${randomUUID()}`);
297
- client.start();
412
+ const stage = (value, tool = null, attempt = 0) => {
413
+ Object.assign(context, { stage: value, tool, attempt, stageStarted: performance.now() });
414
+ };
415
+ let failed = false;
298
416
  try {
417
+ stage('spawn');
418
+ client.start();
419
+ context.processCount = 1;
420
+ stage('initialize', null, 1);
299
421
  const initialized = await client.request('initialize', {}, toolTimeoutMs + 3_000);
300
- if (initialized.error) throw new Error(`MCP initialize failed ${initialized.error.code}`);
422
+ if (client.fatalError) throw client.fatalError;
423
+ if (initialized.error) throw upstreamError(initialized, 'protocol', 'MCP initialize failed');
301
424
  const version = initialized.result?.serverInfo?.version;
302
- if (!version) throw new Error('MCP initialize produced no version');
303
- if (version !== expectedVersion) throw new Error(`MCP canary loaded ${version} instead of expected ${expectedVersion}`);
425
+ context.version = version;
426
+ if (typeof version !== 'string' || !version) throw canaryError('contract', 'MCP initialize produced no version');
427
+ if (version !== expectedVersion) throw canaryError('package_mismatch', 'MCP canary package version mismatch');
428
+ stage('tools_list', null, 1);
304
429
  const listed = await client.request('tools/list', {});
305
- if (listed.error) throw new Error(`MCP tools/list failed ${listed.error.code}`);
306
- const names = new Set((listed.result?.tools || []).map((tool) => tool.name));
430
+ if (client.fatalError) throw client.fatalError;
431
+ if (listed.error) throw upstreamError(listed, 'protocol', 'MCP tools/list failed');
432
+ if (!Array.isArray(listed.result?.tools)) throw canaryError('contract', 'MCP tools/list missing tools');
433
+ const names = new Set(listed.result.tools.map((tool) => tool?.name));
307
434
  for (const [name] of cases) {
308
- if (!names.has(name)) throw new Error(`${name} is missing from the full MCP contract`);
435
+ if (!names.has(name)) throw canaryError('contract', `${name} is missing from the full MCP contract`);
309
436
  }
310
437
  const initializationMs = Math.round(performance.now() - processStarted);
311
- const results = [];
438
+ context.initializationMs = initializationMs;
439
+ const results = context.results;
312
440
  for (const [name, args] of cases) {
313
441
  const callStarted = performance.now();
314
442
  let called;
315
443
  let payload;
316
444
  for (let attempt = 0; attempt < 3; attempt += 1) {
445
+ if (client.fatalError) throw client.fatalError;
446
+ stage('tool_call', name, attempt + 1);
317
447
  called = await client.request('tools/call', { name, arguments: args });
448
+ if (client.fatalError) throw client.fatalError;
449
+ stage('tool_validate', name, attempt + 1);
318
450
  payload = toolPayload(called, name);
319
451
  if (name !== 'marrow_auto' || payload.live_delivery?.committed === true || payload.resumable !== true) break;
320
452
  if (attempt < 2) {
@@ -326,11 +458,12 @@ async function runCanary(env = process.env, options = {}) {
326
458
  const latencyMs = Math.round(performance.now() - callStarted);
327
459
  validatePayload(name, payload);
328
460
  const live = payload.stale !== true && payload.source !== 'last_known' && payload.available !== false;
329
- if (!live) throw new Error(`${name} returned cached or unavailable guidance`);
461
+ if (!live) throw canaryError('contract', `${name} returned cached or unavailable guidance`);
330
462
  results.push({ tool: name, ok: true, live: true, latency_ms: latencyMs });
331
463
  }
332
464
  const hotPath = results.filter((row) => HOT_PATH_TOOLS.has(row.tool));
333
465
  const reports = results.filter((row) => !HOT_PATH_TOOLS.has(row.tool));
466
+ stage('shutdown');
334
467
  return {
335
468
  ok: true,
336
469
  package_version: version,
@@ -344,9 +477,14 @@ async function runCanary(env = process.env, options = {}) {
344
477
  },
345
478
  results,
346
479
  };
480
+ } catch (error) {
481
+ failed = true;
482
+ throw error;
347
483
  } finally {
348
484
  clearTimeout(totalTimer);
349
- await client.stop();
485
+ try { await client.stop(); } catch (error) {
486
+ if (!failed) throw errorEvidence.has(error) ? error : canaryError('process_write', 'MCP child shutdown failed');
487
+ }
350
488
  }
351
489
  }
352
490
 
@@ -354,7 +492,8 @@ if (require.main === module) {
354
492
  runCanary().then((result) => {
355
493
  process.stdout.write(`${JSON.stringify(result)}\n`);
356
494
  }).catch((error) => {
357
- process.stderr.write(`MCP_CONTROL_PATH_CANARY=FAIL ${error instanceof Error ? error.message : 'unknown_error'}\n`);
495
+ process.stdout.write(`${serializeFailure(error)}\n`);
496
+ process.stderr.write('MCP_CONTROL_PATH_CANARY=FAIL\n');
358
497
  process.exitCode = 1;
359
498
  });
360
499
  }
@@ -367,4 +506,5 @@ module.exports = {
367
506
  latencyGroup,
368
507
  percentile,
369
508
  runCanary,
509
+ serializeFailure,
370
510
  };
@@ -5,32 +5,52 @@ const path = require('node:path')
5
5
 
6
6
  const root = path.resolve(__dirname, '..')
7
7
  const server = JSON.parse(fs.readFileSync(path.join(root, 'server.json'), 'utf8'))
8
- const endpoint = new URL('https://registry.modelcontextprotocol.io/v0.1/servers')
9
- endpoint.searchParams.set('search', server.name)
8
+ const endpoint = new URL(
9
+ `https://registry.modelcontextprotocol.io/v0.1/servers/${encodeURIComponent(server.name)}/versions/${encodeURIComponent(server.version)}`,
10
+ )
10
11
 
11
12
  function identity(entry) {
12
13
  const candidate = entry && typeof entry === 'object' && entry.server && typeof entry.server === 'object'
13
14
  ? entry.server
14
15
  : entry
15
- return {
16
- name: candidate && typeof candidate.name === 'string' ? candidate.name : '',
17
- version: candidate && typeof candidate.version === 'string' ? candidate.version : '',
18
- }
16
+ if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate)
17
+ || typeof candidate.name !== 'string' || candidate.name.length === 0
18
+ || typeof candidate.version !== 'string' || candidate.version.length === 0) return null
19
+ return { name: candidate.name, version: candidate.version }
19
20
  }
20
21
 
21
- async function main() {
22
- const response = await fetch(endpoint, { headers: { Accept: 'application/json' }, signal: AbortSignal.timeout(10_000) })
22
+ async function verifyRegistry(fetchImpl = globalThis.fetch) {
23
+ let response
24
+ try {
25
+ response = await fetchImpl(endpoint, { headers: { Accept: 'application/json' }, signal: AbortSignal.timeout(10_000) })
26
+ } catch {
27
+ throw new Error('MCP Registry query is unavailable')
28
+ }
23
29
  if (!response.ok) throw new Error(`MCP Registry query failed with HTTP ${response.status}`)
24
- const body = await response.json()
25
- const entries = Array.isArray(body?.servers) ? body.servers : []
26
- const match = entries.map(identity).find((entry) => entry.name === server.name && entry.version === server.version)
27
- if (!match) {
28
- throw new Error(`MCP Registry is missing ${server.name}@${server.version}`)
30
+ let body
31
+ try {
32
+ body = await response.json()
33
+ } catch {
34
+ throw new Error('MCP Registry response is malformed')
29
35
  }
36
+ const match = identity(body)
37
+ if (!match) throw new Error('MCP Registry response is malformed')
38
+ if (match.name !== server.name || match.version !== server.version) {
39
+ throw new Error('MCP Registry identity mismatch')
40
+ }
41
+ return match
42
+ }
43
+
44
+ async function main() {
45
+ const match = await verifyRegistry()
30
46
  console.log(`MCP_REGISTRY_VERIFY=PASS name=${match.name} version=${match.version}`)
31
47
  }
32
48
 
33
- main().catch((error) => {
34
- console.error(`MCP_REGISTRY_VERIFY=FAIL reason=${error instanceof Error ? error.message : String(error)}`)
35
- process.exitCode = 1
36
- })
49
+ if (require.main === module) {
50
+ main().catch((error) => {
51
+ console.error(`MCP_REGISTRY_VERIFY=FAIL reason=${error instanceof Error ? error.message : String(error)}`)
52
+ process.exitCode = 1
53
+ })
54
+ }
55
+
56
+ module.exports = { endpoint, identity, verifyRegistry }
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/getmarrow/marrow-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "3.9.79",
9
+ "version": "3.9.81",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@getmarrow/mcp",
14
- "version": "3.9.79",
14
+ "version": "3.9.81",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },