cuiqian2004
2025-03-03 b0041cf10ba3ddf74b9edcfd340a7d1c9179d878
package-lock.json
@@ -8,11 +8,32 @@
        "vue-i18n": "^9.13.1"
      }
    },
    "node_modules/@babel/parser": {
      "version": "7.24.7",
      "resolved": "https://r.cnpmjs.org/@babel/parser/-/parser-7.24.7.tgz",
      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
    "node_modules/@babel/helper-string-parser": {
      "version": "7.25.9",
      "resolved": "https://r.cnpmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
      "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
      "peer": true,
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@babel/helper-validator-identifier": {
      "version": "7.25.9",
      "resolved": "https://r.cnpmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
      "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
      "peer": true,
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@babel/parser": {
      "version": "7.26.3",
      "resolved": "https://r.cnpmjs.org/@babel/parser/-/parser-7.26.3.tgz",
      "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
      "peer": true,
      "dependencies": {
        "@babel/types": "^7.26.3"
      },
      "bin": {
        "parser": "bin/babel-parser.js"
      },
@@ -20,13 +41,26 @@
        "node": ">=6.0.0"
      }
    },
    "node_modules/@intlify/core-base": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz",
      "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==",
    "node_modules/@babel/types": {
      "version": "7.26.3",
      "resolved": "https://r.cnpmjs.org/@babel/types/-/types-7.26.3.tgz",
      "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
      "peer": true,
      "dependencies": {
        "@intlify/message-compiler": "9.13.1",
        "@intlify/shared": "9.13.1"
        "@babel/helper-string-parser": "^7.25.9",
        "@babel/helper-validator-identifier": "^7.25.9"
      },
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@intlify/core-base": {
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/core-base/-/core-base-9.14.2.tgz",
      "integrity": "sha512-DZyQ4Hk22sC81MP4qiCDuU+LdaYW91A6lCjq8AWPvY3+mGMzhGDfOCzvyR6YBQxtlPjFqMoFk9ylnNYRAQwXtQ==",
      "dependencies": {
        "@intlify/message-compiler": "9.14.2",
        "@intlify/shared": "9.14.2"
      },
      "engines": {
        "node": ">= 16"
@@ -36,21 +70,24 @@
      }
    },
    "node_modules/@intlify/message-compiler": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz",
      "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==",
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/message-compiler/-/message-compiler-9.14.2.tgz",
      "integrity": "sha512-YsKKuV4Qv4wrLNsvgWbTf0E40uRv+Qiw1BeLQ0LAxifQuhiMe+hfTIzOMdWj/ZpnTDj4RSZtkXjJM7JDiiB5LQ==",
      "dependencies": {
        "@intlify/shared": "9.13.1",
        "@intlify/shared": "9.14.2",
        "source-map-js": "^1.0.2"
      },
      "engines": {
        "node": ">= 16"
      },
      "funding": {
        "url": "https://github.com/sponsors/kazupon"
      }
    },
    "node_modules/@intlify/shared": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/shared/-/shared-9.13.1.tgz",
      "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==",
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/shared/-/shared-9.14.2.tgz",
      "integrity": "sha512-uRAHAxYPeF+G5DBIboKpPgC/Waecd4Jz8ihtkpJQD5ycb5PwXp0k/+hBGl5dAjwF7w+l74kz/PKA8r8OK//RUw==",
      "engines": {
        "node": ">= 16"
      },
@@ -59,114 +96,114 @@
      }
    },
    "node_modules/@jridgewell/sourcemap-codec": {
      "version": "1.4.15",
      "resolved": "https://r.cnpmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
      "version": "1.5.0",
      "resolved": "https://r.cnpmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
      "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
      "peer": true
    },
    "node_modules/@vue/compiler-core": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-core/-/compiler-core-3.4.31.tgz",
      "integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
      "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
      "peer": true,
      "dependencies": {
        "@babel/parser": "^7.24.7",
        "@vue/shared": "3.4.31",
        "@babel/parser": "^7.25.3",
        "@vue/shared": "3.5.13",
        "entities": "^4.5.0",
        "estree-walker": "^2.0.2",
        "source-map-js": "^1.2.0"
      }
    },
    "node_modules/@vue/compiler-dom": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz",
      "integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
      "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
      "peer": true,
      "dependencies": {
        "@vue/compiler-core": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-core": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "node_modules/@vue/compiler-sfc": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz",
      "integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
      "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
      "peer": true,
      "dependencies": {
        "@babel/parser": "^7.24.7",
        "@vue/compiler-core": "3.4.31",
        "@vue/compiler-dom": "3.4.31",
        "@vue/compiler-ssr": "3.4.31",
        "@vue/shared": "3.4.31",
        "@babel/parser": "^7.25.3",
        "@vue/compiler-core": "3.5.13",
        "@vue/compiler-dom": "3.5.13",
        "@vue/compiler-ssr": "3.5.13",
        "@vue/shared": "3.5.13",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.10",
        "postcss": "^8.4.38",
        "magic-string": "^0.30.11",
        "postcss": "^8.4.48",
        "source-map-js": "^1.2.0"
      }
    },
    "node_modules/@vue/compiler-ssr": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz",
      "integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
      "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
      "peer": true,
      "dependencies": {
        "@vue/compiler-dom": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-dom": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "node_modules/@vue/devtools-api": {
      "version": "6.6.3",
      "resolved": "https://r.cnpmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
      "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
      "version": "6.6.4",
      "resolved": "https://r.cnpmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
      "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="
    },
    "node_modules/@vue/reactivity": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/reactivity/-/reactivity-3.4.31.tgz",
      "integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz",
      "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
      "peer": true,
      "dependencies": {
        "@vue/shared": "3.4.31"
        "@vue/shared": "3.5.13"
      }
    },
    "node_modules/@vue/runtime-core": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-core/-/runtime-core-3.4.31.tgz",
      "integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
      "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
      "peer": true,
      "dependencies": {
        "@vue/reactivity": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/reactivity": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "node_modules/@vue/runtime-dom": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz",
      "integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
      "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
      "peer": true,
      "dependencies": {
        "@vue/reactivity": "3.4.31",
        "@vue/runtime-core": "3.4.31",
        "@vue/shared": "3.4.31",
        "@vue/reactivity": "3.5.13",
        "@vue/runtime-core": "3.5.13",
        "@vue/shared": "3.5.13",
        "csstype": "^3.1.3"
      }
    },
    "node_modules/@vue/server-renderer": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/server-renderer/-/server-renderer-3.4.31.tgz",
      "integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
      "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
      "peer": true,
      "dependencies": {
        "@vue/compiler-ssr": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-ssr": "3.5.13",
        "@vue/shared": "3.5.13"
      },
      "peerDependencies": {
        "vue": "3.4.31"
        "vue": "3.5.13"
      }
    },
    "node_modules/@vue/shared": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/shared/-/shared-3.4.31.tgz",
      "integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/shared/-/shared-3.5.13.tgz",
      "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
      "peer": true
    },
    "node_modules/csstype": {
@@ -194,18 +231,18 @@
      "peer": true
    },
    "node_modules/magic-string": {
      "version": "0.30.10",
      "resolved": "https://r.cnpmjs.org/magic-string/-/magic-string-0.30.10.tgz",
      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
      "version": "0.30.17",
      "resolved": "https://r.cnpmjs.org/magic-string/-/magic-string-0.30.17.tgz",
      "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
      "peer": true,
      "dependencies": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
        "@jridgewell/sourcemap-codec": "^1.5.0"
      }
    },
    "node_modules/nanoid": {
      "version": "3.3.7",
      "resolved": "https://r.cnpmjs.org/nanoid/-/nanoid-3.3.7.tgz",
      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
      "version": "3.3.8",
      "resolved": "https://r.cnpmjs.org/nanoid/-/nanoid-3.3.8.tgz",
      "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
      "funding": [
        {
          "type": "github",
@@ -221,15 +258,15 @@
      }
    },
    "node_modules/picocolors": {
      "version": "1.0.1",
      "resolved": "https://r.cnpmjs.org/picocolors/-/picocolors-1.0.1.tgz",
      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
      "version": "1.1.1",
      "resolved": "https://r.cnpmjs.org/picocolors/-/picocolors-1.1.1.tgz",
      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
      "peer": true
    },
    "node_modules/postcss": {
      "version": "8.4.39",
      "resolved": "https://r.cnpmjs.org/postcss/-/postcss-8.4.39.tgz",
      "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
      "version": "8.4.49",
      "resolved": "https://r.cnpmjs.org/postcss/-/postcss-8.4.49.tgz",
      "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
      "funding": [
        {
          "type": "opencollective",
@@ -247,32 +284,32 @@
      "peer": true,
      "dependencies": {
        "nanoid": "^3.3.7",
        "picocolors": "^1.0.1",
        "source-map-js": "^1.2.0"
        "picocolors": "^1.1.1",
        "source-map-js": "^1.2.1"
      },
      "engines": {
        "node": "^10 || ^12 || >=14"
      }
    },
    "node_modules/source-map-js": {
      "version": "1.2.0",
      "resolved": "https://r.cnpmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
      "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
      "version": "1.2.1",
      "resolved": "https://r.cnpmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/vue": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/vue/-/vue-3.4.31.tgz",
      "integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/vue/-/vue-3.5.13.tgz",
      "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
      "peer": true,
      "dependencies": {
        "@vue/compiler-dom": "3.4.31",
        "@vue/compiler-sfc": "3.4.31",
        "@vue/runtime-dom": "3.4.31",
        "@vue/server-renderer": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-dom": "3.5.13",
        "@vue/compiler-sfc": "3.5.13",
        "@vue/runtime-dom": "3.5.13",
        "@vue/server-renderer": "3.5.13",
        "@vue/shared": "3.5.13"
      },
      "peerDependencies": {
        "typescript": "*"
@@ -284,12 +321,12 @@
      }
    },
    "node_modules/vue-i18n": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz",
      "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==",
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/vue-i18n/-/vue-i18n-9.14.2.tgz",
      "integrity": "sha512-JK9Pm80OqssGJU2Y6F7DcM8RFHqVG4WkuCqOZTVsXkEzZME7ABejAUqUdA931zEBedc4thBgSUWxeQh4uocJAQ==",
      "dependencies": {
        "@intlify/core-base": "9.13.1",
        "@intlify/shared": "9.13.1",
        "@intlify/core-base": "9.14.2",
        "@intlify/shared": "9.14.2",
        "@vue/devtools-api": "^6.5.0"
      },
      "engines": {
@@ -304,141 +341,166 @@
    }
  },
  "dependencies": {
    "@babel/parser": {
      "version": "7.24.7",
      "resolved": "https://r.cnpmjs.org/@babel/parser/-/parser-7.24.7.tgz",
      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
    "@babel/helper-string-parser": {
      "version": "7.25.9",
      "resolved": "https://r.cnpmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
      "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
      "peer": true
    },
    "@intlify/core-base": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz",
      "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==",
    "@babel/helper-validator-identifier": {
      "version": "7.25.9",
      "resolved": "https://r.cnpmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
      "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
      "peer": true
    },
    "@babel/parser": {
      "version": "7.26.3",
      "resolved": "https://r.cnpmjs.org/@babel/parser/-/parser-7.26.3.tgz",
      "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
      "peer": true,
      "requires": {
        "@intlify/message-compiler": "9.13.1",
        "@intlify/shared": "9.13.1"
        "@babel/types": "^7.26.3"
      }
    },
    "@babel/types": {
      "version": "7.26.3",
      "resolved": "https://r.cnpmjs.org/@babel/types/-/types-7.26.3.tgz",
      "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
      "peer": true,
      "requires": {
        "@babel/helper-string-parser": "^7.25.9",
        "@babel/helper-validator-identifier": "^7.25.9"
      }
    },
    "@intlify/core-base": {
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/core-base/-/core-base-9.14.2.tgz",
      "integrity": "sha512-DZyQ4Hk22sC81MP4qiCDuU+LdaYW91A6lCjq8AWPvY3+mGMzhGDfOCzvyR6YBQxtlPjFqMoFk9ylnNYRAQwXtQ==",
      "requires": {
        "@intlify/message-compiler": "9.14.2",
        "@intlify/shared": "9.14.2"
      }
    },
    "@intlify/message-compiler": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz",
      "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==",
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/message-compiler/-/message-compiler-9.14.2.tgz",
      "integrity": "sha512-YsKKuV4Qv4wrLNsvgWbTf0E40uRv+Qiw1BeLQ0LAxifQuhiMe+hfTIzOMdWj/ZpnTDj4RSZtkXjJM7JDiiB5LQ==",
      "requires": {
        "@intlify/shared": "9.13.1",
        "@intlify/shared": "9.14.2",
        "source-map-js": "^1.0.2"
      }
    },
    "@intlify/shared": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/@intlify/shared/-/shared-9.13.1.tgz",
      "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ=="
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/@intlify/shared/-/shared-9.14.2.tgz",
      "integrity": "sha512-uRAHAxYPeF+G5DBIboKpPgC/Waecd4Jz8ihtkpJQD5ycb5PwXp0k/+hBGl5dAjwF7w+l74kz/PKA8r8OK//RUw=="
    },
    "@jridgewell/sourcemap-codec": {
      "version": "1.4.15",
      "resolved": "https://r.cnpmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
      "version": "1.5.0",
      "resolved": "https://r.cnpmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
      "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
      "peer": true
    },
    "@vue/compiler-core": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-core/-/compiler-core-3.4.31.tgz",
      "integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
      "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
      "peer": true,
      "requires": {
        "@babel/parser": "^7.24.7",
        "@vue/shared": "3.4.31",
        "@babel/parser": "^7.25.3",
        "@vue/shared": "3.5.13",
        "entities": "^4.5.0",
        "estree-walker": "^2.0.2",
        "source-map-js": "^1.2.0"
      }
    },
    "@vue/compiler-dom": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz",
      "integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
      "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
      "peer": true,
      "requires": {
        "@vue/compiler-core": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-core": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "@vue/compiler-sfc": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz",
      "integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
      "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
      "peer": true,
      "requires": {
        "@babel/parser": "^7.24.7",
        "@vue/compiler-core": "3.4.31",
        "@vue/compiler-dom": "3.4.31",
        "@vue/compiler-ssr": "3.4.31",
        "@vue/shared": "3.4.31",
        "@babel/parser": "^7.25.3",
        "@vue/compiler-core": "3.5.13",
        "@vue/compiler-dom": "3.5.13",
        "@vue/compiler-ssr": "3.5.13",
        "@vue/shared": "3.5.13",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.10",
        "postcss": "^8.4.38",
        "magic-string": "^0.30.11",
        "postcss": "^8.4.48",
        "source-map-js": "^1.2.0"
      }
    },
    "@vue/compiler-ssr": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz",
      "integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
      "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
      "peer": true,
      "requires": {
        "@vue/compiler-dom": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-dom": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "@vue/devtools-api": {
      "version": "6.6.3",
      "resolved": "https://r.cnpmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
      "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
      "version": "6.6.4",
      "resolved": "https://r.cnpmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
      "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="
    },
    "@vue/reactivity": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/reactivity/-/reactivity-3.4.31.tgz",
      "integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz",
      "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
      "peer": true,
      "requires": {
        "@vue/shared": "3.4.31"
        "@vue/shared": "3.5.13"
      }
    },
    "@vue/runtime-core": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-core/-/runtime-core-3.4.31.tgz",
      "integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
      "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
      "peer": true,
      "requires": {
        "@vue/reactivity": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/reactivity": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "@vue/runtime-dom": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz",
      "integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
      "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
      "peer": true,
      "requires": {
        "@vue/reactivity": "3.4.31",
        "@vue/runtime-core": "3.4.31",
        "@vue/shared": "3.4.31",
        "@vue/reactivity": "3.5.13",
        "@vue/runtime-core": "3.5.13",
        "@vue/shared": "3.5.13",
        "csstype": "^3.1.3"
      }
    },
    "@vue/server-renderer": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/server-renderer/-/server-renderer-3.4.31.tgz",
      "integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
      "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
      "peer": true,
      "requires": {
        "@vue/compiler-ssr": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-ssr": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "@vue/shared": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/@vue/shared/-/shared-3.4.31.tgz",
      "integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/@vue/shared/-/shared-3.5.13.tgz",
      "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
      "peer": true
    },
    "csstype": {
@@ -460,62 +522,62 @@
      "peer": true
    },
    "magic-string": {
      "version": "0.30.10",
      "resolved": "https://r.cnpmjs.org/magic-string/-/magic-string-0.30.10.tgz",
      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
      "version": "0.30.17",
      "resolved": "https://r.cnpmjs.org/magic-string/-/magic-string-0.30.17.tgz",
      "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
      "peer": true,
      "requires": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
        "@jridgewell/sourcemap-codec": "^1.5.0"
      }
    },
    "nanoid": {
      "version": "3.3.7",
      "resolved": "https://r.cnpmjs.org/nanoid/-/nanoid-3.3.7.tgz",
      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
      "version": "3.3.8",
      "resolved": "https://r.cnpmjs.org/nanoid/-/nanoid-3.3.8.tgz",
      "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
      "peer": true
    },
    "picocolors": {
      "version": "1.0.1",
      "resolved": "https://r.cnpmjs.org/picocolors/-/picocolors-1.0.1.tgz",
      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
      "version": "1.1.1",
      "resolved": "https://r.cnpmjs.org/picocolors/-/picocolors-1.1.1.tgz",
      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
      "peer": true
    },
    "postcss": {
      "version": "8.4.39",
      "resolved": "https://r.cnpmjs.org/postcss/-/postcss-8.4.39.tgz",
      "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
      "version": "8.4.49",
      "resolved": "https://r.cnpmjs.org/postcss/-/postcss-8.4.49.tgz",
      "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
      "peer": true,
      "requires": {
        "nanoid": "^3.3.7",
        "picocolors": "^1.0.1",
        "source-map-js": "^1.2.0"
        "picocolors": "^1.1.1",
        "source-map-js": "^1.2.1"
      }
    },
    "source-map-js": {
      "version": "1.2.0",
      "resolved": "https://r.cnpmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
      "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
      "version": "1.2.1",
      "resolved": "https://r.cnpmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
    },
    "vue": {
      "version": "3.4.31",
      "resolved": "https://r.cnpmjs.org/vue/-/vue-3.4.31.tgz",
      "integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==",
      "version": "3.5.13",
      "resolved": "https://r.cnpmjs.org/vue/-/vue-3.5.13.tgz",
      "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
      "peer": true,
      "requires": {
        "@vue/compiler-dom": "3.4.31",
        "@vue/compiler-sfc": "3.4.31",
        "@vue/runtime-dom": "3.4.31",
        "@vue/server-renderer": "3.4.31",
        "@vue/shared": "3.4.31"
        "@vue/compiler-dom": "3.5.13",
        "@vue/compiler-sfc": "3.5.13",
        "@vue/runtime-dom": "3.5.13",
        "@vue/server-renderer": "3.5.13",
        "@vue/shared": "3.5.13"
      }
    },
    "vue-i18n": {
      "version": "9.13.1",
      "resolved": "https://r.cnpmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz",
      "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==",
      "version": "9.14.2",
      "resolved": "https://r.cnpmjs.org/vue-i18n/-/vue-i18n-9.14.2.tgz",
      "integrity": "sha512-JK9Pm80OqssGJU2Y6F7DcM8RFHqVG4WkuCqOZTVsXkEzZME7ABejAUqUdA931zEBedc4thBgSUWxeQh4uocJAQ==",
      "requires": {
        "@intlify/core-base": "9.13.1",
        "@intlify/shared": "9.13.1",
        "@intlify/core-base": "9.14.2",
        "@intlify/shared": "9.14.2",
        "@vue/devtools-api": "^6.5.0"
      }
    }