@zackbart/connecta 0.4.0 → 0.5.0
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/CHANGELOG.md +252 -0
- package/README.md +72 -17
- package/SECURITY.md +10 -6
- package/dist/activity.d.ts +8 -0
- package/dist/activity.d.ts.map +1 -1
- package/dist/activity.js +1 -0
- package/dist/activity.js.map +1 -1
- package/dist/connectors/api.d.ts +23 -0
- package/dist/connectors/api.d.ts.map +1 -1
- package/dist/connectors/api.js +13 -1
- package/dist/connectors/api.js.map +1 -1
- package/dist/connectors/remote-mcp.d.ts +27 -1
- package/dist/connectors/remote-mcp.d.ts.map +1 -1
- package/dist/connectors/remote-mcp.js +31 -0
- package/dist/connectors/remote-mcp.js.map +1 -1
- package/dist/credentials.d.ts +2 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +4 -2
- package/dist/credentials.js.map +1 -1
- package/dist/execute.d.ts +4 -4
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js.map +1 -1
- package/dist/executors/quickjs.d.ts.map +1 -1
- package/dist/executors/quickjs.js +32 -4
- package/dist/executors/quickjs.js.map +1 -1
- package/dist/index.d.ts +51 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -1
- package/dist/index.js.map +1 -1
- package/dist/meta-tools.d.ts +25 -4
- package/dist/meta-tools.d.ts.map +1 -1
- package/dist/meta-tools.js +138 -24
- package/dist/meta-tools.js.map +1 -1
- package/dist/registry.d.ts +183 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +293 -27
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts +9 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +96 -12
- package/dist/server.js.map +1 -1
- package/dist/skills.d.ts +52 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +161 -1
- package/dist/skills.js.map +1 -1
- package/dist/storage/file.d.ts.map +1 -1
- package/dist/storage/file.js +19 -3
- package/dist/storage/file.js.map +1 -1
- package/dist/toolkits.d.ts +44 -0
- package/dist/toolkits.d.ts.map +1 -0
- package/dist/toolkits.js +134 -0
- package/dist/toolkits.js.map +1 -0
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts +29 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +100 -15
- package/dist/ui.js.map +1 -1
- package/dist/validate.d.ts +33 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +32 -2
- package/dist/validate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -2
- package/src/activity.ts +9 -0
- package/src/connectors/api.ts +36 -1
- package/src/connectors/remote-mcp.ts +67 -0
- package/src/credentials.ts +6 -3
- package/src/execute.ts +4 -4
- package/src/executors/quickjs.ts +32 -4
- package/src/index.ts +141 -2
- package/src/meta-tools.ts +215 -40
- package/src/registry.ts +416 -29
- package/src/server.ts +130 -12
- package/src/skills.ts +184 -1
- package/src/storage/file.ts +18 -2
- package/src/toolkits.ts +215 -0
- package/src/types.ts +20 -1
- package/src/ui.ts +103 -14
- package/src/validate.ts +60 -2
- package/src/version.ts +1 -1
package/dist/meta-tools.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { type ActivityRequestContext } from "./activity.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type RegistryView } from "./registry.js";
|
|
4
4
|
interface TextContent {
|
|
5
5
|
type: "text";
|
|
6
6
|
text: string;
|
|
@@ -38,6 +38,22 @@ export declare const MAX_RETRY_BACKOFF_MS = 10000;
|
|
|
38
38
|
* `runCall`. Exported for direct testing.
|
|
39
39
|
*/
|
|
40
40
|
export declare function retryBackoffMs(attempt: number, retryAfterMs: number | undefined): number | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Move a byte `end` back to the nearest UTF-8 codepoint boundary in
|
|
43
|
+
* `(offset, total]`, so decoding `bytes[offset, end)` never splits a codepoint
|
|
44
|
+
* (which would emit U+FFFD and break byte-exact reassembly). If backing up
|
|
45
|
+
* would make no progress — a single codepoint wider than the window — extend
|
|
46
|
+
* forward to the end of that codepoint instead so paging always advances.
|
|
47
|
+
* Assumes `offset` is itself a codepoint boundary (offsets are the prior
|
|
48
|
+
* `nextOffset`, which this function guarantees, and 0 is always a boundary).
|
|
49
|
+
*
|
|
50
|
+
* The return is always `> offset` while `offset < total`, whatever `end` is
|
|
51
|
+
* asked for. That is the belt-and-braces half of issue #32: cap validation
|
|
52
|
+
* keeps an empty window from arising in the first place, and this keeps an
|
|
53
|
+
* empty window from turning into a `nextOffset === offset` paging loop if one
|
|
54
|
+
* ever does. Exported for direct testing of that invariant.
|
|
55
|
+
*/
|
|
56
|
+
export declare function alignEndToCharBoundary(bytes: Uint8Array, offset: number, end: number, total: number): number;
|
|
41
57
|
export interface SearchArgs {
|
|
42
58
|
query?: string;
|
|
43
59
|
connector?: string;
|
|
@@ -70,6 +86,7 @@ export interface CallArgs {
|
|
|
70
86
|
export interface GetResultArgs {
|
|
71
87
|
id: string;
|
|
72
88
|
offset?: number;
|
|
89
|
+
/** Page size in bytes; a whole number >= 1. Defaults to the deployment cap. */
|
|
73
90
|
maxBytes?: number;
|
|
74
91
|
}
|
|
75
92
|
export interface BatchCall {
|
|
@@ -98,14 +115,17 @@ export interface SkillArgs {
|
|
|
98
115
|
/**
|
|
99
116
|
* The nine meta-tool handlers over a registry. Exported for direct testing;
|
|
100
117
|
* registerMetaTools() wires them onto an McpServer. `opts.maxResultBytes`
|
|
101
|
-
* overrides the registry's default result-size cap
|
|
118
|
+
* overrides the registry's default result-size cap (a connector's own
|
|
119
|
+
* `maxResultBytes` overrides it in turn); `opts.defaultToolTimeoutMs`
|
|
102
120
|
* supplies a deadline for calls that don't carry one. (execute_code, the
|
|
103
121
|
* optional tenth tool, is registered separately by registerExecuteTool.)
|
|
104
122
|
*/
|
|
105
|
-
export declare function createMetaTools(registry:
|
|
123
|
+
export declare function createMetaTools(registry: RegistryView, baseUrl: string, opts?: {
|
|
106
124
|
maxResultBytes?: number;
|
|
107
125
|
/** Deadline applied when a call passes no `timeoutMs`. Off when unset. */
|
|
108
126
|
defaultToolTimeoutMs?: number;
|
|
127
|
+
/** Per-connector deadline for the list/search/describe probe fan-out. Default 30_000. */
|
|
128
|
+
probeTimeoutMs?: number;
|
|
109
129
|
activity?: ActivityRequestContext;
|
|
110
130
|
}): {
|
|
111
131
|
skills(args?: SkillArgs): Promise<ToolResult>;
|
|
@@ -119,10 +139,11 @@ export declare function createMetaTools(registry: Registry, baseUrl: string, opt
|
|
|
119
139
|
authorizeConnector(args: AuthorizeArgs): Promise<ToolResult>;
|
|
120
140
|
};
|
|
121
141
|
/** Register the nine meta-tools onto an McpServer instance. */
|
|
122
|
-
export declare function registerMetaTools(server: McpServer, registry:
|
|
142
|
+
export declare function registerMetaTools(server: McpServer, registry: RegistryView, ctx: {
|
|
123
143
|
baseUrl: string;
|
|
124
144
|
maxResultBytes?: number;
|
|
125
145
|
defaultToolTimeoutMs?: number;
|
|
146
|
+
probeTimeoutMs?: number;
|
|
126
147
|
activity?: ActivityRequestContext;
|
|
127
148
|
}): void;
|
|
128
149
|
export {};
|
package/dist/meta-tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/meta-tools.js
CHANGED
|
@@ -3,7 +3,8 @@ import { compactSchema, rankTools, summarizeDescription } from "./catalog.js";
|
|
|
3
3
|
import { recordToolActivity, } from "./activity.js";
|
|
4
4
|
import { unwrapMcpResult } from "./mcp-result.js";
|
|
5
5
|
import { classifyCallError, ConnectorCallError, messageLooksRetryable, } from "./errors.js";
|
|
6
|
-
import {
|
|
6
|
+
import { isValidMaxResultBytes, MIN_MAX_RESULT_BYTES, resolveMaxResultBytes, } from "./registry.js";
|
|
7
|
+
import { connectorGuide, connectorSkillName, hasConnectorGuides, listSkills, resolveSkill, } from "./skills.js";
|
|
7
8
|
const RESULT_TTL_SECONDS = 900;
|
|
8
9
|
export function jsonResult(obj) {
|
|
9
10
|
return {
|
|
@@ -39,6 +40,33 @@ function normalizeTimeoutMs(value) {
|
|
|
39
40
|
}
|
|
40
41
|
return Math.max(1, Math.trunc(value));
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Generous default bound for a single downstream probe/catalog call in the
|
|
45
|
+
* list/search/describe fan-out. High enough to trip only on a pathological
|
|
46
|
+
* hang, not a realistically slow probe.
|
|
47
|
+
*/
|
|
48
|
+
const DEFAULT_PROBE_TIMEOUT_MS = 30_000;
|
|
49
|
+
/**
|
|
50
|
+
* Reject `promise` after `ms` if it has not settled, so one hung downstream
|
|
51
|
+
* cannot stall a whole fan-out. NOTE: this bounds only the caller-facing wait —
|
|
52
|
+
* the registry probe methods take no AbortSignal, so the underlying fetch is
|
|
53
|
+
* NOT cancelled and keeps running in the background. Real cancellation
|
|
54
|
+
* (AbortSignal plumbed through the registry) is a deferred follow-up.
|
|
55
|
+
*/
|
|
56
|
+
function withTimeout(promise, ms, label) {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
const timer = setTimeout(() => {
|
|
59
|
+
reject(new Error(`${label} timed out after ${ms}ms`));
|
|
60
|
+
}, ms);
|
|
61
|
+
promise.then((value) => {
|
|
62
|
+
clearTimeout(timer);
|
|
63
|
+
resolve(value);
|
|
64
|
+
}, (err) => {
|
|
65
|
+
clearTimeout(timer);
|
|
66
|
+
reject(err);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
42
70
|
/**
|
|
43
71
|
* How long to wait before the next attempt, or `undefined` for "don't retry".
|
|
44
72
|
*
|
|
@@ -75,16 +103,25 @@ function isContinuationByte(b) {
|
|
|
75
103
|
* forward to the end of that codepoint instead so paging always advances.
|
|
76
104
|
* Assumes `offset` is itself a codepoint boundary (offsets are the prior
|
|
77
105
|
* `nextOffset`, which this function guarantees, and 0 is always a boundary).
|
|
106
|
+
*
|
|
107
|
+
* The return is always `> offset` while `offset < total`, whatever `end` is
|
|
108
|
+
* asked for. That is the belt-and-braces half of issue #32: cap validation
|
|
109
|
+
* keeps an empty window from arising in the first place, and this keeps an
|
|
110
|
+
* empty window from turning into a `nextOffset === offset` paging loop if one
|
|
111
|
+
* ever does. Exported for direct testing of that invariant.
|
|
78
112
|
*/
|
|
79
|
-
function alignEndToCharBoundary(bytes, offset, end, total) {
|
|
113
|
+
export function alignEndToCharBoundary(bytes, offset, end, total) {
|
|
80
114
|
if (end >= total)
|
|
81
115
|
return total;
|
|
82
|
-
|
|
116
|
+
// A window that reaches no further than `offset` yields no bytes and no
|
|
117
|
+
// progress; widen it to one byte and let the codepoint walk below finish it.
|
|
118
|
+
const wanted = Math.max(end, offset + 1);
|
|
119
|
+
let e = wanted;
|
|
83
120
|
while (e > offset && isContinuationByte(bytes[e]))
|
|
84
121
|
e--;
|
|
85
122
|
if (e === offset) {
|
|
86
123
|
// Window is narrower than the codepoint at `offset`; take the whole thing.
|
|
87
|
-
e =
|
|
124
|
+
e = wanted;
|
|
88
125
|
while (e < total && isContinuationByte(bytes[e]))
|
|
89
126
|
e++;
|
|
90
127
|
}
|
|
@@ -183,13 +220,15 @@ async function guardValue(value, results, cap) {
|
|
|
183
220
|
/**
|
|
184
221
|
* The nine meta-tool handlers over a registry. Exported for direct testing;
|
|
185
222
|
* registerMetaTools() wires them onto an McpServer. `opts.maxResultBytes`
|
|
186
|
-
* overrides the registry's default result-size cap
|
|
223
|
+
* overrides the registry's default result-size cap (a connector's own
|
|
224
|
+
* `maxResultBytes` overrides it in turn); `opts.defaultToolTimeoutMs`
|
|
187
225
|
* supplies a deadline for calls that don't carry one. (execute_code, the
|
|
188
226
|
* optional tenth tool, is registered separately by registerExecuteTool.)
|
|
189
227
|
*/
|
|
190
228
|
export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
191
|
-
const
|
|
229
|
+
const globalCap = resolveMaxResultBytes(opts.maxResultBytes, registry.maxResultBytes);
|
|
192
230
|
const defaultToolTimeoutMs = normalizeTimeoutMs(opts.defaultToolTimeoutMs);
|
|
231
|
+
const probeTimeoutMs = normalizeTimeoutMs(opts.probeTimeoutMs) ?? DEFAULT_PROBE_TIMEOUT_MS;
|
|
193
232
|
// createMetaTools() is called once per inbound MCP request. Sharing this
|
|
194
233
|
// identity lets remote connectors reuse one downstream client inside that
|
|
195
234
|
// request without leaking request-bound I/O into the next one.
|
|
@@ -248,6 +287,13 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
248
287
|
return failed(errorDetails("unknown_address", `Unknown address "${call.address}"`));
|
|
249
288
|
}
|
|
250
289
|
const results = registry.resultsStorage();
|
|
290
|
+
// Result-size cap for THIS call: the connector's own override wins, then
|
|
291
|
+
// the deployment-wide value, then the built-in default (already folded
|
|
292
|
+
// into `globalCap`). Resolved per call so one batch_call can mix a
|
|
293
|
+
// tight-capped connector with siblings on the global cap. An override the
|
|
294
|
+
// registry already warned about at startup is dropped here, so the
|
|
295
|
+
// connector simply inherits `globalCap`.
|
|
296
|
+
const cap = resolveMaxResultBytes(resolved.connector.maxResultBytes, globalCap);
|
|
251
297
|
const fields = call.fields && call.fields.length > 0 ? call.fields : null;
|
|
252
298
|
// An explicit per-call deadline always wins; the config default only fills
|
|
253
299
|
// the gap, and stays off entirely when the deployment sets none.
|
|
@@ -395,21 +441,23 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
395
441
|
}
|
|
396
442
|
return {
|
|
397
443
|
async skills(args = {}) {
|
|
444
|
+
const connectors = registry.listConnectors();
|
|
398
445
|
if (!args.name) {
|
|
399
446
|
return {
|
|
400
447
|
content: [
|
|
401
448
|
{
|
|
402
449
|
type: "text",
|
|
403
450
|
text: 'Available skills. Fetch one with skills({ name: "<name>" }).\n\n' +
|
|
404
|
-
|
|
451
|
+
listSkills(connectors)
|
|
452
|
+
.map((skill) => `- \`${skill.name}\` — ${skill.description}`)
|
|
453
|
+
.join("\n"),
|
|
405
454
|
},
|
|
406
455
|
],
|
|
407
456
|
};
|
|
408
457
|
}
|
|
409
|
-
const skill =
|
|
410
|
-
if (!skill)
|
|
411
|
-
return errorResult(
|
|
412
|
-
}
|
|
458
|
+
const skill = resolveSkill(args.name, connectors);
|
|
459
|
+
if (!skill.found)
|
|
460
|
+
return errorResult(skill.message);
|
|
413
461
|
return { content: [{ type: "text", text: skill.content }] };
|
|
414
462
|
},
|
|
415
463
|
async listConnectors(args = {}) {
|
|
@@ -418,24 +466,41 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
418
466
|
const checkedAt = new Date().toISOString();
|
|
419
467
|
const statusStarted = Date.now();
|
|
420
468
|
const observed = registry.healthFor(c.id);
|
|
421
|
-
let status
|
|
422
|
-
|
|
423
|
-
|
|
469
|
+
let status;
|
|
470
|
+
if (probe) {
|
|
471
|
+
try {
|
|
472
|
+
status = await withTimeout(registry.statusFor(c.id, baseUrl, requestScope), probeTimeoutMs, `list_connectors probe of "${c.id}"`);
|
|
473
|
+
}
|
|
474
|
+
catch (err) {
|
|
475
|
+
// A probe that outran probeTimeoutMs (or otherwise threw)
|
|
476
|
+
// degrades this connector to an error status rather than
|
|
477
|
+
// hanging the whole list_connectors call.
|
|
478
|
+
status = { state: "error", message: msg(err) };
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
// "error" comes from THIS view's own observations — a sibling
|
|
483
|
+
// toolkit's failure is not this session's experience — while
|
|
484
|
+
// ok/unknown may lean on the deployment-wide success signal, since
|
|
485
|
+
// "the connector answers at all" is a fact about the connector.
|
|
486
|
+
// Unscoped, the two are the same log, so this is unchanged there.
|
|
487
|
+
status = {
|
|
424
488
|
state: observed?.consecutiveFailures &&
|
|
425
489
|
observed.consecutiveFailures > 0
|
|
426
490
|
? "error"
|
|
427
|
-
:
|
|
491
|
+
: registry.hasObservedSuccess(c.id) || c.kind === "api"
|
|
428
492
|
? "ok"
|
|
429
493
|
: "unknown",
|
|
430
494
|
...(observed?.lastError ? { message: observed.lastError } : {}),
|
|
431
495
|
};
|
|
496
|
+
}
|
|
432
497
|
let tools = registry.peekTools(c.id);
|
|
433
498
|
// An auth_required status may have just started OAuth. A second
|
|
434
499
|
// listTools probe would overwrite its state/verifier while returning
|
|
435
500
|
// the first (now stale) authorization URL.
|
|
436
501
|
if (probe && status.state === "ok") {
|
|
437
502
|
try {
|
|
438
|
-
tools = await registry.refreshTools(c.id, baseUrl, requestScope);
|
|
503
|
+
tools = await withTimeout(registry.refreshTools(c.id, baseUrl, requestScope), probeTimeoutMs, `list_connectors catalog refresh of "${c.id}"`);
|
|
439
504
|
registry.recordSuccess(c.id, Date.now() - statusStarted);
|
|
440
505
|
}
|
|
441
506
|
catch (err) {
|
|
@@ -471,7 +536,7 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
471
536
|
? [registry.getConnector(args.connector)].filter((c) => Boolean(c))
|
|
472
537
|
: registry.listConnectors();
|
|
473
538
|
const matches = [];
|
|
474
|
-
const catalogs = await Promise.allSettled(conns.map((c) => registry.getTools(c.id, baseUrl, requestScope)));
|
|
539
|
+
const catalogs = await Promise.allSettled(conns.map((c) => withTimeout(registry.getTools(c.id, baseUrl, requestScope), probeTimeoutMs, `search_tools probe of "${c.id}"`)));
|
|
475
540
|
let orderBase = 0;
|
|
476
541
|
catalogs.forEach((catalog, connectorIndex) => {
|
|
477
542
|
const c = conns[connectorIndex];
|
|
@@ -481,6 +546,9 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
481
546
|
connectorId: c.id,
|
|
482
547
|
connectorTitle: c.title,
|
|
483
548
|
connectorDescription: c.description,
|
|
549
|
+
...(connectorGuide(c)
|
|
550
|
+
? { connectorGuideSkill: connectorSkillName(c.id) }
|
|
551
|
+
: {}),
|
|
484
552
|
tool: ranked.tool,
|
|
485
553
|
score: ranked.score,
|
|
486
554
|
order: orderBase + ranked.order,
|
|
@@ -500,6 +568,9 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
500
568
|
id: match.connectorId,
|
|
501
569
|
...(match.connectorTitle ? { title: match.connectorTitle } : {}),
|
|
502
570
|
description: match.connectorDescription,
|
|
571
|
+
...(match.connectorGuideSkill
|
|
572
|
+
? { guide: match.connectorGuideSkill }
|
|
573
|
+
: {}),
|
|
503
574
|
tools: [],
|
|
504
575
|
};
|
|
505
576
|
byConnector.set(match.connectorId, group);
|
|
@@ -552,7 +623,7 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
552
623
|
.map((entry) => entry.resolved?.connector.id)
|
|
553
624
|
.filter((id) => Boolean(id))),
|
|
554
625
|
];
|
|
555
|
-
const loaded = await Promise.allSettled(connectorIds.map((id) => registry.getTools(id, baseUrl, requestScope)));
|
|
626
|
+
const loaded = await Promise.allSettled(connectorIds.map((id) => withTimeout(registry.getTools(id, baseUrl, requestScope), probeTimeoutMs, `describe_tools probe of "${id}"`)));
|
|
556
627
|
const catalogs = new Map();
|
|
557
628
|
loaded.forEach((result, index) => {
|
|
558
629
|
catalogs.set(connectorIds[index], result.status === "fulfilled"
|
|
@@ -581,6 +652,9 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
581
652
|
address,
|
|
582
653
|
name: tool.name,
|
|
583
654
|
description: summarizeDescription(tool.description, args.fullDescriptions === true),
|
|
655
|
+
...(connectorGuide(resolved.connector)
|
|
656
|
+
? { guide: connectorSkillName(resolved.connector.id) }
|
|
657
|
+
: {}),
|
|
584
658
|
inputSchema: format === "json" ? schema : compactSchema(schema),
|
|
585
659
|
...(tool.outputSchema
|
|
586
660
|
? {
|
|
@@ -601,6 +675,16 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
601
675
|
return (await runCall(args, "call_destructive_tool", { allowDestructive: true })).toolResult;
|
|
602
676
|
},
|
|
603
677
|
async getResult(args) {
|
|
678
|
+
// Client-supplied page size: a normal input-validation error, not a
|
|
679
|
+
// clamp. Callers arriving over MCP are rejected earlier by the
|
|
680
|
+
// registered zod schema and never reach this branch, so it exists for
|
|
681
|
+
// in-process callers of createMetaTools — which have no schema in front
|
|
682
|
+
// of them — and to keep the rule true of the handler on its own terms.
|
|
683
|
+
if (args.maxBytes !== undefined &&
|
|
684
|
+
!isValidMaxResultBytes(args.maxBytes)) {
|
|
685
|
+
return errorResult(`Invalid maxBytes ${args.maxBytes}: must be a whole number of bytes ` +
|
|
686
|
+
`>= ${MIN_MAX_RESULT_BYTES}. Omit it to use the deployment default.`);
|
|
687
|
+
}
|
|
604
688
|
const results = registry.resultsStorage();
|
|
605
689
|
const stored = await results.get(`result:${args.id}`);
|
|
606
690
|
if (stored === null || stored === undefined) {
|
|
@@ -609,7 +693,11 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
|
|
|
609
693
|
const bytes = enc.encode(stored);
|
|
610
694
|
const total = bytes.length;
|
|
611
695
|
const offset = Math.max(0, Math.trunc(args.offset ?? 0));
|
|
612
|
-
|
|
696
|
+
// Page size only: a stashed result carries no connector identity, so
|
|
697
|
+
// get_result keeps the deployment-wide default when none is requested.
|
|
698
|
+
// Both sides are validated by now — the argument above, `globalCap` at
|
|
699
|
+
// intake — so `offset + maxBytes` always reaches past `offset`.
|
|
700
|
+
const maxBytes = args.maxBytes ?? globalCap;
|
|
613
701
|
// Align the slice end to a codepoint boundary so a multi-byte char is
|
|
614
702
|
// never split across pages (which would emit U+FFFD on both sides).
|
|
615
703
|
// `nextOffset` is this aligned end, so it is a valid boundary for the
|
|
@@ -728,10 +816,32 @@ const SEARCH_DESC = 'Start here when a tool address is unknown. Exact/name match
|
|
|
728
816
|
const DESCRIBE_DESC = 'Inspect known tool addresses when search_tools did not include a sufficient schema. Returns descriptions, input/output schemas, and behavior annotations; format "compact" is the default.';
|
|
729
817
|
const CALL_DESC = 'Use for one tool explicitly annotated readOnlyHint: true. For 2–10 independent read-only calls use batch_call; for dependent steps or data reduction use execute_code when available. Unannotated, write-capable, and destructive tools are refused and require call_destructive_tool. fields selects JSON dot-paths, resultMode "value" unwraps results, timeoutMs sets a deadline, safe maxRetries are annotation-gated, diagnostics adds timing, and large results page through get_result.';
|
|
730
818
|
const CALL_DESTRUCTIVE_DESC = "Invoke any tool that is not explicitly annotated readOnlyHint: true, including unannotated, write-capable, or destructive tools. The MCP destructiveHint on this meta-tool lets the host request human approval before execution. Use only after reviewing the downstream tool schema and consequences.";
|
|
731
|
-
const GET_RESULT_DESC = "Page a truncated result stashed by call_tool/batch_call. Input { id, offset?, maxBytes? } → { text, offset, nextOffset?, totalBytes } sliced by byte offset. Unknown/expired id is an error.";
|
|
819
|
+
const GET_RESULT_DESC = "Page a truncated result stashed by call_tool/batch_call. Input { id, offset?, maxBytes? } → { text, offset, nextOffset?, totalBytes } sliced by byte offset. maxBytes is a whole number of bytes >= 1 (omit for the deployment default). Unknown/expired id is an error.";
|
|
732
820
|
const BATCH_DESC = "Use for 2–10 independent tools explicitly annotated readOnlyHint: true. Calls run in parallel with shared request-scoped clients; use execute_code when available instead for dependencies or in-sandbox reduction. Unannotated, write-capable, and destructive tools are refused. Batch timeout, safe retry, result mode, and diagnostics defaults may be overridden per call.";
|
|
733
821
|
const AUTHORIZE_DESC = "Use after a connector reports auth_required. Starts downstream OAuth and returns an authorizationUrl for the operator to open. force=true wipes stored credentials first and restarts consent.";
|
|
734
822
|
const SKILLS_DESC = 'List or fetch concise guidance for choosing among Connecta meta-tools. Call skills({ name: "usage" }) once when the routing workflow is unfamiliar; do not refetch it in the same task.';
|
|
823
|
+
/**
|
|
824
|
+
* Sentences appended to a meta-tool description only when this connection
|
|
825
|
+
* actually has connector guides. Tool descriptions are always-loaded context,
|
|
826
|
+
* so a deployment with no guides gets every base description unchanged rather
|
|
827
|
+
* than paying for text about a feature it does not use.
|
|
828
|
+
*
|
|
829
|
+
* Registration is per connection and reads the connection's own registry view,
|
|
830
|
+
* so under a toolkit these sentences reflect the SCOPED connector set: a scoped
|
|
831
|
+
* session whose connectors carry no guides sees the base descriptions, and
|
|
832
|
+
* never learns from a tool description that guides exist out of scope.
|
|
833
|
+
*/
|
|
834
|
+
const GUIDE_NOTES = {
|
|
835
|
+
skills: ' skills({}) also lists this deployment\'s per-connector usage guides as "connector:<connectorId>"; fetch the guide for a connector before working with it for the first time.',
|
|
836
|
+
search: " A connector group carrying `guide` has a usage guide; fetch it with skills({ name: <guide> }).",
|
|
837
|
+
describe: " An entry carrying `guide` belongs to a connector with a usage guide; fetch it with skills({ name: <guide> }).",
|
|
838
|
+
};
|
|
839
|
+
/** `base`, plus its guide note when any VISIBLE connector carries a guide. */
|
|
840
|
+
function describedFor(registry, base, note) {
|
|
841
|
+
return hasConnectorGuides(registry.listConnectors())
|
|
842
|
+
? base + GUIDE_NOTES[note]
|
|
843
|
+
: base;
|
|
844
|
+
}
|
|
735
845
|
/**
|
|
736
846
|
* Connecta refuses downstream tools that are not explicitly annotated
|
|
737
847
|
* read-only, so its own meta-tools must carry the same hints — otherwise a
|
|
@@ -755,10 +865,11 @@ export function registerMetaTools(server, registry, ctx) {
|
|
|
755
865
|
const mt = createMetaTools(registry, ctx.baseUrl, {
|
|
756
866
|
maxResultBytes: ctx.maxResultBytes,
|
|
757
867
|
defaultToolTimeoutMs: ctx.defaultToolTimeoutMs,
|
|
868
|
+
probeTimeoutMs: ctx.probeTimeoutMs,
|
|
758
869
|
activity: ctx.activity,
|
|
759
870
|
});
|
|
760
871
|
server.registerTool("skills", {
|
|
761
|
-
description: SKILLS_DESC,
|
|
872
|
+
description: describedFor(registry, SKILLS_DESC, "skills"),
|
|
762
873
|
inputSchema: { name: z.string().optional() },
|
|
763
874
|
annotations: {
|
|
764
875
|
readOnlyHint: true,
|
|
@@ -773,7 +884,7 @@ export function registerMetaTools(server, registry, ctx) {
|
|
|
773
884
|
annotations: READ_ONLY_REMOTE,
|
|
774
885
|
}, async (args) => mt.listConnectors(args));
|
|
775
886
|
server.registerTool("search_tools", {
|
|
776
|
-
description: SEARCH_DESC,
|
|
887
|
+
description: describedFor(registry, SEARCH_DESC, "search"),
|
|
777
888
|
inputSchema: {
|
|
778
889
|
query: z.string().optional(),
|
|
779
890
|
connector: z.string().optional(),
|
|
@@ -785,7 +896,7 @@ export function registerMetaTools(server, registry, ctx) {
|
|
|
785
896
|
annotations: READ_ONLY_REMOTE,
|
|
786
897
|
}, async (args) => mt.searchTools(args));
|
|
787
898
|
server.registerTool("describe_tools", {
|
|
788
|
-
description: DESCRIBE_DESC,
|
|
899
|
+
description: describedFor(registry, DESCRIBE_DESC, "describe"),
|
|
789
900
|
inputSchema: {
|
|
790
901
|
addresses: z.array(z.string()),
|
|
791
902
|
format: z.enum(["compact", "json"]).optional(),
|
|
@@ -844,7 +955,10 @@ export function registerMetaTools(server, registry, ctx) {
|
|
|
844
955
|
inputSchema: {
|
|
845
956
|
id: z.string(),
|
|
846
957
|
offset: z.number().int().nonnegative().optional(),
|
|
847
|
-
|
|
958
|
+
// Same rule as isValidMaxResultBytes, expressed for the wire: sharing
|
|
959
|
+
// the floor constant keeps the schema from drifting away from the
|
|
960
|
+
// in-handler check if MIN_MAX_RESULT_BYTES ever moves.
|
|
961
|
+
maxBytes: z.number().int().min(MIN_MAX_RESULT_BYTES).optional(),
|
|
848
962
|
},
|
|
849
963
|
annotations: READ_ONLY_LOCAL,
|
|
850
964
|
}, async (args) => mt.getResult(args));
|
package/dist/meta-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,kBAAkB,GAGnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AAcrB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAChE,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAA8B,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,GAAG,CAAC,GAAY;IACvB,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAC9B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAI9B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,uEAAuE;AACvE,SAAS,kBAAkB,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,OAAmB,EACnB,EAAU,EACV,KAAa;IAEb,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,YAAgC;IAEhC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,YAAY,IAAI,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,6EAA6E;AAC7E,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,6DAA6D;AAC7D,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAiB,EACjB,MAAc,EACd,GAAW,EACX,KAAa;IAEb,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/B,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,GAAG,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACjB,2EAA2E;QAC3E,CAAC,GAAG,MAAM,CAAC;QACX,OAAO,CAAC,GAAG,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,6EAA6E;AAE7E,0FAA0F;AAC1F,SAAS,WAAW,CAAC,KAAc,EAAE,QAAkB;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,IAAI,IAAI,GAAY,KAAK,CAAC;IAC1B,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAClE,IAAI,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,yFAAyF;AACzF,SAAS,WAAW,CAClB,KAAc,EACd,MAAgB;IAEhB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,oBAAoB,CAC3B,OAAsB,EACtB,MAAgB;IAEhB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAChC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAE7E,SAAS,YAAY,CAAC,OAAsB;IAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,OAAO;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACxD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,OAAkB,EAClB,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CACrB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CACpE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,IAAI,EAAE,4EAA4E;KACnF,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,UAAU,CACvB,KAAc,EACd,OAAkB,EAClB,GAAW;IAEX,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5E,OAAO;QACL,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,IAAI,EAAE,4EAA4E;KACnF,CAAC;AACJ,CAAC;AAiED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAsB,EACtB,OAAe,EACf,OAOI,EAAE;IAEN,MAAM,SAAS,GAAG,qBAAqB,CACrC,IAAI,CAAC,cAAc,EACnB,QAAQ,CAAC,cAAc,CACxB,CAAC;IACF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3E,MAAM,cAAc,GAClB,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,wBAAwB,CAAC;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,EAAE,CAAC;IAiBxB,wFAAwF;IACxF,KAAK,UAAU,OAAO,CACpB,IAAe,EACf,MAA0B,EAC1B,UAA0C,EAAE;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;YACpB,SAAS;YACT,WAAW;YACX,SAAS;YACT,kBAAkB;YAClB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;SAC9B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,CACb,OAAwC,EACxC,SAAkB,EAClB,EAAE;YACF,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACxD,MAAM;gBACN,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,QAAQ;gBACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,KAAmB,EAAkB,EAAE;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO;gBACL,UAAU,EACR,IAAI,CAAC,UAAU,KAAK,OAAO;oBACzB,CAAC,CAAC,UAAU,CAAC;wBACT,EAAE,EAAE,KAAK;wBACT,KAAK;wBACL,UAAU;wBACV,QAAQ;wBACR,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrD,CAAC;oBACJ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBAChC,UAAU;gBACV,QAAQ;gBACR,MAAM,EAAE,WAAW;gBACnB,KAAK;aACN,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,CACX,YAAY,CAAC,iBAAiB,EAAE,oBAAoB,IAAI,CAAC,OAAO,GAAG,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1C,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,0EAA0E;QAC1E,mEAAmE;QACnE,yCAAyC;QACzC,MAAM,GAAG,GAAG,qBAAqB,CAC/B,QAAQ,CAAC,SAAS,CAAC,cAAc,EACjC,SAAS,CACV,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAC9C,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,UAA+B,CAAC;QACpC,IAAI,CAAC;YACH,UAAU,GAAG,CACX,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CACtE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YACzC,wEAAwE;YACxE,0DAA0D;YAC1D,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,MAAM,CACX,YAAY,CACV,cAAc,EACd,iBAAiB,QAAQ,CAAC,QAAQ,mBAAmB,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAC9E,CACF,CAAC;QACJ,CAAC;QACD,MAAM,kBAAkB,GACtB,UAAU,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI;YAC7C,UAAU,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;QACnD,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACrD,OAAO,MAAM,CACX,YAAY,CACV,oCAAoC,EACpC,SAAS,IAAI,CAAC,OAAO,uHAAuH,CAC7I,CACF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GACb,UAAU,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI;YAC7C,UAAU,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC;QAElD,IAAI,MAAe,CAAC;QACpB,OAAO,IAAI,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,IAAI,KAAgD,CAAC;YACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,EACrB,OAAO,EACP,YAAY,EACZ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC1C,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CACzC,QAAQ,CAAC,QAAQ,EACjB,IAAI,CAAC,IAAI,IAAI,EAAE,EACf,GAAG,CACJ,CAAC;gBACF,MAAM,GAAG,SAAS;oBAChB,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjB,OAAO;wBACP,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;4BAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gCACtB,MAAM,CACJ,IAAI,kBAAkB,CACpB,SAAS,EACT,6BAA6B,SAAS,IAAI,CAC3C,CACF,CAAC;gCACF,UAAU,EAAE,KAAK,EAAE,CAAC;4BACtB,CAAC,EAAE,SAAS,CAAC,CAAC;wBAChB,CAAC,CAAC;qBACH,CAAC;oBACJ,CAAC,CAAC,MAAM,OAAO,CAAC;gBAClB,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;gBAC7C,MAAM,SAAS,GAAG,MAGjB,CAAC;gBACF,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CACb,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpD,6BAA6B,CAChC,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,oEAAoE;gBACpE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;gBAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,QAAQ,IAAI,UAAU,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAClC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;4BACb,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC5D,CAAC;wBACD,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;wBACzC,SAAS;oBACX,CAAC;oBACD,4DAA4D;oBAC5D,wDAAwD;oBACxD,4DAA4D;gBAC9D,CAAC;gBACD,QAAQ,CAAC,aAAa,CACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,EACrB,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EACpB,GAAG,CACJ,CAAC;gBACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAwD,CAAC;YACpE,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,MAAM;oBAAE,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9C,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC;gBACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACxC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;gBAC7B,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClB,OAAO;oBACL,UAAU,EAAE,UAAU,CAAC;wBACrB,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,KAAK;wBACX,UAAU;wBACV,QAAQ;wBACR,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrD,CAAC;oBACF,UAAU;oBACV,QAAQ;oBACR,MAAM,EAAE,WAAW;oBACnB,KAAK;iBACN,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtC,IAAI,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC;gBAChC,IAAI,MAAM;oBAAE,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5D,IAAI,UAAsB,CAAC;gBAC3B,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;oBAChC,UAAU,GAAG,MAAM,SAAS,CAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAChC,OAAO,EACP,GAAG,CACJ,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC;gBAC3B,CAAC;gBACD,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC;gBACrD,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClB,OAAO;oBACL,UAAU;oBACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBAChC,QAAQ;oBACR,MAAM,EAAE,MAAM,EAAE;iBACjB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5D,MAAM,UAAU,GAAG,MAAM,SAAS,CAChC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9B,OAAO,EACP,GAAG,CACJ,CAAC;YACF,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC;YACrD,MAAM,CAAC,SAAS,CAAC,CAAC;YAClB,OAAO;gBACL,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,QAAQ;gBACR,MAAM,EAAE,MAAM,EAAE;gBAChB,KAAK;aACN,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC;YACrD,OAAO,MAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,OAAkB,EAAE;YAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,kEAAkE;gCAClE,UAAU,CAAC,UAAU,CAAC;qCACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;qCAC5D,IAAI,CAAC,IAAI,CAAC;yBAChB;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9D,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,OAAiB,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,MAEuD,CAAC;gBAC5D,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,WAAW,CACxB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,EAC/C,cAAc,EACd,6BAA6B,CAAC,CAAC,EAAE,GAAG,CACrC,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,0DAA0D;wBAC1D,yDAAyD;wBACzD,0CAA0C;wBAC1C,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,8DAA8D;oBAC9D,6DAA6D;oBAC7D,mEAAmE;oBACnE,gEAAgE;oBAChE,kEAAkE;oBAClE,MAAM,GAAG;wBACP,KAAK,EACH,QAAQ,EAAE,mBAAmB;4BAC7B,QAAQ,CAAC,mBAAmB,GAAG,CAAC;4BAC9B,CAAC,CAAE,OAAiB;4BACpB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;gCACrD,CAAC,CAAE,IAAc;gCACjB,CAAC,CAAE,SAAmB;wBAC5B,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChE,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,gEAAgE;gBAChE,qEAAqE;gBACrE,2CAA2C;gBAC3C,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnC,IAAI,CAAC;wBACH,KAAK,GAAG,MAAM,WAAW,CACvB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,EAClD,cAAc,EACd,uCAAuC,CAAC,CAAC,EAAE,GAAG,CAC/C,CAAC;wBACF,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC;oBAC3D,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,GAAG,EAAE,KAAK,EAAE,OAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC7B,MAAM,EAAE,MAAM,CAAC,KAAK;oBACpB,SAAS;oBACT,SAAS;oBACT,KAAK;oBACL,GAAG,CAAC,cAAc,IAAI,QAAQ,IAAI,EAAE,CAAC;oBACrC,GAAG,CAAC,kBAAkB,IAAI,MAAM,IAAI,MAAM,CAAC,gBAAgB;wBACzD,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE;wBAC/C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,OAAO,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAgB;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS;gBAC1B,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAA8B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAC9C;gBACH,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC9B,MAAM,OAAO,GAQR,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,WAAW,CACT,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,EAC9C,cAAc,EACd,0BAA0B,CAAC,CAAC,EAAE,GAAG,CAClC,CACF,CACF,CAAC;YACF,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACnC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;wBACjD,OAAO,CAAC,IAAI,CAAC;4BACX,WAAW,EAAE,CAAC,CAAC,EAAE;4BACjB,cAAc,EAAE,CAAC,CAAC,KAAK;4BACvB,oBAAoB,EAAE,CAAC,CAAC,WAAW;4BACnC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gCACnB,CAAC,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gCACnD,CAAC,CAAC,EAAE,CAAC;4BACP,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK;yBAChC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,MAAM,GAcN,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG;wBACN,EAAE,EAAE,KAAK,CAAC,WAAW;wBACrB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChE,WAAW,EAAE,KAAK,CAAC,oBAAoB;wBACvC,GAAG,CAAC,KAAK,CAAC,mBAAmB;4BAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;wBACP,KAAK,EAAE,EAAE;qBACV,CAAC;oBACF,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC5D,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oBACrB,OAAO,EAAE,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAClD,WAAW,EAAE,oBAAoB,CAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,EACtB,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAC/B;oBACD,GAAG,CAAC,IAAI,CAAC,cAAc;wBACrB,CAAC,CAAC;4BACE,WAAW,EACT,IAAI,CAAC,cAAc,KAAK,MAAM;gCAC5B,CAAC,CAAC,MAAM;gCACR,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;yBAC5B;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY;wBAChD,CAAC,CAAC;4BACE,YAAY,EACV,IAAI,CAAC,cAAc,KAAK,MAAM;gCAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;gCACzB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;yBAC7C;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW;wBACxB,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YACD,MAAM,UAAU,GACd,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBACnC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;gBACtB,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,UAAU,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,MAAM;gBACN,KAAK;gBACL,OAAO,EAAE,UAAU,KAAK,SAAS;gBACjC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAkB;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChD,OAAO;gBACP,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;aAC3C,CAAC,CAAC,CAAC;YACJ,MAAM,YAAY,GAAG;gBACnB,GAAG,IAAI,GAAG,CACR,QAAQ;qBACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;qBAC5C,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC7C;aACF,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACtB,WAAW,CACT,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,EAC5C,cAAc,EACd,4BAA4B,EAAE,GAAG,CAClC,CACF,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC/B,QAAQ,CAAC,GAAG,CACV,YAAY,CAAC,KAAK,CAAC,EACnB,MAAM,CAAC,MAAM,KAAK,WAAW;oBAC3B,CAAC,CAAC,MAAM,CAAC,KAAK;oBACd,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK;wBAC9B,CAAC,CAAC,MAAM,CAAC,MAAM;wBACf,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACvC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,OAAO,GAAG,EAAE,CAAC;gBAC5D,CAAC;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;oBAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7C,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO;wBACL,OAAO;wBACP,KAAK,EAAE,iBAAiB,QAAQ,CAAC,QAAQ,mBAAmB,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG;qBACrF,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACtD,OAAO;oBACL,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,oBAAoB,CAC/B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAC/B;oBACD,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;wBACpC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;wBACtD,CAAC,CAAC,EAAE,CAAC;oBACP,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;oBAC/D,GAAG,CAAC,IAAI,CAAC,YAAY;wBACnB,CAAC,CAAC;4BACE,YAAY,EACV,MAAM,KAAK,MAAM;gCACf,CAAC,CAAC,IAAI,CAAC,YAAY;gCACnB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;yBACvC;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAAc;YAC3B,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,IAAc;YACtC,OAAO,CACL,MAAM,OAAO,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CACzE,CAAC,UAAU,CAAC;QACf,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAmB;YACjC,oEAAoE;YACpE,+DAA+D;YAC/D,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,IACE,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAC3B,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EACrC,CAAC;gBACD,OAAO,WAAW,CAChB,oBAAoB,IAAI,CAAC,QAAQ,oCAAoC;oBACnE,MAAM,oBAAoB,0CAA0C,CACvE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,WAAW,CAAC,iCAAiC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACzD,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC5C,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,sBAAsB,CAChC,KAAK,EACL,MAAM,EACN,MAAM,GAAG,QAAQ,EACjB,KAAK,CACN,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,OAAO,UAAU,CAAC;gBAChB,MAAM;gBACN,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAe;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnB,OAAO,CACL;gBACE,GAAG,CAAC;gBACJ,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;gBAC3C,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;gBACxC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;gBAC3C,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;aAC/C,EACD,YAAY,CACb,CACF,CACF,CAAC;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO;wBACP,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;wBACpB,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC;qBAC/D,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO;wBACP,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;wBACtB,YAAY,EAAE,CAAC,CAAC,KAAK;wBACrB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;4BACjD,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BACtB,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,EAAE,CAAC;oBAC9D,OAAO;wBACL,OAAO;wBACP,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,CAAC,CAAC,KAAK;wBACb,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;4BACjD,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BACtB,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,OAAO;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO;oBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;wBACjD,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;wBACtB,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;gBAChB,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY;aACtC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,IAAmB;YAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,sBAAsB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,WAAW,CAChB,cAAc,IAAI,CAAC,SAAS,wGAAwG,CACrI,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YACrE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrE,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACjE,qEAAqE;oBACrE,OAAO,WAAW,CAChB,cAAc,SAAS,CAAC,EAAE,gFAAgF,CAC3G,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC;oBAChB,SAAS,EAAE,SAAS,CAAC,EAAE;oBACvB,MAAM,EAAE,MAAM,CAAC,KAAK;oBACpB,GAAG,CAAC,MAAM,CAAC,gBAAgB;wBACzB,CAAC,CAAC;4BACE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;4BACzC,YAAY,EACV,4QAA4Q;yBAC/Q;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACT,wEAAwE;gBACxE,oCAAoC;gBACpC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GACb,4LAA4L,CAAC;AAC/L,MAAM,WAAW,GACf,mMAAmM,CAAC;AACtM,MAAM,aAAa,GACjB,4LAA4L,CAAC;AAC/L,MAAM,SAAS,GACb,geAAge,CAAC;AACne,MAAM,qBAAqB,GACzB,ySAAyS,CAAC;AAC5S,MAAM,eAAe,GACnB,0QAA0Q,CAAC;AAC7Q,MAAM,UAAU,GACd,iXAAiX,CAAC;AACpX,MAAM,cAAc,GAClB,gMAAgM,CAAC;AACnM,MAAM,WAAW,GACf,yLAAyL,CAAC;AAE5L;;;;;;;;;;GAUG;AACH,MAAM,WAAW,GAAG;IAClB,MAAM,EACJ,+KAA+K;IACjL,MAAM,EACJ,iGAAiG;IACnG,QAAQ,EACN,gHAAgH;CAC1G,CAAC;AAEX,8EAA8E;AAC9E,SAAS,YAAY,CACnB,QAAsB,EACtB,IAAY,EACZ,IAA8B;IAE9B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClD,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG;IACvB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,IAAI;CACX,CAAC;AAEX,iEAAiE;AACjE,MAAM,eAAe,GAAG;IACtB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,KAAK;CACZ,CAAC;AAEX,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,QAAsB,EACtB,GAMC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE;QAChD,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC1D,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5C,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAiB,CAAC,CAC7C,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC9C,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,IAAgB,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC1D,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YACjD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACxC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;SACvD;QACD,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAkB,CAAC,CACnD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC;QAC9D,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC9C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACzC;QACD,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAoB,CAAC,CACvD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC;QACD,wEAAwE;QACxE,gEAAgE;QAChE,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAgB,CAAC,CAC9C,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC;QACD,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAgB,CAAC,CACzD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC9B;QACD,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAqB,CAAC,CAC7D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YACjD,sEAAsE;YACtE,kEAAkE;YAClE,uDAAuD;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAChE;QACD,WAAW,EAAE,eAAe;KAC7B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAqB,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gBACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAClD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBACtC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACrD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACpC,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC;QACD,qEAAqE;QACrE,qCAAqC;QACrC,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAiB,CAAC,CAChD,CAAC;AACJ,CAAC"}
|