History

Initial commit: Docs template for Kris Yotam projects

Personal documentation template (Bun, monochrome shell, notes-style sidebar). Fresh history with no upstream contributor lineage.

Kris Yotam committed 3 months agomain

Commit b646fc1No parent (first commit)328 files · +33517 −-32Browse files

Unified · Split

328 files
  1. .github/workflows/ci.yml +57 −0
  2. .gitignore +48 −0
  3. .nuxtrc +2 −0
  4. .release-it.cli.json +16 −0
  5. .release-it.json +27 −0
  6. .release-it.layer.json +16 −0
  7. .starters/default/.gitignore +37 −0
  8. .starters/default/README.md +82 −0
  9. .starters/default/content/1.getting-started/.navigation.yml +2 −0
  10. .starters/default/content/1.getting-started/2.introduction.md +73 −0
  11. .starters/default/content/1.getting-started/3.installation.md +58 −0
  12. .starters/default/content/1.getting-started/4.project-structure.md +158 −0
  13. .starters/default/content/1.getting-started/5.studio.md +99 −0
  14. .starters/default/content/1.getting-started/6.migration.md +42 −0
  15. .starters/default/content/1.getting-started/7.troubleshooting.md +32 −0
  16. .starters/default/content/2.essentials/.navigation.yml +1 −0
  17. .starters/default/content/2.essentials/1.markdown-syntax.md +223 −0
  18. .starters/default/content/2.essentials/2.code-blocks.md +402 −0
  19. .starters/default/content/2.essentials/3.components.md +424 −0
  20. .starters/default/content/2.essentials/4.images-embeds.md +53 −0
  21. .starters/default/content/index.md +123 −0
  22. .starters/default/nuxt.config.ts +3 −0
  23. .starters/default/package.json +12 −0
  24. .starters/default/public/favicon.ico +0 −0
  25. .starters/default/public/mountains.webp +0 −0
  26. .starters/default/tsconfig.json +9 −0
  27. .starters/i18n/.gitignore +37 −0
  28. .starters/i18n/README.md +123 −0
  29. .starters/i18n/content/en/1.getting-started/.navigation.yml +2 −0
  30. .starters/i18n/content/en/1.getting-started/2.introduction.md +73 −0
  31. .starters/i18n/content/en/1.getting-started/3.installation.md +58 −0
  32. .starters/i18n/content/en/1.getting-started/4.project-structure.md +158 −0
  33. .starters/i18n/content/en/1.getting-started/5.studio.md +99 −0
  34. .starters/i18n/content/en/1.getting-started/6.migration.md +42 −0
  35. .starters/i18n/content/en/1.getting-started/7.troubleshooting.md +32 −0
  36. .starters/i18n/content/en/2.essentials/.navigation.yml +1 −0
  37. .starters/i18n/content/en/2.essentials/1.markdown-syntax.md +223 −0
  38. .starters/i18n/content/en/2.essentials/2.code-blocks.md +402 −0
  39. .starters/i18n/content/en/2.essentials/3.components.md +424 −0
  40. .starters/i18n/content/en/2.essentials/4.images-embeds.md +53 −0
  41. .starters/i18n/content/en/index.md +123 −0
  42. .starters/i18n/content/fr/1.getting-started/.navigation.yml +2 −0
  43. .starters/i18n/content/fr/1.getting-started/2.introduction.md +73 −0
  44. .starters/i18n/content/fr/1.getting-started/3.installation.md +58 −0
  45. .starters/i18n/content/fr/1.getting-started/4.project-structure.md +157 −0
  46. .starters/i18n/content/fr/1.getting-started/5.studio.md +99 −0
  47. .starters/i18n/content/fr/1.getting-started/6.migration.md +41 −0
  48. .starters/i18n/content/fr/1.getting-started/7.troubleshooting.md +31 −0
  49. .starters/i18n/content/fr/2.essentials/.navigation.yml +1 −0
  50. .starters/i18n/content/fr/2.essentials/1.markdown-syntax.md +224 −0
  51. .starters/i18n/content/fr/2.essentials/2.code-blocks.md +398 −0
  52. .starters/i18n/content/fr/2.essentials/3.components.md +421 −0
  53. .starters/i18n/content/fr/2.essentials/4.images-embeds.md +52 −0
  54. .starters/i18n/content/fr/index.md +121 −0
  55. .starters/i18n/nuxt.config.ts +14 −0
  56. .starters/i18n/package.json +12 −0
  57. .starters/i18n/public/favicon.ico +0 −0
  58. .starters/i18n/public/mountains.webp +0 −0
  59. .starters/i18n/tsconfig.json +9 −0
  60. LICENSE +22 −0
  61. README.md +120 −0
  62. bun.lock +4107 −0
  63. bunfig.toml +3 −0
  64. cli/README.md +5 −0
  65. cli/cli.ts +42 −0
  66. cli/main.ts +12 −0
  67. cli/package.json +38 −0
  68. cli/tsconfig.json +13 −0
  69. cli/types.ts +7 −0
  70. docs/app/app.config.ts +66 −0
  71. docs/app/app.css +3 −0
  72. docs/app/components/AppHeaderCTA.vue +11 −0
  73. docs/app/components/AppHeaderLogo.vue +93 −0
  74. docs/app/components/content/AssistantDemo.vue +183 −0
  75. docs/app/components/content/BrowserFrame.vue +21 −0
  76. docs/app/components/content/ColorModeSwitch.vue +33 −0
  77. docs/app/components/content/CommandSearch.vue +14 −0
  78. docs/app/components/content/FloatingNuxt.vue +18 −0
  79. docs/app/components/content/NuxtImage.vue +87 −0
  80. docs/app/plugins/vercel.client.ts +32 −0
  81. docs/content/en/1.getting-started/.navigation.yml +2 −0
  82. docs/content/en/1.getting-started/2.introduction.md +73 −0
  83. docs/content/en/1.getting-started/3.installation.md +79 −0
  84. docs/content/en/1.getting-started/4.project-structure.md +159 −0
  85. docs/content/en/1.getting-started/5.studio.md +99 −0
  86. docs/content/en/1.getting-started/6.migration.md +42 −0
  87. docs/content/en/1.getting-started/7.troubleshooting.md +33 −0
  88. docs/content/en/2.concepts/.navigation.yml +2 −0
  89. docs/content/en/2.concepts/2.edition.md +197 −0
  90. docs/content/en/2.concepts/3.configuration.md +353 −0
  91. docs/content/en/2.concepts/4.theme.md +136 −0
  92. docs/content/en/2.concepts/5.customization.md +278 −0
  93. docs/content/en/2.concepts/6.internationalization.md +125 −0
  94. docs/content/en/2.concepts/8.nuxt.md +135 −0
  95. docs/content/en/3.essentials/.navigation.yml +2 −0
  96. docs/content/en/3.essentials/1.markdown-syntax.md +223 −0
  97. docs/content/en/3.essentials/2.code-blocks.md +402 −0
  98. docs/content/en/3.essentials/3.components.md +421 −0
  99. docs/content/en/3.essentials/4.images-embeds.md +52 −0
  100. docs/content/en/4.ai/.navigation.yml +2 −0
  101. docs/content/en/4.ai/1.assistant.md +383 −0
  102. docs/content/en/4.ai/2.mcp.md +273 −0
  103. docs/content/en/4.ai/3.skills.md +203 −0
  104. docs/content/en/4.ai/4.llms.md +125 −0
  105. docs/content/en/index.md +364 −0
  106. docs/content/fr/1.getting-started/.navigation.yml +2 −0
  107. docs/content/fr/1.getting-started/2.introduction.md +73 −0
  108. docs/content/fr/1.getting-started/3.installation.md +78 −0
  109. docs/content/fr/1.getting-started/4.project-structure.md +158 −0
  110. docs/content/fr/1.getting-started/5.studio.md +99 −0
  111. docs/content/fr/1.getting-started/6.migration.md +41 −0
  112. docs/content/fr/1.getting-started/7.troubleshooting.md +31 −0
  113. docs/content/fr/2.concepts/.navigation.yml +2 −0
  114. docs/content/fr/2.concepts/2.edition.md +191 −0
  115. docs/content/fr/2.concepts/3.configuration.md +364 −0
  116. docs/content/fr/2.concepts/4.theme.md +136 −0
  117. docs/content/fr/2.concepts/5.customization.md +246 −0
  118. docs/content/fr/2.concepts/6.internationalization.md +96 −0
  119. docs/content/fr/2.concepts/8.nuxt.md +135 −0
  120. docs/content/fr/3.essentials/.navigation.yml +2 −0
  121. docs/content/fr/3.essentials/1.markdown-syntax.md +224 −0
  122. docs/content/fr/3.essentials/2.code-blocks.md +398 −0
  123. docs/content/fr/3.essentials/3.components.md +421 −0
  124. docs/content/fr/3.essentials/4.images-embeds.md +52 −0
  125. docs/content/fr/4.ai/.navigation.yml +2 −0
  126. docs/content/fr/4.ai/1.assistant.md +383 −0
  127. docs/content/fr/4.ai/2.mcp.md +273 −0
  128. docs/content/fr/4.ai/3.skills.md +203 −0
  129. docs/content/fr/4.ai/4.llms.md +125 −0
  130. docs/content/fr/index.md +363 −0
  131. docs/nuxt.config.ts +50 −0
  132. docs/package.json +23 −0
  133. docs/public/documentation/app-footer-left.webp +0 −0
  134. docs/public/documentation/app-footer-right.webp +0 −0
  135. docs/public/documentation/app-header-body.webp +0 −0
  136. docs/public/documentation/app-header-center.webp +0 −0
  137. docs/public/documentation/app-header-cta.webp +0 −0
  138. docs/public/documentation/app-header-logo.webp +0 −0
  139. docs/public/documentation/app-page-header-links.webp +0 −0
  140. docs/public/documentation/docs-aside-left-body.webp +0 −0
  141. docs/public/documentation/docs-aside-left-top.webp +0 −0
  142. docs/public/documentation/docs-aside-right-bottom.webp +0 −0
  143. docs/public/documentation/docs-aside-right.png +0 −0
  144. docs/public/documentation/frontmatter-preview-title-description.png +0 −0
  145. docs/public/documentation/markdown-editor-studio.png +0 −0
  146. docs/public/documentation/mountains.webp +0 −0
  147. docs/public/documentation/nuxt-studio-module-alpha.png +0 −0
  148. docs/public/documentation/og-image-example.png +0 −0
  149. docs/public/documentation/preview-studio.png +0 −0
  150. docs/public/documentation/sub-navigation.png +0 −0
  151. docs/public/documentation/visual-editor-studio.png +0 −0
  152. docs/public/favicon.ico +0 −0
  153. docs/public/favicon.svg +3 −0
  154. docs/public/icon.png +0 −0
  155. docs/public/landing/dark/command-menu.png +0 −0
  156. docs/public/landing/dark/i18n.svg +126 −0
  157. docs/public/landing/dark/mcp.svg +113 −0
  158. docs/public/landing/dark/nuxt-image.svg +20 −0
  159. docs/public/landing/dark/templates-ui-pro.webp +0 −0
  160. docs/public/landing/light/command-menu.png +0 −0
  161. docs/public/landing/light/i18n.svg +126 −0
  162. docs/public/landing/light/mcp.svg +115 −0
  163. docs/public/landing/light/nuxt-image.svg +20 −0
  164. docs/public/landing/light/templates-ui-pro.webp +0 −0
  165. docs/public/landing/nuxt-logo-3D.svg +29 −0
  166. docs/public/logo/logo-dark.svg +3 −0
  167. docs/public/logo/logo-light.svg +3 −0
  168. docs/public/logo/wordmark-dark.svg +8 −0
  169. docs/public/logo/wordmark-light.svg +8 −0
  170. docs/public/mountains.webp +0 −0
  171. docs/skills/create-docs/SKILL.md +499 −0
  172. docs/skills/create-docs/references/mdc-components.md +222 −0
  173. docs/skills/create-docs/references/templates.md +362 −0
  174. docs/skills/create-docs/references/writing-guide.md +111 −0
  175. docs/skills/review-docs/SKILL.md +480 −0
  176. docs/skills/review-docs/assets/report-template.md +214 −0
  177. docs/skills/review-docs/references/clarity-checks.md +201 −0
  178. docs/skills/review-docs/references/i18n-checks.md +264 −0
  179. docs/skills/review-docs/references/seo-checks.md +219 −0
  180. docs/skills/review-docs/references/structure-checks.md +317 −0
  181. docs/skills/review-docs/references/technical-checks.md +538 −0
  182. docs/tsconfig.json +17 −0
  183. eslint.config.mjs +24 −0
  184. layer/README.md +5 −0
  185. layer/app/app.config.ts +41 −0
  186. layer/app/app.vue +104 −0
  187. layer/app/assets/icons/LICENSE +14 −0
  188. layer/app/assets/icons/ai.svg +1 −0
  189. layer/app/components/IconMenuToggle.vue +83 −0
  190. layer/app/components/LanguageSelect.vue +81 −0
  191. layer/app/components/OgImage/Docs.takumi.vue +43 −0
  192. layer/app/components/OgImage/Landing.takumi.vue +67 −0
  193. layer/app/components/app/AppFooter.vue +11 −0
  194. layer/app/components/app/AppFooterLeft.vue +5 −0
  195. layer/app/components/app/AppFooterRight.vue +51 −0
  196. layer/app/components/app/AppHeader.vue +96 −0
  197. layer/app/components/app/AppHeaderBody.vue +30 −0
  198. layer/app/components/app/AppHeaderBottom.vue +24 −0
  199. layer/app/components/app/AppHeaderBottomRight.vue +3 −0
  200. layer/app/components/app/AppHeaderCTA.vue +3 −0
  201. layer/app/components/app/AppHeaderCenter.vue +10 −0
  202. layer/app/components/app/AppHeaderLeft.vue +16 −0
  203. layer/app/components/app/AppHeaderLogo.vue +21 −0
  204. layer/app/components/app/AppSearch.vue +54 −0
  205. layer/app/components/app/AppSidebar.vue +316 −0
  206. layer/app/components/app/AppSidebarFolder.vue +42 −0
  207. layer/app/components/app/AppSidebarTree.vue +39 −0
  208. layer/app/components/docs/DocsAsideLeftBody.vue +16 −0
  209. layer/app/components/docs/DocsAsideLeftTop.vue +20 −0
  210. layer/app/components/docs/DocsAsideMobileBar.vue +98 −0
  211. layer/app/components/docs/DocsAsideRight.vue +37 −0
  212. layer/app/components/docs/DocsAsideRightBottom.vue +45 −0
  213. layer/app/components/docs/DocsPageHeaderLinks.vue +101 −0
  214. layer/app/composables/useDocusColorMode.ts +7 −0
  215. layer/app/composables/useDocusI18n.ts +51 −0
  216. layer/app/composables/useDocusShortcuts.ts +24 −0
  217. layer/app/composables/useLogoAssets.ts +246 −0
  218. layer/app/composables/useSeo.ts +207 −0
  219. layer/app/composables/useSubNavigation.ts +55 −0
  220. layer/app/composables/useUIConfig.ts +30 −0
  221. layer/app/error.vue +70 −0
  222. layer/app/layouts/default.vue +5 −0
  223. layer/app/layouts/docs.vue +7 −0
  224. layer/app/middleware/colorMode.global.ts +8 −0
  225. layer/app/pages/[[lang]]/[...slug].vue +146 −0
  226. layer/app/plugins/i18n.ts +57 −0
  227. layer/app/templates/landing.vue +38 −0
  228. layer/app/types/index.d.ts +121 −0
  229. layer/app/utils/assistantTools.ts +88 −0
  230. layer/app/utils/navigation.ts +57 −0
  231. layer/app/utils/ogImage.ts +23 −0
  232. layer/app/utils/prerender.ts +12 −0
  233. layer/content.config.ts +79 −0
  234. layer/i18n/locales/ar.json +77 −0
  235. layer/i18n/locales/be.json +77 −0
  236. layer/i18n/locales/bg.json +77 −0
  237. layer/i18n/locales/bn.json +77 −0
  238. layer/i18n/locales/ca.json +77 −0
  239. layer/i18n/locales/ckb.json +77 −0
  240. layer/i18n/locales/cs.json +77 −0
  241. layer/i18n/locales/da.json +77 −0
  242. layer/i18n/locales/de.json +77 −0
  243. layer/i18n/locales/el.json +77 −0
  244. layer/i18n/locales/en.json +77 −0
  245. layer/i18n/locales/es.json +77 −0
  246. layer/i18n/locales/et.json +77 −0
  247. layer/i18n/locales/fi.json +77 −0
  248. layer/i18n/locales/fr.json +77 −0
  249. layer/i18n/locales/he.json +77 −0
  250. layer/i18n/locales/hi.json +77 −0
  251. layer/i18n/locales/hy.json +77 −0
  252. layer/i18n/locales/id.json +80 −0
  253. layer/i18n/locales/it.json +77 −0
  254. layer/i18n/locales/ja.json +77 −0
  255. layer/i18n/locales/kk.json +77 −0
  256. layer/i18n/locales/km.json +77 −0
  257. layer/i18n/locales/ko.json +77 −0
  258. layer/i18n/locales/ky.json +77 −0
  259. layer/i18n/locales/lb.json +77 −0
  260. layer/i18n/locales/ms.json +77 −0
  261. layer/i18n/locales/nb.json +77 −0
  262. layer/i18n/locales/nl.json +77 −0
  263. layer/i18n/locales/pl.json +77 −0
  264. layer/i18n/locales/pt-BR.json +77 −0
  265. layer/i18n/locales/ro.json +77 −0
  266. layer/i18n/locales/ru.json +77 −0
  267. layer/i18n/locales/si.json +77 −0
  268. layer/i18n/locales/sl.json +77 −0
  269. layer/i18n/locales/sv.json +77 −0
  270. layer/i18n/locales/tr.json +77 −0
  271. layer/i18n/locales/uk.json +77 −0
  272. layer/i18n/locales/ur.json +77 −0
  273. layer/i18n/locales/vi.json +77 −0
  274. layer/i18n/locales/zh-CN.json +77 −0
  275. layer/index.d.ts +33 −0
  276. layer/modules/assistant/README.md +222 −0
  277. layer/modules/assistant/index.ts +115 −0
  278. layer/modules/assistant/runtime/components/AssistantChat.vue +24 −0
  279. layer/modules/assistant/runtime/components/AssistantChatDisabled.vue +3 −0
  280. layer/modules/assistant/runtime/components/AssistantComark.ts +10 −0
  281. layer/modules/assistant/runtime/components/AssistantFloatingInput.vue +120 −0
  282. layer/modules/assistant/runtime/components/AssistantIndicator.vue +125 −0
  283. layer/modules/assistant/runtime/components/AssistantPanel.vue +325 −0
  284. layer/modules/assistant/runtime/components/AssistantPreStream.vue +46 −0
  285. layer/modules/assistant/runtime/composables/useAssistant.ts +107 −0
  286. layer/modules/assistant/runtime/composables/useHighlighter.ts +34 −0
  287. layer/modules/assistant/runtime/server/api/search.ts +131 −0
  288. layer/modules/assistant/runtime/types.ts +7 −0
  289. layer/modules/config.ts +146 −0
  290. layer/modules/css.ts +79 −0
  291. layer/modules/markdown-rewrite.ts +144 −0
  292. layer/modules/routing.ts +48 −0
  293. layer/modules/skills/index.ts +160 −0
  294. layer/modules/skills/runtime/server/routes/skills-files.ts +49 −0
  295. layer/modules/skills/runtime/server/routes/skills-index.ts +8 −0
  296. layer/nuxt.config.ts +136 −0
  297. layer/nuxt.schema.ts +394 −0
  298. layer/package.json +68 −0
  299. layer/server/mcp/tools/get-page.ts +78 −0
  300. layer/server/mcp/tools/list-pages.ts +75 −0
  301. layer/server/routes/sitemap.xml.ts +96 −0
  302. layer/server/utils/content.ts +41 −0
  303. layer/shared/types/docus.d.ts +15 −0
  304. layer/tsconfig.json +17 −0
  305. layer/utils/git.ts +110 −0
  306. layer/utils/meta.ts +35 −0
  307. layer/utils/pages.ts +22 −0
  308. package.json +57 −0
  309. playground/app/pages/index.vue +13 −0
  310. playground/content/docs/1.getting-started/.navigation.yml +2 −0
  311. playground/content/docs/1.getting-started/2.introduction.md +73 −0
  312. playground/content/docs/1.getting-started/3.installation.md +58 −0
  313. playground/content/docs/1.getting-started/4.project-structure.md +154 −0
  314. playground/content/docs/1.getting-started/5.studio.md +99 −0
  315. playground/content/docs/1.getting-started/6.migration.md +42 −0
  316. playground/content/docs/1.getting-started/7.troubleshooting.md +32 −0
  317. playground/content/docs/2.essentials/.navigation.yml +1 −0
  318. playground/content/docs/2.essentials/1.markdown-syntax.md +223 −0
  319. playground/content/docs/2.essentials/2.code-blocks.md +402 −0
  320. playground/content/docs/2.essentials/3.components.md +424 −0
  321. playground/content/docs/2.essentials/4.images-embeds.md +53 −0
  322. playground/nuxt.config.ts +4 −0
  323. playground/package.json +12 −0
  324. playground/public/favicon.ico +0 −0
  325. playground/public/mountains.webp +0 −0
  326. playground/skills/docus-playground/SKILL.md +21 −0
  327. playground/skills/docus-playground/references/example.md +3 −0
  328. playground/tsconfig.json +17 −0
.github/workflows/ci.yml+57−0
@@ -0,0 +1,57 @@
1+name: ci
2+
3+on:
4+ push:
5+ branches:
6+ - main
7+ pull_request:
8+ branches:
9+ - main
10+
11+jobs:
12+ build:
13+ runs-on: ${{ matrix.os }}
14+
15+ permissions:
16+ contents: read
17+ pull-requests: read
18+
19+ strategy:
20+ matrix:
21+ os: [ubuntu-latest]
22+ node: [22]
23+
24+ env:
25+ NUXT_GITHUB_TOKEN: ${{ secrets.NUXT_GITHUB_TOKEN }}
26+
27+ steps:
28+ - name: Checkout
29+ uses: actions/checkout@v5
30+
31+ - name: Install pnpm
32+ uses: pnpm/action-setup@v4
33+
34+ - name: Install node
35+ uses: actions/setup-node@v5
36+ with:
37+ node-version: ${{ matrix.node }}
38+ cache: pnpm
39+
40+ - name: Install dependencies
41+ run: pnpm install
42+
43+ - name: Prepare
44+ run: pnpm run dev:prepare
45+
46+ - name: Lint
47+ run: pnpm run lint
48+
49+ - name: Typecheck
50+ run: pnpm run typecheck
51+
52+ - name: Build CLI
53+ run: pnpm run build
54+ working-directory: ./cli
55+
56+ - name: Publish CLI and Layer
57+ run: npx pkg-pr-new publish --compact './cli' './layer'
.gitignore+48−0
@@ -0,0 +1,48 @@
1+# Nuxt dev/build outputs
2+.output
3+.data
4+.nuxt
5+.nitro
6+.cache
7+dist
8+
9+# Build outputs
10+.vercel
11+
12+# Node dependencies
13+node_modules
14+
15+# Logs
16+logs
17+*.log
18+
19+# Misc
20+.DS_Store
21+.fleet
22+.idea
23+.eslintcache
24+
25+# Local env files
26+.env
27+.env.*
28+!.env.example
29+
30+# Template
31+template/pnpm-lock.yaml
32+
33+# npm pack
34+*.tgz
35+
36+# Temp files
37+.tmp
38+.profile
39+*.0x
40+
41+#VSC
42+.history
43+
44+# Starters
45+.starters/default/pnpm-lock.yaml
46+.starters/default/pnpm-workspace.yaml
47+.starters/i18n/pnpm-lock.yaml
48+.starters/i18n/pnpm-workspace.yaml
.nuxtrc+2−0
@@ -0,0 +1,2 @@
1+# Enable i18n types in layer folder
2+modules[]=@nuxtjs/i18n
.release-it.cli.json+16−0
@@ -0,0 +1,16 @@
1+{
2+ "git": false,
3+ "hooks": {
4+ "after:bump": "cd cli && pnpm build"
5+ },
6+ "npm": {
7+ "publish": false,
8+ "allowSameVersion": true
9+ },
10+ "plugins": {
11+ "@release-it/bumper": {
12+ "in": "./cli/package.json",
13+ "out": "./cli/package.json"
14+ }
15+ }
16+}
.release-it.json+27−0
@@ -0,0 +1,27 @@
1+{
2+ "git": {
3+ "requireCleanWorkingDir": false,
4+ "commitMessage": "chore(version): release v${version}",
5+ "tagName": "v${version}"
6+ },
7+ "github": {
8+ "release": true,
9+ "releaseName": "v${version}",
10+ "web": true
11+ },
12+ "npm": {
13+ "publish": false,
14+ "allowSameVersion": true,
15+ "ignoreVersion": true
16+ },
17+ "plugins": {
18+ "@release-it/conventional-changelog": {
19+ "preset": {
20+ "name": "conventionalcommits"
21+ },
22+ "infile": "CHANGELOG.md",
23+ "header": "# Changelog",
24+ "ignoreRecommendedBump": true
25+ }
26+ }
27+}
.release-it.layer.json+16−0
@@ -0,0 +1,16 @@
1+{
2+ "git": false,
3+ "github": false,
4+ "hooks": {
5+ "before:init": ["pnpm lint", "pnpm typecheck"]
6+ },
7+ "npm": {
8+ "publish": false
9+ },
10+ "plugins": {
11+ "@release-it/bumper": {
12+ "in": "./layer/package.json",
13+ "out": "./layer/package.json"
14+ }
15+ }
16+}
.starters/default/.gitignore+37−0
@@ -0,0 +1,37 @@
1+# Nuxt dev/build outputs
2+.output
3+.data
4+.nuxt
5+.nitro
6+.cache
7+dist
8+
9+# Node dependencies
10+node_modules
11+
12+# Logs
13+logs
14+*.log
15+
16+# Misc
17+.DS_Store
18+.fleet
19+.idea
20+.eslintcache
21+
22+# Local env files
23+.env
24+.env.*
25+!.env.example
26+
27+# npm pack
28+*.tgz
29+
30+# Temp files
31+.tmp
32+.profile
33+*.0x
34+
35+#VSC
36+.history
37+.wrangler
.starters/default/README.md+82−0
@@ -0,0 +1,82 @@
1+# Docus Default Starter
2+
3+> A beautiful, minimal starter for creating documentation with Docus
4+
5+This is the default Docus starter template that provides everything you need to build beautiful documentation sites with Markdown and Vue components.
6+
7+> [!TIP]
8+> If you're looking for i18n support, check out the [i18n starter](https://github.com/nuxt-themes/docus/tree/main/.starters/i18n).
9+
10+## ✨ Features
11+
12+- 🎨 **Beautiful Design** - Clean, modern documentation theme
13+- 📱 **Responsive** - Mobile-first responsive design
14+- 🌙 **Dark Mode** - Built-in dark/light mode support
15+- 🔍 **Search** - Full-text search functionality
16+- 📝 **Markdown Enhanced** - Extended markdown with custom components
17+- 🎨 **Customizable** - Easy theming and brand customization
18+- ⚡ **Fast** - Optimized for performance with Nuxt 4
19+- 🔧 **TypeScript** - Full TypeScript support
20+
21+## 🚀 Quick Start
22+
23+```bash
24+# Install dependencies
25+npm install
26+
27+# Start development server
28+npm run dev
29+```
30+
31+Your documentation site will be running at `http://localhost:3000`
32+
33+## 📁 Project Structure
34+
35+```
36+my-docs/
37+├── content/ # Your markdown content
38+│ ├── index.md # Homepage
39+│ ├── 1.getting-started/ # Getting started section
40+│ └── 2.essentials/ # Essential documentation
41+├── public/ # Static assets
42+└── package.json # Dependencies and scripts
43+```
44+
45+## ⚡ Built with
46+
47+This starter comes pre-configured with:
48+
49+- [Nuxt 4](https://nuxt.com) - The web framework
50+- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
51+- [Nuxt UI](https://ui.nuxt.com) - UI components
52+- [Nuxt Image](https://image.nuxt.com/) - Optimized images
53+- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
54+- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme
55+
56+## 📖 Documentation
57+
58+For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)
59+
60+### 🤖 AI Assistant Skill
61+
62+Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
63+
64+```bash
65+npx skills add nuxt-content/docus
66+```
67+
68+This skill helps you create documentation faster by providing your AI assistant with best practices, MDC component usage, ready-to-use templates, writing guidelines, and configuration tips for Docus. Perfect for quickly scaffolding new documentation projects.
69+
70+## 🚀 Deployment
71+
72+Build for production:
73+
74+```bash
75+npm run build
76+```
77+
78+The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.
79+
80+## 📄 License
81+
82+[MIT License](https://opensource.org/licenses/MIT)
.starters/default/content/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Getting Started
2+icon: false
.starters/default/content/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1+---
2+title: Introduction
3+description: Welcome to Docus theme documentation.
4+navigation:
5+ icon: i-lucide-house
6+seo:
7+ title: Introduction
8+ description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9+---
10+
11+Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12+
13+## What is Docus?
14+
15+Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16+
17+We use this theme across all our Nuxt module documentations, including:
18+
19+::card-group
20+ :::card
21+ ---
22+ icon: i-lucide-image
23+ target: _blank
24+ title: Nuxt Image
25+ to: https://image.nuxt.com
26+ ---
27+ The documentation of `@nuxt/image`
28+ :::
29+
30+ :::card
31+ ---
32+ icon: i-simple-icons-nuxtdotjs
33+ target: _blank
34+ title: Nuxt Content
35+ to: https://content.nuxt.com
36+ ---
37+ The documentation of `@nuxt/content`
38+ :::
39+
40+ :::card
41+ ---
42+ icon: i-simple-icons-supabase
43+ target: _blank
44+ title: Nuxt Supabase
45+ to: https://supabase.nuxtjs.org
46+ ---
47+ The documentation of `@nuxt/supabase`
48+ :::
49+
50+ :::card
51+ ---
52+ icon: i-simple-icons-strapi
53+ target: _blank
54+ title: Nuxt Strapi
55+ to: https://strapi.nuxtjs.org
56+ ---
57+ The documentation of `@nuxt/strapi`
58+ :::
59+::
60+
61+## Key Features
62+
63+This theme includes a range of features designed to improve documentation management:
64+
65+- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66+- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67+- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68+- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69+- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70+- **Full-Text Search**: Includes built-in search functionality for content discovery.
71+- **Optimized Typography**: Features refined typography for enhanced readability.
72+- **Dark Mode**: Offers dark mode support for user preference.
73+- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
.starters/default/content/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1+---
2+title: Installation
3+description: Get started with Docus.
4+navigation:
5+ icon: i-lucide-download
6+seo:
7+ description: Get started with Docus documentation theme.
8+ title: Installation
9+---
10+
11+## `create-docus` CLI
12+
13+::steps
14+### Create your docs directory
15+
16+Use the `create-docus` CLI to create a new Docus project:
17+
18+```bash [Terminal]
19+npx create-docus my-docs
20+```
21+
22+You can choose between two templates:
23+
24+- `default`: Basic Docus setup for single-language documentation
25+- `i18n`: Includes internationalization support for multi-language documentation
26+
27+```bash [Terminal]
28+# Create with i18n template
29+npx create-docus my-docs -t i18n
30+```
31+
32+We recommend using the `npm` package manager.
33+
34+### Start your docs server in development
35+
36+Move to your docs directory and start your docs server in development mode:
37+
38+```bash [Terminal]
39+cd my-docs
40+npm run dev
41+```
42+
43+A local preview of your documentation will be available at <http://localhost:3000>
44+
45+### Write your documentation
46+
47+Head over the [Markdown Syntax](/essentials/markdown-syntax) section to learn how to write your documentation.
48+::
49+
50+## Layer Integration
51+
52+Docus v4 uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
53+
54+```ts [nuxt.config.ts]
55+export default defineNuxtConfig({
56+ extends: ['docus']
57+})
58+```
.starters/default/content/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1+---
2+title: Project Structure
3+description: Learn about the project structure of Docus v4.
4+navigation:
5+ icon: i-lucide-folder-tree
6+---
7+
8+## Global structure
9+
10+Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11+
12+When you create a new Docus project with `npx create-docus my-docs`, you get:
13+
14+```bash
15+my-docs/
16+├── content/ # Your markdown content
17+│ ├── index.md # Homepage
18+│ └── docs/ # Documentation pages
19+├── public/ # Static assets
20+└── package.json # Dependencies and scripts
21+```
22+
23+You can still use any feature or file of a classical Nuxt project:
24+
25+```bash
26+my-docs/
27+├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28+├── app/ # App directory
29+ ├── app.config.ts # App configuration
30+│ ├── components/ # Components (add your own components)
31+│ ├── layouts/ # Layouts (add your own layouts)
32+│ └── pages/ # Pages (add your own pages)
33+└── server/ # Server-side code (add your own server-side code)
34+```
35+
36+### `content/` directory
37+
38+This is where you write pages in Markdown. Docus automatically generates routes based on your file structure.
39+
40+**Single language structure:**
41+
42+```bash
43+content/
44+├── index.md # Landing page (/)
45+├── getting-started.md # Documentation page (/getting-started)
46+└── guide/
47+ ├── introduction.md # Documentation page (/guide/introduction)
48+ └── configuration.md # Documentation page (/guide/configuration)
49+```
50+
51+::tip
52+You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired. Learn more in the [edition documentation](https://docus.dev/concepts/edition).
53+::
54+
55+**Multi-language structure (with i18n):**
56+
57+```bash
58+content/
59+├── en/
60+│ ├── index.md # English landing page (/en)
61+│ └── guide/
62+│ └── introduction.md # Documentation page (/en/guide/introduction)
63+└── fr/
64+ ├── index.md # French landing page (/fr)
65+ └── guide/
66+ └── introduction.md # Documentation page (/fr/guide/introduction)
67+```
68+
69+::tip{to="https://docus.dev/concepts/internationalization"}
70+More information about i18n is available in the internationalization section.
71+::
72+
73+### `public/` directory
74+
75+Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76+
77+### `package.json`
78+
79+This file contains all the dependencies and scripts for your application. The `package.json` of
80+a Docus application is really minimal and looks like:
81+
82+```json [package.json]
83+{
84+ "name": "my-docs",
85+ "scripts": {
86+ "build": "nuxt build --extends docus",
87+ "dev": "nuxt dev --extends docus",
88+ },
89+ "dependencies": {
90+ "docus": "latest",
91+ "better-sqlite3": "^12.2.0",
92+ "nuxt": "^4.0.0"
93+ }
94+}
95+```
96+
97+### `nuxt.config.ts`
98+
99+*This file is not mandatory to start a Docus application.*
100+
101+You can add extra modules to your Nuxt configuration file:
102+
103+```typescript [nuxt.config.ts]
104+export default defineNuxtConfig({
105+ extends: ['@vercel/analytics/nuxt/module']
106+})
107+```
108+
109+### `app.config.ts`
110+
111+*This file is not mandatory to start a Docus application.*
112+
113+::warning
114+You need a `nuxt.config.ts` to be set if you want to override app configuration.
115+::
116+
117+This is where you can configure Docus to fit your branding, handle SEO, set your locale, and adapt links and socials. See the [configuration documentation](https://docus.dev/concepts/configuration) for details.
118+
119+```ts [app.config.ts]
120+export default defineAppConfig({
121+ docus: {
122+ locale: 'en', // Set your single-language locale
123+ },
124+ seo: {
125+ title: 'My Docs',
126+ description: 'My awesome documentation',
127+ },
128+ // ... other configurations
129+})
130+```
131+
132+## Full Nuxt Project Capabilities
133+
134+Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135+
136+::warning
137+You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138+::
139+
140+```bash
141+my-docs/
142+├── app/ # App directory (optional)
143+ ├── app.config.ts # App configuration
144+│ ├── components/ # Custom Vue components
145+│ ├── layouts/ # Custom layouts
146+│ ├── pages/ # Custom Vue pages (outside of content)
147+│ ├── composables/ # Vue composables
148+│ └── middleware/ # Route middleware
149+├── server/ # Server-side code
150+│ └── api/ # API routes
151+├── plugins/ # Nuxt plugins
152+├── middleware/ # Global middleware
153+└── modules/ # Custom Nuxt modules
154+```
155+
156+::tip{to="https://docus.dev/concepts/nuxt"}
157+This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
158+::
.starters/default/content/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1+---
2+title: Studio module
3+description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4+navigation:
5+ icon: i-lucide-mouse-pointer-2
6+ title: Studio module
7+seo:
8+ title: Nuxt Studio Web Editor
9+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10+icon:
11+ i-lucide-mouse-pointer-2 title: Web Editor
12+ seo:
13+ title: Nuxt Studio module
14+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15+---
16+
17+The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18+
19+::tip{to="https://nuxt.studio/introduction"}
20+Browse Nuxt Studio documentation to learn how ton install the module.
21+::
22+
23+:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24+
25+The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26+
27+## Visual edition in production for your Nuxt Content website
28+
29+Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30+
31+Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32+
33+## Current features
34+
35+### ✨ **TipTap Visual Editor**
36+
37+Rich Markdown editor with full MDC component support.
38+
39+### 💻 **Monaco Code Editor**
40+
41+Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42+
43+### 📝 **Form-based Editor**
44+
45+Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46+
47+### 🎨  **Vue Component Props Editor**
48+
49+Visual interface to edit Vue component props directly from the editor.
50+
51+### 🔄 **Real-time Preview**
52+
53+Instantly preview content changes on your production website.
54+
55+### 🔐 **Multi-provider Authentication**
56+
57+Secure OAuth authentication with GitHub, GitLab, and Google.
58+
59+### 🔑 **Custom Authentication**
60+
61+Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62+
63+### 📝 **File Management**
64+
65+Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66+
67+### 🖼 **Media Management**
68+
69+Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70+
71+### 🌳 **Git Integration**
72+
73+Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74+
75+### 🚀 **Development Mode**
76+
77+Edit content and media files directly from your local filesystem using the Studio interface.
78+
79+### 🌍 **Internationalization**
80+
81+Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82+
83+## **Upcoming features**
84+
85+### 📂 **Collections View**
86+
87+Manage and navigate all content collections from a unified interface.
88+
89+### 🖼 **Media Optimization**
90+
91+Optimize images and media assets directly within the editor.
92+
93+### 🤖**AI Content Assistant**
94+
95+Get smart, AI-powered suggestions to improve and speed up content creation.
96+
97+### 💡**Community-driven Features**
98+
99+Have an idea? Share your feedback and help shape the future of Nuxt Studio.
.starters/default/content/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1+---
2+title: Migration
3+description: " How to migrate your documentation from an existing Markdown
4+ solution to Docus"
5+navigation:
6+ icon: i-lucide-replace
7+---
8+
9+## **Migrating from Docus v3 to v4**
10+
11+Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12+
13+### **⚠️ Breaking Changes**
14+
15+The main breaking changes are related to CLI commands:
16+
17+| v3 | v4 |
18+| ------------------------ | ---------------------------- |
19+| `npx docus init my-docs` | `npx create-docus my-docs` |
20+| `docus dev` | `nuxt dev --extends docus` |
21+| `docus build` | `nuxt build --extends docus` |
22+
23+::tip
24+Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25+::
26+
27+## **Migrating to Docus**
28+
29+Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30+
31+Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32+
33+To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34+
35+From there, you have two scenarios:
36+
37+- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38+- **If you're using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the built-in components provided by Nuxt UI.
39+
40+Once your content has been moved to the `content/` folder, you can customize your app by following the [configuration documentation](https://docus.dev/concepts/configuration).
41+
42+Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
.starters/default/content/1.getting-started/7.troubleshooting.md+32−0
@@ -0,0 +1,32 @@
1+---
2+title: Troubleshooting
3+description: Common issues and their solutions when working with Docus.
4+navigation:
5+ icon: i-lucide-wrench
6+seo:
7+ description: Troubleshooting guide for common Docus issues and their solutions.
8+---
9+
10+## `pnpm` issues
11+
12+### Approve build scripts
13+
14+If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
15+
16+Run the following command to approve packages for building:
17+
18+```bash [Terminal]
19+pnpm approve-builds
20+```
21+
22+When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
23+
24+### Enable shameful hoisting (compatibility mode)
25+
26+If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
27+
28+You can enable compatibility mode by creating a `.npmrc` file with:
29+
30+```bash [.npmrc]
31+shamefully-hoist=true
32+```
.starters/default/content/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1+title: Essentials
.starters/default/content/2.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1+---
2+title: Markdown Syntax
3+description: Text, title, and styling in standard markdown.
4+navigation:
5+ icon: i-lucide-heading-1
6+---
7+
8+## Titles
9+
10+Use titles to introduce main sections. They structure your documentation and help users navigate content.
11+
12+::code-preview
13+---
14+class: "[&>div]:*:my-0"
15+---
16+## Titles
17+
18+#code
19+```mdc
20+## Titles
21+```
22+::
23+
24+### Subtitles
25+
26+Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27+
28+::code-preview
29+---
30+class: "[&>div]:*:my-0"
31+---
32+### Subtitles
33+
34+#code
35+```mdc
36+### Subtitles
37+```
38+::
39+
40+::tip
41+Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42+::
43+
44+## Text Formatting
45+
46+Docus supports most Markdown formatting options.
47+
48+| Style | How to use | Result |
49+| ------ | ------------ | ---------- |
50+| Bold | `**bold**` | **Bold** |
51+| Italic | `*italic*` | *Italic* |
52+| Strike | `~~strike~~` | ~~Strike~~ |
53+
54+Combine formatting for richer text styles and visual emphasis.
55+
56+| Style | How to use | Result |
57+| ------------- | ------------------- | ----------------- |
58+| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59+| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60+| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61+
62+## Links
63+
64+Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65+To create a link, wrap the link text in brackets `[]()`.
66+
67+::code-preview
68+---
69+class: "[&>div]:*:my-0"
70+---
71+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72+
73+#code
74+```mdc
75+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76+```
77+::
78+
79+### Internal links
80+
81+For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82+
83+::code-preview
84+---
85+class: "[&>div]:*:my-0"
86+---
87+[Installation](/getting-started/installation)
88+
89+#code
90+```mdc
91+[Installation](/getting-started/installation)
92+```
93+::
94+
95+## Lists
96+
97+Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98+
99+### Unordered
100+
101+Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102+
103+::code-preview
104+---
105+class: "[&>div]:*:my-0"
106+---
107+- I'm a list item.
108+- I'm another list item.
109+- I'm the last list item.
110+
111+#code
112+```mdc
113+- I'm a list item.
114+- I'm another list item.
115+- I'm the last list item.
116+```
117+::
118+
119+### Ordered
120+
121+Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122+
123+::code-preview
124+---
125+class: "[&>div]:*:my-0"
126+---
127+1. I'm a list item.
128+2. I'm another list item.
129+3. I'm the last list item.
130+
131+#code
132+```mdc
133+1. I'm a list item.
134+2. I'm another list item.
135+3. I'm the last list item.
136+```
137+::
138+
139+### Nested
140+
141+Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142+
143+::code-preview
144+---
145+class: "[&>div]:*:my-0"
146+---
147+- I'm a list item.
148+ - I'm a nested list item.
149+ - I'm another nested list item.
150+- I'm another list item.
151+
152+#code
153+```mdc
154+- I'm a list item.
155+ - I'm a nested list item.
156+ - I'm another nested list item.
157+- I'm another list item.
158+```
159+::
160+
161+## Tables
162+
163+Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164+
165+::code-preview
166+---
167+class: "[&>div]:*:my-0 [&>div]:*:w-full"
168+---
169+| Prop | Default | Type |
170+| ------- | --------- | -------- |
171+| `name` | | `string` |
172+| `size` | `md` | `string` |
173+| `color` | `neutral` | `string` |
174+
175+#code
176+```mdc
177+| Prop | Default | Type |
178+|---------|-----------|--------------------------|
179+| `name` | | `string`{lang="ts-type"} |
180+| `size` | `md` | `string`{lang="ts-type"} |
181+| `color` | `neutral` | `string`{lang="ts-type"} |
182+```
183+::
184+
185+## Blockquotes
186+
187+Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188+
189+### Singleline
190+
191+Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192+
193+::code-preview
194+---
195+class: "[&>div]:*:my-0"
196+---
197+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198+
199+#code
200+```mdc
201+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202+```
203+::
204+
205+### Multiline
206+
207+Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208+
209+::code-preview
210+---
211+class: "[&>div]:*:my-0"
212+---
213+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214+>
215+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216+
217+#code
218+```mdc
219+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220+>
221+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222+```
223+::
.starters/default/content/2.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1+---
2+title: Code Blocks
3+description: Display inline code and code blocks in your documentation.
4+navigation:
5+ icon: i-lucide-code-xml
6+---
7+
8+## Basic
9+
10+### Inline Code
11+
12+Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
13+
14+::code-preview
15+---
16+class: "[&>div]:*:my-0"
17+---
18+`inline code`
19+
20+#code
21+```mdc
22+`inline code`
23+```
24+::
25+
26+### Code Blocks
27+
28+Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
29+
30+::code-preview
31+---
32+class: "[&>div]:*:my-0 [&>div]:*:w-full"
33+---
34+```ts
35+export default defineNuxtConfig({
36+ modules: ['@nuxt/ui']
37+})
38+```
39+
40+#code
41+````mdc
42+```ts
43+export default defineNuxtConfig({
44+ modules: ['@nuxt/ui']
45+})
46+```
47+````
48+::
49+
50+When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
51+Filenames help users understand the code's location and purpose within a project.
52+
53+::code-preview
54+---
55+class: "[&>div]:*:my-0 [&>div]:*:w-full"
56+---
57+```ts [nuxt.config.ts]
58+export default defineNuxtConfig({
59+ modules: ['@nuxt/ui']
60+})
61+```
62+
63+#code
64+````mdc
65+```ts [nuxt.config.ts]
66+export default defineNuxtConfig({
67+ modules: ['@nuxt/ui']
68+})
69+```
70+````
71+::
72+
73+Every code-block has a built-in copy button that will copy the code to your clipboard.
74+
75+::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
76+Icons are already defined by default, but you can customize them in your `app.config.ts`:
77+
78+```ts [app.config.ts]
79+export default defineAppConfig({
80+ ui: {
81+ prose: {
82+ codeIcon: {
83+ terminal: 'i-ph-terminal-window-duotone'
84+ }
85+ }
86+ }
87+})
88+```
89+::
90+
91+## Advanced
92+
93+### CodeGroup
94+
95+Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
96+
97+::code-preview
98+---
99+class: "[&>div]:*:my-0 [&>div]:*:w-full"
100+---
101+ :::code-group{.w-full}
102+ ```bash [pnpm]
103+ pnpm add @nuxt/ui
104+ ```
105+
106+ ```bash [yarn]
107+ yarn add @nuxt/ui
108+ ```
109+
110+ ```bash [npm]
111+ npm install @nuxt/ui
112+ ```
113+
114+ ```bash [bun]
115+ bun add @nuxt/ui
116+ ```
117+ :::
118+
119+#code
120+````mdc
121+::code-group
122+
123+```bash [pnpm]
124+pnpm add @nuxt/ui
125+```
126+
127+```bash [yarn]
128+yarn add @nuxt/ui
129+```
130+
131+```bash [npm]
132+npm install @nuxt/ui
133+```
134+
135+```bash [bun]
136+bun add @nuxt/ui
137+```
138+
139+::
140+````
141+::
142+
143+### CodeTree
144+
145+Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
146+
147+::code-preview
148+---
149+class: "[&>div]:*:my-0 [&>div]:*:w-full"
150+---
151+ :::code-tree{default-value="app/app.config.ts"}
152+ ```ts [nuxt.config.ts]
153+ export default defineNuxtConfig({
154+ modules: ['@nuxt/ui'],
155+
156+ future: {
157+ compatibilityVersion: 4
158+ },
159+
160+ css: ['~/assets/css/main.css']
161+ })
162+
163+ ```
164+
165+ ```css [app/assets/css/main.css]
166+ @import "tailwindcss";
167+ @import "@nuxt/ui";
168+ ```
169+
170+ ```ts [app/app.config.ts]
171+ export default defineAppConfig({
172+ ui: {
173+ colors: {
174+ primary: 'sky',
175+ colors: 'slate'
176+ }
177+ }
178+ })
179+ ```
180+
181+ ```vue [app/app.vue]
182+ <template>
183+ <UApp>
184+ <NuxtPage />
185+ </UApp>
186+ </template>
187+ ```
188+
189+ ```json [package.json]
190+ {
191+ "name": "nuxt-app",
192+ "private": true,
193+ "type": "module",
194+ "scripts": {
195+ "build": "nuxt build",
196+ "dev": "nuxt dev",
197+ "generate": "nuxt generate",
198+ "preview": "nuxt preview",
199+ "postinstall": "nuxt prepare",
200+ "lint": "eslint .",
201+ "lint:fix": "eslint --fix ."
202+ },
203+ "dependencies": {
204+ "@iconify-json/lucide": "^1.2.18",
205+ "@nuxt/ui": "^4.0.0",
206+ "nuxt": "^4.1.0"
207+ },
208+ "devDependencies": {
209+ "eslint": "^9.34.0",
210+ "typescript": "^5.9.3",
211+ "vue-tsc": "^3.0.6"
212+ }
213+ }
214+ ```
215+
216+ ```json [tsconfig.json]
217+ {
218+ "extends": "./.nuxt/tsconfig.json"
219+ }
220+ ```
221+
222+ ````md [README.md]
223+ # Nuxt 4 Minimal Starter
224+
225+ Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226+
227+ ## Setup
228+
229+ Make sure to install the dependencies:
230+
231+ ```bash
232+ # npm
233+ npm install
234+
235+ # pnpm
236+ pnpm install
237+
238+ # yarn
239+ yarn install
240+
241+ # bun
242+ bun install
243+ ```
244+
245+ ## Development Server
246+
247+ Start the development server on `http://localhost:3000`:
248+
249+ ```bash
250+ # npm
251+ npm run dev
252+
253+ # pnpm
254+ pnpm run dev
255+
256+ # yarn
257+ yarn dev
258+
259+ # bun
260+ bun run dev
261+ ```
262+
263+ ## Production
264+
265+ Build the application for production:
266+
267+ ```bash
268+ # npm
269+ npm run build
270+
271+ # pnpm
272+ pnpm run build
273+
274+ # yarn
275+ yarn build
276+
277+ # bun
278+ bun run build
279+ ```
280+
281+ Locally preview production build:
282+
283+ ```bash
284+ # npm
285+ npm run preview
286+
287+ # pnpm
288+ pnpm run preview
289+
290+ # yarn
291+ yarn preview
292+
293+ # bun
294+ bun run preview
295+ ```
296+
297+ Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298+ ````
299+ :::
300+::
301+
302+### `CodePreview`
303+
304+Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305+Write the code to be previewed in a the `default` slot and the actual code in the `code` slot.
306+
307+::code-preview
308+---
309+class: "[&>div]:*:my-0 [&>div]:*:w-full"
310+label: Preview
311+---
312+ :::code-preview
313+ ---
314+ class: "[&>div]:*:my-0"
315+ ---
316+ `inline code`
317+
318+ #code
319+ ```mdc
320+ `inline code`
321+ ```
322+ :::
323+
324+#code
325+````mdc
326+::code-preview
327+`inline code`
328+
329+#code
330+```mdc
331+`inline code`
332+```
333+::
334+````
335+::
336+
337+### `CodeCollapse`
338+
339+Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340+
341+::code-preview
342+---
343+class: "[&>div]:*:my-0 [&>div]:*:w-full"
344+---
345+ :::code-collapse
346+ ---
347+ class: "[&>div]:my-0"
348+ ---
349+ ```css [main.css]
350+ @import "tailwindcss";
351+ @import "@nuxt/ui";
352+
353+ @theme {
354+ --font-sans: 'Public Sans', sans-serif;
355+
356+ --breakpoint-3xl: 1920px;
357+
358+ --color-green-50: #EFFDF5;
359+ --color-green-100: #D9FBE8;
360+ --color-green-200: #B3F5D1;
361+ --color-green-300: #75EDAE;
362+ --color-green-400: #00DC82;
363+ --color-green-500: #00C16A;
364+ --color-green-600: #00A155;
365+ --color-green-700: #007F45;
366+ --color-green-800: #016538;
367+ --color-green-900: #0A5331;
368+ --color-green-950: #052E16;
369+ }
370+ ```
371+ :::
372+
373+#code
374+````mdc
375+::code-collapse
376+
377+```css [main.css]
378+@import "tailwindcss";
379+@import "@nuxt/ui";
380+
381+@theme {
382+--font-sans: 'Public Sans', sans-serif;
383+
384+--breakpoint-3xl: 1920px;
385+
386+--color-green-50: #EFFDF5;
387+--color-green-100: #D9FBE8;
388+--color-green-200: #B3F5D1;
389+--color-green-300: #75EDAE;
390+--color-green-400: #00DC82;
391+--color-green-500: #00C16A;
392+--color-green-600: #00A155;
393+--color-green-700: #007F45;
394+--color-green-800: #016538;
395+--color-green-900: #0A5331;
396+--color-green-950: #052E16;
397+}
398+```
399+
400+::
401+````
402+::
.starters/default/content/2.essentials/3.components.md+424−0
@@ -0,0 +1,424 @@
1+---
2+title: Markdown Components
3+description: Use Markdown components to help you structure your content, with
4+ the help of Nuxt UI.
5+navigation:
6+ icon: i-lucide-component
7+ title: Components
8+---
9+
10+Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
11+
12+**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
13+
14+::note{to="https://ui.nuxt.com/getting-started"}
15+This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
16+::
17+
18+### `Accordion`
19+
20+Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
21+
22+::tabs
23+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
24+ ::::accordion
25+ :::::accordion-item
26+ ---
27+ icon: i-lucide-circle-help
28+ label: What is Docus and what are its key features??
29+ ---
30+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
31+ :::::
32+
33+ :::::accordion-item
34+ ---
35+ icon: i-lucide-circle-help
36+ label: How do I get started with Docus?
37+ ---
38+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
39+ :::::
40+
41+ :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
42+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
43+ :::::
44+ ::::
45+ :::
46+
47+ :::tabs-item{icon="i-lucide-code" label="Code"}
48+ ```mdc
49+ ::accordion
50+
51+ :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
52+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
53+ :::
54+
55+ :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
56+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
57+ :::
58+
59+ :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
60+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
61+ :::
62+ ::
63+ ```
64+ :::
65+::
66+
67+### `Badge`
68+
69+Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
70+
71+::tabs
72+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
73+ ::::badge
74+ **v3.0.0**
75+ ::::
76+ :::
77+
78+ :::tabs-item{icon="i-lucide-code" label="Code"}
79+ ```mdc
80+ ::badge
81+ **v3.0.0**
82+ ::
83+ ```
84+ :::
85+::
86+
87+### `Callout`
88+
89+Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
90+
91+Use the `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link) component.
92+
93+You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
94+
95+::tabs
96+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
97+ ::::div{.flex.flex-col.gap-4.w-full}
98+ :::::note{.w-full.my-0}
99+ Here's some additional information for you.
100+ :::::
101+
102+ :::::tip{.w-full.my-0}
103+ Here's a helpful suggestion.
104+ :::::
105+
106+ :::::warning{.w-full.my-0}
107+ Be careful with this action as it might have unexpected results.
108+ :::::
109+
110+ :::::caution{.w-full.my-0}
111+ This action cannot be undone.
112+ :::::
113+ ::::
114+ :::
115+
116+ :::tabs-item{icon="i-lucide-code" label="Code"}
117+ ```mdc
118+ ::note
119+ Here's some additional information.
120+ ::
121+
122+ ::tip
123+ Here's a helpful suggestion.
124+ ::
125+
126+ ::warning
127+ Be careful with this action as it might have unexpected results.
128+ ::
129+
130+ ::caution
131+ This action cannot be undone.
132+ ::
133+ ```
134+ :::
135+::
136+
137+### `Card` and `CardGroup`
138+
139+Use markdown in the default slot of the `card` component to highlight your content.
140+
141+Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link).
142+
143+Wrap your `card` components with the `card-group` component to group them together in a grid layout.
144+
145+::tabs
146+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
147+ ::::card-group{.w-full.my-0}
148+ :::::card
149+ ---
150+ icon: i-simple-icons-github
151+ target: _blank
152+ title: Dashboard
153+ to: https://github.com/nuxt-ui-templates/dashboard
154+ ---
155+ A dashboard with multi-column layout.
156+ :::::
157+
158+ :::::card
159+ ---
160+ icon: i-simple-icons-github
161+ target: _blank
162+ title: SaaS
163+ to: https://github.com/nuxt-ui-templates/saas
164+ ---
165+ A template with landing, pricing, docs and blog.
166+ :::::
167+
168+ :::::card
169+ ---
170+ icon: i-simple-icons-github
171+ target: _blank
172+ title: Docs
173+ to: https://github.com/nuxt-ui-templates/docs
174+ ---
175+ A documentation with `@nuxt/content`.
176+ :::::
177+
178+ :::::card
179+ ---
180+ icon: i-simple-icons-github
181+ target: _blank
182+ title: Landing
183+ to: https://github.com/nuxt-ui-templates/landing
184+ ---
185+ A landing page you can use as starting point.
186+ :::::
187+ ::::
188+ :::
189+
190+ :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
191+ ```mdc
192+ :::card-group
193+
194+ ::card
195+ ---
196+ title: Dashboard
197+ icon: i-simple-icons-github
198+ to: https://github.com/nuxt-ui-templates/dashboard
199+ target: _blank
200+ ---
201+ A dashboard with multi-column layout.
202+ ::
203+
204+ ::card
205+ ---
206+ title: SaaS
207+ icon: i-simple-icons-github
208+ to: https://github.com/nuxt-ui-templates/saas
209+ target: _blank
210+ ---
211+ A template with landing, pricing, docs and blog.
212+ ::
213+
214+ ::card
215+ ---
216+ title: Docs
217+ icon: i-simple-icons-github
218+ to: https://github.com/nuxt-ui-templates/docs
219+ target: _blank
220+ ---
221+ A documentation with `@nuxt/content`.
222+ ::
223+
224+ ::card
225+ ---
226+ title: Landing
227+ icon: i-simple-icons-github
228+ to: https://github.com/nuxt-ui-templates/landing
229+ target: _blank
230+ ---
231+ A landing page you can use as starting point.
232+ ::
233+
234+ :::
235+ ```
236+ :::
237+::
238+
239+### `Collapsible`
240+
241+Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
242+
243+::tabs
244+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
245+ ::::collapsible
246+ | Prop | Default | Type |
247+ | ------- | --------- | -------- |
248+ | `name` | | `string` |
249+ | `size` | `md` | `string` |
250+ | `color` | `neutral` | `string` |
251+ ::::
252+ :::
253+
254+ :::tabs-item{icon="i-lucide-code" label="Code"}
255+ ```mdc
256+ ::collapsible
257+
258+ | Prop | Default | Type |
259+ |---------|-----------|--------------------------|
260+ | `name` | | `string`{lang="ts-type"} |
261+ | `size` | `md` | `string`{lang="ts-type"} |
262+ | `color` | `neutral` | `string`{lang="ts-type"} |
263+
264+ ::
265+ ```
266+ :::
267+::
268+
269+### `Field` and `FieldGroup`
270+
271+A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
272+
273+::tabs
274+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
275+ ::::field-group{.my-0}
276+ :::::field{name="analytics" type="boolean"}
277+ Default to `false` - Enables analytics for your project (coming soon).
278+ :::::
279+
280+ :::::field{name="blob" type="boolean"}
281+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
282+ :::::
283+
284+ :::::field{name="cache" type="boolean"}
285+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
286+ :::::
287+
288+ :::::field{name="database" type="boolean"}
289+ Default to `false` - Enables SQL database to store your application's data.
290+ :::::
291+ ::::
292+ :::
293+
294+ :::tabs-item{icon="i-lucide-code" label="Code"}
295+ ```mdc
296+ ::field-group
297+ ::field{name="analytics" type="boolean"}
298+ Default to `false` - Enables analytics for your project (coming soon).
299+ ::
300+
301+ ::field{name="blob" type="boolean"}
302+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
303+ ::
304+
305+ ::field{name="cache" type="boolean"}
306+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
307+ ::
308+
309+ ::field{name="database" type="boolean"}
310+ Default to `false` - Enables SQL database to store your application's data.
311+ ::
312+ ::
313+ ```
314+ :::
315+::
316+
317+### `Icon`
318+
319+Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
320+
321+::code-preview
322+:icon{name="i-simple-icons-nuxtdotjs"}
323+
324+
325+
326+#code
327+```mdc
328+:icon{name="i-simple-icons-nuxtdotjs"}
329+```
330+::
331+
332+### `Kbd`
333+
334+Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
335+
336+::code-preview
337+#code
338+```mdc
339+:kbd{value="meta"} :kbd{value="K"}
340+```
341+::
342+
343+### `Tabs`
344+
345+Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
346+
347+::code-preview
348+ :::tabs{.w-full}
349+ ::::tabs-item{icon="i-lucide-code" label="Code"}
350+ ```mdc
351+ ::callout
352+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
353+ ::
354+ ```
355+ ::::
356+
357+ ::::tabs-item{icon="i-lucide-eye" label="Preview"}
358+ :::::callout
359+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
360+ :::::
361+ ::::
362+ :::
363+
364+#code
365+````mdc
366+::tabs{.w-full}
367+ :::tabs-item{icon="i-lucide-code" label="Code"}
368+ ```mdc
369+ ::::callout
370+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
371+ ::::
372+ ```
373+ ::::
374+
375+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
376+ :::::callout
377+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
378+ :::::
379+ :::
380+::
381+````
382+::
383+
384+### `Steps`
385+
386+Wrap your headings with the Steps component to display a list of steps.
387+
388+Use the `level` prop to define which heading will be used for the steps.
389+
390+::tabs
391+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
392+ ::::steps{level="4"}
393+ #### Start a fresh new project
394+
395+ ```bash [Terminal]
396+ npm create nuxt@latest -- -t github:nuxt-content/docus
397+ ```
398+
399+ #### Run docus CLI to run your dev server
400+
401+ ```bash [Terminal]
402+ docus dev
403+ ```
404+ ::::
405+ :::
406+
407+ :::tabs-item{icon="i-lucide-code" label="Code"}
408+ ````mdc
409+ ::steps{level="4"}
410+ #### Start a fresh new project
411+
412+ ```bash [Terminal]
413+ npm create nuxt@latest -- -t github:nuxt-content/docus
414+ ```
415+
416+ #### Run docus CLI to run your dev server
417+
418+ ```bash [Terminal]
419+ docus dev
420+ ```
421+ ::
422+ ````
423+ :::
424+::
.starters/default/content/2.essentials/4.images-embeds.md+53−0
@@ -0,0 +1,53 @@
1+---
2+title: Images and Embeds
3+description: Add image, video, and other HTML elements
4+navigation:
5+ icon: i-lucide-image
6+seo:
7+ description: Add image, video, and other HTML elements using Docus theme
8+---
9+
10+## Markdown
11+
12+Display images or videos using standard Markdown syntax.
13+
14+### Images
15+
16+::code-preview
17+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
18+
19+#code
20+```mdc
21+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
22+```
23+::
24+
25+Or with your local images
26+
27+::code-preview
28+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
29+
30+#code
31+```mdc
32+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
33+```
34+::
35+
36+::note{to="https://image.nuxt.com/"}
37+Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
38+::
39+
40+### Videos
41+
42+::code-preview
43+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
44+
45+
46+
47+#code
48+```mdc
49+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
50+```
51+::
52+
53+###
.starters/default/content/index.md+123−0
@@ -0,0 +1,123 @@
1+---
2+seo:
3+ title: Write beautiful docs with Markdown
4+ description: Ship fast, flexible, and SEO-optimized documentation with beautiful
5+ design out of the box. Docus brings together the best of the Nuxt ecosystem.
6+ Powered by Nuxt UI.
7+---
8+
9+::u-page-hero
10+#title
11+Write beautiful docs with Markdown
12+
13+#description
14+Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box.
15+
16+Docus brings the best of the Nuxt ecosystem into one CLI.
17+
18+#links
19+ :::u-button
20+ ---
21+ color: neutral
22+ size: xl
23+ to: /getting-started/installation
24+ trailing-icon: i-lucide-arrow-right
25+ ---
26+ Get started
27+ :::
28+
29+ :::u-button
30+ ---
31+ color: neutral
32+ icon: simple-icons-github
33+ size: xl
34+ to: https://github.com/nuxt-content/docus
35+ variant: outline
36+ ---
37+ Star on GitHub
38+ :::
39+::
40+
41+::u-page-section
42+#title
43+Shipped with many features
44+
45+#features
46+ :::u-page-feature
47+ ---
48+ icon: i-simple-icons-nuxt
49+ target: _blank
50+ to: https://nuxt.com
51+ ---
52+ #title
53+ Built with [Nuxt 4]{.text-primary}
54+
55+ #description
56+ Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
57+ :::
58+
59+ :::u-page-feature
60+ ---
61+ icon: i-simple-icons-nuxt
62+ target: _blank
63+ to: https://ui.nuxt.com/
64+ ---
65+ #title
66+ Powered by [Nuxt UI]{.text-primary}
67+
68+ #description
69+ Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
70+ :::
71+
72+ :::u-page-feature
73+ ---
74+ icon: i-simple-icons-nuxt
75+ target: _blank
76+ to: https://content.nuxt.com
77+ ---
78+ #title
79+ Enhanced Markdown syntax by [Nuxt Content]{.text-primary}
80+
81+ #description
82+ The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
83+ :::
84+
85+ :::u-page-feature
86+ ---
87+ icon: i-simple-icons-nuxt
88+ target: _blank
89+ to: https://nuxt.com/docs/guide/directory-structure/app-config
90+ ---
91+ #title
92+ Customize with [Nuxt App Config]{.text-primary}
93+
94+ #description
95+ Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
96+ :::
97+
98+ :::u-page-feature
99+ ---
100+ icon: i-simple-icons-nuxt
101+ target: _blank
102+ to: https://content.nuxt.com/studio
103+ ---
104+ #title
105+ Edit in production with [Nuxt Studio]{.text-primary}
106+
107+ #description
108+ Edit your content in production with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
109+ :::
110+
111+ :::u-page-feature
112+ ---
113+ icon: i-simple-icons-nuxt
114+ target: _blank
115+ to: https://ui.nuxt.com/components/content-search
116+ ---
117+ #title
118+ Built-in navigation and [full-text search]{.text-primary}
119+
120+ #description
121+ Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
122+ :::
123+::
.starters/default/nuxt.config.ts+3−0
@@ -0,0 +1,3 @@
1+export default defineNuxtConfig({
2+ extends: ['docus'],
3+})
.starters/default/package.json+12−0
@@ -0,0 +1,12 @@
1+{
2+ "name": "docus-starter",
3+ "scripts": {
4+ "dev": "nuxt dev",
5+ "build": "nuxt build"
6+ },
7+ "dependencies": {
8+ "docus": "latest",
9+ "better-sqlite3": "^12.11.1",
10+ "nuxt": "^4.4.8"
11+ }
12+}
.starters/default/public/favicon.ico+0−0

Binary file not shown.

.starters/default/public/mountains.webp+0−0

Binary file not shown.

.starters/default/tsconfig.json+9−0
@@ -0,0 +1,9 @@
1+{
2+ "files": [],
3+ "references": [
4+ { "path": "./.nuxt/tsconfig.app.json" },
5+ { "path": "./.nuxt/tsconfig.server.json" },
6+ { "path": "./.nuxt/tsconfig.shared.json" },
7+ { "path": "./.nuxt/tsconfig.node.json" }
8+ ]
9+}
.starters/i18n/.gitignore+37−0
@@ -0,0 +1,37 @@
1+# Nuxt dev/build outputs
2+.output
3+.data
4+.nuxt
5+.nitro
6+.cache
7+dist
8+
9+# Node dependencies
10+node_modules
11+
12+# Logs
13+logs
14+*.log
15+
16+# Misc
17+.DS_Store
18+.fleet
19+.idea
20+.eslintcache
21+
22+# Local env files
23+.env
24+.env.*
25+!.env.example
26+
27+# npm pack
28+*.tgz
29+
30+# Temp files
31+.tmp
32+.profile
33+*.0x
34+
35+#VSC
36+.history
37+.wrangler
.starters/i18n/README.md+123−0
@@ -0,0 +1,123 @@
1+# Docus i18n Starter
2+
3+> A beautiful, internationalized starter for creating multi-language documentation with Docus
4+
5+This is the i18n Docus starter template that provides everything you need to build beautiful, multi-language documentation sites with Markdown and Vue components.
6+
7+## ✨ Features
8+
9+- 🌍 **Internationalization** - Native i18n support for multi-language docs
10+- 🎨 **Beautiful Design** - Clean, modern documentation theme
11+- 📱 **Responsive** - Mobile-first responsive design
12+- 🌙 **Dark Mode** - Built-in dark/light mode support
13+- 🔍 **Search** - Full-text search functionality per language
14+- 📝 **Markdown Enhanced** - Extended markdown with custom components
15+- 🎨 **Customizable** - Easy theming and brand customization
16+- ⚡ **Fast** - Optimized for performance with Nuxt 4
17+- 🔧 **TypeScript** - Full TypeScript support
18+
19+## 🚀 Quick Start
20+
21+```bash
22+# Install dependencies
23+npm install
24+
25+# Start development server
26+npm run dev
27+```
28+
29+Your multilingual documentation site will be running at `http://localhost:3000`
30+
31+## 🌍 Languages
32+
33+This starter comes pre-configured with:
34+- 🇺🇸 **English** (`en`) - Default language
35+- 🇫🇷 **Français** (`fr`) - French translation
36+
37+## 📁 Project Structure
38+
39+```
40+my-docs/
41+├── content/ # Your markdown content
42+│ ├── en/ # English content
43+│ │ ├── index.md # English homepage
44+│ │ └── docs/ # English documentation
45+│ └── fr/ # French content
46+│ ├── index.md # French homepage
47+│ └── docs/ # French documentation
48+├── public/ # Static assets
49+├── nuxt.config.ts # Nuxt configuration with i18n setup
50+└── package.json # Dependencies and scripts
51+```
52+
53+### Content Structure
54+
55+The content is organized by language, making it easy to manage translations:
56+
57+```
58+content/
59+├── en/ # English content
60+│ ├── index.md
61+│ ├── 1.getting-started/
62+│ │ ├── installation.md
63+│ │ └── configuration.md
64+│ └── 2.essentials/
65+│ ├── markdown.md
66+│ └── components.md
67+└── fr/ # French content
68+ ├── index.md
69+ ├── 1.getting-started/
70+ │ ├── installation.md
71+ │ └── configuration.md
72+ └── 2.essentials/
73+ ├── markdown.md
74+ └── components.md
75+```
76+
77+## 🔗 URL Structure
78+
79+The i18n starter generates URLs with language prefixes:
80+
81+- English: `/en/getting-started/installation`
82+- French: `/fr/getting-started/installation`
83+- Default locale fallback: `/getting-started/installation` (redirects to English)
84+
85+## ⚡ Built with
86+
87+This starter comes pre-configured with:
88+
89+- [Nuxt 4](https://nuxt.com) - The web framework
90+- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
91+- [Nuxt i18n](https://i18n.nuxt.com/) - Internationalization
92+- [Nuxt UI](https://ui.nuxt.com) - UI components
93+- [Nuxt Image](https://image.nuxt.com/) - Optimized images
94+- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
95+- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme
96+
97+## 📖 Documentation
98+
99+For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)
100+
101+### 🤖 AI Assistant Skill
102+
103+Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
104+
105+```bash
106+npx skills add nuxt-content/docus
107+```
108+
109+This skill helps you create documentation faster by providing your AI assistant with best practices, MDC component usage, ready-to-use templates, writing guidelines, and configuration tips for Docus. Perfect for quickly scaffolding new documentation projects.
110+
111+## 🚀 Deployment
112+
113+Build for production:
114+
115+```bash
116+npm run build
117+```
118+
119+The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.
120+
121+## 📄 License
122+
123+[MIT License](https://opensource.org/licenses/MIT)
.starters/i18n/content/en/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Getting Started
2+icon: false
.starters/i18n/content/en/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1+---
2+title: Introduction
3+description: Welcome to Docus theme documentation.
4+navigation:
5+ icon: i-lucide-house
6+seo:
7+ title: Introduction
8+ description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9+---
10+
11+Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12+
13+## What is Docus?
14+
15+Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16+
17+We use this theme across all our Nuxt module documentations, including:
18+
19+::card-group
20+ :::card
21+ ---
22+ icon: i-lucide-image
23+ target: _blank
24+ title: Nuxt Image
25+ to: https://image.nuxt.com
26+ ---
27+ The documentation of `@nuxt/image`
28+ :::
29+
30+ :::card
31+ ---
32+ icon: i-simple-icons-nuxtdotjs
33+ target: _blank
34+ title: Nuxt Content
35+ to: https://content.nuxt.com
36+ ---
37+ The documentation of `@nuxt/content`
38+ :::
39+
40+ :::card
41+ ---
42+ icon: i-simple-icons-supabase
43+ target: _blank
44+ title: Nuxt Supabase
45+ to: https://supabase.nuxtjs.org
46+ ---
47+ The documentation of `@nuxt/supabase`
48+ :::
49+
50+ :::card
51+ ---
52+ icon: i-simple-icons-strapi
53+ target: _blank
54+ title: Nuxt Strapi
55+ to: https://strapi.nuxtjs.org
56+ ---
57+ The documentation of `@nuxt/strapi`
58+ :::
59+::
60+
61+## Key Features
62+
63+This theme includes a range of features designed to improve documentation management:
64+
65+- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66+- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67+- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68+- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69+- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70+- **Full-Text Search**: Includes built-in search functionality for content discovery.
71+- **Optimized Typography**: Features refined typography for enhanced readability.
72+- **Dark Mode**: Offers dark mode support for user preference.
73+- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
.starters/i18n/content/en/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1+---
2+title: Installation
3+description: Get started with Docus.
4+navigation:
5+ icon: i-lucide-download
6+seo:
7+ description: Get started with Docus documentation theme.
8+ title: Installation
9+---
10+
11+## `create-docus` CLI
12+
13+::steps
14+### Create your docs directory
15+
16+Use the `create-docus` CLI to create a new Docus project:
17+
18+```bash [Terminal]
19+npx create-docus my-docs
20+```
21+
22+You can choose between two templates:
23+
24+- `default`: Basic Docus setup for single-language documentation
25+- `i18n`: Includes internationalization support for multi-language documentation
26+
27+```bash [Terminal]
28+# Create with i18n template
29+npx create-docus my-docs -t i18n
30+```
31+
32+We recommend using the `npm` package manager.
33+
34+### Start your docs server in development
35+
36+Move to your docs directory and start your docs server in development mode:
37+
38+```bash [Terminal]
39+cd my-docs
40+npm run dev
41+```
42+
43+A local preview of your documentation will be available at <http://localhost:3000>
44+
45+### Write your documentation
46+
47+Head over the [Markdown Syntax](/en/essentials/markdown-syntax) section to learn how to write your documentation.
48+::
49+
50+## Layer Integration
51+
52+Docus v4 uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
53+
54+```ts [nuxt.config.ts]
55+export default defineNuxtConfig({
56+ extends: ['docus']
57+})
58+```
.starters/i18n/content/en/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1+---
2+title: Project Structure
3+description: Learn about the project structure of Docus v4.
4+navigation:
5+ icon: i-lucide-folder-tree
6+---
7+
8+## Global structure
9+
10+Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11+
12+When you create a new Docus project with `npx create-docus my-docs`, you get:
13+
14+```bash
15+my-docs/
16+├── content/ # Your markdown content
17+│ ├── index.md # Homepage
18+│ └── docs/ # Documentation pages
19+├── public/ # Static assets
20+└── package.json # Dependencies and scripts
21+```
22+
23+You can still use any feature or file of a classical Nuxt project:
24+
25+```bash
26+my-docs/
27+├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28+├── app/ # App directory
29+ ├── app.config.ts # App configuration
30+│ ├── components/ # Components (add your own components)
31+│ ├── layouts/ # Layouts (add your own layouts)
32+│ └── pages/ # Pages (add your own pages)
33+└── server/ # Server-side code (add your own server-side code)
34+```
35+
36+### `content/` directory
37+
38+This is where you write pages in Markdown. Docus automatically generates routes based on your file structure.
39+
40+**Single language structure:**
41+
42+```bash
43+content/
44+├── index.md # Landing page (/)
45+├── getting-started.md # Documentation page (/getting-started)
46+└── guide/
47+ ├── introduction.md # Documentation page (/guide/introduction)
48+ └── configuration.md # Documentation page (/guide/configuration)
49+```
50+
51+::tip
52+You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired. Learn more in the [edition documentation](https://docus.dev/concepts/edition).
53+::
54+
55+**Multi-language structure (with i18n):**
56+
57+```bash
58+content/
59+├── en/
60+│ ├── index.md # English landing page (/en)
61+│ └── guide/
62+│ └── introduction.md # Documentation page (/en/guide/introduction)
63+└── fr/
64+ ├── index.md # French landing page (/fr)
65+ └── guide/
66+ └── introduction.md # Documentation page (/fr/guide/introduction)
67+```
68+
69+::tip{to="https://docus.dev/concepts/internationalization"}
70+More information about i18n is available in the internationalization section.
71+::
72+
73+### `public/` directory
74+
75+Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76+
77+### `package.json`
78+
79+This file contains all the dependencies and scripts for your application. The `package.json` of
80+a Docus application is really minimal and looks like:
81+
82+```json [package.json]
83+{
84+ "name": "my-docs",
85+ "scripts": {
86+ "build": "nuxt build --extends docus",
87+ "dev": "nuxt dev --extends docus",
88+ },
89+ "dependencies": {
90+ "docus": "latest",
91+ "better-sqlite3": "^12.2.0",
92+ "nuxt": "^4.0.0"
93+ }
94+}
95+```
96+
97+### `nuxt.config.ts`
98+
99+*This file is not mandatory to start a Docus application.*
100+
101+You can add extra modules to your Nuxt configuration file:
102+
103+```typescript [nuxt.config.ts]
104+export default defineNuxtConfig({
105+ extends: ['@vercel/analytics/nuxt/module']
106+})
107+```
108+
109+### `app.config.ts`
110+
111+*This file is not mandatory to start a Docus application.*
112+
113+::warning
114+You need a `nuxt.config.ts` to be set if you want to override app configuration.
115+::
116+
117+This is where you can configure Docus to fit your branding, handle SEO, set your locale, and adapt links and socials. See the [configuration documentation](https://docus.dev/concepts/configuration) for details.
118+
119+```ts [app.config.ts]
120+export default defineAppConfig({
121+ docus: {
122+ locale: 'en', // Set your single-language locale
123+ },
124+ seo: {
125+ title: 'My Docs',
126+ description: 'My awesome documentation',
127+ },
128+ // ... other configurations
129+})
130+```
131+
132+## Full Nuxt Project Capabilities
133+
134+Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135+
136+::warning
137+You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138+::
139+
140+```bash
141+my-docs/
142+├── app/ # App directory (optional)
143+ ├── app.config.ts # App configuration
144+│ ├── components/ # Custom Vue components
145+│ ├── layouts/ # Custom layouts
146+│ ├── pages/ # Custom Vue pages (outside of content)
147+│ ├── composables/ # Vue composables
148+│ └── middleware/ # Route middleware
149+├── server/ # Server-side code
150+│ └── api/ # API routes
151+├── plugins/ # Nuxt plugins
152+├── middleware/ # Global middleware
153+└── modules/ # Custom Nuxt modules
154+```
155+
156+::tip{to="https://docus.dev/concepts/nuxt"}
157+This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
158+::
.starters/i18n/content/en/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1+---
2+title: Studio module
3+description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4+navigation:
5+ icon: i-lucide-mouse-pointer-2
6+ title: Studio module
7+seo:
8+ title: Nuxt Studio Web Editor
9+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10+icon:
11+ i-lucide-mouse-pointer-2 title: Web Editor
12+ seo:
13+ title: Nuxt Studio module
14+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15+---
16+
17+The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18+
19+::tip{to="https://nuxt.studio/introduction"}
20+Browse Nuxt Studio documentation to learn how ton install the module.
21+::
22+
23+:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24+
25+The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26+
27+## Visual edition in production for your Nuxt Content website
28+
29+Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30+
31+Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32+
33+## Current features
34+
35+### ✨ **TipTap Visual Editor**
36+
37+Rich Markdown editor with full MDC component support.
38+
39+### 💻 **Monaco Code Editor**
40+
41+Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42+
43+### 📝 **Form-based Editor**
44+
45+Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46+
47+### 🎨  **Vue Component Props Editor**
48+
49+Visual interface to edit Vue component props directly from the editor.
50+
51+### 🔄 **Real-time Preview**
52+
53+Instantly preview content changes on your production website.
54+
55+### 🔐 **Multi-provider Authentication**
56+
57+Secure OAuth authentication with GitHub, GitLab, and Google.
58+
59+### 🔑 **Custom Authentication**
60+
61+Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62+
63+### 📝 **File Management**
64+
65+Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66+
67+### 🖼 **Media Management**
68+
69+Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70+
71+### 🌳 **Git Integration**
72+
73+Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74+
75+### 🚀 **Development Mode**
76+
77+Edit content and media files directly from your local filesystem using the Studio interface.
78+
79+### 🌍 **Internationalization**
80+
81+Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82+
83+## **Upcoming features**
84+
85+### 📂 **Collections View**
86+
87+Manage and navigate all content collections from a unified interface.
88+
89+### 🖼 **Media Optimization**
90+
91+Optimize images and media assets directly within the editor.
92+
93+### 🤖**AI Content Assistant**
94+
95+Get smart, AI-powered suggestions to improve and speed up content creation.
96+
97+### 💡**Community-driven Features**
98+
99+Have an idea? Share your feedback and help shape the future of Nuxt Studio.
.starters/i18n/content/en/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1+---
2+title: Migration
3+description: " How to migrate your documentation from an existing Markdown
4+ solution to Docus"
5+navigation:
6+ icon: i-lucide-replace
7+---
8+
9+## **Migrating from Docus v3 to v4**
10+
11+Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12+
13+### **⚠️ Breaking Changes**
14+
15+The main breaking changes are related to CLI commands:
16+
17+| v3 | v4 |
18+| ------------------------ | ---------------------------- |
19+| `npx docus init my-docs` | `npx create-docus my-docs` |
20+| `docus dev` | `nuxt dev --extends docus` |
21+| `docus build` | `nuxt build --extends docus` |
22+
23+::tip
24+Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25+::
26+
27+## **Migrating to Docus**
28+
29+Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30+
31+Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32+
33+To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34+
35+From there, you have two scenarios:
36+
37+- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38+- **If you're using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the built-in components provided by Nuxt UI.
39+
40+Once your content has been moved to the `content/` folder, you can customize your app by following the [configuration documentation](https://docus.dev/concepts/configuration).
41+
42+Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
.starters/i18n/content/en/1.getting-started/7.troubleshooting.md+32−0
@@ -0,0 +1,32 @@
1+---
2+title: Troubleshooting
3+description: Common issues and their solutions when working with Docus.
4+navigation:
5+ icon: i-lucide-wrench
6+seo:
7+ description: Troubleshooting guide for common Docus issues and their solutions.
8+---
9+
10+## `pnpm` issues
11+
12+### Approve build scripts
13+
14+If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
15+
16+Run the following command to approve packages for building:
17+
18+```bash [Terminal]
19+pnpm approve-builds
20+```
21+
22+When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
23+
24+### Enable shameful hoisting (compatibility mode)
25+
26+If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
27+
28+You can enable compatibility mode by creating a `.npmrc` file with:
29+
30+```bash [.npmrc]
31+shamefully-hoist=true
32+```
.starters/i18n/content/en/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1+title: Essentials
.starters/i18n/content/en/2.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1+---
2+title: Markdown Syntax
3+description: Text, title, and styling in standard markdown.
4+navigation:
5+ icon: i-lucide-heading-1
6+---
7+
8+## Titles
9+
10+Use titles to introduce main sections. They structure your documentation and help users navigate content.
11+
12+::code-preview
13+---
14+class: "[&>div]:*:my-0"
15+---
16+## Titles
17+
18+#code
19+```mdc
20+## Titles
21+```
22+::
23+
24+### Subtitles
25+
26+Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27+
28+::code-preview
29+---
30+class: "[&>div]:*:my-0"
31+---
32+### Subtitles
33+
34+#code
35+```mdc
36+### Subtitles
37+```
38+::
39+
40+::tip
41+Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42+::
43+
44+## Text Formatting
45+
46+Docus supports most Markdown formatting options.
47+
48+| Style | How to use | Result |
49+| ------ | ------------ | ---------- |
50+| Bold | `**bold**` | **Bold** |
51+| Italic | `*italic*` | *Italic* |
52+| Strike | `~~strike~~` | ~~Strike~~ |
53+
54+Combine formatting for richer text styles and visual emphasis.
55+
56+| Style | How to use | Result |
57+| ------------- | ------------------- | ----------------- |
58+| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59+| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60+| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61+
62+## Links
63+
64+Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65+To create a link, wrap the link text in brackets `[]()`.
66+
67+::code-preview
68+---
69+class: "[&>div]:*:my-0"
70+---
71+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72+
73+#code
74+```mdc
75+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76+```
77+::
78+
79+### Internal links
80+
81+For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82+
83+::code-preview
84+---
85+class: "[&>div]:*:my-0"
86+---
87+[Installation](/en/getting-started/installation)
88+
89+#code
90+```mdc
91+[Installation](/en/getting-started/installation)
92+```
93+::
94+
95+## Lists
96+
97+Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98+
99+### Unordered
100+
101+Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102+
103+::code-preview
104+---
105+class: "[&>div]:*:my-0"
106+---
107+- I'm a list item.
108+- I'm another list item.
109+- I'm the last list item.
110+
111+#code
112+```mdc
113+- I'm a list item.
114+- I'm another list item.
115+- I'm the last list item.
116+```
117+::
118+
119+### Ordered
120+
121+Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122+
123+::code-preview
124+---
125+class: "[&>div]:*:my-0"
126+---
127+1. I'm a list item.
128+2. I'm another list item.
129+3. I'm the last list item.
130+
131+#code
132+```mdc
133+1. I'm a list item.
134+2. I'm another list item.
135+3. I'm the last list item.
136+```
137+::
138+
139+### Nested
140+
141+Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142+
143+::code-preview
144+---
145+class: "[&>div]:*:my-0"
146+---
147+- I'm a list item.
148+ - I'm a nested list item.
149+ - I'm another nested list item.
150+- I'm another list item.
151+
152+#code
153+```mdc
154+- I'm a list item.
155+ - I'm a nested list item.
156+ - I'm another nested list item.
157+- I'm another list item.
158+```
159+::
160+
161+## Tables
162+
163+Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164+
165+::code-preview
166+---
167+class: "[&>div]:*:my-0 [&>div]:*:w-full"
168+---
169+| Prop | Default | Type |
170+| ------- | --------- | -------- |
171+| `name` | | `string` |
172+| `size` | `md` | `string` |
173+| `color` | `neutral` | `string` |
174+
175+#code
176+```mdc
177+| Prop | Default | Type |
178+|---------|-----------|--------------------------|
179+| `name` | | `string`{lang="ts-type"} |
180+| `size` | `md` | `string`{lang="ts-type"} |
181+| `color` | `neutral` | `string`{lang="ts-type"} |
182+```
183+::
184+
185+## Blockquotes
186+
187+Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188+
189+### Singleline
190+
191+Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192+
193+::code-preview
194+---
195+class: "[&>div]:*:my-0"
196+---
197+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198+
199+#code
200+```mdc
201+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202+```
203+::
204+
205+### Multiline
206+
207+Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208+
209+::code-preview
210+---
211+class: "[&>div]:*:my-0"
212+---
213+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214+>
215+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216+
217+#code
218+```mdc
219+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220+>
221+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222+```
223+::
.starters/i18n/content/en/2.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1+---
2+title: Code Blocks
3+description: Display inline code and code blocks in your documentation.
4+navigation:
5+ icon: i-lucide-code-xml
6+---
7+
8+## Basic
9+
10+### Inline Code
11+
12+Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
13+
14+::code-preview
15+---
16+class: "[&>div]:*:my-0"
17+---
18+`inline code`
19+
20+#code
21+```mdc
22+`inline code`
23+```
24+::
25+
26+### Code Blocks
27+
28+Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
29+
30+::code-preview
31+---
32+class: "[&>div]:*:my-0 [&>div]:*:w-full"
33+---
34+```ts
35+export default defineNuxtConfig({
36+ modules: ['@nuxt/ui']
37+})
38+```
39+
40+#code
41+````mdc
42+```ts
43+export default defineNuxtConfig({
44+ modules: ['@nuxt/ui']
45+})
46+```
47+````
48+::
49+
50+When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
51+Filenames help users understand the code's location and purpose within a project.
52+
53+::code-preview
54+---
55+class: "[&>div]:*:my-0 [&>div]:*:w-full"
56+---
57+```ts [nuxt.config.ts]
58+export default defineNuxtConfig({
59+ modules: ['@nuxt/ui']
60+})
61+```
62+
63+#code
64+````mdc
65+```ts [nuxt.config.ts]
66+export default defineNuxtConfig({
67+ modules: ['@nuxt/ui']
68+})
69+```
70+````
71+::
72+
73+Every code-block has a built-in copy button that will copy the code to your clipboard.
74+
75+::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
76+Icons are already defined by default, but you can customize them in your `app.config.ts`:
77+
78+```ts [app.config.ts]
79+export default defineAppConfig({
80+ ui: {
81+ prose: {
82+ codeIcon: {
83+ terminal: 'i-ph-terminal-window-duotone'
84+ }
85+ }
86+ }
87+})
88+```
89+::
90+
91+## Advanced
92+
93+### CodeGroup
94+
95+Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
96+
97+::code-preview
98+---
99+class: "[&>div]:*:my-0 [&>div]:*:w-full"
100+---
101+ :::code-group{.w-full}
102+ ```bash [pnpm]
103+ pnpm add @nuxt/ui
104+ ```
105+
106+ ```bash [yarn]
107+ yarn add @nuxt/ui
108+ ```
109+
110+ ```bash [npm]
111+ npm install @nuxt/ui
112+ ```
113+
114+ ```bash [bun]
115+ bun add @nuxt/ui
116+ ```
117+ :::
118+
119+#code
120+````mdc
121+::code-group
122+
123+```bash [pnpm]
124+pnpm add @nuxt/ui
125+```
126+
127+```bash [yarn]
128+yarn add @nuxt/ui
129+```
130+
131+```bash [npm]
132+npm install @nuxt/ui
133+```
134+
135+```bash [bun]
136+bun add @nuxt/ui
137+```
138+
139+::
140+````
141+::
142+
143+### CodeTree
144+
145+Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
146+
147+::code-preview
148+---
149+class: "[&>div]:*:my-0 [&>div]:*:w-full"
150+---
151+ :::code-tree{default-value="app/app.config.ts"}
152+ ```ts [nuxt.config.ts]
153+ export default defineNuxtConfig({
154+ modules: ['@nuxt/ui'],
155+
156+ future: {
157+ compatibilityVersion: 4
158+ },
159+
160+ css: ['~/assets/css/main.css']
161+ })
162+
163+ ```
164+
165+ ```css [app/assets/css/main.css]
166+ @import "tailwindcss";
167+ @import "@nuxt/ui";
168+ ```
169+
170+ ```ts [app/app.config.ts]
171+ export default defineAppConfig({
172+ ui: {
173+ colors: {
174+ primary: 'sky',
175+ colors: 'slate'
176+ }
177+ }
178+ })
179+ ```
180+
181+ ```vue [app/app.vue]
182+ <template>
183+ <UApp>
184+ <NuxtPage />
185+ </UApp>
186+ </template>
187+ ```
188+
189+ ```json [package.json]
190+ {
191+ "name": "nuxt-app",
192+ "private": true,
193+ "type": "module",
194+ "scripts": {
195+ "build": "nuxt build",
196+ "dev": "nuxt dev",
197+ "generate": "nuxt generate",
198+ "preview": "nuxt preview",
199+ "postinstall": "nuxt prepare",
200+ "lint": "eslint .",
201+ "lint:fix": "eslint --fix ."
202+ },
203+ "dependencies": {
204+ "@iconify-json/lucide": "^1.2.18",
205+ "@nuxt/ui": "^4.0.0",
206+ "nuxt": "^4.1.0"
207+ },
208+ "devDependencies": {
209+ "eslint": "^9.34.0",
210+ "typescript": "^5.9.3",
211+ "vue-tsc": "^3.0.6"
212+ }
213+ }
214+ ```
215+
216+ ```json [tsconfig.json]
217+ {
218+ "extends": "./.nuxt/tsconfig.json"
219+ }
220+ ```
221+
222+ ````md [README.md]
223+ # Nuxt 4 Minimal Starter
224+
225+ Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226+
227+ ## Setup
228+
229+ Make sure to install the dependencies:
230+
231+ ```bash
232+ # npm
233+ npm install
234+
235+ # pnpm
236+ pnpm install
237+
238+ # yarn
239+ yarn install
240+
241+ # bun
242+ bun install
243+ ```
244+
245+ ## Development Server
246+
247+ Start the development server on `http://localhost:3000`:
248+
249+ ```bash
250+ # npm
251+ npm run dev
252+
253+ # pnpm
254+ pnpm run dev
255+
256+ # yarn
257+ yarn dev
258+
259+ # bun
260+ bun run dev
261+ ```
262+
263+ ## Production
264+
265+ Build the application for production:
266+
267+ ```bash
268+ # npm
269+ npm run build
270+
271+ # pnpm
272+ pnpm run build
273+
274+ # yarn
275+ yarn build
276+
277+ # bun
278+ bun run build
279+ ```
280+
281+ Locally preview production build:
282+
283+ ```bash
284+ # npm
285+ npm run preview
286+
287+ # pnpm
288+ pnpm run preview
289+
290+ # yarn
291+ yarn preview
292+
293+ # bun
294+ bun run preview
295+ ```
296+
297+ Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298+ ````
299+ :::
300+::
301+
302+### `CodePreview`
303+
304+Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305+Write the code to be previewed in a the `default` slot and the actual code in the `code` slot.
306+
307+::code-preview
308+---
309+class: "[&>div]:*:my-0 [&>div]:*:w-full"
310+label: Preview
311+---
312+ :::code-preview
313+ ---
314+ class: "[&>div]:*:my-0"
315+ ---
316+ `inline code`
317+
318+ #code
319+ ```mdc
320+ `inline code`
321+ ```
322+ :::
323+
324+#code
325+````mdc
326+::code-preview
327+`inline code`
328+
329+#code
330+```mdc
331+`inline code`
332+```
333+::
334+````
335+::
336+
337+### `CodeCollapse`
338+
339+Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340+
341+::code-preview
342+---
343+class: "[&>div]:*:my-0 [&>div]:*:w-full"
344+---
345+ :::code-collapse
346+ ---
347+ class: "[&>div]:my-0"
348+ ---
349+ ```css [main.css]
350+ @import "tailwindcss";
351+ @import "@nuxt/ui";
352+
353+ @theme {
354+ --font-sans: 'Public Sans', sans-serif;
355+
356+ --breakpoint-3xl: 1920px;
357+
358+ --color-green-50: #EFFDF5;
359+ --color-green-100: #D9FBE8;
360+ --color-green-200: #B3F5D1;
361+ --color-green-300: #75EDAE;
362+ --color-green-400: #00DC82;
363+ --color-green-500: #00C16A;
364+ --color-green-600: #00A155;
365+ --color-green-700: #007F45;
366+ --color-green-800: #016538;
367+ --color-green-900: #0A5331;
368+ --color-green-950: #052E16;
369+ }
370+ ```
371+ :::
372+
373+#code
374+````mdc
375+::code-collapse
376+
377+```css [main.css]
378+@import "tailwindcss";
379+@import "@nuxt/ui";
380+
381+@theme {
382+--font-sans: 'Public Sans', sans-serif;
383+
384+--breakpoint-3xl: 1920px;
385+
386+--color-green-50: #EFFDF5;
387+--color-green-100: #D9FBE8;
388+--color-green-200: #B3F5D1;
389+--color-green-300: #75EDAE;
390+--color-green-400: #00DC82;
391+--color-green-500: #00C16A;
392+--color-green-600: #00A155;
393+--color-green-700: #007F45;
394+--color-green-800: #016538;
395+--color-green-900: #0A5331;
396+--color-green-950: #052E16;
397+}
398+```
399+
400+::
401+````
402+::
.starters/i18n/content/en/2.essentials/3.components.md+424−0
@@ -0,0 +1,424 @@
1+---
2+title: Markdown Components
3+description: Use Markdown components to help you structure your content, with
4+ the help of Nuxt UI.
5+navigation:
6+ icon: i-lucide-component
7+ title: Components
8+---
9+
10+Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
11+
12+**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
13+
14+::note{to="https://ui.nuxt.com/getting-started"}
15+This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
16+::
17+
18+### `Accordion`
19+
20+Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
21+
22+::tabs
23+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
24+ ::::accordion
25+ :::::accordion-item
26+ ---
27+ icon: i-lucide-circle-help
28+ label: What is Docus and what are its key features??
29+ ---
30+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
31+ :::::
32+
33+ :::::accordion-item
34+ ---
35+ icon: i-lucide-circle-help
36+ label: How do I get started with Docus?
37+ ---
38+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
39+ :::::
40+
41+ :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
42+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
43+ :::::
44+ ::::
45+ :::
46+
47+ :::tabs-item{icon="i-lucide-code" label="Code"}
48+ ```mdc
49+ ::accordion
50+
51+ :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
52+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
53+ :::
54+
55+ :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
56+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
57+ :::
58+
59+ :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
60+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
61+ :::
62+ ::
63+ ```
64+ :::
65+::
66+
67+### `Badge`
68+
69+Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
70+
71+::tabs
72+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
73+ ::::badge
74+ **v3.0.0**
75+ ::::
76+ :::
77+
78+ :::tabs-item{icon="i-lucide-code" label="Code"}
79+ ```mdc
80+ ::badge
81+ **v3.0.0**
82+ ::
83+ ```
84+ :::
85+::
86+
87+### `Callout`
88+
89+Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
90+
91+Use the `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link) component.
92+
93+You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
94+
95+::tabs
96+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
97+ ::::div{.flex.flex-col.gap-4.w-full}
98+ :::::note{.w-full.my-0}
99+ Here's some additional information for you.
100+ :::::
101+
102+ :::::tip{.w-full.my-0}
103+ Here's a helpful suggestion.
104+ :::::
105+
106+ :::::warning{.w-full.my-0}
107+ Be careful with this action as it might have unexpected results.
108+ :::::
109+
110+ :::::caution{.w-full.my-0}
111+ This action cannot be undone.
112+ :::::
113+ ::::
114+ :::
115+
116+ :::tabs-item{icon="i-lucide-code" label="Code"}
117+ ```mdc
118+ ::note
119+ Here's some additional information.
120+ ::
121+
122+ ::tip
123+ Here's a helpful suggestion.
124+ ::
125+
126+ ::warning
127+ Be careful with this action as it might have unexpected results.
128+ ::
129+
130+ ::caution
131+ This action cannot be undone.
132+ ::
133+ ```
134+ :::
135+::
136+
137+### `Card` and `CardGroup`
138+
139+Use markdown in the default slot of the `card` component to highlight your content.
140+
141+Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link).
142+
143+Wrap your `card` components with the `card-group` component to group them together in a grid layout.
144+
145+::tabs
146+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
147+ ::::card-group{.w-full.my-0}
148+ :::::card
149+ ---
150+ icon: i-simple-icons-github
151+ target: _blank
152+ title: Dashboard
153+ to: https://github.com/nuxt-ui-templates/dashboard
154+ ---
155+ A dashboard with multi-column layout.
156+ :::::
157+
158+ :::::card
159+ ---
160+ icon: i-simple-icons-github
161+ target: _blank
162+ title: SaaS
163+ to: https://github.com/nuxt-ui-templates/saas
164+ ---
165+ A template with landing, pricing, docs and blog.
166+ :::::
167+
168+ :::::card
169+ ---
170+ icon: i-simple-icons-github
171+ target: _blank
172+ title: Docs
173+ to: https://github.com/nuxt-ui-templates/docs
174+ ---
175+ A documentation with `@nuxt/content`.
176+ :::::
177+
178+ :::::card
179+ ---
180+ icon: i-simple-icons-github
181+ target: _blank
182+ title: Landing
183+ to: https://github.com/nuxt-ui-templates/landing
184+ ---
185+ A landing page you can use as starting point.
186+ :::::
187+ ::::
188+ :::
189+
190+ :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
191+ ```mdc
192+ :::card-group
193+
194+ ::card
195+ ---
196+ title: Dashboard
197+ icon: i-simple-icons-github
198+ to: https://github.com/nuxt-ui-templates/dashboard
199+ target: _blank
200+ ---
201+ A dashboard with multi-column layout.
202+ ::
203+
204+ ::card
205+ ---
206+ title: SaaS
207+ icon: i-simple-icons-github
208+ to: https://github.com/nuxt-ui-templates/saas
209+ target: _blank
210+ ---
211+ A template with landing, pricing, docs and blog.
212+ ::
213+
214+ ::card
215+ ---
216+ title: Docs
217+ icon: i-simple-icons-github
218+ to: https://github.com/nuxt-ui-templates/docs
219+ target: _blank
220+ ---
221+ A documentation with `@nuxt/content`.
222+ ::
223+
224+ ::card
225+ ---
226+ title: Landing
227+ icon: i-simple-icons-github
228+ to: https://github.com/nuxt-ui-templates/landing
229+ target: _blank
230+ ---
231+ A landing page you can use as starting point.
232+ ::
233+
234+ :::
235+ ```
236+ :::
237+::
238+
239+### `Collapsible`
240+
241+Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
242+
243+::tabs
244+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
245+ ::::collapsible
246+ | Prop | Default | Type |
247+ | ------- | --------- | -------- |
248+ | `name` | | `string` |
249+ | `size` | `md` | `string` |
250+ | `color` | `neutral` | `string` |
251+ ::::
252+ :::
253+
254+ :::tabs-item{icon="i-lucide-code" label="Code"}
255+ ```mdc
256+ ::collapsible
257+
258+ | Prop | Default | Type |
259+ |---------|-----------|--------------------------|
260+ | `name` | | `string`{lang="ts-type"} |
261+ | `size` | `md` | `string`{lang="ts-type"} |
262+ | `color` | `neutral` | `string`{lang="ts-type"} |
263+
264+ ::
265+ ```
266+ :::
267+::
268+
269+### `Field` and `FieldGroup`
270+
271+A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
272+
273+::tabs
274+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
275+ ::::field-group{.my-0}
276+ :::::field{name="analytics" type="boolean"}
277+ Default to `false` - Enables analytics for your project (coming soon).
278+ :::::
279+
280+ :::::field{name="blob" type="boolean"}
281+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
282+ :::::
283+
284+ :::::field{name="cache" type="boolean"}
285+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
286+ :::::
287+
288+ :::::field{name="database" type="boolean"}
289+ Default to `false` - Enables SQL database to store your application's data.
290+ :::::
291+ ::::
292+ :::
293+
294+ :::tabs-item{icon="i-lucide-code" label="Code"}
295+ ```mdc
296+ ::field-group
297+ ::field{name="analytics" type="boolean"}
298+ Default to `false` - Enables analytics for your project (coming soon).
299+ ::
300+
301+ ::field{name="blob" type="boolean"}
302+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
303+ ::
304+
305+ ::field{name="cache" type="boolean"}
306+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
307+ ::
308+
309+ ::field{name="database" type="boolean"}
310+ Default to `false` - Enables SQL database to store your application's data.
311+ ::
312+ ::
313+ ```
314+ :::
315+::
316+
317+### `Icon`
318+
319+Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
320+
321+::code-preview
322+:icon{name="i-simple-icons-nuxtdotjs"}
323+
324+
325+
326+#code
327+```mdc
328+:icon{name="i-simple-icons-nuxtdotjs"}
329+```
330+::
331+
332+### `Kbd`
333+
334+Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
335+
336+::code-preview
337+#code
338+```mdc
339+:kbd{value="meta"} :kbd{value="K"}
340+```
341+::
342+
343+### `Tabs`
344+
345+Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
346+
347+::code-preview
348+ :::tabs{.w-full}
349+ ::::tabs-item{icon="i-lucide-code" label="Code"}
350+ ```mdc
351+ ::callout
352+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
353+ ::
354+ ```
355+ ::::
356+
357+ ::::tabs-item{icon="i-lucide-eye" label="Preview"}
358+ :::::callout
359+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
360+ :::::
361+ ::::
362+ :::
363+
364+#code
365+````mdc
366+::tabs{.w-full}
367+ :::tabs-item{icon="i-lucide-code" label="Code"}
368+ ```mdc
369+ ::::callout
370+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
371+ ::::
372+ ```
373+ ::::
374+
375+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
376+ :::::callout
377+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
378+ :::::
379+ :::
380+::
381+````
382+::
383+
384+### `Steps`
385+
386+Wrap your headings with the Steps component to display a list of steps.
387+
388+Use the `level` prop to define which heading will be used for the steps.
389+
390+::tabs
391+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
392+ ::::steps{level="4"}
393+ #### Start a fresh new project
394+
395+ ```bash [Terminal]
396+ npm create nuxt@latest -- -t github:nuxt-content/docus
397+ ```
398+
399+ #### Run docus CLI to run your dev server
400+
401+ ```bash [Terminal]
402+ docus dev
403+ ```
404+ ::::
405+ :::
406+
407+ :::tabs-item{icon="i-lucide-code" label="Code"}
408+ ````mdc
409+ ::steps{level="4"}
410+ #### Start a fresh new project
411+
412+ ```bash [Terminal]
413+ npm create nuxt@latest -- -t github:nuxt-content/docus
414+ ```
415+
416+ #### Run docus CLI to run your dev server
417+
418+ ```bash [Terminal]
419+ docus dev
420+ ```
421+ ::
422+ ````
423+ :::
424+::
.starters/i18n/content/en/2.essentials/4.images-embeds.md+53−0
@@ -0,0 +1,53 @@
1+---
2+title: Images and Embeds
3+description: Add image, video, and other HTML elements
4+navigation:
5+ icon: i-lucide-image
6+seo:
7+ description: Add image, video, and other HTML elements using Docus theme
8+---
9+
10+## Markdown
11+
12+Display images or videos using standard Markdown syntax.
13+
14+### Images
15+
16+::code-preview
17+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
18+
19+#code
20+```mdc
21+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
22+```
23+::
24+
25+Or with your local images
26+
27+::code-preview
28+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
29+
30+#code
31+```mdc
32+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
33+```
34+::
35+
36+::note{to="https://image.nuxt.com/"}
37+Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
38+::
39+
40+### Videos
41+
42+::code-preview
43+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
44+
45+
46+
47+#code
48+```mdc
49+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
50+```
51+::
52+
53+###
.starters/i18n/content/en/index.md+123−0
@@ -0,0 +1,123 @@
1+---
2+seo:
3+ title: Write beautiful docs with Markdown
4+ description: Ship fast, flexible, and SEO-optimized documentation with beautiful
5+ design out of the box. Docus brings together the best of the Nuxt ecosystem.
6+ Powered by Nuxt UI.
7+---
8+
9+::u-page-hero
10+#title
11+Write beautiful docs with Markdown
12+
13+#description
14+Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box.
15+
16+Docus brings the best of the Nuxt ecosystem into one CLI.
17+
18+#links
19+ :::u-button
20+ ---
21+ color: neutral
22+ size: xl
23+ to: /en/getting-started/installation
24+ trailing-icon: i-lucide-arrow-right
25+ ---
26+ Get started
27+ :::
28+
29+ :::u-button
30+ ---
31+ color: neutral
32+ icon: simple-icons-github
33+ size: xl
34+ to: https://github.com/nuxt-content/docus
35+ variant: outline
36+ ---
37+ Star on GitHub
38+ :::
39+::
40+
41+::u-page-section
42+#title
43+Shipped with many features
44+
45+#features
46+ :::u-page-feature
47+ ---
48+ icon: i-simple-icons-nuxt
49+ target: _blank
50+ to: https://nuxt.com
51+ ---
52+ #title
53+ Built with [Nuxt 4]{.text-primary}
54+
55+ #description
56+ Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
57+ :::
58+
59+ :::u-page-feature
60+ ---
61+ icon: i-simple-icons-nuxt
62+ target: _blank
63+ to: https://ui.nuxt.com/
64+ ---
65+ #title
66+ Powered by [Nuxt UI]{.text-primary}
67+
68+ #description
69+ Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
70+ :::
71+
72+ :::u-page-feature
73+ ---
74+ icon: i-simple-icons-nuxt
75+ target: _blank
76+ to: https://content.nuxt.com
77+ ---
78+ #title
79+ Enhanced Markdown syntax by [Nuxt Content]{.text-primary}
80+
81+ #description
82+ The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
83+ :::
84+
85+ :::u-page-feature
86+ ---
87+ icon: i-simple-icons-nuxt
88+ target: _blank
89+ to: https://nuxt.com/docs/guide/directory-structure/app-config
90+ ---
91+ #title
92+ Customize with [Nuxt App Config]{.text-primary}
93+
94+ #description
95+ Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
96+ :::
97+
98+ :::u-page-feature
99+ ---
100+ icon: i-simple-icons-nuxt
101+ target: _blank
102+ to: https://content.nuxt.com/studio
103+ ---
104+ #title
105+ Edit in production with [Nuxt Studio]{.text-primary}
106+
107+ #description
108+ Edit your content in production with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
109+ :::
110+
111+ :::u-page-feature
112+ ---
113+ icon: i-simple-icons-nuxt
114+ target: _blank
115+ to: https://ui.nuxt.com/components/content-search
116+ ---
117+ #title
118+ Built-in navigation and [full-text search]{.text-primary}
119+
120+ #description
121+ Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
122+ :::
123+::
.starters/i18n/content/fr/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Bien démarrer
2+icon: false
.starters/i18n/content/fr/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1+---
2+title: Introduction
3+description: Bienvenue dans la documentation du thème Docus.
4+navigation:
5+ icon: i-lucide-house
6+seo:
7+ title: Introduction
8+ description: Découvrez comment créer, gérer et publier une documentation facilement avec Docus.
9+---
10+
11+Bienvenue sur **Docus**, une solution de documentation entièrement intégrée construite avec [Nuxt UI](https://ui.nuxt.com).
12+
13+## Qu'est-ce que Docus ?
14+
15+Docus est un thème basé sur le [template de documentation UI](https://docs-template.nuxt.dev/). Le style visuel est prêt à l'emploi, votre priorité doit être d'écrire du contenu en utilisant la syntaxe Markdown et [MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par [Nuxt Content](https://content.nuxt.com).
16+
17+Nous utilisons ce thème pour toutes nos documentations de modules Nuxt, y compris :
18+
19+::card-group
20+ :::card
21+ ---
22+ icon: i-lucide-image
23+ target: _blank
24+ title: Nuxt Image
25+ to: https://image.nuxt.com
26+ ---
27+ La documentation de `@nuxt/image`
28+ :::
29+
30+ :::card
31+ ---
32+ icon: i-simple-icons-nuxtdotjs
33+ target: _blank
34+ title: Nuxt Content
35+ to: https://content.nuxt.com
36+ ---
37+ La documentation de `@nuxt/content`
38+ :::
39+
40+ :::card
41+ ---
42+ icon: i-simple-icons-supabase
43+ target: _blank
44+ title: Nuxt Supabase
45+ to: https://supabase.nuxtjs.org
46+ ---
47+ La documentation de `@nuxt/supabase`
48+ :::
49+
50+ :::card
51+ ---
52+ icon: i-simple-icons-strapi
53+ target: _blank
54+ title: Nuxt Strapi
55+ to: https://strapi.nuxtjs.org
56+ ---
57+ La documentation de `@nuxt/strapi`
58+ :::
59+::
60+
61+## Fonctionnalités clés
62+
63+Ce thème inclut de nombreuses fonctionnalités pour améliorer la gestion de votre documentation :
64+
65+- **Propulsé par** **[Nuxt 4](https://nuxt.com)** : Utilise le dernier framework Nuxt pour des performances optimales.
66+- **Construit avec** **[Nuxt UI](https://ui.nuxt.com)**: Intègre une suite complète de composants UI.
67+- **[Syntaxe MDC](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)** : Prend en charge le Markdown avec intégration de composants pour du contenu dynamique.
68+- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible** : Rédigez et éditez votre contenu visuellement. Aucune connaissance Markdown requise !
69+- **Navigation latérale auto-générée** : Génère automatiquement la navigation à partir de la structure du contenu.
70+- **Recherche plein texte** : Fonctionnalité de recherche intégrée pour découvrir le contenu.
71+- **Typographie optimisée** : Typographie raffinée pour une meilleure lisibilité.
72+- **Mode sombre** : Prend en charge le mode sombre selon la préférence utilisateur.
73+- **Fonctionnalités étendues** : Explorez le thème pour découvrir toutes ses capacités.
.starters/i18n/content/fr/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1+---
2+title: Installation
3+description: Commencez avec Docus.
4+navigation:
5+ icon: i-lucide-download
6+seo:
7+ description: Démarrez avec le thème de documentation Docus.
8+ title: Installation
9+---
10+
11+## CLI `create-docus`
12+
13+::steps
14+### Créez votre dossier de documentation
15+
16+Utilisez le CLI `create-docus` pour créer un nouveau projet Docus :
17+
18+```bash [Terminal]
19+npx create-docus my-docs
20+```
21+
22+Vous pouvez choisir entre deux templates:
23+
24+- `default` : Configuration Docus de base pour une documentation monolingue
25+- `i18n` : Inclut le support d'internationalisation pour une documentation multilingue
26+
27+```bash [Terminal]
28+# Créer avec le modèle i18n
29+npx create-docus my-docs -t i18n
30+```
31+
32+Nous recommandons d'utiliser le gestionnaire de paquets `npm`.
33+
34+### Démarrez votre serveur de documentation en mode développement
35+
36+Déplacez-vous dans votre dossier de documentation et démarrez votre serveur:
37+
38+```bash [Terminal]
39+cd my-docs
40+npm run dev
41+```
42+
43+Un aperçu de votre documentation sera disponible sur <http://localhost:3000>
44+
45+### Rédigez votre documentation
46+
47+Rendez-vous dans la section [Syntaxe Markdown](/fr/essentials/markdown-syntax) pour apprendre à rédiger votre documentation.
48+::
49+
50+## Intégration du layer Docus
51+
52+Docus v4 utilise une **approche basée sur les layers Nuxt**, vous pouvez étendre le layer Docus directement dans votre `nuxt.config.ts` avec `extends: ['docus']` :
53+
54+```ts [nuxt.config.ts]
55+export default defineNuxtConfig({
56+ extends: ['docus']
57+})
58+```
.starters/i18n/content/fr/1.getting-started/4.project-structure.md+157−0
@@ -0,0 +1,157 @@
1+---
2+title: Structure du projet
3+description: Comprendre la structure de projet de Docus v4.
4+navigation:
5+ icon: i-lucide-folder-tree
6+---
7+
8+## Structure globale
9+
10+Docus est un **layer Nuxt** qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.
11+
12+Lorsque vous créez un nouveau projet Docus avec `npx create-docus my-docs`, voici la structure de base:
13+
14+```bash
15+my-docs/
16+├── content/ # Votre contenu markdown
17+│ ├── index.md # Page d'accueil
18+│ └── docs/ # Pages de documentation
19+├── public/ # Ressources statiques
20+└── package.json # Dépendances et scripts
21+```
22+
23+Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :
24+
25+```bash
26+my-docs/
27+├── nuxt.config.ts # Configuration Nuxt (ajouter des modules, composants...)
28+├── app/ # Répertoire app
29+ ├── app.config.ts # App configuration
30+│ ├── components/ # Composants (ajoutez vos propres composants)
31+│ ├── layouts/ # Layouts (ajoutez vos propres layouts)
32+│ └── pages/ # Pages (ajoutez vos propres pages)
33+└── server/ # Code côté serveur (ajoutez votre propre code côté serveur)
34+```
35+
36+### Répertoire `content/`
37+
38+C'est ici que vous rédigez vos pages en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.
39+
40+**Structure monolingue :**
41+
42+```bash
43+content/
44+├── index.md # Page d'accueil (/)
45+├── getting-started.md # Page de documentation (/getting-started)
46+└── guide/
47+ ├── introduction.md # Page de documentation (/guide/introduction)
48+ └── configuration.md # Page de documentation (/guide/configuration)
49+```
50+
51+::tip
52+Vous pouvez séparer vos fichiers de documentation dans un sous-dossier `docs/` pour les rendre accessibles à la route `/docs`. De plus, vous avez la flexibilité de remplacer votre page d'accueil en utilisant des pages Vue personnalisées si désiré. En savoir plus dans la [documentation d'édition](https://docus.dev/concepts/edition).
53+::
54+
55+**Structure multilingue (avec i18n) :**
56+
57+```bash
58+content/
59+├── en/
60+│ ├── index.md # Page d'accueil anglaise (/en)
61+│ └── guide/
62+│ └── introduction.md # Page de documentation (/en/guide/introduction)
63+└── fr/
64+ ├── index.md # Page d'accueil française (/fr)
65+ └── guide/
66+ └── introduction.md # Page de documentation (/fr/guide/introduction)
67+```
68+
69+::tip{to="https://docus.dev/concepts/internationalization"}
70+Plus d'informations sur i18n sont disponibles dans la section internationalisation.
71+::
72+
73+### Répertoire `public/`
74+
75+Les fichiers contenus dans le répertoire `public/` sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.
76+
77+### `package.json`
78+
79+Ce fichier contient toutes les dépendances et scripts de votre application. Le `package.json` d'une application Docus est vraiment minimal et ressemble à :
80+
81+```json [package.json]
82+{
83+ "name": "my-docs",
84+ "scripts": {
85+ "build": "nuxt build --extends docus",
86+ "dev": "nuxt dev --extends docus",
87+ },
88+ "dependencies": {
89+ "docus": "latest",
90+ "better-sqlite3": "^12.2.0",
91+ "nuxt": "^4.0.0"
92+ }
93+}
94+```
95+
96+### `nuxt.config.ts`
97+
98+*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
99+
100+Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :
101+
102+```typescript [nuxt.config.ts]
103+export default defineNuxtConfig({
104+ extends: ['@vercel/analytics/nuxt/module']
105+})
106+```
107+
108+### `app.config.ts`
109+
110+*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
111+
112+::warning
113+Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
114+::
115+
116+C'est ici que vous pouvez configurer Docus pour l'adapter à votre marque, gérer le SEO, définir votre locale et adapter les liens et réseaux sociaux. Consultez la [documentation de configuration](https://docus.dev/concepts/configuration) pour plus de détails.
117+
118+```ts [app.config.ts]
119+export default defineAppConfig({
120+ docus: {
121+ locale: 'fr', // Définir votre locale monolingue
122+ },
123+ seo: {
124+ title: 'Ma Documentation',
125+ description: 'Ma super documentation',
126+ },
127+ // ... autres configurations
128+})
129+```
130+
131+## Structure complète d'un projet Nuxt
132+
133+Puisque Docus est un layer Nuxt, vous pouvez utiliser **n'importe quelle fonctionnalité** d'un projet Nuxt standard :
134+
135+::warning
136+Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app Nuxt. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
137+::
138+
139+```bash
140+my-docs/
141+├── app/ # Répertoire app (optionnel)
142+│ ├── app.config.ts # App configuration
143+│ ├── components/ # Composants Vue personnalisés
144+│ ├── layouts/ # Layouts personnalisés
145+│ ├── pages/ # Pages Vue personnalisées (en dehors du contenu)
146+│ ├── composables/ # Composables Vue
147+│ └── middleware/ # Middleware de route
148+├── server/ # Code côté serveur
149+│ └── api/ # Routes API
150+├── plugins/ # Plugins Nuxt
151+├── middleware/ # Middleware global
152+└── modules/ # Modules Nuxt personnalisés
153+```
154+
155+::tip{to="https://docus.dev/concepts/nuxt"}
156+Cette approche basée sur les layers offre toutes les fonctionnalités d'un projet Nuxt classique.
157+::
.starters/i18n/content/fr/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1+---
2+title: Module Studio
3+description: Éditez votre site Nuxt Content directement en production avec l'éditeur web Studio auto-hébergé.
4+navigation:
5+ icon: i-lucide-mouse-pointer-2
6+ title: Module Studio
7+seo:
8+ title: Éditeur web Nuxt Studio
9+ description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
10+icon:
11+ i-lucide-mouse-pointer-2 title: Éditeur web
12+ seo:
13+ title: Module Nuxt Studio
14+ description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
15+---
16+
17+Le module **Nuxt Studio** est une interface accessible depuis le navigateur permettant d'éditer votre site Nuxt Content directement en production. Accédez-y via une authentification GitHub, GitLab ou Google sur votre site déployé, et commencez à gérer votre contenu sans aucun outil de développement local.
18+
19+::tip{to="https://nuxt.studio/introduction"}
20+Consultez la documentation de Nuxt Studio pour apprendre comment installer le module.
21+::
22+
23+:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24+
25+L'**éditeur Studio** vous permet de gérer entièrement votre contenu depuis votre navigateur sur votre site en production. Pas besoin d'outils de développement local, de commandes Git ou d'accès au terminal. C'est idéal pour les équipes de contenu qui souhaitent éditer et prévisualiser leurs modifications dans un environnement familier.
26+
27+## Édition visuelle en production pour votre site Nuxt Content
28+
29+Nuxt Studio offre une **édition visuelle directement en production** pour les sites propulsés par Nuxt Content.
30+
31+Initialement proposé comme une plateforme premium autonome, Studio est désormais un **module Nuxt gratuit, open-source et auto-hébergeable**. Il permet à toute votre équipe, développeurs comme éditeurs non-techniques, de créer et mettre à jour du contenu en toute sécurité sans quitter votre site en ligne.
32+
33+## Fonctionnalités actuelles
34+
35+### ✨ **Éditeur visuel TipTap**
36+
37+Éditeur Markdown enrichi avec prise en charge complète des composants MDC.
38+
39+### 💻 **Éditeur de code Monaco**
40+
41+Éditeur de code avancé pour les fichiers Markdown (MDC), YAML et JSON si vous souhaitez éditer le code brut.
42+
43+### 📝 **Éditeur basé sur des formulaires**
44+
45+Éditez les fichiers YAML, JSON et le frontmatter à l'aide de formulaires générés automatiquement selon les schémas de collections.
46+
47+### 🎨 **Éditeur de props de composants Vue**
48+
49+Interface visuelle pour éditer les props des composants Vue directement depuis l'éditeur.
50+
51+### 🔄 **Prévisualisation en temps réel**
52+
53+Prévisualisez instantanément les modifications de contenu sur votre site en production.
54+
55+### 🔐 **Authentification multi-fournisseurs**
56+
57+Authentification OAuth sécurisée avec GitHub, GitLab et Google.
58+
59+### 🔑 **Authentification personnalisée**
60+
61+Utilitaires pour implémenter des flux d'authentification personnalisés (mot de passe, SSO, LDAP, etc.).
62+
63+### 📝 **Gestion des fichiers**
64+
65+Créez, éditez, renommez et supprimez des fichiers de contenu dans le répertoire `content/`.
66+
67+### 🖼 **Gestion des médias**
68+
69+Bibliothèque de médias centralisée avec prise en charge des formats JPEG, PNG, GIF, WebP, AVIF, SVG et plus encore.
70+
71+### 🌳 **Intégration Git**
72+
73+Commitez les modifications de contenu directement depuis la production et appuyez-vous sur votre pipeline CI/CD pour les déployer.
74+
75+### 🚀 **Mode développement**
76+
77+Éditez les fichiers de contenu et de médias directement depuis votre système de fichiers local via l'interface Studio.
78+
79+### 🌍 **Internationalisation**
80+
81+Prise en charge complète de l'i18n pour 17 langues : AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82+
83+## Fonctionnalités à venir
84+
85+### 📂 **Vue des collections**
86+
87+Gérez et naviguez dans toutes les collections de contenu depuis une interface unifiée.
88+
89+### 🖼 **Optimisation des médias**
90+
91+Optimisez les images et ressources médias directement dans l'éditeur.
92+
93+### 🤖 **Assistant IA pour le contenu**
94+
95+Obtenez des suggestions intelligentes alimentées par l'IA pour améliorer et accélérer la création de contenu.
96+
97+### 💡 **Fonctionnalités pilotées par la communauté**
98+
99+Vous avez une idée ? Partagez vos retours et contribuez à façonner l'avenir de Nuxt Studio.
.starters/i18n/content/fr/1.getting-started/6.migration.md+41−0
@@ -0,0 +1,41 @@
1+---
2+title: Migration
3+description: Comment migrer votre documentation d'une solution Markdown existante vers Docus
4+navigation:
5+ icon: i-lucide-replace
6+---
7+
8+## **Migration de Docus v3 vers v4**
9+
10+Docus v4 introduit une nouvelle version qui exploite le CLI Nuxt au lieu du CLI Docus. Votre contenu et vos configurations existants restent compatibles, il suffit simplement de mettre à jour la commande pour lancer le serveur ou le build.
11+
12+### ⚠️ Breaking changes
13+
14+Les principaux changements cassants sont liés aux commandes CLI :
15+
16+| v3 | v4 |
17+| ------------------------ | --------------------------- |
18+| `npx docus init my-docs` | `npx create-docus my-docs` |
19+| `docus dev` | `nuxt dev --extends docus` |
20+| `docus build` | `nuxt build --extends docus` |
21+
22+::tip
23+Votre contenu Markdown existant fonctionnera sans changements. La migration concerne principalement la mise à jour de votre workflow de développement et de build.
24+::
25+
26+## **Migrer vers Docus**
27+
28+Vous utilisez déjà une solution basée sur Markdown pour votre documentation ? Que ce soit **Docus v1**, le **template de docs Nuxt UI**, ou une autre solution de site statique, migrer vers Docus est simple et direct.
29+
30+Docus offre une solution propre et maintenable avec une seule dépendance : la bibliothèque Docus elle-même. Plus besoin de gérer de multiples dépendances. Tout est intégré et maintenu ensemble, ce qui facilite la mise à jour de votre documentation.
31+
32+Pour migrer, déplacez simplement vos fichiers Markdown existants dans le dossier `content/` du starter Docus.
33+
34+À partir de là, deux scénarios :
35+
36+- **Si votre documentation actuelle utilise déjà Nuxt Content et la syntaxe MDC**, assurez-vous que les composants utilisés existent dans Nuxt UI. Si certains composants manquent, vous pouvez facilement créer les vôtres.
37+- **Si vous utilisez du Markdown standard**, vous pouvez copier vos fichiers tels quels. Ensuite, améliorez progressivement votre documentation en utilisant les composants intégrés fournis par Nuxt UI.
38+
39+Une fois votre contenu déplacé dans le dossier `content/`, vous pouvez personnaliser votre application en suivant la [documentation de configuration](https://docus.dev/concepts/configuration).
40+
41+Docus est conçu pour se concentrer sur la rédaction de contenu, donc si vous utilisez déjà Markdown, vous pouvez facilement passer à Docus.
.starters/i18n/content/fr/1.getting-started/7.troubleshooting.md+31−0
@@ -0,0 +1,31 @@
1+---
2+title: Dépannage
3+description: Problèmes courants et solutions liés à Docus.
4+navigation:
5+ icon: i-lucide-wrench
6+seo:
7+ description: Guide de dépannage pour les problèmes courants de Docus.
8+ title: Dépannage
9+---
10+
11+## Problèmes avec `pnpm`
12+
13+Si vous rencontrez des erreurs lors du build ou du développement avec `pnpm`, en particulier liées à la dépendance `better-sqlite3`, il se peut que vous deviez approuver certains paquets pour qu’ils puissent être compilés.
14+
15+Exécutez la commande suivante pour approuver les paquets à compiler:
16+
17+```bash [Terminal]
18+pnpm approve-builds
19+```
20+
21+Lorsque vous y êtes invité, sélectionnez `better-sqlite3` et `sharp` dans la liste des packages pour l'approuver pour la compilation.
22+
23+### Activer le *shameful hoisting* (mode compatibilité)
24+
25+Si vous voyez des erreurs du type `Can't resolve 'tailwindcss'` ou `Can't resolve '@nuxt/ui'`, vous n’avez pas forcément besoin de les importer. Vous pouvez simplement appliquer une structure flat des `node_modules` (comme avec npm ou yarn).
26+
27+Vous pouvez activer le mode compatibilité en créant un fichier `.npmrc` contenant :
28+
29+```js
30+shamefully-hoist=true
31+```
.starters/i18n/content/fr/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1+title: Essentiels
.starters/i18n/content/fr/2.essentials/1.markdown-syntax.md+224−0
@@ -0,0 +1,224 @@
1+---
2+title: Syntaxe Markdown
3+description: Texte, titres et mise en forme en markdown standard.
4+navigation:
5+ icon: i-lucide-heading-1
6+links: []
7+---
8+
9+## Titres
10+
11+Utilisez des titres pour introduire les sections principales. Ils structurent votre documentation et aident les utilisateurs à naviguer dans le contenu.
12+
13+::code-preview
14+---
15+class: "[&>div]:*:my-0"
16+---
17+## Titres
18+
19+#code
20+```mdc
21+## Titres
22+```
23+::
24+
25+### Sous-titres
26+
27+Utilisez des sous-titres pour diviser davantage les sections. Ils créent une hiérarchie de contenu plus détaillée pour une meilleure lisibilité.
28+
29+::code-preview
30+---
31+class: "[&>div]:*:my-0"
32+---
33+### Sous-titres
34+
35+#code
36+```mdc
37+### Sous-titres
38+```
39+::
40+
41+::tip
42+Chaque titre et sous-titre crée une ancre et apparaît automatiquement dans la table des matières.
43+::
44+
45+## Mise en forme du texte
46+
47+Docus prend en charge la plupart des options de mise en forme Markdown.
48+
49+| Style | Syntaxe | Résultat |
50+| -------- | ------------ | ---------- |
51+| Gras | `**gras**` | **Gras** |
52+| Italique | `*italique*` | *Italique* |
53+| Barré | `~~barré~~` | ~~Barré~~ |
54+
55+Combinez les styles pour enrichir le texte et mettre en valeur des éléments.
56+
57+| Style | Syntaxe | Résultat |
58+| -------------- | --------------------- | ------------------- |
59+| Gras Italique | `**_gras italique_**` | ***Gras Italique*** |
60+| Gras Barré | `~~**gras**~~` | ~~**Gras**~~ |
61+| Italique Barré | `~~*italique*~~` | ~~*Italique*~~ |
62+
63+## Liens
64+
65+Les liens relient différentes parties de votre documentation et des ressources externes, essentiels pour la navigation et les références.
66+Pour créer un lien, entourez le texte du lien avec des crochets `[]()`.
67+
68+::code-preview
69+---
70+class: "[&>div]:*:my-0"
71+---
72+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
73+
74+#code
75+```mdc
76+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
77+```
78+::
79+
80+### Liens internes
81+
82+Pour lier des pages de votre documentation, utilisez des chemins relatifs à la racine comme `/getting-started/installation`.
83+
84+::code-preview
85+---
86+class: "[&>div]:*:my-0"
87+---
88+[Installation](/fr/getting-started/installation)
89+
90+#code
91+```mdc
92+[Installation](/fr/getting-started/installation)
93+```
94+::
95+
96+## Listes
97+
98+Organisez des éléments liés dans un format structuré et lisible. Markdown prend en charge les listes non ordonnées, ordonnées et imbriquées pour divers besoins.
99+
100+### Non ordonnée
101+
102+Utilisez des listes non ordonnées pour des éléments sans ordre particulier. Commencez chaque élément par un symbole `-`.
103+
104+::code-preview
105+---
106+class: "[&>div]:*:my-0"
107+---
108+- Je suis un élément de liste.
109+- Je suis un autre élément de liste.
110+- Je suis le dernier élément de liste.
111+
112+#code
113+```mdc
114+- Je suis un élément de liste.
115+- Je suis un autre élément de liste.
116+- Je suis le dernier élément de liste.
117+```
118+::
119+
120+### Ordonnée
121+
122+Utilisez des listes ordonnées lorsque l'ordre des éléments est important, comme des étapes d'un processus. Commencez chaque élément par un numéro.
123+
124+::code-preview
125+---
126+class: "[&>div]:*:my-0"
127+---
128+1. Je suis un élément de liste.
129+2. Je suis un autre élément de liste.
130+3. Je suis le dernier élément de liste.
131+
132+#code
133+```mdc
134+1. Je suis un élément de liste.
135+2. Je suis un autre élément de liste.
136+3. Je suis le dernier élément de liste.
137+```
138+::
139+
140+### Imbriquée
141+
142+Créez des listes hiérarchiques avec des sous-éléments pour des structures complexes. Indentez les sous-éléments de quatre espaces pour l'imbrication.
143+
144+::code-preview
145+---
146+class: "[&>div]:*:my-0"
147+---
148+- Je suis un élément de liste.
149+ - Je suis un élément de liste imbriqué.
150+ - Je suis un autre élément de liste imbriqué.
151+- Je suis un autre élément de liste.
152+
153+#code
154+```mdc
155+- Je suis un élément de liste.
156+ - Je suis un élément de liste imbriqué.
157+ - Je suis un autre élément de liste imbriqué.
158+- Je suis un autre élément de liste.
159+```
160+::
161+
162+## Tableaux
163+
164+Présentez des données structurées en lignes et colonnes. Les tableaux sont idéaux pour comparer des données ou lister des propriétés.
165+
166+::code-preview
167+---
168+class: "[&>div]:*:my-0 [&>div]:*:w-full"
169+---
170+| Prop | Défaut | Type |
171+| ------- | --------- | -------- |
172+| `name` | | `string` |
173+| `size` | `md` | `string` |
174+| `color` | `neutral` | `string` |
175+
176+#code
177+```mdc
178+| Prop | Défaut | Type |
179+|---------|-----------|--------------------------|
180+| `name` | | `string`{lang="ts-type"} |
181+| `size` | `md` | `string`{lang="ts-type"} |
182+| `color` | `neutral` | `string`{lang="ts-type"} |
183+```
184+::
185+
186+## Citations
187+
188+Mettez en avant des citations, références ou textes importants. Les citations distinguent visuellement le contenu cité.
189+
190+### Une ligne
191+
192+Les citations sur une seule ligne sont idéales pour des citations courtes et percutantes. Ajoutez un `>` devant un paragraphe. Idéal pour les citations courtes.
193+
194+::code-preview
195+---
196+class: "[&>div]:*:my-0"
197+---
198+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
199+
200+#code
201+```mdc
202+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
203+```
204+::
205+
206+### Multiligne
207+
208+Les citations multiligne conviennent aux citations plus longues ou pour inclure plusieurs paragraphes dans une seule citation.
209+
210+::code-preview
211+---
212+class: "[&>div]:*:my-0"
213+---
214+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
215+>
216+> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
217+
218+#code
219+```mdc
220+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
221+>
222+> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
223+```
224+::
.starters/i18n/content/fr/2.essentials/2.code-blocks.md+398−0
@@ -0,0 +1,398 @@
1+---
2+title: Blocs de code
3+description: Affichez du code en ligne et des blocs de code dans votre documentation.
4+links: []
5+navigation:
6+ icon: i-lucide-code-xml
7+---
8+
9+## Basique
10+
11+### Code en ligne
12+
13+Utilisez le code en ligne pour afficher des extraits de code dans les paragraphes. Idéal pour référencer des éléments de code directement dans les phrases.
14+
15+::code-preview
16+---
17+class: "[&>div]:*:my-0"
18+---
19+`code en ligne`
20+
21+#code
22+```mdc
23+`code en ligne`
24+```
25+::
26+
27+### Blocs de code
28+
29+Utilisez les blocs de code pour afficher des extraits de code multi-lignes avec coloration syntaxique. Les blocs de code sont essentiels pour présenter clairement des exemples de code.
30+
31+::code-preview
32+---
33+class: "[&>div]:*:my-0 [&>div]:*:w-full"
34+---
35+```ts
36+export default defineNuxtConfig({
37+ modules: ['@nuxt/ui']
38+})
39+```
40+
41+#code
42+````mdc
43+```ts
44+export default defineNuxtConfig({
45+ modules: ['@nuxt/ui']
46+})
47+```
48+````
49+::
50+
51+Lorsque vous écrivez un bloc de code, vous pouvez spécifier un nom de fichier qui sera affiché au-dessus du bloc. Une icône sera automatiquement affichée selon l'extension ou le nom.
52+Les noms de fichiers aident les utilisateurs à comprendre l'emplacement et le but du code dans un projet.
53+
54+::code-preview
55+---
56+class: "[&>div]:*:my-0 [&>div]:*:w-full"
57+---
58+```ts [nuxt.config.ts]
59+export default defineNuxtConfig({
60+ modules: ['@nuxt/ui']
61+})
62+```
63+
64+#code
65+````mdc
66+```ts [nuxt.config.ts]
67+export default defineNuxtConfig({
68+ modules: ['@nuxt/ui']
69+})
70+```
71+````
72+::
73+
74+Chaque bloc de code possède un bouton de copie intégré qui permet de copier le code dans le presse-papiers.
75+
76+::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77+Les icônes sont déjà définies par défaut, mais vous pouvez les personnaliser dans votre `app.config.ts` :
78+
79+```ts [app.config.ts]
80+export default defineAppConfig({
81+ ui: {
82+ prose: {
83+ codeIcon: {
84+ terminal: 'i-ph-terminal-window-duotone'
85+ }
86+ }
87+ }
88+})
89+```
90+::
91+
92+## Avancé
93+
94+### CodeGroup
95+
96+Groupez des blocs de code dans des onglets avec `code-group`. `code-group` est parfait pour montrer des exemples de code dans plusieurs langages ou gestionnaires de paquets.
97+
98+::code-preview
99+---
100+class: "[&>div]:*:my-0 [&>div]:*:w-full"
101+---
102+ :::code-group{.w-full}
103+ ```bash [pnpm]
104+ pnpm add @nuxt/ui
105+ ```
106+
107+ ```bash [yarn]
108+ yarn add @nuxt/ui
109+ ```
110+
111+ ```bash [npm]
112+ npm install @nuxt/ui
113+ ```
114+
115+ ```bash [bun]
116+ bun add @nuxt/ui
117+ ```
118+ :::
119+
120+#code
121+````mdc
122+::code-group
123+
124+```bash [pnpm]
125+pnpm add @nuxt/ui
126+```
127+
128+```bash [yarn]
129+yarn add @nuxt/ui
130+```
131+
132+```bash [npm]
133+npm install @nuxt/ui
134+```
135+
136+```bash [bun]
137+bun add @nuxt/ui
138+```
139+
140+::
141+````
142+::
143+
144+### CodeTree
145+
146+Affichez des blocs de code dans une vue arborescente avec `code-tree`. `code-tree` est excellent pour présenter des structures de projet et des relations de fichiers.
147+
148+::code-preview
149+---
150+class: "[&>div]:*:my-0 [&>div]:*:w-full"
151+---
152+ :::code-tree{default-value="app/app.config.ts"}
153+ ```ts [nuxt.config.ts]
154+ export default defineNuxtConfig({
155+ modules: ['@nuxt/ui'],
156+
157+ css: ['~/assets/css/main.css']
158+ })
159+ ```
160+
161+ ```css [app/assets/css/main.css]
162+ @import "tailwindcss";
163+ @import "@nuxt/ui";
164+ ```
165+
166+ ```ts [app/app.config.ts]
167+ export default defineAppConfig({
168+ ui: {
169+ colors: {
170+ primary: 'sky',
171+ colors: 'slate'
172+ }
173+ }
174+ })
175+ ```
176+
177+ ```vue [app/app.vue]
178+ <template>
179+ <UApp>
180+ <NuxtPage />
181+ </UApp>
182+ </template>
183+ ```
184+
185+ ```json [package.json]
186+ {
187+ "name": "nuxt-app",
188+ "private": true,
189+ "type": "module",
190+ "scripts": {
191+ "build": "nuxt build",
192+ "dev": "nuxt dev",
193+ "generate": "nuxt generate",
194+ "preview": "nuxt preview",
195+ "postinstall": "nuxt prepare",
196+ "lint": "eslint .",
197+ "lint:fix": "eslint --fix ."
198+ },
199+ "dependencies": {
200+ "@iconify-json/lucide": "^1.2.18",
201+ "@nuxt/ui": "^4.0.0",
202+ "nuxt": "^4.1.0"
203+ },
204+ "devDependencies": {
205+ "eslint": "^9.34.0",
206+ "typescript": "^5.9.3",
207+ "vue-tsc": "^3.0.6"
208+ }
209+ }
210+ ```
211+
212+ ```json [tsconfig.json]
213+ {
214+ "extends": "./.nuxt/tsconfig.json"
215+ }
216+ ```
217+
218+ ````md [README.md]
219+ # Nuxt 4 Minimal Starter
220+
221+ Consultez la [documentation Nuxt 4](https://nuxt.com/docs/getting-started/introduction) pour en savoir plus.
222+
223+ ## Installation
224+
225+ Assurez-vous d'installer les dépendances :
226+
227+ ```bash
228+ # npm
229+ npm install
230+
231+ # pnpm
232+ pnpm install
233+
234+ # yarn
235+ yarn install
236+
237+ # bun
238+ bun install
239+ ```
240+
241+ ## Serveur de développement
242+
243+ Démarrez le serveur de développement sur `http://localhost:3000` :
244+
245+ ```bash
246+ # npm
247+ npm run dev
248+
249+ # pnpm
250+ pnpm run dev
251+
252+ # yarn
253+ yarn dev
254+
255+ # bun
256+ bun run dev
257+ ```
258+
259+ ## Production
260+
261+ Construisez l'application pour la production :
262+
263+ ```bash
264+ # npm
265+ npm run build
266+
267+ # pnpm
268+ pnpm run build
269+
270+ # yarn
271+ yarn build
272+
273+ # bun
274+ bun run build
275+ ```
276+
277+ Prévisualisez localement la build de production :
278+
279+ ```bash
280+ # npm
281+ npm run preview
282+
283+ # pnpm
284+ pnpm run preview
285+
286+ # yarn
287+ yarn preview
288+
289+ # bun
290+ bun run preview
291+ ```
292+
293+ Consultez la [documentation de déploiement](https://nuxt.com/docs/getting-started/deployment) pour plus d'informations.
294+ ````
295+ :::
296+::
297+
298+### `CodePreview`
299+
300+Utilisez `code-preview` pour afficher le résultat du code à côté du code. `code-preview` est idéal pour les exemples interactifs et la démonstration de résultats de code.
301+Écrivez le code à prévisualiser dans le slot `default` et le code réel dans le slot `code`.
302+
303+::code-preview
304+---
305+class: "[&>div]:*:my-0 [&>div]:*:w-full"
306+label: Aperçu
307+---
308+ :::code-preview
309+ ---
310+ class: "[&>div]:*:my-0"
311+ ---
312+ `code en ligne`
313+
314+ #code
315+ ```mdc
316+ `code en ligne`
317+ ```
318+ :::
319+
320+#code
321+````mdc
322+::code-preview
323+`code en ligne`
324+
325+#code
326+```mdc
327+`code en ligne`
328+```
329+::
330+````
331+::
332+
333+### `CodeCollapse`
334+
335+Utilisez `code-collapse` pour les longs blocs de code afin de garder les pages propres. `code-collapse` permet aux utilisateurs de déplier les blocs de code uniquement si besoin, améliorant ainsi la lisibilité.
336+
337+::code-preview
338+---
339+class: "[&>div]:*:my-0 [&>div]:*:w-full"
340+---
341+ :::code-collapse
342+ ---
343+ class: "[&>div]:my-0"
344+ ---
345+ ```css [main.css]
346+ @import "tailwindcss";
347+ @import "@nuxt/ui";
348+
349+ @theme {
350+ --font-sans: 'Public Sans', sans-serif;
351+
352+ --breakpoint-3xl: 1920px;
353+
354+ --color-green-50: #EFFDF5;
355+ --color-green-100: #D9FBE8;
356+ --color-green-200: #B3F5D1;
357+ --color-green-300: #75EDAE;
358+ --color-green-400: #00DC82;
359+ --color-green-500: #00C16A;
360+ --color-green-600: #00A155;
361+ --color-green-700: #007F45;
362+ --color-green-800: #016538;
363+ --color-green-900: #0A5331;
364+ --color-green-950: #052E16;
365+ }
366+ ```
367+ :::
368+
369+#code
370+````mdc
371+::code-collapse
372+
373+```css [main.css]
374+@import "tailwindcss";
375+@import "@nuxt/ui";
376+
377+@theme {
378+--font-sans: 'Public Sans', sans-serif;
379+
380+--breakpoint-3xl: 1920px;
381+
382+--color-green-50: #EFFDF5;
383+--color-green-100: #D9FBE8;
384+--color-green-200: #B3F5D1;
385+--color-green-300: #75EDAE;
386+--color-green-400: #00DC82;
387+--color-green-500: #00C16A;
388+--color-green-600: #00A155;
389+--color-green-700: #007F45;
390+--color-green-800: #016538;
391+--color-green-900: #0A5331;
392+--color-green-950: #052E16;
393+}
394+```
395+
396+::
397+````
398+::
.starters/i18n/content/fr/2.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1+---
2+title: Composants Markdown
3+description: Utilisez les composants Markdown pour structurer votre contenu, avec l'aide de Nuxt UI.
4+navigation:
5+ icon: i-lucide-component
6+ title: Composants
7+---
8+
9+Les composants prose sont des remplacements pour les balises de typographie HTML. Ils offrent un moyen simple de personnaliser votre interface lors de l'utilisation de Markdown.
10+
11+**Docus et Nuxt UI** fournissent un ensemble de composants prose stylés et élégants pour vous aider à rédiger votre documentation avec la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12+
13+::note{to="https://ui.nuxt.com/getting-started"}
14+Cette page met en avant uniquement les composants prose les plus adaptés à la rédaction de documentation. Cependant, vous pouvez utiliser **n'importe quel composant Nuxt UI** dans votre Markdown. Pour la liste complète des composants disponibles, consultez la documentation Nuxt UI.
15+::
16+
17+### `Accordion`
18+
19+Utilisez les composants `accordion` et `accordion-item` pour afficher un [Accordion](https://ui.nuxt.com/components/accordion) dans votre contenu.
20+
21+::tabs
22+ :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
23+ ::::accordion
24+ :::::accordion-item
25+ ---
26+ icon: i-lucide-circle-help
27+ label: Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?
28+ ---
29+ Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
30+ :::::
31+
32+ :::::accordion-item
33+ ---
34+ icon: i-lucide-circle-help
35+ label: Comment démarrer avec Docus ?
36+ ---
37+ La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
38+ :::::
39+
40+ :::::accordion-item{icon="i-lucide-circle-help" label="Qu'est-ce que Nuxt UI ?"}
41+ Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
42+ :::::
43+ ::::
44+ :::
45+
46+ :::tabs-item{icon="i-lucide-code" label="Code"}
47+ ```mdc
48+ ::accordion
49+
50+ :::accordion-item{label="Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?" icon="i-lucide-circle-help"}
51+ Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
52+ :::
53+
54+ :::accordion-item{label="Comment démarrer avec Docus ?" icon="i-lucide-circle-help"}
55+ La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
56+ :::
57+
58+ :::accordion-item{label="Qu'est-ce que Nuxt UI ?" icon="i-lucide-circle-help"}
59+ Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
60+ :::
61+ ::
62+ ```
63+ :::
64+::
65+
66+### `Badge`
67+
68+Utilisez du markdown dans le slot par défaut du composant `badge` pour afficher un [Badge](https://ui.nuxt.com/components/badge) dans votre contenu.
69+
70+::tabs
71+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
72+ ::::badge
73+ **v3.0.0**
74+ ::::
75+ :::
76+
77+ :::tabs-item{icon="i-lucide-code" label="Code"}
78+ ```mdc
79+ ::badge
80+ **v3.0.0**
81+ ::
82+ ```
83+ :::
84+::
85+
86+### `Callout`
87+
88+Utilisez du markdown dans le slot par défaut du composant `callout` pour ajouter un contexte visuel à votre contenu.
89+
90+Utilisez les props `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
91+
92+Vous pouvez également utiliser les raccourcis `note`, `tip`, `warning` et `caution` avec des icônes et couleurs prédéfinies.
93+
94+::tabs
95+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
96+ ::::div{.flex.flex-col.gap-4.w-full}
97+ :::::note{.w-full.my-0}
98+ Voici des informations supplémentaires pour vous.
99+ :::::
100+
101+ :::::tip{.w-full.my-0}
102+ Voici une suggestion utile.
103+ :::::
104+
105+ :::::warning{.w-full.my-0}
106+ Faites attention à cette action car elle pourrait avoir des résultats inattendus.
107+ :::::
108+
109+ :::::caution{.w-full.my-0}
110+ Cette action est irréversible.
111+ :::::
112+ ::::
113+ :::
114+
115+ :::tabs-item{icon="i-lucide-code" label="Code"}
116+ ```mdc
117+ ::note
118+ Voici des informations supplémentaires.
119+ ::
120+
121+ ::tip
122+ Voici une suggestion utile.
123+ ::
124+
125+ ::warning
126+ Faites attention à cette action car elle pourrait avoir des résultats inattendus.
127+ ::
128+
129+ ::caution
130+ Cette action est irréversible.
131+ ::
132+ ```
133+ :::
134+::
135+
136+### `Card` et `CardGroup`
137+
138+Utilisez du markdown dans le slot par défaut du composant `card` pour mettre en avant votre contenu.
139+
140+Utilisez les props `title`, `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
141+
142+Regroupez vos composants `card` avec le composant `card-group` pour les afficher en grille.
143+
144+::tabs
145+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
146+ ::::card-group{.w-full.my-0}
147+ :::::card
148+ ---
149+ icon: i-simple-icons-github
150+ target: _blank
151+ title: Tableau de bord
152+ to: https://github.com/nuxt-ui-templates/dashboard
153+ ---
154+ Un tableau de bord avec une mise en page multi-colonnes.
155+ :::::
156+
157+ :::::card
158+ ---
159+ icon: i-simple-icons-github
160+ target: _blank
161+ title: SaaS
162+ to: https://github.com/nuxt-ui-templates/saas
163+ ---
164+ Un template avec landing, pricing, docs et blog.
165+ :::::
166+
167+ :::::card
168+ ---
169+ icon: i-simple-icons-github
170+ target: _blank
171+ title: Docs
172+ to: https://github.com/nuxt-ui-templates/docs
173+ ---
174+ Une documentation avec `@nuxt/content`.
175+ :::::
176+
177+ :::::card
178+ ---
179+ icon: i-simple-icons-github
180+ target: _blank
181+ title: Landing
182+ to: https://github.com/nuxt-ui-templates/landing
183+ ---
184+ Une page d'accueil à utiliser comme point de départ.
185+ :::::
186+ ::::
187+ :::
188+
189+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
190+ ```mdc
191+ :::card-group
192+
193+ ::card
194+ ---
195+ title: Tableau de bord
196+ icon: i-simple-icons-github
197+ to: https://github.com/nuxt-ui-templates/dashboard
198+ target: _blank
199+ ---
200+ Un tableau de bord avec une mise en page multi-colonnes.
201+ ::
202+
203+ ::card
204+ ---
205+ title: SaaS
206+ icon: i-simple-icons-github
207+ to: https://github.com/nuxt-ui-templates/saas
208+ target: _blank
209+ ---
210+ Un template avec landing, pricing, docs et blog.
211+ ::
212+
213+ ::card
214+ ---
215+ title: Docs
216+ icon: i-simple-icons-github
217+ to: https://github.com/nuxt-ui-templates/docs
218+ target: _blank
219+ ---
220+ Une documentation avec `@nuxt/content`.
221+ ::
222+
223+ ::card
224+ ---
225+ title: Landing
226+ icon: i-simple-icons-github
227+ to: https://github.com/nuxt-ui-templates/landing
228+ target: _blank
229+ ---
230+ Une page d'accueil à utiliser comme point de départ.
231+ ::
232+
233+ :::
234+ ```
235+ :::
236+::
237+
238+### `Collapsible`
239+
240+Enveloppez votre contenu avec le composant `collapsible` pour afficher un [Collapsible](https://ui.nuxt.com/components/collapsible) dans votre contenu.
241+
242+::tabs
243+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
244+ ::::collapsible
245+ | Prop | Défaut | Type |
246+ | ------- | --------- | -------- |
247+ | `name` | | `string` |
248+ | `size` | `md` | `string` |
249+ | `color` | `neutral` | `string` |
250+ ::::
251+ :::
252+
253+ :::tabs-item{icon="i-lucide-code" label="Code"}
254+ ```mdc
255+ ::collapsible
256+
257+ | Prop | Défaut | Type |
258+ |---------|-----------|--------------------------|
259+ | `name` | | `string`{lang="ts-type"} |
260+ | `size` | `md` | `string`{lang="ts-type"} |
261+ | `color` | `neutral` | `string`{lang="ts-type"} |
262+
263+ ::
264+ ```
265+ :::
266+::
267+
268+### `Field` et `FieldGroup`
269+
270+Un `field` est une prop ou un paramètre à afficher dans votre contenu. Vous pouvez les regrouper avec `field-group` dans une liste.
271+
272+::tabs
273+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
274+ ::::field-group{.my-0}
275+ :::::field{name="analytics" type="boolean"}
276+ Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
277+ :::::
278+
279+ :::::field{name="blob" type="boolean"}
280+ Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
281+ :::::
282+
283+ :::::field{name="cache" type="boolean"}
284+ Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
285+ :::::
286+
287+ :::::field{name="database" type="boolean"}
288+ Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
289+ :::::
290+ ::::
291+ :::
292+
293+ :::tabs-item{icon="i-lucide-code" label="Code"}
294+ ```mdc
295+ ::field-group
296+ ::field{name="analytics" type="boolean"}
297+ Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
298+ ::
299+
300+ ::field{name="blob" type="boolean"}
301+ Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
302+ ::
303+
304+ ::field{name="cache" type="boolean"}
305+ Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
306+ ::
307+
308+ ::field{name="database" type="boolean"}
309+ Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
310+ ::
311+ ::
312+ ```
313+ :::
314+::
315+
316+### `Icon`
317+
318+Utilisez le composant `icon` pour afficher une [Icône](https://ui.nuxt.com/components/icon) dans votre contenu.
319+
320+::code-preview
321+:icon{name="i-simple-icons-nuxtdotjs"}
322+
323+#code
324+```mdc
325+:icon{name="i-simple-icons-nuxtdotjs"}
326+```
327+::
328+
329+### `Kbd`
330+
331+Utilisez le composant `kbd` pour afficher un [Kbd](https://ui.nuxt.com/components/kbd) dans votre contenu.
332+
333+::code-preview
334+#code
335+```mdc
336+:kbd{value="meta"} :kbd{value="K"}
337+```
338+::
339+
340+### `Tabs`
341+
342+Utilisez les composants `tabs` et `tabs-item` pour afficher des [Onglets](https://ui.nuxt.com/components/tabs) dans votre contenu.
343+
344+::code-preview
345+ :::tabs{.w-full}
346+ ::::tabs-item{icon="i-lucide-code" label="Code"}
347+ ```mdc
348+ ::callout
349+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
350+ ::
351+ ```
352+ ::::
353+
354+ ::::tabs-item{icon="i-lucide-eye" label="Aperçu"}
355+ :::::callout
356+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
357+ :::::
358+ ::::
359+ :::
360+
361+#code
362+````mdc
363+::tabs{.w-full}
364+ :::tabs-item{icon="i-lucide-code" label="Code"}
365+ ```mdc
366+ ::::callout
367+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
368+ ::::
369+ ```
370+ ::::
371+
372+:::tabs-item{icon="i-lucide-eye" label="Aperçu"}
373+ :::::callout
374+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
375+ :::::
376+:::
377+::
378+````
379+::
380+
381+### `Steps`
382+
383+Enveloppez vos titres avec le composant Steps pour afficher une liste d'étapes.
384+
385+Utilisez la prop `level` pour définir quel titre sera utilisé pour les étapes.
386+
387+::tabs
388+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
389+ ::::steps{level="4"}
390+ #### Démarrer un nouveau projet
391+
392+ ```bash [Terminal]
393+ npm create nuxt@latest -- -t github:nuxt-content/docus
394+ ```
395+
396+ #### Lancer le CLI docus pour démarrer votre serveur de dev
397+
398+ ```bash [Terminal]
399+ docus dev
400+ ```
401+ ::::
402+ :::
403+
404+ :::tabs-item{icon="i-lucide-code" label="Code"}
405+ ````mdc
406+ ::steps{level="4"}
407+ #### Démarrer un nouveau projet
408+
409+ ```bash [Terminal]
410+ npm create nuxt@latest -- -t github:nuxt-content/docus
411+ ```
412+
413+ #### Lancer le CLI docus pour démarrer votre serveur de dev
414+
415+ ```bash [Terminal]
416+ docus dev
417+ ```
418+ ::
419+ ````
420+ :::
421+::
.starters/i18n/content/fr/2.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1+---
2+title: Images et intégrations
3+description: Ajoutez des images, vidéos et autres éléments HTML
4+navigation:
5+ icon: i-lucide-image
6+seo:
7+ description: Ajoutez des images, vidéos et autres éléments HTML avec le thème Docus
8+ title: Images et intégrations
9+---
10+
11+## Markdown
12+
13+Affichez des images ou des vidéos en utilisant la syntaxe Markdown standard.
14+
15+### Images
16+
17+::code-preview
18+![Image Nuxt Social](https://nuxt.com/new-social.jpg)
19+
20+#code
21+```mdc
22+![Image Nuxt Social](https://nuxt.com/new-social.jpg)
23+```
24+::
25+
26+Ou avec vos images locales
27+
28+::code-preview
29+![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
30+
31+#code
32+```mdc
33+![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
34+```
35+::
36+
37+::note{to="https://image.nuxt.com/"}
38+Docus utilisera le composant `<NuxtImg>` sous le capot à la place de la balise native `img`.
39+::
40+
41+### Vidéos
42+
43+::code-preview
44+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45+
46+#code
47+```mdc
48+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49+```
50+::
51+
52+###
.starters/i18n/content/fr/index.md+121−0
@@ -0,0 +1,121 @@
1+---
2+seo:
3+ title: Rédigez votre documentation en Markdown
4+ description: Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. Docus intègre le meilleur de l'écosystème Nuxt.
5+---
6+
7+::u-page-hero
8+#title
9+Créez votre documentation en Markdown
10+
11+#description
12+Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé.
13+
14+Docus rassemble le meilleur de l'écosystème Nuxt en une seule CLI.
15+
16+#links
17+ :::u-button
18+ ---
19+ color: neutral
20+ size: xl
21+ to: /fr/getting-started/installation
22+ trailing-icon: i-lucide-arrow-right
23+ ---
24+ Commencer
25+ :::
26+
27+ :::u-button
28+ ---
29+ color: neutral
30+ icon: simple-icons-github
31+ size: xl
32+ to: https://github.com/nuxt-content/docus
33+ variant: outline
34+ ---
35+ Voir sur GitHub
36+ :::
37+::
38+
39+::u-page-section
40+#title
41+Livré avec de nombreuses fonctionnalités
42+
43+#features
44+ :::u-page-feature
45+ ---
46+ icon: i-simple-icons-nuxt
47+ target: _blank
48+ to: https://nuxt.com
49+ ---
50+ #title
51+ Construit avec [Nuxt 4]{.text-primary}
52+
53+ #description
54+ Optimisé par votre meta framework Vue préféré. Docus vous donne tout ce dont vous avez besoin pour créer des sites rapides, performants et optimisés pour le SEO.
55+ :::
56+
57+ :::u-page-feature
58+ ---
59+ icon: i-simple-icons-nuxt
60+ target: _blank
61+ to: https://ui.nuxt.com/
62+ ---
63+ #title
64+ Désigné par [Nuxt UI]{.text-primary}
65+
66+ #description
67+ Sexy, minimaliste et personnalisable. Docus intègre Nuxt UI pour vous offrir la meilleure expérience pour écrire une documentation sans boilerplate, concentrez-vous simplement sur votre contenu.
68+ :::
69+
70+ :::u-page-feature
71+ ---
72+ icon: i-simple-icons-nuxt
73+ target: _blank
74+ to: https://content.nuxt.com
75+ ---
76+ #title
77+ Markdown amélioré par [Nuxt Content]{.text-primary}
78+
79+ #description
80+ La seule chose dont vous devez vous soucier est d'écrire votre contenu. Rédigez vos pages en Markdown et intégrer des composants Nuxt UI ou des composants Vue personnalisés. La structure, le routing et le rendu sont gérés pour vous.
81+ :::
82+
83+ :::u-page-feature
84+ ---
85+ icon: i-simple-icons-nuxt
86+ target: _blank
87+ to: https://nuxt.com/docs/guide/directory-structure/app-config
88+ ---
89+ #title
90+ Personnalisation avec [Nuxt App Config]{.text-primary}
91+
92+ #description
93+ Mettez à jour les couleurs, les liens sociaux, les logos ou même le style de vos composants globalement via le `app.config.ts`, sans modification directe du code.
94+ :::
95+
96+ :::u-page-feature
97+ ---
98+ icon: i-simple-icons-nuxt
99+ target: _blank
100+ to: https://content.nuxt.com/studio
101+ ---
102+ #title
103+ Éditez en production avec [Nuxt Studio]{.text-primary}
104+
105+ #description
106+ Éditez votre contenu en production avec zéro connaissance de Markdown requise. Laissez vos collègues non techniques collaborer sur la documentation et intégrer des composants Vue sans compétences en code.
107+ :::
108+
109+ :::u-page-feature
110+ ---
111+ icon: i-simple-icons-nuxt
112+ target: _blank
113+ to: https://ui.nuxt.com/components/content-search
114+ ---
115+ #title
116+ Navigation intégrée et [recherche textuelle]{.text-primary}
117+
118+ #description
119+ Concentrez-vous uniquement sur votre contenu, Docus génère automatiquement une modale de recherche et la navigation latérale pour vous.
120+ :::
121+::
.starters/i18n/nuxt.config.ts+14−0
@@ -0,0 +1,14 @@
1+export default defineNuxtConfig({
2+ extends: ['docus'],
3+ modules: ['@nuxtjs/i18n'],
4+ i18n: {
5+ defaultLocale: 'en',
6+ locales: [{
7+ code: 'en',
8+ name: 'English',
9+ }, {
10+ code: 'fr',
11+ name: 'Français',
12+ }],
13+ },
14+})
.starters/i18n/package.json+12−0
@@ -0,0 +1,12 @@
1+{
2+ "name": "docus-starter",
3+ "scripts": {
4+ "dev": "nuxt dev",
5+ "build": "nuxt build"
6+ },
7+ "dependencies": {
8+ "docus": "latest",
9+ "better-sqlite3": "^12.11.1",
10+ "nuxt": "^4.4.8"
11+ }
12+}
.starters/i18n/public/favicon.ico+0−0

Binary file not shown.

.starters/i18n/public/mountains.webp+0−0

Binary file not shown.

.starters/i18n/tsconfig.json+9−0
@@ -0,0 +1,9 @@
1+{
2+ "files": [],
3+ "references": [
4+ { "path": "./.nuxt/tsconfig.app.json" },
5+ { "path": "./.nuxt/tsconfig.server.json" },
6+ { "path": "./.nuxt/tsconfig.shared.json" },
7+ { "path": "./.nuxt/tsconfig.node.json" }
8+ ]
9+}
LICENSE+22−0
@@ -0,0 +1,22 @@
1+MIT License
2+
3+Copyright (c) 2026 Kris Yotam
4+Copyright (c) NuxtLabs
5+
6+Permission is hereby granted, free of charge, to any person obtaining a copy
7+of this software and associated documentation files (the "Software"), to deal
8+in the Software without restriction, including without limitation the rights
9+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+copies of the Software, and to permit persons to whom the Software is
11+furnished to do so, subject to the following conditions:
12+
13+The above copyright notice and this permission notice shall be included in all
14+copies or substantial portions of the Software.
15+
16+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+SOFTWARE.
README.md+120−0
@@ -0,0 +1,120 @@
1+# Docs
2+
3+Personal documentation template for Kris Yotam projects.
4+
5+Clone it, set the brand name, write Markdown under `content/`. One monochrome shell with a left sidebar for every project that needs docs. Bun for the toolchain. AI assistant off unless you turn it on.
6+
7+This is its own project. It does not track or merge upstream.
8+
9+## What you get
10+
11+- **Sidebar chrome** in the style of [notes.krisyotam.com](https://notes.krisyotam.com): brand cell, theme toggle, GitHub link, search that opens the center command palette
12+- **Every page in the tree** from your markdown (folders expand by default)
13+- **Monochrome UI** (zinc/neutral, no green primary)
14+- **Bun** as the package manager
15+- Full Markdown/MDC stack, optional i18n content layout, search (FTS), OG images, sitemap
16+
17+## Requirements
18+
19+- [Bun](https://bun.sh) 1.3+
20+
21+## Quick start
22+
23+```bash
24+git clone git@github.com:krisyotam/docs.git my-project-docs
25+cd my-project-docs
26+bun install
27+bun run dev:prepare
28+bun run dev
29+```
30+
31+Open [http://localhost:3000](http://localhost:3000) (or the next free port if 3000 is taken).
32+
33+### Scripts
34+
35+| Script | Purpose |
36+|--------|---------|
37+| `bun run dev` | Docs site (`docs/` app) |
38+| `bun run dev:prepare` | Generate Nuxt types for layer + apps (run after clone) |
39+| `bun run playground:dev` | Minimal playground app |
40+| `bun run lint` | ESLint |
41+| `bun run clean` | Wipe outputs and lockfile |
42+
43+## Layout
44+
45+```
46+docs/ # Documentation app (content + config)
47+layer/ # Theme layer (sidebar, layouts, modules)
48+cli/ # Scaffolding CLI
49+playground/ # Bare playground
50+```
51+
52+For a real project you mostly touch:
53+
54+| Path | What to change |
55+|------|----------------|
56+| `docs/content/` | Markdown pages (`en/`, `fr/`, …) |
57+| `docs/app/app.config.ts` | Brand title, GitHub, search, UI |
58+| `docs/nuxt.config.ts` | Site name, i18n, studio, MCP |
59+| `docs/content/*/index.md` | Landing page |
60+
61+Homepage and every doc page are content files. The home page is `index.md` with MDC components (`::u-page-hero`, and so on), not a separate Vue app.
62+
63+## Branding
64+
65+Default brand string is **Docs**. Set it in `docs/app/app.config.ts`:
66+
67+```ts
68+export default defineAppConfig({
69+ header: {
70+ title: 'Docs', // or "My Project"
71+ },
72+ github: {
73+ url: 'https://github.com/krisyotam/docs',
74+ rootDir: 'docs',
75+ },
76+ ui: {
77+ colors: {
78+ primary: 'neutral',
79+ neutral: 'zinc',
80+ },
81+ },
82+})
83+```
84+
85+The sidebar GitHub button uses `appConfig.github.url`.
86+
87+## Content
88+
89+Numbered folders order the sidebar:
90+
91+```
92+content/en/
93+ index.md
94+ 1.getting-started/
95+ 2.introduction.md
96+ 3.installation.md
97+ 2.concepts/
98+ …
99+```
100+
101+Write normal Markdown plus [MDC](https://content.nuxt.com/docs/files/markdown) for Nuxt UI components.
102+
103+## Theme notes
104+
105+- No top header bar; navigation lives in the sticky left sidebar
106+- Search in the sidebar opens the center palette (⌘K)
107+- Color mode: light/dark with a monochrome primary
108+- Assistant UI stays off unless you add gateway auth
109+
110+## License
111+
112+MIT. See [LICENSE](./LICENSE).
113+
114+---
115+
116+## Acknowledgments
117+
118+Thanks to the original **[Docus](https://github.com/nuxt-content/docus)** authors and the [Nuxt Content](https://github.com/nuxt-content) team (NuxtLabs). Their Markdown documentation theme for Nuxt, Nuxt UI, and Nuxt Content is the foundation this template started from.
119+
120+This repository is a separate project: different defaults (Bun, monochrome palette, notes-style sidebar), different branding, and no upstream merge workflow. If you want the upstream product, use [docus.dev](https://docus.dev) and [nuxt-content/docus](https://github.com/nuxt-content/docus).
bun.lock+4107−0
@@ -0,0 +1,4107 @@
1+{
2+ "lockfileVersion": 1,
3+ "configVersion": 1,
4+ "workspaces": {
5+ "": {
6+ "name": "docus-workspace",
7+ "devDependencies": {
8+ "@iconify-json/lucide": "^1.2.117",
9+ "@iconify-json/simple-icons": "^1.2.90",
10+ "@iconify-json/vscode-icons": "^1.2.67",
11+ "@nuxt/eslint": "^1.16.0",
12+ "@nuxt/eslint-config": "^1.16.0",
13+ "@release-it/bumper": "^7.0.6",
14+ "@release-it/conventional-changelog": "^11.0.1",
15+ "eslint": "^10.7.0",
16+ "nuxt": "4.4.8",
17+ "release-it": "^20.2.1",
18+ "typescript": "^6.0.3",
19+ "vue-tsc": "^3.3.7",
20+ },
21+ },
22+ "cli": {
23+ "name": "create-docus",
24+ "version": "5.12.3",
25+ "bin": {
26+ "create-docus": "dist/main.mjs",
27+ },
28+ "dependencies": {
29+ "@nuxt/cli": "3.36.1",
30+ "@nuxt/kit": "^4.4.8",
31+ "c12": "^3.3.4",
32+ "citty": "^0.2.2",
33+ "defu": "^6.1.7",
34+ "scule": "^1.3.0",
35+ "ufo": "^1.6.4",
36+ "unctx": "^2.5.0",
37+ },
38+ "devDependencies": {
39+ "@types/node": "^26.1.1",
40+ "tsup": "^8.5.1",
41+ "tsx": "^4.23.1",
42+ },
43+ },
44+ "docs": {
45+ "name": "docus-docs",
46+ "dependencies": {
47+ "@nuxt/ui": "^4.9.0",
48+ "@nuxtjs/i18n": "^10.4.1",
49+ "@vercel/analytics": "^2.0.1",
50+ "@vercel/speed-insights": "^2.0.0",
51+ "docus": "workspace:*",
52+ "nuxt": "4.4.8",
53+ "nuxt-studio": "^1.7.0",
54+ "tailwindcss": "^4.3.2",
55+ },
56+ "devDependencies": {
57+ "@ai-sdk/vue": "^4.0.29",
58+ "ai": "^7.0.29",
59+ },
60+ },
61+ "layer": {
62+ "name": "docus",
63+ "version": "5.12.3",
64+ "dependencies": {
65+ "@ai-sdk/gateway": "^4.0.21",
66+ "@ai-sdk/mcp": "^2.0.14",
67+ "@ai-sdk/vue": "^4.0.29",
68+ "@comark/vue": "^0.5.1",
69+ "@iconify-json/lucide": "^1.2.117",
70+ "@iconify-json/simple-icons": "^1.2.90",
71+ "@iconify-json/vscode-icons": "^1.2.67",
72+ "@nuxt/content": "^3.15.0",
73+ "@nuxt/image": "^2.0.0",
74+ "@nuxt/kit": "^4.4.8",
75+ "@nuxt/ui": "^4.9.0",
76+ "@nuxtjs/i18n": "^10.4.1",
77+ "@nuxtjs/mcp-toolkit": "^0.18.0",
78+ "@nuxtjs/mdc": "^0.22.1",
79+ "@nuxtjs/robots": "^6.1.2",
80+ "@shikijs/core": "^4.3.1",
81+ "@shikijs/engine-javascript": "^4.3.1",
82+ "@shikijs/langs": "^4.3.1",
83+ "@shikijs/stream": "^4.3.1",
84+ "@shikijs/themes": "^4.3.1",
85+ "@takumi-rs/core": "^2.2.0",
86+ "@vueuse/core": "^14.3.0",
87+ "ai": "^7.0.29",
88+ "defu": "^6.1.7",
89+ "exsolve": "^1.1.0",
90+ "git-url-parse": "^16.1.0",
91+ "motion-v": "^2.3.0",
92+ "nuxt-llms": "^0.2.0",
93+ "nuxt-og-image": "~6.7.2",
94+ "pathe": "^2.0.3",
95+ "pkg-types": "^2.3.1",
96+ "scule": "^1.3.0",
97+ "tailwindcss": "^4.3.2",
98+ "ufo": "^1.6.4",
99+ "yaml": "^2.9.0",
100+ "zod": "^4.4.3",
101+ "zod-to-json-schema": "^3.25.2",
102+ },
103+ "peerDependencies": {
104+ "better-sqlite3": "12.x",
105+ "nuxt": "4.x",
106+ },
107+ },
108+ "playground": {
109+ "name": "playground",
110+ "dependencies": {
111+ "better-sqlite3": "^12.5.0",
112+ "docus": "latest",
113+ "nuxt": "^4.3.1",
114+ },
115+ },
116+ },
117+ "trustedDependencies": [
118+ "better-sqlite3",
119+ "@vercel/speed-insights",
120+ "sharp",
121+ ],
122+ "overrides": {
123+ "@ai-sdk/gateway": "^4.0.21",
124+ "@ai-sdk/vue": "^4.0.29",
125+ "ai": "^7.0.29",
126+ "h3": "1.15.11",
127+ },
128+ "packages": {
129+ "@ai-sdk/gateway": ["@ai-sdk/gateway@4.0.44", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23", "@vercel/oidc": "3.2.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-dQ/AHH1do1iEpWEXdAge37FtpXV17fsj7NkL9w+xuzVgvmI7+dQFeDerul+F2I5czmxe61Lq+TnUREjU92UXYg=="],
130+
131+ "@ai-sdk/mcp": ["@ai-sdk/mcp@2.0.27", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23", "pkce-challenge": "^5.0.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-xFy5Uqtvpb4Z2M94ozcTLuM/wYicmvDw7S52RHfz/GtBQE6y1EEcF2ZJQLRC9296+mLy2jyQta1CcNtnBdfbaA=="],
132+
133+ "@ai-sdk/provider": ["@ai-sdk/provider@4.0.6", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-YYXjvs8F3q/BdEn9tBDoDuQACotfR7c5foGw/ADsM6iAVC1JabqEjQSkwHv/Kg2vNIr1c2AVHcQb+JYsYk76Qw=="],
134+
135+ "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@5.0.23", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@standard-schema/spec": "^1.1.0", "@workflow/serde": "4.1.0", "eventsource-parser": "^3.0.8", "undici": "^7.28.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-mFvAAszenK8Xny3v+4Vntke5IcUkyzjss3gTBOxVWNrSIWmt/FhQ5gCgoJXW7IK11cklRaicMPwOXTnnBtaqFQ=="],
136+
137+ "@ai-sdk/vue": ["@ai-sdk/vue@4.0.56", "", { "dependencies": { "@ai-sdk/provider-utils": "5.0.23", "ai": "7.0.56", "swrv": "^1.2.0" }, "peerDependencies": { "vue": "^3.3.4" } }, "sha512-zaFbFVMkx7jj9gJaTPfQUibJ+H47TCvRATnhvGPagtplVLj+lRjptZ8Bcwt1I1bmh7ios6jQcj32hETeuVBSMg=="],
138+
139+ "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="],
140+
141+ "@antfu/install-pkg": ["@antfu/install-pkg@2.0.1", "", { "dependencies": { "package-manager-detector": "^1.7.0", "tinyexec": "^1.2.4" } }, "sha512-iCKVQcIC0e3oDxEfs3SHQGW+ovhBMZmS1TE+bTk50rVyMCBmCfClv7Qi3HQKlumYwvjb/iIMeWCW2i67q6kFfQ=="],
142+
143+ "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@14.2.1", "", { "dependencies": { "js-yaml": "^4.1.0" }, "peerDependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg=="],
144+
145+ "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="],
146+
147+ "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="],
148+
149+ "@babel/core": ["@babel/core@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-compilation-targets": "^7.29.7", "@babel/helper-module-transforms": "^7.29.7", "@babel/helpers": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA=="],
150+
151+ "@babel/generator": ["@babel/generator@8.0.0", "", { "dependencies": { "@babel/parser": "^8.0.0", "@babel/types": "^8.0.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g=="],
152+
153+ "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw=="],
154+
155+ "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.29.7", "", { "dependencies": { "@babel/compat-data": "^7.29.7", "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g=="],
156+
157+ "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/helper-replace-supers": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/traverse": "^7.29.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg=="],
158+
159+ "@babel/helper-globals": ["@babel/helper-globals@7.29.7", "", {}, "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA=="],
160+
161+ "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg=="],
162+
163+ "@babel/helper-module-imports": ["@babel/helper-module-imports@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g=="],
164+
165+ "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.29.7", "", { "dependencies": { "@babel/helper-module-imports": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg=="],
166+
167+ "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong=="],
168+
169+ "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.29.7", "", {}, "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw=="],
170+
171+ "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.29.7", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ=="],
172+
173+ "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ=="],
174+
175+ "@babel/helper-string-parser": ["@babel/helper-string-parser@7.29.7", "", {}, "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw=="],
176+
177+ "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.29.7", "", {}, "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg=="],
178+
179+ "@babel/helper-validator-option": ["@babel/helper-validator-option@7.29.7", "", {}, "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw=="],
180+
181+ "@babel/helpers": ["@babel/helpers@7.29.7", "", { "dependencies": { "@babel/template": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg=="],
182+
183+ "@babel/parser": ["@babel/parser@7.29.8", "", { "dependencies": { "@babel/types": "^7.29.8" }, "bin": "./bin/babel-parser.js" }, "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA=="],
184+
185+ "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A=="],
186+
187+ "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA=="],
188+
189+ "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-create-class-features-plugin": "^7.29.7", "@babel/helper-plugin-utils": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/plugin-syntax-typescript": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw=="],
190+
191+ "@babel/template": ["@babel/template@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg=="],
192+
193+ "@babel/traverse": ["@babel/traverse@7.29.8", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.8", "@babel/helper-globals": "^7.29.7", "@babel/parser": "^7.29.8", "@babel/template": "^7.29.7", "@babel/types": "^7.29.8", "debug": "^4.3.1" } }, "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg=="],
194+
195+ "@babel/types": ["@babel/types@7.29.8", "", { "dependencies": { "@babel/helper-string-parser": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7" } }, "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg=="],
196+
197+ "@bomb.sh/tab": ["@bomb.sh/tab@0.0.17", "", { "peerDependencies": { "cac": "^6.7.14", "citty": "^0.1.6 || ^0.2.0", "commander": "^13.1.0" }, "optionalPeers": ["cac", "citty", "commander"], "bin": { "tab": "dist/bin/cli.mjs" } }, "sha512-rGhqfWwaSF6qN5Gm5P9EH9eybrwLEowHTkV+wsRgFewT6aQCQWVWXLclVk0McgVIlWCGX+W9mYYC1Egsg+Znsw=="],
198+
199+ "@capsizecss/unpack": ["@capsizecss/unpack@4.0.1", "", { "dependencies": { "fontkitten": "^1.0.3" } }, "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ=="],
200+
201+ "@clack/core": ["@clack/core@1.4.3", "", { "dependencies": { "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ=="],
202+
203+ "@clack/prompts": ["@clack/prompts@1.7.0", "", { "dependencies": { "@clack/core": "1.4.3", "fast-string-width": "^3.0.2", "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A=="],
204+
205+ "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.2", "", {}, "sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ=="],
206+
207+ "@colordx/core": ["@colordx/core@5.5.0", "", {}, "sha512-3PxTH8itZzltK0U9jTwVVnjLXvnDYuq3m+QXsHkENxWiPRh4WaoLcs1SQjqgZ55kS+QyirpH5BVwzP2gMVG6EQ=="],
208+
209+ "@comark/vue": ["@comark/vue@0.5.1", "", { "dependencies": { "comark": "^0.5.1" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.17.0", "shiki": "^4.3.1", "vue": "^3.5.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-uz5Oirzg7ruuJJItceWRswAftuMoY17Omge9bsUampmAL/XdI77YrBOozA5DlId+OCX0VXnt1tCCe4c1IrcJ7w=="],
210+
211+ "@conventional-changelog/git-client": ["@conventional-changelog/git-client@2.7.0", "", { "dependencies": { "@simple-libs/child-process-utils": "^1.0.0", "@simple-libs/stream-utils": "^1.2.0", "semver": "^7.5.2" }, "peerDependencies": { "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.4.0" }, "optionalPeers": ["conventional-commits-filter", "conventional-commits-parser"] }, "sha512-j7A8/LBEQ+3rugMzPXoKYzyUPpw/0CBQCyvtTR7Lmu4olG4yRC/Tfkq79Mr3yuPs0SUitlO2HwGP3gitMJnRFw=="],
212+
213+ "@decimalturn/toml-patch": ["@decimalturn/toml-patch@1.3.0", "", {}, "sha512-lnnGHUF8RhnPq0XiOenQCv0O6TO840bofShFrIr+Xu87x1Rm3bozgaCDQz6eTErO9rYf7YXCuK7ZHz65BtBwsA=="],
214+
215+ "@dxup/nuxt": ["@dxup/nuxt@0.4.1", "", { "dependencies": { "@dxup/unimport": "^0.1.2", "@nuxt/kit": "^4.4.2", "chokidar": "^5.0.0", "pathe": "^2.0.3", "tinyglobby": "^0.2.16" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-gtYffW6OfWNvoLW+XD3Mx/K8uUq08PMGLYJoDxc92EzZAWqR0FhcR5iaLm5r/OxyGTKz+P5f5Y7Aoir9+SjYaw=="],
216+
217+ "@dxup/unimport": ["@dxup/unimport@0.1.2", "", {}, "sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ=="],
218+
219+ "@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
220+
221+ "@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
222+
223+ "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
224+
225+ "@es-joy/jsdoccomment": ["@es-joy/jsdoccomment@0.91.0", "", { "dependencies": { "@types/estree": "^1.0.9", "@typescript-eslint/types": "^8.65.0", "comment-parser": "1.4.7", "esquery": "^1.7.0", "jsdoc-type-pratt-parser": "~8.0.0" } }, "sha512-vgqlMGNNhZxwDYbUNIHj3Hskb4R28iqdXx90ufHyt/NeuTQkeqjTDslAs9I0/GCAfbxP5BpH5WsL1R1fht5Lxg=="],
226+
227+ "@es-joy/resolve.exports": ["@es-joy/resolve.exports@1.2.0", "", {}, "sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g=="],
228+
229+ "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="],
230+
231+ "@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="],
232+
233+ "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="],
234+
235+ "@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="],
236+
237+ "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="],
238+
239+ "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="],
240+
241+ "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="],
242+
243+ "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="],
244+
245+ "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="],
246+
247+ "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="],
248+
249+ "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="],
250+
251+ "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="],
252+
253+ "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="],
254+
255+ "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="],
256+
257+ "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="],
258+
259+ "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="],
260+
261+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="],
262+
263+ "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="],
264+
265+ "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="],
266+
267+ "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="],
268+
269+ "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="],
270+
271+ "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="],
272+
273+ "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="],
274+
275+ "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="],
276+
277+ "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="],
278+
279+ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="],
280+
281+ "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.10.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg=="],
282+
283+ "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="],
284+
285+ "@eslint/compat": ["@eslint/compat@2.1.0", "", { "dependencies": { "@eslint/core": "^1.2.1" }, "peerDependencies": { "eslint": "^8.40 || 9 || 10" }, "optionalPeers": ["eslint"] }, "sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g=="],
286+
287+ "@eslint/config-array": ["@eslint/config-array@0.23.5", "", { "dependencies": { "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" } }, "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA=="],
288+
289+ "@eslint/config-helpers": ["@eslint/config-helpers@0.7.0", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw=="],
290+
291+ "@eslint/config-inspector": ["@eslint/config-inspector@3.2.0", "", { "dependencies": { "ansis": "^4.3.1", "cac": "^7.0.0", "chokidar": "^5.0.0", "devframe": "^0.8.0", "jiti": "^2.7.0", "tinyglobby": "^0.2.17" }, "peerDependencies": { "eslint": "^8.50.0 || ^9.0.0 || ^10.0.0" }, "bin": { "@eslint/config-inspector": "./bin.mjs", "eslint-config-inspector": "./bin.mjs" } }, "sha512-kylJhcii8eDOiRFPANNUHOyDebBIOt+nqYXt8q6W9FbhYzFJAXjLzJz6KFNzY0WvIyOBKdbSQdwdPNrkMh05tg=="],
292+
293+ "@eslint/core": ["@eslint/core@1.2.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ=="],
294+
295+ "@eslint/css-tree": ["@eslint/css-tree@4.0.5", "", { "dependencies": { "mdn-data": "2.29.0", "source-map-js": "^1.2.1" } }, "sha512-iPmijIAq4hlIJB86PYmY/fcZORHtjphSqICDbwuw32A/JmkhZQ/K/6TjHE03zqf3n5yABpVcbRAMG8Mi9ojy8g=="],
296+
297+ "@eslint/js": ["@eslint/js@10.0.1", "", { "peerDependencies": { "eslint": "^10.0.0" }, "optionalPeers": ["eslint"] }, "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA=="],
298+
299+ "@eslint/object-schema": ["@eslint/object-schema@3.0.5", "", {}, "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw=="],
300+
301+ "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.2", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A=="],
302+
303+ "@fastify/accept-negotiator": ["@fastify/accept-negotiator@2.0.1", "", {}, "sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ=="],
304+
305+ "@fastify/busboy": ["@fastify/busboy@2.1.1", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="],
306+
307+ "@fingerprintjs/botd": ["@fingerprintjs/botd@2.0.0", "", {}, "sha512-yhuz23NKEcBDTHmGz/ULrXlGnbHenO+xZmVwuBkuqHUkqvaZ5TAA0kAgcRy4Wyo5dIBdkIf57UXX8/c9UlMLJg=="],
308+
309+ "@floating-ui/core": ["@floating-ui/core@1.8.0", "", { "dependencies": { "@floating-ui/utils": "^0.2.12" } }, "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ=="],
310+
311+ "@floating-ui/dom": ["@floating-ui/dom@1.8.0", "", { "dependencies": { "@floating-ui/core": "^1.8.0", "@floating-ui/utils": "^0.2.12" } }, "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg=="],
312+
313+ "@floating-ui/utils": ["@floating-ui/utils@0.2.12", "", {}, "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww=="],
314+
315+ "@floating-ui/vue": ["@floating-ui/vue@1.1.11", "", { "dependencies": { "@floating-ui/dom": "^1.7.6", "@floating-ui/utils": "^0.2.11", "vue-demi": ">=0.13.0" } }, "sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw=="],
316+
317+ "@hono/node-server": ["@hono/node-server@2.1.0", "", { "peerDependencies": { "hono": "^4" } }, "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg=="],
318+
319+ "@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="],
320+
321+ "@humanfs/node": ["@humanfs/node@0.16.8", "", { "dependencies": { "@humanfs/core": "^0.19.2", "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ=="],
322+
323+ "@humanfs/types": ["@humanfs/types@0.15.0", "", {}, "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q=="],
324+
325+ "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="],
326+
327+ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="],
328+
329+ "@iarna/toml": ["@iarna/toml@3.0.0", "", {}, "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q=="],
330+
331+ "@iconify-json/lucide": ["@iconify-json/lucide@1.2.121", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-zSoQQSmsyFaeTpSwURHJ9PIrsDcGFpDNhGlpiTrs+Ua4uFeH5UsE26L4OEBLrgLWoSK0UO+JhsO8yehSw0403g=="],
332+
333+ "@iconify-json/simple-icons": ["@iconify-json/simple-icons@1.2.93", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-/XhANjfGYOuqvSR3TmUnkQkINvQ4GVjVuukvymRbxtVFBvIq/yiXJqCDycKcQPT401OYT9H2vIY6ihAlz1QIAw=="],
334+
335+ "@iconify-json/vscode-icons": ["@iconify-json/vscode-icons@1.2.69", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-qNT3Xf7tVylX3LbTj867/VRa5/FxCxYA1lclucf5TPGn9t5J5qwu0sm8RwN10+UGeEc3oAewYuJ+rDam9l8cqA=="],
336+
337+ "@iconify/collections": ["@iconify/collections@1.0.719", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-v3I7sBgR0UWOr6y4bXGiuNrOOl9d+tRDPg1d7vfQHofQ4nTt3AU15S2UsePjHztYAc7ptSPUTT74Io2M7Y1CZg=="],
338+
339+ "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="],
340+
341+ "@iconify/utils": ["@iconify/utils@3.1.4", "", { "dependencies": { "@antfu/install-pkg": "^1.1.0", "@iconify/types": "^2.0.0", "import-meta-resolve": "^4.2.0" } }, "sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw=="],
342+
343+ "@iconify/vue": ["@iconify/vue@5.0.1", "", { "dependencies": { "@iconify/types": "^2.0.0" }, "peerDependencies": { "vue": ">=3.0.0" } }, "sha512-aumwwooJlFJ5H5qYWB6ZTAyM0C8hpfcSVLB9/a3qnH1GGvIJ+FEbpEs4s/HfErYe/M5qZeLjwmESR5fFm3lXEw=="],
344+
345+ "@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="],
346+
347+ "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.3.2" }, "os": "darwin", "cpu": "arm64" }, "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg=="],
348+
349+ "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.3.2" }, "os": "darwin", "cpu": "x64" }, "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w=="],
350+
351+ "@img/sharp-freebsd-wasm32": ["@img/sharp-freebsd-wasm32@0.35.3", "", { "dependencies": { "@img/sharp-wasm32": "0.35.3" }, "os": "freebsd" }, "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg=="],
352+
353+ "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.3.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg=="],
354+
355+ "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.3.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw=="],
356+
357+ "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.3.2", "", { "os": "linux", "cpu": "arm" }, "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ=="],
358+
359+ "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA=="],
360+
361+ "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.3.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw=="],
362+
363+ "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.3.2", "", { "os": "linux", "cpu": "none" }, "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w=="],
364+
365+ "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.3.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ=="],
366+
367+ "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w=="],
368+
369+ "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw=="],
370+
371+ "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ=="],
372+
373+ "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.3.2" }, "os": "linux", "cpu": "arm" }, "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA=="],
374+
375+ "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.3.2" }, "os": "linux", "cpu": "arm64" }, "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ=="],
376+
377+ "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.3.2" }, "os": "linux", "cpu": "ppc64" }, "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA=="],
378+
379+ "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.3.2" }, "os": "linux", "cpu": "none" }, "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ=="],
380+
381+ "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.3.2" }, "os": "linux", "cpu": "s390x" }, "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw=="],
382+
383+ "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.3.2" }, "os": "linux", "cpu": "x64" }, "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA=="],
384+
385+ "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" }, "os": "linux", "cpu": "arm64" }, "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w=="],
386+
387+ "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.3.2" }, "os": "linux", "cpu": "x64" }, "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg=="],
388+
389+ "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="],
390+
391+ "@img/sharp-webcontainers-wasm32": ["@img/sharp-webcontainers-wasm32@0.35.3", "", { "dependencies": { "@img/sharp-wasm32": "0.35.3" }, "cpu": "none" }, "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q=="],
392+
393+ "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.35.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w=="],
394+
395+ "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.35.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw=="],
396+
397+ "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.35.3", "", { "os": "win32", "cpu": "x64" }, "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA=="],
398+
399+ "@inquirer/ansi": ["@inquirer/ansi@2.0.7", "", {}, "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q=="],
400+
401+ "@inquirer/checkbox": ["@inquirer/checkbox@5.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw=="],
402+
403+ "@inquirer/confirm": ["@inquirer/confirm@6.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ=="],
404+
405+ "@inquirer/core": ["@inquirer/core@11.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA=="],
406+
407+ "@inquirer/editor": ["@inquirer/editor@5.2.2", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/external-editor": "^3.0.3", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg=="],
408+
409+ "@inquirer/expand": ["@inquirer/expand@5.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g=="],
410+
411+ "@inquirer/external-editor": ["@inquirer/external-editor@3.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA=="],
412+
413+ "@inquirer/figures": ["@inquirer/figures@2.0.7", "", {}, "sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw=="],
414+
415+ "@inquirer/input": ["@inquirer/input@5.1.2", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg=="],
416+
417+ "@inquirer/number": ["@inquirer/number@4.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA=="],
418+
419+ "@inquirer/password": ["@inquirer/password@5.1.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg=="],
420+
421+ "@inquirer/prompts": ["@inquirer/prompts@8.4.2", "", { "dependencies": { "@inquirer/checkbox": "^5.1.4", "@inquirer/confirm": "^6.0.12", "@inquirer/editor": "^5.1.1", "@inquirer/expand": "^5.0.13", "@inquirer/input": "^5.0.12", "@inquirer/number": "^4.0.12", "@inquirer/password": "^5.0.12", "@inquirer/rawlist": "^5.2.8", "@inquirer/search": "^4.1.8", "@inquirer/select": "^5.1.4" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-XJmn/wY4AX56l1BRU+ZjDrFtg9+2uBEi4JvJQj82kwJDQKiPgSn4CEsbfGGygS4Gw6rkL4W18oATjfVfaqub2Q=="],
422+
423+ "@inquirer/rawlist": ["@inquirer/rawlist@5.3.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og=="],
424+
425+ "@inquirer/search": ["@inquirer/search@4.2.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g=="],
426+
427+ "@inquirer/select": ["@inquirer/select@5.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw=="],
428+
429+ "@inquirer/type": ["@inquirer/type@4.0.7", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g=="],
430+
431+ "@internationalized/date": ["@internationalized/date@3.12.3", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-fuLX+3ZKLsxI73y8b01EG/WjHb6gE6weCqlfawPO27kBWGMh9G1yH6Csv1uU7/cac9H2GHmOMt6CjmuQ1aia4Q=="],
432+
433+ "@internationalized/number": ["@internationalized/number@3.6.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg=="],
434+
435+ "@intlify/bundle-utils": ["@intlify/bundle-utils@11.2.4", "", { "dependencies": { "@intlify/message-compiler": "~11.4.2", "@intlify/shared": "~11.4.2", "acorn": "^8.8.2", "esbuild": "^0.25.4", "escodegen": "^2.1.0", "estree-walker": "^2.0.2", "jsonc-eslint-parser": "^2.3.0", "source-map-js": "^1.2.1", "yaml-eslint-parser": "^1.2.2" } }, "sha512-eE18yR9eM9k5n8snCkHIYp2MuVTxa19aF8z9OMyxXWv0frz2HlBZDGIPFjA38pP3OJ1IlRBXC/dW5GILeLMSCQ=="],
436+
437+ "@intlify/core": ["@intlify/core@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-TGFCWeunb0mmKWpX7UXRAS2enMtucTC+NG9dT+RMfxFDCAIvXF33Wb2yJUbeNczxER4f0uMt0b9g1MCsROfKyA=="],
438+
439+ "@intlify/core-base": ["@intlify/core-base@11.4.8", "", { "dependencies": { "@intlify/devtools-types": "11.4.8", "@intlify/message-compiler": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-A+Q7SKm5oEcy1E/cghqd7n/St4XjTqLhiiyDuieNcMrJcrHlkY5n0jp7Q9dD3txvVHzvsmBVV5M9wD5/s1zfzw=="],
440+
441+ "@intlify/devtools-types": ["@intlify/devtools-types@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-MGpID+rlfzGUbNcnC20bm5NMSBHPrvx0atLTfv9dftn3kjXw1hGKDcIcwrO99tSrZEc2i+hczRL7ks8qXsHPkQ=="],
442+
443+ "@intlify/h3": ["@intlify/h3@0.7.4", "", { "dependencies": { "@intlify/core": "^11.1.12", "@intlify/utils": "^0.13.0" } }, "sha512-BtL5+U3Dd9Qz6so+ArOMQWZ+nV21rOqqYUXnqwvW6J3VUXr66A9+9+vUFb/NAQvOU4kdfkO3c/9LMRGU9WZ8vw=="],
444+
445+ "@intlify/message-compiler": ["@intlify/message-compiler@11.4.8", "", { "dependencies": { "@intlify/shared": "11.4.8", "source-map-js": "^1.0.2" } }, "sha512-vbzk17dYwduYiv52EK61+FDCyhfVg1uPUtPmiD/d45W99uJIcXywrweOBcHv7n9/iEqmXiMGT52bgJbZDQqK3w=="],
446+
447+ "@intlify/shared": ["@intlify/shared@11.4.8", "", {}, "sha512-XbRgrv+XEuvDr7UCY55oibVrh+o4u+A0VB6nSL0F5Z8LcZxE/8j573LYG6bCrOigIcHdGpSNI7Rh5UpC5/B/eg=="],
448+
449+ "@intlify/unplugin-vue-i18n": ["@intlify/unplugin-vue-i18n@11.2.4", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@intlify/bundle-utils": "11.2.4", "@intlify/shared": "~11.4.2", "@intlify/vue-i18n-extensions": "^8.0.0", "@rollup/pluginutils": "^5.1.0", "@typescript-eslint/scope-manager": "^8.13.0", "@typescript-eslint/typescript-estree": "^8.13.0", "debug": "^4.3.3", "fast-glob": "^3.2.12", "pathe": "^2.0.3", "picocolors": "^1.0.0", "unplugin": "^2.3.4", "vue": "~3.5.34" }, "peerDependencies": { "petite-vue-i18n": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "vue-i18n": "*" }, "optionalPeers": ["petite-vue-i18n", "vite", "vue-i18n"] }, "sha512-bY0ZOaVUvWTyvy4bRGCUKw4Brx5uH/ojjVKsZ1aWzY2drFKIJbeP8DpGMD2QZT8aLpZSUsHtiJlRGLQSZenrvw=="],
450+
451+ "@intlify/utils": ["@intlify/utils@0.14.1", "", {}, "sha512-/NVDhX6sG87h0PXIwUCTW9DeHbKeqlni6qVV8xzMULQRHE9azIETldBlTKaBji7z6ostyDIH4s6SWI3AAI4uFg=="],
452+
453+ "@intlify/vue-i18n-extensions": ["@intlify/vue-i18n-extensions@8.0.0", "", { "dependencies": { "@babel/parser": "^7.24.6", "@intlify/shared": "^10.0.0", "@vue/compiler-dom": "^3.2.45", "vue-i18n": "^10.0.0" }, "peerDependencies": { "vue": "^3.0.0" }, "optionalPeers": ["vue"] }, "sha512-w0+70CvTmuqbskWfzeYhn0IXxllr6mU+IeM2MU0M+j9OW64jkrvqY+pYFWrUnIIC9bEdij3NICruicwd5EgUuQ=="],
454+
455+ "@ioredis/commands": ["@ioredis/commands@1.10.0", "", {}, "sha512-UmeW7z4LfctwoQ5wkhVzgq8tXkreED2xZGpX+Bg+zA+WJFZCT6c062AfCK/Dfk81xZnnwdhJCUMkitihRaoC2Q=="],
456+
457+ "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
458+
459+ "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
460+
461+ "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
462+
463+ "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
464+
465+ "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
466+
467+ "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="],
468+
469+ "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
470+
471+ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
472+
473+ "@kwsites/file-exists": ["@kwsites/file-exists@1.1.1", "", { "dependencies": { "debug": "^4.1.1" } }, "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw=="],
474+
475+ "@kwsites/promise-deferred": ["@kwsites/promise-deferred@1.1.1", "", {}, "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="],
476+
477+ "@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.3", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg=="],
478+
479+ "@miyaneee/rollup-plugin-json5": ["@miyaneee/rollup-plugin-json5@1.2.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0", "json5": "^2.2.3" }, "peerDependencies": { "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, "sha512-JjTIaXZp9WzhUHpElrqPnl1AzBi/rvRs065F71+aTmlqvTMVkdbjZ8vfFl4nRlgJy+TPBw69ZK4pwFdmOAt4aA=="],
480+
481+ "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.30.0", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA=="],
482+
483+ "@napi-rs/lzma-linux-x64-gnu": ["@napi-rs/lzma-linux-x64-gnu@1.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ=="],
484+
485+ "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" } }, "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw=="],
486+
487+ "@noble/hashes": ["@noble/hashes@2.3.0", "", {}, "sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ=="],
488+
489+ "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
490+
491+ "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
492+
493+ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
494+
495+ "@nuxt/cli": ["@nuxt/cli@3.36.1", "", { "dependencies": { "@bomb.sh/tab": "^0.0.17", "@clack/prompts": "^1.6.0", "c12": "^3.3.4", "citty": "^0.2.2", "confbox": "^0.2.4", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.7", "exsolve": "^1.0.8", "fuse.js": "^7.4.2", "fzf": "^0.5.2", "giget": "^3.3.0", "jiti": "^2.7.0", "listhen": "^1.10.0", "nypm": "^0.6.7", "ofetch": "^1.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "scule": "^1.3.0", "semver": "^7.8.5", "srvx": "^0.11.17", "std-env": "^4.1.0", "tinyclip": "^0.1.14", "tinyexec": "^1.2.4", "ufo": "^1.6.4", "youch": "^4.1.1" }, "peerDependencies": { "@nuxt/schema": "^4.4.6" }, "optionalPeers": ["@nuxt/schema"], "bin": { "nuxi": "bin/nuxi.mjs", "nuxt": "bin/nuxi.mjs", "nuxi-ng": "bin/nuxi.mjs", "nuxt-cli": "bin/nuxi.mjs" } }, "sha512-qu0LLFjOr1alMSrcVb3k3fWYXGeETeOIN5UoGoGEjwWVtf+KxQbN5IAzdXb7ip5D3pfKLcrAOTbIGf9XFmeGFQ=="],
496+
497+ "@nuxt/content": ["@nuxt/content@3.15.2", "", { "dependencies": { "@nuxt/kit": "^4.5.0", "@nuxtjs/mdc": "^0.22.2", "@shikijs/langs": "^4.3.1", "@sqlite.org/sqlite-wasm": "3.53.0-build1", "@standard-schema/spec": "^1.1.0", "@webcontainer/env": "^1.1.1", "c12": "^3.3.4", "chokidar": "^5.0.0", "consola": "^3.4.2", "db0": "^0.3.4", "defu": "^6.1.7", "destr": "^2.0.5", "git-url-parse": "^16.1.0", "h3": "^1.15.11", "hookable": "^5.5.3", "isomorphic-git": "^1.38.9", "jiti": "^2.7.0", "json-schema-to-typescript-lite": "^15.0.0", "mdast-util-to-hast": "^13.2.1", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.2", "micromark-util-character": "^2.1.1", "micromark-util-chunked": "^2.0.1", "micromark-util-resolve-all": "^2.0.1", "micromark-util-sanitize-uri": "^2.0.1", "micromatch": "^4.0.8", "minimark": "^0.2.0", "minimatch": "^10.2.5", "nuxt-component-meta": "0.18.0", "nypm": "^0.6.8", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "remark-mdc": "^3.11.1", "scule": "^1.3.0", "shiki": "^4.3.1", "slugify": "^1.6.9", "socket.io-client": "^4.8.3", "std-env": "^4.2.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "unified": "^11.0.5", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.1.0", "unplugin": "^3.3.0", "zod": "^3.25.76", "zod-to-json-schema": "^3.25.2" }, "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "@valibot/to-json-schema": "^1.5.0", "better-sqlite3": "^12.5.0", "sqlite3": "*", "valibot": "^1.2.0" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "@valibot/to-json-schema", "better-sqlite3", "sqlite3", "valibot"] }, "sha512-jBK48RbA5RIt2SdtHPBcu4eX8+PYVsspbN+Cfx52kbpl8uXCiwjFudqGZrl2yqRQuEqVDYk9FGIOvWiMarLDtA=="],
498+
499+ "@nuxt/devalue": ["@nuxt/devalue@2.0.2", "", {}, "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA=="],
500+
501+ "@nuxt/devtools": ["@nuxt/devtools@3.4.1", "", { "dependencies": { "@nuxt/devtools-kit": "3.4.1", "@nuxt/devtools-wizard": "3.4.1", "@nuxt/kit": "^4.5.1", "@vue/devtools-core": "^8.2.1", "@vue/devtools-kit": "^8.2.1", "birpc": "^4.0.0", "consola": "^3.4.2", "destr": "^2.0.5", "error-stack-parser-es": "^2.0.1", "execa": "^8.0.1", "fast-npm-meta": "^2.2.0", "get-port-please": "^3.2.0", "hookable": "^6.1.1", "image-meta": "^0.2.2", "is-installed-globally": "^1.0.0", "launch-editor": "^2.14.1", "local-pkg": "^1.2.1", "magicast": "^0.5.4", "nypm": "^0.6.9", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "semver": "^7.8.5", "simple-git": "^3.36.0", "sirv": "^3.0.2", "structured-clone-es": "^2.0.1", "tinyglobby": "^0.2.17", "unstorage": "^1.17.5", "vite-plugin-inspect": "^11.4.1", "vite-plugin-vue-tracer": "^1.4.0", "which": "^6.0.1", "ws": "^8.21.1" }, "peerDependencies": { "@vitejs/devtools": "*", "vite": ">=6.0" }, "optionalPeers": ["@vitejs/devtools"], "bin": { "devtools": "./cli.mjs" } }, "sha512-20zZs6k/zAdi+PM7s1BwxE3hanZ+R1OGi5DWCKPyzSnhUUeeNebvWNgec7Rwnx6iKLkJfK4WFIZ+FL2QurG/ZQ=="],
502+
503+ "@nuxt/devtools-kit": ["@nuxt/devtools-kit@3.4.1", "", { "dependencies": { "@nuxt/kit": "^4.5.1", "execa": "^8.0.1" }, "peerDependencies": { "vite": ">=6.0" } }, "sha512-6ltPm2yUW8GvDdf3VJna7+flLi+ej7xRfSr+S4ovevKt/CuPf9EqYOn1jW7Kw/U1MXt/71zkn+/O2vu3G6O9Hg=="],
504+
505+ "@nuxt/devtools-wizard": ["@nuxt/devtools-wizard@3.4.1", "", { "dependencies": { "@clack/prompts": "^1.7.0", "consola": "^3.4.2", "diff": "^8.0.4", "execa": "^8.0.1", "magicast": "^0.5.4", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "semver": "^7.8.5" }, "bin": { "devtools-wizard": "./cli.mjs" } }, "sha512-taGeuTnkHsZVjgD9r6NXvvHaBzB2j4mCgOmlmkz3ntsqgh1SJfmsD11Tmtl7FVAxJS8Wuvuzgt0GyTlADBW9Wg=="],
506+
507+ "@nuxt/eslint": ["@nuxt/eslint@1.17.0", "", { "dependencies": { "@eslint/config-inspector": "^3.2.0", "@nuxt/devtools-kit": "^3.4.1", "@nuxt/eslint-config": "1.17.0", "@nuxt/eslint-plugin": "1.17.0", "@nuxt/kit": "^4.5.1", "chokidar": "^5.0.0", "eslint-flat-config-utils": "^3.2.0", "eslint-typegen": "^2.3.1", "find-up": "^8.0.0", "get-port-please": "^3.2.0", "mlly": "^1.8.2", "pathe": "^2.0.3", "unimport": "^6.4.0" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0", "eslint-webpack-plugin": "^4.1.0", "vite-plugin-eslint2": "^5.0.0" }, "optionalPeers": ["eslint-webpack-plugin", "vite-plugin-eslint2"] }, "sha512-54aD2xJvI2QJnHvQwN22hEgE/izF5ez+diPE7yLCJskKQ0tqPrNJCcRjBtuFQmQMQjTfHESsfuFdLfwMGUz8bw=="],
508+
509+ "@nuxt/eslint-config": ["@nuxt/eslint-config@1.17.0", "", { "dependencies": { "@antfu/install-pkg": "^2.0.1", "@clack/prompts": "^1.7.0", "@eslint/js": "^10.0.1", "@nuxt/eslint-plugin": "1.17.0", "@stylistic/eslint-plugin": "^5.10.0", "@typescript-eslint/eslint-plugin": "^8.66.0", "@typescript-eslint/parser": "^8.66.0", "eslint-config-flat-gitignore": "^2.3.0", "eslint-flat-config-utils": "^3.2.0", "eslint-merge-processors": "^2.0.0", "eslint-plugin-import-lite": "^0.6.0", "eslint-plugin-import-x": "^4.17.1", "eslint-plugin-jsdoc": "^63.3.3", "eslint-plugin-regexp": "^3.1.1", "eslint-plugin-unicorn": "^73.0.0", "eslint-plugin-vue": "^10.10.0", "eslint-processor-vue-blocks": "^2.0.0", "globals": "^17.9.0", "local-pkg": "^1.2.1", "pathe": "^2.0.3", "vue-eslint-parser": "^10.4.1" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0", "eslint-plugin-format": "*" }, "optionalPeers": ["eslint-plugin-format"] }, "sha512-5lHecnGvi7RxGsR3Amvnl47bxb3F4wFD9KQgbbmhd6prz3OAAbgQio9EK88tPyNHt7+dxIFFOnCH6TJNl/QbqQ=="],
510+
511+ "@nuxt/eslint-plugin": ["@nuxt/eslint-plugin@1.17.0", "", { "dependencies": { "@typescript-eslint/types": "^8.66.0", "@typescript-eslint/utils": "^8.66.0" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-h/fn4K09tA5tvdLj9Zlu5mb3TOVO2zLAetCsfJ1/LLVm2XWtgDVhfSB+Sm93cF1rCGxahmHZd4RJz2nAsWTDvg=="],
512+
513+ "@nuxt/fonts": ["@nuxt/fonts@0.14.0", "", { "dependencies": { "@nuxt/devtools-kit": "^3.2.1", "@nuxt/kit": "^4.2.2", "consola": "^3.4.2", "defu": "^6.1.4", "fontless": "^0.2.1", "h3": "^1.15.5", "magic-regexp": "^0.10.0", "ofetch": "^1.5.1", "pathe": "^2.0.3", "sirv": "^3.0.2", "tinyglobby": "^0.2.15", "ufo": "^1.6.3", "unifont": "^0.7.4", "unplugin": "^3.0.0", "unstorage": "^1.17.4" } }, "sha512-4uXQl9fa5F4ibdgU8zomoOcyMdnwgdem+Pi8JEqeDYI5yPR32Kam6HnuRr47dTb97CstaepAvXPWQUUHMtjsFQ=="],
514+
515+ "@nuxt/icon": ["@nuxt/icon@2.4.1", "", { "dependencies": { "@iconify/collections": "^1.0.715", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.4", "@iconify/vue": "^5.0.1", "@nuxt/devtools-kit": "^3.3.1", "@nuxt/kit": "^4.5.0", "consola": "^3.4.2", "local-pkg": "^1.2.1", "mlly": "^1.8.2", "ohash": "^2.0.11", "picomatch": "^4.0.5", "std-env": "^4.2.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4" } }, "sha512-fOY3kiT6OoL4bWXVmMLc1VgoCm1PxIGSBmsSaLO090NEgtd1ub441dZ7MEoOD5UIilWzba1kCWdwJcAkGCOwLg=="],
516+
517+ "@nuxt/image": ["@nuxt/image@2.1.0", "", { "dependencies": { "@noble/hashes": "^2.2.0", "@nuxt/kit": "^4.5.1", "defu": "^6.1.7", "h3": "^1.15.11", "image-meta": "^0.2.2", "knitwork": "^1.3.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "std-env": "^4.2.0", "ufo": "^1.6.4" }, "optionalDependencies": { "ipx": "4.0.0-beta.1" } }, "sha512-UzAYq25uhwH1G6jvZBn/SwmniJr77fgF8KzbwUI3MuSdkIP3WQqt/F5wWKXgbGgAWWZGt8Vv2NQ0WZgFuxUBgQ=="],
518+
519+ "@nuxt/kit": ["@nuxt/kit@4.5.2", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.2", "exsolve": "^1.1.1", "ignore": "^7.0.6", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "nostics": "^1.2.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^3.0.0", "untyped": "^2.0.0", "verkit": "^0.3.1" } }, "sha512-l66LU9DcJYjmNwqwAj2I5UGRrUbnG2DOKGChnN70zIGtn0eq/z87gi/FRgha6eMb9/FmB1PFHgtx6PWVml1C2Q=="],
520+
521+ "@nuxt/nitro-server": ["@nuxt/nitro-server@4.4.8", "", { "dependencies": { "@nuxt/devalue": "^2.0.2", "@nuxt/kit": "4.4.8", "@unhead/vue": "^2.1.15", "@vue/shared": "^3.5.35", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "devalue": "^5.8.1", "errx": "^0.1.0", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "h3": "^1.15.11", "impound": "^1.1.5", "klona": "^2.0.6", "mocked-exports": "^0.1.1", "nitropack": "^2.13.4", "nypm": "^0.6.6", "ohash": "^2.0.11", "pathe": "^2.0.3", "rou3": "^0.8.1", "std-env": "^4.1.0", "ufo": "^1.6.4", "unctx": "^2.5.0", "unstorage": "^1.17.5", "vue": "^3.5.35", "vue-bundle-renderer": "^2.2.0", "vue-devtools-stub": "^0.1.0" }, "peerDependencies": { "@babel/plugin-proposal-decorators": "^7.25.0", "@babel/plugin-syntax-typescript": "^7.25.0", "@rollup/plugin-babel": "^6.0.0 || ^7.0.0", "nuxt": "^4.4.8" }, "optionalPeers": ["@babel/plugin-proposal-decorators", "@babel/plugin-syntax-typescript", "@rollup/plugin-babel"] }, "sha512-cc1fxgSx34Htesx3JBO+hMhbqd6VljXDC06P+UOA5z53cR224TmEFYT/MUuZDkrtt4qLnSG8yq0IxhEM3NCUlw=="],
522+
523+ "@nuxt/schema": ["@nuxt/schema@4.4.8", "", { "dependencies": { "@vue/shared": "^3.5.35", "defu": "^6.1.7", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "std-env": "^4.1.0" } }, "sha512-igfWuMF0x0Pmx/XwhPwH/bcXgbuwNnjUjqxCAsY6VQhmGKo0e9soJq3Q0ohj+rBkBfX6o2ysTP1/t2M82aK4qA=="],
524+
525+ "@nuxt/telemetry": ["@nuxt/telemetry@2.8.0", "", { "dependencies": { "citty": "^0.2.1", "consola": "^3.4.2", "ofetch": "^2.0.0-alpha.3", "rc9": "^3.0.0", "std-env": "^4.0.0" }, "peerDependencies": { "@nuxt/kit": ">=3.0.0" }, "bin": { "nuxt-telemetry": "bin/nuxt-telemetry.mjs" } }, "sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ=="],
526+
527+ "@nuxt/ui": ["@nuxt/ui@4.10.0", "", { "dependencies": { "@floating-ui/dom": "^1.8.0", "@iconify/vue": "^5.0.1", "@internationalized/date": "^3.12.2", "@internationalized/number": "^3.6.7", "@nuxt/fonts": "^0.14.0", "@nuxt/icon": "^2.3.1", "@nuxt/kit": "^4.4.8", "@nuxt/schema": "^4.4.8", "@nuxtjs/color-mode": "^4.0.1", "@standard-schema/spec": "^1.1.0", "@tailwindcss/postcss": "^4.3.2", "@tailwindcss/vite": "^4.3.2", "@tanstack/vue-table": "^8.21.3", "@tanstack/vue-virtual": "^3.13.32", "@tiptap/core": "^3.27.3", "@tiptap/extension-bubble-menu": "^3.27.3", "@tiptap/extension-code": "^3.27.3", "@tiptap/extension-collaboration": "^3.27.3", "@tiptap/extension-drag-handle": "^3.27.3", "@tiptap/extension-drag-handle-vue-3": "^3.27.3", "@tiptap/extension-floating-menu": "^3.27.3", "@tiptap/extension-horizontal-rule": "^3.27.3", "@tiptap/extension-image": "^3.27.3", "@tiptap/extension-mention": "^3.27.3", "@tiptap/extension-node-range": "^3.27.3", "@tiptap/extension-placeholder": "^3.27.3", "@tiptap/markdown": "^3.27.3", "@tiptap/pm": "^3.27.3", "@tiptap/starter-kit": "^3.27.3", "@tiptap/suggestion": "^3.27.3", "@tiptap/vue-3": "^3.27.3", "@unhead/vue": "^2.1.15", "@vueuse/core": "^14.3.0", "@vueuse/integrations": "^14.3.0", "@vueuse/shared": "^14.3.0", "colortranslator": "^5.0.0", "consola": "^3.4.2", "defu": "^6.1.7", "embla-carousel-auto-height": "^8.6.0", "embla-carousel-auto-scroll": "^8.6.0", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-class-names": "^8.6.0", "embla-carousel-fade": "^8.6.0", "embla-carousel-vue": "^8.6.0", "embla-carousel-wheel-gestures": "^8.1.0", "fuse.js": "^7.5.0", "hookable": "^6.1.1", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "motion-v": "^2.3.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "reka-ui": "2.10.1", "scule": "^1.3.0", "tailwind-merge": "^3.6.0", "tailwind-variants": "^3.2.2", "tailwindcss": "^4.3.2", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unplugin": "^3.3.0", "unplugin-auto-import": "^21.0.0", "unplugin-vue-components": "^32.1.0", "vaul-vue": "0.4.1", "vue-component-type-helpers": "^3.3.7" }, "peerDependencies": { "@inertiajs/vue3": "^2.0.7 || ^3.0.0", "@nuxt/content": "^3.0.0", "ai": "^6 || ^7", "joi": "^18.0.0", "superstruct": "^2.0.0", "typescript": "^5.6.3 || ^6.0.0", "valibot": "^1.0.0", "vue-router": "^4.5.0 || ^5.0.0", "yup": "^1.7.0", "zod": "^3.24.0 || ^4.0.0" }, "optionalPeers": ["@inertiajs/vue3", "@nuxt/content", "ai", "joi", "superstruct", "valibot", "vue-router", "yup", "zod"], "bin": { "nuxt-ui": "cli/index.mjs" } }, "sha512-f6eFtHZ958XIVnbpGz7OeVRjuEXdmQWgNKWBppNlh/lP790KDi8IXTZ6lndJ72lpp7hC8Wo2BbSL9zo9fwywWQ=="],
528+
529+ "@nuxt/vite-builder": ["@nuxt/vite-builder@4.4.8", "", { "dependencies": { "@nuxt/kit": "4.4.8", "@rollup/plugin-replace": "^6.0.3", "@vitejs/plugin-vue": "^6.0.7", "@vitejs/plugin-vue-jsx": "^5.1.5", "autoprefixer": "^10.5.0", "consola": "^3.4.2", "cssnano": "^8.0.1", "defu": "^6.1.7", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "get-port-please": "^3.2.0", "jiti": "^2.7.0", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "mocked-exports": "^0.1.1", "nypm": "^0.6.6", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "postcss": "^8.5.15", "seroval": "^1.5.4", "std-env": "^4.1.0", "ufo": "^1.6.4", "unenv": "^2.0.0-rc.24", "vite": "^7.3.3", "vite-node": "^5.3.0", "vite-plugin-checker": "^0.14.1", "vue-bundle-renderer": "^2.2.0" }, "peerDependencies": { "@babel/plugin-proposal-decorators": "^7.25.0", "@babel/plugin-syntax-jsx": "^7.25.0", "nuxt": "4.4.8", "rolldown": "^1.0.0-beta.38", "rollup-plugin-visualizer": "^6.0.0 || ^7.0.1", "vue": "^3.3.4" }, "optionalPeers": ["@babel/plugin-proposal-decorators", "@babel/plugin-syntax-jsx", "rolldown", "rollup-plugin-visualizer"] }, "sha512-54M/k6qVY85Qeoe1m/lPZ0SANGJEbI50r5uYgh3XT942ENve3K5Nk6TMYp8i5wGGC4TWvPea+1mlCrp8rjsXag=="],
530+
531+ "@nuxtjs/color-mode": ["@nuxtjs/color-mode@4.0.1", "", { "dependencies": { "@nuxt/kit": "^4.4.6", "exsolve": "^1.0.8", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "semver": "^7.8.1" } }, "sha512-eiA7hWXi5zNHaYKyJFCGF6i0wFZtuvR7KDXZ6jiSvwxjCpRFwphrw0MOSmNfArTSSsT1wpW+/2H92cejeVfUlg=="],
532+
533+ "@nuxtjs/i18n": ["@nuxtjs/i18n@10.6.0", "", { "dependencies": { "@intlify/core": "^11.4.8", "@intlify/h3": "^0.7.4", "@intlify/message-compiler": "^11.4.8", "@intlify/shared": "^11.4.8", "@intlify/unplugin-vue-i18n": "^11.2.4", "@intlify/utils": "^0.14.1", "@miyaneee/rollup-plugin-json5": "^1.2.0", "@nuxt/kit": "^4.5.1", "@rollup/plugin-yaml": "^4.1.2", "@vue/compiler-sfc": "^3.5.40", "confbox": "^0.2.4", "defu": "^6.1.7", "devalue": "^5.8.2", "h3": "^1.15.11", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "nuxt-define": "^1.0.0", "oxc-parser": "^0.141.0", "oxc-transform": "^0.141.0", "oxc-walker": "^0.7.0", "pathe": "^2.0.3", "ufo": "^1.6.4", "unhead": "^3.2.3", "unplugin": "^3.3.0", "unrouting": "^0.2.2", "unstorage": "^1.17.5", "vue-i18n": "^11.4.8", "vue-router": "^5.2.0" } }, "sha512-20YXYOcc8cSh/pSpNgj+MHAn11qUbsFR1IBJh6qYtRPVhUUmgqJ1DyMu39MB+uEYYL/fsberL2ByMYrFaROslw=="],
534+
535+ "@nuxtjs/mcp-toolkit": ["@nuxtjs/mcp-toolkit@0.18.1", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", "@nuxt/kit": "^4.5.1", "@vitejs/plugin-vue": "^6.0.8", "tinyglobby": "^0.2.17", "vite-plugin-singlefile": "^2.3.3" }, "peerDependencies": { "@vue/compiler-sfc": "^3.5.40", "agents": ">=0.20.0", "h3": ">=1.15.11", "secure-exec": ">=0.3.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.5.40", "zod": "^4.1.13" }, "optionalPeers": ["@vue/compiler-sfc", "agents", "secure-exec", "vite", "vue"] }, "sha512-RLr/CfSQH4RcB68TR1YpuhGBJGmxcwo6IrNovM6zUgnTUC7Br8Ji3saZB7QKoLRt9GMEnz+UbS341FL5Odw2Ew=="],
536+
537+ "@nuxtjs/mdc": ["@nuxtjs/mdc@0.22.2", "", { "dependencies": { "@nuxt/kit": "^4.4.8", "@shikijs/core": "^4.3.0", "@shikijs/engine-javascript": "^4.3.0", "@shikijs/langs": "^4.3.0", "@shikijs/themes": "^4.3.0", "@shikijs/transformers": "^4.3.0", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "@vue/compiler-core": "^3.5.39", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.7", "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-format": "^1.1.0", "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", "mdast-util-to-hast": "^13.2.1", "micromark-util-sanitize-uri": "^2.0.1", "parse5": "^8.0.1", "pathe": "^2.0.3", "property-information": "^7.2.0", "rehype-external-links": "^3.0.0", "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", "remark-emoji": "^5.0.2", "remark-gfm": "^4.0.1", "remark-mdc": "^3.11.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-stringify": "^11.0.0", "scule": "^1.3.0", "shiki": "^4.3.0", "ufo": "^1.6.4", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.1.0", "unwasm": "^0.5.3", "vfile": "^6.0.3" } }, "sha512-bGI/tXOB7iOMY5LBmSICTVE1l2MsNdLnbZDc+zbaeVv6EXz8V7oyJgi+Fe32qWTS+k5cNjAzj90gvlQfJ/RW9g=="],
538+
539+ "@nuxtjs/robots": ["@nuxtjs/robots@6.1.3", "", { "dependencies": { "@fingerprintjs/botd": "^2.0.0", "@nuxt/kit": "^4.5.0", "consola": "^3.4.2", "defu": "^6.1.7", "h3": "^1.15.11", "nuxt-site-config": "^4.1.1", "nuxtseo-shared": "^5.3.2", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "ufo": "^1.6.4" }, "peerDependencies": { "zod": ">=3" }, "optionalPeers": ["zod"] }, "sha512-t1EAXgJ5A3QfwVOzWrHCuojHhirKDtUMOuoUPBVvfxyDGKIsHwnif5+4vR9HQK2fdOZqiSE/TfBsWiZhjJleOw=="],
540+
541+ "@octokit/auth-token": ["@octokit/auth-token@6.0.0", "", {}, "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w=="],
542+
543+ "@octokit/core": ["@octokit/core@7.0.7", "", { "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.4", "@octokit/request": "^10.0.13", "@octokit/request-error": "^7.1.1", "@octokit/types": "^17.0.0", "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-DcB0M3KFgr9ECI328lhBMVsyFT2DnmNucSBTqEN3exyNKUzkkpUSCHmTRcunF41Eou2TIQKW4seewri8ON9bSA=="],
544+
545+ "@octokit/endpoint": ["@octokit/endpoint@11.0.4", "", { "dependencies": { "@octokit/types": "^17.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-f1cOWoHPmxryJFknxbtDdjODWfV8A9tc8Aae6ermXPNgHFZ/x91AtHIz4gicEjL8hkJiip+u21QHJORfBv/qiA=="],
546+
547+ "@octokit/graphql": ["@octokit/graphql@9.0.4", "", { "dependencies": { "@octokit/request": "^10.0.13", "@octokit/types": "^17.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-5s15CCiY8XXQ+FG+b1YQcl6Z2FA++nwAz/tg2VUrTmnMncP+2nnGUEYANImdnxsA2Fnq+Mbl7hDjUTw7cFAwcg=="],
548+
549+ "@octokit/openapi-types": ["@octokit/openapi-types@28.0.0", "", {}, "sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ=="],
550+
551+ "@octokit/plugin-paginate-rest": ["@octokit/plugin-paginate-rest@14.0.0", "", { "dependencies": { "@octokit/types": "^16.0.0" }, "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw=="],
552+
553+ "@octokit/plugin-request-log": ["@octokit/plugin-request-log@6.0.0", "", { "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q=="],
554+
555+ "@octokit/plugin-rest-endpoint-methods": ["@octokit/plugin-rest-endpoint-methods@17.0.0", "", { "dependencies": { "@octokit/types": "^16.0.0" }, "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw=="],
556+
557+ "@octokit/request": ["@octokit/request@10.0.13", "", { "dependencies": { "@octokit/endpoint": "^11.0.3", "@octokit/request-error": "^7.1.1", "@octokit/types": "^17.0.0", "content-type": "^2.0.0", "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" } }, "sha512-v2269YxL9Yf+x3d+gRI63FP0vFQEiWgLyBzxe/Y+0yFDg2B/Tzf5dhh9VNfccVAQnfcfwQWyk/y6Bn7rUXXs7A=="],
558+
559+ "@octokit/request-error": ["@octokit/request-error@7.1.1", "", { "dependencies": { "@octokit/types": "^17.0.0" } }, "sha512-+eaY7G2VVpSf2pc5Gn1+mph837V/d/TYTJAgWL9Tb0ogGYcpN3IlAVFgjL+Vv93F/sevrxkvsYCedtpLdcFLzA=="],
560+
561+ "@octokit/rest": ["@octokit/rest@22.0.1", "", { "dependencies": { "@octokit/core": "^7.0.6", "@octokit/plugin-paginate-rest": "^14.0.0", "@octokit/plugin-request-log": "^6.0.0", "@octokit/plugin-rest-endpoint-methods": "^17.0.0" } }, "sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw=="],
562+
563+ "@octokit/types": ["@octokit/types@17.0.0", "", { "dependencies": { "@octokit/openapi-types": "^28.0.0" } }, "sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q=="],
564+
565+ "@oxc-minify/binding-android-arm-eabi": ["@oxc-minify/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-D8M1+nqwLaACHZsld/t6f+cE4N97XOu5iQ88f1ZaYH4ptFzFrXo5N7wUKACTI4xmNUD+6W0Y4Apk5U2r8HLdBQ=="],
566+
567+ "@oxc-minify/binding-android-arm64": ["@oxc-minify/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-dnQUJdpOEh/nZfQtvGGN61VcCCcPJ2aCm+ndl8GIA2lk2GpmIBgZ9h+phLVhgUFGt2es+2AQc0xvtK7RFNsViw=="],
568+
569+ "@oxc-minify/binding-darwin-arm64": ["@oxc-minify/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-K6+aXlOlsCcibpTiTitQYNXWGGwea0fEKF/kGHCNB+MNqOLCkdC7wesycaABYcXcyr58DhDoJnVb8E4Hq95iVw=="],
570+
571+ "@oxc-minify/binding-darwin-x64": ["@oxc-minify/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-BFEXHxYNwThyaO63p1VE5MOOXNGkHsHfkmajOCKXH40TfllTHQenXhpJ9mHDoF7EhaQjArpPjlDY88BuPjhurw=="],
572+
573+ "@oxc-minify/binding-freebsd-x64": ["@oxc-minify/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-oT5dbcXnS/cbpdXCpudAeVg/fqH1XnKhLUE/vkuRTuocjOd/GA2MoNMMhLWUvqNXO0xJnYmo2ISmDxShkItfOQ=="],
574+
575+ "@oxc-minify/binding-linux-arm-gnueabihf": ["@oxc-minify/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-tJ3B+b7DOuTsIMXSmu5xHHCakrBqqcrp4COYd/lelOdDvkbFoDRGnwH91POUOSUEOI/WLzIMkDqAH2SZ3N2jhQ=="],
576+
577+ "@oxc-minify/binding-linux-arm-musleabihf": ["@oxc-minify/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-XMUHfdilk1KTtOM2vA1bwDso07/wkLm/GgDOO9z/ioxrZoQyjXnJRW665VXa08z2BqEgwHRc1zH9p7s6sKPQbg=="],
578+
579+ "@oxc-minify/binding-linux-arm64-gnu": ["@oxc-minify/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UEff2jopbwJ4SndmxK06uqXrOpwWiJERJPdgDTBywwXP9QgW0p1YkQnBNt4+jK0I/hdLpbbyaCLLuUPKbaU70w=="],
580+
581+ "@oxc-minify/binding-linux-arm64-musl": ["@oxc-minify/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-yqskeIapQvx7Tu/OLsepLPcGsHGzfYy9PX6gIbhaOHfF+LA2zHBKnKb587FGx+lQjHLQR0llfmoSuXQ6q2EN+A=="],
582+
583+ "@oxc-minify/binding-linux-ppc64-gnu": ["@oxc-minify/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-r7PnUNxRB9D/gQjCVeasoieJVUF48n43rvk/jYbGAw9sRfYGoEo/rOs0GyTZU9ttss8HzjBaerAbADbAL8K8vw=="],
584+
585+ "@oxc-minify/binding-linux-riscv64-gnu": ["@oxc-minify/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-omXWC8I9lAMMjQIeadfItP5H4VDAiuU2BiVCtHMH3ktTbFq04sxscZhK4NFUUuw3fApDdXmfd7LW18q0JBHarg=="],
586+
587+ "@oxc-minify/binding-linux-riscv64-musl": ["@oxc-minify/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-LtFA3Hi8LVD/zuiPLKy9Aiz7N1IOj8rRhdXiW38GKQ9mAhj+Ko6IHGcTk2A7yNDA1DZBl7r+Qd4PEGWgVelPPw=="],
588+
589+ "@oxc-minify/binding-linux-s390x-gnu": ["@oxc-minify/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-rFsPDsT1j3beSInbrFukAAlTg101PcqdVMXDioR9AgJ1180tZ8s8D+pNDpQTRmPd3956mnpAE+Cs77Xoo/QZAQ=="],
590+
591+ "@oxc-minify/binding-linux-x64-gnu": ["@oxc-minify/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-xlrtAmDWZI8BEmsaXMYfblWuLIY5UnnRkit1VLkmVDb5ceZRZf4oEXK1QeYf5Z33dT0WK1Ek++P+TL/ZMCpyGQ=="],
592+
593+ "@oxc-minify/binding-linux-x64-musl": ["@oxc-minify/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-kd36CDkTkZDMNfVceNTSfpWnitE1+GjZmzJCeq8yaxsgvs/MXg8aauI2RgFjElYZIHSMyZku4pQ7Jtl3ZEYI6w=="],
594+
595+ "@oxc-minify/binding-openharmony-arm64": ["@oxc-minify/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-pI38dJBqfkNbFoL/GEarAzGDjKGVCZTdg0a8NKh1PP9GqWleXT6HLtXE4CZ+54e+2u68qVYVBwhbWAiRfwlUZA=="],
596+
597+ "@oxc-minify/binding-wasm32-wasi": ["@oxc-minify/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-AkLr+d+LLY4/55J/TrE0srNBUpZPzyU+cygdse7yZ9AhCndryNqe2y6e8naVK0TV7n8lxBd2OGGJAkho6blAkw=="],
598+
599+ "@oxc-minify/binding-win32-arm64-msvc": ["@oxc-minify/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-V92v7397t2073g+mSfaLHnPeoz6hA/1U4JNLeUBP87eWGZgVxDZ2qz3t3wFyYqXGJ/0VoEwdP8yrHLQQ7QzAOQ=="],
600+
601+ "@oxc-minify/binding-win32-ia32-msvc": ["@oxc-minify/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-2DP5RbG/SSaRVtmuwgTH6Ati4+uuOJjoI88dQnC5hD0zCC90EVDXZSXyJQ5i/OxLE1UAy58Wo2DJot/OrUspzA=="],
602+
603+ "@oxc-minify/binding-win32-x64-msvc": ["@oxc-minify/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-PJ75c6PlBx87tau0W35J43eGCv4wrDmdZ+4ddTZAnGtZqEeCVsLdmDPOEMe2DepogqlSVUF2kGBWtnFUJ5c7Rw=="],
604+
605+ "@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-l/44caGse+VpnY9gx0yvvc5QnnG3yG1FO3KZgYvNL1GZrfK86zIwAOgGEVlxDyRymzrU/KHiblPFpevKOmJmUA=="],
606+
607+ "@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-KUHmPMziLBp4u+zbrLdB7iWS7KshuZe+RAp7ELnY9SI9nNXBZ+dp8fiBqWOxhXqn+FQg3a4UcQhwmsJOKV8Jjg=="],
608+
609+ "@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-q8dWmnU/8ea2tga9w2f1PinQ5rcMPDUGkF64T189b65YMjUomET4oy5oRldOr4AwOQkneOG/Zttnz1Dvrc62wg=="],
610+
611+ "@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-cOKeIELIB2bJnCKwqx4Rdj+1Lss/U6uCbLxRySZrhyOOQa1flKhwZFjEHRHxk8fU1NKmhK5OnTdPQ4CpjuFuVw=="],
612+
613+ "@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-OpaSv4pW3KgFrMYQxTaS0aOE4T1DQF3qZE/4B6uqqv1KgPWWd4UQhJALi8PJPX1RRV5K7ThKXRfF7qGg2+3l1A=="],
614+
615+ "@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-JGK1wlGrGwxBIlVSF7KWTX1/ru6BEtf28fRROztDRkLfiW+Kxa4onnriezMIiogfn9hVw2KzYcKiLjkLR2ns8A=="],
616+
617+ "@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-yuZO533Ftonxn/iyoqQzURzLQHMspvsIyfiCSNi1t/ER4eIQaR0SsmUOUm5b/lmSig7IWIUa5/BrbEkAPwcilQ=="],
618+
619+ "@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-hvpbqT5pN2rR+3+xtWeizwfR/aZ0vGceg6TqYMl+ToxMpk9/tmnX7kSvQnfEUkoua8mhogzvIKsAkn0wxgblBA=="],
620+
621+ "@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-wJQGamIosQBoJHW9+S5XxrtKRo3eyJxsnS1XCPrqN0LHi8uw1pTqqTfn3t/NVuvbBg7Pumn4ez9Eidgcn0xbEg=="],
622+
623+ "@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Koaz32/O5+abIfrNGdyndgRvdOZ9jEf5/z3Ep9h3h2QWpdDiUQpVwgH0OcMXCs+l9aXxPLtkupqyVig9W6FDKw=="],
624+
625+ "@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-R4vOjWzxhnNWHnVLeiB6jNuIifdy9vcMXZGPc7StXcxBovI+U2zg1QhZ9o8OjV80oGivs1lX5NfPLzk4IPqlRA=="],
626+
627+ "@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-iwgBNUTHiMdxARLYuM0SBlnYeb19iw1Ea5M+4ERZupCsBMLArti6FyZ6UfFjJxIiTDr2oW2DGQFxlQVQ/dW9rA=="],
628+
629+ "@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-ZwZNo8FZmB/gVfboQl+wXilBigGl+6nQQs+nITOeAP/HcAOjiHl6XZJL9F/KXNEspODQcbjAiyjUbeCJd9a0fA=="],
630+
631+ "@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-govCvWx1dBlED3uu4qXctxpRcouu9I8Kn+DBktGCl760JtlGJzc9l/OmPJKlYWSbrRqKkMZehNeZ/4Wfma7uSA=="],
632+
633+ "@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ssTlpXD5Mq9uCssDJPzlRWqBt4Y7Zzd9i+XZhWmK/9Y6KUIuAxVYTYiI8lxcGWi0+3/Cz4A8q9UrD4NK9Y2j7g=="],
634+
635+ "@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-51aByfXhPtLEdWG4a2Ihdw6cPWV1ei1AarALpFdDP8MLWDLE2NuUMgbo3DERR2Kt8fT/ok1GUvBiLxVGke9uUQ=="],
636+
637+ "@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-2e16tkKp+wDO2GTAmXfxbBcCmGEaFPIJEIRBBmVKNVXSc8/fJsSIaBGyFTPHM9ST5GNWgJcYIt94rDTks+PLwA=="],
638+
639+ "@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-KPTNDKbxH1cglrqTyVeXHb4Pk4oksz8EcE1/v8zqU7N4UXbiHfA/IwtXZ2U77fnRAWBbgVkl/lZbL7o3hRdejg=="],
640+
641+ "@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-Una1bNYv9zCavQrfnDR9wuZVB3itLjCEH4Oz7i6CwAJN/Xq9b+zbbcxmvdkKvvJt4Ngc/MBmIYlbLo3zS4TQ0A=="],
642+
643+ "@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-kjBhCiOGSYTwDJQuuZa7a94JbP8htWu7J0X1KwH74kV2K5eYf6eyJRYmkpCDvr0XEL8tMxYI4WU1VekblFCLgg=="],
644+
645+ "@oxc-project/types": ["@oxc-project/types@0.133.0", "", {}, "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA=="],
646+
647+ "@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-2A79NBpyBKgHJ0FwgC8D1hzp3x2ujyvqq/kG+M76YyDMMkxLhX6A3vjnAnfEKycOoZxuKhwYu8BF9hKq67ykIA=="],
648+
649+ "@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-dynEph/hyoSgBzd2XbNlW37NK97nU6tZMs5jrhObUxSasBV/Gv9THZrWj9AlbWiMXR07WFYE82C9axjntYyBSw=="],
650+
651+ "@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4hGgKOG+dZSN3xjcgNWpcihekRG7/YbbAdjyz07yv0HjzA6kdqYAhGrn84374UPO2h6etYJwsCBoM9iJHHvJ8w=="],
652+
653+ "@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-7J11/9PFkznmKuANkCAjt3znV1BcDFXQSgDiBvDxXT3Wm6995/zxrJD5zmo+5XSgY4sm+2V8/ED6ZSD3mKOC5A=="],
654+
655+ "@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5EMAO0vzCpUfhn6aSjIUeJeRI2ztevHwSVr/M8sZ2VBYc79UuOfjjMCQ67LtUbgpvQtpBWkzeAHCP3L7JFYmlg=="],
656+
657+ "@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-z6XT8tmo9sPmCIYaFIxDelBU4wXLwwWMX2VNCMIY6bkQp5r+kRtVXYS3yLbJHMKEhRKvw/g+Z7fO9aadsGGEAw=="],
658+
659+ "@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-GQDpEV2VhHG8hT5BviDv+emi9oHYhfv+JJJWROYp+eGgWjiQMp4QZVb6Bu3kwVMzkwy0r200ToA1KThYTq53ug=="],
660+
661+ "@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-VstR+NEQAJb80ysWk2vPjEvg0JzwEjKn2hDbC/joa5zGXkCnVVCWgAGG8c6o23S981a7XRpCMcClBgeD1q9H2A=="],
662+
663+ "@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Ec7xJdDrnukgiz20E3iDNzAIgx1XXn8cVVsNNUpgEIAvNlXZaocqlQT8Zalk0Lv3fbkxcJ+9BuWB0ndBRHQtzg=="],
664+
665+ "@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-6YX38grimcigz20eYpyz6e4c9rDKzwK3i+tcDpgwYj0bWreaAOwrABmSmKplPJOorkDVlbT69wPCN+d11irBQw=="],
666+
667+ "@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-WxMIzItRJR66lgaAyyqj0FFwLMpcuCV9mTFcUMQpIz8+Hey1Enk8xuv+7QpSsqCR5zRlwNr092dsFkz5cbvtrw=="],
668+
669+ "@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-+x6dnO87986rjVNjcF0tg8wVS0e/SH8nzLa/X0Wsh7jtEniN7buvR8iqZm8pnsfaZ8DH5F4GCSZpoPRrd9jJ6w=="],
670+
671+ "@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-oEyQudXIwWM/+v0vZzPbAi25YMWyvjtQYYjuSrhMEQwe7ZEMDXscX7U1j6alrVdZq2DtCMeror3X/Dv7p/JUwg=="],
672+
673+ "@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-G8P/OadKTbyUHz5TK63sDDtUHwn2SXG/o0oGo4GGTzBu70xmUSN5/ZUgpyl6ypAmbshoyw8nC7+msb3BjzHxaA=="],
674+
675+ "@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-Oi/fyOzZ+aytmmsRND5pGgvux4n++v9cG4qNFiXj7qFwSqBKWZHBq7cJLXqbH1I81pyI3kvU1Za+1qk3afXuwg=="],
676+
677+ "@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-/ZElgq+/tcga27X2G2AUpxcYX0baX94Gz658w6Zz2P+6Kr06bfYSrdtC0P7oPrbu3Gy/6kpiSoJPgZy8R2IjYQ=="],
678+
679+ "@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-GANcoEa8Nzza7saxdb4qWO24U6jk4nK6G+g87lGp8TTU45CUvWf1Igdze2+NrebgiwOy6F1/h6Esag4DM3JTtQ=="],
680+
681+ "@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-2+uDo/+ZvGQu10J8xryg/l5PdBt2vXPtf+0aIosVKJavqCaKcBDdo95OUaEulx0bqvoytAQ4yyz2gcPZ40mjcQ=="],
682+
683+ "@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-zpPIZ1S3JHmSEFyyGyPYCwhOiNLyfaPifYxK8BQY21JXyHglu/wUr3/ESFrXb+XegEy/iBlWbzr3FzPtcq1MUw=="],
684+
685+ "@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-cADrfLvc/VeyvpvQS+t5ktqfyqyyGANZC5NHp++JAElacfXqq/+k8bYkjqMWzNZ3HxkJtL1qDHfZZCA9+4hlSQ=="],
686+
687+ "@parcel/watcher-wasm": ["@parcel/watcher-wasm@2.6.0", "", { "dependencies": { "is-glob": "^4.0.3", "napi-wasm": "^1.1.0", "picomatch": "^4.0.4" } }, "sha512-dtjbDxKSDPQ8AmA+pS4OFaHE1FKrjtGpLGBxw85uKFkRorjNbvDM/aFPgqosu40wprbp1xw2ZSxIKqghCUHe2w=="],
688+
689+ "@phun-ky/typeof": ["@phun-ky/typeof@2.0.3", "", {}, "sha512-oeQJs1aa8Ghke8JIK9yuq/+KjMiaYeDZ38jx7MhkXncXlUKjqQ3wEm2X3qCKyjo+ZZofZj+WsEEiqkTtRuE2xQ=="],
690+
691+ "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
692+
693+ "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
694+
695+ "@poppinss/colors": ["@poppinss/colors@4.1.6", "", { "dependencies": { "kleur": "^4.1.5" } }, "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg=="],
696+
697+ "@poppinss/dumper": ["@poppinss/dumper@0.7.0", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@sindresorhus/is": "^7.0.2", "supports-color": "^10.0.0" } }, "sha512-0UTYalzk2t6S4rA2uHOz5bSSW2CHdv4vggJI6Alg90yvl0UgXs6XSXpH96OH+bRkX4J/06djv29pqXJ0lq5Kag=="],
698+
699+ "@poppinss/exception": ["@poppinss/exception@1.2.3", "", {}, "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw=="],
700+
701+ "@quansync/fs": ["@quansync/fs@1.0.0", "", { "dependencies": { "quansync": "^1.0.0" } }, "sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ=="],
702+
703+ "@release-it/bumper": ["@release-it/bumper@7.0.6", "", { "dependencies": { "@decimalturn/toml-patch": "^1.3.0", "@iarna/toml": "^3.0.0", "cheerio": "^1.2.0", "detect-indent": "7.0.2", "fast-glob": "^3.3.3", "ini": "^6.0.0", "js-yaml": "^4.1.1", "lodash-es": "^4.18.1", "semver": "^7.8.1" }, "peerDependencies": { "release-it": "^18.0.0 || ^19.0.0 || ^20.0.0" } }, "sha512-vzKrEGPac/yim5WUjMmIQ9k+n3NlWHYraUIlLkHna2Ka0+zmmB1peW8POMjA6Fb7TwcIsNMuoXj2wLc8NFzgRg=="],
704+
705+ "@release-it/conventional-changelog": ["@release-it/conventional-changelog@11.0.1", "", { "dependencies": { "@conventional-changelog/git-client": "^2.7.0", "concat-stream": "^2.0.0", "conventional-changelog": "^7.2.0", "conventional-changelog-angular": "^8.3.1", "conventional-changelog-conventionalcommits": "^9.3.1", "conventional-recommended-bump": "^11.2.0", "semver": "^7.7.4" }, "peerDependencies": { "release-it": "^18.0.0 || ^19.0.0 || ^20.0.0" } }, "sha512-SHAnHfOFhazpDeYuQSqH8Qm8RJa2oREn2ILSod+9s8dqiA18mBgpPyYlpvRaqISCVerSmLzEZghQBKphkrf4IQ=="],
706+
707+ "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="],
708+
709+ "@rollup/plugin-alias": ["@rollup/plugin-alias@6.0.0", "", { "peerDependencies": { "rollup": ">=4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g=="],
710+
711+ "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@29.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "fdir": "^6.2.0", "is-reference": "1.2.1", "magic-string": "^0.30.3", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg=="],
712+
713+ "@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="],
714+
715+ "@rollup/plugin-json": ["@rollup/plugin-json@6.1.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA=="],
716+
717+ "@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@16.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.22.1" }, "peerDependencies": { "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg=="],
718+
719+ "@rollup/plugin-replace": ["@rollup/plugin-replace@6.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA=="],
720+
721+ "@rollup/plugin-terser": ["@rollup/plugin-terser@1.0.0", "", { "dependencies": { "serialize-javascript": "^7.0.3", "smob": "^1.0.0", "terser": "^5.17.4" }, "peerDependencies": { "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ=="],
722+
723+ "@rollup/plugin-yaml": ["@rollup/plugin-yaml@4.1.2", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "js-yaml": "^4.1.0", "tosource": "^2.0.0-alpha.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw=="],
724+
725+ "@rollup/pluginutils": ["@rollup/pluginutils@5.4.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg=="],
726+
727+ "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.62.4", "", { "os": "android", "cpu": "arm" }, "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg=="],
728+
729+ "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.62.4", "", { "os": "android", "cpu": "arm64" }, "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A=="],
730+
731+ "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.62.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw=="],
732+
733+ "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.62.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A=="],
734+
735+ "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.62.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ=="],
736+
737+ "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.62.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg=="],
738+
739+ "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.62.4", "", { "os": "linux", "cpu": "arm" }, "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA=="],
740+
741+ "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.62.4", "", { "os": "linux", "cpu": "arm" }, "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ=="],
742+
743+ "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.62.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ=="],
744+
745+ "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.62.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g=="],
746+
747+ "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA=="],
748+
749+ "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ=="],
750+
751+ "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.62.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w=="],
752+
753+ "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.62.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w=="],
754+
755+ "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ=="],
756+
757+ "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA=="],
758+
759+ "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.62.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA=="],
760+
761+ "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.62.4", "", { "os": "linux", "cpu": "x64" }, "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw=="],
762+
763+ "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.62.4", "", { "os": "linux", "cpu": "x64" }, "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA=="],
764+
765+ "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.62.4", "", { "os": "openbsd", "cpu": "x64" }, "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ=="],
766+
767+ "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.62.4", "", { "os": "none", "cpu": "arm64" }, "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ=="],
768+
769+ "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.62.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw=="],
770+
771+ "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.62.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ=="],
772+
773+ "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.62.4", "", { "os": "win32", "cpu": "x64" }, "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw=="],
774+
775+ "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.4", "", { "os": "win32", "cpu": "x64" }, "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q=="],
776+
777+ "@shikijs/core": ["@shikijs/core@4.4.2", "", { "dependencies": { "@shikijs/primitive": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5", "hast-util-to-html": "^9.0.5" } }, "sha512-StyzbAyxg2/tBGf78gwbBkGyeQ73lf8UiJArFaQhTQIDqQOCKPCQFanvrs4/Yv3Yfyc+ONInJM6K+FMIf+P+kA=="],
778+
779+ "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.6" } }, "sha512-MnIkeqWdVPUWsxlx8gKLVCJFTsqrQJgpTPBPpQwaFeJ56lOnJxj5aN2LUFnfxUEcvOQuNocmbaMnVrCEln6rkw=="],
780+
781+ "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-GLhowz1+jixjz+wiZ3wMnOn1jTxiFCGl2PkXufivbnwPHKuyw1AYqu5/hbWhZZ2oAb0NP05WUJhYeigY14drnw=="],
782+
783+ "@shikijs/langs": ["@shikijs/langs@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-8DfeusD+Zdv/eYIDdXyJTUnSMHt+aAWjAOCXV20HNGAHRlInXpG8wh421v6B91WOm9TFwRLN+b/LG5F2NAIojg=="],
784+
785+ "@shikijs/primitive": ["@shikijs/primitive@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-l6fQQKsOMlz72n38fztmSgZ76MO6KSWuw8o+GJ+FhmqrpC9pIOJNQNXGgbb5yX2AwpzlEHwsaLPnk/8o4Fm+rA=="],
786+
787+ "@shikijs/stream": ["@shikijs/stream@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2" }, "peerDependencies": { "react": "^19.0.0", "solid-js": "^1.9.0", "svelte": "^5.0.0-0", "vue": "^3.2.0" }, "optionalPeers": ["react", "solid-js", "svelte", "vue"] }, "sha512-j0gyWbn86iMCoTRwi0ye0vM6v5+TkUWN9fkVexVFoOdKMeOcYRqXKjWHP92Gue9HcRpfloi6B2CIrzIn3StnRg=="],
788+
789+ "@shikijs/themes": ["@shikijs/themes@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-H0CFoL07ddDC2Dd6EdrPYNkRhUR6YCkJlnuYFceYYUJJA5TIm2b5B33qqiDYryBExgbKMndFJPb2u1gTuqO37g=="],
790+
791+ "@shikijs/transformers": ["@shikijs/transformers@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/types": "4.4.2" } }, "sha512-d81PJ9KkR1tVP95FH/9296HTtDo0mh76wv10u9T1YmsZq/UcXgt0OLdBszfUQ1i+umkRMCjDnFbFZU7/tCODTQ=="],
792+
793+ "@shikijs/types": ["@shikijs/types@4.4.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-PFYitV4vpDr/iPCIhnHp+Q4ftic5N5VeNJ3KQ1O8gn3h2ar8qgwMAXF7tq4m1CWaMS60fV4VqF6vfnWH4F7vqQ=="],
794+
795+ "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
796+
797+ "@simple-git/args-pathspec": ["@simple-git/args-pathspec@1.0.3", "", {}, "sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA=="],
798+
799+ "@simple-git/argv-parser": ["@simple-git/argv-parser@1.1.1", "", { "dependencies": { "@simple-git/args-pathspec": "^1.0.3" } }, "sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw=="],
800+
801+ "@simple-libs/child-process-utils": ["@simple-libs/child-process-utils@1.0.2", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0" } }, "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw=="],
802+
803+ "@simple-libs/hosted-git-info": ["@simple-libs/hosted-git-info@1.0.2", "", {}, "sha512-aAmGQdMH+ZinytKuA2832u0ATeOFNYNk4meBEXtB5xaPotUgggYNhq5tYU/v17wEbmTW5P9iHNqNrFyrhnqBAg=="],
804+
805+ "@simple-libs/stream-utils": ["@simple-libs/stream-utils@1.2.0", "", {}, "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA=="],
806+
807+ "@sindresorhus/base62": ["@sindresorhus/base62@1.0.0", "", {}, "sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA=="],
808+
809+ "@sindresorhus/is": ["@sindresorhus/is@7.2.0", "", {}, "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw=="],
810+
811+ "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="],
812+
813+ "@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="],
814+
815+ "@speed-highlight/core": ["@speed-highlight/core@1.2.23", "", {}, "sha512-iRoq6i6JDJP6Mt2A5JaPvzw0pgYHH6k92ij+yXiTrB7T2y9N789aWE3EHWj/5ztlJBokcCBja3iYLVdu5wgnkg=="],
816+
817+ "@sqlite.org/sqlite-wasm": ["@sqlite.org/sqlite-wasm@3.53.0-build1", "", {}, "sha512-PfWPWN2n+/37doa8oh2/oUXk4OOsRYZsxc1W1sDXIGb/Pu5Yrb+f2eyYpgQMGITVX7HVgxhs9P18Rc6I97ym/g=="],
818+
819+ "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="],
820+
821+ "@stylistic/eslint-plugin": ["@stylistic/eslint-plugin@5.10.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/types": "^8.56.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "estraverse": "^5.3.0", "picomatch": "^4.0.3" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ=="],
822+
823+ "@swc/helpers": ["@swc/helpers@0.5.23", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw=="],
824+
825+ "@tailwindcss/node": ["@tailwindcss/node@4.3.3", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.24.1", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.3" } }, "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg=="],
826+
827+ "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.3", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.3", "@tailwindcss/oxide-darwin-arm64": "4.3.3", "@tailwindcss/oxide-darwin-x64": "4.3.3", "@tailwindcss/oxide-freebsd-x64": "4.3.3", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", "@tailwindcss/oxide-linux-x64-musl": "4.3.3", "@tailwindcss/oxide-wasm32-wasi": "4.3.3", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" } }, "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA=="],
828+
829+ "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.3", "", { "os": "android", "cpu": "arm64" }, "sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw=="],
830+
831+ "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw=="],
832+
833+ "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw=="],
834+
835+ "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw=="],
836+
837+ "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3", "", { "os": "linux", "cpu": "arm" }, "sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ=="],
838+
839+ "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w=="],
840+
841+ "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA=="],
842+
843+ "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w=="],
844+
845+ "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img=="],
846+
847+ "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.3", "", { "dependencies": { "@emnapi/core": "^1.11.1", "@emnapi/runtime": "^1.11.1", "@emnapi/wasi-threads": "^1.2.2", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ=="],
848+
849+ "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ=="],
850+
851+ "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.3", "", { "os": "win32", "cpu": "x64" }, "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw=="],
852+
853+ "@tailwindcss/postcss": ["@tailwindcss/postcss@4.3.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "postcss": "^8.5.16", "tailwindcss": "4.3.3" } }, "sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg=="],
854+
855+ "@tailwindcss/vite": ["@tailwindcss/vite@4.3.3", "", { "dependencies": { "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "tailwindcss": "4.3.3" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw=="],
856+
857+ "@takumi-rs/core": ["@takumi-rs/core@2.5.10", "", { "dependencies": { "@takumi-rs/helpers": "2.5.10" }, "optionalDependencies": { "@takumi-rs/core-darwin-arm64": "2.5.10", "@takumi-rs/core-darwin-x64": "2.5.10", "@takumi-rs/core-linux-arm64-gnu": "2.5.10", "@takumi-rs/core-linux-arm64-musl": "2.5.10", "@takumi-rs/core-linux-x64-gnu": "2.5.10", "@takumi-rs/core-linux-x64-musl": "2.5.10", "@takumi-rs/core-win32-arm64-msvc": "2.5.10", "@takumi-rs/core-win32-x64-msvc": "2.5.10" }, "peerDependencies": { "csstype": "*" }, "optionalPeers": ["csstype"] }, "sha512-aFm4nldCGXWMqfz6Kw+JZ79GkJuB8nKsP4uHseSPMI1GMUmQBqpwxYxTINe/CROoIfP4VMIkSZZ8jnx2KyGQmA=="],
858+
859+ "@takumi-rs/core-darwin-arm64": ["@takumi-rs/core-darwin-arm64@2.5.10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-1hq/mi+riaT77eToS/BJf0lBTX/jCUmnDqJgYyuq551D0JW0ArYJxnlehelFlReR8LeV3J/oqQgqXxrodeoDyg=="],
860+
861+ "@takumi-rs/core-darwin-x64": ["@takumi-rs/core-darwin-x64@2.5.10", "", { "os": "darwin", "cpu": "x64" }, "sha512-JunN4oktWqiMlJ+Y+xDEyzG1xxr8f9ABb2+4G8xfK3/x6HHyrxon20bDmXd2Yjvh3xCiWm1TC5xFdcX0XX7NLg=="],
862+
863+ "@takumi-rs/core-linux-arm64-gnu": ["@takumi-rs/core-linux-arm64-gnu@2.5.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-2wRZToyZsSDZB3wLeUrbfDj7+eyUmasjcYdtXlxIIwNuQq39dbszazjKgNIG6E9JiUG7HWPUbZdzuc8tQpyDqA=="],
864+
865+ "@takumi-rs/core-linux-arm64-musl": ["@takumi-rs/core-linux-arm64-musl@2.5.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-YYxTO1NstjoH+CzNvLVotgwLKE/l/Y4XA+5FkQIw7iyN7m5a7E24qQEE6Xp8Ew62x2kdrJHcYsAEOU461Ttwdg=="],
866+
867+ "@takumi-rs/core-linux-x64-gnu": ["@takumi-rs/core-linux-x64-gnu@2.5.10", "", { "os": "linux", "cpu": "x64" }, "sha512-OTcYDjZ8MZTYEvpuVaPszNRiGG6H5kjeHr3qgCO/Ek4sldSDYlfKFjAABPeSSL+0sJvpExdQadeXVn0DKXCDhw=="],
868+
869+ "@takumi-rs/core-linux-x64-musl": ["@takumi-rs/core-linux-x64-musl@2.5.10", "", { "os": "linux", "cpu": "x64" }, "sha512-sowsR7EyxUO1uecFHVtD6V3I9fK1bvk15Gefmf8fnElQXCJF7Msi0/0g6PoIaRisWs1J8d+dOjEsVnS7KoxwIQ=="],
870+
871+ "@takumi-rs/core-win32-arm64-msvc": ["@takumi-rs/core-win32-arm64-msvc@2.5.10", "", { "os": "win32", "cpu": "arm64" }, "sha512-cfl4MJkpU+4y48uQSUYvkxICr+9PWLY4Mei++OxYlREaVVjIhWDV4C1VeWvoVOLbdYdxK4L6/Ywjn/+9BU/h2w=="],
872+
873+ "@takumi-rs/core-win32-x64-msvc": ["@takumi-rs/core-win32-x64-msvc@2.5.10", "", { "os": "win32", "cpu": "x64" }, "sha512-kg/pk74AG+ExV1jDEoJNrvHabBVhoj6a5r8tpSFlUUOz+njh8uspecoCq9GAzonPwURqEJSAgh1D+E8tHgNyqA=="],
874+
875+ "@takumi-rs/helpers": ["@takumi-rs/helpers@2.5.10", "", { "peerDependencies": { "preact": "^10.0.0", "react": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["preact", "react"] }, "sha512-bg+DUcJ5nKsB62Z4MH/sj6tyc32GlzEj8m9Q30A/WV8RYfvFygVVOfpYFMbJvmr+SxhPfTxDxLfIIktGCM8fQA=="],
876+
877+ "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="],
878+
879+ "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.7", "", {}, "sha512-bp+v10y65sp2H7WpWfIMyxTNfl8ZVfxFTLRjPIFRryi6FV/J33z4IS53WO4pTk36KlvJ4iLiQz+oaydDC1xbcA=="],
880+
881+ "@tanstack/vue-table": ["@tanstack/vue-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "vue": ">=3.2" } }, "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw=="],
882+
883+ "@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.35", "", { "dependencies": { "@tanstack/virtual-core": "3.17.7" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-lOfSPvgPdlaH6Qy+CyIc3XpycitaSQ9GECndGpTuDiu+uDA1am+90yWXwzDSd/20ZM196ggWJLS+Qb6WjVd/OA=="],
884+
885+ "@tiptap/core": ["@tiptap/core@3.29.2", "", { "peerDependencies": { "@tiptap/pm": "3.29.2" } }, "sha512-oKUkiPUB7noilVYxI9lNzUD4rX17sHub+PYjMfHMWHG9A3nvIy+FdePIVIIhThKWF7ijhr3eIqHY51Bn+GAFtw=="],
886+
887+ "@tiptap/extension-blockquote": ["@tiptap/extension-blockquote@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-ca4OzKDh0yaxg2+Z56bC2QnWsNsFp2YMRfVig1PDXyMVFMNJpLcnhxgq/9btn+xYAlYrj8RymOeCTYREOR6Zjg=="],
888+
889+ "@tiptap/extension-bold": ["@tiptap/extension-bold@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-elYbGxJsYnBb4leqrcjdIJuiG380BcOgN+UUzvOv+qEjfGVzHodFOMBl3qnmD6urYHNu5/qQK2S0qSSRXKCLNQ=="],
890+
891+ "@tiptap/extension-bubble-menu": ["@tiptap/extension-bubble-menu@3.29.2", "", { "dependencies": { "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-kzcWarcpr031rZu+R3Hzut5uxb3Qj/xxMDEYZIQ3uiq1yb5vEMXj8/SIyWautk6Nu8Rr1leV3rGdR4NzhzyFAA=="],
892+
893+ "@tiptap/extension-bullet-list": ["@tiptap/extension-bullet-list@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-3bWcCUPbCHv0XttlMdnAtXLNYWx2pblByMgxmGsaP9FU0QnslGXty6A6gHCqI33ygRg1vrA6U5Wtpwbi5aKu5g=="],
894+
895+ "@tiptap/extension-code": ["@tiptap/extension-code@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-c6W5UGuB7WNLpYocsgRzpO2OOTI4QjaI9jjHRMuty9z+s9DtaYM/HrRLNwVh6MopkHb+i/89Wkv8gCS34fftig=="],
896+
897+ "@tiptap/extension-code-block": ["@tiptap/extension-code-block@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-w153ct8g6dLiPTdXQ6SOIMxX4SEo5Q50AmjdEEEcJ7ZcYUcde/ScSskLHfOYmyt5ZFAiyEwr121+pux+p3/oAQ=="],
898+
899+ "@tiptap/extension-collaboration": ["@tiptap/extension-collaboration@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/y-tiptap": "^3.0.7", "yjs": "^13" } }, "sha512-KVKwIofMzraf0MxCXUkYd6fNmz0oGKaHDkjhNT6HGHrVzTFDJlZTwHHwSndQS2xKGmZbhWe8C32hvUrFsZXTPw=="],
900+
901+ "@tiptap/extension-document": ["@tiptap/extension-document@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-YUamvefLnsqu6124GavVTI7nqcFlQJ12ROB0oSwG69eSBZYNjg1tIs05LFrBxkwf4Xgqd6YzfJ9+FeG428RvzQ=="],
902+
903+ "@tiptap/extension-drag-handle": ["@tiptap/extension-drag-handle@3.29.2", "", { "dependencies": { "@floating-ui/dom": "^1.6.13" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/extension-collaboration": "3.29.2", "@tiptap/extension-node-range": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/y-tiptap": "^3.0.7" } }, "sha512-5Y5ElfRnrWIr9IRODzGkqLgIIbdUXNstbs7hWskXQWTg532TJfMpZmQbQRv7th39IcH0uusT7Vs/QlFKXzKVkA=="],
904+
905+ "@tiptap/extension-drag-handle-vue-3": ["@tiptap/extension-drag-handle-vue-3@3.29.2", "", { "peerDependencies": { "@tiptap/extension-drag-handle": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/vue-3": "3.29.2", "vue": "^3.0.0" } }, "sha512-4u2CraVeMEeq2Xyi/9YmFBhL/uE/Lb5IViWKNfOM4PmnPDAgAj6hXA1s/QIdBKNIE6ohWCQRfAKX+b5Ff5LStQ=="],
906+
907+ "@tiptap/extension-dropcursor": ["@tiptap/extension-dropcursor@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-KKno7cU9r1HdR48CRrsDu69/1UjZdoslq/UcE+Kx+tdhAv/aljXMkRSNzGMrBNOBDmHRgS1+58zm21WQWdQzwA=="],
908+
909+ "@tiptap/extension-floating-menu": ["@tiptap/extension-floating-menu@3.29.2", "", { "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-CBTq4Xs5aGWr65uFCIkKBms796OhmirWf/ax//iJ4fl9IfwqjwFuc2vQs9PmuwpKn9ctDHo2sMTtvyeCvIt5LQ=="],
910+
911+ "@tiptap/extension-gapcursor": ["@tiptap/extension-gapcursor@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-8Q39UR4/Tit759IeW9xZIe3NMwN11GsuA3FLheDyyGn7RrW02HD3HhUDlazE54Ki4HoosjFmChPlN4Ik2ubdRQ=="],
912+
913+ "@tiptap/extension-hard-break": ["@tiptap/extension-hard-break@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-eUW3LN3fq8rXnjEUeI3D2QONYdLsU3yYQm4jxlErs2h4cfwrFjgf19VSUFVmm6LrFbbQ0OnDVPeVLL6iOwDw2w=="],
914+
915+ "@tiptap/extension-heading": ["@tiptap/extension-heading@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-6W4aIy70Mh7BNlbG9zZ5FBLhJhU2UUEzgZJ/jwYSCcB30o8McLxJSEjhtoHiX8R78Ah2/JzBGvIe5olZlbeE4A=="],
916+
917+ "@tiptap/extension-horizontal-rule": ["@tiptap/extension-horizontal-rule@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-8/ZPzbB9X85Mc9/7xVLZupQKBr2UVcQTGr512xtqMW+XkCQRHCph46tRo828YE13IMWI5fWn/FaNCqXG9cULSw=="],
918+
919+ "@tiptap/extension-image": ["@tiptap/extension-image@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-F+S4iru247mNVZdkNwNDZHeb281DkjsBJinaOGsOyJTvXY+KU5Uq7vY1LQTn493dTfU48Z0yMBUXwJffCT92Mg=="],
920+
921+ "@tiptap/extension-italic": ["@tiptap/extension-italic@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-iH63V/5wsaMnY4Jz0+meaAGhaec4AiOzOduzl6ZZr5IyGhZ1kthyW84ELt0dyLI3hNceAUhaNWc+I7+vX0aoXA=="],
922+
923+ "@tiptap/extension-link": ["@tiptap/extension-link@3.29.2", "", { "dependencies": { "linkifyjs": "^4.3.3" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-DcVer5SqrexKCEP6Ip1UPxJUMvcRCCItSv0wxoGytanrimBh2smvcg6X0DWnjlsi5H0updhyl+atYCmmQXUIXA=="],
924+
925+ "@tiptap/extension-list": ["@tiptap/extension-list@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-WPZ9BHAPT6QeIm1vdVkuoOWvy9a8/EZeJwV2VhU8LXyTAttvzyj4rsbbHyJWvYWlUSTt/QF2AZ2zhKo7u1w3/A=="],
926+
927+ "@tiptap/extension-list-item": ["@tiptap/extension-list-item@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-s8vBVHHFT0Qpu7CzAZ7S1kYmSiVaDvUNvMNcZUWnxj6VPfiwmx0eXd9FsjePrRCMoM5tFmPnhFTHDxY3D/eZeQ=="],
928+
929+ "@tiptap/extension-list-keymap": ["@tiptap/extension-list-keymap@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-R+3k8OLnxdCH7Xy9ieOwUt5m2Je74u8mikothGmsYVO2Zyq48fIbmZ+X6RBPCu7DBOI2FIUhHEFbKQeDWvDNmA=="],
930+
931+ "@tiptap/extension-mention": ["@tiptap/extension-mention@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/suggestion": "3.29.2" } }, "sha512-WF8ugDa2IRbgyRW+PffPYg8ZI+Qp9azvIsNoyuf+VSg5Vp7ze2TuJXUTObSckyiN5Ann8bDNM9Hbu3TdoI0DFQ=="],
932+
933+ "@tiptap/extension-node-range": ["@tiptap/extension-node-range@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-7ipYCrGZvnOL0vR4E69m8PSKDg49hH5n8nVFRej3cRn/xAdAl+ytJmrLSE+SLPvw6TN44NWk3iug23IjOu3Nbw=="],
934+
935+ "@tiptap/extension-ordered-list": ["@tiptap/extension-ordered-list@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-ndCunC+UsYOpkOtL7vGnDz21UNa45WUlcO9wMT1fbuYow2QnRhsuMlCWENXI52YPPARWuQ0RDgN7q6TaxPERBg=="],
936+
937+ "@tiptap/extension-paragraph": ["@tiptap/extension-paragraph@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-7qJj5YTr11vvjNgjDN1ypOfwTovc0QOCYcit/rskeuVgnmQZOZQzC/BbyKLLG7UGnpRLemU/mEGbW9pAqjAXkQ=="],
938+
939+ "@tiptap/extension-placeholder": ["@tiptap/extension-placeholder@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-/BlpPIq2JZk6zLaeYVOXazi6dmd0iRriTymNEnFn1doManN1y5HED9LsMeb/AhNhauL5AgmcHgpvAjbsN9k4SA=="],
940+
941+ "@tiptap/extension-strike": ["@tiptap/extension-strike@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-aEvLAbddUQZ+FukCreV3q4G2HfNI+odE7E9U+wbq6XsSWKyo8/pDu1muz+TFKNre4blSMOQ3JQmw5UeHDKy+fg=="],
942+
943+ "@tiptap/extension-text": ["@tiptap/extension-text@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-Ubko45JWWHe8glBt2PiGNF8hcbys/JNalFhiR7Y1X4iOOtAxAKJJxh3+eq+//NTlGuBPdWGp7zw8EEUp7anjKA=="],
944+
945+ "@tiptap/extension-underline": ["@tiptap/extension-underline@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-K7XwH/xS/5AIREWQ00VTEf/W5U0olp7j6wwit7cdd/8nHv6h6AGr1+iEApHKoLXWQZLfGQKzJlT9W61LAl+fHA=="],
946+
947+ "@tiptap/extensions": ["@tiptap/extensions@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-BCz+FCAChSYtUe4BFj97HEO+nSK+J7GxbJgZG4Hg7DT/gI+hRyeNndU8efiQAx3WGdzsFi3UxRpcF1tTQM7iMQ=="],
948+
949+ "@tiptap/markdown": ["@tiptap/markdown@3.29.2", "", { "dependencies": { "marked": "^17.0.1" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-Knf9YqG3fxOyFuS3pe3eapDz0ya9eqPGzmyMSd5PuHNmR9/Ir6i5qk5+Md6bCPgDNjYskztNm7DoBXPfbXbO/w=="],
950+
951+ "@tiptap/pm": ["@tiptap/pm@3.29.2", "", { "dependencies": { "prosemirror-changeset": "^2.4.1", "prosemirror-commands": "^1.7.1", "prosemirror-dropcursor": "^1.8.2", "prosemirror-gapcursor": "^1.4.1", "prosemirror-history": "^1.5.0", "prosemirror-inputrules": "^1.5.1", "prosemirror-keymap": "^1.2.3", "prosemirror-model": "^1.25.11", "prosemirror-schema-list": "^1.5.1", "prosemirror-state": "^1.4.4", "prosemirror-tables": "^1.8.5", "prosemirror-transform": "^1.12.0", "prosemirror-view": "^1.41.9" } }, "sha512-GCOme7xHaS+DSoaA4CDcAD3l6JyBlvZhvCyfsy2Vp6j8tEoBkZWio7soYVosmlyn7zq8/64VeFZP5s47yfG7fQ=="],
952+
953+ "@tiptap/starter-kit": ["@tiptap/starter-kit@3.29.2", "", { "dependencies": { "@tiptap/core": "^3.29.2", "@tiptap/extension-blockquote": "^3.29.2", "@tiptap/extension-bold": "^3.29.2", "@tiptap/extension-bullet-list": "^3.29.2", "@tiptap/extension-code": "^3.29.2", "@tiptap/extension-code-block": "^3.29.2", "@tiptap/extension-document": "^3.29.2", "@tiptap/extension-dropcursor": "^3.29.2", "@tiptap/extension-gapcursor": "^3.29.2", "@tiptap/extension-hard-break": "^3.29.2", "@tiptap/extension-heading": "^3.29.2", "@tiptap/extension-horizontal-rule": "^3.29.2", "@tiptap/extension-italic": "^3.29.2", "@tiptap/extension-link": "^3.29.2", "@tiptap/extension-list": "^3.29.2", "@tiptap/extension-list-item": "^3.29.2", "@tiptap/extension-list-keymap": "^3.29.2", "@tiptap/extension-ordered-list": "^3.29.2", "@tiptap/extension-paragraph": "^3.29.2", "@tiptap/extension-strike": "^3.29.2", "@tiptap/extension-text": "^3.29.2", "@tiptap/extension-underline": "^3.29.2", "@tiptap/extensions": "^3.29.2", "@tiptap/pm": "^3.29.2" } }, "sha512-oTu0tysiqk4zgjEtxRHjAQgxUKaAevZwueOWwSWubHdokqp7SpcbE5n9USJv89HKuTUDm3GjnQH6q8HNn/2DsA=="],
954+
955+ "@tiptap/suggestion": ["@tiptap/suggestion@3.29.2", "", { "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-ZEhRm0gnRCwCScR9IrnIBhm9sr6U8vpR9oeznYk3hiedZ48zsgohqvgoIYpWcwYWrT2Pb0NrfhCT8IuSzdJHzQ=="],
956+
957+ "@tiptap/vue-3": ["@tiptap/vue-3@3.29.2", "", { "optionalDependencies": { "@tiptap/extension-bubble-menu": "^3.29.2", "@tiptap/extension-floating-menu": "^3.29.2" }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "vue": "^3.0.0" } }, "sha512-rLX+V+HXbsVlk+My8mslvbnbVXZiQZHYtbOiRgxugsqZ9SK1mr1FpgZ/ZNcotJAjecT8FJmPa45ccDnVu66eGA=="],
958+
959+ "@tiptap/y-tiptap": ["@tiptap/y-tiptap@3.0.8", "", { "dependencies": { "lib0": "^0.2.100" }, "peerDependencies": { "prosemirror-model": "^1.7.1", "prosemirror-state": "^1.2.3", "prosemirror-view": "^1.9.10", "y-protocols": "^1.0.1", "yjs": "^13.5.38" } }, "sha512-+kndlSuoUK9sKVRuxbAHXNrbDvyydnG/Y0NFU9XXqaSkI9IRcrjpOf1RGd7NrC9jJXquDqZS96wOQf6eUpP9Dg=="],
960+
961+ "@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="],
962+
963+ "@types/debug": ["@types/debug@4.1.13", "", { "dependencies": { "@types/ms": "*" } }, "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw=="],
964+
965+ "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="],
966+
967+ "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="],
968+
969+ "@types/hast": ["@types/hast@3.0.5", "", { "dependencies": { "@types/unist": "*" } }, "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g=="],
970+
971+ "@types/jsesc": ["@types/jsesc@2.5.1", "", {}, "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw=="],
972+
973+ "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
974+
975+ "@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="],
976+
977+ "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
978+
979+ "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="],
980+
981+ "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
982+
983+ "@types/node": ["@types/node@26.1.2", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg=="],
984+
985+ "@types/normalize-package-data": ["@types/normalize-package-data@2.4.4", "", {}, "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="],
986+
987+ "@types/parse-path": ["@types/parse-path@7.1.0", "", { "dependencies": { "parse-path": "*" } }, "sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q=="],
988+
989+ "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="],
990+
991+ "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
992+
993+ "@types/web-bluetooth": ["@types/web-bluetooth@0.0.21", "", {}, "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="],
994+
995+ "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.66.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/type-utils": "8.66.0", "@typescript-eslint/utils": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.66.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A=="],
996+
997+ "@typescript-eslint/parser": ["@typescript-eslint/parser@8.66.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g=="],
998+
999+ "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.66.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.66.0", "@typescript-eslint/types": "^8.66.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g=="],
1000+
1001+ "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0" } }, "sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g=="],
1002+
1003+ "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.66.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g=="],
1004+
1005+ "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0", "@typescript-eslint/utils": "8.66.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g=="],
1006+
1007+ "@typescript-eslint/types": ["@typescript-eslint/types@8.66.0", "", {}, "sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ=="],
1008+
1009+ "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.66.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.66.0", "@typescript-eslint/tsconfig-utils": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg=="],
1010+
1011+ "@typescript-eslint/utils": ["@typescript-eslint/utils@8.66.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA=="],
1012+
1013+ "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg=="],
1014+
1015+ "@ungap/structured-clone": ["@ungap/structured-clone@1.3.3", "", {}, "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg=="],
1016+
1017+ "@unhead/vue": ["@unhead/vue@2.1.17", "", { "dependencies": { "hookable": "^6.0.1", "unhead": "2.1.17" }, "peerDependencies": { "vue": ">=3.5.18" } }, "sha512-pnC8x9HLV3qQXdvWfylUEU25uhfCAy3ly9nmpQz84j9py818DRfU8jOsQ5wjdWtxyU1vX/fW2udfm4jtxUK8Bg=="],
1018+
1019+ "@unocss/config": ["@unocss/config@66.7.5", "", { "dependencies": { "@unocss/core": "66.7.5", "colorette": "^2.0.20", "consola": "^3.4.2", "unconfig": "^7.5.0" } }, "sha512-dkPl9glhEahJ+Xoja5ZseKKnH+vZaeaKQzg8b0otcKcPPNrHQgu1nu3QgfeOjnXOGrjZIotHwUeVtt4ZA2Skgg=="],
1020+
1021+ "@unocss/core": ["@unocss/core@66.7.5", "", {}, "sha512-UdJb8MiMywcau8QrWEVgUAz0kvoFHyR+sACwYCgmBh/BpKJGyR/zw/Ys3wvysbm0f+i/20VGBex/QQxYVlzdyQ=="],
1022+
1023+ "@unrs/resolver-binding-android-arm-eabi": ["@unrs/resolver-binding-android-arm-eabi@1.12.2", "", { "os": "android", "cpu": "arm" }, "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w=="],
1024+
1025+ "@unrs/resolver-binding-android-arm64": ["@unrs/resolver-binding-android-arm64@1.12.2", "", { "os": "android", "cpu": "arm64" }, "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ=="],
1026+
1027+ "@unrs/resolver-binding-darwin-arm64": ["@unrs/resolver-binding-darwin-arm64@1.12.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w=="],
1028+
1029+ "@unrs/resolver-binding-darwin-x64": ["@unrs/resolver-binding-darwin-x64@1.12.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA=="],
1030+
1031+ "@unrs/resolver-binding-freebsd-x64": ["@unrs/resolver-binding-freebsd-x64@1.12.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg=="],
1032+
1033+ "@unrs/resolver-binding-linux-arm-gnueabihf": ["@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A=="],
1034+
1035+ "@unrs/resolver-binding-linux-arm-musleabihf": ["@unrs/resolver-binding-linux-arm-musleabihf@1.12.2", "", { "os": "linux", "cpu": "arm" }, "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g=="],
1036+
1037+ "@unrs/resolver-binding-linux-arm64-gnu": ["@unrs/resolver-binding-linux-arm64-gnu@1.12.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg=="],
1038+
1039+ "@unrs/resolver-binding-linux-arm64-musl": ["@unrs/resolver-binding-linux-arm64-musl@1.12.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA=="],
1040+
1041+ "@unrs/resolver-binding-linux-loong64-gnu": ["@unrs/resolver-binding-linux-loong64-gnu@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q=="],
1042+
1043+ "@unrs/resolver-binding-linux-loong64-musl": ["@unrs/resolver-binding-linux-loong64-musl@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew=="],
1044+
1045+ "@unrs/resolver-binding-linux-ppc64-gnu": ["@unrs/resolver-binding-linux-ppc64-gnu@1.12.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg=="],
1046+
1047+ "@unrs/resolver-binding-linux-riscv64-gnu": ["@unrs/resolver-binding-linux-riscv64-gnu@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A=="],
1048+
1049+ "@unrs/resolver-binding-linux-riscv64-musl": ["@unrs/resolver-binding-linux-riscv64-musl@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w=="],
1050+
1051+ "@unrs/resolver-binding-linux-s390x-gnu": ["@unrs/resolver-binding-linux-s390x-gnu@1.12.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw=="],
1052+
1053+ "@unrs/resolver-binding-linux-x64-gnu": ["@unrs/resolver-binding-linux-x64-gnu@1.12.2", "", { "os": "linux", "cpu": "x64" }, "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ=="],
1054+
1055+ "@unrs/resolver-binding-linux-x64-musl": ["@unrs/resolver-binding-linux-x64-musl@1.12.2", "", { "os": "linux", "cpu": "x64" }, "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A=="],
1056+
1057+ "@unrs/resolver-binding-openharmony-arm64": ["@unrs/resolver-binding-openharmony-arm64@1.12.2", "", { "os": "none", "cpu": "arm64" }, "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ=="],
1058+
1059+ "@unrs/resolver-binding-wasm32-wasi": ["@unrs/resolver-binding-wasm32-wasi@1.12.2", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A=="],
1060+
1061+ "@unrs/resolver-binding-win32-arm64-msvc": ["@unrs/resolver-binding-win32-arm64-msvc@1.12.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g=="],
1062+
1063+ "@unrs/resolver-binding-win32-ia32-msvc": ["@unrs/resolver-binding-win32-ia32-msvc@1.12.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g=="],
1064+
1065+ "@unrs/resolver-binding-win32-x64-msvc": ["@unrs/resolver-binding-win32-x64-msvc@1.12.2", "", { "os": "win32", "cpu": "x64" }, "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA=="],
1066+
1067+ "@vercel/analytics": ["@vercel/analytics@2.0.1", "", { "peerDependencies": { "@remix-run/react": "^2", "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "nuxt": ">= 3", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@remix-run/react", "@sveltejs/kit", "next", "nuxt", "react", "svelte", "vue", "vue-router"] }, "sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g=="],
1068+
1069+ "@vercel/nft": ["@vercel/nft@1.10.2", "", { "dependencies": { "@mapbox/node-pre-gyp": "^2.0.0", "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", "glob": "^13.0.0", "graceful-fs": "^4.2.9", "node-gyp-build": "^4.2.2", "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" } }, "sha512-w+WyX5Ulmj4dtTZrxaulqrjaLZHSbnPzx75SJsTNYmotKsqn1JlLnDJa+lz5hn90HJofhl/2MAtw0mCrgM3qYw=="],
1070+
1071+ "@vercel/oidc": ["@vercel/oidc@3.2.0", "", {}, "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug=="],
1072+
1073+ "@vercel/speed-insights": ["@vercel/speed-insights@2.0.0", "", { "peerDependencies": { "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "nuxt": ">= 3", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@sveltejs/kit", "next", "nuxt", "react", "svelte", "vue", "vue-router"] }, "sha512-jwkNcrTeafWxjmWq4AHBaptSqZiJkYU5adLC9QBSqeim0GcqDMgN5Ievh8OG1rJ6W3A4l1oiP7qr9CWxGuzu3w=="],
1074+
1075+ "@vitejs/plugin-vue": ["@vitejs/plugin-vue@6.0.8", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.1" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.2.25" } }, "sha512-0ZjgOg7oO6farnNGup7yvoM/YXZV84OZxHAwtflItNa/6zzQyVb5LNxyea3FEKEX2XlagIKzrlH7wwxkKgtiew=="],
1076+
1077+ "@vitejs/plugin-vue-jsx": ["@vitejs/plugin-vue-jsx@5.1.6", "", { "dependencies": { "@babel/core": "^7.29.0", "@babel/plugin-syntax-typescript": "^7.29.7", "@babel/plugin-transform-typescript": "^7.29.7", "@rolldown/pluginutils": "^1.0.1", "@vue/babel-plugin-jsx": "^2.0.1" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.0.0" } }, "sha512-YXvi4as2clxt6DFw5+a0tTA97ntiQXm/raR8ofNj3aNwwdlVGTiG2gp7EvfZW17P50acL/9bP0ccF4XnqNmlgA=="],
1078+
1079+ "@volar/language-core": ["@volar/language-core@2.4.28", "", { "dependencies": { "@volar/source-map": "2.4.28" } }, "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ=="],
1080+
1081+ "@volar/source-map": ["@volar/source-map@2.4.28", "", {}, "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ=="],
1082+
1083+ "@volar/typescript": ["@volar/typescript@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw=="],
1084+
1085+ "@vue-macros/common": ["@vue-macros/common@3.1.4", "", { "dependencies": { "@vue/compiler-sfc": "^3.5.22", "ast-kit": "^2.1.2", "local-pkg": "^1.1.2", "magic-string-ast": "^1.0.2", "unplugin-utils": "^0.3.0" }, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, "optionalPeers": ["vue"] }, "sha512-/5Fv+6DgIcM9ajY05ZmKBv+LMX1M9A0X+IUwDRVdt67ciw8OV9bvG2r34p3RiEadlsQybjhKPRKNXDC8Bp23cw=="],
1086+
1087+ "@vue/babel-helper-vue-transform-on": ["@vue/babel-helper-vue-transform-on@2.0.1", "", {}, "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA=="],
1088+
1089+ "@vue/babel-plugin-jsx": ["@vue/babel-plugin-jsx@2.0.1", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@vue/babel-helper-vue-transform-on": "2.0.1", "@vue/babel-plugin-resolve-type": "2.0.1", "@vue/shared": "^3.5.22" }, "peerDependencies": { "@babel/core": "^7.0.0-0" }, "optionalPeers": ["@babel/core"] }, "sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA=="],
1090+
1091+ "@vue/babel-plugin-resolve-type": ["@vue/babel-plugin-resolve-type@2.0.1", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/parser": "^7.28.4", "@vue/compiler-sfc": "^3.5.22" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ=="],
1092+
1093+ "@vue/compiler-core": ["@vue/compiler-core@3.5.41", "", { "dependencies": { "@babel/parser": "^7.29.8", "@vue/shared": "3.5.41", "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-q0Xtv/F9w2YO/7htQhtiL+Ev2WCJbe5N2hc+XfgyKkEKqWpSxknmT8QOuGdEKNdjPq0c3F7rNpFkTo3Kfrm7pg=="],
1094+
1095+ "@vue/compiler-dom": ["@vue/compiler-dom@3.5.41", "", { "dependencies": { "@vue/compiler-core": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-oKacVfNglLvGjnS6BXOlGL7EyG2h8X03pqXCjzotRZUaXGjbrTJUnVAQjrCqUnS+lyu31nwQjZY/d817GmCnfw=="],
1096+
1097+ "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.41", "", { "dependencies": { "@babel/parser": "^7.29.8", "@vue/compiler-core": "3.5.41", "@vue/compiler-dom": "3.5.41", "@vue/compiler-ssr": "3.5.41", "@vue/shared": "3.5.41", "estree-walker": "^2.0.2", "magic-string": "^0.30.21", "postcss": "^8.5.19", "source-map-js": "^1.2.1" } }, "sha512-XJhip7R2wy6vX3knCxdZN4KracFaZUef58s1KYewqluedHIJaPIVfXoYT7MF1F8nCvv6k8bWWxDC8opMkg1VTQ=="],
1098+
1099+ "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.41", "", { "dependencies": { "@vue/compiler-dom": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-U3v5OejKEGqOI0Wy0+Sz7hGuIFZHA4LSXzrNM3IMIeDyJEBBfTpX26n3SDgToRpP2bLc9FfI2j/kSgcJ8Emq5A=="],
1100+
1101+ "@vue/devtools-api": ["@vue/devtools-api@8.2.1", "", { "dependencies": { "@vue/devtools-kit": "^8.2.1" } }, "sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A=="],
1102+
1103+ "@vue/devtools-core": ["@vue/devtools-core@8.2.1", "", { "dependencies": { "@vue/devtools-kit": "^8.2.1", "@vue/devtools-shared": "^8.2.1" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-s/VfAY9oDTb/kFEWmy461jaFde2MIV1RO/gi1vwM+PAZBZ/Pc2Ndu3BNBdZUze8QDUuyYvElbEEGA83syjJfzA=="],
1104+
1105+ "@vue/devtools-kit": ["@vue/devtools-kit@8.2.1", "", { "dependencies": { "@vue/devtools-shared": "^8.2.1", "birpc": "^2.6.1", "hookable": "^5.5.3", "perfect-debounce": "^2.0.0" } }, "sha512-FIGIuq3AWReEpbAHY/cRGeHDfI0qOb8OCQ3YjbEAX04uaxIDbGc9rhkbVcG7rnfHPXE3RsU5KrWOu9V/okd8AQ=="],
1106+
1107+ "@vue/devtools-shared": ["@vue/devtools-shared@8.2.1", "", {}, "sha512-Fkac7lUdGReh6pVOi3AYPRGe82LQqRmAfThW7RRligOAP0ZA/Z1z9XLHDM9dv34pV2HRc79DK8uKPeG2fLnA/g=="],
1108+
1109+ "@vue/language-core": ["@vue/language-core@3.3.9", "", { "dependencies": { "@volar/language-core": "2.4.28", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.2.1", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.4" } }, "sha512-in/68oAa4BCtVY6n/nkuhLIkV8DHYd2UivedJ6cMZ6UYtlq9jaoaSNUBHYCVO44z3nKg7MdE5OBoHKt5SxeBKQ=="],
1110+
1111+ "@vue/reactivity": ["@vue/reactivity@3.5.41", "", { "dependencies": { "@vue/shared": "3.5.41" } }, "sha512-rznsqKM0np0x18EjzF8x88MpEhdNsffbvFbckLL5+oUKz1BxAImEmO7J1ArRYSyo6aQaVoBDp7jEkT91OOxydA=="],
1112+
1113+ "@vue/runtime-core": ["@vue/runtime-core@3.5.41", "", { "dependencies": { "@vue/reactivity": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-Vcry58hiAKwGen9Z1jUZE0feFsNArPCMOImYI8el48A9Idf6DuQYD0U05zZIF2Iad1hGhPSvcbBbAOhNr55fhg=="],
1114+
1115+ "@vue/runtime-dom": ["@vue/runtime-dom@3.5.41", "", { "dependencies": { "@vue/reactivity": "3.5.41", "@vue/runtime-core": "3.5.41", "@vue/shared": "3.5.41", "csstype": "^3.2.3" } }, "sha512-3vVBahVBS9+U6cmXBLyb8nE6/yYo4J/CGI9eVFs3KiMc0YHuudwKyShTD65jtJy/L9PUUxNAFu4cj4LiJ0UFbw=="],
1116+
1117+ "@vue/server-renderer": ["@vue/server-renderer@3.5.41", "", { "dependencies": { "@vue/compiler-ssr": "3.5.41", "@vue/runtime-dom": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-n6hx/pNFfbD6SuyeuMVkvqox8bwf/ET9JlA/kAz/imw8sw++wkqKe2mHX5KutjPpbKE4Z56yTHszoOjGMI9igQ=="],
1118+
1119+ "@vue/shared": ["@vue/shared@3.5.41", "", {}, "sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA=="],
1120+
1121+ "@vueuse/core": ["@vueuse/core@14.4.0", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "14.4.0", "@vueuse/shared": "14.4.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ=="],
1122+
1123+ "@vueuse/integrations": ["@vueuse/integrations@14.4.0", "", { "dependencies": { "@vueuse/core": "14.4.0", "@vueuse/shared": "14.4.0" }, "peerDependencies": { "async-validator": "^4", "axios": "^1", "change-case": "^5", "drauu": "^0.4", "focus-trap": "^7 || ^8", "fuse.js": "^7", "idb-keyval": "^6", "jwt-decode": "^4", "nprogress": "^0.2", "qrcode": "^1.5", "sortablejs": "^1", "universal-cookie": "^7 || ^8", "vue": "^3.5.0" }, "optionalPeers": ["async-validator", "axios", "change-case", "drauu", "focus-trap", "fuse.js", "idb-keyval", "jwt-decode", "nprogress", "qrcode", "sortablejs", "universal-cookie"] }, "sha512-oJz9qTgczvA7L1nXQFRU7h8tQbOCoiceqvMMhT9XYMyOGTqLJ2rEa09PON+nD2t48sZUfeOmg4eaWJXV4sZb/w=="],
1124+
1125+ "@vueuse/metadata": ["@vueuse/metadata@14.4.0", "", {}, "sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g=="],
1126+
1127+ "@vueuse/shared": ["@vueuse/shared@14.4.0", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g=="],
1128+
1129+ "@webcontainer/env": ["@webcontainer/env@1.1.1", "", {}, "sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng=="],
1130+
1131+ "@workflow/serde": ["@workflow/serde@4.1.0", "", {}, "sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ=="],
1132+
1133+ "abbrev": ["abbrev@3.0.1", "", {}, "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg=="],
1134+
1135+ "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
1136+
1137+ "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="],
1138+
1139+ "acorn": ["acorn@8.18.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ=="],
1140+
1141+ "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="],
1142+
1143+ "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
1144+
1145+ "agent-base": ["agent-base@8.0.0", "", {}, "sha512-QT8i0hCz6C/KQ+KTAbSNwCHDGdmUJl2tp2ZpNlGSWCfhUNVbYG2WLE3MdZGBAgXPV4GAvjGMxo+C1hroyxmZEg=="],
1146+
1147+ "ai": ["ai@7.0.56", "", { "dependencies": { "@ai-sdk/gateway": "4.0.44", "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Lp7q9tZFl/TGOpBBNgt2wZ85SoCvJJVlHQksMkqrgiFUnIGOw+L2FWJ0gXuNEngLQTp9+t32k8QuIB7Jc5uKRA=="],
1148+
1149+ "ajv": ["ajv@6.15.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw=="],
1150+
1151+ "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="],
1152+
1153+ "alien-signals": ["alien-signals@3.2.1", "", {}, "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g=="],
1154+
1155+ "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
1156+
1157+ "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
1158+
1159+ "ansis": ["ansis@4.3.1", "", {}, "sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA=="],
1160+
1161+ "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="],
1162+
1163+ "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
1164+
1165+ "archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
1166+
1167+ "archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
1168+
1169+ "are-docs-informative": ["are-docs-informative@0.0.2", "", {}, "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig=="],
1170+
1171+ "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
1172+
1173+ "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="],
1174+
1175+ "array-ify": ["array-ify@1.0.0", "", {}, "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng=="],
1176+
1177+ "ast-kit": ["ast-kit@2.2.0", "", { "dependencies": { "@babel/parser": "^7.28.5", "pathe": "^2.0.3" } }, "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw=="],
1178+
1179+ "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="],
1180+
1181+ "ast-walker-scope": ["ast-walker-scope@0.9.0", "", { "dependencies": { "@babel/parser": "^7.29.2", "@babel/types": "^7.29.0", "ast-kit": "^2.2.0" } }, "sha512-IJdzo2vLiElBxKzwS36VsCue/62d6IdWjnPB2v3nuPKeWGynp6FF/CYoLa5i/3jXH/z97ZDdsXz6abpgM6w07A=="],
1182+
1183+ "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
1184+
1185+ "async-lock": ["async-lock@1.4.1", "", {}, "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ=="],
1186+
1187+ "async-retry": ["async-retry@1.3.3", "", { "dependencies": { "retry": "0.13.1" } }, "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw=="],
1188+
1189+ "async-sema": ["async-sema@3.1.1", "", {}, "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="],
1190+
1191+ "autoprefixer": ["autoprefixer@10.5.4", "", { "dependencies": { "browserslist": "^4.28.6", "caniuse-lite": "^1.0.30001806", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA=="],
1192+
1193+ "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="],
1194+
1195+ "b4a": ["b4a@1.8.1", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw=="],
1196+
1197+ "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="],
1198+
1199+ "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="],
1200+
1201+ "bare-events": ["bare-events@2.9.1", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg=="],
1202+
1203+ "bare-fs": ["bare-fs@4.8.0", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q=="],
1204+
1205+ "bare-path": ["bare-path@3.1.1", "", {}, "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ=="],
1206+
1207+ "bare-stream": ["bare-stream@2.13.3", "", { "dependencies": { "b4a": "^1.8.1", "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-abort-controller", "bare-buffer", "bare-events"] }, "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ=="],
1208+
1209+ "bare-url": ["bare-url@2.4.7", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-o8CRCiJtib+ycO3mE4A5UChtGX4dDP2XxsWVu9P+Zc3H8tcmKwNVEDoDTXmwN+uuMhfKeT7/i7Y26xS8W7ohoA=="],
1210+
1211+ "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
1212+
1213+ "baseline-browser-mapping": ["baseline-browser-mapping@2.11.12", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA=="],
1214+
1215+ "basic-ftp": ["basic-ftp@5.3.1", "", {}, "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw=="],
1216+
1217+ "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="],
1218+
1219+ "better-sqlite3": ["better-sqlite3@12.11.1", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA=="],
1220+
1221+ "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="],
1222+
1223+ "birpc": ["birpc@4.0.0", "", {}, "sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw=="],
1224+
1225+ "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="],
1226+
1227+ "body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="],
1228+
1229+ "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
1230+
1231+ "brace-expansion": ["brace-expansion@5.0.9", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg=="],
1232+
1233+ "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
1234+
1235+ "browserslist": ["browserslist@4.28.7", "", { "dependencies": { "baseline-browser-mapping": "^2.10.44", "caniuse-lite": "^1.0.30001806", "electron-to-chromium": "^1.5.393", "node-releases": "^2.0.51", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw=="],
1236+
1237+ "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
1238+
1239+ "buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
1240+
1241+ "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
1242+
1243+ "builtin-modules": ["builtin-modules@5.3.0", "", {}, "sha512-hMQUl2bUFG339QygPM97E+mc8OY1IAchORZxm4a/frcYwKzozMzRVDBwHW0NjOqGElLm2O37AVQE8ikxlZHrMQ=="],
1244+
1245+ "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
1246+
1247+ "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="],
1248+
1249+ "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
1250+
1251+ "c12": ["c12@3.3.4", "", { "dependencies": { "chokidar": "^5.0.0", "confbox": "^0.2.4", "defu": "^6.1.6", "dotenv": "^17.3.1", "exsolve": "^1.0.8", "giget": "^3.2.0", "jiti": "^2.6.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.0", "rc9": "^3.0.1" }, "peerDependencies": { "magicast": "*" }, "optionalPeers": ["magicast"] }, "sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA=="],
1252+
1253+ "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
1254+
1255+ "call-bind": ["call-bind@1.0.9", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" } }, "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ=="],
1256+
1257+ "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
1258+
1259+ "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
1260+
1261+ "caniuse-api": ["caniuse-api@4.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0" } }, "sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA=="],
1262+
1263+ "caniuse-lite": ["caniuse-lite@1.0.30001807", "", {}, "sha512-daRXJ9EB/rdRgu7kV+TTl1YUKtlsMWblPl2sLnpg9DZae16QCegol6A1SmCE31Lm9mXC1sRWGt/krouH+/dl7Q=="],
1264+
1265+ "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
1266+
1267+ "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
1268+
1269+ "change-case": ["change-case@5.4.4", "", {}, "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="],
1270+
1271+ "char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="],
1272+
1273+ "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="],
1274+
1275+ "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="],
1276+
1277+ "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="],
1278+
1279+ "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="],
1280+
1281+ "chardet": ["chardet@2.2.0", "", {}, "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA=="],
1282+
1283+ "cheerio": ["cheerio@1.2.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg=="],
1284+
1285+ "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="],
1286+
1287+ "chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="],
1288+
1289+ "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="],
1290+
1291+ "chrome-launcher": ["chrome-launcher@1.2.1", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^2.0.1" }, "bin": { "print-chrome-path": "bin/print-chrome-path.cjs" } }, "sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A=="],
1292+
1293+ "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="],
1294+
1295+ "citty": ["citty@0.2.2", "", {}, "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w=="],
1296+
1297+ "clean-git-ref": ["clean-git-ref@2.0.1", "", {}, "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw=="],
1298+
1299+ "cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="],
1300+
1301+ "cli-spinners": ["cli-spinners@3.4.0", "", {}, "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw=="],
1302+
1303+ "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="],
1304+
1305+ "cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="],
1306+
1307+ "cluster-key-slot": ["cluster-key-slot@1.1.1", "", {}, "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw=="],
1308+
1309+ "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
1310+
1311+ "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
1312+
1313+ "colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="],
1314+
1315+ "colortranslator": ["colortranslator@5.0.0", "", {}, "sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w=="],
1316+
1317+ "comark": ["comark@0.5.1", "", { "dependencies": { "entities": "^8.0.0", "htmlparser2": "^12.0.0", "js-yaml": "^5.2.1", "markdown-exit": "1.1.0-beta.2" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.17.0", "shiki": "^4.3.1" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-RRRmUaEc6tokYJhgIGHrl8+pUt3kY1BxMnbRrxMxkCk2RcPcrilq9OmmPWIO7zuUIF7qLLRCCQz+wPuMg7Vz9w=="],
1318+
1319+ "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="],
1320+
1321+ "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="],
1322+
1323+ "comment-parser": ["comment-parser@1.4.7", "", {}, "sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ=="],
1324+
1325+ "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="],
1326+
1327+ "compare-func": ["compare-func@2.0.0", "", { "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA=="],
1328+
1329+ "compatx": ["compatx@0.2.0", "", {}, "sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA=="],
1330+
1331+ "compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
1332+
1333+ "concat-stream": ["concat-stream@2.0.0", "", { "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="],
1334+
1335+ "confbox": ["confbox@0.2.4", "", {}, "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ=="],
1336+
1337+ "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="],
1338+
1339+ "content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="],
1340+
1341+ "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="],
1342+
1343+ "conventional-changelog": ["conventional-changelog@7.2.1", "", { "dependencies": { "@conventional-changelog/git-client": "^2.7.0", "@simple-libs/hosted-git-info": "^1.0.2", "@types/normalize-package-data": "^2.4.4", "conventional-changelog-preset-loader": "^5.0.0", "conventional-changelog-writer": "^8.4.0", "conventional-commits-parser": "^6.4.0", "fd-package-json": "^2.0.0", "meow": "^13.0.0", "normalize-package-data": "^7.0.0" }, "bin": { "conventional-changelog": "dist/cli/index.js" } }, "sha512-smcpqCeNRCAoL586/Iql8GfVsduP1JDrr7SAzKHWM5C5voDzKhc3QtqwVWeKMhvVw4iYfAr+znz1TF4kPXVm3A=="],
1344+
1345+ "conventional-changelog-angular": ["conventional-changelog-angular@8.3.1", "", { "dependencies": { "compare-func": "^2.0.0" } }, "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg=="],
1346+
1347+ "conventional-changelog-conventionalcommits": ["conventional-changelog-conventionalcommits@9.3.1", "", { "dependencies": { "compare-func": "^2.0.0" } }, "sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw=="],
1348+
1349+ "conventional-changelog-preset-loader": ["conventional-changelog-preset-loader@5.0.0", "", {}, "sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA=="],
1350+
1351+ "conventional-changelog-writer": ["conventional-changelog-writer@8.4.0", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0", "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", "meow": "^13.0.0", "semver": "^7.5.2" }, "bin": { "conventional-changelog-writer": "dist/cli/index.js" } }, "sha512-HHBFkk1EECxxmCi4CTu091iuDpQv5/OavuCUAuZmrkWpmYfyD816nom1CvtfXJ/uYfAAjavgHvXHX291tSLK8g=="],
1352+
1353+ "conventional-commits-filter": ["conventional-commits-filter@5.0.0", "", {}, "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q=="],
1354+
1355+ "conventional-commits-parser": ["conventional-commits-parser@6.4.0", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0", "meow": "^13.0.0" }, "bin": { "conventional-commits-parser": "dist/cli/index.js" } }, "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw=="],
1356+
1357+ "conventional-recommended-bump": ["conventional-recommended-bump@11.2.0", "", { "dependencies": { "@conventional-changelog/git-client": "^2.5.1", "conventional-changelog-preset-loader": "^5.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.1.0", "meow": "^13.0.0" }, "bin": { "conventional-recommended-bump": "dist/cli/index.js" } }, "sha512-lqIdmw330QdMBgfL0e6+6q5OMKyIpy4OZNmepit6FS3GldhkG+70drZjuZ0A5NFpze5j85dlYs3GabQXl6sMHw=="],
1358+
1359+ "convert-hrtime": ["convert-hrtime@5.0.0", "", {}, "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg=="],
1360+
1361+ "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
1362+
1363+ "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
1364+
1365+ "cookie-es": ["cookie-es@3.1.1", "", {}, "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg=="],
1366+
1367+ "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="],
1368+
1369+ "core-js-compat": ["core-js-compat@3.50.0", "", { "dependencies": { "browserslist": "^4.28.7" } }, "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q=="],
1370+
1371+ "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="],
1372+
1373+ "cors": ["cors@2.8.6", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw=="],
1374+
1375+ "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="],
1376+
1377+ "crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
1378+
1379+ "create-docus": ["create-docus@workspace:cli"],
1380+
1381+ "croner": ["croner@10.0.1", "", {}, "sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g=="],
1382+
1383+ "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
1384+
1385+ "crossws": ["crossws@0.4.10", "", { "peerDependencies": { "srvx": ">=0.11.5" }, "optionalPeers": ["srvx"] }, "sha512-pz3oubH/dt12KjqsUB0IuXW4nwRDQ583iDsP4555Cpdqx0NoU7pGlWBcayyFI8f/l/idRpgjMEfwuOxSWJYlIA=="],
1386+
1387+ "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="],
1388+
1389+ "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="],
1390+
1391+ "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="],
1392+
1393+ "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
1394+
1395+ "cssfilter": ["cssfilter@0.0.10", "", {}, "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw=="],
1396+
1397+ "cssnano": ["cssnano@8.0.4", "", { "dependencies": { "cssnano-preset-default": "^8.0.4", "lilconfig": "^3.1.3" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-m6epEvKkzysdXamdK4BU9S6lQzx+syY+5Qm4f2dbpxlewBtEYOKi2v2iIr1jLsjuAr3V1WjRp6hXFPH1BEDirw=="],
1398+
1399+ "cssnano-preset-default": ["cssnano-preset-default@8.0.4", "", { "dependencies": { "browserslist": "^4.28.7", "cssnano-utils": "^6.0.2", "postcss-calc": "^10.1.1", "postcss-colormin": "^8.0.2", "postcss-convert-values": "^8.0.2", "postcss-discard-comments": "^8.0.2", "postcss-discard-duplicates": "^8.0.2", "postcss-discard-empty": "^8.0.2", "postcss-discard-overridden": "^8.0.2", "postcss-merge-longhand": "^8.0.2", "postcss-merge-rules": "^8.0.2", "postcss-minify-font-values": "^8.0.2", "postcss-minify-gradients": "^8.0.2", "postcss-minify-params": "^8.0.2", "postcss-minify-selectors": "^8.0.3", "postcss-normalize-charset": "^8.0.2", "postcss-normalize-display-values": "^8.0.2", "postcss-normalize-positions": "^8.0.2", "postcss-normalize-repeat-style": "^8.0.2", "postcss-normalize-string": "^8.0.2", "postcss-normalize-timing-functions": "^8.0.2", "postcss-normalize-unicode": "^8.0.2", "postcss-normalize-url": "^8.0.2", "postcss-normalize-whitespace": "^8.0.2", "postcss-ordered-values": "^8.0.2", "postcss-reduce-initial": "^8.0.2", "postcss-reduce-transforms": "^8.0.2", "postcss-svgo": "^8.0.3", "postcss-unique-selectors": "^8.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-WUn2NmdLD0FlUI8XdQrlfDjVNGLOI3cxaw7Y6msbfxn4G2vJByuO6M73Wo5B9Rd0Ap36SQhG7wsOXAMnVdC2eQ=="],
1400+
1401+ "cssnano-utils": ["cssnano-utils@6.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-AqysikWP69dOKAP/UMvUYrlZ1gvvQu0/eMFVUKLhH+ZM23dUAKXC31xKvNyL9It2UMF2uDmK4XotBeO9vSBKzg=="],
1402+
1403+ "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="],
1404+
1405+ "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
1406+
1407+ "culori": ["culori@4.0.2", "", {}, "sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw=="],
1408+
1409+ "data-uri-to-buffer": ["data-uri-to-buffer@7.0.0", "", {}, "sha512-CuRUx0TXGSbbWdEci3VK/XOZGP3n0P4pIKpsqpVtBqaIIuj3GKK8H45oAqA4Rg8FHipc+CzRdUzmD4YQXxv66Q=="],
1410+
1411+ "db0": ["db0@0.3.4", "", { "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "better-sqlite3": "*", "drizzle-orm": "*", "mysql2": "*", "sqlite3": "*" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "better-sqlite3", "drizzle-orm", "mysql2", "sqlite3"] }, "sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw=="],
1412+
1413+ "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
1414+
1415+ "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="],
1416+
1417+ "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="],
1418+
1419+ "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="],
1420+
1421+ "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
1422+
1423+ "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
1424+
1425+ "default-browser": ["default-browser@5.5.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw=="],
1426+
1427+ "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="],
1428+
1429+ "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
1430+
1431+ "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
1432+
1433+ "defu": ["defu@6.1.7", "", {}, "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ=="],
1434+
1435+ "degenerator": ["degenerator@6.0.0", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" }, "peerDependencies": { "quickjs-wasi": "^0.0.1" } }, "sha512-j5MdXdefrecJeSqTpUrgZd4fBsD2IxZx0JlJD+n1Q7+aTf7/HcyXSfHsicPW6ekPurX159v1ZYla6OJgSPh2Dw=="],
1436+
1437+ "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="],
1438+
1439+ "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="],
1440+
1441+ "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
1442+
1443+ "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="],
1444+
1445+ "detab": ["detab@3.0.2", "", {}, "sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w=="],
1446+
1447+ "detect-indent": ["detect-indent@7.0.2", "", {}, "sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A=="],
1448+
1449+ "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
1450+
1451+ "devalue": ["devalue@5.9.0", "", {}, "sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A=="],
1452+
1453+ "devframe": ["devframe@0.8.2", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "birpc": "^4.0.0", "crossws": "^0.4.10", "destr": "^2.0.5", "h3": "^2.0.1-rc.26", "mrmime": "^2.0.1", "nostics": "^1.2.0", "pathe": "^2.0.3", "ufo": "^1.6.4" }, "peerDependencies": { "@modelcontextprotocol/client": "^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "cac": "^7.0.0" }, "optionalPeers": ["@modelcontextprotocol/client", "@modelcontextprotocol/server", "cac"], "bin": { "devframe": "./bin/devframe.mjs" } }, "sha512-oodQXEQnrvufA1so/E058Z3SG3bk9AlUE5+NIAsyx5ZJH9P/oX6WMxjC0bs5PPwtKbS7pBHjxja2AD8EwGE8/Q=="],
1454+
1455+ "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="],
1456+
1457+ "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="],
1458+
1459+ "diff3": ["diff3@0.0.3", "", {}, "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g=="],
1460+
1461+ "docus": ["docus@workspace:layer"],
1462+
1463+ "docus-docs": ["docus-docs@workspace:docs"],
1464+
1465+ "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
1466+
1467+ "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
1468+
1469+ "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="],
1470+
1471+ "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
1472+
1473+ "dot-prop": ["dot-prop@5.3.0", "", { "dependencies": { "is-obj": "^2.0.0" } }, "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q=="],
1474+
1475+ "dotenv": ["dotenv@17.4.2", "", {}, "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw=="],
1476+
1477+ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
1478+
1479+ "duplexer": ["duplexer@0.1.2", "", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="],
1480+
1481+ "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
1482+
1483+ "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="],
1484+
1485+ "electron-to-chromium": ["electron-to-chromium@1.5.402", "", {}, "sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA=="],
1486+
1487+ "embla-carousel": ["embla-carousel@8.6.0", "", {}, "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA=="],
1488+
1489+ "embla-carousel-auto-height": ["embla-carousel-auto-height@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ=="],
1490+
1491+ "embla-carousel-auto-scroll": ["embla-carousel-auto-scroll@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ=="],
1492+
1493+ "embla-carousel-autoplay": ["embla-carousel-autoplay@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA=="],
1494+
1495+ "embla-carousel-class-names": ["embla-carousel-class-names@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw=="],
1496+
1497+ "embla-carousel-fade": ["embla-carousel-fade@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg=="],
1498+
1499+ "embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A=="],
1500+
1501+ "embla-carousel-vue": ["embla-carousel-vue@8.6.0", "", { "dependencies": { "embla-carousel": "8.6.0", "embla-carousel-reactive-utils": "8.6.0" }, "peerDependencies": { "vue": "^3.2.37" } }, "sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ=="],
1502+
1503+ "embla-carousel-wheel-gestures": ["embla-carousel-wheel-gestures@8.1.0", "", { "dependencies": { "wheel-gestures": "^2.2.5" }, "peerDependencies": { "embla-carousel": "^8.0.0 || ~8.0.0-rc03" } }, "sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ=="],
1504+
1505+ "emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="],
1506+
1507+ "emojilib": ["emojilib@2.4.0", "", {}, "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw=="],
1508+
1509+ "emoticon": ["emoticon@4.1.0", "", {}, "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ=="],
1510+
1511+ "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="],
1512+
1513+ "encoding-sniffer": ["encoding-sniffer@0.2.1", "", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw=="],
1514+
1515+ "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
1516+
1517+ "engine.io-client": ["engine.io-client@6.6.6", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-parser": "~5.2.1", "ws": "~8.21.0", "xmlhttprequest-ssl": "~2.1.1" } }, "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q=="],
1518+
1519+ "engine.io-parser": ["engine.io-parser@5.2.3", "", {}, "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="],
1520+
1521+ "enhanced-resolve": ["enhanced-resolve@5.24.5", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A=="],
1522+
1523+ "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
1524+
1525+ "error-stack-parser-es": ["error-stack-parser-es@2.0.1", "", {}, "sha512-J36ntO+rMQVRuR/umlmxmfLi4TpWwtmTnHoJoXTiC2xDNazs0VDPKcX6pbhZMDd2HFtH9isMBJXMdbki+A++Pg=="],
1526+
1527+ "errx": ["errx@0.1.2", "", {}, "sha512-chfpPHmCerdo/rXr/nNvPZRkV4WwDRwzwnsJ0Uzz3tVi8Z41tDctRjduYy1138ii77AFlts1qvWtX3g/Acg91Q=="],
1528+
1529+ "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
1530+
1531+ "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
1532+
1533+ "es-module-lexer": ["es-module-lexer@2.3.1", "", {}, "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA=="],
1534+
1535+ "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="],
1536+
1537+ "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="],
1538+
1539+ "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
1540+
1541+ "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="],
1542+
1543+ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
1544+
1545+ "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="],
1546+
1547+ "eslint": ["eslint@10.8.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ=="],
1548+
1549+ "eslint-config-flat-gitignore": ["eslint-config-flat-gitignore@2.3.0", "", { "dependencies": { "@eslint/compat": "^2.0.3" }, "peerDependencies": { "eslint": "^9.5.0 || ^10.0.0" } }, "sha512-bg4ZLGgoARg1naWfsINUUb/52Ksw/K22K+T16D38Y8v+/sGwwIYrGvH/JBjOin+RQtxxC9tzNNiy4shnGtGyyQ=="],
1550+
1551+ "eslint-flat-config-utils": ["eslint-flat-config-utils@3.2.0", "", { "dependencies": { "@eslint/config-helpers": "^0.5.5", "pathe": "^2.0.3" } }, "sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw=="],
1552+
1553+ "eslint-import-context": ["eslint-import-context@0.1.9", "", { "dependencies": { "get-tsconfig": "^4.10.1", "stable-hash-x": "^0.2.0" }, "peerDependencies": { "unrs-resolver": "^1.0.0" }, "optionalPeers": ["unrs-resolver"] }, "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg=="],
1554+
1555+ "eslint-merge-processors": ["eslint-merge-processors@2.0.0", "", { "peerDependencies": { "eslint": "*" } }, "sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA=="],
1556+
1557+ "eslint-plugin-import-lite": ["eslint-plugin-import-lite@0.6.0", "", { "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ=="],
1558+
1559+ "eslint-plugin-import-x": ["eslint-plugin-import-x@4.17.1", "", { "dependencies": { "@typescript-eslint/types": "^8.56.0", "comment-parser": "^1.4.1", "debug": "^4.4.1", "eslint-import-context": "^0.1.9", "is-glob": "^4.0.3", "minimatch": "^9.0.3 || ^10.1.2", "semver": "^7.7.2", "stable-hash-x": "^0.2.0", "unrs-resolver": "^1.9.2" }, "peerDependencies": { "@typescript-eslint/utils": "^8.56.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "eslint-import-resolver-node": "*" }, "optionalPeers": ["@typescript-eslint/utils", "eslint-import-resolver-node"] }, "sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg=="],
1560+
1561+ "eslint-plugin-jsdoc": ["eslint-plugin-jsdoc@63.3.3", "", { "dependencies": { "@es-joy/jsdoccomment": "~0.91.0", "@es-joy/resolve.exports": "1.2.0", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.7", "debug": "^4.4.3", "escape-string-regexp": "^4.0.0", "espree": "^11.2.0", "esquery": "^1.7.0", "html-entities": "^2.6.0", "object-deep-merge": "^2.0.1", "parse-imports-exports": "^0.2.4", "semver": "^7.8.5", "spdx-expression-parse": "^5.0.0", "to-valid-identifier": "^1.0.0" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-xI4IeVRzRFA2DGHrPLIxF3U+oJHU3FE+P9Zb27fVs5dPHgfcpoAs0PyCbznVhK7pwR+9BPUztFeXSgpw/CL4Yg=="],
1562+
1563+ "eslint-plugin-regexp": ["eslint-plugin-regexp@3.1.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "comment-parser": "^1.4.0", "jsdoc-type-pratt-parser": "^7.0.0", "refa": "^0.12.1", "regexp-ast-analysis": "^0.7.1", "scslre": "^0.3.0" }, "peerDependencies": { "eslint": ">=9.38.0" } }, "sha512-MxR5nqoQCtVWmJwia0D2+NlXX1xzdpkslsVOZLEYQ4PQWEaL65PCZXURxaBc3lPnkNFpNxzMIRmYVxdl8giXRA=="],
1564+
1565+ "eslint-plugin-unicorn": ["eslint-plugin-unicorn@73.0.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@eslint/css-tree": "^4.0.4", "browserslist": "^4.28.4", "change-case": "^5.4.4", "ci-info": "^4.4.0", "core-js-compat": "^3.49.0", "detect-indent": "^7.0.2", "entities": "^4.5.0", "find-up-simple": "^1.0.1", "globals": "^17.7.0", "indent-string": "^5.0.0", "is-builtin-module": "^5.0.0", "is-identifier": "^1.1.0", "pluralize": "^8.0.0", "quote-js-string": "^0.1.0", "regjsparser": "^0.13.2", "reserved-identifiers": "^1.2.0", "semver": "^7.8.5", "strip-indent": "^4.1.1", "yaml": "^2.9.0" }, "peerDependencies": { "eslint": ">=10.4" } }, "sha512-V0YatLe9nkGhXEXKe2Qljb1EY0sJHwDV0HUF1NKFwtsHh/fU7qGHDgv+6fchzZcgU2/7noHo2gdjnmo0P2uDPw=="],
1566+
1567+ "eslint-plugin-vue": ["eslint-plugin-vue@10.10.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", "postcss-selector-parser": "^7.1.4", "semver": "^7.8.5", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "vue-eslint-parser": "^10.3.0" }, "optionalPeers": ["@stylistic/eslint-plugin", "@typescript-eslint/parser"] }, "sha512-dL9x9rBHqqNcByWiLOHK6L0SB97V82/NC0cZRn9cXPjM7pCuWlpQQP9bFH4vjBv80ej1ZpzAkuD8zWH1o9bZbA=="],
1568+
1569+ "eslint-processor-vue-blocks": ["eslint-processor-vue-blocks@2.0.0", "", { "peerDependencies": { "@vue/compiler-sfc": "^3.3.0", "eslint": ">=9.0.0" } }, "sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q=="],
1570+
1571+ "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
1572+
1573+ "eslint-typegen": ["eslint-typegen@2.3.1", "", { "dependencies": { "json-schema-to-typescript-lite": "^15.0.0", "ohash": "^2.0.11" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-zVdh8rThBvv2o5T/K524Fr5iy1Jo0q09rHL7y7FbOhgMB177T2gw+shxfC4ChCEqdq6/y6LJA4j8Fbr/Xls9aw=="],
1574+
1575+ "eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="],
1576+
1577+ "espree": ["espree@11.2.0", "", { "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^5.0.1" } }, "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw=="],
1578+
1579+ "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
1580+
1581+ "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="],
1582+
1583+ "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="],
1584+
1585+ "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
1586+
1587+ "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="],
1588+
1589+ "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
1590+
1591+ "eta": ["eta@4.5.1", "", {}, "sha512-EaNCGm+8XEIU7YNcc+THptWAO5NfKBHHARxt+wxZljj9bTr/+arRoOm9/MpGt4n6xn9fLnPFRSoLD0WFYGFUxQ=="],
1592+
1593+ "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="],
1594+
1595+ "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
1596+
1597+ "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="],
1598+
1599+ "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],
1600+
1601+ "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="],
1602+
1603+ "eventsource-parser": ["eventsource-parser@3.1.0", "", {}, "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg=="],
1604+
1605+ "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="],
1606+
1607+ "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="],
1608+
1609+ "express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="],
1610+
1611+ "express-rate-limit": ["express-rate-limit@8.6.2", "", { "dependencies": { "debug": "^4.4.3", "ip-address": "^10.2.0" }, "peerDependencies": { "express": ">= 4.11" } }, "sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A=="],
1612+
1613+ "exsolve": ["exsolve@1.1.1", "", {}, "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g=="],
1614+
1615+ "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="],
1616+
1617+ "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
1618+
1619+ "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],
1620+
1621+ "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
1622+
1623+ "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
1624+
1625+ "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="],
1626+
1627+ "fast-npm-meta": ["fast-npm-meta@2.2.0", "", { "dependencies": { "cac": "^7.0.0" }, "bin": { "fast-npm-meta": "./dist/cli.mjs" } }, "sha512-99jPl8JkCSCa4VlboNU1XuL98ijm74Pm9CGo6H4BoMVoVh1uhguQcvwLgXDT8Vkl2qj/UEQ0J9gD8beHjTFk1w=="],
1628+
1629+ "fast-string-truncated-width": ["fast-string-truncated-width@3.0.3", "", {}, "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g=="],
1630+
1631+ "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="],
1632+
1633+ "fast-uri": ["fast-uri@3.1.5", "", {}, "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw=="],
1634+
1635+ "fast-wrap-ansi": ["fast-wrap-ansi@0.2.2", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q=="],
1636+
1637+ "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="],
1638+
1639+ "fd-package-json": ["fd-package-json@2.0.0", "", { "dependencies": { "walk-up-path": "^4.0.0" } }, "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ=="],
1640+
1641+ "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
1642+
1643+ "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="],
1644+
1645+ "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="],
1646+
1647+ "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
1648+
1649+ "finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="],
1650+
1651+ "find-up": ["find-up@8.0.0", "", { "dependencies": { "locate-path": "^8.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww=="],
1652+
1653+ "find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="],
1654+
1655+ "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="],
1656+
1657+ "flat": ["flat@6.0.1", "", { "bin": { "flat": "cli.js" } }, "sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw=="],
1658+
1659+ "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="],
1660+
1661+ "flatted": ["flatted@3.4.4", "", {}, "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q=="],
1662+
1663+ "fnv1a-64": ["fnv1a-64@0.1.2", "", {}, "sha512-mJbcILTPybAR1jdOwt/lVv8N2cffeJFFP+gVbSAwLEx1ujXH27RpPd8Rokec/KX9c76UYIB6Co+H4lQzxPnJfA=="],
1664+
1665+ "fontaine": ["fontaine@0.8.0", "", { "dependencies": { "@capsizecss/unpack": "^4.0.0", "css-tree": "^3.1.0", "magic-regexp": "^0.10.0", "magic-string": "^0.30.21", "pathe": "^2.0.3", "ufo": "^1.6.1", "unplugin": "^2.3.10" } }, "sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg=="],
1666+
1667+ "fontkitten": ["fontkitten@1.0.3", "", { "dependencies": { "tiny-inflate": "^1.0.3" } }, "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw=="],
1668+
1669+ "fontless": ["fontless@0.2.1", "", { "dependencies": { "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.27.0", "fontaine": "0.8.0", "jiti": "^2.6.1", "lightningcss": "^1.30.2", "magic-string": "^0.30.21", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1", "unifont": "^0.7.4", "unstorage": "^1.17.1" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-mUWZ8w91/mw2KEcZ6gHNoNNmsAq9Wiw2IypIux5lM03nhXm+WSloXGUNuRETNTLqZexMgpt7Aj/v63qqrsWraQ=="],
1670+
1671+ "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="],
1672+
1673+ "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
1674+
1675+ "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="],
1676+
1677+ "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="],
1678+
1679+ "framer-motion": ["framer-motion@12.43.0", "", { "dependencies": { "motion-dom": "^12.43.0", "motion-utils": "^12.39.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-1eaL3RvR/kAlbG7UYcpMptEyzPoENO0c6w7ZnB3/hh2vSAz/6uGAFn6fdoqTBguNstf3MsFhJHsD/0DHiclG+g=="],
1680+
1681+ "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="],
1682+
1683+ "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="],
1684+
1685+ "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
1686+
1687+ "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
1688+
1689+ "function-timeout": ["function-timeout@1.0.2", "", {}, "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA=="],
1690+
1691+ "fuse.js": ["fuse.js@7.5.0", "", {}, "sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow=="],
1692+
1693+ "fzf": ["fzf@0.5.2", "", {}, "sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q=="],
1694+
1695+ "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
1696+
1697+ "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
1698+
1699+ "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="],
1700+
1701+ "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
1702+
1703+ "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="],
1704+
1705+ "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
1706+
1707+ "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="],
1708+
1709+ "get-tsconfig": ["get-tsconfig@4.14.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A=="],
1710+
1711+ "get-uri": ["get-uri@7.0.0", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "7.0.0", "debug": "^4.3.4" } }, "sha512-ZsC7KQxm1Hra8yO0RvMZ4lGJT7vnBtSNpEHKq39MPN7vjuvCiu1aQ8rkXUaIXG1y/TSDez97Gmv04ibnYqCp/A=="],
1712+
1713+ "giget": ["giget@3.3.1", "", { "bin": { "giget": "dist/cli.mjs" } }, "sha512-r+mvuDjrjMpsdw46Kmeydb8bdHm7wOKw8wNBtTndkjbPjgAp5oUJUxRE76wZFknxIPokfWvep2qSXK37aXE6zg=="],
1714+
1715+ "git-up": ["git-up@8.1.1", "", { "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^9.2.0" } }, "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g=="],
1716+
1717+ "git-url-parse": ["git-url-parse@16.1.0", "", { "dependencies": { "git-up": "^8.1.0" } }, "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw=="],
1718+
1719+ "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="],
1720+
1721+ "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="],
1722+
1723+ "glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="],
1724+
1725+ "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
1726+
1727+ "global-directory": ["global-directory@4.0.1", "", { "dependencies": { "ini": "4.1.1" } }, "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q=="],
1728+
1729+ "globals": ["globals@17.9.0", "", {}, "sha512-m/MvAW61QVU5VDNF1Vj8axt016h8w7L5TU1e9zlab7XIttAT2YAlCwl75K1fOqvMM9apmD7lbCIRhpfkhmxhCg=="],
1730+
1731+ "globby": ["globby@16.2.2", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "fast-glob": "^3.3.3", "ignore": "^7.0.5", "is-path-inside": "^4.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.4.0" } }, "sha512-NLvV9ubZ6NDsJaOpKPy3cQeJpKi9DcWiyCiFUpJPA0YihRqiE6RWaLUmgNNPr8MgPpLZjnBjSmou7uZBRJv9wA=="],
1732+
1733+ "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
1734+
1735+ "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
1736+
1737+ "gzip-size": ["gzip-size@7.0.0", "", { "dependencies": { "duplexer": "^0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="],
1738+
1739+ "h3": ["h3@1.15.11", "", { "dependencies": { "cookie-es": "^1.2.3", "crossws": "^0.3.5", "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", "radix3": "^1.1.2", "ufo": "^1.6.3", "uncrypto": "^0.1.3" } }, "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg=="],
1740+
1741+ "handlebars": ["handlebars@4.7.9", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ=="],
1742+
1743+ "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="],
1744+
1745+ "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
1746+
1747+ "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
1748+
1749+ "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="],
1750+
1751+ "hast-util-embedded": ["hast-util-embedded@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="],
1752+
1753+ "hast-util-format": ["hast-util-format@1.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-whitespace": "^3.0.0", "html-whitespace-sensitive-tag-names": "^3.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA=="],
1754+
1755+ "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="],
1756+
1757+ "hast-util-has-property": ["hast-util-has-property@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA=="],
1758+
1759+ "hast-util-heading-rank": ["hast-util-heading-rank@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA=="],
1760+
1761+ "hast-util-is-body-ok-link": ["hast-util-is-body-ok-link@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ=="],
1762+
1763+ "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="],
1764+
1765+ "hast-util-minify-whitespace": ["hast-util-minify-whitespace@1.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-is-element": "^3.0.0", "hast-util-whitespace": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw=="],
1766+
1767+ "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="],
1768+
1769+ "hast-util-phrasing": ["hast-util-phrasing@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-has-property": "^3.0.0", "hast-util-is-body-ok-link": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ=="],
1770+
1771+ "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="],
1772+
1773+ "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="],
1774+
1775+ "hast-util-to-mdast": ["hast-util-to-mdast@10.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-to-html": "^9.0.0", "hast-util-to-text": "^4.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "mdast-util-to-string": "^4.0.0", "rehype-minify-whitespace": "^6.0.0", "trim-trailing-lines": "^2.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ=="],
1776+
1777+ "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="],
1778+
1779+ "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="],
1780+
1781+ "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="],
1782+
1783+ "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="],
1784+
1785+ "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="],
1786+
1787+ "hey-listen": ["hey-listen@1.0.8", "", {}, "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="],
1788+
1789+ "hono": ["hono@4.13.0", "", {}, "sha512-jhunvfHWxd7J5EFfSgH4xsYJzSe/lfqbUCxiyyeaQasUsXeEHXtzVid+7EOGByc5JnFa23SSFL3Y2RV/z1T+eQ=="],
1790+
1791+ "hookable": ["hookable@6.1.1", "", {}, "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ=="],
1792+
1793+ "hosted-git-info": ["hosted-git-info@8.1.0", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw=="],
1794+
1795+ "html-entities": ["html-entities@2.6.0", "", {}, "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ=="],
1796+
1797+ "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="],
1798+
1799+ "html-whitespace-sensitive-tag-names": ["html-whitespace-sensitive-tag-names@3.0.1", "", {}, "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA=="],
1800+
1801+ "htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="],
1802+
1803+ "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="],
1804+
1805+ "http-proxy-agent": ["http-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4" } }, "sha512-7pose0uGgrCJeH2Qh4JcNhWZp3u/oNrWjNYDK4ydOLxOpTw8V8ogHFAmkz0VWq96JBFj4umVJpvmQi287rSYLg=="],
1806+
1807+ "http-shutdown": ["http-shutdown@1.2.2", "", {}, "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw=="],
1808+
1809+ "https-proxy-agent": ["https-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4" } }, "sha512-YYeW+iCnAS3xhvj2dvVoWgsbca3RfQy/IlaNHHOtDmU0jMqPI9euIq3Y9BJETdxk16h9NHHCKqp/KB9nIMStCQ=="],
1810+
1811+ "httpxy": ["httpxy@0.5.5", "", {}, "sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA=="],
1812+
1813+ "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="],
1814+
1815+ "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
1816+
1817+ "identifier-regex": ["identifier-regex@1.1.0", "", { "dependencies": { "reserved-identifiers": "^1.0.0" } }, "sha512-SLX4H/vtcYlYnL7XqnuJKHU7Z8517TgsW9nmQiGOgMCjQ8V/deLYu6bEmbGoXe7WMMhc9+EUGyFFneHja8KabA=="],
1818+
1819+ "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
1820+
1821+ "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
1822+
1823+ "image-meta": ["image-meta@0.2.2", "", {}, "sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA=="],
1824+
1825+ "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="],
1826+
1827+ "impound": ["impound@1.1.6", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.31", "es-module-lexer": "^2.0.0", "pathe": "^2.0.3", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1" } }, "sha512-ugavDQkE74SGrBjagNIwNVHNBxX14mmfQnTm4jFGzOoWwYsgihqV698BNr5xwRY9quKK4rEg8bc6ECltllMr+w=="],
1828+
1829+ "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
1830+
1831+ "indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="],
1832+
1833+ "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
1834+
1835+ "ini": ["ini@6.0.0", "", {}, "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ=="],
1836+
1837+ "ioredis": ["ioredis@5.11.1", "", { "dependencies": { "@ioredis/commands": "1.10.0", "cluster-key-slot": "1.1.1", "debug": "4.4.3", "denque": "2.1.0", "redis-errors": "1.2.0", "redis-parser": "3.0.0", "standard-as-callback": "2.1.0" } }, "sha512-ehuGcf94bQXhfagULNXrJdfnWO38v070jxSx/qE87Kjzmu2fU7ro5EFAb+OPituLqgfyuQaym5DlrNydW2sJ9A=="],
1838+
1839+ "ip-address": ["ip-address@10.4.0", "", {}, "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ=="],
1840+
1841+ "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="],
1842+
1843+ "ipx": ["ipx@4.0.0-beta.1", "", { "dependencies": { "sharp": "^0.35.3", "srvx": "^0.12.4" }, "peerDependencies": { "unstorage": "*" }, "optionalPeers": ["unstorage"], "bin": { "ipx": "dist/cli.mjs" } }, "sha512-y6bt8CakzpsSO/TiiD8j+1oM+BFJs4rCiJyg8SyBiEaOUIhOu6DFX7lwCpZB/RnUzxVNQFqU4c4IL4MzyRcEQQ=="],
1844+
1845+ "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="],
1846+
1847+ "is-absolute-url": ["is-absolute-url@4.0.1", "", {}, "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A=="],
1848+
1849+ "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="],
1850+
1851+ "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="],
1852+
1853+ "is-builtin-module": ["is-builtin-module@5.0.0", "", { "dependencies": { "builtin-modules": "^5.0.0" } }, "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA=="],
1854+
1855+ "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="],
1856+
1857+ "is-core-module": ["is-core-module@2.16.2", "", { "dependencies": { "hasown": "^2.0.3" } }, "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA=="],
1858+
1859+ "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="],
1860+
1861+ "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
1862+
1863+ "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
1864+
1865+ "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
1866+
1867+ "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
1868+
1869+ "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="],
1870+
1871+ "is-identifier": ["is-identifier@1.1.0", "", { "dependencies": { "identifier-regex": "^1.1.0", "super-regex": "^1.1.0" } }, "sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw=="],
1872+
1873+ "is-in-ssh": ["is-in-ssh@1.0.0", "", {}, "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw=="],
1874+
1875+ "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
1876+
1877+ "is-installed-globally": ["is-installed-globally@1.0.0", "", { "dependencies": { "global-directory": "^4.0.1", "is-path-inside": "^4.0.0" } }, "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ=="],
1878+
1879+ "is-interactive": ["is-interactive@2.0.0", "", {}, "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="],
1880+
1881+ "is-module": ["is-module@1.0.0", "", {}, "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="],
1882+
1883+ "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
1884+
1885+ "is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="],
1886+
1887+ "is-path-inside": ["is-path-inside@4.0.0", "", {}, "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA=="],
1888+
1889+ "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="],
1890+
1891+ "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="],
1892+
1893+ "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="],
1894+
1895+ "is-ssh": ["is-ssh@1.4.1", "", { "dependencies": { "protocols": "^2.0.1" } }, "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg=="],
1896+
1897+ "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="],
1898+
1899+ "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="],
1900+
1901+ "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="],
1902+
1903+ "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="],
1904+
1905+ "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
1906+
1907+ "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
1908+
1909+ "isomorphic-git": ["isomorphic-git@1.40.0", "", { "dependencies": { "async-lock": "^1.4.1", "clean-git-ref": "^2.0.1", "crc-32": "^1.2.0", "diff3": "0.0.3", "ignore": "^5.1.4", "minimisted": "^2.0.0", "pako": "^1.0.10", "pify": "^4.0.1", "readable-stream": "^4.0.0", "sha.js": "^2.4.12", "simple-get": "^4.0.1" }, "bin": { "isogit": "cli.cjs" } }, "sha512-/CbnxwZqIm17y3c/z0INbkgEKSvFerXtO/NGgaRxZ8nvL3eoMtbjuAS7f4Pj7lZzj8HaultvDD1ClJTBVDl89g=="],
1910+
1911+ "isomorphic.js": ["isomorphic.js@0.2.5", "", {}, "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw=="],
1912+
1913+ "issue-parser": ["issue-parser@7.0.1", "", { "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.uniqby": "^4.7.0" } }, "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg=="],
1914+
1915+ "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
1916+
1917+ "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="],
1918+
1919+ "jose": ["jose@6.2.8", "", {}, "sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ=="],
1920+
1921+ "joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="],
1922+
1923+ "js-tokens": ["js-tokens@10.0.0", "", {}, "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q=="],
1924+
1925+ "js-yaml": ["js-yaml@4.3.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ=="],
1926+
1927+ "jsdoc-type-pratt-parser": ["jsdoc-type-pratt-parser@7.3.0", "", {}, "sha512-DoyJXo7x/n48M3NsGOs9QnEws0ft0tV3YsSgvWMNxz2hZtz+Q6fpqUD96lVYX4a+jcEkzHeFNDJOn68TzXfbdA=="],
1928+
1929+ "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
1930+
1931+ "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
1932+
1933+ "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="],
1934+
1935+ "json-schema-to-typescript-lite": ["json-schema-to-typescript-lite@15.0.0", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^14.1.1", "@types/json-schema": "^7.0.15" } }, "sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA=="],
1936+
1937+ "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
1938+
1939+ "json-schema-typed": ["json-schema-typed@8.0.2", "", {}, "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA=="],
1940+
1941+ "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
1942+
1943+ "json-with-bigint": ["json-with-bigint@3.5.10", "", {}, "sha512-Vcx+JVNEBts/xfcoCS69sKrOhOk/3TVlvlT+XzUOefVKnnrbYSCKpDCm10pohsJFtsJVYnwa/cXRZ4eElzaM6w=="],
1944+
1945+ "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
1946+
1947+ "jsonc-eslint-parser": ["jsonc-eslint-parser@2.4.2", "", { "dependencies": { "acorn": "^8.5.0", "eslint-visitor-keys": "^3.0.0", "espree": "^9.0.0", "semver": "^7.3.5" } }, "sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA=="],
1948+
1949+ "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
1950+
1951+ "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
1952+
1953+ "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="],
1954+
1955+ "knitwork": ["knitwork@1.3.0", "", {}, "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw=="],
1956+
1957+ "launch-editor": ["launch-editor@2.14.1", "", { "dependencies": { "picocolors": "^1.1.1", "shell-quote": "^1.8.4" } }, "sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA=="],
1958+
1959+ "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="],
1960+
1961+ "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
1962+
1963+ "lib0": ["lib0@0.2.117", "", { "dependencies": { "isomorphic.js": "^0.2.4" }, "bin": { "0serve": "bin/0serve.js", "0gentesthtml": "bin/gentesthtml.js", "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js" } }, "sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw=="],
1964+
1965+ "lighthouse-logger": ["lighthouse-logger@2.0.2", "", { "dependencies": { "debug": "^4.4.1", "marky": "^1.2.2" } }, "sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg=="],
1966+
1967+ "lightningcss": ["lightningcss@1.33.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.33.0", "lightningcss-darwin-arm64": "1.33.0", "lightningcss-darwin-x64": "1.33.0", "lightningcss-freebsd-x64": "1.33.0", "lightningcss-linux-arm-gnueabihf": "1.33.0", "lightningcss-linux-arm64-gnu": "1.33.0", "lightningcss-linux-arm64-musl": "1.33.0", "lightningcss-linux-x64-gnu": "1.33.0", "lightningcss-linux-x64-musl": "1.33.0", "lightningcss-win32-arm64-msvc": "1.33.0", "lightningcss-win32-x64-msvc": "1.33.0" } }, "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA=="],
1968+
1969+ "lightningcss-android-arm64": ["lightningcss-android-arm64@1.33.0", "", { "os": "android", "cpu": "arm64" }, "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg=="],
1970+
1971+ "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.33.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg=="],
1972+
1973+ "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.33.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ=="],
1974+
1975+ "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.33.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg=="],
1976+
1977+ "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.33.0", "", { "os": "linux", "cpu": "arm" }, "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ=="],
1978+
1979+ "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.33.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg=="],
1980+
1981+ "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.33.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ=="],
1982+
1983+ "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.33.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg=="],
1984+
1985+ "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.33.0", "", { "os": "linux", "cpu": "x64" }, "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw=="],
1986+
1987+ "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.33.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA=="],
1988+
1989+ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.33.0", "", { "os": "win32", "cpu": "x64" }, "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA=="],
1990+
1991+ "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="],
1992+
1993+ "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
1994+
1995+ "linkify-it": ["linkify-it@5.0.2", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q=="],
1996+
1997+ "linkifyjs": ["linkifyjs@4.3.3", "", {}, "sha512-P8aEP5U/D1/IlTY2OeYsErdwh9bGuLE30NcXtKEjgdHcahveQoQwM2yZNsioQHsWFz0P7KKudisbrzCgR0sDHg=="],
1998+
1999+ "listhen": ["listhen@1.10.1", "", { "dependencies": { "@parcel/watcher-wasm": "^2.5.6", "citty": "^0.2.2", "consola": "^3.4.2", "crossws": "^0.4.10", "defu": "^6.1.7", "get-port-please": "^3.2.0", "h3": "^1.15.11", "http-shutdown": "^1.2.2", "jiti": "^2.7.0", "node-forge": "^1.4.0", "pathe": "^2.0.3", "std-env": "^4.2.0", "tinyclip": "^0.1.15", "ufo": "^1.6.4", "untun": "^0.2.2", "uqr": "^0.1.3" }, "peerDependencies": { "@parcel/watcher": "^2.5.6" }, "optionalPeers": ["@parcel/watcher"], "bin": { "listen": "./bin/listhen.mjs", "listhen": "./bin/listhen.mjs" } }, "sha512-6nt/86SkqUQSLW1ofz8MxC6RhRMqOl3ONISe6qqvJ3xj09aJWQx6DhgSZpugs3PX4PXdOas/WD6A9jx6J2N19A=="],
2000+
2001+ "load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="],
2002+
2003+ "local-pkg": ["local-pkg@1.2.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", "quansync": "^0.2.11" } }, "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q=="],
2004+
2005+ "locate-path": ["locate-path@8.0.0", "", { "dependencies": { "p-locate": "^6.0.0" } }, "sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg=="],
2006+
2007+ "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="],
2008+
2009+ "lodash-es": ["lodash-es@4.18.1", "", {}, "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A=="],
2010+
2011+ "lodash.capitalize": ["lodash.capitalize@4.2.1", "", {}, "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw=="],
2012+
2013+ "lodash.escaperegexp": ["lodash.escaperegexp@4.1.2", "", {}, "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw=="],
2014+
2015+ "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="],
2016+
2017+ "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="],
2018+
2019+ "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="],
2020+
2021+ "lodash.uniqby": ["lodash.uniqby@4.7.0", "", {}, "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww=="],
2022+
2023+ "log-symbols": ["log-symbols@7.0.1", "", { "dependencies": { "is-unicode-supported": "^2.0.0", "yoctocolors": "^2.1.1" } }, "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg=="],
2024+
2025+ "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="],
2026+
2027+ "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
2028+
2029+ "macos-release": ["macos-release@3.5.1", "", {}, "sha512-Lci/1in+elqZ589PXnfP/iwZXpwQifTM94WJRQwG2tZSdfY7NfB/aUaTARHrohWCgHlXoabeaeXRDOnF5X9JQw=="],
2030+
2031+ "magic-regexp": ["magic-regexp@0.10.0", "", { "dependencies": { "estree-walker": "^3.0.3", "magic-string": "^0.30.12", "mlly": "^1.7.2", "regexp-tree": "^0.1.27", "type-level-regexp": "~0.1.17", "ufo": "^1.5.4", "unplugin": "^2.0.0" } }, "sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg=="],
2032+
2033+ "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="],
2034+
2035+ "magic-string-ast": ["magic-string-ast@1.0.3", "", { "dependencies": { "magic-string": "^0.30.19" } }, "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA=="],
2036+
2037+ "magicast": ["magicast@0.5.4", "", { "dependencies": { "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7", "source-map-js": "^1.2.1" } }, "sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w=="],
2038+
2039+ "make-asynchronous": ["make-asynchronous@1.1.0", "", { "dependencies": { "p-event": "^6.0.0", "type-fest": "^4.6.0", "web-worker": "^1.5.0" } }, "sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg=="],
2040+
2041+ "markdown-exit": ["markdown-exit@1.1.0-beta.2", "", { "dependencies": { "@types/linkify-it": "^5.0.0", "@types/mdurl": "^2.0.0", "entities": "^7.0.0", "linkify-it": "^5.0.1", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" } }, "sha512-8CzMGVlFZ4DEfnc8KU+4ycUW2SIOuiXqCHD7z51ecVEi/weyc0f2ylQbCm4KoKuVlTZSuMUMnWT0hTyquZ7anQ=="],
2042+
2043+ "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
2044+
2045+ "marked": ["marked@17.0.6", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA=="],
2046+
2047+ "marky": ["marky@1.3.0", "", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="],
2048+
2049+ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
2050+
2051+ "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="],
2052+
2053+ "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.3", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q=="],
2054+
2055+ "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="],
2056+
2057+ "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="],
2058+
2059+ "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="],
2060+
2061+ "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="],
2062+
2063+ "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="],
2064+
2065+ "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="],
2066+
2067+ "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="],
2068+
2069+ "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="],
2070+
2071+ "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="],
2072+
2073+ "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="],
2074+
2075+ "mdn-data": ["mdn-data@2.29.0", "", {}, "sha512-pVxQFCcaYUEAH853+v7yoI/qzhxXSq1bTb9obMYGYAN1c3Hen+XDCEvr296XhstrwlSTNgOR7mCSD4JPjbJe5A=="],
2076+
2077+ "mdurl": ["mdurl@2.1.0", "", {}, "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg=="],
2078+
2079+ "media-typer": ["media-typer@1.1.1", "", {}, "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ=="],
2080+
2081+ "meow": ["meow@13.2.0", "", {}, "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA=="],
2082+
2083+ "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="],
2084+
2085+ "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="],
2086+
2087+ "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
2088+
2089+ "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="],
2090+
2091+ "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="],
2092+
2093+ "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="],
2094+
2095+ "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="],
2096+
2097+ "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="],
2098+
2099+ "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="],
2100+
2101+ "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="],
2102+
2103+ "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="],
2104+
2105+ "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="],
2106+
2107+ "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="],
2108+
2109+ "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="],
2110+
2111+ "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="],
2112+
2113+ "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="],
2114+
2115+ "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="],
2116+
2117+ "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="],
2118+
2119+ "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="],
2120+
2121+ "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="],
2122+
2123+ "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="],
2124+
2125+ "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="],
2126+
2127+ "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="],
2128+
2129+ "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="],
2130+
2131+ "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="],
2132+
2133+ "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="],
2134+
2135+ "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="],
2136+
2137+ "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="],
2138+
2139+ "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="],
2140+
2141+ "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="],
2142+
2143+ "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="],
2144+
2145+ "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
2146+
2147+ "mime": ["mime@4.1.0", "", { "bin": { "mime": "bin/cli.js" } }, "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw=="],
2148+
2149+ "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
2150+
2151+ "mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="],
2152+
2153+ "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="],
2154+
2155+ "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
2156+
2157+ "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="],
2158+
2159+ "minimark": ["minimark@0.2.0", "", {}, "sha512-AmtWU9pO0C2/3AM2pikaVhJ//8E5rOpJ7+ioFQfjIq+wCsBeuZoxPd97hBFZ9qrI7DMHZudwGH3r8A7BMnsIew=="],
2160+
2161+ "minimatch": ["minimatch@10.2.6", "", { "dependencies": { "brace-expansion": "^5.0.8" } }, "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A=="],
2162+
2163+ "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
2164+
2165+ "minimisted": ["minimisted@2.0.1", "", { "dependencies": { "minimist": "^1.2.5" } }, "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA=="],
2166+
2167+ "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="],
2168+
2169+ "minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="],
2170+
2171+ "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="],
2172+
2173+ "mlly": ["mlly@1.8.2", "", { "dependencies": { "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.3" } }, "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA=="],
2174+
2175+ "mocked-exports": ["mocked-exports@0.1.1", "", {}, "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA=="],
2176+
2177+ "motion-dom": ["motion-dom@12.43.0", "", { "dependencies": { "motion-utils": "^12.39.0" } }, "sha512-azKON4d9S65PEoFUiQTMTgPheEmzf2QngdRc50AKfJp9Q9mmcBVw22c8eMq9k8kxOFHdL7+WZY7N/5F/lwiDag=="],
2178+
2179+ "motion-utils": ["motion-utils@12.39.0", "", {}, "sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ=="],
2180+
2181+ "motion-v": ["motion-v@2.3.0", "", { "dependencies": { "framer-motion": "^12.40.0", "hey-listen": "^1.0.8", "motion-dom": "^12.40.0", "motion-utils": "^12.39.0" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "vue": ">=3.0.0" } }, "sha512-J0CCfXtICCni9RjotDUBOs57xNpYI9yyBSohEOxaRHrmjwOtlw291fhRu/mdgEdSasys96R028YDDOAtWBbRaA=="],
2182+
2183+ "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
2184+
2185+ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
2186+
2187+ "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="],
2188+
2189+ "mute-stream": ["mute-stream@3.0.0", "", {}, "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw=="],
2190+
2191+ "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
2192+
2193+ "nanoid": ["nanoid@3.3.17", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g=="],
2194+
2195+ "nanotar": ["nanotar@0.3.0", "", {}, "sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg=="],
2196+
2197+ "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="],
2198+
2199+ "napi-postinstall": ["napi-postinstall@0.3.4", "", { "bin": { "napi-postinstall": "lib/cli.js" } }, "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ=="],
2200+
2201+ "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
2202+
2203+ "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="],
2204+
2205+ "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
2206+
2207+ "netmask": ["netmask@2.1.1", "", {}, "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA=="],
2208+
2209+ "new-github-release-url": ["new-github-release-url@2.0.0", "", { "dependencies": { "type-fest": "^2.5.1" } }, "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ=="],
2210+
2211+ "nitropack": ["nitropack@2.13.4", "", { "dependencies": { "@cloudflare/kv-asset-handler": "^0.4.2", "@rollup/plugin-alias": "^6.0.0", "@rollup/plugin-commonjs": "^29.0.2", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-replace": "^6.0.3", "@rollup/plugin-terser": "^1.0.0", "@vercel/nft": "^1.5.0", "archiver": "^7.0.1", "c12": "^3.3.4", "chokidar": "^5.0.0", "citty": "^0.2.2", "compatx": "^0.2.0", "confbox": "^0.2.4", "consola": "^3.4.2", "cookie-es": "^2.0.1", "croner": "^10.0.1", "crossws": "^0.3.5", "db0": "^0.3.4", "defu": "^6.1.7", "destr": "^2.0.5", "dot-prop": "^10.1.0", "esbuild": "^0.28.0", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.8", "globby": "^16.2.0", "gzip-size": "^7.0.0", "h3": "^1.15.11", "hookable": "^5.5.3", "httpxy": "^0.5.1", "ioredis": "^5.10.1", "jiti": "^2.6.1", "klona": "^2.0.6", "knitwork": "^1.3.0", "listhen": "^1.9.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mime": "^4.1.0", "mlly": "^1.8.2", "node-fetch-native": "^1.6.7", "node-mock-http": "^1.0.4", "ofetch": "^1.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "pretty-bytes": "^7.1.0", "radix3": "^1.1.2", "rollup": "^4.60.2", "rollup-plugin-visualizer": "^7.0.1", "scule": "^1.3.0", "semver": "^7.7.4", "serve-placeholder": "^2.0.2", "serve-static": "^2.2.1", "source-map": "^0.7.6", "std-env": "^4.1.0", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.5.0", "unenv": "2.0.0-rc.24", "unimport": "^6.2.0", "unplugin-utils": "^0.3.1", "unstorage": "^1.17.5", "untyped": "^2.0.0", "unwasm": "^0.5.3", "youch": "^4.1.1", "youch-core": "^0.3.3" }, "peerDependencies": { "xml2js": "^0.6.2" }, "optionalPeers": ["xml2js"], "bin": { "nitro": "dist/cli/index.mjs", "nitropack": "dist/cli/index.mjs" } }, "sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA=="],
2212+
2213+ "node-abi": ["node-abi@3.94.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g=="],
2214+
2215+ "node-emoji": ["node-emoji@2.2.0", "", { "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" } }, "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw=="],
2216+
2217+ "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="],
2218+
2219+ "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="],
2220+
2221+ "node-forge": ["node-forge@1.4.0", "", {}, "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ=="],
2222+
2223+ "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="],
2224+
2225+ "node-mock-http": ["node-mock-http@1.0.5", "", {}, "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw=="],
2226+
2227+ "node-releases": ["node-releases@2.0.53", "", {}, "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ=="],
2228+
2229+ "nopt": ["nopt@8.1.0", "", { "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A=="],
2230+
2231+ "normalize-package-data": ["normalize-package-data@7.0.1", "", { "dependencies": { "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA=="],
2232+
2233+ "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
2234+
2235+ "nostics": ["nostics@1.2.0", "", {}, "sha512-FGqEfhQjrvo1lL8KFifdTQiNwwQHJxC1jtYE1Rc54qF/jxONUNL+kC9gS1krX8Q65PgrQ5fCqH/I4NhWBvdSqg=="],
2236+
2237+ "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="],
2238+
2239+ "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
2240+
2241+ "nuxt": ["nuxt@4.4.8", "", { "dependencies": { "@dxup/nuxt": "^0.4.1", "@nuxt/cli": "^3.35.2", "@nuxt/devtools": "^3.2.4", "@nuxt/kit": "4.4.8", "@nuxt/nitro-server": "4.4.8", "@nuxt/schema": "4.4.8", "@nuxt/telemetry": "^2.8.0", "@nuxt/vite-builder": "4.4.8", "@unhead/vue": "^2.1.15", "@vue/shared": "^3.5.35", "chokidar": "^5.0.0", "compatx": "^0.2.0", "consola": "^3.4.2", "cookie-es": "^3.1.1", "defu": "^6.1.7", "devalue": "^5.8.1", "errx": "^0.1.0", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "hookable": "^6.1.1", "ignore": "^7.0.5", "impound": "^1.1.5", "jiti": "^2.7.0", "klona": "^2.0.6", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "nanotar": "^0.3.0", "nypm": "^0.6.6", "ofetch": "^1.5.1", "ohash": "^2.0.11", "on-change": "^6.0.2", "oxc-minify": "^0.133.0", "oxc-parser": "^0.133.0", "oxc-transform": "^0.133.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "picomatch": "^4.0.4", "pkg-types": "^2.3.1", "rou3": "^0.8.1", "scule": "^1.3.0", "semver": "^7.8.1", "std-env": "^4.1.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.5.0", "unhead": "^2.1.15", "unimport": "^6.3.0", "unplugin": "^3.0.0", "unrouting": "^0.1.7", "untyped": "^2.0.0", "vue": "^3.5.35", "vue-router": "^5.1.0" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", "@types/node": ">=18.12.0" }, "optionalPeers": ["@parcel/watcher", "@types/node"], "bin": { "nuxi": "bin/nuxt.mjs", "nuxt": "bin/nuxt.mjs" } }, "sha512-r/DGE4cNkEDclOw9tbJ18zqu+ix3me+7QCfumPdl5lBXGWgCajskzuq/HzDkHKfIZsn7ACVEjMLRNA2teh++bQ=="],
2242+
2243+ "nuxt-component-meta": ["nuxt-component-meta@0.18.0", "", { "dependencies": { "@nuxt/kit": "^4.4.8", "citty": "^0.2.2", "defu": "^6.1.7", "jiti": "^2.7.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "ohash": "^2.0.11", "oxc-parser": "^0.139.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "scule": "^1.3.0", "typescript": "^5.9.3", "ufo": "^1.6.4", "unplugin": "^2.3.11", "vue-component-meta": "^3.3.7" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-Lo++ctinehNtQvU1SdYdIfYvhUqFtP5nOQsMvbrpFYh53TqwoS97BrS/tjWQe68cfXQaerzhKPFY1Xb1EH4mJg=="],
2244+
2245+ "nuxt-define": ["nuxt-define@1.0.0", "", {}, "sha512-CYZ2WjU+KCyCDVzjYUM4eEpMF0rkPmkpiFrybTqqQCRpUbPt2h3snswWIpFPXTi+osRCY6Og0W/XLAQgDL4FfQ=="],
2246+
2247+ "nuxt-llms": ["nuxt-llms@0.2.0", "", { "dependencies": { "@nuxt/kit": "^4.2.2" } }, "sha512-GoEW00x8zaZ1wS0R0aOYptt3b54JEaRwlyVtuAiQoH51BwYdjN5/3+00/+4wi39M5cT4j5XcnGwOxJ7v4WVb9A=="],
2248+
2249+ "nuxt-og-image": ["nuxt-og-image@6.7.6", "", { "dependencies": { "@clack/prompts": "^1.7.0", "@nuxt/kit": "^4.5.1", "@vue/compiler-sfc": "^3.5.40", "chrome-launcher": "^1.2.1", "consola": "^3.4.2", "defu": "^6.1.7", "devalue": "^5.9.0", "exsolve": "^1.1.1", "fnv1a-64": "^0.1.2", "lightningcss": "^1.33.0", "magic-string": "^1.1.0", "magicast": "^0.5.4", "mocked-exports": "^0.1.1", "nuxt-site-config": "^4.1.4", "nuxtseo-shared": "^5.3.8", "nypm": "^0.6.9", "object-identity": "^0.2.3", "ofetch": "^1.5.1", "ohash": "^2.0.11", "oxc-parser": "^0.142.0", "oxc-walker": "^1.1.1", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "std-env": "^4.2.0", "strip-literal": "^4.0.0", "tinyexec": "^1.3.0", "ufo": "^1.6.4", "ultrahtml": "^1.7.0", "unplugin": "^3.3.0" }, "peerDependencies": { "@resvg/resvg-js": "^2.6.0", "@resvg/resvg-wasm": "^2.6.0", "@takumi-rs/core": "^1.0.0-beta.3 || ^2.0.0", "@takumi-rs/wasm": "^1.0.0-beta.3 || ^2.0.0", "@unhead/vue": "^2.0.5 || ^3.0.0", "@unocss/config": "^66.7.5", "@unocss/core": "^66.7.5", "fontless": "^0.2.0", "nitropack": "^2.13.4", "playwright-core": "^1.50.0", "satori": ">=0.19.2", "sharp": "^0.34.0", "tailwindcss": "^4.0.0", "unifont": "^0.7.0", "unstorage": "^1.15.0", "zod": ">=3" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm", "@takumi-rs/core", "@takumi-rs/wasm", "@unocss/config", "@unocss/core", "fontless", "nitropack", "playwright-core", "satori", "sharp", "tailwindcss", "unifont", "zod"], "bin": { "nuxt-og-image": "./bin/cli.mjs" } }, "sha512-XjqbFnfgQzZQB0rKWxOHhaFJk9RUJrLRK70WuHXVRv556Y9D44LVFb9oFMrgIHy88gB7icySaoAA3rKlYbEJCQ=="],
2250+
2251+ "nuxt-site-config": ["nuxt-site-config@4.2.0", "", { "dependencies": { "@nuxt/devalue": "^2.0.2", "@nuxt/kit": "^4.5.1", "consola": "^3.4.2", "defu": "^6.1.7", "h3": "^1.15.11", "nuxt-site-config-kit": "4.2.0", "nuxtseo-shared": "^5.3.10", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "site-config-stack": "4.2.0", "ufo": "^1.6.4" }, "peerDependencies": { "vue": "^3.5.30" } }, "sha512-Vyb8/ylP1KYuH/IlMTaY0PQgQfqEQZYAi8AQXq0ymTTboexMlLIrF1s17BFIx8jbtI5rrKWCa5xPbHGNtJ34FQ=="],
2252+
2253+ "nuxt-site-config-kit": ["nuxt-site-config-kit@4.2.0", "", { "dependencies": { "@nuxt/kit": "^4.5.1", "site-config-stack": "4.2.0", "std-env": "^4.2.0", "ufo": "^1.6.4" } }, "sha512-5vcDTXMwvFquFf8jesB2CuZOEZtOx7ZrP9RqqF9ZvZgMyCWVYLDSDdbE+/onTXb42AjfaYTb+gwHF3sZ2ZLuGw=="],
2254+
2255+ "nuxt-studio": ["nuxt-studio@1.7.0", "", { "dependencies": { "@ai-sdk/gateway": "^3.0.104", "@ai-sdk/vue": "^3.0.168", "@iconify-json/lucide": "^1.2.102", "@nuxtjs/mdc": "^0.21.1", "@vueuse/core": "^14.2.1", "ai": "^6.0.168", "defu": "^6.1.7", "destr": "^2.0.5", "js-yaml": "^4.1.1", "minimatch": "^10.2.5", "nuxt-component-meta": "^0.17.2", "remark-mdc": "^3.10.0", "shiki": "^4.0.2", "unstorage": "1.17.5", "zod": "^4.3.6", "zod-to-json-schema": "^3.25.2" }, "optionalDependencies": { "ipx": "^3.1.1" } }, "sha512-gIRCLPHaj5EcLOX/D1e1ymdJL7dwkxVI5Jrylrv5vIhPWYjC+vggcp71xO4bsC1i9Y1jfbNRbtidVr5wdT0ckg=="],
2256+
2257+ "nuxtseo-shared": ["nuxtseo-shared@5.3.10", "", { "dependencies": { "@clack/prompts": "^1.7.0", "@nuxt/devtools-kit": "4.0.0-alpha.7", "@nuxt/kit": "^4.5.1", "birpc": "^4.0.0", "consola": "^3.4.2", "defu": "^6.1.7", "nypm": "^0.6.9", "ofetch": "^1.5.1", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "sirv": "^3.0.2", "std-env": "^4.2.0", "ufo": "^1.6.4" }, "peerDependencies": { "@nuxt/schema": "^3.16.0 || ^4.0.0 || ^5.0.0", "nuxt": "^3.16.0 || ^4.0.0 || ^5.0.0", "nuxt-site-config": "^3.2.0 || ^4.0.0", "vue": "^3.5.0", "zod": "^3.23.0 || ^4.0.0" }, "optionalPeers": ["nuxt-site-config", "zod"] }, "sha512-6TduAGz7Kx2ytOpHU6DMXr5voAolq4104D7KZ9EK6I5ABCV+PDrIxB1xeu8OLLYpD/Yf+REFvM+HIIVCqSRCoQ=="],
2258+
2259+ "nypm": ["nypm@0.6.9", "", { "dependencies": { "citty": "^0.2.2", "pathe": "^2.0.3", "tinyexec": "^1.2.4" }, "bin": { "nypm": "./dist/cli.mjs" } }, "sha512-zxlE2yvSWZWmHcNdT3+5zV2lrCogeE9YOklHrR3dFjqutq5wO7GFDYLFDRXLsYnJzwvy/im9fYoxePvS0VTW0w=="],
2260+
2261+ "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
2262+
2263+ "object-deep-merge": ["object-deep-merge@2.0.1", "", {}, "sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg=="],
2264+
2265+ "object-identity": ["object-identity@0.2.3", "", {}, "sha512-2J8Joz2Tf7aaylhqFvIUJHNgpuGR38Hh75Voq9GzTbStBxJUaOtN0K1aOd3cV5qp+ij1pMqRbPrGCGMOyX303w=="],
2266+
2267+ "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="],
2268+
2269+ "obug": ["obug@2.1.4", "", {}, "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA=="],
2270+
2271+ "ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="],
2272+
2273+ "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="],
2274+
2275+ "on-change": ["on-change@6.0.2", "", {}, "sha512-08+12qcOVEA0fS9g/VxKS27HaT94nRutUT77J2dr8zv/unzXopvhBuF8tNLWsoLQ5IgrQ6eptGeGqUYat82U1w=="],
2276+
2277+ "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
2278+
2279+ "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
2280+
2281+ "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="],
2282+
2283+ "oniguruma-parser": ["oniguruma-parser@0.12.2", "", {}, "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw=="],
2284+
2285+ "oniguruma-to-es": ["oniguruma-to-es@4.3.6", "", { "dependencies": { "oniguruma-parser": "^0.12.2", "regex": "^6.1.0", "regex-recursion": "^6.0.2" } }, "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA=="],
2286+
2287+ "open": ["open@11.0.0", "", { "dependencies": { "default-browser": "^5.4.0", "define-lazy-prop": "^3.0.0", "is-in-ssh": "^1.0.0", "is-inside-container": "^1.0.0", "powershell-utils": "^0.1.0", "wsl-utils": "^0.3.0" } }, "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw=="],
2288+
2289+ "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="],
2290+
2291+ "ora": ["ora@9.3.0", "", { "dependencies": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", "cli-spinners": "^3.2.0", "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", "stdin-discarder": "^0.3.1", "string-width": "^8.1.0" } }, "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw=="],
2292+
2293+ "orderedmap": ["orderedmap@2.1.1", "", {}, "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g=="],
2294+
2295+ "os-name": ["os-name@7.0.0", "", { "dependencies": { "macos-release": "^3.4.0", "windows-release": "^7.1.0" } }, "sha512-/HfRU/lPPr4T2VigM+cvM3cU77es+XF4OEAa4aE5zpdvrxHGD2NmH0AFIWpMNAb+CsZL45rlcIO49Re0ZcRseg=="],
2296+
2297+ "oxc-minify": ["oxc-minify@0.133.0", "", { "optionalDependencies": { "@oxc-minify/binding-android-arm-eabi": "0.133.0", "@oxc-minify/binding-android-arm64": "0.133.0", "@oxc-minify/binding-darwin-arm64": "0.133.0", "@oxc-minify/binding-darwin-x64": "0.133.0", "@oxc-minify/binding-freebsd-x64": "0.133.0", "@oxc-minify/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-minify/binding-linux-arm-musleabihf": "0.133.0", "@oxc-minify/binding-linux-arm64-gnu": "0.133.0", "@oxc-minify/binding-linux-arm64-musl": "0.133.0", "@oxc-minify/binding-linux-ppc64-gnu": "0.133.0", "@oxc-minify/binding-linux-riscv64-gnu": "0.133.0", "@oxc-minify/binding-linux-riscv64-musl": "0.133.0", "@oxc-minify/binding-linux-s390x-gnu": "0.133.0", "@oxc-minify/binding-linux-x64-gnu": "0.133.0", "@oxc-minify/binding-linux-x64-musl": "0.133.0", "@oxc-minify/binding-openharmony-arm64": "0.133.0", "@oxc-minify/binding-wasm32-wasi": "0.133.0", "@oxc-minify/binding-win32-arm64-msvc": "0.133.0", "@oxc-minify/binding-win32-ia32-msvc": "0.133.0", "@oxc-minify/binding-win32-x64-msvc": "0.133.0" } }, "sha512-6bNsYU+5WNIaNHB16zHnL24cUaJuKiPzUvjENoMale3+U8ZBMbGYgdgt//frx0ge7UcgEGIpqtukGGNPT0kxfQ=="],
2298+
2299+ "oxc-parser": ["oxc-parser@0.133.0", "", { "dependencies": { "@oxc-project/types": "^0.133.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.133.0", "@oxc-parser/binding-android-arm64": "0.133.0", "@oxc-parser/binding-darwin-arm64": "0.133.0", "@oxc-parser/binding-darwin-x64": "0.133.0", "@oxc-parser/binding-freebsd-x64": "0.133.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.133.0", "@oxc-parser/binding-linux-arm64-gnu": "0.133.0", "@oxc-parser/binding-linux-arm64-musl": "0.133.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.133.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.133.0", "@oxc-parser/binding-linux-riscv64-musl": "0.133.0", "@oxc-parser/binding-linux-s390x-gnu": "0.133.0", "@oxc-parser/binding-linux-x64-gnu": "0.133.0", "@oxc-parser/binding-linux-x64-musl": "0.133.0", "@oxc-parser/binding-openharmony-arm64": "0.133.0", "@oxc-parser/binding-wasm32-wasi": "0.133.0", "@oxc-parser/binding-win32-arm64-msvc": "0.133.0", "@oxc-parser/binding-win32-ia32-msvc": "0.133.0", "@oxc-parser/binding-win32-x64-msvc": "0.133.0" } }, "sha512-661RSx+ZcjBmjBYid+Fpp/2F5EbtildpeoZh5HdgnGs+jZ03nqQEQW8yGkt4BGyOC3OMPDQQRl8M5kqD2/g6jw=="],
2300+
2301+ "oxc-transform": ["oxc-transform@0.133.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.133.0", "@oxc-transform/binding-android-arm64": "0.133.0", "@oxc-transform/binding-darwin-arm64": "0.133.0", "@oxc-transform/binding-darwin-x64": "0.133.0", "@oxc-transform/binding-freebsd-x64": "0.133.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.133.0", "@oxc-transform/binding-linux-arm64-gnu": "0.133.0", "@oxc-transform/binding-linux-arm64-musl": "0.133.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.133.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.133.0", "@oxc-transform/binding-linux-riscv64-musl": "0.133.0", "@oxc-transform/binding-linux-s390x-gnu": "0.133.0", "@oxc-transform/binding-linux-x64-gnu": "0.133.0", "@oxc-transform/binding-linux-x64-musl": "0.133.0", "@oxc-transform/binding-openharmony-arm64": "0.133.0", "@oxc-transform/binding-wasm32-wasi": "0.133.0", "@oxc-transform/binding-win32-arm64-msvc": "0.133.0", "@oxc-transform/binding-win32-ia32-msvc": "0.133.0", "@oxc-transform/binding-win32-x64-msvc": "0.133.0" } }, "sha512-9lt2b+hkG6yqe0fUDMHhMk7rgI9uTjNxU9wauQiYnHzc4kZI8JP/OhBqXTIJQTrqRJ8CkSH3O5AhQ13ke28yNg=="],
2302+
2303+ "oxc-walker": ["oxc-walker@1.1.1", "", { "peerDependencies": { "@oxc-project/types": ">=0.98.0", "oxc-parser": ">=0.98.0", "rolldown": ">=1.0.0" }, "optionalPeers": ["@oxc-project/types", "oxc-parser", "rolldown"] }, "sha512-Hwd7dq28zu/Er99+bpWp16CGwFrhyalJh0W3JOB7XpPvgWo3MqMi2ksWGKuzzA9zt50mJ2pIUwR5lpAdZ9ACNQ=="],
2304+
2305+ "p-event": ["p-event@6.0.1", "", { "dependencies": { "p-timeout": "^6.1.2" } }, "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w=="],
2306+
2307+ "p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="],
2308+
2309+ "p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="],
2310+
2311+ "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="],
2312+
2313+ "pac-proxy-agent": ["pac-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "get-uri": "7.0.0", "http-proxy-agent": "8.0.0", "https-proxy-agent": "8.0.0", "pac-resolver": "8.0.0", "quickjs-wasi": "^0.0.1", "socks-proxy-agent": "9.0.0" } }, "sha512-HyCoVbyQ/nbVlQ/R6wBu0YXhbG2oAnEK5BQ3xMyj1OffQmU5NoOnpLzgPlKHaobUzz5NK0+AZHby4TdydAEBUA=="],
2314+
2315+ "pac-resolver": ["pac-resolver@8.0.0", "", { "dependencies": { "degenerator": "6.0.0", "netmask": "^2.0.2" }, "peerDependencies": { "quickjs-wasi": "^0.0.1" } }, "sha512-SVNzOxVq2zuTew3WAt7U8UghwzJzuWYuJryd3y8FxyLTZdjVoCzY8kLP39PpEqQCDvlMWdQXwViu0sYT3eiU2w=="],
2316+
2317+ "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
2318+
2319+ "package-manager-detector": ["package-manager-detector@1.8.0", "", {}, "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A=="],
2320+
2321+ "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="],
2322+
2323+ "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="],
2324+
2325+ "parse-imports-exports": ["parse-imports-exports@0.2.4", "", { "dependencies": { "parse-statements": "1.0.11" } }, "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ=="],
2326+
2327+ "parse-path": ["parse-path@7.1.0", "", { "dependencies": { "protocols": "^2.0.0" } }, "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw=="],
2328+
2329+ "parse-statements": ["parse-statements@1.0.11", "", {}, "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA=="],
2330+
2331+ "parse-url": ["parse-url@9.2.0", "", { "dependencies": { "@types/parse-path": "^7.0.0", "parse-path": "^7.0.0" } }, "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ=="],
2332+
2333+ "parse5": ["parse5@8.0.1", "", { "dependencies": { "entities": "^8.0.0" } }, "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw=="],
2334+
2335+ "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="],
2336+
2337+ "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="],
2338+
2339+ "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="],
2340+
2341+ "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="],
2342+
2343+ "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
2344+
2345+ "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
2346+
2347+ "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
2348+
2349+ "path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="],
2350+
2351+ "path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="],
2352+
2353+ "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
2354+
2355+ "perfect-debounce": ["perfect-debounce@2.1.0", "", {}, "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g=="],
2356+
2357+ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
2358+
2359+ "picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="],
2360+
2361+ "pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
2362+
2363+ "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="],
2364+
2365+ "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="],
2366+
2367+ "pkg-types": ["pkg-types@2.3.1", "", { "dependencies": { "confbox": "^0.2.4", "exsolve": "^1.0.8", "pathe": "^2.0.3" } }, "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg=="],
2368+
2369+ "playground": ["playground@workspace:playground"],
2370+
2371+ "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
2372+
2373+ "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
2374+
2375+ "postcss": ["postcss@8.5.26", "", { "dependencies": { "nanoid": "^3.3.17", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ=="],
2376+
2377+ "postcss-calc": ["postcss-calc@10.1.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.38" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="],
2378+
2379+ "postcss-colormin": ["postcss-colormin@8.0.2", "", { "dependencies": { "@colordx/core": "^5.5.0", "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3puH3etbn8GPaJuF8OybCdUW6PJO0KU9ZnsaA/1VG9HU0Wdrf94dOTQkbQnA8/qkYdPjwHzcWvzUGXIeawBa0w=="],
2380+
2381+ "postcss-convert-values": ["postcss-convert-values@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-KA6VVp93xASmDI0HWgRQ7938XR20hZEVL525YCbcTVsuxn4BNxs+ge4wLNow+ay+uqPuy3uEh51zhjfI92uN4w=="],
2382+
2383+ "postcss-discard-comments": ["postcss-discard-comments@8.0.2", "", { "dependencies": { "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-tQk36szZkG9ngZM9bKrUp3hM2SxdclYJVnMtAMKyi0RqY7IQpx67TJ3+0thRMV47niKBw9Y/1auGkBeCfPC97A=="],
2384+
2385+ "postcss-discard-duplicates": ["postcss-discard-duplicates@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-Y2IDdRqvnpzsOH5ZLcJnvh/Eiye8O3r6uO7oFTe3YuFfrat3xQRDPjTVohRmi8RWuOIq2rGjva1n4Adus4pljw=="],
2386+
2387+ "postcss-discard-empty": ["postcss-discard-empty@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-fGHTnqg2S4fBudyd+tCE+qT57R4YRUaYLannCrKYsE8u/rCMGCBMPwIM4jcNWJLP5vMEBitGrXa5mGB7VKA+Eg=="],
2388+
2389+ "postcss-discard-overridden": ["postcss-discard-overridden@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-a9Dvv5ccOI7P94oCaeytj4FCSsHiXyH8KwXQorU/GJWDRvwFMY9yUs4uPKSG2HBSGtR49xo3ieml6F1EQCJtZA=="],
2390+
2391+ "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="],
2392+
2393+ "postcss-merge-longhand": ["postcss-merge-longhand@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^8.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-iN1JQ21vKd3ZdbHmj69lqOwaWiFvxlXVQ5EeH/sw5M3TqI1sFR28G4yleAcNkMwB55E6qGRRVR3lem+ZJazmoQ=="],
2394+
2395+ "postcss-merge-rules": ["postcss-merge-rules@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "cssnano-utils": "^6.0.2", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ipELN1m3k/GLGD+wmYHtiEVE2TMW5OKm4CgSRqYDeDz1ZX89AbeUCoeos0dUdTcpMilSa+zIRwvD78U3Uv/1BA=="],
2396+
2397+ "postcss-minify-font-values": ["postcss-minify-font-values@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-T6oURfdYH/BtXLLN/biomuY1hSYSGbfRyLyxQ+7+VCRw7Zj1ROpRwHpaX2PP/rpmT/0yHaGIVUNShmanvm3PXw=="],
2398+
2399+ "postcss-minify-gradients": ["postcss-minify-gradients@8.0.2", "", { "dependencies": { "@colordx/core": "^5.5.0", "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-s49jAcFm5eF7GLLU0+28e4mQc/vISBMtu+1gQbq/Uf7+w155G8nbItaQp5NYY7QsYerpj2qvtNkYN25gZWWYdw=="],
2400+
2401+ "postcss-minify-params": ["postcss-minify-params@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ifaU795JsBddkffWbTOXl8ubUyBqpNiLS8xjqKmE/Sw9AOpjWG2uFPfpEv3AZPXWNkWJf8kGvW9wLHImEUJUkA=="],
2402+
2403+ "postcss-minify-selectors": ["postcss-minify-selectors@8.0.3", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "cssesc": "^3.0.0", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3WchKL9xoA80/jNkRcimRGIc9mP6sHPQUY/1WzV+GbF69I/upieyaKzZcIdQzf9cBmCJ6vjxi+NrKqCojoOb7Q=="],
2404+
2405+ "postcss-normalize-charset": ["postcss-normalize-charset@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-iy3/b+gX+dHfbNZq/4rfThbMAqxhneBJEhS71y5toliav5rLowkZ6g0ZJGymXRZytDOt/u+fRSFkNJLkRPYaug=="],
2406+
2407+ "postcss-normalize-display-values": ["postcss-normalize-display-values@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-T6Az9mgc7FUWvI6mK0uOsItT6csep7fdLtDSRC2XBMTCvrQmtYiz86T5hEM6sfAkZVVhfrALPhdPxJWVoNAktw=="],
2408+
2409+ "postcss-normalize-positions": ["postcss-normalize-positions@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-BBg188AxYLC86LDEnkbQTcdnZugP2vDwYQQDV+Htju2gpTqM2a3o/oQ91/h9+j0277InjNgrI7l1LDDRrlWQ5w=="],
2410+
2411+ "postcss-normalize-repeat-style": ["postcss-normalize-repeat-style@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-6mbVJzuogwcAHMd6MMpmAMcc3BkleOcY2xazCp+HCMiod78tx7rdOrufTrPYGjBLaTjkgNUr8KCkLHj8mfH6WQ=="],
2412+
2413+ "postcss-normalize-string": ["postcss-normalize-string@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-8UK2KJSChlv7V12QgWTWtbRzzZcki/f21e8egMlFHTE9rEBCCyLo60rcY3mh77cDZhrBSIfKM9ciOsU6249nbA=="],
2414+
2415+ "postcss-normalize-timing-functions": ["postcss-normalize-timing-functions@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-C2OyYiEMKjCxA0m+QJ5SeMf12OenIIGqrXEuWizEunZZP+s5TRq1aT8naxqr/8rytSRqD4SwH4mywc9G44u4cw=="],
2416+
2417+ "postcss-normalize-unicode": ["postcss-normalize-unicode@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ttWq9oM88gSPpfspoZB49r/lv1fvjOadi79E/4BxGVt0rughnNDdTnDLmWj+epOjS6iKhmse3kbNcISR6Jl+3A=="],
2418+
2419+ "postcss-normalize-url": ["postcss-normalize-url@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-PvSiaJOQpP0AW5GSHrWZXupfhUgLUtS1MubJX+wPwh6RZZP6CHnZQy/S8uX2vvHMd57qIZ44Sb/37rFMiAWPfA=="],
2420+
2421+ "postcss-normalize-whitespace": ["postcss-normalize-whitespace@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-Fipz8bjy96XPmtMPsqbGw3fypbS+aOHJfpTzfQY9z0lDYFqqGIqYWwrfsi2ZOv7B86pY81vQGJ6mSHWvTXDV7g=="],
2422+
2423+ "postcss-ordered-values": ["postcss-ordered-values@8.0.2", "", { "dependencies": { "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-LBqMGd6Bam4TVp9dKui01o0prWtsGfPP+WtENunNs3L9oi+t75uPyEmzzaimxinmGgeiFLix9xLI0FfD+qedjw=="],
2424+
2425+ "postcss-reduce-initial": ["postcss-reduce-initial@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-+612lhSpyp1g4ZU0zQKwmdHnAi8LevMpzvQuP2RVhq+EUWqAwwUMk03OQEfzy+es9OSdRTuy5ugnFeEeOiIe2A=="],
2426+
2427+ "postcss-reduce-transforms": ["postcss-reduce-transforms@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-7D2vDXJ2HBNQpbiw5dY9UyLfBRCGRBjV0ChMqHdHghFsjAH3hIIUgb/rE+e77LFiT8VjXUK2fZh3omG4R96n8A=="],
2428+
2429+ "postcss-selector-parser": ["postcss-selector-parser@7.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg=="],
2430+
2431+ "postcss-svgo": ["postcss-svgo@8.0.3", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^4.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ADG8YNtwE5bcqvxw1gU0X7FkgdvinZZxWKHSCMwayX7gPl4XRmBMyiC84Ukal5bPS9Nk/2tI7siJwqxIN4/grg=="],
2432+
2433+ "postcss-unique-selectors": ["postcss-unique-selectors@8.0.2", "", { "dependencies": { "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-cIftRB4rW3UCqnQjFAS6WlUzragjsU2AtMzWDdDQKTMjgPh1rO8qYgnoYqkUgRXKnxd3902laOWbkkYO/GYEHw=="],
2434+
2435+ "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="],
2436+
2437+ "powershell-utils": ["powershell-utils@0.1.0", "", {}, "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A=="],
2438+
2439+ "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="],
2440+
2441+ "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
2442+
2443+ "pretty-bytes": ["pretty-bytes@7.1.1", "", {}, "sha512-X+vn9z8nOFZQlxOLmfJ0iKDdMD7jYTsTW12OAlCpdoE3Igik6L37pugIZi+N3usuyp5McfgKPWi12q3zvHLeGQ=="],
2444+
2445+ "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="],
2446+
2447+ "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="],
2448+
2449+ "proper-lockfile": ["proper-lockfile@4.1.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" } }, "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA=="],
2450+
2451+ "property-information": ["property-information@7.2.0", "", {}, "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg=="],
2452+
2453+ "prosemirror-changeset": ["prosemirror-changeset@2.4.1", "", { "dependencies": { "prosemirror-transform": "^1.0.0" } }, "sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw=="],
2454+
2455+ "prosemirror-commands": ["prosemirror-commands@1.7.2", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.10.2" } }, "sha512-q6Q6szxqdu9Xd6EcdKsqXghu5nQdZTpB4Q9yd04WRc7/jt763e/rT60Owh0L1GYY+T46o5rD+9lEN36dZS43tw=="],
2456+
2457+ "prosemirror-dropcursor": ["prosemirror-dropcursor@1.8.3", "", { "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0", "prosemirror-view": "^1.1.0" } }, "sha512-FoYbsJR8gK+DGlqhNoE29Loa38eIZPzQRIb1VMaDNBoo4OLP6vVof/jR8qFY/6XvUd6Dhug8MDCHl2a/h8RTfQ=="],
2458+
2459+ "prosemirror-gapcursor": ["prosemirror-gapcursor@1.4.1", "", { "dependencies": { "prosemirror-keymap": "^1.0.0", "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-view": "^1.0.0" } }, "sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw=="],
2460+
2461+ "prosemirror-history": ["prosemirror-history@1.5.0", "", { "dependencies": { "prosemirror-state": "^1.2.2", "prosemirror-transform": "^1.0.0", "prosemirror-view": "^1.31.0", "rope-sequence": "^1.3.0" } }, "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg=="],
2462+
2463+ "prosemirror-inputrules": ["prosemirror-inputrules@1.5.1", "", { "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw=="],
2464+
2465+ "prosemirror-keymap": ["prosemirror-keymap@1.2.3", "", { "dependencies": { "prosemirror-state": "^1.0.0", "w3c-keyname": "^2.2.0" } }, "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw=="],
2466+
2467+ "prosemirror-model": ["prosemirror-model@1.25.11", "", { "dependencies": { "orderedmap": "^2.0.0" } }, "sha512-QWg9RhnpLlogAmp3p96uEFrE5txQpFynd4vhBAELkwgOCWQs/X0yCzB3/hrHqiPwf91RG5KyWq6553zs9JqIOQ=="],
2468+
2469+ "prosemirror-schema-list": ["prosemirror-schema-list@1.5.1", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.7.3" } }, "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q=="],
2470+
2471+ "prosemirror-state": ["prosemirror-state@1.4.4", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-transform": "^1.0.0", "prosemirror-view": "^1.27.0" } }, "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw=="],
2472+
2473+ "prosemirror-tables": ["prosemirror-tables@1.8.5", "", { "dependencies": { "prosemirror-keymap": "^1.2.3", "prosemirror-model": "^1.25.4", "prosemirror-state": "^1.4.4", "prosemirror-transform": "^1.10.5", "prosemirror-view": "^1.41.4" } }, "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw=="],
2474+
2475+ "prosemirror-transform": ["prosemirror-transform@1.12.0", "", { "dependencies": { "prosemirror-model": "^1.21.0" } }, "sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w=="],
2476+
2477+ "prosemirror-view": ["prosemirror-view@1.42.2", "", { "dependencies": { "prosemirror-model": "^1.25.8", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0" } }, "sha512-Pdg0l5kXm8aLDquFAnQFTCITg0q44sLqBlHlpsVLD9segdOao8TOfQdAhCrCXyVgPSRr6UDDROOIWA3bIrN9YQ=="],
2478+
2479+ "protocols": ["protocols@2.0.2", "", {}, "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ=="],
2480+
2481+ "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="],
2482+
2483+ "proxy-agent": ["proxy-agent@7.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "http-proxy-agent": "8.0.0", "https-proxy-agent": "8.0.0", "lru-cache": "^7.14.1", "pac-proxy-agent": "8.0.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "9.0.0" } }, "sha512-okTgt79rHTvMHkr/Ney5rZpgCHh3g1g3tI5uhkgN5b7OeI3n0Q/ui1uv9OdrnZNJM9WIZJqZPh/UJs+YtO/TMQ=="],
2484+
2485+ "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
2486+
2487+ "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="],
2488+
2489+ "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
2490+
2491+ "punycode.js": ["punycode.js@2.3.1", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="],
2492+
2493+ "qs": ["qs@6.15.3", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A=="],
2494+
2495+ "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="],
2496+
2497+ "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
2498+
2499+ "quickjs-wasi": ["quickjs-wasi@0.0.1", "", {}, "sha512-fBWNLTBkxkLAhe1AzF1hyXEvuA+N+vV1WMP2D6iiMUblvmOt8Pp5t8zUcgvz7aYA1ldUdxDlgUse15dmcKjkNg=="],
2500+
2501+ "quote-js-string": ["quote-js-string@0.1.0", "", {}, "sha512-Y3NoRtprEEZQD8RfxMCfS0ZTqc4e+i18OrXEXAvpM6TfC/3y+0L5rNbZiSnbBBEkDfFzbpd8o+cE8q3/anjMGA=="],
2502+
2503+ "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="],
2504+
2505+ "range-parser": ["range-parser@1.3.0", "", {}, "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw=="],
2506+
2507+ "raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="],
2508+
2509+ "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="],
2510+
2511+ "rc9": ["rc9@3.0.1", "", { "dependencies": { "defu": "^6.1.6", "destr": "^2.0.5" } }, "sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ=="],
2512+
2513+ "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
2514+
2515+ "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="],
2516+
2517+ "readdirp": ["readdirp@5.1.1", "", {}, "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA=="],
2518+
2519+ "redis-errors": ["redis-errors@1.2.0", "", {}, "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="],
2520+
2521+ "redis-parser": ["redis-parser@3.0.0", "", { "dependencies": { "redis-errors": "^1.0.0" } }, "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A=="],
2522+
2523+ "refa": ["refa@0.12.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0" } }, "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g=="],
2524+
2525+ "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="],
2526+
2527+ "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="],
2528+
2529+ "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="],
2530+
2531+ "regexp-ast-analysis": ["regexp-ast-analysis@0.7.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0", "refa": "^0.12.1" } }, "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A=="],
2532+
2533+ "regexp-tree": ["regexp-tree@0.1.27", "", { "bin": { "regexp-tree": "bin/regexp-tree" } }, "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA=="],
2534+
2535+ "regjsparser": ["regjsparser@0.13.2", "", { "dependencies": { "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ=="],
2536+
2537+ "rehype-external-links": ["rehype-external-links@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-is-element": "^3.0.0", "is-absolute-url": "^4.0.0", "space-separated-tokens": "^2.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw=="],
2538+
2539+ "rehype-minify-whitespace": ["rehype-minify-whitespace@6.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0" } }, "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw=="],
2540+
2541+ "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="],
2542+
2543+ "rehype-remark": ["rehype-remark@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "hast-util-to-mdast": "^10.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ=="],
2544+
2545+ "rehype-slug": ["rehype-slug@6.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "github-slugger": "^2.0.0", "hast-util-heading-rank": "^3.0.0", "hast-util-to-string": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A=="],
2546+
2547+ "rehype-sort-attribute-values": ["rehype-sort-attribute-values@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-lU3ABJO5frbUgV132YS6SL7EISf//irIm9KFMaeu5ixHfgWf6jhe+09Uf/Ef8pOYUJWKOaQJDRJGCXs6cNsdsQ=="],
2548+
2549+ "rehype-sort-attributes": ["rehype-sort-attributes@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Bxo+AKUIELcnnAZwJDt5zUDDRpt4uzhfz9d0PVGhcxYWsbFj5Cv35xuWxu5r1LeYNFNhgGqsr9Q2QiIOM/Qctg=="],
2550+
2551+ "reka-ui": ["reka-ui@2.10.1", "", { "dependencies": { "@floating-ui/dom": "^1.6.13", "@floating-ui/vue": "^1.1.6", "@internationalized/date": "^3.5.0", "@internationalized/number": "^3.5.0", "@tanstack/vue-virtual": "^3.12.0", "@vueuse/core": "^14.1.0", "@vueuse/shared": "^14.1.0", "aria-hidden": "^1.2.4", "defu": "^6.1.5", "ohash": "^2.0.11" }, "peerDependencies": { "vue": ">= 3.4.0" } }, "sha512-drcOQ4rQtDYAcGCsyQBqQg8QQ+H3B+zDaMJU0h8KPEPMa7g9BHu3zcOi4OB39XJSWizceFoNO0Z9tctSGLOXqg=="],
2552+
2553+ "release-it": ["release-it@20.2.1", "", { "dependencies": { "@inquirer/prompts": "8.4.2", "@octokit/rest": "22.0.1", "@phun-ky/typeof": "2.0.3", "async-retry": "1.3.3", "c12": "3.3.3", "ci-info": "^4.4.0", "defu": "^6.1.7", "eta": "4.5.1", "git-url-parse": "16.1.0", "issue-parser": "7.0.1", "lodash.merge": "4.6.2", "mime-types": "3.0.2", "new-github-release-url": "2.0.0", "open": "11.0.0", "ora": "9.3.0", "os-name": "7.0.0", "proxy-agent": "7.0.0", "semver": "7.7.4", "tinyglobby": "0.2.15", "undici": "7.28.0", "url-join": "5.0.0", "wildcard-match": "5.1.4", "yargs-parser": "22.0.0" }, "bin": { "release-it": "bin/release-it.js" } }, "sha512-xd0mqTGduwQlEzVBKOJcoVZxDrRLzjmFv3W8tWwkPIPDYtwYBWYjULiSk6VhfuGKocfz7GmptAqViKMQV4Zzbw=="],
2554+
2555+ "remark-emoji": ["remark-emoji@5.0.2", "", { "dependencies": { "@types/mdast": "^4.0.4", "emoticon": "^4.0.1", "mdast-util-find-and-replace": "^3.0.1", "node-emoji": "^2.1.3", "unified": "^11.0.4" } }, "sha512-IyIqGELcyK5AVdLFafoiNww+Eaw/F+rGrNSXoKucjo95uL267zrddgxGM83GN1wFIb68pyDuAsY3m5t2Cav1pQ=="],
2556+
2557+ "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="],
2558+
2559+ "remark-mdc": ["remark-mdc@3.11.1", "", { "dependencies": { "@types/mdast": "^4.0.4", "@types/unist": "^3.0.3", "flat": "^6.0.1", "mdast-util-from-markdown": "^2.0.3", "mdast-util-to-markdown": "^2.1.2", "micromark": "^4.0.2", "micromark-core-commonmark": "^2.0.3", "micromark-factory-space": "^2.0.1", "micromark-factory-whitespace": "^2.0.1", "micromark-util-character": "^2.1.1", "micromark-util-types": "^2.0.2", "parse-entities": "^4.0.2", "scule": "^1.3.0", "stringify-entities": "^4.0.4", "unified": "^11.0.5", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "yaml": "^2.9.0" } }, "sha512-bjH7Q1OO1BSXVPmUxYIrGH2dUAZkizNY3i9WJUEcIFLowZAEjLTT7fUAH2vH0Tpkeh+/MrzwFFmeWcZ66QLh7A=="],
2560+
2561+ "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="],
2562+
2563+ "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="],
2564+
2565+ "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="],
2566+
2567+ "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
2568+
2569+ "reserved-identifiers": ["reserved-identifiers@1.2.0", "", {}, "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw=="],
2570+
2571+ "resolve": ["resolve@1.22.12", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA=="],
2572+
2573+ "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
2574+
2575+ "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
2576+
2577+ "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="],
2578+
2579+ "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="],
2580+
2581+ "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
2582+
2583+ "rollup": ["rollup@4.62.4", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@napi-rs/lzma-linux-x64-gnu": "1.5.1", "@rollup/rollup-android-arm-eabi": "4.62.4", "@rollup/rollup-android-arm64": "4.62.4", "@rollup/rollup-darwin-arm64": "4.62.4", "@rollup/rollup-darwin-x64": "4.62.4", "@rollup/rollup-freebsd-arm64": "4.62.4", "@rollup/rollup-freebsd-x64": "4.62.4", "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", "@rollup/rollup-linux-arm-musleabihf": "4.62.4", "@rollup/rollup-linux-arm64-gnu": "4.62.4", "@rollup/rollup-linux-arm64-musl": "4.62.4", "@rollup/rollup-linux-loong64-gnu": "4.62.4", "@rollup/rollup-linux-loong64-musl": "4.62.4", "@rollup/rollup-linux-ppc64-gnu": "4.62.4", "@rollup/rollup-linux-ppc64-musl": "4.62.4", "@rollup/rollup-linux-riscv64-gnu": "4.62.4", "@rollup/rollup-linux-riscv64-musl": "4.62.4", "@rollup/rollup-linux-s390x-gnu": "4.62.4", "@rollup/rollup-linux-x64-gnu": "4.62.4", "@rollup/rollup-linux-x64-musl": "4.62.4", "@rollup/rollup-openbsd-x64": "4.62.4", "@rollup/rollup-openharmony-arm64": "4.62.4", "@rollup/rollup-win32-arm64-msvc": "4.62.4", "@rollup/rollup-win32-ia32-msvc": "4.62.4", "@rollup/rollup-win32-x64-gnu": "4.62.4", "@rollup/rollup-win32-x64-msvc": "4.62.4", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg=="],
2584+
2585+ "rollup-plugin-visualizer": ["rollup-plugin-visualizer@7.0.1", "", { "dependencies": { "open": "^11.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^18.0.0" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta || ^1.0.0-rc", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg=="],
2586+
2587+ "rope-sequence": ["rope-sequence@1.3.4", "", {}, "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ=="],
2588+
2589+ "rou3": ["rou3@0.8.1", "", {}, "sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA=="],
2590+
2591+ "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="],
2592+
2593+ "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="],
2594+
2595+ "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
2596+
2597+ "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
2598+
2599+ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
2600+
2601+ "sax": ["sax@1.6.1", "", {}, "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q=="],
2602+
2603+ "scslre": ["scslre@0.3.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0", "refa": "^0.12.0", "regexp-ast-analysis": "^0.7.0" } }, "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ=="],
2604+
2605+ "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="],
2606+
2607+ "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="],
2608+
2609+ "send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="],
2610+
2611+ "serialize-javascript": ["serialize-javascript@7.0.7", "", {}, "sha512-YAy8Od6KV+uuwUuU50np8fGB/Aues6Y0nAhA9y/hId74PlKUcme4pXcBD46NWKr1Q4osN/iseZ17YqO1XfmI8g=="],
2612+
2613+ "seroval": ["seroval@1.6.2", "", {}, "sha512-mPT+SD2TrlB6wvte1KkYOYUkubaTbd6pZ/6Kk3C9nxzrHmCZyhxOO7XGAeL7f+yLKZglzGtM9odUVvg/EhO+vQ=="],
2614+
2615+ "serve-placeholder": ["serve-placeholder@2.0.2", "", { "dependencies": { "defu": "^6.1.4" } }, "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ=="],
2616+
2617+ "serve-static": ["serve-static@2.2.1", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="],
2618+
2619+ "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="],
2620+
2621+ "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
2622+
2623+ "sha.js": ["sha.js@2.4.12", "", { "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.0" }, "bin": { "sha.js": "bin.js" } }, "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w=="],
2624+
2625+ "sharp": ["sharp@0.35.3", "", { "dependencies": { "@img/colour": "^1.1.0", "detect-libc": "^2.1.2", "semver": "^7.8.5" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.35.3", "@img/sharp-darwin-x64": "0.35.3", "@img/sharp-freebsd-wasm32": "0.35.3", "@img/sharp-libvips-darwin-arm64": "1.3.2", "@img/sharp-libvips-darwin-x64": "1.3.2", "@img/sharp-libvips-linux-arm": "1.3.2", "@img/sharp-libvips-linux-arm64": "1.3.2", "@img/sharp-libvips-linux-ppc64": "1.3.2", "@img/sharp-libvips-linux-riscv64": "1.3.2", "@img/sharp-libvips-linux-s390x": "1.3.2", "@img/sharp-libvips-linux-x64": "1.3.2", "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", "@img/sharp-libvips-linuxmusl-x64": "1.3.2", "@img/sharp-linux-arm": "0.35.3", "@img/sharp-linux-arm64": "0.35.3", "@img/sharp-linux-ppc64": "0.35.3", "@img/sharp-linux-riscv64": "0.35.3", "@img/sharp-linux-s390x": "0.35.3", "@img/sharp-linux-x64": "0.35.3", "@img/sharp-linuxmusl-arm64": "0.35.3", "@img/sharp-linuxmusl-x64": "0.35.3", "@img/sharp-webcontainers-wasm32": "0.35.3", "@img/sharp-win32-arm64": "0.35.3", "@img/sharp-win32-ia32": "0.35.3", "@img/sharp-win32-x64": "0.35.3" } }, "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q=="],
2626+
2627+ "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
2628+
2629+ "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
2630+
2631+ "shell-quote": ["shell-quote@1.10.0", "", {}, "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA=="],
2632+
2633+ "shiki": ["shiki@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/engine-javascript": "4.4.2", "@shikijs/engine-oniguruma": "4.4.2", "@shikijs/langs": "4.4.2", "@shikijs/themes": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-P8F/dFhRevaw2uSdeIYlq/5SXZNY85DPtmXQ947gD1Zj2JqO5AkNvVVBar0Me9JkFx3uzVud/qOtP5ek9NEQGA=="],
2634+
2635+ "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="],
2636+
2637+ "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="],
2638+
2639+ "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="],
2640+
2641+ "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
2642+
2643+ "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
2644+
2645+ "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="],
2646+
2647+ "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="],
2648+
2649+ "simple-git": ["simple-git@3.36.0", "", { "dependencies": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", "@simple-git/args-pathspec": "^1.0.3", "@simple-git/argv-parser": "^1.1.0", "debug": "^4.4.0" } }, "sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q=="],
2650+
2651+ "sirv": ["sirv@3.0.2", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="],
2652+
2653+ "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
2654+
2655+ "site-config-stack": ["site-config-stack@4.2.0", "", { "dependencies": { "ufo": "^1.6.4" }, "peerDependencies": { "vue": "^3.5.30" } }, "sha512-clV6zAwnsl/xQJCYE+Z/QHciPZ5DP5B3L0s7plOJ92ro8kIe6D/UZlX8JGZC1E18CUeyeJTKBcFWNIRZxSdUJw=="],
2656+
2657+ "skin-tone": ["skin-tone@2.0.0", "", { "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" } }, "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA=="],
2658+
2659+ "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="],
2660+
2661+ "slugify": ["slugify@1.6.9", "", {}, "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg=="],
2662+
2663+ "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],
2664+
2665+ "smob": ["smob@1.6.2", "", {}, "sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw=="],
2666+
2667+ "socket.io-client": ["socket.io-client@4.8.3", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" } }, "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g=="],
2668+
2669+ "socket.io-parser": ["socket.io-parser@4.2.7", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1" } }, "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg=="],
2670+
2671+ "socks": ["socks@2.8.9", "", { "dependencies": { "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" } }, "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw=="],
2672+
2673+ "socks-proxy-agent": ["socks-proxy-agent@9.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-fFlbMlfsXhK02ZB8aZY7Hwxh/IHBV9b1Oq9bvBk6tkFWXvdAxUgA0wbw/NYR5liU3Y5+KI6U4FH3kYJt9QYv0w=="],
2674+
2675+ "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="],
2676+
2677+ "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
2678+
2679+ "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
2680+
2681+ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="],
2682+
2683+ "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="],
2684+
2685+ "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="],
2686+
2687+ "spdx-expression-parse": ["spdx-expression-parse@5.0.0", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ=="],
2688+
2689+ "spdx-license-ids": ["spdx-license-ids@3.0.23", "", {}, "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw=="],
2690+
2691+ "srvx": ["srvx@0.11.22", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ=="],
2692+
2693+ "stable-hash-x": ["stable-hash-x@0.2.0", "", {}, "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ=="],
2694+
2695+ "standard-as-callback": ["standard-as-callback@2.1.0", "", {}, "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="],
2696+
2697+ "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
2698+
2699+ "std-env": ["std-env@4.2.0", "", {}, "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw=="],
2700+
2701+ "stdin-discarder": ["stdin-discarder@0.3.2", "", {}, "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A=="],
2702+
2703+ "streamx": ["streamx@2.28.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw=="],
2704+
2705+ "string-width": ["string-width@8.2.2", "", { "dependencies": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" } }, "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg=="],
2706+
2707+ "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
2708+
2709+ "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
2710+
2711+ "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="],
2712+
2713+ "strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="],
2714+
2715+ "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
2716+
2717+ "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="],
2718+
2719+ "strip-indent": ["strip-indent@4.1.1", "", {}, "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA=="],
2720+
2721+ "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="],
2722+
2723+ "strip-literal": ["strip-literal@4.0.0", "", { "dependencies": { "js-tokens": "^10.0.0" } }, "sha512-PaqAvfUZKBwc/SLmNZtHmzK+v19Z4O4eS3cKPeGvbIv/U3pnyEq4Tuw3/4v/FwfM8VQaEawsyCcOQ0P+kpwWWw=="],
2724+
2725+ "structured-clone-es": ["structured-clone-es@2.0.1", "", {}, "sha512-10ZL5r77LhknxlP1FBiCW+VdnuWOEFLdSS2SKtjyEV+L4qP1hUEIMIZW94LC3jKxRmT/Dj7KkD1mqh/IY6lhKQ=="],
2726+
2727+ "stylehacks": ["stylehacks@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3d5vjQODiMc4VwED1w24fAYSfeAjdIRLy88cJQ9NAYkZr/6ozCVbusda5N+0kXsfGWW3pizUgYK2TOZxiU0cSQ=="],
2728+
2729+ "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="],
2730+
2731+ "super-regex": ["super-regex@1.1.0", "", { "dependencies": { "function-timeout": "^1.0.1", "make-asynchronous": "^1.0.1", "time-span": "^5.1.0" } }, "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ=="],
2732+
2733+ "supports-color": ["supports-color@10.2.2", "", {}, "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g=="],
2734+
2735+ "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
2736+
2737+ "svgo": ["svgo@4.0.2", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng=="],
2738+
2739+ "swrv": ["swrv@1.2.0", "", { "peerDependencies": { "vue": ">=3.2.26 < 4" } }, "sha512-lH/g4UcNyj+7lzK4eRGT4C68Q4EhQ6JtM9otPRIASfhhzfLWtbZPHcMuhuba7S9YVYuxkMUGImwMyGpfbkH07A=="],
2740+
2741+ "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="],
2742+
2743+ "tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="],
2744+
2745+ "tailwind-variants": ["tailwind-variants@3.3.1", "", { "peerDependencies": { "tailwind-merge": ">=3.0.0", "tailwindcss": "*" }, "optionalPeers": ["tailwind-merge", "tailwindcss"] }, "sha512-4pAvwUtM4HKBiRZftncAbpn6V9Hhwoa5Fl7O2u5zbp7Z5Cvu+/o/6+176WY3WCEES209543quG8zFIcXCsc5Jw=="],
2746+
2747+ "tailwindcss": ["tailwindcss@4.3.3", "", {}, "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ=="],
2748+
2749+ "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
2750+
2751+ "tar": ["tar@7.5.22", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA=="],
2752+
2753+ "tar-fs": ["tar-fs@2.1.5", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw=="],
2754+
2755+ "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="],
2756+
2757+ "teex": ["teex@1.0.1", "", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="],
2758+
2759+ "terser": ["terser@5.49.2", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ=="],
2760+
2761+ "text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="],
2762+
2763+ "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
2764+
2765+ "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="],
2766+
2767+ "time-span": ["time-span@5.1.0", "", { "dependencies": { "convert-hrtime": "^5.0.0" } }, "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA=="],
2768+
2769+ "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="],
2770+
2771+ "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="],
2772+
2773+ "tinyclip": ["tinyclip@0.1.15", "", {}, "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A=="],
2774+
2775+ "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="],
2776+
2777+ "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="],
2778+
2779+ "to-buffer": ["to-buffer@1.2.2", "", { "dependencies": { "isarray": "^2.0.5", "safe-buffer": "^5.2.1", "typed-array-buffer": "^1.0.3" } }, "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw=="],
2780+
2781+ "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
2782+
2783+ "to-valid-identifier": ["to-valid-identifier@1.0.0", "", { "dependencies": { "@sindresorhus/base62": "^1.0.0", "reserved-identifiers": "^1.0.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="],
2784+
2785+ "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
2786+
2787+ "tosource": ["tosource@2.0.0-alpha.3", "", {}, "sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug=="],
2788+
2789+ "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
2790+
2791+ "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],
2792+
2793+ "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="],
2794+
2795+ "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="],
2796+
2797+ "trim-trailing-lines": ["trim-trailing-lines@2.1.0", "", {}, "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg=="],
2798+
2799+ "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="],
2800+
2801+ "ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="],
2802+
2803+ "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
2804+
2805+ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
2806+
2807+ "tsup": ["tsup@8.5.1", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.27.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "^0.7.6", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing=="],
2808+
2809+ "tsx": ["tsx@4.23.10", "", { "dependencies": { "esbuild": "~0.28.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-0Vb9eKU47njkxv/6B8CRZRDsxNDT/Pz+BIU+M5jw7xL3TdzAjSxlZUxu0xFL/kLpaG3sHZ0LH2wbK1T1yo7CUQ=="],
2810+
2811+ "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="],
2812+
2813+ "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="],
2814+
2815+ "type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
2816+
2817+ "type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="],
2818+
2819+ "type-level-regexp": ["type-level-regexp@0.1.17", "", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="],
2820+
2821+ "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="],
2822+
2823+ "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="],
2824+
2825+ "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
2826+
2827+ "uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="],
2828+
2829+ "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="],
2830+
2831+ "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="],
2832+
2833+ "ultrahtml": ["ultrahtml@1.7.0", "", {}, "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g=="],
2834+
2835+ "unconfig": ["unconfig@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "defu": "^6.1.4", "jiti": "^2.6.1", "quansync": "^1.0.0", "unconfig-core": "7.5.0" } }, "sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA=="],
2836+
2837+ "unconfig-core": ["unconfig-core@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "quansync": "^1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="],
2838+
2839+ "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="],
2840+
2841+ "unctx": ["unctx@2.5.0", "", { "dependencies": { "acorn": "^8.15.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.21", "unplugin": "^2.3.11" } }, "sha512-p+Rz9x0R7X+CYDkT+Xg8/GhpcShTlU8n+cf9OtOEf7zEQsNcCZO1dPKNRDqvUTaq+P32PMMkxWHwfrxkqfqAYg=="],
2842+
2843+ "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="],
2844+
2845+ "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="],
2846+
2847+ "unenv": ["unenv@2.0.0-rc.24", "", { "dependencies": { "pathe": "^2.0.3" } }, "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw=="],
2848+
2849+ "unhead": ["unhead@2.1.17", "", { "dependencies": { "hookable": "^6.0.1" } }, "sha512-HLMKXOszRhAPBrr6VlqCeVeJq2kbC4kXwzGLEZvvojPLWNYTJw22xG7Bfwhsvs31+IBet3Wl8ADg9dwYdyphfQ=="],
2850+
2851+ "unicode-emoji-modifier-base": ["unicode-emoji-modifier-base@1.0.0", "", {}, "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g=="],
2852+
2853+ "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="],
2854+
2855+ "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="],
2856+
2857+ "unifont": ["unifont@0.7.4", "", { "dependencies": { "css-tree": "^3.1.0", "ofetch": "^1.5.1", "ohash": "^2.0.11" } }, "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg=="],
2858+
2859+ "unimport": ["unimport@6.4.0", "", { "dependencies": { "acorn": "^8.18.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.2.1", "magic-string": "^1.1.0", "mlly": "^1.8.2", "pathe": "^2.0.3", "picomatch": "^4.0.5", "pkg-types": "^2.3.1", "scule": "^1.3.0", "strip-literal": "^4.0.0", "tinyglobby": "^0.2.17", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2" }, "peerDependencies": { "oxc-parser": "*", "rolldown": "^1.0.0" }, "optionalPeers": ["oxc-parser", "rolldown"] }, "sha512-JJOOuNMFq8b4ZPBKwQUxEcba4MplskDzYI1Lvrf8rJfWphZTWvPNXWa493qsPngHUmub89w6C7j+SeLWTE/UIQ=="],
2860+
2861+ "unist-builder": ["unist-builder@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg=="],
2862+
2863+ "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="],
2864+
2865+ "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="],
2866+
2867+ "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="],
2868+
2869+ "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="],
2870+
2871+ "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="],
2872+
2873+ "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="],
2874+
2875+ "universal-user-agent": ["universal-user-agent@7.0.3", "", {}, "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A=="],
2876+
2877+ "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
2878+
2879+ "unplugin": ["unplugin@3.3.0", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "picomatch": "^4.0.4", "webpack-virtual-modules": "^0.6.2" }, "peerDependencies": { "@farmfe/core": "*", "@rspack/core": "*", "bun-types-no-globals": "*", "esbuild": "*", "rolldown": "*", "rollup": "*", "unloader": "*", "vite": "*", "webpack": "*" }, "optionalPeers": ["@farmfe/core", "@rspack/core", "bun-types-no-globals", "esbuild", "rolldown", "rollup", "unloader", "vite", "webpack"] }, "sha512-qa66K+crbfyE6JK10GjvbJeRrOsuC/JpbnHctfyp/i4oBTxWOzJfRZyDiOk1PtErMFRu8JhsU/wPvOdBNWe5Rg=="],
2880+
2881+ "unplugin-auto-import": ["unplugin-auto-import@21.1.0", "", { "dependencies": { "local-pkg": "^1.2.1", "magic-string": "^1.1.0", "picomatch": "^4.0.5", "unimport": "^6.4.0", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2" }, "peerDependencies": { "@nuxt/kit": "^4.0.0", "@vueuse/core": "*" }, "optionalPeers": ["@nuxt/kit", "@vueuse/core"] }, "sha512-EzrSqWIBulEqCuP7idADXH+tVKYrbwKlR5+r/lOWik0o+Ksny1kitmtryHGNSv7puzzORlcIwT/x2JStiszlHA=="],
2882+
2883+ "unplugin-utils": ["unplugin-utils@0.3.2", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.4" } }, "sha512-xVToRh2CTmLk2HnEG7ac4rl1MJTT3RFkpS8B++/SnB0kXvuaavD+n3m/vrzyWQOdJNSZQACnbz01pnppbwV5BA=="],
2884+
2885+ "unplugin-vue-components": ["unplugin-vue-components@32.1.0", "", { "dependencies": { "chokidar": "^5.0.0", "local-pkg": "^1.2.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "obug": "^2.1.1", "picomatch": "^4.0.4", "tinyglobby": "^0.2.16", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1" }, "peerDependencies": { "@nuxt/kit": "^3.2.2 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@nuxt/kit"] }, "sha512-YiUkSxuRjab18XFOrX5VsIxXzccrfmHVGsGeJgSgklb829DQmCy9E4vvDUE4tuvZZdxyFJZX0Oc4TPnnxiiMyg=="],
2886+
2887+ "unrouting": ["unrouting@0.1.7", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "ufo": "^1.6.3" } }, "sha512-+0hfD+CVWtD636rc5Fn9VEjjTEDhdqgMpbwAuVoUmydSHDaMNiFW93SJG4LV++RoGSEAyvQN5uABAscYpDphpQ=="],
2888+
2889+ "unrs-resolver": ["unrs-resolver@1.12.2", "", { "dependencies": { "napi-postinstall": "^0.3.4" }, "optionalDependencies": { "@unrs/resolver-binding-android-arm-eabi": "1.12.2", "@unrs/resolver-binding-android-arm64": "1.12.2", "@unrs/resolver-binding-darwin-arm64": "1.12.2", "@unrs/resolver-binding-darwin-x64": "1.12.2", "@unrs/resolver-binding-freebsd-x64": "1.12.2", "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", "@unrs/resolver-binding-linux-x64-musl": "1.12.2", "@unrs/resolver-binding-openharmony-arm64": "1.12.2", "@unrs/resolver-binding-wasm32-wasi": "1.12.2", "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" } }, "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ=="],
2890+
2891+ "unstorage": ["unstorage@1.17.5", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^5.0.0", "destr": "^2.0.5", "h3": "^1.15.10", "lru-cache": "^11.2.7", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.3" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6 || ^7 || ^8", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1 || ^2 || ^3", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg=="],
2892+
2893+ "untun": ["untun@0.2.2", "", { "bin": { "untun": "dist/cli.mjs" } }, "sha512-+NnOJcSiEtYsVgJmXUzQbJeRAFXJC4yPJYuh6kF9B0Rm6zunXcs/3GZOTllyocSbUDIxD6Bj7e/4ATw7sph1Sw=="],
2894+
2895+ "untyped": ["untyped@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "defu": "^6.1.4", "jiti": "^2.4.2", "knitwork": "^1.2.0", "scule": "^1.3.0" }, "bin": { "untyped": "dist/cli.mjs" } }, "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g=="],
2896+
2897+ "unwasm": ["unwasm@0.5.3", "", { "dependencies": { "exsolve": "^1.0.8", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.0", "pathe": "^2.0.3", "pkg-types": "^2.3.0" } }, "sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw=="],
2898+
2899+ "update-browserslist-db": ["update-browserslist-db@1.3.0", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-x/M6q3w4Ybp91CNaS4S69UnliqR3BzRpOT6LWbksjth0S/+jhfaPJsWjt/TewpT8j9eLIojUf5jr29WextHroA=="],
2900+
2901+ "uqr": ["uqr@0.1.3", "", {}, "sha512-0rjE8iEJe4YmT9TOhwsZtqCMRLc5DXZUI2UEYUUg63ikBkqqE5EYWaI0etFe/5KUcmcYwLih2RND1kq+hrUJXA=="],
2902+
2903+ "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
2904+
2905+ "url-join": ["url-join@5.0.0", "", {}, "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA=="],
2906+
2907+ "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
2908+
2909+ "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="],
2910+
2911+ "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
2912+
2913+ "vaul-vue": ["vaul-vue@0.4.1", "", { "dependencies": { "@vueuse/core": "^10.8.0", "reka-ui": "^2.0.0", "vue": "^3.4.5" } }, "sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ=="],
2914+
2915+ "verkit": ["verkit@0.3.2", "", {}, "sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg=="],
2916+
2917+ "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="],
2918+
2919+ "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="],
2920+
2921+ "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="],
2922+
2923+ "vite": ["vite@7.3.6", "", { "dependencies": { "esbuild": "^0.27.0 || ^0.28.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg=="],
2924+
2925+ "vite-dev-rpc": ["vite-dev-rpc@2.0.0", "", { "dependencies": { "birpc": "^4.0.0", "vite-hot-client": "^2.2.0" }, "peerDependencies": { "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 || ^8.0.0" } }, "sha512-yKwbTwdHKSD2k/aGqyWpPHepo45OQc8lH3/6IfT4ZqeKE26ooKvi4WIEKzqWav8v+9Is8u1k8q54hvOmqASazA=="],
2926+
2927+ "vite-hot-client": ["vite-hot-client@2.2.0", "", { "peerDependencies": { "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0" } }, "sha512-76Zs9zrHbH7M7wqeyooGQKdX+yg0pQ0xuQ1PbFp4z5a0Lzn2e5IPFoCswnmqZ4GiwqB4Jo3WcDAMO9jARTJl8w=="],
2928+
2929+ "vite-node": ["vite-node@5.3.0", "", { "dependencies": { "cac": "^6.7.14", "es-module-lexer": "^2.0.0", "obug": "^2.1.1", "pathe": "^2.0.3", "vite": "^7.3.1" }, "bin": { "vite-node": "dist/cli.mjs" } }, "sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ=="],
2930+
2931+ "vite-plugin-checker": ["vite-plugin-checker@0.14.5", "", { "dependencies": { "@babel/code-frame": "^7.29.0", "chokidar": "^5.0.0", "npm-run-path": "^6.0.0", "picocolors": "^1.1.1", "picomatch": "^4.0.4", "proper-lockfile": "^4.1.2", "tiny-invariant": "^1.3.3" }, "peerDependencies": { "@biomejs/biome": ">=2.4.12", "eslint": ">=9.39.4", "meow": "^13.2.0 || ^14.0.0", "optionator": "^0.9.4", "oxlint": ">=1", "stylelint": ">=16.26.1", "typescript": "*", "vite": ">=5.4.21", "vue-tsc": "~2.2.10 || ^3.0.0" }, "optionalPeers": ["@biomejs/biome", "eslint", "meow", "optionator", "oxlint", "stylelint", "typescript", "vue-tsc"] }, "sha512-c9lQ92eisUO+F7Fd93aelojmiOS+NQpPgQ1XR2LTQHox1/laZf4yAoQj+L3RA9Vgh10e2nFd9b8r2LLyYZsbpA=="],
2932+
2933+ "vite-plugin-inspect": ["vite-plugin-inspect@11.4.1", "", { "dependencies": { "ansis": "^4.3.0", "error-stack-parser-es": "^1.0.5", "obug": "^2.1.1", "ohash": "^2.0.11", "open": "^11.0.0", "perfect-debounce": "^2.1.0", "sirv": "^3.0.2", "unplugin-utils": "^0.3.1", "vite-dev-rpc": "^2.0.0" }, "peerDependencies": { "vite": "^6.0.0 || ^7.0.0-0 || ^8.0.0-0" } }, "sha512-ShOFe2PURXGvRS5OrgmOLZOCwDTD7dEBVt0tMpFPKb9AsvqXKCRGM8QgKrUbRbJYFXScHvDPpGRd28rYidC0tA=="],
2934+
2935+ "vite-plugin-singlefile": ["vite-plugin-singlefile@2.3.3", "", { "dependencies": { "micromatch": "^4.0.8" }, "peerDependencies": { "rollup": "^4.59.0", "vite": "^5.4.21 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["rollup"] }, "sha512-XVnGH0QzbOa8fxRSsHdCarVN1BSBXNi7uLMQYlrGRN5apdHkk62XQWRJhVever0lnfuyBkwn+kvVChdm/OoOUg=="],
2936+
2937+ "vite-plugin-vue-tracer": ["vite-plugin-vue-tracer@1.4.0", "", { "dependencies": { "estree-walker": "^3.0.3", "exsolve": "^1.0.8", "magic-string": "^0.30.21", "pathe": "^2.0.3", "source-map-js": "^1.2.1" }, "peerDependencies": { "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0", "vue": "^3.5.0" } }, "sha512-0tQCjCqZWVSK6UeRW9S4ABbf47lKQ68zvrT2FNvZmiL+alDydCVyH/T3Jlfbdc3T3C2Iuyyl5aVsMbF8IQIoxA=="],
2938+
2939+ "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="],
2940+
2941+ "vue": ["vue@3.5.41", "", { "dependencies": { "@vue/compiler-dom": "3.5.41", "@vue/compiler-sfc": "3.5.41", "@vue/runtime-dom": "3.5.41", "@vue/server-renderer": "3.5.41", "@vue/shared": "3.5.41" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-2laE0p+aK+/AOPG/XL/WepOs/GlK755LJ1XECi9kDUrz1FKNw8rb2Xzlw9JS1rqEV55nb0ttsKxVlTCcd+R5cg=="],
2942+
2943+ "vue-bundle-renderer": ["vue-bundle-renderer@2.3.1", "", { "dependencies": { "ufo": "^1.6.4" } }, "sha512-7F4LNMopUw5RgYWo4zCmVUHCc6aQRC6dCKHUYkM/n+fux4AUGdL1x6m5A515WWyFysRRN7cx3hBzVqoisfRfzw=="],
2944+
2945+ "vue-component-meta": ["vue-component-meta@3.3.9", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.3.9", "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-4u1VmMVjqs9BbKaISBZD7b+dNdqFteh5BYN8xVaXkjjJ66no1sRtDnS6aSs5/P5AzQQGPw10snHTf/z3HpBn2w=="],
2946+
2947+ "vue-component-type-helpers": ["vue-component-type-helpers@3.3.9", "", {}, "sha512-3c/UfMe0SqyEfcGTyH7mfshHagJ9QTCbppCb0/uGpHZpFug7+If3GeGZN7I0YheKEExemx3xldQPoO7PQSOLQg=="],
2948+
2949+ "vue-demi": ["vue-demi@0.14.10", "", { "peerDependencies": { "@vue/composition-api": "^1.0.0-rc.1", "vue": "^3.0.0-0 || ^2.6.0" }, "optionalPeers": ["@vue/composition-api"], "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" } }, "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg=="],
2950+
2951+ "vue-devtools-stub": ["vue-devtools-stub@0.1.0", "", {}, "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ=="],
2952+
2953+ "vue-eslint-parser": ["vue-eslint-parser@10.4.1", "", { "dependencies": { "debug": "^4.4.0", "eslint-scope": "^8.2.0 || ^9.0.0", "eslint-visitor-keys": "^4.2.0 || ^5.0.0", "espree": "^10.3.0 || ^11.0.0", "esquery": "^1.6.0", "semver": "^7.6.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0" } }, "sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA=="],
2954+
2955+ "vue-i18n": ["vue-i18n@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/devtools-types": "11.4.8", "@intlify/shared": "11.4.8", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-0ULeHP6Z9CGvAm67S77ZEp41cfGXIREGL8qfhos2BMgcQQewtQcDKuojt6jjasAD/S8GwfTp2ySPmDSpwvrCMQ=="],
2956+
2957+ "vue-router": ["vue-router@5.2.0", "", { "dependencies": { "@babel/generator": "^8.0.0", "@vue-macros/common": "^3.1.3", "@vue/devtools-api": "^8.1.5", "ast-walker-scope": "^0.9.0", "chokidar": "^5.0.0", "json5": "^2.2.3", "local-pkg": "^1.2.1", "magic-string": "^0.30.21", "mlly": "^1.8.2", "muggle-string": "^0.4.1", "nostics": "^1.1.4", "pathe": "^2.0.3", "picomatch": "^4.0.5", "scule": "^1.3.0", "tinyglobby": "^0.2.17", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2", "yaml": "^2.9.0" }, "peerDependencies": { "@pinia/colada": ">=0.21.2", "@vue/compiler-sfc": "^3.5.34 || ^4.0.0", "pinia": "^3.0.4 || ^4.0.2", "vite": "^7.3.0 || ^8.0.0", "vue": "^3.5.34 || ^4.0.0" }, "optionalPeers": ["@pinia/colada", "@vue/compiler-sfc", "pinia", "vite"] }, "sha512-QAC5i0LEb1GLG0LXDQmHu8L7FX12j0KwU/JTKmLQUJMrn04gQdKP6Du+p0QwpHb3iy71vBlqnHQ8WAfOSAWhqw=="],
2958+
2959+ "vue-tsc": ["vue-tsc@3.3.9", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.3.9" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "bin/vue-tsc.js" } }, "sha512-TS3Y1ux/IRoE8OCP2PpACAeOseuIs0UvWrcr7u+w3PmfY+SlCfEf8zjrBgnQksHUgLpthi5vHlffcQTQTdPBZA=="],
2960+
2961+ "w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="],
2962+
2963+ "walk-up-path": ["walk-up-path@4.0.0", "", {}, "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A=="],
2964+
2965+ "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="],
2966+
2967+ "web-worker": ["web-worker@1.5.0", "", {}, "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw=="],
2968+
2969+ "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="],
2970+
2971+ "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="],
2972+
2973+ "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="],
2974+
2975+ "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="],
2976+
2977+ "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="],
2978+
2979+ "wheel-gestures": ["wheel-gestures@2.2.48", "", {}, "sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA=="],
2980+
2981+ "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
2982+
2983+ "which-typed-array": ["which-typed-array@1.1.22", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw=="],
2984+
2985+ "wildcard-match": ["wildcard-match@5.1.4", "", {}, "sha512-wldeCaczs8XXq7hj+5d/F38JE2r7EXgb6WQDM84RVwxy81T/sxB5e9+uZLK9Q9oNz1mlvjut+QtvgaOQFPVq/g=="],
2986+
2987+ "windows-release": ["windows-release@7.1.1", "", { "dependencies": { "powershell-utils": "^0.2.0" } }, "sha512-0GBwC9WmR8Bm3WYiz3FC391054BsFHZ2gzBVdYj9uj5eIVYzbn/YPYCYW9SWdh9vwnLuzpn1UGwJKiMG4F236w=="],
2988+
2989+ "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
2990+
2991+ "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="],
2992+
2993+ "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="],
2994+
2995+ "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
2996+
2997+ "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
2998+
2999+ "ws": ["ws@8.21.2", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw=="],
3000+
3001+ "wsl-utils": ["wsl-utils@0.3.1", "", { "dependencies": { "is-wsl": "^3.1.0", "powershell-utils": "^0.1.0" } }, "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg=="],
3002+
3003+ "xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="],
3004+
3005+ "xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.1.2", "", {}, "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="],
3006+
3007+ "xss": ["xss@1.0.15", "", { "dependencies": { "commander": "^2.20.3", "cssfilter": "0.0.10" }, "bin": { "xss": "bin/xss" } }, "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg=="],
3008+
3009+ "y-protocols": ["y-protocols@1.0.7", "", { "dependencies": { "lib0": "^0.2.85" }, "peerDependencies": { "yjs": "^13.0.0" } }, "sha512-YSVsLoXxO67J6eE/nV4AtFtT3QEotZf5sK5BHxFBXso7VDUT3Tx07IfA6hsu5Q5OmBdMkQVmFZ9QOA7fikWvnw=="],
3010+
3011+ "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
3012+
3013+ "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="],
3014+
3015+ "yaml": ["yaml@2.9.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="],
3016+
3017+ "yaml-eslint-parser": ["yaml-eslint-parser@1.3.2", "", { "dependencies": { "eslint-visitor-keys": "^3.0.0", "yaml": "^2.0.0" } }, "sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg=="],
3018+
3019+ "yargs": ["yargs@18.1.0", "", { "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "string-width": "^8.2.1", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" } }, "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg=="],
3020+
3021+ "yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="],
3022+
3023+ "yjs": ["yjs@13.6.32", "", { "dependencies": { "lib0": "^0.2.99" } }, "sha512-lfiJIIC4Xayt5ItynE407ehlE03pCjeOc4hkR4yxxvvNJ4kuiN25B0g+Qp8XagYz361LLL7DCzR5bvFJ81QKtQ=="],
3024+
3025+ "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="],
3026+
3027+ "yoctocolors": ["yoctocolors@2.2.0", "", {}, "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg=="],
3028+
3029+ "youch": ["youch@4.1.1", "", { "dependencies": { "@poppinss/colors": "^4.1.6", "@poppinss/dumper": "^0.7.0", "@speed-highlight/core": "^1.2.14", "cookie-es": "^3.0.1", "youch-core": "^0.3.3" } }, "sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA=="],
3030+
3031+ "youch-core": ["youch-core@0.3.3", "", { "dependencies": { "@poppinss/exception": "^1.2.2", "error-stack-parser-es": "^1.0.5" } }, "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA=="],
3032+
3033+ "zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
3034+
3035+ "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="],
3036+
3037+ "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="],
3038+
3039+ "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
3040+
3041+ "@antfu/install-pkg/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3042+
3043+ "@babel/code-frame/js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
3044+
3045+ "@babel/core/@babel/generator": ["@babel/generator@7.29.8", "", { "dependencies": { "@babel/parser": "^7.29.8", "@babel/types": "^7.29.8", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg=="],
3046+
3047+ "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3048+
3049+ "@babel/generator/@babel/parser": ["@babel/parser@8.0.4", "", { "dependencies": { "@babel/types": "^8.0.4" }, "bin": "./bin/babel-parser.js" }, "sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g=="],
3050+
3051+ "@babel/generator/@babel/types": ["@babel/types@8.0.4", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.0", "@babel/helper-validator-identifier": "^8.0.4" } }, "sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g=="],
3052+
3053+ "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
3054+
3055+ "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3056+
3057+ "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3058+
3059+ "@babel/traverse/@babel/generator": ["@babel/generator@7.29.8", "", { "dependencies": { "@babel/parser": "^7.29.8", "@babel/types": "^7.29.8", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg=="],
3060+
3061+ "@es-joy/jsdoccomment/jsdoc-type-pratt-parser": ["jsdoc-type-pratt-parser@8.0.0", "", {}, "sha512-uQu/fXVqVaMg6gM8/E5G5+eygVcZ1NV0Z51CvqhNa2bDWxvHMl484ETr6vph4oPyC+KUcbP/w2W2pewfCiR9aQ=="],
3062+
3063+ "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3064+
3065+ "@eslint/config-inspector/cac": ["cac@7.0.0", "", {}, "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ=="],
3066+
3067+ "@iconify/utils/@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="],
3068+
3069+ "@img/sharp-freebsd-wasm32/@img/sharp-wasm32": ["@img/sharp-wasm32@0.35.3", "", { "dependencies": { "@emnapi/runtime": "^1.11.1" } }, "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w=="],
3070+
3071+ "@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3072+
3073+ "@img/sharp-webcontainers-wasm32/@img/sharp-wasm32": ["@img/sharp-wasm32@0.35.3", "", { "dependencies": { "@emnapi/runtime": "^1.11.1" } }, "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w=="],
3074+
3075+ "@inquirer/external-editor/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3076+
3077+ "@intlify/bundle-utils/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
3078+
3079+ "@intlify/bundle-utils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3080+
3081+ "@intlify/h3/@intlify/utils": ["@intlify/utils@0.13.0", "", {}, "sha512-8i3uRdAxCGzuHwfmHcVjeLQBtysQB2aXl/ojoagDut5/gY5lvWCQ2+cnl2TiqE/fXj/D8EhWG/SLKA7qz4a3QA=="],
3082+
3083+ "@intlify/unplugin-vue-i18n/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3084+
3085+ "@intlify/vue-i18n-extensions/@intlify/shared": ["@intlify/shared@10.0.8", "", {}, "sha512-BcmHpb5bQyeVNrptC3UhzpBZB/YHHDoEREOUERrmF2BRxsyOEuRrq+Z96C/D4+2KJb8kuHiouzAei7BXlG0YYw=="],
3086+
3087+ "@intlify/vue-i18n-extensions/vue-i18n": ["vue-i18n@10.0.8", "", { "dependencies": { "@intlify/core-base": "10.0.8", "@intlify/shared": "10.0.8", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-mIjy4utxMz9lMMo6G9vYePv7gUFt4ztOMhY9/4czDJxZ26xPeJ49MAGa9wBAE3XuXbYCrtVPmPxNjej7JJJkZQ=="],
3088+
3089+ "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
3090+
3091+ "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
3092+
3093+ "@mapbox/node-pre-gyp/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
3094+
3095+ "@modelcontextprotocol/sdk/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="],
3096+
3097+ "@nuxt/cli/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3098+
3099+ "@nuxt/content/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3100+
3101+ "@nuxt/content/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
3102+
3103+ "@nuxt/devtools/which": ["which@6.0.1", "", { "dependencies": { "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" } }, "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg=="],
3104+
3105+ "@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3106+
3107+ "@nuxt/kit/unctx": ["unctx@3.0.0", "", { "peerDependencies": { "magic-string": ">=0.30.21", "oxc-parser": ">=0.140.0", "rolldown": "^1.1.5", "unplugin": "^3.3.0" }, "optionalPeers": ["magic-string", "oxc-parser", "rolldown", "unplugin"] }, "sha512-DoXdZVeyi2jyEsn86i8MO5RTItm1kffUkH9/+DQORn3Q688AMOy2551CIl6AdGL2UpwD675wtbNOl75wIQN/uA=="],
3108+
3109+ "@nuxt/nitro-server/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3110+
3111+ "@nuxt/nitro-server/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3112+
3113+ "@nuxt/telemetry/ofetch": ["ofetch@2.0.0-alpha.3", "", {}, "sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA=="],
3114+
3115+ "@nuxt/ui/@nuxt/schema": ["@nuxt/schema@4.5.2", "", { "dependencies": { "@vue/shared": "^3.5.40", "defu": "^6.1.7", "nostics": "^1.2.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "std-env": "^4.2.0" } }, "sha512-h9g1kt9O2iU9nX6HDFu9gvwtpn+8oSJX0RSTWRBnEx/Pkz+WlOHtjuS0SbkTAXw5aT1+H1GysWVwNTjJfBY/0w=="],
3116+
3117+ "@nuxt/vite-builder/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3118+
3119+ "@nuxt/vite-builder/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3120+
3121+ "@nuxtjs/i18n/oxc-parser": ["oxc-parser@0.141.0", "", { "dependencies": { "@oxc-project/types": "^0.141.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.141.0", "@oxc-parser/binding-android-arm64": "0.141.0", "@oxc-parser/binding-darwin-arm64": "0.141.0", "@oxc-parser/binding-darwin-x64": "0.141.0", "@oxc-parser/binding-freebsd-x64": "0.141.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.141.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.141.0", "@oxc-parser/binding-linux-arm64-gnu": "0.141.0", "@oxc-parser/binding-linux-arm64-musl": "0.141.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.141.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.141.0", "@oxc-parser/binding-linux-riscv64-musl": "0.141.0", "@oxc-parser/binding-linux-s390x-gnu": "0.141.0", "@oxc-parser/binding-linux-x64-gnu": "0.141.0", "@oxc-parser/binding-linux-x64-musl": "0.141.0", "@oxc-parser/binding-openharmony-arm64": "0.141.0", "@oxc-parser/binding-wasm32-wasi": "0.141.0", "@oxc-parser/binding-win32-arm64-msvc": "0.141.0", "@oxc-parser/binding-win32-ia32-msvc": "0.141.0", "@oxc-parser/binding-win32-x64-msvc": "0.141.0" } }, "sha512-uFkGGr1KMWd6aWv9UAqooYrN78trw8MWWmoPvgWokfBEUq1+eiIQ+qfj3wokhy0fxtZWZk+0dHoS7/yRTJtd6w=="],
3122+
3123+ "@nuxtjs/i18n/oxc-transform": ["oxc-transform@0.141.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.141.0", "@oxc-transform/binding-android-arm64": "0.141.0", "@oxc-transform/binding-darwin-arm64": "0.141.0", "@oxc-transform/binding-darwin-x64": "0.141.0", "@oxc-transform/binding-freebsd-x64": "0.141.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.141.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.141.0", "@oxc-transform/binding-linux-arm64-gnu": "0.141.0", "@oxc-transform/binding-linux-arm64-musl": "0.141.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.141.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.141.0", "@oxc-transform/binding-linux-riscv64-musl": "0.141.0", "@oxc-transform/binding-linux-s390x-gnu": "0.141.0", "@oxc-transform/binding-linux-x64-gnu": "0.141.0", "@oxc-transform/binding-linux-x64-musl": "0.141.0", "@oxc-transform/binding-openharmony-arm64": "0.141.0", "@oxc-transform/binding-wasm32-wasi": "0.141.0", "@oxc-transform/binding-win32-arm64-msvc": "0.141.0", "@oxc-transform/binding-win32-ia32-msvc": "0.141.0", "@oxc-transform/binding-win32-x64-msvc": "0.141.0" } }, "sha512-CrMPblXfPl57WIvGjynrUThcyEGcS3E3YUHkPYAwXYYla23gLlaIYifVFTMQsFr5uxA/2k/XMG5n6c/XsuAvaQ=="],
3124+
3125+ "@nuxtjs/i18n/oxc-walker": ["oxc-walker@0.7.0", "", { "dependencies": { "magic-regexp": "^0.10.0" }, "peerDependencies": { "oxc-parser": ">=0.98.0" } }, "sha512-54B4KUhrzbzc4sKvKwVYm7E2PgeROpGba0/2nlNZMqfDyca+yOor5IMb4WLGBatGDT0nkzYdYuzylg7n3YfB7A=="],
3126+
3127+ "@nuxtjs/i18n/unhead": ["unhead@3.3.1", "", { "dependencies": { "hookable": "^6.1.1", "unplugin": "^3.3.0" }, "peerDependencies": { "vite": ">=6.4.2" }, "optionalPeers": ["vite"] }, "sha512-eqHlbLyuvIXw898WopQmosTml4PdYW5ZhXDom/sf7ysAqQB9uvYrw2/dNvbrmkJTufSkmNmgGCjoQcvoT2mS/A=="],
3128+
3129+ "@nuxtjs/i18n/unrouting": ["unrouting@0.2.2", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "ufo": "^1.6.3" } }, "sha512-EoCab68s1o9AWFq9fjKsMEsmjKrPO11SAsvopikks2eEm/KLXgZMCof4cgpVgdy0Vz71OFBJw6DoDqu1oOSFGw=="],
3130+
3131+ "@octokit/plugin-paginate-rest/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
3132+
3133+ "@octokit/plugin-rest-endpoint-methods/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
3134+
3135+ "@octokit/request/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3136+
3137+ "@parcel/watcher-wasm/napi-wasm": ["napi-wasm@1.1.3", "", { "bundled": true }, "sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg=="],
3138+
3139+ "@quansync/fs/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3140+
3141+ "@rollup/plugin-commonjs/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3142+
3143+ "@rollup/plugin-inject/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3144+
3145+ "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3146+
3147+ "@stylistic/eslint-plugin/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
3148+
3149+ "@stylistic/eslint-plugin/espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="],
3150+
3151+ "@tailwindcss/node/lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
3152+
3153+ "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3154+
3155+ "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3156+
3157+ "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
3158+
3159+ "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" }, "bundled": true }, "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw=="],
3160+
3161+ "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="],
3162+
3163+ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
3164+
3165+ "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3166+
3167+ "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3168+
3169+ "@vue/compiler-core/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3170+
3171+ "@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3172+
3173+ "@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3174+
3175+ "@vue/devtools-kit/birpc": ["birpc@2.9.0", "", {}, "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw=="],
3176+
3177+ "@vue/devtools-kit/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3178+
3179+ "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="],
3180+
3181+ "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="],
3182+
3183+ "archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3184+
3185+ "archiver/tar-stream": ["tar-stream@3.2.0", "", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg=="],
3186+
3187+ "archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
3188+
3189+ "archiver-utils/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
3190+
3191+ "archiver-utils/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3192+
3193+ "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
3194+
3195+ "body-parser/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3196+
3197+ "body-parser/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3198+
3199+ "cheerio/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3200+
3201+ "cliui/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
3202+
3203+ "comark/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
3204+
3205+ "comark/htmlparser2": ["htmlparser2@12.0.0", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "domutils": "^4.0.2", "entities": "^8.0.0" } }, "sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw=="],
3206+
3207+ "comark/js-yaml": ["js-yaml@5.2.3", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.mjs" } }, "sha512-n+mUVyUX5bVv7G/G2zyIHOhdxfuU1dY2NOFzTQUWiMUbFss8b57NFlgCCaggU78wSw5KVS9cllzeLyzyR+n5nw=="],
3208+
3209+ "compress-commons/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
3210+
3211+ "compress-commons/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3212+
3213+ "crc32-stream/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3214+
3215+ "css-tree/mdn-data": ["mdn-data@2.27.1", "", {}, "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ=="],
3216+
3217+ "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
3218+
3219+ "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3220+
3221+ "eslint/find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
3222+
3223+ "eslint-flat-config-utils/@eslint/config-helpers": ["@eslint/config-helpers@0.5.5", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w=="],
3224+
3225+ "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
3226+
3227+ "fast-npm-meta/cac": ["cac@7.0.0", "", {}, "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ=="],
3228+
3229+ "fontaine/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3230+
3231+ "global-directory/ini": ["ini@4.1.1", "", {}, "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g=="],
3232+
3233+ "globby/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3234+
3235+ "globby/unicorn-magic": ["unicorn-magic@0.4.0", "", {}, "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw=="],
3236+
3237+ "h3/cookie-es": ["cookie-es@1.2.3", "", {}, "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw=="],
3238+
3239+ "h3/crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="],
3240+
3241+ "handlebars/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3242+
3243+ "hast-util-raw/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3244+
3245+ "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
3246+
3247+ "htmlparser2/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3248+
3249+ "ipx/srvx": ["srvx@0.12.5", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-IuvtDNQg5EIwv3c6dleyau7u8hCyGQ7D6+V/QM799Aud07z0wCUcurKLTRfyG33C8oUY+UWcVBFkfHMcbtmRLA=="],
3250+
3251+ "is-wsl/is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="],
3252+
3253+ "isomorphic-git/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3254+
3255+ "jsonc-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3256+
3257+ "jsonc-eslint-parser/espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="],
3258+
3259+ "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="],
3260+
3261+ "magic-regexp/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3262+
3263+ "make-asynchronous/type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
3264+
3265+ "markdown-exit/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3266+
3267+ "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3268+
3269+ "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="],
3270+
3271+ "mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="],
3272+
3273+ "nitropack/cookie-es": ["cookie-es@2.0.1", "", {}, "sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA=="],
3274+
3275+ "nitropack/crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="],
3276+
3277+ "nitropack/dot-prop": ["dot-prop@10.2.0", "", { "dependencies": { "type-fest": "^5.0.0" } }, "sha512-BTJ9aZYL3vCfZlZOBLy9v8TUqWGQ0pzFnygKwFZt5udj6viBoFIBviKPUoZLDCPn1FoXffv6McQFDenrm5Krfw=="],
3278+
3279+ "nitropack/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3280+
3281+ "nitropack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3282+
3283+ "nitropack/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3284+
3285+ "node-emoji/@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="],
3286+
3287+ "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
3288+
3289+ "nuxt/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3290+
3291+ "nuxt/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3292+
3293+ "nuxt/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3294+
3295+ "nuxt-component-meta/oxc-parser": ["oxc-parser@0.139.0", "", { "dependencies": { "@oxc-project/types": "^0.139.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.139.0", "@oxc-parser/binding-android-arm64": "0.139.0", "@oxc-parser/binding-darwin-arm64": "0.139.0", "@oxc-parser/binding-darwin-x64": "0.139.0", "@oxc-parser/binding-freebsd-x64": "0.139.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.139.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.139.0", "@oxc-parser/binding-linux-arm64-gnu": "0.139.0", "@oxc-parser/binding-linux-arm64-musl": "0.139.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.139.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.139.0", "@oxc-parser/binding-linux-riscv64-musl": "0.139.0", "@oxc-parser/binding-linux-s390x-gnu": "0.139.0", "@oxc-parser/binding-linux-x64-gnu": "0.139.0", "@oxc-parser/binding-linux-x64-musl": "0.139.0", "@oxc-parser/binding-openharmony-arm64": "0.139.0", "@oxc-parser/binding-wasm32-wasi": "0.139.0", "@oxc-parser/binding-win32-arm64-msvc": "0.139.0", "@oxc-parser/binding-win32-ia32-msvc": "0.139.0", "@oxc-parser/binding-win32-x64-msvc": "0.139.0" } }, "sha512-cf1TKZN+zc0lwqigeyXKzKVk5+vNRe99Or2+wVJsXLdlhJgC+gsIniYDfj/ZEBzCJ8Xm21ZG6YtMbR262CcS2w=="],
3296+
3297+ "nuxt-component-meta/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
3298+
3299+ "nuxt-component-meta/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3300+
3301+ "nuxt-og-image/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3302+
3303+ "nuxt-og-image/oxc-parser": ["oxc-parser@0.142.0", "", { "dependencies": { "@oxc-project/types": "^0.142.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.142.0", "@oxc-parser/binding-android-arm64": "0.142.0", "@oxc-parser/binding-darwin-arm64": "0.142.0", "@oxc-parser/binding-darwin-x64": "0.142.0", "@oxc-parser/binding-freebsd-x64": "0.142.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.142.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.142.0", "@oxc-parser/binding-linux-arm64-gnu": "0.142.0", "@oxc-parser/binding-linux-arm64-musl": "0.142.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-musl": "0.142.0", "@oxc-parser/binding-linux-s390x-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-musl": "0.142.0", "@oxc-parser/binding-openharmony-arm64": "0.142.0", "@oxc-parser/binding-wasm32-wasi": "0.142.0", "@oxc-parser/binding-win32-arm64-msvc": "0.142.0", "@oxc-parser/binding-win32-ia32-msvc": "0.142.0", "@oxc-parser/binding-win32-x64-msvc": "0.142.0" } }, "sha512-kKR+jPiRJYJDexVoziIg/FVGvr1fT1FZSSJOk6tVoMKKSlsf1Cso+cgGCJkOEDWOP174vRntCPFKg+AS7InWvw=="],
3304+
3305+ "nuxt-og-image/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3306+
3307+ "nuxt-studio/@nuxtjs/mdc": ["@nuxtjs/mdc@0.21.1", "", { "dependencies": { "@nuxt/kit": "^4.4.2", "@shikijs/core": "^4.0.2", "@shikijs/engine-javascript": "^4.0.2", "@shikijs/langs": "^4.0.2", "@shikijs/themes": "^4.0.2", "@shikijs/transformers": "^4.0.2", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "@vue/compiler-core": "^3.5.31", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.4", "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-format": "^1.1.0", "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", "mdast-util-to-hast": "^13.2.1", "micromark-util-sanitize-uri": "^2.0.1", "parse5": "^8.0.0", "pathe": "^2.0.3", "property-information": "^7.1.0", "rehype-external-links": "^3.0.0", "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", "remark-emoji": "^5.0.2", "remark-gfm": "^4.0.1", "remark-mdc": "^3.10.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-stringify": "^11.0.0", "scule": "^1.3.0", "shiki": "^4.0.2", "ufo": "^1.6.3", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.1.0", "unwasm": "^0.5.3", "vfile": "^6.0.3" } }, "sha512-DIeUD7IahWVUSoZExysxH9dX51Io6hcQYgGJODq0cMTGqaoDD32lRfHBJxYUmy+sUCV1+1hfa2ixspgJgEd2GA=="],
3308+
3309+ "nuxt-studio/ipx": ["ipx@3.1.1", "", { "dependencies": { "@fastify/accept-negotiator": "^2.0.1", "citty": "^0.1.6", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "etag": "^1.8.1", "h3": "^1.15.3", "image-meta": "^0.2.1", "listhen": "^1.9.0", "ofetch": "^1.4.1", "pathe": "^2.0.3", "sharp": "^0.34.3", "svgo": "^4.0.0", "ufo": "^1.6.1", "unstorage": "^1.16.1", "xss": "^1.0.15" }, "bin": { "ipx": "bin/ipx.mjs" } }, "sha512-7Xnt54Dco7uYkfdAw0r2vCly3z0rSaVhEXMzPvl3FndsTVm5p26j+PO+gyinkYmcsEUvX2Rh7OGK7KzYWRu6BA=="],
3310+
3311+ "nuxt-studio/nuxt-component-meta": ["nuxt-component-meta@0.17.2", "", { "dependencies": { "@nuxt/kit": "^4.2.2", "citty": "^0.1.6", "mlly": "^1.8.0", "ohash": "^2.0.11", "scule": "^1.3.0", "typescript": "^5.9.3", "ufo": "^1.6.2", "vue-component-meta": "^3.2.2" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-2/mSSqutOX8t+r8cAX1yUYwAPBqicPO5Rfum3XaHVszxKCF4tXEXBiPGfJY9Zn69x/CIeOdw+aM9wmHzQ5Q+lA=="],
3312+
3313+ "nuxtseo-shared/@nuxt/devtools-kit": ["@nuxt/devtools-kit@4.0.0-alpha.7", "", { "dependencies": { "@nuxt/kit": "^4.4.6", "tinyexec": "^1.2.2" }, "peerDependencies": { "vite": ">=6.0" } }, "sha512-Tgh+tSejh1GnZjdjgWyc4qCxskeX08XuSQBYMn/4SIV5AubeqYeAOMBD2qSmHOXjMCUpgyzpEhODcP3sgdgGRA=="],
3314+
3315+ "nypm/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3316+
3317+ "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="],
3318+
3319+ "parse5/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
3320+
3321+ "parse5-htmlparser2-tree-adapter/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3322+
3323+ "parse5-parser-stream/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3324+
3325+ "path-scurry/lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="],
3326+
3327+ "playground/docus": ["docus@5.12.3", "", { "dependencies": { "@ai-sdk/gateway": "^3.0.133", "@ai-sdk/mcp": "^1.0.52", "@ai-sdk/vue": "^3.0.208", "@comark/vue": "^0.4.0", "@iconify-json/lucide": "^1.2.114", "@iconify-json/simple-icons": "^1.2.87", "@iconify-json/vscode-icons": "^1.2.59", "@nuxt/content": "^3.14.0", "@nuxt/image": "^2.0.0", "@nuxt/kit": "^4.4.8", "@nuxt/ui": "^4.9.0", "@nuxtjs/i18n": "^10.4.0", "@nuxtjs/mcp-toolkit": "^0.17.2", "@nuxtjs/mdc": "^0.22.0", "@nuxtjs/robots": "^6.1.1", "@shikijs/core": "^4.2.0", "@shikijs/engine-javascript": "^4.2.0", "@shikijs/langs": "^4.2.0", "@shikijs/stream": "^4.2.0", "@shikijs/themes": "^4.2.0", "@takumi-rs/core": "^1.8.7", "@vueuse/core": "^14.3.0", "ai": "^6.0.208", "defu": "^6.1.7", "exsolve": "^1.1.0", "git-url-parse": "^16.1.0", "motion-v": "^2.3.0", "nuxt-llms": "^0.2.0", "nuxt-og-image": "~6.6.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "scule": "^1.3.0", "tailwindcss": "^4.3.1", "ufo": "^1.6.4", "yaml": "^2.9.0", "zod": "^4.4.3", "zod-to-json-schema": "^3.25.2" }, "peerDependencies": { "better-sqlite3": "12.x", "nuxt": "4.x" } }, "sha512-v5CF/Ta3+aAzuUKwPsFwSSCACXh9QRWbBZENwUyheajATnPrSnql+oHbDzANM+GBwDvmPpCBhzHsjKrdZZR0cw=="],
3328+
3329+ "proper-lockfile/retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="],
3330+
3331+ "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
3332+
3333+ "raw-body/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3334+
3335+ "rc/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
3336+
3337+ "readdir-glob/minimatch": ["minimatch@5.1.9", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw=="],
3338+
3339+ "release-it/c12": ["c12@3.3.3", "", { "dependencies": { "chokidar": "^5.0.0", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^17.2.3", "exsolve": "^1.0.8", "giget": "^2.0.0", "jiti": "^2.6.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.0.0", "pkg-types": "^2.3.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "*" }, "optionalPeers": ["magicast"] }, "sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q=="],
3340+
3341+ "release-it/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="],
3342+
3343+ "release-it/tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
3344+
3345+ "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="],
3346+
3347+ "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3348+
3349+ "spdx-correct/spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
3350+
3351+ "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
3352+
3353+ "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
3354+
3355+ "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3356+
3357+ "svgo/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
3358+
3359+ "tar/chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="],
3360+
3361+ "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
3362+
3363+ "tsup/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
3364+
3365+ "tsx/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3366+
3367+ "type-is/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3368+
3369+ "unconfig/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3370+
3371+ "unconfig-core/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3372+
3373+ "unctx/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3374+
3375+ "unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3376+
3377+ "unimport/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3378+
3379+ "unplugin-auto-import/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3380+
3381+ "unrouting/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3382+
3383+ "unstorage/lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="],
3384+
3385+ "untyped/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3386+
3387+ "validate-npm-package-license/spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
3388+
3389+ "vaul-vue/@vueuse/core": ["@vueuse/core@10.11.1", "", { "dependencies": { "@types/web-bluetooth": "^0.0.20", "@vueuse/metadata": "10.11.1", "@vueuse/shared": "10.11.1", "vue-demi": ">=0.14.8" } }, "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww=="],
3390+
3391+ "vite/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3392+
3393+ "vite-plugin-checker/npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="],
3394+
3395+ "vite-plugin-inspect/error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="],
3396+
3397+ "vue-i18n/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="],
3398+
3399+ "windows-release/powershell-utils": ["powershell-utils@0.2.0", "", {}, "sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw=="],
3400+
3401+ "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
3402+
3403+ "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
3404+
3405+ "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
3406+
3407+ "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
3408+
3409+ "wsl-utils/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="],
3410+
3411+ "xss/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
3412+
3413+ "yaml-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3414+
3415+ "youch-core/error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="],
3416+
3417+ "zip-stream/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3418+
3419+ "@babel/generator/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.0", "", {}, "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg=="],
3420+
3421+ "@babel/generator/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.4", "", {}, "sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg=="],
3422+
3423+ "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
3424+
3425+ "@iconify/utils/@antfu/install-pkg/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3426+
3427+ "@img/sharp-freebsd-wasm32/@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3428+
3429+ "@img/sharp-webcontainers-wasm32/@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3430+
3431+ "@intlify/bundle-utils/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
3432+
3433+ "@intlify/bundle-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
3434+
3435+ "@intlify/bundle-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
3436+
3437+ "@intlify/bundle-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
3438+
3439+ "@intlify/bundle-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
3440+
3441+ "@intlify/bundle-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
3442+
3443+ "@intlify/bundle-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
3444+
3445+ "@intlify/bundle-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
3446+
3447+ "@intlify/bundle-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
3448+
3449+ "@intlify/bundle-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
3450+
3451+ "@intlify/bundle-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
3452+
3453+ "@intlify/bundle-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
3454+
3455+ "@intlify/bundle-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
3456+
3457+ "@intlify/bundle-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
3458+
3459+ "@intlify/bundle-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
3460+
3461+ "@intlify/bundle-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
3462+
3463+ "@intlify/bundle-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
3464+
3465+ "@intlify/bundle-utils/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
3466+
3467+ "@intlify/bundle-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
3468+
3469+ "@intlify/bundle-utils/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
3470+
3471+ "@intlify/bundle-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
3472+
3473+ "@intlify/bundle-utils/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
3474+
3475+ "@intlify/bundle-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
3476+
3477+ "@intlify/bundle-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
3478+
3479+ "@intlify/bundle-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
3480+
3481+ "@intlify/bundle-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
3482+
3483+ "@intlify/vue-i18n-extensions/vue-i18n/@intlify/core-base": ["@intlify/core-base@10.0.8", "", { "dependencies": { "@intlify/message-compiler": "10.0.8", "@intlify/shared": "10.0.8" } }, "sha512-FoHslNWSoHjdUBLy35bpm9PV/0LVI/DSv9L6Km6J2ad8r/mm0VaGg06C40FqlE8u2ADcGUM60lyoU7Myo4WNZQ=="],
3484+
3485+ "@intlify/vue-i18n-extensions/vue-i18n/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="],
3486+
3487+ "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
3488+
3489+ "@mapbox/node-pre-gyp/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
3490+
3491+ "@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
3492+
3493+ "@nuxt/devtools/which/isexe": ["isexe@4.0.0", "", {}, "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw=="],
3494+
3495+ "@nuxt/nitro-server/@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3496+
3497+ "@nuxt/vite-builder/@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3498+
3499+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.141.0", "", { "os": "android", "cpu": "arm" }, "sha512-jk7086MFvR/T4DG9IY7MKBVt1PMxvSZoz/TvnifodvS0pjghVwJHRttnAExhlwdMOgHv1TmLdENnbNpYk2zjvA=="],
3500+
3501+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.141.0", "", { "os": "android", "cpu": "arm64" }, "sha512-a4XDQ27ZT7e7zwAlxJDTiCA7IBGWDuy2+MhFq85Of7XlBSmpkfcBFml11q0Zx6f7RMuI0B4xCtt2ytBS4yOptg=="],
3502+
3503+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.141.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-m/kVk6rzYmBeHYnz+1Y5fod00AVTTxMbC71azFfm/zjx1j9XxwKtA0+VfkKuVMC8rbghb9TtfevnuWZa9OuPEg=="],
3504+
3505+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.141.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-o0X+6KZlfucWU/v5oKRQPwdFXsXAjW8jmpo/Gpw/qyKsbKtlfkHoeH9Bjp/m13TwjewvJnCkwF0DWzgpC4HjTQ=="],
3506+
3507+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.141.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-W5KbTnNkTMMMylqj6dYqnsXvkmESVPodPKYLJ5zdzIPdl9fUJtolkpUeSzYEbGGYB4a4A4avl3EePnZ/wLIdJg=="],
3508+
3509+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-g3dtbJa8zeOGK36Sr9cQavsdi5H/ie2hVjrSjIxsNAR1qZA40ZYVXnfdfoMAlq8CmB9qFL1yhsSCUHeNmdmt8w=="],
3510+
3511+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-e6hwQqd+3lvP13G2jxvFpoA7dzHcFLN+Mq47JCVMtdNHbbyBRo756JCtbbJH6ca8inTfyqZoqBmS3vhQlzAK2w=="],
3512+
3513+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-vXz2BLAuypA+4MLyBg94pzEo6THVnzYnCtAjXoihIIQo0t2pnp/AmW+SH1EI+4VbuJnC//KplIJ5yyaCGua4jA=="],
3514+
3515+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-jMkS/EztNW34HKsXIaT/SoHcmtocq/vWhwFOVduF9kduuuRIVwfwQ6uxzIO+qPKSXdd2TXt54of0BJ2zFMXnmw=="],
3516+
3517+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.141.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-vo+MR+n3zQJ6Mq92hiP084NZcgDv5iJlVR02gMf28neMvVT1tKVm7VeiW/DxhdqOi3QLeaXIk9cUcLL1qrkngw=="],
3518+
3519+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-oh80w+7RuiO5gBp9Jnoa/H8Qlt3JsHL2MkW+0dwEdlDMdslVZX/YsekSK6EeyEenY66/mhCfypsNATQ7Ph3qlQ=="],
3520+
3521+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-LOyEmFA8sCnYbEXP1+iQvCC/P1YXHMA/t6x1Ksp0Y9VwhLFsiBJFzV1zIxrOIE2LKaGGhDjQ29xq9cbq6omDXA=="],
3522+
3523+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.141.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-3wnwk/l1CvszVE5TJR1wSl/zSEfydRqrNhn6s7Vr9IzSJpUQIroqVsIoPARHRFA+FQwkxAFDAHDAasa7v8OobQ=="],
3524+
3525+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-qtyQVAAebFq57B2tifTlel3TgGqUtsYNI/e+p6aya9rN9lOZVTDvr215fGYSA9XWooxzMxDiVxkBLk2jQHbsOQ=="],
3526+
3527+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-SkGV1nKw40roEc94pv5EaaeH2ay14G6+roe8Q0wIUC1LcEKxzKW921h7+ZuZX0D3q2Mb/7aSFmxEVqnko3lPRw=="],
3528+
3529+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.141.0", "", { "os": "none", "cpu": "arm64" }, "sha512-cVgDM7n8QziQqOaP5hNgUYfMG7S/ZeuPxFWXnnHRv7rh025COk0rfQ6eEdKG3j/GaUuyvNZN4ifF1J8KmuXLLA=="],
3530+
3531+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.141.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-HggH++Fkn3OilBn+bs3jpgIFQa34oMAyUUHy0vpGum+gt1Eb5nyLc8dNU/RAPSw6lsLrx7ncKtHSZE+3Sp0l2g=="],
3532+
3533+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.141.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-KLSEH9GwgbrqbJOjtGHt9STw96s+78yDzp7IDN8Lno+7Ut9sNBfZ4jYZIz4mD50qmWUjoOI7i9I6UENbhNbMZQ=="],
3534+
3535+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.141.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-9UVWUOOCI/1YkiSSNjg2zyBJYM9E/t1A/8GNobd48JDn/fQ6mzxcVO3H08jb3rAaW/B1VBf8eCORTvSsO9T08g=="],
3536+
3537+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.141.0", "", { "os": "win32", "cpu": "x64" }, "sha512-HI/wsvbWT5RHHw5c37D0fEgeTd8/1Q4OJs5jUmEBc17VZFG6SsCIe4barq7NsAPPks/JW+3ayi3Rp+PQI5h4Kg=="],
3538+
3539+ "@nuxtjs/i18n/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.141.0", "", {}, "sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ=="],
3540+
3541+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.141.0", "", { "os": "android", "cpu": "arm" }, "sha512-FOdseb5KpV3JtkM+7TN4u3sW3aQkUSRy0bWWiKgT/qrIGqZHqzKEUpwaMybutsfwEglWBXuJgnrT9loWisPkrw=="],
3542+
3543+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.141.0", "", { "os": "android", "cpu": "arm64" }, "sha512-jglqGwEnSuldt1nfFSpDBHQZ/RzjCjWQEMDatPOEOWIA0ZCCYFj/9ILUOTVllZz79FI9/c0p/bctVVlQqQxxYg=="],
3544+
3545+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.141.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-81jBeodJH0IRJ3/OnAgW2lBPm/kcoz603d8eGnnwgW2HbxAUs8rfw+YWaKLrWaKjT0oSIPOrGMJu9DeaKD68sQ=="],
3546+
3547+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.141.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-o2jD9E7CyPxhb3CuYbaYsnFH0Mo1hKa2R+Hfo6xJxOlyfcM8U4R73W3YXb9w6lRPUc0PBFUbCmJjtGR/k5SIYA=="],
3548+
3549+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.141.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-DNF+Of7nckfwqu9fZin4vR8bGmF/3sWPvtw9Jc4cjeQoRB9vUuC6w9C/GxW+0Vr+PCH+gk4tR4Ygvjfx3LYOzQ=="],
3550+
3551+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-nolqi5WqP68qVQJdnPFCF50JT5KzqlcpvwGFyIV+IRCLcv5Hh11gIu4InMs3Uswcf0BJnV/oLIjzb7Sycd3zJg=="],
3552+
3553+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-ytbO89DQl6KxjKCRlyCEtABgfs8njm623ambDkZZBer5J9dbTwbaV5hseZsPkVzZPxwXobu43/XS0jVZnrmCTA=="],
3554+
3555+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Tjj3pobBAzbzUJE8ljbS61om6yfVnarSZzS8LaFCSn0rB+hs0IZRE3jC9IzpsVPHSoJl4uhbIGebuDY2G3B6gg=="],
3556+
3557+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-aUUptri02E4nqkUvyA+2oYkmU20pYnHIpNLPZOgom0kAa0Fx9X6QFKqKm1MopyucWolQ9XTgCK2PrupSSBdCdQ=="],
3558+
3559+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.141.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-d28AT+SfcAYFnulI2C8HJ5OeoUa5w+eMpwy0uMzbU/3zXJpFjjFOvJlEL8FNvx7HBEENj5IfgD+aXdNzEEn1Tg=="],
3560+
3561+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-P6XVhw+MJsjeliWJ6BBKdC0HU1VEiwMRHtqUADK+jK5wiqgzt3/JhIcMuRLzBPYfnOujLpe+fm63yEzKUIAcSA=="],
3562+
3563+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-6QUicErqoLpCVsXPYI+OEYJ95TjiV+trvX9VeCuyVcyL5p0Opi7DFQL2c1DcGHi1c9cqz1h09mUKCZ7Y52kxfw=="],
3564+
3565+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.141.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-r2Jk0vfcnHnkPOjLnWvpGVTFcYDirGICBJYraCkWeplhPZ2Sgg9GvDVgah9VFOHRZVtK6XQynELP9A8EB/Ne0Q=="],
3566+
3567+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-lIsdGq4LA1IlbrZlmrhP/p0pCo4+5jrAlLp9BMzIHaV4mILBSr+ZtuTDkML4117cLHdzoWOqw0s3Rb7igOWtxw=="],
3568+
3569+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-y+9FbVRBhUtHBVn0xHiVcaNHkoRudIhlKhRk1+CclE1uGD6af3xznTjCOrKGB7HZ2SzlCWLZwQGm/KERpUjX1w=="],
3570+
3571+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.141.0", "", { "os": "none", "cpu": "arm64" }, "sha512-Ul5Fu6zPL7kjTbtBU30HaRFHPL3bjjpdieHmAXJlJDuFukuOXqVD6dS70b314IjFy/rbqkD8OK4MQ4408eEjyg=="],
3572+
3573+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.141.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-GaQJvcyFJyle5lll67+iYAgv+G21bQXvWPNhD6YIYoR/bV8kS0Qm8YSL22Y/YZC/8RwsneVFWpP2y6VZJfcM/g=="],
3574+
3575+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.141.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Fbi/hC64tNa56mXEitjaWsxQoMvtJDbOe2MxO+BA1v1Ev28L9n1yMJwhKyOCA+Rm8lYK91oOb5CRv3Ct5RuvJA=="],
3576+
3577+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.141.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-2HlslqwOXQ2nxAZjhqZIpvPxENhQGvA6b4cGwmiVD6Uh5x+dZAopOeEJRxRPpKcrr/W5KXfwwbttwx4OWbg9TA=="],
3578+
3579+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.141.0", "", { "os": "win32", "cpu": "x64" }, "sha512-JEgTv+y56FbwinH1/kqpNyD+bWRWDpbbPdSY7Ta7rCKFiRsYkUHZd1v+XWxda08cS8GAmlKS4WKcVwtrAbDUHA=="],
3580+
3581+ "@nuxtjs/i18n/unrouting/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3582+
3583+ "@octokit/plugin-paginate-rest/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="],
3584+
3585+ "@octokit/plugin-rest-endpoint-methods/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="],
3586+
3587+ "@tailwindcss/node/lightningcss/lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="],
3588+
3589+ "@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="],
3590+
3591+ "@tailwindcss/node/lightningcss/lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="],
3592+
3593+ "@tailwindcss/node/lightningcss/lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="],
3594+
3595+ "@tailwindcss/node/lightningcss/lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="],
3596+
3597+ "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="],
3598+
3599+ "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="],
3600+
3601+ "@tailwindcss/node/lightningcss/lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="],
3602+
3603+ "@tailwindcss/node/lightningcss/lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="],
3604+
3605+ "@tailwindcss/node/lightningcss/lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="],
3606+
3607+ "@tailwindcss/node/lightningcss/lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="],
3608+
3609+ "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
3610+
3611+ "archiver-utils/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="],
3612+
3613+ "archiver-utils/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
3614+
3615+ "cheerio/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3616+
3617+ "comark/htmlparser2/domelementtype": ["domelementtype@3.0.0", "", {}, "sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg=="],
3618+
3619+ "comark/htmlparser2/domhandler": ["domhandler@6.0.1", "", { "dependencies": { "domelementtype": "^3.0.0" } }, "sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg=="],
3620+
3621+ "comark/htmlparser2/domutils": ["domutils@4.0.2", "", { "dependencies": { "dom-serializer": "^3.0.0", "domelementtype": "^3.0.0", "domhandler": "^6.0.0" } }, "sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA=="],
3622+
3623+ "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="],
3624+
3625+ "eslint/find-up/locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="],
3626+
3627+ "hast-util-raw/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3628+
3629+ "lazystream/readable-stream/isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
3630+
3631+ "lazystream/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
3632+
3633+ "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
3634+
3635+ "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="],
3636+
3637+ "nitropack/dot-prop/type-fest": ["type-fest@5.8.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA=="],
3638+
3639+ "nitropack/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3640+
3641+ "nitropack/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3642+
3643+ "nitropack/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3644+
3645+ "nitropack/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3646+
3647+ "nitropack/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3648+
3649+ "nitropack/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3650+
3651+ "nitropack/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3652+
3653+ "nitropack/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3654+
3655+ "nitropack/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3656+
3657+ "nitropack/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3658+
3659+ "nitropack/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3660+
3661+ "nitropack/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3662+
3663+ "nitropack/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3664+
3665+ "nitropack/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3666+
3667+ "nitropack/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3668+
3669+ "nitropack/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3670+
3671+ "nitropack/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3672+
3673+ "nitropack/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3674+
3675+ "nitropack/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3676+
3677+ "nitropack/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3678+
3679+ "nitropack/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3680+
3681+ "nitropack/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3682+
3683+ "nitropack/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3684+
3685+ "nitropack/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3686+
3687+ "nitropack/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3688+
3689+ "nitropack/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3690+
3691+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.139.0", "", { "os": "android", "cpu": "arm" }, "sha512-22EsXTA3Vc7OvrF4bfT48PFln2UbxkVgrp/Tm32qLw76Dv7SmcInfClJe6yPYamnli6HiqasnESZ5ezN+X4ybg=="],
3692+
3693+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.139.0", "", { "os": "android", "cpu": "arm64" }, "sha512-uASQkZV+CUQ6xXvoMzDQyfhd8OMusdv2FyCPfAi5ZDYptesapJlw7erhpGi1Lc+U8QjQV2JUrIh7d/3su2LzmQ=="],
3694+
3695+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.139.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-vuQOv2WF5pZCkdSPEExul98o853M3MCR24DpWsGrUoPJu5KcnGE34kLXY2yFwBwZwT+eN1x40Tt4q6ZzlEdNUA=="],
3696+
3697+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.139.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-zxZB8ChS+7XactZhcyxQ292P/DNiiBaPPKYiVUlb3RC0V/hme5bokNubjcmEmbW9uTfmqLTpveAdkbe66H3pGg=="],
3698+
3699+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.139.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-iw2MsoCPBQwdJqywRAGsF1jEAcGoZ+DeG2LVzt5pdUvRHqajsMF46BH0rHiWoWtMwcMSia+oQYga7fHo7u7Bcw=="],
3700+
3701+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.139.0", "", { "os": "linux", "cpu": "arm" }, "sha512-SwjD/k3Y5bwGJWOH313VyaDrAuaYg1Pe+4AAXCgUKvSO5IHkj+mZ0oFcOWmB5nTuOM3uwdT+leL8h4OnFlI5hw=="],
3702+
3703+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.139.0", "", { "os": "linux", "cpu": "arm" }, "sha512-qbeygDkcvailKFhphb2YGMMXsaZIynHlPtoOrcx4NZB/tRbUKraCCMbw8dPeFtEKasfS2qWh1VnReY+Lcys1zA=="],
3704+
3705+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.139.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-SrlL02KeImKlvx/9rCeopOLH7qKI3rqKKEguK6KBwVwEGLhV/A47dW4DNigf6/LFhrwoovaiayEQryjYAI86dQ=="],
3706+
3707+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.139.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-u9e884ChAVRmIZ1jr/m46S96FoDQnruFjISLi4Y0i6Wu/JUUmIiw7+umLyXILJsPfUuqnN5BJLe23t07+Y6+IA=="],
3708+
3709+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.139.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Z9tU2b3GJfAXOdirQmz4gZQkQkVjy53i77gf91l0733MQKa/qtk73KQQE2GzDtMqim+HyjpzvemmqzBtH2IJUA=="],
3710+
3711+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.139.0", "", { "os": "linux", "cpu": "none" }, "sha512-RyUbr7hzPK84YDWKs77PRYk9VBwWbsbuYsQzQWiSmLnARXTg2zntLPGfCH/1wpfUYdmGkp/6SsqTXSsYdw9Jgw=="],
3712+
3713+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.139.0", "", { "os": "linux", "cpu": "none" }, "sha512-dcQhjtcDvtR8BgkUpt03Yz5SzxdzYvTigenIJOEsiSX6G2t6yybEMxGWjp0dOuYGror0BaqcZfTyXR58amCEig=="],
3714+
3715+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.139.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-iuGrxysV4rGUymdKpn7bgZQ6Vix8Bi/6D/rp71HYIzphq6NKrsBhsGOYsSZte+uBFL43tXh7Xr7TM72sGliJNA=="],
3716+
3717+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.139.0", "", { "os": "linux", "cpu": "x64" }, "sha512-NxJdZZyaa2JLLvNfH/iJQXfCNfKcPMylwY4ObMpBVmW4Nq+RyUpVVQXrMMelcQ6rwx3nuhF1Iga8n+eoAKGCIA=="],
3718+
3719+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.139.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ePxBvvtzISmSsJ0RIj8FNikSCn58i1jtccj7XR4U9Li4iSzhkFyYlnJ51cQTUwkairz8WMTD4SpKoot8RyTnQA=="],
3720+
3721+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.139.0", "", { "os": "none", "cpu": "arm64" }, "sha512-b/c2+mPXMOxG5x16n8yf9cjor/ntQQScmYnSmLEWIWJ4rfXd5dokMxx0kliSLA+YAGq6DD3K9BWi+aFXHiiV1w=="],
3722+
3723+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.139.0", "", { "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-rNU0pO+/CVPC2qZ+xtX5R2cOje9Q75q3UkfgwUCPlplqxMv6Iffd5tMPGVMCLGnPINxPlmi0WPsW94HltbYvfQ=="],
3724+
3725+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.139.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-JPEmfncZfqAFiGsAN6UZSMIBqnG8wn8buywRacFOWjP+9dZwcs03SsBp4tmyjM/4l/VoH/IuThrW1Jof3OyQUw=="],
3726+
3727+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.139.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-c06dWBwEnFHof5JN7T9/ts23uATXS9czPEBO60d4xnjH2Am29Bo7OGKdVHRmcWQnw0OBxlTg9fIEXAvtcwOBfw=="],
3728+
3729+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.139.0", "", { "os": "win32", "cpu": "x64" }, "sha512-bI3/44urQjW/D495JPXe+c9d+4Q+ONi3DvDNnzwRZYTWHZ3hAlFdmirYK4mzhTfCZiAly02EbMYir7QGU+9O2Q=="],
3730+
3731+ "nuxt-component-meta/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.139.0", "", {}, "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw=="],
3732+
3733+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.142.0", "", { "os": "android", "cpu": "arm" }, "sha512-ZiRGDutGsv1G6bL/ozy/koC0Sv39T1DqyoC4KD1DOy9ZoACm1O5UWhEK2c02Qdk+4lfLVkvFa/mQ0fm/4h1BtQ=="],
3734+
3735+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.142.0", "", { "os": "android", "cpu": "arm64" }, "sha512-WZkvGRLNQTz8lR9zP5nLjUdlroRCopBu3g9zF1p/laE6DzT1UbQo8Rdz5MWhaJUPYg/6gp+jo7HUgsyKaN1FtQ=="],
3736+
3737+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.142.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-l4khS8LQOOVYsGRVARo1gSaCT/aBSceUVXgtovWc2+drnxVuDr082WA3OCHVdVzIz5JIrP/y9CWsSKxBDNmYGg=="],
3738+
3739+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.142.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-QBsNF3nqlXmcH2B1YOPqQYmCJoy4HuIjUxGbBO/k5JAJUl68ghU2psRY2zPk+RyBaWqKP/qfL4oaFgEMCdwskA=="],
3740+
3741+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.142.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-b7Q7m4Cqc6XqNhri3R+QhU+GVy646Pn+bkdhrDdWym/Fdi0ZUa+d73H9dm5H91JtbtAQ/z1d8XKMW3oOV8a4tQ=="],
3742+
3743+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-3riVS5IhdH3uCZj1Y9ftDQlR0dvLsIlw/edrRqk8JhgNd5K0XSs+UBtgh50N13CAlW9/TXj6sVGXaKNBocd0Yg=="],
3744+
3745+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-NmXUOpgpTSkhl795TiXmWppTwmSJ92RC1qvD6e4XOF+slgmo3e6Ah+kEu+6AN8s7NAOEwqGmir58MgSQSWmBSA=="],
3746+
3747+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-gc0EXsKtXgerujmU2Bql3u1L1HsSQ2774R83idq/FoNMPVV/RY/1ErFsvnit7KoiP/sLvzQixeUo4Ut0ic0wmw=="],
3748+
3749+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-F2XvmWSE0uWpie+jHKKIFgdVOe9ypGhkEZxKx5DuW215K6cbAC274yYaPkcM7EqY4Df3Weyhpcz3lsURyH2LVg=="],
3750+
3751+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.142.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-wLMbT21U/QxknQsk+VvNF0b9D2/aGWhcaQQQ+VYlE8FwD5+GoWZIPPXNzyHmkYyhm0KB3itL+TBavjMatqNnYA=="],
3752+
3753+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-+G8F/4ckwT7FCJV4H2bt09xEzJbjNCfuL4Sp1AYNaFtFMVtgIGMuJlteT82U+K0UIZ/DzAR/LDlMFnEuajG7Kw=="],
3754+
3755+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-hTsHtTLxMAfCo+rpF5K3qZJKW2NpPN/CHd4mYB3y7XlSdspHkd2gehDIofP64AacA9nWQw2tY3O7wR6UY8IVOA=="],
3756+
3757+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.142.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-6y7qYY3TCUDYjqswImdTGl92y+KA/80twALegQPN27kfY+bG7Ib1+L3jbmrCZQx6wrVnai9IPsEZp07I0hx7JQ=="],
3758+
3759+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-i69kAWU+2LgoH5bR+zWiiu+UzAw7Oxkwv7COeJTeY19pn4e70nKQcr9Pm6cL2Z0Z54d+gl9qADlK/0yyuCPiBA=="],
3760+
3761+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-4SQs678MmjYVrmhAgCWD4o0vpaFszXw9xLX5p2Z9MMFcltxiLkA88wQjh80YHjPrXtpyZ2CWI5m+1yNKM0m2Pw=="],
3762+
3763+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.142.0", "", { "os": "none", "cpu": "arm64" }, "sha512-YHpx9N7Ln3a++Tc8rv+H7mrK1zyJQOAwCFg8LZ3lTs1T5afGWeZrLPhPT9HLnIwSjCyJqPWVMIrMxbjcmBr2oQ=="],
3764+
3765+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.142.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-3pLDyY3+oogW73RM5uehNgAiR/Xfb7fvO2Q1Z1gIqZ2+50XDVQmBVlRkHXZTU4gKnQHpwETNsYQVsJ3joVB2iA=="],
3766+
3767+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.142.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Had/VeVY28Oyb0K+Q4FV8KCzoBycIh93oDK6pCbya9lkzdq+ikMHMgBubsdqqlybjJmQRawCQRrnBRHyQwYvcQ=="],
3768+
3769+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.142.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-GGi3+YphVHavvgs6gum2UXoNCqzHAmPt/nXkn8ZQZstV2Q1qZD1Mn8fz/nWrDkefHQtrG/+1/XrbMxsBTo6Svw=="],
3770+
3771+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.142.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Ny/Wv4Us1LGC/ljwNTp+Hx3r/pH15EFfeDF0p+n898gt+TtRd6C9SccHcuUhDiNTb8s5tt7jdeAMDRQZ4Vq6hg=="],
3772+
3773+ "nuxt-og-image/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.142.0", "", {}, "sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ=="],
3774+
3775+ "nuxt-studio/ipx/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3776+
3777+ "nuxt-studio/ipx/sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
3778+
3779+ "nuxt-studio/nuxt-component-meta/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3780+
3781+ "nuxt-studio/nuxt-component-meta/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
3782+
3783+ "nuxtseo-shared/@nuxt/devtools-kit/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3784+
3785+ "parse5-htmlparser2-tree-adapter/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3786+
3787+ "parse5-parser-stream/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3788+
3789+ "playground/docus/@ai-sdk/mcp": ["@ai-sdk/mcp@1.0.67", "", { "dependencies": { "@ai-sdk/provider": "3.0.14", "@ai-sdk/provider-utils": "4.0.42", "pkce-challenge": "^5.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-jqYmZT2+YBIfMH0+iU2qMtPAM6MrJ+m2NoX0PB76Kx5ymG59R/7JK6hzTm6PURYwXr3tnvmii/g2ztosGNH8Kg=="],
3790+
3791+ "playground/docus/@comark/vue": ["@comark/vue@0.4.0", "", { "dependencies": { "comark": "^0.4.0" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.16.45", "shiki": "^4.0.0", "vue": "^3.5.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-1o4BBBzVIcxCsPOfWUzcYqdnSSI+bCyldxzlrbATc5U+s40Hm+ls7UppYAHPyOqUQPpMZy2vbvD4ESe+PD5lgg=="],
3792+
3793+ "playground/docus/@nuxtjs/mcp-toolkit": ["@nuxtjs/mcp-toolkit@0.17.2", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "@nuxt/kit": "^4.4.6", "@vitejs/plugin-vue": "^6.0.7", "tinyglobby": "^0.2.16", "vite-plugin-singlefile": "^2.3.3" }, "peerDependencies": { "@vue/compiler-sfc": "^3.5.34", "agents": ">=0.12.4", "h3": ">=1.15.11", "secure-exec": ">=0.2.1", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.5.34", "zod": "^4.1.13" }, "optionalPeers": ["@vue/compiler-sfc", "agents", "secure-exec", "vite", "vue"] }, "sha512-8/4d/QTc6KfUTml8IlQ2mrznszQcBCribciz+wogbCL+YCrKjqbzSz8azaQ8MvqdSHk1h3acTL4qdkLNLurLlA=="],
3794+
3795+ "playground/docus/@takumi-rs/core": ["@takumi-rs/core@1.8.7", "", { "dependencies": { "@takumi-rs/helpers": "1.8.7" }, "optionalDependencies": { "@takumi-rs/core-darwin-arm64": "1.8.7", "@takumi-rs/core-darwin-x64": "1.8.7", "@takumi-rs/core-linux-arm64-gnu": "1.8.7", "@takumi-rs/core-linux-arm64-musl": "1.8.7", "@takumi-rs/core-linux-x64-gnu": "1.8.7", "@takumi-rs/core-linux-x64-musl": "1.8.7", "@takumi-rs/core-win32-arm64-msvc": "1.8.7", "@takumi-rs/core-win32-x64-msvc": "1.8.7" } }, "sha512-Ia8I3vg0VAQPnzHiYRrd18UgZbIj3X0zMwWMjuTm3yb2TBH1988lPwnnlf+eAfYMwZrutNiXLLtgEnkzsm2gMw=="],
3796+
3797+ "playground/docus/nuxt-og-image": ["nuxt-og-image@6.6.0", "", { "dependencies": { "@clack/prompts": "^1.5.1", "@nuxt/kit": "^4.4.8", "@unocss/config": "^66.7.0", "@unocss/core": "^66.7.0", "@vue/compiler-sfc": "^3.5.35", "chrome-launcher": "^1.2.1", "consola": "^3.4.2", "culori": "^4.0.2", "defu": "^6.1.7", "devalue": "^5.8.1", "exsolve": "^1.0.8", "lightningcss": "^1.32.0", "magic-string": "^0.30.21", "magicast": "^0.5.3", "mocked-exports": "^0.1.1", "nuxt-site-config": "^4.0.8", "nuxtseo-shared": "^5.2.6", "nypm": "^0.6.6", "ofetch": "^1.5.1", "ohash": "^2.0.11", "oxc-parser": "^0.135.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "std-env": "^4.1.0", "strip-literal": "^3.1.0", "tinyexec": "^1.2.4", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "unplugin": "^3.0.0" }, "peerDependencies": { "@resvg/resvg-js": "^2.6.0", "@resvg/resvg-wasm": "^2.6.0", "@takumi-rs/core": "^1.0.0-beta.3", "@takumi-rs/wasm": "^1.0.0-beta.3", "@unhead/vue": "^2.0.5 || ^3.0.0", "fontless": "^0.2.0", "nitropack": "^2.13.4", "playwright-core": "^1.50.0", "satori": ">=0.19.2", "sharp": "^0.34.0", "tailwindcss": "^4.0.0", "unifont": "^0.7.0", "unstorage": "^1.15.0", "zod": ">=3" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm", "@takumi-rs/core", "@takumi-rs/wasm", "fontless", "nitropack", "playwright-core", "satori", "sharp", "tailwindcss", "unifont", "zod"], "bin": { "nuxt-og-image": "./bin/cli.mjs" } }, "sha512-PsnLWVf2D3/pmVvQ/7H17qKtFcKJlH0O611XZhpSx5bEwalNY8tbotmHAqlavhRk5KUvCJBUuCE+QCIW3aBE7w=="],
3798+
3799+ "readdir-glob/minimatch/brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="],
3800+
3801+ "release-it/c12/giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="],
3802+
3803+ "release-it/c12/rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="],
3804+
3805+ "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3806+
3807+ "tsup/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
3808+
3809+ "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3810+
3811+ "tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3812+
3813+ "tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3814+
3815+ "tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3816+
3817+ "tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3818+
3819+ "tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3820+
3821+ "tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3822+
3823+ "tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3824+
3825+ "tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3826+
3827+ "tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3828+
3829+ "tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3830+
3831+ "tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3832+
3833+ "tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3834+
3835+ "tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3836+
3837+ "tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3838+
3839+ "tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3840+
3841+ "tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3842+
3843+ "tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3844+
3845+ "tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3846+
3847+ "tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3848+
3849+ "tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3850+
3851+ "tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3852+
3853+ "tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3854+
3855+ "tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3856+
3857+ "tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3858+
3859+ "tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3860+
3861+ "vaul-vue/@vueuse/core/@types/web-bluetooth": ["@types/web-bluetooth@0.0.20", "", {}, "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="],
3862+
3863+ "vaul-vue/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@10.11.1", "", {}, "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw=="],
3864+
3865+ "vaul-vue/@vueuse/core/@vueuse/shared": ["@vueuse/shared@10.11.1", "", { "dependencies": { "vue-demi": ">=0.14.8" } }, "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA=="],
3866+
3867+ "vite-plugin-checker/npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
3868+
3869+ "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3870+
3871+ "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3872+
3873+ "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3874+
3875+ "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3876+
3877+ "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3878+
3879+ "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3880+
3881+ "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3882+
3883+ "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3884+
3885+ "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3886+
3887+ "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3888+
3889+ "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3890+
3891+ "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3892+
3893+ "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3894+
3895+ "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3896+
3897+ "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3898+
3899+ "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3900+
3901+ "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3902+
3903+ "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3904+
3905+ "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3906+
3907+ "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3908+
3909+ "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3910+
3911+ "vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3912+
3913+ "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3914+
3915+ "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3916+
3917+ "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3918+
3919+ "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3920+
3921+ "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
3922+
3923+ "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3924+
3925+ "@intlify/vue-i18n-extensions/vue-i18n/@intlify/core-base/@intlify/message-compiler": ["@intlify/message-compiler@10.0.8", "", { "dependencies": { "@intlify/shared": "10.0.8", "source-map-js": "^1.0.2" } }, "sha512-DV+sYXIkHVd5yVb2mL7br/NEUwzUoLBsMkV3H0InefWgmYa34NLZUvMCGi5oWX+Hqr2Y2qUxnVrnOWF4aBlgWg=="],
3926+
3927+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3928+
3929+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3930+
3931+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3932+
3933+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3934+
3935+ "archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="],
3936+
3937+ "archiver-utils/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
3938+
3939+ "comark/htmlparser2/domutils/dom-serializer": ["dom-serializer@3.1.1", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "entities": "^8.0.0" } }, "sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw=="],
3940+
3941+ "eslint/find-up/locate-path/p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="],
3942+
3943+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="],
3944+
3945+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="],
3946+
3947+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3948+
3949+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3950+
3951+ "nuxt-studio/ipx/sharp/@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="],
3952+
3953+ "nuxt-studio/ipx/sharp/@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="],
3954+
3955+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="],
3956+
3957+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="],
3958+
3959+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="],
3960+
3961+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="],
3962+
3963+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="],
3964+
3965+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="],
3966+
3967+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="],
3968+
3969+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="],
3970+
3971+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="],
3972+
3973+ "nuxt-studio/ipx/sharp/@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="],
3974+
3975+ "nuxt-studio/ipx/sharp/@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="],
3976+
3977+ "nuxt-studio/ipx/sharp/@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="],
3978+
3979+ "nuxt-studio/ipx/sharp/@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="],
3980+
3981+ "nuxt-studio/ipx/sharp/@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="],
3982+
3983+ "nuxt-studio/ipx/sharp/@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="],
3984+
3985+ "nuxt-studio/ipx/sharp/@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="],
3986+
3987+ "nuxt-studio/ipx/sharp/@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="],
3988+
3989+ "nuxt-studio/ipx/sharp/@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="],
3990+
3991+ "nuxt-studio/ipx/sharp/@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="],
3992+
3993+ "nuxt-studio/ipx/sharp/@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="],
3994+
3995+ "nuxt-studio/ipx/sharp/@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="],
3996+
3997+ "playground/docus/@ai-sdk/mcp/@ai-sdk/provider": ["@ai-sdk/provider@3.0.14", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-5X1k57JBJ4H7H1QjX7CnJYAB1I19r/trVZTMcSms7/kLNZ8RaU4Nt2agcwZzv82Hfx6Q7/TOLU7agAKeFfc8cA=="],
3998+
3999+ "playground/docus/@ai-sdk/mcp/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.42", "", { "dependencies": { "@ai-sdk/provider": "3.0.14", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^5.29.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Q07lZsq4ir+xwAGVfSbY2WNGLrbfWINFaL2I/vTBFrkuXeP7VZh+UtQgLOKZS6Z/6flNFW22jDYdbINvwTV/PA=="],
4000+
4001+ "playground/docus/@comark/vue/comark": ["comark@0.4.0", "", { "dependencies": { "entities": "^8.0.0", "htmlparser2": "^12.0.0", "js-yaml": "^4.1.1", "markdown-exit": "1.0.0-beta.9" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.16.45", "shiki": "^4.0.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-s+wZc9FDgxJDxS3oLhDhthuc8EFggd7oEQaGKEFSw/UbECEwM3qMgW/T3dk6eoNTuy+PNSAyPQtjyKZJfudlbA=="],
4002+
4003+ "playground/docus/@takumi-rs/core/@takumi-rs/core-darwin-arm64": ["@takumi-rs/core-darwin-arm64@1.8.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-an8vc2B/Qf9vo3uwDmJ6WKazpMBpDruRy/kXr+x98GfIkzMHDEUy+9EgNfUYxprtZo49cJruXrVwzxsqqW+1tA=="],
4004+
4005+ "playground/docus/@takumi-rs/core/@takumi-rs/core-darwin-x64": ["@takumi-rs/core-darwin-x64@1.8.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-q0xQxmb4y4EwYK3ILMBvWvqLGX8gxsqcEas0zOwNbPnxBLTQFF8KVH4jXaKXLUFwj020lu8nsf1BNvLIkJMo3Q=="],
4006+
4007+ "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-arm64-gnu": ["@takumi-rs/core-linux-arm64-gnu@1.8.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-uZ6l792M4Mc06XG+m+8RarTgdR5o1ZLjncULKUEPAw3nBKhRbJ50Re3aLM4n4+p25iOj1oL9QwEZRcaJn8u/Ag=="],
4008+
4009+ "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-arm64-musl": ["@takumi-rs/core-linux-arm64-musl@1.8.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-akVy80ztI2as/b0n0EVCfHNKhibp+Od4ioP49PtX2rQMi6KDtqv3aoCIjaBls8oxzv+4x77/2U9fsWIO2XZQjg=="],
4010+
4011+ "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-x64-gnu": ["@takumi-rs/core-linux-x64-gnu@1.8.7", "", { "os": "linux", "cpu": "x64" }, "sha512-SV1YesGs/HfC1CMpSF5SqS6KbL4hDLvD2m54JcfB+X/0xatmo/CS2XleqoIXhSmR+95X8Of5g2vg1a4TAdpcug=="],
4012+
4013+ "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-x64-musl": ["@takumi-rs/core-linux-x64-musl@1.8.7", "", { "os": "linux", "cpu": "x64" }, "sha512-zprYQ/ivPDmYX4tFaONiAzoDJNTANA3kqfIe7SMHZ2YhkfEhYnr3PE3XtBytgB4W/VlTc9WQLyD77SKwPnPuFw=="],
4014+
4015+ "playground/docus/@takumi-rs/core/@takumi-rs/core-win32-arm64-msvc": ["@takumi-rs/core-win32-arm64-msvc@1.8.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-2S5YcgIj/c0E3sLzWDcxzlXoPvEjR2xC1v7yODe0CvimlRx95Df6rJ9idTS6E1KNUjDaTfqxTr8Ud4gWqYrrPg=="],
4016+
4017+ "playground/docus/@takumi-rs/core/@takumi-rs/core-win32-x64-msvc": ["@takumi-rs/core-win32-x64-msvc@1.8.7", "", { "os": "win32", "cpu": "x64" }, "sha512-sooiM6fL0JN597ciNAFVp9F7YxCW+8hXpwu/7wRMRo0TGQ/KMi1Y94tf1FUu2csCHN0pgy9a3y09y8+qnw3FTw=="],
4018+
4019+ "playground/docus/@takumi-rs/core/@takumi-rs/helpers": ["@takumi-rs/helpers@1.8.7", "", { "peerDependencies": { "react": "^19.2.5", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["react", "react-dom"] }, "sha512-5dSR9W8msQ7Asp4TCvUUB9Bt8yLgIc2ASjWtEG4Jn9xSuAVJLWFZ21Xl8HShW5GE6SV5aCCM9BL0NA9YuBWIJw=="],
4020+
4021+ "playground/docus/nuxt-og-image/oxc-parser": ["oxc-parser@0.135.0", "", { "dependencies": { "@oxc-project/types": "^0.135.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.135.0", "@oxc-parser/binding-android-arm64": "0.135.0", "@oxc-parser/binding-darwin-arm64": "0.135.0", "@oxc-parser/binding-darwin-x64": "0.135.0", "@oxc-parser/binding-freebsd-x64": "0.135.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.135.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.135.0", "@oxc-parser/binding-linux-arm64-gnu": "0.135.0", "@oxc-parser/binding-linux-arm64-musl": "0.135.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.135.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.135.0", "@oxc-parser/binding-linux-riscv64-musl": "0.135.0", "@oxc-parser/binding-linux-s390x-gnu": "0.135.0", "@oxc-parser/binding-linux-x64-gnu": "0.135.0", "@oxc-parser/binding-linux-x64-musl": "0.135.0", "@oxc-parser/binding-openharmony-arm64": "0.135.0", "@oxc-parser/binding-wasm32-wasi": "0.135.0", "@oxc-parser/binding-win32-arm64-msvc": "0.135.0", "@oxc-parser/binding-win32-ia32-msvc": "0.135.0", "@oxc-parser/binding-win32-x64-msvc": "0.135.0" } }, "sha512-/DaPStu0s2zzNSRRniKyTPM6Z/o+DapOp2JYNKDL8AsgaBGPK2IdZyB87SQjVH+xeQPz+Qr9mrjglfkYgtbVRA=="],
4022+
4023+ "playground/docus/nuxt-og-image/strip-literal": ["strip-literal@3.1.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg=="],
4024+
4025+ "playground/docus/nuxt-og-image/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
4026+
4027+ "readdir-glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
4028+
4029+ "release-it/c12/giget/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
4030+
4031+ "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4032+
4033+ "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4034+
4035+ "archiver-utils/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
4036+
4037+ "eslint/find-up/locate-path/p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
4038+
4039+ "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4040+
4041+ "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4042+
4043+ "playground/docus/@ai-sdk/mcp/@ai-sdk/provider-utils/undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="],
4044+
4045+ "playground/docus/@comark/vue/comark/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
4046+
4047+ "playground/docus/@comark/vue/comark/htmlparser2": ["htmlparser2@12.0.0", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "domutils": "^4.0.2", "entities": "^8.0.0" } }, "sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw=="],
4048+
4049+ "playground/docus/@comark/vue/comark/markdown-exit": ["markdown-exit@1.0.0-beta.9", "", { "dependencies": { "@types/linkify-it": "^5.0.0", "@types/mdurl": "^2.0.0", "entities": "^7.0.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" } }, "sha512-5tzrMKMF367amyBly131vm6eGuWRL2DjBqWaFmPzPbLyuxP0XOmyyyroOAIXuBAMF/3kZbbfqOxvW/SotqKqbQ=="],
4050+
4051+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.135.0", "", { "os": "android", "cpu": "arm" }, "sha512-sHeZItACNcA5WRAWqF6ixriR4GkZDyY10gVgnZU7pXku1DjHFATSqnwZM809jl0gXPHxb6fKzYQCK7bNK5cACQ=="],
4052+
4053+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.135.0", "", { "os": "android", "cpu": "arm64" }, "sha512-wPte+SzgzWWFgMSF8YZDNM+tBXtJg0AXBi7+tU3yS2z1f2Af9kRLZLKuJojADmuD/cZexmnMHHC3SDItTW77Iw=="],
4054+
4055+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.135.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-BmKz3lHIsqVos+9aPcdYCT9MG3APoUyM43KlEFhJMWNVDOGG8FKyiFz81Bc+mGz2o0hpuQ3PfXLfVWJrKXjo2g=="],
4056+
4057+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.135.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-dM8BS+8+Br1fNvmh2QZbGiHaYttwLebRa6J4Uz9vuFzMNmvsdRYwf7993ptOaV0JTrR63AaoVLjX7nhWbijxjQ=="],
4058+
4059+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.135.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xlZnvvJdR9bGu2pOhvR5hMuKPHCE6Sa9owK5A484mzjHdm75VRV5nCs5w/jkmGODMMTFc+KN7EnZqEieM813kw=="],
4060+
4061+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.135.0", "", { "os": "linux", "cpu": "arm" }, "sha512-PSR8LmBK/H/PQRiN8g7RebQgZX/ntVCrdT/JBfNxE5ezdHG1s2i4rbazsRJYD83TTI1MmgTpC0MGL42PLtskQQ=="],
4062+
4063+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.135.0", "", { "os": "linux", "cpu": "arm" }, "sha512-I85GJXzfUsigkkk7Ngdz95C217M4FdUi1Z2HrX5UyPmURobwQZ7m2bbUvwFkz4VGZd+lymFGKHvDZ3RQC9qOzA=="],
4064+
4065+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.135.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-zqEY0npz0g0aGZj/8a5BclunjVDytsBQHYtIC10Gd26HcrLwbVF6YDbqRQjunMGYdSo97u6xOBl05aTDI2diDQ=="],
4066+
4067+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.135.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-mWAfprP819gQ2qYst1RxgTI8b/z0b29OpoKfRflIXLHde2dZLihQD4g47Onuvtpo5GPIkMYPRlX9QoeZfs/GnQ=="],
4068+
4069+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.135.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gri8c2AOmJKJwOux2KTHFBfUaXoJURuVMKhmKEi/2hTF55cQteTDV2XNfTiE5oCC+Tnem1Y4/MWzcyDadtsSag=="],
4070+
4071+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.135.0", "", { "os": "linux", "cpu": "none" }, "sha512-Y2tkupCG5wo0SxH2rMLG4d4Kmv6DaM3sBp+GuM5lox0S8Za6VxKgQrY2Mut088QQxKkEE89n/4CCCgmw2o0e3Q=="],
4072+
4073+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.135.0", "", { "os": "linux", "cpu": "none" }, "sha512-xDRJq6i6WTynjeP+ISbDpyH4p9BaJ0wuQcL0lCSDkt9qOXC9dmwpOu1VG/TlwmPI3KpYntmO9nJCuc3TMTsNBA=="],
4074+
4075+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.135.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-V4MoUuiCRNvihxhIufRxvK+ka013V4joTSK0FAGA1KEjLuNprfH6N/Qw2uxQEVIFuNYMhD/hV6xJ/ptbzlKdHg=="],
4076+
4077+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.135.0", "", { "os": "linux", "cpu": "x64" }, "sha512-JCFZ7zM7KXOKoPAbK/ZB4wY0M1jxRECiem2UQuiXLjzGqS9+hno7mtX+qyK2F7HWK2xPhyJb+frpcOtk5DKOtg=="],
4078+
4079+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.135.0", "", { "os": "linux", "cpu": "x64" }, "sha512-9jSVS1b3hOV7sdKH4aA2DFfnTz0RgQd0v2BefR+LYbH8yIlmSM22JJZbAAjVeVXmFgUAk3zJQ1tpE/Nd+Vi2YQ=="],
4080+
4081+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.135.0", "", { "os": "none", "cpu": "arm64" }, "sha512-M857ZLBSdn1Uy/SJJz5zh0qGu67B4P9omCgXGBU2LLqTzraX6ZjVNaKq5yW1PDw/LgJXDXR/dbZfgmB310f11Q=="],
4082+
4083+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.135.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-2w6DVcntQZX9U5RhXtgiWb3FLWFB5EcwI1U8yr3htOCJUJjagN4BFUHz/Y/d9ZsumndZ6ByxxWEtbUZNE1bfFw=="],
4084+
4085+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.135.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-rX1U8+IH2Z37EJjDXKa1iifvUQAdba+vZ4Ewj1iaG5eA/QaSybzclCOwtWa0/5BuUQnnK/T2JHUEFrwhL6Ck2Q=="],
4086+
4087+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.135.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-9FAisBbH1QICGAjlJobiuKGd/jOuVmyqniWdQMwTa5SkCl6hhuotBCJf1n46B0flYbSOR5TzfV9HZCWSyb3c/Q=="],
4088+
4089+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.135.0", "", { "os": "win32", "cpu": "x64" }, "sha512-wYF+A2AzJ2n7ul6q+Z2G/ia0S2+8cUp0AgWZzoFvF4WmUcl1P7p+o6se1Gdr5wGnWuF0iAMIkGddrjCarNr2yA=="],
4090+
4091+ "playground/docus/nuxt-og-image/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.135.0", "", {}, "sha512-wR+xRdFkUBMvcAjBJ2q2kcZM6d+DKu2NgoOyxZgYwZdLhmiv6+rnO8PZ/P68kMiZtIKm+pW7zyEJ4kSOs0vo+Q=="],
4092+
4093+ "playground/docus/nuxt-og-image/strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="],
4094+
4095+ "eslint/find-up/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
4096+
4097+ "playground/docus/@comark/vue/comark/htmlparser2/domelementtype": ["domelementtype@3.0.0", "", {}, "sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg=="],
4098+
4099+ "playground/docus/@comark/vue/comark/htmlparser2/domhandler": ["domhandler@6.0.1", "", { "dependencies": { "domelementtype": "^3.0.0" } }, "sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg=="],
4100+
4101+ "playground/docus/@comark/vue/comark/htmlparser2/domutils": ["domutils@4.0.2", "", { "dependencies": { "dom-serializer": "^3.0.0", "domelementtype": "^3.0.0", "domhandler": "^6.0.0" } }, "sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA=="],
4102+
4103+ "playground/docus/@comark/vue/comark/markdown-exit/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
4104+
4105+ "playground/docus/@comark/vue/comark/htmlparser2/domutils/dom-serializer": ["dom-serializer@3.1.1", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "entities": "^8.0.0" } }, "sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw=="],
4106+ }
4107+}
bunfig.toml+3−0
@@ -0,0 +1,3 @@
1+[install]
2+# Match previous pnpm onlyBuiltDependencies
3+auto = true
cli/README.md+5−0
@@ -0,0 +1,5 @@
1+# Docs CLI
2+
3+Scaffolding CLI for this documentation template.
4+
5+See the [root README](../README.md) for the main project docs.
cli/cli.ts+42−0
@@ -0,0 +1,42 @@
1+import { resolve } from 'node:path'
2+import { defineCommand, runMain } from 'citty'
3+import type { CLIOptions } from './types'
4+
5+export function createCLI(opts: CLIOptions) {
6+ const main = defineCommand({
7+ meta: {
8+ name: opts.name,
9+ description: opts.description,
10+ },
11+ args: {
12+ dir: {
13+ type: 'positional',
14+ description: 'Project directory',
15+ required: false,
16+ default: 'docs',
17+ },
18+ template: {
19+ type: 'string',
20+ alias: 't',
21+ description: 'Template to use (default, i18n)',
22+ required: false,
23+ default: 'default',
24+ },
25+ },
26+ async setup(context) {
27+ const dir = resolve(context.args.dir as string)
28+ const template = context.args.template as 'i18n' | 'default'
29+
30+ if (!['i18n', 'default'].includes(template)) {
31+ throw new Error('Invalid template')
32+ }
33+
34+ const { runCommand } = await import('@nuxt/cli')
35+ await runCommand('init', [dir, '-t', `gh:nuxt-content/docus/.starters/${template}`])
36+ },
37+ })
38+
39+ return {
40+ runMain: () => runMain(main),
41+ }
42+}
cli/main.ts+12−0
@@ -0,0 +1,12 @@
1+#!/usr/bin/env node
2+import { createCLI } from './cli'
3+
4+const cli = createCLI({
5+ name: 'create-docus',
6+ description: 'Create a new Docus documentation project',
7+ setup: {
8+ defaults: {},
9+ },
10+})
11+
12+cli.runMain()
cli/package.json+38−0
@@ -0,0 +1,38 @@
1+{
2+ "name": "create-docus",
3+ "description": "CLI for scaffolding Docs documentation projects",
4+ "version": "5.12.3",
5+ "repository": {
6+ "type": "git",
7+ "url": "git+https://github.com/krisyotam/docs.git"
8+ },
9+ "private": false,
10+ "license": "MIT",
11+ "bin": {
12+ "create-docus": "dist/main.mjs"
13+ },
14+ "files": [
15+ "dist"
16+ ],
17+ "scripts": {
18+ "prepare": "bun run build",
19+ "build": "tsup-node ./main.ts --format esm",
20+ "dev": "tsx ./main.ts"
21+ },
22+ "dependencies": {
23+ "@nuxt/cli": "3.36.1",
24+ "@nuxt/kit": "^4.4.8",
25+ "c12": "^3.3.4",
26+ "citty": "^0.2.2",
27+ "defu": "^6.1.7",
28+ "scule": "^1.3.0",
29+ "ufo": "^1.6.4",
30+ "unctx": "^2.5.0"
31+ },
32+ "devDependencies": {
33+ "@types/node": "^26.1.1",
34+ "tsup": "^8.5.1",
35+ "tsx": "^4.23.1"
36+ },
37+ "packageManager": "bun@1.3.13"
38+}
cli/tsconfig.json+13−0
@@ -0,0 +1,13 @@
1+{
2+ "compilerOptions": {
3+ "target": "ES2022",
4+ "module": "ESNext",
5+ "moduleResolution": "bundler",
6+ "strict": true,
7+ "esModuleInterop": true,
8+ "skipLibCheck": true,
9+ "types": ["node"]
10+ },
11+ "include": ["**/*.ts"],
12+ "exclude": ["dist", "node_modules"]
13+}
cli/types.ts+7−0
@@ -0,0 +1,7 @@
1+export interface CLIOptions {
2+ name: string
3+ description: string
4+ setup: {
5+ defaults: Record<string, never>
6+ }
7+}
docs/app/app.config.ts+66−0
@@ -0,0 +1,66 @@
1+export default defineAppConfig({
2+ search: {
3+ fts: true,
4+ },
5+ header: {
6+ title: 'Docs',
7+ logo: {
8+ light: '/logo/logo-dark.svg',
9+ dark: '/logo/logo-light.svg',
10+ alt: 'Docs',
11+ wordmark: {
12+ light: '/logo/wordmark-dark.svg',
13+ dark: '/logo/wordmark-light.svg',
14+ },
15+ favicon: '/favicon.svg',
16+ },
17+ },
18+ socials: {
19+ x: 'https://x.com/krisyotam',
20+ },
21+ github: {
22+ url: 'https://github.com/krisyotam/docs',
23+ rootDir: 'docs',
24+ },
25+ // AI chat assistant fully off (no floating input, no Explain with AI)
26+ assistant: {
27+ floatingInput: false,
28+ explainWithAi: false,
29+ },
30+ toc: {
31+ bottom: {
32+ links: [
33+ {
34+ icon: 'i-lucide-globe',
35+ label: 'krisyotam.com',
36+ to: 'https://krisyotam.com',
37+ target: '_blank',
38+ },
39+ {
40+ icon: 'i-lucide-github',
41+ label: 'GitHub',
42+ to: 'https://github.com/krisyotam/docs',
43+ target: '_blank',
44+ },
45+ ],
46+ },
47+ },
48+ ui: {
49+ colors: {
50+ primary: 'neutral',
51+ neutral: 'zinc',
52+ },
53+ pageHero: {
54+ slots: {
55+ title: 'font-semibold sm:text-6xl',
56+ container: '!pb-0',
57+ },
58+ },
59+ pageCard: {
60+ slots: {
61+ container: 'lg:flex min-w-0',
62+ wrapper: 'flex-none',
63+ },
64+ },
65+ },
66+})
docs/app/app.css+3−0
@@ -0,0 +1,3 @@
1+@theme {
2+ --font-sans: "Public Sans", sans-serif;
3+}
docs/app/components/AppHeaderCTA.vue+11−0
@@ -0,0 +1,11 @@
1+<template>
2+ <UButton
3+ v-if="$route.path == '/'"
4+ to="/getting-started/installation"
5+ color="neutral"
6+ size="sm"
7+ class="hidden lg:inline-flex"
8+ >
9+ Get Started
10+ </UButton>
11+</template>
docs/app/components/AppHeaderLogo.vue+93−0
@@ -0,0 +1,93 @@
1+<script setup lang="ts">
2+const props = defineProps<{
3+ white?: boolean
4+}>()
5+
6+const isBlinking = ref(false)
7+const isHovering = ref(false)
8+const isTouchDevice = ref(false)
9+let cleanup: (() => void) | undefined
10+
11+const color = computed(() => props.white ? 'text-white' : 'text-black dark:text-white')
12+const { contextMenuItems } = useLogoAssets()
13+
14+function setupBlinking() {
15+ const blinkDelay = Math.random() * 5000 + 2000
16+
17+ const timerId = setTimeout(() => {
18+ isBlinking.value = true
19+
20+ const blinkTimerId = setTimeout(() => {
21+ isBlinking.value = false
22+ setupBlinking()
23+ }, 200)
24+
25+ return () => clearTimeout(blinkTimerId)
26+ }, blinkDelay)
27+
28+ return () => clearTimeout(timerId)
29+}
30+
31+onMounted(() => {
32+ cleanup = setupBlinking()
33+ isTouchDevice.value = 'ontouchstart' in window
34+})
35+
36+onBeforeUnmount(() => {
37+ cleanup?.()
38+})
39+</script>
40+
41+<template>
42+ <UContextMenu :items="contextMenuItems">
43+ <svg
44+ viewBox="0 0 139 32"
45+ fill="none"
46+ xmlns="http://www.w3.org/2000/svg"
47+ :class="color"
48+ alt="Docus logo"
49+ @mouseenter="isHovering = true"
50+ @mouseleave="isHovering = false"
51+ >
52+ <path
53+ v-if="isBlinking || (isHovering && !isTouchDevice)"
54+ fill-rule="evenodd"
55+ clip-rule="evenodd"
56+ d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 16.0501C26.697 16.0501 28.2332 17.8658 28.2332 15.9708C28.2332 15.9708 26.697 15 24.802 15C22.907 15 21.3708 15.9708 21.3708 15.9708C21.3708 17.8658 22.907 16.0501 24.802 16.0501ZM14.6182 16.0501C16.5133 16.0501 18.0494 17.866 18.0494 15.971C18.0494 15.971 16.395 15 14.5 15C12.605 15 11.1871 15.971 11.1871 15.971C11.1871 17.866 12.7233 16.0501 14.6182 16.0501Z"
57+ fill="currentColor"
58+ />
59+
60+ <path
61+ v-else
62+ fill-rule="evenodd"
63+ clip-rule="evenodd"
64+ d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z"
65+ fill="currentColor"
66+ />
67+ <path
68+ fill-rule="evenodd"
69+ clip-rule="evenodd"
70+ d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z"
71+ fill="currentColor"
72+ />
73+ <path
74+ d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z"
75+ fill="currentColor"
76+ />
77+ <path
78+ d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z"
79+ fill="currentColor"
80+ />
81+ <path
82+ d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z"
83+ fill="currentColor"
84+ />
85+ <path
86+ fill-rule="evenodd"
87+ clip-rule="evenodd"
88+ d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z"
89+ fill="currentColor"
90+ />
91+ </svg>
92+ </UContextMenu>
93+</template>
docs/app/components/content/AssistantDemo.vue+183−0
@@ -0,0 +1,183 @@
1+<script setup lang="ts">
2+import { useChat } from '@ai-sdk/vue'
3+import { DefaultChatTransport, isToolUIPart, isTextUIPart } from 'ai'
4+import { isToolStreaming } from '@nuxt/ui/utils/ai'
5+
6+const config = useRuntimeConfig()
7+const { t, locale } = useDocusI18n()
8+const isEnabled = computed(() => config.public.assistant?.enabled ?? false)
9+
10+const input = ref('')
11+
12+const suggestedQuestionsMap: Record<string, string[]> = {
13+ en: [
14+ 'How do I get started?',
15+ 'What is Docus?',
16+ 'How to customize the theme?',
17+ ],
18+ fr: [
19+ 'Comment démarrer ?',
20+ 'Qu\'est-ce que Docus ?',
21+ 'Comment personnaliser le thème ?',
22+ ],
23+}
24+
25+const suggestedQuestions = computed(() => suggestedQuestionsMap[locale.value] || suggestedQuestionsMap.en)
26+
27+const {
28+ messages: chatMessages,
29+ status,
30+ sendMessage,
31+ stop,
32+ regenerate,
33+} = useChat({
34+ messages: [],
35+ transport: new DefaultChatTransport({
36+ api: config.public.assistant.apiPath,
37+ }),
38+ onError: (error: Error) => {
39+ console.error('AI Chat error:', error)
40+ },
41+})
42+
43+function handleSubmit() {
44+ if (!input.value.trim() || !isEnabled.value) return
45+
46+ sendMessage({ text: input.value })
47+ input.value = ''
48+}
49+
50+function askQuestion(question: string) {
51+ if (!isEnabled.value) return
52+ sendMessage({
53+ text: question,
54+ })
55+}
56+
57+function resetChat() {
58+ if (!isEnabled.value) return
59+ stop()
60+ chatMessages.value = []
61+}
62+</script>
63+
64+<template>
65+ <div class="flex flex-col w-full h-96 rounded-lg overflow-hidden">
66+ <div class="flex-1 overflow-y-auto">
67+ <template v-if="isEnabled">
68+ <div
69+ v-if="chatMessages.length === 0"
70+ class="h-full flex flex-col items-center justify-center p-4"
71+ >
72+ <div class="size-10 rounded-full bg-primary/10 flex items-center justify-center mb-3">
73+ <UIcon
74+ name="i-custom:ai"
75+ class="size-5 text-primary"
76+ />
77+ </div>
78+ <p class="text-sm text-muted mb-4">
79+ {{ t('assistant.tryAsking') }}
80+ </p>
81+ <div class="flex flex-wrap gap-2 justify-center">
82+ <button
83+ v-for="question in suggestedQuestions"
84+ :key="question"
85+ class="px-3 py-1.5 text-xs text-muted bg-elevated hover:bg-accented rounded-full transition-colors cursor-pointer"
86+ @click="askQuestion(question)"
87+ >
88+ {{ question }}
89+ </button>
90+ </div>
91+ </div>
92+
93+ <UChatMessages
94+ v-else
95+ should-auto-scroll
96+ :messages="chatMessages"
97+ compact
98+ :status="status"
99+ :user="{ ui: { content: 'text-sm' } }"
100+ :ui="{ indicator: '*:bg-accented', root: 'h-auto!' }"
101+ class="px-4 py-4"
102+ >
103+ <template #indicator>
104+ <UChatTool
105+ icon="i-lucide-brain"
106+ :text="t('assistant.loading.thinking')"
107+ streaming
108+ />
109+ </template>
110+
111+ <template #content="{ message }">
112+ <template
113+ v-for="(part, index) in message.parts"
114+ :key="`${message.id}-${part.type}-${index}`"
115+ >
116+ <AssistantComark
117+ v-if="isTextUIPart(part) && part.text"
118+ :markdown="part.text"
119+ />
120+
121+ <UChatTool
122+ v-else-if="isToolUIPart(part)"
123+ :text="getToolText(part, t)"
124+ :suffix="getToolSuffix(part)"
125+ :icon="getToolIcon(part)"
126+ :streaming="isToolStreaming(part)"
127+ />
128+ </template>
129+ </template>
130+ </UChatMessages>
131+ </template>
132+
133+ <div
134+ v-else
135+ class="h-full flex flex-col items-center justify-center p-4 text-center"
136+ >
137+ <div class="size-10 rounded-full bg-muted/10 flex items-center justify-center mb-3">
138+ <UIcon
139+ name="i-lucide-sparkles"
140+ class="size-5 text-muted"
141+ />
142+ </div>
143+ <p class="text-sm text-muted">
144+ Assistant not configured
145+ </p>
146+ </div>
147+ </div>
148+
149+ <div class="p-3">
150+ <UChatPrompt
151+ v-model="input"
152+ :disabled="!isEnabled"
153+ :placeholder="t('assistant.askAnything')"
154+ variant="subtle"
155+ :autofocus="false"
156+ size="sm"
157+ @submit="handleSubmit"
158+ >
159+ <template #footer>
160+ <div class="ml-auto flex items-center gap-2">
161+ <UButton
162+ v-if="chatMessages.length"
163+ icon="i-lucide-trash-2"
164+ color="neutral"
165+ variant="ghost"
166+ size="xs"
167+ :disabled="!isEnabled"
168+ @click="resetChat"
169+ />
170+
171+ <UChatPromptSubmit
172+ size="xs"
173+ :status="status"
174+ :disabled="!isEnabled || (status === 'ready' && !input.trim())"
175+ @stop="stop()"
176+ @reload="regenerate()"
177+ />
178+ </div>
179+ </template>
180+ </UChatPrompt>
181+ </div>
182+ </div>
183+</template>
docs/app/components/content/BrowserFrame.vue+21−0
@@ -0,0 +1,21 @@
1+<script setup lang="ts">
2+defineProps<{
3+ title?: string
4+}>()
5+</script>
6+
7+<template>
8+ <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
9+ <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
10+ <div class="flex items-center gap-2">
11+ <span class="w-3 h-3 bg-red-500 rounded-full" />
12+ <span class="w-3 h-3 bg-yellow-500 rounded-full" />
13+ <span class="w-3 h-3 bg-green-500 rounded-full" />
14+ </div>
15+ <div class="text-muted">
16+ {{ title }}
17+ </div>
18+ </div>
19+ <slot mdc-unwrap="p" />
20+ </div>
21+</template>
docs/app/components/content/ColorModeSwitch.vue+33−0
@@ -0,0 +1,33 @@
1+<script setup>
2+const colorMode = useColorMode()
3+
4+const isLight = computed({
5+ get() {
6+ return colorMode.value === 'light'
7+ },
8+ set(_isLight) {
9+ colorMode.preference = _isLight ? 'light' : 'dark'
10+ },
11+})
12+</script>
13+
14+<template>
15+ <ClientOnly>
16+ <div class="flex-1 flex items-center justify-center">
17+ <USwitch
18+ v-model="isLight"
19+ unchecked-icon="i-lucide-moon"
20+ checked-icon="i-lucide-sun"
21+ aria-label="Toggle color mode"
22+ size="xl"
23+ color="neutral"
24+ :ui="{
25+ base: 'w-70 h-35 rounded-lg rotate-90 data-[state=checked]:bg-[var(--ui-color-neutral-200)]',
26+ thumb: 'data-[state=checked]:translate-x-35 data-[state=checked]:rtl:-translate-x-35 rounded-lg size-34',
27+ icon: 'rotate-270 size-8',
28+ }"
29+ @click="isDark = !isDark"
30+ />
31+ </div>
32+ </ClientOnly>
33+</template>
docs/app/components/content/CommandSearch.vue+14−0
@@ -0,0 +1,14 @@
1+<script setup lang="ts">
2+const appConfig = useAppConfig()
3+
4+const src = computed(() => `https://ui.nuxt.com/examples/content-search-example?primary=${appConfig.ui.colors?.primary}&neutral=${appConfig.ui.colors?.neutral}`)
5+</script>
6+
7+<template>
8+ <ClientOnly>
9+ <iframe
10+ :src="src"
11+ class="rounded-lg relative h-96 w-full"
12+ />
13+ </ClientOnly>
14+</template>
docs/app/components/content/FloatingNuxt.vue+18−0
@@ -0,0 +1,18 @@
1+<template>
2+ <div class="flex-1 flex items-center justify-center">
3+ <NuxtImg
4+ src="/landing/nuxt-logo-3D.svg"
5+ class="h-42 floating-logo"
6+ alt="Nuxt 3D Logo"
7+ />
8+ </div>
9+</template>
10+
11+<style>
12+.floating-logo {
13+ transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
14+}
15+.group:hover .floating-logo {
16+ transform: translateY(-20px);
17+}
18+</style>
docs/app/components/content/NuxtImage.vue+87−0
@@ -0,0 +1,87 @@
1+<template>
2+ <div class="w-full flex items-center justify-center">
3+ <svg
4+ width="309"
5+ height="309"
6+ viewBox="0 0 309 309"
7+ fill="none"
8+ xmlns="http://www.w3.org/2000/svg"
9+ >
10+ <rect
11+ x="0"
12+ y="0"
13+ width="309"
14+ height="309"
15+ rx="8"
16+ fill="url(#paint0_linear_549_2095)"
17+ fill-opacity="0.2"
18+ />
19+ <rect
20+ x="0.5"
21+ y="0.5"
22+ width="308"
23+ height="308"
24+ rx="8"
25+ stroke="url(#paint1_linear_549_2095)"
26+ stroke-opacity="0.4"
27+ />
28+ <path
29+ d="M250.424 224.554C251.995 199.097 246.309 173.754 234.01 151.409C221.753 129.139 206.184 104.281 197.759 104.281C182.497 104.281 159.941 135.743 151.205 139.926C139.866 129.94 100.698 80.5 88.8565 80.5C77.0152 80.5 29.4718 153.81 20.6396 172.34C6.93039 201.102 2.09076 293.5 22.2949 293.5C35.8243 293.5 51.7545 293.459 69.0776 293.414C108.704 293.311 190.075 293.104 232.215 293.414C243.818 293.499 248.52 255.423 250.424 224.554Z"
30+ fill="url(#paint2_linear_549_2095)"
31+ fill-opacity="0.3"
32+ />
33+ <path
34+ d="M241.47 38.3696C241.47 47.4864 234.079 54.877 224.963 54.877C215.846 54.877 208.455 47.4864 208.455 38.3696C208.455 29.2529 215.846 21.8623 224.963 21.8623C234.079 21.8623 241.47 29.2529 241.47 38.3696Z"
35+ fill="white"
36+ fill-opacity="0.3"
37+ />
38+ <defs>
39+ <linearGradient
40+ id="paint0_linear_549_2095"
41+ x1="154.5"
42+ y1="0.5"
43+ x2="154.5"
44+ y2="308.5"
45+ gradientUnits="userSpaceOnUse"
46+ >
47+ <stop stop-color="white" />
48+ <stop
49+ offset="1"
50+ stop-color="white"
51+ stop-opacity="0"
52+ />
53+ </linearGradient>
54+ <linearGradient
55+ id="paint1_linear_549_2095"
56+ x1="154.5"
57+ y1="0.5"
58+ x2="154.5"
59+ y2="308.5"
60+ gradientUnits="userSpaceOnUse"
61+ >
62+ <stop stop-color="white" />
63+ <stop
64+ offset="1"
65+ stop-color="white"
66+ stop-opacity="0"
67+ />
68+ </linearGradient>
69+ <linearGradient
70+ id="paint2_linear_549_2095"
71+ x1="126.999"
72+ y1="48.1171"
73+ x2="132.171"
74+ y2="247.688"
75+ gradientUnits="userSpaceOnUse"
76+ >
77+ <stop stop-color="white" />
78+ <stop
79+ offset="1"
80+ stop-color="white"
81+ stop-opacity="0"
82+ />
83+ </linearGradient>
84+ </defs>
85+ </svg>
86+ </div>
87+</template>
docs/app/plugins/vercel.client.ts+32−0
@@ -0,0 +1,32 @@
1+import { inject, pageview } from '@vercel/analytics'
2+import { injectSpeedInsights } from '@vercel/speed-insights'
3+
4+export default defineNuxtPlugin(() => {
5+ if (import.meta.dev) return
6+
7+ const nuxtApp = useNuxtApp()
8+ const route = useRoute()
9+ const speedInsights = injectSpeedInsights({
10+ route: route.matched[0]?.path || route.path,
11+ framework: 'nuxt',
12+ })
13+
14+ onNuxtReady(() => {
15+ inject({
16+ disableAutoTrack: true,
17+ framework: 'nuxt',
18+ })
19+ pageview({
20+ route: route.matched[0]?.path || route.path,
21+ path: route.path,
22+ })
23+ })
24+ // On navigation to a new page
25+ nuxtApp.hooks.hook('page:finish', () => {
26+ pageview({
27+ route: route.matched[0]?.path || route.path,
28+ path: route.path,
29+ })
30+ speedInsights?.setRoute(route.matched[0]?.path || route.path)
31+ })
32+})
docs/content/en/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Getting Started
2+icon: i-lucide-rocket
docs/content/en/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1+---
2+title: Introduction
3+description: Welcome to Docus theme documentation.
4+navigation:
5+ icon: i-lucide-house
6+seo:
7+ title: Introduction
8+ description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9+---
10+
11+Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12+
13+## What is Docus?
14+
15+Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16+
17+We use this theme across all our Nuxt module documentations, including:
18+
19+::card-group
20+ :::card
21+ ---
22+ icon: i-lucide-image
23+ target: _blank
24+ title: Nuxt Image
25+ to: https://image.nuxt.com
26+ ---
27+ The documentation of `@nuxt/image`
28+ :::
29+
30+ :::card
31+ ---
32+ icon: i-simple-icons-nuxtdotjs
33+ target: _blank
34+ title: Nuxt Content
35+ to: https://content.nuxt.com
36+ ---
37+ The documentation of `@nuxt/content`
38+ :::
39+
40+ :::card
41+ ---
42+ icon: i-simple-icons-supabase
43+ target: _blank
44+ title: Nuxt Supabase
45+ to: https://supabase.nuxtjs.org
46+ ---
47+ The documentation of `@nuxt/supabase`
48+ :::
49+
50+ :::card
51+ ---
52+ icon: i-simple-icons-strapi
53+ target: _blank
54+ title: Nuxt Strapi
55+ to: https://strapi.nuxtjs.org
56+ ---
57+ The documentation of `@nuxt/strapi`
58+ :::
59+::
60+
61+## Key Features
62+
63+This theme includes a range of features designed to improve documentation management:
64+
65+- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66+- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67+- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68+- **[Nuxt Studio](https://docus.dev/en/getting-started/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69+- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70+- **Full-Text Search**: Includes built-in search functionality for content discovery.
71+- **Optimized Typography**: Features refined typography for enhanced readability.
72+- **Dark Mode**: Offers dark mode support for user preference.
73+- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
docs/content/en/1.getting-started/3.installation.md+79−0
@@ -0,0 +1,79 @@
1+---
2+title: Installation
3+description: Get started with Docus.
4+navigation:
5+ icon: i-lucide-download
6+seo:
7+ description: Get started with Docus documentation theme.
8+ title: Installation
9+---
10+
11+## `create-docus` CLI
12+
13+::steps
14+### Create your docs directory
15+
16+Use the `create-docus` CLI to create a new Docus project:
17+
18+```bash [Terminal]
19+npx create-docus my-docs
20+```
21+
22+You can choose between two templates:
23+
24+- `default`: Basic Docus setup for single-language documentation
25+- `i18n`: Includes internationalization support for multi-language documentation
26+
27+```bash [Terminal]
28+# Create with i18n template
29+npx create-docus my-docs -t i18n
30+```
31+
32+We recommend using the `npm` package manager.
33+
34+### Start your docs server in development
35+
36+Move to your docs directory and start your docs server in development mode:
37+
38+```bash [Terminal]
39+cd my-docs
40+npm run dev
41+```
42+
43+A local preview of your documentation will be available at <http://localhost:3000>
44+
45+### Write your documentation
46+
47+Head over the [Edition](/en/concepts/edition) section to learn how to write your documentation.
48+::
49+
50+## AI Assistant Skill
51+
52+Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
53+
54+```bash [Terminal]
55+npx skills add https://docus.dev
56+```
57+
58+This skill helps you create documentation faster by providing your AI assistant with:
59+
60+- Best practices for writing documentation with Docus
61+- MDC component usage and ready-to-use templates
62+- Writing guidelines and content structure patterns
63+- Configuration and customization tips
64+
65+Once installed, your AI assistant can help you scaffold new documentation projects, generate pages with proper structure, and write content following Docus best practices.
66+
67+::tip{to="/en/ai/skills"}
68+You can also publish your own skills from your Docus site. Learn more about Agent Skills.
69+::
70+
71+## Layer Integration
72+
73+Docus uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
74+
75+```ts [nuxt.config.ts]
76+export default defineNuxtConfig({
77+ extends: ['docus']
78+})
79+```
docs/content/en/1.getting-started/4.project-structure.md+159−0
@@ -0,0 +1,159 @@
1+---
2+title: Project Structure
3+description: Learn about the project structure of Docus.
4+navigation:
5+ icon: i-lucide-folder-tree
6+---
7+
8+## Global structure
9+
10+Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11+
12+When you create a new Docus project with `npx create-docus my-docs`, you get:
13+
14+```bash
15+my-docs/
16+├── content/ # Your markdown content
17+│ ├── index.md # Homepage
18+│ └── docs/ # Documentation pages
19+├── public/ # Static assets
20+└── package.json # Dependencies and scripts
21+```
22+
23+You can still use any feature or file of a classical Nuxt project:
24+
25+```bash
26+my-docs/
27+├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28+├── app/ # App directory
29+ ├── app.config.ts # App configuration
30+│ ├── components/ # Components (add your own components)
31+│ ├── layouts/ # Layouts (add your own layouts)
32+│ └── pages/ # Pages (add your own pages)
33+└── server/ # Server-side code (add your own server-side code)
34+```
35+
36+### `content/` directory
37+
38+This is where you [write pages](/en/concepts/edition) in Markdown. Docus automatically generates routes based on your file structure.
39+
40+**Single language structure:**
41+
42+```bash
43+content/
44+├── index.md # Landing page (/)
45+├── getting-started.md # Documentation page (/getting-started)
46+└── guide/
47+ ├── introduction.md # Documentation page (/guide/introduction)
48+ └── configuration.md # Documentation page (/guide/configuration)
49+```
50+
51+::tip{to="/en/concepts/edition"}
52+You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired.
53+::
54+
55+**Multi-language structure (with i18n):**
56+
57+```bash
58+content/
59+├── en/
60+│ ├── index.md # English landing page (/en)
61+│ └── guide/
62+│ └── introduction.md # Documentation page (/en/guide/introduction)
63+└── fr/
64+ ├── index.md # French landing page (/fr)
65+ └── guide/
66+ └── introduction.md # Documentation page (/fr/guide/introduction)
67+```
68+
69+::tip{to="/en/concepts/internationalization"}
70+More information about i18n is available in the internationalization section.
71+::
72+
73+### `public/` directory
74+
75+Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76+
77+### `package.json`
78+
79+This file contains all the dependencies and scripts for your application. The `package.json` of
80+a Docus application is really minimal and looks like:
81+
82+```json [package.json]
83+{
84+ "name": "my-docs",
85+ "scripts": {
86+ "build": "nuxt build --extends docus",
87+ "dev": "nuxt dev --extends docus",
88+ },
89+ "dependencies": {
90+ "docus": "latest",
91+ "better-sqlite3": "^12.2.0",
92+ "nuxt": "^4.0.0"
93+ }
94+}
95+```
96+
97+### `nuxt.config.ts`
98+
99+*This file is not mandatory to start a Docus application.*
100+
101+You can add extra modules to your Nuxt configuration file:
102+
103+```typescript [nuxt.config.ts]
104+export default defineNuxtConfig({
105+ extends: ['@vercel/analytics/nuxt/module']
106+})
107+```
108+
109+### `app.config.ts`
110+
111+*This file is not mandatory to start a Docus application.*
112+
113+::warning
114+You need a `nuxt.config.ts` to be set if you want to override app configuration.
115+::
116+
117+This is where you can [configure Docus](/en/concepts/configuration) to fit your branding, handle SEO, set your locale, and adapt links and socials.
118+
119+```ts [app.config.ts]
120+export default defineAppConfig({
121+ docus: {
122+ locale: 'en', // Set your single-language locale
123+ },
124+ seo: {
125+ title: 'My Docs',
126+ description: 'My awesome documentation',
127+ },
128+ // ... other configurations
129+})
130+```
131+
132+## Full Nuxt Project Capabilities
133+
134+Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135+
136+::warning
137+You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138+::
139+
140+```bash
141+my-docs/
142+├── app/ # App directory (optional)
143+│ ├── app.config.ts # App configuration
144+│ ├── app.css # Custom theme (auto-imported by Docus)
145+│ ├── components/ # Custom Vue components
146+│ ├── layouts/ # Custom layouts
147+│ ├── pages/ # Custom Vue pages (outside of content)
148+│ ├── composables/ # Vue composables
149+│ └── middleware/ # Route middleware
150+├── server/ # Server-side code
151+│ └── api/ # API routes
152+├── plugins/ # Nuxt plugins
153+├── middleware/ # Global middleware
154+└── modules/ # Custom Nuxt modules
155+```
156+
157+::tip{to="/en/concepts/nuxt"}
158+This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
159+::
docs/content/en/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1+---
2+title: Studio module
3+description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4+navigation:
5+ icon: i-lucide-mouse-pointer-2
6+ title: Studio module
7+seo:
8+ title: Nuxt Studio Web Editor
9+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10+icon:
11+ i-lucide-mouse-pointer-2 title: Web Editor
12+ seo:
13+ title: Nuxt Studio module
14+ description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15+---
16+
17+The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18+
19+::tip{to="https://nuxt.studio/introduction"}
20+Browse Nuxt Studio documentation to learn how ton install the module.
21+::
22+
23+:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24+
25+The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26+
27+## Visual edition in production for your Nuxt Content website
28+
29+Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30+
31+Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32+
33+## Current features
34+
35+### ✨ **TipTap Visual Editor**
36+
37+Rich Markdown editor with full MDC component support.
38+
39+### 💻 **Monaco Code Editor**
40+
41+Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42+
43+### 📝 **Form-based Editor**
44+
45+Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46+
47+### 🎨  **Vue Component Props Editor**
48+
49+Visual interface to edit Vue component props directly from the editor.
50+
51+### 🔄 **Real-time Preview**
52+
53+Instantly preview content changes on your production website.
54+
55+### 🔐 **Multi-provider Authentication**
56+
57+Secure OAuth authentication with GitHub, GitLab, and Google.
58+
59+### 🔑 **Custom Authentication**
60+
61+Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62+
63+### 📝 **File Management**
64+
65+Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66+
67+### 🖼 **Media Management**
68+
69+Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70+
71+### 🌳 **Git Integration**
72+
73+Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74+
75+### 🚀 **Development Mode**
76+
77+Edit content and media files directly from your local filesystem using the Studio interface.
78+
79+### 🌍 **Internationalization**
80+
81+Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82+
83+## **Upcoming features**
84+
85+### 📂 **Collections View**
86+
87+Manage and navigate all content collections from a unified interface.
88+
89+### 🖼 **Media Optimization**
90+
91+Optimize images and media assets directly within the editor.
92+
93+### 🤖**AI Content Assistant**
94+
95+Get smart, AI-powered suggestions to improve and speed up content creation.
96+
97+### 💡**Community-driven Features**
98+
99+Have an idea? Share your feedback and help shape the future of Nuxt Studio.
docs/content/en/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1+---
2+title: Migration
3+description: " How to migrate your documentation from an existing Markdown
4+ solution to Docus"
5+navigation:
6+ icon: i-lucide-replace
7+---
8+
9+## **Migrating from Docus v3 to v4**
10+
11+Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12+
13+### **⚠️ Breaking Changes**
14+
15+The main breaking changes are related to CLI commands:
16+
17+| v3 | v4 |
18+| ------------------------ | ---------------------------- |
19+| `npx docus init my-docs` | `npx create-docus my-docs` |
20+| `docus dev` | `nuxt dev --extends docus` |
21+| `docus build` | `nuxt build --extends docus` |
22+
23+::tip
24+Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25+::
26+
27+## **Migrating to Docus**
28+
29+Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30+
31+Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32+
33+To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34+
35+From there, you have two scenarios:
36+
37+- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38+- **If you’re using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the [built-in components](/en/essentials/components) provided by Nuxt UI.
39+
40+Once your content has been moved to the `content/` folder, you can go through the [configuration section](/en/concepts/configuration) to easily customize your app.
41+
42+Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
docs/content/en/1.getting-started/7.troubleshooting.md+33−0
@@ -0,0 +1,33 @@
1+---
2+title: Troubleshooting
3+description: Common issues and their solutions when working with Docus.
4+navigation:
5+ icon: i-lucide-wrench
6+seo:
7+ description: Troubleshooting guide for common Docus issues and their solutions.
8+ title: Troubleshooting
9+---
10+
11+## `pnpm` issues
12+
13+### Approve build scripts
14+
15+If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
16+
17+Run the following command to approve packages for building:
18+
19+```bash [Terminal]
20+pnpm approve-builds
21+```
22+
23+When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
24+
25+### Enable shameful hoisting (compatibility mode)
26+
27+If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
28+
29+You can enable compatibility mode by creating a `.npmrc` file with:
30+
31+```bash [.npmrc]
32+shamefully-hoist=true
33+```
docs/content/en/2.concepts/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Core Concepts
2+icon: i-lucide-brain
docs/content/en/2.concepts/2.edition.md+197−0
@@ -0,0 +1,197 @@
1+---
2+title: Edition
3+description: Learn how to write your documentation.
4+navigation:
5+ icon: i-lucide-pencil
6+seo:
7+ description: Learn how to write your documentation with Docus and Nuxt Content.
8+ title: Edition
9+---
10+
11+Docus provides customization options to suit your needs.
12+
13+- You can integrate it as a complete website solution with both landing and documentation sections
14+- Or embed the documentation functionality within your Nuxt application while maintaining full control over all other aspects (thanks to the [Nuxt layer feature](https://nuxt.com/docs/4.x/getting-started/layers)).
15+
16+## Landing page
17+
18+The landing page is the first page your visitors see at the root `/` of your site.
19+
20+### `Markdown` (default)
21+
22+By default, the landing page corresponds to the `content/index.md` file.
23+
24+Docus automatically:
25+
26+- Creates a `landing` content collection for the `content/index.md` file
27+- Registers the `/` route to render your Markdown landing page
28+
29+::tip{to="https://ui.nuxt.com/docs/components"}
30+The `MDC` syntax gives you the ability to use Vue components, including slots and props in your `.md` files. You can use any Nuxt UI component in your Markdown to build your landing page.
31+::
32+
33+### `Vue` (custom)
34+
35+Since Docus is a layer, it allows you to fully customize your landing page by creating a Vue page at `app/pages/index.vue` (or `app/pages/[[lang]]/index.vue` for i18n setups). This gives you full control with Vue components, custom layouts, and advanced interactions.
36+
37+In this case, Docus:
38+
39+- Do not create `landing` collection
40+- Use native Nuxt router and consider `index.vue` as your home page
41+
42+::note
43+This automatic detection works for both single-language and multi-language (i18n) setups.
44+::
45+
46+### Components
47+
48+MDC provides a dedicated syntax to easily use Vue components in your content:
49+
50+```mdc [content/index.md]
51+:::u-page-feature
52+:::
53+```
54+
55+### Slots
56+
57+Slots can receive text content or other components.
58+
59+- **Default slot** is rendered directly inside the component or with `#default`.
60+- **Named slots** are defined using the `#` symbol followed by the slot name.
61+
62+```mdc [index.md]
63+:::u-page-feature
64+ #title
65+ Nuxt 4
66+
67+ #description
68+ Powered by Nuxt 4 for optimal performances and SEO.
69+:::
70+```
71+
72+### Props
73+
74+Props are passed using inline syntax or YAML frontmatter within the component block:
75+
76+::tabs
77+ :::tabs-item{icon="i-lucide-braces" label="Inline"}
78+ ```mdc [index.md]
79+ :::u-page-feature{icon="i-simple-icons-nuxt" to="https://nuxt.com"}
80+ #title
81+ Nuxt 4
82+
83+ #description
84+ Powered by Nuxt 4 for optimal performances and SEO.
85+ :::
86+ ```
87+ :::
88+
89+ :::tabs-item{icon="i-lucide-code" label="YAML"}
90+ ```mdc [index.md]
91+ :::u-page-feature
92+ ---
93+ icon: i-simple-icons-nuxt
94+ to: https://nuxt.com
95+ ---
96+ #title
97+ Nuxt 4
98+
99+ #description
100+ Powered by Nuxt 4 for optimal performances and SEO.
101+ :::
102+ ```
103+ :::
104+::
105+
106+::note{to="https://content.nuxt.com"}
107+Check the Nuxt Content documentation for more details about the MDC syntax
108+::
109+
110+## Documentation pages
111+
112+::tip
113+There is a one to one relationship between content files and pages on your site. Each Markdown page in the `content/` folder maps directly to a page route.
114+::
115+
116+### Without docs folder
117+
118+To get started, simply edit or add a `.md` files in the `content/` directory to have your pages updated. Docus will handle routing, navigation, and full-text search automatically.
119+
120+```bash
121+content/
122+├── index.md # Landing page → /
123+├── getting-started.md # Documentation → /getting-started
124+└── guide/
125+ └── introduction.md # Documentation → /guide/introduction
126+```
127+
128+### With docs folder
129+
130+You can optionally organize your documentation files within a `docs/` subfolder. When Docus detects a `docs/` folder in your `content/` directory, it automatically prefixes all documentation URLs with `/docs`.
131+
132+```bash
133+content/
134+├── index.md # Landing page → /
135+└── docs/
136+ ├── getting-started.md # Documentation → /docs/getting-started
137+ └── guide/
138+ └── introduction.md # Documentation → /docs/guide/introduction
139+```
140+
141+::tip
142+This is particularly useful when you want to use Docus as embedded documentation alongside other custom pages. You can create additional pages like a blog, contact page, pricing page, or any other custom content at the root level, while keeping your documentation organized under `/docs`.
143+::
144+
145+### Mixed content
146+
147+Since Docus is a Nuxt layer, you can combine Markdown files with custom Vue pages:
148+
149+```bash
150+├── app/
151+│ └── pages/
152+│ ├── pricing.vue # Custom pricing page → /pricing
153+│ └── contact.vue # Custom contact page → /contact
154+└── content/
155+ ├── index.md # Landing page → /
156+ └── blog.md # Blog page → /blog
157+ └── docs/ # Documentation → /docs/*
158+ ├── getting-started.md
159+ └── api/
160+ └── reference.md
161+```
162+
163+This structure gives you the flexibility to build a complete website with Docus. Use Markdown for documentation and Vue pages for custom functionality like blogs, dashboards, or any interactive pages.
164+
165+### Frontmatter
166+
167+Every file of the `content/` folder starts with the `---` syntax on top of the page. It corresponds to the frontmatter of your file which is a convention of Markdown-based CMS to provide meta-data to pages.
168+
169+::tabs
170+ :::tabs-item{icon="i-lucide-code" label="Code"}
171+ ```md [content/getting-started/edition.md]
172+ ---
173+ title: 'Edition'
174+ description: 'Learn how to write your documentation.'
175+ ---
176+
177+ <!-- Content of the page in pure Markdown -->
178+ ```
179+ :::
180+
181+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
182+ ![Frontmatter title and description](/documentation/frontmatter-preview-title-description.png)
183+ :::
184+::
185+
186+### Parameters
187+
188+Pages in the `/content` directory are defined as [page](https://content.nuxt.com/docs/collections/types#page-type) type in Nuxt Content. They all follow the same structure with existing frontmatter keys:
189+
190+| | | | |
191+| ------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | - |
192+| Key | Type | Description | |
193+| `title` | `string` | Title of the page. Displayed on top of the page. Used as SEO title if `seo` key is not provided. | |
194+| `description` | `string` | Description of the page. Displayed bellow the title on top of the page. Used as SEO description if `seo` key is not provided. | |
195+| `navigation` | `boolean` | Define if the page is included in left aside navigation. | |
196+| `layout` | `string` | Change Nuxt layout of the page (default to `docs` defined by Docus). | |
197+| `seo` | `{ title: string, description: string }` | SEO metas of your page. | |
docs/content/en/2.concepts/3.configuration.md+353−0
@@ -0,0 +1,353 @@
1+---
2+title: Configuration
3+description: "Customize your Docus documentation from the Nuxt application configuration file. "
4+navigation:
5+ icon: i-lucide-settings
6+seo:
7+ description: Customize your Docus documentation from Nuxt application configuration file.
8+ title: Configuration
9+---
10+
11+Docus allows you to configure your documentation through the [app.config.ts](https://nuxt.com/docs/guide/directory-structure/app-config) file provided by Nuxt.
12+
13+::warning
14+You need a `nuxt.config.ts` to be set if you want to override your app config. Without an existing Nuxt config file, changes won't be applied.
15+::
16+
17+## SEO
18+
19+Technical SEO is tricky and boring. Docus offers a solid, opt-in default setup that works out of the box, while giving you full control to customize your SEO metadata, from page titles to social sharing images.
20+
21+### Metadata
22+
23+Docus offers flexible `SEO` metadata configuration, allowing you to easily override values globally or on a per-page basis.
24+
25+#### Global configuration
26+
27+Define default `SEO` metas for your entire documentation in `app.config.ts`. These values will be used as fallbacks across pages that don't specify their own in the front-matter as described in next section.
28+
29+You can also configure your `site.name` value from your `nuxt.config.ts` file, default is based on your `package.json` name.
30+
31+::code-group
32+```ts [app.config.ts]
33+export default defineAppConfig({
34+ seo: {
35+ // Default to `%s - ${site.name}`
36+ titleTemplate: '',
37+ // Default to package.json name
38+ title: '',
39+ // Default to package.json description
40+ description: ''
41+ },
42+})
43+```
44+
45+```ts [nuxt.config.ts]
46+export default defineNuxtConfig({
47+ site: {
48+ name: 'Docus',
49+ },
50+})
51+```
52+::
53+
54+#### Per-page configuration
55+
56+Each Markdown file in the `content/` directory starts with a frontmatter block (`---`). You can define `SEO` metadata per page by using the `seo` key:
57+
58+```md [content/concepts/configuration.md]
59+---
60+seo:
61+ title: 'Configuration'
62+ description: 'Customize your Docus documentation from the Nuxt application configuration file.'
63+---
64+
65+<!-- Page content -->
66+```
67+
68+::tip{to="/en/concepts/edition#frontmatter"}
69+For more details on front-matter, see the edition guide.
70+::
71+
72+### **Social sharing (OG) image**
73+
74+When you share a link of your documentation on social media or some chat platforms, the link will be **unfurled**, in other terms it gives a glimpse of what someone linked (displaying a title, description, and an image). All of these are powered by the **Open Graph Protocol**.
75+
76+#### Documentation pages
77+
78+We're using [Nuxt OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction) under the hood to generate OG image for each documentation page based on the provided title and description. For example, the OG image for the current page is:
79+
80+![og image documentation page](https://docus.dev/_og/s/c_Docs,headline_Core+Concepts,title_Configuration,description_Customize+your+Docus+documentation+from+Nuxt+application+configuration+file.,p_Ii9lbi9jb25jZXB0cy9jb25maWd1cmF0aW9uIg.png)
81+
82+#### Landing page
83+
84+Same as the documentation pages, the landing page uses the same OG image generator based on the provided title and description.
85+
86+![og image landing page](https://docus.dev/_og/s/c_Landing,title_Write+beautiful+docs+with+Markdown,description_Ship+fast+flexible+and+SEO-optimized+documentation+with+beautiful+design+out+of+the+box.+Docus+brings+together+the+best+of+the+Nuxt+ecosystem.+Powered+by+Nuxt+UI.,p_Ii9lbiI.png)
87+
88+
89+#### Override OG image
90+
91+Since Docus is a [Nuxt layer](https://nuxt.com/docs/guide/going-further/layers), you can override docs or landing page OG image by creating a file with the same name in your own `components/OgImage/` directory.
92+
93+```
94+components/
95+ OgImage/
96+ Docs.takumi.vue # overrides the docs OG image
97+ Landing.takumi.vue # overrides the landing OG image
98+```
99+
100+Your component receives `title`, `description`, and `headline` (docs only) as props and can use any Tailwind CSS or inline styles supported by the [Takumi renderer](https://nuxtseo.com/docs/og-image/guides/renderers).
101+
102+### Sitemap
103+
104+Docus automatically generates a sitemap at `/sitemap.xml` containing all your documentation pages. This helps search engines discover and index your content.
105+
106+#### Excluding pages
107+
108+To exclude a specific page from the sitemap, add `sitemap: false` to its frontmatter:
109+
110+```md [content/draft-page.md]
111+---
112+sitemap: false
113+---
114+
115+This page won't appear in the sitemap.
116+```
117+
118+#### Site URL
119+
120+For proper sitemap URLs, set the `NUXT_SITE_URL` environment variable:
121+
122+```bash
123+NUXT_SITE_URL=https://your-site.com
124+```
125+
126+## Header
127+
128+Configure your documentation site's `title` or `logo`:
129+
130+```ts [app.config.ts]
131+export default defineAppConfig({
132+ header: {
133+ title: '',
134+ logo: {
135+ light: '',
136+ dark: '',
137+ alt: '',
138+ },
139+ },
140+})
141+```
142+
143+### Brand Assets
144+
145+You can configure additional brand assets for your logo. Right-clicking the logo in the header opens a context menu with copy and download actions.
146+
147+```ts [app.config.ts]
148+export default defineAppConfig({
149+ header: {
150+ title: 'My Project',
151+ logo: {
152+ light: '/logo/logo-dark.svg',
153+ dark: '/logo/logo-light.svg',
154+ alt: 'My Project Logo',
155+ wordmark: {
156+ light: '/logo/wordmark-dark.svg',
157+ dark: '/logo/wordmark-light.svg',
158+ },
159+ favicon: '/favicon.svg',
160+ brandAssetsUrl: 'https://example.com/brand',
161+ },
162+ },
163+})
164+```
165+
166+| Field | Description |
167+| ------------------------------ | ------------------------------------------------------------------------ |
168+| `logo.wordmark.light` / `dark` | Full wordmark (icon + text) for each color mode. |
169+| `logo.display` | Which variant to show in the header: `'logo'` (default) or `'wordmark'`. |
170+| `logo.class` | Additional CSS classes on the logo image (e.g. `'h-8'`). |
171+| `logo.favicon` | Path to the favicon file. Defaults to `/favicon.ico`. |
172+| `logo.brandAssetsUrl` | Link to your brand assets page, shown as a menu item. |
173+
174+When the logo is an SVG, the context menu offers **Copy logo** and **Copy wordmark** actions that copy the raw SVG with `currentColor` fills, ready to paste into Figma or any design tool. For non-SVG formats (PNG, etc.), only download actions are available.
175+
176+## Color Mode
177+
178+By default, Docus includes a color mode toggle in the header and footer, allowing users to switch between light and dark modes.
179+
180+If your documentation only uses one theme, you can force it by setting the `colorMode` option:
181+
182+```ts [app.config.ts]
183+export default defineAppConfig({
184+ docus: {
185+ colorMode: 'dark'
186+ }
187+})
188+```
189+
190+| Value | Behavior |
191+| --- | --- |
192+| `''` (default) | System preference with toggle button |
193+| `'light'` | Forces light mode, hides toggle |
194+| `'dark'` | Forces dark mode, hides toggle |
195+
196+### Keyboard Shortcut
197+
198+Press :kbd{value="D"} to toggle between light and dark mode when the color mode toggle is visible.
199+
200+You can customize or disable this shortcut in `app.config.ts`:
201+
202+```ts [app.config.ts]
203+export default defineAppConfig({
204+ docus: {
205+ shortcuts: {
206+ toggleColorMode: 'd', // Default
207+ },
208+ },
209+})
210+```
211+
212+Set `toggleColorMode` to an empty string to disable the shortcut. See the [Assistant](/en/ai/assistant#keyboard-shortcuts) page for the shortcut format (`meta_d`, `ctrl_shift_p`, etc.).
213+
214+When a color mode is forced, the toggle button is hidden from the header and footer, and the color mode commands are removed from the command palette.
215+
216+## Navigation
217+
218+### Sub Navigation
219+
220+For documentation sites with many content sections, you can enable a sub-navigation that splits your top-level content folders into sections and filters the left sidebar to show only the active section's pages.
221+
222+Two display modes are available:
223+
224+- **`header`** — renders a secondary tab bar below the header (desktop only, with a drawer on mobile)
225+- **`aside`** — renders section anchors at the top of the left sidebar (with a drawer on mobile)
226+
227+
228+```ts [app.config.ts]
229+export default defineAppConfig({
230+ navigation: {
231+ sub: 'header', // or 'aside'
232+ },
233+})
234+```
235+
236+:video{src="https://res.cloudinary.com/nuxt/video/upload/v1773263594/docus/subnav_idh2ae.mp4"}
237+
238+::note
239+The tabs are automatically generated from your top-level folders in `content/`. Each folder's title and icon are read from its `.navigation.yml` file.
240+::
241+
242+
243+
244+## Search
245+
246+Docus includes built-in full-text search powered by [Nuxt UI ContentSearch](https://ui.nuxt.com/docs/components/content-search). By default, it uses client-side [Fuse.js](https://www.fusejs.io/) filtering which loads all search sections upfront.
247+
248+### FTS5 Full-Text Search
249+
250+You can switch to [SQLite FTS5](https://content.nuxt.com/docs/utils/use-search-collection) for faster, indexed search with built-in snippet highlighting. This builds an FTS5 index in the browser using SQLite WASM and only runs the search when a query is entered, instead of loading all sections upfront.
251+
252+```ts [app.config.ts]
253+export default defineAppConfig({
254+ search: {
255+ fts: true
256+ }
257+})
258+```
259+
260+| Mode | Index | Speed | Typo tolerance | Upfront payload |
261+| --- | --- | --- | --- | --- |
262+| Fuse.js (default) | In-memory JS scan | O(n) per query | Full fuzzy | All sections loaded |
263+| FTS5 | SQLite inverted index | O(log n) lookup | Prefix only | None |
264+
265+## Socials Links
266+
267+Add your social media links in the footer using a `Record<string, string>` where the key matches an icon from [Simple Icons](https://simpleicons.org/) library.
268+
269+```ts [app.config.ts]
270+export default defineAppConfig({
271+ socials: {
272+ x: 'https://x.com/nuxt_js',
273+ discord: 'https://discord.com/invite/ps2h6QT',
274+ nuxt: 'https://nuxt.com',
275+ }
276+})
277+```
278+
279+## Table of Contents
280+
281+You can customize the table of content on the right sidebar of each page.
282+
283+```ts [app.config.ts]
284+export default defineAppConfig({
285+ toc: {
286+ // Rename the title of the table of contents
287+ title: 'On this page',
288+ // Add a bottom section to the table of contents
289+ bottom: {
290+ title: 'Community',
291+ links: [{
292+ icon: 'i-lucide-book-open',
293+ label: 'Nuxt UI docs',
294+ to: 'https://ui.nuxt.com/getting-started/installation/nuxt',
295+ target: '_blank'
296+ }]
297+ }
298+ }
299+})
300+```
301+
302+## Locale
303+
304+For single-language documentation (without the full `@nuxtjs/i18n` module), you can configure the locale through `app.config.ts`:
305+
306+```ts [app.config.ts]
307+export default defineAppConfig({
308+ docus: {
309+ locale: 'fr', // Default: 'en'
310+ }
311+})
312+```
313+
314+This sets the language for:
315+
316+- UI component translations
317+- The `lang` and `dir` attributes on the `<html>` tag
318+- Built-in Docus interface strings
319+
320+::tip{to="/en/concepts/internationalization"}
321+For multi-language documentation with language switching, see the [Internationalization guide](/en/concepts/internationalization).
322+::
323+
324+## GitHub Integration
325+
326+Docus reads your `.git/` folder to get the `url` and `branch` of your repository to add:
327+
328+- GitHub icon in the header and footer
329+- `Edit this page` and `Report an issue` links in the footer of each page.
330+
331+You can customize the `url`, `branch` and `rootDir` of your docs application by adding the following configuration to your `app.config.ts` file:
332+
333+```ts [app.config.ts]
334+export default defineAppConfig({
335+ github: {
336+ url: 'https://github.com/nuxt-content/docus',
337+ branch: 'main',
338+ rootDir: 'docs'
339+ }
340+})
341+```
342+
343+If you don't want to use GitHub, you can set the `github` key to `false` to disable the GitHub integration.
344+
345+```ts [app.config.ts]
346+export default defineAppConfig({
347+ github: false
348+})
349+```
350+
351+::tip{to="/en/getting-started/studio"}
352+Those configurations can also be handled in Studio editor, give it a try!
353+::
docs/content/en/2.concepts/4.theme.md+136−0
@@ -0,0 +1,136 @@
1+---
2+title: Theme
3+description: Custom the appearance of your Docus documentation thanks to Nuxt UI flexible theming.
4+navigation:
5+ icon: i-lucide-paint-roller
6+---
7+
8+Docus is built on top of Nuxt UI and takes full advantage of Tailwind CSS v4, CSS variables. The Tailwind Variants API offers a flexible and scalable theming system.
9+
10+::tip{to="https://ui.nuxt.com/getting-started/theme"}
11+For a full overview of Nuxt UI theming, check out the Nuxt UI documentation.
12+::
13+
14+## Override with `@theme`
15+
16+You can customize your theme with CSS variables inside a `@theme` directive to define your project's custom design tokens, like fonts, colors, and breakpoints.
17+
18+To override the theme, create an `app/app.css` file in your project:
19+
20+```css [app/app.css]
21+@theme {
22+ --font-sans: 'Public Sans', sans-serif;
23+
24+ --breakpoint-3xl: 1920px;
25+
26+ --color-green-50: #EFFDF5;
27+ --color-green-100: #D9FBE8;
28+ --color-green-200: #B3F5D1;
29+ --color-green-300: #75EDAE;
30+ --color-green-400: #00DC82;
31+ --color-green-500: #00C16A;
32+ --color-green-600: #00A155;
33+ --color-green-700: #007F45;
34+ --color-green-800: #016538;
35+ --color-green-900: #0A5331;
36+ --color-green-950: #052E16;
37+}
38+```
39+
40+::warning
41+Docus automatically imports `app/app.css` — you don't need to add it to the `css` array in `nuxt.config.ts`, and you should **not** include `@import "tailwindcss"` in this file as Docus handles it for you.
42+::
43+
44+## Colors
45+
46+Docus uses pre-configured color aliases that are used to style components and power the `color` props across the UI.
47+
48+Each badge below represents a default alias:
49+
50+- :u-badge{label="primary" variant="outline"} → Main brand color, used as the default color for components :br [(default: green)]{.text-xs,text-muted}
51+- :u-badge{color="secondary" label="secondary" variant="outline"} → Secondary color to complement the primary color :br [(default: blue)]{.text-xs,text-muted}
52+- :u-badge{color="success" label="success" variant="outline"} → Used for success states :br [(default: green)]{.text-xs,text-muted}
53+- :u-badge{color="info" label="info" variant="outline"} → Used for informational states :br [(default: blue)]{.text-xs,text-muted}
54+- :u-badge{color="warning" label="warning" variant="outline"} → Used for warning states :br [(default: yellow)]{.text-xs,text-muted}
55+- :u-badge{color="error" label="error" variant="outline"} → Used for form error validation states :br [(default: red)]{.text-xs,text-muted}
56+- :u-badge{color="neutral" label="neutral" variant="outline"} → Neutral color for backgrounds, text, etc. :br [(default: slate)]{.text-xs,text-muted}
57+
58+You can customize these colors globally by updating the `app.config.ts` file under the `ui.colors` key:
59+
60+```ts [app.config.ts]
61+export default defineAppConfig({
62+ ui: {
63+ colors: {
64+ primary: 'blue',
65+ neutral: 'zinc'
66+ }
67+ }
68+})
69+```
70+
71+## Components
72+
73+Beyond colors, all [Nuxt UI components](https://ui.nuxt.com/components) can be themed globally via `app.config.ts`.
74+
75+You can override any component’s appearance by using the same structure as the component’s internal theme object (displayed at [the end of each component page](https://ui.nuxt.com/components/card#theme)).
76+
77+For example, to change the font weight of all buttons:
78+
79+```ts [app.config.ts]
80+export default defineAppConfig({
81+ ui: {
82+ button: {
83+ slots: {
84+ base: 'font-bold'
85+ }
86+ }
87+ }
88+})
89+```
90+
91+In this example, the `font-bold` class will override the default `font-medium` class on all buttons.
92+
93+::note{to="https://ui.nuxt.com/components/button#theme"}
94+To explore the available theme options for each component, refer to the **Theme** section in their respective Nuxt UI documentation page.
95+::
96+
97+## Docus Subcomponents
98+
99+Docus uses several Nuxt UI components internally for navigation, table of contents, and sub-navigation. You can customize their default variants through `app.config.ts` using the `defaultVariants` key, without having to override the entire component.
100+
101+The following components are configurable:
102+
103+| Component | Key | Defaults |
104+|---|---|---|
105+| [ContentToc](https://ui.nuxt.com/components/content-toc) | `ui.contentToc` | `highlight: true` |
106+| [ContentNavigation](https://ui.nuxt.com/components/content-navigation) | `ui.contentNavigation` | `variant: 'link'`, `highlight: true` |
107+| [NavigationMenu](https://ui.nuxt.com/components/navigation-menu) | `ui.navigationMenu` | `variant: 'pill'`, `highlight: true` |
108+
109+For example, to change the table of contents highlight style to `circuit` and switch the sidebar navigation variant to `pill`:
110+
111+```ts [app.config.ts]
112+export default defineAppConfig({
113+ ui: {
114+ contentToc: {
115+ defaultVariants: {
116+ highlightVariant: 'circuit',
117+ highlightColor: 'secondary'
118+ }
119+ },
120+ contentNavigation: {
121+ defaultVariants: {
122+ variant: 'pill',
123+ highlight: false
124+ }
125+ }
126+ }
127+})
128+```
129+
130+Each component supports the following variant options:
131+
132+- **`highlight`** — Display an active indicator line (`true` or `false`)
133+- **`highlightColor`** — Color of the indicator (`primary`, `secondary`, `neutral`, etc.)
134+- **`variant`** — Visual style (`pill` or `link`, where applicable)
135+- **`highlightVariant`** — Indicator style (`straight` or `circuit`, ContentToc only)
136+- **`color`** — Base color of the active link
docs/content/en/2.concepts/5.customization.md+278−0
@@ -0,0 +1,278 @@
1+---
2+title: Customization
3+description: Learn how to override built-in components in Docus to customize your documentation.
4+navigation:
5+ icon: i-lucide-pen-tool
6+---
7+
8+Docus is built on top of Nuxt 4 which offers a flexible component layer system that allows you to override some part of the UI by redefining specific components in your own app. This makes it easy to fully customize the visual appearance and behavior of your documentation without touching the core theme.
9+
10+To override a component, simply create a Vue file with the same name in the `components/` directory. Docus will automatically use your version instead of the default one.
11+
12+## App Header
13+
14+You can customize different parts of the header by overriding the following components:
15+
16+### `AppHeaderLogo`
17+
18+For simple adjustments like changing the logo size, you can use the `logo.class` option in `app.config.ts` without overriding the component (e.g. `class: 'h-8'`).
19+
20+To fully replace the default logo in the header, create the `components/AppHeaderLogo.vue` file. Your component will replace the default one provided by Docus theme. You can use the `useLogoAssets()` composable to keep the right-click context menu with copy and download actions.
21+
22+![App header logo visualisation](/documentation/app-header-logo.webp)
23+
24+::u-button
25+---
26+color: neutral
27+icon: i-lucide-code-xml
28+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLogo.vue
29+variant: link
30+---
31+Default component code
32+::
33+
34+### `AppHeaderLeft`
35+
36+The logo sits inside a default home link wrapper. If you want to change that link (URL, attributes) or the layout around `AppHeaderLogo`, override `components/AppHeaderLeft.vue` instead.
37+
38+::u-button
39+---
40+color: neutral
41+icon: i-lucide-code-xml
42+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLeft.vue
43+variant: link
44+---
45+Default component code
46+::
47+
48+### `AppHeaderCTA`
49+
50+To customize the call-to-action area in the header (for example, adding a “Get Started” button or external link), override the `components/AppHeaderCTA.vue` component.
51+
52+![App header CTA visualisation](/documentation/app-header-cta.webp)
53+
54+::note
55+---
56+to: https://github.com/nuxt-content/docus/blob/main/docs/app/components/AppHeaderCTA.vue
57+---
58+By default this components is empty but you can have a look at how we're overriding it on Docus documentation itself.
59+::
60+
61+### `AppHeaderCenter`
62+
63+To customize the center area in the header, override the `components/AppHeaderCenter.vue` component. Your component will replace the search bar provided by Docus theme.
64+
65+![App header logo visualisation](/documentation/app-header-center.webp)
66+
67+::u-button
68+---
69+color: neutral
70+icon: i-lucide-code-xml
71+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderCenter.vue
72+variant: link
73+---
74+Default component code
75+::
76+
77+### `AppHeaderBody`
78+
79+By default, when you open the menu on mobile view, Docus is displaying your `content/` folder tree as a menu with the [ContentNavigation](https://ui.nuxt.com/components/content-navigation) component. You can override this menu with the `components/AppHeaderBody.vue` component and fill the menu body (under the header) in mobile.
80+
81+![App header body visualisation](/documentation/app-header-body.webp)
82+
83+::u-button
84+---
85+color: neutral
86+icon: i-lucide-code-xml
87+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBody.vue
88+variant: link
89+---
90+Default component code
91+::
92+
93+### `AppHeaderBottomRight`
94+
95+When [`navigation.sub`](/en/concepts/configuration#sub-navigation) is set to `'header'`, Docus renders a secondary tab bar below the header. To add custom content on the right side of this bar (e.g. a toggle, a badge), create a `components/AppHeaderBottomRight.vue` component.
96+
97+::note
98+---
99+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBottom.vue
100+---
101+To fully replace the sub navigation bar, override the `AppHeaderBottom.vue` component instead.
102+::
103+
104+::tip{to="/en/concepts/nuxt"}
105+If you want to customize the header globally, maybe you should consider using your own layout.
106+::
107+
108+## App Footer
109+
110+You can customize different parts of the footer by overriding the following components:
111+
112+### `AppFooterLeft`
113+
114+To replace the left side of the footer, create the `components/AppFooterLeft.vue` file. Your component will replace the default one provided by Docus theme.
115+
116+![App footer left visualisation](/documentation/app-footer-left.webp)
117+
118+::u-button
119+---
120+color: neutral
121+icon: i-lucide-code-xml
122+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterLeft.vue
123+variant: link
124+---
125+Default component code
126+::
127+
128+### `AppFooterRight`
129+
130+To replace the right side of the footer, create the `components/AppFooterRight.vue` file. Your component will replace the default one provided by Docus theme.
131+
132+![App footer right visualisation](/documentation/app-footer-right.webp)
133+
134+::u-button
135+---
136+color: neutral
137+icon: i-lucide-code-xml
138+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterRight.vue
139+variant: link
140+---
141+Default component code
142+::
143+
144+::tip{to="/en/concepts/nuxt"}
145+If you want to customize the footer globally, maybe you should consider using your own layout.
146+::
147+
148+## Docs
149+
150+You can also customize header and both asides of the documentation pages.
151+
152+### `DocsPageHeaderLinks`
153+
154+In the header right side of your documentation page, Docus default behaviour is displaying a dropdown with quick actions related to the current page’s Markdown source. It allows the reader of the documentation to:
155+
156+- **Copy a direct link** to the raw `.md` file to the clipboard.
157+- **View the Markdown source** in a new browser tab.
158+- **Open the page’s content in ChatGPT or Claude**, pre-filled with a prompt to analyze the Markdown file.
159+
160+These actions are especially useful for contributors, readers, or AI-assisted workflows but you can create your own `components/DocsPageHeaderLinks.vue` component to override it.
161+
162+![App Page Header Links](/documentation/app-page-header-links.webp)
163+
164+::u-button
165+---
166+color: neutral
167+icon: i-lucide-code-xml
168+to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsPageHeaderLinks.vue
169+variant: link
170+---
171+Default component code
172+::
173+
174+### `DocsAsideRight`
175+
176+To fully replace the right aside of the documentation pages, create a `components/DocsAsideRight.vue` component.
177+
178+![Docs right aside](/documentation/docs-aside-right.png)
179+
180+::u-button
181+---
182+color: neutral
183+icon: i-lucide-code-xml
184+to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideRight.vue
185+variant: link
186+---
187+Default component code
188+::
189+
190+### `DocsAsideRightBottom`
191+
192+To customize bottom part of the right aside of the documentation pages. You can create the`components/DocsAsideRightBottom.vue` component. Your component will replace the default bottom table of content provided by Docus theme.
193+
194+![Docs right aside bottom](/documentation/docs-aside-right-bottom.webp)
195+
196+::u-button
197+---
198+color: neutral
199+icon: i-lucide-code-xml
200+to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideRightBottom.vue
201+variant: link
202+---
203+Default component code
204+::
205+
206+### `DocsAsideLeftTop`
207+
208+To customize top part of the left aside of the documentation pages. You can create the`components/DocsAsideLeftTop.vue` component.
209+
210+![Docs Aside Left Top](/documentation/docs-aside-left-top.webp)
211+
212+::note
213+---
214+to: https://github.com/nuxt/image/blob/main/docs/app/components/DocsAsideLeftTop.vue
215+---
216+By default this components is empty but you can have a look at how we're overriding it on Nuxt Image documentation itself.
217+::
218+
219+### `DocsAsideLeftBody`
220+
221+To customize main part of the left aside of the documentation pages. You can create the`components/DocsAsideLeftTop.vue` component. Your component will replace the default file navigation provided by Docus theme.
222+
223+![Docs aside left body visualisation](/documentation/docs-aside-left-body.webp)
224+
225+::u-button
226+---
227+color: neutral
228+icon: i-lucide-code-xml
229+to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideLeftBody.vue
230+variant: link
231+---
232+Default component code
233+::
234+
235+## Custom Icons
236+
237+Docus uses [Nuxt Icon](https://github.com/nuxt/icon) with the [Iconify](https://iconify.design/) provider, giving you access to thousands of icons out of the box (e.g. `i-lucide-arrow-right`, `i-simple-icons-github`).
238+
239+To add your own icons, place SVG files in the `assets/icons/` directory of your app. They are automatically registered under the `custom` prefix and available everywhere in your project.
240+
241+```
242+assets/
243+ icons/
244+ my-logo.svg
245+```
246+
247+You can then use them with the `i-custom:` prefix:
248+
249+```md [content/getting-started.md]
250+---
251+navigation:
252+ icon: i-custom:my-logo
253+---
254+```
255+
256+```ts [app.config.ts]
257+export default defineAppConfig({
258+ toc: {
259+ bottom: {
260+ links: [{
261+ icon: 'i-custom:my-logo',
262+ label: 'Preview',
263+ to: '/preview'
264+ }]
265+ }
266+ }
267+})
268+```
269+
270+```vue [components/MyComponent.vue]
271+<template>
272+ <UIcon name="i-custom:my-logo" />
273+</template>
274+```
275+
276+::tip{to="https://iconify.design/docs/icons/icon-set-basics.html"}
277+SVG files should use `currentColor` for fills and strokes so the icon adapts to text color.
278+::
docs/content/en/2.concepts/6.internationalization.md+125−0
@@ -0,0 +1,125 @@
1+---
2+title: Internationalization
3+description: Create multi-language documentation with Docus built-in i18n support.
4+navigation:
5+ icon: i-lucide-globe
6+seo:
7+ description: Learn how to set up and manage multi-language documentation with Docus built-in i18n support.
8+ title: Internationalization
9+---
10+
11+Docus introduces **native internationalization support** based on the `@nuxtjs/i18n` module, allowing you to create documentation in multiple languages with automatic routing and content management.
12+
13+## Features
14+
15+- **Built-in i18n module**: Native integration with `@nuxtjs/i18n`
16+- **Dynamic locale routing**: Automatic URL prefixing with language codes (`/en/docs`, `/fr/docs`)
17+- **Content collections per locale**: Separate content management for each language
18+- **Language switcher**: Built-in component for switching between locales
19+- **Single-language configuration**: Simple locale configuration for single-language sites via `app.config.ts`
20+
21+## Single Language Configuration
22+
23+If you're building documentation in a single language (without the full `@nuxtjs/i18n` module), you can configure the locale through `app.config.ts`. This is useful for setting the language for UI components and localizing built-in strings.
24+
25+```ts [app.config.ts]
26+export default defineAppConfig({
27+ docus: {
28+ locale: 'fr', // Set your locale (default: 'en')
29+ }
30+})
31+```
32+
33+## Multi-Language Setup
34+
35+For multi-language documentation, use the full `@nuxtjs/i18n` integration as described below.
36+
37+### Setup an existing project
38+
39+To enable i18n in your Docus project, add the `@nuxtjs/i18n` module to your `nuxt.config.ts` and define your locales:
40+
41+```typescript [nuxt.config.ts]
42+export default defineNuxtConfig({
43+ modules: ['@nuxtjs/i18n'],
44+ i18n: {
45+ defaultLocale: 'en',
46+ locales: [
47+ { code: 'en', name: 'English' },
48+ { code: 'fr', name: 'Français' },
49+ ],
50+ }
51+})
52+```
53+
54+::warning
55+Docus overrides the `@nuxtjs/i18n` strategy to `prefix`.
56+::
57+
58+## Create a new project with i18n template
59+
60+When creating a new project, you can choose the i18n template for pre-configured internationalization:
61+
62+```bash [Terminal]
63+npx create-docus my-docs -t i18n
64+```
65+
66+## Directory Structure
67+
68+When i18n is enabled, organize your content by locale in the `content/` directory:
69+
70+```bash
71+content/
72+├── en/ # English content
73+│ ├── index.md # English homepage
74+│ ├── getting-started/
75+│ │ ├── installation.md
76+│ │ └── configuration.md
77+│ └── guide/
78+│ └── advanced.md
79+├── fr/ # French content
80+│ ├── index.md # French homepage
81+│ ├── getting-started/
82+│ │ ├── installation.md
83+│ │ └── configuration.md
84+│ └── guide/
85+│ └── advanced.md
86+```
87+
88+::warning
89+Each locale should mirror the same directory structure to maintain consistent navigation across languages.
90+::
91+
92+## Locale fallback
93+
94+Docus warns and skips any locale that does not exist in your `content/` directory. Missing locales are not registered.
95+
96+::tip
97+This is especially helpful when you extend Docus and use `@nuxtjs/i18n` for the rest of your site, but only want the docs in a subset of languages.
98+::
99+
100+Docus detects locales from your nuxt config:
101+
102+```ts [nuxt.config.ts]
103+export default defineNuxtConfig({
104+ modules: ['@nuxtjs/i18n'],
105+ i18n: {
106+ locales: ['en', 'fr', 'ja'],
107+ defaultLocale: 'en'
108+ }
109+})
110+```
111+
112+But only register it based on your `content/` folder structure:
113+
114+```bash
115+content/
116+├─ en/ # registered ✅
117+├─ fr/ # registered ✅ (if present)
118+└─ ja/ # skipped 🚫 (if missing)
119+```
120+
121+If a user requests a missing docs locale, Docus redirects to the **default locale**.
122+
123+::warning
124+You must set a `defaultLocale` in your i18n config and ensure it exists under `content/<defaultLocale>`
125+::
docs/content/en/2.concepts/8.nuxt.md+135−0
@@ -0,0 +1,135 @@
1+---
2+title: Nuxt
3+description: Build interactive and reusable elements with Nuxt components
4+navigation:
5+ icon: i-simple-icons-nuxt
6+---
7+
8+## Nuxt App
9+
10+Docus is built on top of **Nuxt 4**, which means your documentation project is a full Nuxt application. When you scaffold a project using the **Docus CLI**, it adds a layer by default giving you all the flexibility of a standard Nuxt app.
11+
12+By default, the Docus starter only contains a `content/` and `public/` folder and a `package.json`. This is all you need to start writing your documentation. You can go further and use any feature of a Nuxt project, from [nuxt.config.ts](https://nuxt.com/docs/guide/directory-structure/nuxt-config) to [components](https://nuxt.com/docs/guide/directory-structure/nuxt-config) or [plugins](https://nuxt.com/docs/guide/directory-structure/plugins).
13+
14+::note
15+You can use the Nuxt 4 [new directory structure](https://nuxt.com/docs/getting-started/upgrade#new-directory-structure) provided by the [compatibility version 4 .]() All files related to front app code goes in `app/` folder for cleaner organization and better IDE performance.
16+::
17+
18+## Nuxt Modules
19+
20+Want to enhance your docs with custom functionality? You can install and configure [Nuxt modules](https://nuxt.com/modules) just like in any Nuxt app.
21+
22+To add [Vercel Web Analytics](https://vercel.com/docs/analytics) to your documentation:
23+
24+::steps
25+### Install `@vercel/analytics`
26+
27+```bash [Terminal]
28+npm install @vercel/analytics
29+```
30+
31+### Enable Web Analytics in `nuxt.config.ts`
32+
33+For Nuxt, you can turn on Vercel Analytics without extra setup by using the inline module declaration:
34+
35+```ts [nuxt.config.ts]
36+export default defineNuxtConfig({
37+ modules: ['@vercel/analytics/nuxt/module'],
38+})
39+```
40+::
41+
42+## Custom Components
43+
44+With the power of `Nuxt Content` and `Nuxt UI`, and with the help of the `MDC` syntax, you can use [Nuxt UI components](/en/essentials/components) directly in your Markdown without any extra configuration needed.
45+
46+However, you’re not limited to pre-built components. Docus makes it easy to create your own Vue components in your Nuxt app and use them in your content.
47+
48+Here’s a simple example of a custom `BrowserFrame` component created in the `components` folder of your Nuxt app and integrated inside Markdown:
49+
50+::tabs
51+ :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
52+ ```vue [components/content/BrowserFrame.vue]
53+ <script setup lang="ts">
54+ defineProps<{
55+ title?: string
56+ }>()
57+ </script>
58+
59+ <template>
60+ <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
61+ <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
62+ <div class="flex items-center gap-2">
63+ <span class="w-3 h-3 bg-red-500 rounded-full" />
64+ <span class="w-3 h-3 bg-yellow-500 rounded-full" />
65+ <span class="w-3 h-3 bg-green-500 rounded-full" />
66+ </div>
67+ <div class="text-muted">
68+ {{ title }}
69+ </div>
70+ </div>
71+ <slot mdc-unwrap="p" />
72+ </div>
73+ </template>
74+ ```
75+ :::
76+
77+ :::tabs-item{icon="i-simple-icons-markdown" label="Markdown"}
78+ ```mdc
79+ ::browser-frame{title="The Alps"}
80+ ![mountains landscape](/mountains.webp)
81+ ::
82+ ```
83+ :::
84+
85+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
86+ ::::browser-frame{title="The Alps"}
87+ ![mountains landscape](/documentation/mountains.webp)
88+ ::::
89+ :::
90+::
91+
92+This approach lets you create dynamic docs powered by Nuxt components using Markdown.
93+
94+## Vue Pages
95+
96+In addition to Markdown pages, you can also create Vue pages in the `pages/` directory.
97+
98+```vue [pages/hello.vue]
99+<template>
100+ <div>
101+ <h1>Hello</h1>
102+ </div>
103+</template>
104+```
105+
106+You can also use the `definePageMeta` function to set the page meta, such as using the `default` or `docs` layout, but also to define if the page should display the header and the footer:
107+
108+```vue [pages/hello.vue]
109+<script setup lang="ts">
110+definePageMeta({
111+ layout: 'default',
112+ // Remove the header
113+ header: false,
114+ // Remove the footer
115+ footer: false,
116+})
117+</script>
118+```
119+
120+## Custom Layouts
121+
122+Docus uses two layouts:
123+
124+- `default` layout for the landing page and custom Vue pages
125+- `docs` layout for the documentation pages
126+
127+If you want to use a different layout, you can create one in the `app/layouts/` directory.
128+
129+```vue [app/layouts/custom.vue]
130+<template>
131+ <main class="custom-layout">
132+ <slot />
133+ </main>
134+</template>
135+```
docs/content/en/3.essentials/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Essentials
2+icon: i-lucide-book-open
docs/content/en/3.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1+---
2+title: Markdown Syntax
3+description: Text, title, and styling in standard markdown.
4+navigation:
5+ icon: i-lucide-heading-1
6+---
7+
8+## Titles
9+
10+Use titles to introduce main sections. They structure your documentation and help users navigate content.
11+
12+::code-preview
13+---
14+class: "[&>div]:*:my-0"
15+---
16+## Titles
17+
18+#code
19+```mdc
20+## Titles
21+```
22+::
23+
24+### Subtitles
25+
26+Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27+
28+::code-preview
29+---
30+class: "[&>div]:*:my-0"
31+---
32+### Subtitles
33+
34+#code
35+```mdc
36+### Subtitles
37+```
38+::
39+
40+::tip
41+Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42+::
43+
44+## Text Formatting
45+
46+Docus supports most Markdown formatting options.
47+
48+| Style | How to use | Result |
49+| ------ | ------------ | ---------- |
50+| Bold | `**bold**` | **Bold** |
51+| Italic | `*italic*` | *Italic* |
52+| Strike | `~~strike~~` | ~~Strike~~ |
53+
54+Combine formatting for richer text styles and visual emphasis.
55+
56+| Style | How to use | Result |
57+| ------------- | ------------------- | ----------------- |
58+| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59+| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60+| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61+
62+## Links
63+
64+Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65+To create a link, wrap the link text in brackets `[]()`.
66+
67+::code-preview
68+---
69+class: "[&>div]:*:my-0"
70+---
71+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72+
73+#code
74+```mdc
75+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76+```
77+::
78+
79+### Internal links
80+
81+For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82+
83+::code-preview
84+---
85+class: "[&>div]:*:my-0"
86+---
87+[Installation](/en/getting-started/installation)
88+
89+#code
90+```mdc
91+[Installation](/en/getting-started/installation)
92+```
93+::
94+
95+## Lists
96+
97+Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98+
99+### Unordered
100+
101+Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102+
103+::code-preview
104+---
105+class: "[&>div]:*:my-0"
106+---
107+- I'm a list item.
108+- I'm another list item.
109+- I'm the last list item.
110+
111+#code
112+```mdc
113+- I'm a list item.
114+- I'm another list item.
115+- I'm the last list item.
116+```
117+::
118+
119+### Ordered
120+
121+Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122+
123+::code-preview
124+---
125+class: "[&>div]:*:my-0"
126+---
127+1. I'm a list item.
128+2. I'm another list item.
129+3. I'm the last list item.
130+
131+#code
132+```mdc
133+1. I'm a list item.
134+2. I'm another list item.
135+3. I'm the last list item.
136+```
137+::
138+
139+### Nested
140+
141+Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142+
143+::code-preview
144+---
145+class: "[&>div]:*:my-0"
146+---
147+- I'm a list item.
148+ - I'm a nested list item.
149+ - I'm another nested list item.
150+- I'm another list item.
151+
152+#code
153+```mdc
154+- I'm a list item.
155+ - I'm a nested list item.
156+ - I'm another nested list item.
157+- I'm another list item.
158+```
159+::
160+
161+## Tables
162+
163+Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164+
165+::code-preview
166+---
167+class: "[&>div]:*:my-0 [&>div]:*:w-full"
168+---
169+| Prop | Default | Type |
170+| ------- | --------- | -------- |
171+| `name` | | `string` |
172+| `size` | `md` | `string` |
173+| `color` | `neutral` | `string` |
174+
175+#code
176+```mdc
177+| Prop | Default | Type |
178+|---------|-----------|--------------------------|
179+| `name` | | `string`{lang="ts-type"} |
180+| `size` | `md` | `string`{lang="ts-type"} |
181+| `color` | `neutral` | `string`{lang="ts-type"} |
182+```
183+::
184+
185+## Blockquotes
186+
187+Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188+
189+### Singleline
190+
191+Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192+
193+::code-preview
194+---
195+class: "[&>div]:*:my-0"
196+---
197+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198+
199+#code
200+```mdc
201+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202+```
203+::
204+
205+### Multiline
206+
207+Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208+
209+::code-preview
210+---
211+class: "[&>div]:*:my-0"
212+---
213+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214+>
215+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216+
217+#code
218+```mdc
219+> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220+>
221+> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222+```
223+::
docs/content/en/3.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1+---
2+title: Code Blocks
3+description: Display inline code and code blocks in your documentation.
4+links: []
5+navigation:
6+ icon: i-lucide-code-xml
7+---
8+
9+## Basic
10+
11+### Inline Code
12+
13+Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
14+
15+::code-preview
16+---
17+class: "[&>div]:*:my-0"
18+---
19+`inline code`
20+
21+#code
22+```mdc
23+`inline code`
24+```
25+::
26+
27+### Code Blocks
28+
29+Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
30+
31+::code-preview
32+---
33+class: "[&>div]:*:my-0 [&>div]:*:w-full"
34+---
35+```ts
36+export default defineNuxtConfig({
37+ modules: ['@nuxt/ui']
38+})
39+```
40+
41+#code
42+````mdc
43+```ts
44+export default defineNuxtConfig({
45+ modules: ['@nuxt/ui']
46+})
47+```
48+````
49+::
50+
51+When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
52+Filenames help users understand the code's location and purpose within a project.
53+
54+::code-preview
55+---
56+class: "[&>div]:*:my-0 [&>div]:*:w-full"
57+---
58+```ts [nuxt.config.ts]
59+export default defineNuxtConfig({
60+ modules: ['@nuxt/ui']
61+})
62+```
63+
64+#code
65+````mdc
66+```ts [nuxt.config.ts]
67+export default defineNuxtConfig({
68+ modules: ['@nuxt/ui']
69+})
70+```
71+````
72+::
73+
74+Every code-block has a built-in copy button that will copy the code to your clipboard.
75+
76+::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77+Icons are already defined by default, but you can customize them in your `app.config.ts`:
78+
79+```ts [app.config.ts]
80+export default defineAppConfig({
81+ ui: {
82+ prose: {
83+ codeIcon: {
84+ terminal: 'i-ph-terminal-window-duotone'
85+ }
86+ }
87+ }
88+})
89+```
90+::
91+
92+## Advanced
93+
94+### CodeGroup
95+
96+Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
97+
98+::code-preview
99+---
100+class: "[&>div]:*:my-0 [&>div]:*:w-full"
101+---
102+ :::code-group{.w-full}
103+ ```bash [pnpm]
104+ pnpm add @nuxt/ui
105+ ```
106+
107+ ```bash [yarn]
108+ yarn add @nuxt/ui
109+ ```
110+
111+ ```bash [npm]
112+ npm install @nuxt/ui
113+ ```
114+
115+ ```bash [bun]
116+ bun add @nuxt/ui
117+ ```
118+ :::
119+
120+#code
121+````mdc
122+::code-group
123+
124+```bash [pnpm]
125+pnpm add @nuxt/ui
126+```
127+
128+```bash [yarn]
129+yarn add @nuxt/ui
130+```
131+
132+```bash [npm]
133+npm install @nuxt/ui
134+```
135+
136+```bash [bun]
137+bun add @nuxt/ui
138+```
139+
140+::
141+````
142+::
143+
144+### CodeTree
145+
146+Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
147+
148+::code-preview
149+---
150+class: "[&>div]:*:my-0 [&>div]:*:w-full"
151+---
152+ :::code-tree{default-value="app/app.config.ts"}
153+ ```ts [nuxt.config.ts]
154+ export default defineNuxtConfig({
155+ modules: ['@nuxt/ui'],
156+
157+ future: {
158+ compatibilityVersion: 4
159+ },
160+
161+ css: ['~/assets/css/main.css']
162+ })
163+ ```
164+
165+ ```css [app/assets/css/main.css]
166+ @import "tailwindcss";
167+ @import "@nuxt/ui";
168+ ```
169+
170+ ```ts [app/app.config.ts]
171+ export default defineAppConfig({
172+ ui: {
173+ colors: {
174+ primary: 'sky',
175+ colors: 'slate'
176+ }
177+ }
178+ })
179+ ```
180+
181+ ```vue [app/app.vue]
182+ <template>
183+ <UApp>
184+ <NuxtPage />
185+ </UApp>
186+ </template>
187+ ```
188+
189+ ```json [package.json]
190+ {
191+ "name": "nuxt-app",
192+ "private": true,
193+ "type": "module",
194+ "scripts": {
195+ "build": "nuxt build",
196+ "dev": "nuxt dev",
197+ "generate": "nuxt generate",
198+ "preview": "nuxt preview",
199+ "postinstall": "nuxt prepare",
200+ "lint": "eslint .",
201+ "lint:fix": "eslint --fix ."
202+ },
203+ "dependencies": {
204+ "@iconify-json/lucide": "^1.2.18",
205+ "@nuxt/ui": "^4.0.0",
206+ "nuxt": "^4.1.0"
207+ },
208+ "devDependencies": {
209+ "eslint": "^9.34.0",
210+ "typescript": "^5.9.3",
211+ "vue-tsc": "^3.0.6"
212+ }
213+ }
214+ ```
215+
216+ ```json [tsconfig.json]
217+ {
218+ "extends": "./.nuxt/tsconfig.json"
219+ }
220+ ```
221+
222+ ````md [README.md]
223+ # Nuxt 4 Minimal Starter
224+
225+ Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226+
227+ ## Setup
228+
229+ Make sure to install the dependencies:
230+
231+ ```bash
232+ # npm
233+ npm install
234+
235+ # pnpm
236+ pnpm install
237+
238+ # yarn
239+ yarn install
240+
241+ # bun
242+ bun install
243+ ```
244+
245+ ## Development Server
246+
247+ Start the development server on `http://localhost:3000`:
248+
249+ ```bash
250+ # npm
251+ npm run dev
252+
253+ # pnpm
254+ pnpm run dev
255+
256+ # yarn
257+ yarn dev
258+
259+ # bun
260+ bun run dev
261+ ```
262+
263+ ## Production
264+
265+ Build the application for production:
266+
267+ ```bash
268+ # npm
269+ npm run build
270+
271+ # pnpm
272+ pnpm run build
273+
274+ # yarn
275+ yarn build
276+
277+ # bun
278+ bun run build
279+ ```
280+
281+ Locally preview production build:
282+
283+ ```bash
284+ # npm
285+ npm run preview
286+
287+ # pnpm
288+ pnpm run preview
289+
290+ # yarn
291+ yarn preview
292+
293+ # bun
294+ bun run preview
295+ ```
296+
297+ Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298+ ````
299+ :::
300+::
301+
302+### `CodePreview`
303+
304+Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305+Write the code to be previewed in the `default` slot and the actual code in the `code` slot.
306+
307+::code-preview
308+---
309+class: "[&>div]:*:my-0 [&>div]:*:w-full"
310+label: Preview
311+---
312+ :::code-preview
313+ ---
314+ class: "[&>div]:*:my-0"
315+ ---
316+ `inline code`
317+
318+ #code
319+ ```mdc
320+ `inline code`
321+ ```
322+ :::
323+
324+#code
325+````mdc
326+::code-preview
327+`inline code`
328+
329+#code
330+```mdc
331+`inline code`
332+```
333+::
334+````
335+::
336+
337+### `CodeCollapse`
338+
339+Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340+
341+::code-preview
342+---
343+class: "[&>div]:*:my-0 [&>div]:*:w-full"
344+---
345+ :::code-collapse
346+ ---
347+ class: "[&>div]:my-0"
348+ ---
349+ ```css [main.css]
350+ @import "tailwindcss";
351+ @import "@nuxt/ui";
352+
353+ @theme {
354+ --font-sans: 'Public Sans', sans-serif;
355+
356+ --breakpoint-3xl: 1920px;
357+
358+ --color-green-50: #EFFDF5;
359+ --color-green-100: #D9FBE8;
360+ --color-green-200: #B3F5D1;
361+ --color-green-300: #75EDAE;
362+ --color-green-400: #00DC82;
363+ --color-green-500: #00C16A;
364+ --color-green-600: #00A155;
365+ --color-green-700: #007F45;
366+ --color-green-800: #016538;
367+ --color-green-900: #0A5331;
368+ --color-green-950: #052E16;
369+ }
370+ ```
371+ :::
372+
373+#code
374+````mdc
375+::code-collapse
376+
377+```css [main.css]
378+@import "tailwindcss";
379+@import "@nuxt/ui";
380+
381+@theme {
382+--font-sans: 'Public Sans', sans-serif;
383+
384+--breakpoint-3xl: 1920px;
385+
386+--color-green-50: #EFFDF5;
387+--color-green-100: #D9FBE8;
388+--color-green-200: #B3F5D1;
389+--color-green-300: #75EDAE;
390+--color-green-400: #00DC82;
391+--color-green-500: #00C16A;
392+--color-green-600: #00A155;
393+--color-green-700: #007F45;
394+--color-green-800: #016538;
395+--color-green-900: #0A5331;
396+--color-green-950: #052E16;
397+}
398+```
399+
400+::
401+````
402+::
docs/content/en/3.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1+---
2+title: Markdown Components
3+description: Use Markdown components to help you structure your content, with the help of Nuxt UI.
4+navigation:
5+ icon: i-lucide-component
6+ title: Components
7+---
8+
9+Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
10+
11+**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12+
13+::note{to="https://ui.nuxt.com/getting-started"}
14+This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
15+::
16+
17+### `Accordion`
18+
19+Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
20+
21+::tabs
22+ :::tabs-item{icon="i-lucide-eye" label="Preview"}
23+ ::::accordion
24+ :::::accordion-item
25+ ---
26+ icon: i-lucide-circle-help
27+ label: What is Docus and what are its key features??
28+ ---
29+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
30+ :::::
31+
32+ :::::accordion-item
33+ ---
34+ icon: i-lucide-circle-help
35+ label: How do I get started with Docus?
36+ ---
37+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
38+ :::::
39+
40+ :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
41+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
42+ :::::
43+ ::::
44+ :::
45+
46+ :::tabs-item{icon="i-lucide-code" label="Code"}
47+```mdc
48+ ::accordion
49+
50+ :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
51+ Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
52+ :::
53+
54+ :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
55+ The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
56+ :::
57+
58+ :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
59+ [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
60+ :::
61+ ::
62+```
63+ :::
64+::
65+
66+### `Badge`
67+
68+Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
69+
70+::tabs
71+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
72+ ::::badge
73+ **v3.0.0**
74+ ::::
75+ :::
76+
77+ :::tabs-item{icon="i-lucide-code" label="Code"}
78+```mdc
79+ ::badge
80+ **v3.0.0**
81+ ::
82+```
83+ :::
84+::
85+
86+### `Callout`
87+
88+Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
89+
90+Use the `icon` and `color` props to customize it. You can also pass any property from the `<NuxtLink>` component.
91+
92+You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
93+
94+::tabs
95+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
96+ ::::div{.flex.flex-col.gap-4.w-full}
97+ :::::note{.w-full.my-0}
98+ Here's some additional information for you.
99+ :::::
100+
101+ :::::tip{.w-full.my-0}
102+ Here's a helpful suggestion.
103+ :::::
104+
105+ :::::warning{.w-full.my-0}
106+ Be careful with this action as it might have unexpected results.
107+ :::::
108+
109+ :::::caution{.w-full.my-0}
110+ This action cannot be undone.
111+ :::::
112+ ::::
113+ :::
114+
115+ :::tabs-item{icon="i-lucide-code" label="Code"}
116+```mdc
117+ ::note
118+ Here's some additional information.
119+ ::
120+
121+ ::tip
122+ Here's a helpful suggestion.
123+ ::
124+
125+ ::warning
126+ Be careful with this action as it might have unexpected results.
127+ ::
128+
129+ ::caution
130+ This action cannot be undone.
131+ ::
132+```
133+ :::
134+::
135+
136+### `Card` and `CardGroup`
137+
138+Use markdown in the default slot of the `card` component to highlight your content.
139+
140+Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the `<NuxtLink>`.
141+
142+Wrap your `card` components with the `card-group` component to group them together in a grid layout.
143+
144+::tabs
145+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
146+ ::::card-group{.w-full.my-0}
147+ :::::card
148+ ---
149+ icon: i-simple-icons-github
150+ target: _blank
151+ title: Dashboard
152+ to: https://github.com/nuxt-ui-templates/dashboard
153+ ---
154+ A dashboard with multi-column layout.
155+ :::::
156+
157+ :::::card
158+ ---
159+ icon: i-simple-icons-github
160+ target: _blank
161+ title: SaaS
162+ to: https://github.com/nuxt-ui-templates/saas
163+ ---
164+ A template with landing, pricing, docs and blog.
165+ :::::
166+
167+ :::::card
168+ ---
169+ icon: i-simple-icons-github
170+ target: _blank
171+ title: Docs
172+ to: https://github.com/nuxt-ui-templates/docs
173+ ---
174+ A documentation with `@nuxt/content`.
175+ :::::
176+
177+ :::::card
178+ ---
179+ icon: i-simple-icons-github
180+ target: _blank
181+ title: Landing
182+ to: https://github.com/nuxt-ui-templates/landing
183+ ---
184+ A landing page you can use as starting point.
185+ :::::
186+ ::::
187+ :::
188+
189+ :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
190+```mdc
191+ :::card-group
192+
193+ ::card
194+ ---
195+ title: Dashboard
196+ icon: i-simple-icons-github
197+ to: https://github.com/nuxt-ui-templates/dashboard
198+ target: _blank
199+ ---
200+ A dashboard with multi-column layout.
201+ ::
202+
203+ ::card
204+ ---
205+ title: SaaS
206+ icon: i-simple-icons-github
207+ to: https://github.com/nuxt-ui-templates/saas
208+ target: _blank
209+ ---
210+ A template with landing, pricing, docs and blog.
211+ ::
212+
213+ ::card
214+ ---
215+ title: Docs
216+ icon: i-simple-icons-github
217+ to: https://github.com/nuxt-ui-templates/docs
218+ target: _blank
219+ ---
220+ A documentation with `@nuxt/content`.
221+ ::
222+
223+ ::card
224+ ---
225+ title: Landing
226+ icon: i-simple-icons-github
227+ to: https://github.com/nuxt-ui-templates/landing
228+ target: _blank
229+ ---
230+ A landing page you can use as starting point.
231+ ::
232+
233+ :::
234+```
235+ :::
236+::
237+
238+### `Collapsible`
239+
240+Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
241+
242+::tabs
243+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
244+ ::::collapsible
245+ | Prop | Default | Type |
246+ | ------- | --------- | -------- |
247+ | `name` | | `string` |
248+ | `size` | `md` | `string` |
249+ | `color` | `neutral` | `string` |
250+ ::::
251+ :::
252+
253+ :::tabs-item{icon="i-lucide-code" label="Code"}
254+```mdc
255+ ::collapsible
256+
257+ | Prop | Default | Type |
258+ |---------|-----------|--------------------------|
259+ | `name` | | `string`{lang="ts-type"} |
260+ | `size` | `md` | `string`{lang="ts-type"} |
261+ | `color` | `neutral` | `string`{lang="ts-type"} |
262+
263+ ::
264+```
265+ :::
266+::
267+
268+### `Field` and `FieldGroup`
269+
270+A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
271+
272+::tabs
273+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
274+ ::::field-group{.my-0}
275+ :::::field{name="analytics" type="boolean"}
276+ Default to `false` - Enables analytics for your project (coming soon).
277+ :::::
278+
279+ :::::field{name="blob" type="boolean"}
280+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
281+ :::::
282+
283+ :::::field{name="cache" type="boolean"}
284+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
285+ :::::
286+
287+ :::::field{name="database" type="boolean"}
288+ Default to `false` - Enables SQL database to store your application's data.
289+ :::::
290+ ::::
291+ :::
292+
293+ :::tabs-item{icon="i-lucide-code" label="Code"}
294+```mdc
295+ ::field-group
296+ ::field{name="analytics" type="boolean"}
297+ Default to `false` - Enables analytics for your project (coming soon).
298+ ::
299+
300+ ::field{name="blob" type="boolean"}
301+ Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
302+ ::
303+
304+ ::field{name="cache" type="boolean"}
305+ Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
306+ ::
307+
308+ ::field{name="database" type="boolean"}
309+ Default to `false` - Enables SQL database to store your application's data.
310+ ::
311+ ::
312+```
313+ :::
314+::
315+
316+### `Icon`
317+
318+Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
319+
320+::code-preview
321+:icon{name="i-simple-icons-nuxtdotjs"}
322+
323+#code
324+```mdc
325+:icon{name="i-simple-icons-nuxtdotjs"}
326+```
327+::
328+
329+### `Kbd`
330+
331+Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
332+
333+::code-preview
334+#code
335+```mdc
336+:kbd{value="meta"} :kbd{value="K"}
337+```
338+::
339+
340+### `Tabs`
341+
342+Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
343+
344+::code-preview
345+ :::tabs{.w-full}
346+ ::::tabs-item{icon="i-lucide-code" label="Code"}
347+ ```mdc
348+ ::callout
349+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
350+ ::
351+ ```
352+ ::::
353+
354+ ::::tabs-item{icon="i-lucide-eye" label="Preview"}
355+ :::::callout
356+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
357+ :::::
358+ ::::
359+ :::
360+
361+#code
362+````mdc
363+::tabs{.w-full}
364+ :::tabs-item{icon="i-lucide-code" label="Code"}
365+ ```mdc
366+ ::::callout
367+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
368+ ::::
369+ ```
370+ ::::
371+
372+:::tabs-item{icon="i-lucide-eye" label="Preview"}
373+ :::::callout
374+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
375+ :::::
376+:::
377+::
378+````
379+::
380+
381+### `Steps`
382+
383+Wrap your headings with the Steps component to display a list of steps.
384+
385+Use the `level` prop to define which heading will be used for the steps.
386+
387+::tabs
388+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
389+ ::::steps{level="4"}
390+ #### Start a fresh new project
391+
392+ ```bash [Terminal]
393+ npm create nuxt@latest -- -t github:nuxt-content/docus
394+ ```
395+
396+ #### Run docus CLI to run your dev server
397+
398+ ```bash [Terminal]
399+ docus dev
400+ ```
401+ ::::
402+ :::
403+
404+ :::tabs-item{icon="i-lucide-code" label="Code"}
405+````mdc
406+ ::steps{level="4"}
407+ #### Start a fresh new project
408+
409+ ```bash [Terminal]
410+ npm create nuxt@latest -- -t github:nuxt-content/docus
411+ ```
412+
413+ #### Run docus CLI to run your dev server
414+
415+ ```bash [Terminal]
416+ docus dev
417+ ```
418+ ::
419+````
420+ :::
421+::
docs/content/en/3.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1+---
2+title: Images and Embeds
3+description: Add image, video, and other HTML elements
4+navigation:
5+ icon: i-lucide-image
6+seo:
7+ description: Add image, video, and other HTML elements using Docus theme
8+ title: Images and Embeds
9+---
10+
11+## Markdown
12+
13+Display images or videos using standard Markdown syntax.
14+
15+### Images
16+
17+::code-preview
18+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
19+
20+#code
21+```mdc
22+![Nuxt Social Image](https://nuxt.com/new-social.jpg)
23+```
24+::
25+
26+Or with your local images
27+
28+::code-preview
29+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
30+
31+#code
32+```mdc
33+![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
34+```
35+::
36+
37+::note{to="https://image.nuxt.com/"}
38+Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
39+::
40+
41+### Videos
42+
43+::code-preview
44+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45+
46+#code
47+```mdc
48+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49+```
50+::
51+
52+###
docs/content/en/4.ai/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: AI
2+icon: i-lucide-sparkles
docs/content/en/4.ai/1.assistant.md+383−0
@@ -0,0 +1,383 @@
1+---
2+title: Assistant
3+description: Add AI-powered chat to your docs that answers questions, cites sources, and generates code examples.
4+navigation:
5+ icon: i-lucide-sparkles
6+---
7+
8+## About the Assistant
9+
10+The assistant answers questions about your documentation through natural language queries. It is embedded directly in your documentation site, so users can find answers quickly and succeed with your product.
11+
12+When users ask questions, the assistant:
13+
14+- **Searches and retrieves** relevant content from your documentation using an [MCP server](/en/ai/mcp).
15+- **Cites sources** with navigable links to take users directly to referenced pages.
16+- **Generates copyable code examples** to help users implement solutions from your documentation.
17+
18+## How It Works
19+
20+The assistant uses a multi-agent architecture:
21+
22+1. **Main Agent** - Receives user questions and decides when to search documentation
23+2. **Search Agent** - Uses [MCP server](/en/ai/mcp) tools to find relevant content
24+3. **Response Generation** - Synthesizes information into helpful, conversational answers
25+
26+By default, the assistant connects to your documentation's built-in MCP server at `/mcp`, giving it access to all your pages without additional configuration. You can also connect to an external MCP server if needed.
27+
28+## Quick Start
29+
30+### 1. Install dependencies
31+
32+::code-group
33+
34+```bash [npm]
35+npm install ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
36+```
37+
38+```bash [pnpm]
39+pnpm add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
40+```
41+
42+```bash [yarn]
43+yarn add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
44+```
45+
46+::
47+
48+### 2. Set up AI Gateway authentication
49+
50+Pick **one** of this method:
51+
52+**API key** — Create a key in [Vercel AI Gateway](https://vercel.com/~/ai/api-keys) and add it to your environment:
53+
54+```bash [.env]
55+AI_GATEWAY_API_KEY=your-api-key
56+```
57+
58+**OIDC (only on Vercel)** — `VERCEL_OIDC_TOKEN` is injected automatically. Nothing to add in the production. For local dev, run `vercel env pull` on a [linked project](https://vercel.com/docs/cli/link).
59+
60+### 3. Deploy
61+
62+Deploy your site — the assistant is available as soon as authentication is configured.
63+
64+## Using the Assistant
65+
66+Users can interact with the assistant in multiple ways:
67+
68+### Floating Input
69+
70+On documentation pages, a floating input appears at the bottom of the screen. Users can type their questions directly and press Enter to get answers.
71+
72+::tip
73+Use the keyboard shortcut :kbd{value="meta"} :kbd{value="I"} to focus the floating input.
74+::
75+
76+### Explain with AI
77+
78+Each documentation page includes an **Explain with AI** button in the table of contents sidebar. Clicking this button opens the assistant with the current page as context, asking it to explain the content.
79+
80+### Slideover Chat
81+
82+When a conversation starts, a slideover panel opens on the right side of the screen. This panel displays the conversation history and allows users to continue asking questions.
83+
84+## Configuration
85+
86+Configure the assistant through `app.config.ts`:
87+
88+```ts [app.config.ts]
89+export default defineAppConfig({
90+ assistant: {
91+ // Show the floating input on documentation pages
92+ floatingInput: true,
93+
94+ // Show the "Explain with AI" button in the sidebar
95+ explainWithAi: true,
96+
97+ // FAQ questions to display when chat is empty
98+ faqQuestions: [],
99+
100+ // Keyboard shortcuts
101+ shortcuts: {
102+ focusInput: 'meta_i'
103+ },
104+
105+ // Custom icons
106+ icons: {
107+ trigger: 'i-lucide-sparkles',
108+ explain: 'i-lucide-brain'
109+ }
110+ }
111+})
112+```
113+
114+### FAQ Questions
115+
116+Display suggested questions when the chat is empty. This helps users discover what they can ask.
117+
118+#### Simple Format
119+
120+```ts [app.config.ts]
121+export default defineAppConfig({
122+ assistant: {
123+ faqQuestions: [
124+ 'How do I install Docus?',
125+ 'How do I customize the theme?',
126+ 'How do I add components to my pages?'
127+ ]
128+ }
129+})
130+```
131+
132+#### Category Format
133+
134+Organize questions into categories:
135+
136+```ts [app.config.ts]
137+export default defineAppConfig({
138+ assistant: {
139+ faqQuestions: [
140+ {
141+ category: 'Getting Started',
142+ items: [
143+ 'How do I install Docus?',
144+ 'What is the project structure?'
145+ ]
146+ },
147+ {
148+ category: 'Customization',
149+ items: [
150+ 'How do I change the theme colors?',
151+ 'How do I add a custom logo?'
152+ ]
153+ }
154+ ]
155+ }
156+})
157+```
158+
159+#### Localized Format
160+
161+For multi-language documentation, provide FAQ questions per locale:
162+
163+```ts [app.config.ts]
164+export default defineAppConfig({
165+ assistant: {
166+ faqQuestions: {
167+ en: [
168+ { category: 'Getting Started', items: ['How do I install?'] }
169+ ],
170+ fr: [
171+ { category: 'Démarrage', items: ['Comment installer ?'] }
172+ ]
173+ }
174+ }
175+})
176+```
177+
178+## Keyboard Shortcuts
179+
180+Configure the keyboard shortcut for focusing the floating input:
181+
182+```ts [app.config.ts]
183+export default defineAppConfig({
184+ assistant: {
185+ shortcuts: {
186+ // Default: 'meta_i' (Cmd+I on Mac, Ctrl+I on Windows)
187+ focusInput: 'meta_k' // Change to Cmd/Ctrl+K
188+ }
189+ }
190+})
191+```
192+
193+The shortcut format uses underscores to separate keys. Common examples:
194+
195+- `meta_i` - Cmd+I (Mac) / Ctrl+I (Windows)
196+- `meta_k` - Cmd+K (Mac) / Ctrl+K (Windows)
197+- `ctrl_shift_p` - Ctrl+Shift+P
198+
199+## Custom Icons
200+
201+Customize the icons used by the assistant:
202+
203+```ts [app.config.ts]
204+export default defineAppConfig({
205+ assistant: {
206+ icons: {
207+ // Icon for the trigger button and slideover header
208+ trigger: 'i-lucide-bot',
209+
210+ // Icon for the "Explain with AI" button
211+ explain: 'i-lucide-lightbulb'
212+ }
213+ }
214+})
215+```
216+
217+Icons use the [Iconify](https://iconify.design/) format (e.g., `i-lucide-sparkles`, `i-heroicons-sparkles`).
218+
219+## Internationalization
220+
221+All UI texts are automatically translated based on the user's locale. Docus includes built-in translations for English and French.
222+
223+The following texts are translated:
224+
225+- Slideover title and placeholder
226+- Tooltip texts
227+- Button labels ("Clear chat", "Close", "Explain with AI")
228+- Status messages ("Thinking...", "Chat is cleared on refresh")
229+
230+## Disable Features
231+
232+### Disable the Floating Input
233+
234+Hide the floating input at the bottom of documentation pages:
235+
236+```ts [app.config.ts]
237+export default defineAppConfig({
238+ assistant: {
239+ floatingInput: false
240+ }
241+})
242+```
243+
244+### Disable "Explain with AI"
245+
246+Hide the "Explain with AI" button in the documentation sidebar:
247+
248+```ts [app.config.ts]
249+export default defineAppConfig({
250+ assistant: {
251+ explainWithAi: false
252+ }
253+})
254+```
255+
256+### Disable the Assistant Entirely
257+
258+The assistant is disabled when no authentication is available. To explicitly disable it, remove `AI_GATEWAY_API_KEY` from your environment:
259+
260+```bash [.env]
261+# AI_GATEWAY_API_KEY=your-api-key
262+```
263+
264+On Vercel with OIDC, remove the auto-injected system environment variable from your project settings.
265+
266+## Advanced Configuration
267+
268+Configure advanced options in `nuxt.config.ts` under `docus.assistant`.
269+
270+```ts [nuxt.config.ts]
271+export default defineNuxtConfig({
272+ docus: {
273+ assistant: {
274+ // AI model (uses AI SDK Gateway format)
275+ model: 'google/gemini-3-flash',
276+
277+ // MCP server (path or URL)
278+ mcpServer: '/mcp',
279+
280+ // API endpoint path
281+ apiPath: '/__docus__/assistant'
282+ }
283+ }
284+})
285+```
286+
287+### MCP Server Configuration
288+
289+The assistant uses an MCP server to access your documentation. You have two options:
290+
291+#### Use the Built-in MCP Server (Default)
292+
293+By default, the assistant uses Docus's built-in MCP server at `/mcp`:
294+
295+```ts [nuxt.config.ts]
296+export default defineNuxtConfig({
297+ docus: {
298+ assistant: {
299+ mcpServer: '/mcp'
300+ }
301+ }
302+})
303+```
304+
305+::warning
306+Make sure the MCP server is enabled in your configuration. If you've customized the MCP path, update `mcpServer` accordingly.
307+::
308+
309+#### Use an External MCP Server
310+
311+Connect to any external MCP server by providing a full URL:
312+
313+```ts [nuxt.config.ts]
314+export default defineNuxtConfig({
315+ docus: {
316+ assistant: {
317+ mcpServer: 'https://other-docs.example.com/mcp'
318+ }
319+ }
320+})
321+```
322+
323+This is useful when you want the assistant to answer questions from a different documentation source, or when connecting to a centralized knowledge base.
324+
325+### Custom AI Model
326+
327+The assistant uses `google/gemini-3-flash` by default. You can change this to any model supported by the AI SDK Gateway:
328+
329+```ts [nuxt.config.ts]
330+export default defineNuxtConfig({
331+ docus: {
332+ assistant: {
333+ model: 'anthropic/claude-opus-4.5'
334+ }
335+ }
336+})
337+```
338+
339+### Site Name in Responses
340+
341+The assistant automatically uses your site name in its responses. Configure the site name in `nuxt.config.ts`:
342+
343+```ts [nuxt.config.ts]
344+export default defineNuxtConfig({
345+ site: {
346+ name: 'My Documentation'
347+ }
348+})
349+```
350+
351+This makes the assistant respond as "the My Documentation assistant" and speak with authority about your specific product.
352+
353+## Programmatic Access
354+
355+Use the `useAssistant` composable to control the assistant programmatically:
356+
357+```vue
358+<script setup>
359+const { isEnabled, isOpen, open, close, toggle } = useAssistant()
360+
361+function askQuestion() {
362+ // Open the assistant with a pre-filled question
363+ open('How do I configure the theme?', true)
364+}
365+</script>
366+
367+<template>
368+ <UButton v-if="isEnabled" @click="askQuestion">
369+ Ask about themes
370+ </UButton>
371+</template>
372+```
373+
374+### Composable API
375+
376+| Property | Type | Description |
377+| -------------------------------- | ---------------------- | --------------------------------------------------------------------------------------- |
378+| `isEnabled` | `ComputedRef<boolean>` | Whether the assistant is enabled (`AI_GATEWAY_API_KEY` or `VERCEL_OIDC_TOKEN` at build) |
379+| `isOpen` | `Ref<boolean>` | Whether the slideover is open |
380+| `open(message?, clearPrevious?)` | `Function` | Open the assistant, optionally with a message |
381+| `close()` | `Function` | Close the assistant slideover |
382+| `toggle()` | `Function` | Toggle the assistant open/closed |
383+| `clearMessages()` | `Function` | Clear the conversation history |
docs/content/en/4.ai/2.mcp.md+273−0
@@ -0,0 +1,273 @@
1+---
2+title: MCP Server
3+description: Connect your documentation to AI tools with a native MCP server.
4+navigation:
5+ icon: i-lucide-cpu
6+---
7+
8+## About MCP Servers
9+
10+The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open protocol that creates standardized connections between AI applications and external services, like documentation.
11+
12+Every Docus instance includes a built-in MCP server, preparing your content for the broader AI ecosystem where any MCP client (like Claude, Cursor, VS Code, and others) can connect to your documentation.
13+
14+### How MCP Servers Work
15+
16+When an MCP server is connected to an AI tool, the LLM can decide to use your documentation tools during response generation:
17+
18+- The LLM can **proactively search your documentation** while generating a response, not just when explicitly asked.
19+- The LLM determines **when to use tools** based on the context of the conversation and the relevance of your documentation.
20+- Each tool call happens **during the generation process**, allowing the LLM to incorporate real-time information from your documentation into its response.
21+
22+For example, if a user asks a coding question and the LLM determines that your documentation is relevant, it can search your docs and include that information in the response without the user explicitly asking about your documentation.
23+
24+## Accessing Your MCP Server
25+
26+Your MCP server is automatically available at the `/mcp` path of your documentation URL.
27+
28+::note
29+For example, if your documentation is hosted at `https://docs.example.com`, your MCP server URL is `https://docs.example.com/mcp`.
30+::
31+
32+## Disable the MCP Server
33+
34+If you want to disable the MCP server, you can do so in your `nuxt.config.ts`:
35+
36+```ts [nuxt.config.ts]
37+export default defineNuxtConfig({
38+ mcp: {
39+ enabled: false,
40+ },
41+})
42+```
43+
44+## Built-in Tools
45+
46+Docus provides two tools out of the box that allow any LLM to discover and read your documentation:
47+
48+### `list-pages`
49+
50+Lists all documentation pages with their titles, paths, and descriptions. AI assistants should call this first to discover available content.
51+
52+| Parameter | Type | Description |
53+| --------- | ----------------- | ---------------------- |
54+| `locale` | string (optional) | Filter pages by locale |
55+
56+### `get-page`
57+
58+Retrieves the full markdown content of a specific documentation page.
59+
60+| Parameter | Type | Description |
61+| --------- | ----------------- | -------------------------------------------------------- |
62+| `path` | string (required) | The page path (e.g., `/en/getting-started/installation`) |
63+
64+## Setup
65+
66+The Docus MCP server uses HTTP transport and can be installed in different AI assistants.
67+
68+### Claude Code
69+
70+Add the server using the CLI command:
71+
72+```bash
73+claude mcp add --transport http my-docs https://docs.example.com/mcp
74+```
75+
76+### Cursor
77+
78+:install-button{ide="cursor" label="Install in Cursor" url="https://docs.example.com/mcp"}
79+
80+Or manually create/update `.cursor/mcp.json` in your project root:
81+
82+```json [.cursor/mcp.json]
83+{
84+ "mcpServers": {
85+ "my-docs": {
86+ "type": "http",
87+ "url": "https://docs.example.com/mcp"
88+ }
89+ }
90+}
91+```
92+
93+### Visual Studio Code
94+
95+Ensure you have GitHub Copilot and GitHub Copilot Chat extensions installed.
96+
97+:install-button{ide="vscode" label="Install in VS Code" url="https://docs.example.com/mcp"}
98+
99+Or manually create/update the `.vscode/mcp.json` file:
100+
101+```json [.vscode/mcp.json]
102+{
103+ "servers": {
104+ "my-docs": {
105+ "type": "http",
106+ "url": "https://docs.example.com/mcp"
107+ }
108+ }
109+}
110+```
111+
112+### Windsurf
113+
114+1. Open Windsurf and navigate to **Settings** > **Windsurf Settings** > **Cascade**
115+2. Click the **Manage MCPs** button, then select the **View raw config** option
116+3. Add the following configuration:
117+
118+```json [.codeium/windsurf/mcp_config.json]
119+{
120+ "mcpServers": {
121+ "my-docs": {
122+ "type": "http",
123+ "url": "https://docs.example.com/mcp"
124+ }
125+ }
126+}
127+```
128+
129+### Zed
130+
131+1. Open Zed and go to **Settings** > **Open Settings**
132+2. Navigate to the JSON settings file
133+3. Add the following context server configuration:
134+
135+```json [.config/zed/settings.json]
136+{
137+ "context_servers": {
138+ "my-docs": {
139+ "source": "custom",
140+ "command": "npx",
141+ "args": ["mcp-remote", "https://docs.example.com/mcp"],
142+ "env": {}
143+ }
144+ }
145+}
146+```
147+
148+## Customization
149+
150+Since Docus uses the `@nuxtjs/mcp-toolkit` module, you can extend the MCP server with custom tools, resources, prompts, and handlers.
151+
152+### Adding Custom Tools
153+
154+Create new tools in the `server/mcp/tools/` directory:
155+
156+```ts [server/mcp/tools/search.ts]
157+import { z } from 'zod'
158+
159+export default defineMcpTool({
160+ description: 'Search documentation by keyword',
161+ inputSchema: {
162+ query: z.string().describe('The search query'),
163+ },
164+ handler: async ({ query }) => {
165+ const results = await searchDocs(query)
166+ return {
167+ content: [{ type: 'text', text: JSON.stringify(results) }],
168+ }
169+ },
170+})
171+```
172+
173+### Adding Resources
174+
175+Expose files or data sources as MCP resources in the `server/mcp/resources/` directory. The simplest way is using the `file` property:
176+
177+```ts [server/mcp/resources/changelog.ts]
178+export default defineMcpResource({
179+ file: 'CHANGELOG.md',
180+ metadata: {
181+ description: 'Project changelog',
182+ },
183+})
184+```
185+
186+This automatically handles URI generation, MIME type detection, and file reading.
187+
188+### Adding Prompts
189+
190+Create reusable prompts for AI assistants in the `server/mcp/prompts/` directory:
191+
192+```ts [server/mcp/prompts/migration-help.ts]
193+import { z } from 'zod'
194+
195+export default defineMcpPrompt({
196+ description: 'Get help with migrating between versions',
197+ inputSchema: {
198+ fromVersion: z.string().describe('Current version'),
199+ toVersion: z.string().describe('Target version'),
200+ },
201+ handler: async ({ fromVersion, toVersion }) => {
202+ return {
203+ messages: [{
204+ role: 'user',
205+ content: {
206+ type: 'text',
207+ text: `Help me migrate from version ${fromVersion} to ${toVersion}. What are the breaking changes and steps I need to follow?`,
208+ },
209+ }],
210+ }
211+ },
212+})
213+```
214+
215+### Adding Custom Handlers
216+
217+Handlers allow you to create separate MCP endpoints with their own tools, resources, and prompts. This is useful for exposing different capabilities at different routes.
218+
219+For example, you could have:
220+
221+- `/mcp` - Main documentation MCP server
222+- `/mcp/migration` - Dedicated MCP server for migration assistance
223+
224+```ts [server/mcp/migration.ts]
225+import { z } from 'zod'
226+
227+const migrationTool = defineMcpTool({
228+ name: 'migrate-v3-to-v4',
229+ description: 'Migrate code from version 3 to version 4',
230+ inputSchema: {
231+ code: z.string().describe('The code to migrate'),
232+ },
233+ handler: async ({ code }) => {
234+ // Migration logic
235+ return {
236+ content: [{ type: 'text', text: migratedCode }],
237+ }
238+ },
239+})
240+
241+export default defineMcpHandler({
242+ route: '/mcp/migration',
243+ name: 'Migration Assistant',
244+ version: '1.0.0',
245+ tools: [migrationTool],
246+})
247+```
248+
249+### Overwriting Built-in Tools
250+
251+You can override the default `list-pages` or `get-page` tools by creating a tool with the same name in your project:
252+
253+```ts [server/mcp/tools/list-pages.ts]
254+import { z } from 'zod'
255+
256+export default defineMcpTool({
257+ description: 'Custom list pages implementation',
258+ inputSchema: {
259+ locale: z.string().optional(),
260+ category: z.string().optional(),
261+ },
262+ handler: async ({ locale, category }) => {
263+ const pages = await getCustomPageList(locale, category)
264+ return {
265+ content: [{ type: 'text', text: JSON.stringify(pages) }],
266+ }
267+ },
268+})
269+```
270+
271+::tip{to="https://mcp-toolkit.nuxt.dev/"}
272+Check the MCP Toolkit documentation for more information about tools, resources, prompts, handlers and advanced configuration.
273+::
docs/content/en/4.ai/3.skills.md+203−0
@@ -0,0 +1,203 @@
1+---
2+title: Agent Skills
3+description: Publish agent skills from your documentation site so AI tools can discover and install them automatically.
4+navigation:
5+ icon: i-lucide-wand-sparkles
6+---
7+
8+## About Agent Skills
9+
10+Docus automatically discovers skills in your `skills/` directory and serves them at `/.well-known/skills/`, following the [Cloudflare Agent Skills Discovery RFC](https://github.com/cloudflare/agent-skills-discovery-rfc). This makes your skills installable from any documentation URL with a single command.
11+
12+[Agent Skills](https://agentskills.io/) are a lightweight, open format for giving AI agents specialized knowledge and workflows. A skill is a `SKILL.md` file with YAML frontmatter that describes what agents can do with your product, along with optional supporting reference files.
13+
14+::note{to="https://docus.dev/.well-known/skills/index.json"}
15+See the skills published on this documentation site.
16+::
17+
18+## Quick Start
19+
20+::steps
21+### Create a skill
22+
23+Add a `skills/` directory at the root of your Docus project with a skill subdirectory containing a `SKILL.md` file:
24+
25+```bash
26+my-docs/
27+└── skills/
28+ └── my-product/
29+ └── SKILL.md
30+```
31+
32+### Write your SKILL.md
33+
34+Follow the [agentskills.io specification](https://agentskills.io/specification). The only required frontmatter field is `description` — `name` defaults to the directory name if omitted:
35+
36+```md [skills/my-product/SKILL.md]
37+---
38+name: my-product
39+description: Build and deploy apps with My Product. Use when creating projects, configuring settings, or troubleshooting issues.
40+---
41+
42+# My Product
43+
44+## Getting Started
45+
46+Create a new project:
47+
48+\`\`\`bash
49+npx create-my-product my-app
50+\`\`\`
51+```
52+
53+### Deploy
54+
55+Deploy your documentation. Docus automatically serves your skills at `/.well-known/skills/`.
56+
57+### Share with users
58+
59+Users can install your skills with a single command:
60+
61+```bash
62+npx skills add https://your-docs-domain.com
63+```
64+
65+The CLI detects installed agents (Claude Code, Cursor, Windsurf, and others) and installs the skill to all of them.
66+::
67+
68+## Directory Structure
69+
70+A skill directory can contain supporting files beyond `SKILL.md`:
71+
72+```bash
73+skills/
74+└── my-product/
75+ ├── SKILL.md # Required: instructions + metadata
76+ ├── references/ # Optional: additional documentation
77+ │ ├── api.md
78+ │ └── configuration.md
79+ ├── scripts/ # Optional: executable code
80+ │ └── setup.sh
81+ └── assets/ # Optional: templates, schemas
82+ └── config.template.yaml
83+```
84+
85+All files are automatically listed in the `index.json` catalog and served at their respective paths under `/.well-known/skills/{skill-name}/`.
86+
87+::tip
88+Keep your main `SKILL.md` under 500 lines. Move detailed reference material to separate files in `references/` — agents load these on demand, so smaller files mean less context usage.
89+::
90+
91+## Configuration
92+
93+By default, Docus looks for skills in the `skills/` directory at the root of your project. You can change this with `docus.skills.dir` in your `nuxt.config.ts`:
94+
95+```ts [nuxt.config.ts]
96+export default defineNuxtConfig({
97+ docus: {
98+ skills: {
99+ dir: 'agent-skills'
100+ }
101+ }
102+})
103+```
104+
105+## Skill Name Requirements
106+
107+Skill names must follow the [Agent Skills naming specification](https://agentskills.io/specification#name-field):
108+
109+- 1-64 characters
110+- Lowercase letters, numbers, and hyphens only (`a-z`, `0-9`, `-`)
111+- Must not start or end with a hyphen
112+- Must not contain consecutive hyphens (`--`)
113+- The `name` field in frontmatter must match the parent directory name
114+
115+::note
116+Skills that fail validation are skipped — check your build output for warnings.
117+::
118+
119+## Multiple Skills
120+
121+You can publish multiple skills from a single documentation site:
122+
123+```bash
124+skills/
125+├── my-product/
126+│ └── SKILL.md
127+├── create-project/
128+│ ├── SKILL.md
129+│ └── references/
130+│ └── templates.md
131+└── migration-guide/
132+ └── SKILL.md
133+```
134+
135+All skills appear in the `index.json` catalog and are independently installable.
136+
137+## Preview and Versioning
138+
139+Since skills live in your repository alongside your documentation, they benefit from your existing Git workflow:
140+
141+- **Branch previews**: Test skill changes on preview deployments before merging. On Vercel, every pull request gets a preview URL where you can verify your skills work correctly:
142+
143+```bash
144+npx skills add https://my-docs-git-feat-new-skill.vercel.app
145+```
146+
147+- **Version control**: Track skill changes with Git history, review diffs in pull requests, and roll back if needed.
148+- **CI/CD**: Skills are built and deployed automatically with your documentation — no separate publishing step.
149+
150+::tip
151+Use preview URLs to test skills with your AI tools before shipping to production. This ensures your skill instructions work correctly with real agents.
152+::
153+
154+## How Discovery Works
155+
156+This feature implements the [Cloudflare Agent Skills Discovery RFC](https://github.com/cloudflare/agent-skills-discovery-rfc), which extends [RFC 8615](https://datatracker.ietf.org/doc/html/rfc8615) (the same `.well-known` standard behind ACME certificate validation and `security.txt`).
157+
158+Docus scans your `skills/` directory at build time and generates two types of endpoints:
159+
160+### Discovery index
161+
162+```
163+GET /.well-known/skills/index.json
164+```
165+
166+Returns a JSON catalog listing all available skills with their descriptions and files:
167+
168+```json
169+{
170+ "skills": [
171+ {
172+ "name": "my-product",
173+ "description": "Build and deploy apps with My Product.",
174+ "files": ["SKILL.md", "references/api.md"]
175+ }
176+ ]
177+}
178+```
179+
180+### Skill files
181+
182+```
183+GET /.well-known/skills/{skill-name}/SKILL.md
184+GET /.well-known/skills/{skill-name}/references/api.md
185+```
186+
187+Individual skill files are served with appropriate content types (`text/markdown` for `.md` files, `application/json` for `.json`, etc.).
188+
189+## Comparison with llms.txt
190+
191+Both `llms.txt` and Agent Skills help AI tools work with your documentation, but they serve different purposes:
192+
193+| | llms.txt | Agent Skills |
194+|---|---|---|
195+| **Purpose** | Directory of all documentation pages | Capability summary with actionable instructions |
196+| **Content** | Page titles, descriptions, and links | Step-by-step workflows, code examples, constraints |
197+| **Loaded** | At discovery time | On demand, when the skill is activated |
198+| **Format** | Plain text with links | Markdown with YAML frontmatter |
199+| **Best for** | Helping agents find information | Teaching agents how to use your product |
200+
201+::tip
202+Use both together: `llms.txt` tells agents where to find information, while skills tell agents what they can accomplish and how.
203+::
docs/content/en/4.ai/4.llms.md+125−0
@@ -0,0 +1,125 @@
1+---
2+title: LLMs Integration
3+description: Docus generate AI-ready content files using Nuxt LLMs module
4+navigation:
5+ icon: i-lucide-message-circle-code
6+---
7+
8+Docus integrates `nuxt-llms` by default to prepare your content for Large Language Models (LLMs). All your documentation pages are injected and `/llms.txt` and `/llms-full.txt` files are automatically generated and pre-rendered.
9+
10+::note{to="https://docus.dev/llms.txt"}
11+Have a check at the `/llms.txt` file generated for Docus documentation itself.
12+::
13+
14+## Defaults
15+
16+Here are the default values use to generate the `/llms.txt` file:
17+
18+- `domain` → computed based on your deployment platform (or by using `NUXT_SITE_URL` env variable)
19+- `title` → extracted from your `package.json`
20+- `description` → extracted from your `package.json`
21+- `full.title` → extracted from your `package.json`
22+- `full.description` → extracted from your `package.json`
23+
24+## Customize
25+
26+You can override your LLMs data from the `nuxt.config.ts` :
27+
28+```ts [nuxt.config.ts]
29+export default defineNuxtConfig({
30+ llms: {
31+ domain: 'https://your-site.com',
32+ title: 'Your Site Name',
33+ description: 'A brief description of your site',
34+ full: {
35+ title: 'Your Site Name',
36+ description: 'A brief description of your site',
37+ },
38+ },
39+})
40+```
41+
42+## Raw Markdown Access
43+
44+When `nuxt-llms` is enabled, Docus also exposes a raw markdown endpoint so AI agents can fetch LLM-ready source files without going through the full rendering pipeline. This reduces token usage and improves response speed for AI-powered tools consuming your documentation.
45+
46+### How it works
47+
48+- **Endpoint**: `/raw/<content-path>.md` — use the same path as the page URL, drop trailing `/index`, and keep the `.md` extension
49+- **Content-Type**: `text/markdown; charset=utf-8`
50+- **Auto-enrichment**: if the requested document is missing a top-level heading or description, the route automatically prepends the title and description to the markdown body
51+- **LLMs.txt integration**: document links in `llms.txt` are automatically rewritten to the `/raw/...md` endpoint, so agents fetch compact markdown instead of full HTML
52+
53+::note{to="/raw/en/ai/llms.md"}
54+Try accessing the raw Markdown version of this page.
55+::
56+
57+### Configuration
58+
59+You can customize the raw markdown behavior from your `nuxt.config.ts`:
60+
61+```ts [nuxt.config.ts]
62+export default defineNuxtConfig({
63+ llms: {
64+ contentRawMarkdown: {
65+ // Prevent specific page collections from being exposed
66+ excludeCollections: ['landing', 'landing_en', 'landing_fr'],
67+ // Keep llms.txt links pointing to rendered pages instead of raw markdown
68+ rewriteLLMSTxt: false,
69+ },
70+ },
71+})
72+```
73+
74+To disable raw markdown access entirely:
75+
76+```ts [nuxt.config.ts]
77+export default defineNuxtConfig({
78+ llms: {
79+ contentRawMarkdown: false,
80+ },
81+})
82+```
83+
84+## Markdown Redirection
85+
86+::note
87+This feature is only available when Docus is deployed on Vercel. We'll be able to make it agnostic once Nitro v3 supports global rewrites for multi vendors.
88+::
89+
90+When deployed on Vercel, Docus automatically configures intelligent routing to serve markdown content to AI agents and CLI tools.
91+
92+### Why?
93+
94+Agents like Claude Code use `Accept: text/markdown` headers by default, retuning raw Markdown is saving lots of data transfer and tokens in the process.
95+
96+### How?
97+
98+Docus detects requests from AI agents and command-line tools using HTTP headers:
99+
100+- **Accept header**: Requests with `Accept: text/markdown` are automatically redirected
101+- **User-agent detection**: `curl` requests as agents are automatically redirected
102+
103+### Redirect Rules
104+
105+- **Root path**: `/` → `/llms.txt`
106+- **Documentation pages**: `/{path}` → `/raw/{path}.md`
107+
108+### Example Usage
109+
110+```bash
111+# Get llms.txt from homepage
112+curl -H "Accept: text/markdown" https://docus.dev/
113+
114+# Get llms.txt from locale homepage
115+curl -H "Accept: text/markdown" https://docus.dev/en
116+
117+# Get raw markdown for a documentation page
118+curl -H "Accept: text/markdown" https://docus.dev/en/ai/llms
119+```
120+
121+All these commands will return markdown content instead of HTML.
122+
123+::tip{to="https://github.com/nuxt-content/nuxt-llms"}
124+Checkout the nuxt-llms documentation for more information about the module.
125+::
docs/content/en/index.md+364−0
@@ -0,0 +1,364 @@
1+---
2+seo:
3+ title: Write beautiful docs with Markdown
4+ description: Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box. Docus brings together the best of the Nuxt ecosystem. Powered by Nuxt UI.
5+---
6+
7+::u-page-hero
8+#title
9+Write beautiful docs with Markdown.
10+
11+#description
12+Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box. :br Docus brings the best of the Nuxt ecosystem.
13+
14+#links
15+ :::u-button
16+ ---
17+ color: neutral
18+ size: xl
19+ to: /en/getting-started/installation
20+ trailing-icon: i-lucide-arrow-right
21+ ---
22+ Get started
23+ :::
24+
25+ :::u-button
26+ ---
27+ color: neutral
28+ icon: simple-icons-github
29+ size: xl
30+ to: https://github.com/nuxt-content/docus
31+ variant: outline
32+ ---
33+ Star on GitHub
34+ :::
35+
36+#headline
37+ :::u-button
38+ ---
39+ size: sm
40+ to: https://github.com/nuxt-content/docus/releases/tag/v5.0.0
41+ variant: outline
42+ ---
43+ Docus v5 →
44+ :::
45+::
46+
47+::u-page-section
48+ :::u-page-grid
49+ ::::u-page-card
50+ ---
51+ spotlight: true
52+ class: group col-span-2 lg:col-span-1
53+ target: _blank
54+ to: https://nuxt.com
55+ ---
56+ :floating-nuxt
57+
58+ #title
59+ Built with [Nuxt](https://nuxt.com)
60+
61+ #description
62+ Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
63+ ::::
64+
65+ ::::u-page-card
66+ ---
67+ spotlight: true
68+ class: col-span-2
69+ target: _blank
70+ to: https://ui.nuxt.com
71+ ---
72+ :::::u-color-mode-image
73+ ---
74+ height: 320
75+ width: 859
76+ alt: Beautiful visual powered by UI
77+ class: w-full h-80 object-cover rounded-lg
78+ dark: /landing/dark/templates-ui-pro.webp
79+ light: /landing/light/templates-ui-pro.webp
80+ ---
81+ :::::
82+
83+ #title
84+ Powered by [Nuxt UI](https://ui.nuxt.com)
85+
86+ #description
87+ Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
88+ ::::
89+
90+ ::::u-page-card
91+ ---
92+ spotlight: true
93+ class: col-span-2
94+ target: _blank
95+ ---
96+ :::::tabs
97+ ::::::tabs-item{.mt-5 icon="i-lucide-eye" label="Preview"}
98+ :::::::div{.flex.flex-col.gap-4}
99+ ::::::::note{.my-0}
100+ Here's some additional information for you.
101+ ::::::::
102+
103+ ::::::::tip{.my-0}
104+ Here's a helpful suggestion.
105+ ::::::::
106+
107+ ::::::::warning{.my-0}
108+ Be careful with this action as it might have unexpected results.
109+ ::::::::
110+
111+ ::::::::caution{.my-0}
112+ This action cannot be undone.
113+ ::::::::
114+ :::::::
115+ ::::::
116+
117+ ::::::tabs-item
118+ ---
119+ class: mt-5 mb-2 text-xs overflow-x-auto
120+ icon: i-lucide-code
121+ label: Code
122+ ---
123+```mdc
124+::note
125+Here's some additional information.
126+::
127+
128+::tip
129+Here's a helpful suggestion.
130+::
131+
132+::warning
133+Be careful with this action as it might have unexpected results.
134+::
135+
136+::caution
137+This action cannot be undone.
138+::
139+```
140+ ::::::
141+ :::::
142+
143+ #title
144+ Enhanced Markdown syntax by [Nuxt Content](https://content.nuxt.com)
145+
146+ #description
147+ The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
148+ ::::
149+
150+ ::::u-page-card
151+ ---
152+ class: col-span-2 md:col-span-1
153+ ---
154+ :assistant-demo
155+
156+ #title
157+ Built-in [Assistant]{.text-primary}
158+
159+ #description
160+ Let visitors ask questions about your documentation in natural language. The assistant searches your content and provides accurate answers with source citations.
161+ ::::
162+
163+ ::::u-page-card
164+ ---
165+ spotlight: true
166+ class: col-span-2 md:col-span-1 min-h-[450px]
167+ target: _blank
168+ ---
169+ :color-mode-switch
170+
171+ #title
172+ [Nuxt Color](https://color-mode.nuxtjs.org/) mode
173+
174+ #description
175+ Built-in dark mode provided, no configuration required.
176+ ::::
177+
178+ ::::u-page-card
179+ ---
180+ spotlight: true
181+ class: col-span-2
182+ target: _blank
183+ ---
184+ :::::u-color-mode-image
185+ ---
186+ height: 554
187+ width: 859
188+ alt: Built-in navigation and full-text search
189+ class: rounded-lg
190+ dark: /landing/dark/command-menu.png
191+ format: webp
192+ light: /landing/light/command-menu.png
193+ loading: lazy
194+ ---
195+ :::::
196+
197+ #title
198+ Built-in navigation and [full-text search]{.text-primary}
199+
200+ #description
201+ Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
202+ ::::
203+
204+ ::::u-page-card
205+ ---
206+ spotlight: true
207+ class: col-span-2
208+ target: _blank
209+ ---
210+ :::::browser-frame
211+ :video{.rounded-md controls loop playsinline src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
212+ :::::
213+
214+ #title
215+ Edit your content in production with [Nuxt Studio](https://nuxt.studio)
216+
217+ #description
218+ Write and manage your content visually, with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
219+ ::::
220+
221+ ::::u-page-card
222+ ---
223+ spotlight: true
224+ class: col-span-2 lg:col-span-1
225+ target: _blank
226+ to: https://image.nuxt.com/
227+ ---
228+ :::::div{.flex-1.flex.items-center.justify-center}
229+ ::::::u-color-mode-image
230+ ---
231+ alt: Nuxt Image visual
232+ class: w-[30%] lg:w-[70%] my-12 lg:my-0
233+ dark: /landing/dark/nuxt-image.svg
234+ light: /landing/light/nuxt-image.svg
235+ ---
236+ ::::::
237+ :::::
238+
239+ #title
240+ [Nuxt Image](https://image.nuxt.com) optimization
241+
242+ #description
243+ Docus automatically converts Markdown images to use `<NuxtImg>` .
244+ ::::
245+
246+ ::::u-page-card
247+ ---
248+ spotlight: true
249+ class: col-span-2 lg:col-span-1
250+ target: _blank
251+ to: /en/concepts/internationalization
252+ ---
253+ :::::u-color-mode-image
254+ ---
255+ height: 195
256+ width: 403
257+ alt: Internationalization illustration
258+ class: w-full my-12 lg:my-0
259+ dark: /landing/dark/i18n.svg
260+ light: /landing/light/i18n.svg
261+ ---
262+ :::::
263+
264+ #title
265+ [Internationalization]{.text-primary} support
266+
267+ #description
268+ Built-in i18n support with automatic routing and content management. Create multi-language documentation effortlessly.
269+ ::::
270+
271+ ::::u-page-card
272+ ---
273+ spotlight: true
274+ class: col-span-2
275+ target: _blank
276+ to: /en/ai/mcp
277+ ---
278+ :::::u-color-mode-image
279+ ---
280+ height: 400
281+ width: 859
282+ alt: Native MCP server and AI-ready content illustration
283+ class: w-full h-auto rounded-lg translate-y-10
284+ dark: /landing/dark/mcp.svg
285+ light: /landing/light/mcp.svg
286+ ---
287+ :::::
288+
289+ #title
290+ [AI-Ready]{.text-primary} with native MCP
291+
292+ #description
293+ Built-in Model Context Protocol server connects your documentation to AI tools like Cursor, VS Code, and Claude. Automatic generation of `llms.txt` and `llms-full.txt` files for seamless LLM integration.
294+ ::::
295+
296+ ::::u-page-card
297+ ---
298+ spotlight: true
299+ class: col-span-2
300+ target: _blank
301+ ---
302+ ```ts [app.config.ts]
303+ export default defineAppConfig({
304+ ui: {
305+ colors: {
306+ primary: 'green',
307+ secondary: 'sky',
308+ },
309+ },
310+ socials: {
311+ x: 'https://x.com/nuxt_js',
312+ nuxt: 'https://nuxt.com'
313+ }
314+ })
315+ ```
316+
317+ #title
318+ Customize with [Nuxt App Config](https://nuxt.com/docs/4.x/getting-started/configuration#app-configuration)
319+
320+ #description
321+ Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
322+ ::::
323+
324+ ::::u-page-card
325+ ---
326+ spotlight: true
327+ class: col-span-2 lg:col-span-1
328+ ---
329+ :::::div{.flex-1.flex.flex-col.items-center.justify-center.py-8.text-center}
330+ ::::::div{.flex.flex-col.gap-3.w-full.max-w-xs}
331+ :::::::u-button
332+ ---
333+ block: true
334+ color: primary
335+ size: lg
336+ to: /en/getting-started/introduction
337+ trailing-icon: i-lucide-arrow-right
338+ ---
339+ Read Documentation
340+ :::::::
341+
342+ :::::::u-button
343+ ---
344+ block: true
345+ color: neutral
346+ icon: i-simple-icons-github
347+ size: lg
348+ target: _blank
349+ to: https://github.com/nuxt-content/docus
350+ variant: outline
351+ ---
352+ View on GitHub
353+ :::::::
354+ ::::::
355+ :::::
356+
357+ #title
358+ [Ready]{.text-primary} to start?
359+
360+ #description
361+ Explore all the features that make Docus the perfect documentation solution.
362+ ::::
363+ :::
364+::
docs/content/fr/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Bien démarrer
2+icon: i-lucide-rocket
docs/content/fr/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1+---
2+title: Introduction
3+description: Bienvenue dans la documentation du thème Docus.
4+navigation:
5+ icon: i-lucide-house
6+seo:
7+ title: Introduction
8+ description: Découvrez comment créer, gérer et publier une documentation facilement avec Docus.
9+---
10+
11+Bienvenue sur **Docus**, une solution de documentation entièrement intégrée construite avec [Nuxt UI](https://ui.nuxt.com).
12+
13+## Qu'est-ce que Docus ?
14+
15+Docus est un thème basé sur le [template de documentation UI](https://docs-template.nuxt.dev/). Le style visuel est prêt à l'emploi, votre priorité doit être d'écrire du contenu en utilisant la syntaxe Markdown et [MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par [Nuxt Content](https://content.nuxt.com).
16+
17+Nous utilisons ce thème pour toutes nos documentations de modules Nuxt, y compris :
18+
19+::card-group
20+ :::card
21+ ---
22+ icon: i-lucide-image
23+ target: _blank
24+ title: Nuxt Image
25+ to: https://image.nuxt.com
26+ ---
27+ La documentation de `@nuxt/image`
28+ :::
29+
30+ :::card
31+ ---
32+ icon: i-simple-icons-nuxtdotjs
33+ target: _blank
34+ title: Nuxt Content
35+ to: https://content.nuxt.com
36+ ---
37+ La documentation de `@nuxt/content`
38+ :::
39+
40+ :::card
41+ ---
42+ icon: i-simple-icons-supabase
43+ target: _blank
44+ title: Nuxt Supabase
45+ to: https://supabase.nuxtjs.org
46+ ---
47+ La documentation de `@nuxt/supabase`
48+ :::
49+
50+ :::card
51+ ---
52+ icon: i-simple-icons-strapi
53+ target: _blank
54+ title: Nuxt Strapi
55+ to: https://strapi.nuxtjs.org
56+ ---
57+ La documentation de `@nuxt/strapi`
58+ :::
59+::
60+
61+## Fonctionnalités clés
62+
63+Ce thème inclut de nombreuses fonctionnalités pour améliorer la gestion de votre documentation :
64+
65+- **Propulsé par** **[Nuxt 4](https://nuxt.com)** : Utilise le dernier framework Nuxt pour des performances optimales.
66+- **Construit avec** **[Nuxt UI](https://ui.nuxt.com)**: Intègre une suite complète de composants UI.
67+- **[Syntaxe MDC](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)** : Prend en charge le Markdown avec intégration de composants pour du contenu dynamique.
68+- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible** : Rédigez et éditez votre contenu visuellement. Aucune connaissance Markdown requise !
69+- **Navigation latérale auto-générée** : Génère automatiquement la navigation à partir de la structure du contenu.
70+- **Recherche plein texte** : Fonctionnalité de recherche intégrée pour découvrir le contenu.
71+- **Typographie optimisée** : Typographie raffinée pour une meilleure lisibilité.
72+- **Mode sombre** : Prend en charge le mode sombre selon la préférence utilisateur.
73+- **Fonctionnalités étendues** : Explorez le thème pour découvrir toutes ses capacités.
docs/content/fr/1.getting-started/3.installation.md+78−0
@@ -0,0 +1,78 @@
1+---
2+title: Installation
3+description: Commencez avec Docus.
4+navigation:
5+ icon: i-lucide-download
6+seo:
7+ description: Démarrez avec le thème de documentation Docus.
8+ title: Installation
9+---
10+
11+## CLI `create-docus`
12+
13+::steps
14+### Créez votre dossier de documentation
15+
16+Utilisez le CLI `create-docus` pour créer un nouveau projet Docus :
17+
18+```bash [Terminal]
19+npx create-docus my-docs
20+```
21+
22+Vous pouvez choisir entre deux templates:
23+
24+- `default` : Configuration Docus de base pour une documentation monolingue
25+- `i18n` : Inclut le support d'internationalisation pour une documentation multilingue
26+
27+```bash [Terminal]
28+# Créer avec le modèle i18n
29+npx create-docus my-docs -t i18n
30+```
31+
32+Nous recommandons d'utiliser le gestionnaire de paquets `npm`.
33+
34+### Démarrez votre serveur de documentation en mode développement
35+
36+Déplacez-vous dans votre dossier de documentation et démarrez votre serveur:
37+
38+```bash [Terminal]
39+cd my-docs
40+npm run dev
41+```
42+
43+Un aperçu de votre documentation sera disponible sur <http://localhost:3000>
44+
45+### Rédigez votre documentation
46+
47+Rendez-vous dans la section [Édition](/fr/concepts/edition) pour apprendre à rédiger votre documentation.
48+::
49+
50+## Skill pour assistant IA
51+
52+Démarrez rapidement avec Docus en ajoutant des connaissances spécialisées à votre assistant IA (Cursor, Claude, etc.) :
53+
54+```bash [Terminal]
55+npx skills add https://docus.dev
56+```
57+
58+Ce skill vous aide à créer de la documentation plus rapidement en fournissant à votre assistant IA :
59+- Les meilleures pratiques pour rédiger de la documentation avec Docus
60+- L'utilisation des composants MDC et des templates prêts à l'emploi
61+- Les guides de rédaction et les modèles de structure de contenu
62+- Les conseils de configuration et de personnalisation
63+
64+Une fois installé, votre assistant IA peut vous aider à créer rapidement de nouveaux projets de documentation, générer des pages avec la bonne structure, et rédiger du contenu en suivant les meilleures pratiques Docus.
65+
66+::tip{to="/fr/ai/skills"}
67+Vous pouvez aussi publier vos propres skills depuis votre site Docus. En savoir plus sur les Agent Skills.
68+::
69+
70+## Intégration du layer Docus
71+
72+Docus utilise une **approche basée sur les layers Nuxt**, vous pouvez étendre le layer Docus directement dans votre `nuxt.config.ts` avec `extends: ['docus']` :
73+
74+```ts [nuxt.config.ts]
75+export default defineNuxtConfig({
76+ extends: ['docus']
77+})
78+```
docs/content/fr/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1+---
2+title: Structure du projet
3+description: Comprendre la structure de projet de Docus.
4+navigation:
5+ icon: i-lucide-folder-tree
6+---
7+
8+## Structure globale
9+
10+Docus est un **layer Nuxt** qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.
11+
12+Lorsque vous créez un nouveau projet Docus avec `npx create-docus my-docs`, voici la structure de base:
13+
14+```bash
15+my-docs/
16+├── content/ # Votre contenu markdown
17+│ ├── index.md # Page d'accueil
18+│ └── docs/ # Pages de documentation
19+├── public/ # Ressources statiques
20+└── package.json # Dépendances et scripts
21+```
22+
23+Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :
24+
25+```bash
26+my-docs/
27+├── nuxt.config.ts # Configuration Nuxt (ajouter des modules, composants...)
28+├── app/ # Répertoire app
29+ ├── app.config.ts # App configuration
30+│ ├── components/ # Composants (ajoutez vos propres composants)
31+│ ├── layouts/ # Layouts (ajoutez vos propres layouts)
32+│ └── pages/ # Pages (ajoutez vos propres pages)
33+└── server/ # Code côté serveur (ajoutez votre propre code côté serveur)
34+```
35+
36+### Répertoire `content/`
37+
38+C'est ici que vous [rédigez vos pages](/fr/concepts/edition) en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.
39+
40+**Structure monolingue :**
41+
42+```bash
43+content/
44+├── index.md # Page d'accueil (/)
45+├── getting-started.md # Page de documentation (/getting-started)
46+└── guide/
47+ ├── introduction.md # Page de documentation (/guide/introduction)
48+ └── configuration.md # Page de documentation (/guide/configuration)
49+```
50+
51+::tip{to="/fr/concepts/edition"}
52+Vous pouvez séparer vos fichiers de documentation dans un sous-dossier `docs/` pour les rendre accessibles à la route `/docs`. De plus, vous avez la flexibilité de remplacer votre page d'accueil en utilisant des pages Vue personnalisées si désiré.
53+::
54+
55+**Structure multilingue (avec i18n) :**
56+
57+```bash
58+content/
59+├── en/
60+│ ├── index.md # Page d'accueil anglaise (/en)
61+│ └── guide/
62+│ └── introduction.md # Page de documentation (/en/guide/introduction)
63+└── fr/
64+ ├── index.md # Page d'accueil française (/fr)
65+ └── guide/
66+ └── introduction.md # Page de documentation (/fr/guide/introduction)
67+```
68+
69+::tip{to="/fr/concepts/internationalization"}
70+Plus d'informations sur i18n sont disponibles dans la section internationalisation.
71+::
72+
73+### Répertoire `public/`
74+
75+Les fichiers contenus dans le répertoire `public/` sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.
76+
77+### `package.json`
78+
79+Ce fichier contient toutes les dépendances et scripts de votre application. Le `package.json` d'une application Docus est vraiment minimal et ressemble à :
80+
81+```json [package.json]
82+{
83+ "name": "my-docs",
84+ "scripts": {
85+ "build": "nuxt build --extends docus",
86+ "dev": "nuxt dev --extends docus",
87+ },
88+ "dependencies": {
89+ "docus": "latest",
90+ "better-sqlite3": "^12.2.0",
91+ "nuxt": "^4.0.0"
92+ }
93+}
94+```
95+
96+### `nuxt.config.ts`
97+
98+*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
99+
100+Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :
101+
102+```typescript [nuxt.config.ts]
103+export default defineNuxtConfig({
104+ extends: ['@vercel/analytics/nuxt/module']
105+})
106+```
107+
108+### `app.config.ts`
109+
110+*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
111+
112+::warning
113+Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
114+::
115+
116+C'est ici que vous pouvez [configurer Docus](/fr/concepts/configuration) pour l'adapter à votre marque, gérer le SEO, définir votre locale et adapter les liens et réseaux sociaux.
117+
118+```ts [app.config.ts]
119+export default defineAppConfig({
120+ docus: {
121+ locale: 'fr', // Définir votre locale monolingue
122+ },
123+ seo: {
124+ title: 'Ma Documentation',
125+ description: 'Ma super documentation',
126+ },
127+ // ... autres configurations
128+})
129+```
130+
131+## Structure complète d'un projet Nuxt
132+
133+Puisque Docus est un layer Nuxt, vous pouvez utiliser **n'importe quelle fonctionnalité** d'un projet Nuxt standard :
134+
135+::warning
136+Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app Nuxt. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
137+::
138+
139+```bash
140+my-docs/
141+├── app/ # Répertoire app (optionnel)
142+│ ├── app.config.ts # App configuration
143+│ ├── app.css # Thème personnalisé (auto-importé par Docus)
144+│ ├── components/ # Composants Vue personnalisés
145+│ ├── layouts/ # Layouts personnalisés
146+│ ├── pages/ # Pages Vue personnalisées (en dehors du contenu)
147+│ ├── composables/ # Composables Vue
148+│ └── middleware/ # Middleware de route
149+├── server/ # Code côté serveur
150+│ └── api/ # Routes API
151+├── plugins/ # Plugins Nuxt
152+├── middleware/ # Middleware global
153+└── modules/ # Modules Nuxt personnalisés
154+```
155+
156+::tip{to="/fr/concepts/nuxt"}
157+Cette approche basée sur les layers offre toutes les fonctionnalités d'un projet Nuxt classique.
158+::
docs/content/fr/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1+---
2+title: Module Studio
3+description: Éditez votre site Nuxt Content directement en production avec l'éditeur web Studio auto-hébergé.
4+navigation:
5+ icon: i-lucide-mouse-pointer-2
6+ title: Module Studio
7+seo:
8+ title: Éditeur web Nuxt Studio
9+ description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
10+icon:
11+ i-lucide-mouse-pointer-2 title: Éditeur web
12+ seo:
13+ title: Module Nuxt Studio
14+ description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
15+---
16+
17+Le module **Nuxt Studio** est une interface accessible depuis le navigateur permettant d'éditer votre site Nuxt Content directement en production. Accédez-y via une authentification GitHub, GitLab ou Google sur votre site déployé, et commencez à gérer votre contenu sans aucun outil de développement local.
18+
19+::tip{to="https://nuxt.studio/introduction"}
20+Consultez la documentation de Nuxt Studio pour apprendre comment installer le module.
21+::
22+
23+:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24+
25+L'**éditeur Studio** vous permet de gérer entièrement votre contenu depuis votre navigateur sur votre site en production. Pas besoin d'outils de développement local, de commandes Git ou d'accès au terminal. C'est idéal pour les équipes de contenu qui souhaitent éditer et prévisualiser leurs modifications dans un environnement familier.
26+
27+## Édition visuelle en production pour votre site Nuxt Content
28+
29+Nuxt Studio offre une **édition visuelle directement en production** pour les sites propulsés par Nuxt Content.
30+
31+Initialement proposé comme une plateforme premium autonome, Studio est désormais un **module Nuxt gratuit, open-source et auto-hébergeable**. Il permet à toute votre équipe, développeurs comme éditeurs non-techniques, de créer et mettre à jour du contenu en toute sécurité sans quitter votre site en ligne.
32+
33+## Fonctionnalités actuelles
34+
35+### ✨ **Éditeur visuel TipTap**
36+
37+Éditeur Markdown enrichi avec prise en charge complète des composants MDC.
38+
39+### 💻 **Éditeur de code Monaco**
40+
41+Éditeur de code avancé pour les fichiers Markdown (MDC), YAML et JSON si vous souhaitez éditer le code brut.
42+
43+### 📝 **Éditeur basé sur des formulaires**
44+
45+Éditez les fichiers YAML, JSON et le frontmatter à l'aide de formulaires générés automatiquement selon les schémas de collections.
46+
47+### 🎨 **Éditeur de props de composants Vue**
48+
49+Interface visuelle pour éditer les props des composants Vue directement depuis l'éditeur.
50+
51+### 🔄 **Prévisualisation en temps réel**
52+
53+Prévisualisez instantanément les modifications de contenu sur votre site en production.
54+
55+### 🔐 **Authentification multi-fournisseurs**
56+
57+Authentification OAuth sécurisée avec GitHub, GitLab et Google.
58+
59+### 🔑 **Authentification personnalisée**
60+
61+Utilitaires pour implémenter des flux d'authentification personnalisés (mot de passe, SSO, LDAP, etc.).
62+
63+### 📝 **Gestion des fichiers**
64+
65+Créez, éditez, renommez et supprimez des fichiers de contenu dans le répertoire `content/`.
66+
67+### 🖼 **Gestion des médias**
68+
69+Bibliothèque de médias centralisée avec prise en charge des formats JPEG, PNG, GIF, WebP, AVIF, SVG et plus encore.
70+
71+### 🌳 **Intégration Git**
72+
73+Commitez les modifications de contenu directement depuis la production et appuyez-vous sur votre pipeline CI/CD pour les déployer.
74+
75+### 🚀 **Mode développement**
76+
77+Éditez les fichiers de contenu et de médias directement depuis votre système de fichiers local via l'interface Studio.
78+
79+### 🌍 **Internationalisation**
80+
81+Prise en charge complète de l'i18n pour 17 langues : AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82+
83+## Fonctionnalités à venir
84+
85+### 📂 **Vue des collections**
86+
87+Gérez et naviguez dans toutes les collections de contenu depuis une interface unifiée.
88+
89+### 🖼 **Optimisation des médias**
90+
91+Optimisez les images et ressources médias directement dans l'éditeur.
92+
93+### 🤖 **Assistant IA pour le contenu**
94+
95+Obtenez des suggestions intelligentes alimentées par l'IA pour améliorer et accélérer la création de contenu.
96+
97+### 💡 **Fonctionnalités pilotées par la communauté**
98+
99+Vous avez une idée ? Partagez vos retours et contribuez à façonner l'avenir de Nuxt Studio.
docs/content/fr/1.getting-started/6.migration.md+41−0
@@ -0,0 +1,41 @@
1+---
2+title: Migration
3+description: Comment migrer votre documentation d'une solution Markdown existante vers Docus
4+navigation:
5+ icon: i-lucide-replace
6+---
7+
8+## **Migration de Docus v3 vers v4**
9+
10+Docus v4 introduit une nouvelle version qui exploite le CLI Nuxt au lieu du CLI Docus. Votre contenu et vos configurations existants restent compatibles, il suffit simplement de mettre à jour la commande pour lancer le serveur ou le build.
11+
12+### ⚠️ Breaking changes
13+
14+Les principaux changements cassants sont liés aux commandes CLI :
15+
16+| v3 | v4 |
17+| ------------------------ | --------------------------- |
18+| `npx docus init my-docs` | `npx create-docus my-docs` |
19+| `docus dev` | `nuxt dev --extends docus` |
20+| `docus build` | `nuxt build --extends docus` |
21+
22+::tip
23+Votre contenu Markdown existant fonctionnera sans changements. La migration concerne principalement la mise à jour de votre workflow de développement et de build.
24+::
25+
26+## **Migrer vers Docus**
27+
28+Vous utilisez déjà une solution basée sur Markdown pour votre documentation ? Que ce soit **Docus v1**, le **template de docs Nuxt UI**, ou une autre solution de site statique, migrer vers Docus est simple et direct.
29+
30+Docus offre une solution propre et maintenable avec une seule dépendance : la bibliothèque Docus elle-même. Plus besoin de gérer de multiples dépendances. Tout est intégré et maintenu ensemble, ce qui facilite la mise à jour de votre documentation.
31+
32+Pour migrer, déplacez simplement vos fichiers Markdown existants dans le dossier `content/` du starter Docus.
33+
34+À partir de là, deux scénarios :
35+
36+- **Si votre documentation actuelle utilise déjà Nuxt Content et la syntaxe MDC**, assurez-vous que les composants utilisés existent dans Nuxt UI. Si certains composants manquent, vous pouvez facilement créer les vôtres.
37+- **Si vous utilisez du Markdown standard**, vous pouvez copier vos fichiers tels quels. Ensuite, améliorez progressivement votre documentation en utilisant les [composants intégrés](/fr/essentials/components) fournis par Nuxt UI.
38+
39+Une fois votre contenu déplacé dans le dossier `content/`, vous pouvez consulter la [section configuration](/fr/concepts/configuration) pour personnaliser facilement votre application.
40+
41+Docus est conçu pour se concentrer sur la rédaction de contenu, donc si vous utilisez déjà Markdown, vous pouvez facilement passer à Docus.
docs/content/fr/1.getting-started/7.troubleshooting.md+31−0
@@ -0,0 +1,31 @@
1+---
2+title: Dépannage
3+description: Problèmes courants et solutions liés à Docus.
4+navigation:
5+ icon: i-lucide-wrench
6+seo:
7+ description: Guide de dépannage pour les problèmes courants de Docus.
8+ title: Dépannage
9+---
10+
11+## Problèmes avec `pnpm`
12+
13+Si vous rencontrez des erreurs lors du build ou du développement avec `pnpm`, en particulier liées à la dépendance `better-sqlite3`, il se peut que vous deviez approuver certains paquets pour qu’ils puissent être compilés.
14+
15+Exécutez la commande suivante pour approuver les paquets à compiler:
16+
17+```bash [Terminal]
18+pnpm approve-builds
19+```
20+
21+Lorsque vous y êtes invité, sélectionnez `better-sqlite3` et `sharp` dans la liste des packages pour l'approuver pour la compilation.
22+
23+### Activer le *shameful hoisting* (mode compatibilité)
24+
25+Si vous voyez des erreurs du type `Can't resolve 'tailwindcss'` ou `Can't resolve '@nuxt/ui'`, vous n’avez pas forcément besoin de les importer. Vous pouvez simplement appliquer une structure flat des `node_modules` (comme avec npm ou yarn).
26+
27+Vous pouvez activer le mode compatibilité en créant un fichier `.npmrc` contenant :
28+
29+```js
30+shamefully-hoist=true
31+```
docs/content/fr/2.concepts/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Concepts clés
2+icon: i-lucide-brain
docs/content/fr/2.concepts/2.edition.md+191−0
@@ -0,0 +1,191 @@
1+---
2+title: Édition
3+description: Apprenez à rédiger votre documentation.
4+navigation:
5+ icon: i-lucide-pencil
6+seo:
7+ description: Apprenez à rédiger votre documentation avec Docus et Nuxt Content.
8+ title: Édition
9+---
10+
11+Docus vous permet d'écrire tout votre contenu en **Markdown** mais offre aussi la possibilité d'intégrer des **composants** grâce à la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par **Nuxt Content**.
12+
13+::tip{to="/fr/essentials/components"}
14+Consultez la liste des composants prose Nuxt UI que vous pouvez intégrer dans votre Markdown.
15+::
16+
17+## Page d'accueil
18+
19+La page d'accueil est la première page que vos visiteurs voient à la racine `/` de votre site. Par défaut, Docus utilise le fichier `content/index.md` pour afficher cette page.
20+
21+### Page d'accueil Markdown (par défaut)
22+
23+Par défaut, la page d'accueil correspond au fichier `content/index.md`. La syntaxe `MDC` vous offre la possibilité d'utiliser des composants Vue, y compris les slots et les props dans vos fichiers `.md`.
24+
25+Lorsqu'aucune page d'accueil personnalisée n'existe, Docus automatiquement:
26+- Crée une collection de contenu `landing` pour `content/index.md`
27+- Enregistre la route `/` pour afficher votre page d'accueil Markdown
28+
29+### Page d'accueil Vue personnalisée
30+
31+Vous pouvez personnaliser votre page d'accueil en créant une page Vue à `app/pages/index.vue` (ou `app/pages/[[lang]]/index.vue` pour les configurations i18n). Cela vous donne un contrôle total avec les composants Vue, des layouts personnalisés et des interactions `js` avancées.
32+
33+**Lorsque vous créez** `app/pages/index.vue`, Docus :
34+- Ne créera pas la collection `landing`
35+- N'enregistrera pas la route d'accueil
36+- Utilisera votre page Vue personnalisée comme page d'accueil
37+
38+::note
39+Cette détection automatique fonctionne pour les configurations monolingues et multilingues (i18n).
40+::
41+
42+### Composants
43+
44+MDC fournit une syntaxe dédiée pour utiliser facilement des composants Vue dans votre contenu :
45+
46+```mdc [content/index.md]
47+:::u-page-feature
48+:::
49+```
50+
51+### Slots
52+
53+Les slots peuvent recevoir du texte ou d'autres composants.
54+
55+- **Slot par défaut** est rendu directement dans le composant ou avec `#default`.
56+- **Slots nommés** sont définis en utilisant le symbole `#` suivi du nom du slot.
57+
58+```mdc [index.md]
59+:::u-page-feature
60+ #title
61+ Nuxt 4
62+
63+ #description
64+ Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
65+:::
66+```
67+
68+### Props
69+
70+Les props sont passées en syntaxe inline ou via le frontmatter YAML dans le bloc du composant :
71+
72+::tabs
73+ :::tabs-item{icon="i-lucide-braces" label="Inline"}
74+ ```mdc [index.md]
75+ :::u-page-feature{icon="i-simple-icons-nuxt" to="https://nuxt.com"}
76+ #title
77+ Nuxt 4
78+
79+ #description
80+ Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
81+ :::
82+ ```
83+ :::
84+
85+ :::tabs-item{icon="i-lucide-code" label="YAML"}
86+ ```mdc [index.md]
87+ :::u-page-feature
88+ ---
89+ icon: i-simple-icons-nuxt
90+ to: https://nuxt.com
91+ ---
92+ #title
93+ Nuxt 4
94+
95+ #description
96+ Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
97+ :::
98+ ```
99+ :::
100+::
101+
102+::note{to="https://content.nuxt.com"}
103+Consultez la documentation Nuxt Content pour plus de détails sur la syntaxe MDC
104+::
105+
106+## Pages de documentation
107+
108+::tip
109+Il existe une relation un à un entre les fichiers de contenu et les pages de votre site. Chaque page Markdown dans le dossier `content/` correspond directement à une route de page.
110+::
111+
112+### **Sans dossier docs**
113+
114+Pour commencer, éditez ou ajoutez simplement des fichiers `.md` dans le dossier `content/` pour mettre à jour vos pages. Docus gère automatiquement le routage, la navigation et la recherche plein texte.
115+
116+```bash
117+content/
118+├── index.md # Page d'accueil → /
119+├── getting-started.md # Documentation → /getting-started
120+└── guide/
121+ └── introduction.md # Documentation → /guide/introduction
122+```
123+
124+### **Avec dossier docs**
125+
126+Vous pouvez optionnellement organiser vos fichiers de documentation dans un sous-dossier `docs/`. Lorsque Docus détecte un dossier `docs/` dans votre répertoire `content/`, il préfixe automatiquement toutes les URLs de documentation avec `/docs`.
127+
128+```bash
129+content/
130+├── index.md # Page d'accueil → /
131+└── docs/
132+ ├── getting-started.md # Documentation → /docs/getting-started
133+ └── guide/
134+ └── introduction.md # Documentation → /docs/guide/introduction
135+```
136+
137+::tip
138+Ceci est particulièrement utile lorsque vous souhaitez utiliser Docus comme documentation intégrée aux côtés d'autres pages personnalisées. Vous pouvez créer des pages supplémentaires comme un blog, une page de contact, une page de tarification, ou tout autre contenu personnalisé au niveau racine, tout en gardant votre documentation organisée sous `/docs`.
139+::
140+
141+**Exemple avec contenu mixte :**
142+
143+Puisque Docus est un layer Nuxt, vous pouvez combiner la documentation Markdown avec des pages Vue personnalisées :
144+
145+```bash
146+├── app/
147+│ └── pages/
148+│ ├── blog.vue # Page blog personnalisée → /blog
149+│ └── contact.vue # Page contact personnalisée → /contact
150+└── content/
151+ ├── index.md # Page d'accueil → /
152+ └── docs/ # Documentation → /docs/*
153+ ├── getting-started.md
154+ └── api/
155+ └── reference.md
156+```
157+
158+Cette structure vous donne la flexibilité de construire un site web complet avec Docus. Utilisez Markdown pour la documentation et des pages Vue pour les fonctionnalités personnalisées comme les blogs, tableaux de bord, ou toute page interactive.
159+
160+### Frontmatter
161+
162+Chaque fichier du dossier `content/` commence par la syntaxe `---` en haut de la page. Cela correspond au frontmatter de votre fichier, une convention des CMS basés sur Markdown pour fournir des métadonnées aux pages.
163+
164+::tabs
165+ :::tabs-item{icon="i-lucide-code" label="Code"}
166+ ```md [content/getting-started/edition.md]
167+ ---
168+ title: 'Édition'
169+ description: 'Apprenez à rédiger votre documentation.'
170+ ---
171+
172+ <!-- Contenu de la page en pur Markdown -->
173+ ```
174+ :::
175+
176+ :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
177+ ![Frontmatter titre et description](/documentation/frontmatter-preview-title-description.png)
178+ :::
179+::
180+
181+### Paramètres
182+
183+Les pages du répertoire `/content` sont définies comme type [page](https://content.nuxt.com/docs/collections/types#page-type) dans Nuxt Content. Elles suivent toutes la même structure avec les clés de frontmatter existantes :
184+
185+| | | | |
186+| ------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | - |
187+| Clé | Type | Description | |
188+| `title` | `string` | Titre de la page. Affiché en haut de la page. Utilisé comme titre SEO si la clé `seo` n'est pas fournie. | |
189+| `description` | `string` | Description de la page. Affichée sous le titre en haut de la page. Utilisée comme description SEO si la clé `seo` n'est pas fournie. | |
190+| `navigation` | `boolean` | Définit si la page est incluse dans la navigation latérale gauche. | |
191+| `seo` | `{ title: string, description: string }` | Métadonnées SEO de votre page. | |
docs/content/fr/2.concepts/3.configuration.md+364−0
@@ -0,0 +1,364 @@
1+---
2+title: Configuration
3+description: "Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application. "
4+navigation:
5+ icon: i-lucide-settings
6+seo:
7+ description: Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application.
8+ title: Configuration
9+---
10+
11+Docus vous permet de configurer votre documentation via le fichier [app.config.ts](https://nuxt.com/docs/guide/directory-structure/app-config) fourni par Nuxt.
12+
13+::warning
14+Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
15+::
16+
17+## SEO
18+
19+Le SEO technique est complexe et fastidieux. Docus propose une configuration par défaut solide et optionnelle qui fonctionne immédiatement, tout en vous laissant la possibilité de personnaliser entièrement vos métadonnées SEO, des titres de page aux images de partage social.
20+
21+### Métadonnées
22+
23+Docus offre une configuration flexible des métadonnées `SEO`, vous permettant de facilement surcharger les valeurs globalement ou page par page.
24+
25+#### Configuration globale
26+
27+Définissez les métadonnées `SEO` par défaut pour toute votre documentation dans `app.config.ts`. Ces valeurs seront utilisées comme valeurs de repli pour les pages qui ne spécifient pas leurs propres valeurs dans le frontmatter, comme décrit dans la section suivante.
28+
29+Vous pouvez aussi configurer la valeur `site.name` depuis votre fichier `nuxt.config.ts`, la valeur par défaut étant basée sur le nom de votre `package.json`.
30+
31+::code-group
32+```ts [app.config.ts]
33+export default defineAppConfig({
34+ seo: {
35+ // Par défaut : `%s - ${site.name}`
36+ titleTemplate: ''
37+ // Par défaut : nom du package.json
38+ title: '',
39+ // Par défaut : description du package.json
40+ description: ''
41+ },
42+})
43+```
44+
45+```ts [nuxt.config.ts]
46+export default defineNuxtConfig({
47+ site: {
48+ name: 'Docus',
49+ },
50+})
51+```
52+::
53+
54+#### Configuration par page
55+
56+Chaque fichier Markdown du dossier `content/` commence par un bloc frontmatter (`---`). Vous pouvez définir les métadonnées `SEO` par page en utilisant la clé `seo` :
57+
58+```md [content/concepts/configuration.md]
59+---
60+seo:
61+ title: 'Configuration'
62+ description: 'Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application.'
63+---
64+
65+<!-- Contenu de la page -->
66+```
67+
68+::tip{to="/fr/concepts/edition#frontmatter"}
69+Pour plus de détails sur le frontmatter, consultez le guide d'édition.
70+::
71+
72+### **Image de partage social (OG)**
73+
74+Lorsque vous partagez un lien de votre documentation sur les réseaux sociaux ou certaines plateformes de chat, le lien est **déployé** (unfurled), c'est-à-dire qu'il affiche un aperçu avec un titre, une description et une image. Tout cela est géré par le **protocole Open Graph**.
75+
76+#### Pages de documentation
77+
78+Nous utilisons [Nuxt OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction) pour générer automatiquement une image OG pour chaque page de documentation à partir du titre et de la description fournis. Par exemple, l'image OG pour la page actuelle est :
79+
80+![og image documentation page](https://docus.dev/_og/s/c_Docs,headline_Core+Concepts,title_Configuration,description_Customize+your+Docus+documentation+from+Nuxt+application+configuration+file.,p_Ii9lbi9jb25jZXB0cy9jb25maWd1cmF0aW9uIg.png)
81+
82+#### Page d'accueil
83+
84+Comme pour les pages de documentation, la page d'accueil utilise le même générateur d'image OG basé sur le titre et la description fournis.
85+
86+![og image landing page](https://docus.dev/_og/s/c_Landing,title_Write+beautiful+docs+with+Markdown,description_Ship+fast+flexible+and+SEO-optimized+documentation+with+beautiful+design+out+of+the+box.+Docus+brings+together+the+best+of+the+Nuxt+ecosystem.+Powered+by+Nuxt+UI.,p_Ii9lbiI.png)
87+
88+Cependant, si vous souhaitez personnaliser l'image OG de votre page d'accueil, vous pouvez le faire en ajoutant un chemin **absolu** vers une image dans la clé `seo.ogImage` de votre frontmatter.
89+
90+```md [content/index.md]
91+---
92+seo:
93+ ogImage: '/social-card.png'
94+---
95+```
96+
97+Nous recommandons d'utiliser une image **1280×640** pour un affichage optimal sur les plateformes sociales.
98+
99+::tip
100+Les images OG doivent être servies avec des URLs absolues. Par défaut, l'URL du site est déduite de votre plateforme de déploiement, mais vous pouvez la surcharger en définissant la variable d'environnement `NUXT_SITE_URL`.
101+::
102+
103+::tip
104+Puisque Docus est un [layer Nuxt](https://nuxt.com/docs/guide/going-further/layers), vous pouvez surcharger les templates OG des pages de documentation ou de la page d'accueil en créant un fichier du même nom dans votre propre répertoire `components/OgImage/`.
105+
106+```
107+components/
108+ OgImage/
109+ Docs.takumi.vue # surcharge l'image OG des pages de documentation
110+ Landing.takumi.vue # surcharge l'image OG de la page d'accueil
111+```
112+
113+Votre composant reçoit `title`, `description` et `headline` (pages de documentation uniquement) en tant que props et peut utiliser n'importe quel style Tailwind CSS ou inline supporté par le [renderer Takumi](https://nuxtseo.com/docs/og-image/guides/renderers).
114+::
115+
116+### Sitemap
117+
118+Docus génère automatiquement un sitemap à `/sitemap.xml` contenant toutes les pages de votre documentation. Cela aide les moteurs de recherche à découvrir et indexer votre contenu.
119+
120+#### Exclure des pages
121+
122+Pour exclure une page spécifique du sitemap, ajoutez `sitemap: false` à son frontmatter :
123+
124+```md [content/draft-page.md]
125+---
126+sitemap: false
127+---
128+
129+Cette page n'apparaîtra pas dans le sitemap.
130+```
131+
132+#### URL du site
133+
134+Pour des URLs de sitemap correctes, définissez la variable d'environnement `NUXT_SITE_URL` :
135+
136+```bash
137+NUXT_SITE_URL=https://votre-site.com
138+```
139+
140+## En-tête
141+
142+Configurez le `title` ou le `logo` de votre site de documentation :
143+
144+```ts [app.config.ts]
145+export default defineAppConfig({
146+ header: {
147+ title: '',
148+ logo: {
149+ light: '',
150+ dark: '',
151+ alt: '',
152+ },
153+ },
154+})
155+```
156+
157+### Brand Assets
158+
159+Vous pouvez configurer des assets de marque additionnels pour votre logo. Un clic droit sur le logo dans l'en-tête ouvre un menu contextuel avec des actions de copie et de téléchargement.
160+
161+```ts [app.config.ts]
162+export default defineAppConfig({
163+ header: {
164+ title: 'Mon Projet',
165+ logo: {
166+ light: '/logo/logo-dark.svg',
167+ dark: '/logo/logo-light.svg',
168+ alt: 'Logo Mon Projet',
169+ wordmark: {
170+ light: '/logo/wordmark-dark.svg',
171+ dark: '/logo/wordmark-light.svg',
172+ },
173+ favicon: '/favicon.svg',
174+ brandAssetsUrl: 'https://example.com/brand',
175+ },
176+ },
177+})
178+```
179+
180+| Champ | Description |
181+| --- | --- |
182+| `logo.wordmark.light` / `dark` | Wordmark complet (icône + texte) pour chaque mode couleur. |
183+| `logo.display` | Variante à afficher dans l'en-tête : `'logo'` (défaut) ou `'wordmark'`. |
184+| `logo.class` | Classes CSS additionnelles sur l'image du logo (ex. `'h-8'`). |
185+| `logo.favicon` | Chemin vers le fichier favicon. Par défaut `/favicon.ico`. |
186+| `logo.brandAssetsUrl` | Lien vers votre page de brand assets, affiché dans le menu. |
187+
188+Quand le logo est un SVG, le menu contextuel propose des actions **Copier le logo** et **Copier le wordmark** qui copient le SVG brut avec des fills `currentColor`, prêt à coller dans Figma ou tout outil de design. Pour les formats non-SVG (PNG, etc.), seules les actions de téléchargement sont disponibles.
189+
190+## Mode couleur
191+
192+Par défaut, Docus inclut un bouton de changement de mode couleur dans l'en-tête et le pied de page, permettant de basculer entre les modes clair et sombre.
193+
194+Si votre documentation n'utilise qu'un seul thème, vous pouvez le forcer en définissant l'option `colorMode` :
195+
196+```ts [app.config.ts]
197+export default defineAppConfig({
198+ docus: {
199+ colorMode: 'dark'
200+ }
201+})
202+```
203+
204+| Valeur | Comportement |
205+| --- | --- |
206+| `''` (défaut) | Préférence système avec bouton de bascule |
207+| `'light'` | Force le mode clair, masque le bouton |
208+| `'dark'` | Force le mode sombre, masque le bouton |
209+
210+### Raccourci clavier
211+
212+Appuyez sur :kbd{value="D"} pour basculer entre les modes clair et sombre lorsque le bouton de mode couleur est visible.
213+
214+Vous pouvez personnaliser ou désactiver ce raccourci dans `app.config.ts` :
215+
216+```ts [app.config.ts]
217+export default defineAppConfig({
218+ docus: {
219+ shortcuts: {
220+ toggleColorMode: 'd', // Par défaut
221+ },
222+ },
223+})
224+```
225+
226+Définissez `toggleColorMode` sur une chaîne vide pour désactiver le raccourci. Consultez la page [Assistant](/fr/ai/assistant#raccourcis-clavier) pour le format des raccourcis (`meta_d`, `ctrl_shift_p`, etc.).
227+
228+Lorsqu'un mode couleur est forcé, le bouton de bascule est masqué de l'en-tête et du pied de page, et les commandes de mode couleur sont retirées de la palette de commandes.
229+
230+## Navigation
231+
232+### Sous-navigation
233+
234+Pour les sites de documentation avec de nombreuses sections, vous pouvez activer une sous-navigation qui divise vos dossiers de premier niveau en sections et filtre la barre latérale gauche pour n'afficher que les pages de la section active.
235+
236+Deux modes d'affichage sont disponibles :
237+
238+- **`header`** — affiche une barre d'onglets secondaire sous l'en-tête (desktop uniquement, avec un tiroir sur mobile)
239+- **`aside`** — affiche des ancres de section en haut de la barre latérale gauche (avec un tiroir sur mobile)
240+
241+```ts [app.config.ts]
242+export default defineAppConfig({
243+ navigation: {
244+ sub: 'header', // or 'aside'
245+ },
246+})
247+```
248+
249+:video{src="https://res.cloudinary.com/nuxt/video/upload/v1773263594/docus/subnav_idh2ae.mp4"}
250+
251+::note
252+Les onglets sont automatiquement générés à partir de vos dossiers de premier niveau dans `content/`. Le titre et l'icône de chaque dossier sont lus depuis son fichier `.navigation.yml`
253+::
254+
255+## Recherche
256+
257+Docus inclut une recherche plein texte intégrée alimentée par [Nuxt UI ContentSearch](https://ui.nuxt.com/docs/components/content-search). Par défaut, elle utilise le filtrage côté client avec [Fuse.js](https://www.fusejs.io/) qui charge toutes les sections de recherche au démarrage.
258+
259+### Recherche plein texte FTS5
260+
261+Vous pouvez passer à [SQLite FTS5](https://content.nuxt.com/docs/utils/use-search-collection) pour une recherche indexée plus rapide avec mise en évidence des extraits intégrée. Cela construit un index FTS5 dans le navigateur via SQLite WASM et n'exécute la recherche que lorsqu'une requête est saisie, au lieu de charger toutes les sections au démarrage.
262+
263+```ts [app.config.ts]
264+export default defineAppConfig({
265+ search: {
266+ fts: true
267+ }
268+})
269+```
270+
271+| Mode | Index | Vitesse | Tolérance aux fautes | Chargement initial |
272+| --- | --- | --- | --- | --- |
273+| Fuse.js (défaut) | Scan JS en mémoire | O(n) par requête | Fuzzy complet | Toutes les sections |
274+| FTS5 | Index inversé SQLite | O(log n) | Préfixe uniquement | Aucun |
275+
276+## Liens sociaux
277+
278+Ajoutez vos liens de réseaux sociaux dans le pied de page en utilisant un `Record<string, string>` où la clé correspond à une icône de la bibliothèque [Simple Icons](https://simpleicons.org/).
279+
280+```ts [app.config.ts]
281+export default defineAppConfig({
282+ socials: {
283+ x: 'https://x.com/nuxt_js',
284+ discord: 'https://discord.com/invite/ps2h6QT',
285+ nuxt: 'https://nuxt.com',
286+ }
287+})
288+```
289+
290+## Table des matières
291+
292+Vous pouvez personnaliser la table des matières dans la barre latérale droite de chaque page.
293+
294+```ts [app.config.ts]
295+export default defineAppConfig({
296+ toc: {
297+ // Renommer le titre de la table des matières
298+ title: 'Sur cette page',
299+ // Ajouter une section en bas de la table des matières
300+ bottom: {
301+ title: 'Communauté',
302+ links: [{
303+ icon: 'i-lucide-book-open',
304+ label: 'Docs Nuxt UI',
305+ to: 'https://ui.nuxt.com/getting-started/installation/nuxt',
306+ target: '_blank'
307+ }]
308+ }
309+ }
310+})
311+```
312+
313+## Locale
314+
315+Pour une documentation monolingue (sans le module complet `@nuxtjs/i18n`), vous pouvez configurer la locale via `app.config.ts` :
316+
317+```ts [app.config.ts]
318+export default defineAppConfig({
319+ docus: {
320+ locale: 'fr', // Par défaut : 'en'
321+ }
322+})
323+```
324+
325+Ceci définit la langue pour :
326+
327+- Les traductions des composants UI
328+- Les attributs `lang` et `dir` sur la balise `<html>`
329+- Les chaînes d'interface intégrées de Docus
330+
331+::tip{to="/fr/concepts/internationalization"}
332+Pour une documentation multilingue avec changement de langue, consultez le [guide d'internationalisation](/fr/concepts/internationalization).
333+::
334+
335+## Intégration GitHub
336+
337+Docus lit votre dossier `.git/` pour obtenir l'`url` et la `branch` de votre dépôt afin d'ajouter :
338+
339+- Icône GitHub dans l'en-tête et le pied de page
340+- Liens « Modifier cette page » et « Signaler un problème » dans le pied de page de chaque page.
341+
342+Vous pouvez personnaliser l'`url`, la `branch` et le `rootDir` de votre application docs en ajoutant la configuration suivante à votre fichier `app.config.ts` :
343+
344+```ts [app.config.ts]
345+export default defineAppConfig({
346+ github: {
347+ url: 'https://github.com/nuxt-content/docus',
348+ branch: 'main',
349+ rootDir: 'docs'
350+ }
351+})
352+```
353+
354+Si vous ne souhaitez pas utiliser GitHub, vous pouvez définir la clé `github` à `false` pour désactiver l'intégration GitHub.
355+
356+```ts [app.config.ts]
357+export default defineAppConfig({
358+ github: false
359+})
360+```
361+
362+::tip{to="/fr/getting-started/studio"}
363+Ces configurations peuvent aussi être gérées dans l'éditeur Studio, essayez-le !
364+::
docs/content/fr/2.concepts/4.theme.md+136−0
@@ -0,0 +1,136 @@
1+---
2+title: Thème
3+description: Personnalisez l'apparence de votre documentation Docus grâce au système de thème flexible de Nuxt UI.
4+navigation:
5+ icon: i-lucide-paint-roller
6+---
7+
8+Docus est construit sur Nuxt UI et tire pleinement parti de Tailwind CSS v4 et des variables CSS. L'API Tailwind Variants offre un système de thème flexible et évolutif.
9+
10+::tip{to="https://ui.nuxt.com/getting-started/theme"}
11+Pour un aperçu complet du système de thème Nuxt UI, consultez la documentation Nuxt UI.
12+::
13+
14+## Surcharger avec `@theme`
15+
16+Vous pouvez personnaliser votre thème avec des variables CSS à l'intérieur d'une directive `@theme` pour définir les tokens de design personnalisés de votre projet, comme les polices, couleurs et breakpoints.
17+
18+Pour surcharger le thème, créez un fichier `app/app.css` dans votre projet :
19+
20+```css [app/app.css]
21+@theme {
22+ --font-sans: 'Public Sans', sans-serif;
23+
24+ --breakpoint-3xl: 1920px;
25+
26+ --color-green-50: #EFFDF5;
27+ --color-green-100: #D9FBE8;
28+ --color-green-200: #B3F5D1;
29+ --color-green-300: #75EDAE;
30+ --color-green-400: #00DC82;
31+ --color-green-500: #00C16A;
32+ --color-green-600: #00A155;
33+ --color-green-700: #007F45;
34+ --color-green-800: #016538;
35+ --color-green-900: #0A5331;
36+ --color-green-950: #052E16;
37+}
38+```
39+
40+::warning
41+Docus importe automatiquement `app/app.css` — vous n'avez pas besoin de l'ajouter au tableau `css` dans `nuxt.config.ts`, et vous ne devez **pas** inclure `@import "tailwindcss"` dans ce fichier car Docus s'en charge pour vous.
42+::
43+
44+## Couleurs
45+
46+Docus utilise des alias de couleurs préconfigurés qui servent à styliser les composants et à alimenter les props `color` dans toute l'UI.
47+
48+Chaque badge ci-dessous représente un alias par défaut :
49+
50+- :u-badge{label="primary" variant="outline"} → Couleur principale de la marque, utilisée par défaut pour les composants :br [(défaut : vert)]{.text-xs,text-muted}
51+- :u-badge{color="secondary" label="secondary" variant="outline"} → Couleur secondaire pour compléter la couleur principale :br [(défaut : bleu)]{.text-xs,text-muted}
52+- :u-badge{color="success" label="success" variant="outline"} → Utilisée pour les états de succès :br [(défaut : vert)]{.text-xs,text-muted}
53+- :u-badge{color="info" label="info" variant="outline"} → Utilisée pour les états d'information :br [(défaut : bleu)]{.text-xs,text-muted}
54+- :u-badge{color="warning" label="warning" variant="outline"} → Utilisée pour les avertissements :br [(défaut : jaune)]{.text-xs,text-muted}
55+- :u-badge{color="error" label="error" variant="outline"} → Utilisée pour les erreurs de validation de formulaire :br [(défaut : rouge)]{.text-xs,text-muted}
56+- :u-badge{color="neutral" label="neutral" variant="outline"} → Couleur neutre pour les fonds, textes, etc. :br [(défaut : ardoise)]{.text-xs,text-muted}
57+
58+Vous pouvez personnaliser ces couleurs globalement en mettant à jour le fichier `app.config.ts` sous la clé `ui.colors` :
59+
60+```ts [app.config.ts]
61+export default defineAppConfig({
62+ ui: {
63+ colors: {
64+ primary: 'blue',
65+ neutral: 'zinc'
66+ }
67+ }
68+})
69+```
70+
71+## Composants
72+
73+Au-delà des couleurs, tous les [composants Nuxt UI](https://ui.nuxt.com/components) peuvent être thématisés globalement via `app.config.ts`.
74+
75+Vous pouvez surcharger l'apparence de n'importe quel composant en utilisant la même structure que l'objet de thème interne du composant (affiché [en bas de chaque page de composant](https://ui.nuxt.com/components/card#theme)).
76+
77+Par exemple, pour changer l'épaisseur de police de tous les boutons :
78+
79+```ts [app.config.ts]
80+export default defineAppConfig({
81+ ui: {
82+ button: {
83+ slots: {
84+ base: 'font-bold'
85+ }
86+ }
87+ }
88+})
89+```
90+
91+Dans cet exemple, la classe `font-bold` remplacera la classe par défaut `font-medium` sur tous les boutons.
92+
93+::note{to="https://ui.nuxt.com/components/button#theme"}
94+Pour explorer les options de thème disponibles pour chaque composant, consultez la section **Thème** dans la page de documentation Nuxt UI correspondante.
95+::
96+
97+## Sous-composants Docus
98+
99+Docus utilise plusieurs composants Nuxt UI en interne pour la navigation, la table des matières et la sous-navigation. Vous pouvez personnaliser leurs variantes par défaut via `app.config.ts` en utilisant la clé `defaultVariants`, sans avoir à surcharger le composant entier.
100+
101+Les composants suivants sont configurables :
102+
103+| Composant | Clé | Défauts |
104+|---|---|---|
105+| [ContentToc](https://ui.nuxt.com/components/content-toc) | `ui.contentToc` | `highlight: true` |
106+| [ContentNavigation](https://ui.nuxt.com/components/content-navigation) | `ui.contentNavigation` | `variant: 'link'`, `highlight: true` |
107+| [NavigationMenu](https://ui.nuxt.com/components/navigation-menu) | `ui.navigationMenu` | `variant: 'pill'`, `highlight: true` |
108+
109+Par exemple, pour changer le style de surlignage de la table des matières en `circuit` et basculer la variante de la navigation latérale en `pill` :
110+
111+```ts [app.config.ts]
112+export default defineAppConfig({
113+ ui: {
114+ contentToc: {
115+ defaultVariants: {
116+ highlightVariant: 'circuit',
117+ highlightColor: 'secondary'
118+ }
119+ },
120+ contentNavigation: {
121+ defaultVariants: {
122+ variant: 'pill',
123+ highlight: false
124+ }
125+ }
126+ }
127+})
128+```
129+
130+Chaque composant supporte les options de variantes suivantes :
131+
132+- **`highlight`** — Afficher une ligne d'indicateur actif (`true` ou `false`)
133+- **`highlightColor`** — Couleur de l'indicateur (`primary`, `secondary`, `neutral`, etc.)
134+- **`variant`** — Style visuel (`pill` ou `link`, selon le composant)
135+- **`highlightVariant`** — Style de l'indicateur (`straight` ou `circuit`, ContentToc uniquement)
136+- **`color`** — Couleur de base du lien actif
docs/content/fr/2.concepts/5.customization.md+246−0
@@ -0,0 +1,246 @@
1+---
2+title: Personnalisation
3+description: Découvrez comment surcharger les composants intégrés dans Docus pour personnaliser votre documentation.
4+navigation:
5+ icon: i-lucide-pen-tool
6+---
7+
8+Docus est construit sur Nuxt 4 qui offre un système de couches de composants flexible permettant de surcharger certaines parties de l'UI en redéfinissant des composants spécifiques dans votre propre application. Cela facilite la personnalisation complète de l'apparence visuelle et du comportement de votre documentation sans toucher au thème principal.
9+
10+Pour surcharger un composant, créez simplement un fichier Vue du même nom dans le dossier `components/`. Docus utilisera automatiquement votre version à la place de celle par défaut.
11+
12+## En-tête de l'application
13+
14+Vous pouvez personnaliser différentes parties du header en surchargant les composants suivants :
15+
16+### `AppHeaderLogo`
17+
18+Pour des ajustements simples comme changer la taille du logo, vous pouvez utiliser l'option `logo.class` dans `app.config.ts` sans surcharger le composant (ex. `class: 'h-8'`).
19+
20+Pour remplacer entièrement le logo par défaut dans l'en-tête, créez le fichier `components/AppHeaderLogo.vue`. Votre composant remplacera celui fourni par le thème Docus. Vous pouvez utiliser le composable `useLogoAssets()` pour conserver le menu contextuel de clic droit avec les actions de copie et téléchargement.
21+
22+![Visualisation du logo d'en-tête](/documentation/app-header-logo.webp)
23+
24+::u-button
25+---
26+color: neutral
27+icon: i-lucide-code-xml
28+to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderLogo.vue
29+variant: link
30+---
31+Code du composant par défaut
32+::
33+
34+### `AppHeaderLeft`
35+
36+Le logo est placé dans un lien d'accueil par défaut. Pour modifier ce lien (URL, attributs) ou la mise en page autour de `AppHeaderLogo`, surchargez plutôt `components/AppHeaderLeft.vue`.
37+
38+::u-button
39+---
40+color: neutral
41+icon: i-lucide-code-xml
42+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLeft.vue
43+variant: link
44+---
45+Code du composant par défaut
46+::
47+
48+### `AppHeaderCTA`
49+
50+Pour personnaliser la zone d'appel à l'action dans l'en-tête (par exemple, ajouter un bouton « Commencer » ou un lien externe), surchargez le composant `components/AppHeaderCTA.vue`.
51+
52+![Visualisation du CTA d'en-tête](/documentation/app-header-cta.webp)
53+
54+::note
55+---
56+to: https://github.com/nuxt-content/docus/blob/docs/components/AppHeaderCTA.vue
57+---
58+Par défaut, ce composant est vide mais vous pouvez voir comment nous le surchargeons sur la documentation Docus elle-même.
59+::
60+
61+### `AppHeaderCenter`
62+
63+Pour personnaliser la zone centrale du header, surchargez le composant `components/AppHeaderCenter.vue`. Votre composant remplacera la barre de recherche fournie par le thème Docus.
64+
65+![Visualisation du centre d'en-tête](/documentation/app-header-center.webp)
66+
67+::u-button
68+---
69+color: neutral
70+icon: i-lucide-code-xml
71+to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderCenter.vue
72+variant: link
73+---
74+Code du composant par défaut
75+::
76+
77+### `AppHeaderBody`
78+
79+Par défaut, lorsque vous ouvrez le menu en vue mobile, Docus affiche l'arborescence de votre dossier `content/` comme menu avec le composant [ContentNavigation](https://ui.nuxt.com/components/content-navigation). Vous pouvez surcharger ce menu avec le composant `components/AppHeaderBody.vue` et remplir le corps du menu (sous l'en-tête) en mobile.
80+
81+![Visualisation du menu mobile](/documentation/app-header-body.webp)
82+
83+::u-button
84+---
85+color: neutral
86+icon: i-lucide-code-xml
87+to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderBody.vue
88+variant: link
89+---
90+Code du composant par défaut
91+::
92+
93+### `AppHeaderBottomRight`
94+
95+Lorsque [`navigation.sub`](/fr/concepts/configuration#sous-navigation) est défini sur `'header'`, Docus affiche une barre d'onglets secondaire sous l'en-tête. Pour ajouter du contenu personnalisé à droite de cette barre (ex. un toggle, un badge), créez un composant `components/AppHeaderBottomRight.vue`.
96+
97+::note
98+---
99+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBottom.vue
100+---
101+Pour remplacer entièrement la barre de sous-navigation, surchargez le composant `AppHeaderBottom.vue` à la place.
102+::
103+
104+::tip{to="/fr/concepts/nuxt"}
105+Si vous souhaitez personnaliser tout le header, vous devriez peut-être envisager d'utiliser un layout personnalisé.
106+::
107+
108+## Footer
109+
110+Vous pouvez personnaliser différentes parties du footer en surchargant les composants suivants :
111+
112+### `AppFooterLeft`
113+
114+Pour remplacer le côté gauche du footer, créez le fichier `components/AppFooterLeft.vue`. Votre composant remplacera celui par défaut fourni par le thème Docus.
115+
116+![Visualisation du footer gauche](/documentation/app-footer-left.webp)
117+
118+::u-button
119+---
120+color: neutral
121+icon: i-lucide-code-xml
122+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterLeft.vue
123+variant: link
124+---
125+Code du composant par défaut
126+::
127+
128+### `AppFooterRight`
129+
130+Pour personnaliser le côté droit du footer, surchargez le composant `components/AppFooterRight.vue`.
131+
132+![Visualisation du footer droit](/documentation/app-footer-right.webp)
133+
134+::u-button
135+---
136+color: neutral
137+icon: i-lucide-code-xml
138+to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterRight.vue
139+variant: link
140+---
141+Code du composant par défaut
142+::
143+
144+::tip{to="/fr/concepts/nuxt"}
145+Si vous souhaitez personnaliser tout le footer, vous devriez peut-être envisager d'utiliser un layout personnalisé.
146+::
147+
148+## Docs
149+
150+Vous pouvez aussi personnaliser l'en-tête et les deux asides des pages de documentation.
151+
152+### `DocsPageHeaderLinks`
153+
154+Dans la partie droite du header de votre page de documentation, le comportement par défaut de Docus est d'afficher un menu déroulant avec des actions rapides liées à la source Markdown de la page courante. Cela permet au lecteur de :
155+
156+- **Copier un lien direct** vers le fichier `.md` brut dans le presse-papiers.
157+- **Voir la source Markdown** dans un nouvel onglet du navigateur.
158+- **Ouvrir le contenu de la page dans ChatGPT ou Claude**, pré-rempli avec une invite pour analyser le fichier Markdown.
159+
160+Ces actions sont particulièrement utiles pour les contributeurs, lecteurs ou workflows assistés par IA, mais vous pouvez créer votre propre composant `components/DocsPageHeaderLinks.vue` pour le surcharger.
161+
162+![App Page Header Links](/documentation/app-page-header-links.webp)
163+
164+::u-button
165+---
166+color: neutral
167+icon: i-lucide-code-xml
168+to: https://github.com/nuxt-content/docus/blob/app/components/docs/DocsHeaderRight.vue
169+variant: link
170+---
171+Code du composant par défaut
172+::
173+
174+### `DocsAsideRightBottom`
175+
176+Pour personnaliser la partie basse de l'aside droit des pages de documentation, créez le composant `components/DocsAsideRightBottom.vue`. Votre composant remplacera la table des matières basse fournie par le thème Docus.
177+
178+![Docs aside droit bas](/documentation/docs-aside-right-bottom.webp)
179+
180+::u-button
181+---
182+color: neutral
183+icon: i-lucide-code-xml
184+to: https://github.com/nuxt-content/docus/blob/app/components/docs/DocsAsideRightBottom.vue
185+variant: link
186+---
187+Code du composant par défaut
188+::
189+
190+### `DocsAsideLeftTop`
191+
192+Pour personnaliser la partie haute de l'aside gauche des pages de documentation, créez le composant `components/DocsAsideLeftTop.vue`.
193+
194+![Docs Aside Left Top](/documentation/docs-aside-left-top.webp)
195+
196+::note
197+---
198+to: https://github.com/nuxt/image/blob/docs/docus/docus/app/components/DocsAsideLeftTop.vue
199+---
200+Par défaut, ce composant est vide mais vous pouvez voir comment nous le surchargeons sur la documentation Nuxt Image.
201+::
202+
203+## Icônes personnalisées
204+
205+Docus utilise [Nuxt Icon](https://github.com/nuxt/icon) avec le fournisseur [Iconify](https://iconify.design/), vous donnant accès à des milliers d'icônes prêtes à l'emploi (ex. `i-lucide-arrow-right`, `i-simple-icons-github`).
206+
207+Pour ajouter vos propres icônes, placez des fichiers SVG dans le dossier `assets/icons/` de votre application. Ils sont automatiquement enregistrés sous le préfixe `custom` et disponibles partout dans votre projet.
208+
209+```
210+assets/
211+ icons/
212+ my-logo.svg
213+```
214+
215+Vous pouvez ensuite les utiliser avec le préfixe `i-custom:` :
216+
217+```md [content/getting-started.md]
218+---
219+navigation:
220+ icon: i-custom:my-logo
221+---
222+```
223+
224+```ts [app.config.ts]
225+export default defineAppConfig({
226+ toc: {
227+ bottom: {
228+ links: [{
229+ icon: 'i-custom:my-logo',
230+ label: 'Aperçu',
231+ to: '/preview'
232+ }]
233+ }
234+ }
235+})
236+```
237+
238+```vue [components/MyComponent.vue]
239+<template>
240+ <UIcon name="i-custom:my-logo" />
241+</template>
242+```
243+
244+::tip{to="https://iconify.design/docs/icons/icon-set-basics.html"}
245+Les fichiers SVG doivent utiliser `currentColor` pour les remplissages et contours afin que l'icône s'adapte à la couleur du texte.
246+::
docs/content/fr/2.concepts/6.internationalization.md+96−0
@@ -0,0 +1,96 @@
1+---
2+title: Internationalisation
3+description: Créez une documentation multilingue avec le support i18n intégré de Docus.
4+navigation:
5+ icon: i-lucide-globe
6+seo:
7+ description: Apprenez à configurer et gérer une documentation multilingue avec le support i18n intégré de Docus.
8+ title: Internationalisation
9+---
10+
11+Docus introduit un **support d'internationalisation natif** basé sur le module `@nuxtjs/i18n`, vous permettant de créer une documentation en plusieurs langues avec un routage automatique et une gestion de contenu.
12+
13+## Fonctionnalités
14+
15+- **Module i18n intégré** : Intégration native avec `@nuxtjs/i18n`
16+- **Routage de locale dynamique** : Préfixage automatique des URL avec les codes de langue (`/en/docs`, `/fr/docs`)
17+- **Collections de contenu par locale** : Gestion séparée du contenu pour chaque langue
18+- **Sélecteur de langue** : Composant intégré pour basculer entre les locales
19+- **Configuration monolingue** : Configuration simple de la locale pour les sites monolingues via `app.config.ts`
20+
21+## Configuration monolingue
22+
23+Si vous créez une documentation dans une seule langue (sans le module complet `@nuxtjs/i18n`), vous pouvez configurer la locale via `app.config.ts`. Ceci est utile pour définir la langue des composants UI et localiser les chaînes intégrées.
24+
25+```ts [app.config.ts]
26+export default defineAppConfig({
27+ docus: {
28+ locale: 'fr', // Définissez votre locale (par défaut : 'en')
29+ }
30+})
31+```
32+
33+Cette configuration affecte :
34+
35+- Les traductions des composants UI (boutons, étiquettes, etc.)
36+- Les attributs `lang` et `dir` sur la balise `<html>`
37+- Les chaînes d'interface intégrées de Docus
38+
39+## Configuration multilingue
40+
41+Pour une documentation multilingue, utilisez l'intégration complète `@nuxtjs/i18n` comme décrit ci-dessous.
42+
43+### Configurer un projet existant
44+
45+Pour activer l'i18n dans votre projet Docus, ajoutez le module `@nuxtjs/i18n` à votre `nuxt.config.ts` et définissez vos locales :
46+
47+```typescript [nuxt.config.ts]
48+export default defineNuxtConfig({
49+ modules: ['@nuxtjs/i18n'],
50+ i18n: {
51+ defaultLocale: 'en',
52+ locales: [
53+ { code: 'en', name: 'English' },
54+ { code: 'fr', name: 'Français' },
55+ ],
56+ }
57+})
58+```
59+
60+::warning
61+Docus surcharge la stratégie `@nuxtjs/i18n` en `prefix`.
62+::
63+
64+## Créer un nouveau projet avec le modèle i18n
65+
66+Lors de la création d'un nouveau projet, vous pouvez choisir le modèle i18n pour une internationalisation préconfigurée :
67+
68+```bash [Terminal]
69+npx create-docus my-docs -t i18n
70+```
71+
72+## Structure des répertoires
73+
74+Lorsque l'i18n est activé, organisez votre contenu par locale dans le répertoire `content/` :
75+
76+```text
77+content/
78+├── en/ # Contenu anglais
79+│ ├── index.md # Page d'accueil anglaise
80+│ ├── getting-started/
81+│ │ ├── installation.md
82+│ │ └── configuration.md
83+│ └── guide/
84+│ └── advanced.md
85+├── fr/ # Contenu français
86+│ ├── index.md # Page d'accueil française
87+│ ├── getting-started/
88+│ │ ├── installation.md
89+│ │ └── configuration.md
90+│ └── guide/
91+│ └── advanced.md
92+```
93+
94+::warning
95+Chaque locale doit refléter la même structure de répertoires pour maintenir une navigation cohérente entre les langues.
96+::
docs/content/fr/2.concepts/8.nuxt.md+135−0
@@ -0,0 +1,135 @@
1+---
2+title: Nuxt
3+description: Créez des éléments interactifs et réutilisables avec les composants Nuxt
4+navigation:
5+ icon: i-simple-icons-nuxt
6+---
7+
8+## Application Nuxt
9+
10+Docus est construit sur **Nuxt 4**, ce qui signifie que votre projet de documentation est une application Nuxt complète. Lorsque vous générez un projet avec le **CLI Docus**, il ajoute une couche par défaut vous offrant toute la flexibilité d'une application Nuxt standard.
11+
12+Par défaut, le starter Docus ne contient qu'un dossier `content/`, un dossier `public/` et un `package.json`. C'est tout ce dont vous avez besoin pour commencer à rédiger votre documentation. Vous pouvez aller plus loin et utiliser n'importe quelle fonctionnalité d'un projet Nuxt, du [nuxt.config.ts](https://nuxt.com/docs/guide/directory-structure/nuxt-config) aux [components](https://nuxt.com/docs/guide/directory-structure/nuxt-config) ou [plugins](https://nuxt.com/docs/guide/directory-structure/plugins).
13+
14+::note
15+Vous pouvez utiliser la [nouvelle structure de répertoires de Nuxt 4](https://nuxt.com/docs/getting-started/upgrade#new-directory-structure) fournie par la [version de compatibilité 4 .]() Tous les fichiers liés au code front vont dans le dossier `app/` pour une organisation plus claire et de meilleures performances IDE.
16+::
17+
18+## Modules Nuxt
19+
20+Vous souhaitez enrichir votre documentation avec des fonctionnalités personnalisées ? Vous pouvez installer et configurer des [modules Nuxt](https://nuxt.com/modules) comme dans toute application Nuxt.
21+
22+Pour ajouter [Vercel Web Analytics](https://vercel.com/docs/analytics) à votre documentation :
23+
24+::steps
25+### Installez `@vercel/analytics`
26+
27+```bash [Terminal]
28+npm install @vercel/analytics
29+```
30+
31+### Activez Web Analytics dans `nuxt.config.ts`
32+
33+Pour Nuxt, vous pouvez activer Vercel Analytics sans configuration supplémentaire en utilisant la déclaration de module inline :
34+
35+```ts [nuxt.config.ts]
36+export default defineNuxtConfig({
37+ modules: ['@vercel/analytics/nuxt/module'],
38+})
39+```
40+::
41+
42+## Composants personnalisés
43+
44+Grâce à la puissance de `Nuxt Content` et `Nuxt UI`, et avec l'aide de la syntaxe `MDC`, vous pouvez utiliser les [composants Nuxt UI](/fr/essentials/components) directement dans votre Markdown sans configuration supplémentaire.
45+
46+Cependant, vous n'êtes pas limité aux composants préconçus. Docus facilite la création de vos propres composants Vue dans votre application Nuxt et leur utilisation dans votre contenu.
47+
48+Voici un exemple simple d'un composant personnalisé `BrowserFrame` créé dans le dossier `components` de votre application Nuxt et intégré dans du Markdown :
49+
50+::tabs
51+ :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
52+ ```vue [components/content/BrowserFrame.vue]
53+ <script setup lang="ts">
54+ defineProps<{
55+ title?: string
56+ }>()
57+ </script>
58+
59+ <template>
60+ <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
61+ <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
62+ <div class="flex items-center gap-2">
63+ <span class="w-3 h-3 bg-red-500 rounded-full" />
64+ <span class="w-3 h-3 bg-yellow-500 rounded-full" />
65+ <span class="w-3 h-3 bg-green-500 rounded-full" />
66+ </div>
67+ <div class="text-muted">
68+ {{ title }}
69+ </div>
70+ </div>
71+ <slot mdc-unwrap="p" />
72+ </div>
73+ </template>
74+ ```
75+ :::
76+
77+ :::tabs-item{icon="i-simple-icons-markdown" label="Markdown"}
78+ ```mdc
79+ ::browser-frame{title="Les Alpes"}
80+ ![paysage de montagnes](/mountains.webp)
81+ ::
82+ ```
83+ :::
84+
85+ :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
86+ ::::browser-frame{title="Les Alpes"}
87+ ![paysage de montagnes](/documentation/mountains.webp)
88+ ::::
89+ :::
90+::
91+
92+Cette approche vous permet de créer une documentation dynamique propulsée par les composants Nuxt en Markdown.
93+
94+## Vue Pages
95+
96+En plus des pages Markdown, vous pouvez également créer des pages Vue dans le répertoire `pages/`.
97+
98+```vue [pages/hello.vue]
99+<template>
100+ <div>
101+ <h1>Bonjour</h1>
102+ </div>
103+</template>
104+```
105+
106+Vous pouvez également utiliser la fonction `definePageMeta` pour définir les métadonnées de la page, comme l'utilisation du layout `default` ou `docs`, mais aussi pour définir si la page doit afficher l'en-tête et le pied de page :
107+
108+```vue [pages/hello.vue]
109+<script setup lang="ts">
110+definePageMeta({
111+ layout: 'default',
112+ // Supprimer l'en-tête
113+ header: false,
114+ // Supprimer le pied de page
115+ footer: false,
116+})
117+</script>
118+```
119+
120+## Layouts personnalisées
121+
122+Docus utilise deux layouts :
123+
124+- Le layout `default` pour la page d'accueil et les pages Vue personnalisées
125+- Le layout `docs` pour les pages de documentation
126+
127+Si vous souhaitez utiliser une mise en page différente, vous pouvez en créer une dans le répertoire `app/layouts/`.
128+
129+```vue [app/layouts/custom.vue]
130+<template>
131+ <main class="custom-layout">
132+ <slot />
133+ </main>
134+</template>
135+```
docs/content/fr/3.essentials/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: Essentiels
2+icon: i-lucide-book-open
docs/content/fr/3.essentials/1.markdown-syntax.md+224−0
@@ -0,0 +1,224 @@
1+---
2+title: Syntaxe Markdown
3+description: Texte, titres et mise en forme en markdown standard.
4+navigation:
5+ icon: i-lucide-heading-1
6+links: []
7+---
8+
9+## Titres
10+
11+Utilisez des titres pour introduire les sections principales. Ils structurent votre documentation et aident les utilisateurs à naviguer dans le contenu.
12+
13+::code-preview
14+---
15+class: "[&>div]:*:my-0"
16+---
17+## Titres
18+
19+#code
20+```mdc
21+## Titres
22+```
23+::
24+
25+### Sous-titres
26+
27+Utilisez des sous-titres pour diviser davantage les sections. Ils créent une hiérarchie de contenu plus détaillée pour une meilleure lisibilité.
28+
29+::code-preview
30+---
31+class: "[&>div]:*:my-0"
32+---
33+### Sous-titres
34+
35+#code
36+```mdc
37+### Sous-titres
38+```
39+::
40+
41+::tip
42+Chaque titre et sous-titre crée une ancre et apparaît automatiquement dans la table des matières.
43+::
44+
45+## Mise en forme du texte
46+
47+Docus prend en charge la plupart des options de mise en forme Markdown.
48+
49+| Style | Syntaxe | Résultat |
50+| -------- | ------------ | ---------- |
51+| Gras | `**gras**` | **Gras** |
52+| Italique | `*italique*` | *Italique* |
53+| Barré | `~~barré~~` | ~~Barré~~ |
54+
55+Combinez les styles pour enrichir le texte et mettre en valeur des éléments.
56+
57+| Style | Syntaxe | Résultat |
58+| -------------- | --------------------- | ------------------- |
59+| Gras Italique | `**_gras italique_**` | ***Gras Italique*** |
60+| Gras Barré | `~~**gras**~~` | ~~**Gras**~~ |
61+| Italique Barré | `~~*italique*~~` | ~~*Italique*~~ |
62+
63+## Liens
64+
65+Les liens relient différentes parties de votre documentation et des ressources externes, essentiels pour la navigation et les références.
66+Pour créer un lien, entourez le texte du lien avec des crochets `[]()`.
67+
68+::code-preview
69+---
70+class: "[&>div]:*:my-0"
71+---
72+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
73+
74+#code
75+```mdc
76+[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
77+```
78+::
79+
80+### Liens internes
81+
82+Pour lier des pages de votre documentation, utilisez des chemins relatifs à la racine comme `/getting-started/installation`.
83+
84+::code-preview
85+---
86+class: "[&>div]:*:my-0"
87+---
88+[Installation](/fr/getting-started/installation)
89+
90+#code
91+```mdc
92+[Installation](/fr/getting-started/installation)
93+```
94+::
95+
96+## Listes
97+
98+Organisez des éléments liés dans un format structuré et lisible. Markdown prend en charge les listes non ordonnées, ordonnées et imbriquées pour divers besoins.
99+
100+### Non ordonnée
101+
102+Utilisez des listes non ordonnées pour des éléments sans ordre particulier. Commencez chaque élément par un symbole `-`.
103+
104+::code-preview
105+---
106+class: "[&>div]:*:my-0"
107+---
108+- Je suis un élément de liste.
109+- Je suis un autre élément de liste.
110+- Je suis le dernier élément de liste.
111+
112+#code
113+```mdc
114+- Je suis un élément de liste.
115+- Je suis un autre élément de liste.
116+- Je suis le dernier élément de liste.
117+```
118+::
119+
120+### Ordonnée
121+
122+Utilisez des listes ordonnées lorsque l'ordre des éléments est important, comme des étapes d'un processus. Commencez chaque élément par un numéro.
123+
124+::code-preview
125+---
126+class: "[&>div]:*:my-0"
127+---
128+1. Je suis un élément de liste.
129+2. Je suis un autre élément de liste.
130+3. Je suis le dernier élément de liste.
131+
132+#code
133+```mdc
134+1. Je suis un élément de liste.
135+2. Je suis un autre élément de liste.
136+3. Je suis le dernier élément de liste.
137+```
138+::
139+
140+### Imbriquée
141+
142+Créez des listes hiérarchiques avec des sous-éléments pour des structures complexes. Indentez les sous-éléments de quatre espaces pour l'imbrication.
143+
144+::code-preview
145+---
146+class: "[&>div]:*:my-0"
147+---
148+- Je suis un élément de liste.
149+ - Je suis un élément de liste imbriqué.
150+ - Je suis un autre élément de liste imbriqué.
151+- Je suis un autre élément de liste.
152+
153+#code
154+```mdc
155+- Je suis un élément de liste.
156+ - Je suis un élément de liste imbriqué.
157+ - Je suis un autre élément de liste imbriqué.
158+- Je suis un autre élément de liste.
159+```
160+::
161+
162+## Tableaux
163+
164+Présentez des données structurées en lignes et colonnes. Les tableaux sont idéaux pour comparer des données ou lister des propriétés.
165+
166+::code-preview
167+---
168+class: "[&>div]:*:my-0 [&>div]:*:w-full"
169+---
170+| Prop | Défaut | Type |
171+| ------- | --------- | -------- |
172+| `name` | | `string` |
173+| `size` | `md` | `string` |
174+| `color` | `neutral` | `string` |
175+
176+#code
177+```mdc
178+| Prop | Défaut | Type |
179+|---------|-----------|--------------------------|
180+| `name` | | `string`{lang="ts-type"} |
181+| `size` | `md` | `string`{lang="ts-type"} |
182+| `color` | `neutral` | `string`{lang="ts-type"} |
183+```
184+::
185+
186+## Citations
187+
188+Mettez en avant des citations, références ou textes importants. Les citations distinguent visuellement le contenu cité.
189+
190+### Une ligne
191+
192+Les citations sur une seule ligne sont idéales pour des citations courtes et percutantes. Ajoutez un `>` devant un paragraphe. Idéal pour les citations courtes.
193+
194+::code-preview
195+---
196+class: "[&>div]:*:my-0"
197+---
198+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
199+
200+#code
201+```mdc
202+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
203+```
204+::
205+
206+### Multiligne
207+
208+Les citations multiligne conviennent aux citations plus longues ou pour inclure plusieurs paragraphes dans une seule citation.
209+
210+::code-preview
211+---
212+class: "[&>div]:*:my-0"
213+---
214+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
215+>
216+> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
217+
218+#code
219+```mdc
220+> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
221+>
222+> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
223+```
224+::
docs/content/fr/3.essentials/2.code-blocks.md+398−0
@@ -0,0 +1,398 @@
1+---
2+title: Blocs de code
3+description: Affichez du code en ligne et des blocs de code dans votre documentation.
4+links: []
5+navigation:
6+ icon: i-lucide-code-xml
7+---
8+
9+## Basique
10+
11+### Code en ligne
12+
13+Utilisez le code en ligne pour afficher des extraits de code dans les paragraphes. Idéal pour référencer des éléments de code directement dans les phrases.
14+
15+::code-preview
16+---
17+class: "[&>div]:*:my-0"
18+---
19+`code en ligne`
20+
21+#code
22+```mdc
23+`code en ligne`
24+```
25+::
26+
27+### Blocs de code
28+
29+Utilisez les blocs de code pour afficher des extraits de code multi-lignes avec coloration syntaxique. Les blocs de code sont essentiels pour présenter clairement des exemples de code.
30+
31+::code-preview
32+---
33+class: "[&>div]:*:my-0 [&>div]:*:w-full"
34+---
35+```ts
36+export default defineNuxtConfig({
37+ modules: ['@nuxt/ui']
38+})
39+```
40+
41+#code
42+````mdc
43+```ts
44+export default defineNuxtConfig({
45+ modules: ['@nuxt/ui']
46+})
47+```
48+````
49+::
50+
51+Lorsque vous écrivez un bloc de code, vous pouvez spécifier un nom de fichier qui sera affiché au-dessus du bloc. Une icône sera automatiquement affichée selon l'extension ou le nom.
52+Les noms de fichiers aident les utilisateurs à comprendre l'emplacement et le but du code dans un projet.
53+
54+::code-preview
55+---
56+class: "[&>div]:*:my-0 [&>div]:*:w-full"
57+---
58+```ts [nuxt.config.ts]
59+export default defineNuxtConfig({
60+ modules: ['@nuxt/ui']
61+})
62+```
63+
64+#code
65+````mdc
66+```ts [nuxt.config.ts]
67+export default defineNuxtConfig({
68+ modules: ['@nuxt/ui']
69+})
70+```
71+````
72+::
73+
74+Chaque bloc de code possède un bouton de copie intégré qui permet de copier le code dans le presse-papiers.
75+
76+::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77+Les icônes sont déjà définies par défaut, mais vous pouvez les personnaliser dans votre `app.config.ts` :
78+
79+```ts [app.config.ts]
80+export default defineAppConfig({
81+ ui: {
82+ prose: {
83+ codeIcon: {
84+ terminal: 'i-ph-terminal-window-duotone'
85+ }
86+ }
87+ }
88+})
89+```
90+::
91+
92+## Avancé
93+
94+### CodeGroup
95+
96+Groupez des blocs de code dans des onglets avec `code-group`. `code-group` est parfait pour montrer des exemples de code dans plusieurs langages ou gestionnaires de paquets.
97+
98+::code-preview
99+---
100+class: "[&>div]:*:my-0 [&>div]:*:w-full"
101+---
102+ :::code-group{.w-full}
103+ ```bash [pnpm]
104+ pnpm add @nuxt/ui
105+ ```
106+
107+ ```bash [yarn]
108+ yarn add @nuxt/ui
109+ ```
110+
111+ ```bash [npm]
112+ npm install @nuxt/ui
113+ ```
114+
115+ ```bash [bun]
116+ bun add @nuxt/ui
117+ ```
118+ :::
119+
120+#code
121+````mdc
122+::code-group
123+
124+```bash [pnpm]
125+pnpm add @nuxt/ui
126+```
127+
128+```bash [yarn]
129+yarn add @nuxt/ui
130+```
131+
132+```bash [npm]
133+npm install @nuxt/ui
134+```
135+
136+```bash [bun]
137+bun add @nuxt/ui
138+```
139+
140+::
141+````
142+::
143+
144+### CodeTree
145+
146+Affichez des blocs de code dans une vue arborescente avec `code-tree`. `code-tree` est excellent pour présenter des structures de projet et des relations de fichiers.
147+
148+::code-preview
149+---
150+class: "[&>div]:*:my-0 [&>div]:*:w-full"
151+---
152+ :::code-tree{default-value="app/app.config.ts"}
153+ ```ts [nuxt.config.ts]
154+ export default defineNuxtConfig({
155+ modules: ['@nuxt/ui'],
156+
157+ css: ['~/assets/css/main.css']
158+ })
159+ ```
160+
161+ ```css [app/assets/css/main.css]
162+ @import "tailwindcss";
163+ @import "@nuxt/ui";
164+ ```
165+
166+ ```ts [app/app.config.ts]
167+ export default defineAppConfig({
168+ ui: {
169+ colors: {
170+ primary: 'sky',
171+ colors: 'slate'
172+ }
173+ }
174+ })
175+ ```
176+
177+ ```vue [app/app.vue]
178+ <template>
179+ <UApp>
180+ <NuxtPage />
181+ </UApp>
182+ </template>
183+ ```
184+
185+ ```json [package.json]
186+ {
187+ "name": "nuxt-app",
188+ "private": true,
189+ "type": "module",
190+ "scripts": {
191+ "build": "nuxt build",
192+ "dev": "nuxt dev",
193+ "generate": "nuxt generate",
194+ "preview": "nuxt preview",
195+ "postinstall": "nuxt prepare",
196+ "lint": "eslint .",
197+ "lint:fix": "eslint --fix ."
198+ },
199+ "dependencies": {
200+ "@iconify-json/lucide": "^1.2.18",
201+ "@nuxt/ui": "^4.0.0",
202+ "nuxt": "^4.1.0"
203+ },
204+ "devDependencies": {
205+ "eslint": "^9.34.0",
206+ "typescript": "^5.9.3",
207+ "vue-tsc": "^3.0.6"
208+ }
209+ }
210+ ```
211+
212+ ```json [tsconfig.json]
213+ {
214+ "extends": "./.nuxt/tsconfig.json"
215+ }
216+ ```
217+
218+ ````md [README.md]
219+ # Nuxt 4 Minimal Starter
220+
221+ Consultez la [documentation Nuxt 4](https://nuxt.com/docs/getting-started/introduction) pour en savoir plus.
222+
223+ ## Installation
224+
225+ Assurez-vous d'installer les dépendances :
226+
227+ ```bash
228+ # npm
229+ npm install
230+
231+ # pnpm
232+ pnpm install
233+
234+ # yarn
235+ yarn install
236+
237+ # bun
238+ bun install
239+ ```
240+
241+ ## Serveur de développement
242+
243+ Démarrez le serveur de développement sur `http://localhost:3000` :
244+
245+ ```bash
246+ # npm
247+ npm run dev
248+
249+ # pnpm
250+ pnpm run dev
251+
252+ # yarn
253+ yarn dev
254+
255+ # bun
256+ bun run dev
257+ ```
258+
259+ ## Production
260+
261+ Construisez l'application pour la production :
262+
263+ ```bash
264+ # npm
265+ npm run build
266+
267+ # pnpm
268+ pnpm run build
269+
270+ # yarn
271+ yarn build
272+
273+ # bun
274+ bun run build
275+ ```
276+
277+ Prévisualisez localement la build de production :
278+
279+ ```bash
280+ # npm
281+ npm run preview
282+
283+ # pnpm
284+ pnpm run preview
285+
286+ # yarn
287+ yarn preview
288+
289+ # bun
290+ bun run preview
291+ ```
292+
293+ Consultez la [documentation de déploiement](https://nuxt.com/docs/getting-started/deployment) pour plus d'informations.
294+ ````
295+ :::
296+::
297+
298+### `CodePreview`
299+
300+Utilisez `code-preview` pour afficher le résultat du code à côté du code. `code-preview` est idéal pour les exemples interactifs et la démonstration de résultats de code.
301+Écrivez le code à prévisualiser dans le slot `default` et le code réel dans le slot `code`.
302+
303+::code-preview
304+---
305+class: "[&>div]:*:my-0 [&>div]:*:w-full"
306+label: Aperçu
307+---
308+ :::code-preview
309+ ---
310+ class: "[&>div]:*:my-0"
311+ ---
312+ `code en ligne`
313+
314+ #code
315+ ```mdc
316+ `code en ligne`
317+ ```
318+ :::
319+
320+#code
321+````mdc
322+::code-preview
323+`code en ligne`
324+
325+#code
326+```mdc
327+`code en ligne`
328+```
329+::
330+````
331+::
332+
333+### `CodeCollapse`
334+
335+Utilisez `code-collapse` pour les longs blocs de code afin de garder les pages propres. `code-collapse` permet aux utilisateurs de déplier les blocs de code uniquement si besoin, améliorant ainsi la lisibilité.
336+
337+::code-preview
338+---
339+class: "[&>div]:*:my-0 [&>div]:*:w-full"
340+---
341+ :::code-collapse
342+ ---
343+ class: "[&>div]:my-0"
344+ ---
345+ ```css [main.css]
346+ @import "tailwindcss";
347+ @import "@nuxt/ui";
348+
349+ @theme {
350+ --font-sans: 'Public Sans', sans-serif;
351+
352+ --breakpoint-3xl: 1920px;
353+
354+ --color-green-50: #EFFDF5;
355+ --color-green-100: #D9FBE8;
356+ --color-green-200: #B3F5D1;
357+ --color-green-300: #75EDAE;
358+ --color-green-400: #00DC82;
359+ --color-green-500: #00C16A;
360+ --color-green-600: #00A155;
361+ --color-green-700: #007F45;
362+ --color-green-800: #016538;
363+ --color-green-900: #0A5331;
364+ --color-green-950: #052E16;
365+ }
366+ ```
367+ :::
368+
369+#code
370+````mdc
371+::code-collapse
372+
373+```css [main.css]
374+@import "tailwindcss";
375+@import "@nuxt/ui";
376+
377+@theme {
378+--font-sans: 'Public Sans', sans-serif;
379+
380+--breakpoint-3xl: 1920px;
381+
382+--color-green-50: #EFFDF5;
383+--color-green-100: #D9FBE8;
384+--color-green-200: #B3F5D1;
385+--color-green-300: #75EDAE;
386+--color-green-400: #00DC82;
387+--color-green-500: #00C16A;
388+--color-green-600: #00A155;
389+--color-green-700: #007F45;
390+--color-green-800: #016538;
391+--color-green-900: #0A5331;
392+--color-green-950: #052E16;
393+}
394+```
395+
396+::
397+````
398+::
docs/content/fr/3.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1+---
2+title: Composants Markdown
3+description: Utilisez les composants Markdown pour structurer votre contenu, avec l'aide de Nuxt UI.
4+navigation:
5+ icon: i-lucide-component
6+ title: Composants
7+---
8+
9+Les composants prose sont des remplacements pour les balises de typographie HTML. Ils offrent un moyen simple de personnaliser votre interface lors de l'utilisation de Markdown.
10+
11+**Docus et Nuxt UI** fournissent un ensemble de composants prose stylés et élégants pour vous aider à rédiger votre documentation avec la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12+
13+::note{to="https://ui.nuxt.com/getting-started"}
14+Cette page met en avant uniquement les composants prose les plus adaptés à la rédaction de documentation. Cependant, vous pouvez utiliser **n'importe quel composant Nuxt UI** dans votre Markdown. Pour la liste complète des composants disponibles, consultez la documentation Nuxt UI.
15+::
16+
17+### `Accordion`
18+
19+Utilisez les composants `accordion` et `accordion-item` pour afficher un [Accordion](https://ui.nuxt.com/components/accordion) dans votre contenu.
20+
21+::tabs
22+ :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
23+ ::::accordion
24+ :::::accordion-item
25+ ---
26+ icon: i-lucide-circle-help
27+ label: Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?
28+ ---
29+ Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
30+ :::::
31+
32+ :::::accordion-item
33+ ---
34+ icon: i-lucide-circle-help
35+ label: Comment démarrer avec Docus ?
36+ ---
37+ La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
38+ :::::
39+
40+ :::::accordion-item{icon="i-lucide-circle-help" label="Qu'est-ce que Nuxt UI ?"}
41+ Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
42+ :::::
43+ ::::
44+ :::
45+
46+ :::tabs-item{icon="i-lucide-code" label="Code"}
47+```mdc
48+ ::accordion
49+
50+ :::accordion-item{label="Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?" icon="i-lucide-circle-help"}
51+ Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
52+ :::
53+
54+ :::accordion-item{label="Comment démarrer avec Docus ?" icon="i-lucide-circle-help"}
55+ La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
56+ :::
57+
58+ :::accordion-item{label="Qu'est-ce que Nuxt UI ?" icon="i-lucide-circle-help"}
59+ Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
60+ :::
61+ ::
62+```
63+ :::
64+::
65+
66+### `Badge`
67+
68+Utilisez du markdown dans le slot par défaut du composant `badge` pour afficher un [Badge](https://ui.nuxt.com/components/badge) dans votre contenu.
69+
70+::tabs
71+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
72+ ::::badge
73+ **v3.0.0**
74+ ::::
75+ :::
76+
77+ :::tabs-item{icon="i-lucide-code" label="Code"}
78+```mdc
79+ ::badge
80+ **v3.0.0**
81+ ::
82+```
83+ :::
84+::
85+
86+### `Callout`
87+
88+Utilisez du markdown dans le slot par défaut du composant `callout` pour ajouter un contexte visuel à votre contenu.
89+
90+Utilisez les props `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
91+
92+Vous pouvez également utiliser les raccourcis `note`, `tip`, `warning` et `caution` avec des icônes et couleurs prédéfinies.
93+
94+::tabs
95+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
96+ ::::div{.flex.flex-col.gap-4.w-full}
97+ :::::note{.w-full.my-0}
98+ Voici des informations supplémentaires pour vous.
99+ :::::
100+
101+ :::::tip{.w-full.my-0}
102+ Voici une suggestion utile.
103+ :::::
104+
105+ :::::warning{.w-full.my-0}
106+ Faites attention à cette action car elle pourrait avoir des résultats inattendus.
107+ :::::
108+
109+ :::::caution{.w-full.my-0}
110+ Cette action est irréversible.
111+ :::::
112+ ::::
113+ :::
114+
115+ :::tabs-item{icon="i-lucide-code" label="Code"}
116+```mdc
117+ ::note
118+ Voici des informations supplémentaires.
119+ ::
120+
121+ ::tip
122+ Voici une suggestion utile.
123+ ::
124+
125+ ::warning
126+ Faites attention à cette action car elle pourrait avoir des résultats inattendus.
127+ ::
128+
129+ ::caution
130+ Cette action est irréversible.
131+ ::
132+```
133+ :::
134+::
135+
136+### `Card` et `CardGroup`
137+
138+Utilisez du markdown dans le slot par défaut du composant `card` pour mettre en avant votre contenu.
139+
140+Utilisez les props `title`, `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
141+
142+Regroupez vos composants `card` avec le composant `card-group` pour les afficher en grille.
143+
144+::tabs
145+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
146+ ::::card-group{.w-full.my-0}
147+ :::::card
148+ ---
149+ icon: i-simple-icons-github
150+ target: _blank
151+ title: Tableau de bord
152+ to: https://github.com/nuxt-ui-templates/dashboard
153+ ---
154+ Un tableau de bord avec une mise en page multi-colonnes.
155+ :::::
156+
157+ :::::card
158+ ---
159+ icon: i-simple-icons-github
160+ target: _blank
161+ title: SaaS
162+ to: https://github.com/nuxt-ui-templates/saas
163+ ---
164+ Un template avec landing, pricing, docs et blog.
165+ :::::
166+
167+ :::::card
168+ ---
169+ icon: i-simple-icons-github
170+ target: _blank
171+ title: Docs
172+ to: https://github.com/nuxt-ui-templates/docs
173+ ---
174+ Une documentation avec `@nuxt/content`.
175+ :::::
176+
177+ :::::card
178+ ---
179+ icon: i-simple-icons-github
180+ target: _blank
181+ title: Landing
182+ to: https://github.com/nuxt-ui-templates/landing
183+ ---
184+ Une page d'accueil à utiliser comme point de départ.
185+ :::::
186+ ::::
187+ :::
188+
189+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
190+```mdc
191+ :::card-group
192+
193+ ::card
194+ ---
195+ title: Tableau de bord
196+ icon: i-simple-icons-github
197+ to: https://github.com/nuxt-ui-templates/dashboard
198+ target: _blank
199+ ---
200+ Un tableau de bord avec une mise en page multi-colonnes.
201+ ::
202+
203+ ::card
204+ ---
205+ title: SaaS
206+ icon: i-simple-icons-github
207+ to: https://github.com/nuxt-ui-templates/saas
208+ target: _blank
209+ ---
210+ Un template avec landing, pricing, docs et blog.
211+ ::
212+
213+ ::card
214+ ---
215+ title: Docs
216+ icon: i-simple-icons-github
217+ to: https://github.com/nuxt-ui-templates/docs
218+ target: _blank
219+ ---
220+ Une documentation avec `@nuxt/content`.
221+ ::
222+
223+ ::card
224+ ---
225+ title: Landing
226+ icon: i-simple-icons-github
227+ to: https://github.com/nuxt-ui-templates/landing
228+ target: _blank
229+ ---
230+ Une page d'accueil à utiliser comme point de départ.
231+ ::
232+
233+ :::
234+```
235+ :::
236+::
237+
238+### `Collapsible`
239+
240+Enveloppez votre contenu avec le composant `collapsible` pour afficher un [Collapsible](https://ui.nuxt.com/components/collapsible) dans votre contenu.
241+
242+::tabs
243+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
244+ ::::collapsible
245+ | Prop | Défaut | Type |
246+ | ------- | --------- | -------- |
247+ | `name` | | `string` |
248+ | `size` | `md` | `string` |
249+ | `color` | `neutral` | `string` |
250+ ::::
251+ :::
252+
253+ :::tabs-item{icon="i-lucide-code" label="Code"}
254+```mdc
255+ ::collapsible
256+
257+ | Prop | Défaut | Type |
258+ |---------|-----------|--------------------------|
259+ | `name` | | `string`{lang="ts-type"} |
260+ | `size` | `md` | `string`{lang="ts-type"} |
261+ | `color` | `neutral` | `string`{lang="ts-type"} |
262+
263+ ::
264+```
265+ :::
266+::
267+
268+### `Field` et `FieldGroup`
269+
270+Un `field` est une prop ou un paramètre à afficher dans votre contenu. Vous pouvez les regrouper avec `field-group` dans une liste.
271+
272+::tabs
273+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
274+ ::::field-group{.my-0}
275+ :::::field{name="analytics" type="boolean"}
276+ Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
277+ :::::
278+
279+ :::::field{name="blob" type="boolean"}
280+ Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
281+ :::::
282+
283+ :::::field{name="cache" type="boolean"}
284+ Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
285+ :::::
286+
287+ :::::field{name="database" type="boolean"}
288+ Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
289+ :::::
290+ ::::
291+ :::
292+
293+ :::tabs-item{icon="i-lucide-code" label="Code"}
294+```mdc
295+ ::field-group
296+ ::field{name="analytics" type="boolean"}
297+ Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
298+ ::
299+
300+ ::field{name="blob" type="boolean"}
301+ Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
302+ ::
303+
304+ ::field{name="cache" type="boolean"}
305+ Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
306+ ::
307+
308+ ::field{name="database" type="boolean"}
309+ Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
310+ ::
311+ ::
312+```
313+ :::
314+::
315+
316+### `Icon`
317+
318+Utilisez le composant `icon` pour afficher une [Icône](https://ui.nuxt.com/components/icon) dans votre contenu.
319+
320+::code-preview
321+:icon{name="i-simple-icons-nuxtdotjs"}
322+
323+#code
324+```mdc
325+:icon{name="i-simple-icons-nuxtdotjs"}
326+```
327+::
328+
329+### `Kbd`
330+
331+Utilisez le composant `kbd` pour afficher un [Kbd](https://ui.nuxt.com/components/kbd) dans votre contenu.
332+
333+::code-preview
334+#code
335+```mdc
336+:kbd{value="meta"} :kbd{value="K"}
337+```
338+::
339+
340+### `Tabs`
341+
342+Utilisez les composants `tabs` et `tabs-item` pour afficher des [Onglets](https://ui.nuxt.com/components/tabs) dans votre contenu.
343+
344+::code-preview
345+ :::tabs{.w-full}
346+ ::::tabs-item{icon="i-lucide-code" label="Code"}
347+ ```mdc
348+ ::callout
349+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
350+ ::
351+ ```
352+ ::::
353+
354+ ::::tabs-item{icon="i-lucide-eye" label="Aperçu"}
355+ :::::callout
356+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
357+ :::::
358+ ::::
359+ :::
360+
361+#code
362+````mdc
363+::tabs{.w-full}
364+ :::tabs-item{icon="i-lucide-code" label="Code"}
365+ ```mdc
366+ ::::callout
367+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
368+ ::::
369+ ```
370+ ::::
371+
372+:::tabs-item{icon="i-lucide-eye" label="Aperçu"}
373+ :::::callout
374+ Lorem velit voluptate ex reprehenderit ullamco et culpa.
375+ :::::
376+:::
377+::
378+````
379+::
380+
381+### `Steps`
382+
383+Enveloppez vos titres avec le composant Steps pour afficher une liste d'étapes.
384+
385+Utilisez la prop `level` pour définir quel titre sera utilisé pour les étapes.
386+
387+::tabs
388+ :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
389+ ::::steps{level="4"}
390+ #### Démarrer un nouveau projet
391+
392+ ```bash [Terminal]
393+ npm create nuxt@latest -- -t github:nuxt-content/docus
394+ ```
395+
396+ #### Lancer le CLI docus pour démarrer votre serveur de dev
397+
398+ ```bash [Terminal]
399+ docus dev
400+ ```
401+ ::::
402+ :::
403+
404+ :::tabs-item{icon="i-lucide-code" label="Code"}
405+````mdc
406+ ::steps{level="4"}
407+ #### Démarrer un nouveau projet
408+
409+ ```bash [Terminal]
410+ npm create nuxt@latest -- -t github:nuxt-content/docus
411+ ```
412+
413+ #### Lancer le CLI docus pour démarrer votre serveur de dev
414+
415+ ```bash [Terminal]
416+ docus dev
417+ ```
418+ ::
419+````
420+ :::
421+::
docs/content/fr/3.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1+---
2+title: Images et intégrations
3+description: Ajoutez des images, vidéos et autres éléments HTML
4+navigation:
5+ icon: i-lucide-image
6+seo:
7+ description: Ajoutez des images, vidéos et autres éléments HTML avec le thème Docus
8+ title: Images et intégrations
9+---
10+
11+## Markdown
12+
13+Affichez des images ou des vidéos en utilisant la syntaxe Markdown standard.
14+
15+### Images
16+
17+::code-preview
18+![Image Nuxt Social](https://nuxt.com/new-social.jpg)
19+
20+#code
21+```mdc
22+![Image Nuxt Social](https://nuxt.com/new-social.jpg)
23+```
24+::
25+
26+Ou avec vos images locales
27+
28+::code-preview
29+![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
30+
31+#code
32+```mdc
33+![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
34+```
35+::
36+
37+::note{to="https://image.nuxt.com/"}
38+Docus utilisera le composant `<NuxtImg>` sous le capot à la place de la balise native `img`.
39+::
40+
41+### Vidéos
42+
43+::code-preview
44+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45+
46+#code
47+```mdc
48+:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49+```
50+::
51+
52+###
docs/content/fr/4.ai/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1+title: IA
2+icon: i-lucide-sparkles
docs/content/fr/4.ai/1.assistant.md+383−0
@@ -0,0 +1,383 @@
1+---
2+title: Assistant
3+description: Ajoutez un chat propulsé par l'IA à votre documentation qui répond aux questions, cite les sources et génère des exemples de code.
4+navigation:
5+ icon: i-lucide-sparkles
6+---
7+
8+## À propos de l'Assistant
9+
10+L'assistant répond aux questions sur votre documentation via des requêtes en langage naturel. Il est intégré directement dans votre site de documentation, permettant aux utilisateurs de trouver rapidement des réponses.
11+
12+Lorsque les utilisateurs posent des questions, l'assistant :
13+
14+- **Recherche et récupère** le contenu pertinent de votre documentation en utilisant un [serveur MCP](/fr/ai/mcp).
15+- **Cite les sources** avec des liens navigables vers les pages référencées.
16+- **Génère des exemples de code** copiables pour aider les utilisateurs à implémenter les solutions.
17+
18+## Comment ça fonctionne
19+
20+L'assistant utilise une architecture multi-agents :
21+
22+1. **Agent principal** - Reçoit les questions des utilisateurs et décide quand rechercher dans la documentation
23+2. **Agent de recherche** - Utilise les outils du [serveur MCP](/fr/ai/mcp) pour trouver le contenu pertinent
24+3. **Génération de réponse** - Synthétise les informations en réponses utiles et conversationnelles
25+
26+Par défaut, l'assistant se connecte au serveur MCP intégré de votre documentation à `/mcp`, lui donnant accès à toutes vos pages sans configuration supplémentaire. Vous pouvez également vous connecter à un serveur MCP externe si nécessaire.
27+
28+## Démarrage rapide
29+
30+### 1. Installer les dépendances
31+
32+::code-group
33+
34+```bash [npm]
35+npm install ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
36+```
37+
38+```bash [pnpm]
39+pnpm add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
40+```
41+
42+```bash [yarn]
43+yarn add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
44+```
45+
46+::
47+
48+### 2. Configurer l'authentification AI Gateway
49+
50+Choisissez **une** de ces méthodes :
51+
52+**Clé API** — Créez une clé dans [Vercel AI Gateway](https://vercel.com/~/ai/api-keys) et ajoutez-la à votre environnement :
53+
54+```bash [.env]
55+AI_GATEWAY_API_KEY=votre-cle-api
56+```
57+
58+**OIDC (uniquement sur Vercel)** — `VERCEL_OIDC_TOKEN` est injecté automatiquement. Rien à ajouter en production. En local, lancez `vercel env pull` sur un [projet lié](https://vercel.com/docs/cli/link).
59+
60+### 3. Déployer
61+
62+Déployez votre site — l'assistant est disponible dès que l'authentification est configurée.
63+
64+## Utiliser l'Assistant
65+
66+Les utilisateurs peuvent interagir avec l'assistant de plusieurs façons :
67+
68+### Input flottant
69+
70+Sur les pages de documentation, un champ de saisie flottant apparaît en bas de l'écran. Les utilisateurs peuvent taper leurs questions directement et appuyer sur Entrée pour obtenir des réponses.
71+
72+::tip
73+Utilisez le raccourci clavier :kbd{value="meta"} :kbd{value="I"} pour activer l'input flottant.
74+::
75+
76+### Expliquer avec l'IA
77+
78+Chaque page de documentation inclut un bouton **Explain with AI** dans la barre latérale de la table des matières. Cliquer sur ce bouton ouvre l'assistant avec la page actuelle comme contexte.
79+
80+### Chat en panneau latéral
81+
82+Lorsqu'une conversation commence, un panneau coulissant s'ouvre sur le côté droit de l'écran. Ce panneau affiche l'historique de la conversation et permet aux utilisateurs de continuer à poser des questions.
83+
84+## Configuration
85+
86+Configurez l'assistant via `app.config.ts` :
87+
88+```ts [app.config.ts]
89+export default defineAppConfig({
90+ assistant: {
91+ // Afficher l'input flottant sur les pages de documentation
92+ floatingInput: true,
93+
94+ // Afficher le bouton "Expliquer avec l'IA" dans la barre latérale
95+ explainWithAi: true,
96+
97+ // Questions FAQ à afficher quand le chat est vide
98+ faqQuestions: [],
99+
100+ // Raccourcis clavier
101+ shortcuts: {
102+ focusInput: 'meta_i'
103+ },
104+
105+ // Icônes personnalisées
106+ icons: {
107+ trigger: 'i-lucide-sparkles',
108+ explain: 'i-lucide-brain'
109+ }
110+ }
111+})
112+```
113+
114+### Questions FAQ
115+
116+Affichez des questions suggérées quand le chat est vide. Cela aide les utilisateurs à découvrir ce qu'ils peuvent demander.
117+
118+#### Format simple
119+
120+```ts [app.config.ts]
121+export default defineAppConfig({
122+ assistant: {
123+ faqQuestions: [
124+ 'Comment installer Docus ?',
125+ 'Comment personnaliser le thème ?',
126+ 'Comment ajouter des composants à mes pages ?'
127+ ]
128+ }
129+})
130+```
131+
132+#### Format avec catégories
133+
134+Organisez les questions en catégories :
135+
136+```ts [app.config.ts]
137+export default defineAppConfig({
138+ assistant: {
139+ faqQuestions: [
140+ {
141+ category: 'Démarrage',
142+ items: [
143+ 'Comment installer Docus ?',
144+ 'Quelle est la structure du projet ?'
145+ ]
146+ },
147+ {
148+ category: 'Personnalisation',
149+ items: [
150+ 'Comment changer les couleurs du thème ?',
151+ 'Comment ajouter un logo personnalisé ?'
152+ ]
153+ }
154+ ]
155+ }
156+})
157+```
158+
159+#### Format multilingue
160+
161+Pour une documentation multilingue, fournissez les questions FAQ par locale :
162+
163+```ts [app.config.ts]
164+export default defineAppConfig({
165+ assistant: {
166+ faqQuestions: {
167+ en: [
168+ { category: 'Getting Started', items: ['How do I install?'] }
169+ ],
170+ fr: [
171+ { category: 'Démarrage', items: ['Comment installer ?'] }
172+ ]
173+ }
174+ }
175+})
176+```
177+
178+## Raccourcis clavier
179+
180+Configurez le raccourci clavier pour activer l'input flottant :
181+
182+```ts [app.config.ts]
183+export default defineAppConfig({
184+ assistant: {
185+ shortcuts: {
186+ // Par défaut : 'meta_i' (Cmd+I sur Mac, Ctrl+I sur Windows)
187+ focusInput: 'meta_k' // Changer pour Cmd/Ctrl+K
188+ }
189+ }
190+})
191+```
192+
193+Le format de raccourci utilise des underscores pour séparer les touches. Exemples courants :
194+
195+- `meta_i` - Cmd+I (Mac) / Ctrl+I (Windows)
196+- `meta_k` - Cmd+K (Mac) / Ctrl+K (Windows)
197+- `ctrl_shift_p` - Ctrl+Shift+P
198+
199+## Icônes personnalisées
200+
201+Personnalisez les icônes utilisées par l'assistant :
202+
203+```ts [app.config.ts]
204+export default defineAppConfig({
205+ assistant: {
206+ icons: {
207+ // Icône pour le bouton déclencheur et l'en-tête du panneau
208+ trigger: 'i-lucide-bot',
209+
210+ // Icône pour le bouton "Expliquer avec l'IA"
211+ explain: 'i-lucide-lightbulb'
212+ }
213+ }
214+})
215+```
216+
217+Les icônes utilisent le format [Iconify](https://iconify.design/) (ex: `i-lucide-sparkles`, `i-heroicons-sparkles`).
218+
219+## Internationalisation
220+
221+Tous les textes de l'interface sont automatiquement traduits selon la locale de l'utilisateur. Docus inclut des traductions intégrées pour l'anglais et le français.
222+
223+Les textes suivants sont traduits :
224+
225+- Titre et placeholder du panneau
226+- Textes des infobulles
227+- Libellés des boutons ("Effacer le chat", "Fermer", "Expliquer avec l'IA")
228+- Messages de statut ("Réflexion...", "Le chat est effacé au rechargement")
229+
230+## Désactiver des fonctionnalités
231+
232+### Désactiver l'input flottant
233+
234+Masquez l'input flottant en bas des pages de documentation :
235+
236+```ts [app.config.ts]
237+export default defineAppConfig({
238+ assistant: {
239+ floatingInput: false
240+ }
241+})
242+```
243+
244+### Désactiver "Explain with AI"
245+
246+Masquez le bouton "Explain with AI" dans la barre latérale de documentation :
247+
248+```ts [app.config.ts]
249+export default defineAppConfig({
250+ assistant: {
251+ explainWithAi: false
252+ }
253+})
254+```
255+
256+### Désactiver l'assistant entièrement
257+
258+L'assistant est désactivé quand aucune authentification n'est disponible. Pour le désactiver explicitement, supprimez `AI_GATEWAY_API_KEY` de votre environnement :
259+
260+```bash [.env]
261+# AI_GATEWAY_API_KEY=votre-cle-api
262+```
263+
264+Sur Vercel avec OIDC, supprimez la variable d'environnement système auto-injectée dans les paramètres de votre projet.
265+
266+## Configuration avancée
267+
268+Configurez les options avancées dans `nuxt.config.ts` sous `docus.assistant`.
269+
270+```ts [nuxt.config.ts]
271+export default defineNuxtConfig({
272+ docus: {
273+ assistant: {
274+ // Modèle IA (utilise le format AI SDK Gateway)
275+ model: 'google/gemini-3-flash',
276+
277+ // Serveur MCP (chemin ou URL)
278+ mcpServer: '/mcp',
279+
280+ // Chemin de l'endpoint API
281+ apiPath: '/__docus__/assistant'
282+ }
283+ }
284+})
285+```
286+
287+### Configuration du serveur MCP
288+
289+L'assistant utilise un serveur MCP pour accéder à votre documentation. Vous avez deux options :
290+
291+#### Utiliser le serveur MCP intégré (par défaut)
292+
293+Par défaut, l'assistant utilise le serveur MCP intégré de Docus à `/mcp` :
294+
295+```ts [nuxt.config.ts]
296+export default defineNuxtConfig({
297+ docus: {
298+ assistant: {
299+ mcpServer: '/mcp'
300+ }
301+ }
302+})
303+```
304+
305+::warning
306+Assurez-vous que le serveur MCP est activé dans votre configuration. Si vous avez personnalisé le chemin MCP, mettez à jour `mcpServer` en conséquence.
307+::
308+
309+#### Utiliser un serveur MCP externe
310+
311+Connectez-vous à n'importe quel serveur MCP externe en fournissant une URL complète :
312+
313+```ts [nuxt.config.ts]
314+export default defineNuxtConfig({
315+ docus: {
316+ assistant: {
317+ mcpServer: 'https://autre-docs.exemple.com/mcp'
318+ }
319+ }
320+})
321+```
322+
323+C'est utile lorsque vous voulez que l'assistant réponde aux questions d'une autre source de documentation, ou lors de la connexion à une base de connaissances centralisée.
324+
325+### Modèle IA personnalisé
326+
327+L'assistant utilise `google/gemini-3-flash` par défaut. Vous pouvez le changer pour n'importe quel modèle supporté par AI SDK Gateway :
328+
329+```ts [nuxt.config.ts]
330+export default defineNuxtConfig({
331+ docus: {
332+ assistant: {
333+ model: 'anthropic/claude-opus-4.5'
334+ }
335+ }
336+})
337+```
338+
339+### Nom du site dans les réponses
340+
341+L'assistant utilise automatiquement le nom de votre site dans ses réponses. Configurez le nom du site dans `nuxt.config.ts` :
342+
343+```ts [nuxt.config.ts]
344+export default defineNuxtConfig({
345+ site: {
346+ name: 'Ma Documentation'
347+ }
348+})
349+```
350+
351+Cela permet à l'assistant de répondre en tant qu'"assistant de Ma Documentation" et de parler avec autorité sur votre produit spécifique.
352+
353+## Accès programmatique
354+
355+Utilisez le composable `useAssistant` pour contrôler l'assistant programmatiquement :
356+
357+```vue
358+<script setup>
359+const { isEnabled, isOpen, open, close, toggle } = useAssistant()
360+
361+function askQuestion() {
362+ // Ouvrir l'assistant avec une question pré-remplie
363+ open('Comment configurer le thème ?', true)
364+}
365+</script>
366+
367+<template>
368+ <UButton v-if="isEnabled" @click="askQuestion">
369+ Demander sur les thèmes
370+ </UButton>
371+</template>
372+```
373+
374+### API du composable
375+
376+| Propriété | Type | Description |
377+| -------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------- |
378+| `isEnabled` | `ComputedRef<boolean>` | Si l'assistant est activé (`AI_GATEWAY_API_KEY` ou `VERCEL_OIDC_TOKEN` au build) |
379+| `isOpen` | `Ref<boolean>` | Si le panneau est ouvert |
380+| `open(message?, clearPrevious?)` | `Function` | Ouvrir l'assistant, optionnellement avec un message |
381+| `close()` | `Function` | Fermer le panneau de l'assistant |
382+| `toggle()` | `Function` | Basculer l'assistant ouvert/fermé |
383+| `clearMessages()` | `Function` | Effacer l'historique de conversation |
docs/content/fr/4.ai/2.mcp.md+273−0
@@ -0,0 +1,273 @@
1+---
2+title: Serveur MCP
3+description: Connectez votre documentation aux outils IA avec un serveur MCP natif.
4+navigation:
5+ icon: i-lucide-cpu
6+---
7+
8+## À Propos des Serveurs MCP
9+
10+Le [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) est un protocole ouvert qui crée des connexions standardisées entre les applications IA et les services externes, comme la documentation.
11+
12+Chaque instance Docus inclut un serveur MCP intégré, préparant votre contenu pour l'écosystème IA plus large où n'importe quel client MCP (comme Claude, Cursor, VS Code, et autres) peut se connecter à votre documentation.
13+
14+### Comment Fonctionnent les Serveurs MCP
15+
16+Lorsqu'un serveur MCP est connecté à un outil IA, le LLM peut décider d'utiliser les outils de votre documentation pendant la génération de réponse :
17+
18+- Le LLM peut **rechercher proactivement dans votre documentation** pendant qu'il génère une réponse, pas seulement quand on lui demande explicitement.
19+- Le LLM détermine **quand utiliser les outils** en fonction du contexte de la conversation et de la pertinence de votre documentation.
20+- Chaque appel d'outil se produit **pendant le processus de génération**, permettant au LLM d'incorporer des informations en temps réel de votre documentation dans sa réponse.
21+
22+Par exemple, si un utilisateur pose une question de code et que le LLM détermine que votre documentation est pertinente, il peut rechercher dans vos docs et inclure ces informations dans la réponse sans que l'utilisateur demande explicitement votre documentation.
23+
24+## Accéder à Votre Serveur MCP
25+
26+Votre serveur MCP est automatiquement disponible au chemin `/mcp` de l'URL de votre documentation.
27+
28+::note
29+Par exemple, si votre documentation est hébergée à `https://docs.example.com`, l'URL de votre serveur MCP est `https://docs.example.com/mcp`.
30+::
31+
32+## Désactiver le Serveur MCP
33+
34+Si vous souhaitez désactiver le serveur MCP, vous pouvez le faire dans votre `nuxt.config.ts` :
35+
36+```ts [nuxt.config.ts]
37+export default defineNuxtConfig({
38+ mcp: {
39+ enabled: false,
40+ },
41+})
42+```
43+
44+## Outils Intégrés
45+
46+Docus fournit deux outils par défaut qui permettent à n'importe quel LLM de découvrir et lire votre documentation :
47+
48+### `list-pages`
49+
50+Liste toutes les pages de documentation avec leurs titres, chemins et descriptions. Les assistants IA doivent appeler cet outil en premier pour découvrir le contenu disponible.
51+
52+| Paramètre | Type | Description |
53+| --------- | ------------------ | ---------------------------- |
54+| `locale` | string (optionnel) | Filtrer les pages par locale |
55+
56+### `get-page`
57+
58+Récupère le contenu markdown complet d'une page de documentation spécifique.
59+
60+| Paramètre | Type | Description |
61+| --------- | --------------- | ------------------------------------------------------------- |
62+| `path` | string (requis) | Le chemin de la page (ex: `/fr/getting-started/installation`) |
63+
64+## Configuration
65+
66+Le serveur MCP Docus utilise le transport HTTP et peut être installé dans différents assistants IA.
67+
68+### Claude Code
69+
70+Ajoutez le serveur en utilisant la commande CLI :
71+
72+```bash
73+claude mcp add --transport http my-docs https://docs.example.com/mcp
74+```
75+
76+### Cursor
77+
78+:install-button{ide="cursor" label="Installer dans Cursor" url="https://docs.example.com/mcp"}
79+
80+Ou créez/modifiez manuellement `.cursor/mcp.json` à la racine de votre projet :
81+
82+```json [.cursor/mcp.json]
83+{
84+ "mcpServers": {
85+ "my-docs": {
86+ "type": "http",
87+ "url": "https://docs.example.com/mcp"
88+ }
89+ }
90+}
91+```
92+
93+### Visual Studio Code
94+
95+Assurez-vous d'avoir les extensions GitHub Copilot et GitHub Copilot Chat installées.
96+
97+:install-button{ide="vscode" label="Installer dans VS Code" url="https://docs.example.com/mcp"}
98+
99+Ou créez/modifiez manuellement le fichier `.vscode/mcp.json` :
100+
101+```json [.vscode/mcp.json]
102+{
103+ "servers": {
104+ "my-docs": {
105+ "type": "http",
106+ "url": "https://docs.example.com/mcp"
107+ }
108+ }
109+}
110+```
111+
112+### Windsurf
113+
114+1. Ouvrez Windsurf et naviguez vers **Settings** > **Windsurf Settings** > **Cascade**
115+2. Cliquez sur le bouton **Manage MCPs**, puis sélectionnez l'option **View raw config**
116+3. Ajoutez la configuration suivante :
117+
118+```json [.codeium/windsurf/mcp_config.json]
119+{
120+ "mcpServers": {
121+ "my-docs": {
122+ "type": "http",
123+ "url": "https://docs.example.com/mcp"
124+ }
125+ }
126+}
127+```
128+
129+### Zed
130+
131+1. Ouvrez Zed et allez dans **Settings** > **Open Settings**
132+2. Naviguez vers le fichier de paramètres JSON
133+3. Ajoutez la configuration de serveur de contexte suivante :
134+
135+```json [.config/zed/settings.json]
136+{
137+ "context_servers": {
138+ "my-docs": {
139+ "source": "custom",
140+ "command": "npx",
141+ "args": ["mcp-remote", "https://docs.example.com/mcp"],
142+ "env": {}
143+ }
144+ }
145+}
146+```
147+
148+## Personnalisation
149+
150+Puisque Docus utilise le module `@nuxtjs/mcp-toolkit`, vous pouvez étendre le serveur MCP avec des outils, ressources, prompts et handlers personnalisés.
151+
152+### Ajouter des Outils Personnalisés
153+
154+Créez de nouveaux outils dans le répertoire `server/mcp/tools/` :
155+
156+```ts [server/mcp/tools/search.ts]
157+import { z } from 'zod'
158+
159+export default defineMcpTool({
160+ description: 'Rechercher dans la documentation par mot-clé',
161+ inputSchema: {
162+ query: z.string().describe('La requête de recherche'),
163+ },
164+ handler: async ({ query }) => {
165+ const results = await searchDocs(query)
166+ return {
167+ content: [{ type: 'text', text: JSON.stringify(results) }],
168+ }
169+ },
170+})
171+```
172+
173+### Ajouter des Ressources
174+
175+Exposez des fichiers ou sources de données comme ressources MCP dans le répertoire `server/mcp/resources/`. La façon la plus simple est d'utiliser la propriété `file` :
176+
177+```ts [server/mcp/resources/changelog.ts]
178+export default defineMcpResource({
179+ file: 'CHANGELOG.md',
180+ metadata: {
181+ description: 'Journal des modifications du projet',
182+ },
183+})
184+```
185+
186+Cela gère automatiquement la génération d'URI, la détection du type MIME et la lecture du fichier.
187+
188+### Ajouter des Prompts
189+
190+Créez des prompts réutilisables pour les assistants IA dans le répertoire `server/mcp/prompts/` :
191+
192+```ts [server/mcp/prompts/migration-help.ts]
193+import { z } from 'zod'
194+
195+export default defineMcpPrompt({
196+ description: 'Obtenir de l\'aide pour migrer entre versions',
197+ inputSchema: {
198+ fromVersion: z.string().describe('Version actuelle'),
199+ toVersion: z.string().describe('Version cible'),
200+ },
201+ handler: async ({ fromVersion, toVersion }) => {
202+ return {
203+ messages: [{
204+ role: 'user',
205+ content: {
206+ type: 'text',
207+ text: `Aidez-moi à migrer de la version ${fromVersion} vers ${toVersion}. Quels sont les changements breaking et les étapes à suivre ?`,
208+ },
209+ }],
210+ }
211+ },
212+})
213+```
214+
215+### Ajouter des Handlers Personnalisés
216+
217+Les handlers permettent de créer des endpoints MCP séparés avec leurs propres outils, ressources et prompts. C'est utile pour exposer différentes capacités sur différentes routes.
218+
219+Par exemple, vous pourriez avoir :
220+
221+- `/mcp` - Serveur MCP principal de documentation
222+- `/mcp/migration` - Serveur MCP dédié à l'assistance à la migration
223+
224+```ts [server/mcp/migration.ts]
225+import { z } from 'zod'
226+
227+const migrationTool = defineMcpTool({
228+ name: 'migrate-v3-to-v4',
229+ description: 'Migrer du code de la version 3 vers la version 4',
230+ inputSchema: {
231+ code: z.string().describe('Le code à migrer'),
232+ },
233+ handler: async ({ code }) => {
234+ // Logique de migration
235+ return {
236+ content: [{ type: 'text', text: migratedCode }],
237+ }
238+ },
239+})
240+
241+export default defineMcpHandler({
242+ route: '/mcp/migration',
243+ name: 'Assistant Migration',
244+ version: '1.0.0',
245+ tools: [migrationTool],
246+})
247+```
248+
249+### Surcharger les Outils Intégrés
250+
251+Vous pouvez remplacer les outils par défaut `list-pages` ou `get-page` en créant un outil avec le même nom dans votre projet :
252+
253+```ts [server/mcp/tools/list-pages.ts]
254+import { z } from 'zod'
255+
256+export default defineMcpTool({
257+ description: 'Implémentation personnalisée de list pages',
258+ inputSchema: {
259+ locale: z.string().optional(),
260+ category: z.string().optional(),
261+ },
262+ handler: async ({ locale, category }) => {
263+ const pages = await getCustomPageList(locale, category)
264+ return {
265+ content: [{ type: 'text', text: JSON.stringify(pages) }],
266+ }
267+ },
268+})
269+```
270+
271+::tip{to="https://mcp-toolkit.nuxt.dev/"}
272+Consultez la documentation MCP Toolkit pour plus d'informations sur les outils, ressources, prompts, handlers et la configuration avancée.
273+::
docs/content/fr/4.ai/3.skills.md+203−0
@@ -0,0 +1,203 @@
1+---
2+title: Agent Skills
3+description: Publiez des skills depuis votre site de documentation pour que les outils d'IA puissent les découvrir et les installer automatiquement.
4+navigation:
5+ icon: i-lucide-wand-sparkles
6+---
7+
8+## À propos des Agent Skills
9+
10+Docus découvre automatiquement les skills dans votre dossier `skills/` et les sert à `/.well-known/skills/`, en suivant la [RFC Agent Skills Discovery de Cloudflare](https://github.com/cloudflare/agent-skills-discovery-rfc). Vos skills sont ainsi installables depuis n'importe quelle URL de documentation avec une seule commande.
11+
12+Les [Agent Skills](https://agentskills.io/) sont un format ouvert et léger pour donner aux agents IA des connaissances spécialisées et des workflows. Un skill est un fichier `SKILL.md` avec un frontmatter YAML qui décrit ce que les agents peuvent faire avec votre produit, accompagné de fichiers de référence optionnels.
13+
14+::note{to="https://docus.dev/.well-known/skills/index.json"}
15+Voir les skills publiés sur ce site de documentation.
16+::
17+
18+## Démarrage rapide
19+
20+::steps
21+### Créer un skill
22+
23+Ajoutez un dossier `skills/` à la racine de votre projet Docus avec un sous-dossier contenant un fichier `SKILL.md` :
24+
25+```bash
26+my-docs/
27+└── skills/
28+ └── my-product/
29+ └── SKILL.md
30+```
31+
32+### Écrire votre SKILL.md
33+
34+Suivez la [spécification agentskills.io](https://agentskills.io/specification). Le seul champ frontmatter obligatoire est `description` — `name` prend par défaut le nom du dossier s'il est omis :
35+
36+```md [skills/my-product/SKILL.md]
37+---
38+name: my-product
39+description: Build and deploy apps with My Product. Use when creating projects, configuring settings, or troubleshooting issues.
40+---
41+
42+# My Product
43+
44+## Getting Started
45+
46+Create a new project:
47+
48+\`\`\`bash
49+npx create-my-product my-app
50+\`\`\`
51+```
52+
53+### Déployer
54+
55+Déployez votre documentation. Docus sert automatiquement vos skills à `/.well-known/skills/`.
56+
57+### Partager avec vos utilisateurs
58+
59+Les utilisateurs peuvent installer vos skills avec une seule commande :
60+
61+```bash
62+npx skills add https://your-docs-domain.com
63+```
64+
65+Le CLI détecte les agents installés (Claude Code, Cursor, Windsurf, et autres) et installe le skill pour chacun.
66+::
67+
68+## Structure du dossier
69+
70+Un dossier de skill peut contenir des fichiers de support en plus du `SKILL.md` :
71+
72+```bash
73+skills/
74+└── my-product/
75+ ├── SKILL.md # Requis : instructions + métadonnées
76+ ├── references/ # Optionnel : documentation additionnelle
77+ │ ├── api.md
78+ │ └── configuration.md
79+ ├── scripts/ # Optionnel : code exécutable
80+ │ └── setup.sh
81+ └── assets/ # Optionnel : templates, schémas
82+ └── config.template.yaml
83+```
84+
85+Tous les fichiers sont automatiquement listés dans le catalogue `index.json` et servis à leurs chemins respectifs sous `/.well-known/skills/{skill-name}/`.
86+
87+::tip
88+Gardez votre `SKILL.md` principal sous 500 lignes. Déplacez le matériel de référence détaillé dans des fichiers séparés dans `references/` — les agents les chargent à la demande, donc des fichiers plus petits signifient moins d'utilisation de contexte.
89+::
90+
91+## Configuration
92+
93+Par défaut, Docus cherche les skills dans le dossier `skills/` à la racine de votre projet. Vous pouvez modifier cela avec `docus.skills.dir` dans votre `nuxt.config.ts` :
94+
95+```ts [nuxt.config.ts]
96+export default defineNuxtConfig({
97+ docus: {
98+ skills: {
99+ dir: 'agent-skills'
100+ }
101+ }
102+})
103+```
104+
105+## Exigences pour les noms
106+
107+Les noms de skills doivent suivre la [spécification de nommage Agent Skills](https://agentskills.io/specification#name-field) :
108+
109+- 1-64 caractères
110+- Lettres minuscules, chiffres et tirets uniquement (`a-z`, `0-9`, `-`)
111+- Ne doit pas commencer ou finir par un tiret
112+- Ne doit pas contenir de tirets consécutifs (`--`)
113+- Le champ `name` dans le frontmatter doit correspondre au nom du dossier parent
114+
115+::note
116+Les skills qui échouent à la validation sont ignorés — vérifiez la sortie de votre build pour les avertissements.
117+::
118+
119+## Skills multiples
120+
121+Vous pouvez publier plusieurs skills depuis un seul site de documentation :
122+
123+```bash
124+skills/
125+├── my-product/
126+│ └── SKILL.md
127+├── create-project/
128+│ ├── SKILL.md
129+│ └── references/
130+│ └── templates.md
131+└── migration-guide/
132+ └── SKILL.md
133+```
134+
135+Tous les skills apparaissent dans le catalogue `index.json` et sont installables indépendamment.
136+
137+## Prévisualisation et versioning
138+
139+Comme les skills vivent dans votre dépôt aux côtés de votre documentation, ils bénéficient de votre workflow Git existant :
140+
141+- **Previews de branches** : Testez les modifications de skills sur des déploiements de preview avant de merger. Sur Vercel, chaque pull request obtient une URL de preview où vous pouvez vérifier que vos skills fonctionnent correctement :
142+
143+```bash
144+npx skills add https://my-docs-git-feat-new-skill.vercel.app
145+```
146+
147+- **Contrôle de version** : Suivez les changements de skills avec l'historique Git, reviewez les diffs dans les pull requests, et revenez en arrière si nécessaire.
148+- **CI/CD** : Les skills sont build et déployés automatiquement avec votre documentation — pas d'étape de publication séparée.
149+
150+::tip
151+Utilisez les URLs de preview pour tester les skills avec vos outils d'IA avant de passer en production. Cela garantit que les instructions de vos skills fonctionnent correctement avec de vrais agents.
152+::
153+
154+## Fonctionnement de la découverte
155+
156+Cette fonctionnalité implémente la [RFC Agent Skills Discovery de Cloudflare](https://github.com/cloudflare/agent-skills-discovery-rfc), qui étend la [RFC 8615](https://datatracker.ietf.org/doc/html/rfc8615) (le même standard `.well-known` derrière la validation de certificats ACME et `security.txt`).
157+
158+Docus scanne votre dossier `skills/` au moment du build et génère deux types d'endpoints :
159+
160+### Index de découverte
161+
162+```
163+GET /.well-known/skills/index.json
164+```
165+
166+Retourne un catalogue JSON listant tous les skills disponibles avec leurs descriptions et fichiers :
167+
168+```json
169+{
170+ "skills": [
171+ {
172+ "name": "my-product",
173+ "description": "Build and deploy apps with My Product.",
174+ "files": ["SKILL.md", "references/api.md"]
175+ }
176+ ]
177+}
178+```
179+
180+### Fichiers de skills
181+
182+```
183+GET /.well-known/skills/{skill-name}/SKILL.md
184+GET /.well-known/skills/{skill-name}/references/api.md
185+```
186+
187+Les fichiers individuels sont servis avec les types de contenu appropriés (`text/markdown` pour les `.md`, `application/json` pour les `.json`, etc.).
188+
189+## Comparaison avec llms.txt
190+
191+`llms.txt` et les Agent Skills aident les outils d'IA à travailler avec votre documentation, mais ils servent des objectifs différents :
192+
193+| | llms.txt | Agent Skills |
194+|---|---|---|
195+| **Objectif** | Répertoire de toutes les pages de documentation | Résumé des capacités avec des instructions actionnables |
196+| **Contenu** | Titres, descriptions et liens des pages | Workflows étape par étape, exemples de code, contraintes |
197+| **Chargé** | Au moment de la découverte | À la demande, quand le skill est activé |
198+| **Format** | Texte brut avec des liens | Markdown avec frontmatter YAML |
199+| **Idéal pour** | Aider les agents à trouver de l'information | Apprendre aux agents comment utiliser votre produit |
200+
201+::tip
202+Utilisez les deux ensemble : `llms.txt` indique aux agents où trouver l'information, tandis que les skills leur indiquent ce qu'ils peuvent accomplir et comment.
203+::
docs/content/fr/4.ai/4.llms.md+125−0
@@ -0,0 +1,125 @@
1+---
2+title: Intégration LLMs
3+description: Docus génère des fichiers de contenu prêts pour l'IA grâce au module Nuxt LLMs
4+navigation:
5+ icon: i-lucide-message-circle-code
6+---
7+
8+Docus intègre `nuxt-llms` par défaut pour préparer votre contenu aux Large Language Models (LLMs). Toutes vos pages de documentation sont injectées et les fichiers `/llms.txt` et `/llms-full.txt` sont automatiquement générés et pré-rendus.
9+
10+::note{to="/llms.txt"}
11+Consultez le fichier `/llms.txt` généré pour la documentation Docus elle-même.
12+::
13+
14+## Valeurs par défaut
15+
16+Voici les valeurs par défaut utilisées pour générer le fichier `/llms.txt` :
17+
18+- `domain` → calculé en fonction de votre plateforme de déploiement (ou via la variable d'environnement `NUXT_SITE_URL`)
19+- `title` → extrait de votre `package.json`
20+- `description` → extrait de votre `package.json`
21+- `full.title` → extrait de votre `package.json`
22+- `full.description` → extrait de votre `package.json`
23+
24+## Personnalisation
25+
26+Vous pouvez surcharger vos données LLMs depuis le `nuxt.config.ts` :
27+
28+```ts [nuxt.config.ts]
29+export default defineNuxtConfig({
30+ llms: {
31+ domain: 'https://votre-site.com',
32+ title: 'Nom de votre site',
33+ description: 'Une brève description de votre site',
34+ full: {
35+ title: 'Nom de votre site',
36+ description: 'Une brève description de votre site',
37+ },
38+ },
39+})
40+```
41+
42+## Accès au Markdown brut
43+
44+Lorsque `nuxt-llms` est activé, Docus expose également un endpoint markdown brut permettant aux agents IA de récupérer les fichiers source prêts pour les LLMs sans passer par le pipeline de rendu complet. Cela réduit l'utilisation de tokens et améliore la vitesse de réponse pour les outils IA consommant votre documentation.
45+
46+### Fonctionnement
47+
48+- **Endpoint** : `/raw/<chemin-contenu>.md` — utilisez le même chemin que l'URL de la page, supprimez le `/index` final et conservez l'extension `.md`
49+- **Content-Type** : `text/markdown; charset=utf-8`
50+- **Enrichissement automatique** : si le document demandé n'a pas de titre ou de description de premier niveau, la route ajoute automatiquement le titre et la description au début du corps markdown
51+- **Intégration LLMs.txt** : les liens des documents dans `llms.txt` sont automatiquement réécrits vers l'endpoint `/raw/...md`, afin que les agents récupèrent du markdown compact au lieu du HTML complet
52+
53+::note{to="/raw/fr/ai/llms.md"}
54+Essayez d'accéder à la version Markdown brute de cette page.
55+::
56+
57+### Configuration
58+
59+Vous pouvez personnaliser le comportement du markdown brut depuis votre `nuxt.config.ts` :
60+
61+```ts [nuxt.config.ts]
62+export default defineNuxtConfig({
63+ llms: {
64+ contentRawMarkdown: {
65+ // Empêcher l'exposition de certaines collections de pages
66+ excludeCollections: ['blog'],
67+ // Conserver les liens llms.txt pointant vers les pages rendues plutôt que le markdown brut
68+ rewriteLLMSTxt: false,
69+ },
70+ },
71+})
72+```
73+
74+Pour désactiver complètement l'accès au markdown brut :
75+
76+```ts [nuxt.config.ts]
77+export default defineNuxtConfig({
78+ llms: {
79+ contentRawMarkdown: false,
80+ },
81+})
82+```
83+
84+## Redirection Markdown
85+
86+::note
87+Cette fonctionnalité n'est disponible que lorsque Docus est déployé sur Vercel. Nous pourrons la rendre agnostique une fois que Nitro v3 prendra en charge les réécritures globales pour plusieurs fournisseurs.
88+::
89+
90+Lorsqu'il est déployé sur Vercel, Docus configure automatiquement un routage intelligent pour servir du contenu markdown aux agents IA et aux outils en ligne de commande.
91+
92+### Pourquoi ?
93+
94+Les agents comme Claude Code utilisent les en-têtes `Accept: text/markdown` par défaut, retourner du Markdown brut permet d'économiser beaucoup de transfert de données et de tokens dans le processus.
95+
96+### Comment ?
97+
98+Docus détecte les requêtes provenant d'agents IA et d'outils en ligne de commande à l'aide des en-têtes HTTP :
99+
100+- **En-tête Accept** : Les requêtes avec `Accept: text/markdown` sont automatiquement redirigées
101+- **Détection du user-agent** : Les requêtes `curl` en tant qu'agents sont automatiquement redirigées
102+
103+### Règles de redirection
104+
105+- **Chemin racine** : `/` → `/llms.txt`
106+- **Pages de documentation** : `/{chemin}` → `/raw/{chemin}.md`
107+
108+### Exemple d'utilisation
109+
110+```bash
111+# Obtenir llms.txt depuis la page d'accueil
112+curl -H "Accept: text/markdown" https://docus.dev/
113+
114+# Obtenir llms.txt depuis la page d'accueil localisée
115+curl -H "Accept: text/markdown" https://docus.dev/fr
116+
117+# Obtenir le markdown brut d'une page de documentation
118+curl -H "Accept: text/markdown" https://docus.dev/fr/ai/llms
119+```
120+
121+Toutes ces commandes retourneront du contenu markdown au lieu de HTML.
122+
123+::tip{to="https://github.com/nuxt-content/nuxt-llms"}
124+Consultez la documentation nuxt-llms pour plus d'informations sur le module.
125+::
docs/content/fr/index.md+363−0
@@ -0,0 +1,363 @@
1+---
2+seo:
3+ title: Rédigez votre documentation en Markdown
4+ description: Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. Docus intègre le meilleur de l'écosystème Nuxt.
5+---
6+
7+::u-page-hero
8+#title
9+Créez votre documentation en Markdown
10+
11+#description
12+Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. :br Docus intègre le meilleur de l’écosystème Nuxt.
13+
14+#links
15+ :::u-button
16+ ---
17+ color: neutral
18+ size: xl
19+ to: /fr/getting-started/installation
20+ trailing-icon: i-lucide-arrow-right
21+ ---
22+ Commencer
23+ :::
24+
25+ :::u-button
26+ ---
27+ color: neutral
28+ icon: simple-icons-github
29+ size: xl
30+ to: https://github.com/nuxt-content/docus
31+ variant: outline
32+ ---
33+ Voir sur GitHub
34+ :::
35+
36+#headline
37+ :::u-button
38+ ---
39+ size: sm
40+ to: https://github.com/nuxt-content/docus/releases/tag/v5.0.0
41+ variant: outline
42+ ---
43+ Docus v5 →
44+ :::
45+::
46+
47+::u-page-section
48+ :::u-page-grid
49+ ::::u-page-card
50+ ---
51+ spotlight: true
52+ class: group col-span-2 lg:col-span-1
53+ target: _blank
54+ to: https://nuxt.com
55+ ---
56+ :floating-nuxt
57+
58+ #title
59+ Construit avec [Nuxt](https://nuxt.com)
60+
61+ #description
62+ Optimisé par votre meta framework Vue préféré. Docus vous donne tout ce dont vous avez besoin pour créer des sites rapides, performants et optimisés pour le SEO.
63+ ::::
64+
65+ ::::u-page-card
66+ ---
67+ spotlight: true
68+ class: col-span-2
69+ target: _blank
70+ to: https://ui.nuxt.com
71+ ---
72+ :::::u-color-mode-image
73+ ---
74+ height: 320
75+ width: 859
76+ alt: Magnifique visuel propulsé par UI
77+ class: w-full h-80 object-cover rounded-lg
78+ dark: /landing/dark/templates-ui-pro.webp
79+ light: /landing/light/templates-ui-pro.webp
80+ ---
81+ :::::
82+
83+ #title
84+ Stylisé par [Nuxt UI](https://ui.nuxt.com)
85+
86+ #description
87+ Sexy, minimaliste et personnalisable. Docus intègre Nuxt UI pour vous offrir la meilleure expérience pour écrire une documentation sans boilerplate, concentrez-vous simplement sur votre contenu.
88+ ::::
89+
90+ ::::u-page-card
91+ ---
92+ spotlight: true
93+ class: col-span-2
94+ target: _blank
95+ ---
96+ :::::tabs
97+ ::::::tabs-item{.mt-5 icon="i-lucide-eye" label="Aperçu"}
98+ :::::::div{.flex.flex-col.gap-4}
99+ ::::::::note{.my-0}
100+ Voici des informations supplémentaires pour vous.
101+ ::::::::
102+
103+ ::::::::tip{.my-0}
104+ Voici une suggestion utile.
105+ ::::::::
106+
107+ ::::::::warning{.my-0}
108+ Faites attention à cette action car elle pourrait avoir des résultats inattendus.
109+ ::::::::
110+
111+ ::::::::caution{.my-0}
112+ Cette action est irréversible.
113+ ::::::::
114+ :::::::
115+ ::::::
116+
117+ ::::::tabs-item
118+ ---
119+ class: mt-5 mb-2 text-xs overflow-x-auto
120+ icon: i-lucide-code
121+ label: Code
122+ ---
123+```mdc
124+::note
125+Voici des informations supplémentaires.
126+::
127+
128+::tip
129+Voici une suggestion utile.
130+::
131+
132+::warning
133+Faites attention à cette action car elle pourrait avoir des résultats inattendus.
134+::
135+
136+::caution
137+Cette action est irréversible.
138+::
139+```
140+ ::::::
141+ :::::
142+
143+ #title
144+ Markdown amélioré par [Nuxt Content](https://content.nuxt.com)
145+
146+ #description
147+ La seule chose dont vous devez vous soucier est d'écrire votre contenu. Rédigez vos pages en Markdown et intégrer des composants Nuxt UI ou des composants Vue personnalisés. La structure, le routing et le rendu sont gérés pour vous.
148+ ::::
149+
150+ ::::u-page-card
151+ ---
152+ class: col-span-2 md:col-span-1
153+ ---
154+ :assistant-demo
155+
156+ #title
157+ [Assistant]{.text-primary} intégré
158+
159+ #description
160+ Permettez à vos visiteurs de poser des questions sur votre documentation en langage naturel. L'assistant recherche votre contenu et fournit des réponses précises avec les sources citées.
161+ ::::
162+
163+ ::::u-page-card
164+ ---
165+ spotlight: true
166+ class: col-span-2 md:col-span-1 min-h-[450px]
167+ target: _blank
168+ ---
169+ :color-mode-switch
170+
171+ #title
172+ [Nuxt Color](https://color-mode.nuxtjs.org) intégration
173+
174+ #description
175+ Light et dark mode intégré, aucune configuration nécessaire.
176+ ::::
177+
178+ ::::u-page-card
179+ ---
180+ spotlight: true
181+ class: col-span-2
182+ target: _blank
183+ ---
184+ :::::u-color-mode-image
185+ ---
186+ height: 554
187+ width: 859
188+ alt: Navigation intégrée et recherche plein texte
189+ class: rounded-lg
190+ dark: /landing/dark/command-menu.png
191+ format: webp
192+ light: /landing/light/command-menu.png
193+ loading: lazy
194+ ---
195+ :::::
196+
197+ #title
198+ Navigation intégrée et [recherche textuelle]{.text-primary}
199+
200+ #description
201+ Concentrez-vous uniquement sur votre contenu, Docus génère automatiquement une modale de recherche et la navigation latérale pour vous.
202+ ::::
203+
204+ ::::u-page-card
205+ ---
206+ spotlight: true
207+ class: col-span-2
208+ target: _blank
209+ ---
210+ :::::browser-frame
211+ :video{.rounded-md controls loop playsinline src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
212+ :::::
213+
214+ #title
215+ Edition en production avec [Nuxt Studio](https://nuxt.studio)
216+
217+ #description
218+ Rédigez et gérez votre contenu visuellement, sans aucune connaissance de Markdown requise. Laissez vos collègues non techniques collaborer sur la documentation et intégrer des composants Vue sans compétences en code.
219+ ::::
220+
221+ ::::u-page-card
222+ ---
223+ spotlight: true
224+ class: col-span-2 lg:col-span-1
225+ target: _blank
226+ to: https://image.nuxt.com/
227+ ---
228+ :::::div{.flex-1.flex.items-center.justify-center}
229+ ::::::u-color-mode-image
230+ ---
231+ alt: Visuel Nuxt Image
232+ class: w-[30%] lg:w-[70%] my-12 lg:my-0
233+ dark: /landing/dark/nuxt-image.svg
234+ light: /landing/light/nuxt-image.svg
235+ ---
236+ ::::::
237+ :::::
238+
239+ #title
240+ Optimisation [Nuxt Image](https://image.nuxt.com)
241+
242+ #description
243+ Docus convertit automatiquement les images Markdown pour utiliser `<NuxtImg>`.
244+ ::::
245+
246+ ::::u-page-card
247+ ---
248+ spotlight: true
249+ class: col-span-2 lg:col-span-1
250+ target: _blank
251+ to: /fr/concepts/internationalization
252+ ---
253+ :::::u-color-mode-image
254+ ---
255+ height: 195
256+ width: 403
257+ alt: Illustration de l'internationalisation
258+ class: w-full my-12 lg:my-0
259+ dark: /landing/dark/i18n.svg
260+ light: /landing/light/i18n.svg
261+ ---
262+ :::::
263+
264+ #title
265+ Support d' [internationalisation]{.text-primary}
266+
267+ #description
268+ Support i18n intégré avec routage automatique et gestion de contenu. Créez une documentation multilingue sans effort.
269+ ::::
270+
271+ ::::u-page-card
272+ ---
273+ spotlight: true
274+ class: col-span-2
275+ target: _blank
276+ to: /fr/ai/mcp
277+ ---
278+ :::::u-color-mode-image
279+ ---
280+ height: 400
281+ width: 859
282+ alt: Illustration du serveur MCP natif et contenu prêt pour l'IA
283+ class: w-full h-auto rounded-lg
284+ dark: /landing/dark/mcp.svg
285+ light: /landing/light/mcp.svg
286+ ---
287+ :::::
288+
289+ #title
290+ Prêt pour l' [IA avec MCP natif]{.text-primary}
291+
292+ #description
293+ Serveur Model Context Protocol intégré qui connecte votre documentation aux outils IA comme Cursor, VS Code et Claude. Génération automatique des fichiers `llms.txt` et `llms-full.txt` pour une intégration LLM transparente.
294+ ::::
295+
296+ ::::u-page-card
297+ ---
298+ spotlight: true
299+ class: col-span-2
300+ target: _blank
301+ ---
302+ ```ts [app.config.ts]
303+ export default defineAppConfig({
304+ ui: {
305+ colors: {
306+ primary: 'green',
307+ secondary: 'sky',
308+ },
309+ },
310+ socials: {
311+ x: 'https://x.com/nuxt_js',
312+ nuxt: 'https://nuxt.com'
313+ }
314+ })
315+ ```
316+
317+ #title
318+ Personnalisation avec [Nuxt App Config](https://nuxt.com/docs/4.x/getting-started/configuration#app-configuration)
319+
320+ #description
321+ Mettez à jour les couleurs, les liens sociaux, les logos ou même le style de vos composants globalement via le `app.config.ts`, sans modification directe du code.
322+ ::::
323+
324+ ::::u-page-card
325+ ---
326+ spotlight: true
327+ class: col-span-2 lg:col-span-1
328+ ---
329+ :::::div{.flex-1.flex.flex-col.items-center.justify-center.py-8.text-center}
330+ ::::::div{.flex.flex-col.gap-3.w-full.max-w-xs}
331+ :::::::u-button
332+ ---
333+ block: true
334+ color: primary
335+ size: lg
336+ to: /fr/getting-started/introduction
337+ trailing-icon: i-lucide-arrow-right
338+ ---
339+ Lire la documentation
340+ :::::::
341+ :::::::u-button
342+ ---
343+ block: true
344+ color: neutral
345+ size: lg
346+ target: _blank
347+ to: https://github.com/nuxt-content/docus
348+ icon: i-simple-icons-github
349+ variant: outline
350+ ---
351+ Voir sur GitHub
352+ :::::::
353+ ::::::
354+ :::::
355+
356+ #title
357+ [Prêt]{.text-primary} à commencer ?
358+
359+ #description
360+ Explorez toutes les fonctionnalités qui font de Docus la solution idéale pour votre documentation.
361+ ::::
362+ :::
363+::
docs/nuxt.config.ts+50−0
@@ -0,0 +1,50 @@
1+export default defineNuxtConfig({
2+ extends: ['docus'],
3+ modules: ['@nuxtjs/i18n', 'nuxt-studio'],
4+ site: {
5+ name: 'Docs',
6+ },
7+ mdc: {
8+ highlight: {
9+ shikiEngine: 'javascript',
10+ },
11+ },
12+ compatibilityDate: '2025-07-18',
13+ vite: {
14+ build: {
15+ sourcemap: false,
16+ },
17+ },
18+ i18n: {
19+ defaultLocale: 'en',
20+ locales: [{
21+ code: 'en',
22+ name: 'English',
23+ }, {
24+ code: 'fr',
25+ name: 'Français',
26+ }],
27+ },
28+ llms: {
29+ domain: 'https://krisyotam.com',
30+ title: 'Docs',
31+ description: 'Documentation template for Kris Yotam projects.',
32+ full: {
33+ title: 'Docs',
34+ description: 'Documentation template for Kris Yotam projects.',
35+ },
36+ },
37+ mcp: {
38+ name: 'Docs documentation',
39+ browserRedirect: '/en/ai/mcp',
40+ },
41+ studio: {
42+ route: '/admin',
43+ repository: {
44+ provider: 'github',
45+ owner: 'krisyotam',
46+ repo: 'docs',
47+ rootDir: 'docs',
48+ },
49+ },
50+})
docs/package.json+23−0
@@ -0,0 +1,23 @@
1+{
2+ "name": "docs-app",
3+ "description": "Example documentation app for the Docs template",
4+ "type": "module",
5+ "scripts": {
6+ "build": "nuxt build",
7+ "dev": "nuxt dev"
8+ },
9+ "dependencies": {
10+ "@nuxt/ui": "^4.9.0",
11+ "@nuxtjs/i18n": "^10.4.1",
12+ "@vercel/analytics": "^2.0.1",
13+ "@vercel/speed-insights": "^2.0.0",
14+ "docus": "workspace:*",
15+ "nuxt": "4.4.8",
16+ "nuxt-studio": "^1.7.0",
17+ "tailwindcss": "^4.3.2"
18+ },
19+ "devDependencies": {
20+ "@ai-sdk/vue": "^4.0.29",
21+ "ai": "^7.0.29"
22+ }
23+}
docs/public/documentation/app-footer-left.webp+0−0

Binary file not shown.

docs/public/documentation/app-footer-right.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-body.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-center.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-cta.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-logo.webp+0−0

Binary file not shown.

docs/public/documentation/app-page-header-links.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-left-body.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-left-top.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-right-bottom.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-right.png+0−0

Binary file not shown.

docs/public/documentation/frontmatter-preview-title-description.png+0−0

Binary file not shown.

docs/public/documentation/markdown-editor-studio.png+0−0

Binary file not shown.

docs/public/documentation/mountains.webp+0−0

Binary file not shown.

docs/public/documentation/nuxt-studio-module-alpha.png+0−0

Binary file not shown.

docs/public/documentation/og-image-example.png+0−0

Binary file not shown.

docs/public/documentation/preview-studio.png+0−0

Binary file not shown.

docs/public/documentation/sub-navigation.png+0−0

Binary file not shown.

docs/public/documentation/visual-editor-studio.png+0−0

Binary file not shown.

docs/public/favicon.ico+0−0

Binary file not shown.

docs/public/favicon.svg+3−0
@@ -0,0 +1,3 @@
1+<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3+</svg>
docs/public/icon.png+0−0

Binary file not shown.

docs/public/landing/dark/command-menu.png+0−0

Binary file not shown.

docs/public/landing/dark/i18n.svg+126−0
@@ -0,0 +1,126 @@
1+<svg width="403" height="195" viewBox="0 0 403 195" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<g clip-path="url(#clip0_566_823)">
3+<g clip-path="url(#clip1_566_823)">
4+<rect x="209" width="194" height="195" rx="8" fill="url(#paint0_linear_566_823)" fill-opacity="0.2"/>
5+<rect x="209.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint1_linear_566_823)" stroke-opacity="0.4"/>
6+<rect x="312" y="54" width="73" height="36" rx="5" fill="white" fill-opacity="0.05"/>
7+<path d="M238.781 30H246.588C246.836 30 247.079 29.9354 247.294 29.8125C247.509 29.6896 247.687 29.5128 247.811 29.3C247.935 29.0871 248 28.8457 248 28.5999C248 28.3542 247.934 28.1128 247.81 27.9001L242.568 18.9001C242.444 18.6873 242.265 18.5105 242.051 18.3877C241.836 18.2648 241.592 18.2001 241.345 18.2001C241.097 18.2001 240.853 18.2648 240.638 18.3877C240.424 18.5105 240.246 18.6873 240.122 18.9001L238.781 21.2028L236.16 16.6998C236.036 16.487 235.858 16.3104 235.643 16.1875C235.428 16.0647 235.185 16 234.937 16C234.689 16 234.445 16.0647 234.231 16.1875C234.016 16.3104 233.837 16.487 233.713 16.6998L227.19 27.9001C227.066 28.1128 227 28.3542 227 28.5999C227 28.8457 227.065 29.0871 227.189 29.3C227.313 29.5128 227.491 29.6896 227.706 29.8125C227.921 29.9354 228.164 30 228.412 30H233.312C235.254 30 236.686 29.1547 237.671 27.5057L240.063 23.4001L241.344 21.2028L245.189 27.8028H240.063L238.781 30ZM233.233 27.8005L229.813 27.7998L234.939 19.0004L237.497 23.4001L235.784 26.3407C235.13 27.4107 234.387 27.8005 233.233 27.8005Z" fill="white" fill-opacity="0.1"/>
8+<line x1="282.5" y1="23.5" x2="298.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
9+<line x1="312.5" y1="23.5" x2="328.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
10+<rect x="355" y="18" width="30" height="9" rx="2.93635" fill="white" fill-opacity="0.1"/>
11+<line x1="229.5" y1="55.5" x2="244.5" y2="55.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
12+<line x1="229.5" y1="69.5" x2="286.5" y2="69.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
13+<line x1="229.5" y1="83.5" x2="286.5" y2="83.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
14+<g clip-path="url(#clip2_566_823)">
15+<line x1="229" y1="121" x2="238" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
16+<line x1="229" y1="131" x2="266" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
17+<line x1="229" y1="141" x2="266" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
18+</g>
19+<g clip-path="url(#clip3_566_823)">
20+<line x1="287" y1="121" x2="296" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
21+<line x1="287" y1="131" x2="324" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
22+<line x1="287" y1="141" x2="324" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
23+</g>
24+<g clip-path="url(#clip4_566_823)">
25+<line x1="346" y1="121" x2="355" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
26+<line x1="346" y1="131" x2="383" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
27+<line x1="346" y1="141" x2="383" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
28+</g>
29+</g>
30+<g clip-path="url(#clip5_566_823)">
31+<rect width="194" height="195" rx="8" fill="url(#paint2_linear_566_823)" fill-opacity="0.2"/>
32+<rect x="0.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint3_linear_566_823)" stroke-opacity="0.4"/>
33+<rect x="103" y="54" width="73" height="36" rx="5" fill="white" fill-opacity="0.05"/>
34+<path d="M29.7811 30H37.5876C37.8356 30 38.0792 29.9354 38.2939 29.8125C38.5086 29.6896 38.6869 29.5128 38.8108 29.3C38.9347 29.0871 38.9999 28.8457 38.9998 28.5999C38.9997 28.3542 38.9343 28.1128 38.8102 27.9001L33.5676 18.9001C33.4437 18.6873 33.2654 18.5105 33.0507 18.3877C32.836 18.2648 32.5925 18.2001 32.3446 18.2001C32.0967 18.2001 31.8532 18.2648 31.6385 18.3877C31.4238 18.5105 31.2455 18.6873 31.1216 18.9001L29.7811 21.2028L27.1602 16.6998C27.0361 16.487 26.8578 16.3104 26.6431 16.1875C26.4283 16.0647 26.1847 16 25.9368 16C25.6889 16 25.4453 16.0647 25.2305 16.1875C25.0158 16.3104 24.8375 16.487 24.7134 16.6998L18.1896 27.9001C18.0655 28.1128 18.0001 28.3542 18 28.5999C17.9999 28.8457 18.0651 29.0871 18.189 29.3C18.3129 29.5128 18.4912 29.6896 18.7059 29.8125C18.9207 29.9354 19.1643 30 19.4122 30H24.3125C26.254 30 27.6859 29.1547 28.6711 27.5057L31.063 23.4001L32.3442 21.2028L36.1893 27.8028H31.063L29.7811 30ZM24.2326 27.8005L20.8128 27.7998L25.9391 19.0004L28.4969 23.4001L26.7843 26.3407C26.13 27.4107 25.3867 27.8005 24.2326 27.8005Z" fill="white" fill-opacity="0.1"/>
35+<line x1="73.5" y1="23.5" x2="89.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
36+<line x1="103.5" y1="23.5" x2="119.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
37+<rect x="146" y="18" width="30" height="9" rx="2.93635" fill="white" fill-opacity="0.1"/>
38+<line x1="20.5" y1="55.5" x2="35.5" y2="55.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
39+<line x1="20.5" y1="69.5" x2="77.5" y2="69.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
40+<line x1="20.5" y1="83.5" x2="77.5" y2="83.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
41+<g clip-path="url(#clip6_566_823)">
42+<line x1="20" y1="121" x2="29" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
43+<line x1="20" y1="131" x2="57" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
44+<line x1="20" y1="141" x2="57" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
45+</g>
46+<g clip-path="url(#clip7_566_823)">
47+<line x1="78" y1="121" x2="87" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
48+<line x1="78" y1="131" x2="115" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
49+<line x1="78" y1="141" x2="115" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
50+</g>
51+<g clip-path="url(#clip8_566_823)">
52+<line x1="137" y1="121" x2="146" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
53+<line x1="137" y1="131" x2="174" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
54+<line x1="137" y1="141" x2="174" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
55+</g>
56+</g>
57+<g filter="url(#filter0_d_566_823)">
58+<g clip-path="url(#clip9_566_823)">
59+<foreignObject x="140.75" y="30.75" width="122.5" height="122.5"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(20.62px);clip-path:url(#bgblur_10_566_823_clip_path);height:100%;width:100%"></div></foreignObject><g data-figma-bg-blur-radius="41.25">
60+<rect x="182" y="72" width="40" height="40" rx="7.5" fill="white" fill-opacity="0.2"/>
61+<rect x="182.5" y="72.5" width="39" height="39" rx="7" stroke="white" stroke-opacity="0.4"/>
62+</g>
63+<path d="M215.9 102.55L208.9 88.55C208.814 88.3854 208.685 88.2472 208.526 88.1504C208.368 88.0535 208.186 88.0015 208 88C207.815 87.9996 207.634 88.0509 207.478 88.1481C207.321 88.2453 207.194 88.3846 207.112 88.55L204.4 93.975C202.269 93.8621 200.218 93.1277 198.5 91.8625C200.516 89.7126 201.738 86.9387 201.962 84H205C205.265 84 205.52 83.8946 205.707 83.7071C205.895 83.5196 206 83.2652 206 83C206 82.7348 205.895 82.4804 205.707 82.2929C205.52 82.1054 205.265 82 205 82H198V80C198 79.7348 197.895 79.4804 197.707 79.2929C197.52 79.1054 197.265 79 197 79C196.735 79 196.48 79.1054 196.293 79.2929C196.105 79.4804 196 79.7348 196 80V82H189C188.735 82 188.48 82.1054 188.293 82.2929C188.105 82.4804 188 82.7348 188 83C188 83.2652 188.105 83.5196 188.293 83.7071C188.48 83.8946 188.735 84 189 84H199.95C199.734 86.4501 198.694 88.7546 197 90.5375C195.945 89.4273 195.135 88.1069 194.625 86.6625C194.535 86.4122 194.35 86.2077 194.11 86.094C193.87 85.9803 193.594 85.9667 193.344 86.0562C193.093 86.1458 192.889 86.331 192.775 86.5713C192.662 86.8116 192.648 87.0872 192.738 87.3375C193.337 89.0199 194.278 90.5604 195.5 91.8625C193.619 93.255 191.34 94.0045 189 94C188.735 94 188.48 94.1054 188.293 94.2929C188.105 94.4804 188 94.7348 188 95C188 95.2652 188.105 95.5196 188.293 95.7071C188.48 95.8946 188.735 96 189 96C191.901 96.0012 194.718 95.0283 197 93.2375C198.862 94.6963 201.089 95.6172 203.438 95.9L200.113 102.55C199.994 102.787 199.973 103.062 200.055 103.314C200.137 103.567 200.315 103.777 200.55 103.9C200.79 104.014 201.064 104.031 201.316 103.947C201.568 103.864 201.777 103.685 201.9 103.45L203.625 100H212.388L214.112 103.45C214.194 103.615 214.321 103.755 214.478 103.852C214.634 103.949 214.815 104 215 104C215.155 103.997 215.308 103.963 215.45 103.9C215.685 103.777 215.864 103.568 215.947 103.316C216.031 103.064 216.014 102.79 215.9 102.55ZM204.625 98L208 91.2375L211.388 98H204.625Z" fill="white"/>
64+</g>
65+</g>
66+</g>
67+<defs>
68+<filter id="filter0_d_566_823" x="178" y="72" width="48" height="48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
69+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
70+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
71+<feOffset dy="4"/>
72+<feGaussianBlur stdDeviation="2"/>
73+<feComposite in2="hardAlpha" operator="out"/>
74+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
75+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_566_823"/>
76+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_566_823" result="shape"/>
77+</filter>
78+<clipPath id="bgblur_10_566_823_clip_path" transform="translate(-140.75 -30.75)"><rect x="182" y="72" width="40" height="40" rx="7.5"/>
79+</clipPath><linearGradient id="paint0_linear_566_823" x1="306" y1="0" x2="306" y2="88.7178" gradientUnits="userSpaceOnUse">
80+<stop stop-color="white"/>
81+<stop offset="1" stop-color="white" stop-opacity="0"/>
82+</linearGradient>
83+<linearGradient id="paint1_linear_566_823" x1="306" y1="-1.12777e-07" x2="306.053" y2="165.969" gradientUnits="userSpaceOnUse">
84+<stop stop-color="white"/>
85+<stop offset="1" stop-color="white" stop-opacity="0"/>
86+</linearGradient>
87+<linearGradient id="paint2_linear_566_823" x1="97" y1="0" x2="97" y2="88.7178" gradientUnits="userSpaceOnUse">
88+<stop stop-color="white"/>
89+<stop offset="1" stop-color="white" stop-opacity="0"/>
90+</linearGradient>
91+<linearGradient id="paint3_linear_566_823" x1="97" y1="-1.12777e-07" x2="97.0531" y2="165.969" gradientUnits="userSpaceOnUse">
92+<stop stop-color="white"/>
93+<stop offset="1" stop-color="white" stop-opacity="0"/>
94+</linearGradient>
95+<clipPath id="clip0_566_823">
96+<rect width="403" height="195" fill="white"/>
97+</clipPath>
98+<clipPath id="clip1_566_823">
99+<rect width="194" height="195" fill="white" transform="translate(209)"/>
100+</clipPath>
101+<clipPath id="clip2_566_823">
102+<rect width="41" height="24" fill="white" transform="translate(227 119)"/>
103+</clipPath>
104+<clipPath id="clip3_566_823">
105+<rect width="41" height="24" fill="white" transform="translate(285 119)"/>
106+</clipPath>
107+<clipPath id="clip4_566_823">
108+<rect width="41" height="24" fill="white" transform="translate(344 119)"/>
109+</clipPath>
110+<clipPath id="clip5_566_823">
111+<rect width="194" height="195" fill="white"/>
112+</clipPath>
113+<clipPath id="clip6_566_823">
114+<rect width="41" height="24" fill="white" transform="translate(18 119)"/>
115+</clipPath>
116+<clipPath id="clip7_566_823">
117+<rect width="41" height="24" fill="white" transform="translate(76 119)"/>
118+</clipPath>
119+<clipPath id="clip8_566_823">
120+<rect width="41" height="24" fill="white" transform="translate(135 119)"/>
121+</clipPath>
122+<clipPath id="clip9_566_823">
123+<rect x="182" y="72" width="40" height="40" rx="7" fill="white"/>
124+</clipPath>
125+</defs>
126+</svg>
docs/public/landing/dark/mcp.svg+113−0
@@ -0,0 +1,113 @@
1+<svg width="651" height="319" viewBox="0 0 651 319" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<path d="M104.387 242.669C103.811 242.669 103.344 242.201 103.344 241.625V229.925H107.302V241.625C107.302 242.201 106.834 242.669 106.258 242.669H104.387Z" fill="#5B5B5B"/>
3+<path d="M118.901 242.669C118.325 242.669 117.857 242.201 117.857 241.625V229.925H121.815V241.625C121.815 242.201 121.348 242.669 120.772 242.669H118.901Z" fill="#5B5B5B"/>
4+<path d="M133.411 242.669C132.835 242.669 132.368 242.201 132.368 241.625V229.925H136.326V241.625C136.326 242.201 135.859 242.669 135.283 242.669H133.411Z" fill="#5B5B5B"/>
5+<path d="M147.923 242.669C147.347 242.669 146.88 242.201 146.88 241.625V229.925H150.838V241.625C150.838 242.201 150.371 242.669 149.794 242.669H147.923Z" fill="#5B5B5B"/>
6+<path d="M162.437 242.669C161.861 242.669 161.394 242.201 161.394 241.625V229.925H165.351V241.625C165.351 242.201 164.884 242.669 164.308 242.669H162.437Z" fill="#5B5B5B"/>
7+<path d="M176.95 242.669C176.374 242.669 175.906 242.201 175.906 241.625V229.925H179.864V241.625C179.864 242.201 179.397 242.669 178.82 242.669H176.95Z" fill="#5B5B5B"/>
8+<path d="M191.461 242.669C190.885 242.669 190.418 242.201 190.418 241.625V229.925H194.376V241.625C194.376 242.201 193.909 242.669 193.333 242.669H191.461Z" fill="#5B5B5B"/>
9+<path d="M205.973 242.669C205.397 242.669 204.93 242.201 204.93 241.625V229.925H208.888V241.625C208.888 242.201 208.421 242.669 207.845 242.669H205.973Z" fill="#5B5B5B"/>
10+<path d="M70 108.212C70 107.634 70.4671 107.167 71.0433 107.167H82.732V111.128H71.0433C70.4671 111.128 70 110.662 70 110.084L70 108.212Z" fill="#5B5B5B"/>
11+<path d="M70 122.739C70 122.162 70.4671 121.694 71.0433 121.694H82.732V125.655H71.0433C70.4671 125.655 70 125.189 70 124.611L70 122.739Z" fill="#5B5B5B"/>
12+<path d="M70 137.262C70 136.685 70.4671 136.217 71.0433 136.217H82.732V140.179H71.0433C70.4671 140.179 70 139.711 70 139.135L70 137.262Z" fill="#5B5B5B"/>
13+<path d="M70 151.787C70 151.211 70.4671 150.743 71.0433 150.743H82.732V154.705H71.0433C70.4671 154.705 70 154.237 70 153.66L70 151.787Z" fill="#5B5B5B"/>
14+<path d="M70 165.765C70 165.188 70.4671 164.72 71.0433 164.72H82.732V168.682H71.0433C70.4671 168.682 70 168.214 70 167.638L70 165.765Z" fill="#5B5B5B"/>
15+<path d="M70 180.839C70 180.261 70.4671 179.794 71.0433 179.794H82.732V183.755H71.0433C70.4671 183.755 70 183.288 70 182.711L70 180.839Z" fill="#5B5B5B"/>
16+<path d="M70 195.365C70 194.788 70.4671 194.321 71.0433 194.321H82.732V198.282H71.0433C70.4671 198.282 70 197.815 70 197.237L70 195.365Z" fill="#5B5B5B"/>
17+<path d="M70 209.892C70 209.315 70.4671 208.848 71.0433 208.848H82.732V212.809H71.0433C70.4671 212.809 70 212.342 70 211.764L70 209.892Z" fill="#5B5B5B"/>
18+<path d="M243.19 108.629C243.19 108.053 242.722 107.585 242.146 107.585H229.997V111.408H242.146C242.722 111.408 243.19 110.94 243.19 110.364V108.629Z" fill="#5B5B5B"/>
19+<path d="M243.19 122.647C243.19 122.07 242.722 121.603 242.146 121.603H229.997V125.426H242.146C242.722 125.426 243.19 124.958 243.19 124.381V122.647Z" fill="#5B5B5B"/>
20+<path d="M243.19 136.664C243.19 136.088 242.722 135.62 242.146 135.62H229.997V139.443H242.146C242.722 139.443 243.19 138.975 243.19 138.399V136.664Z" fill="#5B5B5B"/>
21+<path d="M243.19 150.684C243.19 150.106 242.722 149.64 242.146 149.64H229.997V153.463H242.146C242.722 153.463 243.19 152.995 243.19 152.418V150.684Z" fill="#5B5B5B"/>
22+<path d="M243.19 164.701C243.19 164.124 242.722 163.656 242.146 163.656H229.997V167.479H242.146C242.722 167.479 243.19 167.013 243.19 166.435V164.701Z" fill="#5B5B5B"/>
23+<path d="M243.19 178.72C243.19 178.144 242.722 177.676 242.146 177.676H229.997V181.499H242.146C242.722 181.499 243.19 181.032 243.19 180.455V178.72Z" fill="#5B5B5B"/>
24+<path d="M243.19 192.738C243.19 192.161 242.722 191.693 242.146 191.693H229.997V195.517H242.146C242.722 195.517 243.19 195.049 243.19 194.472V192.738Z" fill="#5B5B5B"/>
25+<path d="M243.19 206.755C243.19 206.179 242.722 205.711 242.146 205.711H229.997V209.534H242.146C242.722 209.534 243.19 209.066 243.19 208.49V206.755Z" fill="#5B5B5B"/>
26+<path d="M103.07 77C102.493 77 102.026 77.4678 102.026 78.0443V89.7435H105.984V78.0443C105.984 77.4678 105.517 77 104.941 77H103.07Z" fill="#5B5B5B"/>
27+<path d="M117.58 77C117.004 77 116.537 77.4678 116.537 78.0443V89.7435H120.495V78.0443C120.495 77.4678 120.028 77 119.452 77H117.58Z" fill="#5B5B5B"/>
28+<path d="M132.092 77C131.516 77 131.049 77.4678 131.049 78.0443V89.7435H135.007V78.0443C135.007 77.4678 134.54 77 133.963 77H132.092Z" fill="#5B5B5B"/>
29+<path d="M146.604 77C146.028 77 145.561 77.4678 145.561 78.0443V89.7435H149.518V78.0443C149.518 77.4678 149.051 77 148.475 77H146.604Z" fill="#5B5B5B"/>
30+<path d="M161.118 77C160.541 77 160.074 77.4678 160.074 78.0443V89.7435H164.032V78.0443C164.032 77.4678 163.565 77 162.989 77H161.118Z" fill="#5B5B5B"/>
31+<path d="M175.631 77C175.055 77 174.588 77.4678 174.588 78.0443V89.7435H178.546V78.0443C178.546 77.4678 178.079 77 177.503 77H175.631Z" fill="#5B5B5B"/>
32+<path d="M190.143 77C189.567 77 189.1 77.4678 189.1 78.0443V89.7435H193.058V78.0443C193.058 77.4678 192.591 77 192.015 77H190.143Z" fill="#5B5B5B"/>
33+<path d="M204.654 77C204.078 77 203.61 77.4678 203.61 78.0443V89.7435H207.569V78.0443C207.569 77.4678 207.101 77 206.525 77H204.654Z" fill="#5B5B5B"/>
34+<g filter="url(#filter0_d_950_709)">
35+<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" fill="#121212"/>
36+<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" stroke="#1A1A1A" stroke-width="2"/>
37+</g>
38+<g filter="url(#filter1_d_950_709)">
39+<path d="M223.737 89.7446H89.8146C86.3573 89.7446 83.5547 92.5499 83.5547 96.0104V223.661C83.5547 227.122 86.3573 229.927 89.8146 229.927H223.737C227.194 229.927 229.996 227.122 229.996 223.661V96.0104C229.996 92.5499 227.194 89.7446 223.737 89.7446Z" stroke="#1A1A1A"/>
40+</g>
41+<g filter="url(#filter2_di_950_709)">
42+<path fill-rule="evenodd" clip-rule="evenodd" d="M172.301 120.332C170.309 118.391 167.638 117.305 164.858 117.305C162.078 117.305 159.407 118.391 157.415 120.332L117.721 159.295C117.057 159.942 116.167 160.303 115.24 160.303C114.314 160.303 113.424 159.942 112.76 159.295C112.435 158.979 112.176 158.601 112 158.182C111.823 157.763 111.732 157.314 111.732 156.86C111.732 156.406 111.823 155.957 112 155.539C112.176 155.12 112.435 154.741 112.76 154.425L152.454 115.461C155.775 112.227 160.225 110.417 164.858 110.417C169.491 110.417 173.942 112.227 177.262 115.461C179.184 117.332 180.635 119.631 181.498 122.17C182.361 124.71 182.611 127.419 182.227 130.073C184.915 129.69 187.654 129.93 190.235 130.775C192.815 131.62 195.166 133.045 197.109 134.944L197.316 135.149C198.941 136.733 200.234 138.626 201.116 140.716C201.999 142.808 202.454 145.056 202.454 147.326C202.454 149.596 201.999 151.843 201.116 153.935C200.234 156.026 198.941 157.919 197.316 159.502L161.415 194.739C161.307 194.844 161.22 194.97 161.162 195.109C161.103 195.248 161.072 195.399 161.072 195.55C161.072 195.7 161.103 195.851 161.162 195.99C161.22 196.13 161.307 196.255 161.415 196.36L168.788 203.6C169.113 203.917 169.372 204.296 169.548 204.714C169.725 205.132 169.816 205.581 169.816 206.036C169.816 206.49 169.725 206.939 169.548 207.358C169.372 207.776 169.113 208.155 168.788 208.471C168.124 209.117 167.234 209.479 166.308 209.479C165.381 209.479 164.491 209.117 163.827 208.471L156.454 201.235C155.695 200.497 155.091 199.613 154.679 198.637C154.267 197.661 154.054 196.611 154.054 195.552C154.054 194.492 154.267 193.443 154.679 192.466C155.091 191.49 155.695 190.606 156.454 189.868L192.355 154.627C193.33 153.677 194.104 152.542 194.634 151.287C195.163 150.032 195.435 148.683 195.435 147.322C195.435 145.96 195.163 144.612 194.634 143.356C194.104 142.102 193.33 140.966 192.355 140.016L192.148 139.814C190.158 137.875 187.492 136.789 184.714 136.787C181.937 136.785 179.268 137.866 177.274 139.802L147.7 168.834L147.691 168.842L147.287 169.243C146.623 169.891 145.732 170.253 144.805 170.253C143.878 170.253 142.987 169.891 142.322 169.243C141.997 168.926 141.739 168.548 141.562 168.129C141.386 167.711 141.295 167.261 141.295 166.808C141.295 166.354 141.386 165.904 141.562 165.486C141.739 165.067 141.997 164.689 142.322 164.373L172.314 134.931C173.286 133.981 174.059 132.845 174.586 131.59C175.113 130.336 175.384 128.989 175.382 127.628C175.381 126.269 175.108 124.922 174.579 123.668C174.05 122.415 173.275 121.281 172.301 120.332Z" fill="white"/>
43+<path fill-rule="evenodd" clip-rule="evenodd" d="M167.34 130.071C167.665 129.754 167.924 129.375 168.1 128.958C168.277 128.539 168.368 128.09 168.368 127.636C168.368 127.181 168.277 126.732 168.1 126.313C167.924 125.896 167.665 125.517 167.34 125.2C166.676 124.553 165.785 124.19 164.858 124.19C163.931 124.19 163.04 124.553 162.375 125.2L133.019 154.018C131.393 155.602 130.101 157.494 129.218 159.586C128.336 161.677 127.881 163.925 127.881 166.195C127.881 168.465 128.336 170.712 129.218 172.803C130.101 174.895 131.393 176.788 133.019 178.37C136.34 181.604 140.79 183.413 145.423 183.413C150.056 183.413 154.506 181.604 157.827 178.37L187.187 149.552C187.513 149.236 187.772 148.858 187.948 148.439C188.124 148.021 188.215 147.571 188.215 147.117C188.215 146.664 188.124 146.213 187.948 145.796C187.772 145.377 187.513 144.999 187.187 144.683C186.523 144.035 185.633 143.673 184.705 143.673C183.778 143.673 182.887 144.035 182.222 144.683L152.866 173.501C150.874 175.441 148.203 176.527 145.423 176.527C142.643 176.527 139.972 175.441 137.98 173.501C137.005 172.55 136.23 171.414 135.701 170.16C135.171 168.905 134.899 167.557 134.899 166.195C134.899 164.832 135.171 163.484 135.701 162.23C136.23 160.974 137.005 159.839 137.98 158.889L167.34 130.071Z" fill="white"/>
44+</g>
45+<path opacity="0.5" d="M386 160L301.435 160L250 160" stroke="url(#paint0_linear_950_709)" stroke-width="2"/>
46+<path opacity="0.5" d="M386 111H346.821C343.355 111 340.544 111.528 340.544 112.179V123.888V131.821C340.544 132.472 337.734 133 334.267 133H250" stroke="url(#paint1_linear_950_709)" stroke-width="2"/>
47+<path opacity="0.5" d="M386 209H346.821C343.355 209 340.544 208.472 340.544 207.821V196.112V188.179C340.544 187.528 337.734 187 334.267 187H250" stroke="url(#paint2_linear_950_709)" stroke-width="2"/>
48+<path d="M573.667 99H395.26C391.803 99 389 101.805 389 105.266V116.753C389 120.213 391.803 123.019 395.26 123.019H573.667C577.124 123.019 579.927 120.213 579.927 116.753V105.266C579.927 101.805 577.124 99 573.667 99Z" fill="#0F0F0F"/>
49+<path d="M395.26 99.5H573.667C576.847 99.5002 579.427 102.081 579.427 105.266V116.753C579.427 119.938 576.847 122.518 573.667 122.519H395.26C392.079 122.518 389.5 119.938 389.5 116.753V105.266C389.5 102.081 392.079 99.5001 395.26 99.5Z" stroke="#636262" stroke-opacity="0.2"/>
50+<path d="M397.746 111.231C397.746 108.347 400.082 106.009 402.963 106.009C405.843 106.009 408.179 108.347 408.179 111.231C408.179 114.114 405.843 116.452 402.963 116.452C400.082 116.452 397.746 114.114 397.746 111.231Z" fill="#00C16A" fill-opacity="0.25"/>
51+<path d="M402.963 113.319C404.115 113.319 405.049 112.384 405.049 111.231C405.049 110.077 404.115 109.142 402.963 109.142C401.81 109.142 400.876 110.077 400.876 111.231C400.876 112.384 401.81 113.319 402.963 113.319Z" fill="#00C16A"/>
52+<path d="M417.185 105.873L414.373 116.322H413.452L416.265 105.873H417.185ZM419.383 106.282V115.009H418.377V106.282H419.383ZM421.225 115.009V108.464H422.231V115.009H421.225ZM421.737 107.373C421.54 107.373 421.371 107.306 421.229 107.173C421.09 107.039 421.021 106.879 421.021 106.691C421.021 106.504 421.09 106.343 421.229 106.21C421.371 106.076 421.54 106.009 421.737 106.009C421.933 106.009 422.1 106.076 422.239 106.21C422.381 106.343 422.452 106.504 422.452 106.691C422.452 106.879 422.381 107.039 422.239 107.173C422.1 107.306 421.933 107.373 421.737 107.373ZM428.709 109.93L427.806 110.185C427.749 110.035 427.665 109.889 427.554 109.746C427.446 109.602 427.299 109.482 427.111 109.389C426.924 109.295 426.684 109.248 426.391 109.248C425.99 109.248 425.657 109.34 425.39 109.525C425.125 109.707 424.993 109.938 424.993 110.22C424.993 110.47 425.084 110.667 425.266 110.812C425.448 110.957 425.732 111.077 426.118 111.174L427.09 111.413C427.675 111.555 428.111 111.772 428.398 112.065C428.685 112.354 428.828 112.728 428.828 113.185C428.828 113.56 428.721 113.896 428.505 114.191C428.292 114.487 427.993 114.72 427.61 114.89C427.226 115.06 426.78 115.146 426.272 115.146C425.604 115.146 425.051 115.001 424.614 114.711C424.176 114.421 423.9 113.998 423.783 113.441L424.738 113.202C424.828 113.555 425 113.819 425.253 113.995C425.509 114.171 425.843 114.259 426.255 114.259C426.723 114.259 427.096 114.16 427.371 113.961C427.65 113.759 427.789 113.518 427.789 113.237C427.789 113.009 427.709 112.819 427.55 112.666C427.391 112.509 427.147 112.393 426.817 112.316L425.726 112.06C425.127 111.918 424.686 111.698 424.405 111.4C424.127 111.099 423.988 110.722 423.988 110.271C423.988 109.901 424.091 109.575 424.299 109.291C424.509 109.006 424.794 108.783 425.155 108.621C425.519 108.46 425.931 108.379 426.391 108.379C427.039 108.379 427.547 108.521 427.917 108.805C428.289 109.089 428.553 109.464 428.709 109.93ZM433.189 108.464V109.316H429.797V108.464H433.189ZM430.786 106.896H431.791V113.134C431.791 113.418 431.832 113.631 431.915 113.773C432 113.913 432.108 114.006 432.239 114.055C432.372 114.1 432.513 114.123 432.661 114.123C432.771 114.123 432.862 114.117 432.933 114.106C433.004 114.092 433.061 114.08 433.104 114.072L433.308 114.975C433.24 115.001 433.145 115.026 433.023 115.052C432.901 115.08 432.746 115.095 432.558 115.095C432.274 115.095 431.996 115.033 431.723 114.911C431.453 114.789 431.229 114.603 431.05 114.353C430.874 114.103 430.786 113.788 430.786 113.407V106.896ZM438.217 110.799V111.737H434.399V110.799H438.217ZM439.987 117.464V108.464H440.958V109.504H441.078C441.152 109.39 441.254 109.245 441.385 109.069C441.518 108.89 441.708 108.731 441.956 108.592C442.206 108.45 442.544 108.379 442.97 108.379C443.521 108.379 444.007 108.516 444.427 108.792C444.848 109.068 445.176 109.458 445.412 109.964C445.647 110.47 445.765 111.066 445.765 111.754C445.765 112.447 445.647 113.048 445.412 113.556C445.176 114.062 444.849 114.454 444.431 114.732C444.014 115.008 443.532 115.146 442.987 115.146C442.566 115.146 442.23 115.076 441.977 114.937C441.724 114.795 441.529 114.634 441.393 114.455C441.257 114.273 441.152 114.123 441.078 114.004H440.993V117.464H439.987ZM440.975 111.737C440.975 112.231 441.048 112.667 441.193 113.045C441.338 113.42 441.549 113.714 441.828 113.927C442.106 114.137 442.447 114.242 442.85 114.242C443.271 114.242 443.622 114.131 443.903 113.91C444.187 113.685 444.4 113.384 444.542 113.006C444.687 112.626 444.76 112.202 444.76 111.737C444.76 111.276 444.689 110.862 444.547 110.492C444.407 110.12 444.196 109.826 443.912 109.61C443.63 109.391 443.277 109.282 442.85 109.282C442.441 109.282 442.098 109.386 441.819 109.593C441.541 109.798 441.331 110.085 441.189 110.454C441.047 110.82 440.975 111.248 440.975 111.737ZM449.225 115.163C448.811 115.163 448.434 115.085 448.096 114.928C447.758 114.769 447.49 114.541 447.291 114.242C447.092 113.941 446.993 113.577 446.993 113.151C446.993 112.776 447.066 112.472 447.214 112.239C447.362 112.004 447.559 111.819 447.806 111.685C448.054 111.552 448.326 111.452 448.625 111.387C448.926 111.319 449.228 111.265 449.532 111.225C449.93 111.174 450.252 111.136 450.5 111.11C450.75 111.082 450.931 111.035 451.045 110.97C451.162 110.904 451.22 110.791 451.22 110.629V110.595C451.22 110.174 451.105 109.847 450.875 109.614C450.647 109.381 450.302 109.265 449.839 109.265C449.359 109.265 448.983 109.37 448.71 109.58C448.437 109.791 448.245 110.015 448.135 110.254L447.18 109.913C447.35 109.515 447.578 109.205 447.862 108.984C448.149 108.759 448.461 108.603 448.799 108.515C449.14 108.424 449.475 108.379 449.805 108.379C450.015 108.379 450.257 108.404 450.529 108.455C450.805 108.504 451.071 108.604 451.326 108.758C451.585 108.911 451.799 109.143 451.97 109.452C452.14 109.762 452.225 110.177 452.225 110.697V115.009H451.22V114.123H451.169C451.1 114.265 450.987 114.417 450.828 114.579C450.669 114.741 450.457 114.879 450.193 114.992C449.929 115.106 449.606 115.163 449.225 115.163ZM449.379 114.259C449.777 114.259 450.112 114.181 450.385 114.025C450.66 113.869 450.868 113.667 451.007 113.42C451.149 113.173 451.22 112.913 451.22 112.64V111.72C451.177 111.771 451.083 111.818 450.939 111.86C450.797 111.9 450.632 111.935 450.444 111.967C450.26 111.995 450.079 112.021 449.903 112.043C449.73 112.063 449.589 112.08 449.481 112.095C449.22 112.129 448.975 112.184 448.748 112.261C448.524 112.335 448.342 112.447 448.203 112.597C448.066 112.745 447.998 112.947 447.998 113.202C447.998 113.552 448.127 113.816 448.386 113.995C448.647 114.171 448.978 114.259 449.379 114.259ZM456.703 117.6C456.217 117.6 455.8 117.538 455.45 117.413C455.101 117.291 454.81 117.129 454.577 116.927C454.347 116.728 454.163 116.515 454.027 116.288L454.828 115.725C454.919 115.845 455.034 115.981 455.173 116.134C455.313 116.291 455.503 116.425 455.744 116.539C455.989 116.656 456.308 116.714 456.703 116.714C457.232 116.714 457.668 116.586 458.011 116.33C458.355 116.075 458.527 115.674 458.527 115.129V113.799H458.442C458.368 113.918 458.263 114.066 458.126 114.242C457.993 114.416 457.8 114.57 457.547 114.707C457.297 114.84 456.959 114.907 456.533 114.907C456.004 114.907 455.53 114.782 455.109 114.532C454.692 114.282 454.361 113.918 454.116 113.441C453.875 112.964 453.754 112.384 453.754 111.702C453.754 111.032 453.872 110.448 454.108 109.951C454.344 109.451 454.672 109.065 455.092 108.792C455.513 108.516 455.999 108.379 456.55 108.379C456.976 108.379 457.314 108.45 457.564 108.592C457.817 108.731 458.01 108.89 458.143 109.069C458.28 109.245 458.385 109.39 458.459 109.504H458.561V108.464H459.533V115.197C459.533 115.759 459.405 116.217 459.149 116.569C458.896 116.924 458.555 117.184 458.126 117.349C457.7 117.516 457.226 117.6 456.703 117.6ZM456.669 114.004C457.072 114.004 457.413 113.911 457.692 113.727C457.97 113.542 458.182 113.276 458.327 112.93C458.472 112.583 458.544 112.168 458.544 111.685C458.544 111.214 458.473 110.798 458.331 110.437C458.189 110.076 457.979 109.793 457.7 109.589C457.422 109.384 457.078 109.282 456.669 109.282C456.243 109.282 455.888 109.39 455.604 109.606C455.322 109.822 455.111 110.112 454.969 110.475C454.83 110.839 454.76 111.242 454.76 111.685C454.76 112.14 454.831 112.542 454.973 112.891C455.118 113.238 455.331 113.511 455.612 113.71C455.896 113.906 456.249 114.004 456.669 114.004ZM464.118 115.146C463.487 115.146 462.943 115.006 462.486 114.728C462.031 114.447 461.68 114.055 461.433 113.552C461.189 113.046 461.067 112.458 461.067 111.788C461.067 111.117 461.189 110.526 461.433 110.015C461.68 109.501 462.024 109.1 462.464 108.813C462.908 108.523 463.425 108.379 464.016 108.379C464.357 108.379 464.693 108.435 465.026 108.549C465.358 108.663 465.661 108.847 465.933 109.103C466.206 109.356 466.423 109.691 466.585 110.109C466.747 110.526 466.828 111.041 466.828 111.651V112.077H461.783V111.208H465.805C465.805 110.839 465.732 110.509 465.584 110.22C465.439 109.93 465.232 109.701 464.962 109.533C464.695 109.366 464.379 109.282 464.016 109.282C463.615 109.282 463.268 109.381 462.976 109.58C462.686 109.776 462.463 110.032 462.307 110.347C462.151 110.663 462.072 111.001 462.072 111.362V111.941C462.072 112.435 462.158 112.854 462.328 113.198C462.501 113.539 462.741 113.799 463.048 113.978C463.355 114.154 463.712 114.242 464.118 114.242C464.382 114.242 464.621 114.205 464.834 114.131C465.05 114.055 465.236 113.941 465.392 113.791C465.548 113.637 465.669 113.447 465.754 113.22L466.726 113.492C466.624 113.822 466.452 114.112 466.21 114.362C465.969 114.609 465.67 114.802 465.315 114.941C464.96 115.077 464.561 115.146 464.118 115.146ZM472.994 109.93L472.091 110.185C472.034 110.035 471.95 109.889 471.839 109.746C471.732 109.602 471.584 109.482 471.396 109.389C471.209 109.295 470.969 109.248 470.676 109.248C470.276 109.248 469.942 109.34 469.675 109.525C469.411 109.707 469.278 109.938 469.278 110.22C469.278 110.47 469.369 110.667 469.551 110.812C469.733 110.957 470.017 111.077 470.403 111.174L471.375 111.413C471.96 111.555 472.396 111.772 472.683 112.065C472.97 112.354 473.114 112.728 473.114 113.185C473.114 113.56 473.006 113.896 472.79 114.191C472.577 114.487 472.278 114.72 471.895 114.89C471.511 115.06 471.065 115.146 470.557 115.146C469.889 115.146 469.337 115.001 468.899 114.711C468.462 114.421 468.185 113.998 468.068 113.441L469.023 113.202C469.114 113.555 469.286 113.819 469.538 113.995C469.794 114.171 470.128 114.259 470.54 114.259C471.009 114.259 471.381 114.16 471.656 113.961C471.935 113.759 472.074 113.518 472.074 113.237C472.074 113.009 471.994 112.819 471.835 112.666C471.676 112.509 471.432 112.393 471.102 112.316L470.011 112.06C469.412 111.918 468.972 111.698 468.69 111.4C468.412 111.099 468.273 110.722 468.273 110.271C468.273 109.901 468.376 109.575 468.584 109.291C468.794 109.006 469.08 108.783 469.44 108.621C469.804 108.46 470.216 108.379 470.676 108.379C471.324 108.379 471.832 108.521 472.202 108.805C472.574 109.089 472.838 109.464 472.994 109.93Z" fill="#737373"/>
53+<path d="M573.667 148.019H395.26C391.803 148.019 389 150.824 389 154.284V165.771C389 169.232 391.803 172.037 395.26 172.037H573.667C577.124 172.037 579.927 169.232 579.927 165.771V154.284C579.927 150.824 577.124 148.019 573.667 148.019Z" fill="#0F0F0F"/>
54+<path d="M395.26 148.519H573.667C576.847 148.519 579.427 151.1 579.427 154.284V165.771C579.427 168.956 576.847 171.537 573.667 171.537H395.26C392.079 171.537 389.5 168.956 389.5 165.771V154.284C389.5 151.1 392.079 148.519 395.26 148.519Z" stroke="#636262" stroke-opacity="0.2"/>
55+<path d="M397.746 160.249C397.746 157.366 400.082 155.028 402.963 155.028C405.843 155.028 408.179 157.366 408.179 160.249C408.179 163.133 405.843 165.471 402.963 165.471C400.082 165.471 397.746 163.133 397.746 160.249Z" fill="#00C16A" fill-opacity="0.25"/>
56+<path d="M402.963 162.338C404.115 162.338 405.049 161.403 405.049 160.249C405.049 159.096 404.115 158.161 402.963 158.161C401.81 158.161 400.876 159.096 400.876 160.249C400.876 161.403 401.81 162.338 402.963 162.338Z" fill="#00C16A"/>
57+<path d="M417.185 154.891L414.373 165.34H413.452L416.265 154.891H417.185ZM421.02 166.619C420.534 166.619 420.116 166.556 419.767 166.431C419.417 166.309 419.126 166.147 418.893 165.945C418.663 165.747 418.48 165.534 418.343 165.306L419.145 164.744C419.235 164.863 419.35 164.999 419.49 165.153C419.629 165.309 419.819 165.444 420.061 165.558C420.305 165.674 420.625 165.732 421.02 165.732C421.548 165.732 421.984 165.605 422.328 165.349C422.672 165.093 422.843 164.693 422.843 164.147V162.818H422.758C422.684 162.937 422.579 163.085 422.443 163.261C422.309 163.434 422.116 163.589 421.863 163.725C421.613 163.859 421.275 163.926 420.849 163.926C420.321 163.926 419.846 163.801 419.426 163.551C419.008 163.301 418.677 162.937 418.433 162.46C418.191 161.982 418.071 161.403 418.071 160.721C418.071 160.051 418.189 159.467 418.424 158.97C418.66 158.47 418.988 158.083 419.409 157.811C419.829 157.535 420.315 157.397 420.866 157.397C421.292 157.397 421.63 157.468 421.88 157.61C422.133 157.749 422.326 157.909 422.46 158.087C422.596 158.264 422.701 158.409 422.775 158.522H422.877V157.482H423.849V164.215C423.849 164.778 423.721 165.235 423.466 165.587C423.213 165.943 422.872 166.203 422.443 166.367C422.017 166.535 421.542 166.619 421.02 166.619ZM420.985 163.022C421.389 163.022 421.73 162.93 422.008 162.745C422.287 162.561 422.498 162.295 422.643 161.948C422.788 161.602 422.86 161.187 422.86 160.704C422.86 160.232 422.789 159.816 422.647 159.455C422.505 159.095 422.295 158.812 422.017 158.607C421.738 158.403 421.395 158.301 420.985 158.301C420.559 158.301 420.204 158.409 419.92 158.624C419.639 158.84 419.427 159.13 419.285 159.494C419.146 159.857 419.076 160.261 419.076 160.704C419.076 161.159 419.147 161.561 419.289 161.91C419.434 162.257 419.647 162.529 419.929 162.728C420.213 162.924 420.565 163.022 420.985 163.022ZM428.434 164.164C427.804 164.164 427.26 164.025 426.802 163.747C426.348 163.465 425.997 163.073 425.75 162.57C425.505 162.065 425.383 161.477 425.383 160.806C425.383 160.136 425.505 159.545 425.75 159.034C425.997 158.519 426.341 158.119 426.781 157.832C427.224 157.542 427.741 157.397 428.332 157.397C428.673 157.397 429.01 157.454 429.342 157.568C429.674 157.681 429.977 157.866 430.25 158.122C430.522 158.374 430.74 158.71 430.902 159.127C431.064 159.545 431.145 160.059 431.145 160.67V161.096H426.099V160.227H430.122C430.122 159.857 430.048 159.528 429.9 159.238C429.755 158.948 429.548 158.72 429.278 158.552C429.011 158.384 428.696 158.301 428.332 158.301C427.931 158.301 427.585 158.4 427.292 158.599C427.002 158.795 426.779 159.051 426.623 159.366C426.467 159.681 426.389 160.019 426.389 160.38V160.96C426.389 161.454 426.474 161.873 426.645 162.217C426.818 162.558 427.058 162.818 427.365 162.997C427.672 163.173 428.028 163.261 428.434 163.261C428.699 163.261 428.937 163.224 429.15 163.15C429.366 163.073 429.552 162.96 429.708 162.809C429.865 162.656 429.985 162.465 430.071 162.238L431.042 162.511C430.94 162.84 430.768 163.13 430.527 163.38C430.285 163.627 429.987 163.82 429.632 163.96C429.277 164.096 428.877 164.164 428.434 164.164ZM435.521 157.482V158.335H432.129V157.482H435.521ZM433.118 155.914H434.123V162.153C434.123 162.437 434.164 162.65 434.247 162.792C434.332 162.931 434.44 163.025 434.571 163.073C434.704 163.119 434.845 163.141 434.993 163.141C435.103 163.141 435.194 163.136 435.265 163.124C435.336 163.11 435.393 163.099 435.436 163.09L435.64 163.994C435.572 164.019 435.477 164.045 435.355 164.07C435.233 164.099 435.078 164.113 434.89 164.113C434.606 164.113 434.328 164.052 434.055 163.93C433.785 163.808 433.561 163.622 433.382 163.372C433.206 163.122 433.118 162.806 433.118 162.426V155.914ZM440.549 159.818V160.755H436.731V159.818H440.549ZM442.319 166.482V157.482H443.29V158.522H443.41C443.484 158.409 443.586 158.264 443.717 158.087C443.85 157.909 444.04 157.749 444.288 157.61C444.538 157.468 444.876 157.397 445.302 157.397C445.853 157.397 446.339 157.535 446.759 157.811C447.18 158.086 447.508 158.477 447.744 158.982C447.979 159.488 448.097 160.085 448.097 160.772C448.097 161.465 447.979 162.066 447.744 162.575C447.508 163.08 447.181 163.472 446.763 163.751C446.346 164.026 445.864 164.164 445.319 164.164C444.898 164.164 444.562 164.095 444.309 163.955C444.056 163.813 443.862 163.653 443.725 163.474C443.589 163.292 443.484 163.141 443.41 163.022H443.325V166.482H442.319ZM443.308 160.755C443.308 161.249 443.38 161.686 443.525 162.063C443.67 162.438 443.881 162.732 444.16 162.945C444.438 163.156 444.779 163.261 445.183 163.261C445.603 163.261 445.954 163.15 446.235 162.928C446.519 162.704 446.732 162.403 446.874 162.025C447.019 161.644 447.092 161.221 447.092 160.755C447.092 160.295 447.021 159.88 446.879 159.511C446.739 159.139 446.528 158.845 446.244 158.629C445.962 158.41 445.609 158.301 445.183 158.301C444.773 158.301 444.43 158.404 444.151 158.612C443.873 158.816 443.663 159.103 443.521 159.472C443.379 159.839 443.308 160.266 443.308 160.755ZM451.558 164.181C451.143 164.181 450.766 164.103 450.428 163.947C450.09 163.788 449.822 163.559 449.623 163.261C449.424 162.96 449.325 162.596 449.325 162.17C449.325 161.795 449.398 161.491 449.546 161.258C449.694 161.022 449.891 160.837 450.138 160.704C450.386 160.57 450.658 160.471 450.957 160.406C451.258 160.337 451.56 160.284 451.864 160.244C452.262 160.193 452.585 160.154 452.832 160.129C453.082 160.1 453.263 160.053 453.377 159.988C453.494 159.923 453.552 159.809 453.552 159.647V159.613C453.552 159.193 453.437 158.866 453.207 158.633C452.979 158.4 452.634 158.284 452.171 158.284C451.691 158.284 451.315 158.389 451.042 158.599C450.769 158.809 450.577 159.034 450.467 159.272L449.512 158.931C449.683 158.534 449.91 158.224 450.194 158.002C450.481 157.778 450.793 157.622 451.131 157.534C451.472 157.443 451.808 157.397 452.137 157.397C452.347 157.397 452.589 157.423 452.862 157.474C453.137 157.522 453.403 157.623 453.658 157.776C453.917 157.93 454.131 158.161 454.302 158.471C454.472 158.781 454.558 159.195 454.558 159.715V164.028H453.552V163.141H453.501C453.433 163.284 453.319 163.436 453.16 163.597C453.001 163.759 452.789 163.897 452.525 164.011C452.261 164.124 451.938 164.181 451.558 164.181ZM451.711 163.278C452.109 163.278 452.444 163.2 452.717 163.043C452.992 162.887 453.2 162.686 453.339 162.438C453.481 162.191 453.552 161.931 453.552 161.659V160.738C453.509 160.789 453.415 160.836 453.271 160.879C453.129 160.918 452.964 160.954 452.776 160.985C452.592 161.014 452.411 161.039 452.235 161.062C452.062 161.082 451.921 161.099 451.813 161.113C451.552 161.147 451.308 161.203 451.08 161.279C450.856 161.353 450.674 161.465 450.535 161.616C450.398 161.764 450.33 161.965 450.33 162.221C450.33 162.57 450.46 162.835 450.718 163.014C450.979 163.19 451.31 163.278 451.711 163.278ZM459.035 166.619C458.549 166.619 458.132 166.556 457.782 166.431C457.433 166.309 457.142 166.147 456.909 165.945C456.679 165.747 456.495 165.534 456.359 165.306L457.16 164.744C457.251 164.863 457.366 164.999 457.505 165.153C457.645 165.309 457.835 165.444 458.076 165.558C458.321 165.674 458.64 165.732 459.035 165.732C459.564 165.732 460 165.605 460.343 165.349C460.687 165.093 460.859 164.693 460.859 164.147V162.818H460.774C460.7 162.937 460.595 163.085 460.458 163.261C460.325 163.434 460.132 163.589 459.879 163.725C459.629 163.859 459.291 163.926 458.865 163.926C458.336 163.926 457.862 163.801 457.441 163.551C457.024 163.301 456.693 162.937 456.449 162.46C456.207 161.982 456.086 161.403 456.086 160.721C456.086 160.051 456.204 159.467 456.44 158.97C456.676 158.47 457.004 158.083 457.424 157.811C457.845 157.535 458.331 157.397 458.882 157.397C459.308 157.397 459.646 157.468 459.896 157.61C460.149 157.749 460.342 157.909 460.475 158.087C460.612 158.264 460.717 158.409 460.791 158.522H460.893V157.482H461.865V164.215C461.865 164.778 461.737 165.235 461.481 165.587C461.228 165.943 460.887 166.203 460.458 166.367C460.032 166.535 459.558 166.619 459.035 166.619ZM459.001 163.022C459.404 163.022 459.745 162.93 460.024 162.745C460.302 162.561 460.514 162.295 460.659 161.948C460.804 161.602 460.876 161.187 460.876 160.704C460.876 160.232 460.805 159.816 460.663 159.455C460.521 159.095 460.311 158.812 460.032 158.607C459.754 158.403 459.41 158.301 459.001 158.301C458.575 158.301 458.22 158.409 457.936 158.624C457.654 158.84 457.443 159.13 457.301 159.494C457.162 159.857 457.092 160.261 457.092 160.704C457.092 161.159 457.163 161.561 457.305 161.91C457.45 162.257 457.663 162.529 457.944 162.728C458.228 162.924 458.581 163.022 459.001 163.022ZM466.45 164.164C465.819 164.164 465.275 164.025 464.818 163.747C464.363 163.465 464.012 163.073 463.765 162.57C463.521 162.065 463.399 161.477 463.399 160.806C463.399 160.136 463.521 159.545 463.765 159.034C464.012 158.519 464.356 158.119 464.797 157.832C465.24 157.542 465.757 157.397 466.348 157.397C466.689 157.397 467.025 157.454 467.358 157.568C467.69 157.681 467.993 157.866 468.265 158.122C468.538 158.374 468.755 158.71 468.917 159.127C469.079 159.545 469.16 160.059 469.16 160.67V161.096H464.115V160.227H468.137C468.137 159.857 468.064 159.528 467.916 159.238C467.771 158.948 467.564 158.72 467.294 158.552C467.027 158.384 466.711 158.301 466.348 158.301C465.947 158.301 465.6 158.4 465.308 158.599C465.018 158.795 464.795 159.051 464.639 159.366C464.483 159.681 464.404 160.019 464.404 160.38V160.96C464.404 161.454 464.49 161.873 464.66 162.217C464.833 162.558 465.074 162.818 465.38 162.997C465.687 163.173 466.044 163.261 466.45 163.261C466.714 163.261 466.953 163.224 467.166 163.15C467.382 163.073 467.568 162.96 467.724 162.809C467.88 162.656 468.001 162.465 468.086 162.238L469.058 162.511C468.956 162.84 468.784 163.13 468.542 163.38C468.301 163.627 468.002 163.82 467.647 163.96C467.292 164.096 466.893 164.164 466.45 164.164Z" fill="#737373"/>
58+<path d="M573.667 197.037H395.26C391.803 197.037 389 199.842 389 203.303V214.79C389 218.25 391.803 221.056 395.26 221.056H573.667C577.124 221.056 579.927 218.25 579.927 214.79V203.303C579.927 199.842 577.124 197.037 573.667 197.037Z" fill="#0F0F0F"/>
59+<path d="M395.26 197.537H573.667C576.847 197.537 579.427 200.118 579.427 203.303V214.79C579.427 217.975 576.847 220.555 573.667 220.556H395.26C392.079 220.556 389.5 217.975 389.5 214.79V203.303C389.5 200.118 392.079 197.537 395.26 197.537Z" stroke="#636262" stroke-opacity="0.2"/>
60+<path d="M397.746 209.268C397.746 206.385 400.082 204.046 402.963 204.046C405.843 204.046 408.179 206.385 408.179 209.268C408.179 212.151 405.843 214.489 402.963 214.489C400.082 214.489 397.746 212.151 397.746 209.268Z" fill="#00C16A" fill-opacity="0.25"/>
61+<path d="M402.963 211.356C404.115 211.356 405.049 210.421 405.049 209.268C405.049 208.114 404.115 207.179 402.963 207.179C401.81 207.179 400.876 208.114 400.876 209.268C400.876 210.421 401.81 211.356 402.963 211.356Z" fill="#00C16A"/>
62+<path d="M417.185 203.91L414.373 214.359H413.452L416.265 203.91H417.185ZM421.02 215.637C420.534 215.637 420.116 215.575 419.767 215.45C419.417 215.328 419.126 215.166 418.893 214.964C418.663 214.765 418.48 214.552 418.343 214.325L419.145 213.762C419.235 213.882 419.35 214.018 419.49 214.171C419.629 214.328 419.819 214.463 420.061 214.576C420.305 214.693 420.625 214.751 421.02 214.751C421.548 214.751 421.984 214.623 422.328 214.367C422.672 214.112 422.843 213.711 422.843 213.166V211.836H422.758C422.684 211.955 422.579 212.103 422.443 212.279C422.309 212.453 422.116 212.607 421.863 212.744C421.613 212.877 421.275 212.944 420.849 212.944C420.321 212.944 419.846 212.819 419.426 212.569C419.008 212.319 418.677 211.955 418.433 211.478C418.191 211.001 418.071 210.421 418.071 209.74C418.071 209.069 418.189 208.485 418.424 207.988C418.66 207.488 418.988 207.102 419.409 206.829C419.829 206.553 420.315 206.416 420.866 206.416C421.292 206.416 421.63 206.487 421.88 206.629C422.133 206.768 422.326 206.927 422.46 207.106C422.596 207.282 422.701 207.427 422.775 207.541H422.877V206.501H423.849V213.234C423.849 213.796 423.721 214.254 423.466 214.606C423.213 214.961 422.872 215.221 422.443 215.386C422.017 215.553 421.542 215.637 421.02 215.637ZM420.985 212.041C421.389 212.041 421.73 211.948 422.008 211.764C422.287 211.579 422.498 211.313 422.643 210.967C422.788 210.62 422.86 210.205 422.86 209.723C422.86 209.251 422.789 208.835 422.647 208.474C422.505 208.113 422.295 207.83 422.017 207.626C421.738 207.421 421.395 207.319 420.985 207.319C420.559 207.319 420.204 207.427 419.92 207.643C419.639 207.859 419.427 208.149 419.285 208.512C419.146 208.876 419.076 209.279 419.076 209.723C419.076 210.177 419.147 210.579 419.289 210.928C419.434 211.275 419.647 211.548 419.929 211.747C420.213 211.943 420.565 212.041 420.985 212.041ZM428.434 213.183C427.804 213.183 427.26 213.044 426.802 212.765C426.348 212.484 425.997 212.092 425.75 211.589C425.505 211.083 425.383 210.495 425.383 209.825C425.383 209.154 425.505 208.563 425.75 208.052C425.997 207.538 426.341 207.137 426.781 206.85C427.224 206.561 427.741 206.416 428.332 206.416C428.673 206.416 429.01 206.473 429.342 206.586C429.674 206.7 429.977 206.884 430.25 207.14C430.522 207.393 430.74 207.728 430.902 208.146C431.064 208.563 431.145 209.078 431.145 209.688V210.115H426.099V209.245H430.122C430.122 208.876 430.048 208.546 429.9 208.257C429.755 207.967 429.548 207.738 429.278 207.571C429.011 207.403 428.696 207.319 428.332 207.319C427.931 207.319 427.585 207.419 427.292 207.617C427.002 207.813 426.779 208.069 426.623 208.384C426.467 208.7 426.389 209.038 426.389 209.399V209.978C426.389 210.473 426.474 210.892 426.645 211.235C426.818 211.576 427.058 211.836 427.365 212.015C427.672 212.191 428.028 212.279 428.434 212.279C428.699 212.279 428.937 212.242 429.15 212.169C429.366 212.092 429.552 211.978 429.708 211.828C429.865 211.674 429.985 211.484 430.071 211.257L431.042 211.529C430.94 211.859 430.768 212.149 430.527 212.399C430.285 212.646 429.987 212.839 429.632 212.978C429.277 213.115 428.877 213.183 428.434 213.183ZM435.521 206.501V207.353H432.129V206.501H435.521ZM433.118 204.933H434.123V211.171C434.123 211.455 434.164 211.669 434.247 211.811C434.332 211.95 434.44 212.044 434.571 212.092C434.704 212.137 434.845 212.16 434.993 212.16C435.103 212.16 435.194 212.154 435.265 212.143C435.336 212.129 435.393 212.117 435.436 212.109L435.64 213.012C435.572 213.038 435.477 213.063 435.355 213.089C435.233 213.117 435.078 213.132 434.89 213.132C434.606 213.132 434.328 213.071 434.055 212.948C433.785 212.826 433.561 212.64 433.382 212.39C433.206 212.14 433.118 211.825 433.118 211.444V204.933ZM440.549 208.836V209.774H436.731V208.836H440.549ZM442.319 213.046V206.501H443.29V207.524H443.376C443.512 207.174 443.732 206.903 444.036 206.71C444.34 206.514 444.705 206.416 445.131 206.416C445.563 206.416 445.923 206.514 446.21 206.71C446.499 206.903 446.725 207.174 446.887 207.524H446.955C447.123 207.186 447.374 206.917 447.71 206.718C448.045 206.517 448.447 206.416 448.915 206.416C449.501 206.416 449.979 206.599 450.352 206.965C450.724 207.329 450.91 207.896 450.91 208.666V213.046H449.904V208.666C449.904 208.183 449.772 207.838 449.508 207.63C449.244 207.423 448.933 207.319 448.575 207.319C448.114 207.319 447.758 207.458 447.505 207.737C447.252 208.012 447.126 208.362 447.126 208.785V213.046H446.103V208.563C446.103 208.191 445.982 207.892 445.741 207.664C445.499 207.434 445.188 207.319 444.808 207.319C444.546 207.319 444.302 207.389 444.075 207.528C443.85 207.667 443.668 207.86 443.529 208.107C443.393 208.352 443.325 208.634 443.325 208.955V213.046H442.319ZM452.749 213.046V206.501H453.754V213.046H452.749ZM453.26 205.41C453.064 205.41 452.895 205.343 452.753 205.21C452.614 205.076 452.544 204.916 452.544 204.728C452.544 204.541 452.614 204.38 452.753 204.247C452.895 204.113 453.064 204.046 453.26 204.046C453.456 204.046 453.624 204.113 453.763 204.247C453.905 204.38 453.976 204.541 453.976 204.728C453.976 204.916 453.905 205.076 453.763 205.21C453.624 205.343 453.456 205.41 453.26 205.41ZM458.238 215.637C457.752 215.637 457.335 215.575 456.985 215.45C456.636 215.328 456.345 215.166 456.112 214.964C455.882 214.765 455.699 214.552 455.562 214.325L456.363 213.762C456.454 213.882 456.569 214.018 456.708 214.171C456.848 214.328 457.038 214.463 457.279 214.576C457.524 214.693 457.843 214.751 458.238 214.751C458.767 214.751 459.203 214.623 459.547 214.367C459.89 214.112 460.062 213.711 460.062 213.166V211.836H459.977C459.903 211.955 459.798 212.103 459.662 212.279C459.528 212.453 459.335 212.607 459.082 212.744C458.832 212.877 458.494 212.944 458.068 212.944C457.539 212.944 457.065 212.819 456.645 212.569C456.227 212.319 455.896 211.955 455.652 211.478C455.41 211.001 455.289 210.421 455.289 209.74C455.289 209.069 455.407 208.485 455.643 207.988C455.879 207.488 456.207 207.102 456.627 206.829C457.048 206.553 457.534 206.416 458.085 206.416C458.511 206.416 458.849 206.487 459.099 206.629C459.352 206.768 459.545 206.927 459.679 207.106C459.815 207.282 459.92 207.427 459.994 207.541H460.096V206.501H461.068V213.234C461.068 213.796 460.94 214.254 460.684 214.606C460.431 214.961 460.091 215.221 459.662 215.386C459.235 215.553 458.761 215.637 458.238 215.637ZM458.204 212.041C458.608 212.041 458.949 211.948 459.227 211.764C459.505 211.579 459.717 211.313 459.862 210.967C460.007 210.62 460.079 210.205 460.079 209.723C460.079 209.251 460.008 208.835 459.866 208.474C459.724 208.113 459.514 207.83 459.235 207.626C458.957 207.421 458.613 207.319 458.204 207.319C457.778 207.319 457.423 207.427 457.139 207.643C456.858 207.859 456.646 208.149 456.504 208.512C456.365 208.876 456.295 209.279 456.295 209.723C456.295 210.177 456.366 210.579 456.508 210.928C456.653 211.275 456.866 211.548 457.147 211.747C457.431 211.943 457.784 212.041 458.204 212.041ZM462.909 213.046V206.501H463.88V207.49H463.949C464.068 207.166 464.284 206.903 464.596 206.701C464.909 206.5 465.261 206.399 465.653 206.399C465.727 206.399 465.819 206.4 465.93 206.403C466.041 206.406 466.125 206.41 466.181 206.416V207.438C466.147 207.43 466.069 207.417 465.947 207.4C465.828 207.38 465.701 207.37 465.568 207.37C465.25 207.37 464.966 207.437 464.716 207.571C464.468 207.701 464.272 207.883 464.127 208.116C463.985 208.346 463.914 208.609 463.914 208.904V213.046H462.909ZM469.3 213.2C468.885 213.2 468.509 213.122 468.17 212.965C467.832 212.806 467.564 212.578 467.365 212.279C467.166 211.978 467.067 211.615 467.067 211.188C467.067 210.813 467.141 210.509 467.288 210.277C467.436 210.041 467.634 209.856 467.881 209.723C468.128 209.589 468.401 209.49 468.699 209.424C469 209.356 469.303 209.302 469.607 209.262C470.004 209.211 470.327 209.173 470.574 209.147C470.824 209.119 471.006 209.072 471.119 209.007C471.236 208.941 471.294 208.828 471.294 208.666V208.632C471.294 208.211 471.179 207.884 470.949 207.652C470.722 207.419 470.376 207.302 469.913 207.302C469.433 207.302 469.057 207.407 468.784 207.617C468.511 207.828 468.32 208.052 468.209 208.291L467.254 207.95C467.425 207.552 467.652 207.242 467.936 207.021C468.223 206.796 468.536 206.64 468.874 206.552C469.214 206.461 469.55 206.416 469.879 206.416C470.089 206.416 470.331 206.441 470.604 206.492C470.879 206.541 471.145 206.642 471.401 206.795C471.659 206.948 471.874 207.18 472.044 207.49C472.214 207.799 472.3 208.214 472.3 208.734V213.046H471.294V212.16H471.243C471.175 212.302 471.061 212.454 470.902 212.616C470.743 212.778 470.531 212.916 470.267 213.029C470.003 213.143 469.68 213.2 469.3 213.2ZM469.453 212.296C469.851 212.296 470.186 212.218 470.459 212.062C470.734 211.906 470.942 211.704 471.081 211.457C471.223 211.21 471.294 210.95 471.294 210.677V209.757C471.251 209.808 471.158 209.855 471.013 209.897C470.871 209.937 470.706 209.973 470.518 210.004C470.334 210.032 470.153 210.058 469.977 210.08C469.804 210.1 469.663 210.117 469.555 210.132C469.294 210.166 469.05 210.221 468.822 210.298C468.598 210.372 468.416 210.484 468.277 210.634C468.141 210.782 468.072 210.984 468.072 211.24C468.072 211.589 468.202 211.853 468.46 212.032C468.722 212.208 469.053 212.296 469.453 212.296ZM476.982 206.501V207.353H473.59V206.501H476.982ZM474.578 204.933H475.584V211.171C475.584 211.455 475.625 211.669 475.708 211.811C475.793 211.95 475.901 212.044 476.032 212.092C476.165 212.137 476.306 212.16 476.453 212.16C476.564 212.16 476.655 212.154 476.726 212.143C476.797 212.129 476.854 212.117 476.897 212.109L477.101 213.012C477.033 213.038 476.938 213.063 476.816 213.089C476.694 213.117 476.539 213.132 476.351 213.132C476.067 213.132 475.789 213.071 475.516 212.948C475.246 212.826 475.022 212.64 474.843 212.39C474.667 212.14 474.578 211.825 474.578 211.444V204.933ZM478.495 213.046V206.501H479.5V213.046H478.495ZM479.006 205.41C478.81 205.41 478.641 205.343 478.499 205.21C478.36 205.076 478.29 204.916 478.29 204.728C478.29 204.541 478.36 204.38 478.499 204.247C478.641 204.113 478.81 204.046 479.006 204.046C479.202 204.046 479.37 204.113 479.509 204.247C479.651 204.38 479.722 204.541 479.722 204.728C479.722 204.916 479.651 205.076 479.509 205.21C479.37 205.343 479.202 205.41 479.006 205.41ZM484.001 213.183C483.411 213.183 482.892 213.042 482.446 212.761C482.003 212.48 481.656 212.086 481.406 211.58C481.159 211.075 481.036 210.484 481.036 209.808C481.036 209.126 481.159 208.531 481.406 208.022C481.656 207.514 482.003 207.119 482.446 206.838C482.892 206.556 483.411 206.416 484.001 206.416C484.592 206.416 485.109 206.556 485.553 206.838C485.999 207.119 486.345 207.514 486.592 208.022C486.842 208.531 486.967 209.126 486.967 209.808C486.967 210.484 486.842 211.075 486.592 211.58C486.345 212.086 485.999 212.48 485.553 212.761C485.109 213.042 484.592 213.183 484.001 213.183ZM484.001 212.279C484.45 212.279 484.82 212.164 485.109 211.934C485.399 211.704 485.614 211.402 485.753 211.027C485.892 210.652 485.962 210.245 485.962 209.808C485.962 209.37 485.892 208.963 485.753 208.585C485.614 208.207 485.399 207.902 485.109 207.669C484.82 207.436 484.45 207.319 484.001 207.319C483.553 207.319 483.183 207.436 482.893 207.669C482.604 207.902 482.389 208.207 482.25 208.585C482.111 208.963 482.041 209.37 482.041 209.808C482.041 210.245 482.111 210.652 482.25 211.027C482.389 211.402 482.604 211.704 482.893 211.934C483.183 212.164 483.553 212.279 484.001 212.279ZM489.508 209.109V213.046H488.502V206.501H489.474V207.524H489.559C489.713 207.191 489.946 206.924 490.258 206.723C490.571 206.518 490.974 206.416 491.468 206.416C491.912 206.416 492.299 206.507 492.632 206.688C492.964 206.867 493.223 207.14 493.407 207.507C493.592 207.87 493.684 208.33 493.684 208.887V213.046H492.679V208.955C492.679 208.441 492.545 208.041 492.278 207.754C492.011 207.464 491.645 207.319 491.179 207.319C490.858 207.319 490.571 207.389 490.318 207.528C490.068 207.667 489.87 207.87 489.725 208.137C489.581 208.404 489.508 208.728 489.508 209.109ZM499.272 208.836V209.774H495.454V208.836H499.272ZM503.684 215.637C503.198 215.637 502.78 215.575 502.431 215.45C502.081 215.328 501.79 215.166 501.557 214.964C501.327 214.765 501.144 214.552 501.007 214.325L501.809 213.762C501.9 213.882 502.015 214.018 502.154 214.171C502.293 214.328 502.483 214.463 502.725 214.576C502.969 214.693 503.289 214.751 503.684 214.751C504.212 214.751 504.648 214.623 504.992 214.367C505.336 214.112 505.507 213.711 505.507 213.166V211.836H505.422C505.348 211.955 505.243 212.103 505.107 212.279C504.973 212.453 504.78 212.607 504.527 212.744C504.277 212.877 503.939 212.944 503.513 212.944C502.985 212.944 502.51 212.819 502.09 212.569C501.672 212.319 501.341 211.955 501.097 211.478C500.855 211.001 500.735 210.421 500.735 209.74C500.735 209.069 500.853 208.485 501.088 207.988C501.324 207.488 501.652 207.102 502.073 206.829C502.493 206.553 502.979 206.416 503.53 206.416C503.956 206.416 504.294 206.487 504.544 206.629C504.797 206.768 504.99 206.927 505.124 207.106C505.26 207.282 505.365 207.427 505.439 207.541H505.542V206.501H506.513V213.234C506.513 213.796 506.385 214.254 506.13 214.606C505.877 214.961 505.536 215.221 505.107 215.386C504.681 215.553 504.206 215.637 503.684 215.637ZM503.65 212.041C504.053 212.041 504.394 211.948 504.672 211.764C504.951 211.579 505.162 211.313 505.307 210.967C505.452 210.62 505.525 210.205 505.525 209.723C505.525 209.251 505.453 208.835 505.311 208.474C505.169 208.113 504.959 207.83 504.681 207.626C504.402 207.421 504.059 207.319 503.65 207.319C503.223 207.319 502.868 207.427 502.584 207.643C502.303 207.859 502.091 208.149 501.949 208.512C501.81 208.876 501.74 209.279 501.74 209.723C501.74 210.177 501.811 210.579 501.953 210.928C502.098 211.275 502.311 211.548 502.593 211.747C502.877 211.943 503.229 212.041 503.65 212.041ZM512.479 210.37V206.501H513.485V213.046H512.479V211.938H512.411C512.257 212.271 512.019 212.553 511.695 212.786C511.371 213.017 510.962 213.132 510.468 213.132C510.059 213.132 509.695 213.042 509.377 212.863C509.059 212.681 508.809 212.409 508.627 212.045C508.445 211.678 508.354 211.217 508.354 210.66V206.501H509.36V210.592C509.36 211.069 509.493 211.45 509.76 211.734C510.03 212.018 510.374 212.16 510.792 212.16C511.042 212.16 511.296 212.096 511.554 211.968C511.816 211.84 512.034 211.644 512.211 211.38C512.39 211.116 512.479 210.779 512.479 210.37ZM515.327 213.046V206.501H516.332V213.046H515.327ZM515.838 205.41C515.642 205.41 515.473 205.343 515.331 205.21C515.192 205.076 515.122 204.916 515.122 204.728C515.122 204.541 515.192 204.38 515.331 204.247C515.473 204.113 515.642 204.046 515.838 204.046C516.034 204.046 516.202 204.113 516.341 204.247C516.483 204.38 516.554 204.541 516.554 204.728C516.554 204.916 516.483 205.076 516.341 205.21C516.202 205.343 516.034 205.41 515.838 205.41ZM520.646 213.183C520.1 213.183 519.619 213.045 519.201 212.769C518.784 212.491 518.457 212.099 518.221 211.593C517.985 211.085 517.868 210.484 517.868 209.791C517.868 209.103 517.985 208.507 518.221 208.001C518.457 207.495 518.785 207.105 519.206 206.829C519.626 206.553 520.112 206.416 520.663 206.416C521.089 206.416 521.426 206.487 521.673 206.629C521.923 206.768 522.113 206.927 522.244 207.106C522.377 207.282 522.481 207.427 522.555 207.541H522.64V204.319H523.646V213.046H522.674V212.041H522.555C522.481 212.16 522.376 212.311 522.24 212.492C522.103 212.671 521.909 212.832 521.656 212.974C521.403 213.113 521.066 213.183 520.646 213.183ZM520.782 212.279C521.186 212.279 521.527 212.174 521.805 211.964C522.083 211.751 522.295 211.457 522.44 211.082C522.585 210.704 522.657 210.268 522.657 209.774C522.657 209.285 522.586 208.857 522.444 208.491C522.302 208.122 522.092 207.835 521.814 207.63C521.535 207.423 521.191 207.319 520.782 207.319C520.356 207.319 520.001 207.428 519.717 207.647C519.436 207.863 519.224 208.157 519.082 208.529C518.943 208.899 518.873 209.313 518.873 209.774C518.873 210.24 518.944 210.663 519.086 211.044C519.231 211.421 519.444 211.723 519.725 211.947C520.01 212.169 520.362 212.279 520.782 212.279ZM528.372 213.183C527.741 213.183 527.197 213.044 526.74 212.765C526.285 212.484 525.934 212.092 525.687 211.589C525.443 211.083 525.321 210.495 525.321 209.825C525.321 209.154 525.443 208.563 525.687 208.052C525.934 207.538 526.278 207.137 526.718 206.85C527.162 206.561 527.679 206.416 528.27 206.416C528.61 206.416 528.947 206.473 529.279 206.586C529.612 206.7 529.914 206.884 530.187 207.14C530.46 207.393 530.677 207.728 530.839 208.146C531.001 208.563 531.082 209.078 531.082 209.688V210.115H526.037V209.245H530.059C530.059 208.876 529.985 208.546 529.838 208.257C529.693 207.967 529.485 207.738 529.216 207.571C528.949 207.403 528.633 207.319 528.27 207.319C527.869 207.319 527.522 207.419 527.23 207.617C526.94 207.813 526.717 208.069 526.561 208.384C526.404 208.7 526.326 209.038 526.326 209.399V209.978C526.326 210.473 526.412 210.892 526.582 211.235C526.755 211.576 526.995 211.836 527.302 212.015C527.609 212.191 527.966 212.279 528.372 212.279C528.636 212.279 528.875 212.242 529.088 212.169C529.304 212.092 529.49 211.978 529.646 211.828C529.802 211.674 529.923 211.484 530.008 211.257L530.98 211.529C530.877 211.859 530.706 212.149 530.464 212.399C530.223 212.646 529.924 212.839 529.569 212.978C529.214 213.115 528.815 213.183 528.372 213.183Z" fill="#737373"/>
63+<defs>
64+<filter id="filter0_d_950_709" x="81.832" y="87.8408" width="149.888" height="143.987" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
65+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
66+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
67+<feOffset/>
68+<feGaussianBlur stdDeviation="3"/>
69+<feComposite in2="hardAlpha" operator="out"/>
70+<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
71+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
72+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
73+</filter>
74+<filter id="filter1_d_950_709" x="77.0547" y="83.2446" width="159.441" height="153.182" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
75+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
76+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
77+<feOffset/>
78+<feGaussianBlur stdDeviation="3"/>
79+<feComposite in2="hardAlpha" operator="out"/>
80+<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
81+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
82+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
83+</filter>
84+<filter id="filter2_di_950_709" x="106.632" y="109.317" width="100.922" height="109.261" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
85+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
86+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
87+<feOffset dy="4"/>
88+<feGaussianBlur stdDeviation="2.55"/>
89+<feComposite in2="hardAlpha" operator="out"/>
90+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.93 0"/>
91+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
92+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
93+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
94+<feOffset dy="2"/>
95+<feGaussianBlur stdDeviation="2.4"/>
96+<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
97+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
98+<feBlend mode="normal" in2="shape" result="effect2_innerShadow_950_709"/>
99+</filter>
100+<linearGradient id="paint0_linear_950_709" x1="354.092" y1="160" x2="274.648" y2="124.038" gradientUnits="userSpaceOnUse">
101+<stop stop-color="white"/>
102+<stop offset="1" stop-color="white" stop-opacity="0"/>
103+</linearGradient>
104+<linearGradient id="paint1_linear_950_709" x1="378.103" y1="102.554" x2="245.778" y2="114.83" gradientUnits="userSpaceOnUse">
105+<stop stop-color="white"/>
106+<stop offset="1" stop-color="white" stop-opacity="0"/>
107+</linearGradient>
108+<linearGradient id="paint2_linear_950_709" x1="378.103" y1="217.446" x2="245.778" y2="205.17" gradientUnits="userSpaceOnUse">
109+<stop stop-color="white"/>
110+<stop offset="1" stop-color="white" stop-opacity="0"/>
111+</linearGradient>
112+</defs>
113+</svg>
docs/public/landing/dark/nuxt-image.svg+20−0
@@ -0,0 +1,20 @@
1+<svg width="423" height="339" viewBox="0 0 423 339" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<rect width="423" height="268.719" rx="11" fill="url(#paint0_linear_2117_749)" fill-opacity="0.2"/>
3+<rect x="0.248139" y="0.248139" width="422.504" height="268.223" rx="10.7519" stroke="url(#paint1_linear_2117_749)" stroke-opacity="0.4" stroke-width="0.496278"/>
4+<path d="M388.114 62.5374C388.114 77.6857 375.911 89.9658 360.859 89.9658C345.806 89.9658 333.604 77.6857 333.604 62.5374C333.604 47.389 345.806 35.1089 360.859 35.1089C375.911 35.1089 388.114 47.389 388.114 62.5374Z" fill="white" fill-opacity="0.3"/>
5+<path d="M237.045 295.591H319.727H388.211C393.035 295.592 397.652 294.228 401.83 292.305C406.007 290.382 410.313 287.967 412.724 284.636C415.135 281.305 416.812 277.525 416.81 273.679C416.808 269.833 415.139 266.055 412.724 262.726L310.585 121.399C308.175 118.069 305.229 115.653 301.052 113.73C296.876 111.807 290.895 110.444 286.072 110.444C281.249 110.444 276.63 111.807 272.454 113.73C268.277 115.653 265.331 118.069 262.921 121.399L237.045 157.552L185.295 87.4345C182.882 84.1043 179.94 80.5953 175.762 78.6727C171.584 76.7502 166.967 76.4817 162.143 76.4817C157.32 76.4817 152.703 76.7502 148.525 78.6727C144.347 80.5953 140.043 84.1043 137.63 87.4345L10.9776 262.726C8.56302 266.055 8.256 269.833 8.25391 273.679C8.25181 277.525 8.56666 281.304 10.9776 284.635C13.3886 287.967 17.6949 290.382 21.8724 292.305C26.05 294.228 30.667 295.592 35.491 295.591H89.1561H130.821H237.045Z" fill="url(#paint2_linear_2117_749)" fill-opacity="0.3"/>
6+<defs>
7+<linearGradient id="paint0_linear_2117_749" x1="211.5" y1="0" x2="211.5" y2="122.257" gradientUnits="userSpaceOnUse">
8+<stop stop-color="white"/>
9+<stop offset="1" stop-color="white" stop-opacity="0"/>
10+</linearGradient>
11+<linearGradient id="paint1_linear_2117_749" x1="211.5" y1="-1.55412e-07" x2="211.546" y2="228.713" gradientUnits="userSpaceOnUse">
12+<stop stop-color="white"/>
13+<stop offset="1" stop-color="white" stop-opacity="0"/>
14+</linearGradient>
15+<linearGradient id="paint2_linear_2117_749" x1="221.809" y1="20.889" x2="215.072" y2="295.576" gradientUnits="userSpaceOnUse">
16+<stop stop-color="white"/>
17+<stop offset="1" stop-color="white" stop-opacity="0"/>
18+</linearGradient>
19+</defs>
20+</svg>
docs/public/landing/dark/templates-ui-pro.webp+0−0

Binary file not shown.

docs/public/landing/light/command-menu.png+0−0

Binary file not shown.

docs/public/landing/light/i18n.svg+126−0
@@ -0,0 +1,126 @@
1+<svg width="403" height="195" viewBox="0 0 403 195" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<g clip-path="url(#clip0_566_873)">
3+<g clip-path="url(#clip1_566_873)">
4+<rect x="209" width="194" height="195" rx="8" fill="url(#paint0_linear_566_873)" fill-opacity="0.2"/>
5+<rect x="209.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint1_linear_566_873)" stroke-opacity="0.4"/>
6+<rect x="312" y="54" width="73" height="36" rx="5" fill="black" fill-opacity="0.05"/>
7+<path d="M238.781 30H246.588C246.836 30 247.079 29.9354 247.294 29.8125C247.509 29.6896 247.687 29.5128 247.811 29.3C247.935 29.0871 248 28.8457 248 28.5999C248 28.3542 247.934 28.1128 247.81 27.9001L242.568 18.9001C242.444 18.6873 242.265 18.5105 242.051 18.3877C241.836 18.2648 241.592 18.2001 241.345 18.2001C241.097 18.2001 240.853 18.2648 240.638 18.3877C240.424 18.5105 240.246 18.6873 240.122 18.9001L238.781 21.2028L236.16 16.6998C236.036 16.487 235.858 16.3104 235.643 16.1875C235.428 16.0647 235.185 16 234.937 16C234.689 16 234.445 16.0647 234.231 16.1875C234.016 16.3104 233.837 16.487 233.713 16.6998L227.19 27.9001C227.066 28.1128 227 28.3542 227 28.5999C227 28.8457 227.065 29.0871 227.189 29.3C227.313 29.5128 227.491 29.6896 227.706 29.8125C227.921 29.9354 228.164 30 228.412 30H233.312C235.254 30 236.686 29.1547 237.671 27.5057L240.063 23.4001L241.344 21.2028L245.189 27.8028H240.063L238.781 30ZM233.233 27.8005L229.813 27.7998L234.939 19.0004L237.497 23.4001L235.784 26.3407C235.13 27.4107 234.387 27.8005 233.233 27.8005Z" fill="black" fill-opacity="0.1"/>
8+<line x1="282.5" y1="23.5" x2="298.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
9+<line x1="312.5" y1="23.5" x2="328.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
10+<rect x="355" y="18" width="30" height="9" rx="2.93635" fill="black" fill-opacity="0.1"/>
11+<line x1="229.5" y1="55.5" x2="244.5" y2="55.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
12+<line x1="229.5" y1="69.5" x2="286.5" y2="69.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
13+<line x1="229.5" y1="83.5" x2="286.5" y2="83.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
14+<g clip-path="url(#clip2_566_873)">
15+<line x1="229" y1="121" x2="238" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
16+<line x1="229" y1="131" x2="266" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
17+<line x1="229" y1="141" x2="266" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
18+</g>
19+<g clip-path="url(#clip3_566_873)">
20+<line x1="287" y1="121" x2="296" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
21+<line x1="287" y1="131" x2="324" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
22+<line x1="287" y1="141" x2="324" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
23+</g>
24+<g clip-path="url(#clip4_566_873)">
25+<line x1="346" y1="121" x2="355" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
26+<line x1="346" y1="131" x2="383" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
27+<line x1="346" y1="141" x2="383" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
28+</g>
29+</g>
30+<g clip-path="url(#clip5_566_873)">
31+<rect width="194" height="195" rx="8" fill="url(#paint2_linear_566_873)" fill-opacity="0.2"/>
32+<rect x="0.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint3_linear_566_873)" stroke-opacity="0.4"/>
33+<rect x="103" y="54" width="73" height="36" rx="5" fill="black" fill-opacity="0.05"/>
34+<path d="M29.7811 30H37.5876C37.8356 30 38.0792 29.9354 38.2939 29.8125C38.5086 29.6896 38.6869 29.5128 38.8108 29.3C38.9347 29.0871 38.9999 28.8457 38.9998 28.5999C38.9997 28.3542 38.9343 28.1128 38.8102 27.9001L33.5676 18.9001C33.4437 18.6873 33.2654 18.5105 33.0507 18.3877C32.836 18.2648 32.5925 18.2001 32.3446 18.2001C32.0967 18.2001 31.8532 18.2648 31.6385 18.3877C31.4238 18.5105 31.2455 18.6873 31.1216 18.9001L29.7811 21.2028L27.1602 16.6998C27.0361 16.487 26.8578 16.3104 26.6431 16.1875C26.4283 16.0647 26.1847 16 25.9368 16C25.6889 16 25.4453 16.0647 25.2305 16.1875C25.0158 16.3104 24.8375 16.487 24.7134 16.6998L18.1896 27.9001C18.0655 28.1128 18.0001 28.3542 18 28.5999C17.9999 28.8457 18.0651 29.0871 18.189 29.3C18.3129 29.5128 18.4912 29.6896 18.7059 29.8125C18.9207 29.9354 19.1643 30 19.4122 30H24.3125C26.254 30 27.6859 29.1547 28.6711 27.5057L31.063 23.4001L32.3442 21.2028L36.1893 27.8028H31.063L29.7811 30ZM24.2326 27.8005L20.8128 27.7998L25.9391 19.0004L28.4969 23.4001L26.7843 26.3407C26.13 27.4107 25.3867 27.8005 24.2326 27.8005Z" fill="black" fill-opacity="0.1"/>
35+<line x1="73.5" y1="23.5" x2="89.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
36+<line x1="103.5" y1="23.5" x2="119.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
37+<rect x="146" y="18" width="30" height="9" rx="2.93635" fill="black" fill-opacity="0.1"/>
38+<line x1="20.5" y1="55.5" x2="35.5" y2="55.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
39+<line x1="20.5" y1="69.5" x2="77.5" y2="69.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
40+<line x1="20.5" y1="83.5" x2="77.5" y2="83.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
41+<g clip-path="url(#clip6_566_873)">
42+<line x1="20" y1="121" x2="29" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
43+<line x1="20" y1="131" x2="57" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
44+<line x1="20" y1="141" x2="57" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
45+</g>
46+<g clip-path="url(#clip7_566_873)">
47+<line x1="78" y1="121" x2="87" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
48+<line x1="78" y1="131" x2="115" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
49+<line x1="78" y1="141" x2="115" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
50+</g>
51+<g clip-path="url(#clip8_566_873)">
52+<line x1="137" y1="121" x2="146" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
53+<line x1="137" y1="131" x2="174" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
54+<line x1="137" y1="141" x2="174" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
55+</g>
56+</g>
57+<g filter="url(#filter0_d_566_873)">
58+<g clip-path="url(#clip9_566_873)">
59+<foreignObject x="140.75" y="30.75" width="122.5" height="122.5"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(20.62px);clip-path:url(#bgblur_10_566_873_clip_path);height:100%;width:100%"></div></foreignObject><g data-figma-bg-blur-radius="41.25">
60+<rect x="182" y="72" width="40" height="40" rx="7.5" fill="black" fill-opacity="0.2"/>
61+<rect x="182.5" y="72.5" width="39" height="39" rx="7" stroke="black" stroke-opacity="0.4"/>
62+</g>
63+<path d="M215.9 102.55L208.9 88.55C208.814 88.3854 208.685 88.2472 208.526 88.1504C208.368 88.0535 208.186 88.0015 208 88C207.815 87.9996 207.634 88.0509 207.478 88.1481C207.321 88.2453 207.194 88.3846 207.112 88.55L204.4 93.975C202.269 93.8621 200.218 93.1277 198.5 91.8625C200.516 89.7126 201.738 86.9387 201.962 84H205C205.265 84 205.52 83.8946 205.707 83.7071C205.895 83.5196 206 83.2652 206 83C206 82.7348 205.895 82.4804 205.707 82.2929C205.52 82.1054 205.265 82 205 82H198V80C198 79.7348 197.895 79.4804 197.707 79.2929C197.52 79.1054 197.265 79 197 79C196.735 79 196.48 79.1054 196.293 79.2929C196.105 79.4804 196 79.7348 196 80V82H189C188.735 82 188.48 82.1054 188.293 82.2929C188.105 82.4804 188 82.7348 188 83C188 83.2652 188.105 83.5196 188.293 83.7071C188.48 83.8946 188.735 84 189 84H199.95C199.734 86.4501 198.694 88.7546 197 90.5375C195.945 89.4273 195.135 88.1069 194.625 86.6625C194.535 86.4122 194.35 86.2077 194.11 86.094C193.87 85.9803 193.594 85.9667 193.344 86.0562C193.093 86.1458 192.889 86.331 192.775 86.5713C192.662 86.8116 192.648 87.0872 192.738 87.3375C193.337 89.0199 194.278 90.5604 195.5 91.8625C193.619 93.255 191.34 94.0045 189 94C188.735 94 188.48 94.1054 188.293 94.2929C188.105 94.4804 188 94.7348 188 95C188 95.2652 188.105 95.5196 188.293 95.7071C188.48 95.8946 188.735 96 189 96C191.901 96.0012 194.718 95.0283 197 93.2375C198.862 94.6963 201.089 95.6172 203.438 95.9L200.113 102.55C199.994 102.787 199.973 103.062 200.055 103.314C200.137 103.567 200.315 103.777 200.55 103.9C200.79 104.014 201.064 104.031 201.316 103.947C201.568 103.864 201.777 103.685 201.9 103.45L203.625 100H212.388L214.112 103.45C214.194 103.615 214.321 103.755 214.478 103.852C214.634 103.949 214.815 104 215 104C215.155 103.997 215.308 103.963 215.45 103.9C215.685 103.777 215.864 103.568 215.947 103.316C216.031 103.064 216.014 102.79 215.9 102.55ZM204.625 98L208 91.2375L211.388 98H204.625Z" fill="black"/>
64+</g>
65+</g>
66+</g>
67+<defs>
68+<filter id="filter0_d_566_873" x="178" y="72" width="48" height="48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
69+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
70+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
71+<feOffset dy="4"/>
72+<feGaussianBlur stdDeviation="2"/>
73+<feComposite in2="hardAlpha" operator="out"/>
74+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
75+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_566_873"/>
76+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_566_873" result="shape"/>
77+</filter>
78+<clipPath id="bgblur_10_566_873_clip_path" transform="translate(-140.75 -30.75)"><rect x="182" y="72" width="40" height="40" rx="7.5"/>
79+</clipPath><linearGradient id="paint0_linear_566_873" x1="306" y1="0" x2="306" y2="88.7178" gradientUnits="userSpaceOnUse">
80+<stop/>
81+<stop offset="1" stop-opacity="0"/>
82+</linearGradient>
83+<linearGradient id="paint1_linear_566_873" x1="306" y1="-1.12777e-07" x2="306.053" y2="165.969" gradientUnits="userSpaceOnUse">
84+<stop/>
85+<stop offset="1" stop-opacity="0"/>
86+</linearGradient>
87+<linearGradient id="paint2_linear_566_873" x1="97" y1="0" x2="97" y2="88.7178" gradientUnits="userSpaceOnUse">
88+<stop/>
89+<stop offset="1" stop-opacity="0"/>
90+</linearGradient>
91+<linearGradient id="paint3_linear_566_873" x1="97" y1="-1.12777e-07" x2="97.0531" y2="165.969" gradientUnits="userSpaceOnUse">
92+<stop/>
93+<stop offset="1" stop-opacity="0"/>
94+</linearGradient>
95+<clipPath id="clip0_566_873">
96+<rect width="403" height="195" fill="white"/>
97+</clipPath>
98+<clipPath id="clip1_566_873">
99+<rect width="194" height="195" fill="white" transform="translate(209)"/>
100+</clipPath>
101+<clipPath id="clip2_566_873">
102+<rect width="41" height="24" fill="white" transform="translate(227 119)"/>
103+</clipPath>
104+<clipPath id="clip3_566_873">
105+<rect width="41" height="24" fill="white" transform="translate(285 119)"/>
106+</clipPath>
107+<clipPath id="clip4_566_873">
108+<rect width="41" height="24" fill="white" transform="translate(344 119)"/>
109+</clipPath>
110+<clipPath id="clip5_566_873">
111+<rect width="194" height="195" fill="white"/>
112+</clipPath>
113+<clipPath id="clip6_566_873">
114+<rect width="41" height="24" fill="white" transform="translate(18 119)"/>
115+</clipPath>
116+<clipPath id="clip7_566_873">
117+<rect width="41" height="24" fill="white" transform="translate(76 119)"/>
118+</clipPath>
119+<clipPath id="clip8_566_873">
120+<rect width="41" height="24" fill="white" transform="translate(135 119)"/>
121+</clipPath>
122+<clipPath id="clip9_566_873">
123+<rect x="182" y="72" width="40" height="40" rx="8" fill="white"/>
124+</clipPath>
125+</defs>
126+</svg>
docs/public/landing/light/mcp.svg+115−0
@@ -0,0 +1,115 @@
1+<svg width="651" height="319" viewBox="0 0 651 319" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<path d="M104.387 242.669C103.811 242.669 103.344 242.201 103.344 241.625V229.925H107.302V241.625C107.302 242.201 106.834 242.669 106.258 242.669H104.387Z" fill="#171717" fill-opacity="0.7"/>
3+<path d="M118.901 242.669C118.325 242.669 117.857 242.201 117.857 241.625V229.925H121.815V241.625C121.815 242.201 121.348 242.669 120.772 242.669H118.901Z" fill="#171717" fill-opacity="0.7"/>
4+<path d="M133.411 242.669C132.835 242.669 132.368 242.201 132.368 241.625V229.925H136.326V241.625C136.326 242.201 135.859 242.669 135.283 242.669H133.411Z" fill="#171717" fill-opacity="0.7"/>
5+<path d="M147.923 242.669C147.347 242.669 146.88 242.201 146.88 241.625V229.925H150.838V241.625C150.838 242.201 150.371 242.669 149.794 242.669H147.923Z" fill="#171717" fill-opacity="0.7"/>
6+<path d="M162.437 242.669C161.861 242.669 161.394 242.201 161.394 241.625V229.925H165.351V241.625C165.351 242.201 164.884 242.669 164.308 242.669H162.437Z" fill="#171717" fill-opacity="0.7"/>
7+<path d="M176.95 242.669C176.374 242.669 175.906 242.201 175.906 241.625V229.925H179.864V241.625C179.864 242.201 179.397 242.669 178.82 242.669H176.95Z" fill="#171717" fill-opacity="0.7"/>
8+<path d="M191.461 242.669C190.885 242.669 190.418 242.201 190.418 241.625V229.925H194.376V241.625C194.376 242.201 193.909 242.669 193.333 242.669H191.461Z" fill="#171717" fill-opacity="0.7"/>
9+<path d="M205.973 242.669C205.397 242.669 204.93 242.201 204.93 241.625V229.925H208.888V241.625C208.888 242.201 208.421 242.669 207.845 242.669H205.973Z" fill="#171717" fill-opacity="0.7"/>
10+<path d="M70 108.212C70 107.635 70.4671 107.168 71.0433 107.168H82.732V111.129H71.0433C70.4671 111.129 70 110.662 70 110.085L70 108.212Z" fill="#171717" fill-opacity="0.7"/>
11+<path d="M70 122.739C70 122.162 70.4671 121.694 71.0433 121.694H82.732V125.655H71.0433C70.4671 125.655 70 125.189 70 124.611L70 122.739Z" fill="#171717" fill-opacity="0.7"/>
12+<path d="M70 137.261C70 136.685 70.4671 136.217 71.0433 136.217H82.732V140.179H71.0433C70.4671 140.179 70 139.711 70 139.135L70 137.261Z" fill="#171717" fill-opacity="0.7"/>
13+<path d="M70 151.786C70 151.21 70.4671 150.742 71.0433 150.742H82.732V154.704H71.0433C70.4671 154.704 70 154.236 70 153.66L70 151.786Z" fill="#171717" fill-opacity="0.7"/>
14+<path d="M70 165.765C70 165.189 70.4671 164.721 71.0433 164.721H82.732V168.683H71.0433C70.4671 168.683 70 168.215 70 167.638L70 165.765Z" fill="#171717" fill-opacity="0.7"/>
15+<path d="M70 180.839C70 180.262 70.4671 179.795 71.0433 179.795H82.732V183.756H71.0433C70.4671 183.756 70 183.288 70 182.712L70 180.839Z" fill="#171717" fill-opacity="0.7"/>
16+<path d="M70 195.365C70 194.787 70.4671 194.32 71.0433 194.32H82.732V198.281H71.0433C70.4671 198.281 70 197.815 70 197.237L70 195.365Z" fill="#171717" fill-opacity="0.7"/>
17+<path d="M70 209.892C70 209.315 70.4671 208.848 71.0433 208.848H82.732V212.809H71.0433C70.4671 212.809 70 212.342 70 211.764L70 209.892Z" fill="#171717" fill-opacity="0.7"/>
18+<path d="M243.19 108.629C243.19 108.053 242.722 107.585 242.146 107.585H229.997V111.408H242.146C242.722 111.408 243.19 110.94 243.19 110.364V108.629Z" fill="#171717" fill-opacity="0.7"/>
19+<path d="M243.19 122.647C243.19 122.07 242.722 121.603 242.146 121.603H229.997V125.426H242.146C242.722 125.426 243.19 124.958 243.19 124.381V122.647Z" fill="#171717" fill-opacity="0.7"/>
20+<path d="M243.19 136.664C243.19 136.088 242.722 135.62 242.146 135.62H229.997V139.443H242.146C242.722 139.443 243.19 138.975 243.19 138.399V136.664Z" fill="#171717" fill-opacity="0.7"/>
21+<path d="M243.19 150.684C243.19 150.106 242.722 149.64 242.146 149.64H229.997V153.463H242.146C242.722 153.463 243.19 152.995 243.19 152.418V150.684Z" fill="#171717" fill-opacity="0.7"/>
22+<path d="M243.19 164.701C243.19 164.124 242.722 163.656 242.146 163.656H229.997V167.479H242.146C242.722 167.479 243.19 167.013 243.19 166.435V164.701Z" fill="#171717" fill-opacity="0.7"/>
23+<path d="M243.19 178.72C243.19 178.144 242.722 177.676 242.146 177.676H229.997V181.499H242.146C242.722 181.499 243.19 181.032 243.19 180.455V178.72Z" fill="#171717" fill-opacity="0.7"/>
24+<path d="M243.19 192.738C243.19 192.161 242.722 191.693 242.146 191.693H229.997V195.517H242.146C242.722 195.517 243.19 195.049 243.19 194.472V192.738Z" fill="#171717" fill-opacity="0.7"/>
25+<path d="M243.19 206.755C243.19 206.179 242.722 205.711 242.146 205.711H229.997V209.534H242.146C242.722 209.534 243.19 209.066 243.19 208.49V206.755Z" fill="#171717" fill-opacity="0.7"/>
26+<path d="M103.07 77C102.493 77 102.026 77.4678 102.026 78.0443V89.7435H105.984V78.0443C105.984 77.4678 105.517 77 104.941 77H103.07Z" fill="#171717" fill-opacity="0.7"/>
27+<path d="M117.58 77C117.004 77 116.537 77.4678 116.537 78.0443V89.7435H120.495V78.0443C120.495 77.4678 120.028 77 119.452 77H117.58Z" fill="#171717" fill-opacity="0.7"/>
28+<path d="M132.092 77C131.516 77 131.049 77.4678 131.049 78.0443V89.7435H135.007V78.0443C135.007 77.4678 134.54 77 133.963 77H132.092Z" fill="#171717" fill-opacity="0.7"/>
29+<path d="M146.604 77C146.028 77 145.561 77.4678 145.561 78.0443V89.7435H149.518V78.0443C149.518 77.4678 149.051 77 148.475 77H146.604Z" fill="#171717" fill-opacity="0.7"/>
30+<path d="M161.118 77C160.541 77 160.074 77.4678 160.074 78.0443V89.7435H164.032V78.0443C164.032 77.4678 163.565 77 162.989 77H161.118Z" fill="#171717" fill-opacity="0.7"/>
31+<path d="M175.631 77C175.055 77 174.588 77.4678 174.588 78.0443V89.7435H178.546V78.0443C178.546 77.4678 178.079 77 177.503 77H175.631Z" fill="#171717" fill-opacity="0.7"/>
32+<path d="M190.143 77C189.567 77 189.1 77.4678 189.1 78.0443V89.7435H193.058V78.0443C193.058 77.4678 192.591 77 192.015 77H190.143Z" fill="#171717" fill-opacity="0.7"/>
33+<path d="M204.654 77C204.078 77 203.61 77.4678 203.61 78.0443V89.7435H207.569V78.0443C207.569 77.4678 207.101 77 206.525 77H204.654Z" fill="#171717" fill-opacity="0.7"/>
34+<g filter="url(#filter0_d_950_880)">
35+<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" fill="#121212"/>
36+<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" stroke="#1A1A1A" stroke-width="2"/>
37+</g>
38+<g filter="url(#filter1_d_950_880)">
39+<path d="M223.737 89.7441H89.8146C86.3573 89.7441 83.5547 92.5494 83.5547 96.0099V223.661C83.5547 227.121 86.3573 229.926 89.8146 229.926H223.737C227.194 229.926 229.996 227.121 229.996 223.661V96.0099C229.996 92.5494 227.194 89.7441 223.737 89.7441Z" stroke="#1A1A1A"/>
40+</g>
41+<g filter="url(#filter2_di_950_880)">
42+<path fill-rule="evenodd" clip-rule="evenodd" d="M172.301 120.332C170.309 118.391 167.638 117.305 164.858 117.305C162.078 117.305 159.407 118.391 157.415 120.332L117.721 159.296C117.057 159.942 116.167 160.304 115.24 160.304C114.314 160.304 113.424 159.942 112.76 159.296C112.435 158.979 112.176 158.601 112 158.183C111.823 157.764 111.732 157.315 111.732 156.861C111.732 156.406 111.823 155.957 112 155.54C112.176 155.121 112.435 154.742 112.76 154.425L152.454 115.462C155.775 112.228 160.225 110.418 164.858 110.418C169.491 110.418 173.942 112.228 177.262 115.462C179.184 117.332 180.635 119.632 181.498 122.17C182.361 124.71 182.611 127.419 182.227 130.074C184.915 129.69 187.654 129.931 190.235 130.775C192.815 131.62 195.166 133.046 197.109 134.944L197.316 135.15C198.941 136.733 200.234 138.626 201.116 140.717C201.999 142.809 202.454 145.056 202.454 147.326C202.454 149.597 201.999 151.844 201.116 153.936C200.234 156.026 198.941 157.92 197.316 159.503L161.415 194.739C161.307 194.845 161.22 194.971 161.162 195.11C161.103 195.249 161.072 195.399 161.072 195.55C161.072 195.701 161.103 195.851 161.162 195.99C161.22 196.13 161.307 196.255 161.415 196.361L168.788 203.601C169.113 203.917 169.372 204.296 169.548 204.714C169.725 205.133 169.816 205.582 169.816 206.036C169.816 206.49 169.725 206.94 169.548 207.358C169.372 207.776 169.113 208.155 168.788 208.471C168.124 209.118 167.234 209.479 166.308 209.479C165.381 209.479 164.491 209.118 163.827 208.471L156.454 201.236C155.695 200.497 155.091 199.614 154.679 198.637C154.267 197.661 154.054 196.611 154.054 195.553C154.054 194.493 154.267 193.443 154.679 192.467C155.091 191.49 155.695 190.607 156.454 189.869L192.355 154.628C193.33 153.678 194.104 152.542 194.634 151.287C195.163 150.032 195.435 148.684 195.435 147.322C195.435 145.96 195.163 144.612 194.634 143.357C194.104 142.103 193.33 140.967 192.355 140.016L192.148 139.815C190.158 137.875 187.492 136.789 184.714 136.787C181.937 136.785 179.268 137.866 177.274 139.802L147.7 168.834L147.691 168.843L147.287 169.244C146.623 169.891 145.732 170.254 144.805 170.254C143.878 170.254 142.987 169.891 142.322 169.244C141.997 168.926 141.739 168.548 141.562 168.13C141.386 167.712 141.295 167.262 141.295 166.809C141.295 166.354 141.386 165.904 141.562 165.486C141.739 165.068 141.997 164.69 142.322 164.373L172.314 134.932C173.286 133.981 174.059 132.845 174.586 131.591C175.113 130.337 175.384 128.99 175.382 127.629C175.381 126.269 175.108 124.922 174.579 123.669C174.05 122.416 173.275 121.282 172.301 120.332Z" fill="white"/>
43+<path fill-rule="evenodd" clip-rule="evenodd" d="M167.34 130.072C167.665 129.755 167.924 129.376 168.1 128.959C168.277 128.54 168.368 128.091 168.368 127.637C168.368 127.182 168.277 126.733 168.1 126.314C167.924 125.897 167.665 125.518 167.34 125.201C166.676 124.554 165.785 124.191 164.858 124.191C163.931 124.191 163.04 124.554 162.375 125.201L133.019 154.019C131.393 155.603 130.101 157.495 129.218 159.587C128.336 161.678 127.881 163.926 127.881 166.196C127.881 168.466 128.336 170.713 129.218 172.804C130.101 174.896 131.393 176.789 133.019 178.371C136.34 181.605 140.79 183.414 145.423 183.414C150.056 183.414 154.506 181.605 157.827 178.371L187.187 149.553C187.513 149.237 187.772 148.859 187.948 148.44C188.124 148.022 188.215 147.572 188.215 147.118C188.215 146.665 188.124 146.214 187.948 145.797C187.772 145.378 187.513 145 187.187 144.683C186.523 144.036 185.633 143.674 184.705 143.674C183.778 143.674 182.887 144.036 182.222 144.683L152.866 173.502C150.874 175.442 148.203 176.528 145.423 176.528C142.643 176.528 139.972 175.442 137.98 173.502C137.005 172.551 136.23 171.415 135.701 170.161C135.171 168.906 134.899 167.558 134.899 166.196C134.899 164.833 135.171 163.485 135.701 162.231C136.23 160.975 137.005 159.84 137.98 158.89L167.34 130.072Z" fill="white"/>
44+</g>
45+<path opacity="0.5" d="M386 160L301.435 160L250 160" stroke="url(#paint0_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
46+<path opacity="0.5" d="M386 111H346.821C343.355 111 340.544 111.528 340.544 112.179V123.888V131.821C340.544 132.472 337.734 133 334.267 133H250" stroke="url(#paint1_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
47+<path opacity="0.5" d="M386 209H346.821C343.355 209 340.544 208.472 340.544 207.821V196.112V188.179C340.544 187.528 337.734 187 334.267 187H250" stroke="url(#paint2_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
48+<path d="M573.667 99H395.26C391.803 99 389 101.805 389 105.266V116.753C389 120.213 391.803 123.019 395.26 123.019H573.667C577.124 123.019 579.927 120.213 579.927 116.753V105.266C579.927 101.805 577.124 99 573.667 99Z" fill="#FAFAFA"/>
49+<path d="M395.26 99.5H573.667C576.847 99.5002 579.427 102.081 579.427 105.266V116.753C579.427 119.938 576.847 122.518 573.667 122.519H395.26C392.079 122.518 389.5 119.938 389.5 116.753V105.266C389.5 102.081 392.079 99.5001 395.26 99.5Z" stroke="#636262" stroke-opacity="0.2"/>
50+<path d="M397.746 111.231C397.746 108.348 400.082 106.01 402.963 106.01C405.843 106.01 408.179 108.348 408.179 111.231C408.179 114.114 405.843 116.453 402.963 116.453C400.082 116.453 397.746 114.114 397.746 111.231Z" fill="#00C16A" fill-opacity="0.25"/>
51+<path d="M402.963 113.32C404.115 113.32 405.049 112.385 405.049 111.231C405.049 110.078 404.115 109.143 402.963 109.143C401.81 109.143 400.876 110.078 400.876 111.231C400.876 112.385 401.81 113.32 402.963 113.32Z" fill="#00C16A"/>
52+<path d="M417.185 105.873L414.373 116.322H413.452L416.265 105.873H417.185ZM419.383 106.282V115.01H418.377V106.282H419.383ZM421.225 115.01V108.464H422.231V115.01H421.225ZM421.737 107.373C421.54 107.373 421.371 107.307 421.229 107.173C421.09 107.04 421.021 106.879 421.021 106.692C421.021 106.504 421.09 106.344 421.229 106.21C421.371 106.077 421.54 106.01 421.737 106.01C421.933 106.01 422.1 106.077 422.239 106.21C422.381 106.344 422.452 106.504 422.452 106.692C422.452 106.879 422.381 107.04 422.239 107.173C422.1 107.307 421.933 107.373 421.737 107.373ZM428.709 109.93L427.806 110.186C427.749 110.035 427.665 109.889 427.554 109.747C427.446 109.602 427.299 109.483 427.111 109.389C426.924 109.295 426.684 109.248 426.391 109.248C425.99 109.248 425.657 109.341 425.39 109.525C425.125 109.707 424.993 109.939 424.993 110.22C424.993 110.47 425.084 110.667 425.266 110.812C425.448 110.957 425.732 111.078 426.118 111.175L427.09 111.413C427.675 111.555 428.111 111.773 428.398 112.065C428.685 112.355 428.828 112.729 428.828 113.186C428.828 113.561 428.721 113.896 428.505 114.192C428.292 114.487 427.993 114.72 427.61 114.89C427.226 115.061 426.78 115.146 426.272 115.146C425.604 115.146 425.051 115.001 424.614 114.711C424.176 114.422 423.9 113.998 423.783 113.442L424.738 113.203C424.828 113.555 425 113.819 425.253 113.996C425.509 114.172 425.843 114.26 426.255 114.26C426.723 114.26 427.096 114.16 427.371 113.961C427.65 113.76 427.789 113.518 427.789 113.237C427.789 113.01 427.709 112.819 427.55 112.666C427.391 112.51 427.147 112.393 426.817 112.317L425.726 112.061C425.127 111.919 424.686 111.699 424.405 111.4C424.127 111.099 423.988 110.723 423.988 110.271C423.988 109.902 424.091 109.575 424.299 109.291C424.509 109.007 424.794 108.784 425.155 108.622C425.519 108.46 425.931 108.379 426.391 108.379C427.039 108.379 427.547 108.521 427.917 108.805C428.289 109.089 428.553 109.464 428.709 109.93ZM433.189 108.464V109.317H429.797V108.464H433.189ZM430.786 106.896H431.791V113.135C431.791 113.419 431.832 113.632 431.915 113.774C432 113.913 432.108 114.007 432.239 114.055C432.372 114.101 432.513 114.123 432.661 114.123C432.771 114.123 432.862 114.118 432.933 114.106C433.004 114.092 433.061 114.081 433.104 114.072L433.308 114.976C433.24 115.001 433.145 115.027 433.023 115.052C432.901 115.081 432.746 115.095 432.558 115.095C432.274 115.095 431.996 115.034 431.723 114.912C431.453 114.79 431.229 114.604 431.05 114.354C430.874 114.104 430.786 113.788 430.786 113.407V106.896ZM438.217 110.8V111.737H434.399V110.8H438.217ZM439.987 117.464V108.464H440.958V109.504H441.078C441.152 109.39 441.254 109.246 441.385 109.069C441.518 108.89 441.708 108.731 441.956 108.592C442.206 108.45 442.544 108.379 442.97 108.379C443.521 108.379 444.007 108.517 444.427 108.792C444.848 109.068 445.176 109.459 445.412 109.964C445.647 110.47 445.765 111.067 445.765 111.754C445.765 112.447 445.647 113.048 445.412 113.557C445.176 114.062 444.849 114.454 444.431 114.733C444.014 115.008 443.532 115.146 442.987 115.146C442.566 115.146 442.23 115.077 441.977 114.937C441.724 114.795 441.529 114.635 441.393 114.456C441.257 114.274 441.152 114.123 441.078 114.004H440.993V117.464H439.987ZM440.975 111.737C440.975 112.231 441.048 112.667 441.193 113.045C441.338 113.42 441.549 113.714 441.828 113.927C442.106 114.138 442.447 114.243 442.85 114.243C443.271 114.243 443.622 114.132 443.903 113.91C444.187 113.686 444.4 113.385 444.542 113.007C444.687 112.626 444.76 112.203 444.76 111.737C444.76 111.277 444.689 110.862 444.547 110.493C444.407 110.121 444.196 109.827 443.912 109.611C443.63 109.392 443.277 109.282 442.85 109.282C442.441 109.282 442.098 109.386 441.819 109.594C441.541 109.798 441.331 110.085 441.189 110.454C441.047 110.821 440.975 111.248 440.975 111.737ZM449.225 115.163C448.811 115.163 448.434 115.085 448.096 114.929C447.758 114.77 447.49 114.541 447.291 114.243C447.092 113.942 446.993 113.578 446.993 113.152C446.993 112.777 447.066 112.473 447.214 112.24C447.362 112.004 447.559 111.819 447.806 111.686C448.054 111.552 448.326 111.453 448.625 111.388C448.926 111.319 449.228 111.265 449.532 111.226C449.93 111.175 450.252 111.136 450.5 111.111C450.75 111.082 450.931 111.035 451.045 110.97C451.162 110.905 451.22 110.791 451.22 110.629V110.595C451.22 110.175 451.105 109.848 450.875 109.615C450.647 109.382 450.302 109.265 449.839 109.265C449.359 109.265 448.983 109.371 448.71 109.581C448.437 109.791 448.245 110.015 448.135 110.254L447.18 109.913C447.35 109.515 447.578 109.206 447.862 108.984C448.149 108.76 448.461 108.604 448.799 108.515C449.14 108.425 449.475 108.379 449.805 108.379C450.015 108.379 450.257 108.405 450.529 108.456C450.805 108.504 451.071 108.605 451.326 108.758C451.585 108.912 451.799 109.143 451.97 109.453C452.14 109.763 452.225 110.177 452.225 110.697V115.01H451.22V114.123H451.169C451.1 114.265 450.987 114.417 450.828 114.579C450.669 114.741 450.457 114.879 450.193 114.993C449.929 115.106 449.606 115.163 449.225 115.163ZM449.379 114.26C449.777 114.26 450.112 114.182 450.385 114.025C450.66 113.869 450.868 113.667 451.007 113.42C451.149 113.173 451.22 112.913 451.22 112.64V111.72C451.177 111.771 451.083 111.818 450.939 111.861C450.797 111.9 450.632 111.936 450.444 111.967C450.26 111.996 450.079 112.021 449.903 112.044C449.73 112.064 449.589 112.081 449.481 112.095C449.22 112.129 448.975 112.184 448.748 112.261C448.524 112.335 448.342 112.447 448.203 112.598C448.066 112.746 447.998 112.947 447.998 113.203C447.998 113.552 448.127 113.817 448.386 113.996C448.647 114.172 448.978 114.26 449.379 114.26ZM456.703 117.601C456.217 117.601 455.8 117.538 455.45 117.413C455.101 117.291 454.81 117.129 454.577 116.927C454.347 116.729 454.163 116.515 454.027 116.288L454.828 115.726C454.919 115.845 455.034 115.981 455.173 116.135C455.313 116.291 455.503 116.426 455.744 116.54C455.989 116.656 456.308 116.714 456.703 116.714C457.232 116.714 457.668 116.586 458.011 116.331C458.355 116.075 458.527 115.675 458.527 115.129V113.8H458.442C458.368 113.919 458.263 114.067 458.126 114.243C457.993 114.416 457.8 114.571 457.547 114.707C457.297 114.841 456.959 114.907 456.533 114.907C456.004 114.907 455.53 114.782 455.109 114.532C454.692 114.282 454.361 113.919 454.116 113.442C453.875 112.964 453.754 112.385 453.754 111.703C453.754 111.032 453.872 110.449 454.108 109.952C454.344 109.452 454.672 109.065 455.092 108.792C455.513 108.517 455.999 108.379 456.55 108.379C456.976 108.379 457.314 108.45 457.564 108.592C457.817 108.731 458.01 108.89 458.143 109.069C458.28 109.246 458.385 109.39 458.459 109.504H458.561V108.464H459.533V115.197C459.533 115.76 459.405 116.217 459.149 116.569C458.896 116.925 458.555 117.184 458.126 117.349C457.7 117.517 457.226 117.601 456.703 117.601ZM456.669 114.004C457.072 114.004 457.413 113.912 457.692 113.727C457.97 113.542 458.182 113.277 458.327 112.93C458.472 112.584 458.544 112.169 458.544 111.686C458.544 111.214 458.473 110.798 458.331 110.437C458.189 110.077 457.979 109.794 457.7 109.589C457.422 109.385 457.078 109.282 456.669 109.282C456.243 109.282 455.888 109.39 455.604 109.606C455.322 109.822 455.111 110.112 454.969 110.476C454.83 110.839 454.76 111.243 454.76 111.686C454.76 112.14 454.831 112.542 454.973 112.892C455.118 113.238 455.331 113.511 455.612 113.71C455.896 113.906 456.249 114.004 456.669 114.004ZM464.118 115.146C463.487 115.146 462.943 115.007 462.486 114.729C462.031 114.447 461.68 114.055 461.433 113.552C461.189 113.047 461.067 112.459 461.067 111.788C461.067 111.118 461.189 110.527 461.433 110.015C461.68 109.501 462.024 109.101 462.464 108.814C462.908 108.524 463.425 108.379 464.016 108.379C464.357 108.379 464.693 108.436 465.026 108.55C465.358 108.663 465.661 108.848 465.933 109.104C466.206 109.356 466.423 109.692 466.585 110.109C466.747 110.527 466.828 111.041 466.828 111.652V112.078H461.783V111.209H465.805C465.805 110.839 465.732 110.51 465.584 110.22C465.439 109.93 465.232 109.702 464.962 109.534C464.695 109.366 464.379 109.282 464.016 109.282C463.615 109.282 463.268 109.382 462.976 109.581C462.686 109.777 462.463 110.032 462.307 110.348C462.151 110.663 462.072 111.001 462.072 111.362V111.942C462.072 112.436 462.158 112.855 462.328 113.199C462.501 113.54 462.741 113.8 463.048 113.979C463.355 114.155 463.712 114.243 464.118 114.243C464.382 114.243 464.621 114.206 464.834 114.132C465.05 114.055 465.236 113.942 465.392 113.791C465.548 113.638 465.669 113.447 465.754 113.22L466.726 113.493C466.624 113.822 466.452 114.112 466.21 114.362C465.969 114.609 465.67 114.802 465.315 114.942C464.96 115.078 464.561 115.146 464.118 115.146ZM472.994 109.93L472.091 110.186C472.034 110.035 471.95 109.889 471.839 109.747C471.732 109.602 471.584 109.483 471.396 109.389C471.209 109.295 470.969 109.248 470.676 109.248C470.276 109.248 469.942 109.341 469.675 109.525C469.411 109.707 469.278 109.939 469.278 110.22C469.278 110.47 469.369 110.667 469.551 110.812C469.733 110.957 470.017 111.078 470.403 111.175L471.375 111.413C471.96 111.555 472.396 111.773 472.683 112.065C472.97 112.355 473.114 112.729 473.114 113.186C473.114 113.561 473.006 113.896 472.79 114.192C472.577 114.487 472.278 114.72 471.895 114.89C471.511 115.061 471.065 115.146 470.557 115.146C469.889 115.146 469.337 115.001 468.899 114.711C468.462 114.422 468.185 113.998 468.068 113.442L469.023 113.203C469.114 113.555 469.286 113.819 469.538 113.996C469.794 114.172 470.128 114.26 470.54 114.26C471.009 114.26 471.381 114.16 471.656 113.961C471.935 113.76 472.074 113.518 472.074 113.237C472.074 113.01 471.994 112.819 471.835 112.666C471.676 112.51 471.432 112.393 471.102 112.317L470.011 112.061C469.412 111.919 468.972 111.699 468.69 111.4C468.412 111.099 468.273 110.723 468.273 110.271C468.273 109.902 468.376 109.575 468.584 109.291C468.794 109.007 469.08 108.784 469.44 108.622C469.804 108.46 470.216 108.379 470.676 108.379C471.324 108.379 471.832 108.521 472.202 108.805C472.574 109.089 472.838 109.464 472.994 109.93Z" fill="#737373"/>
53+<path d="M573.667 148.019H395.26C391.803 148.019 389 150.824 389 154.284V165.771C389 169.232 391.803 172.037 395.26 172.037H573.667C577.124 172.037 579.927 169.232 579.927 165.771V154.284C579.927 150.824 577.124 148.019 573.667 148.019Z" fill="#FAFAFA"/>
54+<path d="M395.26 148.519H573.667C576.847 148.519 579.427 151.1 579.427 154.284V165.771C579.427 168.956 576.847 171.537 573.667 171.537H395.26C392.079 171.537 389.5 168.956 389.5 165.771V154.284C389.5 151.1 392.079 148.519 395.26 148.519Z" stroke="#636262" stroke-opacity="0.2"/>
55+<rect width="72.4331" height="10.4429" transform="translate(397.746 155.027)" fill="#FAFAFA"/>
56+<path d="M397.746 160.249C397.746 157.366 400.082 155.027 402.963 155.027C405.843 155.027 408.179 157.366 408.179 160.249C408.179 163.132 405.843 165.47 402.963 165.47C400.082 165.47 397.746 163.132 397.746 160.249Z" fill="#00C16A" fill-opacity="0.25"/>
57+<path d="M402.963 162.337C404.115 162.337 405.049 161.402 405.049 160.249C405.049 159.095 404.115 158.16 402.963 158.16C401.81 158.16 400.876 159.095 400.876 160.249C400.876 161.402 401.81 162.337 402.963 162.337Z" fill="#00C16A"/>
58+<path d="M417.185 154.891L414.373 165.34H413.452L416.265 154.891H417.185ZM421.02 166.618C420.534 166.618 420.116 166.556 419.767 166.431C419.417 166.309 419.126 166.147 418.893 165.945C418.663 165.746 418.48 165.533 418.343 165.306L419.145 164.743C419.235 164.863 419.35 164.999 419.49 165.152C419.629 165.309 419.819 165.444 420.061 165.557C420.305 165.674 420.625 165.732 421.02 165.732C421.548 165.732 421.984 165.604 422.328 165.348C422.672 165.093 422.843 164.692 422.843 164.147V162.817H422.758C422.684 162.936 422.579 163.084 422.443 163.26C422.309 163.434 422.116 163.588 421.863 163.725C421.613 163.858 421.275 163.925 420.849 163.925C420.321 163.925 419.846 163.8 419.426 163.55C419.008 163.3 418.677 162.936 418.433 162.459C418.191 161.982 418.071 161.402 418.071 160.721C418.071 160.05 418.189 159.466 418.424 158.969C418.66 158.469 418.988 158.083 419.409 157.81C419.829 157.534 420.315 157.397 420.866 157.397C421.292 157.397 421.63 157.468 421.88 157.61C422.133 157.749 422.326 157.908 422.46 158.087C422.596 158.263 422.701 158.408 422.775 158.522H422.877V157.482H423.849V164.215C423.849 164.777 423.721 165.235 423.466 165.587C423.213 165.942 422.872 166.202 422.443 166.367C422.017 166.534 421.542 166.618 421.02 166.618ZM420.985 163.022C421.389 163.022 421.73 162.929 422.008 162.745C422.287 162.56 422.498 162.294 422.643 161.948C422.788 161.601 422.86 161.186 422.86 160.703C422.86 160.232 422.789 159.816 422.647 159.455C422.505 159.094 422.295 158.811 422.017 158.607C421.738 158.402 421.395 158.3 420.985 158.3C420.559 158.3 420.204 158.408 419.92 158.624C419.639 158.84 419.427 159.13 419.285 159.493C419.146 159.857 419.076 160.26 419.076 160.703C419.076 161.158 419.147 161.56 419.289 161.909C419.434 162.256 419.647 162.529 419.929 162.728C420.213 162.924 420.565 163.022 420.985 163.022ZM428.434 164.164C427.804 164.164 427.26 164.025 426.802 163.746C426.348 163.465 425.997 163.073 425.75 162.57C425.505 162.064 425.383 161.476 425.383 160.806C425.383 160.135 425.505 159.544 425.75 159.033C425.997 158.519 426.341 158.118 426.781 157.831C427.224 157.542 427.741 157.397 428.332 157.397C428.673 157.397 429.01 157.453 429.342 157.567C429.674 157.681 429.977 157.865 430.25 158.121C430.522 158.374 430.74 158.709 430.902 159.127C431.064 159.544 431.145 160.059 431.145 160.669V161.096H426.099V160.226H430.122C430.122 159.857 430.048 159.527 429.9 159.238C429.755 158.948 429.548 158.719 429.278 158.551C429.011 158.384 428.696 158.3 428.332 158.3C427.931 158.3 427.585 158.4 427.292 158.598C427.002 158.794 426.779 159.05 426.623 159.365C426.467 159.681 426.389 160.019 426.389 160.38V160.959C426.389 161.453 426.474 161.873 426.645 162.216C426.818 162.557 427.058 162.817 427.365 162.996C427.672 163.172 428.028 163.26 428.434 163.26C428.699 163.26 428.937 163.223 429.15 163.15C429.366 163.073 429.552 162.959 429.708 162.809C429.865 162.655 429.985 162.465 430.071 162.238L431.042 162.51C430.94 162.84 430.768 163.13 430.527 163.38C430.285 163.627 429.987 163.82 429.632 163.959C429.277 164.096 428.877 164.164 428.434 164.164ZM435.521 157.482V158.334H432.129V157.482H435.521ZM433.118 155.914H434.123V162.152C434.123 162.436 434.164 162.65 434.247 162.792C434.332 162.931 434.44 163.025 434.571 163.073C434.704 163.118 434.845 163.141 434.993 163.141C435.103 163.141 435.194 163.135 435.265 163.124C435.336 163.11 435.393 163.098 435.436 163.09L435.64 163.993C435.572 164.019 435.477 164.044 435.355 164.07C435.233 164.098 435.078 164.113 434.89 164.113C434.606 164.113 434.328 164.051 434.055 163.929C433.785 163.807 433.561 163.621 433.382 163.371C433.206 163.121 433.118 162.806 433.118 162.425V155.914ZM440.549 159.817V160.755H436.731V159.817H440.549ZM442.319 166.482V157.482H443.29V158.522H443.41C443.484 158.408 443.586 158.263 443.717 158.087C443.85 157.908 444.04 157.749 444.288 157.61C444.538 157.468 444.876 157.397 445.302 157.397C445.853 157.397 446.339 157.534 446.759 157.81C447.18 158.086 447.508 158.476 447.744 158.982C447.979 159.488 448.097 160.084 448.097 160.772C448.097 161.465 447.979 162.066 447.744 162.574C447.508 163.08 447.181 163.472 446.763 163.75C446.346 164.026 445.864 164.164 445.319 164.164C444.898 164.164 444.562 164.094 444.309 163.955C444.056 163.813 443.862 163.652 443.725 163.473C443.589 163.292 443.484 163.141 443.41 163.022H443.325V166.482H442.319ZM443.308 160.755C443.308 161.249 443.38 161.685 443.525 162.063C443.67 162.438 443.881 162.732 444.16 162.945C444.438 163.155 444.779 163.26 445.183 163.26C445.603 163.26 445.954 163.15 446.235 162.928C446.519 162.703 446.732 162.402 446.874 162.025C447.019 161.644 447.092 161.221 447.092 160.755C447.092 160.294 447.021 159.88 446.879 159.51C446.739 159.138 446.528 158.844 446.244 158.628C445.962 158.409 445.609 158.3 445.183 158.3C444.773 158.3 444.43 158.404 444.151 158.611C443.873 158.816 443.663 159.103 443.521 159.472C443.379 159.838 443.308 160.266 443.308 160.755ZM451.558 164.181C451.143 164.181 450.766 164.103 450.428 163.946C450.09 163.787 449.822 163.559 449.623 163.26C449.424 162.959 449.325 162.596 449.325 162.169C449.325 161.794 449.398 161.49 449.546 161.257C449.694 161.022 449.891 160.837 450.138 160.703C450.386 160.57 450.658 160.471 450.957 160.405C451.258 160.337 451.56 160.283 451.864 160.243C452.262 160.192 452.585 160.154 452.832 160.128C453.082 160.1 453.263 160.053 453.377 159.988C453.494 159.922 453.552 159.809 453.552 159.647V159.613C453.552 159.192 453.437 158.865 453.207 158.632C452.979 158.4 452.634 158.283 452.171 158.283C451.691 158.283 451.315 158.388 451.042 158.598C450.769 158.809 450.577 159.033 450.467 159.272L449.512 158.931C449.683 158.533 449.91 158.223 450.194 158.002C450.481 157.777 450.793 157.621 451.131 157.533C451.472 157.442 451.808 157.397 452.137 157.397C452.347 157.397 452.589 157.422 452.862 157.473C453.137 157.522 453.403 157.623 453.658 157.776C453.917 157.929 454.131 158.161 454.302 158.471C454.472 158.78 454.558 159.195 454.558 159.715V164.027H453.552V163.141H453.501C453.433 163.283 453.319 163.435 453.16 163.597C453.001 163.759 452.789 163.897 452.525 164.01C452.261 164.124 451.938 164.181 451.558 164.181ZM451.711 163.277C452.109 163.277 452.444 163.199 452.717 163.043C452.992 162.887 453.2 162.685 453.339 162.438C453.481 162.191 453.552 161.931 453.552 161.658V160.738C453.509 160.789 453.415 160.836 453.271 160.878C453.129 160.918 452.964 160.953 452.776 160.985C452.592 161.013 452.411 161.039 452.235 161.061C452.062 161.081 451.921 161.098 451.813 161.113C451.552 161.147 451.308 161.202 451.08 161.279C450.856 161.353 450.674 161.465 450.535 161.615C450.398 161.763 450.33 161.965 450.33 162.221C450.33 162.57 450.46 162.834 450.718 163.013C450.979 163.189 451.31 163.277 451.711 163.277ZM459.035 166.618C458.549 166.618 458.132 166.556 457.782 166.431C457.433 166.309 457.142 166.147 456.909 165.945C456.679 165.746 456.495 165.533 456.359 165.306L457.16 164.743C457.251 164.863 457.366 164.999 457.505 165.152C457.645 165.309 457.835 165.444 458.076 165.557C458.321 165.674 458.64 165.732 459.035 165.732C459.564 165.732 460 165.604 460.343 165.348C460.687 165.093 460.859 164.692 460.859 164.147V162.817H460.774C460.7 162.936 460.595 163.084 460.458 163.26C460.325 163.434 460.132 163.588 459.879 163.725C459.629 163.858 459.291 163.925 458.865 163.925C458.336 163.925 457.862 163.8 457.441 163.55C457.024 163.3 456.693 162.936 456.449 162.459C456.207 161.982 456.086 161.402 456.086 160.721C456.086 160.05 456.204 159.466 456.44 158.969C456.676 158.469 457.004 158.083 457.424 157.81C457.845 157.534 458.331 157.397 458.882 157.397C459.308 157.397 459.646 157.468 459.896 157.61C460.149 157.749 460.342 157.908 460.475 158.087C460.612 158.263 460.717 158.408 460.791 158.522H460.893V157.482H461.865V164.215C461.865 164.777 461.737 165.235 461.481 165.587C461.228 165.942 460.887 166.202 460.458 166.367C460.032 166.534 459.558 166.618 459.035 166.618ZM459.001 163.022C459.404 163.022 459.745 162.929 460.024 162.745C460.302 162.56 460.514 162.294 460.659 161.948C460.804 161.601 460.876 161.186 460.876 160.703C460.876 160.232 460.805 159.816 460.663 159.455C460.521 159.094 460.311 158.811 460.032 158.607C459.754 158.402 459.41 158.3 459.001 158.3C458.575 158.3 458.22 158.408 457.936 158.624C457.654 158.84 457.443 159.13 457.301 159.493C457.162 159.857 457.092 160.26 457.092 160.703C457.092 161.158 457.163 161.56 457.305 161.909C457.45 162.256 457.663 162.529 457.944 162.728C458.228 162.924 458.581 163.022 459.001 163.022ZM466.45 164.164C465.819 164.164 465.275 164.025 464.818 163.746C464.363 163.465 464.012 163.073 463.765 162.57C463.521 162.064 463.399 161.476 463.399 160.806C463.399 160.135 463.521 159.544 463.765 159.033C464.012 158.519 464.356 158.118 464.797 157.831C465.24 157.542 465.757 157.397 466.348 157.397C466.689 157.397 467.025 157.453 467.358 157.567C467.69 157.681 467.993 157.865 468.265 158.121C468.538 158.374 468.755 158.709 468.917 159.127C469.079 159.544 469.16 160.059 469.16 160.669V161.096H464.115V160.226H468.137C468.137 159.857 468.064 159.527 467.916 159.238C467.771 158.948 467.564 158.719 467.294 158.551C467.027 158.384 466.711 158.3 466.348 158.3C465.947 158.3 465.6 158.4 465.308 158.598C465.018 158.794 464.795 159.05 464.639 159.365C464.483 159.681 464.404 160.019 464.404 160.38V160.959C464.404 161.453 464.49 161.873 464.66 162.216C464.833 162.557 465.074 162.817 465.38 162.996C465.687 163.172 466.044 163.26 466.45 163.26C466.714 163.26 466.953 163.223 467.166 163.15C467.382 163.073 467.568 162.959 467.724 162.809C467.88 162.655 468.001 162.465 468.086 162.238L469.058 162.51C468.956 162.84 468.784 163.13 468.542 163.38C468.301 163.627 468.002 163.82 467.647 163.959C467.292 164.096 466.893 164.164 466.45 164.164Z" fill="#737373"/>
59+<path d="M573.667 197.037H395.26C391.803 197.037 389 199.842 389 203.303V214.79C389 218.25 391.803 221.056 395.26 221.056H573.667C577.124 221.056 579.927 218.25 579.927 214.79V203.303C579.927 199.842 577.124 197.037 573.667 197.037Z" fill="#FAFAFA"/>
60+<path d="M395.26 197.537H573.667C576.847 197.537 579.427 200.118 579.427 203.303V214.79C579.427 217.975 576.847 220.555 573.667 220.556H395.26C392.079 220.556 389.5 217.975 389.5 214.79V203.303C389.5 200.118 392.079 197.537 395.26 197.537Z" stroke="#636262" stroke-opacity="0.2"/>
61+<rect width="134.433" height="10.4429" transform="translate(397.746 204.047)" fill="#FAFAFA"/>
62+<path d="M397.746 209.268C397.746 206.385 400.082 204.047 402.963 204.047C405.843 204.047 408.179 206.385 408.179 209.268C408.179 212.152 405.843 214.49 402.963 214.49C400.082 214.49 397.746 212.152 397.746 209.268Z" fill="#00C16A" fill-opacity="0.25"/>
63+<path d="M402.963 211.357C404.115 211.357 405.049 210.422 405.049 209.268C405.049 208.115 404.115 207.18 402.963 207.18C401.81 207.18 400.876 208.115 400.876 209.268C400.876 210.422 401.81 211.357 402.963 211.357Z" fill="#00C16A"/>
64+<path d="M417.185 203.911L414.373 214.359H413.452L416.265 203.911H417.185ZM421.02 215.638C420.534 215.638 420.116 215.575 419.767 215.45C419.417 215.328 419.126 215.166 418.893 214.964C418.663 214.766 418.48 214.553 418.343 214.325L419.145 213.763C419.235 213.882 419.35 214.018 419.49 214.172C419.629 214.328 419.819 214.463 420.061 214.577C420.305 214.693 420.625 214.751 421.02 214.751C421.548 214.751 421.984 214.624 422.328 214.368C422.672 214.112 422.843 213.712 422.843 213.166V211.837H422.758C422.684 211.956 422.579 212.104 422.443 212.28C422.309 212.453 422.116 212.608 421.863 212.744C421.613 212.878 421.275 212.945 420.849 212.945C420.321 212.945 419.846 212.82 419.426 212.57C419.008 212.32 418.677 211.956 418.433 211.479C418.191 211.001 418.071 210.422 418.071 209.74C418.071 209.07 418.189 208.486 418.424 207.989C418.66 207.489 418.988 207.102 419.409 206.83C419.829 206.554 420.315 206.416 420.866 206.416C421.292 206.416 421.63 206.487 421.88 206.629C422.133 206.768 422.326 206.928 422.46 207.107C422.596 207.283 422.701 207.428 422.775 207.541H422.877V206.501H423.849V213.234C423.849 213.797 423.721 214.254 423.466 214.607C423.213 214.962 422.872 215.222 422.443 215.386C422.017 215.554 421.542 215.638 421.02 215.638ZM420.985 212.041C421.389 212.041 421.73 211.949 422.008 211.764C422.287 211.58 422.498 211.314 422.643 210.967C422.788 210.621 422.86 210.206 422.86 209.723C422.86 209.251 422.789 208.835 422.647 208.474C422.505 208.114 422.295 207.831 422.017 207.626C421.738 207.422 421.395 207.32 420.985 207.32C420.559 207.32 420.204 207.428 419.92 207.643C419.639 207.859 419.427 208.149 419.285 208.513C419.146 208.876 419.076 209.28 419.076 209.723C419.076 210.178 419.147 210.58 419.289 210.929C419.434 211.276 419.647 211.548 419.929 211.747C420.213 211.943 420.565 212.041 420.985 212.041ZM428.434 213.183C427.804 213.183 427.26 213.044 426.802 212.766C426.348 212.484 425.997 212.092 425.75 211.589C425.505 211.084 425.383 210.496 425.383 209.825C425.383 209.155 425.505 208.564 425.75 208.053C425.997 207.538 426.341 207.138 426.781 206.851C427.224 206.561 427.741 206.416 428.332 206.416C428.673 206.416 429.01 206.473 429.342 206.587C429.674 206.7 429.977 206.885 430.25 207.141C430.522 207.393 430.74 207.729 430.902 208.146C431.064 208.564 431.145 209.078 431.145 209.689V210.115H426.099V209.246H430.122C430.122 208.876 430.048 208.547 429.9 208.257C429.755 207.967 429.548 207.739 429.278 207.571C429.011 207.403 428.696 207.32 428.332 207.32C427.931 207.32 427.585 207.419 427.292 207.618C427.002 207.814 426.779 208.07 426.623 208.385C426.467 208.7 426.389 209.038 426.389 209.399V209.979C426.389 210.473 426.474 210.892 426.645 211.236C426.818 211.577 427.058 211.837 427.365 212.016C427.672 212.192 428.028 212.28 428.434 212.28C428.699 212.28 428.937 212.243 429.15 212.169C429.366 212.092 429.552 211.979 429.708 211.828C429.865 211.675 429.985 211.484 430.071 211.257L431.042 211.53C430.94 211.859 430.768 212.149 430.527 212.399C430.285 212.646 429.987 212.839 429.632 212.979C429.277 213.115 428.877 213.183 428.434 213.183ZM435.521 206.501V207.354H432.129V206.501H435.521ZM433.118 204.933H434.123V211.172C434.123 211.456 434.164 211.669 434.247 211.811C434.332 211.95 434.44 212.044 434.571 212.092C434.704 212.138 434.845 212.161 434.993 212.161C435.103 212.161 435.194 212.155 435.265 212.143C435.336 212.129 435.393 212.118 435.436 212.109L435.64 213.013C435.572 213.038 435.477 213.064 435.355 213.089C435.233 213.118 435.078 213.132 434.89 213.132C434.606 213.132 434.328 213.071 434.055 212.949C433.785 212.827 433.561 212.641 433.382 212.391C433.206 212.141 433.118 211.825 433.118 211.445V204.933ZM440.549 208.837V209.774H436.731V208.837H440.549ZM442.319 213.047V206.501H443.29V207.524H443.376C443.512 207.175 443.732 206.903 444.036 206.71C444.34 206.514 444.705 206.416 445.131 206.416C445.563 206.416 445.923 206.514 446.21 206.71C446.499 206.903 446.725 207.175 446.887 207.524H446.955C447.123 207.186 447.374 206.918 447.71 206.719C448.045 206.517 448.447 206.416 448.915 206.416C449.501 206.416 449.979 206.599 450.352 206.966C450.724 207.33 450.91 207.896 450.91 208.666V213.047H449.904V208.666C449.904 208.183 449.772 207.838 449.508 207.631C449.244 207.423 448.933 207.32 448.575 207.32C448.114 207.32 447.758 207.459 447.505 207.737C447.252 208.013 447.126 208.362 447.126 208.786V213.047H446.103V208.564C446.103 208.192 445.982 207.892 445.741 207.665C445.499 207.435 445.188 207.32 444.808 207.32C444.546 207.32 444.302 207.389 444.075 207.528C443.85 207.668 443.668 207.861 443.529 208.108C443.393 208.352 443.325 208.635 443.325 208.956V213.047H442.319ZM452.749 213.047V206.501H453.754V213.047H452.749ZM453.26 205.411C453.064 205.411 452.895 205.344 452.753 205.21C452.614 205.077 452.544 204.916 452.544 204.729C452.544 204.541 452.614 204.381 452.753 204.247C452.895 204.114 453.064 204.047 453.26 204.047C453.456 204.047 453.624 204.114 453.763 204.247C453.905 204.381 453.976 204.541 453.976 204.729C453.976 204.916 453.905 205.077 453.763 205.21C453.624 205.344 453.456 205.411 453.26 205.411ZM458.238 215.638C457.752 215.638 457.335 215.575 456.985 215.45C456.636 215.328 456.345 215.166 456.112 214.964C455.882 214.766 455.699 214.553 455.562 214.325L456.363 213.763C456.454 213.882 456.569 214.018 456.708 214.172C456.848 214.328 457.038 214.463 457.279 214.577C457.524 214.693 457.843 214.751 458.238 214.751C458.767 214.751 459.203 214.624 459.547 214.368C459.89 214.112 460.062 213.712 460.062 213.166V211.837H459.977C459.903 211.956 459.798 212.104 459.662 212.28C459.528 212.453 459.335 212.608 459.082 212.744C458.832 212.878 458.494 212.945 458.068 212.945C457.539 212.945 457.065 212.82 456.645 212.57C456.227 212.32 455.896 211.956 455.652 211.479C455.41 211.001 455.289 210.422 455.289 209.74C455.289 209.07 455.407 208.486 455.643 207.989C455.879 207.489 456.207 207.102 456.627 206.83C457.048 206.554 457.534 206.416 458.085 206.416C458.511 206.416 458.849 206.487 459.099 206.629C459.352 206.768 459.545 206.928 459.679 207.107C459.815 207.283 459.92 207.428 459.994 207.541H460.096V206.501H461.068V213.234C461.068 213.797 460.94 214.254 460.684 214.607C460.431 214.962 460.091 215.222 459.662 215.386C459.235 215.554 458.761 215.638 458.238 215.638ZM458.204 212.041C458.608 212.041 458.949 211.949 459.227 211.764C459.505 211.58 459.717 211.314 459.862 210.967C460.007 210.621 460.079 210.206 460.079 209.723C460.079 209.251 460.008 208.835 459.866 208.474C459.724 208.114 459.514 207.831 459.235 207.626C458.957 207.422 458.613 207.32 458.204 207.32C457.778 207.32 457.423 207.428 457.139 207.643C456.858 207.859 456.646 208.149 456.504 208.513C456.365 208.876 456.295 209.28 456.295 209.723C456.295 210.178 456.366 210.58 456.508 210.929C456.653 211.276 456.866 211.548 457.147 211.747C457.431 211.943 457.784 212.041 458.204 212.041ZM462.909 213.047V206.501H463.88V207.49H463.949C464.068 207.166 464.284 206.903 464.596 206.702C464.909 206.5 465.261 206.399 465.653 206.399C465.727 206.399 465.819 206.401 465.93 206.403C466.041 206.406 466.125 206.411 466.181 206.416V207.439C466.147 207.43 466.069 207.418 465.947 207.401C465.828 207.381 465.701 207.371 465.568 207.371C465.25 207.371 464.966 207.437 464.716 207.571C464.468 207.702 464.272 207.884 464.127 208.116C463.985 208.347 463.914 208.609 463.914 208.905V213.047H462.909ZM469.3 213.2C468.885 213.2 468.509 213.122 468.17 212.966C467.832 212.807 467.564 212.578 467.365 212.28C467.166 211.979 467.067 211.615 467.067 211.189C467.067 210.814 467.141 210.51 467.288 210.277C467.436 210.041 467.634 209.857 467.881 209.723C468.128 209.589 468.401 209.49 468.699 209.425C469 209.357 469.303 209.303 469.607 209.263C470.004 209.212 470.327 209.173 470.574 209.148C470.824 209.119 471.006 209.072 471.119 209.007C471.236 208.942 471.294 208.828 471.294 208.666V208.632C471.294 208.212 471.179 207.885 470.949 207.652C470.722 207.419 470.376 207.303 469.913 207.303C469.433 207.303 469.057 207.408 468.784 207.618C468.511 207.828 468.32 208.053 468.209 208.291L467.254 207.95C467.425 207.553 467.652 207.243 467.936 207.021C468.223 206.797 468.536 206.641 468.874 206.553C469.214 206.462 469.55 206.416 469.879 206.416C470.089 206.416 470.331 206.442 470.604 206.493C470.879 206.541 471.145 206.642 471.401 206.795C471.659 206.949 471.874 207.18 472.044 207.49C472.214 207.8 472.3 208.214 472.3 208.734V213.047H471.294V212.161H471.243C471.175 212.303 471.061 212.455 470.902 212.616C470.743 212.778 470.531 212.916 470.267 213.03C470.003 213.143 469.68 213.2 469.3 213.2ZM469.453 212.297C469.851 212.297 470.186 212.219 470.459 212.062C470.734 211.906 470.942 211.705 471.081 211.457C471.223 211.21 471.294 210.95 471.294 210.678V209.757C471.251 209.808 471.158 209.855 471.013 209.898C470.871 209.937 470.706 209.973 470.518 210.004C470.334 210.033 470.153 210.058 469.977 210.081C469.804 210.101 469.663 210.118 469.555 210.132C469.294 210.166 469.05 210.222 468.822 210.298C468.598 210.372 468.416 210.484 468.277 210.635C468.141 210.783 468.072 210.984 468.072 211.24C468.072 211.589 468.202 211.854 468.46 212.033C468.722 212.209 469.053 212.297 469.453 212.297ZM476.982 206.501V207.354H473.59V206.501H476.982ZM474.578 204.933H475.584V211.172C475.584 211.456 475.625 211.669 475.708 211.811C475.793 211.95 475.901 212.044 476.032 212.092C476.165 212.138 476.306 212.161 476.453 212.161C476.564 212.161 476.655 212.155 476.726 212.143C476.797 212.129 476.854 212.118 476.897 212.109L477.101 213.013C477.033 213.038 476.938 213.064 476.816 213.089C476.694 213.118 476.539 213.132 476.351 213.132C476.067 213.132 475.789 213.071 475.516 212.949C475.246 212.827 475.022 212.641 474.843 212.391C474.667 212.141 474.578 211.825 474.578 211.445V204.933ZM478.495 213.047V206.501H479.5V213.047H478.495ZM479.006 205.411C478.81 205.411 478.641 205.344 478.499 205.21C478.36 205.077 478.29 204.916 478.29 204.729C478.29 204.541 478.36 204.381 478.499 204.247C478.641 204.114 478.81 204.047 479.006 204.047C479.202 204.047 479.37 204.114 479.509 204.247C479.651 204.381 479.722 204.541 479.722 204.729C479.722 204.916 479.651 205.077 479.509 205.21C479.37 205.344 479.202 205.411 479.006 205.411ZM484.001 213.183C483.411 213.183 482.892 213.043 482.446 212.761C482.003 212.48 481.656 212.087 481.406 211.581C481.159 211.075 481.036 210.484 481.036 209.808C481.036 209.126 481.159 208.531 481.406 208.023C481.656 207.514 482.003 207.119 482.446 206.838C482.892 206.557 483.411 206.416 484.001 206.416C484.592 206.416 485.109 206.557 485.553 206.838C485.999 207.119 486.345 207.514 486.592 208.023C486.842 208.531 486.967 209.126 486.967 209.808C486.967 210.484 486.842 211.075 486.592 211.581C486.345 212.087 485.999 212.48 485.553 212.761C485.109 213.043 484.592 213.183 484.001 213.183ZM484.001 212.28C484.45 212.28 484.82 212.165 485.109 211.935C485.399 211.705 485.614 211.402 485.753 211.027C485.892 210.652 485.962 210.246 485.962 209.808C485.962 209.371 485.892 208.963 485.753 208.585C485.614 208.207 485.399 207.902 485.109 207.669C484.82 207.436 484.45 207.32 484.001 207.32C483.553 207.32 483.183 207.436 482.893 207.669C482.604 207.902 482.389 208.207 482.25 208.585C482.111 208.963 482.041 209.371 482.041 209.808C482.041 210.246 482.111 210.652 482.25 211.027C482.389 211.402 482.604 211.705 482.893 211.935C483.183 212.165 483.553 212.28 484.001 212.28ZM489.508 209.109V213.047H488.502V206.501H489.474V207.524H489.559C489.713 207.192 489.946 206.925 490.258 206.723C490.571 206.518 490.974 206.416 491.468 206.416C491.912 206.416 492.299 206.507 492.632 206.689C492.964 206.868 493.223 207.141 493.407 207.507C493.592 207.871 493.684 208.331 493.684 208.888V213.047H492.679V208.956C492.679 208.442 492.545 208.041 492.278 207.754C492.011 207.464 491.645 207.32 491.179 207.32C490.858 207.32 490.571 207.389 490.318 207.528C490.068 207.668 489.87 207.871 489.725 208.138C489.581 208.405 489.508 208.729 489.508 209.109ZM499.272 208.837V209.774H495.454V208.837H499.272ZM503.684 215.638C503.198 215.638 502.78 215.575 502.431 215.45C502.081 215.328 501.79 215.166 501.557 214.964C501.327 214.766 501.144 214.553 501.007 214.325L501.809 213.763C501.9 213.882 502.015 214.018 502.154 214.172C502.293 214.328 502.483 214.463 502.725 214.577C502.969 214.693 503.289 214.751 503.684 214.751C504.212 214.751 504.648 214.624 504.992 214.368C505.336 214.112 505.507 213.712 505.507 213.166V211.837H505.422C505.348 211.956 505.243 212.104 505.107 212.28C504.973 212.453 504.78 212.608 504.527 212.744C504.277 212.878 503.939 212.945 503.513 212.945C502.985 212.945 502.51 212.82 502.09 212.57C501.672 212.32 501.341 211.956 501.097 211.479C500.855 211.001 500.735 210.422 500.735 209.74C500.735 209.07 500.853 208.486 501.088 207.989C501.324 207.489 501.652 207.102 502.073 206.83C502.493 206.554 502.979 206.416 503.53 206.416C503.956 206.416 504.294 206.487 504.544 206.629C504.797 206.768 504.99 206.928 505.124 207.107C505.26 207.283 505.365 207.428 505.439 207.541H505.542V206.501H506.513V213.234C506.513 213.797 506.385 214.254 506.13 214.607C505.877 214.962 505.536 215.222 505.107 215.386C504.681 215.554 504.206 215.638 503.684 215.638ZM503.65 212.041C504.053 212.041 504.394 211.949 504.672 211.764C504.951 211.58 505.162 211.314 505.307 210.967C505.452 210.621 505.525 210.206 505.525 209.723C505.525 209.251 505.453 208.835 505.311 208.474C505.169 208.114 504.959 207.831 504.681 207.626C504.402 207.422 504.059 207.32 503.65 207.32C503.223 207.32 502.868 207.428 502.584 207.643C502.303 207.859 502.091 208.149 501.949 208.513C501.81 208.876 501.74 209.28 501.74 209.723C501.74 210.178 501.811 210.58 501.953 210.929C502.098 211.276 502.311 211.548 502.593 211.747C502.877 211.943 503.229 212.041 503.65 212.041ZM512.479 210.371V206.501H513.485V213.047H512.479V211.939H512.411C512.257 212.271 512.019 212.554 511.695 212.787C511.371 213.017 510.962 213.132 510.468 213.132C510.059 213.132 509.695 213.043 509.377 212.864C509.059 212.682 508.809 212.409 508.627 212.045C508.445 211.679 508.354 211.217 508.354 210.661V206.501H509.36V210.592C509.36 211.07 509.493 211.45 509.76 211.734C510.03 212.018 510.374 212.161 510.792 212.161C511.042 212.161 511.296 212.097 511.554 211.969C511.816 211.841 512.034 211.645 512.211 211.381C512.39 211.116 512.479 210.78 512.479 210.371ZM515.327 213.047V206.501H516.332V213.047H515.327ZM515.838 205.411C515.642 205.411 515.473 205.344 515.331 205.21C515.192 205.077 515.122 204.916 515.122 204.729C515.122 204.541 515.192 204.381 515.331 204.247C515.473 204.114 515.642 204.047 515.838 204.047C516.034 204.047 516.202 204.114 516.341 204.247C516.483 204.381 516.554 204.541 516.554 204.729C516.554 204.916 516.483 205.077 516.341 205.21C516.202 205.344 516.034 205.411 515.838 205.411ZM520.646 213.183C520.1 213.183 519.619 213.045 519.201 212.77C518.784 212.491 518.457 212.099 518.221 211.594C517.985 211.085 517.868 210.484 517.868 209.791C517.868 209.104 517.985 208.507 518.221 208.001C518.457 207.496 518.785 207.105 519.206 206.83C519.626 206.554 520.112 206.416 520.663 206.416C521.089 206.416 521.426 206.487 521.673 206.629C521.923 206.768 522.113 206.928 522.244 207.107C522.377 207.283 522.481 207.428 522.555 207.541H522.64V204.32H523.646V213.047H522.674V212.041H522.555C522.481 212.161 522.376 212.311 522.24 212.493C522.103 212.672 521.909 212.832 521.656 212.974C521.403 213.114 521.066 213.183 520.646 213.183ZM520.782 212.28C521.186 212.28 521.527 212.175 521.805 211.964C522.083 211.751 522.295 211.457 522.44 211.082C522.585 210.705 522.657 210.268 522.657 209.774C522.657 209.286 522.586 208.858 522.444 208.491C522.302 208.122 522.092 207.835 521.814 207.631C521.535 207.423 521.191 207.32 520.782 207.32C520.356 207.32 520.001 207.429 519.717 207.648C519.436 207.864 519.224 208.158 519.082 208.53C518.943 208.899 518.873 209.314 518.873 209.774C518.873 210.24 518.944 210.663 519.086 211.044C519.231 211.422 519.444 211.723 519.725 211.947C520.01 212.169 520.362 212.28 520.782 212.28ZM528.372 213.183C527.741 213.183 527.197 213.044 526.74 212.766C526.285 212.484 525.934 212.092 525.687 211.589C525.443 211.084 525.321 210.496 525.321 209.825C525.321 209.155 525.443 208.564 525.687 208.053C525.934 207.538 526.278 207.138 526.718 206.851C527.162 206.561 527.679 206.416 528.27 206.416C528.61 206.416 528.947 206.473 529.279 206.587C529.612 206.7 529.914 206.885 530.187 207.141C530.46 207.393 530.677 207.729 530.839 208.146C531.001 208.564 531.082 209.078 531.082 209.689V210.115H526.037V209.246H530.059C530.059 208.876 529.985 208.547 529.838 208.257C529.693 207.967 529.485 207.739 529.216 207.571C528.949 207.403 528.633 207.32 528.27 207.32C527.869 207.32 527.522 207.419 527.23 207.618C526.94 207.814 526.717 208.07 526.561 208.385C526.404 208.7 526.326 209.038 526.326 209.399V209.979C526.326 210.473 526.412 210.892 526.582 211.236C526.755 211.577 526.995 211.837 527.302 212.016C527.609 212.192 527.966 212.28 528.372 212.28C528.636 212.28 528.875 212.243 529.088 212.169C529.304 212.092 529.49 211.979 529.646 211.828C529.802 211.675 529.923 211.484 530.008 211.257L530.98 211.53C530.877 211.859 530.706 212.149 530.464 212.399C530.223 212.646 529.924 212.839 529.569 212.979C529.214 213.115 528.815 213.183 528.372 213.183Z" fill="#737373"/>
65+<defs>
66+<filter id="filter0_d_950_880" x="81.832" y="87.8408" width="149.888" height="143.987" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
67+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
68+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
69+<feOffset/>
70+<feGaussianBlur stdDeviation="3"/>
71+<feComposite in2="hardAlpha" operator="out"/>
72+<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
73+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
74+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
75+</filter>
76+<filter id="filter1_d_950_880" x="77.0547" y="83.2441" width="159.441" height="153.183" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
77+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
78+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
79+<feOffset/>
80+<feGaussianBlur stdDeviation="3"/>
81+<feComposite in2="hardAlpha" operator="out"/>
82+<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
83+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
84+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
85+</filter>
86+<filter id="filter2_di_950_880" x="106.632" y="109.318" width="100.922" height="109.262" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
87+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
88+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
89+<feOffset dy="4"/>
90+<feGaussianBlur stdDeviation="2.55"/>
91+<feComposite in2="hardAlpha" operator="out"/>
92+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.93 0"/>
93+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
94+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
95+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
96+<feOffset dy="2"/>
97+<feGaussianBlur stdDeviation="2.4"/>
98+<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
99+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
100+<feBlend mode="normal" in2="shape" result="effect2_innerShadow_950_880"/>
101+</filter>
102+<linearGradient id="paint0_linear_950_880" x1="354.092" y1="160" x2="274.648" y2="124.038" gradientUnits="userSpaceOnUse">
103+<stop/>
104+<stop offset="1" stop-opacity="0"/>
105+</linearGradient>
106+<linearGradient id="paint1_linear_950_880" x1="378.103" y1="102.554" x2="245.778" y2="114.83" gradientUnits="userSpaceOnUse">
107+<stop/>
108+<stop offset="1" stop-opacity="0"/>
109+</linearGradient>
110+<linearGradient id="paint2_linear_950_880" x1="378.103" y1="217.446" x2="245.778" y2="205.17" gradientUnits="userSpaceOnUse">
111+<stop/>
112+<stop offset="1" stop-opacity="0"/>
113+</linearGradient>
114+</defs>
115+</svg>
docs/public/landing/light/nuxt-image.svg+20−0
@@ -0,0 +1,20 @@
1+<svg width="423" height="339" viewBox="0 0 423 339" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<rect width="423" height="268.719" rx="11" fill="url(#paint0_linear_2163_2287)" fill-opacity="0.2"/>
3+<rect x="0.248139" y="0.248139" width="422.504" height="268.223" rx="10.7519" stroke="url(#paint1_linear_2163_2287)" stroke-opacity="0.4" stroke-width="0.496278"/>
4+<path d="M388.114 62.5374C388.114 77.6857 375.911 89.9658 360.859 89.9658C345.806 89.9658 333.604 77.6857 333.604 62.5374C333.604 47.389 345.806 35.1089 360.859 35.1089C375.911 35.1089 388.114 47.389 388.114 62.5374Z" fill="black" fill-opacity="0.3"/>
5+<path d="M237.045 295.591H319.727H388.211C393.035 295.592 397.652 294.228 401.83 292.305C406.007 290.382 410.313 287.967 412.724 284.636C415.135 281.305 416.812 277.525 416.81 273.679C416.808 269.833 415.139 266.055 412.724 262.726L310.585 121.399C308.175 118.069 305.229 115.653 301.052 113.73C296.876 111.807 290.895 110.444 286.072 110.444C281.249 110.444 276.63 111.807 272.454 113.73C268.277 115.653 265.331 118.069 262.921 121.399L237.045 157.552L185.295 87.4345C182.882 84.1043 179.94 80.5953 175.762 78.6727C171.584 76.7502 166.967 76.4817 162.143 76.4817C157.32 76.4817 152.703 76.7502 148.525 78.6727C144.347 80.5953 140.043 84.1043 137.63 87.4345L10.9776 262.726C8.56302 266.055 8.256 269.833 8.25391 273.679C8.25181 277.525 8.56666 281.304 10.9776 284.635C13.3886 287.967 17.6949 290.382 21.8724 292.305C26.05 294.228 30.667 295.592 35.491 295.591H89.1561H130.821H237.045Z" fill="url(#paint2_linear_2163_2287)" fill-opacity="0.3"/>
6+<defs>
7+<linearGradient id="paint0_linear_2163_2287" x1="211.5" y1="0" x2="211.5" y2="122.257" gradientUnits="userSpaceOnUse">
8+<stop/>
9+<stop offset="1" stop-opacity="0"/>
10+</linearGradient>
11+<linearGradient id="paint1_linear_2163_2287" x1="211.5" y1="-1.55412e-07" x2="211.546" y2="228.713" gradientUnits="userSpaceOnUse">
12+<stop/>
13+<stop offset="1" stop-opacity="0"/>
14+</linearGradient>
15+<linearGradient id="paint2_linear_2163_2287" x1="221.809" y1="20.889" x2="215.072" y2="295.576" gradientUnits="userSpaceOnUse">
16+<stop/>
17+<stop offset="1" stop-opacity="0"/>
18+</linearGradient>
19+</defs>
20+</svg>
docs/public/landing/light/templates-ui-pro.webp+0−0

Binary file not shown.

docs/public/landing/nuxt-logo-3D.svg+29−0
@@ -0,0 +1,29 @@
1+<svg width="400" height="348" viewBox="0 0 364 316" fill="none" xmlns="http://www.w3.org/2000/svg">
2+<path d="M165.499 171.171L106.762 258.281L61.6377 260.746L149.13 130.992L165.499 171.171Z" fill="url(#paint0_linear_2948_8537)"/>
3+<path d="M207.7 142.217L195.91 159.719L170.4 97.1537C170.155 96.5565 169.879 95.9747 169.573 95.4234C169.435 95.1784 169.297 94.9488 169.144 94.7191C169.006 94.4894 168.853 94.2597 168.7 94.0454C168.578 93.8616 168.44 93.6932 168.287 93.5247C168.011 93.1573 167.705 92.8051 167.383 92.4682C167.261 92.3304 167.108 92.1773 166.97 92.0548C166.848 91.9323 166.725 91.8251 166.603 91.7179C166.541 91.6567 166.495 91.6107 166.434 91.5495L194.21 113.905C196.124 115.452 197.609 117.457 198.574 119.831L207.7 142.217Z" fill="url(#paint1_linear_2948_8537)"/>
4+<path d="M246.668 197.983L236.593 212.912L209.751 252.708L199.018 253.289L189.049 268.05L177.137 285.69L182.22 289.778C168.087 303.712 151.458 311.322 132.028 312.378L66.3544 315.977C63.0317 316.145 59.908 315.395 57.2897 313.803C56.7691 313.481 56.2791 313.144 55.8197 312.761L28.0591 290.406C28.0591 290.406 28.151 290.467 28.1969 290.498C28.4878 290.727 28.7941 290.926 29.1156 291.125C31.7187 292.718 34.8576 293.468 38.1803 293.284L103.853 289.686C129.869 288.262 150.861 275.109 167.582 250.778L208.404 190.235L217.346 176.974L220.163 172.794L230.269 157.834L246.668 197.983Z" fill="url(#paint2_linear_2948_8537)"/>
5+<path d="M331.849 281.554C331.329 285.076 329.935 288.583 327.822 291.722C325.709 294.86 322.953 297.509 319.799 299.439C316.66 301.353 313.26 302.455 309.938 302.639L205.311 308.366L182.22 289.777L177.137 285.689L186.6 285.168L281.764 279.962C285.086 279.778 288.486 278.66 291.625 276.762C294.779 274.832 297.535 272.168 299.648 269.044C301.761 265.89 303.154 262.399 303.675 258.877C304.196 255.356 303.844 251.941 302.634 249.001L251.584 123.963C251.262 123.167 250.879 122.417 250.435 121.712C250.328 121.529 250.206 121.345 250.083 121.161C249.976 121.008 249.884 120.855 249.762 120.717C249.134 119.844 248.399 119.063 247.603 118.359L275.394 140.73C277.293 142.261 278.793 144.282 279.758 146.656L330.808 271.678C332.018 274.633 332.37 278.048 331.849 281.554Z" fill="url(#paint3_linear_2948_8537)"/>
6+<path d="M302.633 249.002L251.583 123.964C251.262 123.168 250.879 122.418 250.435 121.714C250.328 121.53 250.205 121.346 250.083 121.162C249.975 121.009 249.884 120.856 249.761 120.718C249.133 119.846 248.398 119.065 247.602 118.36C247.556 118.33 247.51 118.299 247.48 118.268C246.944 117.809 246.362 117.38 245.749 117.013C243.131 115.405 240.007 114.655 236.685 114.839C233.362 115.022 229.947 116.125 226.824 118.039C223.685 119.968 220.913 122.632 218.8 125.756L207.699 142.216L195.909 159.718L170.399 97.1531C170.154 96.556 169.878 95.9741 169.572 95.4229C169.434 95.1779 169.297 94.9482 169.143 94.7185C169.006 94.4889 168.852 94.2592 168.699 94.0448C168.577 93.8611 168.439 93.6926 168.286 93.5242C168.01 93.1567 167.704 92.8045 167.382 92.4677C167.26 92.3299 167.107 92.1767 166.969 92.0543C166.847 91.9318 166.724 91.8246 166.602 91.7174C166.54 91.6561 166.494 91.6102 166.433 91.549C166.341 91.4724 166.234 91.3958 166.142 91.3193C165.652 90.9059 165.116 90.5231 164.565 90.1862C161.962 88.5937 158.838 87.8435 155.5 88.0272C152.178 88.2109 148.763 89.3134 145.624 91.2274C142.485 93.1567 139.714 95.8057 137.616 98.9447L26.2671 264.115C24.1541 267.254 22.7607 270.761 22.2401 274.282C21.7041 277.789 22.0716 281.203 23.2813 284.159C24.3072 286.7 25.9456 288.829 28.0586 290.406C28.1046 290.436 28.1505 290.467 28.1964 290.498C28.4874 290.727 28.7936 290.926 29.1151 291.126C31.7182 292.718 34.8571 293.468 38.1799 293.285L103.853 289.686C129.868 288.262 150.861 275.109 167.582 250.778L208.403 190.235L217.346 176.975L220.163 172.794L230.269 157.835L246.668 197.983L267.707 249.523L209.751 252.708L199.017 253.29L189.049 268.05L177.136 285.69L186.599 285.169L281.763 279.963C285.086 279.779 288.485 278.662 291.624 276.763C294.778 274.834 297.535 272.169 299.648 269.046C301.761 265.891 303.154 262.4 303.675 258.878C304.195 255.357 303.843 251.942 302.633 249.002ZM144.782 235.482C133.727 251.284 122.947 257.409 107.528 258.235L106.762 258.281L61.6378 260.747L149.131 130.993L165.499 171.171L174.028 192.118L144.782 235.482Z" fill="url(#paint4_linear_2948_8537)"/>
7+<defs>
8+<linearGradient id="paint0_linear_2948_8537" x1="156.127" y1="244.694" x2="76.2665" y2="203.027" gradientUnits="userSpaceOnUse">
9+<stop stop-color="#00DC82"/>
10+<stop offset="1" stop-color="#058163"/>
11+</linearGradient>
12+<linearGradient id="paint1_linear_2948_8537" x1="203.976" y1="151.285" x2="169.047" y2="137.503" gradientUnits="userSpaceOnUse">
13+<stop stop-color="#00DC82"/>
14+<stop offset="1" stop-color="#058163"/>
15+</linearGradient>
16+<linearGradient id="paint2_linear_2948_8537" x1="226.943" y1="296.433" x2="108.901" y2="190.087" gradientUnits="userSpaceOnUse">
17+<stop stop-color="#00DC82"/>
18+<stop offset="1" stop-color="#058163"/>
19+</linearGradient>
20+<linearGradient id="paint3_linear_2948_8537" x1="318.102" y1="284.86" x2="199.919" y2="222.041" gradientUnits="userSpaceOnUse">
21+<stop stop-color="#00DC82"/>
22+<stop offset="1" stop-color="#058163"/>
23+</linearGradient>
24+<linearGradient id="paint4_linear_2948_8537" x1="278.471" y1="267.913" x2="125.351" y2="130.87" gradientUnits="userSpaceOnUse">
25+<stop stop-color="#00DC82"/>
26+<stop offset="1" stop-color="#2CFFCC"/>
27+</linearGradient>
28+</defs>
29+</svg>
docs/public/logo/logo-dark.svg+3−0
@@ -0,0 +1,3 @@
1+<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3+</svg>
docs/public/logo/logo-light.svg+3−0
@@ -0,0 +1,3 @@
1+<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="white"/>
3+</svg>
docs/public/logo/wordmark-dark.svg+8−0
@@ -0,0 +1,8 @@
1+<svg viewBox="0 0 139 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3+ <path fill-rule="evenodd" clip-rule="evenodd" d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z" fill="black"/>
4+ <path d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z" fill="black"/>
5+ <path d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z" fill="black"/>
6+ <path d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z" fill="black"/>
7+ <path fill-rule="evenodd" clip-rule="evenodd" d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z" fill="black"/>
8+</svg>
docs/public/logo/wordmark-light.svg+8−0
@@ -0,0 +1,8 @@
1+<svg viewBox="0 0 139 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="white"/>
3+ <path fill-rule="evenodd" clip-rule="evenodd" d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z" fill="white"/>
4+ <path d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z" fill="white"/>
5+ <path d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z" fill="white"/>
6+ <path d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z" fill="white"/>
7+ <path fill-rule="evenodd" clip-rule="evenodd" d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z" fill="white"/>
8+</svg>
docs/public/mountains.webp+0−0

Binary file not shown.

docs/skills/create-docs/SKILL.md+499−0
@@ -0,0 +1,499 @@
1+---
2+name: create-docs
3+description: |
4+ Create complete documentation sites for projects. Use when asked to:
5+ "create docs", "add documentation", "setup docs site", "generate docs",
6+ "document my project", "write docs", "initialize documentation",
7+ "add a docs folder", "create a docs website". Generates Docus-based sites
8+ with search, dark mode, MCP server, and llms.txt integration.
9+---
10+
11+# Create Docs
12+
13+Generate a complete, production-ready documentation site for any project.
14+
15+## Workflow
16+
17+1. **Analyze** - Detect package manager, monorepo structure, read context
18+2. **Initialize** - Create docs directory with correct setup
19+3. **Generate** - Write documentation pages using templates
20+4. **Configure** - Set up AI integration (MCP, llms.txt)
21+5. **Finalize** - Provide next steps with correct commands
22+
23+---
24+
25+## Package Manager Reference
26+
27+Detect from lock files, default to npm if none found:
28+
29+| Lock File | PM | Install | Run | Add |
30+|-----------|------|---------|-----|-----|
31+| `pnpm-lock.yaml` | pnpm | `pnpm install` | `pnpm run` | `pnpm add` |
32+| `package-lock.json` | npm | `npm install` | `npm run` | `npm install` |
33+| `yarn.lock` | yarn | `yarn install` | `yarn` | `yarn add` |
34+| `bun.lockb` | bun | `bun install` | `bun run` | `bun add` |
35+
36+Use `[pm]` as placeholder in commands below.
37+
38+---
39+
40+## Step 1: Analyze Project
41+
42+### Detect Project Structure
43+
44+```
45+Check for:
46+├── pnpm-workspace.yaml → pnpm monorepo
47+├── turbo.json → Turborepo monorepo
48+├── lerna.json → Lerna monorepo
49+├── nx.json → Nx monorepo
50+├── apps/ → Apps directory (monorepo)
51+├── packages/ → Packages directory (monorepo)
52+├── docs/ → Existing docs (avoid overwriting)
53+├── README.md → Main documentation source
54+└── src/ or lib/ → Source code location
55+```
56+
57+### Determine Docs Location
58+
59+| Project Type | Target Directory | Workspace Entry |
60+|--------------|------------------|-----------------|
61+| Standard project | `./docs` | N/A |
62+| Monorepo with `apps/` | `./apps/docs` | `apps/docs` |
63+| Monorepo with `packages/` | `./docs` | `docs` |
64+| Existing `docs/` folder | Ask user or `./documentation` | — |
65+
66+### Read Context Files
67+
68+| File | Extract |
69+|------|---------|
70+| `README.md` | Project name, description, features, usage examples |
71+| `package.json` | Name, description, dependencies, repository URL |
72+| `src/` or `lib/` | Exported functions, composables for API docs |
73+
74+### Detect i18n Requirement
75+
76+Check if project needs multi-language docs:
77+
78+| Indicator | Action |
79+|-----------|--------|
80+| `@nuxtjs/i18n` in dependencies | Use i18n template |
81+| `locales/` or `i18n/` folder exists | Use i18n template |
82+| Multiple language README files | Use i18n template |
83+| User explicitly mentions multiple languages | Use i18n template |
84+| None of the above | Use default template |
85+
86+---
87+
88+## Step 2: Initialize Docs
89+
90+### Create Directory Structure
91+
92+**Default template:**
93+
94+```
95+[docs-location]/
96+├── app/ # Optional: for customization
97+│ ├── app.config.ts
98+│ ├── components/
99+│ ├── layouts/
100+│ └── pages/
101+├── content/
102+│ ├── index.md
103+│ └── 1.getting-started/
104+│ ├── .navigation.yml
105+│ └── 1.introduction.md
106+├── public/
107+│ └── favicon.ico
108+├── package.json
109+└── .gitignore
110+```
111+
112+**i18n template** (if multi-language detected):
113+
114+```
115+[docs-location]/
116+├── app/
117+│ └── app.config.ts
118+├── content/
119+│ ├── en/
120+│ │ ├── index.md
121+│ │ └── 1.getting-started/
122+│ │ ├── .navigation.yml
123+│ │ └── 1.introduction.md
124+│ └── fr/ # Or other detected languages
125+│ ├── index.md
126+│ └── 1.getting-started/
127+│ ├── .navigation.yml
128+│ └── 1.introduction.md
129+├── nuxt.config.ts # Required for i18n config
130+├── public/
131+│ └── favicon.ico
132+├── package.json
133+└── .gitignore
134+```
135+
136+### Create package.json
137+
138+**Default:**
139+
140+```json
141+{
142+ "name": "[project-name]-docs",
143+ "private": true,
144+ "scripts": {
145+ "dev": "nuxt dev --extends docus",
146+ "build": "nuxt build --extends docus",
147+ "generate": "nuxt generate --extends docus",
148+ "preview": "nuxt preview --extends docus"
149+ },
150+ "dependencies": {
151+ "docus": "latest",
152+ "better-sqlite3": "^12.5.0",
153+ "nuxt": "^4.2.2"
154+ }
155+}
156+```
157+
158+**i18n** (add `@nuxtjs/i18n`):
159+
160+```json
161+{
162+ "name": "[project-name]-docs",
163+ "private": true,
164+ "scripts": {
165+ "dev": "nuxt dev --extends docus",
166+ "build": "nuxt build --extends docus",
167+ "generate": "nuxt generate --extends docus",
168+ "preview": "nuxt preview --extends docus"
169+ },
170+ "dependencies": {
171+ "@nuxtjs/i18n": "^10.2.1",
172+ "docus": "latest",
173+ "better-sqlite3": "^12.5.0",
174+ "nuxt": "^4.2.2"
175+ }
176+}
177+```
178+
179+### Create nuxt.config.ts (i18n only)
180+
181+```ts [nuxt.config.ts]
182+export default defineNuxtConfig({
183+ modules: ['@nuxtjs/i18n'],
184+ i18n: {
185+ locales: [
186+ { code: 'en', language: 'en-US', name: 'English' },
187+ { code: 'fr', language: 'fr-FR', name: 'Français' }
188+ ],
189+ defaultLocale: 'en'
190+ }
191+})
192+```
193+
194+### Create .gitignore
195+
196+```
197+node_modules
198+.nuxt
199+.output
200+.data
201+dist
202+```
203+
204+### Update Monorepo Configuration (if applicable)
205+
206+#### pnpm Monorepo
207+
208+1. Add docs to workspace and configure `onlyBuiltDependencies` (required for better-sqlite3):
209+
210+```yaml [pnpm-workspace.yaml]
211+packages:
212+ - 'apps/*'
213+ - 'docs'
214+
215+onlyBuiltDependencies:
216+ - better-sqlite3
217+```
218+
219+2. Add dev script to root package.json:
220+
221+```json [package.json]
222+{
223+ "scripts": {
224+ "docs:dev": "pnpm run --filter [docs-package-name] dev"
225+ }
226+}
227+```
228+
229+Or with directory path:
230+
231+```json [package.json]
232+{
233+ "scripts": {
234+ "docs:dev": "cd docs && pnpm dev"
235+ }
236+}
237+```
238+
239+#### npm/yarn Monorepo
240+
241+```json [package.json]
242+{
243+ "workspaces": ["apps/*", "docs"],
244+ "scripts": {
245+ "docs:dev": "npm run dev --workspace=docs"
246+ }
247+}
248+```
249+
250+---
251+
252+## Step 3: Generate Documentation
253+
254+Use templates from [references/templates.md](references/templates.md).
255+
256+**CRITICAL: MDC Component Naming**
257+
258+All Nuxt UI components in MDC must use the `u-` prefix:
259+
260+| Correct | Wrong |
261+|---------|-------|
262+| `::u-page-hero` | `::page-hero` |
263+| `::u-page-section` | `::page-section` |
264+| `:::u-page-feature` | `:::page-feature` |
265+| `:::u-button` | `:::button` |
266+| `::::u-page-card` | `::::page-card` |
267+
268+Without the `u-` prefix, Vue will fail to resolve the components.
269+
270+### Documentation Structure
271+
272+```
273+content/
274+├── index.md # Landing page
275+├── 1.getting-started/
276+│ ├── .navigation.yml
277+│ ├── 1.introduction.md
278+│ └── 2.installation.md
279+├── 2.guide/
280+│ ├── .navigation.yml
281+│ ├── 1.configuration.md
282+│ ├── 2.authentication.md
283+│ └── 3.deployment.md
284+└── 3.api/ # If applicable
285+ ├── .navigation.yml
286+ └── 1.reference.md
287+```
288+
289+### Generate Pages
290+
291+1. **Landing page** (`index.md`) - Hero + features grid
292+2. **Introduction** - What & why, use cases
293+3. **Installation** - Prerequisites, install commands
294+4. **Guide pages** - Feature documentation with action-based H2 headings
295+
296+For writing style, see [references/writing-guide.md](references/writing-guide.md).
297+For MDC components, see [references/mdc-components.md](references/mdc-components.md).
298+
299+---
300+
301+## Step 4: Configure AI Integration
302+
303+Docus automatically includes MCP server (`/mcp`) and llms.txt generation. No configuration needed.
304+
305+**Do NOT add AI Integration sections to the landing page.** These features work automatically.
306+
307+Optionally mention in the introduction page:
308+
309+```markdown
310+::note
311+This documentation includes AI integration with MCP server and automatic `llms.txt` generation.
312+::
313+```
314+
315+### Optional: app.config.ts
316+
317+```ts [app/app.config.ts]
318+export default defineAppConfig({
319+ docus: {
320+ name: '[Project Name]',
321+ description: '[Project description]',
322+ url: 'https://[docs-url]',
323+ socials: {
324+ github: '[org]/[repo]'
325+ }
326+ }
327+})
328+```
329+
330+### Optional: Theme Customization
331+
332+If the project has a design system or brand colors, customize the docs theme.
333+
334+#### Custom CSS
335+
336+Create `app/assets/css/main.css`:
337+
338+```css [app/assets/css/main.css]
339+@import "tailwindcss";
340+@import "@nuxt/ui";
341+
342+@theme {
343+ /* Custom font */
344+ --font-sans: 'Inter', sans-serif;
345+
346+ /* Custom container width */
347+ --ui-container: 90rem;
348+
349+ /* Custom primary color (use project brand color) */
350+ --color-primary-50: oklch(0.97 0.02 250);
351+ --color-primary-500: oklch(0.55 0.2 250);
352+ --color-primary-900: oklch(0.25 0.1 250);
353+}
354+```
355+
356+#### Extended app.config.ts
357+
358+```ts [app/app.config.ts]
359+export default defineAppConfig({
360+ docus: {
361+ name: '[Project Name]',
362+ description: '[Project description]',
363+ url: 'https://[docs-url]',
364+ socials: {
365+ github: '[org]/[repo]',
366+ x: '@[handle]'
367+ }
368+ },
369+ // Customize UI components
370+ ui: {
371+ colors: {
372+ primary: 'emerald',
373+ neutral: 'zinc',
374+ },
375+ pageHero: {
376+ slots: {
377+ title: 'font-semibold sm:text-6xl'
378+ }
379+ }
380+ }
381+})
382+```
383+
384+---
385+
386+## Step 5: Finalize
387+
388+Provide instructions using detected package manager.
389+
390+### Standard Project
391+
392+```
393+Documentation created in [docs-location]
394+
395+To start:
396+
397+ cd [docs-location]
398+ [pm] install
399+ [pm] run dev
400+
401+Available at http://localhost:3000
402+```
403+
404+### Monorepo
405+
406+```
407+Documentation created in [docs-location]
408+
409+To start from root:
410+
411+ [pm] install
412+ [pm] run docs:dev
413+
414+Or from docs directory:
415+
416+ cd [docs-location]
417+ [pm] run dev
418+
419+Available at http://localhost:3000
420+```
421+
422+### Features Included
423+
424+- Full-text search
425+- Dark mode
426+- MCP server for AI tools (/mcp)
427+- LLM integration (/llms.txt)
428+- SEO optimized
429+
430+### Next Steps
431+
432+1. Review generated content
433+2. Add more guides in `content/2.guide/`
434+3. Customize theme in `app.config.ts`
435+4. Deploy to Vercel/Netlify/Cloudflare
436+
437+### Suggest Follow-ups
438+
439+After documentation is created, suggest enhancements:
440+
441+```
442+Your documentation is ready!
443+
444+Would you like me to:
445+- **Customize the UI** - Match your brand colors and style
446+- **Enhance the landing page** - Add feature cards, code previews, visuals
447+- **Add i18n support** - Multi-language documentation
448+- **Set up deployment** - Deploy to Vercel, Netlify, or Cloudflare
449+
450+Let me know what you'd like to improve!
451+```
452+
453+---
454+
455+## Deployment
456+
457+| Platform | Command | Output |
458+|----------|---------|--------|
459+| Vercel | `npx vercel --prod` | Auto-detected |

40 more lines aren’t shown here.

docs/skills/create-docs/references/mdc-components.md+222−0

This diff is large: its 223 lines aren’t shown here.

docs/skills/create-docs/references/templates.md+362−0

This diff is large: its 363 lines aren’t shown here.

docs/skills/create-docs/references/writing-guide.md+111−0

This diff is large: its 112 lines aren’t shown here.

docs/skills/review-docs/SKILL.md+480−0

This diff is large: its 481 lines aren’t shown here.

docs/skills/review-docs/assets/report-template.md+214−0

This diff is large: its 215 lines aren’t shown here.

docs/skills/review-docs/references/clarity-checks.md+201−0

This diff is large: its 202 lines aren’t shown here.

docs/skills/review-docs/references/i18n-checks.md+264−0

This diff is large: its 265 lines aren’t shown here.

docs/skills/review-docs/references/seo-checks.md+219−0

This diff is large: its 220 lines aren’t shown here.

docs/skills/review-docs/references/structure-checks.md+317−0

This diff is large: its 318 lines aren’t shown here.

docs/skills/review-docs/references/technical-checks.md+538−0

This diff is large: its 539 lines aren’t shown here.

docs/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.

eslint.config.mjs+24−0

This diff is large: its 25 lines aren’t shown here.

layer/README.md+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/app.config.ts+41−0

This diff is large: its 42 lines aren’t shown here.

layer/app/app.vue+104−0

This diff is large: its 105 lines aren’t shown here.

layer/app/assets/icons/LICENSE+14−0

This diff is large: its 15 lines aren’t shown here.

layer/app/assets/icons/ai.svg+1−0

This diff is large: its 2 lines aren’t shown here.

layer/app/components/IconMenuToggle.vue+83−0

This diff is large: its 84 lines aren’t shown here.

layer/app/components/LanguageSelect.vue+81−0

This diff is large: its 82 lines aren’t shown here.

layer/app/components/OgImage/Docs.takumi.vue+43−0

This diff is large: its 44 lines aren’t shown here.

layer/app/components/OgImage/Landing.takumi.vue+67−0

This diff is large: its 68 lines aren’t shown here.

layer/app/components/app/AppFooter.vue+11−0

This diff is large: its 12 lines aren’t shown here.

layer/app/components/app/AppFooterLeft.vue+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/components/app/AppFooterRight.vue+51−0

This diff is large: its 52 lines aren’t shown here.

layer/app/components/app/AppHeader.vue+96−0

This diff is large: its 97 lines aren’t shown here.

layer/app/components/app/AppHeaderBody.vue+30−0

This diff is large: its 31 lines aren’t shown here.

layer/app/components/app/AppHeaderBottom.vue+24−0

This diff is large: its 25 lines aren’t shown here.

layer/app/components/app/AppHeaderBottomRight.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/app/components/app/AppHeaderCTA.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/app/components/app/AppHeaderCenter.vue+10−0

This diff is large: its 11 lines aren’t shown here.

layer/app/components/app/AppHeaderLeft.vue+16−0

This diff is large: its 17 lines aren’t shown here.

layer/app/components/app/AppHeaderLogo.vue+21−0

This diff is large: its 22 lines aren’t shown here.

layer/app/components/app/AppSearch.vue+54−0

This diff is large: its 55 lines aren’t shown here.

layer/app/components/app/AppSidebar.vue+316−0

This diff is large: its 317 lines aren’t shown here.

layer/app/components/app/AppSidebarFolder.vue+42−0

This diff is large: its 43 lines aren’t shown here.

layer/app/components/app/AppSidebarTree.vue+39−0

This diff is large: its 40 lines aren’t shown here.

layer/app/components/docs/DocsAsideLeftBody.vue+16−0

This diff is large: its 17 lines aren’t shown here.

layer/app/components/docs/DocsAsideLeftTop.vue+20−0

This diff is large: its 21 lines aren’t shown here.

layer/app/components/docs/DocsAsideMobileBar.vue+98−0

This diff is large: its 99 lines aren’t shown here.

layer/app/components/docs/DocsAsideRight.vue+37−0

This diff is large: its 38 lines aren’t shown here.

layer/app/components/docs/DocsAsideRightBottom.vue+45−0

This diff is large: its 46 lines aren’t shown here.

layer/app/components/docs/DocsPageHeaderLinks.vue+101−0

This diff is large: its 102 lines aren’t shown here.

layer/app/composables/useDocusColorMode.ts+7−0

This diff is large: its 8 lines aren’t shown here.

layer/app/composables/useDocusI18n.ts+51−0

This diff is large: its 52 lines aren’t shown here.

layer/app/composables/useDocusShortcuts.ts+24−0

This diff is large: its 25 lines aren’t shown here.

layer/app/composables/useLogoAssets.ts+246−0

This diff is large: its 247 lines aren’t shown here.

layer/app/composables/useSeo.ts+207−0

This diff is large: its 208 lines aren’t shown here.

layer/app/composables/useSubNavigation.ts+55−0

This diff is large: its 56 lines aren’t shown here.

layer/app/composables/useUIConfig.ts+30−0

This diff is large: its 31 lines aren’t shown here.

layer/app/error.vue+70−0

This diff is large: its 71 lines aren’t shown here.

layer/app/layouts/default.vue+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/layouts/docs.vue+7−0

This diff is large: its 8 lines aren’t shown here.

layer/app/middleware/colorMode.global.ts+8−0

This diff is large: its 9 lines aren’t shown here.

layer/app/pages/[[lang]]/[...slug].vue+146−0

This diff is large: its 147 lines aren’t shown here.

layer/app/plugins/i18n.ts+57−0

This diff is large: its 58 lines aren’t shown here.

layer/app/templates/landing.vue+38−0

This diff is large: its 39 lines aren’t shown here.

layer/app/types/index.d.ts+121−0

This diff is large: its 122 lines aren’t shown here.

layer/app/utils/assistantTools.ts+88−0

This diff is large: its 89 lines aren’t shown here.

layer/app/utils/navigation.ts+57−0

This diff is large: its 58 lines aren’t shown here.

layer/app/utils/ogImage.ts+23−0

This diff is large: its 24 lines aren’t shown here.

layer/app/utils/prerender.ts+12−0

This diff is large: its 13 lines aren’t shown here.

layer/content.config.ts+79−0

This diff is large: its 80 lines aren’t shown here.

layer/i18n/locales/ar.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/be.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/bg.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/bn.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ca.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ckb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/cs.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/da.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/de.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/el.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/en.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/es.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/et.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/fi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/fr.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/he.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/hi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/hy.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/id.json+80−0

This diff is large: its 81 lines aren’t shown here.

layer/i18n/locales/it.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ja.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/kk.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/km.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ko.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ky.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/lb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ms.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/nb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/nl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/pl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/pt-BR.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ro.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ru.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/si.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/sl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/sv.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/tr.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/uk.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ur.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/vi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/zh-CN.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/index.d.ts+33−0

This diff is large: its 34 lines aren’t shown here.

layer/modules/assistant/README.md+222−0

This diff is large: its 223 lines aren’t shown here.

layer/modules/assistant/index.ts+115−0

This diff is large: its 116 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantChat.vue+24−0

This diff is large: its 25 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantChatDisabled.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantComark.ts+10−0

This diff is large: its 11 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantFloatingInput.vue+120−0

This diff is large: its 121 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantIndicator.vue+125−0

This diff is large: its 126 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantPanel.vue+325−0

This diff is large: its 326 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantPreStream.vue+46−0

This diff is large: its 47 lines aren’t shown here.

layer/modules/assistant/runtime/composables/useAssistant.ts+107−0

This diff is large: its 108 lines aren’t shown here.

layer/modules/assistant/runtime/composables/useHighlighter.ts+34−0

This diff is large: its 35 lines aren’t shown here.

layer/modules/assistant/runtime/server/api/search.ts+131−0

This diff is large: its 132 lines aren’t shown here.

layer/modules/assistant/runtime/types.ts+7−0

This diff is large: its 8 lines aren’t shown here.

layer/modules/config.ts+146−0

This diff is large: its 147 lines aren’t shown here.

layer/modules/css.ts+79−0

This diff is large: its 80 lines aren’t shown here.

layer/modules/markdown-rewrite.ts+144−0

This diff is large: its 145 lines aren’t shown here.

layer/modules/routing.ts+48−0

This diff is large: its 49 lines aren’t shown here.

layer/modules/skills/index.ts+160−0

This diff is large: its 161 lines aren’t shown here.

layer/modules/skills/runtime/server/routes/skills-files.ts+49−0

This diff is large: its 50 lines aren’t shown here.

layer/modules/skills/runtime/server/routes/skills-index.ts+8−0

This diff is large: its 9 lines aren’t shown here.

layer/nuxt.config.ts+136−0

This diff is large: its 137 lines aren’t shown here.

layer/nuxt.schema.ts+394−0

This diff is large: its 395 lines aren’t shown here.

layer/package.json+68−0

This diff is large: its 69 lines aren’t shown here.

layer/server/mcp/tools/get-page.ts+78−0

This diff is large: its 79 lines aren’t shown here.

layer/server/mcp/tools/list-pages.ts+75−0

This diff is large: its 76 lines aren’t shown here.

layer/server/routes/sitemap.xml.ts+96−0

This diff is large: its 97 lines aren’t shown here.

layer/server/utils/content.ts+41−0

This diff is large: its 42 lines aren’t shown here.

layer/shared/types/docus.d.ts+15−0

This diff is large: its 16 lines aren’t shown here.

layer/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.

layer/utils/git.ts+110−0

This diff is large: its 111 lines aren’t shown here.

layer/utils/meta.ts+35−0

This diff is large: its 36 lines aren’t shown here.

layer/utils/pages.ts+22−0

This diff is large: its 23 lines aren’t shown here.

package.json+57−0

This diff is large: its 58 lines aren’t shown here.

playground/app/pages/index.vue+13−0

This diff is large: its 14 lines aren’t shown here.

playground/content/docs/1.getting-started/.navigation.yml+2−0

This diff is large: its 3 lines aren’t shown here.

playground/content/docs/1.getting-started/2.introduction.md+73−0

This diff is large: its 74 lines aren’t shown here.

playground/content/docs/1.getting-started/3.installation.md+58−0

This diff is large: its 59 lines aren’t shown here.

playground/content/docs/1.getting-started/4.project-structure.md+154−0

This diff is large: its 155 lines aren’t shown here.

playground/content/docs/1.getting-started/5.studio.md+99−0

This diff is large: its 100 lines aren’t shown here.

playground/content/docs/1.getting-started/6.migration.md+42−0

This diff is large: its 43 lines aren’t shown here.

playground/content/docs/1.getting-started/7.troubleshooting.md+32−0

This diff is large: its 33 lines aren’t shown here.

playground/content/docs/2.essentials/.navigation.yml+1−0

This diff is large: its 2 lines aren’t shown here.

playground/content/docs/2.essentials/1.markdown-syntax.md+223−0

This diff is large: its 224 lines aren’t shown here.

playground/content/docs/2.essentials/2.code-blocks.md+402−0

This diff is large: its 403 lines aren’t shown here.

playground/content/docs/2.essentials/3.components.md+424−0

This diff is large: its 425 lines aren’t shown here.

playground/content/docs/2.essentials/4.images-embeds.md+53−0

This diff is large: its 54 lines aren’t shown here.

playground/nuxt.config.ts+4−0

This diff is large: its 5 lines aren’t shown here.

playground/package.json+12−0

This diff is large: its 13 lines aren’t shown here.

playground/public/favicon.ico+0−0

Binary file not shown.

playground/public/mountains.webp+0−0

Binary file not shown.

playground/skills/docus-playground/SKILL.md+21−0

This diff is large: its 22 lines aren’t shown here.

playground/skills/docus-playground/references/example.md+3−0

This diff is large: its 4 lines aren’t shown here.

playground/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.