@layoutdesign/context 0.2.0 → 0.2.2

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 (59) hide show
  1. package/README.md +25 -11
  2. package/dist/bin/cli.js +17 -32
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/src/cli/doctor.d.ts +4 -1
  5. package/dist/src/cli/doctor.d.ts.map +1 -1
  6. package/dist/src/cli/doctor.js +37 -6
  7. package/dist/src/cli/doctor.js.map +1 -1
  8. package/dist/src/cli/import-zip.d.ts.map +1 -1
  9. package/dist/src/cli/import-zip.js +11 -3
  10. package/dist/src/cli/import-zip.js.map +1 -1
  11. package/dist/src/cli/init.js +4 -4
  12. package/dist/src/cli/install.d.ts +1 -0
  13. package/dist/src/cli/install.d.ts.map +1 -1
  14. package/dist/src/cli/install.js +84 -19
  15. package/dist/src/cli/install.js.map +1 -1
  16. package/dist/src/cli/serve-local.d.ts +5 -0
  17. package/dist/src/cli/serve-local.d.ts.map +1 -0
  18. package/dist/src/cli/serve-local.js +109 -0
  19. package/dist/src/cli/serve-local.js.map +1 -0
  20. package/dist/src/index.d.ts +1 -1
  21. package/dist/src/index.js +1 -1
  22. package/dist/src/kit/loader.d.ts.map +1 -1
  23. package/dist/src/kit/loader.js +17 -9
  24. package/dist/src/kit/loader.js.map +1 -1
  25. package/dist/src/kit/parser.d.ts +4 -4
  26. package/dist/src/kit/parser.js +4 -4
  27. package/dist/src/kit/types.d.ts +2 -2
  28. package/dist/src/kit/types.js +1 -1
  29. package/dist/src/mcp/tools/design-in-figma.js +1 -1
  30. package/dist/src/mcp/tools/get-design-system.js +3 -3
  31. package/dist/src/mcp/tools/list-components.js +1 -1
  32. package/dist/src/mcp/tools/push-to-figma.d.ts +9 -1
  33. package/dist/src/mcp/tools/push-to-figma.d.ts.map +1 -1
  34. package/dist/src/mcp/tools/push-to-figma.js +144 -105
  35. package/dist/src/mcp/tools/push-to-figma.js.map +1 -1
  36. package/dist/src/mcp/tools/update-tokens.js +14 -14
  37. package/dist/src/preview/server.d.ts.map +1 -1
  38. package/dist/src/preview/server.js +11 -5
  39. package/dist/src/preview/server.js.map +1 -1
  40. package/dist/src/preview/ws.d.ts +4 -0
  41. package/dist/src/preview/ws.d.ts.map +1 -1
  42. package/dist/src/preview/ws.js +9 -1
  43. package/dist/src/preview/ws.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/src/cli/config.d.ts +0 -19
  46. package/dist/src/cli/config.d.ts.map +0 -1
  47. package/dist/src/cli/config.js +0 -100
  48. package/dist/src/cli/config.js.map +0 -1
  49. package/dist/src/cli/login.d.ts +0 -4
  50. package/dist/src/cli/login.d.ts.map +0 -1
  51. package/dist/src/cli/login.js +0 -58
  52. package/dist/src/cli/login.js.map +0 -1
  53. package/dist/src/cli/pull.d.ts +0 -8
  54. package/dist/src/cli/pull.d.ts.map +0 -1
  55. package/dist/src/cli/pull.js +0 -108
  56. package/dist/src/cli/pull.js.map +0 -1
  57. /package/kits/linear-lite/{DESIGN.md → layout.md} +0 -0
  58. /package/kits/notion-lite/{DESIGN.md → layout.md} +0 -0
  59. /package/kits/stripe-lite/{DESIGN.md → layout.md} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-local.d.ts","sourceRoot":"","sources":["../../../src/cli/serve-local.ts"],"names":[],"mappings":"AAuDA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEtH"}
@@ -0,0 +1,109 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import net from "node:net";
4
+ import { spawn } from "node:child_process";
5
+ import chalk from "chalk";
6
+ // Ports commonly occupied by VSCode, Next.js, Vite, etc. — skip these
7
+ const SKIP_PORTS = new Set([3000, 3001, 3002, 4321, 5173, 8080, 8081]);
8
+ const DEFAULT_PORT_RANGE_START = 8765;
9
+ function isPortFree(port) {
10
+ return new Promise((resolve) => {
11
+ const server = net.createServer();
12
+ server.once("error", () => resolve(false));
13
+ server.once("listening", () => {
14
+ server.close(() => resolve(true));
15
+ });
16
+ server.listen(port);
17
+ });
18
+ }
19
+ async function findFreePort(start) {
20
+ let port = start;
21
+ while (port < start + 100) {
22
+ if (!SKIP_PORTS.has(port) && (await isPortFree(port))) {
23
+ return port;
24
+ }
25
+ port++;
26
+ }
27
+ throw new Error("Could not find a free port in range");
28
+ }
29
+ function waitForServer(url, timeoutMs = 5000) {
30
+ return new Promise((resolve) => {
31
+ const deadline = Date.now() + timeoutMs;
32
+ const { execFileSync } = require("node:child_process");
33
+ function poll() {
34
+ try {
35
+ execFileSync("curl", ["-sf", "-o", "/dev/null", "--max-time", "1", url], {
36
+ stdio: "ignore",
37
+ });
38
+ resolve(true);
39
+ }
40
+ catch {
41
+ if (Date.now() > deadline) {
42
+ resolve(false);
43
+ }
44
+ else {
45
+ setTimeout(poll, 200);
46
+ }
47
+ }
48
+ }
49
+ poll();
50
+ });
51
+ }
52
+ export async function serveLocalCommand(targetPath, options) {
53
+ const absTarget = path.resolve(process.cwd(), targetPath);
54
+ if (!fs.existsSync(absTarget)) {
55
+ console.log(chalk.red("Error:"), `Path not found: ${absTarget}`);
56
+ process.exit(1);
57
+ }
58
+ const isFile = fs.statSync(absTarget).isFile();
59
+ const directory = isFile ? path.dirname(absTarget) : absTarget;
60
+ const filePart = isFile ? path.basename(absTarget) : "";
61
+ // Resolve port
62
+ let port;
63
+ if (options.port) {
64
+ const free = await isPortFree(options.port);
65
+ if (!free) {
66
+ console.log(chalk.red("Error:"), `Port ${options.port} is already in use. Try a different port with --port <n>.`);
67
+ process.exit(1);
68
+ }
69
+ port = options.port;
70
+ }
71
+ else {
72
+ port = await findFreePort(DEFAULT_PORT_RANGE_START);
73
+ }
74
+ const url = `http://localhost:${port}${filePart ? `/${filePart}` : ""}`;
75
+ // Start a detached Python HTTP server (survives shell session death)
76
+ const child = spawn("python3", ["-m", "http.server", String(port), "--directory", directory], {
77
+ detached: true,
78
+ stdio: "ignore",
79
+ });
80
+ child.unref();
81
+ // Wait for it to be ready
82
+ const baseUrl = `http://localhost:${port}/`;
83
+ const ready = await waitForServer(baseUrl);
84
+ if (!ready) {
85
+ console.log(chalk.red("Error:"), "Server did not start in time. Check that python3 is available.");
86
+ process.exit(1);
87
+ }
88
+ if (!options.quiet) {
89
+ console.log();
90
+ console.log(chalk.bold(" Layout — Local file server"));
91
+ console.log();
92
+ console.log(chalk.green(" ✓"), `Serving on ${chalk.cyan(url)}`);
93
+ console.log(chalk.dim(" Directory:"), directory);
94
+ console.log(chalk.dim(" PID:"), child.pid ?? "unknown");
95
+ console.log();
96
+ console.log(chalk.yellow(" →"), "Pass this URL to", chalk.cyan("url-to-figma"), "or open it in your browser");
97
+ console.log();
98
+ console.log(chalk.dim(" Note: file:// URLs are not supported by the Figma capture script."));
99
+ console.log(chalk.dim(" This HTTP server is required even for static HTML files."));
100
+ console.log();
101
+ console.log(chalk.dim(` To stop: kill ${child.pid ?? "<PID>"}`));
102
+ console.log();
103
+ }
104
+ else {
105
+ // Machine-readable output for scripting
106
+ console.log(url);
107
+ }
108
+ }
109
+ //# sourceMappingURL=serve-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-local.js","sourceRoot":"","sources":["../../../src/cli/serve-local.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { loadKit, getBundledKitPath, listBundledKits } from "./kit/loader.js";
2
- export { parseDesignMd, extractQuickReference, parseComponents } from "./kit/parser.js";
2
+ export { parseLayoutMd, extractQuickReference, parseComponents } from "./kit/parser.js";
3
3
  export { getRegistry, findKitInRegistry } from "./kit/registry.js";
4
4
  export type { Kit, KitManifest, KitSection, KitComponent, RegistryEntry } from "./kit/types.js";
5
5
  export { checkCompliance } from "./compliance/checker.js";
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { loadKit, getBundledKitPath, listBundledKits } from "./kit/loader.js";
2
- export { parseDesignMd, extractQuickReference, parseComponents } from "./kit/parser.js";
2
+ export { parseLayoutMd, extractQuickReference, parseComponents } from "./kit/parser.js";
3
3
  export { getRegistry, findKitInRegistry } from "./kit/registry.js";
4
4
  export { checkCompliance } from "./compliance/checker.js";
5
5
  export { defaultRules } from "./compliance/rules.js";
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAA6B,MAAM,YAAY,CAAC;AAajE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAiErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAe1C"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAA6B,MAAM,YAAY,CAAC;AAajE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CA0ErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAe1C"}
@@ -1,8 +1,8 @@
1
- import { readFileSync, existsSync, readdirSync } from "node:fs";
1
+ import { readFileSync, existsSync, readdirSync, renameSync } from "node:fs";
2
2
  import { join, resolve, dirname } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { LAYOUT_DIR, LEGACY_DIR, KIT_MANIFEST_FILE, DESIGN_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, COMPONENTS_DIR, } from "./types.js";
5
- import { parseDesignMd, parseComponents } from "./parser.js";
4
+ import { LAYOUT_DIR, LEGACY_DIR, KIT_MANIFEST_FILE, LAYOUT_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, COMPONENTS_DIR, } from "./types.js";
5
+ import { parseLayoutMd, parseComponents } from "./parser.js";
6
6
  /**
7
7
  * Load a kit from a .layout/ directory.
8
8
  * Falls back to .superduper/ with a deprecation warning if .layout/ is not found.
@@ -23,8 +23,16 @@ export function loadKit(basePath) {
23
23
  }
24
24
  }
25
25
  const manifestPath = join(dir, KIT_MANIFEST_FILE);
26
- const designMdPath = join(dir, DESIGN_MD_FILE);
27
- if (!existsSync(designMdPath))
26
+ let layoutMdPath = join(dir, LAYOUT_MD_FILE);
27
+ // Auto-migration: rename DESIGN.md → layout.md if the old file exists
28
+ if (!existsSync(layoutMdPath)) {
29
+ const legacyMdPath = join(dir, "DESIGN.md");
30
+ if (existsSync(legacyMdPath)) {
31
+ renameSync(legacyMdPath, layoutMdPath);
32
+ console.log(" ℹ Renamed DESIGN.md → layout.md (Layout rebrand)");
33
+ }
34
+ }
35
+ if (!existsSync(layoutMdPath))
28
36
  return null;
29
37
  const manifest = existsSync(manifestPath)
30
38
  ? JSON.parse(readFileSync(manifestPath, "utf-8"))
@@ -39,9 +47,9 @@ export function loadKit(basePath) {
39
47
  componentCount: 0,
40
48
  aesthetic: "",
41
49
  };
42
- const designMd = readFileSync(designMdPath, "utf-8");
43
- const sections = parseDesignMd(designMd);
44
- let components = parseComponents(designMd);
50
+ const layoutMd = readFileSync(layoutMdPath, "utf-8");
51
+ const sections = parseLayoutMd(layoutMd);
52
+ let components = parseComponents(layoutMd);
45
53
  // Also load individual component files if present
46
54
  const componentsDir = join(dir, COMPONENTS_DIR);
47
55
  if (existsSync(componentsDir)) {
@@ -57,7 +65,7 @@ export function loadKit(basePath) {
57
65
  const tailwindConfig = readSafe(join(dir, TAILWIND_CONFIG_FILE));
58
66
  return {
59
67
  manifest,
60
- designMd,
68
+ layoutMd,
61
69
  sections,
62
70
  components,
63
71
  tokensCss: tokensCss ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { KitSection, KitComponent } from "./types.js";
2
2
  /**
3
- * Parse a DESIGN.md file into structured sections.
3
+ * Parse a layout.md file into structured sections.
4
4
  * Splits on ## headings and extracts section IDs.
5
5
  */
6
- export declare function parseDesignMd(content: string): KitSection[];
6
+ export declare function parseLayoutMd(content: string): KitSection[];
7
7
  /**
8
- * Extract Quick Reference section (Section 0) from DESIGN.md.
8
+ * Extract Quick Reference section (Section 0) from layout.md.
9
9
  * This is the 50-75 line summary optimised for LLM context windows.
10
10
  */
11
11
  export declare function extractQuickReference(content: string): string;
@@ -14,7 +14,7 @@ export declare function extractQuickReference(content: string): string;
14
14
  */
15
15
  export declare function extractSection(sections: KitSection[], keyword: string): KitSection | undefined;
16
16
  /**
17
- * Parse component specs from DESIGN.md or individual component files.
17
+ * Parse component specs from layout.md or individual component files.
18
18
  * Components are expected in a "## Components" section with ### per component.
19
19
  */
20
20
  export declare function parseComponents(content: string): KitComponent[];
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Parse a DESIGN.md file into structured sections.
2
+ * Parse a layout.md file into structured sections.
3
3
  * Splits on ## headings and extracts section IDs.
4
4
  */
5
- export function parseDesignMd(content) {
5
+ export function parseLayoutMd(content) {
6
6
  const sections = [];
7
7
  const lines = content.split("\n");
8
8
  let currentTitle = "";
@@ -34,7 +34,7 @@ export function parseDesignMd(content) {
34
34
  return sections;
35
35
  }
36
36
  /**
37
- * Extract Quick Reference section (Section 0) from DESIGN.md.
37
+ * Extract Quick Reference section (Section 0) from layout.md.
38
38
  * This is the 50-75 line summary optimised for LLM context windows.
39
39
  */
40
40
  export function extractQuickReference(content) {
@@ -50,7 +50,7 @@ export function extractSection(sections, keyword) {
50
50
  s.title.toLowerCase().includes(lower));
51
51
  }
52
52
  /**
53
- * Parse component specs from DESIGN.md or individual component files.
53
+ * Parse component specs from layout.md or individual component files.
54
54
  * Components are expected in a "## Components" section with ### per component.
55
55
  */
56
56
  export function parseComponents(content) {
@@ -23,7 +23,7 @@ export interface KitComponent {
23
23
  }
24
24
  export interface Kit {
25
25
  manifest: KitManifest;
26
- designMd: string;
26
+ layoutMd: string;
27
27
  sections: KitSection[];
28
28
  components: KitComponent[];
29
29
  tokensCss?: string;
@@ -41,7 +41,7 @@ export interface RegistryEntry {
41
41
  export declare const LAYOUT_DIR = ".layout";
42
42
  export declare const LEGACY_DIR = ".superduper";
43
43
  export declare const KIT_MANIFEST_FILE = "kit.json";
44
- export declare const DESIGN_MD_FILE = "DESIGN.md";
44
+ export declare const LAYOUT_MD_FILE = "layout.md";
45
45
  export declare const TOKENS_CSS_FILE = "tokens.css";
46
46
  export declare const TOKENS_JSON_FILE = "tokens.json";
47
47
  export declare const TAILWIND_CONFIG_FILE = "tailwind.config.js";
@@ -1,7 +1,7 @@
1
1
  export const LAYOUT_DIR = ".layout";
2
2
  export const LEGACY_DIR = ".superduper"; // Deprecated — remove in v1.0
3
3
  export const KIT_MANIFEST_FILE = "kit.json";
4
- export const DESIGN_MD_FILE = "DESIGN.md";
4
+ export const LAYOUT_MD_FILE = "layout.md";
5
5
  export const TOKENS_CSS_FILE = "tokens.css";
6
6
  export const TOKENS_JSON_FILE = "tokens.json";
7
7
  export const TAILWIND_CONFIG_FILE = "tailwind.config.js";
@@ -72,7 +72,7 @@ export function handler(kit) {
72
72
  })
73
73
  .join("\n")
74
74
  : "No components defined in kit.";
75
- // Build design rules from DESIGN.md
75
+ // Build design rules from layout.md
76
76
  const designRules = extractDesignRules(kit);
77
77
  // Viewport dimensions
78
78
  const viewportDimensions = {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { extractSection } from "../../kit/parser.js";
3
3
  export const name = "get-design-system";
4
- export const description = "Returns the full DESIGN.md content for the active design system, or a specific section. " +
4
+ export const description = "Returns the full layout.md content for the active design system, or a specific section. " +
5
5
  "Use this to understand colours, typography, spacing, layout rules, and component specs before writing UI code.";
6
6
  export const inputSchema = {
7
7
  section: z
@@ -16,7 +16,7 @@ export function handler(kit) {
16
16
  content: [
17
17
  {
18
18
  type: "text",
19
- text: "No design system kit found. Run `npx @layoutdesign/context init` in your project root to set one up, or place a DESIGN.md in .layout/.",
19
+ text: "No design system kit found. Run `npx @layoutdesign/context init` in your project root to set one up, or place a layout.md in .layout/.",
20
20
  },
21
21
  ],
22
22
  };
@@ -44,7 +44,7 @@ export function handler(kit) {
44
44
  };
45
45
  }
46
46
  return {
47
- content: [{ type: "text", text: kit.designMd }],
47
+ content: [{ type: "text", text: kit.layoutMd }],
48
48
  };
49
49
  };
50
50
  }
@@ -19,7 +19,7 @@ export function handler(kit) {
19
19
  content: [
20
20
  {
21
21
  type: "text",
22
- text: "No components defined in this kit. Components are parsed from the ## Components section in DESIGN.md.",
22
+ text: "No components defined in this kit. Components are parsed from the ## Components section in layout.md.",
23
23
  },
24
24
  ],
25
25
  };
@@ -11,12 +11,20 @@ export declare const inputSchema: {
11
11
  mobile: "mobile";
12
12
  }>>>;
13
13
  figmaUrl: z.ZodOptional<z.ZodString>;
14
+ variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ name: z.ZodString;
16
+ code: z.ZodString;
17
+ }, z.core.$strip>>>;
14
18
  };
15
- export declare function handler(kit: Kit | null): ({ code, name: frameName, viewports, figmaUrl, }: {
19
+ export declare function handler(kit: Kit | null): ({ code, name: frameName, viewports, figmaUrl, variants, }: {
16
20
  code: string;
17
21
  name?: string;
18
22
  viewports?: string[];
19
23
  figmaUrl?: string;
24
+ variants?: Array<{
25
+ name: string;
26
+ code: string;
27
+ }>;
20
28
  }) => Promise<{
21
29
  content: {
22
30
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"push-to-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,QAI+C,CAAC;AAExE,eAAO,MAAM,WAAW;;;;;;;;;CAiBvB,CAAC;AAUF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,iDAKX;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;GAqJF"}
1
+ {"version":3,"file":"push-to-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,QAI+C,CAAC;AAExE,eAAO,MAAM,WAAW;;;;;;;;;;;;;CA6BvB,CAAC;AAmHF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,2DAMX;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;;;;;GAgGF"}