├── .eslintignore
├── .npmrc
├── .gitignore
├── screenshot
├── 1.png
└── 2.png
├── src
├── assets
│ ├── img
│ │ ├── file.gif
│ │ ├── minus.gif
│ │ ├── plus.gif
│ │ ├── folder.gif
│ │ ├── folder-closed.gif
│ │ ├── treeview-default.gif
│ │ └── treeview-default-line.gif
│ └── css
│ │ └── common.styl
├── components
│ ├── TorrentDownloadHeader.vue
│ ├── CheckboxHeader.vue
│ ├── TreeRoot.vue
│ ├── CheckboxItem.vue
│ ├── ToastItem.vue
│ ├── ToolBar.vue
│ ├── PopupWrapper.vue
│ ├── TorrentDownloadItem.vue
│ ├── LinksPopup.vue
│ └── TreeItem.vue
├── utils
│ └── misc.js
├── main.js
└── pages
│ ├── view.js
│ └── list.js
├── .vscode
└── extensions.json
├── jsconfig.json
├── .github
└── workflows
│ └── ci.yml
├── .eslintrc.cjs
├── LICENSE
├── package.json
├── userscript.config.js
├── userscript.js
├── vite.config.js
├── tests
└── torrent.spec.js
└── pnpm-lock.yaml
/.eslintignore:
--------------------------------------------------------------------------------
1 | dist/
2 | node_modules/
3 | !.*.js
4 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry = https://registry.npmmirror.com/
2 |
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | BUILD
4 | .DS_Store
5 | *.log
6 |
--------------------------------------------------------------------------------
/screenshot/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/screenshot/1.png
--------------------------------------------------------------------------------
/screenshot/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/screenshot/2.png
--------------------------------------------------------------------------------
/src/assets/img/file.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/file.gif
--------------------------------------------------------------------------------
/src/assets/img/minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/minus.gif
--------------------------------------------------------------------------------
/src/assets/img/plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/plus.gif
--------------------------------------------------------------------------------
/src/assets/img/folder.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/folder.gif
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "sysoev.language-stylus",
4 | "vue.volar"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/img/folder-closed.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/folder-closed.gif
--------------------------------------------------------------------------------
/src/assets/img/treeview-default.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/treeview-default.gif
--------------------------------------------------------------------------------
/src/assets/img/treeview-default-line.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kuoruan/dmhy-download-helper/HEAD/src/assets/img/treeview-default-line.gif
--------------------------------------------------------------------------------
/src/assets/css/common.styl:
--------------------------------------------------------------------------------
1 | body
2 | position: relative
3 |
4 | #topic_list
5 | .odd:hover
6 | .even:hover
7 | background-color:#0eb9e7
8 | td
9 | background-color:#0eb9e7
10 |
--------------------------------------------------------------------------------
/src/components/TorrentDownloadHeader.vue:
--------------------------------------------------------------------------------
1 |
2 | th(
3 | width="5%",
4 | nowrap="nowrap",
5 | class="{sorter: false}"
6 | )
7 | span(class="title") Torrent
8 |
9 |
10 |
15 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": "./",
4 | "paths": {
5 | "@/*": [
6 | "src/*"
7 | ],
8 | }
9 | },
10 | "include": ["src/**/*.js", "src/**/*.vue", "tests/**/*.js", "tests/**/*.vue"],
11 | "vueCompilerOptions": {
12 | "target": 2.7,
13 | "plugins": [
14 | "@vue/language-plugin-pug"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Node.js Package CI
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v4
10 | with:
11 | fetch-depth: 1
12 | - uses: actions/setup-node@v4
13 | with:
14 | node-version: '18.x'
15 | - uses: pnpm/action-setup@v2
16 | with:
17 | version: 8
18 | - run: pnpm install
19 | - run: pnpm lint
20 | - run: pnpm build
21 |
--------------------------------------------------------------------------------
/src/components/CheckboxHeader.vue:
--------------------------------------------------------------------------------
1 |
2 | th(width="40" class="{sorter: false}")
3 | input.select-all(
4 | type="checkbox",
5 | v-model="checked",
6 | @change="$emit('change', $event.target.checked)"
7 | )
8 |
9 |
10 |
20 |
21 |
27 |
--------------------------------------------------------------------------------
/src/components/TreeRoot.vue:
--------------------------------------------------------------------------------
1 |
2 | ul(style="padding: 0; margin: 0; list-style: none;")
3 | tree-item(
4 | v-for="(folder, index) in folders",
5 | v-bind="folder",
6 | :key="folder.key",
7 | :is-last="index === folders.length - 1",
8 | :expand="true"
9 | )
10 |
11 |
12 |
30 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | node: true,
4 | browser: true,
5 | },
6 | extends: [
7 | "plugin:prettier/recommended",
8 | "plugin:vue/recommended",
9 | "@vue/prettier",
10 | ],
11 | plugins: ["vue", "prettier", "simple-import-sort"],
12 | rules: {
13 | "no-console": "off",
14 | "no-debugger": "off",
15 | "no-undef": "off",
16 |
17 | "simple-import-sort/imports": "error",
18 | "simple-import-sort/exports": "error",
19 | },
20 | overrides: [
21 | {
22 | files: ["tests/**"],
23 | env: {
24 | "vitest/env": true,
25 | },
26 | plugins: ["vitest"],
27 | extends: ["plugin:vitest/recommended"],
28 | },
29 | ],
30 | };
31 |
--------------------------------------------------------------------------------
/src/components/CheckboxItem.vue:
--------------------------------------------------------------------------------
1 |
2 | td(width="40")
3 | input.select(
4 | type="checkbox",
5 | v-model="checked",
6 | :data-index="index",
7 | @change="$emit('change', $event.target.checked)"
8 | )
9 |
10 |
11 |
31 |
32 |
38 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Xingwang Liao
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/utils/misc.js:
--------------------------------------------------------------------------------
1 | export function magnetLinksWithOptions(magnetLinks, opts) {
2 | if (!magnetLinks || magnetLinks.length <= 0) {
3 | return [];
4 | }
5 |
6 | if (opts.clean) {
7 | return magnetLinks.map((l) => l.substring(0, l.indexOf("&")));
8 | }
9 | return [...magnetLinks];
10 | }
11 |
12 | export function getDefaultLinebreak() {
13 | let linebreak = "\n";
14 | if (navigator.userAgent.indexOf("Windows") > -1) {
15 | linebreak = "\r\n";
16 | }
17 |
18 | return linebreak;
19 | }
20 |
21 | export function hashCode(str) {
22 | let hash = 0;
23 | if (!str || str.length <= 0) return hash;
24 |
25 | for (let i = 0, len = str.length; i < len; i++) {
26 | let chr = str.charCodeAt(i);
27 | hash = (hash << 5) - hash + chr;
28 | hash |= 0;
29 | }
30 |
31 | return hash;
32 | }
33 |
34 | const TORRENT_LINK_TAG_REGEX =
35 | /(.+)?<\/a>/;
36 |
37 | export function getTorrentLinkFromHTML(html) {
38 | const matches = html.match(TORRENT_LINK_TAG_REGEX);
39 | if (matches && matches.length === 3) {
40 | return { href: matches[1].replace(/\n/g, ""), title: matches[2] };
41 | }
42 | return null;
43 | }
44 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import "@/assets/css/common.styl";
2 |
3 | import Vue from "vue";
4 |
5 | import ToastItem from "@/components/ToastItem.vue";
6 | import { mountListElement } from "@/pages/list";
7 | import { mountFileListElement } from "@/pages/view";
8 |
9 | // Init toast item
10 | const ToastItemVM = Vue.extend(ToastItem);
11 |
12 | const toast = new ToastItemVM().$mount();
13 | document.body.appendChild(toast.$el);
14 |
15 | Object.defineProperty(Vue.prototype, "$toast", { value: toast });
16 |
17 | let topicListEl, fileListEl;
18 |
19 | if ((topicListEl = document.querySelector("#topic_list"))) {
20 | mountListElement(topicListEl);
21 |
22 | if (
23 | typeof jQuery !== "undefined" &&
24 | typeof jQuery.tablesorter !== "undefined"
25 | ) {
26 | jQuery("#topic_list").tablesorter({ widgets: ["zebra"] });
27 | jQuery("#topic_list")
28 | .bind("sortStart", function () {
29 | jQuery("#overlay").show();
30 | })
31 | .bind("sortEnd", function () {
32 | jQuery("#overlay").hide();
33 | });
34 | }
35 | }
36 |
37 | if ((fileListEl = document.querySelector("#resource-tabs .file_list"))) {
38 | let title = "";
39 |
40 | let titleEl;
41 | if ((titleEl = document.querySelector(".topic-title h3"))) {
42 | title = titleEl.innerText.trim();
43 | }
44 | mountFileListElement(fileListEl, title);
45 | }
46 |
--------------------------------------------------------------------------------
/src/components/ToastItem.vue:
--------------------------------------------------------------------------------
1 |
2 | div.toast(:class="{'show': show}")
3 | span.text {{ text }}
4 |
5 |
6 |
36 |
37 |
76 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dmhy-download-helper",
3 | "version": "1.6.2",
4 | "description": "A userscript for share.dmhy.org.",
5 | "private": true,
6 | "type": "module",
7 | "scripts": {
8 | "dev": "vite build --watch --mode dev",
9 | "build": "vite build",
10 | "serve": "vite preview",
11 | "test": "vitest --run",
12 | "lint": "eslint --ext .js,.cjs,.vue .",
13 | "lint:fix": "eslint --fix --ext .js,.cjs,.vue ."
14 | },
15 | "repository": {
16 | "type": "git",
17 | "url": "git+https://github.com/kuoruan/dmhy-download-helper.git"
18 | },
19 | "author": "Xingwang Liao",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/kuoruan/dmhy-download-helper/issues"
23 | },
24 | "homepage": "https://github.com/kuoruan/dmhy-download-helper#readme",
25 | "dependencies": {
26 | "vue": "^2.7.16",
27 | "xbytes": "^1.9.1"
28 | },
29 | "devDependencies": {
30 | "@vitejs/plugin-vue2": "^2.3.1",
31 | "@vue/eslint-config-prettier": "^9.0.0",
32 | "@vue/language-plugin-pug": "^2.0.19",
33 | "chalk": "^5.3.0",
34 | "eslint": "^8.57.0",
35 | "eslint-plugin-prettier": "^5.1.3",
36 | "eslint-plugin-simple-import-sort": "^12.1.0",
37 | "eslint-plugin-vitest": "^0.3.26",
38 | "eslint-plugin-vue": "^9.26.0",
39 | "prettier": "^3.2.5",
40 | "pug": "^3.0.3",
41 | "stylus": "^0.63.0",
42 | "vite": "^5.4.18",
43 | "vite-plugin-banner": "^0.7.1",
44 | "vite-plugin-css-injected-by-js": "^3.5.1",
45 | "vitest": "^1.6.1"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/userscript.config.js:
--------------------------------------------------------------------------------
1 | import packageConfig from "./package.json";
2 |
3 | export default {
4 | pkgName: packageConfig.name,
5 | name: "DMHY download helper",
6 | "name:zh-CN": "动漫花园下载助手",
7 | description: packageConfig.description,
8 | "description:zh-CN":
9 | "动漫花园(share.dmhy.org)扩展,提供批量选择、列表下载种子文件及详情页树状展示等功能。",
10 | author: packageConfig.author,
11 | namespace: "https://github.com/kuoruan",
12 | homepage: packageConfig.homepage,
13 | supportURL: packageConfig.bugs ? packageConfig.bugs.url : "",
14 | match: [
15 | "*://dmhy.org/",
16 | "*://dmhy.org/topics/list/*",
17 | "*://dmhy.org/topics/list?*",
18 | "*://dmhy.org/topics/view/*",
19 | "*://www.dmhy.org/",
20 | "*://www.dmhy.org/topics/list/*",
21 | "*://www.dmhy.org/topics/list?*",
22 | "*://www.dmhy.org/topics/view/*",
23 | "*://share.dmhy.org/",
24 | "*://share.dmhy.org/topics/list/*",
25 | "*://share.dmhy.org/topics/list?*",
26 | "*://share.dmhy.org/topics/view/*",
27 | "*://dmhy.b168.net/",
28 | "*://dmhy.b168.net/topics/list/*",
29 | "*://dmhy.b168.net/topics/list?*",
30 | "*://dmhy.b168.net/topics/view/*",
31 | ],
32 | require: [
33 | "https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.min.js",
34 | "https://cdn.jsdelivr.net/npm/xbytes@1.9.1/dist/index.min.js",
35 | ],
36 | connect: ["dmhy.org", "b168.net"],
37 | grant: ["GM_addStyle", "GM_setClipboard", "GM_xmlhttpRequest"],
38 | source: "https://github.com/kuoruan/dmhy-download-helper.git",
39 | license: packageConfig.license,
40 | "run-at": "document-end",
41 | version: packageConfig.version || "1.0.0",
42 | icon: "https://share.dmhy.org/favicon.ico",
43 | };
44 |
--------------------------------------------------------------------------------
/userscript.js:
--------------------------------------------------------------------------------
1 | import userscriptConfig from "./userscript.config";
2 |
3 | const ArrayKeys = [
4 | "include",
5 | "match",
6 | "exclude",
7 | "require",
8 | "resource",
9 | "connect",
10 | "grant",
11 | ];
12 |
13 | const IgnoreKeys = ["pkgName"];
14 |
15 | export const config = userscriptConfig;
16 | export function createBanner(isDev, buildNumber) {
17 | const keys = Object.keys(userscriptConfig);
18 |
19 | const filteredKeys = [];
20 | let maxKeyLength = 0;
21 |
22 | for (let i = 0, len = keys.length; i < len; i++) {
23 | let key = keys[i];
24 | if (IgnoreKeys.indexOf(key) > -1) {
25 | continue;
26 | }
27 |
28 | filteredKeys.push(key);
29 | if (key.length > maxKeyLength) {
30 | maxKeyLength = key.length;
31 | }
32 | }
33 |
34 | const headers = [];
35 | headers.push("// ==UserScript==");
36 |
37 | for (let i = 0, len = filteredKeys.length; i < len; i++) {
38 | let key = filteredKeys[i];
39 |
40 | const config = userscriptConfig[key];
41 |
42 | if (ArrayKeys.indexOf(key) > -1) {
43 | if (Array.isArray(config) && config.length > 0) {
44 | config.forEach((c) => {
45 | headers.push(`// @${key.padEnd(maxKeyLength + 1)} ${c}`);
46 | });
47 | } else if (typeof config === "string") {
48 | headers.push(`// @${key.padEnd(maxKeyLength + 1)} ${config}`);
49 | }
50 | } else if (key === "version" && isDev) {
51 | headers.push(
52 | `// @${key.padEnd(maxKeyLength + 1)} ${config}-alpha.${buildNumber}`,
53 | );
54 | } else {
55 | headers.push(`// @${key.padEnd(maxKeyLength + 1)} ${config}`);
56 | }
57 | }
58 |
59 | headers.push("// ==/UserScript==");
60 | headers.push("");
61 |
62 | return headers.join("\n");
63 | }
64 |
--------------------------------------------------------------------------------
/src/components/ToolBar.vue:
--------------------------------------------------------------------------------
1 |
2 | div.tool-bar(
3 | :class="[position, {'visible': visible}]"
4 | )
5 | div.wrapper
6 | span.title 下载助手
7 | label(:for="`clean-${position}`") 清理链接:
8 | input.checkbox(
9 | :id="`clean-${position}`",
10 | type="checkbox",
11 | v-model="opts.clean"
12 | )
13 | label(:for="`separator-${position}`") 分隔符:
14 | select(
15 | v-model="opts.separator",
16 | :id="`separator-${position}`"
17 | )
18 | option(value="\n") \n
19 | option(value="\r\n") \r\n
20 | option(value="\t") \t
21 | option(value=" ") 空格
22 | option(value=",") ,
23 | .btn-wrapper
24 | button.btn(
25 | @click="$emit('copy', opts)"
26 | ) 复制
27 | button.btn(
28 | @click="$emit('show', opts)"
29 | ) 查看
30 |
31 |
32 |
54 |
55 |
99 |
--------------------------------------------------------------------------------
/src/components/PopupWrapper.vue:
--------------------------------------------------------------------------------
1 |
2 | div.overlay(
3 | @click.self="$emit('overlay-click')",
4 | @touchmove="onScroll",
5 | @mousewheel="onScroll",
6 | :style="{'z-index': zIndex}"
7 | )
8 | div.popup(
9 | :class="{'middle': middle}",
10 | :style="{'margin-top': `${marginTop}px`}"
11 | )
12 | slot
13 |
14 |
15 |
56 |
57 |
87 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import vue2 from "@vitejs/plugin-vue2";
2 | import chalk from "chalk";
3 | import fs from "fs";
4 | import { fileURLToPath } from "url";
5 | import { defineConfig } from "vite";
6 | import banner from "vite-plugin-banner";
7 | import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
8 |
9 | import { createBanner } from "./userscript";
10 |
11 | const buildNumberFile = fileURLToPath(new URL("./BUILD", import.meta.url));
12 |
13 | // Write new build number to file.
14 | function writeNewBuildNumber(number) {
15 | fs.writeFile(buildNumberFile, String(number), function (err) {
16 | if (!err) {
17 | console.log(chalk.yellowBright(`build number set to ${number}`));
18 | }
19 | });
20 | }
21 |
22 | let buildNumber = 0;
23 |
24 | // Read build number from local file.
25 | if (fs.existsSync(buildNumberFile)) {
26 | const data = fs.readFileSync(buildNumberFile, "UTF-8");
27 | buildNumber = +data || 0;
28 | }
29 |
30 | export default defineConfig(({ mode }) => {
31 | const isDev = mode === "dev";
32 |
33 | return {
34 | resolve: {
35 | alias: {
36 | "@": "/src",
37 | },
38 | },
39 | build: {
40 | minify: false,
41 | cssMinify: true,
42 | cssCodeSplit: false,
43 | sourcemap: false,
44 | assetsInlineLimit: Number.POSITIVE_INFINITY, // always inline assets
45 | rollupOptions: {
46 | input: {
47 | [process.env.npm_package_name]: fileURLToPath(
48 | new URL("./src/main.js", import.meta.url),
49 | ),
50 | },
51 | output: {
52 | entryFileNames: "[name].user.js",
53 | format: "iife",
54 | globals: {
55 | vue: "Vue",
56 | xbytes: "xbytes",
57 | },
58 | },
59 | external: ["vue", "xbytes", /^\/images/],
60 | },
61 | },
62 | plugins: [
63 | vue2(),
64 | banner({
65 | content: (fileName) => {
66 | if (isDev) {
67 | writeNewBuildNumber(++buildNumber);
68 | }
69 |
70 | return fileName.endsWith(".js")
71 | ? createBanner(isDev, buildNumber)
72 | : "";
73 | },
74 | verify: false,
75 | }),
76 | cssInjectedByJsPlugin({
77 | injectCode: (cssCode) => {
78 | return `GM_addStyle(${cssCode})`;
79 | },
80 | }),
81 | ],
82 |
83 | test: {
84 | include: ["tests/*.{test,spec}.js"],
85 | globals: true,
86 | },
87 | };
88 | });
89 |
--------------------------------------------------------------------------------
/src/pages/view.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import XBytes from "xbytes";
3 |
4 | import TreeRoot from "@/components/TreeRoot.vue";
5 | import { hashCode } from "@/utils/misc";
6 |
7 | const TreeRootVM = Vue.extend(TreeRoot);
8 |
9 | function folderTreeFromNodeList(fileNodeList) {
10 | const map = {};
11 | const list = [];
12 |
13 | for (let i = 0, len = fileNodeList.length; i < len; i++) {
14 | const fileNode = fileNodeList[i];
15 |
16 | const fileSizeNode = fileNode.querySelector(".bt_file_size");
17 | const nodeText = fileNode.innerText;
18 |
19 | let fileSizeStr;
20 |
21 | if (fileSizeNode) {
22 | fileSizeStr = fileSizeNode.innerText.trim();
23 | }
24 |
25 | let filePath;
26 | let fileBytes = 0;
27 |
28 | if (fileSizeStr) {
29 | const bytes = fileSizeStr.replace(/(\d+)bytes?/i, "$1");
30 | if (!isNaN(+bytes)) {
31 | fileBytes = +bytes;
32 | } else {
33 | fileBytes = XBytes.parseSize(fileSizeStr, { iec: false });
34 | }
35 | filePath = nodeText.substring(0, nodeText.indexOf(fileSizeStr)).trim();
36 | } else {
37 | filePath = nodeText.trim();
38 | }
39 |
40 | if (!filePath) {
41 | filePath = `No. ${i + 1} - Unknown filename`;
42 | }
43 |
44 | let slice = filePath.split("/");
45 |
46 | let parentKey = 0;
47 | for (let j = 0, sLen = slice.length; j < sLen; j++) {
48 | let fileName = slice[j];
49 | let level = j + 1;
50 |
51 | let baseName = filePath.substring(
52 | 0,
53 | filePath.indexOf(fileName) + fileName.length,
54 | );
55 | let key = hashCode(baseName);
56 |
57 | if (!map[key]) {
58 | let file = {
59 | key: key,
60 | parentKey: parentKey,
61 | name: fileName,
62 | level: level,
63 | size: level === sLen ? fileBytes : 0,
64 | children: level === sLen ? null : [],
65 | };
66 | map[key] = file;
67 | list.push(file);
68 | }
69 |
70 | parentKey = key;
71 | }
72 | }
73 |
74 | const root = [];
75 | for (let i = 0, len = list.length; i < len; i++) {
76 | let file = list[i];
77 |
78 | if (!file.parentKey) {
79 | root.push(file);
80 | } else {
81 | map[file.parentKey].children.push(file);
82 | }
83 | }
84 |
85 | return root;
86 | }
87 |
88 | export function mountFileListElement(el, title) {
89 | const fileListNode = el.querySelector("ul");
90 | const fileItemNodeList = el.querySelectorAll("ul > li");
91 |
92 | if (!fileListNode || fileItemNodeList.length <= 0) {
93 | return;
94 | }
95 |
96 | const folders = folderTreeFromNodeList(fileItemNodeList);
97 |
98 | if (folders.length <= 0) {
99 | return;
100 | }
101 |
102 | const tree = new TreeRootVM({
103 | propsData: {
104 | folders:
105 | (folders.length > 1 || folders[0].size) && title
106 | ? [
107 | {
108 | key: 0,
109 | parentKey: -1,
110 | name: title,
111 | children: folders,
112 | },
113 | ]
114 | : folders,
115 | },
116 | });
117 |
118 | tree.$mount(fileListNode);
119 | }
120 |
--------------------------------------------------------------------------------
/tests/torrent.spec.js:
--------------------------------------------------------------------------------
1 | import { it } from "vitest";
2 | import { expect } from "vitest";
3 |
4 | import { getTorrentLinkFromHTML } from "@/utils/misc";
5 |
6 | describe("Torrent", () => {
7 | it("should match dmhy torrent link tag", () => {
8 | const torrentLinkTag =
9 | '[2024.01.24] プロジェクトセカイ カラフルステージ! feat.初音ミク ワンダーランズ×ショウタイム SEKAI ALBUM Vol.2 [MP3 320K]';
10 | const torrentLinkTag2 =
11 | '會員專用連接: [MagicStar] SHUT UP EP07 [WEBDL] [1080p]【生】';
12 | const torrentLinkTag3 =
13 | '【ASMR】舔耳朵♪[WAV/MP3/MP4]';
14 | const torrentLinkTag4 =
15 | '【ASMR】舔耳朵♪[WAV/MP3/MP4]';
16 |
17 | expect(getTorrentLinkFromHTML(torrentLinkTag)).toEqual({
18 | href: "//dl.dmhy.org/2024/01/23/66e247e9ed66b639a46f2472a2f9fd46f2025fec.torrent",
19 | title:
20 | "[2024.01.24] プロジェクトセカイ カラフルステージ! feat.初音ミク ワンダーランズ×ショウタイム SEKAI ALBUM Vol.2 [MP3 320K]",
21 | });
22 | expect(getTorrentLinkFromHTML(torrentLinkTag2)).toEqual({
23 | href: "http://dl.dmhy.org/2024/01/23/06abefc6121c0428b6abdddf1b24744fba6f3738.torrent",
24 | title: "[MagicStar] SHUT UP EP07 [WEBDL] [1080p]【生】",
25 | });
26 | expect(getTorrentLinkFromHTML(torrentLinkTag3)).toEqual({
27 | href: "https://dl.dmhy.org/2024/01/23/7731c887aeb285ca0373a595c520b3b0cef448e1.torrent",
28 | title: "【ASMR】舔耳朵♪[WAV/MP3/MP4]",
29 | });
30 | expect(getTorrentLinkFromHTML(torrentLinkTag4)).toEqual({
31 | href: "https://dl.dmhy.org/2024/01/23/7731c887aeb285ca0373a595c520b3b0cef448e1.torrent",
32 | title: "【ASMR】舔耳朵♪[WAV/MP3/MP4]",
33 | });
34 | });
35 |
36 | it("should match mirror site torrent link tag", () => {
37 | const link1 =
38 | '會員專用連接: 【喵萌奶茶屋】★10月新番★[腼腆英雄 / SHY][10][1080p][简日双语][招募翻译]';
39 |
40 | const link2 =
41 | '會員專用連接: 【喵萌奶茶屋】★10月新番★[腼腆英雄 / SHY][10][1080p][简日双语][招募翻译]';
42 |
43 | expect(getTorrentLinkFromHTML(link1)).toEqual({
44 | href: "//dmhytorrents.b168.net/2023/12/11/61e671afe573d1de89dfbfc24e1cea86c2efac04.torrent",
45 | title:
46 | "【喵萌奶茶屋】★10月新番★[腼腆英雄 / SHY][10][1080p][简日双语][招募翻译]",
47 | });
48 | expect(getTorrentLinkFromHTML(link2)).toEqual({
49 | href: "https://dmhytorrents.b168.net/2023/12/11/61e671afe573d1de89dfbfc24e1cea86c2efac04.torrent",
50 | title:
51 | "【喵萌奶茶屋】★10月新番★[腼腆英雄 / SHY][10][1080p][简日双语][招募翻译]",
52 | });
53 | });
54 |
55 | it("should not match other link tag", () => {
56 | const link1 =
57 | '123';
58 | const link2 = '';
59 |
60 | expect(getTorrentLinkFromHTML(link1)).toBeNull();
61 | expect(getTorrentLinkFromHTML(link2)).toBeNull();
62 | });
63 | });
64 |
--------------------------------------------------------------------------------
/src/components/TorrentDownloadItem.vue:
--------------------------------------------------------------------------------
1 |
2 | td(
3 | nowrap="nowrap",
4 | align="center"
5 | )
6 | span(
7 | v-if="loading",
8 | class="loading"
9 | )
10 | a(
11 | v-else,
12 | title="Torrent 下载",
13 | href="javascript:void(0);",
14 | class="download-arrow arrow-torrent",
15 | :data-index="index",
16 | @click="getAndDownloadTorrent"
17 | )
18 |
19 |
20 |
140 |
141 |
157 |
--------------------------------------------------------------------------------
/src/components/LinksPopup.vue:
--------------------------------------------------------------------------------
1 |
2 | popup-wrapper(
3 | :z-index="zIndex",
4 | @overlay-click="$emit('close')",
5 | :middle="false",
6 | :margin-top="100",
7 | )
8 | div.popup-header
9 | h4 查看链接
10 | button.btn(@click="$emit('close')") 关闭
11 | div.popup-body
12 | textarea.links-box(
13 | v-model="content",
14 | rows="10",
15 | cols="80",
16 | :style="textStyle",
17 | ref="textarea"
18 | )
19 | div.popup-footer
20 | button.btn(@click="resetContent") 重置
21 |
22 | button.btn(@click="selectAll") 全选
23 | button.btn(@click="copySelected") 复制选中
24 | button.btn(@click="copyAll") 复制全部
25 |
26 | p 共 {{ links.length }} 条链接
27 |
28 |
29 |
141 |
142 |
196 |
--------------------------------------------------------------------------------
/src/components/TreeItem.vue:
--------------------------------------------------------------------------------
1 |
2 | li.tree-item(:class="{ 'collection': this.isFolder, 'last': this.isLast }")
3 | div.hitarea(
4 | v-if="isFolder",
5 | :class="{ 'collapsable-hitarea': isOpen, 'last-hitarea': isLast }",
6 | @click="toggle"
7 | )
8 | div(
9 | @click="isFolder && toggle()",
10 | :class="['title', icon]"
11 | )
12 | h5 {{ name }}
13 | span.size {{ totalSize }}
14 | ul(
15 | v-if="isFolder",
16 | v-show="isOpen"
17 | )
18 | tree-item(
19 | class="item",
20 | v-for="(child, index) in children"
21 | :key="child.key",
22 | v-bind="child",
23 | :is-last="index === children.length -1"
24 | )
25 |
26 |
27 |
152 |
153 |
256 |
--------------------------------------------------------------------------------
/src/pages/list.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 |
3 | import CheckboxHeader from "@/components/CheckboxHeader.vue";
4 | import CheckboxItem from "@/components/CheckboxItem.vue";
5 | import LinksPopup from "@/components/LinksPopup.vue";
6 | import ToolBar from "@/components/ToolBar.vue";
7 | import TorrentDownloadHeader from "@/components/TorrentDownloadHeader.vue";
8 | import TorrentDownloadItem from "@/components/TorrentDownloadItem.vue";
9 | import { magnetLinksWithOptions } from "@/utils/misc";
10 |
11 | const CheckboxHeaderVM = Vue.extend(CheckboxHeader);
12 | const CheckboxItemVM = Vue.extend(CheckboxItem);
13 |
14 | const TorrentDownloadHeaderVM = Vue.extend(TorrentDownloadHeader);
15 | const TorrentDownloadItemVM = Vue.extend(TorrentDownloadItem);
16 |
17 | const ToolBarVM = Vue.extend(ToolBar);
18 | const LinksPopupVM = Vue.extend(LinksPopup);
19 |
20 | export function mountListElement(el) {
21 | const list = new Vue({
22 | data() {
23 | return {
24 | header: null,
25 | all: [],
26 | selected: [],
27 | popupIndex: 10,
28 | toolbars: [],
29 | };
30 | },
31 | computed: {
32 | links() {
33 | return this.selected.map((item) => item.magnet).filter((m) => !!m);
34 | },
35 | },
36 | watch: {
37 | links(val) {
38 | const isEmpty = !val || val.length <= 0;
39 | this.toolbars.forEach((t) => {
40 | t.visible = !isEmpty;
41 | });
42 | },
43 | },
44 | mounted() {
45 | this.$nextTick(function () {
46 | const table = this.$el;
47 | let tableContainer;
48 | if (
49 | !table.parentNode ||
50 | ((tableContainer = table.parentNode.parentNode),
51 | !tableContainer || tableContainer.className.indexOf("table") < 0)
52 | ) {
53 | // Not in list page or list not in table container .table
54 | return;
55 | }
56 |
57 | if (table.tHead && table.tBodies) {
58 | if (table.tHead.rows && table.tHead.rows.length > 0) {
59 | this.insertHeaderToRow(table.tHead.rows[0]);
60 | }
61 |
62 | let index = 0;
63 | for (let i = 0, len = table.tBodies.length; i < len; i++) {
64 | let body = table.tBodies[i];
65 |
66 | for (let j = 0, rowLen = body.rows.length; j < rowLen; j++) {
67 | this.insertItemToRow(body.rows[j], index++);
68 | }
69 | }
70 | } else {
71 | if (table.rows) {
72 | for (let i = 0, len = table.rows.length; i < len; i++) {
73 | let row = table.rows[i];
74 | if (i === 0) {
75 | this.insertHeaderToRow(row);
76 | } else {
77 | this.insertItemToRow(row, i - 1);
78 | }
79 | }
80 | }
81 | }
82 |
83 | this.initToolBars(tableContainer);
84 | });
85 | },
86 | beforeDestroy() {
87 | if (this.header) {
88 | this.header.$off("change");
89 | this.header = null;
90 | }
91 |
92 | this.all.forEach((item) => {
93 | item.$off("change");
94 | });
95 | this.toolbars.forEach((t) => {
96 | t.$off("copy");
97 | t.$off("show");
98 | });
99 |
100 | this.all.splice(0, this.all.length);
101 | this.selected.splice(0, this.selected.length);
102 | this.toolbars.splice(0, this.toolbars.length);
103 | },
104 | methods: {
105 | initToolBars(tableContainer) {
106 | const headerToolbar = new ToolBarVM({
107 | propsData: {
108 | position: "top",
109 | },
110 | }).$mount();
111 |
112 | headerToolbar.$on("copy", this.onCopyLinks);
113 | headerToolbar.$on("show", this.onShowLinks);
114 |
115 | const bottomToobar = new ToolBarVM({
116 | propsData: {
117 | position: "bottom",
118 | },
119 | }).$mount();
120 | bottomToobar.$on("copy", this.onCopyLinks);
121 | bottomToobar.$on("show", this.onShowLinks);
122 |
123 | tableContainer.insertBefore(
124 | headerToolbar.$el,
125 | tableContainer.firstChild,
126 | );
127 | tableContainer.appendChild(bottomToobar.$el);
128 |
129 | this.toolbars.push(headerToolbar, bottomToobar);
130 | },
131 | insertHeaderToRow(row) {
132 | if (row.cells.length <= 0) return;
133 |
134 | const firstCell = row.cells[0];
135 | let sizeCell;
136 | if (row.cells.length >= 5) {
137 | sizeCell = row.cells[4];
138 | }
139 |
140 | const checkboxTH = new CheckboxHeaderVM().$mount();
141 | checkboxTH.$on("change", this.onSelectAllChange);
142 |
143 | row.insertBefore(checkboxTH.$el, firstCell);
144 | this.header = checkboxTH;
145 |
146 | if (sizeCell) {
147 | const bittorrentDownloadTH = new TorrentDownloadHeaderVM().$mount();
148 | row.insertBefore(bittorrentDownloadTH.$el, sizeCell);
149 | }
150 | },
151 | insertItemToRow(row, index) {
152 | if (row.cells.length <= 0) return;
153 |
154 | const firstCell = row.cells[0];
155 | let sizeCell;
156 | if (row.cells.length >= 5) {
157 | sizeCell = row.cells[4];
158 | }
159 |
160 | const magnetLinkDOM = row.querySelector("td > .arrow-magnet");
161 |
162 | const checkboxTD = new CheckboxItemVM({
163 | propsData: {
164 | index: index,
165 | magnet: magnetLinkDOM ? magnetLinkDOM.href : "",
166 | },
167 | }).$mount();
168 |
169 | const _self = this;
170 | checkboxTD.$on("change", function (checked) {
171 | _self.onItemSelectChange(checkboxTD, checked);
172 | });
173 | row.insertBefore(checkboxTD.$el, firstCell);
174 |
175 | this.all.push(checkboxTD);
176 |
177 | if (sizeCell) {
178 | const detailLinkDom = row.querySelector("td.title > a");
179 |
180 | const bittorrentDownloadTD = new TorrentDownloadItemVM({
181 | propsData: {
182 | index: index,
183 | detailLink: detailLinkDom ? detailLinkDom.href : "",
184 | title: detailLinkDom ? detailLinkDom.innerText : "",
185 | },
186 | }).$mount();
187 | row.insertBefore(bittorrentDownloadTD.$el, sizeCell);
188 | }
189 | },
190 | onSelectAllChange(checked) {
191 | this.all.forEach(function (item) {
192 | item.checked = checked;
193 | });
194 | if (checked) {
195 | this.selected = [...this.all];
196 | } else {
197 | this.selected.splice(0, this.selected.length);
198 | }
199 | },
200 | onItemSelectChange(item, checked) {
201 | const selectedIndex = this.selected.indexOf(item);
202 | if (checked && selectedIndex < 0) {
203 | this.selected.push(item);
204 | } else if (!checked && selectedIndex > -1) {
205 | this.selected.splice(selectedIndex, 1);
206 | }
207 |
208 | if (this.header) {
209 | this.header.checked = this.all.length === this.selected.length;
210 | }
211 | },
212 | onCopyLinks(opts) {
213 | const links = magnetLinksWithOptions(this.links, opts);
214 |
215 | if (links.length > 0) {
216 | try {
217 | const content = links.join(opts.separator);
218 | GM_setClipboard(content, "{ type: 'text', mimetype: 'text/plain'}");
219 | this.$toast.display("复制成功!");
220 | } catch (e) {
221 | this.$toast.display("复制失败,请重试。");
222 | }
223 | }
224 | },
225 | onShowLinks(opts) {
226 | const links = magnetLinksWithOptions(this.links, opts);
227 | if (links.length > 0) {
228 | const popup = new LinksPopupVM({
229 | propsData: {
230 | zIndex: this.popupIndex++,
231 | links: links,
232 | options: opts,
233 | },
234 | }).$mount();
235 | popup.$on("close", function () {
236 | popup.$off("close");
237 | try {
238 | popup.$el.remove();
239 | } catch (e) {
240 | document.body.removeChild(popup.$el);
241 | }
242 | });
243 | document.body.appendChild(popup.$el);
244 | }
245 | },
246 | },
247 | });
248 |
249 | list.$mount(el);
250 | }
251 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | vue:
12 | specifier: ^2.7.16
13 | version: 2.7.16
14 | xbytes:
15 | specifier: ^1.9.1
16 | version: 1.9.1
17 | devDependencies:
18 | '@vitejs/plugin-vue2':
19 | specifier: ^2.3.1
20 | version: 2.3.1(vite@5.4.18(stylus@0.63.0))(vue@2.7.16)
21 | '@vue/eslint-config-prettier':
22 | specifier: ^9.0.0
23 | version: 9.0.0(eslint@8.57.0)(prettier@3.2.5)
24 | '@vue/language-plugin-pug':
25 | specifier: ^2.0.19
26 | version: 2.0.19
27 | chalk:
28 | specifier: ^5.3.0
29 | version: 5.3.0
30 | eslint:
31 | specifier: ^8.57.0
32 | version: 8.57.0
33 | eslint-plugin-prettier:
34 | specifier: ^5.1.3
35 | version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
36 | eslint-plugin-simple-import-sort:
37 | specifier: ^12.1.0
38 | version: 12.1.0(eslint@8.57.0)
39 | eslint-plugin-vitest:
40 | specifier: ^0.3.26
41 | version: 0.3.26(eslint@8.57.0)(typescript@5.4.5)(vitest@1.6.1(stylus@0.63.0))
42 | eslint-plugin-vue:
43 | specifier: ^9.26.0
44 | version: 9.26.0(eslint@8.57.0)
45 | prettier:
46 | specifier: ^3.2.5
47 | version: 3.2.5
48 | pug:
49 | specifier: ^3.0.3
50 | version: 3.0.3
51 | stylus:
52 | specifier: ^0.63.0
53 | version: 0.63.0
54 | vite:
55 | specifier: ^5.4.18
56 | version: 5.4.18(stylus@0.63.0)
57 | vite-plugin-banner:
58 | specifier: ^0.7.1
59 | version: 0.7.1
60 | vite-plugin-css-injected-by-js:
61 | specifier: ^3.5.1
62 | version: 3.5.1(vite@5.4.18(stylus@0.63.0))
63 | vitest:
64 | specifier: ^1.6.1
65 | version: 1.6.1(stylus@0.63.0)
66 |
67 | packages:
68 |
69 | '@adobe/css-tools@4.3.3':
70 | resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
71 |
72 | '@babel/helper-string-parser@7.24.1':
73 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
74 | engines: {node: '>=6.9.0'}
75 |
76 | '@babel/helper-string-parser@7.25.9':
77 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
78 | engines: {node: '>=6.9.0'}
79 |
80 | '@babel/helper-validator-identifier@7.24.5':
81 | resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
82 | engines: {node: '>=6.9.0'}
83 |
84 | '@babel/helper-validator-identifier@7.25.9':
85 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
86 | engines: {node: '>=6.9.0'}
87 |
88 | '@babel/parser@7.24.5':
89 | resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
90 | engines: {node: '>=6.0.0'}
91 | hasBin: true
92 |
93 | '@babel/parser@7.27.0':
94 | resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
95 | engines: {node: '>=6.0.0'}
96 | hasBin: true
97 |
98 | '@babel/types@7.24.5':
99 | resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
100 | engines: {node: '>=6.9.0'}
101 |
102 | '@babel/types@7.27.0':
103 | resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
104 | engines: {node: '>=6.9.0'}
105 |
106 | '@esbuild/aix-ppc64@0.21.5':
107 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
108 | engines: {node: '>=12'}
109 | cpu: [ppc64]
110 | os: [aix]
111 |
112 | '@esbuild/android-arm64@0.21.5':
113 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
114 | engines: {node: '>=12'}
115 | cpu: [arm64]
116 | os: [android]
117 |
118 | '@esbuild/android-arm@0.21.5':
119 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
120 | engines: {node: '>=12'}
121 | cpu: [arm]
122 | os: [android]
123 |
124 | '@esbuild/android-x64@0.21.5':
125 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
126 | engines: {node: '>=12'}
127 | cpu: [x64]
128 | os: [android]
129 |
130 | '@esbuild/darwin-arm64@0.21.5':
131 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
132 | engines: {node: '>=12'}
133 | cpu: [arm64]
134 | os: [darwin]
135 |
136 | '@esbuild/darwin-x64@0.21.5':
137 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
138 | engines: {node: '>=12'}
139 | cpu: [x64]
140 | os: [darwin]
141 |
142 | '@esbuild/freebsd-arm64@0.21.5':
143 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
144 | engines: {node: '>=12'}
145 | cpu: [arm64]
146 | os: [freebsd]
147 |
148 | '@esbuild/freebsd-x64@0.21.5':
149 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
150 | engines: {node: '>=12'}
151 | cpu: [x64]
152 | os: [freebsd]
153 |
154 | '@esbuild/linux-arm64@0.21.5':
155 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
156 | engines: {node: '>=12'}
157 | cpu: [arm64]
158 | os: [linux]
159 |
160 | '@esbuild/linux-arm@0.21.5':
161 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
162 | engines: {node: '>=12'}
163 | cpu: [arm]
164 | os: [linux]
165 |
166 | '@esbuild/linux-ia32@0.21.5':
167 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
168 | engines: {node: '>=12'}
169 | cpu: [ia32]
170 | os: [linux]
171 |
172 | '@esbuild/linux-loong64@0.21.5':
173 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
174 | engines: {node: '>=12'}
175 | cpu: [loong64]
176 | os: [linux]
177 |
178 | '@esbuild/linux-mips64el@0.21.5':
179 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
180 | engines: {node: '>=12'}
181 | cpu: [mips64el]
182 | os: [linux]
183 |
184 | '@esbuild/linux-ppc64@0.21.5':
185 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
186 | engines: {node: '>=12'}
187 | cpu: [ppc64]
188 | os: [linux]
189 |
190 | '@esbuild/linux-riscv64@0.21.5':
191 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
192 | engines: {node: '>=12'}
193 | cpu: [riscv64]
194 | os: [linux]
195 |
196 | '@esbuild/linux-s390x@0.21.5':
197 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
198 | engines: {node: '>=12'}
199 | cpu: [s390x]
200 | os: [linux]
201 |
202 | '@esbuild/linux-x64@0.21.5':
203 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
204 | engines: {node: '>=12'}
205 | cpu: [x64]
206 | os: [linux]
207 |
208 | '@esbuild/netbsd-x64@0.21.5':
209 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
210 | engines: {node: '>=12'}
211 | cpu: [x64]
212 | os: [netbsd]
213 |
214 | '@esbuild/openbsd-x64@0.21.5':
215 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
216 | engines: {node: '>=12'}
217 | cpu: [x64]
218 | os: [openbsd]
219 |
220 | '@esbuild/sunos-x64@0.21.5':
221 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
222 | engines: {node: '>=12'}
223 | cpu: [x64]
224 | os: [sunos]
225 |
226 | '@esbuild/win32-arm64@0.21.5':
227 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
228 | engines: {node: '>=12'}
229 | cpu: [arm64]
230 | os: [win32]
231 |
232 | '@esbuild/win32-ia32@0.21.5':
233 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
234 | engines: {node: '>=12'}
235 | cpu: [ia32]
236 | os: [win32]
237 |
238 | '@esbuild/win32-x64@0.21.5':
239 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
240 | engines: {node: '>=12'}
241 | cpu: [x64]
242 | os: [win32]
243 |
244 | '@eslint-community/eslint-utils@4.4.0':
245 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
246 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
247 | peerDependencies:
248 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
249 |
250 | '@eslint-community/regexpp@4.10.0':
251 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
252 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
253 |
254 | '@eslint/eslintrc@2.1.4':
255 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
256 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
257 |
258 | '@eslint/js@8.57.0':
259 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
260 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
261 |
262 | '@humanwhocodes/config-array@0.11.14':
263 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
264 | engines: {node: '>=10.10.0'}
265 | deprecated: Use @eslint/config-array instead
266 |
267 | '@humanwhocodes/module-importer@1.0.1':
268 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
269 | engines: {node: '>=12.22'}
270 |
271 | '@humanwhocodes/object-schema@2.0.3':
272 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
273 | deprecated: Use @eslint/object-schema instead
274 |
275 | '@jest/schemas@29.6.3':
276 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
277 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
278 |
279 | '@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462':
280 | resolution: {integrity: sha512-etqLfpSJ5zaw76KUNF603be6d6QsiQPmaHr9FKEp4zhLZJzWCCMH6Icak7MtLUFLZLMpL761mZNImi/joBo1ZA==}
281 |
282 | '@jridgewell/sourcemap-codec@1.5.0':
283 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
284 |
285 | '@nodelib/fs.scandir@2.1.5':
286 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
287 | engines: {node: '>= 8'}
288 |
289 | '@nodelib/fs.stat@2.0.5':
290 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
291 | engines: {node: '>= 8'}
292 |
293 | '@nodelib/fs.walk@1.2.8':
294 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
295 | engines: {node: '>= 8'}
296 |
297 | '@pkgr/core@0.1.1':
298 | resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
299 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
300 |
301 | '@rollup/rollup-android-arm-eabi@4.39.0':
302 | resolution: {integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==}
303 | cpu: [arm]
304 | os: [android]
305 |
306 | '@rollup/rollup-android-arm64@4.39.0':
307 | resolution: {integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==}
308 | cpu: [arm64]
309 | os: [android]
310 |
311 | '@rollup/rollup-darwin-arm64@4.39.0':
312 | resolution: {integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==}
313 | cpu: [arm64]
314 | os: [darwin]
315 |
316 | '@rollup/rollup-darwin-x64@4.39.0':
317 | resolution: {integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==}
318 | cpu: [x64]
319 | os: [darwin]
320 |
321 | '@rollup/rollup-freebsd-arm64@4.39.0':
322 | resolution: {integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==}
323 | cpu: [arm64]
324 | os: [freebsd]
325 |
326 | '@rollup/rollup-freebsd-x64@4.39.0':
327 | resolution: {integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==}
328 | cpu: [x64]
329 | os: [freebsd]
330 |
331 | '@rollup/rollup-linux-arm-gnueabihf@4.39.0':
332 | resolution: {integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==}
333 | cpu: [arm]
334 | os: [linux]
335 | libc: [glibc]
336 |
337 | '@rollup/rollup-linux-arm-musleabihf@4.39.0':
338 | resolution: {integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==}
339 | cpu: [arm]
340 | os: [linux]
341 | libc: [musl]
342 |
343 | '@rollup/rollup-linux-arm64-gnu@4.39.0':
344 | resolution: {integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==}
345 | cpu: [arm64]
346 | os: [linux]
347 | libc: [glibc]
348 |
349 | '@rollup/rollup-linux-arm64-musl@4.39.0':
350 | resolution: {integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==}
351 | cpu: [arm64]
352 | os: [linux]
353 | libc: [musl]
354 |
355 | '@rollup/rollup-linux-loongarch64-gnu@4.39.0':
356 | resolution: {integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==}
357 | cpu: [loong64]
358 | os: [linux]
359 | libc: [glibc]
360 |
361 | '@rollup/rollup-linux-powerpc64le-gnu@4.39.0':
362 | resolution: {integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==}
363 | cpu: [ppc64]
364 | os: [linux]
365 | libc: [glibc]
366 |
367 | '@rollup/rollup-linux-riscv64-gnu@4.39.0':
368 | resolution: {integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==}
369 | cpu: [riscv64]
370 | os: [linux]
371 | libc: [glibc]
372 |
373 | '@rollup/rollup-linux-riscv64-musl@4.39.0':
374 | resolution: {integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==}
375 | cpu: [riscv64]
376 | os: [linux]
377 | libc: [musl]
378 |
379 | '@rollup/rollup-linux-s390x-gnu@4.39.0':
380 | resolution: {integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==}
381 | cpu: [s390x]
382 | os: [linux]
383 | libc: [glibc]
384 |
385 | '@rollup/rollup-linux-x64-gnu@4.39.0':
386 | resolution: {integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==}
387 | cpu: [x64]
388 | os: [linux]
389 | libc: [glibc]
390 |
391 | '@rollup/rollup-linux-x64-musl@4.39.0':
392 | resolution: {integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==}
393 | cpu: [x64]
394 | os: [linux]
395 | libc: [musl]
396 |
397 | '@rollup/rollup-win32-arm64-msvc@4.39.0':
398 | resolution: {integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==}
399 | cpu: [arm64]
400 | os: [win32]
401 |
402 | '@rollup/rollup-win32-ia32-msvc@4.39.0':
403 | resolution: {integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==}
404 | cpu: [ia32]
405 | os: [win32]
406 |
407 | '@rollup/rollup-win32-x64-msvc@4.39.0':
408 | resolution: {integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==}
409 | cpu: [x64]
410 | os: [win32]
411 |
412 | '@sinclair/typebox@0.27.8':
413 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
414 |
415 | '@types/estree@1.0.7':
416 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
417 |
418 | '@typescript-eslint/scope-manager@7.9.0':
419 | resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
420 | engines: {node: ^18.18.0 || >=20.0.0}
421 |
422 | '@typescript-eslint/types@7.9.0':
423 | resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
424 | engines: {node: ^18.18.0 || >=20.0.0}
425 |
426 | '@typescript-eslint/typescript-estree@7.9.0':
427 | resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
428 | engines: {node: ^18.18.0 || >=20.0.0}
429 | peerDependencies:
430 | typescript: '*'
431 | peerDependenciesMeta:
432 | typescript:
433 | optional: true
434 |
435 | '@typescript-eslint/utils@7.9.0':
436 | resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
437 | engines: {node: ^18.18.0 || >=20.0.0}
438 | peerDependencies:
439 | eslint: ^8.56.0
440 |
441 | '@typescript-eslint/visitor-keys@7.9.0':
442 | resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
443 | engines: {node: ^18.18.0 || >=20.0.0}
444 |
445 | '@ungap/structured-clone@1.2.0':
446 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
447 |
448 | '@vitejs/plugin-vue2@2.3.1':
449 | resolution: {integrity: sha512-/ksaaz2SRLN11JQhLdEUhDzOn909WEk99q9t9w+N12GjQCljzv7GyvAbD/p20aBUjHkvpGOoQ+FCOkG+mjDF4A==}
450 | engines: {node: ^14.18.0 || >= 16.0.0}
451 | peerDependencies:
452 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0
453 | vue: ^2.7.0-0
454 |
455 | '@vitest/expect@1.6.1':
456 | resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==}
457 |
458 | '@vitest/runner@1.6.1':
459 | resolution: {integrity: sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==}
460 |
461 | '@vitest/snapshot@1.6.1':
462 | resolution: {integrity: sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==}
463 |
464 | '@vitest/spy@1.6.1':
465 | resolution: {integrity: sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==}
466 |
467 | '@vitest/utils@1.6.1':
468 | resolution: {integrity: sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==}
469 |
470 | '@volar/language-core@2.2.4':
471 | resolution: {integrity: sha512-7As47GndxGxsqqYnbreLrfB5NDUeQioPM2LJKUuB4/34c0NpEJ2byVl3c9KYdjIdiEstWZ9JLtLKNTaPWb5jtA==}
472 |
473 | '@volar/language-service@2.2.4':
474 | resolution: {integrity: sha512-3OxJFADEsAZp1RoTS3SX2GY9SeVnB9mbd3N/Faz45IvnT2EFAyVJGPOyrz5bJDvKuCtjdoTNNWS1GX1bHGytrA==}
475 |
476 | '@volar/source-map@2.2.4':
477 | resolution: {integrity: sha512-m92FLpR9vB1YEZfiZ+bfgpLrToL/DNkOrorWVep3pffHrwwI4Tx2oIQN+sqHJfKkiT5N3J1owC+8crhAEinfjg==}
478 |
479 | '@vscode/l10n@0.0.18':
480 | resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
481 |
482 | '@vue/compiler-sfc@2.7.16':
483 | resolution: {integrity: sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==}
484 |
485 | '@vue/eslint-config-prettier@9.0.0':
486 | resolution: {integrity: sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==}
487 | peerDependencies:
488 | eslint: '>= 8.0.0'
489 | prettier: '>= 3.0.0'
490 |
491 | '@vue/language-plugin-pug@2.0.19':
492 | resolution: {integrity: sha512-Ee++xWL6/w9ImcYms5++lK5NXv4jxsTC6dtJgsNRYJh4jC3judGK4yEa7vryXaP/DaBxsCD1ihwi/CMUkTHuzg==}
493 |
494 | acorn-jsx@5.3.2:
495 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
496 | peerDependencies:
497 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
498 |
499 | acorn-walk@8.3.4:
500 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
501 | engines: {node: '>=0.4.0'}
502 |
503 | acorn@7.4.1:
504 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
505 | engines: {node: '>=0.4.0'}
506 | hasBin: true
507 |
508 | acorn@8.14.1:
509 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
510 | engines: {node: '>=0.4.0'}
511 | hasBin: true
512 |
513 | acorn@8.14.1:
514 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
515 | engines: {node: '>=0.4.0'}
516 | hasBin: true
517 |
518 | ajv@6.12.6:
519 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
520 |
521 | ansi-regex@5.0.1:
522 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
523 | engines: {node: '>=8'}
524 |
525 | ansi-styles@4.3.0:
526 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
527 | engines: {node: '>=8'}
528 |
529 | ansi-styles@5.2.0:
530 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
531 | engines: {node: '>=10'}
532 |
533 | argparse@2.0.1:
534 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
535 |
536 | array-union@2.1.0:
537 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
538 | engines: {node: '>=8'}
539 |
540 | asap@2.0.6:
541 | resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
542 |
543 | assert-never@1.4.0:
544 | resolution: {integrity: sha512-5oJg84os6NMQNl27T9LnZkvvqzvAnHu03ShCnoj6bsJwS7L8AO4lf+C/XjK/nvzEqQB744moC6V128RucQd1jA==}
545 |
546 | assertion-error@1.1.0:
547 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
548 |
549 | babel-walk@3.0.0-canary-5:
550 | resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
551 | engines: {node: '>= 10.0.0'}
552 |
553 | balanced-match@1.0.2:
554 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
555 |
556 | boolbase@1.0.0:
557 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
558 |
559 | brace-expansion@1.1.11:
560 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
561 |
562 | brace-expansion@2.0.1:
563 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
564 |
565 | braces@3.0.2:
566 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
567 | engines: {node: '>=8'}
568 |
569 | cac@6.7.14:
570 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
571 | engines: {node: '>=8'}
572 |
573 | call-bind-apply-helpers@1.0.2:
574 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
575 | engines: {node: '>= 0.4'}
576 |
577 | call-bound@1.0.4:
578 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
579 | engines: {node: '>= 0.4'}
580 |
581 | callsites@3.1.0:
582 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
583 | engines: {node: '>=6'}
584 |
585 | chai@4.5.0:
586 | resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==}
587 | engines: {node: '>=4'}
588 |
589 | chalk@4.1.2:
590 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
591 | engines: {node: '>=10'}
592 |
593 | chalk@5.3.0:
594 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
595 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
596 |
597 | character-parser@2.2.0:
598 | resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==}
599 |
600 | check-error@1.0.3:
601 | resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
602 |
603 | color-convert@2.0.1:
604 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
605 | engines: {node: '>=7.0.0'}
606 |
607 | color-name@1.1.4:
608 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
609 |
610 | concat-map@0.0.1:
611 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
612 |
613 | confbox@0.1.8:
614 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
615 |
616 | constantinople@4.0.1:
617 | resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
618 |
619 | cross-spawn@7.0.3:
620 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
621 | engines: {node: '>= 8'}
622 |
623 | cross-spawn@7.0.6:
624 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
625 | engines: {node: '>= 8'}
626 |
627 | cssesc@3.0.0:
628 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
629 | engines: {node: '>=4'}
630 | hasBin: true
631 |
632 | csstype@3.1.3:
633 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
634 |
635 | debug@4.3.4:
636 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
637 | engines: {node: '>=6.0'}
638 | peerDependencies:
639 | supports-color: '*'
640 | peerDependenciesMeta:
641 | supports-color:
642 | optional: true
643 |
644 | debug@4.4.0:
645 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
646 | engines: {node: '>=6.0'}
647 | peerDependencies:
648 | supports-color: '*'
649 | peerDependenciesMeta:
650 | supports-color:
651 | optional: true
652 |
653 | deep-eql@4.1.4:
654 | resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
655 | engines: {node: '>=6'}
656 |
657 | deep-is@0.1.4:
658 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
659 |
660 | diff-sequences@29.6.3:
661 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
662 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
663 |
664 | dir-glob@3.0.1:
665 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
666 | engines: {node: '>=8'}
667 |
668 | doctrine@3.0.0:
669 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
670 | engines: {node: '>=6.0.0'}
671 |
672 | doctypes@1.1.0:
673 | resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==}
674 |
675 | dunder-proto@1.0.1:
676 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
677 | engines: {node: '>= 0.4'}
678 |
679 | es-define-property@1.0.1:
680 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
681 | engines: {node: '>= 0.4'}
682 |
683 | es-errors@1.3.0:
684 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
685 | engines: {node: '>= 0.4'}
686 |
687 | es-object-atoms@1.1.1:
688 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
689 | engines: {node: '>= 0.4'}
690 |
691 | esbuild@0.21.5:
692 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
693 | engines: {node: '>=12'}
694 | hasBin: true
695 |
696 | escape-string-regexp@4.0.0:
697 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
698 | engines: {node: '>=10'}
699 |
700 | eslint-config-prettier@9.1.0:
701 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
702 | hasBin: true
703 | peerDependencies:
704 | eslint: '>=7.0.0'
705 |
706 | eslint-plugin-prettier@5.1.3:
707 | resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
708 | engines: {node: ^14.18.0 || >=16.0.0}
709 | peerDependencies:
710 | '@types/eslint': '>=8.0.0'
711 | eslint: '>=8.0.0'
712 | eslint-config-prettier: '*'
713 | prettier: '>=3.0.0'
714 | peerDependenciesMeta:
715 | '@types/eslint':
716 | optional: true
717 | eslint-config-prettier:
718 | optional: true
719 |
720 | eslint-plugin-simple-import-sort@12.1.0:
721 | resolution: {integrity: sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==}
722 | peerDependencies:
723 | eslint: '>=5.0.0'
724 |
725 | eslint-plugin-vitest@0.3.26:
726 | resolution: {integrity: sha512-oxe5JSPgRjco8caVLTh7Ti8PxpwJdhSV0hTQAmkFcNcmy/9DnqLB/oNVRA11RmVRP//2+jIIT6JuBEcpW3obYg==}
727 | engines: {node: ^18.0.0 || >= 20.0.0}
728 | peerDependencies:
729 | '@typescript-eslint/eslint-plugin': '*'
730 | eslint: '>=8.0.0'
731 | vitest: '*'
732 | peerDependenciesMeta:
733 | '@typescript-eslint/eslint-plugin':
734 | optional: true
735 | vitest:
736 | optional: true
737 |
738 | eslint-plugin-vue@9.26.0:
739 | resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==}
740 | engines: {node: ^14.17.0 || >=16.0.0}
741 | peerDependencies:
742 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
743 |
744 | eslint-scope@7.2.2:
745 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
746 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
747 |
748 | eslint-visitor-keys@3.4.3:
749 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
750 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
751 |
752 | eslint@8.57.0:
753 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
754 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
755 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
756 | hasBin: true
757 |
758 | espree@9.6.1:
759 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
760 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
761 |
762 | esquery@1.5.0:
763 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
764 | engines: {node: '>=0.10'}
765 |
766 | esrecurse@4.3.0:
767 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
768 | engines: {node: '>=4.0'}
769 |
770 | estraverse@5.3.0:
771 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
772 | engines: {node: '>=4.0'}
773 |
774 | estree-walker@3.0.3:
775 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
776 |
777 | esutils@2.0.3:
778 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
779 | engines: {node: '>=0.10.0'}
780 |
781 | execa@8.0.1:
782 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
783 | engines: {node: '>=16.17'}
784 |
785 | fast-deep-equal@3.1.3:
786 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
787 |
788 | fast-diff@1.3.0:
789 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
790 |
791 | fast-glob@3.3.2:
792 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
793 | engines: {node: '>=8.6.0'}
794 |
795 | fast-json-stable-stringify@2.1.0:
796 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
797 |
798 | fast-levenshtein@2.0.6:
799 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
800 |
801 | fastq@1.17.1:
802 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
803 |
804 | file-entry-cache@6.0.1:
805 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
806 | engines: {node: ^10.12.0 || >=12.0.0}
807 |
808 | fill-range@7.0.1:
809 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
810 | engines: {node: '>=8'}
811 |
812 | find-up@5.0.0:
813 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
814 | engines: {node: '>=10'}
815 |
816 | flat-cache@3.2.0:
817 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
818 | engines: {node: ^10.12.0 || >=12.0.0}
819 |
820 | flatted@3.3.1:
821 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
822 |
823 | fs.realpath@1.0.0:
824 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
825 |
826 | fsevents@2.3.3:
827 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
828 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
829 | os: [darwin]
830 |
831 | function-bind@1.1.2:
832 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
833 |
834 | get-func-name@2.0.2:
835 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
836 |
837 | get-intrinsic@1.3.0:
838 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
839 | engines: {node: '>= 0.4'}
840 |
841 | get-proto@1.0.1:
842 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
843 | engines: {node: '>= 0.4'}
844 |
845 | get-stream@8.0.1:
846 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
847 | engines: {node: '>=16'}
848 |
849 | glob-parent@5.1.2:
850 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
851 | engines: {node: '>= 6'}
852 |
853 | glob-parent@6.0.2:
854 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
855 | engines: {node: '>=10.13.0'}
856 |
857 | glob@7.2.3:
858 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
859 | deprecated: Glob versions prior to v9 are no longer supported
860 |
861 | globals@13.24.0:
862 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
863 | engines: {node: '>=8'}
864 |
865 | globby@11.1.0:
866 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
867 | engines: {node: '>=10'}
868 |
869 | gopd@1.2.0:
870 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
871 | engines: {node: '>= 0.4'}
872 |
873 | graphemer@1.4.0:
874 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
875 |
876 | has-flag@4.0.0:
877 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
878 | engines: {node: '>=8'}
879 |
880 | has-symbols@1.1.0:
881 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
882 | engines: {node: '>= 0.4'}
883 |
884 | has-tostringtag@1.0.2:
885 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
886 | engines: {node: '>= 0.4'}
887 |
888 | hasown@2.0.2:
889 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
890 | engines: {node: '>= 0.4'}
891 |
892 | human-signals@5.0.0:
893 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
894 | engines: {node: '>=16.17.0'}
895 |
896 | ignore@5.3.1:
897 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
898 | engines: {node: '>= 4'}
899 |
900 | import-fresh@3.3.0:
901 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
902 | engines: {node: '>=6'}
903 |
904 | imurmurhash@0.1.4:
905 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
906 | engines: {node: '>=0.8.19'}
907 |
908 | inflight@1.0.6:
909 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
910 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
911 |
912 | inherits@2.0.4:
913 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
914 |
915 | is-core-module@2.16.1:
916 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
917 | engines: {node: '>= 0.4'}
918 |
919 | is-expression@4.0.0:
920 | resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==}
921 |
922 | is-extglob@2.1.1:
923 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
924 | engines: {node: '>=0.10.0'}
925 |
926 | is-glob@4.0.3:
927 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
928 | engines: {node: '>=0.10.0'}
929 |
930 | is-number@7.0.0:
931 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
932 | engines: {node: '>=0.12.0'}
933 |
934 | is-path-inside@3.0.3:
935 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
936 | engines: {node: '>=8'}
937 |
938 | is-promise@2.2.2:
939 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
940 |
941 | is-regex@1.2.1:
942 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
943 | engines: {node: '>= 0.4'}
944 |
945 | is-stream@3.0.0:
946 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
947 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
948 |
949 | isexe@2.0.0:
950 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
951 |
952 | js-stringify@1.0.2:
953 | resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==}
954 |
955 | js-tokens@9.0.1:
956 | resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
957 |
958 | js-yaml@4.1.0:
959 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
960 | hasBin: true
961 |
962 | json-buffer@3.0.1:
963 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
964 |
965 | json-schema-traverse@0.4.1:
966 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
967 |
968 | json-stable-stringify-without-jsonify@1.0.1:
969 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
970 |
971 | jstransformer@1.0.0:
972 | resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==}
973 |
974 | keyv@4.5.4:
975 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
976 |
977 | levn@0.4.1:
978 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
979 | engines: {node: '>= 0.8.0'}
980 |
981 | local-pkg@0.5.1:
982 | resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
983 | engines: {node: '>=14'}
984 |
985 | locate-path@6.0.0:
986 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
987 | engines: {node: '>=10'}
988 |
989 | lodash.merge@4.6.2:
990 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
991 |
992 | lodash@4.17.21:
993 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
994 |
995 | loupe@2.3.7:
996 | resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
997 |
998 | magic-string@0.30.17:
999 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1000 |
1001 | math-intrinsics@1.1.0:
1002 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1003 | engines: {node: '>= 0.4'}
1004 |
1005 | merge-stream@2.0.0:
1006 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1007 |
1008 | merge2@1.4.1:
1009 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1010 | engines: {node: '>= 8'}
1011 |
1012 | micromatch@4.0.5:
1013 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1014 | engines: {node: '>=8.6'}
1015 |
1016 | mimic-fn@4.0.0:
1017 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
1018 | engines: {node: '>=12'}
1019 |
1020 | minimatch@3.1.2:
1021 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1022 |
1023 | minimatch@9.0.4:
1024 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
1025 | engines: {node: '>=16 || 14 >=14.17'}
1026 |
1027 | mlly@1.7.4:
1028 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
1029 |
1030 | ms@2.1.2:
1031 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1032 |
1033 | ms@2.1.3:
1034 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1035 |
1036 | muggle-string@0.4.1:
1037 | resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
1038 |
1039 | nanoid@3.3.11:
1040 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1041 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1042 | hasBin: true
1043 |
1044 | natural-compare@1.4.0:
1045 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1046 |
1047 | npm-run-path@5.3.0:
1048 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
1049 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1050 |
1051 | nth-check@2.1.1:
1052 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1053 |
1054 | object-assign@4.1.1:
1055 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1056 | engines: {node: '>=0.10.0'}
1057 |
1058 | once@1.4.0:
1059 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1060 |
1061 | onetime@6.0.0:
1062 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
1063 | engines: {node: '>=12'}
1064 |
1065 | optionator@0.9.4:
1066 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1067 | engines: {node: '>= 0.8.0'}
1068 |
1069 | p-limit@3.1.0:
1070 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1071 | engines: {node: '>=10'}
1072 |
1073 | p-limit@5.0.0:
1074 | resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
1075 | engines: {node: '>=18'}
1076 |
1077 | p-locate@5.0.0:
1078 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1079 | engines: {node: '>=10'}
1080 |
1081 | parent-module@1.0.1:
1082 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1083 | engines: {node: '>=6'}
1084 |
1085 | path-exists@4.0.0:
1086 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1087 | engines: {node: '>=8'}
1088 |
1089 | path-is-absolute@1.0.1:
1090 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1091 | engines: {node: '>=0.10.0'}
1092 |
1093 | path-key@3.1.1:
1094 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1095 | engines: {node: '>=8'}
1096 |
1097 | path-key@4.0.0:
1098 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
1099 | engines: {node: '>=12'}
1100 |
1101 | path-parse@1.0.7:
1102 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1103 |
1104 | path-type@4.0.0:
1105 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1106 | engines: {node: '>=8'}
1107 |
1108 | pathe@1.1.2:
1109 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
1110 |
1111 | pathe@2.0.3:
1112 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
1113 |
1114 | pathval@1.1.1:
1115 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
1116 |
1117 | picocolors@1.1.1:
1118 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1119 |
1120 | picomatch@2.3.1:
1121 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1122 | engines: {node: '>=8.6'}
1123 |
1124 | pkg-types@1.3.1:
1125 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
1126 |
1127 | postcss-selector-parser@6.0.16:
1128 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
1129 | engines: {node: '>=4'}
1130 |
1131 | postcss@8.5.3:
1132 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
1133 | engines: {node: ^10 || ^12 || >=14}
1134 |
1135 | prelude-ls@1.2.1:
1136 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1137 | engines: {node: '>= 0.8.0'}
1138 |
1139 | prettier-linter-helpers@1.0.0:
1140 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
1141 | engines: {node: '>=6.0.0'}
1142 |
1143 | prettier@2.8.8:
1144 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
1145 | engines: {node: '>=10.13.0'}
1146 | hasBin: true
1147 |
1148 | prettier@3.2.5:
1149 | resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
1150 | engines: {node: '>=14'}
1151 | hasBin: true
1152 |
1153 | pretty-format@29.7.0:
1154 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
1155 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1156 |
1157 | promise@7.3.1:
1158 | resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
1159 |
1160 | pug-attrs@3.0.0:
1161 | resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==}
1162 |
1163 | pug-code-gen@3.0.3:
1164 | resolution: {integrity: sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==}
1165 |
1166 | pug-error@2.1.0:
1167 | resolution: {integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==}
1168 |
1169 | pug-filters@4.0.0:
1170 | resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==}
1171 |
1172 | pug-lexer@5.0.1:
1173 | resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==}
1174 |
1175 | pug-linker@4.0.0:
1176 | resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==}
1177 |
1178 | pug-load@3.0.0:
1179 | resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==}
1180 |
1181 | pug-parser@6.0.0:
1182 | resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==}
1183 |
1184 | pug-runtime@3.0.1:
1185 | resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==}
1186 |
1187 | pug-strip-comments@2.0.0:
1188 | resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==}
1189 |
1190 | pug-walk@2.0.0:
1191 | resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==}
1192 |
1193 | pug@3.0.3:
1194 | resolution: {integrity: sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==}
1195 |
1196 | punycode@2.3.1:
1197 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1198 | engines: {node: '>=6'}
1199 |
1200 | queue-microtask@1.2.3:
1201 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1202 |
1203 | react-is@18.3.1:
1204 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
1205 |
1206 | resolve-from@4.0.0:
1207 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1208 | engines: {node: '>=4'}
1209 |
1210 | resolve@1.22.10:
1211 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1212 | engines: {node: '>= 0.4'}
1213 | hasBin: true
1214 |
1215 | reusify@1.0.4:
1216 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1217 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1218 |
1219 | rimraf@3.0.2:
1220 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1221 | deprecated: Rimraf versions prior to v4 are no longer supported
1222 | hasBin: true
1223 |
1224 | rollup@4.39.0:
1225 | resolution: {integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==}
1226 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1227 | hasBin: true
1228 |
1229 | run-parallel@1.2.0:
1230 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1231 |
1232 | sax@1.3.0:
1233 | resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
1234 |
1235 | semver@7.6.2:
1236 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
1237 | engines: {node: '>=10'}
1238 | hasBin: true
1239 |
1240 | shebang-command@2.0.0:
1241 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1242 | engines: {node: '>=8'}
1243 |
1244 | shebang-regex@3.0.0:
1245 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1246 | engines: {node: '>=8'}
1247 |
1248 | siginfo@2.0.0:
1249 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
1250 |
1251 | signal-exit@4.1.0:
1252 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1253 | engines: {node: '>=14'}
1254 |
1255 | slash@3.0.0:
1256 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1257 | engines: {node: '>=8'}
1258 |
1259 | source-map-js@1.2.1:
1260 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1261 | engines: {node: '>=0.10.0'}
1262 |
1263 | source-map@0.6.1:
1264 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1265 | engines: {node: '>=0.10.0'}
1266 |
1267 | source-map@0.7.4:
1268 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
1269 | engines: {node: '>= 8'}
1270 |
1271 | stackback@0.0.2:
1272 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
1273 |
1274 | std-env@3.9.0:
1275 | resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
1276 |
1277 | strip-ansi@6.0.1:
1278 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1279 | engines: {node: '>=8'}
1280 |
1281 | strip-final-newline@3.0.0:
1282 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
1283 | engines: {node: '>=12'}
1284 |
1285 | strip-json-comments@3.1.1:
1286 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1287 | engines: {node: '>=8'}
1288 |
1289 | strip-literal@2.1.1:
1290 | resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==}
1291 |
1292 | stylus@0.63.0:
1293 | resolution: {integrity: sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw==}
1294 | hasBin: true
1295 |
1296 | supports-color@7.2.0:
1297 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1298 | engines: {node: '>=8'}
1299 |
1300 | supports-preserve-symlinks-flag@1.0.0:
1301 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1302 | engines: {node: '>= 0.4'}
1303 |
1304 | synckit@0.8.8:
1305 | resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==}
1306 | engines: {node: ^14.18.0 || >=16.0.0}
1307 |
1308 | text-table@0.2.0:
1309 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1310 |
1311 | tinybench@2.9.0:
1312 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
1313 |
1314 | tinypool@0.8.4:
1315 | resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
1316 | engines: {node: '>=14.0.0'}
1317 |
1318 | tinyspy@2.2.1:
1319 | resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
1320 | engines: {node: '>=14.0.0'}
1321 |
1322 | to-fast-properties@2.0.0:
1323 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1324 | engines: {node: '>=4'}
1325 |
1326 | to-regex-range@5.0.1:
1327 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1328 | engines: {node: '>=8.0'}
1329 |
1330 | token-stream@1.0.0:
1331 | resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==}
1332 |
1333 | ts-api-utils@1.3.0:
1334 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
1335 | engines: {node: '>=16'}
1336 | peerDependencies:
1337 | typescript: '>=4.2.0'
1338 |
1339 | tslib@2.6.2:
1340 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1341 |
1342 | type-check@0.4.0:
1343 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1344 | engines: {node: '>= 0.8.0'}
1345 |
1346 | type-detect@4.1.0:
1347 | resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==}
1348 | engines: {node: '>=4'}
1349 |
1350 | type-fest@0.20.2:
1351 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1352 | engines: {node: '>=10'}
1353 |
1354 | typescript@5.4.5:
1355 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
1356 | engines: {node: '>=14.17'}
1357 | hasBin: true
1358 |
1359 | ufo@1.6.1:
1360 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
1361 |
1362 | uri-js@4.4.1:
1363 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1364 |
1365 | util-deprecate@1.0.2:
1366 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1367 |
1368 | vite-node@1.6.1:
1369 | resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==}
1370 | engines: {node: ^18.0.0 || >=20.0.0}
1371 | hasBin: true
1372 |
1373 | vite-plugin-banner@0.7.1:
1374 | resolution: {integrity: sha512-Bww2Xd5tOGsZ1yZ9rQiGneryvsL1u86znPrqeQjCsXPsG72pnSdV5lcQA+cy8UNDguMqyTJiCevlNUbLnT85UA==}
1375 |
1376 | vite-plugin-css-injected-by-js@3.5.1:
1377 | resolution: {integrity: sha512-9ioqwDuEBxW55gNoWFEDhfLTrVKXEEZgl5adhWmmqa88EQGKfTmexy4v1Rh0pAS6RhKQs2bUYQArprB32JpUZQ==}
1378 | peerDependencies:
1379 | vite: '>2.0.0-0'
1380 |
1381 | vite@5.4.18:
1382 | resolution: {integrity: sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==}
1383 | engines: {node: ^18.0.0 || >=20.0.0}
1384 | hasBin: true
1385 | peerDependencies:
1386 | '@types/node': ^18.0.0 || >=20.0.0
1387 | less: '*'
1388 | lightningcss: ^1.21.0
1389 | sass: '*'
1390 | sass-embedded: '*'
1391 | stylus: '*'
1392 | sugarss: '*'
1393 | terser: ^5.4.0
1394 | peerDependenciesMeta:
1395 | '@types/node':
1396 | optional: true
1397 | less:
1398 | optional: true
1399 | lightningcss:
1400 | optional: true
1401 | sass:
1402 | optional: true
1403 | sass-embedded:
1404 | optional: true
1405 | stylus:
1406 | optional: true
1407 | sugarss:
1408 | optional: true
1409 | terser:
1410 | optional: true
1411 |
1412 | vitest@1.6.1:
1413 | resolution: {integrity: sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==}
1414 | engines: {node: ^18.0.0 || >=20.0.0}
1415 | hasBin: true
1416 | peerDependencies:
1417 | '@edge-runtime/vm': '*'
1418 | '@types/node': ^18.0.0 || >=20.0.0
1419 | '@vitest/browser': 1.6.1
1420 | '@vitest/ui': 1.6.1
1421 | happy-dom: '*'
1422 | jsdom: '*'
1423 | peerDependenciesMeta:
1424 | '@edge-runtime/vm':
1425 | optional: true
1426 | '@types/node':
1427 | optional: true
1428 | '@vitest/browser':
1429 | optional: true
1430 | '@vitest/ui':
1431 | optional: true
1432 | happy-dom:
1433 | optional: true
1434 | jsdom:
1435 | optional: true
1436 |
1437 | void-elements@3.1.0:
1438 | resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
1439 | engines: {node: '>=0.10.0'}
1440 |
1441 | volar-service-html@0.0.45:
1442 | resolution: {integrity: sha512-tLTJqfy1v5C4nmeAsfekFIKPl4r4qDMyL0L9MWywr/EApZzPCsbeUGxCqdzxSMC2q7PMCfX2i167txDo+J0LVA==}
1443 | peerDependencies:
1444 | '@volar/language-service': ~2.2.3
1445 | peerDependenciesMeta:
1446 | '@volar/language-service':
1447 | optional: true
1448 |
1449 | volar-service-pug@0.0.45:
1450 | resolution: {integrity: sha512-Xr45hVTMzt6NI2xgA69+Evzmes6pePqR2X4wl6io76M70M3W+QDbvHH3u8+5QrvVvbQGY0HledQcT29bCWRADQ==}
1451 |
1452 | vscode-jsonrpc@8.2.0:
1453 | resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
1454 | engines: {node: '>=14.0.0'}
1455 |
1456 | vscode-languageserver-protocol@3.17.5:
1457 | resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
1458 |
1459 | vscode-languageserver-textdocument@1.0.11:
1460 | resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
1461 |
1462 | vscode-languageserver-types@3.17.5:
1463 | resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
1464 |
1465 | vscode-uri@3.0.8:
1466 | resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
1467 |
1468 | vscode-uri@3.1.0:
1469 | resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
1470 |
1471 | vue-eslint-parser@9.4.2:
1472 | resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==}
1473 | engines: {node: ^14.17.0 || >=16.0.0}
1474 | peerDependencies:
1475 | eslint: '>=6.0.0'
1476 |
1477 | vue@2.7.16:
1478 | resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==}
1479 | deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.
1480 |
1481 | which@2.0.2:
1482 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1483 | engines: {node: '>= 8'}
1484 | hasBin: true
1485 |
1486 | why-is-node-running@2.3.0:
1487 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
1488 | engines: {node: '>=8'}
1489 | hasBin: true
1490 |
1491 | with@7.0.2:
1492 | resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
1493 | engines: {node: '>= 10.0.0'}
1494 |
1495 | word-wrap@1.2.5:
1496 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1497 | engines: {node: '>=0.10.0'}
1498 |
1499 | wrappy@1.0.2:
1500 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1501 |
1502 | xbytes@1.9.1:
1503 | resolution: {integrity: sha512-29E0ygMFWrM5JW2W1ypmezjyR2FOS5aCszdLe620ymSJBoZzL0/RCLJKCoUFu3DfQGhZ/FWykEBp5dfEy6+hjA==}
1504 | engines: {node: '>=1'}
1505 |
1506 | xml-name-validator@4.0.0:
1507 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
1508 | engines: {node: '>=12'}
1509 |
1510 | yocto-queue@0.1.0:
1511 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1512 | engines: {node: '>=10'}
1513 |
1514 | yocto-queue@1.2.1:
1515 | resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
1516 | engines: {node: '>=12.20'}
1517 |
1518 | snapshots:
1519 |
1520 | '@adobe/css-tools@4.3.3': {}
1521 |
1522 | '@babel/helper-string-parser@7.24.1': {}
1523 |
1524 | '@babel/helper-string-parser@7.25.9': {}
1525 |
1526 | '@babel/helper-validator-identifier@7.24.5': {}
1527 |
1528 | '@babel/helper-validator-identifier@7.25.9': {}
1529 |
1530 | '@babel/parser@7.24.5':
1531 | dependencies:
1532 | '@babel/types': 7.24.5
1533 |
1534 | '@babel/parser@7.27.0':
1535 | dependencies:
1536 | '@babel/types': 7.27.0
1537 |
1538 | '@babel/types@7.24.5':
1539 | dependencies:
1540 | '@babel/helper-string-parser': 7.24.1
1541 | '@babel/helper-validator-identifier': 7.24.5
1542 | to-fast-properties: 2.0.0
1543 |
1544 | '@babel/types@7.27.0':
1545 | dependencies:
1546 | '@babel/helper-string-parser': 7.25.9
1547 | '@babel/helper-validator-identifier': 7.25.9
1548 |
1549 | '@esbuild/aix-ppc64@0.21.5':
1550 | optional: true
1551 |
1552 | '@esbuild/android-arm64@0.21.5':
1553 | optional: true
1554 |
1555 | '@esbuild/android-arm@0.21.5':
1556 | optional: true
1557 |
1558 | '@esbuild/android-x64@0.21.5':
1559 | optional: true
1560 |
1561 | '@esbuild/darwin-arm64@0.21.5':
1562 | optional: true
1563 |
1564 | '@esbuild/darwin-x64@0.21.5':
1565 | optional: true
1566 |
1567 | '@esbuild/freebsd-arm64@0.21.5':
1568 | optional: true
1569 |
1570 | '@esbuild/freebsd-x64@0.21.5':
1571 | optional: true
1572 |
1573 | '@esbuild/linux-arm64@0.21.5':
1574 | optional: true
1575 |
1576 | '@esbuild/linux-arm@0.21.5':
1577 | optional: true
1578 |
1579 | '@esbuild/linux-ia32@0.21.5':
1580 | optional: true
1581 |
1582 | '@esbuild/linux-loong64@0.21.5':
1583 | optional: true
1584 |
1585 | '@esbuild/linux-mips64el@0.21.5':
1586 | optional: true
1587 |
1588 | '@esbuild/linux-ppc64@0.21.5':
1589 | optional: true
1590 |
1591 | '@esbuild/linux-riscv64@0.21.5':
1592 | optional: true
1593 |
1594 | '@esbuild/linux-s390x@0.21.5':
1595 | optional: true
1596 |
1597 | '@esbuild/linux-x64@0.21.5':
1598 | optional: true
1599 |
1600 | '@esbuild/netbsd-x64@0.21.5':
1601 | optional: true
1602 |
1603 | '@esbuild/openbsd-x64@0.21.5':
1604 | optional: true
1605 |
1606 | '@esbuild/sunos-x64@0.21.5':
1607 | optional: true
1608 |
1609 | '@esbuild/win32-arm64@0.21.5':
1610 | optional: true
1611 |
1612 | '@esbuild/win32-ia32@0.21.5':
1613 | optional: true
1614 |
1615 | '@esbuild/win32-x64@0.21.5':
1616 | optional: true
1617 |
1618 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
1619 | dependencies:
1620 | eslint: 8.57.0
1621 | eslint-visitor-keys: 3.4.3
1622 |
1623 | '@eslint-community/regexpp@4.10.0': {}
1624 |
1625 | '@eslint/eslintrc@2.1.4':
1626 | dependencies:
1627 | ajv: 6.12.6
1628 | debug: 4.3.4
1629 | espree: 9.6.1
1630 | globals: 13.24.0
1631 | ignore: 5.3.1
1632 | import-fresh: 3.3.0
1633 | js-yaml: 4.1.0
1634 | minimatch: 3.1.2
1635 | strip-json-comments: 3.1.1
1636 | transitivePeerDependencies:
1637 | - supports-color
1638 |
1639 | '@eslint/js@8.57.0': {}
1640 |
1641 | '@humanwhocodes/config-array@0.11.14':
1642 | dependencies:
1643 | '@humanwhocodes/object-schema': 2.0.3
1644 | debug: 4.3.4
1645 | minimatch: 3.1.2
1646 | transitivePeerDependencies:
1647 | - supports-color
1648 |
1649 | '@humanwhocodes/module-importer@1.0.1': {}
1650 |
1651 | '@humanwhocodes/object-schema@2.0.3': {}
1652 |
1653 | '@jest/schemas@29.6.3':
1654 | dependencies:
1655 | '@sinclair/typebox': 0.27.8
1656 |
1657 | '@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462':
1658 | dependencies:
1659 | '@vscode/l10n': 0.0.18
1660 | vscode-languageserver-textdocument: 1.0.11
1661 | vscode-languageserver-types: 3.17.5
1662 | vscode-uri: 3.1.0
1663 |
1664 | '@jridgewell/sourcemap-codec@1.5.0': {}
1665 |
1666 | '@nodelib/fs.scandir@2.1.5':
1667 | dependencies:
1668 | '@nodelib/fs.stat': 2.0.5
1669 | run-parallel: 1.2.0
1670 |
1671 | '@nodelib/fs.stat@2.0.5': {}
1672 |
1673 | '@nodelib/fs.walk@1.2.8':
1674 | dependencies:
1675 | '@nodelib/fs.scandir': 2.1.5
1676 | fastq: 1.17.1
1677 |
1678 | '@pkgr/core@0.1.1': {}
1679 |
1680 | '@rollup/rollup-android-arm-eabi@4.39.0':
1681 | optional: true
1682 |
1683 | '@rollup/rollup-android-arm64@4.39.0':
1684 | optional: true
1685 |
1686 | '@rollup/rollup-darwin-arm64@4.39.0':
1687 | optional: true
1688 |
1689 | '@rollup/rollup-darwin-x64@4.39.0':
1690 | optional: true
1691 |
1692 | '@rollup/rollup-freebsd-arm64@4.39.0':
1693 | optional: true
1694 |
1695 | '@rollup/rollup-freebsd-x64@4.39.0':
1696 | optional: true
1697 |
1698 | '@rollup/rollup-linux-arm-gnueabihf@4.39.0':
1699 | optional: true
1700 |
1701 | '@rollup/rollup-linux-arm-musleabihf@4.39.0':
1702 | optional: true
1703 |
1704 | '@rollup/rollup-linux-arm64-gnu@4.39.0':
1705 | optional: true
1706 |
1707 | '@rollup/rollup-linux-arm64-musl@4.39.0':
1708 | optional: true
1709 |
1710 | '@rollup/rollup-linux-loongarch64-gnu@4.39.0':
1711 | optional: true
1712 |
1713 | '@rollup/rollup-linux-powerpc64le-gnu@4.39.0':
1714 | optional: true
1715 |
1716 | '@rollup/rollup-linux-riscv64-gnu@4.39.0':
1717 | optional: true
1718 |
1719 | '@rollup/rollup-linux-riscv64-musl@4.39.0':
1720 | optional: true
1721 |
1722 | '@rollup/rollup-linux-s390x-gnu@4.39.0':
1723 | optional: true
1724 |
1725 | '@rollup/rollup-linux-x64-gnu@4.39.0':
1726 | optional: true
1727 |
1728 | '@rollup/rollup-linux-x64-musl@4.39.0':
1729 | optional: true
1730 |
1731 | '@rollup/rollup-win32-arm64-msvc@4.39.0':
1732 | optional: true
1733 |
1734 | '@rollup/rollup-win32-ia32-msvc@4.39.0':
1735 | optional: true
1736 |
1737 | '@rollup/rollup-win32-x64-msvc@4.39.0':
1738 | optional: true
1739 |
1740 | '@sinclair/typebox@0.27.8': {}
1741 |
1742 | '@types/estree@1.0.7': {}
1743 |
1744 | '@typescript-eslint/scope-manager@7.9.0':
1745 | dependencies:
1746 | '@typescript-eslint/types': 7.9.0
1747 | '@typescript-eslint/visitor-keys': 7.9.0
1748 |
1749 | '@typescript-eslint/types@7.9.0': {}
1750 |
1751 | '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)':
1752 | dependencies:
1753 | '@typescript-eslint/types': 7.9.0
1754 | '@typescript-eslint/visitor-keys': 7.9.0
1755 | debug: 4.4.0
1756 | globby: 11.1.0
1757 | is-glob: 4.0.3
1758 | minimatch: 9.0.4
1759 | semver: 7.6.2
1760 | ts-api-utils: 1.3.0(typescript@5.4.5)
1761 | optionalDependencies:
1762 | typescript: 5.4.5
1763 | transitivePeerDependencies:
1764 | - supports-color
1765 |
1766 | '@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
1767 | dependencies:
1768 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
1769 | '@typescript-eslint/scope-manager': 7.9.0
1770 | '@typescript-eslint/types': 7.9.0
1771 | '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
1772 | eslint: 8.57.0
1773 | transitivePeerDependencies:
1774 | - supports-color
1775 | - typescript
1776 |
1777 | '@typescript-eslint/visitor-keys@7.9.0':
1778 | dependencies:
1779 | '@typescript-eslint/types': 7.9.0
1780 | eslint-visitor-keys: 3.4.3
1781 |
1782 | '@ungap/structured-clone@1.2.0': {}
1783 |
1784 | '@vitejs/plugin-vue2@2.3.1(vite@5.4.18(stylus@0.63.0))(vue@2.7.16)':
1785 | dependencies:
1786 | vite: 5.4.18(stylus@0.63.0)
1787 | vue: 2.7.16
1788 |
1789 | '@vitest/expect@1.6.1':
1790 | dependencies:
1791 | '@vitest/spy': 1.6.1
1792 | '@vitest/utils': 1.6.1
1793 | chai: 4.5.0
1794 |
1795 | '@vitest/runner@1.6.1':
1796 | dependencies:
1797 | '@vitest/utils': 1.6.1
1798 | p-limit: 5.0.0
1799 | pathe: 1.1.2
1800 |
1801 | '@vitest/snapshot@1.6.1':
1802 | dependencies:
1803 | magic-string: 0.30.17
1804 | pathe: 1.1.2
1805 | pretty-format: 29.7.0
1806 |
1807 | '@vitest/spy@1.6.1':
1808 | dependencies:
1809 | tinyspy: 2.2.1
1810 |
1811 | '@vitest/utils@1.6.1':
1812 | dependencies:
1813 | diff-sequences: 29.6.3
1814 | estree-walker: 3.0.3
1815 | loupe: 2.3.7
1816 | pretty-format: 29.7.0
1817 |
1818 | '@volar/language-core@2.2.4':
1819 | dependencies:
1820 | '@volar/source-map': 2.2.4
1821 |
1822 | '@volar/language-service@2.2.4':
1823 | dependencies:
1824 | '@volar/language-core': 2.2.4
1825 | vscode-languageserver-protocol: 3.17.5
1826 | vscode-languageserver-textdocument: 1.0.11
1827 | vscode-uri: 3.0.8
1828 |
1829 | '@volar/source-map@2.2.4':
1830 | dependencies:
1831 | muggle-string: 0.4.1
1832 |
1833 | '@vscode/l10n@0.0.18': {}
1834 |
1835 | '@vue/compiler-sfc@2.7.16':
1836 | dependencies:
1837 | '@babel/parser': 7.24.5
1838 | postcss: 8.5.3
1839 | source-map: 0.6.1
1840 | optionalDependencies:
1841 | prettier: 2.8.8
1842 |
1843 | '@vue/eslint-config-prettier@9.0.0(eslint@8.57.0)(prettier@3.2.5)':
1844 | dependencies:
1845 | eslint: 8.57.0
1846 | eslint-config-prettier: 9.1.0(eslint@8.57.0)
1847 | eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
1848 | prettier: 3.2.5
1849 | transitivePeerDependencies:
1850 | - '@types/eslint'
1851 |
1852 | '@vue/language-plugin-pug@2.0.19':
1853 | dependencies:
1854 | '@volar/source-map': 2.2.4
1855 | volar-service-pug: 0.0.45
1856 |
1857 | acorn-jsx@5.3.2(acorn@8.14.1):
1858 | dependencies:
1859 | acorn: 8.14.1
1860 |
1861 | acorn-walk@8.3.4:
1862 | dependencies:
1863 | acorn: 8.14.1
1864 |
1865 | acorn@7.4.1: {}
1866 |
1867 | acorn@8.14.1: {}
1868 |
1869 | acorn@8.14.1: {}
1870 |
1871 | ajv@6.12.6:
1872 | dependencies:
1873 | fast-deep-equal: 3.1.3
1874 | fast-json-stable-stringify: 2.1.0
1875 | json-schema-traverse: 0.4.1
1876 | uri-js: 4.4.1
1877 |
1878 | ansi-regex@5.0.1: {}
1879 |
1880 | ansi-styles@4.3.0:
1881 | dependencies:
1882 | color-convert: 2.0.1
1883 |
1884 | ansi-styles@5.2.0: {}
1885 |
1886 | argparse@2.0.1: {}
1887 |
1888 | array-union@2.1.0: {}
1889 |
1890 | asap@2.0.6: {}
1891 |
1892 | assert-never@1.4.0: {}
1893 |
1894 | assertion-error@1.1.0: {}
1895 |
1896 | babel-walk@3.0.0-canary-5:
1897 | dependencies:
1898 | '@babel/types': 7.27.0
1899 |
1900 | balanced-match@1.0.2: {}
1901 |
1902 | boolbase@1.0.0: {}
1903 |
1904 | brace-expansion@1.1.11:
1905 | dependencies:
1906 | balanced-match: 1.0.2
1907 | concat-map: 0.0.1
1908 |
1909 | brace-expansion@2.0.1:
1910 | dependencies:
1911 | balanced-match: 1.0.2
1912 |
1913 | braces@3.0.2:
1914 | dependencies:
1915 | fill-range: 7.0.1
1916 |
1917 | cac@6.7.14: {}
1918 |
1919 | call-bind-apply-helpers@1.0.2:
1920 | dependencies:
1921 | es-errors: 1.3.0
1922 | function-bind: 1.1.2
1923 |
1924 | call-bound@1.0.4:
1925 | dependencies:
1926 | call-bind-apply-helpers: 1.0.2
1927 | get-intrinsic: 1.3.0
1928 |
1929 | callsites@3.1.0: {}
1930 |
1931 | chai@4.5.0:
1932 | dependencies:
1933 | assertion-error: 1.1.0
1934 | check-error: 1.0.3
1935 | deep-eql: 4.1.4
1936 | get-func-name: 2.0.2
1937 | loupe: 2.3.7
1938 | pathval: 1.1.1
1939 | type-detect: 4.1.0
1940 |
1941 | chalk@4.1.2:
1942 | dependencies:
1943 | ansi-styles: 4.3.0
1944 | supports-color: 7.2.0
1945 |
1946 | chalk@5.3.0: {}
1947 |
1948 | character-parser@2.2.0:
1949 | dependencies:
1950 | is-regex: 1.2.1
1951 |
1952 | check-error@1.0.3:
1953 | dependencies:
1954 | get-func-name: 2.0.2
1955 |
1956 | color-convert@2.0.1:
1957 | dependencies:
1958 | color-name: 1.1.4
1959 |
1960 | color-name@1.1.4: {}
1961 |
1962 | concat-map@0.0.1: {}
1963 |
1964 | confbox@0.1.8: {}
1965 |
1966 | constantinople@4.0.1:
1967 | dependencies:
1968 | '@babel/parser': 7.27.0
1969 | '@babel/types': 7.27.0
1970 |
1971 | cross-spawn@7.0.3:
1972 | dependencies:
1973 | path-key: 3.1.1
1974 | shebang-command: 2.0.0
1975 | which: 2.0.2
1976 |
1977 | cross-spawn@7.0.6:
1978 | dependencies:
1979 | path-key: 3.1.1
1980 | shebang-command: 2.0.0
1981 | which: 2.0.2
1982 |
1983 | cssesc@3.0.0: {}
1984 |
1985 | csstype@3.1.3: {}
1986 |
1987 | debug@4.3.4:
1988 | dependencies:
1989 | ms: 2.1.2
1990 |
1991 | debug@4.4.0:
1992 | dependencies:
1993 | ms: 2.1.3
1994 |
1995 | deep-eql@4.1.4:
1996 | dependencies:
1997 | type-detect: 4.1.0
1998 |
1999 | deep-is@0.1.4: {}
2000 |
2001 | diff-sequences@29.6.3: {}
2002 |
2003 | dir-glob@3.0.1:
2004 | dependencies:
2005 | path-type: 4.0.0
2006 |
2007 | doctrine@3.0.0:
2008 | dependencies:
2009 | esutils: 2.0.3
2010 |
2011 | doctypes@1.1.0: {}
2012 |
2013 | dunder-proto@1.0.1:
2014 | dependencies:
2015 | call-bind-apply-helpers: 1.0.2
2016 | es-errors: 1.3.0
2017 | gopd: 1.2.0
2018 |
2019 | es-define-property@1.0.1: {}
2020 |
2021 | es-errors@1.3.0: {}
2022 |
2023 | es-object-atoms@1.1.1:
2024 | dependencies:
2025 | es-errors: 1.3.0
2026 |
2027 | esbuild@0.21.5:
2028 | optionalDependencies:
2029 | '@esbuild/aix-ppc64': 0.21.5
2030 | '@esbuild/android-arm': 0.21.5
2031 | '@esbuild/android-arm64': 0.21.5
2032 | '@esbuild/android-x64': 0.21.5
2033 | '@esbuild/darwin-arm64': 0.21.5
2034 | '@esbuild/darwin-x64': 0.21.5
2035 | '@esbuild/freebsd-arm64': 0.21.5
2036 | '@esbuild/freebsd-x64': 0.21.5
2037 | '@esbuild/linux-arm': 0.21.5
2038 | '@esbuild/linux-arm64': 0.21.5
2039 | '@esbuild/linux-ia32': 0.21.5
2040 | '@esbuild/linux-loong64': 0.21.5
2041 | '@esbuild/linux-mips64el': 0.21.5
2042 | '@esbuild/linux-ppc64': 0.21.5
2043 | '@esbuild/linux-riscv64': 0.21.5
2044 | '@esbuild/linux-s390x': 0.21.5
2045 | '@esbuild/linux-x64': 0.21.5
2046 | '@esbuild/netbsd-x64': 0.21.5
2047 | '@esbuild/openbsd-x64': 0.21.5
2048 | '@esbuild/sunos-x64': 0.21.5
2049 | '@esbuild/win32-arm64': 0.21.5
2050 | '@esbuild/win32-ia32': 0.21.5
2051 | '@esbuild/win32-x64': 0.21.5
2052 |
2053 | escape-string-regexp@4.0.0: {}
2054 |
2055 | eslint-config-prettier@9.1.0(eslint@8.57.0):
2056 | dependencies:
2057 | eslint: 8.57.0
2058 |
2059 | eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5):
2060 | dependencies:
2061 | eslint: 8.57.0
2062 | prettier: 3.2.5
2063 | prettier-linter-helpers: 1.0.0
2064 | synckit: 0.8.8
2065 | optionalDependencies:
2066 | eslint-config-prettier: 9.1.0(eslint@8.57.0)
2067 |
2068 | eslint-plugin-simple-import-sort@12.1.0(eslint@8.57.0):
2069 | dependencies:
2070 | eslint: 8.57.0
2071 |
2072 | eslint-plugin-vitest@0.3.26(eslint@8.57.0)(typescript@5.4.5)(vitest@1.6.1(stylus@0.63.0)):
2073 | dependencies:
2074 | '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
2075 | eslint: 8.57.0
2076 | optionalDependencies:
2077 | vitest: 1.6.1(stylus@0.63.0)
2078 | transitivePeerDependencies:
2079 | - supports-color
2080 | - typescript
2081 |
2082 | eslint-plugin-vue@9.26.0(eslint@8.57.0):
2083 | dependencies:
2084 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
2085 | eslint: 8.57.0
2086 | globals: 13.24.0
2087 | natural-compare: 1.4.0
2088 | nth-check: 2.1.1
2089 | postcss-selector-parser: 6.0.16
2090 | semver: 7.6.2
2091 | vue-eslint-parser: 9.4.2(eslint@8.57.0)
2092 | xml-name-validator: 4.0.0
2093 | transitivePeerDependencies:
2094 | - supports-color
2095 |
2096 | eslint-scope@7.2.2:
2097 | dependencies:
2098 | esrecurse: 4.3.0
2099 | estraverse: 5.3.0
2100 |
2101 | eslint-visitor-keys@3.4.3: {}
2102 |
2103 | eslint@8.57.0:
2104 | dependencies:
2105 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
2106 | '@eslint-community/regexpp': 4.10.0
2107 | '@eslint/eslintrc': 2.1.4
2108 | '@eslint/js': 8.57.0
2109 | '@humanwhocodes/config-array': 0.11.14
2110 | '@humanwhocodes/module-importer': 1.0.1
2111 | '@nodelib/fs.walk': 1.2.8
2112 | '@ungap/structured-clone': 1.2.0
2113 | ajv: 6.12.6
2114 | chalk: 4.1.2
2115 | cross-spawn: 7.0.3
2116 | debug: 4.3.4
2117 | doctrine: 3.0.0
2118 | escape-string-regexp: 4.0.0
2119 | eslint-scope: 7.2.2
2120 | eslint-visitor-keys: 3.4.3
2121 | espree: 9.6.1
2122 | esquery: 1.5.0
2123 | esutils: 2.0.3
2124 | fast-deep-equal: 3.1.3
2125 | file-entry-cache: 6.0.1
2126 | find-up: 5.0.0
2127 | glob-parent: 6.0.2
2128 | globals: 13.24.0
2129 | graphemer: 1.4.0
2130 | ignore: 5.3.1
2131 | imurmurhash: 0.1.4
2132 | is-glob: 4.0.3
2133 | is-path-inside: 3.0.3
2134 | js-yaml: 4.1.0
2135 | json-stable-stringify-without-jsonify: 1.0.1
2136 | levn: 0.4.1
2137 | lodash.merge: 4.6.2
2138 | minimatch: 3.1.2
2139 | natural-compare: 1.4.0
2140 | optionator: 0.9.4
2141 | strip-ansi: 6.0.1
2142 | text-table: 0.2.0
2143 | transitivePeerDependencies:
2144 | - supports-color
2145 |
2146 | espree@9.6.1:
2147 | dependencies:
2148 | acorn: 8.14.1
2149 | acorn-jsx: 5.3.2(acorn@8.14.1)
2150 | eslint-visitor-keys: 3.4.3
2151 |
2152 | esquery@1.5.0:
2153 | dependencies:
2154 | estraverse: 5.3.0
2155 |
2156 | esrecurse@4.3.0:
2157 | dependencies:
2158 | estraverse: 5.3.0
2159 |
2160 | estraverse@5.3.0: {}
2161 |
2162 | estree-walker@3.0.3:
2163 | dependencies:
2164 | '@types/estree': 1.0.7
2165 |
2166 | esutils@2.0.3: {}
2167 |
2168 | execa@8.0.1:
2169 | dependencies:
2170 | cross-spawn: 7.0.6
2171 | get-stream: 8.0.1
2172 | human-signals: 5.0.0
2173 | is-stream: 3.0.0
2174 | merge-stream: 2.0.0
2175 | npm-run-path: 5.3.0
2176 | onetime: 6.0.0
2177 | signal-exit: 4.1.0
2178 | strip-final-newline: 3.0.0
2179 |
2180 | fast-deep-equal@3.1.3: {}
2181 |
2182 | fast-diff@1.3.0: {}
2183 |
2184 | fast-glob@3.3.2:
2185 | dependencies:
2186 | '@nodelib/fs.stat': 2.0.5
2187 | '@nodelib/fs.walk': 1.2.8
2188 | glob-parent: 5.1.2
2189 | merge2: 1.4.1
2190 | micromatch: 4.0.5
2191 |
2192 | fast-json-stable-stringify@2.1.0: {}
2193 |
2194 | fast-levenshtein@2.0.6: {}
2195 |
2196 | fastq@1.17.1:
2197 | dependencies:
2198 | reusify: 1.0.4
2199 |
2200 | file-entry-cache@6.0.1:
2201 | dependencies:
2202 | flat-cache: 3.2.0
2203 |
2204 | fill-range@7.0.1:
2205 | dependencies:
2206 | to-regex-range: 5.0.1
2207 |
2208 | find-up@5.0.0:
2209 | dependencies:
2210 | locate-path: 6.0.0
2211 | path-exists: 4.0.0
2212 |
2213 | flat-cache@3.2.0:
2214 | dependencies:
2215 | flatted: 3.3.1
2216 | keyv: 4.5.4
2217 | rimraf: 3.0.2
2218 |
2219 | flatted@3.3.1: {}
2220 |
2221 | fs.realpath@1.0.0: {}
2222 |
2223 | fsevents@2.3.3:
2224 | optional: true
2225 |
2226 | function-bind@1.1.2: {}
2227 |
2228 | get-func-name@2.0.2: {}
2229 |
2230 | get-intrinsic@1.3.0:
2231 | dependencies:
2232 | call-bind-apply-helpers: 1.0.2
2233 | es-define-property: 1.0.1
2234 | es-errors: 1.3.0
2235 | es-object-atoms: 1.1.1
2236 | function-bind: 1.1.2
2237 | get-proto: 1.0.1
2238 | gopd: 1.2.0
2239 | has-symbols: 1.1.0
2240 | hasown: 2.0.2
2241 | math-intrinsics: 1.1.0
2242 |
2243 | get-proto@1.0.1:
2244 | dependencies:
2245 | dunder-proto: 1.0.1
2246 | es-object-atoms: 1.1.1
2247 |
2248 | get-stream@8.0.1: {}
2249 |
2250 | glob-parent@5.1.2:
2251 | dependencies:
2252 | is-glob: 4.0.3
2253 |
2254 | glob-parent@6.0.2:
2255 | dependencies:
2256 | is-glob: 4.0.3
2257 |
2258 | glob@7.2.3:
2259 | dependencies:
2260 | fs.realpath: 1.0.0
2261 | inflight: 1.0.6
2262 | inherits: 2.0.4
2263 | minimatch: 3.1.2
2264 | once: 1.4.0
2265 | path-is-absolute: 1.0.1
2266 |
2267 | globals@13.24.0:
2268 | dependencies:
2269 | type-fest: 0.20.2
2270 |
2271 | globby@11.1.0:
2272 | dependencies:
2273 | array-union: 2.1.0
2274 | dir-glob: 3.0.1
2275 | fast-glob: 3.3.2
2276 | ignore: 5.3.1
2277 | merge2: 1.4.1
2278 | slash: 3.0.0
2279 |
2280 | gopd@1.2.0: {}
2281 |
2282 | graphemer@1.4.0: {}
2283 |
2284 | has-flag@4.0.0: {}
2285 |
2286 | has-symbols@1.1.0: {}
2287 |
2288 | has-tostringtag@1.0.2:
2289 | dependencies:
2290 | has-symbols: 1.1.0
2291 |
2292 | hasown@2.0.2:
2293 | dependencies:
2294 | function-bind: 1.1.2
2295 |
2296 | human-signals@5.0.0: {}
2297 |
2298 | ignore@5.3.1: {}
2299 |
2300 | import-fresh@3.3.0:
2301 | dependencies:
2302 | parent-module: 1.0.1
2303 | resolve-from: 4.0.0
2304 |
2305 | imurmurhash@0.1.4: {}
2306 |
2307 | inflight@1.0.6:
2308 | dependencies:
2309 | once: 1.4.0
2310 | wrappy: 1.0.2
2311 |
2312 | inherits@2.0.4: {}
2313 |
2314 | is-core-module@2.16.1:
2315 | dependencies:
2316 | hasown: 2.0.2
2317 |
2318 | is-expression@4.0.0:
2319 | dependencies:
2320 | acorn: 7.4.1
2321 | object-assign: 4.1.1
2322 |
2323 | is-extglob@2.1.1: {}
2324 |
2325 | is-glob@4.0.3:
2326 | dependencies:
2327 | is-extglob: 2.1.1
2328 |
2329 | is-number@7.0.0: {}
2330 |
2331 | is-path-inside@3.0.3: {}
2332 |
2333 | is-promise@2.2.2: {}
2334 |
2335 | is-regex@1.2.1:
2336 | dependencies:
2337 | call-bound: 1.0.4
2338 | gopd: 1.2.0
2339 | has-tostringtag: 1.0.2
2340 | hasown: 2.0.2
2341 |
2342 | is-stream@3.0.0: {}
2343 |
2344 | isexe@2.0.0: {}
2345 |
2346 | js-stringify@1.0.2: {}
2347 |
2348 | js-tokens@9.0.1: {}
2349 |
2350 | js-yaml@4.1.0:
2351 | dependencies:
2352 | argparse: 2.0.1
2353 |
2354 | json-buffer@3.0.1: {}
2355 |
2356 | json-schema-traverse@0.4.1: {}
2357 |
2358 | json-stable-stringify-without-jsonify@1.0.1: {}
2359 |
2360 | jstransformer@1.0.0:
2361 | dependencies:
2362 | is-promise: 2.2.2
2363 | promise: 7.3.1
2364 |
2365 | keyv@4.5.4:
2366 | dependencies:
2367 | json-buffer: 3.0.1
2368 |
2369 | levn@0.4.1:
2370 | dependencies:
2371 | prelude-ls: 1.2.1
2372 | type-check: 0.4.0
2373 |
2374 | local-pkg@0.5.1:
2375 | dependencies:
2376 | mlly: 1.7.4
2377 | pkg-types: 1.3.1
2378 |
2379 | locate-path@6.0.0:
2380 | dependencies:
2381 | p-locate: 5.0.0
2382 |
2383 | lodash.merge@4.6.2: {}
2384 |
2385 | lodash@4.17.21: {}
2386 |
2387 | loupe@2.3.7:
2388 | dependencies:
2389 | get-func-name: 2.0.2
2390 |
2391 | magic-string@0.30.17:
2392 | dependencies:
2393 | '@jridgewell/sourcemap-codec': 1.5.0
2394 |
2395 | math-intrinsics@1.1.0: {}
2396 |
2397 | merge-stream@2.0.0: {}
2398 |
2399 | merge2@1.4.1: {}
2400 |
2401 | micromatch@4.0.5:
2402 | dependencies:
2403 | braces: 3.0.2
2404 | picomatch: 2.3.1
2405 |
2406 | mimic-fn@4.0.0: {}
2407 |
2408 | minimatch@3.1.2:
2409 | dependencies:
2410 | brace-expansion: 1.1.11
2411 |
2412 | minimatch@9.0.4:
2413 | dependencies:
2414 | brace-expansion: 2.0.1
2415 |
2416 | mlly@1.7.4:
2417 | dependencies:
2418 | acorn: 8.14.1
2419 | pathe: 2.0.3
2420 | pkg-types: 1.3.1
2421 | ufo: 1.6.1
2422 |
2423 | ms@2.1.2: {}
2424 |
2425 | ms@2.1.3: {}
2426 |
2427 | muggle-string@0.4.1: {}
2428 |
2429 | nanoid@3.3.11: {}
2430 |
2431 | natural-compare@1.4.0: {}
2432 |
2433 | npm-run-path@5.3.0:
2434 | dependencies:
2435 | path-key: 4.0.0
2436 |
2437 | nth-check@2.1.1:
2438 | dependencies:
2439 | boolbase: 1.0.0
2440 |
2441 | object-assign@4.1.1: {}
2442 |
2443 | once@1.4.0:
2444 | dependencies:
2445 | wrappy: 1.0.2
2446 |
2447 | onetime@6.0.0:
2448 | dependencies:
2449 | mimic-fn: 4.0.0
2450 |
2451 | optionator@0.9.4:
2452 | dependencies:
2453 | deep-is: 0.1.4
2454 | fast-levenshtein: 2.0.6
2455 | levn: 0.4.1
2456 | prelude-ls: 1.2.1
2457 | type-check: 0.4.0
2458 | word-wrap: 1.2.5
2459 |
2460 | p-limit@3.1.0:
2461 | dependencies:
2462 | yocto-queue: 0.1.0
2463 |
2464 | p-limit@5.0.0:
2465 | dependencies:
2466 | yocto-queue: 1.2.1
2467 |
2468 | p-locate@5.0.0:
2469 | dependencies:
2470 | p-limit: 3.1.0
2471 |
2472 | parent-module@1.0.1:
2473 | dependencies:
2474 | callsites: 3.1.0
2475 |
2476 | path-exists@4.0.0: {}
2477 |
2478 | path-is-absolute@1.0.1: {}
2479 |
2480 | path-key@3.1.1: {}
2481 |
2482 | path-key@4.0.0: {}
2483 |
2484 | path-parse@1.0.7: {}
2485 |
2486 | path-type@4.0.0: {}
2487 |
2488 | pathe@1.1.2: {}
2489 |
2490 | pathe@2.0.3: {}
2491 |
2492 | pathval@1.1.1: {}
2493 |
2494 | picocolors@1.1.1: {}
2495 |
2496 | picomatch@2.3.1: {}
2497 |
2498 | pkg-types@1.3.1:
2499 | dependencies:
2500 | confbox: 0.1.8
2501 | mlly: 1.7.4
2502 | pathe: 2.0.3
2503 |
2504 | postcss-selector-parser@6.0.16:
2505 | dependencies:
2506 | cssesc: 3.0.0
2507 | util-deprecate: 1.0.2
2508 |
2509 | postcss@8.5.3:
2510 | dependencies:
2511 | nanoid: 3.3.11
2512 | picocolors: 1.1.1
2513 | source-map-js: 1.2.1
2514 |
2515 | prelude-ls@1.2.1: {}
2516 |
2517 | prettier-linter-helpers@1.0.0:
2518 | dependencies:
2519 | fast-diff: 1.3.0
2520 |
2521 | prettier@2.8.8:
2522 | optional: true
2523 |
2524 | prettier@3.2.5: {}
2525 |
2526 | pretty-format@29.7.0:
2527 | dependencies:
2528 | '@jest/schemas': 29.6.3
2529 | ansi-styles: 5.2.0
2530 | react-is: 18.3.1
2531 |
2532 | promise@7.3.1:
2533 | dependencies:
2534 | asap: 2.0.6
2535 |
2536 | pug-attrs@3.0.0:
2537 | dependencies:
2538 | constantinople: 4.0.1
2539 | js-stringify: 1.0.2
2540 | pug-runtime: 3.0.1
2541 |
2542 | pug-code-gen@3.0.3:
2543 | dependencies:
2544 | constantinople: 4.0.1
2545 | doctypes: 1.1.0
2546 | js-stringify: 1.0.2
2547 | pug-attrs: 3.0.0
2548 | pug-error: 2.1.0
2549 | pug-runtime: 3.0.1
2550 | void-elements: 3.1.0
2551 | with: 7.0.2
2552 |
2553 | pug-error@2.1.0: {}
2554 |
2555 | pug-filters@4.0.0:
2556 | dependencies:
2557 | constantinople: 4.0.1
2558 | jstransformer: 1.0.0
2559 | pug-error: 2.1.0
2560 | pug-walk: 2.0.0
2561 | resolve: 1.22.10
2562 |
2563 | pug-lexer@5.0.1:
2564 | dependencies:
2565 | character-parser: 2.2.0
2566 | is-expression: 4.0.0
2567 | pug-error: 2.1.0
2568 |
2569 | pug-linker@4.0.0:
2570 | dependencies:
2571 | pug-error: 2.1.0
2572 | pug-walk: 2.0.0
2573 |
2574 | pug-load@3.0.0:
2575 | dependencies:
2576 | object-assign: 4.1.1
2577 | pug-walk: 2.0.0
2578 |
2579 | pug-parser@6.0.0:
2580 | dependencies:
2581 | pug-error: 2.1.0
2582 | token-stream: 1.0.0
2583 |
2584 | pug-runtime@3.0.1: {}
2585 |
2586 | pug-strip-comments@2.0.0:
2587 | dependencies:
2588 | pug-error: 2.1.0
2589 |
2590 | pug-walk@2.0.0: {}
2591 |
2592 | pug@3.0.3:
2593 | dependencies:
2594 | pug-code-gen: 3.0.3
2595 | pug-filters: 4.0.0
2596 | pug-lexer: 5.0.1
2597 | pug-linker: 4.0.0
2598 | pug-load: 3.0.0
2599 | pug-parser: 6.0.0
2600 | pug-runtime: 3.0.1
2601 | pug-strip-comments: 2.0.0
2602 |
2603 | punycode@2.3.1: {}
2604 |
2605 | queue-microtask@1.2.3: {}
2606 |
2607 | react-is@18.3.1: {}
2608 |
2609 | resolve-from@4.0.0: {}
2610 |
2611 | resolve@1.22.10:
2612 | dependencies:
2613 | is-core-module: 2.16.1
2614 | path-parse: 1.0.7
2615 | supports-preserve-symlinks-flag: 1.0.0
2616 |
2617 | reusify@1.0.4: {}
2618 |
2619 | rimraf@3.0.2:
2620 | dependencies:
2621 | glob: 7.2.3
2622 |
2623 | rollup@4.39.0:
2624 | dependencies:
2625 | '@types/estree': 1.0.7
2626 | optionalDependencies:
2627 | '@rollup/rollup-android-arm-eabi': 4.39.0
2628 | '@rollup/rollup-android-arm64': 4.39.0
2629 | '@rollup/rollup-darwin-arm64': 4.39.0
2630 | '@rollup/rollup-darwin-x64': 4.39.0
2631 | '@rollup/rollup-freebsd-arm64': 4.39.0
2632 | '@rollup/rollup-freebsd-x64': 4.39.0
2633 | '@rollup/rollup-linux-arm-gnueabihf': 4.39.0
2634 | '@rollup/rollup-linux-arm-musleabihf': 4.39.0
2635 | '@rollup/rollup-linux-arm64-gnu': 4.39.0
2636 | '@rollup/rollup-linux-arm64-musl': 4.39.0
2637 | '@rollup/rollup-linux-loongarch64-gnu': 4.39.0
2638 | '@rollup/rollup-linux-powerpc64le-gnu': 4.39.0
2639 | '@rollup/rollup-linux-riscv64-gnu': 4.39.0
2640 | '@rollup/rollup-linux-riscv64-musl': 4.39.0
2641 | '@rollup/rollup-linux-s390x-gnu': 4.39.0
2642 | '@rollup/rollup-linux-x64-gnu': 4.39.0
2643 | '@rollup/rollup-linux-x64-musl': 4.39.0
2644 | '@rollup/rollup-win32-arm64-msvc': 4.39.0
2645 | '@rollup/rollup-win32-ia32-msvc': 4.39.0
2646 | '@rollup/rollup-win32-x64-msvc': 4.39.0
2647 | fsevents: 2.3.3
2648 |
2649 | run-parallel@1.2.0:
2650 | dependencies:
2651 | queue-microtask: 1.2.3
2652 |
2653 | sax@1.3.0: {}
2654 |
2655 | semver@7.6.2: {}
2656 |
2657 | shebang-command@2.0.0:
2658 | dependencies:
2659 | shebang-regex: 3.0.0
2660 |
2661 | shebang-regex@3.0.0: {}
2662 |
2663 | siginfo@2.0.0: {}
2664 |
2665 | signal-exit@4.1.0: {}
2666 |
2667 | slash@3.0.0: {}
2668 |
2669 | source-map-js@1.2.1: {}
2670 |
2671 | source-map@0.6.1: {}
2672 |
2673 | source-map@0.7.4: {}
2674 |
2675 | stackback@0.0.2: {}
2676 |
2677 | std-env@3.9.0: {}
2678 |
2679 | strip-ansi@6.0.1:
2680 | dependencies:
2681 | ansi-regex: 5.0.1
2682 |
2683 | strip-final-newline@3.0.0: {}
2684 |
2685 | strip-json-comments@3.1.1: {}
2686 |
2687 | strip-literal@2.1.1:
2688 | dependencies:
2689 | js-tokens: 9.0.1
2690 |
2691 | stylus@0.63.0:
2692 | dependencies:
2693 | '@adobe/css-tools': 4.3.3
2694 | debug: 4.3.4
2695 | glob: 7.2.3
2696 | sax: 1.3.0
2697 | source-map: 0.7.4
2698 | transitivePeerDependencies:
2699 | - supports-color
2700 |
2701 | supports-color@7.2.0:
2702 | dependencies:
2703 | has-flag: 4.0.0
2704 |
2705 | supports-preserve-symlinks-flag@1.0.0: {}
2706 |
2707 | synckit@0.8.8:
2708 | dependencies:
2709 | '@pkgr/core': 0.1.1
2710 | tslib: 2.6.2
2711 |
2712 | text-table@0.2.0: {}
2713 |
2714 | tinybench@2.9.0: {}
2715 |
2716 | tinypool@0.8.4: {}
2717 |
2718 | tinyspy@2.2.1: {}
2719 |
2720 | to-fast-properties@2.0.0: {}
2721 |
2722 | to-regex-range@5.0.1:
2723 | dependencies:
2724 | is-number: 7.0.0
2725 |
2726 | token-stream@1.0.0: {}
2727 |
2728 | ts-api-utils@1.3.0(typescript@5.4.5):
2729 | dependencies:
2730 | typescript: 5.4.5
2731 |
2732 | tslib@2.6.2: {}
2733 |
2734 | type-check@0.4.0:
2735 | dependencies:
2736 | prelude-ls: 1.2.1
2737 |
2738 | type-detect@4.1.0: {}
2739 |
2740 | type-fest@0.20.2: {}
2741 |
2742 | typescript@5.4.5: {}
2743 |
2744 | ufo@1.6.1: {}
2745 |
2746 | uri-js@4.4.1:
2747 | dependencies:
2748 | punycode: 2.3.1
2749 |
2750 | util-deprecate@1.0.2: {}
2751 |
2752 | vite-node@1.6.1(stylus@0.63.0):
2753 | dependencies:
2754 | cac: 6.7.14
2755 | debug: 4.4.0
2756 | pathe: 1.1.2
2757 | picocolors: 1.1.1
2758 | vite: 5.4.18(stylus@0.63.0)
2759 | transitivePeerDependencies:
2760 | - '@types/node'
2761 | - less
2762 | - lightningcss
2763 | - sass
2764 | - sass-embedded
2765 | - stylus
2766 | - sugarss
2767 | - supports-color
2768 | - terser
2769 |
2770 | vite-plugin-banner@0.7.1: {}
2771 |
2772 | vite-plugin-css-injected-by-js@3.5.1(vite@5.4.18(stylus@0.63.0)):
2773 | dependencies:
2774 | vite: 5.4.18(stylus@0.63.0)
2775 |
2776 | vite@5.4.18(stylus@0.63.0):
2777 | dependencies:
2778 | esbuild: 0.21.5
2779 | postcss: 8.5.3
2780 | rollup: 4.39.0
2781 | optionalDependencies:
2782 | fsevents: 2.3.3
2783 | stylus: 0.63.0
2784 |
2785 | vitest@1.6.1(stylus@0.63.0):
2786 | dependencies:
2787 | '@vitest/expect': 1.6.1
2788 | '@vitest/runner': 1.6.1
2789 | '@vitest/snapshot': 1.6.1
2790 | '@vitest/spy': 1.6.1
2791 | '@vitest/utils': 1.6.1
2792 | acorn-walk: 8.3.4
2793 | chai: 4.5.0
2794 | debug: 4.4.0
2795 | execa: 8.0.1
2796 | local-pkg: 0.5.1
2797 | magic-string: 0.30.17
2798 | pathe: 1.1.2
2799 | picocolors: 1.1.1
2800 | std-env: 3.9.0
2801 | strip-literal: 2.1.1
2802 | tinybench: 2.9.0
2803 | tinypool: 0.8.4
2804 | vite: 5.4.18(stylus@0.63.0)
2805 | vite-node: 1.6.1(stylus@0.63.0)
2806 | why-is-node-running: 2.3.0
2807 | transitivePeerDependencies:
2808 | - less
2809 | - lightningcss
2810 | - sass
2811 | - sass-embedded
2812 | - stylus
2813 | - sugarss
2814 | - supports-color
2815 | - terser
2816 |
2817 | void-elements@3.1.0: {}
2818 |
2819 | volar-service-html@0.0.45(@volar/language-service@2.2.4):
2820 | dependencies:
2821 | vscode-html-languageservice: '@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462'
2822 | vscode-languageserver-textdocument: 1.0.11
2823 | vscode-uri: 3.0.8
2824 | optionalDependencies:
2825 | '@volar/language-service': 2.2.4
2826 |
2827 | volar-service-pug@0.0.45:
2828 | dependencies:
2829 | '@volar/language-service': 2.2.4
2830 | pug-lexer: 5.0.1
2831 | pug-parser: 6.0.0
2832 | volar-service-html: 0.0.45(@volar/language-service@2.2.4)
2833 | vscode-html-languageservice: '@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462'
2834 | vscode-languageserver-textdocument: 1.0.11
2835 |
2836 | vscode-jsonrpc@8.2.0: {}
2837 |
2838 | vscode-languageserver-protocol@3.17.5:
2839 | dependencies:
2840 | vscode-jsonrpc: 8.2.0
2841 | vscode-languageserver-types: 3.17.5
2842 |
2843 | vscode-languageserver-textdocument@1.0.11: {}
2844 |
2845 | vscode-languageserver-types@3.17.5: {}
2846 |
2847 | vscode-uri@3.0.8: {}
2848 |
2849 | vscode-uri@3.1.0: {}
2850 |
2851 | vue-eslint-parser@9.4.2(eslint@8.57.0):
2852 | dependencies:
2853 | debug: 4.4.0
2854 | eslint: 8.57.0
2855 | eslint-scope: 7.2.2
2856 | eslint-visitor-keys: 3.4.3
2857 | espree: 9.6.1
2858 | esquery: 1.5.0
2859 | lodash: 4.17.21
2860 | semver: 7.6.2
2861 | transitivePeerDependencies:
2862 | - supports-color
2863 |
2864 | vue@2.7.16:
2865 | dependencies:
2866 | '@vue/compiler-sfc': 2.7.16
2867 | csstype: 3.1.3
2868 |
2869 | which@2.0.2:
2870 | dependencies:
2871 | isexe: 2.0.0
2872 |
2873 | why-is-node-running@2.3.0:
2874 | dependencies:
2875 | siginfo: 2.0.0
2876 | stackback: 0.0.2
2877 |
2878 | with@7.0.2:
2879 | dependencies:
2880 | '@babel/parser': 7.27.0
2881 | '@babel/types': 7.27.0
2882 | assert-never: 1.4.0
2883 | babel-walk: 3.0.0-canary-5
2884 |
2885 | word-wrap@1.2.5: {}
2886 |
2887 | wrappy@1.0.2: {}
2888 |
2889 | xbytes@1.9.1: {}
2890 |
2891 | xml-name-validator@4.0.0: {}
2892 |
2893 | yocto-queue@0.1.0: {}
2894 |
2895 | yocto-queue@1.2.1: {}
2896 |
--------------------------------------------------------------------------------