From 8db75cbf6d591d24c1438167ca7ffb6a1236fa3f Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Mon, 31 Oct 2022 21:18:34 +0000 Subject: [PATCH] :book: Use hugo/docsy for docs Fixes: https://github.com/kairos-io/kairos/issues/235 Fixes: https://github.com/kairos-io/kairos/issues/233 Fixes: #232 Fixes: #231 Fixes: #230 Fixes: #229 Fixes: #228 Fixes: #193 Fixes: #192 Signed-off-by: mudler --- .gitignore | 5 + .gitmodules | 10 +- docs/CNAME | 1 + docs/Makefile | 8 +- docs/README.md | 50 +- docs/assets/css/sections.css | 0 docs/assets/icons/logo.svg | 21 + docs/assets/scss/_variables_project.scss | 29 + docs/astro.config.mjs | 11 - docs/config.toml | 146 + docs/content/en/community/_index.md | 6 + docs/content/en/docs/Advanced/_index.md | 8 + .../en/docs/Advanced/after-install.md} | 15 +- .../en/docs/Advanced/build.md} | 19 +- .../en/docs/Advanced}/customizing.md | 7 +- .../en/docs/Advanced}/livelayering.md | 7 +- .../en/docs/Advanced}/networking.md | 60 +- .../en/docs/Advanced}/p2p.md | 8 +- docs/content/en/docs/Architecture/_index.md | 7 + .../en/docs/Architecture}/cloud-init.md | 11 +- .../en/docs/Architecture}/container.md | 24 +- .../en/docs/Architecture}/immutable.md | 10 +- .../en/docs/Architecture}/meta.md | 8 +- .../en/docs/Architecture}/network.md | 6 +- docs/content/en/docs/Development/_index.md | 6 + .../en/docs/Development}/development.md | 9 +- .../en/docs/Getting started/_index.md} | 50 +- docs/content/en/docs/Installation/_index.md | 8 + .../en/docs/Installation}/automated.md | 11 +- .../en/docs/Installation}/interactive.md | 9 +- .../en/docs/Installation/manual.md} | 16 +- .../en/docs/Installation/p2p.md} | 20 +- .../en/docs/Installation}/raspberry.md | 17 +- .../en/docs/Installation}/takeover.md | 10 +- docs/content/en/docs/Reference/_index.md | 6 + .../en/docs/Reference}/architecture.md | 9 +- .../en/docs/Reference}/cli.md | 8 +- .../en/docs/Reference}/configuration.md | 22 +- .../en/docs/Reference/entangle.md} | 14 +- .../en/docs/Reference/faq.md} | 8 +- .../en/docs/Reference/image_matrix.md} | 12 +- .../en/docs/Reference/recovery_mode.md} | 14 +- .../en/docs/Reference}/reset.md | 10 +- .../en/docs/Reference}/troubleshooting.md | 8 +- docs/content/en/docs/Upgrade/_index.md | 6 + .../en/docs/Upgrade/kubernetes.md} | 22 +- .../en/docs/Upgrade}/manual.md | 6 +- .../index.mdx => content/en/docs/_index.md} | 24 +- .../en/docs/contribution-guidelines.md | 25 + docs/content/en/search-index.md | 4 + docs/content/en/search.md | 6 + docs/index.astro | 7 - docs/jsconfig.json | 8 - docs/layouts/404.html | 10 + docs/layouts/index.html | 60 + docs/layouts/shortcodes/githubembed.html | 9 + docs/package-lock.json | 6677 ++++------------- docs/package.json | 34 +- docs/public/CNAME | 1 - docs/scripts/build.sh | 24 +- docs/scripts/publish.sh | 3 +- docs/scripts/serve.sh | 12 +- docs/src/assets/landing-page-hero.png | Bin 125714 -> 0 bytes docs/src/assets/logos/kairos-black.svg | 21 - .../assets/logos/kairos-dark-column-docs.png | Bin 8508 -> 0 bytes docs/src/assets/logos/kairos-dark-column.png | Bin 31284 -> 0 bytes docs/src/components/Favicon.astro | 8 - docs/src/components/Info.astro | 21 - docs/src/env.d.ts | 1 - docs/src/layouts/docs/Header.astro | 29 - docs/src/layouts/docs/Layout.astro | 112 - .../layouts/docs/LeftSidebar/LeftSidebar.css | 95 - docs/src/layouts/docs/LeftSidebar/index.jsx | 109 - docs/src/layouts/docs/Navbar/Navbar.css | 82 - docs/src/layouts/docs/Navbar/index.jsx | 37 - docs/src/layouts/docs/PageContent.astro | 33 - .../docs/RightSidebar/RightSidebar.css | 45 - docs/src/layouts/docs/RightSidebar/index.jsx | 23 - docs/src/layouts/landing/Layout.astro | 331 - docs/src/layouts/landing/Sections.css | 190 - docs/src/layouts/landing/Sections.jsx | 189 - docs/src/pages/advanced/advanced.md | 7 - docs/src/pages/architecture/architecture.md | 9 - docs/src/pages/index.astro | 5 - docs/src/pages/installation/installation.md | 10 - docs/src/pages/quickstart/quickstart.md | 9 - docs/src/pages/reference/reference.md | 7 - docs/src/pages/sdk/library.md | 7 - docs/src/pages/sdk/sdk.md | 7 - docs/src/pages/upgrade/upgrade.md | 9 - docs/src/styles/index.css | 312 - docs/src/styles/theme.css | 91 - .../favicons}/android-chrome-192x192.png | Bin .../favicons}/apple-touch-icon.png | Bin .../favicons}/browserconfig.xml | 0 .../favicons}/favicon-16x16.png | Bin .../favicons}/favicon-32x32.png | Bin .../favicon => static/favicons}/favicon.ico | Bin .../favicons}/mstile-150x150.png | Bin .../favicons}/site.webmanifest | 0 docs/{src/assets => static}/index/1.png | Bin docs/{src/assets => static}/index/2.png | Bin docs/{src/assets => static}/index/3.png | Bin docs/{src/assets => static}/index/4.png | Bin docs/{src/assets => static}/index/5.png | Bin docs/{src/assets => static}/index/6.png | Bin docs/{src/assets => static}/index/7.png | Bin docs/{src/assets => static}/index/book.png | Bin docs/{src/assets => static}/index/explore.png | Bin docs/{src/assets => static}/index/footer.png | Bin docs/{src/assets => static}/index/github.png | Bin docs/static/index/index.css | 1 + .../index/logo.png} | Bin docs/themes/docsy | 1 + docs/tsconfig.json | 3 - 115 files changed, 1917 insertions(+), 7569 deletions(-) create mode 100644 docs/CNAME create mode 100644 docs/assets/css/sections.css create mode 100644 docs/assets/icons/logo.svg create mode 100644 docs/assets/scss/_variables_project.scss delete mode 100644 docs/astro.config.mjs create mode 100644 docs/config.toml create mode 100644 docs/content/en/community/_index.md create mode 100644 docs/content/en/docs/Advanced/_index.md rename docs/{src/pages/advanced/after-install.mdx => content/en/docs/Advanced/after-install.md} (95%) rename docs/{src/pages/advanced/build.mdx => content/en/docs/Advanced/build.md} (94%) rename docs/{src/pages/advanced => content/en/docs/Advanced}/customizing.md (87%) rename docs/{src/pages/advanced => content/en/docs/Advanced}/livelayering.md (96%) rename docs/{src/pages/advanced => content/en/docs/Advanced}/networking.md (85%) rename docs/{src/pages/advanced => content/en/docs/Advanced}/p2p.md (91%) create mode 100644 docs/content/en/docs/Architecture/_index.md rename docs/{src/pages/architecture => content/en/docs/Architecture}/cloud-init.md (98%) rename docs/{src/pages/architecture => content/en/docs/Architecture}/container.md (86%) rename docs/{src/pages/architecture => content/en/docs/Architecture}/immutable.md (98%) rename docs/{src/pages/architecture => content/en/docs/Architecture}/meta.md (95%) rename docs/{src/pages/architecture => content/en/docs/Architecture}/network.md (94%) create mode 100644 docs/content/en/docs/Development/_index.md rename docs/{src/pages/sdk => content/en/docs/Development}/development.md (97%) rename docs/{src/pages/quickstart/installation.mdx => content/en/docs/Getting started/_index.md} (83%) create mode 100644 docs/content/en/docs/Installation/_index.md rename docs/{src/pages/installation => content/en/docs/Installation}/automated.md (97%) rename docs/{src/pages/installation => content/en/docs/Installation}/interactive.md (85%) rename docs/{src/pages/installation/manual.mdx => content/en/docs/Installation/manual.md} (65%) rename docs/{src/pages/installation/p2p.mdx => content/en/docs/Installation/p2p.md} (90%) rename docs/{src/pages/installation => content/en/docs/Installation}/raspberry.md (82%) rename docs/{src/pages/installation => content/en/docs/Installation}/takeover.md (66%) create mode 100644 docs/content/en/docs/Reference/_index.md rename docs/{src/pages/reference => content/en/docs/Reference}/architecture.md (94%) rename docs/{src/pages/reference => content/en/docs/Reference}/cli.md (98%) rename docs/{src/pages/reference => content/en/docs/Reference}/configuration.md (96%) rename docs/{src/pages/reference/entangle.mdx => content/en/docs/Reference/entangle.md} (91%) rename docs/{src/pages/reference/faq.mdx => content/en/docs/Reference/faq.md} (96%) rename docs/{src/pages/reference/image_matrix.mdx => content/en/docs/Reference/image_matrix.md} (89%) rename docs/{src/pages/reference/recovery_mode.mdx => content/en/docs/Reference/recovery_mode.md} (95%) rename docs/{src/pages/reference => content/en/docs/Reference}/reset.md (94%) rename docs/{src/pages/reference => content/en/docs/Reference}/troubleshooting.md (96%) create mode 100644 docs/content/en/docs/Upgrade/_index.md rename docs/{src/pages/upgrade/kubernetes.mdx => content/en/docs/Upgrade/kubernetes.md} (90%) rename docs/{src/pages/upgrade => content/en/docs/Upgrade}/manual.md (92%) rename docs/{src/pages/quickstart/index.mdx => content/en/docs/_index.md} (93%) mode change 100644 => 100755 create mode 100644 docs/content/en/docs/contribution-guidelines.md create mode 100644 docs/content/en/search-index.md create mode 100644 docs/content/en/search.md delete mode 100644 docs/index.astro delete mode 100644 docs/jsconfig.json create mode 100644 docs/layouts/404.html create mode 100644 docs/layouts/index.html create mode 100644 docs/layouts/shortcodes/githubembed.html delete mode 100644 docs/public/CNAME delete mode 100644 docs/src/assets/landing-page-hero.png delete mode 100644 docs/src/assets/logos/kairos-black.svg delete mode 100644 docs/src/assets/logos/kairos-dark-column-docs.png delete mode 100644 docs/src/assets/logos/kairos-dark-column.png delete mode 100644 docs/src/components/Favicon.astro delete mode 100644 docs/src/components/Info.astro delete mode 100644 docs/src/env.d.ts delete mode 100644 docs/src/layouts/docs/Header.astro delete mode 100644 docs/src/layouts/docs/Layout.astro delete mode 100644 docs/src/layouts/docs/LeftSidebar/LeftSidebar.css delete mode 100644 docs/src/layouts/docs/LeftSidebar/index.jsx delete mode 100644 docs/src/layouts/docs/Navbar/Navbar.css delete mode 100644 docs/src/layouts/docs/Navbar/index.jsx delete mode 100644 docs/src/layouts/docs/PageContent.astro delete mode 100644 docs/src/layouts/docs/RightSidebar/RightSidebar.css delete mode 100644 docs/src/layouts/docs/RightSidebar/index.jsx delete mode 100644 docs/src/layouts/landing/Layout.astro delete mode 100644 docs/src/layouts/landing/Sections.css delete mode 100644 docs/src/layouts/landing/Sections.jsx delete mode 100644 docs/src/pages/advanced/advanced.md delete mode 100644 docs/src/pages/architecture/architecture.md delete mode 100644 docs/src/pages/index.astro delete mode 100644 docs/src/pages/installation/installation.md delete mode 100644 docs/src/pages/quickstart/quickstart.md delete mode 100644 docs/src/pages/reference/reference.md delete mode 100644 docs/src/pages/sdk/library.md delete mode 100644 docs/src/pages/sdk/sdk.md delete mode 100644 docs/src/pages/upgrade/upgrade.md delete mode 100644 docs/src/styles/index.css delete mode 100644 docs/src/styles/theme.css rename docs/{public/favicon => static/favicons}/android-chrome-192x192.png (100%) rename docs/{public/favicon => static/favicons}/apple-touch-icon.png (100%) rename docs/{public/favicon => static/favicons}/browserconfig.xml (100%) rename docs/{public/favicon => static/favicons}/favicon-16x16.png (100%) rename docs/{public/favicon => static/favicons}/favicon-32x32.png (100%) rename docs/{public/favicon => static/favicons}/favicon.ico (100%) rename docs/{public/favicon => static/favicons}/mstile-150x150.png (100%) rename docs/{public/favicon => static/favicons}/site.webmanifest (100%) rename docs/{src/assets => static}/index/1.png (100%) rename docs/{src/assets => static}/index/2.png (100%) rename docs/{src/assets => static}/index/3.png (100%) rename docs/{src/assets => static}/index/4.png (100%) rename docs/{src/assets => static}/index/5.png (100%) rename docs/{src/assets => static}/index/6.png (100%) rename docs/{src/assets => static}/index/7.png (100%) rename docs/{src/assets => static}/index/book.png (100%) rename docs/{src/assets => static}/index/explore.png (100%) rename docs/{src/assets => static}/index/footer.png (100%) rename docs/{src/assets => static}/index/github.png (100%) create mode 100644 docs/static/index/index.css rename docs/{src/assets/logos/kairos-white-column.png => static/index/logo.png} (100%) create mode 160000 docs/themes/docsy delete mode 100644 docs/tsconfig.json diff --git a/.gitignore b/.gitignore index 0510b340da..e4f9d1f1ca 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,11 @@ docs/dist docs/.vscode coverage.out .DS_Store +/docs/bin/ +/docs/public/ +/docs/resources/ +/docs/node_modules/ +/docs/tech-doc-hugo # editor and IDE paraphernalia .idea diff --git a/.gitmodules b/.gitmodules index 20e130e3ab..89ae3c6a59 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ -[submodule "docs/themes/hugo-theme-learn"] - path = docs/themes/hugo-theme-learn - url = https://github.com/matcornic/hugo-theme-learn.git + +[submodule "themes/docsy"] + path = themes/docsy + url = https://github.com/google/docsy +[submodule "docs/themes/docsy"] + path = docs/themes/docsy + url = https://github.com/google/docsy.git diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000000..12507cee50 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +kairos.io diff --git a/docs/Makefile b/docs/Makefile index 46bc7c3e13..71dc4611e7 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,17 +1,13 @@ -export HUGO_VERSION?=0.91.2 +export HUGO_VERSION?=0.105.0 export HUGO_PLATFORM?=Linux-64bit -export ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))/ +export ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) .DEFAULT_GOAL := build .PHONY: build build: scripts/build.sh - cp -r dist/* public -ifneq (,$(wildcard ./CNAME)) - cp -rf CNAME public/ -endif .PHONY: serve serve: diff --git a/docs/README.md b/docs/README.md index 62b3f469be..bded9e060a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,45 +1,25 @@ -# Astro Starter Kit: Minimal +# :book: Kairos documentation -``` -npm init astro -- --template minimal -``` - -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal) +The Kairos documentation uses [docsy](https://docsy.dev). -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! +## Test your changes -## 🚀 Project Structure - -Inside of your Astro project, you'll see the following folders and files: +After cloning the repo (with submodules), just run `make serve` to test the website locally. ``` -/ -├── public/ -├── src/ -│ └── pages/ -│ └── index.astro -└── package.json +$> git clone --recurse-submodule https://github.com/kairos-io/kairos +$> cd kairos/docs +$> make serve ``` -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. - -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. - -Any static assets, like images, can be placed in the `public/` directory. +If you have a local copy already checked out, sync the submodules: -## 🧞 Commands - -All commands are run from the root of the project, from a terminal: - -| Command | Action | -| :--------------------- | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:3000` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro --help` | Get help using the Astro CLI | +``` +$> git submodule update --init --recursive --depth 1 +``` -## 👀 Want to learn more? +To run the website locally in other platforms, e.g. MacOS: -Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). +``` +$> HUGO_PLATFORM=macOS-64bit make serve +``` diff --git a/docs/assets/css/sections.css b/docs/assets/css/sections.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/assets/icons/logo.svg b/docs/assets/icons/logo.svg new file mode 100644 index 0000000000..4650398b12 --- /dev/null +++ b/docs/assets/icons/logo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/scss/_variables_project.scss b/docs/assets/scss/_variables_project.scss new file mode 100644 index 0000000000..bbc6b7ade8 --- /dev/null +++ b/docs/assets/scss/_variables_project.scss @@ -0,0 +1,29 @@ +/* + +Add styles or override variables from the theme here. + +*/ + +$primary: #ee5007; +$secondary: #e1e5ee; +$enable-gradients: true; +$enable-rounded: false; +$enable-shadows: true; +$google_font_name: "Noto Sans"; +$google_font_family: "Noto+Sans:0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700"; +$td-enable-google-fonts: false; + + +a { + color: #009ffd +} + +a:hover { + color: #03153a +} + +// Disables text "Kairos" in the menu. Logo contains it already +.td-navbar .navbar-brand__name { + display: none; +} + \ No newline at end of file diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs deleted file mode 100644 index 782dbcc6ce..0000000000 --- a/docs/astro.config.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "astro/config"; -import react from "@astrojs/react"; -import mdx from "@astrojs/mdx"; - -// https://astro.build/config -export default defineConfig({ - integrations: [mdx(), react()], - build: { - format: "file", - }, -}); diff --git a/docs/config.toml b/docs/config.toml new file mode 100644 index 0000000000..a3553eb670 --- /dev/null +++ b/docs/config.toml @@ -0,0 +1,146 @@ +baseURL = "https://kairos.io" +title = "Kairos" + +enableRobotsTXT = true + +# Hugo allows theme composition (and inheritance). The precedence is from left to right. +theme = ["docsy"] + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Language settings +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +disableKinds = ["taxonomy", "taxonomyTerm"] + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday +[blackfriday] +plainIDAnchors = true +hrefTargetBlank = true +angledQuotes = false +latexDashes = true + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +[services] +[services.googleAnalytics] +# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. +id = "UA-00000000-0" + +# Language configuration + +[languages] +[languages.en] +title = "Kairos" +description = "The immutable edge Kubernetes" +languageName ="English" +# Weight used for sorting. +weight = 1 + +[[menu.main]] + name = "Contribution guidelines" + weight = 50 + url = "https://github.com/kairos-io/kairos/contribute" + pre = "" + post = "" +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + +# Everything below this are Site Params + +[params] +copyright = "Kairos authors" +privacy_policy = "https://policies.google.com/privacy" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "https://github.com/kairos-io/kairos" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +github_project_repo = "https://github.com/kairos-io/kairos" + +# Specify a value here if your content directory is not in your repo's root directory +github_subdir = "docs" +github_branch = "master" +# Google Custom Search Engine ID. Remove or comment out to disable search. +#gcs_engine_id = "011737558837375720776:fsdu1nryfng" + +# Enable Algolia DocSearch +algolia_docsearch = false + +# Enable Lunr.js offline search +offlineSearch = true + +# User interface configuration +[params.ui] +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = false +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = true +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar +navbar_logo = true +# Set to true to disable the About link in the site footer +footer_about_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Awesome! Glad to hear it! Please tell us how we can improve.' +no = 'Oh snap! Sorry to hear that. Please tell us how we can improve.' + +[params.links] +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/kairos-io/kairos" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.user]] + name = "Matrix" + url = "https://matrix.to/#/#kairos-io:matrix.org" + icon = "fa fa-message" + desc = "Join us on Matrix!" +[[params.links.user]] + name = "Github discussions" + url = "https://github.com/kairos-io/kairos/discussions" + icon = "fa fa-comments" + desc = "Questions?" +[[params.links.user]] + name = "Office hours calendar" + url = "https://calendar.google.com/calendar/embed?src=c_6d65f26502a5a67c9570bb4c16b622e38d609430bce6ce7fc1d8064f2df09c11%40group.calendar.google.com&ctz=Europe%2FRome" + icon = "fa fa-calendar" + desc = "Join us in our Office hours!" \ No newline at end of file diff --git a/docs/content/en/community/_index.md b/docs/content/en/community/_index.md new file mode 100644 index 0000000000..23f5f9eb03 --- /dev/null +++ b/docs/content/en/community/_index.md @@ -0,0 +1,6 @@ +--- +title: Community +menu: + main: + weight: 40 +--- diff --git a/docs/content/en/docs/Advanced/_index.md b/docs/content/en/docs/Advanced/_index.md new file mode 100644 index 0000000000..ab90365588 --- /dev/null +++ b/docs/content/en/docs/Advanced/_index.md @@ -0,0 +1,8 @@ +--- +title: "Advanced" +linkTitle: "Advanced" +weight: 5 +description: > + Advanced settings +--- + diff --git a/docs/src/pages/advanced/after-install.mdx b/docs/content/en/docs/Advanced/after-install.md similarity index 95% rename from docs/src/pages/advanced/after-install.mdx rename to docs/content/en/docs/Advanced/after-install.md index 45171651c7..c80dfe1f50 100644 --- a/docs/src/pages/advanced/after-install.mdx +++ b/docs/content/en/docs/Advanced/after-install.md @@ -1,13 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Configuring a node after install" -index: 3 +title: "Pushing configuration to a node after installation" +linkTitle: "After install" +weight: 1 +description: > --- -import Info from "../../components/Info.astro"; - -# Configuration after installation - Kairos configuration mechanism is based on the `cloud-config `file given during installation, however, it's possible to extend the configuration by providing additional cloud-configs in either `/oem` or `/usr/local/cloud-config`. By default, `kairos` reads in lexicographic order YAML cloud-config files in the directories above, indeed, after installation you should be able to see the configuration generated by the interactive-installer as `/oem/99_custom.yaml` in the system. @@ -43,11 +40,11 @@ To install [system-upgrade-controller](https://github.com/rancher/system-upgrade kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/download/v0.9.1/system-upgrade-controller.yaml ``` - +{{% alert title="Note" %}} Several roll-out strategies can be used with `system-upgrade-controller` which are not illustrated here in this example. For instance, it can be specified in the number of hosts which are running the upgrades, filtering by labels, and more. [Refer to the project documentation](https://github.com/rancher/system-upgrade-controller) on how to create efficient strategies to roll plans on the nodes. In the example above, the plans are applied to every host of the cluster, one-by-one in sequence. - +{{% /alert %}} The following pushes a new cloud config over the `/oem` directory and reboots the node: diff --git a/docs/src/pages/advanced/build.mdx b/docs/content/en/docs/Advanced/build.md similarity index 94% rename from docs/src/pages/advanced/build.mdx rename to docs/content/en/docs/Advanced/build.md index 525c4e8568..c3474bb350 100644 --- a/docs/src/pages/advanced/build.mdx +++ b/docs/content/en/docs/Advanced/build.md @@ -1,17 +1,16 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Build" -index: 3 +title: "Build Kairos appliances" +linkTitle: "Build" +weight: 5 +description: > --- -import Info from "../../components/Info.astro"; +{{% alert title="Note" %}} -# Build Kairos-based appliances - - This page is a work in progress! The feature is experimental and API is likely going to be subject to changes, don't rely on it yet! - +{{% /alert %}} + This documentation section describes how the Kairos Kubernetes Native API extensions can be used to build custom appliances or booting medium for Kairos. @@ -22,7 +21,7 @@ Note the same can be achieved by using advanced configuration and actually modif For such purposes Kairos provides a set of Kubernetes Native Extensions that allows to programmatically generate Installable mediums, Cloud Images and Netboot artifacts to provide on-demand customization to further exploit Kubernetes patterns to automatically provision nodes using control-plane management clusters - however, the same toolset can be used manually to build appliances in order to develop and debug locally. -The [automated](/installation/automated) section already shows some examples of how to leverage the Kubernetes Native Extensions and use the Kairos images to build appliances, in this section we will cover and describe in detail how to leverage the CRDs and the Kairos factory to build custom appliances. +The [automated](/docs/installation/automated) section already shows some examples of how to leverage the Kubernetes Native Extensions and use the Kairos images to build appliances, in this section we will cover and describe in detail how to leverage the CRDs and the Kairos factory to build custom appliances. ## Prerequisites @@ -77,7 +76,7 @@ spec: Apply the manifest with `kubectl apply`. -Note, the CRD allows to specify a custom Cloud config file, [check out the full configuration reference](/reference/configuration). +Note, the CRD allows to specify a custom Cloud config file, [check out the full configuration reference](/docs/reference/configuration). The controller will create a pod that builds the ISO ( we can follow the process by tailing to the containers log ) and later makes it accessible to its own dedicated service (nodeport by default): diff --git a/docs/src/pages/advanced/customizing.md b/docs/content/en/docs/Advanced/customizing.md similarity index 87% rename from docs/src/pages/advanced/customizing.md rename to docs/content/en/docs/Advanced/customizing.md index 89c0653c2a..5f5a1c7710 100644 --- a/docs/src/pages/advanced/customizing.md +++ b/docs/content/en/docs/Advanced/customizing.md @@ -1,11 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Customizing the system image" -index: 7 +linkTitle: "Customization" +weight: 2 +description: > --- -# Customizing - Kairos is a container-based OS, if you want to change Kairos and add a package, it is required to build only a Docker image. For example: diff --git a/docs/src/pages/advanced/livelayering.md b/docs/content/en/docs/Advanced/livelayering.md similarity index 96% rename from docs/src/pages/advanced/livelayering.md rename to docs/content/en/docs/Advanced/livelayering.md index 8ba92c10f9..4305f755c9 100644 --- a/docs/src/pages/advanced/livelayering.md +++ b/docs/content/en/docs/Advanced/livelayering.md @@ -1,14 +1,15 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Live layering" -index: 8 +linkTitle: "Live layering" +weight: 4 +description: > --- # Live layering Live layering allows to activates/deactivates system extension images. System extension images may – dynamically at runtime — extend the `/usr/` and `/opt/` directory hierarchies with additional files. -Kairos supports live layering with `systemd-sysext`. Currently it is supported only on the `openSUSE` and `Fedora` flavors. +Kairos supports live layering with `systemd-sysext`. Currently it is supported only on the `openSUSE`, `Fedora` and `Ubuntu` flavors with `systemd-sysext`. ## Description diff --git a/docs/src/pages/advanced/networking.md b/docs/content/en/docs/Advanced/networking.md similarity index 85% rename from docs/src/pages/advanced/networking.md rename to docs/content/en/docs/Advanced/networking.md index f48d66186c..1bd24df17b 100644 --- a/docs/src/pages/advanced/networking.md +++ b/docs/content/en/docs/Advanced/networking.md @@ -1,11 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Networking" -index: 8 +linkTitle: "Networking" +weight: 3 +description: > --- -# Networking settings - By default, Kairos ISOs are configured to automatically get an IP from the network interface. However, depending on the base system you have chosen, there are different way to configure networking. This section collects information on setting network configuration depending on the base that is being chosen (openSUSE, Alpine, Ubuntu). There are different network managers depending on the distro: @@ -18,10 +17,8 @@ There are different network managers depending on the distro: To get a static IP, you can additionally define the following in your configuration file, depending on the network-manager being used: -{{< tabs groupId="staticIP">}} -{{% tab name="connman" %}} - -```yaml +{{< tabpane >}} +{{% tab header="connman" lang="yaml"%}} stages: initramfs: - files: @@ -32,33 +29,8 @@ stages: Type = ethernet IPv4 = 10.1.1.1/16/10.1.0.1 Nameservers = 10.1.0.1 -``` - -{{% /tab %}} -{{% tab name="wicked" %}} - -```yaml -name: "Default network configuration" -stages: - boot: - - commands: - - wicked ifup eth0 - initramfs: - - name: "Setup network" - files: - - path: /etc/sysconfig/network/ifcfg-eth0 - content: | - BOOTPROTO='static' - IPADDR='192.168.1.2/24' - permissions: 0600 - owner: 0 - group: 0 -``` - {{% /tab %}} -{{% tab name="systemd-networkd" %}} - -```yaml +{{% tab header="systemd-networkd" lang="yaml" %}} stages: initramfs: - files: @@ -72,19 +44,15 @@ stages: Address=10.1.1.1/16 Gateway=10.1.0.1 DNS=10.1.0.1 -``` - {{% /tab %}} -{{< /tabs >}} +{{< /tabpane >}} ## Bonding Bonding setup with Ubuntu can be configured via systemd-networkd (Ubuntu based images) and wicked (openSUSE based images), consider the following examples: -{{< tabs groupId="bonding">}} -{{% tab name="systemd-networkd" %}} - -```yaml +{{< tabpane >}} +{{% tab header="systemd-networkd" lang="yaml" %}} #node-config name: "My Deployment" stages: @@ -148,12 +116,8 @@ k3s-agent: env: K3S_TOKEN: "KubeSecret" K3S_URL: https://hostname:6443 -``` - {{% /tab %}} -{{% tab name="wicked" %}} - -```yaml +{{% tab header="wicked" lang="yaml" %}} name: "My Deployment" stages: boot: @@ -210,10 +174,8 @@ k3s-agent: env: K3S_TOKEN: "MySecretToken" K3S_URL: https://server.domain.tld:6443 -``` - {{% /tab %}} -{{< /tabs >}} +{{< /tabpane >}} ### References diff --git a/docs/src/pages/advanced/p2p.md b/docs/content/en/docs/Advanced/p2p.md similarity index 91% rename from docs/src/pages/advanced/p2p.md rename to docs/content/en/docs/Advanced/p2p.md index 6f76580489..4f52bcac26 100644 --- a/docs/src/pages/advanced/p2p.md +++ b/docs/content/en/docs/Advanced/p2p.md @@ -1,12 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "P2P configuration" -index: 2 +linkTitle: "P2P" +weight: 6 +description: > --- - -## Single node cluster - When the p2p featureset is enabled by specifying a `kairos` block, by default are expected multiple nodes to join: this is required in order to correctly handle co-ordination among the nodes of a cluster. To create a single-node cluster, we need to force both the `role` and the `ip` by disabling `DHCP`: diff --git a/docs/content/en/docs/Architecture/_index.md b/docs/content/en/docs/Architecture/_index.md new file mode 100644 index 0000000000..96d105de29 --- /dev/null +++ b/docs/content/en/docs/Architecture/_index.md @@ -0,0 +1,7 @@ +--- +title: "Architecture" +linkTitle: "Architecture" +weight: 4 +description: > +--- + diff --git a/docs/src/pages/architecture/cloud-init.md b/docs/content/en/docs/Architecture/cloud-init.md similarity index 98% rename from docs/src/pages/architecture/cloud-init.md rename to docs/content/en/docs/Architecture/cloud-init.md index 914db53137..e57f3ae085 100644 --- a/docs/src/pages/architecture/cloud-init.md +++ b/docs/content/en/docs/Architecture/cloud-init.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Cloud-init based" -index: 2 +title: "Cloud init based" +linkTitle: "Cloud init based" +weight: 3 +date: 2022-11-13 +description: > --- -# Cloud-init based - Kairos supports the [standard cloud-init syntax](https://github.com/mudler/yip#compatibility-with-cloud-init-format) and [its own extended syntax](https://github.com/mudler/yip) to allow to configure a system declaratively with a cloud-config centric approach. If you are not familiar with the concepts of cloud-init, [official cloud-init](https://cloud-init.io/) is a recommended read. @@ -17,7 +17,6 @@ Multiple cloud-init files can be present in the system and Kairos will read them In Kairos the `/oem` directory keeps track of all the configuration of the system and stores the configuration files. Multiple files are allowed and they are all executed during the various system stages. `/usr/local/cloud-config` can be optionally used as well to store cloud config files in the persistent partition instead. `/system/oem` is instead reserved to default cloud-init files that are shipped by the base OS image. - By using the standard cloud-config syntax, a subset of the functionalities are available and the settings will be executed in the boot stage. ## Boot stages diff --git a/docs/src/pages/architecture/container.md b/docs/content/en/docs/Architecture/container.md similarity index 86% rename from docs/src/pages/architecture/container.md rename to docs/content/en/docs/Architecture/container.md index 354fce0448..60a7c523a9 100644 --- a/docs/src/pages/architecture/container.md +++ b/docs/content/en/docs/Architecture/container.md @@ -1,19 +1,19 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Container-based OS" -index: 2 +title: "Container based" +linkTitle: "Container" +weight: 2 +date: 2022-11-13 +description: > --- -# Container-based OS - Kairos is a container-based operating system (OS). A container-based operating system is an OS that is shipped via containers. Indeed, if it happens to be based on Linux (most probably), you can run the container image as well on your Docker daemon. The image being booted is the container, which contains all the required pieces in order to boot (Kernel, Initrd, Init system). There is no real container runtime running the image. The container is used to construct an image internally that is then used to boot the system in an A/B fashion, so there is no overhead introduced. The system being booted is actually a snapshot of the container. -**Single-image** The OS is a single container image which contains all the OS components, including Kernel and Initrd. -**Tamper-proof upgrades** Upgrades are atomic, A/B swaps with fallback mechanisms and automatic boot assessment. -**Distributed via container registries** Bootable images are standard OCI artifacts that can be hosted in any container regist -**Platform Engineer-friendly** Adapt the infrastructure to your needs by plugging images into your already-existing workflow pipeline. Customizing an immutable OS becomes as easy as writing a Dockerfile. +- **Single-image** The OS is a single container image which contains all the OS components, including Kernel and Initrd. +- **Tamper-proof upgrades** Upgrades are atomic, A/B swaps with fallback mechanisms and automatic boot assessment. +- **Distributed via container registries** Bootable images are standard OCI artifacts that can be hosted in any container regist +- **Platform Engineer-friendly** Adapt the infrastructure to your needs by plugging images into your already-existing workflow pipeline. Customizing an immutable OS becomes as easy as writing a Dockerfile. ## A/B Upgrades @@ -40,7 +40,7 @@ If you are familiar with Dockerfiles, then you are good to go to roll your own c ## Container Image based OS -The Image support matrix in [here](/reference/image_matrix) lists all the container images built from our CI on every release of Kairos. +The Image support matrix in [here](/docs/reference/image_matrix) lists all the container images built from our CI on every release of Kairos. To inspect an image and run it locally, you can use a container engine like Docker or Podman: @@ -89,7 +89,7 @@ total 102M 6692029 -rw-r--r-- 1 root root 11M Apr 16 2020 vmlinuz-5.14.21-150400.24.21-default ``` -The CI process generates bootable medium by the container images, and similarly, we can modify this image to introduce our changes and remaster an ISO as described in [Automated installation](/installation/automated), but that can be resumed in the following steps: +The CI process generates bootable medium by the container images, and similarly, we can modify this image to introduce our changes and remaster an ISO as described in [Automated installation](/docs/installation/automated), but that can be resumed in the following steps: ```bash $ docker run -ti --name custom-container quay.io/kairos/core-alpine:v1.1.0 @@ -117,4 +117,4 @@ For upgrading to a container image see [manual upgrades](/upgrade/manual) and [k ## See also -- [ISO remastering](/installation/automated#iso-remastering) +- [ISO remastering](/docs/installation/automated#iso-remastering) diff --git a/docs/src/pages/architecture/immutable.md b/docs/content/en/docs/Architecture/immutable.md similarity index 98% rename from docs/src/pages/architecture/immutable.md rename to docs/content/en/docs/Architecture/immutable.md index 581b28a788..7ac8b298ec 100644 --- a/docs/src/pages/architecture/immutable.md +++ b/docs/content/en/docs/Architecture/immutable.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Immutable layout" -index: 3 +title: "Immutable" +linkTitle: "Immutable" +weight: 1 +date: 2022-11-13 +description: > --- -# Immutable layout - Kairos adopts an immutable layout and derivatives created with its toolkit inherits the same immutability aspects. An immutable OS is a carefully engineered system which boots in a restricted, permissionless mode, where certain paths of the system are not writable. For instance, after installation it's not possible to install additional packages in the system, and any configuration change is discarded after reboot. diff --git a/docs/src/pages/architecture/meta.md b/docs/content/en/docs/Architecture/meta.md similarity index 95% rename from docs/src/pages/architecture/meta.md rename to docs/content/en/docs/Architecture/meta.md index a9b88e1cb4..e124e93549 100644 --- a/docs/src/pages/architecture/meta.md +++ b/docs/content/en/docs/Architecture/meta.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Meta-Distribution" -index: 4 +linkTitle: "Meta-Distribution" +weight: 4 +date: 2022-11-13 +description: > --- -# Meta distribution - We like to define Kairos as a meta-Linux Distribution, as its goal is to convert other distros to an immutable layout with Kubernetes Native components. ## Kairos diff --git a/docs/src/pages/architecture/network.md b/docs/content/en/docs/Architecture/network.md similarity index 94% rename from docs/src/pages/architecture/network.md rename to docs/content/en/docs/Architecture/network.md index 4997947ef5..2af2214855 100644 --- a/docs/src/pages/architecture/network.md +++ b/docs/content/en/docs/Architecture/network.md @@ -1,7 +1,9 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "P2P Network" -index: 5 +linkTitle: "P2P Network" +weight: 5 +date: 2022-11-13 +description: > --- # P2P Network diff --git a/docs/content/en/docs/Development/_index.md b/docs/content/en/docs/Development/_index.md new file mode 100644 index 0000000000..f368ded634 --- /dev/null +++ b/docs/content/en/docs/Development/_index.md @@ -0,0 +1,6 @@ +--- +title: "Development" +linkTitle: "Development" +weight: 7 +description: > +--- diff --git a/docs/src/pages/sdk/development.md b/docs/content/en/docs/Development/development.md similarity index 97% rename from docs/src/pages/sdk/development.md rename to docs/content/en/docs/Development/development.md index ab6e434666..960fc150d3 100644 --- a/docs/src/pages/sdk/development.md +++ b/docs/content/en/docs/Development/development.md @@ -1,7 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Development" -index: 1 +title: "Development notes" +linkTitle: "Development" +weight: 1 +date: 2022-11-13 +description: > + Guidelines when developing Kairos --- Here you can find development notes intended for maintainers and guidance for new contributors. diff --git a/docs/src/pages/quickstart/installation.mdx b/docs/content/en/docs/Getting started/_index.md similarity index 83% rename from docs/src/pages/quickstart/installation.mdx rename to docs/content/en/docs/Getting started/_index.md index 15caa51257..8b2fe74e68 100644 --- a/docs/src/pages/quickstart/installation.mdx +++ b/docs/content/en/docs/Getting started/_index.md @@ -1,13 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Installation" -index: 2 +title: "Getting Started" +linkTitle: "Getting Started" +weight: 2 +description: > + Getting started with Kairos --- -import Info from "../../components/Info.astro"; - -# Installation - The goal of this quickstart is to use the Kairos releases artifacts to build a Kubernetes [k3s](https://k3s.io) cluster in a VM. Kairos releases ship a set of artifacts (ISO, images, etc. ) that we will use as we assume we don't have any prior cluster(s) available to generate them. Kairos Kubernetes Native components allow the creation of these artifacts inside Kubernetes from a set of input images. @@ -26,12 +24,12 @@ Kairos can be used to turn any Linux Distribution into an immutable system; howe You can find the latest releases in the [release page on GitHub](https://github.com/kairos-io/provider-kairos/releases). For instance, download the [kairos-opensuse-v1.0.0-k3sv1.24.3+k3s1.iso](https://github.com/kairos-io/provider-kairos/releases/download/v1.0.0/kairos-opensuse-v1.0.0-k3sv1.24.3+k3s1.iso) ISO file to pick the openSUSE based version, where `v1.24.3+k3s1` in the name is the `k3s` version and `v1.0.0` is the Kairos one. - +{{% alert title="Note" %}} The releases in the [kairos-io/kairos](https://github.com/kairos-io/kairos/releases) repository are the Kairos core images that ship without K3s and P2P full-mesh functionalities; however, further extensions can be installed dynamically in runtime by using the Kairos bundles mechanism. The releases in [kairos-io/provider-kairos](https://github.com/kairos-io/provider-kairos/releases) ship `k3s` and `P2P` full-mesh instead. These options need to be explicitly enabled. In follow-up releases, _k3s-only_ artifacts will also be available. - +{{% /alert %}} ## Booting @@ -48,8 +46,8 @@ You should be greeted with a GRUB boot menu, where multiple entries are availabl Choosing the appropriate entry depends on how you plan to install Kairos. - The first entry will boot into installation with the QR code ( we are going to cover below ). -- The second entry will boot into [Manual installation](/installation/manual) - a console will be started, see the documentation for more details on how to install manually. -- The third boot option boots the [Interactive installation](/installation/interactive). You can use the interactive installer to drive the installation from the terminal host and skip the Configuration and Provisioning step below. +- The second entry will boot into [Manual installation](/docs/installation/manual) - a console will be started, see the documentation for more details on how to install manually. +- The third boot option boots the [Interactive installation](/docs/installation/interactive). You can use the interactive installer to drive the installation from the terminal host and skip the Configuration and Provisioning step below. Select the first entry or let the machine boot, and eventually a QR code will be printed out of the screen: @@ -79,7 +77,7 @@ k3s: enabled: true ``` -Save the configuration file as `config.yaml`, as we will use it later in the process. [Check out the full configuration reference](/reference/configuration). +Save the configuration file as `config.yaml`, as we will use it later in the process. [Check out the full configuration reference](/docs/reference/configuration). **Note**: @@ -89,19 +87,19 @@ Save the configuration file as `config.yaml`, as we will use it later in the pro - `dns` sets the DNS for the machine. - `k3s.enabled=true` enables K3s. - +{{% alert title="Note" %}} -Several configurations can be added at this stage. [See the configuration reference](/reference/configuration) for further reading. +Several configurations can be added at this stage. [See the configuration reference](/docs/reference/configuration) for further reading. - +{{% /alert %}} ## Provisioning - +{{% alert title="Note" %}} -You can find instructions showing how to use the Kairos CLI below. In case you prefer to install via SSH and log in to the box, see the [Manual installation](/installation/manual) section or the [Interactive installation](/installation/interactive) section to perform the installation manually from the console. +You can find instructions showing how to use the Kairos CLI below. In case you prefer to install via SSH and log in to the box, see the [Manual installation](/docs/installation/manual) section or the [Interactive installation](/docs/installation/interactive) section to perform the installation manually from the console. - +{{% /alert %}} To trigger the installation process via QR code, you need to use the Kairos CLI. The CLI is currently available only for Linux and Windows. It can be downloaded from the release artifact: @@ -169,16 +167,16 @@ The K3s `kubeconfig` file is available at `/etc/rancher/k3s/k3s.yaml`. Please re There are other ways to install Kairos: -- [Automated installation](/installation/automated) -- [Manual login and installation](/installation/manual) -- [Create decentralized clusters](/installation/p2p) -- [Take over installation](/installation/takeover) -- [Raspberry Pi](/installation/raspberry) +- [Automated installation](/docs/installation/automated) +- [Manual login and installation](/docs/installation/manual) +- [Create decentralized clusters](/docs/installation/p2p) +- [Take over installation](/docs/installation/takeover) +- [Raspberry Pi](/docs/installation/raspberry) - [Netboot (TODO)]() - [CAPI Lifecycle Management (TODO)]() ## What's Next? -- [Upgrade nodes with Kubernetes](/upgrade/kubernetes) -- [Upgrade nodes manually](/upgrade/manual) -- [Immutable architecture](/architecture/immutable) +- [Upgrade nodes with Kubernetes](/docs/upgrade/kubernetes) +- [Upgrade nodes manually](/docs/upgrade/manual) +- [Immutable architecture](/docs/architecture/immutable) diff --git a/docs/content/en/docs/Installation/_index.md b/docs/content/en/docs/Installation/_index.md new file mode 100644 index 0000000000..031b5b74c7 --- /dev/null +++ b/docs/content/en/docs/Installation/_index.md @@ -0,0 +1,8 @@ +--- +title: "Installation" +linkTitle: "Installation" +weight: 2 +description: > + Kairos Installation reference +--- + diff --git a/docs/src/pages/installation/automated.md b/docs/content/en/docs/Installation/automated.md similarity index 97% rename from docs/src/pages/installation/automated.md rename to docs/content/en/docs/Installation/automated.md index 0c72642078..f1f40ec2be 100644 --- a/docs/src/pages/installation/automated.md +++ b/docs/content/en/docs/Installation/automated.md @@ -1,11 +1,12 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Automated installation" -index: 4 +title: "Automated" +linkTitle: "Automated" +weight: 3 +date: 2022-11-13 +description: > + Install Kairos automatically, with zero touch provisioning --- -# Automated installation - It is possible to drive the installation automatically by configuring a specific portion of the `install` configuration file . The configuration file then can be supplied in various way, by either creating an additional ISO to mount (if a VM burn to USB stick or if bare metal), specifying a configuration via URL or even create an ISO from a container image with an embedded configuration file, which we are going to explore here. diff --git a/docs/src/pages/installation/interactive.md b/docs/content/en/docs/Installation/interactive.md similarity index 85% rename from docs/src/pages/installation/interactive.md rename to docs/content/en/docs/Installation/interactive.md index b4e583de09..85ed0bf5ea 100644 --- a/docs/src/pages/installation/interactive.md +++ b/docs/content/en/docs/Installation/interactive.md @@ -1,7 +1,10 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Interactive installation" -index: 3 +title: "Interactive" +linkTitle: "Interactive" +weight: 2 +date: 2022-11-13 +description: > + Install Kairos interactively --- # Interactive installation diff --git a/docs/src/pages/installation/manual.mdx b/docs/content/en/docs/Installation/manual.md similarity index 65% rename from docs/src/pages/installation/manual.mdx rename to docs/content/en/docs/Installation/manual.md index 3f65837e5a..cb4515f869 100644 --- a/docs/src/pages/installation/manual.mdx +++ b/docs/content/en/docs/Installation/manual.md @@ -1,20 +1,22 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Manual installation" -index: 2 +linkTitle: "Manual installation" +weight: 1 +date: 2022-11-13 +description: > + Install Kairos manually --- -import Info from "../../components/Info.astro"; - # Manual installation -To install manually, follow the [quickstart](/quickstart/installation). When the QR code is prompted at the screen, you will be able to log in via SSH to the box with the password `kairos` as `kairos` user. +To install manually, follow the [quickstart](/docs/getting-started). When the QR code is prompted at the screen, you will be able to log in via SSH to the box with the password `kairos` as `kairos` user. - +{{% alert title="Note" %}} **Note**: After the installation, the password login is disabled, users, and SSH keys to log in must be configured via cloud-init. - +{{% /alert %}} + ## Installation diff --git a/docs/src/pages/installation/p2p.mdx b/docs/content/en/docs/Installation/p2p.md similarity index 90% rename from docs/src/pages/installation/p2p.mdx rename to docs/content/en/docs/Installation/p2p.md index a92dd40083..bc73f5d1a5 100644 --- a/docs/src/pages/installation/p2p.mdx +++ b/docs/content/en/docs/Installation/p2p.md @@ -1,16 +1,19 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Full P2P mesh support" -index: 5 +title: "P2P support" +linkTitle: "P2P support" +weight: 5 +date: 2022-11-13 +description: > + Install Kairos with p2p support --- -import Info from "../../components/Info.astro"; - # Full-mesh P2P support - +{{% alert title="Note" %}} + This feature is crazy and experimental! - + +{{% /alert %}} This section will guide you on how to leverage the peer-to-peer (P2P), full-mesh capabilities of Kairos. @@ -20,7 +23,7 @@ A hybrid network is automatically set up between all the nodes, so there is no n Kairos can be configured to automatically bootstrap a Kubernetes cluster with the full-mesh functionalities, or it can include an additional interface to the machines to let them communicate within a new network segment. -If you are not familiar with the process, it is suggested to follow the [quickstart](/quickstart/installation) first and the steps below, in sequence. +If you are not familiar with the process, it is suggested to follow the [quickstart](/docs/getting-started) first and the steps below, in sequence. The section below explains the difference in the configuration options to enable P2P full-mesh during the installation phase. @@ -62,7 +65,6 @@ This is an optional, unique identifier for the cluster. It allows bootstrapping Force a role for the node. Available: `worker`, `master`. -For a full reference of all the supported use cases, see [cloud-init](https://rancher.github.io/elemental-toolkit/docs/reference/cloud_init/). ## Join new nodes diff --git a/docs/src/pages/installation/raspberry.md b/docs/content/en/docs/Installation/raspberry.md similarity index 82% rename from docs/src/pages/installation/raspberry.md rename to docs/content/en/docs/Installation/raspberry.md index c83ef40b10..da547b0f97 100644 --- a/docs/src/pages/installation/raspberry.md +++ b/docs/content/en/docs/Installation/raspberry.md @@ -1,14 +1,15 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Raspberry Pi" -index: 6 +title: "RaspberryPi" +linkTitle: "RaspberryPi" +weight: 4 +date: 2022-11-13 +description: > + Install Kairos on RaspberryPi 3 and 4 --- -# Raspberry Pi support - Kairos supports Raspberry Pi model 3 and 4 with 64bit architecture. -If you are not familiar with the process, it is suggested to follow the [quickstart](/quickstart/installation) first to see how Kairos works. +If you are not familiar with the process, it is suggested to follow the [quickstart](/docs/getting-started) first to see how Kairos works. ## Prerequisites @@ -32,6 +33,8 @@ Plug the SD card to your system. To flash the image, you can either use Etcher o xzcat kairos-opensuse-arm-rpi-v1.0.0-rc2-k3sv1.21.14+k3s1.img | sudo dd of= oflag=sync status=progress bs=10MB ``` +Once the image is flashed, there is no need to carry any other installation steps. We can boot the image, or apply our config. + ## Boot Use the SD Card to boot. The default username/password is `kairos`/`kairos`. @@ -50,7 +53,7 @@ $ sudo cp cloud-config.yaml /tmp/persistent/cloud-config $ sudo umount /tmp/persistent ``` -You can push additional `cloud config` files. For a full reference check out the [docs](/reference/configuration) and also [configuration after-installation](/advanced/after-install) +You can push additional `cloud config` files. For a full reference check out the [docs](/docs/reference/configuration) and also [configuration after-installation](/docs/advanced/after-install) ## Customizing the disk image diff --git a/docs/src/pages/installation/takeover.md b/docs/content/en/docs/Installation/takeover.md similarity index 66% rename from docs/src/pages/installation/takeover.md rename to docs/content/en/docs/Installation/takeover.md index be34f44d93..43fb9f5861 100644 --- a/docs/src/pages/installation/takeover.md +++ b/docs/content/en/docs/Installation/takeover.md @@ -1,12 +1,14 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Take over installation" -index: 7 +title: "Takeover" +linkTitle: "Takeover" +weight: 6 +date: 2022-11-13 +description: > --- # Takeover installations -Kairos supports takeover installations. See [the Elemental-toolkit docs](https://rancher.github.io/elemental-toolkit/docs/getting-started/install/#installation-from-3rd-party-livecd-or-rescue-mediums). Here are a few summarized steps: +Kairos supports takeover installations. Here are a few summarized steps: - From the dedicated control panel (OVH, Hetzner, etc.), boot in *rescue* mode - [Install docker](https://docs.docker.com/engine/install/debian/) and run for example: diff --git a/docs/content/en/docs/Reference/_index.md b/docs/content/en/docs/Reference/_index.md new file mode 100644 index 0000000000..1e3870bc73 --- /dev/null +++ b/docs/content/en/docs/Reference/_index.md @@ -0,0 +1,6 @@ +--- +title: "Reference" +linkTitle: "Reference" +weight: 6 +description: > +--- diff --git a/docs/src/pages/reference/architecture.md b/docs/content/en/docs/Reference/architecture.md similarity index 94% rename from docs/src/pages/reference/architecture.md rename to docs/content/en/docs/Reference/architecture.md index d73b1533f8..000e356966 100644 --- a/docs/src/pages/reference/architecture.md +++ b/docs/content/en/docs/Reference/architecture.md @@ -1,11 +1,12 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Architecture" -index: 2 +linkTitle: "Architecture" +weight: 1 +date: 2022-11-13 +description: > + Kairos internal architecture --- -# Architecture - This section contains refrences to how Kairos works internally. ## Setup process diff --git a/docs/src/pages/reference/cli.md b/docs/content/en/docs/Reference/cli.md similarity index 98% rename from docs/src/pages/reference/cli.md rename to docs/content/en/docs/Reference/cli.md index 0eb60c0c92..83213c33c2 100644 --- a/docs/src/pages/reference/cli.md +++ b/docs/content/en/docs/Reference/cli.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "CLI" -index: 3 +linkTitle: "CLI" +weight: 3 +date: 2022-11-13 +description: > --- -# CLI reference - A CLI is provided as part of releases associated to each Kairos version. The CLI can be used from an external machine to generate network tokens and pair nodes on first-boot. diff --git a/docs/src/pages/reference/configuration.md b/docs/content/en/docs/Reference/configuration.md similarity index 96% rename from docs/src/pages/reference/configuration.md rename to docs/content/en/docs/Reference/configuration.md index 8f29b9d0b6..3d7d9c1d13 100644 --- a/docs/src/pages/reference/configuration.md +++ b/docs/content/en/docs/Reference/configuration.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Configuration reference" -index: 5 +title: "Configuration" +linkTitle: "Configuration" +weight: 2 +date: 2022-11-13 +description: > --- -# Configuration reference - Here you can find a full reference of the fields available to configure a Kairos node. ```yaml @@ -165,8 +165,8 @@ stages: The `k3s` and the `k3s-agent` block are used to customize the environment and argument settings of K3s, consider: -{{< tabs groupId="k3s">}} -{{% tab name="server" %}} +{{< tabpane >}} +{{% tab header="server" %}} ```yaml k3s: @@ -180,7 +180,7 @@ k3s: ``` {{% /tab %}} -{{% tab name="agent" %}} +{{% tab header="agent" %}} ```yaml k3s-agent: @@ -194,7 +194,7 @@ k3s-agent: ``` {{% /tab %}} -{{< /tabs >}} +{{< /tabpane >}} See also the [examples](https://github.com/kairos-io/kairos/tree/master/examples) folder in the repository to configure K3s manually. @@ -316,7 +316,7 @@ stages: homedir: "/home/testuser" ``` -This configuration can be either manually copied over, or can be propagated also via Kubernetes using the system upgrade controller. See [the after-install](/advanced/after-install) section for an example. +This configuration can be either manually copied over, or can be propagated also via Kubernetes using the system upgrade controller. See [the after-install](/docs/advanced/after-install) section for an example. ```bash ❯ ssh testuser@192.168.1.238 @@ -339,7 +339,7 @@ P2P functionalities are experimental Kairos features and disabled by default. In ### `kairos.network_token` -This defines the network token used by peers to join the p2p virtual private network. You can generate it with the Kairos CLI with `kairos generate-token`. Check out [the P2P section](/installation/p2p) for more instructions. +This defines the network token used by peers to join the p2p virtual private network. You can generate it with the Kairos CLI with `kairos generate-token`. Check out [the P2P section](/docs/installation/p2p) for more instructions. ### `kairos.role` diff --git a/docs/src/pages/reference/entangle.mdx b/docs/content/en/docs/Reference/entangle.md similarity index 91% rename from docs/src/pages/reference/entangle.mdx rename to docs/content/en/docs/Reference/entangle.md index 884a285073..b2339378cd 100644 --- a/docs/src/pages/reference/entangle.mdx +++ b/docs/content/en/docs/Reference/entangle.md @@ -1,16 +1,16 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Entangle CRDs" -index: 2 +linkTitle: "Entangle" +weight: 8 +date: 2022-11-13 +description: > --- -import Info from "../../components/Info.astro"; +{{% alert title="Note" %}} - +This section is a work in progress! -**Note**: This section is a work in progress! - - +{{% /alert %}} Kairos has two Kubernetes Native extensions that allows to interconnect services between different clusters via P2P with a shared secret. diff --git a/docs/src/pages/reference/faq.mdx b/docs/content/en/docs/Reference/faq.md similarity index 96% rename from docs/src/pages/reference/faq.mdx rename to docs/content/en/docs/Reference/faq.md index 672f03c54e..9c928f10f0 100644 --- a/docs/src/pages/reference/faq.mdx +++ b/docs/content/en/docs/Reference/faq.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Frequently asked questions" -index: 6 +linkTitle: "FAQ" +weight: 9 +date: 2022-11-13 +description: > --- -import Info from "../../components/Info.astro"; - # FAQ ## What is the difference between Kairos compared to Talos/Sidero Metal and Flatcar? diff --git a/docs/src/pages/reference/image_matrix.mdx b/docs/content/en/docs/Reference/image_matrix.md similarity index 89% rename from docs/src/pages/reference/image_matrix.mdx rename to docs/content/en/docs/Reference/image_matrix.md index 989656a0a0..967b11b8a4 100644 --- a/docs/src/pages/reference/image_matrix.mdx +++ b/docs/content/en/docs/Reference/image_matrix.md @@ -1,18 +1,16 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Image support matrix" -index: 7 +linkTitle: "Image support matrix" +weight: 5 +date: 2022-11-13 +description: > --- -import Info from "../../components/Info.astro"; - -# Image support matrix - Kairos builds several artifacts for user convenience which are based on openSUSE, Alpine Linux, and Ubuntu. The images are pushed over quay.io, and are available for installation and upgrading. -The installable mediums part of the releases are generated with the methods described in the [automated installation reference](/installation/automated/#iso-remastering) from the images sources listed below, and the images can be used to point over for upgrades, as well. +The installable mediums part of the releases are generated with the methods described in the [automated installation reference](/docs/installation/automated/#iso-remastering) from the images sources listed below, and the images can be used to point over for upgrades, as well. | **Flavor/Variant** | **Core (no k3s)** | **Standard(k3s+opt.full-mesh)** | diff --git a/docs/src/pages/reference/recovery_mode.mdx b/docs/content/en/docs/Reference/recovery_mode.md similarity index 95% rename from docs/src/pages/reference/recovery_mode.mdx rename to docs/content/en/docs/Reference/recovery_mode.md index 59d53c4e68..3bdf3a562e 100644 --- a/docs/src/pages/reference/recovery_mode.mdx +++ b/docs/content/en/docs/Reference/recovery_mode.md @@ -1,16 +1,16 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Remote Recovery mode" -index: 6 +title: "Recovery mode" +linkTitle: "Recovery mode" +weight: 7 +date: 2022-11-13 +description: > --- -import Info from "../../components/Info.astro"; - The Kairos recovery mode can be used to recover a damaged system or to regain access remotely (with assistance) to a machine which has been lost access to. The recovery mode is accessible only from the GRUB menu, from both the LiveCD, and an installed system. - +{{% alert title="Note" %}} On installed system, there are two recovery modes available during boot. Below describes only how the Kairos remote recovery works. The manual recovery entry has nothing special from the standard Elemental-toolkit recovery mode. It can be used to reset the A/B partitions (with the user/pass used during setup) and perform any other operation without remote access. - +{{% /alert %}} ## Boot into recovery mode diff --git a/docs/src/pages/reference/reset.md b/docs/content/en/docs/Reference/reset.md similarity index 94% rename from docs/src/pages/reference/reset.md rename to docs/content/en/docs/Reference/reset.md index 6b1fb40d39..3876f9ef7c 100644 --- a/docs/src/pages/reference/reset.md +++ b/docs/content/en/docs/Reference/reset.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" -title: "Reset" -index: 9 +title: "Reset a node" +linkTitle: "Reset" +weight: 4 +date: 2022-11-13 +description: > --- -# Reset node state - Kairos has a recovery mechanism built-in which can be leveraged to restore the system to a known point. At installation time, the recovery partition is created from the installation medium and can be used to restore the system from scratch, leaving configuration and persistent data intact. The reset will regenerate the bootloader and the images in the COS_STATE partition by using the recovery image. diff --git a/docs/src/pages/reference/troubleshooting.md b/docs/content/en/docs/Reference/troubleshooting.md similarity index 96% rename from docs/src/pages/reference/troubleshooting.md rename to docs/content/en/docs/Reference/troubleshooting.md index 41977917a9..8b2af731ab 100644 --- a/docs/src/pages/reference/troubleshooting.md +++ b/docs/content/en/docs/Reference/troubleshooting.md @@ -1,11 +1,11 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Troubleshooting" -index: 4 +linkTitle: "Troubleshooting" +weight: 6 +date: 2022-11-13 +description: > --- -# Troubleshooting - Things can go wrong. This section tries to give guidelines in helping out identify potential issues. It is important first to check out if your issue was already submitted [in the issue tracker](https://github.com/kairos-io/kairos/issues). diff --git a/docs/content/en/docs/Upgrade/_index.md b/docs/content/en/docs/Upgrade/_index.md new file mode 100644 index 0000000000..2b6c8fc77a --- /dev/null +++ b/docs/content/en/docs/Upgrade/_index.md @@ -0,0 +1,6 @@ +--- +title: "Upgrade" +linkTitle: "Upgrade" +weight: 3 +description: > +--- diff --git a/docs/src/pages/upgrade/kubernetes.mdx b/docs/content/en/docs/Upgrade/kubernetes.md similarity index 90% rename from docs/src/pages/upgrade/kubernetes.mdx rename to docs/content/en/docs/Upgrade/kubernetes.md index 119f04dbf6..cbeda2fb61 100644 --- a/docs/src/pages/upgrade/kubernetes.mdx +++ b/docs/content/en/docs/Upgrade/kubernetes.md @@ -1,14 +1,12 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Upgrading from Kubernetes" -index: 3 +linkTitle: "Upgrading from Kubernetes" +weight: 1 +date: 2022-11-13 +description: > --- -import Info from "../../components/Info.astro"; - -# Upgrading from Kubernetes - -Kairos upgrades can be driven either manually or via Kubernetes. In order to trigger upgrades, it is required to apply a Central Registration Depository (CRD®) to the target cluster for the upgrade. +Kairos upgrades can be performed either manually or via Kubernetes if the cluster is composed of Kairos nodes. In order to trigger upgrades, it is required to apply a Central Registration Depository (CRD®) to the target cluster for the upgrade. ### Upgrading from version X to version Y with Kubernetes @@ -56,11 +54,11 @@ EOF To check all the available versions, see the [images](https://quay.io/repository/kairos/kairos-opensuse?tab=tags) available on the container registry, corresponding to the flavor/version selected. - +{{% alert title="Note" %}} Several upgrade strategies can be used with `system-upgrade-controller` which are not illustrated here in this example. For instance, it can be specified in the number of hosts which are running the upgrades, filtering by labels, and more. [Refer to the project documentation](https://github.com/rancher/system-upgrade-controller) on how to create efficient strategies to roll upgrades on the nodes. In the example above, the upgrades are applied to every host of the cluster, one-by-one in sequence. - +{{% /alert %}} A pod should appear right after which carries on the upgrade and automatically reboots the node: @@ -179,6 +177,6 @@ spec: ## What's next? -- [Upgrade nodes manually](/upgrade/manual) -- [Immutable architecture](/architecture/immutable) -- [Create decentralized clusters](/installation/p2p) +- [Upgrade nodes manually](/docs/upgrade/manual) +- [Immutable architecture](/docs/architecture/immutable) +- [Create decentralized clusters](/docs/installation/p2p) diff --git a/docs/src/pages/upgrade/manual.md b/docs/content/en/docs/Upgrade/manual.md similarity index 92% rename from docs/src/pages/upgrade/manual.md rename to docs/content/en/docs/Upgrade/manual.md index bd93dd877c..69d10ba0b6 100644 --- a/docs/src/pages/upgrade/manual.md +++ b/docs/content/en/docs/Upgrade/manual.md @@ -1,7 +1,9 @@ --- -layout: "../../layouts/docs/Layout.astro" title: "Manual" -index: 2 +linkTitle: "Manual" +weight: 2 +date: 2022-11-13 +description: > --- # Upgrading manually diff --git a/docs/src/pages/quickstart/index.mdx b/docs/content/en/docs/_index.md old mode 100644 new mode 100755 similarity index 93% rename from docs/src/pages/quickstart/index.mdx rename to docs/content/en/docs/_index.md index 800f9400ad..a425f2a95f --- a/docs/src/pages/quickstart/index.mdx +++ b/docs/content/en/docs/_index.md @@ -1,11 +1,13 @@ + --- -layout: "../../layouts/docs/Layout.astro" title: "Welcome" -index: 2 +linkTitle: "Documentation" +weight: 20 +menu: + main: + weight: 20 --- -# Welcome - Welcome to the Kairos documentation! Kairos is an open-source project which brings Edge, cloud, and bare metal OS lifecycle management into the same design principles with a unified Cloud Native API. @@ -14,11 +16,11 @@ At a glance: - Community Driven - Open Source -- [Meta-Distribution](/architecture/meta), distro agnostic -- [Immutable](/architecture/immutable) +- [Meta-Distribution](/docs/architecture/meta), distro agnostic +- [Immutable](/docs/architecture/immutable) - Secure -- [Container-based](/architecture/container) -- [P2P Mesh](/architecture/network) +- [Container-based](/docs/architecture/container) +- [P2P Mesh](/docs/architecture/network) Kairos can be used to: @@ -27,7 +29,7 @@ Kairos can be used to: - Manage the cluster lifecycle with Kubernetes—from building to provisioning and upgrading. - Create a multiple-node, single cluster which spans across regions. -To become familiar with Kairos, check out the [quickstart](/quickstart/installation). +To become familiar with Kairos, check out the [quickstart](/docs/getting-started). ## What is it ? @@ -141,8 +143,6 @@ Requirements: Needs only Docker. Run `./earthly.sh +all --FLAVOR=opensuse`, should produce a Docker image along with a working ISO. - - ## What's next? -See the [quickstart](/quickstart/) to install Kairos on a VM and create a Kubernetes cluster! +See the [quickstart](/docs/getting-started) to install Kairos on a VM and create a Kubernetes cluster! diff --git a/docs/content/en/docs/contribution-guidelines.md b/docs/content/en/docs/contribution-guidelines.md new file mode 100644 index 0000000000..f2bb4913b6 --- /dev/null +++ b/docs/content/en/docs/contribution-guidelines.md @@ -0,0 +1,25 @@ +--- +title: "Contributing" +linkTitle: "Contribution guidelines" +weight: 20 +menu: + main: + weight: 20 +--- + +{{< blocks/section color="secondary" >}} +{{% blocks/feature icon="fa" %}} + +{{% /blocks/feature %}} +{{% blocks/feature icon="fa-brands fa-github" url="https://github.com/kairos-io/kairos/contribute" %}} + +That's awesome! We welcome any contribution! + +If you wish to start contributing, and want to understand more our process check out: +- [Contribution guidelines](https://github.com/kairos-io/kairos/blob/master/CONTRIBUTING.md) +- [Governance](https://github.com/kairos-io/kairos/blob/master/GOVERNANCE.md) +{{% /blocks/feature %}} +{{% blocks/feature icon="fa" %}} + +{{% /blocks/feature %}} +{{< /blocks/section >}} diff --git a/docs/content/en/search-index.md b/docs/content/en/search-index.md new file mode 100644 index 0000000000..62e6329abd --- /dev/null +++ b/docs/content/en/search-index.md @@ -0,0 +1,4 @@ +--- +type: "search-index" +url: "index.json" +--- diff --git a/docs/content/en/search.md b/docs/content/en/search.md new file mode 100644 index 0000000000..e3690fd5a8 --- /dev/null +++ b/docs/content/en/search.md @@ -0,0 +1,6 @@ +--- +title: Search Results +layout: search + +--- + diff --git a/docs/index.astro b/docs/index.astro deleted file mode 100644 index 68f8d37ea7..0000000000 --- a/docs/index.astro +++ /dev/null @@ -1,7 +0,0 @@ ---- -index: 1; ---- - - diff --git a/docs/jsconfig.json b/docs/jsconfig.json deleted file mode 100644 index 6ac5ac5f13..0000000000 --- a/docs/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6" - }, - "exclude": ["node_modules"], - "include": ["src/**/*"] -} diff --git a/docs/layouts/404.html b/docs/layouts/404.html new file mode 100644 index 0000000000..378b736750 --- /dev/null +++ b/docs/layouts/404.html @@ -0,0 +1,10 @@ +{{ define "main"}} +
+
+

Not found

+

Oops! This page doesn't exist. Try going back to our home page.

+ +

You can learn how to make a 404 page like this in Custom 404 Pages.

+
+
+{{ end }} diff --git a/docs/layouts/index.html b/docs/layouts/index.html new file mode 100644 index 0000000000..569d686e48 --- /dev/null +++ b/docs/layouts/index.html @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+

+ Edge, but better +

+ The immutable Linux meta-distribution
for edge Kubernetes
+ +
+
+

+ With Kairos you can build immutable, bootable Kubernetes + and OS images for your edge devices as easily as writing a Dockerfile. + Optional P2P mesh with distributed ledger automates node bootstrapping + and coordination. Updating nodes is as easy as CI/CD: push a new image + to your container registry and let secure, risk-free A/B atomic upgrades + do the rest. +

+
+
+
+
+
+
What makes Kairos different?
+
section logo
The Immutable
edge factory

Let's get meta:

We call Kairos a meta-Linux Distribution. Why meta? Because it sits as a container layer, turning any Linux distro into an immutable system distributed via container registries. With Kairos, the OS is the container image, which is used for new installations and upgrades.

Bring your own OS:

The Kairos 'factory' enables you to build custom bootable-OS images for your edge devices, from your choice of OS (including openSUSE, Alpine and Ubuntu), and your choice of edge Kubernetes distribution—Kairos is totally agnostic.

Repeatable, immutable:

Each node boots from the same image, so no more snowflakes in your clusters, and each system is immutable—it boots in a restricted, permissionless mode, where certain paths are not writeable. For instance, after an installation it's not possible to install additional packages in the system, and any configuration change is discarded after a reboot. This dramatically reduces the attack surface and the impact of malicious actors gaining access to the device.

section logo
Welcome to the
self-driving edge

Zero touch provisioning:

Keeping simplicity while providing complex solutions is a key factor of Kairos. Onboarding of nodes can be done via QR code, manually, remotely via SSH, interactively, or completely automated with Kubernetes, with zero touch provisioning.

Secure peer to peer mesh with VPN:

Kairos optionally supports P2P full-mesh out of the box. New devices wake up with a shared secret and distributed ledger of other nodes and clusters to look for—they form a unified overlay network that’s E2E encrypted to discover other devices, even spanning multiple networks, to bootstrap the cluster.

section logo
Containerize your
lifecycle management

Treat your OS just like any app:

Each Kairos OS is created as easily as writing a Dockerfile—no custom recipes or arcane languages here. You can run and customize the container images locally with Docker, Podman, or your container engine of choice exactly how you do for apps already.

Run your pipeline to the edge:

Your built OS is a container-based, single image that is distributed via container registries, so it plugs neatly into your existing CI/CD pipelines. It makes edge scale as repeatable and portable as driving containers. Customizing, mirroring of images, scanning vulnerabilities, gating upgrades, patching CVEs are some of the endless possibilities. Updating nodes is just as easy as selecting a new version via Kubernetes. Each node will pull the update from your repo, installing on A/B partitions for zero-risk upgrades with failover.

Run K8s with K8s:

Use Kubernetes management principles to manage and provision your clusters. Kairos supports automatic node provisioning via CRDs; upgrade management via Kubernetes; node repurposing and machine auto scaling capabilities; and complete configuration management via cloud-init.

section logo
A community soul

On the shoulders of giants:

Kairos draws on the strength of the cloud-native ecosystem, not just for principles and approaches, but components. Cluster API is optionally supported as well, and can be used to manage Kubernetes clusters using native Kubernetes APIs with zero touch provisioning.

Extensively tested:

We move fast, but we try not to break stuff—particularly your nodes. Every change in the Kairos codebase runs through highly engineered automated testing before release to catch bugs earlier.

Designed for everyone:

While Kairos has been engineered for large-scale use by DevOps and IT Engineering teams working in cloud, bare metal, edge and embedded systems environments, we welcome makers, hobbyists, and anyone in the community to participate in driving forward our vision of the immutable, decentralized, and containerized edge.

Backed by Spectro Cloud:

Kairos is a vibrant, active project with time and financial backing from Spectro Cloud, a Kubernetes management platform provider with a strong commitment to the open source community. It is a silver member of the CNCF and LF Edge, a Certified Kubernetes Service Provider, and a contributor to projects such as Cluster API. Find more about Spectro Cloud here.

section logo
Installation

See how to get up and running with Kairos, in less than 15 minutes!

section logo
Architecture

Get inside Kairos, from the factory to P2P mesh capabilities.

section logo
Examples

Stretch your wings with best practices of common tasks after installing Kairos.

+
+
+
+ footer logo +
+ \ No newline at end of file diff --git a/docs/layouts/shortcodes/githubembed.html b/docs/layouts/shortcodes/githubembed.html new file mode 100644 index 0000000000..0c819ba181 --- /dev/null +++ b/docs/layouts/shortcodes/githubembed.html @@ -0,0 +1,9 @@ +{{/* https://github.com/haideralipunjabi/hugo-shortcodes/tree/master/github */}} + +{{ $dataJ := getJSON "https://api.github.com/repos/" (.Get "repo") "/contents/" (.Get "file") }} +{{ $con := base64Decode $dataJ.content }} + +{{ highlight $con (.Get "lang") (.Get "options") }} + + Complete source code: {{ print "https://github.com/" ( .Get "repo" ) "/blob/master/" (.Get "file" ) }} +
diff --git a/docs/package-lock.json b/docs/package-lock.json index 7cc0ebfbcf..89e9d78fd5 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,5714 +1,1565 @@ { - "name": "@kairos/docs", - "version": "0.0.1", - "lockfileVersion": 1, + "name": "docs", + "lockfileVersion": 2, "requires": true, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "packages": { + "": { + "devDependencies": { + "autoprefixer": "^10.4.13", + "postcss": "^8.4.19", + "postcss-cli": "^10.0.0" } }, - "@astrojs/compiler": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-0.24.0.tgz", - "integrity": "sha512-xZ81C/oMfExdF18I1Tyd2BKKzBqO+qYYctSy4iCwH4UWSo/4Y8A8MAzV1hG67uuE7hFRourSl6H5KUbhyChv/A==" - }, - "@astrojs/language-server": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.23.3.tgz", - "integrity": "sha512-ROoMKo37NZ76pE/A2xHfjDlgfsNnFmkhL4+Wifs0L855n73SUCbnXz7ZaQktIGAq2Te2TpSjAawiOx0q9L5qeg==", - "requires": { - "@vscode/emmet-helper": "^2.8.4", - "prettier": "^2.7.1", - "source-map": "^0.7.3", - "typescript": "~4.6.4", - "vscode-css-languageservice": "^6.0.1", - "vscode-html-languageservice": "^5.0.0", - "vscode-languageserver": "^8.0.1", - "vscode-languageserver-protocol": "^3.17.1", - "vscode-languageserver-textdocument": "^1.0.4", - "vscode-languageserver-types": "^3.17.1", - "vscode-uri": "^3.0.3" + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@astrojs/markdown-remark": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-1.1.1.tgz", - "integrity": "sha512-eOvrqejecgeRLUXOdBfb0VoMppe7J80TlazaDnu4tVDdTG4nyuspO0CTPr9nzt6rbW5iLIh4KEUUuOk+z8n8uQ==", - "requires": { - "@astrojs/micromark-extension-mdx-jsx": "^1.0.3", - "@astrojs/prism": "^1.0.0", - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "github-slugger": "^1.4.0", - "mdast-util-mdx-expression": "^1.2.1", - "mdast-util-mdx-jsx": "^1.2.0", - "micromark-extension-mdx-expression": "^1.0.3", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "rehype-raw": "^6.1.1", - "rehype-stringify": "^9.0.3", - "remark-gfm": "^3.0.1", - "remark-parse": "^10.0.1", - "remark-rehype": "^10.1.0", - "remark-smartypants": "^2.0.0", - "shiki": "^0.11.1", - "unified": "^10.1.2", - "unist-util-map": "^3.1.1", - "unist-util-visit": "^4.1.0", - "vfile": "^5.3.2" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" } }, - "@astrojs/mdx": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.11.1.tgz", - "integrity": "sha512-L0uUBRlfRZvXhS5rc/VIrQlHldgj7cwrSb81K3cAB2LrzqZ3QgU+GRx/mdMN95Brqkv+8x77cNmsbAwXxijeNA==", - "requires": { - "@astrojs/prism": "^1.0.1", - "@mdx-js/mdx": "^2.1.2", - "@mdx-js/rollup": "^2.1.1", - "acorn": "^8.8.0", - "es-module-lexer": "^0.10.5", - "github-slugger": "^1.4.0", - "gray-matter": "^4.0.3", - "kleur": "^4.1.4", - "rehype-raw": "^6.1.1", - "remark-frontmatter": "^4.0.1", - "remark-gfm": "^3.0.1", - "remark-smartypants": "^2.0.0", - "shiki": "^0.11.1", - "unist-util-visit": "^4.1.0", - "vfile": "^5.3.2" + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@astrojs/micromark-extension-mdx-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@astrojs/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", - "integrity": "sha512-O15+i2DGG0qb1R/1SYbFXgOKDGbYdV8iJMtuboVb1S9YFQfMOJxaCMco0bhXQI7PmZcQ4pZWIjT5oZ64dXUtRA==", - "requires": { - "@types/acorn": "^4.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@astrojs/prism": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-1.0.1.tgz", - "integrity": "sha512-HxEFslvbv+cfOs51q/C7aMVFuW3EAGg0d1xXU/0e/QeScDzfrp5Ra4SOb8mV082SgENVjtVvet4zR84t3at4VQ==", - "requires": { - "prismjs": "^1.28.0" + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@astrojs/react": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-1.1.2.tgz", - "integrity": "sha512-qGXI7SeKauJoeChb5vcwFELVMyth5kmakgcb6vm9+PBXNauSo983b9qOYd1ptB+kTK+eYGmezGh/YT3Rjhggag==", - "requires": { - "@babel/core": ">=7.0.0-0 <8.0.0", - "@babel/plugin-transform-react-jsx": "^7.17.12" + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "@astrojs/telemetry": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-1.0.0.tgz", - "integrity": "sha512-a8edSHK2CpWrGubLp2RR2D/uC9Paa614hQM/lS4In2lhmcCjaQA9ZyYT6l44peuDwUNt1V82DqXk3TFiDBWM8g==", - "requires": { - "ci-info": "^3.3.1", - "debug": "^4.3.4", - "dlv": "^1.1.3", - "dset": "^3.1.2", - "is-docker": "^3.0.0", - "is-wsl": "^2.2.0", - "node-fetch": "^3.2.5", - "which-pm-runs": "^1.1.0" - }, - "dependencies": { - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==" + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "@astrojs/webapi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@astrojs/webapi/-/webapi-1.0.0.tgz", - "integrity": "sha512-+klQ75oQbRdAMEbvAgrKE14hxh6GVHsQWZE4j/eJ2qhnvMSu7pw13MVQtFaAV96+pUkcYSjwWd1k+Oxoxkuo3g==", - "requires": { - "node-fetch": "^3.2.5" + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==" - }, - "@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001431", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", + "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "@babel/generator": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", - "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", - "requires": { - "@babel/types": "^7.19.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", - "requires": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" } }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "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.4" + }, + "engines": { + "node": ">=8.6.0" } }, - "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" } }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "requires": { - "@babel/types": "^7.18.6" + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==" + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" + "node_modules/globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" } }, - "@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", - "@babel/types": "^7.19.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", - "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", - "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@emmetio/abbreviation": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz", - "integrity": "sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==", - "requires": { - "@emmetio/scanner": "^1.0.0" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@emmetio/css-abbreviation": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz", - "integrity": "sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==", - "requires": { - "@emmetio/scanner": "^1.0.0" + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@emmetio/scanner": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz", - "integrity": "sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==" + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "@esbuild/linux-loong64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", - "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", - "optional": true + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "@fortawesome/fontawesome-common-types": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz", - "integrity": "sha512-rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg==" + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "@fortawesome/fontawesome-svg-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz", - "integrity": "sha512-Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.2.0" + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" } }, - "@fortawesome/free-regular-svg-icons": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.0.tgz", - "integrity": "sha512-M1dG+PAmkYMTL9BSUHFXY5oaHwBYfHCPhbJ8qj8JELsc9XCrUJ6eEHWip4q0tE+h9C0DVyFkwIM9t7QYyCpprQ==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.2.0" + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "@fortawesome/free-solid-svg-icons": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz", - "integrity": "sha512-UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.2.0" + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "@fortawesome/react-fontawesome": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz", - "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==", - "requires": { - "prop-types": "^15.8.1" + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@ljharb/has-package-exports-patterns": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz", - "integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==" + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, - "@mdx-js/mdx": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.1.3.tgz", - "integrity": "sha512-ahbb47HJIJ4xnifaL06tDJiSyLEy1EhFAStO7RZIm3GTa7yGW3NGhZaj+GUCveFgl5oI54pY4BgiLmYm97y+zg==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/mdx": "^2.0.0", - "estree-util-build-jsx": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-to-js": "^1.1.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^2.0.0", - "markdown-extensions": "^1.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^2.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "unified": "^10.0.0", - "unist-util-position-from-estree": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "@mdx-js/rollup": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-2.1.3.tgz", - "integrity": "sha512-KaX9GcZ63TDaLNH9UYYE94+naZQldV2IUzmMkDVOlPxDtTh8kcEn8l6/4W1P79wxZZbakSOFejTuaYmcstl5sA==", - "requires": { - "@mdx-js/mdx": "^2.0.0", - "@rollup/pluginutils": "^4.0.0", - "source-map": "^0.7.0", - "vfile": "^5.0.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "node_modules/postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" - } - }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" - }, - "@proload/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@proload/core/-/core-0.3.3.tgz", - "integrity": "sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==", - "requires": { - "deepmerge": "^4.2.2", - "escalade": "^3.1.1" - } - }, - "@proload/plugin-tsm": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@proload/plugin-tsm/-/plugin-tsm-0.2.1.tgz", - "integrity": "sha512-Ex1sL2BxU+g8MHdAdq9SZKz+pU34o8Zcl9PHWo2WaG9hrnlZme607PU6gnpoAYsDBpHX327+eu60wWUk+d/b+A==", - "requires": { - "tsm": "^2.1.4" - } - }, - "@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "source-map-js": "^1.0.2" }, - "dependencies": { - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - } - } - }, - "@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "requires": { - "@types/estree": "*" - } - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz", - "integrity": "sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "requires": { - "@types/ms": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", - "requires": { - "@types/estree": "*" - } - }, - "@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "requires": { - "@types/unist": "*" - } - }, - "@types/html-escaper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/html-escaper/-/html-escaper-3.0.0.tgz", - "integrity": "sha512-OcJcvP3Yk8mjYwf/IdXZtTE1tb/u0WF0qa29ER07ZHCYUBZXSN29Z1mBS+/96+kNMGTFUAbSz9X+pHmHpZrTCw==" - }, - "@types/json5": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.30.tgz", - "integrity": "sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==" - }, - "@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "requires": { - "@types/unist": "*" - } - }, - "@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" - }, - "@types/mdx": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.2.tgz", - "integrity": "sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ==" - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "@types/nlcst": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.0.tgz", - "integrity": "sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==", - "requires": { - "@types/unist": "*" + "engines": { + "node": "^10 || ^12 || >=14" } }, - "@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "@types/react": { - "version": "18.0.20", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.20.tgz", - "integrity": "sha512-MWul1teSPxujEHVwZl4a5HxQ9vVNsjTchVA+xRqv/VYGCuKGAU6UhfrTdF5aBefwD1BHUD8i/zq+O/vyCm/FrA==", + "node_modules/postcss-cli": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz", + "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==", "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@vscode/emmet-helper": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.8.4.tgz", - "integrity": "sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==", - "requires": { - "emmet": "^2.3.0", - "jsonc-parser": "^2.3.0", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.15.1", - "vscode-nls": "^5.0.0", - "vscode-uri": "^2.1.2" - }, - "dependencies": { - "vscode-uri": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", - "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" - } - } - }, - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "requires": { - "string-width": "^4.1.0" - }, "dependencies": { - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-iterate": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.4.tgz", - "integrity": "sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA==" - }, - "ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "requires": { - "tslib": "^2.0.1" - } - }, - "astring": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz", - "integrity": "sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==" - }, - "astro": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/astro/-/astro-1.2.2.tgz", - "integrity": "sha512-qfK7Ch7dSO0CJEwkcEx/oxMxEuaDcaHCcrJ1PGMWFzdjBXrT45tDgnXXis06yT+AuolLSOIbPhpEi3QWsGqvuQ==", - "requires": { - "@astrojs/compiler": "^0.24.0", - "@astrojs/language-server": "^0.23.0", - "@astrojs/markdown-remark": "^1.1.1", - "@astrojs/telemetry": "^1.0.0", - "@astrojs/webapi": "^1.0.0", - "@babel/core": "^7.18.2", - "@babel/generator": "^7.18.2", - "@babel/parser": "^7.18.4", - "@babel/plugin-transform-react-jsx": "^7.17.12", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.4", - "@proload/core": "^0.3.3", - "@proload/plugin-tsm": "^0.2.1", - "@types/babel__core": "^7.1.19", - "@types/html-escaper": "^3.0.0", - "@types/yargs-parser": "^21.0.0", - "boxen": "^6.2.1", - "ci-info": "^3.3.1", - "common-ancestor-path": "^1.0.1", - "debug": "^4.3.4", - "diff": "^5.1.0", - "eol": "^0.9.1", - "es-module-lexer": "^0.10.5", - "esbuild": "^0.14.43", - "execa": "^6.1.0", - "fast-glob": "^3.2.11", - "github-slugger": "^1.4.0", - "gray-matter": "^4.0.3", - "html-entities": "^2.3.3", - "html-escaper": "^3.0.3", - "kleur": "^4.1.4", - "magic-string": "^0.25.9", - "mime": "^3.0.0", - "ora": "^6.1.0", - "path-browserify": "^1.0.1", - "path-to-regexp": "^6.2.1", - "postcss": "^8.4.14", - "postcss-load-config": "^3.1.4", - "preferred-pm": "^3.0.3", - "prompts": "^2.4.2", - "recast": "^0.20.5", - "rehype": "^12.0.1", - "resolve": "^1.22.0", - "rollup": "~2.77.0", - "semver": "^7.3.7", - "shiki": "^0.11.1", - "sirv": "^2.0.2", + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^10.0.0", + "get-stdin": "^9.0.0", + "globby": "^13.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^4.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", "slash": "^4.0.0", - "string-width": "^5.1.2", - "strip-ansi": "^7.0.1", - "supports-esm": "^1.0.0", - "tsconfig-resolver": "^3.0.1", - "unist-util-visit": "^4.1.0", - "vfile": "^5.3.2", - "vite": "3.0.9", - "yargs-parser": "^21.0.1", - "zod": "^3.17.3" - } - }, - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bl": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", - "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", - "requires": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "yargs": "^17.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "caniuse-lite": { - "version": "1.0.30001399", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz", - "integrity": "sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA==" - }, - "ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "postcss": "index.js" }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" - }, - "character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" - }, - "character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" - }, - "character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" - }, - "ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==" - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" - }, - "cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "requires": { - "restore-cursor": "^4.0.0" - } - }, - "cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "comma-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", - "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==" - }, - "common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true - }, - "data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "requires": { - "character-entities": "^2.0.0" - } - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "requires": { - "clone": "^1.0.2" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dset": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", - "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "electron-to-chromium": { - "version": "1.4.248", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.248.tgz", - "integrity": "sha512-qShjzEYpa57NnhbW2K+g+Fl+eNoDvQ7I+2MRwWnU6Z6F0HhXekzsECCLv+y2OJUsRodjqoSfwHkIX42VUFtUzg==" - }, - "emmet": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.3.6.tgz", - "integrity": "sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==", - "requires": { - "@emmetio/abbreviation": "^2.2.3", - "@emmetio/css-abbreviation": "^2.1.4" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" - }, - "es-module-lexer": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz", - "integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==" - }, - "esbuild": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", - "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", - "requires": { - "@esbuild/linux-loong64": "0.14.54", - "esbuild-android-64": "0.14.54", - "esbuild-android-arm64": "0.14.54", - "esbuild-darwin-64": "0.14.54", - "esbuild-darwin-arm64": "0.14.54", - "esbuild-freebsd-64": "0.14.54", - "esbuild-freebsd-arm64": "0.14.54", - "esbuild-linux-32": "0.14.54", - "esbuild-linux-64": "0.14.54", - "esbuild-linux-arm": "0.14.54", - "esbuild-linux-arm64": "0.14.54", - "esbuild-linux-mips64le": "0.14.54", - "esbuild-linux-ppc64le": "0.14.54", - "esbuild-linux-riscv64": "0.14.54", - "esbuild-linux-s390x": "0.14.54", - "esbuild-netbsd-64": "0.14.54", - "esbuild-openbsd-64": "0.14.54", - "esbuild-sunos-64": "0.14.54", - "esbuild-windows-32": "0.14.54", - "esbuild-windows-64": "0.14.54", - "esbuild-windows-arm64": "0.14.54" - } - }, - "esbuild-android-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", - "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", - "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", - "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", - "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", - "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", - "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", - "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", - "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", - "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", - "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", - "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", - "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", - "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", - "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", - "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", - "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", - "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", - "optional": true - }, - "esbuild-windows-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", - "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", - "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", - "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "estree-util-attach-comments": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz", - "integrity": "sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==", - "requires": { - "@types/estree": "^1.0.0" - } - }, - "estree-util-build-jsx": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz", - "integrity": "sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-walker": "^3.0.0" - } - }, - "estree-util-is-identifier-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz", - "integrity": "sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==" - }, - "estree-util-to-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz", - "integrity": "sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - } - }, - "estree-util-visit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz", - "integrity": "sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" - } - }, - "estree-walker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz", - "integrity": "sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==" - }, - "execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "requires": { - "format": "^0.2.0" - } - }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "requires": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, - "format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" - }, - "formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "requires": { - "fetch-blob": "^3.1.2" - } - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "github-slugger": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", - "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-package-exports": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz", - "integrity": "sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==", - "requires": { - "@ljharb/has-package-exports-patterns": "^0.0.2" - } - }, - "hast-to-hyperscript": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.1.tgz", - "integrity": "sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw==", - "requires": { - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^5.0.0", - "web-namespaces": "^2.0.0" - } - }, - "hast-util-from-parse5": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.0.tgz", - "integrity": "sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==", - "requires": { - "@types/hast": "^2.0.0", - "@types/parse5": "^6.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", - "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "web-namespaces": "^2.0.0" - } - }, - "hast-util-is-element": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz", - "integrity": "sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==", - "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" - } - }, - "hast-util-parse-selector": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.0.tgz", - "integrity": "sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg==", - "requires": { - "@types/hast": "^2.0.0" - } - }, - "hast-util-raw": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.2.tgz", - "integrity": "sha512-0x3BhhdlBcqRIKyc095lBSDvmQNMY3Eulj2PLsT5XCyKYrxssI5yr3P4Kv/PBo1s/DMkZy2voGkMXECnFCZRLQ==", - "requires": { - "@types/hast": "^2.0.0", - "@types/parse5": "^6.0.0", - "hast-util-from-parse5": "^7.0.0", - "hast-util-to-parse5": "^7.0.0", - "html-void-elements": "^2.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - } - }, - "hast-util-to-estree": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz", - "integrity": "sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==", - "requires": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.3.0", - "unist-util-position": "^4.0.0", - "zwitch": "^2.0.0" - } - }, - "hast-util-to-html": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz", - "integrity": "sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==", - "requires": { - "@types/hast": "^2.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "html-void-elements": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.2", - "unist-util-is": "^5.0.0" - } - }, - "hast-util-to-parse5": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.0.0.tgz", - "integrity": "sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==", - "requires": { - "@types/hast": "^2.0.0", - "@types/parse5": "^6.0.0", - "hast-to-hyperscript": "^10.0.0", - "property-information": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - } - }, - "hast-util-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", - "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==" - }, - "hastscript": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.0.2.tgz", - "integrity": "sha512-uA8ooUY4ipaBvKcMuPehTAB/YfFLSSzCwFSwT6ltJbocFUKH/GDHLN+tflq7lSRf9H86uOuxOFkh1KgIy3Gg2g==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" - }, - "html-void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", - "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==" - }, - "human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "install": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==" - }, - "is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==" - }, - "is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "requires": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==" - }, - "is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "is-reference": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.0.tgz", - "integrity": "sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==", - "requires": { - "@types/estree": "*" - } - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - }, - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - }, - "jsonc-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", - "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" - }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" - }, - "load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "requires": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "requires": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "dependencies": { - "chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" - } - } - }, - "longest-streak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz", - "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" - }, - "markdown-table": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz", - "integrity": "sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==" - }, - "mdast-util-definitions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz", - "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "mdast-util-find-and-replace": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz", - "integrity": "sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==", - "requires": { - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - } - }, - "mdast-util-from-markdown": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", - "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - } - }, - "mdast-util-frontmatter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz", - "integrity": "sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==", - "requires": { - "micromark-extension-frontmatter": "^1.0.0" - } - }, - "mdast-util-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz", - "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==", - "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-gfm-autolink-literal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz", - "integrity": "sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==", - "requires": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" - } - }, - "mdast-util-gfm-footnote": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz", - "integrity": "sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" - } - }, - "mdast-util-gfm-strikethrough": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz", - "integrity": "sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-table": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz", - "integrity": "sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==", - "requires": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-task-list-item": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz", - "integrity": "sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-mdx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz", - "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==", - "requires": { - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0" - }, - "dependencies": { - "mdast-util-mdx-jsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz", - "integrity": "sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-to-markdown": "^1.3.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - } - } - }, - "mdast-util-mdx-expression": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz", - "integrity": "sha512-9kTO13HaL/ChfzVCIEfDRdp1m5hsvsm6+R8yr67mH+KS2ikzZ0ISGLPTbTswOFpLLlgVHO9id3cul4ajutCvCA==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-mdx-jsx": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-1.2.0.tgz", - "integrity": "sha512-5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==", - "requires": { - "@types/estree-jsx": "^0.0.1", - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "dependencies": { - "@types/estree-jsx": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-0.0.1.tgz", - "integrity": "sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==", - "requires": { - "@types/estree": "*" - } - } - } - }, - "mdast-util-mdxjs-esm": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz", - "integrity": "sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-to-hast": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.2.tgz", - "integrity": "sha512-lVkUttV9wqmdXFtEBXKcepvU/zfwbhjbkM5rxrquLW55dS1DfOrnAXCk5mg1be1sfY/WfMmayGy1NsbK1GLCYQ==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/mdurl": "^1.0.0", - "mdast-util-definitions": "^5.0.0", - "mdurl": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "trim-lines": "^3.0.0", - "unist-builder": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "mdast-util-to-markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz", - "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - } - }, - "mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromark": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", - "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-extension-frontmatter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz", - "integrity": "sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==", - "requires": { - "fault": "^2.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", - "requires": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-footnote": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", - "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", - "requires": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-strikethrough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", - "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-table": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", - "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-tagfilter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", - "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-gfm-task-list-item": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", - "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-mdx-expression": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz", - "integrity": "sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==", - "requires": { - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-mdx-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", - "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", - "requires": { - "@types/acorn": "^4.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, - "micromark-extension-mdx-md": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", - "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-mdxjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", - "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", - "requires": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-mdxjs-esm": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", - "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", - "requires": { - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, - "micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-mdx-expression": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz", - "integrity": "sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, - "micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", - "requires": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" - }, - "micromark-util-events-to-acorn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz", - "integrity": "sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==", - "requires": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-location": "^4.0.0", - "vfile-message": "^3.0.0" - } - }, - "micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==" - }, - "micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-sanitize-uri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", - "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" - }, - "micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "nlcst-to-string": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz", - "integrity": "sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==" - }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - }, - "node-fetch": { - "version": "3.2.10", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz", - "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==", - "requires": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - } - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "npm": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.1.1.tgz", - "integrity": "sha512-FgrLK0VAqiCENet9EiC3mAwqpUMP+2AeEZLs9k8FB5LNZ1v+oIleubE1TfMCjeKzigtTkz7K0Cfs8qAAZLVeNw==", - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^6.1.2", - "@npmcli/ci-detect": "^3.0.1", - "@npmcli/config": "^6.1.0", - "@npmcli/map-workspaces": "^3.0.0", - "@npmcli/package-json": "^3.0.0", - "@npmcli/run-script": "^6.0.0", - "abbrev": "^2.0.0", - "archy": "~1.0.0", - "cacache": "^17.0.2", - "chalk": "^4.1.2", - "cli-columns": "^4.0.0", - "cli-table3": "^0.6.3", - "columnify": "^1.6.0", - "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "graceful-fs": "^4.2.10", - "hosted-git-info": "^6.1.1", - "ini": "^3.0.1", - "init-package-json": "^4.0.1", - "is-cidr": "^4.0.2", - "json-parse-even-better-errors": "^3.0.0", - "libnpmaccess": "^7.0.0", - "libnpmdiff": "^5.0.3", - "libnpmexec": "^5.0.3", - "libnpmfund": "^4.0.3", - "libnpmhook": "^9.0.0", - "libnpmorg": "^5.0.0", - "libnpmpack": "^5.0.3", - "libnpmpublish": "^7.0.3", - "libnpmsearch": "^6.0.0", - "libnpmteam": "^5.0.0", - "libnpmversion": "^4.0.1", - "make-fetch-happen": "^11.0.1", - "minimatch": "^5.1.0", - "minipass": "^3.1.6", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "ms": "^2.1.2", - "node-gyp": "^9.3.0", - "nopt": "^7.0.0", - "npm-audit-report": "^4.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.0.0", - "npm-pick-manifest": "^8.0.1", - "npm-profile": "^7.0.1", - "npm-registry-fetch": "^14.0.2", - "npm-user-validate": "^1.0.1", - "npmlog": "^7.0.1", - "p-map": "^4.0.0", - "pacote": "^15.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", - "qrcode-terminal": "^0.12.0", - "read": "~1.0.7", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.8", - "ssri": "^10.0.0", - "tar": "^6.1.12", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.0", - "which": "^3.0.0", - "write-file-atomic": "^5.0.0" - }, - "dependencies": { - "@colors/colors": { - "version": "1.5.0", - "bundled": true, - "optional": true - }, - "@gar/promisify": { - "version": "1.1.3", - "bundled": true - }, - "@isaacs/string-locale-compare": { - "version": "1.1.0", - "bundled": true - }, - "@npmcli/arborist": { - "version": "6.1.2", - "bundled": true, - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.0", - "@npmcli/installed-package-contents": "^2.0.0", - "@npmcli/map-workspaces": "^3.0.0", - "@npmcli/metavuln-calculator": "^5.0.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^3.0.0", - "@npmcli/query": "^3.0.0", - "@npmcli/run-script": "^6.0.0", - "bin-links": "^4.0.1", - "cacache": "^17.0.2", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^6.1.1", - "json-parse-even-better-errors": "^3.0.0", - "json-stringify-nice": "^1.1.4", - "minimatch": "^5.1.0", - "nopt": "^7.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.0.0", - "npm-pick-manifest": "^8.0.1", - "npm-registry-fetch": "^14.0.2", - "npmlog": "^7.0.1", - "pacote": "^15.0.2", - "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^3.0.1", - "semver": "^7.3.7", - "ssri": "^10.0.0", - "treeverse": "^3.0.0", - "walk-up-path": "^1.0.0" - } - }, - "@npmcli/ci-detect": { - "version": "3.0.1", - "bundled": true - }, - "@npmcli/config": { - "version": "6.1.0", - "bundled": true, - "requires": { - "@npmcli/map-workspaces": "^3.0.0", - "ini": "^3.0.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "read-package-json-fast": "^3.0.0", - "semver": "^7.3.5", - "walk-up-path": "^1.0.0" - } - }, - "@npmcli/disparity-colors": { - "version": "3.0.0", - "bundled": true, - "requires": { - "ansi-styles": "^4.3.0" - } - }, - "@npmcli/fs": { - "version": "3.1.0", - "bundled": true, - "requires": { - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "4.0.3", - "bundled": true, - "requires": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - } - }, - "@npmcli/installed-package-contents": { - "version": "2.0.1", - "bundled": true, - "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - } - }, - "@npmcli/map-workspaces": { - "version": "3.0.0", - "bundled": true, - "requires": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^8.0.1", - "minimatch": "^5.0.1", - "read-package-json-fast": "^3.0.0" - } - }, - "@npmcli/metavuln-calculator": { - "version": "5.0.0", - "bundled": true, - "requires": { - "cacache": "^17.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^15.0.0", - "semver": "^7.3.5" - } - }, - "@npmcli/name-from-folder": { - "version": "1.0.1", - "bundled": true - }, - "@npmcli/node-gyp": { - "version": "3.0.0", - "bundled": true - }, - "@npmcli/package-json": { - "version": "3.0.0", - "bundled": true, - "requires": { - "json-parse-even-better-errors": "^3.0.0" - } - }, - "@npmcli/promise-spawn": { - "version": "6.0.1", - "bundled": true, - "requires": { - "which": "^3.0.0" - } - }, - "@npmcli/query": { - "version": "3.0.0", - "bundled": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "@npmcli/run-script": { - "version": "6.0.0", - "bundled": true, - "requires": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "bundled": true - }, - "abbrev": { - "version": "2.0.0", - "bundled": true - }, - "abort-controller": { - "version": "3.0.0", - "bundled": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "agent-base": { - "version": "6.0.2", - "bundled": true, - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "bundled": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, - "aggregate-error": { - "version": "3.1.0", - "bundled": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "bundled": true - }, - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "aproba": { - "version": "2.0.0", - "bundled": true - }, - "archy": { - "version": "1.0.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "4.0.0", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^4.1.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "bundled": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "readable-stream": { - "version": "4.2.0", - "bundled": true, - "requires": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - } - } - } - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true - }, - "base64-js": { - "version": "1.5.1", - "bundled": true - }, - "bin-links": { - "version": "4.0.1", - "bundled": true, - "requires": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" - } - }, - "binary-extensions": { - "version": "2.2.0", - "bundled": true - }, - "brace-expansion": { - "version": "2.0.1", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "builtins": { - "version": "5.0.1", - "bundled": true, - "requires": { - "semver": "^7.0.0" - } - }, - "cacache": { - "version": "17.0.2", - "bundled": true, - "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "bundled": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "2.0.0", - "bundled": true - }, - "cidr-regex": { - "version": "3.1.1", - "bundled": true, - "requires": { - "ip-regex": "^4.1.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "bundled": true - }, - "cli-columns": { - "version": "4.0.0", - "bundled": true, - "requires": { - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "cli-table3": { - "version": "0.6.3", - "bundled": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "clone": { - "version": "1.0.4", - "bundled": true - }, - "cmd-shim": { - "version": "6.0.0", - "bundled": true - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true - }, - "color-support": { - "version": "1.1.3", - "bundled": true - }, - "columnify": { - "version": "1.6.0", - "bundled": true, - "requires": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - } - }, - "common-ancestor-path": { - "version": "1.0.1", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "cssesc": { - "version": "3.0.0", - "bundled": true - }, - "debug": { - "version": "4.3.4", - "bundled": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "bundled": true - } - } - }, - "defaults": { - "version": "1.0.3", - "bundled": true, - "requires": { - "clone": "^1.0.2" - } - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "depd": { - "version": "1.1.2", - "bundled": true - }, - "diff": { - "version": "5.1.0", - "bundled": true - }, - "emoji-regex": { - "version": "8.0.0", - "bundled": true - }, - "encoding": { - "version": "0.1.13", - "bundled": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "env-paths": { - "version": "2.2.1", - "bundled": true - }, - "err-code": { - "version": "2.0.3", - "bundled": true - }, - "event-target-shim": { - "version": "5.0.1", - "bundled": true - }, - "events": { - "version": "3.3.0", - "bundled": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "bundled": true - }, - "fs-minipass": { - "version": "2.1.0", - "bundled": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "function-bind": { - "version": "1.1.1", - "bundled": true - }, - "gauge": { - "version": "5.0.0", - "bundled": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "glob": { - "version": "8.0.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "bundled": true - }, - "has": { - "version": "1.0.3", - "bundled": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "bundled": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "hosted-git-info": { - "version": "6.1.1", - "bundled": true, - "requires": { - "lru-cache": "^7.5.1" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "bundled": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "bundled": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "bundled": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ieee754": { - "version": "1.2.1", - "bundled": true - }, - "ignore-walk": { - "version": "6.0.0", - "bundled": true, - "requires": { - "minimatch": "^5.0.1" - } - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true - }, - "indent-string": { - "version": "4.0.0", - "bundled": true - }, - "infer-owner": { - "version": "1.0.4", - "bundled": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true - }, - "ini": { - "version": "3.0.1", - "bundled": true - }, - "init-package-json": { - "version": "4.0.1", - "bundled": true, - "requires": { - "npm-package-arg": "^10.0.0", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^6.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^5.0.0" - } - }, - "ip": { - "version": "2.0.0", - "bundled": true - }, - "ip-regex": { - "version": "4.3.0", - "bundled": true - }, - "is-cidr": { - "version": "4.0.2", - "bundled": true, - "requires": { - "cidr-regex": "^3.1.1" - } - }, - "is-core-module": { - "version": "2.10.0", - "bundled": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true - }, - "is-lambda": { - "version": "1.0.1", - "bundled": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true - }, - "json-parse-even-better-errors": { - "version": "3.0.0", - "bundled": true - }, - "json-stringify-nice": { - "version": "1.1.4", - "bundled": true - }, - "jsonparse": { - "version": "1.3.1", - "bundled": true - }, - "just-diff": { - "version": "5.1.1", - "bundled": true - }, - "just-diff-apply": { - "version": "5.4.1", - "bundled": true - }, - "libnpmaccess": { - "version": "7.0.0", - "bundled": true, - "requires": { - "npm-package-arg": "^10.0.0", - "npm-registry-fetch": "^14.0.2" - } - }, - "libnpmdiff": { - "version": "5.0.3", - "bundled": true, - "requires": { - "@npmcli/arborist": "^6.1.2", - "@npmcli/disparity-colors": "^3.0.0", - "@npmcli/installed-package-contents": "^2.0.0", - "binary-extensions": "^2.2.0", - "diff": "^5.1.0", - "minimatch": "^5.0.1", - "npm-package-arg": "^10.0.0", - "pacote": "^15.0.2", - "tar": "^6.1.0" - } - }, - "libnpmexec": { - "version": "5.0.3", - "bundled": true, - "requires": { - "@npmcli/arborist": "^6.1.2", - "@npmcli/ci-detect": "^3.0.1", - "@npmcli/run-script": "^6.0.0", - "chalk": "^4.1.0", - "npm-package-arg": "^10.0.0", - "npmlog": "^7.0.1", - "pacote": "^15.0.2", - "proc-log": "^3.0.0", - "read": "^1.0.7", - "read-package-json-fast": "^3.0.1", - "semver": "^7.3.7", - "walk-up-path": "^1.0.0" - } - }, - "libnpmfund": { - "version": "4.0.3", - "bundled": true, - "requires": { - "@npmcli/arborist": "^6.1.2" - } - }, - "libnpmhook": { - "version": "9.0.0", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.2" - } - }, - "libnpmorg": { - "version": "5.0.0", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.2" - } - }, - "libnpmpack": { - "version": "5.0.3", - "bundled": true, - "requires": { - "@npmcli/arborist": "^6.1.2", - "@npmcli/run-script": "^6.0.0", - "npm-package-arg": "^10.0.0", - "pacote": "^15.0.2" - } - }, - "libnpmpublish": { - "version": "7.0.3", - "bundled": true, - "requires": { - "normalize-package-data": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-registry-fetch": "^14.0.2", - "semver": "^7.3.7", - "ssri": "^10.0.0" - } - }, - "libnpmsearch": { - "version": "6.0.0", - "bundled": true, - "requires": { - "npm-registry-fetch": "^14.0.2" - } - }, - "libnpmteam": { - "version": "5.0.0", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.2" - } - }, - "libnpmversion": { - "version": "4.0.1", - "bundled": true, - "requires": { - "@npmcli/git": "^4.0.1", - "@npmcli/run-script": "^6.0.0", - "json-parse-even-better-errors": "^3.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.7" - } - }, - "lru-cache": { - "version": "7.13.2", - "bundled": true - }, - "make-fetch-happen": { - "version": "11.0.1", - "bundled": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "bundled": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "3.3.4", - "bundled": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "bundled": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "3.0.0", - "bundled": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "minipass-flush": { - "version": "1.0.5", - "bundled": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "bundled": true, - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "bundled": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "bundled": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "bundled": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "bundled": true - }, - "ms": { - "version": "2.1.3", - "bundled": true - }, - "mute-stream": { - "version": "0.0.8", - "bundled": true - }, - "negotiator": { - "version": "0.6.3", - "bundled": true - }, - "node-gyp": { - "version": "9.3.0", - "bundled": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "@npmcli/fs": { - "version": "2.1.2", - "bundled": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "@npmcli/move-file": { - "version": "2.0.1", - "bundled": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "are-we-there-yet": { - "version": "3.0.1", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "cacache": { - "version": "16.1.3", - "bundled": true, - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.0.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.0", - "bundled": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "gauge": { - "version": "4.0.4", - "bundled": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "glob": { - "version": "7.2.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "make-fetch-happen": { - "version": "10.2.1", - "bundled": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minipass-fetch": { - "version": "2.1.2", - "bundled": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "nopt": { - "version": "6.0.0", - "bundled": true, - "requires": { - "abbrev": "^1.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "bundled": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "ssri": { - "version": "9.0.1", - "bundled": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "bundled": true, - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "bundled": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "which": { - "version": "2.0.2", - "bundled": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "nopt": { - "version": "7.0.0", - "bundled": true, - "requires": { - "abbrev": "^2.0.0" - } - }, - "normalize-package-data": { - "version": "5.0.0", - "bundled": true, - "requires": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "npm-audit-report": { - "version": "4.0.0", - "bundled": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "npm-bundled": { - "version": "3.0.0", - "bundled": true, - "requires": { - "npm-normalize-package-bin": "^3.0.0" - } - }, - "npm-install-checks": { - "version": "6.0.0", - "bundled": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "3.0.0", - "bundled": true - }, - "npm-package-arg": { - "version": "10.0.0", - "bundled": true, - "requires": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - } - }, - "npm-packlist": { - "version": "7.0.2", - "bundled": true, - "requires": { - "ignore-walk": "^6.0.0" - } - }, - "npm-pick-manifest": { - "version": "8.0.1", - "bundled": true, - "requires": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" - } - }, - "npm-profile": { - "version": "7.0.1", - "bundled": true, - "requires": { - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0" - } - }, - "npm-registry-fetch": { - "version": "14.0.2", - "bundled": true, - "requires": { - "make-fetch-happen": "^11.0.0", - "minipass": "^3.1.6", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" - } - }, - "npm-user-validate": { - "version": "1.0.1", - "bundled": true - }, - "npmlog": { - "version": "7.0.1", - "bundled": true, - "requires": { - "are-we-there-yet": "^4.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^5.0.0", - "set-blocking": "^2.0.0" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "p-map": { - "version": "4.0.0", - "bundled": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "pacote": { - "version": "15.0.6", - "bundled": true, - "requires": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^2.1.0", - "minipass": "^3.1.6", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - } - }, - "parse-conflict-json": { - "version": "3.0.0", - "bundled": true, - "requires": { - "json-parse-even-better-errors": "^3.0.0", - "just-diff": "^5.0.1", - "just-diff-apply": "^5.2.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "postcss-selector-parser": { - "version": "6.0.10", - "bundled": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "proc-log": { - "version": "3.0.0", - "bundled": true - }, - "process": { - "version": "0.11.10", - "bundled": true - }, - "promise-all-reject-late": { - "version": "1.0.1", - "bundled": true - }, - "promise-call-limit": { - "version": "1.0.1", - "bundled": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true - }, - "promise-retry": { - "version": "2.0.1", - "bundled": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "requires": { - "read": "1" - } - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-cmd-shim": { - "version": "4.0.0", - "bundled": true - }, - "read-package-json": { - "version": "6.0.0", - "bundled": true, - "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" - } - }, - "read-package-json-fast": { - "version": "3.0.1", - "bundled": true, - "requires": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "retry": { - "version": "0.12.0", - "bundled": true - }, - "rimraf": { - "version": "3.0.2", - "bundled": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "semver": { - "version": "7.3.8", - "bundled": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "bundled": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.7", - "bundled": true - }, - "smart-buffer": { - "version": "4.2.0", - "bundled": true - }, - "socks": { - "version": "2.7.0", - "bundled": true, - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "bundled": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "spdx-correct": { - "version": "3.1.1", - "bundled": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "bundled": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "bundled": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "bundled": true - }, - "ssri": { - "version": "10.0.0", - "bundled": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "string-width": { - "version": "4.2.3", - "bundled": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "bundled": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "6.1.12", - "bundled": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true - }, - "treeverse": { - "version": "3.0.0", - "bundled": true - }, - "unique-filename": { - "version": "3.0.0", - "bundled": true, - "requires": { - "unique-slug": "^4.0.0" - } - }, - "unique-slug": { - "version": "4.0.0", - "bundled": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "bundled": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "5.0.0", - "bundled": true, - "requires": { - "builtins": "^5.0.0" - } - }, - "walk-up-path": { - "version": "1.0.0", - "bundled": true - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "3.0.0", - "bundled": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wide-align": { - "version": "1.1.5", - "bundled": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "write-file-atomic": { - "version": "5.0.0", - "bundled": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "yallist": { - "version": "4.0.0", - "bundled": true - } - } - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "requires": { - "path-key": "^4.0.0" - }, - "dependencies": { - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "ora": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz", - "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==", - "requires": { - "bl": "^5.0.0", - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" - } - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "parse-entities": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz", - "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==", - "requires": { - "@types/unist": "^2.0.0", - "character-entities": "^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" - } - }, - "parse-latin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.0.tgz", - "integrity": "sha512-Ht+4/+AUySMS5HKGAiQpBmkFsHSoGrj6Y83flLCa5OIBdtsVkO3UD4OtboJ0O0vZiOznH02x8qlwg9KLUVXuNg==", - "requires": { - "nlcst-to-string": "^2.0.0", - "unist-util-modify-children": "^2.0.0", - "unist-util-visit-children": "^1.0.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "periscopic": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.0.4.tgz", - "integrity": "sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==", - "requires": { - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" + "engines": { + "node": ">=14" }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "preferred-pm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", - "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", - "requires": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "peerDependencies": { + "postcss": "^8.0.0" } }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" - }, - "prettier-plugin-astro": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.7.0.tgz", - "integrity": "sha512-ehCUx7MqHWvkHwUmxxAWLsL35pFaCTM5YXQ8xjG/1W6dY2yBhvEks+2aCfjeI5zmMrZNCXkiMQtpznSlLSLrxw==", + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, - "requires": { - "@astrojs/compiler": "^0.29.3", - "prettier": "^2.7.1", - "sass-formatter": "^0.7.5", - "synckit": "^0.8.4" - }, "dependencies": { - "@astrojs/compiler": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-0.29.5.tgz", - "integrity": "sha512-XpSJyBO6ha5mGqsD71ie83SOcv3p7zKq6qzngyeLKhccCXtf9Zn/4tGbi/Iq4YmkRBNCjLEkF0wZMYWY+eJYAA==", - "dev": true + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true } } }, - "prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, + "node_modules/postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dev": true, "dependencies": { - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - } + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true }, - "property-information": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", - "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==" + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "queue-microtask": { + "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" } }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "readable-stream": { + "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", - "requires": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "rehype": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz", - "integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==", - "requires": { - "@types/hast": "^2.0.0", - "rehype-parse": "^8.0.0", - "rehype-stringify": "^9.0.0", - "unified": "^10.0.0" + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "rehype-parse": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", - "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^7.0.0", - "parse5": "^6.0.0", - "unified": "^10.0.0" + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "rehype-raw": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz", - "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-raw": "^7.2.0", - "unified": "^10.0.0" + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "rehype-stringify": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz", - "integrity": "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-to-html": "^8.0.0", - "unified": "^10.0.0" + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "remark-frontmatter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", - "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-frontmatter": "^1.0.0", - "micromark-extension-frontmatter": "^1.0.0", - "unified": "^10.0.0" + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "remark-mdx": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.3.tgz", - "integrity": "sha512-3SmtXOy9+jIaVctL8Cs3VAQInjRLGOwNXfrBB9KCT+EpJpKD3PQiy0x8hUNGyjQmdyOs40BqgPU7kYtH9uoR6w==", - "requires": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "remark-parse": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", - "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - } + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true }, - "remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "remark-smartypants": { + "node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-2.0.0.tgz", - "integrity": "sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==", - "requires": { - "retext": "^8.1.0", - "retext-smartypants": "^5.1.0", - "unist-util-visit": "^4.1.0" + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" } }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "retext": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz", - "integrity": "sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==", - "requires": { - "@types/nlcst": "^1.0.0", - "retext-latin": "^3.0.0", - "retext-stringify": "^3.0.0", - "unified": "^10.0.0" + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" } }, - "retext-latin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-3.1.0.tgz", - "integrity": "sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==", - "requires": { - "@types/nlcst": "^1.0.0", - "parse-latin": "^5.0.0", - "unherit": "^3.0.0", - "unified": "^10.0.0" + "node_modules/yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true, + "engines": { + "node": ">= 14" } }, - "retext-smartypants": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz", - "integrity": "sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==", - "requires": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, "dependencies": { - "nlcst-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.0.tgz", - "integrity": "sha512-Y8HQWKw/zrHTCnu2zcFBN1dV6vN0NUG7s5fkEj380G8tF3R+vA2KG+tDl2QoHVQCTHGHVXwoni2RQkDSFQb1PA==", - "requires": { - "@types/nlcst": "^1.0.0" - } - } - } - }, - "retext-stringify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz", - "integrity": "sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==", - "requires": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, - "dependencies": { - "nlcst-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.0.tgz", - "integrity": "sha512-Y8HQWKw/zrHTCnu2zcFBN1dV6vN0NUG7s5fkEj380G8tF3R+vA2KG+tDl2QoHVQCTHGHVXwoni2RQkDSFQb1PA==", - "requires": { - "@types/nlcst": "^1.0.0" - } - } + "engines": { + "node": ">=12" } }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rollup": { - "version": "2.77.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", - "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", - "requires": { - "fsevents": "~2.3.2" + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + } + }, + "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "requires": { - "queue-microtask": "^1.2.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "s.color": { - "version": "0.0.15", - "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", - "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "requires": { - "mri": "^1.1.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, - "sass-formatter": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.5.tgz", - "integrity": "sha512-NKFP8ddjhUYi6A/iD1cEtzkEs91U61kzqe3lY9SVNuvX7LGc88xnEN0mmsWL7Ol//YTi2GL/ol7b9XZ2+hgXuA==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "suf-log": "^2.5.3" + "color-convert": "^2.0.1" } }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, "requires": { - "loose-envify": "^1.1.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { - "lru-cache": "^6.0.0" + "fill-range": "^7.0.1" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "caniuse-lite": { + "version": "1.0.30001431", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", + "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", + "dev": true }, - "shiki": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", - "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "requires": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" - }, - "dependencies": { - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - } + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sirv": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz", - "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "space-separated-tokens": { + "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", - "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - } + "color-name": "~1.1.4" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "requires": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - } + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } + "path-type": "^4.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "requires": { - "inline-style-parser": "0.1.1" - } + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, - "suf-log": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", - "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { - "s.color": "0.0.15" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-esm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-esm/-/supports-esm-1.0.0.tgz", - "integrity": "sha512-96Am8CDqUaC0I2+C/swJ0yEvM8ZnGn4unoers/LSdE4umhX7mELzqyLzx3HnZAluq5PXIsGMKqa7NkqaeHMPcg==", - "requires": { - "has-package-exports": "^1.1.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "synckit": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.4.tgz", - "integrity": "sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==", + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.4.0" + "reusify": "^1.0.4" } }, - "tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "to-regex-range": "^5.0.1" } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, "requires": { - "is-number": "^7.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "totalist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz", - "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==" + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true }, - "trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + "get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true }, - "tsconfig-resolver": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tsconfig-resolver/-/tsconfig-resolver-3.0.1.tgz", - "integrity": "sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "requires": { - "@types/json5": "^0.0.30", - "@types/resolve": "^1.17.0", - "json5": "^2.1.3", - "resolve": "^1.17.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.13.1" - }, - "dependencies": { - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" - } + "is-glob": "^4.0.1" } }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "tsm": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tsm/-/tsm-2.2.2.tgz", - "integrity": "sha512-bXkt675NbbqfwRHSSn8kSNEEHvoIUFDM9G6tUENkjEKpAEbrEzieO3PxUiRJylMw8fEGpcf5lSjadzzz12pc2A==", + "globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dev": true, "requires": { - "esbuild": "^0.14.0" + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" } }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" - }, - "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true }, - "unherit": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.0.tgz", - "integrity": "sha512-UmvIQZGEc9qdLIQ8mv8/61n6PiMgfbOoASPKHpCvII5srShCQSa6jSjBjlZOR4bxt2XnT6uo6csmPKRi+zQ0Jg==" + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true }, - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "binary-extensions": "^2.0.0" } }, - "unist-builder": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", - "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { - "@types/unist": "^2.0.0" + "is-extglob": "^2.1.1" } }, - "unist-util-generated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", - "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==" - }, - "unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==" + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, - "unist-util-map": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-map/-/unist-util-map-3.1.1.tgz", - "integrity": "sha512-n36sjBn4ibPtAzrFweyT4FOcCI/UdzboaEcsZvwoAyD/gVw5B3OLlMBySePMO6r+uzjxQEyRll2akfVaT4SHhw==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "requires": { - "@types/unist": "^2.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "unist-util-modify-children": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-2.0.0.tgz", - "integrity": "sha512-HGrj7JQo9DwZt8XFsX8UD4gGqOsIlCih9opG6Y+N11XqkBGKzHo8cvDi+MfQQgiZ7zXRUiQREYHhjOBHERTMdg==", - "requires": { - "array-iterate": "^1.0.0" - } + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true }, - "unist-util-position": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", - "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", - "requires": { - "@types/unist": "^2.0.0" - } + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true }, - "unist-util-position-from-estree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz", - "integrity": "sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==", + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "requires": { - "@types/unist": "^2.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "unist-util-remove-position": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz", - "integrity": "sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - } + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true }, - "unist-util-stringify-position": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", - "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", - "requires": { - "@types/unist": "^2.0.0" - } + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true }, - "unist-util-visit": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz", - "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, - "unist-util-visit-children": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz", - "integrity": "sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==" + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true }, - "unist-util-visit-parents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz", - "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - } + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, - "update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true }, - "uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "dev": true, "requires": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" } }, - "vfile": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz", - "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==", + "postcss-cli": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz", + "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==", + "dev": true, "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^10.0.0", + "get-stdin": "^9.0.0", + "globby": "^13.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^4.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^4.0.0", + "yargs": "^17.0.0" } }, - "vfile-location": { + "postcss-load-config": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz", - "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, "requires": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" } }, - "vfile-message": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", - "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", + "postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dev": true, "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "picocolors": "^1.0.0", + "thenby": "^1.3.4" } }, - "vite": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.0.9.tgz", - "integrity": "sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==", - "requires": { - "esbuild": "^0.14.47", - "fsevents": "~2.3.2", - "postcss": "^8.4.16", - "resolve": "^1.22.1", - "rollup": ">=2.75.6 <2.77.0 || ~2.77.0" - } + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true }, - "vscode-css-languageservice": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.1.0.tgz", - "integrity": "sha512-GFXmy6EVceVc/OPKENnoW31EiIksekz9yruczIAkA0eX5BSkNh/ojgeCzwW1ERRFpDymVZj0aLYKSrYZmvU6VA==", + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, "requires": { - "vscode-languageserver-textdocument": "^1.0.7", - "vscode-languageserver-types": "^3.17.2", - "vscode-nls": "^5.2.0", - "vscode-uri": "^3.0.3" + "pify": "^2.3.0" } }, - "vscode-html-languageservice": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.1.tgz", - "integrity": "sha512-OYsyn5HGAhxs0OIG+M0jc34WnftLtD67Wg7+TfrYwvf0waOkkr13zUqtdrVm2JPNQ6fJx+qnuM+vTbq7o1dCdQ==", + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "requires": { - "vscode-languageserver-textdocument": "^1.0.4", - "vscode-languageserver-types": "^3.17.1", - "vscode-nls": "^5.0.1", - "vscode-uri": "^3.0.3" + "picomatch": "^2.2.1" } }, - "vscode-jsonrpc": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz", - "integrity": "sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==" + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true }, - "vscode-languageserver": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz", - "integrity": "sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==", - "requires": { - "vscode-languageserver-protocol": "3.17.2" - } + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true }, - "vscode-languageserver-protocol": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz", - "integrity": "sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "requires": { - "vscode-jsonrpc": "8.0.2", - "vscode-languageserver-types": "3.17.2" + "queue-microtask": "^1.2.2" } }, - "vscode-languageserver-textdocument": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz", - "integrity": "sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==" + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true }, - "vscode-languageserver-types": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", - "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true }, - "vscode-nls": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", - "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" - }, - "vscode-oniguruma": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz", - "integrity": "sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==" - }, - "vscode-textmate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", - "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==" - }, - "vscode-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", - "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { - "defaults": "^1.0.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { - "isexe": "^2.0.0" + "ansi-regex": "^5.0.1" } }, - "which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" + "is-number": "^7.0.0" } }, - "which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==" + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, "requires": { - "string-width": "^5.0.1" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "wrap-ansi": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", - "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", - "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==" - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true }, "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "zod": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.19.1.tgz", - "integrity": "sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==" - }, - "zwitch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz", - "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==" + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true } } } diff --git a/docs/package.json b/docs/package.json index 70cf8fb1f1..0b7cb33588 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,30 +1,12 @@ { - "name": "@kairos/docs", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "astro dev", - "start": "astro dev", - "build": "astro build", - "preview": "astro preview", - "astro": "astro" - }, - "dependencies": { - "@astrojs/mdx": "^0.11.1", - "@astrojs/react": "^1.1.2", - "@fortawesome/fontawesome-svg-core": "^6.2.0", - "@fortawesome/free-regular-svg-icons": "^6.2.0", - "@fortawesome/free-solid-svg-icons": "^6.2.0", - "@fortawesome/react-fontawesome": "^0.2.0", - "astro": "^1.2.2", - "install": "^0.13.0", - "npm": "^9.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, "devDependencies": { - "@types/react": "^18.0.20", - "eslint-plugin-react-hooks": "^4.6.0", - "prettier-plugin-astro": "^0.7.0" + "autoprefixer": "^10.4.13", + "postcss": "^8.4.19", + "postcss-cli": "^10.0.0" + }, + "scripts": { + "get:submodule": "git submodule update --init --depth 1", + "_prepare:docsy": "cd themes/docsy && npm install", + "prepare": "npm run get:submodule && npm run _prepare:docsy" } } diff --git a/docs/public/CNAME b/docs/public/CNAME deleted file mode 100644 index 3ed4ccf1a9..0000000000 --- a/docs/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -kairos.io \ No newline at end of file diff --git a/docs/scripts/build.sh b/docs/scripts/build.sh index 1b161e42dd..d224af591b 100755 --- a/docs/scripts/build.sh +++ b/docs/scripts/build.sh @@ -1,5 +1,25 @@ #!/bin/bash set -e -npm install -npm run build +BASE_URL="${BASE_URL:-https://kairos.io}" + +binpath="${ROOT_DIR}/bin" +publicpath="${ROOT_DIR}/public" + +if [ ! -e "${binpath}/hugo" ]; +then + [[ ! -d "${binpath}" ]] && mkdir -p "${binpath}" + wget https://github.com/gohugoio/hugo/releases/download/v"${HUGO_VERSION}"/hugo_extended_"${HUGO_VERSION}"_"${HUGO_PLATFORM}".tar.gz -O "$binpath"/hugo.tar.gz + tar -xvf "$binpath"/hugo.tar.gz -C "${binpath}" + rm -rf "$binpath"/hugo.tar.gz + chmod +x "$binpath"/hugo +fi + +rm -rf "${publicpath}" || true +[[ ! -d "${publicpath}" ]] && mkdir -p "${publicpath}" + +npm install --save-dev autoprefixer postcss-cli postcss + +HUGO_ENV="production" "${binpath}/hugo" --gc -b "${BASE_URL}" -d "${publicpath}" + +cp -rf CNAME $publicpath diff --git a/docs/scripts/publish.sh b/docs/scripts/publish.sh index c9c34900f1..ba50c82fb0 100755 --- a/docs/scripts/publish.sh +++ b/docs/scripts/publish.sh @@ -1,8 +1,6 @@ #!/bin/bash set -e -# not used in netlify - "${ROOT_DIR}"/scripts/build.sh git branch -D gh-pages || true @@ -13,3 +11,4 @@ git rm -rf . cp -rfv public/* ./ rm -rf public/ + diff --git a/docs/scripts/serve.sh b/docs/scripts/serve.sh index e799709e4c..3f88c34d8b 100755 --- a/docs/scripts/serve.sh +++ b/docs/scripts/serve.sh @@ -1,4 +1,14 @@ #!/bin/bash set -e -npx serve dist +binpath="${ROOT_DIR}/bin" +if [ ! -e "${binpath}/hugo" ]; +then + [[ ! -d "${binpath}" ]] && mkdir -p "${binpath}" + wget https://github.com/gohugoio/hugo/releases/download/v"${HUGO_VERSION}"/hugo_extended_"${HUGO_VERSION}"_"${HUGO_PLATFORM}".tar.gz -O "$binpath"/hugo.tar.gz + tar -xvf "$binpath"/hugo.tar.gz -C "${binpath}" + rm -rf "$binpath"/hugo.tar.gz + chmod +x "$binpath"/hugo +fi + +"${binpath}/hugo" --baseURL="$BASE_URL" -s "$ROOT_DIR" serve \ No newline at end of file diff --git a/docs/src/assets/landing-page-hero.png b/docs/src/assets/landing-page-hero.png deleted file mode 100644 index deb5f28b551b0665dfc503d949c64eb385979c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125714 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�_}I`t2^ZWBBI9yG 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 JPDHLkV1jPtxT*jE diff --git a/docs/src/assets/logos/kairos-black.svg b/docs/src/assets/logos/kairos-black.svg deleted file mode 100644 index 8a0a95ce14..0000000000 --- a/docs/src/assets/logos/kairos-black.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/src/assets/logos/kairos-dark-column-docs.png b/docs/src/assets/logos/kairos-dark-column-docs.png deleted file mode 100644 index b740a4d6fec288c138f2e8e354bf76808b408605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8508 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 TA9bESJD{m6gOq9%EWrN*QE;pN diff --git a/docs/src/assets/logos/kairos-dark-column.png b/docs/src/assets/logos/kairos-dark-column.png deleted file mode 100644 index 9e351afe49601be358f9ec3816083a38e415cd4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31284 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 YY~2!5RW_rx|L$E=Rad3)xqbBi0r)!S0RR91 diff --git a/docs/src/components/Favicon.astro b/docs/src/components/Favicon.astro deleted file mode 100644 index 6c262def44..0000000000 --- a/docs/src/components/Favicon.astro +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/src/components/Info.astro b/docs/src/components/Info.astro deleted file mode 100644 index 0862324ff9..0000000000 --- a/docs/src/components/Info.astro +++ /dev/null @@ -1,21 +0,0 @@ ---- ---- - -
- -
- - diff --git a/docs/src/env.d.ts b/docs/src/env.d.ts deleted file mode 100644 index f964fe0cff..0000000000 --- a/docs/src/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/docs/src/layouts/docs/Header.astro b/docs/src/layouts/docs/Header.astro deleted file mode 100644 index 4d84818924..0000000000 --- a/docs/src/layouts/docs/Header.astro +++ /dev/null @@ -1,29 +0,0 @@ ---- ---- - -
-
-
- - diff --git a/docs/src/layouts/docs/Layout.astro b/docs/src/layouts/docs/Layout.astro deleted file mode 100644 index a6705d35d7..0000000000 --- a/docs/src/layouts/docs/Layout.astro +++ /dev/null @@ -1,112 +0,0 @@ ---- -import Header from "./Header.astro"; -import LeftSidebar from "./LeftSidebar/index"; -import RightSidebar from "./RightSidebar/index"; -import Navbar from "./Navbar/index"; -import PageContent from "./PageContent.astro"; -import Favicon from "../../components/Favicon.astro"; -import "../../styles/theme.css"; -import "../../styles/index.css"; - -const currentPage = Astro.url.pathname; -const { frontmatter, headings } = Astro.props; -const content = await Astro.glob("../../pages/**/*.(md|mdx)"); ---- - - - - - Documentation - - - {frontmatter.title} - - - - - - - - - - - -
- -
- - - - - -
-
- - diff --git a/docs/src/layouts/docs/LeftSidebar/LeftSidebar.css b/docs/src/layouts/docs/LeftSidebar/LeftSidebar.css deleted file mode 100644 index 7eedcae15b..0000000000 --- a/docs/src/layouts/docs/LeftSidebar/LeftSidebar.css +++ /dev/null @@ -1,95 +0,0 @@ -.nav { - width: 100%; - max-width: 300px; - height: 100vh; - position: fixed; - overflow-y: auto; - overflow-x: hidden; - border-right: 1px solid #ddd; - z-index: 10; -} - -.nav-list { - padding: 0; - overflow-x: visible; - margin: 0; - padding-left: 1.6rem; -} - -.nav > .nav-list { - padding: 1px 1rem 1rem 1rem; - margin-top: -1px; - background-color: #fafafa; -} - -.nav-group-title { - font-size: 1rem; - font-weight: 700; - padding: 0.1rem 1rem; - text-transform: uppercase; - margin-bottom: 0.5rem; -} - -.nav-link a { - font-size: 1rem; - font: inherit; - color: #000000; - text-decoration: none; - display: block; - padding: 0.25rem 0; - margin: 0.25rem 0; - opacity: 0.9; - line-height: 1.3; - position: relative; - width: fit-content; -} - -.nav-group { - margin: 1.2rem 0; -} - -.nav-group > a { - opacity: 1; - font-weight: bold; - margin-bottom: 0; -} - -.nav-link > a:hover { - text-decoration: none; - color: #E06948; -} - -.nav-link > a:hover { - color: #E06948; -} - -.nav-link:not(.nav-group) > a[aria-current="page"] { - color: #E06948; -} - -.nav-group > a[aria-current="page"]::after { - content: ""; - position: absolute; - height: 1px; - width: 100%; - background-color: #e06948; - bottom: 0px; - right: 0; -} - - -.nav > .hero-logo { - padding: 36px; - margin: 0px auto; - display: flex; - background-color: #fff; - flex-direction: column; - align-items: center; - justify-content: center; -} - -.nav > .hero-logo::after { - content: "DOCS"; - display: block; - font-weight: 500; -} diff --git a/docs/src/layouts/docs/LeftSidebar/index.jsx b/docs/src/layouts/docs/LeftSidebar/index.jsx deleted file mode 100644 index 3ddf5fcfb6..0000000000 --- a/docs/src/layouts/docs/LeftSidebar/index.jsx +++ /dev/null @@ -1,109 +0,0 @@ -import { faTimes } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useMemo } from "react"; -import heroImage from "../../../assets/logos/kairos-black.svg"; -import "./LeftSidebar.css"; - -const folderOrder = [ - "quickstart", - "installation", - "upgrade", - "architecture", - "advanced", - "reference", - "sdk", -]; - -export default function Sidebar({ content, currentPage, cb }) { - const currentPageMatch = useMemo( - () => "/" + currentPage.slice(1), - [currentPage] - ); - - const menu = useMemo(() => { - const navGroups = content.reduce((acc, { frontmatter, url }) => { - const partitions = url.split("/"); - if (partitions[1] === partitions[2]) { - return { - ...acc, - [partitions[1]]: { - url, - title: frontmatter.title, - children: [], - }, - }; - } - return acc; - }, {}); - - return content.reduce((acc, { frontmatter, url }) => { - const partitions = url.split("/"); - if (partitions.length <= 1) { - return acc; - } - const folder = partitions[1]; - if (partitions[1] === partitions[2]) { - return acc; - } - - return { - ...acc, - [folder]: { - ...acc[folder], - children: [ - ...(acc?.[folder]?.children || []), - { - url, - title: frontmatter.title, - index: frontmatter.index, - }, - ], - }, - }; - }, navGroups); - }, [content]); - - return ( -
- ); -} diff --git a/docs/src/layouts/docs/Navbar/Navbar.css b/docs/src/layouts/docs/Navbar/Navbar.css deleted file mode 100644 index 70d208ccc1..0000000000 --- a/docs/src/layouts/docs/Navbar/Navbar.css +++ /dev/null @@ -1,82 +0,0 @@ -.navbar { - overflow: hidden; - background-color: #fff; - position: relative; -} - -.sidebar { - position: relative; -} - -#esc-button { - z-index: 11; - display: block; - position: absolute; - right: 20px; - top: 15px; - font-size: 27px; -} - -#esc-button:active { - color: #ee5007; -} - -@media (min-width: 1024px) { - #esc-button { - display: none; - } -} - -.sidebar > nav { - left: 0px; - transition: left 0.3s ease-out; -} - -.sidebar-hidden > nav { - border-right: 0; - left: -300px; - transition: left 0.3s ease-out; -} - -.sidebar-hidden > #esc-button { - display: none; -} - -.navbar-wrap { - position: fixed; - height: 70px; - width: 100%; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - background-color: #fff; - z-index: 10; - padding: 24px; -} - -@media (min-width: 1024px) { - .navbar-wrap { - display: none; - } -} - -#hamburger { - font-size: 27px; - height: 27px; -} - -.navbar-wrap > svg:active { - color: #ee5007; -} - -.overlay { - display: block; - width: 100%; - height: 100%; - backdrop-filter: blur(4px); - opacity: 1; - z-index: 9; - position: fixed; -} - -.overlay-hidden { - display: none; -} \ No newline at end of file diff --git a/docs/src/layouts/docs/Navbar/index.jsx b/docs/src/layouts/docs/Navbar/index.jsx deleted file mode 100644 index 4f48700543..0000000000 --- a/docs/src/layouts/docs/Navbar/index.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import { useState } from "react"; -import LeftSideBar from "../LeftSidebar/index"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faBars } from "@fortawesome/free-solid-svg-icons"; -import "./Navbar.css"; - -export default function Navbar(props) { - const [hidden, setNavbarVisibility] = useState(true); - - return ( - <> -
- { - setNavbarVisibility(!hidden); - }} - /> -
-
- { - setNavbarVisibility(true); - }} - /> -
{ - setNavbarVisibility(!hidden); - }} - /> -
- - ); -} diff --git a/docs/src/layouts/docs/PageContent.astro b/docs/src/layouts/docs/PageContent.astro deleted file mode 100644 index 229a0dcf19..0000000000 --- a/docs/src/layouts/docs/PageContent.astro +++ /dev/null @@ -1,33 +0,0 @@ ---- -const { frontmatter } = Astro.props; -const title = frontmatter.title; ---- - -
-
- -
-
- - diff --git a/docs/src/layouts/docs/RightSidebar/RightSidebar.css b/docs/src/layouts/docs/RightSidebar/RightSidebar.css deleted file mode 100644 index ddc3a0e954..0000000000 --- a/docs/src/layouts/docs/RightSidebar/RightSidebar.css +++ /dev/null @@ -1,45 +0,0 @@ -#grid-right { - display: none; - width: auto; - flex-grow: 1; -} - -.toc { - margin-left: 2rem; - position: fixed; -} - -.toc ul { - list-style: none; - padding: 0; - margin: 1rem 0.5rem; - position: relative; - border-left: 2px solid #e06948; -} - -.toc li { - font-size: 1rem; - padding: 0.1rem 0 0.1rem 1rem; -} - -.toc li > a { - display: inline-flex; - gap: 0.5em; - width: 100%; - padding: 0.4em 0; - text-underline-offset: 0.08em; - align-items: center; - text-decoration: none; - color: #000; - opacity: 0.9; -} - -.toc li > a:hover { - color: #e06948; -} - -@media (min-width: 1024px) { - #grid-right { - display: flex; - } -} diff --git a/docs/src/layouts/docs/RightSidebar/index.jsx b/docs/src/layouts/docs/RightSidebar/index.jsx deleted file mode 100644 index 528ea6fa1d..0000000000 --- a/docs/src/layouts/docs/RightSidebar/index.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import "./RightSidebar.css"; - -export default function RightSidebar({ headings }) { - const secondDepthHeadings = headings.filter((item) => item.depth === 2); - if (!secondDepthHeadings.length) { - return null; - } - - return ( - - ); -} diff --git a/docs/src/layouts/landing/Layout.astro b/docs/src/layouts/landing/Layout.astro deleted file mode 100644 index 718aee039e..0000000000 --- a/docs/src/layouts/landing/Layout.astro +++ /dev/null @@ -1,331 +0,0 @@ ---- -import heroImage from "../../assets/logos/kairos-white-column.png"; -import footerLogo from "../../assets/index/footer.png"; -import Sections from "./Sections"; -import Favicon from "../../components/Favicon.astro"; ---- - - - - - - - - - - -
-
-
-
-
- -
-

- Edge, but better -

- The immutable Linux meta-distribution
for edge Kubernetes
- -
-
-

- With Kairos you can build immutable, bootable Kubernetes - and OS images for your edge devices as easily as writing a Dockerfile. - Optional P2P mesh with distributed ledger automates node bootstrapping - and coordination. Updating nodes is as easy as CI/CD: push a new image - to your container registry and let secure, risk-free A/B atomic upgrades - do the rest. -

-
-
-
-
-
-
What makes Kairos different?
- -
-
-
- footer logo -
- - diff --git a/docs/src/layouts/landing/Sections.css b/docs/src/layouts/landing/Sections.css deleted file mode 100644 index f77186ca7b..0000000000 --- a/docs/src/layouts/landing/Sections.css +++ /dev/null @@ -1,190 +0,0 @@ -.section-wrapper { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -.sections { - display: flex; - flex-direction: column; - align-items: center; - max-width: 1200px; - justify-content: center; -} - -.sections[aria-current="horizontal"] { - flex-direction: column; - width: 100%; -} - -@media (min-width: 1024px) { -.sections[aria-current="horizontal"] { - flex-direction: row; - } -} - - - -.main-section { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 64px 48px; - box-sizing: border-box; - width: 100%; -} - - -.main-section > .sections { - padding-bottom: 0; -} - -.main-section > .title { - font-weight: 600; - font-size: 42px; - line-height: 52px; - text-align: center; - color: #161B33; - margin: 43px 0; -} - -.secondary-section { - display: flex; - flex-direction: column; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - padding: 32px 0; -} - -@media (min-width: 1024px) { - .secondary-section { - flex-direction: row; - } -} - -.secondary-section img { - margin-top: 80px; - margin-bottom: 40px; -} - -.secondary-section:first-child { - padding-top: 0; -} - -.secondary-section:last-child { - border-bottom: 0; - padding-bottom: 0; - -} - -.secondary-section > .title { - min-width: 0px; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - font-family: 'Noto Sans Mono'; - font-weight: 700; - font-size: 24px; - line-height: 38px; - color: #161B33; - text-align: center; - margin-bottom: 32px; -} - -@media (min-width: 1024px) { - .secondary-section > .title { - min-width: 480px; - } -} - -.sections[aria-current="horizontal"] p { - text-align: center; -} - -.sections[aria-current="horizontal"] p { - text-align: center; -} - -.sections[aria-current="horizontal"] > .secondary-section { - flex-direction: column; - align-items: center; - border-bottom: 0; - padding: 0; - width: 100%; - margin: 0; -} - -@media (min-width: 1024px) { - .sections[aria-current="horizontal"] > .secondary-section { - margin: 0 24px; - } -} - -.sections[aria-current="horizontal"]> .secondary-section .image-container { - height: 100px; - display: flex; - justify-content: flex-end; -} - -.sections[aria-current="horizontal"] > .secondary-section .image-container-removeHeight { - display: flex; - justify-content: flex-end; -} -.sections[aria-current="horizontal"]>.secondary-section img { - margin: 0; -} - -.sections[aria-current="horizontal"] > .secondary-section:first-child { - margin-left: 0; -} -.sections[aria-current="horizontal"] > .secondary-section:last-child { - margin-right: 0; -} - -.sections[aria-current="horizontal"] > .secondary-section > .title { - padding: 32px 12px; - flex-grow: 1; - width: 100%; - min-width: auto; - max-width: 340px; -} - -.sections[aria-current="horizontal"] > .secondary-section > .title > div { - margin: 32px 0; -} - -.tertiary-section { - margin-bottom: 24px; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - width: 100%; -} - -.tertiary-section:last-child { - border-bottom: 0px; - margin-bottom: 0px; -} - -.tertiary-section > .title { - font-family: 'Noto Sans Mono'; - font-style: normal; - font-weight: 700; - font-size: 24px; - line-height: 33px; - color: #161B33; - margin-bottom: 16px; -} - -.sections p { - font-family: Noto Sans; - font-weight: 400; - font-size: 16px; - line-height: 160%; - letter-spacing: 0.01em; - color: #344079; - margin-top: 0; - margin-bottom: 24px; -} - diff --git a/docs/src/layouts/landing/Sections.jsx b/docs/src/layouts/landing/Sections.jsx deleted file mode 100644 index 3cc7b15e32..0000000000 --- a/docs/src/layouts/landing/Sections.jsx +++ /dev/null @@ -1,189 +0,0 @@ -import "./Sections.css"; -import explore from "../../assets/index/explore.png"; -import github from "../../assets/index/github.png"; -import book from "../../assets/index/book.png"; - -import one from "../../assets/index/1.png"; -import two from "../../assets/index/2.png"; -import three from "../../assets/index/3.png"; -import four from "../../assets/index/4.png"; -import five from "../../assets/index/5.png"; -import six from "../../assets/index/6.png"; -import seven from "../../assets/index/7.png"; - -const MAIN_SECTIONS = [ - { - direction: "vertical", - sections: [ - { - title: <>The Immutable
edge factory, - icon: one, - sections: [ - { - title: "Let's get meta:", - description: - "We call Kairos a meta-Linux Distribution. Why meta? Because it sits as a container layer, turning any Linux distro into an immutable system distributed via container registries. With Kairos, the OS is the container image, which is used for new installations and upgrades.", - }, - { - title: "Bring your own OS:", - description: - "The Kairos 'factory' enables you to build custom bootable-OS images for your edge devices, from your choice of OS (including openSUSE, Alpine and Ubuntu), and your choice of edge Kubernetes distribution—Kairos is totally agnostic.", - }, - { - title: "Repeatable, immutable:", - description: - "Each node boots from the same image, so no more snowflakes in your clusters, and each system is immutable—it boots in a restricted, permissionless mode, where certain paths are not writeable. For instance, after an installation it's not possible to install additional packages in the system, and any configuration change is discarded after a reboot. This dramatically reduces the attack surface and the impact of malicious actors gaining access to the device.", - }, - ], - }, - { - title: <>Welcome to the
self-driving edge, - icon: two, - sections: [ - { - title: "Zero touch provisioning:", - description: - "Keeping simplicity while providing complex solutions is a key factor of Kairos. Onboarding of nodes can be done via QR code, manually, remotely via SSH, interactively, or completely automated with Kubernetes, with zero touch provisioning.", - }, - { - title: "Secure peer to peer mesh with VPN:", - description: - "Kairos optionally supports P2P full-mesh out of the box. New devices wake up with a shared secret and distributed ledger of other nodes and clusters to look for—they form a unified overlay network that’s E2E encrypted to discover other devices, even spanning multiple networks, to bootstrap the cluster.", - }, - ], - }, - { - title: <>Containerize your
lifecycle management, - icon: three, - sections: [ - { - title: "Treat your OS just like any app:", - description: - "Each Kairos OS is created as easily as writing a Dockerfile—no custom recipes or arcane languages here. You can run and customize the container images locally with Docker, Podman, or your container engine of choice exactly how you do for apps already.", - }, - { - title: "Run your pipeline to the edge: ", - description: - "Your built OS is a container-based, single image that is distributed via container registries, so it plugs neatly into your existing CI/CD pipelines. It makes edge scale as repeatable and portable as driving containers. Customizing, mirroring of images, scanning vulnerabilities, gating upgrades, patching CVEs are some of the endless possibilities. Updating nodes is just as easy as selecting a new version via Kubernetes. Each node will pull the update from your repo, installing on A/B partitions for zero-risk upgrades with failover.", - }, - { - title: "Run K8s with K8s:", - description: - "Use Kubernetes management principles to manage and provision your clusters. Kairos supports automatic node provisioning via CRDs; upgrade management via Kubernetes; node repurposing and machine auto scaling capabilities; and complete configuration management via cloud-init.", - }, - ], - }, - { - title: <>A community soul, - icon: four, - sections: [ - { - title: "On the shoulders of giants:", - description: - "Kairos draws on the strength of the cloud-native ecosystem, not just for principles and approaches, but components. Cluster API is optionally supported as well, and can be used to manage Kubernetes clusters using native Kubernetes APIs with zero touch provisioning. ", - }, - { - title: "Extensively tested:", - description: - "We move fast, but we try not to break stuff—particularly your nodes. Every change in the Kairos codebase runs through highly engineered automated testing before release to catch bugs earlier.", - }, - { - title: "Designed for everyone:", - description: - "While Kairos has been engineered for large-scale use by DevOps and IT Engineering teams working in cloud, bare metal, edge and embedded systems environments, we welcome makers, hobbyists, and anyone in the community to participate in driving forward our vision of the immutable, decentralized, and containerized edge.", - }, - { - title: "Backed by Spectro Cloud:", - description: - <>Kairos is a vibrant, active project with time and financial backing from Spectro Cloud, a Kubernetes management platform provider with a strong commitment to the open source community. It is a silver member of the CNCF and LF Edge, a Certified Kubernetes Service Provider, and a contributor to projects such as Cluster API. Find more about Spectro Cloud here., - }, - ], - }, - ], - }, - { - direction: "horizontal", - sections: [ - { - title: "Installation", - icon: five, - description: - "See how to get up and running with Kairos, in less than 15 minutes!", - }, - { - title: "Architecture", - icon: six, - description: - "Get inside Kairos, from the factory to P2P mesh capabilities.", - }, - { - title: "Examples", - icon: seven, - description: - "Stretch your wings with best practices of common tasks after installing Kairos.", - }, - ], - }, - { - title: "Join our community", - direction: "horizontal", - theme: "gray", - sections: [ - { - title: "Contribute on Github", - icon: github, - noHeight: true, - iconWidth: "64", - link: "https://github.com/kairos-io/kairos" - }, - { - title: "Documentation", - icon: book, - noHeight: true, - iconWidth: "64", - link: "/quickstart/" - }, - ], - }, -]; - -export default function Sections() { - function renderTertiarySections(section, index) { - return ( -
-
{section.title}
-

{section.description}

-
- ); - } - function renderSecondarySections(section, index) { - const SectionTitle = section.link ? "a" : "div"; - - return ( -
- -
section logo
-
{section.title}
-

{section.description}

-
- {section.sections?.length && ( -
{section.sections.map(renderTertiarySections)}
- )} -
- ); - } - - function renderMainSections(section, index) { - return ( -
- {section.title &&
{section.title}
} -
- {section.sections.map(renderSecondarySections)} -
-
- ); - } - return ( -
{MAIN_SECTIONS.map(renderMainSections)}
- ); -} diff --git a/docs/src/pages/advanced/advanced.md b/docs/src/pages/advanced/advanced.md deleted file mode 100644 index 2b52c8d133..0000000000 --- a/docs/src/pages/advanced/advanced.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Advanced configuration" -index: 1 ---- - -# Examples diff --git a/docs/src/pages/architecture/architecture.md b/docs/src/pages/architecture/architecture.md deleted file mode 100644 index a400fcf9e3..0000000000 --- a/docs/src/pages/architecture/architecture.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Architecture" -index: 1 ---- - -# Installing Kairos on bare metal, VMs... - -## Automates, pairs, and takes over installs diff --git a/docs/src/pages/index.astro b/docs/src/pages/index.astro deleted file mode 100644 index 47cfbd5c4c..0000000000 --- a/docs/src/pages/index.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -import MainLayout from "../layouts/landing/Layout.astro"; ---- - - diff --git a/docs/src/pages/installation/installation.md b/docs/src/pages/installation/installation.md deleted file mode 100644 index aa8bef05c2..0000000000 --- a/docs/src/pages/installation/installation.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Installation" -index: 1 ---- - -# Installation - -The provisioning of Kairos into nodes can be performed in different ways. -This section guides you into provisioning Kairos into your nodes by use-case. diff --git a/docs/src/pages/quickstart/quickstart.md b/docs/src/pages/quickstart/quickstart.md deleted file mode 100644 index a5b7ca6a7f..0000000000 --- a/docs/src/pages/quickstart/quickstart.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Quickstart" -index: 1 ---- - -# Quickstart - -Provisioning of Kairos into bare metal, edge, embedded devices, and cloud. diff --git a/docs/src/pages/reference/reference.md b/docs/src/pages/reference/reference.md deleted file mode 100644 index a8d78a6db3..0000000000 --- a/docs/src/pages/reference/reference.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Reference" -index: 1 ---- - -# Basics diff --git a/docs/src/pages/sdk/library.md b/docs/src/pages/sdk/library.md deleted file mode 100644 index ec41736d43..0000000000 --- a/docs/src/pages/sdk/library.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Software Development Kit" -index: 1 ---- - -Kairos has an internal SDK kit which enables to build extensions that allows to customize and control the OS from a unified SDK which supports multiple languages. diff --git a/docs/src/pages/sdk/sdk.md b/docs/src/pages/sdk/sdk.md deleted file mode 100644 index 72ffb96b5a..0000000000 --- a/docs/src/pages/sdk/sdk.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "SDK" -index: 1 ---- - -# SDK diff --git a/docs/src/pages/upgrade/upgrade.md b/docs/src/pages/upgrade/upgrade.md deleted file mode 100644 index 6fe2ceb518..0000000000 --- a/docs/src/pages/upgrade/upgrade.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: "../../layouts/docs/Layout.astro" -title: "Upgrade" -index: 1 ---- - -# Installing Kairos on bare metal, VMs, ... - -## Automates, Pairs, and takes over install diff --git a/docs/src/styles/index.css b/docs/src/styles/index.css deleted file mode 100644 index c7ec578148..0000000000 --- a/docs/src/styles/index.css +++ /dev/null @@ -1,312 +0,0 @@ -* { - box-sizing: border-box; - margin: 0; -} - -/* Global focus outline reset */ -*:focus:not(:focus-visible) { - outline: none; -} - -:root { - --user-font-scale: 1rem - 16px; - --max-width: calc(100% - 1rem); -} - -@media (min-width: 50em) { - :root { - --max-width: 46em; - } -} - -body { - display: flex; - flex-direction: row; - min-height: 100vh; - font-family: var(--font-body); - font-size: 1rem; - font-size: clamp(0.9rem, 0.75rem + 0.375vw + var(--user-font-scale), 1rem); - line-height: 1.5; - max-width: 100vw; - margin: 0; -} - -nav ul { - list-style: none; - padding: 0; -} - -.content > section > * + * { - margin-top: 1.25rem; -} - -.content > section > :first-child { - margin-top: 0; -} - -h1, -h2 { - position: relative; -} - -:is(h2, h3):not(:first-child) { - margin-top: 3rem; -} - -:is(h4, h5, h6):not(:first-child) { - margin-top: 2rem; -} - -h1 { - font-size: 3.25rem; - font-weight: 800; - font-style: normal; - font-weight: 600; - font-size: 50px; - line-height: 75px; - letter-spacing: -0.02em; - color: #0D1440; - margin: 40px 0; -} - -h2 { - font-weight: 500; - font-size: 32px; - line-height: 32px; - color: #0D1440; - margin: 40px 0; -} - -h3 { - font-size: 1.75rem; -} - -h4 { - font-size: 1.3rem; -} - -h5 { - font-size: 1rem; -} - -p { - line-height: 1.65em; -} - -.content ul { - line-height: 1.4em; -} - -p, -.content ul { - color: var(--theme-text-light); -} - -small, -.text_small { - font-size: 0.833rem; -} - -a { - color: var(--theme-text-accent); - font-weight: 400; - text-underline-offset: 0.08em; - align-items: center; - gap: 0.5rem; -} - -article > section :is(ul, ol) > * + * { - margin-top: 0.75rem; -} - -article > section nav :is(ul, ol) > * + * { - margin-top: inherit; -} - -article > section li > :is(p, pre, blockquote):not(:first-child) { - margin-top: 1rem; -} - -article > section :is(ul, ol) { - padding-left: 1em; -} - -article > section nav :is(ul, ol) { - padding-left: inherit; -} - -article > section nav { - margin-top: 1rem; - margin-bottom: 2rem; -} - -article > section ::marker { - font-weight: bold; - color: var(--theme-text-light); -} - -article > section iframe { - width: 100%; - height: auto; - aspect-ratio: 16 / 9; -} - -a > code { - position: relative; - color: var(--theme-text-accent); - background: transparent; - text-underline-offset: var(--padding-block); -} - -a > code::before { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - background: var(--theme-accent); - opacity: var(--theme-accent-opacity); - border-radius: var(--border-radius); -} - -a:hover, -a:focus { - text-decoration: underline; -} - -a:focus { - outline: 2px solid currentColor; - outline-offset: 0.25em; -} - -strong { - font-weight: 600; - color: inherit; -} - -/* Supporting Content */ - -code { - --border-radius: 3px; - --padding-block: 0.2rem; - --padding-inline: 0.33rem; - - font-family: var(--font-mono); - font-size: 0.85em; - color: inherit; - background-color: var(--theme-code-inline-bg); - padding: var(--padding-block) var(--padding-inline); - margin: calc(var(--padding-block) * -1) -0.125em; - border-radius: var(--border-radius); - word-break: break-word; -} - -pre.astro-code > code { - all: unset; -} - -pre > code { - font-size: 1em; -} - -table, -pre { - position: relative; - --padding-block: 1rem; - --padding-inline: 2rem; - padding: var(--padding-block) var(--padding-inline); - padding-right: calc(var(--padding-inline) * 2); - margin-left: 0; - margin-right: 0; - font-family: var(--font-mono); - - line-height: 1.5; - font-size: 0.85em; - overflow-y: hidden; - overflow-x: auto; -} - -@media (min-width: 1024px) { - table, - pre { - margin-left: calc(var(--padding-inline) * -1); - margin-right: calc(var(--padding-inline) * -1); - } -} - -table { - width: 100%; - padding: var(--padding-block) 0; - margin: 0; - border-collapse: collapse; -} - -/* Zebra striping */ -tr:nth-of-type(odd) { - background: var(--theme-bg-hover); -} -th { - background: var(--color-black); - color: var(--theme-color); - font-weight: bold; - border-bottom: 1px solid #ddd; -} -td, -th { - padding: 6px; - text-align: left; -} - -pre { - background-color: var(--theme-code-bg); - color: var(--theme-code-text); -} - -blockquote code { - background-color: var(--theme-bg); -} - -@media (min-width: 37.75em) { - pre { - --padding-inline: 1.25rem; - border-radius: 8px; - margin-left: 0; - margin-right: 0; - } -} - -blockquote { - margin: 2rem 0; - padding: 1.25em 1.5rem; - border-left: 3px solid var(--theme-text-light); - background-color: var(--theme-bg-offset); - border-radius: 0 0.25rem 0.25rem 0; - line-height: 1.7; -} - -img { - max-width: 100%; -} - -button { - display: flex; - align-items: center; - justify-items: center; - gap: 0.25em; - padding: 0.33em 0.67em; - border: 0; - background: var(--theme-bg); - display: flex; - font-size: 1rem; - align-items: center; - gap: 0.25em; - border-radius: 99em; - color: var(--theme-text); - background-color: var(--theme-bg); -} - -h2:target { - scroll-margin: calc(var(--theme-sidebar-offset, 5rem) + 2rem) 0 2rem; -} diff --git a/docs/src/styles/theme.css b/docs/src/styles/theme.css deleted file mode 100644 index d3726e1f64..0000000000 --- a/docs/src/styles/theme.css +++ /dev/null @@ -1,91 +0,0 @@ -:root { - --font-mono: Noto Sans; - - --color-base-white: 0, 0%; - --color-base-black: 240, 100%; - --color-base-gray: 215, 14%; - --color-base-blue: 212, 100%; - --color-base-blue-dark: 212, 72%; - --color-base-green: 158, 79%; - --color-base-orange: 22, 100%; - --color-base-purple: 269, 79%; - --color-base-red: 351, 100%; - --color-base-yellow: 41, 100%; - - --color-gray-5: var(--color-base-gray), 5%; - --color-gray-10: var(--color-base-gray), 10%; - --color-gray-20: var(--color-base-gray), 20%; - --color-gray-30: var(--color-base-gray), 30%; - --color-gray-40: #0D1440; - --color-gray-50: var(--color-base-gray), 50%; - --color-gray-60: var(--color-base-gray), 60%; - --color-gray-70: var(--color-base-gray), 70%; - --color-gray-80: var(--color-base-gray), 80%; - --color-gray-90: var(--color-base-gray), 90%; - --color-gray-95: var(--color-base-gray), 95%; - - --color-blue: #409BF6; - --color-blue-dark: var(--color-base-blue-dark), 39%; - --color-green: var(--color-base-green), 42%; - --color-orange: var(--color-base-orange), 50%; - --color-purple: var(--color-base-purple), 54%; - --color-red: var(--color-base-red), 54%; - --color-yellow: var(--color-base-yellow), 59%; -} - -:root { - color-scheme: light; - --theme-accent: hsla(var(--color-blue), 1); - --theme-text-accent: #409BF6; - --theme-accent-opacity: 0.15; - --theme-divider: hsla(var(--color-gray-95), 1); - --theme-text: hsla(var(--color-gray-10), 1); - --theme-text-light: #0D1440; - /* @@@: not used anywhere */ - --theme-text-lighter: hsla(var(--color-gray-80), 1); - --theme-bg: hsla(var(--color-base-white), 100%, 1); - --theme-bg-hover: hsla(var(--color-gray-95), 1); - --theme-bg-offset: hsla(var(--color-gray-90), 1); - --theme-bg-accent: hsla(var(--color-blue), var(--theme-accent-opacity)); - --theme-code-inline-bg: hsla(var(--color-gray-95), 1); - --theme-code-inline-text: var(--theme-text); - --theme-code-bg: hsla(217, 19%, 27%, 1); - --theme-code-text: hsla(var(--color-gray-95), 1); - --theme-navbar-bg: hsla(var(--color-base-white), 100%, 1); - --theme-navbar-height: 6rem; - --theme-selection-color: hsla(var(--color-white), 1); - --theme-selection-bg: hsla(var(--color-orange), var(--theme-accent-opacity)); -} - -body { - background: var(--theme-bg); - color: var(--theme-text); -} - -:root.theme-dark { - color-scheme: dark; - --theme-accent-opacity: 0.15; - --theme-accent: hsla(var(--color-blue), 1); - --theme-text-accent: hsla(var(--color-blue), 1); - --theme-divider: hsla(var(--color-gray-10), 1); - --theme-text: hsla(var(--color-gray-90), 1); - --theme-text-light: hsla(var(--color-gray-80), 1); - - /* @@@: not used anywhere */ - --theme-text-lighter: hsla(var(--color-gray-40), 1); - --theme-bg: hsla(215, 28%, 17%, 1); - --theme-bg-hover: hsla(var(--color-gray-40), 1); - --theme-bg-offset: hsla(var(--color-gray-5), 1); - --theme-code-inline-bg: hsla(var(--color-gray-10), 1); - --theme-code-inline-text: hsla(var(--color-base-white), 100%, 1); - --theme-code-bg: hsla(var(--color-gray-5), 1); - --theme-code-text: hsla(var(--color-base-white), 100%, 1); - --theme-navbar-bg: hsla(215, 28%, 17%, 1); - --theme-selection-color: hsla(var(--color-base-orange), 100%, 1); - --theme-selection-bg: hsla(var(--color-purple), var(--theme-accent-opacity)); -} - -::selection { - color: var(--theme-selection-color); - background-color: var(--theme-selection-bg); -} diff --git a/docs/public/favicon/android-chrome-192x192.png b/docs/static/favicons/android-chrome-192x192.png similarity index 100% rename from docs/public/favicon/android-chrome-192x192.png rename to docs/static/favicons/android-chrome-192x192.png diff --git a/docs/public/favicon/apple-touch-icon.png b/docs/static/favicons/apple-touch-icon.png similarity index 100% rename from docs/public/favicon/apple-touch-icon.png rename to docs/static/favicons/apple-touch-icon.png diff --git a/docs/public/favicon/browserconfig.xml b/docs/static/favicons/browserconfig.xml similarity index 100% rename from docs/public/favicon/browserconfig.xml rename to docs/static/favicons/browserconfig.xml diff --git a/docs/public/favicon/favicon-16x16.png b/docs/static/favicons/favicon-16x16.png similarity index 100% rename from docs/public/favicon/favicon-16x16.png rename to docs/static/favicons/favicon-16x16.png diff --git a/docs/public/favicon/favicon-32x32.png b/docs/static/favicons/favicon-32x32.png similarity index 100% rename from docs/public/favicon/favicon-32x32.png rename to docs/static/favicons/favicon-32x32.png diff --git a/docs/public/favicon/favicon.ico b/docs/static/favicons/favicon.ico similarity index 100% rename from docs/public/favicon/favicon.ico rename to docs/static/favicons/favicon.ico diff --git a/docs/public/favicon/mstile-150x150.png b/docs/static/favicons/mstile-150x150.png similarity index 100% rename from docs/public/favicon/mstile-150x150.png rename to docs/static/favicons/mstile-150x150.png diff --git a/docs/public/favicon/site.webmanifest b/docs/static/favicons/site.webmanifest similarity index 100% rename from docs/public/favicon/site.webmanifest rename to docs/static/favicons/site.webmanifest diff --git a/docs/src/assets/index/1.png b/docs/static/index/1.png similarity index 100% rename from docs/src/assets/index/1.png rename to docs/static/index/1.png diff --git a/docs/src/assets/index/2.png b/docs/static/index/2.png similarity index 100% rename from docs/src/assets/index/2.png rename to docs/static/index/2.png diff --git a/docs/src/assets/index/3.png b/docs/static/index/3.png similarity index 100% rename from docs/src/assets/index/3.png rename to docs/static/index/3.png diff --git a/docs/src/assets/index/4.png b/docs/static/index/4.png similarity index 100% rename from docs/src/assets/index/4.png rename to docs/static/index/4.png diff --git a/docs/src/assets/index/5.png b/docs/static/index/5.png similarity index 100% rename from docs/src/assets/index/5.png rename to docs/static/index/5.png diff --git a/docs/src/assets/index/6.png b/docs/static/index/6.png similarity index 100% rename from docs/src/assets/index/6.png rename to docs/static/index/6.png diff --git a/docs/src/assets/index/7.png b/docs/static/index/7.png similarity index 100% rename from docs/src/assets/index/7.png rename to docs/static/index/7.png diff --git a/docs/src/assets/index/book.png b/docs/static/index/book.png similarity index 100% rename from docs/src/assets/index/book.png rename to docs/static/index/book.png diff --git a/docs/src/assets/index/explore.png b/docs/static/index/explore.png similarity index 100% rename from docs/src/assets/index/explore.png rename to docs/static/index/explore.png diff --git a/docs/src/assets/index/footer.png b/docs/static/index/footer.png similarity index 100% rename from docs/src/assets/index/footer.png rename to docs/static/index/footer.png diff --git a/docs/src/assets/index/github.png b/docs/static/index/github.png similarity index 100% rename from docs/src/assets/index/github.png rename to docs/static/index/github.png diff --git a/docs/static/index/index.css b/docs/static/index/index.css new file mode 100644 index 0000000000..78b5067ad7 --- /dev/null +++ b/docs/static/index/index.css @@ -0,0 +1 @@ +.wrapper:where(.astro-7XAARZHW){display:flex;align-items:center;justify-content:center}body{margin:0}:where(.astro-7XAARZHW){font-family:Noto Sans;box-sizing:border-box}.hero:where(.astro-7XAARZHW){position:relative;overflow:hidden}@media (min-width: 1024px){.hero:where(.astro-7XAARZHW){height:45vw}}.hero:where(.astro-7XAARZHW){display:block;width:100%;height:auto}.hero-logo:where(.astro-7XAARZHW){margin-bottom:58px}@media (min-width: 1024px){.hero-logo:where(.astro-7XAARZHW){margin-right:260px;margin-bottom:0}}.overlay:where(.astro-7XAARZHW){width:100%;height:100%;min-height:708px;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:0 24px;background-color:#03153a}.constraint:where(.astro-7XAARZHW){width:100%;max-width:1300px;display:flex;flex-direction:row;align-items:center;justify-content:center}.constraint:where(.astro-7XAARZHW).vertical{flex-direction:column}.constraint:where(.astro-7XAARZHW).vertical>.header:where(.astro-7XAARZHW){display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin-top:60px}@media (min-width: 1024px){.constraint:where(.astro-7XAARZHW).vertical>.header:where(.astro-7XAARZHW){flex-direction:row;margin-top:0}}.title:where(.astro-7XAARZHW){font-weight:700;font-size:58px;line-height:80px;letter-spacing:.02em;color:#fff;margin-top:0}.subtitle:where(.astro-7XAARZHW){font-weight:500;font-size:31px;line-height:130%;letter-spacing:.01em;color:#fff}.title:where(.astro-7XAARZHW)>span:where(.astro-7XAARZHW){color:#e06948}.grid:where(.astro-7XAARZHW){display:grid;grid-gap:2rem}.sectionTitle:where(.astro-7XAARZHW){font-weight:700;font-size:var(--f-u8);margin-top:4rem;margin-bottom:2rem}.roles:where(.astro-7XAARZHW){display:flex;flex-wrap:wrap;gap:.5em;font-size:var(--f-d1)}.role:where(.astro-7XAARZHW){position:relative;display:inline-block;white-space:nowrap;font-weight:900;color:var(--t-bg);background-color:var(--t-fg);padding:.25em .5em;z-index:2}.invert:where(.astro-7XAARZHW){position:absolute;color:var(--t-fg);display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;clip-path:polygon(0% 100%,100% 100%,100% 200%,0% 200%);transition:clip-path cubic-bezier(.4,0,.5,1) .15s}.desc:where(.astro-7XAARZHW){font-weight:400;font-size:24px;line-height:170%;color:#fff;max-width:748px;margin:64px 0;max-width:600px}@media (min-width: 1024px){.desc:where(.astro-7XAARZHW){max-width:1199px;font-size:18px}}.desc:where(.astro-7XAARZHW) span:where(.astro-7XAARZHW){color:#ee5007;font-weight:700}.bio:where(.astro-7XAARZHW){line-height:2;margin-bottom:2rem}.bio:where(.astro-7XAARZHW)>span:where(.astro-7XAARZHW):first-of-type{line-height:1;margin-bottom:.5em;display:block;font-weight:700;font-size:var(--f-u4)}.orange-line:where(.astro-7XAARZHW){height:16px;width:100%;background:#ee5007}.buttons:where(.astro-7XAARZHW){display:flex;flex-direction:column;align-items:center}@media (min-width: 420px){.buttons:where(.astro-7XAARZHW){flex-direction:row;align-items:flex-start}}.buttons:where(.astro-7XAARZHW)>a:where(.astro-7XAARZHW){display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 16px;width:210px;height:50px;font-weight:600;font-size:22px;line-height:100%;color:#fff;text-decoration:none;border-radius:4px;margin-top:53px}@media (min-width: 420px){.buttons:where(.astro-7XAARZHW)>a:where(.astro-7XAARZHW){margin-right:40px}}#quickstart:where(.astro-7XAARZHW){background:#ee5007;box-shadow:0 0 2px #0003,0 1px 2px #0000001a,inset 0 -1px #0003;border-radius:4px}#download:where(.astro-7XAARZHW){border:1px solid #8facd4;box-shadow:inset 0 -1px #0003;filter:drop-shadow(0px 0px 2px rgba(0,0,0,.2)) drop-shadow(0px 1px 2px rgba(0,0,0,.1));color:#8facd4}footer:where(.astro-7XAARZHW){background:#e06948;height:250px;display:flex;flex-direction:row;justify-content:center;align-items:center}.sections-title:where(.astro-7XAARZHW){font-weight:600;font-size:32px;line-height:50px;color:#0a2239;margin-top:123px;text-align:center}.section-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}.sections{display:flex;flex-direction:column;align-items:center;max-width:1200px;justify-content:center}.sections[aria-current=horizontal]{flex-direction:column;width:100%}@media (min-width: 1024px){.sections[aria-current=horizontal]{flex-direction:row}}.main-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 48px;box-sizing:border-box;width:100%}.main-section>.sections{padding-bottom:0}.main-section>.title{font-weight:600;font-size:42px;line-height:52px;text-align:center;color:#161b33;margin:43px 0}.secondary-section{display:flex;flex-direction:column;border-bottom:1px solid rgba(0,0,0,.1);padding:32px 0}@media (min-width: 1024px){.secondary-section{flex-direction:row}}.secondary-section img{margin-top:80px;margin-bottom:40px}.secondary-section:first-child{padding-top:0}.secondary-section:last-child{border-bottom:0;padding-bottom:0}.secondary-section>.title{min-width:0px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-family:Noto Sans Mono;font-weight:700;font-size:24px;line-height:38px;color:#161b33;text-align:center;margin-bottom:32px}@media (min-width: 1024px){.secondary-section>.title{min-width:480px}}.sections[aria-current=horizontal] p{text-align:center}.sections[aria-current=horizontal]>.secondary-section{flex-direction:column;align-items:center;border-bottom:0;padding:0;width:100%;margin:0}@media (min-width: 1024px){.sections[aria-current=horizontal]>.secondary-section{margin:0 24px}}.sections[aria-current=horizontal]>.secondary-section .image-container{height:100px;display:flex;justify-content:flex-end}.sections[aria-current=horizontal]>.secondary-section .image-container-removeHeight{display:flex;justify-content:flex-end}.sections[aria-current=horizontal]>.secondary-section img{margin:0}.sections[aria-current=horizontal]>.secondary-section:first-child{margin-left:0}.sections[aria-current=horizontal]>.secondary-section:last-child{margin-right:0}.sections[aria-current=horizontal]>.secondary-section>.title{padding:32px 12px;flex-grow:1;width:100%;min-width:auto;max-width:340px}.sections[aria-current=horizontal]>.secondary-section>.title>div{margin:32px 0}.tertiary-section{margin-bottom:24px;border-bottom:1px solid rgba(0,0,0,.1);width:100%}.tertiary-section:last-child{border-bottom:0px;margin-bottom:0}.tertiary-section>.title{font-family:Noto Sans Mono;font-style:normal;font-weight:700;font-size:24px;line-height:33px;color:#161b33;margin-bottom:16px}.sections p{font-family:Noto Sans;font-weight:400;font-size:16px;line-height:160%;letter-spacing:.01em;color:#344079;margin-top:0;margin-bottom:24px} diff --git a/docs/src/assets/logos/kairos-white-column.png b/docs/static/index/logo.png similarity index 100% rename from docs/src/assets/logos/kairos-white-column.png rename to docs/static/index/logo.png diff --git a/docs/themes/docsy b/docs/themes/docsy new file mode 160000 index 0000000000..d9bf98b876 --- /dev/null +++ b/docs/themes/docsy @@ -0,0 +1 @@ +Subproject commit d9bf98b876d74772b850ef910c6f59b898f61ccf diff --git a/docs/tsconfig.json b/docs/tsconfig.json deleted file mode 100644 index bcbf8b5090..0000000000 --- a/docs/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "astro/tsconfigs/strict" -}