@fairfox/polly 0.71.0 → 0.73.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/dist/src/client/index.js +2 -2
- package/dist/src/client/index.js.map +2 -2
- package/dist/src/elysia/index.js +464 -4
- package/dist/src/elysia/index.js.map +6 -4
- package/dist/src/peer.d.ts +2 -0
- package/dist/src/peer.js +468 -4
- package/dist/src/peer.js.map +8 -5
- package/dist/src/polly-ui/ActionInput.d.ts +12 -2
- package/dist/src/polly-ui/ActionSelect.d.ts +36 -0
- package/dist/src/polly-ui/Button.d.ts +4 -0
- package/dist/src/polly-ui/Cluster.d.ts +36 -0
- package/dist/src/polly-ui/Code.d.ts +18 -0
- package/dist/src/polly-ui/Surface.d.ts +12 -1
- package/dist/src/polly-ui/Text.d.ts +43 -0
- package/dist/src/polly-ui/index.css +320 -194
- package/dist/src/polly-ui/index.d.ts +5 -1
- package/dist/src/polly-ui/index.js +533 -284
- package/dist/src/polly-ui/index.js.map +14 -8
- package/dist/src/polly-ui/internal/dispatch-action.d.ts +13 -0
- package/dist/src/polly-ui/internal/passthrough.d.ts +25 -0
- package/dist/src/polly-ui/markdown.js +3 -3
- package/dist/src/polly-ui/markdown.js.map +2 -2
- package/dist/src/polly-ui/styles.css +345 -194
- package/dist/src/polly-ui/theme.css +1 -0
- package/dist/src/shared/lib/peer-repo-server.d.ts +18 -0
- package/dist/src/shared/lib/sweep-sealed.d.ts +111 -0
- package/dist/tools/quality/src/cli.js +6 -2
- package/dist/tools/quality/src/cli.js.map +3 -3
- package/dist/tools/quality/src/index.js +6 -2
- package/dist/tools/quality/src/index.js.map +3 -3
- package/dist/tools/test/src/browser/run.js +89 -49
- package/dist/tools/test/src/browser/run.js.map +6 -5
- package/dist/tools/test/src/browser/runner-core.d.ts +32 -0
- package/dist/tools/test/src/e2e-mesh/index.js +193 -171
- package/dist/tools/test/src/e2e-mesh/index.js.map +4 -4
- package/dist/tools/test/src/visual/index.js +270 -251
- package/dist/tools/test/src/visual/index.js.map +5 -5
- package/dist/tools/verify/specs/tla/MeshSeed.cfg +27 -0
- package/dist/tools/verify/specs/tla/MeshSeed.tla +179 -0
- package/dist/tools/verify/specs/tla/README.md +11 -1
- package/dist/tools/verify/src/cli.js +136 -51
- package/dist/tools/verify/src/cli.js.map +9 -7
- package/dist/tools/visualize/src/cli.js +72 -2
- package/dist/tools/visualize/src/cli.js.map +5 -5
- package/package.json +3 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../tools/quality/src/check-shared-components.ts", "../tools/quality/src/css/shared.ts", "../tools/quality/src/logger.ts", "../tools/quality/src/css/check-layout.ts", "../tools/quality/src/css/check-quality.ts", "../tools/quality/src/css/check-unused.ts", "../tools/quality/src/css/check-vars.ts", "../tools/quality/src/no-as-casting.ts", "../tools/quality/src/no-require.ts", "../tools/quality/src/secrets.ts", "../tools/quality/src/attest.ts", "../tools/quality/src/cache.ts", "../tools/quality/src/host.ts", "../tools/quality/src/config.ts", "../tools/quality/src/plugins/core.ts", "../tools/quality/src/plugins/cliche-checks.ts", "../tools/quality/src/plugins/core-checks.ts", "../tools/quality/src/plugins/extra-checks.ts", "../tools/quality/src/plugins/import-checks.ts", "../tools/quality/src/plugins/polly-ui.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Ban raw native interactive HTML elements in app source.\n *\n * Applications that consume `@fairfox/polly/ui` are expected to use\n * the shared primitives (`<Button>`, `<ActionInput>`, `<Layout>`,\n * `<Modal>`, `<ActionForm>`, `<Select>`) rather than writing raw\n * `<button>`, `<input>`, `<select>`, `<textarea>`, `<form>`, or\n * `<dialog>` elements. The primitives enforce data-action delegation,\n * typed CSS-module classNames, accessibility attributes, and the\n * layouting ban.\n *\n * This module exposes a programmatic check — `checkSharedComponents`\n * — that walks a directory, scans every .tsx / .jsx file, and\n * returns every violation it finds. Consumers typically wire it into\n * a `bun check` script and set `exemptPackages` / `allowPaths` for\n * legacy code that can't migrate yet.\n *\n * @example\n * ```ts\n * import { checkSharedComponents } from \"@fairfox/polly/quality\";\n *\n * const result = await checkSharedComponents({\n * root: process.cwd(),\n * scanRoot: \"packages\",\n * exemptPackages: new Set([\"struggle\", \"todo\"]),\n * });\n * if (result.violations.length > 0) {\n * result.print(console.error);\n * process.exit(1);\n * }\n * ```\n */\n\nimport type { Dirent } from \"node:fs\";\nimport { readdir } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\n\n/** One raw-element rule. Each rule flags a native element and\n * suggests the polly primitive that replaces it. */\nexport interface SharedComponentRule {\n /** Regular expression that matches the opening tag, e.g. /<button[\\s>]/. */\n pattern: RegExp;\n /** Human-readable element marker, e.g. \"<button>\". */\n element: string;\n /** Suggested replacement, e.g. \"<Button>\". */\n replacement: string;\n /** Optional predicate; when it returns true the match is skipped.\n * Used for legitimate raw usages (e.g. `<input type=\"hidden\">`)\n * that have no primitive analogue. */\n skip?: (line: string) => boolean;\n}\n\n/** Default rule set. Covers every native element that has a\n * direct `@fairfox/polly/ui` replacement. Consumers may extend\n * through the `additionalRules` option. */\nexport const DEFAULT_SHARED_COMPONENT_RULES: SharedComponentRule[] = [\n { pattern: /<button[\\s>]/, element: \"<button>\", replacement: \"<Button>\" },\n {\n pattern: /<input[\\s>/]/,\n element: \"<input>\",\n replacement: \"<ActionInput> or <TextInput>\",\n // `<input type=\"hidden\">` has no primitive analogue and is a\n // legitimate way to carry form data.\n skip: (line) => /type=[\"']hidden[\"']/.test(line),\n },\n {\n pattern: /<textarea[\\s>]/,\n element: \"<textarea>\",\n replacement: '<ActionInput variant=\"multi\">',\n },\n {
|
|
5
|
+
"/**\n * Ban raw native interactive HTML elements in app source.\n *\n * Applications that consume `@fairfox/polly/ui` are expected to use\n * the shared primitives (`<Button>`, `<ActionInput>`, `<Layout>`,\n * `<Modal>`, `<ActionForm>`, `<Select>`) rather than writing raw\n * `<button>`, `<input>`, `<select>`, `<textarea>`, `<form>`, or\n * `<dialog>` elements. The primitives enforce data-action delegation,\n * typed CSS-module classNames, accessibility attributes, and the\n * layouting ban.\n *\n * This module exposes a programmatic check — `checkSharedComponents`\n * — that walks a directory, scans every .tsx / .jsx file, and\n * returns every violation it finds. Consumers typically wire it into\n * a `bun check` script and set `exemptPackages` / `allowPaths` for\n * legacy code that can't migrate yet.\n *\n * @example\n * ```ts\n * import { checkSharedComponents } from \"@fairfox/polly/quality\";\n *\n * const result = await checkSharedComponents({\n * root: process.cwd(),\n * scanRoot: \"packages\",\n * exemptPackages: new Set([\"struggle\", \"todo\"]),\n * });\n * if (result.violations.length > 0) {\n * result.print(console.error);\n * process.exit(1);\n * }\n * ```\n */\n\nimport type { Dirent } from \"node:fs\";\nimport { readdir } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\n\n/** One raw-element rule. Each rule flags a native element and\n * suggests the polly primitive that replaces it. */\nexport interface SharedComponentRule {\n /** Regular expression that matches the opening tag, e.g. /<button[\\s>]/. */\n pattern: RegExp;\n /** Human-readable element marker, e.g. \"<button>\". */\n element: string;\n /** Suggested replacement, e.g. \"<Button>\". */\n replacement: string;\n /** Optional predicate; when it returns true the match is skipped.\n * Used for legitimate raw usages (e.g. `<input type=\"hidden\">`)\n * that have no primitive analogue. */\n skip?: (line: string) => boolean;\n}\n\n/** Default rule set. Covers every native element that has a\n * direct `@fairfox/polly/ui` replacement. Consumers may extend\n * through the `additionalRules` option. */\nexport const DEFAULT_SHARED_COMPONENT_RULES: SharedComponentRule[] = [\n { pattern: /<button[\\s>]/, element: \"<button>\", replacement: \"<Button>\" },\n {\n pattern: /<input[\\s>/]/,\n element: \"<input>\",\n replacement: \"<ActionInput> or <TextInput>\",\n // `<input type=\"hidden\">` has no primitive analogue and is a\n // legitimate way to carry form data.\n skip: (line) => /type=[\"']hidden[\"']/.test(line),\n },\n {\n pattern: /<textarea[\\s>]/,\n element: \"<textarea>\",\n replacement: '<ActionInput variant=\"multi\">',\n },\n {\n pattern: /<select[\\s>]/,\n element: \"<select>\",\n replacement: \"<Select> or <ActionSelect>\",\n },\n { pattern: /<form[\\s>]/, element: \"<form>\", replacement: \"<ActionForm>\" },\n { pattern: /<dialog[\\s>]/, element: \"<dialog>\", replacement: \"<Modal>\" },\n];\n\n/** One violation: a raw element found in an app source file. */\nexport interface SharedComponentViolation {\n /** Path relative to `root`. */\n file: string;\n /** 1-based line number. */\n line: number;\n /** Element marker, e.g. \"<button>\". */\n element: string;\n /** Suggested replacement. */\n replacement: string;\n /** Trimmed offending line for context. */\n content: string;\n}\n\nexport interface CheckSharedComponentsOptions {\n /** Repository root. Violation file paths are reported relative to\n * this directory. */\n root: string;\n /** Directory under `root` to scan. Defaults to \"packages\". */\n scanRoot?: string;\n /** Directory names to skip entirely during traversal. Defaults to\n * node_modules / .git / dist / build / tests. */\n skipDirs?: Set<string>;\n /** Workspace package names (the directory names immediately under\n * `scanRoot`) to exempt. Useful for legacy packages that can't\n * migrate to the primitives yet. */\n exemptPackages?: Set<string>;\n /** Additional rules appended to {@link DEFAULT_SHARED_COMPONENT_RULES}. */\n additionalRules?: SharedComponentRule[];\n /** Override the default rule set entirely. If set,\n * `additionalRules` is ignored. */\n rules?: SharedComponentRule[];\n}\n\nconst DEFAULT_SKIP_DIRS = new Set([\"node_modules\", \".git\", \"dist\", \"build\", \"tests\"]);\n\nexport interface SharedComponentsCheckResult {\n violations: SharedComponentViolation[];\n print(log: (msg: string) => void): void;\n}\n\n/** Walk the configured directory, returning every violation found. */\nexport async function checkSharedComponents(\n options: CheckSharedComponentsOptions\n): Promise<SharedComponentsCheckResult> {\n const rules = options.rules ?? [\n ...DEFAULT_SHARED_COMPONENT_RULES,\n ...(options.additionalRules ?? []),\n ];\n const skipDirs = options.skipDirs ?? DEFAULT_SKIP_DIRS;\n const scanRoot = options.scanRoot ?? \"packages\";\n const exemptPackages = options.exemptPackages ?? new Set<string>();\n const packagesPath = join(options.root, scanRoot);\n const violations: SharedComponentViolation[] = [];\n\n await scanDirectory(packagesPath, {\n root: options.root,\n packagesPath,\n skipDirs,\n exemptPackages,\n rules,\n violations,\n });\n\n return {\n violations,\n print(log) {\n if (violations.length === 0) {\n log(\"[shared-components] ok\");\n return;\n }\n log(`[shared-components] ${violations.length} violation(s) found:\\n`);\n for (const v of violations) {\n log(` ${v.file}:${v.line} — ${v.element} → use ${v.replacement}`);\n log(` ${v.content}\\n`);\n }\n log(\"[shared-components] Use @fairfox/polly/ui primitives instead of native HTML elements.\");\n },\n };\n}\n\ninterface ScanState {\n root: string;\n packagesPath: string;\n skipDirs: Set<string>;\n exemptPackages: Set<string>;\n rules: SharedComponentRule[];\n violations: SharedComponentViolation[];\n}\n\nasync function scanDirectory(dir: string, state: ScanState): Promise<void> {\n let entries: Dirent[];\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n if (state.skipDirs.has(entry.name)) {\n continue;\n }\n if (dir === state.packagesPath && state.exemptPackages.has(entry.name)) {\n continue;\n }\n await scanDirectory(fullPath, state);\n } else if (entry.isFile() && (entry.name.endsWith(\".tsx\") || entry.name.endsWith(\".jsx\"))) {\n await scanFile(fullPath, state);\n }\n }\n}\n\nasync function scanFile(filePath: string, state: ScanState): Promise<void> {\n const text = await Bun.file(filePath).text();\n const lines = text.split(\"\\n\");\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (!line) continue;\n const trimmed = line.trim();\n if (isCommentLine(trimmed)) continue;\n for (const rule of state.rules) {\n if (!matchesRule(line, rule)) continue;\n state.violations.push({\n file: relative(state.root, filePath),\n line: i + 1,\n element: rule.element,\n replacement: rule.replacement,\n content: trimmed,\n });\n }\n }\n}\n\nfunction isCommentLine(trimmed: string): boolean {\n return trimmed.startsWith(\"//\") || trimmed.startsWith(\"*\") || trimmed.startsWith(\"/*\");\n}\n\nfunction matchesRule(line: string, rule: SharedComponentRule): boolean {\n if (!rule.pattern.test(line)) return false;\n const commentIndex = line.indexOf(\"//\");\n const elementIndex = line.search(rule.pattern);\n if (commentIndex !== -1 && commentIndex < elementIndex) return false;\n if (rule.skip?.(line)) return false;\n return true;\n}\n",
|
|
6
6
|
"/**\n * Shared plumbing for CSS conformance checks.\n *\n * File discovery, violation printing, and common scanner options live\n * here so each check (`quality`, `layout`, `vars`, `unused`) can stay\n * focused on its own rule set.\n */\n\nimport type { Dirent } from \"node:fs\";\nimport { readdir } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\nimport { logger } from \"../logger.ts\";\n\nexport type CssViolation = {\n file: string;\n line: number;\n rule: string;\n content: string;\n suggestion: string;\n};\n\nexport type CssCheckResult = {\n violations: CssViolation[];\n print: () => void;\n};\n\nexport type CssScanOptions = {\n rootDir: string;\n /** Directory names (not paths) to skip during recursion. */\n skipDirs?: string[];\n /** File names (not paths) to skip entirely. */\n skipFiles?: string[];\n};\n\nexport const DEFAULT_SKIP_DIRS = [\"node_modules\", \".git\", \"dist\", \"dist-test\", \"build\", \"coverage\"];\n\nexport async function walkDirectory(\n dir: string,\n visit: (filePath: string, relPath: string) => Promise<void>,\n opts: CssScanOptions\n): Promise<void> {\n const skipDirs = new Set(opts.skipDirs ?? DEFAULT_SKIP_DIRS);\n const skipFiles = new Set(opts.skipFiles ?? []);\n const rootDir = opts.rootDir;\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: recursive walk with skip sets is inherently branchy.\n async function walk(current: string): Promise<void> {\n let entries: Dirent[];\n try {\n entries = await readdir(current, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const full = join(current, entry.name);\n if (entry.isDirectory()) {\n if (skipDirs.has(entry.name)) continue;\n await walk(full);\n } else if (entry.isFile()) {\n if (skipFiles.has(entry.name)) continue;\n const rel = relative(rootDir, full);\n await visit(full, rel);\n }\n }\n }\n\n await walk(dir);\n}\n\nexport function formatViolations(\n kind: string,\n violations: CssViolation[],\n rootDir: string\n): string[] {\n const lines: string[] = [];\n if (violations.length === 0) {\n lines.push(`✅ ${kind}: no violations`);\n return lines;\n }\n lines.push(`❌ ${kind}: ${violations.length} violation(s)`);\n const byFile = new Map<string, CssViolation[]>();\n for (const v of violations) {\n const bucket = byFile.get(v.file) ?? [];\n bucket.push(v);\n byFile.set(v.file, bucket);\n }\n for (const [file, fileViolations] of byFile) {\n lines.push(` ${relative(rootDir, file)}`);\n for (const v of fileViolations) {\n lines.push(` L${v.line}: ${v.content}`);\n lines.push(` → ${v.suggestion} [${v.rule}]`);\n }\n }\n return lines;\n}\n\nexport function makeResult(\n kind: string,\n rootDir: string,\n violations: CssViolation[]\n): CssCheckResult {\n return {\n violations,\n print() {\n for (const line of formatViolations(kind, violations, rootDir)) {\n if (line.startsWith(\"❌\")) {\n logger.error(line);\n } else {\n logger.log(line);\n }\n }\n },\n };\n}\n\n/** True when the line is a CSS comment (standalone or continuation). */\nexport function isInsideComment(line: string): boolean {\n const trimmed = line.trim();\n return trimmed.startsWith(\"/*\") || trimmed.startsWith(\"*\") || trimmed.startsWith(\"//\");\n}\n\n/** Heuristic: true when the given line number falls inside an @keyframes block. */\nexport function isInsideKeyframes(lineNum: number, allLines: readonly string[]): boolean {\n for (let i = lineNum - 1; i >= 0; i -= 1) {\n const l = allLines[i]?.trim() ?? \"\";\n if (l.startsWith(\"@keyframes\")) return true;\n if (l === \"}\" && i < lineNum - 1) return false;\n }\n return false;\n}\n",
|
|
7
7
|
"/**\n * Logger for the quality tool.\n *\n * One mutable singleton so every check writes through the same sink.\n * Tests replace the methods to capture output, then call `resetLogger()`\n * to restore defaults. No dependency injection chain through every\n * check signature — the singleton pattern matches how Polly's own\n * CLI output is consumed (stdout/stderr at process edge).\n *\n * import { logger, resetLogger } from \"./logger\";\n * logger.error(\"…\");\n *\n * // in tests\n * const captured: string[] = [];\n * logger.error = (m) => captured.push(m);\n * // ... run check ...\n * resetLogger();\n */\n\nexport type QualityLogger = {\n log: (message: string) => void;\n error: (message: string) => void;\n info: (message: string) => void;\n warn: (message: string) => void;\n};\n\nfunction defaultLog(message: string): void {\n console.log(message);\n}\nfunction defaultError(message: string): void {\n // biome-ignore lint/suspicious/noConsole: CLI output is the whole point of the default sink.\n console.error(message);\n}\nfunction defaultInfo(message: string): void {\n // biome-ignore lint/suspicious/noConsole: CLI output is the whole point of the default sink.\n console.info(message);\n}\nfunction defaultWarn(message: string): void {\n // biome-ignore lint/suspicious/noConsole: CLI output is the whole point of the default sink.\n console.warn(message);\n}\n\nexport const logger: QualityLogger = {\n log: defaultLog,\n error: defaultError,\n info: defaultInfo,\n warn: defaultWarn,\n};\n\nexport function resetLogger(): void {\n logger.log = defaultLog;\n logger.error = defaultError;\n logger.info = defaultInfo;\n logger.warn = defaultWarn;\n}\n",
|
|
8
8
|
"/**\n * CSS layout check.\n *\n * `display: flex` and `display: grid` are forbidden outside the Layout\n * primitive. Apps express layout through the `<Layout>` component so\n * layout decisions are declarative and greppable. Exempted paths default\n * to `Layout.module.css`; consumers can extend the list through\n * `layoutExemptPaths`. Suppress one-off cases with a layout-ignore CSS\n * comment on the violating line or the line above.\n */\n\nimport type { CssCheckResult, CssViolation } from \"./shared.ts\";\nimport { makeResult, walkDirectory } from \"./shared.ts\";\n\nexport type CssLayoutOptions = {\n rootDir: string;\n /** File basenames or path fragments where layout CSS is permitted. */\n layoutExemptPaths?: string[];\n /** Directory names skipped during recursion. */\n skipDirs?: string[];\n};\n\nconst CSS_PATTERNS: Array<{ pattern: RegExp; kind: string }> = [\n { pattern: /display\\s*:\\s*flex/, kind: \"display: flex in CSS\" },\n { pattern: /display\\s*:\\s*grid/, kind: \"display: grid in CSS\" },\n];\n\nconst TSX_PATTERNS: Array<{ pattern: RegExp; kind: string }> = [\n {\n pattern: /display\\s*:\\s*['\"]flex['\"]/,\n kind: \"display: flex in inline style\",\n },\n {\n pattern: /display\\s*:\\s*['\"]grid['\"]/,\n kind: \"display: grid in inline style\",\n },\n];\n\nconst SUPPRESS = \"layout-ignore\";\n\nexport async function checkCssLayout(options: CssLayoutOptions): Promise<CssCheckResult> {\n const rootDir = options.rootDir;\n const exempt = options.layoutExemptPaths ?? [\"Layout.module.css\", \"Layout.tsx\"];\n const violations: CssViolation[] = [];\n\n await walkDirectory(\n rootDir,\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: per-file visitor covers filetype, suppression, and pattern loop.\n async (full) => {\n const isCss = full.endsWith(\".module.css\");\n const isTsx = full.endsWith(\".tsx\");\n if (!isCss && !isTsx) return;\n if (exempt.some((fragment) => full.includes(fragment))) return;\n\n const patterns = isCss ? CSS_PATTERNS : TSX_PATTERNS;\n const content = await Bun.file(full).text();\n const lines = content.split(\"\\n\");\n\n for (let i = 0; i < lines.length; i += 1) {\n const line = lines[i];\n if (!line) continue;\n const trimmed = line.trim();\n if (trimmed.startsWith(\"//\") || trimmed.startsWith(\"*\") || trimmed.startsWith(\"/*\"))\n continue;\n if (trimmed.includes(SUPPRESS)) continue;\n const prev = i > 0 ? (lines[i - 1]?.trim() ?? \"\") : \"\";\n if (prev.includes(SUPPRESS)) continue;\n\n for (const rule of patterns) {\n if (rule.pattern.test(line)) {\n violations.push({\n file: full,\n line: i + 1,\n rule: rule.kind,\n content: trimmed,\n suggestion: \"Use the <Layout> component instead\",\n });\n break;\n }\n }\n }\n },\n {\n rootDir,\n skipDirs: options.skipDirs,\n }\n );\n\n return makeResult(\"css-layout\", rootDir, violations);\n}\n",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"/**\n * Import-graph checks for `pollyCorePlugin`:\n *\n * - polly:relative-imports — ban `../` imports beyond a depth threshold (#84)\n * - polly:tsconfig-paths — ban `compilerOptions.paths` aliases (#84)\n * - polly:no-raw-http — force HTTP through a canonical client (#86)\n * - polly:types — multi-package tsc --noEmit orchestrator (#85)\n *\n * All four are parameterised. Defaults are silent or zero-impact unless a\n * consumer opts in via `polly.config.ts`. Polly's own pre-commit pipeline\n * does not currently run these — they exist primarily for downstream\n * consumers (lingua, fairfox, warehouse-experiments) and ship under the\n * core plugin namespace so adoption is one config-block change away.\n */\n\nimport { readdir } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\nimport { Glob } from \"bun\";\nimport type { Check } from \"../types\";\n\nconst SKIP_DIRS_DEFAULT = [\"node_modules\", \".git\", \"dist\", \".bun\", \".cache\"];\n\nfunction isCommentLine(trimmed: string): boolean {\n return trimmed.startsWith(\"//\") || trimmed.startsWith(\"*\") || trimmed.startsWith(\"/*\");\n}\n\nfunction isTestFile(rel: string): boolean {\n return (\n rel.includes(\"__tests__\") ||\n rel.includes(\".test.\") ||\n rel.includes(\".spec.\") ||\n rel.startsWith(\"tests/\")\n );\n}\n\nasync function walkScannableFiles(\n dir: string,\n skipDirs: Set<string>,\n out: string[]\n): Promise<void> {\n let entries: import(\"node:fs\").Dirent[];\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n if (!skipDirs.has(entry.name)) await walkScannableFiles(fullPath, skipDirs, out);\n } else if (entry.isFile() && (entry.name.endsWith(\".ts\") || entry.name.endsWith(\".tsx\"))) {\n out.push(fullPath);\n }\n }\n}\n\nfunction isAllowedByGlob(rel: string, globs: string[]): boolean {\n for (const g of globs) {\n if (new Glob(g).match(rel)) return true;\n }\n return false;\n}\n\nconst IMPORT_REGEX =\n /(?:import|export)\\s+.*?from\\s+['\"]([^'\"]+)['\"]|require\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n\nfunction specifiersInLine(line: string): string[] {\n const out: string[] = [];\n IMPORT_REGEX.lastIndex = 0;\n let match = IMPORT_REGEX.exec(line);\n while (match !== null) {\n const s = match[1] || match[2];\n if (s) out.push(s);\n match = IMPORT_REGEX.exec(line);\n }\n return out;\n}\n\n// polly:relative-imports — ban deep `../` imports\n\ntype RelativeImportsConfig = {\n /** Maximum depth of `../` traversal allowed; default 1. */\n maxDepth?: number;\n allowedFiles?: string[];\n zones?: string[];\n skipDirs?: string[];\n};\n\nconst DEFAULT_RELATIVE: Required<RelativeImportsConfig> = {\n maxDepth: 1,\n allowedFiles: [],\n zones: [\"src\", \"tools\", \"cli\", \"scripts\"],\n skipDirs: SKIP_DIRS_DEFAULT,\n};\n\nfunction relativeDepth(specifier: string): number {\n if (!specifier.startsWith(\"..\")) return 0;\n let depth = 0;\n for (const segment of specifier.split(\"/\")) {\n if (segment === \"..\") depth++;\n else break;\n }\n return depth;\n}\n\nasync function scanFileForRelativeViolations(\n filePath: string,\n rel: string,\n maxDepth: number\n): Promise<string[]> {\n const content = await Bun.file(filePath).text();\n const lines = content.split(\"\\n\");\n const out: string[] = [];\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i] ?? \"\";\n if (isCommentLine(line.trim())) continue;\n for (const specifier of specifiersInLine(line)) {\n if (relativeDepth(specifier) > maxDepth) {\n out.push(`${rel}:${i + 1}: import \"${specifier}\" exceeds maxDepth ${maxDepth}`);\n }\n }\n }\n return out;\n}\n\nconst relativeImports: Check<RelativeImportsConfig | undefined> = {\n id: \"polly:relative-imports\",\n description: \"Ban `../` imports deeper than a configured threshold\",\n filesRead: async (cfg, root) => {\n const c = cfg ?? {};\n const skipDirs = new Set(c.skipDirs ?? DEFAULT_RELATIVE.skipDirs);\n const allowed = c.allowedFiles ?? DEFAULT_RELATIVE.allowedFiles;\n const out: string[] = [];\n for (const z of c.zones ?? DEFAULT_RELATIVE.zones) {\n await walkScannableFiles(join(root, z), skipDirs, out);\n }\n return out.filter((p) => {\n const rel = relative(root, p);\n return !isTestFile(rel) && !isAllowedByGlob(rel, allowed);\n });\n },\n run: async ({ rootDir, config }) => {\n const c = config ?? {};\n const maxDepth = c.maxDepth ?? DEFAULT_RELATIVE.maxDepth;\n const skipDirs = new Set(c.skipDirs ?? DEFAULT_RELATIVE.skipDirs);\n const allowed = c.allowedFiles ?? DEFAULT_RELATIVE.allowedFiles;\n const violations: string[] = [];\n for (const z of c.zones ?? DEFAULT_RELATIVE.zones) {\n const files: string[] = [];\n await walkScannableFiles(join(rootDir, z), skipDirs, files);\n for (const filePath of files) {\n const rel = relative(rootDir, filePath);\n if (isTestFile(rel) || isAllowedByGlob(rel, allowed)) continue;\n violations.push(...(await scanFileForRelativeViolations(filePath, rel, maxDepth)));\n }\n }\n return { ok: violations.length === 0, messages: violations };\n },\n};\n\n// polly:tsconfig-paths — ban `compilerOptions.paths` aliases\n\ntype TsconfigPathsConfig = {\n /** Filenames to scan; defaults to tsconfig.json variants. */\n files?: string[];\n /** Allowed alias patterns to keep (e.g. [\"@/*\"] for opt-in alias use). */\n allowedAliases?: string[];\n};\n\nconst DEFAULT_TSCONFIG_PATHS: Required<TsconfigPathsConfig> = {\n files: [\"tsconfig.json\", \"tsconfig.base.json\"],\n allowedAliases: [],\n};\n\nasync function findTsconfigs(rootDir: string, names: string[]): Promise<string[]> {\n const out: string[] = [];\n const skipDirs = new Set(SKIP_DIRS_DEFAULT);\n async function walk(dir: string): Promise<void> {\n let entries: import(\"node:fs\").Dirent[];\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n if (!skipDirs.has(entry.name)) await walk(fullPath);\n } else if (entry.isFile() && names.includes(entry.name)) {\n out.push(fullPath);\n }\n }\n }\n await walk(rootDir);\n return out;\n}\n\nconst tsconfigPaths: Check<TsconfigPathsConfig | undefined> = {\n id: \"polly:tsconfig-paths\",\n description: \"Flag `compilerOptions.paths` entries (use package.json subpath imports instead)\",\n filesRead: async (cfg, root) => findTsconfigs(root, cfg?.files ?? DEFAULT_TSCONFIG_PATHS.files),\n run: async ({ rootDir, config }) => {\n const c = config ?? {};\n const files = c.files ?? DEFAULT_TSCONFIG_PATHS.files;\n const allowed = new Set(c.allowedAliases ?? DEFAULT_TSCONFIG_PATHS.allowedAliases);\n const violations: string[] = [];\n for (const tsconfigPath of await findTsconfigs(rootDir, files)) {\n const raw = await Bun.file(tsconfigPath).text();\n const stripped = raw.replace(/\\/\\/[^\\n]*\\n/g, \"\\n\").replace(/\\/\\*[\\s\\S]*?\\*\\//g, \"\");\n let parsed: { compilerOptions?: { paths?: Record<string, unknown> } };\n try {\n parsed = JSON.parse(stripped) as unknown as {\n compilerOptions?: { paths?: Record<string, unknown> };\n };\n } catch {\n violations.push(`${relative(rootDir, tsconfigPath)}: failed to parse as JSON`);\n continue;\n }\n const paths = parsed.compilerOptions?.paths ?? {};\n for (const alias of Object.keys(paths)) {\n if (allowed.has(alias)) continue;\n violations.push(`${relative(rootDir, tsconfigPath)}: paths[\"${alias}\"] is set`);\n }\n }\n return { ok: violations.length === 0, messages: violations };\n },\n};\n\n// polly:no-raw-http — force HTTP through a canonical client\n\ntype NoRawHttpConfig = {\n /** Specifier for the canonical client (e.g. `#src/api/client`). Required. */\n canonicalClient?: string;\n banned?: string[];\n allowedFiles?: string[];\n zones?: string[];\n skipDirs?: string[];\n};\n\nconst DEFAULT_NO_RAW_HTTP: Omit<Required<NoRawHttpConfig>, \"canonicalClient\"> = {\n banned: [\"fetch\", \"XMLHttpRequest\", \"axios\"],\n allowedFiles: [],\n zones: [\"src\"],\n skipDirs: SKIP_DIRS_DEFAULT,\n};\n\nfunction buildBannedCallRegex(banned: string[]): RegExp {\n const alts = banned.map((s) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")).join(\"|\");\n // nosemgrep: javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp\n return new RegExp(`\\\\b(${alts})\\\\s*[\\\\(.]`);\n}\n\nasync function scanFileForRawHttp(\n filePath: string,\n rel: string,\n canonicalClient: string,\n bannedRegex: RegExp\n): Promise<string[]> {\n const content = await Bun.file(filePath).text();\n const lines = content.split(\"\\n\");\n const out: string[] = [];\n // The canonical-client implementation file legitimately uses the banned\n // identifiers — that's where the wrapping happens. We detect it\n // structurally by checking for an `export ... from \"<canonicalClient>\"`\n // re-export line. A simple substring test is enough; the canonical\n // client is a fixed module specifier the consumer configured, not an\n // arbitrary regex.\n const isCanonicalImpl = lines.some(\n (l) => l.includes(`from \"${canonicalClient}\"`) || l.includes(`from '${canonicalClient}'`)\n );\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i] ?? \"\";\n const trimmed = line.trim();\n if (isCommentLine(trimmed)) continue;\n if (bannedRegex.test(line) && !isCanonicalImpl) {\n out.push(`${rel}:${i + 1}: ${trimmed}`);\n }\n }\n return out;\n}\n\nconst noRawHttp: Check<NoRawHttpConfig | undefined> = {\n id: \"polly:no-raw-http\",\n description: \"Force HTTP calls through a configured canonical client (opt-in)\",\n filesRead: async (cfg, root) => {\n if (!cfg?.canonicalClient) return [];\n const skipDirs = new Set(cfg.skipDirs ?? DEFAULT_NO_RAW_HTTP.skipDirs);\n const allowed = cfg.allowedFiles ?? DEFAULT_NO_RAW_HTTP.allowedFiles;\n const out: string[] = [];\n for (const z of cfg.zones ?? DEFAULT_NO_RAW_HTTP.zones) {\n await walkScannableFiles(join(root, z), skipDirs, out);\n }\n return out.filter((p) => {\n const rel = relative(root, p);\n return !isTestFile(rel) && !isAllowedByGlob(rel, allowed);\n });\n },\n run: async ({ rootDir, config }) => {\n const c = config ?? {};\n if (!c.canonicalClient) {\n // No canonical client configured: rule is no-op. The umbrella's\n // \"fail loud\" stance applies when the user has half-configured it,\n // not when they haven't engaged with the rule at all.\n return { ok: true, messages: [] };\n }\n const banned = c.banned ?? DEFAULT_NO_RAW_HTTP.banned;\n const skipDirs = new Set(c.skipDirs ?? DEFAULT_NO_RAW_HTTP.skipDirs);\n const allowed = c.allowedFiles ?? DEFAULT_NO_RAW_HTTP.allowedFiles;\n const bannedRegex = buildBannedCallRegex(banned);\n const violations: string[] = [];\n for (const z of c.zones ?? DEFAULT_NO_RAW_HTTP.zones) {\n const files: string[] = [];\n await walkScannableFiles(join(rootDir, z), skipDirs, files);\n for (const filePath of files) {\n const rel = relative(rootDir, filePath);\n if (isTestFile(rel) || isAllowedByGlob(rel, allowed)) continue;\n violations.push(\n ...(await scanFileForRawHttp(filePath, rel, c.canonicalClient, bannedRegex))\n );\n }\n }\n return { ok: violations.length === 0, messages: violations };\n },\n};\n\n// polly:types — multi-package tsc --noEmit orchestrator\n\ntype TypesConfig = {\n /** Workspace globs to discover packages. */\n workspaces?: string[];\n /** Concurrency cap; defaults to os.cpus().length capped at workspace count. */\n concurrency?: number;\n};\n\nasync function runTscFor(\n packagePath: string,\n rootDir: string\n): Promise<{ ok: boolean; output: string }> {\n const proc = Bun.spawn([\"bunx\", \"tsc\", \"--noEmit\", \"-p\", packagePath], {\n cwd: rootDir,\n stdout: \"pipe\",\n stderr: \"pipe\",\n });\n const [stdout, stderr] = await Promise.all([\n new Response(proc.stdout).text(),\n new Response(proc.stderr).text(),\n ]);\n await proc.exited;\n return { ok: proc.exitCode === 0, output: `${stdout}${stderr}` };\n}\n\nasync function findWorkspaces(rootDir: string, patterns: string[]): Promise<string[]> {\n const out: string[] = [];\n for (const pattern of patterns) {\n const glob = new Glob(`${pattern}/tsconfig.json`);\n for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {\n // Trim the trailing /tsconfig.json to get the package directory.\n out.push(file.replace(/\\/tsconfig\\.json$/, \"\"));\n }\n }\n return [...new Set(out)];\n}\n\nconst types: Check<TypesConfig | undefined> = {\n id: \"polly:types\",\n description: \"Run `tsc --noEmit` against each workspace package in parallel\",\n filesRead: async () => {\n // The TypeScript compiler walks the entire dependency graph from\n // tsconfig.json out, which is far wider than what we can easily\n // declare here. We keep filesRead empty so the orchestrator cache\n // always misses on this check; tsc has its own incremental cache,\n // and that is the right place for that complexity to live.\n return [];\n },\n run: async ({ rootDir, config }) => {\n const patterns = config?.workspaces ?? [\"packages/*\", \".\"];\n const packages = await findWorkspaces(rootDir, patterns);\n if (packages.length === 0) return { ok: true, messages: [\"no workspace packages found\"] };\n const results = await Promise.all(packages.map((p) => runTscFor(p, rootDir)));\n return aggregateTypesResults(packages, results, rootDir);\n },\n};\n\nfunction appendTscFailure(messages: string[], relPkg: string, output: string): void {\n messages.push(`${relPkg}: tsc --noEmit failed`);\n const trimmed = output.trim();\n if (!trimmed) return;\n for (const ln of trimmed.split(\"\\n\").slice(0, 30)) messages.push(` ${ln}`);\n}\n\nfunction aggregateTypesResults(\n packages: string[],\n results: Array<{ ok: boolean; output: string }>,\n rootDir: string\n): { ok: boolean; messages: string[] } {\n const messages: string[] = [];\n let ok = true;\n for (let i = 0; i < packages.length; i++) {\n const pkg = packages[i];\n const r = results[i];\n if (!pkg || !r || r.ok) continue;\n ok = false;\n appendTscFailure(messages, relative(rootDir, pkg) || \".\", r.output);\n }\n return { ok, messages };\n}\n\nexport const importCoreChecks: Check<unknown>[] = [\n relativeImports as Check<unknown>,\n tsconfigPaths as Check<unknown>,\n noRawHttp as Check<unknown>,\n types as Check<unknown>,\n];\n",
|
|
24
24
|
"/**\n * `pollyUiPlugin` — the polly-ui-provided plugin (#89, #90, #91–#94).\n *\n * Re-homes the CSS conformance family and shared-components ban under a\n * dedicated `polly-ui` namespace, and adds a new `no-inline-handlers`\n * check for JSX event handlers. Every wrap reuses the underlying\n * function from `tools/quality/src/css/*` and\n * `tools/quality/src/check-shared-components.ts` so behaviour is\n * identical to the pre-host invocation; only the integration surface\n * changes.\n *\n * Out of scope for this release:\n * - The data-action dispatcher *runtime* described in #90. The check\n * ships here so a project can ban inline handlers today; the\n * dispatcher needs a real Preact implementation that mounts near\n * <OverlayRoot> and registers a delegated event listener, and that\n * work belongs in `src/polly-ui/actions.tsx` rather than under the\n * quality plugin host. The check on its own is useful — it forces\n * the consumer to pick an alternative — and the runtime can land\n * in a follow-up release without changing the check's id.\n * - Registry-driven CSS validation. The four CSS checks currently\n * parse polly-ui's CSS at scan time. The new\n * `@fairfox/polly/ui/registry` (introduced alongside this plugin)\n * exposes the canonical token + component lists as data, and a\n * follow-up can swap the parse-time discovery for a registry\n * lookup. The shape of the wraps does not change when that\n * happens; only the inner implementation does.\n */\n\nimport { readdir } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\nimport { Glob } from \"bun\";\nimport { checkSharedComponents } from \"../check-shared-components\";\nimport { checkCssLayout } from \"../css/check-layout\";\nimport { checkCssQuality } from \"../css/check-quality\";\nimport { checkCssUnused } from \"../css/check-unused\";\nimport { checkCssVars } from \"../css/check-vars\";\nimport type { Check, QualityPlugin } from \"../types\";\n\nconst SKIP_DIRS_DEFAULT = [\"node_modules\", \".git\", \"dist\", \".bun\", \".cache\"];\n\nfunction isCommentLine(trimmed: string): boolean {\n return trimmed.startsWith(\"//\") || trimmed.startsWith(\"*\") || trimmed.startsWith(\"/*\");\n}\n\nfunction isAllowedByGlob(rel: string, globs: string[]): boolean {\n for (const g of globs) {\n if (new Glob(g).match(rel)) return true;\n }\n return false;\n}\n\nasync function walkScannableFiles(\n dir: string,\n skipDirs: Set<string>,\n exts: string[],\n out: string[]\n): Promise<void> {\n let entries: import(\"node:fs\").Dirent[];\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n if (!skipDirs.has(entry.name)) await walkScannableFiles(fullPath, skipDirs, exts, out);\n } else if (entry.isFile() && exts.some((e) => entry.name.endsWith(e))) {\n out.push(fullPath);\n }\n }\n}\n\n// polly-ui:css-layout (#91)\n\ntype CssCheckConfig = {\n rootDir?: string;\n skipDirs?: string[];\n};\n\nconst cssLayout: Check<CssCheckConfig | undefined> = {\n id: \"polly-ui:css-layout\",\n description: \"Enforce that layout values come from the <Layout> primitive, not ad-hoc CSS\",\n run: async ({ rootDir, config }) => {\n const r = await checkCssLayout({\n rootDir,\n ...(config?.skipDirs ? { skipDirs: config.skipDirs } : {}),\n });\n return {\n ok: r.violations.length === 0,\n messages: r.violations.map((v) => `${v.file}:${v.line}: ${v.rule}`),\n };\n },\n};\n\nconst cssQuality: Check<CssCheckConfig | undefined> = {\n id: \"polly-ui:css-quality\",\n description: \"Enforce that styled values come from semantic tokens, not literals\",\n run: async ({ rootDir, config }) => {\n const r = await checkCssQuality({\n rootDir,\n ...(config?.skipDirs ? { skipDirs: config.skipDirs } : {}),\n });\n return {\n ok: r.violations.length === 0,\n messages: r.violations.map((v) => `${v.file}:${v.line}: ${v.rule}`),\n };\n },\n};\n\nconst cssVars: Check<CssCheckConfig | undefined> = {\n id: \"polly-ui:css-vars\",\n description: \"Flag `var(--name)` references that resolve to no `--name:` definition\",\n run: async ({ rootDir, config }) => {\n const r = await checkCssVars({\n rootDir,\n ...(config?.skipDirs ? { skipDirs: config.skipDirs } : {}),\n });\n return {\n ok: r.violations.length === 0,\n messages: r.violations.map((v) => `${v.file}:${v.line}: ${v.rule}`),\n };\n },\n};\n\nconst cssUnused: Check<CssCheckConfig | undefined> = {\n id: \"polly-ui:css-unused\",\n description: \"Surface CSS-module selectors that are never referenced from JS/TSX (advisory)\",\n run: async ({ rootDir, config }) => {\n const r = await checkCssUnused({\n rootDir,\n ...(config?.skipDirs ? { skipDirs: config.skipDirs } : {}),\n });\n return {\n // Advisory: never fails the run, just reports.\n ok: true,\n messages: r.violations.map((v) => `${v.file}:${v.line}: ${v.rule}`),\n };\n },\n};\n\n// polly-ui:shared-components (#92)\n\ntype SharedComponentsConfig = {\n scanRoot?: string;\n skipDirs?: string[];\n exemptPackages?: string[];\n};\n\nconst sharedComponents: Check<SharedComponentsConfig | undefined> = {\n id: \"polly-ui:shared-components\",\n description:\n \"Ban native interactive HTML elements; require the polly-ui primitive (<Button>, <Modal>, etc.)\",\n run: async ({ rootDir, config }) => {\n const c = config ?? {};\n const r = await checkSharedComponents({\n root: rootDir,\n ...(c.scanRoot ? { scanRoot: c.scanRoot } : {}),\n ...(c.skipDirs ? { skipDirs: new Set(c.skipDirs) } : {}),\n ...(c.exemptPackages ? { exemptPackages: new Set(c.exemptPackages) } : {}),\n });\n return {\n ok: r.violations.length === 0,\n messages: r.violations.map(\n (v) => `${v.file}:${v.line}: ${v.element} → ${v.replacement} — ${v.content}`\n ),\n };\n },\n};\n\n// polly-ui:no-inline-handlers (#90, check-only — runtime is a follow-up)\n\ntype NoInlineHandlersConfig = {\n banned?: string[];\n allowedFiles?: string[];\n zones?: string[];\n skipDirs?: string[];\n};\n\nconst DEFAULT_NO_INLINE_HANDLERS: Required<NoInlineHandlersConfig> = {\n banned: [\n \"onClick\",\n \"onSubmit\",\n \"onChange\",\n \"onInput\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onMouseDown\",\n \"onMouseUp\",\n \"onMouseEnter\",\n \"onMouseLeave\",\n ],\n allowedFiles: [],\n zones: [\"src\"],\n skipDirs: SKIP_DIRS_DEFAULT,\n};\n\nfunction escapeRegex(name: string): string {\n return name.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nfunction buildHandlerRegex(banned: string[]): RegExp {\n const alts = banned.map(escapeRegex).join(\"|\");\n // Match `onClick={…}` and `onClick=\"…\"` and `onClick='…'` opening forms.\n // nosemgrep: javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp\n return new RegExp(`\\\\b(${alts})\\\\s*=\\\\s*\\\\{`);\n}\n\nfunction isTestFile(rel: string): boolean {\n return (\n rel.includes(\"__tests__\") ||\n rel.includes(\".test.\") ||\n rel.includes(\".spec.\") ||\n rel.startsWith(\"tests/\")\n );\n}\n\nasync function scanFileForInlineHandlers(\n filePath: string,\n rel: string,\n regex: RegExp\n): Promise<string[]> {\n const content = await Bun.file(filePath).text();\n const lines = content.split(\"\\n\");\n const out: string[] = [];\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i] ?? \"\";\n if (isCommentLine(line.trim())) continue;\n if (regex.test(line)) {\n out.push(`${rel}:${i + 1}: ${line.trim()}`);\n }\n }\n return out;\n}\n\nconst noInlineHandlers: Check<NoInlineHandlersConfig | undefined> = {\n id: \"polly-ui:no-inline-handlers\",\n description:\n \"Ban inline JSX event handlers (use data-action delegation instead — see polly-ui actions runtime)\",\n filesRead: async (cfg, root) => {\n const c = cfg ?? {};\n const skipDirs = new Set(c.skipDirs ?? DEFAULT_NO_INLINE_HANDLERS.skipDirs);\n const allowed = c.allowedFiles ?? DEFAULT_NO_INLINE_HANDLERS.allowedFiles;\n const out: string[] = [];\n for (const z of c.zones ?? DEFAULT_NO_INLINE_HANDLERS.zones) {\n await walkScannableFiles(join(root, z), skipDirs, [\".tsx\"], out);\n }\n return out.filter((p) => {\n const rel = relative(root, p);\n return !isTestFile(rel) && !isAllowedByGlob(rel, allowed);\n });\n },\n run: async ({ rootDir, config }) => {\n const c = config ?? {};\n const banned = c.banned ?? DEFAULT_NO_INLINE_HANDLERS.banned;\n if (banned.length === 0) return { ok: true, messages: [] };\n const skipDirs = new Set(c.skipDirs ?? DEFAULT_NO_INLINE_HANDLERS.skipDirs);\n const allowed = c.allowedFiles ?? DEFAULT_NO_INLINE_HANDLERS.allowedFiles;\n const regex = buildHandlerRegex(banned);\n const violations: string[] = [];\n for (const z of c.zones ?? DEFAULT_NO_INLINE_HANDLERS.zones) {\n const files: string[] = [];\n await walkScannableFiles(join(rootDir, z), skipDirs, [\".tsx\"], files);\n for (const filePath of files) {\n const rel = relative(rootDir, filePath);\n if (isTestFile(rel) || isAllowedByGlob(rel, allowed)) continue;\n violations.push(...(await scanFileForInlineHandlers(filePath, rel, regex)));\n }\n }\n return { ok: violations.length === 0, messages: violations };\n },\n};\n\nexport const POLLY_UI_PLUGIN_VERSION = \"0.46.0\";\n\nexport const pollyUiPlugin: QualityPlugin = {\n name: \"polly-ui\",\n version: POLLY_UI_PLUGIN_VERSION,\n checks: [\n cssLayout as Check<unknown>,\n cssQuality as Check<unknown>,\n cssVars as Check<unknown>,\n cssUnused as Check<unknown>,\n sharedComponents as Check<unknown>,\n noInlineHandlers as Check<unknown>,\n ],\n};\n"
|
|
25
25
|
],
|
|
26
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAkCA;AACA;AAoBO,IAAM,iCAAwD;AAAA,EACnE,EAAE,SAAS,gBAAgB,SAAS,YAAY,aAAa,WAAW;AAAA,EACxE;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,aAAa;AAAA,IAGb,MAAM,CAAC,SAAS,sBAAsB,KAAK,IAAI;AAAA,EACjD;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,EAAE,SAAS,gBAAgB,SAAS,YAAY,aAAa,WAAW;AAAA,EACxE,EAAE,SAAS,cAAc,SAAS,UAAU,aAAa,eAAe;AAAA,EACxE,EAAE,SAAS,gBAAgB,SAAS,YAAY,aAAa,UAAU;AACzE;AAoCA,IAAM,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,QAAQ,QAAQ,SAAS,OAAO,CAAC;AAQpF,eAAsB,qBAAqB,CACzC,SACsC;AAAA,EACtC,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC7B,GAAG;AAAA,IACH,GAAI,QAAQ,mBAAmB,CAAC;AAAA,EAClC;AAAA,EACA,MAAM,WAAW,QAAQ,YAAY;AAAA,EACrC,MAAM,WAAW,QAAQ,YAAY;AAAA,EACrC,MAAM,iBAAiB,QAAQ,kBAAkB,IAAI;AAAA,EACrD,MAAM,eAAe,KAAK,QAAQ,MAAM,QAAQ;AAAA,EAChD,MAAM,aAAyC,CAAC;AAAA,EAEhD,MAAM,cAAc,cAAc;AAAA,IAChC,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA,KAAK,CAAC,KAAK;AAAA,MACT,IAAI,WAAW,WAAW,GAAG;AAAA,QAC3B,IAAI,wBAAwB;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,IAAI,uBAAuB,WAAW;AAAA,CAA8B;AAAA,MACpE,WAAW,KAAK,YAAY;AAAA,QAC1B,IAAI,KAAK,EAAE,QAAQ,EAAE,UAAS,EAAE,iBAAiB,EAAE,aAAa;AAAA,QAChE,IAAI,OAAO,EAAE;AAAA,CAAW;AAAA,MAC1B;AAAA,MACA,IAAI,uFAAuF;AAAA;AAAA,EAE/F;AAAA;AAYF,eAAe,aAAa,CAAC,KAAa,OAAiC;AAAA,EACzE,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,QAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,KAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,MAAM,SAAS,IAAI,MAAM,IAAI,GAAG;AAAA,QAClC;AAAA,MACF;AAAA,MACA,IAAI,QAAQ,MAAM,gBAAgB,MAAM,eAAe,IAAI,MAAM,IAAI,GAAG;AAAA,QACtE;AAAA,MACF;AAAA,MACA,MAAM,cAAc,UAAU,KAAK;AAAA,IACrC,EAAO,SAAI,MAAM,OAAO,MAAM,MAAM,KAAK,SAAS,MAAM,KAAK,MAAM,KAAK,SAAS,MAAM,IAAI;AAAA,MACzF,MAAM,SAAS,UAAU,KAAK;AAAA,IAChC;AAAA,EACF;AAAA;AAGF,eAAe,QAAQ,CAAC,UAAkB,OAAiC;AAAA,EACzE,MAAM,OAAO,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC3C,MAAM,QAAQ,KAAK,MAAM;AAAA,CAAI;AAAA,EAE7B,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM;AAAA,IACnB,IAAI,CAAC;AAAA,MAAM;AAAA,IACX,MAAM,UAAU,KAAK,KAAK;AAAA,IAC1B,IAAI,cAAc,OAAO;AAAA,MAAG;AAAA,IAC5B,WAAW,QAAQ,MAAM,OAAO;AAAA,MAC9B,IAAI,CAAC,YAAY,MAAM,IAAI;AAAA,QAAG;AAAA,MAC9B,MAAM,WAAW,KAAK;AAAA,QACpB,MAAM,SAAS,MAAM,MAAM,QAAQ;AAAA,QACnC,MAAM,IAAI;AAAA,QACV,SAAS,KAAK;AAAA,QACd,aAAa,KAAK;AAAA,QAClB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAGF,SAAS,aAAa,CAAC,SAA0B;AAAA,EAC/C,OAAO,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA;AAGvF,SAAS,WAAW,CAAC,MAAc,MAAoC;AAAA,EACrE,IAAI,CAAC,KAAK,QAAQ,KAAK,IAAI;AAAA,IAAG,OAAO;AAAA,EACrC,MAAM,eAAe,KAAK,QAAQ,IAAI;AAAA,EACtC,MAAM,eAAe,KAAK,OAAO,KAAK,OAAO;AAAA,EAC7C,IAAI,iBAAiB,MAAM,eAAe;AAAA,IAAc,OAAO;AAAA,EAC/D,IAAI,KAAK,OAAO,IAAI;AAAA,IAAG,OAAO;AAAA,EAC9B,OAAO;AAAA;;ACnNT,oBAAS;AACT,iBAAS,mBAAM;;;ACgBf,SAAS,UAAU,CAAC,SAAuB;AAAA,EACzC,QAAQ,IAAI,OAAO;AAAA;AAErB,SAAS,YAAY,CAAC,SAAuB;AAAA,EAE3C,QAAQ,MAAM,OAAO;AAAA;AAEvB,SAAS,WAAW,CAAC,SAAuB;AAAA,EAE1C,QAAQ,KAAK,OAAO;AAAA;AAEtB,SAAS,WAAW,CAAC,SAAuB;AAAA,EAE1C,QAAQ,KAAK,OAAO;AAAA;AAGf,IAAM,SAAwB;AAAA,EACnC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AACR;AAEO,SAAS,WAAW,GAAS;AAAA,EAClC,OAAO,MAAM;AAAA,EACb,OAAO,QAAQ;AAAA,EACf,OAAO,OAAO;AAAA,EACd,OAAO,OAAO;AAAA;;;ADnBT,IAAM,qBAAoB,CAAC,gBAAgB,QAAQ,QAAQ,aAAa,SAAS,UAAU;AAElG,eAAsB,aAAa,CACjC,KACA,OACA,MACe;AAAA,EACf,MAAM,WAAW,IAAI,IAAI,KAAK,YAAY,kBAAiB;AAAA,EAC3D,MAAM,YAAY,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC;AAAA,EAC9C,MAAM,UAAU,KAAK;AAAA,EAGrB,eAAe,IAAI,CAAC,SAAgC;AAAA,IAClD,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,UAAU,MAAM,SAAQ,SAAS,EAAE,eAAe,KAAK,CAAC;AAAA,MACxD,MAAM;AAAA,MACN;AAAA;AAAA,IAEF,WAAW,SAAS,SAAS;AAAA,MAC3B,MAAM,OAAO,MAAK,SAAS,MAAM,IAAI;AAAA,MACrC,IAAI,MAAM,YAAY,GAAG;AAAA,QACvB,IAAI,SAAS,IAAI,MAAM,IAAI;AAAA,UAAG;AAAA,QAC9B,MAAM,KAAK,IAAI;AAAA,MACjB,EAAO,SAAI,MAAM,OAAO,GAAG;AAAA,QACzB,IAAI,UAAU,IAAI,MAAM,IAAI;AAAA,UAAG;AAAA,QAC/B,MAAM,MAAM,UAAS,SAAS,IAAI;AAAA,QAClC,MAAM,MAAM,MAAM,GAAG;AAAA,MACvB;AAAA,IACF;AAAA;AAAA,EAGF,MAAM,KAAK,GAAG;AAAA;AAGT,SAAS,gBAAgB,CAC9B,MACA,YACA,SACU;AAAA,EACV,MAAM,QAAkB,CAAC;AAAA,EACzB,IAAI,WAAW,WAAW,GAAG;AAAA,IAC3B,MAAM,KAAK,KAAI,qBAAqB;AAAA,IACpC,OAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,KAAI,SAAS,WAAW,qBAAqB;AAAA,EACxD,MAAM,SAAS,IAAI;AAAA,EACnB,WAAW,KAAK,YAAY;AAAA,IAC1B,MAAM,SAAS,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC;AAAA,IACtC,OAAO,KAAK,CAAC;AAAA,IACb,OAAO,IAAI,EAAE,MAAM,MAAM;AAAA,EAC3B;AAAA,EACA,YAAY,MAAM,mBAAmB,QAAQ;AAAA,IAC3C,MAAM,KAAK,KAAK,UAAS,SAAS,IAAI,GAAG;AAAA,IACzC,WAAW,KAAK,gBAAgB;AAAA,MAC9B,MAAM,KAAK,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,MACzC,MAAM,KAAK,eAAc,EAAE,eAAe,EAAE,OAAO;AAAA,IACrD;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,UAAU,CACxB,MACA,SACA,YACgB;AAAA,EAChB,OAAO;AAAA,IACL;AAAA,IACA,KAAK,GAAG;AAAA,MACN,WAAW,QAAQ,iBAAiB,MAAM,YAAY,OAAO,GAAG;AAAA,QAC9D,IAAI,KAAK,WAAW,GAAE,GAAG;AAAA,UACvB,OAAO,MAAM,IAAI;AAAA,QACnB,EAAO;AAAA,UACL,OAAO,IAAI,IAAI;AAAA;AAAA,MAEnB;AAAA;AAAA,EAEJ;AAAA;AAIK,SAAS,eAAe,CAAC,MAAuB;AAAA,EACrD,MAAM,UAAU,KAAK,KAAK;AAAA,EAC1B,OAAO,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA;AAIhF,SAAS,iBAAiB,CAAC,SAAiB,UAAsC;AAAA,EACvF,SAAS,IAAI,UAAU,EAAG,KAAK,GAAG,KAAK,GAAG;AAAA,IACxC,MAAM,IAAI,SAAS,IAAI,KAAK,KAAK;AAAA,IACjC,IAAI,EAAE,WAAW,YAAY;AAAA,MAAG,OAAO;AAAA,IACvC,IAAI,MAAM,OAAO,IAAI,UAAU;AAAA,MAAG,OAAO;AAAA,EAC3C;AAAA,EACA,OAAO;AAAA;;;AE1GT,IAAM,eAAyD;AAAA,EAC7D,EAAE,SAAS,sBAAsB,MAAM,uBAAuB;AAAA,EAC9D,EAAE,SAAS,sBAAsB,MAAM,uBAAuB;AAChE;AAEA,IAAM,eAAyD;AAAA,EAC7D;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF;AAEA,IAAM,WAAW;AAEjB,eAAsB,cAAc,CAAC,SAAoD;AAAA,EACvF,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,SAAS,QAAQ,qBAAqB,CAAC,qBAAqB,YAAY;AAAA,EAC9E,MAAM,aAA6B,CAAC;AAAA,EAEpC,MAAM,cACJ,SAEA,OAAO,SAAS;AAAA,IACd,MAAM,QAAQ,KAAK,SAAS,aAAa;AAAA,IACzC,MAAM,QAAQ,KAAK,SAAS,MAAM;AAAA,IAClC,IAAI,CAAC,SAAS,CAAC;AAAA,MAAO;AAAA,IACtB,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS,QAAQ,CAAC;AAAA,MAAG;AAAA,IAExD,MAAM,WAAW,QAAQ,eAAe;AAAA,IACxC,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,IAC1C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,IAEhC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,MACxC,MAAM,OAAO,MAAM;AAAA,MACnB,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,MAAM,UAAU,KAAK,KAAK;AAAA,MAC1B,IAAI,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA,QAChF;AAAA,MACF,IAAI,QAAQ,SAAS,QAAQ;AAAA,QAAG;AAAA,MAChC,MAAM,OAAO,IAAI,IAAK,MAAM,IAAI,IAAI,KAAK,KAAK,KAAM;AAAA,MACpD,IAAI,KAAK,SAAS,QAAQ;AAAA,QAAG;AAAA,MAE7B,WAAW,QAAQ,UAAU;AAAA,QAC3B,IAAI,KAAK,QAAQ,KAAK,IAAI,GAAG;AAAA,UAC3B,WAAW,KAAK;AAAA,YACd,MAAM;AAAA,YACN,MAAM,IAAI;AAAA,YACV,MAAM,KAAK;AAAA,YACX,SAAS;AAAA,YACT,YAAY;AAAA,UACd,CAAC;AAAA,UACD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,KAEF;AAAA,IACE;AAAA,IACA,UAAU,QAAQ;AAAA,EACpB,CACF;AAAA,EAEA,OAAO,WAAW,cAAc,SAAS,UAAU;AAAA;;ACxDrD,IAAM,gBAAwB;AAAA,EAC5B;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,+CAA+C,KAAK,IAAI,GAAG;AAAA,QAC7D,OAAO;AAAA,MACT;AAAA,MACA,IAAI,2CAA2C,KAAK,IAAI,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG;AAAA,QACnF,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,CAAC,KAAK,SAAS,OAAO;AAAA,QAAG,OAAO;AAAA,MACpC,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,KAAK,SAAS,YAAY;AAAA,QAAG,OAAO;AAAA,MACxC,IAAI,mBAAmB,KAAK,IAAI,GAAG;AAAA,QACjC,OAAO;AAAA,MACT;AAAA,MACA,IAAI,mBAAmB,KAAK,IAAI,GAAG;AAAA,QACjC,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,MAAM,IAAI,KAAK,MAAM,kBAAkB;AAAA,MACvC,IAAI,CAAC,IAAI;AAAA,QAAI,OAAO;AAAA,MACpB,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,OAAO,SAAS,EAAE,IAAI,EAAE,IAAI;AAAA,QAAI,OAAO;AAAA,MAC3C,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,CAAC,mBAAmB,KAAK,IAAI;AAAA,QAAG,OAAO;AAAA,MAC3C,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,MAAM,IAAI,KAAK,MAAM,qBAAqB;AAAA,MAC1C,IAAI,CAAC,IAAI;AAAA,QAAI,OAAO;AAAA,MACpB,MAAM,IAAI,OAAO,WAAW,EAAE,EAAE;AAAA,MAChC,IAAI,KAAK,OAAO,KAAK,KAAK;AAAA,QACxB,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,MAAM,SAAS,aAAa;AAAA,MAClC,IAAI,kBAAkB,SAAS,QAAQ;AAAA,QAAG,OAAO;AAAA,MACjD,IAAI,KAAK,SAAS,oBAAoB;AAAA,QAAG,OAAO;AAAA,MAChD,IAAI,CAAC,2BAA2B,KAAK,IAAI;AAAA,QAAG,OAAO;AAAA,MACnD,IACE,iEAAiE,KAAK,IAAI,KAC1E,CAAC,KAAK,SAAS,UAAU,GACzB;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,IAAI,uBAAuB,KAAK,IAAI,KAAK,CAAC,KAAK,SAAS,UAAU,GAAG;AAAA,QACnE,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,CAAC,KAAK,SAAS,YAAY;AAAA,QAAG,OAAO;AAAA,MACzC,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,MAAM,SAAS,aAAa;AAAA,MAClC,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,kBAAkB,SAAS,QAAQ;AAAA,QAAG,OAAO;AAAA,MACjD,IAAI,+BAA+B,KAAK,IAAI,GAAG;AAAA,QAC7C,IAAI,KAAK,SAAS,OAAO,KAAK,KAAK,SAAS,aAAa,GAAG;AAAA,UAC1D,OAAO;AAAA,QACT;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,KAAK,SAAS,0BAA0B;AAAA,QAAG,OAAO;AAAA,MACtD,MAAM,IAAI,KAAK,MAAM,0DAA0D;AAAA,MAC/E,IAAI,CAAC,IAAI;AAAA,QAAI,OAAO;AAAA,MACpB,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,MAAM,IAAI,KAAK,MAAM,0BAA0B;AAAA,MAC/C,IAAI,CAAC,IAAI;AAAA,QAAI,OAAO;AAAA,MACpB,IAAI,EAAE,OAAO;AAAA,QAAK,OAAO;AAAA,MACzB,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,gBAAgB,IAAI;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,CAAC,KAAK,SAAS,aAAa;AAAA,QAAG,OAAO;AAAA,MAC1C,IAAI,KAAK,SAAS,oBAAoB;AAAA,QAAG,OAAO;AAAA,MAChD,IAAI,KAAK,SAAS,wBAAwB;AAAA,QAAG,OAAO;AAAA,MACpD,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,IAAI,qBAAqB,KAAK,IAAI;AAAA,QAAG,OAAO;AAAA,MAC5C,OAAO;AAAA;AAAA,EAEX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,SAAS;AAAA,MACf,IAAI,CAAC,uBAAuB,KAAK,IAAI;AAAA,QAAG,OAAO;AAAA,MAC/C,IAAI,KAAK,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAClC,OAAO;AAAA;AAAA,EAEX;AACF;AAEA,eAAsB,eAAe,CAAC,SAAqD;AAAA,EACzF,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,aAAa,QAAQ,cAAc,CAAC,aAAa;AAAA,EACvD,MAAM,YAAY,QAAQ,aAAa,CAAC,aAAa,YAAY;AAAA,EACjE,MAAM,WAAW,IAAI,IAAI,QAAQ,gBAAgB,CAAC,CAAC;AAAA,EACnD,MAAM,QAAQ,cAAc,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;AAAA,EAC7D,MAAM,aAA6B,CAAC;AAAA,EAEpC,MAAM,cACJ,SAEA,OAAO,SAAS;AAAA,IACd,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,KAAK,SAAS,GAAG,CAAC;AAAA,MAAG;AAAA,IACnD,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,IAC1C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,IAChC,MAAM,gBAAgB,MAAM,IAAI,SAAS,kBAAkB;AAAA,IAC3D,IAAI;AAAA,MAAe;AAAA,IAEnB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,MACxC,MAAM,OAAO,MAAM;AAAA,MACnB,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,MAAM,UAAU,KAAK,KAAK;AAAA,MAC1B,IAAI,YAAY,MAAM,YAAY,OAAO,YAAY;AAAA,QAAK;AAAA,MAC1D,WAAW,QAAQ,OAAO;AAAA,QACxB,MAAM,aAAa,KAAK,MAAM,MAAM,GAAG,KAAK;AAAA,QAC5C,IAAI,YAAY;AAAA,UACd,WAAW,KAAK;AAAA,YACd,MAAM;AAAA,YACN,MAAM,IAAI;AAAA,YACV,MAAM,KAAK;AAAA,YACX,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,KAEF;AAAA,IACE;AAAA,IACA,UAAU,QAAQ;AAAA,IAClB;AAAA,EACF,CACF;AAAA,EAEA,OAAO,WAAW,eAAe,SAAS,UAAU;AAAA;;ACxLtD,eAAsB,cAAc,CAAC,SAAoD;AAAA,EACvF,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,aAAa,IAAI,IAAI,QAAQ,qBAAqB,CAAC,CAAC;AAAA,EAC1D,MAAM,cAA4B,CAAC;AAAA,EACnC,MAAM,aAAuD,CAAC;AAAA,EAC9D,MAAM,cAAwD,CAAC;AAAA,EAE/D,MAAM,cACJ,SAEA,OAAO,SAAS;AAAA,IACd,IAAI,KAAK,SAAS,aAAa,GAAG;AAAA,MAChC,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,MAC1C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,MAChC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,QACxC,MAAM,OAAO,MAAM;AAAA,QACnB,IAAI,CAAC;AAAA,UAAM;AAAA,QACX,WAAW,KAAK,KAAK,SAAS,2BAA2B,GAAG;AAAA,UAC1D,IAAI,EAAE,IAAI;AAAA,YACR,YAAY,KAAK;AAAA,cACf,MAAM;AAAA,cACN,MAAM,EAAE;AAAA,cACR,MAAM,IAAI;AAAA,cACV,MAAM;AAAA,YACR,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QACA,WAAW,KAAK,KAAK,SAAS,qBAAqB,GAAG;AAAA,UACpD,IAAI,EAAE,IAAI;AAAA,YACR,YAAY,KAAK;AAAA,cACf,MAAM;AAAA,cACN,MAAM,KAAK,EAAE;AAAA,cACb,MAAM,IAAI;AAAA,cACV,MAAM;AAAA,YACR,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,MACA,YAAY,KAAK,EAAE,MAAM,MAAM,QAAQ,CAAC;AAAA,IAC1C,EAAO,SAAI,KAAK,SAAS,MAAM,KAAK,CAAC,KAAK,SAAS,WAAW,GAAG;AAAA,MAC/D,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,MAC1C,YAAY,KAAK,EAAE,MAAM,MAAM,QAAQ,CAAC;AAAA,IAC1C,EAAO,UAAK,KAAK,SAAS,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,CAAC,KAAK,SAAS,WAAW,GAAG;AAAA,MACzF,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,MAC1C,WAAW,KAAK,EAAE,MAAM,MAAM,QAAQ,CAAC;AAAA,IACzC;AAAA,KAEF,EAAE,SAAS,UAAU,QAAQ,SAAS,CACxC;AAAA,EAGA,MAAM,OAAO,IAAI;AAAA,EACjB,MAAM,aAAa,YAAY,OAAO,CAAC,MAAM;AAAA,IAC3C,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAAA,IACrC,IAAI,KAAK,IAAI,GAAG;AAAA,MAAG,OAAO;AAAA,IAC1B,KAAK,IAAI,GAAG;AAAA,IACZ,OAAO;AAAA,GACR;AAAA,EAED,SAAS,eAAe,CAAC,MAAuB;AAAA,IAC9C,IAAI,WAAW,IAAI,IAAI;AAAA,MAAG,OAAO;AAAA,IACjC,aAAa,aAAa,YAAY;AAAA,MACpC,IACE,QAAQ,SAAS,IAAI,MAAM,KAC3B,QAAQ,SAAS,KAAK,QAAQ,KAC9B,QAAQ,SAAS,KAAK,QAAQ,GAC9B;AAAA,QACA,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,EAIT,SAAS,kBAAkB,CAAC,MAAc,SAA0B;AAAA,IAClE,aAAa,MAAM,aAAa,aAAa;AAAA,MAC3C,IAAI,SAAS;AAAA,QAAS;AAAA,MACtB,IAAI,QAAQ,SAAS,OAAO,OAAO;AAAA,QAAG,OAAO;AAAA,IAC/C;AAAA,IACA,MAAM,OAAO,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,OAAO;AAAA,IACvD,IAAI,MAAM;AAAA,MACR,MAAM,cAAc,KAAK,QAAQ,MAAM,IAAI,EAAE,SAAS;AAAA,MACtD,IAAI,cAAc;AAAA,QAAG,OAAO;AAAA,IAC9B;AAAA,IACA,aAAa,aAAa,YAAY;AAAA,MACpC,IAAI,QAAQ,SAAS,IAAI;AAAA,QAAG,OAAO;AAAA,IACrC;AAAA,IACA,OAAO;AAAA;AAAA,EAGT,MAAM,aAA6B,CAAC;AAAA,EACpC,WAAW,OAAO,YAAY;AAAA,IAC5B,IAAI,IAAI,SAAS,WAAW,CAAC,gBAAgB,IAAI,IAAI,GAAG;AAAA,MACtD,WAAW,KAAK;AAAA,QACd,MAAM,IAAI;AAAA,QACV,MAAM,IAAI;AAAA,QACV,MAAM;AAAA,QACN,SAAS,IAAI,IAAI;AAAA,QACjB,YAAY;AAAA,MACd,CAAC;AAAA,IACH,EAAO,SAAI,IAAI,SAAS,cAAc,CAAC,mBAAmB,IAAI,MAAM,IAAI,IAAI,GAAG;AAAA,MAC7E,WAAW,KAAK;AAAA,QACd,MAAM,IAAI;AAAA,QACV,MAAM,IAAI;AAAA,QACV,MAAM;AAAA,QACN,SAAS,IAAI;AAAA,QACb,YAAY;AAAA,MACd,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAO,WAAW,yBAAyB,SAAS,UAAU;AAAA;;ACpHhE,eAAsB,YAAY,CAAC,SAAkD;AAAA,EACnF,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,WAAW,QAAQ,kBAAkB,CAAC,OAAO,QAAQ,MAAM;AAAA,EACjE,MAAM,UAAU,IAAI,IAAI,QAAQ,eAAe,CAAC,CAAC;AAAA,EACjD,MAAM,cAAc,IAAI,IAAY,OAAO;AAAA,EAC3C,MAAM,aAA6B,CAAC;AAAA,EAGpC,MAAM,cACJ,SACA,OAAO,SAAS;AAAA,IACd,IAAI,CAAC,KAAK,SAAS,MAAM;AAAA,MAAG;AAAA,IAC5B,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,IAC1C,WAAW,KAAK,QAAQ,SAAS,iBAAiB,GAAG;AAAA,MACnD,IAAI,EAAE;AAAA,QAAI,YAAY,IAAI,KAAK,EAAE,IAAI;AAAA,IACvC;AAAA,KAEF,EAAE,SAAS,UAAU,QAAQ,SAAS,CACxC;AAAA,EAGA,MAAM,cACJ,SAEA,OAAO,SAAS;AAAA,IACd,IAAI,KAAK,SAAS,WAAW;AAAA,MAAG;AAAA,IAChC,IAAI,CAAC,SAAS,KAAK,CAAC,QAAQ,KAAK,SAAS,GAAG,CAAC;AAAA,MAAG;AAAA,IACjD,MAAM,UAAU,MAAM,IAAI,KAAK,IAAI,EAAE,KAAK;AAAA,IAC1C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,IAChC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,MACxC,MAAM,OAAO,MAAM;AAAA,MACnB,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,WAAW,KAAK,KAAK,SAAS,oBAAoB,GAAG;AAAA,QACnD,MAAM,OAAO,KAAK,EAAE;AAAA,QACpB,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG;AAAA,UAC1B,WAAW,KAAK;AAAA,YACd,MAAM;AAAA,YACN,MAAM,IAAI;AAAA,YACV,MAAM;AAAA,YACN,SAAS,KAAK,KAAK;AAAA,YACnB,YAAY,UAAU;AAAA,UACxB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,KAEF,EAAE,SAAS,UAAU,QAAQ,SAAS,CACxC;AAAA,EAEA,OAAO,WAAW,YAAY,SAAS,UAAU;AAAA;;AC5DnD;AACA;AA4BO,SAAS,WAAW,CAAC,MAAuB;AAAA,EACjD,IAAI,CAAC,KAAK,SAAS,MAAM;AAAA,IAAG,OAAO;AAAA,EAEnC,MAAM,UAAU,KAAK,KAAK;AAAA,EAG1B,IAAI,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI,GAAG;AAAA,IACnF,OAAO;AAAA,EACT;AAAA,EAGA,IAAI,KAAK,MAAM,cAAc,GAAG;AAAA,IAC9B,MAAM,iBAAiB,KAAK,QAAQ,iBAAiB,EAAE;AAAA,IACvD,IAAI,CAAC,eAAe,SAAS,MAAM;AAAA,MAAG,OAAO;AAAA,EAC/C;AAAA,EAGA,IAAI,KAAK,SAAS,iBAAiB,KAAK,KAAK,QAAQ,EAAE,SAAS,eAAe,GAAG;AAAA,IAChF,MAAM,qBAAqB,KAAK,QAAQ,sBAAsB,EAAE;AAAA,IAChE,IAAI,CAAC,mBAAmB,SAAS,MAAM;AAAA,MAAG,OAAO;AAAA,EACnD;AAAA,EAGA,IACE,KAAK,MAAM,mCAAmC,KAC9C,KAAK,MAAM,mCAAmC,KAC9C,KAAK,MAAM,0CAA0C,KACrD,KAAK,MAAM,0BAA0B,KACrC,KAAK,MAAM,iCAAiC,GAC5C;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAGA,IAAI,KAAK,MAAM,cAAc;AAAA,IAAG,OAAO;AAAA,EAIvC,IAAI,oBAAoB,IAAI;AAAA,IAAG,OAAO;AAAA,EAGtC,IAAI,UAAU,OAAO;AAAA,IAAG,OAAO;AAAA,EAI/B,IAAI,YAAY,OAAO;AAAA,IAAG,OAAO;AAAA,EAGjC,MAAM,aAAa,KAAK,QAAQ,IAAI;AAAA,EACpC,IAAI,cAAc,KAAK,KAAK,QAAQ,QAAQ,UAAU,KAAK,GAAG;AAAA,IAC5D,MAAM,gBAAgB,KAAK,UAAU,GAAG,UAAU;AAAA,IAClD,IAAI,CAAC,cAAc,SAAS,MAAM;AAAA,MAAG,OAAO;AAAA,EAC9C;AAAA,EAGA,IAAI,KAAK,MAAM,iBAAiB;AAAA,IAAG,OAAO;AAAA,EAE1C,IAAI,KAAK,SAAS,aAAa;AAAA,IAAG,OAAO;AAAA,EAEzC,OAAO;AAAA;AAOT,SAAS,mBAAmB,CAAC,MAAuB;AAAA,EAClD,IAAI,aAAa;AAAA,EACjB,OAAO,MAAM;AAAA,IACX,MAAM,MAAM,KAAK,QAAQ,QAAQ,UAAU;AAAA,IAC3C,IAAI,MAAM;AAAA,MAAG,OAAO;AAAA,IACpB,MAAM,SAAS,KAAK,UAAU,GAAG,GAAG;AAAA,IACpC,MAAM,gBAAgB,OAAO,MAAM,IAAI,KAAK,CAAC,GAAG;AAAA,IAChD,MAAM,gBAAgB,OAAO,MAAM,IAAI,KAAK,CAAC,GAAG;AAAA,IAChD,MAAM,aAAa,OAAO,MAAM,IAAI,KAAK,CAAC,GAAG;AAAA,IAC7C,IAAI,eAAe,MAAM,KAAK,eAAe,MAAM,KAAK,YAAY,MAAM,GAAG;AAAA,MAC3E,OAAO;AAAA,IACT;AAAA,IACA,aAAa,MAAM;AAAA,EACrB;AAAA;AAOF,SAAS,SAAS,CAAC,SAA0B;AAAA,EAE3C,IAAI,QAAQ,MAAM,8BAA8B,GAAG;AAAA,IAIjD,IACE,CAAC,QAAQ,MAAM,iBAAiB,KAChC,CAAC,QAAQ,MAAM,oDAAoD,GACnE;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAOT,SAAS,WAAW,CAAC,SAA0B;AAAA,EAC7C,MAAM,MAAM,QAAQ,QAAQ,MAAM;AAAA,EAClC,IAAI,MAAM;AAAA,IAAG,OAAO;AAAA,EACpB,MAAM,SAAS,QAAQ,UAAU,GAAG,GAAG;AAAA,EAEvC,OACE,CAAC,OAAO,MAAM,UAAU,KACxB,CAAC,OAAO,MAAM,0DAA0D;AAAA;AAQrE,SAAS,UAAU,CAAC,MAAkC;AAAA,EAC3D,IAAI,KAAK,SAAS,YAAY,GAAG;AAAA,IAC/B,OAAO;AAAA,EACT;AAAA,EACA,IACE,KAAK,SAAS,qBAAqB,KACnC,KAAK,SAAS,wBAAwB,KACtC,KAAK,SAAS,sBAAsB,GACpC;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,gBAAgB,KAAK,KAAK,SAAS,YAAY,GAAG;AAAA,IAClE,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,QAAQ,KAAK,KAAK,SAAS,KAAK,GAAG;AAAA,IACnD,OAAO;AAAA,EACT;AAAA,EACA,IACE,KAAK,SAAS,yBAAyB,MACtC,KAAK,SAAS,QAAQ,KAAK,KAAK,SAAS,YAAY,IACtD;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,yBAAyB,GAAG;AAAA,IAC5C,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,eAAe,GAAG;AAAA,IAChE,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,YAAY,GAAG;AAAA,IAC3F,OAAO;AAAA,EACT;AAAA,EACA,IAAI,KAAK,SAAS,QAAQ,GAAG;AAAA,IAC3B,OAAO;AAAA,EACT;AAAA,EACA;AAAA;AAGF,SAAS,cAAc,CACrB,WACA,aACA,iBACA,cACS;AAAA,EACT,MAAM,WAAW,UAAS,MAAM,GAAG;AAAA,EACnC,IAAI,SAAS,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,CAAC;AAAA,IAAG,OAAO;AAAA,EACrD,IAAI,gBAAgB,OAAO,KAAK,SAAS,KAAK,CAAC,MAAM,gBAAgB,IAAI,CAAC,CAAC;AAAA,IAAG,OAAO;AAAA,EACrF,MAAM,WAAW,SAAS,SAAS,SAAS,MAAM;AAAA,EAClD,OAAO,aAAa,IAAI,QAAQ,KAAK,aAAa,IAAI,SAAQ;AAAA;AAGhE,SAAS,cAAc,CAAC,WAAkB,SAA8B;AAAA,EACtE,MAAM,UAAuB,CAAC;AAAA,EAC9B,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,IAAI,iBAAiB;AAAA,EACrB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,MAAM,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG;AAAA,IAC3C,MAAM,oBAAoB;AAAA,IAC1B,IAAI,YAAY,MAAM;AAAA,MAAG,iBAAiB,CAAC;AAAA,IAI3C,IAAI,qBAAqB,cAAc,KAAK,CAAC,KAAK,SAAS,IAAI;AAAA,MAAG;AAAA,IAElE,IAAI,CAAC,YAAY,IAAI,GAAG;AAAA,MACtB,QAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,MAAM,IAAI;AAAA,QACV,SAAS,KAAK,KAAK;AAAA,QACnB,QAAQ,WAAW,KAAK,KAAK,CAAC;AAAA,MAChC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,eAAe,CAAC,YAA+B;AAAA,EACtD,IAAI,WAAW,WAAW,GAAG;AAAA,IAC3B,OAAO,IAAI,wCAAuC;AAAA,IAClD;AAAA,EACF;AAAA,EACA,OAAO,IAAI,qBAAoB,WAAW;AAAA,CAA8B;AAAA,EACxE,WAAW,KAAK,YAAY;AAAA,IAC1B,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM;AAAA,IAClC,OAAO,IAAI,OAAO,EAAE,SAAS;AAAA,IAC7B,IAAI,EAAE;AAAA,MAAQ,OAAO,IAAI,oBAAS,EAAE,QAAQ;AAAA,IAC5C,OAAO,IAAI,EAAE;AAAA,EACf;AAAA,EACA,OAAO,IAAI,8EAA8E;AAAA,EACzF,OAAO,IAAI,kEAAkE;AAAA;AAO/E,eAAsB,gBAAgB,CAAC,SAA6C;AAAA,EAClF,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,cAAc,IAAI,IAAI,QAAQ,WAAW,CAAC,gBAAgB,QAAQ,QAAQ,MAAM,CAAC;AAAA,EACvF,MAAM,kBAAkB,IAAI,IAAI,QAAQ,mBAAmB,CAAC,CAAC;AAAA,EAC7D,MAAM,eAAe,IAAI,IAAI,QAAQ,gBAAgB,CAAC,CAAC;AAAA,EACvD,MAAM,UAAU,QAAQ,gBAAgB;AAAA,EACxC,MAAM,OAAO,IAAI,KAAK,OAAO;AAAA,EAC7B,MAAM,aAA0B,CAAC;AAAA,EAEjC,iBAAiB,QAAQ,KAAK,KAAK,EAAE,KAAK,SAAS,UAAU,KAAK,CAAC,GAAG;AAAA,IACpE,MAAM,YAAW,KAAK,QAAQ,GAAG,YAAY,EAAE;AAAA,IAC/C,IAAI,eAAe,WAAU,aAAa,iBAAiB,YAAY;AAAA,MAAG;AAAA,IAC1E,MAAM,UAAU,aAAa,MAAM,OAAO;AAAA,IAC1C,WAAW,KAAK,GAAG,eAAe,WAAU,OAAO,CAAC;AAAA,EACtD;AAAA,EAEA,OAAO,EAAE,YAAY,OAAO,MAAM,gBAAgB,UAAU,EAAE;AAAA;;AC/PhE,yBAAS;AACT,iBAAS;AA2BF,SAAS,kBAAkB,CAAC,MAAuB;AAAA,EACxD,IAAI,CAAC,KAAK,SAAS,SAAS,GAAG;AAAA,IAC7B,OAAO;AAAA,EACT;AAAA,EACA,MAAM,UAAU,KAAK,KAAK;AAAA,EAC1B,IAAI,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI,GAAG;AAAA,IACnF,OAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,KAAK,MAAM,gBAAgB;AAAA,EACzC,IAAI,CAAC,SAAS,MAAM,UAAU,WAAW;AAAA,IACvC,OAAO;AAAA,EACT;AAAA,EAGA,IAAI,KAAK,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,SAAS,kBAAkB,GAAG;AAAA,IAC/D,OAAO;AAAA,EACT;AAAA,EAGA,MAAM,SAAS,KAAK,MAAM,GAAG,MAAM,KAAK;AAAA,EACxC,MAAM,WAAW,OAAO,MAAM,WAAW,KAAK,CAAC,GAAG;AAAA,EAClD,MAAM,WAAW,OAAO,MAAM,WAAW,KAAK,CAAC,GAAG;AAAA,EAClD,MAAM,aAAa,OAAO,MAAM,WAAW,KAAK,CAAC,GAAG;AAAA,EACpD,IAAI,UAAU,MAAM,KAAK,UAAU,MAAM,KAAK,YAAY,MAAM,GAAG;AAAA,IACjE,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,aAAa,KAAK,QAAQ,IAAI;AAAA,EACpC,IAAI,cAAc,KAAK,MAAM,QAAQ,YAAY;AAAA,IAC/C,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,qBAAqB,CAAC,WAAkB,SAAuC;AAAA,EACtF,MAAM,UAAgC,CAAC;AAAA,EACvC,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,IAAI,iBAAiB;AAAA,EACrB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,MAAM,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG;AAAA,IAC3C,MAAM,oBAAoB;AAAA,IAC1B,IAAI,YAAY,MAAM,GAAG;AAAA,MACvB,iBAAiB,CAAC;AAAA,IACpB;AAAA,IAGA,IAAI,qBAAqB,cAAc,KAAK,CAAC,KAAK,SAAS,IAAI,GAAG;AAAA,MAChE;AAAA,IACF;AAAA,IACA,IAAI,CAAC,mBAAmB,IAAI,GAAG;AAAA,MAC7B,QAAQ,KAAK,EAAE,MAAM,WAAU,MAAM,IAAI,GAAG,SAAS,KAAK,KAAK,EAAE,CAAC;AAAA,IACpE;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,sBAAsB,CAAC,YAAwC;AAAA,EACtE,IAAI,WAAW,WAAW,GAAG;AAAA,IAC3B,OAAO,IAAI,qCAAoC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,OAAO,IAAI,kBAAiB,WAAW;AAAA,CAA8B;AAAA,EACrE,WAAW,KAAK,YAAY;AAAA,IAC1B,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM;AAAA,IAClC,OAAO,IAAI,OAAO,EAAE,SAAS;AAAA,IAC7B,OAAO,IAAI,EAAE;AAAA,EACf;AAAA,EACA,OAAO,IAAI,kFAAkF;AAAA;AAG/F,eAAsB,cAAc,CAClC,SAC+B;AAAA,EAC/B,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,cAAc,IAAI,IAAI,QAAQ,WAAW,CAAC,gBAAgB,QAAQ,QAAQ,MAAM,CAAC;AAAA,EACvF,MAAM,UAAU,QAAQ,gBAAgB;AAAA,EACxC,MAAM,OAAO,IAAI,MAAK,OAAO;AAAA,EAC7B,MAAM,aAAmC,CAAC;AAAA,EAE1C,iBAAiB,QAAQ,KAAK,KAAK,EAAE,KAAK,SAAS,UAAU,KAAK,CAAC,GAAG;AAAA,IACpE,MAAM,YAAW,KAAK,QAAQ,GAAG,YAAY,EAAE;AAAA,IAC/C,MAAM,WAAW,UAAS,MAAM,GAAG;AAAA,IACnC,IAAI,SAAS,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,CAAC,GAAG;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,MAAM,UAAU,cAAa,MAAM,OAAO;AAAA,IAC1C,WAAW,KAAK,GAAG,sBAAsB,WAAU,OAAO,CAAC;AAAA,EAC7D;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA,OAAO,MAAM,uBAAuB,UAAU;AAAA,EAChD;AAAA;;ACpGF;AACA,iBAAS;AAGT,IAAM,eAAe,CAAC,QAAsB,OAAO,MAAM,GAAG;AAgC5D,eAAsB,YAAY,CAAC,SAA2D;AAAA,EAC5F,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,UAAU,GAAG;AAAA,IAC7C,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAAA,EACD,MAAM,MAAM;AAAA,EACZ,IAAI,MAAM,aAAa,GAAG;AAAA,IACxB,OAAO;AAAA,MACL,aAAa;AAAA,MACb,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO,CAAC,QAAQ,iBAAiB;AAAA,QAC/B,MACE,8HACF;AAAA;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,CAAC,YAAY,UAAU,YAAY,QAAQ,QAAQ,GAAG;AAAA,EACnE,IAAI,QAAQ,UAAU,OAAO;AAAA,IAC3B,KAAK,KAAK,UAAU;AAAA,EACtB;AAAA,EACA,IAAI,QAAQ,YAAY;AAAA,IACtB,KAAK,KAAK,MAAM,QAAQ,UAAU;AAAA,EACpC;AAAA,EAEA,MAAM,OAAO,IAAI,MAAM,MAAM;AAAA,IAC3B,KAAK,QAAQ;AAAA,IACb,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAAA,EACD,OAAO,QAAQ,UAAU,MAAM,QAAQ,IAAI;AAAA,IACzC,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,IAC/B,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,EACjC,CAAC;AAAA,EACD,MAAM,KAAK;AAAA,EACX,MAAM,SAAS,GAAG,SAAS;AAAA,EAC3B,OAAO;AAAA,IACL,aAAa;AAAA,IACb,UAAU,KAAK;AAAA,IACf;AAAA,IACA,OAAO,CAAC,QAAQ,iBAAiB;AAAA,MAC/B,IAAI,QAAQ;AAAA,QACV,MAAM,MAAM;AAAA,MACd;AAAA;AAAA,EAEJ;AAAA;AAiDF,SAAS,kBAAkB,CAAC,MAAc,QAAkB,MAA0B;AAAA,EACpF,MAAM,WAAqB,CAAC;AAAA,EAC5B,IAAI,YAAY;AAAA,EAChB,WAAW,QAAQ,KAAK,MAAM;AAAA,CAAI,GAAG;AAAA,IACnC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG;AAAA,MACxC,YAAY;AAAA,MACZ;AAAA,IACF;AAAA,IACA,IAAI,KAAK,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG;AAAA,MACtC,YAAY;AAAA,MACZ;AAAA,IACF;AAAA,IACA,IAAI,CAAC,WAAW;AAAA,MACd;AAAA,IACF;AAAA,IACA,MAAM,QAAQ,KAAK,MAAM,aAAa;AAAA,IACtC,IAAI,CAAC,QAAQ,IAAI;AAAA,MACf;AAAA,IACF;AAAA,IAGA,SAAS,KAAK,MAAM,GAAG,QAAQ,SAAS,GAAG,EAAE,QAAQ,OAAO,EAAE,CAAC;AAAA,EACjE;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,mBAAmB,CAAC,QAAgB,UAA2B;AAAA,EACtE,IAAI,CAAC,UAAU,OAAO,WAAW,GAAG,GAAG;AAAA,IACrC,OAAO;AAAA,EACT;AAAA,EACA,IAAI,WAAW,UAAU;AAAA,IACvB,OAAO;AAAA,EACT;AAAA,EACA,MAAM,WAAW,OAAO,MAAM,mBAAmB;AAAA,EACjD,IAAI,WAAW,MAAM,SAAS,WAAW,SAAS,EAAE,GAAG;AAAA,IACrD,OAAO;AAAA,EACT;AAAA,EACA,IAAI,OAAO,SAAS,GAAG,KAAK,SAAS,WAAW,MAAM,GAAG;AAAA,IACvD,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,uBAA6C;AAAA,EACjD,SAAS,CAAC;AAAA,EACV,UAAU,CAAC;AAAA,EACX,OAAO,MAAM;AAMf;AAEA,eAAsB,6BAA6B,CACjD,SAC+B;AAAA,EAC/B,MAAM,WAAW,MAAK,QAAQ,MAAM,QAAQ,YAAY,gBAAgB;AAAA,EACxE,MAAM,gBAAgB,MAAK,QAAQ,MAAM,QAAQ,iBAAiB,YAAY;AAAA,EAC9E,MAAM,SAAS,QAAQ,uBAAuB,CAAC,oBAAoB,qBAAqB;AAAA,EACxF,MAAM,OAAO,QAAQ,qBAAqB,CAAC,eAAe;AAAA,EAE1D,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,OAAO,MAAM,SAAS,UAAU,MAAM;AAAA,IACtC,MAAM;AAAA,IACN,OAAO;AAAA;AAAA,EAET,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,YAAY,MAAM,SAAS,eAAe,MAAM;AAAA,IAChD,MAAM;AAAA,IACN,YAAY;AAAA;AAAA,EAGd,MAAM,WAAW,mBAAmB,MAAM,QAAQ,IAAI;AAAA,EACtD,MAAM,iBAAiB,UAAU,MAAM;AAAA,CAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,EAChE,MAAM,UAAU,SAAS,OACvB,CAAC,aAAa,CAAC,eAAe,KAAK,CAAC,OAAO,oBAAoB,IAAI,QAAQ,CAAC,CAC9E;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,CAAC,QAAQ,iBAAiB;AAAA,MAC/B,IAAI,QAAQ,WAAW,GAAG;AAAA,QACxB;AAAA,MACF;AAAA,MACA,MAAM,gEAAgE;AAAA,MACtE,WAAW,KAAK,SAAS;AAAA,QACvB,MAAM,KAAK,GAAG;AAAA,MAChB;AAAA,MACA,MACE,+GACF;AAAA;AAAA,EAEJ;AAAA;;ACxPF,uBAAS;AACT,kBAAS,oBAAO,wBAAU;AAC1B,iBAAS;;;ACTT;AACA,4BAAgB;AAChB,sCAA8B;AAe9B,IAAM,gBAAgB;AAEtB,eAAe,QAAQ,CAAC,MAA+B;AAAA,EACrD,IAAI;AAAA,IACF,MAAM,MAAM,MAAM,UAAS,IAAI;AAAA,IAC/B,MAAM,IAAI,WAAW,QAAQ;AAAA,IAC7B,EAAE,OAAO,GAAG;AAAA,IACZ,OAAO,EAAE,OAAO,KAAK;AAAA,IACrB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AASX,eAAsB,iBAAiB,CAAC,QAAqB,SAAkC;AAAA,EAC7F,MAAM,YAAmD,CAAC;AAAA,EAC1D,WAAW,KAAK,OAAO,OAAO;AAAA,IAC5B,MAAM,MAAM,WAAW,CAAC,IAAI,IAAI,QAAQ,SAAS,CAAC;AAAA,IAClD,MAAM,OAAO,MAAM,SAAS,GAAG;AAAA,IAE/B,MAAM,MAAM,IAAI,WAAW,GAAG,UAAU,IAAI,IAAI,MAAM,QAAQ,SAAS,CAAC,IAAI;AAAA,IAC5E,UAAU,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;AAAA,EACpC;AAAA,EACA,UAAU,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAAA,EAErD,MAAM,SAAS,OAAO,UAAU,CAAC;AAAA,EACjC,MAAM,cAAc,OAAO,KAAK,MAAM,EACnC,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,OAAO,MAAM,GAAG,EAAE;AAAA,EAElD,MAAM,UAAU,KAAK,UAAU,EAAE,OAAO,WAAW,QAAQ,YAAY,CAAC;AAAA,EACxE,OAAO,WAAW,QAAQ,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AAAA;AAG1D,SAAS,SAAS,CAAC,SAAiB,SAAyB;AAAA,EAG3D,MAAM,OAAO,QAAQ,QAAQ,MAAM,IAAI;AAAA,EACvC,OAAO,MAAK,SAAS,UAAU,iBAAiB,GAAG,WAAW;AAAA;AAGhE,eAAsB,gBAAgB,CACpC,SACA,SACA,MAC8B;AAAA,EAC9B,MAAM,OAAO,UAAU,SAAS,OAAO;AAAA,EACvC,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,MAAM,UAAS,MAAM,MAAM;AAAA,IACjC,MAAM;AAAA,IACN,OAAO;AAAA;AAAA,EAET,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,SAAS,KAAK,MAAM,GAAG;AAAA,IACvB,MAAM;AAAA,IAIN,OAAO;AAAA;AAAA,EAET,IAAI,OAAO,SAAS;AAAA,IAAM,OAAO;AAAA,EACjC,IAAI,OAAO,OAAO,SAAS,OAAO,aAAa,CAAC,MAAM,QAAQ,OAAO,SAAS,QAAQ,GAAG;AAAA,IACvF,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO;AAAA;AAGhB,eAAsB,gBAAgB,CACpC,SACA,SACA,MACA,SACe;AAAA,EACf,MAAM,OAAO,UAAU,SAAS,OAAO;AAAA,EACvC,MAAM,MAAM,QAAQ,IAAI,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAC9C,MAAM,QAAoB,EAAE,MAAM,SAAS,WAAW,IAAI,KAAK,EAAE,YAAY,EAAE;AAAA,EAC/E,MAAM,MAAM,GAAG,YAAY,QAAQ,OAAO,KAAK,IAAI;AAAA,EACnD,MAAM,UAAU,KAAK,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC;AAAA,EACnD,MAAM,OAAO,KAAK,IAAI;AAAA;;;ACrFjB,SAAS,eAAe,CAAC,SAAwD;AAAA,EACtF,MAAM,WAAW,IAAI;AAAA,EACrB,MAAM,cAAc,IAAI;AAAA,EACxB,WAAW,UAAU,SAAS;AAAA,IAC5B,IAAI,YAAY,IAAI,OAAO,IAAI,GAAG;AAAA,MAChC,MAAM,IAAI,MAAM,mCAAmC,OAAO,wBAAwB;AAAA,IACpF;AAAA,IACA,YAAY,IAAI,OAAO,IAAI;AAAA,IAC3B,WAAW,SAAS,OAAO,QAAQ;AAAA,MACjC,IAAI,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,OAAO,GAAG;AAAA,QAC3C,MAAM,IAAI,MACR,UAAU,MAAM,mCAAmC,OAAO,yCAAyC,OAAO,QAC5G;AAAA,MACF;AAAA,MACA,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG;AAAA,QAC1B,MAAM,QAAQ,SAAS,IAAI,MAAM,EAAE,GAAG,OAAO,QAAQ;AAAA,QACrD,MAAM,IAAI,MACR,wBAAwB,MAAM,8BAA8B,eAAe,OAAO,OACpF;AAAA,MACF;AAAA,MACA,SAAS,IAAI,MAAM,IAAI,EAAE,OAAO,OAAO,CAAC;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAQF,SAAS,iBAAiB,CAC/B,UACA,WACU;AAAA,EACV,MAAM,SAAmB,CAAC;AAAA,EAC1B,MAAM,SAAS,UAAU,UAAU,CAAC;AAAA,EACpC,YAAY,IAAI,QAAQ,OAAO,QAAQ,MAAM,GAAG;AAAA,IAC9C,MAAM,QAAQ,SAAS,IAAI,EAAE;AAAA,IAC7B,IAAI,CAAC,OAAO;AAAA,MACV,OAAO,KAAK,8CAA8C,KAAK;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,IAAI,CAAC,MAAM,MAAM;AAAA,MAAU;AAAA,IAC3B,MAAM,SAAS,MAAM,MAAM,SAAS,GAAG;AAAA,IACvC,IAAI,WAAW;AAAA,MAAM;AAAA,IACrB,WAAW,OAAO,QAAQ;AAAA,MACxB,OAAO,KAAK,IAAI,OAAO,KAAK;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAYT,eAAe,gBAAgB,CAC7B,OACA,QACA,MACwB;AAAA,EACxB,IAAI,KAAK,WAAW,CAAC,MAAM;AAAA,IAAW,OAAO;AAAA,EAC7C,IAAI;AAAA,IACF,MAAM,QAAQ,MAAM,MAAM,UAAU,QAAQ,KAAK,OAAO;AAAA,IACxD,MAAM,SAAS,MAAM,iBAAiB,MAAM;AAAA,IAC5C,OAAO,kBAAkB,EAAE,UAAW,SAAS,EAAE,OAAO,IAAI,CAAC,EAAG,GAAG,KAAK,OAAO;AAAA,IAC/E,MAAM;AAAA,IAEN,OAAO;AAAA;AAAA;AAIX,eAAe,WAAW,CACxB,OACA,QACA,MAC2C;AAAA,EAC3C,IAAI;AAAA,IACF,OAAO,MAAM,MAAM,IAAI;AAAA,MACrB,SAAS,KAAK;AAAA,MACd;AAAA,SACI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,IAC/C,CAAC;AAAA,IACD,OAAO,KAAK;AAAA,IACZ,OAAO,EAAE,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,EAAE;AAAA;AAAA;AAIrE,eAAe,MAAM,CACnB,OACA,QACA,MACyB;AAAA,EACzB,QAAQ,UAAU;AAAA,EAClB,MAAM,QAAQ,KAAK,IAAI;AAAA,EAEvB,MAAM,YAAY,MAAM,iBAAiB,OAAO,QAAQ,IAAI;AAAA,EAC5D,IAAI,WAAW;AAAA,IACb,MAAM,SAAS,MAAM,iBAAiB,KAAK,SAAS,MAAM,IAAI,SAAS;AAAA,IACvE,IAAI,QAAQ;AAAA,MACV,OAAO;AAAA,QACL,IAAI,MAAM;AAAA,QACV,IAAI,OAAO;AAAA,QACX,YAAY,KAAK,IAAI,IAAI;AAAA,QACzB,QAAQ;AAAA,QACR,UAAU,OAAO;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,MAAM,YAAY,OAAO,QAAQ,IAAI;AAAA,EACpD,IAAI,WAAW,QAAQ;AAAA,IACrB,OAAO;AAAA,MACL,IAAI,MAAM;AAAA,MACV,IAAI;AAAA,MACJ,YAAY,KAAK,IAAI,IAAI;AAAA,MACzB,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,MACX,OAAO,OAAO;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,IAAI,aAAa,OAAO,IAAI;AAAA,IAG1B,IAAI;AAAA,MACF,MAAM,iBAAiB,KAAK,SAAS,MAAM,IAAI,WAAW,MAAM;AAAA,MAChE,MAAM;AAAA,EAGV;AAAA,EAEA,OAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,IAAI,OAAO;AAAA,IACX,YAAY,KAAK,IAAI,IAAI;AAAA,IACzB,QAAQ;AAAA,IACR,UAAU,OAAO;AAAA,EACnB;AAAA;AAGF,eAAe,kBAAwB,CACrC,OACA,OACA,QACc;AAAA,EACd,IAAI,MAAM,WAAW;AAAA,IAAG,OAAO,CAAC;AAAA,EAChC,MAAM,UAAe,IAAI,MAAM,MAAM,MAAM;AAAA,EAC3C,IAAI,SAAS;AAAA,EACb,MAAM,UAAU,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,MAAM,MAAM,CAAC,EAAE,GAAG,YAAY;AAAA,IAC7F,OAAO,MAAM;AAAA,MACX,MAAM,IAAI;AAAA,MACV,IAAI,KAAK,MAAM;AAAA,QAAQ;AAAA,MACvB,MAAM,OAAO,MAAM;AAAA,MACnB,IAAI,SAAS;AAAA,QAAW;AAAA,MACxB,QAAQ,KAAK,MAAM,OAAO,IAAI;AAAA,IAChC;AAAA,GACD;AAAA,EACD,MAAM,QAAQ,IAAI,OAAO;AAAA,EACzB,OAAO;AAAA;AAOT,eAAsB,SAAS,CAC7B,UACA,WACA,KACA,MACoB;AAAA,EACpB,MAAM,QAAQ,KAAK,IAAI;AAAA,EACvB,MAAM,UAA6B,CAAC;AAAA,EACpC,IAAI,QAAQ,WAAW;AAAA,IACrB,QAAQ,KAAK,GAAG,SAAS,OAAO,CAAC;AAAA,EACnC,EAAO;AAAA,IACL,WAAW,MAAM,KAAK;AAAA,MACpB,MAAM,QAAQ,SAAS,IAAI,EAAE;AAAA,MAC7B,IAAI,CAAC,OAAO;AAAA,QACV,MAAM,IAAI,MAAM,sBAAsB,KAAK;AAAA,MAC7C;AAAA,MACA,QAAQ,KAAK,KAAK;AAAA,IACpB;AAAA;AAAA,EAGF,MAAM,SAAS,UAAU,UAAU,CAAC;AAAA,EACpC,MAAM,QAAQ,KAAK,eAAe,QAAQ;AAAA,EAC1C,MAAM,UAAU,MAAM,mBAAmB,SAAS,OAAO,CAAC,UACxD,OAAO,OAAO,OAAO,MAAM,MAAM,KAAK,IAAI,CAC5C;AAAA,EAEA,OAAO;AAAA,IACL,IAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,EAAE;AAAA,IAC7B;AAAA,IACA,iBAAiB,KAAK,IAAI,IAAI;AAAA,EAChC;AAAA;AAGK,SAAS,UAAU,CAAC,UAIxB;AAAA,EACD,OAAO,MAAM,KAAK,SAAS,OAAO,CAAC,EAChC,IAAI,GAAG,OAAO,cAAc;AAAA,IAC3B,IAAI,MAAM;AAAA,IACV,aAAa,MAAM;AAAA,IACnB,QAAQ,OAAO;AAAA,EACjB,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC;AAAA;;;AF7L5C,eAAe,SAAS,CAAC,MAAgB,KAAoD;AAAA,EAC3F,MAAM,OAAO,IAAI,MAAM,MAAM,EAAE,KAAK,QAAQ,QAAQ,QAAQ,OAAO,CAAC;AAAA,EACpE,OAAO,QAAQ,UAAU,MAAM,QAAQ,IAAI;AAAA,IACzC,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,IAC/B,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,EACjC,CAAC;AAAA,EACD,MAAM,KAAK;AAAA,EACX,OAAO,EAAE,IAAI,KAAK,aAAa,GAAG,KAAK,GAAG,SAAS,SAAS;AAAA;AAG9D,eAAe,kBAAkB,CAAC,SAAmC;AAAA,EACnE,MAAM,IAAI,MAAM,UAAU,CAAC,OAAO,UAAU,aAAa,GAAG,OAAO;AAAA,EACnE,IAAI,CAAC,EAAE;AAAA,IAAI,OAAO;AAAA,EAClB,OAAO,EAAE,IAAI,KAAK,EAAE,WAAW;AAAA;AAGjC,eAAe,aAAa,CAAC,SAAyC;AAAA,EACpE,MAAM,IAAI,MAAM,UAAU,CAAC,OAAO,aAAa,MAAM,GAAG,OAAO;AAAA,EAC/D,IAAI,CAAC,EAAE;AAAA,IAAI,OAAO;AAAA,EAClB,MAAM,MAAM,EAAE,IAAI,KAAK;AAAA,EACvB,IAAI,CAAC,iBAAiB,KAAK,GAAG;AAAA,IAAG,OAAO;AAAA,EACxC,OAAO;AAAA;AAGT,eAAe,MAAM,CAAC,SAAyC;AAAA,EAC7D,MAAM,IAAI,MAAM,UAAU,CAAC,MAAM,OAAO,QAAQ,QAAQ,QAAQ,GAAG,OAAO;AAAA,EAC1E,IAAI,CAAC,EAAE;AAAA,IAAI,OAAO;AAAA,EAClB,MAAM,QAAQ,EAAE,IAAI,KAAK;AAAA,EACzB,OAAO,MAAM,SAAS,IAAI,QAAQ;AAAA;AAGpC,eAAe,UAAU,CAAC,SAAyC;AAAA,EACjE,MAAM,IAAI,MAAM,UACd,CAAC,MAAM,QAAQ,QAAQ,UAAU,iBAAiB,QAAQ,gBAAgB,GAC1E,OACF;AAAA,EACA,IAAI,CAAC,EAAE;AAAA,IAAI,OAAO;AAAA,EAClB,MAAM,OAAO,EAAE,IAAI,KAAK;AAAA,EACxB,IAAI,CAAC,KAAK,SAAS,GAAG;AAAA,IAAG,OAAO;AAAA,EAChC,OAAO;AAAA;AAGF,SAAS,kBAAkB,CAAC,QAA2B;AAAA,EAC5D,MAAM,SAAS,OAAO,QAAQ,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE;AAAA,EAClD,MAAM,QAAQ,OAAO,QAAQ;AAAA,EAC7B,OAAO,GAAG,UAAU;AAAA;AAGf,SAAS,SAAS,CAAC,KAAa,SAAmC;AAAA,EAIxE,MAAM,SAAS,QACZ,MAAM,EACN,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,EACvC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,UAAU,EAAE,SAAS,EAAE;AAAA,EAC5D,MAAM,UAAU,KAAK,UAAU,EAAE,KAAK,SAAS,OAAO,CAAC;AAAA,EACvD,OAAO,YAAW,QAAQ,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AAAA;AAG1D,SAAS,eAAe,CAAC,SAAiB,KAAqB;AAAA,EAC7D,OAAO,MAAK,SAAS,UAAU,iBAAiB,UAAU,GAAG,UAAU;AAAA;AAGzE,eAAe,oBAAoB,CAAC,SAAiB,KAAqC;AAAA,EACxF,IAAI;AAAA,IACF,MAAM,MAAM,MAAM,UAAS,gBAAgB,SAAS,GAAG,GAAG,MAAM;AAAA,IAChE,MAAM,SAAS,KAAK,MAAM,GAAG;AAAA,IAC7B,OAAO,OAAO,UAAU;AAAA,IACxB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAIX,eAAe,gBAAgB,CAC7B,SACA,KACA,SACA,QACe;AAAA,EACf,MAAM,OAAO,gBAAgB,SAAS,GAAG;AAAA,EACzC,MAAM,OAAM,MAAK,MAAM,IAAI,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EACjD,MAAM,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,IAAI,KAAK,EAAE,YAAY;AAAA,EACrC;AAAA,EACA,MAAM,WAAU,MAAM,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC;AAAA;AAGtD,eAAe,gBAAgB,CAC7B,SACA,MACA,KACA,SACA,aAC0C;AAAA,EAC1C,MAAM,IAAI,MAAM,UACd;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,iBAAiB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,eAAe;AAAA,EACjB,GACA,OACF;AAAA,EACA,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,IAAI;AAAA;AAGnC,eAAe,WAAW,CACxB,SACyD;AAAA,EACzD,IAAI,CAAE,MAAM,mBAAmB,OAAO,GAAI;AAAA,IACxC,OAAO,EAAE,IAAI,OAAO,QAAQ,2DAA2D;AAAA,EACzF;AAAA,EACA,MAAM,MAAM,MAAM,cAAc,OAAO;AAAA,EACvC,IAAI,CAAC;AAAA,IAAK,OAAO,EAAE,IAAI,OAAO,QAAQ,yDAAyD;AAAA,EAC/F,OAAO,EAAE,IAAI,MAAM,IAAI;AAAA;AAGzB,eAAe,cAAc,CAC3B,SACA,QACA,eAC4E;AAAA,EAC5E,MAAM,OAAO,MAAM,OAAO,OAAO;AAAA,EACjC,IAAI,CAAC;AAAA,IAAM,OAAO,EAAE,IAAI,OAAO,QAAQ,oDAAoD;AAAA,EAC3F,MAAM,SAAS,SAAS,oBAAoB;AAAA,EAC5C,OAAO,EAAE,IAAI,MAAM,MAAM,SAAS,GAAG,iBAAiB,UAAU,OAAO;AAAA;AAGzE,eAAsB,SAAS,CAAC,MAA4C;AAAA,EAC1E,MAAM,gBAAgB,KAAK,iBAAiB;AAAA,EAC5C,MAAM,MAAM,MAAM,YAAY,KAAK,OAAO;AAAA,EAC1C,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK;AAAA,IACvB,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,MACX,OAAO,IAAI;AAAA,IACb;AAAA,EACF;AAAA,EACA,MAAM,MAAM,IAAI;AAAA,EAEhB,MAAM,MAAM,MAAM,eAAe,KAAK,SAAS,KAAK,WAAW,MAAM,aAAa;AAAA,EAClF,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS;AAAA,IAC3B,OAAO,EAAE,IAAI,OAAO,SAAS,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,OAAO,IAAI,OAAO;AAAA,EACpF;AAAA,EAEA,MAAM,OAAO,MAAM,WAAW,KAAK,OAAO;AAAA,EAC1C,IAAI,CAAC,MAAM;AAAA,IACT,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,IAAI;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,MACX,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,MAAM,UAAU,KAAK,UAAU,KAAK,WAAW,WAAW;AAAA,IACvE,SAAS,KAAK;AAAA,EAChB,CAAC;AAAA,EACD,IAAI,CAAC,OAAO,IAAI;AAAA,IACd,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,IAAI;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,QACR,mBAAmB,mBAAmB,MAAM;AAAA,QAC5C,GAAG,OAAO,QAAQ,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,OAAM,EAAE,IAAI;AAAA,MAChE;AAAA,MACA,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,UAAU,KAAK,OAAO,OAAO;AAAA,EAC5C,MAAM,QAAQ,MAAM,qBAAqB,KAAK,SAAS,GAAG;AAAA,EAC1D,MAAM,cAAc,GAAG,mBAAmB,MAAM,OAAM,OAAO,MAAM,GAAG,EAAE;AAAA,EACxE,MAAM,OAAO,MAAM,iBAAiB,KAAK,SAAS,MAAM,KAAK,IAAI,SAAS,WAAW;AAAA,EACrF,IAAI,CAAC,KAAK,IAAI;AAAA,IACZ,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,IAAI;AAAA,MACb;AAAA,MACA;AAAA,MACA,UAAU,CAAC,KAAK,OAAO,KAAK,CAAC;AAAA,MAC7B,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB,KAAK,SAAS,KAAK,IAAI,SAAS,MAAM;AAAA,EAE7D,MAAM,aAAa,UAAU,SAAS,2BAA2B;AAAA,EACjE,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,SAAS,IAAI;AAAA,IACb;AAAA,IACA;AAAA,IACA,UAAU,CAAC,GAAG,IAAI,aAAY,IAAI,MAAM,GAAG,EAAE,MAAM,eAAe,KAAK,aAAa;AAAA,IACpF;AAAA,EACF;AAAA;;AGjQF,iBAAS;;;ACDT,iBAAS;AACT,iBAAS;;;ACFT,oBAAS;AACT,iBAAS,mBAAM;AAGf,IAAM,oBAAoB,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,UAAU,SAAS,UAAU;AAChG,IAAM,qBAAqB,CAAC,OAAO,SAAS,OAAO,WAAW,WAAW,UAAU;AACnF,IAAM,0BAA0B,CAAC,OAAO,MAAM;AAE9C,IAAM,YAAY;AAClB,IAAM,sBAAsB;AAC5B,IAAM,eACJ;AACF,IAAM,iBAAiB;AACvB,IAAM,oBACJ;AAEF,IAAM,gBAAgB;AAEtB,SAAS,aAAa,CAAC,MAAc,MAAuB;AAAA,EAC1D,MAAM,QAAQ,KAAK,MAAM,aAAa;AAAA,EACtC,OAAO,UAAU,QAAQ,MAAM,OAAO;AAAA;AAWxC,SAAS,gBAAgB,CAAC,MAAc,YAAkC;AAAA,EACxE,MAAM,SAAS,KAAK,YAAY,GAAG;AAAA,EACnC,IAAI,SAAS;AAAA,IAAG,OAAO;AAAA,EACvB,OAAO,WAAW,IAAI,KAAK,MAAM,MAAM,CAAC;AAAA;AAG1C,eAAe,cAAc,CAC3B,KACA,UACA,YACA,KACe;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,MAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,SAAS,IAAI,MAAM,IAAI,KAAK,MAAM,KAAK,WAAW,GAAG;AAAA,QAAG;AAAA,MAC5D,MAAM,eAAe,UAAU,UAAU,YAAY,GAAG;AAAA,IAC1D,EAAO,SAAI,MAAM,OAAO,KAAK,iBAAiB,MAAM,MAAM,UAAU,GAAG;AAAA,MACrE,IAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAGF,SAAS,aAAa,CAAC,KAKrB;AAAA,EACA,MAAM,IAAI,OAAO,CAAC;AAAA,EAClB,OAAO;AAAA,IACL,OAAO,EAAE,SAAS;AAAA,IAClB,UAAU,IAAI,IAAI,EAAE,YAAY,iBAAiB;AAAA,IACjD,YAAY,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC;AAAA,IACtC,YAAY,IAAI,IAAI,EAAE,cAAc,uBAAuB;AAAA,EAC7D;AAAA;AAGF,eAAe,kBAAkB,CAC/B,SACA,KACuD;AAAA,EACvD,QAAQ,OAAO,UAAU,YAAY,eAAe,cAAc,GAAG;AAAA,EACrE,MAAM,QAAkB,CAAC;AAAA,EACzB,WAAW,QAAQ,OAAO;AAAA,IACxB,MAAM,eAAe,MAAK,SAAS,IAAI,GAAG,UAAU,YAAY,KAAK;AAAA,EACvE;AAAA,EACA,OAAO,EAAE,OAAO,WAAW;AAAA;AAG7B,SAAS,SAAQ,CAAC,SAAiB,KAAa,SAAiB,WAA6B;AAAA,EAC5F,MAAM,MAAgB,CAAC;AAAA,EACvB,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,IAAI,QAAQ,KAAK,IAAI,KAAK,CAAC,cAAc,MAAM,SAAS,GAAG;AAAA,MACzD,IAAI,KAAK,GAAG,OAAO,IAAI,MAAM,KAAK,KAAK,GAAG;AAAA,IAC5C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,eAAe,CACtB,IACA,aACA,SACA,WACiC;AAAA,EACjC,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,OAAO,KAAK,SAAS;AAAA,MAC9B,QAAQ,OAAO,eAAe,MAAM,mBAAmB,MAAM,GAAG;AAAA,MAChE,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,UAAS,MAAM,CAAC,CAAC,CAAC;AAAA;AAAA,IAE/D,KAAK,SAAS,SAAS,aAAa;AAAA,MAClC,QAAQ,OAAO,eAAe,MAAM,mBAAmB,SAAS,MAAM;AAAA,MACtE,MAAM,aAAuB,CAAC;AAAA,MAC9B,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,WAAW,IAAI,GAAG;AAAA,UAAG;AAAA,QACzB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,QAC9C,WAAW,KAAK,GAAG,UAAS,SAAS,KAAK,SAAS,SAAS,CAAC;AAAA,MAC/D;AAAA,MACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAAA,EAE/D;AAAA;AAGF,IAAM,YAAY,gBAChB,oBACA,uEACA,WACA,QACF;AAEA,IAAM,oBAAoB,gBACxB,6BACA,uEACA,qBACA,OACF;AAEA,IAAM,eAAe,gBACnB,wBACA,4FACA,gBACA,aACF;AAEA,IAAM,kBAAkB,gBACtB,2BACA,wFACA,mBACA,gBACF;AAOA,IAAM,0BAA0B,CAAC,GAAG,oBAAoB,MAAM;AAC9D,IAAM,+BAA+B,CAAC,OAAO,QAAQ,KAAK;AAE1D,SAAS,gBAAgB,CAAC,KAKxB;AAAA,EACA,MAAM,IAAI,OAAO,CAAC;AAAA,EAClB,OAAO;AAAA,IACL,OAAO,EAAE,SAAS;AAAA,IAClB,UAAU,IAAI,IAAI,EAAE,YAAY,iBAAiB;AAAA,IACjD,YAAY,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC;AAAA,IACtC,YAAY,IAAI,IAAI,EAAE,cAAc,4BAA4B;AAAA,EAClE;AAAA;AAGF,IAAM,cAAkD;AAAA,EACtD,IAAI;AAAA,EACJ,aACE;AAAA,EACF,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,QAAQ,OAAO,UAAU,YAAY,eAAe,iBAAiB,GAAG;AAAA,IACxE,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,QAAQ,OAAO;AAAA,MACxB,MAAM,eAAe,MAAK,MAAM,IAAI,GAAG,UAAU,YAAY,GAAG;AAAA,IAClE;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,UAAS,MAAM,CAAC,CAAC,CAAC;AAAA;AAAA,EAE7D,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,QAAQ,OAAO,UAAU,YAAY,eAAe,iBAAiB,MAAM;AAAA,IAC3E,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,QAAQ,OAAO;AAAA,MACxB,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,eAAe,MAAK,SAAS,IAAI,GAAG,UAAU,YAAY,KAAK;AAAA,MACrE,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,WAAW,IAAI,GAAG;AAAA,UAAG;AAAA,QACzB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,QAC9C,WAAW,KAAK,GAAG,UAAS,SAAS,KAAK,cAAc,cAAc,CAAC;AAAA,MACzE;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAEO,IAAM,mBAAqC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AChNA,oBAAS;AACT,iBAAS,mBAAM;AAcf,eAAe,gBAAgB,GAAqB;AAAA,EAClD,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,SAAS,GAAG,EAAE,QAAQ,UAAU,QAAQ,SAAS,CAAC;AAAA,EACpF,MAAM,MAAM;AAAA,EACZ,OAAO,MAAM,aAAa;AAAA;AAG5B,IAAM,WAA8C;AAAA,EAClD,IAAI;AAAA,EACJ,aAAa;AAAA,EAOb,gBAAgB,CAAC,QAAQ;AAAA,IACvB,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,OAAO;AAAA,MACL,QAAQ,EAAE,UAAU;AAAA,MACpB,aAAa,EAAE,cAAc,CAAC,SAAS,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG;AAAA,MAC1E,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG;AAAA,IACpD;AAAA;AAAA,EAEF,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,IAAI,CAAE,MAAM,iBAAiB,GAAI;AAAA,MAC/B,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,UAAU;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,MAAM,UAAU,CAAC;AAAA,IACvB,MAAM,OAAO,CAAC,WAAW,QAAQ,YAAY,IAAI,UAAU,QAAQ,WAAW,SAAS;AAAA,IACvF,WAAW,OAAO,IAAI,cAAc,CAAC,SAAS,SAAS,GAAG;AAAA,MACxD,KAAK,KAAK,cAAc,GAAG;AAAA,IAC7B;AAAA,IACA,WAAW,OAAO,IAAI,WAAW,CAAC,eAAe,iBAAiB,GAAG;AAAA,MACnE,KAAK,KAAK,aAAa,KAAK;AAAA,IAC9B;AAAA,IACA,MAAM,OAAO,IAAI,MAAM,MAAM,EAAE,KAAK,SAAS,QAAQ,QAAQ,QAAQ,OAAO,CAAC;AAAA,IAC7E,OAAO,QAAQ,UAAU,MAAM,QAAQ,IAAI;AAAA,MACzC,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,MAC/B,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,IACjC,CAAC;AAAA,IACD,MAAM,KAAK;AAAA,IACX,MAAM,SAAS,GAAG,SAAS,SAAS,KAAK;AAAA,IACzC,OAAO;AAAA,MACL,IAAI,KAAK,aAAa;AAAA,MACtB,UAAU,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,kBAAkB,KAAK,UAAU;AAAA,IACnF;AAAA;AAEJ;AAaA,IAAM,qBAAuC;AAAA,EAC3C,MAAM,EAAE,KAAK,CAAC,UAAU,QAAQ,UAAU,GAAG,OAAO,CAAC,QAAQ,UAAU,EAAE;AAAA,EACzE,OAAO,CAAC,OAAO,SAAS,OAAO,SAAS;AAAA,EACxC,UAAU,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,QAAQ;AAC7D;AAEA,IAAM,eACJ;AAEF,SAAS,UAAU,CAAC,KAAsB;AAAA,EACxC,OACE,IAAI,SAAS,WAAW,KACxB,IAAI,SAAS,QAAQ,KACrB,IAAI,SAAS,QAAQ,KACrB,IAAI,WAAW,QAAQ;AAAA;AAI3B,SAAS,iBAAiB,CAAC,WAAmB,UAAkB,SAAgC;AAAA,EAC9F,IAAI,CAAC,UAAU,WAAW,GAAG,KAAK,CAAC,UAAU,WAAW,GAAG;AAAA,IAAG,OAAO;AAAA,EACrE,MAAM,UAAU,UAAS,SAAS,QAAQ,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG;AAAA,EAC5E,MAAM,WAAW,GAAG,WAAW,YAAY,MAAM,GAAG;AAAA,EACpD,MAAM,WAAqB,CAAC;AAAA,EAC5B,WAAW,OAAO,UAAU;AAAA,IAC1B,IAAI,QAAQ,MAAM,QAAQ;AAAA,MAAK;AAAA,IAC/B,IAAI,QAAQ,MAAM;AAAA,MAChB,SAAS,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,SAAS,KAAK,GAAG;AAAA,EACnB;AAAA,EACA,OAAO,SAAS,KAAK,GAAG;AAAA;AAG1B,eAAe,qBAAqB,CAClC,KACA,UACA,KACe;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,MAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI;AAAA,QAAG,MAAM,sBAAsB,UAAU,UAAU,GAAG;AAAA,IACpF,EAAO,SAAI,MAAM,OAAO,MAAM,MAAM,KAAK,SAAS,KAAK,KAAK,MAAM,KAAK,SAAS,MAAM,IAAI;AAAA,MACxF,IAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CACrC,WACA,KAQqD;AAAA,EACrD,MAAM,SAAS,kBAAkB,WAAW,IAAI,UAAU,IAAI,OAAO;AAAA,EACrE,IAAI,CAAC;AAAA,IAAQ,OAAO,CAAC;AAAA,EACrB,MAAM,MAA2D,CAAC;AAAA,EAClE,WAAW,UAAU,IAAI,MAAM;AAAA,IAC7B,IAAI,OAAO,WAAW,MAAM,GAAG;AAAA,MAC7B,IAAI,KAAK;AAAA,QACP,MAAM,IAAI;AAAA,QACV,MAAM,IAAI;AAAA,QACV,MAAM,IAAI,IAAI,8BAA8B,sBAAsB;AAAA,MACpE,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,mBAAmB,CAC1B,MACA,KAQqD;AAAA,EACrD,MAAM,UAAU,KAAK,KAAK;AAAA,EAC1B,IAAI,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA,IAAG,OAAO,CAAC;AAAA,EAC7F,MAAM,MAA2D,CAAC;AAAA,EAClE,aAAa,YAAY;AAAA,EACzB,IAAI,QAAQ,aAAa,KAAK,IAAI;AAAA,EAClC,OAAO,UAAU,MAAM;AAAA,IACrB,MAAM,YAAY,MAAM,MAAM,MAAM;AAAA,IACpC,IAAI,WAAW;AAAA,MACb,IAAI,KAAK,GAAG,+BAA+B,WAAW,KAAK,KAAK,MAAM,IAAI,WAAW,CAAC,CAAC;AAAA,IACzF;AAAA,IACA,QAAQ,aAAa,KAAK,IAAI;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,6BAA6B,CACpC,UACA,SACA,SACA,MACA,MACqD;AAAA,EACrD,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,EACtC,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAA2D,CAAC;AAAA,EAClE,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,IAAI,KACF,GAAG,oBAAoB,MAAM,MAAM,IAAI;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,IAAI;AAAA,IAClB,CAAC,CACH;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,aAAkD;AAAA,EACtD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,KAAK,uBAAwB,OAAO,CAAC,EAAG;AAAA,IAClD,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,mBAAmB,YAAY,CAAC,CAAC;AAAA,IACxE,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,QAAQ,EAAE,SAAS,mBAAmB,SAAS,CAAC,GAAG;AAAA,MAC5D,MAAM,sBAAsB,MAAK,MAAM,IAAI,GAAG,UAAU,GAAG;AAAA,IAC7D;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,UAAS,MAAM,CAAC,CAAC,CAAC;AAAA;AAAA,EAEzD,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,KAAK,uBAAwB,UAAU,CAAC,EAAG;AAAA,IACrD,MAAM,OAAO,EAAE,QAAQ,CAAC;AAAA,IACxB,MAAM,QAAQ,EAAE,SAAS,CAAC;AAAA,IAC1B,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,CAAC,CAAC;AAAA,IACzC,MAAM,MAA2D,CAAC;AAAA,IAClE,WAAW,QAAQ,OAAO;AAAA,MACxB,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,sBAAsB,MAAK,SAAS,IAAI,GAAG,UAAU,KAAK;AAAA,MAChE,MAAM,WAAW,KAAK,SAAS,CAAC;AAAA,MAChC,IAAI,SAAS,WAAW;AAAA,QAAG;AAAA,MAC3B,WAAW,YAAY,OAAO;AAAA,QAC5B,IAAI,WAAW,UAAS,SAAS,QAAQ,CAAC;AAAA,UAAG;AAAA,QAC7C,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,QAC9C,IAAI,KAAK,GAAG,8BAA8B,UAAU,SAAS,SAAS,MAAM,QAAQ,CAAC;AAAA,MACvF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,IAAI,IAAI,WAAW;AAAA,MACnB,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAAA,IAC3D;AAAA;AAEJ;AAcA,IAAM,yBAA4E;AAAA,EAChF,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,UAAU,CAAC,gBAAgB,QAAQ,QAAQ;AAC7C;AAEA,SAAS,gBAAgB,CAAC,OAAyB;AAAA,EAKjD,MAAM,UAAU,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,uBAAuB,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAEnF,OAAO,IAAI,OACT,0CAA0C,iDAAiD,iCAC7F;AAAA;AAGF,SAAS,yBAAyB,CAAC,KAAa,OAA6B;AAAA,EAC3E,IAAI,MAAM,IAAI,GAAG;AAAA,IAAG,OAAO;AAAA,EAC3B,OAAO,IAAI,SAAS,WAAW,KAAK,IAAI,SAAS,QAAQ,KAAK,IAAI,SAAS,QAAQ;AAAA;AAGrF,SAAS,wBAAwB,CAAC,KAAa,SAAiB,aAA+B;AAAA,EAC7F,MAAM,aAAuB,CAAC;AAAA,EAC9B,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,MAAM,UAAU,KAAK,KAAK;AAAA,IAC1B,IAAI,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA,MAAG;AAAA,IACrF,IAAI,YAAY,KAAK,IAAI,GAAG;AAAA,MAC1B,WAAW,KAAK,GAAG,OAAO,IAAI,MAAM,SAAS;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,gBAAwD;AAAA,EAC5D,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,uBAAuB,QAAQ;AAAA,IACtE,MAAM,QAAQ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC;AAAA,IACxC,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,gBAAgB,uBAAuB,cAAc;AAAA,MACrE,MAAM,sBAAsB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IAC1D;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,0BAA0B,UAAS,MAAM,CAAC,GAAG,KAAK,CAAC;AAAA;AAAA,EAE/E,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,uBAAuB,QAAQ;AAAA,IACtE,MAAM,cAAc,iBAClB,EAAE,oBAAoB,uBAAuB,gBAC/C;AAAA,IACA,MAAM,QAAQ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC;AAAA,IACxC,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,gBAAgB,uBAAuB,cAAc;AAAA,MACrE,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,sBAAsB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,MAC7D,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,0BAA0B,KAAK,KAAK;AAAA,UAAG;AAAA,QAC3C,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,QAC9C,WAAW,KAAK,GAAG,yBAAyB,KAAK,SAAS,WAAW,CAAC;AAAA,MACxE;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAEO,IAAM,uBAAyC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AACF;;;ACpXA,oBAAS;AACT,iBAAS,mBAAM;AACf,iBAAS;AAGT,IAAM,qBAAoB,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,QAAQ;AAE3E,SAAS,cAAa,CAAC,SAA0B;AAAA,EAC/C,OAAO,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA;AAGvF,SAAS,WAAU,CAAC,KAAsB;AAAA,EACxC,OACE,IAAI,SAAS,WAAW,KACxB,IAAI,SAAS,QAAQ,KACrB,IAAI,SAAS,QAAQ,KACrB,IAAI,WAAW,QAAQ;AAAA;AAI3B,eAAe,kBAAkB,CAC/B,KACA,UACA,KACe;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,MAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI;AAAA,QAAG,MAAM,mBAAmB,UAAU,UAAU,GAAG;AAAA,IACjF,EAAO,SAAI,MAAM,OAAO,MAAM,MAAM,KAAK,SAAS,KAAK,KAAK,MAAM,KAAK,SAAS,MAAM,IAAI;AAAA,MACxF,IAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAcF,IAAM,oBAAmD;AAAA,EACvD,QAAQ;AAAA,IACN,8CAA8C;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,iDAAiD;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,mDAAmD,CAAC,UAAU,iBAAiB;AAAA,EACjF;AAAA,EACA,OAAO,CAAC,OAAO,SAAS,OAAO,SAAS;AAAA,EACxC,UAAU;AACZ;AAEA,IAAM,gBACJ;AAEF,SAAS,YAAY,CACnB,WACA,QAC6B;AAAA,EAC7B,YAAY,UAAU,aAAa,OAAO,QAAQ,MAAM,GAAG;AAAA,IACzD,WAAW,KAAK,UAAU;AAAA,MACxB,IAAI,cAAc,KAAK,UAAU,WAAW,GAAG,IAAI;AAAA,QAAG,OAAO,EAAE,SAAS;AAAA,IAC1E;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,iBAAiB,CACxB,MACA,QACA,KACA,YAC0E;AAAA,EAC1E,MAAM,UAAU,KAAK,KAAK;AAAA,EAC1B,IAAI,eAAc,OAAO;AAAA,IAAG,OAAO,CAAC;AAAA,EACpC,MAAM,MAAgF,CAAC;AAAA,EACvF,cAAa,YAAY;AAAA,EACzB,IAAI,QAAQ,cAAa,KAAK,IAAI;AAAA,EAClC,OAAO,UAAU,MAAM;AAAA,IACrB,MAAM,YAAY,MAAM,MAAM,MAAM;AAAA,IACpC,MAAM,MAAM,YAAY,aAAa,WAAW,MAAM,IAAI;AAAA,IAC1D,IAAI,KAAK;AAAA,MACP,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,YAAY,SAAS,SAAS,UAAU,IAAI,SAAS,CAAC;AAAA,IACpF;AAAA,IACA,QAAQ,cAAa,KAAK,IAAI;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;AAGT,eAAe,oBAAoB,CACjC,UACA,KACA,QACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EACvB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,WAAW,KAAK,kBAAkB,MAAM,MAAM,IAAI,QAAQ,KAAK,IAAI,CAAC,GAAG;AAAA,MACrE,IAAI,KAAK,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,IAC9D;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,gBAAwD;AAAA,EAC5D,IAAI;AAAA,EACJ,aACE;AAAA,EACF,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,kBAAkB,QAAQ;AAAA,IACjE,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,SAAS,kBAAkB,OAAO;AAAA,MAClD,MAAM,mBAAmB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IACvD;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,YAAW,UAAS,MAAM,CAAC,CAAC,CAAC;AAAA;AAAA,EAEzD,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,SAAS,EAAE,UAAU,kBAAkB;AAAA,IAC7C,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,kBAAkB,QAAQ;AAAA,IACjE,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,SAAS,kBAAkB,OAAO;AAAA,MAClD,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,mBAAmB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,MAC1D,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,YAAW,GAAG;AAAA,UAAG;AAAA,QACrB,WAAW,KAAK,GAAI,MAAM,qBAAqB,UAAU,KAAK,MAAM,CAAE;AAAA,MACxE;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAaA,IAAM,yBAAuD;AAAA,EAC3D,QAAQ,CAAC,YAAY,cAAc,WAAW;AAAA,EAC9C,cAAc,CAAC;AAAA,EACf,OAAO,CAAC,OAAO,SAAS,OAAO,SAAS;AAAA,EACxC,UAAU;AACZ;AAEA,SAAS,oBAAoB,CAAC,MAAsB;AAAA,EAClD,OAAO,KAAK,QAAQ,uBAAuB,MAAM;AAAA;AAGnD,SAAS,cAAc,CAAC,QAA0B;AAAA,EAEhD,MAAM,OAAO,OAAO,IAAI,oBAAoB,EAAE,KAAK,GAAG;AAAA,EAEtD,OAAO,IAAI,OAAO,OAAO,UAAU;AAAA;AAGrC,SAAS,eAAe,CAAC,KAAa,cAAiC;AAAA,EACrE,WAAW,WAAW,cAAc;AAAA,IAClC,IAAI,IAAI,MAAK,OAAO,EAAE,MAAM,GAAG;AAAA,MAAG,OAAO;AAAA,EAC3C;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,eAAsD;AAAA,EAC1D,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,uBAAuB,QAAQ;AAAA,IACtE,MAAM,UAAU,EAAE,gBAAgB,uBAAuB;AAAA,IACzD,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,SAAS,uBAAuB,OAAO;AAAA,MACvD,MAAM,mBAAmB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IACvD;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM;AAAA,MACvB,MAAM,MAAM,UAAS,MAAM,CAAC;AAAA,MAC5B,OAAO,CAAC,YAAW,GAAG,KAAK,CAAC,gBAAgB,KAAK,OAAO;AAAA,KACzD;AAAA;AAAA,EAEH,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,SAAS,EAAE,UAAU,uBAAuB;AAAA,IAClD,IAAI,OAAO,WAAW;AAAA,MAAG,OAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE;AAAA,IACzD,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,uBAAuB,QAAQ;AAAA,IACtE,MAAM,UAAU,EAAE,gBAAgB,uBAAuB;AAAA,IACzD,MAAM,QAAQ,eAAe,MAAM;AAAA,IACnC,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,SAAS,uBAAuB,OAAO;AAAA,MACvD,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,mBAAmB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,MAC1D,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,YAAW,GAAG,KAAK,gBAAgB,KAAK,OAAO;AAAA,UAAG;AAAA,QACtD,WAAW,KAAK,GAAI,MAAM,qBAAqB,UAAU,KAAK,KAAK,CAAE;AAAA,MACvE;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAEA,eAAe,oBAAoB,CACjC,UACA,KACA,OACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EACvB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,IAAI,eAAc,KAAK,KAAK,CAAC;AAAA,MAAG;AAAA,IAChC,IAAI,MAAM,KAAK,IAAI;AAAA,MAAG,IAAI,KAAK,GAAG,OAAO,IAAI,MAAM,KAAK,KAAK,GAAG;AAAA,EAClE;AAAA,EACA,OAAO;AAAA;AAcT,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAE5B,IAAM,sBAAyD;AAAA,EAE7D,iBAAiB,CAAC;AAAA,EAClB,cAAc,CAAC;AAAA,EACf,OAAO,CAAC,OAAO,SAAS,OAAO,SAAS;AAAA,EACxC,UAAU;AACZ;AAEA,SAAS,kBAAkB,CAAC,KAAa,OAA0B;AAAA,EACjE,WAAW,KAAK,OAAO;AAAA,IACrB,IAAI,IAAI,MAAK,CAAC,EAAE,MAAM,GAAG;AAAA,MAAG,OAAO;AAAA,EACrC;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,oBAAgE;AAAA,EACpE,IAAI;AAAA,EACJ,aACE;AAAA,EACF,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,oBAAoB,QAAQ;AAAA,IACnE,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,SAAS,oBAAoB,OAAO;AAAA,MACpD,MAAM,mBAAmB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IACvD;AAAA,IACA,OAAO;AAAA;AAAA,EAET,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,KAAK,EAAE,mBAAmB,oBAAoB;AAAA,IACpD,MAAM,KAAK,EAAE,gBAAgB,oBAAoB;AAAA,IACjD,IAAI,GAAG,WAAW,KAAK,GAAG,WAAW;AAAA,MAAG,OAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE;AAAA,IACxE,OAAO,mBAAmB,SAAS,GAAG,IAAI,EAAE;AAAA;AAEhD;AAEA,eAAe,0BAA0B,CACvC,UACA,KACA,mBACA,gBACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EACvB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,IAAI,qBAAqB,iBAAiB,KAAK,IAAI,GAAG;AAAA,MACpD,IAAI,KAAK,GAAG,OAAO,IAAI,2CAA0C,KAAK,KAAK,GAAG;AAAA,IAChF;AAAA,IACA,IAAI,kBAAkB,oBAAoB,KAAK,IAAI,GAAG;AAAA,MACpD,IAAI,KAAK,GAAG,OAAO,IAAI,2CAA0C,KAAK,KAAK,GAAG;AAAA,IAChF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,eAAe,kBAAkB,CAC/B,SACA,GACA,IACA,IAC8C;AAAA,EAC9C,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,oBAAoB,QAAQ;AAAA,EACnE,MAAM,aAAuB,CAAC;AAAA,EAC9B,WAAW,KAAK,EAAE,SAAS,oBAAoB,OAAO;AAAA,IACpD,MAAM,QAAkB,CAAC;AAAA,IACzB,MAAM,mBAAmB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,IAC1D,WAAW,YAAY,OAAO;AAAA,MAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,MACtC,MAAM,MAAM,mBAAmB,KAAK,EAAE;AAAA,MACtC,MAAM,MAAM,mBAAmB,KAAK,EAAE;AAAA,MACtC,IAAI,CAAC,OAAO,CAAC;AAAA,QAAK;AAAA,MAClB,WAAW,KAAK,GAAI,MAAM,2BAA2B,UAAU,KAAK,KAAK,GAAG,CAAE;AAAA,IAChF;AAAA,EACF;AAAA,EACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAGtD,IAAM,kBAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AACF;;;AC/VA,oBAAS;AACT,iBAAS,mBAAM;AACf,iBAAS;AAGT,IAAM,qBAAoB,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,QAAQ;AAE3E,SAAS,cAAa,CAAC,SAA0B;AAAA,EAC/C,OAAO,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA;AAGvF,SAAS,WAAU,CAAC,KAAsB;AAAA,EACxC,OACE,IAAI,SAAS,WAAW,KACxB,IAAI,SAAS,QAAQ,KACrB,IAAI,SAAS,QAAQ,KACrB,IAAI,WAAW,QAAQ;AAAA;AAI3B,eAAe,mBAAkB,CAC/B,KACA,UACA,KACe;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,MAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI;AAAA,QAAG,MAAM,oBAAmB,UAAU,UAAU,GAAG;AAAA,IACjF,EAAO,SAAI,MAAM,OAAO,MAAM,MAAM,KAAK,SAAS,KAAK,KAAK,MAAM,KAAK,SAAS,MAAM,IAAI;AAAA,MACxF,IAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAGF,SAAS,gBAAe,CAAC,KAAa,OAA0B;AAAA,EAC9D,WAAW,KAAK,OAAO;AAAA,IACrB,IAAI,IAAI,MAAK,CAAC,EAAE,MAAM,GAAG;AAAA,MAAG,OAAO;AAAA,EACrC;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,gBACJ;AAEF,SAAS,gBAAgB,CAAC,MAAwB;AAAA,EAChD,MAAM,MAAgB,CAAC;AAAA,EACvB,cAAa,YAAY;AAAA,EACzB,IAAI,QAAQ,cAAa,KAAK,IAAI;AAAA,EAClC,OAAO,UAAU,MAAM;AAAA,IACrB,MAAM,IAAI,MAAM,MAAM,MAAM;AAAA,IAC5B,IAAI;AAAA,MAAG,IAAI,KAAK,CAAC;AAAA,IACjB,QAAQ,cAAa,KAAK,IAAI;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;AAaT,IAAM,mBAAoD;AAAA,EACxD,UAAU;AAAA,EACV,cAAc,CAAC;AAAA,EACf,OAAO,CAAC,OAAO,SAAS,OAAO,SAAS;AAAA,EACxC,UAAU;AACZ;AAEA,SAAS,aAAa,CAAC,WAA2B;AAAA,EAChD,IAAI,CAAC,UAAU,WAAW,IAAI;AAAA,IAAG,OAAO;AAAA,EACxC,IAAI,QAAQ;AAAA,EACZ,WAAW,WAAW,UAAU,MAAM,GAAG,GAAG;AAAA,IAC1C,IAAI,YAAY;AAAA,MAAM;AAAA,IACjB;AAAA;AAAA,EACP;AAAA,EACA,OAAO;AAAA;AAGT,eAAe,6BAA6B,CAC1C,UACA,KACA,UACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EACvB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,IAAI,eAAc,KAAK,KAAK,CAAC;AAAA,MAAG;AAAA,IAChC,WAAW,aAAa,iBAAiB,IAAI,GAAG;AAAA,MAC9C,IAAI,cAAc,SAAS,IAAI,UAAU;AAAA,QACvC,IAAI,KAAK,GAAG,OAAO,IAAI,cAAc,+BAA+B,UAAU;AAAA,MAChF;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,kBAA4D;AAAA,EAChE,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,iBAAiB,QAAQ;AAAA,IAChE,MAAM,UAAU,EAAE,gBAAgB,iBAAiB;AAAA,IACnD,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,SAAS,iBAAiB,OAAO;AAAA,MACjD,MAAM,oBAAmB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IACvD;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM;AAAA,MACvB,MAAM,MAAM,UAAS,MAAM,CAAC;AAAA,MAC5B,OAAO,CAAC,YAAW,GAAG,KAAK,CAAC,iBAAgB,KAAK,OAAO;AAAA,KACzD;AAAA;AAAA,EAEH,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,WAAW,EAAE,YAAY,iBAAiB;AAAA,IAChD,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,iBAAiB,QAAQ;AAAA,IAChE,MAAM,UAAU,EAAE,gBAAgB,iBAAiB;AAAA,IACnD,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,SAAS,iBAAiB,OAAO;AAAA,MACjD,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,oBAAmB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,MAC1D,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,YAAW,GAAG,KAAK,iBAAgB,KAAK,OAAO;AAAA,UAAG;AAAA,QACtD,WAAW,KAAK,GAAI,MAAM,8BAA8B,UAAU,KAAK,QAAQ,CAAE;AAAA,MACnF;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAWA,IAAM,yBAAwD;AAAA,EAC5D,OAAO,CAAC,iBAAiB,oBAAoB;AAAA,EAC7C,gBAAgB,CAAC;AACnB;AAEA,eAAe,aAAa,CAAC,SAAiB,OAAoC;AAAA,EAChF,MAAM,MAAgB,CAAC;AAAA,EACvB,MAAM,WAAW,IAAI,IAAI,kBAAiB;AAAA,EAC1C,eAAe,IAAI,CAAC,KAA4B;AAAA,IAC9C,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,MACN;AAAA;AAAA,IAEF,WAAW,SAAS,SAAS;AAAA,MAC3B,MAAM,WAAW,MAAK,KAAK,MAAM,IAAI;AAAA,MACrC,IAAI,MAAM,YAAY,GAAG;AAAA,QACvB,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI;AAAA,UAAG,MAAM,KAAK,QAAQ;AAAA,MACpD,EAAO,SAAI,MAAM,OAAO,KAAK,MAAM,SAAS,MAAM,IAAI,GAAG;AAAA,QACvD,IAAI,KAAK,QAAQ;AAAA,MACnB;AAAA,IACF;AAAA;AAAA,EAEF,MAAM,KAAK,OAAO;AAAA,EAClB,OAAO;AAAA;AAGT,IAAM,gBAAwD;AAAA,EAC5D,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS,cAAc,MAAM,KAAK,SAAS,uBAAuB,KAAK;AAAA,EAC9F,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,QAAQ,EAAE,SAAS,uBAAuB;AAAA,IAChD,MAAM,UAAU,IAAI,IAAI,EAAE,kBAAkB,uBAAuB,cAAc;AAAA,IACjF,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,gBAAgB,MAAM,cAAc,SAAS,KAAK,GAAG;AAAA,MAC9D,MAAM,MAAM,MAAM,IAAI,KAAK,YAAY,EAAE,KAAK;AAAA,MAC9C,MAAM,WAAW,IAAI,QAAQ,iBAAiB;AAAA,CAAI,EAAE,QAAQ,qBAAqB,EAAE;AAAA,MACnF,IAAI;AAAA,MACJ,IAAI;AAAA,QACF,SAAS,KAAK,MAAM,QAAQ;AAAA,QAG5B,MAAM;AAAA,QACN,WAAW,KAAK,GAAG,UAAS,SAAS,YAAY,4BAA4B;AAAA,QAC7E;AAAA;AAAA,MAEF,MAAM,QAAQ,OAAO,iBAAiB,SAAS,CAAC;AAAA,MAChD,WAAW,SAAS,OAAO,KAAK,KAAK,GAAG;AAAA,QACtC,IAAI,QAAQ,IAAI,KAAK;AAAA,UAAG;AAAA,QACxB,WAAW,KAAK,GAAG,UAAS,SAAS,YAAY,aAAa,gBAAgB;AAAA,MAChF;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAaA,IAAM,sBAA0E;AAAA,EAC9E,QAAQ,CAAC,SAAS,kBAAkB,OAAO;AAAA,EAC3C,cAAc,CAAC;AAAA,EACf,OAAO,CAAC,KAAK;AAAA,EACb,UAAU;AACZ;AAEA,SAAS,oBAAoB,CAAC,QAA0B;AAAA,EACtD,MAAM,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,uBAAuB,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAEjF,OAAO,IAAI,OAAO,OAAO,iBAAiB;AAAA;AAG5C,eAAe,kBAAkB,CAC/B,UACA,KACA,iBACA,aACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EAOvB,MAAM,kBAAkB,MAAM,KAC5B,CAAC,MAAM,EAAE,SAAS,SAAS,kBAAkB,KAAK,EAAE,SAAS,SAAS,kBAAkB,CAC1F;AAAA,EACA,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,MAAM,UAAU,KAAK,KAAK;AAAA,IAC1B,IAAI,eAAc,OAAO;AAAA,MAAG;AAAA,IAC5B,IAAI,YAAY,KAAK,IAAI,KAAK,CAAC,iBAAiB;AAAA,MAC9C,IAAI,KAAK,GAAG,OAAO,IAAI,MAAM,SAAS;AAAA,IACxC;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,YAAgD;AAAA,EACpD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,IAAI,CAAC,KAAK;AAAA,MAAiB,OAAO,CAAC;AAAA,IACnC,MAAM,WAAW,IAAI,IAAI,IAAI,YAAY,oBAAoB,QAAQ;AAAA,IACrE,MAAM,UAAU,IAAI,gBAAgB,oBAAoB;AAAA,IACxD,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,IAAI,SAAS,oBAAoB,OAAO;AAAA,MACtD,MAAM,oBAAmB,MAAK,MAAM,CAAC,GAAG,UAAU,GAAG;AAAA,IACvD;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM;AAAA,MACvB,MAAM,MAAM,UAAS,MAAM,CAAC;AAAA,MAC5B,OAAO,CAAC,YAAW,GAAG,KAAK,CAAC,iBAAgB,KAAK,OAAO;AAAA,KACzD;AAAA;AAAA,EAEH,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,IAAI,CAAC,EAAE,iBAAiB;AAAA,MAItB,OAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE;AAAA,IAClC;AAAA,IACA,MAAM,SAAS,EAAE,UAAU,oBAAoB;AAAA,IAC/C,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,oBAAoB,QAAQ;AAAA,IACnE,MAAM,UAAU,EAAE,gBAAgB,oBAAoB;AAAA,IACtD,MAAM,cAAc,qBAAqB,MAAM;AAAA,IAC/C,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,SAAS,oBAAoB,OAAO;AAAA,MACpD,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,oBAAmB,MAAK,SAAS,CAAC,GAAG,UAAU,KAAK;AAAA,MAC1D,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,YAAW,GAAG,KAAK,iBAAgB,KAAK,OAAO;AAAA,UAAG;AAAA,QACtD,WAAW,KACT,GAAI,MAAM,mBAAmB,UAAU,KAAK,EAAE,iBAAiB,WAAW,CAC5E;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAWA,eAAe,SAAS,CACtB,aACA,SAC0C;AAAA,EAC1C,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,OAAO,YAAY,MAAM,WAAW,GAAG;AAAA,IACrE,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAAA,EACD,OAAO,QAAQ,UAAU,MAAM,QAAQ,IAAI;AAAA,IACzC,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,IAC/B,IAAI,SAAS,KAAK,MAAM,EAAE,KAAK;AAAA,EACjC,CAAC;AAAA,EACD,MAAM,KAAK;AAAA,EACX,OAAO,EAAE,IAAI,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,SAAS;AAAA;AAGjE,eAAe,cAAc,CAAC,SAAiB,UAAuC;AAAA,EACpF,MAAM,MAAgB,CAAC;AAAA,EACvB,WAAW,WAAW,UAAU;AAAA,IAC9B,MAAM,OAAO,IAAI,MAAK,GAAG,uBAAuB;AAAA,IAChD,iBAAiB,QAAQ,KAAK,KAAK,EAAE,KAAK,SAAS,UAAU,KAAK,CAAC,GAAG;AAAA,MAEpE,IAAI,KAAK,KAAK,QAAQ,qBAAqB,EAAE,CAAC;AAAA,IAChD;AAAA,EACF;AAAA,EACA,OAAO,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC;AAAA;AAGzB,IAAM,QAAwC;AAAA,EAC5C,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,YAAY;AAAA,IAMrB,OAAO,CAAC;AAAA;AAAA,EAEV,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,WAAW,QAAQ,cAAc,CAAC,cAAc,GAAG;AAAA,IACzD,MAAM,WAAW,MAAM,eAAe,SAAS,QAAQ;AAAA,IACvD,IAAI,SAAS,WAAW;AAAA,MAAG,OAAO,EAAE,IAAI,MAAM,UAAU,CAAC,6BAA6B,EAAE;AAAA,IACxF,MAAM,UAAU,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC;AAAA,IAC5E,OAAO,sBAAsB,UAAU,SAAS,OAAO;AAAA;AAE3D;AAEA,SAAS,gBAAgB,CAAC,UAAoB,QAAgB,QAAsB;AAAA,EAClF,SAAS,KAAK,GAAG,6BAA6B;AAAA,EAC9C,MAAM,UAAU,OAAO,KAAK;AAAA,EAC5B,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,WAAW,MAAM,QAAQ,MAAM;AAAA,CAAI,EAAE,MAAM,GAAG,EAAE;AAAA,IAAG,SAAS,KAAK,KAAK,IAAI;AAAA;AAG5E,SAAS,qBAAqB,CAC5B,UACA,SACA,SACqC;AAAA,EACrC,MAAM,WAAqB,CAAC;AAAA,EAC5B,IAAI,KAAK;AAAA,EACT,SAAS,IAAI,EAAG,IAAI,SAAS,QAAQ,KAAK;AAAA,IACxC,MAAM,MAAM,SAAS;AAAA,IACrB,MAAM,IAAI,QAAQ;AAAA,IAClB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAAA,MAAI;AAAA,IACxB,KAAK;AAAA,IACL,iBAAiB,UAAU,UAAS,SAAS,GAAG,KAAK,KAAK,EAAE,MAAM;AAAA,EACpE;AAAA,EACA,OAAO,EAAE,IAAI,SAAS;AAAA;AAGjB,IAAM,mBAAqC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AJjYA,IAAM,mBAAmB,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,aAAa,SAAS,UAAU;AASlG,eAAe,SAAS,CAAC,SAAiB,KAAoC;AAAA,EAC5E,MAAM,cAAc,IAAI,IAAI,IAAI,WAAW,gBAAgB;AAAA,EAC3D,MAAM,kBAAkB,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC;AAAA,EACzD,MAAM,eAAe,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC;AAAA,EACnD,MAAM,UAAU,IAAI,gBAAgB;AAAA,EACpC,MAAM,OAAO,IAAI,MAAK,OAAO;AAAA,EAC7B,MAAM,MAAgB,CAAC;AAAA,EACvB,iBAAiB,QAAQ,KAAK,KAAK,EAAE,KAAK,SAAS,UAAU,KAAK,CAAC,GAAG;AAAA,IACpE,MAAM,MAAM,KAAK,QAAQ,GAAG,YAAY,EAAE;AAAA,IAC1C,MAAM,WAAW,IAAI,MAAM,GAAG;AAAA,IAC9B,IAAI,SAAS,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,CAAC;AAAA,MAAG;AAAA,IAC9C,IAAI,gBAAgB,OAAO,KAAK,SAAS,KAAK,CAAC,MAAM,gBAAgB,IAAI,CAAC,CAAC;AAAA,MAAG;AAAA,IAC9E,MAAM,WAAW,SAAS,SAAS,SAAS,MAAM;AAAA,IAClD,IAAI,aAAa,IAAI,QAAQ,KAAK,aAAa,IAAI,GAAG;AAAA,MAAG;AAAA,IACzD,IAAI,KAAK,IAAI;AAAA,EACf;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,iBAAiB,CAAC,QAA4C;AAAA,EACrE,OAAO,UAAU,CAAC;AAAA;AAGpB,IAAM,cAA6C;AAAA,EACjD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,CAAC,KAAK,SAAS,UAAU,MAAM,kBAAkB,GAAG,CAAC;AAAA,EAChE,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,MAAM,kBAAkB,MAAM;AAAA,IACpC,MAAM,SAAS,MAAM,iBAAiB;AAAA,MACpC;AAAA,MACA,SAAS,IAAI,WAAW;AAAA,SACpB,IAAI,kBAAkB,EAAE,iBAAiB,IAAI,gBAAgB,IAAI,CAAC;AAAA,SAClE,IAAI,eAAe,EAAE,cAAc,IAAI,aAAa,IAAI,CAAC;AAAA,SACzD,IAAI,eAAe,EAAE,cAAc,IAAI,aAAa,IAAI,CAAC;AAAA,IAC/D,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,OAAO,WAAW,WAAW;AAAA,MACjC,UAAU,OAAO,WAAW,IAC1B,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,MAAK,EAAE,WAAW,IAC1E;AAAA,IACF;AAAA;AAEJ;AAEA,IAAM,YAA2C;AAAA,EAC/C,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,WAAW,CAAC,KAAK,SAAS,UAAU,MAAM,kBAAkB,GAAG,CAAC;AAAA,EAChE,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,MAAM,kBAAkB,MAAM;AAAA,IACpC,MAAM,SAAS,MAAM,eAAe;AAAA,MAClC;AAAA,MACA,SAAS,IAAI,WAAW;AAAA,SACpB,IAAI,eAAe,EAAE,cAAc,IAAI,aAAa,IAAI,CAAC;AAAA,IAC/D,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,OAAO,WAAW,WAAW;AAAA,MACjC,UAAU,OAAO,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,IAC5E;AAAA;AAEJ;AAOA,IAAM,UAA4C;AAAA,EAChD,IAAI;AAAA,EACJ,aAAa;AAAA,EAIb,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,IAAI,CAAC,EAAE;AAAA,MAAY,OAAO,CAAC;AAAA,IAC3B,OAAO,CAAC,OAAK,MAAM,EAAE,UAAU,CAAC;AAAA;AAAA,EAElC,gBAAgB,CAAC,SAAS;AAAA,IACxB,OAAO,KAAK,UAAU,QAAQ,UAAU;AAAA,EAC1C;AAAA,EACA,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,MAAM,UAAU,CAAC;AAAA,IACvB,MAAM,SAAS,MAAM,aAAa;AAAA,MAChC,MAAM;AAAA,SACF,IAAI,aAAa,EAAE,YAAY,IAAI,WAAW,IAAI,CAAC;AAAA,SACnD,OAAO,IAAI,UAAU,YAAY,EAAE,OAAO,IAAI,MAAM,IAAI,CAAC;AAAA,IAC/D,CAAC;AAAA,IACD,IAAI,CAAC,OAAO,aAAa;AAAA,MACvB,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,UAAU;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,IAAI,OAAO,aAAa;AAAA,MACxB,UACE,OAAO,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,KAAK,mBAAmB,OAAO,UAAU;AAAA,IAC9F;AAAA;AAEJ;AASA,IAAM,sBAA0D;AAAA,EAC9D,IAAI;AAAA,EACJ,aACE;AAAA,EACF,WAAW,CAAC,KAAK,SAAS;AAAA,IACxB,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,OAAO;AAAA,MACL,OAAK,MAAM,EAAE,YAAY,gBAAgB;AAAA,MACzC,OAAK,MAAM,EAAE,iBAAiB,YAAY;AAAA,IAC5C;AAAA;AAAA,EAEF,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,MAAM,UAAU,CAAC;AAAA,IACvB,MAAM,SAAS,MAAM,8BAA8B;AAAA,MACjD,MAAM;AAAA,SACF,IAAI,WAAW,EAAE,UAAU,IAAI,SAAS,IAAI,CAAC;AAAA,SAC7C,IAAI,gBAAgB,EAAE,eAAe,IAAI,cAAc,IAAI,CAAC;AAAA,SAC5D,IAAI,sBAAsB,EAAE,qBAAqB,IAAI,oBAAoB,IAAI,CAAC;AAAA,SAC9E,IAAI,oBAAoB,EAAE,mBAAmB,IAAI,kBAAkB,IAAI,CAAC;AAAA,IAC9E,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,OAAO,QAAQ,WAAW;AAAA,MAC9B,UACE,OAAO,QAAQ,WAAW,IACtB,CAAC,IACD;AAAA,QACE;AAAA,QACA,GAAG,OAAO,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,MACvC;AAAA,IACR;AAAA;AAEJ;AAEO,IAAM,qBAAqB;AAE3B,IAAM,kBAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACF;;;AD/KA,IAAM,gBAAgB,CAAC,mBAAmB,mBAAmB,kBAAkB;AAE/E,eAAsB,iBAAiB,CACrC,SACA,cAC2B;AAAA,EAC3B,MAAM,aAAa,eAAe,CAAC,YAAY,IAAI,cAAc,IAAI,CAAC,MAAM,OAAK,SAAS,CAAC,CAAC;AAAA,EAE5F,WAAW,QAAQ,YAAY;AAAA,IAC7B,IAAI,CAAE,MAAM,IAAI,KAAK,IAAI,EAAE,OAAO;AAAA,MAAI;AAAA,IACtC,MAAM,MAAO,MAAa;AAAA,IAC1B,MAAM,SAAS,IAAI,SAAS;AAAA,IAC5B,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,IAAI,CAAC,MAAM,QAAQ,OAAO,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAAA,MACjE,MAAM,IAAI,MAAM,GAAG,qDAAqD;AAAA,IAC1E;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,EAAE,SAAS,CAAC,eAAe,EAAE;AAAA;;AMXtC,oBAAS;AACT,iBAAS,oBAAM;AACf,iBAAS;AAQT,IAAM,qBAAoB,CAAC,gBAAgB,QAAQ,QAAQ,QAAQ,QAAQ;AAE3E,SAAS,cAAa,CAAC,SAA0B;AAAA,EAC/C,OAAO,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,IAAI;AAAA;AAGvF,SAAS,gBAAe,CAAC,KAAa,OAA0B;AAAA,EAC9D,WAAW,KAAK,OAAO;AAAA,IACrB,IAAI,IAAI,MAAK,CAAC,EAAE,MAAM,GAAG;AAAA,MAAG,OAAO;AAAA,EACrC;AAAA,EACA,OAAO;AAAA;AAGT,eAAe,mBAAkB,CAC/B,KACA,UACA,MACA,KACe;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,UAAU,MAAM,SAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;AAAA,IACpD,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,WAAW,OAAK,KAAK,MAAM,IAAI;AAAA,IACrC,IAAI,MAAM,YAAY,GAAG;AAAA,MACvB,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI;AAAA,QAAG,MAAM,oBAAmB,UAAU,UAAU,MAAM,GAAG;AAAA,IACvF,EAAO,SAAI,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,MAAM,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG;AAAA,MACrE,IAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAUF,IAAM,YAA+C;AAAA,EACnD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,MAAM,eAAe;AAAA,MAC7B;AAAA,SACI,QAAQ,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,IAC1D,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,EAAE,WAAW,WAAW;AAAA,MAC5B,UAAU,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAAA,IACpE;AAAA;AAEJ;AAEA,IAAM,aAAgD;AAAA,EACpD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,MAAM,gBAAgB;AAAA,MAC9B;AAAA,SACI,QAAQ,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,IAC1D,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,EAAE,WAAW,WAAW;AAAA,MAC5B,UAAU,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAAA,IACpE;AAAA;AAEJ;AAEA,IAAM,UAA6C;AAAA,EACjD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,MAAM,aAAa;AAAA,MAC3B;AAAA,SACI,QAAQ,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,IAC1D,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,EAAE,WAAW,WAAW;AAAA,MAC5B,UAAU,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAAA,IACpE;AAAA;AAEJ;AAEA,IAAM,YAA+C;AAAA,EACnD,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,MAAM,eAAe;AAAA,MAC7B;AAAA,SACI,QAAQ,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,IAC1D,CAAC;AAAA,IACD,OAAO;AAAA,MAEL,IAAI;AAAA,MACJ,UAAU,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAAA,IACpE;AAAA;AAEJ;AAUA,IAAM,mBAA8D;AAAA,EAClE,IAAI;AAAA,EACJ,aACE;AAAA,EACF,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,IAAI,MAAM,sBAAsB;AAAA,MACpC,MAAM;AAAA,SACF,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC;AAAA,SACzC,EAAE,WAAW,EAAE,UAAU,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;AAAA,SAClD,EAAE,iBAAiB,EAAE,gBAAgB,IAAI,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC;AAAA,IAC1E,CAAC;AAAA,IACD,OAAO;AAAA,MACL,IAAI,EAAE,WAAW,WAAW;AAAA,MAC5B,UAAU,EAAE,WAAW,IACrB,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAY,EAAE,iBAAiB,EAAE,SACpE;AAAA,IACF;AAAA;AAEJ;AAWA,IAAM,6BAA+D;AAAA,EACnE,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,cAAc,CAAC;AAAA,EACf,OAAO,CAAC,KAAK;AAAA,EACb,UAAU;AACZ;AAEA,SAAS,WAAW,CAAC,MAAsB;AAAA,EACzC,OAAO,KAAK,QAAQ,uBAAuB,MAAM;AAAA;AAGnD,SAAS,iBAAiB,CAAC,QAA0B;AAAA,EACnD,MAAM,OAAO,OAAO,IAAI,WAAW,EAAE,KAAK,GAAG;AAAA,EAG7C,OAAO,IAAI,OAAO,OAAO,mBAAmB;AAAA;AAG9C,SAAS,WAAU,CAAC,KAAsB;AAAA,EACxC,OACE,IAAI,SAAS,WAAW,KACxB,IAAI,SAAS,QAAQ,KACrB,IAAI,SAAS,QAAQ,KACrB,IAAI,WAAW,QAAQ;AAAA;AAI3B,eAAe,yBAAyB,CACtC,UACA,KACA,OACmB;AAAA,EACnB,MAAM,UAAU,MAAM,IAAI,KAAK,QAAQ,EAAE,KAAK;AAAA,EAC9C,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,MAAgB,CAAC;AAAA,EACvB,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,MAAM,OAAO,MAAM,MAAM;AAAA,IACzB,IAAI,eAAc,KAAK,KAAK,CAAC;AAAA,MAAG;AAAA,IAChC,IAAI,MAAM,KAAK,IAAI,GAAG;AAAA,MACpB,IAAI,KAAK,GAAG,OAAO,IAAI,MAAM,KAAK,KAAK,GAAG;AAAA,IAC5C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,mBAA8D;AAAA,EAClE,IAAI;AAAA,EACJ,aACE;AAAA,EACF,WAAW,OAAO,KAAK,SAAS;AAAA,IAC9B,MAAM,IAAI,OAAO,CAAC;AAAA,IAClB,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,2BAA2B,QAAQ;AAAA,IAC1E,MAAM,UAAU,EAAE,gBAAgB,2BAA2B;AAAA,IAC7D,MAAM,MAAgB,CAAC;AAAA,IACvB,WAAW,KAAK,EAAE,SAAS,2BAA2B,OAAO;AAAA,MAC3D,MAAM,oBAAmB,OAAK,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG;AAAA,IACjE;AAAA,IACA,OAAO,IAAI,OAAO,CAAC,MAAM;AAAA,MACvB,MAAM,MAAM,UAAS,MAAM,CAAC;AAAA,MAC5B,OAAO,CAAC,YAAW,GAAG,KAAK,CAAC,iBAAgB,KAAK,OAAO;AAAA,KACzD;AAAA;AAAA,EAEH,KAAK,SAAS,SAAS,aAAa;AAAA,IAClC,MAAM,IAAI,UAAU,CAAC;AAAA,IACrB,MAAM,SAAS,EAAE,UAAU,2BAA2B;AAAA,IACtD,IAAI,OAAO,WAAW;AAAA,MAAG,OAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE;AAAA,IACzD,MAAM,WAAW,IAAI,IAAI,EAAE,YAAY,2BAA2B,QAAQ;AAAA,IAC1E,MAAM,UAAU,EAAE,gBAAgB,2BAA2B;AAAA,IAC7D,MAAM,QAAQ,kBAAkB,MAAM;AAAA,IACtC,MAAM,aAAuB,CAAC;AAAA,IAC9B,WAAW,KAAK,EAAE,SAAS,2BAA2B,OAAO;AAAA,MAC3D,MAAM,QAAkB,CAAC;AAAA,MACzB,MAAM,oBAAmB,OAAK,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK;AAAA,MACpE,WAAW,YAAY,OAAO;AAAA,QAC5B,MAAM,MAAM,UAAS,SAAS,QAAQ;AAAA,QACtC,IAAI,YAAW,GAAG,KAAK,iBAAgB,KAAK,OAAO;AAAA,UAAG;AAAA,QACtD,WAAW,KAAK,GAAI,MAAM,0BAA0B,UAAU,KAAK,KAAK,CAAE;AAAA,MAC5E;AAAA,IACF;AAAA,IACA,OAAO,EAAE,IAAI,WAAW,WAAW,GAAG,UAAU,WAAW;AAAA;AAE/D;AAEO,IAAM,0BAA0B;AAEhC,IAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
27
|
-
"debugId": "
|
|
26
|
+
"mappings": "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",
|
|
27
|
+
"debugId": "DB1C98BCB50FC2FD64756E2164756E21",
|
|
28
28
|
"names": []
|
|
29
29
|
}
|