From 908ce43ff21c2068ef5148b0a417423c8ed9eae5 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 12 三月 2025 16:37:32 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 h5/pages/visitorApplication/visitorApplication.vue | 3121 +++++++++++++++------------
 screen/package-lock.json                           | 3661 +++++++++-----------------------
 2 files changed, 2,771 insertions(+), 4,011 deletions(-)

diff --git a/h5/pages/visitorApplication/visitorApplication.vue b/h5/pages/visitorApplication/visitorApplication.vue
index c76ea05..5b8f978 100644
--- a/h5/pages/visitorApplication/visitorApplication.vue
+++ b/h5/pages/visitorApplication/visitorApplication.vue
@@ -1,72 +1,72 @@
-<template>
-	<view class="visit">
-		<!-- <view class="head">鎷滆淇℃伅</view> -->
-		<view class="list">
-			<view class="list_item">
-				<view class="list_item_label">
-					<text>*</text>
-					<text>琚浜�</text>
-				</view>
-				<view class="list_item_content" @click="selName">
-					<text :style="{ color: form1.receptMemberName ? '#000000' : '' }">{{
-            form1.receptMemberName ? form1.receptMemberName : "璇烽�夋嫨"
-          }}</text>
-					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
-				</view>
-			</view>
-			<view class="list_item">
-				<view class="list_item_label">
-					<text>*</text>
-					<text>鍏ュ洯鏃堕棿</text>
-				</view>
-				<view class="list_item_content" @click="show4 = true">
-					<text :style="{ color: form1.starttime ? '#000000' : '' }">{{
-            form1.starttime ? form1.starttime : "璇烽�夋嫨"
-          }}</text>
-					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
-				</view>
-			</view>
-			<view class="list_item">
-				<view class="list_item_label">
-					<text>*</text>
-					<text>绂诲洯鏃堕棿</text>
-				</view>
-				<view class="list_item_content" @click="openLC">
-					<text :style="{ color: form1.endtime ? '#000000' : '' }">{{
-            form1.endtime ? form1.endtime : "璇烽�夋嫨"
-          }}</text>
-					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
-				</view>
-			</view>
-			<!-- <view class="list_item" v-if="accessControl === '1'" @click="show = true">
-				<view class="list_item_label">
-					<text>璁块棶闂ㄧ</text>
-					<text>*</text>
-				</view>
-				<view class="list_item_content">
-					<text :style="{color: form1.doorSelectName ? '#000000' : ''}">{{form1.doorSelectName ? form1.doorSelectName : '璇烽�夋嫨'}}</text>
-					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
-				</view>
-			</view> -->
-			<div class="empty"></div>
-			<view class="list_item">
-				<view class="list_item_label">
-					<text>*</text>
-					<text>鎷滆浜嬬敱</text>
-				</view>
-				<view class="list_item_content" @click="showReason = true">
-					<text :style="{ color: form1.reason ? '#000000' : '' }">{{
-            form1.reason ? form1.reason : "璇烽�夋嫨鎷滆浜嬬敱"
-          }}</text>
-					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
-				</view>
-			</view>
-			<view class="list_item">
-				<view class="list_item_label">
-					<text></text>
-					<text>鏄惁鏂藉伐浣滀笟</text>
-				</view>
-				<view class="list_item_content">
+<template>
+	<view class="visit">
+		<!-- <view class="head">鎷滆淇℃伅</view> -->
+		<view class="list">
+			<view class="list_item">
+				<view class="list_item_label">
+					<text>*</text>
+					<text>琚浜�</text>
+				</view>
+				<view class="list_item_content" @click="selName">
+					<text :style="{ color: form1.receptMemberName ? '#000000' : '' }">{{
+            form1.receptMemberName ? form1.receptMemberName : "璇烽�夋嫨"
+          }}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view>
+			<view class="list_item">
+				<view class="list_item_label">
+					<text>*</text>
+					<text>鍏ュ洯鏃堕棿</text>
+				</view>
+				<view class="list_item_content" @click="show4 = true">
+					<text :style="{ color: form1.starttime ? '#000000' : '' }">{{
+            form1.starttime ? form1.starttime : "璇烽�夋嫨"
+          }}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view>
+			<view class="list_item">
+				<view class="list_item_label">
+					<text>*</text>
+					<text>绂诲洯鏃堕棿</text>
+				</view>
+				<view class="list_item_content" @click="openLC">
+					<text :style="{ color: form1.endtime ? '#000000' : '' }">{{
+            form1.endtime ? form1.endtime : "璇烽�夋嫨"
+          }}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view>
+			<!-- <view class="list_item" v-if="accessControl === '1'" @click="show = true">
+				<view class="list_item_label">
+					<text>璁块棶闂ㄧ</text>
+					<text>*</text>
+				</view>
+				<view class="list_item_content">
+					<text :style="{color: form1.doorSelectName ? '#000000' : ''}">{{form1.doorSelectName ? form1.doorSelectName : '璇烽�夋嫨'}}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view> -->
+			<div class="empty"></div>
+			<view class="list_item">
+				<view class="list_item_label">
+					<text>*</text>
+					<text>鎷滆浜嬬敱</text>
+				</view>
+				<view class="list_item_content" @click="showReason = true">
+					<text :style="{ color: form1.reason ? '#000000' : '' }">{{
+            form1.reason ? form1.reason : "璇烽�夋嫨鎷滆浜嬬敱"
+          }}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view>
+			<view class="list_item">
+				<view class="list_item_label">
+					<text></text>
+					<text>鏄惁鏂藉伐浣滀笟</text>
+				</view>
+				<view class="list_item_content">
 					<!-- <switch color="#4e99a9" style="transform: scale(0.8)" @change="constructionChange" /> -->
 <!-- 					<u-radio-group v-model="form1.type">
 						<u-radio label="鏄�" :name="1" activeColor="#4d99a8" class="mr24" />
@@ -84,1238 +84,1583 @@
 							<image v-else src="@/static/checkbox_disable@3x.png" mode=""></image>
 						</view>
 						
-					</view>
-				</view>
-			</view>
-			<view v-if="form1.type == '1'" class="list_item">
-				<view class="list_item_label">
-					<text></text>
-					<text>鏂藉伐鍐呭</text>
-					<!-- <text>*</text> -->
-				</view>
-				<view class="list_item_content">
-					<input type="text" v-model="form1.constructionReason" placeholder="璇疯緭鍏ユ柦宸ュ唴瀹�"
-						placeholder-style="color: #999999;" />
-				</view>
-			</view>
-			<view class="list_item">
-				<view class="list_item_label">
-					<text></text>
-					<text>闅忚杞﹁締</text>
-				</view>
-				<view class="list_item_content" @click="openInput(1)">
-					<text :style="{ color: form1.carNos ? '#000000' : '' }">{{
-            form1.carNos ? form1.carNos : "璇疯緭鍏ヨ溅鐗屽彿鐮�"
-          }}</text>
-					<!-- <input type="text" placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-model="form1.carNos" maxlength="8" placeholder-style="color: #999999;" /> -->
-				</view>
-			</view>
-		</view>
-		<view class="footer">
-			<view class="footer_btn" @click="onSubmit">鎻愪氦</view>
-		</view>
-		<!-- 鍏ュ洯鏃堕棿 -->
-		<u-datetime-picker :show="show4" :minDate="new Date().getTime()" mode="datetime" :formatter="formatter"
-			@cancel="show4 = false" @confirm="setstarttime"></u-datetime-picker>
-		<!-- 绂诲洯鏃堕棿 -->
-		<u-datetime-picker v-if="form1.starttime" :show="show5" :formatter="formatter"
-			:minDate="formatTimeStamp(form1.starttime)" :maxDate="formatTimeStamp(form1.starttime.slice(0,10) + ' 23:59')"
-			mode="datetime" @cancel="show5 = false" @confirm="setendtime"></u-datetime-picker>
-		<!-- 闂ㄧ -->
-		<u-popup :show="show" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="closeMJ">
-			<view class="menjin">
-				<view class="respondent-title"> 閫夋嫨闂ㄧ </view>
-				<scroll-view scroll-y class="list">
-					<view class="list_item" v-for="(item, index) in columns" :key="index" @click="seleMJ(index)">
-						<text>{{ item.name }}</text>
-						<image src="@/static/checkbox@2x.png" mode="widthFix" v-show="!item.active"></image>
-						<image src="@/static/checkbo1x_sel@2x.png" mode="widthFix" v-show="item.active"></image>
-					</view>
-				</scroll-view>
-				<view class="menjin_footer">
-					<view class="menjin_footer_item" @click="closeMJ">鍙栨秷</view>
-					<view class="menjin_footer_item" @click="submitMJ">纭</view>
-				</view>
-			</view>
-		</u-popup>
-		<!-- 閫夋嫨闅忚浜哄憳 -->
-		<u-popup :show="show1" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
-			@close="show1 = false">
-			<view class="popup-content">
-				<view class="respondent-title"> 閫夋嫨闅忚浜哄憳 </view>
-				<view class="search-box">
-					<view class="search-box-top">
-						<view class="search-box-top-ipt">
-							<image src="@/static/ic_search@2x.png" mode="widthFix"></image>
-							<input type="text" placeholder="鎼滅储濮撳悕/鎵嬫満鍙�" />
-						</view>
-						<text @click="
-                show1 = false;
-                show3 = true;
-              ">鏂板</text>
-					</view>
-					<view class="search-box-total">鍏�0鏉℃暟鎹�</view>
-				</view>
-				<scroll-view scroll-y class="list">
-					<view class="item" v-for="(item, index) in 8" :key="index">
-						<view class="item_a">
-							<!-- <image src="@/static/checkbox.png" mode="widthFix" v-if="!item.active" /> -->
-							<image src="@/static/checkbox_sel@2x.png" mode="widthFix" />
-						</view>
-						<view class="item_b">
-							<image src="@/static/ic_mima@2x.png" mode="widthFix" />
-						</view>
-						<view class="item_c">
-							<text>鐢ㄦ埛鍚�</text>
-							<text>宸叉媺榛�</text>
-						</view>
-					</view>
-				</scroll-view>
-				<view class="footer1">
-					<view class="footer_left">
-						<text class="footer_left_a">宸查�夋嫨锛�0浜�</text>
-						<text class="footer_left_b">鏉庝紵锛�</text>
-					</view>
-					<view class="footer_btn">纭 0/0</view>
-				</view>
-			</view>
-		</u-popup>
-		<!-- 杞﹁締 -->
-		<u-popup :show="show2" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
-			@close="show2 = false">
-			<view class="addcar">
-				<view class="addcar_head">娣诲姞杞﹁締</view>
-				<view class="addcar_ipt">
-					<input type="text" v-model="carName" placeholder="璇疯緭鍏ヨ溅鐗屽彿" />
-				</view>
-				<view class="addcar_footer">
-					<view class="addcar_footer_item" @click="show2 = false">鍙栨秷</view>
-					<view class="addcar_footer_item t" @click="submitCart">鎻愪氦</view>
-				</view>
-			</view>
-		</u-popup>
-		<!-- 娣诲姞闅忚浜哄憳 -->
-		<u-popup :show="show3" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
-			@close="show3 = false">
-			<view class="adduser">
-				<view class="adduser_head">闅忚浜哄憳</view>
-				<view class="adduser_list">
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>濮撳悕</text>
-							<text>*</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<input type="text" v-model="withUserList.name" placeholder-style="color: #999999;font-size: 28rpx;"
-								placeholder="璇疯緭鍏ョ湡瀹炲鍚�" />
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>鎵嬫満鍙�</text>
-							<text>*</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<input type="number" v-model="withUserList.phone" maxlength="11"
-								placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ユ墜鏈哄彿" />
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>璇佷欢绫诲瀷</text>
-							<text>*</text>
-						</view>
-						<view class="adduser_list_item_ipt" @click="show6 = true">
-							<text :style="{ color: withUserList.idcardTypeName ? '#000000' : '' }">{{
-                  withUserList.idcardTypeName
-                    ? withUserList.idcardTypeName
-                    : "璇烽�夋嫨"
-                }}</text>
-							<u-icon name="arrow-right" color="#CCCCCC" size="16"></u-icon>
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>璇佷欢鍙风爜</text>
-							<text>*</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<input type="text" v-model="withUserList.idcardNo" maxlength="18"
-								placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" />
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>*</text>
-							<text>鍏徃</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<input type="text" v-model="withUserList.companyName" placeholder-style="color: #999999;font-size: 28rpx;"
-								placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" />
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text></text>
-							<text>闅忚杞﹁締</text>
-						</view>
-						<view class="adduser_list_item_ipt" @click="openInput(2)">
-							<text :style="{ color: withUserList.carNos ? '#000000' : '' }">{{
-                withUserList.carNos ? withUserList.carNos : "璇疯緭鍏ヨ溅鐗屽彿鐮�"
-              }}</text>
-							<!-- <input type="text" v-model="withUserList.carNos" disabled placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ヨ溅鐗屽彿" /> -->
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label1">
-							<text class="cc">浜鸿劯鐓х墖<b>*</b></text>
-							<text class="aa">1銆佽鎻愪緵浜斿畼娓呮櫚锛屼汉鑴稿眳涓殑姝i潰浜鸿劯鍏嶅啝鐓х墖锛�</text>
-							<text class="aa">2銆佺収鐗囨棤閫嗗厜銆佹棤PS銆佹棤杩囧害缇庨澶勭悊锛�</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<view class="adduser_list_item_ipt1_upload" @click="upload('faceImg')" v-if="!withUserList.faceImgUrl">
-								<u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
-							</view>
-							<view class="adduser_list_item_ipt1_upload" @click="upload('faceImg')" v-else>
-								<image :src="withUserList.faceImgUrl" mode="widthFix"></image>
-							</view>
-						</view>
-					</view>
-					<view class="adduser_list_item">
-						<view class="adduser_list_item_label">
-							<text>鍋ュ悍璇佺収鐗�</text>
-							<text v-if="visit === '1'">*</text>
-						</view>
-						<view class="adduser_list_item_ipt">
-							<view class="adduser_list_item_ipt1_upload" @click="upload('imgurl')" v-if="!withUserList.imgurlUrl">
-								<u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
-							</view>
-							<view class="adduser_list_item_ipt1_upload" @click="upload('imgurl')" v-else>
-								<image :src="withUserList.imgurlUrl" mode="widthFix"></image>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="adduser_footer">
-					<view class="adduser_footer_item" @click="show3 = false">鍙栨秷</view>
-					<view class="adduser_footer_item t" @click="submitUser">鎻愪氦</view>
-				</view>
-			</view>
-		</u-popup>
-		<u-picker keyName="name" :show="show6" :columns="columns1" @confirm="seleIdcard" @cancel="show6 = false"></u-picker>
-		<u-picker keyName="name" :show="showName" :columns="VisitPoeple" @confirm="selectedName"
-			@cancel="showName = false"></u-picker>
-		<u-picker keyName="title" :show="showReason" :columns="VisitReason" @confirm="selectedReason"
-			@cancel="showReason = false"></u-picker>
-		<!-- <tly-picture-cut ref="tlyPictureCut" :pictureSrc="photoSrc" @createImg="uploadImg"></tly-picture-cut> -->
-		<keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" />
-		<qf-image-cropper ref="cropper" :width="280" :height="280" :radius="30" @crop="uploadImg"></qf-image-cropper>
-	</view>
-</template>
-
-<script>
-	import tlyPictureCut from "@/components/tly-picture-cut/tlyPictureCut.vue"
-	import keyboardInput from "@/components/keyboard-input/keyboard-input.vue"
-	import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue'
-	import {
-		getDaysAfterDate
-	} from '@/utils/utils.js'
-	import {
-		getVisitedMember,
-		getSystemDictData,
-		getVisitedVisitReason,
-		createFk
-	} from '@/api'
-	export default {
-		data() {
-			return {
-				photoSrc: '',
-				type: '',
-				inputType: '',
-				showName: false,
-				show: false,
-				show1: false,
-				show2: false,
-				show3: false,
-				show4: false,
-				show5: false,
-				show6: false,
-				show7: false,
-				showReason: false,
-				fileList: [],
-				columns1: [
-					[{
-						name: '韬唤璇�',
-						id: 0
-					}, {
-						name: '娓境璇佷欢',
-						id: 1
-					}, {
-						name: '鎶ょ収',
-						id: 2
-					}],
-				],
-				VisitReason: [],
-				VisitPoeple: [],
-				columns: [],
-				cars: [],
-				day: null,
-				maxTime: '',
-				carName: '',
-				personnel: [],
-				userAnswerId: '',
-				form1: {
-					phone1: '',
-					receptMemberId: '',
-					receptMemberName: '',
-					starttime: '',
-					endtime: '',
-					doors: '',
-					doorSelectName: '',
-					reason: '',
-					carNos: '',
-					type: 0
-				},
-				withUserList: {
-					name: '',
-					phone: '',
-					idcardType: '',
-					idcardTypeName: '',
-					companyName: '',
-					idcardNo: '',
-					faceImg: '',
-					faceImgUrl: '',
-					imgurl: '',
-					imgurlUrl: ''
-				},
-				visit: '',
-				form: {},
-				accessControl: '',
-				verify: ''
-			}
-		},
-		components: {
-			tlyPictureCut,
-			keyboardInput,
-			QfImageCropper
-		},
-		onLoad(options) {
-			if (options.data) {
-				this.form = JSON.parse(options.data)
-			}
-			// this.getvisit()
-			// this.getVisit1()
-			// this.getUserValid()
-			this.getUser()
-		},
-		mounted() {
-			this.$eventBus.$on('svisitorAppSel', (option) => {
-				// this.$set(this.param, 'checkUserId', option.id)
-				// this.$set(this.param, 'applyCheckUserId', option.id)
-				// this.$set(this.param, 'checkorName', option.name)
-
-				this.form1.receptMemberName = option.name
-				this.form1.receptMemberId = option.id
-				this.form1.receptMemberDepartment = option.companyName
-			})
-		},
-		methods: {
-			formatter(type, value) {
-				if (type === 'year') {
-					return `${value}骞碻
-				}
-				if (type === 'month') {
-					return `${value}鏈坄
-				}
-				if (type === 'day') {
-					return `${value}鏃
+					</view>
+				</view>
+			</view>
+			<view v-if="form1.type == '1'" class="list_item">
+				<view class="list_item_label">
+					<text></text>
+					<text>鏂藉伐鍐呭</text>
+					<!-- <text>*</text> -->
+				</view>
+				<view class="list_item_content">
+					<input type="text" v-model="form1.constructionReason" placeholder="璇疯緭鍏ユ柦宸ュ唴瀹�"
+						placeholder-style="color: #999999;" />
+				</view>
+			</view>
+			<view class="list_item">
+				<view class="list_item_label">
+					<text></text>
+					<text>闅忚杞﹁締</text>
+				</view>
+				<view class="list_item_content" @click="openInput(1)">
+					<text :style="{ color: form1.carNos ? '#000000' : '' }">{{
+            form1.carNos ? form1.carNos : "璇疯緭鍏ヨ溅鐗屽彿鐮�"
+          }}</text>
+					<!-- <input type="text" placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-model="form1.carNos" maxlength="8" placeholder-style="color: #999999;" /> -->
+				</view>
+			</view>
+		</view>
+		<view class="footer">
+			<view class="footer_btn" @click="onSubmit">鎻愪氦</view>
+		</view>
+		<!-- 鍏ュ洯鏃堕棿 -->
+		<u-datetime-picker :show="show4" :minDate="new Date().getTime()" mode="datetime" :formatter="formatter"
+			@cancel="show4 = false" @confirm="setstarttime"></u-datetime-picker>
+		<!-- 绂诲洯鏃堕棿 -->
+		<u-datetime-picker v-if="form1.starttime" :show="show5" :formatter="formatter"
+			:minDate="formatTimeStamp(form1.starttime)" :maxDate="formatTimeStamp(form1.starttime.slice(0,10) + ' 23:59')"
+			mode="datetime" @cancel="show5 = false" @confirm="setendtime"></u-datetime-picker>
+		<!-- 闂ㄧ -->
+		<u-popup :show="show" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="closeMJ">
+			<view class="menjin">
+				<view class="respondent-title"> 閫夋嫨闂ㄧ </view>
+				<scroll-view scroll-y class="list">
+					<view class="list_item" v-for="(item, index) in columns" :key="index" @click="seleMJ(index)">
+						<text>{{ item.name }}</text>
+						<image src="@/static/checkbox@2x.png" mode="widthFix" v-show="!item.active"></image>
+						<image src="@/static/checkbo1x_sel@2x.png" mode="widthFix" v-show="item.active"></image>
+					</view>
+				</scroll-view>
+				<view class="menjin_footer">
+					<view class="menjin_footer_item" @click="closeMJ">鍙栨秷</view>
+					<view class="menjin_footer_item" @click="submitMJ">纭</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 閫夋嫨闅忚浜哄憳 -->
+		<u-popup :show="show1" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
+			@close="show1 = false">
+			<view class="popup-content">
+				<view class="respondent-title"> 閫夋嫨闅忚浜哄憳 </view>
+				<view class="search-box">
+					<view class="search-box-top">
+						<view class="search-box-top-ipt">
+							<image src="@/static/ic_search@2x.png" mode="widthFix"></image>
+							<input type="text" placeholder="鎼滅储濮撳悕/鎵嬫満鍙�" />
+						</view>
+						<text @click="
+                show1 = false;
+                show3 = true;
+              ">鏂板</text>
+					</view>
+					<view class="search-box-total">鍏�0鏉℃暟鎹�</view>
+				</view>
+				<scroll-view scroll-y class="list">
+					<view class="item" v-for="(item, index) in 8" :key="index">
+						<view class="item_a">
+							<!-- <image src="@/static/checkbox.png" mode="widthFix" v-if="!item.active" /> -->
+							<image src="@/static/checkbox_sel@2x.png" mode="widthFix" />
+						</view>
+						<view class="item_b">
+							<image src="@/static/ic_mima@2x.png" mode="widthFix" />
+						</view>
+						<view class="item_c">
+							<text>鐢ㄦ埛鍚�</text>
+							<text>宸叉媺榛�</text>
+						</view>
+					</view>
+				</scroll-view>
+				<view class="footer1">
+					<view class="footer_left">
+						<text class="footer_left_a">宸查�夋嫨锛�0浜�</text>
+						<text class="footer_left_b">鏉庝紵锛�</text>
+					</view>
+					<view class="footer_btn">纭 0/0</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 杞﹁締 -->
+		<u-popup :show="show2" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
+			@close="show2 = false">
+			<view class="addcar">
+				<view class="addcar_head">娣诲姞杞﹁締</view>
+				<view class="addcar_ipt">
+					<input type="text" v-model="carName" placeholder="璇疯緭鍏ヨ溅鐗屽彿" />
+				</view>
+				<view class="addcar_footer">
+					<view class="addcar_footer_item" @click="show2 = false">鍙栨秷</view>
+					<view class="addcar_footer_item t" @click="submitCart">鎻愪氦</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 娣诲姞闅忚浜哄憳 -->
+		<u-popup :show="show3" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom"
+			@close="show3 = false">
+			<view class="adduser">
+				<view class="adduser_head">闅忚浜哄憳</view>
+				<view class="adduser_list">
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>濮撳悕</text>
+							<text>*</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<input type="text" v-model="withUserList.name" placeholder-style="color: #999999;font-size: 28rpx;"
+								placeholder="璇疯緭鍏ョ湡瀹炲鍚�" />
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>鎵嬫満鍙�</text>
+							<text>*</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<input type="number" v-model="withUserList.phone" maxlength="11"
+								placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ユ墜鏈哄彿" />
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>璇佷欢绫诲瀷</text>
+							<text>*</text>
+						</view>
+						<view class="adduser_list_item_ipt" @click="show6 = true">
+							<text :style="{ color: withUserList.idcardTypeName ? '#000000' : '' }">{{
+                  withUserList.idcardTypeName
+                    ? withUserList.idcardTypeName
+                    : "璇烽�夋嫨"
+                }}</text>
+							<u-icon name="arrow-right" color="#CCCCCC" size="16"></u-icon>
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>璇佷欢鍙风爜</text>
+							<text>*</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<input type="text" v-model="withUserList.idcardNo" maxlength="18"
+								placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" />
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>*</text>
+							<text>鍏徃</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<input type="text" v-model="withUserList.companyName" placeholder-style="color: #999999;font-size: 28rpx;"
+								placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" />
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text></text>
+							<text>闅忚杞﹁締</text>
+						</view>
+						<view class="adduser_list_item_ipt" @click="openInput(2)">
+							<text :style="{ color: withUserList.carNos ? '#000000' : '' }">{{
+                withUserList.carNos ? withUserList.carNos : "璇疯緭鍏ヨ溅鐗屽彿鐮�"
+              }}</text>
+							<!-- <input type="text" v-model="withUserList.carNos" disabled placeholder-style="color: #999999;font-size: 28rpx;" placeholder="璇疯緭鍏ヨ溅鐗屽彿" /> -->
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label1">
+							<text class="cc">浜鸿劯鐓х墖<b>*</b></text>
+							<text class="aa">1銆佽鎻愪緵浜斿畼娓呮櫚锛屼汉鑴稿眳涓殑姝i潰浜鸿劯鍏嶅啝鐓х墖锛�</text>
+							<text class="aa">2銆佺収鐗囨棤閫嗗厜銆佹棤PS銆佹棤杩囧害缇庨澶勭悊锛�</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<view class="adduser_list_item_ipt1_upload" @click="upload('faceImg')" v-if="!withUserList.faceImgUrl">
+								<u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
+							</view>
+							<view class="adduser_list_item_ipt1_upload" @click="upload('faceImg')" v-else>
+								<image :src="withUserList.faceImgUrl" mode="widthFix"></image>
+							</view>
+						</view>
+					</view>
+					<view class="adduser_list_item">
+						<view class="adduser_list_item_label">
+							<text>鍋ュ悍璇佺収鐗�</text>
+							<text v-if="visit === '1'">*</text>
+						</view>
+						<view class="adduser_list_item_ipt">
+							<view class="adduser_list_item_ipt1_upload" @click="upload('imgurl')" v-if="!withUserList.imgurlUrl">
+								<u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
+							</view>
+							<view class="adduser_list_item_ipt1_upload" @click="upload('imgurl')" v-else>
+								<image :src="withUserList.imgurlUrl" mode="widthFix"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="adduser_footer">
+					<view class="adduser_footer_item" @click="show3 = false">鍙栨秷</view>
+					<view class="adduser_footer_item t" @click="submitUser">鎻愪氦</view>
+				</view>
+			</view>
+		</u-popup>
+		<u-picker keyName="name" :show="show6" :columns="columns1" @confirm="seleIdcard" @cancel="show6 = false"></u-picker>
+		<u-picker keyName="name" :show="showName" :columns="VisitPoeple" @confirm="selectedName"
+			@cancel="showName = false"></u-picker>
+		<u-picker keyName="title" :show="showReason" :columns="VisitReason" @confirm="selectedReason"
+			@cancel="showReason = false"></u-picker>
+		<!-- <tly-picture-cut ref="tlyPictureCut" :pictureSrc="photoSrc" @createImg="uploadImg"></tly-picture-cut> -->
+		<keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" />
+		<qf-image-cropper ref="cropper" :width="280" :height="280" :radius="30" @crop="uploadImg"></qf-image-cropper>
+	</view>
+</template>
+
+<script>
+	import tlyPictureCut from "@/components/tly-picture-cut/tlyPictureCut.vue"
+	import keyboardInput from "@/components/keyboard-input/keyboard-input.vue"
+	import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue'
+	import {
+		getDaysAfterDate
+	} from '@/utils/utils.js'
+	import {
+		getVisitedMember,
+		getSystemDictData,
+		getVisitedVisitReason,
+		createFk
+	} from '@/api'
+	export default {
+		data() {
+			return {
+				photoSrc: '',
+				type: '',
+				inputType: '',
+				showName: false,
+				show: false,
+				show1: false,
+				show2: false,
+				show3: false,
+				show4: false,
+				show5: false,
+				show6: false,
+				show7: false,
+				showReason: false,
+				fileList: [],
+				columns1: [
+					[{
+						name: '韬唤璇�',
+						id: 0
+					}, {
+						name: '娓境璇佷欢',
+						id: 1
+					}, {
+						name: '鎶ょ収',
+						id: 2
+					}],
+				],
+				VisitReason: [],
+				VisitPoeple: [],
+				columns: [],
+				cars: [],
+				day: null,
+				maxTime: '',
+				carName: '',
+				personnel: [],
+				userAnswerId: '',
+				form1: {
+					phone1: '',
+					receptMemberId: '',
+					receptMemberName: '',
+					starttime: '',
+					endtime: '',
+					doors: '',
+					doorSelectName: '',
+					reason: '',
+					carNos: '',
+					type: 0
+				},
+				withUserList: {
+					name: '',
+					phone: '',
+					idcardType: '',
+					idcardTypeName: '',
+					companyName: '',
+					idcardNo: '',
+					faceImg: '',
+					faceImgUrl: '',
+					imgurl: '',
+					imgurlUrl: ''
+				},
+				visit: '',
+				form: {},
+				accessControl: '',
+				verify: ''
+			}
+		},
+		components: {
+			tlyPictureCut,
+			keyboardInput,
+			QfImageCropper
+		},
+		onLoad(options) {
+			if (options.data) {
+				this.form = JSON.parse(options.data)
+			}
+			// this.getvisit()
+			// this.getVisit1()
+			// this.getUserValid()
+			this.getUser()
+		},
+		mounted() {
+			this.$eventBus.$on('svisitorAppSel', (option) => {
+				// this.$set(this.param, 'checkUserId', option.id)
+				// this.$set(this.param, 'applyCheckUserId', option.id)
+				// this.$set(this.param, 'checkorName', option.name)
+
+				this.form1.receptMemberName = option.name
+				this.form1.receptMemberId = option.id
+				this.form1.receptMemberDepartment = option.companyName
+			})
+		},
+		methods: {
+			formatter(type, value) {
+				if (type === 'year') {
+					return `${value}骞碻
 				}
+				if (type === 'month') {
+					return `${value}鏈坄
+				}
+				if (type === 'day') {
+					return `${value}鏃
+				}
+<<<<<<< HEAD
+				this.$forceUpdate()
+				this.closeInput()
+			},
+			closeInput() {
+				this.$refs.keyboard.close()
+			},
+			uploadImg(file) {
+				this.$refs.cropper.close()
+				uni.showLoading({ title: '涓婁紶涓�', mask: true });
+				uni.uploadFile({
+					url: `${this.$baseUrl}public/api/uploadFtp.do`,
+					filePath: file.tempFilePath,
+					name: 'file',
+					formData: {
+						folderCode: 'MEMBER_IMG'
+					},
+					success: (uploadFileRes) => {
+						let res = JSON.parse(uploadFileRes.data)
+						this.withUserList.faceImg = res.data.halfPath
+						this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+					},
+					complete() {
+						uni.hideLoading();
+					}
+				});
+			},
+			closeMJ() {
+				this.show = false
+				this.columns.forEach(item => {
+					item.active = false
+				})
+			},
+			submit() {
+				if (!this.form1.receptMemberId) return uni.showToast({
+					title: '璇峰~鍐欐湁鏁堢殑璁块棶浜�',
+					icon: 'none'
+				})
+				if (!this.form1.starttime) return uni.showToast({
+					title: '鍏ュ満鏃堕棿涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.endtime) return uni.showToast({
+					title: '绂诲満鏃堕棿涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({
+					title: '璁块棶闂ㄧ涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.reason) return uni.showToast({
+					title: '鎷滆浜嬬敱涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				// this.form1.starttime = this.form1.starttime + ':00'
+				// this.form1.endtime = this.form1.endtime + ':00'
+				let data = JSON.parse(JSON.stringify(this.form1))
+				data.starttime = data.starttime + ':00'
+				data.endtime = data.endtime + ':00'
+				this.$u.api.createFk({
+					...this.form,
+					...data,
+					openid: this.$store.state.openId,
+					withUserList: this.personnel
+				}).then(res => {
+					if (res.code === 200) {
+						uni.reLaunch({
+							url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}`
+						})
+					}
+				})
+			},
+			deleUser(i) {
+				this.personnel.splice(i, 1)
+			},
+			getVisit1() {
+				// 鏄惁闇�瑕佺瓟棰�
+				this.$u.api.getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'HEALTH_CARD'
+				}).then(res => {
+					if (res.code === 200) {
+						this.visit = res.data.code
+					}
+				})
+				// 璧峰鏃堕棿鏃堕暱
+				this.$u.api.getSystemDictData({
+					dictCode: 'VISIT_CONFIG',
+					label: 'VALIDATE_VISIT'
+				}).then(res => {
+					if (res.code === 200) {
+						this.day = Number(res.data.code)
+						console.log(this.day)
+						// console.log(nextDay('after', true, this.day))
+					}
+				})
+			},
+			submitUser() {
+				if (!this.withUserList.name) return uni.showToast({
+					title: '濮撳悕涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.withUserList.phone) return uni.showToast({
+					title: '鎵嬫満鍙蜂笉鑳戒负绌�',
+					icon: 'none'
+				})
+				const regExp = /^1[3456789]\d{9}$/;
+				if (!regExp.test(this.withUserList.phone)) return uni.showToast({
+					title: '鎵嬫満鍙锋牸寮忛敊璇�',
+					icon: 'none'
+				})
+				if (!String(this.withUserList.idcardType)) return uni.showToast({
+					title: '璇佷欢绫诲瀷涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.withUserList.idcardNo) return uni.showToast({
+					title: '璇佷欢鍙风爜涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (this.withUserList.idcardType === 0) {
+					const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/;
+					if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({
+						title: '璇佷欢鍙风爜鏍煎紡閿欒',
+						icon: 'none'
+					})
+=======
 				if (type === 'hour') {
 					return `${value}鏃禶
+>>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6
 				}
 				if (type === 'minute') {
 					return `${value}鍒哷
-				}
-				return value
-			},
-			selName() {
-				uni.navigateTo({
-					url: '/pages/visitorApplication/memberSel'
-				})
-			},
-			openInput(type) {
-				this.inputType = type
-				this.$refs.keyboard.open()
-			},
-			setPlate(e) {
-				if (this.inputType === 1) {
-					this.form1.carNos = e
-				} else if (this.inputType === 2) {
-					this.withUserList.carNos = e
-				}
-				this.$forceUpdate()
-				this.closeInput()
-			},
-			closeInput() {
-				this.$refs.keyboard.close()
-			},
-			constructionChange(value) {
-				this.form1.type = value
-			},
-			uploadImg(file) {
-				this.$refs.cropper.close()
-				uni.showLoading({
-					title: '涓婁紶涓�',
-					mask: true
-				})
-				uni.uploadFile({
-					url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`,
-					filePath: file.tempFilePath,
-					name: 'file',
-					formData: {
-						folderCode: 'MEMBER_IMG'
-					},
-					success: (uploadFileRes) => {
-						let res = JSON.parse(uploadFileRes.data)
-						this.withUserList.faceImg = res.data.halfPath
-						this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				})
-			},
-			closeMJ() {
-				this.show = false
-				this.columns.forEach(item => {
-					item.active = false
-				})
-			},
-			onSubmit() {
-				if (!this.form1.receptMemberId) return uni.showToast({
-					title: '璇峰~鍐欐湁鏁堢殑璁块棶浜�',
-					icon: 'none'
-				})
-				if (!this.form1.starttime) return uni.showToast({
-					title: '鍏ュ洯鏃堕棿涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.form1.endtime) return uni.showToast({
-					title: '绂诲洯鏃堕棿涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({
-					title: '璁块棶闂ㄧ涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.form1.reason) return uni.showToast({
-					title: '鎷滆浜嬬敱涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				// this.form1.starttime = this.form1.starttime + ':00'
-				// this.form1.endtime = this.form1.endtime + ':00'
-				let data = JSON.parse(JSON.stringify(this.form1))
-				data.starttime = data.starttime + ':00'
-				data.endtime = data.endtime + ':00'
-				createFk({
-					...this.form,
-					...data,
-					openid: this.$store.state.openId,
-					withUserList: this.personnel
-				}).then(res => {
-					if (res.code === 200) {
-						uni.navigateTo({
-							url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}`
-						})
-					}
-				})
-			},
-			deleUser(i) {
-				this.personnel.splice(i, 1)
-			},
-			getVisit1() {
-				// 鏄惁闇�瑕佺瓟棰�
-				this.$u.api.getSystemDictData({
-					dictCode: 'SYSTEM',
-					label: 'HEALTH_CARD'
-				}).then(res => {
-					if (res.code === 200) {
-						this.visit = res.data.code
-					}
-				})
-				// 璧峰鏃堕棿鏃堕暱
-				getSystemDictData({
-					dictCode: 'VISIT_CONFIG',
-					label: 'VALIDATE_VISIT'
-				}).then(res => {
-					if (res.code === 200) {
-						this.day = Number(res.data.code)
-						// console.log(nextDay('after', true, this.day))
-					}
-				})
-			},
-			submitUser() {
-				if (!this.withUserList.name) return uni.showToast({
-					title: '濮撳悕涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.withUserList.phone) return uni.showToast({
-					title: '鎵嬫満鍙蜂笉鑳戒负绌�',
-					icon: 'none'
-				})
-				const regExp = /^1[3456789]\d{9}$/
-				if (!regExp.test(this.withUserList.phone)) return uni.showToast({
-					title: '鎵嬫満鍙锋牸寮忛敊璇�',
-					icon: 'none'
-				})
-				if (!String(this.withUserList.idcardType)) return uni.showToast({
-					title: '璇佷欢绫诲瀷涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.withUserList.idcardNo) return uni.showToast({
-					title: '璇佷欢鍙风爜涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (this.withUserList.idcardType === 0) {
-					const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/
-					if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({
-						title: '璇佷欢鍙风爜鏍煎紡閿欒',
-						icon: 'none'
-					})
-				}
-				if (!this.withUserList.companyName) return uni.showToast({
-					title: '鍏徃涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (!this.withUserList.faceImg) return uni.showToast({
-					title: '浜鸿劯鐓х墖涓嶈兘涓虹┖',
-					icon: 'none'
-				})
-				if (this.visit === '1') {
-					if (!this.withUserList.imgurl) return uni.showToast({
-						title: '浜鸿劯鐓х墖涓嶈兘涓虹┖',
-						icon: 'none'
-					})
-				}
-				let arr = JSON.parse(JSON.stringify(this.withUserList))
-				this.personnel.push(arr)
-				this.show3 = false
-				this.withUserList.name = ''
-				this.withUserList.phone = ''
-				this.withUserList.idcardType = ''
-				this.withUserList.idcardTypeName = ''
-				this.withUserList.companyName = ''
-				this.withUserList.idcardNo = ''
-				this.withUserList.faceImg = ''
-				this.withUserList.faceImgUrl = ''
-				this.withUserList.imgurl = ''
-				this.withUserList.imgurlUrl = ''
-			},
-			upload(type) {
-				this.type = type
-				if (type === 'faceImg') {
-					this.$refs.cropper.open()
-					return
-				}
-				uni.chooseImage({
-					success: (chooseImageRes) => {
-						uni.showLoading({
-							title: '涓婁紶涓�',
-							mask: true
-						})
-						for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) {
-							uni.uploadFile({
-								url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`,
-								filePath: chooseImageRes.tempFilePaths[i],
-								name: 'file',
-								formData: {
-									folderCode: 'MEMBER_IMG'
-								},
-								success: (uploadFileRes) => {
-									let res = JSON.parse(uploadFileRes.data)
-									if (type === 'faceImg') {
-										this.withUserList.faceImg = res.data.halfPath
-										this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
-									} else {
-										this.withUserList.imgurl = res.data.halfPath
-										this.withUserList.imgurlUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
-									}
-								},
-								complete() {
-									if (i === chooseImageRes.tempFilePaths.length - 1) {
-										uni.hideLoading()
-									}
-								}
-							})
-						}
-					}
-				})
-			},
-			seleIdcard(e) {
-				this.withUserList.idcardType = e.value[0].id
-				this.withUserList.idcardTypeName = e.value[0].name
-				this.show6 = false
-			},
-			selectedName(e) {
-				this.form1.receptMemberName = e.value[0].name
-				this.form1.receptMemberId = e.value[0].id
-				this.form1.receptMemberDepartment = e.value[0].companyId
-				this.showName = false
-			},
-			selectedReason(e) {
-				this.form1.reason = e.value[0].title
-				console.log(e.value[0].title)
-				this.showReason = false
-			},
-			submitCart() {
-				if (!this.carName) return uni.showToast({
-					title: '璇疯緭鍏ヨ溅鐗屽彿鐮�',
-					icon: 'none'
-				})
-				this.cars.push(this.carName)
-				this.form1.carNos = this.cars.join(',')
-				this.carName = ''
-				this.show2 = false
-			},
-			deleCars(i) {
-				this.cars.splice(i, 1)
-				this.form1.carNos = this.cars.join(',')
-			},
-			submitMJ() {
-				let arr = []
-				let names = []
-				this.columns.forEach(item => {
-					if (item.active) {
-						arr.push(item.id)
-						names.push(item.name)
-					}
-				})
-				if (arr.length === 0) return uni.showToast({
-					title: '璇烽�夋嫨闂ㄧ',
-					icon: 'none'
-				})
-				this.form1.doorSelectName = names.join(',')
-				this.form1.doors = arr.join(',')
-				this.show = false
-			},
-			seleMJ(i) {
-				this.columns.forEach((item, index) => {
-					if (index === i) {
-						item.active = !item.active
-					}
-				})
-			},
-			openLC() {
-				if (!this.form1.starttime) return uni.showToast({
-					title: '璇峰厛閫夋嫨鍏ュ洯鏃堕棿',
-					icon: 'none'
-				})
-				this.show5 = true
-			},
-			setstarttime(e) {
-				this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
-				// this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'), this.day)
-				this.maxTime = this.form1.starttime
-				console.log(this.form1.starttime.slice(0, 10))
-				this.show4 = false
-			},
-			setendtime(e) {
-				this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
-				this.show5 = false
-			},
-			formatTimeStamp(date) {
-				return Date.parse(new Date(`${date}`)) || Date.parse(new Date(`${date.replace(/-/g, '/')}`))
-			},
-			// 鏌ヨ鐢ㄦ埛
-			getUser() {
-				getVisitedMember().then(res => {
-					this.VisitPoeple = [res.data || []]
-				})
-				getVisitedVisitReason({}).then(res => {
-					this.VisitReason = [res.data || []]
-				})
-			},
-			// 琚嫓璁夸汉淇℃伅鏍¢獙鏂瑰紡锛�0鎵嬫満鍙峰崟鐙牎楠� 1鎵嬫満鍙峰拰濮撳悕缁勫悎鏍¢獙锛�
-			getUserValid() {
-				getSystemDictData({
-					dictCode: 'SYSTEM',
-					label: 'BEVISITED_USER_VALID'
-				}).then(res => {
-					if (res.code === 200) {
-						this.verify = res.data.code
-					}
-				})
-			},
-			// 鑾峰彇鏄惁闇�瑕侀�夋嫨闂ㄧ/闂ㄧ鍒楄〃
-			getvisit() {
-				getSystemDictData({
-					dictCode: 'SYSTEM',
-					label: 'SELECT_DOORS_VISIT_REQUIRED'
-				}).then(res => {
-					if (res.code === 200) {
-						this.accessControl = res.data.code
-						if (res.data.code === '1') {
-							this.$u.api.deviceRoleList({
-									type: 1
-								})
-								.then(device => {
-									if (device.code === 200) {
-										if (device.data.length > 0) {
-											device.data.forEach(item => {
-												item.active = false
-											})
-											this.columns = device.data
-										}
-									}
-								})
-						}
-					}
-				})
-			},
-			confirm(e) {
-				this.show = false
-			}
-		}
-	}
-</script>
-<style>
-	page {
-		background-color: #f7f7f7 !important;
-	}
-
-	.u-upload__button {
-		margin: 0 !important;
-	}
-</style>
-<style lang="scss" scoped>
-	.visit {
-		width: 100%;
-
-		.menjin {
-			width: 100%;
-
-			.respondent-title {
-				width: 100%;
-				height: 100rpx;
-				line-height: 100rpx;
-				text-align: center;
-				font-size: 32rpx;
-				font-weight: 600;
-				color: #222222;
-			}
-
-			.list {
-				width: 100%;
-				height: 400rpx;
-				display: flex;
-				flex-direction: column;
-
-				.list_item {
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-
-					text {
-						font-size: 28rpx;
-						color: #000000;
-					}
-
-					image {
-						width: 30rpx;
-						height: 30rpx;
-					}
-				}
-			}
-
-			.menjin_footer {
-				width: 100%;
-				padding: 30rpx;
-				box-sizing: border-box;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.menjin_footer_item {
-					flex: 1;
-					height: 80rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					border-radius: 10rpx;
-					background-color: $uni-color-primary;
-					color: #ffffff;
-					font-size: 26rpx;
-					margin-left: 30rpx;
-
-					&:first-child {
-						margin-left: 0 !important;
-					}
-				}
-			}
-		}
-
-		.adduser {
-			padding: 30rpx;
-			width: 100%;
-			box-sizing: border-box;
-
-			.adduser_head {
-				width: 100%;
-				text-align: center;
-				font-size: 32rpx;
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 600;
-				color: #222222;
-			}
-
-			.adduser_list {
-				width: 100%;
-				margin-top: 40rpx;
-
-				.adduser_list_item {
-					width: 100%;
-					padding: 24rpx 0;
-					box-sizing: border-box;
-					border-bottom: 1rpx solid #e5e5e5;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-
-					.adduser_list_item_label1 {
-						flex: 1;
-						display: flex;
-						flex-direction: column;
-
-						.cc {
-							font-size: 30rpx;
-							font-family: PingFangSC, PingFang SC;
-							font-weight: 400;
-							color: #222222;
-							margin-bottom: 20rpx;
-
-							b {
-								font-size: 30rpx;
-								font-family: PingFangSC, PingFang SC;
-								font-weight: 400;
-								color: #e0312a;
-							}
-						}
-
-						.aa {
-							font-size: 24rpx;
-							font-weight: 400;
-							color: #999999;
-						}
-					}
-
-					.adduser_list_item_label {
-						flex-shrink: 0;
-						display: flex;
-						align-items: center;
-						font-family: PingFangSC, PingFang SC;
-						font-size: 30rpx;
-
-						text {
-							&:nth-child(1) {
-								color: #e0312a;
-							}
-
-							&:nth-child(2) {
-								color: #222222;
-							}
-						}
-					}
-
-					.adduser_list_item_ipt {
-						flex-shrink: 0;
-						text-align: right;
-						font-size: 28rpx;
-						font-family: PingFangSC, PingFang SC;
-						font-weight: 400;
-						color: #333333;
-						margin-left: 30rpx;
-						display: flex;
-						align-items: center;
-						justify-content: flex-end;
-
-						.adduser_list_item_ipt1_upload {
-							width: 120rpx;
-							height: 120rpx;
-							background-color: #ececec;
-							display: flex;
-							align-items: center;
-							justify-content: center;
-							overflow: hidden;
-
-							image {
-								width: 100%;
-								height: 100%;
-							}
-						}
-
-						text {
-							font-size: 28rpx;
-							font-family: PingFangSC, PingFang SC;
-							font-weight: 400;
-							color: #999999;
-						}
-					}
-				}
-			}
-
-			.adduser_footer {
-				width: 100%;
-				margin-top: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.t {
-					background: #4d99a9 !important;
-					color: #ffffff !important;
-				}
-
-				.adduser_footer_item {
-					width: 336rpx;
-					height: 88rpx;
-					line-height: 88rpx;
-					text-align: center;
-					border-radius: 44rpx;
-					border: 1rpx solid #4d99a9;
-					font-size: 32rpx;
-					font-family: PingFangSC, PingFang SC;
-					font-weight: 400;
-					color: #4d99a9;
-					margin-right: 18rpx;
-
-					&:last-child {
-						margin: 0 !important;
-					}
-				}
-			}
-		}
-
-		.addcar {
-			padding: 30rpx;
-			width: 100%;
-			box-sizing: border-box;
-
-			.addcar_head {
-				text-align: center;
-				font-size: 32rpx;
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 600;
-				color: #222222;
-			}
-
-			.addcar_ipt {
-				width: 100%;
-				height: 100rpx;
-				line-height: 100rpx;
-				text-align: center;
-				background: #f7f7f7;
-				border-radius: 50rpx;
-				margin-top: 60rpx;
-
-				input {
-					width: 100%;
-					height: 100%;
-					font-size: 28rpx;
-					font-weight: 400;
-					color: #000000;
-					text-align: center;
-				}
-			}
-
-			.addcar_footer {
-				width: 100%;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				margin-top: 60rpx;
-
-				.t {
-					background: #4d99a9 !important;
-					color: #ffffff !important;
-				}
-
-				.addcar_footer_item {
-					flex: 1;
-					height: 88rpx;
-					line-height: 88rpx;
-					font-size: 32rpx;
-					font-weight: 400;
-					color: #025eef;
-					text-align: center;
-					border-radius: 44rpx;
-					border: 1rpx solid #025eef;
-					margin-right: 18rpx;
-
-					&:last-child {
-						margin-right: 0 !important;
-					}
-				}
-			}
-		}
-
-		.popup-content {
-			padding: 30rpx 30rpx 0 30rpx;
-			overflow: hidden;
-			display: flex;
-			flex-flow: column;
-
-			.respondent-title {
-				width: 100%;
-				text-align: center;
-				font-size: 32rpx;
-				font-weight: 600;
-				color: #222222;
-			}
-
-			.search-box {
-				width: 100%;
-				margin-top: 40rpx;
-
-				.search-box-top {
-					width: 100%;
-					height: 68rpx;
-					display: flex;
-					align-items: center;
-
-					.search-box-top-ipt {
-						flex: 1;
-						height: 100%;
-						padding: 0 30rpx;
-						box-sizing: border-box;
-						background: #f7f7f7;
-						border-radius: 4rpx;
-						display: flex;
-						align-items: center;
-
-						image {
-							width: 36rpx;
-							height: 36rpx;
-							flex-shrink: 0;
-							margin-right: 22rpx;
-						}
-
-						input {
-							flex: 1;
-							height: 100%;
-							font-size: 26rpx;
-							font-weight: 400;
-							color: #b2b2b2;
-						}
-					}
-
-					text {
-						flex-shrink: 0;
-						margin-left: 30rpx;
-						font-size: 28rpx;
-						font-weight: 400;
-						color: #025eef;
-					}
-				}
-
-				.search-box-total {
-					font-size: 26rpx;
-					font-weight: 400;
-					color: #666666;
-					margin-top: 24rpx;
-				}
-			}
-
-			.list {
-				width: 100%;
-				height: 800rpx;
-				margin-top: 30rpx;
-				padding: 0 !important;
-
-				.item {
-					width: 100%;
-					height: 102rpx;
-					display: flex;
-					align-items: center;
-					border-bottom: 1rpx solid #e5e5e5;
-
-					.item_a {
-						flex-shrink: 0;
-						width: 36rpx;
-						height: 36rpx;
-						margin-right: 24rpx;
-
-						image {
-							width: 100%;
-							height: 100%;
-						}
-					}
-
-					.item_b {
-						flex-shrink: 0;
-						width: 80rpx;
-						height: 80rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						overflow: hidden;
-						margin-right: 24rpx;
-
-						image {
-							width: 100%;
-							height: 100%;
-						}
-					}
-
-					.item_c {
-						flex: 1;
-						display: flex;
-						align-items: center;
-
-						text {
-							&:nth-child(1) {
-								font-size: 30rpx;
-								font-family: PingFangSC, PingFang SC;
-								font-weight: 400;
-								color: #222222;
-							}
-
-							&:nth-child(2) {
-								font-size: 20rpx;
-								font-family: PingFangSC, PingFang SC;
-								font-weight: 400;
-								color: #999999;
-								padding: 1rpx 4rpx;
-								box-sizing: border-box;
-								background-color: #eeeeee;
-								margin-left: 12rpx;
-							}
-						}
-					}
-				}
-			}
-
-			.footer1 {
-				width: 100%;
-				height: 100rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding: 14rpx 0 0 0;
-				box-sizing: border-box;
-
-				.footer_left {
-					flex: 1;
-					display: flex;
-					flex-direction: column;
-
-					.footer_left_a {
-						font-size: 26rpx;
-						font-family: PingFangSC, PingFang SC;
-						font-weight: 400;
-						color: #333333;
-					}
-
-					.footer_left_b {
-						font-size: 24rpx;
-						font-family: PingFangSC, PingFang SC;
-						font-weight: 400;
-						color: #999999;
-					}
-				}
-
-				.footer_btn {
-					flex-shrink: 0;
-					width: 216rpx;
-					height: 72rpx;
-					line-height: 72rpx;
-					text-align: center;
-					background: #025eef;
-					border-radius: 8rpx;
-					font-size: 28rpx;
-					font-weight: 600;
-					color: #ffffff;
-				}
-			}
-		}
-
-		.head {
-			width: 100%;
-			padding: 20rpx 30rpx;
-			box-sizing: border-box;
-			font-size: 28rpx;
-			font-weight: 400;
-			color: #666666;
-		}
-
-		.list {
-			width: 100%;
-			padding: 0 30rpx;
-			box-sizing: border-box;
-			background-color: #ffffff;
-
-			.empty {
-				width: 750rpx;
-				height: 20rpx;
-				background-color: #f7f7f7;
-				margin: 0 -30rpx;
-			}
-
-			.list_item {
-				width: 100%;
-				// min-height: 98rpx;
-				padding: 30rpx 0;
-				box-sizing: border-box;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				border-bottom: 1rpx solid #e5e5e5;
-
-				.list_item_label {
-					flex-shrink: 0;
-					display: flex;
-					align-items: center;
-
-					text {
-						&:nth-child(1) {
-							font-size: 30rpx;
-							font-weight: 400;
-							color: #e42d2d;
-						}
-
-						&:nth-child(2) {
-							font-size: 30rpx;
-							font-weight: 400;
-							color: #222222;
-						}
-					}
-				}
-
-				.list_item_content {
-					flex: 1;
-					height: 100%;
-					margin-left: 30rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-end;
-
-					text {
-						font-size: 28rpx;
-						font-weight: 400;
-						color: #999999;
-						margin-right: 6rpx;
-					}
-
-					input {
-						width: 100%;
-						height: 100%;
-						text-align: right;
-						font-size: 28rpx;
-						font-weight: 400;
-						color: #222222;
-					}
 				}
+				return value
+			},
+			selName() {
+				uni.navigateTo({
+					url: '/pages/visitorApplication/memberSel'
+				})
+			},
+			openInput(type) {
+				this.inputType = type
+				this.$refs.keyboard.open()
+			},
+			setPlate(e) {
+				if (this.inputType === 1) {
+					this.form1.carNos = e
+				} else if (this.inputType === 2) {
+					this.withUserList.carNos = e
+				}
+				this.$forceUpdate()
+				this.closeInput()
+			},
+			closeInput() {
+				this.$refs.keyboard.close()
+			},
+			constructionChange(value) {
+				this.form1.type = value
+			},
+			uploadImg(file) {
+				this.$refs.cropper.close()
+				uni.showLoading({
+					title: '涓婁紶涓�',
+					mask: true
+				})
+				uni.uploadFile({
+					url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`,
+					filePath: file.tempFilePath,
+					name: 'file',
+					formData: {
+						folderCode: 'MEMBER_IMG'
+					},
+					success: (uploadFileRes) => {
+						let res = JSON.parse(uploadFileRes.data)
+						this.withUserList.faceImg = res.data.halfPath
+						this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				})
+			},
+			closeMJ() {
+				this.show = false
+				this.columns.forEach(item => {
+					item.active = false
+				})
+			},
+			onSubmit() {
+				if (!this.form1.receptMemberId) return uni.showToast({
+					title: '璇峰~鍐欐湁鏁堢殑璁块棶浜�',
+					icon: 'none'
+				})
+				if (!this.form1.starttime) return uni.showToast({
+					title: '鍏ュ洯鏃堕棿涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.endtime) return uni.showToast({
+					title: '绂诲洯鏃堕棿涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({
+					title: '璁块棶闂ㄧ涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.form1.reason) return uni.showToast({
+					title: '鎷滆浜嬬敱涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				// this.form1.starttime = this.form1.starttime + ':00'
+				// this.form1.endtime = this.form1.endtime + ':00'
+				let data = JSON.parse(JSON.stringify(this.form1))
+				data.starttime = data.starttime + ':00'
+				data.endtime = data.endtime + ':00'
+				createFk({
+					...this.form,
+					...data,
+					openid: this.$store.state.openId,
+					withUserList: this.personnel
+				}).then(res => {
+					if (res.code === 200) {
+						uni.navigateTo({
+							url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}`
+						})
+					}
+				})
+			},
+			deleUser(i) {
+				this.personnel.splice(i, 1)
+			},
+			getVisit1() {
+				// 鏄惁闇�瑕佺瓟棰�
+				this.$u.api.getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'HEALTH_CARD'
+				}).then(res => {
+					if (res.code === 200) {
+						this.visit = res.data.code
+					}
+				})
+				// 璧峰鏃堕棿鏃堕暱
+				getSystemDictData({
+					dictCode: 'VISIT_CONFIG',
+					label: 'VALIDATE_VISIT'
+				}).then(res => {
+					if (res.code === 200) {
+						this.day = Number(res.data.code)
+						// console.log(nextDay('after', true, this.day))
+					}
+				})
+			},
+			submitUser() {
+				if (!this.withUserList.name) return uni.showToast({
+					title: '濮撳悕涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.withUserList.phone) return uni.showToast({
+					title: '鎵嬫満鍙蜂笉鑳戒负绌�',
+					icon: 'none'
+				})
+				const regExp = /^1[3456789]\d{9}$/
+				if (!regExp.test(this.withUserList.phone)) return uni.showToast({
+					title: '鎵嬫満鍙锋牸寮忛敊璇�',
+					icon: 'none'
+				})
+				if (!String(this.withUserList.idcardType)) return uni.showToast({
+					title: '璇佷欢绫诲瀷涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.withUserList.idcardNo) return uni.showToast({
+					title: '璇佷欢鍙风爜涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (this.withUserList.idcardType === 0) {
+					const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/
+					if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({
+						title: '璇佷欢鍙风爜鏍煎紡閿欒',
+						icon: 'none'
+					})
+				}
+				if (!this.withUserList.companyName) return uni.showToast({
+					title: '鍏徃涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (!this.withUserList.faceImg) return uni.showToast({
+					title: '浜鸿劯鐓х墖涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				if (this.visit === '1') {
+					if (!this.withUserList.imgurl) return uni.showToast({
+						title: '浜鸿劯鐓х墖涓嶈兘涓虹┖',
+						icon: 'none'
+					})
+				}
+				let arr = JSON.parse(JSON.stringify(this.withUserList))
+				this.personnel.push(arr)
+				this.show3 = false
+				this.withUserList.name = ''
+				this.withUserList.phone = ''
+				this.withUserList.idcardType = ''
+				this.withUserList.idcardTypeName = ''
+				this.withUserList.companyName = ''
+				this.withUserList.idcardNo = ''
+				this.withUserList.faceImg = ''
+				this.withUserList.faceImgUrl = ''
+				this.withUserList.imgurl = ''
+				this.withUserList.imgurlUrl = ''
+			},
+			upload(type) {
+				this.type = type
+				if (type === 'faceImg') {
+					this.$refs.cropper.open()
+					return
+				}
+				uni.chooseImage({
+					success: (chooseImageRes) => {
+						uni.showLoading({
+							title: '涓婁紶涓�',
+							mask: true
+						})
+						for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) {
+							uni.uploadFile({
+								url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`,
+								filePath: chooseImageRes.tempFilePaths[i],
+								name: 'file',
+								formData: {
+									folderCode: 'MEMBER_IMG'
+								},
+								success: (uploadFileRes) => {
+									let res = JSON.parse(uploadFileRes.data)
+									if (type === 'faceImg') {
+										this.withUserList.faceImg = res.data.halfPath
+										this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+									} else {
+										this.withUserList.imgurl = res.data.halfPath
+										this.withUserList.imgurlUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+									}
+								},
+								complete() {
+									if (i === chooseImageRes.tempFilePaths.length - 1) {
+										uni.hideLoading()
+									}
+								}
+							})
+						}
+					}
+				})
+			},
+			seleIdcard(e) {
+				this.withUserList.idcardType = e.value[0].id
+				this.withUserList.idcardTypeName = e.value[0].name
+				this.show6 = false
+			},
+			selectedName(e) {
+				this.form1.receptMemberName = e.value[0].name
+				this.form1.receptMemberId = e.value[0].id
+				this.form1.receptMemberDepartment = e.value[0].companyId
+				this.showName = false
+			},
+			selectedReason(e) {
+				this.form1.reason = e.value[0].title
+				console.log(e.value[0].title)
+				this.showReason = false
+			},
+			submitCart() {
+				if (!this.carName) return uni.showToast({
+					title: '璇疯緭鍏ヨ溅鐗屽彿鐮�',
+					icon: 'none'
+				})
+				this.cars.push(this.carName)
+				this.form1.carNos = this.cars.join(',')
+				this.carName = ''
+				this.show2 = false
+			},
+			deleCars(i) {
+				this.cars.splice(i, 1)
+				this.form1.carNos = this.cars.join(',')
+			},
+			submitMJ() {
+				let arr = []
+				let names = []
+				this.columns.forEach(item => {
+					if (item.active) {
+						arr.push(item.id)
+						names.push(item.name)
+					}
+				})
+				if (arr.length === 0) return uni.showToast({
+					title: '璇烽�夋嫨闂ㄧ',
+					icon: 'none'
+				})
+				this.form1.doorSelectName = names.join(',')
+				this.form1.doors = arr.join(',')
+				this.show = false
+			},
+			seleMJ(i) {
+				this.columns.forEach((item, index) => {
+					if (index === i) {
+						item.active = !item.active
+					}
+				})
+			},
+			openLC() {
+				if (!this.form1.starttime) return uni.showToast({
+					title: '璇峰厛閫夋嫨鍏ュ洯鏃堕棿',
+					icon: 'none'
+				})
+				this.show5 = true
+			},
+			setstarttime(e) {
+				this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
+				// this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'), this.day)
+				this.maxTime = this.form1.starttime
+				console.log(this.form1.starttime.slice(0, 10))
+				this.show4 = false
+			},
+			setendtime(e) {
+				this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
+				this.show5 = false
+			},
+			formatTimeStamp(date) {
+				return Date.parse(new Date(`${date}`)) || Date.parse(new Date(`${date.replace(/-/g, '/')}`))
+			},
+			// 鏌ヨ鐢ㄦ埛
+			getUser() {
+				getVisitedMember().then(res => {
+					this.VisitPoeple = [res.data || []]
+				})
+				getVisitedVisitReason({}).then(res => {
+					this.VisitReason = [res.data || []]
+				})
+			},
+			// 琚嫓璁夸汉淇℃伅鏍¢獙鏂瑰紡锛�0鎵嬫満鍙峰崟鐙牎楠� 1鎵嬫満鍙峰拰濮撳悕缁勫悎鏍¢獙锛�
+			getUserValid() {
+				getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'BEVISITED_USER_VALID'
+				}).then(res => {
+					if (res.code === 200) {
+						this.verify = res.data.code
+					}
+				})
+			},
+			// 鑾峰彇鏄惁闇�瑕侀�夋嫨闂ㄧ/闂ㄧ鍒楄〃
+			getvisit() {
+				getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'SELECT_DOORS_VISIT_REQUIRED'
+				}).then(res => {
+					if (res.code === 200) {
+						this.accessControl = res.data.code
+						if (res.data.code === '1') {
+							this.$u.api.deviceRoleList({
+									type: 1
+								})
+								.then(device => {
+									if (device.code === 200) {
+										if (device.data.length > 0) {
+											device.data.forEach(item => {
+												item.active = false
+											})
+											this.columns = device.data
+										}
+									}
+								})
+						}
+					}
+				})
+			},
+			confirm(e) {
+				this.show = false
+			}
+		}
+	}
+</script>
+<style>
+	page {
+		background-color: #f7f7f7 !important;
+	}
+
+	.u-upload__button {
+		margin: 0 !important;
+	}
+</style>
+<style lang="scss" scoped>
+	.visit {
+		width: 100%;
+
+		.menjin {
+			width: 100%;
+
+			.respondent-title {
+				width: 100%;
+				height: 100rpx;
+				line-height: 100rpx;
+				text-align: center;
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #222222;
+			}
+
+			.list {
+				width: 100%;
+				height: 400rpx;
+				display: flex;
+				flex-direction: column;
+
+				.list_item {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					text {
+						font-size: 28rpx;
+						color: #000000;
+					}
+
+					image {
+						width: 30rpx;
+						height: 30rpx;
+					}
+				}
+			}
+
+			.menjin_footer {
+				width: 100%;
+				padding: 30rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				.menjin_footer_item {
+					flex: 1;
+					height: 80rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					border-radius: 10rpx;
+					background-color: $uni-color-primary;
+					color: #ffffff;
+					font-size: 26rpx;
+					margin-left: 30rpx;
+
+					&:first-child {
+						margin-left: 0 !important;
+					}
+				}
+			}
+		}
+
+		.adduser {
+			padding: 30rpx;
+			width: 100%;
+			box-sizing: border-box;
+
+			.adduser_head {
+				width: 100%;
+				text-align: center;
+				font-size: 32rpx;
+				font-family: PingFangSC, PingFang SC;
+				font-weight: 600;
+				color: #222222;
+			}
+
+			.adduser_list {
+				width: 100%;
+				margin-top: 40rpx;
+
+				.adduser_list_item {
+					width: 100%;
+					padding: 24rpx 0;
+					box-sizing: border-box;
+					border-bottom: 1rpx solid #e5e5e5;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					.adduser_list_item_label1 {
+						flex: 1;
+						display: flex;
+						flex-direction: column;
+
+						.cc {
+							font-size: 30rpx;
+							font-family: PingFangSC, PingFang SC;
+							font-weight: 400;
+							color: #222222;
+							margin-bottom: 20rpx;
+
+							b {
+								font-size: 30rpx;
+								font-family: PingFangSC, PingFang SC;
+								font-weight: 400;
+								color: #e0312a;
+							}
+						}
+
+						.aa {
+							font-size: 24rpx;
+							font-weight: 400;
+							color: #999999;
+						}
+					}
+
+					.adduser_list_item_label {
+						flex-shrink: 0;
+						display: flex;
+						align-items: center;
+						font-family: PingFangSC, PingFang SC;
+						font-size: 30rpx;
+
+						text {
+							&:nth-child(1) {
+								color: #e0312a;
+							}
+
+							&:nth-child(2) {
+								color: #222222;
+							}
+						}
+					}
+
+					.adduser_list_item_ipt {
+						flex-shrink: 0;
+						text-align: right;
+						font-size: 28rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+						margin-left: 30rpx;
+						display: flex;
+						align-items: center;
+						justify-content: flex-end;
+
+						.adduser_list_item_ipt1_upload {
+							width: 120rpx;
+							height: 120rpx;
+							background-color: #ececec;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							overflow: hidden;
+
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+
+						text {
+							font-size: 28rpx;
+							font-family: PingFangSC, PingFang SC;
+							font-weight: 400;
+							color: #999999;
+						}
+					}
+				}
+			}
+
+			.adduser_footer {
+				width: 100%;
+				margin-top: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				.t {
+					background: #4d99a9 !important;
+					color: #ffffff !important;
+				}
+
+				.adduser_footer_item {
+					width: 336rpx;
+					height: 88rpx;
+					line-height: 88rpx;
+					text-align: center;
+					border-radius: 44rpx;
+					border: 1rpx solid #4d99a9;
+					font-size: 32rpx;
+					font-family: PingFangSC, PingFang SC;
+					font-weight: 400;
+					color: #4d99a9;
+					margin-right: 18rpx;
+
+					&:last-child {
+						margin: 0 !important;
+					}
+				}
+			}
+		}
+
+		.addcar {
+			padding: 30rpx;
+			width: 100%;
+			box-sizing: border-box;
+
+			.addcar_head {
+				text-align: center;
+				font-size: 32rpx;
+				font-family: PingFangSC, PingFang SC;
+				font-weight: 600;
+				color: #222222;
+			}
+
+			.addcar_ipt {
+				width: 100%;
+				height: 100rpx;
+				line-height: 100rpx;
+				text-align: center;
+				background: #f7f7f7;
+				border-radius: 50rpx;
+				margin-top: 60rpx;
+
+				input {
+					width: 100%;
+					height: 100%;
+					font-size: 28rpx;
+					font-weight: 400;
+					color: #000000;
+					text-align: center;
+				}
+			}
+
+			.addcar_footer {
+				width: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				margin-top: 60rpx;
+
+				.t {
+					background: #4d99a9 !important;
+					color: #ffffff !important;
+				}
+
+				.addcar_footer_item {
+					flex: 1;
+					height: 88rpx;
+					line-height: 88rpx;
+					font-size: 32rpx;
+					font-weight: 400;
+					color: #025eef;
+					text-align: center;
+					border-radius: 44rpx;
+					border: 1rpx solid #025eef;
+					margin-right: 18rpx;
+
+					&:last-child {
+						margin-right: 0 !important;
+					}
+				}
+			}
+		}
+
+		.popup-content {
+			padding: 30rpx 30rpx 0 30rpx;
+			overflow: hidden;
+			display: flex;
+			flex-flow: column;
+
+			.respondent-title {
+				width: 100%;
+				text-align: center;
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #222222;
+			}
+
+			.search-box {
+				width: 100%;
+				margin-top: 40rpx;
+
+				.search-box-top {
+					width: 100%;
+					height: 68rpx;
+					display: flex;
+					align-items: center;
+
+					.search-box-top-ipt {
+						flex: 1;
+						height: 100%;
+						padding: 0 30rpx;
+						box-sizing: border-box;
+						background: #f7f7f7;
+						border-radius: 4rpx;
+						display: flex;
+						align-items: center;
+
+						image {
+							width: 36rpx;
+							height: 36rpx;
+							flex-shrink: 0;
+							margin-right: 22rpx;
+						}
+
+						input {
+							flex: 1;
+							height: 100%;
+							font-size: 26rpx;
+							font-weight: 400;
+							color: #b2b2b2;
+						}
+					}
+
+					text {
+						flex-shrink: 0;
+						margin-left: 30rpx;
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #025eef;
+					}
+				}
+
+				.search-box-total {
+					font-size: 26rpx;
+					font-weight: 400;
+					color: #666666;
+					margin-top: 24rpx;
+				}
+			}
+
+			.list {
+				width: 100%;
+				height: 800rpx;
+				margin-top: 30rpx;
+				padding: 0 !important;
+
+				.item {
+					width: 100%;
+					height: 102rpx;
+					display: flex;
+					align-items: center;
+					border-bottom: 1rpx solid #e5e5e5;
+
+					.item_a {
+						flex-shrink: 0;
+						width: 36rpx;
+						height: 36rpx;
+						margin-right: 24rpx;
+
+						image {
+							width: 100%;
+							height: 100%;
+						}
+					}
+
+					.item_b {
+						flex-shrink: 0;
+						width: 80rpx;
+						height: 80rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						overflow: hidden;
+						margin-right: 24rpx;
+
+						image {
+							width: 100%;
+							height: 100%;
+						}
+					}
+
+					.item_c {
+						flex: 1;
+						display: flex;
+						align-items: center;
+
+						text {
+							&:nth-child(1) {
+								font-size: 30rpx;
+								font-family: PingFangSC, PingFang SC;
+								font-weight: 400;
+								color: #222222;
+							}
+
+							&:nth-child(2) {
+								font-size: 20rpx;
+								font-family: PingFangSC, PingFang SC;
+								font-weight: 400;
+								color: #999999;
+								padding: 1rpx 4rpx;
+								box-sizing: border-box;
+								background-color: #eeeeee;
+								margin-left: 12rpx;
+							}
+						}
+					}
+				}
+			}
+
+			.footer1 {
+				width: 100%;
+				height: 100rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				padding: 14rpx 0 0 0;
+				box-sizing: border-box;
+
+				.footer_left {
+					flex: 1;
+					display: flex;
+					flex-direction: column;
+
+					.footer_left_a {
+						font-size: 26rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+					}
+
+					.footer_left_b {
+						font-size: 24rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #999999;
+					}
+				}
+
+				.footer_btn {
+					flex-shrink: 0;
+					width: 216rpx;
+					height: 72rpx;
+					line-height: 72rpx;
+					text-align: center;
+					background: #025eef;
+					border-radius: 8rpx;
+					font-size: 28rpx;
+					font-weight: 600;
+					color: #ffffff;
+				}
+			}
+		}
+
+		.head {
+			width: 100%;
+			padding: 20rpx 30rpx;
+			box-sizing: border-box;
+			font-size: 28rpx;
+			font-weight: 400;
+			color: #666666;
+		}
+
+		.list {
+			width: 100%;
+			padding: 0 30rpx;
+			box-sizing: border-box;
+			background-color: #ffffff;
+
+			.empty {
+				width: 750rpx;
+				height: 20rpx;
+				background-color: #f7f7f7;
+				margin: 0 -30rpx;
+			}
+
+			.list_item {
+				width: 100%;
+				// min-height: 98rpx;
+				padding: 30rpx 0;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				border-bottom: 1rpx solid #e5e5e5;
+
+				.list_item_label {
+					flex-shrink: 0;
+					display: flex;
+					align-items: center;
+
+					text {
+						&:nth-child(1) {
+							font-size: 30rpx;
+							font-weight: 400;
+							color: #e42d2d;
+						}
+
+						&:nth-child(2) {
+							font-size: 30rpx;
+							font-weight: 400;
+							color: #222222;
+						}
+					}
+				}
+
+				.list_item_content {
+					flex: 1;
+					height: 100%;
+					margin-left: 30rpx;
+					display: flex;
+					align-items: center;
+					justify-content: flex-end;
+
+					text {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+						margin-right: 6rpx;
+					}
+
+					input {
+						width: 100%;
+						height: 100%;
+						text-align: right;
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #222222;
+					}
+				}
+<<<<<<< HEAD
+				let arr = JSON.parse(JSON.stringify(this.withUserList))
+				this.personnel.push(arr)
+				this.show3 = false
+				this.withUserList.name = ''
+				this.withUserList.phone = ''
+				this.withUserList.idcardType = ''
+				this.withUserList.idcardTypeName = ''
+				this.withUserList.companyName = ''
+				this.withUserList.idcardNo = ''
+				this.withUserList.faceImg = ''
+				this.withUserList.faceImgUrl = ''
+				this.withUserList.imgurl = ''
+				this.withUserList.imgurlUrl = ''
+			},
+			upload(type) {
+				this.type = type
+				if (type === 'faceImg') {
+					this.$refs.cropper.open()
+					return
+				}
+				uni.chooseImage({
+					success: (chooseImageRes) => {
+						// if (type === 'faceImg') {
+						// 	this.photoSrc = chooseImageRes.tempFilePaths[0];
+						// 	this.$refs.tlyPictureCut.showPop();
+						// 	return
+						// }
+						uni.showLoading({ title: '涓婁紶涓�', mask: true });
+						for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) {
+							uni.uploadFile({
+								url: `${this.$baseUrl}public/api/uploadFtp.do`,
+								filePath: chooseImageRes.tempFilePaths[i],
+								name: 'file',
+								formData: {
+									folderCode: 'MEMBER_IMG'
+								},
+								success: (uploadFileRes) => {
+									let res = JSON.parse(uploadFileRes.data)
+									if (type === 'faceImg') {
+										this.withUserList.faceImg = res.data.halfPath
+										this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+									} else {
+										this.withUserList.imgurl = res.data.halfPath
+										this.withUserList.imgurlUrl = res.data.prefixPath + res.data.folder + res.data.halfPath
+									}
+								},
+								complete() {
+									if (i === chooseImageRes.tempFilePaths.length - 1) {
+										uni.hideLoading();
+									}
+								}
+							});
+						}
+					}
+				});
+			},
+			seleIdcard(e) {
+				this.withUserList.idcardType = e.value[0].id
+				this.withUserList.idcardTypeName = e.value[0].name
+				this.show6 = false
+			},
+			submitCart() {
+				if (!this.carName) return uni.showToast({
+					title: '璇疯緭鍏ヨ溅鐗屽彿鐮�',
+					icon: 'none'
+				})
+				this.cars.push(this.carName)
+				this.form1.carNos = this.cars.join(',')
+				this.carName = ''
+				this.show2 = false
+			},
+			deleCars(i) {
+				this.cars.splice(i, 1)
+				this.form1.carNos = this.cars.join(',')
+			},
+			submitMJ() {
+				let arr = []
+				let names = []
+				this.columns.forEach(item => {
+					if (item.active) {
+						arr.push(item.id)
+						names.push(item.name)
+					}
+				})
+				if (arr.length === 0) return uni.showToast({
+					title: '璇烽�夋嫨闂ㄧ',
+					icon: 'none'
+				})
+				this.form1.doorSelectName = names.join(',')
+				this.form1.doors = arr.join(',')
+				this.show = false
+			},
+			seleMJ(i) {
+				this.columns.forEach((item,index) => {
+					if (index === i) {
+						item.active = !item.active
+					}
+				})
+			},
+			openLC() {
+				if (!this.form1.starttime) return uni.showToast({
+					title: '璇峰厛閫夋嫨鍏ュ巶鏃堕棿',
+					icon: 'none'
+				})
+				this.show5 = true
+			},
+			setinDate(e) {
+				this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM');
+				this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd'), this.day - 1)
+				this.show4 = false
+			},
+			setoutDate(e) {
+				this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM');
+				this.show5 = false
+			},
+			formatTimeStamp(date) {
+			    return Date.parse(new Date(`${date}`)) || Date.parse(new Date(`${date.replace(/-/g,'/')}`))
+			},
+			// 鏌ヨ鐢ㄦ埛
+			getUser() {
+				if (this.verify === '0') {
+					if (this.form1.phone1) {
+						this.$u.api.getVisitedMember({
+							mobile: this.form1.phone1
+						}).then(res => {
+							if (res.code === 200) {
+								this.form1.receptMemberId = res.data.id
+								this.form1.receptMemberName = res.data.name
+							}
+						})
+					}
+				} else {
+					if (this.form1.phone1 && this.form1.receptMemberName) {
+						this.$u.api.getVisitedMember({
+							mobile: this.form1.phone1,
+							name: this.form1.receptMemberName
+						}).then(res => {
+							if (res.code === 200) {
+								this.form1.receptMemberId = res.data.id
+								this.form1.receptMemberName = res.data.name
+							}
+						})
+					}
+				}
+			},
+			// 琚嫓璁夸汉淇℃伅鏍¢獙鏂瑰紡锛�0鎵嬫満鍙峰崟鐙牎楠� 1鎵嬫満鍙峰拰濮撳悕缁勫悎鏍¢獙锛�
+			getUserValid() {
+				this.$u.api.getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'BEVISITED_USER_VALID'
+				}).then(res => {
+					if (res.code === 200) {
+						this.verify = res.data.code
+					}
+				})
+			},
+			// 鑾峰彇鏄惁闇�瑕侀�夋嫨闂ㄧ/闂ㄧ鍒楄〃
+			getvisit() {
+				this.$u.api.getSystemDictData({
+					dictCode: 'SYSTEM',
+					label: 'SELECT_DOORS_VISIT_REQUIRED'
+				}).then(res => {
+					if (res.code === 200) {
+						this.accessControl = res.data.code
+						if (res.data.code === '1') {
+							this.$u.api.deviceRoleList({ type: 1 })
+								.then(device => {
+									if (device.code === 200) {
+										if (device.data.length > 0) {
+											device.data.forEach(item => {
+												item.active = false
+											})
+											this.columns = device.data
+										}
+									}
+								})
+						}
+					}
+				})
+			},
+			confirm(e) {
+				this.show = false
+			}
+		}
+	}
+</script>
+<style>
+	page {
+		background-color: #F7F7F7 !important;
+	}
+	.u-upload__button {
+		margin: 0 !important;
+	}
+</style>
+<style lang="scss" scoped>
+	.visit {
+		width: 100%;
+		.menjin {
+			width: 100%;
+			.respondent-title {
+				width: 100%;
+				height: 100rpx;
+				line-height: 100rpx;
+				text-align: center;
+				font-size: 32rpx;
+				font-weight: 500;
+				color: #222222;
+			}
+			.list {
+				width: 100%;
+				height: 400rpx;
+				display: flex;
+				flex-direction: column;
+				.list_item {
+					width: 100%;
+=======
 				.checkbox_wrap{
+>>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6
 					display: flex;
 					align-items: center;
 					.check_item{
@@ -1328,99 +1673,99 @@
 						height: 42rpx;
 						margin-left: 10rpx;
 					}
-				}
-			}
-		}
-
-		.cate {
-			width: 100%;
-			padding: 30rpx;
-			box-sizing: border-box;
-			background-color: #ffffff;
-
-			.cate_head {
-				font-size: 32rpx;
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 600;
-				color: #222222;
-			}
-
-			.cate_list {
-				width: 100%;
-				display: flex;
-				align-items: center;
-				flex-wrap: wrap;
-				margin-top: 30rpx;
-
-				.cate_list_item {
-					height: 64rpx;
-					padding: 0 20rpx;
-					box-sizing: border-box;
-					background-color: #eeeeee;
-					border-radius: 4rpx;
-					margin-right: 20rpx;
-					margin-bottom: 20rpx;
-					display: flex;
-					align-items: center;
-
-					&:last-child {
-						margin-right: 0 !important;
-					}
-
-					text {
-						font-size: 26rpx;
-						font-family: PingFangSC, PingFang SC;
-						font-weight: 400;
-						color: #333333;
-						margin-right: 30rpx;
-					}
-				}
-			}
-
-			.cate_add {
-				width: 200rpx;
-				height: 50rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				background: rgba(2, 94, 239, 0);
-				border-radius: 25rpx;
-				border: 1rpx solid #4c99a8;
-				font-size: 22rpx;
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				margin-top: 20rpx;
-				color: #4c99a8;
-				margin: 0 auto;
-			}
-		}
-
-		.zw {
-			width: 100%;
-			height: calc(env(safe-area-inset-bottom) + 118rpx);
-		}
-
-		.footer {
-			width: 100%;
-			padding: 0 30rpx;
-			padding-bottom: env(safe-area-inset-bottom);
-			box-sizing: border-box;
-			margin-top: 80rpx;
-			// position: fixed;
-			// left: 0;
-			// bottom: 30rpx;
-
-			.footer_btn {
-				width: 100%;
-				height: 88rpx;
-				line-height: 88rpx;
-				text-align: center;
-				background: #4c99a8;
-				border-radius: 44rpx;
-				font-size: 32rpx;
-				font-weight: 600;
-				color: #ffffff;
-			}
-		}
-	}
+				}
+			}
+		}
+
+		.cate {
+			width: 100%;
+			padding: 30rpx;
+			box-sizing: border-box;
+			background-color: #ffffff;
+
+			.cate_head {
+				font-size: 32rpx;
+				font-family: PingFangSC, PingFang SC;
+				font-weight: 600;
+				color: #222222;
+			}
+
+			.cate_list {
+				width: 100%;
+				display: flex;
+				align-items: center;
+				flex-wrap: wrap;
+				margin-top: 30rpx;
+
+				.cate_list_item {
+					height: 64rpx;
+					padding: 0 20rpx;
+					box-sizing: border-box;
+					background-color: #eeeeee;
+					border-radius: 4rpx;
+					margin-right: 20rpx;
+					margin-bottom: 20rpx;
+					display: flex;
+					align-items: center;
+
+					&:last-child {
+						margin-right: 0 !important;
+					}
+
+					text {
+						font-size: 26rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+						margin-right: 30rpx;
+					}
+				}
+			}
+
+			.cate_add {
+				width: 200rpx;
+				height: 50rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				background: rgba(2, 94, 239, 0);
+				border-radius: 25rpx;
+				border: 1rpx solid #4c99a8;
+				font-size: 22rpx;
+				font-family: PingFangSC, PingFang SC;
+				font-weight: 400;
+				margin-top: 20rpx;
+				color: #4c99a8;
+				margin: 0 auto;
+			}
+		}
+
+		.zw {
+			width: 100%;
+			height: calc(env(safe-area-inset-bottom) + 118rpx);
+		}
+
+		.footer {
+			width: 100%;
+			padding: 0 30rpx;
+			padding-bottom: env(safe-area-inset-bottom);
+			box-sizing: border-box;
+			margin-top: 80rpx;
+			// position: fixed;
+			// left: 0;
+			// bottom: 30rpx;
+
+			.footer_btn {
+				width: 100%;
+				height: 88rpx;
+				line-height: 88rpx;
+				text-align: center;
+				background: #4c99a8;
+				border-radius: 44rpx;
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #ffffff;
+			}
+		}
+	}
 </style>
\ No newline at end of file
diff --git a/screen/package-lock.json b/screen/package-lock.json
index f33334f..d843440 100644
--- a/screen/package-lock.json
+++ b/screen/package-lock.json
@@ -1,1584 +1,742 @@
 {
   "name": "screen",
   "version": "0.0.0",
-  "lockfileVersion": 3,
+  "lockfileVersion": 1,
   "requires": true,
-  "packages": {
-    "": {
-      "name": "screen",
-      "version": "0.0.0",
-      "dependencies": {
-        "axios": "^1.7.7",
-        "dayjs": "^1.11.11",
-        "echarts": "^5.5.1",
-        "pinia": "^2.1.7",
-        "postcss-plugin-px2rem": "^0.8.1",
-        "px2rem-loader": "^0.1.9",
-        "swiper": "^5.4.5",
-        "uqrcodejs": "^4.0.7",
-        "v-scale-screen": "^2.0.0",
-        "vue": "^3.4.21",
-        "vue-router": "^4.3.0"
-      },
-      "devDependencies": {
-        "@vitejs/plugin-vue": "^5.0.4",
-        "scss": "^0.2.4",
-        "vite": "^5.2.8",
-        "vite-plugin-vue-devtools": "^7.0.25"
-      }
-    },
-    "node_modules/@ampproject/remapping": {
+  "dependencies": {
+    "@ampproject/remapping": {
       "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+      "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz",
       "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
       }
     },
-    "node_modules/@antfu/utils": {
+    "@antfu/utils": {
       "version": "0.7.10",
-      "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz",
+      "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz",
       "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
+      "dev": true
     },
-    "node_modules/@babel/code-frame": {
+    "@babel/code-frame": {
       "version": "7.26.2",
       "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
       "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-validator-identifier": "^7.25.9",
         "js-tokens": "^4.0.0",
         "picocolors": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/compat-data": {
-      "version": "7.26.3",
-      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.3.tgz",
-      "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
+    "@babel/compat-data": {
+      "version": "7.26.8",
+      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.8.tgz",
+      "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
+      "dev": true
     },
-    "node_modules/@babel/core": {
-      "version": "7.26.0",
-      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz",
-      "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
+    "@babel/core": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.10.tgz",
+      "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.26.0",
-        "@babel/generator": "^7.26.0",
-        "@babel/helper-compilation-targets": "^7.25.9",
+        "@babel/code-frame": "^7.26.2",
+        "@babel/generator": "^7.26.10",
+        "@babel/helper-compilation-targets": "^7.26.5",
         "@babel/helper-module-transforms": "^7.26.0",
-        "@babel/helpers": "^7.26.0",
-        "@babel/parser": "^7.26.0",
-        "@babel/template": "^7.25.9",
-        "@babel/traverse": "^7.25.9",
-        "@babel/types": "^7.26.0",
+        "@babel/helpers": "^7.26.10",
+        "@babel/parser": "^7.26.10",
+        "@babel/template": "^7.26.9",
+        "@babel/traverse": "^7.26.10",
+        "@babel/types": "^7.26.10",
         "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
         "json5": "^2.2.3",
         "semver": "^6.3.1"
       },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@babel/core/node_modules/json5": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
-      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
-      "dev": true,
-      "bin": {
-        "json5": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.26.3",
-      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.3.tgz",
-      "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
-      "dev": true,
       "dependencies": {
-        "@babel/parser": "^7.26.3",
-        "@babel/types": "^7.26.3",
+        "json5": {
+          "version": "2.2.3",
+          "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
+          "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/generator": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.10.tgz",
+      "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==",
+      "dev": true,
+      "requires": {
+        "@babel/parser": "^7.26.10",
+        "@babel/types": "^7.26.10",
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-annotate-as-pure": {
+    "@babel/helper-annotate-as-pure": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
       "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.25.9",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
-      "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
+    "@babel/helper-compilation-targets": {
+      "version": "7.26.5",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+      "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
       "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.25.9",
+      "requires": {
+        "@babel/compat-data": "^7.26.5",
         "@babel/helper-validator-option": "^7.25.9",
         "browserslist": "^4.24.0",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.25.9",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
-      "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
+    "@babel/helper-create-class-features-plugin": {
+      "version": "7.26.9",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz",
+      "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
         "@babel/helper-member-expression-to-functions": "^7.25.9",
         "@babel/helper-optimise-call-expression": "^7.25.9",
-        "@babel/helper-replace-supers": "^7.25.9",
+        "@babel/helper-replace-supers": "^7.26.5",
         "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
-        "@babel/traverse": "^7.25.9",
+        "@babel/traverse": "^7.26.9",
         "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@babel/helper-member-expression-to-functions": {
+    "@babel/helper-member-expression-to-functions": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
       "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/traverse": "^7.25.9",
         "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-module-imports": {
+    "@babel/helper-module-imports": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
       "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/traverse": "^7.25.9",
         "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-module-transforms": {
+    "@babel/helper-module-transforms": {
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
       "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-imports": "^7.25.9",
         "@babel/helper-validator-identifier": "^7.25.9",
         "@babel/traverse": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@babel/helper-optimise-call-expression": {
+    "@babel/helper-optimise-call-expression": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
       "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.25.9",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
-      "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
+    "@babel/helper-plugin-utils": {
+      "version": "7.26.5",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+      "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
+      "dev": true
     },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.25.9",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz",
-      "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==",
+    "@babel/helper-replace-supers": {
+      "version": "7.26.5",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz",
+      "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-member-expression-to-functions": "^7.25.9",
         "@babel/helper-optimise-call-expression": "^7.25.9",
-        "@babel/traverse": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "@babel/traverse": "^7.26.5"
       }
     },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+    "@babel/helper-skip-transparent-expression-wrappers": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
       "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/traverse": "^7.25.9",
         "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/helper-string-parser": {
+    "@babel/helper-string-parser": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
-      "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
+      "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="
     },
-    "node_modules/@babel/helper-validator-identifier": {
+    "@babel/helper-validator-identifier": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
-      "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
+      "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="
     },
-    "node_modules/@babel/helper-validator-option": {
+    "@babel/helper-validator-option": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
       "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
+      "dev": true
+    },
+    "@babel/helpers": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.10.tgz",
+      "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==",
       "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
+      "requires": {
+        "@babel/template": "^7.26.9",
+        "@babel/types": "^7.26.10"
       }
     },
-    "node_modules/@babel/helpers": {
-      "version": "7.26.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz",
-      "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.25.9",
-        "@babel/types": "^7.26.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+    "@babel/parser": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.10.tgz",
+      "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
+      "requires": {
+        "@babel/types": "^7.26.10"
       }
     },
-    "node_modules/@babel/parser": {
-      "version": "7.26.3",
-      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.3.tgz",
-      "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
-      "dependencies": {
-        "@babel/types": "^7.26.3"
-      },
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-decorators": {
+    "@babel/plugin-proposal-decorators": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz",
       "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.25.9",
         "@babel/helper-plugin-utils": "^7.25.9",
         "@babel/plugin-syntax-decorators": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-decorators": {
+    "@babel/plugin-syntax-decorators": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz",
       "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-import-attributes": {
+    "@babel/plugin-syntax-import-attributes": {
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
       "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-import-meta": {
+    "@babel/plugin-syntax-import-meta": {
       "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
       "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-jsx": {
+    "@babel/plugin-syntax-jsx": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz",
       "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-typescript": {
+    "@babel/plugin-syntax-typescript": {
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz",
       "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-transform-typescript": {
-      "version": "7.26.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz",
-      "integrity": "sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==",
+    "@babel/plugin-transform-typescript": {
+      "version": "7.26.8",
+      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz",
+      "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
         "@babel/helper-create-class-features-plugin": "^7.25.9",
-        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.26.5",
         "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
         "@babel/plugin-syntax-typescript": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/template": {
-      "version": "7.25.9",
-      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz",
-      "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
+    "@babel/template": {
+      "version": "7.26.9",
+      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.26.9.tgz",
+      "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
       "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.25.9",
-        "@babel/parser": "^7.25.9",
-        "@babel/types": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/traverse": {
-      "version": "7.26.4",
-      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.4.tgz",
-      "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
-      "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/code-frame": "^7.26.2",
-        "@babel/generator": "^7.26.3",
-        "@babel/parser": "^7.26.3",
-        "@babel/template": "^7.25.9",
-        "@babel/types": "^7.26.3",
+        "@babel/parser": "^7.26.9",
+        "@babel/types": "^7.26.9"
+      }
+    },
+    "@babel/traverse": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.10.tgz",
+      "integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.26.2",
+        "@babel/generator": "^7.26.10",
+        "@babel/parser": "^7.26.10",
+        "@babel/template": "^7.26.9",
+        "@babel/types": "^7.26.10",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/types": {
-      "version": "7.26.3",
-      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.3.tgz",
-      "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
-      "dependencies": {
+    "@babel/types": {
+      "version": "7.26.10",
+      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz",
+      "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
+      "requires": {
         "@babel/helper-string-parser": "^7.25.9",
         "@babel/helper-validator-identifier": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
       }
     },
-    "node_modules/@esbuild/aix-ppc64": {
+    "@esbuild/aix-ppc64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
       "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
-      "cpu": [
-        "ppc64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "aix"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/android-arm": {
+    "@esbuild/android-arm": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
       "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
-      "cpu": [
-        "arm"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/android-arm64": {
+    "@esbuild/android-arm64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
       "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
-      "cpu": [
-        "arm64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/android-x64": {
+    "@esbuild/android-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
       "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/darwin-arm64": {
+    "@esbuild/darwin-arm64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
       "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
-      "cpu": [
-        "arm64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/darwin-x64": {
+    "@esbuild/darwin-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
       "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/freebsd-arm64": {
+    "@esbuild/freebsd-arm64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
       "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
-      "cpu": [
-        "arm64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/freebsd-x64": {
+    "@esbuild/freebsd-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
       "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-arm": {
+    "@esbuild/linux-arm": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
       "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
-      "cpu": [
-        "arm"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-arm64": {
+    "@esbuild/linux-arm64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
       "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
-      "cpu": [
-        "arm64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-ia32": {
+    "@esbuild/linux-ia32": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
       "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
-      "cpu": [
-        "ia32"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-loong64": {
+    "@esbuild/linux-loong64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
       "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
-      "cpu": [
-        "loong64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-mips64el": {
+    "@esbuild/linux-mips64el": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
       "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
-      "cpu": [
-        "mips64el"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-ppc64": {
+    "@esbuild/linux-ppc64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
       "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
-      "cpu": [
-        "ppc64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-riscv64": {
+    "@esbuild/linux-riscv64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
       "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
-      "cpu": [
-        "riscv64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-s390x": {
+    "@esbuild/linux-s390x": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
       "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
-      "cpu": [
-        "s390x"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/linux-x64": {
+    "@esbuild/linux-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
       "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/netbsd-x64": {
+    "@esbuild/netbsd-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
       "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "netbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/openbsd-x64": {
+    "@esbuild/openbsd-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
       "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "openbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/sunos-x64": {
+    "@esbuild/sunos-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
       "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "sunos"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/win32-arm64": {
+    "@esbuild/win32-arm64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
       "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
-      "cpu": [
-        "arm64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/win32-ia32": {
+    "@esbuild/win32-ia32": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
       "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
-      "cpu": [
-        "ia32"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@esbuild/win32-x64": {
+    "@esbuild/win32-x64": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
       "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
-      "cpu": [
-        "x64"
-      ],
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
+      "optional": true
     },
-    "node_modules/@jridgewell/gen-mapping": {
+    "@jridgewell/gen-mapping": {
       "version": "0.3.8",
       "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
       "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@jridgewell/set-array": "^1.2.1",
         "@jridgewell/sourcemap-codec": "^1.4.10",
         "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
       }
     },
-    "node_modules/@jridgewell/resolve-uri": {
+    "@jridgewell/resolve-uri": {
       "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
       "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
-      }
+      "dev": true
     },
-    "node_modules/@jridgewell/set-array": {
+    "@jridgewell/set-array": {
       "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
       "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
-      }
+      "dev": true
     },
-    "node_modules/@jridgewell/sourcemap-codec": {
+    "@jridgewell/sourcemap-codec": {
       "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
       "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
     },
-    "node_modules/@jridgewell/trace-mapping": {
+    "@jridgewell/trace-mapping": {
       "version": "0.3.25",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
       "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@jridgewell/resolve-uri": "^3.1.0",
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
-    "node_modules/@parcel/watcher": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.0.tgz",
-      "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "detect-libc": "^1.0.3",
-        "is-glob": "^4.0.3",
-        "micromatch": "^4.0.5",
-        "node-addon-api": "^7.0.0"
-      },
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher-android-arm64": "2.5.0",
-        "@parcel/watcher-darwin-arm64": "2.5.0",
-        "@parcel/watcher-darwin-x64": "2.5.0",
-        "@parcel/watcher-freebsd-x64": "2.5.0",
-        "@parcel/watcher-linux-arm-glibc": "2.5.0",
-        "@parcel/watcher-linux-arm-musl": "2.5.0",
-        "@parcel/watcher-linux-arm64-glibc": "2.5.0",
-        "@parcel/watcher-linux-arm64-musl": "2.5.0",
-        "@parcel/watcher-linux-x64-glibc": "2.5.0",
-        "@parcel/watcher-linux-x64-musl": "2.5.0",
-        "@parcel/watcher-win32-arm64": "2.5.0",
-        "@parcel/watcher-win32-ia32": "2.5.0",
-        "@parcel/watcher-win32-x64": "2.5.0"
-      }
-    },
-    "node_modules/@parcel/watcher-android-arm64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
-      "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-darwin-arm64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
-      "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-darwin-x64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
-      "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-freebsd-x64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
-      "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-arm-glibc": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
-      "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
-      "cpu": [
-        "arm"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-arm-musl": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
-      "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
-      "cpu": [
-        "arm"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-arm64-glibc": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
-      "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-arm64-musl": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
-      "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-x64-glibc": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
-      "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-linux-x64-musl": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
-      "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-win32-arm64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
-      "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-win32-ia32": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
-      "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
-      "cpu": [
-        "ia32"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@parcel/watcher-win32-x64": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
-      "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "peer": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
-    },
-    "node_modules/@polka/url": {
+    "@polka/url": {
       "version": "1.0.0-next.28",
-      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
+      "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.28.tgz",
       "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
       "dev": true
     },
-    "node_modules/@rollup/pluginutils": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.3.tgz",
-      "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==",
+    "@rollup/pluginutils": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+      "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@types/estree": "^1.0.0",
         "estree-walker": "^2.0.2",
         "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
       }
     },
-    "node_modules/@rollup/pluginutils/node_modules/picomatch": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
-      "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+    "@rollup/rollup-android-arm-eabi": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.35.0.tgz",
+      "integrity": "sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==",
       "dev": true,
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
-      }
+      "optional": true
     },
-    "node_modules/@rollup/rollup-android-arm-eabi": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz",
-      "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==",
-      "cpu": [
-        "arm"
-      ],
+    "@rollup/rollup-android-arm64": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.35.0.tgz",
+      "integrity": "sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-android-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz",
-      "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-darwin-arm64": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.35.0.tgz",
+      "integrity": "sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-darwin-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz",
-      "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-darwin-x64": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.35.0.tgz",
+      "integrity": "sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-darwin-x64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz",
-      "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==",
-      "cpu": [
-        "x64"
-      ],
+    "@rollup/rollup-freebsd-arm64": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.35.0.tgz",
+      "integrity": "sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-freebsd-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz",
-      "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-freebsd-x64": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.35.0.tgz",
+      "integrity": "sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-freebsd-x64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz",
-      "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==",
-      "cpu": [
-        "x64"
-      ],
+    "@rollup/rollup-linux-arm-gnueabihf": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.35.0.tgz",
+      "integrity": "sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz",
-      "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==",
-      "cpu": [
-        "arm"
-      ],
+    "@rollup/rollup-linux-arm-musleabihf": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.35.0.tgz",
+      "integrity": "sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz",
-      "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==",
-      "cpu": [
-        "arm"
-      ],
+    "@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.35.0.tgz",
+      "integrity": "sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-arm64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz",
-      "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-linux-arm64-musl": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.35.0.tgz",
+      "integrity": "sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-arm64-musl": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz",
-      "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-linux-loongarch64-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.35.0.tgz",
+      "integrity": "sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz",
-      "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==",
-      "cpu": [
-        "loong64"
-      ],
+    "@rollup/rollup-linux-powerpc64le-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.35.0.tgz",
+      "integrity": "sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz",
-      "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==",
-      "cpu": [
-        "ppc64"
-      ],
+    "@rollup/rollup-linux-riscv64-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.35.0.tgz",
+      "integrity": "sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz",
-      "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==",
-      "cpu": [
-        "riscv64"
-      ],
+    "@rollup/rollup-linux-s390x-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.35.0.tgz",
+      "integrity": "sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-s390x-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz",
-      "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==",
-      "cpu": [
-        "s390x"
-      ],
+    "@rollup/rollup-linux-x64-gnu": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.35.0.tgz",
+      "integrity": "sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz",
-      "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==",
-      "cpu": [
-        "x64"
-      ],
+    "@rollup/rollup-linux-x64-musl": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.35.0.tgz",
+      "integrity": "sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz",
-      "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==",
-      "cpu": [
-        "x64"
-      ],
+    "@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.35.0.tgz",
+      "integrity": "sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-win32-arm64-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz",
-      "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==",
-      "cpu": [
-        "arm64"
-      ],
+    "@rollup/rollup-win32-ia32-msvc": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.35.0.tgz",
+      "integrity": "sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-win32-ia32-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz",
-      "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==",
-      "cpu": [
-        "ia32"
-      ],
+    "@rollup/rollup-win32-x64-msvc": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz",
+      "integrity": "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ]
+      "optional": true
     },
-    "node_modules/@rollup/rollup-win32-x64-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz",
-      "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ]
-    },
-    "node_modules/@sec-ant/readable-stream": {
+    "@sec-ant/readable-stream": {
       "version": "0.4.1",
       "resolved": "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz",
       "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==",
       "dev": true
     },
-    "node_modules/@sindresorhus/merge-streams": {
+    "@sindresorhus/merge-streams": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
       "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/@types/estree": {
+    "@types/estree": {
       "version": "1.0.6",
       "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz",
       "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
       "dev": true
     },
-    "node_modules/@vitejs/plugin-vue": {
+    "@vitejs/plugin-vue": {
       "version": "5.2.1",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
       "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==",
-      "dev": true,
-      "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^5.0.0 || ^6.0.0",
-        "vue": "^3.2.25"
-      }
-    },
-    "node_modules/@vue/babel-helper-vue-transform-on": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz",
-      "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==",
       "dev": true
     },
-    "node_modules/@vue/babel-plugin-jsx": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz",
-      "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==",
+    "@vue/babel-helper-vue-transform-on": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz",
+      "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==",
+      "dev": true
+    },
+    "@vue/babel-plugin-jsx": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz",
+      "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==",
       "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.24.7",
-        "@babel/helper-plugin-utils": "^7.24.8",
-        "@babel/plugin-syntax-jsx": "^7.24.7",
-        "@babel/template": "^7.25.0",
-        "@babel/traverse": "^7.25.6",
-        "@babel/types": "^7.25.6",
-        "@vue/babel-helper-vue-transform-on": "1.2.5",
-        "@vue/babel-plugin-resolve-type": "1.2.5",
-        "html-tags": "^3.3.1",
-        "svg-tags": "^1.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      },
-      "peerDependenciesMeta": {
-        "@babel/core": {
-          "optional": true
-        }
+      "requires": {
+        "@babel/helper-module-imports": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.26.5",
+        "@babel/plugin-syntax-jsx": "^7.25.9",
+        "@babel/template": "^7.26.9",
+        "@babel/traverse": "^7.26.9",
+        "@babel/types": "^7.26.9",
+        "@vue/babel-helper-vue-transform-on": "1.4.0",
+        "@vue/babel-plugin-resolve-type": "1.4.0",
+        "@vue/shared": "^3.5.13"
       }
     },
-    "node_modules/@vue/babel-plugin-resolve-type": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz",
-      "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==",
+    "@vue/babel-plugin-resolve-type": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz",
+      "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==",
       "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.24.7",
-        "@babel/helper-module-imports": "^7.24.7",
-        "@babel/helper-plugin-utils": "^7.24.8",
-        "@babel/parser": "^7.25.6",
-        "@vue/compiler-sfc": "^3.5.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "requires": {
+        "@babel/code-frame": "^7.26.2",
+        "@babel/helper-module-imports": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.26.5",
+        "@babel/parser": "^7.26.9",
+        "@vue/compiler-sfc": "^3.5.13"
       }
     },
-    "node_modules/@vue/compiler-core": {
+    "@vue/compiler-core": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
       "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
-      "dependencies": {
+      "requires": {
         "@babel/parser": "^7.25.3",
         "@vue/shared": "3.5.13",
         "entities": "^4.5.0",
@@ -1586,20 +744,20 @@
         "source-map-js": "^1.2.0"
       }
     },
-    "node_modules/@vue/compiler-dom": {
+    "@vue/compiler-dom": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
       "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
-      "dependencies": {
+      "requires": {
         "@vue/compiler-core": "3.5.13",
         "@vue/shared": "3.5.13"
       }
     },
-    "node_modules/@vue/compiler-sfc": {
+    "@vue/compiler-sfc": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
       "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
-      "dependencies": {
+      "requires": {
         "@babel/parser": "^7.25.3",
         "@vue/compiler-core": "3.5.13",
         "@vue/compiler-dom": "3.5.13",
@@ -1609,91 +767,63 @@
         "magic-string": "^0.30.11",
         "postcss": "^8.4.48",
         "source-map-js": "^1.2.0"
-      }
-    },
-    "node_modules/@vue/compiler-sfc/node_modules/postcss": {
-      "version": "8.4.49",
-      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz",
-      "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "dependencies": {
-        "nanoid": "^3.3.7",
-        "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
       },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
+      "dependencies": {
+        "postcss": {
+          "version": "8.5.3",
+          "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz",
+          "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+          "requires": {
+            "nanoid": "^3.3.8",
+            "picocolors": "^1.1.1",
+            "source-map-js": "^1.2.1"
+          }
+        }
       }
     },
-    "node_modules/@vue/compiler-ssr": {
+    "@vue/compiler-ssr": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
       "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
-      "dependencies": {
+      "requires": {
         "@vue/compiler-dom": "3.5.13",
         "@vue/shared": "3.5.13"
       }
     },
-    "node_modules/@vue/devtools-api": {
+    "@vue/devtools-api": {
       "version": "6.6.4",
       "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
       "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="
     },
-    "node_modules/@vue/devtools-core": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.6.8.tgz",
-      "integrity": "sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==",
+    "@vue/devtools-core": {
+      "version": "7.7.2",
+      "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.7.2.tgz",
+      "integrity": "sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==",
       "dev": true,
-      "dependencies": {
-        "@vue/devtools-kit": "^7.6.8",
-        "@vue/devtools-shared": "^7.6.8",
+      "requires": {
+        "@vue/devtools-kit": "^7.7.2",
+        "@vue/devtools-shared": "^7.7.2",
         "mitt": "^3.0.1",
         "nanoid": "^5.0.9",
-        "pathe": "^1.1.2",
+        "pathe": "^2.0.2",
         "vite-hot-client": "^0.2.4"
       },
-      "peerDependencies": {
-        "vue": "^3.0.0"
-      }
-    },
-    "node_modules/@vue/devtools-core/node_modules/nanoid": {
-      "version": "5.0.9",
-      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.0.9.tgz",
-      "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "bin": {
-        "nanoid": "bin/nanoid.js"
-      },
-      "engines": {
-        "node": "^18 || >=20"
-      }
-    },
-    "node_modules/@vue/devtools-kit": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.6.8.tgz",
-      "integrity": "sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==",
-      "dev": true,
       "dependencies": {
-        "@vue/devtools-shared": "^7.6.8",
+        "nanoid": {
+          "version": "5.1.3",
+          "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.3.tgz",
+          "integrity": "sha512-zAbEOEr7u2CbxwoMRlz/pNSpRP0FdAU4pRaYunCdEezWohXFs+a0Xw7RfkKaezMsmSM1vttcLthJtwRnVtOfHQ==",
+          "dev": true
+        }
+      }
+    },
+    "@vue/devtools-kit": {
+      "version": "7.7.2",
+      "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz",
+      "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==",
+      "dev": true,
+      "requires": {
+        "@vue/devtools-shared": "^7.7.2",
         "birpc": "^0.2.19",
         "hookable": "^5.5.3",
         "mitt": "^3.0.1",
@@ -1702,493 +832,364 @@
         "superjson": "^2.2.1"
       }
     },
-    "node_modules/@vue/devtools-shared": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.6.8.tgz",
-      "integrity": "sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==",
+    "@vue/devtools-shared": {
+      "version": "7.7.2",
+      "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz",
+      "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "rfdc": "^1.4.1"
       }
     },
-    "node_modules/@vue/reactivity": {
+    "@vue/reactivity": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz",
       "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
-      "dependencies": {
+      "requires": {
         "@vue/shared": "3.5.13"
       }
     },
-    "node_modules/@vue/runtime-core": {
+    "@vue/runtime-core": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
       "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
-      "dependencies": {
+      "requires": {
         "@vue/reactivity": "3.5.13",
         "@vue/shared": "3.5.13"
       }
     },
-    "node_modules/@vue/runtime-dom": {
+    "@vue/runtime-dom": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
       "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
-      "dependencies": {
+      "requires": {
         "@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": {
+    "@vue/server-renderer": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
       "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
-      "dependencies": {
+      "requires": {
         "@vue/compiler-ssr": "3.5.13",
         "@vue/shared": "3.5.13"
-      },
-      "peerDependencies": {
-        "vue": "3.5.13"
       }
     },
-    "node_modules/@vue/shared": {
+    "@vue/shared": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz",
       "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="
     },
-    "node_modules/ansi-regex": {
+    "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
+      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
     },
-    "node_modules/ansi-styles": {
+    "ansi-styles": {
       "version": "2.2.1",
       "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
+      "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA=="
     },
-    "node_modules/asynckit": {
+    "asynckit": {
       "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
       "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
     },
-    "node_modules/atob": {
+    "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "bin": {
-        "atob": "bin/atob.js"
-      },
-      "engines": {
-        "node": ">= 4.5.0"
-      }
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
-    "node_modules/axios": {
-      "version": "1.7.9",
-      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.9.tgz",
-      "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
-      "dependencies": {
+    "axios": {
+      "version": "1.8.2",
+      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.8.2.tgz",
+      "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==",
+      "requires": {
         "follow-redirects": "^1.15.6",
         "form-data": "^4.0.0",
         "proxy-from-env": "^1.1.0"
       }
     },
-    "node_modules/balanced-match": {
+    "balanced-match": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
     },
-    "node_modules/big.js": {
+    "big.js": {
       "version": "5.2.2",
       "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "engines": {
-        "node": "*"
-      }
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
     },
-    "node_modules/birpc": {
+    "birpc": {
       "version": "0.2.19",
       "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz",
       "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
+      "dev": true
     },
-    "node_modules/brace-expansion": {
+    "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dependencies": {
+      "requires": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
       }
     },
-    "node_modules/braces": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
-      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+    "browserslist": {
+      "version": "4.24.4",
+      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.4.tgz",
+      "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
       "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "fill-range": "^7.1.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browserslist": {
-      "version": "4.24.2",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz",
-      "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001669",
-        "electron-to-chromium": "^1.5.41",
-        "node-releases": "^2.0.18",
+      "requires": {
+        "caniuse-lite": "^1.0.30001688",
+        "electron-to-chromium": "^1.5.73",
+        "node-releases": "^2.0.19",
         "update-browserslist-db": "^1.1.1"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
       }
     },
-    "node_modules/bundle-name": {
+    "bundle-name": {
       "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz",
       "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "run-applescript": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001687",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz",
-      "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ]
+    "call-bind-apply-helpers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+      "requires": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2"
+      }
     },
-    "node_modules/chalk": {
+    "caniuse-lite": {
+      "version": "1.0.30001703",
+      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz",
+      "integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==",
+      "dev": true
+    },
+    "chalk": {
       "version": "1.1.3",
       "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
       "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
-      "dependencies": {
+      "requires": {
         "ansi-styles": "^2.2.1",
         "escape-string-regexp": "^1.0.2",
         "has-ansi": "^2.0.0",
         "strip-ansi": "^3.0.0",
         "supports-color": "^2.0.0"
       },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/chalk/node_modules/supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.1.tgz",
-      "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
       "dependencies": {
-        "readdirp": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 14.16.0"
-      },
-      "funding": {
-        "url": "https://paulmillr.com/funding/"
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g=="
+        }
       }
     },
-    "node_modules/combined-stream": {
+    "combined-stream": {
       "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
       "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dependencies": {
+      "requires": {
         "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
       }
     },
-    "node_modules/commander": {
+    "commander": {
       "version": "2.6.0",
       "resolved": "https://registry.npmmirror.com/commander/-/commander-2.6.0.tgz",
-      "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==",
-      "engines": {
-        "node": ">= 0.6.x"
-      }
+      "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg=="
     },
-    "node_modules/concat-map": {
+    "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
       "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
     },
-    "node_modules/convert-source-map": {
+    "convert-source-map": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
       "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
       "dev": true
     },
-    "node_modules/copy-anything": {
+    "copy-anything": {
       "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz",
+      "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz",
       "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "is-what": "^4.1.8"
-      },
-      "engines": {
-        "node": ">=12.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mesqueeb"
       }
     },
-    "node_modules/cross-spawn": {
+    "cross-spawn": {
       "version": "7.0.6",
       "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
       "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "path-key": "^3.1.0",
         "shebang-command": "^2.0.0",
         "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
       }
     },
-    "node_modules/css": {
+    "css": {
       "version": "2.2.4",
       "resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz",
       "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
-      "dependencies": {
+      "requires": {
         "inherits": "^2.0.3",
         "source-map": "^0.6.1",
         "source-map-resolve": "^0.5.2",
         "urix": "^0.1.0"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+        }
       }
     },
-    "node_modules/css/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/csstype": {
+    "csstype": {
       "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
     },
-    "node_modules/dayjs": {
+    "dayjs": {
       "version": "1.11.13",
       "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
       "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
     },
-    "node_modules/debug": {
+    "debug": {
       "version": "4.4.0",
       "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz",
       "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "ms": "^2.1.3"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
       }
     },
-    "node_modules/decode-uri-component": {
+    "decode-uri-component": {
       "version": "0.2.2",
       "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
-      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
-      "engines": {
-        "node": ">=0.10"
-      }
+      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
     },
-    "node_modules/default-browser": {
+    "default-browser": {
       "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
+      "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz",
       "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "bundle-name": "^4.1.0",
         "default-browser-id": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/default-browser-id": {
+    "default-browser-id": {
       "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz",
       "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/define-lazy-prop": {
+    "define-lazy-prop": {
       "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
       "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/delayed-stream": {
+    "delayed-stream": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
-      "engines": {
-        "node": ">=0.4.0"
-      }
+      "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
     },
-    "node_modules/detect-libc": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz",
-      "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "bin": {
-        "detect-libc": "bin/detect-libc.js"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/dom7": {
+    "dom7": {
       "version": "2.1.5",
       "resolved": "https://registry.npmmirror.com/dom7/-/dom7-2.1.5.tgz",
       "integrity": "sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==",
-      "dependencies": {
+      "requires": {
         "ssr-window": "^2.0.0"
       }
     },
-    "node_modules/echarts": {
-      "version": "5.5.1",
-      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
-      "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
-      "dependencies": {
-        "tslib": "2.3.0",
-        "zrender": "5.6.0"
+    "dunder-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
+      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+      "requires": {
+        "call-bind-apply-helpers": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.2.0"
       }
     },
-    "node_modules/electron-to-chromium": {
-      "version": "1.5.73",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.73.tgz",
-      "integrity": "sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==",
+    "echarts": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz",
+      "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==",
+      "requires": {
+        "tslib": "2.3.0",
+        "zrender": "5.6.1"
+      }
+    },
+    "electron-to-chromium": {
+      "version": "1.5.114",
+      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.114.tgz",
+      "integrity": "sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==",
       "dev": true
     },
-    "node_modules/emojis-list": {
+    "emojis-list": {
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "engines": {
-        "node": ">= 4"
-      }
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
     },
-    "node_modules/entities": {
+    "entities": {
       "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
-      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
-      "engines": {
-        "node": ">=0.12"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
-      }
+      "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
     },
-    "node_modules/error-stack-parser-es": {
+    "error-stack-parser-es": {
       "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz",
+      "resolved": "https://registry.npmmirror.com/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz",
       "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "dev": true
+    },
+    "es-define-property": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
+    },
+    "es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+    },
+    "es-object-atoms": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+      "requires": {
+        "es-errors": "^1.3.0"
       }
     },
-    "node_modules/esbuild": {
+    "es-set-tostringtag": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+      "requires": {
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
+      }
+    },
+    "esbuild": {
       "version": "0.21.5",
-      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+      "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
       "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
       "dev": true,
-      "hasInstallScript": true,
-      "bin": {
-        "esbuild": "bin/esbuild"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "optionalDependencies": {
+      "requires": {
         "@esbuild/aix-ppc64": "0.21.5",
         "@esbuild/android-arm": "0.21.5",
         "@esbuild/android-arm64": "0.21.5",
@@ -2214,34 +1215,28 @@
         "@esbuild/win32-x64": "0.21.5"
       }
     },
-    "node_modules/escalade": {
+    "escalade": {
       "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
       "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
+      "dev": true
     },
-    "node_modules/escape-string-regexp": {
+    "escape-string-regexp": {
       "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-      "engines": {
-        "node": ">=0.8.0"
-      }
+      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
     },
-    "node_modules/estree-walker": {
+    "estree-walker": {
       "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
       "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
     },
-    "node_modules/execa": {
+    "execa": {
       "version": "9.5.2",
       "resolved": "https://registry.npmmirror.com/execa/-/execa-9.5.2.tgz",
       "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@sindresorhus/merge-streams": "^4.0.0",
         "cross-spawn": "^7.0.3",
         "figures": "^6.1.0",
@@ -2254,1057 +1249,700 @@
         "signal-exit": "^4.1.0",
         "strip-final-newline": "^4.0.0",
         "yoctocolors": "^2.0.0"
-      },
-      "engines": {
-        "node": "^18.19.0 || >=20.5.0"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/extend": {
+    "extend": {
       "version": "3.0.2",
       "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
       "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
     },
-    "node_modules/figures": {
+    "figures": {
       "version": "6.1.0",
       "resolved": "https://registry.npmmirror.com/figures/-/figures-6.1.0.tgz",
       "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "is-unicode-supported": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/fill-range": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
-      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "to-regex-range": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/follow-redirects": {
+    "follow-redirects": {
       "version": "1.15.9",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
-      "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/RubenVerborgh"
-        }
-      ],
-      "engines": {
-        "node": ">=4.0"
-      },
-      "peerDependenciesMeta": {
-        "debug": {
-          "optional": true
-        }
-      }
+      "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz",
+      "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ=="
     },
-    "node_modules/form-data": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz",
-      "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
-      "dependencies": {
+    "form-data": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz",
+      "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
+      "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
         "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 6"
       }
     },
-    "node_modules/fs-extra": {
+    "fs-extra": {
       "version": "0.16.5",
       "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-0.16.5.tgz",
       "integrity": "sha512-yb7ti8kVH+qboUQWYxUuOPj/qcMUA6lO68ErZoPQOTP+7qroCIN/1gZ1lLk/rs2p0gPFzrvPYujKGnHTu+HHxA==",
-      "dependencies": {
+      "requires": {
         "graceful-fs": "^3.0.5",
         "jsonfile": "^2.0.0",
         "rimraf": "^2.2.8"
       }
     },
-    "node_modules/fs.realpath": {
+    "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
       "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
     },
-    "node_modules/fsevents": {
+    "fsevents": {
       "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
       "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
       "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
+      "optional": true
     },
-    "node_modules/gensync": {
+    "function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+    },
+    "gensync": {
       "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
       "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
+      "dev": true
+    },
+    "get-intrinsic": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+      "requires": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "function-bind": "^1.1.2",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "math-intrinsics": "^1.1.0"
       }
     },
-    "node_modules/get-stream": {
+    "get-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
+      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+      "requires": {
+        "dunder-proto": "^1.0.1",
+        "es-object-atoms": "^1.0.0"
+      }
+    },
+    "get-stream": {
       "version": "9.0.1",
       "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-9.0.1.tgz",
       "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@sec-ant/readable-stream": "^0.4.1",
         "is-stream": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/glob": {
+    "glob": {
       "version": "7.2.3",
       "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "deprecated": "Glob versions prior to v9 are no longer supported",
-      "dependencies": {
+      "requires": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
         "inherits": "2",
         "minimatch": "^3.1.1",
         "once": "^1.3.0",
         "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/globals": {
+    "globals": {
       "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
+      "dev": true
     },
-    "node_modules/graceful-fs": {
+    "gopd": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
+    },
+    "graceful-fs": {
       "version": "3.0.12",
       "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-3.0.12.tgz",
       "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
-      "dependencies": {
+      "requires": {
         "natives": "^1.1.3"
-      },
-      "engines": {
-        "node": ">=0.4.0"
       }
     },
-    "node_modules/has-ansi": {
+    "has-ansi": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz",
       "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
-      "dependencies": {
+      "requires": {
         "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
       }
     },
-    "node_modules/has-flag": {
+    "has-flag": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz",
-      "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
-      "engines": {
-        "node": ">=0.10.0"
+      "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA=="
+    },
+    "has-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
+    },
+    "has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "requires": {
+        "has-symbols": "^1.0.3"
       }
     },
-    "node_modules/hookable": {
+    "hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "requires": {
+        "function-bind": "^1.1.2"
+      }
+    },
+    "hookable": {
       "version": "5.5.3",
-      "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+      "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz",
       "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
       "dev": true
     },
-    "node_modules/html-tags": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
-      "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/human-signals": {
+    "human-signals": {
       "version": "8.0.0",
       "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.0.tgz",
       "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==",
-      "dev": true,
-      "engines": {
-        "node": ">=18.18.0"
-      }
+      "dev": true
     },
-    "node_modules/immutable": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.0.3.tgz",
-      "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==",
-      "dev": true,
-      "optional": true,
-      "peer": true
-    },
-    "node_modules/inflight": {
+    "inflight": {
       "version": "1.0.6",
       "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
       "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-      "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.",
-      "dependencies": {
+      "requires": {
         "once": "^1.3.0",
         "wrappy": "1"
       }
     },
-    "node_modules/inherits": {
+    "inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
     },
-    "node_modules/is-docker": {
+    "is-docker": {
       "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz",
       "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
-      "dev": true,
-      "bin": {
-        "is-docker": "cli.js"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-glob": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-inside-container": {
+    "is-inside-container": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz",
       "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "is-docker": "^3.0.0"
-      },
-      "bin": {
-        "is-inside-container": "cli.js"
-      },
-      "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/is-plain-obj": {
+    "is-plain-obj": {
       "version": "4.1.0",
       "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
       "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/is-stream": {
+    "is-stream": {
       "version": "4.0.1",
       "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-4.0.1.tgz",
       "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/is-unicode-supported": {
+    "is-unicode-supported": {
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
       "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/is-what": {
+    "is-what": {
       "version": "4.1.16",
-      "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz",
+      "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz",
       "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==",
-      "dev": true,
-      "engines": {
-        "node": ">=12.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mesqueeb"
-      }
+      "dev": true
     },
-    "node_modules/is-wsl": {
+    "is-wsl": {
       "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz",
       "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "is-inside-container": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/isexe": {
+    "isexe": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
       "dev": true
     },
-    "node_modules/js-base64": {
+    "js-base64": {
       "version": "2.6.4",
       "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz",
       "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
     },
-    "node_modules/js-tokens": {
+    "js-tokens": {
       "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
       "dev": true
     },
-    "node_modules/jsesc": {
+    "jsesc": {
       "version": "3.1.0",
       "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
       "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      },
-      "engines": {
-        "node": ">=6"
-      }
+      "dev": true
     },
-    "node_modules/json5": {
+    "json5": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
       "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-      "dependencies": {
+      "requires": {
         "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
       }
     },
-    "node_modules/jsonfile": {
+    "jsonfile": {
       "version": "2.4.0",
       "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-2.4.0.tgz",
       "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
-      "optionalDependencies": {
+      "requires": {
         "graceful-fs": "^4.1.6"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.2.11",
+          "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+          "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+          "optional": true
+        }
       }
     },
-    "node_modules/jsonfile/node_modules/graceful-fs": {
-      "version": "4.2.11",
-      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
-      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
-      "optional": true
-    },
-    "node_modules/kolorist": {
+    "kolorist": {
       "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz",
+      "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
       "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==",
       "dev": true
     },
-    "node_modules/loader-utils": {
+    "loader-utils": {
       "version": "1.4.2",
       "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
       "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-      "dependencies": {
+      "requires": {
         "big.js": "^5.2.2",
         "emojis-list": "^3.0.0",
         "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
       }
     },
-    "node_modules/lru-cache": {
+    "lru-cache": {
       "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
       "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "yallist": "^3.0.2"
       }
     },
-    "node_modules/magic-string": {
-      "version": "0.30.15",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.15.tgz",
-      "integrity": "sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==",
-      "dependencies": {
+    "magic-string": {
+      "version": "0.30.17",
+      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz",
+      "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+      "requires": {
         "@jridgewell/sourcemap-codec": "^1.5.0"
       }
     },
-    "node_modules/micromatch": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
-      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "braces": "^3.0.3",
-        "picomatch": "^2.3.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
+    "math-intrinsics": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
     },
-    "node_modules/mime-db": {
+    "mime-db": {
       "version": "1.52.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-      "engines": {
-        "node": ">= 0.6"
-      }
+      "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
     },
-    "node_modules/mime-types": {
+    "mime-types": {
       "version": "2.1.35",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
       "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-      "dependencies": {
+      "requires": {
         "mime-db": "1.52.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
       }
     },
-    "node_modules/minimatch": {
+    "minimatch": {
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dependencies": {
+      "requires": {
         "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
       }
     },
-    "node_modules/minimist": {
+    "minimist": {
       "version": "1.2.8",
       "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
-      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
     },
-    "node_modules/mitt": {
+    "mitt": {
       "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz",
       "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
-    "node_modules/mrmime": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
-      "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
+    "mrmime": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz",
+      "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
+      "dev": true
     },
-    "node_modules/ms": {
+    "ms": {
       "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
       "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "dev": true
     },
-    "node_modules/nanoid": {
-      "version": "3.3.8",
-      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz",
-      "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
-      },
-      "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
-      }
+    "nanoid": {
+      "version": "3.3.9",
+      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.9.tgz",
+      "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg=="
     },
-    "node_modules/natives": {
+    "natives": {
       "version": "1.1.6",
       "resolved": "https://registry.npmmirror.com/natives/-/natives-1.1.6.tgz",
-      "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
-      "deprecated": "This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x."
+      "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA=="
     },
-    "node_modules/node-addon-api": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz",
-      "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
-      "dev": true,
-      "optional": true,
-      "peer": true
-    },
-    "node_modules/node-releases": {
+    "node-releases": {
       "version": "2.0.19",
       "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz",
       "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
       "dev": true
     },
-    "node_modules/npm-run-path": {
+    "npm-run-path": {
       "version": "6.0.0",
       "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz",
       "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "path-key": "^4.0.0",
         "unicorn-magic": "^0.3.0"
       },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "path-key": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz",
+          "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+          "dev": true
+        }
       }
     },
-    "node_modules/npm-run-path/node_modules/path-key": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
-      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/ometa": {
+    "ometa": {
       "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/ometa/-/ometa-0.2.2.tgz",
+      "resolved": "https://registry.npmmirror.com/ometa/-/ometa-0.2.2.tgz",
       "integrity": "sha512-LZuoK/yjU3FvrxPjUXUlZ1bavCfBPqauA7fsNdwi+AVhRdyk2IzgP3JRnevvjzQ6fKHdUw8YISshf53FmpHrng==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.2.0"
-      }
+      "dev": true
     },
-    "node_modules/once": {
+    "once": {
       "version": "1.4.0",
       "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
       "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
-      "dependencies": {
+      "requires": {
         "wrappy": "1"
       }
     },
-    "node_modules/open": {
+    "open": {
       "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/open/-/open-10.1.0.tgz",
       "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "default-browser": "^5.2.1",
         "define-lazy-prop": "^3.0.0",
         "is-inside-container": "^1.0.0",
         "is-wsl": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/parse-ms": {
+    "parse-ms": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz",
       "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pathe": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
-      "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
       "dev": true
     },
-    "node_modules/perfect-debounce": {
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+    },
+    "path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true
+    },
+    "pathe": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz",
+      "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+      "dev": true
+    },
+    "perfect-debounce": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
       "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
       "dev": true
     },
-    "node_modules/picocolors": {
+    "picocolors": {
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
       "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
     },
-    "node_modules/picomatch": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
-      }
+    "picomatch": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+      "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+      "dev": true
     },
-    "node_modules/pinia": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.0.tgz",
-      "integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==",
-      "dependencies": {
+    "pinia": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.1.tgz",
+      "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==",
+      "requires": {
         "@vue/devtools-api": "^6.6.3",
         "vue-demi": "^0.14.10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/posva"
-      },
-      "peerDependencies": {
-        "typescript": ">=4.4.4",
-        "vue": "^2.7.0 || ^3.5.11"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
-    "node_modules/postcss": {
+    "postcss": {
       "version": "5.2.18",
       "resolved": "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz",
       "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
-      "dependencies": {
+      "requires": {
         "chalk": "^1.1.3",
         "js-base64": "^2.1.9",
         "source-map": "^0.5.6",
         "supports-color": "^3.2.3"
-      },
-      "engines": {
-        "node": ">=0.12"
       }
     },
-    "node_modules/postcss-plugin-px2rem": {
+    "postcss-plugin-px2rem": {
       "version": "0.8.1",
       "resolved": "https://registry.npmmirror.com/postcss-plugin-px2rem/-/postcss-plugin-px2rem-0.8.1.tgz",
       "integrity": "sha512-gNxhrnR57pnGrPLLqVNWY9+BWgj46kYkphw+0gpRJf9tjgwI7/tLqQPK7KdlksB2SSAddOb11otDVwri8b8mXw==",
-      "dependencies": {
+      "requires": {
         "postcss": "^5.0.21"
       }
     },
-    "node_modules/pretty-ms": {
+    "pretty-ms": {
       "version": "9.2.0",
       "resolved": "https://registry.npmmirror.com/pretty-ms/-/pretty-ms-9.2.0.tgz",
       "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "parse-ms": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/proxy-from-env": {
+    "proxy-from-env": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
       "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
     },
-    "node_modules/px2rem": {
+    "px2rem": {
       "version": "0.5.0",
       "resolved": "https://registry.npmmirror.com/px2rem/-/px2rem-0.5.0.tgz",
       "integrity": "sha512-R+LQj3Evbjbpmglo7D0PBVsnAbKP4WSvZEZUnF8RGIpWkIHFeAT+BlDOxxBxKVyMDecmfv9qdzNLTZLMq32osA==",
-      "dependencies": {
+      "requires": {
         "chalk": "~0.5.1",
         "commander": "~2.6.0",
         "css": "~2.2.0",
         "extend": "~3.0.0",
         "fs-extra": "~0.16.3"
       },
-      "bin": {
-        "px2rem": "bin/px2rem.js"
+      "dependencies": {
+        "ansi-regex": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
+          "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA=="
+        },
+        "ansi-styles": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-1.1.0.tgz",
+          "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA=="
+        },
+        "chalk": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-0.5.1.tgz",
+          "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==",
+          "requires": {
+            "ansi-styles": "^1.1.0",
+            "escape-string-regexp": "^1.0.0",
+            "has-ansi": "^0.1.0",
+            "strip-ansi": "^0.3.0",
+            "supports-color": "^0.2.0"
+          }
+        },
+        "has-ansi": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-0.1.0.tgz",
+          "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==",
+          "requires": {
+            "ansi-regex": "^0.2.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-0.3.0.tgz",
+          "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==",
+          "requires": {
+            "ansi-regex": "^0.2.1"
+          }
+        },
+        "supports-color": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-0.2.0.tgz",
+          "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA=="
+        }
       }
     },
-    "node_modules/px2rem-loader": {
+    "px2rem-loader": {
       "version": "0.1.9",
       "resolved": "https://registry.npmmirror.com/px2rem-loader/-/px2rem-loader-0.1.9.tgz",
       "integrity": "sha512-3Ew8At5W/HHIIUe/KZk+FBRRb20KtgP1N1c/BnMlXk6LNkqrFmUIUF35GF/evzNdj/Q63iWJpkmn/c5qSMplRg==",
-      "dependencies": {
+      "requires": {
         "loader-utils": "^1.1.0",
         "px2rem": "^0.5.0"
       }
     },
-    "node_modules/px2rem/node_modules/ansi-regex": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
-      "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/px2rem/node_modules/ansi-styles": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-1.1.0.tgz",
-      "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/px2rem/node_modules/chalk": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-0.5.1.tgz",
-      "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==",
-      "dependencies": {
-        "ansi-styles": "^1.1.0",
-        "escape-string-regexp": "^1.0.0",
-        "has-ansi": "^0.1.0",
-        "strip-ansi": "^0.3.0",
-        "supports-color": "^0.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/px2rem/node_modules/has-ansi": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-0.1.0.tgz",
-      "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==",
-      "dependencies": {
-        "ansi-regex": "^0.2.0"
-      },
-      "bin": {
-        "has-ansi": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/px2rem/node_modules/strip-ansi": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-0.3.0.tgz",
-      "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==",
-      "dependencies": {
-        "ansi-regex": "^0.2.1"
-      },
-      "bin": {
-        "strip-ansi": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/px2rem/node_modules/supports-color": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-0.2.0.tgz",
-      "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==",
-      "bin": {
-        "supports-color": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/readdirp": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.0.2.tgz",
-      "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 14.16.0"
-      },
-      "funding": {
-        "type": "individual",
-        "url": "https://paulmillr.com/funding/"
-      }
-    },
-    "node_modules/resolve-url": {
+    "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
-      "deprecated": "https://github.com/lydell/resolve-url#deprecated"
+      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg=="
     },
-    "node_modules/rfdc": {
+    "rfdc": {
       "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+      "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz",
       "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
       "dev": true
     },
-    "node_modules/rimraf": {
+    "rimraf": {
       "version": "2.7.1",
       "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz",
       "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "deprecated": "Rimraf versions prior to v4 are no longer supported",
-      "dependencies": {
+      "requires": {
         "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
       }
     },
-    "node_modules/rollup": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.28.1.tgz",
-      "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==",
+    "rollup": {
+      "version": "4.35.0",
+      "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.35.0.tgz",
+      "integrity": "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==",
       "dev": true,
-      "dependencies": {
-        "@types/estree": "1.0.6"
-      },
-      "bin": {
-        "rollup": "dist/bin/rollup"
-      },
-      "engines": {
-        "node": ">=18.0.0",
-        "npm": ">=8.0.0"
-      },
-      "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.28.1",
-        "@rollup/rollup-android-arm64": "4.28.1",
-        "@rollup/rollup-darwin-arm64": "4.28.1",
-        "@rollup/rollup-darwin-x64": "4.28.1",
-        "@rollup/rollup-freebsd-arm64": "4.28.1",
-        "@rollup/rollup-freebsd-x64": "4.28.1",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.28.1",
-        "@rollup/rollup-linux-arm-musleabihf": "4.28.1",
-        "@rollup/rollup-linux-arm64-gnu": "4.28.1",
-        "@rollup/rollup-linux-arm64-musl": "4.28.1",
-        "@rollup/rollup-linux-loongarch64-gnu": "4.28.1",
-        "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1",
-        "@rollup/rollup-linux-riscv64-gnu": "4.28.1",
-        "@rollup/rollup-linux-s390x-gnu": "4.28.1",
-        "@rollup/rollup-linux-x64-gnu": "4.28.1",
-        "@rollup/rollup-linux-x64-musl": "4.28.1",
-        "@rollup/rollup-win32-arm64-msvc": "4.28.1",
-        "@rollup/rollup-win32-ia32-msvc": "4.28.1",
-        "@rollup/rollup-win32-x64-msvc": "4.28.1",
+      "requires": {
+        "@rollup/rollup-android-arm-eabi": "4.35.0",
+        "@rollup/rollup-android-arm64": "4.35.0",
+        "@rollup/rollup-darwin-arm64": "4.35.0",
+        "@rollup/rollup-darwin-x64": "4.35.0",
+        "@rollup/rollup-freebsd-arm64": "4.35.0",
+        "@rollup/rollup-freebsd-x64": "4.35.0",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.35.0",
+        "@rollup/rollup-linux-arm-musleabihf": "4.35.0",
+        "@rollup/rollup-linux-arm64-gnu": "4.35.0",
+        "@rollup/rollup-linux-arm64-musl": "4.35.0",
+        "@rollup/rollup-linux-loongarch64-gnu": "4.35.0",
+        "@rollup/rollup-linux-powerpc64le-gnu": "4.35.0",
+        "@rollup/rollup-linux-riscv64-gnu": "4.35.0",
+        "@rollup/rollup-linux-s390x-gnu": "4.35.0",
+        "@rollup/rollup-linux-x64-gnu": "4.35.0",
+        "@rollup/rollup-linux-x64-musl": "4.35.0",
+        "@rollup/rollup-win32-arm64-msvc": "4.35.0",
+        "@rollup/rollup-win32-ia32-msvc": "4.35.0",
+        "@rollup/rollup-win32-x64-msvc": "4.35.0",
+        "@types/estree": "1.0.6",
         "fsevents": "~2.3.2"
       }
     },
-    "node_modules/run-applescript": {
+    "run-applescript": {
       "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz",
       "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/sass": {
-      "version": "1.83.0",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz",
-      "integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "chokidar": "^4.0.0",
-        "immutable": "^5.0.2",
-        "source-map-js": ">=0.6.2 <2.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher": "^2.4.1"
-      }
-    },
-    "node_modules/scss": {
+    "scss": {
       "version": "0.2.4",
       "resolved": "https://registry.npmmirror.com/scss/-/scss-0.2.4.tgz",
       "integrity": "sha512-4u8V87F+Q/upVhUmhPnB4C1R11xojkRkWjExL2v0CX2EXTg18VrKd+9JWoeyCp2VEMdSpJsyAvVU+rVjogh51A==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "ometa": "0.2.2"
-      },
-      "engines": {
-        "node": ">= 0.2.0"
       }
     },
-    "node_modules/semver": {
+    "semver": {
       "version": "6.3.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
+      "dev": true
     },
-    "node_modules/shebang-command": {
+    "shebang-command": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
       "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
       }
     },
-    "node_modules/shebang-regex": {
+    "shebang-regex": {
       "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
       "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
+      "dev": true
     },
-    "node_modules/signal-exit": {
+    "signal-exit": {
       "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz",
       "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
-      "dev": true,
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
+      "dev": true
     },
-    "node_modules/sirv": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.0.tgz",
-      "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==",
+    "sirv": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.1.tgz",
+      "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@polka/url": "^1.0.0-next.24",
         "mrmime": "^2.0.0",
         "totalist": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=18"
       }
     },
-    "node_modules/source-map": {
+    "source-map": {
       "version": "0.5.7",
       "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
+      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
     },
-    "node_modules/source-map-js": {
+    "source-map-js": {
       "version": "1.2.1",
       "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz",
-      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
     },
-    "node_modules/source-map-resolve": {
+    "source-map-resolve": {
       "version": "0.5.3",
       "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
       "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
-      "dependencies": {
+      "requires": {
         "atob": "^2.1.2",
         "decode-uri-component": "^0.2.0",
         "resolve-url": "^0.2.1",
@@ -3312,273 +1950,150 @@
         "urix": "^0.1.0"
       }
     },
-    "node_modules/source-map-url": {
+    "source-map-url": {
       "version": "0.4.1",
       "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "deprecated": "See https://github.com/lydell/source-map-url#deprecated"
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
     },
-    "node_modules/speakingurl": {
+    "speakingurl": {
       "version": "14.0.1",
-      "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz",
       "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
+      "dev": true
     },
-    "node_modules/ssr-window": {
+    "ssr-window": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-2.0.0.tgz",
       "integrity": "sha512-NXzN+/HPObKAx191H3zKlYomE5WrVIkoCB5IaSdvKokxTpjBdWfr0RaP+1Z5KOfDT0ZVz+2tdtiBkhsEQ9p+0A=="
     },
-    "node_modules/strip-ansi": {
+    "strip-ansi": {
       "version": "3.0.1",
       "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
-      "dependencies": {
+      "requires": {
         "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
       }
     },
-    "node_modules/strip-final-newline": {
+    "strip-final-newline": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
       "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/superjson": {
+    "superjson": {
       "version": "2.2.2",
       "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz",
       "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "copy-anything": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=16"
       }
     },
-    "node_modules/supports-color": {
+    "supports-color": {
       "version": "3.2.3",
       "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz",
       "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
-      "dependencies": {
+      "requires": {
         "has-flag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.8.0"
       }
     },
-    "node_modules/svg-tags": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
-      "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
-      "dev": true
-    },
-    "node_modules/swiper": {
+    "swiper": {
       "version": "5.4.5",
       "resolved": "https://registry.npmmirror.com/swiper/-/swiper-5.4.5.tgz",
       "integrity": "sha512-7QjA0XpdOmiMoClfaZ2lYN6ICHcMm72LXiY+NF4fQLFidigameaofvpjEEiTQuw3xm5eksG5hzkaRsjQX57vtA==",
-      "hasInstallScript": true,
-      "dependencies": {
+      "requires": {
         "dom7": "^2.1.5",
         "ssr-window": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 4.7.0"
-      },
-      "funding": {
-        "type": "patreon",
-        "url": "https://www.patreon.com/vladimirkharlampidi"
       }
     },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "optional": true,
-      "peer": true,
-      "dependencies": {
-        "is-number": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/totalist": {
+    "totalist": {
       "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz",
       "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
+      "dev": true
     },
-    "node_modules/tslib": {
+    "tslib": {
       "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
       "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
     },
-    "node_modules/unicorn-magic": {
+    "unicorn-magic": {
       "version": "0.3.0",
       "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
       "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/universalify": {
+    "universalify": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
       "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      }
+      "dev": true
     },
-    "node_modules/update-browserslist-db": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
-      "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+    "update-browserslist-db": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+      "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
       "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "dependencies": {
+      "requires": {
         "escalade": "^3.2.0",
-        "picocolors": "^1.1.0"
-      },
-      "bin": {
-        "update-browserslist-db": "cli.js"
-      },
-      "peerDependencies": {
-        "browserslist": ">= 4.21.0"
+        "picocolors": "^1.1.1"
       }
     },
-    "node_modules/uqrcodejs": {
+    "uqrcodejs": {
       "version": "4.0.7",
       "resolved": "https://registry.npmmirror.com/uqrcodejs/-/uqrcodejs-4.0.7.tgz",
       "integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA=="
     },
-    "node_modules/urix": {
+    "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
-      "deprecated": "Please see https://github.com/lydell/urix#deprecated"
+      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg=="
     },
-    "node_modules/v-scale-screen": {
+    "v-scale-screen": {
       "version": "2.3.0",
       "resolved": "https://registry.npmmirror.com/v-scale-screen/-/v-scale-screen-2.3.0.tgz",
       "integrity": "sha512-SoYxvdZ9qi4Ne8BDDflIRU0IfX/qgmtZ0pPaZ4rGB+/Wr0GBYQbjRnoHF+uq1JqqUsBtiyjUnAkrG6xYTMXFpA==",
-      "dependencies": {
-        "vue": "^3.2.37"
-      },
-      "peerDependencies": {
+      "requires": {
         "vue": "^3.2.37"
       }
     },
-    "node_modules/vite": {
-      "version": "5.4.11",
-      "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.11.tgz",
-      "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
+    "vite": {
+      "version": "5.4.14",
+      "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.14.tgz",
+      "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "esbuild": "^0.21.3",
+        "fsevents": "~2.3.3",
         "postcss": "^8.4.43",
         "rollup": "^4.20.0"
       },
-      "bin": {
-        "vite": "bin/vite.js"
-      },
-      "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/vitejs/vite?sponsor=1"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
-      },
-      "peerDependencies": {
-        "@types/node": "^18.0.0 || >=20.0.0",
-        "less": "*",
-        "lightningcss": "^1.21.0",
-        "sass": "*",
-        "sass-embedded": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.4.0"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "lightningcss": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "sass-embedded": {
-          "optional": true
-        },
-        "stylus": {
-          "optional": true
-        },
-        "sugarss": {
-          "optional": true
-        },
-        "terser": {
-          "optional": true
+      "dependencies": {
+        "postcss": {
+          "version": "8.5.3",
+          "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz",
+          "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+          "dev": true,
+          "requires": {
+            "nanoid": "^3.3.8",
+            "picocolors": "^1.1.1",
+            "source-map-js": "^1.2.1"
+          }
         }
       }
     },
-    "node_modules/vite-hot-client": {
+    "vite-hot-client": {
       "version": "0.2.4",
       "resolved": "https://registry.npmmirror.com/vite-hot-client/-/vite-hot-client-0.2.4.tgz",
       "integrity": "sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0"
-      }
+      "dev": true
     },
-    "node_modules/vite-plugin-inspect": {
+    "vite-plugin-inspect": {
       "version": "0.8.9",
       "resolved": "https://registry.npmmirror.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz",
       "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@antfu/utils": "^0.7.10",
         "@rollup/pluginutils": "^5.1.3",
         "debug": "^4.3.7",
@@ -3589,80 +2104,57 @@
         "picocolors": "^1.1.1",
         "sirv": "^3.0.0"
       },
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1"
-      },
-      "peerDependenciesMeta": {
-        "@nuxt/kit": {
-          "optional": true
+      "dependencies": {
+        "fs-extra": {
+          "version": "11.3.0",
+          "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz",
+          "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.2.11",
+          "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+          "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+          "dev": true
+        },
+        "jsonfile": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
+          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^2.0.0"
+          }
         }
       }
     },
-    "node_modules/vite-plugin-inspect/node_modules/fs-extra": {
-      "version": "11.2.0",
-      "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz",
-      "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+    "vite-plugin-vue-devtools": {
+      "version": "7.7.2",
+      "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.2.tgz",
+      "integrity": "sha512-5V0UijQWiSBj32blkyPEqIbzc6HO9c1bwnBhx+ay2dzU0FakH+qMdNUT8nF9BvDE+i6I1U8CqCuJiO20vKEdQw==",
       "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=14.14"
-      }
-    },
-    "node_modules/vite-plugin-inspect/node_modules/graceful-fs": {
-      "version": "4.2.11",
-      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
-      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
-      "dev": true
-    },
-    "node_modules/vite-plugin-inspect/node_modules/jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dev": true,
-      "dependencies": {
-        "universalify": "^2.0.0"
-      },
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/vite-plugin-vue-devtools": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.6.8.tgz",
-      "integrity": "sha512-32aIps8C1Y7UEoqyWf+ES3J1OozsCYMIqTqd+I5qass+R0Tcf8SaA2bX1/rskAzkcKCteVoBjEENmqwTcMebbw==",
-      "dev": true,
-      "dependencies": {
-        "@vue/devtools-core": "^7.6.8",
-        "@vue/devtools-kit": "^7.6.8",
-        "@vue/devtools-shared": "^7.6.8",
+      "requires": {
+        "@vue/devtools-core": "^7.7.2",
+        "@vue/devtools-kit": "^7.7.2",
+        "@vue/devtools-shared": "^7.7.2",
         "execa": "^9.5.1",
         "sirv": "^3.0.0",
-        "vite-plugin-inspect": "~0.8.9",
+        "vite-plugin-inspect": "0.8.9",
         "vite-plugin-vue-inspector": "^5.3.1"
-      },
-      "engines": {
-        "node": ">=v14.21.3"
-      },
-      "peerDependencies": {
-        "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0"
       }
     },
-    "node_modules/vite-plugin-vue-inspector": {
+    "vite-plugin-vue-inspector": {
       "version": "5.3.1",
       "resolved": "https://registry.npmmirror.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz",
       "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "@babel/core": "^7.23.0",
         "@babel/plugin-proposal-decorators": "^7.23.0",
         "@babel/plugin-syntax-import-attributes": "^7.22.5",
@@ -3672,141 +2164,64 @@
         "@vue/compiler-dom": "^3.3.4",
         "kolorist": "^1.8.0",
         "magic-string": "^0.30.4"
-      },
-      "peerDependencies": {
-        "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0"
       }
     },
-    "node_modules/vite/node_modules/postcss": {
-      "version": "8.4.49",
-      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz",
-      "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "dependencies": {
-        "nanoid": "^3.3.7",
-        "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      }
-    },
-    "node_modules/vue": {
+    "vue": {
       "version": "3.5.13",
       "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz",
       "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
-      "dependencies": {
+      "requires": {
         "@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": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
-    "node_modules/vue-demi": {
+    "vue-demi": {
       "version": "0.14.10",
       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
-      "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
-      "hasInstallScript": true,
-      "bin": {
-        "vue-demi-fix": "bin/vue-demi-fix.js",
-        "vue-demi-switch": "bin/vue-demi-switch.js"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.0.0-rc.1",
-        "vue": "^3.0.0-0 || ^2.6.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        }
-      }
+      "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg=="
     },
-    "node_modules/vue-router": {
+    "vue-router": {
       "version": "4.5.0",
       "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz",
       "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==",
-      "dependencies": {
+      "requires": {
         "@vue/devtools-api": "^6.6.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/posva"
-      },
-      "peerDependencies": {
-        "vue": "^3.2.0"
       }
     },
-    "node_modules/which": {
+    "which": {
       "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
       "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
       "dev": true,
-      "dependencies": {
+      "requires": {
         "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
       }
     },
-    "node_modules/wrappy": {
+    "wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
       "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
     },
-    "node_modules/yallist": {
+    "yallist": {
       "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
       "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
       "dev": true
     },
-    "node_modules/yoctocolors": {
+    "yoctocolors": {
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.1.1.tgz",
       "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "dev": true
     },
-    "node_modules/zrender": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz",
-      "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
-      "dependencies": {
+    "zrender": {
+      "version": "5.6.1",
+      "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz",
+      "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==",
+      "requires": {
         "tslib": "2.3.0"
       }
     }

--
Gitblit v1.9.3