Compare changes

Choose any two refs to compare.

-22
.gitignore
··· 1 - # build output 2 - dist/ 3 - 4 - # generated types 5 - .astro/ 6 - 7 - # dependencies 8 - node_modules/ 9 - 10 - # logs 11 - npm-debug.log* 12 - yarn-debug.log* 13 - yarn-error.log* 14 - pnpm-debug.log* 15 - 16 - # environment variables 17 - .env 18 - .env.production 19 - 20 - # macOS-specific files 21 - .DS_Store 22 - .vercel
···
+15
.tangled/workflows/deploy.yml
···
··· 1 + # deploy 2 + 3 + when: 4 + - event: ["push"] 5 + branch: ["main"] 6 + 7 + engine: "nixery" 8 + 9 + dependencies: 10 + nixpkgs: 11 + - nodejs 12 + 13 + steps: 14 + - name: "deploy" 15 + command: "npx wrangler deploy"
-4
.vscode/extensions.json
··· 1 - { 2 - "recommendations": ["astro-build.astro-vscode"], 3 - "unwantedRecommendations": [] 4 - }
···
-11
.vscode/launch.json
··· 1 - { 2 - "version": "0.2.0", 3 - "configurations": [ 4 - { 5 - "command": "./node_modules/.bin/astro dev", 6 - "name": "Development server", 7 - "request": "launch", 8 - "type": "node-terminal" 9 - } 10 - ] 11 - }
···
-3
README.md
··· 1 - # Dane's Personal Site 2 - 3 - Welcome to the repository for my personal site! This iteration is using [astro](https://astro.build). Feel free to look around if you want to use this as an example for your personal website.
···
-21
astro.config.ts
··· 1 - import { defineConfig, sharpImageService } from "astro/config"; 2 - import sitemap from "@astrojs/sitemap"; 3 - import UnoCSS from "unocss/astro"; 4 - 5 - export default defineConfig({ 6 - site: "https://dane.computer", 7 - image: { 8 - service: sharpImageService(), 9 - }, 10 - integrations: [ 11 - UnoCSS({ 12 - injectReset: true, 13 - }), 14 - sitemap(), 15 - ], 16 - markdown: { 17 - shikiConfig: { 18 - theme: "material-theme-palenight", 19 - }, 20 - }, 21 - });
···
+209
index.html
···
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8"> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 + <title>Dane's Website</title> 7 + <meta name="description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 8 + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> 9 + <meta property="og:type" content="website"> 10 + <meta property="og:title" content="Dane's Website"> 11 + <meta property="og:description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 12 + <link rel="canonical" href="https://dane.computer/"> 13 + <meta property="og:url" content="https://dane.computer/"> 14 + <style> 15 + @layer reset { 16 + *, 17 + *::before, 18 + *::after { 19 + box-sizing: border-box; 20 + } 21 + 22 + * { 23 + margin: 0; 24 + padding: 0; 25 + } 26 + 27 + html { 28 + -webkit-text-size-adjust: none; 29 + -webkit-font-smoothing: antialiased; 30 + text-rendering: optimizespeed; 31 + text-size-adjust: none; 32 + color-scheme: dark light; 33 + tab-size: 2; 34 + scrollbar-gutter: stable; 35 + interpolate-size: allow-keywords; 36 + line-height: 1.5; 37 + } 38 + 39 + body { 40 + margin: 0; 41 + font-family: Menlo, Consolas, Monaco, Adwaita Mono, Liberation Mono, Lucida Console, monospace; 42 + font-synthesis: none; 43 + } 44 + 45 + ul[role=list], ol[role=list] { 46 + list-style: none; 47 + padding: 0; 48 + } 49 + 50 + ::marker { 51 + line-height: 0; 52 + } 53 + 54 + :focus-visible { 55 + outline-offset: 2px; 56 + } 57 + 58 + @media (prefers-reduced-motion: no-preference) { 59 + html:focus-within { 60 + scroll-behavior: smooth; 61 + } 62 + } 63 + 64 + a { 65 + color: inherit; 66 + text-underline-offset: 0.2ex; 67 + } 68 + 69 + h1, h2, 70 + h3, h4 { 71 + text-wrap: balance; 72 + } 73 + 74 + a[href] { 75 + -webkit-tap-highlight-color: transparent; 76 + } 77 + 78 + p, h1, h2, h3, h4, h5, h6 { 79 + overflow-wrap: break-word; 80 + } 81 + 82 + p { 83 + text-wrap: pretty; 84 + } 85 + 86 + } 87 + 88 + .container { 89 + max-width: 65ch; 90 + margin: 0 auto; 91 + padding: 5.5rem 0; 92 + } 93 + 94 + .intro { 95 + margin-bottom: 2rem; 96 + } 97 + 98 + .name { 99 + font-size: 2.5rem; 100 + font-weight: bold; 101 + text-transform: capitalize; 102 + } 103 + 104 + .title { 105 + font-weight: bold; 106 + margin-bottom: 1.5rem; 107 + } 108 + 109 + .bio { 110 + margin-bottom: 2rem; 111 + font-weight: 500; 112 + } 113 + 114 + .bio p:not(:last-of-type) { 115 + margin-bottom: 1rem; 116 + } 117 + 118 + .links { 119 + margin-bottom: 2rem; 120 + } 121 + 122 + .links p:first-of-type { 123 + font-weight: bold; 124 + } 125 + 126 + .job { 127 + display: flex; 128 + justify-content: space-between; 129 + } 130 + 131 + .work-experience ul { 132 + display: flex; 133 + flex-direction: column; 134 + row-gap: 1rem; 135 + } 136 + 137 + @media (width <= 640px) { 138 + .container { 139 + padding: 3.5rem 1rem; 140 + } 141 + } 142 + 143 + @media (width <= 600px) { 144 + .container { 145 + text-align: center; 146 + } 147 + 148 + .work-experience .job { 149 + display: flex; 150 + flex-direction: column; 151 + } 152 + } 153 + </style> 154 + </head> 155 + <body> 156 + <main class="container"> 157 + <section class="intro"> 158 + <h1 class="name">dane miller</h1> 159 + <p class="title">senior software developer</p> 160 + <aside class="bio"> 161 + <p>Currently working as a frontend developer at the Bank of Montreal in Toronto.</p> 162 + <p>In my spare time I enjoy (re)watching tv shows, listening to music and playing video games.</p> 163 + <p>I guess I code from time to time as well. At the moment i&apos;m into all things <a href="https://atproto.com" target="_blank" rel="noopener noreferrer">AT Protocol</a>.</p> 164 + <p>Writing code in Typescript, Go, Rust and Gleam.</p> 165 + </aside> 166 + </section> 167 + <section class="links"> 168 + <h2>where to find me on the world wide web</h2> 169 + <ul role="list"> 170 + <li> 171 + <a href="https://bsky.app/profile/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's bluesky profile, opens in a new tab" rel="noopener noreferrer">Bluesky</a> 172 + </li> 173 + <li> 174 + <a href="https://tangled.org/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's Tangled profile, opens in a new tab" rel="noopener noreferrer">Tangled</a> 175 + </li> 176 + <li> 177 + <a href="mailto:me@dane.computer">E-mail</a> 178 + </li> 179 + </ul> 180 + </section> 181 + <section class="work-experience"> 182 + <h2>work experience</h2> 183 + <ul role="list"> 184 + <li class="job"> 185 + <div> 186 + <p class="company">Bank of Montreal</p> 187 + <small class="title">Senior Software Developer</small> 188 + </div> 189 + <p>2021 to present</p> 190 + </li> 191 + <li class="job"> 192 + <div> 193 + <p class="company">Black Professionals In Tech Network</p> 194 + <small class="title">Intermediate Software Developer</small> 195 + </div> 196 + <p>2021 to 2021</p> 197 + </li> 198 + <li class="job"> 199 + <div> 200 + <p class="company">Wise Publishing</p> 201 + <small class="title">Frontend Developer Intern</small> 202 + </div> 203 + <p>2020 to 2020</p> 204 + </li> 205 + </ul> 206 + </section> 207 + </main> 208 + </body> 209 + </html>
-28
package.json
··· 1 - { 2 - "name": "danethe.dev-astro", 3 - "type": "module", 4 - "version": "0.0.1", 5 - "scripts": { 6 - "dev": "astro dev", 7 - "start": "astro dev", 8 - "build": "astro build", 9 - "preview": "astro preview", 10 - "astro": "astro" 11 - }, 12 - "dependencies": { 13 - "@astrojs/sitemap": "latest", 14 - "@notionhq/client": "^2.2.14", 15 - "@tailwindcss/typography": "^0.5.10", 16 - "astro": "latest", 17 - "sharp": "^0.33.2" 18 - }, 19 - "trustedDependencies": [ 20 - "sharp" 21 - ], 22 - "devDependencies": { 23 - "@iconify-json/lucide": "^1.1.172", 24 - "@unocss/reset": "^0.58.5", 25 - "detect-libc": "^2.0.3", 26 - "unocss": "^0.58.5" 27 - } 28 - }
···
-4497
pnpm-lock.yaml
··· 1 - lockfileVersion: '6.0' 2 - 3 - settings: 4 - autoInstallPeers: true 5 - excludeLinksFromLockfile: false 6 - 7 - dependencies: 8 - '@astrojs/sitemap': 9 - specifier: latest 10 - version: 3.1.1 11 - '@notionhq/client': 12 - specifier: ^2.2.14 13 - version: 2.2.14 14 - '@tailwindcss/typography': 15 - specifier: ^0.5.10 16 - version: 0.5.10 17 - astro: 18 - specifier: latest 19 - version: 4.5.8 20 - sharp: 21 - specifier: ^0.33.2 22 - version: 0.33.2 23 - 24 - devDependencies: 25 - '@iconify-json/lucide': 26 - specifier: ^1.1.172 27 - version: 1.1.176 28 - '@unocss/reset': 29 - specifier: ^0.58.5 30 - version: 0.58.6 31 - detect-libc: 32 - specifier: ^2.0.3 33 - version: 2.0.3 34 - unocss: 35 - specifier: ^0.58.5 36 - version: 0.58.6(postcss@8.4.38)(vite@5.2.2) 37 - 38 - packages: 39 - 40 - /@ampproject/remapping@2.3.0: 41 - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 42 - engines: {node: '>=6.0.0'} 43 - dependencies: 44 - '@jridgewell/gen-mapping': 0.3.5 45 - '@jridgewell/trace-mapping': 0.3.25 46 - 47 - /@antfu/install-pkg@0.1.1: 48 - resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} 49 - dependencies: 50 - execa: 5.1.1 51 - find-up: 5.0.0 52 - dev: true 53 - 54 - /@antfu/utils@0.7.7: 55 - resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} 56 - dev: true 57 - 58 - /@astrojs/compiler@2.7.0: 59 - resolution: {integrity: sha512-XpC8MAaWjD1ff6/IfkRq/5k1EFj6zhCNqXRd5J43SVJEBj/Bsmizkm8N0xOYscGcDFQkRgEw6/eKnI5x/1l6aA==} 60 - dev: false 61 - 62 - /@astrojs/internal-helpers@0.3.0: 63 - resolution: {integrity: sha512-tGmHvrhpzuz0JBHaJX8GywN9g4rldVNHtkoVDC3m/DdzBO70jGoVuc0uuNVglRYnsdwkbG0K02Iw3nOOR3/Y4g==} 64 - dev: false 65 - 66 - /@astrojs/markdown-remark@4.3.1: 67 - resolution: {integrity: sha512-eJFi600tkRjTFiwzY9oD8AgCgB7gFqyWCKWuZ33dATVBgLiROD+zlMZ8STZzU7+ZALvmiUAun/K7umTmP5YfVQ==} 68 - dependencies: 69 - '@astrojs/prism': 3.0.0 70 - github-slugger: 2.0.0 71 - hast-util-from-html: 2.0.1 72 - hast-util-to-text: 4.0.0 73 - import-meta-resolve: 4.0.0 74 - mdast-util-definitions: 6.0.0 75 - rehype-raw: 7.0.0 76 - rehype-stringify: 10.0.0 77 - remark-gfm: 4.0.0 78 - remark-parse: 11.0.0 79 - remark-rehype: 11.1.0 80 - remark-smartypants: 2.1.0 81 - shiki: 1.2.0 82 - unified: 11.0.4 83 - unist-util-remove-position: 5.0.0 84 - unist-util-visit: 5.0.0 85 - unist-util-visit-parents: 6.0.1 86 - vfile: 6.0.1 87 - transitivePeerDependencies: 88 - - supports-color 89 - dev: false 90 - 91 - /@astrojs/prism@3.0.0: 92 - resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==} 93 - engines: {node: '>=18.14.1'} 94 - dependencies: 95 - prismjs: 1.29.0 96 - dev: false 97 - 98 - /@astrojs/sitemap@3.1.1: 99 - resolution: {integrity: sha512-qPgdBIcDUaea98mTtLfi5z9oXZpzSjEn/kes70/Ex8FOZZ+DIHVKRYOLOtvy8p+FTXr/9oc7BjmIbTYmYLLJVg==} 100 - dependencies: 101 - sitemap: 7.1.1 102 - zod: 3.22.4 103 - dev: false 104 - 105 - /@astrojs/telemetry@3.0.4: 106 - resolution: {integrity: sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==} 107 - engines: {node: '>=18.14.1'} 108 - dependencies: 109 - ci-info: 3.9.0 110 - debug: 4.3.4 111 - dlv: 1.1.3 112 - dset: 3.1.3 113 - is-docker: 3.0.0 114 - is-wsl: 3.1.0 115 - which-pm-runs: 1.1.0 116 - transitivePeerDependencies: 117 - - supports-color 118 - dev: false 119 - 120 - /@babel/code-frame@7.24.2: 121 - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} 122 - engines: {node: '>=6.9.0'} 123 - dependencies: 124 - '@babel/highlight': 7.24.2 125 - picocolors: 1.0.0 126 - 127 - /@babel/compat-data@7.24.1: 128 - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} 129 - engines: {node: '>=6.9.0'} 130 - 131 - /@babel/core@7.24.3: 132 - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} 133 - engines: {node: '>=6.9.0'} 134 - dependencies: 135 - '@ampproject/remapping': 2.3.0 136 - '@babel/code-frame': 7.24.2 137 - '@babel/generator': 7.24.1 138 - '@babel/helper-compilation-targets': 7.23.6 139 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) 140 - '@babel/helpers': 7.24.1 141 - '@babel/parser': 7.24.1 142 - '@babel/template': 7.24.0 143 - '@babel/traverse': 7.24.1 144 - '@babel/types': 7.24.0 145 - convert-source-map: 2.0.0 146 - debug: 4.3.4 147 - gensync: 1.0.0-beta.2 148 - json5: 2.2.3 149 - semver: 6.3.1 150 - transitivePeerDependencies: 151 - - supports-color 152 - 153 - /@babel/generator@7.24.1: 154 - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} 155 - engines: {node: '>=6.9.0'} 156 - dependencies: 157 - '@babel/types': 7.24.0 158 - '@jridgewell/gen-mapping': 0.3.5 159 - '@jridgewell/trace-mapping': 0.3.25 160 - jsesc: 2.5.2 161 - 162 - /@babel/helper-annotate-as-pure@7.22.5: 163 - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} 164 - engines: {node: '>=6.9.0'} 165 - dependencies: 166 - '@babel/types': 7.24.0 167 - 168 - /@babel/helper-compilation-targets@7.23.6: 169 - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} 170 - engines: {node: '>=6.9.0'} 171 - dependencies: 172 - '@babel/compat-data': 7.24.1 173 - '@babel/helper-validator-option': 7.23.5 174 - browserslist: 4.23.0 175 - lru-cache: 5.1.1 176 - semver: 6.3.1 177 - 178 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): 179 - resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} 180 - engines: {node: '>=6.9.0'} 181 - peerDependencies: 182 - '@babel/core': ^7.0.0 183 - dependencies: 184 - '@babel/core': 7.24.3 185 - '@babel/helper-annotate-as-pure': 7.22.5 186 - '@babel/helper-environment-visitor': 7.22.20 187 - '@babel/helper-function-name': 7.23.0 188 - '@babel/helper-member-expression-to-functions': 7.23.0 189 - '@babel/helper-optimise-call-expression': 7.22.5 190 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) 191 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 192 - '@babel/helper-split-export-declaration': 7.22.6 193 - semver: 6.3.1 194 - dev: true 195 - 196 - /@babel/helper-environment-visitor@7.22.20: 197 - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 198 - engines: {node: '>=6.9.0'} 199 - 200 - /@babel/helper-function-name@7.23.0: 201 - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 202 - engines: {node: '>=6.9.0'} 203 - dependencies: 204 - '@babel/template': 7.24.0 205 - '@babel/types': 7.24.0 206 - 207 - /@babel/helper-hoist-variables@7.22.5: 208 - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 209 - engines: {node: '>=6.9.0'} 210 - dependencies: 211 - '@babel/types': 7.24.0 212 - 213 - /@babel/helper-member-expression-to-functions@7.23.0: 214 - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} 215 - engines: {node: '>=6.9.0'} 216 - dependencies: 217 - '@babel/types': 7.24.0 218 - dev: true 219 - 220 - /@babel/helper-module-imports@7.24.3: 221 - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} 222 - engines: {node: '>=6.9.0'} 223 - dependencies: 224 - '@babel/types': 7.24.0 225 - 226 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): 227 - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} 228 - engines: {node: '>=6.9.0'} 229 - peerDependencies: 230 - '@babel/core': ^7.0.0 231 - dependencies: 232 - '@babel/core': 7.24.3 233 - '@babel/helper-environment-visitor': 7.22.20 234 - '@babel/helper-module-imports': 7.24.3 235 - '@babel/helper-simple-access': 7.22.5 236 - '@babel/helper-split-export-declaration': 7.22.6 237 - '@babel/helper-validator-identifier': 7.22.20 238 - 239 - /@babel/helper-optimise-call-expression@7.22.5: 240 - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} 241 - engines: {node: '>=6.9.0'} 242 - dependencies: 243 - '@babel/types': 7.24.0 244 - dev: true 245 - 246 - /@babel/helper-plugin-utils@7.24.0: 247 - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} 248 - engines: {node: '>=6.9.0'} 249 - 250 - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): 251 - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} 252 - engines: {node: '>=6.9.0'} 253 - peerDependencies: 254 - '@babel/core': ^7.0.0 255 - dependencies: 256 - '@babel/core': 7.24.3 257 - '@babel/helper-environment-visitor': 7.22.20 258 - '@babel/helper-member-expression-to-functions': 7.23.0 259 - '@babel/helper-optimise-call-expression': 7.22.5 260 - dev: true 261 - 262 - /@babel/helper-simple-access@7.22.5: 263 - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} 264 - engines: {node: '>=6.9.0'} 265 - dependencies: 266 - '@babel/types': 7.24.0 267 - 268 - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: 269 - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} 270 - engines: {node: '>=6.9.0'} 271 - dependencies: 272 - '@babel/types': 7.24.0 273 - dev: true 274 - 275 - /@babel/helper-split-export-declaration@7.22.6: 276 - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 277 - engines: {node: '>=6.9.0'} 278 - dependencies: 279 - '@babel/types': 7.24.0 280 - 281 - /@babel/helper-string-parser@7.24.1: 282 - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} 283 - engines: {node: '>=6.9.0'} 284 - 285 - /@babel/helper-validator-identifier@7.22.20: 286 - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 287 - engines: {node: '>=6.9.0'} 288 - 289 - /@babel/helper-validator-option@7.23.5: 290 - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} 291 - engines: {node: '>=6.9.0'} 292 - 293 - /@babel/helpers@7.24.1: 294 - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} 295 - engines: {node: '>=6.9.0'} 296 - dependencies: 297 - '@babel/template': 7.24.0 298 - '@babel/traverse': 7.24.1 299 - '@babel/types': 7.24.0 300 - transitivePeerDependencies: 301 - - supports-color 302 - 303 - /@babel/highlight@7.24.2: 304 - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} 305 - engines: {node: '>=6.9.0'} 306 - dependencies: 307 - '@babel/helper-validator-identifier': 7.22.20 308 - chalk: 2.4.2 309 - js-tokens: 4.0.0 310 - picocolors: 1.0.0 311 - 312 - /@babel/parser@7.24.1: 313 - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} 314 - engines: {node: '>=6.0.0'} 315 - hasBin: true 316 - dependencies: 317 - '@babel/types': 7.24.0 318 - 319 - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): 320 - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} 321 - engines: {node: '>=6.9.0'} 322 - peerDependencies: 323 - '@babel/core': ^7.0.0-0 324 - dependencies: 325 - '@babel/core': 7.24.3 326 - '@babel/helper-plugin-utils': 7.24.0 327 - 328 - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): 329 - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} 330 - engines: {node: '>=6.9.0'} 331 - peerDependencies: 332 - '@babel/core': ^7.0.0-0 333 - dependencies: 334 - '@babel/core': 7.24.3 335 - '@babel/helper-plugin-utils': 7.24.0 336 - dev: true 337 - 338 - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): 339 - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} 340 - engines: {node: '>=6.9.0'} 341 - peerDependencies: 342 - '@babel/core': ^7.0.0-0 343 - dependencies: 344 - '@babel/core': 7.24.3 345 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) 346 - '@babel/helper-plugin-utils': 7.24.0 347 - '@babel/helper-simple-access': 7.22.5 348 - dev: true 349 - 350 - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3): 351 - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} 352 - engines: {node: '>=6.9.0'} 353 - peerDependencies: 354 - '@babel/core': ^7.0.0-0 355 - dependencies: 356 - '@babel/core': 7.24.3 357 - '@babel/helper-annotate-as-pure': 7.22.5 358 - '@babel/helper-module-imports': 7.24.3 359 - '@babel/helper-plugin-utils': 7.24.0 360 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) 361 - '@babel/types': 7.24.0 362 - dev: false 363 - 364 - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): 365 - resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} 366 - engines: {node: '>=6.9.0'} 367 - peerDependencies: 368 - '@babel/core': ^7.0.0-0 369 - dependencies: 370 - '@babel/core': 7.24.3 371 - '@babel/helper-annotate-as-pure': 7.22.5 372 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) 373 - '@babel/helper-plugin-utils': 7.24.0 374 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) 375 - dev: true 376 - 377 - /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): 378 - resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} 379 - engines: {node: '>=6.9.0'} 380 - peerDependencies: 381 - '@babel/core': ^7.0.0-0 382 - dependencies: 383 - '@babel/core': 7.24.3 384 - '@babel/helper-plugin-utils': 7.24.0 385 - '@babel/helper-validator-option': 7.23.5 386 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) 387 - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) 388 - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) 389 - dev: true 390 - 391 - /@babel/template@7.24.0: 392 - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} 393 - engines: {node: '>=6.9.0'} 394 - dependencies: 395 - '@babel/code-frame': 7.24.2 396 - '@babel/parser': 7.24.1 397 - '@babel/types': 7.24.0 398 - 399 - /@babel/traverse@7.24.1: 400 - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} 401 - engines: {node: '>=6.9.0'} 402 - dependencies: 403 - '@babel/code-frame': 7.24.2 404 - '@babel/generator': 7.24.1 405 - '@babel/helper-environment-visitor': 7.22.20 406 - '@babel/helper-function-name': 7.23.0 407 - '@babel/helper-hoist-variables': 7.22.5 408 - '@babel/helper-split-export-declaration': 7.22.6 409 - '@babel/parser': 7.24.1 410 - '@babel/types': 7.24.0 411 - debug: 4.3.4 412 - globals: 11.12.0 413 - transitivePeerDependencies: 414 - - supports-color 415 - 416 - /@babel/types@7.24.0: 417 - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} 418 - engines: {node: '>=6.9.0'} 419 - dependencies: 420 - '@babel/helper-string-parser': 7.24.1 421 - '@babel/helper-validator-identifier': 7.22.20 422 - to-fast-properties: 2.0.0 423 - 424 - /@emnapi/runtime@0.45.0: 425 - resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==} 426 - requiresBuild: true 427 - dependencies: 428 - tslib: 2.6.2 429 - dev: false 430 - optional: true 431 - 432 - /@esbuild/aix-ppc64@0.19.12: 433 - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} 434 - engines: {node: '>=12'} 435 - cpu: [ppc64] 436 - os: [aix] 437 - requiresBuild: true 438 - dev: false 439 - optional: true 440 - 441 - /@esbuild/aix-ppc64@0.20.2: 442 - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} 443 - engines: {node: '>=12'} 444 - cpu: [ppc64] 445 - os: [aix] 446 - requiresBuild: true 447 - optional: true 448 - 449 - /@esbuild/android-arm64@0.19.12: 450 - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} 451 - engines: {node: '>=12'} 452 - cpu: [arm64] 453 - os: [android] 454 - requiresBuild: true 455 - dev: false 456 - optional: true 457 - 458 - /@esbuild/android-arm64@0.20.2: 459 - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} 460 - engines: {node: '>=12'} 461 - cpu: [arm64] 462 - os: [android] 463 - requiresBuild: true 464 - optional: true 465 - 466 - /@esbuild/android-arm@0.19.12: 467 - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} 468 - engines: {node: '>=12'} 469 - cpu: [arm] 470 - os: [android] 471 - requiresBuild: true 472 - dev: false 473 - optional: true 474 - 475 - /@esbuild/android-arm@0.20.2: 476 - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} 477 - engines: {node: '>=12'} 478 - cpu: [arm] 479 - os: [android] 480 - requiresBuild: true 481 - optional: true 482 - 483 - /@esbuild/android-x64@0.19.12: 484 - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} 485 - engines: {node: '>=12'} 486 - cpu: [x64] 487 - os: [android] 488 - requiresBuild: true 489 - dev: false 490 - optional: true 491 - 492 - /@esbuild/android-x64@0.20.2: 493 - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} 494 - engines: {node: '>=12'} 495 - cpu: [x64] 496 - os: [android] 497 - requiresBuild: true 498 - optional: true 499 - 500 - /@esbuild/darwin-arm64@0.19.12: 501 - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} 502 - engines: {node: '>=12'} 503 - cpu: [arm64] 504 - os: [darwin] 505 - requiresBuild: true 506 - dev: false 507 - optional: true 508 - 509 - /@esbuild/darwin-arm64@0.20.2: 510 - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} 511 - engines: {node: '>=12'} 512 - cpu: [arm64] 513 - os: [darwin] 514 - requiresBuild: true 515 - optional: true 516 - 517 - /@esbuild/darwin-x64@0.19.12: 518 - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} 519 - engines: {node: '>=12'} 520 - cpu: [x64] 521 - os: [darwin] 522 - requiresBuild: true 523 - dev: false 524 - optional: true 525 - 526 - /@esbuild/darwin-x64@0.20.2: 527 - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} 528 - engines: {node: '>=12'} 529 - cpu: [x64] 530 - os: [darwin] 531 - requiresBuild: true 532 - optional: true 533 - 534 - /@esbuild/freebsd-arm64@0.19.12: 535 - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} 536 - engines: {node: '>=12'} 537 - cpu: [arm64] 538 - os: [freebsd] 539 - requiresBuild: true 540 - dev: false 541 - optional: true 542 - 543 - /@esbuild/freebsd-arm64@0.20.2: 544 - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} 545 - engines: {node: '>=12'} 546 - cpu: [arm64] 547 - os: [freebsd] 548 - requiresBuild: true 549 - optional: true 550 - 551 - /@esbuild/freebsd-x64@0.19.12: 552 - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} 553 - engines: {node: '>=12'} 554 - cpu: [x64] 555 - os: [freebsd] 556 - requiresBuild: true 557 - dev: false 558 - optional: true 559 - 560 - /@esbuild/freebsd-x64@0.20.2: 561 - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} 562 - engines: {node: '>=12'} 563 - cpu: [x64] 564 - os: [freebsd] 565 - requiresBuild: true 566 - optional: true 567 - 568 - /@esbuild/linux-arm64@0.19.12: 569 - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} 570 - engines: {node: '>=12'} 571 - cpu: [arm64] 572 - os: [linux] 573 - requiresBuild: true 574 - dev: false 575 - optional: true 576 - 577 - /@esbuild/linux-arm64@0.20.2: 578 - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} 579 - engines: {node: '>=12'} 580 - cpu: [arm64] 581 - os: [linux] 582 - requiresBuild: true 583 - optional: true 584 - 585 - /@esbuild/linux-arm@0.19.12: 586 - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} 587 - engines: {node: '>=12'} 588 - cpu: [arm] 589 - os: [linux] 590 - requiresBuild: true 591 - dev: false 592 - optional: true 593 - 594 - /@esbuild/linux-arm@0.20.2: 595 - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} 596 - engines: {node: '>=12'} 597 - cpu: [arm] 598 - os: [linux] 599 - requiresBuild: true 600 - optional: true 601 - 602 - /@esbuild/linux-ia32@0.19.12: 603 - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} 604 - engines: {node: '>=12'} 605 - cpu: [ia32] 606 - os: [linux] 607 - requiresBuild: true 608 - dev: false 609 - optional: true 610 - 611 - /@esbuild/linux-ia32@0.20.2: 612 - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} 613 - engines: {node: '>=12'} 614 - cpu: [ia32] 615 - os: [linux] 616 - requiresBuild: true 617 - optional: true 618 - 619 - /@esbuild/linux-loong64@0.19.12: 620 - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} 621 - engines: {node: '>=12'} 622 - cpu: [loong64] 623 - os: [linux] 624 - requiresBuild: true 625 - dev: false 626 - optional: true 627 - 628 - /@esbuild/linux-loong64@0.20.2: 629 - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} 630 - engines: {node: '>=12'} 631 - cpu: [loong64] 632 - os: [linux] 633 - requiresBuild: true 634 - optional: true 635 - 636 - /@esbuild/linux-mips64el@0.19.12: 637 - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} 638 - engines: {node: '>=12'} 639 - cpu: [mips64el] 640 - os: [linux] 641 - requiresBuild: true 642 - dev: false 643 - optional: true 644 - 645 - /@esbuild/linux-mips64el@0.20.2: 646 - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} 647 - engines: {node: '>=12'} 648 - cpu: [mips64el] 649 - os: [linux] 650 - requiresBuild: true 651 - optional: true 652 - 653 - /@esbuild/linux-ppc64@0.19.12: 654 - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} 655 - engines: {node: '>=12'} 656 - cpu: [ppc64] 657 - os: [linux] 658 - requiresBuild: true 659 - dev: false 660 - optional: true 661 - 662 - /@esbuild/linux-ppc64@0.20.2: 663 - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} 664 - engines: {node: '>=12'} 665 - cpu: [ppc64] 666 - os: [linux] 667 - requiresBuild: true 668 - optional: true 669 - 670 - /@esbuild/linux-riscv64@0.19.12: 671 - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} 672 - engines: {node: '>=12'} 673 - cpu: [riscv64] 674 - os: [linux] 675 - requiresBuild: true 676 - dev: false 677 - optional: true 678 - 679 - /@esbuild/linux-riscv64@0.20.2: 680 - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} 681 - engines: {node: '>=12'} 682 - cpu: [riscv64] 683 - os: [linux] 684 - requiresBuild: true 685 - optional: true 686 - 687 - /@esbuild/linux-s390x@0.19.12: 688 - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} 689 - engines: {node: '>=12'} 690 - cpu: [s390x] 691 - os: [linux] 692 - requiresBuild: true 693 - dev: false 694 - optional: true 695 - 696 - /@esbuild/linux-s390x@0.20.2: 697 - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} 698 - engines: {node: '>=12'} 699 - cpu: [s390x] 700 - os: [linux] 701 - requiresBuild: true 702 - optional: true 703 - 704 - /@esbuild/linux-x64@0.19.12: 705 - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} 706 - engines: {node: '>=12'} 707 - cpu: [x64] 708 - os: [linux] 709 - requiresBuild: true 710 - dev: false 711 - optional: true 712 - 713 - /@esbuild/linux-x64@0.20.2: 714 - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} 715 - engines: {node: '>=12'} 716 - cpu: [x64] 717 - os: [linux] 718 - requiresBuild: true 719 - optional: true 720 - 721 - /@esbuild/netbsd-x64@0.19.12: 722 - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} 723 - engines: {node: '>=12'} 724 - cpu: [x64] 725 - os: [netbsd] 726 - requiresBuild: true 727 - dev: false 728 - optional: true 729 - 730 - /@esbuild/netbsd-x64@0.20.2: 731 - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} 732 - engines: {node: '>=12'} 733 - cpu: [x64] 734 - os: [netbsd] 735 - requiresBuild: true 736 - optional: true 737 - 738 - /@esbuild/openbsd-x64@0.19.12: 739 - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} 740 - engines: {node: '>=12'} 741 - cpu: [x64] 742 - os: [openbsd] 743 - requiresBuild: true 744 - dev: false 745 - optional: true 746 - 747 - /@esbuild/openbsd-x64@0.20.2: 748 - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} 749 - engines: {node: '>=12'} 750 - cpu: [x64] 751 - os: [openbsd] 752 - requiresBuild: true 753 - optional: true 754 - 755 - /@esbuild/sunos-x64@0.19.12: 756 - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} 757 - engines: {node: '>=12'} 758 - cpu: [x64] 759 - os: [sunos] 760 - requiresBuild: true 761 - dev: false 762 - optional: true 763 - 764 - /@esbuild/sunos-x64@0.20.2: 765 - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} 766 - engines: {node: '>=12'} 767 - cpu: [x64] 768 - os: [sunos] 769 - requiresBuild: true 770 - optional: true 771 - 772 - /@esbuild/win32-arm64@0.19.12: 773 - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} 774 - engines: {node: '>=12'} 775 - cpu: [arm64] 776 - os: [win32] 777 - requiresBuild: true 778 - dev: false 779 - optional: true 780 - 781 - /@esbuild/win32-arm64@0.20.2: 782 - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} 783 - engines: {node: '>=12'} 784 - cpu: [arm64] 785 - os: [win32] 786 - requiresBuild: true 787 - optional: true 788 - 789 - /@esbuild/win32-ia32@0.19.12: 790 - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} 791 - engines: {node: '>=12'} 792 - cpu: [ia32] 793 - os: [win32] 794 - requiresBuild: true 795 - dev: false 796 - optional: true 797 - 798 - /@esbuild/win32-ia32@0.20.2: 799 - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} 800 - engines: {node: '>=12'} 801 - cpu: [ia32] 802 - os: [win32] 803 - requiresBuild: true 804 - optional: true 805 - 806 - /@esbuild/win32-x64@0.19.12: 807 - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} 808 - engines: {node: '>=12'} 809 - cpu: [x64] 810 - os: [win32] 811 - requiresBuild: true 812 - dev: false 813 - optional: true 814 - 815 - /@esbuild/win32-x64@0.20.2: 816 - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} 817 - engines: {node: '>=12'} 818 - cpu: [x64] 819 - os: [win32] 820 - requiresBuild: true 821 - optional: true 822 - 823 - /@iconify-json/lucide@1.1.176: 824 - resolution: {integrity: sha512-qO2TsQ+9WhfJgdGaW5J1Is2OxpMjcx1C1E86caWftKXv2B6APSSlw4A8mXn/aOJLhYiv4adjYKNha71TD+FE/Q==} 825 - dependencies: 826 - '@iconify/types': 2.0.0 827 - dev: true 828 - 829 - /@iconify/types@2.0.0: 830 - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 831 - dev: true 832 - 833 - /@iconify/utils@2.1.22: 834 - resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} 835 - dependencies: 836 - '@antfu/install-pkg': 0.1.1 837 - '@antfu/utils': 0.7.7 838 - '@iconify/types': 2.0.0 839 - debug: 4.3.4 840 - kolorist: 1.8.0 841 - local-pkg: 0.5.0 842 - mlly: 1.6.1 843 - transitivePeerDependencies: 844 - - supports-color 845 - dev: true 846 - 847 - /@img/sharp-darwin-arm64@0.33.2: 848 - resolution: {integrity: sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==} 849 - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 850 - cpu: [arm64] 851 - os: [darwin] 852 - requiresBuild: true 853 - optionalDependencies: 854 - '@img/sharp-libvips-darwin-arm64': 1.0.1 855 - dev: false 856 - optional: true 857 - 858 - /@img/sharp-darwin-x64@0.33.2: 859 - resolution: {integrity: sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg==} 860 - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 861 - cpu: [x64] 862 - os: [darwin] 863 - requiresBuild: true 864 - optionalDependencies: 865 - '@img/sharp-libvips-darwin-x64': 1.0.1 866 - dev: false 867 - optional: true 868 - 869 - /@img/sharp-libvips-darwin-arm64@1.0.1: 870 - resolution: {integrity: sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw==} 871 - engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 872 - cpu: [arm64] 873 - os: [darwin] 874 - requiresBuild: true 875 - dev: false 876 - optional: true 877 - 878 - /@img/sharp-libvips-darwin-x64@1.0.1: 879 - resolution: {integrity: sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog==} 880 - engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 881 - cpu: [x64] 882 - os: [darwin] 883 - requiresBuild: true 884 - dev: false 885 - optional: true 886 - 887 - /@img/sharp-libvips-linux-arm64@1.0.1: 888 - resolution: {integrity: sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA==} 889 - engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 890 - cpu: [arm64] 891 - os: [linux] 892 - requiresBuild: true 893 - dev: false 894 - optional: true 895 - 896 - /@img/sharp-libvips-linux-arm@1.0.1: 897 - resolution: {integrity: sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ==} 898 - engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 899 - cpu: [arm] 900 - os: [linux] 901 - requiresBuild: true 902 - dev: false 903 - optional: true 904 - 905 - /@img/sharp-libvips-linux-s390x@1.0.1: 906 - resolution: {integrity: sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ==} 907 - engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 908 - cpu: [s390x] 909 - os: [linux] 910 - requiresBuild: true 911 - dev: false 912 - optional: true 913 - 914 - /@img/sharp-libvips-linux-x64@1.0.1: 915 - resolution: {integrity: sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw==} 916 - engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 917 - cpu: [x64] 918 - os: [linux] 919 - requiresBuild: true 920 - dev: false 921 - optional: true 922 - 923 - /@img/sharp-libvips-linuxmusl-arm64@1.0.1: 924 - resolution: {integrity: sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg==} 925 - engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 926 - cpu: [arm64] 927 - os: [linux] 928 - requiresBuild: true 929 - dev: false 930 - optional: true 931 - 932 - /@img/sharp-libvips-linuxmusl-x64@1.0.1: 933 - resolution: {integrity: sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw==} 934 - engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 935 - cpu: [x64] 936 - os: [linux] 937 - requiresBuild: true 938 - dev: false 939 - optional: true 940 - 941 - /@img/sharp-linux-arm64@0.33.2: 942 - resolution: {integrity: sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew==} 943 - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 944 - cpu: [arm64] 945 - os: [linux] 946 - requiresBuild: true 947 - optionalDependencies: 948 - '@img/sharp-libvips-linux-arm64': 1.0.1 949 - dev: false 950 - optional: true 951 - 952 - /@img/sharp-linux-arm@0.33.2: 953 - resolution: {integrity: sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA==} 954 - engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 955 - cpu: [arm] 956 - os: [linux] 957 - requiresBuild: true 958 - optionalDependencies: 959 - '@img/sharp-libvips-linux-arm': 1.0.1 960 - dev: false 961 - optional: true 962 - 963 - /@img/sharp-linux-s390x@0.33.2: 964 - resolution: {integrity: sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA==} 965 - engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 966 - cpu: [s390x] 967 - os: [linux] 968 - requiresBuild: true 969 - optionalDependencies: 970 - '@img/sharp-libvips-linux-s390x': 1.0.1 971 - dev: false 972 - optional: true 973 - 974 - /@img/sharp-linux-x64@0.33.2: 975 - resolution: {integrity: sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A==} 976 - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 977 - cpu: [x64] 978 - os: [linux] 979 - requiresBuild: true 980 - optionalDependencies: 981 - '@img/sharp-libvips-linux-x64': 1.0.1 982 - dev: false 983 - optional: true 984 - 985 - /@img/sharp-linuxmusl-arm64@0.33.2: 986 - resolution: {integrity: sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA==} 987 - engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 988 - cpu: [arm64] 989 - os: [linux] 990 - requiresBuild: true 991 - optionalDependencies: 992 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.1 993 - dev: false 994 - optional: true 995 - 996 - /@img/sharp-linuxmusl-x64@0.33.2: 997 - resolution: {integrity: sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A==} 998 - engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 999 - cpu: [x64] 1000 - os: [linux] 1001 - requiresBuild: true 1002 - optionalDependencies: 1003 - '@img/sharp-libvips-linuxmusl-x64': 1.0.1 1004 - dev: false 1005 - optional: true 1006 - 1007 - /@img/sharp-wasm32@0.33.2: 1008 - resolution: {integrity: sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ==} 1009 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 1010 - cpu: [wasm32] 1011 - requiresBuild: true 1012 - dependencies: 1013 - '@emnapi/runtime': 0.45.0 1014 - dev: false 1015 - optional: true 1016 - 1017 - /@img/sharp-win32-ia32@0.33.2: 1018 - resolution: {integrity: sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g==} 1019 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 1020 - cpu: [ia32] 1021 - os: [win32] 1022 - requiresBuild: true 1023 - dev: false 1024 - optional: true 1025 - 1026 - /@img/sharp-win32-x64@0.33.2: 1027 - resolution: {integrity: sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==} 1028 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} 1029 - cpu: [x64] 1030 - os: [win32] 1031 - requiresBuild: true 1032 - dev: false 1033 - optional: true 1034 - 1035 - /@jridgewell/gen-mapping@0.3.5: 1036 - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 1037 - engines: {node: '>=6.0.0'} 1038 - dependencies: 1039 - '@jridgewell/set-array': 1.2.1 1040 - '@jridgewell/sourcemap-codec': 1.4.15 1041 - '@jridgewell/trace-mapping': 0.3.25 1042 - 1043 - /@jridgewell/resolve-uri@3.1.2: 1044 - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 1045 - engines: {node: '>=6.0.0'} 1046 - 1047 - /@jridgewell/set-array@1.2.1: 1048 - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 1049 - engines: {node: '>=6.0.0'} 1050 - 1051 - /@jridgewell/sourcemap-codec@1.4.15: 1052 - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 1053 - 1054 - /@jridgewell/trace-mapping@0.3.25: 1055 - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 1056 - dependencies: 1057 - '@jridgewell/resolve-uri': 3.1.2 1058 - '@jridgewell/sourcemap-codec': 1.4.15 1059 - 1060 - /@nodelib/fs.scandir@2.1.5: 1061 - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 1062 - engines: {node: '>= 8'} 1063 - dependencies: 1064 - '@nodelib/fs.stat': 2.0.5 1065 - run-parallel: 1.2.0 1066 - 1067 - /@nodelib/fs.stat@2.0.5: 1068 - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 1069 - engines: {node: '>= 8'} 1070 - 1071 - /@nodelib/fs.walk@1.2.8: 1072 - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 1073 - engines: {node: '>= 8'} 1074 - dependencies: 1075 - '@nodelib/fs.scandir': 2.1.5 1076 - fastq: 1.17.1 1077 - 1078 - /@notionhq/client@2.2.14: 1079 - resolution: {integrity: sha512-oqUefZtCiJPCX+74A1Os9OVTef3fSnVWe2eVQtU1HJSD+nsfxfhwvDKnzJTh2Tw1ZHKLxpieHB/nzGdY+Uo12A==} 1080 - engines: {node: '>=12'} 1081 - dependencies: 1082 - '@types/node-fetch': 2.6.11 1083 - node-fetch: 2.7.0 1084 - transitivePeerDependencies: 1085 - - encoding 1086 - dev: false 1087 - 1088 - /@polka/url@1.0.0-next.25: 1089 - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} 1090 - dev: true 1091 - 1092 - /@rollup/pluginutils@5.1.0: 1093 - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 1094 - engines: {node: '>=14.0.0'} 1095 - peerDependencies: 1096 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 1097 - peerDependenciesMeta: 1098 - rollup: 1099 - optional: true 1100 - dependencies: 1101 - '@types/estree': 1.0.5 1102 - estree-walker: 2.0.2 1103 - picomatch: 2.3.1 1104 - dev: true 1105 - 1106 - /@rollup/rollup-android-arm-eabi@4.13.0: 1107 - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} 1108 - cpu: [arm] 1109 - os: [android] 1110 - requiresBuild: true 1111 - optional: true 1112 - 1113 - /@rollup/rollup-android-arm64@4.13.0: 1114 - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} 1115 - cpu: [arm64] 1116 - os: [android] 1117 - requiresBuild: true 1118 - optional: true 1119 - 1120 - /@rollup/rollup-darwin-arm64@4.13.0: 1121 - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} 1122 - cpu: [arm64] 1123 - os: [darwin] 1124 - requiresBuild: true 1125 - optional: true 1126 - 1127 - /@rollup/rollup-darwin-x64@4.13.0: 1128 - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} 1129 - cpu: [x64] 1130 - os: [darwin] 1131 - requiresBuild: true 1132 - optional: true 1133 - 1134 - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: 1135 - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} 1136 - cpu: [arm] 1137 - os: [linux] 1138 - requiresBuild: true 1139 - optional: true 1140 - 1141 - /@rollup/rollup-linux-arm64-gnu@4.13.0: 1142 - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} 1143 - cpu: [arm64] 1144 - os: [linux] 1145 - requiresBuild: true 1146 - optional: true 1147 - 1148 - /@rollup/rollup-linux-arm64-musl@4.13.0: 1149 - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} 1150 - cpu: [arm64] 1151 - os: [linux] 1152 - requiresBuild: true 1153 - optional: true 1154 - 1155 - /@rollup/rollup-linux-riscv64-gnu@4.13.0: 1156 - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} 1157 - cpu: [riscv64] 1158 - os: [linux] 1159 - requiresBuild: true 1160 - optional: true 1161 - 1162 - /@rollup/rollup-linux-x64-gnu@4.13.0: 1163 - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} 1164 - cpu: [x64] 1165 - os: [linux] 1166 - requiresBuild: true 1167 - optional: true 1168 - 1169 - /@rollup/rollup-linux-x64-musl@4.13.0: 1170 - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} 1171 - cpu: [x64] 1172 - os: [linux] 1173 - requiresBuild: true 1174 - optional: true 1175 - 1176 - /@rollup/rollup-win32-arm64-msvc@4.13.0: 1177 - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} 1178 - cpu: [arm64] 1179 - os: [win32] 1180 - requiresBuild: true 1181 - optional: true 1182 - 1183 - /@rollup/rollup-win32-ia32-msvc@4.13.0: 1184 - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} 1185 - cpu: [ia32] 1186 - os: [win32] 1187 - requiresBuild: true 1188 - optional: true 1189 - 1190 - /@rollup/rollup-win32-x64-msvc@4.13.0: 1191 - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} 1192 - cpu: [x64] 1193 - os: [win32] 1194 - requiresBuild: true 1195 - optional: true 1196 - 1197 - /@shikijs/core@1.2.0: 1198 - resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} 1199 - dev: false 1200 - 1201 - /@tailwindcss/typography@0.5.10: 1202 - resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} 1203 - peerDependencies: 1204 - tailwindcss: '>=3.0.0 || insiders' 1205 - dependencies: 1206 - lodash.castarray: 4.4.0 1207 - lodash.isplainobject: 4.0.6 1208 - lodash.merge: 4.6.2 1209 - postcss-selector-parser: 6.0.10 1210 - dev: false 1211 - 1212 - /@types/babel__core@7.20.5: 1213 - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 1214 - dependencies: 1215 - '@babel/parser': 7.24.1 1216 - '@babel/types': 7.24.0 1217 - '@types/babel__generator': 7.6.8 1218 - '@types/babel__template': 7.4.4 1219 - '@types/babel__traverse': 7.20.5 1220 - dev: false 1221 - 1222 - /@types/babel__generator@7.6.8: 1223 - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 1224 - dependencies: 1225 - '@babel/types': 7.24.0 1226 - dev: false 1227 - 1228 - /@types/babel__template@7.4.4: 1229 - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 1230 - dependencies: 1231 - '@babel/parser': 7.24.1 1232 - '@babel/types': 7.24.0 1233 - dev: false 1234 - 1235 - /@types/babel__traverse@7.20.5: 1236 - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} 1237 - dependencies: 1238 - '@babel/types': 7.24.0 1239 - dev: false 1240 - 1241 - /@types/debug@4.1.12: 1242 - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 1243 - dependencies: 1244 - '@types/ms': 0.7.34 1245 - dev: false 1246 - 1247 - /@types/estree@1.0.5: 1248 - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 1249 - 1250 - /@types/hast@3.0.4: 1251 - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 1252 - dependencies: 1253 - '@types/unist': 3.0.2 1254 - dev: false 1255 - 1256 - /@types/mdast@4.0.3: 1257 - resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} 1258 - dependencies: 1259 - '@types/unist': 3.0.2 1260 - dev: false 1261 - 1262 - /@types/ms@0.7.34: 1263 - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 1264 - dev: false 1265 - 1266 - /@types/nlcst@1.0.4: 1267 - resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} 1268 - dependencies: 1269 - '@types/unist': 2.0.10 1270 - dev: false 1271 - 1272 - /@types/node-fetch@2.6.11: 1273 - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} 1274 - dependencies: 1275 - '@types/node': 20.11.30 1276 - form-data: 4.0.0 1277 - dev: false 1278 - 1279 - /@types/node@17.0.45: 1280 - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} 1281 - dev: false 1282 - 1283 - /@types/node@20.11.30: 1284 - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} 1285 - dependencies: 1286 - undici-types: 5.26.5 1287 - dev: false 1288 - 1289 - /@types/sax@1.2.7: 1290 - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} 1291 - dependencies: 1292 - '@types/node': 17.0.45 1293 - dev: false 1294 - 1295 - /@types/unist@2.0.10: 1296 - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} 1297 - dev: false 1298 - 1299 - /@types/unist@3.0.2: 1300 - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} 1301 - dev: false 1302 - 1303 - /@ungap/structured-clone@1.2.0: 1304 - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 1305 - dev: false 1306 - 1307 - /@unocss/astro@0.58.6(vite@5.2.2): 1308 - resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} 1309 - peerDependencies: 1310 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 1311 - peerDependenciesMeta: 1312 - vite: 1313 - optional: true 1314 - dependencies: 1315 - '@unocss/core': 0.58.6 1316 - '@unocss/reset': 0.58.6 1317 - '@unocss/vite': 0.58.6(vite@5.2.2) 1318 - vite: 5.2.2 1319 - transitivePeerDependencies: 1320 - - rollup 1321 - dev: true 1322 - 1323 - /@unocss/cli@0.58.6: 1324 - resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} 1325 - engines: {node: '>=14'} 1326 - hasBin: true 1327 - dependencies: 1328 - '@ampproject/remapping': 2.3.0 1329 - '@rollup/pluginutils': 5.1.0 1330 - '@unocss/config': 0.58.6 1331 - '@unocss/core': 0.58.6 1332 - '@unocss/preset-uno': 0.58.6 1333 - cac: 6.7.14 1334 - chokidar: 3.6.0 1335 - colorette: 2.0.20 1336 - consola: 3.2.3 1337 - fast-glob: 3.3.2 1338 - magic-string: 0.30.8 1339 - pathe: 1.1.2 1340 - perfect-debounce: 1.0.0 1341 - transitivePeerDependencies: 1342 - - rollup 1343 - dev: true 1344 - 1345 - /@unocss/config@0.58.6: 1346 - resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==} 1347 - engines: {node: '>=14'} 1348 - dependencies: 1349 - '@unocss/core': 0.58.6 1350 - unconfig: 0.3.11 1351 - dev: true 1352 - 1353 - /@unocss/core@0.58.6: 1354 - resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==} 1355 - dev: true 1356 - 1357 - /@unocss/extractor-arbitrary-variants@0.58.6: 1358 - resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==} 1359 - dependencies: 1360 - '@unocss/core': 0.58.6 1361 - dev: true 1362 - 1363 - /@unocss/inspector@0.58.6: 1364 - resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==} 1365 - dependencies: 1366 - '@unocss/core': 0.58.6 1367 - '@unocss/rule-utils': 0.58.6 1368 - gzip-size: 6.0.0 1369 - sirv: 2.0.4 1370 - dev: true 1371 - 1372 - /@unocss/postcss@0.58.6(postcss@8.4.38): 1373 - resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} 1374 - engines: {node: '>=14'} 1375 - peerDependencies: 1376 - postcss: ^8.4.21 1377 - dependencies: 1378 - '@unocss/config': 0.58.6 1379 - '@unocss/core': 0.58.6 1380 - '@unocss/rule-utils': 0.58.6 1381 - css-tree: 2.3.1 1382 - fast-glob: 3.3.2 1383 - magic-string: 0.30.8 1384 - postcss: 8.4.38 1385 - dev: true 1386 - 1387 - /@unocss/preset-attributify@0.58.6: 1388 - resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==} 1389 - dependencies: 1390 - '@unocss/core': 0.58.6 1391 - dev: true 1392 - 1393 - /@unocss/preset-icons@0.58.6: 1394 - resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==} 1395 - dependencies: 1396 - '@iconify/utils': 2.1.22 1397 - '@unocss/core': 0.58.6 1398 - ofetch: 1.3.3 1399 - transitivePeerDependencies: 1400 - - supports-color 1401 - dev: true 1402 - 1403 - /@unocss/preset-mini@0.58.6: 1404 - resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==} 1405 - dependencies: 1406 - '@unocss/core': 0.58.6 1407 - '@unocss/extractor-arbitrary-variants': 0.58.6 1408 - '@unocss/rule-utils': 0.58.6 1409 - dev: true 1410 - 1411 - /@unocss/preset-tagify@0.58.6: 1412 - resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==} 1413 - dependencies: 1414 - '@unocss/core': 0.58.6 1415 - dev: true 1416 - 1417 - /@unocss/preset-typography@0.58.6: 1418 - resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==} 1419 - dependencies: 1420 - '@unocss/core': 0.58.6 1421 - '@unocss/preset-mini': 0.58.6 1422 - dev: true 1423 - 1424 - /@unocss/preset-uno@0.58.6: 1425 - resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==} 1426 - dependencies: 1427 - '@unocss/core': 0.58.6 1428 - '@unocss/preset-mini': 0.58.6 1429 - '@unocss/preset-wind': 0.58.6 1430 - '@unocss/rule-utils': 0.58.6 1431 - dev: true 1432 - 1433 - /@unocss/preset-web-fonts@0.58.6: 1434 - resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==} 1435 - dependencies: 1436 - '@unocss/core': 0.58.6 1437 - ofetch: 1.3.3 1438 - dev: true 1439 - 1440 - /@unocss/preset-wind@0.58.6: 1441 - resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==} 1442 - dependencies: 1443 - '@unocss/core': 0.58.6 1444 - '@unocss/preset-mini': 0.58.6 1445 - '@unocss/rule-utils': 0.58.6 1446 - dev: true 1447 - 1448 - /@unocss/reset@0.58.6: 1449 - resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==} 1450 - dev: true 1451 - 1452 - /@unocss/rule-utils@0.58.6: 1453 - resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==} 1454 - engines: {node: '>=14'} 1455 - dependencies: 1456 - '@unocss/core': 0.58.6 1457 - magic-string: 0.30.8 1458 - dev: true 1459 - 1460 - /@unocss/scope@0.58.6: 1461 - resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==} 1462 - dev: true 1463 - 1464 - /@unocss/transformer-attributify-jsx-babel@0.58.6: 1465 - resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==} 1466 - dependencies: 1467 - '@babel/core': 7.24.3 1468 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) 1469 - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) 1470 - '@unocss/core': 0.58.6 1471 - transitivePeerDependencies: 1472 - - supports-color 1473 - dev: true 1474 - 1475 - /@unocss/transformer-attributify-jsx@0.58.6: 1476 - resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==} 1477 - dependencies: 1478 - '@unocss/core': 0.58.6 1479 - dev: true 1480 - 1481 - /@unocss/transformer-compile-class@0.58.6: 1482 - resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==} 1483 - dependencies: 1484 - '@unocss/core': 0.58.6 1485 - dev: true 1486 - 1487 - /@unocss/transformer-directives@0.58.6: 1488 - resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==} 1489 - dependencies: 1490 - '@unocss/core': 0.58.6 1491 - '@unocss/rule-utils': 0.58.6 1492 - css-tree: 2.3.1 1493 - dev: true 1494 - 1495 - /@unocss/transformer-variant-group@0.58.6: 1496 - resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==} 1497 - dependencies: 1498 - '@unocss/core': 0.58.6 1499 - dev: true 1500 - 1501 - /@unocss/vite@0.58.6(vite@5.2.2): 1502 - resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} 1503 - peerDependencies: 1504 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 1505 - dependencies: 1506 - '@ampproject/remapping': 2.3.0 1507 - '@rollup/pluginutils': 5.1.0 1508 - '@unocss/config': 0.58.6 1509 - '@unocss/core': 0.58.6 1510 - '@unocss/inspector': 0.58.6 1511 - '@unocss/scope': 0.58.6 1512 - '@unocss/transformer-directives': 0.58.6 1513 - chokidar: 3.6.0 1514 - fast-glob: 3.3.2 1515 - magic-string: 0.30.8 1516 - vite: 5.2.2 1517 - transitivePeerDependencies: 1518 - - rollup 1519 - dev: true 1520 - 1521 - /acorn@8.11.3: 1522 - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 1523 - engines: {node: '>=0.4.0'} 1524 - hasBin: true 1525 - 1526 - /ansi-align@3.0.1: 1527 - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} 1528 - dependencies: 1529 - string-width: 4.2.3 1530 - dev: false 1531 - 1532 - /ansi-regex@5.0.1: 1533 - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1534 - engines: {node: '>=8'} 1535 - dev: false 1536 - 1537 - /ansi-regex@6.0.1: 1538 - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 1539 - engines: {node: '>=12'} 1540 - dev: false 1541 - 1542 - /ansi-styles@3.2.1: 1543 - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1544 - engines: {node: '>=4'} 1545 - dependencies: 1546 - color-convert: 1.9.3 1547 - 1548 - /ansi-styles@6.2.1: 1549 - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 1550 - engines: {node: '>=12'} 1551 - dev: false 1552 - 1553 - /anymatch@3.1.3: 1554 - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1555 - engines: {node: '>= 8'} 1556 - dependencies: 1557 - normalize-path: 3.0.0 1558 - picomatch: 2.3.1 1559 - 1560 - /arg@5.0.2: 1561 - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 1562 - dev: false 1563 - 1564 - /argparse@1.0.10: 1565 - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1566 - dependencies: 1567 - sprintf-js: 1.0.3 1568 - dev: false 1569 - 1570 - /argparse@2.0.1: 1571 - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1572 - dev: false 1573 - 1574 - /aria-query@5.3.0: 1575 - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 1576 - dependencies: 1577 - dequal: 2.0.3 1578 - dev: false 1579 - 1580 - /array-iterate@2.0.1: 1581 - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} 1582 - dev: false 1583 - 1584 - /astro@4.5.8: 1585 - resolution: {integrity: sha512-bhKsoZQWT6LW8aYMvTGglZTPa3rYRbcdc2buiJyFPCvSWOOyZmxqpp6vtQ+x6fXxD8P1NecM/c4g5GaPi+MokQ==} 1586 - engines: {node: '>=18.14.1', npm: '>=6.14.0'} 1587 - hasBin: true 1588 - dependencies: 1589 - '@astrojs/compiler': 2.7.0 1590 - '@astrojs/internal-helpers': 0.3.0 1591 - '@astrojs/markdown-remark': 4.3.1 1592 - '@astrojs/telemetry': 3.0.4 1593 - '@babel/core': 7.24.3 1594 - '@babel/generator': 7.24.1 1595 - '@babel/parser': 7.24.1 1596 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) 1597 - '@babel/traverse': 7.24.1 1598 - '@babel/types': 7.24.0 1599 - '@types/babel__core': 7.20.5 1600 - acorn: 8.11.3 1601 - aria-query: 5.3.0 1602 - axobject-query: 4.0.0 1603 - boxen: 7.1.1 1604 - chokidar: 3.6.0 1605 - ci-info: 4.0.0 1606 - clsx: 2.1.0 1607 - common-ancestor-path: 1.0.1 1608 - cookie: 0.6.0 1609 - cssesc: 3.0.0 1610 - debug: 4.3.4 1611 - deterministic-object-hash: 2.0.2 1612 - devalue: 4.3.2 1613 - diff: 5.2.0 1614 - dlv: 1.1.3 1615 - dset: 3.1.3 1616 - es-module-lexer: 1.4.2 1617 - esbuild: 0.19.12 1618 - estree-walker: 3.0.3 1619 - execa: 8.0.1 1620 - fast-glob: 3.3.2 1621 - flattie: 1.1.1 1622 - github-slugger: 2.0.0 1623 - gray-matter: 4.0.3 1624 - html-escaper: 3.0.3 1625 - http-cache-semantics: 4.1.1 1626 - js-yaml: 4.1.0 1627 - kleur: 4.1.5 1628 - magic-string: 0.30.8 1629 - mime: 3.0.0 1630 - ora: 7.0.1 1631 - p-limit: 5.0.0 1632 - p-queue: 8.0.1 1633 - path-to-regexp: 6.2.1 1634 - preferred-pm: 3.1.3 1635 - prompts: 2.4.2 1636 - rehype: 13.0.1 1637 - resolve: 1.22.8 1638 - semver: 7.6.0 1639 - shiki: 1.2.0 1640 - string-width: 7.1.0 1641 - strip-ansi: 7.1.0 1642 - tsconfck: 3.0.3 1643 - unist-util-visit: 5.0.0 1644 - vfile: 6.0.1 1645 - vite: 5.2.2 1646 - vitefu: 0.2.5(vite@5.2.2) 1647 - which-pm: 2.1.1 1648 - yargs-parser: 21.1.1 1649 - zod: 3.22.4 1650 - zod-to-json-schema: 3.22.4(zod@3.22.4) 1651 - optionalDependencies: 1652 - sharp: 0.32.6 1653 - transitivePeerDependencies: 1654 - - '@types/node' 1655 - - less 1656 - - lightningcss 1657 - - sass 1658 - - stylus 1659 - - sugarss 1660 - - supports-color 1661 - - terser 1662 - - typescript 1663 - dev: false 1664 - 1665 - /asynckit@0.4.0: 1666 - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 1667 - dev: false 1668 - 1669 - /axobject-query@4.0.0: 1670 - resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} 1671 - dependencies: 1672 - dequal: 2.0.3 1673 - dev: false 1674 - 1675 - /b4a@1.6.6: 1676 - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} 1677 - requiresBuild: true 1678 - dev: false 1679 - optional: true 1680 - 1681 - /bail@2.0.2: 1682 - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 1683 - dev: false 1684 - 1685 - /bare-events@2.2.1: 1686 - resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==} 1687 - requiresBuild: true 1688 - dev: false 1689 - optional: true 1690 - 1691 - /bare-fs@2.2.2: 1692 - resolution: {integrity: sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==} 1693 - requiresBuild: true 1694 - dependencies: 1695 - bare-events: 2.2.1 1696 - bare-os: 2.2.1 1697 - bare-path: 2.1.0 1698 - streamx: 2.16.1 1699 - dev: false 1700 - optional: true 1701 - 1702 - /bare-os@2.2.1: 1703 - resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==} 1704 - requiresBuild: true 1705 - dev: false 1706 - optional: true 1707 - 1708 - /bare-path@2.1.0: 1709 - resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} 1710 - requiresBuild: true 1711 - dependencies: 1712 - bare-os: 2.2.1 1713 - dev: false 1714 - optional: true 1715 - 1716 - /base-64@1.0.0: 1717 - resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} 1718 - dev: false 1719 - 1720 - /base64-js@1.5.1: 1721 - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1722 - dev: false 1723 - 1724 - /binary-extensions@2.3.0: 1725 - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1726 - engines: {node: '>=8'} 1727 - 1728 - /bl@4.1.0: 1729 - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1730 - requiresBuild: true 1731 - dependencies: 1732 - buffer: 5.7.1 1733 - inherits: 2.0.4 1734 - readable-stream: 3.6.2 1735 - dev: false 1736 - optional: true 1737 - 1738 - /bl@5.1.0: 1739 - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} 1740 - dependencies: 1741 - buffer: 6.0.3 1742 - inherits: 2.0.4 1743 - readable-stream: 3.6.2 1744 - dev: false 1745 - 1746 - /boxen@7.1.1: 1747 - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} 1748 - engines: {node: '>=14.16'} 1749 - dependencies: 1750 - ansi-align: 3.0.1 1751 - camelcase: 7.0.1 1752 - chalk: 5.3.0 1753 - cli-boxes: 3.0.0 1754 - string-width: 5.1.2 1755 - type-fest: 2.19.0 1756 - widest-line: 4.0.1 1757 - wrap-ansi: 8.1.0 1758 - dev: false 1759 - 1760 - /braces@3.0.2: 1761 - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1762 - engines: {node: '>=8'} 1763 - dependencies: 1764 - fill-range: 7.0.1 1765 - 1766 - /browserslist@4.23.0: 1767 - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} 1768 - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1769 - hasBin: true 1770 - dependencies: 1771 - caniuse-lite: 1.0.30001599 1772 - electron-to-chromium: 1.4.713 1773 - node-releases: 2.0.14 1774 - update-browserslist-db: 1.0.13(browserslist@4.23.0) 1775 - 1776 - /buffer@5.7.1: 1777 - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1778 - requiresBuild: true 1779 - dependencies: 1780 - base64-js: 1.5.1 1781 - ieee754: 1.2.1 1782 - dev: false 1783 - optional: true 1784 - 1785 - /buffer@6.0.3: 1786 - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 1787 - dependencies: 1788 - base64-js: 1.5.1 1789 - ieee754: 1.2.1 1790 - dev: false 1791 - 1792 - /cac@6.7.14: 1793 - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 1794 - engines: {node: '>=8'} 1795 - dev: true 1796 - 1797 - /camelcase@7.0.1: 1798 - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} 1799 - engines: {node: '>=14.16'} 1800 - dev: false 1801 - 1802 - /caniuse-lite@1.0.30001599: 1803 - resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} 1804 - 1805 - /ccount@2.0.1: 1806 - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 1807 - dev: false 1808 - 1809 - /chalk@2.4.2: 1810 - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1811 - engines: {node: '>=4'} 1812 - dependencies: 1813 - ansi-styles: 3.2.1 1814 - escape-string-regexp: 1.0.5 1815 - supports-color: 5.5.0 1816 - 1817 - /chalk@5.3.0: 1818 - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 1819 - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1820 - dev: false 1821 - 1822 - /character-entities-html4@2.1.0: 1823 - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 1824 - dev: false 1825 - 1826 - /character-entities-legacy@3.0.0: 1827 - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 1828 - dev: false 1829 - 1830 - /character-entities@2.0.2: 1831 - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 1832 - dev: false 1833 - 1834 - /chokidar@3.6.0: 1835 - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 1836 - engines: {node: '>= 8.10.0'} 1837 - dependencies: 1838 - anymatch: 3.1.3 1839 - braces: 3.0.2 1840 - glob-parent: 5.1.2 1841 - is-binary-path: 2.1.0 1842 - is-glob: 4.0.3 1843 - normalize-path: 3.0.0 1844 - readdirp: 3.6.0 1845 - optionalDependencies: 1846 - fsevents: 2.3.3 1847 - 1848 - /chownr@1.1.4: 1849 - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 1850 - requiresBuild: true 1851 - dev: false 1852 - optional: true 1853 - 1854 - /ci-info@3.9.0: 1855 - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 1856 - engines: {node: '>=8'} 1857 - dev: false 1858 - 1859 - /ci-info@4.0.0: 1860 - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} 1861 - engines: {node: '>=8'} 1862 - dev: false 1863 - 1864 - /cli-boxes@3.0.0: 1865 - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} 1866 - engines: {node: '>=10'} 1867 - dev: false 1868 - 1869 - /cli-cursor@4.0.0: 1870 - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 1871 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1872 - dependencies: 1873 - restore-cursor: 4.0.0 1874 - dev: false 1875 - 1876 - /cli-spinners@2.9.2: 1877 - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 1878 - engines: {node: '>=6'} 1879 - dev: false 1880 - 1881 - /clsx@2.1.0: 1882 - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} 1883 - engines: {node: '>=6'} 1884 - dev: false 1885 - 1886 - /color-convert@1.9.3: 1887 - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1888 - dependencies: 1889 - color-name: 1.1.3 1890 - 1891 - /color-convert@2.0.1: 1892 - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1893 - engines: {node: '>=7.0.0'} 1894 - dependencies: 1895 - color-name: 1.1.4 1896 - dev: false 1897 - 1898 - /color-name@1.1.3: 1899 - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1900 - 1901 - /color-name@1.1.4: 1902 - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1903 - dev: false 1904 - 1905 - /color-string@1.9.1: 1906 - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 1907 - dependencies: 1908 - color-name: 1.1.4 1909 - simple-swizzle: 0.2.2 1910 - dev: false 1911 - 1912 - /color@4.2.3: 1913 - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 1914 - engines: {node: '>=12.5.0'} 1915 - dependencies: 1916 - color-convert: 2.0.1 1917 - color-string: 1.9.1 1918 - dev: false 1919 - 1920 - /colorette@2.0.20: 1921 - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1922 - dev: true 1923 - 1924 - /combined-stream@1.0.8: 1925 - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1926 - engines: {node: '>= 0.8'} 1927 - dependencies: 1928 - delayed-stream: 1.0.0 1929 - dev: false 1930 - 1931 - /comma-separated-tokens@2.0.3: 1932 - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 1933 - dev: false 1934 - 1935 - /common-ancestor-path@1.0.1: 1936 - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} 1937 - dev: false 1938 - 1939 - /consola@3.2.3: 1940 - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} 1941 - engines: {node: ^14.18.0 || >=16.10.0} 1942 - dev: true 1943 - 1944 - /convert-source-map@2.0.0: 1945 - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1946 - 1947 - /cookie@0.6.0: 1948 - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 1949 - engines: {node: '>= 0.6'} 1950 - dev: false 1951 - 1952 - /cross-spawn@7.0.3: 1953 - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1954 - engines: {node: '>= 8'} 1955 - dependencies: 1956 - path-key: 3.1.1 1957 - shebang-command: 2.0.0 1958 - which: 2.0.2 1959 - 1960 - /css-tree@2.3.1: 1961 - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 1962 - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1963 - dependencies: 1964 - mdn-data: 2.0.30 1965 - source-map-js: 1.2.0 1966 - dev: true 1967 - 1968 - /cssesc@3.0.0: 1969 - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1970 - engines: {node: '>=4'} 1971 - hasBin: true 1972 - dev: false 1973 - 1974 - /debug@4.3.4: 1975 - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1976 - engines: {node: '>=6.0'} 1977 - peerDependencies: 1978 - supports-color: '*' 1979 - peerDependenciesMeta: 1980 - supports-color: 1981 - optional: true 1982 - dependencies: 1983 - ms: 2.1.2 1984 - 1985 - /decode-named-character-reference@1.0.2: 1986 - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 1987 - dependencies: 1988 - character-entities: 2.0.2 1989 - dev: false 1990 - 1991 - /decompress-response@6.0.0: 1992 - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 1993 - engines: {node: '>=10'} 1994 - requiresBuild: true 1995 - dependencies: 1996 - mimic-response: 3.1.0 1997 - dev: false 1998 - optional: true 1999 - 2000 - /deep-extend@0.6.0: 2001 - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 2002 - engines: {node: '>=4.0.0'} 2003 - requiresBuild: true 2004 - dev: false 2005 - optional: true 2006 - 2007 - /defu@6.1.4: 2008 - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 2009 - dev: true 2010 - 2011 - /delayed-stream@1.0.0: 2012 - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 2013 - engines: {node: '>=0.4.0'} 2014 - dev: false 2015 - 2016 - /dequal@2.0.3: 2017 - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 2018 - engines: {node: '>=6'} 2019 - dev: false 2020 - 2021 - /destr@2.0.3: 2022 - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} 2023 - dev: true 2024 - 2025 - /detect-libc@2.0.3: 2026 - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 2027 - engines: {node: '>=8'} 2028 - 2029 - /deterministic-object-hash@2.0.2: 2030 - resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} 2031 - engines: {node: '>=18'} 2032 - dependencies: 2033 - base-64: 1.0.0 2034 - dev: false 2035 - 2036 - /devalue@4.3.2: 2037 - resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} 2038 - dev: false 2039 - 2040 - /devlop@1.1.0: 2041 - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 2042 - dependencies: 2043 - dequal: 2.0.3 2044 - dev: false 2045 - 2046 - /diff@5.2.0: 2047 - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 2048 - engines: {node: '>=0.3.1'} 2049 - dev: false 2050 - 2051 - /dlv@1.1.3: 2052 - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 2053 - dev: false 2054 - 2055 - /dset@3.1.3: 2056 - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} 2057 - engines: {node: '>=4'} 2058 - dev: false 2059 - 2060 - /duplexer@0.1.2: 2061 - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 2062 - dev: true 2063 - 2064 - /eastasianwidth@0.2.0: 2065 - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 2066 - dev: false 2067 - 2068 - /electron-to-chromium@1.4.713: 2069 - resolution: {integrity: sha512-vDarADhwntXiULEdmWd77g2dV6FrNGa8ecAC29MZ4TwPut2fvosD0/5sJd1qWNNe8HcJFAC+F5Lf9jW1NPtWmw==} 2070 - 2071 - /emoji-regex@10.3.0: 2072 - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} 2073 - dev: false 2074 - 2075 - /emoji-regex@8.0.0: 2076 - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 2077 - dev: false 2078 - 2079 - /emoji-regex@9.2.2: 2080 - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 2081 - dev: false 2082 - 2083 - /end-of-stream@1.4.4: 2084 - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 2085 - requiresBuild: true 2086 - dependencies: 2087 - once: 1.4.0 2088 - dev: false 2089 - optional: true 2090 - 2091 - /entities@4.5.0: 2092 - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 2093 - engines: {node: '>=0.12'} 2094 - dev: false 2095 - 2096 - /es-module-lexer@1.4.2: 2097 - resolution: {integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==} 2098 - dev: false 2099 - 2100 - /esbuild@0.19.12: 2101 - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} 2102 - engines: {node: '>=12'} 2103 - hasBin: true 2104 - requiresBuild: true 2105 - optionalDependencies: 2106 - '@esbuild/aix-ppc64': 0.19.12 2107 - '@esbuild/android-arm': 0.19.12 2108 - '@esbuild/android-arm64': 0.19.12 2109 - '@esbuild/android-x64': 0.19.12 2110 - '@esbuild/darwin-arm64': 0.19.12 2111 - '@esbuild/darwin-x64': 0.19.12 2112 - '@esbuild/freebsd-arm64': 0.19.12 2113 - '@esbuild/freebsd-x64': 0.19.12 2114 - '@esbuild/linux-arm': 0.19.12 2115 - '@esbuild/linux-arm64': 0.19.12 2116 - '@esbuild/linux-ia32': 0.19.12 2117 - '@esbuild/linux-loong64': 0.19.12 2118 - '@esbuild/linux-mips64el': 0.19.12 2119 - '@esbuild/linux-ppc64': 0.19.12 2120 - '@esbuild/linux-riscv64': 0.19.12 2121 - '@esbuild/linux-s390x': 0.19.12 2122 - '@esbuild/linux-x64': 0.19.12 2123 - '@esbuild/netbsd-x64': 0.19.12 2124 - '@esbuild/openbsd-x64': 0.19.12 2125 - '@esbuild/sunos-x64': 0.19.12 2126 - '@esbuild/win32-arm64': 0.19.12 2127 - '@esbuild/win32-ia32': 0.19.12 2128 - '@esbuild/win32-x64': 0.19.12 2129 - dev: false 2130 - 2131 - /esbuild@0.20.2: 2132 - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} 2133 - engines: {node: '>=12'} 2134 - hasBin: true 2135 - requiresBuild: true 2136 - optionalDependencies: 2137 - '@esbuild/aix-ppc64': 0.20.2 2138 - '@esbuild/android-arm': 0.20.2 2139 - '@esbuild/android-arm64': 0.20.2 2140 - '@esbuild/android-x64': 0.20.2 2141 - '@esbuild/darwin-arm64': 0.20.2 2142 - '@esbuild/darwin-x64': 0.20.2 2143 - '@esbuild/freebsd-arm64': 0.20.2 2144 - '@esbuild/freebsd-x64': 0.20.2 2145 - '@esbuild/linux-arm': 0.20.2 2146 - '@esbuild/linux-arm64': 0.20.2 2147 - '@esbuild/linux-ia32': 0.20.2 2148 - '@esbuild/linux-loong64': 0.20.2 2149 - '@esbuild/linux-mips64el': 0.20.2 2150 - '@esbuild/linux-ppc64': 0.20.2 2151 - '@esbuild/linux-riscv64': 0.20.2 2152 - '@esbuild/linux-s390x': 0.20.2 2153 - '@esbuild/linux-x64': 0.20.2 2154 - '@esbuild/netbsd-x64': 0.20.2 2155 - '@esbuild/openbsd-x64': 0.20.2 2156 - '@esbuild/sunos-x64': 0.20.2 2157 - '@esbuild/win32-arm64': 0.20.2 2158 - '@esbuild/win32-ia32': 0.20.2 2159 - '@esbuild/win32-x64': 0.20.2 2160 - 2161 - /escalade@3.1.2: 2162 - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 2163 - engines: {node: '>=6'} 2164 - 2165 - /escape-string-regexp@1.0.5: 2166 - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 2167 - engines: {node: '>=0.8.0'} 2168 - 2169 - /escape-string-regexp@5.0.0: 2170 - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 2171 - engines: {node: '>=12'} 2172 - dev: false 2173 - 2174 - /esprima@4.0.1: 2175 - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 2176 - engines: {node: '>=4'} 2177 - hasBin: true 2178 - dev: false 2179 - 2180 - /estree-walker@2.0.2: 2181 - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 2182 - dev: true 2183 - 2184 - /estree-walker@3.0.3: 2185 - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 2186 - dependencies: 2187 - '@types/estree': 1.0.5 2188 - dev: false 2189 - 2190 - /eventemitter3@5.0.1: 2191 - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 2192 - dev: false 2193 - 2194 - /execa@5.1.1: 2195 - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 2196 - engines: {node: '>=10'} 2197 - dependencies: 2198 - cross-spawn: 7.0.3 2199 - get-stream: 6.0.1 2200 - human-signals: 2.1.0 2201 - is-stream: 2.0.1 2202 - merge-stream: 2.0.0 2203 - npm-run-path: 4.0.1 2204 - onetime: 5.1.2 2205 - signal-exit: 3.0.7 2206 - strip-final-newline: 2.0.0 2207 - dev: true 2208 - 2209 - /execa@8.0.1: 2210 - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 2211 - engines: {node: '>=16.17'} 2212 - dependencies: 2213 - cross-spawn: 7.0.3 2214 - get-stream: 8.0.1 2215 - human-signals: 5.0.0 2216 - is-stream: 3.0.0 2217 - merge-stream: 2.0.0 2218 - npm-run-path: 5.3.0 2219 - onetime: 6.0.0 2220 - signal-exit: 4.1.0 2221 - strip-final-newline: 3.0.0 2222 - dev: false 2223 - 2224 - /expand-template@2.0.3: 2225 - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 2226 - engines: {node: '>=6'} 2227 - requiresBuild: true 2228 - dev: false 2229 - optional: true 2230 - 2231 - /extend-shallow@2.0.1: 2232 - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 2233 - engines: {node: '>=0.10.0'} 2234 - dependencies: 2235 - is-extendable: 0.1.1 2236 - dev: false 2237 - 2238 - /extend@3.0.2: 2239 - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 2240 - dev: false 2241 - 2242 - /fast-fifo@1.3.2: 2243 - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} 2244 - requiresBuild: true 2245 - dev: false 2246 - optional: true 2247 - 2248 - /fast-glob@3.3.2: 2249 - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 2250 - engines: {node: '>=8.6.0'} 2251 - dependencies: 2252 - '@nodelib/fs.stat': 2.0.5 2253 - '@nodelib/fs.walk': 1.2.8 2254 - glob-parent: 5.1.2 2255 - merge2: 1.4.1 2256 - micromatch: 4.0.5 2257 - 2258 - /fastq@1.17.1: 2259 - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 2260 - dependencies: 2261 - reusify: 1.0.4 2262 - 2263 - /fill-range@7.0.1: 2264 - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 2265 - engines: {node: '>=8'} 2266 - dependencies: 2267 - to-regex-range: 5.0.1 2268 - 2269 - /find-up@4.1.0: 2270 - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 2271 - engines: {node: '>=8'} 2272 - dependencies: 2273 - locate-path: 5.0.0 2274 - path-exists: 4.0.0 2275 - dev: false 2276 - 2277 - /find-up@5.0.0: 2278 - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 2279 - engines: {node: '>=10'} 2280 - dependencies: 2281 - locate-path: 6.0.0 2282 - path-exists: 4.0.0 2283 - 2284 - /find-yarn-workspace-root2@1.2.16: 2285 - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} 2286 - dependencies: 2287 - micromatch: 4.0.5 2288 - pkg-dir: 4.2.0 2289 - dev: false 2290 - 2291 - /flattie@1.1.1: 2292 - resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} 2293 - engines: {node: '>=8'} 2294 - dev: false 2295 - 2296 - /form-data@4.0.0: 2297 - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 2298 - engines: {node: '>= 6'} 2299 - dependencies: 2300 - asynckit: 0.4.0 2301 - combined-stream: 1.0.8 2302 - mime-types: 2.1.35 2303 - dev: false 2304 - 2305 - /fs-constants@1.0.0: 2306 - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 2307 - requiresBuild: true 2308 - dev: false 2309 - optional: true 2310 - 2311 - /fsevents@2.3.3: 2312 - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 2313 - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2314 - os: [darwin] 2315 - requiresBuild: true 2316 - optional: true 2317 - 2318 - /function-bind@1.1.2: 2319 - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 2320 - dev: false 2321 - 2322 - /gensync@1.0.0-beta.2: 2323 - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2324 - engines: {node: '>=6.9.0'} 2325 - 2326 - /get-east-asian-width@1.2.0: 2327 - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 2328 - engines: {node: '>=18'} 2329 - dev: false 2330 - 2331 - /get-stream@6.0.1: 2332 - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 2333 - engines: {node: '>=10'} 2334 - dev: true 2335 - 2336 - /get-stream@8.0.1: 2337 - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 2338 - engines: {node: '>=16'} 2339 - dev: false 2340 - 2341 - /github-from-package@0.0.0: 2342 - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 2343 - requiresBuild: true 2344 - dev: false 2345 - optional: true 2346 - 2347 - /github-slugger@2.0.0: 2348 - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} 2349 - dev: false 2350 - 2351 - /glob-parent@5.1.2: 2352 - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2353 - engines: {node: '>= 6'} 2354 - dependencies: 2355 - is-glob: 4.0.3 2356 - 2357 - /globals@11.12.0: 2358 - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2359 - engines: {node: '>=4'} 2360 - 2361 - /graceful-fs@4.2.11: 2362 - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 2363 - dev: false 2364 - 2365 - /gray-matter@4.0.3: 2366 - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} 2367 - engines: {node: '>=6.0'} 2368 - dependencies: 2369 - js-yaml: 3.14.1 2370 - kind-of: 6.0.3 2371 - section-matter: 1.0.0 2372 - strip-bom-string: 1.0.0 2373 - dev: false 2374 - 2375 - /gzip-size@6.0.0: 2376 - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} 2377 - engines: {node: '>=10'} 2378 - dependencies: 2379 - duplexer: 0.1.2 2380 - dev: true 2381 - 2382 - /has-flag@3.0.0: 2383 - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2384 - engines: {node: '>=4'} 2385 - 2386 - /hasown@2.0.2: 2387 - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 2388 - engines: {node: '>= 0.4'} 2389 - dependencies: 2390 - function-bind: 1.1.2 2391 - dev: false 2392 - 2393 - /hast-util-from-html@2.0.1: 2394 - resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} 2395 - dependencies: 2396 - '@types/hast': 3.0.4 2397 - devlop: 1.1.0 2398 - hast-util-from-parse5: 8.0.1 2399 - parse5: 7.1.2 2400 - vfile: 6.0.1 2401 - vfile-message: 4.0.2 2402 - dev: false 2403 - 2404 - /hast-util-from-parse5@8.0.1: 2405 - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} 2406 - dependencies: 2407 - '@types/hast': 3.0.4 2408 - '@types/unist': 3.0.2 2409 - devlop: 1.1.0 2410 - hastscript: 8.0.0 2411 - property-information: 6.4.1 2412 - vfile: 6.0.1 2413 - vfile-location: 5.0.2 2414 - web-namespaces: 2.0.1 2415 - dev: false 2416 - 2417 - /hast-util-is-element@3.0.0: 2418 - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} 2419 - dependencies: 2420 - '@types/hast': 3.0.4 2421 - dev: false 2422 - 2423 - /hast-util-parse-selector@4.0.0: 2424 - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} 2425 - dependencies: 2426 - '@types/hast': 3.0.4 2427 - dev: false 2428 - 2429 - /hast-util-raw@9.0.2: 2430 - resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} 2431 - dependencies: 2432 - '@types/hast': 3.0.4 2433 - '@types/unist': 3.0.2 2434 - '@ungap/structured-clone': 1.2.0 2435 - hast-util-from-parse5: 8.0.1 2436 - hast-util-to-parse5: 8.0.0 2437 - html-void-elements: 3.0.0 2438 - mdast-util-to-hast: 13.1.0 2439 - parse5: 7.1.2 2440 - unist-util-position: 5.0.0 2441 - unist-util-visit: 5.0.0 2442 - vfile: 6.0.1 2443 - web-namespaces: 2.0.1 2444 - zwitch: 2.0.4 2445 - dev: false 2446 - 2447 - /hast-util-to-html@9.0.0: 2448 - resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} 2449 - dependencies: 2450 - '@types/hast': 3.0.4 2451 - '@types/unist': 3.0.2 2452 - ccount: 2.0.1 2453 - comma-separated-tokens: 2.0.3 2454 - hast-util-raw: 9.0.2 2455 - hast-util-whitespace: 3.0.0 2456 - html-void-elements: 3.0.0 2457 - mdast-util-to-hast: 13.1.0 2458 - property-information: 6.4.1 2459 - space-separated-tokens: 2.0.2 2460 - stringify-entities: 4.0.3 2461 - zwitch: 2.0.4 2462 - dev: false 2463 - 2464 - /hast-util-to-parse5@8.0.0: 2465 - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} 2466 - dependencies: 2467 - '@types/hast': 3.0.4 2468 - comma-separated-tokens: 2.0.3 2469 - devlop: 1.1.0 2470 - property-information: 6.4.1 2471 - space-separated-tokens: 2.0.2 2472 - web-namespaces: 2.0.1 2473 - zwitch: 2.0.4 2474 - dev: false 2475 - 2476 - /hast-util-to-text@4.0.0: 2477 - resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} 2478 - dependencies: 2479 - '@types/hast': 3.0.4 2480 - '@types/unist': 3.0.2 2481 - hast-util-is-element: 3.0.0 2482 - unist-util-find-after: 5.0.0 2483 - dev: false 2484 - 2485 - /hast-util-whitespace@3.0.0: 2486 - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} 2487 - dependencies: 2488 - '@types/hast': 3.0.4 2489 - dev: false 2490 - 2491 - /hastscript@8.0.0: 2492 - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} 2493 - dependencies: 2494 - '@types/hast': 3.0.4 2495 - comma-separated-tokens: 2.0.3 2496 - hast-util-parse-selector: 4.0.0 2497 - property-information: 6.4.1 2498 - space-separated-tokens: 2.0.2 2499 - dev: false 2500 - 2501 - /html-escaper@3.0.3: 2502 - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} 2503 - dev: false 2504 - 2505 - /html-void-elements@3.0.0: 2506 - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} 2507 - dev: false 2508 - 2509 - /http-cache-semantics@4.1.1: 2510 - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} 2511 - dev: false 2512 - 2513 - /human-signals@2.1.0: 2514 - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 2515 - engines: {node: '>=10.17.0'} 2516 - dev: true 2517 - 2518 - /human-signals@5.0.0: 2519 - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 2520 - engines: {node: '>=16.17.0'} 2521 - dev: false 2522 - 2523 - /ieee754@1.2.1: 2524 - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2525 - dev: false 2526 - 2527 - /import-meta-resolve@4.0.0: 2528 - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} 2529 - dev: false 2530 - 2531 - /inherits@2.0.4: 2532 - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2533 - dev: false 2534 - 2535 - /ini@1.3.8: 2536 - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 2537 - requiresBuild: true 2538 - dev: false 2539 - optional: true 2540 - 2541 - /is-arrayish@0.3.2: 2542 - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 2543 - dev: false 2544 - 2545 - /is-binary-path@2.1.0: 2546 - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2547 - engines: {node: '>=8'} 2548 - dependencies: 2549 - binary-extensions: 2.3.0 2550 - 2551 - /is-buffer@2.0.5: 2552 - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} 2553 - engines: {node: '>=4'} 2554 - dev: false 2555 - 2556 - /is-core-module@2.13.1: 2557 - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 2558 - dependencies: 2559 - hasown: 2.0.2 2560 - dev: false 2561 - 2562 - /is-docker@3.0.0: 2563 - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 2564 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2565 - hasBin: true 2566 - dev: false 2567 - 2568 - /is-extendable@0.1.1: 2569 - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 2570 - engines: {node: '>=0.10.0'} 2571 - dev: false 2572 - 2573 - /is-extglob@2.1.1: 2574 - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2575 - engines: {node: '>=0.10.0'} 2576 - 2577 - /is-fullwidth-code-point@3.0.0: 2578 - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2579 - engines: {node: '>=8'} 2580 - dev: false 2581 - 2582 - /is-glob@4.0.3: 2583 - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2584 - engines: {node: '>=0.10.0'} 2585 - dependencies: 2586 - is-extglob: 2.1.1 2587 - 2588 - /is-inside-container@1.0.0: 2589 - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 2590 - engines: {node: '>=14.16'} 2591 - hasBin: true 2592 - dependencies: 2593 - is-docker: 3.0.0 2594 - dev: false 2595 - 2596 - /is-interactive@2.0.0: 2597 - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 2598 - engines: {node: '>=12'} 2599 - dev: false 2600 - 2601 - /is-number@7.0.0: 2602 - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2603 - engines: {node: '>=0.12.0'} 2604 - 2605 - /is-plain-obj@4.1.0: 2606 - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 2607 - engines: {node: '>=12'} 2608 - dev: false 2609 - 2610 - /is-stream@2.0.1: 2611 - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2612 - engines: {node: '>=8'} 2613 - dev: true 2614 - 2615 - /is-stream@3.0.0: 2616 - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2617 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2618 - dev: false 2619 - 2620 - /is-unicode-supported@1.3.0: 2621 - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 2622 - engines: {node: '>=12'} 2623 - dev: false 2624 - 2625 - /is-wsl@3.1.0: 2626 - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} 2627 - engines: {node: '>=16'} 2628 - dependencies: 2629 - is-inside-container: 1.0.0 2630 - dev: false 2631 - 2632 - /isexe@2.0.0: 2633 - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2634 - 2635 - /jiti@1.21.0: 2636 - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 2637 - hasBin: true 2638 - dev: true 2639 - 2640 - /js-tokens@4.0.0: 2641 - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2642 - 2643 - /js-yaml@3.14.1: 2644 - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2645 - hasBin: true 2646 - dependencies: 2647 - argparse: 1.0.10 2648 - esprima: 4.0.1 2649 - dev: false 2650 - 2651 - /js-yaml@4.1.0: 2652 - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2653 - hasBin: true 2654 - dependencies: 2655 - argparse: 2.0.1 2656 - dev: false 2657 - 2658 - /jsesc@2.5.2: 2659 - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2660 - engines: {node: '>=4'} 2661 - hasBin: true 2662 - 2663 - /json5@2.2.3: 2664 - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 2665 - engines: {node: '>=6'} 2666 - hasBin: true 2667 - 2668 - /jsonc-parser@3.2.1: 2669 - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} 2670 - dev: true 2671 - 2672 - /kind-of@6.0.3: 2673 - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 2674 - engines: {node: '>=0.10.0'} 2675 - dev: false 2676 - 2677 - /kleur@3.0.3: 2678 - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 2679 - engines: {node: '>=6'} 2680 - dev: false 2681 - 2682 - /kleur@4.1.5: 2683 - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 2684 - engines: {node: '>=6'} 2685 - dev: false 2686 - 2687 - /kolorist@1.8.0: 2688 - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 2689 - dev: true 2690 - 2691 - /load-yaml-file@0.2.0: 2692 - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 2693 - engines: {node: '>=6'} 2694 - dependencies: 2695 - graceful-fs: 4.2.11 2696 - js-yaml: 3.14.1 2697 - pify: 4.0.1 2698 - strip-bom: 3.0.0 2699 - dev: false 2700 - 2701 - /local-pkg@0.5.0: 2702 - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} 2703 - engines: {node: '>=14'} 2704 - dependencies: 2705 - mlly: 1.6.1 2706 - pkg-types: 1.0.3 2707 - dev: true 2708 - 2709 - /locate-path@5.0.0: 2710 - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2711 - engines: {node: '>=8'} 2712 - dependencies: 2713 - p-locate: 4.1.0 2714 - dev: false 2715 - 2716 - /locate-path@6.0.0: 2717 - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2718 - engines: {node: '>=10'} 2719 - dependencies: 2720 - p-locate: 5.0.0 2721 - 2722 - /lodash.castarray@4.4.0: 2723 - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} 2724 - dev: false 2725 - 2726 - /lodash.isplainobject@4.0.6: 2727 - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 2728 - dev: false 2729 - 2730 - /lodash.merge@4.6.2: 2731 - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2732 - dev: false 2733 - 2734 - /log-symbols@5.1.0: 2735 - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} 2736 - engines: {node: '>=12'} 2737 - dependencies: 2738 - chalk: 5.3.0 2739 - is-unicode-supported: 1.3.0 2740 - dev: false 2741 - 2742 - /longest-streak@3.1.0: 2743 - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 2744 - dev: false 2745 - 2746 - /lru-cache@5.1.1: 2747 - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 2748 - dependencies: 2749 - yallist: 3.1.1 2750 - 2751 - /lru-cache@6.0.0: 2752 - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2753 - engines: {node: '>=10'} 2754 - dependencies: 2755 - yallist: 4.0.0 2756 - dev: false 2757 - 2758 - /magic-string@0.30.8: 2759 - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} 2760 - engines: {node: '>=12'} 2761 - dependencies: 2762 - '@jridgewell/sourcemap-codec': 1.4.15 2763 - 2764 - /markdown-table@3.0.3: 2765 - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} 2766 - dev: false 2767 - 2768 - /mdast-util-definitions@6.0.0: 2769 - resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} 2770 - dependencies: 2771 - '@types/mdast': 4.0.3 2772 - '@types/unist': 3.0.2 2773 - unist-util-visit: 5.0.0 2774 - dev: false 2775 - 2776 - /mdast-util-find-and-replace@3.0.1: 2777 - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} 2778 - dependencies: 2779 - '@types/mdast': 4.0.3 2780 - escape-string-regexp: 5.0.0 2781 - unist-util-is: 6.0.0 2782 - unist-util-visit-parents: 6.0.1 2783 - dev: false 2784 - 2785 - /mdast-util-from-markdown@2.0.0: 2786 - resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} 2787 - dependencies: 2788 - '@types/mdast': 4.0.3 2789 - '@types/unist': 3.0.2 2790 - decode-named-character-reference: 1.0.2 2791 - devlop: 1.1.0 2792 - mdast-util-to-string: 4.0.0 2793 - micromark: 4.0.0 2794 - micromark-util-decode-numeric-character-reference: 2.0.1 2795 - micromark-util-decode-string: 2.0.0 2796 - micromark-util-normalize-identifier: 2.0.0 2797 - micromark-util-symbol: 2.0.0 2798 - micromark-util-types: 2.0.0 2799 - unist-util-stringify-position: 4.0.0 2800 - transitivePeerDependencies: 2801 - - supports-color 2802 - dev: false 2803 - 2804 - /mdast-util-gfm-autolink-literal@2.0.0: 2805 - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} 2806 - dependencies: 2807 - '@types/mdast': 4.0.3 2808 - ccount: 2.0.1 2809 - devlop: 1.1.0 2810 - mdast-util-find-and-replace: 3.0.1 2811 - micromark-util-character: 2.1.0 2812 - dev: false 2813 - 2814 - /mdast-util-gfm-footnote@2.0.0: 2815 - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} 2816 - dependencies: 2817 - '@types/mdast': 4.0.3 2818 - devlop: 1.1.0 2819 - mdast-util-from-markdown: 2.0.0 2820 - mdast-util-to-markdown: 2.1.0 2821 - micromark-util-normalize-identifier: 2.0.0 2822 - transitivePeerDependencies: 2823 - - supports-color 2824 - dev: false 2825 - 2826 - /mdast-util-gfm-strikethrough@2.0.0: 2827 - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 2828 - dependencies: 2829 - '@types/mdast': 4.0.3 2830 - mdast-util-from-markdown: 2.0.0 2831 - mdast-util-to-markdown: 2.1.0 2832 - transitivePeerDependencies: 2833 - - supports-color 2834 - dev: false 2835 - 2836 - /mdast-util-gfm-table@2.0.0: 2837 - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 2838 - dependencies: 2839 - '@types/mdast': 4.0.3 2840 - devlop: 1.1.0 2841 - markdown-table: 3.0.3 2842 - mdast-util-from-markdown: 2.0.0 2843 - mdast-util-to-markdown: 2.1.0 2844 - transitivePeerDependencies: 2845 - - supports-color 2846 - dev: false 2847 - 2848 - /mdast-util-gfm-task-list-item@2.0.0: 2849 - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 2850 - dependencies: 2851 - '@types/mdast': 4.0.3 2852 - devlop: 1.1.0 2853 - mdast-util-from-markdown: 2.0.0 2854 - mdast-util-to-markdown: 2.1.0 2855 - transitivePeerDependencies: 2856 - - supports-color 2857 - dev: false 2858 - 2859 - /mdast-util-gfm@3.0.0: 2860 - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} 2861 - dependencies: 2862 - mdast-util-from-markdown: 2.0.0 2863 - mdast-util-gfm-autolink-literal: 2.0.0 2864 - mdast-util-gfm-footnote: 2.0.0 2865 - mdast-util-gfm-strikethrough: 2.0.0 2866 - mdast-util-gfm-table: 2.0.0 2867 - mdast-util-gfm-task-list-item: 2.0.0 2868 - mdast-util-to-markdown: 2.1.0 2869 - transitivePeerDependencies: 2870 - - supports-color 2871 - dev: false 2872 - 2873 - /mdast-util-phrasing@4.1.0: 2874 - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 2875 - dependencies: 2876 - '@types/mdast': 4.0.3 2877 - unist-util-is: 6.0.0 2878 - dev: false 2879 - 2880 - /mdast-util-to-hast@13.1.0: 2881 - resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} 2882 - dependencies: 2883 - '@types/hast': 3.0.4 2884 - '@types/mdast': 4.0.3 2885 - '@ungap/structured-clone': 1.2.0 2886 - devlop: 1.1.0 2887 - micromark-util-sanitize-uri: 2.0.0 2888 - trim-lines: 3.0.1 2889 - unist-util-position: 5.0.0 2890 - unist-util-visit: 5.0.0 2891 - vfile: 6.0.1 2892 - dev: false 2893 - 2894 - /mdast-util-to-markdown@2.1.0: 2895 - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} 2896 - dependencies: 2897 - '@types/mdast': 4.0.3 2898 - '@types/unist': 3.0.2 2899 - longest-streak: 3.1.0 2900 - mdast-util-phrasing: 4.1.0 2901 - mdast-util-to-string: 4.0.0 2902 - micromark-util-decode-string: 2.0.0 2903 - unist-util-visit: 5.0.0 2904 - zwitch: 2.0.4 2905 - dev: false 2906 - 2907 - /mdast-util-to-string@4.0.0: 2908 - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 2909 - dependencies: 2910 - '@types/mdast': 4.0.3 2911 - dev: false 2912 - 2913 - /mdn-data@2.0.30: 2914 - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 2915 - dev: true 2916 - 2917 - /merge-stream@2.0.0: 2918 - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2919 - 2920 - /merge2@1.4.1: 2921 - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2922 - engines: {node: '>= 8'} 2923 - 2924 - /micromark-core-commonmark@2.0.0: 2925 - resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} 2926 - dependencies: 2927 - decode-named-character-reference: 1.0.2 2928 - devlop: 1.1.0 2929 - micromark-factory-destination: 2.0.0 2930 - micromark-factory-label: 2.0.0 2931 - micromark-factory-space: 2.0.0 2932 - micromark-factory-title: 2.0.0 2933 - micromark-factory-whitespace: 2.0.0 2934 - micromark-util-character: 2.1.0 2935 - micromark-util-chunked: 2.0.0 2936 - micromark-util-classify-character: 2.0.0 2937 - micromark-util-html-tag-name: 2.0.0 2938 - micromark-util-normalize-identifier: 2.0.0 2939 - micromark-util-resolve-all: 2.0.0 2940 - micromark-util-subtokenize: 2.0.0 2941 - micromark-util-symbol: 2.0.0 2942 - micromark-util-types: 2.0.0 2943 - dev: false 2944 - 2945 - /micromark-extension-gfm-autolink-literal@2.0.0: 2946 - resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} 2947 - dependencies: 2948 - micromark-util-character: 2.1.0 2949 - micromark-util-sanitize-uri: 2.0.0 2950 - micromark-util-symbol: 2.0.0 2951 - micromark-util-types: 2.0.0 2952 - dev: false 2953 - 2954 - /micromark-extension-gfm-footnote@2.0.0: 2955 - resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} 2956 - dependencies: 2957 - devlop: 1.1.0 2958 - micromark-core-commonmark: 2.0.0 2959 - micromark-factory-space: 2.0.0 2960 - micromark-util-character: 2.1.0 2961 - micromark-util-normalize-identifier: 2.0.0 2962 - micromark-util-sanitize-uri: 2.0.0 2963 - micromark-util-symbol: 2.0.0 2964 - micromark-util-types: 2.0.0 2965 - dev: false 2966 - 2967 - /micromark-extension-gfm-strikethrough@2.0.0: 2968 - resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} 2969 - dependencies: 2970 - devlop: 1.1.0 2971 - micromark-util-chunked: 2.0.0 2972 - micromark-util-classify-character: 2.0.0 2973 - micromark-util-resolve-all: 2.0.0 2974 - micromark-util-symbol: 2.0.0 2975 - micromark-util-types: 2.0.0 2976 - dev: false 2977 - 2978 - /micromark-extension-gfm-table@2.0.0: 2979 - resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} 2980 - dependencies: 2981 - devlop: 1.1.0 2982 - micromark-factory-space: 2.0.0 2983 - micromark-util-character: 2.1.0 2984 - micromark-util-symbol: 2.0.0 2985 - micromark-util-types: 2.0.0 2986 - dev: false 2987 - 2988 - /micromark-extension-gfm-tagfilter@2.0.0: 2989 - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 2990 - dependencies: 2991 - micromark-util-types: 2.0.0 2992 - dev: false 2993 - 2994 - /micromark-extension-gfm-task-list-item@2.0.1: 2995 - resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} 2996 - dependencies: 2997 - devlop: 1.1.0 2998 - micromark-factory-space: 2.0.0 2999 - micromark-util-character: 2.1.0 3000 - micromark-util-symbol: 2.0.0 3001 - micromark-util-types: 2.0.0 3002 - dev: false 3003 - 3004 - /micromark-extension-gfm@3.0.0: 3005 - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 3006 - dependencies: 3007 - micromark-extension-gfm-autolink-literal: 2.0.0 3008 - micromark-extension-gfm-footnote: 2.0.0 3009 - micromark-extension-gfm-strikethrough: 2.0.0 3010 - micromark-extension-gfm-table: 2.0.0 3011 - micromark-extension-gfm-tagfilter: 2.0.0 3012 - micromark-extension-gfm-task-list-item: 2.0.1 3013 - micromark-util-combine-extensions: 2.0.0 3014 - micromark-util-types: 2.0.0 3015 - dev: false 3016 - 3017 - /micromark-factory-destination@2.0.0: 3018 - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} 3019 - dependencies: 3020 - micromark-util-character: 2.1.0 3021 - micromark-util-symbol: 2.0.0 3022 - micromark-util-types: 2.0.0 3023 - dev: false 3024 - 3025 - /micromark-factory-label@2.0.0: 3026 - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} 3027 - dependencies: 3028 - devlop: 1.1.0 3029 - micromark-util-character: 2.1.0 3030 - micromark-util-symbol: 2.0.0 3031 - micromark-util-types: 2.0.0 3032 - dev: false 3033 - 3034 - /micromark-factory-space@2.0.0: 3035 - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} 3036 - dependencies: 3037 - micromark-util-character: 2.1.0 3038 - micromark-util-types: 2.0.0 3039 - dev: false 3040 - 3041 - /micromark-factory-title@2.0.0: 3042 - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} 3043 - dependencies: 3044 - micromark-factory-space: 2.0.0 3045 - micromark-util-character: 2.1.0 3046 - micromark-util-symbol: 2.0.0 3047 - micromark-util-types: 2.0.0 3048 - dev: false 3049 - 3050 - /micromark-factory-whitespace@2.0.0: 3051 - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} 3052 - dependencies: 3053 - micromark-factory-space: 2.0.0 3054 - micromark-util-character: 2.1.0 3055 - micromark-util-symbol: 2.0.0 3056 - micromark-util-types: 2.0.0 3057 - dev: false 3058 - 3059 - /micromark-util-character@2.1.0: 3060 - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} 3061 - dependencies: 3062 - micromark-util-symbol: 2.0.0 3063 - micromark-util-types: 2.0.0 3064 - dev: false 3065 - 3066 - /micromark-util-chunked@2.0.0: 3067 - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} 3068 - dependencies: 3069 - micromark-util-symbol: 2.0.0 3070 - dev: false 3071 - 3072 - /micromark-util-classify-character@2.0.0: 3073 - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} 3074 - dependencies: 3075 - micromark-util-character: 2.1.0 3076 - micromark-util-symbol: 2.0.0 3077 - micromark-util-types: 2.0.0 3078 - dev: false 3079 - 3080 - /micromark-util-combine-extensions@2.0.0: 3081 - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} 3082 - dependencies: 3083 - micromark-util-chunked: 2.0.0 3084 - micromark-util-types: 2.0.0 3085 - dev: false 3086 - 3087 - /micromark-util-decode-numeric-character-reference@2.0.1: 3088 - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} 3089 - dependencies: 3090 - micromark-util-symbol: 2.0.0 3091 - dev: false 3092 - 3093 - /micromark-util-decode-string@2.0.0: 3094 - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} 3095 - dependencies: 3096 - decode-named-character-reference: 1.0.2 3097 - micromark-util-character: 2.1.0 3098 - micromark-util-decode-numeric-character-reference: 2.0.1 3099 - micromark-util-symbol: 2.0.0 3100 - dev: false 3101 - 3102 - /micromark-util-encode@2.0.0: 3103 - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} 3104 - dev: false 3105 - 3106 - /micromark-util-html-tag-name@2.0.0: 3107 - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} 3108 - dev: false 3109 - 3110 - /micromark-util-normalize-identifier@2.0.0: 3111 - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} 3112 - dependencies: 3113 - micromark-util-symbol: 2.0.0 3114 - dev: false 3115 - 3116 - /micromark-util-resolve-all@2.0.0: 3117 - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} 3118 - dependencies: 3119 - micromark-util-types: 2.0.0 3120 - dev: false 3121 - 3122 - /micromark-util-sanitize-uri@2.0.0: 3123 - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} 3124 - dependencies: 3125 - micromark-util-character: 2.1.0 3126 - micromark-util-encode: 2.0.0 3127 - micromark-util-symbol: 2.0.0 3128 - dev: false 3129 - 3130 - /micromark-util-subtokenize@2.0.0: 3131 - resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} 3132 - dependencies: 3133 - devlop: 1.1.0 3134 - micromark-util-chunked: 2.0.0 3135 - micromark-util-symbol: 2.0.0 3136 - micromark-util-types: 2.0.0 3137 - dev: false 3138 - 3139 - /micromark-util-symbol@2.0.0: 3140 - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} 3141 - dev: false 3142 - 3143 - /micromark-util-types@2.0.0: 3144 - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} 3145 - dev: false 3146 - 3147 - /micromark@4.0.0: 3148 - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} 3149 - dependencies: 3150 - '@types/debug': 4.1.12 3151 - debug: 4.3.4 3152 - decode-named-character-reference: 1.0.2 3153 - devlop: 1.1.0 3154 - micromark-core-commonmark: 2.0.0 3155 - micromark-factory-space: 2.0.0 3156 - micromark-util-character: 2.1.0 3157 - micromark-util-chunked: 2.0.0 3158 - micromark-util-combine-extensions: 2.0.0 3159 - micromark-util-decode-numeric-character-reference: 2.0.1 3160 - micromark-util-encode: 2.0.0 3161 - micromark-util-normalize-identifier: 2.0.0 3162 - micromark-util-resolve-all: 2.0.0 3163 - micromark-util-sanitize-uri: 2.0.0 3164 - micromark-util-subtokenize: 2.0.0 3165 - micromark-util-symbol: 2.0.0 3166 - micromark-util-types: 2.0.0 3167 - transitivePeerDependencies: 3168 - - supports-color 3169 - dev: false 3170 - 3171 - /micromatch@4.0.5: 3172 - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 3173 - engines: {node: '>=8.6'} 3174 - dependencies: 3175 - braces: 3.0.2 3176 - picomatch: 2.3.1 3177 - 3178 - /mime-db@1.52.0: 3179 - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 3180 - engines: {node: '>= 0.6'} 3181 - dev: false 3182 - 3183 - /mime-types@2.1.35: 3184 - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 3185 - engines: {node: '>= 0.6'} 3186 - dependencies: 3187 - mime-db: 1.52.0 3188 - dev: false 3189 - 3190 - /mime@3.0.0: 3191 - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 3192 - engines: {node: '>=10.0.0'} 3193 - hasBin: true 3194 - dev: false 3195 - 3196 - /mimic-fn@2.1.0: 3197 - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 3198 - engines: {node: '>=6'} 3199 - 3200 - /mimic-fn@4.0.0: 3201 - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 3202 - engines: {node: '>=12'} 3203 - dev: false 3204 - 3205 - /mimic-response@3.1.0: 3206 - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 3207 - engines: {node: '>=10'} 3208 - requiresBuild: true 3209 - dev: false 3210 - optional: true 3211 - 3212 - /minimist@1.2.8: 3213 - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 3214 - requiresBuild: true 3215 - dev: false 3216 - optional: true 3217 - 3218 - /mkdirp-classic@0.5.3: 3219 - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 3220 - requiresBuild: true 3221 - dev: false 3222 - optional: true 3223 - 3224 - /mlly@1.6.1: 3225 - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} 3226 - dependencies: 3227 - acorn: 8.11.3 3228 - pathe: 1.1.2 3229 - pkg-types: 1.0.3 3230 - ufo: 1.5.3 3231 - dev: true 3232 - 3233 - /mrmime@2.0.0: 3234 - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 3235 - engines: {node: '>=10'} 3236 - dev: true 3237 - 3238 - /ms@2.1.2: 3239 - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 3240 - 3241 - /nanoid@3.3.7: 3242 - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 3243 - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 3244 - hasBin: true 3245 - 3246 - /napi-build-utils@1.0.2: 3247 - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} 3248 - requiresBuild: true 3249 - dev: false 3250 - optional: true 3251 - 3252 - /nlcst-to-string@3.1.1: 3253 - resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} 3254 - dependencies: 3255 - '@types/nlcst': 1.0.4 3256 - dev: false 3257 - 3258 - /node-abi@3.56.0: 3259 - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} 3260 - engines: {node: '>=10'} 3261 - requiresBuild: true 3262 - dependencies: 3263 - semver: 7.6.0 3264 - dev: false 3265 - optional: true 3266 - 3267 - /node-addon-api@6.1.0: 3268 - resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} 3269 - requiresBuild: true 3270 - dev: false 3271 - optional: true 3272 - 3273 - /node-fetch-native@1.6.2: 3274 - resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} 3275 - dev: true 3276 - 3277 - /node-fetch@2.7.0: 3278 - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 3279 - engines: {node: 4.x || >=6.0.0} 3280 - peerDependencies: 3281 - encoding: ^0.1.0 3282 - peerDependenciesMeta: 3283 - encoding: 3284 - optional: true 3285 - dependencies: 3286 - whatwg-url: 5.0.0 3287 - dev: false 3288 - 3289 - /node-releases@2.0.14: 3290 - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 3291 - 3292 - /normalize-path@3.0.0: 3293 - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 3294 - engines: {node: '>=0.10.0'} 3295 - 3296 - /npm-run-path@4.0.1: 3297 - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 3298 - engines: {node: '>=8'} 3299 - dependencies: 3300 - path-key: 3.1.1 3301 - dev: true 3302 - 3303 - /npm-run-path@5.3.0: 3304 - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 3305 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3306 - dependencies: 3307 - path-key: 4.0.0 3308 - dev: false 3309 - 3310 - /ofetch@1.3.3: 3311 - resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} 3312 - dependencies: 3313 - destr: 2.0.3 3314 - node-fetch-native: 1.6.2 3315 - ufo: 1.5.3 3316 - dev: true 3317 - 3318 - /once@1.4.0: 3319 - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 3320 - requiresBuild: true 3321 - dependencies: 3322 - wrappy: 1.0.2 3323 - dev: false 3324 - optional: true 3325 - 3326 - /onetime@5.1.2: 3327 - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 3328 - engines: {node: '>=6'} 3329 - dependencies: 3330 - mimic-fn: 2.1.0 3331 - 3332 - /onetime@6.0.0: 3333 - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 3334 - engines: {node: '>=12'} 3335 - dependencies: 3336 - mimic-fn: 4.0.0 3337 - dev: false 3338 - 3339 - /ora@7.0.1: 3340 - resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} 3341 - engines: {node: '>=16'} 3342 - dependencies: 3343 - chalk: 5.3.0 3344 - cli-cursor: 4.0.0 3345 - cli-spinners: 2.9.2 3346 - is-interactive: 2.0.0 3347 - is-unicode-supported: 1.3.0 3348 - log-symbols: 5.1.0 3349 - stdin-discarder: 0.1.0 3350 - string-width: 6.1.0 3351 - strip-ansi: 7.1.0 3352 - dev: false 3353 - 3354 - /p-limit@2.3.0: 3355 - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 3356 - engines: {node: '>=6'} 3357 - dependencies: 3358 - p-try: 2.2.0 3359 - dev: false 3360 - 3361 - /p-limit@3.1.0: 3362 - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 3363 - engines: {node: '>=10'} 3364 - dependencies: 3365 - yocto-queue: 0.1.0 3366 - 3367 - /p-limit@5.0.0: 3368 - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} 3369 - engines: {node: '>=18'} 3370 - dependencies: 3371 - yocto-queue: 1.0.0 3372 - dev: false 3373 - 3374 - /p-locate@4.1.0: 3375 - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 3376 - engines: {node: '>=8'} 3377 - dependencies: 3378 - p-limit: 2.3.0 3379 - dev: false 3380 - 3381 - /p-locate@5.0.0: 3382 - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 3383 - engines: {node: '>=10'} 3384 - dependencies: 3385 - p-limit: 3.1.0 3386 - 3387 - /p-queue@8.0.1: 3388 - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} 3389 - engines: {node: '>=18'} 3390 - dependencies: 3391 - eventemitter3: 5.0.1 3392 - p-timeout: 6.1.2 3393 - dev: false 3394 - 3395 - /p-timeout@6.1.2: 3396 - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} 3397 - engines: {node: '>=14.16'} 3398 - dev: false 3399 - 3400 - /p-try@2.2.0: 3401 - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 3402 - engines: {node: '>=6'} 3403 - dev: false 3404 - 3405 - /parse-latin@5.0.1: 3406 - resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} 3407 - dependencies: 3408 - nlcst-to-string: 3.1.1 3409 - unist-util-modify-children: 3.1.1 3410 - unist-util-visit-children: 2.0.2 3411 - dev: false 3412 - 3413 - /parse5@7.1.2: 3414 - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} 3415 - dependencies: 3416 - entities: 4.5.0 3417 - dev: false 3418 - 3419 - /path-exists@4.0.0: 3420 - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 3421 - engines: {node: '>=8'} 3422 - 3423 - /path-key@3.1.1: 3424 - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3425 - engines: {node: '>=8'} 3426 - 3427 - /path-key@4.0.0: 3428 - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 3429 - engines: {node: '>=12'} 3430 - dev: false 3431 - 3432 - /path-parse@1.0.7: 3433 - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 3434 - dev: false 3435 - 3436 - /path-to-regexp@6.2.1: 3437 - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} 3438 - dev: false 3439 - 3440 - /pathe@1.1.2: 3441 - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 3442 - dev: true 3443 - 3444 - /perfect-debounce@1.0.0: 3445 - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 3446 - dev: true 3447 - 3448 - /picocolors@1.0.0: 3449 - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 3450 - 3451 - /picomatch@2.3.1: 3452 - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 3453 - engines: {node: '>=8.6'} 3454 - 3455 - /pify@4.0.1: 3456 - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 3457 - engines: {node: '>=6'} 3458 - dev: false 3459 - 3460 - /pkg-dir@4.2.0: 3461 - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 3462 - engines: {node: '>=8'} 3463 - dependencies: 3464 - find-up: 4.1.0 3465 - dev: false 3466 - 3467 - /pkg-types@1.0.3: 3468 - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} 3469 - dependencies: 3470 - jsonc-parser: 3.2.1 3471 - mlly: 1.6.1 3472 - pathe: 1.1.2 3473 - dev: true 3474 - 3475 - /postcss-selector-parser@6.0.10: 3476 - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 3477 - engines: {node: '>=4'} 3478 - dependencies: 3479 - cssesc: 3.0.0 3480 - util-deprecate: 1.0.2 3481 - dev: false 3482 - 3483 - /postcss@8.4.38: 3484 - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 3485 - engines: {node: ^10 || ^12 || >=14} 3486 - dependencies: 3487 - nanoid: 3.3.7 3488 - picocolors: 1.0.0 3489 - source-map-js: 1.2.0 3490 - 3491 - /prebuild-install@7.1.2: 3492 - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} 3493 - engines: {node: '>=10'} 3494 - hasBin: true 3495 - requiresBuild: true 3496 - dependencies: 3497 - detect-libc: 2.0.3 3498 - expand-template: 2.0.3 3499 - github-from-package: 0.0.0 3500 - minimist: 1.2.8 3501 - mkdirp-classic: 0.5.3 3502 - napi-build-utils: 1.0.2 3503 - node-abi: 3.56.0 3504 - pump: 3.0.0 3505 - rc: 1.2.8 3506 - simple-get: 4.0.1 3507 - tar-fs: 2.1.1 3508 - tunnel-agent: 0.6.0 3509 - dev: false 3510 - optional: true 3511 - 3512 - /preferred-pm@3.1.3: 3513 - resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} 3514 - engines: {node: '>=10'} 3515 - dependencies: 3516 - find-up: 5.0.0 3517 - find-yarn-workspace-root2: 1.2.16 3518 - path-exists: 4.0.0 3519 - which-pm: 2.0.0 3520 - dev: false 3521 - 3522 - /prismjs@1.29.0: 3523 - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} 3524 - engines: {node: '>=6'} 3525 - dev: false 3526 - 3527 - /prompts@2.4.2: 3528 - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 3529 - engines: {node: '>= 6'} 3530 - dependencies: 3531 - kleur: 3.0.3 3532 - sisteransi: 1.0.5 3533 - dev: false 3534 - 3535 - /property-information@6.4.1: 3536 - resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} 3537 - dev: false 3538 - 3539 - /pump@3.0.0: 3540 - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 3541 - requiresBuild: true 3542 - dependencies: 3543 - end-of-stream: 1.4.4 3544 - once: 1.4.0 3545 - dev: false 3546 - optional: true 3547 - 3548 - /queue-microtask@1.2.3: 3549 - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3550 - 3551 - /queue-tick@1.0.1: 3552 - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} 3553 - requiresBuild: true 3554 - dev: false 3555 - optional: true 3556 - 3557 - /rc@1.2.8: 3558 - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 3559 - hasBin: true 3560 - requiresBuild: true 3561 - dependencies: 3562 - deep-extend: 0.6.0 3563 - ini: 1.3.8 3564 - minimist: 1.2.8 3565 - strip-json-comments: 2.0.1 3566 - dev: false 3567 - optional: true 3568 - 3569 - /readable-stream@3.6.2: 3570 - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 3571 - engines: {node: '>= 6'} 3572 - dependencies: 3573 - inherits: 2.0.4 3574 - string_decoder: 1.3.0 3575 - util-deprecate: 1.0.2 3576 - dev: false 3577 - 3578 - /readdirp@3.6.0: 3579 - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 3580 - engines: {node: '>=8.10.0'} 3581 - dependencies: 3582 - picomatch: 2.3.1 3583 - 3584 - /rehype-parse@9.0.0: 3585 - resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} 3586 - dependencies: 3587 - '@types/hast': 3.0.4 3588 - hast-util-from-html: 2.0.1 3589 - unified: 11.0.4 3590 - dev: false 3591 - 3592 - /rehype-raw@7.0.0: 3593 - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} 3594 - dependencies: 3595 - '@types/hast': 3.0.4 3596 - hast-util-raw: 9.0.2 3597 - vfile: 6.0.1 3598 - dev: false 3599 - 3600 - /rehype-stringify@10.0.0: 3601 - resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} 3602 - dependencies: 3603 - '@types/hast': 3.0.4 3604 - hast-util-to-html: 9.0.0 3605 - unified: 11.0.4 3606 - dev: false 3607 - 3608 - /rehype@13.0.1: 3609 - resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} 3610 - dependencies: 3611 - '@types/hast': 3.0.4 3612 - rehype-parse: 9.0.0 3613 - rehype-stringify: 10.0.0 3614 - unified: 11.0.4 3615 - dev: false 3616 - 3617 - /remark-gfm@4.0.0: 3618 - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} 3619 - dependencies: 3620 - '@types/mdast': 4.0.3 3621 - mdast-util-gfm: 3.0.0 3622 - micromark-extension-gfm: 3.0.0 3623 - remark-parse: 11.0.0 3624 - remark-stringify: 11.0.0 3625 - unified: 11.0.4 3626 - transitivePeerDependencies: 3627 - - supports-color 3628 - dev: false 3629 - 3630 - /remark-parse@11.0.0: 3631 - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} 3632 - dependencies: 3633 - '@types/mdast': 4.0.3 3634 - mdast-util-from-markdown: 2.0.0 3635 - micromark-util-types: 2.0.0 3636 - unified: 11.0.4 3637 - transitivePeerDependencies: 3638 - - supports-color 3639 - dev: false 3640 - 3641 - /remark-rehype@11.1.0: 3642 - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} 3643 - dependencies: 3644 - '@types/hast': 3.0.4 3645 - '@types/mdast': 4.0.3 3646 - mdast-util-to-hast: 13.1.0 3647 - unified: 11.0.4 3648 - vfile: 6.0.1 3649 - dev: false 3650 - 3651 - /remark-smartypants@2.1.0: 3652 - resolution: {integrity: sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==} 3653 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3654 - dependencies: 3655 - retext: 8.1.0 3656 - retext-smartypants: 5.2.0 3657 - unist-util-visit: 5.0.0 3658 - dev: false 3659 - 3660 - /remark-stringify@11.0.0: 3661 - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 3662 - dependencies: 3663 - '@types/mdast': 4.0.3 3664 - mdast-util-to-markdown: 2.1.0 3665 - unified: 11.0.4 3666 - dev: false 3667 - 3668 - /resolve@1.22.8: 3669 - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 3670 - hasBin: true 3671 - dependencies: 3672 - is-core-module: 2.13.1 3673 - path-parse: 1.0.7 3674 - supports-preserve-symlinks-flag: 1.0.0 3675 - dev: false 3676 - 3677 - /restore-cursor@4.0.0: 3678 - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 3679 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3680 - dependencies: 3681 - onetime: 5.1.2 3682 - signal-exit: 3.0.7 3683 - dev: false 3684 - 3685 - /retext-latin@3.1.0: 3686 - resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} 3687 - dependencies: 3688 - '@types/nlcst': 1.0.4 3689 - parse-latin: 5.0.1 3690 - unherit: 3.0.1 3691 - unified: 10.1.2 3692 - dev: false 3693 - 3694 - /retext-smartypants@5.2.0: 3695 - resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} 3696 - dependencies: 3697 - '@types/nlcst': 1.0.4 3698 - nlcst-to-string: 3.1.1 3699 - unified: 10.1.2 3700 - unist-util-visit: 4.1.2 3701 - dev: false 3702 - 3703 - /retext-stringify@3.1.0: 3704 - resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} 3705 - dependencies: 3706 - '@types/nlcst': 1.0.4 3707 - nlcst-to-string: 3.1.1 3708 - unified: 10.1.2 3709 - dev: false 3710 - 3711 - /retext@8.1.0: 3712 - resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} 3713 - dependencies: 3714 - '@types/nlcst': 1.0.4 3715 - retext-latin: 3.1.0 3716 - retext-stringify: 3.1.0 3717 - unified: 10.1.2 3718 - dev: false 3719 - 3720 - /reusify@1.0.4: 3721 - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3722 - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3723 - 3724 - /rollup@4.13.0: 3725 - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} 3726 - engines: {node: '>=18.0.0', npm: '>=8.0.0'} 3727 - hasBin: true 3728 - dependencies: 3729 - '@types/estree': 1.0.5 3730 - optionalDependencies: 3731 - '@rollup/rollup-android-arm-eabi': 4.13.0 3732 - '@rollup/rollup-android-arm64': 4.13.0 3733 - '@rollup/rollup-darwin-arm64': 4.13.0 3734 - '@rollup/rollup-darwin-x64': 4.13.0 3735 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 3736 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 3737 - '@rollup/rollup-linux-arm64-musl': 4.13.0 3738 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 3739 - '@rollup/rollup-linux-x64-gnu': 4.13.0 3740 - '@rollup/rollup-linux-x64-musl': 4.13.0 3741 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 3742 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 3743 - '@rollup/rollup-win32-x64-msvc': 4.13.0 3744 - fsevents: 2.3.3 3745 - 3746 - /run-parallel@1.2.0: 3747 - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3748 - dependencies: 3749 - queue-microtask: 1.2.3 3750 - 3751 - /safe-buffer@5.2.1: 3752 - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 3753 - dev: false 3754 - 3755 - /sax@1.3.0: 3756 - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} 3757 - dev: false 3758 - 3759 - /section-matter@1.0.0: 3760 - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} 3761 - engines: {node: '>=4'} 3762 - dependencies: 3763 - extend-shallow: 2.0.1 3764 - kind-of: 6.0.3 3765 - dev: false 3766 - 3767 - /semver@6.3.1: 3768 - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 3769 - hasBin: true 3770 - 3771 - /semver@7.6.0: 3772 - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 3773 - engines: {node: '>=10'} 3774 - hasBin: true 3775 - dependencies: 3776 - lru-cache: 6.0.0 3777 - dev: false 3778 - 3779 - /sharp@0.32.6: 3780 - resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} 3781 - engines: {node: '>=14.15.0'} 3782 - requiresBuild: true 3783 - dependencies: 3784 - color: 4.2.3 3785 - detect-libc: 2.0.3 3786 - node-addon-api: 6.1.0 3787 - prebuild-install: 7.1.2 3788 - semver: 7.6.0 3789 - simple-get: 4.0.1 3790 - tar-fs: 3.0.5 3791 - tunnel-agent: 0.6.0 3792 - dev: false 3793 - optional: true 3794 - 3795 - /sharp@0.33.2: 3796 - resolution: {integrity: sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ==} 3797 - engines: {libvips: '>=8.15.1', node: ^18.17.0 || ^20.3.0 || >=21.0.0} 3798 - requiresBuild: true 3799 - dependencies: 3800 - color: 4.2.3 3801 - detect-libc: 2.0.3 3802 - semver: 7.6.0 3803 - optionalDependencies: 3804 - '@img/sharp-darwin-arm64': 0.33.2 3805 - '@img/sharp-darwin-x64': 0.33.2 3806 - '@img/sharp-libvips-darwin-arm64': 1.0.1 3807 - '@img/sharp-libvips-darwin-x64': 1.0.1 3808 - '@img/sharp-libvips-linux-arm': 1.0.1 3809 - '@img/sharp-libvips-linux-arm64': 1.0.1 3810 - '@img/sharp-libvips-linux-s390x': 1.0.1 3811 - '@img/sharp-libvips-linux-x64': 1.0.1 3812 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.1 3813 - '@img/sharp-libvips-linuxmusl-x64': 1.0.1 3814 - '@img/sharp-linux-arm': 0.33.2 3815 - '@img/sharp-linux-arm64': 0.33.2 3816 - '@img/sharp-linux-s390x': 0.33.2 3817 - '@img/sharp-linux-x64': 0.33.2 3818 - '@img/sharp-linuxmusl-arm64': 0.33.2 3819 - '@img/sharp-linuxmusl-x64': 0.33.2 3820 - '@img/sharp-wasm32': 0.33.2 3821 - '@img/sharp-win32-ia32': 0.33.2 3822 - '@img/sharp-win32-x64': 0.33.2 3823 - dev: false 3824 - 3825 - /shebang-command@2.0.0: 3826 - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3827 - engines: {node: '>=8'} 3828 - dependencies: 3829 - shebang-regex: 3.0.0 3830 - 3831 - /shebang-regex@3.0.0: 3832 - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3833 - engines: {node: '>=8'} 3834 - 3835 - /shiki@1.2.0: 3836 - resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} 3837 - dependencies: 3838 - '@shikijs/core': 1.2.0 3839 - dev: false 3840 - 3841 - /signal-exit@3.0.7: 3842 - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3843 - 3844 - /signal-exit@4.1.0: 3845 - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 3846 - engines: {node: '>=14'} 3847 - dev: false 3848 - 3849 - /simple-concat@1.0.1: 3850 - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 3851 - requiresBuild: true 3852 - dev: false 3853 - optional: true 3854 - 3855 - /simple-get@4.0.1: 3856 - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 3857 - requiresBuild: true 3858 - dependencies: 3859 - decompress-response: 6.0.0 3860 - once: 1.4.0 3861 - simple-concat: 1.0.1 3862 - dev: false 3863 - optional: true 3864 - 3865 - /simple-swizzle@0.2.2: 3866 - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 3867 - dependencies: 3868 - is-arrayish: 0.3.2 3869 - dev: false 3870 - 3871 - /sirv@2.0.4: 3872 - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} 3873 - engines: {node: '>= 10'} 3874 - dependencies: 3875 - '@polka/url': 1.0.0-next.25 3876 - mrmime: 2.0.0 3877 - totalist: 3.0.1 3878 - dev: true 3879 - 3880 - /sisteransi@1.0.5: 3881 - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3882 - dev: false 3883 - 3884 - /sitemap@7.1.1: 3885 - resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} 3886 - engines: {node: '>=12.0.0', npm: '>=5.6.0'} 3887 - hasBin: true 3888 - dependencies: 3889 - '@types/node': 17.0.45 3890 - '@types/sax': 1.2.7 3891 - arg: 5.0.2 3892 - sax: 1.3.0 3893 - dev: false 3894 - 3895 - /source-map-js@1.2.0: 3896 - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 3897 - engines: {node: '>=0.10.0'} 3898 - 3899 - /space-separated-tokens@2.0.2: 3900 - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 3901 - dev: false 3902 - 3903 - /sprintf-js@1.0.3: 3904 - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3905 - dev: false 3906 - 3907 - /stdin-discarder@0.1.0: 3908 - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} 3909 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3910 - dependencies: 3911 - bl: 5.1.0 3912 - dev: false 3913 - 3914 - /streamx@2.16.1: 3915 - resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} 3916 - requiresBuild: true 3917 - dependencies: 3918 - fast-fifo: 1.3.2 3919 - queue-tick: 1.0.1 3920 - optionalDependencies: 3921 - bare-events: 2.2.1 3922 - dev: false 3923 - optional: true 3924 - 3925 - /string-width@4.2.3: 3926 - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3927 - engines: {node: '>=8'} 3928 - dependencies: 3929 - emoji-regex: 8.0.0 3930 - is-fullwidth-code-point: 3.0.0 3931 - strip-ansi: 6.0.1 3932 - dev: false 3933 - 3934 - /string-width@5.1.2: 3935 - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 3936 - engines: {node: '>=12'} 3937 - dependencies: 3938 - eastasianwidth: 0.2.0 3939 - emoji-regex: 9.2.2 3940 - strip-ansi: 7.1.0 3941 - dev: false 3942 - 3943 - /string-width@6.1.0: 3944 - resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} 3945 - engines: {node: '>=16'} 3946 - dependencies: 3947 - eastasianwidth: 0.2.0 3948 - emoji-regex: 10.3.0 3949 - strip-ansi: 7.1.0 3950 - dev: false 3951 - 3952 - /string-width@7.1.0: 3953 - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} 3954 - engines: {node: '>=18'} 3955 - dependencies: 3956 - emoji-regex: 10.3.0 3957 - get-east-asian-width: 1.2.0 3958 - strip-ansi: 7.1.0 3959 - dev: false 3960 - 3961 - /string_decoder@1.3.0: 3962 - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3963 - dependencies: 3964 - safe-buffer: 5.2.1 3965 - dev: false 3966 - 3967 - /stringify-entities@4.0.3: 3968 - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} 3969 - dependencies: 3970 - character-entities-html4: 2.1.0 3971 - character-entities-legacy: 3.0.0 3972 - dev: false 3973 - 3974 - /strip-ansi@6.0.1: 3975 - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3976 - engines: {node: '>=8'} 3977 - dependencies: 3978 - ansi-regex: 5.0.1 3979 - dev: false 3980 - 3981 - /strip-ansi@7.1.0: 3982 - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 3983 - engines: {node: '>=12'} 3984 - dependencies: 3985 - ansi-regex: 6.0.1 3986 - dev: false 3987 - 3988 - /strip-bom-string@1.0.0: 3989 - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} 3990 - engines: {node: '>=0.10.0'} 3991 - dev: false 3992 - 3993 - /strip-bom@3.0.0: 3994 - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3995 - engines: {node: '>=4'} 3996 - dev: false 3997 - 3998 - /strip-final-newline@2.0.0: 3999 - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 4000 - engines: {node: '>=6'} 4001 - dev: true 4002 - 4003 - /strip-final-newline@3.0.0: 4004 - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 4005 - engines: {node: '>=12'} 4006 - dev: false 4007 - 4008 - /strip-json-comments@2.0.1: 4009 - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 4010 - engines: {node: '>=0.10.0'} 4011 - requiresBuild: true 4012 - dev: false 4013 - optional: true 4014 - 4015 - /supports-color@5.5.0: 4016 - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 4017 - engines: {node: '>=4'} 4018 - dependencies: 4019 - has-flag: 3.0.0 4020 - 4021 - /supports-preserve-symlinks-flag@1.0.0: 4022 - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 4023 - engines: {node: '>= 0.4'} 4024 - dev: false 4025 - 4026 - /tar-fs@2.1.1: 4027 - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 4028 - requiresBuild: true 4029 - dependencies: 4030 - chownr: 1.1.4 4031 - mkdirp-classic: 0.5.3 4032 - pump: 3.0.0 4033 - tar-stream: 2.2.0 4034 - dev: false 4035 - optional: true 4036 - 4037 - /tar-fs@3.0.5: 4038 - resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} 4039 - requiresBuild: true 4040 - dependencies: 4041 - pump: 3.0.0 4042 - tar-stream: 3.1.7 4043 - optionalDependencies: 4044 - bare-fs: 2.2.2 4045 - bare-path: 2.1.0 4046 - dev: false 4047 - optional: true 4048 - 4049 - /tar-stream@2.2.0: 4050 - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 4051 - engines: {node: '>=6'} 4052 - requiresBuild: true 4053 - dependencies: 4054 - bl: 4.1.0 4055 - end-of-stream: 1.4.4 4056 - fs-constants: 1.0.0 4057 - inherits: 2.0.4 4058 - readable-stream: 3.6.2 4059 - dev: false 4060 - optional: true 4061 - 4062 - /tar-stream@3.1.7: 4063 - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} 4064 - requiresBuild: true 4065 - dependencies: 4066 - b4a: 1.6.6 4067 - fast-fifo: 1.3.2 4068 - streamx: 2.16.1 4069 - dev: false 4070 - optional: true 4071 - 4072 - /to-fast-properties@2.0.0: 4073 - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 4074 - engines: {node: '>=4'} 4075 - 4076 - /to-regex-range@5.0.1: 4077 - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 4078 - engines: {node: '>=8.0'} 4079 - dependencies: 4080 - is-number: 7.0.0 4081 - 4082 - /totalist@3.0.1: 4083 - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 4084 - engines: {node: '>=6'} 4085 - dev: true 4086 - 4087 - /tr46@0.0.3: 4088 - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 4089 - dev: false 4090 - 4091 - /trim-lines@3.0.1: 4092 - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 4093 - dev: false 4094 - 4095 - /trough@2.2.0: 4096 - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 4097 - dev: false 4098 - 4099 - /tsconfck@3.0.3: 4100 - resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==} 4101 - engines: {node: ^18 || >=20} 4102 - hasBin: true 4103 - peerDependencies: 4104 - typescript: ^5.0.0 4105 - peerDependenciesMeta: 4106 - typescript: 4107 - optional: true 4108 - dev: false 4109 - 4110 - /tslib@2.6.2: 4111 - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 4112 - requiresBuild: true 4113 - dev: false 4114 - optional: true 4115 - 4116 - /tunnel-agent@0.6.0: 4117 - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 4118 - requiresBuild: true 4119 - dependencies: 4120 - safe-buffer: 5.2.1 4121 - dev: false 4122 - optional: true 4123 - 4124 - /type-fest@2.19.0: 4125 - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 4126 - engines: {node: '>=12.20'} 4127 - dev: false 4128 - 4129 - /ufo@1.5.3: 4130 - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} 4131 - dev: true 4132 - 4133 - /unconfig@0.3.11: 4134 - resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} 4135 - dependencies: 4136 - '@antfu/utils': 0.7.7 4137 - defu: 6.1.4 4138 - jiti: 1.21.0 4139 - mlly: 1.6.1 4140 - dev: true 4141 - 4142 - /undici-types@5.26.5: 4143 - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 4144 - dev: false 4145 - 4146 - /unherit@3.0.1: 4147 - resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} 4148 - dev: false 4149 - 4150 - /unified@10.1.2: 4151 - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} 4152 - dependencies: 4153 - '@types/unist': 2.0.10 4154 - bail: 2.0.2 4155 - extend: 3.0.2 4156 - is-buffer: 2.0.5 4157 - is-plain-obj: 4.1.0 4158 - trough: 2.2.0 4159 - vfile: 5.3.7 4160 - dev: false 4161 - 4162 - /unified@11.0.4: 4163 - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} 4164 - dependencies: 4165 - '@types/unist': 3.0.2 4166 - bail: 2.0.2 4167 - devlop: 1.1.0 4168 - extend: 3.0.2 4169 - is-plain-obj: 4.1.0 4170 - trough: 2.2.0 4171 - vfile: 6.0.1 4172 - dev: false 4173 - 4174 - /unist-util-find-after@5.0.0: 4175 - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} 4176 - dependencies: 4177 - '@types/unist': 3.0.2 4178 - unist-util-is: 6.0.0 4179 - dev: false 4180 - 4181 - /unist-util-is@5.2.1: 4182 - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} 4183 - dependencies: 4184 - '@types/unist': 2.0.10 4185 - dev: false 4186 - 4187 - /unist-util-is@6.0.0: 4188 - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 4189 - dependencies: 4190 - '@types/unist': 3.0.2 4191 - dev: false 4192 - 4193 - /unist-util-modify-children@3.1.1: 4194 - resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} 4195 - dependencies: 4196 - '@types/unist': 2.0.10 4197 - array-iterate: 2.0.1 4198 - dev: false 4199 - 4200 - /unist-util-position@5.0.0: 4201 - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} 4202 - dependencies: 4203 - '@types/unist': 3.0.2 4204 - dev: false 4205 - 4206 - /unist-util-remove-position@5.0.0: 4207 - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} 4208 - dependencies: 4209 - '@types/unist': 3.0.2 4210 - unist-util-visit: 5.0.0 4211 - dev: false 4212 - 4213 - /unist-util-stringify-position@3.0.3: 4214 - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} 4215 - dependencies: 4216 - '@types/unist': 2.0.10 4217 - dev: false 4218 - 4219 - /unist-util-stringify-position@4.0.0: 4220 - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 4221 - dependencies: 4222 - '@types/unist': 3.0.2 4223 - dev: false 4224 - 4225 - /unist-util-visit-children@2.0.2: 4226 - resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} 4227 - dependencies: 4228 - '@types/unist': 2.0.10 4229 - dev: false 4230 - 4231 - /unist-util-visit-parents@5.1.3: 4232 - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} 4233 - dependencies: 4234 - '@types/unist': 2.0.10 4235 - unist-util-is: 5.2.1 4236 - dev: false 4237 - 4238 - /unist-util-visit-parents@6.0.1: 4239 - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 4240 - dependencies: 4241 - '@types/unist': 3.0.2 4242 - unist-util-is: 6.0.0 4243 - dev: false 4244 - 4245 - /unist-util-visit@4.1.2: 4246 - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} 4247 - dependencies: 4248 - '@types/unist': 2.0.10 4249 - unist-util-is: 5.2.1 4250 - unist-util-visit-parents: 5.1.3 4251 - dev: false 4252 - 4253 - /unist-util-visit@5.0.0: 4254 - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 4255 - dependencies: 4256 - '@types/unist': 3.0.2 4257 - unist-util-is: 6.0.0 4258 - unist-util-visit-parents: 6.0.1 4259 - dev: false 4260 - 4261 - /unocss@0.58.6(postcss@8.4.38)(vite@5.2.2): 4262 - resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} 4263 - engines: {node: '>=14'} 4264 - peerDependencies: 4265 - '@unocss/webpack': 0.58.6 4266 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 4267 - peerDependenciesMeta: 4268 - '@unocss/webpack': 4269 - optional: true 4270 - vite: 4271 - optional: true 4272 - dependencies: 4273 - '@unocss/astro': 0.58.6(vite@5.2.2) 4274 - '@unocss/cli': 0.58.6 4275 - '@unocss/core': 0.58.6 4276 - '@unocss/extractor-arbitrary-variants': 0.58.6 4277 - '@unocss/postcss': 0.58.6(postcss@8.4.38) 4278 - '@unocss/preset-attributify': 0.58.6 4279 - '@unocss/preset-icons': 0.58.6 4280 - '@unocss/preset-mini': 0.58.6 4281 - '@unocss/preset-tagify': 0.58.6 4282 - '@unocss/preset-typography': 0.58.6 4283 - '@unocss/preset-uno': 0.58.6 4284 - '@unocss/preset-web-fonts': 0.58.6 4285 - '@unocss/preset-wind': 0.58.6 4286 - '@unocss/reset': 0.58.6 4287 - '@unocss/transformer-attributify-jsx': 0.58.6 4288 - '@unocss/transformer-attributify-jsx-babel': 0.58.6 4289 - '@unocss/transformer-compile-class': 0.58.6 4290 - '@unocss/transformer-directives': 0.58.6 4291 - '@unocss/transformer-variant-group': 0.58.6 4292 - '@unocss/vite': 0.58.6(vite@5.2.2) 4293 - vite: 5.2.2 4294 - transitivePeerDependencies: 4295 - - postcss 4296 - - rollup 4297 - - supports-color 4298 - dev: true 4299 - 4300 - /update-browserslist-db@1.0.13(browserslist@4.23.0): 4301 - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 4302 - hasBin: true 4303 - peerDependencies: 4304 - browserslist: '>= 4.21.0' 4305 - dependencies: 4306 - browserslist: 4.23.0 4307 - escalade: 3.1.2 4308 - picocolors: 1.0.0 4309 - 4310 - /util-deprecate@1.0.2: 4311 - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 4312 - dev: false 4313 - 4314 - /vfile-location@5.0.2: 4315 - resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} 4316 - dependencies: 4317 - '@types/unist': 3.0.2 4318 - vfile: 6.0.1 4319 - dev: false 4320 - 4321 - /vfile-message@3.1.4: 4322 - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} 4323 - dependencies: 4324 - '@types/unist': 2.0.10 4325 - unist-util-stringify-position: 3.0.3 4326 - dev: false 4327 - 4328 - /vfile-message@4.0.2: 4329 - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} 4330 - dependencies: 4331 - '@types/unist': 3.0.2 4332 - unist-util-stringify-position: 4.0.0 4333 - dev: false 4334 - 4335 - /vfile@5.3.7: 4336 - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} 4337 - dependencies: 4338 - '@types/unist': 2.0.10 4339 - is-buffer: 2.0.5 4340 - unist-util-stringify-position: 3.0.3 4341 - vfile-message: 3.1.4 4342 - dev: false 4343 - 4344 - /vfile@6.0.1: 4345 - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} 4346 - dependencies: 4347 - '@types/unist': 3.0.2 4348 - unist-util-stringify-position: 4.0.0 4349 - vfile-message: 4.0.2 4350 - dev: false 4351 - 4352 - /vite@5.2.2: 4353 - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} 4354 - engines: {node: ^18.0.0 || >=20.0.0} 4355 - hasBin: true 4356 - peerDependencies: 4357 - '@types/node': ^18.0.0 || >=20.0.0 4358 - less: '*' 4359 - lightningcss: ^1.21.0 4360 - sass: '*' 4361 - stylus: '*' 4362 - sugarss: '*' 4363 - terser: ^5.4.0 4364 - peerDependenciesMeta: 4365 - '@types/node': 4366 - optional: true 4367 - less: 4368 - optional: true 4369 - lightningcss: 4370 - optional: true 4371 - sass: 4372 - optional: true 4373 - stylus: 4374 - optional: true 4375 - sugarss: 4376 - optional: true 4377 - terser: 4378 - optional: true 4379 - dependencies: 4380 - esbuild: 0.20.2 4381 - postcss: 8.4.38 4382 - rollup: 4.13.0 4383 - optionalDependencies: 4384 - fsevents: 2.3.3 4385 - 4386 - /vitefu@0.2.5(vite@5.2.2): 4387 - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} 4388 - peerDependencies: 4389 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 4390 - peerDependenciesMeta: 4391 - vite: 4392 - optional: true 4393 - dependencies: 4394 - vite: 5.2.2 4395 - dev: false 4396 - 4397 - /web-namespaces@2.0.1: 4398 - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} 4399 - dev: false 4400 - 4401 - /webidl-conversions@3.0.1: 4402 - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 4403 - dev: false 4404 - 4405 - /whatwg-url@5.0.0: 4406 - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 4407 - dependencies: 4408 - tr46: 0.0.3 4409 - webidl-conversions: 3.0.1 4410 - dev: false 4411 - 4412 - /which-pm-runs@1.1.0: 4413 - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} 4414 - engines: {node: '>=4'} 4415 - dev: false 4416 - 4417 - /which-pm@2.0.0: 4418 - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} 4419 - engines: {node: '>=8.15'} 4420 - dependencies: 4421 - load-yaml-file: 0.2.0 4422 - path-exists: 4.0.0 4423 - dev: false 4424 - 4425 - /which-pm@2.1.1: 4426 - resolution: {integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==} 4427 - engines: {node: '>=8.15'} 4428 - dependencies: 4429 - load-yaml-file: 0.2.0 4430 - path-exists: 4.0.0 4431 - dev: false 4432 - 4433 - /which@2.0.2: 4434 - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 4435 - engines: {node: '>= 8'} 4436 - hasBin: true 4437 - dependencies: 4438 - isexe: 2.0.0 4439 - 4440 - /widest-line@4.0.1: 4441 - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} 4442 - engines: {node: '>=12'} 4443 - dependencies: 4444 - string-width: 5.1.2 4445 - dev: false 4446 - 4447 - /wrap-ansi@8.1.0: 4448 - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 4449 - engines: {node: '>=12'} 4450 - dependencies: 4451 - ansi-styles: 6.2.1 4452 - string-width: 5.1.2 4453 - strip-ansi: 7.1.0 4454 - dev: false 4455 - 4456 - /wrappy@1.0.2: 4457 - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 4458 - requiresBuild: true 4459 - dev: false 4460 - optional: true 4461 - 4462 - /yallist@3.1.1: 4463 - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 4464 - 4465 - /yallist@4.0.0: 4466 - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 4467 - dev: false 4468 - 4469 - /yargs-parser@21.1.1: 4470 - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 4471 - engines: {node: '>=12'} 4472 - dev: false 4473 - 4474 - /yocto-queue@0.1.0: 4475 - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 4476 - engines: {node: '>=10'} 4477 - 4478 - /yocto-queue@1.0.0: 4479 - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 4480 - engines: {node: '>=12.20'} 4481 - dev: false 4482 - 4483 - /zod-to-json-schema@3.22.4(zod@3.22.4): 4484 - resolution: {integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ==} 4485 - peerDependencies: 4486 - zod: ^3.22.4 4487 - dependencies: 4488 - zod: 3.22.4 4489 - dev: false 4490 - 4491 - /zod@3.22.4: 4492 - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} 4493 - dev: false 4494 - 4495 - /zwitch@2.0.4: 4496 - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 4497 - dev: false
···
-9
public/favicon.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128"> 2 - <path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" /> 3 - <style> 4 - path { fill: #000; } 5 - @media (prefers-color-scheme: dark) { 6 - path { fill: #FFF; } 7 - } 8 - </style> 9 - </svg>
···
public/resume.pdf

This is a binary file and will not be displayed.

-10
public/robots.txt
··· 1 - User-Agent: * 2 - Allow: / 3 - User-agent: GPTBot 4 - Disallow: / 5 - User-agent: ChatGPT-User 6 - Disallow: / 7 - User-agent: Google-Extended 8 - Disallow: / 9 - User-agent: PerplexityBot 10 - Disallow: /
···
-25
src/components/BlogPost.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - published_at: Date; 5 - slug: string; 6 - } 7 - 8 - const { title, published_at, slug } = Astro.props; 9 - import Link from "../components/Link.astro"; 10 - --- 11 - 12 - <li> 13 - <article> 14 - <h2 15 - class="mb-1 font-bold text-blue-700 hover:text-blue-500 hover:underline" 16 - > 17 - <Link href={`/blogs/${slug}`}>{title}</Link> 18 - </h2> 19 - <footer class="text-sm text-gray-500"> 20 - <time datetime={published_at.toISOString()}> 21 - {new Intl.DateTimeFormat("en-us").format(new Date(published_at))} 22 - </time> 23 - </footer> 24 - </article> 25 - </li>
···
-13
src/components/Link.astro
··· 1 - --- 2 - interface Props { 3 - extraClasses?: string; 4 - [x: string]: unknown; 5 - } 6 - --- 7 - 8 - <a 9 - {...Astro.props} 10 - class={`text-blue-700 hover:(underline text-blue-600) focus-visible:(outline outline-[4px] outline-black underline [box-shadow:0_0_0_6px_white]) ${Astro.props.extraClasses}`} 11 - > 12 - <slot /> 13 - </a>
···
-28
src/components/Meta.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - const { title, description } = Astro.props; 8 - const canonicalURL = new URL(Astro.url.pathname, Astro.site); 9 - --- 10 - 11 - <head> 12 - <meta charset="UTF-8" /> 13 - <meta name="description" content={description} /> 14 - <meta name="viewport" content="width=device-width, initial-scale=1" /> 15 - <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 16 - <meta name="generator" content={Astro.generator} /> 17 - <meta property="og:type" content="website" /> 18 - <meta name="twitter:card" content="summary_large_image" /> 19 - <meta name="twitter:creator" content="@hybridearth" /> 20 - <meta property="og:title" content={title} /> 21 - <meta property="og:description" content={description} /> 22 - <meta name="twitter:title" content={title} /> 23 - <meta name="twitter:description" content={description} /> 24 - <link rel="sitemap" href="/sitemap-index.xml" /> 25 - <link rel="canonical" href={canonicalURL} /> 26 - <meta property="og:url" content={canonicalURL} /> 27 - <title>{title}</title> 28 - </head>
···
-23
src/components/Navbar.astro
··· 1 - --- 2 - const paths = [ 3 - { name: "home", path: "/" }, 4 - { name: "blogs", path: "/blogs" }, 5 - ]; 6 - import Link from "../components/Link.astro"; 7 - --- 8 - 9 - <header class="max-w-5xl mx-auto pt-2 md:pt-10 mb-2 px-3 md:px-0"> 10 - <nav> 11 - <ul class="flex gap-2"> 12 - { 13 - paths.map(({ name, path }) => ( 14 - <li> 15 - <Link href={path} extraClasses="font-bold"> 16 - {name} 17 - </Link>{" "} 18 - </li> 19 - )) 20 - } 21 - </ul> 22 - </nav> 23 - </header>
···
-61
src/content/blog/docker-for-frontend-developers.md
··· 1 - --- 2 - title: Docker for Frontend Developers 3 - description: A short walkthrough on how to create an API 4 - year: 2021 5 - published_at: 2021-03-17 6 - --- 7 - 8 - I'll be honest, it took me a while to understand what docker was and why/how one would even use it in a typical workflow. I've read the documentation months ago to understand the basics but never knew how I could apply it into my own workflow or projects until recently. That's when I started to use it wherever I could. 9 - 10 - ## A tl;dr of what docker is 11 - 12 - Docker is a platform for developing and deploying applications wherever docker is installed. Before docker there were VMs (such as virtualbox) where you could take an image, usually an operating system, and stick it on some virtual hardware that you would then configure to your needs and then use that image in production to run whatever service you configured it for. Docker is similar to that but much lighter and much easier to get up and running. 13 - 14 - With docker you're able to pull pre-configured images from the docker "hub" and get up and running in a matter of minutes. Docker also allows you to create an environment that is consistent no matter where the application is running which I think is a huge plus because I've run into situations where I switch computers and for whatever reason the thing I'm working on just doesn't work! 15 - 16 - ## Getting up and running, fast 17 - 18 - Typically when I start a new project, be it a website or a discord bot, I'll usually end up needing some sort of database. Usually I would download the software needed to run the database on my computer and maybe a client to view the data in the database. Now, I'd just use docker and pull whatever image I needed for the database I'm using. 19 - 20 - ``` 21 - docker pull postgres 22 - docker run --name -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 23 - ``` 24 - 25 - That's it! That's all I would need to get a postgres database running. 26 - 27 - I'll explain what some of these command line options mean. 28 - 29 - ``` 30 - docker pull postgres 31 - ``` 32 - 33 - With this command I'm saying, "On docker hub, find the postgres image and download it". 34 - 35 - There are a ton of images on docker hub for services you may neeed such as redis, apache, mongoDB, etc. 36 - 37 - ``` 38 - docker run --name postgres -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 39 - ``` 40 - 41 - This command is a little more involved so I'll break it down. 42 - 43 - `` docker run` --name postgres `` is how you would spin up a new container (a new, tiny instance of postgres) and the name of the container would be postgres. By default if no name is given then docker will generate a random one. It's good practice to give your containers a name because they become easier to identify and easy to remember should you need to stop or start the container. 44 - 45 - `-d` just means run the container in daemon mode, instead of in the foreground. 46 - 47 - `-p 5432:5432` this is where you would set the port for the container so that the docker host can communicate with the container. Postgres runs on the port 5432 so we would need to say port 5432 on the host maps to port 5432 on the container. 48 - 49 - `-e POSTGRES_PASSWORD=password` to set environment variables at runtime you would need to provide the -e flag. An alternative to this would be to have a file where your secrets live and use `--env-file .env` instead. 50 - 51 - `postgres` last but not least the image you want to run. You can see a list of images you have dowloaded on your machine with `docker images`. 52 - 53 - ## Conclusion 54 - 55 - This post is mostly just a tl;dr of how to get started with docker as well as showing how easy it is. There are other things I wanted to cover such as building your own image, pushing an image to docker hub as well as deploying an image but I felt that would be a lot for a blog post so I'll leave some resources that helped me a bunch when I was learning about docker. 56 - 57 - [Docker and Kubernetes for beginners (FreeCodeCamp)](https://www.youtube.com/watch?v=Wf2eSG3owoA&t=1999s) 58 - 59 - [Docker documentation](https://docs.docker.com/reference/) 60 - 61 - [Deploying docker images to Heroku](https://devcenter.heroku.com/categories/deploying-with-docker)
···
-101
src/content/blog/give-angular-a-second-chance.md
··· 1 - --- 2 - title: Why I think Developers should give Angular 17 a serious try 3 - description: If you're a developer that is new to Angular and its ecosystem, you should definitely take a minute to try their latest release 4 - year: 2023 5 - published_at: 2023-12-15 6 - --- 7 - 8 - You've seen the memes, you've seen the angry github comments, you've seen the negative press. I'll be honest, I fell victim to the propaganda online. Was some of it warranted? Probably, but some of it was a bit overexaggerated in my opinion. Seriously, Angular is a really good framework and I think the release of Angular 17 will bring it back into the light and a serious option for building websites. I've only been through the documentation briefly and did the tutorial but there are some things I _really_ like. 9 - 10 - ## The CLI 11 - 12 - One thing I've always admired and wished other frameworks/libraries would have adopted is their version of the Angular CLI. Not only can you use it to create new components with all of the boiler plate code all generated for you, you can also do things like open the docs or quickly add angular modules with `ng add`. I found with the short amount of time I've spent with it, it allows me to move a bit quicker and think less about creating my own scripts or thinking about the most optimal file structure. There are a lot of commands that are just great defaults to have that aren't unique from project to project such as testing. I tell people repeatedly that I wish there was something similar with React but maybe it wouldn't work out the same way as I imagine. 13 - 14 - ## Pipes 15 - 16 - Now if you're not really a Linux user you've probably never heard of the term `pipe` before and when I first saw it mentioned in the Angular docs I had no idea what to expect but it works exactly the same as it does in the terminal. Let's say I have a sentence and I want to count the amount of words in that sentence. In my terminal I could do `echo hello this is a sentence` _and then_ pipe that ( | ) to the `wc` program that's available ("wc" without any options outputs the amount of lines, words and characters from whatever is passed in). So the full command in my terminal would look like this. 17 - 18 - ```bash 19 - echo hello this is a sentence | wc 20 - // 1 5 25 21 - ``` 22 - 23 - It's the same concept in Angular, which is really cool in my opinion. For example by default Angular has an `uppercase` pipe that transforms some text to uppercase. 24 - 25 - ```ts 26 - import { Component } from "@angular/core"; 27 - import { UppercasePipe } from "@angular/common"; 28 - 29 - @Component({ 30 - standalone: true, 31 - templateUrl: ` 32 - <p>Hello my name is {{ name | uppercase }}</p> 33 - `, 34 - imports: [UppercasePipe], 35 - }) 36 - export class AppComponent { 37 - name = "Dane"; 38 - } 39 - ``` 40 - 41 - You can also make your own pipes to do whatever you need them to, like this capitalize pipe! 42 - 43 - ```ts 44 - // captialize.ts 45 - import { Pipe, PipeTransform } from "@angular/core"; 46 - 47 - @Pipe({ 48 - name: "capitalize", 49 - standalone: true, 50 - }) 51 - export class CapitalizePipe implements PipeTransform { 52 - transform(value: string): string { 53 - if (typeof value !== "string" || value.length <= 1) return value; 54 - let uppercasedFirstLetter = value.slice(0, 1).toUpperCase(); 55 - let restOfWord = value.substring(1, value.length); 56 - return `${uppercasedFirstLetter}${restOfWord}`; 57 - } 58 - } 59 - ``` 60 - 61 - ```ts 62 - // main.ts 63 - import { Component } from "@angular/core"; 64 - import { CapitalizePipe } from "./capitalize"; 65 - 66 - @Component({ 67 - selector: "app-root", 68 - standalone: true, 69 - template: ` Hello world, {{ name | capitalize }} `, 70 - imports: [CapitalizePipe], 71 - }) 72 - export class AppComponent { 73 - name = "dane"; 74 - } 75 - ``` 76 - 77 - Simple examples but you can imagine how useful this is and I honestly prefer writing reusable functions like this. 78 - 79 - ## Deferrable views 80 - 81 - This is something new in Angular and something most frameworks/libraries have included but the way it's been done in Angular is super cool and really simple to grasp. [In the documentation](https://angular.dev/guide/defer) they have a simple example showing how to defer something like a list of comments so that the page loads quicker. Sure, when there are maybe 1 or 2 comments it won't impact page performance much but when that list grows a user will have to wait for the main content _and_ the comments to be loaded. Angular 17 introduces deferrable views to help with this sort of thing. Let's say I want to defer the loading of a list of recipies, I would do something like this: 82 - 83 - ```ts 84 - @defer { 85 - <recipie-list /> 86 - } 87 - ``` 88 - 89 - That's literally it! In addition to the @defer syntax you can also specify a placeholder. Placeholders are good because it gives the user more information about what's happening and makes it so content doesn't just show up on the page. So combined with the last snippet it could look something like this: 90 - 91 - ```ts 92 - @defer { 93 - <recipe-list /> 94 - } @placeholder (minimum 500ms) { 95 - <p>Recipe list is loading...</p> 96 - } 97 - ``` 98 - 99 - The `minimum` parameter let's us say how long the placeholder should show before showing the resolved content. This is done so there isn't a weird flicker after the content is ready to be shown. This only scratches the surface of what Angular gives you to help improve the performance of your website, there are a few examples on how you get fine tuned performance even more with triggers which is definitely worth a read. 100 - 101 - I honestly believe Angular should be given another chance with this new release, there are a ton of great features you get out of the box that help with making a performant website. I plan on using Angular to make a side project so I can really explore all of the features in depth and I hope more people do the same!
···
-131
src/content/blog/running-a-containerized-application-in-the-cloud.md
··· 1 - --- 2 - title: Running a containerized application in the cloud using AWS App Runner 3 - description: Exploring the new AWS App Runner service 4 - published_at: 2021-05-19 5 - year: 2021 6 - --- 7 - 8 - I've been pretty deep in the cloud space for a few weeks now, researching different topics related to system design and playing around with different AWS services. So far I've been playing around with containers and figuring out ways I could deploy a simple containerized application to the cloud without much fuss. I've found AWS Elastic Container Service and AWS Elastic Kubernetes Service (more on kubernetes in another blog post, I've been having fun learning about it) but those are more for managing clusters of containers than just being able to deploy something simple and small. I've also looked at AWS Elastic Beanstalk and while it is possible to deploy docker containers through that service I haven't had much luck doing it through the UI or the Elastic Beanstalk CLI. 9 - 10 - ## Enter AWS App Runner 11 - 12 - This was actually just released a few days ago and is pretty much exactly what I needed for the application I wanted to run. It is pretty similar to Elastic Beanstalk in some ways but with Elastic Beanstalk there are still some things you need to configure yourself like SSL for example whereas with App Runner that's already ready and configured for you. You can simply upload a docker image to your AWS Container registry or link your github repository and any time the image is updated or new code is pushed it'll re-run the build process and deploy your application (automatic deployments are opt-in and a flat $1/month). There are some costs associated with provisioned / active instances + the amount of RAM and CPU you choose and you're billed by the hour but the cost is pretty low and depends on how much traffic your application is getting. 13 - 14 - ## Deploying an application to App Runner 15 - 16 - In these next few screenshots I'll show going from a simple node application to a deployed version in App Runner. I will be using docker to deploy so if you don't already have it installed and would like to follow along I'd suggest doing that now. 17 - 18 - ### Bootstrapping our application 19 - 20 - So, you've decided to feed your hotwheels addiction by making an application to trade hotwheels with other enthusiasts. Great idea! First we'll need to install some dependencies. 21 - 22 - ```bash 23 - mkdir hotwheels-trading-app && cd hotwheels-trading-app 24 - npm init -y 25 - npm install express 26 - ``` 27 - 28 - With our dependencies installed we can now start adding some code! 29 - 30 - ```javascript 31 - // index.js 32 - const express = require("express"); 33 - const app = express(); 34 - 35 - app.get("/", (_, response) => { 36 - response.status(200).json({ 37 - data: { 38 - message: "Welcome to my hotwheels app!", 39 - }, 40 - }); 41 - }); 42 - 43 - app.listen(4000, () => console.log("App running!")); 44 - ``` 45 - 46 - Beautiful, ain't it? You can test it out by running `node index.js` and navigating to `http://localhost:4000`. 47 - 48 - Next we'll containerize the application. Create a Dockerfile and add this to it. 49 - 50 - ```bash 51 - FROM node:alpine 52 - 53 - WORKDIR /app 54 - 55 - COPY package*.json /app/ 56 - 57 - RUN npm install 58 - 59 - COPY . /app/ 60 - 61 - CMD ["node", "index.js"] 62 - ``` 63 - 64 - Then build the image. 65 - 66 - ```bash 67 - docker build -t hotwheels-app:latest . 68 - ``` 69 - 70 - Then test it locally to make sure everything is still working. 71 - 72 - ```bash 73 - docker run --name hotwheels-app -p 4000:4000 -d hotwheels-app:latest 74 - ``` 75 - 76 - You should be able to navigate to the same URL that we used before and see the same message. Alright cool, we've finished setting up our nifty application and now we want to get it to the public. 77 - 78 - ### Uploading the image to AWS Elastic Container Registry 79 - 80 - In the AWS console navigate over to the Elastic Container Registry 81 - 82 - ![AWS Console search results](https://www.datocms-assets.com/44755/1621569095-console.png) 83 - 84 - Then click create repository 85 - 86 - ![Image of the AWS ECR main screen](https://www.datocms-assets.com/44755/1621569099-ecr1.png) 87 - 88 - You can just leave all the settings to default (I chose to turn scanning on just so it checks for vulnerabilites but for this you don't need to turn it on) 89 - 90 - ![Image of AWS ECR create repository page](https://www.datocms-assets.com/44755/1621569102-ecr2.png) 91 - 92 - Once the repository is created you should see it in the list on the main screen, click the repository name then in the top right click "View push commands". Copy and execute the commands one by one to push your image to the repository. After you're done you should see your image in the repository (click the refresh button if you don't). 93 - 94 - ![Image of docker container in the ECR repository](https://www.datocms-assets.com/44755/1621569528-ecr4.png) 95 - 96 - That's all that needs to be done for the docker image side of things. The last step would be to get everything set up in App Runner. 97 - 98 - ### Deploying our cool new app ๐Ÿš€ 99 - 100 - In the AWS console head over to AWS App runner. 101 - 102 - ![Image of AWS console](https://www.datocms-assets.com/44755/1621571455-runner1.png) 103 - 104 - Some more things App Runner includes out of the box are 105 - load balancing, auto-scaling and monitoring via cloud watch and since you're already in the AWS ecosystem you can make use of the many other services they offer. 106 - 107 - Click "Create an App Runner service" to get started. In the first step you're prompted with a few different options. We'll be using the docker image we uploaded to ECR so keep the repository type "Container registry" selected. The provider you can leave default also since we uploaded our image to a private repository but if you wanted to you could use public also so as long your image is in a public respository. 108 - 109 - ![Image of App Runner create service page](https://www.datocms-assets.com/44755/1621571459-runner2.png) 110 - 111 - For the docker image click browse and select the hotwheels-app from the dropdown and then click continue. 112 - 113 - ![Image of selecting docker image for App Runner](https://www.datocms-assets.com/44755/1621571463-runner3.png) 114 - 115 - For deployment settings you have the option between manual and automatic. As a reminder, **automatic deployments do cost money** ($1/month) so keep that in mind if you do select it. For this example I will but will also delete the application right after I am done as I don't think it incurs a cost. 116 - 117 - For step two all you need to do is give the application a name and fill out the port number. In this step you're also able to customize the auto-scaling settings, you can set minimum and maximum instances as well as the amount of concurrent requests your application should reach before adding more instances. 118 - 119 - ![Image of step two of App Runner settings](https://www.datocms-assets.com/44755/1621571466-runner4.png) 120 - 121 - Step three is just reviewing your configurations but you can also edit anything here if you wanted to. After you're done reviewing just click "create & deploy" and wait for your application to be created. 122 - 123 - ### Issues 124 - 125 - As of May 20th, 2021, creating a service role is a bit bugged and you'll get an error the first time you use App Runner when you get to the 3rd step. What I did was select "create service role" then fill out the information until the end then click create & deploy. You may or may not get an error depending on if it's fixed or not but if it isn't all you have to do is go back to step one and select "use existing role" and select the app runner role from the list then try deploying again. 126 - 127 - If everything goes well you should see a message saying the deployment was successful and there is a link provided under "default domain" to view your newly deployed application! Remember to tear down the environment after playing around with it also! 128 - 129 - ## Conclusion 130 - 131 - I think App Runner is pretty neat and I may use it in the future to host an application. Another free alternative would be Heroku but if you're looking for something equivalent in the AWS space this is it. I'd suggest to keep poking around and taking a look at the [pricing](https://aws.amazon.com/apprunner/pricing/) breakdown and find which configuration fits for you.
···
-255
src/content/blog/supabase-auth-with-remix-and-vite.md
··· 1 - --- 2 - title: Add authentication to your Remix application with Supabase 3 - description: Adding authentication to your remix app with Supabase has never been easier, this blog post will show you how to get up and running quickly 4 - year: 2024 5 - published_at: 2024-03-08 6 - --- 7 - 8 - With Supabase now fully supporting doing authentication completely server-side, it has never been easier to take advantage of all of the features that it offers. We'll go through how to quickly spin up a Remix project and add supabase with authentication. 9 - 10 - ## Spin up a new Remix project 11 - 12 - This guide should also work for non-vite Remix projects but my preference is to use vite so we'll use a clean vite template. 13 - 14 - ```bash 15 - npx create-remix@latest 16 - ``` 17 - 18 - Run this command in your terminal and follow the prompts, then open your new project in your editor of choice. You'll also need to [create a new project in supabase](https://supabase.com/) so that we can get access to the environment variables for this example. 19 - 20 - Once you've created a supabase project, in the root of your project create a `.env` file and paste in the values for your `SUPABASE_URL` and `SUPABASE_ANON_KEY`. You can find these values by going into your supabase project dashboard, clicking on the on the connect button and selecting Remix from the frameworks list. 21 - 22 - ![Supabase dashboard connect button](https://i.ibb.co/k4GYkG8/Screenshot-2024-03-07-at-6-38-35-PM.png) 23 - 24 - ![Supabase frameworks dropdown list](https://i.ibb.co/HpXVMMW/Screenshot-2024-03-07-at-6-40-13-PM.png) 25 - 26 - Lastly, install the `@supabase/ssr` package. 27 - 28 - ```bash 29 - npm install @supabase/ssr 30 - ``` 31 - 32 - ## Setting up authentication 33 - 34 - There are a bunch of ways you can set up auth in supabase. E-mail and password combo, E-mail magic link, OAuth and so on. For the sake of this blog post we'll set up E-mail and password since it's the simplest one. Though that should be enough to explore the other methods as well if you wish. 35 - 36 - ### Create the necessary files 37 - 38 - In here we are just creating a utility function so that we can re-use this function across all instances where we need to access supabase resources. 39 - 40 - ```ts 41 - // app/utils/supabase.server.ts 42 - 43 - import { createServerClient, serialize, parse } from "@supabase/ssr"; 44 - 45 - export function createClient(request: Request) { 46 - const cookies = parse(request.headers.get("Cookie") ?? ""); 47 - const headers = new Headers(); 48 - 49 - const supabase = createServerClient( 50 - process.env.SUPABASE_URL!, 51 - process.env.SUPABASE_ANON_KEY!, 52 - { 53 - cookies: { 54 - get(key) { 55 - return cookies[key]; 56 - }, 57 - set(key, value, options) { 58 - headers.append("Set-Cookie", serialize(key, value, options)); 59 - }, 60 - remove(key, options) { 61 - headers.append("Set-Cookie", serialize(key, "", options)); 62 - }, 63 - }, 64 - }, 65 - ); 66 - 67 - return { 68 - supabase, 69 - headers, 70 - }; 71 - } 72 - ``` 73 - 74 - This file is for when we are signing up for the first time and receive a confirmation e-mail. Clicking the link with log you in automatically but going forward you will log in through the log in page. 75 - 76 - ```ts 77 - // app/routes/auth.callback.tsx 78 - 79 - import { redirect, type LoaderFunctionArgs } from "@remix-run/node"; 80 - import { createClient } from "~/utils/supabase.server"; 81 - 82 - export async function loader({ request }: LoaderFunctionArgs) { 83 - const requestUrl = new URL(request.url); 84 - const code = requestUrl.searchParams.get("code"); 85 - const next = requestUrl.searchParams.get("next") || "/"; 86 - const { supabase, headers } = createClient(request); 87 - 88 - if (code) { 89 - const { error } = await supabase.auth.exchangeCodeForSession(code); 90 - if (!error) { 91 - return redirect(next, { headers }); 92 - } 93 - } 94 - 95 - return redirect("/auth/auth-error-page", { headers }); 96 - } 97 - ``` 98 - 99 - Sign up page, you will recieve a confirmation e-mail for the first time that you sign up. After you click the link in your e-mail you will be signed in. 100 - 101 - ```ts 102 - // app/routes/signup.tsx 103 - 104 - import { ActionFunctionArgs, json } from "@remix-run/node"; 105 - import { Form } from "@remix-run/react"; 106 - import { createClient } from "~/utils/supabase.server"; 107 - 108 - export async function action({ request }: ActionFunctionArgs) { 109 - const formData = await request.formData(); 110 - const email = formData.get("email") as string; 111 - const password = formData.get("password") as string; 112 - const { supabase } = createClient(request); 113 - 114 - const { error } = await supabase.auth.signUp({ 115 - email, 116 - password, 117 - }); 118 - 119 - if (error) { 120 - return json({ message: error.message }, { status: 400 }); 121 - } 122 - return null; 123 - } 124 - 125 - export default function Component() { 126 - return ( 127 - <div> 128 - <h1>Sign up</h1> 129 - <Form method="POST"> 130 - <label htmlFor="email">E-mail</label> 131 - <input type="email" name="email" id="email" /> 132 - <label htmlFor="password">Password</label> 133 - <input type="password" name="password" id="password" /> 134 - <button type="submit">Sign up</button> 135 - </Form> 136 - </div> 137 - ); 138 - } 139 - ``` 140 - 141 - Log in page, if all goes well then you will be redirected to the home page after logging in successfully. 142 - 143 - ```ts 144 - // app/routes/login.tsx 145 - 146 - import { ActionFunctionArgs, json } from "@remix-run/node"; 147 - import { Form } from "@remix-run/react"; 148 - import { redirect } from "react-router"; 149 - import { createClient } from "~/utils/supabase.server"; 150 - 151 - export async function action({ request }: ActionFunctionArgs) { 152 - const formData = await request.formData(); 153 - const email = formData.get("email") as string; 154 - const password = formData.get("password") as string; 155 - const { supabase, headers } = createClient(request); 156 - 157 - const { error } = await supabase.auth.signInWithPassword({ 158 - email, 159 - password, 160 - }); 161 - 162 - if (error) { 163 - return json({ message: error.message }, { status: 400 }); 164 - } 165 - return redirect("/", { headers }); 166 - } 167 - 168 - export default function Component() { 169 - return ( 170 - <div> 171 - <h1>Log in</h1> 172 - <Form method="POST"> 173 - <label htmlFor="email">E-mail</label> 174 - <input type="email" name="email" id="email" /> 175 - <label htmlFor="password">Password</label> 176 - <input type="password" name="password" id="password" /> 177 - <button type="submit">Log in</button> 178 - </Form> 179 - </div> 180 - ); 181 - } 182 - ``` 183 - 184 - To verify that everything is working correctly, you can display the information of the currently logged in user. 185 - 186 - ```ts 187 - // app/_index.tsx 188 - 189 - import type { LoaderFunctionArgs, MetaFunction } from "@remix-run/node"; 190 - import { useLoaderData } from "@remix-run/react"; 191 - import { createClient } from "~/utils/supabase.server"; 192 - 193 - export const meta: MetaFunction = () => { 194 - return [ 195 - { title: "New Remix App" }, 196 - { name: "description", content: "Welcome to Remix!" }, 197 - ]; 198 - }; 199 - 200 - export async function loader({ request }: LoaderFunctionArgs) { 201 - const { supabase } = createClient(request); 202 - 203 - const { data } = await supabase.auth.getSession(); 204 - 205 - return { user: data?.session?.user }; 206 - } 207 - 208 - export default function Index() { 209 - const { user } = useLoaderData<typeof loader>(); 210 - return ( 211 - <div> 212 - <h1>Currently logged in user</h1> 213 - <pre>{JSON.stringify(user, null, 2)}</pre> 214 - </div> 215 - ); 216 - } 217 - ``` 218 - 219 - Finally, add a log out button and resource route so that you can sign the user out. 220 - 221 - ```diff 222 - export default function Index() { 223 - const { user } = useLoaderData<typeof loader>(); 224 - return ( 225 - <div> 226 - <h1>Currently logged in user</h1> 227 - <pre>{JSON.stringify(user, null, 2)}</pre> 228 - + <Form method="POST" action="/logout"> 229 - + <button type="submit">Log out</button> 230 - + </Form> 231 - </div> 232 - ); 233 - } 234 - ``` 235 - 236 - ```ts 237 - // app/logout.tsx 238 - 239 - import { ActionFunctionArgs, redirect } from "@remix-run/node"; 240 - import { createClient } from "~/utils/supabase.server"; 241 - 242 - export async function action({ request }: ActionFunctionArgs) { 243 - const { supabase, headers } = createClient(request); 244 - await supabase.auth.signOut(); 245 - return redirect("/login", { headers }); 246 - } 247 - 248 - export const loader = () => redirect("/"); 249 - ``` 250 - 251 - And with that you have fully functioning authentication! 252 - 253 - ## Conclusion 254 - 255 - This is all that is needed to set up authentication, you can explore the other authentication methods if you choose to do so. I have a [repository set up with Github authentication](https://github.com/nulfrost/supabase-remix-ssr) as well as a [live example of supabase auth in action](https://supabase-ssr-remix.vercel.app/).
···
-108
src/content/blog/type-safe-environment-variables-in-remix.md
··· 1 - --- 2 - title: Type-safe environment variables in your Remix application using t3-env 3 - description: Quickly and easily add type-safety and runtime validation to your environment variables using the t3-env package. 4 - year: 2024 5 - published_at: 2024-04-05 6 - --- 7 - 8 - There are many was you can get type-safe variables in your projects, I've tried a few but recently found the t3-env package which makes it even easier and comes with some nice features as well. I will quickly walk through how to set this up in a Remix project. 9 - 10 - ## Install t3-env 11 - 12 - As of writing this, currently you can't just bring in any validation library so you will need to install `zod` as well. 13 - 14 - ```bash 15 - npm install @t3-oss/env-core zod 16 - ``` 17 - 18 - ## Create a new `env.server.ts` file 19 - 20 - Inside of the `/app` directory, create a file named `env.server.ts` and add the following code: 21 - 22 - ```typescript 23 - // app/env.server.ts 24 - 25 - import { createEnv } from "@t3-oss/env-core"; 26 - import { z } from "zod"; 27 - 28 - export const env = createEnv({ 29 - server: { 30 - DATABASE_URL: z.string().url(), 31 - // whatever else you may need 32 - }, 33 - }); 34 - ``` 35 - 36 - Then, to access the environment variables in your loaders or actions or anywhere you might need them, you would just need to import the `env` object and use it like this: 37 - 38 - ```typescript 39 - import { env } from "~/env.server"; 40 - 41 - export async function loader() { 42 - const dbUrl = env.server.DATABASE_URL; 43 - // do something with the dbUrl 44 - } 45 - ``` 46 - 47 - This is enough to get type-safety for your environment variables, but we can go even further. 48 - 49 - If you want to add runtime validation you just need to add a single property: 50 - 51 - ```typescript 52 - export const env = createEnv({ 53 - // ... 54 - runtimeEnv: process.env, 55 - }); 56 - ``` 57 - 58 - and then you'll need to import the `env.server.ts` file into the `entry.server.tsx` file like so: 59 - 60 - ```diff 61 - // app/entry.server.tsx 62 - 63 - import { PassThrough } from "node:stream"; 64 - 65 - import type { AppLoadContext, EntryContext } from "@remix-run/node"; 66 - import { createReadableStreamFromReadable } from "@remix-run/node"; 67 - import { RemixServer } from "@remix-run/react"; 68 - import { isbot } from "isbot"; 69 - import { renderToPipeableStream } from "react-dom/server"; 70 - + import "~/env.server.ts"; 71 - 72 - ``` 73 - 74 - On top of that, if you want to override the default error handler, you can do so like this: 75 - 76 - ```typescript 77 - export const env = createEnv({ 78 - onValidationError: (error) => { 79 - throw new Error( 80 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 81 - ); 82 - }, 83 - // ... 84 - }); 85 - ``` 86 - 87 - Putting that all together you should end up with a file that looks like this: 88 - 89 - ```typescript 90 - // app/env.server.ts 91 - 92 - import { createEnv } from "@t3-oss/env-core"; 93 - import { z } from "zod"; 94 - 95 - export const env = createEnv({ 96 - onValidationError: (error) => { 97 - throw new Error( 98 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 99 - ); 100 - }, 101 - server: { 102 - DATABASE_URL: z.string().url(), 103 - }, 104 - runtimeEnv: process.env, 105 - }); 106 - ``` 107 - 108 - If you want to see all of the features available in the t3-env package, I recommend checking out [the official documentation](https://env.t3.gg/docs/introduction).
···
-57
src/content/blog/what-im-going-to-be-learning-in-2022.md
··· 1 - --- 2 - title: What I'm going to be learning in the year 2022 3 - description: Tech / frameworks / languages I'm focusing on in the new year 4 - published_at: 2021-12-15 5 - year: 2021 6 - --- 7 - 8 - This year has been a pretty wild ride for me, from not having a job for almost a year then having multiple offers and then now ending up at a place I feel comfortable in. All in all I think I've made good decisions 9 - and I'm looking forward to more growth in the new year! ๐Ÿš€ 10 - 11 - In terms of learning new things I don't feel like I have done that a lot this year. Things in tech move pretty fast and it gets exhausting trying to keep up with everything that is happening 12 - but for the new year I want to change that. I have an itch to build things and try out all the stuff I've read about in the past year, and maybe actually follow through with finishing my side projects. Okay 13 - who are we kidding that won't change. 14 - 15 - For real though, I want to take my knowledge to the next level. I struggle with figuring out where I stand in terms of experience, I'm not quite a junior but also I feel 16 - my skills aren't there yet to consider myself a senior developer. I know labels don't really matter much but for myself I'd just like to figure out where I am. So, in the new year I'm going to reinforce 17 - the skills I already have and tackle some new things. Here's what I plan to do. 18 - 19 - ## New languages 20 - 21 - I don't really have much for this section, I've been learning Go on and off for probably about a year now but I haven't really applied my learning. I hope to pair it with my learning of cloud technologies. Also I guess rust is all the rage now so maybe that will be worth while to learn, who knows. 22 - 23 - ## Open source 24 - 25 - One thing I'd really love to do is get involved with the open source commmunity whether it be something I make or contributing to another project. This is another thing I have fears about when it comes to being judged harshly for maybe not doing things the correct way. Also a lot of open source projects look pretty daunting. 26 - I know the contribution doesn't have to be code all the time though so maybe I'll focus my efforts on improving documentation first before trying to contribute some code. 27 - 28 - ## Getting really good at CSS 29 - 30 - I know people like to joke about CSS and say it's really hard to work with and while there might be some truth to that I think it's extremely worth while as a frontend developer to be really good at it. You 31 - can definitely get away with knowing the very basic stuff but I've seen some amazing website designs from people on twitter and I'd love to be able to get to that level. I did purchase Josh Comeau's css <a href="https://css-for-js.dev/" target="_blank" rel="noopener noreferrer" aria-label="Visit CSS for JS devs, opens in a new tab">course</a> back 32 - when it was in preview for a good price. I got through most of the sections but work got in the way so I didn't finish it. I plan on starting over from the beginning and finishing it. 33 - 34 - ## Head in the clouds 35 - 36 - After completing the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam last year I started looking into possibly studying for the solutions architect exam for <abbr title="Amazon Web Services">AWS</abbr> next. It is slightly harder than the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam but I have confidence that 37 - with enough preparation I will do fine. I do love learning about cloud technologies 38 - and this the career path I will likely end up going to sometime in the future. Kubernetes 39 - is another thing I tinkered with a bit this year which I plan on going back to and 40 - doing a deeper dive on also. Besides that I want to practice building out mock environments 41 - for small to medium business scenarios for fun and for practice. 42 - 43 - ## Frameworks on Frameworks 44 - 45 - As much as I love Next.js it would be foolish for me to not give kudos to the team behind Remix. My first impressions with it have been extremely positive and I want to try building some side projects with 46 - it as soon as possible! That isn't to say that Vercel hasn't been making some big moves this year either. Some new things introduced such as middleware, URL imports (holy shit), the new rust compiler and alpha support for React server components 47 - has me extremely excited for whats to come next year. Also them going on a hiring spree and picking up some of the brightest minds in tech seems pretty promising too. 48 - 49 - ## Shipping more 50 - 51 - The one thing I love about web development is how easy it is to get started with a project and share it with the world within a matter of minutes. I love the feeling of completing a project (which happens sometimes), hooking it up to a hosting site and then finding all of the bugs you missed during developement. There are 52 - definitely a ton of ideas I'd like to try shipping this year. A lot of this inspiration comes from watching people on twitter ship their side projects, sometimes they fail but they are quick to move onto something else and take the knowledge they've gained from a previous project 53 - and apply it to something new. I think what scared me before was the fear of failing or receiving harsh feedback on the ideas I have but I'm not going to let that stop me in the new year. 2022 is the year of shipping more! 54 - 55 - ## Conclusion 56 - 57 - I've definitely outlined a lot of stuff I want to do in the new year but I don't think it's impossible for me to complete. It's just a matter of creating a plan and sticking to it. I hope by this time next year that I've gained a ton of knowledge and completed all the objectives I've laid out in this post.
···
-12
src/content/blog/you-dont-have-to-code-all-the-time.md
··· 1 - --- 2 - title: You don't have to code all the time 3 - description: Talking about burnout and how I recovered 4 - published_at: 2021-03-18 5 - year: 2021 6 - --- 7 - 8 - Honestly, this is something that I have to remind myself all the time. There's always this voice in the back of my head that tells me I'm wasting time if I'm not practicing or reading about the hip new javascript library that just came out. Being self-taught I always feel I lack a ton of skills that people that have a degree in computer science have and feel very insecure when I'm stuck on a task at work which makes me feel very dumb. 9 - 10 - I know it isn't true and there are endless examples of people that don't have a degree in CS that are extremely smart and are doing exceptionally well in the field and I guess this is something I just need to get over. Mostly what I think it is, is burnout from trying to get _in_ to the software development industry. I have a tech, non-CS background but worked manual labor jobs after college because I was still unsure of what I wanted to do career wise. Software / web development was something I always came back to because at the time it was really fun and I liked creating cool things in the browser. Two years ago I started studying endlessly to get a job as a frontend developer and would use any free time I had to learn. While it was very tiring at times and I would get frustrated I still enjoyed it and still do. 11 - 12 - I did end up getting a job as an intern last year but I think at that point the burnout had already set in. I did enjoy working at the place I was hired at but I would be really hard on myself when I couldn't do simple things and would have mini breakdowns some days. While I still love web development I think I need to turn my brain off for longer breaks and just relax a bit. I enjoy working hard but not to the point where I feel depressed all the time. If I have any advice for people that are in the same situation I was in I'd just say step away from the computer and do things that make you happy. No job / profession is worth driving yourself insane.
···
-15
src/content/config.ts
··· 1 - import { defineCollection, z } from "astro:content"; 2 - 3 - const blogCollection = defineCollection({ 4 - type: "content", 5 - schema: z.object({ 6 - title: z.string(), 7 - description: z.string(), 8 - year: z.number(), 9 - published_at: z.date(), 10 - }), 11 - }); 12 - 13 - export const collections = { 14 - blog: blogCollection, 15 - };
···
-2
src/env.d.ts
··· 1 - /// <reference path="../.astro/types.d.ts" /> 2 - /// <reference types="astro/client" />
···
src/images/dane.png

This is a binary file and will not be displayed.

-27
src/layouts/BlogLayout.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - import Meta from "../components/Meta.astro"; 8 - import Navbar from "../components/Navbar.astro"; 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body> 16 - <Navbar /> 17 - <main class="max-w-5xl px-3 mx-auto xl:px-0" id="maincontent"> 18 - <h1 class="mt-4 mb-1 text-4xl font-bold"> 19 - {title} 20 - </h1> 21 - <p class="mb-4 text-gray-500">{description}</p> 22 - <div class="pb-6 prose max-w-none"> 23 - <slot /> 24 - </div> 25 - </main> 26 - </body> 27 - </html>
···
-21
src/layouts/Layout.astro
··· 1 - --- 2 - import Meta from "../components/Meta.astro"; 3 - import Navbar from "../components/Navbar.astro"; 4 - interface Props { 5 - title: string; 6 - description: string; 7 - } 8 - 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body class="bg-snes-light-gray"> 16 - <Navbar /> 17 - <main class="max-w-5xl px-3 mx-auto xl:px-0 pb-5 md:pb-0" id="maincontent"> 18 - <slot /> 19 - </main> 20 - </body> 21 - </html>
···
-20
src/pages/blogs/[blog].astro
··· 1 - --- 2 - import BlogLayout from "../../layouts/BlogLayout.astro"; 3 - import { type CollectionEntry, getCollection } from "astro:content"; 4 - 5 - export async function getStaticPaths() { 6 - const posts = await getCollection("blog"); 7 - return posts.map((post) => ({ 8 - params: { blog: post.slug }, 9 - props: post, 10 - })); 11 - } 12 - 13 - type Props = CollectionEntry<"blog">; 14 - const post = Astro.props; 15 - const { Content } = await post.render(); 16 - --- 17 - 18 - <BlogLayout {...post.data}> 19 - <Content /> 20 - </BlogLayout>
···
-27
src/pages/blogs/index.astro
··· 1 - --- 2 - import Layout from "../../layouts/Layout.astro"; 3 - import BlogPost from "../../components/BlogPost.astro"; 4 - import { getCollection } from "astro:content"; 5 - 6 - const posts = (await getCollection("blog")).sort( 7 - (a, b) => b.data.published_at.valueOf() - a.data.published_at.valueOf() 8 - ); 9 - --- 10 - 11 - <Layout 12 - title="Dane's Space | Blog" 13 - description="Where I write about things I've learned or found interesting" 14 - > 15 - <h1 class="mt-4 mb-4 text-2xl font-bold text-snes-black">Blog</h1> 16 - <ul class="space-y-4"> 17 - { 18 - posts.map((post) => ( 19 - <BlogPost 20 - title={post.data.title} 21 - slug={post.slug} 22 - published_at={post.data.published_at} 23 - /> 24 - )) 25 - } 26 - </ul> 27 - </Layout>
···
-119
src/pages/index.astro
··· 1 - --- 2 - import { Image } from "astro:assets"; 3 - import daneImage from "../images/dane.png"; 4 - import Layout from "../layouts/Layout.astro"; 5 - import Link from "../components/Link.astro"; 6 - 7 - import { getCollection } from "astro:content"; 8 - 9 - const posts = (await getCollection("blog")) 10 - .sort((a, b) => b.data.published_at.valueOf() - a.data.published_at.valueOf()) 11 - .slice(0, 4); 12 - --- 13 - 14 - <Layout 15 - title="Dane's Space | Home" 16 - description="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies." 17 - > 18 - <h1 class="text-2xl font-bold mb-4">Dane</h1> 19 - <div class="mb-4 grid xl:grid-cols-2 gap-4"> 20 - <div> 21 - <div> 22 - <Image 23 - src={daneImage} 24 - alt="Dane staring down at his camera while on a boat" 25 - format="avif" 26 - quality={80} 27 - class="h-full w-sm rounded-sm border border-gray-300 mb-2" 28 - /> 29 - </div> 30 - <div> 31 - <p>He/They</p> 32 - <p>29 years old</p> 33 - <p>Toronto, ONTARIO, Canada</p> 34 - </div> 35 - </div> 36 - <div> 37 - <h2 class="font-bold mb-1">Dane&apos;s latest blog entires</h2> 38 - <ul> 39 - { 40 - posts.map((post) => ( 41 - <li class="mb-2"> 42 - <p class="mb-0 max-w-[60ch]"> 43 - {post.data.title} 44 - <Link 45 - href={`/blogs/${post.slug}`} 46 - extraClasses="text-sm font-bold ml-1" 47 - > 48 - (view more) 49 - </Link> 50 - </p> 51 - <span class="text-gray-500 text-sm"> 52 - posted on{" "} 53 - <time datetime={post.data.published_at.toISOString()}> 54 - {new Intl.DateTimeFormat("en-US").format( 55 - new Date(post.data.published_at) 56 - )} 57 - </time> 58 - </span> 59 - </li> 60 - )) 61 - } 62 - </ul> 63 - <Link href="/blogs" extraClasses="font-bold">View All Blog Entries</Link> 64 - </div> 65 - </div> 66 - <div class="grid xl:grid-cols-2"> 67 - <div class="border-2 border-blue-400 xl:w-[400px] h-min mb-4 xl:mb-0"> 68 - <h2 class="bg-blue-400 font-bold text-white px-2 py-0.5"> 69 - Contacting Dane 70 - </h2> 71 - <ul class="px-2 py-0.5"> 72 - <li class="flex items-center gap-1"> 73 - <div class="i-lucide-mailbox"></div> 74 - <Link href="mailto:khadane.miller@gmail.com?subject=Hey%20There"> 75 - Send Message 76 - </Link> 77 - </li> 78 - <li class="flex items-center gap-1"> 79 - <div class="i-lucide-square-user"></div> 80 - <Link 81 - href="https://www.linkedin.com/in/dmiller94/" 82 - target="_blank" 83 - rel="noopener noreferrer" 84 - > 85 - Add on LinkedIn 86 - </Link> 87 - </li> 88 - <li class="flex items-center gap-1"> 89 - <div class="i-lucide-at-sign"></div> 90 - <Link 91 - href="https://www.threads.net/@dane__m" 92 - target="_blank" 93 - rel="noopener noreferrer" 94 - > 95 - Follow on Threads 96 - </Link> 97 - </li> 98 - </ul> 99 - </div> 100 - <div> 101 - <h2 class="bg-orange-200 font-bold text-orange-500 px-2 py-0.5 mb-2"> 102 - Dane's Blurbs 103 - </h2> 104 - <h3 class="text-orange-500 font-bold">About me:</h3> 105 - <p class="mb-4"> 106 - I'm a developer from Toronto interested in making <i>cool</i> and <span 107 - class="font-bold">accessible</span 108 - > websites for everyone. 109 - </p> 110 - <p> 111 - I got my start in programming through video games and just being very 112 - curious about how things worked. Eventually that turned in to developing 113 - websites which I am still doing today but I have interests in other 114 - areas such as DevOps and Game Development. I also try to blog about 115 - things I've learned when I remember to do so. 116 - </p> 117 - </div> 118 - </div> 119 - </Layout>
···
-3
tsconfig.json
··· 1 - { 2 - "extends": "astro/tsconfigs/strict" 3 - }
···
-22
uno.config.ts
··· 1 - import { 2 - defineConfig, 3 - presetWebFonts, 4 - transformerVariantGroup, 5 - presetUno, 6 - presetIcons, 7 - presetTypography, 8 - } from "unocss"; 9 - 10 - export default defineConfig({ 11 - presets: [ 12 - presetUno(), 13 - presetWebFonts({ 14 - fonts: { 15 - sans: "Asap:100,300,400,600,700", 16 - }, 17 - }), 18 - presetIcons(), 19 - presetTypography(), 20 - ], 21 - transformers: [transformerVariantGroup()], 22 - });
···