├── pnpm-workspace.yaml ├── playground ├── ssr │ ├── src │ │ ├── components │ │ │ ├── foo.css │ │ │ ├── Button.jsx │ │ │ └── Foo.jsx │ │ ├── assets │ │ │ ├── logo.png │ │ │ ├── fonts │ │ │ │ ├── Inter-Italic.woff │ │ │ │ └── Inter-Italic.woff2 │ │ │ └── button.css │ │ ├── entry-client.js │ │ ├── main.js │ │ ├── pages │ │ │ ├── About.vue │ │ │ └── Home.vue │ │ ├── router.js │ │ ├── App.vue │ │ └── entry-server.js │ ├── public │ │ └── favicon.ico │ ├── vite.config.js │ ├── index.html │ ├── package.json │ └── server.js └── basic │ ├── main.js │ ├── TestJsx.tsx │ ├── tsconfig.json │ ├── TestJsxSFC.vue │ ├── index.html │ ├── vite.config.js │ ├── App.vue │ └── package.json ├── .gitignore ├── src ├── types.ts ├── third-party.d.ts ├── hmrRuntime.ts └── index.ts ├── tsconfig.json ├── LICENSE ├── scripts └── patchCJS.ts ├── package.json ├── README.md └── pnpm-lock.yaml /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - playground/** 3 | -------------------------------------------------------------------------------- /playground/ssr/src/components/foo.css: -------------------------------------------------------------------------------- 1 | .jsx { 2 | color: blue; 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | 4 | *.local 5 | *.log 6 | 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /playground/ssr/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vitejs/vite-plugin-vue2-jsx/HEAD/playground/ssr/public/favicon.ico -------------------------------------------------------------------------------- /playground/ssr/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vitejs/vite-plugin-vue2-jsx/HEAD/playground/ssr/src/assets/logo.png -------------------------------------------------------------------------------- /playground/basic/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | new Vue({ 5 | render: h => h(App), 6 | }).$mount('#app') 7 | -------------------------------------------------------------------------------- /playground/ssr/src/assets/fonts/Inter-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vitejs/vite-plugin-vue2-jsx/HEAD/playground/ssr/src/assets/fonts/Inter-Italic.woff -------------------------------------------------------------------------------- /playground/ssr/src/assets/fonts/Inter-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vitejs/vite-plugin-vue2-jsx/HEAD/playground/ssr/src/assets/fonts/Inter-Italic.woff2 -------------------------------------------------------------------------------- /playground/basic/TestJsx.tsx: -------------------------------------------------------------------------------- 1 | const word = 'JSX works!' 2 | 3 | export default { 4 | render() { 5 | return
{word}
6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /playground/basic/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.web.json", 3 | "include": [ 4 | "./", 5 | ], 6 | "vueCompilerOptions": { 7 | "target": 2.7 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /playground/basic/TestJsxSFC.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /playground/ssr/src/entry-client.js: -------------------------------------------------------------------------------- 1 | import { createApp } from './main' 2 | 3 | const { app, router } = createApp() 4 | 5 | // wait until router is ready before mounting to ensure hydration match 6 | router.onReady(() => { 7 | app.$mount('#app') 8 | }) 9 | -------------------------------------------------------------------------------- /playground/ssr/src/components/Button.jsx: -------------------------------------------------------------------------------- 1 | import { defineComponent } from 'vue' 2 | import '../assets/button.css' 3 | 4 | export default defineComponent({ 5 | setup() { 6 | return () => { 7 | return
dynamicBtn
8 | } 9 | } 10 | }) 11 | -------------------------------------------------------------------------------- /playground/ssr/src/components/Foo.jsx: -------------------------------------------------------------------------------- 1 | import { defineComponent } from 'vue' 2 | import './foo.css' 3 | 4 | // named exports w/ variable declaration: ok 5 | export const Foo = defineComponent({ 6 | name: 'foo', 7 | setup() { 8 | return () =>
from JSX
9 | } 10 | }) 11 | -------------------------------------------------------------------------------- /playground/ssr/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vuePlugin from '@vitejs/plugin-vue2' 3 | import vueJsx from '@vitejs/plugin-vue2-jsx' 4 | 5 | export default defineConfig({ 6 | plugins: [ 7 | vuePlugin(), 8 | vueJsx(), 9 | ], 10 | build: { 11 | minify: false 12 | } 13 | }) 14 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import type { VueJSXPresetOptions } from '@vue/babel-preset-jsx' 2 | import type { FilterPattern } from '@rollup/pluginutils' 3 | 4 | export interface FilterOptions { 5 | include?: FilterPattern 6 | exclude?: FilterPattern 7 | } 8 | 9 | export type Options = VueJSXPresetOptions & 10 | FilterOptions & { babelPlugins?: any[] } 11 | -------------------------------------------------------------------------------- /playground/basic/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /playground/ssr/src/assets/button.css: -------------------------------------------------------------------------------- 1 | .btn { 2 | background-color: #65b587; 3 | border-radius: 8px; 4 | border-style: none; 5 | box-sizing: border-box; 6 | cursor: pointer; 7 | display: inline-block; 8 | font-size: 14px; 9 | font-weight: 500; 10 | height: 40px; 11 | line-height: 20px; 12 | list-style: none; 13 | outline: none; 14 | padding: 10px 16px; 15 | } 16 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src"], 3 | "exclude": ["**/*.spec.ts"], 4 | "compilerOptions": { 5 | "outDir": "dist", 6 | "target": "ES2020", 7 | "module": "ES2020", 8 | "moduleResolution": "Node", 9 | "strict": true, 10 | "declaration": true, 11 | "sourceMap": true, 12 | "noUnusedLocals": true, 13 | "esModuleInterop": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /playground/ssr/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vite App 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/third-party.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@vue/babel-preset-jsx' { 2 | import type { PluginItem } from "@babel/core" 3 | 4 | const preset: PluginItem 5 | export default preset 6 | 7 | export type VueJSXPresetOptions = { 8 | functional?: boolean 9 | injectH?: boolean 10 | vModel?: boolean 11 | vOn?: boolean 12 | 13 | compositionAPI?: 'auto' | 'native' | 'plugin' | boolean | 'naruto' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /playground/basic/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | 3 | import vue2 from '@vitejs/plugin-vue2' 4 | import vue2Jsx from '@vitejs/plugin-vue2-jsx' 5 | 6 | export default defineConfig({ 7 | resolve: { 8 | alias: { 9 | '@': __dirname 10 | } 11 | }, 12 | build: { 13 | sourcemap: true, 14 | minify: false 15 | }, 16 | plugins: [ 17 | vue2(), 18 | vue2Jsx() 19 | ] 20 | }) 21 | -------------------------------------------------------------------------------- /playground/ssr/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import { createRouter } from './router' 4 | 5 | export function createApp () { 6 | // create router instance 7 | const router = createRouter() 8 | 9 | const app = new Vue({ 10 | // inject router into root Vue instance 11 | router, 12 | render: h => h(App) 13 | }) 14 | 15 | // return both the app and the router 16 | return { app, router } 17 | } 18 | -------------------------------------------------------------------------------- /playground/basic/App.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 23 | -------------------------------------------------------------------------------- /playground/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vitejs/vue2-jsx-playground-basic", 3 | "version": "1.0.0", 4 | "private": true, 5 | "description": "", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "serve": "vite preview" 10 | }, 11 | "dependencies": { 12 | "vue": "^2.7.4" 13 | }, 14 | "devDependencies": { 15 | "@vitejs/plugin-vue2": "^1.1.2", 16 | "@vitejs/plugin-vue2-jsx": "workspace:*", 17 | "@vue/tsconfig": "^0.1.3", 18 | "vite": "^2.9.13" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /playground/ssr/src/pages/About.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 27 | 28 | 33 | -------------------------------------------------------------------------------- /playground/ssr/src/router.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | 4 | Vue.use(Router) 5 | 6 | // Auto generates routes from vue files under ./pages 7 | // https://vitejs.dev/guide/features.html#glob-import 8 | const pages = import.meta.glob('./pages/*.vue') 9 | 10 | const routes = Object.keys(pages).map((path) => { 11 | const name = path.match(/\.\/pages(.*)\.vue$/)[1].toLowerCase() 12 | return { 13 | path: name === '/home' ? '/' : name, 14 | component: pages[path] // () => import('./pages/*.vue') 15 | } 16 | }) 17 | 18 | export function createRouter () { 19 | return new Router({ 20 | mode: 'history', 21 | routes 22 | }) 23 | } 24 | -------------------------------------------------------------------------------- /playground/ssr/src/App.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 30 | -------------------------------------------------------------------------------- /playground/ssr/src/pages/Home.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 29 | -------------------------------------------------------------------------------- /playground/ssr/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vitejs/vue2-jsx-playground-ssr", 3 | "version": "1.0.0", 4 | "private": true, 5 | "type": "module", 6 | "description": "", 7 | "scripts": { 8 | "dev": "node server", 9 | "build": "npm run build:client && npm run build:server", 10 | "build:client": "vite build --ssrManifest --outDir dist/client", 11 | "build:server": "vite build --ssr src/entry-server.js --outDir dist/server", 12 | "serve": "cross-env NODE_ENV=production node server.js", 13 | "debug": "node --inspect-brk server.js" 14 | }, 15 | "dependencies": { 16 | "express": "^4.18.1", 17 | "serve-static": "^1.15.0", 18 | "vue": "^2.7.4", 19 | "vue-router": "^3.5.4", 20 | "vue-server-renderer": "^2.7.4" 21 | }, 22 | "devDependencies": { 23 | "@vitejs/plugin-vue2": "^1.1.2", 24 | "@vitejs/plugin-vue2-jsx": "workspace:*", 25 | "compression": "^1.7.4", 26 | "cross-env": "^7.0.3", 27 | "vite": "^3.0.0-beta.9" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /scripts/patchCJS.ts: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | It converts 4 | 5 | ```ts 6 | exports["default"] = vuePlugin; 7 | exports.parseVueRequest = parseVueRequest; 8 | ``` 9 | 10 | to 11 | 12 | ```ts 13 | module.exports = vuePlugin; 14 | module.exports["default"] = vuePlugin; 15 | module.exports.parseVueRequest = parseVueRequest; 16 | ``` 17 | */ 18 | 19 | import { readFileSync, writeFileSync } from 'node:fs' 20 | import colors from 'picocolors' 21 | 22 | const indexPath = 'dist/index.cjs' 23 | let code = readFileSync(indexPath, 'utf-8') 24 | 25 | const matchMixed = code.match(/\nexports\["default"\] = (\w+);/) 26 | if (matchMixed) { 27 | const name = matchMixed[1] 28 | 29 | const lines = code.trimEnd().split('\n') 30 | 31 | // search from the end to prepend `modules.` to `export[xxx]` 32 | for (let i = lines.length - 1; i > 0; i--) { 33 | if (lines[i].startsWith('exports')) lines[i] = 'module.' + lines[i] 34 | else { 35 | // at the beginning of exports, export the default function 36 | lines[i] += `\nmodule.exports = ${name};` 37 | break 38 | } 39 | } 40 | 41 | writeFileSync(indexPath, lines.join('\n')) 42 | 43 | console.log(colors.bold(`${indexPath} CJS patched`)) 44 | process.exit() 45 | } 46 | 47 | const matchDefault = code.match(/\nmodule.exports = (\w+);/) 48 | 49 | if (matchDefault) { 50 | code += `module.exports["default"] = ${matchDefault[1]};\n` 51 | writeFileSync(indexPath, code) 52 | console.log(colors.bold(`${indexPath} CJS patched`)) 53 | process.exit() 54 | } 55 | 56 | console.error(colors.red(`${indexPath} CJS patch failed`)) 57 | process.exit(1) 58 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vitejs/plugin-vue2-jsx", 3 | "version": "1.1.1", 4 | "license": "MIT", 5 | "author": "Evan You", 6 | "files": [ 7 | "dist" 8 | ], 9 | "main": "./dist/index.cjs", 10 | "module": "./dist/index.mjs", 11 | "types": "./dist/index.d.ts", 12 | "exports": { 13 | ".": { 14 | "types": "./dist/index.d.ts", 15 | "import": "./dist/index.mjs", 16 | "require": "./dist/index.cjs" 17 | } 18 | }, 19 | "scripts": { 20 | "dev": "unbuild --stub", 21 | "build": "unbuild && pnpm run patch-cjs", 22 | "patch-cjs": "tsx ./scripts/patchCJS.ts", 23 | "prepublishOnly": "npm run build" 24 | }, 25 | "engines": { 26 | "node": ">=14.18.0" 27 | }, 28 | "repository": { 29 | "type": "git", 30 | "url": "git+https://github.com/vitejs/vite-plugin-vue2-jsx.git" 31 | }, 32 | "bugs": { 33 | "url": "https://github.com/vitejs/vite-plugin-vue2-jsx/issues" 34 | }, 35 | "homepage": "https://github.com/vitejs/vite-plugin-vue2-jsx#readme", 36 | "dependencies": { 37 | "@babel/core": "^7.20.5", 38 | "@babel/plugin-syntax-import-meta": "^7.10.4", 39 | "@babel/plugin-transform-typescript": "^7.20.2", 40 | "@rollup/pluginutils": "^5.0.2", 41 | "@vue/babel-preset-jsx": "^1.4.0" 42 | }, 43 | "devDependencies": { 44 | "@types/babel__core": "^7.1.20", 45 | "picocolors": "^1.0.0", 46 | "tsx": "^3.12.1", 47 | "unbuild": "^0.7.6", 48 | "vite": "^4.0.0", 49 | "vue": "^2.7.14" 50 | }, 51 | "peerDependencies": { 52 | "vite": "^2.9.13 || ^3.0.0 || ^4.0.0 || ^5.0.0", 53 | "vue": "^2.7.0" 54 | }, 55 | "publishConfig": { 56 | "access": "public" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # @vitejs/plugin-vue2-jsx [![npm](https://img.shields.io/npm/v/@vitejs/plugin-vue2-jsx.svg)](https://npmjs.com/package/@vitejs/plugin-vue2-jsx) 2 | 3 | > [!CAUTION] 4 | > Vue 2 has reached EOL, and this project is no longer actively maintained. 5 | 6 | --- 7 | 8 | Provides Vue 2 JSX & TSX support with HMR. 9 | 10 | ```js 11 | // vite.config.js 12 | import vueJsx from '@vitejs/plugin-vue2-jsx' 13 | 14 | export default { 15 | plugins: [ 16 | vueJsx({ 17 | // options are passed on to @vue/babel-preset-jsx 18 | }) 19 | ] 20 | } 21 | ``` 22 | 23 | ## Options 24 | 25 | ### include 26 | 27 | Type: `(string | RegExp)[] | string | RegExp | null` 28 | 29 | Default: `/\.[jt]sx$/` 30 | 31 | A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files the plugin should operate on. 32 | 33 | ### exclude 34 | 35 | Type: `(string | RegExp)[] | string | RegExp | null` 36 | 37 | Default: `undefined` 38 | 39 | A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files to be ignored by the plugin. 40 | 41 | > See [@vue/babel-preset-jsx](https://github.com/vuejs/jsx-vue2/tree/dev/packages/babel-preset-jsx#readme) for other options. 42 | 43 | ## HMR Detection 44 | 45 | This plugin supports HMR of Vue JSX components. The detection requirements are: 46 | 47 | - The component must be exported. 48 | - The component must be declared by calling `defineComponent` via a root-level statement, either variable declaration or export declaration. 49 | 50 | ### Supported patterns 51 | 52 | ```jsx 53 | import { defineComponent } from 'vue' 54 | 55 | // named exports w/ variable declaration: ok 56 | export const Foo = defineComponent({}) 57 | 58 | // named exports referencing variable declaration: ok 59 | const Bar = defineComponent({ render() { return
Test
}}) 60 | export { Bar } 61 | 62 | // default export call: ok 63 | export default defineComponent({ render() { return
Test
}}) 64 | 65 | // default export referencing variable declaration: ok 66 | const Baz = defineComponent({ render() { return
Test
}}) 67 | export default Baz 68 | ``` 69 | 70 | ### Non-supported patterns 71 | 72 | ```jsx 73 | // not using `defineComponent` call 74 | export const Bar = { ... } 75 | 76 | // not exported 77 | const Foo = defineComponent(...) 78 | ``` 79 | 80 | ## Unfinished Features 81 | 82 | - SSR support 83 | - Share the same HMR runtime with `@vitejs/plugin-vue2` 84 | -------------------------------------------------------------------------------- /playground/ssr/src/entry-server.js: -------------------------------------------------------------------------------- 1 | import { basename } from 'node:path' 2 | import { createRenderer } from 'vue-server-renderer' 3 | import { createApp } from './main' 4 | 5 | const renderer = createRenderer() 6 | 7 | export async function render(url, manifest) { 8 | const { app, router } = createApp() 9 | 10 | // set the router to the desired URL before rendering 11 | router.push(url) 12 | 13 | return new Promise(resolve => { 14 | router.onReady(async () => { 15 | // passing SSR context object which will be available via this.$ssrContext 16 | // @vitejs/plugin-vue injects code into a component's setup() that registers 17 | // itself on ctx.modules. After the render, ctx.modules would contain all the 18 | // components that have been instantiated during this render call. 19 | const ctx = {} 20 | const html = await renderer.renderToString(app, ctx) 21 | 22 | // the SSR manifest generated by Vite contains module -> chunk/asset mapping 23 | // which we can then use to determine what files need to be preloaded for this 24 | // request. 25 | const preloadLinks = renderPreloadLinks(ctx.modules, manifest) 26 | resolve([html, preloadLinks]) 27 | }) 28 | }) 29 | } 30 | 31 | function renderPreloadLinks(modules, manifest) { 32 | if (!modules) { 33 | return 34 | } 35 | let links = '' 36 | const seen = new Set() 37 | modules.forEach((id) => { 38 | const files = manifest[id] 39 | if (files) { 40 | files.forEach((file) => { 41 | if (!seen.has(file)) { 42 | seen.add(file) 43 | const filename = basename(file) 44 | if (manifest[filename]) { 45 | for (const depFile of manifest[filename]) { 46 | links += renderPreloadLink(depFile) 47 | seen.add(depFile) 48 | } 49 | } 50 | links += renderPreloadLink(file) 51 | } 52 | }) 53 | } 54 | }) 55 | return links 56 | } 57 | 58 | function renderPreloadLink(file) { 59 | if (file.endsWith('.js')) { 60 | return `` 61 | } else if (file.endsWith('.css')) { 62 | return `` 63 | } else if (file.endsWith('.woff')) { 64 | return ` ` 65 | } else if (file.endsWith('.woff2')) { 66 | return ` ` 67 | } else if (file.endsWith('.gif')) { 68 | return ` ` 69 | } else if (file.endsWith('.jpg') || file.endsWith('.jpeg')) { 70 | return ` ` 71 | } else if (file.endsWith('.png')) { 72 | return ` ` 73 | } else { 74 | // TODO 75 | return '' 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /playground/ssr/server.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import fs from 'node:fs' 3 | import path from 'node:path' 4 | import { fileURLToPath } from 'url' 5 | import express from 'express' 6 | import serveStatic from 'serve-static' 7 | 8 | 9 | export async function createServer( 10 | root = process.cwd(), 11 | isProd = process.env.NODE_ENV === 'production', 12 | hmrPort 13 | ) { 14 | const __dirname = path.dirname(fileURLToPath(import.meta.url)) 15 | const resolve = (p) => path.resolve(__dirname, p) 16 | 17 | const indexProd = isProd 18 | ? fs.readFileSync(resolve('dist/client/index.html'), 'utf-8') 19 | : '' 20 | 21 | const manifest = isProd 22 | ? // @ts-ignore 23 | (await import('./dist/client/ssr-manifest.json', { assert: { type: 'json' } })).default 24 | : {} 25 | 26 | const app = express() 27 | 28 | /** 29 | * @type {import('vite').ViteDevServer} 30 | */ 31 | let vite 32 | if (!isProd) { 33 | vite = await ( 34 | await import('vite') 35 | ).createServer({ 36 | base: '/', 37 | root, 38 | logLevel: 'info', 39 | server: { 40 | middlewareMode: true, 41 | watch: { 42 | // During tests we edit the files too fast and sometimes chokidar 43 | // misses change events, so enforce polling for consistency 44 | usePolling: true, 45 | interval: 100 46 | }, 47 | hmr: { 48 | port: hmrPort 49 | } 50 | }, 51 | appType: 'custom' 52 | }) 53 | // use vite's connect instance as middleware 54 | app.use(vite.middlewares) 55 | } else { 56 | app.use((await import('compression')).default()) 57 | 58 | console.log(resolve('dist/client')) 59 | app.use( 60 | '/', 61 | serveStatic(resolve('dist/client'), { 62 | index: false 63 | }) 64 | ) 65 | } 66 | 67 | app.use('*', async (req, res) => { 68 | try { 69 | const url = req.originalUrl 70 | 71 | let template, render 72 | if (!isProd) { 73 | // always read fresh template in dev 74 | template = fs.readFileSync(resolve('index.html'), 'utf-8') 75 | template = await vite.transformIndexHtml(url, template) 76 | render = (await vite.ssrLoadModule('/src/entry-server.js')).render 77 | } else { 78 | template = indexProd 79 | // @ts-ignore 80 | render = (await import('./dist/server/entry-server.js')).render 81 | } 82 | 83 | const [appHtml, preloadLinks] = await render(url, manifest) 84 | 85 | const html = template 86 | .replace(``, preloadLinks) 87 | .replace(``, appHtml) 88 | 89 | res.status(200).set({ 'Content-Type': 'text/html' }).end(html) 90 | } catch (e) { 91 | vite && vite.ssrFixStacktrace(e) 92 | console.log(e.stack) 93 | res.status(500).end(e.stack) 94 | } 95 | }) 96 | 97 | return { app, vite } 98 | } 99 | 100 | createServer().then(({ app }) => 101 | app.listen(6173, () => { 102 | console.log('http://localhost:6173') 103 | }) 104 | ) 105 | -------------------------------------------------------------------------------- /src/hmrRuntime.ts: -------------------------------------------------------------------------------- 1 | // TODO: this module should be shared between plugin-vue2 & plugin-vue2-jsx 2 | export const HMR_RUNTIME_ID = 'plugin-vue2-jsx:hmr-runtime' 3 | 4 | export const hmrRuntimeCode = ` 5 | var __VUE_HMR_RUNTIME__ = Object.create(null) 6 | var map = Object.create(null) 7 | 8 | __VUE_HMR_RUNTIME__.createRecord = function (id, options) { 9 | if(map[id]) { return } 10 | 11 | var Ctor = null 12 | if (typeof options === 'function') { 13 | Ctor = options 14 | options = Ctor.options 15 | } 16 | makeOptionsHot(id, options) 17 | map[id] = { 18 | Ctor: Ctor, 19 | options: options, 20 | instances: [] 21 | } 22 | } 23 | 24 | __VUE_HMR_RUNTIME__.isRecorded = function (id) { 25 | return typeof map[id] !== 'undefined' 26 | } 27 | 28 | function makeOptionsHot(id, options) { 29 | if (options.functional) { 30 | var render = options.render 31 | options.render = function (h, ctx) { 32 | var instances = map[id].instances 33 | if (ctx && instances.indexOf(ctx.parent) < 0) { 34 | instances.push(ctx.parent) 35 | } 36 | return render(h, ctx) 37 | } 38 | } else { 39 | injectHook(options, 'beforeCreate', function() { 40 | var record = map[id] 41 | if (!record.Ctor) { 42 | record.Ctor = this.constructor 43 | } 44 | record.instances.push(this) 45 | }) 46 | injectHook(options, 'beforeDestroy', function() { 47 | var instances = map[id].instances 48 | instances.splice(instances.indexOf(this), 1) 49 | }) 50 | } 51 | } 52 | 53 | function injectHook(options, name, hook) { 54 | var existing = options[name] 55 | options[name] = existing 56 | ? Array.isArray(existing) ? existing.concat(hook) : [existing, hook] 57 | : [hook] 58 | } 59 | 60 | function tryWrap(fn) { 61 | return function (id, arg) { 62 | try { 63 | fn(id, arg) 64 | } catch (e) { 65 | console.error(e) 66 | console.warn( 67 | 'Something went wrong during Vue component hot-reload. Full reload required.' 68 | ) 69 | } 70 | } 71 | } 72 | 73 | function updateOptions (oldOptions, newOptions) { 74 | for (var key in oldOptions) { 75 | if (!(key in newOptions)) { 76 | delete oldOptions[key] 77 | } 78 | } 79 | for (var key$1 in newOptions) { 80 | oldOptions[key$1] = newOptions[key$1] 81 | } 82 | } 83 | 84 | __VUE_HMR_RUNTIME__.rerender = tryWrap(function (id, options) { 85 | var record = map[id] 86 | if (!options) { 87 | record.instances.slice().forEach(function (instance) { 88 | instance.$forceUpdate() 89 | }) 90 | return 91 | } 92 | if (typeof options === 'function') { 93 | options = options.options 94 | } 95 | if(record.functional){ 96 | record.render = options.render 97 | record.staticRenderFns = options.staticRenderFns 98 | __VUE_HMR_RUNTIME__.reload(id, record) 99 | return 100 | } 101 | if (record.Ctor) { 102 | record.Ctor.options.render = options.render 103 | record.Ctor.options.staticRenderFns = options.staticRenderFns 104 | record.instances.slice().forEach(function (instance) { 105 | instance.$options.render = options.render 106 | instance.$options.staticRenderFns = options.staticRenderFns 107 | // reset static trees 108 | // pre 2.5, all static trees are cached together on the instance 109 | if (instance._staticTrees) { 110 | instance._staticTrees = [] 111 | } 112 | // 2.5.0 113 | if (Array.isArray(record.Ctor.options.cached)) { 114 | record.Ctor.options.cached = [] 115 | } 116 | // 2.5.3 117 | if (Array.isArray(instance.$options.cached)) { 118 | instance.$options.cached = [] 119 | } 120 | 121 | // post 2.5.4: v-once trees are cached on instance._staticTrees. 122 | // Pure static trees are cached on the staticRenderFns array 123 | // (both already reset above) 124 | 125 | // 2.6: temporarily mark rendered scoped slots as unstable so that 126 | // child components can be forced to update 127 | var restore = patchScopedSlots(instance) 128 | instance.$forceUpdate() 129 | instance.$nextTick(restore) 130 | }) 131 | } else { 132 | // functional or no instance created yet 133 | record.options.render = options.render 134 | record.options.staticRenderFns = options.staticRenderFns 135 | 136 | // handle functional component re-render 137 | if (record.options.functional) { 138 | // rerender with full options 139 | if (Object.keys(options).length > 2) { 140 | updateOptions(record.options, options) 141 | } else { 142 | // template-only rerender. 143 | // need to inject the style injection code for CSS modules 144 | // to work properly. 145 | var injectStyles = record.options._injectStyles 146 | if (injectStyles) { 147 | var render = options.render 148 | record.options.render = function (h, ctx) { 149 | injectStyles.call(ctx) 150 | return render(h, ctx) 151 | } 152 | } 153 | } 154 | record.options._Ctor = null 155 | // 2.5.3 156 | if (Array.isArray(record.options.cached)) { 157 | record.options.cached = [] 158 | } 159 | record.instances.slice().forEach(function (instance) { 160 | instance.$forceUpdate() 161 | }) 162 | } 163 | } 164 | }) 165 | 166 | __VUE_HMR_RUNTIME__.reload = tryWrap(function (id, options) { 167 | var record = map[id] 168 | if (options) { 169 | if (typeof options === 'function') { 170 | options = options.options 171 | } 172 | makeOptionsHot(id, options) 173 | if (record.Ctor) { 174 | var newCtor = record.Ctor.super.extend(options) 175 | // prevent record.options._Ctor from being overwritten accidentally 176 | newCtor.options._Ctor = record.options._Ctor 177 | record.Ctor.options = newCtor.options 178 | record.Ctor.cid = newCtor.cid 179 | record.Ctor.prototype = newCtor.prototype 180 | if (newCtor.release) { 181 | // temporary global mixin strategy used in < 2.0.0-alpha.6 182 | newCtor.release() 183 | } 184 | } else { 185 | updateOptions(record.options, options) 186 | } 187 | } 188 | record.instances.slice().forEach(function (instance) { 189 | if (instance.$vnode && instance.$vnode.context) { 190 | instance.$vnode.context.$forceUpdate() 191 | } else { 192 | console.warn( 193 | 'Root or manually mounted instance modified. Full reload required.' 194 | ) 195 | } 196 | }) 197 | }) 198 | 199 | // 2.6 optimizes template-compiled scoped slots and skips updates if child 200 | // only uses scoped slots. We need to patch the scoped slots resolving helper 201 | // to temporarily mark all scoped slots as unstable in order to force child 202 | // updates. 203 | function patchScopedSlots (instance) { 204 | if (!instance._u) { return } 205 | // https://github.com/vuejs/vue/blob/dev/src/core/instance/render-helpers/resolve-scoped-slots.js 206 | var original = instance._u 207 | instance._u = function (slots) { 208 | try { 209 | // 2.6.4 ~ 2.6.6 210 | return original(slots, true) 211 | } catch (e) { 212 | // 2.5 / >= 2.6.7 213 | return original(slots, null, true) 214 | } 215 | } 216 | return function () { 217 | instance._u = original 218 | } 219 | } 220 | export default __VUE_HMR_RUNTIME__ 221 | ` 222 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { createHash } from 'node:crypto' 2 | import path from 'node:path' 3 | import type { types } from '@babel/core' 4 | import * as babel from '@babel/core' 5 | import jsx from '@vue/babel-preset-jsx' 6 | // @ts-expect-error missing type 7 | import importMeta from '@babel/plugin-syntax-import-meta' 8 | import { createFilter } from '@rollup/pluginutils' 9 | import { normalizePath } from 'vite' 10 | import type { ComponentOptions } from 'vue' 11 | import type { Plugin } from 'vite' 12 | 13 | import { HMR_RUNTIME_ID, hmrRuntimeCode } from './hmrRuntime' 14 | 15 | import type { Options } from './types' 16 | export * from './types' 17 | 18 | const ssrRegisterHelperId = '/__vue2-jsx-ssr-register-helper' 19 | const ssrRegisterHelperCode = 20 | `export ${ssrRegisterHelper.toString()}` 21 | 22 | /** 23 | * This function is serialized with toString() and evaluated as a virtual 24 | * module during SSR 25 | */ 26 | // @ts-ignore 27 | function ssrRegisterHelper(comp: ComponentOptions, filename: string) { 28 | const created = comp.created 29 | // @ts-ignore 30 | comp.created = function() { 31 | // @ts-ignore 32 | const ssrContext = this.$ssrContext 33 | ;(ssrContext.modules || (ssrContext.modules = new Set())).add(filename) 34 | if (created) { 35 | created.call(this) 36 | } 37 | } 38 | } 39 | 40 | function vue2JsxPlugin(options: Options = {}): Plugin { 41 | let root = '' 42 | let needHmr = false 43 | let needSourceMap = true 44 | 45 | return { 46 | name: 'vite:vue2-jsx', 47 | 48 | config(config) { 49 | return { 50 | // only apply esbuild to ts files 51 | // since we are handling jsx and tsx now 52 | esbuild: { 53 | include: /\.ts$/ 54 | } 55 | } 56 | }, 57 | 58 | configResolved(config) { 59 | needHmr = config.command === 'serve' && !config.isProduction 60 | needSourceMap = config.command === 'serve' || !!config.build.sourcemap 61 | root = config.root 62 | }, 63 | 64 | resolveId(id) { 65 | if (id === ssrRegisterHelperId) { 66 | return id 67 | } 68 | 69 | if (id === HMR_RUNTIME_ID) { 70 | return id 71 | } 72 | }, 73 | 74 | load(id) { 75 | if (id === ssrRegisterHelperId) { 76 | return ssrRegisterHelperCode 77 | } 78 | 79 | if (id === HMR_RUNTIME_ID) { 80 | return hmrRuntimeCode 81 | } 82 | }, 83 | 84 | async transform(code, id, opt) { 85 | const ssr = opt?.ssr === true 86 | const { 87 | include, 88 | exclude, 89 | babelPlugins = [], 90 | ...babelPresetOptions 91 | } = options 92 | 93 | const filter = createFilter(include || /\.[jt]sx$/, exclude) 94 | const [filepath] = id.split('?') 95 | 96 | // use id for script blocks in Vue SFCs (e.g. `App.vue?vue&type=script&lang.jsx`) 97 | // use filepath for plain jsx files (e.g. App.jsx) 98 | if (filter(id) || filter(filepath)) { 99 | const plugins = [importMeta] 100 | const presets = [ 101 | [jsx, { 102 | compositionAPI: 'native', 103 | ...babelPresetOptions 104 | }] 105 | ] 106 | if (id.endsWith('.tsx') || filepath.endsWith('.tsx')) { 107 | plugins.push([ 108 | // @ts-ignore missing type 109 | await import('@babel/plugin-transform-typescript').then( 110 | (r) => r.default 111 | ), 112 | // @ts-ignore 113 | { isTSX: true, allowExtensions: true, allowDeclareFields: true } 114 | ]) 115 | } 116 | // custom babel plugins should put *after* ts plugin 117 | plugins.push(...babelPlugins) 118 | const result = babel.transformSync(code, { 119 | babelrc: false, 120 | ast: true, 121 | plugins, 122 | presets, 123 | sourceMaps: needSourceMap, 124 | sourceFileName: id, 125 | configFile: false 126 | })! 127 | 128 | if (!ssr && !needHmr) { 129 | if (!result.code) return 130 | return { 131 | code: result.code, 132 | map: result.map 133 | } 134 | } 135 | 136 | interface HotComponent { 137 | local: string 138 | exported: string 139 | id: string 140 | } 141 | 142 | // check for hmr injection 143 | const declaredComponents: { name: string }[] = [] 144 | const hotComponents: HotComponent[] = [] 145 | let hasDefault = false 146 | 147 | for (const node of result.ast!.program.body) { 148 | if (node.type === 'VariableDeclaration') { 149 | const names = parseComponentDecls(node, code) 150 | if (names.length) { 151 | declaredComponents.push(...names) 152 | } 153 | } 154 | 155 | if (node.type === 'ExportNamedDeclaration') { 156 | if ( 157 | node.declaration && 158 | node.declaration.type === 'VariableDeclaration' 159 | ) { 160 | hotComponents.push( 161 | ...parseComponentDecls(node.declaration, code).map( 162 | ({ name }) => ({ 163 | local: name, 164 | exported: name, 165 | id: getHash(id + name) 166 | }) 167 | ) 168 | ) 169 | } else if (node.specifiers.length) { 170 | for (const spec of node.specifiers) { 171 | if ( 172 | spec.type === 'ExportSpecifier' && 173 | spec.exported.type === 'Identifier' 174 | ) { 175 | const matched = declaredComponents.find( 176 | ({ name }) => name === spec.local.name 177 | ) 178 | if (matched) { 179 | hotComponents.push({ 180 | local: spec.local.name, 181 | exported: spec.exported.name, 182 | id: getHash(id + spec.exported.name) 183 | }) 184 | } 185 | } 186 | } 187 | } 188 | } 189 | 190 | if (node.type === 'ExportDefaultDeclaration') { 191 | if (node.declaration.type === 'Identifier') { 192 | const _name = node.declaration.name 193 | const matched = declaredComponents.find( 194 | ({ name }) => name === _name 195 | ) 196 | if (matched) { 197 | hotComponents.push({ 198 | local: node.declaration.name, 199 | exported: 'default', 200 | id: getHash(id + 'default') 201 | }) 202 | } 203 | } else if (isDefineComponentCall(node.declaration)) { 204 | hasDefault = true 205 | hotComponents.push({ 206 | local: '__default__', 207 | exported: 'default', 208 | id: getHash(id + 'default') 209 | }) 210 | } 211 | } 212 | } 213 | 214 | if (hotComponents.length) { 215 | if (hasDefault && (needHmr || ssr)) { 216 | result.code = 217 | result.code!.replace( 218 | /export default defineComponent/g, 219 | `const __default__ = defineComponent` 220 | ) + `\nexport default __default__` 221 | } 222 | 223 | if (needHmr && !ssr && !/\?vue&type=script/.test(id)) { 224 | let code = result.code 225 | let callbackCode = `` 226 | 227 | code += `\nimport __VUE_HMR_RUNTIME__ from "${HMR_RUNTIME_ID}"` 228 | 229 | for (const { local, exported, id } of hotComponents) { 230 | code += 231 | `\n${local}.__hmrId = "${id}"` + 232 | `\n__VUE_HMR_RUNTIME__.createRecord("${id}", ${local})` 233 | callbackCode += `\n__VUE_HMR_RUNTIME__.reload("${id}", __${exported})` 234 | } 235 | 236 | code += `\nimport.meta.hot.accept(({${hotComponents 237 | .map((c) => `${c.exported}: __${c.exported}`) 238 | .join(',')}}) => {${callbackCode}\n})` 239 | 240 | result.code = code 241 | } 242 | 243 | if (ssr) { 244 | const normalizedId = normalizePath(path.relative(root, id)) 245 | let ssrInjectCode = 246 | `\nimport { ssrRegisterHelper } from "${ssrRegisterHelperId}"` + 247 | `\nconst __moduleId = ${JSON.stringify(normalizedId)}` 248 | for (const { local } of hotComponents) { 249 | ssrInjectCode += `\nssrRegisterHelper(${local}, __moduleId)` 250 | } 251 | result.code += ssrInjectCode 252 | } 253 | } 254 | 255 | if (!result.code) return 256 | return { 257 | code: result.code, 258 | map: result.map 259 | } 260 | } 261 | } 262 | } 263 | } 264 | 265 | function parseComponentDecls(node: types.VariableDeclaration, source: string) { 266 | const names = [] 267 | for (const decl of node.declarations) { 268 | if (decl.id.type === 'Identifier' && isDefineComponentCall(decl.init)) { 269 | names.push({ 270 | name: decl.id.name 271 | }) 272 | } 273 | } 274 | return names 275 | } 276 | 277 | function isDefineComponentCall(node?: types.Node | null) { 278 | return ( 279 | node && 280 | node.type === 'CallExpression' && 281 | node.callee.type === 'Identifier' && 282 | node.callee.name === 'defineComponent' 283 | ) 284 | } 285 | 286 | function getHash(text: string) { 287 | return createHash('sha256').update(text).digest('hex').substring(0, 8) 288 | } 289 | 290 | export default vue2JsxPlugin 291 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@babel/core': 12 | specifier: ^7.20.5 13 | version: 7.20.5 14 | '@babel/plugin-syntax-import-meta': 15 | specifier: ^7.10.4 16 | version: 7.10.4(@babel/core@7.20.5) 17 | '@babel/plugin-transform-typescript': 18 | specifier: ^7.20.2 19 | version: 7.20.2(@babel/core@7.20.5) 20 | '@rollup/pluginutils': 21 | specifier: ^5.0.2 22 | version: 5.0.2(rollup@2.79.1) 23 | '@vue/babel-preset-jsx': 24 | specifier: ^1.4.0 25 | version: 1.4.0(@babel/core@7.20.5)(vue@2.7.14) 26 | devDependencies: 27 | '@types/babel__core': 28 | specifier: ^7.1.20 29 | version: 7.1.20 30 | picocolors: 31 | specifier: ^1.0.0 32 | version: 1.0.0 33 | tsx: 34 | specifier: ^3.12.1 35 | version: 3.12.1 36 | unbuild: 37 | specifier: ^0.7.6 38 | version: 0.7.6 39 | vite: 40 | specifier: ^4.0.0 41 | version: 4.0.0 42 | vue: 43 | specifier: ^2.7.14 44 | version: 2.7.14 45 | 46 | playground/basic: 47 | dependencies: 48 | vue: 49 | specifier: ^2.7.4 50 | version: 2.7.4 51 | devDependencies: 52 | '@vitejs/plugin-vue2': 53 | specifier: ^1.1.2 54 | version: 1.1.2(vite@2.9.13)(vue@2.7.4) 55 | '@vitejs/plugin-vue2-jsx': 56 | specifier: workspace:* 57 | version: link:../.. 58 | '@vue/tsconfig': 59 | specifier: ^0.1.3 60 | version: 0.1.3 61 | vite: 62 | specifier: ^2.9.13 63 | version: 2.9.13 64 | 65 | playground/ssr: 66 | dependencies: 67 | express: 68 | specifier: ^4.18.1 69 | version: 4.18.1 70 | serve-static: 71 | specifier: ^1.15.0 72 | version: 1.15.0 73 | vue: 74 | specifier: ^2.7.4 75 | version: 2.7.4 76 | vue-router: 77 | specifier: ^3.5.4 78 | version: 3.5.4(vue@2.7.4) 79 | vue-server-renderer: 80 | specifier: ^2.7.4 81 | version: 2.7.4 82 | devDependencies: 83 | '@vitejs/plugin-vue2': 84 | specifier: ^1.1.2 85 | version: 1.1.2(vite@3.0.0-beta.9)(vue@2.7.4) 86 | '@vitejs/plugin-vue2-jsx': 87 | specifier: workspace:* 88 | version: link:../.. 89 | compression: 90 | specifier: ^1.7.4 91 | version: 1.7.4 92 | cross-env: 93 | specifier: ^7.0.3 94 | version: 7.0.3 95 | vite: 96 | specifier: ^3.0.0-beta.9 97 | version: 3.0.0-beta.9 98 | 99 | packages: 100 | 101 | /@ampproject/remapping@2.2.0: 102 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 103 | engines: {node: '>=6.0.0'} 104 | dependencies: 105 | '@jridgewell/gen-mapping': 0.1.1 106 | '@jridgewell/trace-mapping': 0.3.17 107 | 108 | /@babel/code-frame@7.18.6: 109 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 110 | engines: {node: '>=6.9.0'} 111 | dependencies: 112 | '@babel/highlight': 7.18.6 113 | 114 | /@babel/compat-data@7.20.5: 115 | resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==} 116 | engines: {node: '>=6.9.0'} 117 | 118 | /@babel/core@7.20.5: 119 | resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==} 120 | engines: {node: '>=6.9.0'} 121 | dependencies: 122 | '@ampproject/remapping': 2.2.0 123 | '@babel/code-frame': 7.18.6 124 | '@babel/generator': 7.20.5 125 | '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5) 126 | '@babel/helper-module-transforms': 7.20.2 127 | '@babel/helpers': 7.20.6 128 | '@babel/parser': 7.20.5 129 | '@babel/template': 7.18.10 130 | '@babel/traverse': 7.20.5 131 | '@babel/types': 7.20.5 132 | convert-source-map: 1.9.0 133 | debug: 4.3.4 134 | gensync: 1.0.0-beta.2 135 | json5: 2.2.1 136 | semver: 6.3.0 137 | transitivePeerDependencies: 138 | - supports-color 139 | 140 | /@babel/generator@7.20.5: 141 | resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==} 142 | engines: {node: '>=6.9.0'} 143 | dependencies: 144 | '@babel/types': 7.20.5 145 | '@jridgewell/gen-mapping': 0.3.2 146 | jsesc: 2.5.2 147 | 148 | /@babel/helper-annotate-as-pure@7.18.6: 149 | resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} 150 | engines: {node: '>=6.9.0'} 151 | dependencies: 152 | '@babel/types': 7.20.5 153 | dev: false 154 | 155 | /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.5): 156 | resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} 157 | engines: {node: '>=6.9.0'} 158 | peerDependencies: 159 | '@babel/core': ^7.0.0 160 | dependencies: 161 | '@babel/compat-data': 7.20.5 162 | '@babel/core': 7.20.5 163 | '@babel/helper-validator-option': 7.18.6 164 | browserslist: 4.21.4 165 | semver: 6.3.0 166 | 167 | /@babel/helper-create-class-features-plugin@7.20.5(@babel/core@7.20.5): 168 | resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==} 169 | engines: {node: '>=6.9.0'} 170 | peerDependencies: 171 | '@babel/core': ^7.0.0 172 | dependencies: 173 | '@babel/core': 7.20.5 174 | '@babel/helper-annotate-as-pure': 7.18.6 175 | '@babel/helper-environment-visitor': 7.18.9 176 | '@babel/helper-function-name': 7.19.0 177 | '@babel/helper-member-expression-to-functions': 7.18.9 178 | '@babel/helper-optimise-call-expression': 7.18.6 179 | '@babel/helper-replace-supers': 7.19.1 180 | '@babel/helper-split-export-declaration': 7.18.6 181 | transitivePeerDependencies: 182 | - supports-color 183 | dev: false 184 | 185 | /@babel/helper-environment-visitor@7.18.9: 186 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 187 | engines: {node: '>=6.9.0'} 188 | 189 | /@babel/helper-function-name@7.19.0: 190 | resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} 191 | engines: {node: '>=6.9.0'} 192 | dependencies: 193 | '@babel/template': 7.18.10 194 | '@babel/types': 7.20.5 195 | 196 | /@babel/helper-hoist-variables@7.18.6: 197 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 198 | engines: {node: '>=6.9.0'} 199 | dependencies: 200 | '@babel/types': 7.20.5 201 | 202 | /@babel/helper-member-expression-to-functions@7.18.9: 203 | resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} 204 | engines: {node: '>=6.9.0'} 205 | dependencies: 206 | '@babel/types': 7.20.5 207 | dev: false 208 | 209 | /@babel/helper-module-imports@7.18.6: 210 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 211 | engines: {node: '>=6.9.0'} 212 | dependencies: 213 | '@babel/types': 7.20.5 214 | 215 | /@babel/helper-module-transforms@7.20.2: 216 | resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} 217 | engines: {node: '>=6.9.0'} 218 | dependencies: 219 | '@babel/helper-environment-visitor': 7.18.9 220 | '@babel/helper-module-imports': 7.18.6 221 | '@babel/helper-simple-access': 7.20.2 222 | '@babel/helper-split-export-declaration': 7.18.6 223 | '@babel/helper-validator-identifier': 7.19.1 224 | '@babel/template': 7.18.10 225 | '@babel/traverse': 7.20.5 226 | '@babel/types': 7.20.5 227 | transitivePeerDependencies: 228 | - supports-color 229 | 230 | /@babel/helper-optimise-call-expression@7.18.6: 231 | resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} 232 | engines: {node: '>=6.9.0'} 233 | dependencies: 234 | '@babel/types': 7.20.5 235 | dev: false 236 | 237 | /@babel/helper-plugin-utils@7.20.2: 238 | resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} 239 | engines: {node: '>=6.9.0'} 240 | dev: false 241 | 242 | /@babel/helper-replace-supers@7.19.1: 243 | resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} 244 | engines: {node: '>=6.9.0'} 245 | dependencies: 246 | '@babel/helper-environment-visitor': 7.18.9 247 | '@babel/helper-member-expression-to-functions': 7.18.9 248 | '@babel/helper-optimise-call-expression': 7.18.6 249 | '@babel/traverse': 7.20.5 250 | '@babel/types': 7.20.5 251 | transitivePeerDependencies: 252 | - supports-color 253 | dev: false 254 | 255 | /@babel/helper-simple-access@7.20.2: 256 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} 257 | engines: {node: '>=6.9.0'} 258 | dependencies: 259 | '@babel/types': 7.20.5 260 | 261 | /@babel/helper-split-export-declaration@7.18.6: 262 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 263 | engines: {node: '>=6.9.0'} 264 | dependencies: 265 | '@babel/types': 7.20.5 266 | 267 | /@babel/helper-string-parser@7.19.4: 268 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 269 | engines: {node: '>=6.9.0'} 270 | 271 | /@babel/helper-validator-identifier@7.18.6: 272 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 273 | engines: {node: '>=6.9.0'} 274 | 275 | /@babel/helper-validator-identifier@7.19.1: 276 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 277 | engines: {node: '>=6.9.0'} 278 | 279 | /@babel/helper-validator-option@7.18.6: 280 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} 281 | engines: {node: '>=6.9.0'} 282 | 283 | /@babel/helpers@7.20.6: 284 | resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==} 285 | engines: {node: '>=6.9.0'} 286 | dependencies: 287 | '@babel/template': 7.18.10 288 | '@babel/traverse': 7.20.5 289 | '@babel/types': 7.20.5 290 | transitivePeerDependencies: 291 | - supports-color 292 | 293 | /@babel/highlight@7.18.6: 294 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 295 | engines: {node: '>=6.9.0'} 296 | dependencies: 297 | '@babel/helper-validator-identifier': 7.19.1 298 | chalk: 2.4.2 299 | js-tokens: 4.0.0 300 | 301 | /@babel/parser@7.18.6: 302 | resolution: {integrity: sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==} 303 | engines: {node: '>=6.0.0'} 304 | hasBin: true 305 | dependencies: 306 | '@babel/types': 7.18.7 307 | 308 | /@babel/parser@7.20.5: 309 | resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} 310 | engines: {node: '>=6.0.0'} 311 | hasBin: true 312 | dependencies: 313 | '@babel/types': 7.20.5 314 | 315 | /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.20.5): 316 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 317 | peerDependencies: 318 | '@babel/core': ^7.0.0-0 319 | dependencies: 320 | '@babel/core': 7.20.5 321 | '@babel/helper-plugin-utils': 7.20.2 322 | dev: false 323 | 324 | /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.5): 325 | resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} 326 | engines: {node: '>=6.9.0'} 327 | peerDependencies: 328 | '@babel/core': ^7.0.0-0 329 | dependencies: 330 | '@babel/core': 7.20.5 331 | '@babel/helper-plugin-utils': 7.20.2 332 | dev: false 333 | 334 | /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.5): 335 | resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} 336 | engines: {node: '>=6.9.0'} 337 | peerDependencies: 338 | '@babel/core': ^7.0.0-0 339 | dependencies: 340 | '@babel/core': 7.20.5 341 | '@babel/helper-plugin-utils': 7.20.2 342 | dev: false 343 | 344 | /@babel/plugin-transform-typescript@7.20.2(@babel/core@7.20.5): 345 | resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==} 346 | engines: {node: '>=6.9.0'} 347 | peerDependencies: 348 | '@babel/core': ^7.0.0-0 349 | dependencies: 350 | '@babel/core': 7.20.5 351 | '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) 352 | '@babel/helper-plugin-utils': 7.20.2 353 | '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.5) 354 | transitivePeerDependencies: 355 | - supports-color 356 | dev: false 357 | 358 | /@babel/standalone@7.20.6: 359 | resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==} 360 | engines: {node: '>=6.9.0'} 361 | dev: true 362 | 363 | /@babel/template@7.18.10: 364 | resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} 365 | engines: {node: '>=6.9.0'} 366 | dependencies: 367 | '@babel/code-frame': 7.18.6 368 | '@babel/parser': 7.20.5 369 | '@babel/types': 7.20.5 370 | 371 | /@babel/traverse@7.20.5: 372 | resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==} 373 | engines: {node: '>=6.9.0'} 374 | dependencies: 375 | '@babel/code-frame': 7.18.6 376 | '@babel/generator': 7.20.5 377 | '@babel/helper-environment-visitor': 7.18.9 378 | '@babel/helper-function-name': 7.19.0 379 | '@babel/helper-hoist-variables': 7.18.6 380 | '@babel/helper-split-export-declaration': 7.18.6 381 | '@babel/parser': 7.20.5 382 | '@babel/types': 7.20.5 383 | debug: 4.3.4 384 | globals: 11.12.0 385 | transitivePeerDependencies: 386 | - supports-color 387 | 388 | /@babel/types@7.18.7: 389 | resolution: {integrity: sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==} 390 | engines: {node: '>=6.9.0'} 391 | dependencies: 392 | '@babel/helper-validator-identifier': 7.18.6 393 | to-fast-properties: 2.0.0 394 | 395 | /@babel/types@7.20.5: 396 | resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} 397 | engines: {node: '>=6.9.0'} 398 | dependencies: 399 | '@babel/helper-string-parser': 7.19.4 400 | '@babel/helper-validator-identifier': 7.19.1 401 | to-fast-properties: 2.0.0 402 | 403 | /@esbuild-kit/cjs-loader@2.4.1: 404 | resolution: {integrity: sha512-lhc/XLith28QdW0HpHZvZKkorWgmCNT7sVelMHDj3HFdTfdqkwEKvT+aXVQtNAmCC39VJhunDkWhONWB7335mg==} 405 | dependencies: 406 | '@esbuild-kit/core-utils': 3.0.0 407 | get-tsconfig: 4.2.0 408 | dev: true 409 | 410 | /@esbuild-kit/core-utils@3.0.0: 411 | resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} 412 | dependencies: 413 | esbuild: 0.15.18 414 | source-map-support: 0.5.21 415 | dev: true 416 | 417 | /@esbuild-kit/esm-loader@2.5.4: 418 | resolution: {integrity: sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==} 419 | dependencies: 420 | '@esbuild-kit/core-utils': 3.0.0 421 | get-tsconfig: 4.2.0 422 | dev: true 423 | 424 | /@esbuild/android-arm64@0.16.4: 425 | resolution: {integrity: sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q==} 426 | engines: {node: '>=12'} 427 | cpu: [arm64] 428 | os: [android] 429 | requiresBuild: true 430 | dev: true 431 | optional: true 432 | 433 | /@esbuild/android-arm@0.15.18: 434 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 435 | engines: {node: '>=12'} 436 | cpu: [arm] 437 | os: [android] 438 | requiresBuild: true 439 | dev: true 440 | optional: true 441 | 442 | /@esbuild/android-arm@0.16.4: 443 | resolution: {integrity: sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw==} 444 | engines: {node: '>=12'} 445 | cpu: [arm] 446 | os: [android] 447 | requiresBuild: true 448 | dev: true 449 | optional: true 450 | 451 | /@esbuild/android-x64@0.16.4: 452 | resolution: {integrity: sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g==} 453 | engines: {node: '>=12'} 454 | cpu: [x64] 455 | os: [android] 456 | requiresBuild: true 457 | dev: true 458 | optional: true 459 | 460 | /@esbuild/darwin-arm64@0.16.4: 461 | resolution: {integrity: sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==} 462 | engines: {node: '>=12'} 463 | cpu: [arm64] 464 | os: [darwin] 465 | requiresBuild: true 466 | dev: true 467 | optional: true 468 | 469 | /@esbuild/darwin-x64@0.16.4: 470 | resolution: {integrity: sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA==} 471 | engines: {node: '>=12'} 472 | cpu: [x64] 473 | os: [darwin] 474 | requiresBuild: true 475 | dev: true 476 | optional: true 477 | 478 | /@esbuild/freebsd-arm64@0.16.4: 479 | resolution: {integrity: sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w==} 480 | engines: {node: '>=12'} 481 | cpu: [arm64] 482 | os: [freebsd] 483 | requiresBuild: true 484 | dev: true 485 | optional: true 486 | 487 | /@esbuild/freebsd-x64@0.16.4: 488 | resolution: {integrity: sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q==} 489 | engines: {node: '>=12'} 490 | cpu: [x64] 491 | os: [freebsd] 492 | requiresBuild: true 493 | dev: true 494 | optional: true 495 | 496 | /@esbuild/linux-arm64@0.16.4: 497 | resolution: {integrity: sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g==} 498 | engines: {node: '>=12'} 499 | cpu: [arm64] 500 | os: [linux] 501 | requiresBuild: true 502 | dev: true 503 | optional: true 504 | 505 | /@esbuild/linux-arm@0.16.4: 506 | resolution: {integrity: sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA==} 507 | engines: {node: '>=12'} 508 | cpu: [arm] 509 | os: [linux] 510 | requiresBuild: true 511 | dev: true 512 | optional: true 513 | 514 | /@esbuild/linux-ia32@0.16.4: 515 | resolution: {integrity: sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw==} 516 | engines: {node: '>=12'} 517 | cpu: [ia32] 518 | os: [linux] 519 | requiresBuild: true 520 | dev: true 521 | optional: true 522 | 523 | /@esbuild/linux-loong64@0.14.54: 524 | resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} 525 | engines: {node: '>=12'} 526 | cpu: [loong64] 527 | os: [linux] 528 | requiresBuild: true 529 | dev: true 530 | optional: true 531 | 532 | /@esbuild/linux-loong64@0.15.18: 533 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 534 | engines: {node: '>=12'} 535 | cpu: [loong64] 536 | os: [linux] 537 | requiresBuild: true 538 | dev: true 539 | optional: true 540 | 541 | /@esbuild/linux-loong64@0.16.4: 542 | resolution: {integrity: sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg==} 543 | engines: {node: '>=12'} 544 | cpu: [loong64] 545 | os: [linux] 546 | requiresBuild: true 547 | dev: true 548 | optional: true 549 | 550 | /@esbuild/linux-mips64el@0.16.4: 551 | resolution: {integrity: sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA==} 552 | engines: {node: '>=12'} 553 | cpu: [mips64el] 554 | os: [linux] 555 | requiresBuild: true 556 | dev: true 557 | optional: true 558 | 559 | /@esbuild/linux-ppc64@0.16.4: 560 | resolution: {integrity: sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g==} 561 | engines: {node: '>=12'} 562 | cpu: [ppc64] 563 | os: [linux] 564 | requiresBuild: true 565 | dev: true 566 | optional: true 567 | 568 | /@esbuild/linux-riscv64@0.16.4: 569 | resolution: {integrity: sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA==} 570 | engines: {node: '>=12'} 571 | cpu: [riscv64] 572 | os: [linux] 573 | requiresBuild: true 574 | dev: true 575 | optional: true 576 | 577 | /@esbuild/linux-s390x@0.16.4: 578 | resolution: {integrity: sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A==} 579 | engines: {node: '>=12'} 580 | cpu: [s390x] 581 | os: [linux] 582 | requiresBuild: true 583 | dev: true 584 | optional: true 585 | 586 | /@esbuild/linux-x64@0.16.4: 587 | resolution: {integrity: sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw==} 588 | engines: {node: '>=12'} 589 | cpu: [x64] 590 | os: [linux] 591 | requiresBuild: true 592 | dev: true 593 | optional: true 594 | 595 | /@esbuild/netbsd-x64@0.16.4: 596 | resolution: {integrity: sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ==} 597 | engines: {node: '>=12'} 598 | cpu: [x64] 599 | os: [netbsd] 600 | requiresBuild: true 601 | dev: true 602 | optional: true 603 | 604 | /@esbuild/openbsd-x64@0.16.4: 605 | resolution: {integrity: sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw==} 606 | engines: {node: '>=12'} 607 | cpu: [x64] 608 | os: [openbsd] 609 | requiresBuild: true 610 | dev: true 611 | optional: true 612 | 613 | /@esbuild/sunos-x64@0.16.4: 614 | resolution: {integrity: sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ==} 615 | engines: {node: '>=12'} 616 | cpu: [x64] 617 | os: [sunos] 618 | requiresBuild: true 619 | dev: true 620 | optional: true 621 | 622 | /@esbuild/win32-arm64@0.16.4: 623 | resolution: {integrity: sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ==} 624 | engines: {node: '>=12'} 625 | cpu: [arm64] 626 | os: [win32] 627 | requiresBuild: true 628 | dev: true 629 | optional: true 630 | 631 | /@esbuild/win32-ia32@0.16.4: 632 | resolution: {integrity: sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w==} 633 | engines: {node: '>=12'} 634 | cpu: [ia32] 635 | os: [win32] 636 | requiresBuild: true 637 | dev: true 638 | optional: true 639 | 640 | /@esbuild/win32-x64@0.16.4: 641 | resolution: {integrity: sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ==} 642 | engines: {node: '>=12'} 643 | cpu: [x64] 644 | os: [win32] 645 | requiresBuild: true 646 | dev: true 647 | optional: true 648 | 649 | /@jridgewell/gen-mapping@0.1.1: 650 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 651 | engines: {node: '>=6.0.0'} 652 | dependencies: 653 | '@jridgewell/set-array': 1.1.2 654 | '@jridgewell/sourcemap-codec': 1.4.14 655 | 656 | /@jridgewell/gen-mapping@0.3.2: 657 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 658 | engines: {node: '>=6.0.0'} 659 | dependencies: 660 | '@jridgewell/set-array': 1.1.2 661 | '@jridgewell/sourcemap-codec': 1.4.14 662 | '@jridgewell/trace-mapping': 0.3.17 663 | 664 | /@jridgewell/resolve-uri@3.1.0: 665 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 666 | engines: {node: '>=6.0.0'} 667 | 668 | /@jridgewell/set-array@1.1.2: 669 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 670 | engines: {node: '>=6.0.0'} 671 | 672 | /@jridgewell/sourcemap-codec@1.4.14: 673 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 674 | 675 | /@jridgewell/trace-mapping@0.3.17: 676 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} 677 | dependencies: 678 | '@jridgewell/resolve-uri': 3.1.0 679 | '@jridgewell/sourcemap-codec': 1.4.14 680 | 681 | /@nodelib/fs.scandir@2.1.5: 682 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 683 | engines: {node: '>= 8'} 684 | dependencies: 685 | '@nodelib/fs.stat': 2.0.5 686 | run-parallel: 1.2.0 687 | dev: true 688 | 689 | /@nodelib/fs.stat@2.0.5: 690 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 691 | engines: {node: '>= 8'} 692 | dev: true 693 | 694 | /@nodelib/fs.walk@1.2.8: 695 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 696 | engines: {node: '>= 8'} 697 | dependencies: 698 | '@nodelib/fs.scandir': 2.1.5 699 | fastq: 1.14.0 700 | dev: true 701 | 702 | /@rollup/plugin-alias@3.1.9(rollup@2.79.1): 703 | resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} 704 | engines: {node: '>=8.0.0'} 705 | peerDependencies: 706 | rollup: ^1.20.0||^2.0.0 707 | dependencies: 708 | rollup: 2.79.1 709 | slash: 3.0.0 710 | dev: true 711 | 712 | /@rollup/plugin-commonjs@22.0.2(rollup@2.79.1): 713 | resolution: {integrity: sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==} 714 | engines: {node: '>= 12.0.0'} 715 | peerDependencies: 716 | rollup: ^2.68.0 717 | dependencies: 718 | '@rollup/pluginutils': 3.1.0(rollup@2.79.1) 719 | commondir: 1.0.1 720 | estree-walker: 2.0.2 721 | glob: 7.2.3 722 | is-reference: 1.2.1 723 | magic-string: 0.25.9 724 | resolve: 1.22.1 725 | rollup: 2.79.1 726 | dev: true 727 | 728 | /@rollup/plugin-json@4.1.0(rollup@2.79.1): 729 | resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} 730 | peerDependencies: 731 | rollup: ^1.20.0 || ^2.0.0 732 | dependencies: 733 | '@rollup/pluginutils': 3.1.0(rollup@2.79.1) 734 | rollup: 2.79.1 735 | dev: true 736 | 737 | /@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1): 738 | resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} 739 | engines: {node: '>= 10.0.0'} 740 | peerDependencies: 741 | rollup: ^2.42.0 742 | dependencies: 743 | '@rollup/pluginutils': 3.1.0(rollup@2.79.1) 744 | '@types/resolve': 1.17.1 745 | deepmerge: 4.2.2 746 | is-builtin-module: 3.2.0 747 | is-module: 1.0.0 748 | resolve: 1.22.1 749 | rollup: 2.79.1 750 | dev: true 751 | 752 | /@rollup/plugin-replace@4.0.0(rollup@2.79.1): 753 | resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} 754 | peerDependencies: 755 | rollup: ^1.20.0 || ^2.0.0 756 | dependencies: 757 | '@rollup/pluginutils': 3.1.0(rollup@2.79.1) 758 | magic-string: 0.25.9 759 | rollup: 2.79.1 760 | dev: true 761 | 762 | /@rollup/pluginutils@3.1.0(rollup@2.79.1): 763 | resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} 764 | engines: {node: '>= 8.0.0'} 765 | peerDependencies: 766 | rollup: ^1.20.0||^2.0.0 767 | dependencies: 768 | '@types/estree': 0.0.39 769 | estree-walker: 1.0.1 770 | picomatch: 2.3.1 771 | rollup: 2.79.1 772 | dev: true 773 | 774 | /@rollup/pluginutils@4.2.1: 775 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 776 | engines: {node: '>= 8.0.0'} 777 | dependencies: 778 | estree-walker: 2.0.2 779 | picomatch: 2.3.1 780 | dev: true 781 | 782 | /@rollup/pluginutils@5.0.2(rollup@2.79.1): 783 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 784 | engines: {node: '>=14.0.0'} 785 | peerDependencies: 786 | rollup: ^1.20.0||^2.0.0||^3.0.0 787 | peerDependenciesMeta: 788 | rollup: 789 | optional: true 790 | dependencies: 791 | '@types/estree': 1.0.0 792 | estree-walker: 2.0.2 793 | picomatch: 2.3.1 794 | rollup: 2.79.1 795 | dev: false 796 | 797 | /@types/babel__core@7.1.20: 798 | resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} 799 | dependencies: 800 | '@babel/parser': 7.20.5 801 | '@babel/types': 7.20.5 802 | '@types/babel__generator': 7.6.4 803 | '@types/babel__template': 7.4.1 804 | '@types/babel__traverse': 7.18.3 805 | dev: true 806 | 807 | /@types/babel__generator@7.6.4: 808 | resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} 809 | dependencies: 810 | '@babel/types': 7.20.5 811 | dev: true 812 | 813 | /@types/babel__template@7.4.1: 814 | resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} 815 | dependencies: 816 | '@babel/parser': 7.20.5 817 | '@babel/types': 7.20.5 818 | dev: true 819 | 820 | /@types/babel__traverse@7.18.3: 821 | resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} 822 | dependencies: 823 | '@babel/types': 7.20.5 824 | dev: true 825 | 826 | /@types/estree@0.0.39: 827 | resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} 828 | dev: true 829 | 830 | /@types/estree@1.0.0: 831 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 832 | 833 | /@types/node@18.11.13: 834 | resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==} 835 | dev: true 836 | 837 | /@types/resolve@1.17.1: 838 | resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} 839 | dependencies: 840 | '@types/node': 18.11.13 841 | dev: true 842 | 843 | /@vitejs/plugin-vue2@1.1.2(vite@2.9.13)(vue@2.7.4): 844 | resolution: {integrity: sha512-y6OEA+2UdJ0xrEQHodq20v9r3SpS62IOHrgN92JPLvVpNkhcissu7yvD5PXMzMESyazj0XNWGsc8UQk8+mVrjQ==} 845 | engines: {node: '>=14.6.0'} 846 | peerDependencies: 847 | vite: '>=2.5.10' 848 | vue: ^2.7.0-0 849 | dependencies: 850 | vite: 2.9.13 851 | vue: 2.7.4 852 | dev: true 853 | 854 | /@vitejs/plugin-vue2@1.1.2(vite@3.0.0-beta.9)(vue@2.7.4): 855 | resolution: {integrity: sha512-y6OEA+2UdJ0xrEQHodq20v9r3SpS62IOHrgN92JPLvVpNkhcissu7yvD5PXMzMESyazj0XNWGsc8UQk8+mVrjQ==} 856 | engines: {node: '>=14.6.0'} 857 | peerDependencies: 858 | vite: '>=2.5.10' 859 | vue: ^2.7.0-0 860 | dependencies: 861 | vite: 3.0.0-beta.9 862 | vue: 2.7.4 863 | dev: true 864 | 865 | /@vue/babel-helper-vue-jsx-merge-props@1.4.0: 866 | resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==} 867 | dev: false 868 | 869 | /@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.20.5): 870 | resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==} 871 | peerDependencies: 872 | '@babel/core': ^7.0.0-0 873 | dependencies: 874 | '@babel/core': 7.20.5 875 | '@babel/helper-module-imports': 7.18.6 876 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 877 | '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 878 | html-tags: 2.0.0 879 | lodash.kebabcase: 4.1.1 880 | svg-tags: 1.0.0 881 | dev: false 882 | 883 | /@vue/babel-preset-jsx@1.4.0(@babel/core@7.20.5)(vue@2.7.14): 884 | resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==} 885 | peerDependencies: 886 | '@babel/core': ^7.0.0-0 887 | vue: '*' 888 | peerDependenciesMeta: 889 | vue: 890 | optional: true 891 | dependencies: 892 | '@babel/core': 7.20.5 893 | '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 894 | '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.20.5) 895 | '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.20.5) 896 | '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.20.5) 897 | '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.20.5) 898 | '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.20.5) 899 | '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.20.5) 900 | '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.20.5) 901 | vue: 2.7.14 902 | dev: false 903 | 904 | /@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.20.5): 905 | resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==} 906 | peerDependencies: 907 | '@babel/core': ^7.0.0-0 908 | dependencies: 909 | '@babel/core': 7.20.5 910 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 911 | dev: false 912 | 913 | /@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.20.5): 914 | resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==} 915 | peerDependencies: 916 | '@babel/core': ^7.0.0-0 917 | dependencies: 918 | '@babel/core': 7.20.5 919 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 920 | dev: false 921 | 922 | /@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.20.5): 923 | resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==} 924 | peerDependencies: 925 | '@babel/core': ^7.0.0-0 926 | dependencies: 927 | '@babel/core': 7.20.5 928 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 929 | dev: false 930 | 931 | /@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.20.5): 932 | resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==} 933 | peerDependencies: 934 | '@babel/core': ^7.0.0-0 935 | dependencies: 936 | '@babel/core': 7.20.5 937 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 938 | dev: false 939 | 940 | /@vue/babel-sugar-v-model@1.4.0(@babel/core@7.20.5): 941 | resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==} 942 | peerDependencies: 943 | '@babel/core': ^7.0.0-0 944 | dependencies: 945 | '@babel/core': 7.20.5 946 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 947 | '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 948 | '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.20.5) 949 | camelcase: 5.3.1 950 | html-tags: 2.0.0 951 | svg-tags: 1.0.0 952 | dev: false 953 | 954 | /@vue/babel-sugar-v-on@1.4.0(@babel/core@7.20.5): 955 | resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==} 956 | peerDependencies: 957 | '@babel/core': ^7.0.0-0 958 | dependencies: 959 | '@babel/core': 7.20.5 960 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) 961 | '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.20.5) 962 | camelcase: 5.3.1 963 | dev: false 964 | 965 | /@vue/compiler-sfc@2.7.14: 966 | resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==} 967 | dependencies: 968 | '@babel/parser': 7.20.5 969 | postcss: 8.4.20 970 | source-map: 0.6.1 971 | 972 | /@vue/compiler-sfc@2.7.4: 973 | resolution: {integrity: sha512-WCaF33mlKLSvHDKvOD6FzTa5CI2FlMTeJf3MxJsNP0KDgRoI6RdXhHo9dtvCqV4Sywf9Owm17wTLT1Ymu/WsOQ==} 974 | dependencies: 975 | '@babel/parser': 7.18.6 976 | postcss: 8.4.14 977 | source-map: 0.6.1 978 | 979 | /@vue/tsconfig@0.1.3: 980 | resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} 981 | peerDependencies: 982 | '@types/node': '*' 983 | peerDependenciesMeta: 984 | '@types/node': 985 | optional: true 986 | dev: true 987 | 988 | /accepts@1.3.8: 989 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 990 | engines: {node: '>= 0.6'} 991 | dependencies: 992 | mime-types: 2.1.35 993 | negotiator: 0.6.3 994 | 995 | /acorn@8.8.1: 996 | resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} 997 | engines: {node: '>=0.4.0'} 998 | hasBin: true 999 | dev: true 1000 | 1001 | /ansi-styles@3.2.1: 1002 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1003 | engines: {node: '>=4'} 1004 | dependencies: 1005 | color-convert: 1.9.3 1006 | 1007 | /ansi-styles@4.3.0: 1008 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1009 | engines: {node: '>=8'} 1010 | dependencies: 1011 | color-convert: 2.0.1 1012 | dev: false 1013 | 1014 | /array-flatten@1.1.1: 1015 | resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} 1016 | dev: false 1017 | 1018 | /array-union@2.1.0: 1019 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1020 | engines: {node: '>=8'} 1021 | dev: true 1022 | 1023 | /balanced-match@1.0.2: 1024 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1025 | dev: true 1026 | 1027 | /body-parser@1.20.0: 1028 | resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} 1029 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 1030 | dependencies: 1031 | bytes: 3.1.2 1032 | content-type: 1.0.4 1033 | debug: 2.6.9 1034 | depd: 2.0.0 1035 | destroy: 1.2.0 1036 | http-errors: 2.0.0 1037 | iconv-lite: 0.4.24 1038 | on-finished: 2.4.1 1039 | qs: 6.10.3 1040 | raw-body: 2.5.1 1041 | type-is: 1.6.18 1042 | unpipe: 1.0.0 1043 | transitivePeerDependencies: 1044 | - supports-color 1045 | dev: false 1046 | 1047 | /brace-expansion@1.1.11: 1048 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1049 | dependencies: 1050 | balanced-match: 1.0.2 1051 | concat-map: 0.0.1 1052 | dev: true 1053 | 1054 | /braces@3.0.2: 1055 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1056 | engines: {node: '>=8'} 1057 | dependencies: 1058 | fill-range: 7.0.1 1059 | dev: true 1060 | 1061 | /browserslist@4.21.4: 1062 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} 1063 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1064 | hasBin: true 1065 | dependencies: 1066 | caniuse-lite: 1.0.30001439 1067 | electron-to-chromium: 1.4.284 1068 | node-releases: 2.0.6 1069 | update-browserslist-db: 1.0.10(browserslist@4.21.4) 1070 | 1071 | /buffer-from@1.1.2: 1072 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1073 | dev: true 1074 | 1075 | /builtin-modules@3.3.0: 1076 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 1077 | engines: {node: '>=6'} 1078 | dev: true 1079 | 1080 | /bytes@3.0.0: 1081 | resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} 1082 | engines: {node: '>= 0.8'} 1083 | dev: true 1084 | 1085 | /bytes@3.1.2: 1086 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 1087 | engines: {node: '>= 0.8'} 1088 | dev: false 1089 | 1090 | /call-bind@1.0.2: 1091 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 1092 | dependencies: 1093 | function-bind: 1.1.1 1094 | get-intrinsic: 1.1.2 1095 | dev: false 1096 | 1097 | /camelcase@5.3.1: 1098 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1099 | engines: {node: '>=6'} 1100 | dev: false 1101 | 1102 | /caniuse-lite@1.0.30001439: 1103 | resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==} 1104 | 1105 | /chalk@2.4.2: 1106 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1107 | engines: {node: '>=4'} 1108 | dependencies: 1109 | ansi-styles: 3.2.1 1110 | escape-string-regexp: 1.0.5 1111 | supports-color: 5.5.0 1112 | 1113 | /chalk@4.1.2: 1114 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1115 | engines: {node: '>=10'} 1116 | dependencies: 1117 | ansi-styles: 4.3.0 1118 | supports-color: 7.2.0 1119 | dev: false 1120 | 1121 | /chalk@5.2.0: 1122 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 1123 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1124 | dev: true 1125 | 1126 | /color-convert@1.9.3: 1127 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1128 | dependencies: 1129 | color-name: 1.1.3 1130 | 1131 | /color-convert@2.0.1: 1132 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1133 | engines: {node: '>=7.0.0'} 1134 | dependencies: 1135 | color-name: 1.1.4 1136 | dev: false 1137 | 1138 | /color-name@1.1.3: 1139 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1140 | 1141 | /color-name@1.1.4: 1142 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1143 | dev: false 1144 | 1145 | /commondir@1.0.1: 1146 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 1147 | dev: true 1148 | 1149 | /compressible@2.0.18: 1150 | resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} 1151 | engines: {node: '>= 0.6'} 1152 | dependencies: 1153 | mime-db: 1.52.0 1154 | dev: true 1155 | 1156 | /compression@1.7.4: 1157 | resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} 1158 | engines: {node: '>= 0.8.0'} 1159 | dependencies: 1160 | accepts: 1.3.8 1161 | bytes: 3.0.0 1162 | compressible: 2.0.18 1163 | debug: 2.6.9 1164 | on-headers: 1.0.2 1165 | safe-buffer: 5.1.2 1166 | vary: 1.1.2 1167 | transitivePeerDependencies: 1168 | - supports-color 1169 | dev: true 1170 | 1171 | /concat-map@0.0.1: 1172 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 1173 | dev: true 1174 | 1175 | /consola@2.15.3: 1176 | resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} 1177 | dev: true 1178 | 1179 | /content-disposition@0.5.4: 1180 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 1181 | engines: {node: '>= 0.6'} 1182 | dependencies: 1183 | safe-buffer: 5.2.1 1184 | dev: false 1185 | 1186 | /content-type@1.0.4: 1187 | resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} 1188 | engines: {node: '>= 0.6'} 1189 | dev: false 1190 | 1191 | /convert-source-map@1.9.0: 1192 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 1193 | 1194 | /cookie-signature@1.0.6: 1195 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 1196 | dev: false 1197 | 1198 | /cookie@0.5.0: 1199 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 1200 | engines: {node: '>= 0.6'} 1201 | dev: false 1202 | 1203 | /cross-env@7.0.3: 1204 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} 1205 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} 1206 | hasBin: true 1207 | dependencies: 1208 | cross-spawn: 7.0.3 1209 | dev: true 1210 | 1211 | /cross-spawn@7.0.3: 1212 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1213 | engines: {node: '>= 8'} 1214 | dependencies: 1215 | path-key: 3.1.1 1216 | shebang-command: 2.0.0 1217 | which: 2.0.2 1218 | dev: true 1219 | 1220 | /csstype@3.1.0: 1221 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} 1222 | 1223 | /csstype@3.1.1: 1224 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} 1225 | 1226 | /debug@2.6.9: 1227 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 1228 | peerDependencies: 1229 | supports-color: '*' 1230 | peerDependenciesMeta: 1231 | supports-color: 1232 | optional: true 1233 | dependencies: 1234 | ms: 2.0.0 1235 | 1236 | /debug@4.3.4: 1237 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1238 | engines: {node: '>=6.0'} 1239 | peerDependencies: 1240 | supports-color: '*' 1241 | peerDependenciesMeta: 1242 | supports-color: 1243 | optional: true 1244 | dependencies: 1245 | ms: 2.1.2 1246 | 1247 | /deepmerge@4.2.2: 1248 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 1249 | engines: {node: '>=0.10.0'} 1250 | dev: true 1251 | 1252 | /defu@6.1.1: 1253 | resolution: {integrity: sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==} 1254 | dev: true 1255 | 1256 | /depd@2.0.0: 1257 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 1258 | engines: {node: '>= 0.8'} 1259 | dev: false 1260 | 1261 | /destroy@1.2.0: 1262 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 1263 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 1264 | dev: false 1265 | 1266 | /dir-glob@3.0.1: 1267 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1268 | engines: {node: '>=8'} 1269 | dependencies: 1270 | path-type: 4.0.0 1271 | dev: true 1272 | 1273 | /ee-first@1.1.1: 1274 | resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} 1275 | dev: false 1276 | 1277 | /electron-to-chromium@1.4.284: 1278 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} 1279 | 1280 | /encodeurl@1.0.2: 1281 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 1282 | engines: {node: '>= 0.8'} 1283 | dev: false 1284 | 1285 | /es-module-lexer@0.9.3: 1286 | resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} 1287 | dev: true 1288 | 1289 | /esbuild-android-64@0.14.48: 1290 | resolution: {integrity: sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg==} 1291 | engines: {node: '>=12'} 1292 | cpu: [x64] 1293 | os: [android] 1294 | requiresBuild: true 1295 | dev: true 1296 | optional: true 1297 | 1298 | /esbuild-android-64@0.14.54: 1299 | resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} 1300 | engines: {node: '>=12'} 1301 | cpu: [x64] 1302 | os: [android] 1303 | requiresBuild: true 1304 | dev: true 1305 | optional: true 1306 | 1307 | /esbuild-android-64@0.15.18: 1308 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 1309 | engines: {node: '>=12'} 1310 | cpu: [x64] 1311 | os: [android] 1312 | requiresBuild: true 1313 | dev: true 1314 | optional: true 1315 | 1316 | /esbuild-android-arm64@0.14.48: 1317 | resolution: {integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==} 1318 | engines: {node: '>=12'} 1319 | cpu: [arm64] 1320 | os: [android] 1321 | requiresBuild: true 1322 | dev: true 1323 | optional: true 1324 | 1325 | /esbuild-android-arm64@0.14.54: 1326 | resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} 1327 | engines: {node: '>=12'} 1328 | cpu: [arm64] 1329 | os: [android] 1330 | requiresBuild: true 1331 | dev: true 1332 | optional: true 1333 | 1334 | /esbuild-android-arm64@0.15.18: 1335 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 1336 | engines: {node: '>=12'} 1337 | cpu: [arm64] 1338 | os: [android] 1339 | requiresBuild: true 1340 | dev: true 1341 | optional: true 1342 | 1343 | /esbuild-darwin-64@0.14.48: 1344 | resolution: {integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==} 1345 | engines: {node: '>=12'} 1346 | cpu: [x64] 1347 | os: [darwin] 1348 | requiresBuild: true 1349 | dev: true 1350 | optional: true 1351 | 1352 | /esbuild-darwin-64@0.14.54: 1353 | resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} 1354 | engines: {node: '>=12'} 1355 | cpu: [x64] 1356 | os: [darwin] 1357 | requiresBuild: true 1358 | dev: true 1359 | optional: true 1360 | 1361 | /esbuild-darwin-64@0.15.18: 1362 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 1363 | engines: {node: '>=12'} 1364 | cpu: [x64] 1365 | os: [darwin] 1366 | requiresBuild: true 1367 | dev: true 1368 | optional: true 1369 | 1370 | /esbuild-darwin-arm64@0.14.48: 1371 | resolution: {integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==} 1372 | engines: {node: '>=12'} 1373 | cpu: [arm64] 1374 | os: [darwin] 1375 | requiresBuild: true 1376 | dev: true 1377 | optional: true 1378 | 1379 | /esbuild-darwin-arm64@0.14.54: 1380 | resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} 1381 | engines: {node: '>=12'} 1382 | cpu: [arm64] 1383 | os: [darwin] 1384 | requiresBuild: true 1385 | dev: true 1386 | optional: true 1387 | 1388 | /esbuild-darwin-arm64@0.15.18: 1389 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 1390 | engines: {node: '>=12'} 1391 | cpu: [arm64] 1392 | os: [darwin] 1393 | requiresBuild: true 1394 | dev: true 1395 | optional: true 1396 | 1397 | /esbuild-freebsd-64@0.14.48: 1398 | resolution: {integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==} 1399 | engines: {node: '>=12'} 1400 | cpu: [x64] 1401 | os: [freebsd] 1402 | requiresBuild: true 1403 | dev: true 1404 | optional: true 1405 | 1406 | /esbuild-freebsd-64@0.14.54: 1407 | resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} 1408 | engines: {node: '>=12'} 1409 | cpu: [x64] 1410 | os: [freebsd] 1411 | requiresBuild: true 1412 | dev: true 1413 | optional: true 1414 | 1415 | /esbuild-freebsd-64@0.15.18: 1416 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 1417 | engines: {node: '>=12'} 1418 | cpu: [x64] 1419 | os: [freebsd] 1420 | requiresBuild: true 1421 | dev: true 1422 | optional: true 1423 | 1424 | /esbuild-freebsd-arm64@0.14.48: 1425 | resolution: {integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==} 1426 | engines: {node: '>=12'} 1427 | cpu: [arm64] 1428 | os: [freebsd] 1429 | requiresBuild: true 1430 | dev: true 1431 | optional: true 1432 | 1433 | /esbuild-freebsd-arm64@0.14.54: 1434 | resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} 1435 | engines: {node: '>=12'} 1436 | cpu: [arm64] 1437 | os: [freebsd] 1438 | requiresBuild: true 1439 | dev: true 1440 | optional: true 1441 | 1442 | /esbuild-freebsd-arm64@0.15.18: 1443 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 1444 | engines: {node: '>=12'} 1445 | cpu: [arm64] 1446 | os: [freebsd] 1447 | requiresBuild: true 1448 | dev: true 1449 | optional: true 1450 | 1451 | /esbuild-linux-32@0.14.48: 1452 | resolution: {integrity: sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ==} 1453 | engines: {node: '>=12'} 1454 | cpu: [ia32] 1455 | os: [linux] 1456 | requiresBuild: true 1457 | dev: true 1458 | optional: true 1459 | 1460 | /esbuild-linux-32@0.14.54: 1461 | resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} 1462 | engines: {node: '>=12'} 1463 | cpu: [ia32] 1464 | os: [linux] 1465 | requiresBuild: true 1466 | dev: true 1467 | optional: true 1468 | 1469 | /esbuild-linux-32@0.15.18: 1470 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 1471 | engines: {node: '>=12'} 1472 | cpu: [ia32] 1473 | os: [linux] 1474 | requiresBuild: true 1475 | dev: true 1476 | optional: true 1477 | 1478 | /esbuild-linux-64@0.14.48: 1479 | resolution: {integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==} 1480 | engines: {node: '>=12'} 1481 | cpu: [x64] 1482 | os: [linux] 1483 | requiresBuild: true 1484 | dev: true 1485 | optional: true 1486 | 1487 | /esbuild-linux-64@0.14.54: 1488 | resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} 1489 | engines: {node: '>=12'} 1490 | cpu: [x64] 1491 | os: [linux] 1492 | requiresBuild: true 1493 | dev: true 1494 | optional: true 1495 | 1496 | /esbuild-linux-64@0.15.18: 1497 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 1498 | engines: {node: '>=12'} 1499 | cpu: [x64] 1500 | os: [linux] 1501 | requiresBuild: true 1502 | dev: true 1503 | optional: true 1504 | 1505 | /esbuild-linux-arm64@0.14.48: 1506 | resolution: {integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==} 1507 | engines: {node: '>=12'} 1508 | cpu: [arm64] 1509 | os: [linux] 1510 | requiresBuild: true 1511 | dev: true 1512 | optional: true 1513 | 1514 | /esbuild-linux-arm64@0.14.54: 1515 | resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} 1516 | engines: {node: '>=12'} 1517 | cpu: [arm64] 1518 | os: [linux] 1519 | requiresBuild: true 1520 | dev: true 1521 | optional: true 1522 | 1523 | /esbuild-linux-arm64@0.15.18: 1524 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 1525 | engines: {node: '>=12'} 1526 | cpu: [arm64] 1527 | os: [linux] 1528 | requiresBuild: true 1529 | dev: true 1530 | optional: true 1531 | 1532 | /esbuild-linux-arm@0.14.48: 1533 | resolution: {integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==} 1534 | engines: {node: '>=12'} 1535 | cpu: [arm] 1536 | os: [linux] 1537 | requiresBuild: true 1538 | dev: true 1539 | optional: true 1540 | 1541 | /esbuild-linux-arm@0.14.54: 1542 | resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} 1543 | engines: {node: '>=12'} 1544 | cpu: [arm] 1545 | os: [linux] 1546 | requiresBuild: true 1547 | dev: true 1548 | optional: true 1549 | 1550 | /esbuild-linux-arm@0.15.18: 1551 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 1552 | engines: {node: '>=12'} 1553 | cpu: [arm] 1554 | os: [linux] 1555 | requiresBuild: true 1556 | dev: true 1557 | optional: true 1558 | 1559 | /esbuild-linux-mips64le@0.14.48: 1560 | resolution: {integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==} 1561 | engines: {node: '>=12'} 1562 | cpu: [mips64el] 1563 | os: [linux] 1564 | requiresBuild: true 1565 | dev: true 1566 | optional: true 1567 | 1568 | /esbuild-linux-mips64le@0.14.54: 1569 | resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} 1570 | engines: {node: '>=12'} 1571 | cpu: [mips64el] 1572 | os: [linux] 1573 | requiresBuild: true 1574 | dev: true 1575 | optional: true 1576 | 1577 | /esbuild-linux-mips64le@0.15.18: 1578 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 1579 | engines: {node: '>=12'} 1580 | cpu: [mips64el] 1581 | os: [linux] 1582 | requiresBuild: true 1583 | dev: true 1584 | optional: true 1585 | 1586 | /esbuild-linux-ppc64le@0.14.48: 1587 | resolution: {integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==} 1588 | engines: {node: '>=12'} 1589 | cpu: [ppc64] 1590 | os: [linux] 1591 | requiresBuild: true 1592 | dev: true 1593 | optional: true 1594 | 1595 | /esbuild-linux-ppc64le@0.14.54: 1596 | resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} 1597 | engines: {node: '>=12'} 1598 | cpu: [ppc64] 1599 | os: [linux] 1600 | requiresBuild: true 1601 | dev: true 1602 | optional: true 1603 | 1604 | /esbuild-linux-ppc64le@0.15.18: 1605 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 1606 | engines: {node: '>=12'} 1607 | cpu: [ppc64] 1608 | os: [linux] 1609 | requiresBuild: true 1610 | dev: true 1611 | optional: true 1612 | 1613 | /esbuild-linux-riscv64@0.14.48: 1614 | resolution: {integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==} 1615 | engines: {node: '>=12'} 1616 | cpu: [riscv64] 1617 | os: [linux] 1618 | requiresBuild: true 1619 | dev: true 1620 | optional: true 1621 | 1622 | /esbuild-linux-riscv64@0.14.54: 1623 | resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} 1624 | engines: {node: '>=12'} 1625 | cpu: [riscv64] 1626 | os: [linux] 1627 | requiresBuild: true 1628 | dev: true 1629 | optional: true 1630 | 1631 | /esbuild-linux-riscv64@0.15.18: 1632 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 1633 | engines: {node: '>=12'} 1634 | cpu: [riscv64] 1635 | os: [linux] 1636 | requiresBuild: true 1637 | dev: true 1638 | optional: true 1639 | 1640 | /esbuild-linux-s390x@0.14.48: 1641 | resolution: {integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==} 1642 | engines: {node: '>=12'} 1643 | cpu: [s390x] 1644 | os: [linux] 1645 | requiresBuild: true 1646 | dev: true 1647 | optional: true 1648 | 1649 | /esbuild-linux-s390x@0.14.54: 1650 | resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} 1651 | engines: {node: '>=12'} 1652 | cpu: [s390x] 1653 | os: [linux] 1654 | requiresBuild: true 1655 | dev: true 1656 | optional: true 1657 | 1658 | /esbuild-linux-s390x@0.15.18: 1659 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 1660 | engines: {node: '>=12'} 1661 | cpu: [s390x] 1662 | os: [linux] 1663 | requiresBuild: true 1664 | dev: true 1665 | optional: true 1666 | 1667 | /esbuild-netbsd-64@0.14.48: 1668 | resolution: {integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==} 1669 | engines: {node: '>=12'} 1670 | cpu: [x64] 1671 | os: [netbsd] 1672 | requiresBuild: true 1673 | dev: true 1674 | optional: true 1675 | 1676 | /esbuild-netbsd-64@0.14.54: 1677 | resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} 1678 | engines: {node: '>=12'} 1679 | cpu: [x64] 1680 | os: [netbsd] 1681 | requiresBuild: true 1682 | dev: true 1683 | optional: true 1684 | 1685 | /esbuild-netbsd-64@0.15.18: 1686 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 1687 | engines: {node: '>=12'} 1688 | cpu: [x64] 1689 | os: [netbsd] 1690 | requiresBuild: true 1691 | dev: true 1692 | optional: true 1693 | 1694 | /esbuild-openbsd-64@0.14.48: 1695 | resolution: {integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==} 1696 | engines: {node: '>=12'} 1697 | cpu: [x64] 1698 | os: [openbsd] 1699 | requiresBuild: true 1700 | dev: true 1701 | optional: true 1702 | 1703 | /esbuild-openbsd-64@0.14.54: 1704 | resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} 1705 | engines: {node: '>=12'} 1706 | cpu: [x64] 1707 | os: [openbsd] 1708 | requiresBuild: true 1709 | dev: true 1710 | optional: true 1711 | 1712 | /esbuild-openbsd-64@0.15.18: 1713 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 1714 | engines: {node: '>=12'} 1715 | cpu: [x64] 1716 | os: [openbsd] 1717 | requiresBuild: true 1718 | dev: true 1719 | optional: true 1720 | 1721 | /esbuild-sunos-64@0.14.48: 1722 | resolution: {integrity: sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA==} 1723 | engines: {node: '>=12'} 1724 | cpu: [x64] 1725 | os: [sunos] 1726 | requiresBuild: true 1727 | dev: true 1728 | optional: true 1729 | 1730 | /esbuild-sunos-64@0.14.54: 1731 | resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} 1732 | engines: {node: '>=12'} 1733 | cpu: [x64] 1734 | os: [sunos] 1735 | requiresBuild: true 1736 | dev: true 1737 | optional: true 1738 | 1739 | /esbuild-sunos-64@0.15.18: 1740 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 1741 | engines: {node: '>=12'} 1742 | cpu: [x64] 1743 | os: [sunos] 1744 | requiresBuild: true 1745 | dev: true 1746 | optional: true 1747 | 1748 | /esbuild-windows-32@0.14.48: 1749 | resolution: {integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==} 1750 | engines: {node: '>=12'} 1751 | cpu: [ia32] 1752 | os: [win32] 1753 | requiresBuild: true 1754 | dev: true 1755 | optional: true 1756 | 1757 | /esbuild-windows-32@0.14.54: 1758 | resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} 1759 | engines: {node: '>=12'} 1760 | cpu: [ia32] 1761 | os: [win32] 1762 | requiresBuild: true 1763 | dev: true 1764 | optional: true 1765 | 1766 | /esbuild-windows-32@0.15.18: 1767 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 1768 | engines: {node: '>=12'} 1769 | cpu: [ia32] 1770 | os: [win32] 1771 | requiresBuild: true 1772 | dev: true 1773 | optional: true 1774 | 1775 | /esbuild-windows-64@0.14.48: 1776 | resolution: {integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==} 1777 | engines: {node: '>=12'} 1778 | cpu: [x64] 1779 | os: [win32] 1780 | requiresBuild: true 1781 | dev: true 1782 | optional: true 1783 | 1784 | /esbuild-windows-64@0.14.54: 1785 | resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} 1786 | engines: {node: '>=12'} 1787 | cpu: [x64] 1788 | os: [win32] 1789 | requiresBuild: true 1790 | dev: true 1791 | optional: true 1792 | 1793 | /esbuild-windows-64@0.15.18: 1794 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 1795 | engines: {node: '>=12'} 1796 | cpu: [x64] 1797 | os: [win32] 1798 | requiresBuild: true 1799 | dev: true 1800 | optional: true 1801 | 1802 | /esbuild-windows-arm64@0.14.48: 1803 | resolution: {integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==} 1804 | engines: {node: '>=12'} 1805 | cpu: [arm64] 1806 | os: [win32] 1807 | requiresBuild: true 1808 | dev: true 1809 | optional: true 1810 | 1811 | /esbuild-windows-arm64@0.14.54: 1812 | resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} 1813 | engines: {node: '>=12'} 1814 | cpu: [arm64] 1815 | os: [win32] 1816 | requiresBuild: true 1817 | dev: true 1818 | optional: true 1819 | 1820 | /esbuild-windows-arm64@0.15.18: 1821 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 1822 | engines: {node: '>=12'} 1823 | cpu: [arm64] 1824 | os: [win32] 1825 | requiresBuild: true 1826 | dev: true 1827 | optional: true 1828 | 1829 | /esbuild@0.14.48: 1830 | resolution: {integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==} 1831 | engines: {node: '>=12'} 1832 | hasBin: true 1833 | requiresBuild: true 1834 | optionalDependencies: 1835 | esbuild-android-64: 0.14.48 1836 | esbuild-android-arm64: 0.14.48 1837 | esbuild-darwin-64: 0.14.48 1838 | esbuild-darwin-arm64: 0.14.48 1839 | esbuild-freebsd-64: 0.14.48 1840 | esbuild-freebsd-arm64: 0.14.48 1841 | esbuild-linux-32: 0.14.48 1842 | esbuild-linux-64: 0.14.48 1843 | esbuild-linux-arm: 0.14.48 1844 | esbuild-linux-arm64: 0.14.48 1845 | esbuild-linux-mips64le: 0.14.48 1846 | esbuild-linux-ppc64le: 0.14.48 1847 | esbuild-linux-riscv64: 0.14.48 1848 | esbuild-linux-s390x: 0.14.48 1849 | esbuild-netbsd-64: 0.14.48 1850 | esbuild-openbsd-64: 0.14.48 1851 | esbuild-sunos-64: 0.14.48 1852 | esbuild-windows-32: 0.14.48 1853 | esbuild-windows-64: 0.14.48 1854 | esbuild-windows-arm64: 0.14.48 1855 | dev: true 1856 | 1857 | /esbuild@0.14.54: 1858 | resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} 1859 | engines: {node: '>=12'} 1860 | hasBin: true 1861 | requiresBuild: true 1862 | optionalDependencies: 1863 | '@esbuild/linux-loong64': 0.14.54 1864 | esbuild-android-64: 0.14.54 1865 | esbuild-android-arm64: 0.14.54 1866 | esbuild-darwin-64: 0.14.54 1867 | esbuild-darwin-arm64: 0.14.54 1868 | esbuild-freebsd-64: 0.14.54 1869 | esbuild-freebsd-arm64: 0.14.54 1870 | esbuild-linux-32: 0.14.54 1871 | esbuild-linux-64: 0.14.54 1872 | esbuild-linux-arm: 0.14.54 1873 | esbuild-linux-arm64: 0.14.54 1874 | esbuild-linux-mips64le: 0.14.54 1875 | esbuild-linux-ppc64le: 0.14.54 1876 | esbuild-linux-riscv64: 0.14.54 1877 | esbuild-linux-s390x: 0.14.54 1878 | esbuild-netbsd-64: 0.14.54 1879 | esbuild-openbsd-64: 0.14.54 1880 | esbuild-sunos-64: 0.14.54 1881 | esbuild-windows-32: 0.14.54 1882 | esbuild-windows-64: 0.14.54 1883 | esbuild-windows-arm64: 0.14.54 1884 | dev: true 1885 | 1886 | /esbuild@0.15.18: 1887 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 1888 | engines: {node: '>=12'} 1889 | hasBin: true 1890 | requiresBuild: true 1891 | optionalDependencies: 1892 | '@esbuild/android-arm': 0.15.18 1893 | '@esbuild/linux-loong64': 0.15.18 1894 | esbuild-android-64: 0.15.18 1895 | esbuild-android-arm64: 0.15.18 1896 | esbuild-darwin-64: 0.15.18 1897 | esbuild-darwin-arm64: 0.15.18 1898 | esbuild-freebsd-64: 0.15.18 1899 | esbuild-freebsd-arm64: 0.15.18 1900 | esbuild-linux-32: 0.15.18 1901 | esbuild-linux-64: 0.15.18 1902 | esbuild-linux-arm: 0.15.18 1903 | esbuild-linux-arm64: 0.15.18 1904 | esbuild-linux-mips64le: 0.15.18 1905 | esbuild-linux-ppc64le: 0.15.18 1906 | esbuild-linux-riscv64: 0.15.18 1907 | esbuild-linux-s390x: 0.15.18 1908 | esbuild-netbsd-64: 0.15.18 1909 | esbuild-openbsd-64: 0.15.18 1910 | esbuild-sunos-64: 0.15.18 1911 | esbuild-windows-32: 0.15.18 1912 | esbuild-windows-64: 0.15.18 1913 | esbuild-windows-arm64: 0.15.18 1914 | dev: true 1915 | 1916 | /esbuild@0.16.4: 1917 | resolution: {integrity: sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==} 1918 | engines: {node: '>=12'} 1919 | hasBin: true 1920 | requiresBuild: true 1921 | optionalDependencies: 1922 | '@esbuild/android-arm': 0.16.4 1923 | '@esbuild/android-arm64': 0.16.4 1924 | '@esbuild/android-x64': 0.16.4 1925 | '@esbuild/darwin-arm64': 0.16.4 1926 | '@esbuild/darwin-x64': 0.16.4 1927 | '@esbuild/freebsd-arm64': 0.16.4 1928 | '@esbuild/freebsd-x64': 0.16.4 1929 | '@esbuild/linux-arm': 0.16.4 1930 | '@esbuild/linux-arm64': 0.16.4 1931 | '@esbuild/linux-ia32': 0.16.4 1932 | '@esbuild/linux-loong64': 0.16.4 1933 | '@esbuild/linux-mips64el': 0.16.4 1934 | '@esbuild/linux-ppc64': 0.16.4 1935 | '@esbuild/linux-riscv64': 0.16.4 1936 | '@esbuild/linux-s390x': 0.16.4 1937 | '@esbuild/linux-x64': 0.16.4 1938 | '@esbuild/netbsd-x64': 0.16.4 1939 | '@esbuild/openbsd-x64': 0.16.4 1940 | '@esbuild/sunos-x64': 0.16.4 1941 | '@esbuild/win32-arm64': 0.16.4 1942 | '@esbuild/win32-ia32': 0.16.4 1943 | '@esbuild/win32-x64': 0.16.4 1944 | dev: true 1945 | 1946 | /escalade@3.1.1: 1947 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1948 | engines: {node: '>=6'} 1949 | 1950 | /escape-html@1.0.3: 1951 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1952 | dev: false 1953 | 1954 | /escape-string-regexp@1.0.5: 1955 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1956 | engines: {node: '>=0.8.0'} 1957 | 1958 | /estree-walker@1.0.1: 1959 | resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} 1960 | dev: true 1961 | 1962 | /estree-walker@2.0.2: 1963 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1964 | 1965 | /etag@1.8.1: 1966 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 1967 | engines: {node: '>= 0.6'} 1968 | dev: false 1969 | 1970 | /express@4.18.1: 1971 | resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} 1972 | engines: {node: '>= 0.10.0'} 1973 | dependencies: 1974 | accepts: 1.3.8 1975 | array-flatten: 1.1.1 1976 | body-parser: 1.20.0 1977 | content-disposition: 0.5.4 1978 | content-type: 1.0.4 1979 | cookie: 0.5.0 1980 | cookie-signature: 1.0.6 1981 | debug: 2.6.9 1982 | depd: 2.0.0 1983 | encodeurl: 1.0.2 1984 | escape-html: 1.0.3 1985 | etag: 1.8.1 1986 | finalhandler: 1.2.0 1987 | fresh: 0.5.2 1988 | http-errors: 2.0.0 1989 | merge-descriptors: 1.0.1 1990 | methods: 1.1.2 1991 | on-finished: 2.4.1 1992 | parseurl: 1.3.3 1993 | path-to-regexp: 0.1.7 1994 | proxy-addr: 2.0.7 1995 | qs: 6.10.3 1996 | range-parser: 1.2.1 1997 | safe-buffer: 5.2.1 1998 | send: 0.18.0 1999 | serve-static: 1.15.0 2000 | setprototypeof: 1.2.0 2001 | statuses: 2.0.1 2002 | type-is: 1.6.18 2003 | utils-merge: 1.0.1 2004 | vary: 1.1.2 2005 | transitivePeerDependencies: 2006 | - supports-color 2007 | dev: false 2008 | 2009 | /fast-glob@3.2.12: 2010 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 2011 | engines: {node: '>=8.6.0'} 2012 | dependencies: 2013 | '@nodelib/fs.stat': 2.0.5 2014 | '@nodelib/fs.walk': 1.2.8 2015 | glob-parent: 5.1.2 2016 | merge2: 1.4.1 2017 | micromatch: 4.0.5 2018 | dev: true 2019 | 2020 | /fastq@1.14.0: 2021 | resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} 2022 | dependencies: 2023 | reusify: 1.0.4 2024 | dev: true 2025 | 2026 | /fill-range@7.0.1: 2027 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 2028 | engines: {node: '>=8'} 2029 | dependencies: 2030 | to-regex-range: 5.0.1 2031 | dev: true 2032 | 2033 | /finalhandler@1.2.0: 2034 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 2035 | engines: {node: '>= 0.8'} 2036 | dependencies: 2037 | debug: 2.6.9 2038 | encodeurl: 1.0.2 2039 | escape-html: 1.0.3 2040 | on-finished: 2.4.1 2041 | parseurl: 1.3.3 2042 | statuses: 2.0.1 2043 | unpipe: 1.0.0 2044 | transitivePeerDependencies: 2045 | - supports-color 2046 | dev: false 2047 | 2048 | /forwarded@0.2.0: 2049 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 2050 | engines: {node: '>= 0.6'} 2051 | dev: false 2052 | 2053 | /fresh@0.5.2: 2054 | resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} 2055 | engines: {node: '>= 0.6'} 2056 | dev: false 2057 | 2058 | /fs-extra@10.1.0: 2059 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 2060 | engines: {node: '>=12'} 2061 | dependencies: 2062 | graceful-fs: 4.2.10 2063 | jsonfile: 6.1.0 2064 | universalify: 2.0.0 2065 | dev: true 2066 | 2067 | /fs.realpath@1.0.0: 2068 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 2069 | dev: true 2070 | 2071 | /fsevents@2.3.2: 2072 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 2073 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2074 | os: [darwin] 2075 | requiresBuild: true 2076 | optional: true 2077 | 2078 | /function-bind@1.1.1: 2079 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 2080 | 2081 | /gensync@1.0.0-beta.2: 2082 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2083 | engines: {node: '>=6.9.0'} 2084 | 2085 | /get-intrinsic@1.1.2: 2086 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 2087 | dependencies: 2088 | function-bind: 1.1.1 2089 | has: 1.0.3 2090 | has-symbols: 1.0.3 2091 | dev: false 2092 | 2093 | /get-tsconfig@4.2.0: 2094 | resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==} 2095 | dev: true 2096 | 2097 | /glob-parent@5.1.2: 2098 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2099 | engines: {node: '>= 6'} 2100 | dependencies: 2101 | is-glob: 4.0.3 2102 | dev: true 2103 | 2104 | /glob@7.2.3: 2105 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 2106 | dependencies: 2107 | fs.realpath: 1.0.0 2108 | inflight: 1.0.6 2109 | inherits: 2.0.4 2110 | minimatch: 3.1.2 2111 | once: 1.4.0 2112 | path-is-absolute: 1.0.1 2113 | dev: true 2114 | 2115 | /globals@11.12.0: 2116 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2117 | engines: {node: '>=4'} 2118 | 2119 | /globby@11.1.0: 2120 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2121 | engines: {node: '>=10'} 2122 | dependencies: 2123 | array-union: 2.1.0 2124 | dir-glob: 3.0.1 2125 | fast-glob: 3.2.12 2126 | ignore: 5.2.1 2127 | merge2: 1.4.1 2128 | slash: 3.0.0 2129 | dev: true 2130 | 2131 | /graceful-fs@4.2.10: 2132 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 2133 | dev: true 2134 | 2135 | /has-flag@3.0.0: 2136 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2137 | engines: {node: '>=4'} 2138 | 2139 | /has-flag@4.0.0: 2140 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2141 | engines: {node: '>=8'} 2142 | dev: false 2143 | 2144 | /has-symbols@1.0.3: 2145 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2146 | engines: {node: '>= 0.4'} 2147 | dev: false 2148 | 2149 | /has@1.0.3: 2150 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2151 | engines: {node: '>= 0.4.0'} 2152 | dependencies: 2153 | function-bind: 1.1.1 2154 | 2155 | /hash-sum@2.0.0: 2156 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} 2157 | dev: false 2158 | 2159 | /he@1.2.0: 2160 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 2161 | hasBin: true 2162 | dev: false 2163 | 2164 | /hookable@5.4.2: 2165 | resolution: {integrity: sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==} 2166 | dev: true 2167 | 2168 | /html-tags@2.0.0: 2169 | resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} 2170 | engines: {node: '>=4'} 2171 | dev: false 2172 | 2173 | /http-errors@2.0.0: 2174 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 2175 | engines: {node: '>= 0.8'} 2176 | dependencies: 2177 | depd: 2.0.0 2178 | inherits: 2.0.4 2179 | setprototypeof: 1.2.0 2180 | statuses: 2.0.1 2181 | toidentifier: 1.0.1 2182 | dev: false 2183 | 2184 | /iconv-lite@0.4.24: 2185 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 2186 | engines: {node: '>=0.10.0'} 2187 | dependencies: 2188 | safer-buffer: 2.1.2 2189 | dev: false 2190 | 2191 | /ignore@5.2.1: 2192 | resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} 2193 | engines: {node: '>= 4'} 2194 | dev: true 2195 | 2196 | /inflight@1.0.6: 2197 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2198 | dependencies: 2199 | once: 1.4.0 2200 | wrappy: 1.0.2 2201 | dev: true 2202 | 2203 | /inherits@2.0.4: 2204 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2205 | 2206 | /ipaddr.js@1.9.1: 2207 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 2208 | engines: {node: '>= 0.10'} 2209 | dev: false 2210 | 2211 | /is-builtin-module@3.2.0: 2212 | resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==} 2213 | engines: {node: '>=6'} 2214 | dependencies: 2215 | builtin-modules: 3.3.0 2216 | dev: true 2217 | 2218 | /is-core-module@2.11.0: 2219 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 2220 | dependencies: 2221 | has: 1.0.3 2222 | 2223 | /is-extglob@2.1.1: 2224 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2225 | engines: {node: '>=0.10.0'} 2226 | dev: true 2227 | 2228 | /is-glob@4.0.3: 2229 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2230 | engines: {node: '>=0.10.0'} 2231 | dependencies: 2232 | is-extglob: 2.1.1 2233 | dev: true 2234 | 2235 | /is-module@1.0.0: 2236 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 2237 | dev: true 2238 | 2239 | /is-number@7.0.0: 2240 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2241 | engines: {node: '>=0.12.0'} 2242 | dev: true 2243 | 2244 | /is-reference@1.2.1: 2245 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 2246 | dependencies: 2247 | '@types/estree': 1.0.0 2248 | dev: true 2249 | 2250 | /isexe@2.0.0: 2251 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2252 | dev: true 2253 | 2254 | /jiti@1.16.0: 2255 | resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==} 2256 | hasBin: true 2257 | dev: true 2258 | 2259 | /joycon@3.1.1: 2260 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 2261 | engines: {node: '>=10'} 2262 | dev: true 2263 | 2264 | /js-tokens@4.0.0: 2265 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2266 | 2267 | /jsesc@2.5.2: 2268 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2269 | engines: {node: '>=4'} 2270 | hasBin: true 2271 | 2272 | /json5@2.2.1: 2273 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2274 | engines: {node: '>=6'} 2275 | hasBin: true 2276 | 2277 | /jsonc-parser@3.2.0: 2278 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 2279 | dev: true 2280 | 2281 | /jsonfile@6.1.0: 2282 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2283 | dependencies: 2284 | universalify: 2.0.0 2285 | optionalDependencies: 2286 | graceful-fs: 4.2.10 2287 | dev: true 2288 | 2289 | /lodash._reinterpolate@3.0.0: 2290 | resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} 2291 | dev: false 2292 | 2293 | /lodash.kebabcase@4.1.1: 2294 | resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} 2295 | dev: false 2296 | 2297 | /lodash.template@4.5.0: 2298 | resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} 2299 | dependencies: 2300 | lodash._reinterpolate: 3.0.0 2301 | lodash.templatesettings: 4.2.0 2302 | dev: false 2303 | 2304 | /lodash.templatesettings@4.2.0: 2305 | resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} 2306 | dependencies: 2307 | lodash._reinterpolate: 3.0.0 2308 | dev: false 2309 | 2310 | /lodash.uniq@4.5.0: 2311 | resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} 2312 | dev: false 2313 | 2314 | /magic-string@0.25.9: 2315 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2316 | dependencies: 2317 | sourcemap-codec: 1.4.8 2318 | dev: true 2319 | 2320 | /magic-string@0.26.7: 2321 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} 2322 | engines: {node: '>=12'} 2323 | dependencies: 2324 | sourcemap-codec: 1.4.8 2325 | dev: true 2326 | 2327 | /media-typer@0.3.0: 2328 | resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} 2329 | engines: {node: '>= 0.6'} 2330 | dev: false 2331 | 2332 | /merge-descriptors@1.0.1: 2333 | resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} 2334 | dev: false 2335 | 2336 | /merge2@1.4.1: 2337 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2338 | engines: {node: '>= 8'} 2339 | dev: true 2340 | 2341 | /methods@1.1.2: 2342 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 2343 | engines: {node: '>= 0.6'} 2344 | dev: false 2345 | 2346 | /micromatch@4.0.5: 2347 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2348 | engines: {node: '>=8.6'} 2349 | dependencies: 2350 | braces: 3.0.2 2351 | picomatch: 2.3.1 2352 | dev: true 2353 | 2354 | /mime-db@1.52.0: 2355 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2356 | engines: {node: '>= 0.6'} 2357 | 2358 | /mime-types@2.1.35: 2359 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2360 | engines: {node: '>= 0.6'} 2361 | dependencies: 2362 | mime-db: 1.52.0 2363 | 2364 | /mime@1.6.0: 2365 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 2366 | engines: {node: '>=4'} 2367 | hasBin: true 2368 | dev: false 2369 | 2370 | /minimatch@3.1.2: 2371 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2372 | dependencies: 2373 | brace-expansion: 1.1.11 2374 | dev: true 2375 | 2376 | /mkdirp@1.0.4: 2377 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 2378 | engines: {node: '>=10'} 2379 | hasBin: true 2380 | dev: true 2381 | 2382 | /mkdist@0.3.13(typescript@4.9.4): 2383 | resolution: {integrity: sha512-+eCPpkr8l2X630y5PIlkts2tzYEsb+aGIgXdrQv9ZGtWE2bLlD6kVIFfI6FJwFpjjw4dPPyorxQc6Uhm/oXlvg==} 2384 | hasBin: true 2385 | peerDependencies: 2386 | typescript: '>=4.7.4' 2387 | peerDependenciesMeta: 2388 | typescript: 2389 | optional: true 2390 | dependencies: 2391 | defu: 6.1.1 2392 | esbuild: 0.14.54 2393 | fs-extra: 10.1.0 2394 | globby: 11.1.0 2395 | jiti: 1.16.0 2396 | mri: 1.2.0 2397 | pathe: 0.2.0 2398 | typescript: 4.9.4 2399 | dev: true 2400 | 2401 | /mlly@0.5.17: 2402 | resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==} 2403 | dependencies: 2404 | acorn: 8.8.1 2405 | pathe: 1.0.0 2406 | pkg-types: 1.0.1 2407 | ufo: 1.0.1 2408 | dev: true 2409 | 2410 | /mlly@1.0.0: 2411 | resolution: {integrity: sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==} 2412 | dependencies: 2413 | acorn: 8.8.1 2414 | pathe: 1.0.0 2415 | pkg-types: 1.0.1 2416 | ufo: 1.0.1 2417 | dev: true 2418 | 2419 | /mri@1.2.0: 2420 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 2421 | engines: {node: '>=4'} 2422 | dev: true 2423 | 2424 | /ms@2.0.0: 2425 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2426 | 2427 | /ms@2.1.2: 2428 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2429 | 2430 | /ms@2.1.3: 2431 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2432 | dev: false 2433 | 2434 | /nanoid@3.3.4: 2435 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2436 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2437 | hasBin: true 2438 | 2439 | /negotiator@0.6.3: 2440 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 2441 | engines: {node: '>= 0.6'} 2442 | 2443 | /node-releases@2.0.6: 2444 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} 2445 | 2446 | /object-inspect@1.12.2: 2447 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2448 | dev: false 2449 | 2450 | /on-finished@2.4.1: 2451 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 2452 | engines: {node: '>= 0.8'} 2453 | dependencies: 2454 | ee-first: 1.1.1 2455 | dev: false 2456 | 2457 | /on-headers@1.0.2: 2458 | resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} 2459 | engines: {node: '>= 0.8'} 2460 | dev: true 2461 | 2462 | /once@1.4.0: 2463 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2464 | dependencies: 2465 | wrappy: 1.0.2 2466 | dev: true 2467 | 2468 | /parseurl@1.3.3: 2469 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 2470 | engines: {node: '>= 0.8'} 2471 | dev: false 2472 | 2473 | /path-is-absolute@1.0.1: 2474 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2475 | engines: {node: '>=0.10.0'} 2476 | dev: true 2477 | 2478 | /path-key@3.1.1: 2479 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2480 | engines: {node: '>=8'} 2481 | dev: true 2482 | 2483 | /path-parse@1.0.7: 2484 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2485 | 2486 | /path-to-regexp@0.1.7: 2487 | resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} 2488 | dev: false 2489 | 2490 | /path-type@4.0.0: 2491 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2492 | engines: {node: '>=8'} 2493 | dev: true 2494 | 2495 | /pathe@0.2.0: 2496 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} 2497 | dev: true 2498 | 2499 | /pathe@0.3.9: 2500 | resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} 2501 | dev: true 2502 | 2503 | /pathe@1.0.0: 2504 | resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==} 2505 | dev: true 2506 | 2507 | /picocolors@1.0.0: 2508 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2509 | 2510 | /picomatch@2.3.1: 2511 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2512 | engines: {node: '>=8.6'} 2513 | 2514 | /pkg-types@0.3.6: 2515 | resolution: {integrity: sha512-uQZutkkh6axl1GxDm5/+8ivVdwuJ5pyDGqJeSiIWIUWIqYiK3p9QKozN/Rv6eVvFoeSWkN1uoYeSDBwwBJBtbg==} 2516 | dependencies: 2517 | jsonc-parser: 3.2.0 2518 | mlly: 0.5.17 2519 | pathe: 0.3.9 2520 | dev: true 2521 | 2522 | /pkg-types@1.0.1: 2523 | resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} 2524 | dependencies: 2525 | jsonc-parser: 3.2.0 2526 | mlly: 1.0.0 2527 | pathe: 1.0.0 2528 | dev: true 2529 | 2530 | /postcss@8.4.14: 2531 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 2532 | engines: {node: ^10 || ^12 || >=14} 2533 | dependencies: 2534 | nanoid: 3.3.4 2535 | picocolors: 1.0.0 2536 | source-map-js: 1.0.2 2537 | 2538 | /postcss@8.4.20: 2539 | resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} 2540 | engines: {node: ^10 || ^12 || >=14} 2541 | dependencies: 2542 | nanoid: 3.3.4 2543 | picocolors: 1.0.0 2544 | source-map-js: 1.0.2 2545 | 2546 | /pretty-bytes@6.0.0: 2547 | resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} 2548 | engines: {node: ^14.13.1 || >=16.0.0} 2549 | dev: true 2550 | 2551 | /proxy-addr@2.0.7: 2552 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 2553 | engines: {node: '>= 0.10'} 2554 | dependencies: 2555 | forwarded: 0.2.0 2556 | ipaddr.js: 1.9.1 2557 | dev: false 2558 | 2559 | /qs@6.10.3: 2560 | resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} 2561 | engines: {node: '>=0.6'} 2562 | dependencies: 2563 | side-channel: 1.0.4 2564 | dev: false 2565 | 2566 | /queue-microtask@1.2.3: 2567 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2568 | dev: true 2569 | 2570 | /randombytes@2.1.0: 2571 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 2572 | dependencies: 2573 | safe-buffer: 5.2.1 2574 | dev: false 2575 | 2576 | /range-parser@1.2.1: 2577 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 2578 | engines: {node: '>= 0.6'} 2579 | dev: false 2580 | 2581 | /raw-body@2.5.1: 2582 | resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} 2583 | engines: {node: '>= 0.8'} 2584 | dependencies: 2585 | bytes: 3.1.2 2586 | http-errors: 2.0.0 2587 | iconv-lite: 0.4.24 2588 | unpipe: 1.0.0 2589 | dev: false 2590 | 2591 | /resolve@1.22.1: 2592 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2593 | hasBin: true 2594 | dependencies: 2595 | is-core-module: 2.11.0 2596 | path-parse: 1.0.7 2597 | supports-preserve-symlinks-flag: 1.0.0 2598 | 2599 | /reusify@1.0.4: 2600 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2601 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2602 | dev: true 2603 | 2604 | /rimraf@3.0.2: 2605 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2606 | hasBin: true 2607 | dependencies: 2608 | glob: 7.2.3 2609 | dev: true 2610 | 2611 | /rollup-plugin-dts@4.2.3(rollup@2.79.1)(typescript@4.9.4): 2612 | resolution: {integrity: sha512-jlcpItqM2efqfIiKzDB/IKOS9E9fDvbkJSGw5GtK/PqPGS9eC3R3JKyw2VvpTktZA+TNgJRMu1NTv244aTUzzQ==} 2613 | engines: {node: '>=v12.22.12'} 2614 | peerDependencies: 2615 | rollup: ^2.55 2616 | typescript: ^4.1 2617 | dependencies: 2618 | magic-string: 0.26.7 2619 | rollup: 2.79.1 2620 | typescript: 4.9.4 2621 | optionalDependencies: 2622 | '@babel/code-frame': 7.18.6 2623 | dev: true 2624 | 2625 | /rollup-plugin-esbuild@4.10.3(esbuild@0.14.54)(rollup@2.79.1): 2626 | resolution: {integrity: sha512-RILwUCgnCL5vo8vyZ/ZpwcqRuE5KmLizEv6BujBQfgXFZ6ggcS0FiYvQN+gsTJfWCMaU37l0Fosh4eEufyO97Q==} 2627 | engines: {node: '>=12'} 2628 | peerDependencies: 2629 | esbuild: '>=0.10.1' 2630 | rollup: ^1.20.0 || ^2.0.0 2631 | dependencies: 2632 | '@rollup/pluginutils': 4.2.1 2633 | debug: 4.3.4 2634 | es-module-lexer: 0.9.3 2635 | esbuild: 0.14.54 2636 | joycon: 3.1.1 2637 | jsonc-parser: 3.2.0 2638 | rollup: 2.79.1 2639 | transitivePeerDependencies: 2640 | - supports-color 2641 | dev: true 2642 | 2643 | /rollup@2.75.7: 2644 | resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==} 2645 | engines: {node: '>=10.0.0'} 2646 | hasBin: true 2647 | optionalDependencies: 2648 | fsevents: 2.3.2 2649 | dev: true 2650 | 2651 | /rollup@2.79.1: 2652 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} 2653 | engines: {node: '>=10.0.0'} 2654 | hasBin: true 2655 | optionalDependencies: 2656 | fsevents: 2.3.2 2657 | 2658 | /rollup@3.7.3: 2659 | resolution: {integrity: sha512-7e68MQbAWCX6mI4/0lG1WHd+NdNAlVamg0Zkd+8LZ/oXojligdGnCNyHlzXqXCZObyjs5FRc3AH0b17iJESGIQ==} 2660 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2661 | hasBin: true 2662 | optionalDependencies: 2663 | fsevents: 2.3.2 2664 | dev: true 2665 | 2666 | /run-parallel@1.2.0: 2667 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2668 | dependencies: 2669 | queue-microtask: 1.2.3 2670 | dev: true 2671 | 2672 | /safe-buffer@5.1.2: 2673 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2674 | dev: true 2675 | 2676 | /safe-buffer@5.2.1: 2677 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2678 | dev: false 2679 | 2680 | /safer-buffer@2.1.2: 2681 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2682 | dev: false 2683 | 2684 | /scule@0.2.1: 2685 | resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} 2686 | dev: true 2687 | 2688 | /scule@0.3.2: 2689 | resolution: {integrity: sha512-zIvPdjOH8fv8CgrPT5eqtxHQXmPNnV/vHJYffZhE43KZkvULvpCTvOt1HPlFaCZx287INL9qaqrZg34e8NgI4g==} 2690 | dev: true 2691 | 2692 | /semver@6.3.0: 2693 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2694 | hasBin: true 2695 | 2696 | /send@0.18.0: 2697 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 2698 | engines: {node: '>= 0.8.0'} 2699 | dependencies: 2700 | debug: 2.6.9 2701 | depd: 2.0.0 2702 | destroy: 1.2.0 2703 | encodeurl: 1.0.2 2704 | escape-html: 1.0.3 2705 | etag: 1.8.1 2706 | fresh: 0.5.2 2707 | http-errors: 2.0.0 2708 | mime: 1.6.0 2709 | ms: 2.1.3 2710 | on-finished: 2.4.1 2711 | range-parser: 1.2.1 2712 | statuses: 2.0.1 2713 | transitivePeerDependencies: 2714 | - supports-color 2715 | dev: false 2716 | 2717 | /serialize-javascript@6.0.0: 2718 | resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} 2719 | dependencies: 2720 | randombytes: 2.1.0 2721 | dev: false 2722 | 2723 | /serve-static@1.15.0: 2724 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 2725 | engines: {node: '>= 0.8.0'} 2726 | dependencies: 2727 | encodeurl: 1.0.2 2728 | escape-html: 1.0.3 2729 | parseurl: 1.3.3 2730 | send: 0.18.0 2731 | transitivePeerDependencies: 2732 | - supports-color 2733 | dev: false 2734 | 2735 | /setprototypeof@1.2.0: 2736 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2737 | dev: false 2738 | 2739 | /shebang-command@2.0.0: 2740 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2741 | engines: {node: '>=8'} 2742 | dependencies: 2743 | shebang-regex: 3.0.0 2744 | dev: true 2745 | 2746 | /shebang-regex@3.0.0: 2747 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2748 | engines: {node: '>=8'} 2749 | dev: true 2750 | 2751 | /side-channel@1.0.4: 2752 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2753 | dependencies: 2754 | call-bind: 1.0.2 2755 | get-intrinsic: 1.1.2 2756 | object-inspect: 1.12.2 2757 | dev: false 2758 | 2759 | /slash@3.0.0: 2760 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2761 | engines: {node: '>=8'} 2762 | dev: true 2763 | 2764 | /source-map-js@1.0.2: 2765 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2766 | engines: {node: '>=0.10.0'} 2767 | 2768 | /source-map-support@0.5.21: 2769 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2770 | dependencies: 2771 | buffer-from: 1.1.2 2772 | source-map: 0.6.1 2773 | dev: true 2774 | 2775 | /source-map@0.5.6: 2776 | resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} 2777 | engines: {node: '>=0.10.0'} 2778 | dev: false 2779 | 2780 | /source-map@0.6.1: 2781 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2782 | engines: {node: '>=0.10.0'} 2783 | 2784 | /sourcemap-codec@1.4.8: 2785 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2786 | deprecated: Please use @jridgewell/sourcemap-codec instead 2787 | dev: true 2788 | 2789 | /statuses@2.0.1: 2790 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 2791 | engines: {node: '>= 0.8'} 2792 | dev: false 2793 | 2794 | /supports-color@5.5.0: 2795 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2796 | engines: {node: '>=4'} 2797 | dependencies: 2798 | has-flag: 3.0.0 2799 | 2800 | /supports-color@7.2.0: 2801 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2802 | engines: {node: '>=8'} 2803 | dependencies: 2804 | has-flag: 4.0.0 2805 | dev: false 2806 | 2807 | /supports-preserve-symlinks-flag@1.0.0: 2808 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2809 | engines: {node: '>= 0.4'} 2810 | 2811 | /svg-tags@1.0.0: 2812 | resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} 2813 | dev: false 2814 | 2815 | /to-fast-properties@2.0.0: 2816 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2817 | engines: {node: '>=4'} 2818 | 2819 | /to-regex-range@5.0.1: 2820 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2821 | engines: {node: '>=8.0'} 2822 | dependencies: 2823 | is-number: 7.0.0 2824 | dev: true 2825 | 2826 | /toidentifier@1.0.1: 2827 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 2828 | engines: {node: '>=0.6'} 2829 | dev: false 2830 | 2831 | /tsx@3.12.1: 2832 | resolution: {integrity: sha512-Rcg1x+rNe7qwlP8j7kx4VjP/pJo/V57k+17hlrn6a7FuQLNwkaw5W4JF75tYornNVCxkXdSUnqlIT8JY/ttvIw==} 2833 | hasBin: true 2834 | dependencies: 2835 | '@esbuild-kit/cjs-loader': 2.4.1 2836 | '@esbuild-kit/core-utils': 3.0.0 2837 | '@esbuild-kit/esm-loader': 2.5.4 2838 | optionalDependencies: 2839 | fsevents: 2.3.2 2840 | dev: true 2841 | 2842 | /type-is@1.6.18: 2843 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 2844 | engines: {node: '>= 0.6'} 2845 | dependencies: 2846 | media-typer: 0.3.0 2847 | mime-types: 2.1.35 2848 | dev: false 2849 | 2850 | /typescript@4.9.4: 2851 | resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} 2852 | engines: {node: '>=4.2.0'} 2853 | hasBin: true 2854 | dev: true 2855 | 2856 | /ufo@1.0.1: 2857 | resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} 2858 | dev: true 2859 | 2860 | /unbuild@0.7.6: 2861 | resolution: {integrity: sha512-W6pFPS6/ewlEV5uWbNgfo0i2LbVBsue5GKlOkCo6ozIrInOBEgq4s3HCUB5eZSw6Ty2iwF8dKM65pZX7QGZJ0g==} 2862 | hasBin: true 2863 | dependencies: 2864 | '@rollup/plugin-alias': 3.1.9(rollup@2.79.1) 2865 | '@rollup/plugin-commonjs': 22.0.2(rollup@2.79.1) 2866 | '@rollup/plugin-json': 4.1.0(rollup@2.79.1) 2867 | '@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.1) 2868 | '@rollup/plugin-replace': 4.0.0(rollup@2.79.1) 2869 | '@rollup/pluginutils': 4.2.1 2870 | chalk: 5.2.0 2871 | consola: 2.15.3 2872 | defu: 6.1.1 2873 | esbuild: 0.14.54 2874 | hookable: 5.4.2 2875 | jiti: 1.16.0 2876 | magic-string: 0.26.7 2877 | mkdirp: 1.0.4 2878 | mkdist: 0.3.13(typescript@4.9.4) 2879 | mlly: 0.5.17 2880 | mri: 1.2.0 2881 | pathe: 0.3.9 2882 | pkg-types: 0.3.6 2883 | pretty-bytes: 6.0.0 2884 | rimraf: 3.0.2 2885 | rollup: 2.79.1 2886 | rollup-plugin-dts: 4.2.3(rollup@2.79.1)(typescript@4.9.4) 2887 | rollup-plugin-esbuild: 4.10.3(esbuild@0.14.54)(rollup@2.79.1) 2888 | scule: 0.2.1 2889 | typescript: 4.9.4 2890 | untyped: 0.4.7 2891 | transitivePeerDependencies: 2892 | - supports-color 2893 | dev: true 2894 | 2895 | /universalify@2.0.0: 2896 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 2897 | engines: {node: '>= 10.0.0'} 2898 | dev: true 2899 | 2900 | /unpipe@1.0.0: 2901 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 2902 | engines: {node: '>= 0.8'} 2903 | dev: false 2904 | 2905 | /untyped@0.4.7: 2906 | resolution: {integrity: sha512-hBgCv7fnqIRzAagn2cUZxxVmhTE7NcMAgI8CfQelFVacG4O55VrurigpK0G504ph4sQSqVsGEo52O5EKFCnJ9g==} 2907 | dependencies: 2908 | '@babel/core': 7.20.5 2909 | '@babel/standalone': 7.20.6 2910 | '@babel/types': 7.20.5 2911 | scule: 0.3.2 2912 | transitivePeerDependencies: 2913 | - supports-color 2914 | dev: true 2915 | 2916 | /update-browserslist-db@1.0.10(browserslist@4.21.4): 2917 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 2918 | hasBin: true 2919 | peerDependencies: 2920 | browserslist: '>= 4.21.0' 2921 | dependencies: 2922 | browserslist: 4.21.4 2923 | escalade: 3.1.1 2924 | picocolors: 1.0.0 2925 | 2926 | /utils-merge@1.0.1: 2927 | resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} 2928 | engines: {node: '>= 0.4.0'} 2929 | dev: false 2930 | 2931 | /vary@1.1.2: 2932 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 2933 | engines: {node: '>= 0.8'} 2934 | 2935 | /vite@2.9.13: 2936 | resolution: {integrity: sha512-AsOBAaT0AD7Mhe8DuK+/kE4aWYFMx/i0ZNi98hJclxb4e0OhQcZYUrvLjIaQ8e59Ui7txcvKMiJC1yftqpQoDw==} 2937 | engines: {node: '>=12.2.0'} 2938 | hasBin: true 2939 | peerDependencies: 2940 | less: '*' 2941 | sass: '*' 2942 | stylus: '*' 2943 | peerDependenciesMeta: 2944 | less: 2945 | optional: true 2946 | sass: 2947 | optional: true 2948 | stylus: 2949 | optional: true 2950 | dependencies: 2951 | esbuild: 0.14.48 2952 | postcss: 8.4.14 2953 | resolve: 1.22.1 2954 | rollup: 2.75.7 2955 | optionalDependencies: 2956 | fsevents: 2.3.2 2957 | dev: true 2958 | 2959 | /vite@3.0.0-beta.9: 2960 | resolution: {integrity: sha512-8peIUw7PFhyYAuiQqL0S3j7zlVaYbcq3XgyHEvpMgqChg4/OtbKhU8yVhQ1OX2GLjCkNXfDN+q/T3ST02apDfg==} 2961 | engines: {node: '>=14.18.0'} 2962 | hasBin: true 2963 | peerDependencies: 2964 | less: '*' 2965 | sass: '*' 2966 | stylus: '*' 2967 | terser: ^5.4.0 2968 | peerDependenciesMeta: 2969 | less: 2970 | optional: true 2971 | sass: 2972 | optional: true 2973 | stylus: 2974 | optional: true 2975 | terser: 2976 | optional: true 2977 | dependencies: 2978 | esbuild: 0.14.48 2979 | postcss: 8.4.14 2980 | resolve: 1.22.1 2981 | rollup: 2.75.7 2982 | optionalDependencies: 2983 | fsevents: 2.3.2 2984 | dev: true 2985 | 2986 | /vite@4.0.0: 2987 | resolution: {integrity: sha512-ynad+4kYs8Jcnn8J7SacS9vAbk7eMy0xWg6E7bAhS1s79TK+D7tVFGXVZ55S7RNLRROU1rxoKlvZ/qjaB41DGA==} 2988 | engines: {node: ^14.18.0 || >=16.0.0} 2989 | hasBin: true 2990 | peerDependencies: 2991 | '@types/node': '>= 14' 2992 | less: '*' 2993 | sass: '*' 2994 | stylus: '*' 2995 | sugarss: '*' 2996 | terser: ^5.4.0 2997 | peerDependenciesMeta: 2998 | '@types/node': 2999 | optional: true 3000 | less: 3001 | optional: true 3002 | sass: 3003 | optional: true 3004 | stylus: 3005 | optional: true 3006 | sugarss: 3007 | optional: true 3008 | terser: 3009 | optional: true 3010 | dependencies: 3011 | esbuild: 0.16.4 3012 | postcss: 8.4.20 3013 | resolve: 1.22.1 3014 | rollup: 3.7.3 3015 | optionalDependencies: 3016 | fsevents: 2.3.2 3017 | dev: true 3018 | 3019 | /vue-router@3.5.4(vue@2.7.4): 3020 | resolution: {integrity: sha512-x+/DLAJZv2mcQ7glH2oV9ze8uPwcI+H+GgTgTmb5I55bCgY3+vXWIsqbYUzbBSZnwFHEJku4eoaH/x98veyymQ==} 3021 | peerDependencies: 3022 | vue: ^2 3023 | dependencies: 3024 | vue: 2.7.4 3025 | dev: false 3026 | 3027 | /vue-server-renderer@2.7.4: 3028 | resolution: {integrity: sha512-fKyZ3X1Z2NalJOcIItYjjPF5NseIAiqFWDBluJD+fDQyYg4zyXB6fpQCA4j5JIfXdu/v1OJiyq8aVTu1Ofp75w==} 3029 | dependencies: 3030 | chalk: 4.1.2 3031 | hash-sum: 2.0.0 3032 | he: 1.2.0 3033 | lodash.template: 4.5.0 3034 | lodash.uniq: 4.5.0 3035 | resolve: 1.22.1 3036 | serialize-javascript: 6.0.0 3037 | source-map: 0.5.6 3038 | dev: false 3039 | 3040 | /vue@2.7.14: 3041 | resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==} 3042 | dependencies: 3043 | '@vue/compiler-sfc': 2.7.14 3044 | csstype: 3.1.1 3045 | 3046 | /vue@2.7.4: 3047 | resolution: {integrity: sha512-8KGyyzFSj/FrKj1y7jyEpv8J4osgZx6Lk1lVzh1aP4BqsXZhATH1r0gdJNz00MMyBhK0/m2cNoPuOZ1NzeiUEw==} 3048 | dependencies: 3049 | '@vue/compiler-sfc': 2.7.4 3050 | csstype: 3.1.0 3051 | 3052 | /which@2.0.2: 3053 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3054 | engines: {node: '>= 8'} 3055 | hasBin: true 3056 | dependencies: 3057 | isexe: 2.0.0 3058 | dev: true 3059 | 3060 | /wrappy@1.0.2: 3061 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3062 | dev: true 3063 | --------------------------------------------------------------------------------