blume 2.2.3 → 2.2.4
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/CHANGELOG.md +8 -0
- package/THIRD-PARTY-NOTICES.md +51 -0
- package/dist/cli/{chunk-b7n58hgj.js → chunk-0b1a8xqz.js} +3 -3
- package/dist/cli/{chunk-8h2t2vyj.js → chunk-0qx6vwwf.js} +2 -2
- package/dist/cli/{chunk-qax1aekz.js → chunk-3ps63r91.js} +1 -1
- package/dist/cli/{chunk-2f6btenb.js → chunk-402xaaxn.js} +3 -3
- package/dist/cli/{chunk-0xyedh7k.js → chunk-49xa4yf2.js} +2 -2
- package/dist/cli/{chunk-znwhf37a.js → chunk-51wr1wre.js} +1 -1
- package/dist/cli/{chunk-akj2p7k1.js → chunk-531qbwn1.js} +6 -6
- package/dist/cli/{chunk-hwjspffr.js → chunk-5bp65pv4.js} +4 -3
- package/dist/cli/{chunk-hwjspffr.js.map → chunk-5bp65pv4.js.map} +3 -3
- package/dist/cli/{chunk-88zkpg89.js → chunk-6nvcjzts.js} +2 -2
- package/dist/cli/{chunk-6xag1c83.js → chunk-6v5w8vzd.js} +4 -4
- package/dist/cli/{chunk-0ynr0fr7.js → chunk-8cshtem6.js} +5 -5
- package/dist/cli/{chunk-x0jqyq1g.js → chunk-8h5ceyk0.js} +6 -6
- package/dist/cli/{chunk-1ay3hzn0.js → chunk-8v90n67z.js} +3 -3
- package/dist/cli/{chunk-xv8nkt56.js → chunk-98me5yas.js} +14 -14
- package/dist/cli/{chunk-pxp1y6yz.js → chunk-9k7gg4ga.js} +9 -9
- package/dist/cli/{chunk-pxp1y6yz.js.map → chunk-9k7gg4ga.js.map} +2 -2
- package/dist/cli/{chunk-psg2za5z.js → chunk-9qmc57zw.js} +3 -3
- package/dist/cli/{chunk-b664x65a.js → chunk-a1xmzxk2.js} +16 -16
- package/dist/cli/{chunk-426rytg6.js → chunk-ajw85dgf.js} +2 -2
- package/dist/cli/{chunk-ry2ymbxf.js → chunk-ansqj08e.js} +5 -5
- package/dist/cli/{chunk-rc2qk3qx.js → chunk-b0vwhmdf.js} +2 -2
- package/dist/cli/{chunk-xkx216rd.js → chunk-b5gztt4j.js} +17 -17
- package/dist/cli/{chunk-c0qddrxr.js → chunk-bc4jz2m4.js} +1 -1
- package/dist/cli/{chunk-x25s4gph.js → chunk-d4h1y312.js} +1 -1
- package/dist/cli/{chunk-0wt5amrk.js → chunk-et7zwqkg.js} +15 -15
- package/dist/cli/{chunk-88q28zav.js → chunk-f29q3j13.js} +3 -3
- package/dist/cli/{chunk-zj6bcx0n.js → chunk-f72388jn.js} +2 -2
- package/dist/cli/{chunk-9emfspcp.js → chunk-g0hpwbyx.js} +4 -4
- package/dist/cli/{chunk-p4fe7tax.js → chunk-j102xmnk.js} +7 -7
- package/dist/cli/{chunk-8fm3b4vm.js → chunk-m54bz9ng.js} +6 -6
- package/dist/cli/{chunk-r5ajrw1g.js → chunk-mt6njy68.js} +2 -2
- package/dist/cli/{chunk-982qfeny.js → chunk-n091sgam.js} +6 -6
- package/dist/cli/{chunk-zjfwzrvd.js → chunk-p33bf2nb.js} +14 -14
- package/dist/cli/{chunk-zgca0vxs.js → chunk-saxq5jjr.js} +2 -2
- package/dist/cli/{chunk-5xq12jz7.js → chunk-sbt1s5j2.js} +17 -17
- package/dist/cli/{chunk-t43g7v22.js → chunk-tckd6qwv.js} +2 -2
- package/dist/cli/{chunk-g62vnvaw.js → chunk-tf4134kk.js} +5 -5
- package/dist/cli/{chunk-gc7knd2s.js → chunk-vxdjss7f.js} +2 -2
- package/dist/cli/{chunk-5f96yq2c.js → chunk-x2pgg22t.js} +1 -1
- package/dist/cli/{chunk-yrmw5n2b.js → chunk-xhrwrzrh.js} +9 -9
- package/dist/cli/index.js +18 -18
- package/dist/types/core/config-input.d.ts +6 -0
- package/dist/types/core/schema.d.ts +1 -0
- package/docs/configuration/theming.mdx +13 -1
- package/package.json +4 -3
- package/skills/blume-migrate/references/docus.md +1 -2
- package/skills/blume-migrate/references/docusaurus.md +1 -1
- package/skills/blume-migrate/references/vitepress.md +2 -2
- package/skills/blume-migrate/references/vuepress.md +1 -1
- package/src/components/layout/Header.astro +18 -10
- package/src/components/layout/PageActions.astro +1 -0
- package/src/components/layout/PageLayout.astro +6 -1
- package/src/components/layout/ReferenceLayout.astro +6 -1
- package/src/components/layout/RootLayout.astro +6 -1
- package/src/components/layout/head-scripts.ts +5 -1
- package/src/core/config-input.ts +6 -0
- package/src/core/schema.ts +1 -0
- package/src/theme/chrome-icons.ts +2 -1
- package/src/theme/entry.ts +4 -1
- /package/dist/cli/{chunk-b7n58hgj.js.map → chunk-0b1a8xqz.js.map} +0 -0
- /package/dist/cli/{chunk-8h2t2vyj.js.map → chunk-0qx6vwwf.js.map} +0 -0
- /package/dist/cli/{chunk-qax1aekz.js.map → chunk-3ps63r91.js.map} +0 -0
- /package/dist/cli/{chunk-2f6btenb.js.map → chunk-402xaaxn.js.map} +0 -0
- /package/dist/cli/{chunk-0xyedh7k.js.map → chunk-49xa4yf2.js.map} +0 -0
- /package/dist/cli/{chunk-znwhf37a.js.map → chunk-51wr1wre.js.map} +0 -0
- /package/dist/cli/{chunk-akj2p7k1.js.map → chunk-531qbwn1.js.map} +0 -0
- /package/dist/cli/{chunk-88zkpg89.js.map → chunk-6nvcjzts.js.map} +0 -0
- /package/dist/cli/{chunk-6xag1c83.js.map → chunk-6v5w8vzd.js.map} +0 -0
- /package/dist/cli/{chunk-0ynr0fr7.js.map → chunk-8cshtem6.js.map} +0 -0
- /package/dist/cli/{chunk-x0jqyq1g.js.map → chunk-8h5ceyk0.js.map} +0 -0
- /package/dist/cli/{chunk-1ay3hzn0.js.map → chunk-8v90n67z.js.map} +0 -0
- /package/dist/cli/{chunk-xv8nkt56.js.map → chunk-98me5yas.js.map} +0 -0
- /package/dist/cli/{chunk-psg2za5z.js.map → chunk-9qmc57zw.js.map} +0 -0
- /package/dist/cli/{chunk-b664x65a.js.map → chunk-a1xmzxk2.js.map} +0 -0
- /package/dist/cli/{chunk-426rytg6.js.map → chunk-ajw85dgf.js.map} +0 -0
- /package/dist/cli/{chunk-ry2ymbxf.js.map → chunk-ansqj08e.js.map} +0 -0
- /package/dist/cli/{chunk-rc2qk3qx.js.map → chunk-b0vwhmdf.js.map} +0 -0
- /package/dist/cli/{chunk-xkx216rd.js.map → chunk-b5gztt4j.js.map} +0 -0
- /package/dist/cli/{chunk-c0qddrxr.js.map → chunk-bc4jz2m4.js.map} +0 -0
- /package/dist/cli/{chunk-x25s4gph.js.map → chunk-d4h1y312.js.map} +0 -0
- /package/dist/cli/{chunk-0wt5amrk.js.map → chunk-et7zwqkg.js.map} +0 -0
- /package/dist/cli/{chunk-88q28zav.js.map → chunk-f29q3j13.js.map} +0 -0
- /package/dist/cli/{chunk-zj6bcx0n.js.map → chunk-f72388jn.js.map} +0 -0
- /package/dist/cli/{chunk-9emfspcp.js.map → chunk-g0hpwbyx.js.map} +0 -0
- /package/dist/cli/{chunk-p4fe7tax.js.map → chunk-j102xmnk.js.map} +0 -0
- /package/dist/cli/{chunk-8fm3b4vm.js.map → chunk-m54bz9ng.js.map} +0 -0
- /package/dist/cli/{chunk-r5ajrw1g.js.map → chunk-mt6njy68.js.map} +0 -0
- /package/dist/cli/{chunk-982qfeny.js.map → chunk-n091sgam.js.map} +0 -0
- /package/dist/cli/{chunk-zjfwzrvd.js.map → chunk-p33bf2nb.js.map} +0 -0
- /package/dist/cli/{chunk-zgca0vxs.js.map → chunk-saxq5jjr.js.map} +0 -0
- /package/dist/cli/{chunk-5xq12jz7.js.map → chunk-sbt1s5j2.js.map} +0 -0
- /package/dist/cli/{chunk-t43g7v22.js.map → chunk-tckd6qwv.js.map} +0 -0
- /package/dist/cli/{chunk-g62vnvaw.js.map → chunk-tf4134kk.js.map} +0 -0
- /package/dist/cli/{chunk-gc7knd2s.js.map → chunk-vxdjss7f.js.map} +0 -0
- /package/dist/cli/{chunk-5f96yq2c.js.map → chunk-x2pgg22t.js.map} +0 -0
- /package/dist/cli/{chunk-yrmw5n2b.js.map → chunk-xhrwrzrh.js.map} +0 -0
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"import { withBasePath } from \"../core/base-path.ts\";\n\n/** A resolved search empty-state link passed to the Search dialog. */\nexport interface SearchPopularPage {\n /** Built-in icon name; `Search.astro` resolves it to markup at render time. */\n icon?: string;\n label: string;\n route: string;\n}\n\n/**\n * Map configured `search.popular` entries to `{ route, label }` for Search.\n *\n * Curated hrefs are authored as if mounted at root, so `basePath` is applied\n * here — matching `navigation.featured` and tab paths, and agreeing with the\n * sidebar fallback these entries replace (whose routes are already based via\n * `page.route`). `withBasePath` is idempotent and skips external URLs.\n *\n * `deployment.base` is deliberately *not* applied: routes stay deploy-base-less\n * so `Search.astro` can add it when it renders the entry, same as\n * sidebar-derived pages.\n *\n * `icon` stays a name here (like `navigation.featured`): the icon set is a\n * server-only module, so `Search.astro` resolves it to inline SVG at render.\n */\nexport const resolveSearchPopular = (\n popular: { href: string; icon?: string; label: string }[],\n basePath: string\n): SearchPopularPage[] =>\n popular.map(({ href, icon, label }) => {\n const page: SearchPopularPage = {\n label,\n route: withBasePath(basePath, href),\n };\n if (icon) {\n page.icon = icon;\n }\n return page;\n });\n",
|
|
26
26
|
"import { relative } from \"pathe\";\n\nimport type { BlumeProject } from \"../core/project-graph.ts\";\n\n/** Where a page is served, and its title: what a search hit links to. */\nexport interface SourcePage {\n title: string;\n url: string;\n}\n\n/**\n * Each search-indexable page's source file, relative to the project root,\n * paired with the page it renders. The Mixedbread endpoint links a hit to its\n * page through the path `mxbai store sync` recorded for the chunk's file,\n * which is relative to wherever the CLI ran: the project root, or a directory\n * above it in a monorepo. Pages from a source without local files have no\n * path to match and are left out.\n */\nexport const sourcePages = (project: BlumeProject): [string, SourcePage][] =>\n project.manifest.routes.flatMap((route): [string, SourcePage][] =>\n route.indexable && route.sourcePath\n ? [\n [\n relative(project.context.root, route.sourcePath),\n { title: route.title, url: route.path },\n ],\n ]\n : []\n );\n",
|
|
27
27
|
"/**\n * Vertical padding of a highlighted code block, shared by the theme (which\n * emits it as CSS) and `<Component>` (which estimates a source pane's SSR\n * height from it) so the two cannot drift.\n */\n\n/** Top and bottom inset of a plain prose block with no chrome, in rem. */\nexport const CODE_PADDING_BLOCK_REM = 1;\n",
|
|
28
|
-
"import { EXPANDABLE_VISIBLE_LINES } from \"../markdown/code-title.ts\";\nimport { CODE_PADDING_BLOCK_REM } from \"./code-block-padding.ts\";\n\n/**\n * Bottom inset of the scrolling code element, in rem: keeps a horizontal\n * scrollbar thumb off the last line's descenders. It is carved out of the\n * pre's block padding rather than added to it, so a block's height is the\n * same whether or not it scrolls.\n */\nconst CODE_SCROLL_INSET_REM = 0.375;\n\n/** Lucide's arrow-up-right (the featured-link icon) as a `mask` data URI. */\nconst EXTERNAL_LINK_MASK = `url(\"data:image/svg+xml,${encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M7 7h10v10M7 17L17 7\"/></svg>')}\")`;\n\ninterface TailwindEntryOptions {\n /**\n * Globs to scan for utility classes. Typically the Blume package source and\n * the user's project (node_modules is skipped automatically).\n */\n sources: string[];\n /** Config-derived token overrides (`:root { --blume-accent: ... }`). */\n configTokens: string;\n /** Raw contents of the user's theme.css, if any. */\n userTheme: string;\n /** Twoslash rich-renderer styles (for fences with the `twoslash` meta). */\n twoslashCss?: string;\n /** The code-block language icon rules (`languageIconCss`), if any. */\n languageIcons?: string;\n}\n\n/** Dark mode is driven by `data-theme` on the root element (both sheets). */\nconst DARK_VARIANT = `/* Dark mode is driven by data-theme on the <html> element. */\n@custom-variant dark (&:where([data-theme=\"dark\"], [data-theme=\"dark\"] *));`;\n\n/** Keep browser-provided UI in sync with the active theme in both sheets. */\nconst COLOR_SCHEME_DEFAULTS = `:root {\n color-scheme: light;\n}\n\n:root[data-theme=\"dark\"] {\n color-scheme: dark;\n}`;\n\n/**\n * The default `--blume-*` design tokens (light + dark), shared by the app\n * sheet and the isolated example-preview sheet so previews inherit the site's\n * palette by default.\n */\nconst TOKEN_DEFAULTS = `:root {\n --blume-background: oklch(1 0 0);\n --blume-background-image: none;\n --blume-background-image-repeat: no-repeat;\n --blume-background-image-size: cover;\n --blume-foreground: oklch(0.145 0 0);\n --blume-muted: oklch(0.965 0 0);\n /* 5.28:1 on the page background. The headroom over 4.5:1 is the point: muted\n text is 14px body copy routinely set on a tinted surface (callouts, badges,\n panels), and each tint costs a few tenths. */\n --blume-muted-foreground: oklch(0.53 0 0);\n --blume-border: oklch(0.88 0.006 260 / 0.72);\n --blume-accent: oklch(0.145 0 0);\n --blume-accent-foreground: oklch(1 0 0);\n --blume-action: var(--blume-accent);\n --blume-action-foreground: var(--blume-accent-foreground);\n --blume-code-background: oklch(0.99 0 0);\n /* Shiki notation transformers: line/word highlight, diff add/remove, and\n error/warning lines. */\n --blume-code-highlight: oklch(0.55 0.16 255 / 0.1);\n --blume-code-highlight-border: oklch(0.55 0.16 255 / 0.55);\n --blume-code-add: oklch(0.72 0.16 150 / 0.16);\n --blume-code-add-border: oklch(0.52 0.15 150 / 0.7);\n --blume-code-remove: oklch(0.66 0.21 22 / 0.16);\n --blume-code-remove-border: oklch(0.55 0.2 22 / 0.7);\n --blume-code-error: oklch(0.66 0.21 22 / 0.16);\n --blume-code-error-border: oklch(0.55 0.2 22 / 0.7);\n --blume-code-warning: oklch(0.8 0.16 80 / 0.2);\n --blume-code-warning-border: oklch(0.66 0.15 70 / 0.75);\n --blume-code-word: oklch(0.55 0.16 255 / 0.16);\n --blume-code-word-border: oklch(0.55 0.16 255 / 0.5);\n --blume-radius: 0.75rem;\n\n /* Max width of the prose content column (article, breadcrumb, TOC, feedback,\n pagination, last-updated). Override to re-measure the whole column at once. */\n --blume-content-width: 42rem;\n\n /*\n * Font tokens resolve through optional src variables that Astro's Fonts API\n * populates (via theme.fonts). When unset they fall back to the system\n * stacks, so the default look is unchanged. The display font defaults to the\n * body font.\n */\n --blume-font-body: var(\n --blume-font-body-src,\n ui-sans-serif,\n system-ui,\n -apple-system,\n \"Segoe UI\",\n Roboto,\n Helvetica,\n Arial,\n sans-serif\n );\n --blume-font-mono: var(\n --blume-font-mono-src,\n ui-monospace,\n \"SF Mono\",\n \"Cascadia Code\",\n \"Source Code Pro\",\n Menlo,\n Consolas,\n monospace\n );\n --blume-font-display: var(--blume-font-display-src, var(--blume-font-body));\n}\n\n:root[data-theme=\"dark\"] {\n --blume-background: oklch(0.085 0 0);\n --blume-background-image: none;\n --blume-background-image-repeat: no-repeat;\n --blume-background-image-size: cover;\n --blume-foreground: oklch(0.96 0 0);\n --blume-muted: oklch(0.16 0 0);\n --blume-muted-foreground: oklch(0.68 0 0);\n --blume-border: oklch(0.24 0 0 / 0.8);\n --blume-accent: oklch(0.96 0 0);\n --blume-accent-foreground: oklch(0.085 0 0);\n --blume-action: var(--blume-accent);\n --blume-action-foreground: var(--blume-accent-foreground);\n --blume-code-background: oklch(0.12 0 0);\n /* Brighter tints read better over the dark code surface. */\n --blume-code-highlight: oklch(0.7 0.14 255 / 0.16);\n --blume-code-highlight-border: oklch(0.7 0.14 255 / 0.6);\n --blume-code-add: oklch(0.78 0.17 150 / 0.2);\n --blume-code-add-border: oklch(0.72 0.16 150 / 0.7);\n --blume-code-remove: oklch(0.72 0.21 22 / 0.22);\n --blume-code-remove-border: oklch(0.7 0.2 22 / 0.7);\n --blume-code-error: oklch(0.72 0.21 22 / 0.22);\n --blume-code-error-border: oklch(0.7 0.2 22 / 0.7);\n --blume-code-warning: oklch(0.82 0.16 80 / 0.18);\n --blume-code-warning-border: oklch(0.82 0.16 80 / 0.7);\n --blume-code-word: oklch(0.7 0.14 255 / 0.22);\n --blume-code-word-border: oklch(0.7 0.14 255 / 0.55);\n}`;\n\n/**\n * Tailwind theme mapping from `--blume-*` tokens to utility-facing names\n * (`bg-background`, `border-border`, `rounded-blume`, the font stacks).\n * Shared by both sheets so example code written against Blume's utility\n * vocabulary renders identically inside the isolated preview frame.\n */\nconst THEME_MAPPING = `@theme inline {\n --color-background: var(--blume-background);\n --color-foreground: var(--blume-foreground);\n --color-muted: var(--blume-muted);\n --color-muted-foreground: var(--blume-muted-foreground);\n --color-border: var(--blume-border);\n --color-accent: var(--blume-accent);\n --color-accent-foreground: var(--blume-accent-foreground);\n --color-action: var(--blume-action);\n --color-action-foreground: var(--blume-action-foreground);\n --color-code: var(--blume-code-background);\n --radius-blume: var(--blume-radius);\n --container-content: var(--blume-content-width);\n --font-sans: var(--blume-font-body);\n --font-mono: var(--blume-font-mono);\n --font-display: var(--blume-font-display);\n}`;\n\n/**\n * Build the single Tailwind v4 entry stylesheet for the generated runtime.\n *\n * Everything flows through one Tailwind-processed file so utilities are\n * generated and design tokens cascade deterministically:\n * base defaults -> config tokens -> user theme.css.\n */\nexport const tailwindEntryTemplate = (options: TailwindEntryOptions): string =>\n `/* Generated by Blume. Do not edit. */\n@import \"tailwindcss\";\n@plugin \"@tailwindcss/typography\";\n\n/* Scan Blume's components and the user's project for utility classes. */\n${options.sources.map((source) => `@source \"${source}\";`).join(\"\\n\")}\n\n${DARK_VARIANT}\n\n${COLOR_SCHEME_DEFAULTS}\n\n${TOKEN_DEFAULTS}\n\n${THEME_MAPPING}\n\n@layer base {\n /* Nothing refuses to shrink below its intrinsic content width. This global\n min-width reset defuses the classic flex/grid overflow — a long or\n truncating child forcing its container (and the page) past the viewport\n edge — so components don't need per-element min-w-0 overrides. */\n * {\n min-width: 0;\n }\n /* Interactive controls get a pointer cursor unless disabled. */\n button:not(:disabled),\n [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n html {\n scroll-behavior: smooth;\n scroll-padding-top: 4.5rem;\n text-rendering: optimizeLegibility;\n }\n /* Modal surfaces coordinate through independent root attributes. The lock\n remains until every owner releases its attribute, while !important lets it\n temporarily override (and therefore preserve) an authored inline value.\n Classic (non-overlay) scrollbars would otherwise vanish while locked and\n shift the page and the centered dialog sideways, so keep their gutter. */\n html:where([data-blume-nav-open], [data-blume-search-dialog-open]) {\n overflow: hidden !important;\n scrollbar-gutter: stable;\n }\n /* Headings use the display font (defaults to the body font when unset).\n The tightened tracking is part of the theme, not the font: display-tuned\n families bake it into their metrics, but a text family promoted to\n headings (including the Inter default) reads loose without it. -0.05em\n was matched visually against Inter Tight, the previous display default. */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-family: var(--font-display);\n letter-spacing: -0.05em;\n }\n :focus-visible {\n outline: 2px solid var(--blume-accent);\n outline-offset: 2px;\n border-radius: 2px;\n }\n body {\n background-attachment: fixed;\n background-image: var(--blume-background-image);\n background-position: center top;\n background-repeat: var(--blume-background-image-repeat);\n background-size: var(--blume-background-image-size);\n }\n @media (prefers-reduced-motion: reduce) {\n html {\n scroll-behavior: auto;\n }\n }\n}\n\n/* Same-origin navigations ride Astro's client router (the layouts render\n ClientRouter), which owns the page-transition styling — including its own\n prefers-reduced-motion guard — so the theme declares nothing about it. The\n cross-document view-transition opt-in that briefly lived here is\n deliberately gone: mixing it with the client router double-animates the\n full-load navigations the router hands back to the browser. */\n\n/* Code reads left-to-right regardless of page direction; only the surrounding\n chrome mirrors for RTL. Inline code is isolated so LTR identifiers don't\n disturb the bidi flow of right-to-left prose. */\n[dir=\"rtl\"] pre,\n[dir=\"rtl\"] .prose pre {\n direction: ltr;\n text-align: left;\n}\n[dir=\"rtl\"] :not(pre) > code {\n unicode-bidi: isolate;\n}\n\n/* The sidebar's rows. A docs site renders every sidebar row on every page,\n so a large site's HTML is mostly this markup — one utility per row kind\n instead of the dozen classes each expands to keeps every page (and the\n build's HTML output) small. Kept in sync with NavTree.astro: a page row,\n a page-mode group's drill-in row (or, when the group has a page, the\n link and chevron button it splits into), a collapsible group's summary\n and the link inside it, and a flat group's heading and the link inside\n it. */\n@utility blume-nav-link {\n @apply block rounded-[0.65rem] px-2.5 py-1.5 text-muted-foreground text-sm transition-colors hover:bg-muted hover:text-foreground aria-[current=page]:bg-muted aria-[current=page]:font-medium aria-[current=page]:text-foreground;\n}\n@utility blume-nav-drill {\n @apply flex w-full items-center gap-2 rounded-[0.65rem] px-2.5 py-1.5 text-start font-medium text-foreground text-sm transition-colors hover:bg-muted aria-[current]:bg-muted;\n}\n/* A routed drill row's label and chevron are separate pills, like a panel's\n back button and title, so each shows which one the pointer is on. The\n chevron's padding matches the drill row's, so chevrons line up. */\n@utility blume-nav-drill-link {\n @apply flex min-w-0 flex-1 items-center gap-2 rounded-[0.65rem] px-2.5 py-1.5 font-medium text-foreground text-sm transition-colors hover:bg-muted aria-[current]:bg-muted;\n}\n@utility blume-nav-drill-toggle {\n @apply flex shrink-0 items-center justify-center self-stretch rounded-[0.65rem] px-2.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground;\n}\n@utility blume-nav-summary {\n @apply flex cursor-pointer list-none items-center gap-1.5 rounded-[0.65rem] px-2.5 py-1.5 text-muted-foreground text-sm transition-colors hover:bg-muted hover:text-foreground [&::-webkit-details-marker]:hidden;\n}\n@utility blume-nav-summary-link {\n @apply -my-1 flex flex-1 items-center gap-1.5 rounded py-1 transition-colors aria-[current=page]:text-foreground aria-[current=page]:font-semibold;\n}\n@utility blume-nav-heading {\n @apply mb-1 flex items-center gap-1.5 px-2.5 py-1.5 font-medium text-foreground text-sm;\n}\n/* The linked heading fills the heading's own box with negative margins, so\n its hover/active pill is the page row's exactly (same padding and radius)\n and an unlinked heading beside it keeps the same text position. */\n@utility blume-nav-heading-link {\n @apply -mx-2.5 -my-1.5 flex flex-1 items-center gap-1.5 rounded-[0.65rem] px-2.5 py-1.5 text-foreground transition-colors hover:bg-muted aria-[current=page]:bg-muted;\n}\n\n/* Theme Tailwind Typography (prose) with Blume tokens. */\n.prose {\n --tw-prose-body: var(--blume-foreground);\n --tw-prose-headings: var(--blume-foreground);\n --tw-prose-lead: var(--blume-muted-foreground);\n --tw-prose-links: var(--blume-foreground);\n --tw-prose-bold: var(--blume-foreground);\n --tw-prose-counters: var(--blume-muted-foreground);\n --tw-prose-bullets: var(--blume-muted-foreground);\n --tw-prose-hr: var(--blume-border);\n --tw-prose-quotes: var(--blume-muted-foreground);\n --tw-prose-quote-borders: var(--blume-border);\n --tw-prose-captions: var(--blume-muted-foreground);\n --tw-prose-code: var(--blume-foreground);\n --tw-prose-pre-code: var(--blume-foreground);\n --tw-prose-pre-bg: var(--blume-code-background);\n --tw-prose-th-borders: var(--blume-border);\n --tw-prose-td-borders: var(--blume-border);\n /* Neutralized: the plugin defaults are near-black text and shadow with no\n dark counterpart (Blume never applies prose-invert), and the kbd rule\n below draws the badge with Blume tokens instead. */\n --tw-prose-kbd: inherit;\n --tw-prose-kbd-shadows: transparent;\n color: var(--blume-muted-foreground);\n font-size: 0.875rem;\n line-height: 1.7;\n /* An unbreakable run — an API permission, a broker list, a bare URL used as\n its own link text, an OpenAPI operation title of the form\n \\`METHOD /very/long/{path}\\`, a module-qualified name in a generated\n reference — paints past the content column, and nothing between the\n paragraph and the viewport clips it, so it lands in the document's scroll\n width and drags the page sideways on a phone. Inherited, so headings and\n inline code are covered too; the only re-declarations below are the\n opt-in code-wrap mode and Twoslash, which want different values.\n \\`break-word\\` and not \\`anywhere\\`: only \\`anywhere\\` reduces min-content,\n which is what sizes \\`table-layout: auto\\` columns, so it would resize\n every table on the site. The flip side is that a token in a table cell\n still never breaks — the column grows to fit it — so wide tables rely on\n the .blume-table-scroll wrapper, not on this. */\n overflow-wrap: break-word;\n}\n\n/* No letter-spacing here: prose headings inherit the base h1-h6 rule's\n display tracking, same as headings outside the prose column. */\n.prose :where(h1, h2, h3, h4) {\n font-weight: 500;\n}\n\n.prose :where(h1) {\n font-size: 3rem;\n line-height: 1.1;\n margin: 0 0 1rem;\n}\n\n.prose :where(h2) {\n font-size: 1.875rem;\n line-height: 1.2;\n margin-top: 3rem;\n}\n\n.prose :where(h3) {\n font-size: 1.25rem;\n line-height: 1.35;\n}\n\n.prose :where(h4) {\n color: var(--blume-muted-foreground);\n font-size: 0.875rem;\n line-height: 1.4;\n}\n\n.prose :where(h1, h2, h3, h4, h5, h6) a {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n/* Auto-generated heading permalinks (markdown.headingAnchors): the whole\n heading links to its own id, with a muted “#” revealed on hover or keyboard\n focus so the link is discoverable without cluttering the heading at rest. */\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor::after {\n content: \"#\";\n color: var(--blume-muted-foreground);\n margin-inline-start: 0.35em;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor:hover::after,\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor:focus-visible::after {\n opacity: 1;\n}\n\n/* A [toc]-marked heading exists only for the table of contents: it stays in\n the flow as a zero-height, invisible anchor target so its TOC entry (and any\n deep link) still has somewhere to scroll to, without rendering on the page. */\n.prose :where(.blume-toc-only) {\n border: 0;\n height: 0;\n margin: 0;\n overflow: hidden;\n padding: 0;\n visibility: hidden;\n}\n\n.prose :where(h2:first-child) {\n border-top: 0;\n padding-top: 0;\n}\n\n.prose :where(p, ul, ol) {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.prose :where(strong) {\n font-weight: 600;\n}\n\n.prose :where(a) {\n color: var(--blume-foreground);\n font-weight: 500;\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: 1px;\n text-underline-offset: 0.2em;\n}\n\n.prose :where(a[data-blume-card]) {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n/* External Markdown links (markdown.externalLinks) open in a new tab and trail\n the same Lucide arrow-up-right the featured sidebar links use, as a mask so it\n takes the link's color. A link wrapping only an image (a badge, a logo)\n skips the arrow. */\n.prose :where(a[data-blume-external]:not(:has(img, svg)))::after {\n background-color: currentColor;\n content: \"\";\n display: inline-block;\n height: 0.75em;\n margin-inline-start: 0.125em;\n -webkit-mask: ${EXTERNAL_LINK_MASK} center / contain no-repeat;\n mask: ${EXTERNAL_LINK_MASK} center / contain no-repeat;\n opacity: 0.6;\n width: 0.75em;\n}\n\n.prose :where(hr) {\n margin: 2.5rem 0;\n}\n\n.prose :where(pre) {\n background: transparent;\n border: 1px solid var(--blume-border);\n border-radius: var(--blume-radius);\n color: var(--blume-foreground);\n font-family: var(--font-mono);\n font-size: 0.8125rem;\n line-height: 1.55;\n margin: 1.5rem 0;\n overflow-x: auto;\n padding: ${CODE_PADDING_BLOCK_REM}rem 0;\n position: relative;\n}\n\n.prose :where(pre.astro-code) {\n background: transparent !important;\n color: var(--shiki-light, var(--blume-foreground)) !important;\n}\n\n:root[data-theme=\"dark\"] .prose :where(pre.astro-code) {\n color: var(--shiki-dark, var(--blume-foreground)) !important;\n}\n\n.prose :where(pre.astro-code span) {\n background: transparent !important;\n color: var(--shiki-light, inherit);\n font-style: var(--shiki-light-font-style, inherit);\n font-weight: var(--shiki-light-font-weight, inherit);\n text-decoration: var(--shiki-light-text-decoration, inherit);\n}\n\n:root[data-theme=\"dark\"] .prose :where(pre.astro-code span) {\n color: var(--shiki-dark, inherit);\n font-style: var(--shiki-dark-font-style, inherit);\n font-weight: var(--shiki-dark-font-weight, inherit);\n text-decoration: var(--shiki-dark-text-decoration, inherit);\n}\n\n/* The Diff component (@pierre/diffs) renders into a declarative shadow root and\n themes itself with light-dark(). Drive that from Blume's data-theme instead\n of the OS, scoped to the diff host: the custom property pierces the shadow\n boundary, where the appended host color-scheme rule consumes it. */\nblume-diff {\n --blume-diff-color-scheme: light;\n display: block;\n}\n\n:root[data-theme=\"dark\"] blume-diff {\n --blume-diff-color-scheme: dark;\n}\n\n.prose :where(pre[data-language]) {\n padding-top: 3.75rem;\n}\n\n.prose :where(pre[data-language])::before {\n align-items: center;\n border-bottom: 1px solid var(--blume-border);\n color: var(--blume-muted-foreground);\n content: attr(data-language);\n display: flex;\n font-family: var(--font-sans);\n font-size: 0.75rem;\n font-weight: 500;\n height: 2.75rem;\n left: 0;\n padding: 0 3.25rem 0 1rem;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.prose :where(pre[data-title])::before {\n content: attr(data-title);\n}\n\n/* Language icon (simple-icons) sits at the header's left edge; the label shifts\n right to make room. Injected at build time by the language-icon transformer.\n The icon is gated on data-language (the header bar), not just data-icon: the\n transformer runs whenever icons are on, but a header-less standalone\n CodeBlock (no title) never gets data-language, so without this gate the\n absolutely-positioned icon would overlap the first code line. Fenced code\n and titled blocks always have a header, so the icon shows there. */\n.prose > :where(pre[data-language][data-icon])::after {\n content: \"\";\n height: 0.875rem;\n left: 1rem;\n -webkit-mask-position: center;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: contain;\n mask-position: center;\n mask-repeat: no-repeat;\n mask-size: contain;\n pointer-events: none;\n position: absolute;\n top: 0.875rem;\n width: 0.875rem;\n}\n\n.prose > :where(pre[data-language][data-icon])::before {\n padding-left: 2.5rem;\n}\n\n/* One mask rule per language the site's Markdown uses (see\n markdown/language-icon.ts); the ::after above only gets a color and a mask\n from these, so a block whose language has no rule paints nothing. */\n${options.languageIcons ?? \"\"}\n\n.prose :where(pre code) {\n background: transparent;\n border-radius: 0;\n color: inherit;\n font-size: inherit;\n font-weight: 400;\n padding: 0;\n}\n\n/* Long lines scroll inside the code element, not the pre: the pre stays static\n so its absolute header bar (::before) and copy button don't drift with the\n scroll. The pre's horizontal padding lives here so content still scrolls\n edge-to-edge past it. Two contexts opt out: twoslash blocks (popups must\n escape any scroll container — see theme/twoslash.ts), and the API request\n panel, which owns its code layout and keeps the copy control in the panel\n header. Every other component that hosts a code block — Tabs, CodeGroup,\n Steps, Callout, Card, Accordion — is real prose content and keeps the inset,\n even though its chrome wrapper is not-prose. */\n.prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n display: block;\n /* Tall blocks scroll vertically in place instead of taking the page. Both\n axes live on the code element for the same reason: the pre stays static\n so the header bar and copy button never drift with the scroll. */\n max-height: 24rem;\n overflow: auto;\n /* The small bottom inset keeps the horizontal thumb off the last line's\n descenders now that scrollbars are visible. The pre gives up the same\n amount below (next rule), so the inset adds no height to the block. */\n padding: 0 1.25rem ${CODE_SCROLL_INSET_REM}rem;\n /* Thin theme-colored scrollbars, matching the sidebar treatment, so a\n height-capped block reads as scrollable instead of simply ending.\n Safari before 18.2 supports neither property and falls back to the\n platform-default scrollbar — acceptable, since macOS overlays it. */\n scrollbar-color: var(--blume-border) transparent;\n scrollbar-width: thin;\n}\n\n/* The scroller's bottom inset comes out of the pre's own block padding: the\n text still sits one full inset above the frame's bottom edge, the thumb sits\n in the gap, and a one-line command is no taller than it was before the\n scroller existed. */\n.prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> code)) {\n padding-bottom: calc(${CODE_PADDING_BLOCK_REM}rem - ${CODE_SCROLL_INSET_REM}rem);\n}\n\n/* The dark border token is too close to the page background to read as a\n scrollbar thumb; derive a brighter one from the muted foreground instead. */\n:root[data-theme=\"dark\"]\n .prose\n :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n scrollbar-color: color-mix(in oklab, var(--blume-muted-foreground) 55%, transparent)\n transparent;\n}\n\n/* Word wrap: long lines wrap instead of scrolling, on every block\n (markdown.code.wrap, an attribute on <body>) or on one (\\`\\`\\`ts wrap, which\n Shiki's fence-meta reader sets as data-wrap). Default code keeps\n \\`white-space: pre\\`. */\n[data-blume-code-wrap] pre,\n[data-blume-code-wrap] pre code,\npre[data-wrap],\npre[data-wrap] code {\n overflow-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* An expandable block (\\`\\`\\`ts expandable) starts collapsed to its first lines,\n faded out toward the cut, with a toggle under it (added by the layout\n script). Opened, it shows in full: no height cap and no inner scroll. The\n collapse needs that script to undo it, so a page without scripting shows\n the block the ordinary way. */\n@media (scripting: enabled) {\n .prose pre[data-expandable]:not([data-expanded]) > code {\n max-height: calc(${EXPANDABLE_VISIBLE_LINES}lh + ${CODE_SCROLL_INSET_REM}rem);\n mask-image: linear-gradient(to bottom, #000 calc(100% - 3lh), transparent);\n overflow-y: hidden;\n }\n}\n\n.prose pre[data-expandable][data-expanded] > code {\n max-height: none;\n}\n\n[data-blume-code-expand] {\n align-items: center;\n color: var(--blume-muted-foreground);\n display: flex;\n font-family: var(--font-sans);\n font-size: 0.75rem;\n font-weight: 500;\n gap: 0.25rem;\n justify-content: center;\n padding-top: 0.5rem;\n width: 100%;\n}\n\n[data-blume-code-expand]:hover {\n color: var(--blume-foreground);\n}\n\n[data-blume-code-expand] svg {\n transition: transform 150ms;\n}\n\n[data-blume-code-expand][aria-expanded=\"true\"] svg {\n transform: rotate(180deg);\n}\n\n.prose :where(table) {\n font-size: 0.8125rem;\n}\n\n/* Scroll wide tables in place; the wrapper is added by the blume:table-wrap hast\n plugin. The border+radius frames the scroll viewport so a clipped wide table\n reads as scrollable rather than cut off, and carries the table's vertical\n rhythm (the inner table's own margin is zeroed so it fills the frame). */\n.blume-table-scroll {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n margin: 1.5rem 0;\n border: 1px solid var(--blume-border);\n border-radius: var(--blume-radius);\n}\n.blume-table-scroll > table {\n margin: 0;\n}\n/* Restore inner padding on every cell. Typography zeroes the first/last cell's\n inline padding so a borderless table aligns to the prose margin; inside the\n framed wrapper that leaves edge text touching the border. The :is() selector\n outweighs Typography's :where()-scoped rules so the outer columns get it too.\n\n The block padding is 0.75rem against a table line-height near 1.7: at 0.5rem a\n cell whose content wrapped put MORE space between its own two lines than\n between itself and the next row, so a table of wrapping cells read as one\n block rather than as rows. The inline padding stays where it was, deliberately\n — widening it comes out of column width in a capped article, and on one corpus\n that pushed cells fitting on two lines onto three. */\n.blume-table-scroll :is(th, td) {\n padding: 0.75rem;\n}\n/* Keep column labels on one line so a two-word header does not wrap into a\n ragged stack; the table just scrolls a little wider instead. Body cells keep\n wrapping so a wide table stays a scroll away, not an endless horizontal run. */\n.blume-table-scroll th {\n white-space: nowrap;\n}\n\n/* GFM renders cells as <td><code> directly, which the descendant form alone\n never matches (a cell is not its own descendant). */\n.prose :where(td, th) > code,\n.prose :where(td, th) :not(pre) > code {\n white-space: normal;\n}\n\nblume-tabs pre,\n.not-prose > div > pre {\n background: var(--blume-code-background);\n}\n\n/* The Component source pane fills its tab's fixed height (set inline to match the\n preview tab) and scrolls the inner code element, leaving the pre static so the\n copy button — absolute, pinned to the pre — doesn't drift while it scrolls. */\npre.blume-source {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n\npre.blume-source > code {\n flex: 1;\n /* The pane's measured height is authoritative (it can exceed the prose\n 24rem cap), so undo the generic prose max-height: the code must fill\n whatever height the tab was given. */\n max-height: none;\n min-height: 0;\n overflow: auto;\n}\n\n/* Code blocks inside tabs sit flush; the tab container owns the frame. These\n rules are unlayered like the base \\`pre\\` styles, so they win over Tailwind's\n layered utilities (which a class on the panel cannot). The second selector\n covers <CodeGroup>, where each code block IS the panel (a direct child of the\n tab content wrapper) rather than a <pre> nested inside a <Tab>. */\nblume-tabs [data-blume-tab-panel] > pre,\nblume-tabs [data-blume-tab-content] > pre {\n /* Important to beat the astro-code background rule above; the tab container\n owns the surface, so the code sits directly on it. */\n background: transparent !important;\n border: 0;\n border-radius: 0;\n margin: 0;\n}\n\n/* These contexts drop the language bar (\\`::before\\` is cleared below), so the\n bar's padding goes with it and the block keeps the plain inset. Unscoped on\n purpose: <CodeBlock> wraps its pre in its own \\`.prose\\` below the component\n chrome, so without this a titled block on a page with no prose column\n (PageLayout) would keep the 3.75rem bar padding under a cleared bar. */\nblume-tabs pre[data-language],\n.not-prose pre[data-language] {\n padding-top: ${CODE_PADDING_BLOCK_REM}rem;\n}\n\n/* Where no language bar holds the copy button — a flush block in tabs or a\n not-prose component, a bar-less block in prose — the docs layout still pins\n one over the block's top-right corner, so a first line long enough to reach\n it would end underneath. A code switcher (CodeGroup, ts2js) hosts the button\n in its tab strip instead and needs nothing here; for every block that keeps\n an overlay button, give the scrolling code element enough end padding that\n the line's tail clears the button at the end of its scroll. Keyed on the\n injected button itself (which the playground's client-created response pre\n never gets), and \\`.prose\\`-scoped to outrank the base \\`:where(pre code)\\`\n inset. Not a vertical inset — that reserved a strip above every one-line\n command and read as a rendering bug. */\n.prose :is(blume-tabs pre, .not-prose pre, pre:not([data-language])):not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> [data-blume-copy]) > code {\n padding-inline-end: 3.5rem;\n}\n\n/* With the assistant on, an Ask button sits beside the copy button, so the\n line's tail clears both. */\n.prose :is(blume-tabs pre, .not-prose pre, pre:not([data-language])):not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> [data-blume-ask]) > code {\n padding-inline-end: 5.75rem;\n}\n\nblume-tabs pre[data-language]::before,\n.not-prose pre[data-language]::before {\n content: none;\n}\n\n/* Pre-hydration layout-shift guard. The horizontal trigger row and\n single-panel visibility are built by the <blume-tabs> custom element's JS:\n until it upgrades, the trigger row is empty and every panel is in normal flow,\n so the browser paints all panels stacked vertically (e.g. all four\n package-manager commands at once) before JS hides them. While the element is\n :not(:defined), show only the first panel and reserve the trigger row's height\n so nothing jumps when JS takes over. The child selector covers both <Tab>\n panels and <CodeGroup> raw code blocks (which only gain\n [data-blume-tab-panel] from JS). */\nblume-tabs:not(:defined) [data-blume-tab-content] > *:nth-child(n + 2) {\n display: none;\n}\n\nblume-tabs:not(:defined) [data-blume-tablist] {\n /* Matches a trigger's height: py-2.5 + text-xs line-height + border-b-2. */\n min-height: 2.375rem;\n}\n\nblume-tabs:not(:defined)[data-dropdown=\"true\"] [data-blume-tablist] {\n /* Dropdown variant: p-3 padding around a select (py-2 + text-sm + border). */\n min-height: 3.875rem;\n}\n\n/* Code blocks inside request/response example panels sit flush; the panel owns\n the frame. Unlayered (like the tab rules) so they beat the base \\`pre\\` styles\n that a class on the panel cannot. */\n[data-blume-code-panel] pre {\n background: transparent !important;\n border: 0;\n border-radius: 0;\n margin: 0;\n}\n\n/* Opt-in line numbers (\\`\\`\\`ts file.ts lineNumbers): a counter-driven gutter that\n works in prose and flush (tab / API panel) code blocks alike. */\npre[data-line-numbers] code {\n counter-reset: line;\n}\n\npre[data-line-numbers] .line::before {\n color: var(--blume-muted-foreground);\n content: counter(line);\n counter-increment: line;\n display: inline-block;\n margin-right: 1.25rem;\n text-align: right;\n user-select: none;\n width: 1.25rem;\n}\n\n/* Shiki notation transformers (on by default). The notation comments are\n stripped from the output; these style the classes they leave behind. A styled\n line becomes a full-width inline-block so its background fills the row; plain\n lines are left untouched, so blocks without notations render as before. */\n.line.highlighted,\n.line.diff {\n display: inline-block;\n width: 100%;\n}\n\n/* The backgrounds need !important to beat the \\`pre.astro-code span\\` rule above,\n which forces token spans transparent; these line/word spans are exceptions. */\n.line.highlighted {\n background-color: var(--blume-code-highlight) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-highlight-border);\n}\n\n.line.diff.add {\n background-color: var(--blume-code-add) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-add-border);\n}\n\n.line.diff.remove {\n background-color: var(--blume-code-remove) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-remove-border);\n}\n\n/* Error and warning lines (\\`// [!code error]\\`, \\`// [!code warning]\\`) are\n highlighted lines with a level class, tinted red and amber. */\n.line.highlighted.error {\n background-color: var(--blume-code-error) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-error-border);\n}\n\n.line.highlighted.warning {\n background-color: var(--blume-code-warning) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-warning-border);\n}\n\n/* Word highlight (\\`// [!code word:x]\\`) wraps matches in an inline span. The\n element selector keeps it ahead of the transparent token-span rule. */\nspan.highlighted-word {\n background-color: var(--blume-code-word) !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 0 1px var(--blume-code-word-border);\n padding: 0.1em 0.2em;\n}\n\n/* Focus (\\`// [!code focus]\\`): dim and blur the rest; reveal on hover. */\npre:has(.line.focused) .line:not(.focused) {\n filter: blur(0.085rem);\n opacity: 0.5;\n transition:\n filter 0.2s ease,\n opacity 0.2s ease;\n}\n\npre:has(.line.focused):hover .line:not(.focused) {\n filter: none;\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n pre:has(.line.focused) .line:not(.focused) {\n transition: none;\n }\n}\n\n@media (max-width: 640px) {\n .prose :where(h1) {\n font-size: 2.25rem;\n }\n\n .prose :where(h2) {\n font-size: 1.625rem;\n }\n}\n\n.prose :not(pre) > code:not(:where([class~=\"not-prose\"] *)) {\n background: var(--blume-code-background);\n padding: 0.15em 0.35em;\n border-radius: 0.3rem;\n font-family: var(--font-mono);\n font-weight: 500;\n}\n\n.prose :not(pre) > code::before,\n.prose :not(pre) > code::after {\n content: none;\n}\n\n/* Keyboard keys (<kbd>) render as the same bordered badge the search dialog\n uses for its shortcut hints. Typography's own kbd rule is scoped with\n :not(.not-prose *), so it never reaches a key inside <Steps>, <Callout>,\n <Card>, or any other not-prose component; this rule is deliberately\n unscoped from that exclusion so a key looks the same everywhere in the\n content column. Unlayered, so it outranks the plugin's layered rule. */\n.prose kbd {\n background: var(--blume-muted);\n border: 1px solid var(--blume-border);\n border-radius: 0.25rem;\n box-shadow: none;\n color: inherit;\n font-family: var(--font-mono);\n font-size: 0.85em;\n font-weight: 500;\n padding: 0.125rem 0.25rem;\n}\n\n/* Inline code highlighting: Shiki colors the tokens of a \\`code\\`{:lang} snippet\n via the same dual-theme CSS variables as fenced blocks, keeping the inline\n pill background. Always on — it only fires on the trailing {:lang} marker. */\n.prose code.blume-inline-code span {\n color: var(--shiki-light);\n}\n\n:root[data-theme=\"dark\"] .prose code.blume-inline-code span {\n color: var(--shiki-dark);\n}\n\n/* Print / \"Save as PDF\" (the page-actions Export → PDF runs window.print()).\n Strip the surrounding chrome so the printout is just the article. Scoped to\n the chrome itself, never bare \\`header\\`/\\`aside\\`: content renders those too\n (every Callout and Panel is an <aside>, every changelog Update has a\n <header>), and they belong in the printout. \\`body > header\\` and\n \\`body > footer\\` keep \\`layout.Header\\` and \\`layout.Footer\\` overrides out\n as well. Everything after the article (directory and related-page cards,\n last updated, feedback, prev/next) is page chrome too, and so are the\n copy, ask, and expand buttons on code blocks. */\n@media print {\n [data-blume-banner],\n [data-blume-header],\n body > header,\n [data-blume-nav-drawer],\n [data-blume-toc],\n [data-blume-assistant-panel],\n [data-blume-page-actions],\n #blume-content > nav,\n #blume-content > details,\n [data-blume-page-end],\n [data-blume-footer],\n body > footer,\n [data-blume-copy],\n [data-blume-ask],\n [data-blume-code-expand] {\n display: none !important;\n }\n\n /* Paper can't scroll: uncap the code scroller so long blocks print in\n full, same as tab panels are force-expanded below. */\n .prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n max-height: none;\n overflow: visible;\n }\n\n /* A collapsed \\`expandable\\` block prints open: its toggle is hidden above,\n so the collapse would cut the block off at its first lines. Same\n selector as the collapse, so this later rule wins. */\n .prose pre[data-expandable]:not([data-expanded]) > code {\n mask-image: none;\n max-height: none;\n overflow-y: visible;\n }\n\n /* The theme script switches a dark page to light for printing\n (\\`beforeprint\\`); a color transition would print mid-fade. */\n *,\n *::before,\n *::after {\n transition: none !important;\n }\n\n #blume-content {\n padding: 0 !important;\n }\n\n .prose {\n margin: 0 !important;\n max-width: none !important;\n }\n\n /* Reveal collapsed tab panels so their content isn't dropped from the print. */\n blume-tabs [data-blume-tab-panel] {\n display: block !important;\n }\n\n /* Keep code/callout backgrounds (subject to the dialog's \"Background graphics\"\n toggle). */\n pre,\n .prose :not(pre) > code {\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n}\n\n/* Twoslash rich-renderer styles (used by fences with the \\`twoslash\\` meta). */\n${options.twoslashCss ?? \"\"}\n\n/* Token overrides: config first, then the user's theme.css (highest priority). */\n${options.configTokens}\n${options.userTheme}\n`;\n\ninterface ExamplesEntryOptions {\n /** Config-derived token overrides (`:root { --blume-accent: ... }`). */\n configTokens: string;\n /** Globs to scan for utility classes (the project and examples directory). */\n sources: string[];\n /** Raw contents of the configured `examples.css`, if any. */\n userCss: string;\n}\n\n/**\n * Build the Tailwind entry for `<Component />` preview frames. Each example\n * renders in its own iframe so none of the app sheet above — prose typography,\n * component chrome, base overrides — can reach it. This sheet provides only\n * what an example needs to look like it does in an app: Tailwind (preflight +\n * utilities scanned from the example sources), the `--blume-*` tokens and\n * their utility mapping (so `bg-background`-style classes keep working and\n * previews follow the site palette by default), and the user's example CSS\n * (shadcn variables, `@theme` mappings, custom styles) last so it wins.\n */\nexport const examplesEntryTemplate = (options: ExamplesEntryOptions): string =>\n `/* Generated by Blume. Do not edit. */\n@import \"tailwindcss\";\n\n/* Scan the project (and an out-of-root examples directory) for utility classes. */\n${options.sources.map((source) => `@source \"${source}\";`).join(\"\\n\")}\n\n${DARK_VARIANT}\n\n${COLOR_SCHEME_DEFAULTS}\n\n${TOKEN_DEFAULTS}\n\n${THEME_MAPPING}\n\n/* Frame defaults: readable text in both modes, transparent so the docs pane's\n surface shows through. Base layer, so any user/example CSS wins. */\n@layer base {\n body {\n background: transparent;\n color: var(--blume-foreground);\n }\n}\n\n/* Token overrides: config first, then the configured examples css (highest\n priority) — the place for shadcn variables and other component tokens. */\n${options.configTokens}\n${options.userCss}\n`;\n",
|
|
28
|
+
"import { EXPANDABLE_VISIBLE_LINES } from \"../markdown/code-title.ts\";\nimport { CODE_PADDING_BLOCK_REM } from \"./code-block-padding.ts\";\n\n/**\n * Bottom inset of the scrolling code element, in rem: keeps a horizontal\n * scrollbar thumb off the last line's descenders. It is carved out of the\n * pre's block padding rather than added to it, so a block's height is the\n * same whether or not it scrolls.\n */\nconst CODE_SCROLL_INSET_REM = 0.375;\n\n/**\n * Lucide's arrow-up-right (the featured-link icon) as a `mask` data URI.\n * Lucide's license is in THIRD-PARTY-NOTICES.md.\n */\nconst EXTERNAL_LINK_MASK = `url(\"data:image/svg+xml,${encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M7 7h10v10M7 17L17 7\"/></svg>')}\")`;\n\ninterface TailwindEntryOptions {\n /**\n * Globs to scan for utility classes. Typically the Blume package source and\n * the user's project (node_modules is skipped automatically).\n */\n sources: string[];\n /** Config-derived token overrides (`:root { --blume-accent: ... }`). */\n configTokens: string;\n /** Raw contents of the user's theme.css, if any. */\n userTheme: string;\n /** Twoslash rich-renderer styles (for fences with the `twoslash` meta). */\n twoslashCss?: string;\n /** The code-block language icon rules (`languageIconCss`), if any. */\n languageIcons?: string;\n}\n\n/** Dark mode is driven by `data-theme` on the root element (both sheets). */\nconst DARK_VARIANT = `/* Dark mode is driven by data-theme on the <html> element. */\n@custom-variant dark (&:where([data-theme=\"dark\"], [data-theme=\"dark\"] *));`;\n\n/** Keep browser-provided UI in sync with the active theme in both sheets. */\nconst COLOR_SCHEME_DEFAULTS = `:root {\n color-scheme: light;\n}\n\n:root[data-theme=\"dark\"] {\n color-scheme: dark;\n}`;\n\n/**\n * The default `--blume-*` design tokens (light + dark), shared by the app\n * sheet and the isolated example-preview sheet so previews inherit the site's\n * palette by default.\n */\nconst TOKEN_DEFAULTS = `:root {\n --blume-background: oklch(1 0 0);\n --blume-background-image: none;\n --blume-background-image-repeat: no-repeat;\n --blume-background-image-size: cover;\n --blume-foreground: oklch(0.145 0 0);\n --blume-muted: oklch(0.965 0 0);\n /* 5.28:1 on the page background. The headroom over 4.5:1 is the point: muted\n text is 14px body copy routinely set on a tinted surface (callouts, badges,\n panels), and each tint costs a few tenths. */\n --blume-muted-foreground: oklch(0.53 0 0);\n --blume-border: oklch(0.88 0.006 260 / 0.72);\n --blume-accent: oklch(0.145 0 0);\n --blume-accent-foreground: oklch(1 0 0);\n --blume-action: var(--blume-accent);\n --blume-action-foreground: var(--blume-accent-foreground);\n --blume-code-background: oklch(0.99 0 0);\n /* Shiki notation transformers: line/word highlight, diff add/remove, and\n error/warning lines. */\n --blume-code-highlight: oklch(0.55 0.16 255 / 0.1);\n --blume-code-highlight-border: oklch(0.55 0.16 255 / 0.55);\n --blume-code-add: oklch(0.72 0.16 150 / 0.16);\n --blume-code-add-border: oklch(0.52 0.15 150 / 0.7);\n --blume-code-remove: oklch(0.66 0.21 22 / 0.16);\n --blume-code-remove-border: oklch(0.55 0.2 22 / 0.7);\n --blume-code-error: oklch(0.66 0.21 22 / 0.16);\n --blume-code-error-border: oklch(0.55 0.2 22 / 0.7);\n --blume-code-warning: oklch(0.8 0.16 80 / 0.2);\n --blume-code-warning-border: oklch(0.66 0.15 70 / 0.75);\n --blume-code-word: oklch(0.55 0.16 255 / 0.16);\n --blume-code-word-border: oklch(0.55 0.16 255 / 0.5);\n --blume-radius: 0.75rem;\n\n /* Max width of the prose content column (article, breadcrumb, TOC, feedback,\n pagination, last-updated). Override to re-measure the whole column at once. */\n --blume-content-width: 42rem;\n\n /*\n * Font tokens resolve through optional src variables that Astro's Fonts API\n * populates (via theme.fonts). When unset they fall back to the system\n * stacks, so the default look is unchanged. The display font defaults to the\n * body font.\n */\n --blume-font-body: var(\n --blume-font-body-src,\n ui-sans-serif,\n system-ui,\n -apple-system,\n \"Segoe UI\",\n Roboto,\n Helvetica,\n Arial,\n sans-serif\n );\n --blume-font-mono: var(\n --blume-font-mono-src,\n ui-monospace,\n \"SF Mono\",\n \"Cascadia Code\",\n \"Source Code Pro\",\n Menlo,\n Consolas,\n monospace\n );\n --blume-font-display: var(--blume-font-display-src, var(--blume-font-body));\n}\n\n:root[data-theme=\"dark\"] {\n --blume-background: oklch(0.085 0 0);\n --blume-background-image: none;\n --blume-background-image-repeat: no-repeat;\n --blume-background-image-size: cover;\n --blume-foreground: oklch(0.96 0 0);\n --blume-muted: oklch(0.16 0 0);\n --blume-muted-foreground: oklch(0.68 0 0);\n --blume-border: oklch(0.24 0 0 / 0.8);\n --blume-accent: oklch(0.96 0 0);\n --blume-accent-foreground: oklch(0.085 0 0);\n --blume-action: var(--blume-accent);\n --blume-action-foreground: var(--blume-accent-foreground);\n --blume-code-background: oklch(0.12 0 0);\n /* Brighter tints read better over the dark code surface. */\n --blume-code-highlight: oklch(0.7 0.14 255 / 0.16);\n --blume-code-highlight-border: oklch(0.7 0.14 255 / 0.6);\n --blume-code-add: oklch(0.78 0.17 150 / 0.2);\n --blume-code-add-border: oklch(0.72 0.16 150 / 0.7);\n --blume-code-remove: oklch(0.72 0.21 22 / 0.22);\n --blume-code-remove-border: oklch(0.7 0.2 22 / 0.7);\n --blume-code-error: oklch(0.72 0.21 22 / 0.22);\n --blume-code-error-border: oklch(0.7 0.2 22 / 0.7);\n --blume-code-warning: oklch(0.82 0.16 80 / 0.18);\n --blume-code-warning-border: oklch(0.82 0.16 80 / 0.7);\n --blume-code-word: oklch(0.7 0.14 255 / 0.22);\n --blume-code-word-border: oklch(0.7 0.14 255 / 0.55);\n}`;\n\n/**\n * Tailwind theme mapping from `--blume-*` tokens to utility-facing names\n * (`bg-background`, `border-border`, `rounded-blume`, the font stacks).\n * Shared by both sheets so example code written against Blume's utility\n * vocabulary renders identically inside the isolated preview frame.\n */\nconst THEME_MAPPING = `@theme inline {\n --color-background: var(--blume-background);\n --color-foreground: var(--blume-foreground);\n --color-muted: var(--blume-muted);\n --color-muted-foreground: var(--blume-muted-foreground);\n --color-border: var(--blume-border);\n --color-accent: var(--blume-accent);\n --color-accent-foreground: var(--blume-accent-foreground);\n --color-action: var(--blume-action);\n --color-action-foreground: var(--blume-action-foreground);\n --color-code: var(--blume-code-background);\n --radius-blume: var(--blume-radius);\n --container-content: var(--blume-content-width);\n --font-sans: var(--blume-font-body);\n --font-mono: var(--blume-font-mono);\n --font-display: var(--blume-font-display);\n}`;\n\n/**\n * Build the single Tailwind v4 entry stylesheet for the generated runtime.\n *\n * Everything flows through one Tailwind-processed file so utilities are\n * generated and design tokens cascade deterministically:\n * base defaults -> config tokens -> user theme.css.\n */\nexport const tailwindEntryTemplate = (options: TailwindEntryOptions): string =>\n `/* Generated by Blume. Do not edit. */\n@import \"tailwindcss\";\n@plugin \"@tailwindcss/typography\";\n\n/* Scan Blume's components and the user's project for utility classes. */\n${options.sources.map((source) => `@source \"${source}\";`).join(\"\\n\")}\n\n${DARK_VARIANT}\n\n${COLOR_SCHEME_DEFAULTS}\n\n${TOKEN_DEFAULTS}\n\n${THEME_MAPPING}\n\n@layer base {\n /* Nothing refuses to shrink below its intrinsic content width. This global\n min-width reset defuses the classic flex/grid overflow — a long or\n truncating child forcing its container (and the page) past the viewport\n edge — so components don't need per-element min-w-0 overrides. */\n * {\n min-width: 0;\n }\n /* Interactive controls get a pointer cursor unless disabled. */\n button:not(:disabled),\n [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n html {\n scroll-behavior: smooth;\n scroll-padding-top: 4.5rem;\n text-rendering: optimizeLegibility;\n }\n /* Modal surfaces coordinate through independent root attributes. The lock\n remains until every owner releases its attribute, while !important lets it\n temporarily override (and therefore preserve) an authored inline value.\n Classic (non-overlay) scrollbars would otherwise vanish while locked and\n shift the page and the centered dialog sideways, so keep their gutter. */\n html:where([data-blume-nav-open], [data-blume-search-dialog-open]) {\n overflow: hidden !important;\n scrollbar-gutter: stable;\n }\n /* Headings use the display font (defaults to the body font when unset).\n The tightened tracking is part of the theme, not the font: display-tuned\n families bake it into their metrics, but a text family promoted to\n headings (including the Inter default) reads loose without it. -0.05em\n was matched visually against Inter Tight, the previous display default. */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-family: var(--font-display);\n letter-spacing: -0.05em;\n }\n :focus-visible {\n outline: 2px solid var(--blume-accent);\n outline-offset: 2px;\n border-radius: 2px;\n }\n body {\n background-attachment: fixed;\n background-image: var(--blume-background-image);\n background-position: center top;\n background-repeat: var(--blume-background-image-repeat);\n background-size: var(--blume-background-image-size);\n }\n @media (prefers-reduced-motion: reduce) {\n html {\n scroll-behavior: auto;\n }\n }\n}\n\n/* Same-origin navigations ride Astro's client router (the layouts render\n ClientRouter), which owns the page-transition styling — including its own\n prefers-reduced-motion guard — so the theme declares nothing about it. The\n cross-document view-transition opt-in that briefly lived here is\n deliberately gone: mixing it with the client router double-animates the\n full-load navigations the router hands back to the browser. */\n\n/* Code reads left-to-right regardless of page direction; only the surrounding\n chrome mirrors for RTL. Inline code is isolated so LTR identifiers don't\n disturb the bidi flow of right-to-left prose. */\n[dir=\"rtl\"] pre,\n[dir=\"rtl\"] .prose pre {\n direction: ltr;\n text-align: left;\n}\n[dir=\"rtl\"] :not(pre) > code {\n unicode-bidi: isolate;\n}\n\n/* The sidebar's rows. A docs site renders every sidebar row on every page,\n so a large site's HTML is mostly this markup — one utility per row kind\n instead of the dozen classes each expands to keeps every page (and the\n build's HTML output) small. Kept in sync with NavTree.astro: a page row,\n a page-mode group's drill-in row (or, when the group has a page, the\n link and chevron button it splits into), a collapsible group's summary\n and the link inside it, and a flat group's heading and the link inside\n it. */\n@utility blume-nav-link {\n @apply block rounded-[0.65rem] px-2.5 py-1.5 text-muted-foreground text-sm transition-colors hover:bg-muted hover:text-foreground aria-[current=page]:bg-muted aria-[current=page]:font-medium aria-[current=page]:text-foreground;\n}\n@utility blume-nav-drill {\n @apply flex w-full items-center gap-2 rounded-[0.65rem] px-2.5 py-1.5 text-start font-medium text-foreground text-sm transition-colors hover:bg-muted aria-[current]:bg-muted;\n}\n/* A routed drill row's label and chevron are separate pills, like a panel's\n back button and title, so each shows which one the pointer is on. The\n chevron's padding matches the drill row's, so chevrons line up. */\n@utility blume-nav-drill-link {\n @apply flex min-w-0 flex-1 items-center gap-2 rounded-[0.65rem] px-2.5 py-1.5 font-medium text-foreground text-sm transition-colors hover:bg-muted aria-[current]:bg-muted;\n}\n@utility blume-nav-drill-toggle {\n @apply flex shrink-0 items-center justify-center self-stretch rounded-[0.65rem] px-2.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground;\n}\n@utility blume-nav-summary {\n @apply flex cursor-pointer list-none items-center gap-1.5 rounded-[0.65rem] px-2.5 py-1.5 text-muted-foreground text-sm transition-colors hover:bg-muted hover:text-foreground [&::-webkit-details-marker]:hidden;\n}\n@utility blume-nav-summary-link {\n @apply -my-1 flex flex-1 items-center gap-1.5 rounded py-1 transition-colors aria-[current=page]:text-foreground aria-[current=page]:font-semibold;\n}\n@utility blume-nav-heading {\n @apply mb-1 flex items-center gap-1.5 px-2.5 py-1.5 font-medium text-foreground text-sm;\n}\n/* The linked heading fills the heading's own box with negative margins, so\n its hover/active pill is the page row's exactly (same padding and radius)\n and an unlinked heading beside it keeps the same text position. */\n@utility blume-nav-heading-link {\n @apply -mx-2.5 -my-1.5 flex flex-1 items-center gap-1.5 rounded-[0.65rem] px-2.5 py-1.5 text-foreground transition-colors hover:bg-muted aria-[current=page]:bg-muted;\n}\n\n/* Theme Tailwind Typography (prose) with Blume tokens. */\n.prose {\n --tw-prose-body: var(--blume-foreground);\n --tw-prose-headings: var(--blume-foreground);\n --tw-prose-lead: var(--blume-muted-foreground);\n --tw-prose-links: var(--blume-foreground);\n --tw-prose-bold: var(--blume-foreground);\n --tw-prose-counters: var(--blume-muted-foreground);\n --tw-prose-bullets: var(--blume-muted-foreground);\n --tw-prose-hr: var(--blume-border);\n --tw-prose-quotes: var(--blume-muted-foreground);\n --tw-prose-quote-borders: var(--blume-border);\n --tw-prose-captions: var(--blume-muted-foreground);\n --tw-prose-code: var(--blume-foreground);\n --tw-prose-pre-code: var(--blume-foreground);\n --tw-prose-pre-bg: var(--blume-code-background);\n --tw-prose-th-borders: var(--blume-border);\n --tw-prose-td-borders: var(--blume-border);\n /* Neutralized: the plugin defaults are near-black text and shadow with no\n dark counterpart (Blume never applies prose-invert), and the kbd rule\n below draws the badge with Blume tokens instead. */\n --tw-prose-kbd: inherit;\n --tw-prose-kbd-shadows: transparent;\n color: var(--blume-muted-foreground);\n font-size: 0.875rem;\n line-height: 1.7;\n /* An unbreakable run — an API permission, a broker list, a bare URL used as\n its own link text, an OpenAPI operation title of the form\n \\`METHOD /very/long/{path}\\`, a module-qualified name in a generated\n reference — paints past the content column, and nothing between the\n paragraph and the viewport clips it, so it lands in the document's scroll\n width and drags the page sideways on a phone. Inherited, so headings and\n inline code are covered too; the only re-declarations below are the\n opt-in code-wrap mode and Twoslash, which want different values.\n \\`break-word\\` and not \\`anywhere\\`: only \\`anywhere\\` reduces min-content,\n which is what sizes \\`table-layout: auto\\` columns, so it would resize\n every table on the site. The flip side is that a token in a table cell\n still never breaks — the column grows to fit it — so wide tables rely on\n the .blume-table-scroll wrapper, not on this. */\n overflow-wrap: break-word;\n}\n\n/* No letter-spacing here: prose headings inherit the base h1-h6 rule's\n display tracking, same as headings outside the prose column. */\n.prose :where(h1, h2, h3, h4) {\n font-weight: 500;\n}\n\n.prose :where(h1) {\n font-size: 3rem;\n line-height: 1.1;\n margin: 0 0 1rem;\n}\n\n.prose :where(h2) {\n font-size: 1.875rem;\n line-height: 1.2;\n margin-top: 3rem;\n}\n\n.prose :where(h3) {\n font-size: 1.25rem;\n line-height: 1.35;\n}\n\n.prose :where(h4) {\n color: var(--blume-muted-foreground);\n font-size: 0.875rem;\n line-height: 1.4;\n}\n\n.prose :where(h1, h2, h3, h4, h5, h6) a {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n/* Auto-generated heading permalinks (markdown.headingAnchors): the whole\n heading links to its own id, with a muted “#” revealed on hover or keyboard\n focus so the link is discoverable without cluttering the heading at rest. */\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor::after {\n content: \"#\";\n color: var(--blume-muted-foreground);\n margin-inline-start: 0.35em;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor:hover::after,\n.prose :where(h2, h3, h4, h5, h6) a.blume-heading-anchor:focus-visible::after {\n opacity: 1;\n}\n\n/* A [toc]-marked heading exists only for the table of contents: it stays in\n the flow as a zero-height, invisible anchor target so its TOC entry (and any\n deep link) still has somewhere to scroll to, without rendering on the page. */\n.prose :where(.blume-toc-only) {\n border: 0;\n height: 0;\n margin: 0;\n overflow: hidden;\n padding: 0;\n visibility: hidden;\n}\n\n.prose :where(h2:first-child) {\n border-top: 0;\n padding-top: 0;\n}\n\n.prose :where(p, ul, ol) {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.prose :where(strong) {\n font-weight: 600;\n}\n\n.prose :where(a) {\n color: var(--blume-foreground);\n font-weight: 500;\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: 1px;\n text-underline-offset: 0.2em;\n}\n\n.prose :where(a[data-blume-card]) {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n/* External Markdown links (markdown.externalLinks) open in a new tab and trail\n the same Lucide arrow-up-right the featured sidebar links use, as a mask so it\n takes the link's color. A link wrapping only an image (a badge, a logo)\n skips the arrow. */\n.prose :where(a[data-blume-external]:not(:has(img, svg)))::after {\n background-color: currentColor;\n content: \"\";\n display: inline-block;\n height: 0.75em;\n margin-inline-start: 0.125em;\n -webkit-mask: ${EXTERNAL_LINK_MASK} center / contain no-repeat;\n mask: ${EXTERNAL_LINK_MASK} center / contain no-repeat;\n opacity: 0.6;\n width: 0.75em;\n}\n\n.prose :where(hr) {\n margin: 2.5rem 0;\n}\n\n.prose :where(pre) {\n background: transparent;\n border: 1px solid var(--blume-border);\n border-radius: var(--blume-radius);\n color: var(--blume-foreground);\n font-family: var(--font-mono);\n font-size: 0.8125rem;\n line-height: 1.55;\n margin: 1.5rem 0;\n overflow-x: auto;\n padding: ${CODE_PADDING_BLOCK_REM}rem 0;\n position: relative;\n}\n\n.prose :where(pre.astro-code) {\n background: transparent !important;\n color: var(--shiki-light, var(--blume-foreground)) !important;\n}\n\n:root[data-theme=\"dark\"] .prose :where(pre.astro-code) {\n color: var(--shiki-dark, var(--blume-foreground)) !important;\n}\n\n.prose :where(pre.astro-code span) {\n background: transparent !important;\n color: var(--shiki-light, inherit);\n font-style: var(--shiki-light-font-style, inherit);\n font-weight: var(--shiki-light-font-weight, inherit);\n text-decoration: var(--shiki-light-text-decoration, inherit);\n}\n\n:root[data-theme=\"dark\"] .prose :where(pre.astro-code span) {\n color: var(--shiki-dark, inherit);\n font-style: var(--shiki-dark-font-style, inherit);\n font-weight: var(--shiki-dark-font-weight, inherit);\n text-decoration: var(--shiki-dark-text-decoration, inherit);\n}\n\n/* The Diff component (@pierre/diffs) renders into a declarative shadow root and\n themes itself with light-dark(). Drive that from Blume's data-theme instead\n of the OS, scoped to the diff host: the custom property pierces the shadow\n boundary, where the appended host color-scheme rule consumes it. */\nblume-diff {\n --blume-diff-color-scheme: light;\n display: block;\n}\n\n:root[data-theme=\"dark\"] blume-diff {\n --blume-diff-color-scheme: dark;\n}\n\n.prose :where(pre[data-language]) {\n padding-top: 3.75rem;\n}\n\n.prose :where(pre[data-language])::before {\n align-items: center;\n border-bottom: 1px solid var(--blume-border);\n color: var(--blume-muted-foreground);\n content: attr(data-language);\n display: flex;\n font-family: var(--font-sans);\n font-size: 0.75rem;\n font-weight: 500;\n height: 2.75rem;\n left: 0;\n padding: 0 3.25rem 0 1rem;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.prose :where(pre[data-title])::before {\n content: attr(data-title);\n}\n\n/* Language icon (simple-icons) sits at the header's left edge; the label shifts\n right to make room. Injected at build time by the language-icon transformer.\n The icon is gated on data-language (the header bar), not just data-icon: the\n transformer runs whenever icons are on, but a header-less standalone\n CodeBlock (no title) never gets data-language, so without this gate the\n absolutely-positioned icon would overlap the first code line. Fenced code\n and titled blocks always have a header, so the icon shows there. */\n.prose > :where(pre[data-language][data-icon])::after {\n content: \"\";\n height: 0.875rem;\n left: 1rem;\n -webkit-mask-position: center;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: contain;\n mask-position: center;\n mask-repeat: no-repeat;\n mask-size: contain;\n pointer-events: none;\n position: absolute;\n top: 0.875rem;\n width: 0.875rem;\n}\n\n.prose > :where(pre[data-language][data-icon])::before {\n padding-left: 2.5rem;\n}\n\n/* One mask rule per language the site's Markdown uses (see\n markdown/language-icon.ts); the ::after above only gets a color and a mask\n from these, so a block whose language has no rule paints nothing. */\n${options.languageIcons ?? \"\"}\n\n.prose :where(pre code) {\n background: transparent;\n border-radius: 0;\n color: inherit;\n font-size: inherit;\n font-weight: 400;\n padding: 0;\n}\n\n/* Long lines scroll inside the code element, not the pre: the pre stays static\n so its absolute header bar (::before) and copy button don't drift with the\n scroll. The pre's horizontal padding lives here so content still scrolls\n edge-to-edge past it. Two contexts opt out: twoslash blocks (popups must\n escape any scroll container — see theme/twoslash.ts), and the API request\n panel, which owns its code layout and keeps the copy control in the panel\n header. Every other component that hosts a code block — Tabs, CodeGroup,\n Steps, Callout, Card, Accordion — is real prose content and keeps the inset,\n even though its chrome wrapper is not-prose. */\n.prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n display: block;\n /* Tall blocks scroll vertically in place instead of taking the page. Both\n axes live on the code element for the same reason: the pre stays static\n so the header bar and copy button never drift with the scroll. */\n max-height: 24rem;\n overflow: auto;\n /* The small bottom inset keeps the horizontal thumb off the last line's\n descenders now that scrollbars are visible. The pre gives up the same\n amount below (next rule), so the inset adds no height to the block. */\n padding: 0 1.25rem ${CODE_SCROLL_INSET_REM}rem;\n /* Thin theme-colored scrollbars, matching the sidebar treatment, so a\n height-capped block reads as scrollable instead of simply ending.\n Safari before 18.2 supports neither property and falls back to the\n platform-default scrollbar — acceptable, since macOS overlays it. */\n scrollbar-color: var(--blume-border) transparent;\n scrollbar-width: thin;\n}\n\n/* The scroller's bottom inset comes out of the pre's own block padding: the\n text still sits one full inset above the frame's bottom edge, the thumb sits\n in the gap, and a one-line command is no taller than it was before the\n scroller existed. */\n.prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> code)) {\n padding-bottom: calc(${CODE_PADDING_BLOCK_REM}rem - ${CODE_SCROLL_INSET_REM}rem);\n}\n\n/* The dark border token is too close to the page background to read as a\n scrollbar thumb; derive a brighter one from the muted foreground instead. */\n:root[data-theme=\"dark\"]\n .prose\n :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n scrollbar-color: color-mix(in oklab, var(--blume-muted-foreground) 55%, transparent)\n transparent;\n}\n\n/* Word wrap: long lines wrap instead of scrolling, on every block\n (markdown.code.wrap, an attribute on <body>) or on one (\\`\\`\\`ts wrap, which\n Shiki's fence-meta reader sets as data-wrap). Default code keeps\n \\`white-space: pre\\`. */\n[data-blume-code-wrap] pre,\n[data-blume-code-wrap] pre code,\npre[data-wrap],\npre[data-wrap] code {\n overflow-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* An expandable block (\\`\\`\\`ts expandable) starts collapsed to its first lines,\n faded out toward the cut, with a toggle under it (added by the layout\n script). Opened, it shows in full: no height cap and no inner scroll. The\n collapse needs that script to undo it, so a page without scripting shows\n the block the ordinary way. */\n@media (scripting: enabled) {\n .prose pre[data-expandable]:not([data-expanded]) > code {\n max-height: calc(${EXPANDABLE_VISIBLE_LINES}lh + ${CODE_SCROLL_INSET_REM}rem);\n mask-image: linear-gradient(to bottom, #000 calc(100% - 3lh), transparent);\n overflow-y: hidden;\n }\n}\n\n.prose pre[data-expandable][data-expanded] > code {\n max-height: none;\n}\n\n[data-blume-code-expand] {\n align-items: center;\n color: var(--blume-muted-foreground);\n display: flex;\n font-family: var(--font-sans);\n font-size: 0.75rem;\n font-weight: 500;\n gap: 0.25rem;\n justify-content: center;\n padding-top: 0.5rem;\n width: 100%;\n}\n\n[data-blume-code-expand]:hover {\n color: var(--blume-foreground);\n}\n\n[data-blume-code-expand] svg {\n transition: transform 150ms;\n}\n\n[data-blume-code-expand][aria-expanded=\"true\"] svg {\n transform: rotate(180deg);\n}\n\n.prose :where(table) {\n font-size: 0.8125rem;\n}\n\n/* Scroll wide tables in place; the wrapper is added by the blume:table-wrap hast\n plugin. The border+radius frames the scroll viewport so a clipped wide table\n reads as scrollable rather than cut off, and carries the table's vertical\n rhythm (the inner table's own margin is zeroed so it fills the frame). */\n.blume-table-scroll {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n margin: 1.5rem 0;\n border: 1px solid var(--blume-border);\n border-radius: var(--blume-radius);\n}\n.blume-table-scroll > table {\n margin: 0;\n}\n/* Restore inner padding on every cell. Typography zeroes the first/last cell's\n inline padding so a borderless table aligns to the prose margin; inside the\n framed wrapper that leaves edge text touching the border. The :is() selector\n outweighs Typography's :where()-scoped rules so the outer columns get it too.\n\n The block padding is 0.75rem against a table line-height near 1.7: at 0.5rem a\n cell whose content wrapped put MORE space between its own two lines than\n between itself and the next row, so a table of wrapping cells read as one\n block rather than as rows. The inline padding stays where it was, deliberately\n — widening it comes out of column width in a capped article, and on one corpus\n that pushed cells fitting on two lines onto three. */\n.blume-table-scroll :is(th, td) {\n padding: 0.75rem;\n}\n/* Keep column labels on one line so a two-word header does not wrap into a\n ragged stack; the table just scrolls a little wider instead. Body cells keep\n wrapping so a wide table stays a scroll away, not an endless horizontal run. */\n.blume-table-scroll th {\n white-space: nowrap;\n}\n\n/* GFM renders cells as <td><code> directly, which the descendant form alone\n never matches (a cell is not its own descendant). */\n.prose :where(td, th) > code,\n.prose :where(td, th) :not(pre) > code {\n white-space: normal;\n}\n\nblume-tabs pre,\n.not-prose > div > pre {\n background: var(--blume-code-background);\n}\n\n/* The Component source pane fills its tab's fixed height (set inline to match the\n preview tab) and scrolls the inner code element, leaving the pre static so the\n copy button — absolute, pinned to the pre — doesn't drift while it scrolls. */\npre.blume-source {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n\npre.blume-source > code {\n flex: 1;\n /* The pane's measured height is authoritative (it can exceed the prose\n 24rem cap), so undo the generic prose max-height: the code must fill\n whatever height the tab was given. */\n max-height: none;\n min-height: 0;\n overflow: auto;\n}\n\n/* Code blocks inside tabs sit flush; the tab container owns the frame. These\n rules are unlayered like the base \\`pre\\` styles, so they win over Tailwind's\n layered utilities (which a class on the panel cannot). The second selector\n covers <CodeGroup>, where each code block IS the panel (a direct child of the\n tab content wrapper) rather than a <pre> nested inside a <Tab>. */\nblume-tabs [data-blume-tab-panel] > pre,\nblume-tabs [data-blume-tab-content] > pre {\n /* Important to beat the astro-code background rule above; the tab container\n owns the surface, so the code sits directly on it. */\n background: transparent !important;\n border: 0;\n border-radius: 0;\n margin: 0;\n}\n\n/* These contexts drop the language bar (\\`::before\\` is cleared below), so the\n bar's padding goes with it and the block keeps the plain inset. Unscoped on\n purpose: <CodeBlock> wraps its pre in its own \\`.prose\\` below the component\n chrome, so without this a titled block on a page with no prose column\n (PageLayout) would keep the 3.75rem bar padding under a cleared bar. */\nblume-tabs pre[data-language],\n.not-prose pre[data-language] {\n padding-top: ${CODE_PADDING_BLOCK_REM}rem;\n}\n\n/* Where no language bar holds the copy button — a flush block in tabs or a\n not-prose component, a bar-less block in prose — the docs layout still pins\n one over the block's top-right corner, so a first line long enough to reach\n it would end underneath. A code switcher (CodeGroup, ts2js) hosts the button\n in its tab strip instead and needs nothing here; for every block that keeps\n an overlay button, give the scrolling code element enough end padding that\n the line's tail clears the button at the end of its scroll. Keyed on the\n injected button itself (which the playground's client-created response pre\n never gets), and \\`.prose\\`-scoped to outrank the base \\`:where(pre code)\\`\n inset. Not a vertical inset — that reserved a strip above every one-line\n command and read as a rendering bug. */\n.prose :is(blume-tabs pre, .not-prose pre, pre:not([data-language])):not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> [data-blume-copy]) > code {\n padding-inline-end: 3.5rem;\n}\n\n/* With the assistant on, an Ask button sits beside the copy button, so the\n line's tail clears both. */\n.prose :is(blume-tabs pre, .not-prose pre, pre:not([data-language])):not(.twoslash, .twoslash pre, blume-panel-tabs *):has(> [data-blume-ask]) > code {\n padding-inline-end: 5.75rem;\n}\n\nblume-tabs pre[data-language]::before,\n.not-prose pre[data-language]::before {\n content: none;\n}\n\n/* Pre-hydration layout-shift guard. The horizontal trigger row and\n single-panel visibility are built by the <blume-tabs> custom element's JS:\n until it upgrades, the trigger row is empty and every panel is in normal flow,\n so the browser paints all panels stacked vertically (e.g. all four\n package-manager commands at once) before JS hides them. While the element is\n :not(:defined), show only the first panel and reserve the trigger row's height\n so nothing jumps when JS takes over. The child selector covers both <Tab>\n panels and <CodeGroup> raw code blocks (which only gain\n [data-blume-tab-panel] from JS). */\nblume-tabs:not(:defined) [data-blume-tab-content] > *:nth-child(n + 2) {\n display: none;\n}\n\nblume-tabs:not(:defined) [data-blume-tablist] {\n /* Matches a trigger's height: py-2.5 + text-xs line-height + border-b-2. */\n min-height: 2.375rem;\n}\n\nblume-tabs:not(:defined)[data-dropdown=\"true\"] [data-blume-tablist] {\n /* Dropdown variant: p-3 padding around a select (py-2 + text-sm + border). */\n min-height: 3.875rem;\n}\n\n/* Code blocks inside request/response example panels sit flush; the panel owns\n the frame. Unlayered (like the tab rules) so they beat the base \\`pre\\` styles\n that a class on the panel cannot. */\n[data-blume-code-panel] pre {\n background: transparent !important;\n border: 0;\n border-radius: 0;\n margin: 0;\n}\n\n/* Opt-in line numbers (\\`\\`\\`ts file.ts lineNumbers): a counter-driven gutter that\n works in prose and flush (tab / API panel) code blocks alike. */\npre[data-line-numbers] code {\n counter-reset: line;\n}\n\npre[data-line-numbers] .line::before {\n color: var(--blume-muted-foreground);\n content: counter(line);\n counter-increment: line;\n display: inline-block;\n margin-right: 1.25rem;\n text-align: right;\n user-select: none;\n width: 1.25rem;\n}\n\n/* Shiki notation transformers (on by default). The notation comments are\n stripped from the output; these style the classes they leave behind. A styled\n line becomes a full-width inline-block so its background fills the row; plain\n lines are left untouched, so blocks without notations render as before. */\n.line.highlighted,\n.line.diff {\n display: inline-block;\n width: 100%;\n}\n\n/* The backgrounds need !important to beat the \\`pre.astro-code span\\` rule above,\n which forces token spans transparent; these line/word spans are exceptions. */\n.line.highlighted {\n background-color: var(--blume-code-highlight) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-highlight-border);\n}\n\n.line.diff.add {\n background-color: var(--blume-code-add) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-add-border);\n}\n\n.line.diff.remove {\n background-color: var(--blume-code-remove) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-remove-border);\n}\n\n/* Error and warning lines (\\`// [!code error]\\`, \\`// [!code warning]\\`) are\n highlighted lines with a level class, tinted red and amber. */\n.line.highlighted.error {\n background-color: var(--blume-code-error) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-error-border);\n}\n\n.line.highlighted.warning {\n background-color: var(--blume-code-warning) !important;\n box-shadow: inset 2px 0 0 0 var(--blume-code-warning-border);\n}\n\n/* Word highlight (\\`// [!code word:x]\\`) wraps matches in an inline span. The\n element selector keeps it ahead of the transparent token-span rule. */\nspan.highlighted-word {\n background-color: var(--blume-code-word) !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 0 1px var(--blume-code-word-border);\n padding: 0.1em 0.2em;\n}\n\n/* Focus (\\`// [!code focus]\\`): dim and blur the rest; reveal on hover. */\npre:has(.line.focused) .line:not(.focused) {\n filter: blur(0.085rem);\n opacity: 0.5;\n transition:\n filter 0.2s ease,\n opacity 0.2s ease;\n}\n\npre:has(.line.focused):hover .line:not(.focused) {\n filter: none;\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n pre:has(.line.focused) .line:not(.focused) {\n transition: none;\n }\n}\n\n@media (max-width: 640px) {\n .prose :where(h1) {\n font-size: 2.25rem;\n }\n\n .prose :where(h2) {\n font-size: 1.625rem;\n }\n}\n\n.prose :not(pre) > code:not(:where([class~=\"not-prose\"] *)) {\n background: var(--blume-code-background);\n padding: 0.15em 0.35em;\n border-radius: 0.3rem;\n font-family: var(--font-mono);\n font-weight: 500;\n}\n\n.prose :not(pre) > code::before,\n.prose :not(pre) > code::after {\n content: none;\n}\n\n/* Keyboard keys (<kbd>) render as the same bordered badge the search dialog\n uses for its shortcut hints. Typography's own kbd rule is scoped with\n :not(.not-prose *), so it never reaches a key inside <Steps>, <Callout>,\n <Card>, or any other not-prose component; this rule is deliberately\n unscoped from that exclusion so a key looks the same everywhere in the\n content column. Unlayered, so it outranks the plugin's layered rule. */\n.prose kbd {\n background: var(--blume-muted);\n border: 1px solid var(--blume-border);\n border-radius: 0.25rem;\n box-shadow: none;\n color: inherit;\n font-family: var(--font-mono);\n font-size: 0.85em;\n font-weight: 500;\n padding: 0.125rem 0.25rem;\n}\n\n/* Inline code highlighting: Shiki colors the tokens of a \\`code\\`{:lang} snippet\n via the same dual-theme CSS variables as fenced blocks, keeping the inline\n pill background. Always on — it only fires on the trailing {:lang} marker. */\n.prose code.blume-inline-code span {\n color: var(--shiki-light);\n}\n\n:root[data-theme=\"dark\"] .prose code.blume-inline-code span {\n color: var(--shiki-dark);\n}\n\n/* Print / \"Save as PDF\" (the page-actions Export → PDF runs window.print()).\n Strip the surrounding chrome so the printout is just the article. Scoped to\n the chrome itself, never bare \\`header\\`/\\`aside\\`: content renders those too\n (every Callout and Panel is an <aside>, every changelog Update has a\n <header>), and they belong in the printout. \\`body > header\\` and\n \\`body > footer\\` keep \\`layout.Header\\` and \\`layout.Footer\\` overrides out\n as well. Everything after the article (directory and related-page cards,\n last updated, feedback, prev/next) is page chrome too, and so are the\n copy, ask, and expand buttons on code blocks. */\n@media print {\n [data-blume-banner],\n [data-blume-header],\n body > header,\n [data-blume-nav-drawer],\n [data-blume-toc],\n [data-blume-assistant-panel],\n [data-blume-page-actions],\n #blume-content > nav,\n #blume-content > details,\n [data-blume-page-end],\n [data-blume-footer],\n body > footer,\n [data-blume-copy],\n [data-blume-ask],\n [data-blume-code-expand] {\n display: none !important;\n }\n\n /* Paper can't scroll: uncap the code scroller so long blocks print in\n full, same as tab panels are force-expanded below. */\n .prose :where(pre:not(.twoslash, .twoslash pre, blume-panel-tabs *) > code) {\n max-height: none;\n overflow: visible;\n }\n\n /* A collapsed \\`expandable\\` block prints open: its toggle is hidden above,\n so the collapse would cut the block off at its first lines. Same\n selector as the collapse, so this later rule wins. */\n .prose pre[data-expandable]:not([data-expanded]) > code {\n mask-image: none;\n max-height: none;\n overflow-y: visible;\n }\n\n /* The theme script switches a dark page to light for printing\n (\\`beforeprint\\`); a color transition would print mid-fade. */\n *,\n *::before,\n *::after {\n transition: none !important;\n }\n\n #blume-content {\n padding: 0 !important;\n }\n\n .prose {\n margin: 0 !important;\n max-width: none !important;\n }\n\n /* Reveal collapsed tab panels so their content isn't dropped from the print. */\n blume-tabs [data-blume-tab-panel] {\n display: block !important;\n }\n\n /* Keep code/callout backgrounds (subject to the dialog's \"Background graphics\"\n toggle). */\n pre,\n .prose :not(pre) > code {\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n}\n\n/* Twoslash rich-renderer styles (used by fences with the \\`twoslash\\` meta). */\n${options.twoslashCss ?? \"\"}\n\n/* Token overrides: config first, then the user's theme.css (highest priority). */\n${options.configTokens}\n${options.userTheme}\n`;\n\ninterface ExamplesEntryOptions {\n /** Config-derived token overrides (`:root { --blume-accent: ... }`). */\n configTokens: string;\n /** Globs to scan for utility classes (the project and examples directory). */\n sources: string[];\n /** Raw contents of the configured `examples.css`, if any. */\n userCss: string;\n}\n\n/**\n * Build the Tailwind entry for `<Component />` preview frames. Each example\n * renders in its own iframe so none of the app sheet above — prose typography,\n * component chrome, base overrides — can reach it. This sheet provides only\n * what an example needs to look like it does in an app: Tailwind (preflight +\n * utilities scanned from the example sources), the `--blume-*` tokens and\n * their utility mapping (so `bg-background`-style classes keep working and\n * previews follow the site palette by default), and the user's example CSS\n * (shadcn variables, `@theme` mappings, custom styles) last so it wins.\n */\nexport const examplesEntryTemplate = (options: ExamplesEntryOptions): string =>\n `/* Generated by Blume. Do not edit. */\n@import \"tailwindcss\";\n\n/* Scan the project (and an out-of-root examples directory) for utility classes. */\n${options.sources.map((source) => `@source \"${source}\";`).join(\"\\n\")}\n\n${DARK_VARIANT}\n\n${COLOR_SCHEME_DEFAULTS}\n\n${TOKEN_DEFAULTS}\n\n${THEME_MAPPING}\n\n/* Frame defaults: readable text in both modes, transparent so the docs pane's\n surface shows through. Base layer, so any user/example CSS wins. */\n@layer base {\n body {\n background: transparent;\n color: var(--blume-foreground);\n }\n}\n\n/* Token overrides: config first, then the configured examples css (highest\n priority) — the place for shadcn variables and other component tokens. */\n${options.configTokens}\n${options.userCss}\n`;\n",
|
|
29
29
|
"import { dirname, isAbsolute, relative, resolve } from \"pathe\";\n\n/**\n * A Tailwind `@source \"…\"` / `@source not \"…\"` directive with a quoted path.\n * `@source inline(\"…\")` never matches: the quote must directly follow the\n * keyword (or `not`), and `inline(` sits in between.\n */\nconst SOURCE_DIRECTIVE =\n /@source(?<not>\\s+not)?\\s+(?<quote>[\"'])(?<path>[^\"']+)\\k<quote>/gu;\n\n/**\n * Rewrite the relative `@source` paths in a user stylesheet so they still\n * point where the author meant once the sheet is inlined into a generated\n * Tailwind entry. Tailwind resolves `@source` relative to the stylesheet that\n * declares it, and Blume splices `theme.css` / `examples.css` verbatim into\n * `.blume/src/generated/*.css` (or `src/generated/*.css` after eject), which\n * would silently re-root them there. Resolving each path against the user's\n * file and re-expressing it relative to the generated directory keeps the\n * standard contract — write `@source \"../../packages/ui\"` next to the file\n * that says it — and lets a monorepo scan sibling workspace packages for\n * utility classes without any knowledge of Blume's internal layout. Absolute\n * paths pass through untouched.\n */\nexport const rebaseSourceDirectives = (\n css: string,\n options: {\n /** The user's stylesheet the CSS was read from. */\n from: string;\n /** The directory of the generated entry the CSS is inlined into. */\n to: string;\n }\n): string => {\n const base = dirname(options.from);\n return css.replace(\n SOURCE_DIRECTIVE,\n (\n directive: string,\n not: string | undefined,\n quote: string,\n path: string\n ): string => {\n if (isAbsolute(path)) {\n return directive;\n }\n const rebased = relative(options.to, resolve(base, path));\n return `@source${not ?? \"\"} ${quote}${rebased}${quote}`;\n }\n );\n};\n",
|
|
30
30
|
"/**\n * CSS for Twoslash's rich renderer, emitted into the Tailwind entry (Twoslash\n * runs on any fence with the `twoslash` meta). It is the shipped\n * `@shikijs/twoslash` stylesheet plus a Blume-themed override layer:\n *\n * - maps the renderer's `--twoslash-*` variables onto Blume tokens so popups\n * match the active theme (light/dark);\n * - lets popups escape the code block's horizontal scroll container; and\n * - restores backgrounds the theme's `pre.astro-code span { background:\n * transparent !important }` rule would otherwise clear from popup chrome.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\n\n/** Blume-token theming layered over the shipped rich renderer styles. */\nconst OVERRIDES = `\n/* Twoslash: theme the rich renderer with Blume tokens. */\n:root {\n --twoslash-border-color: var(--blume-border);\n --twoslash-popup-bg: var(--blume-code-background);\n --twoslash-popup-color: var(--blume-foreground);\n --twoslash-popup-shadow: 0 6px 24px oklch(0 0 0 / 0.18);\n --twoslash-docs-color: var(--blume-muted-foreground);\n --twoslash-docs-font: var(--font-sans);\n --twoslash-code-font: var(--font-mono);\n --twoslash-matched-color: var(--blume-foreground);\n --twoslash-unmatched-color: var(--blume-muted-foreground);\n --twoslash-cursor-color: var(--blume-muted-foreground);\n}\n\n/* Popups are absolutely positioned and must escape the pre's scroll container.\n The base prose pre rule (from the typography layer) wins the cascade here\n despite lower specificity, so !important is needed to force visibility.\n Regular code blocks scroll their inner code element and carry the horizontal\n padding there; twoslash code opts out of that scroller (popups again), so the\n padding is restored on the pre. */\n.prose pre.twoslash {\n overflow: visible !important;\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n/* Twoslash blocks keep \\`overflow: visible\\` so popups can escape, which means\n long lines can't scroll — they'd push past the viewport on narrow screens.\n Wrap them on mobile instead; hover popups still position against the token. */\n@media (max-width: 640px) {\n .prose pre.twoslash code {\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n}\n\n/* The rich renderer renders each popup's type signature as a nested Shiki\n pre. Strip the code-block chrome (border, radius, padding, background) so it\n sits flush inside the popup, which owns the frame. */\n.prose pre.twoslash .twoslash-popup-container pre {\n background: transparent !important;\n border: 0 !important;\n border-radius: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n}\n\n/* Re-assert chrome backgrounds the transparent token-span rule would clear. */\n.twoslash .twoslash-popup-container,\n.twoslash .twoslash-popup-arrow,\n.twoslash .twoslash-completion-cursor .twoslash-completion-list {\n background: var(--twoslash-popup-bg) !important;\n}\n.twoslash .twoslash-popup-error {\n background: var(--twoslash-error-bg) !important;\n}\n.twoslash .twoslash-highlighted {\n background: var(--twoslash-highlighted-bg) !important;\n}\n\n/* The error squiggle uses a background image the transparent rule clears, so\n draw it as a wavy underline instead. */\n.twoslash .twoslash-error {\n text-decoration: underline wavy var(--twoslash-error-color);\n text-underline-offset: 0.25em;\n}\n\n.twoslash-popup-container {\n max-width: min(90vw, 36rem);\n}\n`;\n\n/** The full Twoslash stylesheet (shipped rich styles + Blume overrides). */\nexport const twoslashCss = (): string => {\n const file = require.resolve(\"@shikijs/twoslash/style-rich.css\");\n return `${readFileSync(file, \"utf-8\")}\\n${OVERRIDES}`;\n};\n",
|
|
31
31
|
"import { existsSync, realpathSync } from \"node:fs\";\nimport {\n lstat,\n mkdir,\n readdir,\n readlink,\n realpath,\n rm,\n symlink,\n} from \"node:fs/promises\";\nimport { isBuiltin } from \"node:module\";\n\nimport {\n basename,\n dirname,\n isAbsolute,\n join,\n normalize,\n relative,\n resolve,\n} from \"pathe\";\n\nimport { packageRoot } from \"../core/package-root.ts\";\n\n/**\n * The two places an installer can put Blume's dependencies:\n * - `<blume>/node_modules` — deps nested under the package (workspace source,\n * or npm nesting them away from a conflicting hoisted copy)\n * - `dirname(<blume>)` — deps as siblings in the store (isolated/pnpm)\n *\n * `packageRoot()` resolves to Blume's real on-disk path (Node follows the\n * install symlink), so its parent is the store's package directory where the\n * isolated linker places the siblings.\n */\nexport const depsCandidates = (pkgDir: string): string[] => [\n join(pkgDir, \"node_modules\"),\n dirname(pkgDir),\n];\n\n/** First dependency candidate containing the package dir `segments`, or null. */\nexport const candidateHolding = (\n pkgDir: string,\n ...segments: string[]\n): string | null =>\n depsCandidates(pkgDir).find((dir) => existsSync(join(dir, ...segments))) ??\n null;\n\nconst holdsAstro = (dir: string): boolean => existsSync(join(dir, \"astro\"));\nconst holdsMdx = (dir: string): boolean =>\n existsSync(join(dir, \"@astrojs\", \"mdx\"));\n\n/**\n * Locate the directory that holds Blume's installed dependencies (Astro and its\n * integrations).\n *\n * With a clean hoisted install this is moot — the deps sit in a `node_modules`\n * the generated `.blume/` already walks up into. But under isolated linkers\n * (Bun's `isolated` mode, pnpm) Blume's deps are NOT hoisted into the project;\n * they live beside the Blume package in a virtual store, invisible to the\n * upward walk from `.blume/` — so probe the {@link depsCandidates}.\n *\n * Astro alone is a bad probe: an npm split install (an `overrides` pin plus an\n * incremental install) hoists `astro` to the project root while Blume's other\n * deps stay nested, and probing for astro then picks the root directory — one\n * that holds none of them. Prefer a candidate with the full set (astro beside\n * `@astrojs/mdx`, the integration every generated runtime declares), then one\n * with the integrations (astro hoisted away — the rest of Blume's deps sit\n * there too), then one with astro alone.\n */\nexport const blumeDepsDir = (pkgDir: string = packageRoot()): string | null => {\n const candidates = depsCandidates(pkgDir);\n return (\n candidates.find((dir) => holdsAstro(dir) && holdsMdx(dir)) ??\n candidates.find(holdsMdx) ??\n candidates.find(holdsAstro) ??\n null\n );\n};\n\n/**\n * The package a bare specifier names (`@scope/name` or `name`, whatever\n * subpath follows), or null for a Node builtin.\n */\nexport const packageNameOf = (specifier: string): string | null => {\n if (isBuiltin(specifier)) {\n return null;\n }\n const [first = \"\", second] = specifier.split(\"/\");\n if (!first.startsWith(\"@\")) {\n return first || null;\n }\n return second ? `${first}/${second}` : null;\n};\n\n/**\n * The directory an import of package `name` loads from when resolved from\n * `fromDir`: the first `node_modules/<name>` up the physical ancestors — the\n * walk Node itself performs — as a real path, or null when none holds it.\n */\nexport const packageDirFrom = (\n name: string,\n fromDir: string\n): string | null => {\n let dir = normalize(fromDir);\n while (true) {\n const candidate = join(dir, \"node_modules\", name);\n if (existsSync(join(candidate, \"package.json\"))) {\n return normalize(realpathSync(candidate));\n }\n const parent = dirname(dir);\n if (parent === dir) {\n return null;\n }\n dir = parent;\n }\n};\n\n/** Whether `child` is `parent` or sits somewhere under it. */\nconst isWithin = (parent: string, child: string): boolean => {\n const path = relative(parent, child);\n return path === \"\" || !(path.startsWith(\"..\") || isAbsolute(path));\n};\n\n/**\n * Point `link` at the package directory `target`, replacing a link to anything\n * else and leaving a real directory alone. The link is relative, so it keeps\n * working when the project moves as a whole (a server build shipped with its\n * `node_modules`); without symlink privilege on Windows it falls back to a\n * junction, which must be absolute.\n */\nconst linkPackageDir = async (link: string, target: string): Promise<void> => {\n await mkdir(dirname(link), { recursive: true });\n // A relative link resolves from its folder's real path, which differs from\n // the logical one under a symlinked parent (macOS's `/var` → `/private/var`),\n // so the relative target is computed from the real path.\n const from = normalize(await realpath(dirname(link)));\n let existing: Awaited<ReturnType<typeof lstat>> | null;\n try {\n existing = await lstat(link);\n } catch {\n existing = null;\n }\n if (existing) {\n if (!existing.isSymbolicLink()) {\n return;\n }\n try {\n // Both sides in one separator style: Windows hands back `\\\\` paths.\n if (resolve(from, await readlink(link)) === normalize(target)) {\n return;\n }\n } catch {\n // An unreadable link is replaced below.\n }\n await rm(link, { force: true });\n }\n try {\n await symlink(relative(from, target), link, \"dir\");\n } catch {\n await symlink(target, link, \"junction\");\n }\n};\n\n/** The package names a `node_modules` directory holds, scoped ones included. */\nconst packageNames = async (modulesDir: string): Promise<string[]> => {\n const entries = await readdir(modulesDir);\n const grouped = await Promise.all(\n entries\n .filter((entry) => !entry.startsWith(\".\"))\n .map(async (entry) => {\n if (!entry.startsWith(\"@\")) {\n return [entry];\n }\n const scoped = await readdir(join(modulesDir, entry));\n return scoped.map((name) => `${entry}/${name}`);\n })\n );\n return grouped.flat();\n};\n\n/**\n * Give a server-side build output its own `node_modules`: one link per package\n * its bundles import by bare name, each to the copy the importing module\n * resolves. A render bundle mixes code from Blume, Astro, and the adapters\n * into one set of chunks, and its bare imports resolve by walking up from the\n * chunk — so without these links the copy the package manager happened to\n * hoist wins, not the one the importer declared. A root `js-yaml@4` (pulled in\n * by the Netlify or Cloudflare adapter) then breaks Blume's `js-yaml@5`\n * import, a Yarn-hoisted `cookie@0.7` breaks Astro's `cookie@2` import, and\n * under pnpm the server bundle can't reach Blume's dependencies at all.\n *\n * Under an isolated linker the links also cover the rest of Blume's own\n * dependencies, which the upward walk can't reach from the output, so a\n * specifier the build never saw (loaded by a dependency at runtime) still\n * resolves as it did before.\n */\nexport const linkRenderDeps = async (\n dir: string,\n imported: ReadonlyMap<string, string>,\n pkgDir: string = packageRoot()\n): Promise<void> => {\n const modulesDir = join(dir, \"node_modules\");\n // An earlier release linked the whole directory here; per-package links\n // need a real directory in its place.\n try {\n const existing = await lstat(modulesDir);\n if (existing.isSymbolicLink()) {\n await rm(modulesDir, { force: true });\n }\n } catch {\n // Nothing there yet.\n }\n const links = new Map(imported);\n const depsDir = blumeDepsDir(pkgDir);\n if (\n depsDir &&\n !(basename(depsDir) === \"node_modules\" && isWithin(dirname(depsDir), dir))\n ) {\n for (const name of await packageNames(depsDir)) {\n if (!links.has(name)) {\n links.set(name, normalize(realpathSync(join(depsDir, name))));\n }\n }\n }\n await Promise.all(\n [...links].map(([name, target]) =>\n linkPackageDir(join(modulesDir, name), target)\n )\n );\n};\n\n/** The Vite environment a hook runs in (`client`, `ssr`, `prerender`). */\ninterface PluginEnvironment {\n name: string;\n}\n\n/** What `this.resolve` returns: the resolved id, and whether it's external. */\ninterface ResolvedModule {\n external?: boolean | \"absolute\" | \"relative\";\n id: string;\n}\n\n/** The `resolveId` hook options this plugin forwards to `this.resolve`. */\ninterface ResolveIdOptions {\n attributes?: Record<string, string>;\n isEntry?: boolean;\n kind?: string;\n}\n\n/** The slice of the plugin context the `resolveId` hook uses. */\ninterface ResolveContext {\n environment?: PluginEnvironment;\n resolve: (\n source: string,\n importer: string | undefined,\n options: ResolveIdOptions & { skipSelf: boolean }\n ) => Promise<ResolvedModule | null>;\n}\n\n/** The Vite plugin {@link prerenderDepsPlugin} returns. */\nexport interface PrerenderDepsPlugin {\n apply: \"build\";\n configResolved: (config: { root: string }) => void;\n enforce: \"pre\";\n name: string;\n resolveId: {\n filter: { id: RegExp };\n handler: (\n this: ResolveContext,\n source: string,\n importer: string | undefined,\n options: ResolveIdOptions\n ) => Promise<ResolvedModule | null>;\n };\n writeBundle: (\n this: { environment?: PluginEnvironment } | undefined,\n options: { dir?: string }\n ) => Promise<void>;\n}\n\n/**\n * A specifier that could name a package: not relative, absolute, virtual\n * (`\\0`), or carrying a scheme or drive letter (`node:`, `virtual:`, `C:`).\n */\nconst BARE_SPECIFIER = /^[^\\0./\\\\][^:]*$/u;\n\n/**\n * The directory a module id's imports resolve from, or undefined for an id\n * that isn't a file (a virtual module).\n */\nconst importerDir = (importer: string | undefined): string | undefined => {\n const [path = \"\"] = (importer ?? \"\").split(\"?\");\n return isAbsolute(path) ? dirname(path) : undefined;\n};\n\n/**\n * Vite plugin that makes a server-side build's externalized imports resolve\n * to the copies their importers declared, for the static prerender bundle\n * Astro imports to write the HTML and for a server build's output alike.\n *\n * While each server-side environment (`ssr`, `prerender`) builds, it records\n * every import Vite leaves external together with the package directory that\n * import resolves to from the module that makes it. Once the environment's\n * bundle is written, {@link linkRenderDeps} gives the output directory a\n * `node_modules` of links to exactly those directories. Astro deletes the\n * prerender output once generation finishes — `fs.rm` unlinks the links\n * without following them — while a server build ships its links, relative so\n * they survive the project moving as a whole, and a deploy adapter's file\n * trace follows them to the real files.\n *\n * Outside an environment-aware build (a direct call, as in the tests) only a\n * `.prerender` output is handled. The client build is never touched.\n */\nexport const prerenderDepsPlugin = (\n pkgDir: string = packageRoot()\n): PrerenderDepsPlugin => {\n const imported = new Map<string, Map<string, string>>();\n let root: string | undefined;\n\n const record = (\n environment: string,\n source: string,\n importer: string | undefined\n ): void => {\n const name = packageNameOf(source);\n const packages = imported.get(environment) ?? new Map<string, string>();\n imported.set(environment, packages);\n if (!name || packages.has(name)) {\n return;\n }\n const from = importerDir(importer) ?? root;\n const target = from === undefined ? null : packageDirFrom(name, from);\n if (target) {\n packages.set(name, target);\n }\n };\n\n return {\n apply: \"build\",\n configResolved: (config) => {\n ({ root } = config);\n },\n enforce: \"pre\",\n name: \"blume:prerender-deps\",\n resolveId: {\n filter: { id: BARE_SPECIFIER },\n async handler(source, importer, options) {\n const environment = this.environment?.name;\n if (environment === undefined || environment === \"client\") {\n return null;\n }\n const resolved = await this.resolve(source, importer, {\n ...options,\n skipSelf: true,\n });\n if (resolved?.external) {\n record(environment, source, importer);\n }\n return resolved;\n },\n },\n async writeBundle(options) {\n const environment = this?.environment?.name;\n const { dir } = options;\n const serverSide =\n environment === undefined\n ? dir !== undefined && basename(dir) === \".prerender\"\n : environment !== \"client\";\n if (!dir || !serverSide) {\n return;\n }\n const packages = imported.get(environment ?? \"\");\n // A bundle that leaves no package import external loads nothing from\n // `node_modules` at runtime, so it gets none. The Cloudflare adapter\n // bundles the Worker whole, and a copy of its output that follows the\n // links (a CI artifact) would otherwise upload every one of Blume's\n // dependencies as a Worker module.\n if (environment !== undefined && !packages?.size) {\n return;\n }\n await linkRenderDeps(dir, packages ?? new Map<string, string>(), pkgDir);\n },\n };\n};\n"
|
|
32
32
|
],
|
|
33
|
-
"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAuQgB;AAAA,UACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAmBG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgGX,QAAQ,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBA8BJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAcE,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBA+BjC,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAgItC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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",
|
|
33
|
+
"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAuQgB;AAAA,UACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAmBG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgGX,QAAQ,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBA8BJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAcE,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBA+BjC,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAgItC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmRf,QAAQ,eAAe;AAAA;AAAA;AAAA,EAGvB,QAAQ;AAAA,EACR,QAAQ;AAAA;AAsBH,IAAM,wBAAwB,CAAC,YACpC;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ,QAAQ,IAAI,CAAC,WAAW,YAAY,UAAU,EAAE,KAAK;AAAA,CAAI;AAAA;AAAA,EAEjE;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,QAAQ;AAAA,EACR,QAAQ;AAAA;;;AC9kCV,oBAAS,wBAAS,yBAAY,sBAAU;AAOxC,IAAM,mBACJ;AAeK,IAAM,yBAAyB,CACpC,KACA,YAMW;AAAA,EACX,MAAM,OAAO,SAAQ,QAAQ,IAAI;AAAA,EACjC,OAAO,IAAI,QACT,kBACA,CACE,WACA,KACA,OACA,SACW;AAAA,IACX,IAAI,YAAW,IAAI,GAAG;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,IACA,MAAM,UAAU,UAAS,QAAQ,IAAI,SAAQ,MAAM,IAAI,CAAC;AAAA,IACxD,OAAO,UAAU,OAAO,MAAM,QAAQ,UAAU;AAAA,GAEpD;AAAA;;;ACnCF,yBAAS;AACT;AAEA,IAAM,WAAU,cAAc,YAAY,GAAG;AAG7C,IAAM,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;AA0EX,IAAM,cAAc,MAAc;AAAA,EACvC,MAAM,OAAO,SAAQ,QAAQ,kCAAkC;AAAA,EAC/D,OAAO,GAAG,cAAa,MAAM,OAAO;AAAA,EAAM;AAAA;;;AC9F5C,uBAAS;AAYT;AAAA;AAAA,aAEE;AAAA,gBACA;AAAA,UACA;AAAA;AAAA,cAEA;AAAA,aACA;AAAA;AAeK,IAAM,iBAAiB,CAAC,WAA6B;AAAA,EAC1D,OAAK,QAAQ,cAAc;AAAA,EAC3B,SAAQ,MAAM;AAChB;AAGO,IAAM,mBAAmB,CAC9B,WACG,aAEH,eAAe,MAAM,EAAE,KAAK,CAAC,QAAQ,YAAW,OAAK,KAAK,GAAG,QAAQ,CAAC,CAAC,KACvE;AAsDK,IAAM,iBAAiB,CAC5B,MACA,YACkB;AAAA,EAClB,IAAI,MAAM,UAAU,OAAO;AAAA,EAC3B,OAAO,MAAM;AAAA,IACX,MAAM,YAAY,OAAK,KAAK,gBAAgB,IAAI;AAAA,IAChD,IAAI,YAAW,OAAK,WAAW,cAAc,CAAC,GAAG;AAAA,MAC/C,OAAO,UAAU,aAAa,SAAS,CAAC;AAAA,IAC1C;AAAA,IACA,MAAM,SAAS,SAAQ,GAAG;AAAA,IAC1B,IAAI,WAAW,KAAK;AAAA,MAClB,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,EACR;AAAA;;;AnB+EF,IAAM,YAAY,OAAK,YAAY,GAAG,KAAK;AAapC,IAAM,uBAAuB,CAClC,QACA,YACA,SAAiB,YAAY,MACjB;AAAA,EACZ,IAAI,EAAE,cAAc,OAAO,MAAM,WAAW;AAAA,IAC1C,OAAO;AAAA,EACT;AAAA,EACA,IAAI;AAAA,IACF,MAAM,aAAa,eACjB,cAAc,OAAK,QAAQ,MAAM,CAAC,EAAE,IACtC,EAAE,QAAQ,gBAAgB;AAAA,IAC1B,MAAM,cAAc,eAAc,UAAU,EAAE,QAC5C,sBACF;AAAA,IACA,eAAc,WAAW,EAAE,QAAQ,qBAAqB;AAAA,IACxD,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AASJ,IAAM,wBAAwB,CACnC,QACA,YACA,aAEA,cAAc,OAAO,MAAM,YAAY,CAAC,WACpC;AAAA,EACE;AACF,IACA,CAAC;AAGP,IAAM,0BAA0B,CAAC,eAAsC;AAAA,EACrE,IAAI;AAAA,IACF,OAAO,cAAa,OAAK,YAAY,SAAS,cAAc,CAAC;AAAA,IAC7D,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAsBX,IAAM,mBAAmB,CACvB,YAC+C;AAAA,EAC/C,IAAI,MAAM,WAAU,OAAO;AAAA,EAC3B,OAAO,MAAM;AAAA,IACX,MAAM,aAAa,OAAK,KAAK,cAAc;AAAA,IAC3C,MAAM,MAAM,wBAAwB,UAAU;AAAA,IAC9C,IAAI,KAAK;AAAA,MACP,OAAO,EAAE,YAAY,IAAI;AAAA,IAC3B;AAAA,IACA,MAAM,SAAS,SAAQ,GAAG;AAAA,IAC1B,IAAI,WAAW,KAAK;AAAA,MAClB,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,EACR;AAAA;AAOK,IAAM,cAAc,CAAC,GAAW,MAAuB;AAAA,EAC5D,IAAI;AAAA,IACF,OAAO,cAAa,CAAC,MAAM,cAAa,CAAC;AAAA,IACzC,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAkBJ,IAAM,aAAa,OACxB,QACA,SACkB;AAAA,EAClB,IAAI;AAAA,IACF,MAAM,QAAQ,QAAQ,MAAM,KAAK;AAAA,IACjC,MAAM;AAAA,IACN,MAAM,QAAQ,QAAQ,MAAM,UAAU;AAAA;AAAA;AAW1C,IAAM,mBAAmB,OACvB,MACA,YACkB;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,WAAW,MAAM,MAAM,IAAI;AAAA,IAC3B,MAAM;AAAA,IACN,WAAW;AAAA;AAAA,EAEb,IAAI,UAAU;AAAA,IACZ,IAAI,CAAC,SAAS,eAAe,GAAG;AAAA,MAC9B;AAAA,IACF;AAAA,IAKA,IAAI;AAAA,MACF,IAAI,SAAQ,SAAQ,IAAI,GAAG,MAAM,SAAS,IAAI,CAAC,MAAM,SAAQ,OAAO,GAAG;AAAA,QACrE;AAAA,MACF;AAAA,MACA,MAAM;AAAA,IAGR,MAAM,IAAG,MAAM,EAAE,OAAO,KAAK,CAAC;AAAA,EAChC;AAAA,EACA,MAAM,OAAM,SAAQ,IAAI,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAC9C,MAAM,WAAW,SAAS,IAAI;AAAA;AAIhC,IAAM,iBAAiB,CAAC,gBAA8C;AAAA,EACpE,IAAI,CAAC,aAAa;AAAA,IAChB,OAAO;AAAA,EACT;AAAA,EACA,IAAI;AAAA,IACF,OAAO,KAAK,MAAM,cAAa,aAAa,OAAO,CAAC,EAAE,WAAW;AAAA,IACjE,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAWX,IAAM,uBAAuB,CAC3B,eACA,mBACW;AAAA,EACX,MAAM,QAAQ,eAAe,aAAa;AAAA,EAC1C,MAAM,SAAS,eAAe,cAAc;AAAA,EAC5C,MAAM,WACJ,SAAS,SACL,SAAS,kCAAkC,UAC3C;AAAA,EACN,MAAM,MAAM,SAAS;AAAA,EACrB,OAAO,sDAAsD,4SAA4S;AAAA;AAkB3W,IAAM,oBAAoB,OACxB,MACA,WACkB;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,WAAW,MAAM,MAAM,IAAI;AAAA,IAC3B,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,IAAI,CAAC,SAAS,eAAe,GAAG;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,cAAc,MAAM,SAAS,OAAK,MAAM,OAAO,CAAC;AAAA,IAChD,eAAe,MAAM,SAAS,MAAM;AAAA,IACpC,MAAM;AAAA,IACN;AAAA;AAAA,EAEF,IAAI,gBAAgB,cAAc;AAAA,IAChC,MAAM,IAAG,MAAM,EAAE,OAAO,KAAK,CAAC;AAAA,EAChC;AAAA;AAqCK,IAAM,iBAAiB,OAC5B,QACA,SAAiB,YAAY,MACF;AAAA,EAC3B,MAAM,WAAW,iBAAiB,QAAQ,OAAO;AAAA,EACjD,IAAI,CAAC,UAAU;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS,iBAAiB,QAAQ,YAAY,KAAK;AAAA,EACzD,MAAM,aAAa,wBAAwB,QAAQ;AAAA,EAInD,MAAM,kBAAkB,OAAK,QAAQ,cAAc,GAAG,MAAM;AAAA,EAC5D,MAAM,YAAY,iBAAiB,MAAM;AAAA,EAEzC,MAAM,eAAe,eAAe,QAAQ,WAAW,QAAQ;AAAA,EAS/D,MAAM,kBACJ,gBACA,cAAc,QACd,YAAY,UAAU,YAAY,QAAQ;AAAA,EAC5C,IAAI,mBAAmB,WAAW,UAAU;AAAA,IAC1C,OAAO;AAAA,EACT;AAAA,EAKA,IAAI,WAAW,WAAW,YAAY,eAAe;AAAA,IACnD,MAAM,iBAAiB,OAAK,QAAQ,cAAc,GAAG,MAAM;AAAA,IAC3D,OAAO;AAAA,EACT;AAAA,EAIA,OAAO,qBAAqB,YAAY,WAAW,OAAO,IAAI;AAAA;AAIhE,IAAM,kBAAkB,CACtB,MACA,WAEA,OAAO,SAAS,MAAM,OAAK,MAAM,OAAO,SAAS,GAAG,IAAI;AAW1D,IAAM,uBAAuB,OAAO,YAMX;AAAA,EACvB,QAAQ,QAAQ,aAAa,MAAM,QAAQ,UAAU;AAAA,EACrD,IAAI,aAAa;AAAA,IACf,MAAM,MACJ,OACE,QACA,SACA,GAAG,OAAO,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO,GAC5C,kBACA,iBACF,GACA,qBAAqB,CACvB;AAAA,EACF;AAAA,EACA,MAAM,UAAU,gBAAgB,MAAM,MAAM;AAAA,EAC5C,OAAO,WAAW,CAAC,YAAW,OAAO,IACjC;AAAA,IACE,2BAA2B,OAAO,SAAS;AAAA,EAC7C,IACA,CAAC;AAAA;AAIP,IAAM,eAAe,OAAO,SAAyC;AAAA,EACnE,IAAI,CAAC,MAAM;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,IAAI;AAAA,IACF,OAAO,MAAM,UAAS,MAAM,OAAO;AAAA,IACnC,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AASX,IAAM,cAAc,OAClB,MACA,cACoB;AAAA,EACpB,MAAM,MAAM,MAAM,aAAa,IAAI;AAAA,EACnC,OAAO,OACH,uBAAuB,KAAK,EAAE,MAAM,MAAM,IAAI,UAAU,CAAC,IACzD;AAAA;AAIC,IAAM,mBAAmB,OAAO,SAAmC;AAAA,EACxE,MAAM,UAAU,MAAM,KAAK,CAAC,gBAAgB,GAAG;AAAA,IAC7C,KAAK;AAAA,IACL,QAAQ,CAAC,sBAAsB,gBAAgB,YAAY;AAAA,IAC3D,WAAW;AAAA,EACb,CAAC;AAAA,EACD,OAAO,QAAQ,SAAS;AAAA;AAI1B,IAAM,eAAe,CAAC,YACpB,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,OAAO;AAGpD,IAAM,mBAAmB;AAWlB,IAAM,iBAAiB,OAC5B,MACA,SAA2B,CAAC,MACP;AAAA,EACrB,MAAM,QAAQ,MAAM,KAAK,CAAC,eAAe,GAAG;AAAA,IAC1C,KAAK;AAAA,IACL,QAAQ,CAAC,sBAAsB,gBAAgB,YAAY;AAAA,IAC3D,WAAW;AAAA,EACb,CAAC;AAAA,EACD,MAAM,WAAW,MAAM,KAAK,OAAO,CAAC,SAAS,aAAa,OAAK,MAAM,IAAI,CAAC,GAAG;AAAA,IAC3E,aAAa;AAAA,EACf,CAAC;AAAA,EACD,OAAO,CAAC,GAAG,UAAU,GAAG,MAAM,EAAE,KAAK,YAAY;AAAA;AAGnD,IAAM,mBAAmB,CAAC,WACxB,WAAW,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK;AAElD,IAAM,wBAAwB,OAC5B,QACA,YAC4E;AAAA,EAC5E,IAAI,OAAO,aAAa,WAAW,KAAK,CAAC,QAAQ,YAAY;AAAA,IAC3D;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,YAAY,UAAS,QAAQ,QAAQ,QAAQ,UAAU;AAAA,IACvD,YAAY,iBAAiB,MAAM,aAAa,QAAQ,UAAU,CAAC;AAAA,EACrE;AAAA;AAGF,IAAM,iBAAiB,OACrB,MACA,YACqB;AAAA,EACrB,IAAI,WAA0B;AAAA,EAC9B,IAAI;AAAA,IACF,WAAW,MAAM,UAAS,MAAM,OAAO;AAAA,IACvC,MAAM;AAAA,IACN,WAAW;AAAA;AAAA,EAEb,IAAI,aAAa,SAAS;AAAA,IACxB,OAAO;AAAA,EACT;AAAA,EAGA,MAAM,gBAAgB,MAAM,OAAO;AAAA,EACnC,OAAO;AAAA;AAaF,IAAM,eAAe,OAC1B,QACA,YACkB;AAAA,EAClB,MAAM,WAAW,MAAM,KAAK,QAAQ;AAAA,IAClC,UAAU;AAAA,IACV,KAAK;AAAA,IACL,WAAW;AAAA,EACb,CAAC;AAAA,EACD,MAAM,WAA4B,CAAC;AAAA,EACnC,WAAW,QAAQ,UAAU;AAAA,IAC3B,MAAM,aAAa,WAAU,IAAI;AAAA,IACjC,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG;AAAA,MAC5B,SAAS,KAAK,IAAG,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,IAAI,QAAQ;AAAA;AAQrB,IAAM,gBAAgB,CAAC,YAA+C;AAAA,EAC3E,MAAM,SAAS,IAAI;AAAA,EACnB,WAAW,QAAQ,QAAQ,MAAM,OAAO;AAAA,IACtC,IAAI,KAAK,eAAe,YAAY,KAAK,WAAW,KAAK,MAAM;AAAA,MAK7D,MAAM,OAAO,KAAK,aACd,sBAAsB;AAAA,QACpB,YAAY,QAAQ,OAAO,WAAW,QAAQ;AAAA,QAC9C,aAAa,QAAQ,QAAQ;AAAA,QAC7B,QAAQ,KAAK,KAAK;AAAA,QAClB,YAAY,KAAK;AAAA,MACnB,CAAC,IACD,KAAK,KAAK;AAAA,MACd,OAAO,IAAI,KAAK,SAAS,IAAI;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAOT,IAAM,qBAAqB,OACzB,KACA,WACkB;AAAA,EAClB,MAAM,aAAa,iBAAiB,GAAG;AAAA,EACvC,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,QAAQ,IACZ,CAAC,GAAG,MAAM,EAAE,IAAI,QAAQ,SAAS,UAAU;AAAA,IACzC,MAAM,OAAO,OAAK,YAAY,OAAO;AAAA,IACrC,QAAQ,IAAI,WAAU,IAAI,CAAC;AAAA,IAC3B,MAAM,eAAe,MAAM,IAAI;AAAA,GAChC,CACH;AAAA,EACA,IAAI,YAAW,UAAU,GAAG;AAAA,IAC1B,MAAM,aAAa,YAAY,OAAO;AAAA,EACxC;AAAA;AAcF,IAAM,iBAAiB,CAAC,QACtB,MAAO,cAAc,GAAG,KAAK,YAAa;AAG5C,IAAM,cAAc,CAClB,SACA,WACuB;AAAA,EACvB,IAAI,CAAC,QAAQ,YAAY,EAAE,SAAS,MAAM,GAAG;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,MAAM,MAAM,OAAO,QAAQ,QAAQ,EAAE;AAAA,EACrC,MAAM,OAAO;AAAA,IACX,OAAK,QAAQ,QAAQ,MAAM,UAAU,GAAG;AAAA,IACxC,OAAK,QAAQ,QAAQ,MAAM,GAAG;AAAA,EAChC,EAAE,KAAK,CAAC,SAAS,YAAW,IAAI,CAAC;AAAA,EACjC,OAAO,OAAO,cAAa,MAAM,OAAO,IAAI;AAAA;AAI9C,IAAM,oBAAoB,CAAI,UAC5B,OAAO,UAAU;AAQnB,IAAM,gBAAgB,CACpB,MACA,YACkB;AAAA,EAClB,IAAI,kBAAkB,IAAI,GAAG;AAAA,IAC3B,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,UAAU;AAAA;AAQ1B,IAAM,cAAc,CAAC,YAA4C;AAAA,EAC/D,QAAQ,SAAS,QAAQ;AAAA,EACzB,IAAI,CAAC,MAAM;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS,kBAAkB,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI;AAAA,EAI3D,QAAQ,MAAM,OAAO,QAAQ,SAAS;AAAA,EACtC,MAAM,QAAQ,kBAAkB,MAAM,IAAI,EAAE,OAAO,OAAO,IAAI;AAAA,EAC9D,MAAM,QAAQ,OAAO,SAAS,OAAO;AAAA,EACrC,MAAM,OAAO,OAAO,QAAQ,OAAO;AAAA,EACnC,MAAM,MAAM,OAAO,OAAO;AAAA,EAC1B,MAAM,YAAY,QAAQ;AAAA,EAC1B,MAAM,WAAW,YAAY,SAAS,KAAK;AAAA,EAC3C,MAAM,UAAU,SAAS,QAAQ,WAAW,YAAY,SAAS,IAAI;AAAA,EAErE,IAAI,SAAS,UAAU,QAAQ,UAAU;AAAA,IACvC,OAAO,EAAE,KAAK,MAAM,WAAW,KAAK,UAAU,KAAK;AAAA,EACrD;AAAA,EAEA,MAAM,kBAAkB,eAAe,QAAQ;AAAA,EAC/C,MAAM,iBAAiB,eAAe,OAAO;AAAA,EAC7C,MAAM,aACJ,mBAAmB,iBACf,EAAE,MAAM,gBAAgB,OAAO,gBAAgB,IAC/C;AAAA,EACN,OAAO,EAAE,KAAK,MAAM,YAAY,MAAM,WAAW,OAAO,KAAK;AAAA;AAQ/D,IAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMA,IAAM,cAAc,CAAC,SACnB,KAAK,QAAQ,iBAAiB,QAAQ;AAGxC,IAAM,gBAAgB,IAAI,IAAI;AAAA,EAC5B,CAAC,OAAO,cAAc;AAAA,EACtB,CAAC,QAAQ,YAAY;AAAA,EACrB,CAAC,OAAO,YAAY;AAAA,EACpB,CAAC,OAAO,WAAW;AAAA,EACnB,CAAC,OAAO,eAAe;AACzB,CAAC;AAGD,IAAM,cAAc,CAAC,SAAqC;AAAA,EACxD,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAC/C,OAAO,MAAM,cAAc,IAAI,GAAG,IAAI;AAAA;AAIxC,IAAM,gBAAgB,CAAC,MAAc,SACnC,QAAQ,eAAe,cAAa,IAAI,EAAE,SAAS,QAAQ;AAO7D,IAAM,iBAAiB,OAAqB;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM,cACJ,OAAK,WAAW,UAAU,eAAe,GACzC,WACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,MAAM,cAAc,OAAK,WAAW,UAAU,UAAU,GAAG,WAAW;AAAA,EACtE,MAAM;AACR;AAQA,IAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAOA,IAAM,kBAAkB,CACtB,SACA,eACwB;AAAA,EACxB,QAAQ,SAAS,QAAQ;AAAA,EACzB,WAAW,QAAQ,YAAY;AAAA,IAC7B,IAAI,YAAW,OAAK,MAAM,UAAU,IAAI,CAAC,GAAG;AAAA,MAC1C,OAAO,EAAE,MAAM,IAAI,QAAQ,MAAM,YAAY,IAAI,EAAE;AAAA,IACrD;AAAA,EACF;AAAA,EACA,WAAW,QAAQ,YAAY;AAAA,IAC7B,MAAM,OAAO,OAAK,MAAM,IAAI;AAAA,IAC5B,IAAI,YAAW,IAAI,GAAG;AAAA,MACpB,MAAM,OAAO,YAAY,IAAI;AAAA,MAC7B,OAAO,EAAE,MAAM,cAAc,MAAM,QAAQ,cAAc,GAAG,KAAK;AAAA,IACnE;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAYT,IAAM,iBAAiB,CAAC,YAAwC;AAAA,EAC9D,QAAQ,SAAS,QAAQ;AAAA,EACzB,WAAW,QAAQ,oBAAoB;AAAA,IACrC,IAAI,YAAW,OAAK,MAAM,UAAU,IAAI,CAAC,GAAG;AAAA,MAC1C,MAAM,OAAO,YAAY,IAAI;AAAA,MAC7B,MAAM,UAAU,YAAY,IAAI;AAAA,MAChC,OAAO,YAAW,OAAK,MAAM,UAAU,OAAO,CAAC,IAC3C,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,KAAK,GAAG,MAAM,IAAI,QAAQ,KAAK,IAC9D,EAAE,MAAM,IAAI,QAAQ,KAAK;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,WAAW,QAAQ,oBAAoB;AAAA,IACrC,MAAM,OAAO,OAAK,MAAM,IAAI;AAAA,IAC5B,IAAI,YAAW,IAAI,GAAG;AAAA,MACpB,MAAM,OAAO,YAAY,IAAI;AAAA,MAC7B,MAAM,OAAO,QAAQ;AAAA,MACrB,MAAM,cAAc,OAAK,MAAM,YAAY,IAAI,CAAC;AAAA,MAChD,OAAO,YAAW,WAAW,IACzB;AAAA,QACE,MAAM,EAAE,MAAM,cAAc,aAAa,IAAI,GAAG,KAAK;AAAA,QACrD,MAAM,cAAc,MAAM,IAAI;AAAA,QAC9B;AAAA,MACF,IACA,EAAE,MAAM,cAAc,MAAM,IAAI,GAAG,KAAK;AAAA,IAC9C;AAAA,EACF;AAAA,EACA,OACE,gBAAgB,SAAS,mBAAmB,IAAI,WAAW,CAAC,KAC5D,eAAe;AAAA;AAYnB,IAAM,mBAAmB,CAAC,YACxB,gBAAgB,SAAS,qBAAqB;AAGhD,IAAM,gBAAgB,CAAC,WAA+C;AAAA,EACpE,QAAQ,WAAW;AAAA,EACnB,IAAI,CAAC,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,IAAI,kBAAkB,MAAM,GAAG;AAAA,IAC7B,OAAO,EAAE,SAAS,QAAQ,aAAa,OAAO,KAAK,OAAO;AAAA,EAC5D;AAAA,EAGA,OAAO;AAAA,IACL,SAAS,OAAO;AAAA,IAChB,aAAa,OAAO;AAAA,IACpB,KACE,OAAO,MACP,mBAAmB,OAAO,SAAS,WAAW,OAAO,MAAM,aAAa;AAAA,IAC1E,MAAM,OAAO;AAAA,EACf;AAAA;AAIK,IAAM,yBAAyB,CAAC,WACrC,aAAa,OAAO,UAAU,aAAa;AAO7C,IAAM,kBAAkB,CAAC,WAAmD;AAAA,EAC1E,QAAQ,MAAM,YAAY,WAAW,OAAO;AAAA,EAC5C,MAAM,WAAmC;AAAA,IACvC,YAAY;AAAA,MACV,SAAS,WAAW;AAAA,MACpB,OACE,WAAW,UAAU,OACjB,uBAAuB,MAAM,IAC7B,WAAW;AAAA,IACnB;AAAA,EACF;AAAA,EACA,IAAI,MAAM;AAAA,IACR,SAAS,OAAO;AAAA,EAClB;AAAA,EACA,IAAI,QAAQ;AAAA,IACV,SAAS,SAAS;AAAA,EACpB;AAAA,EACA,OAAO;AAAA;AAIT,IAAM,gBAAgB,CACpB,WACoC;AAAA,EACpC,QAAQ,WAAW;AAAA,EACnB,OAAO,WACJ,OAAO,cAAc,aACpB,OAAO,MAAM,SAAS,KACtB,OAAO,KAAK,OAAO,OAAO,EAAE,SAAS,KACrC,SACA;AAAA;AAQN,IAAM,gBAAgB,CACpB,SACA,aAC+B;AAAA,EAC/B,MAAM,aAAa,QAAQ,OAAO,IAAI,GAAG;AAAA,EACzC,IAAI,eAAe,OAAO;AAAA,IACxB,OAAO;AAAA,EACT;AAAA,EACA,IAAI,YAAY;AAAA,IACd,OAAO,cAAc,SAAS,UAAU;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA;AAST,IAAM,gBAAgB,CAAC,WAA+C;AAAA,EACpE,MAAM,aAAa,OAAO,IAAI,GAAG;AAAA,EACjC,IAAI,eAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EACA,IAAI,eAAe,WAAW;AAAA,IAC5B,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,WAAW,QAAQ,OAC7B,GAAG,IAAI,IAAI,OAAO,WAAW,QAAQ,IAAI,EAAE,OAAO,kBAChD,OAAO,WAAW,QAAQ,IAC5B,MACA;AAAA;AAQN,IAAM,uBAAuB,CAAC,WAA+C;AAAA,EAC3E,MAAM,aAAa,OAAO,IAAI,GAAG;AAAA,EACjC,IAAI,eAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EACA,OAAO,cAAc,OAAO;AAAA;AAQ9B,IAAM,oBAAoB,CACxB,WAEA,SACI;AAAA,EACE,KAAK,OAAa,MAAM;AAAA,EACxB,MAAM,OAAO;AAAA,EACb,OAAO,OAAO;AAAA,EACd,MAAM,OAAO;AACf,IACA;AAGN,IAAM,mBAAmB,CACvB,WACiC;AAAA,EACjC,QAAQ,cAAc,OAAO;AAAA,EAC7B,IAAI,CAAC,WAAW,SAAS;AAAA,IACvB,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,SAAS,UAAU,UAAU,gBAAgB,UAAU,OAAO,IAAI;AAAA,IAClE,UAAU,UAAU,YAAY;AAAA,IAChC,aAAa,UAAU;AAAA,IACvB,SAAS,UAAU,WAAW;AAAA,EAChC;AAAA;AAIK,IAAM,mBAAmB,CAAC,YAAkC;AAAA,EACjE,QAAQ,QAAQ,SAAS,OAAO,aAAa;AAAA,EAC7C,QAAQ,WAAW;AAAA,EACnB,MAAM,WAAU,SAAS,QAAc,MAAM,IAAI;AAAA,EACjD,MAAM,WAAW,SAAS,YAAkB,MAAM,IAAI;AAAA,EACtD,MAAM,OAAO,YAAY,OAAO;AAAA,EAChC,MAAM,SAAS,cAAc,SAAS,MAAM,GAAG;AAAA,EAI/C,MAAM,UAAU,WACZ,gBACE,QAAQ,MACR,SAAS,OAAO,QAAQ,CAAC,UACvB,MAAM,YAAY,aAAa,MAAM,aACjC,CAAC,MAAM,UAAU,IACjB,CAAC,CACP,CACF,IACA,IAAI;AAAA,EAER,MAAM,aAAa,CAAC,eAAuC;AAAA,IACzD,IAAI,EAAE,YAAY,eAAe,QAAQ,IAAI,UAAU,GAAG;AAAA,MACxD,OAAO;AAAA,IACT;AAAA,IACA,MAAM,MAAM,UAAS,QAAQ,MAAM,UAAU,EAAE,MAAM,IAAI,EAAE,KAAK,GAAG;AAAA,IAQnE,MAAM,UAAU,SAAS,QAAQ,OAAO,IAAI,GAAG;AAAA,IAC/C,MAAM,WAAW,WAAU,UAAU,OAAK,SAAS,GAAG,IAAI,GAAG;AAAA,IAC7D,IAAI,SAAS,WAAW,IAAI,KAAK,YAAW,QAAQ,GAAG;AAAA,MACrD,OAAO;AAAA,IACT;AAAA,IACA,OAAO,GAAG,YAAY;AAAA;AAAA,EAGxB,QAAQ,SAAS;AAAA,EAKjB,MAAM,UAAU,cAAc,OAAO,WAAW,MAAM,QAAO;AAAA,EAC7D,MAAM,cAAc,CAAC,SAAiC;AAAA,OACjD;AAAA,IACH,SAAS;AAAA,EACX;AAAA,EAKA,MAAM,aAAa,OACf,OAAO,YACL,KAAK,QAAQ,IAAI,GAAG,WAAW;AAAA,IAC7B;AAAA,IACA,uBACE,QACA,iBAAiB,MAAM;AAAA,MACrB,eAAe,KAAK;AAAA,MACpB,WAAW,KAAK;AAAA,IAClB,CAAC,GACD,IACF;AAAA,EACF,CAAC,CACH,IACA,CAAC;AAAA,EACL,MAAM,YAAY,uBAChB,QACA,OACI,iBAAiB,KAAK,eAAe;AAAA,IACnC,eAAe,KAAK;AAAA,IACpB,WAAW,KAAK;AAAA,EAClB,CAAC,IACD,OACJ,MAAM,aACR;AAAA,EAEA,MAAM,WAAW,mBAAmB,OAAO;AAAA,EAE3C,MAAM,qBAAqB,OACvB,OAAO,YACL,KAAK,QAAQ,IAAI,GAAG,WAAW;AAAA,IAC7B;AAAA,IACA,YACE,MAAM,mBAAmB,SAAS;AAAA,MAChC,SAAS,CAAC;AAAA,MACV,KAAK;AAAA,MACL,UAAU,CAAC;AAAA,MACX,WAAW,CAAC;AAAA,MACZ,SAAS,CAAC;AAAA,MACV,MAAM,CAAC;AAAA,IACT,CACF;AAAA,EACF,CAAC,CACH,IACA,CAAC;AAAA,EAEL,MAAM,OAAkB;AAAA,IACtB,QAAQ;AAAA,MACN,WAAW,OAAO;AAAA,MAClB,KAAK,gBAAgB,MAAM;AAAA,MAC3B,WAAW,iBAAiB,OAAO;AAAA,MACnC,WAAW,iBAAiB,MAAM;AAAA,MAClC,QAAQ,cAAc,MAAM;AAAA,MAC5B,UAAU,OAAO;AAAA,MACjB,YAAY,OAAO,SAAS,KAAK;AAAA,MACjC,UAAU,OAAO,SAAS,KAAK;AAAA,MAC/B,SAAS,OAAO;AAAA,MAChB,YAAY,OAAO;AAAA,MACnB,aAAa,OAAO;AAAA,MACpB,WAAW;AAAA,QACT,kBAAkB,OAAO,OAAO;AAAA,QAChC,WAAW,aAAa,MAAM;AAAA,QAC9B,KAAK,OAAO,OAAO;AAAA,QACnB,SAAS,OAAO,OAAO,QAAQ;AAAA,QAE/B,SAAS,OAAO,IAAI,WAAW,QAAQ,OAAO,WAAW,QAAQ,IAAI;AAAA,MACvE;AAAA,MACA,SAAS,eAAe,OAAO;AAAA,MAC/B,UAAU,OAAO,SAAS;AAAA,MAC1B,kBAAkB,OAAO,SAAS;AAAA,MAClC,QAAQ,cAAc,MAAM;AAAA,MAC5B,QAAQ,kBAAkB,MAAM;AAAA,MAChC,MAAM,OACF;AAAA,QACE,eAAe,KAAK;AAAA,QAGpB,gBAAgB,sBAAsB,IAAI;AAAA,QAC1C,yBAAyB,KAAK;AAAA,QAC9B,SAAS,KAAK,QAAQ,IAAI,GAAG,MAAM,KAAK,aAAa;AAAA,UACnD;AAAA,UACA;AAAA,UACA;AAAA,QACF,EAAE;AAAA,QACF,wBAAwB,KAAK;AAAA,MAC/B,IACA;AAAA,MAGJ,UACE,OAAO,IAAI,gBAAgB,OAAO,IAAI,WAClC;AAAA,QACE,cAAc,OAAO,IAAI;AAAA,QACzB,UAAU,OAAO,IAAI;AAAA,MACvB,IACA;AAAA,MACN,WAAW,OAAO,SAAS;AAAA,MAC3B,QAAQ,OAAO,IAAI;AAAA,MACnB;AAAA,MACA,KAAK,OAAO,OAAO,IAAI,UACnB;AAAA,QACE,SAAS,OAAO,OAAO,IAAI;AAAA,QAC3B,MAAM,OAAO,OAAO,IAAI,QAAQ,OAAO;AAAA,QACvC,OAAO,OAAO,OAAO,IAAI;AAAA,MAC3B,IACA;AAAA,MACJ,UAAU,OAAO,IAAI,YAAY;AAAA,MACjC,WAAW,OAAO,UAAU,UACxB,EAAE,WAAW,OAAO,UAAU,aAAa,KAAK,IAChD;AAAA,MAMJ,IAAI;AAAA,QACF,aAAa,qBAAqB,MAAM;AAAA,QACxC,SAAS,OAAO,IAAI,GAAG,WAAW;AAAA,QAClC,OAAO,OAAO,IAAI,GAAG;AAAA,QACrB,MAAM;AAAA,QACN,SAAS,OAAO,IAAI,GAAG;AAAA,QACvB,MAAM,cAAc,MAAM;AAAA,MAC5B;AAAA,MACA,YAAY,OAAO,GAAG;AAAA,MACtB;AAAA,MACA,QAAQ;AAAA,QACN,WAAW,OAAO,OAAO;AAAA,QACzB,SAAS,OAAO,OAAO,SAAS,SAAS;AAAA,QACzC,SAAS,qBAAqB,OAAO,OAAO,SAAS,OAAO,QAAQ;AAAA,QACpE,UAAU,OAAO,OAAO,SAAS;AAAA,MACnC;AAAA,MACA,MAAM,OAAO,WAAW,QAAQ,QAAQ;AAAA,MACxC,gBAAgB,OAAO,IAAI;AAAA,MAC3B,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,KAAK,OAAO;AAAA,MACZ,UAAU,OAAO,YAAY;AAAA,MAC7B,QAAQ;AAAA,QACN,SAAS,OAAO,OAAO;AAAA,QACvB,MAAM,OAAO,OAAO,QAAQ;AAAA,MAC9B;AAAA,MACA,GAAG,OAAO,IAAI;AAAA,IAChB;AAAA,IACA,OAAO,cAAc,OAAO,EAAE,IAAI,CAAC,UAAU;AAAA,MAC3C,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IACd,EAAE;AAAA,IAIF,aAAa,gBACX,OAAO,MAAM,OACb,gBAAgB,OAAO,IAAI,CAC7B;AAAA,IACA,YAAY,YAAY,MAAM,UAAU;AAAA,IAExC;AAAA,IAGA,qBAAqB,OAAO,YAC1B,OAAO,QAAQ,MAAM,mBAAmB,EAAE,IAAI,EAAE,IAAI,cAAc;AAAA,MAChE;AAAA,MACA,OAAO,YACL,OAAO,QAAQ,QAAQ,EAAE,IAAI,EAAE,MAAM,SAAS;AAAA,QAC5C;AAAA,QACA,YAAY,GAAG;AAAA,MACjB,CAAC,CACH;AAAA,IACF,CAAC,CACH;AAAA,IACA,QAAQ,SAAS,OAAO,IAAI,CAAC,WAAW;AAAA,MACtC,YAAY,MAAM;AAAA,MAClB,YAAY,MAAM;AAAA,MAClB,aAAa,MAAM,eAAe;AAAA,MAClC,OAAO,MAAM;AAAA,MACb,SAAS,MAAM,WAAW,WAAW,MAAM,UAAU;AAAA,MACrD,SAAS,MAAM;AAAA,MACf,UAAU,MAAM,YAAY;AAAA,MAC5B,QAAQ,MAAM;AAAA,MACd,UAAU,SAAS,IAAI,MAAM,IAAI,KAAK,CAAC;AAAA,MACvC,IAAI,MAAM;AAAA,MACV,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM,gBAAgB;AAAA,MACpC,QAAQ,MAAM;AAAA,MACd,aAAa,MAAM,eAAe;AAAA,MAClC,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM,aAAa;AAAA,MAC9B,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,mBAAmB,MAAM;AAAA,IAC3B,EAAE;AAAA,IAEF,IAAI;AAAA,IAEJ;AAAA,EACF;AAAA,EACA,OAAO,GAAG,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA;AAAA;AAoBxC,IAAM,UAAU,CACd,SACA,QACA,cACY;AAAA,EACZ,QAAQ,WAAW;AAAA,EACnB,QAAQ,UAAU,OAAO,OAAO;AAAA,EAChC,MAAM,MAAM,OAAK,QAAQ,WAAW;AAAA,EACpC,MAAM,OAAgB;AAAA,IACpB;AAAA,IACA,gBAAgB,CAAC;AAAA,IACjB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,UAAU,CAAC;AAAA,EACb;AAAA,EACA,IAAI,CAAC,OAAO,OAAO,IAAI,SAAS;AAAA,IAC9B,OAAO;AAAA,EACT;AAAA,EACA,IAAI,aAAa,WAAW,QAAQ,MAAM,OAAO,KAAK,GAAG;AAAA,IACvD,OAAO;AAAA,SACF;AAAA,MACH,UAAU;AAAA,QACR,qBAAqB;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,OACF;AAAA,IACH,gBAAgB;AAAA,MACd;AAAA,QACE,YAAY,OAAK,KAAK,cAAc;AAAA,QACpC,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,YAAY,OAAK,KAAK,gBAAgB;AAAA,QACtC,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA;AAWF,IAAM,mBAAmB,OACvB,SACA,OACA,YAC4B;AAAA,EAC5B,IAAI,EAAE,MAAM,IAAI,WAAW,MAAM,IAAI,UAAU;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,MAAM,aAAa,OAAO;AAAA,EACvC,QAAQ,IAAI,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAAA,EAClD,OAAO;AAAA;AAIT,IAAM,gBAAgB,OACpB,MACA,OACA,SACkB;AAAA,EAClB,IAAI,EAAE,KAAK,WAAW,OAAO;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,MAAM,iBAAiB;AAAA,IACrB,MAAM,KAAK;AAAA,IACX,MAAM,KAAK;AAAA,IACX,OAAO,KAAK;AAAA,IACZ,MAAM,KAAK;AAAA,IACX,SAAS,KAAK;AAAA,EAChB;AAAA,EACA,MAAM,QAAQ,IAAI;AAAA,IAChB,MACE,OAAK,KAAK,QAAQ,SAAS,YAAY,KAAK,KAAK,CAAC,GAClD,oBAAoB,CACtB;AAAA,IACA,MACE,OAAK,KAAK,KAAK,cAAc,GAC7B,2BAA2B,kBAAkB,cAAc,CAAC,CAC9D;AAAA,IACA,MACE,OAAK,KAAK,KAAK,gBAAgB,GAC/B,2BAA2B,mBAAmB,cAAc,CAAC,CAC/D;AAAA,EACF,CAAC;AAAA;AAuBH,IAAM,cAAc,CAAC,SACnB,KAAK,QAAQ,WAAW,QAAQ;AASlC,IAAM,kBAAkB,CAAC,SACvB,KAAK,UAAU,UAAU,KAAK,MAAM,WAAW,OAAO;AAQxD,IAAM,UAAU,CACd,SACA,QACA,cACY;AAAA,EACZ,QAAQ,QAAQ,YAAY;AAAA,EAC5B,MAAM,SAAS,OAAO,WAAW,QAAQ,WAAW;AAAA,EACpD,OAAO;AAAA,IACL,UACE,UACA,CAAC,UAAU,KAAK,WAAW,KAC3B,CAAC,QAAQ,MAAM,MAAM,KAAK,eAAe;AAAA,IAC3C,SAAS,OAAO,OAAO;AAAA,IACvB;AAAA,IACA,MACE,CAAC,aAAa,WAAW,QAAQ,MAAM,OAAO,YAAY,KAC1D,CAAC,YAAW,OAAK,QAAQ,MAAM,UAAU,cAAc,CAAC;AAAA,IAC1D;AAAA,EACF;AAAA;AAWF,IAAM,gBAAgB,OACpB,SACA,MACA,OACA,MACA,QACkB;AAAA,EAClB,IAAI,EAAE,KAAK,WAAW,OAAO;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,QAAQ,WAAW;AAAA,EACnB,MAAM,WAAW,IAAI,UAAU,IAAI,QAAQ;AAAA,EAC3C,MAAM,SAAS,OAAK,KAAK,QAAQ,SAAS,KAAK;AAAA,EAC/C,MAAM,SAAS;AAAA,IACb,MAAM,OAAK,QAAQ,QAAQ,eAAe,GAAG,sBAAsB,CAAC;AAAA,IACpE,MACE,OAAK,QAAQ,QAAQ,SAAS,oBAAoB,GAClD,gBAAgB,CAClB;AAAA,IACA,MAAM,OAAK,QAAQ,QAAQ,oBAAoB,GAAG,sBAAsB,CAAC;AAAA,EAC3E;AAAA,EACA,IAAI,KAAK,QAAQ;AAAA,IACf,OAAO,KAAK,MAAM,OAAK,QAAQ,QAAQ,WAAW,GAAG,kBAAkB,CAAC,CAAC;AAAA,EAC3E;AAAA,EACA,IAAI,KAAK,UAAU;AAAA,IACjB,OAAO,KACL,MACE,OAAK,QAAQ,cAAc,GAC3B,oBAAoB,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,CAC1D,CACF;AAAA,EACF;AAAA,EACA,IAAI,KAAK,MAAM;AAAA,IACb,OAAO,KACL,MACE,OAAK,KAAK,QAAQ,SAAS,iBAAiB,GAC5C,2BACE,aAAa;AAAA,MACX,kBAAkB,OAAO,OAAO;AAAA,MAChC,MAAM,KAAK;AAAA,MACX,aAAa,OAAO;AAAA,MACpB,SAAS,OAAO,OAAO,QAAQ;AAAA,MAC/B;AAAA,MACA,MAAM,OAAO;AAAA,MACb,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,IAChB,CAAC,CACH,CACF,CACF;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,IAAI,MAAM;AAAA;AAInB,IAAM,yBAAyB,OAAK,iBAAiB,cAAc;AAY1E,IAAM,sBAAsB,CAAC,QAAwB,YAAoB;AAAA,EACvE,SAAS,qBAAqB,MAAM;AAAA,EACpC,YAAY,OAAK,QAAQ,sBAAsB;AAAA,EAC/C,SAAS,uBAAuB,MAAM;AACxC;AAiBA,IAAM,gBAAgB,CAAC,SAAgC;AAAA,EACrD,MAAM,UAAU,IAAI;AAAA,EAGpB,IAAI,KAAK,aAAa,WAAW;AAAA,IAC/B,IAAI;AAAA,MACF,QAAQ,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,MAAM;AAAA,MACzC,MAAM;AAAA,EAGV;AAAA,EAKA,MAAM,WAAW,KAAK;AAAA,EAItB,MAAM,QAAQ,CAAC,SAAS,OAAO;AAAA,EAC/B,WAAW,QAAQ,OAAO,OAAO,SAAS,SAAS,CAAC,CAAC,GAAG;AAAA,IACtD,MAAM,KAAK,MAAM,OAAO;AAAA,IACxB,WAAW,UAAU,cAAc;AAAA,MACjC,MAAM,KAAK,OAAO,SAAS,OAAO;AAAA,IACpC;AAAA,EACF;AAAA,EACA,WAAW,WAAW,OAAO;AAAA,IAC3B,WAAW,UAAU,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,GAAG;AAAA,MAC1D,MAAM,MAAM,mBAAmB,OAAO,OAAO,IAAI,OAAO,SAAS;AAAA,MAKjE,IAAI,IAAI,SAAS,GAAG,GAAG;AAAA,QACrB;AAAA,MACF;AAAA,MACA,IAAI;AAAA,QACF,QAAQ,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM;AAAA,QAC/B,MAAM;AAAA,IAGV;AAAA,EACF;AAAA,EACA,OAAO,CAAC,GAAG,OAAO;AAAA;AAeb,IAAM,cAAc,CAAC,SAC1B,CAAC,GAAG,IAAI,IAAI,OAAO,OAAO,IAAI,EAAE,QAAQ,aAAa,CAAC,CAAC,EAAE,SAAS;AAGpE,IAAM,WAAW,CAAC,QAA+B;AAAA,EAC/C,IAAI;AAAA,IACF,OAAO,IAAI,IAAI,GAAG,EAAE;AAAA,IACpB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AASJ,IAAM,iBAAiB,CAAC,YAAoC;AAAA,EACjE,QAAQ,WAAW;AAAA,EACnB,IAAI,CAAC,wBAAwB,MAAM,GAAG;AAAA,IACpC,OAAO,CAAC;AAAA,EACV;AAAA,EACA,MAAM,UAAU,QAAQ,MAAM,MAAM,IAClC,CAAC,SAAS,iBAAiB,KAAK,KAAK,OAAO,EAAE,GAAG,UAAU,EAC7D;AAAA,EACA,OAAO,CAAC,OAAO,IAAI,UAAU,IAAI,GAAG,OAAO,EAAE,QAAQ,CAAC,WAAW;AAAA,IAC/D,MAAM,SAAS,SAAS,MAAM;AAAA,IAC9B,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC;AAAA,GAC7B;AAAA;AAQI,IAAM,uBAAuB,CAAC,YACnC,wBAAwB,QAAQ,MAAM,KACtC,eAAe,OAAO,EAAE,WAAW,IAC/B;AAAA,EACE;AACF,IACA,CAAC;AAWA,IAAM,yBAAyB,CACpC,QACA,SACa;AAAA,EACb,MAAM,UAAU,IAAI,IAClB,uBAAuB,MAAM,EAAE,IAAI,CAAC,cAAc,UAAU,IAAI,CAClE;AAAA,EACA,MAAM,WAAqB,CAAC;AAAA,EAC5B,WAAW,QAAQ,OAAO,OAAO,IAAI,GAAG;AAAA,IACtC,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,cAAc,IAAI,EAAE,SAAS,GAAG;AAAA,MAC7D;AAAA,IACF;AAAA,IACA,SAAS,KACP,KAAK,SAAS,YACV,QAAQ,KAAK,6BAA6B,KAAK,8TAC/C,QAAQ,KAAK,qBAAqB,KAAK,2WAC7C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAQT,IAAM,gBAAgB,OACpB,SACA,QACA,OACA,YACkB;AAAA,EAClB,QAAQ,cAAc,QAAQ,OAAO;AAAA,EACrC,IAAI,EAAE,WAAW,WAAW,CAAC,UAAU,WAAW;AAAA,IAChD;AAAA,EACF;AAAA,EACA,MAAM,UAAU,kBAAkB,UAAU,QAAQ;AAAA,EACpD,IAAI,QAAQ,UAAU;AAAA,IACpB,QAAQ,IAAI,kBAAkB,KAAK,UAAU,MAAM,aAAa,OAAO,CAAC,CAAC;AAAA,EAC3E;AAAA,EACA,MAAM,MACJ,OAAK,QAAQ,SAAS,OAAO,QAAQ,GACrC,oBAAoB,SAAS;AAAA,IAC3B,SAAS,UAAU;AAAA,IACnB,MAAM,UAAU;AAAA,IAChB,cAAc,UAAU;AAAA,IACxB,WAAW,QAAQ,OAAO;AAAA,IAC1B,WAAW,UAAU;AAAA,IACrB,OAAO,UAAU,SAAS,QAAQ;AAAA,EACpC,CAAC,CACH;AAAA;AAaF,IAAM,oBAAoB,OACxB,OACA,QACA,OACA,iBACkB;AAAA,EAClB,IAAI,aAAa,OAAO,cAAc,MAAM,GAAG;AAAA,IAC7C;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,IAAI;AAAA,IAChB,MAAM,OAAK,QAAQ,SAAS,WAAW,GAAG,qBAAqB,CAAC;AAAA,IAChE,MAAM,OAAK,QAAQ,SAAS,WAAW,GAAG,yBAAyB,CAAC;AAAA,IACpE,MAAM,OAAK,QAAQ,SAAS,aAAa,GAAG,qBAAqB,CAAC;AAAA,EACpE,CAAC;AAAA;AAOI,IAAM,oBAAoB,CAAC,eAChC,WAAW,aACP,GAAG,WAAW,WAAW,WAAW,eACpC,WAAW;AAcjB,IAAM,sBAAsB,OAC1B,SACA,eACsB;AAAA,EACtB,MAAM,QAAQ,QAAQ,SAAS;AAAA,EAC/B,QAAQ,WAAW;AAAA,EACnB,MAAM,aAAa,MAAM,4BACvB,QACI,SACA,KAAK,QAAQ,WAAW,KAAK,OAAO,WAAW,UAAU,KAAK,EAAE,GACpE,QAAQ,QAAQ,MAChB,QAAQ,UAAU,WAClB,UACF;AAAA,EACA,IAAI,CAAC,YAAY;AAAA,IACf,OAAO,CAAC;AAAA,EACV;AAAA,EACA,IAAI,OAAO;AAAA,IACT,MAAM,IAAI,WAAW,UAAU;AAAA,EACjC;AAAA,EACA,OAAO,CAAC,kBAAkB,UAAU,CAAC;AAAA;AAehC,IAAM,wBAAwB,OACnC,mBAEA,iBACI,0BACE,MAAM,UAAS,gBAAgB,OAAO,GACtC,cACF,IACA,wBAAwB;AAG9B,IAAM,iBAAiB,CAAC,YACtB,eACE;AAAA,EACE,SAAS,gBAAgB,QAAQ,OAAO,IAAI;AAAA,EAC5C,SAAS,QAAQ,OAAO,IAAI,GAAG;AAAA,EAC/B,YAAY,QAAQ,OAAO,MAAM;AAAA,EACjC,sBAAsB,QAAQ;AAChC,GACA,QAAQ,QAAQ,IAClB;AAOF,IAAM,uBAAuB,CAAC,YAAgC;AAAA,EAC5D,QAAQ,QAAQ,YAAY;AAAA,EAC5B,MAAM,UAAU,iBACd,EAAE,SAAS,OAAO,IAAI,GAAG,SAAS,CAAC,GAAG,YAAY,OAAO,MAAM,MAAM,GACrE,QAAQ,IACV;AAAA,EACA,IAAI,QAAQ,SAAS,GAAG;AAAA,IACtB,MAAM,IAAI,WAAW;AAAA,MACnB,MAAM;AAAA,MACN,SAAS,sCAAsC,QAAQ,KAAK,IAAI;AAAA,MAChE,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA;AAUK,IAAM,qBAAqB,CAChC,SACA,iBACoB;AAAA,EACpB,MAAM,QAAQ,OAAO,OAAO;AAAA,EAC5B,SACE,OAAO,OAAO,WAAW,EAAE,KAAK,CAAC,UAC/B,gBAAgB,MAAM,OAAO,MAAM,MAAM,EAAE,CAC7C,KACA,QAAQ,MAAM,MAAM,KAClB,CAAC,SAAS,KAAK,SAAS,aAAa,gBAAgB,KAAK,KAAK,IAAI,CACrE;AACJ;AAOO,IAAM,sBAAsB,CACjC,SACA,gBAEA,gBACE,oBACE;AAAA,EACE,GAAG,OAAO,OAAO,WAAW,EAAE,IAC5B,CAAC,UAAU,MAAM,OAAO,MAAM,MAAM,EACtC;AAAA,EACA,GAAG,QAAQ,MAAM,MAAM,IAAI,CAAC,SAAS,KAAK,MAAM,QAAQ,EAAE;AAC5D,EAAE,KAAK;AAAA,CAAI,CACb,CACF;AAGK,IAAM,qBAAqB,OAChC,YAEA,oBAAoB,SAAS,MAAM,iBAAiB,OAAO,CAAC;AAQ9D,IAAM,oBAAoB,CACxB,OACA,QACA,iBAEA,eACI,MACE,OACE,QACA,SACA,aACA,aACA,YACA,YACF,GACA,oBAAoB,CACtB,IACA,QAAQ,QAAQ,KAAK;AAGpB,IAAM,oBAAoB,OAC/B,YAEA,mBAAmB,SAAS,MAAM,iBAAiB,OAAO,CAAC;AAMtD,IAAM,kBAAkB,OAC7B,YAC4B;AAAA,EAC5B,QAAQ,SAAS,WAAW;AAAA,EAC5B,qBAAqB,OAAO;AAAA,EAC5B,MAAM,MAAM,QAAQ;AAAA,EACpB,MAAM,SAAS,OAAK,KAAK,KAAK;AAAA,EAC9B,MAAM,eAAe,OAAK,QAAQ,WAAW;AAAA,EAC7C,MAAM,UAAU,OAAK,QAAQ,aAAa,WAAW;AAAA,EACrD,MAAM,YAAY,OAAK,QAAQ,aAAa,SAAS;AAAA,EACrD,MAAM,mBAAmB,OAAK,QAAQ,aAAa,kBAAkB;AAAA,EACrE,MAAM,oBAAoB,OAAK,QAAQ,aAAa,mBAAmB;AAAA,EACvE,MAAM,eAAe,OAAK,QAAQ,aAAa,aAAa;AAAA,EAC5D,MAAM,eAAe,OAAK,QAAQ,aAAa,aAAa;AAAA,EAC5D,MAAM,oBAAoB,OAAK,QAAQ,aAAa,cAAc;AAAA,EAIlE,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,QAAQ,CAAC,MAAc,YAAsC;AAAA,IACjE,QAAQ,IAAI,WAAU,IAAI,CAAC;AAAA,IAC3B,OAAO,eAAe,MAAM,OAAO;AAAA;AAAA,EAMrC,MAAM,UAA0B,IAAI;AAAA,EAEpC,MAAM,kBAAkB,MAAM,eAAe,GAAG;AAAA,EAKhD,MAAM,gBAAgB,mBAAmB,OAAO;AAAA,EAChD,MAAM,iBACJ,oBAAoB,QAAQ,eAAe,KAAK,KAAK;AAAA,EAEvD,MAAM,mBAAmB,OAAO,GAAG,WAAW,WAAW;AAAA,EACzD,MAAM,YAAY,OAAO,OAAO;AAAA,EAChC,MAAM,aAAa,OAAO,OAAO;AAAA,EAGjC,MAAM,cAAc,MAAM,iBAAiB,OAAO;AAAA,EAClD,MAAM,iBAAiB,mBAAmB,SAAS,WAAW;AAAA,EAC9D,MAAM,eAAe,YAAY,QAAQ,KAAK,EAAE,KAAK,GAAG,iBACtD,oBAAoB,WAAW,OAAO,CACxC;AAAA,EACA,MAAM,gBAAgB,oBAAoB,SAAS,WAAW;AAAA,EAI9D,MAAM,SAAS,cAAc,OAAO;AAAA,EAKpC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,MAAM,QAAQ,IAAI;AAAA,IACpB,QAAQ,YAAY,cAAc,QAAQ,SAAS,IAAI,QAAQ,QAAQ,CAAC,CAAC;AAAA,IACzE,iBAAiB,QAAQ,IAAI;AAAA,IAC7B,eAAe,QAAQ,MAAM,OAAO,OAAO,CAAC;AAAA,IAC5C,YAAY,QAAQ,WAAW,YAAY;AAAA,IAC3C,YAAY,gBAAgB,QAAQ,MAAM,MAAM,GAAG,YAAY;AAAA,IAC/D,sBAAsB,QAAQ,OAAO;AAAA,IACrC,gBAAgB,QAAQ,IAAI;AAAA,IAC5B,iBAAiB,QAAQ,MAAM,OAAO,SAAS,MAAM;AAAA,IACrD,sBAAsB,QAAQ,cAAc;AAAA,EAC9C,CAAC;AAAA,EAGD,MAAM,WAAW,mBACf,gBAAgB,SAChB,gBACF;AAAA,EACA,MAAM,mBAAmB,iBAAiB;AAAA,EAG1C,QAAQ,WAAW,sBAAsB,iBAAiB,QAAQ;AAAA,EAMlE,MAAM,aAAa,IAAI,IAAY;AAAA,IACjC,GAAG,gBAAgB,QAAQ,IAAI,CAAC,WAAW,OAAO,SAAS;AAAA,IAC3D,GAAG,iBAAiB,SAAS,IAAI,CAAC,YAAY,QAAQ,SAAS;AAAA,IAC/D,GAAG,SAAS;AAAA,EACd,CAAC;AAAA,EACD,MAAM,qBAAqB,MAAM,oBAAoB,SAAS,UAAU;AAAA,EACxE,MAAM,aACJ,iBAAiB,oBAAoB,WAAW,IAAI,OAAO;AAAA,EAC7D,MAAM,WAAW,WAAW,IAAI,KAAK;AAAA,EACrC,MAAM,cAAc,WAAW,IAAI,QAAQ;AAAA,EAO3C,MAAM,gBAAgB,qBAAqB,QAAQ,UAAU;AAAA,EAK7D,MAAM,WAAW,eAAe,OAAO,OAAO,OAAO,OAAO,IAAI,GAAG,MAAM;AAAA,EAKzE,MAAM,iBAAiB,sBAAsB,SAAS,KAAK;AAAA,EAK3D,MAAM,MAAM,QAAQ,SAAS,QAAQ,KAAK;AAAA,EAC1C,MAAM,KAAK,GAAG,IAAI,cAAc;AAAA,EAIhC,MAAM,MAAM,QAAQ,SAAS,QAAQ,KAAK;AAAA,EAC1C,MAAM,YAAY,MAAM,iBAAiB,SAAS,EAAE,KAAK,IAAI,GAAG,OAAO;AAAA,EAKvE,MAAM,gBAAgB,QAAQ,QAAQ,KAAK,eAAe;AAAA,EAC1D,MAAM,cAAc,gBAAgB,cAAc,YAAY,IAAI,CAAC;AAAA,EAInE,MAAM,kBAAkB,oBAAoB,QAAQ,MAAM;AAAA,EAC1D,IAAI,gBAAgB,SAAS;AAAA,IAC3B,MAAM,KAAK;AAAA,MACT,YAAY,gBAAgB;AAAA,MAC5B,SAAS,gBAAgB;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAIA,MAAM,eAAe;AAAA,IACnB,GAAG,IAAI,IAAI,CAAC,GAAG,YAAY,WAAW,GAAG,GAAG,eAAe,OAAO,CAAC,CAAC;AAAA,EACtE,EAAE,SAAS;AAAA,EAEX,MAAM,YAAY,OAAO,OAAO;AAAA,EAKhC,MAAM,sBAAsB,QAAQ,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,MAAM;AAAA,EAC3E,MAAM,iBAAiB,sBAAsB,QAAQ,QAAQ,IAAI;AAAA,EAMjE,OAAO,cAAc,MAAM,QAAQ,IAAI;AAAA,IACrC,QAAQ,IAAI;AAAA,MACV,MACE,OAAK,KAAK,kBAAkB,GAC5B,oBAAoB;AAAA,QAClB,SAAS,uBAAuB,QAAQ,IAAI;AAAA,QAC5C;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,eAAe;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,CACH;AAAA,MACA,MACE,OAAK,KAAK,cAAc,GACxB,uBACE,oBAAoB,EAAE,QAAQ,YAAY,aAAa,SAAS,CAAC,CACnE,CACF;AAAA,MACA,MAAM,OAAK,KAAK,eAAe,GAAG,wBAAwB,CAAC;AAAA,MAC3D,MACE,OAAK,QAAQ,mBAAmB,GAChC,sBAAsB;AAAA,QACpB,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,YAAY,QAAQ;AAAA,MACtB,CAAC,CACH;AAAA,MACA,MACE,OAAK,QAAQ,SAAS,iBAAiB,GACvC,qBAAqB;AAAA,QACnB;AAAA,QACA;AAAA,QACA,aAAa;AAAA,QACb;AAAA,QACA;AAAA,MACF,CAAC,CACH;AAAA,MACA,kBAAkB,OAAO,QAAQ,YAAY;AAAA,MAI7C,MAAM,SAAS,qBAAqB,gBAAgB,CAAC;AAAA,MACrD,MAAM,OAAK,QAAQ,aAAa,eAAe,GAAG,SAAS,MAAM;AAAA,MACjE,MACE,OAAK,QAAQ,aAAa,aAAa,GACvC,mBAAmB,iBAAiB,UAAU,OAAO,QAAQ,CAC/D;AAAA,MAKA,MACE,mBACA,sBAAsB;AAAA,QACpB,cAAc,cAAc,OAAO,KAAK;AAAA,QACxC,SAAS,iBAAiB,QAAQ,MAAM,iBAAiB,GAAG,EAAE,IAC5D,CAAC,QAAQ,GAAG,OAAO,mBACrB;AAAA,QACA,SAAS;AAAA,MACX,CAAC,CACH;AAAA,MACA,MACE,WACA,sBAAsB;AAAA,QACpB,cAAc,GAAG,cAAc,OAAO,KAAK,IAAI,cAAc,OAAO,MAAM,KAAK;AAAA,QAC/E;AAAA,QACA,SAAS;AAAA,UACP,GAAG;AAAA,UACH,GAAG,QAAQ;AAAA,QACb;AAAA,QACA,aAAa,YAAY;AAAA,QACzB;AAAA,MACF,CAAC,CACH;AAAA,IACF,CAAC;AAAA,IAKD,QAAQ,IACN,SAAS,SAAS,IAAI,CAAC,YACrB,MACE,OAAK,QAAQ,aAAa,mBAAmB,GAAG,QAAQ,YAAY,GACpE,QAAQ,OACV,CACF,CACF;AAAA,IAGA,QAAQ,IACN,iBAAiB,SAAS,IAAI,CAAC,YAC7B,MACE,OACE,QACA,aACA,YACA,GAAG,YAAY,QAAQ,IAAI,SAC7B,GACA,uBAAuB,OAAO,CAChC,CACF,CACF;AAAA,IACA,cAAc,SAAS,QAAQ,OAAO,OAAO;AAAA,IAC7C,cAAc,KAAK,OAAO,SAAS;AAAA,IACnC,cAAc,SAAS,KAAK,OAAO,WAAW,GAAG;AAAA,IACjD,gBAAgB,UACZ,MACE,gBAAgB,YAChB,wBAAwB,cAAc,OAAO,SAAS,CACxD,IACA,QAAQ,QAAQ,KAAK;AAAA,EAC3B,CAAC;AAAA,EAED,IAAI,OAAO,IAAI,GAAG,SAAS;AAAA,IACzB,MAAM,MACJ,OAAK,QAAQ,SAAS,MAAM,kBAAkB,GAC9C,mBACE,UACA;AAAA,SACK,eAAe,OAAO;AAAA,MACzB,OAAO;AAAA,QACL,KAAK,WAAW,QAAQ,OAAO;AAAA,QAC/B,SAAS,gBAAgB;AAAA,MAC3B;AAAA,MACA,kBAAkB,OAAO,IAAI,GAAG,gBAAgB;AAAA,IAClD,GACA,cACF,CACF;AAAA,EACF;AAAA,EAGA,IAAI,gBAAgB;AAAA,IAClB,MAAM,MACJ,OAAK,QAAQ,SAAS,iBAAiB,GACvC,uBAAuB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,CACH;AAAA,EACF;AAAA,EAQA,OAAO,oBAAoB,MAAM,QAAQ,IAAI;AAAA,IAC3C,qBAAqB;AAAA,MACnB;AAAA,MACA,aAAa,iBAAiB,SAAS,SAAS;AAAA,MAChD,MAAM,QAAQ;AAAA,MACd;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,kBAAkB,OAAO,QAAQ,OAAO,QAAQ,MAAM,KAAK;AAAA,IAC3D,MAAM,kBAAkB,qBAAqB,MAAM,CAAC;AAAA,IACpD,MAAM,mBAAmB,sBAAsB,OAAO,OAAO,CAAC;AAAA,IAC9D,MAAM,cAAc,iBAAiB,cAAc,CAAC;AAAA,EACtD,CAAC;AAAA,EAGD,MAAM,gBAAgB,OAAO,OAAO;AAAA,EACpC,IAAI,cAAc,SAAS,UAAU;AAAA,IACnC,MAAM,YAAY,MAAM,qBAAqB,OAAO;AAAA,IACpD,QAAQ,IAAI,sBAAsB,KAAK,UAAU,SAAS,CAAC;AAAA,IAC3D,MAAM,MACJ,OAAK,QAAQ,SAAS,sBAAsB,GAC5C,uBAAuB,CACzB;AAAA,EACF;AAAA,EAGA,IAAI,cAAc,SAAS,cAAc;AAAA,IACvC,MAAM,MACJ,OAAK,QAAQ,SAAS,OAAO,WAAW,GACxC,iCACE,cAAc,SACd,YAAY,OAAO,GACnB,OAAO,SACT,CACF;AAAA,EACF;AAAA,EAKA,MAAM,MACJ,OAAK,QAAQ,aAAa,eAAe,GACzC,GAAG,KAAK,UAAU,kBAAkB,QAAQ,MAAM,KAAK,CAAC;AAAA,CAC1D;AAAA,EAEA,QAAQ,IAAI,sBAAsB,KAAK,UAAU,WAAW,CAAC;AAAA,EAI7D,MAAM,gBAAgB,MAAM,qBAAqB,OAAO;AAAA,EACxD,QAAQ,IAAI,wBAAwB,KAAK,UAAU,aAAa,CAAC;AAAA,EACjE,MAAM,QAAQ,IAAI;AAAA,IAChB,MACE,OAAK,QAAQ,SAAS,iBAAiB,GACvC,4BAA4B,IAAI,CAClC;AAAA,IACA,MACE,OAAK,QAAQ,SAAS,kBAAkB,GACxC,4BAA4B,KAAK,CACnC;AAAA,IACA,MACE,OAAK,QAAQ,SAAS,gBAAgB,eAAe,GACrD,8BACE,OAAK,QAAQ,QAAQ,QAAQ,UAAU,cAAc,CACvD,CACF;AAAA,EACF,CAAC;AAAA,EAID,MAAM,QAAQ,cAAc,OAAO;AAAA,EACnC,IAAI,MAAM,SAAS,GAAG;AAAA,IACpB,MAAM,UAAU,OAAO,YACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,cAAc,IAAI,CAAC,CAAC,CACtD;AAAA,IACA,QAAQ,IAAI,aAAa,KAAK,UAAU,OAAO,CAAC;AAAA,IAChD,MAAM,MACJ,OAAK,QAAQ,SAAS,aAAa,YAAY,GAC/C,oBAAoB,CACtB;AAAA,EACF;AAAA,EAIA,MAAM,WAAqB;AAAA,IACzB,GAAI,kBAAkB,CAAC,eAAe,IAAI,CAAC;AAAA,IAC3C,GAAG,uBAAuB,QAAQ,WAAW;AAAA,IAC7C,GAAG,qBAAqB,OAAO;AAAA,IAC/B,GAAG,sBAAsB,QAAQ,YAAY,aAAa;AAAA,IAC1D,GAAG,IAAI;AAAA,IACP,GAAG,gBAAgB;AAAA,IACnB,GAAG,iBAAiB;AAAA,IACpB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EAQA,SAAS,KACP,GAAG;AAAA,IACD,GAAG,mBACD,QAAQ,MAAM,YACd,gBAAgB,SAAS,KAAK,GAC9B,YAAY,OAAO,CACrB;AAAA,IACA,GAAG,2BAA2B,OAAO,OAAO,OAAO;AAAA,IACnD,GAAI,OAAO,OAAO,IAAI,UAClB,uBACE,OAAO,OAAO,IAAI,SAClB,OAAO,MAAM,aACf,IACA,CAAC;AAAA,EACP,EAAE,IAAI,iBAAiB,CACzB;AAAA,EAIA,MAAM,qBAAqB,IAAI,IAAY;AAAA,IACzC,GAAG,gBAAgB,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI;AAAA,IACtD,GAAG,iBAAiB,IAAI,IAAI,CAAC,UAAU,MAAM,GAAG;AAAA,EAClD,CAAC;AAAA,EACD,SAAS,KACP,GAAG,uBACD,QAAQ,MAAM,OACd,oBACA,IAAI,IAAI,SAAS,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAC3C,EAAE,IAAI,iBAAiB,GACvB,GAAG,0BACD,QAAQ,MAAM,OACd,kBACA,QAAQ,MACR,kBACF,EAAE,IAAI,iBAAiB,GAEvB,GAAG,uBAAuB,QAAQ,MAAM,OAAO,kBAAkB,EAAE,IACjE,CAAC,eACC,iBAAiB,iBAAiB,UAAU,GAAG,QAAQ,IAAI,CAC/D,GACA,GAAG,kBACL;AAAA,EACA,IAAI,oBAAoB,MAAM,GAAG;AAAA,IAC/B,MAAM,aAAa,MAAM,oBAAoB;AAAA,MAC3C;AAAA,MACA,eAAe,IAAI,IAAI,QAAQ,MAAM,MAAM,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;AAAA,MACpE,MAAM,QAAQ;AAAA,IAChB,CAAC;AAAA,IACD,SAAS,KAAK,GAAG,WAAW,QAAQ;AAAA,IACpC,MAAM,QAAQ,IACZ,WAAW,MAAM,IAAI,CAAC,SACpB,MAAM,OAAK,QAAQ,SAAS,KAAK,QAAQ,GAAG,KAAK,OAAO,CAC1D,CACF;AAAA,EACF;AAAA,EAMA,QAAQ,IAAI,cAAc,iBAAiB,OAAO,CAAC;AAAA,EACnD,QAAQ,IAAI,iBAAiB,KAAK,UAAU,WAAW,CAAC;AAAA,EAIxD,MAAM,QAAQ,IAAI;AAAA,IAChB,MACE,OAAK,KAAK,qBAAqB,GAC/B,GAAG,KAAK,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,CAC7C;AAAA,IACA,mBAAmB,KAAK,MAAM;AAAA,EAChC,CAAC;AAAA,EAID,MAAM,aAAa,QAAQ,OAAO;AAAA,EAKlC,sBAAsB,EAAE,eAAe,eAAe,CAAC;AAAA,EACvD,sBAAsB,OAAO;AAAA,EAE7B,OAAO,EAAE,kBAAkB,WAAW,KAAK,OAAO,GAAG,SAAS;AAAA;",
|
|
34
34
|
"debugId": "68B5A78895B80CC964756E2164756E21",
|
|
35
35
|
"names": []
|
|
36
36
|
}
|