@uns-kit/core 3.0.5 → 3.0.7

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.
Files changed (32) hide show
  1. package/MIGRATIONS.md +26 -3
  2. package/README.md +7 -7
  3. package/dist/config/project.config.extension.d.ts +1 -1
  4. package/dist/config/project.config.extension.d.ts.map +1 -1
  5. package/dist/logger.d.ts.map +1 -1
  6. package/dist/logger.js +29 -30
  7. package/dist/logger.js.map +1 -1
  8. package/dist/tools/generate-config-schema.js +67 -11
  9. package/dist/tools/generate-config-schema.js.map +1 -1
  10. package/dist/uns/uns-attributes.d.ts +2 -2
  11. package/dist/uns/uns-interfaces.d.ts +5 -1
  12. package/dist/uns/uns-interfaces.d.ts.map +1 -1
  13. package/dist/uns/uns-interfaces.js.map +1 -1
  14. package/dist/uns-config/config-schema.d.ts +405 -5
  15. package/dist/uns-config/config-schema.d.ts.map +1 -1
  16. package/dist/uns-config/host-placeholders.d.ts +14 -98
  17. package/dist/uns-config/host-placeholders.d.ts.map +1 -1
  18. package/dist/uns-config/schema-tolls.d.ts +1 -2
  19. package/dist/uns-config/schema-tolls.d.ts.map +1 -1
  20. package/dist/uns-config/schema-tolls.js +2 -4
  21. package/dist/uns-config/schema-tolls.js.map +1 -1
  22. package/dist/uns-config/schema-tools.d.ts +6 -1
  23. package/dist/uns-config/schema-tools.d.ts.map +1 -1
  24. package/dist/uns-config/schema-tools.js +7 -8
  25. package/dist/uns-config/schema-tools.js.map +1 -1
  26. package/dist/uns-config/secret-placeholders.d.ts +8 -86
  27. package/dist/uns-config/secret-placeholders.d.ts.map +1 -1
  28. package/dist/uns-config/uns-core-schema.d.ts +191 -3106
  29. package/dist/uns-config/uns-core-schema.d.ts.map +1 -1
  30. package/dist/uns-config/uns-core-schema.js +61 -68
  31. package/dist/uns-config/uns-core-schema.js.map +1 -1
  32. package/package.json +18 -19
package/MIGRATIONS.md CHANGED
@@ -9,6 +9,31 @@ Agents must inspect the application's existing ownership and shutdown flow
9
9
  before editing it. The examples below describe the intended behavior, not a
10
10
  mechanical search-and-replace operation.
11
11
 
12
+ ## 3.0.7 - Zod 4 configuration contracts
13
+
14
+ Apply this migration when upgrading from `@uns-kit/core` `<3.0.7` to
15
+ `>=3.0.7`.
16
+
17
+ `@uns-kit/core` and `@uns-kit/database` now use Zod 4. Applications that own a
18
+ `src/config/project.config.extension.ts` file must use the same Zod major at the
19
+ schema-composition boundary. Update the application's direct `zod` dependency
20
+ to `^4.4.3` before regenerating configuration artifacts.
21
+
22
+ The UNS core and database schemas preserve their previous accepted inputs and
23
+ defaults. The migration is nevertheless source-sensitive for applications that
24
+ inspect Zod internals or use Zod-3-only type aliases. Replace those seams with
25
+ the public Zod 4 API:
26
+
27
+ - replace `z.AnyZodObject` with `z.ZodObject<z.ZodRawShape>`;
28
+ - replace `z.ZodTypeAny` with `z.ZodType` where a broad schema type is needed;
29
+ - read object keys through `.shape`, not `_def.shape()`;
30
+ - pass both key and value schemas to `z.record(keySchema, valueSchema)`;
31
+ - prefer object `.extend()` or shape spreading over deprecated `.merge()`.
32
+
33
+ After updating the extension schema, run `pnpm run generate-config-schema` and
34
+ check both `config.schema.json` and `src/config/app-config.ts`. Then run the
35
+ application's typecheck and its existing configuration compatibility tests.
36
+
12
37
  ## 3.0.0 - MQTT table columns use named objects
13
38
 
14
39
  Apply this migration when upgrading from `@uns-kit/core` `<3.0.0` to
@@ -22,9 +47,7 @@ column directly addressable as, for example,
22
47
  Before:
23
48
 
24
49
  ```ts
25
- columns: [
26
- { name: "power", type: "double", value: 42.1, uom: "kW" },
27
- ]
50
+ columns: [{ name: "power", type: "double", value: 42.1, uom: "kW" }];
28
51
  ```
29
52
 
30
53
  After:
package/README.md CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  Core utilities and runtime building blocks for Unified Namespace (UNS) applications. The package bundles the process lifecycle manager, MQTT integrations, gRPC gateway helpers, configuration tooling, and shared type definitions that power the UNS ecosystem.
4
4
 
5
- Note: Apps built with uns-kit are intended to be managed by the **UNS Datahub controller**.
5
+ Note: Apps built with uns-kit are intended to be managed by the **UNS OpenHub controller**.
6
6
 
7
7
  ## uns-kit in context
8
8
 
9
9
  | Package | Description |
10
10
  | --- | --- |
11
- | [`@uns-kit/core`](https://github.com/uns-datahub/uns-kit/tree/main/packages/uns-core) | Base runtime (UnsProxyProcess, MQTT helpers, config tooling, gRPC gateway). |
12
- | [`@uns-kit/api`](https://github.com/uns-datahub/uns-kit/tree/main/packages/uns-api) | Express plugin — HTTP endpoints, JWT/JWKS auth, Swagger, UNS metadata. |
13
- | [`@uns-kit/cron`](https://github.com/uns-datahub/uns-kit/tree/main/packages/uns-cron) | Cron-driven scheduler that emits UNS events on a fixed cadence. |
14
- | [`@uns-kit/cli`](https://github.com/uns-datahub/uns-kit/tree/main/packages/uns-cli) | CLI for scaffolding new UNS applications. |
11
+ | [`@uns-kit/core`](https://github.com/uns-openhub/uns-kit/tree/main/packages/uns-core) | Base runtime (UnsProxyProcess, MQTT helpers, config tooling, gRPC gateway). |
12
+ | [`@uns-kit/api`](https://github.com/uns-openhub/uns-kit/tree/main/packages/uns-api) | Express plugin — HTTP endpoints, JWT/JWKS auth, Swagger, UNS metadata. |
13
+ | [`@uns-kit/cron`](https://github.com/uns-openhub/uns-kit/tree/main/packages/uns-cron) | Cron-driven scheduler that emits UNS events on a fixed cadence. |
14
+ | [`@uns-kit/cli`](https://github.com/uns-openhub/uns-kit/tree/main/packages/uns-cli) | CLI for scaffolding new UNS applications. |
15
15
 
16
16
  ## Installation
17
17
 
@@ -25,7 +25,7 @@ npm install @uns-kit/core
25
25
 
26
26
  - **UnsProxyProcess** — the central runtime class. It manages the MQTT connection, plugin lifecycle, and the instance status topic. Plugins (`@uns-kit/api`, `@uns-kit/cron`) augment it with domain-specific proxy factories.
27
27
  - **UnsProxy** — base class extended by all plugin proxies. Tracks produced topics, API endpoints, and catch-all mappings; re-publishes them to the controller on a 60-second cadence.
28
- - **ConfigFile** — loads and validates `config.json` at startup. On a real server this file is provided by the UNS Datahub controller; in development you maintain it yourself.
28
+ - **ConfigFile** — loads and validates `config.json` at startup. On a real server this file is provided by the UNS OpenHub controller; in development you maintain it yourself.
29
29
  - **MQTT helpers** — resilient publishers, topic builders, throttled queues, and handover support.
30
30
  - **gRPC gateway** — infrastructure to bridge Python workers into the UNS message fabric.
31
31
 
@@ -81,7 +81,7 @@ const cron = await proc.createCrontabProxy("*/5 * * * *", { event: "tick" });
81
81
 
82
82
  ## Datahub client (last value + history)
83
83
 
84
- `UnsClient` provides a minimal REST client for the UNS Datahub API, including batch last-value, single-topic catch-all history, and batch range endpoints. Prefer a long-lived service token if available; you can pass it directly and skip username/password auth.
84
+ `UnsClient` provides a minimal REST client for the UNS OpenHub API, including batch last-value, single-topic catch-all history, and batch range endpoints. Prefer a long-lived service token if available; you can pass it directly and skip username/password auth.
85
85
 
86
86
  ```ts
87
87
  import { UnsClient } from "@uns-kit/core";
@@ -1,4 +1,4 @@
1
1
  import { z } from "zod";
2
- export declare const projectExtrasSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
2
+ export declare const projectExtrasSchema: z.ZodObject<{}, z.core.$strip>;
3
3
  export type ProjectExtras = z.infer<typeof projectExtrasSchema>;
4
4
  //# sourceMappingURL=project.config.extension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.config.extension.d.ts","sourceRoot":"","sources":["../../src/config/project.config.extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB,gDAAe,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"project.config.extension.d.ts","sourceRoot":"","sources":["../../src/config/project.config.extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB,gCAAe,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAuEA,QAAA,MAAM,MAAM,0BAiBV,CAAC;AAEH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,4BAY3C;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAyEA,QAAA,MAAM,MAAM,0BAiBV,CAAC;AAEH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,4BAU3C;AAED,eAAe,MAAM,CAAC"}
package/dist/logger.js CHANGED
@@ -1,14 +1,15 @@
1
- import { createLogger, format, transports } from 'winston';
2
- import GelfTransport from 'winston-gelf';
3
- import os from 'os';
4
- import path from 'path';
5
- import fs from 'fs';
6
- import { fileURLToPath } from 'url';
7
- import { ConfigFile } from './config-file.js';
1
+ /// <reference path="./types/winston-gelf.d.ts" />
2
+ import fs from "fs";
3
+ import os from "os";
4
+ import path from "path";
5
+ import { fileURLToPath } from "url";
6
+ import { createLogger, format, transports } from "winston";
7
+ import GelfTransport from "winston-gelf";
8
+ import { ConfigFile } from "./config-file.js";
8
9
  function loadPackageMeta() {
9
- const packageJsonPath = path.join(process.cwd(), 'package.json');
10
+ const packageJsonPath = path.join(process.cwd(), "package.json");
10
11
  try {
11
- const raw = fs.readFileSync(packageJsonPath, 'utf8');
12
+ const raw = fs.readFileSync(packageJsonPath, "utf8");
12
13
  const packageMeta = JSON.parse(raw);
13
14
  if (packageMeta.name || packageMeta.version) {
14
15
  return packageMeta;
@@ -30,54 +31,52 @@ function loadLoggingConfig() {
30
31
  const packageMeta = loadPackageMeta();
31
32
  const loggingConfig = loadLoggingConfig();
32
33
  const gelfMeta = {
33
- service: packageMeta.name ?? 'unknown-service',
34
- version: packageMeta.version ?? 'unknown',
35
- environment: process.env.NODE_ENV || 'unknown',
36
- hostname: os.hostname()
34
+ service: packageMeta.name ?? "unknown-service",
35
+ version: packageMeta.version ?? "unknown",
36
+ environment: process.env.NODE_ENV || "unknown",
37
+ hostname: os.hostname(),
37
38
  };
38
- const consoleFormat = format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.errors({ stack: true }), format.splat(), format.json());
39
+ const consoleFormat = format.combine(format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), format.errors({ stack: true }), format.splat(), format.json());
39
40
  const loggerTransports = [
40
41
  new transports.Console({
41
- format: consoleFormat
42
- })
42
+ format: consoleFormat,
43
+ }),
43
44
  ];
44
45
  if (loggingConfig) {
45
46
  loggerTransports.push(new GelfTransport({
46
47
  format: format((info) => ({
47
48
  ...info,
48
- ...gelfMeta
49
+ ...gelfMeta,
49
50
  }))(),
50
51
  gelfPro: {
51
52
  adapterName: loggingConfig.adapter,
52
53
  adapterOptions: {
53
54
  host: loggingConfig.host,
54
- port: loggingConfig.port
55
- }
56
- }
55
+ port: loggingConfig.port,
56
+ },
57
+ },
57
58
  }));
58
59
  }
59
60
  const logger = createLogger({
60
- level: loggingConfig?.level ?? 'info',
61
- format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.errors({ stack: true }), // Include stack trace
61
+ level: loggingConfig?.level ?? "info",
62
+ format: format.combine(format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), format.errors({ stack: true }), // Include stack trace
62
63
  format.splat(), format.json()),
63
64
  transports: loggerTransports,
64
65
  exceptionHandlers: [
65
66
  new transports.Console({
66
- format: consoleFormat
67
+ format: consoleFormat,
67
68
  }), // Log exceptions to console
68
69
  // Remove exception logging to file
69
70
  // new transports.File({ filename: 'logs/exceptions.log' })
70
- ]
71
+ ],
71
72
  });
72
73
  export function getLogger(modulePath) {
73
- const normalizedModulePath = modulePath.startsWith('file:')
74
- ? fileURLToPath(modulePath)
75
- : modulePath;
74
+ const normalizedModulePath = modulePath.startsWith("file:") ? fileURLToPath(modulePath) : modulePath;
76
75
  const relativePath = path.relative(process.cwd(), normalizedModulePath);
77
- const withoutExt = relativePath.replace(/\.[^/.]+$/, '');
78
- const dotted = withoutExt.split(path.sep).join('.');
76
+ const withoutExt = relativePath.replace(/\.[^/.]+$/, "");
77
+ const dotted = withoutExt.split(path.sep).join(".");
79
78
  return logger.child({
80
- facility: dotted
79
+ facility: dotted,
81
80
  });
82
81
  }
83
82
  export default logger;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { createLogger, format, transports } from 'winston';\nimport GelfTransport from 'winston-gelf'\nimport os from 'os'\nimport path from 'path'\nimport fs from 'fs'\nimport { fileURLToPath } from 'url';\nimport { ConfigFile } from './config-file.js'\n\nfunction loadPackageMeta(): { name?: string; version?: string } {\n const packageJsonPath = path.join(process.cwd(), 'package.json')\n\n try {\n const raw = fs.readFileSync(packageJsonPath, 'utf8')\n const packageMeta = JSON.parse(raw) as { name?: string; version?: string }\n if (packageMeta.name || packageMeta.version) {\n return packageMeta\n }\n } catch {\n // Use unknown values when the application package metadata is unavailable.\n }\n\n return {}\n}\n\nfunction loadLoggingConfig() {\n try {\n return ConfigFile.loadRawConfig().logging\n } catch {\n return undefined\n }\n}\n\nconst packageMeta = loadPackageMeta()\nconst loggingConfig = loadLoggingConfig()\nconst gelfMeta = {\n service: packageMeta.name ?? 'unknown-service',\n version: packageMeta.version ?? 'unknown',\n environment: process.env.NODE_ENV || 'unknown',\n hostname: os.hostname()\n}\nconst consoleFormat = format.combine(\n format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),\n format.errors({ stack: true }),\n format.splat(),\n format.json()\n)\n\nconst loggerTransports = [\n new transports.Console({\n format: consoleFormat\n })\n]\n\nif (loggingConfig) {\n loggerTransports.push(\n new GelfTransport({\n format: format((info) => ({\n ...info,\n ...gelfMeta\n }))(),\n gelfPro: {\n adapterName: loggingConfig.adapter,\n adapterOptions: {\n host: loggingConfig.host,\n port: loggingConfig.port\n }\n }\n })\n )\n}\n\nconst logger = createLogger({\n level: loggingConfig?.level ?? 'info',\n\n format: format.combine(\n format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),\n format.errors({ stack: true }), // Include stack trace\n format.splat(),\n format.json()\n ),\n transports: loggerTransports,\n exceptionHandlers: [\n new transports.Console({\n format: consoleFormat\n }), // Log exceptions to console\n // Remove exception logging to file\n // new transports.File({ filename: 'logs/exceptions.log' })\n ]\n});\n\nexport function getLogger(modulePath: string) {\n const normalizedModulePath = modulePath.startsWith('file:')\n ? fileURLToPath(modulePath)\n : modulePath\n\n const relativePath = path.relative(process.cwd(), normalizedModulePath)\n const withoutExt = relativePath.replace(/\\.[^/.]+$/, '')\n const dotted = withoutExt.split(path.sep).join('.')\n\n return logger.child({\n facility: dotted\n })\n}\n\nexport default logger\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference path=\"./types/winston-gelf.d.ts\" />\nimport fs from \"fs\";\nimport os from \"os\";\nimport path from \"path\";\nimport { fileURLToPath } from \"url\";\nimport { createLogger, format, transports } from \"winston\";\nimport GelfTransport from \"winston-gelf\";\n\nimport { ConfigFile } from \"./config-file.js\";\n\nfunction loadPackageMeta(): { name?: string; version?: string } {\n const packageJsonPath = path.join(process.cwd(), \"package.json\");\n\n try {\n const raw = fs.readFileSync(packageJsonPath, \"utf8\");\n const packageMeta = JSON.parse(raw) as { name?: string; version?: string };\n if (packageMeta.name || packageMeta.version) {\n return packageMeta;\n }\n } catch {\n // Use unknown values when the application package metadata is unavailable.\n }\n\n return {};\n}\n\nfunction loadLoggingConfig() {\n try {\n return ConfigFile.loadRawConfig().logging;\n } catch {\n return undefined;\n }\n}\n\nconst packageMeta = loadPackageMeta();\nconst loggingConfig = loadLoggingConfig();\nconst gelfMeta = {\n service: packageMeta.name ?? \"unknown-service\",\n version: packageMeta.version ?? \"unknown\",\n environment: process.env.NODE_ENV || \"unknown\",\n hostname: os.hostname(),\n};\nconst consoleFormat = format.combine(\n format.timestamp({ format: \"YYYY-MM-DD HH:mm:ss\" }),\n format.errors({ stack: true }),\n format.splat(),\n format.json(),\n);\n\nconst loggerTransports = [\n new transports.Console({\n format: consoleFormat,\n }),\n];\n\nif (loggingConfig) {\n loggerTransports.push(\n new GelfTransport({\n format: format((info) => ({\n ...info,\n ...gelfMeta,\n }))(),\n gelfPro: {\n adapterName: loggingConfig.adapter,\n adapterOptions: {\n host: loggingConfig.host,\n port: loggingConfig.port,\n },\n },\n }),\n );\n}\n\nconst logger = createLogger({\n level: loggingConfig?.level ?? \"info\",\n\n format: format.combine(\n format.timestamp({ format: \"YYYY-MM-DD HH:mm:ss\" }),\n format.errors({ stack: true }), // Include stack trace\n format.splat(),\n format.json(),\n ),\n transports: loggerTransports,\n exceptionHandlers: [\n new transports.Console({\n format: consoleFormat,\n }), // Log exceptions to console\n // Remove exception logging to file\n // new transports.File({ filename: 'logs/exceptions.log' })\n ],\n});\n\nexport function getLogger(modulePath: string) {\n const normalizedModulePath = modulePath.startsWith(\"file:\") ? fileURLToPath(modulePath) : modulePath;\n\n const relativePath = path.relative(process.cwd(), normalizedModulePath);\n const withoutExt = relativePath.replace(/\\.[^/.]+$/, \"\");\n const dotted = withoutExt.split(path.sep).join(\".\");\n\n return logger.child({\n facility: dotted,\n });\n}\n\nexport default logger;\n"]}
@@ -1,15 +1,48 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { pathToFileURL } from "node:url";
4
- import { zodToJsonSchema } from "zod-to-json-schema";
5
- import { zodToTs, printNode, withGetType } from "zod-to-ts";
4
+ import { z } from "zod";
5
+ import { createAuxiliaryTypeStore, printNode, zodToTs } from "zod-to-ts";
6
6
  import { hostValueSchema } from "../uns-config/host-placeholders.js";
7
- import { secretValueSchema } from "../uns-config/secret-placeholders.js";
8
7
  import { composeConfigSchema } from "../uns-config/schema-tools.js";
8
+ import { secretValueSchema } from "../uns-config/secret-placeholders.js";
9
9
  function write(filePath, data) {
10
10
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
11
11
  fs.writeFileSync(filePath, data);
12
12
  }
13
+ function normalizeLegacyJsonSchema(value) {
14
+ if (Array.isArray(value)) {
15
+ value.forEach(normalizeLegacyJsonSchema);
16
+ return;
17
+ }
18
+ if (!value || typeof value !== "object") {
19
+ return;
20
+ }
21
+ const schema = value;
22
+ Object.values(schema).forEach(normalizeLegacyJsonSchema);
23
+ if (schema.type === "number" && schema.multipleOf === 1) {
24
+ schema.type = "integer";
25
+ delete schema.multipleOf;
26
+ }
27
+ if (schema.format === "email") {
28
+ delete schema.pattern;
29
+ }
30
+ if (Array.isArray(schema.oneOf) && !schema.anyOf) {
31
+ schema.anyOf = schema.oneOf;
32
+ delete schema.oneOf;
33
+ }
34
+ if (Array.isArray(schema.anyOf)) {
35
+ const literalOptions = schema.anyOf;
36
+ const literalType = literalOptions[0]?.type;
37
+ if (literalOptions.length > 0 &&
38
+ typeof literalType === "string" &&
39
+ literalOptions.every((option) => option.type === literalType && Object.hasOwn(option, "const"))) {
40
+ schema.type = literalType;
41
+ schema.enum = literalOptions.map((option) => option.const);
42
+ delete schema.anyOf;
43
+ }
44
+ }
45
+ }
13
46
  let tsLoaderReady = false;
14
47
  async function ensureTsLoader() {
15
48
  if (tsLoaderReady) {
@@ -19,7 +52,7 @@ async function ensureTsLoader() {
19
52
  try {
20
53
  await import("tsx/esm");
21
54
  }
22
- catch (error) {
55
+ catch {
23
56
  throw new Error("Unable to load TypeScript project.config.extension. Install 'tsx' (e.g. pnpm add -D tsx) or provide a compiled JavaScript file.");
24
57
  }
25
58
  }
@@ -53,18 +86,40 @@ async function loadProjectExtrasSchema() {
53
86
  // Keep placeholder-backed values as plain strings in the generated TypeScript typings so
54
87
  // consuming code reflects the resolved shapes while the JSON schema still exposes full unions.
55
88
  const renderAsString = (typescript) => typescript.factory.createKeywordTypeNode(typescript.SyntaxKind.StringKeyword);
56
- for (const schema of [hostValueSchema, secretValueSchema]) {
57
- withGetType(schema, renderAsString);
58
- }
89
+ const typeOverrides = new Map();
90
+ typeOverrides.set(hostValueSchema, renderAsString);
91
+ typeOverrides.set(secretValueSchema, renderAsString);
59
92
  const { unsCoreSchema } = await import("../uns-config/uns-core-schema.js");
60
93
  const projectExtrasSchema = await loadProjectExtrasSchema();
61
94
  const baseSchema = composeConfigSchema(unsCoreSchema, projectExtrasSchema).strict();
62
95
  // 1) JSON Schema for VS Code $schema
63
- const jsonSchema = zodToJsonSchema(baseSchema, "AppConfig");
96
+ const generatedJsonSchema = z.toJSONSchema(baseSchema, {
97
+ io: "input",
98
+ reused: "inline",
99
+ target: "draft-07",
100
+ });
101
+ normalizeLegacyJsonSchema(generatedJsonSchema);
102
+ const { $schema, definitions: reusedDefinitions, ...appConfigDefinition } = generatedJsonSchema;
103
+ const jsonSchema = {
104
+ $ref: "#/definitions/AppConfig",
105
+ definitions: {
106
+ AppConfig: appConfigDefinition,
107
+ ...(reusedDefinitions ?? {}),
108
+ },
109
+ $schema,
110
+ };
64
111
  write(path.resolve("config.schema.json"), JSON.stringify(jsonSchema, null, 2));
65
112
  // 2) TypeScript `export type AppConfig = {...}`
66
- const { node } = zodToTs(baseSchema, "AppConfig");
67
- const interfaceBody = printNode(node);
113
+ const auxiliaryTypeStore = createAuxiliaryTypeStore();
114
+ const { node } = zodToTs(baseSchema, {
115
+ auxiliaryTypeStore,
116
+ io: "input",
117
+ overrides: typeOverrides,
118
+ });
119
+ const interfaceBody = printNode(node)
120
+ .replace(/^\s*\[x: string\]: never;\n/gm, "")
121
+ .replace(/\[key: string\]:/g, "[x: string]:");
122
+ const auxiliaryTypes = [...auxiliaryTypeStore.definitions.values()].map((definition) => printNode(definition.node)).join("\n");
68
123
  let shouldAugment = true;
69
124
  try {
70
125
  const pkgJsonPath = path.resolve(process.cwd(), "package.json");
@@ -81,7 +136,8 @@ catch {
81
136
  const augmentationBlock = shouldAugment
82
137
  ? `\n\ntype GeneratedProjectAppConfig = ProjectAppConfig;\ntype GeneratedAppConfig = AppConfig;\n\ndeclare module "@uns-kit/core/config/app-config.js" {\n interface ProjectAppConfig extends GeneratedProjectAppConfig {}\n interface AppConfig extends GeneratedAppConfig {}\n}\n`
83
138
  : "\n";
84
- const tsContent = `/* Auto-generated. Do not edit by hand. */\nexport interface ProjectAppConfig ${interfaceBody}\n\nexport interface AppConfig extends ProjectAppConfig {}${augmentationBlock}`;
139
+ const auxiliaryPreamble = auxiliaryTypes ? `${auxiliaryTypes}\n\n` : "";
140
+ const tsContent = `/* Auto-generated. Do not edit by hand. */\n${auxiliaryPreamble}export interface ProjectAppConfig ${interfaceBody}\n\nexport interface AppConfig extends ProjectAppConfig {}${augmentationBlock}`;
85
141
  write(path.resolve("./src/config/app-config.ts"), tsContent);
86
142
  console.log("Generated config.schema.json and updated src/config/app-config.ts");
87
143
  //# sourceMappingURL=generate-config-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-config-schema.js","sourceRoot":"","sources":["../../src/tools/generate-config-schema.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\nimport { zodToTs, printNode, withGetType } from \"zod-to-ts\";\nimport { z } from \"zod\";\n\nimport { hostValueSchema } from \"../uns-config/host-placeholders.js\";\nimport { secretValueSchema } from \"../uns-config/secret-placeholders.js\";\nimport { composeConfigSchema } from \"../uns-config/schema-tools.js\";\n\nfunction write(filePath: string, data: string) {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, data);\n}\n\nlet tsLoaderReady = false;\n\nasync function ensureTsLoader(): Promise<void> {\n if (tsLoaderReady) {\n return;\n }\n tsLoaderReady = true;\n try {\n await import(\"tsx/esm\");\n } catch (error) {\n throw new Error(\n \"Unable to load TypeScript project.config.extension. Install 'tsx' (e.g. pnpm add -D tsx) or provide a compiled JavaScript file.\",\n );\n }\n}\n\nasync function loadProjectExtrasSchema(): Promise<z.AnyZodObject> {\n const base = path.resolve(process.cwd(), \"src/config/project.config.extension\");\n const extensions = [\"\", \".ts\", \".mts\", \".tsx\", \".js\", \".mjs\", \".cjs\"];\n\n for (const ext of extensions) {\n const candidate = ext ? `${base}${ext}` : base;\n if (!fs.existsSync(candidate)) {\n continue;\n }\n\n const lowerExt = path.extname(candidate).toLowerCase();\n try {\n if (lowerExt === \".ts\" || lowerExt === \".mts\" || lowerExt === \".tsx\") {\n await ensureTsLoader();\n }\n\n const module = await import(pathToFileURL(candidate).href);\n if (module?.projectExtrasSchema) {\n return module.projectExtrasSchema as z.AnyZodObject;\n }\n\n throw new Error(`Module '${candidate}' does not export projectExtrasSchema.`);\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(`Failed to load project config extension at '${candidate}': ${reason}`);\n }\n }\n\n const coreModule = await import(\"../config/project.config.extension.js\");\n return coreModule.projectExtrasSchema as z.AnyZodObject;\n}\n\n// Keep placeholder-backed values as plain strings in the generated TypeScript typings so\n// consuming code reflects the resolved shapes while the JSON schema still exposes full unions.\nconst renderAsString = (typescript: any) =>\n typescript.factory.createKeywordTypeNode(typescript.SyntaxKind.StringKeyword);\n\nfor (const schema of [hostValueSchema, secretValueSchema]) {\n withGetType(schema, renderAsString);\n}\n\nconst { unsCoreSchema } = await import(\"../uns-config/uns-core-schema.js\");\nconst projectExtrasSchema = await loadProjectExtrasSchema();\nconst baseSchema = composeConfigSchema(unsCoreSchema, projectExtrasSchema).strict();\n\n// 1) JSON Schema for VS Code $schema\nconst jsonSchema = zodToJsonSchema(baseSchema, \"AppConfig\");\nwrite(path.resolve(\"config.schema.json\"), JSON.stringify(jsonSchema, null, 2));\n\n// 2) TypeScript `export type AppConfig = {...}`\nconst { node } = zodToTs(baseSchema, \"AppConfig\");\nconst interfaceBody = printNode(node);\n\nlet shouldAugment = true;\ntry {\n const pkgJsonPath = path.resolve(process.cwd(), \"package.json\");\n if (fs.existsSync(pkgJsonPath)) {\n const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, \"utf8\"));\n if (pkg?.name === \"@uns-kit/core\") {\n shouldAugment = false;\n }\n }\n} catch {\n shouldAugment = true;\n}\n\nconst augmentationBlock = shouldAugment\n ? `\\n\\ntype GeneratedProjectAppConfig = ProjectAppConfig;\\ntype GeneratedAppConfig = AppConfig;\\n\\ndeclare module \"@uns-kit/core/config/app-config.js\" {\\n interface ProjectAppConfig extends GeneratedProjectAppConfig {}\\n interface AppConfig extends GeneratedAppConfig {}\\n}\\n`\n : \"\\n\";\n\nconst tsContent = `/* Auto-generated. Do not edit by hand. */\\nexport interface ProjectAppConfig ${interfaceBody}\\n\\nexport interface AppConfig extends ProjectAppConfig {}${augmentationBlock}`;\n\nwrite(path.resolve(\"./src/config/app-config.ts\"), tsContent);\n\nconsole.log(\"Generated config.schema.json and updated src/config/app-config.ts\");\n"]}
1
+ {"version":3,"file":"generate-config-schema.js","sourceRoot":"","sources":["../../src/tools/generate-config-schema.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { z } from \"zod\";\nimport { type TypeOverrideMap, createAuxiliaryTypeStore, printNode, zodToTs } from \"zod-to-ts\";\n\nimport { hostValueSchema } from \"../uns-config/host-placeholders.js\";\nimport { type ConfigObjectSchema, composeConfigSchema } from \"../uns-config/schema-tools.js\";\nimport { secretValueSchema } from \"../uns-config/secret-placeholders.js\";\n\nfunction write(filePath: string, data: string) {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, data);\n}\n\ntype JsonSchemaRecord = Record<string, unknown>;\n\nfunction normalizeLegacyJsonSchema(value: unknown): void {\n if (Array.isArray(value)) {\n value.forEach(normalizeLegacyJsonSchema);\n return;\n }\n if (!value || typeof value !== \"object\") {\n return;\n }\n\n const schema = value as JsonSchemaRecord;\n Object.values(schema).forEach(normalizeLegacyJsonSchema);\n\n if (schema.type === \"number\" && schema.multipleOf === 1) {\n schema.type = \"integer\";\n delete schema.multipleOf;\n }\n if (schema.format === \"email\") {\n delete schema.pattern;\n }\n if (Array.isArray(schema.oneOf) && !schema.anyOf) {\n schema.anyOf = schema.oneOf;\n delete schema.oneOf;\n }\n\n if (Array.isArray(schema.anyOf)) {\n const literalOptions = schema.anyOf as JsonSchemaRecord[];\n const literalType = literalOptions[0]?.type;\n if (\n literalOptions.length > 0 &&\n typeof literalType === \"string\" &&\n literalOptions.every((option) => option.type === literalType && Object.hasOwn(option, \"const\"))\n ) {\n schema.type = literalType;\n schema.enum = literalOptions.map((option) => option.const);\n delete schema.anyOf;\n }\n }\n}\n\nlet tsLoaderReady = false;\n\nasync function ensureTsLoader(): Promise<void> {\n if (tsLoaderReady) {\n return;\n }\n tsLoaderReady = true;\n try {\n await import(\"tsx/esm\");\n } catch {\n throw new Error(\n \"Unable to load TypeScript project.config.extension. Install 'tsx' (e.g. pnpm add -D tsx) or provide a compiled JavaScript file.\",\n );\n }\n}\n\nasync function loadProjectExtrasSchema(): Promise<ConfigObjectSchema> {\n const base = path.resolve(process.cwd(), \"src/config/project.config.extension\");\n const extensions = [\"\", \".ts\", \".mts\", \".tsx\", \".js\", \".mjs\", \".cjs\"];\n\n for (const ext of extensions) {\n const candidate = ext ? `${base}${ext}` : base;\n if (!fs.existsSync(candidate)) {\n continue;\n }\n\n const lowerExt = path.extname(candidate).toLowerCase();\n try {\n if (lowerExt === \".ts\" || lowerExt === \".mts\" || lowerExt === \".tsx\") {\n await ensureTsLoader();\n }\n\n const module = await import(pathToFileURL(candidate).href);\n if (module?.projectExtrasSchema) {\n return module.projectExtrasSchema as ConfigObjectSchema;\n }\n\n throw new Error(`Module '${candidate}' does not export projectExtrasSchema.`);\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(`Failed to load project config extension at '${candidate}': ${reason}`);\n }\n }\n\n const coreModule = await import(\"../config/project.config.extension.js\");\n return coreModule.projectExtrasSchema as ConfigObjectSchema;\n}\n\n// Keep placeholder-backed values as plain strings in the generated TypeScript typings so\n// consuming code reflects the resolved shapes while the JSON schema still exposes full unions.\nconst renderAsString: TypeOverrideMap extends Map<unknown, infer TOverride> ? TOverride : never = (typescript) =>\n typescript.factory.createKeywordTypeNode(typescript.SyntaxKind.StringKeyword);\n\nconst typeOverrides: TypeOverrideMap = new Map();\ntypeOverrides.set(hostValueSchema, renderAsString);\ntypeOverrides.set(secretValueSchema, renderAsString);\n\nconst { unsCoreSchema } = await import(\"../uns-config/uns-core-schema.js\");\nconst projectExtrasSchema = await loadProjectExtrasSchema();\nconst baseSchema = composeConfigSchema(unsCoreSchema, projectExtrasSchema).strict();\n\n// 1) JSON Schema for VS Code $schema\nconst generatedJsonSchema = z.toJSONSchema(baseSchema, {\n io: \"input\",\n reused: \"inline\",\n target: \"draft-07\",\n});\nnormalizeLegacyJsonSchema(generatedJsonSchema);\nconst { $schema, definitions: reusedDefinitions, ...appConfigDefinition } = generatedJsonSchema;\nconst jsonSchema = {\n $ref: \"#/definitions/AppConfig\",\n definitions: {\n AppConfig: appConfigDefinition,\n ...((reusedDefinitions ?? {}) as Record<string, unknown>),\n },\n $schema,\n};\nwrite(path.resolve(\"config.schema.json\"), JSON.stringify(jsonSchema, null, 2));\n\n// 2) TypeScript `export type AppConfig = {...}`\nconst auxiliaryTypeStore = createAuxiliaryTypeStore();\nconst { node } = zodToTs(baseSchema, {\n auxiliaryTypeStore,\n io: \"input\",\n overrides: typeOverrides,\n});\nconst interfaceBody = printNode(node)\n .replace(/^\\s*\\[x: string\\]: never;\\n/gm, \"\")\n .replace(/\\[key: string\\]:/g, \"[x: string]:\");\nconst auxiliaryTypes = [...auxiliaryTypeStore.definitions.values()].map((definition) => printNode(definition.node)).join(\"\\n\");\n\nlet shouldAugment = true;\ntry {\n const pkgJsonPath = path.resolve(process.cwd(), \"package.json\");\n if (fs.existsSync(pkgJsonPath)) {\n const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, \"utf8\"));\n if (pkg?.name === \"@uns-kit/core\") {\n shouldAugment = false;\n }\n }\n} catch {\n shouldAugment = true;\n}\n\nconst augmentationBlock = shouldAugment\n ? `\\n\\ntype GeneratedProjectAppConfig = ProjectAppConfig;\\ntype GeneratedAppConfig = AppConfig;\\n\\ndeclare module \"@uns-kit/core/config/app-config.js\" {\\n interface ProjectAppConfig extends GeneratedProjectAppConfig {}\\n interface AppConfig extends GeneratedAppConfig {}\\n}\\n`\n : \"\\n\";\n\nconst auxiliaryPreamble = auxiliaryTypes ? `${auxiliaryTypes}\\n\\n` : \"\";\nconst tsContent = `/* Auto-generated. Do not edit by hand. */\\n${auxiliaryPreamble}export interface ProjectAppConfig ${interfaceBody}\\n\\nexport interface AppConfig extends ProjectAppConfig {}${augmentationBlock}`;\n\nwrite(path.resolve(\"./src/config/app-config.ts\"), tsContent);\n\nconsole.log(\"Generated config.schema.json and updated src/config/app-config.ts\");\n"]}
@@ -1,7 +1,7 @@
1
1
  import { GeneratedAttributes } from "./uns-dictionary.generated.js";
2
- export declare const knownUnsAttributes: ("status" | "level" | "active-energy-delivered" | "active-energy-received" | "alarm" | "assigned-to" | "authorization-level" | "availability" | "batch-number" | "conductivity" | "consumption" | "consumption-rate" | "cost" | "current" | "deviation" | "downtime" | "duration" | "end-time" | "energy" | "energy-consumption" | "fault-code" | "flow" | "frequency" | "hardness" | "inspection-result" | "instruction-url" | "last-refill" | "location" | "lot-id" | "maintenance-status" | "material-composition" | "material-type" | "operating-hours" | "operator-id" | "output-quantity" | "pass-fail" | "ph" | "planned-end" | "planned-start" | "power" | "presence" | "pressure" | "product-code" | "quantity" | "reactive-energy-delivered" | "reactive-energy-received" | "refill-required" | "revision" | "role" | "specification" | "speed" | "start-time" | "surface-defect" | "target-parameters" | "task-id" | "task-list" | "temperature" | "tensile-strength" | "total-flow" | "utilization" | "version-history" | "vibration" | "voltage" | "work-order-id")[];
2
+ export declare const knownUnsAttributes: ("level" | "active-energy-delivered" | "active-energy-received" | "alarm" | "assigned-to" | "authorization-level" | "availability" | "batch-number" | "conductivity" | "consumption" | "consumption-rate" | "cost" | "current" | "deviation" | "downtime" | "duration" | "end-time" | "energy" | "energy-consumption" | "fault-code" | "flow" | "frequency" | "hardness" | "inspection-result" | "instruction-url" | "last-refill" | "location" | "lot-id" | "maintenance-status" | "material-composition" | "material-type" | "operating-hours" | "operator-id" | "output-quantity" | "pass-fail" | "ph" | "planned-end" | "planned-start" | "power" | "presence" | "pressure" | "product-code" | "quantity" | "reactive-energy-delivered" | "reactive-energy-received" | "refill-required" | "revision" | "role" | "specification" | "speed" | "start-time" | "status" | "surface-defect" | "target-parameters" | "task-id" | "task-list" | "temperature" | "tensile-strength" | "total-flow" | "utilization" | "version-history" | "vibration" | "voltage" | "work-order-id")[];
3
3
  export type KnownUnsAttributeName = typeof GeneratedAttributes[keyof typeof GeneratedAttributes];
4
4
  export type UnsAttribute = "" | KnownUnsAttributeName | (string & {});
5
- export declare const AttributeDescriptions: Record<"status" | "level" | "active-energy-delivered" | "active-energy-received" | "alarm" | "assigned-to" | "authorization-level" | "availability" | "batch-number" | "conductivity" | "consumption" | "consumption-rate" | "cost" | "current" | "deviation" | "downtime" | "duration" | "end-time" | "energy" | "energy-consumption" | "fault-code" | "flow" | "frequency" | "hardness" | "inspection-result" | "instruction-url" | "last-refill" | "location" | "lot-id" | "maintenance-status" | "material-composition" | "material-type" | "operating-hours" | "operator-id" | "output-quantity" | "pass-fail" | "ph" | "planned-end" | "planned-start" | "power" | "presence" | "pressure" | "product-code" | "quantity" | "reactive-energy-delivered" | "reactive-energy-received" | "refill-required" | "revision" | "role" | "specification" | "speed" | "start-time" | "surface-defect" | "target-parameters" | "task-id" | "task-list" | "temperature" | "tensile-strength" | "total-flow" | "utilization" | "version-history" | "vibration" | "voltage" | "work-order-id", string>;
5
+ export declare const AttributeDescriptions: Record<"level" | "active-energy-delivered" | "active-energy-received" | "alarm" | "assigned-to" | "authorization-level" | "availability" | "batch-number" | "conductivity" | "consumption" | "consumption-rate" | "cost" | "current" | "deviation" | "downtime" | "duration" | "end-time" | "energy" | "energy-consumption" | "fault-code" | "flow" | "frequency" | "hardness" | "inspection-result" | "instruction-url" | "last-refill" | "location" | "lot-id" | "maintenance-status" | "material-composition" | "material-type" | "operating-hours" | "operator-id" | "output-quantity" | "pass-fail" | "ph" | "planned-end" | "planned-start" | "power" | "presence" | "pressure" | "product-code" | "quantity" | "reactive-energy-delivered" | "reactive-energy-received" | "refill-required" | "revision" | "role" | "specification" | "speed" | "start-time" | "status" | "surface-defect" | "target-parameters" | "task-id" | "task-list" | "temperature" | "tensile-strength" | "total-flow" | "utilization" | "version-history" | "vibration" | "voltage" | "work-order-id", string>;
6
6
  export declare function getAttributeDescription(name: string): string | undefined;
7
7
  //# sourceMappingURL=uns-attributes.d.ts.map
@@ -11,7 +11,9 @@ export declare function isIOS8601Type(value: string): value is ISO8601;
11
11
  export type UnsAttribute = KnownUnsAttributeName | (string & {});
12
12
  export declare const valueTypes: readonly ["string", "number"];
13
13
  export type ValueTypeString = (typeof valueTypes)[number];
14
- export type ValueType = string | number;
14
+ export type ScalarValueType = string | number;
15
+ /** Scalar telemetry or a scalar array used by metadata such as relationship evidence. */
16
+ export type ValueType = ScalarValueType | ScalarValueType[];
15
17
  export type CounterResetPolicy = "new-value" | "null" | "rollover" | (string & {});
16
18
  export type UnsAttributeSystemRole = "relationship-evidence" | "lifecycle-start" | "lifecycle-end" | "lifecycle-time-source" | (string & {});
17
19
  export type UnsRelationshipEndpoint = "source" | "target";
@@ -177,6 +179,8 @@ export interface IUnsExtendedData extends IUnsData {
177
179
  valueType: ValueTypeString;
178
180
  }
179
181
  export interface IUnsData {
182
+ /** Domain-specific evidence/context fields may accompany the canonical value. */
183
+ [key: string]: unknown;
180
184
  time: ISO8601;
181
185
  value: ValueType;
182
186
  /** Storage/routing group for consumers such as archivers; not part of the UNS identity path. */
@@ -1 +1 @@
1
- {"version":3,"file":"uns-interfaces.d.ts","sourceRoot":"","sources":["../../src/uns/uns-interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uns-interfaces.d.ts","sourceRoot":"","sources":["../../src/uns/uns-interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAErF,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC;AAC/F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAG7D;AAED,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjE,eAAO,MAAM,UAAU,+BAAgC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEnF,MAAM,MAAM,sBAAsB,GAC9B,uBAAuB,GACvB,iBAAiB,GACjB,eAAe,GACf,uBAAuB,GACvB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,eAAO,MAAM,qBAAqB,0LAmBxB,CAAC;AAOX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAG1E,MAAM,MAAM,WAAW,GACnB,oBAAoB,GACpB,WAAW,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAChC,WAAW,MAAM,IAAI,MAAM,GAAG,GAC9B,SAAS,MAAM,GAAG,CAAC;AAEvB,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAYlE;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IACvD,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAG7F,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAGzC,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAGhG,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAGvD,WAAW,EAAE;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IAClC,YAAY,EAAE;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IACnC,WAAW,EAAE;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IAClC,aAAa,EAAE;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IACpC,cAAc,EAAE;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IAGrC,sBAAsB,EAAE;QAAE,cAAc,EAAE,YAAY,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGhF,4BAA4B,EAAE;QAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAG1F,gCAAgC,EAAE;QAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGlG,kCAAkC,EAAE;QAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGtG,2BAA2B,EAAE;QAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAG9F,iCAAiC,EAAE;QAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAClG;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,yBAAyB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,SAAS,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qFAAqF;IACrF,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,yFAAyF;IACzF,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,qDAAqD;IACrD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,KAAK,gBAAgB,GACjB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3F;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5F;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAE3E,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,WAAW,CAAC;IACtB,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;CACzD;AAGD,MAAM,WAAW,UAAU;IAEzB,OAAO,EAAE,mBAAmB,CAAC;IAG7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;CAEpC;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAC,MAAM,CAAC;IACjB,aAAa,EAAE,gBAAgB,CAAC;IAChC,KAAK,EAAC,MAAM,CAAC;IACb,WAAW,EAAC,MAAM,CAAC;IACnB,yFAAyF;IACzF,SAAS,EAAC,MAAM,CAAC;IACjB,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IACrB,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,yFAAyF;IACzF,SAAS,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5C,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qFAAqF;IACrF,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,yFAAyF;IACzF,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,qDAAqD;IACrD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,WAAW,CAAC;IACtB,gGAAgG;IAChG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAC,MAAM,CAAC;IACjB,KAAK,EAAC,MAAM,CAAC;IACb,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvD,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AACpE,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;CAAG;AACtE,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG"}