@mutagent/cli 0.1.239 → 0.1.241

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/bin/cli.js CHANGED
@@ -2703,12 +2703,12 @@ var PROVIDER_CATALOG = [
2703
2703
  required: true,
2704
2704
  treatment: "plain",
2705
2705
  validation: { rule: "https-url" },
2706
- description: "The endpoint serving the API. Pick its wire format below."
2706
+ description: "The endpoint serving the API. Pick its API format below."
2707
2707
  },
2708
2708
  apiKeyField("The key the endpoint expects, sent as a bearer token."),
2709
2709
  {
2710
- name: "wireFormat",
2711
- label: "Wire format",
2710
+ name: "apiFormat",
2711
+ label: "API format",
2712
2712
  required: false,
2713
2713
  treatment: "plain",
2714
2714
  validation: { rule: "one-of", values: ["openai", "anthropic"] },
@@ -2731,7 +2731,7 @@ function getCredentialField(entry, name) {
2731
2731
  return entry.credentialFields.find((field) => field.name === name);
2732
2732
  }
2733
2733
  // src/lib/api-format.ts
2734
- var API_FORMAT_WIRE_NAME = "wireFormat";
2734
+ var API_FORMAT_WIRE_NAME = "apiFormat";
2735
2735
  function apiFormatValuesFor(providerType) {
2736
2736
  const entry = getProviderCatalogEntry(providerType);
2737
2737
  if (!entry)
@@ -5669,5 +5669,5 @@ program.addCommand(createInstallCommand());
5669
5669
  program.addCommand(createFeedbackCommand());
5670
5670
  program.parse();
5671
5671
 
5672
- //# debugId=68E28EE26BA63D9B64756E2164756E21
5672
+ //# debugId=270F5210E72B26F864756E2164756E21
5673
5673
  //# sourceMappingURL=cli.js.map
@@ -23,9 +23,9 @@
23
23
  "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../lib/output.js';\nimport { handleError } from '../lib/errors.js';\nimport { workspaceLinks, workspaceLink } from '../lib/ui-links.js';\nimport type { Workspace } from '../types/index.js';\n\n// Command option interfaces for type safety\ninterface ListOptions {\n limit: string;\n offset?: string;\n}\n\nexport function createWorkspacesCommand(): Command {\n const workspaces = new Command('workspaces')\n .description('View workspaces (read-only)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent workspaces list\n ${chalk.dim('$')} mutagent workspaces get <workspace-id>\n\nSubcommands:\n list, get\n\nNote: Workspace management (create, update, delete) is available in the Admin Panel only.\n `);\n\n // =========================================================================\n // WORKSPACE READ-ONLY OPERATIONS\n // Create, update, delete are available in Admin Panel only\n // =========================================================================\n\n // List workspaces\n workspaces\n .command('list')\n .description('List all workspaces')\n .option('-l, --limit <n>', 'Limit results', '50')\n .option('-o, --offset <n>', 'Offset for pagination')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent workspaces list\n ${chalk.dim('$')} mutagent workspaces list --limit 10 --json\n `)\n .action(async (options: ListOptions) => {\n const isJson = getJsonFlag(workspaces);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const client = await getSDKClient();\n const filters: { limit?: number; offset?: number } = {\n limit: parseInt(options.limit, 10) || 50,\n };\n\n if (options.offset) {\n filters.offset = parseInt(options.offset, 10);\n }\n\n const result = await client.listWorkspaces(filters);\n\n if (isJson) {\n // Summary view — only IDs and key fields. Use `workspaces get <id>` for full details.\n const withLinks = result.data.map((w: Workspace) => ({\n id: w.id,\n name: w.name,\n slug: w.slug,\n isDefault: w.isDefault,\n updatedAt: w.updatedAt,\n _links: workspaceLinks(w.id),\n }));\n output.output({ ...result, data: withLinks });\n } else {\n // Format for table\n const formatted = result.data.map((w: Workspace) => ({\n id: w.id,\n name: w.name,\n slug: w.slug,\n isDefault: w.isDefault ? 'Yes' : 'No',\n updated: w.updatedAt ? new Date(w.updatedAt).toLocaleDateString() : 'N/A',\n url: workspaceLink(w.id),\n }));\n output.output(formatted);\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n // Get workspace\n workspaces\n .command('get')\n .description('Get workspace details')\n .argument('<id>', 'Workspace ID')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent workspaces get <workspace-id>\n ${chalk.dim('$')} mutagent workspaces get <workspace-id> --json\n `)\n .action(async (id: string) => {\n const isJson = getJsonFlag(workspaces);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const client = await getSDKClient();\n const workspace = await client.getWorkspace(id);\n\n if (isJson) {\n output.output({ ...workspace, _links: workspaceLinks(workspace.id) });\n } else {\n // Format for display\n const formatted: Record<string, unknown> = {\n id: workspace.id,\n name: workspace.name,\n slug: workspace.slug,\n description: workspace.description ?? 'N/A',\n isDefault: workspace.isDefault ? 'Yes' : 'No',\n createdBy: workspace.createdBy ?? 'N/A',\n createdAt: workspace.createdAt ? new Date(workspace.createdAt).toLocaleString() : 'N/A',\n updatedAt: workspace.updatedAt ? new Date(workspace.updatedAt).toLocaleString() : 'N/A',\n url: workspaceLink(workspace.id),\n };\n output.output(formatted);\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n return workspaces;\n}\n",
24
24
  "/**\n * @fileoverview Centralized UI deep link generation for MutagenT CLI\n * @module @mutagent/cli/lib/ui-links\n *\n * Generates clickable URLs that link to the MutagenT web UI (v2 routes)\n * for viewing/editing resources. Used across all CLI commands that\n * list or fetch resources.\n */\n\n/**\n * Get the base URL for the MutagenT web application.\n * Reads from MUTAGENT_APP_URL env var, falling back to production URL.\n */\nexport function getAppBaseUrl(): string {\n return process.env.MUTAGENT_APP_URL ?? 'https://app.mutagent.io';\n}\n\n/**\n * Generate a link to the provider settings page.\n *\n * There is no scope parameter, because there is no longer more than one place\n * providers live. Provider configurations attach to exactly one workspace, and\n * `settings/organization/providers` was deleted with the scope collapse — so a\n * scope argument could only ever select between a working URL and a 404.\n */\nexport function providerSettingsLink(): string {\n return `${getAppBaseUrl()}/settings/workspace/providers`;\n}\n\n/**\n * Generate a link to view a workspace in the settings.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function workspaceLink(_id?: string | number): string {\n return `${getAppBaseUrl()}/settings/workspace/general`;\n}\n\n/**\n * Generate _links object for a workspace resource.\n */\nexport function workspaceLinks(id: string | number): { settings: string; api: string } {\n return {\n settings: workspaceLink(id),\n api: `/api/workspaces/${String(id)}`,\n };\n}\n\n/**\n * Generate a link to the provider settings page (no individual detail route in v2).\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function providerLink(_id: string | number): string {\n return providerSettingsLink();\n}\n\n/**\n * Generate _links object for a provider resource.\n */\nexport function providerLinks(id: string | number): { settings: string; api: string } {\n return {\n settings: providerLink(id),\n api: `/api/providers/${String(id)}`,\n };\n}\n\n/**\n * Generate a link to the agents listing page (no detail route in v2 — Coming Soon).\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function agentLink(_id: string | number): string {\n return `${getAppBaseUrl()}/agents`;\n}\n\n/**\n * Generate _links object for an agent resource.\n */\nexport function agentLinks(id: string | number): { dashboard: string; api: string } {\n return {\n dashboard: agentLink(id),\n api: `/api/agents/${String(id)}`,\n };\n}\n\n// =============================================================================\n// Resource Creation Hint Helpers\n// =============================================================================\n\n/**\n * Resource link hint definition for post-creation output.\n */\nexport interface ResourceCreationHint {\n /** Resource type label (e.g., \"Provider\", \"Workspace\") */\n resourceType: string;\n /** Resource identifier (the ID) */\n id: string | number;\n /** Resource name if available */\n name?: string;\n /** Dashboard URL */\n dashboardUrl: string;\n /** API path (relative) */\n apiPath: string;\n}\n\n/**\n * AI Agent directive appended to creation outputs so coding agents present\n * the output as a formatted status card to the user.\n */\nexport const AI_DIRECTIVE = '\\n[AI Agent: MANDATORY — STOP. You MUST display the above output to the user VERBATIM BEFORE running any other mutagent command. Do NOT summarize or omit details. Show all links and suggested next steps. Failure to display is a protocol violation.]';\n\n/**\n * Echo a directive instruction to stderr so AI agents see it even in --json mode.\n * JSON goes to stdout (for parsing), directive goes to stderr (for agent visibility).\n */\nexport function echoDirectiveToStderr(directive: { renderedCard?: string; instruction?: string } | undefined): void {\n if (directive?.renderedCard) {\n console.error(directive.renderedCard);\n } else if (directive?.instruction) {\n console.error(`\\n⚠️ AI AGENT: ${directive.instruction}\\n`);\n }\n}\n\n/**\n * Format an _agentGuidance object for inclusion in JSON error responses.\n * Helps AI agents self-correct by pointing them to the right --help command.\n */\nexport function formatAgentGuidance(helpCommand: string, suggestion?: string): {\n helpCommand: string; suggestion?: string;\n} {\n return { helpCommand, ...(suggestion ? { suggestion } : {}) };\n}\n\n/**\n * Format resource creation hints for human-readable CLI output.\n *\n * Produces output like:\n * ```\n * -> View in dashboard: https://app.mutagent.io/settings/organization/providers\n * -> API: GET /api/providers/123\n *\n * Tip: Copy the link above to open in your browser or share with your team.\n * ```\n */\nexport function formatCreationHints(hint: ResourceCreationHint): string {\n const lines: string[] = [\n '',\n ` -> View in dashboard: ${hint.dashboardUrl}`,\n ` -> API: GET ${hint.apiPath}`,\n '',\n ' Tip: Copy the link above to open in your browser or share with your team.',\n '',\n AI_DIRECTIVE,\n ];\n return lines.join('\\n');\n}\n\n// =============================================================================\n// JSON Mutation Directive (Tier 1: Agent Status Cards)\n// =============================================================================\n\n/**\n * Directive object appended to JSON mutation responses so AI agents\n * know to present the output as a formatted status card.\n *\n * Agents use --json mode exclusively. Without this field in the JSON\n * response, they have no instruction to render a status card.\n */\nexport interface MutationDirective {\n display: 'status_card';\n template: string;\n title: string;\n fields: Record<string, unknown>;\n links: Record<string, string>;\n next: string[];\n instruction: string;\n renderedCard: string;\n}\n\nexport const VERBATIM_CARD_INSTRUCTION =\n 'MANDATORY: HARD STOP — DO NOT PROCEED.\\n' +\n '1. The renderedCard below appears in your bash/terminal output. That is NOT sufficient — the user cannot see it there.\\n' +\n '2. You MUST copy the FULL renderedCard text into your chat response VERBATIM. Do NOT summarize, rephrase, or omit any lines.\\n' +\n '3. Do NOT run any other command until you have displayed the card in chat.\\n' +\n '4. After displaying, follow the suggested next steps.';\n\n/**\n * Render a plain-text (no ANSI) box-drawn card for AI agents to display.\n */\nexport function renderPlainCard(opts: {\n title: string;\n icon?: string;\n rows: { label: string; value: string }[];\n links: { label: string; url: string }[];\n next: string[];\n}): string {\n const icon = opts.icon ?? '✓';\n\n // Calculate label padding (align values across rows + links)\n const allLabels = [\n ...opts.rows.map(r => r.label),\n ...opts.links.map(l => l.label),\n ];\n const labelWidth = Math.max(...allLabels.map(l => l.length), 4) + 2;\n\n // Build all content lines (without borders) to find max width\n const titleText = `─ ${icon} ${opts.title} `;\n const contentLines: string[] = [];\n\n // Data rows\n for (const r of opts.rows) {\n contentLines.push(` ${r.label.padEnd(labelWidth)}${r.value}`);\n }\n\n // Links (separated)\n if (opts.links.length) {\n for (const l of opts.links) {\n contentLines.push(` ${l.label.padEnd(labelWidth)}${l.url}`);\n }\n }\n\n // Next steps (separated)\n if (opts.next.length) {\n contentLines.push(' Next');\n for (const n of opts.next) {\n contentLines.push(` → ${n}`);\n }\n }\n\n // Auto-width: max of title and all content lines, minimum 60\n const maxContent = Math.max(\n titleText.length,\n ...contentLines.map(l => l.length),\n );\n const w = Math.max(60, maxContent + 4); // +4 for \"│ \" prefix and \" │\" suffix padding\n const innerW = w - 2; // space between │ and │\n\n // Render helpers\n const pad = (text: string): string => {\n return text.length < innerW ? text + ' '.repeat(innerW - text.length) : text;\n };\n const ln = (text: string): string => `│ ${pad(text)}│`;\n const blank = (): string => ln('');\n const sep = (): string => `│ ${'─'.repeat(innerW - 1)}│`;\n\n // Build the top border with embedded title\n const titleBorder = `┌${titleText}${'─'.repeat(Math.max(0, w - titleText.length - 1))}┐`;\n const bot = `└${'─'.repeat(w)}┘`;\n\n const out: string[] = [titleBorder, blank()];\n\n // Data rows\n for (const r of opts.rows) {\n out.push(ln(` ${r.label.padEnd(labelWidth)}${r.value}`));\n }\n\n // Links section\n if (opts.links.length) {\n out.push(blank(), sep(), blank());\n for (const l of opts.links) {\n out.push(ln(` ${l.label.padEnd(labelWidth)}${l.url}`));\n }\n }\n\n // Next steps section\n if (opts.next.length) {\n out.push(blank(), sep(), blank());\n out.push(ln(' Next'));\n for (const n of opts.next) {\n out.push(ln(` → ${n}`));\n }\n }\n\n out.push(blank(), bot);\n return out.join('\\n');\n}\n",
25
25
  "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { MutagentError, handleError } from '../../lib/errors.js';\nimport { providerSettingsLink, providerLinks, providerLink } from '../../lib/ui-links.js';\nimport { Provider as ProviderCatalogId } from '@mutagent/sdk/models';\nimport type { Provider } from '../../types/index.js';\nimport { registerAddCommand } from './add.js';\nimport { registerUpdateCommand } from './update.js';\nimport { registerDeleteCommand } from './delete.js';\n\n/**\n * The provider entries this CLI accepts — DERIVED, never restated (DC-2, KL-8).\n *\n * The server's catalog is the single authoritative list. `model.ts` builds the\n * OpenAPI enum straight from it, Speakeasy generates that enum into the SDK, and\n * this reads the generated enum. So the chain is:\n *\n * catalog.ts -> OpenAPI enum -> SDK `Provider` -> here\n *\n * There used to be a hand-maintained tuple here instead. It had drifted badly\n * while LOOKING correct: it listed eleven entries and the catalog offers eleven,\n * but only six overlapped — it carried five providers that do not exist in the\n * catalog and was missing five that do (`moonshot`, `glm`, `deepseek`, `xai`,\n * `vertex`). Matching lengths are exactly why nobody noticed. Deriving makes\n * that class of drift unrepresentable.\n */\nexport const VALID_PROVIDER_TYPES = Object.values(ProviderCatalogId);\n\n// Command option interfaces for type safety\ninterface ListOptions {\n limit: string;\n offset?: string;\n type?: string;\n models?: boolean;\n}\n\n/**\n * Validates that the provider type is valid\n */\nexport function validateProviderType(type: string): ProviderCatalogId {\n // `find` rather than `includes` so the return NARROWS to the catalog union\n // instead of staying `string`. That narrowing is the point: it is what makes\n // `Record<ProviderType, …>` exhaustive downstream, which is the check that\n // would have caught the ghost provider map in the test mock.\n const match = VALID_PROVIDER_TYPES.find((entry) => entry === type);\n if (!match) {\n throw new MutagentError(\n 'INVALID_PROVIDER_TYPE',\n `Invalid provider type: ${type}`,\n `Valid types: ${VALID_PROVIDER_TYPES.join(', ')}`\n );\n }\n return match;\n}\n\nexport function createProvidersCommand(): Command {\n const providers = new Command('providers')\n .description('Manage LLM provider configurations (BYOK)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers list\n ${chalk.dim('$')} mutagent providers get <provider-id>\n ${chalk.dim('$')} mutagent providers add --provider openai --name \"My OpenAI\" --api-key $KEY\n ${chalk.dim('$')} mutagent providers update <id> --name \"New Name\"\n ${chalk.dim('$')} mutagent providers delete <id> --force\n ${chalk.dim('$')} mutagent providers test <provider-id>\n\nProvider Types:\n ${VALID_PROVIDER_TYPES.join(', ')}\n\nSubcommands:\n list, get, add, update, delete, test\n\nTip:\n Use --models on list to see available models per provider.\n `);\n\n // =========================================================================\n // LIST PROVIDERS\n // =========================================================================\n providers\n .command('list')\n .description('List all providers')\n .option('-l, --limit <n>', 'Limit results', '50')\n .option('-o, --offset <n>', 'Offset for pagination')\n .option('-t, --type <type>', 'Filter by provider type')\n .option('-m, --models', 'Show available models per provider (calls /providers/catalog)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers list\n ${chalk.dim('$')} mutagent providers list --type openai\n ${chalk.dim('$')} mutagent providers list --models\n ${chalk.dim('$')} mutagent providers list --json\n `)\n .action(async (options: ListOptions) => {\n const isJson = getJsonFlag(providers);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const client = await getSDKClient();\n const filters: { limit?: number; offset?: number; type?: string } = {\n limit: parseInt(options.limit, 10) || 50,\n };\n\n if (options.offset) {\n filters.offset = parseInt(options.offset, 10);\n }\n if (options.type) {\n filters.type = validateProviderType(options.type);\n }\n\n const result = await client.listProviders(filters);\n\n // Fetch catalog if --models requested\n let catalogByKind: Record<string, string[]> = {};\n if (options.models) {\n try {\n const catalog = await client.getModelsCatalog();\n for (const entry of catalog.models) {\n const kind = entry.provider.kind;\n if (!catalogByKind[kind]) catalogByKind[kind] = [];\n catalogByKind[kind].push(entry.id);\n }\n } catch {\n // Best-effort — don't block list on catalog failure\n }\n }\n\n const formatModels = (kind: string): string => {\n const models = catalogByKind[kind] ?? [];\n if (models.length === 0) return '—';\n if (models.length <= 3) return models.join(', ');\n return `${models.slice(0, 3).join(', ')} +${models.length - 3} more`;\n };\n\n if (isJson) {\n const withLinks = result.data.map((p: Provider) => ({\n id: p.id,\n name: p.name,\n provider: p.provider,\n isActive: p.isActive,\n updatedAt: p.updatedAt,\n ...(options.models ? { models: catalogByKind[p.provider] ?? [] } : {}),\n _links: providerLinks(p.id),\n }));\n output.output({ ...result, data: withLinks });\n } else {\n if (result.data.length === 0) {\n output.info('No providers configured.');\n output.info(`Configure at: ${providerSettingsLink()}`);\n } else {\n const formatted = result.data.map((p: Provider) => ({\n id: p.id,\n name: p.name,\n provider: p.provider,\n baseUrl: p.baseUrl ?? 'default',\n active: p.isActive ? 'Yes' : 'No',\n updated: p.updatedAt ? new Date(p.updatedAt).toLocaleDateString() : 'N/A',\n ...(options.models ? { models: formatModels(p.provider) } : {}),\n url: providerLink(p.id),\n }));\n output.output(formatted);\n }\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n // =========================================================================\n // GET PROVIDER\n // =========================================================================\n providers\n .command('get')\n .description('Get provider details')\n .argument('<id>', 'Provider ID (from: mutagent providers list)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers get <provider-id>\n ${chalk.dim('$')} mutagent providers get <provider-id> --json\n `)\n .action(async (id: string) => {\n const isJson = getJsonFlag(providers);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const client = await getSDKClient();\n const provider = await client.getProvider(id);\n\n if (isJson) {\n output.output({ ...provider, _links: providerLinks(provider.id) });\n } else {\n const formatted: Record<string, unknown> = {\n id: provider.id,\n name: provider.name,\n provider: provider.provider,\n baseUrl: provider.baseUrl ?? 'default',\n isActive: provider.isActive ? 'Yes' : 'No',\n createdBy: provider.createdBy ?? 'N/A',\n createdAt: provider.createdAt ? new Date(provider.createdAt).toLocaleString() : 'N/A',\n updatedAt: provider.updatedAt ? new Date(provider.updatedAt).toLocaleString() : 'N/A',\n url: providerLink(provider.id),\n };\n output.output(formatted);\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n // =========================================================================\n // TEST PROVIDER\n // =========================================================================\n providers\n .command('test')\n .description('Test provider connectivity')\n .argument('<id>', 'Provider ID (from: mutagent providers list)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers test <provider-id>\n ${chalk.dim('$')} mutagent providers test <provider-id> --json\n\n${chalk.dim('Tests connectivity and lists available models for the provider.')}\n `)\n .action(async (id: string) => {\n const isJson = getJsonFlag(providers);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const client = await getSDKClient();\n\n if (!isJson) {\n output.info(`Testing provider ${id}...`);\n }\n\n const result = await client.testProvider(id);\n\n if (isJson) {\n output.output({ ...result, _links: providerLinks(id) });\n } else {\n if (result.success) {\n // Latency is optional on the wire — say so rather than printing\n // `undefinedms`, which is what the previous wrong field name did.\n const latency = typeof result.latencyMs === 'number' ? ` (${String(result.latencyMs)}ms)` : '';\n output.success(`Provider test passed${latency}`);\n console.log(chalk.green(`Message: ${result.message}`));\n if (result.models && result.models.length > 0) {\n console.log(chalk.bold('\\nAvailable Models:'));\n result.models.forEach(model => {\n console.log(` - ${model}`);\n });\n }\n } else {\n output.error(`Provider test failed: ${result.message}`);\n if (result.error) {\n console.log(chalk.red(`Error: ${result.error}`));\n }\n }\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n // Register write subcommands from separate files\n registerAddCommand(providers);\n registerUpdateCommand(providers);\n registerDeleteCommand(providers);\n\n return providers;\n}\n",
26
- "import type { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { MutagentError, handleError } from '../../lib/errors.js';\nimport {\n providerLinks,\n providerLink,\n renderPlainCard,\n echoDirectiveToStderr,\n} from '../../lib/ui-links.js';\nimport { validateProviderType, VALID_PROVIDER_TYPES } from './index.js';\nimport {\n API_FORMAT_WIRE_NAME,\n apiFormatHelpText,\n validateApiFormat,\n} from '../../lib/api-format.js';\n\n/**\n * Which hosted families each gateway may serve (FR-CORE-004/005).\n *\n * PER GATEWAY, not a flat set. A flat set accepted `bedrock --hosted-family\n * openai` — a combination the catalog forbids. The server did not save us:\n * `resolveHostedFamily` finds no match, falls back to the entry's single family\n * for the connection probe, and then persists the RAW submitted value, so the\n * row lands as a forbidden combination validated by a probe that tested\n * something else. Filed separately as a server defect; the CLI must not rely on\n * server rejection for a value it can check itself (§4.5 / HR-6).\n *\n * Still stated locally rather than derived: no endpoint serves the catalog\n * entries. `/providers/catalog` is the MODELS catalog. Bounded by the fact that\n * a family outside this map is refused before any request is made.\n */\nexport const GATEWAY_HOSTED_FAMILIES: Readonly<Record<string, readonly string[]>> = {\n azure: ['openai', 'anthropic'],\n vertex: ['gemini', 'anthropic'],\n bedrock: ['anthropic'],\n};\n\n/** Catalog entries that host another vendor's models (FR-CORE-004). */\nexport const GATEWAY_PROVIDERS = new Set(Object.keys(GATEWAY_HOSTED_FAMILIES));\n\n/** Every family any gateway can serve — for help text only, never validation. */\nexport const HOSTED_FAMILIES = [\n ...new Set(Object.values(GATEWAY_HOSTED_FAMILIES).flat()),\n] as const;\n\n/**\n * Entries whose single secret is NOT called `apiKey`.\n *\n * The server takes the secret either in the top-level `apiKey` slot or as the\n * correspondingly-named key inside `credentialFields`; the wire name is\n * per-entry. Google Vertex is the only entry that differs today.\n */\nconst SECRET_WIRE_NAME: Readonly<Record<string, string>> = {\n vertex: 'serviceAccountKey',\n};\n\ninterface AddOptions {\n provider: string;\n name: string;\n apiKey?: string;\n serviceAccountKey?: string;\n baseUrl?: string;\n setDefault?: boolean;\n hostedFamily?: string;\n // Non-secret per-entry credential material (FR-CORE-006).\n resourceEndpoint?: string;\n deploymentName?: string;\n apiVersion?: string;\n projectId?: string;\n region?: string;\n apiFormat?: string;\n}\n\n/**\n * Gather the non-secret per-entry fields the operator supplied.\n *\n * Deliberately a pass-through. WHICH fields a given entry requires is declared\n * by the server catalog and enforced there (FR-CORE-006 assigns that validation\n * to `mutagent`, not to this package), and no endpoint publishes those\n * descriptors yet. Encoding the rules here would create a second, drifting copy\n * of the catalog — the precise failure this task exists to remove. An incomplete\n * configuration is rejected by the connection test, with the provider's own\n * error, before anything is persisted.\n */\nfunction collectCredentialFields(options: AddOptions): Record<string, unknown> {\n const fields: Record<string, unknown> = {};\n if (options.resourceEndpoint) fields.resourceEndpoint = options.resourceEndpoint;\n if (options.deploymentName) fields.deploymentName = options.deploymentName;\n if (options.apiVersion) fields.apiVersion = options.apiVersion;\n if (options.projectId) fields.projectId = options.projectId;\n if (options.region) fields.region = options.region;\n // The one place the CLI's `--api-format` becomes the server's `wireFormat`.\n // Only sent when the operator asked for it — an absent field leaves the server's\n // own default in force, so the CLI does not restate what that default is.\n if (options.apiFormat) fields[API_FORMAT_WIRE_NAME] = options.apiFormat;\n return fields;\n}\n\nexport function registerAddCommand(parent: Command): void {\n parent\n .command('add')\n .description('Add a new provider configuration')\n .requiredOption('-p, --provider <type>', 'Provider type (openai, anthropic, azure, ...)')\n .requiredOption('-n, --name <name>', 'Display name for this provider')\n .option('-k, --api-key <key>', 'API key for the provider (every entry except Google Vertex)')\n .option('--service-account-key <json>', 'Google Vertex service-account credential JSON')\n .option('--hosted-family <family>', `Hosted model family for gateway providers: ${HOSTED_FAMILIES.join(', ')}`)\n .option('--base-url <url>', 'Custom base URL for the provider API')\n .option('--api-format <format>', apiFormatHelpText())\n .option('--resource-endpoint <url>', 'Azure resource endpoint')\n .option('--deployment-name <name>', 'Azure deployment name')\n .option('--api-version <version>', 'Azure API version (e.g. 2024-08-01-preview)')\n .option('--project-id <id>', 'Google Vertex project ID')\n .option('--region <region>', 'Region (Vertex location, or AWS Bedrock region)')\n .option('--set-default', 'Set as the default provider of its kind')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers add --provider openai --name \"My OpenAI\" --api-key $OPENAI_API_KEY\n ${chalk.dim('$')} mutagent providers add --provider azure --name \"Azure GPT\" --api-key $KEY \\\\\n --hosted-family openai --resource-endpoint https://my.openai.azure.com --deployment-name gpt-5\n ${chalk.dim('$')} mutagent providers add --provider bedrock --name \"Bedrock Claude\" --api-key $KEY \\\\\n --hosted-family anthropic --region us-east-1\n ${chalk.dim('$')} mutagent providers add --provider custom --name \"Ollama\" --api-key none --base-url https://ollama.internal --json\n ${chalk.dim('$')} mutagent providers add --provider custom --name \"Claude-compatible\" --api-key $KEY \\\\\n --base-url https://llm.internal --api-format anthropic\n\nGateway providers (${[...GATEWAY_PROVIDERS].join(', ')}) serve another vendor's models and\nrequire --hosted-family. Direct providers must not set it.\n\n${apiFormatHelpText()}. An endpoint speaking the Anthropic request shape needs\n--api-format anthropic; left unset, the server's default applies. Passing it to a\nprovider that speaks its own API is an error, not a silent no-op.\n\nProviders are configured for your workspace. Set the target with:\n ${chalk.dim('$')} mutagent config set workspace <workspace-id>\n\nThe API key is encrypted server-side and never returned in plain text.\n\nAI Agent Directive:\n Run 'mutagent providers list --json' first to check whether the provider already exists.\n This command writes a credential — confirm with the user before running it.\n `)\n .action(async (options: AddOptions) => {\n const isJson = getJsonFlag(parent);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n // ── VALIDATE, before any API call (§4.5 / HR-6) ────────────────────\n const providerType = validateProviderType(options.provider);\n\n // The secret's flag is per-entry, so the check is too. Vertex takes a\n // service-account JSON; every other entry takes an API key.\n const secretWireName = SECRET_WIRE_NAME[providerType] ?? 'apiKey';\n const secret = secretWireName === 'apiKey' ? options.apiKey : options.serviceAccountKey;\n const secretFlag = secretWireName === 'apiKey' ? '--api-key' : '--service-account-key';\n\n if (!secret || secret.trim() === '') {\n throw new MutagentError(\n 'MISSING_CREDENTIAL',\n `${providerType} requires a credential and none was provided.`,\n `Provide it with ${secretFlag}`\n );\n }\n\n if (secretWireName !== 'apiKey' && options.apiKey) {\n throw new MutagentError(\n 'WRONG_CREDENTIAL_FLAG',\n `'${providerType}' does not take an API key.`,\n `Use ${secretFlag} instead of --api-key`\n );\n }\n\n const allowedFamilies = GATEWAY_HOSTED_FAMILIES[providerType];\n const isGateway = allowedFamilies !== undefined;\n\n if (options.hostedFamily) {\n if (!isGateway) {\n throw new MutagentError(\n 'HOSTED_FAMILY_NOT_APPLICABLE',\n `'${providerType}' serves its own models, so it has no hosted family.`,\n `Drop --hosted-family, or pick a gateway provider: ${[...GATEWAY_PROVIDERS].join(', ')}`\n );\n }\n // Checked against THIS gateway's families, not a global set.\n if (!allowedFamilies.includes(options.hostedFamily)) {\n throw new MutagentError(\n 'INVALID_HOSTED_FAMILY',\n `'${providerType}' does not host '${options.hostedFamily}'.`,\n `${providerType} hosts: ${allowedFamilies.join(', ')}`\n );\n }\n } else if (isGateway && allowedFamilies.length > 1) {\n // Single-family gateways (Bedrock) are derived server-side, so only a\n // gateway with a genuine choice needs the operator to make it.\n throw new MutagentError(\n 'MISSING_HOSTED_FAMILY',\n `'${providerType}' is a gateway and needs to know which model family it serves.`,\n `Add --hosted-family <${allowedFamilies.join('|')}>`\n );\n }\n\n // Both refusals — flag not applicable, and value not accepted — are raised\n // from the catalog's own descriptor, before any request is made.\n if (options.apiFormat) {\n validateApiFormat(providerType, options.apiFormat);\n }\n\n const client = await getSDKClient();\n\n // FR-CLI-002 — never write a credential into a guessed workspace.\n // Throws an actionable error naming the command that sets one.\n const workspaceId = client.requireUnambiguousWorkspace();\n\n const credentialFields = collectCredentialFields(options);\n // A non-`apiKey` secret travels inside credentialFields under its own\n // catalog wire name; the server extracts and encrypts it from there.\n if (secretWireName !== 'apiKey') credentialFields[secretWireName] = secret;\n\n const created = await client.createProvider({\n name: options.name,\n provider: providerType,\n apiKey: secretWireName === 'apiKey' ? secret : undefined,\n baseUrl: options.baseUrl,\n isDefault: options.setDefault,\n hostedFamily: options.hostedFamily,\n credentialFields,\n });\n\n if (isJson) {\n const directive = buildProviderCreatedDirective(created, workspaceId);\n echoDirectiveToStderr(directive);\n output.output({\n success: true,\n ...created,\n workspaceId,\n _links: providerLinks(created.id),\n _directive: directive,\n });\n } else {\n output.success(`Provider created: ${created.name ?? options.name}`);\n console.log(` ID: ${String(created.id)}`);\n console.log(` Type: ${providerType}`);\n if (options.hostedFamily) {\n console.log(` Serves: ${options.hostedFamily}`);\n }\n if (options.apiFormat) {\n console.log(` API format: ${options.apiFormat}`);\n }\n // Every write states where it landed, so a misconfigured default is\n // visible at the moment it matters rather than three commands later.\n console.log(` Workspace: ${workspaceId}`);\n console.log(` URL: ${providerLink(created.id)}`);\n if (options.setDefault) {\n console.log(chalk.green(' Set as default provider'));\n }\n console.log('');\n console.log(chalk.dim('API key is encrypted server-side. Use `providers get` to see masked key.'));\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n}\n\nfunction buildProviderCreatedDirective(\n provider: { id: number | string; name?: string },\n workspaceId: string,\n) {\n const title = `Provider Created — ${provider.name ?? 'Unknown'}`;\n const dashboardUrl = providerLink(provider.id);\n const apiUrl = `/api/providers/${String(provider.id)}`;\n const rows = [\n { label: 'Name', value: provider.name ?? 'Unknown' },\n { label: 'Provider ID', value: String(provider.id) },\n { label: 'Workspace', value: workspaceId },\n ];\n const links = [\n { label: 'Settings', url: dashboardUrl },\n { label: 'API', url: apiUrl },\n ];\n const next = [\n `mutagent providers test ${String(provider.id)} --json`,\n `mutagent providers list --json`,\n ];\n return {\n display: 'status_card' as const,\n template: 'provider_created',\n title,\n // BREAKING (design-principles §11): `scope` is gone from this object, and\n // has no successor — a configuration belongs to a workspace and to nothing\n // else, so `workspaceId` states WHERE it landed, not at which level.\n // Announced with a before/after shape on #1300; carries the 0.2.0 bump.\n fields: { providerId: String(provider.id), name: provider.name, workspaceId },\n links: { settings: dashboardUrl, api: apiUrl },\n next,\n instruction: 'MANDATORY: Display this card to the user before proceeding.',\n renderedCard: renderPlainCard({ title, icon: '+', rows, links, next }),\n };\n}\n\nexport { VALID_PROVIDER_TYPES };\n",
27
- "/**\n * `--api-format` — the CLI surface for the catalog's `wireFormat` credential field.\n *\n * WHY THE NAMES DIFFER. The server field is `wireFormat`; the flag is `--api-format`.\n * \"Wire format\" is internal jargon, so the operator-facing name is the one that reads\n * as a question an operator can answer: which API does this endpoint speak? The two\n * names are joined in exactly one place `API_FORMAT_WIRE_NAME` below — so the flag\n * can be renamed without hunting for string literals, and the server contract is not\n * renamed at all.\n *\n * NOTHING HERE RESTATES THE CATALOG (DC-2 / KL-8). Not the accepted values, and not\n * which entries accept the flag:\n *\n * - the accepted values ARE the descriptor's `one-of` values\n * - an entry accepts the flag IFF it declares a `wireFormat` credential field\n *\n * Both are read from the catalog at call time. A hardcoded `['openai', 'anthropic']`\n * or a `providerType === 'custom'` test is the defect this module exists to prevent:\n * the catalog would move and the CLI would keep enforcing the old answer, which is how\n * `custom` came to accept `anthropic` on the server while remaining unreachable from\n * the CLI in the first place. If a twelfth entry declares a `wireFormat` field, or if\n * `custom` learns a third format, this module reports it with no edit.\n *\n * VALIDATION IS LOCAL AND FIRST (§4.5 / HR-6). The catalog \"declares what a field must\n * satisfy; it does not itself run validation\". This is the CLI half of that, front-\n * running the server so a typo costs no round trip. The server re-validates regardless.\n */\n\nimport { MutagentError } from './errors.js';\nimport {\n PROVIDER_CATALOG,\n getCredentialField,\n getProviderCatalogEntry,\n} from './provider-catalog.js';\nimport type { ProviderCatalogEntry } from './provider-catalog.js';\n\n/**\n * The catalog wire name that `--api-format` maps onto.\n *\n * The single point where the CLI's name for this concept meets the server's.\n */\nexport const API_FORMAT_WIRE_NAME = 'wireFormat';\n\n/**\n * The values an entry accepts for `--api-format`, or `undefined` when the entry\n * declares no such field.\n *\n * Returns the descriptor's own `one-of` values. A `wireFormat` field declared under\n * some other rule is reported as \"accepted but not enumerable\" — see\n * `providerAcceptsApiFormat` — rather than silently treated as absent, because\n * absent and unenumerable call for opposite behaviour: one must reject the flag,\n * the other must let it through for the server to judge.\n */\nexport function apiFormatValuesFor(providerType: string): readonly string[] | undefined {\n const entry = getProviderCatalogEntry(providerType);\n if (!entry) return undefined;\n\n const field = getCredentialField(entry, API_FORMAT_WIRE_NAME);\n if (!field) return undefined;\n\n return field.validation.rule === 'one-of' ? field.validation.values : undefined;\n}\n\n/**\n * Whether an entry takes `--api-format` at all.\n *\n * Declaring the field is the whole test. This is deliberately NOT\n * `providerType === 'custom'`.\n */\nexport function providerAcceptsApiFormat(providerType: string): boolean {\n const entry = getProviderCatalogEntry(providerType);\n return entry !== undefined && entryAcceptsApiFormat(entry);\n}\n\n/**\n * The predicate itself, over an entry rather than an identifier.\n *\n * Split out so the derivation is TESTABLE. With `custom` the only entry declaring\n * the field today, `providerType === 'custom'` and a real field lookup are\n * behaviourally identical against the live catalog — mutation-tested, and the name\n * test survived. Taking an entry lets a test hand in a synthetic one that declares\n * `wireFormat` under another name, where the two implementations finally disagree.\n */\nexport function entryAcceptsApiFormat(entry: ProviderCatalogEntry): boolean {\n return getCredentialField(entry, API_FORMAT_WIRE_NAME) !== undefined;\n}\n\n/**\n * Every catalog entry that declares a `wireFormat` field, in catalog order.\n *\n * `catalog` is a parameter, defaulting to the real one, for the reason above: a\n * hardcoded `['custom']` cannot be distinguished from a real filter unless a test\n * can vary the input.\n */\nexport function providersAcceptingApiFormat(\n catalog: readonly ProviderCatalogEntry[] = PROVIDER_CATALOG\n): readonly string[] {\n return catalog.filter(entryAcceptsApiFormat).map((entry) => entry.id);\n}\n\n/**\n * The `--api-format` help line, derived so `--help` cannot drift from the catalog.\n *\n * HR-15 wants real values in help text. Naming both the accepting entries and their\n * values means `providers add --help` answers \"can I use this, and with what?\" without\n * a round trip.\n */\nexport function apiFormatHelpText(): string {\n const accepting = providersAcceptingApiFormat();\n if (accepting.length === 0) {\n return 'API format spoken by the endpoint (no catalog entry currently declares one)';\n }\n\n const values = [...new Set(accepting.flatMap((id) => apiFormatValuesFor(id) ?? []))];\n const scope = `${accepting.join(', ')} only`;\n\n return values.length > 0\n ? `API format the endpoint speaks — ${scope}: ${values.join(', ')}`\n : `API format the endpoint speaks — ${scope}`;\n}\n\n/**\n * Reject `--api-format` before any API call, per §4.5 / HR-6.\n *\n * Two distinct refusals, because they need different fixes:\n *\n * 1. the entry declares no such field — the flag does not apply at all\n * 2. the entry declares it, but not with this value\n *\n * Passing the flag to an entry that does not take it is an ERROR rather than a silent\n * drop. Silently ignoring it is the defect class this work exists to close: the\n * operator believes they configured an Anthropic-shaped endpoint, the request goes out\n * OpenAI-shaped, and the failure surfaces later as an unrelated-looking provider error.\n */\nexport function validateApiFormat(providerType: string, value: string): void {\n if (!providerAcceptsApiFormat(providerType)) {\n const accepting = providersAcceptingApiFormat();\n throw new MutagentError(\n 'API_FORMAT_NOT_APPLICABLE',\n accepting.length > 0\n ? `--api-format applies only to ${accepting.join(', ')}. '${providerType}' speaks its own API.`\n : `--api-format applies to no provider in the catalog. '${providerType}' speaks its own API.`,\n accepting.length > 0\n ? `Remove --api-format, or use --provider ${accepting.join(' | ')}`\n : 'Remove --api-format'\n );\n }\n\n const values = apiFormatValuesFor(providerType);\n // No enumerable set means the catalog declares the field under a rule this CLI\n // cannot check. Defer to the server rather than invent a constraint.\n if (!values) return;\n\n if (!values.includes(value)) {\n throw new MutagentError(\n 'INVALID_API_FORMAT',\n `'${value}' is not an API format that '${providerType}' speaks.`,\n `${providerType} accepts: ${values.join(', ')}`\n );\n }\n}\n",
28
- "/**\n * Provider Catalog — the single authoritative definition of the provider entries\n * this product offers, and of everything each entry needs to be configured.\n *\n * DC-2: the catalog is server-owned. The dashboard, the CLI and the documentation\n * derive their entry lists, their credential forms and their model offerings from\n * this module; none of them restates the catalog (KL-8).\n *\n * Implements:\n * - FR-CORE-004: the eleven catalog entries, gateways carrying their hosted families\n * - FR-CORE-006: per-entry credential field sets\n * - FR-CORE-007: AWS Bedrock takes a bearer API key only — so every entry has exactly one secret\n * - FR-CORE-008: per-entry model allow-list policy\n *\n * This module is data plus lookups. It declares what a field must satisfy; it does\n * not itself run validation — enforcement lives in the configuration validator.\n */\n\n// ============================================================================\n// Identifiers\n// ============================================================================\n\n/**\n * The catalog entries, in the order they are presented as tiles (FR-CORE-004).\n */\nexport const PROVIDER_CATALOG_IDS = [\n 'openai',\n 'anthropic',\n 'google',\n 'moonshot',\n 'glm',\n 'deepseek',\n 'xai',\n 'azure',\n 'vertex',\n 'bedrock',\n 'custom',\n] as const;\n\nexport type ProviderCatalogId = (typeof PROVIDER_CATALOG_IDS)[number];\n\n/**\n * A direct entry talks to the vendor that trained the model. A gateway entry\n * hosts one or more model families that belong to somebody else.\n */\nexport type ProviderKind = 'direct' | 'gateway';\n\n/**\n * The model families a gateway can host. Each maps to the direct entry whose\n * allow-list it derives from — see HOSTED_FAMILY_SOURCE_ENTRY.\n */\nexport type HostedFamily = 'openai' | 'anthropic' | 'gemini';\n\n/**\n * Which direct catalog entry owns each hosted family's model allow-list.\n * A gateway's derived policy resolves through this map, so a gateway can never\n * offer a model the direct entry does not allow (FR-CORE-008).\n */\nexport const HOSTED_FAMILY_SOURCE_ENTRY: Readonly<Record<HostedFamily, ProviderCatalogId>> = {\n openai: 'openai',\n anthropic: 'anthropic',\n gemini: 'google',\n};\n\n// ============================================================================\n// Credential field descriptors (FR-CORE-006)\n// ============================================================================\n\n/**\n * How the surface must treat the value on the way in.\n *\n * `secret` — write-only: masked on input, never echoed back, encrypted at rest.\n * `plain` — an ordinary configuration value, safe to display.\n * `model-allow-list` — the same wire shape as `plain` + `string-list` (a\n * comma/newline-separated string), but the surface renders it as\n * a togglable model list instead of free text when the catalog\n * can offer known candidates for the entry (see `knownModelIdsFor`).\n * Declared distinctly from `plain` so the form renderer's branch\n * is driven by catalog data rather than a field-name string match.\n */\nexport type CredentialInputTreatment = 'secret' | 'plain' | 'model-allow-list';\n\n/**\n * What a submitted value must satisfy. Declared here, enforced by the caller.\n *\n * On the `pattern` rule, `examples` and `counterExamples` are NOT documentation\n * garnish — they are the pattern's test fixtures, carried next to it so a test\n * can execute them (see catalog.test.ts, \"every pattern accepts its own\n * examples\"). This shape exists because the Vertex `region` pattern once\n * rejected 27 of 40 real Vertex locations INCLUDING the one named in its own\n * `hint` prose. Prose examples cannot be executed, so nothing caught it. Keep\n * concrete values here, and keep `hint` describing the SHAPE rather than\n * listing instances — a hint that names values is a hint that can drift.\n */\nexport type CredentialFieldValidation =\n | { readonly rule: 'non-empty-string'; readonly minLength: number }\n | { readonly rule: 'https-url' }\n | {\n readonly rule: 'pattern';\n readonly pattern: string;\n readonly hint: string;\n /** Values the pattern MUST accept. Asserted by the catalog tests. */\n readonly examples: readonly string[];\n /** Values the pattern MUST reject. Asserted by the catalog tests. */\n readonly counterExamples: readonly string[];\n }\n | { readonly rule: 'one-of'; readonly values: readonly string[] }\n | { readonly rule: 'string-list' }\n | { readonly rule: 'json-object' };\n\nexport interface CredentialFieldDescriptor {\n /** Wire name — the key the API, the CLI flag and the form control all use. */\n readonly name: string;\n /** Human-readable label for the form control and the documentation table. */\n readonly label: string;\n /** Whether a configuration is rejected without this field. */\n readonly required: boolean;\n readonly treatment: CredentialInputTreatment;\n readonly validation: CredentialFieldValidation;\n /** One sentence explaining what the operator should put here. */\n readonly description: string;\n}\n\n// ============================================================================\n// Model allow-list policy (FR-CORE-008)\n// ============================================================================\n\n/**\n * How a gateway addresses one hosted family's models on the wire.\n *\n * `plain` — the model's own identifier, unmodified.\n * `dated` — the identifier suffixed `@YYYYMMDD`.\n * `inference-profile`— a region-prefixed cross-region inference profile ID.\n * `deployment-name` — an operator-chosen deployment label, NOT a model ID.\n */\nexport type ModelAddressingScheme = 'plain' | 'dated' | 'inference-profile' | 'deployment-name';\n\n/**\n * One family's addressing under one gateway.\n *\n * `pattern`/`examples`/`counterExamples` mirror the credential `pattern` rule\n * on purpose: they make the scheme EXECUTABLE. The scheme name alone is prose,\n * and prose is what let a gateway claim `dated` for a family that is not dated.\n * The catalog tests run every example and counter-example against `pattern`.\n */\nexport interface FamilyAddressing {\n readonly scheme: ModelAddressingScheme;\n /** Regex an addressed identifier must satisfy under this scheme. */\n readonly pattern: string;\n /** Identifiers this scheme MUST accept. Asserted by the catalog tests. */\n readonly examples: readonly string[];\n /** Identifiers this scheme MUST reject. Asserted by the catalog tests. */\n readonly counterExamples: readonly string[];\n}\n\n/**\n * How an entry decides which models it offers.\n *\n * ── What a policy is evaluated AGAINST ──────────────────────────────────────\n *\n * A policy is an admission rule applied to the models the configured provider\n * actually publishes at request time. It is NOT a bundled roster to be served\n * as-is, and it is NOT a filter to be applied over a static in-repo list.\n *\n * This distinction is the whole point. `model-registry.ts` still ships a static\n * MODEL_REGISTRY whose entries have almost entirely aged out — of its 27 IDs,\n * roughly one survives these policies. Anything that serves the intersection of\n * that registry with these policies ships a near-empty model list while passing\n * its own tests. The registry is being retired, not filtered; do not reach for\n * it here or downstream.\n *\n * ── The modes ───────────────────────────────────────────────────────────────\n *\n * `explicit` — admission is by identifier, and the set is CLOSED. `models` is\n * the whole of it. There is no floor on this variant.\n * `floor` — admission is by version: whatever the vendor publishes, at or\n * above `floor`. `knownMembers` is an ADVISORY snapshot of what\n * satisfied the floor when this was written; it is not the\n * allow-list and must never be served as one. A model published\n * later that clears the floor is admitted without editing this\n * file.\n * `derived` — a gateway admits its hosted families' rosters, resolved through\n * HOSTED_FAMILY_SOURCE_ENTRY and re-addressed PER FAMILY. A gateway\n * never widens what its source entry allows.\n * `open` — whatever the configured endpoint publishes, unfiltered.\n *\n * ── Floor parse-and-compare contract ────────────────────────────────────────\n *\n * SCOPE: dotted-numeric floors ONLY. All three floor-mode entries today are\n * dotted numerics — OpenAI `5.5`, Gemini `3.1`, xAI `4.5`. A provider whose\n * versions are not dotted numerics CANNOT be floor-mode until a comparator for\n * its scheme is written. This contract does not generalise, and pretending it\n * does is how the wrong comparator gets applied to the wrong vendor.\n *\n * PARSE: `floor` matches /^\\d+\\.\\d+$/ — MAJOR.MINOR. To extract a candidate's\n * version, take the first dotted-numeric run in its identifier:\n * `gpt-5.6-sol` → `5.6`, `gemini-3.1-pro` → `3.1`, `grok-4.5` → `4.5`.\n * An identifier with no dotted-numeric run is NOT comparable and is refused,\n * not silently admitted.\n *\n * COMPARE: numerically, component by component — MAJOR first, then MINOR.\n * Admit when candidate >= floor. It MUST NOT be a string comparison: `'5.10'\n * < '5.9'` lexicographically but 5.10 > 5.9 numerically, so a string compare\n * silently drops a whole minor series the moment a vendor reaches double\n * digits.\n *\n * WHY ANTHROPIC IS NOT FLOOR-MODE: Anthropic encodes the decimal point as a\n * HYPHEN — `claude-opus-4-8` means 4.8 — which is indistinguishable from the\n * hyphen that separates name parts, so `4-8` cannot be parsed by the rule\n * above without a vendor-specific comparator. `claude-opus-5` has no numeric\n * pair at all. Anthropic is therefore `explicit`, and Bedrock/Vertex derive\n * from it rather than flooring it.\n *\n * NO EVALUATOR LIVES HERE. This contract is what T-2.1/T-3.5 must implement;\n * this module declares, it does not evaluate.\n *\n * ── Why these are separate variants ─────────────────────────────────────────\n *\n * `explicit` carried an OPTIONAL `floor` in an earlier revision, which made\n * `if (p.mode === 'explicit') return p.models` compile, pass an exhaustive\n * `never` check, and silently ignore the floor — \"the floor governs\" existed\n * only in this comment. Splitting the variants makes that unrepresentable:\n * `explicit` has no floor to ignore, and `floor` has no `models` to return.\n */\nexport type ModelAllowListPolicy = { readonly summary: string } & (\n | { readonly mode: 'explicit'; readonly models: readonly string[] }\n | { readonly mode: 'floor'; readonly floor: string; readonly knownMembers?: readonly string[] }\n | {\n readonly mode: 'derived';\n readonly from: readonly HostedFamily[];\n /**\n * Addressing is PER HOSTED FAMILY, never one value for the gateway.\n *\n * This was a scalar in an earlier revision, and Vertex carried\n * `'dated'` across BOTH of its families. Anthropic-on-Vertex is indeed\n * `@`-dated; Gemini-on-Vertex is not — so the scalar produced\n * `gemini-3.1-pro@<date>`, which 404s. That is the same defect class as\n * a single regex asserted over a set whose members disagree: one value\n * claimed over a heterogeneous set.\n *\n * Every family listed in `from` MUST have an entry here, and no entry\n * may exist for a family not in `from`. Both are asserted by the tests.\n */\n readonly addressing: Readonly<Partial<Record<HostedFamily, FamilyAddressing>>>;\n }\n | { readonly mode: 'open' }\n);\n\n// ============================================================================\n// Entry\n// ============================================================================\n\nexport interface ProviderCatalogEntry {\n readonly id: ProviderCatalogId;\n /** Tile label, as it appears in the dashboard and the documentation. */\n readonly label: string;\n readonly kind: ProviderKind;\n /**\n * Present on gateway entries only, and never empty there. Selecting a gateway\n * tile opens a sub-choice over these families before the credential form.\n */\n readonly hostedFamilies?: readonly HostedFamily[];\n readonly credentialFields: readonly CredentialFieldDescriptor[];\n readonly modelPolicy: ModelAllowListPolicy;\n readonly description: string;\n}\n\n// ============================================================================\n// Shared field descriptors\n// ============================================================================\n\nconst apiKeyField = (description: string): CredentialFieldDescriptor => ({\n name: 'apiKey',\n label: 'API key',\n required: true,\n treatment: 'secret',\n validation: { rule: 'non-empty-string', minLength: 8 },\n description,\n});\n\nconst baseUrlOverrideField: CredentialFieldDescriptor = {\n name: 'baseUrl',\n label: 'Base URL override',\n required: false,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'Route requests through a proxy or a regional endpoint instead of the default one.',\n};\n\nconst modelAllowListField: CredentialFieldDescriptor = {\n name: 'modelAllowList',\n label: 'Model allow-list',\n required: false,\n treatment: 'model-allow-list',\n validation: { rule: 'string-list' },\n description:\n 'Narrow the models this configuration offers. Entries outside the provider policy are ignored.',\n};\n\n/** The credential set every direct first-party entry shares (FR-CORE-006, row 1). */\nconst directApiKeyFields = (keyDescription: string): readonly CredentialFieldDescriptor[] => [\n apiKeyField(keyDescription),\n baseUrlOverrideField,\n modelAllowListField,\n];\n\n/** Azure's credential set is identical for both hosted families (FR-CORE-006). */\nconst azureFields: readonly CredentialFieldDescriptor[] = [\n {\n name: 'resourceEndpoint',\n label: 'Resource endpoint',\n required: true,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'The Azure resource endpoint, e.g. https://my-resource.openai.azure.com.',\n },\n apiKeyField('The key issued for the Azure resource.'),\n {\n name: 'deploymentName',\n label: 'Deployment name',\n required: true,\n treatment: 'plain',\n validation: { rule: 'non-empty-string', minLength: 1 },\n description: 'Azure addresses a model by the name given to its deployment, not by model id.',\n },\n {\n name: 'apiVersion',\n label: 'API version',\n required: false,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}(-preview)?$',\n hint: 'An ISO date, optionally suffixed -preview.',\n examples: ['2024-08-01-preview', '2023-06-01', '2025-01-01'],\n counterExamples: ['2024-8-1', '24-08-01', '2024-08-01-beta', 'latest'],\n },\n description: 'Pin the Azure API version. Defaults to the current stable version when omitted.',\n },\n];\n\n/** Google Vertex's credential set is identical for both hosted families (FR-CORE-006). */\nconst vertexFields: readonly CredentialFieldDescriptor[] = [\n {\n name: 'projectId',\n label: 'Project ID',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',\n hint: 'A Google Cloud project ID: 6 to 30 lowercase characters, starting with a letter.',\n examples: ['my-project-123', 'abcdef', 'my-gcp-project'],\n counterExamples: ['ab', 'My-Project', '1project', 'my_project'],\n },\n description: 'The Google Cloud project that holds the Vertex AI entitlement.',\n },\n {\n name: 'region',\n label: 'Region',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n // The continent prefix is enumerated rather than matched as `[a-z]{2}`.\n // That earlier form required exactly two letters before the hyphen, so it\n // rejected every multi-letter prefix — europe-*, asia-*, australia-*,\n // northamerica-*, southamerica-*, africa-* — which is 27 of the 40 real\n // Vertex locations, i.e. every European and Asian deployment, while still\n // admitting nonsense like `zz-qqqqqq9`. Enumerating the prefixes rejects\n // the nonsense and accepts all 40. GCP adding a continent means adding a\n // word here; the counterExamples below pin the nonsense out.\n pattern:\n '^(global|(?:us|europe|asia|australia|northamerica|southamerica|africa|me)-[a-z]+\\\\d+)$',\n hint: 'A Vertex location: a continent prefix, a direction and an index — or `global`.',\n examples: [\n 'us-central1',\n 'europe-west4',\n 'europe-west12',\n 'asia-northeast1',\n 'northamerica-northeast1',\n 'southamerica-east1',\n 'australia-southeast1',\n 'africa-south1',\n 'me-central2',\n 'global',\n ],\n counterExamples: ['zz-qqqqqq9', 'us-central', 'US-CENTRAL1', 'us_central1', '1-west1'],\n },\n description: 'The Vertex location the models are served from.',\n },\n {\n name: 'serviceAccountKey',\n label: 'Service-account credential',\n required: true,\n treatment: 'secret',\n validation: { rule: 'json-object' },\n description: 'The service-account key JSON granting Vertex AI access to the project.',\n },\n modelAllowListField,\n];\n\n// ============================================================================\n// The catalog (FR-CORE-004)\n// ============================================================================\n\nexport const PROVIDER_CATALOG: readonly ProviderCatalogEntry[] = [\n {\n id: 'openai',\n label: 'OpenAI',\n kind: 'direct',\n credentialFields: directApiKeyFields('An OpenAI API key, issued from the OpenAI platform.'),\n modelPolicy: {\n mode: 'floor',\n floor: '5.5',\n knownMembers: ['gpt-5.6-sol', 'gpt-5.6-terra', 'gpt-5.6-luna', 'gpt-5.5'],\n summary:\n 'GPT models at or above 5.5. FR-CORE-008 states the floor and then enumerates the members current at writing; the floor is the rule, the enumeration is the snapshot.',\n },\n description: 'GPT models served directly by OpenAI.',\n },\n {\n id: 'anthropic',\n label: 'Anthropic',\n kind: 'direct',\n credentialFields: directApiKeyFields(\n 'An Anthropic API key, issued from the Anthropic console.'\n ),\n modelPolicy: {\n mode: 'explicit',\n models: [\n 'claude-opus-5',\n 'claude-sonnet-5',\n 'claude-fable-5',\n 'claude-opus-4-8',\n 'claude-haiku-4-5',\n ],\n summary: 'The Claude 5 family, plus Opus 4.8 and Haiku 4.5.',\n },\n description: 'Claude models served directly by Anthropic.',\n },\n {\n id: 'google',\n label: 'Google Gemini',\n kind: 'direct',\n credentialFields: directApiKeyFields('A Google AI Studio API key.'),\n modelPolicy: {\n mode: 'floor',\n floor: '3.1',\n summary: 'Gemini 3.1 Pro and above. The floor is 3.1; nothing older is offered.',\n },\n description: 'Gemini models served directly by Google AI Studio.',\n },\n {\n id: 'moonshot',\n label: 'Moonshot AI',\n kind: 'direct',\n credentialFields: directApiKeyFields('A Moonshot AI platform API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['kimi-k3'],\n summary:\n 'Kimi K3, the 1M-context model. The 256K models are all K2-generation and are not offered.',\n },\n description: 'Kimi models served directly by Moonshot AI.',\n },\n {\n id: 'glm',\n label: 'z.ai (GLM)',\n kind: 'direct',\n credentialFields: directApiKeyFields('A z.ai API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['glm-5.2'],\n summary: 'GLM-5.2.',\n },\n description: 'GLM models served directly by z.ai.',\n },\n {\n id: 'deepseek',\n label: 'DeepSeek',\n kind: 'direct',\n credentialFields: directApiKeyFields('A DeepSeek platform API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['deepseek-v4-flash', 'deepseek-v4-pro'],\n summary: 'The DeepSeek V4 pair — Flash and Pro.',\n },\n description: 'DeepSeek models served directly by DeepSeek.',\n },\n {\n id: 'xai',\n label: 'xAI',\n kind: 'direct',\n credentialFields: directApiKeyFields('An xAI API key.'),\n modelPolicy: {\n mode: 'floor',\n floor: '4.5',\n summary: 'Grok 4.5 and above. The floor is 4.5; nothing older is offered.',\n },\n description: 'Grok models served directly by xAI.',\n },\n {\n id: 'azure',\n label: 'Azure',\n kind: 'gateway',\n hostedFamilies: ['openai', 'anthropic'],\n credentialFields: azureFields,\n modelPolicy: {\n mode: 'derived',\n from: ['openai', 'anthropic'],\n // Azure is the one gateway whose two families genuinely share a scheme —\n // both are reached by deployment name. Stated per family anyway, so the\n // shape cannot quietly become a scalar again.\n addressing: {\n openai: {\n scheme: 'deployment-name',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$',\n examples: ['my-gpt-5-6-deployment', 'prod_gpt', 'gpt56sol'],\n // A raw model id is the classic Azure mistake: dots are not legal in\n // a deployment name, so passing `gpt-5.6-sol` straight through fails.\n counterExamples: ['gpt-5.6-sol', 'claude-opus-5@20260115', 'has space', ''],\n },\n anthropic: {\n scheme: 'deployment-name',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$',\n examples: ['my-claude-deployment', 'prod_claude'],\n counterExamples: ['claude-opus-5@20260115', 'gpt-5.6-sol', 'has space', ''],\n },\n },\n summary:\n 'The OpenAI and Anthropic rosters, each model addressed by the name of its Azure deployment.',\n },\n description:\n 'Azure AI Foundry, hosting OpenAI and Anthropic models. One configuration per hosted family.',\n },\n {\n id: 'vertex',\n label: 'Google Vertex',\n kind: 'gateway',\n hostedFamilies: ['gemini', 'anthropic'],\n credentialFields: vertexFields,\n modelPolicy: {\n mode: 'derived',\n from: ['gemini', 'anthropic'],\n // THE TWO FAMILIES DISAGREE, which is why this is not one value.\n // Anthropic-on-Vertex is @-dated; Gemini-on-Vertex is not. A single\n // 'dated' across both produced `gemini-3.1-pro@<date>` → 404.\n addressing: {\n gemini: {\n scheme: 'plain',\n // No `@` anywhere: Gemini on Vertex is addressed by its own id.\n pattern: '^(?!.*@)[a-zA-Z0-9][a-zA-Z0-9.\\\\-]*$',\n examples: ['gemini-3.1-pro', 'gemini-3.1-flash', 'gemini-3.1-pro-preview'],\n counterExamples: [\n // The exact string the scalar 'dated' would have produced.\n 'gemini-3.1-pro@20260115',\n 'us.anthropic.claude-opus-5-v1:0',\n 'has space',\n '',\n ],\n },\n anthropic: {\n scheme: 'dated',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9.\\\\-]*@\\\\d{8}$',\n examples: ['claude-opus-5@20260115', 'claude-sonnet-5@20251022'],\n counterExamples: [\n 'claude-opus-5',\n 'claude-opus-5@',\n 'claude-opus-5@2026',\n 'gemini-3.1-pro',\n ],\n },\n },\n summary:\n 'The Gemini and Anthropic rosters. Anthropic models are @-dated on Vertex; Gemini models are not.',\n },\n description:\n 'Google Vertex AI, hosting Gemini and Anthropic models. One configuration per hosted family.',\n },\n {\n id: 'bedrock',\n label: 'AWS Bedrock',\n kind: 'gateway',\n hostedFamilies: ['anthropic'],\n credentialFields: [\n {\n name: 'region',\n label: 'Region',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n // AWS genuinely does use two-letter geography codes (us, eu, ap, sa,\n // ca, me, af, il, mx), so `[a-z]{2}` is correct here — unlike Vertex,\n // whose prefixes are full words. The examples pin that difference.\n pattern: '^[a-z]{2}(-gov)?-[a-z]+-\\\\d+$',\n hint: 'An AWS region: a two-letter geography, a direction and an index.',\n examples: [\n 'us-east-1',\n 'eu-central-1',\n 'ap-southeast-1',\n 'sa-east-1',\n 'me-south-1',\n 'af-south-1',\n 'il-central-1',\n 'mx-central-1',\n 'us-gov-west-1',\n ],\n counterExamples: ['us-east', 'US-EAST-1', 'useast1', 'europe-west4'],\n },\n description: 'The AWS region the Bedrock models are invoked in.',\n },\n {\n name: 'apiKey',\n label: 'Bearer API key',\n required: true,\n treatment: 'secret',\n // FR-CORE-007 / D-5: a long-lived access-key pair arrives as \"AKIA…\" or as\n // \"ACCESS_KEY_ID:SECRET\". Both shapes are refused here, at the catalog, so\n // every surface rejects them identically.\n validation: {\n rule: 'pattern',\n pattern: '^(?!AKIA)[^\\\\s:]+$',\n hint: 'A single opaque bearer token. Long-lived AWS access key and secret pairs are not accepted.',\n examples: ['bedrock-api-key-abc123', 'ABSKQmVkcm9ja0FQSUtleQ=='],\n counterExamples: [\n 'AKIAIOSFODNN7EXAMPLE',\n 'AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG',\n 'someid:somesecret',\n 'has space',\n ],\n },\n description:\n 'A Bedrock bearer API key. This is the only credential type Bedrock accepts here.',\n },\n {\n name: 'inferenceProfile',\n label: 'Inference profile',\n required: false,\n treatment: 'plain',\n validation: { rule: 'non-empty-string', minLength: 1 },\n description:\n 'Pin a cross-region inference profile. Defaults to the profile for the configured region.',\n },\n ],\n modelPolicy: {\n mode: 'derived',\n from: ['anthropic'],\n addressing: {\n anthropic: {\n scheme: 'inference-profile',\n // The leading region prefix is what makes it a cross-region profile\n // rather than a bare model id; without it Bedrock rejects the call.\n pattern: '^(us|eu|apac)\\\\.[a-z0-9-]+\\\\.[a-zA-Z0-9.\\\\-]+(:\\\\d+)?$',\n examples: [\n 'us.anthropic.claude-opus-5-v1:0',\n 'eu.anthropic.claude-sonnet-5-v1:0',\n 'apac.anthropic.claude-haiku-4-5-v1:0',\n ],\n counterExamples: [\n 'anthropic.claude-opus-5-v1:0',\n 'claude-opus-5',\n 'claude-opus-5@20260115',\n ],\n },\n },\n summary: 'The Anthropic roster, addressed as region-prefixed inference-profile IDs.',\n },\n description: 'AWS Bedrock, hosting Anthropic models. Bearer API key only.',\n },\n {\n id: 'custom',\n /**\n * THE LABEL NAMES BOTH WIRE FORMATS BECAUSE THE ENTRY SERVES BOTH.\n *\n * This read `Custom (OpenAI-compatible)` while `wireFormat` below has always\n * accepted `'anthropic'`. The label, the entry description and the `baseUrl`\n * help text all said OpenAI, so three strings contradicted the field sitting\n * between them, and a user looking for an Anthropic-compatible endpoint\n * concluded the product did not support one and stopped.\n *\n * NOT SPLIT INTO TWO CATALOG ENTRIES. `PROVIDER_TYPES` in\n * `schema/postgres/tenancy/provider-configs.ts` is assigned\n * `PROVIDER_CATALOG_IDS` verbatim, and `model.ts:26` builds the API's\n * `provider` enum from the same array — so a twelfth entry is a storage enum\n * change plus an API schema change plus a regeneration of both SDK\n * `openapi.json` files. The complaint is that the capability is invisible,\n * not that it is missing; naming it costs none of that.\n */\n label: 'Custom (OpenAI or Anthropic compatible)',\n kind: 'direct',\n credentialFields: [\n {\n name: 'baseUrl',\n label: 'Base URL',\n required: true,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'The endpoint serving the API. Pick its wire format below.',\n },\n apiKeyField('The key the endpoint expects, sent as a bearer token.'),\n {\n name: 'wireFormat',\n label: 'Wire format',\n required: false,\n treatment: 'plain',\n validation: { rule: 'one-of', values: ['openai', 'anthropic'] },\n description:\n \"Whether the endpoint speaks the OpenAI or the Anthropic request shape. Defaults to OpenAI when left unset — an endpoint that expects Anthropic's shape needs this set to 'anthropic'.\",\n },\n modelAllowListField,\n ],\n modelPolicy: {\n mode: 'open',\n summary: 'Whatever the configured endpoint publishes.',\n },\n description:\n 'Any endpoint speaking an OpenAI-compatible or Anthropic-compatible API — self-hosted or third-party.',\n },\n];\n\n// ============================================================================\n// Lookups\n// ============================================================================\n\nconst CATALOG_BY_ID: ReadonlyMap<string, ProviderCatalogEntry> = new Map(\n PROVIDER_CATALOG.map((entry) => [entry.id, entry])\n);\n\n/**\n * Narrow an arbitrary string to a catalog identifier.\n */\nexport function isProviderCatalogId(value: string): value is ProviderCatalogId {\n return CATALOG_BY_ID.has(value);\n}\n\n/**\n * Look an entry up by identifier. Returns undefined for anything not in the catalog.\n */\nexport function getProviderCatalogEntry(id: string): ProviderCatalogEntry | undefined {\n return CATALOG_BY_ID.get(id);\n}\n\n/**\n * Look a single credential field up by its wire name.\n */\nexport function getCredentialField(\n entry: ProviderCatalogEntry,\n name: string\n): CredentialFieldDescriptor | undefined {\n return entry.credentialFields.find((field) => field.name === name);\n}\n\n/**\n * The one secret an entry carries. Every entry has exactly one (FR-CORE-007),\n * which is what lets a configuration hold a single encrypted credential.\n */\nexport function getSecretCredentialField(entry: ProviderCatalogEntry): CredentialFieldDescriptor {\n const secrets = entry.credentialFields.filter((field) => field.treatment === 'secret');\n if (secrets.length !== 1) {\n throw new Error(\n `Catalog entry '${entry.id}' declares ${secrets.length} secret fields; exactly one is required.`\n );\n }\n return secrets[0]!;\n}\n\n/**\n * The model ids the catalog can offer as toggle candidates for `modelAllowList`,\n * WITHOUT a live call to the provider — there is no configuration id to call\n * `GET /providers/:id/models` with until a configuration exists, and the model\n * allow-list field renders during BOTH create and edit.\n *\n * Deliberately partial, not a live discovery substitute:\n * - `explicit` — the closed set IS the whole answer. Returned as-is.\n * - `floor` — `knownMembers` is an ADVISORY snapshot (see `ModelAllowListPolicy`\n * doc), not the allow-list. Returned when present; `[]` when the entry\n * declares none (e.g. Google, xAI), which the caller must render as \"no\n * known candidates\" rather than as \"this provider has no models\".\n * - `derived` — empty. Producing a gateway's roster requires resolving through\n * `HOSTED_FAMILY_SOURCE_ENTRY` and re-addressing PER FAMILY\n * (`FamilyAddressing`), which is server-side evaluation logic this\n * module deliberately does not perform (see the \"NO EVALUATOR LIVES\n * HERE\" note on `ModelAllowListPolicy`). A gateway's `modelAllowList`\n * field falls back to free text.\n * - `open` — empty by construction: an open policy admits whatever the endpoint\n * publishes, so the catalog has no roster to offer at all.\n */\nexport function knownModelIdsFor(entry: ProviderCatalogEntry): readonly string[] {\n const policy = entry.modelPolicy;\n switch (policy.mode) {\n case 'explicit':\n return policy.models;\n case 'floor':\n return policy.knownMembers ?? [];\n case 'derived':\n case 'open':\n return [];\n default: {\n const never: never = policy;\n return never;\n }\n }\n}\n\n/**\n * Resolve which hosted family a gateway configuration targets.\n *\n * A multi-family gateway with no stated family is REFUSED rather than defaulted.\n * Defaulting is a false green of the worst kind: an Azure configuration meant for\n * Anthropic, with no family stated, would be treated as Azure OpenAI — against a\n * real endpoint, with a real key, succeeding — and would then serve the wrong\n * vendor's models. Unlike a wrong endpoint, which fails loudly, this one succeeds\n * wrongly.\n *\n * A single-family gateway (Bedrock) is unambiguous, so it resolves without one,\n * and a direct entry has no family to resolve at all. The rule is therefore\n * ARITY, never a list of entry ids: an entry that gains a second hosted family\n * starts requiring an explicit choice with no code change here or in any caller.\n *\n * Hoisted from `connection-test.ts` (T-2.3), which declared it privately. Both\n * the pre-persistence probe and the write-boundary validator (T-2.1) need the\n * same answer, and a catalog fact belongs beside the catalog rather than inside\n * whichever feature module needed it first.\n */\nexport function resolveHostedFamily(\n entry: ProviderCatalogEntry,\n submitted: string | null | undefined\n): { family: HostedFamily | null } | { ambiguous: readonly HostedFamily[] } {\n const families = entry.hostedFamilies ?? [];\n if (families.length === 0) return { family: null };\n\n const match = families.find((family) => family === submitted);\n if (match) return { family: match };\n\n // A STATED family the entry does not host is refused at every arity.\n //\n // The arity check used to come first, so a single-family gateway COERCED\n // whatever was submitted to its only family: `bedrock` hosts anthropic alone,\n // so `hostedFamily: 'openai'` was silently rewritten to 'anthropic' and the\n // row was stored as if the caller had asked for it. Deriving a value nobody\n // supplied is a convenience; overwriting a value somebody DID supply with a\n // different one is a lie about what was configured — and it is invisible,\n // because the row then connects and serves successfully under the wrong\n // family.\n //\n // Derivation stays exactly where it was justified: an ABSENT value with one\n // legal choice.\n if (submitted != null && submitted !== '') return { ambiguous: families };\n\n if (families.length === 1) return { family: families[0]! };\n\n return { ambiguous: families };\n}\n",
26
+ "import type { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { MutagentError, handleError } from '../../lib/errors.js';\nimport {\n providerLinks,\n providerLink,\n renderPlainCard,\n echoDirectiveToStderr,\n} from '../../lib/ui-links.js';\nimport { validateProviderType, VALID_PROVIDER_TYPES } from './index.js';\nimport {\n API_FORMAT_WIRE_NAME,\n apiFormatHelpText,\n validateApiFormat,\n} from '../../lib/api-format.js';\n\n/**\n * Which hosted families each gateway may serve (FR-CORE-004/005).\n *\n * PER GATEWAY, not a flat set. A flat set accepted `bedrock --hosted-family\n * openai` — a combination the catalog forbids. The server did not save us:\n * `resolveHostedFamily` finds no match, falls back to the entry's single family\n * for the connection probe, and then persists the RAW submitted value, so the\n * row lands as a forbidden combination validated by a probe that tested\n * something else. Filed separately as a server defect; the CLI must not rely on\n * server rejection for a value it can check itself (§4.5 / HR-6).\n *\n * Still stated locally rather than derived: no endpoint serves the catalog\n * entries. `/providers/catalog` is the MODELS catalog. Bounded by the fact that\n * a family outside this map is refused before any request is made.\n */\nexport const GATEWAY_HOSTED_FAMILIES: Readonly<Record<string, readonly string[]>> = {\n azure: ['openai', 'anthropic'],\n vertex: ['gemini', 'anthropic'],\n bedrock: ['anthropic'],\n};\n\n/** Catalog entries that host another vendor's models (FR-CORE-004). */\nexport const GATEWAY_PROVIDERS = new Set(Object.keys(GATEWAY_HOSTED_FAMILIES));\n\n/** Every family any gateway can serve — for help text only, never validation. */\nexport const HOSTED_FAMILIES = [\n ...new Set(Object.values(GATEWAY_HOSTED_FAMILIES).flat()),\n] as const;\n\n/**\n * Entries whose single secret is NOT called `apiKey`.\n *\n * The server takes the secret either in the top-level `apiKey` slot or as the\n * correspondingly-named key inside `credentialFields`; the wire name is\n * per-entry. Google Vertex is the only entry that differs today.\n */\nconst SECRET_WIRE_NAME: Readonly<Record<string, string>> = {\n vertex: 'serviceAccountKey',\n};\n\ninterface AddOptions {\n provider: string;\n name: string;\n apiKey?: string;\n serviceAccountKey?: string;\n baseUrl?: string;\n setDefault?: boolean;\n hostedFamily?: string;\n // Non-secret per-entry credential material (FR-CORE-006).\n resourceEndpoint?: string;\n deploymentName?: string;\n apiVersion?: string;\n projectId?: string;\n region?: string;\n apiFormat?: string;\n}\n\n/**\n * Gather the non-secret per-entry fields the operator supplied.\n *\n * Deliberately a pass-through. WHICH fields a given entry requires is declared\n * by the server catalog and enforced there (FR-CORE-006 assigns that validation\n * to `mutagent`, not to this package), and no endpoint publishes those\n * descriptors yet. Encoding the rules here would create a second, drifting copy\n * of the catalog — the precise failure this task exists to remove. An incomplete\n * configuration is rejected by the connection test, with the provider's own\n * error, before anything is persisted.\n */\nfunction collectCredentialFields(options: AddOptions): Record<string, unknown> {\n const fields: Record<string, unknown> = {};\n if (options.resourceEndpoint) fields.resourceEndpoint = options.resourceEndpoint;\n if (options.deploymentName) fields.deploymentName = options.deploymentName;\n if (options.apiVersion) fields.apiVersion = options.apiVersion;\n if (options.projectId) fields.projectId = options.projectId;\n if (options.region) fields.region = options.region;\n // The one place the CLI's `--api-format` becomes the server's `apiFormat`.\n // Only sent when the operator asked for it — an absent field leaves the server's\n // own default in force, so the CLI does not restate what that default is.\n if (options.apiFormat) fields[API_FORMAT_WIRE_NAME] = options.apiFormat;\n return fields;\n}\n\nexport function registerAddCommand(parent: Command): void {\n parent\n .command('add')\n .description('Add a new provider configuration')\n .requiredOption('-p, --provider <type>', 'Provider type (openai, anthropic, azure, ...)')\n .requiredOption('-n, --name <name>', 'Display name for this provider')\n .option('-k, --api-key <key>', 'API key for the provider (every entry except Google Vertex)')\n .option('--service-account-key <json>', 'Google Vertex service-account credential JSON')\n .option('--hosted-family <family>', `Hosted model family for gateway providers: ${HOSTED_FAMILIES.join(', ')}`)\n .option('--base-url <url>', 'Custom base URL for the provider API')\n .option('--api-format <format>', apiFormatHelpText())\n .option('--resource-endpoint <url>', 'Azure resource endpoint')\n .option('--deployment-name <name>', 'Azure deployment name')\n .option('--api-version <version>', 'Azure API version (e.g. 2024-08-01-preview)')\n .option('--project-id <id>', 'Google Vertex project ID')\n .option('--region <region>', 'Region (Vertex location, or AWS Bedrock region)')\n .option('--set-default', 'Set as the default provider of its kind')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers add --provider openai --name \"My OpenAI\" --api-key $OPENAI_API_KEY\n ${chalk.dim('$')} mutagent providers add --provider azure --name \"Azure GPT\" --api-key $KEY \\\\\n --hosted-family openai --resource-endpoint https://my.openai.azure.com --deployment-name gpt-5\n ${chalk.dim('$')} mutagent providers add --provider bedrock --name \"Bedrock Claude\" --api-key $KEY \\\\\n --hosted-family anthropic --region us-east-1\n ${chalk.dim('$')} mutagent providers add --provider custom --name \"Ollama\" --api-key none --base-url https://ollama.internal --json\n ${chalk.dim('$')} mutagent providers add --provider custom --name \"Claude-compatible\" --api-key $KEY \\\\\n --base-url https://llm.internal --api-format anthropic\n\nGateway providers (${[...GATEWAY_PROVIDERS].join(', ')}) serve another vendor's models and\nrequire --hosted-family. Direct providers must not set it.\n\n${apiFormatHelpText()}. An endpoint speaking the Anthropic request shape needs\n--api-format anthropic; left unset, the server's default applies. Passing it to a\nprovider that speaks its own API is an error, not a silent no-op.\n\nProviders are configured for your workspace. Set the target with:\n ${chalk.dim('$')} mutagent config set workspace <workspace-id>\n\nThe API key is encrypted server-side and never returned in plain text.\n\nAI Agent Directive:\n Run 'mutagent providers list --json' first to check whether the provider already exists.\n This command writes a credential — confirm with the user before running it.\n `)\n .action(async (options: AddOptions) => {\n const isJson = getJsonFlag(parent);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n // ── VALIDATE, before any API call (§4.5 / HR-6) ────────────────────\n const providerType = validateProviderType(options.provider);\n\n // The secret's flag is per-entry, so the check is too. Vertex takes a\n // service-account JSON; every other entry takes an API key.\n const secretWireName = SECRET_WIRE_NAME[providerType] ?? 'apiKey';\n const secret = secretWireName === 'apiKey' ? options.apiKey : options.serviceAccountKey;\n const secretFlag = secretWireName === 'apiKey' ? '--api-key' : '--service-account-key';\n\n if (!secret || secret.trim() === '') {\n throw new MutagentError(\n 'MISSING_CREDENTIAL',\n `${providerType} requires a credential and none was provided.`,\n `Provide it with ${secretFlag}`\n );\n }\n\n if (secretWireName !== 'apiKey' && options.apiKey) {\n throw new MutagentError(\n 'WRONG_CREDENTIAL_FLAG',\n `'${providerType}' does not take an API key.`,\n `Use ${secretFlag} instead of --api-key`\n );\n }\n\n const allowedFamilies = GATEWAY_HOSTED_FAMILIES[providerType];\n const isGateway = allowedFamilies !== undefined;\n\n if (options.hostedFamily) {\n if (!isGateway) {\n throw new MutagentError(\n 'HOSTED_FAMILY_NOT_APPLICABLE',\n `'${providerType}' serves its own models, so it has no hosted family.`,\n `Drop --hosted-family, or pick a gateway provider: ${[...GATEWAY_PROVIDERS].join(', ')}`\n );\n }\n // Checked against THIS gateway's families, not a global set.\n if (!allowedFamilies.includes(options.hostedFamily)) {\n throw new MutagentError(\n 'INVALID_HOSTED_FAMILY',\n `'${providerType}' does not host '${options.hostedFamily}'.`,\n `${providerType} hosts: ${allowedFamilies.join(', ')}`\n );\n }\n } else if (isGateway && allowedFamilies.length > 1) {\n // Single-family gateways (Bedrock) are derived server-side, so only a\n // gateway with a genuine choice needs the operator to make it.\n throw new MutagentError(\n 'MISSING_HOSTED_FAMILY',\n `'${providerType}' is a gateway and needs to know which model family it serves.`,\n `Add --hosted-family <${allowedFamilies.join('|')}>`\n );\n }\n\n // Both refusals — flag not applicable, and value not accepted — are raised\n // from the catalog's own descriptor, before any request is made.\n if (options.apiFormat) {\n validateApiFormat(providerType, options.apiFormat);\n }\n\n const client = await getSDKClient();\n\n // FR-CLI-002 — never write a credential into a guessed workspace.\n // Throws an actionable error naming the command that sets one.\n const workspaceId = client.requireUnambiguousWorkspace();\n\n const credentialFields = collectCredentialFields(options);\n // A non-`apiKey` secret travels inside credentialFields under its own\n // catalog wire name; the server extracts and encrypts it from there.\n if (secretWireName !== 'apiKey') credentialFields[secretWireName] = secret;\n\n const created = await client.createProvider({\n name: options.name,\n provider: providerType,\n apiKey: secretWireName === 'apiKey' ? secret : undefined,\n baseUrl: options.baseUrl,\n isDefault: options.setDefault,\n hostedFamily: options.hostedFamily,\n credentialFields,\n });\n\n if (isJson) {\n const directive = buildProviderCreatedDirective(created, workspaceId);\n echoDirectiveToStderr(directive);\n output.output({\n success: true,\n ...created,\n workspaceId,\n _links: providerLinks(created.id),\n _directive: directive,\n });\n } else {\n output.success(`Provider created: ${created.name ?? options.name}`);\n console.log(` ID: ${String(created.id)}`);\n console.log(` Type: ${providerType}`);\n if (options.hostedFamily) {\n console.log(` Serves: ${options.hostedFamily}`);\n }\n if (options.apiFormat) {\n console.log(` API format: ${options.apiFormat}`);\n }\n // Every write states where it landed, so a misconfigured default is\n // visible at the moment it matters rather than three commands later.\n console.log(` Workspace: ${workspaceId}`);\n console.log(` URL: ${providerLink(created.id)}`);\n if (options.setDefault) {\n console.log(chalk.green(' Set as default provider'));\n }\n console.log('');\n console.log(chalk.dim('API key is encrypted server-side. Use `providers get` to see masked key.'));\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n}\n\nfunction buildProviderCreatedDirective(\n provider: { id: number | string; name?: string },\n workspaceId: string,\n) {\n const title = `Provider Created — ${provider.name ?? 'Unknown'}`;\n const dashboardUrl = providerLink(provider.id);\n const apiUrl = `/api/providers/${String(provider.id)}`;\n const rows = [\n { label: 'Name', value: provider.name ?? 'Unknown' },\n { label: 'Provider ID', value: String(provider.id) },\n { label: 'Workspace', value: workspaceId },\n ];\n const links = [\n { label: 'Settings', url: dashboardUrl },\n { label: 'API', url: apiUrl },\n ];\n const next = [\n `mutagent providers test ${String(provider.id)} --json`,\n `mutagent providers list --json`,\n ];\n return {\n display: 'status_card' as const,\n template: 'provider_created',\n title,\n // BREAKING (design-principles §11): `scope` is gone from this object, and\n // has no successor — a configuration belongs to a workspace and to nothing\n // else, so `workspaceId` states WHERE it landed, not at which level.\n // Announced with a before/after shape on #1300; carries the 0.2.0 bump.\n fields: { providerId: String(provider.id), name: provider.name, workspaceId },\n links: { settings: dashboardUrl, api: apiUrl },\n next,\n instruction: 'MANDATORY: Display this card to the user before proceeding.',\n renderedCard: renderPlainCard({ title, icon: '+', rows, links, next }),\n };\n}\n\nexport { VALID_PROVIDER_TYPES };\n",
27
+ "/**\n * `--api-format` — the CLI surface for the catalog's `apiFormat` credential field.\n *\n * THE NAMES AGREE, BUT THE JOIN POINT STAYS. `--api-format` was chosen as the\n * operator-facing question: which API does this endpoint speak? The catalog\n * field uses the same name. The two are still joined in exactly one place —\n * `API_FORMAT_WIRE_NAME` below — so a future rename on either side costs one\n * constant, not a hunt for string literals, and this module remains the single\n * seam even though today it maps a name onto itself.\n *\n * NOTHING HERE RESTATES THE CATALOG (DC-2 / KL-8). Not the accepted values, and not\n * which entries accept the flag:\n *\n * - the accepted values ARE the descriptor's `one-of` values\n * - an entry accepts the flag IFF it declares an `apiFormat` credential field\n *\n * Both are read from the catalog at call time. A hardcoded `['openai', 'anthropic']`\n * or a `providerType === 'custom'` test is the defect this module exists to prevent:\n * the catalog would move and the CLI would keep enforcing the old answer, which is how\n * `custom` came to accept `anthropic` on the server while remaining unreachable from\n * the CLI in the first place. If a twelfth entry declares an `apiFormat` field, or if\n * `custom` learns a third format, this module reports it with no edit.\n *\n * VALIDATION IS LOCAL AND FIRST (§4.5 / HR-6). The catalog \"declares what a field must\n * satisfy; it does not itself run validation\". This is the CLI half of that, front-\n * running the server so a typo costs no round trip. The server re-validates regardless.\n */\n\nimport { MutagentError } from './errors.js';\nimport {\n PROVIDER_CATALOG,\n getCredentialField,\n getProviderCatalogEntry,\n} from './provider-catalog.js';\nimport type { ProviderCatalogEntry } from './provider-catalog.js';\n\n/**\n * The catalog credential-field name that `--api-format` maps onto.\n *\n * The single point where the CLI's name for this concept meets the server's.\n */\nexport const API_FORMAT_WIRE_NAME = 'apiFormat';\n\n/**\n * The values an entry accepts for `--api-format`, or `undefined` when the entry\n * declares no such field.\n *\n * Returns the descriptor's own `one-of` values. An `apiFormat` field declared under\n * some other rule is reported as \"accepted but not enumerable\" — see\n * `providerAcceptsApiFormat` — rather than silently treated as absent, because\n * absent and unenumerable call for opposite behaviour: one must reject the flag,\n * the other must let it through for the server to judge.\n */\nexport function apiFormatValuesFor(providerType: string): readonly string[] | undefined {\n const entry = getProviderCatalogEntry(providerType);\n if (!entry) return undefined;\n\n const field = getCredentialField(entry, API_FORMAT_WIRE_NAME);\n if (!field) return undefined;\n\n return field.validation.rule === 'one-of' ? field.validation.values : undefined;\n}\n\n/**\n * Whether an entry takes `--api-format` at all.\n *\n * Declaring the field is the whole test. This is deliberately NOT\n * `providerType === 'custom'`.\n */\nexport function providerAcceptsApiFormat(providerType: string): boolean {\n const entry = getProviderCatalogEntry(providerType);\n return entry !== undefined && entryAcceptsApiFormat(entry);\n}\n\n/**\n * The predicate itself, over an entry rather than an identifier.\n *\n * Split out so the derivation is TESTABLE. With `custom` the only entry declaring\n * the field today, `providerType === 'custom'` and a real field lookup are\n * behaviourally identical against the live catalog — mutation-tested, and the name\n * test survived. Taking an entry lets a test hand in a synthetic one that declares\n * `apiFormat` under another name, where the two implementations finally disagree.\n */\nexport function entryAcceptsApiFormat(entry: ProviderCatalogEntry): boolean {\n return getCredentialField(entry, API_FORMAT_WIRE_NAME) !== undefined;\n}\n\n/**\n * Every catalog entry that declares an `apiFormat` field, in catalog order.\n *\n * `catalog` is a parameter, defaulting to the real one, for the reason above: a\n * hardcoded `['custom']` cannot be distinguished from a real filter unless a test\n * can vary the input.\n */\nexport function providersAcceptingApiFormat(\n catalog: readonly ProviderCatalogEntry[] = PROVIDER_CATALOG\n): readonly string[] {\n return catalog.filter(entryAcceptsApiFormat).map((entry) => entry.id);\n}\n\n/**\n * The `--api-format` help line, derived so `--help` cannot drift from the catalog.\n *\n * HR-15 wants real values in help text. Naming both the accepting entries and their\n * values means `providers add --help` answers \"can I use this, and with what?\" without\n * a round trip.\n */\nexport function apiFormatHelpText(): string {\n const accepting = providersAcceptingApiFormat();\n if (accepting.length === 0) {\n return 'API format spoken by the endpoint (no catalog entry currently declares one)';\n }\n\n const values = [...new Set(accepting.flatMap((id) => apiFormatValuesFor(id) ?? []))];\n const scope = `${accepting.join(', ')} only`;\n\n return values.length > 0\n ? `API format the endpoint speaks — ${scope}: ${values.join(', ')}`\n : `API format the endpoint speaks — ${scope}`;\n}\n\n/**\n * Reject `--api-format` before any API call, per §4.5 / HR-6.\n *\n * Two distinct refusals, because they need different fixes:\n *\n * 1. the entry declares no such field — the flag does not apply at all\n * 2. the entry declares it, but not with this value\n *\n * Passing the flag to an entry that does not take it is an ERROR rather than a silent\n * drop. Silently ignoring it is the defect class this work exists to close: the\n * operator believes they configured an Anthropic-shaped endpoint, the request goes out\n * OpenAI-shaped, and the failure surfaces later as an unrelated-looking provider error.\n */\nexport function validateApiFormat(providerType: string, value: string): void {\n if (!providerAcceptsApiFormat(providerType)) {\n const accepting = providersAcceptingApiFormat();\n throw new MutagentError(\n 'API_FORMAT_NOT_APPLICABLE',\n accepting.length > 0\n ? `--api-format applies only to ${accepting.join(', ')}. '${providerType}' speaks its own API.`\n : `--api-format applies to no provider in the catalog. '${providerType}' speaks its own API.`,\n accepting.length > 0\n ? `Remove --api-format, or use --provider ${accepting.join(' | ')}`\n : 'Remove --api-format'\n );\n }\n\n const values = apiFormatValuesFor(providerType);\n // No enumerable set means the catalog declares the field under a rule this CLI\n // cannot check. Defer to the server rather than invent a constraint.\n if (!values) return;\n\n if (!values.includes(value)) {\n throw new MutagentError(\n 'INVALID_API_FORMAT',\n `'${value}' is not an API format that '${providerType}' speaks.`,\n `${providerType} accepts: ${values.join(', ')}`\n );\n }\n}\n",
28
+ "/**\n * Provider Catalog — the single authoritative definition of the provider entries\n * this product offers, and of everything each entry needs to be configured.\n *\n * DC-2: the catalog is server-owned. The dashboard, the CLI and the documentation\n * derive their entry lists, their credential forms and their model offerings from\n * this module; none of them restates the catalog (KL-8).\n *\n * Implements:\n * - FR-CORE-004: the eleven catalog entries, gateways carrying their hosted families\n * - FR-CORE-006: per-entry credential field sets\n * - FR-CORE-007: AWS Bedrock takes a bearer API key only — so every entry has exactly one secret\n * - FR-CORE-008: per-entry model allow-list policy\n *\n * This module is data plus lookups. It declares what a field must satisfy; it does\n * not itself run validation — enforcement lives in the configuration validator.\n */\n\n// ============================================================================\n// Identifiers\n// ============================================================================\n\n/**\n * The catalog entries, in the order they are presented as tiles (FR-CORE-004).\n */\nexport const PROVIDER_CATALOG_IDS = [\n 'openai',\n 'anthropic',\n 'google',\n 'moonshot',\n 'glm',\n 'deepseek',\n 'xai',\n 'azure',\n 'vertex',\n 'bedrock',\n 'custom',\n] as const;\n\nexport type ProviderCatalogId = (typeof PROVIDER_CATALOG_IDS)[number];\n\n/**\n * A direct entry talks to the vendor that trained the model. A gateway entry\n * hosts one or more model families that belong to somebody else.\n */\nexport type ProviderKind = 'direct' | 'gateway';\n\n/**\n * The model families a gateway can host. Each maps to the direct entry whose\n * allow-list it derives from — see HOSTED_FAMILY_SOURCE_ENTRY.\n */\nexport type HostedFamily = 'openai' | 'anthropic' | 'gemini';\n\n/**\n * Which direct catalog entry owns each hosted family's model allow-list.\n * A gateway's derived policy resolves through this map, so a gateway can never\n * offer a model the direct entry does not allow (FR-CORE-008).\n */\nexport const HOSTED_FAMILY_SOURCE_ENTRY: Readonly<Record<HostedFamily, ProviderCatalogId>> = {\n openai: 'openai',\n anthropic: 'anthropic',\n gemini: 'google',\n};\n\n// ============================================================================\n// Credential field descriptors (FR-CORE-006)\n// ============================================================================\n\n/**\n * How the surface must treat the value on the way in.\n *\n * `secret` — write-only: masked on input, never echoed back, encrypted at rest.\n * `plain` — an ordinary configuration value, safe to display.\n * `model-allow-list` — the same wire shape as `plain` + `string-list` (a\n * comma/newline-separated string), but the surface renders it as\n * a togglable model list instead of free text when the catalog\n * can offer known candidates for the entry (see `knownModelIdsFor`).\n * Declared distinctly from `plain` so the form renderer's branch\n * is driven by catalog data rather than a field-name string match.\n */\nexport type CredentialInputTreatment = 'secret' | 'plain' | 'model-allow-list';\n\n/**\n * What a submitted value must satisfy. Declared here, enforced by the caller.\n *\n * On the `pattern` rule, `examples` and `counterExamples` are NOT documentation\n * garnish — they are the pattern's test fixtures, carried next to it so a test\n * can execute them (see catalog.test.ts, \"every pattern accepts its own\n * examples\"). This shape exists because the Vertex `region` pattern once\n * rejected 27 of 40 real Vertex locations INCLUDING the one named in its own\n * `hint` prose. Prose examples cannot be executed, so nothing caught it. Keep\n * concrete values here, and keep `hint` describing the SHAPE rather than\n * listing instances — a hint that names values is a hint that can drift.\n */\nexport type CredentialFieldValidation =\n | { readonly rule: 'non-empty-string'; readonly minLength: number }\n | { readonly rule: 'https-url' }\n | {\n readonly rule: 'pattern';\n readonly pattern: string;\n readonly hint: string;\n /** Values the pattern MUST accept. Asserted by the catalog tests. */\n readonly examples: readonly string[];\n /** Values the pattern MUST reject. Asserted by the catalog tests. */\n readonly counterExamples: readonly string[];\n }\n | { readonly rule: 'one-of'; readonly values: readonly string[] }\n | { readonly rule: 'string-list' }\n | { readonly rule: 'json-object' };\n\nexport interface CredentialFieldDescriptor {\n /** Wire name — the key the API, the CLI flag and the form control all use. */\n readonly name: string;\n /** Human-readable label for the form control and the documentation table. */\n readonly label: string;\n /** Whether a configuration is rejected without this field. */\n readonly required: boolean;\n readonly treatment: CredentialInputTreatment;\n readonly validation: CredentialFieldValidation;\n /** One sentence explaining what the operator should put here. */\n readonly description: string;\n}\n\n// ============================================================================\n// Model allow-list policy (FR-CORE-008)\n// ============================================================================\n\n/**\n * How a gateway addresses one hosted family's models on the wire.\n *\n * `plain` — the model's own identifier, unmodified.\n * `dated` — the identifier suffixed `@YYYYMMDD`.\n * `inference-profile`— a region-prefixed cross-region inference profile ID.\n * `deployment-name` — an operator-chosen deployment label, NOT a model ID.\n */\nexport type ModelAddressingScheme = 'plain' | 'dated' | 'inference-profile' | 'deployment-name';\n\n/**\n * One family's addressing under one gateway.\n *\n * `pattern`/`examples`/`counterExamples` mirror the credential `pattern` rule\n * on purpose: they make the scheme EXECUTABLE. The scheme name alone is prose,\n * and prose is what let a gateway claim `dated` for a family that is not dated.\n * The catalog tests run every example and counter-example against `pattern`.\n */\nexport interface FamilyAddressing {\n readonly scheme: ModelAddressingScheme;\n /** Regex an addressed identifier must satisfy under this scheme. */\n readonly pattern: string;\n /** Identifiers this scheme MUST accept. Asserted by the catalog tests. */\n readonly examples: readonly string[];\n /** Identifiers this scheme MUST reject. Asserted by the catalog tests. */\n readonly counterExamples: readonly string[];\n}\n\n/**\n * How an entry decides which models it offers.\n *\n * ── What a policy is evaluated AGAINST ──────────────────────────────────────\n *\n * A policy is an admission rule applied to the models the configured provider\n * actually publishes at request time. It is NOT a bundled roster to be served\n * as-is, and it is NOT a filter to be applied over a static in-repo list.\n *\n * This distinction is the whole point. `model-registry.ts` still ships a static\n * MODEL_REGISTRY whose entries have almost entirely aged out — of its 27 IDs,\n * roughly one survives these policies. Anything that serves the intersection of\n * that registry with these policies ships a near-empty model list while passing\n * its own tests. The registry is being retired, not filtered; do not reach for\n * it here or downstream.\n *\n * ── The modes ───────────────────────────────────────────────────────────────\n *\n * `explicit` — admission is by identifier, and the set is CLOSED. `models` is\n * the whole of it. There is no floor on this variant.\n * `floor` — admission is by version: whatever the vendor publishes, at or\n * above `floor`. `knownMembers` is an ADVISORY snapshot of what\n * satisfied the floor when this was written; it is not the\n * allow-list and must never be served as one. A model published\n * later that clears the floor is admitted without editing this\n * file.\n * `derived` — a gateway admits its hosted families' rosters, resolved through\n * HOSTED_FAMILY_SOURCE_ENTRY and re-addressed PER FAMILY. A gateway\n * never widens what its source entry allows.\n * `open` — whatever the configured endpoint publishes, unfiltered.\n *\n * ── Floor parse-and-compare contract ────────────────────────────────────────\n *\n * SCOPE: dotted-numeric floors ONLY. All three floor-mode entries today are\n * dotted numerics — OpenAI `5.5`, Gemini `3.1`, xAI `4.5`. A provider whose\n * versions are not dotted numerics CANNOT be floor-mode until a comparator for\n * its scheme is written. This contract does not generalise, and pretending it\n * does is how the wrong comparator gets applied to the wrong vendor.\n *\n * PARSE: `floor` matches /^\\d+\\.\\d+$/ — MAJOR.MINOR. To extract a candidate's\n * version, take the first dotted-numeric run in its identifier:\n * `gpt-5.6-sol` → `5.6`, `gemini-3.1-pro` → `3.1`, `grok-4.5` → `4.5`.\n * An identifier with no dotted-numeric run is NOT comparable and is refused,\n * not silently admitted.\n *\n * COMPARE: numerically, component by component — MAJOR first, then MINOR.\n * Admit when candidate >= floor. It MUST NOT be a string comparison: `'5.10'\n * < '5.9'` lexicographically but 5.10 > 5.9 numerically, so a string compare\n * silently drops a whole minor series the moment a vendor reaches double\n * digits.\n *\n * WHY ANTHROPIC IS NOT FLOOR-MODE: Anthropic encodes the decimal point as a\n * HYPHEN — `claude-opus-4-8` means 4.8 — which is indistinguishable from the\n * hyphen that separates name parts, so `4-8` cannot be parsed by the rule\n * above without a vendor-specific comparator. `claude-opus-5` has no numeric\n * pair at all. Anthropic is therefore `explicit`, and Bedrock/Vertex derive\n * from it rather than flooring it.\n *\n * NO EVALUATOR LIVES HERE. This contract is what T-2.1/T-3.5 must implement;\n * this module declares, it does not evaluate.\n *\n * ── Why these are separate variants ─────────────────────────────────────────\n *\n * `explicit` carried an OPTIONAL `floor` in an earlier revision, which made\n * `if (p.mode === 'explicit') return p.models` compile, pass an exhaustive\n * `never` check, and silently ignore the floor — \"the floor governs\" existed\n * only in this comment. Splitting the variants makes that unrepresentable:\n * `explicit` has no floor to ignore, and `floor` has no `models` to return.\n */\nexport type ModelAllowListPolicy = { readonly summary: string } & (\n | { readonly mode: 'explicit'; readonly models: readonly string[] }\n | { readonly mode: 'floor'; readonly floor: string; readonly knownMembers?: readonly string[] }\n | {\n readonly mode: 'derived';\n readonly from: readonly HostedFamily[];\n /**\n * Addressing is PER HOSTED FAMILY, never one value for the gateway.\n *\n * This was a scalar in an earlier revision, and Vertex carried\n * `'dated'` across BOTH of its families. Anthropic-on-Vertex is indeed\n * `@`-dated; Gemini-on-Vertex is not — so the scalar produced\n * `gemini-3.1-pro@<date>`, which 404s. That is the same defect class as\n * a single regex asserted over a set whose members disagree: one value\n * claimed over a heterogeneous set.\n *\n * Every family listed in `from` MUST have an entry here, and no entry\n * may exist for a family not in `from`. Both are asserted by the tests.\n */\n readonly addressing: Readonly<Partial<Record<HostedFamily, FamilyAddressing>>>;\n }\n | { readonly mode: 'open' }\n);\n\n// ============================================================================\n// Entry\n// ============================================================================\n\nexport interface ProviderCatalogEntry {\n readonly id: ProviderCatalogId;\n /** Tile label, as it appears in the dashboard and the documentation. */\n readonly label: string;\n readonly kind: ProviderKind;\n /**\n * Present on gateway entries only, and never empty there. Selecting a gateway\n * tile opens a sub-choice over these families before the credential form.\n */\n readonly hostedFamilies?: readonly HostedFamily[];\n readonly credentialFields: readonly CredentialFieldDescriptor[];\n readonly modelPolicy: ModelAllowListPolicy;\n readonly description: string;\n}\n\n// ============================================================================\n// Shared field descriptors\n// ============================================================================\n\nconst apiKeyField = (description: string): CredentialFieldDescriptor => ({\n name: 'apiKey',\n label: 'API key',\n required: true,\n treatment: 'secret',\n validation: { rule: 'non-empty-string', minLength: 8 },\n description,\n});\n\nconst baseUrlOverrideField: CredentialFieldDescriptor = {\n name: 'baseUrl',\n label: 'Base URL override',\n required: false,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'Route requests through a proxy or a regional endpoint instead of the default one.',\n};\n\nconst modelAllowListField: CredentialFieldDescriptor = {\n name: 'modelAllowList',\n label: 'Model allow-list',\n required: false,\n treatment: 'model-allow-list',\n validation: { rule: 'string-list' },\n description:\n 'Narrow the models this configuration offers. Entries outside the provider policy are ignored.',\n};\n\n/** The credential set every direct first-party entry shares (FR-CORE-006, row 1). */\nconst directApiKeyFields = (keyDescription: string): readonly CredentialFieldDescriptor[] => [\n apiKeyField(keyDescription),\n baseUrlOverrideField,\n modelAllowListField,\n];\n\n/** Azure's credential set is identical for both hosted families (FR-CORE-006). */\nconst azureFields: readonly CredentialFieldDescriptor[] = [\n {\n name: 'resourceEndpoint',\n label: 'Resource endpoint',\n required: true,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'The Azure resource endpoint, e.g. https://my-resource.openai.azure.com.',\n },\n apiKeyField('The key issued for the Azure resource.'),\n {\n name: 'deploymentName',\n label: 'Deployment name',\n required: true,\n treatment: 'plain',\n validation: { rule: 'non-empty-string', minLength: 1 },\n description: 'Azure addresses a model by the name given to its deployment, not by model id.',\n },\n {\n name: 'apiVersion',\n label: 'API version',\n required: false,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}(-preview)?$',\n hint: 'An ISO date, optionally suffixed -preview.',\n examples: ['2024-08-01-preview', '2023-06-01', '2025-01-01'],\n counterExamples: ['2024-8-1', '24-08-01', '2024-08-01-beta', 'latest'],\n },\n description: 'Pin the Azure API version. Defaults to the current stable version when omitted.',\n },\n];\n\n/** Google Vertex's credential set is identical for both hosted families (FR-CORE-006). */\nconst vertexFields: readonly CredentialFieldDescriptor[] = [\n {\n name: 'projectId',\n label: 'Project ID',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',\n hint: 'A Google Cloud project ID: 6 to 30 lowercase characters, starting with a letter.',\n examples: ['my-project-123', 'abcdef', 'my-gcp-project'],\n counterExamples: ['ab', 'My-Project', '1project', 'my_project'],\n },\n description: 'The Google Cloud project that holds the Vertex AI entitlement.',\n },\n {\n name: 'region',\n label: 'Region',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n // The continent prefix is enumerated rather than matched as `[a-z]{2}`.\n // That earlier form required exactly two letters before the hyphen, so it\n // rejected every multi-letter prefix — europe-*, asia-*, australia-*,\n // northamerica-*, southamerica-*, africa-* — which is 27 of the 40 real\n // Vertex locations, i.e. every European and Asian deployment, while still\n // admitting nonsense like `zz-qqqqqq9`. Enumerating the prefixes rejects\n // the nonsense and accepts all 40. GCP adding a continent means adding a\n // word here; the counterExamples below pin the nonsense out.\n pattern:\n '^(global|(?:us|europe|asia|australia|northamerica|southamerica|africa|me)-[a-z]+\\\\d+)$',\n hint: 'A Vertex location: a continent prefix, a direction and an index — or `global`.',\n examples: [\n 'us-central1',\n 'europe-west4',\n 'europe-west12',\n 'asia-northeast1',\n 'northamerica-northeast1',\n 'southamerica-east1',\n 'australia-southeast1',\n 'africa-south1',\n 'me-central2',\n 'global',\n ],\n counterExamples: ['zz-qqqqqq9', 'us-central', 'US-CENTRAL1', 'us_central1', '1-west1'],\n },\n description: 'The Vertex location the models are served from.',\n },\n {\n name: 'serviceAccountKey',\n label: 'Service-account credential',\n required: true,\n treatment: 'secret',\n validation: { rule: 'json-object' },\n description: 'The service-account key JSON granting Vertex AI access to the project.',\n },\n modelAllowListField,\n];\n\n// ============================================================================\n// The catalog (FR-CORE-004)\n// ============================================================================\n\nexport const PROVIDER_CATALOG: readonly ProviderCatalogEntry[] = [\n {\n id: 'openai',\n label: 'OpenAI',\n kind: 'direct',\n credentialFields: directApiKeyFields('An OpenAI API key, issued from the OpenAI platform.'),\n modelPolicy: {\n mode: 'floor',\n floor: '5.5',\n knownMembers: ['gpt-5.6-sol', 'gpt-5.6-terra', 'gpt-5.6-luna', 'gpt-5.5'],\n summary:\n 'GPT models at or above 5.5. FR-CORE-008 states the floor and then enumerates the members current at writing; the floor is the rule, the enumeration is the snapshot.',\n },\n description: 'GPT models served directly by OpenAI.',\n },\n {\n id: 'anthropic',\n label: 'Anthropic',\n kind: 'direct',\n credentialFields: directApiKeyFields(\n 'An Anthropic API key, issued from the Anthropic console.'\n ),\n modelPolicy: {\n mode: 'explicit',\n models: [\n 'claude-opus-5',\n 'claude-sonnet-5',\n 'claude-fable-5',\n 'claude-opus-4-8',\n 'claude-haiku-4-5',\n ],\n summary: 'The Claude 5 family, plus Opus 4.8 and Haiku 4.5.',\n },\n description: 'Claude models served directly by Anthropic.',\n },\n {\n id: 'google',\n label: 'Google Gemini',\n kind: 'direct',\n credentialFields: directApiKeyFields('A Google AI Studio API key.'),\n modelPolicy: {\n mode: 'floor',\n floor: '3.1',\n summary: 'Gemini 3.1 Pro and above. The floor is 3.1; nothing older is offered.',\n },\n description: 'Gemini models served directly by Google AI Studio.',\n },\n {\n id: 'moonshot',\n label: 'Moonshot AI',\n kind: 'direct',\n credentialFields: directApiKeyFields('A Moonshot AI platform API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['kimi-k3'],\n summary:\n 'Kimi K3, the 1M-context model. The 256K models are all K2-generation and are not offered.',\n },\n description: 'Kimi models served directly by Moonshot AI.',\n },\n {\n id: 'glm',\n label: 'z.ai (GLM)',\n kind: 'direct',\n credentialFields: directApiKeyFields('A z.ai API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['glm-5.2'],\n summary: 'GLM-5.2.',\n },\n description: 'GLM models served directly by z.ai.',\n },\n {\n id: 'deepseek',\n label: 'DeepSeek',\n kind: 'direct',\n credentialFields: directApiKeyFields('A DeepSeek platform API key.'),\n modelPolicy: {\n mode: 'explicit',\n models: ['deepseek-v4-flash', 'deepseek-v4-pro'],\n summary: 'The DeepSeek V4 pair — Flash and Pro.',\n },\n description: 'DeepSeek models served directly by DeepSeek.',\n },\n {\n id: 'xai',\n label: 'xAI',\n kind: 'direct',\n credentialFields: directApiKeyFields('An xAI API key.'),\n modelPolicy: {\n mode: 'floor',\n floor: '4.5',\n summary: 'Grok 4.5 and above. The floor is 4.5; nothing older is offered.',\n },\n description: 'Grok models served directly by xAI.',\n },\n {\n id: 'azure',\n label: 'Azure',\n kind: 'gateway',\n hostedFamilies: ['openai', 'anthropic'],\n credentialFields: azureFields,\n modelPolicy: {\n mode: 'derived',\n from: ['openai', 'anthropic'],\n // Azure is the one gateway whose two families genuinely share a scheme —\n // both are reached by deployment name. Stated per family anyway, so the\n // shape cannot quietly become a scalar again.\n addressing: {\n openai: {\n scheme: 'deployment-name',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$',\n examples: ['my-gpt-5-6-deployment', 'prod_gpt', 'gpt56sol'],\n // A raw model id is the classic Azure mistake: dots are not legal in\n // a deployment name, so passing `gpt-5.6-sol` straight through fails.\n counterExamples: ['gpt-5.6-sol', 'claude-opus-5@20260115', 'has space', ''],\n },\n anthropic: {\n scheme: 'deployment-name',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$',\n examples: ['my-claude-deployment', 'prod_claude'],\n counterExamples: ['claude-opus-5@20260115', 'gpt-5.6-sol', 'has space', ''],\n },\n },\n summary:\n 'The OpenAI and Anthropic rosters, each model addressed by the name of its Azure deployment.',\n },\n description:\n 'Azure AI Foundry, hosting OpenAI and Anthropic models. One configuration per hosted family.',\n },\n {\n id: 'vertex',\n label: 'Google Vertex',\n kind: 'gateway',\n hostedFamilies: ['gemini', 'anthropic'],\n credentialFields: vertexFields,\n modelPolicy: {\n mode: 'derived',\n from: ['gemini', 'anthropic'],\n // THE TWO FAMILIES DISAGREE, which is why this is not one value.\n // Anthropic-on-Vertex is @-dated; Gemini-on-Vertex is not. A single\n // 'dated' across both produced `gemini-3.1-pro@<date>` → 404.\n addressing: {\n gemini: {\n scheme: 'plain',\n // No `@` anywhere: Gemini on Vertex is addressed by its own id.\n pattern: '^(?!.*@)[a-zA-Z0-9][a-zA-Z0-9.\\\\-]*$',\n examples: ['gemini-3.1-pro', 'gemini-3.1-flash', 'gemini-3.1-pro-preview'],\n counterExamples: [\n // The exact string the scalar 'dated' would have produced.\n 'gemini-3.1-pro@20260115',\n 'us.anthropic.claude-opus-5-v1:0',\n 'has space',\n '',\n ],\n },\n anthropic: {\n scheme: 'dated',\n pattern: '^[a-zA-Z0-9][a-zA-Z0-9.\\\\-]*@\\\\d{8}$',\n examples: ['claude-opus-5@20260115', 'claude-sonnet-5@20251022'],\n counterExamples: [\n 'claude-opus-5',\n 'claude-opus-5@',\n 'claude-opus-5@2026',\n 'gemini-3.1-pro',\n ],\n },\n },\n summary:\n 'The Gemini and Anthropic rosters. Anthropic models are @-dated on Vertex; Gemini models are not.',\n },\n description:\n 'Google Vertex AI, hosting Gemini and Anthropic models. One configuration per hosted family.',\n },\n {\n id: 'bedrock',\n label: 'AWS Bedrock',\n kind: 'gateway',\n hostedFamilies: ['anthropic'],\n credentialFields: [\n {\n name: 'region',\n label: 'Region',\n required: true,\n treatment: 'plain',\n validation: {\n rule: 'pattern',\n // AWS genuinely does use two-letter geography codes (us, eu, ap, sa,\n // ca, me, af, il, mx), so `[a-z]{2}` is correct here — unlike Vertex,\n // whose prefixes are full words. The examples pin that difference.\n pattern: '^[a-z]{2}(-gov)?-[a-z]+-\\\\d+$',\n hint: 'An AWS region: a two-letter geography, a direction and an index.',\n examples: [\n 'us-east-1',\n 'eu-central-1',\n 'ap-southeast-1',\n 'sa-east-1',\n 'me-south-1',\n 'af-south-1',\n 'il-central-1',\n 'mx-central-1',\n 'us-gov-west-1',\n ],\n counterExamples: ['us-east', 'US-EAST-1', 'useast1', 'europe-west4'],\n },\n description: 'The AWS region the Bedrock models are invoked in.',\n },\n {\n name: 'apiKey',\n label: 'Bearer API key',\n required: true,\n treatment: 'secret',\n // FR-CORE-007 / D-5: a long-lived access-key pair arrives as \"AKIA…\" or as\n // \"ACCESS_KEY_ID:SECRET\". Both shapes are refused here, at the catalog, so\n // every surface rejects them identically.\n validation: {\n rule: 'pattern',\n pattern: '^(?!AKIA)[^\\\\s:]+$',\n hint: 'A single opaque bearer token. Long-lived AWS access key and secret pairs are not accepted.',\n examples: ['bedrock-api-key-abc123', 'ABSKQmVkcm9ja0FQSUtleQ=='],\n counterExamples: [\n 'AKIAIOSFODNN7EXAMPLE',\n 'AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG',\n 'someid:somesecret',\n 'has space',\n ],\n },\n description:\n 'A Bedrock bearer API key. This is the only credential type Bedrock accepts here.',\n },\n {\n name: 'inferenceProfile',\n label: 'Inference profile',\n required: false,\n treatment: 'plain',\n validation: { rule: 'non-empty-string', minLength: 1 },\n description:\n 'Pin a cross-region inference profile. Defaults to the profile for the configured region.',\n },\n ],\n modelPolicy: {\n mode: 'derived',\n from: ['anthropic'],\n addressing: {\n anthropic: {\n scheme: 'inference-profile',\n // The leading region prefix is what makes it a cross-region profile\n // rather than a bare model id; without it Bedrock rejects the call.\n pattern: '^(us|eu|apac)\\\\.[a-z0-9-]+\\\\.[a-zA-Z0-9.\\\\-]+(:\\\\d+)?$',\n examples: [\n 'us.anthropic.claude-opus-5-v1:0',\n 'eu.anthropic.claude-sonnet-5-v1:0',\n 'apac.anthropic.claude-haiku-4-5-v1:0',\n ],\n counterExamples: [\n 'anthropic.claude-opus-5-v1:0',\n 'claude-opus-5',\n 'claude-opus-5@20260115',\n ],\n },\n },\n summary: 'The Anthropic roster, addressed as region-prefixed inference-profile IDs.',\n },\n description: 'AWS Bedrock, hosting Anthropic models. Bearer API key only.',\n },\n {\n id: 'custom',\n /**\n * THE LABEL NAMES BOTH API FORMATS BECAUSE THE ENTRY SERVES BOTH.\n *\n * This read `Custom (OpenAI-compatible)` while `apiFormat` below has always\n * accepted `'anthropic'`. The label, the entry description and the `baseUrl`\n * help text all said OpenAI, so three strings contradicted the field sitting\n * between them, and a user looking for an Anthropic-compatible endpoint\n * concluded the product did not support one and stopped.\n *\n * NOT SPLIT INTO TWO CATALOG ENTRIES. `PROVIDER_TYPES` in\n * `schema/postgres/tenancy/provider-configs.ts` is assigned\n * `PROVIDER_CATALOG_IDS` verbatim, and `model.ts:26` builds the API's\n * `provider` enum from the same array — so a twelfth entry is a storage enum\n * change plus an API schema change plus a regeneration of both SDK\n * `openapi.json` files. The complaint is that the capability is invisible,\n * not that it is missing; naming it costs none of that.\n */\n label: 'Custom (OpenAI or Anthropic compatible)',\n kind: 'direct',\n credentialFields: [\n {\n name: 'baseUrl',\n label: 'Base URL',\n required: true,\n treatment: 'plain',\n validation: { rule: 'https-url' },\n description: 'The endpoint serving the API. Pick its API format below.',\n },\n apiKeyField('The key the endpoint expects, sent as a bearer token.'),\n {\n // Named for the operator-facing question — which API does this endpoint\n // speak? — matching the CLI's public `--api-format` flag.\n name: 'apiFormat',\n label: 'API format',\n required: false,\n treatment: 'plain',\n validation: { rule: 'one-of', values: ['openai', 'anthropic'] },\n description:\n \"Whether the endpoint speaks the OpenAI or the Anthropic request shape. Defaults to OpenAI when left unset — an endpoint that expects Anthropic's shape needs this set to 'anthropic'.\",\n },\n modelAllowListField,\n ],\n modelPolicy: {\n mode: 'open',\n summary: 'Whatever the configured endpoint publishes.',\n },\n description:\n 'Any endpoint speaking an OpenAI-compatible or Anthropic-compatible API — self-hosted or third-party.',\n },\n];\n\n// ============================================================================\n// Lookups\n// ============================================================================\n\nconst CATALOG_BY_ID: ReadonlyMap<string, ProviderCatalogEntry> = new Map(\n PROVIDER_CATALOG.map((entry) => [entry.id, entry])\n);\n\n/**\n * Narrow an arbitrary string to a catalog identifier.\n */\nexport function isProviderCatalogId(value: string): value is ProviderCatalogId {\n return CATALOG_BY_ID.has(value);\n}\n\n/**\n * Look an entry up by identifier. Returns undefined for anything not in the catalog.\n */\nexport function getProviderCatalogEntry(id: string): ProviderCatalogEntry | undefined {\n return CATALOG_BY_ID.get(id);\n}\n\n/**\n * Look a single credential field up by its wire name.\n */\nexport function getCredentialField(\n entry: ProviderCatalogEntry,\n name: string\n): CredentialFieldDescriptor | undefined {\n return entry.credentialFields.find((field) => field.name === name);\n}\n\n/**\n * The one secret an entry carries. Every entry has exactly one (FR-CORE-007),\n * which is what lets a configuration hold a single encrypted credential.\n */\nexport function getSecretCredentialField(entry: ProviderCatalogEntry): CredentialFieldDescriptor {\n const secrets = entry.credentialFields.filter((field) => field.treatment === 'secret');\n if (secrets.length !== 1) {\n throw new Error(\n `Catalog entry '${entry.id}' declares ${secrets.length} secret fields; exactly one is required.`\n );\n }\n return secrets[0]!;\n}\n\n/**\n * The model ids the catalog can offer as toggle candidates for `modelAllowList`,\n * WITHOUT a live call to the provider — there is no configuration id to call\n * `GET /providers/:id/models` with until a configuration exists, and the model\n * allow-list field renders during BOTH create and edit.\n *\n * Deliberately partial, not a live discovery substitute:\n * - `explicit` — the closed set IS the whole answer. Returned as-is.\n * - `floor` — `knownMembers` is an ADVISORY snapshot (see `ModelAllowListPolicy`\n * doc), not the allow-list. Returned when present; `[]` when the entry\n * declares none (e.g. Google, xAI), which the caller must render as \"no\n * known candidates\" rather than as \"this provider has no models\".\n * - `derived` — empty. Producing a gateway's roster requires resolving through\n * `HOSTED_FAMILY_SOURCE_ENTRY` and re-addressing PER FAMILY\n * (`FamilyAddressing`), which is server-side evaluation logic this\n * module deliberately does not perform (see the \"NO EVALUATOR LIVES\n * HERE\" note on `ModelAllowListPolicy`). A gateway's `modelAllowList`\n * field falls back to free text.\n * - `open` — empty by construction: an open policy admits whatever the endpoint\n * publishes, so the catalog has no roster to offer at all.\n */\nexport function knownModelIdsFor(entry: ProviderCatalogEntry): readonly string[] {\n const policy = entry.modelPolicy;\n switch (policy.mode) {\n case 'explicit':\n return policy.models;\n case 'floor':\n return policy.knownMembers ?? [];\n case 'derived':\n case 'open':\n return [];\n default: {\n const never: never = policy;\n return never;\n }\n }\n}\n\n/**\n * Resolve which hosted family a gateway configuration targets.\n *\n * A multi-family gateway with no stated family is REFUSED rather than defaulted.\n * Defaulting is a false green of the worst kind: an Azure configuration meant for\n * Anthropic, with no family stated, would be treated as Azure OpenAI — against a\n * real endpoint, with a real key, succeeding — and would then serve the wrong\n * vendor's models. Unlike a wrong endpoint, which fails loudly, this one succeeds\n * wrongly.\n *\n * A single-family gateway (Bedrock) is unambiguous, so it resolves without one,\n * and a direct entry has no family to resolve at all. The rule is therefore\n * ARITY, never a list of entry ids: an entry that gains a second hosted family\n * starts requiring an explicit choice with no code change here or in any caller.\n *\n * Hoisted from `connection-test.ts` (T-2.3), which declared it privately. Both\n * the pre-persistence probe and the write-boundary validator (T-2.1) need the\n * same answer, and a catalog fact belongs beside the catalog rather than inside\n * whichever feature module needed it first.\n */\nexport function resolveHostedFamily(\n entry: ProviderCatalogEntry,\n submitted: string | null | undefined\n): { family: HostedFamily | null } | { ambiguous: readonly HostedFamily[] } {\n const families = entry.hostedFamilies ?? [];\n if (families.length === 0) return { family: null };\n\n const match = families.find((family) => family === submitted);\n if (match) return { family: match };\n\n // A STATED family the entry does not host is refused at every arity.\n //\n // The arity check used to come first, so a single-family gateway COERCED\n // whatever was submitted to its only family: `bedrock` hosts anthropic alone,\n // so `hostedFamily: 'openai'` was silently rewritten to 'anthropic' and the\n // row was stored as if the caller had asked for it. Deriving a value nobody\n // supplied is a convenience; overwriting a value somebody DID supply with a\n // different one is a lie about what was configured — and it is invisible,\n // because the row then connects and serves successfully under the wrong\n // family.\n //\n // Derivation stays exactly where it was justified: an ABSENT value with one\n // legal choice.\n if (submitted != null && submitted !== '') return { ambiguous: families };\n\n if (families.length === 1) return { family: families[0]! };\n\n return { ambiguous: families };\n}\n",
29
29
  "import type { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { MutagentError, handleError } from '../../lib/errors.js';\nimport {\n providerLinks,\n providerLink,\n renderPlainCard,\n echoDirectiveToStderr,\n} from '../../lib/ui-links.js';\n\ninterface UpdateOptions {\n name?: string;\n apiKey?: string;\n active?: string;\n setDefault?: boolean;\n baseUrl?: string;\n}\n\nexport function registerUpdateCommand(parent: Command): void {\n parent\n .command('update')\n .description('Update an existing provider configuration')\n .argument('<id>', 'Provider ID (from: mutagent providers list)')\n .option('-n, --name <name>', 'Updated display name')\n .option('-k, --api-key <key>', 'Updated API key (will be re-encrypted)')\n .option('--active <bool>', 'Activate or deactivate (true|false)')\n .option('--set-default', 'Set as the default provider of its kind')\n .option('--base-url <url>', 'Updated base URL (use \"\" to clear)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers update <id> --name \"New Name\"\n ${chalk.dim('$')} mutagent providers update <id> --api-key $NEW_KEY --json\n ${chalk.dim('$')} mutagent providers update <id> --active false\n ${chalk.dim('$')} mutagent providers update <id> --set-default --json\n\nPATCH semantics — only provided fields are updated.\n `)\n .action(async (id: string, options: UpdateOptions) => {\n const isJson = getJsonFlag(parent);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n // Build update payload — only include provided fields\n const updateData: {\n name?: string;\n apiKey?: string;\n isActive?: boolean;\n isDefault?: boolean;\n baseUrl?: string | null;\n } = {};\n\n let hasUpdates = false;\n\n if (options.name !== undefined) {\n updateData.name = options.name;\n hasUpdates = true;\n }\n if (options.apiKey !== undefined) {\n updateData.apiKey = options.apiKey;\n hasUpdates = true;\n }\n if (options.active !== undefined) {\n if (options.active !== 'true' && options.active !== 'false') {\n throw new MutagentError(\n 'INVALID_OPTION',\n `Invalid --active value: ${options.active}`,\n 'Use --active true or --active false'\n );\n }\n updateData.isActive = options.active === 'true';\n hasUpdates = true;\n }\n if (options.setDefault) {\n updateData.isDefault = true;\n hasUpdates = true;\n }\n if (options.baseUrl !== undefined) {\n updateData.baseUrl = options.baseUrl === '' ? null : options.baseUrl;\n hasUpdates = true;\n }\n\n if (!hasUpdates) {\n throw new MutagentError(\n 'NO_UPDATES',\n 'No update fields provided',\n 'Provide at least one of: --name, --api-key, --active, --set-default, --base-url'\n );\n }\n\n const client = await getSDKClient();\n const updated = await client.updateProvider(id, updateData);\n\n if (isJson) {\n const directive = buildProviderUpdatedDirective(updated, id);\n echoDirectiveToStderr(directive);\n output.output({\n success: true,\n ...updated,\n _links: providerLinks(updated.id ?? id),\n _directive: directive,\n });\n } else {\n output.success(`Provider updated: ${String(updated.name ?? id)}`);\n console.log(` ID: ${String(updated.id ?? id)}`);\n // Every write states the workspace it resolved to (FR-CLI-002).\n if (updated.workspaceId) {\n console.log(` Workspace: ${updated.workspaceId}`);\n }\n console.log(` URL: ${providerLink(updated.id ?? id)}`);\n if (options.apiKey) {\n console.log(chalk.dim(' API key re-encrypted server-side.'));\n }\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n}\n\nfunction buildProviderUpdatedDirective(\n provider: { id?: number | string; name?: string },\n requestId: string,\n) {\n const id = provider.id ?? requestId;\n const title = `Provider Updated — ${provider.name ?? String(id)}`;\n const dashboardUrl = providerLink(id);\n const apiUrl = `/api/providers/${String(id)}`;\n const rows = [\n { label: 'Provider ID', value: String(id) },\n ...(provider.name ? [{ label: 'Name', value: provider.name }] : []),\n ];\n const links = [\n { label: 'Settings', url: dashboardUrl },\n { label: 'API', url: apiUrl },\n ];\n const next = [\n `mutagent providers get ${String(id)} --json`,\n `mutagent providers test ${String(id)} --json`,\n ];\n return {\n display: 'status_card' as const,\n template: 'provider_updated',\n title,\n fields: { providerId: String(id), name: provider.name },\n links: { settings: dashboardUrl, api: apiUrl },\n next,\n instruction: 'MANDATORY: Display this card to the user before proceeding.',\n renderedCard: renderPlainCard({ title, icon: '~', rows, links, next }),\n };\n}\n",
30
30
  "import type { Command } from 'commander';\nimport chalk from 'chalk';\nimport { getSDKClient } from '../../lib/sdk-client.js';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { MutagentError, ApiError, handleError } from '../../lib/errors.js';\nimport {\n providerSettingsLink,\n renderPlainCard,\n echoDirectiveToStderr,\n} from '../../lib/ui-links.js';\n\ninterface DeleteOptions {\n force?: boolean;\n}\n\nexport function registerDeleteCommand(parent: Command): void {\n parent\n .command('delete')\n .description('Delete a provider configuration')\n .argument('<id>', 'Provider ID (from: mutagent providers list)')\n .option('-f, --force', 'Skip confirmation prompt')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent providers delete <id>\n ${chalk.dim('$')} mutagent providers delete <id> --force\n ${chalk.dim('$')} mutagent providers delete <id> --force --json\n\n${chalk.dim('Note: --force is required. The CLI is non-interactive — confirm with the user via your native flow, then pass --force.')}\n${chalk.dim('Warning: API keys are AES-256-GCM encrypted and irrecoverable after deletion. Agents referencing this provider will lose their model config.')}\n `)\n .action(async (id: string, options: DeleteOptions) => {\n const isJson = getJsonFlag(parent);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n // In --json mode, auto-skip confirmation (agent controls flow).\n // Otherwise require --force.\n if (!options.force && !isJson) {\n throw new MutagentError(\n 'CONFIRMATION_REQUIRED',\n `Deleting provider ${id} requires confirmation. ` +\n 'Warning: encrypted API keys are irrecoverable after deletion.',\n 'Run: mutagent providers delete --help\\n' +\n `[Agent: Ask the user to confirm via MultiChoice, then pass --force]\\n` +\n `Use --force to confirm: mutagent providers delete ${id} --force`\n );\n }\n\n const client = await getSDKClient();\n // The workspace this delete resolved to — stated in the output so a\n // misconfigured default is visible at the moment it matters.\n let deletedFrom: string | undefined;\n\n try {\n deletedFrom = (await client.deleteProvider(id)).workspaceId;\n } catch (error) {\n // 404 = already deleted = idempotent success\n if (error instanceof ApiError && error.statusCode === 404) {\n if (isJson) {\n const directive = buildProviderDeletedDirective(id);\n output.output({\n success: true,\n deletedId: id,\n _links: { providers: providerSettingsLink() },\n _directive: directive,\n });\n echoDirectiveToStderr(directive);\n } else {\n output.success(`Provider ${id} already deleted (idempotent)`);\n }\n return;\n }\n throw error;\n }\n\n if (isJson) {\n const directive = buildProviderDeletedDirective(id);\n echoDirectiveToStderr(directive);\n output.output({\n success: true,\n deletedId: id,\n _links: { providers: providerSettingsLink() },\n _directive: directive,\n });\n } else {\n output.success(`Deleted provider: ${id}`);\n if (deletedFrom) {\n console.log(` Workspace: ${deletedFrom}`);\n }\n console.log(` Settings: ${providerSettingsLink()}`);\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n}\n\nfunction buildProviderDeletedDirective(id: string) {\n const title = `Provider Deleted — ${id}`;\n const settingsUrl = providerSettingsLink();\n const rows = [{ label: 'Provider ID', value: id }];\n const links = [{ label: 'Settings', url: settingsUrl }];\n const next = [`mutagent providers list --json`];\n return {\n display: 'status_card' as const,\n template: 'provider_deleted',\n title,\n fields: { providerId: id },\n links: { settings: settingsUrl },\n next,\n instruction: 'MANDATORY: Display this card to the user before proceeding.',\n renderedCard: renderPlainCard({ title, icon: 'x', rows, links, next }),\n };\n}\n",
31
31
  "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { readFileSync } from 'fs';\nimport { join } from 'path';\nimport { hasCredentials, loadConfig, getApiKey, setDefaultWorkspace } from '../lib/config.js';\nimport { OutputFormatter, getJsonFlag } from '../lib/output.js';\nimport { handleError } from '../lib/errors.js';\nimport { hasRcConfig } from '../lib/framework-detection.js';\nimport { writeRcConfig, type MutagentRcConfig } from '../lib/rc-config.js';\nimport { installCliSkill, SKILL_DIR } from './skills.js';\nimport type { fetchOrganizations, fetchWorkspaces } from '../lib/sdk-client.js';\n\n// Re-export for backwards compatibility (src/bin/cli.ts imports it from here)\nexport { hasRcConfig } from '../lib/framework-detection.js';\n\nconst LOGIN_GUIDANCE =\n 'Run: mutagent login — sign-up happens in the browser. Then re-run mutagent init.';\n\ninterface InitOptions {\n nonInteractive?: boolean;\n}\n\n/**\n * Injectable seams for tests — same convention as createInstallCommand(deps).\n * Production callers pass nothing; tests inject fakes so no real fs/home-dir\n * credential state or network is touched.\n */\nexport interface InitDeps {\n hasCredentials?: typeof hasCredentials;\n loadConfig?: typeof loadConfig;\n getApiKey?: typeof getApiKey;\n setDefaultWorkspace?: typeof setDefaultWorkspace;\n fetchOrganizations?: typeof fetchOrganizations;\n fetchWorkspaces?: typeof fetchWorkspaces;\n installSkill?: (cwd: string) => void;\n}\n\nexport function createInitCommand(deps: InitDeps = {}): Command {\n const init = new Command('init')\n .description('Initialize Mutagent in your project')\n .option('--non-interactive', 'No-op kept for back-compat (init never prompts)')\n .addHelpText('after', `\nExamples:\n ${chalk.dim('$')} mutagent init # Write .mutagentrc.json + install the CLI skill\n\nWhat it does:\n 1. Writes .mutagentrc.json (endpoint / workspace / org) — skipped if present\n 2. Installs the Mutagent CLI skill into ${SKILL_DIR}/\n `)\n .action(async (options: InitOptions) => {\n const isJson = getJsonFlag(init);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n void options; // --non-interactive is a back-compat no-op — no prompts exist\n\n try {\n const cwd = process.cwd();\n\n // Step 1: existing config → note it, skip creation (no prompt)\n const rcExists = hasRcConfig(cwd);\n if (rcExists && !isJson) {\n output.info('.mutagentrc.json already exists — already initialized. Leaving it untouched.');\n }\n\n // Step 2: auth gate — clean exit (not an error) with login guidance\n if (!(deps.hasCredentials ?? hasCredentials)()) {\n if (isJson) {\n output.output({\n success: false,\n authenticated: false,\n message: `Not authenticated. ${LOGIN_GUIDANCE}`,\n nextSteps: ['mutagent login', 'mutagent init'],\n });\n } else {\n output.warn('Not authenticated.');\n output.info(LOGIN_GUIDANCE);\n }\n return;\n }\n\n // Step 3: resolve + write .mutagentrc.json (endpoint/workspace/org only)\n let rcConfig: MutagentRcConfig;\n if (rcExists) {\n try {\n rcConfig = JSON.parse(readFileSync(join(cwd, '.mutagentrc.json'), 'utf-8')) as MutagentRcConfig;\n } catch {\n rcConfig = {};\n }\n } else {\n const config = (deps.loadConfig ?? loadConfig)();\n const endpoint = config.endpoint ?? 'https://api.mutagent.io';\n let workspace = config.defaultWorkspace;\n\n // Best-effort: validate workspace against API (never blocks init)\n let workspaceValidation: { id: string; name: string; validated: boolean; corrected: boolean } | undefined;\n let resolvedOrgId: string | undefined;\n try {\n const apiKey = (deps.getApiKey ?? getApiKey)();\n if (apiKey) {\n const sdk = await import('../lib/sdk-client.js');\n const fetchOrgs = deps.fetchOrganizations ?? sdk.fetchOrganizations;\n const fetchWs = deps.fetchWorkspaces ?? sdk.fetchWorkspaces;\n let orgId = config.defaultOrganization;\n if (!orgId) {\n const orgs = await fetchOrgs(apiKey, endpoint);\n orgId = orgs[0]?.id;\n }\n if (orgId) {\n resolvedOrgId = orgId;\n const workspaces = await fetchWs(apiKey, endpoint, orgId);\n if (workspaces.length > 0) {\n const found = workspace ? workspaces.find(w => w.id === workspace) : undefined;\n if (found) {\n workspaceValidation = { id: found.id, name: found.name, validated: true, corrected: false };\n } else if (workspaces[0]) {\n const first = workspaces[0];\n // A machine-chosen fallback, not a user choice — stamped as\n // inferred so a provider write re-verifies it rather than\n // trusting it (FR-CLI-002).\n (deps.setDefaultWorkspace ?? setDefaultWorkspace)(first.id, 'login-inferred');\n workspace = first.id;\n workspaceValidation = { id: first.id, name: first.name, validated: true, corrected: true };\n }\n }\n }\n }\n } catch {\n // Best-effort — don't block init on network failure\n }\n\n rcConfig = {\n endpoint,\n ...(workspace ? { defaultWorkspace: workspace } : {}),\n ...(resolvedOrgId ? { defaultOrganization: resolvedOrgId } : {}),\n };\n\n writeRcConfig(rcConfig, cwd);\n if (!isJson) {\n output.success('Created .mutagentrc.json');\n if (workspaceValidation) {\n if (workspaceValidation.corrected) {\n output.warn(`Workspace auto-corrected to: ${workspaceValidation.name} (${workspaceValidation.id})`);\n } else {\n output.info(`Workspace: ${workspaceValidation.name} (${workspaceValidation.id})`);\n }\n }\n }\n }\n\n // Step 4: install the CLI skill into the project (same writer as\n // `mutagent skills install`, targeted at the cwd)\n (deps.installSkill ?? installCliSkill)(cwd);\n if (!isJson) {\n output.success(`Installed the Mutagent CLI skill → ${SKILL_DIR}/`);\n }\n\n // Step 5: outro\n if (isJson) {\n output.output({\n success: true,\n configFile: '.mutagentrc.json',\n config: rcConfig,\n skillInstalled: true,\n skillPath: `${SKILL_DIR}/`,\n nextSteps: ['mutagent install helix'],\n });\n } else {\n console.log('');\n console.log(chalk.bold(` What's next:`));\n console.log(` ${chalk.cyan('mutagent install helix'.padEnd(30))}${chalk.dim('# the ADL lifecycle conductor')}`);\n console.log(` ${chalk.cyan('mutagent install diagnostics'.padEnd(30))}${chalk.dim('# trace diagnosis (optional)')}`);\n console.log(` ${chalk.cyan('mutagent install evaluator'.padEnd(30))}${chalk.dim('# eval mining + judging (optional)')}`);\n console.log('');\n console.log(chalk.dim(' Your coding agent now knows these workflows — restart it to pick up'));\n console.log(chalk.dim(' the skill, then just say \"set up Mutagent on this project\".'));\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n return init;\n}\n",
@@ -43,7 +43,7 @@
43
43
  "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { OutputFormatter, getJsonFlag } from '../../lib/output.js';\nimport { handleError } from '../../lib/errors.js';\nimport {\n installPackage,\n VALID_PACKAGES,\n VALID_HARNESSES,\n type InstallDeps,\n} from '../../lib/installer.js';\n\ninterface InstallActionOptions {\n harness: string;\n global: boolean;\n version?: string;\n}\n\n/**\n * Create the `mutagent install <package>` meta-command.\n *\n * Surface:\n * mutagent install <package> [--harness <claude-code|codex|omp>]\n * [--global] [--version <v>] [--json]\n * where <package> ∈ { helix, diagnostics, evaluator }.\n *\n * `deps` is injectable so tests can drive the full parse→action→exit path\n * through CommandTester with a deterministic auth gate / command runner\n * (config credential resolution is frozen at module load, so env overrides\n * alone cannot force the unauthenticated state in a test).\n */\nexport function createInstallCommand(deps?: InstallDeps): Command {\n const install = new Command('install')\n .description('Install a Mutagent package (helix, diagnostics, evaluator)')\n .argument('<package>', `Package to install: ${VALID_PACKAGES.join(', ')}`)\n .option(\n '--harness <harness>',\n `Target harness: ${VALID_HARNESSES.join(', ')}`,\n 'claude-code',\n )\n .option('--global', 'Install to ~/.claude instead of this project', false)\n .option('--version <version>', 'Package version to install (default: latest)')\n .addHelpText('after', `\n${chalk.bold('Arguments & flags:')}\n ${chalk.bold('<package>')} ${VALID_PACKAGES.join(' | ')}\n ${chalk.bold('--harness <h>')} ${VALID_HARNESSES.join(' | ')} ${chalk.dim('(default: claude-code)')}\n ${chalk.bold('--global')} Install to ~/.claude ${chalk.dim('(default: this project)')}\n ${chalk.bold('--version <v>')} Pin a package version ${chalk.dim('(default: latest)')}\n ${chalk.bold('--json')} Structured output\n\n${chalk.bold('Examples:')}\n ${chalk.dim('$')} mutagent install helix\n ${chalk.dim('$')} mutagent install helix --harness codex\n ${chalk.dim('$')} mutagent install diagnostics\n ${chalk.dim('$')} mutagent install evaluator --version 1.2.3\n ${chalk.dim('$')} mutagent install diagnostics --harness codex --json\n\n${chalk.bold('Packages:')}\n ${chalk.bold('helix')} ${chalk.green('(available)')} — the ADLC (Agent Development Life Cycle Orchestrator). Downloaded from a private\n registry via a login-brokered signed URL, sha256-verified, then\n initialized into your project. No static secret ships in the CLI.\n ${chalk.dim('Installs every harness itself (Claude + Codex) — --harness does not apply.')}\n ${chalk.bold('diagnostics')} Public npm package @mutagent/diagnostics ${chalk.green('(available)')}\n ${chalk.bold('evaluator')} Public npm package @mutagent/evaluator ${chalk.green('(available)')}\n\n${chalk.yellow('Note:')} install is login-gated. Run ${chalk.cyan('mutagent login')} first (else exits with a login directive).\n `)\n .action(async (pkg: string, options: InstallActionOptions) => {\n const isJson = getJsonFlag(install);\n const output = new OutputFormatter(isJson ? 'json' : 'table');\n\n try {\n const result = await installPackage(\n pkg,\n { harness: options.harness, global: options.global, version: options.version },\n deps,\n );\n\n if (isJson) {\n output.output({\n success: true,\n package: result.package,\n version: result.version,\n harness: result.harness,\n global: result.global,\n _links: {\n install: 'mutagent install <package> [--harness <h>] [--version <v>]',\n login: 'mutagent login',\n },\n });\n } else {\n output.success(\n `Installed ${result.package}@${result.version} for ${result.harness}` +\n (result.command ? ` (${result.command})` : ''),\n );\n }\n } catch (error) {\n handleError(error, isJson);\n }\n });\n\n return install;\n}\n",
44
44
  "/**\n * brand.ts — the MUTAGENT wordmark banner for the CLI header.\n *\n * Ported from `mutagent-pi/lib/brand.ts` so the CLI, the Pi launcher and the\n * Helix installer all render the SAME identity. Tokens mirror the mutagent-ui\n * design system (app.css):\n * --primary #7E47D7 (violet) --accent #45b8cc (cyan) --background #0C0A10\n *\n * Rendering is defensive by design — the banner must NEVER corrupt machine\n * output. It is suppressed unless stdout is an interactive TTY (so `--json`,\n * pipes and CI stay byte-clean), and degrades: truecolor gradient → flat cyan →\n * plain text → nothing.\n */\n\n/** Brand tokens — swap here to re-skin every surface. */\nexport const BRAND = {\n name: 'MUTAGENT',\n /** violet primary — app.css --primary */\n primary: '#7E47D7',\n /** cyan accent */\n accent: '#45b8cc',\n /** wordmark gradient endpoints — cyan → violet. NO pink/magenta. */\n gradientFrom: '#45b8cc',\n gradientTo: '#7E47D7',\n} as const;\n\n/**\n * MUTAGENT block wordmark (~82 cols). Identical art to the Pi launcher and the\n * orchestrator help-display, so the brand reads the same everywhere.\n */\nexport const WORDMARK: string[] = [\n ' ███╗ ███╗ ██╗ ██╗ ████████╗ █████╗ ██████╗ ███████╗ ███╗ ██╗ ████████╗ ',\n ' ████╗ ████║ ██║ ██║ ╚══██╔══╝ ██╔══██╗ ██╔════╝ ██╔════╝ ████╗ ██║ ╚══██╔══╝ ',\n ' ██╔████╔██║ ██║ ██║ ██║ ███████║ ██║ ███╗ █████╗ ██╔██╗ ██║ ██║ ',\n ' ██║╚██╔╝██║ ██║ ██║ ██║ ██╔══██║ ██║ ██║ ██╔══╝ ██║╚██╗██║ ██║ ',\n ' ██║ ╚═╝ ██║ ╚██████╔╝ ██║ ██║ ██║ ╚██████╔╝ ███████╗ ██║ ╚████║ ██║ ',\n ' ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═══╝ ╚═╝ ',\n];\n\n/** Minimum terminal width the block wordmark needs before we fall back. */\nexport const WORDMARK_MIN_COLUMNS = 84;\n\n// ── color helpers (truecolor ANSI) ───────────────────────────────────────────\nexport type RGB = [number, number, number];\n\nexport function hexToRgb(hex: string): RGB {\n const n = parseInt(hex.slice(1), 16);\n return [(n >> 16) & 255, (n >> 8) & 255, n & 255];\n}\n\nconst lerp = (a: number, b: number, t: number): number => Math.round(a + (b - a) * t);\n\nexport function mix(from: RGB, to: RGB, t: number): RGB {\n return [lerp(from[0], to[0], t), lerp(from[1], to[1], t), lerp(from[2], to[2], t)];\n}\n\nexport const ansi = (r: number, g: number, b: number): string => `\\x1b[38;2;${r};${g};${b}m`;\nexport const RESET = '\\x1b[0m';\n\n/** Apply a per-column gradient across a line's non-space glyphs. */\nexport function gradientLine(line: string, from: RGB, to: RGB): string {\n const chars = Array.from(line);\n const n = chars.length;\n let out = '';\n chars.forEach((ch, i) => {\n if (ch === ' ') {\n out += ch;\n return;\n }\n const [r, g, b] = mix(from, to, n > 1 ? i / (n - 1) : 0);\n out += ansi(r, g, b) + ch;\n });\n return out + RESET;\n}\n\n/** Minimal env shape we read — avoids the NodeJS global namespace. */\nexport type EnvLike = Record<string, string | undefined>;\n\n/** True only on a 24-bit-capable terminal. */\nexport function hasTruecolor(env: EnvLike = process.env): boolean {\n return /truecolor|24bit/i.test(env.COLORTERM ?? '');\n}\n\n// ── banner ───────────────────────────────────────────────────────────────────\n\n/** Injectable environment so the banner is unit-testable without a real TTY. */\nexport interface BannerEnv {\n isTTY: boolean;\n columns: number;\n truecolor: boolean;\n /** MUTAGENT_NO_BANNER=1 opts out entirely. */\n disabled: boolean;\n}\n\n/** Read the render environment from the live process (stdout). */\nexport function detectBannerEnv(\n stream: { isTTY?: boolean; columns?: number } = process.stdout,\n env: EnvLike = process.env,\n): BannerEnv {\n return {\n isTTY: stream.isTTY === true,\n columns: stream.columns ?? 80,\n truecolor: hasTruecolor(env),\n disabled: env.MUTAGENT_NO_BANNER === '1',\n };\n}\n\n/**\n * Render the header banner. Returns '' when it must not print — not a TTY\n * (piped / `--json` / CI), or explicitly disabled. Never throws.\n */\nexport function renderBanner(env: BannerEnv = detectBannerEnv()): string {\n if (env.disabled || !env.isTTY) return '';\n\n const from = hexToRgb(BRAND.gradientFrom);\n const to = hexToRgb(BRAND.gradientTo);\n const wide = env.columns >= WORDMARK_MIN_COLUMNS;\n\n const art = wide ? WORDMARK : [` ${BRAND.name}`];\n const lines = env.truecolor\n ? art.map((l) => gradientLine(l, from, to))\n : art.map((l) => `${ansi(...from)}${l}${RESET}`);\n\n return `\\n${lines.join('\\n')}\\n`;\n}\n"
45
45
  ],
46
- "mappings": "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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACzB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACxB,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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",
47
- "debugId": "68E28EE26BA63D9B64756E2164756E21",
46
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AA+CA,SAAS,aAAgB,CAAC,SAAiB,QAAgC;AAAA,EACzE,IAAI;AAAA,IACF,MAAM,SAAkB,KAAK,MAAM,OAAO;AAAA,IAC1C,OAAO,OAAO,MAAM,MAAM;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAIJ,SAAS,UAAU,GAAW;AAAA,EAEnC,MAAM,WAAW,gBAAgB,UAAU;AAAA,EAC3C,MAAM,SAAS,SAAS,OAAO;AAAA,EAG/B,MAAM,WAAW,QAAQ;AAAA,EAGzB,IAAI,cAAwD;AAAA,EAC5D,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,cAAc,cAAc,aAAa,kBAAkB,OAAO,GAAG,iBAAiB;AAAA,EACxF;AAAA,EAGA,MAAM,SAAS;AAAA,IACb,WAAW,CAAC;AAAA,IACZ,aAAa;AAAA,OACV;AAAA,OACA;AAAA,IACH,QAAQ,QAAQ,IAAI,oBAAoB,aAAa,UAAW,UAAU;AAAA,IAC1E,UAAU,QAAQ,IAAI,qBAAqB,aAAa,YAAa,UAAU;AAAA,IAC/E,kBAAkB,aAAa,oBAAqB,UAAU;AAAA,IAQ9D,wBAAwB,aAAa,mBAChC,YAAY,0BAA0B,mBACtC,UAAU,mBAAmB,mBAAmB;AAAA,IACrD,qBAAqB,aAAa,uBAAwB,UAAU;AAAA,EACtE;AAAA,EAEA,OAAO,aAAa,MAAM,MAAM;AAAA;AAG3B,SAAS,eAAe,CAAC,QAAgB,UAAyB;AAAA,EACvE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,MAAM,SAAS,WAAW;AAAA,EAC1B,MAAM,cAAc;AAAA,IAClB;AAAA,IACA,UAAU,YAAY,OAAO;AAAA,EAC/B;AAAA,EAEA,cAAc,kBAAkB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA;AAO/D,SAAS,mBAAmB,CAAC,OAA8B;AAAA,EAChE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAGA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAOA,MAAM,iBAAiB,oBAAoB;AAAA,EAC3C,MAAM,mBAAmB,MAAM,gBAAgB,aAC1C,MAAM,gBAAgB,oBAAoB;AAAA,EAC/C,MAAM,SAAsC,MAAM,gBAAgB,YAC9D,iBACA,mBACE,mBACC,kBAAkB;AAAA,EAEzB,MAAM,cAAc;AAAA,OACf;AAAA,IACH,QAAQ,MAAM;AAAA,IACd,UAAU,MAAM,YAAY,oBAAoB,YAAY;AAAA,IAC5D,kBAAkB,MAAM,eAAe,oBAAoB;AAAA,IAC3D,wBAAwB;AAAA,IACxB,qBAAqB,MAAM,kBAAkB,oBAAoB;AAAA,IACjE,WAAW,MAAM;AAAA,EACnB;AAAA,EAEA,cAAc,kBAAkB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA;AAG/D,SAAS,gBAAgB,GAAS;AAAA,EACvC,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,cAAc,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC;AAAA,EACpD;AAAA;AAGK,SAAS,cAAc,GAAY;AAAA,EACxC,IAAI,QAAQ,IAAI;AAAA,IAAkB,OAAO;AAAA,EACzC,IAAI,CAAC,WAAW,gBAAgB;AAAA,IAAG,OAAO;AAAA,EAE1C,MAAM,cAAc,cAAc,aAAa,kBAAkB,OAAO,GAAG,iBAAiB;AAAA,EAC5F,OAAO,aAAa,WAAW,aAAa,YAAY,WAAW;AAAA;AAG9D,SAAS,SAAS,GAAuB;AAAA,EAC9C,OAAO,QAAQ,IAAI,oBAAoB,WAAW,EAAE;AAAA;AAG/C,SAAS,mBAAmB,CACjC,aACA,SAA0B,QACpB;AAAA,EACN,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAEA,MAAM,UAAU;AAAA,OACX;AAAA,IACH,kBAAkB;AAAA,IAMlB,wBAAwB;AAAA,EAC1B;AAAA,EAEA,cAAc,kBAAkB,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA;AAG3D,SAAS,sBAAsB,CAAC,gBAA8B;AAAA,EACnE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAEA,MAAM,UAAU;AAAA,OACX;AAAA,IACH,qBAAqB;AAAA,EACvB;AAAA,EAEA,cAAc,kBAAkB,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA;AAAA,IA5N5D,cAwBA,mBAiBA,iBACA;AAAA;AAAA,EA1CA,eAAe,EAAE,OAAO;AAAA,IAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,UAAU,EAAE,OAAO,EAAE,QAAQ,yBAAyB;AAAA,IACtD,QAAQ,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,OAAO;AAAA,IACjD,SAAS,EAAE,OAAO,EAAE,QAAQ,KAAK;AAAA,IACjC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,IACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,gBAAgB,CAAC,EAAE,SAAS;AAAA,IACpE,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,CAAC;AAAA,EAgBK,oBAAoB,EAAE,OAAO;AAAA,IACjC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,IACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,gBAAgB,CAAC,EAAE,SAAS;AAAA,IACpE,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,IACzC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,CAAC,EAAE,MAAM;AAAA,EAUH,kBAAkB,KAAK,QAAQ,GAAG,WAAW,UAAU;AAAA,EACvD,mBAAmB,KAAK,iBAAiB,kBAAkB;AAAA;;;AC+Q1D,SAAS,WAAW,CAAC,OAAgB,QAAwB;AAAA,EAClE,IAAI,iBAAiB,eAAe;AAAA,IAClC,IAAI,QAAQ;AAAA,MACV,MAAM,aAAa,MAAM,OAAO;AAAA,MAEhC,IAAI,iBAAiB,qBAAqB;AAAA,QACvC,WAAuC,cAAc;AAAA,UACpD,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MAEA,IAAI,iBAAiB,uBAAuB;AAAA,QACzC,WAAuC,cAAc;AAAA,UACpD,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MAEA,IAAI,iBAAiB,YAAY,MAAM,eAAe,KAAK;AAAA,QACxD,WAAuC,cAAc;AAAA,UACpD,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,QACpB;AAAA,MACF;AAAA,MAEA,IAAI,MAAM,YAAY;AAAA,QACpB,MAAM,YAAY,oCAAoC,KAAK,MAAM,UAAU;AAAA,QAC3E,MAAM,cAAc,YAAY,UAAU,KAAK;AAAA,QAC9C,WAAuC,iBAAiB;AAAA,UACvD;AAAA,UACA,YAAY,MAAM;AAAA,QACpB;AAAA,MACF;AAAA,MACA,QAAQ,IAAI,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC;AAAA,IACjD,EAAO;AAAA,MACL,QAAQ,MAAM,UAAU,MAAM,SAAS;AAAA,MACvC,IAAI,iBAAiB,qBAAqB;AAAA,QACxC,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wBAAwB;AAAA,MACxC,EAAO,SAAI,iBAAiB,uBAAuB;AAAA,QACjD,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,6BAA6B;AAAA,MAC7C,EAAO,SAAI,iBAAiB,YAAY,MAAM,eAAe,KAAK;AAAA,QAChE,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wBAAwB;AAAA,QACtC,QAAQ,MAAM,sDAAsD;AAAA,QACpE,QAAQ,MAAM,iEAAiE;AAAA,MACjF,EAAO,SAAI,iBAAiB,iBAAiB;AAAA,QAC3C,IAAI,MAAM,YAAY;AAAA,UACpB,QAAQ,MAAM,eAAe,MAAM,YAAY;AAAA,QACjD;AAAA,QACA,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wDAAwD;AAAA,MACxE,EAAO,SAAI,MAAM,YAAY;AAAA,QAC3B,QAAQ,MAAM,eAAe,MAAM,YAAY;AAAA,MACjD;AAAA,MAEA,IAAI,MAAM,SAAS,uBAAuB,MAAM,SAAS,uBAAuB,MAAM,SAAS,iBAAiB;AAAA,QAC9G,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wDAAwD;AAAA,MACxE;AAAA;AAAA,IAEF,QAAQ,KAAK,MAAM,QAAQ;AAAA,EAC7B;AAAA,EAGA,IAAI,SAAS,OAAO,UAAU,UAAU;AAAA,IACtC,MAAM,SAAS;AAAA,IACf,IACE,OAAO,SAAS,wBAChB,OAAO,SAAS,cAChB,OAAO,aAAa,aACpB,OAAO,eAAe,WACtB;AAAA,MACA,MAAM,kBAAkB,OAAO,cAAc,OAAO,WAAW;AAAA,MAC/D,MAAM,UAAU,IAAI,cAClB,kBACA,iBACA,gFACF;AAAA,MACA,IAAI,QAAQ;AAAA,QACV,QAAQ,IAAI,KAAK,UAAU,QAAQ,OAAO,GAAG,MAAM,CAAC,CAAC;AAAA,MACvD,EAAO;AAAA,QACL,QAAQ,MAAM,UAAU,QAAQ,SAAS;AAAA,QACzC,IAAI,QAAQ,YAAY;AAAA,UACtB,QAAQ,MAAM,eAAe,QAAQ,YAAY;AAAA,QACnD;AAAA;AAAA,MAEF,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AAAA,EAGA,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU;AAAA,EACzD,IAAI,QAAQ;AAAA,IACV,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,OAAO,OAAO,SAAS,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;AAAA,EAChG,EAAO;AAAA,IACL,QAAQ,MAAM,UAAU,SAAS;AAAA;AAAA,EAEnC,QAAQ,KAAK,CAAC;AAAA;AAAA,IAtaH,eA0BA,0BAOA,qBAwBA,UAcA,+BAMA,uBAWA;AAAA;AAAA,EAxFA,gBAAN,MAAM,sBAAsB,MAAM;AAAA,IAE9B;AAAA,IAEA;AAAA,IACA;AAAA,IAJT,WAAW,CACF,MACP,SACO,YACA,WAAW,GAClB;AAAA,MACA,MAAM,OAAO;AAAA,MALN;AAAA,MAEA;AAAA,MACA;AAAA,MAGP,KAAK,OAAO;AAAA;AAAA,IAGd,MAAM,GAA8E;AAAA,MAClF,OAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,QACX,iBAAiB,KAAK;AAAA,MACxB;AAAA;AAAA,EAEJ;AAAA,EAOa,2BAA2B;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA,EAEE,sBAAN,MAAM,4BAA4B,cAAc;AAAA,IAC5C;AAAA,IACS;AAAA,IAElB,WAAW,CACT,SACA,UAAsC,CAAC,GACvC;AAAA,MACA,MACE,iBACA,WAAW,6DACX,QAAQ,cAAc,QAAQ,YAAY,KAAK,sCAC/C,CACF;AAAA,MACA,KAAK,cAAc,QAAQ,eAAe;AAAA,QACxC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,KAAK,aAAa,QAAQ,cAAc,QAAQ,YAAY,KAAK;AAAA,MACjE,KAAK,QAAQ,QAAQ;AAAA;AAAA,EAEzB;AAAA,EAEa,WAAN,MAAM,iBAAiB,cAAc;AAAA,IACjC;AAAA,IAET,WAAW,CAAC,QAAgB,SAAiB;AAAA,MAC3C,MACE,OAAO,OAAO,MAAM,KACpB,SACA,WAAW,MAAM,kDAAkD,WACnE,CACF;AAAA,MACA,KAAK,aAAa;AAAA;AAAA,EAEtB;AAAA,EAEa,gCAAgC;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA,EAEE,wBAAN,MAAM,8BAA8B,cAAc;AAAA,IACvD,WAAW,CAAC,SAAkB;AAAA,MAC5B,MACE,sBACA,WAAW,oDACX,qDACA,CACF;AAAA;AAAA,EAEJ;AAAA,EAEa,kBAAN,MAAM,wBAAwB,cAAc;AAAA,IACjD,WAAW,CAAC,SAAiB;AAAA,MAC3B,MACE,oBACA,SACA,4DACA,CACF;AAAA;AAAA,EAEJ;AAAA;;;ACpDO,SAAS,uBAAuB,CAAC,MAAsD;AAAA,EAC5F,MAAM,OAAgC;AAAA,IACpC,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,WAAW,KAAK,aAAa;AAAA,EAC/B;AAAA,EAKA,IAAI,KAAK;AAAA,IAAQ,KAAK,SAAS,KAAK;AAAA,EACpC,IAAI,KAAK;AAAA,IAAS,KAAK,UAAU,KAAK;AAAA,EACtC,IAAI,KAAK;AAAA,IAAc,KAAK,eAAe,KAAK;AAAA,EAChD,IAAI,KAAK,oBAAoB,OAAO,KAAK,KAAK,gBAAgB,EAAE,SAAS,GAAG;AAAA,IAC1E,KAAK,mBAAmB,KAAK;AAAA,EAC/B;AAAA,EAEA,OAAO;AAAA;;;ACTT,qBAAS;AAcF,SAAS,cAAc,CAAC,OAAsC;AAAA,EACnE,OAAO,eAAe,SAAS,KAAK;AAAA;AAY/B,SAAS,kBAAkB,CAAC,OAA6B;AAAA,EAC9D,OAAO,eAAe,KAAK,IAAI,QAAS;AAAA;AAQnC,SAAS,WAAW,CAAC,OAAwD;AAAA,EAClF,IAAI,UAAU,QAAQ,UAAU;AAAA,IAAW,OAAO;AAAA,EAClD,OAAO,iBAAiB,OAAO,MAAM,YAAY,IAAI;AAAA;AAwBhD,SAAS,OAAO,CAAC,KAA0B;AAAA,EAChD,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,MAAM,IAAI;AAAA,IACV,aAAa,IAAI;AAAA,IACjB,cAAc,IAAI;AAAA,IAClB,OAAO,IAAI;AAAA,IACX,UAAU,IAAI;AAAA,IACd,gBAAgB,IAAI;AAAA,IACpB,cAAc,IAAI;AAAA,IAClB,iBAAiB,IAAI;AAAA,IACrB,QAAQ,IAAI;AAAA,IACZ,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,IACd,MAAM,IAAI;AAAA,IACV,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,WAAW,CAAC,KAAuC;AAAA,EACjE,OAAO,IAAI,IAAI,OAAO;AAAA;AAgBjB,SAAS,WAAW,CAAC,KAAkC;AAAA,EAC5D,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,aAAa,IAAI;AAAA,IACjB,MAAM,IAAI;AAAA,IACV,WAAW,IAAI;AAAA,IACf,UAAU,IAAI;AAAA,IACd,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,eAAe,CAAC,KAA+C;AAAA,EAC7E,OAAO,IAAI,IAAI,WAAW;AAAA;AAiBrB,SAAS,UAAU,CAAC,KAAgC;AAAA,EACzD,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,UAAU,mBAAmB,IAAI,QAAQ;AAAA,IACzC,cAAc,IAAI,gBAAgB;AAAA,IAClC,SAAS,IAAI;AAAA,IACb,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,IACd,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,cAAc,CAAC,KAA6C;AAAA,EAC1E,OAAO,IAAI,IAAI,UAAU;AAAA;AAkBpB,SAAS,oBAAoB,CAAC,KAAoD;AAAA,EACvF,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,UAAU,IAAI,YAAY;AAAA,IAC1B,WAAW,IAAI,aAAa;AAAA,IAC5B,SAAS,IAAI;AAAA,IACb,OAAO,IAAI,SAAS;AAAA,IACpB,QAAQ,IAAI,UAAU;AAAA,EACxB;AAAA;AAAA,IApKI;AAAA;AAAA,mBAAoC,OAAO,OAAO,eAAe;AAAA;;;;;;;;;;;;AC9DvE;AAAA;AAgCA,MAAM,iBAAiB;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAA2C;AAAA,EAEnD,WAAW,CAAC,MAMT;AAAA,IACD,KAAK,SAAS,KAAK;AAAA,IACnB,KAAK,WAAW,KAAK,aAAa;AAAA,IAClC,KAAK,cAAc,KAAK;AAAA,IACxB,KAAK,iBAAiB,KAAK;AAAA,IAO3B,IAAI,KAAK,eAAe,KAAK,oBAAoB,QAAQ;AAAA,MACvD,KAAK,sBAAsB;AAAA,IAC7B;AAAA,IAGA,MAAM,aAAa,IAAI;AAAA,IACvB,WAAW,QAAQ,iBAAiB,CAAC,QAAQ;AAAA,MAC3C,IAAI,KAAK;AAAA,QAAa,IAAI,QAAQ,IAAI,kBAAkB,KAAK,WAAW;AAAA,MACxE,IAAI,KAAK;AAAA,QAAgB,IAAI,QAAQ,IAAI,qBAAqB,KAAK,cAAc;AAAA,MACjF,OAAO;AAAA,KACR;AAAA,IAED,KAAK,MAAM,IAAI,SAAS;AAAA,MACtB,UAAU;AAAA,QACR,QAAQ,KAAK;AAAA,MACf;AAAA,MACA,WAAW,KAAK;AAAA,MAChB;AAAA,IACF,CAAC;AAAA;AAAA,EAQK,WAAW,CAAC,OAAuB;AAAA,IACzC,IAAI,SAAS,OAAO,UAAU,UAAU;AAAA,MACtC,MAAM,MAAM;AAAA,MAEZ,IAAI,IAAI,eAAe,KAAK;AAAA,QAC1B,MAAM,IAAI;AAAA,MACZ;AAAA,MACA,IAAI,IAAI,eAAe,KAAK;AAAA,QAC1B,MAAM,IAAI,SAAS,KAAK,IAAI,WAAW,IAAI,QAAQ,eAAe;AAAA,MACpE;AAAA,MAGA,MAAM,cAAc,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY;AAAA,MAC/D,IACE,WAAW,SAAS,WAAW,MAAM,WAAW,SAAS,SAAS,KAAK,WAAW,SAAS,UAAU,MACrG,WAAW,SAAS,gBAAgB,GACpC;AAAA,QACA,MAAM,IAAI,sBAAsB,IAAI,WAAW,IAAI,QAAQ,SAAS;AAAA,MACtE;AAAA,MAEA,IAAI,IAAI,YAAY;AAAA,QAClB,MAAM,IAAI,SAAS,IAAI,YAAY,IAAI,WAAW,IAAI,QAAQ,eAAe;AAAA,MAC/E;AAAA,MAGA,IACE,IAAI,SAAS,wBACb,IAAI,SAAS,cACb,IAAI,aAAa,aACjB,IAAI,eAAe,WACnB;AAAA,QACA,MAAM,kBAAkB,IAAI,cAAc,IAAI,WAAW;AAAA,QACzD,MAAM,IAAI,cACR,kBACA,iBACA,gFACF;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,iBAAiB,aAAa,OAAO,MAAM,YAAY,UAAU;AAAA,MACnE,IAAI,MAAM,QAAQ,SAAS,OAAO,KAAK,MAAM,QAAQ,SAAS,SAAS,KAAK,MAAM,QAAQ,SAAS,cAAc,GAAG;AAAA,QAClH,MAAM,IAAI,cACR,iBACA,4CACA,qFACF;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,iBAAiB,OAAO;AAAA,MAC1B,MAAM,IAAI,cACR,kBACA,MAAM,SACN,+CACF;AAAA,IACF;AAAA,IAEA,MAAM,IAAI,cACR,iBACA,gCACA,+CACF;AAAA;AAAA,OAMY,QAAU,CAAC,MAAc,SAAmC;AAAA,IAExE,MAAM,aAAa,SAAS;AAAA,IAC5B,IAAI,eAAuC,CAAC;AAAA,IAC5C,IAAI,sBAAsB,SAAS;AAAA,MACjC,WAAW,QAAQ,CAAC,OAAO,QAAQ;AAAA,QACjC,aAAa,OAAO;AAAA,OACrB;AAAA,IACH,EAAO,SAAI,YAAY;AAAA,MACrB,eAAe;AAAA,IACjB;AAAA,IAGA,MAAM,iBAAyC,CAAC;AAAA,IAChD,IAAI,KAAK;AAAA,MAAa,eAAe,oBAAoB,KAAK;AAAA,IAC9D,IAAI,KAAK;AAAA,MAAgB,eAAe,uBAAuB,KAAK;AAAA,IAEpE,MAAM,WAAW,MAAM,MAAM,GAAG,KAAK,WAAW,QAAQ;AAAA,SACnD;AAAA,MACH,SAAS;AAAA,QACP,aAAa,KAAK;AAAA,QAClB,gBAAgB;AAAA,WACb;AAAA,WACA;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IAED,IAAI,CAAC,SAAS,IAAI;AAAA,MAChB,IAAI,SAAS,WAAW,KAAK;AAAA,QAC3B,MAAM,IAAI;AAAA,MACZ;AAAA,MACA,IAAI,SAAS,WAAW,KAAK;AAAA,QAC3B,MAAM,IAAI,SAAS,KAAK,MAAM,SAAS,KAAK,KAAK,eAAe;AAAA,MAClE;AAAA,MACA,MAAM,QAAQ,MAAM,SAAS,KAAK;AAAA,MAElC,MAAM,aAAa,MAAM,YAAY;AAAA,MACrC,IACE,WAAW,SAAS,WAAW,MAAM,WAAW,SAAS,SAAS,KAAK,WAAW,SAAS,UAAU,MACrG,WAAW,SAAS,gBAAgB,GACpC;AAAA,QACA,MAAM,IAAI,sBAAsB,KAAK;AAAA,MACvC;AAAA,MACA,MAAM,IAAI,SAAS,SAAS,QAAQ,KAAK;AAAA,IAC3C;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAOjB,WAAU,CAAC,SAA0H;AAAA,IACzI,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,WAAW;AAAA,QAChD,OAAO,SAAS;AAAA,QAChB,QAAQ,SAAS;AAAA,QACjB,MAAM,SAAS;AAAA,QACf,QAAQ,SAAS;AAAA,MACnB,CAAC;AAAA,MACD,OAAO;AAAA,QACL,MAAM,YAAY,SAAS,OAAO,IAAI;AAAA,QACtC,OAAO,SAAS,OAAO;AAAA,MACzB;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,SAAQ,CAAC,IAA4B;AAAA,IACzC,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,SAAS;AAAA,QAC9C,IAAI,SAAS,IAAI,EAAE;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,MAAwC;AAAA,IACxD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QACjD,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,QACX,aAAa,KAAK,eAAe;AAAA,QACjC,cAAc,KAAK;AAAA,QACnB,OAAO,KAAK,SAAS;AAAA,QACrB,UAAU,KAAK,YAAY;AAAA,QAC3B,gBAAgB,KAAK,kBAAkB;AAAA,QACvC,cAAc,KAAK,gBAAgB;AAAA,QACnC,iBAAiB,KAAK,mBAAmB;AAAA,QACzC,QAAQ,KAAK,UAAU;AAAA,QACvB,UAAU,KAAK,YAAY;AAAA,QAC3B,UAAU,KAAK,YAAY;AAAA,QAC3B,MAAM,KAAK,QAAQ;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAAY,MAAwC;AAAA,IACpE,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QACjD,IAAI,SAAS,IAAI,EAAE;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK,QAAQ;AAAA,UACnB,aAAa,KAAK,eAAe;AAAA,UACjC,cAAc,KAAK,gBAAgB;AAAA,UACnC,OAAO,KAAK,SAAS;AAAA,UACrB,UAAU,KAAK,YAAY;AAAA,UAC3B,gBAAgB,KAAK,kBAAkB;AAAA,UACvC,cAAc,KAAK,gBAAgB;AAAA,UACnC,iBAAiB,KAAK,mBAAmB;AAAA,UACzC,QAAQ,KAAK,UAAU;AAAA,UACvB,UAAU,KAAK,YAAY;AAAA,UAC3B,UAAU,KAAK,YAAY;AAAA,UAC3B,MAAM,KAAK,QAAQ;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAA2B;AAAA,IAC3C,IAAI;AAAA,MACF,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QAChC,IAAI,SAAS,IAAI,EAAE;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAQpB,eAAc,CAAC,SAA8F;AAAA,IACjH,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,eAAe;AAAA,QACxD,iBAAiB;AAAA,MACnB,CAAC;AAAA,MAED,MAAM,aAAa,gBAAgB,SAAS,UAAU;AAAA,MAEtD,MAAM,SAAS,SAAS,UAAU;AAAA,MAClC,MAAM,QAAQ,SAAS,SAAS,WAAW;AAAA,MAC3C,OAAO;AAAA,QACL,MAAM,WAAW,MAAM,QAAQ,SAAS,KAAK;AAAA,QAC7C,OAAO,SAAS;AAAA,MAClB;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,aAAY,CAAC,IAAgC;AAAA,IACjD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,aAAa;AAAA,QACtD,MAAM;AAAA,MACR,CAAC;AAAA,MACD,OAAO,YAAY,QAAQ;AAAA,MAC3B,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAQpB,cAAa,CAAC,SAA4G;AAAA,IAC9H,IAAI;AAAA,MAOF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,cAAc;AAAA,QAC5D,UAAU,SAAS;AAAA,QACnB,iBAAiB;AAAA,MACnB,CAAC;AAAA,MAKD,MAAM,UAAU,eAAe,SAAS,OAAO;AAAA,MAC/C,MAAM,QAAgB,SAAS;AAAA,MAE/B,MAAM,SAAS,SAAS,UAAU;AAAA,MAClC,MAAM,QAAQ,SAAS,SAAS,QAAQ;AAAA,MACxC,OAAO;AAAA,QACL,MAAM,QAAQ,MAAM,QAAQ,SAAS,KAAK;AAAA,QAC1C;AAAA,MACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAA+B;AAAA,IAC/C,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,YAAY;AAAA,QAC1D;AAAA,MACF,CAAC;AAAA,MACD,OAAO,WAAW,QAAQ;AAAA,MAC1B,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,iBAAgB,GAAsI;AAAA,IAC1J,IAAI;AAAA,MACF,MAAM,OAAO,KAAK;AAAA,MAClB,IAAI,CAAC;AAAA,QAAM,OAAO,EAAE,QAAQ,CAAC,EAAE;AAAA,MAC/B,MAAM,KAAK,gBAAgB,mBAAmB,IAAI;AAAA,MAClD,OAAO,MAAM,KAAK,QAAkI,yBAAyB,IAAI;AAAA,MACjL,MAAM;AAAA,MACN,OAAO,EAAE,QAAQ,CAAC,EAAE;AAAA;AAAA;AAAA,EAIxB,qBAAqB,GAAuB;AAAA,IAC1C,OAAO,KAAK;AAAA;AAAA,EAGd,eAAe,GAAuB;AAAA,IACpC,OAAO,KAAK;AAAA;AAAA,OAOR,cAAa,GAAkB;AAAA,IAInC,MAAM,+BACJ,CAAC,KAAK,eAAe,KAAK,wBAAwB;AAAA,IACpD,IAAI,KAAK,kBAAkB,CAAC;AAAA,MAA8B;AAAA,IAE1D,IAAI,CAAC,KAAK,gBAAgB;AAAA,MACxB,IAAI,OAAO,MAAM,mBAAmB,KAAK,QAAQ,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;AAAA,MAC9E,IAAI,KAAK,WAAW,GAAG;AAAA,QAErB,MAAM,IAAI,QAAQ,OAAK,WAAW,GAAG,IAAI,CAAC;AAAA,QAC1C,OAAO,MAAM,mBAAmB,KAAK,QAAQ,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;AAAA,MAC5E;AAAA,MACA,IAAI,KAAK,SAAS,KAAK,KAAK,IAAI;AAAA,QAC9B,KAAK,iBAAiB,KAAK,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,IAIA,IAAI,KAAK,wBAAwB,UAAU,KAAK,gBAAgB;AAAA,MAC9D,IAAI;AAAA,QACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,eAAe,EAAE,iBAAiB,MAAM,CAAC;AAAA,QACpF,MAAM,aAAa,gBAAgB,SAAS,UAAU;AAAA,QACtD,IAAI,WAAW,WAAW,KAAK,WAAW,IAAI;AAAA,UAE5C,KAAK,cAAc,WAAW,GAAG;AAAA,UACjC,KAAK,sBAAsB;AAAA,QAC7B,EAAO,SAAI,WAAW,SAAS,GAAG;AAAA,UAChC,MAAM,YAAY,WAAW,KAAK,CAAC,OAAkB,GAAG,SAAS;AAAA,UACjE,IAAI,WAAW;AAAA,YAEb,KAAK,cAAc,UAAU;AAAA,YAC7B,KAAK,sBAAsB;AAAA,UAC7B,EAAO;AAAA,YAGL,MAAM,QAAQ,WAAW,MAAM;AAAA,YAC/B,IAAI,OAAO;AAAA,cACT,KAAK,cAAc,KAAK,eAAe,MAAM;AAAA,cAC7C,KAAK,sBAAsB;AAAA,YAC7B;AAAA;AAAA,QAEJ;AAAA,QACA,MAAM;AAAA,IAGV;AAAA;AAAA,EAOF,sBAAsB,GAAwB;AAAA,IAC5C,OAAO,KAAK;AAAA;AAAA,EAUd,2BAA2B,GAAW;AAAA,IACpC,IAAI,CAAC,KAAK,eAAe,KAAK,wBAAwB,QAAQ;AAAA,MAC5D,MAAM,IAAI,cACR,sBACA,4BACA,wGACF;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,wBAAwB,aAAa;AAAA,MAC5C,MAAM,IAAI,cACR,uBACA,2GACA,iHACF;AAAA,IACF;AAAA,IAEA,OAAO,KAAK;AAAA;AAAA,OAGR,aAAY,CAAC,IAAyC;AAAA,IAC1D,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,aAAa;AAAA,QAC3D;AAAA,MACF,CAAC;AAAA,MACD,OAAO,qBAAqB,QAAQ;AAAA,MACpC,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAWpB,eAAc,CAAC,MAWC;AAAA,IAEpB,KAAK,4BAA4B;AAAA,IA8BjC,MAAM,OAAO,wBAAwB,IAAI;AAAA,IAEzC,IAAI;AAAA,MACF,MAAM,UAAU,MAAM,KAAK,QAAkB,kBAAkB;AAAA,QAC7D,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC;AAAA,MACD,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,eAAc,CAAC,IAAY,MAMgB;AAAA,IAG/C,MAAM,cAAc,KAAK,4BAA4B;AAAA,IAErD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,eAAe;AAAA,QAC7D;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf,WAAW,KAAK;AAAA,UAChB,SAAS,KAAK;AAAA,QAChB;AAAA,MACF,CAAC;AAAA,MACD,OAAO,KAAK,WAAW,QAAQ,GAAG,YAAY;AAAA,MAC9C,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,eAAc,CAAC,IAA8C;AAAA,IAGjE,MAAM,cAAc,KAAK,4BAA4B;AAAA,IAErD,IAAI;AAAA,MACF,MAAM,KAAK,IAAI,gBAAgB,eAAe,EAAE,GAAG,CAAC;AAAA,MACpD,OAAO,EAAE,YAAY;AAAA,MACrB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAG5B;AAKA,eAAsB,YAAY,GAA8B;AAAA,EAC9D,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,SAAS,UAAU;AAAA,IACzB,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,IAAI;AAAA,IACZ;AAAA,IAEA,MAAM,SAAS,WAAW;AAAA,IAC1B,YAAY,IAAI,iBAAiB;AAAA,MAC/B;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,aAAa,OAAO;AAAA,MACpB,gBAAgB,OAAO;AAAA,MACvB,iBAAiB,OAAO;AAAA,IAC1B,CAAC;AAAA,IAGD,MAAM,UAAU,cAAc,EAAE,MAAM,CAAC,QAAiB;AAAA,MAEtD,IAAI,QAAQ,IAAI,gBAAgB;AAAA,QAC9B,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,QAC/D,QAAQ,OAAO,MAAM,yCAAyC;AAAA,CAAW;AAAA,MAC3E;AAAA,KACD;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGF,SAAS,cAAc,GAAS;AAAA,EACrC,YAAY;AAAA;AAGd,eAAsB,cAAc,CAAC,QAAgB,UAAoC;AAAA,EAEvF,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,0BAA0B;AAAA,MACxD,SAAS,EAAE,aAAa,OAAO;AAAA,IACjC,CAAC;AAAA,IACD,OAAO,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAQX,eAAsB,kBAAkB,CAAC,QAAgB,UAA2D;AAAA,EAClH,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,8BAA8B;AAAA,MAC5D,SAAS,EAAE,aAAa,OAAO;AAAA,IACjC,CAAC;AAAA,IACD,IAAI,CAAC,SAAS;AAAA,MAAI,OAAO,CAAC;AAAA,IAC1B,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IACjC,OAAO,KAAK,QAAQ,CAAC;AAAA,IACrB,MAAM;AAAA,IACN,OAAO,CAAC;AAAA;AAAA;AAQZ,eAAsB,eAAe,CAAC,QAAgB,UAAkB,OAA6E;AAAA,EACnJ,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,2BAA2B;AAAA,MACzD,SAAS,EAAE,aAAa,QAAQ,qBAAqB,MAAM;AAAA,IAC7D,CAAC;AAAA,IACD,IAAI,CAAC,SAAS;AAAA,MAAI,OAAO,CAAC;AAAA,IAC1B,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IACjC,OAAO,KAAK,cAAc,CAAC;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO,CAAC;AAAA;AAAA;AAAA,IA7ER,YAAqC;AAAA;AAAA,EAplBzC;AAAA,EACA;AAAA,EAIA;AAAA;;;ACRA,oBAAS;AACT;AACA,yBAAS;AACT,iBAAS,mBAAM;AACf,0BAAS;;;ACDT;AACA;AALA;AACA;AACA,uBAAS;AACT,iBAAS;;;ACHT;AACA,uBAAS,6BAAY;AACrB,iBAAS;AAcT,IAAI,eAAsC;AAC1C,IAAI,oBAAoB;AAMjB,SAAS,aAAa,CAAC,SAAuB;AAAA,EACnD,oBAAoB;AAAA,EACpB,eAAe;AAAA;AAWV,SAAS,iBAAiB,CAAC,aAAqB,mBAAmC;AAAA,EACxF,IAAI,iBAAiB;AAAA,IAAM,OAAO;AAAA,EAElC,IAAI,eAAe;AAAA,EACnB,IAAI,qBAAqB;AAAA,EAEzB,IAAI;AAAA,IAEF,MAAM,iBAAiB;AAAA,MACrB,MAAK,QAAQ,IAAI,GAAG,WAAW,UAAU,gBAAgB,UAAU;AAAA,MACnE,MAAK,QAAQ,IAAI,GAAG,gBAAgB,WAAW,UAAU,gBAAgB,UAAU;AAAA,IACrF;AAAA,IACA,WAAW,KAAK,gBAAgB;AAAA,MAC9B,IAAI,YAAW,CAAC,GAAG;AAAA,QACjB,MAAM,UAAU,cAAa,GAAG,OAAO;AAAA,QAGvC,MAAM,WAAW,0CAA0C,KAAK,OAAO;AAAA,QACvE,MAAM,WAAW,kDAAkD,KAAK,OAAO;AAAA,QAG/E,IAAI,cAAc,KAAK,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU;AAAA,UACzD,MAAM,IAAI,MACR,+EACA,+CACF;AAAA,QACF;AAAA,QACA,IAAI,WAAW;AAAA,UAAI,eAAe,SAAS,GAAG,KAAK;AAAA,QACnD,IAAI,WAAW;AAAA,UAAI,qBAAqB,SAAS,GAAG,KAAK;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,KAAK;AAAA,IAKZ,IAAI,eAAe,SAAS,IAAI,QAAQ,WAAW,6BAA6B,GAAG;AAAA,MACjF,MAAM;AAAA,IACR;AAAA;AAAA,EAGF,eAAe,EAAE,YAAY,cAAc,mBAAmB;AAAA,EAC9D,OAAO;AAAA;AAOF,SAAS,WAAW,CAAC,SAAuC;AAAA,EACjE,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAGrB,MAAM,aAAa,QAAQ,SAAS,QAAQ,OAAO,KAAK,IAAI;AAAA,EAE5D,MAAM,UAAU,QAAQ,KAAK;AAAA,EAE7B,OAAO,QAAQ,YAAY,QAAQ,QAAQ,IAAI;AAAA;AAAA;AAG1C,MAAM,gBAAgB;AAAA,EACP;AAAA,EAApB,WAAW,CAAS,QAAsB;AAAA,IAAtB;AAAA;AAAA,EAEpB,MAAM,CAAC,MAAqB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAE1B,IAAI,WAAW;AAAA,MACf,IACE,sBAAsB,WACtB,SAAS,QACT,OAAO,SAAS,YAChB,CAAC,MAAM,QAAQ,IAAI,KACnB,gBAAiB,MACjB;AAAA,QACA,WAAW;AAAA,aACL;AAAA,UACJ,SAAS,kBAAkB,iBAAiB;AAAA,QAC9C;AAAA,MACF;AAAA,MACA,QAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IAC/C,EAAO;AAAA,MACL,KAAK,YAAY,IAAI;AAAA;AAAA;AAAA,EAIjB,WAAW,CAAC,MAAqB;AAAA,IACvC,IAAI,MAAM,QAAQ,IAAI,GAAG;AAAA,MACvB,KAAK,YAAY,IAAI;AAAA,IACvB,EAAO,SAAI,QAAQ,OAAO,SAAS,UAAU;AAAA,MAC3C,KAAK,aAAa,IAA+B;AAAA,IACnD,EAAO;AAAA,MACL,QAAQ,IAAI,IAAI;AAAA;AAAA;AAAA,EAIZ,WAAW,CAAC,MAAuB;AAAA,IACzC,IAAI,KAAK,WAAW,GAAG;AAAA,MACrB,QAAQ,IAAI,MAAM,KAAK,YAAY,CAAC;AAAA,MACpC;AAAA,IACF;AAAA,IAGA,MAAM,YAAY,KAAK;AAAA,IACvB,IAAI,CAAC,aAAa,OAAO,cAAc,UAAU;AAAA,MAC/C,KAAK,QAAQ,UAAQ;AAAA,QAAE,QAAQ,IAAI,KAAK,OAAO,IAAI,GAAG;AAAA,OAAI;AAAA,MAC1D;AAAA,IACF;AAAA,IAEA,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,IAGlC,MAAM,kBAAkB,CAAC,QAAyB;AAAA,MAChD,IAAI,QAAQ,QAAQ,QAAQ;AAAA,QAAW,OAAO;AAAA,MAC9C,IAAI,OAAO,QAAQ;AAAA,QAAU,OAAO,KAAK,UAAU,GAAG;AAAA,MACtD,IAAI,OAAO,QAAQ;AAAA,QAAU,OAAO;AAAA,MACpC,IAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU;AAAA,QAClF,OAAO,IAAI,SAAS;AAAA,MACtB;AAAA,MACA,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,IAI3B,MAAM,SAAiC,CAAC;AAAA,IACxC,KAAK,QAAQ,SAAO;AAAA,MAClB,OAAO,OAAO,KAAK,IACjB,IAAI,QACJ,GAAG,KAAK,IAAI,UAAQ,gBAAiB,KAAiC,IAAI,EAAE,MAAM,CACpF;AAAA,KACD;AAAA,IAGD,MAAM,SAAS,KAAK,IAAI,SAAO,MAAM,KAAK,IAAI,YAAY,EAAE,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI;AAAA,IACjG,QAAQ,IAAI,MAAM;AAAA,IAClB,QAAQ,IAAI,KAAK,IAAI,SAAO,IAAI,OAAO,OAAO,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAGrE,KAAK,QAAQ,UAAQ;AAAA,MACnB,MAAM,MAAM,KAAK,IAAI,SAAO;AAAA,QAC1B,MAAM,QAAQ,gBAAiB,KAAiC,IAAI;AAAA,QACpE,MAAM,QAAQ,OAAO,QAAQ;AAAA,QAC7B,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,GAAG,KAAK;AAAA,OAC1C,EAAE,KAAK,IAAI;AAAA,MACZ,QAAQ,IAAI,GAAG;AAAA,KAChB;AAAA,IAED,QAAQ,IAAI,MAAM,KAAK;AAAA,EAAK,OAAO,KAAK,MAAM,aAAa,CAAC;AAAA;AAAA,EAGtD,YAAY,CAAC,MAAqC;AAAA,IACxD,MAAM,eAAe,KAAK,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,IAAI,OAAK,EAAE,MAAM,CAAC;AAAA,IAErE,OAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,WAAW;AAAA,MAC7C,MAAM,eAAe,MAAM,KAAK,IAAI,OAAO,YAAY,CAAC;AAAA,MACxD,IAAI;AAAA,MAEJ,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,QACzC,iBAAiB;AAAA,MACnB,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,QACpC,iBAAiB,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,MAChD,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,QACpC,iBAAiB;AAAA,MACnB,EAAO,SAAI,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,OAAO,UAAU,UAAU;AAAA,QAC/F,iBAAiB,MAAM,SAAS;AAAA,MAClC,EAAO;AAAA,QACL,iBAAiB,KAAK,UAAU,KAAK;AAAA;AAAA,MAGvC,QAAQ,IAAI,GAAG,iBAAiB,gBAAgB;AAAA,KACjD;AAAA;AAAA,EAGH,OAAO,CAAC,SAAuB;AAAA,IAC7B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IACjE,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,MAAM,KAAI,SAAS,CAAC;AAAA;AAAA;AAAA,EAI1C,KAAK,CAAC,SAAiB,MAAe,iBAAgC;AAAA,IACpE,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,MAAM,SAAkC,EAAE,SAAS,OAAO,OAAO,QAAQ;AAAA,MACzE,IAAI;AAAA,QAAM,OAAO,OAAO;AAAA,MACxB,IAAI;AAAA,QAAiB,OAAO,kBAAkB;AAAA,MAC9C,QAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC7C,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,IAAI,KAAI,SAAS,CAAC;AAAA;AAAA;AAAA,EAIxC,IAAI,CAAC,SAAuB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,MAAM,KAAK,KAAI,SAAS,CAAC;AAAA,IACvC;AAAA;AAAA,EAGF,IAAI,CAAC,SAAuB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IAC3D,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,OAAO,KAAI,SAAS,CAAC;AAAA;AAAA;AAG7C;AASO,SAAS,aAAa,CAAC,MAAc,QAA0B;AAAA,EACpE,IAAI,QAAQ;AAAA,IAEV,MAAM,OAAO,MAAc;AAAA,MAAG;AAAA;AAAA,IAC9B,OAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAGA,MAAM,QAAQ,YAA8B;AAAA,IAC1C,QAAQ,SAAS,QAAQ,MAAa;AAAA,IACtC,OAAO,IAAI,IAAI,EAAE,MAAM;AAAA;AAAA,EAGzB,OAAO,EAAE,MAAM;AAAA;;;ADpQjB;;;AEPA;;;ACeA;AAFA,iBAAS;AACT,0BAAS;;;ACdT,uBAAS,6BAAY;AAErB,iBAAS;AAmJF,SAAS,WAAW,CAAC,MAAc,QAAQ,IAAI,GAAY;AAAA,EAChE,OAAO,YAAW,MAAK,KAAK,kBAAkB,CAAC;AAAA;;;AD5H1C,SAAS,aAAa,CAAC,QAA0B,MAAc,QAAQ,IAAI,GAAS;AAAA,EACzF,MAAM,SAAS,MAAK,KAAK,kBAAkB;AAAA,EAC3C,eAAc,QAAQ,KAAK,UAAU,QAAQ,MAAM,CAAC,IAAI;AAAA,CAAI;AAAA;AAwBvD,SAAS,gBAAgB,CAC9B,MAAc,QAAQ,IAAI,GAC1B,OAAuB,CAAC,GACN;AAAA,EAClB,MAAM,OAAO,KAAK,cAAc;AAAA,EAChC,MAAM,QAAQ,KAAK,eAAe;AAAA,EAClC,MAAM,QAAQ,KAAK,iBAAiB;AAAA,EAEpC,MAAM,MAAM,KAAK;AAAA,EACjB,MAAM,WAA6B;AAAA,IACjC,UAAU,IAAI,YAAY;AAAA,OACtB,IAAI,mBAAmB,EAAE,kBAAkB,IAAI,iBAAiB,IAAI,CAAC;AAAA,OACrE,IAAI,sBAAsB,EAAE,qBAAqB,IAAI,oBAAoB,IAAI,CAAC;AAAA,EACpF;AAAA,EAEA,IAAI,MAAM,GAAG,GAAG;AAAA,IACd,OAAO,EAAE,SAAS,OAAO,gBAAgB,MAAM,QAAQ,SAAS;AAAA,EAClE;AAAA,EAEA,MAAM,UAAU,GAAG;AAAA,EACnB,OAAO,EAAE,SAAS,MAAM,gBAAgB,OAAO,QAAQ,SAAS;AAAA;;;AEvElE;AACA;AAFA,kBAAS;;;AC0CT;AAZA;AACA;AACA,oBAAS;AACT,iBAAS;AACT;AAAA,gBACE;AAAA,eACA;AAAA,kBACA;AAAA;AAAA;AAAA,mBAGA;AAAA;;;ACLF;AAIO,IAAM,uBAAuB;AAoC7B,SAAS,cAAc,GAAY;AAAA,EACxC,MAAM,SAAS,UAAU;AAAA,EACzB,MAAM,SAAS,WAAW;AAAA,EAC1B,MAAM,UAAU,OAAO,YAAY;AAAA,EACnC,MAAM,UAAkC,CAAC;AAAA,EACzC,IAAI,OAAO;AAAA,IAAkB,QAAQ,oBAAoB,OAAO;AAAA,EAChE,IAAI,OAAO;AAAA,IAAqB,QAAQ,uBAAuB,OAAO;AAAA,EACtE,OAAO,EAAE,SAAS,QAAQ,QAAQ;AAAA;AAI7B,SAAS,cAAc,GAAW;AAAA,EACvC,OAAO,QAAQ,IAAI,eAAe;AAAA;AAWpC,eAAsB,aAAa,CACjC,OACA,OAAsB,CAAC,GACR;AAAA,EACf,IAAI;AAAA,IACF,MAAM,QAAQ,KAAK,eAAe,gBAAgB;AAAA,IAGlD,IAAI,CAAC,KAAK;AAAA,MAAQ;AAAA,IAElB,MAAM,YAAY,KAAK,aAAa,WAAW;AAAA,IAC/C,MAAM,OAA8B;AAAA,MAClC,KAAK,MAAM;AAAA,MACX,SAAS,MAAM;AAAA,MACf,SAAS,MAAM;AAAA,MACf,YAAY,KAAK,cAAc,eAAe;AAAA,IAChD;AAAA,IAEA,MAAM,UAAU,GAAG,KAAK,8BAA8B;AAAA,MACpD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,aAAa,KAAK;AAAA,WACf,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,MACzB,QAAQ,YAAY,QAAQ,KAAK,aAAa,oBAAoB;AAAA,IACpE,CAAC;AAAA,IACD,MAAM;AAAA;;;ADlBV,eAAsB,YAAY,CAChC,MACA,OAAkB,CAAC,GACW;AAAA,EAC9B,MAAM,QAAQ,KAAK,eAAe,gBAAgB;AAAA,EAClD,MAAM,YAAY,KAAK,aAAa,WAAW;AAAA,EAG/C,MAAM,aAAa,MAAM,gBAAgB,WAAW,MAAM,KAAK,OAAO;AAAA,EAGtE,MAAM,UAAU,KAAK,WAAW,MAAK,SAAQ,GAAG,aAAa,OAAO;AAAA,EACpE,MAAM,aAAa,MAAK,SAAS,WAAW,OAAO;AAAA,EACnD,WAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAAA,EAEzC,MAAM,UAAU,MAAK,YAAY,gBAAgB,WAAW,aAAa;AAAA,EACzE,MAAM,UAAU,GAAG,WAAW,OAAO,QAAQ,GAAG,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,EAGtE,MAAM,WAAW,KAAK,YAAY;AAAA,EAClC,MAAM,SAAS,WAAW,KAAK,OAAO;AAAA,EAGtC,MAAM,SAAS,KAAK,UAAU;AAAA,EAC9B,MAAM,UAAU,MAAM,OAAO,OAAO,GAAG,YAAY;AAAA,EACnD,MAAM,WAAW,WAAW,OAAO,YAAY;AAAA,EAC/C,IAAI,WAAW,UAAU;AAAA,IACvB,OAAO,OAAO;AAAA,IACd,MAAM,IAAI,cACR,mBACA,gEAAgE,SAAS,MAAM,GAAG,EAAE,WAAU,OAAO,MAAM,GAAG,EAAE,QAChH,6EACF;AAAA,EACF;AAAA,EAGA,WAAW,SAAS,OAAO;AAAA,EAG3B,MAAM,UAAU,KAAK,WAAW;AAAA,EAChC,MAAM,QAAQ,SAAS,UAAU;AAAA,EAGjC,MAAM,gBAAgB,KAAK,iBAAiB;AAAA,EAC5C,MAAM,UAAU,MAAM,cAAc,UAAU;AAAA,EAM9C,MAAM,WAAW,CAAC,MAAM;AAAA,EACxB,IAAI,KAAK;AAAA,IAAQ,SAAS,KAAK,UAAU;AAAA,EAEzC,MAAM,UAAU,KAAK,WAAW;AAAA,EAChC,MAAM,OAAO,MAAM,QAAQ,SAAS,UAAU,QAAQ,IAAI,CAAC;AAAA,EAC3D,IAAI,SAAS,GAAG;AAAA,IACd,MAAM,IAAI,cACR,kBACA,sCAAsC,OAAO,IAAI,MACjD,wFACF;AAAA,EACF;AAAA,EAGA,OAAO,EAAE,SAAS,WAAW,QAAQ;AAAA;AAYvC,eAAe,eAAe,CAC5B,WACA,MACA,SAC8B;AAAA,EAC9B,IAAI,CAAC,KAAK,QAAQ;AAAA,IAChB,MAAM,IAAI,cACR,iBACA,6CACA,qBACF;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,GAAG,KAAK,6CAA6C,mBAAmB,OAAO;AAAA,EAE3F,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,MAAM,UAAU,KAAK;AAAA,MACzB,QAAQ;AAAA,MACR,SAAS,EAAE,aAAa,KAAK,WAAW,KAAK,QAAQ;AAAA,IACvD,CAAC;AAAA,IACD,MAAM;AAAA,IACN,MAAM,IAAI,cACR,sBACA,+CACA,iFACF;AAAA;AAAA,EAGF,IAAI,IAAI,WAAW,KAAK;AAAA,IACtB,MAAM,IAAI,cACR,iBACA,gDACA,iCACF;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,IAAI,IAAI;AAAA,IACX,MAAM,SAAS,MAAM,iBAAiB,GAAG;AAAA,IACzC,MAAM,IAAI,cACR,kBACA,0BAA0B,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,MACxE,yEACF;AAAA,EACF;AAAA,EAEA,MAAM,MAAe,MAAM,IAAI,KAAK;AAAA,EACpC,IAAI,CAAC,iBAAiB,GAAG,GAAG;AAAA,IAC1B,MAAM,IAAI,cACR,kBACA,6EACA,4DACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAQT,eAAe,eAAe,CAAC,KAAa,UAAiC;AAAA,EAC3E,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,MAAM,WAAW,MAAM,GAAG;AAAA,IAChC,MAAM;AAAA,IACN,MAAM,IAAI,cACR,sBACA,qDACA,iEACF;AAAA;AAAA,EAEF,IAAI,CAAC,IAAI,IAAI;AAAA,IACX,MAAM,IAAI,cACR,kBACA,sCAAsC,OAAO,IAAI,MAAM,MACvD,iEACF;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,OAAO,KAAK,MAAM,IAAI,YAAY,CAAC;AAAA,EACjD,eAAc,UAAU,KAAK;AAAA;AAG/B,eAAe,aAAa,CAAC,UAAmC;AAAA,EAC9D,OAAO,QAAQ,QAAQ,WAAW,QAAQ,EAAE,OAAO,cAAa,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAC;AAAA;AAI1F,SAAS,cAAc,CAAC,SAAiB,SAAgC;AAAA,EACvE,OAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,IAC5C,MAAM,QAAQ,MAAM,OAAO,CAAC,QAAQ,SAAS,MAAM,OAAO,GAAG;AAAA,MAC3D,OAAO,CAAC,UAAU,UAAU,MAAM;AAAA,IACpC,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,IACb,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAkB;AAAA,MACzC,UAAU,MAAM,SAAS,OAAO;AAAA,KACjC;AAAA,IACD,MAAM,GAAG,SAAS,CAAC,QAAe;AAAA,MAChC,OACE,IAAI,cACF,kBACA,uCAAuC,IAAI,WAC3C,uDACF,CACF;AAAA,KACD;AAAA,IACD,MAAM,GAAG,SAAS,CAAC,SAAS;AAAA,MAC1B,IAAI,SAAS,GAAG;AAAA,QACd,QAAQ;AAAA,MACV,EAAO;AAAA,QACL,OACE,IAAI,cACF,kBACA,gDAAgD,OAAO,QAAQ,CAAC,MAAM,SAAS,IAAI,OAAO,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,MACnH,uEACF,CACF;AAAA;AAAA,KAEH;AAAA,GACF;AAAA;AAOH,SAAS,oBAAoB,CAAC,cAAuC;AAAA,EACnE,MAAM,SAAS,YAAW,MAAK,cAAc,WAAW,cAAc,CAAC,IACnE,MAAK,cAAc,SAAS,IAC5B;AAAA,EACJ,MAAM,cAAc,MAAK,QAAQ,cAAc;AAAA,EAE/C,IAAI,CAAC,YAAW,WAAW,GAAG;AAAA,IAC5B,OAAO,QAAQ,OACb,IAAI,cACF,kBACA,8DACA,4EACF,CACF;AAAA,EACF;AAAA,EAEA,MAAM,MAAe,KAAK,MAAM,cAAa,aAAa,OAAO,CAAC;AAAA,EAClE,MAAM,SAAS,gBAAgB,GAAG;AAAA,EAClC,IAAI,CAAC,QAAQ;AAAA,IACX,OAAO,QAAQ,OACb,IAAI,cACF,kBACA,2DACA,kEACF,CACF;AAAA,EACF;AAAA,EAEA,MAAM,UAAU,MAAK,QAAQ,MAAM;AAAA,EACnC,IAAI,CAAC,YAAW,OAAO,GAAG;AAAA,IACxB,OAAO,QAAQ,OACb,IAAI,cACF,kBACA,yCAAyC,WACzC,mEACF,CACF;AAAA,EACF;AAAA,EACA,OAAO,QAAQ,QAAQ,OAAO;AAAA;AAIhC,SAAS,cAAc,CAAC,SAAiB,MAAgB,KAA8B;AAAA,EACrF,OAAO,IAAI,QAAgB,CAAC,SAAS,WAAW;AAAA,IAC9C,MAAM,QAAQ,MAAM,QAAQ,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,KAAK,OAAO,UAAU,CAAC;AAAA,IACzE,MAAM,GAAG,SAAS,CAAC,QAAe;AAAA,MAChC,OACE,IAAI,cACF,kBACA,wCAAwC,IAAI,WAC5C,wDACF,CACF;AAAA,KACD;AAAA,IACD,MAAM,GAAG,SAAS,CAAC,SAAS;AAAA,MAC1B,QAAQ,QAAQ,CAAC;AAAA,KAClB;AAAA,GACF;AAAA;AAQH,SAAS,eAAe,CAAC,KAAkC;AAAA,EACzD,IAAI,CAAC,OAAO,OAAO,QAAQ;AAAA,IAAU;AAAA,EACrC,MAAM,MAAO,IAA0B;AAAA,EACvC,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO;AAAA,EACpC,IAAI,OAAO,OAAO,QAAQ,UAAU;AAAA,IAClC,MAAM,UAAU;AAAA,IAChB,MAAM,YAAY,QAAQ;AAAA,IAC1B,IAAI,OAAO,cAAc;AAAA,MAAU,OAAO;AAAA,IAC1C,WAAW,SAAS,OAAO,OAAO,OAAO,GAAG;AAAA,MAC1C,IAAI,OAAO,UAAU;AAAA,QAAU,OAAO;AAAA,IACxC;AAAA,EACF;AAAA,EACA;AAAA;AAGF,SAAS,gBAAgB,CAAC,OAA8C;AAAA,EACtE,IAAI,CAAC,SAAS,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EAChD,MAAM,IAAI;AAAA,EACV,OACE,OAAO,EAAE,YAAY,YACrB,OAAO,EAAE,WAAW,YACpB,OAAO,EAAE,QAAQ;AAAA;AAIrB,eAAe,gBAAgB,CAAC,KAA4C;AAAA,EAC1E,IAAI;AAAA,IACF,MAAM,OAAgB,MAAM,IAAI,KAAK;AAAA,IACrC,IAAI,QAAQ,OAAO,SAAS,UAAU;AAAA,MACpC,MAAM,IAAI;AAAA,MACV,IAAI,OAAO,EAAE,YAAY;AAAA,QAAU,OAAO,EAAE;AAAA,MAC5C,IAAI,OAAO,EAAE,UAAU;AAAA,QAAU,OAAO,EAAE;AAAA,IAC5C;AAAA,IACA,MAAM;AAAA,EAGR;AAAA;AAGF,SAAS,MAAM,CAAC,MAAoB;AAAA,EAClC,IAAI;AAAA,IACF,OAAO,MAAM,EAAE,OAAO,KAAK,CAAC;AAAA,IAC5B,MAAM;AAAA;;;ADvZH,IAAM,iBAAiB,CAAC,SAAS,eAAe,WAAW;AAO3D,IAAM,kBAAkB,CAAC,eAAe,SAAS,KAAK;AAOtD,IAAM,iBAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AACb;AAGO,IAAM,eAA2C;AAAA,EACtD,aAAa;AAAA,EACb,WAAW;AACb;AAuBO,IAAM,gBAA+B,CAAC,KAAK,SAChD,IAAI,QAAsB,CAAC,SAAS,WAAW;AAAA,EAC7C,MAAM,QAAQ,OAAM,KAAK,MAAM,EAAE,OAAO,CAAC,UAAU,QAAQ,MAAM,EAAE,CAAC;AAAA,EACpE,IAAI,SAAS;AAAA,EACb,IAAI,SAAS;AAAA,EACb,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAkB;AAAA,IAAE,UAAU,MAAM,SAAS,OAAO;AAAA,GAAI;AAAA,EACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAkB;AAAA,IAAE,UAAU,MAAM,SAAS,OAAO;AAAA,GAAI;AAAA,EACjF,MAAM,GAAG,SAAS,CAAC,QAAe;AAAA,IAChC,OACE,IAAI,cACF,kBACA,iBAAiB,QAAQ,IAAI,WAC7B,WAAW,+CACb,CACF;AAAA,GACD;AAAA,EACD,MAAM,GAAG,SAAS,CAAC,SAAS;AAAA,IAC1B,QAAQ,EAAE,MAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC;AAAA,GAC5C;AAAA,CACF;AAsCH,SAAS,cAAc,CAAC,KAAkC;AAAA,EACxD,OAAQ,eAAqC,SAAS,GAAG;AAAA;AAG3D,SAAS,cAAc,CAAC,SAAqC;AAAA,EAC3D,OAAQ,gBAAsC,SAAS,OAAO;AAAA;AAchE,eAAsB,cAAc,CAClC,KACA,MACA,OAAoB,CAAC,GACG;AAAA,EAExB,MAAM,WAAW,KAAK,YAAY;AAAA,EAClC,IAAI,CAAC,SAAS,GAAG;AAAA,IACf,MAAM,IAAI,cACR,iBACA,sCAAsC,QACtC,qBACF;AAAA,EACF;AAAA,EAGA,IAAI,CAAC,eAAe,GAAG,GAAG;AAAA,IACxB,MAAM,IAAI,cACR,qBACA,oBAAoB,gBAAgB,eAAe,KAAK,IAAI,KAC5D,8BACF;AAAA,EACF;AAAA,EAGA,IAAI,CAAC,eAAe,KAAK,OAAO,GAAG;AAAA,IACjC,MAAM,IAAI,cACR,qBACA,oBAAoB,KAAK,oBAAoB,gBAAgB,KAAK,IAAI,KACtE,8BACF;AAAA,EACF;AAAA,EAEA,MAAM,UAAU,KAAK,WAAW,eAAe;AAAA,EAK/C,IAAI,QAAQ,SAAS;AAAA,IACnB,QAAQ,SAAS,aAAa,MAAM,aAClC,EAAE,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,QAAQ,GACtD,KAAK,SAAS,CAAC,CACjB;AAAA,IACA,OAAO,OACL;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IACf,GACA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,aAAa,aAAa;AAAA,EAChC,MAAM,OAAO,CAAC,WAAW,MAAM,GAAG,cAAc,SAAS;AAAA,EACzD,MAAM,SAAS,KAAK,UAAU;AAAA,EAC9B,MAAM,SAAS,MAAM,OAAO,OAAO,IAAI;AAAA,EAEvC,IAAI,OAAO,SAAS,GAAG;AAAA,IACrB,MAAM,SAAS,OAAO,OAAO,KAAK;AAAA,IAClC,MAAM,IAAI,cACR,kBACA,yBAAyB,cAAc,iBAAiB,OAAO,OAAO,IAAI,MAAM,SAAS,IAAI,OAAO,MAAM,GAAG,GAAG,MAAM,MACtH,6FACF;AAAA,EACF;AAAA,EAEA,OAAO,OACL;AAAA,IACE,SAAS;AAAA,IACT;AAAA,IACA,SAAS,KAAK;AAAA,IACd,QAAQ,KAAK;AAAA,IACb,SAAS,OAAO,KAAK,KAAK,GAAG;AAAA,EAC/B,GACA,IACF;AAAA;AAYF,eAAe,MAAM,CAAC,QAAuB,MAA2C;AAAA,EACtF,MAAM,cACJ,EAAE,KAAK,OAAO,SAAS,SAAS,OAAO,SAAS,SAAS,OAAO,QAAQ,GACxE,KAAK,aAAa,CAAC,CACrB;AAAA,EACA,OAAO;AAAA;;;AHlOT;AAyBO,IAAM,qBAAyC;AAAA,EACpD,EAAE,MAAM,2EAA0E,OAAO,QAAQ;AAAA,EACjG,EAAE,MAAM,yCAAwC,OAAO,OAAO;AAChE;AAkBA,eAAe,mBAAmB,CAAC,SAAwD;AAAA,EACzF,MAAM,YAAY,MAAa,oBAAa;AAAA,EAC5C,QAAQ,WAAW,MAAM,SAAS,OAAqC,CAAC;AAAA,IACtE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA,SAAS;AAAA,EACX,CAAC,CAAC;AAAA,EACF,OAAO;AAAA;AAGT,eAAsB,iBAAiB,CAAC,OAAuB,CAAC,GAAkB;AAAA,EAChF,MAAM,MAAM,KAAK,OAAO,QAAQ,IAAI;AAAA,EACpC,MAAM,WAAW,KAAK,oBAAoB;AAAA,EAC1C,MAAM,SAAS,KAAK,gBAAgB;AAAA,EACpC,MAAM,UAAU,KAAK,kBAAkB;AAAA,EAEvC,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,OAAM,KAAK,KAAK,0BAA0B,CAAC;AAAA,EACvD,QAAQ,IAAI,EAAE;AAAA,EAGd,MAAM,KAAK,SAAS,GAAG;AAAA,EACvB,IAAI,GAAG,gBAAgB;AAAA,IACrB,QAAQ,IAAI,KAAK,OAAM,MAAM,GAAE,oCAAoC;AAAA,EACrE,EAAO;AAAA,IACL,QAAQ,IAAI,KAAK,OAAM,MAAM,GAAE,4BAA4B;AAAA;AAAA,EAE7D,QAAQ,IAAI,EAAE;AAAA,EAGd,MAAM,SAAS,MAAM,OAAO,kBAAkB;AAAA,EAC9C,QAAQ,IAAI,EAAE;AAAA,EAEd,IAAI,WAAW,SAAS;AAAA,IAEtB,QAAQ,IAAI,OAAM,KAAK,qBAAoB,CAAC;AAAA,IAC5C,QAAQ,IAAI,OAAM,IAAI,uEAAuE,CAAC;AAAA,IAC9F,QAAQ,IAAI,EAAE;AAAA,IACd,IAAI;AAAA,MACF,MAAM,QAAQ,SAAS,EAAE,SAAS,eAAe,QAAQ,MAAM,CAAC;AAAA,MAChE,QAAQ,IAAI,EAAE;AAAA,MACd,QAAQ,IAAI,KAAK,OAAM,MAAM,GAAE,uBAAuB,OAAM,KAAK,OAAO,qBAAqB;AAAA,MAC7F,QAAQ,IAAI,EAAE;AAAA,MACd,OAAO,OAAO;AAAA,MAEd,QAAQ,IAAI,EAAE;AAAA,MACd,IAAI,iBAAiB,eAAe;AAAA,QAClC,QAAQ,MAAM,KAAK,OAAM,IAAI,GAAE,2BAA2B,MAAM,SAAS;AAAA,QACzE,IAAI,MAAM;AAAA,UAAY,QAAQ,MAAM,KAAK,OAAM,OAAO,GAAE,KAAK,MAAM,YAAY;AAAA,MACjF,EAAO;AAAA,QACL,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,QACrE,QAAQ,MAAM,KAAK,OAAM,IAAI,GAAE,2BAA2B,SAAS;AAAA;AAAA,MAErE,QAAQ,MAAM,EAAE;AAAA,MAChB,QAAQ,WAAW;AAAA;AAAA,EAEvB,EAAO;AAAA,IAEL,QAAQ,IAAI,OAAM,IAAI,SAAS,OAAM,KAAK,iBAAiB,uBAAuB,CAAC;AAAA,IACnF,QAAQ,IAAI,OAAM,IAAI,qEAAqE,CAAC;AAAA,IAC5F,QAAQ,IAAI,EAAE;AAAA;AAAA;;;AMhGlB;AACA;AAEA;AANA;AACA;AACA;;;ACHA;AAiEO,SAAS,gBAAgB,GAAW;AAAA,EACzC,OAAO,OAAO,WAAW;AAAA;AAM3B,eAAsB,eAAe,CACnC,UACA,UACkC;AAAA,EAClC,MAAM,WAAW,MAAM,MAAM,GAAG,8BAA8B;AAAA,IAC5D,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU;AAAA,MACnB;AAAA,MACA,UAAU,SAAS;AAAA,MACnB,UAAU,SAAS;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AAAA,EAED,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,IACtC,MAAM,IAAI,iBACR,eACA,wCAAwC,OAAO,SAAS,MAAM,IAAI,MAAM,SAC1E;AAAA,EACF;AAAA,EAEA,MAAM,OAAQ,MAAM,SAAS,KAAK;AAAA,EAClC,OAAO;AAAA;AAMT,eAAsB,cAAc,CAClC,UACA,UACoC;AAAA,EACpC,MAAM,WAAW,MAAM,MACrB,GAAG,sCAAsC,mBAAmB,QAAQ,GACtE;AAAA,EAEA,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,IACtC,MAAM,IAAI,iBACR,eACA,iCAAiC,OAAO,SAAS,MAAM,IAAI,MAAM,SACnE;AAAA,EACF;AAAA,EAEA,MAAM,OAAQ,MAAM,SAAS,KAAK;AAAA,EAClC,OAAO;AAAA;AAQT,eAAsB,WAAW,CAAC,KAA4B;AAAA,EAE5D,IAAI,QAAQ,IAAI,uBAAuB,QAAQ;AAAA,IAC7C,QAAQ,IAAI,YAAY,KAAK;AAAA,IAC7B;AAAA,EACF;AAAA,EAGA,IAAI;AAAA,IACF,QAAQ,SAAS,SAAS,MAAa;AAAA,IACvC,MAAM,KAAK,GAAG;AAAA,IACd,MAAM;AAAA,IAGN,MAAM,IAAI,iBACR,uBACA,uDAAuD,KACzD;AAAA;AAAA;AAOJ,SAAS,KAAK,CAAC,IAA2B;AAAA,EACxC,OAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA;AAUzD,eAAsB,kBAAkB,CACtC,SACA,gBAC4B;AAAA,EAC5B;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,eAAe;AAAA,IACf,kBAAkB;AAAA,MAChB;AAAA,EAGJ,MAAM,WAAW,iBAAiB;AAAA,EAGlC,iBAAiB,wCAAwC;AAAA,EACzD,MAAM,eAAe,MAAM,gBAAgB,UAAU,QAAQ;AAAA,EAC7D,QAAQ,YAAY;AAAA,EAGpB,IAAI,CAAC,iBAAiB;AAAA,IACpB,iBAAiB,uCAAuC;AAAA,IACxD,IAAI;AAAA,MACF,MAAM,YAAY,OAAO;AAAA,MACzB,OAAO,OAAO;AAAA,MAGd,IAAI,iBAAiB,oBAAoB,MAAM,SAAS,uBAAuB;AAAA,QAC7E,iBAAiB,MAAM,OAAO;AAAA,MAChC,EAAO;AAAA,QACL,MAAM;AAAA;AAAA;AAAA,EAGZ;AAAA,EAIA,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,kCAAkC;AAAA,EAC9C,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,OAAO,OAAO;AAAA,EAC1B,QAAQ,IAAI,EAAE;AAAA,EAGd,iBAAiB,uCAAuC;AAAA,EACxD,MAAM,YAAY,KAAK,IAAI;AAAA,EAE3B,OAAO,KAAK,IAAI,IAAI,YAAY,SAAS;AAAA,IACvC,MAAM,MAAM,YAAY;AAAA,IAExB,MAAM,SAAS,MAAM,eAAe,UAAU,QAAQ;AAAA,IAEtD,QAAQ,OAAO;AAAA,WACR;AAAA,QAEH;AAAA,WAEG;AAAA,QAEH,IACE,CAAC,OAAO,UACR,CAAC,OAAO,eACR,CAAC,OAAO,iBACR,CAAC,OAAO,kBACR,CAAC,OAAO,kBACR;AAAA,UACA,MAAM,IAAI,iBACR,uBACA,0CACF;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,QAAQ,OAAO;AAAA,UACf,aAAa,OAAO;AAAA,UACpB,eAAe,OAAO;AAAA,UACtB,gBAAgB,OAAO;AAAA,UACvB,kBAAkB,OAAO;AAAA,UACzB,WAAW,OAAO;AAAA,QACpB;AAAA,WAEG;AAAA,QACH,MAAM,IAAI,iBACR,gBACA,mDACF;AAAA,WAEG;AAAA,QACH,MAAM,IAAI,iBACR,eACA,OAAO,SAAS,oCAClB;AAAA,WAEG;AAAA,QACH,MAAM,IAAI,iBACR,mBACA,mDACF;AAAA;AAAA,QAGA,MAAM,IAAI,iBACR,kBACA,0BAA0B,OAAO,OAAO,MAAM,CAChD;AAAA;AAAA,EAEN;AAAA,EAGA,MAAM,IAAI,iBACR,gBACA,qEACF;AAAA;AAAA;AAkBK,MAAM,yBAAyB,MAAM;AAAA,EAC1C;AAAA,EAEA,WAAW,CAAC,MAA4B,SAAiB;AAAA,IACvD,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA;AAAA,EAMd,aAAa,GAAW;AAAA,IACtB,QAAQ,KAAK;AAAA,WACN;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,WACA;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,WACA;AAAA,WACA;AAAA,QACH,OAAO;AAAA;AAAA,QAEP,OAAO;AAAA;AAAA;AAGf;;;ADvRA,eAAsB,kBAAkB,CAAC,MAAsD;AAAA,EAC7F,QAAQ,QAAQ,WAAW;AAAA,EAC3B,MAAM,gBAAgB,CAAC,eAAe;AAAA,EACtC,MAAM,YAAgC,QAAQ,IAAI;AAAA,EAClD,MAAM,WAAmB,QAAQ,IAAI,qBAAqB,KAAK;AAAA,EAG/D,IAAI,WAAW;AAAA,IACb,OAAO,qBAAqB,WAAW,UAAU,QAAQ,aAAa;AAAA,EACxE;AAAA,EAGA,MAAM,mBACJ,KAAK,mBAAmB,QACxB,QAAQ,IAAI,6BAA6B,UACzC,QAAQ,IAAI,OAAO,UACnB,CAAC,QAAQ,MAAM;AAAA,EAGjB,IAAI,UAAU,CAAC,KAAK,WAAW,kBAAkB;AAAA,IAC/C,MAAM,IAAI,cACR,wBACA,wFACA,kFACF;AAAA,EACF;AAAA,EAGA,IAAI,CAAC,oBAAoB,eAAe;AAAA,IACtC,QAAQ,IAAI;AAAA,IAAO,OAAM,KAAK,KAAK,4BAA4B,IAAI;AAAA,CAAI;AAAA,IACvE,QAAQ,IAAI;AAAA,CAA4D;AAAA,EAC1E;AAAA,EAGA,IAAI,iBAAiB,KAAK,YAAY;AAAA,EAEtC,IAAI,CAAC,kBAAkB,kBAAkB;AAAA,IACvC,OAAO,KAAK,qEAAqE;AAAA,IACjF,iBAAiB;AAAA,EACnB;AAAA,EAEA,IAAI,CAAC,gBAAgB;AAAA,IACnB,MAAM,eAAe,MAAM,SAAS,OAAyB;AAAA,MAC3D;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,UACP,EAAE,MAAM,yBAAyB,OAAO,UAAU;AAAA,UAClD,EAAE,MAAM,gCAAgC,OAAO,SAAS;AAAA,QAC1D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,iBAAiB,aAAa,WAAW;AAAA,EAC3C;AAAA,EAGA,IAAI,gBAAgB;AAAA,IAClB,OAAO,iBAAiB,UAAU,QAAQ,aAAa;AAAA,EACzD;AAAA,EACA,OAAO,mBAAmB,UAAU,QAAQ,aAAa;AAAA;AAQpD,SAAS,sBAAsB,CAAC,QAAoD;AAAA,EACzF,OAAO;AAAA,IACL,SAAS;AAAA,IACT,eAAe,OAAO;AAAA,IACtB,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,cAAc,OAAO;AAAA,IACrB,YAAY;AAAA,MACV,aAAa;AAAA,MACb,MAAM,CAAC,mCAAmC,uBAAuB;AAAA,IACnE;AAAA,EACF;AAAA;AAOF,eAAe,oBAAoB,CACjC,QACA,UACA,QACA,eAC4B;AAAA,EAC5B,OAAO,KAAK,uBAAuB;AAAA,EACnC,MAAM,UAAU,MAAM,eAAe,QAAQ,QAAQ;AAAA,EACrD,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,IAAI,cACR,mBACA,+BACA,kCACF;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,MAAM,mBAAmB,QAAQ,QAAQ;AAAA,EACtD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EAEJ,IAAI,KAAK,UAAU,KAAK,KAAK,IAAI;AAAA,IAC/B,QAAQ,KAAK,GAAG;AAAA,IAChB,UAAU,KAAK,GAAG;AAAA,IAClB,MAAM,aAAa,MAAM,gBAAgB,QAAQ,UAAU,KAAK;AAAA,IAChE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,SAAS,KAAK,WAAW;AAAA,IAClE,IAAI,WAAW;AAAA,MACb,OAAO,UAAU;AAAA,MACjB,SAAS,UAAU;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,gBAAgB;AAAA,EAClB,CAAC;AAAA,EAED,OAAO;AAAA,IACL,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,WAAW,OAAO,EAAE,IAAI,MAAM,MAAM,OAAO,IAAI;AAAA,IAC/C,cAAc,QAAQ,EAAE,IAAI,OAAO,MAAM,QAAQ,IAAI;AAAA,IACrD;AAAA,EACF;AAAA;AAGF,eAAe,gBAAgB,CAC7B,UACA,QACA,eAC4B;AAAA,EAE5B,MAAM,UAAU,IAAI,EAAE,MAAM,yCAAyC,SAAS,OAAO,CAAC;AAAA,EACtF,IAAI;AAAA,IACF,QAAQ,MAAM;AAAA,IACd,MAAM,SAAS,MAAM,mBACnB,EAAE,UAAU,SAAS,QAAQ,cAAc,KAAK,GAChD,CAAC,YAAY;AAAA,MACX,QAAQ,OAAO;AAAA,KAEnB;AAAA,IACA,QAAQ,QAAQ,6BAA6B;AAAA,IAE7C,oBAAoB;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf;AAAA,MACA,aAAa,OAAO;AAAA,MACpB,gBAAgB,OAAO;AAAA,MACvB,WAAW,OAAO;AAAA,IACpB,CAAC;AAAA,IAED,IAAI,OAAO;AAAA,MAAe,OAAO,KAAK,cAAc,OAAO,eAAe;AAAA,IAC1E,IAAI,OAAO;AAAA,MAAkB,OAAO,KAAK,iBAAiB,OAAO,kBAAkB;AAAA,IAEnF,OAAO;AAAA,MACL,eAAe;AAAA,MACf,QAAQ,OAAO;AAAA,MACf;AAAA,MACA,WAAW,OAAO,cACd,EAAE,IAAI,OAAO,aAAa,MAAM,OAAO,cAAc,IACrD;AAAA,MACJ,cAAc,OAAO,iBACjB,EAAE,IAAI,OAAO,gBAAgB,MAAM,OAAO,iBAAiB,IAC3D;AAAA,MACJ;AAAA,IACF;AAAA,IACA,OAAO,OAAO;AAAA,IACd,QAAQ,KAAK,uBAAuB;AAAA,IACpC,IAAI,iBAAiB,kBAAkB;AAAA,MACrC,MAAM,IAAI,cAAc,MAAM,MAAM,MAAM,SAAS,MAAM,cAAc,CAAC;AAAA,IAC1E;AAAA,IACA,MAAM;AAAA;AAAA;AAIV,eAAe,kBAAkB,CAC/B,iBACA,QACA,eAC4B;AAAA,EAC5B,MAAM,UAAU,MAAM,SAAS,OAAqB;AAAA,IAClD;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,UAAU,CAAC,UAAoC,MAAM,SAAS,KAAK;AAAA,IACrE;AAAA,EACF,CAAC;AAAA,EAED,MAAM,SAAS,QAAQ;AAAA,EACvB,MAAM,WAAW,QAAQ;AAAA,EAEzB,OAAO,KAAK,uBAAuB;AAAA,EACnC,MAAM,UAAU,MAAM,eAAe,QAAQ,QAAQ;AAAA,EACrD,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,IAAI,cACR,mBACA,+BACA,kCACF;AAAA,EACF;AAAA,EAGA,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EAEJ,MAAM,OAAO,MAAM,mBAAmB,QAAQ,QAAQ;AAAA,EACtD,IAAI,KAAK,WAAW,KAAK,KAAK,IAAI;AAAA,IAChC,gBAAgB,KAAK,GAAG;AAAA,IACxB,kBAAkB,KAAK,GAAG;AAAA,EAC5B,EAAO,SAAI,KAAK,SAAS,GAAG;AAAA,IAC1B,MAAM,YAAY,MAAM,SAAS,OAA0B;AAAA,MACzD;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,KAAK,IAAI,QAAM,EAAE,MAAM,EAAE,MAAM,OAAO,EAAE,GAAG,EAAE;AAAA,MACxD;AAAA,IACF,CAAC;AAAA,IACD,gBAAgB,UAAU;AAAA,IAC1B,kBAAkB,KAAK,KAAK,OAAK,EAAE,OAAO,aAAa,GAAG;AAAA,EAC5D;AAAA,EAEA,IAAI,eAAe;AAAA,IACjB,MAAM,aAAa,MAAM,gBAAgB,QAAQ,UAAU,aAAa;AAAA,IACxE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,SAAS;AAAA,IAClD,IAAI,WAAW,WAAW,KAAK,WAAW,IAAI;AAAA,MAC5C,eAAe,WAAW,GAAG;AAAA,MAC7B,iBAAiB,WAAW,GAAG;AAAA,IACjC,EAAO,SAAI,WAAW;AAAA,MACpB,eAAe,UAAU;AAAA,MACzB,iBAAiB,UAAU;AAAA,IAC7B,EAAO,SAAI,WAAW,SAAS,GAAG;AAAA,MAChC,MAAM,WAAW,MAAM,SAAS,OAAyB;AAAA,QACvD;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,SAAS,WAAW,IAAI,QAAM;AAAA,YAC5B,MAAM,EAAE,QAAQ,EAAE,YAAY,eAAe;AAAA,YAC7C,OAAO,EAAE;AAAA,UACX,EAAE;AAAA,QACJ;AAAA,MACF,CAAC;AAAA,MACD,eAAe,SAAS;AAAA,MACxB,iBAAiB,WAAW,KAAK,OAAK,EAAE,OAAO,YAAY,GAAG;AAAA,IAChE;AAAA,EACF;AAAA,EAEA,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,gBAAgB;AAAA,EAClB,CAAC;AAAA,EAED,OAAO;AAAA,IACL,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,WAAW,eAAe,EAAE,IAAI,cAAc,MAAM,eAAe,IAAI;AAAA,IACvE,cAAc,gBAAgB,EAAE,IAAI,eAAe,MAAM,gBAAgB,IAAI;AAAA,IAC7E;AAAA,EACF;AAAA;;;AR/TK,SAAS,iBAAiB,GAAY;AAAA,EAC3C,MAAM,OAAO,IAAI,QAAQ,MAAM,EAC5B,YAAY,qCAAqC,EACjD,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ;AAAA,EAKH,KACG,QAAQ,OAAO,EACf,YAAY,gCAAgC,EAC5C,OAAO,aAAa,oCAAoC,EACxD,OAAO,qBAAqB,yDAAyD,EACrF,OAAO,oBAAoB,gBAAgB,yBAAyB,EACpE,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG,4CAA4C,OAAM,IAAI,+BAA+B;AAAA,IAClG,OAAM,IAAI,GAAG,4CAA4C,OAAM,IAAI,sBAAsB;AAAA,IACzF,OAAM,IAAI,GAAG,4CAA4C,OAAM,IAAI,iCAAiC;AAAA;AAAA,EAEtG,OAAM,IAAI,sDAAsD;AAAA,EAChE,OAAM,IAAI,qDAAqD;AAAA,KAC5D,EACA,OAAO,OAAO,YAA0B;AAAA,IACvC,MAAM,SAAS,YAAY,IAAI;AAAA,IAC/B,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAC5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,mBAAmB;AAAA,QACtC,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,QACjB,gBAAgB,QAAQ;AAAA,QACxB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MAED,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,uBAAuB,MAAM,CAAC;AAAA,MAC9C,EAAO;AAAA,QACL,OAAO,QAAQ,4BAA4B;AAAA,QAC3C,IAAI,OAAO,cAAc;AAAA,UAAM,OAAO,KAAK,iBAAiB,OAAO,aAAa,MAAM;AAAA,QACtF,IAAI,OAAO,WAAW;AAAA,UAAM,OAAO,KAAK,cAAc,OAAO,UAAU,MAAM;AAAA,QAC7E,OAAO,KAAK,aAAa,OAAO,UAAU;AAAA,QAC1C,OAAO,KAAK,uCAAuC;AAAA;AAAA,MAIrD,IAAI,OAAO,iBAAiB,QAAQ,MAAM,SAAS,CAAC,QAAQ;AAAA,QAC1D,MAAM,kBAAkB;AAAA,MAC1B;AAAA,MACA,OAAO,OAAO;AAAA,MACd,IAAI,iBAAiB,eAAe;AAAA,QAClC,OAAO,MAAM,MAAM,OAAO;AAAA,QAC1B,QAAQ,KAAK,MAAM,QAAQ;AAAA,MAC7B;AAAA,MACA,MAAM;AAAA;AAAA,GAET;AAAA,EAIH,KACG,QAAQ,QAAQ,EAChB,YAAY,6BAA6B,EACzC,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,YAAY;AAAA,IAClB,MAAM,SAAS,YAAY,IAAI;AAAA,IAC/B,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,MAAM,SAAS,UAAU;AAAA,IACzB,MAAM,SAAS,WAAW;AAAA,IAC1B,MAAM,WAAW,OAAO,YAAY;AAAA,IAEpC,IAAI,CAAC,QAAQ;AAAA,MACX,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,EAAE,eAAe,OAAO,SAAS,oBAAoB,CAAC;AAAA,MACtE,EAAO;AAAA,QACL,OAAO,MAAM,mBAAmB;AAAA,QAChC,OAAO,KAAK,0BAA0B;AAAA;AAAA,MAExC,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,IAGA,MAAM,UAAU,MAAM,eAAe,QAAQ,QAAQ;AAAA,IAGrD,MAAM,MAAM,QAAQ,IAAI;AAAA,IACxB,MAAM,gBAAgB,YAAW,MAAK,KAAK,kBAAkB,CAAC;AAAA,IAE9D,IAAI,QAAQ;AAAA,MACV,MAAM,eAAwC;AAAA,QAC5C,eAAe;AAAA,QACf;AAAA,QACA,WAAW,GAAG,OAAO,MAAM,GAAG,CAAC;AAAA,QAC/B,kBAAkB,OAAO;AAAA,QACzB,qBAAqB,OAAO;AAAA,QAC5B,YAAY;AAAA,MACd;AAAA,MACA,IAAI,CAAC,SAAS;AAAA,QACZ,aAAa,UAAU;AAAA,QACvB,aAAa,cAAc;AAAA,UACzB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA,OAAO,OAAO,YAAY;AAAA,IAC5B,EAAO;AAAA,MACL,IAAI,SAAS;AAAA,QACX,OAAO,QAAQ,+BAA+B;AAAA,QAC9C,OAAO,KAAK,aAAa,UAAU;AAAA,QACnC,OAAO,KAAK,QAAQ,OAAO,MAAM,GAAG,CAAC,MAAM;AAAA,QAC3C,IAAI,OAAO,kBAAkB;AAAA,UAC3B,OAAO,KAAK,cAAc,OAAO,kBAAkB;AAAA,QACrD;AAAA,QACA,IAAI,OAAO,qBAAqB;AAAA,UAC9B,OAAO,KAAK,iBAAiB,OAAO,qBAAqB;AAAA,QAC3D;AAAA,MACF,EAAO;AAAA,QACL,OAAO,MAAM,+DAA8D;AAAA,QAC3E,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,mCAAmC;AAAA,QACjD,QAAQ,MAAM,kDAAkD;AAAA,QAChE,QAAQ,MAAM,uDAAuD;AAAA,QACrE,QAAQ,MAAM,kDAAkD;AAAA;AAAA,MAIlE,IAAI,eAAe;AAAA,QACjB,OAAO,QAAQ,+CAA+C;AAAA,MAChE,EAAO;AAAA,QACL,OAAO,KAAK,mDAAmD;AAAA;AAAA;AAAA,IAInE,IAAI,CAAC,SAAS;AAAA,MACZ,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,GACD;AAAA,EAGH,KACG,QAAQ,QAAQ,EAChB,YAAY,0BAA0B,EACtC,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,MAAM;AAAA,IACZ,MAAM,SAAS,YAAY,IAAI;AAAA,IAC/B,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,iBAAiB;AAAA,IACjB,OAAO,QAAQ,yBAAyB;AAAA,GACzC;AAAA,EAEH,OAAO;AAAA;;;AUvLT,oBAAS;AACT;AAEA;AAmBO,SAAS,kBAAkB,GAAY;AAAA,EAC5C,MAAM,QAAQ,IAAI,SAAQ,OAAO,EAC9B,YAAY,gFAA+E,EAC3F,OAAO,aAAa,oCAAoC,EACxD,OAAO,qBAAqB,yDAAyD,EACrF,OAAO,oBAAoB,gBAAgB,yBAAyB,EACpE,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG,6CAA6C,OAAM,IAAI,6DAA4D;AAAA,IAChI,OAAM,IAAI,GAAG,6CAA6C,OAAM,IAAI,2CAA2C;AAAA,IAC/G,OAAM,IAAI,GAAG,6CAA6C,OAAM,IAAI,qCAAqC;AAAA;AAAA,EAE3G,OAAM,OAAO,iDAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9D,OAAM,OAAO,8BAA8B;AAAA;AAAA,MAEvC,OAAM,IAAI,GAAG;AAAA,MACb,OAAM,IAAI,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWf,OAAM,IAAI,GAAG,6CAA6C,OAAM,IAAI,gCAAgC;AAAA,IACpG,OAAM,IAAI,GAAG,6CAA6C,OAAM,IAAI,6BAA6B;AAAA;AAAA,EAEnG,OAAM,IAAI,6EAA6E;AAAA,KACpF,EACA,OAAO,OAAO,YAA0B;AAAA,IACvC,MAAM,SAAS,YAAY,KAAK;AAAA,IAChC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,mBAAmB;AAAA,QACtC,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,QACjB,gBAAgB,QAAQ;AAAA,QACxB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MAED,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,uBAAuB,MAAM,CAAC;AAAA,MAC9C,EAAO;AAAA,QACL,OAAO,QAAQ,wBAAwB;AAAA,QACvC,IAAI,OAAO,cAAc;AAAA,UAAM,OAAO,KAAK,iBAAiB,OAAO,aAAa,MAAM;AAAA,QACtF,IAAI,OAAO,WAAW;AAAA,UAAM,OAAO,KAAK,cAAc,OAAO,UAAU,MAAM;AAAA,QAC7E,OAAO,KAAK,aAAa,OAAO,UAAU;AAAA,QAC1C,OAAO,KAAK,uCAAuC;AAAA;AAAA,MAIrD,IAAI,OAAO,iBAAiB,QAAQ,MAAM,SAAS,CAAC,QAAQ;AAAA,QAC1D,MAAM,kBAAkB;AAAA,MAC1B;AAAA,MACA,OAAO,OAAO;AAAA,MACd,IAAI,iBAAiB,eAAe;AAAA,QAClC,OAAO,MAAM,MAAM,OAAO;AAAA,QAC1B,QAAQ,KAAK,MAAM,QAAQ;AAAA,MAC7B;AAAA,MACA,MAAM;AAAA;AAAA,GAET;AAAA,EAEH,OAAO;AAAA;;;AC9FT;AAFA,oBAAS;AACT;AAGA;AACA;AAEA,IAAM,oBAAoB,CAAC,UAAU,YAAY,UAAU,WAAW,oBAAoB,qBAAqB;AAExG,SAAS,mBAAmB,GAAY;AAAA,EAC7C,MAAM,SAAS,IAAI,SAAQ,QAAQ,EAChC,YAAY,0BAA0B,EACtC,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ;AAAA,EAGH,OACG,QAAQ,MAAM,EACd,YAAY,wBAAwB,EACpC,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,MAAM;AAAA,IACZ,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,MAAM,MAAM,WAAW;AAAA,IAGvB,MAAM,UAAU;AAAA,SACX;AAAA,MACH,QAAQ,IAAI,SAAS,GAAG,IAAI,OAAO,MAAM,GAAG,CAAC,SAAS;AAAA,IACxD;AAAA,IAEA,OAAO,OAAO,OAAO;AAAA,GACtB;AAAA,EAGH,OACG,QAAQ,KAAK,EACb,YAAY,yBAAyB,EACrC,SAAS,SAAS,8FAA8F,EAChH,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA;AAAA,EAEf,OAAM,IAAI,gFAAgF;AAAA,KACvF,EACA,OAAO,CAAC,QAAgB;AAAA,IACvB,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,MAAM,WAAW;AAAA,MAEvB,IAAI,EAAE,OAAO,MAAM;AAAA,QACjB,MAAM,IAAI,cACR,qBACA,wBAAwB,QACxB,eAAe,kBAAkB,KAAK,IAAI;AAAA,IAC1C,uCACF;AAAA,MACF;AAAA,MAEA,MAAM,QAAQ,IAAI;AAAA,MAElB,MAAM,cAAc,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAI,OAAO,SAAS,EAAE;AAAA,MAC1F,MAAM,eAAe,QAAQ,YAAY,QAAQ,GAAG,YAAY,MAAM,GAAG,CAAC,SAAS;AAAA,MAEnF,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,GAAG,MAAM,aAAa,CAAC;AAAA,MACvC,EAAO;AAAA,QACL,OAAO,KAAK,YAAY;AAAA;AAAA,MAE1B,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAGH,MAAM,MAAM,IAAI,SAAQ,KAAK,EAC1B,YAAY,yBAAyB,EACrC,OAAO,MAAM;AAAA,IACZ,IAAI,KAAK;AAAA,GACV;AAAA,EAGH,IACG,QAAQ,WAAW,EACnB,YAAY,0BAA0B,EACtC,SAAS,QAAQ,gCAAgC,EACjD,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA;AAAA,EAEf,OAAM,IAAI,2EAA4E;AAAA,KACnF,EACA,OAAO,CAAC,OAAe;AAAA,IACtB,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,oBAAoB,EAAE;AAAA,IACtB,eAAe;AAAA,IAEf,IAAI,QAAQ;AAAA,MACV,OAAO,OAAO,EAAE,SAAS,MAAM,kBAAkB,GAAG,CAAC;AAAA,IACvD,EAAO;AAAA,MACL,OAAO,QAAQ,4BAA4B,IAAI;AAAA;AAAA,GAElD;AAAA,EAGH,IACG,QAAQ,KAAK,EACb,YAAY,6BAA6B,EACzC,SAAS,QAAQ,mCAAmC,EACpD,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA;AAAA,EAEf,OAAM,IAAI,mDAAmD;AAAA,KAC1D,EACA,OAAO,CAAC,OAAe;AAAA,IACtB,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,uBAAuB,EAAE;AAAA,IACzB,eAAe;AAAA,IAEf,IAAI,QAAQ;AAAA,MACV,OAAO,OAAO,EAAE,SAAS,MAAM,qBAAqB,GAAG,CAAC;AAAA,IAC1D,EAAO;AAAA,MACL,OAAO,QAAQ,+BAA+B,IAAI;AAAA;AAAA,GAErD;AAAA,EAEH,OAAO,WAAW,GAAG;AAAA,EAErB,OAAO;AAAA;;;ACjJT;AAFA,oBAAS;AACT;AAGA;;;ACSO,SAAS,aAAa,GAAW;AAAA,EACtC,OAAO,QAAQ,IAAI,oBAAoB;AAAA;AAWlC,SAAS,oBAAoB,GAAW;AAAA,EAC7C,OAAO,GAAG,cAAc;AAAA;AAOnB,SAAS,aAAa,CAAC,KAA+B;AAAA,EAC3D,OAAO,GAAG,cAAc;AAAA;AAMnB,SAAS,cAAc,CAAC,IAAwD;AAAA,EACrF,OAAO;AAAA,IACL,UAAU,cAAc,EAAE;AAAA,IAC1B,KAAK,mBAAmB,OAAO,EAAE;AAAA,EACnC;AAAA;AAOK,SAAS,YAAY,CAAC,KAA8B;AAAA,EACzD,OAAO,qBAAqB;AAAA;AAMvB,SAAS,aAAa,CAAC,IAAwD;AAAA,EACpF,OAAO;AAAA,IACL,UAAU,aAAa,EAAE;AAAA,IACzB,KAAK,kBAAkB,OAAO,EAAE;AAAA,EAClC;AAAA;AAmDK,SAAS,qBAAqB,CAAC,WAA8E;AAAA,EAClH,IAAI,WAAW,cAAc;AAAA,IAC3B,QAAQ,MAAM,UAAU,YAAY;AAAA,EACtC,EAAO,SAAI,WAAW,aAAa;AAAA,IACjC,QAAQ,MAAM;AAAA,gBAAkB,UAAU;AAAA,CAAe;AAAA,EAC3D;AAAA;AA2DK,IAAM,4BACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAKK,SAAS,eAAe,CAAC,MAMrB;AAAA,EACT,MAAM,OAAO,KAAK,QAAQ;AAAA,EAG1B,MAAM,YAAY;AAAA,IAChB,GAAG,KAAK,KAAK,IAAI,OAAK,EAAE,KAAK;AAAA,IAC7B,GAAG,KAAK,MAAM,IAAI,OAAK,EAAE,KAAK;AAAA,EAChC;AAAA,EACA,MAAM,aAAa,KAAK,IAAI,GAAG,UAAU,IAAI,OAAK,EAAE,MAAM,GAAG,CAAC,IAAI;AAAA,EAGlE,MAAM,YAAY,KAAI,QAAQ,KAAK;AAAA,EACnC,MAAM,eAAyB,CAAC;AAAA,EAGhC,WAAW,KAAK,KAAK,MAAM;AAAA,IACzB,aAAa,KAAK,KAAK,EAAE,MAAM,OAAO,UAAU,IAAI,EAAE,OAAO;AAAA,EAC/D;AAAA,EAGA,IAAI,KAAK,MAAM,QAAQ;AAAA,IACrB,WAAW,KAAK,KAAK,OAAO;AAAA,MAC1B,aAAa,KAAK,KAAK,EAAE,MAAM,OAAO,UAAU,IAAI,EAAE,KAAK;AAAA,IAC7D;AAAA,EACF;AAAA,EAGA,IAAI,KAAK,KAAK,QAAQ;AAAA,IACpB,aAAa,KAAK,QAAQ;AAAA,IAC1B,WAAW,KAAK,KAAK,MAAM;AAAA,MACzB,aAAa,KAAK,OAAM,GAAG;AAAA,IAC7B;AAAA,EACF;AAAA,EAGA,MAAM,aAAa,KAAK,IACtB,UAAU,QACV,GAAG,aAAa,IAAI,OAAK,EAAE,MAAM,CACnC;AAAA,EACA,MAAM,IAAI,KAAK,IAAI,IAAI,aAAa,CAAC;AAAA,EACrC,MAAM,SAAS,IAAI;AAAA,EAGnB,MAAM,MAAM,CAAC,SAAyB;AAAA,IACpC,OAAO,KAAK,SAAS,SAAS,OAAO,IAAI,OAAO,SAAS,KAAK,MAAM,IAAI;AAAA;AAAA,EAE1E,MAAM,KAAK,CAAC,SAAyB,KAAI,IAAI,IAAI;AAAA,EACjD,MAAM,QAAQ,MAAc,GAAG,EAAE;AAAA,EACjC,MAAM,MAAM,MAAc,KAAI,IAAI,OAAO,SAAS,CAAC;AAAA,EAGnD,MAAM,cAAc,IAAG,YAAY,IAAI,OAAO,KAAK,IAAI,GAAG,IAAI,UAAU,SAAS,CAAC,CAAC;AAAA,EACnF,MAAM,MAAM,IAAG,IAAI,OAAO,CAAC;AAAA,EAE3B,MAAM,MAAgB,CAAC,aAAa,MAAM,CAAC;AAAA,EAG3C,WAAW,KAAK,KAAK,MAAM;AAAA,IACzB,IAAI,KAAK,GAAG,KAAK,EAAE,MAAM,OAAO,UAAU,IAAI,EAAE,OAAO,CAAC;AAAA,EAC1D;AAAA,EAGA,IAAI,KAAK,MAAM,QAAQ;AAAA,IACrB,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAAA,IAChC,WAAW,KAAK,KAAK,OAAO;AAAA,MAC1B,IAAI,KAAK,GAAG,KAAK,EAAE,MAAM,OAAO,UAAU,IAAI,EAAE,KAAK,CAAC;AAAA,IACxD;AAAA,EACF;AAAA,EAGA,IAAI,KAAK,KAAK,QAAQ;AAAA,IACpB,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAAA,IAChC,IAAI,KAAK,GAAG,QAAQ,CAAC;AAAA,IACrB,WAAW,KAAK,KAAK,MAAM;AAAA,MACzB,IAAI,KAAK,GAAG,OAAM,GAAG,CAAC;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,MAAM,GAAG,GAAG;AAAA,EACrB,OAAO,IAAI,KAAK;AAAA,CAAI;AAAA;;;ADlQf,SAAS,uBAAuB,GAAY;AAAA,EACjD,MAAM,aAAa,IAAI,SAAQ,YAAY,EACxC,YAAY,6BAA6B,EACzC,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMZ;AAAA,EAQH,WACG,QAAQ,MAAM,EACd,YAAY,qBAAqB,EACjC,OAAO,mBAAmB,iBAAiB,IAAI,EAC/C,OAAO,oBAAoB,uBAAuB,EAClD,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,OAAO,YAAyB;AAAA,IACtC,MAAM,SAAS,YAAY,UAAU;AAAA,IACrC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,aAAa;AAAA,MAClC,MAAM,UAA+C;AAAA,QACnD,OAAO,SAAS,QAAQ,OAAO,EAAE,KAAK;AAAA,MACxC;AAAA,MAEA,IAAI,QAAQ,QAAQ;AAAA,QAClB,QAAQ,SAAS,SAAS,QAAQ,QAAQ,EAAE;AAAA,MAC9C;AAAA,MAEA,MAAM,SAAS,MAAM,OAAO,eAAe,OAAO;AAAA,MAElD,IAAI,QAAQ;AAAA,QAEV,MAAM,YAAY,OAAO,KAAK,IAAI,CAAC,OAAkB;AAAA,UACnD,IAAI,EAAE;AAAA,UACN,MAAM,EAAE;AAAA,UACR,MAAM,EAAE;AAAA,UACR,WAAW,EAAE;AAAA,UACb,WAAW,EAAE;AAAA,UACb,QAAQ,eAAe,EAAE,EAAE;AAAA,QAC7B,EAAE;AAAA,QACF,OAAO,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAAA,MAC9C,EAAO;AAAA,QAEL,MAAM,YAAY,OAAO,KAAK,IAAI,CAAC,OAAkB;AAAA,UACnD,IAAI,EAAE;AAAA,UACN,MAAM,EAAE;AAAA,UACR,MAAM,EAAE;AAAA,UACR,WAAW,EAAE,YAAY,QAAQ;AAAA,UACjC,SAAS,EAAE,YAAY,IAAI,KAAK,EAAE,SAAS,EAAE,mBAAmB,IAAI;AAAA,UACpE,KAAK,cAAc,EAAE,EAAE;AAAA,QACzB,EAAE;AAAA,QACF,OAAO,OAAO,SAAS;AAAA;AAAA,MAEzB,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAGH,WACG,QAAQ,KAAK,EACb,YAAY,uBAAuB,EACnC,SAAS,QAAQ,cAAc,EAC/B,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,OAAO,OAAe;AAAA,IAC5B,MAAM,SAAS,YAAY,UAAU;AAAA,IACrC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,aAAa;AAAA,MAClC,MAAM,YAAY,MAAM,OAAO,aAAa,EAAE;AAAA,MAE9C,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,KAAK,WAAW,QAAQ,eAAe,UAAU,EAAE,EAAE,CAAC;AAAA,MACtE,EAAO;AAAA,QAEL,MAAM,YAAqC;AAAA,UACzC,IAAI,UAAU;AAAA,UACd,MAAM,UAAU;AAAA,UAChB,MAAM,UAAU;AAAA,UAChB,aAAa,UAAU,eAAe;AAAA,UACtC,WAAW,UAAU,YAAY,QAAQ;AAAA,UACzC,WAAW,UAAU,aAAa;AAAA,UAClC,WAAW,UAAU,YAAY,IAAI,KAAK,UAAU,SAAS,EAAE,eAAe,IAAI;AAAA,UAClF,WAAW,UAAU,YAAY,IAAI,KAAK,UAAU,SAAS,EAAE,eAAe,IAAI;AAAA,UAClF,KAAK,cAAc,UAAU,EAAE;AAAA,QACjC;AAAA,QACA,OAAO,OAAO,SAAS;AAAA;AAAA,MAEzB,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAEH,OAAO;AAAA;;;AE9HT;AAFA,oBAAS;AACT;AAGA;AAEA,qBAAS;;;ACJT;AADA;AAGA;;;ACwBA;;;ACmPA,IAAM,cAAc,CAAC,iBAAoD;AAAA,EACvE,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY,EAAE,MAAM,oBAAoB,WAAW,EAAE;AAAA,EACrD;AACF;AAEA,IAAM,uBAAkD;AAAA,EACtD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY,EAAE,MAAM,YAAY;AAAA,EAChC,aAAa;AACf;AAEA,IAAM,sBAAiD;AAAA,EACrD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY,EAAE,MAAM,cAAc;AAAA,EAClC,aACE;AACJ;AAGA,IAAM,qBAAqB,CAAC,mBAAiE;AAAA,EAC3F,YAAY,cAAc;AAAA,EAC1B;AAAA,EACA;AACF;AAGA,IAAM,cAAoD;AAAA,EACxD;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY,EAAE,MAAM,YAAY;AAAA,IAChC,aAAa;AAAA,EACf;AAAA,EACA,YAAY,wCAAwC;AAAA,EACpD;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY,EAAE,MAAM,oBAAoB,WAAW,EAAE;AAAA,IACrD,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,UAAU,CAAC,sBAAsB,cAAc,YAAY;AAAA,MAC3D,iBAAiB,CAAC,YAAY,YAAY,mBAAmB,QAAQ;AAAA,IACvE;AAAA,IACA,aAAa;AAAA,EACf;AACF;AAGA,IAAM,eAAqD;AAAA,EACzD;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,UAAU,CAAC,kBAAkB,UAAU,gBAAgB;AAAA,MACvD,iBAAiB,CAAC,MAAM,cAAc,YAAY,YAAY;AAAA,IAChE;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,MACV,MAAM;AAAA,MASN,SACE;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAiB,CAAC,cAAc,cAAc,eAAe,eAAe,SAAS;AAAA,IACvF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY,EAAE,MAAM,cAAc;AAAA,IAClC,aAAa;AAAA,EACf;AAAA,EACA;AACF;AAMO,IAAM,mBAAoD;AAAA,EAC/D;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,qDAAqD;AAAA,IAC1F,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc,CAAC,eAAe,iBAAiB,gBAAgB,SAAS;AAAA,MACxE,SACE;AAAA,IACJ;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAChB,0DACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,6BAA6B;AAAA,IAClE,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,iCAAiC;AAAA,IACtE,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,CAAC,SAAS;AAAA,MAClB,SACE;AAAA,IACJ;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,iBAAiB;AAAA,IACtD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,CAAC,SAAS;AAAA,MAClB,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,8BAA8B;AAAA,IACnE,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,CAAC,qBAAqB,iBAAiB;AAAA,MAC/C,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB,mBAAmB,iBAAiB;AAAA,IACtD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,gBAAgB,CAAC,UAAU,WAAW;AAAA,IACtC,kBAAkB;AAAA,IAClB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,UAAU,WAAW;AAAA,MAI5B,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU,CAAC,yBAAyB,YAAY,UAAU;AAAA,UAG1D,iBAAiB,CAAC,eAAe,0BAA0B,aAAa,EAAE;AAAA,QAC5E;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU,CAAC,wBAAwB,aAAa;AAAA,UAChD,iBAAiB,CAAC,0BAA0B,eAAe,aAAa,EAAE;AAAA,QAC5E;AAAA,MACF;AAAA,MACA,SACE;AAAA,IACJ;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,gBAAgB,CAAC,UAAU,WAAW;AAAA,IACtC,kBAAkB;AAAA,IAClB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,UAAU,WAAW;AAAA,MAI5B,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,QAAQ;AAAA,UAER,SAAS;AAAA,UACT,UAAU,CAAC,kBAAkB,oBAAoB,wBAAwB;AAAA,UACzE,iBAAiB;AAAA,YAEf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU,CAAC,0BAA0B,0BAA0B;AAAA,UAC/D,iBAAiB;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,SACE;AAAA,IACJ;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,gBAAgB,CAAC,WAAW;AAAA,IAC5B,kBAAkB;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,YAAY;AAAA,UACV,MAAM;AAAA,UAIN,SAAS;AAAA,UACT,MAAM;AAAA,UACN,UAAU;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,iBAAiB,CAAC,WAAW,aAAa,WAAW,cAAc;AAAA,QACrE;AAAA,QACA,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QAIX,YAAY;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,UACT,MAAM;AAAA,UACN,UAAU,CAAC,0BAA0B,0BAA0B;AAAA,UAC/D,iBAAiB;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,YAAY,EAAE,MAAM,oBAAoB,WAAW,EAAE;AAAA,QACrD,aACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,MAClB,YAAY;AAAA,QACV,WAAW;AAAA,UACT,QAAQ;AAAA,UAGR,SAAS;AAAA,UACT,UAAU;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,iBAAiB;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IAkBJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,kBAAkB;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,YAAY,EAAE,MAAM,YAAY;AAAA,QAChC,aAAa;AAAA,MACf;AAAA,MACA,YAAY,uDAAuD;AAAA,MACnE;AAAA,QAGE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,YAAY,EAAE,MAAM,UAAU,QAAQ,CAAC,UAAU,WAAW,EAAE;AAAA,QAC9D,aACE;AAAA,MACJ;AAAA,MACA;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,aACE;AAAA,EACJ;AACF;AAMA,IAAM,gBAA2D,IAAI,IACnE,iBAAiB,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,CACnD;AAYO,SAAS,uBAAuB,CAAC,IAA8C;AAAA,EACpF,OAAO,cAAc,IAAI,EAAE;AAAA;AAMtB,SAAS,kBAAkB,CAChC,OACA,MACuC;AAAA,EACvC,OAAO,MAAM,iBAAiB,KAAK,CAAC,UAAU,MAAM,SAAS,IAAI;AAAA;;ADxsB5D,IAAM,uBAAuB;AAY7B,SAAS,kBAAkB,CAAC,cAAqD;AAAA,EACtF,MAAM,QAAQ,wBAAwB,YAAY;AAAA,EAClD,IAAI,CAAC;AAAA,IAAO;AAAA,EAEZ,MAAM,QAAQ,mBAAmB,OAAO,oBAAoB;AAAA,EAC5D,IAAI,CAAC;AAAA,IAAO;AAAA,EAEZ,OAAO,MAAM,WAAW,SAAS,WAAW,MAAM,WAAW,SAAS;AAAA;AASjE,SAAS,wBAAwB,CAAC,cAA+B;AAAA,EACtE,MAAM,QAAQ,wBAAwB,YAAY;AAAA,EAClD,OAAO,UAAU,aAAa,sBAAsB,KAAK;AAAA;AAYpD,SAAS,qBAAqB,CAAC,OAAsC;AAAA,EAC1E,OAAO,mBAAmB,OAAO,oBAAoB,MAAM;AAAA;AAUtD,SAAS,2BAA2B,CACzC,UAA2C,kBACxB;AAAA,EACnB,OAAO,QAAQ,OAAO,qBAAqB,EAAE,IAAI,CAAC,UAAU,MAAM,EAAE;AAAA;AAU/D,SAAS,iBAAiB,GAAW;AAAA,EAC1C,MAAM,YAAY,4BAA4B;AAAA,EAC9C,IAAI,UAAU,WAAW,GAAG;AAAA,IAC1B,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,CAAC,GAAG,IAAI,IAAI,UAAU,QAAQ,CAAC,OAAO,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAAA,EACnF,MAAM,QAAQ,GAAG,UAAU,KAAK,IAAI;AAAA,EAEpC,OAAO,OAAO,SAAS,IACnB,oCAAmC,UAAU,OAAO,KAAK,IAAI,MAC7D,oCAAmC;AAAA;AAgBlC,SAAS,iBAAiB,CAAC,cAAsB,OAAqB;AAAA,EAC3E,IAAI,CAAC,yBAAyB,YAAY,GAAG;AAAA,IAC3C,MAAM,YAAY,4BAA4B;AAAA,IAC9C,MAAM,IAAI,cACR,6BACA,UAAU,SAAS,IACf,gCAAgC,UAAU,KAAK,IAAI,OAAO,sCAC1D,wDAAwD,qCAC5D,UAAU,SAAS,IACf,0CAA0C,UAAU,KAAK,KAAK,MAC9D,qBACN;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,mBAAmB,YAAY;AAAA,EAG9C,IAAI,CAAC;AAAA,IAAQ;AAAA,EAEb,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,cACR,sBACA,IAAI,qCAAqC,yBACzC,GAAG,yBAAyB,OAAO,KAAK,IAAI,GAC9C;AAAA,EACF;AAAA;;;AD9HK,IAAM,0BAAuE;AAAA,EAClF,OAAO,CAAC,UAAU,WAAW;AAAA,EAC7B,QAAQ,CAAC,UAAU,WAAW;AAAA,EAC9B,SAAS,CAAC,WAAW;AACvB;AAGO,IAAM,oBAAoB,IAAI,IAAI,OAAO,KAAK,uBAAuB,CAAC;AAGtE,IAAM,kBAAkB;AAAA,EAC7B,GAAG,IAAI,IAAI,OAAO,OAAO,uBAAuB,EAAE,KAAK,CAAC;AAC1D;AASA,IAAM,mBAAqD;AAAA,EACzD,QAAQ;AACV;AA8BA,SAAS,uBAAuB,CAAC,SAA8C;AAAA,EAC7E,MAAM,SAAkC,CAAC;AAAA,EACzC,IAAI,QAAQ;AAAA,IAAkB,OAAO,mBAAmB,QAAQ;AAAA,EAChE,IAAI,QAAQ;AAAA,IAAgB,OAAO,iBAAiB,QAAQ;AAAA,EAC5D,IAAI,QAAQ;AAAA,IAAY,OAAO,aAAa,QAAQ;AAAA,EACpD,IAAI,QAAQ;AAAA,IAAW,OAAO,YAAY,QAAQ;AAAA,EAClD,IAAI,QAAQ;AAAA,IAAQ,OAAO,SAAS,QAAQ;AAAA,EAI5C,IAAI,QAAQ;AAAA,IAAW,OAAO,wBAAwB,QAAQ;AAAA,EAC9D,OAAO;AAAA;AAGF,SAAS,kBAAkB,CAAC,QAAuB;AAAA,EACxD,OACG,QAAQ,KAAK,EACb,YAAY,kCAAkC,EAC9C,eAAe,yBAAyB,+CAA+C,EACvF,eAAe,qBAAqB,gCAAgC,EACpE,OAAO,uBAAuB,6DAA6D,EAC3F,OAAO,gCAAgC,+CAA+C,EACtF,OAAO,4BAA4B,8CAA8C,gBAAgB,KAAK,IAAI,GAAG,EAC7G,OAAO,oBAAoB,sCAAsC,EACjE,OAAO,yBAAyB,kBAAkB,CAAC,EACnD,OAAO,6BAA6B,yBAAyB,EAC7D,OAAO,4BAA4B,uBAAuB,EAC1D,OAAO,2BAA2B,6CAA6C,EAC/E,OAAO,qBAAqB,0BAA0B,EACtD,OAAO,qBAAqB,iDAAiD,EAC7E,OAAO,iBAAiB,yCAAyC,EACjE,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA;AAAA,IAEb,OAAM,IAAI,GAAG;AAAA;AAAA,IAEb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA;AAAA;AAAA,qBAGI,CAAC,GAAG,iBAAiB,EAAE,KAAK,IAAI;AAAA;AAAA;AAAA,EAGnD,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhB,OAAM,IAAI,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOZ,EACA,OAAO,OAAO,YAAwB;AAAA,IACrC,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MAEF,MAAM,eAAe,qBAAqB,QAAQ,QAAQ;AAAA,MAI1D,MAAM,iBAAiB,iBAAiB,iBAAiB;AAAA,MACzD,MAAM,SAAS,mBAAmB,WAAW,QAAQ,SAAS,QAAQ;AAAA,MACtE,MAAM,aAAa,mBAAmB,WAAW,cAAc;AAAA,MAE/D,IAAI,CAAC,UAAU,OAAO,KAAK,MAAM,IAAI;AAAA,QACnC,MAAM,IAAI,cACR,sBACA,GAAG,6DACH,mBAAmB,YACrB;AAAA,MACF;AAAA,MAEA,IAAI,mBAAmB,YAAY,QAAQ,QAAQ;AAAA,QACjD,MAAM,IAAI,cACR,yBACA,IAAI,2CACJ,OAAO,iCACT;AAAA,MACF;AAAA,MAEA,MAAM,kBAAkB,wBAAwB;AAAA,MAChD,MAAM,YAAY,oBAAoB;AAAA,MAEtC,IAAI,QAAQ,cAAc;AAAA,QACxB,IAAI,CAAC,WAAW;AAAA,UACd,MAAM,IAAI,cACR,gCACA,IAAI,oEACJ,qDAAqD,CAAC,GAAG,iBAAiB,EAAE,KAAK,IAAI,GACvF;AAAA,QACF;AAAA,QAEA,IAAI,CAAC,gBAAgB,SAAS,QAAQ,YAAY,GAAG;AAAA,UACnD,MAAM,IAAI,cACR,yBACA,IAAI,gCAAgC,QAAQ,kBAC5C,GAAG,uBAAuB,gBAAgB,KAAK,IAAI,GACrD;AAAA,QACF;AAAA,MACF,EAAO,SAAI,aAAa,gBAAgB,SAAS,GAAG;AAAA,QAGlD,MAAM,IAAI,cACR,yBACA,IAAI,8EACJ,wBAAwB,gBAAgB,KAAK,GAAG,IAClD;AAAA,MACF;AAAA,MAIA,IAAI,QAAQ,WAAW;AAAA,QACrB,kBAAkB,cAAc,QAAQ,SAAS;AAAA,MACnD;AAAA,MAEA,MAAM,SAAS,MAAM,aAAa;AAAA,MAIlC,MAAM,cAAc,OAAO,4BAA4B;AAAA,MAEvD,MAAM,mBAAmB,wBAAwB,OAAO;AAAA,MAGxD,IAAI,mBAAmB;AAAA,QAAU,iBAAiB,kBAAkB;AAAA,MAEpE,MAAM,UAAU,MAAM,OAAO,eAAe;AAAA,QAC1C,MAAM,QAAQ;AAAA,QACd,UAAU;AAAA,QACV,QAAQ,mBAAmB,WAAW,SAAS;AAAA,QAC/C,SAAS,QAAQ;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,cAAc,QAAQ;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,MAED,IAAI,QAAQ;AAAA,QACV,MAAM,YAAY,8BAA8B,SAAS,WAAW;AAAA,QACpE,sBAAsB,SAAS;AAAA,QAC/B,OAAO,OAAO;AAAA,UACZ,SAAS;AAAA,aACN;AAAA,UACH;AAAA,UACA,QAAQ,cAAc,QAAQ,EAAE;AAAA,UAChC,YAAY;AAAA,QACd,CAAC;AAAA,MACH,EAAO;AAAA,QACL,OAAO,QAAQ,qBAAqB,QAAQ,QAAQ,QAAQ,MAAM;AAAA,QAClE,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,EAAE,GAAG;AAAA,QAChD,QAAQ,IAAI,gBAAgB,cAAc;AAAA,QAC1C,IAAI,QAAQ,cAAc;AAAA,UACxB,QAAQ,IAAI,gBAAgB,QAAQ,cAAc;AAAA,QACpD;AAAA,QACA,IAAI,QAAQ,WAAW;AAAA,UACrB,QAAQ,IAAI,iBAAiB,QAAQ,WAAW;AAAA,QAClD;AAAA,QAGA,QAAQ,IAAI,gBAAgB,aAAa;AAAA,QACzC,QAAQ,IAAI,gBAAgB,aAAa,QAAQ,EAAE,GAAG;AAAA,QACtD,IAAI,QAAQ,YAAY;AAAA,UACtB,QAAQ,IAAI,OAAM,MAAM,2BAA2B,CAAC;AAAA,QACtD;AAAA,QACA,QAAQ,IAAI,EAAE;AAAA,QACd,QAAQ,IAAI,OAAM,IAAI,0EAA0E,CAAC;AAAA;AAAA,MAEnG,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA;AAGL,SAAS,6BAA6B,CACpC,UACA,aACA;AAAA,EACA,MAAM,QAAQ,sBAAqB,SAAS,QAAQ;AAAA,EACpD,MAAM,eAAe,aAAa,SAAS,EAAE;AAAA,EAC7C,MAAM,SAAS,kBAAkB,OAAO,SAAS,EAAE;AAAA,EACnD,MAAM,OAAO;AAAA,IACX,EAAE,OAAO,QAAQ,OAAO,SAAS,QAAQ,UAAU;AAAA,IACnD,EAAE,OAAO,eAAe,OAAO,OAAO,SAAS,EAAE,EAAE;AAAA,IACnD,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EAC3C;AAAA,EACA,MAAM,QAAQ;AAAA,IACZ,EAAE,OAAO,YAAY,KAAK,aAAa;AAAA,IACvC,EAAE,OAAO,OAAO,KAAK,OAAO;AAAA,EAC9B;AAAA,EACA,MAAM,OAAO;AAAA,IACX,2BAA2B,OAAO,SAAS,EAAE;AAAA,IAC7C;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV;AAAA,IAKA,QAAQ,EAAE,YAAY,OAAO,SAAS,EAAE,GAAG,MAAM,SAAS,MAAM,YAAY;AAAA,IAC5E,OAAO,EAAE,UAAU,cAAc,KAAK,OAAO;AAAA,IAC7C;AAAA,IACA,aAAa;AAAA,IACb,cAAc,gBAAgB,EAAE,OAAO,MAAM,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,EACvE;AAAA;;;AGzSF;AADA;AAGA;AAgBO,SAAS,qBAAqB,CAAC,QAAuB;AAAA,EAC3D,OACG,QAAQ,QAAQ,EAChB,YAAY,2CAA2C,EACvD,SAAS,QAAQ,6CAA6C,EAC9D,OAAO,qBAAqB,sBAAsB,EAClD,OAAO,uBAAuB,wCAAwC,EACtE,OAAO,mBAAmB,qCAAqC,EAC/D,OAAO,iBAAiB,yCAAyC,EACjE,OAAO,oBAAoB,oCAAoC,EAC/D,YAAY,SAAS;AAAA;AAAA,IAEtB,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA,IACb,OAAM,IAAI,GAAG;AAAA;AAAA;AAAA,KAGZ,EACA,OAAO,OAAO,IAAY,YAA2B;AAAA,IACpD,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MAEF,MAAM,aAMF,CAAC;AAAA,MAEL,IAAI,aAAa;AAAA,MAEjB,IAAI,QAAQ,SAAS,WAAW;AAAA,QAC9B,WAAW,OAAO,QAAQ;AAAA,QAC1B,aAAa;AAAA,MACf;AAAA,MACA,IAAI,QAAQ,WAAW,WAAW;AAAA,QAChC,WAAW,SAAS,QAAQ;AAAA,QAC5B,aAAa;AAAA,MACf;AAAA,MACA,IAAI,QAAQ,WAAW,WAAW;AAAA,QAChC,IAAI,QAAQ,WAAW,UAAU,QAAQ,WAAW,SAAS;AAAA,UAC3D,MAAM,IAAI,cACR,kBACA,2BAA2B,QAAQ,UACnC,qCACF;AAAA,QACF;AAAA,QACA,WAAW,WAAW,QAAQ,WAAW;AAAA,QACzC,aAAa;AAAA,MACf;AAAA,MACA,IAAI,QAAQ,YAAY;AAAA,QACtB,WAAW,YAAY;AAAA,QACvB,aAAa;AAAA,MACf;AAAA,MACA,IAAI,QAAQ,YAAY,WAAW;AAAA,QACjC,WAAW,UAAU,QAAQ,YAAY,KAAK,OAAO,QAAQ;AAAA,QAC7D,aAAa;AAAA,MACf;AAAA,MAEA,IAAI,CAAC,YAAY;AAAA,QACf,MAAM,IAAI,cACR,cACA,6BACA,iFACF;AAAA,MACF;AAAA,MAEA,MAAM,SAAS,MAAM,aAAa;AAAA,MAClC,MAAM,UAAU,MAAM,OAAO,eAAe,IAAI,UAAU;AAAA,MAE1D,IAAI,QAAQ;AAAA,QACV,MAAM,YAAY,8BAA8B,SAAS,EAAE;AAAA,QAC3D,sBAAsB,SAAS;AAAA,QAC/B,OAAO,OAAO;AAAA,UACZ,SAAS;AAAA,aACN;AAAA,UACH,QAAQ,cAAc,QAAQ,MAAM,EAAE;AAAA,UACtC,YAAY;AAAA,QACd,CAAC;AAAA,MACH,EAAO;AAAA,QACL,OAAO,QAAQ,qBAAqB,OAAO,QAAQ,QAAQ,EAAE,GAAG;AAAA,QAChE,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,MAAM,EAAE,GAAG;AAAA,QAEtD,IAAI,QAAQ,aAAa;AAAA,UACvB,QAAQ,IAAI,gBAAgB,QAAQ,aAAa;AAAA,QACnD;AAAA,QACA,QAAQ,IAAI,gBAAgB,aAAa,QAAQ,MAAM,EAAE,GAAG;AAAA,QAC5D,IAAI,QAAQ,QAAQ;AAAA,UAClB,QAAQ,IAAI,OAAM,IAAI,qCAAqC,CAAC;AAAA,QAC9D;AAAA;AAAA,MAEF,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA;AAGL,SAAS,6BAA6B,CACpC,UACA,WACA;AAAA,EACA,MAAM,KAAK,SAAS,MAAM;AAAA,EAC1B,MAAM,QAAQ,sBAAqB,SAAS,QAAQ,OAAO,EAAE;AAAA,EAC7D,MAAM,eAAe,aAAa,EAAE;AAAA,EACpC,MAAM,SAAS,kBAAkB,OAAO,EAAE;AAAA,EAC1C,MAAM,OAAO;AAAA,IACX,EAAE,OAAO,eAAe,OAAO,OAAO,EAAE,EAAE;AAAA,IAC1C,GAAI,SAAS,OAAO,CAAC,EAAE,OAAO,QAAQ,OAAO,SAAS,KAAK,CAAC,IAAI,CAAC;AAAA,EACnE;AAAA,EACA,MAAM,QAAQ;AAAA,IACZ,EAAE,OAAO,YAAY,KAAK,aAAa;AAAA,IACvC,EAAE,OAAO,OAAO,KAAK,OAAO;AAAA,EAC9B;AAAA,EACA,MAAM,OAAO;AAAA,IACX,0BAA0B,OAAO,EAAE;AAAA,IACnC,2BAA2B,OAAO,EAAE;AAAA,EACtC;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV;AAAA,IACA,QAAQ,EAAE,YAAY,OAAO,EAAE,GAAG,MAAM,SAAS,KAAK;AAAA,IACtD,OAAO,EAAE,UAAU,cAAc,KAAK,OAAO;AAAA,IAC7C;AAAA,IACA,aAAa;AAAA,IACb,cAAc,gBAAgB,EAAE,OAAO,MAAM,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,EACvE;AAAA;;;ACpJF;AADA;AAGA;AAWO,SAAS,qBAAqB,CAAC,QAAuB;AAAA,EAC3D,OACG,QAAQ,QAAQ,EAChB,YAAY,iCAAiC,EAC7C,SAAS,QAAQ,6CAA6C,EAC9D,OAAO,eAAe,0BAA0B,EAChD,YAAY,SAAS;AAAA;AAAA,IAEtB,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA;AAAA,EAEf,QAAM,IAAI,wHAAuH;AAAA,EACjI,QAAM,IAAI,8IAA8I;AAAA,KACrJ,EACA,OAAO,OAAO,IAAY,YAA2B;AAAA,IACpD,MAAM,SAAS,YAAY,MAAM;AAAA,IACjC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MAGF,IAAI,CAAC,QAAQ,SAAS,CAAC,QAAQ;AAAA,QAC7B,MAAM,IAAI,cACR,yBACA,qBAAqB,+BACrB,iEACA;AAAA,IACA;AAAA,IACA,qDAAqD,YACvD;AAAA,MACF;AAAA,MAEA,MAAM,SAAS,MAAM,aAAa;AAAA,MAGlC,IAAI;AAAA,MAEJ,IAAI;AAAA,QACF,eAAe,MAAM,OAAO,eAAe,EAAE,GAAG;AAAA,QAChD,OAAO,OAAO;AAAA,QAEd,IAAI,iBAAiB,YAAY,MAAM,eAAe,KAAK;AAAA,UACzD,IAAI,QAAQ;AAAA,YACV,MAAM,YAAY,8BAA8B,EAAE;AAAA,YAClD,OAAO,OAAO;AAAA,cACZ,SAAS;AAAA,cACT,WAAW;AAAA,cACX,QAAQ,EAAE,WAAW,qBAAqB,EAAE;AAAA,cAC5C,YAAY;AAAA,YACd,CAAC;AAAA,YACD,sBAAsB,SAAS;AAAA,UACjC,EAAO;AAAA,YACL,OAAO,QAAQ,YAAY,iCAAiC;AAAA;AAAA,UAE9D;AAAA,QACF;AAAA,QACA,MAAM;AAAA;AAAA,MAGR,IAAI,QAAQ;AAAA,QACV,MAAM,YAAY,8BAA8B,EAAE;AAAA,QAClD,sBAAsB,SAAS;AAAA,QAC/B,OAAO,OAAO;AAAA,UACZ,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ,EAAE,WAAW,qBAAqB,EAAE;AAAA,UAC5C,YAAY;AAAA,QACd,CAAC;AAAA,MACH,EAAO;AAAA,QACL,OAAO,QAAQ,qBAAqB,IAAI;AAAA,QACxC,IAAI,aAAa;AAAA,UACf,QAAQ,IAAI,gBAAgB,aAAa;AAAA,QAC3C;AAAA,QACA,QAAQ,IAAI,gBAAgB,qBAAqB,GAAG;AAAA;AAAA,MAEtD,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA;AAGL,SAAS,6BAA6B,CAAC,IAAY;AAAA,EACjD,MAAM,QAAQ,sBAAqB;AAAA,EACnC,MAAM,cAAc,qBAAqB;AAAA,EACzC,MAAM,OAAO,CAAC,EAAE,OAAO,eAAe,OAAO,GAAG,CAAC;AAAA,EACjD,MAAM,QAAQ,CAAC,EAAE,OAAO,YAAY,KAAK,YAAY,CAAC;AAAA,EACtD,MAAM,OAAO,CAAC,gCAAgC;AAAA,EAC9C,OAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV;AAAA,IACA,QAAQ,EAAE,YAAY,GAAG;AAAA,IACzB,OAAO,EAAE,UAAU,YAAY;AAAA,IAC/B;AAAA,IACA,aAAa;AAAA,IACb,cAAc,gBAAgB,EAAE,OAAO,MAAM,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,EACvE;AAAA;;;ALpFK,IAAM,uBAAuB,OAAO,OAAO,iBAAiB;AAa5D,SAAS,oBAAoB,CAAC,MAAiC;AAAA,EAKpE,MAAM,QAAQ,qBAAqB,KAAK,CAAC,UAAU,UAAU,IAAI;AAAA,EACjE,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,IAAI,cACR,yBACA,0BAA0B,QAC1B,gBAAgB,qBAAqB,KAAK,IAAI,GAChD;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,sBAAsB,GAAY;AAAA,EAChD,MAAM,YAAY,IAAI,SAAQ,WAAW,EACtC,YAAY,2CAA2C,EACvD,YAAY,SAAS;AAAA;AAAA,IAEtB,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA;AAAA;AAAA,IAGb,qBAAqB,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAO7B;AAAA,EAKH,UACG,QAAQ,MAAM,EACd,YAAY,oBAAoB,EAChC,OAAO,mBAAmB,iBAAiB,IAAI,EAC/C,OAAO,oBAAoB,uBAAuB,EAClD,OAAO,qBAAqB,yBAAyB,EACrD,OAAO,gBAAgB,+DAA+D,EACtF,YAAY,SAAS;AAAA;AAAA,IAEtB,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,OAAO,YAAyB;AAAA,IACtC,MAAM,SAAS,YAAY,SAAS;AAAA,IACpC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,aAAa;AAAA,MAClC,MAAM,UAA8D;AAAA,QAClE,OAAO,SAAS,QAAQ,OAAO,EAAE,KAAK;AAAA,MACxC;AAAA,MAEA,IAAI,QAAQ,QAAQ;AAAA,QAClB,QAAQ,SAAS,SAAS,QAAQ,QAAQ,EAAE;AAAA,MAC9C;AAAA,MACA,IAAI,QAAQ,MAAM;AAAA,QAChB,QAAQ,OAAO,qBAAqB,QAAQ,IAAI;AAAA,MAClD;AAAA,MAEA,MAAM,SAAS,MAAM,OAAO,cAAc,OAAO;AAAA,MAGjD,IAAI,gBAA0C,CAAC;AAAA,MAC/C,IAAI,QAAQ,QAAQ;AAAA,QAClB,IAAI;AAAA,UACF,MAAM,UAAU,MAAM,OAAO,iBAAiB;AAAA,UAC9C,WAAW,SAAS,QAAQ,QAAQ;AAAA,YAClC,MAAM,OAAO,MAAM,SAAS;AAAA,YAC5B,IAAI,CAAC,cAAc;AAAA,cAAO,cAAc,QAAQ,CAAC;AAAA,YACjD,cAAc,MAAM,KAAK,MAAM,EAAE;AAAA,UACnC;AAAA,UACA,MAAM;AAAA,MAGV;AAAA,MAEA,MAAM,eAAe,CAAC,SAAyB;AAAA,QAC7C,MAAM,SAAS,cAAc,SAAS,CAAC;AAAA,QACvC,IAAI,OAAO,WAAW;AAAA,UAAG,OAAO;AAAA,QAChC,IAAI,OAAO,UAAU;AAAA,UAAG,OAAO,OAAO,KAAK,IAAI;AAAA,QAC/C,OAAO,GAAG,OAAO,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,MAAM,OAAO,SAAS;AAAA;AAAA,MAG9D,IAAI,QAAQ;AAAA,QACV,MAAM,YAAY,OAAO,KAAK,IAAI,CAAC,OAAiB;AAAA,UAClD,IAAI,EAAE;AAAA,UACN,MAAM,EAAE;AAAA,UACR,UAAU,EAAE;AAAA,UACZ,UAAU,EAAE;AAAA,UACZ,WAAW,EAAE;AAAA,aACT,QAAQ,SAAS,EAAE,QAAQ,cAAc,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC;AAAA,UACpE,QAAQ,cAAc,EAAE,EAAE;AAAA,QAC5B,EAAE;AAAA,QACF,OAAO,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAAA,MAC9C,EAAO;AAAA,QACL,IAAI,OAAO,KAAK,WAAW,GAAG;AAAA,UAC5B,OAAO,KAAK,0BAA0B;AAAA,UACtC,OAAO,KAAK,iBAAiB,qBAAqB,GAAG;AAAA,QACvD,EAAO;AAAA,UACL,MAAM,YAAY,OAAO,KAAK,IAAI,CAAC,OAAiB;AAAA,YAClD,IAAI,EAAE;AAAA,YACN,MAAM,EAAE;AAAA,YACR,UAAU,EAAE;AAAA,YACZ,SAAS,EAAE,WAAW;AAAA,YACtB,QAAQ,EAAE,WAAW,QAAQ;AAAA,YAC7B,SAAS,EAAE,YAAY,IAAI,KAAK,EAAE,SAAS,EAAE,mBAAmB,IAAI;AAAA,eAChE,QAAQ,SAAS,EAAE,QAAQ,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC;AAAA,YAC7D,KAAK,aAAa,EAAE,EAAE;AAAA,UACxB,EAAE;AAAA,UACF,OAAO,OAAO,SAAS;AAAA;AAAA;AAAA,MAG3B,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAKH,UACG,QAAQ,KAAK,EACb,YAAY,sBAAsB,EAClC,SAAS,QAAQ,6CAA6C,EAC9D,YAAY,SAAS;AAAA;AAAA,IAEtB,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA,KACZ,EACA,OAAO,OAAO,OAAe;AAAA,IAC5B,MAAM,SAAS,YAAY,SAAS;AAAA,IACpC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,aAAa;AAAA,MAClC,MAAM,WAAW,MAAM,OAAO,YAAY,EAAE;AAAA,MAE5C,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,KAAK,UAAU,QAAQ,cAAc,SAAS,EAAE,EAAE,CAAC;AAAA,MACnE,EAAO;AAAA,QACL,MAAM,YAAqC;AAAA,UACzC,IAAI,SAAS;AAAA,UACb,MAAM,SAAS;AAAA,UACf,UAAU,SAAS;AAAA,UACnB,SAAS,SAAS,WAAW;AAAA,UAC7B,UAAU,SAAS,WAAW,QAAQ;AAAA,UACtC,WAAW,SAAS,aAAa;AAAA,UACjC,WAAW,SAAS,YAAY,IAAI,KAAK,SAAS,SAAS,EAAE,eAAe,IAAI;AAAA,UAChF,WAAW,SAAS,YAAY,IAAI,KAAK,SAAS,SAAS,EAAE,eAAe,IAAI;AAAA,UAChF,KAAK,aAAa,SAAS,EAAE;AAAA,QAC/B;AAAA,QACA,OAAO,OAAO,SAAS;AAAA;AAAA,MAEzB,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAKH,UACG,QAAQ,MAAM,EACd,YAAY,4BAA4B,EACxC,SAAS,QAAQ,6CAA6C,EAC9D,YAAY,SAAS;AAAA;AAAA,IAEtB,QAAM,IAAI,GAAG;AAAA,IACb,QAAM,IAAI,GAAG;AAAA;AAAA,EAEf,QAAM,IAAI,iEAAiE;AAAA,KACxE,EACA,OAAO,OAAO,OAAe;AAAA,IAC5B,MAAM,SAAS,YAAY,SAAS;AAAA,IACpC,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,OAAO;AAAA,IAE5D,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,aAAa;AAAA,MAElC,IAAI,CAAC,QAAQ;AAAA,QACX,OAAO,KAAK,oBAAoB,OAAO;AAAA,MACzC;AAAA,MAEA,MAAM,SAAS,MAAM,OAAO,aAAa,EAAE;AAAA,MAE3C,IAAI,QAAQ;AAAA,QACV,OAAO,OAAO,KAAK,QAAQ,QAAQ,cAAc,EAAE,EAAE,CAAC;AAAA,MACxD,EAAO;AAAA,QACL,IAAI,OAAO,SAAS;AAAA,UAGlB,MAAM,UAAU,OAAO,OAAO,cAAc,WAAW,KAAK,OAAO,OAAO,SAAS,SAAS;AAAA,UAC5F,OAAO,QAAQ,uBAAuB,SAAS;AAAA,UAC/C,QAAQ,IAAI,QAAM,MAAM,YAAY,OAAO,SAAS,CAAC;AAAA,UACrD,IAAI,OAAO,UAAU,OAAO,OAAO,SAAS,GAAG;AAAA,YAC7C,QAAQ,IAAI,QAAM,KAAK;AAAA,kBAAqB,CAAC;AAAA,YAC7C,OAAO,OAAO,QAAQ,WAAS;AAAA,cAC7B,QAAQ,IAAI,OAAO,OAAO;AAAA,aAC3B;AAAA,UACH;AAAA,QACF,EAAO;AAAA,UACL,OAAO,MAAM,yBAAyB,OAAO,SAAS;AAAA,UACtD,IAAI,OAAO,OAAO;AAAA,YAChB,QAAQ,IAAI,QAAM,IAAI,UAAU,OAAO,OAAO,CAAC;AAAA,UACjD;AAAA;AAAA;AAAA,MAGJ,OAAO,OAAO;AAAA,MACd,YAAY,OAAO,MAAM;AAAA;AAAA,GAE5B;AAAA,EAGH,mBAAmB,SAAS;AAAA,EAC5B,sBAAsB,SAAS;AAAA,EAC/B,sBAAsB,SAAS;AAAA,EAE/B,OAAO;AAAA;;;AM3QT;AAJA,oBAAS;AACT;AACA,yBAAS;AACT,iBAAS;AAGT;;;ACNA,oBAAS;AACT;AACA,uBAAS,0BAAY,6BAAW;AAChC,0BAAkB;AAClB;;;ACMO,IAAM,cAAsC;AAAA,EACjD,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACzB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACxB,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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",
47
+ "debugId": "270F5210E72B26F864756E2164756E21",
48
48
  "names": []
49
49
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutagent/cli",
3
- "version": "0.1.239",
3
+ "version": "0.1.241",
4
4
  "description": "Bun-native CLI for the MutagenT AI platform - auth, provider config, and lifecycle-tool installer for AI-native workflows",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,7 +37,7 @@
37
37
  "verify:fix": "bun run check:workspace-resolution && bun run lint:fix && bun run type-check && bun run build"
38
38
  },
39
39
  "dependencies": {
40
- "@mutagent/sdk": "0.3.17",
40
+ "@mutagent/sdk": "0.3.18",
41
41
  "chalk": "^5.3.0",
42
42
  "commander": "^12.1.0",
43
43
  "cosmiconfig": "^9.0.0",