├── .gitignore
├── .prettierrc
├── packages
└── totp-wasm
│ ├── dist
│ ├── wasm_data.d.ts
│ ├── totp_wasm_bg.wasm
│ ├── totp_wasm_bg.wasm.d.ts
│ ├── totp_wasm.d.ts
│ ├── totp_wasm.js
│ └── wasm_data.js
│ ├── jsr.json
│ ├── index.ts
│ ├── deno
│ └── mod.ts
│ ├── package.json
│ └── README.md
├── examples
├── browser
│ ├── .vscode
│ │ └── extensions.json
│ ├── README.md
│ ├── public
│ │ └── favicon.png
│ ├── src
│ │ ├── auto-imports.d.ts
│ │ ├── main.ts
│ │ ├── style.scss
│ │ ├── totp.ts
│ │ ├── vite-env.d.ts
│ │ ├── assets
│ │ │ └── github-corner-right.svg
│ │ ├── utils.ts
│ │ ├── components.d.ts
│ │ ├── components
│ │ │ └── GitHubCorners.vue
│ │ └── App.vue
│ ├── tsconfig.node.json
│ ├── .gitignore
│ ├── index.html
│ ├── tsconfig.json
│ ├── vite.config.ts
│ ├── package.json
│ └── pnpm-lock.yaml
├── bun
│ ├── bun.lockb
│ ├── package.json
│ ├── tsconfig.json
│ ├── totp.test.ts
│ └── .gitignore
├── node
│ ├── tsconfig.json
│ ├── package.json
│ └── index.ts
└── deno
│ ├── init.ts
│ ├── noinit.ts
│ ├── deps.ts
│ ├── init.test.ts
│ └── noinit_test.ts
├── pnpm-workspace.yaml
├── vercel.json
├── Cargo.toml
├── .vscode
└── settings.json
├── totp-wasm
├── Cargo.toml
└── src
│ └── lib.rs
├── .github
└── workflows
│ ├── deno.yml
│ └── node.yml
├── package.json
├── scripts
└── build.mjs
├── LICENSE
├── README.md
└── pnpm-lock.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /Cargo.lock
3 | node_modules
4 | .vercel
5 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true
4 | }
5 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/wasm_data.d.ts:
--------------------------------------------------------------------------------
1 | export const wasm_data: string
2 |
--------------------------------------------------------------------------------
/examples/browser/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/examples/browser/README.md:
--------------------------------------------------------------------------------
1 | # Demo
2 |
3 | ```bash
4 | pnpm install
5 | pnpm run build
6 | ```
7 |
--------------------------------------------------------------------------------
/examples/bun/bun.lockb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/examples/bun/bun.lockb
--------------------------------------------------------------------------------
/examples/node/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "types": ["node"]
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - packages/totp-wasm
3 | - examples/browser
4 | - examples/node
5 |
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "github": { "silent": true },
3 | "outputDirectory": "examples/browser/dist"
4 | }
5 |
--------------------------------------------------------------------------------
/examples/browser/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/examples/browser/public/favicon.png
--------------------------------------------------------------------------------
/examples/browser/src/auto-imports.d.ts:
--------------------------------------------------------------------------------
1 | // Generated by 'unplugin-auto-import'
2 | export {}
3 | declare global {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [workspace]
2 | members = ["totp-wasm"]
3 |
4 | [profile.release]
5 | lto = true
6 | opt-level = 's'
7 | panic = 'abort'
8 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/totp_wasm_bg.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/packages/totp-wasm/dist/totp_wasm_bg.wasm
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "deno.enable": true,
3 | "deno.unstable": true,
4 | "deno.enablePaths": ["packages/totp-wasm/deno", "examples/deno"]
5 | }
6 |
--------------------------------------------------------------------------------
/examples/browser/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import './style.scss'
3 | import App from './App.vue'
4 |
5 | createApp(App).mount('#app')
6 |
--------------------------------------------------------------------------------
/examples/browser/src/style.scss:
--------------------------------------------------------------------------------
1 | .n-progress-graph-line-fill {
2 | transition: background-color 0.3s var(--n-bezier), max-width 1s linear !important;
3 | }
4 |
--------------------------------------------------------------------------------
/packages/totp-wasm/jsr.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@gizmo-ds/totp-wasm",
3 | "version": "0.1.2",
4 | "exports": "./index.ts",
5 | "include": ["dist/**"]
6 | }
7 |
--------------------------------------------------------------------------------
/examples/deno/init.ts:
--------------------------------------------------------------------------------
1 | import { base64Decode, init, wasm_data } from './deps.ts'
2 | export { hotp, totp, steam_guard } from './deps.ts'
3 | await init(base64Decode(wasm_data))
4 |
--------------------------------------------------------------------------------
/examples/node/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "author": "Gizmo",
3 | "license": "MIT",
4 | "devDependencies": {
5 | "@types/node": "^18.7.16",
6 | "esno": "^0.16.3"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/examples/deno/noinit.ts:
--------------------------------------------------------------------------------
1 | import { init } from "./deps.ts";
2 | export { hotp, totp, steam_guard } from './deps.ts'
3 | export const loadAndInit = (data: Uint8Array | string) => init(data)
4 |
--------------------------------------------------------------------------------
/packages/totp-wasm/index.ts:
--------------------------------------------------------------------------------
1 | export { hotp, totp, steam_guard } from './dist/totp_wasm'
2 | export { default as init } from './dist/totp_wasm'
3 | export { wasm_data } from './dist/wasm_data'
4 |
--------------------------------------------------------------------------------
/packages/totp-wasm/deno/mod.ts:
--------------------------------------------------------------------------------
1 | export { hotp, totp, steam_guard } from '../dist/totp_wasm.js'
2 | export { wasm_data } from '../dist/wasm_data.js'
3 | export { default as init } from '../dist/totp_wasm.js'
4 |
--------------------------------------------------------------------------------
/packages/totp-wasm/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "totp-wasm",
3 | "version": "1.0.0",
4 | "description": "HOTP & TOTP & Steam Guard TOTP ",
5 | "main": "index.js",
6 | "author": "Gizmo",
7 | "license": "MIT"
8 | }
9 |
--------------------------------------------------------------------------------
/examples/browser/src/totp.ts:
--------------------------------------------------------------------------------
1 | export { hotp, totp, steam_guard, init } from '../../../packages/totp-wasm'
2 | import _wasm_url from '../../../packages/totp-wasm/dist/totp_wasm_bg.wasm?url'
3 | export const wasm_url = _wasm_url
4 |
--------------------------------------------------------------------------------
/examples/deno/deps.ts:
--------------------------------------------------------------------------------
1 | export { decode as base64Decode } from 'https://deno.land/std@0.171.0/encoding/base64.ts'
2 | export { assertEquals } from 'https://deno.land/std@0.171.0/testing/asserts.ts'
3 | export * from '../../packages/totp-wasm/deno/mod.ts'
4 |
--------------------------------------------------------------------------------
/examples/bun/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "totp-wasm",
3 | "module": "index.ts",
4 | "type": "module",
5 | "devDependencies": {
6 | "bun-types": "latest"
7 | },
8 | "peerDependencies": {
9 | "typescript": "^5.0.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/examples/browser/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/totp-wasm/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "totp-wasm"
3 | version = "0.1.0"
4 | edition = "2021"
5 |
6 | [lib]
7 | crate-type = ["cdylib"]
8 |
9 | [dependencies]
10 | wasm-bindgen = "0.2.86"
11 | base32 = "0.4.0"
12 | sha-1 = "0.10.0"
13 | hmac = "0.12.1"
14 |
--------------------------------------------------------------------------------
/examples/browser/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | declare module '*.vue' {
5 | import type { DefineComponent } from 'vue'
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/examples/browser/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/examples/browser/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | totp-wasm
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.github/workflows/deno.yml:
--------------------------------------------------------------------------------
1 | name: Deno
2 |
3 | on:
4 | push:
5 | branches: ['main']
6 | pull_request:
7 | branches: ['main']
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | test:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - uses: actions/checkout@v3
18 |
19 | - name: Setup Deno
20 | uses: denoland/setup-deno@v1.1.1
21 | with:
22 | deno-version: v1.32.3
23 |
24 | - name: Run tests
25 | run: deno test --allow-read examples/deno/
26 |
--------------------------------------------------------------------------------
/examples/browser/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "moduleResolution": "Node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "lib": ["ESNext", "DOM"],
14 | "skipLibCheck": true
15 | },
16 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
17 | "references": [{ "path": "./tsconfig.node.json" }]
18 | }
19 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "totp-wasm",
3 | "version": "1.0.0",
4 | "description": "HOTP & TOTP & Steam Guard TOTP ",
5 | "main": "index.js",
6 | "scripts": {
7 | "build": "cd examples/browser && pnpm run build",
8 | "build:wasm": "node scripts/build.mjs",
9 | "test:deno": "deno test --allow-read examples/deno/"
10 | },
11 | "keywords": [],
12 | "author": "Gizmo",
13 | "license": "MIT",
14 | "workspaces": [
15 | "packages/totp-wasm",
16 | "examples/browser",
17 | "examples/node"
18 | ],
19 | "devDependencies": {
20 | "binaryen": "^111.0.0"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/bun/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["ESNext"],
4 | "module": "esnext",
5 | "target": "esnext",
6 | "moduleResolution": "bundler",
7 | "moduleDetection": "force",
8 | "allowImportingTsExtensions": true,
9 | "noEmit": true,
10 | "composite": true,
11 | "strict": true,
12 | "downlevelIteration": true,
13 | "skipLibCheck": true,
14 | "jsx": "react-jsx",
15 | "allowSyntheticDefaultImports": true,
16 | "forceConsistentCasingInFileNames": true,
17 | "allowJs": true,
18 | "types": [
19 | "bun-types" // add Bun global
20 | ]
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/totp_wasm_bg.wasm.d.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable */
2 | /* eslint-disable */
3 | export const memory: WebAssembly.Memory;
4 | export function hotp(a: number, b: number, c: number, d: number, e: number): void;
5 | export function totp(a: number, b: number, c: number, d: number, e: number, f: number): void;
6 | export function steam_guard(a: number, b: number, c: number, d: number): void;
7 | export function __wbindgen_add_to_stack_pointer(a: number): number;
8 | export function __wbindgen_malloc(a: number): number;
9 | export function __wbindgen_free(a: number, b: number): void;
10 | export function __wbindgen_realloc(a: number, b: number, c: number): number;
11 |
--------------------------------------------------------------------------------
/examples/node/index.ts:
--------------------------------------------------------------------------------
1 | import { init, hotp, totp, steam_guard } from '../../packages/totp-wasm'
2 | import { readFileSync } from 'node:fs'
3 | import { equal } from 'node:assert'
4 |
5 | const wasm_data = new Uint8Array(
6 | readFileSync('../../packages/totp-wasm/dist/totp_wasm_bg.wasm').buffer
7 | )
8 | const s2b = (s: string) => new TextEncoder().encode(s)
9 |
10 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW'
11 | const test_t = 1662681600
12 |
13 | ;(async () => {
14 | await init(wasm_data)
15 |
16 | equal(hotp(s2b(test_key), BigInt(test_t), 6), '886679')
17 | equal(totp(test_key, test_t, 6, 30), '473526')
18 | equal(steam_guard(test_key, test_t), '4PRPM')
19 | })()
20 |
--------------------------------------------------------------------------------
/examples/browser/src/assets/github-corner-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/workflows/node.yml:
--------------------------------------------------------------------------------
1 | name: Node
2 |
3 | on:
4 | push:
5 | branches: ['main']
6 | pull_request:
7 | branches: ['main']
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | test:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - uses: actions/checkout@v3
18 |
19 | - name: Install pnpm
20 | uses: pnpm/action-setup@v2
21 | with:
22 | version: 8.15.4
23 |
24 | - name: Setup Node
25 | uses: actions/setup-node@v3
26 | with:
27 | node-version: 20.11.1
28 | cache: pnpm
29 |
30 | - name: Run tests
31 | run: |
32 | pnpm install
33 | cd examples/node
34 | pnpm esno index.ts
35 |
--------------------------------------------------------------------------------
/examples/deno/init.test.ts:
--------------------------------------------------------------------------------
1 | import { assertEquals } from './deps.ts'
2 | import { hotp, totp, steam_guard } from './init.ts'
3 |
4 | const s2b = (s: string) => new TextEncoder().encode(s)
5 |
6 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW'
7 |
8 | Deno.test('WASM init', async (t) => {
9 | await t.step('HOTP', () => {
10 | const code = hotp(s2b(test_key), 1662681600n, 6)
11 | assertEquals(code, '886679')
12 | })
13 |
14 | await t.step('TOTP', () => {
15 | const code = totp(test_key, 1662681600, 6, 30)
16 | assertEquals(code, '473526')
17 | })
18 |
19 | await t.step('Steam Guard', () => {
20 | const code = steam_guard(test_key, 1662681600)
21 | assertEquals(code, '4PRPM')
22 | })
23 | })
24 |
--------------------------------------------------------------------------------
/examples/browser/src/utils.ts:
--------------------------------------------------------------------------------
1 | const RFC4648_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
2 |
3 | export function generateSecret(length: number = 32) {
4 | const result = new Array(length);
5 | for (let i = 0; i < length; i++)
6 | result[i] = RFC4648_ALPHABET[randomInt(0, RFC4648_ALPHABET.length - 1)];
7 | return result.join("");
8 | }
9 |
10 | export function randomInt(min: number, max: number) {
11 | min = Math.ceil(min);
12 | max = Math.floor(max);
13 | return Math.floor(Math.random() * (max - min + 1)) + min;
14 | }
15 |
16 | export function totpSearchParams(obj: Object) {
17 | return Object.entries(obj)
18 | .map(
19 | ([key, value]) =>
20 | `${encodeURIComponent(key)}=${encodeURIComponent(value as string)}`
21 | )
22 | .join("&");
23 | }
24 |
--------------------------------------------------------------------------------
/examples/browser/vite.config.ts:
--------------------------------------------------------------------------------
1 | import path from "path";
2 | import { defineConfig } from "vite";
3 | import vue from "@vitejs/plugin-vue";
4 | import AutoImport from "unplugin-auto-import/vite";
5 | import Components from "unplugin-vue-components/vite";
6 | import { NaiveUiResolver } from "unplugin-vue-components/resolvers";
7 | import svgLoader from "vite-svg-loader";
8 |
9 | // https://vitejs.dev/config/
10 | export default defineConfig({
11 | plugins: [
12 | vue({
13 | reactivityTransform: true,
14 | }),
15 | svgLoader(),
16 | AutoImport({
17 | resolvers: [NaiveUiResolver()],
18 | dts: path.resolve("src/auto-imports.d.ts"),
19 | }),
20 | Components({
21 | resolvers: [NaiveUiResolver()],
22 | dts: path.resolve("src/components.d.ts"),
23 | }),
24 | ],
25 | });
26 |
--------------------------------------------------------------------------------
/examples/browser/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "totp-wasm",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "homepage": "https://github.com/gizmo-ds/totp-wasm",
7 | "scripts": {
8 | "dev": "vite",
9 | "build": "vue-tsc --noEmit && vite build",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@vueuse/components": "^9.2.0",
14 | "qrcode.vue": "^3.3.3",
15 | "vue": "^3.2.37"
16 | },
17 | "devDependencies": {
18 | "@types/node": "^18.7.16",
19 | "@vitejs/plugin-vue": "^3.1.0",
20 | "naive-ui": "^2.33.2",
21 | "sass": "^1.54.9",
22 | "typescript": "^4.6.4",
23 | "unplugin-auto-import": "^0.11.2",
24 | "unplugin-vue-components": "^0.22.4",
25 | "vite": "^3.1.0",
26 | "vite-svg-loader": "^3.6.0",
27 | "vue-tsc": "^0.40.4"
28 | }
29 | }
--------------------------------------------------------------------------------
/examples/deno/noinit_test.ts:
--------------------------------------------------------------------------------
1 | import { assertEquals } from './deps.ts'
2 | import { loadAndInit, hotp, totp, steam_guard } from './noinit.ts'
3 |
4 | const s2b = (s: string) => new TextEncoder().encode(s)
5 |
6 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW'
7 |
8 | Deno.test('WASM noinit', async (t) => {
9 | await loadAndInit(
10 | await Deno.readFile('packages/totp-wasm/dist/totp_wasm_bg.wasm')
11 | )
12 |
13 | await t.step('HOTP', () => {
14 | const code = hotp(s2b(test_key), 1662681600n, 6)
15 | assertEquals(code, '886679')
16 | })
17 |
18 | await t.step('TOTP', () => {
19 | const code = totp(test_key, 1662681600, 6, 30)
20 | assertEquals(code, '473526')
21 | })
22 |
23 | await t.step('Steam Guard', () => {
24 | const code = steam_guard(test_key, 1662681600)
25 | assertEquals(code, '4PRPM')
26 | })
27 | })
28 |
--------------------------------------------------------------------------------
/examples/bun/totp.test.ts:
--------------------------------------------------------------------------------
1 | import { expect, test } from 'bun:test'
2 | import {
3 | init,
4 | wasm_data,
5 | hotp,
6 | totp,
7 | steam_guard,
8 | } from '../../packages/totp-wasm'
9 |
10 | const s2b = (s: string) => new TextEncoder().encode(s)
11 |
12 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW'
13 |
14 | test('HOTP', async () => {
15 | await init(Buffer.from(wasm_data, 'base64'))
16 | const code = hotp(s2b(test_key), 1662681600n, 6)
17 | expect(code).toBe('886679')
18 | })
19 |
20 | test('TOTP', async () => {
21 | await init(Buffer.from(wasm_data, 'base64'))
22 | const code = totp(test_key, 1662681600, 6, 30)
23 | expect(code).toBe('473526')
24 | })
25 |
26 | test('Steam Guard', async () => {
27 | await init(Buffer.from(wasm_data, 'base64'))
28 | const code = steam_guard(test_key, 1662681600)
29 | expect(code).toBe('4PRPM')
30 | })
31 |
--------------------------------------------------------------------------------
/scripts/build.mjs:
--------------------------------------------------------------------------------
1 | import { readFileSync, writeFileSync, rmSync } from 'fs'
2 | import { execSync } from 'child_process'
3 |
4 | const out_dir = 'packages/totp-wasm/dist'
5 | rmSync(out_dir, { recursive: true, force: true })
6 | execSync('cargo build --target wasm32-unknown-unknown --release')
7 | execSync(
8 | `wasm-bindgen --out-dir ${out_dir} --target web target/wasm32-unknown-unknown/release/totp_wasm.wasm`
9 | )
10 | execSync(
11 | `node_modules/.bin/wasm-opt -Os --strip-debug --strip-producers --zero-filled-memory -o ${out_dir}/totp_wasm_bg.wasm ${out_dir}/totp_wasm_bg.wasm`
12 | )
13 |
14 | const wasm_file = `${out_dir}/totp_wasm_bg.wasm`
15 | const wasm_data = readFileSync(wasm_file).toString('base64')
16 | writeFileSync(`${out_dir}/wasm_data.js`, "// @ts-nocheck\nexport const wasm_data = \"" + wasm_data + "\";\n")
17 | writeFileSync(`${out_dir}/wasm_data.d.ts`, "export const wasm_data: string\n")
18 |
--------------------------------------------------------------------------------
/examples/browser/src/components.d.ts:
--------------------------------------------------------------------------------
1 | // generated by unplugin-vue-components
2 | // We suggest you to commit this file into source control
3 | // Read more: https://github.com/vuejs/core/pull/3399
4 | import '@vue/runtime-core'
5 |
6 | export {}
7 |
8 | declare module '@vue/runtime-core' {
9 | export interface GlobalComponents {
10 | GitHubCorners: typeof import('./components/GitHubCorners.vue')['default']
11 | NButton: typeof import('naive-ui')['NButton']
12 | NConfigProvider: typeof import('naive-ui')['NConfigProvider']
13 | NDivider: typeof import('naive-ui')['NDivider']
14 | NInput: typeof import('naive-ui')['NInput']
15 | NInputGroup: typeof import('naive-ui')['NInputGroup']
16 | NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel']
17 | NInputNumber: typeof import('naive-ui')['NInputNumber']
18 | NLayout: typeof import('naive-ui')['NLayout']
19 | NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
20 | NProgress: typeof import('naive-ui')['NProgress']
21 | NSpace: typeof import('naive-ui')['NSpace']
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Gizmo
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.
--------------------------------------------------------------------------------
/examples/browser/src/components/GitHubCorners.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # totp-wasm
2 |
3 | HOTP([RFC 4226](https://tools.ietf.org/html/rfc4226)) & TOTP([RFC 6238](https://tools.ietf.org/html/rfc6238)) & Steam Guard TOTP
4 |
5 | ## Demo
6 |
7 | [https://totp-wasm.vercel.app](https://totp-wasm.vercel.app)
8 |
9 | ## Usage
10 |
11 | ### Deno
12 |
13 | ```typescript
14 | import {
15 | totp,
16 | init,
17 | wasm_data,
18 | } from 'https://deno.land/x/totp_wasm/deno/mod.ts'
19 |
20 | await init(wasm_data)
21 | const code = totp('GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW', 1662681600, 6, 30)
22 | console.log(code)
23 | // 473526
24 | ```
25 |
26 | ### Browser
27 |
28 | [example](./examples/browser)
29 |
30 | ### Node.js
31 |
32 | [example](./examples/node)
33 |
34 | ### Bun
35 |
36 | [example](./examples/bun)
37 |
38 | ## Build
39 |
40 | Prerequisites
41 |
42 | - [Rust](https://www.rust-lang.org)
43 | - [Node.js](https://nodejs.org)
44 |
45 | ```bash
46 | rustup target add wasm32-unknown-unknown
47 | cargo install --version=0.2.86 wasm-bindgen-cli
48 | pnpm install
49 | node scripts/build.mjs
50 | ```
51 |
52 | ## Runing examples
53 |
54 | ```bash
55 | cd examples/browser
56 | pnpm install
57 | pnpm dev
58 | ```
59 |
60 | # Related Projects
61 |
62 | Here are some related projects that you may find useful:
63 |
64 | - [totp-wasm-zig](https://github.com/gizmo-ds/totp-wasm-zig): Zig implementation of this project.
65 | - [UdonOTPLib](https://github.com/gizmo-ds/UdonOTPLib): C# implementation for the VRChat game.
66 |
67 | ## License
68 |
69 | Code is distributed under [MIT](./LICENSE) license, feel free to use it in your proprietary projects as well.
70 |
--------------------------------------------------------------------------------
/packages/totp-wasm/README.md:
--------------------------------------------------------------------------------
1 | # totp-wasm
2 |
3 | HOTP([RFC 4226](https://tools.ietf.org/html/rfc4226)) & TOTP([RFC 6238](https://tools.ietf.org/html/rfc6238)) & Steam Guard TOTP
4 |
5 | ## Demo
6 |
7 | [https://totp-wasm.vercel.app](https://totp-wasm.vercel.app)
8 |
9 | ## Usage
10 |
11 | ### Deno
12 |
13 | ```typescript
14 | import {
15 | totp,
16 | init,
17 | wasm_data,
18 | } from 'https://deno.land/x/totp_wasm/deno/mod.ts'
19 |
20 | await init(wasm_data)
21 | const code = totp('GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW', 1662681600, 6, 30)
22 | console.log(code)
23 | // 473526
24 | ```
25 |
26 | ### Browser
27 |
28 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/browser)
29 |
30 | ### Node.js
31 |
32 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/node)
33 |
34 | ### Bun
35 |
36 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/bun)
37 |
38 | ## Build
39 |
40 | Prerequisites
41 |
42 | - [Rust](https://www.rust-lang.org)
43 | - [Node.js](https://nodejs.org)
44 |
45 | ```bash
46 | rustup target add wasm32-unknown-unknown
47 | cargo install --version=0.2.86 wasm-bindgen-cli
48 | pnpm install
49 | node scripts/build.mjs
50 | ```
51 |
52 | ## Runing examples
53 |
54 | ```bash
55 | cd examples/browser
56 | pnpm install
57 | pnpm dev
58 | ```
59 |
60 | # Related Projects
61 |
62 | Here are some related projects that you may find useful:
63 |
64 | - [totp-wasm-zig](https://github.com/gizmo-ds/totp-wasm-zig): Zig implementation of this project.
65 | - [UdonOTPLib](https://github.com/gizmo-ds/UdonOTPLib): C# implementation for the VRChat game.
66 |
67 | ## License
68 |
69 | Code is distributed under [MIT](https://github.com/gizmo-ds/totp-wasm/blob/main/LICENSE) license, feel free to use it in your proprietary projects as well.
70 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/totp_wasm.d.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable */
2 | /* eslint-disable */
3 | /**
4 | * @param {Uint8Array} k
5 | * @param {bigint} c
6 | * @param {number} digits
7 | * @returns {string}
8 | */
9 | export function hotp(k: Uint8Array, c: bigint, digits: number): string;
10 | /**
11 | * @param {string} secret
12 | * @param {number} t
13 | * @param {number} digits
14 | * @param {number} tc
15 | * @returns {string}
16 | */
17 | export function totp(secret: string, t: number, digits: number, tc: number): string;
18 | /**
19 | * @param {string} secret
20 | * @param {number} t
21 | * @returns {string}
22 | */
23 | export function steam_guard(secret: string, t: number): string;
24 |
25 | export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
26 |
27 | export interface InitOutput {
28 | readonly memory: WebAssembly.Memory;
29 | readonly hotp: (a: number, b: number, c: number, d: number, e: number) => void;
30 | readonly totp: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
31 | readonly steam_guard: (a: number, b: number, c: number, d: number) => void;
32 | readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
33 | readonly __wbindgen_malloc: (a: number) => number;
34 | readonly __wbindgen_free: (a: number, b: number) => void;
35 | readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
36 | }
37 |
38 | export type SyncInitInput = BufferSource | WebAssembly.Module;
39 | /**
40 | * Instantiates the given `module`, which can either be bytes or
41 | * a precompiled `WebAssembly.Module`.
42 | *
43 | * @param {SyncInitInput} module
44 | *
45 | * @returns {InitOutput}
46 | */
47 | export function initSync(module: SyncInitInput): InitOutput;
48 |
49 | /**
50 | * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
51 | * for everything else, calls `WebAssembly.instantiate` directly.
52 | *
53 | * @param {InitInput | Promise} module_or_path
54 | *
55 | * @returns {Promise}
56 | */
57 | export default function __wbg_init (module_or_path?: InitInput | Promise): Promise;
58 |
--------------------------------------------------------------------------------
/totp-wasm/src/lib.rs:
--------------------------------------------------------------------------------
1 | #![allow(non_upper_case_globals)]
2 | extern crate wasm_bindgen;
3 |
4 | use base32::decode;
5 | use base32::Alphabet::RFC4648;
6 | use hmac::{Hmac, Mac};
7 | use wasm_bindgen::prelude::*;
8 |
9 | type HmacSha1 = Hmac;
10 |
11 | const STEAM_CHARS: &[u8; 26] = b"23456789BCDFGHJKMNPQRTVWXY";
12 |
13 | #[wasm_bindgen]
14 | pub fn hotp(k: &[u8], c: u64, digits: usize) -> String {
15 | let mut h = HmacSha1::new_from_slice(k).unwrap();
16 | h.update(&c.to_be_bytes());
17 |
18 | let hash = h.finalize().into_bytes();
19 |
20 | let offset = (hash[hash.len() - 1] & 0xf) as usize;
21 | let bytes: [u8; 4] = hash[offset..offset + 4].try_into().unwrap();
22 |
23 | let result = u32::from_be_bytes(bytes) & 0x7FFFFFFF;
24 |
25 | let code = result % (10_u32.pow(digits as u32));
26 | let code = format!("{:0>width$}", code, width = digits);
27 | code
28 | }
29 |
30 | #[wasm_bindgen]
31 | pub fn totp(secret: &str, t: f64, digits: usize, tc: i32) -> String {
32 | let c = (t / (tc as f64)).floor() as u64;
33 | let k = decode(RFC4648 { padding: true }, secret).unwrap();
34 | hotp(&k, c, digits)
35 | }
36 |
37 | #[wasm_bindgen]
38 | pub fn steam_guard(secret: &str, t: f64) -> String {
39 | let c = (t / (30 as f64)).floor() as u64;
40 | let k = decode(RFC4648 { padding: true }, secret).unwrap();
41 |
42 | let mut h = HmacSha1::new_from_slice(&k).unwrap();
43 | h.update(&c.to_be_bytes());
44 |
45 | let hash = h.finalize().into_bytes();
46 |
47 | let offset = (hash[hash.len() - 1] & 0xf) as usize;
48 | let bytes: [u8; 4] = hash[offset..offset + 4].try_into().unwrap();
49 |
50 | let result = u32::from_be_bytes(bytes) & 0x7FFFFFFF;
51 |
52 | let mut fc = result;
53 |
54 | let mut code: [u8; 5] = [0; 5];
55 | for i in 0..5 {
56 | let v = STEAM_CHARS[(fc % (STEAM_CHARS.len() as u32)) as usize];
57 | code[i as usize] = v;
58 | fc /= STEAM_CHARS.len() as u32;
59 | }
60 |
61 | String::from_utf8_lossy(&code).to_string()
62 | }
63 |
64 | #[cfg(test)]
65 | mod tests {
66 | use super::*;
67 |
68 | #[test]
69 | fn test_hotp() {
70 | let code = hotp(b"GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600, 6);
71 | assert_eq!(code, "886679");
72 | }
73 |
74 | #[test]
75 | fn test_totp() {
76 | let code = totp("GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600 as f64, 6, 30);
77 | assert_eq!(code, "473526");
78 | }
79 |
80 | #[test]
81 | fn test_steam_guard() {
82 | let code = steam_guard("GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600 as f64);
83 | assert_eq!(code, "4PRPM");
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/examples/bun/.gitignore:
--------------------------------------------------------------------------------
1 | # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
2 |
3 | # Logs
4 |
5 | logs
6 | _.log
7 | npm-debug.log_
8 | yarn-debug.log*
9 | yarn-error.log*
10 | lerna-debug.log*
11 | .pnpm-debug.log*
12 |
13 | # Caches
14 |
15 | .cache
16 |
17 | # Diagnostic reports (https://nodejs.org/api/report.html)
18 |
19 | report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
20 |
21 | # Runtime data
22 |
23 | pids
24 | _.pid
25 | _.seed
26 | *.pid.lock
27 |
28 | # Directory for instrumented libs generated by jscoverage/JSCover
29 |
30 | lib-cov
31 |
32 | # Coverage directory used by tools like istanbul
33 |
34 | coverage
35 | *.lcov
36 |
37 | # nyc test coverage
38 |
39 | .nyc_output
40 |
41 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
42 |
43 | .grunt
44 |
45 | # Bower dependency directory (https://bower.io/)
46 |
47 | bower_components
48 |
49 | # node-waf configuration
50 |
51 | .lock-wscript
52 |
53 | # Compiled binary addons (https://nodejs.org/api/addons.html)
54 |
55 | build/Release
56 |
57 | # Dependency directories
58 |
59 | node_modules/
60 | jspm_packages/
61 |
62 | # Snowpack dependency directory (https://snowpack.dev/)
63 |
64 | web_modules/
65 |
66 | # TypeScript cache
67 |
68 | *.tsbuildinfo
69 |
70 | # Optional npm cache directory
71 |
72 | .npm
73 |
74 | # Optional eslint cache
75 |
76 | .eslintcache
77 |
78 | # Optional stylelint cache
79 |
80 | .stylelintcache
81 |
82 | # Microbundle cache
83 |
84 | .rpt2_cache/
85 | .rts2_cache_cjs/
86 | .rts2_cache_es/
87 | .rts2_cache_umd/
88 |
89 | # Optional REPL history
90 |
91 | .node_repl_history
92 |
93 | # Output of 'npm pack'
94 |
95 | *.tgz
96 |
97 | # Yarn Integrity file
98 |
99 | .yarn-integrity
100 |
101 | # dotenv environment variable files
102 |
103 | .env
104 | .env.development.local
105 | .env.test.local
106 | .env.production.local
107 | .env.local
108 |
109 | # parcel-bundler cache (https://parceljs.org/)
110 |
111 | .parcel-cache
112 |
113 | # Next.js build output
114 |
115 | .next
116 | out
117 |
118 | # Nuxt.js build / generate output
119 |
120 | .nuxt
121 | dist
122 |
123 | # Gatsby files
124 |
125 | # Comment in the public line in if your project uses Gatsby and not Next.js
126 |
127 | # https://nextjs.org/blog/next-9-1#public-directory-support
128 |
129 | # public
130 |
131 | # vuepress build output
132 |
133 | .vuepress/dist
134 |
135 | # vuepress v2.x temp and cache directory
136 |
137 | .temp
138 |
139 | # Docusaurus cache and generated files
140 |
141 | .docusaurus
142 |
143 | # Serverless directories
144 |
145 | .serverless/
146 |
147 | # FuseBox cache
148 |
149 | .fusebox/
150 |
151 | # DynamoDB Local files
152 |
153 | .dynamodb/
154 |
155 | # TernJS port file
156 |
157 | .tern-port
158 |
159 | # Stores VSCode versions used for testing VSCode extensions
160 |
161 | .vscode-test
162 |
163 | # yarn v2
164 |
165 | .yarn/cache
166 | .yarn/unplugged
167 | .yarn/build-state.yml
168 | .yarn/install-state.gz
169 | .pnp.*
170 |
171 | # IntelliJ based IDEs
172 | .idea
173 |
174 | # Finder (MacOS) folder config
175 | .DS_Store
176 |
--------------------------------------------------------------------------------
/examples/browser/src/App.vue:
--------------------------------------------------------------------------------
1 |
65 |
66 |
67 |
68 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | totp-wasm
79 |
80 |
81 |
82 |
83 |
84 |
85 | Secret Key
86 |
87 |
88 |
89 | Generate
90 |
91 |
92 |
93 |
94 |
95 | Digits
96 |
97 |
102 |
103 |
104 |
105 |
106 | Period
107 |
108 |
109 | sec
110 |
111 |
112 |
113 |
114 |
115 | HOTP Counter
116 |
117 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
132 | {{ tr }} sec
133 |
134 |
135 |
136 |
137 | HOTP Value
138 |
139 |
140 |
141 |
142 |
143 |
144 | TOTP Value
145 |
146 |
147 |
148 |
149 |
150 |
151 | Steam Value
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 | Issuer
163 |
164 |
165 |
166 |
167 |
168 |
169 | Account
170 |
171 |
172 |
173 |
174 |
175 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
212 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/totp_wasm.js:
--------------------------------------------------------------------------------
1 | let wasm;
2 |
3 | let cachedUint8Memory0 = null;
4 |
5 | function getUint8Memory0() {
6 | if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
7 | cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
8 | }
9 | return cachedUint8Memory0;
10 | }
11 |
12 | let WASM_VECTOR_LEN = 0;
13 |
14 | function passArray8ToWasm0(arg, malloc) {
15 | const ptr = malloc(arg.length * 1) >>> 0;
16 | getUint8Memory0().set(arg, ptr / 1);
17 | WASM_VECTOR_LEN = arg.length;
18 | return ptr;
19 | }
20 |
21 | let cachedInt32Memory0 = null;
22 |
23 | function getInt32Memory0() {
24 | if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
25 | cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
26 | }
27 | return cachedInt32Memory0;
28 | }
29 |
30 | const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );
31 |
32 | if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };
33 |
34 | function getStringFromWasm0(ptr, len) {
35 | ptr = ptr >>> 0;
36 | return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
37 | }
38 | /**
39 | * @param {Uint8Array} k
40 | * @param {bigint} c
41 | * @param {number} digits
42 | * @returns {string}
43 | */
44 | export function hotp(k, c, digits) {
45 | let deferred2_0;
46 | let deferred2_1;
47 | try {
48 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
49 | const ptr0 = passArray8ToWasm0(k, wasm.__wbindgen_malloc);
50 | const len0 = WASM_VECTOR_LEN;
51 | wasm.hotp(retptr, ptr0, len0, c, digits);
52 | var r0 = getInt32Memory0()[retptr / 4 + 0];
53 | var r1 = getInt32Memory0()[retptr / 4 + 1];
54 | deferred2_0 = r0;
55 | deferred2_1 = r1;
56 | return getStringFromWasm0(r0, r1);
57 | } finally {
58 | wasm.__wbindgen_add_to_stack_pointer(16);
59 | wasm.__wbindgen_free(deferred2_0, deferred2_1);
60 | }
61 | }
62 |
63 | const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );
64 |
65 | const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
66 | ? function (arg, view) {
67 | return cachedTextEncoder.encodeInto(arg, view);
68 | }
69 | : function (arg, view) {
70 | const buf = cachedTextEncoder.encode(arg);
71 | view.set(buf);
72 | return {
73 | read: arg.length,
74 | written: buf.length
75 | };
76 | });
77 |
78 | function passStringToWasm0(arg, malloc, realloc) {
79 |
80 | if (realloc === undefined) {
81 | const buf = cachedTextEncoder.encode(arg);
82 | const ptr = malloc(buf.length) >>> 0;
83 | getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
84 | WASM_VECTOR_LEN = buf.length;
85 | return ptr;
86 | }
87 |
88 | let len = arg.length;
89 | let ptr = malloc(len) >>> 0;
90 |
91 | const mem = getUint8Memory0();
92 |
93 | let offset = 0;
94 |
95 | for (; offset < len; offset++) {
96 | const code = arg.charCodeAt(offset);
97 | if (code > 0x7F) break;
98 | mem[ptr + offset] = code;
99 | }
100 |
101 | if (offset !== len) {
102 | if (offset !== 0) {
103 | arg = arg.slice(offset);
104 | }
105 | ptr = realloc(ptr, len, len = offset + arg.length * 3) >>> 0;
106 | const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
107 | const ret = encodeString(arg, view);
108 |
109 | offset += ret.written;
110 | }
111 |
112 | WASM_VECTOR_LEN = offset;
113 | return ptr;
114 | }
115 | /**
116 | * @param {string} secret
117 | * @param {number} t
118 | * @param {number} digits
119 | * @param {number} tc
120 | * @returns {string}
121 | */
122 | export function totp(secret, t, digits, tc) {
123 | let deferred2_0;
124 | let deferred2_1;
125 | try {
126 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
127 | const ptr0 = passStringToWasm0(secret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
128 | const len0 = WASM_VECTOR_LEN;
129 | wasm.totp(retptr, ptr0, len0, t, digits, tc);
130 | var r0 = getInt32Memory0()[retptr / 4 + 0];
131 | var r1 = getInt32Memory0()[retptr / 4 + 1];
132 | deferred2_0 = r0;
133 | deferred2_1 = r1;
134 | return getStringFromWasm0(r0, r1);
135 | } finally {
136 | wasm.__wbindgen_add_to_stack_pointer(16);
137 | wasm.__wbindgen_free(deferred2_0, deferred2_1);
138 | }
139 | }
140 |
141 | /**
142 | * @param {string} secret
143 | * @param {number} t
144 | * @returns {string}
145 | */
146 | export function steam_guard(secret, t) {
147 | let deferred2_0;
148 | let deferred2_1;
149 | try {
150 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
151 | const ptr0 = passStringToWasm0(secret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
152 | const len0 = WASM_VECTOR_LEN;
153 | wasm.steam_guard(retptr, ptr0, len0, t);
154 | var r0 = getInt32Memory0()[retptr / 4 + 0];
155 | var r1 = getInt32Memory0()[retptr / 4 + 1];
156 | deferred2_0 = r0;
157 | deferred2_1 = r1;
158 | return getStringFromWasm0(r0, r1);
159 | } finally {
160 | wasm.__wbindgen_add_to_stack_pointer(16);
161 | wasm.__wbindgen_free(deferred2_0, deferred2_1);
162 | }
163 | }
164 |
165 | async function __wbg_load(module, imports) {
166 | if (typeof Response === 'function' && module instanceof Response) {
167 | if (typeof WebAssembly.instantiateStreaming === 'function') {
168 | try {
169 | return await WebAssembly.instantiateStreaming(module, imports);
170 |
171 | } catch (e) {
172 | if (module.headers.get('Content-Type') != 'application/wasm') {
173 | console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
174 |
175 | } else {
176 | throw e;
177 | }
178 | }
179 | }
180 |
181 | const bytes = await module.arrayBuffer();
182 | return await WebAssembly.instantiate(bytes, imports);
183 |
184 | } else {
185 | const instance = await WebAssembly.instantiate(module, imports);
186 |
187 | if (instance instanceof WebAssembly.Instance) {
188 | return { instance, module };
189 |
190 | } else {
191 | return instance;
192 | }
193 | }
194 | }
195 |
196 | function __wbg_get_imports() {
197 | const imports = {};
198 | imports.wbg = {};
199 |
200 | return imports;
201 | }
202 |
203 | function __wbg_init_memory(imports, maybe_memory) {
204 |
205 | }
206 |
207 | function __wbg_finalize_init(instance, module) {
208 | wasm = instance.exports;
209 | __wbg_init.__wbindgen_wasm_module = module;
210 | cachedInt32Memory0 = null;
211 | cachedUint8Memory0 = null;
212 |
213 |
214 | return wasm;
215 | }
216 |
217 | function initSync(module) {
218 | if (wasm !== undefined) return wasm;
219 |
220 | const imports = __wbg_get_imports();
221 |
222 | __wbg_init_memory(imports);
223 |
224 | if (!(module instanceof WebAssembly.Module)) {
225 | module = new WebAssembly.Module(module);
226 | }
227 |
228 | const instance = new WebAssembly.Instance(module, imports);
229 |
230 | return __wbg_finalize_init(instance, module);
231 | }
232 |
233 | async function __wbg_init(input) {
234 | if (wasm !== undefined) return wasm;
235 |
236 | if (typeof input === 'undefined') {
237 | input = new URL('totp_wasm_bg.wasm', import.meta.url);
238 | }
239 | const imports = __wbg_get_imports();
240 |
241 | if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
242 | input = fetch(input);
243 | }
244 |
245 | __wbg_init_memory(imports);
246 |
247 | const { instance, module } = await __wbg_load(await input, imports);
248 |
249 | return __wbg_finalize_init(instance, module);
250 | }
251 |
252 | export { initSync }
253 | export default __wbg_init;
254 |
--------------------------------------------------------------------------------
/packages/totp-wasm/dist/wasm_data.js:
--------------------------------------------------------------------------------
1 | // @ts-nocheck
2 | export const wasm_data = "AGFzbQEAAAABUQ1gAn9/AX9gA39/fwF/YAN/f38AYAJ/fwBgAX8AYAF/AX9gBH9/f38AYAV/f39+fwBgBH9/f38Bf2AEf39/fABgBn9/f3x/fwBgAABgAX8BfgMxMAUCCQIHAgAGBAgAAwIDAAAEAwoCAwIGBwYEAgADBAIBCwgDAwUBAAAAAwAFAQAMBAQFAXABDAwFAwEAEQYJAX8BQYCAwAALB4MBCAZtZW1vcnkCAARob3RwABcEdG90cAASC3N0ZWFtX2d1YXJkAAIfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgArEV9fd2JpbmRnZW5fbWFsbG9jACQPX193YmluZGdlbl9mcmVlACkSX193YmluZGdlbl9yZWFsbG9jACUJEQEAQQELCwYqJygoLx8PGyYuCvu7ATCgHwIIfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0TIABBC2oiAEF4cSEDQcSQwAAoAgAiCEUNBUEAIANrIQICf0EAIANBgAJJDQAaQR8gA0H///8HSw0AGiADQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QaiNwABqKAIAIgENAUEAIQAMAgsCQAJAAkACfwJAAkBBwJDAACgCACIBQRAgAEELakF4cSAAQQtJGyIDQQN2IgJ2IgBBA3FFBEAgA0HIkMAAKAIATQ0LIAANAUHEkMAAKAIAIgBFDQsgAEEAIABrcWhBAnRBqI3AAGooAgAiBCgCBEF4cSADayEBIAQoAhAiAEUEQCAEQRRqKAIAIQALIAAEQANAIAAoAgRBeHEgA2siBiABSSEFIAYgASAFGyEBIAAgBCAFGyEEIAAoAhAiAgR/IAIFIABBFGooAgALIgANAAsLIAQQECABQRBJDQUgBCADQQNyNgIEIAMgBGoiAyABQQFyNgIEIAEgA2ogATYCAEHIkMAAKAIAIgVFDQQgBUF4cUG4jsAAaiEAQdCQwAAoAgAhAkHAkMAAKAIAIgZBASAFQQN2dCIFcUUNAiAAKAIIDAMLAkAgAEF/c0EBcSACaiIAQQN0IgNBwI7AAGooAgAiAkEIaiIFKAIAIgQgA0G4jsAAaiIDRwRAIAQgAzYCDCADIAQ2AggMAQtBwJDAACABQX4gAHdxNgIACyACIABBA3QiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBCAFDwsCQEECIAJBH3EiAnQiBEEAIARrciAAIAJ0cSIAQQAgAGtxaCICQQN0IgVBwI7AAGooAgAiAEEIaiIGKAIAIgQgBUG4jsAAaiIFRwRAIAQgBTYCDCAFIAQ2AggMAQtBwJDAACABQX4gAndxNgIACyAAIANBA3I2AgQgACADaiIFIAJBA3QiASADayIEQQFyNgIEIAAgAWogBDYCAEHIkMAAKAIAIgEEQCABQXhxQbiOwABqIQBB0JDAACgCACECAn9BwJDAACgCACIDQQEgAUEDdnQiAXEEQCAAKAIIDAELQcCQwAAgASADcjYCACAACyEBIAAgAjYCCCABIAI2AgwgAiAANgIMIAIgATYCCAtB0JDAACAFNgIAQciQwAAgBDYCACAGDwtBwJDAACAFIAZyNgIAIAALIQUgACACNgIIIAUgAjYCDCACIAA2AgwgAiAFNgIIC0HQkMAAIAM2AgBByJDAACABNgIADAELIAQgASADaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIECwwTC0EAIQAgA0EZIAdBAXZrQR9xQQAgB0EfRxt0IQUDQAJAIAEoAgRBeHEiBiADSQ0AIAYgA2siBiACTw0AIAEhBCAGIgINAEEAIQIgASEADAMLIAFBFGooAgAiBiAAIAYgASAFQR12QQRxakEQaigCACIBRxsgACAGGyEAIAVBAXQhBSABDQALCyAAIARyRQRAQQAhBCAIQQIgB3QiAEEAIABrcnEiAEUNAyAAQQAgAGtxaEECdEGojcAAaigCACEACyAARQ0BCwNAIAAgBCAAKAIEQXhxIgEgA08gASADayIGIAJJcSIFGyEEIAYgAiAFGyECIAAoAhAiAQR/IAEFIABBFGooAgALIgANAAsLIARFDQAgA0HIkMAAKAIAIgBNIAIgACADa09xDQAgBBAQIAJBEEkNAiAEIANBA3I2AgQgAyAEaiIBIAJBAXI2AgQgASACaiACNgIAIAJBgAJJDQEgASACEBEMDwtByJDAACgCACIBIANPDQJBzJDAACgCACIAIANLDQdBACECIANBr4AEaiIAQRB2QAAiAUF/RiIFDQ0gAUEQdCIERQ0NQdiQwABBACAAQYCAfHEgBRsiBUHYkMAAKAIAaiIANgIAQdyQwABB3JDAACgCACIBIAAgACABSRs2AgBB1JDAACgCACICRQ0DQaiOwAAhAANAIAAoAgAiASAAKAIEIgZqIARGDQUgACgCCCIADQALDAULIAJBeHFBuI7AAGohAAJ/QcCQwAAoAgAiA0EBIAJBA3Z0IgJxBEAgACgCCAwBC0HAkMAAIAIgA3I2AgAgAAshAiAAIAE2AgggAiABNgIMIAEgADYCDCABIAI2AggMDQsgBCACIANqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMDAtB0JDAACgCACEAAkAgASADayICQQ9NBEBB0JDAAEEANgIAQciQwABBADYCACAAIAFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQtByJDAACACNgIAQdCQwAAgACADaiIENgIAIAQgAkEBcjYCBCAAIAFqIAI2AgAgACADQQNyNgIECyAAQQhqDwtB5JDAACgCACIARSAAIARLcg0FDAcLIAAoAgwgASACS3INACACIARJDQELQeSQwABB5JDAACgCACIAIAQgACAESRs2AgAgBCAFaiEBQaiOwAAhAAJAAkADQCABIAAoAgBHBEAgACgCCCIADQEMAgsLIAAoAgxFDQELQaiOwAAhAANAAkAgAiAAKAIAIgFPBEAgASAAKAIEaiIGIAJLDQELIAAoAgghAAwBCwtB1JDAACAENgIAQcyQwAAgBUEoayIANgIAIAQgAEEBcjYCBCAAIARqQSg2AgRB4JDAAEGAgIABNgIAIAIgBkEga0F4cUEIayIAIAAgAkEQakkbIgFBGzYCBEGojsAAKQIAIQkgAUEQakGwjsAAKQIANwIAIAEgCTcCCEGsjsAAIAU2AgBBqI7AACAENgIAQbCOwAAgAUEIajYCAEG0jsAAQQA2AgAgAUEcaiEAA0AgAEEHNgIAIABBBGoiACAGSQ0ACyABIAJGDQcgASABKAIEQX5xNgIEIAIgASACayIAQQFyNgIEIAEgADYCACAAQYACTwRAIAIgABARDAgLIABBeHFBuI7AAGohAQJ/QcCQwAAoAgAiBEEBIABBA3Z0IgBxBEAgASgCCAwBC0HAkMAAIAAgBHI2AgAgAQshACABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggMBwsgACAENgIAIAAgACgCBCAFajYCBCAEIANB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AgggACAZNgIEIAAgGDYCACADQfAAaiQAC6ENAg1/AX4jAEHwA2siBCQAIAQgAjYCsAEgBCABNgKsASAEIAI2AqgBIARBGGogBEGoAWoiARAcIAEgBCgCGCINIAQoAhwiDhADAn4gA0QAAAAAAAA+QKOcIgNEAAAAAAAA8ENjIANEAAAAAAAAAABmIgFxBEAgA7EMAQtCAAshEQJ/AkAgBCgCrAEiDARAQn8gEUIAIAEbIANE////////70NkGyERIAQoAqgBIQ8gBEG4AmogDCAEKAKwARAFQQAhAgNAIARBuAJqIAJqIgEgAS0AAEE2czoAACACQQFqIgJBwABHDQALIARBkANqQfDDy558NgIAIARBiANqQv6568XpjpWZEDcDACAEQoHGlLqW8ermbzcDgAMgBEIBNwP4AiAEQYADaiAEQbgCakEBEAFBACECA0AgBEG4AmogAmoiASABLQAAQeoAczoAACACQQFqIgJBwABHDQALIARBsANqIgJB8MPLnnw2AgAgBEGoA2oiBUL+uevF6Y6VmRA3AwAgBEGgA2oiAUKBxpS6lvHq5m83AwAgBEIBNwOYAyABIARBuAJqIhBBARABIARB2ABqIAIpAwA3AwAgBEHQAGogBSkDADcDACAEQcgAaiABKQMANwMAIARBKGogBEGAA2oiBikDADcDACAEQTBqIARBiANqIgkpAwA3AwAgBEE4aiAEQZADaikDADcDACAEIAQpA5gDNwNAIAQgBCkD+AI3AyAgBEGoAWoiCiAEQSBqIghBwAAQLBpBACECIAhBwAAQLRogBEHoAWogCEHAABAsIQcgCCAKQYABECwaIARBADoAoAEgBCARQiiGQoCAgICAgMD/AIMgEUI4hoQgEUIYhkKAgICAgOA/gyARQgiGQoCAgIDwH4OEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDYCAEQQg6AKABIAogCEGIARAsGiABQgA3AwAgBUEANgIAIARCADcDmAMgBEHAAmoiCEIANwMAIARByAJqIgtBADYCACAEQgA3A7gCIAogByAQEAwgBEGoAmpBFDoAACAEQfgBaiALKAIANgIAIARB8AFqIAgpAwA3AwAgBCAEKQO4AjcD6AEgBEHIAWogByAEQZgDahAMIAkgBSgCADYCACAG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CyADQegBaiIAIAFBARABIANB2AJqIgFBwAAQLRogA0GAAmoiAiABQTgQLBogAyAJNwO4AiAAIAJBARABCyADQQA6AOABIANBjAJqQoCAgIDAADcCACADQRQ2AoQCIAMgA0EUajYCiAIgAyADNgKAAiADQdgCaiADQYACaiADQfwBaiADQegBahAYAkAgAygC4AIiACADKALkAiIBTw0AIAEgAGshByADKALcAiAAQQJ0aiEBIAMoAuwCIgYgACADKAL8AiICbGohACACQQRGIQgDQCAGRQ0BIAMgASgCACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnI2AoACIAhFDQQgACADKAKAAjYAACABQQRqIQEgACACaiEAIAdBAWsiBw0ACwsgBUEQaiADQRBqKAIANgAAIAVBCGogA0EIaikDADcAACAFIAMpAwA3AAAMAQsgBSABIAIQLBoLIANBoANqJAAPCyACEBkAC+QGAgx/An4jAEEwayIGJABBJyECAkAgADUCACIOQpDOAFQEQCAOIQ8MAQsDQCAGQQlqIAJqIgBBBGsgDkKQzgCAIg9C8LEDfiAOfKciA0H//wNxQeQAbiIEQQF0QfyEwABqLwAAOwAAIABBAmsgBEGcf2wgA2pB//8DcUEBdEH8hMAAai8AADsAACACQQRrIQIgDkL/wdcvViEAIA8hDiAADQALCyAPpyIAQeMASwRAIAJBAmsiAiAGQQlqaiAPpyIDQf//A3FB5ABuIgBBnH9sIANqQf//A3FBAXRB/ITAAGovAAA7AAALAkAgAEEKTwRAIAJBAmsiAiAGQQlqaiAAQQF0QfyEwABqLwAAOwAADAELIAJBAWsiAiAGQQlqaiAAQTBqOgAAC0EnIAJrIQRBASEAQStBgIDEACABKAIYIgNBAXEiBRshCCADQR10QR91QbyMwABxIQkgBkEJaiACaiEKAkAgASgCCEUEQCABKAIAIgIgAUEEaigCACIBIAggCRAhDQEgAiAKIAQgASgCDBEBACEADAELAkACQAJAAkAgAUEMaigCACIHIAQgBWoiAEsEQCADQQhxDQQgByAAayIAIQNBASABLQAgIgIgAkEDRhtBA3EiAkEBaw4CAQIDC0EBIQAgASgCACICIAFBBGooAgAiASAIIAkQIQ0EIAIgCiAEIAEoAgwRAQAhAAwEC0EAIQMgACECDAELIABBAXYhAiAAQQFqQQF2IQMLIAJBAWohAiABQQRqKAIAIQUgASgCHCEHIAEoAgAhAQJAA0AgAkEBayICRQ0BIAEgByAFKAIQEQAARQ0AC0EBIQAMAgtBASEAIAdBgIDEAEYNASABIAUgCCAJECENASABIAogBCAFKAIMEQEADQFBACECAn8DQCADIAIgA0YNARogAkEBaiECIAEgByAFKAIQEQAARQ0ACyACQQFrCyADSSEADAELIAEoAhwhDCABQTA2AhwgAS0AICENQQEhACABQQE6ACAgASgCACIDIAFBBGooAgAiCyAIIAkQIQ0AIAIgB2ogBWtBJmshAgNAIAJBAWsiAgRAIANBMCALKAIQEQAARQ0BDAILCyADIAogBCALKAIMEQEADQAgASANOgAgIAEgDDYCHEEAIQALIAZBMGokACAAC5wHAQp/IwBBIGsiBCQAAkACQAJAAkACQAJAIANB/wFxDgQEAwIBAAsjAEEgayIAJAAgAEEMakEBNgIAIABBFGpBATYCACAAQcyJwAA2AgggAEEANgIAIABBBTYCHCAAQeyJwAA2AhggACAAQRhqNgIQIABB1IrAABAjAAtBACEDA0AgBEEQaiADakHWg4vTfDYCACADQQRqIgNBEEcNAAsgBCAEKAIcIAIoAgxqNgIMIAQgBCgCGCACKAIIajYCCCAEIAQoAhQgAigCBGo2AgQgBCAEKAIQIAIoAgBqNgIAIARBGGogAUEIaikCADcDACAEIAEpAgA3AxAgACAEQRBqIAQQFQwDC0EAIQMDQCAEQRBqIANqQdz57vh4NgIAIANBBGoiA0EQRw0ACyACKAIMIQggAigCCCEJIAIoAgQhBiAEKAIcIQogBCgCGCELIAQoAhQhDCAAIAQoAhAgAigCAGogASgCACIDQQV3aiABKAIEIg0gASgCDCICIAEoAggiAXNxIAEgAnFzaiIHQR53IgU2AgwgACACIAYgDGpqIAMgASANQR53IgJzcSABIAJxc2ogB0EFd2oiBkEedzYCCCAAIAEgCSALamogByACIANBHnciAXNxIAEgAnFzaiAGQQV3aiIDNgIEIAAgCCAKaiACaiAGIAEgBXNxIAEgBXFzaiADQQV3ajYCAAwCC0EAIQMDQCAEQRBqIANqQaHX5/YGNgIAIANBBGoi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KQIANwIUIABBHGogAUEIaikCADcCACAAQSRqIAFBEGooAgA2AgAgACABKAIEIARuIgE2AhAgACABIAIgA2tBAnYiACAAIAFLGzYCDAt5AQF/IwBBMGsiASQAIAFBBDYCBCABIAA2AgAgAUEUakEDNgIAIAFBHGpBAjYCACABQSxqQQE2AgAgAUGEh8AANgIQIAFBADYCCCABQQE2AiQgASABQSBqNgIYIAEgATYCKCABIAFBBGo2AiAgAUEIakGQjcAAECMAC3YBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQQI2AgAgA0EcakECNgIAIANBLGpBATYCACADQciEwAA2AhAgA0EANgIIIANBATYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQIwALWAEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEaiACQQhqEAohACACQSBqJAAgAAtjAQN/AkAgASgCACIEIAEoAggiA0sEQCABKAIEIQICQCADRQRAIAIQCEEBIQIMAQsgAiAEQQEgAxAJIgJFDQILIAEgAzYCACABIAI2AgQLIAAgAzYCBCAAIAEoAgQ2AgAPCwALWAEBf0GkjcAAQaSNwAAoAgAiAUEBajYCAAJAIAFBAEgNAEHskMAAQeyQwAAoAgBBAWoiATYCACABQQJLDQAgAEVBoI3AACgCAEEASCABQQFLcnINAAALAAtRAQF/IwBBIGsiAyQAIANBDGpBATYCACADQRRqQQA2AgAgA0G8jMAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQIwALRgEBfyACIAAoAgAiACgCACAAKAIIIgNrSwRAIAAgAyACEBMgACgCCCEDCyAAKAIEIANqIAEgAhAsGiAAIAIgA2o2AghBAAtJAQF/IwBBIGsiACQAIABBFGpBATYCACAAQRxqQQA2AgAgAEHsgcAANgIQIABBvIzAADYCGCAAQQA2AgggAEEIakH0gcAAECMACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADQQAgASgCDBEBAAs1AQF/AkAgAUUEQEEBIQIMAQsgAUEATgRAIAEQACICDQEACxAgAAsgACACNgIEIAAgATYCAAuyAQEBfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQdiEwAA2AgwgAkG8jMAANgIIIwBBEGsiACQAIAJBCGoiASgCCCICRQRAQeSKwABBK0Gsi8AAEB4ACyAAIAEoAgw2AgggACABNgIEIAAgAjYCACAAKAIAIgFBFGooAgAhAgJAAkAgAUEMaigCAA4CAAABCyACDQAgACgCBC0AEBAdAAsgACgCBC0AEBAdAAsyAAJAIABB/P///wdLDQAgAEUEQEEEDwsgACAAQf3///8HSUECdBAOIgBFDQAgAA8LAAsiAAJAIAFB/P///wdNBEAgACABQQQgAhAJIgANAQsACyAACxkAIAEoAgBBnInAAEEFIAEoAgQoAgwRAQALFAAgACgCACABIAAoAgQoAgwRAAAL8Q4BDX8CfyAAKAIAIQQgACgCBCEGAkACQCABIgcoAggiCkEBRyABKAIQIgBBAUdxRQRAAkAgAEEBRw0AIAQgBmohCCAHQRRqKAIAQQFqIQUgBCEBA0ACQCABIQAgBUEBayIFRQ0AIAAgCEYNAgJ/IAAsAAAiAUEATgRAIAFB/wFxIQIgAEEBagwBCyAALQABQT9xIQkgAUEfcSECIAFBX00EQCACQQZ0IAlyIQIgAEECagwBCyAALQACQT9xIAlBBnRyIQkgAUFwSQRAIAkgAkEMdHIhAiAAQQNqDAELIAJBEnRBgIDwAHEgAC0AA0E/cSAJQQZ0cnIiAkGAgMQARg0DIABBBGoLIgEgAyAAa2ohAyACQYCAxABHDQEMAgsLIAAgCEYNACAALAAAIgFBAE4gAUFgSXIgAUFwSXJFBEAgAUH/AXFBEnRBgIDwAHEgAC0AA0E/cSAALQACQT9xQQZ0IAAtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIANFDQAgAyAGTwRAQQAhACADIAZGDQEMAgtBACEAIAMgBGosAABBQEgNAQsgBCEACyADIAYgABshBiAAIAQgABshBAsgCkUNAiAHQQxqKAIAIQsCQAJAAkACQCAGQRBPBEAgBiAEQQNqQXxxIgAgBGsiCEkgCEEES3INAyAGIAhrIglBBEkNAyAJQQNxIQpBACEDQQAhAQJAIAAgBEYNACAIQQNxIQICQCAAIARBf3NqQQNJBEAgBCEADAELIAhBfHEhBSAEIQADQCABIAAsAABBv39KaiAALAABQb9/SmogACwAAkG/f0pqIAAsAANBv39KaiEBIABBBGohACAFQQRrIgUNAAsLIAJFDQADQCABIAAsAABBv39KaiEBIABBAWohACACQQFrIgINAAsLIAQgCGohAAJAIApFDQAgACAJQXxxaiICLAAAQb9/SiEDIApBAUYNACADIAIsAAFBv39KaiEDIApBAkYNACADIAIsAAJBv39KaiEDCyAJQQJ2IQUgASADaiEBA0AgACEDIAVFDQVBwAEgBSAFQcABTxsiCEEDcSEJIAhBAnQhDAJAIAhB/AFxIgpFBEBBACECDAELIAMgCkECdGohDUEAIQIDQCAARQ0BIAIgACgCACIOQX9zQQd2IA5BBnZyQYGChAhxaiAAQQRqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBCGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEMaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIABBEGoiACANRw0ACwsgBSAIayEFIAMgDGohACACQQh2Qf+B/AdxIAJB/4H8B3FqQYGABGxBEHYgAWohASAJRQ0ACyADRQRAQQAhAgwDCyADIApBAnRqIQAgCUEBa0H/////A3EiA0EBaiICQQNxIQUgA0EDSQRAQQAhAgwCCyACQfz///8HcSEDQQAhAgNAIAIgACgCACIIQX9zQQd2IAhBBnZyQYGChAhxaiAAQQRqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBCGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEMaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIABBEGohACADQQRrIgMNAAsMAQsgBkUEQEEAIQEMBAsgBkEDcSECAkAgBkEBa0EDSQRAQQAhASAEIQAMAQsgBkF8cSEFQQAhASAEIQADQCABIAAsAABBv39KaiAALAABQb9/SmogACwAAkG/f0pqIAAsAANBv39KaiEBIABBBGohACAFQQRrIgUNAAsLIAJFDQMDQCABIAAsAABBv39KaiEBIABBAWohACACQQFrIgINAAsMAwsgBUUNAANAIAAoAgAiA0F/c0EHdiADQQZ2ckGBgoQIcSACaiECIABB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ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5c291cmNlIHNsaWNlIGxlbmd0aCAoKSBkb2VzIG5vdCBtYXRjaCBkZXN0aW5hdGlvbiBzbGljZSBsZW5ndGggKEQDEAAVAAAAWQMQACsAAAAUAhAAAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEHeiMAACzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQAQZyJwAALgQRFcnJvcmludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAChBBAAKgAAAHVua25vd24gaWNvc2Fyb3VuZCBpbmRleNQEEAAYAAAAL2hvbWUvbmVjdGFyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NoYS0xLTAuMTAuMS9zcmMvY29tcHJlc3Mvc29mdC5ycwAA9AQQAF4AAAA5AAAADgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAI8FEAAcAAAAQgIAAB4AAAAvcnVzdGMvODRjODk4ZDY1YWRmMmYzOWE1YTk4NTA3ZjFmZTBjZTEwYTJiOGRiYy9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL2l0ZXIucnMAALwFEABOAAAA9wcAABEAAAAAAAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwAAAC9ob21lL25lY3Rhci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zaGEtMS0wLjEwLjEvc3JjL2xpYi5yczwGEABUAAAAcQAAABM=";
3 |
--------------------------------------------------------------------------------
/examples/browser/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@types/node': ^18.7.16
5 | '@vitejs/plugin-vue': ^3.1.0
6 | '@vueuse/components': ^9.2.0
7 | naive-ui: ^2.33.2
8 | qrcode.vue: ^3.3.3
9 | sass: ^1.54.9
10 | typescript: ^4.6.4
11 | unplugin-auto-import: ^0.11.2
12 | unplugin-vue-components: ^0.22.4
13 | vite: ^3.1.0
14 | vite-svg-loader: ^3.6.0
15 | vue: ^3.2.37
16 | vue-tsc: ^0.40.4
17 |
18 | dependencies:
19 | '@vueuse/components': 9.2.0_vue@3.2.39
20 | qrcode.vue: 3.3.3_vue@3.2.39
21 | vue: 3.2.39
22 |
23 | devDependencies:
24 | '@types/node': 18.7.16
25 | '@vitejs/plugin-vue': 3.1.0_vite@3.1.0+vue@3.2.39
26 | naive-ui: 2.33.2_vue@3.2.39
27 | sass: 1.54.9
28 | typescript: 4.8.3
29 | unplugin-auto-import: 0.11.2_vite@3.1.0
30 | unplugin-vue-components: 0.22.4_vite@3.1.0+vue@3.2.39
31 | vite: 3.1.0_sass@1.54.9
32 | vite-svg-loader: 3.6.0
33 | vue-tsc: 0.40.13_typescript@4.8.3
34 |
35 | packages:
36 |
37 | /@antfu/utils/0.5.2:
38 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
39 | dev: true
40 |
41 | /@babel/helper-string-parser/7.18.10:
42 | resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
43 | engines: {node: '>=6.9.0'}
44 |
45 | /@babel/helper-validator-identifier/7.18.6:
46 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
47 | engines: {node: '>=6.9.0'}
48 |
49 | /@babel/parser/7.19.0:
50 | resolution: {integrity: sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==}
51 | engines: {node: '>=6.0.0'}
52 | hasBin: true
53 | dependencies:
54 | '@babel/types': 7.19.0
55 |
56 | /@babel/types/7.19.0:
57 | resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==}
58 | engines: {node: '>=6.9.0'}
59 | dependencies:
60 | '@babel/helper-string-parser': 7.18.10
61 | '@babel/helper-validator-identifier': 7.18.6
62 | to-fast-properties: 2.0.0
63 |
64 | /@css-render/plugin-bem/0.15.11_css-render@0.15.11:
65 | resolution: {integrity: sha512-Bn8qadYPIz5DhZ4obTGHOJzeziQH6kY0+Fk5AEvwuuy378SLwwvXuuoechLjBHcgKkPCM03Oo4dDSGP/6NMdyw==}
66 | peerDependencies:
67 | css-render: ~0.15.11
68 | dependencies:
69 | css-render: 0.15.11
70 | dev: true
71 |
72 | /@css-render/vue3-ssr/0.15.11_vue@3.2.39:
73 | resolution: {integrity: sha512-n+SuqLPbY30FUTM8slX75OaEG+c8XlTOFrAklekX2XQGvBbz9XdBE6hTEgGlV5kPcTMqTJeCG7Vzhs9/29VC7w==}
74 | peerDependencies:
75 | vue: ^3.0.11
76 | dependencies:
77 | vue: 3.2.39
78 | dev: true
79 |
80 | /@emotion/hash/0.8.0:
81 | resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
82 | dev: true
83 |
84 | /@esbuild/linux-loong64/0.15.7:
85 | resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==}
86 | engines: {node: '>=12'}
87 | cpu: [loong64]
88 | os: [linux]
89 | requiresBuild: true
90 | dev: true
91 | optional: true
92 |
93 | /@juggle/resize-observer/3.4.0:
94 | resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
95 | dev: true
96 |
97 | /@nodelib/fs.scandir/2.1.5:
98 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
99 | engines: {node: '>= 8'}
100 | dependencies:
101 | '@nodelib/fs.stat': 2.0.5
102 | run-parallel: 1.2.0
103 | dev: true
104 |
105 | /@nodelib/fs.stat/2.0.5:
106 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
107 | engines: {node: '>= 8'}
108 | dev: true
109 |
110 | /@nodelib/fs.walk/1.2.8:
111 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
112 | engines: {node: '>= 8'}
113 | dependencies:
114 | '@nodelib/fs.scandir': 2.1.5
115 | fastq: 1.13.0
116 | dev: true
117 |
118 | /@rollup/pluginutils/4.2.1:
119 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
120 | engines: {node: '>= 8.0.0'}
121 | dependencies:
122 | estree-walker: 2.0.2
123 | picomatch: 2.3.1
124 | dev: true
125 |
126 | /@trysound/sax/0.2.0:
127 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
128 | engines: {node: '>=10.13.0'}
129 | dev: true
130 |
131 | /@types/lodash-es/4.17.6:
132 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==}
133 | dependencies:
134 | '@types/lodash': 4.14.184
135 | dev: true
136 |
137 | /@types/lodash/4.14.184:
138 | resolution: {integrity: sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==}
139 | dev: true
140 |
141 | /@types/node/17.0.45:
142 | resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
143 | dev: true
144 |
145 | /@types/node/18.7.16:
146 | resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==}
147 | dev: true
148 |
149 | /@types/web-bluetooth/0.0.15:
150 | resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
151 | dev: false
152 |
153 | /@vitejs/plugin-vue/3.1.0_vite@3.1.0+vue@3.2.39:
154 | resolution: {integrity: sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==}
155 | engines: {node: ^14.18.0 || >=16.0.0}
156 | peerDependencies:
157 | vite: ^3.0.0
158 | vue: ^3.2.25
159 | dependencies:
160 | vite: 3.1.0_sass@1.54.9
161 | vue: 3.2.39
162 | dev: true
163 |
164 | /@volar/code-gen/0.40.13:
165 | resolution: {integrity: sha512-4gShBWuMce868OVvgyA1cU5WxHbjfEme18Tw6uVMfweZCF5fB2KECG0iPrA9D54vHk3FeHarODNwgIaaFfUBlA==}
166 | dependencies:
167 | '@volar/source-map': 0.40.13
168 | dev: true
169 |
170 | /@volar/source-map/0.40.13:
171 | resolution: {integrity: sha512-dbdkAB2Nxb0wLjAY5O64o3ywVWlAGONnBIoKAkXSf6qkGZM+nJxcizsoiI66K+RHQG0XqlyvjDizfnTxr+6PWg==}
172 | dependencies:
173 | '@vue/reactivity': 3.2.38
174 | dev: true
175 |
176 | /@volar/typescript-faster/0.40.13:
177 | resolution: {integrity: sha512-uy+TlcFkKoNlKEnxA4x5acxdxLyVDIXGSc8cYDNXpPKjBKXrQaetzCzlO3kVBqu1VLMxKNGJMTKn35mo+ILQmw==}
178 | dependencies:
179 | semver: 7.3.7
180 | dev: true
181 |
182 | /@volar/vue-language-core/0.40.13:
183 | resolution: {integrity: sha512-QkCb8msi2KUitTdM6Y4kAb7/ZlEvuLcbBFOC2PLBlFuoZwyxvSP7c/dBGmKGtJlEvMX0LdCyrg5V2aBYxD38/Q==}
184 | dependencies:
185 | '@volar/code-gen': 0.40.13
186 | '@volar/source-map': 0.40.13
187 | '@vue/compiler-core': 3.2.39
188 | '@vue/compiler-dom': 3.2.39
189 | '@vue/compiler-sfc': 3.2.39
190 | '@vue/reactivity': 3.2.39
191 | '@vue/shared': 3.2.39
192 | dev: true
193 |
194 | /@volar/vue-typescript/0.40.13:
195 | resolution: {integrity: sha512-o7bNztwjs8JmbQjVkrnbZUOfm7q4B8ZYssETISN1tRaBdun6cfNqgpkvDYd+VUBh1O4CdksvN+5BUNnwAz4oCQ==}
196 | dependencies:
197 | '@volar/code-gen': 0.40.13
198 | '@volar/typescript-faster': 0.40.13
199 | '@volar/vue-language-core': 0.40.13
200 | dev: true
201 |
202 | /@vue/compiler-core/3.2.39:
203 | resolution: {integrity: sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==}
204 | dependencies:
205 | '@babel/parser': 7.19.0
206 | '@vue/shared': 3.2.39
207 | estree-walker: 2.0.2
208 | source-map: 0.6.1
209 |
210 | /@vue/compiler-dom/3.2.39:
211 | resolution: {integrity: sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==}
212 | dependencies:
213 | '@vue/compiler-core': 3.2.39
214 | '@vue/shared': 3.2.39
215 |
216 | /@vue/compiler-sfc/3.2.39:
217 | resolution: {integrity: sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==}
218 | dependencies:
219 | '@babel/parser': 7.19.0
220 | '@vue/compiler-core': 3.2.39
221 | '@vue/compiler-dom': 3.2.39
222 | '@vue/compiler-ssr': 3.2.39
223 | '@vue/reactivity-transform': 3.2.39
224 | '@vue/shared': 3.2.39
225 | estree-walker: 2.0.2
226 | magic-string: 0.25.9
227 | postcss: 8.4.16
228 | source-map: 0.6.1
229 |
230 | /@vue/compiler-ssr/3.2.39:
231 | resolution: {integrity: sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==}
232 | dependencies:
233 | '@vue/compiler-dom': 3.2.39
234 | '@vue/shared': 3.2.39
235 |
236 | /@vue/reactivity-transform/3.2.39:
237 | resolution: {integrity: sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==}
238 | dependencies:
239 | '@babel/parser': 7.19.0
240 | '@vue/compiler-core': 3.2.39
241 | '@vue/shared': 3.2.39
242 | estree-walker: 2.0.2
243 | magic-string: 0.25.9
244 |
245 | /@vue/reactivity/3.2.38:
246 | resolution: {integrity: sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==}
247 | dependencies:
248 | '@vue/shared': 3.2.38
249 | dev: true
250 |
251 | /@vue/reactivity/3.2.39:
252 | resolution: {integrity: sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==}
253 | dependencies:
254 | '@vue/shared': 3.2.39
255 |
256 | /@vue/runtime-core/3.2.39:
257 | resolution: {integrity: sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==}
258 | dependencies:
259 | '@vue/reactivity': 3.2.39
260 | '@vue/shared': 3.2.39
261 |
262 | /@vue/runtime-dom/3.2.39:
263 | resolution: {integrity: sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==}
264 | dependencies:
265 | '@vue/runtime-core': 3.2.39
266 | '@vue/shared': 3.2.39
267 | csstype: 2.6.20
268 |
269 | /@vue/server-renderer/3.2.39_vue@3.2.39:
270 | resolution: {integrity: sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==}
271 | peerDependencies:
272 | vue: 3.2.39
273 | dependencies:
274 | '@vue/compiler-ssr': 3.2.39
275 | '@vue/shared': 3.2.39
276 | vue: 3.2.39
277 |
278 | /@vue/shared/3.2.38:
279 | resolution: {integrity: sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==}
280 | dev: true
281 |
282 | /@vue/shared/3.2.39:
283 | resolution: {integrity: sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==}
284 |
285 | /@vueuse/components/9.2.0_vue@3.2.39:
286 | resolution: {integrity: sha512-NgQRhq5v1LRZsQq21rJlY8VjEqYg5xWiGErBftY+HaBhHsLAn4PxJxtvbe9uZNdOQlRdWM3UPUF6NO/sWfnyWw==}
287 | dependencies:
288 | '@vueuse/core': 9.2.0_vue@3.2.39
289 | '@vueuse/shared': 9.2.0_vue@3.2.39
290 | vue-demi: 0.13.11_vue@3.2.39
291 | transitivePeerDependencies:
292 | - '@vue/composition-api'
293 | - vue
294 | dev: false
295 |
296 | /@vueuse/core/9.2.0_vue@3.2.39:
297 | resolution: {integrity: sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==}
298 | dependencies:
299 | '@types/web-bluetooth': 0.0.15
300 | '@vueuse/metadata': 9.2.0
301 | '@vueuse/shared': 9.2.0_vue@3.2.39
302 | vue-demi: 0.13.11_vue@3.2.39
303 | transitivePeerDependencies:
304 | - '@vue/composition-api'
305 | - vue
306 | dev: false
307 |
308 | /@vueuse/metadata/9.2.0:
309 | resolution: {integrity: sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==}
310 | dev: false
311 |
312 | /@vueuse/shared/9.2.0_vue@3.2.39:
313 | resolution: {integrity: sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==}
314 | dependencies:
315 | vue-demi: 0.13.11_vue@3.2.39
316 | transitivePeerDependencies:
317 | - '@vue/composition-api'
318 | - vue
319 | dev: false
320 |
321 | /acorn/8.8.0:
322 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
323 | engines: {node: '>=0.4.0'}
324 | hasBin: true
325 | dev: true
326 |
327 | /anymatch/3.1.2:
328 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
329 | engines: {node: '>= 8'}
330 | dependencies:
331 | normalize-path: 3.0.0
332 | picomatch: 2.3.1
333 | dev: true
334 |
335 | /async-validator/4.2.5:
336 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
337 | dev: true
338 |
339 | /balanced-match/1.0.2:
340 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
341 | dev: true
342 |
343 | /binary-extensions/2.2.0:
344 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
345 | engines: {node: '>=8'}
346 | dev: true
347 |
348 | /boolbase/1.0.0:
349 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
350 | dev: true
351 |
352 | /brace-expansion/2.0.1:
353 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
354 | dependencies:
355 | balanced-match: 1.0.2
356 | dev: true
357 |
358 | /braces/3.0.2:
359 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
360 | engines: {node: '>=8'}
361 | dependencies:
362 | fill-range: 7.0.1
363 | dev: true
364 |
365 | /chokidar/3.5.3:
366 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
367 | engines: {node: '>= 8.10.0'}
368 | dependencies:
369 | anymatch: 3.1.2
370 | braces: 3.0.2
371 | glob-parent: 5.1.2
372 | is-binary-path: 2.1.0
373 | is-glob: 4.0.3
374 | normalize-path: 3.0.0
375 | readdirp: 3.6.0
376 | optionalDependencies:
377 | fsevents: 2.3.2
378 | dev: true
379 |
380 | /commander/7.2.0:
381 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
382 | engines: {node: '>= 10'}
383 | dev: true
384 |
385 | /css-render/0.15.11:
386 | resolution: {integrity: sha512-hnLrHPUndVUTF5nmNPRey6hpixK02IPUGdEsm2xRjvJuewToyrVFx9Nmai8rgfVzhTFo5SJVh2PHAtzaIV8JKw==}
387 | dependencies:
388 | '@emotion/hash': 0.8.0
389 | '@types/node': 17.0.45
390 | csstype: 3.0.11
391 | dev: true
392 |
393 | /css-select/4.3.0:
394 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
395 | dependencies:
396 | boolbase: 1.0.0
397 | css-what: 6.1.0
398 | domhandler: 4.3.1
399 | domutils: 2.8.0
400 | nth-check: 2.1.1
401 | dev: true
402 |
403 | /css-tree/1.1.3:
404 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
405 | engines: {node: '>=8.0.0'}
406 | dependencies:
407 | mdn-data: 2.0.14
408 | source-map: 0.6.1
409 | dev: true
410 |
411 | /css-what/6.1.0:
412 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
413 | engines: {node: '>= 6'}
414 | dev: true
415 |
416 | /csso/4.2.0:
417 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
418 | engines: {node: '>=8.0.0'}
419 | dependencies:
420 | css-tree: 1.1.3
421 | dev: true
422 |
423 | /csstype/2.6.20:
424 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
425 |
426 | /csstype/3.0.11:
427 | resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
428 | dev: true
429 |
430 | /date-fns-tz/1.3.7_date-fns@2.29.2:
431 | resolution: {integrity: sha512-1t1b8zyJo+UI8aR+g3iqr5fkUHWpd58VBx8J/ZSQ+w7YrGlw80Ag4sA86qkfCXRBLmMc4I2US+aPMd4uKvwj5g==}
432 | peerDependencies:
433 | date-fns: '>=2.0.0'
434 | dependencies:
435 | date-fns: 2.29.2
436 | dev: true
437 |
438 | /date-fns/2.29.2:
439 | resolution: {integrity: sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA==}
440 | engines: {node: '>=0.11'}
441 | dev: true
442 |
443 | /debug/4.3.4:
444 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
445 | engines: {node: '>=6.0'}
446 | peerDependencies:
447 | supports-color: '*'
448 | peerDependenciesMeta:
449 | supports-color:
450 | optional: true
451 | dependencies:
452 | ms: 2.1.2
453 | dev: true
454 |
455 | /dom-serializer/1.4.1:
456 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
457 | dependencies:
458 | domelementtype: 2.3.0
459 | domhandler: 4.3.1
460 | entities: 2.2.0
461 | dev: true
462 |
463 | /domelementtype/2.3.0:
464 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
465 | dev: true
466 |
467 | /domhandler/4.3.1:
468 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
469 | engines: {node: '>= 4'}
470 | dependencies:
471 | domelementtype: 2.3.0
472 | dev: true
473 |
474 | /domutils/2.8.0:
475 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
476 | dependencies:
477 | dom-serializer: 1.4.1
478 | domelementtype: 2.3.0
479 | domhandler: 4.3.1
480 | dev: true
481 |
482 | /entities/2.2.0:
483 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
484 | dev: true
485 |
486 | /esbuild-android-64/0.15.7:
487 | resolution: {integrity: sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==}
488 | engines: {node: '>=12'}
489 | cpu: [x64]
490 | os: [android]
491 | requiresBuild: true
492 | dev: true
493 | optional: true
494 |
495 | /esbuild-android-arm64/0.15.7:
496 | resolution: {integrity: sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==}
497 | engines: {node: '>=12'}
498 | cpu: [arm64]
499 | os: [android]
500 | requiresBuild: true
501 | dev: true
502 | optional: true
503 |
504 | /esbuild-darwin-64/0.15.7:
505 | resolution: {integrity: sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==}
506 | engines: {node: '>=12'}
507 | cpu: [x64]
508 | os: [darwin]
509 | requiresBuild: true
510 | dev: true
511 | optional: true
512 |
513 | /esbuild-darwin-arm64/0.15.7:
514 | resolution: {integrity: sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==}
515 | engines: {node: '>=12'}
516 | cpu: [arm64]
517 | os: [darwin]
518 | requiresBuild: true
519 | dev: true
520 | optional: true
521 |
522 | /esbuild-freebsd-64/0.15.7:
523 | resolution: {integrity: sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==}
524 | engines: {node: '>=12'}
525 | cpu: [x64]
526 | os: [freebsd]
527 | requiresBuild: true
528 | dev: true
529 | optional: true
530 |
531 | /esbuild-freebsd-arm64/0.15.7:
532 | resolution: {integrity: sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==}
533 | engines: {node: '>=12'}
534 | cpu: [arm64]
535 | os: [freebsd]
536 | requiresBuild: true
537 | dev: true
538 | optional: true
539 |
540 | /esbuild-linux-32/0.15.7:
541 | resolution: {integrity: sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==}
542 | engines: {node: '>=12'}
543 | cpu: [ia32]
544 | os: [linux]
545 | requiresBuild: true
546 | dev: true
547 | optional: true
548 |
549 | /esbuild-linux-64/0.15.7:
550 | resolution: {integrity: sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==}
551 | engines: {node: '>=12'}
552 | cpu: [x64]
553 | os: [linux]
554 | requiresBuild: true
555 | dev: true
556 | optional: true
557 |
558 | /esbuild-linux-arm/0.15.7:
559 | resolution: {integrity: sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==}
560 | engines: {node: '>=12'}
561 | cpu: [arm]
562 | os: [linux]
563 | requiresBuild: true
564 | dev: true
565 | optional: true
566 |
567 | /esbuild-linux-arm64/0.15.7:
568 | resolution: {integrity: sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==}
569 | engines: {node: '>=12'}
570 | cpu: [arm64]
571 | os: [linux]
572 | requiresBuild: true
573 | dev: true
574 | optional: true
575 |
576 | /esbuild-linux-mips64le/0.15.7:
577 | resolution: {integrity: sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==}
578 | engines: {node: '>=12'}
579 | cpu: [mips64el]
580 | os: [linux]
581 | requiresBuild: true
582 | dev: true
583 | optional: true
584 |
585 | /esbuild-linux-ppc64le/0.15.7:
586 | resolution: {integrity: sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==}
587 | engines: {node: '>=12'}
588 | cpu: [ppc64]
589 | os: [linux]
590 | requiresBuild: true
591 | dev: true
592 | optional: true
593 |
594 | /esbuild-linux-riscv64/0.15.7:
595 | resolution: {integrity: sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==}
596 | engines: {node: '>=12'}
597 | cpu: [riscv64]
598 | os: [linux]
599 | requiresBuild: true
600 | dev: true
601 | optional: true
602 |
603 | /esbuild-linux-s390x/0.15.7:
604 | resolution: {integrity: sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==}
605 | engines: {node: '>=12'}
606 | cpu: [s390x]
607 | os: [linux]
608 | requiresBuild: true
609 | dev: true
610 | optional: true
611 |
612 | /esbuild-netbsd-64/0.15.7:
613 | resolution: {integrity: sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==}
614 | engines: {node: '>=12'}
615 | cpu: [x64]
616 | os: [netbsd]
617 | requiresBuild: true
618 | dev: true
619 | optional: true
620 |
621 | /esbuild-openbsd-64/0.15.7:
622 | resolution: {integrity: sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==}
623 | engines: {node: '>=12'}
624 | cpu: [x64]
625 | os: [openbsd]
626 | requiresBuild: true
627 | dev: true
628 | optional: true
629 |
630 | /esbuild-sunos-64/0.15.7:
631 | resolution: {integrity: sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==}
632 | engines: {node: '>=12'}
633 | cpu: [x64]
634 | os: [sunos]
635 | requiresBuild: true
636 | dev: true
637 | optional: true
638 |
639 | /esbuild-windows-32/0.15.7:
640 | resolution: {integrity: sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==}
641 | engines: {node: '>=12'}
642 | cpu: [ia32]
643 | os: [win32]
644 | requiresBuild: true
645 | dev: true
646 | optional: true
647 |
648 | /esbuild-windows-64/0.15.7:
649 | resolution: {integrity: sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==}
650 | engines: {node: '>=12'}
651 | cpu: [x64]
652 | os: [win32]
653 | requiresBuild: true
654 | dev: true
655 | optional: true
656 |
657 | /esbuild-windows-arm64/0.15.7:
658 | resolution: {integrity: sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==}
659 | engines: {node: '>=12'}
660 | cpu: [arm64]
661 | os: [win32]
662 | requiresBuild: true
663 | dev: true
664 | optional: true
665 |
666 | /esbuild/0.15.7:
667 | resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==}
668 | engines: {node: '>=12'}
669 | hasBin: true
670 | requiresBuild: true
671 | optionalDependencies:
672 | '@esbuild/linux-loong64': 0.15.7
673 | esbuild-android-64: 0.15.7
674 | esbuild-android-arm64: 0.15.7
675 | esbuild-darwin-64: 0.15.7
676 | esbuild-darwin-arm64: 0.15.7
677 | esbuild-freebsd-64: 0.15.7
678 | esbuild-freebsd-arm64: 0.15.7
679 | esbuild-linux-32: 0.15.7
680 | esbuild-linux-64: 0.15.7
681 | esbuild-linux-arm: 0.15.7
682 | esbuild-linux-arm64: 0.15.7
683 | esbuild-linux-mips64le: 0.15.7
684 | esbuild-linux-ppc64le: 0.15.7
685 | esbuild-linux-riscv64: 0.15.7
686 | esbuild-linux-s390x: 0.15.7
687 | esbuild-netbsd-64: 0.15.7
688 | esbuild-openbsd-64: 0.15.7
689 | esbuild-sunos-64: 0.15.7
690 | esbuild-windows-32: 0.15.7
691 | esbuild-windows-64: 0.15.7
692 | esbuild-windows-arm64: 0.15.7
693 | dev: true
694 |
695 | /escape-string-regexp/5.0.0:
696 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
697 | engines: {node: '>=12'}
698 | dev: true
699 |
700 | /estree-walker/2.0.2:
701 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
702 |
703 | /evtd/0.2.4:
704 | resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==}
705 | dev: true
706 |
707 | /fast-glob/3.2.11:
708 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
709 | engines: {node: '>=8.6.0'}
710 | dependencies:
711 | '@nodelib/fs.stat': 2.0.5
712 | '@nodelib/fs.walk': 1.2.8
713 | glob-parent: 5.1.2
714 | merge2: 1.4.1
715 | micromatch: 4.0.5
716 | dev: true
717 |
718 | /fastq/1.13.0:
719 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
720 | dependencies:
721 | reusify: 1.0.4
722 | dev: true
723 |
724 | /fill-range/7.0.1:
725 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
726 | engines: {node: '>=8'}
727 | dependencies:
728 | to-regex-range: 5.0.1
729 | dev: true
730 |
731 | /fsevents/2.3.2:
732 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
733 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
734 | os: [darwin]
735 | requiresBuild: true
736 | dev: true
737 | optional: true
738 |
739 | /function-bind/1.1.1:
740 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
741 | dev: true
742 |
743 | /glob-parent/5.1.2:
744 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
745 | engines: {node: '>= 6'}
746 | dependencies:
747 | is-glob: 4.0.3
748 | dev: true
749 |
750 | /has/1.0.3:
751 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
752 | engines: {node: '>= 0.4.0'}
753 | dependencies:
754 | function-bind: 1.1.1
755 | dev: true
756 |
757 | /highlight.js/11.6.0:
758 | resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==}
759 | engines: {node: '>=12.0.0'}
760 | dev: true
761 |
762 | /immutable/4.1.0:
763 | resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
764 | dev: true
765 |
766 | /is-binary-path/2.1.0:
767 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
768 | engines: {node: '>=8'}
769 | dependencies:
770 | binary-extensions: 2.2.0
771 | dev: true
772 |
773 | /is-core-module/2.10.0:
774 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
775 | dependencies:
776 | has: 1.0.3
777 | dev: true
778 |
779 | /is-extglob/2.1.1:
780 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
781 | engines: {node: '>=0.10.0'}
782 | dev: true
783 |
784 | /is-glob/4.0.3:
785 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
786 | engines: {node: '>=0.10.0'}
787 | dependencies:
788 | is-extglob: 2.1.1
789 | dev: true
790 |
791 | /is-number/7.0.0:
792 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
793 | engines: {node: '>=0.12.0'}
794 | dev: true
795 |
796 | /jsonc-parser/3.2.0:
797 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
798 | dev: true
799 |
800 | /local-pkg/0.4.2:
801 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
802 | engines: {node: '>=14'}
803 | dev: true
804 |
805 | /lodash-es/4.17.21:
806 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
807 | dev: true
808 |
809 | /lodash/4.17.21:
810 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
811 | dev: true
812 |
813 | /lru-cache/6.0.0:
814 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
815 | engines: {node: '>=10'}
816 | dependencies:
817 | yallist: 4.0.0
818 | dev: true
819 |
820 | /magic-string/0.25.9:
821 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
822 | dependencies:
823 | sourcemap-codec: 1.4.8
824 |
825 | /magic-string/0.26.3:
826 | resolution: {integrity: sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg==}
827 | engines: {node: '>=12'}
828 | dependencies:
829 | sourcemap-codec: 1.4.8
830 | dev: true
831 |
832 | /mdn-data/2.0.14:
833 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
834 | dev: true
835 |
836 | /merge2/1.4.1:
837 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
838 | engines: {node: '>= 8'}
839 | dev: true
840 |
841 | /micromatch/4.0.5:
842 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
843 | engines: {node: '>=8.6'}
844 | dependencies:
845 | braces: 3.0.2
846 | picomatch: 2.3.1
847 | dev: true
848 |
849 | /minimatch/5.1.0:
850 | resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==}
851 | engines: {node: '>=10'}
852 | dependencies:
853 | brace-expansion: 2.0.1
854 | dev: true
855 |
856 | /mlly/0.5.14:
857 | resolution: {integrity: sha512-DgRgNUSX9NIxxCxygX4Xeg9C7GX7OUx1wuQ8cXx9o9LE0e9wrH+OZ9fcnrlEedsC/rtqry3ZhUddC759XD/L0w==}
858 | dependencies:
859 | acorn: 8.8.0
860 | pathe: 0.3.7
861 | pkg-types: 0.3.5
862 | ufo: 0.8.5
863 | dev: true
864 |
865 | /ms/2.1.2:
866 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
867 | dev: true
868 |
869 | /naive-ui/2.33.2_vue@3.2.39:
870 | resolution: {integrity: sha512-XT18dOE7dK15xedO9MlrPsD3AXBKncr0lqlsxakHl/DckqOaAbdA7yxDl/qtVTBC+1Rlf29cFP/th7P7DSy5zg==}
871 | peerDependencies:
872 | vue: ^3.0.0
873 | dependencies:
874 | '@css-render/plugin-bem': 0.15.11_css-render@0.15.11
875 | '@css-render/vue3-ssr': 0.15.11_vue@3.2.39
876 | '@types/lodash': 4.14.184
877 | '@types/lodash-es': 4.17.6
878 | async-validator: 4.2.5
879 | css-render: 0.15.11
880 | date-fns: 2.29.2
881 | date-fns-tz: 1.3.7_date-fns@2.29.2
882 | evtd: 0.2.4
883 | highlight.js: 11.6.0
884 | lodash: 4.17.21
885 | lodash-es: 4.17.21
886 | seemly: 0.3.6
887 | treemate: 0.3.11
888 | vdirs: 0.1.8_vue@3.2.39
889 | vooks: 0.2.12_vue@3.2.39
890 | vue: 3.2.39
891 | vueuc: 0.4.48_vue@3.2.39
892 | dev: true
893 |
894 | /nanoid/3.3.4:
895 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
896 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
897 | hasBin: true
898 |
899 | /normalize-path/3.0.0:
900 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
901 | engines: {node: '>=0.10.0'}
902 | dev: true
903 |
904 | /nth-check/2.1.1:
905 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
906 | dependencies:
907 | boolbase: 1.0.0
908 | dev: true
909 |
910 | /path-parse/1.0.7:
911 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
912 | dev: true
913 |
914 | /pathe/0.3.7:
915 | resolution: {integrity: sha512-yz7GK+kSsS27x727jtXpd5VT4dDfP/JDIQmaowfxyWCnFjOWtE1VIh7i6TzcSfzW0n4+bRQztj1VdKnITNq/MA==}
916 | dev: true
917 |
918 | /picocolors/1.0.0:
919 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
920 |
921 | /picomatch/2.3.1:
922 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
923 | engines: {node: '>=8.6'}
924 | dev: true
925 |
926 | /pkg-types/0.3.5:
927 | resolution: {integrity: sha512-VkxCBFVgQhNHYk9subx+HOhZ4jzynH11ah63LZsprTKwPCWG9pfWBlkElWFbvkP9BVR0dP1jS9xPdhaHQNK74Q==}
928 | dependencies:
929 | jsonc-parser: 3.2.0
930 | mlly: 0.5.14
931 | pathe: 0.3.7
932 | dev: true
933 |
934 | /postcss/8.4.16:
935 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
936 | engines: {node: ^10 || ^12 || >=14}
937 | dependencies:
938 | nanoid: 3.3.4
939 | picocolors: 1.0.0
940 | source-map-js: 1.0.2
941 |
942 | /qrcode.vue/3.3.3_vue@3.2.39:
943 | resolution: {integrity: sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw==}
944 | peerDependencies:
945 | vue: ^3.0.0
946 | dependencies:
947 | vue: 3.2.39
948 | dev: false
949 |
950 | /queue-microtask/1.2.3:
951 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
952 | dev: true
953 |
954 | /readdirp/3.6.0:
955 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
956 | engines: {node: '>=8.10.0'}
957 | dependencies:
958 | picomatch: 2.3.1
959 | dev: true
960 |
961 | /resolve/1.22.1:
962 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
963 | hasBin: true
964 | dependencies:
965 | is-core-module: 2.10.0
966 | path-parse: 1.0.7
967 | supports-preserve-symlinks-flag: 1.0.0
968 | dev: true
969 |
970 | /reusify/1.0.4:
971 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
972 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
973 | dev: true
974 |
975 | /rollup/2.78.1:
976 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
977 | engines: {node: '>=10.0.0'}
978 | hasBin: true
979 | optionalDependencies:
980 | fsevents: 2.3.2
981 | dev: true
982 |
983 | /run-parallel/1.2.0:
984 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
985 | dependencies:
986 | queue-microtask: 1.2.3
987 | dev: true
988 |
989 | /sass/1.54.9:
990 | resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==}
991 | engines: {node: '>=12.0.0'}
992 | hasBin: true
993 | dependencies:
994 | chokidar: 3.5.3
995 | immutable: 4.1.0
996 | source-map-js: 1.0.2
997 | dev: true
998 |
999 | /scule/0.3.2:
1000 | resolution: {integrity: sha512-zIvPdjOH8fv8CgrPT5eqtxHQXmPNnV/vHJYffZhE43KZkvULvpCTvOt1HPlFaCZx287INL9qaqrZg34e8NgI4g==}
1001 | dev: true
1002 |
1003 | /seemly/0.3.6:
1004 | resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==}
1005 | dev: true
1006 |
1007 | /semver/7.3.7:
1008 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
1009 | engines: {node: '>=10'}
1010 | hasBin: true
1011 | dependencies:
1012 | lru-cache: 6.0.0
1013 | dev: true
1014 |
1015 | /source-map-js/1.0.2:
1016 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1017 | engines: {node: '>=0.10.0'}
1018 |
1019 | /source-map/0.6.1:
1020 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1021 | engines: {node: '>=0.10.0'}
1022 |
1023 | /sourcemap-codec/1.4.8:
1024 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
1025 |
1026 | /stable/0.1.8:
1027 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
1028 | deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
1029 | dev: true
1030 |
1031 | /strip-literal/0.4.0:
1032 | resolution: {integrity: sha512-ql/sBDoJOybTKSIOWrrh8kgUEMjXMwRAkZTD0EwiwxQH/6tTPkZvMIEjp0CRlpi6V5FMiJyvxeRkEi1KrGISoA==}
1033 | dependencies:
1034 | acorn: 8.8.0
1035 | dev: true
1036 |
1037 | /supports-preserve-symlinks-flag/1.0.0:
1038 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1039 | engines: {node: '>= 0.4'}
1040 | dev: true
1041 |
1042 | /svgo/2.8.0:
1043 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
1044 | engines: {node: '>=10.13.0'}
1045 | hasBin: true
1046 | dependencies:
1047 | '@trysound/sax': 0.2.0
1048 | commander: 7.2.0
1049 | css-select: 4.3.0
1050 | css-tree: 1.1.3
1051 | csso: 4.2.0
1052 | picocolors: 1.0.0
1053 | stable: 0.1.8
1054 | dev: true
1055 |
1056 | /to-fast-properties/2.0.0:
1057 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1058 | engines: {node: '>=4'}
1059 |
1060 | /to-regex-range/5.0.1:
1061 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1062 | engines: {node: '>=8.0'}
1063 | dependencies:
1064 | is-number: 7.0.0
1065 | dev: true
1066 |
1067 | /treemate/0.3.11:
1068 | resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==}
1069 | dev: true
1070 |
1071 | /typescript/4.8.3:
1072 | resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==}
1073 | engines: {node: '>=4.2.0'}
1074 | hasBin: true
1075 | dev: true
1076 |
1077 | /ufo/0.8.5:
1078 | resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==}
1079 | dev: true
1080 |
1081 | /unimport/0.6.7_vite@3.1.0:
1082 | resolution: {integrity: sha512-EMoVqDjswHkU+nD098QYHXH7Mkw7KwGDQAyeRF2lgairJnuO+wpkhIcmCqrD1OPJmsjkTbJ2tW6Ap8St0PuWZA==}
1083 | dependencies:
1084 | '@rollup/pluginutils': 4.2.1
1085 | escape-string-regexp: 5.0.0
1086 | fast-glob: 3.2.11
1087 | local-pkg: 0.4.2
1088 | magic-string: 0.26.3
1089 | mlly: 0.5.14
1090 | pathe: 0.3.7
1091 | scule: 0.3.2
1092 | strip-literal: 0.4.0
1093 | unplugin: 0.9.5_vite@3.1.0
1094 | transitivePeerDependencies:
1095 | - esbuild
1096 | - rollup
1097 | - vite
1098 | - webpack
1099 | dev: true
1100 |
1101 | /unplugin-auto-import/0.11.2_vite@3.1.0:
1102 | resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==}
1103 | engines: {node: '>=14'}
1104 | peerDependencies:
1105 | '@vueuse/core': '*'
1106 | peerDependenciesMeta:
1107 | '@vueuse/core':
1108 | optional: true
1109 | dependencies:
1110 | '@antfu/utils': 0.5.2
1111 | '@rollup/pluginutils': 4.2.1
1112 | local-pkg: 0.4.2
1113 | magic-string: 0.26.3
1114 | unimport: 0.6.7_vite@3.1.0
1115 | unplugin: 0.9.5_vite@3.1.0
1116 | transitivePeerDependencies:
1117 | - esbuild
1118 | - rollup
1119 | - vite
1120 | - webpack
1121 | dev: true
1122 |
1123 | /unplugin-vue-components/0.22.4_vite@3.1.0+vue@3.2.39:
1124 | resolution: {integrity: sha512-2rRZcM9OnJGXnYxQNfaceEYuPeVACcWySIjy8WBwIiN3onr980TmA3XE5pRJFt8zoQrUA+c46oyIq96noLqrEQ==}
1125 | engines: {node: '>=14'}
1126 | peerDependencies:
1127 | '@babel/parser': ^7.15.8
1128 | vue: 2 || 3
1129 | peerDependenciesMeta:
1130 | '@babel/parser':
1131 | optional: true
1132 | dependencies:
1133 | '@antfu/utils': 0.5.2
1134 | '@rollup/pluginutils': 4.2.1
1135 | chokidar: 3.5.3
1136 | debug: 4.3.4
1137 | fast-glob: 3.2.11
1138 | local-pkg: 0.4.2
1139 | magic-string: 0.26.3
1140 | minimatch: 5.1.0
1141 | resolve: 1.22.1
1142 | unplugin: 0.9.5_vite@3.1.0
1143 | vue: 3.2.39
1144 | transitivePeerDependencies:
1145 | - esbuild
1146 | - rollup
1147 | - supports-color
1148 | - vite
1149 | - webpack
1150 | dev: true
1151 |
1152 | /unplugin/0.9.5_vite@3.1.0:
1153 | resolution: {integrity: sha512-luraheyfxwtvkvHpsOvMNv7IjLdORTWKZp0gWYNHGLi2ImON3iIZOj464qEyyEwLA/EMt12fC415HW9zRpOfTg==}
1154 | peerDependencies:
1155 | esbuild: '>=0.13'
1156 | rollup: ^2.50.0
1157 | vite: ^2.3.0 || ^3.0.0-0
1158 | webpack: 4 || 5
1159 | peerDependenciesMeta:
1160 | esbuild:
1161 | optional: true
1162 | rollup:
1163 | optional: true
1164 | vite:
1165 | optional: true
1166 | webpack:
1167 | optional: true
1168 | dependencies:
1169 | acorn: 8.8.0
1170 | chokidar: 3.5.3
1171 | vite: 3.1.0_sass@1.54.9
1172 | webpack-sources: 3.2.3
1173 | webpack-virtual-modules: 0.4.4
1174 | dev: true
1175 |
1176 | /vdirs/0.1.8_vue@3.2.39:
1177 | resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==}
1178 | peerDependencies:
1179 | vue: ^3.0.11
1180 | dependencies:
1181 | evtd: 0.2.4
1182 | vue: 3.2.39
1183 | dev: true
1184 |
1185 | /vite-svg-loader/3.6.0:
1186 | resolution: {integrity: sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==}
1187 | dependencies:
1188 | '@vue/compiler-sfc': 3.2.39
1189 | svgo: 2.8.0
1190 | dev: true
1191 |
1192 | /vite/3.1.0_sass@1.54.9:
1193 | resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==}
1194 | engines: {node: ^14.18.0 || >=16.0.0}
1195 | hasBin: true
1196 | peerDependencies:
1197 | less: '*'
1198 | sass: '*'
1199 | stylus: '*'
1200 | terser: ^5.4.0
1201 | peerDependenciesMeta:
1202 | less:
1203 | optional: true
1204 | sass:
1205 | optional: true
1206 | stylus:
1207 | optional: true
1208 | terser:
1209 | optional: true
1210 | dependencies:
1211 | esbuild: 0.15.7
1212 | postcss: 8.4.16
1213 | resolve: 1.22.1
1214 | rollup: 2.78.1
1215 | sass: 1.54.9
1216 | optionalDependencies:
1217 | fsevents: 2.3.2
1218 | dev: true
1219 |
1220 | /vooks/0.2.12_vue@3.2.39:
1221 | resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==}
1222 | peerDependencies:
1223 | vue: ^3.0.0
1224 | dependencies:
1225 | evtd: 0.2.4
1226 | vue: 3.2.39
1227 | dev: true
1228 |
1229 | /vue-demi/0.13.11_vue@3.2.39:
1230 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
1231 | engines: {node: '>=12'}
1232 | hasBin: true
1233 | requiresBuild: true
1234 | peerDependencies:
1235 | '@vue/composition-api': ^1.0.0-rc.1
1236 | vue: ^3.0.0-0 || ^2.6.0
1237 | peerDependenciesMeta:
1238 | '@vue/composition-api':
1239 | optional: true
1240 | dependencies:
1241 | vue: 3.2.39
1242 | dev: false
1243 |
1244 | /vue-tsc/0.40.13_typescript@4.8.3:
1245 | resolution: {integrity: sha512-xzuN3g5PnKfJcNrLv4+mAjteMd5wLm5fRhW0034OfNJZY4WhB07vhngea/XeGn7wNYt16r7syonzvW/54dcNiA==}
1246 | hasBin: true
1247 | peerDependencies:
1248 | typescript: '*'
1249 | dependencies:
1250 | '@volar/vue-language-core': 0.40.13
1251 | '@volar/vue-typescript': 0.40.13
1252 | typescript: 4.8.3
1253 | dev: true
1254 |
1255 | /vue/3.2.39:
1256 | resolution: {integrity: sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==}
1257 | dependencies:
1258 | '@vue/compiler-dom': 3.2.39
1259 | '@vue/compiler-sfc': 3.2.39
1260 | '@vue/runtime-dom': 3.2.39
1261 | '@vue/server-renderer': 3.2.39_vue@3.2.39
1262 | '@vue/shared': 3.2.39
1263 |
1264 | /vueuc/0.4.48_vue@3.2.39:
1265 | resolution: {integrity: sha512-dQTBLxCzfaPuzD3c4/dIxAULtnyY+xwdotCRFUDgf0DJiwuR3tI+txJ9K8uJKmaHwc1JDUVqhRAj9Jd/pvInWg==}
1266 | peerDependencies:
1267 | vue: ^3.0.11
1268 | dependencies:
1269 | '@css-render/vue3-ssr': 0.15.11_vue@3.2.39
1270 | '@juggle/resize-observer': 3.4.0
1271 | css-render: 0.15.11
1272 | evtd: 0.2.4
1273 | seemly: 0.3.6
1274 | vdirs: 0.1.8_vue@3.2.39
1275 | vooks: 0.2.12_vue@3.2.39
1276 | vue: 3.2.39
1277 | dev: true
1278 |
1279 | /webpack-sources/3.2.3:
1280 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
1281 | engines: {node: '>=10.13.0'}
1282 | dev: true
1283 |
1284 | /webpack-virtual-modules/0.4.4:
1285 | resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==}
1286 | dev: true
1287 |
1288 | /yallist/4.0.0:
1289 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1290 | dev: true
1291 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | importers:
4 |
5 | .:
6 | devDependencies:
7 | binaryen:
8 | specifier: ^111.0.0
9 | version: 111.0.0
10 |
11 | examples/browser:
12 | dependencies:
13 | '@vueuse/components':
14 | specifier: ^9.2.0
15 | version: 9.2.0(vue@3.2.37)
16 | qrcode.vue:
17 | specifier: ^3.3.3
18 | version: 3.3.3(vue@3.2.37)
19 | vue:
20 | specifier: ^3.2.37
21 | version: 3.2.37
22 | devDependencies:
23 | '@types/node':
24 | specifier: ^18.7.16
25 | version: 18.7.16
26 | '@vitejs/plugin-vue':
27 | specifier: ^3.1.0
28 | version: 3.1.0(vite@3.1.0)(vue@3.2.37)
29 | naive-ui:
30 | specifier: ^2.33.2
31 | version: 2.33.2(vue@3.2.37)
32 | sass:
33 | specifier: ^1.54.9
34 | version: 1.54.9
35 | typescript:
36 | specifier: ^4.6.4
37 | version: 4.6.4
38 | unplugin-auto-import:
39 | specifier: ^0.11.2
40 | version: 0.11.2
41 | unplugin-vue-components:
42 | specifier: ^0.22.4
43 | version: 0.22.4(vue@3.2.37)
44 | vite:
45 | specifier: ^3.1.0
46 | version: 3.1.0(sass@1.54.9)
47 | vite-svg-loader:
48 | specifier: ^3.6.0
49 | version: 3.6.0
50 | vue-tsc:
51 | specifier: ^0.40.4
52 | version: 0.40.4(typescript@4.6.4)
53 |
54 | examples/node:
55 | devDependencies:
56 | '@types/node':
57 | specifier: ^18.7.16
58 | version: 18.7.16
59 | esno:
60 | specifier: ^0.16.3
61 | version: 0.16.3
62 |
63 | packages/totp-wasm: {}
64 |
65 | packages:
66 |
67 | /@antfu/utils@0.5.2:
68 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
69 | dev: true
70 |
71 | /@babel/helper-string-parser@7.19.4:
72 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
73 | engines: {node: '>=6.9.0'}
74 |
75 | /@babel/helper-validator-identifier@7.19.1:
76 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
77 | engines: {node: '>=6.9.0'}
78 |
79 | /@babel/parser@7.21.4:
80 | resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
81 | engines: {node: '>=6.0.0'}
82 | hasBin: true
83 | dependencies:
84 | '@babel/types': 7.21.4
85 |
86 | /@babel/types@7.21.4:
87 | resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
88 | engines: {node: '>=6.9.0'}
89 | dependencies:
90 | '@babel/helper-string-parser': 7.19.4
91 | '@babel/helper-validator-identifier': 7.19.1
92 | to-fast-properties: 2.0.0
93 |
94 | /@css-render/plugin-bem@0.15.12(css-render@0.15.12):
95 | resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==}
96 | peerDependencies:
97 | css-render: ~0.15.12
98 | dependencies:
99 | css-render: 0.15.12
100 | dev: true
101 |
102 | /@css-render/vue3-ssr@0.15.12(vue@3.2.37):
103 | resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==}
104 | peerDependencies:
105 | vue: ^3.0.11
106 | dependencies:
107 | vue: 3.2.37
108 | dev: true
109 |
110 | /@emotion/hash@0.8.0:
111 | resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
112 | dev: true
113 |
114 | /@esbuild-kit/cjs-loader@2.4.2:
115 | resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
116 | dependencies:
117 | '@esbuild-kit/core-utils': 3.1.0
118 | get-tsconfig: 4.5.0
119 | dev: true
120 |
121 | /@esbuild-kit/core-utils@3.1.0:
122 | resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==}
123 | dependencies:
124 | esbuild: 0.17.17
125 | source-map-support: 0.5.21
126 | dev: true
127 |
128 | /@esbuild-kit/esm-loader@2.5.5:
129 | resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==}
130 | dependencies:
131 | '@esbuild-kit/core-utils': 3.1.0
132 | get-tsconfig: 4.5.0
133 | dev: true
134 |
135 | /@esbuild/android-arm64@0.17.17:
136 | resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==}
137 | engines: {node: '>=12'}
138 | cpu: [arm64]
139 | os: [android]
140 | requiresBuild: true
141 | dev: true
142 | optional: true
143 |
144 | /@esbuild/android-arm@0.15.18:
145 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
146 | engines: {node: '>=12'}
147 | cpu: [arm]
148 | os: [android]
149 | requiresBuild: true
150 | dev: true
151 | optional: true
152 |
153 | /@esbuild/android-arm@0.17.17:
154 | resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==}
155 | engines: {node: '>=12'}
156 | cpu: [arm]
157 | os: [android]
158 | requiresBuild: true
159 | dev: true
160 | optional: true
161 |
162 | /@esbuild/android-x64@0.17.17:
163 | resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==}
164 | engines: {node: '>=12'}
165 | cpu: [x64]
166 | os: [android]
167 | requiresBuild: true
168 | dev: true
169 | optional: true
170 |
171 | /@esbuild/darwin-arm64@0.17.17:
172 | resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==}
173 | engines: {node: '>=12'}
174 | cpu: [arm64]
175 | os: [darwin]
176 | requiresBuild: true
177 | dev: true
178 | optional: true
179 |
180 | /@esbuild/darwin-x64@0.17.17:
181 | resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==}
182 | engines: {node: '>=12'}
183 | cpu: [x64]
184 | os: [darwin]
185 | requiresBuild: true
186 | dev: true
187 | optional: true
188 |
189 | /@esbuild/freebsd-arm64@0.17.17:
190 | resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==}
191 | engines: {node: '>=12'}
192 | cpu: [arm64]
193 | os: [freebsd]
194 | requiresBuild: true
195 | dev: true
196 | optional: true
197 |
198 | /@esbuild/freebsd-x64@0.17.17:
199 | resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==}
200 | engines: {node: '>=12'}
201 | cpu: [x64]
202 | os: [freebsd]
203 | requiresBuild: true
204 | dev: true
205 | optional: true
206 |
207 | /@esbuild/linux-arm64@0.17.17:
208 | resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==}
209 | engines: {node: '>=12'}
210 | cpu: [arm64]
211 | os: [linux]
212 | requiresBuild: true
213 | dev: true
214 | optional: true
215 |
216 | /@esbuild/linux-arm@0.17.17:
217 | resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==}
218 | engines: {node: '>=12'}
219 | cpu: [arm]
220 | os: [linux]
221 | requiresBuild: true
222 | dev: true
223 | optional: true
224 |
225 | /@esbuild/linux-ia32@0.17.17:
226 | resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==}
227 | engines: {node: '>=12'}
228 | cpu: [ia32]
229 | os: [linux]
230 | requiresBuild: true
231 | dev: true
232 | optional: true
233 |
234 | /@esbuild/linux-loong64@0.15.18:
235 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
236 | engines: {node: '>=12'}
237 | cpu: [loong64]
238 | os: [linux]
239 | requiresBuild: true
240 | dev: true
241 | optional: true
242 |
243 | /@esbuild/linux-loong64@0.17.17:
244 | resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==}
245 | engines: {node: '>=12'}
246 | cpu: [loong64]
247 | os: [linux]
248 | requiresBuild: true
249 | dev: true
250 | optional: true
251 |
252 | /@esbuild/linux-mips64el@0.17.17:
253 | resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==}
254 | engines: {node: '>=12'}
255 | cpu: [mips64el]
256 | os: [linux]
257 | requiresBuild: true
258 | dev: true
259 | optional: true
260 |
261 | /@esbuild/linux-ppc64@0.17.17:
262 | resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==}
263 | engines: {node: '>=12'}
264 | cpu: [ppc64]
265 | os: [linux]
266 | requiresBuild: true
267 | dev: true
268 | optional: true
269 |
270 | /@esbuild/linux-riscv64@0.17.17:
271 | resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==}
272 | engines: {node: '>=12'}
273 | cpu: [riscv64]
274 | os: [linux]
275 | requiresBuild: true
276 | dev: true
277 | optional: true
278 |
279 | /@esbuild/linux-s390x@0.17.17:
280 | resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==}
281 | engines: {node: '>=12'}
282 | cpu: [s390x]
283 | os: [linux]
284 | requiresBuild: true
285 | dev: true
286 | optional: true
287 |
288 | /@esbuild/linux-x64@0.17.17:
289 | resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==}
290 | engines: {node: '>=12'}
291 | cpu: [x64]
292 | os: [linux]
293 | requiresBuild: true
294 | dev: true
295 | optional: true
296 |
297 | /@esbuild/netbsd-x64@0.17.17:
298 | resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==}
299 | engines: {node: '>=12'}
300 | cpu: [x64]
301 | os: [netbsd]
302 | requiresBuild: true
303 | dev: true
304 | optional: true
305 |
306 | /@esbuild/openbsd-x64@0.17.17:
307 | resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==}
308 | engines: {node: '>=12'}
309 | cpu: [x64]
310 | os: [openbsd]
311 | requiresBuild: true
312 | dev: true
313 | optional: true
314 |
315 | /@esbuild/sunos-x64@0.17.17:
316 | resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==}
317 | engines: {node: '>=12'}
318 | cpu: [x64]
319 | os: [sunos]
320 | requiresBuild: true
321 | dev: true
322 | optional: true
323 |
324 | /@esbuild/win32-arm64@0.17.17:
325 | resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==}
326 | engines: {node: '>=12'}
327 | cpu: [arm64]
328 | os: [win32]
329 | requiresBuild: true
330 | dev: true
331 | optional: true
332 |
333 | /@esbuild/win32-ia32@0.17.17:
334 | resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==}
335 | engines: {node: '>=12'}
336 | cpu: [ia32]
337 | os: [win32]
338 | requiresBuild: true
339 | dev: true
340 | optional: true
341 |
342 | /@esbuild/win32-x64@0.17.17:
343 | resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==}
344 | engines: {node: '>=12'}
345 | cpu: [x64]
346 | os: [win32]
347 | requiresBuild: true
348 | dev: true
349 | optional: true
350 |
351 | /@juggle/resize-observer@3.4.0:
352 | resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
353 | dev: true
354 |
355 | /@nodelib/fs.scandir@2.1.5:
356 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
357 | engines: {node: '>= 8'}
358 | dependencies:
359 | '@nodelib/fs.stat': 2.0.5
360 | run-parallel: 1.2.0
361 | dev: true
362 |
363 | /@nodelib/fs.stat@2.0.5:
364 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
365 | engines: {node: '>= 8'}
366 | dev: true
367 |
368 | /@nodelib/fs.walk@1.2.8:
369 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
370 | engines: {node: '>= 8'}
371 | dependencies:
372 | '@nodelib/fs.scandir': 2.1.5
373 | fastq: 1.15.0
374 | dev: true
375 |
376 | /@rollup/pluginutils@4.2.1:
377 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
378 | engines: {node: '>= 8.0.0'}
379 | dependencies:
380 | estree-walker: 2.0.2
381 | picomatch: 2.3.1
382 | dev: true
383 |
384 | /@trysound/sax@0.2.0:
385 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
386 | engines: {node: '>=10.13.0'}
387 | dev: true
388 |
389 | /@types/lodash-es@4.17.7:
390 | resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==}
391 | dependencies:
392 | '@types/lodash': 4.14.194
393 | dev: true
394 |
395 | /@types/lodash@4.14.194:
396 | resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==}
397 | dev: true
398 |
399 | /@types/node@18.7.16:
400 | resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==}
401 | dev: true
402 |
403 | /@types/web-bluetooth@0.0.15:
404 | resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
405 | dev: false
406 |
407 | /@vitejs/plugin-vue@3.1.0(vite@3.1.0)(vue@3.2.37):
408 | resolution: {integrity: sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==}
409 | engines: {node: ^14.18.0 || >=16.0.0}
410 | peerDependencies:
411 | vite: ^3.0.0
412 | vue: ^3.2.25
413 | dependencies:
414 | vite: 3.1.0(sass@1.54.9)
415 | vue: 3.2.37
416 | dev: true
417 |
418 | /@volar/code-gen@0.40.4:
419 | resolution: {integrity: sha512-APTt9DWgMejaSCxaoqqhSODALFOgkMWJ72PbB7NAb7eiYhfB4//RkExLfSJgZEXijJmWIpPsKGENoCDlr0cLZA==}
420 | dependencies:
421 | '@volar/source-map': 0.40.4
422 | dev: true
423 |
424 | /@volar/source-map@0.40.4:
425 | resolution: {integrity: sha512-urODM9J7SH8Xcj5DU6SxvL0TQV8H/HsMZ+Y9fSNQqlYJw2vRzSTYQP/wJuY3xAkE8oWBh4EubJ5pyx8ghARuBg==}
426 | dependencies:
427 | '@vue/reactivity': 3.2.37
428 | dev: true
429 |
430 | /@volar/typescript-faster@0.40.4:
431 | resolution: {integrity: sha512-xmuaHNRC0rgvJ5yMDRTjpmqNts4XSU2rOUDt8+slYz2InAK8gzn1qdD2rpzc51oip0RiqJ8XXQKpjDhOwodhog==}
432 | dependencies:
433 | semver: 7.5.0
434 | dev: true
435 |
436 | /@volar/vue-language-core@0.40.4:
437 | resolution: {integrity: sha512-NCWTmUruEOeOOcgjsUbrSN4mmBLFeWdFIA3lzTnrlGQ+93WryW8M6wyaSLCTsL9hjRmSHOJjvp67w8AAsskEJw==}
438 | dependencies:
439 | '@volar/code-gen': 0.40.4
440 | '@volar/source-map': 0.40.4
441 | '@vue/compiler-core': 3.2.47
442 | '@vue/compiler-dom': 3.2.47
443 | '@vue/compiler-sfc': 3.2.47
444 | '@vue/reactivity': 3.2.47
445 | '@vue/shared': 3.2.47
446 | dev: true
447 |
448 | /@volar/vue-typescript@0.40.4:
449 | resolution: {integrity: sha512-2ZnmEtRHDv5rqzqM7qr1pAZmaBHkMW6mfpEzW0uchRP3QHhZ3XhNv45B+uVgmwCCJH8Ke7H0nL6yVcpwC/TiDw==}
450 | dependencies:
451 | '@volar/code-gen': 0.40.4
452 | '@volar/typescript-faster': 0.40.4
453 | '@volar/vue-language-core': 0.40.4
454 | dev: true
455 |
456 | /@vue/compiler-core@3.2.37:
457 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
458 | dependencies:
459 | '@babel/parser': 7.21.4
460 | '@vue/shared': 3.2.37
461 | estree-walker: 2.0.2
462 | source-map: 0.6.1
463 |
464 | /@vue/compiler-core@3.2.47:
465 | resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
466 | dependencies:
467 | '@babel/parser': 7.21.4
468 | '@vue/shared': 3.2.47
469 | estree-walker: 2.0.2
470 | source-map: 0.6.1
471 | dev: true
472 |
473 | /@vue/compiler-dom@3.2.37:
474 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
475 | dependencies:
476 | '@vue/compiler-core': 3.2.37
477 | '@vue/shared': 3.2.37
478 |
479 | /@vue/compiler-dom@3.2.47:
480 | resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
481 | dependencies:
482 | '@vue/compiler-core': 3.2.47
483 | '@vue/shared': 3.2.47
484 | dev: true
485 |
486 | /@vue/compiler-sfc@3.2.37:
487 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
488 | dependencies:
489 | '@babel/parser': 7.21.4
490 | '@vue/compiler-core': 3.2.37
491 | '@vue/compiler-dom': 3.2.37
492 | '@vue/compiler-ssr': 3.2.37
493 | '@vue/reactivity-transform': 3.2.37
494 | '@vue/shared': 3.2.37
495 | estree-walker: 2.0.2
496 | magic-string: 0.25.9
497 | postcss: 8.4.22
498 | source-map: 0.6.1
499 |
500 | /@vue/compiler-sfc@3.2.47:
501 | resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
502 | dependencies:
503 | '@babel/parser': 7.21.4
504 | '@vue/compiler-core': 3.2.47
505 | '@vue/compiler-dom': 3.2.47
506 | '@vue/compiler-ssr': 3.2.47
507 | '@vue/reactivity-transform': 3.2.47
508 | '@vue/shared': 3.2.47
509 | estree-walker: 2.0.2
510 | magic-string: 0.25.9
511 | postcss: 8.4.22
512 | source-map: 0.6.1
513 | dev: true
514 |
515 | /@vue/compiler-ssr@3.2.37:
516 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
517 | dependencies:
518 | '@vue/compiler-dom': 3.2.37
519 | '@vue/shared': 3.2.37
520 |
521 | /@vue/compiler-ssr@3.2.47:
522 | resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
523 | dependencies:
524 | '@vue/compiler-dom': 3.2.47
525 | '@vue/shared': 3.2.47
526 | dev: true
527 |
528 | /@vue/reactivity-transform@3.2.37:
529 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
530 | dependencies:
531 | '@babel/parser': 7.21.4
532 | '@vue/compiler-core': 3.2.37
533 | '@vue/shared': 3.2.37
534 | estree-walker: 2.0.2
535 | magic-string: 0.25.9
536 |
537 | /@vue/reactivity-transform@3.2.47:
538 | resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
539 | dependencies:
540 | '@babel/parser': 7.21.4
541 | '@vue/compiler-core': 3.2.47
542 | '@vue/shared': 3.2.47
543 | estree-walker: 2.0.2
544 | magic-string: 0.25.9
545 | dev: true
546 |
547 | /@vue/reactivity@3.2.37:
548 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
549 | dependencies:
550 | '@vue/shared': 3.2.37
551 |
552 | /@vue/reactivity@3.2.47:
553 | resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
554 | dependencies:
555 | '@vue/shared': 3.2.47
556 | dev: true
557 |
558 | /@vue/runtime-core@3.2.37:
559 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
560 | dependencies:
561 | '@vue/reactivity': 3.2.37
562 | '@vue/shared': 3.2.37
563 |
564 | /@vue/runtime-dom@3.2.37:
565 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
566 | dependencies:
567 | '@vue/runtime-core': 3.2.37
568 | '@vue/shared': 3.2.37
569 | csstype: 2.6.21
570 |
571 | /@vue/server-renderer@3.2.37(vue@3.2.37):
572 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
573 | peerDependencies:
574 | vue: 3.2.37
575 | dependencies:
576 | '@vue/compiler-ssr': 3.2.37
577 | '@vue/shared': 3.2.37
578 | vue: 3.2.37
579 |
580 | /@vue/shared@3.2.37:
581 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
582 |
583 | /@vue/shared@3.2.47:
584 | resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
585 | dev: true
586 |
587 | /@vueuse/components@9.2.0(vue@3.2.37):
588 | resolution: {integrity: sha512-NgQRhq5v1LRZsQq21rJlY8VjEqYg5xWiGErBftY+HaBhHsLAn4PxJxtvbe9uZNdOQlRdWM3UPUF6NO/sWfnyWw==}
589 | dependencies:
590 | '@vueuse/core': 9.2.0(vue@3.2.37)
591 | '@vueuse/shared': 9.2.0(vue@3.2.37)
592 | vue-demi: 0.14.0(vue@3.2.37)
593 | transitivePeerDependencies:
594 | - '@vue/composition-api'
595 | - vue
596 | dev: false
597 |
598 | /@vueuse/core@9.2.0(vue@3.2.37):
599 | resolution: {integrity: sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==}
600 | dependencies:
601 | '@types/web-bluetooth': 0.0.15
602 | '@vueuse/metadata': 9.2.0
603 | '@vueuse/shared': 9.2.0(vue@3.2.37)
604 | vue-demi: 0.14.0(vue@3.2.37)
605 | transitivePeerDependencies:
606 | - '@vue/composition-api'
607 | - vue
608 | dev: false
609 |
610 | /@vueuse/metadata@9.2.0:
611 | resolution: {integrity: sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==}
612 | dev: false
613 |
614 | /@vueuse/shared@9.2.0(vue@3.2.37):
615 | resolution: {integrity: sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==}
616 | dependencies:
617 | vue-demi: 0.14.0(vue@3.2.37)
618 | transitivePeerDependencies:
619 | - '@vue/composition-api'
620 | - vue
621 | dev: false
622 |
623 | /acorn@8.8.2:
624 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
625 | engines: {node: '>=0.4.0'}
626 | hasBin: true
627 | dev: true
628 |
629 | /anymatch@3.1.3:
630 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
631 | engines: {node: '>= 8'}
632 | dependencies:
633 | normalize-path: 3.0.0
634 | picomatch: 2.3.1
635 | dev: true
636 |
637 | /async-validator@4.2.5:
638 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
639 | dev: true
640 |
641 | /balanced-match@1.0.2:
642 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
643 | dev: true
644 |
645 | /binary-extensions@2.2.0:
646 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
647 | engines: {node: '>=8'}
648 | dev: true
649 |
650 | /binaryen@111.0.0:
651 | resolution: {integrity: sha512-PEXOSHFO85aj1aP4t+KGzvxQ00qXbjCysWlsDjlGkP1e9owNiYdpEkLej21Ax8LDD7xJ01rEmJDqZ/JPoW2GXw==}
652 | hasBin: true
653 | dev: true
654 |
655 | /boolbase@1.0.0:
656 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
657 | dev: true
658 |
659 | /brace-expansion@2.0.1:
660 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
661 | dependencies:
662 | balanced-match: 1.0.2
663 | dev: true
664 |
665 | /braces@3.0.2:
666 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
667 | engines: {node: '>=8'}
668 | dependencies:
669 | fill-range: 7.0.1
670 | dev: true
671 |
672 | /buffer-from@1.1.2:
673 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
674 | dev: true
675 |
676 | /chokidar@3.5.3:
677 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
678 | engines: {node: '>= 8.10.0'}
679 | dependencies:
680 | anymatch: 3.1.3
681 | braces: 3.0.2
682 | glob-parent: 5.1.2
683 | is-binary-path: 2.1.0
684 | is-glob: 4.0.3
685 | normalize-path: 3.0.0
686 | readdirp: 3.6.0
687 | optionalDependencies:
688 | fsevents: 2.3.2
689 | dev: true
690 |
691 | /commander@7.2.0:
692 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
693 | engines: {node: '>= 10'}
694 | dev: true
695 |
696 | /css-render@0.15.12:
697 | resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==}
698 | dependencies:
699 | '@emotion/hash': 0.8.0
700 | csstype: 3.0.11
701 | dev: true
702 |
703 | /css-select@4.3.0:
704 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
705 | dependencies:
706 | boolbase: 1.0.0
707 | css-what: 6.1.0
708 | domhandler: 4.3.1
709 | domutils: 2.8.0
710 | nth-check: 2.1.1
711 | dev: true
712 |
713 | /css-tree@1.1.3:
714 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
715 | engines: {node: '>=8.0.0'}
716 | dependencies:
717 | mdn-data: 2.0.14
718 | source-map: 0.6.1
719 | dev: true
720 |
721 | /css-what@6.1.0:
722 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
723 | engines: {node: '>= 6'}
724 | dev: true
725 |
726 | /csso@4.2.0:
727 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
728 | engines: {node: '>=8.0.0'}
729 | dependencies:
730 | css-tree: 1.1.3
731 | dev: true
732 |
733 | /csstype@2.6.21:
734 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
735 |
736 | /csstype@3.0.11:
737 | resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
738 | dev: true
739 |
740 | /date-fns-tz@1.3.8(date-fns@2.29.3):
741 | resolution: {integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==}
742 | peerDependencies:
743 | date-fns: '>=2.0.0'
744 | dependencies:
745 | date-fns: 2.29.3
746 | dev: true
747 |
748 | /date-fns@2.29.3:
749 | resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==}
750 | engines: {node: '>=0.11'}
751 | dev: true
752 |
753 | /debug@4.3.4:
754 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
755 | engines: {node: '>=6.0'}
756 | peerDependencies:
757 | supports-color: '*'
758 | peerDependenciesMeta:
759 | supports-color:
760 | optional: true
761 | dependencies:
762 | ms: 2.1.2
763 | dev: true
764 |
765 | /dom-serializer@1.4.1:
766 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
767 | dependencies:
768 | domelementtype: 2.3.0
769 | domhandler: 4.3.1
770 | entities: 2.2.0
771 | dev: true
772 |
773 | /domelementtype@2.3.0:
774 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
775 | dev: true
776 |
777 | /domhandler@4.3.1:
778 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
779 | engines: {node: '>= 4'}
780 | dependencies:
781 | domelementtype: 2.3.0
782 | dev: true
783 |
784 | /domutils@2.8.0:
785 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
786 | dependencies:
787 | dom-serializer: 1.4.1
788 | domelementtype: 2.3.0
789 | domhandler: 4.3.1
790 | dev: true
791 |
792 | /entities@2.2.0:
793 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
794 | dev: true
795 |
796 | /esbuild-android-64@0.15.18:
797 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
798 | engines: {node: '>=12'}
799 | cpu: [x64]
800 | os: [android]
801 | requiresBuild: true
802 | dev: true
803 | optional: true
804 |
805 | /esbuild-android-arm64@0.15.18:
806 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
807 | engines: {node: '>=12'}
808 | cpu: [arm64]
809 | os: [android]
810 | requiresBuild: true
811 | dev: true
812 | optional: true
813 |
814 | /esbuild-darwin-64@0.15.18:
815 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
816 | engines: {node: '>=12'}
817 | cpu: [x64]
818 | os: [darwin]
819 | requiresBuild: true
820 | dev: true
821 | optional: true
822 |
823 | /esbuild-darwin-arm64@0.15.18:
824 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
825 | engines: {node: '>=12'}
826 | cpu: [arm64]
827 | os: [darwin]
828 | requiresBuild: true
829 | dev: true
830 | optional: true
831 |
832 | /esbuild-freebsd-64@0.15.18:
833 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
834 | engines: {node: '>=12'}
835 | cpu: [x64]
836 | os: [freebsd]
837 | requiresBuild: true
838 | dev: true
839 | optional: true
840 |
841 | /esbuild-freebsd-arm64@0.15.18:
842 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
843 | engines: {node: '>=12'}
844 | cpu: [arm64]
845 | os: [freebsd]
846 | requiresBuild: true
847 | dev: true
848 | optional: true
849 |
850 | /esbuild-linux-32@0.15.18:
851 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
852 | engines: {node: '>=12'}
853 | cpu: [ia32]
854 | os: [linux]
855 | requiresBuild: true
856 | dev: true
857 | optional: true
858 |
859 | /esbuild-linux-64@0.15.18:
860 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
861 | engines: {node: '>=12'}
862 | cpu: [x64]
863 | os: [linux]
864 | requiresBuild: true
865 | dev: true
866 | optional: true
867 |
868 | /esbuild-linux-arm64@0.15.18:
869 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
870 | engines: {node: '>=12'}
871 | cpu: [arm64]
872 | os: [linux]
873 | requiresBuild: true
874 | dev: true
875 | optional: true
876 |
877 | /esbuild-linux-arm@0.15.18:
878 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
879 | engines: {node: '>=12'}
880 | cpu: [arm]
881 | os: [linux]
882 | requiresBuild: true
883 | dev: true
884 | optional: true
885 |
886 | /esbuild-linux-mips64le@0.15.18:
887 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
888 | engines: {node: '>=12'}
889 | cpu: [mips64el]
890 | os: [linux]
891 | requiresBuild: true
892 | dev: true
893 | optional: true
894 |
895 | /esbuild-linux-ppc64le@0.15.18:
896 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
897 | engines: {node: '>=12'}
898 | cpu: [ppc64]
899 | os: [linux]
900 | requiresBuild: true
901 | dev: true
902 | optional: true
903 |
904 | /esbuild-linux-riscv64@0.15.18:
905 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
906 | engines: {node: '>=12'}
907 | cpu: [riscv64]
908 | os: [linux]
909 | requiresBuild: true
910 | dev: true
911 | optional: true
912 |
913 | /esbuild-linux-s390x@0.15.18:
914 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
915 | engines: {node: '>=12'}
916 | cpu: [s390x]
917 | os: [linux]
918 | requiresBuild: true
919 | dev: true
920 | optional: true
921 |
922 | /esbuild-netbsd-64@0.15.18:
923 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
924 | engines: {node: '>=12'}
925 | cpu: [x64]
926 | os: [netbsd]
927 | requiresBuild: true
928 | dev: true
929 | optional: true
930 |
931 | /esbuild-openbsd-64@0.15.18:
932 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
933 | engines: {node: '>=12'}
934 | cpu: [x64]
935 | os: [openbsd]
936 | requiresBuild: true
937 | dev: true
938 | optional: true
939 |
940 | /esbuild-sunos-64@0.15.18:
941 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
942 | engines: {node: '>=12'}
943 | cpu: [x64]
944 | os: [sunos]
945 | requiresBuild: true
946 | dev: true
947 | optional: true
948 |
949 | /esbuild-windows-32@0.15.18:
950 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
951 | engines: {node: '>=12'}
952 | cpu: [ia32]
953 | os: [win32]
954 | requiresBuild: true
955 | dev: true
956 | optional: true
957 |
958 | /esbuild-windows-64@0.15.18:
959 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
960 | engines: {node: '>=12'}
961 | cpu: [x64]
962 | os: [win32]
963 | requiresBuild: true
964 | dev: true
965 | optional: true
966 |
967 | /esbuild-windows-arm64@0.15.18:
968 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
969 | engines: {node: '>=12'}
970 | cpu: [arm64]
971 | os: [win32]
972 | requiresBuild: true
973 | dev: true
974 | optional: true
975 |
976 | /esbuild@0.15.18:
977 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
978 | engines: {node: '>=12'}
979 | hasBin: true
980 | requiresBuild: true
981 | optionalDependencies:
982 | '@esbuild/android-arm': 0.15.18
983 | '@esbuild/linux-loong64': 0.15.18
984 | esbuild-android-64: 0.15.18
985 | esbuild-android-arm64: 0.15.18
986 | esbuild-darwin-64: 0.15.18
987 | esbuild-darwin-arm64: 0.15.18
988 | esbuild-freebsd-64: 0.15.18
989 | esbuild-freebsd-arm64: 0.15.18
990 | esbuild-linux-32: 0.15.18
991 | esbuild-linux-64: 0.15.18
992 | esbuild-linux-arm: 0.15.18
993 | esbuild-linux-arm64: 0.15.18
994 | esbuild-linux-mips64le: 0.15.18
995 | esbuild-linux-ppc64le: 0.15.18
996 | esbuild-linux-riscv64: 0.15.18
997 | esbuild-linux-s390x: 0.15.18
998 | esbuild-netbsd-64: 0.15.18
999 | esbuild-openbsd-64: 0.15.18
1000 | esbuild-sunos-64: 0.15.18
1001 | esbuild-windows-32: 0.15.18
1002 | esbuild-windows-64: 0.15.18
1003 | esbuild-windows-arm64: 0.15.18
1004 | dev: true
1005 |
1006 | /esbuild@0.17.17:
1007 | resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==}
1008 | engines: {node: '>=12'}
1009 | hasBin: true
1010 | requiresBuild: true
1011 | optionalDependencies:
1012 | '@esbuild/android-arm': 0.17.17
1013 | '@esbuild/android-arm64': 0.17.17
1014 | '@esbuild/android-x64': 0.17.17
1015 | '@esbuild/darwin-arm64': 0.17.17
1016 | '@esbuild/darwin-x64': 0.17.17
1017 | '@esbuild/freebsd-arm64': 0.17.17
1018 | '@esbuild/freebsd-x64': 0.17.17
1019 | '@esbuild/linux-arm': 0.17.17
1020 | '@esbuild/linux-arm64': 0.17.17
1021 | '@esbuild/linux-ia32': 0.17.17
1022 | '@esbuild/linux-loong64': 0.17.17
1023 | '@esbuild/linux-mips64el': 0.17.17
1024 | '@esbuild/linux-ppc64': 0.17.17
1025 | '@esbuild/linux-riscv64': 0.17.17
1026 | '@esbuild/linux-s390x': 0.17.17
1027 | '@esbuild/linux-x64': 0.17.17
1028 | '@esbuild/netbsd-x64': 0.17.17
1029 | '@esbuild/openbsd-x64': 0.17.17
1030 | '@esbuild/sunos-x64': 0.17.17
1031 | '@esbuild/win32-arm64': 0.17.17
1032 | '@esbuild/win32-ia32': 0.17.17
1033 | '@esbuild/win32-x64': 0.17.17
1034 | dev: true
1035 |
1036 | /escape-string-regexp@5.0.0:
1037 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1038 | engines: {node: '>=12'}
1039 | dev: true
1040 |
1041 | /esno@0.16.3:
1042 | resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==}
1043 | hasBin: true
1044 | dependencies:
1045 | tsx: 3.12.6
1046 | dev: true
1047 |
1048 | /estree-walker@2.0.2:
1049 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1050 |
1051 | /evtd@0.2.4:
1052 | resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==}
1053 | dev: true
1054 |
1055 | /fast-glob@3.2.12:
1056 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1057 | engines: {node: '>=8.6.0'}
1058 | dependencies:
1059 | '@nodelib/fs.stat': 2.0.5
1060 | '@nodelib/fs.walk': 1.2.8
1061 | glob-parent: 5.1.2
1062 | merge2: 1.4.1
1063 | micromatch: 4.0.5
1064 | dev: true
1065 |
1066 | /fastq@1.15.0:
1067 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1068 | dependencies:
1069 | reusify: 1.0.4
1070 | dev: true
1071 |
1072 | /fill-range@7.0.1:
1073 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1074 | engines: {node: '>=8'}
1075 | dependencies:
1076 | to-regex-range: 5.0.1
1077 | dev: true
1078 |
1079 | /fsevents@2.3.2:
1080 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1081 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1082 | os: [darwin]
1083 | requiresBuild: true
1084 | dev: true
1085 | optional: true
1086 |
1087 | /function-bind@1.1.1:
1088 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1089 | dev: true
1090 |
1091 | /get-tsconfig@4.5.0:
1092 | resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==}
1093 | dev: true
1094 |
1095 | /glob-parent@5.1.2:
1096 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1097 | engines: {node: '>= 6'}
1098 | dependencies:
1099 | is-glob: 4.0.3
1100 | dev: true
1101 |
1102 | /has@1.0.3:
1103 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1104 | engines: {node: '>= 0.4.0'}
1105 | dependencies:
1106 | function-bind: 1.1.1
1107 | dev: true
1108 |
1109 | /highlight.js@11.7.0:
1110 | resolution: {integrity: sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==}
1111 | engines: {node: '>=12.0.0'}
1112 | dev: true
1113 |
1114 | /immutable@4.3.0:
1115 | resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==}
1116 | dev: true
1117 |
1118 | /is-binary-path@2.1.0:
1119 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1120 | engines: {node: '>=8'}
1121 | dependencies:
1122 | binary-extensions: 2.2.0
1123 | dev: true
1124 |
1125 | /is-core-module@2.12.0:
1126 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==}
1127 | dependencies:
1128 | has: 1.0.3
1129 | dev: true
1130 |
1131 | /is-extglob@2.1.1:
1132 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1133 | engines: {node: '>=0.10.0'}
1134 | dev: true
1135 |
1136 | /is-glob@4.0.3:
1137 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1138 | engines: {node: '>=0.10.0'}
1139 | dependencies:
1140 | is-extglob: 2.1.1
1141 | dev: true
1142 |
1143 | /is-number@7.0.0:
1144 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1145 | engines: {node: '>=0.12.0'}
1146 | dev: true
1147 |
1148 | /jsonc-parser@3.2.0:
1149 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
1150 | dev: true
1151 |
1152 | /local-pkg@0.4.3:
1153 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
1154 | engines: {node: '>=14'}
1155 | dev: true
1156 |
1157 | /lodash-es@4.17.21:
1158 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
1159 | dev: true
1160 |
1161 | /lodash@4.17.21:
1162 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1163 | dev: true
1164 |
1165 | /lru-cache@6.0.0:
1166 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1167 | engines: {node: '>=10'}
1168 | dependencies:
1169 | yallist: 4.0.0
1170 | dev: true
1171 |
1172 | /magic-string@0.25.9:
1173 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
1174 | dependencies:
1175 | sourcemap-codec: 1.4.8
1176 |
1177 | /magic-string@0.26.7:
1178 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
1179 | engines: {node: '>=12'}
1180 | dependencies:
1181 | sourcemap-codec: 1.4.8
1182 | dev: true
1183 |
1184 | /mdn-data@2.0.14:
1185 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
1186 | dev: true
1187 |
1188 | /merge2@1.4.1:
1189 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1190 | engines: {node: '>= 8'}
1191 | dev: true
1192 |
1193 | /micromatch@4.0.5:
1194 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1195 | engines: {node: '>=8.6'}
1196 | dependencies:
1197 | braces: 3.0.2
1198 | picomatch: 2.3.1
1199 | dev: true
1200 |
1201 | /minimatch@5.1.6:
1202 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
1203 | engines: {node: '>=10'}
1204 | dependencies:
1205 | brace-expansion: 2.0.1
1206 | dev: true
1207 |
1208 | /mlly@0.5.17:
1209 | resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==}
1210 | dependencies:
1211 | acorn: 8.8.2
1212 | pathe: 1.1.0
1213 | pkg-types: 1.0.2
1214 | ufo: 1.1.1
1215 | dev: true
1216 |
1217 | /mlly@1.2.0:
1218 | resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==}
1219 | dependencies:
1220 | acorn: 8.8.2
1221 | pathe: 1.1.0
1222 | pkg-types: 1.0.2
1223 | ufo: 1.1.1
1224 | dev: true
1225 |
1226 | /ms@2.1.2:
1227 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1228 | dev: true
1229 |
1230 | /naive-ui@2.33.2(vue@3.2.37):
1231 | resolution: {integrity: sha512-XT18dOE7dK15xedO9MlrPsD3AXBKncr0lqlsxakHl/DckqOaAbdA7yxDl/qtVTBC+1Rlf29cFP/th7P7DSy5zg==}
1232 | peerDependencies:
1233 | vue: ^3.0.0
1234 | dependencies:
1235 | '@css-render/plugin-bem': 0.15.12(css-render@0.15.12)
1236 | '@css-render/vue3-ssr': 0.15.12(vue@3.2.37)
1237 | '@types/lodash': 4.14.194
1238 | '@types/lodash-es': 4.17.7
1239 | async-validator: 4.2.5
1240 | css-render: 0.15.12
1241 | date-fns: 2.29.3
1242 | date-fns-tz: 1.3.8(date-fns@2.29.3)
1243 | evtd: 0.2.4
1244 | highlight.js: 11.7.0
1245 | lodash: 4.17.21
1246 | lodash-es: 4.17.21
1247 | seemly: 0.3.6
1248 | treemate: 0.3.11
1249 | vdirs: 0.1.8(vue@3.2.37)
1250 | vooks: 0.2.12(vue@3.2.37)
1251 | vue: 3.2.37
1252 | vueuc: 0.4.51(vue@3.2.37)
1253 | dev: true
1254 |
1255 | /nanoid@3.3.6:
1256 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1257 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1258 | hasBin: true
1259 |
1260 | /normalize-path@3.0.0:
1261 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1262 | engines: {node: '>=0.10.0'}
1263 | dev: true
1264 |
1265 | /nth-check@2.1.1:
1266 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1267 | dependencies:
1268 | boolbase: 1.0.0
1269 | dev: true
1270 |
1271 | /path-parse@1.0.7:
1272 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1273 | dev: true
1274 |
1275 | /pathe@0.3.9:
1276 | resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==}
1277 | dev: true
1278 |
1279 | /pathe@1.1.0:
1280 | resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==}
1281 | dev: true
1282 |
1283 | /picocolors@1.0.0:
1284 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1285 |
1286 | /picomatch@2.3.1:
1287 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1288 | engines: {node: '>=8.6'}
1289 | dev: true
1290 |
1291 | /pkg-types@1.0.2:
1292 | resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==}
1293 | dependencies:
1294 | jsonc-parser: 3.2.0
1295 | mlly: 1.2.0
1296 | pathe: 1.1.0
1297 | dev: true
1298 |
1299 | /postcss@8.4.22:
1300 | resolution: {integrity: sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==}
1301 | engines: {node: ^10 || ^12 || >=14}
1302 | dependencies:
1303 | nanoid: 3.3.6
1304 | picocolors: 1.0.0
1305 | source-map-js: 1.0.2
1306 |
1307 | /qrcode.vue@3.3.3(vue@3.2.37):
1308 | resolution: {integrity: sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw==}
1309 | peerDependencies:
1310 | vue: ^3.0.0
1311 | dependencies:
1312 | vue: 3.2.37
1313 | dev: false
1314 |
1315 | /queue-microtask@1.2.3:
1316 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1317 | dev: true
1318 |
1319 | /readdirp@3.6.0:
1320 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1321 | engines: {node: '>=8.10.0'}
1322 | dependencies:
1323 | picomatch: 2.3.1
1324 | dev: true
1325 |
1326 | /resolve@1.22.2:
1327 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
1328 | hasBin: true
1329 | dependencies:
1330 | is-core-module: 2.12.0
1331 | path-parse: 1.0.7
1332 | supports-preserve-symlinks-flag: 1.0.0
1333 | dev: true
1334 |
1335 | /reusify@1.0.4:
1336 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1337 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1338 | dev: true
1339 |
1340 | /rollup@2.78.1:
1341 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
1342 | engines: {node: '>=10.0.0'}
1343 | hasBin: true
1344 | optionalDependencies:
1345 | fsevents: 2.3.2
1346 | dev: true
1347 |
1348 | /run-parallel@1.2.0:
1349 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1350 | dependencies:
1351 | queue-microtask: 1.2.3
1352 | dev: true
1353 |
1354 | /sass@1.54.9:
1355 | resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==}
1356 | engines: {node: '>=12.0.0'}
1357 | hasBin: true
1358 | dependencies:
1359 | chokidar: 3.5.3
1360 | immutable: 4.3.0
1361 | source-map-js: 1.0.2
1362 | dev: true
1363 |
1364 | /scule@0.3.2:
1365 | resolution: {integrity: sha512-zIvPdjOH8fv8CgrPT5eqtxHQXmPNnV/vHJYffZhE43KZkvULvpCTvOt1HPlFaCZx287INL9qaqrZg34e8NgI4g==}
1366 | dev: true
1367 |
1368 | /seemly@0.3.6:
1369 | resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==}
1370 | dev: true
1371 |
1372 | /semver@7.5.0:
1373 | resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==}
1374 | engines: {node: '>=10'}
1375 | hasBin: true
1376 | dependencies:
1377 | lru-cache: 6.0.0
1378 | dev: true
1379 |
1380 | /source-map-js@1.0.2:
1381 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1382 | engines: {node: '>=0.10.0'}
1383 |
1384 | /source-map-support@0.5.21:
1385 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1386 | dependencies:
1387 | buffer-from: 1.1.2
1388 | source-map: 0.6.1
1389 | dev: true
1390 |
1391 | /source-map@0.6.1:
1392 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1393 | engines: {node: '>=0.10.0'}
1394 |
1395 | /sourcemap-codec@1.4.8:
1396 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
1397 | deprecated: Please use @jridgewell/sourcemap-codec instead
1398 |
1399 | /stable@0.1.8:
1400 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
1401 | deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
1402 | dev: true
1403 |
1404 | /strip-literal@0.4.2:
1405 | resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==}
1406 | dependencies:
1407 | acorn: 8.8.2
1408 | dev: true
1409 |
1410 | /supports-preserve-symlinks-flag@1.0.0:
1411 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1412 | engines: {node: '>= 0.4'}
1413 | dev: true
1414 |
1415 | /svgo@2.8.0:
1416 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
1417 | engines: {node: '>=10.13.0'}
1418 | hasBin: true
1419 | dependencies:
1420 | '@trysound/sax': 0.2.0
1421 | commander: 7.2.0
1422 | css-select: 4.3.0
1423 | css-tree: 1.1.3
1424 | csso: 4.2.0
1425 | picocolors: 1.0.0
1426 | stable: 0.1.8
1427 | dev: true
1428 |
1429 | /to-fast-properties@2.0.0:
1430 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1431 | engines: {node: '>=4'}
1432 |
1433 | /to-regex-range@5.0.1:
1434 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1435 | engines: {node: '>=8.0'}
1436 | dependencies:
1437 | is-number: 7.0.0
1438 | dev: true
1439 |
1440 | /treemate@0.3.11:
1441 | resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==}
1442 | dev: true
1443 |
1444 | /tsx@3.12.6:
1445 | resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==}
1446 | hasBin: true
1447 | dependencies:
1448 | '@esbuild-kit/cjs-loader': 2.4.2
1449 | '@esbuild-kit/core-utils': 3.1.0
1450 | '@esbuild-kit/esm-loader': 2.5.5
1451 | optionalDependencies:
1452 | fsevents: 2.3.2
1453 | dev: true
1454 |
1455 | /typescript@4.6.4:
1456 | resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
1457 | engines: {node: '>=4.2.0'}
1458 | hasBin: true
1459 | dev: true
1460 |
1461 | /ufo@1.1.1:
1462 | resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==}
1463 | dev: true
1464 |
1465 | /unimport@0.6.8:
1466 | resolution: {integrity: sha512-MWkaPYvN0j+6jfEuiVFhfmy+aOtgAP11CozSbu/I3Cx+8ybjXIueB7GVlKofHabtjzSlPeAvWKJSFjHWsG2JaA==}
1467 | dependencies:
1468 | '@rollup/pluginutils': 4.2.1
1469 | escape-string-regexp: 5.0.0
1470 | fast-glob: 3.2.12
1471 | local-pkg: 0.4.3
1472 | magic-string: 0.26.7
1473 | mlly: 0.5.17
1474 | pathe: 0.3.9
1475 | scule: 0.3.2
1476 | strip-literal: 0.4.2
1477 | unplugin: 0.9.6
1478 | dev: true
1479 |
1480 | /unplugin-auto-import@0.11.2:
1481 | resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==}
1482 | engines: {node: '>=14'}
1483 | peerDependencies:
1484 | '@vueuse/core': '*'
1485 | peerDependenciesMeta:
1486 | '@vueuse/core':
1487 | optional: true
1488 | dependencies:
1489 | '@antfu/utils': 0.5.2
1490 | '@rollup/pluginutils': 4.2.1
1491 | local-pkg: 0.4.3
1492 | magic-string: 0.26.7
1493 | unimport: 0.6.8
1494 | unplugin: 0.9.6
1495 | dev: true
1496 |
1497 | /unplugin-vue-components@0.22.4(vue@3.2.37):
1498 | resolution: {integrity: sha512-2rRZcM9OnJGXnYxQNfaceEYuPeVACcWySIjy8WBwIiN3onr980TmA3XE5pRJFt8zoQrUA+c46oyIq96noLqrEQ==}
1499 | engines: {node: '>=14'}
1500 | peerDependencies:
1501 | '@babel/parser': ^7.15.8
1502 | vue: 2 || 3
1503 | peerDependenciesMeta:
1504 | '@babel/parser':
1505 | optional: true
1506 | dependencies:
1507 | '@antfu/utils': 0.5.2
1508 | '@rollup/pluginutils': 4.2.1
1509 | chokidar: 3.5.3
1510 | debug: 4.3.4
1511 | fast-glob: 3.2.12
1512 | local-pkg: 0.4.3
1513 | magic-string: 0.26.7
1514 | minimatch: 5.1.6
1515 | resolve: 1.22.2
1516 | unplugin: 0.9.6
1517 | vue: 3.2.37
1518 | transitivePeerDependencies:
1519 | - supports-color
1520 | dev: true
1521 |
1522 | /unplugin@0.9.6:
1523 | resolution: {integrity: sha512-YYLtfoNiie/lxswy1GOsKXgnLJTE27la/PeCGznSItk+8METYZErO+zzV9KQ/hXhPwzIJsfJ4s0m1Rl7ZCWZ4Q==}
1524 | dependencies:
1525 | acorn: 8.8.2
1526 | chokidar: 3.5.3
1527 | webpack-sources: 3.2.3
1528 | webpack-virtual-modules: 0.4.6
1529 | dev: true
1530 |
1531 | /vdirs@0.1.8(vue@3.2.37):
1532 | resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==}
1533 | peerDependencies:
1534 | vue: ^3.0.11
1535 | dependencies:
1536 | evtd: 0.2.4
1537 | vue: 3.2.37
1538 | dev: true
1539 |
1540 | /vite-svg-loader@3.6.0:
1541 | resolution: {integrity: sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==}
1542 | dependencies:
1543 | '@vue/compiler-sfc': 3.2.47
1544 | svgo: 2.8.0
1545 | dev: true
1546 |
1547 | /vite@3.1.0(sass@1.54.9):
1548 | resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==}
1549 | engines: {node: ^14.18.0 || >=16.0.0}
1550 | hasBin: true
1551 | peerDependencies:
1552 | less: '*'
1553 | sass: '*'
1554 | stylus: '*'
1555 | terser: ^5.4.0
1556 | peerDependenciesMeta:
1557 | less:
1558 | optional: true
1559 | sass:
1560 | optional: true
1561 | stylus:
1562 | optional: true
1563 | terser:
1564 | optional: true
1565 | dependencies:
1566 | esbuild: 0.15.18
1567 | postcss: 8.4.22
1568 | resolve: 1.22.2
1569 | rollup: 2.78.1
1570 | sass: 1.54.9
1571 | optionalDependencies:
1572 | fsevents: 2.3.2
1573 | dev: true
1574 |
1575 | /vooks@0.2.12(vue@3.2.37):
1576 | resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==}
1577 | peerDependencies:
1578 | vue: ^3.0.0
1579 | dependencies:
1580 | evtd: 0.2.4
1581 | vue: 3.2.37
1582 | dev: true
1583 |
1584 | /vue-demi@0.14.0(vue@3.2.37):
1585 | resolution: {integrity: sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==}
1586 | engines: {node: '>=12'}
1587 | hasBin: true
1588 | requiresBuild: true
1589 | peerDependencies:
1590 | '@vue/composition-api': ^1.0.0-rc.1
1591 | vue: ^3.0.0-0 || ^2.6.0
1592 | peerDependenciesMeta:
1593 | '@vue/composition-api':
1594 | optional: true
1595 | dependencies:
1596 | vue: 3.2.37
1597 | dev: false
1598 |
1599 | /vue-tsc@0.40.4(typescript@4.6.4):
1600 | resolution: {integrity: sha512-UpK0GlGZHlS+G+LKl6+/f+78GY9MA38vHKBLh/6L/Cfa8NQEH4D5H/EpqcSHXZ7wRRFjzp9LWgj5vc5q1iEClA==}
1601 | hasBin: true
1602 | peerDependencies:
1603 | typescript: '*'
1604 | dependencies:
1605 | '@volar/vue-language-core': 0.40.4
1606 | '@volar/vue-typescript': 0.40.4
1607 | typescript: 4.6.4
1608 | dev: true
1609 |
1610 | /vue@3.2.37:
1611 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
1612 | dependencies:
1613 | '@vue/compiler-dom': 3.2.37
1614 | '@vue/compiler-sfc': 3.2.37
1615 | '@vue/runtime-dom': 3.2.37
1616 | '@vue/server-renderer': 3.2.37(vue@3.2.37)
1617 | '@vue/shared': 3.2.37
1618 |
1619 | /vueuc@0.4.51(vue@3.2.37):
1620 | resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==}
1621 | peerDependencies:
1622 | vue: ^3.0.11
1623 | dependencies:
1624 | '@css-render/vue3-ssr': 0.15.12(vue@3.2.37)
1625 | '@juggle/resize-observer': 3.4.0
1626 | css-render: 0.15.12
1627 | evtd: 0.2.4
1628 | seemly: 0.3.6
1629 | vdirs: 0.1.8(vue@3.2.37)
1630 | vooks: 0.2.12(vue@3.2.37)
1631 | vue: 3.2.37
1632 | dev: true
1633 |
1634 | /webpack-sources@3.2.3:
1635 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
1636 | engines: {node: '>=10.13.0'}
1637 | dev: true
1638 |
1639 | /webpack-virtual-modules@0.4.6:
1640 | resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==}
1641 | dev: true
1642 |
1643 | /yallist@4.0.0:
1644 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1645 | dev: true
1646 |
--------------------------------------------------------------------------------