@emseepea/server 0.10.2 → 0.11.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/README.md CHANGED
@@ -16,6 +16,38 @@ The package is pre-alpha. See the
16
16
  [repository README](https://github.com/emseepea/emseepea#readme) for what the
17
17
  package supports and what it does not support.
18
18
 
19
+ ## Render a bounded result view
20
+
21
+ `@emseepea/server/ui` exports `defineResultView`, `parseResultView`, and
22
+ `renderResultView`. They validate a bounded presentation model and render
23
+ unstyled native HTML for headings, persistent status, metrics, lists,
24
+ disclosures, actions, and disclaimers.
25
+
26
+ Use `ResultCard` from `@emseepea/react`
27
+ when the adopter already uses React. Pass a unique `idPrefix` to
28
+ `renderResultView` for each result rendered into one document.
29
+
30
+ ## Choose a result-card package
31
+
32
+ For a self-contained MCP App resource that does not already use either
33
+ framework, choose `@emseepea/svelte`. In this equivalent production comparison,
34
+ Svelte was 27.9% smaller with gzip and 27.1% smaller with Brotli, exceeding the
35
+ 20% threshold for both formats. If the application already uses React, choose
36
+ `@emseepea/react` to avoid adding another framework.
37
+
38
+ Run `npm run measure:result-cards` in the repository to reproduce the
39
+ comparison. It uses esbuild `0.28.2`, React and React DOM `19.2.8`, and Svelte
40
+ `5.57.0`, with minified ES modules targeting ES2022 and no source maps.
41
+
42
+ | Renderer | Raw | gzip level 9 | Brotli quality 11 |
43
+ |---|---:|---:|---:|
44
+ | React | 534,121 bytes | 129,181 bytes | 108,927 bytes |
45
+ | Svelte | 406,619 bytes | 93,075 bytes | 79,414 bytes |
46
+ | Reduction | 23.9% | 27.9% | 27.1% |
47
+
48
+ These measurements apply only to this comparison fixture and these dependency
49
+ versions. They are not a general claim about framework bundle sizes.
50
+
19
51
  ## Public Tool
20
52
 
21
53
  ```ts
@@ -62,6 +94,43 @@ The handler returns structured data. Em See Pea validates it, sends it as MCP
62
94
  do not consume structured content. Add `text` only when a client genuinely
63
95
  needs a separate human-readable representation.
64
96
 
97
+ ## Protocol-Native Tool Results
98
+
99
+ Existing `{ data, text? }` handlers still work. A handler may instead return a
100
+ checked `ProtocolToolResult` when it needs protocol-native content, a deliberate
101
+ domain error, or client-visible metadata:
102
+
103
+ ```ts
104
+ import { defineTool, type ProtocolToolResult } from "@emseepea/server";
105
+ import { z } from "zod";
106
+
107
+ const previewPea = defineTool({
108
+ name: "preview-pea",
109
+ access: "public",
110
+ description: "Preview a pea variety.",
111
+ inputSchema: z.object({ name: z.string() }),
112
+ handler: ({ name }): ProtocolToolResult => ({
113
+ content: [{ type: "text", text: `Preview ready for ${name}` }],
114
+ structuredContent: [name, "ready"],
115
+ _meta: { "example/view": "preview" },
116
+ }),
117
+ });
118
+ ```
119
+
120
+ Without `outputSchema`, a tool may return content-only results, `isError`
121
+ results, or any safely representable JSON value as `structuredContent`. With
122
+ `outputSchema`, every successful protocol-native result must include matching
123
+ `structuredContent`; error results may omit it.
124
+
125
+ The checked result supports text, image, audio, resource-link, and
126
+ embedded-resource content blocks. Result `_meta` is visible to the client, must
127
+ not contain secrets or unauthorized data, and cannot set the reserved
128
+ `io.modelcontextprotocol/serverInfo` field.
129
+
130
+ Resource links and embedded resources do not grant access or authorization.
131
+ Deliberate `isError` results reach the client, while thrown, malformed,
132
+ cancelled, and expired operations retain the generic framework error.
133
+
65
134
  ## Discover Capability Modules at Startup
66
135
 
67
136
  Explicit registration still works. If you prefer one file per capability, put
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { McpServer, inputRequired as sdkInputRequired, type AuthMetadataOptions, type CacheHint, type GetPromptResult, type Icon, type InputRequiredResult as SdkInputRequiredResult, type InputRequest, type InputResponseView as SdkInputResponseView, type LoggingLevel, type JSONValue, type MetaObject, type OAuthTokenVerifier, type Annotations, type ReadResourceResult, type StandardSchemaV1, type ServerOptions, type ServerContext, type ToolAnnotations } from "@modelcontextprotocol/server";
1
+ import { McpServer, inputRequired as sdkInputRequired, type AuthMetadataOptions, type CallToolResult, type CacheHint, type GetPromptResult, type Icon, type InputRequiredResult as SdkInputRequiredResult, type InputRequest, type InputResponseView as SdkInputResponseView, type LoggingLevel, type JSONValue, type MetaObject, type OAuthTokenVerifier, type Annotations, type ReadResourceResult, type StandardSchemaWithJSON, type StandardSchemaV1, type ServerOptions, type ServerContext, type ToolAnnotations } from "@modelcontextprotocol/server";
2
2
  import type { FastifyInstance, RouteHandlerMethod } from "fastify";
3
3
  import { z } from "zod";
4
4
  import { type ObservabilityAdapter } from "./telemetry.js";
@@ -123,6 +123,11 @@ export interface ToolResult<Output> {
123
123
  readonly text?: string;
124
124
  readonly data: Output;
125
125
  }
126
+ /** A complete MCP tool result checked by the framework before emission. */
127
+ export type ProtocolToolResult = CallToolResult & {
128
+ readonly data?: never;
129
+ readonly text?: never;
130
+ };
126
131
  export interface BackendAdapterContext {
127
132
  readonly signal: AbortSignal;
128
133
  readonly deadlineMs: number;
@@ -149,7 +154,7 @@ interface ProtectedCapabilityAccess {
149
154
  readonly requiredScopes: readonly string[];
150
155
  }
151
156
  export type ToolAccess = "public" | "protected";
152
- interface ToolDefinitionBase<Input, Output> {
157
+ interface ToolDefinitionCommon<Input> {
153
158
  readonly name: string;
154
159
  readonly discoverable?: boolean;
155
160
  readonly title?: string;
@@ -158,9 +163,8 @@ interface ToolDefinitionBase<Input, Output> {
158
163
  readonly annotations?: Readonly<ToolAnnotations>;
159
164
  readonly _meta?: Readonly<MetaObject>;
160
165
  readonly inputSchema: Input;
161
- readonly outputSchema: Output;
162
166
  }
163
- type ZodObjectLike = StandardSchemaV1 & {
167
+ type ZodObjectLike = StandardSchemaWithJSON & {
164
168
  readonly type: "object";
165
169
  readonly shape: Readonly<Record<string, StandardSchemaV1>>;
166
170
  readonly safeParseAsync: (value: unknown) => Promise<{
@@ -168,7 +172,14 @@ type ZodObjectLike = StandardSchemaV1 & {
168
172
  }>;
169
173
  readonly toJSONSchema: () => unknown;
170
174
  };
171
- type InferredToolDefinition<Input extends ZodObjectLike, Output extends ZodObjectLike, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
175
+ type ToolDefinitionBase<Input, Output extends StandardSchemaWithJSON | undefined> = ToolDefinitionCommon<Input> & (Output extends StandardSchemaWithJSON ? {
176
+ readonly outputSchema: Output;
177
+ } : {
178
+ readonly outputSchema?: never;
179
+ });
180
+ type OutputInput<Output> = Output extends StandardSchemaV1 ? Readonly<StandardSchemaV1.InferInput<Output>> : never;
181
+ type CheckedToolResult<Output> = ProtocolToolResult | (Output extends StandardSchemaV1 ? ToolResult<OutputInput<Output>> : never);
182
+ type InferredToolDefinition<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON | undefined, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
172
183
  readonly handler: (input: StandardSchemaV1.InferOutput<Input>, context: ToolContext<NoInfer<Access>>) => Result;
173
184
  } & (Access extends "public" ? {
174
185
  readonly access: Access;
@@ -177,7 +188,7 @@ type InferredToolDefinition<Input extends ZodObjectLike, Output extends ZodObjec
177
188
  readonly access: Access;
178
189
  readonly requiredScopes: readonly string[];
179
190
  });
180
- type InferredStreamingToolDefinition<Input extends ZodObjectLike, Output extends ZodObjectLike, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
191
+ type InferredStreamingToolDefinition<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON | undefined, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
181
192
  readonly handler: (input: StandardSchemaV1.InferOutput<Input>, context: StreamingToolContext<NoInfer<Access>>) => Result;
182
193
  } & (Access extends "public" ? {
183
194
  readonly access: Access;
@@ -186,7 +197,7 @@ type InferredStreamingToolDefinition<Input extends ZodObjectLike, Output extends
186
197
  readonly access: Access;
187
198
  readonly requiredScopes: readonly string[];
188
199
  });
189
- type InferredMappedToolDefinition<Input extends ZodObjectLike, Output extends ZodObjectLike, BackendInput extends ZodObjectLike, BackendOutput extends ZodObjectLike, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
200
+ type InferredMappedToolDefinition<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON | undefined, BackendInput extends ZodObjectLike, BackendOutput extends ZodObjectLike, Access extends ToolAccess, Result> = ToolDefinitionBase<Input, Output> & {
190
201
  readonly backendInputSchema: BackendInput;
191
202
  readonly backendOutputSchema: BackendOutput;
192
203
  readonly isAvailable?: (context: BackendAdapterContext) => boolean | Promise<boolean>;
@@ -200,16 +211,17 @@ type InferredMappedToolDefinition<Input extends ZodObjectLike, Output extends Zo
200
211
  readonly access: Access;
201
212
  readonly requiredScopes: readonly string[];
202
213
  });
203
- type ShapeInput<Shape extends Readonly<Record<string, StandardSchemaV1>>> = {
204
- -readonly [Key in keyof Shape as undefined extends StandardSchemaV1.InferInput<Shape[Key]> ? never : Key]: StandardSchemaV1.InferInput<Shape[Key]>;
205
- } & {
206
- -readonly [Key in keyof Shape as undefined extends StandardSchemaV1.InferInput<Shape[Key]> ? Key : never]?: StandardSchemaV1.InferInput<Shape[Key]>;
207
- };
208
- type ResultDataKeys<Result> = Result extends ToolResult<infer Data> ? keyof Data : never;
209
- type ExactToolResult<Result, Output extends ZodObjectLike, ErrorMessage extends string> = [Exclude<ResultDataKeys<Awaited<Result>>, keyof Output["shape"]>] extends [never] ? object : {
214
+ type ResultDataKeys<Result> = Result extends ToolResult<infer Data> ? Data extends object ? keyof Data : never : never;
215
+ type ExactToolResult<Result, Output extends StandardSchemaWithJSON | undefined, ErrorMessage extends string> = Output extends ZodObjectLike ? [Exclude<ResultDataKeys<Awaited<Result>>, keyof Output["shape"]>] extends [never] ? object : {
216
+ readonly [Key in ErrorMessage]: never;
217
+ } : object;
218
+ type MixedToolResult<Result> = Result extends PromiseLike<infer Value> ? MixedToolResult<Value> : Result extends {
219
+ readonly data: unknown;
220
+ } ? Extract<keyof Result, "content" | "structuredContent" | "isError" | "_meta"> extends never ? never : Result : never;
221
+ type ExactToolResultForm<Result, ErrorMessage extends string> = [MixedToolResult<Result>] extends [never] ? object : {
210
222
  readonly [Key in ErrorMessage]: never;
211
223
  };
212
- export type ToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject, Result extends ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult | Promise<ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult> = ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult | Promise<ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult>> = ToolDefinitionBase<Input, Output> & ({
224
+ export type ToolDefinition<Input extends z.ZodObject, Output extends StandardSchemaWithJSON | undefined = undefined, Result extends CheckedToolResult<Output> | InputRequiredResult | Promise<CheckedToolResult<Output> | InputRequiredResult> = CheckedToolResult<Output> | InputRequiredResult | Promise<CheckedToolResult<Output> | InputRequiredResult>> = ToolDefinitionBase<Input, Output> & ({
213
225
  readonly access: "public";
214
226
  readonly requiredScopes?: never;
215
227
  readonly handler: (input: z.output<Input>, context: ToolContext<"public">) => Result;
@@ -218,7 +230,7 @@ export type ToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject
218
230
  readonly requiredScopes: readonly string[];
219
231
  readonly handler: (input: z.output<Input>, context: ToolContext<"protected">) => Result;
220
232
  });
221
- export type StreamingToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject, Result extends ToolResult<ShapeInput<Output["shape"]>> | Promise<ToolResult<ShapeInput<Output["shape"]>>> = ToolResult<ShapeInput<Output["shape"]>> | Promise<ToolResult<ShapeInput<Output["shape"]>>>> = ToolDefinitionBase<Input, Output> & ({
233
+ export type StreamingToolDefinition<Input extends z.ZodObject, Output extends StandardSchemaWithJSON | undefined = undefined, Result extends CheckedToolResult<Output> | Promise<CheckedToolResult<Output>> = CheckedToolResult<Output> | Promise<CheckedToolResult<Output>>> = ToolDefinitionBase<Input, Output> & ({
222
234
  readonly access: "public";
223
235
  readonly requiredScopes?: never;
224
236
  readonly handler: (input: z.output<Input>, context: StreamingToolContext<"public">) => Result;
@@ -227,7 +239,7 @@ export type StreamingToolDefinition<Input extends z.ZodObject, Output extends z.
227
239
  readonly requiredScopes: readonly string[];
228
240
  readonly handler: (input: z.output<Input>, context: StreamingToolContext<"protected">) => Result;
229
241
  });
230
- interface MappedToolDefinitionBase<Input extends z.ZodObject, Output extends z.ZodObject, BackendInput extends z.ZodObject, BackendOutput extends z.ZodObject, Result extends ToolResult<ShapeInput<Output["shape"]>> = ToolResult<ShapeInput<Output["shape"]>>> extends ToolDefinitionBase<Input, Output> {
242
+ type MappedToolDefinitionBase<Input extends z.ZodObject, Output extends StandardSchemaWithJSON | undefined, BackendInput extends z.ZodObject, BackendOutput extends z.ZodObject, Result extends CheckedToolResult<Output> = CheckedToolResult<Output>> = ToolDefinitionBase<Input, Output> & {
231
243
  readonly backendInputSchema: BackendInput;
232
244
  readonly backendOutputSchema: BackendOutput;
233
245
  /** Side-effect-free provider check. The tool stays listed while unavailable. */
@@ -235,8 +247,8 @@ interface MappedToolDefinitionBase<Input extends z.ZodObject, Output extends z.Z
235
247
  readonly mapInput: (input: z.output<Input>) => z.input<BackendInput>;
236
248
  readonly adapter: (input: z.output<BackendInput>, context: BackendAdapterContext) => unknown | Promise<unknown>;
237
249
  readonly mapOutput: (output: z.output<BackendOutput>) => Result;
238
- }
239
- export type MappedToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject, BackendInput extends z.ZodObject, BackendOutput extends z.ZodObject, Result extends ToolResult<ShapeInput<Output["shape"]>> = ToolResult<ShapeInput<Output["shape"]>>> = MappedToolDefinitionBase<Input, Output, BackendInput, BackendOutput, Result> & {
250
+ };
251
+ export type MappedToolDefinition<Input extends z.ZodObject, Output extends StandardSchemaWithJSON | undefined, BackendInput extends z.ZodObject, BackendOutput extends z.ZodObject, Result extends CheckedToolResult<Output> = CheckedToolResult<Output>> = MappedToolDefinitionBase<Input, Output, BackendInput, BackendOutput, Result> & {
240
252
  readonly access: "public";
241
253
  readonly requiredScopes?: never;
242
254
  } | MappedToolDefinitionBase<Input, Output, BackendInput, BackendOutput, Result> & {
@@ -456,9 +468,12 @@ interface RateLimitOptions {
456
468
  windowMs: number;
457
469
  maxClients: number;
458
470
  }
459
- export declare function defineTool<Input extends ZodObjectLike, Output extends ZodObjectLike, const Access extends ToolAccess, const Result extends ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult | Promise<ToolResult<ShapeInput<Output["shape"]>> | InputRequiredResult>>(definition: InferredToolDefinition<Input, Output, Access, Result> & ExactToolResult<Result, Output, "ERROR: handler data contains keys absent from outputSchema">): EmseepeaTool;
460
- export declare function defineStreamingTool<Input extends ZodObjectLike, Output extends ZodObjectLike, const Access extends ToolAccess, const Result extends ToolResult<ShapeInput<Output["shape"]>> | Promise<ToolResult<ShapeInput<Output["shape"]>>>>(definition: InferredStreamingToolDefinition<Input, Output, Access, Result> & ExactToolResult<Result, Output, "ERROR: handler data contains keys absent from outputSchema">): EmseepeaTool;
461
- export declare function defineMappedTool<Input extends ZodObjectLike, Output extends ZodObjectLike, BackendInput extends ZodObjectLike, BackendOutput extends ZodObjectLike, const Access extends ToolAccess, const Result extends ToolResult<ShapeInput<Output["shape"]>>>(definition: InferredMappedToolDefinition<Input, Output, BackendInput, BackendOutput, Access, Result> & ExactToolResult<Result, Output, "ERROR: mapOutput data contains keys absent from outputSchema">): EmseepeaTool;
471
+ export declare function defineTool<Input extends ZodObjectLike, const Access extends ToolAccess, const Result extends ProtocolToolResult | InputRequiredResult | Promise<ProtocolToolResult | InputRequiredResult>>(definition: InferredToolDefinition<Input, undefined, Access, Result>): EmseepeaTool;
472
+ export declare function defineTool<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON, const Access extends ToolAccess, const Result extends CheckedToolResult<Output> | InputRequiredResult | Promise<CheckedToolResult<Output> | InputRequiredResult>>(definition: InferredToolDefinition<Input, Output, Access, Result> & ExactToolResult<Result, Output, "ERROR: handler data contains keys absent from outputSchema"> & ExactToolResultForm<Result, "ERROR: handler mixes convenience and protocol result fields">): EmseepeaTool;
473
+ export declare function defineStreamingTool<Input extends ZodObjectLike, const Access extends ToolAccess, const Result extends ProtocolToolResult | Promise<ProtocolToolResult>>(definition: InferredStreamingToolDefinition<Input, undefined, Access, Result>): EmseepeaTool;
474
+ export declare function defineStreamingTool<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON, const Access extends ToolAccess, const Result extends CheckedToolResult<Output> | Promise<CheckedToolResult<Output>>>(definition: InferredStreamingToolDefinition<Input, Output, Access, Result> & ExactToolResult<Result, Output, "ERROR: handler data contains keys absent from outputSchema"> & ExactToolResultForm<Result, "ERROR: handler mixes convenience and protocol result fields">): EmseepeaTool;
475
+ export declare function defineMappedTool<Input extends ZodObjectLike, BackendInput extends ZodObjectLike, BackendOutput extends ZodObjectLike, const Access extends ToolAccess, const Result extends ProtocolToolResult>(definition: InferredMappedToolDefinition<Input, undefined, BackendInput, BackendOutput, Access, Result>): EmseepeaTool;
476
+ export declare function defineMappedTool<Input extends ZodObjectLike, Output extends StandardSchemaWithJSON, BackendInput extends ZodObjectLike, BackendOutput extends ZodObjectLike, const Access extends ToolAccess, const Result extends CheckedToolResult<Output>>(definition: InferredMappedToolDefinition<Input, Output, BackendInput, BackendOutput, Access, Result> & ExactToolResult<Result, Output, "ERROR: mapOutput data contains keys absent from outputSchema"> & ExactToolResultForm<Result, "ERROR: mapOutput mixes convenience and protocol result fields">): EmseepeaTool;
462
477
  export declare function defineResource(definition: ResourceDefinition): EmseepeaResource;
463
478
  export declare function defineResourceTemplate(definition: ResourceTemplateDefinition): EmseepeaResource;
464
479
  export declare function definePrompt<Args extends z.ZodObject>(definition: PromptDefinition<Args>): EmseepeaPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,SAAS,EAeT,aAAa,IAAI,gBAAgB,EAQjC,KAAK,mBAAmB,EAExB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,YAAY,EAEjB,KAAK,iBAAiB,IAAI,oBAAoB,EAM9C,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EAGvB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGlB,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,eAAe,EAGf,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAExB,cAAc,SAAS,CAAC;AACxB,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAAA;CAAE,CAAC,CAAC;AACxG,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;CAC5C;AAED,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,KAAK,iBAAiB,GAClB;IAAE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;AAE7E,UAAU,oBAAoB;IAC5B,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAC/C,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACzD,MAAM,CACJ,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAClD,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IAC3D,SAAS,CACP,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,EAQrB,oBAAoB,CAAC;AAE1B,wBAAgB,eAAe,CAAC,CAAC,SAAS,gBAAgB,EACxD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,GACR,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAE7C;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE9F,wBAAgB,aAAa,CAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,GACV,iBAAiB,CAGnB;AAED,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACtE,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACvC;AAGD,6EAA6E;AAC7E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,GAAG,EAAE,MAAM,GACV,SAAS,UAAU,EAAE,GAAG,SAAS,CAOnC;AAWD,QAAA,MAAM,QAAQ,eAAqB,CAAC;AACpC,QAAA,MAAM,YAAY,eAAyB,CAAC;AAC5C,QAAA,MAAM,SAAS,eAAqB,CAAC;AACrC,QAAA,MAAM,WAAW,eAAuB,CAAC;AACzC,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,YAAY,eAAwB,CAAC;AAC3C,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,YAAY,eAAwB,CAAC;AAC3C,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,gBAAgB,eAA4B,CAAC;AACnD,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,gBAAgB,eAA4B,CAAC;AACnD,QAAA,MAAM,eAAe,eAA2B,CAAC;AACjD,QAAA,MAAM,WAAW,eAAuB,CAAC;AACzC,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,cAAc,eAA0B,CAAC;AAS/C,KAAK,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAY3D,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E;AAwCD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AACtC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AACjF,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACjE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAE1E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AACD,MAAM,WAAW,UAAU,CAAC,MAAM;IAChC,gIAAgI;IAChI,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AACrD,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CACpF,SAAQ,gBAAgB;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CACnF,SAAQ,gBAAgB;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AACD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,KACvB,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AACpD,UAAU,yBAAyB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AACD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAChD,UAAU,kBAAkB,CAAC,KAAK,EAAE,MAAM;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AACD,KAAK,aAAa,GAAG,gBAAgB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC;CACtC,CAAC;AACF,KAAK,sBAAsB,CACzB,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,MAAM,SAAS,UAAU,EACzB,MAAM,IAEN,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAC1C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAClC,MAAM,CAAC;CACb,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAC/E,KAAK,+BAA+B,CAClC,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,MAAM,SAAS,UAAU,EACzB,MAAM,IACJ,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACtC,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAC1C,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAC3C,MAAM,CAAC;CACb,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAC7E,KAAK,4BAA4B,CAC/B,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,YAAY,SAAS,aAAa,EAClC,aAAa,SAAS,aAAa,EACnC,MAAM,SAAS,UAAU,EACzB,MAAM,IACJ,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACtC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,KACvC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,EACjD,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CACrF,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAC7E,KAAK,UAAU,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,IAAI;IAC1E,CAAC,UAAU,GAAG,IAAI,MAAM,KAAK,IAAI,SAAS,SAAS,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GACtG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAC1C,GAAG;IACF,CAAC,UAAU,GAAG,IAAI,MAAM,KAAK,IAAI,SAAS,SAAS,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EACxG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAC1C,CAAC;AAEF,KAAK,cAAc,CAAC,MAAM,IAAI,MAAM,SAAS,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,KAAK,CAAC;AACzF,KAAK,eAAe,CAClB,MAAM,EACN,MAAM,SAAS,aAAa,EAC5B,YAAY,SAAS,MAAM,IACzB,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjF,MAAM,GACN;IAAE,QAAQ,EAAE,GAAG,IAAI,YAAY,GAAG,KAAK;CAAE,CAAC;AAC9C,MAAM,MAAM,cAAc,CACxB,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,CAAC,CAAC,SAAS,EAC1B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAC1E,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,GACtE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAC7D,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAExE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAChC;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CACtF,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;CACzF,CACJ,CAAC;AACJ,MAAM,MAAM,uBAAuB,CACjC,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,CAAC,CAAC,SAAS,EAC1B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAE5F,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAChC;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CAC/F,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;CAClG,CACJ,CAAC;AACJ,UAAU,wBAAwB,CAChC,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,CAAC,CAAC,SAAS,EAC1B,YAAY,SAAS,CAAC,CAAC,SAAS,EAChC,aAAa,SAAS,CAAC,CAAC,SAAS,EACjC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAChG,SAAQ,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAC7B,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CACjE;AACD,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,CAAC,CAAC,SAAS,EAC1B,YAAY,SAAS,CAAC,CAAC,SAAS,EAChC,aAAa,SAAS,CAAC,CAAC,SAAS,EACjC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAE9F,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG;IAC7E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;CACjC,GACD,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG;IAC7E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,CAAC;AACN,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC7D,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AACD,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,CACtD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KACtD,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,KACzD,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAA;CAAE,CACrG,CAAC;AACF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACjE;AACD,KAAK,uBAAuB,CAAC,MAAM,SAAS,gBAAgB,IAAI,CAC9D,KAAK,EAAE;IACL,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1E,EACD,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAChC,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;AAClG,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,GAAG,CACtE;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAA;CAAE,CAC7D,CAAC;AACF,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE;QAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;QAC/D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD,CAAC;IACF,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IACjE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,KAAK,2BAA2B,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI;KAC1D,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,GACjF,KAAK,GACL,GAAG;CACR,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,KAAK,qBAAqB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IACjD;IAAC,2BAA2B,CAAC,IAAI,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAC/C,MAAM,GACN;IAAE,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3D,KAAK,oBAAoB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;CACxG,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAClF;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAC5E,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAC/E,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAA;CAAE,CAC/F,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC/D,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAClF,MAAM,MAAM,uBAAuB,CAAC,OAAO,GAAG,SAAS,IAAI,CACzD,OAAO,EAAE,OAAO,KACb,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AACD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAClD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,GAAG;QAClF,QAAQ,CAAC,iCAAiC,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC;IACF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,iGAAiG;IACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CAC7C;AACD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAC/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,yFAAyF;IACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACnD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACjD;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AACD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AACD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,eAAe,EACb,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,YAAY,CACf,CAAC;AACF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AACD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAChD,CAAC;AAEN,wBAAgB,qBAAqB,CACnC,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GACtE,iBAAiB,CAsCnB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CAC/C;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,UAAU,gBAAgB;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AA0BxF,wBAAgB,UAAU,CACxB,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SACR,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GACvC,mBAAmB,GACnB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,EAC1E,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CACnF,MAAM,EACN,MAAM,EACN,4DAA4D,CAC7D,GAAG,YAAY,CAMf;AAED,wBAAgB,mBAAmB,CACjC,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAClD,UAAU,EAAE,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAC5F,MAAM,EACN,MAAM,EACN,4DAA4D,CAC7D,GAAG,YAAY,CAGf;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,aAAa,EAC5B,YAAY,SAAS,aAAa,EAClC,aAAa,SAAS,aAAa,EACnC,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAE5D,UAAU,EAAE,4BAA4B,CACtC,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,EACN,MAAM,CACP,GAAG,eAAe,CACjB,MAAM,EACN,MAAM,EACN,8DAA8D,CAC/D,GACA,YAAY,CA+Bd;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,gBAAgB,CAoF/E;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,0BAA0B,GAAG,gBAAgB,CAkH/F;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,EACnD,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,GACjC,cAAc,CAkFhB;AAcD,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAG,SAAS,EAC5D,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,sBAAsB,CAAC,CA6CjC;AA6hBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CA4hBxE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI7E;AAwMD,wBAAsB,aAAa,CACjC,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA4ChC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -160,12 +160,13 @@ export function loadDeploymentProfile(environment = process.env) {
160
160
  return profile;
161
161
  }
162
162
  export function defineTool(definition) {
163
- const handler = definition.handler;
164
- return createCheckedTool(definition, handler, false, true);
163
+ const checkedDefinition = definition;
164
+ const handler = checkedDefinition.handler;
165
+ return createCheckedTool(checkedDefinition, handler, false, true);
165
166
  }
166
167
  export function defineStreamingTool(definition) {
167
- const handler = definition.handler;
168
- return createCheckedTool(definition, handler, true, false);
168
+ const checkedDefinition = definition;
169
+ return createCheckedTool(checkedDefinition, checkedDefinition.handler, true, false);
169
170
  }
170
171
  export function defineMappedTool(definition) {
171
172
  const checkedDefinition = definition;
@@ -532,7 +533,7 @@ function createCheckedTool(definition, execute, streaming, allowsInputRequired)
532
533
  assertValidMcpHeaderAnnotations(inputSchema);
533
534
  const access = normalizeCapabilityAccess("Tool", definition.access, definition.requiredScopes);
534
535
  const sdkInputSchema = sdkMetadataSchema(inputSchema);
535
- const sdkOutputSchema = sdkMetadataSchema(outputSchema);
536
+ const sdkOutputSchema = outputSchema ? sdkOutputMetadataSchema(outputSchema) : undefined;
536
537
  const listing = checkedProtocolValue("Tool", {
537
538
  name,
538
539
  title: definition.title,
@@ -540,7 +541,7 @@ function createCheckedTool(definition, execute, streaming, allowsInputRequired)
540
541
  icons: definition.icons,
541
542
  annotations: definition.annotations,
542
543
  inputSchema: jsonMetadataSchema(inputSchema, "input"),
543
- outputSchema: jsonMetadataSchema(outputSchema, "output"),
544
+ ...(outputSchema ? { outputSchema: standardJsonSchema(outputSchema, "output") } : {}),
544
545
  _meta: accessMetadata(definition._meta, access),
545
546
  });
546
547
  const metadata = Object.freeze({
@@ -549,7 +550,7 @@ function createCheckedTool(definition, execute, streaming, allowsInputRequired)
549
550
  icons: listing.icons,
550
551
  annotations: listing.annotations,
551
552
  inputSchema: sdkInputSchema,
552
- outputSchema: sdkOutputSchema,
553
+ ...(sdkOutputSchema ? { outputSchema: sdkOutputSchema } : {}),
553
554
  _meta: listing._meta,
554
555
  });
555
556
  const registration = {
@@ -604,21 +605,10 @@ function createCheckedTool(definition, execute, streaming, allowsInputRequired)
604
605
  assertResultSize(result, maxApplicationResultBytes, deadlineMs, signal);
605
606
  return result;
606
607
  }
607
- if (!isRecord(result) ||
608
- (result.text !== undefined && typeof result.text !== "string") ||
609
- !("data" in result)) {
608
+ if (!isRecord(result)) {
610
609
  throw new Error("Tool returned an invalid result");
611
610
  }
612
- signal.throwIfAborted();
613
- const parsedOutput = await outputSchema.safeParseAsync(result.data);
614
- if (!parsedOutput.success) {
615
- throw new Error("Tool returned output that does not match its schema");
616
- }
617
- const publicResult = {
618
- content: [{ type: "text", text: result.text ?? JSON.stringify(parsedOutput.data) }],
619
- structuredContent: parsedOutput.data,
620
- isError: false,
621
- };
611
+ const publicResult = await checkedToolResult(result, outputSchema, signal);
622
612
  assertResultSize(publicResult, maxApplicationResultBytes, deadlineMs, signal);
623
613
  return publicResult;
624
614
  });
@@ -631,6 +621,46 @@ function createCheckedTool(definition, execute, streaming, allowsInputRequired)
631
621
  };
632
622
  return Object.freeze(registration);
633
623
  }
624
+ async function checkedToolResult(result, outputSchema, signal) {
625
+ const convenience = Object.hasOwn(result, "data") || Object.hasOwn(result, "text");
626
+ const protocol = ["content", "structuredContent", "isError", "_meta"]
627
+ .some((field) => Object.hasOwn(result, field));
628
+ if (convenience) {
629
+ if (protocol || !outputSchema || !Object.hasOwn(result, "data") ||
630
+ (result.text !== undefined && typeof result.text !== "string")) {
631
+ throw new Error("Tool returned an invalid result");
632
+ }
633
+ signal.throwIfAborted();
634
+ const parsedOutput = await outputSchema["~standard"].validate(result.data);
635
+ if ("issues" in parsedOutput) {
636
+ throw new Error("Tool returned output that does not match its schema");
637
+ }
638
+ return checkedProtocolValue("CallToolResult", {
639
+ content: [{ type: "text", text: result.text ?? JSON.stringify(parsedOutput.value) }],
640
+ structuredContent: parsedOutput.value,
641
+ isError: false,
642
+ });
643
+ }
644
+ if (isRecord(result._meta) && Object.hasOwn(result._meta, "io.modelcontextprotocol/serverInfo")) {
645
+ throw new Error("Tool result metadata contains a framework-owned field");
646
+ }
647
+ let checked = checkedProtocolValue("CallToolResult", result);
648
+ if (outputSchema && checked.isError !== true) {
649
+ if (!Object.hasOwn(checked, "structuredContent")) {
650
+ throw new Error("Tool result is missing structured content");
651
+ }
652
+ signal.throwIfAborted();
653
+ const parsedOutput = await outputSchema["~standard"].validate(checked.structuredContent);
654
+ if ("issues" in parsedOutput) {
655
+ throw new Error("Tool returned output that does not match its schema");
656
+ }
657
+ checked = checkedProtocolValue("CallToolResult", {
658
+ ...checked,
659
+ structuredContent: parsedOutput.value,
660
+ });
661
+ }
662
+ return checked;
663
+ }
634
664
  function createLoggedToolRunner(clientLogging, execute, allowsInputRequired, access, requestState) {
635
665
  return async (input, context, signal, deadlineMs, reporter) => {
636
666
  const logReporter = clientLogReporter(context, signal, clientLogging.maxEvents, clientLogging.maxEventBytes);
@@ -1925,7 +1955,7 @@ function assertJsonValue(value, seen, allowUndefinedProperties = false) {
1925
1955
  for (const child of Object.values(value)) {
1926
1956
  if (child === undefined && allowUndefinedProperties)
1927
1957
  continue;
1928
- assertJsonValue(child, seen);
1958
+ assertJsonValue(child, seen, allowUndefinedProperties);
1929
1959
  }
1930
1960
  seen.delete(value);
1931
1961
  }
@@ -1939,6 +1969,9 @@ function deepFreeze(value) {
1939
1969
  function jsonMetadataSchema(schema, io) {
1940
1970
  return { ...z.toJSONSchema(schema, { target: "draft-2020-12", io }) };
1941
1971
  }
1972
+ function standardJsonSchema(schema, io) {
1973
+ return { ...schema["~standard"].jsonSchema[io]({ target: "draft-2020-12" }) };
1974
+ }
1942
1975
  function promptArguments(schema) {
1943
1976
  const jsonSchema = jsonMetadataSchema(schema, "input");
1944
1977
  const properties = isRecord(jsonSchema.properties) ? jsonSchema.properties : {};
@@ -1964,6 +1997,19 @@ function sdkMetadataSchema(schema) {
1964
1997
  },
1965
1998
  };
1966
1999
  }
2000
+ function sdkOutputMetadataSchema(schema) {
2001
+ return {
2002
+ "~standard": {
2003
+ version: 1,
2004
+ vendor: "emseepea",
2005
+ validate: (value) => ({ value }),
2006
+ jsonSchema: {
2007
+ input: () => standardJsonSchema(schema, "input"),
2008
+ output: () => standardJsonSchema(schema, "output"),
2009
+ },
2010
+ },
2011
+ };
2012
+ }
1967
2013
  const MCP_HEADER_NAME = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
1968
2014
  function assertValidMcpHeaderAnnotations(schema) {
1969
2015
  const jsonSchema = z.toJSONSchema(schema, { target: "draft-2020-12", io: "input" });