From 4d2cffd2f1ae999b3502eb7bd71a4b8112592882 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 30 May 2026 16:08:07 +0800 Subject: [PATCH] cleanup: remove ONIModTutorial (unrelated), merge skills/oni_agent.md into SKILL.md, move event_daemon.py to tools/ --- ONIModTutorial-main.zip | Bin 1169500 -> 0 bytes .../.github/workflows/deploy.yml | 50 - .../.github/workflows/pr-check.yml | 28 - ONIModTutorial/ONIModTutorial-main/.gitignore | 12 - .../.vitepress/cache/deps/_metadata.json | 61 - .../.vitepress/cache/deps/chunk-BUSYA2B4.js | 9 - .../cache/deps/chunk-BUSYA2B4.js.map | 7 - .../.vitepress/cache/deps/chunk-LJKO4TMH.js | 9719 ------------ .../cache/deps/chunk-LJKO4TMH.js.map | 7 - .../.vitepress/cache/deps/chunk-QE257C5J.js | 12824 ---------------- .../cache/deps/chunk-QE257C5J.js.map | 7 - .../.vitepress/cache/deps/package.json | 3 - .../.vitepress/cache/deps/rss-parser.js | 6788 -------- .../.vitepress/cache/deps/rss-parser.js.map | 7 - .../deps/vitepress___@vue_devtools-api.js | 4507 ------ .../deps/vitepress___@vue_devtools-api.js.map | 7 - .../cache/deps/vitepress___@vueuse_core.js | 584 - .../deps/vitepress___@vueuse_core.js.map | 7 - ...ess___@vueuse_integrations_useFocusTrap.js | 1353 -- ...__@vueuse_integrations_useFocusTrap.js.map | 7 - .../vitepress___mark__js_src_vanilla__js.js | 1667 -- ...itepress___mark__js_src_vanilla__js.js.map | 7 - .../cache/deps/vitepress___minisearch.js | 1815 --- .../cache/deps/vitepress___minisearch.js.map | 7 - .../.vitepress/cache/deps/vue.js | 348 - .../.vitepress/cache/deps/vue.js.map | 7 - .../ONIModTutorial-main/.vitepress/config.mts | 131 - .../theme/components/Contributors.vue | 89 - .../theme/components/LearningTimeline.vue | 35 - .../.vitepress/theme/components/SteamNews.vue | 292 - .../theme/components/WorkshopList.vue | 290 - .../.vitepress/theme/custom.css | 61 - .../.vitepress/theme/index.mts | 19 - ONIModTutorial/ONIModTutorial-main/README.md | 115 - .../ONIModTutorial-main/announcements.md | 7 - .../ONIModTutorial-main/api-examples.md | 3 - .../ONIModTutorial-main/asset-extraction.md | 109 - .../ONIModTutorial-main/build-and-debug.md | 0 .../community-guidelines.md | 37 - .../ONIModTutorial-main/content/buildings.md | 0 .../ONIModTutorial-main/content/creatures.md | 0 .../ONIModTutorial-main/content/elements.md | 0 .../ONIModTutorial-main/content/items.md | 175 - .../ONIModTutorial-main/content/plants.md | 0 .../ONIModTutorial-main/contribute.md | 11 - .../ONIModTutorial-main/contributors.md | 10 - .../csharp-basics-reference.md | 182 - .../ONIModTutorial-main/csharp-basics.md | 77 - .../development-environment.md | 24 - .../ONIModTutorial-main/dnspy-analysis.md | 24 - .../ONIModTutorial-main/first-mod-tutorial.md | 137 - .../ONIModTutorial-main/harmony-reference.md | 395 - ONIModTutorial/ONIModTutorial-main/index.md | 29 - .../ONIModTutorial-main/markdown-examples.md | 85 - .../ONIModTutorial-main/mod-structure.md | 49 - .../ONIModTutorial-main/package-lock.json | 2568 ---- .../ONIModTutorial-main/package.json | 13 - ONIModTutorial/ONIModTutorial-main/preface.md | 39 - .../VSInstallation-details/VSInstall.png | Bin 161306 -> 0 bytes .../VSInstallation-details/VSInstall_.png | Bin 105685 -> 0 bytes .../public/images/first-mod/ModTemplate.png | Bin 8823 -> 0 bytes .../public/images/first-mod/Project.png | Bin 13433 -> 0 bytes .../public/images/steam-upload/Tool.png | Bin 9622 -> 0 bytes .../public/images/steam-upload/Tool_1.png | Bin 35515 -> 0 bytes .../public/templates/ONIModTemplate.zip | Bin 7790 -> 0 bytes .../ONIModTutorial-main/resource-unity.md | 98 - .../steam-workshop-upload.md | 64 - .../version-compatibility.md | 65 - .../visual-studio-installation.md | 57 - .../ONIModTutorial-main/workshop-list.md | 15 - README.md | 27 +- skills/oni_agent.md | 114 - {scripts => tools}/event_daemon.py | 2 +- 73 files changed, 16 insertions(+), 45270 deletions(-) delete mode 100644 ONIModTutorial-main.zip delete mode 100644 ONIModTutorial/ONIModTutorial-main/.github/workflows/deploy.yml delete mode 100644 ONIModTutorial/ONIModTutorial-main/.github/workflows/pr-check.yml delete mode 100644 ONIModTutorial/ONIModTutorial-main/.gitignore delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/_metadata.json delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-QE257C5J.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-QE257C5J.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/package.json delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/rss-parser.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/rss-parser.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vue_devtools-api.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vueuse_core.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vueuse_core.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___minisearch.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vitepress___minisearch.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vue.js delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/vue.js.map delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/config.mts delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/Contributors.vue delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/LearningTimeline.vue delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/SteamNews.vue delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/WorkshopList.vue delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/custom.css delete mode 100644 ONIModTutorial/ONIModTutorial-main/.vitepress/theme/index.mts delete mode 100644 ONIModTutorial/ONIModTutorial-main/README.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/announcements.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/api-examples.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/asset-extraction.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/build-and-debug.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/community-guidelines.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/content/buildings.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/content/creatures.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/content/elements.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/content/items.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/content/plants.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/contribute.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/contributors.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/csharp-basics-reference.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/csharp-basics.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/development-environment.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/dnspy-analysis.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/first-mod-tutorial.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/harmony-reference.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/index.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/markdown-examples.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/mod-structure.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/package-lock.json delete mode 100644 ONIModTutorial/ONIModTutorial-main/package.json delete mode 100644 ONIModTutorial/ONIModTutorial-main/preface.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/VSInstallation-details/VSInstall.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/VSInstallation-details/VSInstall_.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/first-mod/ModTemplate.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/first-mod/Project.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/steam-upload/Tool.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/images/steam-upload/Tool_1.png delete mode 100644 ONIModTutorial/ONIModTutorial-main/public/templates/ONIModTemplate.zip delete mode 100644 ONIModTutorial/ONIModTutorial-main/resource-unity.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/steam-workshop-upload.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/version-compatibility.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/visual-studio-installation.md delete mode 100644 ONIModTutorial/ONIModTutorial-main/workshop-list.md delete mode 100644 skills/oni_agent.md rename {scripts => tools}/event_daemon.py (98%) diff --git a/ONIModTutorial-main.zip b/ONIModTutorial-main.zip deleted file mode 100644 index 29640212b8dcefd717248260f090d2a6854d3377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1169500 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≠~KI)LWHOkNg3{99%T((S) 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%0AVpJg=1|9h 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
!`hKu&msBWB}fjK!xYd=*JX~iXYO9Hz`cs2o#(q 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

& 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�^4Yj(W4PHJznmQeG%6_nLJ+? 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 h`O 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੝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

2^KLt84 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 CS2D8z diff --git a/ONIModTutorial/ONIModTutorial-main/.github/workflows/deploy.yml b/ONIModTutorial/ONIModTutorial-main/.github/workflows/deploy.yml deleted file mode 100644 index 7c94dfb..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.github/workflows/deploy.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Deploy VitePress site to Pages - -on: - push: - branches: [main] -concurrency: - group: "pages" - cancel-in-progress: true - -permissions: - contents: read - pages: write - id-token: write - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Install dependencies - run: npm install - - - name: Build with VitePress - - run: npx vitepress build - - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: .vitepress/dist - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/ONIModTutorial/ONIModTutorial-main/.github/workflows/pr-check.yml b/ONIModTutorial/ONIModTutorial-main/.github/workflows/pr-check.yml deleted file mode 100644 index 0f4dcf9..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.github/workflows/pr-check.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: PR Check - -on: - pull_request: - branches: - - main - - master - -jobs: - test: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: npm - - - name: Install deps - run: npm ci - - - name: Build - run: npm run build - diff --git a/ONIModTutorial/ONIModTutorial-main/.gitignore b/ONIModTutorial/ONIModTutorial-main/.gitignore deleted file mode 100644 index eac6186..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# 排除依赖库 -node_modules/ - -# 排除编译输出 -dist/ -.temp/ -.cache/ - -# 排除本地环境变量和日志 -*.log -.DS_Store -.env \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/_metadata.json b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/_metadata.json deleted file mode 100644 index d906b97..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/_metadata.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "hash": "5368ccde", - "configHash": "2733785a", - "lockfileHash": "3ae99b52", - "browserHash": "26eaea40", - "optimized": { - "vue": { - "src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", - "file": "vue.js", - "fileHash": "605c659d", - "needsInterop": false - }, - "vitepress > @vue/devtools-api": { - "src": "../../../node_modules/@vue/devtools-api/dist/index.js", - "file": "vitepress___@vue_devtools-api.js", - "fileHash": "3cacbefb", - "needsInterop": false - }, - "vitepress > @vueuse/core": { - "src": "../../../node_modules/@vueuse/core/index.mjs", - "file": "vitepress___@vueuse_core.js", - "fileHash": "770ea158", - "needsInterop": false - }, - "vitepress > @vueuse/integrations/useFocusTrap": { - "src": "../../../node_modules/@vueuse/integrations/useFocusTrap.mjs", - "file": "vitepress___@vueuse_integrations_useFocusTrap.js", - "fileHash": "b915752a", - "needsInterop": false - }, - "vitepress > mark.js/src/vanilla.js": { - "src": "../../../node_modules/mark.js/src/vanilla.js", - "file": "vitepress___mark__js_src_vanilla__js.js", - "fileHash": "38aa2e8f", - "needsInterop": false - }, - "vitepress > minisearch": { - "src": "../../../node_modules/minisearch/dist/es/index.js", - "file": "vitepress___minisearch.js", - "fileHash": "f5e205a1", - "needsInterop": false - }, - "rss-parser": { - "src": "../../../node_modules/rss-parser/index.js", - "file": "rss-parser.js", - "fileHash": "c4c7877b", - "needsInterop": true - } - }, - "chunks": { - "chunk-LJKO4TMH": { - "file": "chunk-LJKO4TMH.js" - }, - "chunk-QE257C5J": { - "file": "chunk-QE257C5J.js" - }, - "chunk-BUSYA2B4": { - "file": "chunk-BUSYA2B4.js" - } - } -} \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js deleted file mode 100644 index a7109e0..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js +++ /dev/null @@ -1,9 +0,0 @@ -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; - -export { - __commonJS -}; -//# sourceMappingURL=chunk-BUSYA2B4.js.map diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js.map b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js.map deleted file mode 100644 index 9865211..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-BUSYA2B4.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js deleted file mode 100644 index 6a104f9..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js +++ /dev/null @@ -1,9719 +0,0 @@ -import { - Fragment, - TransitionGroup, - computed, - customRef, - defineComponent, - effectScope, - getCurrentInstance, - getCurrentScope, - h, - hasInjectionContext, - inject, - isReactive, - isReadonly, - isRef, - markRaw, - nextTick, - onBeforeMount, - onBeforeUnmount, - onBeforeUpdate, - onMounted, - onScopeDispose, - onUnmounted, - onUpdated, - provide, - reactive, - readonly, - ref, - shallowReactive, - shallowRef, - toRaw, - toRef, - toRefs, - toValue, - unref, - watch, - watchEffect -} from "./chunk-QE257C5J.js"; - -// node_modules/@vueuse/shared/index.mjs -function computedEager(fn, options) { - var _a; - const result = shallowRef(); - watchEffect(() => { - result.value = fn(); - }, { - ...options, - flush: (_a = options == null ? void 0 : options.flush) != null ? _a : "sync" - }); - return readonly(result); -} -function computedWithControl(source, fn) { - let v = void 0; - let track; - let trigger; - const dirty = shallowRef(true); - const update = () => { - dirty.value = true; - trigger(); - }; - watch(source, update, { flush: "sync" }); - const get2 = typeof fn === "function" ? fn : fn.get; - const set2 = typeof fn === "function" ? void 0 : fn.set; - const result = customRef((_track, _trigger) => { - track = _track; - trigger = _trigger; - return { - get() { - if (dirty.value) { - v = get2(v); - dirty.value = false; - } - track(); - return v; - }, - set(v2) { - set2 == null ? void 0 : set2(v2); - } - }; - }); - if (Object.isExtensible(result)) - result.trigger = update; - return result; -} -function tryOnScopeDispose(fn) { - if (getCurrentScope()) { - onScopeDispose(fn); - return true; - } - return false; -} -function createEventHook() { - const fns = /* @__PURE__ */ new Set(); - const off = (fn) => { - fns.delete(fn); - }; - const clear = () => { - fns.clear(); - }; - const on = (fn) => { - fns.add(fn); - const offFn = () => off(fn); - tryOnScopeDispose(offFn); - return { - off: offFn - }; - }; - const trigger = (...args) => { - return Promise.all(Array.from(fns).map((fn) => fn(...args))); - }; - return { - on, - off, - trigger, - clear - }; -} -function createGlobalState(stateFactory) { - let initialized = false; - let state; - const scope = effectScope(true); - return (...args) => { - if (!initialized) { - state = scope.run(() => stateFactory(...args)); - initialized = true; - } - return state; - }; -} -var localProvidedStateMap = /* @__PURE__ */ new WeakMap(); -var injectLocal = (...args) => { - var _a; - const key = args[0]; - const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; - if (instance == null && !hasInjectionContext()) - throw new Error("injectLocal must be called in setup"); - if (instance && localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance)) - return localProvidedStateMap.get(instance)[key]; - return inject(...args); -}; -var provideLocal = (key, value) => { - var _a; - const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; - if (instance == null) - throw new Error("provideLocal must be called in setup"); - if (!localProvidedStateMap.has(instance)) - localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null)); - const localProvidedState = localProvidedStateMap.get(instance); - localProvidedState[key] = value; - provide(key, value); -}; -function createInjectionState(composable, options) { - const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || "InjectionState"); - const defaultValue = options == null ? void 0 : options.defaultValue; - const useProvidingState = (...args) => { - const state = composable(...args); - provideLocal(key, state); - return state; - }; - const useInjectedState = () => injectLocal(key, defaultValue); - return [useProvidingState, useInjectedState]; -} -function createRef(value, deep) { - if (deep === true) { - return ref(value); - } else { - return shallowRef(value); - } -} -function createSharedComposable(composable) { - let subscribers = 0; - let state; - let scope; - const dispose = () => { - subscribers -= 1; - if (scope && subscribers <= 0) { - scope.stop(); - state = void 0; - scope = void 0; - } - }; - return (...args) => { - subscribers += 1; - if (!scope) { - scope = effectScope(true); - state = scope.run(() => composable(...args)); - } - tryOnScopeDispose(dispose); - return state; - }; -} -function extendRef(ref2, extend, { enumerable = false, unwrap = true } = {}) { - for (const [key, value] of Object.entries(extend)) { - if (key === "value") - continue; - if (isRef(value) && unwrap) { - Object.defineProperty(ref2, key, { - get() { - return value.value; - }, - set(v) { - value.value = v; - }, - enumerable - }); - } else { - Object.defineProperty(ref2, key, { value, enumerable }); - } - } - return ref2; -} -function get(obj, key) { - if (key == null) - return unref(obj); - return unref(obj)[key]; -} -function isDefined(v) { - return unref(v) != null; -} -function makeDestructurable(obj, arr) { - if (typeof Symbol !== "undefined") { - const clone = { ...obj }; - Object.defineProperty(clone, Symbol.iterator, { - enumerable: false, - value() { - let index = 0; - return { - next: () => ({ - value: arr[index++], - done: index > arr.length - }) - }; - } - }); - return clone; - } else { - return Object.assign([...arr], obj); - } -} -function reactify(fn, options) { - const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue; - return function(...args) { - return computed(() => fn.apply(this, args.map((i) => unrefFn(i)))); - }; -} -function reactifyObject(obj, optionsOrKeys = {}) { - let keys2 = []; - let options; - if (Array.isArray(optionsOrKeys)) { - keys2 = optionsOrKeys; - } else { - options = optionsOrKeys; - const { includeOwnProperties = true } = optionsOrKeys; - keys2.push(...Object.keys(obj)); - if (includeOwnProperties) - keys2.push(...Object.getOwnPropertyNames(obj)); - } - return Object.fromEntries( - keys2.map((key) => { - const value = obj[key]; - return [ - key, - typeof value === "function" ? reactify(value.bind(obj), options) : value - ]; - }) - ); -} -function toReactive(objectRef) { - if (!isRef(objectRef)) - return reactive(objectRef); - const proxy = new Proxy({}, { - get(_, p, receiver) { - return unref(Reflect.get(objectRef.value, p, receiver)); - }, - set(_, p, value) { - if (isRef(objectRef.value[p]) && !isRef(value)) - objectRef.value[p].value = value; - else - objectRef.value[p] = value; - return true; - }, - deleteProperty(_, p) { - return Reflect.deleteProperty(objectRef.value, p); - }, - has(_, p) { - return Reflect.has(objectRef.value, p); - }, - ownKeys() { - return Object.keys(objectRef.value); - }, - getOwnPropertyDescriptor() { - return { - enumerable: true, - configurable: true - }; - } - }); - return reactive(proxy); -} -function reactiveComputed(fn) { - return toReactive(computed(fn)); -} -function reactiveOmit(obj, ...keys2) { - const flatKeys = keys2.flat(); - const predicate = flatKeys[0]; - return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs(obj)).filter((e) => !flatKeys.includes(e[0])))); -} -var isClient = typeof window !== "undefined" && typeof document !== "undefined"; -var isWorker = typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope; -var isDef = (val) => typeof val !== "undefined"; -var notNullish = (val) => val != null; -var assert = (condition, ...infos) => { - if (!condition) - console.warn(...infos); -}; -var toString = Object.prototype.toString; -var isObject = (val) => toString.call(val) === "[object Object]"; -var now = () => Date.now(); -var timestamp = () => +Date.now(); -var clamp = (n, min, max) => Math.min(max, Math.max(min, n)); -var noop = () => { -}; -var rand = (min, max) => { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; -}; -var hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key); -var isIOS = getIsIOS(); -function getIsIOS() { - var _a, _b; - return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent)); -} -function createFilterWrapper(filter, fn) { - function wrapper(...args) { - return new Promise((resolve, reject) => { - Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject); - }); - } - return wrapper; -} -var bypassFilter = (invoke2) => { - return invoke2(); -}; -function debounceFilter(ms, options = {}) { - let timer; - let maxTimer; - let lastRejector = noop; - const _clearTimeout = (timer2) => { - clearTimeout(timer2); - lastRejector(); - lastRejector = noop; - }; - let lastInvoker; - const filter = (invoke2) => { - const duration = toValue(ms); - const maxDuration = toValue(options.maxWait); - if (timer) - _clearTimeout(timer); - if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) { - if (maxTimer) { - _clearTimeout(maxTimer); - maxTimer = null; - } - return Promise.resolve(invoke2()); - } - return new Promise((resolve, reject) => { - lastRejector = options.rejectOnCancel ? reject : resolve; - lastInvoker = invoke2; - if (maxDuration && !maxTimer) { - maxTimer = setTimeout(() => { - if (timer) - _clearTimeout(timer); - maxTimer = null; - resolve(lastInvoker()); - }, maxDuration); - } - timer = setTimeout(() => { - if (maxTimer) - _clearTimeout(maxTimer); - maxTimer = null; - resolve(invoke2()); - }, duration); - }); - }; - return filter; -} -function throttleFilter(...args) { - let lastExec = 0; - let timer; - let isLeading = true; - let lastRejector = noop; - let lastValue; - let ms; - let trailing; - let leading; - let rejectOnCancel; - if (!isRef(args[0]) && typeof args[0] === "object") - ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]); - else - [ms, trailing = true, leading = true, rejectOnCancel = false] = args; - const clear = () => { - if (timer) { - clearTimeout(timer); - timer = void 0; - lastRejector(); - lastRejector = noop; - } - }; - const filter = (_invoke) => { - const duration = toValue(ms); - const elapsed = Date.now() - lastExec; - const invoke2 = () => { - return lastValue = _invoke(); - }; - clear(); - if (duration <= 0) { - lastExec = Date.now(); - return invoke2(); - } - if (elapsed > duration && (leading || !isLeading)) { - lastExec = Date.now(); - invoke2(); - } else if (trailing) { - lastValue = new Promise((resolve, reject) => { - lastRejector = rejectOnCancel ? reject : resolve; - timer = setTimeout(() => { - lastExec = Date.now(); - isLeading = true; - resolve(invoke2()); - clear(); - }, Math.max(0, duration - elapsed)); - }); - } - if (!leading && !timer) - timer = setTimeout(() => isLeading = true, duration); - isLeading = false; - return lastValue; - }; - return filter; -} -function pausableFilter(extendFilter = bypassFilter, options = {}) { - const { - initialState = "active" - } = options; - const isActive = toRef2(initialState === "active"); - function pause() { - isActive.value = false; - } - function resume() { - isActive.value = true; - } - const eventFilter = (...args) => { - if (isActive.value) - extendFilter(...args); - }; - return { isActive: readonly(isActive), pause, resume, eventFilter }; -} -function cacheStringFunction(fn) { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -} -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); -var camelizeRE = /-(\w)/g; -var camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); -}); -function promiseTimeout(ms, throwOnTimeout = false, reason = "Timeout") { - return new Promise((resolve, reject) => { - if (throwOnTimeout) - setTimeout(() => reject(reason), ms); - else - setTimeout(resolve, ms); - }); -} -function identity(arg) { - return arg; -} -function createSingletonPromise(fn) { - let _promise; - function wrapper() { - if (!_promise) - _promise = fn(); - return _promise; - } - wrapper.reset = async () => { - const _prev = _promise; - _promise = void 0; - if (_prev) - await _prev; - }; - return wrapper; -} -function invoke(fn) { - return fn(); -} -function containsProp(obj, ...props) { - return props.some((k) => k in obj); -} -function increaseWithUnit(target, delta) { - var _a; - if (typeof target === "number") - return target + delta; - const value = ((_a = target.match(/^-?\d+\.?\d*/)) == null ? void 0 : _a[0]) || ""; - const unit = target.slice(value.length); - const result = Number.parseFloat(value) + delta; - if (Number.isNaN(result)) - return target; - return result + unit; -} -function pxValue(px) { - return px.endsWith("rem") ? Number.parseFloat(px) * 16 : Number.parseFloat(px); -} -function objectPick(obj, keys2, omitUndefined = false) { - return keys2.reduce((n, k) => { - if (k in obj) { - if (!omitUndefined || obj[k] !== void 0) - n[k] = obj[k]; - } - return n; - }, {}); -} -function objectOmit(obj, keys2, omitUndefined = false) { - return Object.fromEntries(Object.entries(obj).filter(([key, value]) => { - return (!omitUndefined || value !== void 0) && !keys2.includes(key); - })); -} -function objectEntries(obj) { - return Object.entries(obj); -} -function getLifeCycleTarget(target) { - return target || getCurrentInstance(); -} -function toArray(value) { - return Array.isArray(value) ? value : [value]; -} -function toRef2(...args) { - if (args.length !== 1) - return toRef(...args); - const r = args[0]; - return typeof r === "function" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r); -} -var resolveRef = toRef2; -function reactivePick(obj, ...keys2) { - const flatKeys = keys2.flat(); - const predicate = flatKeys[0]; - return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef2(obj, k)]))); -} -function refAutoReset(defaultValue, afterMs = 1e4) { - return customRef((track, trigger) => { - let value = toValue(defaultValue); - let timer; - const resetAfter = () => setTimeout(() => { - value = toValue(defaultValue); - trigger(); - }, toValue(afterMs)); - tryOnScopeDispose(() => { - clearTimeout(timer); - }); - return { - get() { - track(); - return value; - }, - set(newValue) { - value = newValue; - trigger(); - clearTimeout(timer); - timer = resetAfter(); - } - }; - }); -} -function useDebounceFn(fn, ms = 200, options = {}) { - return createFilterWrapper( - debounceFilter(ms, options), - fn - ); -} -function refDebounced(value, ms = 200, options = {}) { - const debounced = ref(value.value); - const updater = useDebounceFn(() => { - debounced.value = value.value; - }, ms, options); - watch(value, () => updater()); - return debounced; -} -function refDefault(source, defaultValue) { - return computed({ - get() { - var _a; - return (_a = source.value) != null ? _a : defaultValue; - }, - set(value) { - source.value = value; - } - }); -} -function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) { - return createFilterWrapper( - throttleFilter(ms, trailing, leading, rejectOnCancel), - fn - ); -} -function refThrottled(value, delay = 200, trailing = true, leading = true) { - if (delay <= 0) - return value; - const throttled = ref(value.value); - const updater = useThrottleFn(() => { - throttled.value = value.value; - }, delay, trailing, leading); - watch(value, () => updater()); - return throttled; -} -function refWithControl(initial, options = {}) { - let source = initial; - let track; - let trigger; - const ref2 = customRef((_track, _trigger) => { - track = _track; - trigger = _trigger; - return { - get() { - return get2(); - }, - set(v) { - set2(v); - } - }; - }); - function get2(tracking = true) { - if (tracking) - track(); - return source; - } - function set2(value, triggering = true) { - var _a, _b; - if (value === source) - return; - const old = source; - if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false) - return; - source = value; - (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old); - if (triggering) - trigger(); - } - const untrackedGet = () => get2(false); - const silentSet = (v) => set2(v, false); - const peek = () => get2(false); - const lay = (v) => set2(v, false); - return extendRef( - ref2, - { - get: get2, - set: set2, - untrackedGet, - silentSet, - peek, - lay - }, - { enumerable: true } - ); -} -var controlledRef = refWithControl; -function set(...args) { - if (args.length === 2) { - const [ref2, value] = args; - ref2.value = value; - } - if (args.length === 3) { - const [target, key, value] = args; - target[key] = value; - } -} -function watchWithFilter(source, cb, options = {}) { - const { - eventFilter = bypassFilter, - ...watchOptions - } = options; - return watch( - source, - createFilterWrapper( - eventFilter, - cb - ), - watchOptions - ); -} -function watchPausable(source, cb, options = {}) { - const { - eventFilter: filter, - initialState = "active", - ...watchOptions - } = options; - const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState }); - const stop = watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter - } - ); - return { stop, pause, resume, isActive }; -} -function syncRef(left, right, ...[options]) { - const { - flush = "sync", - deep = false, - immediate = true, - direction = "both", - transform = {} - } = options || {}; - const watchers = []; - const transformLTR = "ltr" in transform && transform.ltr || ((v) => v); - const transformRTL = "rtl" in transform && transform.rtl || ((v) => v); - if (direction === "both" || direction === "ltr") { - watchers.push(watchPausable( - left, - (newValue) => { - watchers.forEach((w) => w.pause()); - right.value = transformLTR(newValue); - watchers.forEach((w) => w.resume()); - }, - { flush, deep, immediate } - )); - } - if (direction === "both" || direction === "rtl") { - watchers.push(watchPausable( - right, - (newValue) => { - watchers.forEach((w) => w.pause()); - left.value = transformRTL(newValue); - watchers.forEach((w) => w.resume()); - }, - { flush, deep, immediate } - )); - } - const stop = () => { - watchers.forEach((w) => w.stop()); - }; - return stop; -} -function syncRefs(source, targets, options = {}) { - const { - flush = "sync", - deep = false, - immediate = true - } = options; - const targetsArray = toArray(targets); - return watch( - source, - (newValue) => targetsArray.forEach((target) => target.value = newValue), - { flush, deep, immediate } - ); -} -function toRefs2(objectRef, options = {}) { - if (!isRef(objectRef)) - return toRefs(objectRef); - const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {}; - for (const key in objectRef.value) { - result[key] = customRef(() => ({ - get() { - return objectRef.value[key]; - }, - set(v) { - var _a; - const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true; - if (replaceRef) { - if (Array.isArray(objectRef.value)) { - const copy = [...objectRef.value]; - copy[key] = v; - objectRef.value = copy; - } else { - const newObject = { ...objectRef.value, [key]: v }; - Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value)); - objectRef.value = newObject; - } - } else { - objectRef.value[key] = v; - } - } - })); - } - return result; -} -var toValue2 = toValue; -var resolveUnref = toValue; -function tryOnBeforeMount(fn, sync = true, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onBeforeMount(fn, target); - else if (sync) - fn(); - else - nextTick(fn); -} -function tryOnBeforeUnmount(fn, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onBeforeUnmount(fn, target); -} -function tryOnMounted(fn, sync = true, target) { - const instance = getLifeCycleTarget(); - if (instance) - onMounted(fn, target); - else if (sync) - fn(); - else - nextTick(fn); -} -function tryOnUnmounted(fn, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onUnmounted(fn, target); -} -function createUntil(r, isNot = false) { - function toMatch(condition, { flush = "sync", deep = false, timeout, throwOnTimeout } = {}) { - let stop = null; - const watcher = new Promise((resolve) => { - stop = watch( - r, - (v) => { - if (condition(v) !== isNot) { - if (stop) - stop(); - else - nextTick(() => stop == null ? void 0 : stop()); - resolve(v); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop()) - ); - } - return Promise.race(promises); - } - function toBe(value, options) { - if (!isRef(value)) - return toMatch((v) => v === value, options); - const { flush = "sync", deep = false, timeout, throwOnTimeout } = options != null ? options : {}; - let stop = null; - const watcher = new Promise((resolve) => { - stop = watch( - [r, value], - ([v1, v2]) => { - if (isNot !== (v1 === v2)) { - if (stop) - stop(); - else - nextTick(() => stop == null ? void 0 : stop()); - resolve(v1); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => { - stop == null ? void 0 : stop(); - return toValue(r); - }) - ); - } - return Promise.race(promises); - } - function toBeTruthy(options) { - return toMatch((v) => Boolean(v), options); - } - function toBeNull(options) { - return toBe(null, options); - } - function toBeUndefined(options) { - return toBe(void 0, options); - } - function toBeNaN(options) { - return toMatch(Number.isNaN, options); - } - function toContains(value, options) { - return toMatch((v) => { - const array = Array.from(v); - return array.includes(value) || array.includes(toValue(value)); - }, options); - } - function changed(options) { - return changedTimes(1, options); - } - function changedTimes(n = 1, options) { - let count = -1; - return toMatch(() => { - count += 1; - return count >= n; - }, options); - } - if (Array.isArray(toValue(r))) { - const instance = { - toMatch, - toContains, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } else { - const instance = { - toMatch, - toBe, - toBeTruthy, - toBeNull, - toBeNaN, - toBeUndefined, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } -} -function until(r) { - return createUntil(r); -} -function defaultComparator(value, othVal) { - return value === othVal; -} -function useArrayDifference(...args) { - var _a, _b; - const list = args[0]; - const values = args[1]; - let compareFn = (_a = args[2]) != null ? _a : defaultComparator; - const { - symmetric = false - } = (_b = args[3]) != null ? _b : {}; - if (typeof compareFn === "string") { - const key = compareFn; - compareFn = (value, othVal) => value[key] === othVal[key]; - } - const diff1 = computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1)); - if (symmetric) { - const diff2 = computed(() => toValue(values).filter((x) => toValue(list).findIndex((y) => compareFn(x, y)) === -1)); - return computed(() => symmetric ? [...toValue(diff1), ...toValue(diff2)] : toValue(diff1)); - } else { - return diff1; - } -} -function useArrayEvery(list, fn) { - return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array))); -} -function useArrayFilter(list, fn) { - return computed(() => toValue(list).map((i) => toValue(i)).filter(fn)); -} -function useArrayFind(list, fn) { - return computed(() => toValue( - toValue(list).find((element, index, array) => fn(toValue(element), index, array)) - )); -} -function useArrayFindIndex(list, fn) { - return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array))); -} -function findLast(arr, cb) { - let index = arr.length; - while (index-- > 0) { - if (cb(arr[index], index, arr)) - return arr[index]; - } - return void 0; -} -function useArrayFindLast(list, fn) { - return computed(() => toValue( - !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array)) - )); -} -function isArrayIncludesOptions(obj) { - return isObject(obj) && containsProp(obj, "formIndex", "comparator"); -} -function useArrayIncludes(...args) { - var _a; - const list = args[0]; - const value = args[1]; - let comparator = args[2]; - let formIndex = 0; - if (isArrayIncludesOptions(comparator)) { - formIndex = (_a = comparator.fromIndex) != null ? _a : 0; - comparator = comparator.comparator; - } - if (typeof comparator === "string") { - const key = comparator; - comparator = (element, value2) => element[key] === toValue(value2); - } - comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2); - return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator( - toValue(element), - toValue(value), - index, - toValue(array) - ))); -} -function useArrayJoin(list, separator) { - return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator))); -} -function useArrayMap(list, fn) { - return computed(() => toValue(list).map((i) => toValue(i)).map(fn)); -} -function useArrayReduce(list, reducer, ...args) { - const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index); - return computed(() => { - const resolved = toValue(list); - return args.length ? resolved.reduce(reduceCallback, typeof args[0] === "function" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback); - }); -} -function useArraySome(list, fn) { - return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array))); -} -function uniq(array) { - return Array.from(new Set(array)); -} -function uniqueElementsBy(array, fn) { - return array.reduce((acc, v) => { - if (!acc.some((x) => fn(v, x, array))) - acc.push(v); - return acc; - }, []); -} -function useArrayUnique(list, compareFn) { - return computed(() => { - const resolvedList = toValue(list).map((element) => toValue(element)); - return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList); - }); -} -function useCounter(initialValue = 0, options = {}) { - let _initialValue = unref(initialValue); - const count = shallowRef(initialValue); - const { - max = Number.POSITIVE_INFINITY, - min = Number.NEGATIVE_INFINITY - } = options; - const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min); - const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max); - const get2 = () => count.value; - const set2 = (val) => count.value = Math.max(min, Math.min(max, val)); - const reset = (val = _initialValue) => { - _initialValue = val; - return set2(val); - }; - return { count, inc, dec, get: get2, set: set2, reset }; -} -var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i; -var REGEX_FORMAT = /[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g; -function defaultMeridiem(hours, minutes, isLowercase, hasPeriod) { - let m = hours < 12 ? "AM" : "PM"; - if (hasPeriod) - m = m.split("").reduce((acc, curr) => acc += `${curr}.`, ""); - return isLowercase ? m.toLowerCase() : m; -} -function formatOrdinal(num) { - const suffixes = ["th", "st", "nd", "rd"]; - const v = num % 100; - return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]); -} -function formatDate(date, formatStr, options = {}) { - var _a; - const years = date.getFullYear(); - const month = date.getMonth(); - const days = date.getDate(); - const hours = date.getHours(); - const minutes = date.getMinutes(); - const seconds = date.getSeconds(); - const milliseconds = date.getMilliseconds(); - const day = date.getDay(); - const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem; - const stripTimeZone = (dateString) => { - var _a2; - return (_a2 = dateString.split(" ")[1]) != null ? _a2 : ""; - }; - const matches = { - Yo: () => formatOrdinal(years), - YY: () => String(years).slice(-2), - YYYY: () => years, - M: () => month + 1, - Mo: () => formatOrdinal(month + 1), - MM: () => `${month + 1}`.padStart(2, "0"), - MMM: () => date.toLocaleDateString(toValue(options.locales), { month: "short" }), - MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: "long" }), - D: () => String(days), - Do: () => formatOrdinal(days), - DD: () => `${days}`.padStart(2, "0"), - H: () => String(hours), - Ho: () => formatOrdinal(hours), - HH: () => `${hours}`.padStart(2, "0"), - h: () => `${hours % 12 || 12}`.padStart(1, "0"), - ho: () => formatOrdinal(hours % 12 || 12), - hh: () => `${hours % 12 || 12}`.padStart(2, "0"), - m: () => String(minutes), - mo: () => formatOrdinal(minutes), - mm: () => `${minutes}`.padStart(2, "0"), - s: () => String(seconds), - so: () => formatOrdinal(seconds), - ss: () => `${seconds}`.padStart(2, "0"), - SSS: () => `${milliseconds}`.padStart(3, "0"), - d: () => day, - dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "narrow" }), - ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "short" }), - dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "long" }), - A: () => meridiem(hours, minutes), - AA: () => meridiem(hours, minutes, false, true), - a: () => meridiem(hours, minutes, true), - aa: () => meridiem(hours, minutes, true, true), - z: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), - zz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), - zzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), - zzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "longOffset" })) - }; - return formatStr.replace(REGEX_FORMAT, (match, $1) => { - var _a2, _b; - return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match; - }); -} -function normalizeDate(date) { - if (date === null) - return new Date(Number.NaN); - if (date === void 0) - return /* @__PURE__ */ new Date(); - if (date instanceof Date) - return new Date(date); - if (typeof date === "string" && !/Z$/i.test(date)) { - const d = date.match(REGEX_PARSE); - if (d) { - const m = d[2] - 1 || 0; - const ms = (d[7] || "0").substring(0, 3); - return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms); - } - } - return new Date(date); -} -function useDateFormat(date, formatStr = "HH:mm:ss", options = {}) { - return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options)); -} -function useIntervalFn(cb, interval = 1e3, options = {}) { - const { - immediate = true, - immediateCallback = false - } = options; - let timer = null; - const isActive = shallowRef(false); - function clean() { - if (timer) { - clearInterval(timer); - timer = null; - } - } - function pause() { - isActive.value = false; - clean(); - } - function resume() { - const intervalValue = toValue(interval); - if (intervalValue <= 0) - return; - isActive.value = true; - if (immediateCallback) - cb(); - clean(); - if (isActive.value) - timer = setInterval(cb, intervalValue); - } - if (immediate && isClient) - resume(); - if (isRef(interval) || typeof interval === "function") { - const stopWatch = watch(interval, () => { - if (isActive.value && isClient) - resume(); - }); - tryOnScopeDispose(stopWatch); - } - tryOnScopeDispose(pause); - return { - isActive, - pause, - resume - }; -} -function useInterval(interval = 1e3, options = {}) { - const { - controls: exposeControls = false, - immediate = true, - callback - } = options; - const counter = shallowRef(0); - const update = () => counter.value += 1; - const reset = () => { - counter.value = 0; - }; - const controls = useIntervalFn( - callback ? () => { - update(); - callback(counter.value); - } : update, - interval, - { immediate } - ); - if (exposeControls) { - return { - counter, - reset, - ...controls - }; - } else { - return counter; - } -} -function useLastChanged(source, options = {}) { - var _a; - const ms = shallowRef((_a = options.initialValue) != null ? _a : null); - watch( - source, - () => ms.value = timestamp(), - options - ); - return ms; -} -function useTimeoutFn(cb, interval, options = {}) { - const { - immediate = true, - immediateCallback = false - } = options; - const isPending = shallowRef(false); - let timer = null; - function clear() { - if (timer) { - clearTimeout(timer); - timer = null; - } - } - function stop() { - isPending.value = false; - clear(); - } - function start(...args) { - if (immediateCallback) - cb(); - clear(); - isPending.value = true; - timer = setTimeout(() => { - isPending.value = false; - timer = null; - cb(...args); - }, toValue(interval)); - } - if (immediate) { - isPending.value = true; - if (isClient) - start(); - } - tryOnScopeDispose(stop); - return { - isPending: readonly(isPending), - start, - stop - }; -} -function useTimeout(interval = 1e3, options = {}) { - const { - controls: exposeControls = false, - callback - } = options; - const controls = useTimeoutFn( - callback != null ? callback : noop, - interval, - options - ); - const ready = computed(() => !controls.isPending.value); - if (exposeControls) { - return { - ready, - ...controls - }; - } else { - return ready; - } -} -function useToNumber(value, options = {}) { - const { - method = "parseFloat", - radix, - nanToZero - } = options; - return computed(() => { - let resolved = toValue(value); - if (typeof method === "function") - resolved = method(resolved); - else if (typeof resolved === "string") - resolved = Number[method](resolved, radix); - if (nanToZero && Number.isNaN(resolved)) - resolved = 0; - return resolved; - }); -} -function useToString(value) { - return computed(() => `${toValue(value)}`); -} -function useToggle(initialValue = false, options = {}) { - const { - truthyValue = true, - falsyValue = false - } = options; - const valueIsRef = isRef(initialValue); - const _value = shallowRef(initialValue); - function toggle(value) { - if (arguments.length) { - _value.value = value; - return _value.value; - } else { - const truthy = toValue(truthyValue); - _value.value = _value.value === truthy ? toValue(falsyValue) : truthy; - return _value.value; - } - } - if (valueIsRef) - return toggle; - else - return [_value, toggle]; -} -function watchArray(source, cb, options) { - let oldList = (options == null ? void 0 : options.immediate) ? [] : [...typeof source === "function" ? source() : Array.isArray(source) ? source : toValue(source)]; - return watch(source, (newList, _, onCleanup) => { - const oldListRemains = Array.from({ length: oldList.length }); - const added = []; - for (const obj of newList) { - let found = false; - for (let i = 0; i < oldList.length; i++) { - if (!oldListRemains[i] && obj === oldList[i]) { - oldListRemains[i] = true; - found = true; - break; - } - } - if (!found) - added.push(obj); - } - const removed = oldList.filter((_2, i) => !oldListRemains[i]); - cb(newList, oldList, added, removed, onCleanup); - oldList = [...newList]; - }, options); -} -function watchAtMost(source, cb, options) { - const { - count, - ...watchOptions - } = options; - const current = shallowRef(0); - const stop = watchWithFilter( - source, - (...args) => { - current.value += 1; - if (current.value >= toValue(count)) - nextTick(() => stop()); - cb(...args); - }, - watchOptions - ); - return { count: current, stop }; -} -function watchDebounced(source, cb, options = {}) { - const { - debounce = 0, - maxWait = void 0, - ...watchOptions - } = options; - return watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter: debounceFilter(debounce, { maxWait }) - } - ); -} -function watchDeep(source, cb, options) { - return watch( - source, - cb, - { - ...options, - deep: true - } - ); -} -function watchIgnorable(source, cb, options = {}) { - const { - eventFilter = bypassFilter, - ...watchOptions - } = options; - const filteredCb = createFilterWrapper( - eventFilter, - cb - ); - let ignoreUpdates; - let ignorePrevAsyncUpdates; - let stop; - if (watchOptions.flush === "sync") { - const ignore = shallowRef(false); - ignorePrevAsyncUpdates = () => { - }; - ignoreUpdates = (updater) => { - ignore.value = true; - updater(); - ignore.value = false; - }; - stop = watch( - source, - (...args) => { - if (!ignore.value) - filteredCb(...args); - }, - watchOptions - ); - } else { - const disposables = []; - const ignoreCounter = shallowRef(0); - const syncCounter = shallowRef(0); - ignorePrevAsyncUpdates = () => { - ignoreCounter.value = syncCounter.value; - }; - disposables.push( - watch( - source, - () => { - syncCounter.value++; - }, - { ...watchOptions, flush: "sync" } - ) - ); - ignoreUpdates = (updater) => { - const syncCounterPrev = syncCounter.value; - updater(); - ignoreCounter.value += syncCounter.value - syncCounterPrev; - }; - disposables.push( - watch( - source, - (...args) => { - const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value; - ignoreCounter.value = 0; - syncCounter.value = 0; - if (ignore) - return; - filteredCb(...args); - }, - watchOptions - ) - ); - stop = () => { - disposables.forEach((fn) => fn()); - }; - } - return { stop, ignoreUpdates, ignorePrevAsyncUpdates }; -} -function watchImmediate(source, cb, options) { - return watch( - source, - cb, - { - ...options, - immediate: true - } - ); -} -function watchOnce(source, cb, options) { - const stop = watch(source, (...args) => { - nextTick(() => stop()); - return cb(...args); - }, options); - return stop; -} -function watchThrottled(source, cb, options = {}) { - const { - throttle = 0, - trailing = true, - leading = true, - ...watchOptions - } = options; - return watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter: throttleFilter(throttle, trailing, leading) - } - ); -} -function watchTriggerable(source, cb, options = {}) { - let cleanupFn; - function onEffect() { - if (!cleanupFn) - return; - const fn = cleanupFn; - cleanupFn = void 0; - fn(); - } - function onCleanup(callback) { - cleanupFn = callback; - } - const _cb = (value, oldValue) => { - onEffect(); - return cb(value, oldValue, onCleanup); - }; - const res = watchIgnorable(source, _cb, options); - const { ignoreUpdates } = res; - const trigger = () => { - let res2; - ignoreUpdates(() => { - res2 = _cb(getWatchSources(source), getOldValue(source)); - }); - return res2; - }; - return { - ...res, - trigger - }; -} -function getWatchSources(sources) { - if (isReactive(sources)) - return sources; - if (Array.isArray(sources)) - return sources.map((item) => toValue(item)); - return toValue(sources); -} -function getOldValue(source) { - return Array.isArray(source) ? source.map(() => void 0) : void 0; -} -function whenever(source, cb, options) { - const stop = watch( - source, - (v, ov, onInvalidate) => { - if (v) { - if (options == null ? void 0 : options.once) - nextTick(() => stop()); - cb(v, ov, onInvalidate); - } - }, - { - ...options, - once: false - } - ); - return stop; -} - -// node_modules/@vueuse/core/index.mjs -function computedAsync(evaluationCallback, initialState, optionsOrRef) { - let options; - if (isRef(optionsOrRef)) { - options = { - evaluating: optionsOrRef - }; - } else { - options = optionsOrRef || {}; - } - const { - lazy = false, - evaluating = void 0, - shallow = true, - onError = noop - } = options; - const started = shallowRef(!lazy); - const current = shallow ? shallowRef(initialState) : ref(initialState); - let counter = 0; - watchEffect(async (onInvalidate) => { - if (!started.value) - return; - counter++; - const counterAtBeginning = counter; - let hasFinished = false; - if (evaluating) { - Promise.resolve().then(() => { - evaluating.value = true; - }); - } - try { - const result = await evaluationCallback((cancelCallback) => { - onInvalidate(() => { - if (evaluating) - evaluating.value = false; - if (!hasFinished) - cancelCallback(); - }); - }); - if (counterAtBeginning === counter) - current.value = result; - } catch (e) { - onError(e); - } finally { - if (evaluating && counterAtBeginning === counter) - evaluating.value = false; - hasFinished = true; - } - }); - if (lazy) { - return computed(() => { - started.value = true; - return current.value; - }); - } else { - return current; - } -} -function computedInject(key, options, defaultSource, treatDefaultAsFactory) { - let source = inject(key); - if (defaultSource) - source = inject(key, defaultSource); - if (treatDefaultAsFactory) - source = inject(key, defaultSource, treatDefaultAsFactory); - if (typeof options === "function") { - return computed((ctx) => options(source, ctx)); - } else { - return computed({ - get: (ctx) => options.get(source, ctx), - set: options.set - }); - } -} -function createReusableTemplate(options = {}) { - const { - inheritAttrs = true - } = options; - const render = shallowRef(); - const define = defineComponent({ - setup(_, { slots }) { - return () => { - render.value = slots.default; - }; - } - }); - const reuse = defineComponent({ - inheritAttrs, - props: options.props, - setup(props, { attrs, slots }) { - return () => { - var _a; - if (!render.value && true) - throw new Error("[VueUse] Failed to find the definition of reusable template"); - const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { - ...options.props == null ? keysToCamelKebabCase(attrs) : props, - $slots: slots - }); - return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode; - }; - } - }); - return makeDestructurable( - { define, reuse }, - [define, reuse] - ); -} -function keysToCamelKebabCase(obj) { - const newObj = {}; - for (const key in obj) - newObj[camelize(key)] = obj[key]; - return newObj; -} -function createTemplatePromise(options = {}) { - let index = 0; - const instances = ref([]); - function create(...args) { - const props = shallowReactive({ - key: index++, - args, - promise: void 0, - resolve: () => { - }, - reject: () => { - }, - isResolving: false, - options - }); - instances.value.push(props); - props.promise = new Promise((_resolve, _reject) => { - props.resolve = (v) => { - props.isResolving = true; - return _resolve(v); - }; - props.reject = _reject; - }).finally(() => { - props.promise = void 0; - const index2 = instances.value.indexOf(props); - if (index2 !== -1) - instances.value.splice(index2, 1); - }); - return props.promise; - } - function start(...args) { - if (options.singleton && instances.value.length > 0) - return instances.value[0].promise; - return create(...args); - } - const component = defineComponent((_, { slots }) => { - const renderList = () => instances.value.map((props) => { - var _a; - return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props)); - }); - if (options.transition) - return () => h(TransitionGroup, options.transition, renderList); - return renderList; - }); - component.start = start; - return component; -} -function createUnrefFn(fn) { - return function(...args) { - return fn.apply(this, args.map((i) => toValue(i))); - }; -} -var defaultWindow = isClient ? window : void 0; -var defaultDocument = isClient ? window.document : void 0; -var defaultNavigator = isClient ? window.navigator : void 0; -var defaultLocation = isClient ? window.location : void 0; -function unrefElement(elRef) { - var _a; - const plain = toValue(elRef); - return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain; -} -function useEventListener(...args) { - const cleanups = []; - const cleanup = () => { - cleanups.forEach((fn) => fn()); - cleanups.length = 0; - }; - const register = (el, event, listener, options) => { - el.addEventListener(event, listener, options); - return () => el.removeEventListener(event, listener, options); - }; - const firstParamTargets = computed(() => { - const test = toArray(toValue(args[0])).filter((e) => e != null); - return test.every((e) => typeof e !== "string") ? test : void 0; - }); - const stopWatch = watchImmediate( - () => { - var _a, _b; - return [ - (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null), - toArray(toValue(firstParamTargets.value ? args[1] : args[0])), - toArray(unref(firstParamTargets.value ? args[2] : args[1])), - // @ts-expect-error - TypeScript gets the correct types, but somehow still complains - toValue(firstParamTargets.value ? args[3] : args[2]) - ]; - }, - ([raw_targets, raw_events, raw_listeners, raw_options]) => { - cleanup(); - if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length)) - return; - const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options; - cleanups.push( - ...raw_targets.flatMap( - (el) => raw_events.flatMap( - (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone)) - ) - ) - ); - }, - { flush: "post" } - ); - const stop = () => { - stopWatch(); - cleanup(); - }; - tryOnScopeDispose(cleanup); - return stop; -} -var _iOSWorkaround = false; -function onClickOutside(target, handler, options = {}) { - const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options; - if (!window2) { - return controls ? { stop: noop, cancel: noop, trigger: noop } : noop; - } - if (isIOS && !_iOSWorkaround) { - _iOSWorkaround = true; - const listenerOptions = { passive: true }; - Array.from(window2.document.body.children).forEach((el) => useEventListener(el, "click", noop, listenerOptions)); - useEventListener(window2.document.documentElement, "click", noop, listenerOptions); - } - let shouldListen = true; - const shouldIgnore = (event) => { - return toValue(ignore).some((target2) => { - if (typeof target2 === "string") { - return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el)); - } else { - const el = unrefElement(target2); - return el && (event.target === el || event.composedPath().includes(el)); - } - }); - }; - function hasMultipleRoots(target2) { - const vm = toValue(target2); - return vm && vm.$.subTree.shapeFlag === 16; - } - function checkMultipleRoots(target2, event) { - const vm = toValue(target2); - const children = vm.$.subTree && vm.$.subTree.children; - if (children == null || !Array.isArray(children)) - return false; - return children.some((child) => child.el === event.target || event.composedPath().includes(child.el)); - } - const listener = (event) => { - const el = unrefElement(target); - if (event.target == null) - return; - if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event)) - return; - if (!el || el === event.target || event.composedPath().includes(el)) - return; - if ("detail" in event && event.detail === 0) - shouldListen = !shouldIgnore(event); - if (!shouldListen) { - shouldListen = true; - return; - } - handler(event); - }; - let isProcessingClick = false; - const cleanup = [ - useEventListener(window2, "click", (event) => { - if (!isProcessingClick) { - isProcessingClick = true; - setTimeout(() => { - isProcessingClick = false; - }, 0); - listener(event); - } - }, { passive: true, capture }), - useEventListener(window2, "pointerdown", (e) => { - const el = unrefElement(target); - shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el)); - }, { passive: true }), - detectIframe && useEventListener(window2, "blur", (event) => { - setTimeout(() => { - var _a; - const el = unrefElement(target); - if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) { - handler(event); - } - }, 0); - }, { passive: true }) - ].filter(Boolean); - const stop = () => cleanup.forEach((fn) => fn()); - if (controls) { - return { - stop, - cancel: () => { - shouldListen = false; - }, - trigger: (event) => { - shouldListen = true; - listener(event); - shouldListen = false; - } - }; - } - return stop; -} -function useMounted() { - const isMounted = shallowRef(false); - const instance = getCurrentInstance(); - if (instance) { - onMounted(() => { - isMounted.value = true; - }, instance); - } - return isMounted; -} -function useSupported(callback) { - const isMounted = useMounted(); - return computed(() => { - isMounted.value; - return Boolean(callback()); - }); -} -function useMutationObserver(target, callback, options = {}) { - const { window: window2 = defaultWindow, ...mutationOptions } = options; - let observer; - const isSupported = useSupported(() => window2 && "MutationObserver" in window2); - const cleanup = () => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }; - const targets = computed(() => { - const value = toValue(target); - const items = toArray(value).map(unrefElement).filter(notNullish); - return new Set(items); - }); - const stopWatch = watch( - () => targets.value, - (targets2) => { - cleanup(); - if (isSupported.value && targets2.size) { - observer = new MutationObserver(callback); - targets2.forEach((el) => observer.observe(el, mutationOptions)); - } - }, - { immediate: true, flush: "post" } - ); - const takeRecords = () => { - return observer == null ? void 0 : observer.takeRecords(); - }; - const stop = () => { - stopWatch(); - cleanup(); - }; - tryOnScopeDispose(stop); - return { - isSupported, - stop, - takeRecords - }; -} -function onElementRemoval(target, callback, options = {}) { - const { - window: window2 = defaultWindow, - document: document2 = window2 == null ? void 0 : window2.document, - flush = "sync" - } = options; - if (!window2 || !document2) - return noop; - let stopFn; - const cleanupAndUpdate = (fn) => { - stopFn == null ? void 0 : stopFn(); - stopFn = fn; - }; - const stopWatch = watchEffect(() => { - const el = unrefElement(target); - if (el) { - const { stop } = useMutationObserver( - document2, - (mutationsList) => { - const targetRemoved = mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el)); - if (targetRemoved) { - callback(mutationsList); - } - }, - { - window: window2, - childList: true, - subtree: true - } - ); - cleanupAndUpdate(stop); - } - }, { flush }); - const stopHandle = () => { - stopWatch(); - cleanupAndUpdate(); - }; - tryOnScopeDispose(stopHandle); - return stopHandle; -} -function createKeyPredicate(keyFilter) { - if (typeof keyFilter === "function") - return keyFilter; - else if (typeof keyFilter === "string") - return (event) => event.key === keyFilter; - else if (Array.isArray(keyFilter)) - return (event) => keyFilter.includes(event.key); - return () => true; -} -function onKeyStroke(...args) { - let key; - let handler; - let options = {}; - if (args.length === 3) { - key = args[0]; - handler = args[1]; - options = args[2]; - } else if (args.length === 2) { - if (typeof args[1] === "object") { - key = true; - handler = args[0]; - options = args[1]; - } else { - key = args[0]; - handler = args[1]; - } - } else { - key = true; - handler = args[0]; - } - const { - target = defaultWindow, - eventName = "keydown", - passive = false, - dedupe = false - } = options; - const predicate = createKeyPredicate(key); - const listener = (e) => { - if (e.repeat && toValue(dedupe)) - return; - if (predicate(e)) - handler(e); - }; - return useEventListener(target, eventName, listener, passive); -} -function onKeyDown(key, handler, options = {}) { - return onKeyStroke(key, handler, { ...options, eventName: "keydown" }); -} -function onKeyPressed(key, handler, options = {}) { - return onKeyStroke(key, handler, { ...options, eventName: "keypress" }); -} -function onKeyUp(key, handler, options = {}) { - return onKeyStroke(key, handler, { ...options, eventName: "keyup" }); -} -var DEFAULT_DELAY = 500; -var DEFAULT_THRESHOLD = 10; -function onLongPress(target, handler, options) { - var _a, _b; - const elementRef = computed(() => unrefElement(target)); - let timeout; - let posStart; - let startTimestamp; - let hasLongPressed = false; - function clear() { - if (timeout) { - clearTimeout(timeout); - timeout = void 0; - } - posStart = void 0; - startTimestamp = void 0; - hasLongPressed = false; - } - function onRelease(ev) { - var _a2, _b2, _c; - const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed]; - clear(); - if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp) - return; - if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) - return; - if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - const dx = ev.x - _posStart.x; - const dy = ev.y - _posStart.y; - const distance = Math.sqrt(dx * dx + dy * dy); - options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed); - } - function onDown(ev) { - var _a2, _b2, _c, _d; - if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) - return; - clear(); - if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - posStart = { - x: ev.x, - y: ev.y - }; - startTimestamp = ev.timeStamp; - timeout = setTimeout( - () => { - hasLongPressed = true; - handler(ev); - }, - (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY - ); - } - function onMove(ev) { - var _a2, _b2, _c, _d; - if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) - return; - if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false) - return; - if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - const dx = ev.x - posStart.x; - const dy = ev.y - posStart.y; - const distance = Math.sqrt(dx * dx + dy * dy); - if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD)) - clear(); - } - const listenerOptions = { - capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture, - once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once - }; - const cleanup = [ - useEventListener(elementRef, "pointerdown", onDown, listenerOptions), - useEventListener(elementRef, "pointermove", onMove, listenerOptions), - useEventListener(elementRef, ["pointerup", "pointerleave"], onRelease, listenerOptions) - ]; - const stop = () => cleanup.forEach((fn) => fn()); - return stop; -} -function isFocusedElementEditable() { - const { activeElement, body } = document; - if (!activeElement) - return false; - if (activeElement === body) - return false; - switch (activeElement.tagName) { - case "INPUT": - case "TEXTAREA": - return true; - } - return activeElement.hasAttribute("contenteditable"); -} -function isTypedCharValid({ - keyCode, - metaKey, - ctrlKey, - altKey -}) { - if (metaKey || ctrlKey || altKey) - return false; - if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) - return true; - if (keyCode >= 65 && keyCode <= 90) - return true; - return false; -} -function onStartTyping(callback, options = {}) { - const { document: document2 = defaultDocument } = options; - const keydown = (event) => { - if (!isFocusedElementEditable() && isTypedCharValid(event)) { - callback(event); - } - }; - if (document2) - useEventListener(document2, "keydown", keydown, { passive: true }); -} -function templateRef(key, initialValue = null) { - const instance = getCurrentInstance(); - let _trigger = () => { - }; - const element = customRef((track, trigger) => { - _trigger = trigger; - return { - get() { - var _a, _b; - track(); - return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue; - }, - set() { - } - }; - }); - tryOnMounted(_trigger); - onUpdated(_trigger); - return element; -} -function useActiveElement(options = {}) { - var _a; - const { - window: window2 = defaultWindow, - deep = true, - triggerOnRemoval = false - } = options; - const document2 = (_a = options.document) != null ? _a : window2 == null ? void 0 : window2.document; - const getDeepActiveElement = () => { - var _a2; - let element = document2 == null ? void 0 : document2.activeElement; - if (deep) { - while (element == null ? void 0 : element.shadowRoot) - element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement; - } - return element; - }; - const activeElement = shallowRef(); - const trigger = () => { - activeElement.value = getDeepActiveElement(); - }; - if (window2) { - const listenerOptions = { - capture: true, - passive: true - }; - useEventListener( - window2, - "blur", - (event) => { - if (event.relatedTarget !== null) - return; - trigger(); - }, - listenerOptions - ); - useEventListener( - window2, - "focus", - trigger, - listenerOptions - ); - } - if (triggerOnRemoval) { - onElementRemoval(activeElement, trigger, { document: document2 }); - } - trigger(); - return activeElement; -} -function useRafFn(fn, options = {}) { - const { - immediate = true, - fpsLimit = void 0, - window: window2 = defaultWindow, - once = false - } = options; - const isActive = shallowRef(false); - const intervalLimit = computed(() => { - return fpsLimit ? 1e3 / toValue(fpsLimit) : null; - }); - let previousFrameTimestamp = 0; - let rafId = null; - function loop(timestamp2) { - if (!isActive.value || !window2) - return; - if (!previousFrameTimestamp) - previousFrameTimestamp = timestamp2; - const delta = timestamp2 - previousFrameTimestamp; - if (intervalLimit.value && delta < intervalLimit.value) { - rafId = window2.requestAnimationFrame(loop); - return; - } - previousFrameTimestamp = timestamp2; - fn({ delta, timestamp: timestamp2 }); - if (once) { - isActive.value = false; - rafId = null; - return; - } - rafId = window2.requestAnimationFrame(loop); - } - function resume() { - if (!isActive.value && window2) { - isActive.value = true; - previousFrameTimestamp = 0; - rafId = window2.requestAnimationFrame(loop); - } - } - function pause() { - isActive.value = false; - if (rafId != null && window2) { - window2.cancelAnimationFrame(rafId); - rafId = null; - } - } - if (immediate) - resume(); - tryOnScopeDispose(pause); - return { - isActive: readonly(isActive), - pause, - resume - }; -} -function useAnimate(target, keyframes, options) { - let config; - let animateOptions; - if (isObject(options)) { - config = options; - animateOptions = objectOmit(options, ["window", "immediate", "commitStyles", "persist", "onReady", "onError"]); - } else { - config = { duration: options }; - animateOptions = options; - } - const { - window: window2 = defaultWindow, - immediate = true, - commitStyles, - persist, - playbackRate: _playbackRate = 1, - onReady, - onError = (e) => { - console.error(e); - } - } = config; - const isSupported = useSupported(() => window2 && HTMLElement && "animate" in HTMLElement.prototype); - const animate = shallowRef(void 0); - const store = shallowReactive({ - startTime: null, - currentTime: null, - timeline: null, - playbackRate: _playbackRate, - pending: false, - playState: immediate ? "idle" : "paused", - replaceState: "active" - }); - const pending = computed(() => store.pending); - const playState = computed(() => store.playState); - const replaceState = computed(() => store.replaceState); - const startTime = computed({ - get() { - return store.startTime; - }, - set(value) { - store.startTime = value; - if (animate.value) - animate.value.startTime = value; - } - }); - const currentTime = computed({ - get() { - return store.currentTime; - }, - set(value) { - store.currentTime = value; - if (animate.value) { - animate.value.currentTime = value; - syncResume(); - } - } - }); - const timeline = computed({ - get() { - return store.timeline; - }, - set(value) { - store.timeline = value; - if (animate.value) - animate.value.timeline = value; - } - }); - const playbackRate = computed({ - get() { - return store.playbackRate; - }, - set(value) { - store.playbackRate = value; - if (animate.value) - animate.value.playbackRate = value; - } - }); - const play = () => { - if (animate.value) { - try { - animate.value.play(); - syncResume(); - } catch (e) { - syncPause(); - onError(e); - } - } else { - update(); - } - }; - const pause = () => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.pause(); - syncPause(); - } catch (e) { - onError(e); - } - }; - const reverse = () => { - var _a; - if (!animate.value) - update(); - try { - (_a = animate.value) == null ? void 0 : _a.reverse(); - syncResume(); - } catch (e) { - syncPause(); - onError(e); - } - }; - const finish = () => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.finish(); - syncPause(); - } catch (e) { - onError(e); - } - }; - const cancel = () => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.cancel(); - syncPause(); - } catch (e) { - onError(e); - } - }; - watch(() => unrefElement(target), (el) => { - if (el) { - update(); - } else { - animate.value = void 0; - } - }); - watch(() => keyframes, (value) => { - if (animate.value) { - update(); - const targetEl = unrefElement(target); - if (targetEl) { - animate.value.effect = new KeyframeEffect( - targetEl, - toValue(value), - animateOptions - ); - } - } - }, { deep: true }); - tryOnMounted(() => update(true), false); - tryOnScopeDispose(cancel); - function update(init) { - const el = unrefElement(target); - if (!isSupported.value || !el) - return; - if (!animate.value) - animate.value = el.animate(toValue(keyframes), animateOptions); - if (persist) - animate.value.persist(); - if (_playbackRate !== 1) - animate.value.playbackRate = _playbackRate; - if (init && !immediate) - animate.value.pause(); - else - syncResume(); - onReady == null ? void 0 : onReady(animate.value); - } - const listenerOptions = { passive: true }; - useEventListener(animate, ["cancel", "finish", "remove"], syncPause, listenerOptions); - useEventListener(animate, "finish", () => { - var _a; - if (commitStyles) - (_a = animate.value) == null ? void 0 : _a.commitStyles(); - }, listenerOptions); - const { resume: resumeRef, pause: pauseRef } = useRafFn(() => { - if (!animate.value) - return; - store.pending = animate.value.pending; - store.playState = animate.value.playState; - store.replaceState = animate.value.replaceState; - store.startTime = animate.value.startTime; - store.currentTime = animate.value.currentTime; - store.timeline = animate.value.timeline; - store.playbackRate = animate.value.playbackRate; - }, { immediate: false }); - function syncResume() { - if (isSupported.value) - resumeRef(); - } - function syncPause() { - if (isSupported.value && window2) - window2.requestAnimationFrame(pauseRef); - } - return { - isSupported, - animate, - // actions - play, - pause, - reverse, - finish, - cancel, - // state - pending, - playState, - replaceState, - startTime, - currentTime, - timeline, - playbackRate - }; -} -function useAsyncQueue(tasks, options) { - const { - interrupt = true, - onError = noop, - onFinished = noop, - signal - } = options || {}; - const promiseState = { - aborted: "aborted", - fulfilled: "fulfilled", - pending: "pending", - rejected: "rejected" - }; - const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null })); - const result = reactive(initialResult); - const activeIndex = shallowRef(-1); - if (!tasks || tasks.length === 0) { - onFinished(); - return { - activeIndex, - result - }; - } - function updateResult(state, res) { - activeIndex.value++; - result[activeIndex.value].data = res; - result[activeIndex.value].state = state; - } - tasks.reduce((prev, curr) => { - return prev.then((prevRes) => { - var _a; - if (signal == null ? void 0 : signal.aborted) { - updateResult(promiseState.aborted, new Error("aborted")); - return; - } - if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) { - onFinished(); - return; - } - const done = curr(prevRes).then((currentRes) => { - updateResult(promiseState.fulfilled, currentRes); - if (activeIndex.value === tasks.length - 1) - onFinished(); - return currentRes; - }); - if (!signal) - return done; - return Promise.race([done, whenAborted(signal)]); - }).catch((e) => { - if (signal == null ? void 0 : signal.aborted) { - updateResult(promiseState.aborted, e); - return e; - } - updateResult(promiseState.rejected, e); - onError(); - return e; - }); - }, Promise.resolve()); - return { - activeIndex, - result - }; -} -function whenAborted(signal) { - return new Promise((resolve, reject) => { - const error = new Error("aborted"); - if (signal.aborted) - reject(error); - else - signal.addEventListener("abort", () => reject(error), { once: true }); - }); -} -function useAsyncState(promise, initialState, options) { - const { - immediate = true, - delay = 0, - onError = noop, - onSuccess = noop, - resetOnExecute = true, - shallow = true, - throwError - } = options != null ? options : {}; - const state = shallow ? shallowRef(initialState) : ref(initialState); - const isReady = shallowRef(false); - const isLoading = shallowRef(false); - const error = shallowRef(void 0); - async function execute(delay2 = 0, ...args) { - if (resetOnExecute) - state.value = initialState; - error.value = void 0; - isReady.value = false; - isLoading.value = true; - if (delay2 > 0) - await promiseTimeout(delay2); - const _promise = typeof promise === "function" ? promise(...args) : promise; - try { - const data = await _promise; - state.value = data; - isReady.value = true; - onSuccess(data); - } catch (e) { - error.value = e; - onError(e); - if (throwError) - throw e; - } finally { - isLoading.value = false; - } - return state.value; - } - if (immediate) { - execute(delay); - } - const shell = { - state, - isReady, - isLoading, - error, - execute - }; - function waitUntilIsLoaded() { - return new Promise((resolve, reject) => { - until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject); - }); - } - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilIsLoaded().then(onFulfilled, onRejected); - } - }; -} -var defaults = { - array: (v) => JSON.stringify(v), - object: (v) => JSON.stringify(v), - set: (v) => JSON.stringify(Array.from(v)), - map: (v) => JSON.stringify(Object.fromEntries(v)), - null: () => "" -}; -function getDefaultSerialization(target) { - if (!target) - return defaults.null; - if (target instanceof Map) - return defaults.map; - else if (target instanceof Set) - return defaults.set; - else if (Array.isArray(target)) - return defaults.array; - else - return defaults.object; -} -function useBase64(target, options) { - const base64 = shallowRef(""); - const promise = shallowRef(); - function execute() { - if (!isClient) - return; - promise.value = new Promise((resolve, reject) => { - try { - const _target = toValue(target); - if (_target == null) { - resolve(""); - } else if (typeof _target === "string") { - resolve(blobToBase64(new Blob([_target], { type: "text/plain" }))); - } else if (_target instanceof Blob) { - resolve(blobToBase64(_target)); - } else if (_target instanceof ArrayBuffer) { - resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target)))); - } else if (_target instanceof HTMLCanvasElement) { - resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality)); - } else if (_target instanceof HTMLImageElement) { - const img = _target.cloneNode(false); - img.crossOrigin = "Anonymous"; - imgLoaded(img).then(() => { - const canvas = document.createElement("canvas"); - const ctx = canvas.getContext("2d"); - canvas.width = img.width; - canvas.height = img.height; - ctx.drawImage(img, 0, 0, canvas.width, canvas.height); - resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality)); - }).catch(reject); - } else if (typeof _target === "object") { - const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target); - const serialized = _serializeFn(_target); - return resolve(blobToBase64(new Blob([serialized], { type: "application/json" }))); - } else { - reject(new Error("target is unsupported types")); - } - } catch (error) { - reject(error); - } - }); - promise.value.then((res) => { - base64.value = (options == null ? void 0 : options.dataUrl) === false ? res.replace(/^data:.*?;base64,/, "") : res; - }); - return promise.value; - } - if (isRef(target) || typeof target === "function") - watch(target, execute, { immediate: true }); - else - execute(); - return { - base64, - promise, - execute - }; -} -function imgLoaded(img) { - return new Promise((resolve, reject) => { - if (!img.complete) { - img.onload = () => { - resolve(); - }; - img.onerror = reject; - } else { - resolve(); - } - }); -} -function blobToBase64(blob) { - return new Promise((resolve, reject) => { - const fr = new FileReader(); - fr.onload = (e) => { - resolve(e.target.result); - }; - fr.onerror = reject; - fr.readAsDataURL(blob); - }); -} -function useBattery(options = {}) { - const { navigator: navigator2 = defaultNavigator } = options; - const events2 = ["chargingchange", "chargingtimechange", "dischargingtimechange", "levelchange"]; - const isSupported = useSupported(() => navigator2 && "getBattery" in navigator2 && typeof navigator2.getBattery === "function"); - const charging = shallowRef(false); - const chargingTime = shallowRef(0); - const dischargingTime = shallowRef(0); - const level = shallowRef(1); - let battery; - function updateBatteryInfo() { - charging.value = this.charging; - chargingTime.value = this.chargingTime || 0; - dischargingTime.value = this.dischargingTime || 0; - level.value = this.level; - } - if (isSupported.value) { - navigator2.getBattery().then((_battery) => { - battery = _battery; - updateBatteryInfo.call(battery); - useEventListener(battery, events2, updateBatteryInfo, { passive: true }); - }); - } - return { - isSupported, - charging, - chargingTime, - dischargingTime, - level - }; -} -function useBluetooth(options) { - let { - acceptAllDevices = false - } = options || {}; - const { - filters = void 0, - optionalServices = void 0, - navigator: navigator2 = defaultNavigator - } = options || {}; - const isSupported = useSupported(() => navigator2 && "bluetooth" in navigator2); - const device = shallowRef(); - const error = shallowRef(null); - watch(device, () => { - connectToBluetoothGATTServer(); - }); - async function requestDevice() { - if (!isSupported.value) - return; - error.value = null; - if (filters && filters.length > 0) - acceptAllDevices = false; - try { - device.value = await (navigator2 == null ? void 0 : navigator2.bluetooth.requestDevice({ - acceptAllDevices, - filters, - optionalServices - })); - } catch (err) { - error.value = err; - } - } - const server = shallowRef(); - const isConnected = shallowRef(false); - function reset() { - isConnected.value = false; - device.value = void 0; - server.value = void 0; - } - async function connectToBluetoothGATTServer() { - error.value = null; - if (device.value && device.value.gatt) { - useEventListener(device, "gattserverdisconnected", reset, { passive: true }); - try { - server.value = await device.value.gatt.connect(); - isConnected.value = server.value.connected; - } catch (err) { - error.value = err; - } - } - } - tryOnMounted(() => { - var _a; - if (device.value) - (_a = device.value.gatt) == null ? void 0 : _a.connect(); - }); - tryOnScopeDispose(() => { - var _a; - if (device.value) - (_a = device.value.gatt) == null ? void 0 : _a.disconnect(); - }); - return { - isSupported, - isConnected: readonly(isConnected), - // Device: - device, - requestDevice, - // Server: - server, - // Errors: - error - }; -} -var ssrWidthSymbol = Symbol("vueuse-ssr-width"); -function useSSRWidth() { - const ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null; - return typeof ssrWidth === "number" ? ssrWidth : void 0; -} -function provideSSRWidth(width, app) { - if (app !== void 0) { - app.provide(ssrWidthSymbol, width); - } else { - provideLocal(ssrWidthSymbol, width); - } -} -function useMediaQuery(query, options = {}) { - const { window: window2 = defaultWindow, ssrWidth = useSSRWidth() } = options; - const isSupported = useSupported(() => window2 && "matchMedia" in window2 && typeof window2.matchMedia === "function"); - const ssrSupport = shallowRef(typeof ssrWidth === "number"); - const mediaQuery = shallowRef(); - const matches = shallowRef(false); - const handler = (event) => { - matches.value = event.matches; - }; - watchEffect(() => { - if (ssrSupport.value) { - ssrSupport.value = !isSupported.value; - const queryStrings = toValue(query).split(","); - matches.value = queryStrings.some((queryString) => { - const not = queryString.includes("not all"); - const minWidth = queryString.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/); - const maxWidth = queryString.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/); - let res = Boolean(minWidth || maxWidth); - if (minWidth && res) { - res = ssrWidth >= pxValue(minWidth[1]); - } - if (maxWidth && res) { - res = ssrWidth <= pxValue(maxWidth[1]); - } - return not ? !res : res; - }); - return; - } - if (!isSupported.value) - return; - mediaQuery.value = window2.matchMedia(toValue(query)); - matches.value = mediaQuery.value.matches; - }); - useEventListener(mediaQuery, "change", handler, { passive: true }); - return computed(() => matches.value); -} -var breakpointsTailwind = { - "sm": 640, - "md": 768, - "lg": 1024, - "xl": 1280, - "2xl": 1536 -}; -var breakpointsBootstrapV5 = { - xs: 0, - sm: 576, - md: 768, - lg: 992, - xl: 1200, - xxl: 1400 -}; -var breakpointsVuetifyV2 = { - xs: 0, - sm: 600, - md: 960, - lg: 1264, - xl: 1904 -}; -var breakpointsVuetifyV3 = { - xs: 0, - sm: 600, - md: 960, - lg: 1280, - xl: 1920, - xxl: 2560 -}; -var breakpointsVuetify = breakpointsVuetifyV2; -var breakpointsAntDesign = { - xs: 480, - sm: 576, - md: 768, - lg: 992, - xl: 1200, - xxl: 1600 -}; -var breakpointsQuasar = { - xs: 0, - sm: 600, - md: 1024, - lg: 1440, - xl: 1920 -}; -var breakpointsSematic = { - mobileS: 320, - mobileM: 375, - mobileL: 425, - tablet: 768, - laptop: 1024, - laptopL: 1440, - desktop4K: 2560 -}; -var breakpointsMasterCss = { - "3xs": 360, - "2xs": 480, - "xs": 600, - "sm": 768, - "md": 1024, - "lg": 1280, - "xl": 1440, - "2xl": 1600, - "3xl": 1920, - "4xl": 2560 -}; -var breakpointsPrimeFlex = { - sm: 576, - md: 768, - lg: 992, - xl: 1200 -}; -var breakpointsElement = { - xs: 0, - sm: 768, - md: 992, - lg: 1200, - xl: 1920 -}; -function useBreakpoints(breakpoints, options = {}) { - function getValue2(k, delta) { - let v = toValue(breakpoints[toValue(k)]); - if (delta != null) - v = increaseWithUnit(v, delta); - if (typeof v === "number") - v = `${v}px`; - return v; - } - const { window: window2 = defaultWindow, strategy = "min-width", ssrWidth = useSSRWidth() } = options; - const ssrSupport = typeof ssrWidth === "number"; - const mounted = ssrSupport ? shallowRef(false) : { value: true }; - if (ssrSupport) { - tryOnMounted(() => mounted.value = !!window2); - } - function match(query, size) { - if (!mounted.value && ssrSupport) { - return query === "min" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size); - } - if (!window2) - return false; - return window2.matchMedia(`(${query}-width: ${size})`).matches; - } - const greaterOrEqual = (k) => { - return useMediaQuery(() => `(min-width: ${getValue2(k)})`, options); - }; - const smallerOrEqual = (k) => { - return useMediaQuery(() => `(max-width: ${getValue2(k)})`, options); - }; - const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => { - Object.defineProperty(shortcuts, k, { - get: () => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k), - enumerable: true, - configurable: true - }); - return shortcuts; - }, {}); - function current() { - const points = Object.keys(breakpoints).map((k) => [k, shortcutMethods[k], pxValue(getValue2(k))]).sort((a, b) => a[2] - b[2]); - return computed(() => points.filter(([, v]) => v.value).map(([k]) => k)); - } - return Object.assign(shortcutMethods, { - greaterOrEqual, - smallerOrEqual, - greater(k) { - return useMediaQuery(() => `(min-width: ${getValue2(k, 0.1)})`, options); - }, - smaller(k) { - return useMediaQuery(() => `(max-width: ${getValue2(k, -0.1)})`, options); - }, - between(a, b) { - return useMediaQuery(() => `(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`, options); - }, - isGreater(k) { - return match("min", getValue2(k, 0.1)); - }, - isGreaterOrEqual(k) { - return match("min", getValue2(k)); - }, - isSmaller(k) { - return match("max", getValue2(k, -0.1)); - }, - isSmallerOrEqual(k) { - return match("max", getValue2(k)); - }, - isInBetween(a, b) { - return match("min", getValue2(a)) && match("max", getValue2(b, -0.1)); - }, - current, - active() { - const bps = current(); - return computed(() => bps.value.length === 0 ? "" : bps.value.at(strategy === "min-width" ? -1 : 0)); - } - }); -} -function useBroadcastChannel(options) { - const { - name, - window: window2 = defaultWindow - } = options; - const isSupported = useSupported(() => window2 && "BroadcastChannel" in window2); - const isClosed = shallowRef(false); - const channel = ref(); - const data = ref(); - const error = shallowRef(null); - const post = (data2) => { - if (channel.value) - channel.value.postMessage(data2); - }; - const close = () => { - if (channel.value) - channel.value.close(); - isClosed.value = true; - }; - if (isSupported.value) { - tryOnMounted(() => { - error.value = null; - channel.value = new BroadcastChannel(name); - const listenerOptions = { - passive: true - }; - useEventListener(channel, "message", (e) => { - data.value = e.data; - }, listenerOptions); - useEventListener(channel, "messageerror", (e) => { - error.value = e; - }, listenerOptions); - useEventListener(channel, "close", () => { - isClosed.value = true; - }, listenerOptions); - }); - } - tryOnScopeDispose(() => { - close(); - }); - return { - isSupported, - channel, - data, - post, - close, - error, - isClosed - }; -} -var WRITABLE_PROPERTIES = [ - "hash", - "host", - "hostname", - "href", - "pathname", - "port", - "protocol", - "search" -]; -function useBrowserLocation(options = {}) { - const { window: window2 = defaultWindow } = options; - const refs = Object.fromEntries( - WRITABLE_PROPERTIES.map((key) => [key, ref()]) - ); - for (const [key, ref2] of objectEntries(refs)) { - watch(ref2, (value) => { - if (!(window2 == null ? void 0 : window2.location) || window2.location[key] === value) - return; - window2.location[key] = value; - }); - } - const buildState = (trigger) => { - var _a; - const { state: state2, length } = (window2 == null ? void 0 : window2.history) || {}; - const { origin } = (window2 == null ? void 0 : window2.location) || {}; - for (const key of WRITABLE_PROPERTIES) - refs[key].value = (_a = window2 == null ? void 0 : window2.location) == null ? void 0 : _a[key]; - return reactive({ - trigger, - state: state2, - length, - origin, - ...refs - }); - }; - const state = ref(buildState("load")); - if (window2) { - const listenerOptions = { passive: true }; - useEventListener(window2, "popstate", () => state.value = buildState("popstate"), listenerOptions); - useEventListener(window2, "hashchange", () => state.value = buildState("hashchange"), listenerOptions); - } - return state; -} -function useCached(refValue, comparator = (a, b) => a === b, options) { - const { deepRefs = true, ...watchOptions } = options || {}; - const cachedValue = createRef(refValue.value, deepRefs); - watch(() => refValue.value, (value) => { - if (!comparator(value, cachedValue.value)) - cachedValue.value = value; - }, watchOptions); - return cachedValue; -} -function usePermission(permissionDesc, options = {}) { - const { - controls = false, - navigator: navigator2 = defaultNavigator - } = options; - const isSupported = useSupported(() => navigator2 && "permissions" in navigator2); - const permissionStatus = shallowRef(); - const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc; - const state = shallowRef(); - const update = () => { - var _a, _b; - state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : "prompt"; - }; - useEventListener(permissionStatus, "change", update, { passive: true }); - const query = createSingletonPromise(async () => { - if (!isSupported.value) - return; - if (!permissionStatus.value) { - try { - permissionStatus.value = await navigator2.permissions.query(desc); - } catch (e) { - permissionStatus.value = void 0; - } finally { - update(); - } - } - if (controls) - return toRaw(permissionStatus.value); - }); - query(); - if (controls) { - return { - state, - isSupported, - query - }; - } else { - return state; - } -} -function useClipboard(options = {}) { - const { - navigator: navigator2 = defaultNavigator, - read = false, - source, - copiedDuring = 1500, - legacy = false - } = options; - const isClipboardApiSupported = useSupported(() => navigator2 && "clipboard" in navigator2); - const permissionRead = usePermission("clipboard-read"); - const permissionWrite = usePermission("clipboard-write"); - const isSupported = computed(() => isClipboardApiSupported.value || legacy); - const text = shallowRef(""); - const copied = shallowRef(false); - const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false }); - async function updateText() { - let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionRead.value)); - if (!useLegacy) { - try { - text.value = await navigator2.clipboard.readText(); - } catch (e) { - useLegacy = true; - } - } - if (useLegacy) { - text.value = legacyRead(); - } - } - if (isSupported.value && read) - useEventListener(["copy", "cut"], updateText, { passive: true }); - async function copy(value = toValue(source)) { - if (isSupported.value && value != null) { - let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionWrite.value)); - if (!useLegacy) { - try { - await navigator2.clipboard.writeText(value); - } catch (e) { - useLegacy = true; - } - } - if (useLegacy) - legacyCopy(value); - text.value = value; - copied.value = true; - timeout.start(); - } - } - function legacyCopy(value) { - const ta = document.createElement("textarea"); - ta.value = value != null ? value : ""; - ta.style.position = "absolute"; - ta.style.opacity = "0"; - document.body.appendChild(ta); - ta.select(); - document.execCommand("copy"); - ta.remove(); - } - function legacyRead() { - var _a, _b, _c; - return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : ""; - } - function isAllowed(status) { - return status === "granted" || status === "prompt"; - } - return { - isSupported, - text, - copied, - copy - }; -} -function useClipboardItems(options = {}) { - const { - navigator: navigator2 = defaultNavigator, - read = false, - source, - copiedDuring = 1500 - } = options; - const isSupported = useSupported(() => navigator2 && "clipboard" in navigator2); - const content = ref([]); - const copied = shallowRef(false); - const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false }); - function updateContent() { - if (isSupported.value) { - navigator2.clipboard.read().then((items) => { - content.value = items; - }); - } - } - if (isSupported.value && read) - useEventListener(["copy", "cut"], updateContent, { passive: true }); - async function copy(value = toValue(source)) { - if (isSupported.value && value != null) { - await navigator2.clipboard.write(value); - content.value = value; - copied.value = true; - timeout.start(); - } - } - return { - isSupported, - content, - copied, - copy - }; -} -function cloneFnJSON(source) { - return JSON.parse(JSON.stringify(source)); -} -function useCloned(source, options = {}) { - const cloned = ref({}); - const isModified = shallowRef(false); - let _lastSync = false; - const { - manual, - clone = cloneFnJSON, - // watch options - deep = true, - immediate = true - } = options; - watch(cloned, () => { - if (_lastSync) { - _lastSync = false; - return; - } - isModified.value = true; - }, { - deep: true, - flush: "sync" - }); - function sync() { - _lastSync = true; - isModified.value = false; - cloned.value = clone(toValue(source)); - } - if (!manual && (isRef(source) || typeof source === "function")) { - watch(source, sync, { - ...options, - deep, - immediate - }); - } else { - sync(); - } - return { cloned, isModified, sync }; -} -var _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -var globalKey = "__vueuse_ssr_handlers__"; -var handlers = getHandlers(); -function getHandlers() { - if (!(globalKey in _global)) - _global[globalKey] = _global[globalKey] || {}; - return _global[globalKey]; -} -function getSSRHandler(key, fallback) { - return handlers[key] || fallback; -} -function setSSRHandler(key, fn) { - handlers[key] = fn; -} -function usePreferredDark(options) { - return useMediaQuery("(prefers-color-scheme: dark)", options); -} -function guessSerializerType(rawInit) { - return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; -} -var StorageSerializers = { - boolean: { - read: (v) => v === "true", - write: (v) => String(v) - }, - object: { - read: (v) => JSON.parse(v), - write: (v) => JSON.stringify(v) - }, - number: { - read: (v) => Number.parseFloat(v), - write: (v) => String(v) - }, - any: { - read: (v) => v, - write: (v) => String(v) - }, - string: { - read: (v) => v, - write: (v) => String(v) - }, - map: { - read: (v) => new Map(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v.entries())) - }, - set: { - read: (v) => new Set(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v)) - }, - date: { - read: (v) => new Date(v), - write: (v) => v.toISOString() - } -}; -var customStorageEventName = "vueuse-storage"; -function useStorage(key, defaults2, storage, options = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults = false, - shallow, - window: window2 = defaultWindow, - eventFilter, - onError = (e) => { - console.error(e); - }, - initOnMounted - } = options; - const data = (shallow ? shallowRef : ref)(typeof defaults2 === "function" ? defaults2() : defaults2); - const keyComputed = computed(() => toValue(key)); - if (!storage) { - try { - storage = getSSRHandler("getDefaultStorage", () => { - var _a2; - return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - if (!storage) - return data; - const rawInit = toValue(defaults2); - const type = guessSerializerType(rawInit); - const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type]; - const { pause: pauseWatch, resume: resumeWatch } = watchPausable( - data, - () => write(data.value), - { flush, deep, eventFilter } - ); - watch(keyComputed, () => update(), { flush }); - if (window2 && listenToStorageChanges) { - tryOnMounted(() => { - if (storage instanceof Storage) - useEventListener(window2, "storage", update, { passive: true }); - else - useEventListener(window2, customStorageEventName, updateFromCustomEvent); - if (initOnMounted) - update(); - }); - } - if (!initOnMounted) - update(); - function dispatchWriteEvent(oldValue, newValue) { - if (window2) { - const payload = { - key: keyComputed.value, - oldValue, - newValue, - storageArea: storage - }; - window2.dispatchEvent(storage instanceof Storage ? new StorageEvent("storage", payload) : new CustomEvent(customStorageEventName, { - detail: payload - })); - } - } - function write(v) { - try { - const oldValue = storage.getItem(keyComputed.value); - if (v == null) { - dispatchWriteEvent(oldValue, null); - storage.removeItem(keyComputed.value); - } else { - const serialized = serializer.write(v); - if (oldValue !== serialized) { - storage.setItem(keyComputed.value, serialized); - dispatchWriteEvent(oldValue, serialized); - } - } - } catch (e) { - onError(e); - } - } - function read(event) { - const rawValue = event ? event.newValue : storage.getItem(keyComputed.value); - if (rawValue == null) { - if (writeDefaults && rawInit != null) - storage.setItem(keyComputed.value, serializer.write(rawInit)); - return rawInit; - } else if (!event && mergeDefaults) { - const value = serializer.read(rawValue); - if (typeof mergeDefaults === "function") - return mergeDefaults(value, rawInit); - else if (type === "object" && !Array.isArray(value)) - return { ...rawInit, ...value }; - return value; - } else if (typeof rawValue !== "string") { - return rawValue; - } else { - return serializer.read(rawValue); - } - } - function update(event) { - if (event && event.storageArea !== storage) - return; - if (event && event.key == null) { - data.value = rawInit; - return; - } - if (event && event.key !== keyComputed.value) - return; - pauseWatch(); - try { - if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value)) - data.value = read(event); - } catch (e) { - onError(e); - } finally { - if (event) - nextTick(resumeWatch); - else - resumeWatch(); - } - } - function updateFromCustomEvent(event) { - update(event.detail); - } - return data; -} -var CSS_DISABLE_TRANS = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; -function useColorMode(options = {}) { - const { - selector = "html", - attribute = "class", - initialValue = "auto", - window: window2 = defaultWindow, - storage, - storageKey = "vueuse-color-scheme", - listenToStorageChanges = true, - storageRef, - emitAuto, - disableTransition = true - } = options; - const modes = { - auto: "", - light: "light", - dark: "dark", - ...options.modes || {} - }; - const preferredDark = usePreferredDark({ window: window2 }); - const system = computed(() => preferredDark.value ? "dark" : "light"); - const store = storageRef || (storageKey == null ? toRef2(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges })); - const state = computed(() => store.value === "auto" ? system.value : store.value); - const updateHTMLAttrs = getSSRHandler( - "updateHTMLAttrs", - (selector2, attribute2, value) => { - const el = typeof selector2 === "string" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2); - if (!el) - return; - const classesToAdd = /* @__PURE__ */ new Set(); - const classesToRemove = /* @__PURE__ */ new Set(); - let attributeToChange = null; - if (attribute2 === "class") { - const current = value.split(/\s/g); - Object.values(modes).flatMap((i) => (i || "").split(/\s/g)).filter(Boolean).forEach((v) => { - if (current.includes(v)) - classesToAdd.add(v); - else - classesToRemove.add(v); - }); - } else { - attributeToChange = { key: attribute2, value }; - } - if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null) - return; - let style; - if (disableTransition) { - style = window2.document.createElement("style"); - style.appendChild(document.createTextNode(CSS_DISABLE_TRANS)); - window2.document.head.appendChild(style); - } - for (const c of classesToAdd) { - el.classList.add(c); - } - for (const c of classesToRemove) { - el.classList.remove(c); - } - if (attributeToChange) { - el.setAttribute(attributeToChange.key, attributeToChange.value); - } - if (disableTransition) { - window2.getComputedStyle(style).opacity; - document.head.removeChild(style); - } - } - ); - function defaultOnChanged(mode) { - var _a; - updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode); - } - function onChanged(mode) { - if (options.onChanged) - options.onChanged(mode, defaultOnChanged); - else - defaultOnChanged(mode); - } - watch(state, onChanged, { flush: "post", immediate: true }); - tryOnMounted(() => onChanged(state.value)); - const auto = computed({ - get() { - return emitAuto ? store.value : state.value; - }, - set(v) { - store.value = v; - } - }); - return Object.assign(auto, { store, system, state }); -} -function useConfirmDialog(revealed = shallowRef(false)) { - const confirmHook = createEventHook(); - const cancelHook = createEventHook(); - const revealHook = createEventHook(); - let _resolve = noop; - const reveal = (data) => { - revealHook.trigger(data); - revealed.value = true; - return new Promise((resolve) => { - _resolve = resolve; - }); - }; - const confirm = (data) => { - revealed.value = false; - confirmHook.trigger(data); - _resolve({ data, isCanceled: false }); - }; - const cancel = (data) => { - revealed.value = false; - cancelHook.trigger(data); - _resolve({ data, isCanceled: true }); - }; - return { - isRevealed: computed(() => revealed.value), - reveal, - confirm, - cancel, - onReveal: revealHook.on, - onConfirm: confirmHook.on, - onCancel: cancelHook.on - }; -} -function useCountdown(initialCountdown, options) { - var _a, _b; - const remaining = shallowRef(toValue(initialCountdown)); - const intervalController = useIntervalFn(() => { - var _a2, _b2; - const value = remaining.value - 1; - remaining.value = value < 0 ? 0 : value; - (_a2 = options == null ? void 0 : options.onTick) == null ? void 0 : _a2.call(options); - if (remaining.value <= 0) { - intervalController.pause(); - (_b2 = options == null ? void 0 : options.onComplete) == null ? void 0 : _b2.call(options); - } - }, (_a = options == null ? void 0 : options.interval) != null ? _a : 1e3, { immediate: (_b = options == null ? void 0 : options.immediate) != null ? _b : false }); - const reset = (countdown) => { - var _a2; - remaining.value = (_a2 = toValue(countdown)) != null ? _a2 : toValue(initialCountdown); - }; - const stop = () => { - intervalController.pause(); - reset(); - }; - const resume = () => { - if (!intervalController.isActive.value) { - if (remaining.value > 0) { - intervalController.resume(); - } - } - }; - const start = (countdown) => { - reset(countdown); - intervalController.resume(); - }; - return { - remaining, - reset, - stop, - start, - pause: intervalController.pause, - resume, - isActive: intervalController.isActive - }; -} -function useCssVar(prop, target, options = {}) { - const { window: window2 = defaultWindow, initialValue, observe = false } = options; - const variable = shallowRef(initialValue); - const elRef = computed(() => { - var _a; - return unrefElement(target) || ((_a = window2 == null ? void 0 : window2.document) == null ? void 0 : _a.documentElement); - }); - function updateCssVar() { - var _a; - const key = toValue(prop); - const el = toValue(elRef); - if (el && window2 && key) { - const value = (_a = window2.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim(); - variable.value = value || variable.value || initialValue; - } - } - if (observe) { - useMutationObserver(elRef, updateCssVar, { - attributeFilter: ["style", "class"], - window: window2 - }); - } - watch( - [elRef, () => toValue(prop)], - (_, old) => { - if (old[0] && old[1]) - old[0].style.removeProperty(old[1]); - updateCssVar(); - }, - { immediate: true } - ); - watch( - [variable, elRef], - ([val, el]) => { - const raw_prop = toValue(prop); - if ((el == null ? void 0 : el.style) && raw_prop) { - if (val == null) - el.style.removeProperty(raw_prop); - else - el.style.setProperty(raw_prop, val); - } - }, - { immediate: true } - ); - return variable; -} -function useCurrentElement(rootComponent) { - const vm = getCurrentInstance(); - const currentElement = computedWithControl( - () => null, - () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el - ); - onUpdated(currentElement.trigger); - onMounted(currentElement.trigger); - return currentElement; -} -function useCycleList(list, options) { - const state = shallowRef(getInitialValue()); - const listRef = toRef2(list); - const index = computed({ - get() { - var _a; - const targetList = listRef.value; - let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value); - if (index2 < 0) - index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0; - return index2; - }, - set(v) { - set2(v); - } - }); - function set2(i) { - const targetList = listRef.value; - const length = targetList.length; - const index2 = (i % length + length) % length; - const value = targetList[index2]; - state.value = value; - return value; - } - function shift(delta = 1) { - return set2(index.value + delta); - } - function next(n = 1) { - return shift(n); - } - function prev(n = 1) { - return shift(-n); - } - function getInitialValue() { - var _a, _b; - return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0; - } - watch(listRef, () => set2(index.value)); - return { - state, - index, - next, - prev, - go: set2 - }; -} -function useDark(options = {}) { - const { - valueDark = "dark", - valueLight = "" - } = options; - const mode = useColorMode({ - ...options, - onChanged: (mode2, defaultHandler) => { - var _a; - if (options.onChanged) - (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === "dark", defaultHandler, mode2); - else - defaultHandler(mode2); - }, - modes: { - dark: valueDark, - light: valueLight - } - }); - const system = computed(() => mode.system.value); - const isDark = computed({ - get() { - return mode.value === "dark"; - }, - set(v) { - const modeVal = v ? "dark" : "light"; - if (system.value === modeVal) - mode.value = "auto"; - else - mode.value = modeVal; - } - }); - return isDark; -} -function fnBypass(v) { - return v; -} -function fnSetSource(source, value) { - return source.value = value; -} -function defaultDump(clone) { - return clone ? typeof clone === "function" ? clone : cloneFnJSON : fnBypass; -} -function defaultParse(clone) { - return clone ? typeof clone === "function" ? clone : cloneFnJSON : fnBypass; -} -function useManualRefHistory(source, options = {}) { - const { - clone = false, - dump = defaultDump(clone), - parse = defaultParse(clone), - setSource = fnSetSource - } = options; - function _createHistoryRecord() { - return markRaw({ - snapshot: dump(source.value), - timestamp: timestamp() - }); - } - const last = ref(_createHistoryRecord()); - const undoStack = ref([]); - const redoStack = ref([]); - const _setSource = (record) => { - setSource(source, parse(record.snapshot)); - last.value = record; - }; - const commit = () => { - undoStack.value.unshift(last.value); - last.value = _createHistoryRecord(); - if (options.capacity && undoStack.value.length > options.capacity) - undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY); - if (redoStack.value.length) - redoStack.value.splice(0, redoStack.value.length); - }; - const clear = () => { - undoStack.value.splice(0, undoStack.value.length); - redoStack.value.splice(0, redoStack.value.length); - }; - const undo = () => { - const state = undoStack.value.shift(); - if (state) { - redoStack.value.unshift(last.value); - _setSource(state); - } - }; - const redo = () => { - const state = redoStack.value.shift(); - if (state) { - undoStack.value.unshift(last.value); - _setSource(state); - } - }; - const reset = () => { - _setSource(last.value); - }; - const history = computed(() => [last.value, ...undoStack.value]); - const canUndo = computed(() => undoStack.value.length > 0); - const canRedo = computed(() => redoStack.value.length > 0); - return { - source, - undoStack, - redoStack, - last, - history, - canUndo, - canRedo, - clear, - commit, - reset, - undo, - redo - }; -} -function useRefHistory(source, options = {}) { - const { - deep = false, - flush = "pre", - eventFilter - } = options; - const { - eventFilter: composedFilter, - pause, - resume: resumeTracking, - isActive: isTracking - } = pausableFilter(eventFilter); - const { - ignoreUpdates, - ignorePrevAsyncUpdates, - stop - } = watchIgnorable( - source, - commit, - { deep, flush, eventFilter: composedFilter } - ); - function setSource(source2, value) { - ignorePrevAsyncUpdates(); - ignoreUpdates(() => { - source2.value = value; - }); - } - const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource }); - const { clear, commit: manualCommit } = manualHistory; - function commit() { - ignorePrevAsyncUpdates(); - manualCommit(); - } - function resume(commitNow) { - resumeTracking(); - if (commitNow) - commit(); - } - function batch(fn) { - let canceled = false; - const cancel = () => canceled = true; - ignoreUpdates(() => { - fn(cancel); - }); - if (!canceled) - commit(); - } - function dispose() { - stop(); - clear(); - } - return { - ...manualHistory, - isTracking, - pause, - resume, - commit, - batch, - dispose - }; -} -function useDebouncedRefHistory(source, options = {}) { - const filter = options.debounce ? debounceFilter(options.debounce) : void 0; - const history = useRefHistory(source, { ...options, eventFilter: filter }); - return { - ...history - }; -} -function useDeviceMotion(options = {}) { - const { - window: window2 = defaultWindow, - requestPermissions = false, - eventFilter = bypassFilter - } = options; - const isSupported = useSupported(() => typeof DeviceMotionEvent !== "undefined"); - const requirePermissions = useSupported(() => isSupported.value && "requestPermission" in DeviceMotionEvent && typeof DeviceMotionEvent.requestPermission === "function"); - const permissionGranted = shallowRef(false); - const acceleration = ref({ x: null, y: null, z: null }); - const rotationRate = ref({ alpha: null, beta: null, gamma: null }); - const interval = shallowRef(0); - const accelerationIncludingGravity = ref({ - x: null, - y: null, - z: null - }); - function init() { - if (window2) { - const onDeviceMotion = createFilterWrapper( - eventFilter, - (event) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _i; - acceleration.value = { - x: ((_a = event.acceleration) == null ? void 0 : _a.x) || null, - y: ((_b = event.acceleration) == null ? void 0 : _b.y) || null, - z: ((_c = event.acceleration) == null ? void 0 : _c.z) || null - }; - accelerationIncludingGravity.value = { - x: ((_d = event.accelerationIncludingGravity) == null ? void 0 : _d.x) || null, - y: ((_e = event.accelerationIncludingGravity) == null ? void 0 : _e.y) || null, - z: ((_f = event.accelerationIncludingGravity) == null ? void 0 : _f.z) || null - }; - rotationRate.value = { - alpha: ((_g = event.rotationRate) == null ? void 0 : _g.alpha) || null, - beta: ((_h = event.rotationRate) == null ? void 0 : _h.beta) || null, - gamma: ((_i = event.rotationRate) == null ? void 0 : _i.gamma) || null - }; - interval.value = event.interval; - } - ); - useEventListener(window2, "devicemotion", onDeviceMotion, { passive: true }); - } - } - const ensurePermissions = async () => { - if (!requirePermissions.value) - permissionGranted.value = true; - if (permissionGranted.value) - return; - if (requirePermissions.value) { - const requestPermission = DeviceMotionEvent.requestPermission; - try { - const response = await requestPermission(); - if (response === "granted") { - permissionGranted.value = true; - init(); - } - } catch (error) { - console.error(error); - } - } - }; - if (isSupported.value) { - if (requestPermissions && requirePermissions.value) { - ensurePermissions().then(() => init()); - } else { - init(); - } - } - return { - acceleration, - accelerationIncludingGravity, - rotationRate, - interval, - isSupported, - requirePermissions, - ensurePermissions, - permissionGranted - }; -} -function useDeviceOrientation(options = {}) { - const { window: window2 = defaultWindow } = options; - const isSupported = useSupported(() => window2 && "DeviceOrientationEvent" in window2); - const isAbsolute = shallowRef(false); - const alpha = shallowRef(null); - const beta = shallowRef(null); - const gamma = shallowRef(null); - if (window2 && isSupported.value) { - useEventListener(window2, "deviceorientation", (event) => { - isAbsolute.value = event.absolute; - alpha.value = event.alpha; - beta.value = event.beta; - gamma.value = event.gamma; - }, { passive: true }); - } - return { - isSupported, - isAbsolute, - alpha, - beta, - gamma - }; -} -function useDevicePixelRatio(options = {}) { - const { - window: window2 = defaultWindow - } = options; - const pixelRatio = shallowRef(1); - const query = useMediaQuery(() => `(resolution: ${pixelRatio.value}dppx)`, options); - let stop = noop; - if (window2) { - stop = watchImmediate(query, () => pixelRatio.value = window2.devicePixelRatio); - } - return { - pixelRatio: readonly(pixelRatio), - stop - }; -} -function useDevicesList(options = {}) { - const { - navigator: navigator2 = defaultNavigator, - requestPermissions = false, - constraints = { audio: true, video: true }, - onUpdated: onUpdated2 - } = options; - const devices = ref([]); - const videoInputs = computed(() => devices.value.filter((i) => i.kind === "videoinput")); - const audioInputs = computed(() => devices.value.filter((i) => i.kind === "audioinput")); - const audioOutputs = computed(() => devices.value.filter((i) => i.kind === "audiooutput")); - const isSupported = useSupported(() => navigator2 && navigator2.mediaDevices && navigator2.mediaDevices.enumerateDevices); - const permissionGranted = shallowRef(false); - let stream; - async function update() { - if (!isSupported.value) - return; - devices.value = await navigator2.mediaDevices.enumerateDevices(); - onUpdated2 == null ? void 0 : onUpdated2(devices.value); - if (stream) { - stream.getTracks().forEach((t) => t.stop()); - stream = null; - } - } - async function ensurePermissions() { - const deviceName = constraints.video ? "camera" : "microphone"; - if (!isSupported.value) - return false; - if (permissionGranted.value) - return true; - const { state, query } = usePermission(deviceName, { controls: true }); - await query(); - if (state.value !== "granted") { - let granted = true; - try { - stream = await navigator2.mediaDevices.getUserMedia(constraints); - } catch (e) { - stream = null; - granted = false; - } - update(); - permissionGranted.value = granted; - } else { - permissionGranted.value = true; - } - return permissionGranted.value; - } - if (isSupported.value) { - if (requestPermissions) - ensurePermissions(); - useEventListener(navigator2.mediaDevices, "devicechange", update, { passive: true }); - update(); - } - return { - devices, - ensurePermissions, - permissionGranted, - videoInputs, - audioInputs, - audioOutputs, - isSupported - }; -} -function useDisplayMedia(options = {}) { - var _a; - const enabled = shallowRef((_a = options.enabled) != null ? _a : false); - const video = options.video; - const audio = options.audio; - const { navigator: navigator2 = defaultNavigator } = options; - const isSupported = useSupported(() => { - var _a2; - return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getDisplayMedia; - }); - const constraint = { audio, video }; - const stream = shallowRef(); - async function _start() { - var _a2; - if (!isSupported.value || stream.value) - return; - stream.value = await navigator2.mediaDevices.getDisplayMedia(constraint); - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => useEventListener(t, "ended", stop, { passive: true })); - return stream.value; - } - async function _stop() { - var _a2; - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); - stream.value = void 0; - } - function stop() { - _stop(); - enabled.value = false; - } - async function start() { - await _start(); - if (stream.value) - enabled.value = true; - return stream.value; - } - watch( - enabled, - (v) => { - if (v) - _start(); - else - _stop(); - }, - { immediate: true } - ); - return { - isSupported, - stream, - start, - stop, - enabled - }; -} -function useDocumentVisibility(options = {}) { - const { document: document2 = defaultDocument } = options; - if (!document2) - return shallowRef("visible"); - const visibility = shallowRef(document2.visibilityState); - useEventListener(document2, "visibilitychange", () => { - visibility.value = document2.visibilityState; - }, { passive: true }); - return visibility; -} -function useDraggable(target, options = {}) { - var _a; - const { - pointerTypes, - preventDefault: preventDefault2, - stopPropagation, - exact, - onMove, - onEnd, - onStart, - initialValue, - axis = "both", - draggingElement = defaultWindow, - containerElement, - handle: draggingHandle = target, - buttons = [0] - } = options; - const position = ref( - (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 } - ); - const pressedDelta = ref(); - const filterEvent = (e) => { - if (pointerTypes) - return pointerTypes.includes(e.pointerType); - return true; - }; - const handleEvent = (e) => { - if (toValue(preventDefault2)) - e.preventDefault(); - if (toValue(stopPropagation)) - e.stopPropagation(); - }; - const start = (e) => { - var _a2; - if (!toValue(buttons).includes(e.button)) - return; - if (toValue(options.disabled) || !filterEvent(e)) - return; - if (toValue(exact) && e.target !== toValue(target)) - return; - const container = toValue(containerElement); - const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container); - const targetRect = toValue(target).getBoundingClientRect(); - const pos = { - x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left), - y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top) - }; - if ((onStart == null ? void 0 : onStart(pos, e)) === false) - return; - pressedDelta.value = pos; - handleEvent(e); - }; - const move = (e) => { - if (toValue(options.disabled) || !filterEvent(e)) - return; - if (!pressedDelta.value) - return; - const container = toValue(containerElement); - const targetRect = toValue(target).getBoundingClientRect(); - let { x, y } = position.value; - if (axis === "x" || axis === "both") { - x = e.clientX - pressedDelta.value.x; - if (container) - x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width); - } - if (axis === "y" || axis === "both") { - y = e.clientY - pressedDelta.value.y; - if (container) - y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height); - } - position.value = { - x, - y - }; - onMove == null ? void 0 : onMove(position.value, e); - handleEvent(e); - }; - const end = (e) => { - if (toValue(options.disabled) || !filterEvent(e)) - return; - if (!pressedDelta.value) - return; - pressedDelta.value = void 0; - onEnd == null ? void 0 : onEnd(position.value, e); - handleEvent(e); - }; - if (isClient) { - const config = () => { - var _a2; - return { - capture: (_a2 = options.capture) != null ? _a2 : true, - passive: !toValue(preventDefault2) - }; - }; - useEventListener(draggingHandle, "pointerdown", start, config); - useEventListener(draggingElement, "pointermove", move, config); - useEventListener(draggingElement, "pointerup", end, config); - } - return { - ...toRefs2(position), - position, - isDragging: computed(() => !!pressedDelta.value), - style: computed( - () => `left:${position.value.x}px;top:${position.value.y}px;` - ) - }; -} -function useDropZone(target, options = {}) { - var _a, _b; - const isOverDropZone = shallowRef(false); - const files = shallowRef(null); - let counter = 0; - let isValid = true; - if (isClient) { - const _options = typeof options === "function" ? { onDrop: options } : options; - const multiple = (_a = _options.multiple) != null ? _a : true; - const preventDefaultForUnhandled = (_b = _options.preventDefaultForUnhandled) != null ? _b : false; - const getFiles = (event) => { - var _a2, _b2; - const list = Array.from((_b2 = (_a2 = event.dataTransfer) == null ? void 0 : _a2.files) != null ? _b2 : []); - return list.length === 0 ? null : multiple ? list : [list[0]]; - }; - const checkDataTypes = (types) => { - const dataTypes = unref(_options.dataTypes); - if (typeof dataTypes === "function") - return dataTypes(types); - if (!(dataTypes == null ? void 0 : dataTypes.length)) - return true; - if (types.length === 0) - return false; - return types.every( - (type) => dataTypes.some((allowedType) => type.includes(allowedType)) - ); - }; - const checkValidity = (items) => { - const types = Array.from(items != null ? items : []).map((item) => item.type); - const dataTypesValid = checkDataTypes(types); - const multipleFilesValid = multiple || items.length <= 1; - return dataTypesValid && multipleFilesValid; - }; - const isSafari = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window); - const handleDragEvent = (event, eventType) => { - var _a2, _b2, _c, _d, _e, _f; - const dataTransferItemList = (_a2 = event.dataTransfer) == null ? void 0 : _a2.items; - isValid = (_b2 = dataTransferItemList && checkValidity(dataTransferItemList)) != null ? _b2 : false; - if (preventDefaultForUnhandled) { - event.preventDefault(); - } - if (!isSafari() && !isValid) { - if (event.dataTransfer) { - event.dataTransfer.dropEffect = "none"; - } - return; - } - event.preventDefault(); - if (event.dataTransfer) { - event.dataTransfer.dropEffect = "copy"; - } - const currentFiles = getFiles(event); - switch (eventType) { - case "enter": - counter += 1; - isOverDropZone.value = true; - (_c = _options.onEnter) == null ? void 0 : _c.call(_options, null, event); - break; - case "over": - (_d = _options.onOver) == null ? void 0 : _d.call(_options, null, event); - break; - case "leave": - counter -= 1; - if (counter === 0) - isOverDropZone.value = false; - (_e = _options.onLeave) == null ? void 0 : _e.call(_options, null, event); - break; - case "drop": - counter = 0; - isOverDropZone.value = false; - if (isValid) { - files.value = currentFiles; - (_f = _options.onDrop) == null ? void 0 : _f.call(_options, currentFiles, event); - } - break; - } - }; - useEventListener(target, "dragenter", (event) => handleDragEvent(event, "enter")); - useEventListener(target, "dragover", (event) => handleDragEvent(event, "over")); - useEventListener(target, "dragleave", (event) => handleDragEvent(event, "leave")); - useEventListener(target, "drop", (event) => handleDragEvent(event, "drop")); - } - return { - files, - isOverDropZone - }; -} -function useResizeObserver(target, callback, options = {}) { - const { window: window2 = defaultWindow, ...observerOptions } = options; - let observer; - const isSupported = useSupported(() => window2 && "ResizeObserver" in window2); - const cleanup = () => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }; - const targets = computed(() => { - const _targets = toValue(target); - return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)]; - }); - const stopWatch = watch( - targets, - (els) => { - cleanup(); - if (isSupported.value && window2) { - observer = new ResizeObserver(callback); - for (const _el of els) { - if (_el) - observer.observe(_el, observerOptions); - } - } - }, - { immediate: true, flush: "post" } - ); - const stop = () => { - cleanup(); - stopWatch(); - }; - tryOnScopeDispose(stop); - return { - isSupported, - stop - }; -} -function useElementBounding(target, options = {}) { - const { - reset = true, - windowResize = true, - windowScroll = true, - immediate = true, - updateTiming = "sync" - } = options; - const height = shallowRef(0); - const bottom = shallowRef(0); - const left = shallowRef(0); - const right = shallowRef(0); - const top = shallowRef(0); - const width = shallowRef(0); - const x = shallowRef(0); - const y = shallowRef(0); - function recalculate() { - const el = unrefElement(target); - if (!el) { - if (reset) { - height.value = 0; - bottom.value = 0; - left.value = 0; - right.value = 0; - top.value = 0; - width.value = 0; - x.value = 0; - y.value = 0; - } - return; - } - const rect = el.getBoundingClientRect(); - height.value = rect.height; - bottom.value = rect.bottom; - left.value = rect.left; - right.value = rect.right; - top.value = rect.top; - width.value = rect.width; - x.value = rect.x; - y.value = rect.y; - } - function update() { - if (updateTiming === "sync") - recalculate(); - else if (updateTiming === "next-frame") - requestAnimationFrame(() => recalculate()); - } - useResizeObserver(target, update); - watch(() => unrefElement(target), (ele) => !ele && update()); - useMutationObserver(target, update, { - attributeFilter: ["style", "class"] - }); - if (windowScroll) - useEventListener("scroll", update, { capture: true, passive: true }); - if (windowResize) - useEventListener("resize", update, { passive: true }); - tryOnMounted(() => { - if (immediate) - update(); - }); - return { - height, - bottom, - left, - right, - top, - width, - x, - y, - update - }; -} -function useElementByPoint(options) { - const { - x, - y, - document: document2 = defaultDocument, - multiple, - interval = "requestAnimationFrame", - immediate = true - } = options; - const isSupported = useSupported(() => { - if (toValue(multiple)) - return document2 && "elementsFromPoint" in document2; - return document2 && "elementFromPoint" in document2; - }); - const element = shallowRef(null); - const cb = () => { - var _a, _b; - element.value = toValue(multiple) ? (_a = document2 == null ? void 0 : document2.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document2 == null ? void 0 : document2.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null; - }; - const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); - return { - isSupported, - element, - ...controls - }; -} -function useElementHover(el, options = {}) { - const { - delayEnter = 0, - delayLeave = 0, - triggerOnRemoval = false, - window: window2 = defaultWindow - } = options; - const isHovered = shallowRef(false); - let timer; - const toggle = (entering) => { - const delay = entering ? delayEnter : delayLeave; - if (timer) { - clearTimeout(timer); - timer = void 0; - } - if (delay) - timer = setTimeout(() => isHovered.value = entering, delay); - else - isHovered.value = entering; - }; - if (!window2) - return isHovered; - useEventListener(el, "mouseenter", () => toggle(true), { passive: true }); - useEventListener(el, "mouseleave", () => toggle(false), { passive: true }); - if (triggerOnRemoval) { - onElementRemoval( - computed(() => unrefElement(el)), - () => toggle(false) - ); - } - return isHovered; -} -function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) { - const { window: window2 = defaultWindow, box = "content-box" } = options; - const isSVG = computed(() => { - var _a, _b; - return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg"); - }); - const width = shallowRef(initialSize.width); - const height = shallowRef(initialSize.height); - const { stop: stop1 } = useResizeObserver( - target, - ([entry]) => { - const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; - if (window2 && isSVG.value) { - const $elem = unrefElement(target); - if ($elem) { - const rect = $elem.getBoundingClientRect(); - width.value = rect.width; - height.value = rect.height; - } - } else { - if (boxSize) { - const formatBoxSize = toArray(boxSize); - width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); - height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); - } else { - width.value = entry.contentRect.width; - height.value = entry.contentRect.height; - } - } - }, - options - ); - tryOnMounted(() => { - const ele = unrefElement(target); - if (ele) { - width.value = "offsetWidth" in ele ? ele.offsetWidth : initialSize.width; - height.value = "offsetHeight" in ele ? ele.offsetHeight : initialSize.height; - } - }); - const stop2 = watch( - () => unrefElement(target), - (ele) => { - width.value = ele ? initialSize.width : 0; - height.value = ele ? initialSize.height : 0; - } - ); - function stop() { - stop1(); - stop2(); - } - return { - width, - height, - stop - }; -} -function useIntersectionObserver(target, callback, options = {}) { - const { - root, - rootMargin = "0px", - threshold = 0, - window: window2 = defaultWindow, - immediate = true - } = options; - const isSupported = useSupported(() => window2 && "IntersectionObserver" in window2); - const targets = computed(() => { - const _target = toValue(target); - return toArray(_target).map(unrefElement).filter(notNullish); - }); - let cleanup = noop; - const isActive = shallowRef(immediate); - const stopWatch = isSupported.value ? watch( - () => [targets.value, unrefElement(root), isActive.value], - ([targets2, root2]) => { - cleanup(); - if (!isActive.value) - return; - if (!targets2.length) - return; - const observer = new IntersectionObserver( - callback, - { - root: unrefElement(root2), - rootMargin, - threshold - } - ); - targets2.forEach((el) => el && observer.observe(el)); - cleanup = () => { - observer.disconnect(); - cleanup = noop; - }; - }, - { immediate, flush: "post" } - ) : noop; - const stop = () => { - cleanup(); - stopWatch(); - isActive.value = false; - }; - tryOnScopeDispose(stop); - return { - isSupported, - isActive, - pause() { - cleanup(); - isActive.value = false; - }, - resume() { - isActive.value = true; - }, - stop - }; -} -function useElementVisibility(element, options = {}) { - const { - window: window2 = defaultWindow, - scrollTarget, - threshold = 0, - rootMargin, - once = false - } = options; - const elementIsVisible = shallowRef(false); - const { stop } = useIntersectionObserver( - element, - (intersectionObserverEntries) => { - let isIntersecting = elementIsVisible.value; - let latestTime = 0; - for (const entry of intersectionObserverEntries) { - if (entry.time >= latestTime) { - latestTime = entry.time; - isIntersecting = entry.isIntersecting; - } - } - elementIsVisible.value = isIntersecting; - if (once) { - watchOnce(elementIsVisible, () => { - stop(); - }); - } - }, - { - root: scrollTarget, - window: window2, - threshold, - rootMargin: toValue(rootMargin) - } - ); - return elementIsVisible; -} -var events = /* @__PURE__ */ new Map(); -function useEventBus(key) { - const scope = getCurrentScope(); - function on(listener) { - var _a; - const listeners = events.get(key) || /* @__PURE__ */ new Set(); - listeners.add(listener); - events.set(key, listeners); - const _off = () => off(listener); - (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off); - return _off; - } - function once(listener) { - function _listener(...args) { - off(_listener); - listener(...args); - } - return on(_listener); - } - function off(listener) { - const listeners = events.get(key); - if (!listeners) - return; - listeners.delete(listener); - if (!listeners.size) - reset(); - } - function reset() { - events.delete(key); - } - function emit(event, payload) { - var _a; - (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload)); - } - return { on, once, off, emit, reset }; -} -function resolveNestedOptions$1(options) { - if (options === true) - return {}; - return options; -} -function useEventSource(url, events2 = [], options = {}) { - const event = shallowRef(null); - const data = shallowRef(null); - const status = shallowRef("CONNECTING"); - const eventSource = ref(null); - const error = shallowRef(null); - const urlRef = toRef2(url); - const lastEventId = shallowRef(null); - let explicitlyClosed = false; - let retried = 0; - const { - withCredentials = false, - immediate = true, - autoConnect = true, - autoReconnect - } = options; - const close = () => { - if (isClient && eventSource.value) { - eventSource.value.close(); - eventSource.value = null; - status.value = "CLOSED"; - explicitlyClosed = true; - } - }; - const _init = () => { - if (explicitlyClosed || typeof urlRef.value === "undefined") - return; - const es = new EventSource(urlRef.value, { withCredentials }); - status.value = "CONNECTING"; - eventSource.value = es; - es.onopen = () => { - status.value = "OPEN"; - error.value = null; - }; - es.onerror = (e) => { - status.value = "CLOSED"; - error.value = e; - if (es.readyState === 2 && !explicitlyClosed && autoReconnect) { - es.close(); - const { - retries = -1, - delay = 1e3, - onFailed - } = resolveNestedOptions$1(autoReconnect); - retried += 1; - if (typeof retries === "number" && (retries < 0 || retried < retries)) - setTimeout(_init, delay); - else if (typeof retries === "function" && retries()) - setTimeout(_init, delay); - else - onFailed == null ? void 0 : onFailed(); - } - }; - es.onmessage = (e) => { - event.value = null; - data.value = e.data; - lastEventId.value = e.lastEventId; - }; - for (const event_name of events2) { - useEventListener(es, event_name, (e) => { - event.value = event_name; - data.value = e.data || null; - }, { passive: true }); - } - }; - const open = () => { - if (!isClient) - return; - close(); - explicitlyClosed = false; - retried = 0; - _init(); - }; - if (immediate) - open(); - if (autoConnect) - watch(urlRef, open); - tryOnScopeDispose(close); - return { - eventSource, - event, - data, - status, - error, - open, - close, - lastEventId - }; -} -function useEyeDropper(options = {}) { - const { initialValue = "" } = options; - const isSupported = useSupported(() => typeof window !== "undefined" && "EyeDropper" in window); - const sRGBHex = shallowRef(initialValue); - async function open(openOptions) { - if (!isSupported.value) - return; - const eyeDropper = new window.EyeDropper(); - const result = await eyeDropper.open(openOptions); - sRGBHex.value = result.sRGBHex; - return result; - } - return { isSupported, sRGBHex, open }; -} -function useFavicon(newIcon = null, options = {}) { - const { - baseUrl = "", - rel = "icon", - document: document2 = defaultDocument - } = options; - const favicon = toRef2(newIcon); - const applyIcon = (icon) => { - const elements = document2 == null ? void 0 : document2.head.querySelectorAll(`link[rel*="${rel}"]`); - if (!elements || elements.length === 0) { - const link = document2 == null ? void 0 : document2.createElement("link"); - if (link) { - link.rel = rel; - link.href = `${baseUrl}${icon}`; - link.type = `image/${icon.split(".").pop()}`; - document2 == null ? void 0 : document2.head.append(link); - } - return; - } - elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`); - }; - watch( - favicon, - (i, o) => { - if (typeof i === "string" && i !== o) - applyIcon(i); - }, - { immediate: true } - ); - return favicon; -} -var payloadMapping = { - json: "application/json", - text: "text/plain" -}; -function isFetchOptions(obj) { - return obj && containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch", "updateDataOnError"); -} -var reAbsolute = /^(?:[a-z][a-z\d+\-.]*:)?\/\//i; -function isAbsoluteURL(url) { - return reAbsolute.test(url); -} -function headersToObject(headers) { - if (typeof Headers !== "undefined" && headers instanceof Headers) - return Object.fromEntries(headers.entries()); - return headers; -} -function combineCallbacks(combination, ...callbacks) { - if (combination === "overwrite") { - return async (ctx) => { - let callback; - for (let i = callbacks.length - 1; i >= 0; i--) { - if (callbacks[i] != null) { - callback = callbacks[i]; - break; - } - } - if (callback) - return { ...ctx, ...await callback(ctx) }; - return ctx; - }; - } else { - return async (ctx) => { - for (const callback of callbacks) { - if (callback) - ctx = { ...ctx, ...await callback(ctx) }; - } - return ctx; - }; - } -} -function createFetch(config = {}) { - const _combination = config.combination || "chain"; - const _options = config.options || {}; - const _fetchOptions = config.fetchOptions || {}; - function useFactoryFetch(url, ...args) { - const computedUrl = computed(() => { - const baseUrl = toValue(config.baseUrl); - const targetUrl = toValue(url); - return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl; - }); - let options = _options; - let fetchOptions = _fetchOptions; - if (args.length > 0) { - if (isFetchOptions(args[0])) { - options = { - ...options, - ...args[0], - beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch), - afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch), - onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError) - }; - } else { - fetchOptions = { - ...fetchOptions, - ...args[0], - headers: { - ...headersToObject(fetchOptions.headers) || {}, - ...headersToObject(args[0].headers) || {} - } - }; - } - } - if (args.length > 1 && isFetchOptions(args[1])) { - options = { - ...options, - ...args[1], - beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch), - afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch), - onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError) - }; - } - return useFetch(computedUrl, fetchOptions, options); - } - return useFactoryFetch; -} -function useFetch(url, ...args) { - var _a; - const supportsAbort = typeof AbortController === "function"; - let fetchOptions = {}; - let options = { - immediate: true, - refetch: false, - timeout: 0, - updateDataOnError: false - }; - const config = { - method: "GET", - type: "text", - payload: void 0 - }; - if (args.length > 0) { - if (isFetchOptions(args[0])) - options = { ...options, ...args[0] }; - else - fetchOptions = args[0]; - } - if (args.length > 1) { - if (isFetchOptions(args[1])) - options = { ...options, ...args[1] }; - } - const { - fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch, - initialData, - timeout - } = options; - const responseEvent = createEventHook(); - const errorEvent = createEventHook(); - const finallyEvent = createEventHook(); - const isFinished = shallowRef(false); - const isFetching = shallowRef(false); - const aborted = shallowRef(false); - const statusCode = shallowRef(null); - const response = shallowRef(null); - const error = shallowRef(null); - const data = shallowRef(initialData || null); - const canAbort = computed(() => supportsAbort && isFetching.value); - let controller; - let timer; - const abort = () => { - if (supportsAbort) { - controller == null ? void 0 : controller.abort(); - controller = new AbortController(); - controller.signal.onabort = () => aborted.value = true; - fetchOptions = { - ...fetchOptions, - signal: controller.signal - }; - } - }; - const loading = (isLoading) => { - isFetching.value = isLoading; - isFinished.value = !isLoading; - }; - if (timeout) - timer = useTimeoutFn(abort, timeout, { immediate: false }); - let executeCounter = 0; - const execute = async (throwOnFailed = false) => { - var _a2, _b; - abort(); - loading(true); - error.value = null; - statusCode.value = null; - aborted.value = false; - executeCounter += 1; - const currentExecuteCounter = executeCounter; - const defaultFetchOptions = { - method: config.method, - headers: {} - }; - const payload = toValue(config.payload); - if (payload) { - const headers = headersToObject(defaultFetchOptions.headers); - const proto = Object.getPrototypeOf(payload); - if (!config.payloadType && payload && (proto === Object.prototype || Array.isArray(proto)) && !(payload instanceof FormData)) - config.payloadType = "json"; - if (config.payloadType) - headers["Content-Type"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType; - defaultFetchOptions.body = config.payloadType === "json" ? JSON.stringify(payload) : payload; - } - let isCanceled = false; - const context = { - url: toValue(url), - options: { - ...defaultFetchOptions, - ...fetchOptions - }, - cancel: () => { - isCanceled = true; - } - }; - if (options.beforeFetch) - Object.assign(context, await options.beforeFetch(context)); - if (isCanceled || !fetch) { - loading(false); - return Promise.resolve(null); - } - let responseData = null; - if (timer) - timer.start(); - return fetch( - context.url, - { - ...defaultFetchOptions, - ...context.options, - headers: { - ...headersToObject(defaultFetchOptions.headers), - ...headersToObject((_b = context.options) == null ? void 0 : _b.headers) - } - } - ).then(async (fetchResponse) => { - response.value = fetchResponse; - statusCode.value = fetchResponse.status; - responseData = await fetchResponse.clone()[config.type](); - if (!fetchResponse.ok) { - data.value = initialData || null; - throw new Error(fetchResponse.statusText); - } - if (options.afterFetch) { - ({ data: responseData } = await options.afterFetch({ - data: responseData, - response: fetchResponse, - context, - execute - })); - } - data.value = responseData; - responseEvent.trigger(fetchResponse); - return fetchResponse; - }).catch(async (fetchError) => { - let errorData = fetchError.message || fetchError.name; - if (options.onFetchError) { - ({ error: errorData, data: responseData } = await options.onFetchError({ - data: responseData, - error: fetchError, - response: response.value, - context, - execute - })); - } - error.value = errorData; - if (options.updateDataOnError) - data.value = responseData; - errorEvent.trigger(fetchError); - if (throwOnFailed) - throw fetchError; - return null; - }).finally(() => { - if (currentExecuteCounter === executeCounter) - loading(false); - if (timer) - timer.stop(); - finallyEvent.trigger(null); - }); - }; - const refetch = toRef2(options.refetch); - watch( - [ - refetch, - toRef2(url) - ], - ([refetch2]) => refetch2 && execute(), - { deep: true } - ); - const shell = { - isFinished: readonly(isFinished), - isFetching: readonly(isFetching), - statusCode, - response, - error, - data, - canAbort, - aborted, - abort, - execute, - onFetchResponse: responseEvent.on, - onFetchError: errorEvent.on, - onFetchFinally: finallyEvent.on, - // method - get: setMethod("GET"), - put: setMethod("PUT"), - post: setMethod("POST"), - delete: setMethod("DELETE"), - patch: setMethod("PATCH"), - head: setMethod("HEAD"), - options: setMethod("OPTIONS"), - // type - json: setType("json"), - text: setType("text"), - blob: setType("blob"), - arrayBuffer: setType("arrayBuffer"), - formData: setType("formData") - }; - function setMethod(method) { - return (payload, payloadType) => { - if (!isFetching.value) { - config.method = method; - config.payload = payload; - config.payloadType = payloadType; - if (isRef(config.payload)) { - watch( - [ - refetch, - toRef2(config.payload) - ], - ([refetch2]) => refetch2 && execute(), - { deep: true } - ); - } - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; - } - return void 0; - }; - } - function waitUntilFinished() { - return new Promise((resolve, reject) => { - until(isFinished).toBe(true).then(() => resolve(shell)).catch(reject); - }); - } - function setType(type) { - return () => { - if (!isFetching.value) { - config.type = type; - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; - } - return void 0; - }; - } - if (options.immediate) - Promise.resolve().then(() => execute()); - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; -} -function joinPaths(start, end) { - if (!start.endsWith("/") && !end.startsWith("/")) { - return `${start}/${end}`; - } - if (start.endsWith("/") && end.startsWith("/")) { - return `${start.slice(0, -1)}${end}`; - } - return `${start}${end}`; -} -var DEFAULT_OPTIONS = { - multiple: true, - accept: "*", - reset: false, - directory: false -}; -function prepareInitialFiles(files) { - if (!files) - return null; - if (files instanceof FileList) - return files; - const dt = new DataTransfer(); - for (const file of files) { - dt.items.add(file); - } - return dt.files; -} -function useFileDialog(options = {}) { - const { - document: document2 = defaultDocument - } = options; - const files = ref(prepareInitialFiles(options.initialFiles)); - const { on: onChange, trigger: changeTrigger } = createEventHook(); - const { on: onCancel, trigger: cancelTrigger } = createEventHook(); - let input; - if (document2) { - input = document2.createElement("input"); - input.type = "file"; - input.onchange = (event) => { - const result = event.target; - files.value = result.files; - changeTrigger(files.value); - }; - input.oncancel = () => { - cancelTrigger(); - }; - } - const reset = () => { - files.value = null; - if (input && input.value) { - input.value = ""; - changeTrigger(null); - } - }; - const open = (localOptions) => { - if (!input) - return; - const _options = { - ...DEFAULT_OPTIONS, - ...options, - ...localOptions - }; - input.multiple = _options.multiple; - input.accept = _options.accept; - input.webkitdirectory = _options.directory; - if (hasOwn(_options, "capture")) - input.capture = _options.capture; - if (_options.reset) - reset(); - input.click(); - }; - return { - files: readonly(files), - open, - reset, - onCancel, - onChange - }; -} -function useFileSystemAccess(options = {}) { - const { - window: _window = defaultWindow, - dataType = "Text" - } = options; - const window2 = _window; - const isSupported = useSupported(() => window2 && "showSaveFilePicker" in window2 && "showOpenFilePicker" in window2); - const fileHandle = shallowRef(); - const data = shallowRef(); - const file = shallowRef(); - const fileName = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : ""; - }); - const fileMIME = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : ""; - }); - const fileSize = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0; - }); - const fileLastModified = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0; - }); - async function open(_options = {}) { - if (!isSupported.value) - return; - const [handle] = await window2.showOpenFilePicker({ ...toValue(options), ..._options }); - fileHandle.value = handle; - await updateData(); - } - async function create(_options = {}) { - if (!isSupported.value) - return; - fileHandle.value = await window2.showSaveFilePicker({ ...options, ..._options }); - data.value = void 0; - await updateData(); - } - async function save(_options = {}) { - if (!isSupported.value) - return; - if (!fileHandle.value) - return saveAs(_options); - if (data.value) { - const writableStream = await fileHandle.value.createWritable(); - await writableStream.write(data.value); - await writableStream.close(); - } - await updateFile(); - } - async function saveAs(_options = {}) { - if (!isSupported.value) - return; - fileHandle.value = await window2.showSaveFilePicker({ ...options, ..._options }); - if (data.value) { - const writableStream = await fileHandle.value.createWritable(); - await writableStream.write(data.value); - await writableStream.close(); - } - await updateFile(); - } - async function updateFile() { - var _a; - file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile()); - } - async function updateData() { - var _a, _b; - await updateFile(); - const type = toValue(dataType); - if (type === "Text") - data.value = await ((_a = file.value) == null ? void 0 : _a.text()); - else if (type === "ArrayBuffer") - data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer()); - else if (type === "Blob") - data.value = file.value; - } - watch(() => toValue(dataType), updateData); - return { - isSupported, - data, - file, - fileName, - fileMIME, - fileSize, - fileLastModified, - open, - create, - save, - saveAs, - updateData - }; -} -function useFocus(target, options = {}) { - const { initialValue = false, focusVisible = false, preventScroll = false } = options; - const innerFocused = shallowRef(false); - const targetElement = computed(() => unrefElement(target)); - const listenerOptions = { passive: true }; - useEventListener(targetElement, "focus", (event) => { - var _a, _b; - if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, ":focus-visible"))) - innerFocused.value = true; - }, listenerOptions); - useEventListener(targetElement, "blur", () => innerFocused.value = false, listenerOptions); - const focused = computed({ - get: () => innerFocused.value, - set(value) { - var _a, _b; - if (!value && innerFocused.value) - (_a = targetElement.value) == null ? void 0 : _a.blur(); - else if (value && !innerFocused.value) - (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll }); - } - }); - watch( - targetElement, - () => { - focused.value = initialValue; - }, - { immediate: true, flush: "post" } - ); - return { focused }; -} -var EVENT_FOCUS_IN = "focusin"; -var EVENT_FOCUS_OUT = "focusout"; -var PSEUDO_CLASS_FOCUS_WITHIN = ":focus-within"; -function useFocusWithin(target, options = {}) { - const { window: window2 = defaultWindow } = options; - const targetElement = computed(() => unrefElement(target)); - const _focused = shallowRef(false); - const focused = computed(() => _focused.value); - const activeElement = useActiveElement(options); - if (!window2 || !activeElement.value) { - return { focused }; - } - const listenerOptions = { passive: true }; - useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true, listenerOptions); - useEventListener(targetElement, EVENT_FOCUS_OUT, () => { - var _a, _b, _c; - return _focused.value = (_c = (_b = (_a = targetElement.value) == null ? void 0 : _a.matches) == null ? void 0 : _b.call(_a, PSEUDO_CLASS_FOCUS_WITHIN)) != null ? _c : false; - }, listenerOptions); - return { focused }; -} -function useFps(options) { - var _a; - const fps = shallowRef(0); - if (typeof performance === "undefined") - return fps; - const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10; - let last = performance.now(); - let ticks = 0; - useRafFn(() => { - ticks += 1; - if (ticks >= every) { - const now2 = performance.now(); - const diff = now2 - last; - fps.value = Math.round(1e3 / (diff / ticks)); - last = now2; - ticks = 0; - } - }); - return fps; -} -var eventHandlers = [ - "fullscreenchange", - "webkitfullscreenchange", - "webkitendfullscreen", - "mozfullscreenchange", - "MSFullscreenChange" -]; -function useFullscreen(target, options = {}) { - const { - document: document2 = defaultDocument, - autoExit = false - } = options; - const targetRef = computed(() => { - var _a; - return (_a = unrefElement(target)) != null ? _a : document2 == null ? void 0 : document2.documentElement; - }); - const isFullscreen = shallowRef(false); - const requestMethod = computed(() => { - return [ - "requestFullscreen", - "webkitRequestFullscreen", - "webkitEnterFullscreen", - "webkitEnterFullScreen", - "webkitRequestFullScreen", - "mozRequestFullScreen", - "msRequestFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const exitMethod = computed(() => { - return [ - "exitFullscreen", - "webkitExitFullscreen", - "webkitExitFullScreen", - "webkitCancelFullScreen", - "mozCancelFullScreen", - "msExitFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenEnabled = computed(() => { - return [ - "fullScreen", - "webkitIsFullScreen", - "webkitDisplayingFullscreen", - "mozFullScreen", - "msFullscreenElement" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenElementMethod = [ - "fullscreenElement", - "webkitFullscreenElement", - "mozFullScreenElement", - "msFullscreenElement" - ].find((m) => document2 && m in document2); - const isSupported = useSupported(() => targetRef.value && document2 && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0); - const isCurrentElementFullScreen = () => { - if (fullscreenElementMethod) - return (document2 == null ? void 0 : document2[fullscreenElementMethod]) === targetRef.value; - return false; - }; - const isElementFullScreen = () => { - if (fullscreenEnabled.value) { - if (document2 && document2[fullscreenEnabled.value] != null) { - return document2[fullscreenEnabled.value]; - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) { - return Boolean(target2[fullscreenEnabled.value]); - } - } - } - return false; - }; - async function exit() { - if (!isSupported.value || !isFullscreen.value) - return; - if (exitMethod.value) { - if ((document2 == null ? void 0 : document2[exitMethod.value]) != null) { - await document2[exitMethod.value](); - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[exitMethod.value]) != null) - await target2[exitMethod.value](); - } - } - isFullscreen.value = false; - } - async function enter() { - if (!isSupported.value || isFullscreen.value) - return; - if (isElementFullScreen()) - await exit(); - const target2 = targetRef.value; - if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) { - await target2[requestMethod.value](); - isFullscreen.value = true; - } - } - async function toggle() { - await (isFullscreen.value ? exit() : enter()); - } - const handlerCallback = () => { - const isElementFullScreenValue = isElementFullScreen(); - if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) - isFullscreen.value = isElementFullScreenValue; - }; - const listenerOptions = { capture: false, passive: true }; - useEventListener(document2, eventHandlers, handlerCallback, listenerOptions); - useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, listenerOptions); - if (autoExit) - tryOnScopeDispose(exit); - return { - isSupported, - isFullscreen, - enter, - exit, - toggle - }; -} -function mapGamepadToXbox360Controller(gamepad) { - return computed(() => { - if (gamepad.value) { - return { - buttons: { - a: gamepad.value.buttons[0], - b: gamepad.value.buttons[1], - x: gamepad.value.buttons[2], - y: gamepad.value.buttons[3] - }, - bumper: { - left: gamepad.value.buttons[4], - right: gamepad.value.buttons[5] - }, - triggers: { - left: gamepad.value.buttons[6], - right: gamepad.value.buttons[7] - }, - stick: { - left: { - horizontal: gamepad.value.axes[0], - vertical: gamepad.value.axes[1], - button: gamepad.value.buttons[10] - }, - right: { - horizontal: gamepad.value.axes[2], - vertical: gamepad.value.axes[3], - button: gamepad.value.buttons[11] - } - }, - dpad: { - up: gamepad.value.buttons[12], - down: gamepad.value.buttons[13], - left: gamepad.value.buttons[14], - right: gamepad.value.buttons[15] - }, - back: gamepad.value.buttons[8], - start: gamepad.value.buttons[9] - }; - } - return null; - }); -} -function useGamepad(options = {}) { - const { - navigator: navigator2 = defaultNavigator - } = options; - const isSupported = useSupported(() => navigator2 && "getGamepads" in navigator2); - const gamepads = ref([]); - const onConnectedHook = createEventHook(); - const onDisconnectedHook = createEventHook(); - const stateFromGamepad = (gamepad) => { - const hapticActuators = []; - const vibrationActuator = "vibrationActuator" in gamepad ? gamepad.vibrationActuator : null; - if (vibrationActuator) - hapticActuators.push(vibrationActuator); - if (gamepad.hapticActuators) - hapticActuators.push(...gamepad.hapticActuators); - return { - id: gamepad.id, - index: gamepad.index, - connected: gamepad.connected, - mapping: gamepad.mapping, - timestamp: gamepad.timestamp, - vibrationActuator: gamepad.vibrationActuator, - hapticActuators, - axes: gamepad.axes.map((axes) => axes), - buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })) - }; - }; - const updateGamepadState = () => { - const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; - for (const gamepad of _gamepads) { - if (gamepad && gamepads.value[gamepad.index]) - gamepads.value[gamepad.index] = stateFromGamepad(gamepad); - } - }; - const { isActive, pause, resume } = useRafFn(updateGamepadState); - const onGamepadConnected = (gamepad) => { - if (!gamepads.value.some(({ index }) => index === gamepad.index)) { - gamepads.value.push(stateFromGamepad(gamepad)); - onConnectedHook.trigger(gamepad.index); - } - resume(); - }; - const onGamepadDisconnected = (gamepad) => { - gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index); - onDisconnectedHook.trigger(gamepad.index); - }; - const listenerOptions = { passive: true }; - useEventListener("gamepadconnected", (e) => onGamepadConnected(e.gamepad), listenerOptions); - useEventListener("gamepaddisconnected", (e) => onGamepadDisconnected(e.gamepad), listenerOptions); - tryOnMounted(() => { - const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; - for (const gamepad of _gamepads) { - if (gamepad && gamepads.value[gamepad.index]) - onGamepadConnected(gamepad); - } - }); - pause(); - return { - isSupported, - onConnected: onConnectedHook.on, - onDisconnected: onDisconnectedHook.on, - gamepads, - pause, - resume, - isActive - }; -} -function useGeolocation(options = {}) { - const { - enableHighAccuracy = true, - maximumAge = 3e4, - timeout = 27e3, - navigator: navigator2 = defaultNavigator, - immediate = true - } = options; - const isSupported = useSupported(() => navigator2 && "geolocation" in navigator2); - const locatedAt = shallowRef(null); - const error = shallowRef(null); - const coords = ref({ - accuracy: 0, - latitude: Number.POSITIVE_INFINITY, - longitude: Number.POSITIVE_INFINITY, - altitude: null, - altitudeAccuracy: null, - heading: null, - speed: null - }); - function updatePosition(position) { - locatedAt.value = position.timestamp; - coords.value = position.coords; - error.value = null; - } - let watcher; - function resume() { - if (isSupported.value) { - watcher = navigator2.geolocation.watchPosition( - updatePosition, - (err) => error.value = err, - { - enableHighAccuracy, - maximumAge, - timeout - } - ); - } - } - if (immediate) - resume(); - function pause() { - if (watcher && navigator2) - navigator2.geolocation.clearWatch(watcher); - } - tryOnScopeDispose(() => { - pause(); - }); - return { - isSupported, - coords, - locatedAt, - error, - resume, - pause - }; -} -var defaultEvents$1 = ["mousemove", "mousedown", "resize", "keydown", "touchstart", "wheel"]; -var oneMinute = 6e4; -function useIdle(timeout = oneMinute, options = {}) { - const { - initialState = false, - listenForVisibilityChange = true, - events: events2 = defaultEvents$1, - window: window2 = defaultWindow, - eventFilter = throttleFilter(50) - } = options; - const idle = shallowRef(initialState); - const lastActive = shallowRef(timestamp()); - let timer; - const reset = () => { - idle.value = false; - clearTimeout(timer); - timer = setTimeout(() => idle.value = true, timeout); - }; - const onEvent = createFilterWrapper( - eventFilter, - () => { - lastActive.value = timestamp(); - reset(); - } - ); - if (window2) { - const document2 = window2.document; - const listenerOptions = { passive: true }; - for (const event of events2) - useEventListener(window2, event, onEvent, listenerOptions); - if (listenForVisibilityChange) { - useEventListener(document2, "visibilitychange", () => { - if (!document2.hidden) - onEvent(); - }, listenerOptions); - } - reset(); - } - return { - idle, - lastActive, - reset - }; -} -async function loadImage(options) { - return new Promise((resolve, reject) => { - const img = new Image(); - const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy, width, height, decoding, fetchPriority, ismap, usemap } = options; - img.src = src; - if (srcset != null) - img.srcset = srcset; - if (sizes != null) - img.sizes = sizes; - if (clazz != null) - img.className = clazz; - if (loading != null) - img.loading = loading; - if (crossorigin != null) - img.crossOrigin = crossorigin; - if (referrerPolicy != null) - img.referrerPolicy = referrerPolicy; - if (width != null) - img.width = width; - if (height != null) - img.height = height; - if (decoding != null) - img.decoding = decoding; - if (fetchPriority != null) - img.fetchPriority = fetchPriority; - if (ismap != null) - img.isMap = ismap; - if (usemap != null) - img.useMap = usemap; - img.onload = () => resolve(img); - img.onerror = reject; - }); -} -function useImage(options, asyncStateOptions = {}) { - const state = useAsyncState( - () => loadImage(toValue(options)), - void 0, - { - resetOnExecute: true, - ...asyncStateOptions - } - ); - watch( - () => toValue(options), - () => state.execute(asyncStateOptions.delay), - { deep: true } - ); - return state; -} -function resolveElement(el) { - if (typeof Window !== "undefined" && el instanceof Window) - return el.document.documentElement; - if (typeof Document !== "undefined" && el instanceof Document) - return el.documentElement; - return el; -} -var ARRIVED_STATE_THRESHOLD_PIXELS = 1; -function useScroll(element, options = {}) { - const { - throttle = 0, - idle = 200, - onStop = noop, - onScroll = noop, - offset = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - eventListenerOptions = { - capture: false, - passive: true - }, - behavior = "auto", - window: window2 = defaultWindow, - onError = (e) => { - console.error(e); - } - } = options; - const internalX = shallowRef(0); - const internalY = shallowRef(0); - const x = computed({ - get() { - return internalX.value; - }, - set(x2) { - scrollTo(x2, void 0); - } - }); - const y = computed({ - get() { - return internalY.value; - }, - set(y2) { - scrollTo(void 0, y2); - } - }); - function scrollTo(_x, _y) { - var _a, _b, _c, _d; - if (!window2) - return; - const _element = toValue(element); - if (!_element) - return; - (_c = _element instanceof Document ? window2.document.body : _element) == null ? void 0 : _c.scrollTo({ - top: (_a = toValue(_y)) != null ? _a : y.value, - left: (_b = toValue(_x)) != null ? _b : x.value, - behavior: toValue(behavior) - }); - const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element; - if (x != null) - internalX.value = scrollContainer.scrollLeft; - if (y != null) - internalY.value = scrollContainer.scrollTop; - } - const isScrolling = shallowRef(false); - const arrivedState = reactive({ - left: true, - right: false, - top: true, - bottom: false - }); - const directions = reactive({ - left: false, - right: false, - top: false, - bottom: false - }); - const onScrollEnd = (e) => { - if (!isScrolling.value) - return; - isScrolling.value = false; - directions.left = false; - directions.right = false; - directions.top = false; - directions.bottom = false; - onStop(e); - }; - const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle); - const setArrivedState = (target) => { - var _a; - if (!window2) - return; - const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target); - const { display, flexDirection, direction } = getComputedStyle(el); - const directionMultipler = direction === "rtl" ? -1 : 1; - const scrollLeft = el.scrollLeft; - directions.left = scrollLeft < internalX.value; - directions.right = scrollLeft > internalX.value; - const left = Math.abs(scrollLeft * directionMultipler) <= (offset.left || 0); - const right = Math.abs(scrollLeft * directionMultipler) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "row-reverse") { - arrivedState.left = right; - arrivedState.right = left; - } else { - arrivedState.left = left; - arrivedState.right = right; - } - internalX.value = scrollLeft; - let scrollTop = el.scrollTop; - if (target === window2.document && !scrollTop) - scrollTop = window2.document.body.scrollTop; - directions.top = scrollTop < internalY.value; - directions.bottom = scrollTop > internalY.value; - const top = Math.abs(scrollTop) <= (offset.top || 0); - const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "column-reverse") { - arrivedState.top = bottom; - arrivedState.bottom = top; - } else { - arrivedState.top = top; - arrivedState.bottom = bottom; - } - internalY.value = scrollTop; - }; - const onScrollHandler = (e) => { - var _a; - if (!window2) - return; - const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target; - setArrivedState(eventTarget); - isScrolling.value = true; - onScrollEndDebounced(e); - onScroll(e); - }; - useEventListener( - element, - "scroll", - throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, - eventListenerOptions - ); - tryOnMounted(() => { - try { - const _element = toValue(element); - if (!_element) - return; - setArrivedState(_element); - } catch (e) { - onError(e); - } - }); - useEventListener( - element, - "scrollend", - onScrollEnd, - eventListenerOptions - ); - return { - x, - y, - isScrolling, - arrivedState, - directions, - measure() { - const _element = toValue(element); - if (window2 && _element) - setArrivedState(_element); - } - }; -} -function useInfiniteScroll(element, onLoadMore, options = {}) { - var _a; - const { - direction = "bottom", - interval = 100, - canLoadMore = () => true - } = options; - const state = reactive(useScroll( - element, - { - ...options, - offset: { - [direction]: (_a = options.distance) != null ? _a : 0, - ...options.offset - } - } - )); - const promise = ref(); - const isLoading = computed(() => !!promise.value); - const observedElement = computed(() => { - return resolveElement(toValue(element)); - }); - const isElementVisible = useElementVisibility(observedElement); - function checkAndLoad() { - state.measure(); - if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value)) - return; - const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value; - const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth; - if (state.arrivedState[direction] || isNarrower) { - if (!promise.value) { - promise.value = Promise.all([ - onLoadMore(state), - new Promise((resolve) => setTimeout(resolve, interval)) - ]).finally(() => { - promise.value = null; - nextTick(() => checkAndLoad()); - }); - } - } - } - const stop = watch( - () => [state.arrivedState[direction], isElementVisible.value], - checkAndLoad, - { immediate: true } - ); - tryOnUnmounted(stop); - return { - isLoading, - reset() { - nextTick(() => checkAndLoad()); - } - }; -} -var defaultEvents = ["mousedown", "mouseup", "keydown", "keyup"]; -function useKeyModifier(modifier, options = {}) { - const { - events: events2 = defaultEvents, - document: document2 = defaultDocument, - initial = null - } = options; - const state = shallowRef(initial); - if (document2) { - events2.forEach((listenerEvent) => { - useEventListener(document2, listenerEvent, (evt) => { - if (typeof evt.getModifierState === "function") - state.value = evt.getModifierState(modifier); - }, { passive: true }); - }); - } - return state; -} -function useLocalStorage(key, initialValue, options = {}) { - const { window: window2 = defaultWindow } = options; - return useStorage(key, initialValue, window2 == null ? void 0 : window2.localStorage, options); -} -var DefaultMagicKeysAliasMap = { - ctrl: "control", - command: "meta", - cmd: "meta", - option: "alt", - up: "arrowup", - down: "arrowdown", - left: "arrowleft", - right: "arrowright" -}; -function useMagicKeys(options = {}) { - const { - reactive: useReactive = false, - target = defaultWindow, - aliasMap = DefaultMagicKeysAliasMap, - passive = true, - onEventFired = noop - } = options; - const current = reactive(/* @__PURE__ */ new Set()); - const obj = { - toJSON() { - return {}; - }, - current - }; - const refs = useReactive ? reactive(obj) : obj; - const metaDeps = /* @__PURE__ */ new Set(); - const usedKeys = /* @__PURE__ */ new Set(); - function setRefs(key, value) { - if (key in refs) { - if (useReactive) - refs[key] = value; - else - refs[key].value = value; - } - } - function reset() { - current.clear(); - for (const key of usedKeys) - setRefs(key, false); - } - function updateRefs(e, value) { - var _a, _b; - const key = (_a = e.key) == null ? void 0 : _a.toLowerCase(); - const code = (_b = e.code) == null ? void 0 : _b.toLowerCase(); - const values = [code, key].filter(Boolean); - if (key) { - if (value) - current.add(key); - else - current.delete(key); - } - for (const key2 of values) { - usedKeys.add(key2); - setRefs(key2, value); - } - if (key === "meta" && !value) { - metaDeps.forEach((key2) => { - current.delete(key2); - setRefs(key2, false); - }); - metaDeps.clear(); - } else if (typeof e.getModifierState === "function" && e.getModifierState("Meta") && value) { - [...current, ...values].forEach((key2) => metaDeps.add(key2)); - } - } - useEventListener(target, "keydown", (e) => { - updateRefs(e, true); - return onEventFired(e); - }, { passive }); - useEventListener(target, "keyup", (e) => { - updateRefs(e, false); - return onEventFired(e); - }, { passive }); - useEventListener("blur", reset, { passive }); - useEventListener("focus", reset, { passive }); - const proxy = new Proxy( - refs, - { - get(target2, prop, rec) { - if (typeof prop !== "string") - return Reflect.get(target2, prop, rec); - prop = prop.toLowerCase(); - if (prop in aliasMap) - prop = aliasMap[prop]; - if (!(prop in refs)) { - if (/[+_-]/.test(prop)) { - const keys2 = prop.split(/[+_-]/g).map((i) => i.trim()); - refs[prop] = computed(() => keys2.map((key) => toValue(proxy[key])).every(Boolean)); - } else { - refs[prop] = shallowRef(false); - } - } - const r = Reflect.get(target2, prop, rec); - return useReactive ? toValue(r) : r; - } - } - ); - return proxy; -} -function usingElRef(source, cb) { - if (toValue(source)) - cb(toValue(source)); -} -function timeRangeToArray(timeRanges) { - let ranges = []; - for (let i = 0; i < timeRanges.length; ++i) - ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]]; - return ranges; -} -function tracksToArray(tracks) { - return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType })); -} -var defaultOptions = { - src: "", - tracks: [] -}; -function useMediaControls(target, options = {}) { - target = toRef2(target); - options = { - ...defaultOptions, - ...options - }; - const { - document: document2 = defaultDocument - } = options; - const listenerOptions = { passive: true }; - const currentTime = shallowRef(0); - const duration = shallowRef(0); - const seeking = shallowRef(false); - const volume = shallowRef(1); - const waiting = shallowRef(false); - const ended = shallowRef(false); - const playing = shallowRef(false); - const rate = shallowRef(1); - const stalled = shallowRef(false); - const buffered = ref([]); - const tracks = ref([]); - const selectedTrack = shallowRef(-1); - const isPictureInPicture = shallowRef(false); - const muted = shallowRef(false); - const supportsPictureInPicture = document2 && "pictureInPictureEnabled" in document2; - const sourceErrorEvent = createEventHook(); - const playbackErrorEvent = createEventHook(); - const disableTrack = (track) => { - usingElRef(target, (el) => { - if (track) { - const id = typeof track === "number" ? track : track.id; - el.textTracks[id].mode = "disabled"; - } else { - for (let i = 0; i < el.textTracks.length; ++i) - el.textTracks[i].mode = "disabled"; - } - selectedTrack.value = -1; - }); - }; - const enableTrack = (track, disableTracks = true) => { - usingElRef(target, (el) => { - const id = typeof track === "number" ? track : track.id; - if (disableTracks) - disableTrack(); - el.textTracks[id].mode = "showing"; - selectedTrack.value = id; - }); - }; - const togglePictureInPicture = () => { - return new Promise((resolve, reject) => { - usingElRef(target, async (el) => { - if (supportsPictureInPicture) { - if (!isPictureInPicture.value) { - el.requestPictureInPicture().then(resolve).catch(reject); - } else { - document2.exitPictureInPicture().then(resolve).catch(reject); - } - } - }); - }); - }; - watchEffect(() => { - if (!document2) - return; - const el = toValue(target); - if (!el) - return; - const src = toValue(options.src); - let sources = []; - if (!src) - return; - if (typeof src === "string") - sources = [{ src }]; - else if (Array.isArray(src)) - sources = src; - else if (isObject(src)) - sources = [src]; - el.querySelectorAll("source").forEach((e) => { - e.remove(); - }); - sources.forEach(({ src: src2, type, media }) => { - const source = document2.createElement("source"); - source.setAttribute("src", src2); - source.setAttribute("type", type || ""); - source.setAttribute("media", media || ""); - useEventListener(source, "error", sourceErrorEvent.trigger, listenerOptions); - el.appendChild(source); - }); - el.load(); - }); - watch([target, volume], () => { - const el = toValue(target); - if (!el) - return; - el.volume = volume.value; - }); - watch([target, muted], () => { - const el = toValue(target); - if (!el) - return; - el.muted = muted.value; - }); - watch([target, rate], () => { - const el = toValue(target); - if (!el) - return; - el.playbackRate = rate.value; - }); - watchEffect(() => { - if (!document2) - return; - const textTracks = toValue(options.tracks); - const el = toValue(target); - if (!textTracks || !textTracks.length || !el) - return; - el.querySelectorAll("track").forEach((e) => e.remove()); - textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => { - const track = document2.createElement("track"); - track.default = isDefault || false; - track.kind = kind; - track.label = label; - track.src = src; - track.srclang = srcLang; - if (track.default) - selectedTrack.value = i; - el.appendChild(track); - }); - }); - const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => { - const el = toValue(target); - if (!el) - return; - el.currentTime = time; - }); - const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => { - const el = toValue(target); - if (!el) - return; - if (isPlaying) { - el.play().catch((e) => { - playbackErrorEvent.trigger(e); - throw e; - }); - } else { - el.pause(); - } - }); - useEventListener( - target, - "timeupdate", - () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime), - listenerOptions - ); - useEventListener( - target, - "durationchange", - () => duration.value = toValue(target).duration, - listenerOptions - ); - useEventListener( - target, - "progress", - () => buffered.value = timeRangeToArray(toValue(target).buffered), - listenerOptions - ); - useEventListener( - target, - "seeking", - () => seeking.value = true, - listenerOptions - ); - useEventListener( - target, - "seeked", - () => seeking.value = false, - listenerOptions - ); - useEventListener( - target, - ["waiting", "loadstart"], - () => { - waiting.value = true; - ignorePlayingUpdates(() => playing.value = false); - }, - listenerOptions - ); - useEventListener( - target, - "loadeddata", - () => waiting.value = false, - listenerOptions - ); - useEventListener( - target, - "playing", - () => { - waiting.value = false; - ended.value = false; - ignorePlayingUpdates(() => playing.value = true); - }, - listenerOptions - ); - useEventListener( - target, - "ratechange", - () => rate.value = toValue(target).playbackRate, - listenerOptions - ); - useEventListener( - target, - "stalled", - () => stalled.value = true, - listenerOptions - ); - useEventListener( - target, - "ended", - () => ended.value = true, - listenerOptions - ); - useEventListener( - target, - "pause", - () => ignorePlayingUpdates(() => playing.value = false), - listenerOptions - ); - useEventListener( - target, - "play", - () => ignorePlayingUpdates(() => playing.value = true), - listenerOptions - ); - useEventListener( - target, - "enterpictureinpicture", - () => isPictureInPicture.value = true, - listenerOptions - ); - useEventListener( - target, - "leavepictureinpicture", - () => isPictureInPicture.value = false, - listenerOptions - ); - useEventListener( - target, - "volumechange", - () => { - const el = toValue(target); - if (!el) - return; - volume.value = el.volume; - muted.value = el.muted; - }, - listenerOptions - ); - const listeners = []; - const stop = watch([target], () => { - const el = toValue(target); - if (!el) - return; - stop(); - listeners[0] = useEventListener(el.textTracks, "addtrack", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); - listeners[1] = useEventListener(el.textTracks, "removetrack", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); - listeners[2] = useEventListener(el.textTracks, "change", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); - }); - tryOnScopeDispose(() => listeners.forEach((listener) => listener())); - return { - currentTime, - duration, - waiting, - seeking, - ended, - stalled, - buffered, - playing, - rate, - // Volume - volume, - muted, - // Tracks - tracks, - selectedTrack, - enableTrack, - disableTrack, - // Picture in Picture - supportsPictureInPicture, - togglePictureInPicture, - isPictureInPicture, - // Events - onSourceError: sourceErrorEvent.on, - onPlaybackError: playbackErrorEvent.on - }; -} -function useMemoize(resolver, options) { - const initCache = () => { - if (options == null ? void 0 : options.cache) - return shallowReactive(options.cache); - return shallowReactive(/* @__PURE__ */ new Map()); - }; - const cache = initCache(); - const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args); - const _loadData = (key, ...args) => { - cache.set(key, resolver(...args)); - return cache.get(key); - }; - const loadData = (...args) => _loadData(generateKey(...args), ...args); - const deleteData = (...args) => { - cache.delete(generateKey(...args)); - }; - const clearData = () => { - cache.clear(); - }; - const memoized = (...args) => { - const key = generateKey(...args); - if (cache.has(key)) - return cache.get(key); - return _loadData(key, ...args); - }; - memoized.load = loadData; - memoized.delete = deleteData; - memoized.clear = clearData; - memoized.generateKey = generateKey; - memoized.cache = cache; - return memoized; -} -function useMemory(options = {}) { - const memory = ref(); - const isSupported = useSupported(() => typeof performance !== "undefined" && "memory" in performance); - if (isSupported.value) { - const { interval = 1e3 } = options; - useIntervalFn(() => { - memory.value = performance.memory; - }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback }); - } - return { isSupported, memory }; -} -var UseMouseBuiltinExtractors = { - page: (event) => [event.pageX, event.pageY], - client: (event) => [event.clientX, event.clientY], - screen: (event) => [event.screenX, event.screenY], - movement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null -}; -function useMouse(options = {}) { - const { - type = "page", - touch = true, - resetOnTouchEnds = false, - initialValue = { x: 0, y: 0 }, - window: window2 = defaultWindow, - target = window2, - scroll = true, - eventFilter - } = options; - let _prevMouseEvent = null; - let _prevScrollX = 0; - let _prevScrollY = 0; - const x = shallowRef(initialValue.x); - const y = shallowRef(initialValue.y); - const sourceType = shallowRef(null); - const extractor = typeof type === "function" ? type : UseMouseBuiltinExtractors[type]; - const mouseHandler = (event) => { - const result = extractor(event); - _prevMouseEvent = event; - if (result) { - [x.value, y.value] = result; - sourceType.value = "mouse"; - } - if (window2) { - _prevScrollX = window2.scrollX; - _prevScrollY = window2.scrollY; - } - }; - const touchHandler = (event) => { - if (event.touches.length > 0) { - const result = extractor(event.touches[0]); - if (result) { - [x.value, y.value] = result; - sourceType.value = "touch"; - } - } - }; - const scrollHandler = () => { - if (!_prevMouseEvent || !window2) - return; - const pos = extractor(_prevMouseEvent); - if (_prevMouseEvent instanceof MouseEvent && pos) { - x.value = pos[0] + window2.scrollX - _prevScrollX; - y.value = pos[1] + window2.scrollY - _prevScrollY; - } - }; - const reset = () => { - x.value = initialValue.x; - y.value = initialValue.y; - }; - const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event); - const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event); - const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler(); - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["mousemove", "dragover"], mouseHandlerWrapper, listenerOptions); - if (touch && type !== "movement") { - useEventListener(target, ["touchstart", "touchmove"], touchHandlerWrapper, listenerOptions); - if (resetOnTouchEnds) - useEventListener(target, "touchend", reset, listenerOptions); - } - if (scroll && type === "page") - useEventListener(window2, "scroll", scrollHandlerWrapper, listenerOptions); - } - return { - x, - y, - sourceType - }; -} -function useMouseInElement(target, options = {}) { - const { - handleOutside = true, - window: window2 = defaultWindow - } = options; - const type = options.type || "page"; - const { x, y, sourceType } = useMouse(options); - const targetRef = shallowRef(target != null ? target : window2 == null ? void 0 : window2.document.body); - const elementX = shallowRef(0); - const elementY = shallowRef(0); - const elementPositionX = shallowRef(0); - const elementPositionY = shallowRef(0); - const elementHeight = shallowRef(0); - const elementWidth = shallowRef(0); - const isOutside = shallowRef(true); - let stop = () => { - }; - if (window2) { - stop = watch( - [targetRef, x, y], - () => { - const el = unrefElement(targetRef); - if (!el || !(el instanceof Element)) - return; - const { - left, - top, - width, - height - } = el.getBoundingClientRect(); - elementPositionX.value = left + (type === "page" ? window2.pageXOffset : 0); - elementPositionY.value = top + (type === "page" ? window2.pageYOffset : 0); - elementHeight.value = height; - elementWidth.value = width; - const elX = x.value - elementPositionX.value; - const elY = y.value - elementPositionY.value; - isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height; - if (handleOutside || !isOutside.value) { - elementX.value = elX; - elementY.value = elY; - } - }, - { immediate: true } - ); - useEventListener( - document, - "mouseleave", - () => isOutside.value = true, - { passive: true } - ); - } - return { - x, - y, - sourceType, - elementX, - elementY, - elementPositionX, - elementPositionY, - elementHeight, - elementWidth, - isOutside, - stop - }; -} -function useMousePressed(options = {}) { - const { - touch = true, - drag = true, - capture = false, - initialValue = false, - window: window2 = defaultWindow - } = options; - const pressed = shallowRef(initialValue); - const sourceType = shallowRef(null); - if (!window2) { - return { - pressed, - sourceType - }; - } - const onPressed = (srcType) => (event) => { - var _a; - pressed.value = true; - sourceType.value = srcType; - (_a = options.onPressed) == null ? void 0 : _a.call(options, event); - }; - const onReleased = (event) => { - var _a; - pressed.value = false; - sourceType.value = null; - (_a = options.onReleased) == null ? void 0 : _a.call(options, event); - }; - const target = computed(() => unrefElement(options.target) || window2); - const listenerOptions = { passive: true, capture }; - useEventListener(target, "mousedown", onPressed("mouse"), listenerOptions); - useEventListener(window2, "mouseleave", onReleased, listenerOptions); - useEventListener(window2, "mouseup", onReleased, listenerOptions); - if (drag) { - useEventListener(target, "dragstart", onPressed("mouse"), listenerOptions); - useEventListener(window2, "drop", onReleased, listenerOptions); - useEventListener(window2, "dragend", onReleased, listenerOptions); - } - if (touch) { - useEventListener(target, "touchstart", onPressed("touch"), listenerOptions); - useEventListener(window2, "touchend", onReleased, listenerOptions); - useEventListener(window2, "touchcancel", onReleased, listenerOptions); - } - return { - pressed, - sourceType - }; -} -function useNavigatorLanguage(options = {}) { - const { window: window2 = defaultWindow } = options; - const navigator2 = window2 == null ? void 0 : window2.navigator; - const isSupported = useSupported(() => navigator2 && "language" in navigator2); - const language = shallowRef(navigator2 == null ? void 0 : navigator2.language); - useEventListener(window2, "languagechange", () => { - if (navigator2) - language.value = navigator2.language; - }, { passive: true }); - return { - isSupported, - language - }; -} -function useNetwork(options = {}) { - const { window: window2 = defaultWindow } = options; - const navigator2 = window2 == null ? void 0 : window2.navigator; - const isSupported = useSupported(() => navigator2 && "connection" in navigator2); - const isOnline = shallowRef(true); - const saveData = shallowRef(false); - const offlineAt = shallowRef(void 0); - const onlineAt = shallowRef(void 0); - const downlink = shallowRef(void 0); - const downlinkMax = shallowRef(void 0); - const rtt = shallowRef(void 0); - const effectiveType = shallowRef(void 0); - const type = shallowRef("unknown"); - const connection = isSupported.value && navigator2.connection; - function updateNetworkInformation() { - if (!navigator2) - return; - isOnline.value = navigator2.onLine; - offlineAt.value = isOnline.value ? void 0 : Date.now(); - onlineAt.value = isOnline.value ? Date.now() : void 0; - if (connection) { - downlink.value = connection.downlink; - downlinkMax.value = connection.downlinkMax; - effectiveType.value = connection.effectiveType; - rtt.value = connection.rtt; - saveData.value = connection.saveData; - type.value = connection.type; - } - } - const listenerOptions = { passive: true }; - if (window2) { - useEventListener(window2, "offline", () => { - isOnline.value = false; - offlineAt.value = Date.now(); - }, listenerOptions); - useEventListener(window2, "online", () => { - isOnline.value = true; - onlineAt.value = Date.now(); - }, listenerOptions); - } - if (connection) - useEventListener(connection, "change", updateNetworkInformation, listenerOptions); - updateNetworkInformation(); - return { - isSupported, - isOnline: readonly(isOnline), - saveData: readonly(saveData), - offlineAt: readonly(offlineAt), - onlineAt: readonly(onlineAt), - downlink: readonly(downlink), - downlinkMax: readonly(downlinkMax), - effectiveType: readonly(effectiveType), - rtt: readonly(rtt), - type: readonly(type) - }; -} -function useNow(options = {}) { - const { - controls: exposeControls = false, - interval = "requestAnimationFrame" - } = options; - const now2 = ref(/* @__PURE__ */ new Date()); - const update = () => now2.value = /* @__PURE__ */ new Date(); - const controls = interval === "requestAnimationFrame" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true }); - if (exposeControls) { - return { - now: now2, - ...controls - }; - } else { - return now2; - } -} -function useObjectUrl(object) { - const url = shallowRef(); - const release = () => { - if (url.value) - URL.revokeObjectURL(url.value); - url.value = void 0; - }; - watch( - () => toValue(object), - (newObject) => { - release(); - if (newObject) - url.value = URL.createObjectURL(newObject); - }, - { immediate: true } - ); - tryOnScopeDispose(release); - return readonly(url); -} -function useClamp(value, min, max) { - if (typeof value === "function" || isReadonly(value)) - return computed(() => clamp(toValue(value), toValue(min), toValue(max))); - const _value = ref(value); - return computed({ - get() { - return _value.value = clamp(_value.value, toValue(min), toValue(max)); - }, - set(value2) { - _value.value = clamp(value2, toValue(min), toValue(max)); - } - }); -} -function useOffsetPagination(options) { - const { - total = Number.POSITIVE_INFINITY, - pageSize = 10, - page = 1, - onPageChange = noop, - onPageSizeChange = noop, - onPageCountChange = noop - } = options; - const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY); - const pageCount = computed(() => Math.max( - 1, - Math.ceil(toValue(total) / toValue(currentPageSize)) - )); - const currentPage = useClamp(page, 1, pageCount); - const isFirstPage = computed(() => currentPage.value === 1); - const isLastPage = computed(() => currentPage.value === pageCount.value); - if (isRef(page)) { - syncRef(page, currentPage, { - direction: isReadonly(page) ? "ltr" : "both" - }); - } - if (isRef(pageSize)) { - syncRef(pageSize, currentPageSize, { - direction: isReadonly(pageSize) ? "ltr" : "both" - }); - } - function prev() { - currentPage.value--; - } - function next() { - currentPage.value++; - } - const returnValue = { - currentPage, - currentPageSize, - pageCount, - isFirstPage, - isLastPage, - prev, - next - }; - watch(currentPage, () => { - onPageChange(reactive(returnValue)); - }); - watch(currentPageSize, () => { - onPageSizeChange(reactive(returnValue)); - }); - watch(pageCount, () => { - onPageCountChange(reactive(returnValue)); - }); - return returnValue; -} -function useOnline(options = {}) { - const { isOnline } = useNetwork(options); - return isOnline; -} -function usePageLeave(options = {}) { - const { window: window2 = defaultWindow } = options; - const isLeft = shallowRef(false); - const handler = (event) => { - if (!window2) - return; - event = event || window2.event; - const from = event.relatedTarget || event.toElement; - isLeft.value = !from; - }; - if (window2) { - const listenerOptions = { passive: true }; - useEventListener(window2, "mouseout", handler, listenerOptions); - useEventListener(window2.document, "mouseleave", handler, listenerOptions); - useEventListener(window2.document, "mouseenter", handler, listenerOptions); - } - return isLeft; -} -function useScreenOrientation(options = {}) { - const { - window: window2 = defaultWindow - } = options; - const isSupported = useSupported(() => window2 && "screen" in window2 && "orientation" in window2.screen); - const screenOrientation = isSupported.value ? window2.screen.orientation : {}; - const orientation = ref(screenOrientation.type); - const angle = shallowRef(screenOrientation.angle || 0); - if (isSupported.value) { - useEventListener(window2, "orientationchange", () => { - orientation.value = screenOrientation.type; - angle.value = screenOrientation.angle; - }, { passive: true }); - } - const lockOrientation = (type) => { - if (isSupported.value && typeof screenOrientation.lock === "function") - return screenOrientation.lock(type); - return Promise.reject(new Error("Not supported")); - }; - const unlockOrientation = () => { - if (isSupported.value && typeof screenOrientation.unlock === "function") - screenOrientation.unlock(); - }; - return { - isSupported, - orientation, - angle, - lockOrientation, - unlockOrientation - }; -} -function useParallax(target, options = {}) { - const { - deviceOrientationTiltAdjust = (i) => i, - deviceOrientationRollAdjust = (i) => i, - mouseTiltAdjust = (i) => i, - mouseRollAdjust = (i) => i, - window: window2 = defaultWindow - } = options; - const orientation = reactive(useDeviceOrientation({ window: window2 })); - const screenOrientation = reactive(useScreenOrientation({ window: window2 })); - const { - elementX: x, - elementY: y, - elementWidth: width, - elementHeight: height - } = useMouseInElement(target, { handleOutside: false, window: window2 }); - const source = computed(() => { - if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) { - return "deviceOrientation"; - } - return "mouse"; - }); - const roll = computed(() => { - if (source.value === "deviceOrientation") { - let value; - switch (screenOrientation.orientation) { - case "landscape-primary": - value = orientation.gamma / 90; - break; - case "landscape-secondary": - value = -orientation.gamma / 90; - break; - case "portrait-primary": - value = -orientation.beta / 90; - break; - case "portrait-secondary": - value = orientation.beta / 90; - break; - default: - value = -orientation.beta / 90; - } - return deviceOrientationRollAdjust(value); - } else { - const value = -(y.value - height.value / 2) / height.value; - return mouseRollAdjust(value); - } - }); - const tilt = computed(() => { - if (source.value === "deviceOrientation") { - let value; - switch (screenOrientation.orientation) { - case "landscape-primary": - value = orientation.beta / 90; - break; - case "landscape-secondary": - value = -orientation.beta / 90; - break; - case "portrait-primary": - value = orientation.gamma / 90; - break; - case "portrait-secondary": - value = -orientation.gamma / 90; - break; - default: - value = orientation.gamma / 90; - } - return deviceOrientationTiltAdjust(value); - } else { - const value = (x.value - width.value / 2) / width.value; - return mouseTiltAdjust(value); - } - }); - return { roll, tilt, source }; -} -function useParentElement(element = useCurrentElement()) { - const parentElement = shallowRef(); - const update = () => { - const el = unrefElement(element); - if (el) - parentElement.value = el.parentElement; - }; - tryOnMounted(update); - watch(() => toValue(element), update); - return parentElement; -} -function usePerformanceObserver(options, callback) { - const { - window: window2 = defaultWindow, - immediate = true, - ...performanceOptions - } = options; - const isSupported = useSupported(() => window2 && "PerformanceObserver" in window2); - let observer; - const stop = () => { - observer == null ? void 0 : observer.disconnect(); - }; - const start = () => { - if (isSupported.value) { - stop(); - observer = new PerformanceObserver(callback); - observer.observe(performanceOptions); - } - }; - tryOnScopeDispose(stop); - if (immediate) - start(); - return { - isSupported, - start, - stop - }; -} -var defaultState = { - x: 0, - y: 0, - pointerId: 0, - pressure: 0, - tiltX: 0, - tiltY: 0, - width: 0, - height: 0, - twist: 0, - pointerType: null -}; -var keys = Object.keys(defaultState); -function usePointer(options = {}) { - const { - target = defaultWindow - } = options; - const isInside = shallowRef(false); - const state = ref(options.initialValue || {}); - Object.assign(state.value, defaultState, state.value); - const handler = (event) => { - isInside.value = true; - if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType)) - return; - state.value = objectPick(event, keys, false); - }; - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["pointerdown", "pointermove", "pointerup"], handler, listenerOptions); - useEventListener(target, "pointerleave", () => isInside.value = false, listenerOptions); - } - return { - ...toRefs2(state), - isInside - }; -} -function usePointerLock(target, options = {}) { - const { document: document2 = defaultDocument } = options; - const isSupported = useSupported(() => document2 && "pointerLockElement" in document2); - const element = shallowRef(); - const triggerElement = shallowRef(); - let targetElement; - if (isSupported.value) { - const listenerOptions = { passive: true }; - useEventListener(document2, "pointerlockchange", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - element.value = document2.pointerLockElement; - if (!element.value) - targetElement = triggerElement.value = null; - } - }, listenerOptions); - useEventListener(document2, "pointerlockerror", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - const action = document2.pointerLockElement ? "release" : "acquire"; - throw new Error(`Failed to ${action} pointer lock.`); - } - }, listenerOptions); - } - async function lock(e) { - var _a; - if (!isSupported.value) - throw new Error("Pointer Lock API is not supported by your browser."); - triggerElement.value = e instanceof Event ? e.currentTarget : null; - targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e); - if (!targetElement) - throw new Error("Target element undefined."); - targetElement.requestPointerLock(); - return await until(element).toBe(targetElement); - } - async function unlock() { - if (!element.value) - return false; - document2.exitPointerLock(); - await until(element).toBeNull(); - return true; - } - return { - isSupported, - element, - triggerElement, - lock, - unlock - }; -} -function usePointerSwipe(target, options = {}) { - const targetRef = toRef2(target); - const { - threshold = 50, - onSwipe, - onSwipeEnd, - onSwipeStart, - disableTextSelect = false - } = options; - const posStart = reactive({ x: 0, y: 0 }); - const updatePosStart = (x, y) => { - posStart.x = x; - posStart.y = y; - }; - const posEnd = reactive({ x: 0, y: 0 }); - const updatePosEnd = (x, y) => { - posEnd.x = x; - posEnd.y = y; - }; - const distanceX = computed(() => posStart.x - posEnd.x); - const distanceY = computed(() => posStart.y - posEnd.y); - const { max, abs } = Math; - const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold); - const isSwiping = shallowRef(false); - const isPointerDown = shallowRef(false); - const direction = computed(() => { - if (!isThresholdExceeded.value) - return "none"; - if (abs(distanceX.value) > abs(distanceY.value)) { - return distanceX.value > 0 ? "left" : "right"; - } else { - return distanceY.value > 0 ? "up" : "down"; - } - }); - const eventIsAllowed = (e) => { - var _a, _b, _c; - const isReleasingButton = e.buttons === 0; - const isPrimaryButton = e.buttons === 1; - return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true; - }; - const listenerOptions = { passive: true }; - const stops = [ - useEventListener(target, "pointerdown", (e) => { - if (!eventIsAllowed(e)) - return; - isPointerDown.value = true; - const eventTarget = e.target; - eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId); - const { clientX: x, clientY: y } = e; - updatePosStart(x, y); - updatePosEnd(x, y); - onSwipeStart == null ? void 0 : onSwipeStart(e); - }, listenerOptions), - useEventListener(target, "pointermove", (e) => { - if (!eventIsAllowed(e)) - return; - if (!isPointerDown.value) - return; - const { clientX: x, clientY: y } = e; - updatePosEnd(x, y); - if (!isSwiping.value && isThresholdExceeded.value) - isSwiping.value = true; - if (isSwiping.value) - onSwipe == null ? void 0 : onSwipe(e); - }, listenerOptions), - useEventListener(target, "pointerup", (e) => { - if (!eventIsAllowed(e)) - return; - if (isSwiping.value) - onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); - isPointerDown.value = false; - isSwiping.value = false; - }, listenerOptions) - ]; - tryOnMounted(() => { - var _a, _b, _c, _d, _e, _f, _g, _h; - (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty("touch-action", "none"); - if (disableTextSelect) { - (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty("-webkit-user-select", "none"); - (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty("-ms-user-select", "none"); - (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty("user-select", "none"); - } - }); - const stop = () => stops.forEach((s) => s()); - return { - isSwiping: readonly(isSwiping), - direction: readonly(direction), - posStart: readonly(posStart), - posEnd: readonly(posEnd), - distanceX, - distanceY, - stop - }; -} -function usePreferredColorScheme(options) { - const isLight = useMediaQuery("(prefers-color-scheme: light)", options); - const isDark = useMediaQuery("(prefers-color-scheme: dark)", options); - return computed(() => { - if (isDark.value) - return "dark"; - if (isLight.value) - return "light"; - return "no-preference"; - }); -} -function usePreferredContrast(options) { - const isMore = useMediaQuery("(prefers-contrast: more)", options); - const isLess = useMediaQuery("(prefers-contrast: less)", options); - const isCustom = useMediaQuery("(prefers-contrast: custom)", options); - return computed(() => { - if (isMore.value) - return "more"; - if (isLess.value) - return "less"; - if (isCustom.value) - return "custom"; - return "no-preference"; - }); -} -function usePreferredLanguages(options = {}) { - const { window: window2 = defaultWindow } = options; - if (!window2) - return ref(["en"]); - const navigator2 = window2.navigator; - const value = ref(navigator2.languages); - useEventListener(window2, "languagechange", () => { - value.value = navigator2.languages; - }, { passive: true }); - return value; -} -function usePreferredReducedMotion(options) { - const isReduced = useMediaQuery("(prefers-reduced-motion: reduce)", options); - return computed(() => { - if (isReduced.value) - return "reduce"; - return "no-preference"; - }); -} -function usePreferredReducedTransparency(options) { - const isReduced = useMediaQuery("(prefers-reduced-transparency: reduce)", options); - return computed(() => { - if (isReduced.value) - return "reduce"; - return "no-preference"; - }); -} -function usePrevious(value, initialValue) { - const previous = shallowRef(initialValue); - watch( - toRef2(value), - (_, oldValue) => { - previous.value = oldValue; - }, - { flush: "sync" } - ); - return readonly(previous); -} -var topVarName = "--vueuse-safe-area-top"; -var rightVarName = "--vueuse-safe-area-right"; -var bottomVarName = "--vueuse-safe-area-bottom"; -var leftVarName = "--vueuse-safe-area-left"; -function useScreenSafeArea() { - const top = shallowRef(""); - const right = shallowRef(""); - const bottom = shallowRef(""); - const left = shallowRef(""); - if (isClient) { - const topCssVar = useCssVar(topVarName); - const rightCssVar = useCssVar(rightVarName); - const bottomCssVar = useCssVar(bottomVarName); - const leftCssVar = useCssVar(leftVarName); - topCssVar.value = "env(safe-area-inset-top, 0px)"; - rightCssVar.value = "env(safe-area-inset-right, 0px)"; - bottomCssVar.value = "env(safe-area-inset-bottom, 0px)"; - leftCssVar.value = "env(safe-area-inset-left, 0px)"; - update(); - useEventListener("resize", useDebounceFn(update), { passive: true }); - } - function update() { - top.value = getValue(topVarName); - right.value = getValue(rightVarName); - bottom.value = getValue(bottomVarName); - left.value = getValue(leftVarName); - } - return { - top, - right, - bottom, - left, - update - }; -} -function getValue(position) { - return getComputedStyle(document.documentElement).getPropertyValue(position); -} -function useScriptTag(src, onLoaded = noop, options = {}) { - const { - immediate = true, - manual = false, - type = "text/javascript", - async = true, - crossOrigin, - referrerPolicy, - noModule, - defer, - document: document2 = defaultDocument, - attrs = {} - } = options; - const scriptTag = shallowRef(null); - let _promise = null; - const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => { - const resolveWithElement = (el2) => { - scriptTag.value = el2; - resolve(el2); - return el2; - }; - if (!document2) { - resolve(false); - return; - } - let shouldAppend = false; - let el = document2.querySelector(`script[src="${toValue(src)}"]`); - if (!el) { - el = document2.createElement("script"); - el.type = type; - el.async = async; - el.src = toValue(src); - if (defer) - el.defer = defer; - if (crossOrigin) - el.crossOrigin = crossOrigin; - if (noModule) - el.noModule = noModule; - if (referrerPolicy) - el.referrerPolicy = referrerPolicy; - Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value)); - shouldAppend = true; - } else if (el.hasAttribute("data-loaded")) { - resolveWithElement(el); - } - const listenerOptions = { - passive: true - }; - useEventListener(el, "error", (event) => reject(event), listenerOptions); - useEventListener(el, "abort", (event) => reject(event), listenerOptions); - useEventListener(el, "load", () => { - el.setAttribute("data-loaded", "true"); - onLoaded(el); - resolveWithElement(el); - }, listenerOptions); - if (shouldAppend) - el = document2.head.appendChild(el); - if (!waitForScriptLoad) - resolveWithElement(el); - }); - const load = (waitForScriptLoad = true) => { - if (!_promise) - _promise = loadScript(waitForScriptLoad); - return _promise; - }; - const unload = () => { - if (!document2) - return; - _promise = null; - if (scriptTag.value) - scriptTag.value = null; - const el = document2.querySelector(`script[src="${toValue(src)}"]`); - if (el) - document2.head.removeChild(el); - }; - if (immediate && !manual) - tryOnMounted(load); - if (!manual) - tryOnUnmounted(unload); - return { scriptTag, load, unload }; -} -function checkOverflowScroll(ele) { - const style = window.getComputedStyle(ele); - if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) { - return true; - } else { - const parent = ele.parentNode; - if (!parent || parent.tagName === "BODY") - return false; - return checkOverflowScroll(parent); - } -} -function preventDefault(rawEvent) { - const e = rawEvent || window.event; - const _target = e.target; - if (checkOverflowScroll(_target)) - return false; - if (e.touches.length > 1) - return true; - if (e.preventDefault) - e.preventDefault(); - return false; -} -var elInitialOverflow = /* @__PURE__ */ new WeakMap(); -function useScrollLock(element, initialState = false) { - const isLocked = shallowRef(initialState); - let stopTouchMoveListener = null; - let initialOverflow = ""; - watch(toRef2(element), (el) => { - const target = resolveElement(toValue(el)); - if (target) { - const ele = target; - if (!elInitialOverflow.get(ele)) - elInitialOverflow.set(ele, ele.style.overflow); - if (ele.style.overflow !== "hidden") - initialOverflow = ele.style.overflow; - if (ele.style.overflow === "hidden") - return isLocked.value = true; - if (isLocked.value) - return ele.style.overflow = "hidden"; - } - }, { - immediate: true - }); - const lock = () => { - const el = resolveElement(toValue(element)); - if (!el || isLocked.value) - return; - if (isIOS) { - stopTouchMoveListener = useEventListener( - el, - "touchmove", - (e) => { - preventDefault(e); - }, - { passive: false } - ); - } - el.style.overflow = "hidden"; - isLocked.value = true; - }; - const unlock = () => { - const el = resolveElement(toValue(element)); - if (!el || !isLocked.value) - return; - if (isIOS) - stopTouchMoveListener == null ? void 0 : stopTouchMoveListener(); - el.style.overflow = initialOverflow; - elInitialOverflow.delete(el); - isLocked.value = false; - }; - tryOnScopeDispose(unlock); - return computed({ - get() { - return isLocked.value; - }, - set(v) { - if (v) - lock(); - else unlock(); - } - }); -} -function useSessionStorage(key, initialValue, options = {}) { - const { window: window2 = defaultWindow } = options; - return useStorage(key, initialValue, window2 == null ? void 0 : window2.sessionStorage, options); -} -function useShare(shareOptions = {}, options = {}) { - const { navigator: navigator2 = defaultNavigator } = options; - const _navigator = navigator2; - const isSupported = useSupported(() => _navigator && "canShare" in _navigator); - const share = async (overrideOptions = {}) => { - if (isSupported.value) { - const data = { - ...toValue(shareOptions), - ...toValue(overrideOptions) - }; - let granted = true; - if (data.files && _navigator.canShare) - granted = _navigator.canShare({ files: data.files }); - if (granted) - return _navigator.share(data); - } - }; - return { - isSupported, - share - }; -} -var defaultSortFn = (source, compareFn) => source.sort(compareFn); -var defaultCompare = (a, b) => a - b; -function useSorted(...args) { - var _a, _b, _c, _d; - const [source] = args; - let compareFn = defaultCompare; - let options = {}; - if (args.length === 2) { - if (typeof args[1] === "object") { - options = args[1]; - compareFn = (_a = options.compareFn) != null ? _a : defaultCompare; - } else { - compareFn = (_b = args[1]) != null ? _b : defaultCompare; - } - } else if (args.length > 2) { - compareFn = (_c = args[1]) != null ? _c : defaultCompare; - options = (_d = args[2]) != null ? _d : {}; - } - const { - dirty = false, - sortFn = defaultSortFn - } = options; - if (!dirty) - return computed(() => sortFn([...toValue(source)], compareFn)); - watchEffect(() => { - const result = sortFn(toValue(source), compareFn); - if (isRef(source)) - source.value = result; - else - source.splice(0, source.length, ...result); - }); - return source; -} -function useSpeechRecognition(options = {}) { - const { - interimResults = true, - continuous = true, - maxAlternatives = 1, - window: window2 = defaultWindow - } = options; - const lang = toRef2(options.lang || "en-US"); - const isListening = shallowRef(false); - const isFinal = shallowRef(false); - const result = shallowRef(""); - const error = shallowRef(void 0); - let recognition; - const start = () => { - isListening.value = true; - }; - const stop = () => { - isListening.value = false; - }; - const toggle = (value = !isListening.value) => { - if (value) { - start(); - } else { - stop(); - } - }; - const SpeechRecognition = window2 && (window2.SpeechRecognition || window2.webkitSpeechRecognition); - const isSupported = useSupported(() => SpeechRecognition); - if (isSupported.value) { - recognition = new SpeechRecognition(); - recognition.continuous = continuous; - recognition.interimResults = interimResults; - recognition.lang = toValue(lang); - recognition.maxAlternatives = maxAlternatives; - recognition.onstart = () => { - isListening.value = true; - isFinal.value = false; - }; - watch(lang, (lang2) => { - if (recognition && !isListening.value) - recognition.lang = lang2; - }); - recognition.onresult = (event) => { - const currentResult = event.results[event.resultIndex]; - const { transcript } = currentResult[0]; - isFinal.value = currentResult.isFinal; - result.value = transcript; - error.value = void 0; - }; - recognition.onerror = (event) => { - error.value = event; - }; - recognition.onend = () => { - isListening.value = false; - recognition.lang = toValue(lang); - }; - watch(isListening, (newValue, oldValue) => { - if (newValue === oldValue) - return; - if (newValue) - recognition.start(); - else - recognition.stop(); - }); - } - tryOnScopeDispose(() => { - stop(); - }); - return { - isSupported, - isListening, - isFinal, - recognition, - result, - error, - toggle, - start, - stop - }; -} -function useSpeechSynthesis(text, options = {}) { - const { - pitch = 1, - rate = 1, - volume = 1, - window: window2 = defaultWindow - } = options; - const synth = window2 && window2.speechSynthesis; - const isSupported = useSupported(() => synth); - const isPlaying = shallowRef(false); - const status = shallowRef("init"); - const spokenText = toRef2(text || ""); - const lang = toRef2(options.lang || "en-US"); - const error = shallowRef(void 0); - const toggle = (value = !isPlaying.value) => { - isPlaying.value = value; - }; - const bindEventsForUtterance = (utterance2) => { - utterance2.lang = toValue(lang); - utterance2.voice = toValue(options.voice) || null; - utterance2.pitch = toValue(pitch); - utterance2.rate = toValue(rate); - utterance2.volume = volume; - utterance2.onstart = () => { - isPlaying.value = true; - status.value = "play"; - }; - utterance2.onpause = () => { - isPlaying.value = false; - status.value = "pause"; - }; - utterance2.onresume = () => { - isPlaying.value = true; - status.value = "play"; - }; - utterance2.onend = () => { - isPlaying.value = false; - status.value = "end"; - }; - utterance2.onerror = (event) => { - error.value = event; - }; - }; - const utterance = computed(() => { - isPlaying.value = false; - status.value = "init"; - const newUtterance = new SpeechSynthesisUtterance(spokenText.value); - bindEventsForUtterance(newUtterance); - return newUtterance; - }); - const speak = () => { - synth.cancel(); - if (utterance) - synth.speak(utterance.value); - }; - const stop = () => { - synth.cancel(); - isPlaying.value = false; - }; - if (isSupported.value) { - bindEventsForUtterance(utterance.value); - watch(lang, (lang2) => { - if (utterance.value && !isPlaying.value) - utterance.value.lang = lang2; - }); - if (options.voice) { - watch(options.voice, () => { - synth.cancel(); - }); - } - watch(isPlaying, () => { - if (isPlaying.value) - synth.resume(); - else - synth.pause(); - }); - } - tryOnScopeDispose(() => { - isPlaying.value = false; - }); - return { - isSupported, - isPlaying, - status, - utterance, - error, - stop, - toggle, - speak - }; -} -function useStepper(steps, initialStep) { - const stepsRef = ref(steps); - const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value)); - const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0])); - const current = computed(() => at(index.value)); - const isFirst = computed(() => index.value === 0); - const isLast = computed(() => index.value === stepNames.value.length - 1); - const next = computed(() => stepNames.value[index.value + 1]); - const previous = computed(() => stepNames.value[index.value - 1]); - function at(index2) { - if (Array.isArray(stepsRef.value)) - return stepsRef.value[index2]; - return stepsRef.value[stepNames.value[index2]]; - } - function get2(step) { - if (!stepNames.value.includes(step)) - return; - return at(stepNames.value.indexOf(step)); - } - function goTo(step) { - if (stepNames.value.includes(step)) - index.value = stepNames.value.indexOf(step); - } - function goToNext() { - if (isLast.value) - return; - index.value++; - } - function goToPrevious() { - if (isFirst.value) - return; - index.value--; - } - function goBackTo(step) { - if (isAfter(step)) - goTo(step); - } - function isNext(step) { - return stepNames.value.indexOf(step) === index.value + 1; - } - function isPrevious(step) { - return stepNames.value.indexOf(step) === index.value - 1; - } - function isCurrent(step) { - return stepNames.value.indexOf(step) === index.value; - } - function isBefore(step) { - return index.value < stepNames.value.indexOf(step); - } - function isAfter(step) { - return index.value > stepNames.value.indexOf(step); - } - return { - steps: stepsRef, - stepNames, - index, - current, - next, - previous, - isFirst, - isLast, - at, - get: get2, - goTo, - goToNext, - goToPrevious, - goBackTo, - isNext, - isPrevious, - isCurrent, - isBefore, - isAfter - }; -} -function useStorageAsync(key, initialValue, storage, options = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults = false, - shallow, - window: window2 = defaultWindow, - eventFilter, - onError = (e) => { - console.error(e); - } - } = options; - const rawInit = toValue(initialValue); - const type = guessSerializerType(rawInit); - const data = (shallow ? shallowRef : ref)(toValue(initialValue)); - const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type]; - if (!storage) { - try { - storage = getSSRHandler("getDefaultStorageAsync", () => { - var _a2; - return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - async function read(event) { - if (!storage || event && event.key !== key) - return; - try { - const rawValue = event ? event.newValue : await storage.getItem(key); - if (rawValue == null) { - data.value = rawInit; - if (writeDefaults && rawInit !== null) - await storage.setItem(key, await serializer.write(rawInit)); - } else if (mergeDefaults) { - const value = await serializer.read(rawValue); - if (typeof mergeDefaults === "function") - data.value = mergeDefaults(value, rawInit); - else if (type === "object" && !Array.isArray(value)) - data.value = { ...rawInit, ...value }; - else data.value = value; - } else { - data.value = await serializer.read(rawValue); - } - } catch (e) { - onError(e); - } - } - read(); - if (window2 && listenToStorageChanges) - useEventListener(window2, "storage", (e) => Promise.resolve().then(() => read(e)), { passive: true }); - if (storage) { - watchWithFilter( - data, - async () => { - try { - if (data.value == null) - await storage.removeItem(key); - else - await storage.setItem(key, await serializer.write(data.value)); - } catch (e) { - onError(e); - } - }, - { - flush, - deep, - eventFilter - } - ); - } - return data; -} -var _id = 0; -function useStyleTag(css, options = {}) { - const isLoaded = shallowRef(false); - const { - document: document2 = defaultDocument, - immediate = true, - manual = false, - id = `vueuse_styletag_${++_id}` - } = options; - const cssRef = shallowRef(css); - let stop = () => { - }; - const load = () => { - if (!document2) - return; - const el = document2.getElementById(id) || document2.createElement("style"); - if (!el.isConnected) { - el.id = id; - if (options.media) - el.media = options.media; - document2.head.appendChild(el); - } - if (isLoaded.value) - return; - stop = watch( - cssRef, - (value) => { - el.textContent = value; - }, - { immediate: true } - ); - isLoaded.value = true; - }; - const unload = () => { - if (!document2 || !isLoaded.value) - return; - stop(); - document2.head.removeChild(document2.getElementById(id)); - isLoaded.value = false; - }; - if (immediate && !manual) - tryOnMounted(load); - if (!manual) - tryOnScopeDispose(unload); - return { - id, - css: cssRef, - unload, - load, - isLoaded: readonly(isLoaded) - }; -} -function useSwipe(target, options = {}) { - const { - threshold = 50, - onSwipe, - onSwipeEnd, - onSwipeStart, - passive = true - } = options; - const coordsStart = reactive({ x: 0, y: 0 }); - const coordsEnd = reactive({ x: 0, y: 0 }); - const diffX = computed(() => coordsStart.x - coordsEnd.x); - const diffY = computed(() => coordsStart.y - coordsEnd.y); - const { max, abs } = Math; - const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold); - const isSwiping = shallowRef(false); - const direction = computed(() => { - if (!isThresholdExceeded.value) - return "none"; - if (abs(diffX.value) > abs(diffY.value)) { - return diffX.value > 0 ? "left" : "right"; - } else { - return diffY.value > 0 ? "up" : "down"; - } - }); - const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY]; - const updateCoordsStart = (x, y) => { - coordsStart.x = x; - coordsStart.y = y; - }; - const updateCoordsEnd = (x, y) => { - coordsEnd.x = x; - coordsEnd.y = y; - }; - const listenerOptions = { passive, capture: !passive }; - const onTouchEnd = (e) => { - if (isSwiping.value) - onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); - isSwiping.value = false; - }; - const stops = [ - useEventListener(target, "touchstart", (e) => { - if (e.touches.length !== 1) - return; - const [x, y] = getTouchEventCoords(e); - updateCoordsStart(x, y); - updateCoordsEnd(x, y); - onSwipeStart == null ? void 0 : onSwipeStart(e); - }, listenerOptions), - useEventListener(target, "touchmove", (e) => { - if (e.touches.length !== 1) - return; - const [x, y] = getTouchEventCoords(e); - updateCoordsEnd(x, y); - if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value)) - e.preventDefault(); - if (!isSwiping.value && isThresholdExceeded.value) - isSwiping.value = true; - if (isSwiping.value) - onSwipe == null ? void 0 : onSwipe(e); - }, listenerOptions), - useEventListener(target, ["touchend", "touchcancel"], onTouchEnd, listenerOptions) - ]; - const stop = () => stops.forEach((s) => s()); - return { - isSwiping, - direction, - coordsStart, - coordsEnd, - lengthX: diffX, - lengthY: diffY, - stop, - // TODO: Remove in the next major version - isPassiveEventSupported: true - }; -} -function useTemplateRefsList() { - const refs = ref([]); - refs.value.set = (el) => { - if (el) - refs.value.push(el); - }; - onBeforeUpdate(() => { - refs.value.length = 0; - }); - return refs; -} -function useTextDirection(options = {}) { - const { - document: document2 = defaultDocument, - selector = "html", - observe = false, - initialValue = "ltr" - } = options; - function getValue2() { - var _a, _b; - return (_b = (_a = document2 == null ? void 0 : document2.querySelector(selector)) == null ? void 0 : _a.getAttribute("dir")) != null ? _b : initialValue; - } - const dir = ref(getValue2()); - tryOnMounted(() => dir.value = getValue2()); - if (observe && document2) { - useMutationObserver( - document2.querySelector(selector), - () => dir.value = getValue2(), - { attributes: true } - ); - } - return computed({ - get() { - return dir.value; - }, - set(v) { - var _a, _b; - dir.value = v; - if (!document2) - return; - if (dir.value) - (_a = document2.querySelector(selector)) == null ? void 0 : _a.setAttribute("dir", dir.value); - else - (_b = document2.querySelector(selector)) == null ? void 0 : _b.removeAttribute("dir"); - } - }); -} -function getRangesFromSelection(selection) { - var _a; - const rangeCount = (_a = selection.rangeCount) != null ? _a : 0; - return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i)); -} -function useTextSelection(options = {}) { - const { - window: window2 = defaultWindow - } = options; - const selection = ref(null); - const text = computed(() => { - var _a, _b; - return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : ""; - }); - const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []); - const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect())); - function onSelectionChange() { - selection.value = null; - if (window2) - selection.value = window2.getSelection(); - } - if (window2) - useEventListener(window2.document, "selectionchange", onSelectionChange, { passive: true }); - return { - text, - rects, - ranges, - selection - }; -} -function tryRequestAnimationFrame(window2 = defaultWindow, fn) { - if (window2 && typeof window2.requestAnimationFrame === "function") { - window2.requestAnimationFrame(fn); - } else { - fn(); - } -} -function useTextareaAutosize(options = {}) { - var _a, _b; - const { window: window2 = defaultWindow } = options; - const textarea = toRef2(options == null ? void 0 : options.element); - const input = toRef2((_a = options == null ? void 0 : options.input) != null ? _a : ""); - const styleProp = (_b = options == null ? void 0 : options.styleProp) != null ? _b : "height"; - const textareaScrollHeight = shallowRef(1); - const textareaOldWidth = shallowRef(0); - function triggerResize() { - var _a2; - if (!textarea.value) - return; - let height = ""; - textarea.value.style[styleProp] = "1px"; - textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight; - const _styleTarget = toValue(options == null ? void 0 : options.styleTarget); - if (_styleTarget) - _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`; - else - height = `${textareaScrollHeight.value}px`; - textarea.value.style[styleProp] = height; - } - watch([input, textarea], () => nextTick(triggerResize), { immediate: true }); - watch(textareaScrollHeight, () => { - var _a2; - return (_a2 = options == null ? void 0 : options.onResize) == null ? void 0 : _a2.call(options); - }); - useResizeObserver(textarea, ([{ contentRect }]) => { - if (textareaOldWidth.value === contentRect.width) - return; - tryRequestAnimationFrame(window2, () => { - textareaOldWidth.value = contentRect.width; - triggerResize(); - }); - }); - if (options == null ? void 0 : options.watch) - watch(options.watch, triggerResize, { immediate: true, deep: true }); - return { - textarea, - input, - triggerResize - }; -} -function useThrottledRefHistory(source, options = {}) { - const { throttle = 200, trailing = true } = options; - const filter = throttleFilter(throttle, trailing); - const history = useRefHistory(source, { ...options, eventFilter: filter }); - return { - ...history - }; -} -var DEFAULT_UNITS = [ - { max: 6e4, value: 1e3, name: "second" }, - { max: 276e4, value: 6e4, name: "minute" }, - { max: 72e6, value: 36e5, name: "hour" }, - { max: 5184e5, value: 864e5, name: "day" }, - { max: 24192e5, value: 6048e5, name: "week" }, - { max: 28512e6, value: 2592e6, name: "month" }, - { max: Number.POSITIVE_INFINITY, value: 31536e6, name: "year" } -]; -var DEFAULT_MESSAGES = { - justNow: "just now", - past: (n) => n.match(/\d/) ? `${n} ago` : n, - future: (n) => n.match(/\d/) ? `in ${n}` : n, - month: (n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`, - year: (n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`, - day: (n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`, - week: (n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`, - hour: (n) => `${n} hour${n > 1 ? "s" : ""}`, - minute: (n) => `${n} minute${n > 1 ? "s" : ""}`, - second: (n) => `${n} second${n > 1 ? "s" : ""}`, - invalid: "" -}; -function DEFAULT_FORMATTER(date) { - return date.toISOString().slice(0, 10); -} -function useTimeAgo(time, options = {}) { - const { - controls: exposeControls = false, - updateInterval = 3e4 - } = options; - const { now: now2, ...controls } = useNow({ interval: updateInterval, controls: true }); - const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now2))); - if (exposeControls) { - return { - timeAgo, - ...controls - }; - } else { - return timeAgo; - } -} -function formatTimeAgo(from, options = {}, now2 = Date.now()) { - var _a; - const { - max, - messages = DEFAULT_MESSAGES, - fullDateFormatter = DEFAULT_FORMATTER, - units = DEFAULT_UNITS, - showSecond = false, - rounding = "round" - } = options; - const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding]; - const diff = +now2 - +from; - const absDiff = Math.abs(diff); - function getValue2(diff2, unit) { - return roundFn(Math.abs(diff2) / unit.value); - } - function format(diff2, unit) { - const val = getValue2(diff2, unit); - const past = diff2 > 0; - const str = applyFormat(unit.name, val, past); - return applyFormat(past ? "past" : "future", str, past); - } - function applyFormat(name, val, isPast) { - const formatter = messages[name]; - if (typeof formatter === "function") - return formatter(val, isPast); - return formatter.replace("{0}", val.toString()); - } - if (absDiff < 6e4 && !showSecond) - return messages.justNow; - if (typeof max === "number" && absDiff > max) - return fullDateFormatter(new Date(from)); - if (typeof max === "string") { - const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max; - if (unitMax && absDiff > unitMax) - return fullDateFormatter(new Date(from)); - } - for (const [idx, unit] of units.entries()) { - const val = getValue2(diff, unit); - if (val <= 0 && units[idx - 1]) - return format(diff, units[idx - 1]); - if (absDiff < unit.max) - return format(diff, unit); - } - return messages.invalid; -} -function useTimeoutPoll(fn, interval, options = {}) { - const { - immediate = true, - immediateCallback = false - } = options; - const { start } = useTimeoutFn(loop, interval, { immediate }); - const isActive = shallowRef(false); - async function loop() { - if (!isActive.value) - return; - await fn(); - start(); - } - function resume() { - if (!isActive.value) { - isActive.value = true; - if (immediateCallback) - fn(); - start(); - } - } - function pause() { - isActive.value = false; - } - if (immediate && isClient) - resume(); - tryOnScopeDispose(pause); - return { - isActive, - pause, - resume - }; -} -function useTimestamp(options = {}) { - const { - controls: exposeControls = false, - offset = 0, - immediate = true, - interval = "requestAnimationFrame", - callback - } = options; - const ts = shallowRef(timestamp() + offset); - const update = () => ts.value = timestamp() + offset; - const cb = callback ? () => { - update(); - callback(ts.value); - } : update; - const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); - if (exposeControls) { - return { - timestamp: ts, - ...controls - }; - } else { - return ts; - } -} -function useTitle(newTitle = null, options = {}) { - var _a, _b, _c; - const { - document: document2 = defaultDocument, - restoreOnUnmount = (t) => t - } = options; - const originalTitle = (_a = document2 == null ? void 0 : document2.title) != null ? _a : ""; - const title = toRef2((_b = newTitle != null ? newTitle : document2 == null ? void 0 : document2.title) != null ? _b : null); - const isReadonly2 = !!(newTitle && typeof newTitle === "function"); - function format(t) { - if (!("titleTemplate" in options)) - return t; - const template = options.titleTemplate || "%s"; - return typeof template === "function" ? template(t) : toValue(template).replace(/%s/g, t); - } - watch( - title, - (newValue, oldValue) => { - if (newValue !== oldValue && document2) - document2.title = format(newValue != null ? newValue : ""); - }, - { immediate: true } - ); - if (options.observe && !options.titleTemplate && document2 && !isReadonly2) { - useMutationObserver( - (_c = document2.head) == null ? void 0 : _c.querySelector("title"), - () => { - if (document2 && document2.title !== title.value) - title.value = format(document2.title); - }, - { childList: true } - ); - } - tryOnScopeDispose(() => { - if (restoreOnUnmount) { - const restoredTitle = restoreOnUnmount(originalTitle, title.value || ""); - if (restoredTitle != null && document2) - document2.title = restoredTitle; - } - }); - return title; -} -var _TransitionPresets = { - easeInSine: [0.12, 0, 0.39, 0], - easeOutSine: [0.61, 1, 0.88, 1], - easeInOutSine: [0.37, 0, 0.63, 1], - easeInQuad: [0.11, 0, 0.5, 0], - easeOutQuad: [0.5, 1, 0.89, 1], - easeInOutQuad: [0.45, 0, 0.55, 1], - easeInCubic: [0.32, 0, 0.67, 0], - easeOutCubic: [0.33, 1, 0.68, 1], - easeInOutCubic: [0.65, 0, 0.35, 1], - easeInQuart: [0.5, 0, 0.75, 0], - easeOutQuart: [0.25, 1, 0.5, 1], - easeInOutQuart: [0.76, 0, 0.24, 1], - easeInQuint: [0.64, 0, 0.78, 0], - easeOutQuint: [0.22, 1, 0.36, 1], - easeInOutQuint: [0.83, 0, 0.17, 1], - easeInExpo: [0.7, 0, 0.84, 0], - easeOutExpo: [0.16, 1, 0.3, 1], - easeInOutExpo: [0.87, 0, 0.13, 1], - easeInCirc: [0.55, 0, 1, 0.45], - easeOutCirc: [0, 0.55, 0.45, 1], - easeInOutCirc: [0.85, 0, 0.15, 1], - easeInBack: [0.36, 0, 0.66, -0.56], - easeOutBack: [0.34, 1.56, 0.64, 1], - easeInOutBack: [0.68, -0.6, 0.32, 1.6] -}; -var TransitionPresets = Object.assign({}, { linear: identity }, _TransitionPresets); -function createEasingFunction([p0, p1, p2, p3]) { - const a = (a1, a2) => 1 - 3 * a2 + 3 * a1; - const b = (a1, a2) => 3 * a2 - 6 * a1; - const c = (a1) => 3 * a1; - const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t; - const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1); - const getTforX = (x) => { - let aGuessT = x; - for (let i = 0; i < 4; ++i) { - const currentSlope = getSlope(aGuessT, p0, p2); - if (currentSlope === 0) - return aGuessT; - const currentX = calcBezier(aGuessT, p0, p2) - x; - aGuessT -= currentX / currentSlope; - } - return aGuessT; - }; - return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3); -} -function lerp(a, b, alpha) { - return a + alpha * (b - a); -} -function toVec(t) { - return (typeof t === "number" ? [t] : t) || []; -} -function executeTransition(source, from, to, options = {}) { - var _a, _b; - const fromVal = toValue(from); - const toVal = toValue(to); - const v1 = toVec(fromVal); - const v2 = toVec(toVal); - const duration = (_a = toValue(options.duration)) != null ? _a : 1e3; - const startedAt = Date.now(); - const endAt = Date.now() + duration; - const trans = typeof options.transition === "function" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity; - const ease = typeof trans === "function" ? trans : createEasingFunction(trans); - return new Promise((resolve) => { - source.value = fromVal; - const tick = () => { - var _a2; - if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) { - resolve(); - return; - } - const now2 = Date.now(); - const alpha = ease((now2 - startedAt) / duration); - const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha)); - if (Array.isArray(source.value)) - source.value = arr.map((n, i) => { - var _a3, _b2; - return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha); - }); - else if (typeof source.value === "number") - source.value = arr[0]; - if (now2 < endAt) { - requestAnimationFrame(tick); - } else { - source.value = toVal; - resolve(); - } - }; - tick(); - }); -} -function useTransition(source, options = {}) { - let currentId = 0; - const sourceVal = () => { - const v = toValue(source); - return typeof v === "number" ? v : v.map(toValue); - }; - const outputRef = ref(sourceVal()); - watch(sourceVal, async (to) => { - var _a, _b; - if (toValue(options.disabled)) - return; - const id = ++currentId; - if (options.delay) - await promiseTimeout(toValue(options.delay)); - if (id !== currentId) - return; - const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to); - (_a = options.onStarted) == null ? void 0 : _a.call(options); - await executeTransition(outputRef, outputRef.value, toVal, { - ...options, - abort: () => { - var _a2; - return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options)); - } - }); - (_b = options.onFinished) == null ? void 0 : _b.call(options); - }, { deep: true }); - watch(() => toValue(options.disabled), (disabled) => { - if (disabled) { - currentId++; - outputRef.value = sourceVal(); - } - }); - tryOnScopeDispose(() => { - currentId++; - }); - return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value); -} -function useUrlSearchParams(mode = "history", options = {}) { - const { - initialValue = {}, - removeNullishValues = true, - removeFalsyValues = false, - write: enableWrite = true, - writeMode = "replace", - window: window2 = defaultWindow - } = options; - if (!window2) - return reactive(initialValue); - const state = reactive({}); - function getRawParams() { - if (mode === "history") { - return window2.location.search || ""; - } else if (mode === "hash") { - const hash = window2.location.hash || ""; - const index = hash.indexOf("?"); - return index > 0 ? hash.slice(index) : ""; - } else { - return (window2.location.hash || "").replace(/^#/, ""); - } - } - function constructQuery(params) { - const stringified = params.toString(); - if (mode === "history") - return `${stringified ? `?${stringified}` : ""}${window2.location.hash || ""}`; - if (mode === "hash-params") - return `${window2.location.search || ""}${stringified ? `#${stringified}` : ""}`; - const hash = window2.location.hash || "#"; - const index = hash.indexOf("?"); - if (index > 0) - return `${window2.location.search || ""}${hash.slice(0, index)}${stringified ? `?${stringified}` : ""}`; - return `${window2.location.search || ""}${hash}${stringified ? `?${stringified}` : ""}`; - } - function read() { - return new URLSearchParams(getRawParams()); - } - function updateState(params) { - const unusedKeys = new Set(Object.keys(state)); - for (const key of params.keys()) { - const paramsForKey = params.getAll(key); - state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || ""; - unusedKeys.delete(key); - } - Array.from(unusedKeys).forEach((key) => delete state[key]); - } - const { pause, resume } = watchPausable( - state, - () => { - const params = new URLSearchParams(""); - Object.keys(state).forEach((key) => { - const mapEntry = state[key]; - if (Array.isArray(mapEntry)) - mapEntry.forEach((value) => params.append(key, value)); - else if (removeNullishValues && mapEntry == null) - params.delete(key); - else if (removeFalsyValues && !mapEntry) - params.delete(key); - else - params.set(key, mapEntry); - }); - write(params, false); - }, - { deep: true } - ); - function write(params, shouldUpdate) { - pause(); - if (shouldUpdate) - updateState(params); - if (writeMode === "replace") { - window2.history.replaceState( - window2.history.state, - window2.document.title, - window2.location.pathname + constructQuery(params) - ); - } else { - window2.history.pushState( - window2.history.state, - window2.document.title, - window2.location.pathname + constructQuery(params) - ); - } - resume(); - } - function onChanged() { - if (!enableWrite) - return; - write(read(), true); - } - const listenerOptions = { passive: true }; - useEventListener(window2, "popstate", onChanged, listenerOptions); - if (mode !== "history") - useEventListener(window2, "hashchange", onChanged, listenerOptions); - const initial = read(); - if (initial.keys().next().value) - updateState(initial); - else - Object.assign(state, initialValue); - return state; -} -function useUserMedia(options = {}) { - var _a, _b; - const enabled = shallowRef((_a = options.enabled) != null ? _a : false); - const autoSwitch = shallowRef((_b = options.autoSwitch) != null ? _b : true); - const constraints = ref(options.constraints); - const { navigator: navigator2 = defaultNavigator } = options; - const isSupported = useSupported(() => { - var _a2; - return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getUserMedia; - }); - const stream = shallowRef(); - function getDeviceOptions(type) { - switch (type) { - case "video": { - if (constraints.value) - return constraints.value.video || false; - break; - } - case "audio": { - if (constraints.value) - return constraints.value.audio || false; - break; - } - } - } - async function _start() { - if (!isSupported.value || stream.value) - return; - stream.value = await navigator2.mediaDevices.getUserMedia({ - video: getDeviceOptions("video"), - audio: getDeviceOptions("audio") - }); - return stream.value; - } - function _stop() { - var _a2; - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); - stream.value = void 0; - } - function stop() { - _stop(); - enabled.value = false; - } - async function start() { - await _start(); - if (stream.value) - enabled.value = true; - return stream.value; - } - async function restart() { - _stop(); - return await start(); - } - watch( - enabled, - (v) => { - if (v) - _start(); - else _stop(); - }, - { immediate: true } - ); - watch( - constraints, - () => { - if (autoSwitch.value && stream.value) - restart(); - }, - { immediate: true } - ); - tryOnScopeDispose(() => { - stop(); - }); - return { - isSupported, - stream, - start, - stop, - restart, - constraints, - enabled, - autoSwitch - }; -} -function useVModel(props, key, emit, options = {}) { - var _a, _b, _c; - const { - clone = false, - passive = false, - eventName, - deep = false, - defaultValue, - shouldEmit - } = options; - const vm = getCurrentInstance(); - const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy)); - let event = eventName; - if (!key) { - key = "modelValue"; - } - event = event || `update:${key.toString()}`; - const cloneFn = (val) => !clone ? val : typeof clone === "function" ? clone(val) : cloneFnJSON(val); - const getValue2 = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue; - const triggerEmit = (value) => { - if (shouldEmit) { - if (shouldEmit(value)) - _emit(event, value); - } else { - _emit(event, value); - } - }; - if (passive) { - const initialValue = getValue2(); - const proxy = ref(initialValue); - let isUpdating = false; - watch( - () => props[key], - (v) => { - if (!isUpdating) { - isUpdating = true; - proxy.value = cloneFn(v); - nextTick(() => isUpdating = false); - } - } - ); - watch( - proxy, - (v) => { - if (!isUpdating && (v !== props[key] || deep)) - triggerEmit(v); - }, - { deep } - ); - return proxy; - } else { - return computed({ - get() { - return getValue2(); - }, - set(value) { - triggerEmit(value); - } - }); - } -} -function useVModels(props, emit, options = {}) { - const ret = {}; - for (const key in props) { - ret[key] = useVModel( - props, - key, - emit, - options - ); - } - return ret; -} -function useVibrate(options) { - const { - pattern = [], - interval = 0, - navigator: navigator2 = defaultNavigator - } = options || {}; - const isSupported = useSupported(() => typeof navigator2 !== "undefined" && "vibrate" in navigator2); - const patternRef = toRef2(pattern); - let intervalControls; - const vibrate = (pattern2 = patternRef.value) => { - if (isSupported.value) - navigator2.vibrate(pattern2); - }; - const stop = () => { - if (isSupported.value) - navigator2.vibrate(0); - intervalControls == null ? void 0 : intervalControls.pause(); - }; - if (interval > 0) { - intervalControls = useIntervalFn( - vibrate, - interval, - { - immediate: false, - immediateCallback: false - } - ); - } - return { - isSupported, - pattern, - intervalControls, - vibrate, - stop - }; -} -function useVirtualList(list, options) { - const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = "itemHeight" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list); - return { - list: currentList, - scrollTo, - containerProps: { - ref: containerRef, - onScroll: () => { - calculateRange(); - }, - style: containerStyle - }, - wrapperProps - }; -} -function useVirtualListResources(list) { - const containerRef = shallowRef(null); - const size = useElementSize(containerRef); - const currentList = ref([]); - const source = shallowRef(list); - const state = ref({ start: 0, end: 10 }); - return { state, source, currentList, size, containerRef }; -} -function createGetViewCapacity(state, source, itemSize) { - return (containerSize) => { - if (typeof itemSize === "number") - return Math.ceil(containerSize / itemSize); - const { start = 0 } = state.value; - let sum = 0; - let capacity = 0; - for (let i = start; i < source.value.length; i++) { - const size = itemSize(i); - sum += size; - capacity = i; - if (sum > containerSize) - break; - } - return capacity - start; - }; -} -function createGetOffset(source, itemSize) { - return (scrollDirection) => { - if (typeof itemSize === "number") - return Math.floor(scrollDirection / itemSize) + 1; - let sum = 0; - let offset = 0; - for (let i = 0; i < source.value.length; i++) { - const size = itemSize(i); - sum += size; - if (sum >= scrollDirection) { - offset = i; - break; - } - } - return offset + 1; - }; -} -function createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) { - return () => { - const element = containerRef.value; - if (element) { - const offset = getOffset(type === "vertical" ? element.scrollTop : element.scrollLeft); - const viewCapacity = getViewCapacity(type === "vertical" ? element.clientHeight : element.clientWidth); - const from = offset - overscan; - const to = offset + viewCapacity + overscan; - state.value = { - start: from < 0 ? 0 : from, - end: to > source.value.length ? source.value.length : to - }; - currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({ - data: ele, - index: index + state.value.start - })); - } - }; -} -function createGetDistance(itemSize, source) { - return (index) => { - if (typeof itemSize === "number") { - const size2 = index * itemSize; - return size2; - } - const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0); - return size; - }; -} -function useWatchForSizes(size, list, containerRef, calculateRange) { - watch([size.width, size.height, list, containerRef], () => { - calculateRange(); - }); -} -function createComputedTotalSize(itemSize, source) { - return computed(() => { - if (typeof itemSize === "number") - return source.value.length * itemSize; - return source.value.reduce((sum, _, index) => sum + itemSize(index), 0); - }); -} -var scrollToDictionaryForElementScrollKey = { - horizontal: "scrollLeft", - vertical: "scrollTop" -}; -function createScrollTo(type, calculateRange, getDistance, containerRef) { - return (index) => { - if (containerRef.value) { - containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index); - calculateRange(); - } - }; -} -function useHorizontalVirtualList(options, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size, containerRef } = resources; - const containerStyle = { overflowX: "auto" }; - const { itemWidth, overscan = 5 } = options; - const getViewCapacity = createGetViewCapacity(state, source, itemWidth); - const getOffset = createGetOffset(source, itemWidth); - const calculateRange = createCalculateRange("horizontal", overscan, getOffset, getViewCapacity, resources); - const getDistanceLeft = createGetDistance(itemWidth, source); - const offsetLeft = computed(() => getDistanceLeft(state.value.start)); - const totalWidth = createComputedTotalSize(itemWidth, source); - useWatchForSizes(size, list, containerRef, calculateRange); - const scrollTo = createScrollTo("horizontal", calculateRange, getDistanceLeft, containerRef); - const wrapperProps = computed(() => { - return { - style: { - height: "100%", - width: `${totalWidth.value - offsetLeft.value}px`, - marginLeft: `${offsetLeft.value}px`, - display: "flex" - } - }; - }); - return { - scrollTo, - calculateRange, - wrapperProps, - containerStyle, - currentList, - containerRef - }; -} -function useVerticalVirtualList(options, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size, containerRef } = resources; - const containerStyle = { overflowY: "auto" }; - const { itemHeight, overscan = 5 } = options; - const getViewCapacity = createGetViewCapacity(state, source, itemHeight); - const getOffset = createGetOffset(source, itemHeight); - const calculateRange = createCalculateRange("vertical", overscan, getOffset, getViewCapacity, resources); - const getDistanceTop = createGetDistance(itemHeight, source); - const offsetTop = computed(() => getDistanceTop(state.value.start)); - const totalHeight = createComputedTotalSize(itemHeight, source); - useWatchForSizes(size, list, containerRef, calculateRange); - const scrollTo = createScrollTo("vertical", calculateRange, getDistanceTop, containerRef); - const wrapperProps = computed(() => { - return { - style: { - width: "100%", - height: `${totalHeight.value - offsetTop.value}px`, - marginTop: `${offsetTop.value}px` - } - }; - }); - return { - calculateRange, - scrollTo, - containerStyle, - wrapperProps, - currentList, - containerRef - }; -} -function useWakeLock(options = {}) { - const { - navigator: navigator2 = defaultNavigator, - document: document2 = defaultDocument - } = options; - const requestedType = shallowRef(false); - const sentinel = shallowRef(null); - const documentVisibility = useDocumentVisibility({ document: document2 }); - const isSupported = useSupported(() => navigator2 && "wakeLock" in navigator2); - const isActive = computed(() => !!sentinel.value && documentVisibility.value === "visible"); - if (isSupported.value) { - useEventListener(sentinel, "release", () => { - var _a, _b; - requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false; - }, { passive: true }); - whenever( - () => documentVisibility.value === "visible" && (document2 == null ? void 0 : document2.visibilityState) === "visible" && requestedType.value, - (type) => { - requestedType.value = false; - forceRequest(type); - } - ); - } - async function forceRequest(type) { - var _a; - await ((_a = sentinel.value) == null ? void 0 : _a.release()); - sentinel.value = isSupported.value ? await navigator2.wakeLock.request(type) : null; - } - async function request(type) { - if (documentVisibility.value === "visible") - await forceRequest(type); - else - requestedType.value = type; - } - async function release() { - requestedType.value = false; - const s = sentinel.value; - sentinel.value = null; - await (s == null ? void 0 : s.release()); - } - return { - sentinel, - isSupported, - isActive, - request, - forceRequest, - release - }; -} -function useWebNotification(options = {}) { - const { - window: window2 = defaultWindow, - requestPermissions: _requestForPermissions = true - } = options; - const defaultWebNotificationOptions = options; - const isSupported = useSupported(() => { - if (!window2 || !("Notification" in window2)) - return false; - if (Notification.permission === "granted") - return true; - try { - const notification2 = new Notification(""); - notification2.onshow = () => { - notification2.close(); - }; - } catch (e) { - if (e.name === "TypeError") - return false; - } - return true; - }); - const permissionGranted = shallowRef(isSupported.value && "permission" in Notification && Notification.permission === "granted"); - const notification = ref(null); - const ensurePermissions = async () => { - if (!isSupported.value) - return; - if (!permissionGranted.value && Notification.permission !== "denied") { - const result = await Notification.requestPermission(); - if (result === "granted") - permissionGranted.value = true; - } - return permissionGranted.value; - }; - const { on: onClick, trigger: clickTrigger } = createEventHook(); - const { on: onShow, trigger: showTrigger } = createEventHook(); - const { on: onError, trigger: errorTrigger } = createEventHook(); - const { on: onClose, trigger: closeTrigger } = createEventHook(); - const show = async (overrides) => { - if (!isSupported.value || !permissionGranted.value) - return; - const options2 = Object.assign({}, defaultWebNotificationOptions, overrides); - notification.value = new Notification(options2.title || "", options2); - notification.value.onclick = clickTrigger; - notification.value.onshow = showTrigger; - notification.value.onerror = errorTrigger; - notification.value.onclose = closeTrigger; - return notification.value; - }; - const close = () => { - if (notification.value) - notification.value.close(); - notification.value = null; - }; - if (_requestForPermissions) - tryOnMounted(ensurePermissions); - tryOnScopeDispose(close); - if (isSupported.value && window2) { - const document2 = window2.document; - useEventListener(document2, "visibilitychange", (e) => { - e.preventDefault(); - if (document2.visibilityState === "visible") { - close(); - } - }); - } - return { - isSupported, - notification, - ensurePermissions, - permissionGranted, - show, - close, - onClick, - onShow, - onError, - onClose - }; -} -var DEFAULT_PING_MESSAGE = "ping"; -function resolveNestedOptions(options) { - if (options === true) - return {}; - return options; -} -function useWebSocket(url, options = {}) { - const { - onConnected, - onDisconnected, - onError, - onMessage, - immediate = true, - autoConnect = true, - autoClose = true, - protocols = [] - } = options; - const data = ref(null); - const status = shallowRef("CLOSED"); - const wsRef = ref(); - const urlRef = toRef2(url); - let heartbeatPause; - let heartbeatResume; - let explicitlyClosed = false; - let retried = 0; - let bufferedData = []; - let retryTimeout; - let pongTimeoutWait; - const _sendBuffer = () => { - if (bufferedData.length && wsRef.value && status.value === "OPEN") { - for (const buffer of bufferedData) - wsRef.value.send(buffer); - bufferedData = []; - } - }; - const resetRetry = () => { - if (retryTimeout != null) { - clearTimeout(retryTimeout); - retryTimeout = void 0; - } - }; - const resetHeartbeat = () => { - clearTimeout(pongTimeoutWait); - pongTimeoutWait = void 0; - }; - const close = (code = 1e3, reason) => { - resetRetry(); - if (!isClient && !isWorker || !wsRef.value) - return; - explicitlyClosed = true; - resetHeartbeat(); - heartbeatPause == null ? void 0 : heartbeatPause(); - wsRef.value.close(code, reason); - wsRef.value = void 0; - }; - const send = (data2, useBuffer = true) => { - if (!wsRef.value || status.value !== "OPEN") { - if (useBuffer) - bufferedData.push(data2); - return false; - } - _sendBuffer(); - wsRef.value.send(data2); - return true; - }; - const _init = () => { - if (explicitlyClosed || typeof urlRef.value === "undefined") - return; - const ws = new WebSocket(urlRef.value, protocols); - wsRef.value = ws; - status.value = "CONNECTING"; - ws.onopen = () => { - status.value = "OPEN"; - retried = 0; - onConnected == null ? void 0 : onConnected(ws); - heartbeatResume == null ? void 0 : heartbeatResume(); - _sendBuffer(); - }; - ws.onclose = (ev) => { - status.value = "CLOSED"; - resetHeartbeat(); - heartbeatPause == null ? void 0 : heartbeatPause(); - onDisconnected == null ? void 0 : onDisconnected(ws, ev); - if (!explicitlyClosed && options.autoReconnect && (wsRef.value == null || ws === wsRef.value)) { - const { - retries = -1, - delay = 1e3, - onFailed - } = resolveNestedOptions(options.autoReconnect); - const checkRetires = typeof retries === "function" ? retries : () => typeof retries === "number" && (retries < 0 || retried < retries); - if (checkRetires(retried)) { - retried += 1; - retryTimeout = setTimeout(_init, delay); - } else { - onFailed == null ? void 0 : onFailed(); - } - } - }; - ws.onerror = (e) => { - onError == null ? void 0 : onError(ws, e); - }; - ws.onmessage = (e) => { - if (options.heartbeat) { - resetHeartbeat(); - const { - message = DEFAULT_PING_MESSAGE, - responseMessage = message - } = resolveNestedOptions(options.heartbeat); - if (e.data === toValue(responseMessage)) - return; - } - data.value = e.data; - onMessage == null ? void 0 : onMessage(ws, e); - }; - }; - if (options.heartbeat) { - const { - message = DEFAULT_PING_MESSAGE, - interval = 1e3, - pongTimeout = 1e3 - } = resolveNestedOptions(options.heartbeat); - const { pause, resume } = useIntervalFn( - () => { - send(toValue(message), false); - if (pongTimeoutWait != null) - return; - pongTimeoutWait = setTimeout(() => { - close(); - explicitlyClosed = false; - }, pongTimeout); - }, - interval, - { immediate: false } - ); - heartbeatPause = pause; - heartbeatResume = resume; - } - if (autoClose) { - if (isClient) - useEventListener("beforeunload", () => close(), { passive: true }); - tryOnScopeDispose(close); - } - const open = () => { - if (!isClient && !isWorker) - return; - close(); - explicitlyClosed = false; - retried = 0; - _init(); - }; - if (immediate) - open(); - if (autoConnect) - watch(urlRef, open); - return { - data, - status, - close, - send, - open, - ws: wsRef - }; -} -function useWebWorker(arg0, workerOptions, options) { - const { - window: window2 = defaultWindow - } = options != null ? options : {}; - const data = ref(null); - const worker = shallowRef(); - const post = (...args) => { - if (!worker.value) - return; - worker.value.postMessage(...args); - }; - const terminate = function terminate2() { - if (!worker.value) - return; - worker.value.terminate(); - }; - if (window2) { - if (typeof arg0 === "string") - worker.value = new Worker(arg0, workerOptions); - else if (typeof arg0 === "function") - worker.value = arg0(); - else - worker.value = arg0; - worker.value.onmessage = (e) => { - data.value = e.data; - }; - tryOnScopeDispose(() => { - if (worker.value) - worker.value.terminate(); - }); - } - return { - data, - post, - terminate, - worker - }; -} -function depsParser(deps, localDeps) { - if (deps.length === 0 && localDeps.length === 0) - return ""; - const depsString = deps.map((dep) => `'${dep}'`).toString(); - const depsFunctionString = localDeps.filter((dep) => typeof dep === "function").map((fn) => { - const str = fn.toString(); - if (str.trim().startsWith("function")) { - return str; - } else { - const name = fn.name; - return `const ${name} = ${str}`; - } - }).join(";"); - const importString = `importScripts(${depsString});`; - return `${depsString.trim() === "" ? "" : importString} ${depsFunctionString}`; -} -function jobRunner(userFunc) { - return (e) => { - const userFuncArgs = e.data[0]; - return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => { - postMessage(["SUCCESS", result]); - }).catch((error) => { - postMessage(["ERROR", error]); - }); - }; -} -function createWorkerBlobUrl(fn, deps, localDeps) { - const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`; - const blob = new Blob([blobCode], { type: "text/javascript" }); - const url = URL.createObjectURL(blob); - return url; -} -function useWebWorkerFn(fn, options = {}) { - const { - dependencies = [], - localDependencies = [], - timeout, - window: window2 = defaultWindow - } = options; - const worker = ref(); - const workerStatus = shallowRef("PENDING"); - const promise = ref({}); - const timeoutId = shallowRef(); - const workerTerminate = (status = "PENDING") => { - if (worker.value && worker.value._url && window2) { - worker.value.terminate(); - URL.revokeObjectURL(worker.value._url); - promise.value = {}; - worker.value = void 0; - window2.clearTimeout(timeoutId.value); - workerStatus.value = status; - } - }; - workerTerminate(); - tryOnScopeDispose(workerTerminate); - const generateWorker = () => { - const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies); - const newWorker = new Worker(blobUrl); - newWorker._url = blobUrl; - newWorker.onmessage = (e) => { - const { resolve = () => { - }, reject = () => { - } } = promise.value; - const [status, result] = e.data; - switch (status) { - case "SUCCESS": - resolve(result); - workerTerminate(status); - break; - default: - reject(result); - workerTerminate("ERROR"); - break; - } - }; - newWorker.onerror = (e) => { - const { reject = () => { - } } = promise.value; - e.preventDefault(); - reject(e); - workerTerminate("ERROR"); - }; - if (timeout) { - timeoutId.value = setTimeout( - () => workerTerminate("TIMEOUT_EXPIRED"), - timeout - ); - } - return newWorker; - }; - const callWorker = (...fnArgs) => new Promise((resolve, reject) => { - var _a; - promise.value = { - resolve, - reject - }; - (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]); - workerStatus.value = "RUNNING"; - }); - const workerFn = (...fnArgs) => { - if (workerStatus.value === "RUNNING") { - console.error( - "[useWebWorkerFn] You can only run one instance of the worker at a time." - ); - return Promise.reject(); - } - worker.value = generateWorker(); - return callWorker(...fnArgs); - }; - return { - workerFn, - workerStatus, - workerTerminate - }; -} -function useWindowFocus(options = {}) { - const { window: window2 = defaultWindow } = options; - if (!window2) - return shallowRef(false); - const focused = shallowRef(window2.document.hasFocus()); - const listenerOptions = { passive: true }; - useEventListener(window2, "blur", () => { - focused.value = false; - }, listenerOptions); - useEventListener(window2, "focus", () => { - focused.value = true; - }, listenerOptions); - return focused; -} -function useWindowScroll(options = {}) { - const { window: window2 = defaultWindow, ...rest } = options; - return useScroll(window2, rest); -} -function useWindowSize(options = {}) { - const { - window: window2 = defaultWindow, - initialWidth = Number.POSITIVE_INFINITY, - initialHeight = Number.POSITIVE_INFINITY, - listenOrientation = true, - includeScrollbar = true, - type = "inner" - } = options; - const width = shallowRef(initialWidth); - const height = shallowRef(initialHeight); - const update = () => { - if (window2) { - if (type === "outer") { - width.value = window2.outerWidth; - height.value = window2.outerHeight; - } else if (type === "visual" && window2.visualViewport) { - const { width: visualViewportWidth, height: visualViewportHeight, scale } = window2.visualViewport; - width.value = Math.round(visualViewportWidth * scale); - height.value = Math.round(visualViewportHeight * scale); - } else if (includeScrollbar) { - width.value = window2.innerWidth; - height.value = window2.innerHeight; - } else { - width.value = window2.document.documentElement.clientWidth; - height.value = window2.document.documentElement.clientHeight; - } - } - }; - update(); - tryOnMounted(update); - const listenerOptions = { passive: true }; - useEventListener("resize", update, listenerOptions); - if (window2 && type === "visual" && window2.visualViewport) { - useEventListener(window2.visualViewport, "resize", update, listenerOptions); - } - if (listenOrientation) { - const matches = useMediaQuery("(orientation: portrait)"); - watch(matches, () => update()); - } - return { width, height }; -} - -export { - computedEager, - computedWithControl, - tryOnScopeDispose, - createEventHook, - createGlobalState, - injectLocal, - provideLocal, - createInjectionState, - createRef, - createSharedComposable, - extendRef, - get, - isDefined, - makeDestructurable, - reactify, - reactifyObject, - toReactive, - reactiveComputed, - reactiveOmit, - isClient, - isWorker, - isDef, - notNullish, - assert, - isObject, - now, - timestamp, - clamp, - noop, - rand, - hasOwn, - isIOS, - createFilterWrapper, - bypassFilter, - debounceFilter, - throttleFilter, - pausableFilter, - hyphenate, - camelize, - promiseTimeout, - identity, - createSingletonPromise, - invoke, - containsProp, - increaseWithUnit, - pxValue, - objectPick, - objectOmit, - objectEntries, - getLifeCycleTarget, - toArray, - toRef2 as toRef, - resolveRef, - reactivePick, - refAutoReset, - useDebounceFn, - refDebounced, - refDefault, - useThrottleFn, - refThrottled, - refWithControl, - controlledRef, - set, - watchWithFilter, - watchPausable, - syncRef, - syncRefs, - toRefs2 as toRefs, - toValue2 as toValue, - resolveUnref, - tryOnBeforeMount, - tryOnBeforeUnmount, - tryOnMounted, - tryOnUnmounted, - until, - useArrayDifference, - useArrayEvery, - useArrayFilter, - useArrayFind, - useArrayFindIndex, - useArrayFindLast, - useArrayIncludes, - useArrayJoin, - useArrayMap, - useArrayReduce, - useArraySome, - useArrayUnique, - useCounter, - formatDate, - normalizeDate, - useDateFormat, - useIntervalFn, - useInterval, - useLastChanged, - useTimeoutFn, - useTimeout, - useToNumber, - useToString, - useToggle, - watchArray, - watchAtMost, - watchDebounced, - watchDeep, - watchIgnorable, - watchImmediate, - watchOnce, - watchThrottled, - watchTriggerable, - whenever, - computedAsync, - computedInject, - createReusableTemplate, - createTemplatePromise, - createUnrefFn, - defaultWindow, - defaultDocument, - defaultNavigator, - defaultLocation, - unrefElement, - useEventListener, - onClickOutside, - useMounted, - useSupported, - useMutationObserver, - onElementRemoval, - onKeyStroke, - onKeyDown, - onKeyPressed, - onKeyUp, - onLongPress, - onStartTyping, - templateRef, - useActiveElement, - useRafFn, - useAnimate, - useAsyncQueue, - useAsyncState, - useBase64, - useBattery, - useBluetooth, - useSSRWidth, - provideSSRWidth, - useMediaQuery, - breakpointsTailwind, - breakpointsBootstrapV5, - breakpointsVuetifyV2, - breakpointsVuetifyV3, - breakpointsVuetify, - breakpointsAntDesign, - breakpointsQuasar, - breakpointsSematic, - breakpointsMasterCss, - breakpointsPrimeFlex, - breakpointsElement, - useBreakpoints, - useBroadcastChannel, - useBrowserLocation, - useCached, - usePermission, - useClipboard, - useClipboardItems, - cloneFnJSON, - useCloned, - getSSRHandler, - setSSRHandler, - usePreferredDark, - StorageSerializers, - customStorageEventName, - useStorage, - useColorMode, - useConfirmDialog, - useCountdown, - useCssVar, - useCurrentElement, - useCycleList, - useDark, - useManualRefHistory, - useRefHistory, - useDebouncedRefHistory, - useDeviceMotion, - useDeviceOrientation, - useDevicePixelRatio, - useDevicesList, - useDisplayMedia, - useDocumentVisibility, - useDraggable, - useDropZone, - useResizeObserver, - useElementBounding, - useElementByPoint, - useElementHover, - useElementSize, - useIntersectionObserver, - useElementVisibility, - useEventBus, - useEventSource, - useEyeDropper, - useFavicon, - createFetch, - useFetch, - useFileDialog, - useFileSystemAccess, - useFocus, - useFocusWithin, - useFps, - useFullscreen, - mapGamepadToXbox360Controller, - useGamepad, - useGeolocation, - useIdle, - useImage, - useScroll, - useInfiniteScroll, - useKeyModifier, - useLocalStorage, - DefaultMagicKeysAliasMap, - useMagicKeys, - useMediaControls, - useMemoize, - useMemory, - useMouse, - useMouseInElement, - useMousePressed, - useNavigatorLanguage, - useNetwork, - useNow, - useObjectUrl, - useOffsetPagination, - useOnline, - usePageLeave, - useScreenOrientation, - useParallax, - useParentElement, - usePerformanceObserver, - usePointer, - usePointerLock, - usePointerSwipe, - usePreferredColorScheme, - usePreferredContrast, - usePreferredLanguages, - usePreferredReducedMotion, - usePreferredReducedTransparency, - usePrevious, - useScreenSafeArea, - useScriptTag, - useScrollLock, - useSessionStorage, - useShare, - useSorted, - useSpeechRecognition, - useSpeechSynthesis, - useStepper, - useStorageAsync, - useStyleTag, - useSwipe, - useTemplateRefsList, - useTextDirection, - useTextSelection, - useTextareaAutosize, - useThrottledRefHistory, - useTimeAgo, - formatTimeAgo, - useTimeoutPoll, - useTimestamp, - useTitle, - TransitionPresets, - executeTransition, - useTransition, - useUrlSearchParams, - useUserMedia, - useVModel, - useVModels, - useVibrate, - useVirtualList, - useWakeLock, - useWebNotification, - useWebSocket, - useWebWorker, - useWebWorkerFn, - useWindowFocus, - useWindowScroll, - useWindowSize -}; -//# sourceMappingURL=chunk-LJKO4TMH.js.map diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js.map b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js.map deleted file mode 100644 index 87cb807..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-LJKO4TMH.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../node_modules/@vueuse/shared/index.mjs", "../../../node_modules/@vueuse/core/index.mjs"], - "sourcesContent": ["import { shallowRef, watchEffect, readonly, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, hasInjectionContext, inject, provide, ref, isRef, unref, toValue as toValue$1, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = shallowRef(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get(v);\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const clear = () => {\n fns.clear();\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger,\n clear\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null && !hasInjectionContext())\n throw new Error(\"injectLocal must be called in setup\");\n if (instance && localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const defaultValue = options == null ? void 0 : options.defaultValue;\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key, defaultValue);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createRef(value, deep) {\n if (deep === true) {\n return ref(value);\n } else {\n return shallowRef(value);\n }\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue$1;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue$1(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n let lastInvoker;\n const filter = (invoke) => {\n const duration = toValue$1(ms);\n const maxDuration = toValue$1(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n lastInvoker = invoke;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(lastInvoker());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue$1(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter, options = {}) {\n const {\n initialState = \"active\"\n } = options;\n const isActive = toRef(initialState === \"active\");\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction pxValue(px) {\n return px.endsWith(\"rem\") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue$1(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue$1(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue$1(defaultValue);\n trigger();\n }, toValue$1(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n const [target, key, value] = args;\n target[key] = value;\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n initialState = \"active\",\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n const targetsArray = toArray(targets);\n return watch(\n source,\n (newValue) => targetsArray.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue$1(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nconst toValue = toValue$1;\nconst resolveUnref = toValue$1;\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue$1(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue$1(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue$1(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue$1(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue$1(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a, _b;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n const {\n symmetric = false\n } = (_b = args[3]) != null ? _b : {};\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n const diff1 = computed(() => toValue$1(list).filter((x) => toValue$1(values).findIndex((y) => compareFn(x, y)) === -1));\n if (symmetric) {\n const diff2 = computed(() => toValue$1(values).filter((x) => toValue$1(list).findIndex((y) => compareFn(x, y)) === -1));\n return computed(() => symmetric ? [...toValue$1(diff1), ...toValue$1(diff2)] : toValue$1(diff1));\n } else {\n return diff1;\n }\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue$1(list).every((element, index, array) => fn(toValue$1(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue$1(list).map((i) => toValue$1(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue$1(\n toValue$1(list).find((element, index, array) => fn(toValue$1(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue$1(list).findIndex((element, index, array) => fn(toValue$1(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue$1(\n !Array.prototype.findLast ? findLast(toValue$1(list), (element, index, array) => fn(toValue$1(element), index, array)) : toValue$1(list).findLast((element, index, array) => fn(toValue$1(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue$1(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue$1(value2);\n return computed(() => toValue$1(list).slice(formIndex).some((element, index, array) => comparator(\n toValue$1(element),\n toValue$1(value),\n index,\n toValue$1(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue$1(list).map((i) => toValue$1(i)).join(toValue$1(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue$1(list).map((i) => toValue$1(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue$1(sum), toValue$1(value), index);\n return computed(() => {\n const resolved = toValue$1(list);\n return args.length ? resolved.reduce(reduceCallback, typeof args[0] === \"function\" ? toValue$1(args[0]()) : toValue$1(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue$1(list).some((element, index, array) => fn(toValue$1(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue$1(list).map((element) => toValue$1(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = shallowRef(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const stripTimeZone = (dateString) => {\n var _a2;\n return (_a2 = dateString.split(\" \")[1]) != null ? _a2 : \"\";\n };\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(toValue$1(options.locales), { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(toValue$1(options.locales), { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(toValue$1(options.locales), { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(toValue$1(options.locales), { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(toValue$1(options.locales), { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true),\n z: () => stripTimeZone(date.toLocaleDateString(toValue$1(options.locales), { timeZoneName: \"shortOffset\" })),\n zz: () => stripTimeZone(date.toLocaleDateString(toValue$1(options.locales), { timeZoneName: \"shortOffset\" })),\n zzz: () => stripTimeZone(date.toLocaleDateString(toValue$1(options.locales), { timeZoneName: \"shortOffset\" })),\n zzzz: () => stripTimeZone(date.toLocaleDateString(toValue$1(options.locales), { timeZoneName: \"longOffset\" }))\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue$1(date)), toValue$1(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = shallowRef(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue$1(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = shallowRef(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = shallowRef((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n const isPending = shallowRef(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n if (immediateCallback)\n cb();\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue$1(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue$1(value);\n if (typeof method === \"function\")\n resolved = method(resolved);\n else if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue$1(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = shallowRef(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue$1(truthyValue);\n _value.value = _value.value === truthy ? toValue$1(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...typeof source === \"function\" ? source() : Array.isArray(source) ? source : toValue$1(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = shallowRef(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue$1(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = shallowRef(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = shallowRef(0);\n const syncCounter = shallowRef(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue$1(item));\n return toValue$1(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n", "import { noop, makeDestructurable, camelize, isClient, toArray, watchImmediate, isObject, tryOnScopeDispose, isIOS, notNullish, tryOnMounted, objectOmit, promiseTimeout, until, injectLocal, provideLocal, pxValue, increaseWithUnit, objectEntries, createRef, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, useIntervalFn, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, bypassFilter, createFilterWrapper, toRefs, watchOnce, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, tryOnUnmounted, clamp, syncRef, objectPick, watchWithFilter, identity, isDef, whenever, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, shallowRef, ref, watchEffect, computed, inject, defineComponent, h, TransitionGroup, shallowReactive, Fragment, toValue, unref, getCurrentInstance, onMounted, watch, customRef, onUpdated, readonly, reactive, hasInjectionContext, toRaw, nextTick, markRaw, getCurrentScope, isReadonly, onBeforeUpdate } from 'vue';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = shallowRef(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /*@__PURE__*/ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /*@__PURE__*/ defineComponent({\n inheritAttrs,\n props: options.props,\n setup(props, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, {\n ...options.props == null ? keysToCamelKebabCase(attrs) : props,\n $slots: slots\n });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /*@__PURE__*/ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nfunction useEventListener(...args) {\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options) => {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener, options);\n };\n const firstParamTargets = computed(() => {\n const test = toArray(toValue(args[0])).filter((e) => e != null);\n return test.every((e) => typeof e !== \"string\") ? test : void 0;\n });\n const stopWatch = watchImmediate(\n () => {\n var _a, _b;\n return [\n (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),\n toArray(toValue(firstParamTargets.value ? args[1] : args[0])),\n toArray(unref(firstParamTargets.value ? args[2] : args[1])),\n // @ts-expect-error - TypeScript gets the correct types, but somehow still complains\n toValue(firstParamTargets.value ? args[3] : args[2])\n ];\n },\n ([raw_targets, raw_events, raw_listeners, raw_options]) => {\n cleanup();\n if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length))\n return;\n const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;\n cleanups.push(\n ...raw_targets.flatMap(\n (el) => raw_events.flatMap(\n (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))\n )\n )\n );\n },\n { flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(cleanup);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;\n if (!window) {\n return controls ? { stop: noop, cancel: noop, trigger: noop } : noop;\n }\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n const listenerOptions = { passive: true };\n Array.from(window.document.body.children).forEach((el) => useEventListener(el, \"click\", noop, listenerOptions));\n useEventListener(window.document.documentElement, \"click\", noop, listenerOptions);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (\"detail\" in event && event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n }, { passive: true })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n if (controls) {\n return {\n stop,\n cancel: () => {\n shouldListen = false;\n },\n trigger: (event) => {\n shouldListen = true;\n listener(event);\n shouldListen = false;\n }\n };\n }\n return stop;\n}\n\nfunction useMounted() {\n const isMounted = shallowRef(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = toArray(value).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction onElementRemoval(target, callback, options = {}) {\n const {\n window = defaultWindow,\n document = window == null ? void 0 : window.document,\n flush = \"sync\"\n } = options;\n if (!window || !document)\n return noop;\n let stopFn;\n const cleanupAndUpdate = (fn) => {\n stopFn == null ? void 0 : stopFn();\n stopFn = fn;\n };\n const stopWatch = watchEffect(() => {\n const el = unrefElement(target);\n if (el) {\n const { stop } = useMutationObserver(\n document,\n (mutationsList) => {\n const targetRemoved = mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el));\n if (targetRemoved) {\n callback(mutationsList);\n }\n },\n {\n window,\n childList: true,\n subtree: true\n }\n );\n cleanupAndUpdate(stop);\n }\n }, { flush });\n const stopHandle = () => {\n stopWatch();\n cleanupAndUpdate();\n };\n tryOnScopeDispose(stopHandle);\n return stopHandle;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n if (!isFocusedElementEditable() && isTypedCharValid(event)) {\n callback(event);\n }\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true,\n triggerOnRemoval = false\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = shallowRef();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n const listenerOptions = {\n capture: true,\n passive: true\n };\n useEventListener(\n window,\n \"blur\",\n (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n },\n listenerOptions\n );\n useEventListener(\n window,\n \"focus\",\n trigger,\n listenerOptions\n );\n }\n if (triggerOnRemoval) {\n onElementRemoval(activeElement, trigger, { document });\n }\n trigger();\n return activeElement;\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow,\n once = false\n } = options;\n const isActive = shallowRef(false);\n const intervalLimit = computed(() => {\n return fpsLimit ? 1e3 / toValue(fpsLimit) : null;\n });\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit.value && delta < intervalLimit.value) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n if (once) {\n isActive.value = false;\n rafId = null;\n return;\n }\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n if (!animate.value)\n update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n if (el) {\n update();\n } else {\n animate.value = void 0;\n }\n });\n watch(() => keyframes, (value) => {\n if (animate.value) {\n update();\n const targetEl = unrefElement(target);\n if (targetEl) {\n animate.value.effect = new KeyframeEffect(\n targetEl,\n toValue(value),\n animateOptions\n );\n }\n }\n }, { deep: true });\n tryOnMounted(() => update(true), false);\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n const listenerOptions = { passive: true };\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause, listenerOptions);\n useEventListener(animate, \"finish\", () => {\n var _a;\n if (commitStyles)\n (_a = animate.value) == null ? void 0 : _a.commitStyles();\n }, listenerOptions);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = shallowRef(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n if (activeIndex.value === tasks.length - 1)\n onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = shallowRef(false);\n const isLoading = shallowRef(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate) {\n execute(delay);\n }\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = shallowRef(\"\");\n const promise = shallowRef();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => {\n base64.value = (options == null ? void 0 : options.dataUrl) === false ? res.replace(/^data:.*?;base64,/, \"\") : res;\n });\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = shallowRef(false);\n const chargingTime = shallowRef(0);\n const dischargingTime = shallowRef(0);\n const level = shallowRef(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef();\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = shallowRef();\n const isConnected = shallowRef(false);\n function reset() {\n isConnected.value = false;\n device.value = void 0;\n server.value = void 0;\n }\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n useEventListener(device, \"gattserverdisconnected\", reset, { passive: true });\n try {\n server.value = await device.value.gatt.connect();\n isConnected.value = server.value.connected;\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected: readonly(isConnected),\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nconst ssrWidthSymbol = Symbol(\"vueuse-ssr-width\");\nfunction useSSRWidth() {\n const ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null;\n return typeof ssrWidth === \"number\" ? ssrWidth : void 0;\n}\nfunction provideSSRWidth(width, app) {\n if (app !== void 0) {\n app.provide(ssrWidthSymbol, width);\n } else {\n provideLocal(ssrWidthSymbol, width);\n }\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow, ssrWidth = useSSRWidth() } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n const ssrSupport = shallowRef(typeof ssrWidth === \"number\");\n const mediaQuery = shallowRef();\n const matches = shallowRef(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n watchEffect(() => {\n if (ssrSupport.value) {\n ssrSupport.value = !isSupported.value;\n const queryStrings = toValue(query).split(\",\");\n matches.value = queryStrings.some((queryString) => {\n const not = queryString.includes(\"not all\");\n const minWidth = queryString.match(/\\(\\s*min-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n const maxWidth = queryString.match(/\\(\\s*max-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n let res = Boolean(minWidth || maxWidth);\n if (minWidth && res) {\n res = ssrWidth >= pxValue(minWidth[1]);\n }\n if (maxWidth && res) {\n res = ssrWidth <= pxValue(maxWidth[1]);\n }\n return not ? !res : res;\n });\n return;\n }\n if (!isSupported.value)\n return;\n mediaQuery.value = window.matchMedia(toValue(query));\n matches.value = mediaQuery.value.matches;\n });\n useEventListener(mediaQuery, \"change\", handler, { passive: true });\n return computed(() => matches.value);\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\nconst breakpointsElement = {\n xs: 0,\n sm: 768,\n md: 992,\n lg: 1200,\n xl: 1920\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\", ssrWidth = useSSRWidth() } = options;\n const ssrSupport = typeof ssrWidth === \"number\";\n const mounted = ssrSupport ? shallowRef(false) : { value: true };\n if (ssrSupport) {\n tryOnMounted(() => mounted.value = !!window);\n }\n function match(query, size) {\n if (!mounted.value && ssrSupport) {\n return query === \"min\" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size);\n }\n if (!window)\n return false;\n return window.matchMedia(`(${query}-width: ${size})`).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((k) => [k, shortcutMethods[k], pxValue(getValue(k))]).sort((a, b) => a[2] - b[2]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(\"min\", getValue(k, 0.1));\n },\n isGreaterOrEqual(k) {\n return match(\"min\", getValue(k));\n },\n isSmaller(k) {\n return match(\"max\", getValue(k, -0.1));\n },\n isSmallerOrEqual(k) {\n return match(\"max\", getValue(k));\n },\n isInBetween(a, b) {\n return match(\"min\", getValue(a)) && match(\"max\", getValue(b, -0.1));\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(strategy === \"min-width\" ? -1 : 0));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = shallowRef(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n const listenerOptions = {\n passive: true\n };\n useEventListener(channel, \"message\", (e) => {\n data.value = e.data;\n }, listenerOptions);\n useEventListener(channel, \"messageerror\", (e) => {\n error.value = e;\n }, listenerOptions);\n useEventListener(channel, \"close\", () => {\n isClosed.value = true;\n }, listenerOptions);\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref] of objectEntries(refs)) {\n watch(ref, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n const listenerOptions = { passive: true };\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), listenerOptions);\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), listenerOptions);\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, options) {\n const { deepRefs = true, ...watchOptions } = options || {};\n const cachedValue = createRef(refValue.value, deepRefs);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n const permissionStatus = shallowRef();\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = shallowRef();\n const update = () => {\n var _a, _b;\n state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : \"prompt\";\n };\n useEventListener(permissionStatus, \"change\", update, { passive: true });\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus.value) {\n try {\n permissionStatus.value = await navigator.permissions.query(desc);\n } catch (e) {\n permissionStatus.value = void 0;\n } finally {\n update();\n }\n }\n if (controls)\n return toRaw(permissionStatus.value);\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = shallowRef(\"\");\n const copied = shallowRef(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false });\n async function updateText() {\n let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionRead.value));\n if (!useLegacy) {\n try {\n text.value = await navigator.clipboard.readText();\n } catch (e) {\n useLegacy = true;\n }\n }\n if (useLegacy) {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText, { passive: true });\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionWrite.value));\n if (!useLegacy) {\n try {\n await navigator.clipboard.writeText(value);\n } catch (e) {\n useLegacy = true;\n }\n }\n if (useLegacy)\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = shallowRef(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false });\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent, { passive: true });\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const isModified = shallowRef(false);\n let _lastSync = false;\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n watch(cloned, () => {\n if (_lastSync) {\n _lastSync = false;\n return;\n }\n isModified.value = true;\n }, {\n deep: true,\n flush: \"sync\"\n });\n function sync() {\n _lastSync = true;\n isModified.value = false;\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, isModified, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n const keyComputed = computed(() => toValue(key));\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n watch(keyComputed, () => update(), { flush });\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window, \"storage\", update, { passive: true });\n else\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n const payload = {\n key: keyComputed.value,\n oldValue,\n newValue,\n storageArea: storage\n };\n window.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(keyComputed.value);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(keyComputed.value);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(keyComputed.value, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(keyComputed.value);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(keyComputed.value, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== keyComputed.value)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n return Object.assign(auto, { store, system, state });\n}\n\nfunction useConfirmDialog(revealed = shallowRef(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCountdown(initialCountdown, options) {\n var _a, _b;\n const remaining = shallowRef(toValue(initialCountdown));\n const intervalController = useIntervalFn(() => {\n var _a2, _b2;\n const value = remaining.value - 1;\n remaining.value = value < 0 ? 0 : value;\n (_a2 = options == null ? void 0 : options.onTick) == null ? void 0 : _a2.call(options);\n if (remaining.value <= 0) {\n intervalController.pause();\n (_b2 = options == null ? void 0 : options.onComplete) == null ? void 0 : _b2.call(options);\n }\n }, (_a = options == null ? void 0 : options.interval) != null ? _a : 1e3, { immediate: (_b = options == null ? void 0 : options.immediate) != null ? _b : false });\n const reset = (countdown) => {\n var _a2;\n remaining.value = (_a2 = toValue(countdown)) != null ? _a2 : toValue(initialCountdown);\n };\n const stop = () => {\n intervalController.pause();\n reset();\n };\n const resume = () => {\n if (!intervalController.isActive.value) {\n if (remaining.value > 0) {\n intervalController.resume();\n }\n }\n };\n const start = (countdown) => {\n reset(countdown);\n intervalController.resume();\n };\n return {\n remaining,\n reset,\n stop,\n start,\n pause: intervalController.pause,\n resume,\n isActive: intervalController.isActive\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue, observe = false } = options;\n const variable = shallowRef(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window && key) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || variable.value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n (_, old) => {\n if (old[0] && old[1])\n old[0].style.removeProperty(old[1]);\n updateCssVar();\n },\n { immediate: true }\n );\n watch(\n [variable, elRef],\n ([val, el]) => {\n const raw_prop = toValue(prop);\n if ((el == null ? void 0 : el.style) && raw_prop) {\n if (val == null)\n el.style.removeProperty(raw_prop);\n else\n el.style.setProperty(raw_prop, val);\n }\n },\n { immediate: true }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\"\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => mode.system.value);\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions = false,\n eventFilter = bypassFilter\n } = options;\n const isSupported = useSupported(() => typeof DeviceMotionEvent !== \"undefined\");\n const requirePermissions = useSupported(() => isSupported.value && \"requestPermission\" in DeviceMotionEvent && typeof DeviceMotionEvent.requestPermission === \"function\");\n const permissionGranted = shallowRef(false);\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = shallowRef(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n function init() {\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i;\n acceleration.value = {\n x: ((_a = event.acceleration) == null ? void 0 : _a.x) || null,\n y: ((_b = event.acceleration) == null ? void 0 : _b.y) || null,\n z: ((_c = event.acceleration) == null ? void 0 : _c.z) || null\n };\n accelerationIncludingGravity.value = {\n x: ((_d = event.accelerationIncludingGravity) == null ? void 0 : _d.x) || null,\n y: ((_e = event.accelerationIncludingGravity) == null ? void 0 : _e.y) || null,\n z: ((_f = event.accelerationIncludingGravity) == null ? void 0 : _f.z) || null\n };\n rotationRate.value = {\n alpha: ((_g = event.rotationRate) == null ? void 0 : _g.alpha) || null,\n beta: ((_h = event.rotationRate) == null ? void 0 : _h.beta) || null,\n gamma: ((_i = event.rotationRate) == null ? void 0 : _i.gamma) || null\n };\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion, { passive: true });\n }\n }\n const ensurePermissions = async () => {\n if (!requirePermissions.value)\n permissionGranted.value = true;\n if (permissionGranted.value)\n return;\n if (requirePermissions.value) {\n const requestPermission = DeviceMotionEvent.requestPermission;\n try {\n const response = await requestPermission();\n if (response === \"granted\") {\n permissionGranted.value = true;\n init();\n }\n } catch (error) {\n console.error(error);\n }\n }\n };\n if (isSupported.value) {\n if (requestPermissions && requirePermissions.value) {\n ensurePermissions().then(() => init());\n } else {\n init();\n }\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval,\n isSupported,\n requirePermissions,\n ensurePermissions,\n permissionGranted\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = shallowRef(false);\n const alpha = shallowRef(null);\n const beta = shallowRef(null);\n const gamma = shallowRef(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n }, { passive: true });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = shallowRef(1);\n const query = useMediaQuery(() => `(resolution: ${pixelRatio.value}dppx)`, options);\n let stop = noop;\n if (window) {\n stop = watchImmediate(query, () => pixelRatio.value = window.devicePixelRatio);\n }\n return {\n pixelRatio: readonly(pixelRatio),\n stop\n };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = shallowRef(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n const deviceName = constraints.video ? \"camera\" : \"microphone\";\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(deviceName, { controls: true });\n await query();\n if (state.value !== \"granted\") {\n let granted = true;\n try {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (e) {\n stream = null;\n granted = false;\n }\n update();\n permissionGranted.value = granted;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update, { passive: true });\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = shallowRef((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n var _a2;\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => useEventListener(t, \"ended\", stop, { passive: true }));\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return shallowRef(\"visible\");\n const visibility = shallowRef(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n }, { passive: true });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target,\n buttons = [0]\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!toValue(buttons).includes(e.button))\n return;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = () => {\n var _a2;\n return {\n capture: (_a2 = options.capture) != null ? _a2 : true,\n passive: !toValue(preventDefault)\n };\n };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n var _a, _b;\n const isOverDropZone = shallowRef(false);\n const files = shallowRef(null);\n let counter = 0;\n let isValid = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const multiple = (_a = _options.multiple) != null ? _a : true;\n const preventDefaultForUnhandled = (_b = _options.preventDefaultForUnhandled) != null ? _b : false;\n const getFiles = (event) => {\n var _a2, _b2;\n const list = Array.from((_b2 = (_a2 = event.dataTransfer) == null ? void 0 : _a2.files) != null ? _b2 : []);\n return list.length === 0 ? null : multiple ? list : [list[0]];\n };\n const checkDataTypes = (types) => {\n const dataTypes = unref(_options.dataTypes);\n if (typeof dataTypes === \"function\")\n return dataTypes(types);\n if (!(dataTypes == null ? void 0 : dataTypes.length))\n return true;\n if (types.length === 0)\n return false;\n return types.every(\n (type) => dataTypes.some((allowedType) => type.includes(allowedType))\n );\n };\n const checkValidity = (items) => {\n const types = Array.from(items != null ? items : []).map((item) => item.type);\n const dataTypesValid = checkDataTypes(types);\n const multipleFilesValid = multiple || items.length <= 1;\n return dataTypesValid && multipleFilesValid;\n };\n const isSafari = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !(\"chrome\" in window);\n const handleDragEvent = (event, eventType) => {\n var _a2, _b2, _c, _d, _e, _f;\n const dataTransferItemList = (_a2 = event.dataTransfer) == null ? void 0 : _a2.items;\n isValid = (_b2 = dataTransferItemList && checkValidity(dataTransferItemList)) != null ? _b2 : false;\n if (preventDefaultForUnhandled) {\n event.preventDefault();\n }\n if (!isSafari() && !isValid) {\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = \"none\";\n }\n return;\n }\n event.preventDefault();\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = \"copy\";\n }\n const currentFiles = getFiles(event);\n switch (eventType) {\n case \"enter\":\n counter += 1;\n isOverDropZone.value = true;\n (_c = _options.onEnter) == null ? void 0 : _c.call(_options, null, event);\n break;\n case \"over\":\n (_d = _options.onOver) == null ? void 0 : _d.call(_options, null, event);\n break;\n case \"leave\":\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_e = _options.onLeave) == null ? void 0 : _e.call(_options, null, event);\n break;\n case \"drop\":\n counter = 0;\n isOverDropZone.value = false;\n if (isValid) {\n files.value = currentFiles;\n (_f = _options.onDrop) == null ? void 0 : _f.call(_options, currentFiles, event);\n }\n break;\n }\n };\n useEventListener(target, \"dragenter\", (event) => handleDragEvent(event, \"enter\"));\n useEventListener(target, \"dragover\", (event) => handleDragEvent(event, \"over\"));\n useEventListener(target, \"dragleave\", (event) => handleDragEvent(event, \"leave\"));\n useEventListener(target, \"drop\", (event) => handleDragEvent(event, \"drop\"));\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n });\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els) {\n if (_el)\n observer.observe(_el, observerOptions);\n }\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true,\n updateTiming = \"sync\"\n } = options;\n const height = shallowRef(0);\n const bottom = shallowRef(0);\n const left = shallowRef(0);\n const right = shallowRef(0);\n const top = shallowRef(0);\n const width = shallowRef(0);\n const x = shallowRef(0);\n const y = shallowRef(0);\n function recalculate() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n function update() {\n if (updateTiming === \"sync\")\n recalculate();\n else if (updateTiming === \"next-frame\")\n requestAnimationFrame(() => recalculate());\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = shallowRef(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n triggerOnRemoval = false,\n window = defaultWindow\n } = options;\n const isHovered = shallowRef(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n if (triggerOnRemoval) {\n onElementRemoval(\n computed(() => unrefElement(el)),\n () => toggle(false)\n );\n }\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = shallowRef(initialSize.width);\n const height = shallowRef(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = toArray(boxSize);\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return toArray(_target).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = shallowRef(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const {\n window = defaultWindow,\n scrollTarget,\n threshold = 0,\n rootMargin,\n once = false\n } = options;\n const elementIsVisible = shallowRef(false);\n const { stop } = useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n if (once) {\n watchOnce(elementIsVisible, () => {\n stop();\n });\n }\n },\n {\n root: scrollTarget,\n window,\n threshold,\n rootMargin: toValue(rootMargin)\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = shallowRef(null);\n const data = shallowRef(null);\n const status = shallowRef(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n const lastEventId = shallowRef(null);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true,\n autoConnect = true,\n autoReconnect\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n lastEventId.value = e.lastEventId;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n }, { passive: true });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n if (autoConnect)\n watch(urlRef, open);\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close,\n lastEventId\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = shallowRef(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nconst reAbsolute = /^(?:[a-z][a-z\\d+\\-.]*:)?\\/\\//i;\nfunction isAbsoluteURL(url) {\n return reAbsolute.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n let callback;\n for (let i = callbacks.length - 1; i >= 0; i--) {\n if (callbacks[i] != null) {\n callback = callbacks[i];\n break;\n }\n }\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = shallowRef(false);\n const isFetching = shallowRef(false);\n const aborted = shallowRef(false);\n const statusCode = shallowRef(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n const payload = toValue(config.payload);\n if (payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const proto = Object.getPrototypeOf(payload);\n if (!config.payloadType && payload && (proto === Object.prototype || Array.isArray(proto)) && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse,\n context,\n execute\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value,\n context,\n execute\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch(reject);\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\")) {\n return `${start}/${end}`;\n }\n if (start.endsWith(\"/\") && end.startsWith(\"/\")) {\n return `${start.slice(0, -1)}${end}`;\n }\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction prepareInitialFiles(files) {\n if (!files)\n return null;\n if (files instanceof FileList)\n return files;\n const dt = new DataTransfer();\n for (const file of files) {\n dt.items.add(file);\n }\n return dt.files;\n}\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(prepareInitialFiles(options.initialFiles));\n const { on: onChange, trigger: changeTrigger } = createEventHook();\n const { on: onCancel, trigger: cancelTrigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n changeTrigger(files.value);\n };\n input.oncancel = () => {\n cancelTrigger();\n };\n }\n const reset = () => {\n files.value = null;\n if (input && input.value) {\n input.value = \"\";\n changeTrigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onCancel,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = shallowRef();\n const data = shallowRef();\n const file = shallowRef();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = shallowRef(false);\n const targetElement = computed(() => unrefElement(target));\n const listenerOptions = { passive: true };\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n }, listenerOptions);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false, listenerOptions);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nconst EVENT_FOCUS_IN = \"focusin\";\nconst EVENT_FOCUS_OUT = \"focusout\";\nconst PSEUDO_CLASS_FOCUS_WITHIN = \":focus-within\";\nfunction useFocusWithin(target, options = {}) {\n const { window = defaultWindow } = options;\n const targetElement = computed(() => unrefElement(target));\n const _focused = shallowRef(false);\n const focused = computed(() => _focused.value);\n const activeElement = useActiveElement(options);\n if (!window || !activeElement.value) {\n return { focused };\n }\n const listenerOptions = { passive: true };\n useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true, listenerOptions);\n useEventListener(targetElement, EVENT_FOCUS_OUT, () => {\n var _a, _b, _c;\n return _focused.value = (_c = (_b = (_a = targetElement.value) == null ? void 0 : _a.matches) == null ? void 0 : _b.call(_a, PSEUDO_CLASS_FOCUS_WITHIN)) != null ? _c : false;\n }, listenerOptions);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = shallowRef(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.documentElement;\n });\n const isFullscreen = shallowRef(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n const listenerOptions = { capture: false, passive: true };\n useEventListener(document, eventHandlers, handlerCallback, listenerOptions);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, listenerOptions);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n index: gamepad.index,\n connected: gamepad.connected,\n mapping: gamepad.mapping,\n timestamp: gamepad.timestamp,\n vibrationActuator: gamepad.vibrationActuator,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n const listenerOptions = { passive: true };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad), listenerOptions);\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad), listenerOptions);\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = shallowRef(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = shallowRef(initialState);\n const lastActive = shallowRef(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n const listenerOptions = { passive: true };\n for (const event of events)\n useEventListener(window, event, onEvent, listenerOptions);\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n }, listenerOptions);\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy, width, height, decoding, fetchPriority, ismap, usemap } = options;\n img.src = src;\n if (srcset != null)\n img.srcset = srcset;\n if (sizes != null)\n img.sizes = sizes;\n if (clazz != null)\n img.className = clazz;\n if (loading != null)\n img.loading = loading;\n if (crossorigin != null)\n img.crossOrigin = crossorigin;\n if (referrerPolicy != null)\n img.referrerPolicy = referrerPolicy;\n if (width != null)\n img.width = width;\n if (height != null)\n img.height = height;\n if (decoding != null)\n img.decoding = decoding;\n if (fetchPriority != null)\n img.fetchPriority = fetchPriority;\n if (ismap != null)\n img.isMap = ismap;\n if (usemap != null)\n img.useMap = usemap;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = shallowRef(0);\n const internalY = shallowRef(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = shallowRef(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection, direction } = getComputedStyle(el);\n const directionMultipler = direction === \"rtl\" ? -1 : 1;\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft * directionMultipler) <= (offset.left || 0);\n const right = Math.abs(scrollLeft * directionMultipler) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\n return {\n isLoading,\n reset() {\n nextTick(() => checkAndLoad());\n }\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = shallowRef(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n }, { passive: true });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive });\n useEventListener(\"focus\", reset, { passive });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.map((key) => toValue(proxy[key])).every(Boolean));\n } else {\n refs[prop] = shallowRef(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n target = toRef(target);\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const listenerOptions = { passive: true };\n const currentTime = shallowRef(0);\n const duration = shallowRef(0);\n const seeking = shallowRef(false);\n const volume = shallowRef(1);\n const waiting = shallowRef(false);\n const ended = shallowRef(false);\n const playing = shallowRef(false);\n const rate = shallowRef(1);\n const stalled = shallowRef(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = shallowRef(-1);\n const isPictureInPicture = shallowRef(false);\n const muted = shallowRef(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const playbackErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.remove();\n });\n sources.forEach(({ src: src2, type, media }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.setAttribute(\"media\", media || \"\");\n useEventListener(source, \"error\", sourceErrorEvent.trigger, listenerOptions);\n el.appendChild(source);\n });\n el.load();\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n if (isPlaying) {\n el.play().catch((e) => {\n playbackErrorEvent.trigger(e);\n throw e;\n });\n } else {\n el.pause();\n }\n });\n useEventListener(\n target,\n \"timeupdate\",\n () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime),\n listenerOptions\n );\n useEventListener(\n target,\n \"durationchange\",\n () => duration.value = toValue(target).duration,\n listenerOptions\n );\n useEventListener(\n target,\n \"progress\",\n () => buffered.value = timeRangeToArray(toValue(target).buffered),\n listenerOptions\n );\n useEventListener(\n target,\n \"seeking\",\n () => seeking.value = true,\n listenerOptions\n );\n useEventListener(\n target,\n \"seeked\",\n () => seeking.value = false,\n listenerOptions\n );\n useEventListener(\n target,\n [\"waiting\", \"loadstart\"],\n () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n },\n listenerOptions\n );\n useEventListener(\n target,\n \"loadeddata\",\n () => waiting.value = false,\n listenerOptions\n );\n useEventListener(\n target,\n \"playing\",\n () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n },\n listenerOptions\n );\n useEventListener(\n target,\n \"ratechange\",\n () => rate.value = toValue(target).playbackRate,\n listenerOptions\n );\n useEventListener(\n target,\n \"stalled\",\n () => stalled.value = true,\n listenerOptions\n );\n useEventListener(\n target,\n \"ended\",\n () => ended.value = true,\n listenerOptions\n );\n useEventListener(\n target,\n \"pause\",\n () => ignorePlayingUpdates(() => playing.value = false),\n listenerOptions\n );\n useEventListener(\n target,\n \"play\",\n () => ignorePlayingUpdates(() => playing.value = true),\n listenerOptions\n );\n useEventListener(\n target,\n \"enterpictureinpicture\",\n () => isPictureInPicture.value = true,\n listenerOptions\n );\n useEventListener(\n target,\n \"leavepictureinpicture\",\n () => isPictureInPicture.value = false,\n listenerOptions\n );\n useEventListener(\n target,\n \"volumechange\",\n () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n },\n listenerOptions\n );\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on,\n onPlaybackError: playbackErrorEvent.on\n };\n}\n\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n let _prevScrollX = 0;\n let _prevScrollY = 0;\n const x = shallowRef(initialValue.x);\n const y = shallowRef(initialValue.y);\n const sourceType = shallowRef(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n if (window) {\n _prevScrollX = window.scrollX;\n _prevScrollY = window.scrollY;\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX - _prevScrollX;\n y.value = pos[1] + window.scrollY - _prevScrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, listenerOptions);\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = shallowRef(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = shallowRef(0);\n const elementY = shallowRef(0);\n const elementPositionX = shallowRef(0);\n const elementPositionY = shallowRef(0);\n const elementHeight = shallowRef(0);\n const elementWidth = shallowRef(0);\n const isOutside = shallowRef(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el || !(el instanceof Element))\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(\n document,\n \"mouseleave\",\n () => isOutside.value = true,\n { passive: true }\n );\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = shallowRef(initialValue);\n const sourceType = shallowRef(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => (event) => {\n var _a;\n pressed.value = true;\n sourceType.value = srcType;\n (_a = options.onPressed) == null ? void 0 : _a.call(options, event);\n };\n const onReleased = (event) => {\n var _a;\n pressed.value = false;\n sourceType.value = null;\n (_a = options.onReleased) == null ? void 0 : _a.call(options, event);\n };\n const target = computed(() => unrefElement(options.target) || window);\n const listenerOptions = { passive: true, capture };\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), listenerOptions);\n useEventListener(window, \"mouseleave\", onReleased, listenerOptions);\n useEventListener(window, \"mouseup\", onReleased, listenerOptions);\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), listenerOptions);\n useEventListener(window, \"drop\", onReleased, listenerOptions);\n useEventListener(window, \"dragend\", onReleased, listenerOptions);\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), listenerOptions);\n useEventListener(window, \"touchend\", onReleased, listenerOptions);\n useEventListener(window, \"touchcancel\", onReleased, listenerOptions);\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = shallowRef(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n }, { passive: true });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = shallowRef(true);\n const saveData = shallowRef(false);\n const offlineAt = shallowRef(void 0);\n const onlineAt = shallowRef(void 0);\n const downlink = shallowRef(void 0);\n const downlinkMax = shallowRef(void 0);\n const rtt = shallowRef(void 0);\n const effectiveType = shallowRef(void 0);\n const type = shallowRef(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n const listenerOptions = { passive: true };\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n }, listenerOptions);\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n }, listenerOptions);\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, listenerOptions);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline: readonly(isOnline),\n saveData: readonly(saveData),\n offlineAt: readonly(offlineAt),\n onlineAt: readonly(onlineAt),\n downlink: readonly(downlink),\n downlinkMax: readonly(downlinkMax),\n effectiveType: readonly(effectiveType),\n rtt: readonly(rtt),\n type: readonly(type)\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = shallowRef();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = shallowRef(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n const listenerOptions = { passive: true };\n useEventListener(window, \"mouseout\", handler, listenerOptions);\n useEventListener(window.document, \"mouseleave\", handler, listenerOptions);\n useEventListener(window.document, \"mouseenter\", handler, listenerOptions);\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = shallowRef(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n }, { passive: true });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) {\n return \"deviceOrientation\";\n }\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = shallowRef(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = shallowRef();\n const triggerElement = shallowRef();\n let targetElement;\n if (isSupported.value) {\n const listenerOptions = { passive: true };\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n }, listenerOptions);\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n }, listenerOptions);\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = shallowRef(false);\n const isPointerDown = shallowRef(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const listenerOptions = { passive: true };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n }, listenerOptions)\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n }, { passive: true });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredReducedTransparency(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-transparency: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = shallowRef(\"\");\n const right = shallowRef(\"\");\n const bottom = shallowRef(\"\");\n const left = shallowRef(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update), { passive: true });\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = shallowRef(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n const listenerOptions = {\n passive: true\n };\n useEventListener(el, \"error\", (event) => reject(event), listenerOptions);\n useEventListener(el, \"abort\", (event) => reject(event), listenerOptions);\n useEventListener(el, \"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n }, listenerOptions);\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = shallowRef(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n maxAlternatives = 1,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = shallowRef(false);\n const isFinal = shallowRef(false);\n const result = shallowRef(\"\");\n const error = shallowRef(void 0);\n let recognition;\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const toggle = (value = !isListening.value) => {\n if (value) {\n start();\n } else {\n stop();\n }\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.maxAlternatives = maxAlternatives;\n recognition.onstart = () => {\n isListening.value = true;\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const currentResult = event.results[event.resultIndex];\n const { transcript } = currentResult[0];\n isFinal.value = currentResult.isFinal;\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, (newValue, oldValue) => {\n if (newValue === oldValue)\n return;\n if (newValue)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = shallowRef(false);\n const status = shallowRef(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n if (utterance)\n synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(toValue(initialValue));\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)), { passive: true });\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = shallowRef(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = shallowRef(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = shallowRef(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n const listenerOptions = { passive, capture: !passive };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value))\n e.preventDefault();\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop,\n // TODO: Remove in the next major version\n isPassiveEventSupported: true\n };\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange, { passive: true });\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction tryRequestAnimationFrame(window = defaultWindow, fn) {\n if (window && typeof window.requestAnimationFrame === \"function\") {\n window.requestAnimationFrame(fn);\n } else {\n fn();\n }\n}\nfunction useTextareaAutosize(options = {}) {\n var _a, _b;\n const { window = defaultWindow } = options;\n const textarea = toRef(options == null ? void 0 : options.element);\n const input = toRef((_a = options == null ? void 0 : options.input) != null ? _a : \"\");\n const styleProp = (_b = options == null ? void 0 : options.styleProp) != null ? _b : \"height\";\n const textareaScrollHeight = shallowRef(1);\n const textareaOldWidth = shallowRef(0);\n function triggerResize() {\n var _a2;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n const _styleTarget = toValue(options == null ? void 0 : options.styleTarget);\n if (_styleTarget)\n _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n watch(textareaScrollHeight, () => {\n var _a2;\n return (_a2 = options == null ? void 0 : options.onResize) == null ? void 0 : _a2.call(options);\n });\n useResizeObserver(textarea, ([{ contentRect }]) => {\n if (textareaOldWidth.value === contentRect.width)\n return;\n tryRequestAnimationFrame(window, () => {\n textareaOldWidth.value = contentRect.width;\n triggerResize();\n });\n });\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n const { start } = useTimeoutFn(loop, interval, { immediate });\n const isActive = shallowRef(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n if (immediateCallback)\n fn();\n start();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (immediate && isClient)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = shallowRef(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = !!(newTitle && typeof newTitle === \"function\");\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (newValue, oldValue) => {\n if (newValue !== oldValue && document)\n document.title = format(newValue != null ? newValue : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnScopeDispose(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n writeMode = \"replace\",\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${window.location.search || \"\"}${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${window.location.search || \"\"}${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params, false);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n if (writeMode === \"replace\") {\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n } else {\n window.history.pushState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n }\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n const listenerOptions = { passive: true };\n useEventListener(window, \"popstate\", onChanged, listenerOptions);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, listenerOptions);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = shallowRef((_a = options.enabled) != null ? _a : false);\n const autoSwitch = shallowRef((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n key = \"modelValue\";\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = shallowRef(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, containerRef, calculateRange) {\n watch([size.width, size.height, list, containerRef], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n const requestedType = shallowRef(false);\n const sentinel = shallowRef(null);\n const documentVisibility = useDocumentVisibility({ document });\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = computed(() => !!sentinel.value && documentVisibility.value === \"visible\");\n if (isSupported.value) {\n useEventListener(sentinel, \"release\", () => {\n var _a, _b;\n requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false;\n }, { passive: true });\n whenever(\n () => documentVisibility.value === \"visible\" && (document == null ? void 0 : document.visibilityState) === \"visible\" && requestedType.value,\n (type) => {\n requestedType.value = false;\n forceRequest(type);\n }\n );\n }\n async function forceRequest(type) {\n var _a;\n await ((_a = sentinel.value) == null ? void 0 : _a.release());\n sentinel.value = isSupported.value ? await navigator.wakeLock.request(type) : null;\n }\n async function request(type) {\n if (documentVisibility.value === \"visible\")\n await forceRequest(type);\n else\n requestedType.value = type;\n }\n async function release() {\n requestedType.value = false;\n const s = sentinel.value;\n sentinel.value = null;\n await (s == null ? void 0 : s.release());\n }\n return {\n sentinel,\n isSupported,\n isActive,\n request,\n forceRequest,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => {\n if (!window || !(\"Notification\" in window))\n return false;\n if (Notification.permission === \"granted\")\n return true;\n try {\n const notification2 = new Notification(\"\");\n notification2.onshow = () => {\n notification2.close();\n };\n } catch (e) {\n if (e.name === \"TypeError\")\n return false;\n }\n return true;\n });\n const permissionGranted = shallowRef(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoConnect = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = shallowRef(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let retryTimeout;\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetRetry = () => {\n if (retryTimeout != null) {\n clearTimeout(retryTimeout);\n retryTimeout = void 0;\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n resetRetry();\n if (!isClient && !isWorker || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n retried = 0;\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect && (wsRef.value == null || ws === wsRef.value)) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n const checkRetires = typeof retries === \"function\" ? retries : () => typeof retries === \"number\" && (retries < 0 || retried < retries);\n if (checkRetires(retried)) {\n retried += 1;\n retryTimeout = setTimeout(_init, delay);\n } else {\n onFailed == null ? void 0 : onFailed();\n }\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE,\n responseMessage = message\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === toValue(responseMessage))\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(toValue(message), false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close(), { passive: true });\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n if (autoConnect)\n watch(urlRef, open);\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction depsParser(deps, localDeps) {\n if (deps.length === 0 && localDeps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n const depsFunctionString = localDeps.filter((dep) => typeof dep === \"function\").map((fn) => {\n const str = fn.toString();\n if (str.trim().startsWith(\"function\")) {\n return str;\n } else {\n const name = fn.name;\n return `const ${name} = ${str}`;\n }\n }).join(\";\");\n const importString = `importScripts(${depsString});`;\n return `${depsString.trim() === \"\" ? \"\" : importString} ${depsFunctionString}`;\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction createWorkerBlobUrl(fn, deps, localDeps) {\n const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n localDependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = shallowRef(\"PENDING\");\n const promise = ref({});\n const timeoutId = shallowRef();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n var _a;\n promise.value = {\n resolve,\n reject\n };\n (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return shallowRef(false);\n const focused = shallowRef(window.document.hasFocus());\n const listenerOptions = { passive: true };\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n }, listenerOptions);\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n }, listenerOptions);\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, ...rest } = options;\n return useScroll(window, rest);\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true,\n type = \"inner\"\n } = options;\n const width = shallowRef(initialWidth);\n const height = shallowRef(initialHeight);\n const update = () => {\n if (window) {\n if (type === \"outer\") {\n width.value = window.outerWidth;\n height.value = window.outerHeight;\n } else if (type === \"visual\" && window.visualViewport) {\n const { width: visualViewportWidth, height: visualViewportHeight, scale } = window.visualViewport;\n width.value = Math.round(visualViewportWidth * scale);\n height.value = Math.round(visualViewportHeight * scale);\n } else if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n const listenerOptions = { passive: true };\n useEventListener(\"resize\", update, listenerOptions);\n if (window && type === \"visual\" && window.visualViewport) {\n useEventListener(window.visualViewport, \"resize\", update, listenerOptions);\n }\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsElement, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onElementRemoval, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, provideSSRWidth, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCountdown, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePreferredReducedTransparency, usePrevious, useRafFn, useRefHistory, useResizeObserver, useSSRWidth, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n"], - "mappings": "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", - "names": ["get", "set", "ref", "keys", "invoke", "toRef", "toRefs", "toValue", "window", "document", "timestamp", "navigator", "events", "getValue", "ref", "defaults", "toRef", "set", "onUpdated", "preventDefault", "toRefs", "now", "keys", "get", "isReadonly"] -} diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-QE257C5J.js b/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-QE257C5J.js deleted file mode 100644 index 0a0bf08..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/cache/deps/chunk-QE257C5J.js +++ /dev/null @@ -1,12824 +0,0 @@ -// node_modules/@vue/shared/dist/shared.esm-bundler.js -function makeMap(str) { - const map2 = /* @__PURE__ */ Object.create(null); - for (const key of str.split(",")) map2[key] = 1; - return (val) => val in map2; -} -var EMPTY_OBJ = true ? Object.freeze({}) : {}; -var EMPTY_ARR = true ? Object.freeze([]) : []; -var NOOP = () => { -}; -var NO = () => false; -var isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter -(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); -var isModelListener = (key) => key.startsWith("onUpdate:"); -var extend = Object.assign; -var remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) { - arr.splice(i, 1); - } -}; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var hasOwn = (val, key) => hasOwnProperty.call(val, key); -var isArray = Array.isArray; -var isMap = (val) => toTypeString(val) === "[object Map]"; -var isSet = (val) => toTypeString(val) === "[object Set]"; -var isDate = (val) => toTypeString(val) === "[object Date]"; -var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; -var isFunction = (val) => typeof val === "function"; -var isString = (val) => typeof val === "string"; -var isSymbol = (val) => typeof val === "symbol"; -var isObject = (val) => val !== null && typeof val === "object"; -var isPromise = (val) => { - return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); -}; -var objectToString = Object.prototype.toString; -var toTypeString = (value) => objectToString.call(value); -var toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -var isPlainObject = (val) => toTypeString(val) === "[object Object]"; -var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -var isReservedProp = makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -var isBuiltInDirective = makeMap( - "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" -); -var cacheStringFunction = (fn) => { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -}; -var camelizeRE = /-\w/g; -var camelize = cacheStringFunction( - (str) => { - return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); - } -); -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction( - (str) => str.replace(hyphenateRE, "-$1").toLowerCase() -); -var capitalize = cacheStringFunction((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -var toHandlerKey = cacheStringFunction( - (str) => { - const s = str ? `on${capitalize(str)}` : ``; - return s; - } -); -var hasChanged = (value, oldValue) => !Object.is(value, oldValue); -var invokeArrayFns = (fns, ...arg) => { - for (let i = 0; i < fns.length; i++) { - fns[i](...arg); - } -}; -var def = (obj, key, value, writable = false) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - writable, - value - }); -}; -var looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -var toNumber = (val) => { - const n = isString(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}; -var _globalThis; -var getGlobalThis = () => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}; -var GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; -var isGloballyAllowed = makeMap(GLOBALS_ALLOWED); -function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString(value) || isObject(value)) { - return value; - } -} -var listDelimiterRE = /;(?![^(]*\))/g; -var propertyDelimiterRE = /:([^]+)/; -var styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function stringifyStyle(styles) { - if (!styles) return ""; - if (isString(styles)) return styles; - let ret = ""; - for (const key in styles) { - const value = styles[key]; - if (isString(value) || typeof value === "number") { - const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); - ret += `${normalizedKey}:${value};`; - } - } - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString(value)) { - res = value; - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject(value)) { - for (const name in value) { - if (value[name]) { - res += name + " "; - } - } - } - return res.trim(); -} -function normalizeProps(props) { - if (!props) return null; - let { class: klass, style } = props; - if (klass && !isString(klass)) { - props.class = normalizeClass(klass); - } - if (style) { - props.style = normalizeStyle(style); - } - return props; -} -var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; -var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; -var MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; -var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; -var isHTMLTag = makeMap(HTML_TAGS); -var isSVGTag = makeMap(SVG_TAGS); -var isMathMLTag = makeMap(MATH_TAGS); -var isVoidTag = makeMap(VOID_TAGS); -var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); -var isBooleanAttr = makeMap( - specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` -); -function includeBooleanAttr(value) { - return !!value || value === ""; -} -var isKnownHtmlAttr = makeMap( - `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` -); -var isKnownSvgAttr = makeMap( - `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` -); -var isKnownMathMLAttr = makeMap( - `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` -); -function isRenderableAttrValue(value) { - if (value == null) { - return false; - } - const type = typeof value; - return type === "string" || type === "number" || type === "boolean"; -} -var cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; -function getEscapedCssVarName(key, doubleEscape) { - return key.replace( - cssVarNameEscapeSymbolsRE, - (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` - ); -} -function looseCompareArrays(a, b) { - if (a.length !== b.length) return false; - let equal = true; - for (let i = 0; equal && i < a.length; i++) { - equal = looseEqual(a[i], b[i]); - } - return equal; -} -function looseEqual(a, b) { - if (a === b) return true; - let aValidType = isDate(a); - let bValidType = isDate(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? a.getTime() === b.getTime() : false; - } - aValidType = isSymbol(a); - bValidType = isSymbol(b); - if (aValidType || bValidType) { - return a === b; - } - aValidType = isArray(a); - bValidType = isArray(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? looseCompareArrays(a, b) : false; - } - aValidType = isObject(a); - bValidType = isObject(b); - if (aValidType || bValidType) { - if (!aValidType || !bValidType) { - return false; - } - const aKeysCount = Object.keys(a).length; - const bKeysCount = Object.keys(b).length; - if (aKeysCount !== bKeysCount) { - return false; - } - for (const key in a) { - const aHasKey = a.hasOwnProperty(key); - const bHasKey = b.hasOwnProperty(key); - if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { - return false; - } - } - } - return String(a) === String(b); -} -function looseIndexOf(arr, val) { - return arr.findIndex((item) => looseEqual(item, val)); -} -var isRef = (val) => { - return !!(val && val["__v_isRef"] === true); -}; -var toDisplayString = (val) => { - return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); -}; -var replacer = (_key, val) => { - if (isRef(val)) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce( - (entries, [key, val2], i) => { - entries[stringifySymbol(key, i) + " =>"] = val2; - return entries; - }, - {} - ) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) - }; - } else if (isSymbol(val)) { - return stringifySymbol(val); - } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { - return String(val); - } - return val; -}; -var stringifySymbol = (v, i = "") => { - var _a; - return ( - // Symbol.description in es2019+ so we need to cast here to pass - // the lib: es2016 check - isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v - ); -}; -function normalizeCssVarValue(value) { - if (value == null) { - return "initial"; - } - if (typeof value === "string") { - return value === "" ? " " : value; - } - if (typeof value !== "number" || !Number.isFinite(value)) { - if (true) { - console.warn( - "[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:", - value - ); - } - } - return String(value); -} - -// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js -function warn(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -var activeEffectScope; -var EffectScope = class { - constructor(detached = false) { - this.detached = detached; - this._active = true; - this._on = 0; - this.effects = []; - this.cleanups = []; - this._isPaused = false; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( - this - ) - 1; - } - } - get active() { - return this._active; - } - pause() { - if (this._active) { - this._isPaused = true; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].pause(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].pause(); - } - } - } - /** - * Resumes the effect scope, including all child scopes and effects. - */ - resume() { - if (this._active) { - if (this._isPaused) { - this._isPaused = false; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].resume(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].resume(); - } - } - } - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else if (true) { - warn(`cannot run an inactive effect scope.`); - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - if (++this._on === 1) { - this.prevScope = activeEffectScope; - activeEffectScope = this; - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - if (this._on > 0 && --this._on === 0) { - activeEffectScope = this.prevScope; - this.prevScope = void 0; - } - } - stop(fromParent) { - if (this._active) { - this._active = false; - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].stop(); - } - this.effects.length = 0; - for (i = 0, l = this.cleanups.length; i < l; i++) { - this.cleanups[i](); - } - this.cleanups.length = 0; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].stop(true); - } - this.scopes.length = 0; - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - } - } -}; -function effectScope(detached) { - return new EffectScope(detached); -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn, failSilently = false) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } else if (!failSilently) { - warn( - `onScopeDispose() is called when there is no active effect scope to be associated with.` - ); - } -} -var activeSub; -var pausedQueueEffects = /* @__PURE__ */ new WeakSet(); -var ReactiveEffect = class { - constructor(fn) { - this.fn = fn; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 1 | 4; - this.next = void 0; - this.cleanup = void 0; - this.scheduler = void 0; - if (activeEffectScope && activeEffectScope.active) { - activeEffectScope.effects.push(this); - } - } - pause() { - this.flags |= 64; - } - resume() { - if (this.flags & 64) { - this.flags &= -65; - if (pausedQueueEffects.has(this)) { - pausedQueueEffects.delete(this); - this.trigger(); - } - } - } - /** - * @internal - */ - notify() { - if (this.flags & 2 && !(this.flags & 32)) { - return; - } - if (!(this.flags & 8)) { - batch(this); - } - } - run() { - if (!(this.flags & 1)) { - return this.fn(); - } - this.flags |= 2; - cleanupEffect(this); - prepareDeps(this); - const prevEffect = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = this; - shouldTrack = true; - try { - return this.fn(); - } finally { - if (activeSub !== this) { - warn( - "Active effect was not restored correctly - this is likely a Vue internal bug." - ); - } - cleanupDeps(this); - activeSub = prevEffect; - shouldTrack = prevShouldTrack; - this.flags &= -3; - } - } - stop() { - if (this.flags & 1) { - for (let link = this.deps; link; link = link.nextDep) { - removeSub(link); - } - this.deps = this.depsTail = void 0; - cleanupEffect(this); - this.onStop && this.onStop(); - this.flags &= -2; - } - } - trigger() { - if (this.flags & 64) { - pausedQueueEffects.add(this); - } else if (this.scheduler) { - this.scheduler(); - } else { - this.runIfDirty(); - } - } - /** - * @internal - */ - runIfDirty() { - if (isDirty(this)) { - this.run(); - } - } - get dirty() { - return isDirty(this); - } -}; -var batchDepth = 0; -var batchedSub; -var batchedComputed; -function batch(sub, isComputed = false) { - sub.flags |= 8; - if (isComputed) { - sub.next = batchedComputed; - batchedComputed = sub; - return; - } - sub.next = batchedSub; - batchedSub = sub; -} -function startBatch() { - batchDepth++; -} -function endBatch() { - if (--batchDepth > 0) { - return; - } - if (batchedComputed) { - let e = batchedComputed; - batchedComputed = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= -9; - e = next; - } - } - let error; - while (batchedSub) { - let e = batchedSub; - batchedSub = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= -9; - if (e.flags & 1) { - try { - ; - e.trigger(); - } catch (err) { - if (!error) error = err; - } - } - e = next; - } - } - if (error) throw error; -} -function prepareDeps(sub) { - for (let link = sub.deps; link; link = link.nextDep) { - link.version = -1; - link.prevActiveLink = link.dep.activeLink; - link.dep.activeLink = link; - } -} -function cleanupDeps(sub) { - let head; - let tail = sub.depsTail; - let link = tail; - while (link) { - const prev = link.prevDep; - if (link.version === -1) { - if (link === tail) tail = prev; - removeSub(link); - removeDep(link); - } else { - head = link; - } - link.dep.activeLink = link.prevActiveLink; - link.prevActiveLink = void 0; - link = prev; - } - sub.deps = head; - sub.depsTail = tail; -} -function isDirty(sub) { - for (let link = sub.deps; link; link = link.nextDep) { - if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { - return true; - } - } - if (sub._dirty) { - return true; - } - return false; -} -function refreshComputed(computed3) { - if (computed3.flags & 4 && !(computed3.flags & 16)) { - return; - } - computed3.flags &= -17; - if (computed3.globalVersion === globalVersion) { - return; - } - computed3.globalVersion = globalVersion; - if (!computed3.isSSR && computed3.flags & 128 && (!computed3.deps && !computed3._dirty || !isDirty(computed3))) { - return; - } - computed3.flags |= 2; - const dep = computed3.dep; - const prevSub = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = computed3; - shouldTrack = true; - try { - prepareDeps(computed3); - const value = computed3.fn(computed3._value); - if (dep.version === 0 || hasChanged(value, computed3._value)) { - computed3.flags |= 128; - computed3._value = value; - dep.version++; - } - } catch (err) { - dep.version++; - throw err; - } finally { - activeSub = prevSub; - shouldTrack = prevShouldTrack; - cleanupDeps(computed3); - computed3.flags &= -3; - } -} -function removeSub(link, soft = false) { - const { dep, prevSub, nextSub } = link; - if (prevSub) { - prevSub.nextSub = nextSub; - link.prevSub = void 0; - } - if (nextSub) { - nextSub.prevSub = prevSub; - link.nextSub = void 0; - } - if (dep.subsHead === link) { - dep.subsHead = nextSub; - } - if (dep.subs === link) { - dep.subs = prevSub; - if (!prevSub && dep.computed) { - dep.computed.flags &= -5; - for (let l = dep.computed.deps; l; l = l.nextDep) { - removeSub(l, true); - } - } - } - if (!soft && !--dep.sc && dep.map) { - dep.map.delete(dep.key); - } -} -function removeDep(link) { - const { prevDep, nextDep } = link; - if (prevDep) { - prevDep.nextDep = nextDep; - link.prevDep = void 0; - } - if (nextDep) { - nextDep.prevDep = prevDep; - link.nextDep = void 0; - } -} -function effect(fn, options) { - if (fn.effect instanceof ReactiveEffect) { - fn = fn.effect.fn; - } - const e = new ReactiveEffect(fn); - if (options) { - extend(e, options); - } - try { - e.run(); - } catch (err) { - e.stop(); - throw err; - } - const runner = e.run.bind(e); - runner.effect = e; - return runner; -} -function stop(runner) { - runner.effect.stop(); -} -var shouldTrack = true; -var trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function cleanupEffect(e) { - const { cleanup } = e; - e.cleanup = void 0; - if (cleanup) { - const prevSub = activeSub; - activeSub = void 0; - try { - cleanup(); - } finally { - activeSub = prevSub; - } - } -} -var globalVersion = 0; -var Link = class { - constructor(sub, dep) { - this.sub = sub; - this.dep = dep; - this.version = dep.version; - this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; - } -}; -var Dep = class { - // TODO isolatedDeclarations "__v_skip" - constructor(computed3) { - this.computed = computed3; - this.version = 0; - this.activeLink = void 0; - this.subs = void 0; - this.map = void 0; - this.key = void 0; - this.sc = 0; - this.__v_skip = true; - if (true) { - this.subsHead = void 0; - } - } - track(debugInfo) { - if (!activeSub || !shouldTrack || activeSub === this.computed) { - return; - } - let link = this.activeLink; - if (link === void 0 || link.sub !== activeSub) { - link = this.activeLink = new Link(activeSub, this); - if (!activeSub.deps) { - activeSub.deps = activeSub.depsTail = link; - } else { - link.prevDep = activeSub.depsTail; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - } - addSub(link); - } else if (link.version === -1) { - link.version = this.version; - if (link.nextDep) { - const next = link.nextDep; - next.prevDep = link.prevDep; - if (link.prevDep) { - link.prevDep.nextDep = next; - } - link.prevDep = activeSub.depsTail; - link.nextDep = void 0; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - if (activeSub.deps === link) { - activeSub.deps = next; - } - } - } - if (activeSub.onTrack) { - activeSub.onTrack( - extend( - { - effect: activeSub - }, - debugInfo - ) - ); - } - return link; - } - trigger(debugInfo) { - this.version++; - globalVersion++; - this.notify(debugInfo); - } - notify(debugInfo) { - startBatch(); - try { - if (true) { - for (let head = this.subsHead; head; head = head.nextSub) { - if (head.sub.onTrigger && !(head.sub.flags & 8)) { - head.sub.onTrigger( - extend( - { - effect: head.sub - }, - debugInfo - ) - ); - } - } - } - for (let link = this.subs; link; link = link.prevSub) { - if (link.sub.notify()) { - ; - link.sub.dep.notify(); - } - } - } finally { - endBatch(); - } - } -}; -function addSub(link) { - link.dep.sc++; - if (link.sub.flags & 4) { - const computed3 = link.dep.computed; - if (computed3 && !link.dep.subs) { - computed3.flags |= 4 | 16; - for (let l = computed3.deps; l; l = l.nextDep) { - addSub(l); - } - } - const currentTail = link.dep.subs; - if (currentTail !== link) { - link.prevSub = currentTail; - if (currentTail) currentTail.nextSub = link; - } - if (link.dep.subsHead === void 0) { - link.dep.subsHead = link; - } - link.dep.subs = link; - } -} -var targetMap = /* @__PURE__ */ new WeakMap(); -var ITERATE_KEY = Symbol( - true ? "Object iterate" : "" -); -var MAP_KEY_ITERATE_KEY = Symbol( - true ? "Map keys iterate" : "" -); -var ARRAY_ITERATE_KEY = Symbol( - true ? "Array iterate" : "" -); -function track(target, type, key) { - if (shouldTrack && activeSub) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = new Dep()); - dep.map = depsMap; - dep.key = key; - } - if (true) { - dep.track({ - target, - type, - key - }); - } else { - dep.track(); - } - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - globalVersion++; - return; - } - const run = (dep) => { - if (dep) { - if (true) { - dep.trigger({ - target, - type, - key, - newValue, - oldValue, - oldTarget - }); - } else { - dep.trigger(); - } - } - }; - startBatch(); - if (type === "clear") { - depsMap.forEach(run); - } else { - const targetIsArray = isArray(target); - const isArrayIndex = targetIsArray && isIntegerKey(key); - if (targetIsArray && key === "length") { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) { - run(dep); - } - }); - } else { - if (key !== void 0 || depsMap.has(void 0)) { - run(depsMap.get(key)); - } - if (isArrayIndex) { - run(depsMap.get(ARRAY_ITERATE_KEY)); - } - switch (type) { - case "add": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isArrayIndex) { - run(depsMap.get("length")); - } - break; - case "delete": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - run(depsMap.get(ITERATE_KEY)); - } - break; - } - } - } - endBatch(); -} -function getDepFromReactive(object, key) { - const depMap = targetMap.get(object); - return depMap && depMap.get(key); -} -function reactiveReadArray(array) { - const raw = toRaw(array); - if (raw === array) return raw; - track(raw, "iterate", ARRAY_ITERATE_KEY); - return isShallow(array) ? raw : raw.map(toReactive); -} -function shallowReadArray(arr) { - track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); - return arr; -} -function toWrapped(target, item) { - if (isReadonly(target)) { - return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item); - } - return toReactive(item); -} -var arrayInstrumentations = { - __proto__: null, - [Symbol.iterator]() { - return iterator(this, Symbol.iterator, (item) => toWrapped(this, item)); - }, - concat(...args) { - return reactiveReadArray(this).concat( - ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x) - ); - }, - entries() { - return iterator(this, "entries", (value) => { - value[1] = toWrapped(this, value[1]); - return value; - }); - }, - every(fn, thisArg) { - return apply(this, "every", fn, thisArg, void 0, arguments); - }, - filter(fn, thisArg) { - return apply( - this, - "filter", - fn, - thisArg, - (v) => v.map((item) => toWrapped(this, item)), - arguments - ); - }, - find(fn, thisArg) { - return apply( - this, - "find", - fn, - thisArg, - (item) => toWrapped(this, item), - arguments - ); - }, - findIndex(fn, thisArg) { - return apply(this, "findIndex", fn, thisArg, void 0, arguments); - }, - findLast(fn, thisArg) { - return apply( - this, - "findLast", - fn, - thisArg, - (item) => toWrapped(this, item), - arguments - ); - }, - findLastIndex(fn, thisArg) { - return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); - }, - // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement - forEach(fn, thisArg) { - return apply(this, "forEach", fn, thisArg, void 0, arguments); - }, - includes(...args) { - return searchProxy(this, "includes", args); - }, - indexOf(...args) { - return searchProxy(this, "indexOf", args); - }, - join(separator) { - return reactiveReadArray(this).join(separator); - }, - // keys() iterator only reads `length`, no optimization required - lastIndexOf(...args) { - return searchProxy(this, "lastIndexOf", args); - }, - map(fn, thisArg) { - return apply(this, "map", fn, thisArg, void 0, arguments); - }, - pop() { - return noTracking(this, "pop"); - }, - push(...args) { - return noTracking(this, "push", args); - }, - reduce(fn, ...args) { - return reduce(this, "reduce", fn, args); - }, - reduceRight(fn, ...args) { - return reduce(this, "reduceRight", fn, args); - }, - shift() { - return noTracking(this, "shift"); - }, - // slice could use ARRAY_ITERATE but also seems to beg for range tracking - some(fn, thisArg) { - return apply(this, "some", fn, thisArg, void 0, arguments); - }, - splice(...args) { - return noTracking(this, "splice", args); - }, - toReversed() { - return reactiveReadArray(this).toReversed(); - }, - toSorted(comparer) { - return reactiveReadArray(this).toSorted(comparer); - }, - toSpliced(...args) { - return reactiveReadArray(this).toSpliced(...args); - }, - unshift(...args) { - return noTracking(this, "unshift", args); - }, - values() { - return iterator(this, "values", (item) => toWrapped(this, item)); - } -}; -function iterator(self2, method, wrapValue) { - const arr = shallowReadArray(self2); - const iter = arr[method](); - if (arr !== self2 && !isShallow(self2)) { - iter._next = iter.next; - iter.next = () => { - const result = iter._next(); - if (!result.done) { - result.value = wrapValue(result.value); - } - return result; - }; - } - return iter; -} -var arrayProto = Array.prototype; -function apply(self2, method, fn, thisArg, wrappedRetFn, args) { - const arr = shallowReadArray(self2); - const needsWrap = arr !== self2 && !isShallow(self2); - const methodFn = arr[method]; - if (methodFn !== arrayProto[method]) { - const result2 = methodFn.apply(self2, args); - return needsWrap ? toReactive(result2) : result2; - } - let wrappedFn = fn; - if (arr !== self2) { - if (needsWrap) { - wrappedFn = function(item, index) { - return fn.call(this, toWrapped(self2, item), index, self2); - }; - } else if (fn.length > 2) { - wrappedFn = function(item, index) { - return fn.call(this, item, index, self2); - }; - } - } - const result = methodFn.call(arr, wrappedFn, thisArg); - return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; -} -function reduce(self2, method, fn, args) { - const arr = shallowReadArray(self2); - let wrappedFn = fn; - if (arr !== self2) { - if (!isShallow(self2)) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, toWrapped(self2, item), index, self2); - }; - } else if (fn.length > 3) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, item, index, self2); - }; - } - } - return arr[method](wrappedFn, ...args); -} -function searchProxy(self2, method, args) { - const arr = toRaw(self2); - track(arr, "iterate", ARRAY_ITERATE_KEY); - const res = arr[method](...args); - if ((res === -1 || res === false) && isProxy(args[0])) { - args[0] = toRaw(args[0]); - return arr[method](...args); - } - return res; -} -function noTracking(self2, method, args = []) { - pauseTracking(); - startBatch(); - const res = toRaw(self2)[method].apply(self2, args); - endBatch(); - resetTracking(); - return res; -} -var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); -var builtInSymbols = new Set( - Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) -); -function hasOwnProperty2(key) { - if (!isSymbol(key)) key = String(key); - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -var BaseReactiveHandler = class { - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - if (key === "__v_skip") return target["__v_skip"]; - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return isShallow2; - } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the receiver is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; - } - return; - } - const targetIsArray = isArray(target); - if (!isReadonly2) { - let fn; - if (targetIsArray && (fn = arrayInstrumentations[key])) { - return fn; - } - if (key === "hasOwnProperty") { - return hasOwnProperty2; - } - } - const res = Reflect.get( - target, - key, - // if this is a proxy wrapping a ref, return methods using the raw ref - // as receiver so that we don't have to call `toRaw` on the ref in all - // its class methods - isRef2(target) ? target : receiver - ); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (isShallow2) { - return res; - } - if (isRef2(res)) { - const value = targetIsArray && isIntegerKey(key) ? res : res.value; - return isReadonly2 && isObject(value) ? readonly(value) : value; - } - if (isObject(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - } -}; -var MutableReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value, receiver) { - let oldValue = target[key]; - const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key); - if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue); - if (!isShallow(value) && !isReadonly(value)) { - oldValue = toRaw(oldValue); - value = toRaw(value); - } - if (!isArrayWithIntegerKey && isRef2(oldValue) && !isRef2(value)) { - if (isOldValueReadonly) { - if (true) { - warn( - `Set operation on key "${String(key)}" failed: target is readonly.`, - target[key] - ); - } - return true; - } else { - oldValue.value = value; - return true; - } - } - } - const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set( - target, - key, - value, - isRef2(target) ? target : receiver - ); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; - } - ownKeys(target) { - track( - target, - "iterate", - isArray(target) ? "length" : ITERATE_KEY - ); - return Reflect.ownKeys(target); - } -}; -var ReadonlyReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - if (true) { - warn( - `Set operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } - deleteProperty(target, key) { - if (true) { - warn( - `Delete operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } -}; -var mutableHandlers = new MutableReactiveHandler(); -var readonlyHandlers = new ReadonlyReactiveHandler(); -var shallowReactiveHandlers = new MutableReactiveHandler(true); -var shallowReadonlyHandlers = new ReadonlyReactiveHandler(true); -var toShallow = (value) => value; -var getProto = (v) => Reflect.getPrototypeOf(v); -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track( - rawTarget, - "iterate", - isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY - ); - return { - // iterator protocol - next() { - const { value, done } = innerIterator.next(); - return done ? { value, done } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - if (true) { - const key = args[0] ? `on key "${args[0]}" ` : ``; - warn( - `${capitalize(type)} operation ${key}failed: target is readonly.`, - toRaw(this) - ); - } - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -function createInstrumentations(readonly2, shallow) { - const instrumentations = { - get(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has } = getProto(rawTarget); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - if (has.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } - }, - get size() { - const target = this["__v_raw"]; - !readonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return target.size; - }, - has(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); - }, - forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - !readonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - } - }; - extend( - instrumentations, - readonly2 ? { - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear") - } : { - add(value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger(target, "add", value, value); - } - return this; - }, - set(key, value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } else if (true) { - checkIdentityKeys(target, has, key); - } - const oldValue = get.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - return this; - }, - delete(key) { - const target = toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } else if (true) { - checkIdentityKeys(target, has, key); - } - const oldValue = get ? get.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - }, - clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; - const result = target.clear(); - if (hadItems) { - trigger( - target, - "clear", - void 0, - void 0, - oldTarget - ); - } - return result; - } - } - ); - const iteratorMethods = [ - "keys", - "values", - "entries", - Symbol.iterator - ]; - iteratorMethods.forEach((method) => { - instrumentations[method] = createIterableMethod(method, readonly2, shallow); - }); - return instrumentations; -} -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = createInstrumentations(isReadonly2, shallow); - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get( - hasOwn(instrumentations, key) && key in target ? instrumentations : target, - key, - receiver - ); - }; -} -var mutableCollectionHandlers = { - get: createInstrumentationGetter(false, false) -}; -var shallowCollectionHandlers = { - get: createInstrumentationGetter(false, true) -}; -var readonlyCollectionHandlers = { - get: createInstrumentationGetter(true, false) -}; -var shallowReadonlyCollectionHandlers = { - get: createInstrumentationGetter(true, true) -}; -function checkIdentityKeys(target, has, key) { - const rawKey = toRaw(key); - if (rawKey !== key && has.call(target, rawKey)) { - const type = toRawType(target); - warn( - `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` - ); - } -} -var reactiveMap = /* @__PURE__ */ new WeakMap(); -var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -var readonlyMap = /* @__PURE__ */ new WeakMap(); -var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject( - target, - false, - mutableHandlers, - mutableCollectionHandlers, - reactiveMap - ); -} -function shallowReactive(target) { - return createReactiveObject( - target, - false, - shallowReactiveHandlers, - shallowCollectionHandlers, - shallowReactiveMap - ); -} -function readonly(target) { - return createReactiveObject( - target, - true, - readonlyHandlers, - readonlyCollectionHandlers, - readonlyMap - ); -} -function shallowReadonly(target) { - return createReactiveObject( - target, - true, - shallowReadonlyHandlers, - shallowReadonlyCollectionHandlers, - shallowReadonlyMap - ); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject(target)) { - if (true) { - warn( - `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( - target - )}` - ); - } - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const proxy = new Proxy( - target, - targetType === 2 ? collectionHandlers : baseHandlers - ); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw"]); - } - return !!(value && value["__v_isReactive"]); -} -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -function isShallow(value) { - return !!(value && value["__v_isShallow"]); -} -function isProxy(value) { - return value ? !!value["__v_raw"] : false; -} -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? toRaw(raw) : observed; -} -function markRaw(value) { - if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) { - def(value, "__v_skip", true); - } - return value; -} -var toReactive = (value) => isObject(value) ? reactive(value) : value; -var toReadonly = (value) => isObject(value) ? readonly(value) : value; -function isRef2(r) { - return r ? r["__v_isRef"] === true : false; -} -function ref(value) { - return createRef(value, false); -} -function shallowRef(value) { - return createRef(value, true); -} -function createRef(rawValue, shallow) { - if (isRef2(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -var RefImpl = class { - constructor(value, isShallow2) { - this.dep = new Dep(); - this["__v_isRef"] = true; - this["__v_isShallow"] = false; - this._rawValue = isShallow2 ? value : toRaw(value); - this._value = isShallow2 ? value : toReactive(value); - this["__v_isShallow"] = isShallow2; - } - get value() { - if (true) { - this.dep.track({ - target: this, - type: "get", - key: "value" - }); - } else { - this.dep.track(); - } - return this._value; - } - set value(newValue) { - const oldValue = this._rawValue; - const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); - newValue = useDirectValue ? newValue : toRaw(newValue); - if (hasChanged(newValue, oldValue)) { - this._rawValue = newValue; - this._value = useDirectValue ? newValue : toReactive(newValue); - if (true) { - this.dep.trigger({ - target: this, - type: "set", - key: "value", - newValue, - oldValue - }); - } else { - this.dep.trigger(); - } - } - } -}; -function triggerRef(ref2) { - if (ref2.dep) { - if (true) { - ref2.dep.trigger({ - target: ref2, - type: "set", - key: "value", - newValue: ref2._value - }); - } else { - ref2.dep.trigger(); - } - } -} -function unref(ref2) { - return isRef2(ref2) ? ref2.value : ref2; -} -function toValue(source) { - return isFunction(source) ? source() : unref(source); -} -var shallowUnwrapHandlers = { - get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (isRef2(oldValue) && !isRef2(value)) { - oldValue.value = value; - return true; - } else { - return Reflect.set(target, key, value, receiver); - } - } -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -var CustomRefImpl = class { - constructor(factory) { - this["__v_isRef"] = true; - this._value = void 0; - const dep = this.dep = new Dep(); - const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); - this._get = get; - this._set = set; - } - get value() { - return this._value = this._get(); - } - set value(newVal) { - this._set(newVal); - } -}; -function customRef(factory) { - return new CustomRefImpl(factory); -} -function toRefs(object) { - if (!isProxy(object)) { - warn(`toRefs() expects a reactive object but received a plain one.`); - } - const ret = isArray(object) ? new Array(object.length) : {}; - for (const key in object) { - ret[key] = propertyToRef(object, key); - } - return ret; -} -var ObjectRefImpl = class { - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this["__v_isRef"] = true; - this._value = void 0; - this._raw = toRaw(_object); - let shallow = true; - let obj = _object; - if (!isArray(_object) || !isIntegerKey(String(_key))) { - do { - shallow = !isProxy(obj) || isShallow(obj); - } while (shallow && (obj = obj["__v_raw"])); - } - this._shallow = shallow; - } - get value() { - let val = this._object[this._key]; - if (this._shallow) { - val = unref(val); - } - return this._value = val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - if (this._shallow && isRef2(this._raw[this._key])) { - const nestedRef = this._object[this._key]; - if (isRef2(nestedRef)) { - nestedRef.value = newVal; - return; - } - } - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(this._raw, this._key); - } -}; -var GetterRefImpl = class { - constructor(_getter) { - this._getter = _getter; - this["__v_isRef"] = true; - this["__v_isReadonly"] = true; - this._value = void 0; - } - get value() { - return this._value = this._getter(); - } -}; -function toRef(source, key, defaultValue) { - if (isRef2(source)) { - return source; - } else if (isFunction(source)) { - return new GetterRefImpl(source); - } else if (isObject(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); - } else { - return ref(source); - } -} -function propertyToRef(source, key, defaultValue) { - return new ObjectRefImpl(source, key, defaultValue); -} -var ComputedRefImpl = class { - constructor(fn, setter, isSSR) { - this.fn = fn; - this.setter = setter; - this._value = void 0; - this.dep = new Dep(this); - this.__v_isRef = true; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 16; - this.globalVersion = globalVersion - 1; - this.next = void 0; - this.effect = this; - this["__v_isReadonly"] = !setter; - this.isSSR = isSSR; - } - /** - * @internal - */ - notify() { - this.flags |= 16; - if (!(this.flags & 8) && // avoid infinite self recursion - activeSub !== this) { - batch(this, true); - return true; - } else if (true) ; - } - get value() { - const link = true ? this.dep.track({ - target: this, - type: "get", - key: "value" - }) : this.dep.track(); - refreshComputed(this); - if (link) { - link.version = this.dep.version; - } - return this._value; - } - set value(newValue) { - if (this.setter) { - this.setter(newValue); - } else if (true) { - warn("Write operation failed: computed value is readonly"); - } - } -}; -function computed(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - if (isFunction(getterOrOptions)) { - getter = getterOrOptions; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, isSSR); - if (debugOptions && !isSSR) { - cRef.onTrack = debugOptions.onTrack; - cRef.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -var TrackOpTypes = { - "GET": "get", - "HAS": "has", - "ITERATE": "iterate" -}; -var TriggerOpTypes = { - "SET": "set", - "ADD": "add", - "DELETE": "delete", - "CLEAR": "clear" -}; -var INITIAL_WATCHER_VALUE = {}; -var cleanupMap = /* @__PURE__ */ new WeakMap(); -var activeWatcher = void 0; -function getCurrentWatcher() { - return activeWatcher; -} -function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { - if (owner) { - let cleanups = cleanupMap.get(owner); - if (!cleanups) cleanupMap.set(owner, cleanups = []); - cleanups.push(cleanupFn); - } else if (!failSilently) { - warn( - `onWatcherCleanup() was called when there was no active watcher to associate with.` - ); - } -} -function watch(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, once, scheduler, augmentJob, call } = options; - const warnInvalidSource = (s) => { - (options.onWarn || warn)( - `Invalid watch source: `, - s, - `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` - ); - }; - const reactiveGetter = (source2) => { - if (deep) return source2; - if (isShallow(source2) || deep === false || deep === 0) - return traverse(source2, 1); - return traverse(source2); - }; - let effect2; - let getter; - let cleanup; - let boundCleanup; - let forceTrigger = false; - let isMultiSource = false; - if (isRef2(source)) { - getter = () => source.value; - forceTrigger = isShallow(source); - } else if (isReactive(source)) { - getter = () => reactiveGetter(source); - forceTrigger = true; - } else if (isArray(source)) { - isMultiSource = true; - forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); - getter = () => source.map((s) => { - if (isRef2(s)) { - return s.value; - } else if (isReactive(s)) { - return reactiveGetter(s); - } else if (isFunction(s)) { - return call ? call(s, 2) : s(); - } else { - warnInvalidSource(s); - } - }); - } else if (isFunction(source)) { - if (cb) { - getter = call ? () => call(source, 2) : source; - } else { - getter = () => { - if (cleanup) { - pauseTracking(); - try { - cleanup(); - } finally { - resetTracking(); - } - } - const currentEffect = activeWatcher; - activeWatcher = effect2; - try { - return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); - } finally { - activeWatcher = currentEffect; - } - }; - } - } else { - getter = NOOP; - warnInvalidSource(source); - } - if (cb && deep) { - const baseGetter = getter; - const depth = deep === true ? Infinity : deep; - getter = () => traverse(baseGetter(), depth); - } - const scope = getCurrentScope(); - const watchHandle = () => { - effect2.stop(); - if (scope && scope.active) { - remove(scope.effects, effect2); - } - }; - if (once && cb) { - const _cb = cb; - cb = (...args) => { - _cb(...args); - watchHandle(); - }; - } - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = (immediateFirstRun) => { - if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { - return; - } - if (cb) { - const newValue = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { - if (cleanup) { - cleanup(); - } - const currentWatcher = activeWatcher; - activeWatcher = effect2; - try { - const args = [ - newValue, - // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - boundCleanup - ]; - oldValue = newValue; - call ? call(cb, 3, args) : ( - // @ts-expect-error - cb(...args) - ); - } finally { - activeWatcher = currentWatcher; - } - } - } else { - effect2.run(); - } - }; - if (augmentJob) { - augmentJob(job); - } - effect2 = new ReactiveEffect(getter); - effect2.scheduler = scheduler ? () => scheduler(job, false) : job; - boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2); - cleanup = effect2.onStop = () => { - const cleanups = cleanupMap.get(effect2); - if (cleanups) { - if (call) { - call(cleanups, 4); - } else { - for (const cleanup2 of cleanups) cleanup2(); - } - cleanupMap.delete(effect2); - } - }; - if (true) { - effect2.onTrack = options.onTrack; - effect2.onTrigger = options.onTrigger; - } - if (cb) { - if (immediate) { - job(true); - } else { - oldValue = effect2.run(); - } - } else if (scheduler) { - scheduler(job.bind(null, true), true); - } else { - effect2.run(); - } - watchHandle.pause = effect2.pause.bind(effect2); - watchHandle.resume = effect2.resume.bind(effect2); - watchHandle.stop = watchHandle; - return watchHandle; -} -function traverse(value, depth = Infinity, seen) { - if (depth <= 0 || !isObject(value) || value["__v_skip"]) { - return value; - } - seen = seen || /* @__PURE__ */ new Map(); - if ((seen.get(value) || 0) >= depth) { - return value; - } - seen.set(value, depth); - depth--; - if (isRef2(value)) { - traverse(value.value, depth, seen); - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - traverse(value[i], depth, seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v) => { - traverse(v, depth, seen); - }); - } else if (isPlainObject(value)) { - for (const key in value) { - traverse(value[key], depth, seen); - } - for (const key of Object.getOwnPropertySymbols(value)) { - if (Object.prototype.propertyIsEnumerable.call(value, key)) { - traverse(value[key], depth, seen); - } - } - } - return value; -} - -// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js -var stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -function popWarningContext() { - stack.pop(); -} -var isWarning = false; -function warn$1(msg, ...args) { - if (isWarning) return; - isWarning = true; - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling( - appWarnHandler, - instance, - 11, - [ - // eslint-disable-next-line no-restricted-syntax - msg + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map( - ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` - ).join("\n"), - trace - ] - ); - } else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); - isWarning = false; -} -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open = ` at <${formatComponentName( - vnode.component, - vnode.type, - isRoot - )}`; - const close = `>` + postfix; - return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) { - res.push(` ...`); - } - return res; -} -function formatProp(key, value, raw) { - if (isString(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) { - return raw ? value : [`${key}=${value}`]; - } else if (isRef2(value)) { - value = formatProp(key, toRaw(value.value), true); - return raw ? value : [`${key}=Ref<`, value, `>`]; - } else if (isFunction(value)) { - return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - } else { - value = toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -function assertNumber(val, type) { - if (false) return; - if (val === void 0) { - return; - } else if (typeof val !== "number") { - warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); - } else if (isNaN(val)) { - warn$1(`${type} is NaN - the duration expression might be incorrect.`); - } -} -var ErrorCodes = { - "SETUP_FUNCTION": 0, - "0": "SETUP_FUNCTION", - "RENDER_FUNCTION": 1, - "1": "RENDER_FUNCTION", - "NATIVE_EVENT_HANDLER": 5, - "5": "NATIVE_EVENT_HANDLER", - "COMPONENT_EVENT_HANDLER": 6, - "6": "COMPONENT_EVENT_HANDLER", - "VNODE_HOOK": 7, - "7": "VNODE_HOOK", - "DIRECTIVE_HOOK": 8, - "8": "DIRECTIVE_HOOK", - "TRANSITION_HOOK": 9, - "9": "TRANSITION_HOOK", - "APP_ERROR_HANDLER": 10, - "10": "APP_ERROR_HANDLER", - "APP_WARN_HANDLER": 11, - "11": "APP_WARN_HANDLER", - "FUNCTION_REF": 12, - "12": "FUNCTION_REF", - "ASYNC_COMPONENT_LOADER": 13, - "13": "ASYNC_COMPONENT_LOADER", - "SCHEDULER": 14, - "14": "SCHEDULER", - "COMPONENT_UPDATE": 15, - "15": "COMPONENT_UPDATE", - "APP_UNMOUNT_CLEANUP": 16, - "16": "APP_UNMOUNT_CLEANUP" -}; -var ErrorTypeStrings$1 = { - ["sp"]: "serverPrefetch hook", - ["bc"]: "beforeCreate hook", - ["c"]: "created hook", - ["bm"]: "beforeMount hook", - ["m"]: "mounted hook", - ["bu"]: "beforeUpdate hook", - ["u"]: "updated", - ["bum"]: "beforeUnmount hook", - ["um"]: "unmounted hook", - ["a"]: "activated hook", - ["da"]: "deactivated hook", - ["ec"]: "errorCaptured hook", - ["rtc"]: "renderTracked hook", - ["rtg"]: "renderTriggered hook", - [0]: "setup function", - [1]: "render function", - [2]: "watcher getter", - [3]: "watcher callback", - [4]: "watcher cleanup function", - [5]: "native event handler", - [6]: "component event handler", - [7]: "vnode hook", - [8]: "directive hook", - [9]: "transition hook", - [10]: "app errorHandler", - [11]: "app warnHandler", - [12]: "ref function", - [13]: "async component loader", - [14]: "scheduler flush", - [15]: "component update", - [16]: "app unmount cleanup function" -}; -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - if (isArray(fn)) { - const values = []; - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - } - return values; - } else if (true) { - warn$1( - `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` - ); - } -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = true ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) { - if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - if (errorHandler) { - pauseTracking(); - callWithErrorHandling(errorHandler, null, 10, [ - err, - exposedInstance, - errorInfo - ]); - resetTracking(); - return; - } - } - logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); -} -function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { - if (true) { - const info = ErrorTypeStrings$1[type]; - if (contextVNode) { - pushWarningContext(contextVNode); - } - warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) { - popWarningContext(); - } - if (throwInDev) { - throw err; - } else { - console.error(err); - } - } else if (throwInProd) { - throw err; - } else { - console.error(err); - } -} -var queue = []; -var flushIndex = -1; -var pendingPostFlushCbs = []; -var activePostFlushCbs = null; -var postFlushIndex = 0; -var resolvedPromise = Promise.resolve(); -var currentFlushPromise = null; -var RECURSION_LIMIT = 100; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex(id) { - let start = flushIndex + 1; - let end = queue.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJob = queue[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { - start = middle + 1; - } else { - end = middle; - } - } - return start; -} -function queueJob(job) { - if (!(job.flags & 1)) { - const jobId = getId(job); - const lastJob = queue[queue.length - 1]; - if (!lastJob || // fast path when the job id is larger than the tail - !(job.flags & 2) && jobId >= getId(lastJob)) { - queue.push(job); - } else { - queue.splice(findInsertionIndex(jobId), 0, job); - } - job.flags |= 1; - queueFlush(); - } -} -function queueFlush() { - if (!currentFlushPromise) { - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function queuePostFlushCb(cb) { - if (!isArray(cb)) { - if (activePostFlushCbs && cb.id === -1) { - activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); - } else if (!(cb.flags & 1)) { - pendingPostFlushCbs.push(cb); - cb.flags |= 1; - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - for (; i < queue.length; i++) { - const cb = queue[i]; - if (cb && cb.flags & 2) { - if (instance && cb.id !== instance.uid) { - continue; - } - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - queue.splice(i, 1); - i--; - if (cb.flags & 4) { - cb.flags &= -2; - } - cb(); - if (!(cb.flags & 4)) { - cb.flags &= -2; - } - } - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort( - (a, b) => getId(a) - getId(b) - ); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - const cb = activePostFlushCbs[postFlushIndex]; - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - if (cb.flags & 4) { - cb.flags &= -2; - } - if (!(cb.flags & 8)) cb(); - cb.flags &= -2; - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -var getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; -function flushJobs(seen) { - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && !(job.flags & 8)) { - if (check(job)) { - continue; - } - if (job.flags & 4) { - job.flags &= ~1; - } - callWithErrorHandling( - job, - job.i, - job.i ? 15 : 14 - ); - if (!(job.flags & 4)) { - job.flags &= ~1; - } - } - } - } finally { - for (; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job) { - job.flags &= -2; - } - } - flushIndex = -1; - queue.length = 0; - flushPostFlushCbs(seen); - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(seen); - } - } -} -function checkRecursiveUpdates(seen, fn) { - const count = seen.get(fn) || 0; - if (count > RECURSION_LIMIT) { - const instance = fn.i; - const componentName = instance && getComponentName(instance.type); - handleError( - `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, - null, - 10 - ); - return true; - } - seen.set(fn, count + 1); - return false; -} -var isHmrUpdating = false; -var hmrDirtyComponents = /* @__PURE__ */ new Map(); -if (true) { - getGlobalThis().__VUE_HMR_RUNTIME__ = { - createRecord: tryWrap(createRecord), - rerender: tryWrap(rerender), - reload: tryWrap(reload) - }; -} -var map = /* @__PURE__ */ new Map(); -function registerHMR(instance) { - const id = instance.type.__hmrId; - let record = map.get(id); - if (!record) { - createRecord(id, instance.type); - record = map.get(id); - } - record.instances.add(instance); -} -function unregisterHMR(instance) { - map.get(instance.type.__hmrId).instances.delete(instance); -} -function createRecord(id, initialDef) { - if (map.has(id)) { - return false; - } - map.set(id, { - initialDef: normalizeClassComponent(initialDef), - instances: /* @__PURE__ */ new Set() - }); - return true; -} -function normalizeClassComponent(component) { - return isClassComponent(component) ? component.__vccOpts : component; -} -function rerender(id, newRender) { - const record = map.get(id); - if (!record) { - return; - } - record.initialDef.render = newRender; - [...record.instances].forEach((instance) => { - if (newRender) { - instance.render = newRender; - normalizeClassComponent(instance.type).render = newRender; - } - instance.renderCache = []; - isHmrUpdating = true; - if (!(instance.job.flags & 8)) { - instance.update(); - } - isHmrUpdating = false; - }); -} -function reload(id, newComp) { - const record = map.get(id); - if (!record) return; - newComp = normalizeClassComponent(newComp); - updateComponentDef(record.initialDef, newComp); - const instances = [...record.instances]; - for (let i = 0; i < instances.length; i++) { - const instance = instances[i]; - const oldComp = normalizeClassComponent(instance.type); - let dirtyInstances = hmrDirtyComponents.get(oldComp); - if (!dirtyInstances) { - if (oldComp !== record.initialDef) { - updateComponentDef(oldComp, newComp); - } - hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); - } - dirtyInstances.add(instance); - instance.appContext.propsCache.delete(instance.type); - instance.appContext.emitsCache.delete(instance.type); - instance.appContext.optionsCache.delete(instance.type); - if (instance.ceReload) { - dirtyInstances.add(instance); - instance.ceReload(newComp.styles); - dirtyInstances.delete(instance); - } else if (instance.parent) { - queueJob(() => { - if (!(instance.job.flags & 8)) { - isHmrUpdating = true; - instance.parent.update(); - isHmrUpdating = false; - dirtyInstances.delete(instance); - } - }); - } else if (instance.appContext.reload) { - instance.appContext.reload(); - } else if (typeof window !== "undefined") { - window.location.reload(); - } else { - console.warn( - "[HMR] Root or manually mounted instance modified. Full reload required." - ); - } - if (instance.root.ce && instance !== instance.root) { - instance.root.ce._removeChildStyle(oldComp); - } - } - queuePostFlushCb(() => { - hmrDirtyComponents.clear(); - }); -} -function updateComponentDef(oldComp, newComp) { - extend(oldComp, newComp); - for (const key in oldComp) { - if (key !== "__file" && !(key in newComp)) { - delete oldComp[key]; - } - } -} -function tryWrap(fn) { - return (id, arg) => { - try { - return fn(id, arg); - } catch (e) { - console.error(e); - console.warn( - `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` - ); - } - }; -} -var devtools$1; -var buffer = []; -var devtoolsNotInstalled = false; -function emit$1(event, ...args) { - if (devtools$1) { - devtools$1.emit(event, ...args); - } else if (!devtoolsNotInstalled) { - buffer.push({ event, args }); - } -} -function setDevtoolsHook$1(hook, target) { - var _a, _b; - devtools$1 = hook; - if (devtools$1) { - devtools$1.enabled = true; - buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); - buffer = []; - } else if ( - // handle late devtools injection - only do this if we are in an actual - // browser environment to avoid the timer handle stalling test runner exit - // (#4815) - typeof window !== "undefined" && // some envs mock window but not fully - window.HTMLElement && // also exclude jsdom - // eslint-disable-next-line no-restricted-syntax - !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) - ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; - replay.push((newHook) => { - setDevtoolsHook$1(newHook, target); - }); - setTimeout(() => { - if (!devtools$1) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -function devtoolsInitApp(app, version2) { - emit$1("app:init", app, version2, { - Fragment, - Text, - Comment, - Static - }); -} -function devtoolsUnmountApp(app) { - emit$1("app:unmount", app); -} -var devtoolsComponentAdded = createDevtoolsComponentHook( - "component:added" - /* COMPONENT_ADDED */ -); -var devtoolsComponentUpdated = createDevtoolsComponentHook( - "component:updated" - /* COMPONENT_UPDATED */ -); -var _devtoolsComponentRemoved = createDevtoolsComponentHook( - "component:removed" - /* COMPONENT_REMOVED */ -); -var devtoolsComponentRemoved = (component) => { - if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered - !devtools$1.cleanupBuffer(component)) { - _devtoolsComponentRemoved(component); - } -}; -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1( - hook, - component.appContext.app, - component.uid, - component.parent ? component.parent.uid : void 0, - component - ); - }; -} -var devtoolsPerfStart = createDevtoolsPerformanceHook( - "perf:start" - /* PERFORMANCE_START */ -); -var devtoolsPerfEnd = createDevtoolsPerformanceHook( - "perf:end" - /* PERFORMANCE_END */ -); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -function devtoolsComponentEmit(component, event, params) { - emit$1( - "component:emit", - component.appContext.app, - component, - event, - params - ); -} -var currentRenderingInstance = null; -var currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev; -} -function pushScopeId(id) { - currentScopeId = id; -} -function popScopeId() { - currentScopeId = null; -} -var withScopeId = (_id) => withCtx; -function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { - if (!ctx) return fn; - if (fn._n) { - return fn; - } - const renderFnWithContext = (...args) => { - if (renderFnWithContext._d) { - setBlockTracking(-1); - } - const prevInstance = setCurrentRenderingInstance(ctx); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) { - setBlockTracking(1); - } - } - if (true) { - devtoolsComponentUpdated(ctx); - } - return res; - }; - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) { - warn$1("Do not use built-in directive ids as custom directive id: " + name); - } -} -function withDirectives(vnode, directives) { - if (currentRenderingInstance === null) { - warn$1(`withDirectives can only be used inside render functions.`); - return vnode; - } - const instance = getComponentPublicInstance(currentRenderingInstance); - const bindings = vnode.dirs || (vnode.dirs = []); - for (let i = 0; i < directives.length; i++) { - let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; - if (dir) { - if (isFunction(dir)) { - dir = { - mounted: dir, - updated: dir - }; - } - if (dir.deep) { - traverse(value); - } - bindings.push({ - dir, - instance, - value, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode; -} -function invokeDirectiveHook(vnode, prevVNode, instance, name) { - const bindings = vnode.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i = 0; i < bindings.length; i++) { - const binding = bindings[i]; - if (oldBindings) { - binding.oldValue = oldBindings[i].value; - } - let hook = binding.dir[name]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode.el, - binding, - vnode, - prevVNode - ]); - resetTracking(); - } - } -} -function provide(key, value) { - if (true) { - if (!currentInstance || currentInstance.isMounted) { - warn$1(`provide() can only be used inside setup().`); - } - } - if (currentInstance) { - let provides = currentInstance.provides; - const parentProvides = currentInstance.parent && currentInstance.parent.provides; - if (parentProvides === provides) { - provides = currentInstance.provides = Object.create(parentProvides); - } - provides[key] = value; - } -} -function inject(key, defaultValue, treatDefaultAsFactory = false) { - const instance = getCurrentInstance(); - if (instance || currentApp) { - let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; - if (provides && key in provides) { - return provides[key]; - } else if (arguments.length > 1) { - return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; - } else if (true) { - warn$1(`injection "${String(key)}" not found.`); - } - } else if (true) { - warn$1(`inject() can only be used inside setup() or functional components.`); - } -} -function hasInjectionContext() { - return !!(getCurrentInstance() || currentApp); -} -var ssrContextKey = Symbol.for("v-scx"); -var useSSRContext = () => { - { - const ctx = inject(ssrContextKey); - if (!ctx) { - warn$1( - `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.` - ); - } - return ctx; - } -}; -function watchEffect(effect2, options) { - return doWatch(effect2, null, options); -} -function watchPostEffect(effect2, options) { - return doWatch( - effect2, - null, - true ? extend({}, options, { flush: "post" }) : { flush: "post" } - ); -} -function watchSyncEffect(effect2, options) { - return doWatch( - effect2, - null, - true ? extend({}, options, { flush: "sync" }) : { flush: "sync" } - ); -} -function watch2(source, cb, options) { - if (!isFunction(cb)) { - warn$1( - `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.` - ); - } - return doWatch(source, cb, options); -} -function doWatch(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, flush, once } = options; - if (!cb) { - if (immediate !== void 0) { - warn$1( - `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - if (deep !== void 0) { - warn$1( - `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - if (once !== void 0) { - warn$1( - `watch() "once" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - } - const baseWatchOptions = extend({}, options); - if (true) baseWatchOptions.onWarn = warn$1; - const runsImmediately = cb && immediate || !cb && flush !== "post"; - let ssrCleanup; - if (isInSSRComponentSetup) { - if (flush === "sync") { - const ctx = useSSRContext(); - ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); - } else if (!runsImmediately) { - const watchStopHandle = () => { - }; - watchStopHandle.stop = NOOP; - watchStopHandle.resume = NOOP; - watchStopHandle.pause = NOOP; - return watchStopHandle; - } - } - const instance = currentInstance; - baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); - let isPre = false; - if (flush === "post") { - baseWatchOptions.scheduler = (job) => { - queuePostRenderEffect(job, instance && instance.suspense); - }; - } else if (flush !== "sync") { - isPre = true; - baseWatchOptions.scheduler = (job, isFirstRun) => { - if (isFirstRun) { - job(); - } else { - queueJob(job); - } - }; - } - baseWatchOptions.augmentJob = (job) => { - if (cb) { - job.flags |= 4; - } - if (isPre) { - job.flags |= 2; - if (instance) { - job.id = instance.uid; - job.i = instance; - } - } - }; - const watchHandle = watch(source, cb, baseWatchOptions); - if (isInSSRComponentSetup) { - if (ssrCleanup) { - ssrCleanup.push(watchHandle); - } else if (runsImmediately) { - watchHandle(); - } - } - return watchHandle; -} -function instanceWatch(source, value, options) { - const publicThis = this.proxy; - const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); - let cb; - if (isFunction(value)) { - cb = value; - } else { - cb = value.handler; - options = value; - } - const reset = setCurrentInstance(this); - const res = doWatch(getter, cb.bind(publicThis), options); - reset(); - return res; -} -function createPathGetter(ctx, path) { - const segments = path.split("."); - return () => { - let cur = ctx; - for (let i = 0; i < segments.length && cur; i++) { - cur = cur[segments[i]]; - } - return cur; - }; -} -var TeleportEndKey = Symbol("_vte"); -var isTeleport = (type) => type.__isTeleport; -var isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); -var isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); -var isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; -var isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; -var resolveTarget = (props, select) => { - const targetSelector = props && props.to; - if (isString(targetSelector)) { - if (!select) { - warn$1( - `Current renderer does not support string target for Teleports. (missing querySelector renderer option)` - ); - return null; - } else { - const target = select(targetSelector); - if (!target && !isTeleportDisabled(props)) { - warn$1( - `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.` - ); - } - return target; - } - } else { - if (!targetSelector && !isTeleportDisabled(props)) { - warn$1(`Invalid Teleport target: ${targetSelector}`); - } - return targetSelector; - } -}; -var TeleportImpl = { - name: "Teleport", - __isTeleport: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { - const { - mc: mountChildren, - pc: patchChildren, - pbc: patchBlockChildren, - o: { insert, querySelector, createText, createComment } - } = internals; - const disabled = isTeleportDisabled(n2.props); - let { shapeFlag, children, dynamicChildren } = n2; - if (isHmrUpdating) { - optimized = false; - dynamicChildren = null; - } - if (n1 == null) { - const placeholder = n2.el = true ? createComment("teleport start") : createText(""); - const mainAnchor = n2.anchor = true ? createComment("teleport end") : createText(""); - insert(placeholder, container, anchor); - insert(mainAnchor, container, anchor); - const mount = (container2, anchor2) => { - if (shapeFlag & 16) { - mountChildren( - children, - container2, - anchor2, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized - ); - } - }; - const mountToTarget = () => { - const target = n2.target = resolveTarget(n2.props, querySelector); - const targetAnchor = prepareAnchor(target, n2, createText, insert); - if (target) { - if (namespace !== "svg" && isTargetSVG(target)) { - namespace = "svg"; - } else if (namespace !== "mathml" && isTargetMathML(target)) { - namespace = "mathml"; - } - if (parentComponent && parentComponent.isCE) { - (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); - } - if (!disabled) { - mount(target, targetAnchor); - updateCssVars(n2, false); - } - } else if (!disabled) { - warn$1( - "Invalid Teleport target on mount:", - target, - `(${typeof target})` - ); - } - }; - if (disabled) { - mount(container, mainAnchor); - updateCssVars(n2, true); - } - if (isTeleportDeferred(n2.props)) { - n2.el.__isMounted = false; - queuePostRenderEffect(() => { - mountToTarget(); - delete n2.el.__isMounted; - }, parentSuspense); - } else { - mountToTarget(); - } - } else { - if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) { - queuePostRenderEffect(() => { - TeleportImpl.process( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized, - internals - ); - }, parentSuspense); - return; - } - n2.el = n1.el; - n2.targetStart = n1.targetStart; - const mainAnchor = n2.anchor = n1.anchor; - const target = n2.target = n1.target; - const targetAnchor = n2.targetAnchor = n1.targetAnchor; - const wasDisabled = isTeleportDisabled(n1.props); - const currentContainer = wasDisabled ? container : target; - const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; - if (namespace === "svg" || isTargetSVG(target)) { - namespace = "svg"; - } else if (namespace === "mathml" || isTargetMathML(target)) { - namespace = "mathml"; - } - if (dynamicChildren) { - patchBlockChildren( - n1.dynamicChildren, - dynamicChildren, - currentContainer, - parentComponent, - parentSuspense, - namespace, - slotScopeIds - ); - traverseStaticChildren(n1, n2, false); - } else if (!optimized) { - patchChildren( - n1, - n2, - currentContainer, - currentAnchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - false - ); - } - if (disabled) { - if (!wasDisabled) { - moveTeleport( - n2, - container, - mainAnchor, - internals, - 1 - ); - } else { - if (n2.props && n1.props && n2.props.to !== n1.props.to) { - n2.props.to = n1.props.to; - } - } - } else { - if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { - const nextTarget = n2.target = resolveTarget( - n2.props, - querySelector - ); - if (nextTarget) { - moveTeleport( - n2, - nextTarget, - null, - internals, - 0 - ); - } else if (true) { - warn$1( - "Invalid Teleport target on update:", - target, - `(${typeof target})` - ); - } - } else if (wasDisabled) { - moveTeleport( - n2, - target, - targetAnchor, - internals, - 1 - ); - } - } - updateCssVars(n2, disabled); - } - }, - remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { - const { - shapeFlag, - children, - anchor, - targetStart, - targetAnchor, - target, - props - } = vnode; - if (target) { - hostRemove(targetStart); - hostRemove(targetAnchor); - } - doRemove && hostRemove(anchor); - if (shapeFlag & 16) { - const shouldRemove = doRemove || !isTeleportDisabled(props); - for (let i = 0; i < children.length; i++) { - const child = children[i]; - unmount( - child, - parentComponent, - parentSuspense, - shouldRemove, - !!child.dynamicChildren - ); - } - } - }, - move: moveTeleport, - hydrate: hydrateTeleport -}; -function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { - if (moveType === 0) { - insert(vnode.targetAnchor, container, parentAnchor); - } - const { el, anchor, shapeFlag, children, props } = vnode; - const isReorder = moveType === 2; - if (isReorder) { - insert(el, container, parentAnchor); - } - if (!isReorder || isTeleportDisabled(props)) { - if (shapeFlag & 16) { - for (let i = 0; i < children.length; i++) { - move( - children[i], - container, - parentAnchor, - 2 - ); - } - } - } - if (isReorder) { - insert(anchor, container, parentAnchor); - } -} -function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { - o: { nextSibling, parentNode, querySelector, insert, createText } -}, hydrateChildren) { - function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) { - vnode2.anchor = hydrateChildren( - nextSibling(node2), - vnode2, - parentNode(node2), - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - vnode2.targetStart = targetStart; - vnode2.targetAnchor = targetAnchor; - } - const target = vnode.target = resolveTarget( - vnode.props, - querySelector - ); - const disabled = isTeleportDisabled(vnode.props); - if (target) { - const targetNode = target._lpa || target.firstChild; - if (vnode.shapeFlag & 16) { - if (disabled) { - hydrateDisabledTeleport( - node, - vnode, - targetNode, - targetNode && nextSibling(targetNode) - ); - } else { - vnode.anchor = nextSibling(node); - let targetAnchor = targetNode; - while (targetAnchor) { - if (targetAnchor && targetAnchor.nodeType === 8) { - if (targetAnchor.data === "teleport start anchor") { - vnode.targetStart = targetAnchor; - } else if (targetAnchor.data === "teleport anchor") { - vnode.targetAnchor = targetAnchor; - target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); - break; - } - } - targetAnchor = nextSibling(targetAnchor); - } - if (!vnode.targetAnchor) { - prepareAnchor(target, vnode, createText, insert); - } - hydrateChildren( - targetNode && nextSibling(targetNode), - vnode, - target, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - } - updateCssVars(vnode, disabled); - } else if (disabled) { - if (vnode.shapeFlag & 16) { - hydrateDisabledTeleport(node, vnode, node, nextSibling(node)); - } - } - return vnode.anchor && nextSibling(vnode.anchor); -} -var Teleport = TeleportImpl; -function updateCssVars(vnode, isDisabled) { - const ctx = vnode.ctx; - if (ctx && ctx.ut) { - let node, anchor; - if (isDisabled) { - node = vnode.el; - anchor = vnode.anchor; - } else { - node = vnode.targetStart; - anchor = vnode.targetAnchor; - } - while (node && node !== anchor) { - if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); - node = node.nextSibling; - } - ctx.ut(); - } -} -function prepareAnchor(target, vnode, createText, insert) { - const targetStart = vnode.targetStart = createText(""); - const targetAnchor = vnode.targetAnchor = createText(""); - targetStart[TeleportEndKey] = targetAnchor; - if (target) { - insert(targetStart, target); - insert(targetAnchor, target); - } - return targetAnchor; -} -var leaveCbKey = Symbol("_leaveCb"); -var enterCbKey = Symbol("_enterCb"); -function useTransitionState() { - const state = { - isMounted: false, - isLeaving: false, - isUnmounting: false, - leavingVNodes: /* @__PURE__ */ new Map() - }; - onMounted(() => { - state.isMounted = true; - }); - onBeforeUnmount(() => { - state.isUnmounting = true; - }); - return state; -} -var TransitionHookValidator = [Function, Array]; -var BaseTransitionPropsValidators = { - mode: String, - appear: Boolean, - persisted: Boolean, - // enter - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - // leave - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - // appear - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator -}; -var recursiveGetSubtree = (instance) => { - const subTree = instance.subTree; - return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; -}; -var BaseTransitionImpl = { - name: `BaseTransition`, - props: BaseTransitionPropsValidators, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const state = useTransitionState(); - return () => { - const children = slots.default && getTransitionRawChildren(slots.default(), true); - if (!children || !children.length) { - return; - } - const child = findNonCommentChild(children); - const rawProps = toRaw(props); - const { mode } = rawProps; - if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { - warn$1(`invalid mode: ${mode}`); - } - if (state.isLeaving) { - return emptyPlaceholder(child); - } - const innerChild = getInnerChild$1(child); - if (!innerChild) { - return emptyPlaceholder(child); - } - let enterHooks = resolveTransitionHooks( - innerChild, - rawProps, - state, - instance, - // #11061, ensure enterHooks is fresh after clone - (hooks) => enterHooks = hooks - ); - if (innerChild.type !== Comment) { - setTransitionHooks(innerChild, enterHooks); - } - let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); - if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) { - let leavingHooks = resolveTransitionHooks( - oldInnerChild, - rawProps, - state, - instance - ); - setTransitionHooks(oldInnerChild, leavingHooks); - if (mode === "out-in" && innerChild.type !== Comment) { - state.isLeaving = true; - leavingHooks.afterLeave = () => { - state.isLeaving = false; - if (!(instance.job.flags & 8)) { - instance.update(); - } - delete leavingHooks.afterLeave; - oldInnerChild = void 0; - }; - return emptyPlaceholder(child); - } else if (mode === "in-out" && innerChild.type !== Comment) { - leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { - const leavingVNodesCache = getLeavingNodesForType( - state, - oldInnerChild - ); - leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; - el[leaveCbKey] = () => { - earlyRemove(); - el[leaveCbKey] = void 0; - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - enterHooks.delayedLeave = () => { - delayedLeave(); - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - }; - } else { - oldInnerChild = void 0; - } - } else if (oldInnerChild) { - oldInnerChild = void 0; - } - return child; - }; - } -}; -function findNonCommentChild(children) { - let child = children[0]; - if (children.length > 1) { - let hasFound = false; - for (const c of children) { - if (c.type !== Comment) { - if (hasFound) { - warn$1( - " can only be used on a single element or component. Use for lists." - ); - break; - } - child = c; - hasFound = true; - if (false) break; - } - } - } - return child; -} -var BaseTransition = BaseTransitionImpl; -function getLeavingNodesForType(state, vnode) { - const { leavingVNodes } = state; - let leavingVNodesCache = leavingVNodes.get(vnode.type); - if (!leavingVNodesCache) { - leavingVNodesCache = /* @__PURE__ */ Object.create(null); - leavingVNodes.set(vnode.type, leavingVNodesCache); - } - return leavingVNodesCache; -} -function resolveTransitionHooks(vnode, props, state, instance, postClone) { - const { - appear, - mode, - persisted = false, - onBeforeEnter, - onEnter, - onAfterEnter, - onEnterCancelled, - onBeforeLeave, - onLeave, - onAfterLeave, - onLeaveCancelled, - onBeforeAppear, - onAppear, - onAfterAppear, - onAppearCancelled - } = props; - const key = String(vnode.key); - const leavingVNodesCache = getLeavingNodesForType(state, vnode); - const callHook3 = (hook, args) => { - hook && callWithAsyncErrorHandling( - hook, - instance, - 9, - args - ); - }; - const callAsyncHook = (hook, args) => { - const done = args[1]; - callHook3(hook, args); - if (isArray(hook)) { - if (hook.every((hook2) => hook2.length <= 1)) done(); - } else if (hook.length <= 1) { - done(); - } - }; - const hooks = { - mode, - persisted, - beforeEnter(el) { - let hook = onBeforeEnter; - if (!state.isMounted) { - if (appear) { - hook = onBeforeAppear || onBeforeEnter; - } else { - return; - } - } - if (el[leaveCbKey]) { - el[leaveCbKey]( - true - /* cancelled */ - ); - } - const leavingVNode = leavingVNodesCache[key]; - if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { - leavingVNode.el[leaveCbKey](); - } - callHook3(hook, [el]); - }, - enter(el) { - let hook = onEnter; - let afterHook = onAfterEnter; - let cancelHook = onEnterCancelled; - if (!state.isMounted) { - if (appear) { - hook = onAppear || onEnter; - afterHook = onAfterAppear || onAfterEnter; - cancelHook = onAppearCancelled || onEnterCancelled; - } else { - return; - } - } - let called = false; - const done = el[enterCbKey] = (cancelled) => { - if (called) return; - called = true; - if (cancelled) { - callHook3(cancelHook, [el]); - } else { - callHook3(afterHook, [el]); - } - if (hooks.delayedLeave) { - hooks.delayedLeave(); - } - el[enterCbKey] = void 0; - }; - if (hook) { - callAsyncHook(hook, [el, done]); - } else { - done(); - } - }, - leave(el, remove2) { - const key2 = String(vnode.key); - if (el[enterCbKey]) { - el[enterCbKey]( - true - /* cancelled */ - ); - } - if (state.isUnmounting) { - return remove2(); - } - callHook3(onBeforeLeave, [el]); - let called = false; - const done = el[leaveCbKey] = (cancelled) => { - if (called) return; - called = true; - remove2(); - if (cancelled) { - callHook3(onLeaveCancelled, [el]); - } else { - callHook3(onAfterLeave, [el]); - } - el[leaveCbKey] = void 0; - if (leavingVNodesCache[key2] === vnode) { - delete leavingVNodesCache[key2]; - } - }; - leavingVNodesCache[key2] = vnode; - if (onLeave) { - callAsyncHook(onLeave, [el, done]); - } else { - done(); - } - }, - clone(vnode2) { - const hooks2 = resolveTransitionHooks( - vnode2, - props, - state, - instance, - postClone - ); - if (postClone) postClone(hooks2); - return hooks2; - } - }; - return hooks; -} -function emptyPlaceholder(vnode) { - if (isKeepAlive(vnode)) { - vnode = cloneVNode(vnode); - vnode.children = null; - return vnode; - } -} -function getInnerChild$1(vnode) { - if (!isKeepAlive(vnode)) { - if (isTeleport(vnode.type) && vnode.children) { - return findNonCommentChild(vnode.children); - } - return vnode; - } - if (vnode.component) { - return vnode.component.subTree; - } - const { shapeFlag, children } = vnode; - if (children) { - if (shapeFlag & 16) { - return children[0]; - } - if (shapeFlag & 32 && isFunction(children.default)) { - return children.default(); - } - } -} -function setTransitionHooks(vnode, hooks) { - if (vnode.shapeFlag & 6 && vnode.component) { - vnode.transition = hooks; - setTransitionHooks(vnode.component.subTree, hooks); - } else if (vnode.shapeFlag & 128) { - vnode.ssContent.transition = hooks.clone(vnode.ssContent); - vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); - } else { - vnode.transition = hooks; - } -} -function getTransitionRawChildren(children, keepComment = false, parentKey) { - let ret = []; - let keyedFragmentCount = 0; - for (let i = 0; i < children.length; i++) { - let child = children[i]; - const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); - if (child.type === Fragment) { - if (child.patchFlag & 128) keyedFragmentCount++; - ret = ret.concat( - getTransitionRawChildren(child.children, keepComment, key) - ); - } else if (keepComment || child.type !== Comment) { - ret.push(key != null ? cloneVNode(child, { key }) : child); - } - } - if (keyedFragmentCount > 1) { - for (let i = 0; i < ret.length; i++) { - ret[i].patchFlag = -2; - } - } - return ret; -} -function defineComponent(options, extraOptions) { - return isFunction(options) ? ( - // #8236: extend call and options.name access are considered side-effects - // by Rollup, so we have to wrap it in a pure-annotated IIFE. - (() => extend({ name: options.name }, extraOptions, { setup: options }))() - ) : options; -} -function useId() { - const i = getCurrentInstance(); - if (i) { - return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; - } else if (true) { - warn$1( - `useId() is called when there is no active component instance to be associated with.` - ); - } - return ""; -} -function markAsyncBoundary(instance) { - instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; -} -var knownTemplateRefs = /* @__PURE__ */ new WeakSet(); -function useTemplateRef(key) { - const i = getCurrentInstance(); - const r = shallowRef(null); - if (i) { - const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; - let desc; - if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) { - warn$1(`useTemplateRef('${key}') already exists.`); - } else { - Object.defineProperty(refs, key, { - enumerable: true, - get: () => r.value, - set: (val) => r.value = val - }); - } - } else if (true) { - warn$1( - `useTemplateRef() is called when there is no active component instance to be associated with.` - ); - } - const ret = true ? readonly(r) : r; - if (true) { - knownTemplateRefs.add(ret); - } - return ret; -} -var pendingSetRefMap = /* @__PURE__ */ new WeakMap(); -function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { - if (isArray(rawRef)) { - rawRef.forEach( - (r, i) => setRef( - r, - oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), - parentSuspense, - vnode, - isUnmount - ) - ); - return; - } - if (isAsyncWrapper(vnode) && !isUnmount) { - if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) { - setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); - } - return; - } - const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; - const value = isUnmount ? null : refValue; - const { i: owner, r: ref2 } = rawRef; - if (!owner) { - warn$1( - `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.` - ); - return; - } - const oldRef = oldRawRef && oldRawRef.r; - const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; - const setupState = owner.setupState; - const rawSetupState = toRaw(setupState); - const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => { - if (true) { - if (hasOwn(rawSetupState, key) && !isRef2(rawSetupState[key])) { - warn$1( - `Template ref "${key}" used on a non-ref value. It will not work in the production build.` - ); - } - if (knownTemplateRefs.has(rawSetupState[key])) { - return false; - } - } - return hasOwn(rawSetupState, key); - }; - const canSetRef = (ref22) => { - return !knownTemplateRefs.has(ref22); - }; - if (oldRef != null && oldRef !== ref2) { - invalidatePendingSetRef(oldRawRef); - if (isString(oldRef)) { - refs[oldRef] = null; - if (canSetSetupRef(oldRef)) { - setupState[oldRef] = null; - } - } else if (isRef2(oldRef)) { - if (canSetRef(oldRef)) { - oldRef.value = null; - } - const oldRawRefAtom = oldRawRef; - if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; - } - } - if (isFunction(ref2)) { - callWithErrorHandling(ref2, owner, 12, [value, refs]); - } else { - const _isString = isString(ref2); - const _isRef = isRef2(ref2); - if (_isString || _isRef) { - const doSet = () => { - if (rawRef.f) { - const existing = _isString ? canSetSetupRef(ref2) ? setupState[ref2] : refs[ref2] : canSetRef(ref2) || !rawRef.k ? ref2.value : refs[rawRef.k]; - if (isUnmount) { - isArray(existing) && remove(existing, refValue); - } else { - if (!isArray(existing)) { - if (_isString) { - refs[ref2] = [refValue]; - if (canSetSetupRef(ref2)) { - setupState[ref2] = refs[ref2]; - } - } else { - const newVal = [refValue]; - if (canSetRef(ref2)) { - ref2.value = newVal; - } - if (rawRef.k) refs[rawRef.k] = newVal; - } - } else if (!existing.includes(refValue)) { - existing.push(refValue); - } - } - } else if (_isString) { - refs[ref2] = value; - if (canSetSetupRef(ref2)) { - setupState[ref2] = value; - } - } else if (_isRef) { - if (canSetRef(ref2)) { - ref2.value = value; - } - if (rawRef.k) refs[rawRef.k] = value; - } else if (true) { - warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); - } - }; - if (value) { - const job = () => { - doSet(); - pendingSetRefMap.delete(rawRef); - }; - job.id = -1; - pendingSetRefMap.set(rawRef, job); - queuePostRenderEffect(job, parentSuspense); - } else { - invalidatePendingSetRef(rawRef); - doSet(); - } - } else if (true) { - warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); - } - } -} -function invalidatePendingSetRef(rawRef) { - const pendingSetRef = pendingSetRefMap.get(rawRef); - if (pendingSetRef) { - pendingSetRef.flags |= 8; - pendingSetRefMap.delete(rawRef); - } -} -var hasLoggedMismatchError = false; -var logMismatchError = () => { - if (hasLoggedMismatchError) { - return; - } - console.error("Hydration completed but contains mismatches."); - hasLoggedMismatchError = true; -}; -var isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; -var isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); -var getContainerType = (container) => { - if (container.nodeType !== 1) return void 0; - if (isSVGContainer(container)) return "svg"; - if (isMathMLContainer(container)) return "mathml"; - return void 0; -}; -var isComment = (node) => node.nodeType === 8; -function createHydrationFunctions(rendererInternals) { - const { - mt: mountComponent, - p: patch, - o: { - patchProp: patchProp2, - createText, - nextSibling, - parentNode, - remove: remove2, - insert, - createComment - } - } = rendererInternals; - const hydrate2 = (vnode, container) => { - if (!container.hasChildNodes()) { - warn$1( - `Attempting to hydrate existing markup but container is empty. Performing full mount instead.` - ); - patch(null, vnode, container); - flushPostFlushCbs(); - container._vnode = vnode; - return; - } - hydrateNode(container.firstChild, vnode, null, null, null); - flushPostFlushCbs(); - container._vnode = vnode; - }; - const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { - optimized = optimized || !!vnode.dynamicChildren; - const isFragmentStart = isComment(node) && node.data === "["; - const onMismatch = () => handleMismatch( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - isFragmentStart - ); - const { type, ref: ref2, shapeFlag, patchFlag } = vnode; - let domType = node.nodeType; - vnode.el = node; - if (true) { - def(node, "__vnode", vnode, true); - def(node, "__vueParentComponent", parentComponent, true); - } - if (patchFlag === -2) { - optimized = false; - vnode.dynamicChildren = null; - } - let nextNode = null; - switch (type) { - case Text: - if (domType !== 3) { - if (vnode.children === "") { - insert(vnode.el = createText(""), parentNode(node), node); - nextNode = node; - } else { - nextNode = onMismatch(); - } - } else { - if (node.data !== vnode.children) { - warn$1( - `Hydration text mismatch in`, - node.parentNode, - ` - - rendered on server: ${JSON.stringify( - node.data - )} - - expected on client: ${JSON.stringify(vnode.children)}` - ); - logMismatchError(); - node.data = vnode.children; - } - nextNode = nextSibling(node); - } - break; - case Comment: - if (isTemplateNode(node)) { - nextNode = nextSibling(node); - replaceNode( - vnode.el = node.content.firstChild, - node, - parentComponent - ); - } else if (domType !== 8 || isFragmentStart) { - nextNode = onMismatch(); - } else { - nextNode = nextSibling(node); - } - break; - case Static: - if (isFragmentStart) { - node = nextSibling(node); - domType = node.nodeType; - } - if (domType === 1 || domType === 3) { - nextNode = node; - const needToAdoptContent = !vnode.children.length; - for (let i = 0; i < vnode.staticCount; i++) { - if (needToAdoptContent) - vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; - if (i === vnode.staticCount - 1) { - vnode.anchor = nextNode; - } - nextNode = nextSibling(nextNode); - } - return isFragmentStart ? nextSibling(nextNode) : nextNode; - } else { - onMismatch(); - } - break; - case Fragment: - if (!isFragmentStart) { - nextNode = onMismatch(); - } else { - nextNode = hydrateFragment( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - break; - default: - if (shapeFlag & 1) { - if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { - nextNode = onMismatch(); - } else { - nextNode = hydrateElement( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - } else if (shapeFlag & 6) { - vnode.slotScopeIds = slotScopeIds; - const container = parentNode(node); - if (isFragmentStart) { - nextNode = locateClosingAnchor(node); - } else if (isComment(node) && node.data === "teleport start") { - nextNode = locateClosingAnchor(node, node.data, "teleport end"); - } else { - nextNode = nextSibling(node); - } - mountComponent( - vnode, - container, - null, - parentComponent, - parentSuspense, - getContainerType(container), - optimized - ); - if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { - let subTree; - if (isFragmentStart) { - subTree = createVNode(Fragment); - subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; - } else { - subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); - } - subTree.el = node; - vnode.component.subTree = subTree; - } - } else if (shapeFlag & 64) { - if (domType !== 8) { - nextNode = onMismatch(); - } else { - nextNode = vnode.type.hydrate( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized, - rendererInternals, - hydrateChildren - ); - } - } else if (shapeFlag & 128) { - nextNode = vnode.type.hydrate( - node, - vnode, - parentComponent, - parentSuspense, - getContainerType(parentNode(node)), - slotScopeIds, - optimized, - rendererInternals, - hydrateNode - ); - } else if (true) { - warn$1("Invalid HostVNode type:", type, `(${typeof type})`); - } - } - if (ref2 != null) { - setRef(ref2, null, parentSuspense, vnode); - } - return nextNode; - }; - const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!vnode.dynamicChildren; - const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; - const forcePatch = type === "input" || type === "option"; - if (true) { - if (dirs) { - invokeDirectiveHook(vnode, null, parentComponent, "created"); - } - let needCallTransitionHooks = false; - if (isTemplateNode(el)) { - needCallTransitionHooks = needTransition( - null, - // no need check parentSuspense in hydration - transition - ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; - const content = el.content.firstChild; - if (needCallTransitionHooks) { - const cls = content.getAttribute("class"); - if (cls) content.$cls = cls; - transition.beforeEnter(content); - } - replaceNode(content, el, parentComponent); - vnode.el = el = content; - } - if (shapeFlag & 16 && // skip if element has innerHTML / textContent - !(props && (props.innerHTML || props.textContent))) { - let next = hydrateChildren( - el.firstChild, - vnode, - el, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - let hasWarned2 = false; - while (next) { - if (!isMismatchAllowed( - el, - 1 - /* CHILDREN */ - )) { - if (!hasWarned2) { - warn$1( - `Hydration children mismatch on`, - el, - ` -Server rendered element contains more child nodes than client vdom.` - ); - hasWarned2 = true; - } - logMismatchError(); - } - const cur = next; - next = next.nextSibling; - remove2(cur); - } - } else if (shapeFlag & 8) { - let clientText = vnode.children; - if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { - clientText = clientText.slice(1); - } - const { textContent } = el; - if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM - textContent !== clientText.replace(/\r\n|\r/g, "\n")) { - if (!isMismatchAllowed( - el, - 0 - /* TEXT */ - )) { - warn$1( - `Hydration text content mismatch on`, - el, - ` - - rendered on server: ${textContent} - - expected on client: ${clientText}` - ); - logMismatchError(); - } - el.textContent = vnode.children; - } - } - if (props) { - if (true) { - const isCustomElement = el.tagName.includes("-"); - for (const key in props) { - if (// #11189 skip if this node has directives that have created hooks - // as it could have mutated the DOM in any possible way - !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) { - logMismatchError(); - } - if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers - key[0] === "." || isCustomElement) { - patchProp2(el, key, null, props[key], void 0, parentComponent); - } - } - } else if (props.onClick) { - patchProp2( - el, - "onClick", - null, - props.onClick, - void 0, - parentComponent - ); - } else if (patchFlag & 4 && isReactive(props.style)) { - for (const key in props.style) props.style[key]; - } - } - let vnodeHooks; - if (vnodeHooks = props && props.onVnodeBeforeMount) { - invokeVNodeHook(vnodeHooks, parentComponent, vnode); - } - if (dirs) { - invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); - } - if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { - queueEffectWithSuspense(() => { - vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); - needCallTransitionHooks && transition.enter(el); - dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); - }, parentSuspense); - } - } - return el.nextSibling; - }; - const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!parentVNode.dynamicChildren; - const children = parentVNode.children; - const l = children.length; - let hasWarned2 = false; - for (let i = 0; i < l; i++) { - const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); - const isText = vnode.type === Text; - if (node) { - if (isText && !optimized) { - if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { - insert( - createText( - node.data.slice(vnode.children.length) - ), - container, - nextSibling(node) - ); - node.data = vnode.children; - } - } - node = hydrateNode( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } else if (isText && !vnode.children) { - insert(vnode.el = createText(""), container); - } else { - if (!isMismatchAllowed( - container, - 1 - /* CHILDREN */ - )) { - if (!hasWarned2) { - warn$1( - `Hydration children mismatch on`, - container, - ` -Server rendered element contains fewer child nodes than client vdom.` - ); - hasWarned2 = true; - } - logMismatchError(); - } - patch( - null, - vnode, - container, - null, - parentComponent, - parentSuspense, - getContainerType(container), - slotScopeIds - ); - } - } - return node; - }; - const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - const { slotScopeIds: fragmentSlotScopeIds } = vnode; - if (fragmentSlotScopeIds) { - slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; - } - const container = parentNode(node); - const next = hydrateChildren( - nextSibling(node), - vnode, - container, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - if (next && isComment(next) && next.data === "]") { - return nextSibling(vnode.anchor = next); - } else { - logMismatchError(); - insert(vnode.anchor = createComment(`]`), container, next); - return next; - } - }; - const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { - if (!isMismatchAllowed( - node.parentElement, - 1 - /* CHILDREN */ - )) { - warn$1( - `Hydration node mismatch: -- rendered on server:`, - node, - node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, - ` -- expected on client:`, - vnode.type - ); - logMismatchError(); - } - vnode.el = null; - if (isFragment) { - const end = locateClosingAnchor(node); - while (true) { - const next2 = nextSibling(node); - if (next2 && next2 !== end) { - remove2(next2); - } else { - break; - } - } - } - const next = nextSibling(node); - const container = parentNode(node); - remove2(node); - patch( - null, - vnode, - container, - next, - parentComponent, - parentSuspense, - getContainerType(container), - slotScopeIds - ); - if (parentComponent) { - parentComponent.vnode.el = vnode.el; - updateHOCHostEl(parentComponent, vnode.el); - } - return next; - }; - const locateClosingAnchor = (node, open = "[", close = "]") => { - let match = 0; - while (node) { - node = nextSibling(node); - if (node && isComment(node)) { - if (node.data === open) match++; - if (node.data === close) { - if (match === 0) { - return nextSibling(node); - } else { - match--; - } - } - } - } - return node; - }; - const replaceNode = (newNode, oldNode, parentComponent) => { - const parentNode2 = oldNode.parentNode; - if (parentNode2) { - parentNode2.replaceChild(newNode, oldNode); - } - let parent = parentComponent; - while (parent) { - if (parent.vnode.el === oldNode) { - parent.vnode.el = parent.subTree.el = newNode; - } - parent = parent.parent; - } - }; - const isTemplateNode = (node) => { - return node.nodeType === 1 && node.tagName === "TEMPLATE"; - }; - return [hydrate2, hydrateNode]; -} -function propHasMismatch(el, key, clientValue, vnode, instance) { - let mismatchType; - let mismatchKey; - let actual; - let expected; - if (key === "class") { - if (el.$cls) { - actual = el.$cls; - delete el.$cls; - } else { - actual = el.getAttribute("class"); - } - expected = normalizeClass(clientValue); - if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { - mismatchType = 2; - mismatchKey = `class`; - } - } else if (key === "style") { - actual = el.getAttribute("style") || ""; - expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); - const actualMap = toStyleMap(actual); - const expectedMap = toStyleMap(expected); - if (vnode.dirs) { - for (const { dir, value } of vnode.dirs) { - if (dir.name === "show" && !value) { - expectedMap.set("display", "none"); - } - } - } - if (instance) { - resolveCssVars(instance, vnode, expectedMap); - } - if (!isMapEqual(actualMap, expectedMap)) { - mismatchType = 3; - mismatchKey = "style"; - } - } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { - if (isBooleanAttr(key)) { - actual = el.hasAttribute(key); - expected = includeBooleanAttr(clientValue); - } else if (clientValue == null) { - actual = el.hasAttribute(key); - expected = false; - } else { - if (el.hasAttribute(key)) { - actual = el.getAttribute(key); - } else if (key === "value" && el.tagName === "TEXTAREA") { - actual = el.value; - } else { - actual = false; - } - expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; - } - if (actual !== expected) { - mismatchType = 4; - mismatchKey = key; - } - } - if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { - const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; - const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`; - const postSegment = ` - - rendered on server: ${format(actual)} - - expected on client: ${format(expected)} - Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. - You should fix the source of the mismatch.`; - { - warn$1(preSegment, el, postSegment); - } - return true; - } - return false; -} -function toClassSet(str) { - return new Set(str.trim().split(/\s+/)); -} -function isSetEqual(a, b) { - if (a.size !== b.size) { - return false; - } - for (const s of a) { - if (!b.has(s)) { - return false; - } - } - return true; -} -function toStyleMap(str) { - const styleMap = /* @__PURE__ */ new Map(); - for (const item of str.split(";")) { - let [key, value] = item.split(":"); - key = key.trim(); - value = value && value.trim(); - if (key && value) { - styleMap.set(key, value); - } - } - return styleMap; -} -function isMapEqual(a, b) { - if (a.size !== b.size) { - return false; - } - for (const [key, value] of a) { - if (value !== b.get(key)) { - return false; - } - } - return true; -} -function resolveCssVars(instance, vnode, expectedMap) { - const root = instance.subTree; - if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { - const cssVars = instance.getCssVars(); - for (const key in cssVars) { - const value = normalizeCssVarValue(cssVars[key]); - expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value); - } - } - if (vnode === root && instance.parent) { - resolveCssVars(instance.parent, instance.vnode, expectedMap); - } -} -var allowMismatchAttr = "data-allow-mismatch"; -var MismatchTypeString = { - [ - 0 - /* TEXT */ - ]: "text", - [ - 1 - /* CHILDREN */ - ]: "children", - [ - 2 - /* CLASS */ - ]: "class", - [ - 3 - /* STYLE */ - ]: "style", - [ - 4 - /* ATTRIBUTE */ - ]: "attribute" -}; -function isMismatchAllowed(el, allowedType) { - if (allowedType === 0 || allowedType === 1) { - while (el && !el.hasAttribute(allowMismatchAttr)) { - el = el.parentElement; - } - } - const allowedAttr = el && el.getAttribute(allowMismatchAttr); - if (allowedAttr == null) { - return false; - } else if (allowedAttr === "") { - return true; - } else { - const list = allowedAttr.split(","); - if (allowedType === 0 && list.includes("children")) { - return true; - } - return list.includes(MismatchTypeString[allowedType]); - } -} -var requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); -var cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); -var hydrateOnIdle = (timeout = 1e4) => (hydrate2) => { - const id = requestIdleCallback(hydrate2, { timeout }); - return () => cancelIdleCallback(id); -}; -function elementIsVisibleInViewport(el) { - const { top, left, bottom, right } = el.getBoundingClientRect(); - const { innerHeight, innerWidth } = window; - return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); -} -var hydrateOnVisible = (opts) => (hydrate2, forEach) => { - const ob = new IntersectionObserver((entries) => { - for (const e of entries) { - if (!e.isIntersecting) continue; - ob.disconnect(); - hydrate2(); - break; - } - }, opts); - forEach((el) => { - if (!(el instanceof Element)) return; - if (elementIsVisibleInViewport(el)) { - hydrate2(); - ob.disconnect(); - return false; - } - ob.observe(el); - }); - return () => ob.disconnect(); -}; -var hydrateOnMediaQuery = (query) => (hydrate2) => { - if (query) { - const mql = matchMedia(query); - if (mql.matches) { - hydrate2(); - } else { - mql.addEventListener("change", hydrate2, { once: true }); - return () => mql.removeEventListener("change", hydrate2); - } - } -}; -var hydrateOnInteraction = (interactions = []) => (hydrate2, forEach) => { - if (isString(interactions)) interactions = [interactions]; - let hasHydrated = false; - const doHydrate = (e) => { - if (!hasHydrated) { - hasHydrated = true; - teardown(); - hydrate2(); - e.target.dispatchEvent(new e.constructor(e.type, e)); - } - }; - const teardown = () => { - forEach((el) => { - for (const i of interactions) { - el.removeEventListener(i, doHydrate); - } - }); - }; - forEach((el) => { - for (const i of interactions) { - el.addEventListener(i, doHydrate, { once: true }); - } - }); - return teardown; -}; -function forEachElement(node, cb) { - if (isComment(node) && node.data === "[") { - let depth = 1; - let next = node.nextSibling; - while (next) { - if (next.nodeType === 1) { - const result = cb(next); - if (result === false) { - break; - } - } else if (isComment(next)) { - if (next.data === "]") { - if (--depth === 0) break; - } else if (next.data === "[") { - depth++; - } - } - next = next.nextSibling; - } - } else { - cb(node); - } -} -var isAsyncWrapper = (i) => !!i.type.__asyncLoader; -function defineAsyncComponent(source) { - if (isFunction(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - hydrate: hydrateStrategy, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = () => { - retries++; - pendingRequest = null; - return load(); - }; - const load = () => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve2, reject) => { - const userRetry = () => resolve2(retry()); - const userFail = () => reject(err); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (!comp) { - warn$1( - `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` - ); - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - if (comp && !isObject(comp) && !isFunction(comp)) { - throw new Error(`Invalid async component load result: ${comp}`); - } - resolvedComp = comp; - return comp; - })); - }; - return defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load, - __asyncHydrate(el, instance, hydrate2) { - let patched = false; - (instance.bu || (instance.bu = [])).push(() => patched = true); - const performHydrate = () => { - if (patched) { - if (true) { - warn$1( - `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.` - ); - } - return; - } - hydrate2(); - }; - const doHydrate = hydrateStrategy ? () => { - const teardown = hydrateStrategy( - performHydrate, - (cb) => forEachElement(el, cb) - ); - if (teardown) { - (instance.bum || (instance.bum = [])).push(teardown); - } - } : performHydrate; - if (resolvedComp) { - doHydrate(); - } else { - load().then(() => !instance.isUnmounted && doHydrate()); - } - }, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - markAsyncBoundary(instance); - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = (err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - ); - }; - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error.value) { - const err = new Error( - `Async component timed out after ${timeout}ms.` - ); - onError(err); - error.value = err; - } - }, timeout); - } - load().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - instance.parent.update(); - } - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error.value && errorComponent) { - return createVNode(errorComponent, { - error: error.value - }); - } else if (loadingComponent && !delayed.value) { - return createInnerComp( - loadingComponent, - instance - ); - } - }; - } - }); -} -function createInnerComp(comp, parent) { - const { ref: ref2, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref2; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; -var KeepAliveImpl = { - name: `KeepAlive`, - // Marker for special handling inside the renderer. We are not using a === - // check directly on KeepAlive in the renderer, because importing it directly - // would prevent it from being tree-shaken. - __isKeepAlive: true, - props: { - include: [String, RegExp, Array], - exclude: [String, RegExp, Array], - max: [String, Number] - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const sharedContext = instance.ctx; - if (!sharedContext.renderer) { - return () => { - const children = slots.default && slots.default(); - return children && children.length === 1 ? children[0] : children; - }; - } - const cache = /* @__PURE__ */ new Map(); - const keys = /* @__PURE__ */ new Set(); - let current = null; - if (true) { - instance.__v_cache = cache; - } - const parentSuspense = instance.suspense; - const { - renderer: { - p: patch, - m: move, - um: _unmount, - o: { createElement } - } - } = sharedContext; - const storageContainer = createElement("div"); - sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { - const instance2 = vnode.component; - move(vnode, container, anchor, 0, parentSuspense); - patch( - instance2.vnode, - vnode, - container, - anchor, - instance2, - parentSuspense, - namespace, - vnode.slotScopeIds, - optimized - ); - queuePostRenderEffect(() => { - instance2.isDeactivated = false; - if (instance2.a) { - invokeArrayFns(instance2.a); - } - const vnodeHook = vnode.props && vnode.props.onVnodeMounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - }; - sharedContext.deactivate = (vnode) => { - const instance2 = vnode.component; - invalidateMount(instance2.m); - invalidateMount(instance2.a); - move(vnode, storageContainer, null, 1, parentSuspense); - queuePostRenderEffect(() => { - if (instance2.da) { - invokeArrayFns(instance2.da); - } - const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - instance2.isDeactivated = true; - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - if (true) { - instance2.__keepAliveStorageContainer = storageContainer; - } - }; - function unmount(vnode) { - resetShapeFlag(vnode); - _unmount(vnode, instance, parentSuspense, true); - } - function pruneCache(filter) { - cache.forEach((vnode, key) => { - const name = getComponentName( - isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type - ); - if (name && !filter(name)) { - pruneCacheEntry(key); - } - }); - } - function pruneCacheEntry(key) { - const cached = cache.get(key); - if (cached && (!current || !isSameVNodeType(cached, current))) { - unmount(cached); - } else if (current) { - resetShapeFlag(current); - } - cache.delete(key); - keys.delete(key); - } - watch2( - () => [props.include, props.exclude], - ([include, exclude]) => { - include && pruneCache((name) => matches(include, name)); - exclude && pruneCache((name) => !matches(exclude, name)); - }, - // prune post-render after `current` has been updated - { flush: "post", deep: true } - ); - let pendingCacheKey = null; - const cacheSubtree = () => { - if (pendingCacheKey != null) { - if (isSuspense(instance.subTree.type)) { - queuePostRenderEffect(() => { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - }, instance.subTree.suspense); - } else { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - } - } - }; - onMounted(cacheSubtree); - onUpdated(cacheSubtree); - onBeforeUnmount(() => { - cache.forEach((cached) => { - const { subTree, suspense } = instance; - const vnode = getInnerChild(subTree); - if (cached.type === vnode.type && cached.key === vnode.key) { - resetShapeFlag(vnode); - const da = vnode.component.da; - da && queuePostRenderEffect(da, suspense); - return; - } - unmount(cached); - }); - }); - return () => { - pendingCacheKey = null; - if (!slots.default) { - return current = null; - } - const children = slots.default(); - const rawVNode = children[0]; - if (children.length > 1) { - if (true) { - warn$1(`KeepAlive should contain exactly one component child.`); - } - current = null; - return children; - } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { - current = null; - return rawVNode; - } - let vnode = getInnerChild(rawVNode); - if (vnode.type === Comment) { - current = null; - return vnode; - } - const comp = vnode.type; - const name = getComponentName( - isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp - ); - const { include, exclude, max } = props; - if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { - vnode.shapeFlag &= -257; - current = vnode; - return rawVNode; - } - const key = vnode.key == null ? comp : vnode.key; - const cachedVNode = cache.get(key); - if (vnode.el) { - vnode = cloneVNode(vnode); - if (rawVNode.shapeFlag & 128) { - rawVNode.ssContent = vnode; - } - } - pendingCacheKey = key; - if (cachedVNode) { - vnode.el = cachedVNode.el; - vnode.component = cachedVNode.component; - if (vnode.transition) { - setTransitionHooks(vnode, vnode.transition); - } - vnode.shapeFlag |= 512; - keys.delete(key); - keys.add(key); - } else { - keys.add(key); - if (max && keys.size > parseInt(max, 10)) { - pruneCacheEntry(keys.values().next().value); - } - } - vnode.shapeFlag |= 256; - current = vnode; - return isSuspense(rawVNode.type) ? rawVNode : vnode; - }; - } -}; -var KeepAlive = KeepAliveImpl; -function matches(pattern, name) { - if (isArray(pattern)) { - return pattern.some((p2) => matches(p2, name)); - } else if (isString(pattern)) { - return pattern.split(",").includes(name); - } else if (isRegExp(pattern)) { - pattern.lastIndex = 0; - return pattern.test(name); - } - return false; -} -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) { - return; - } - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) { - injectToKeepAliveRoot(wrappedHook, type, target, current); - } - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook( - type, - hook, - keepAliveRoot, - true - /* prepend */ - ); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function resetShapeFlag(vnode) { - vnode.shapeFlag &= -257; - vnode.shapeFlag &= -513; -} -function getInnerChild(vnode) { - return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } else if (true) { - const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); - warn$1( - `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` - ); - } -} -var createHook = (lifecycle) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle === "sp") { - injectHook(lifecycle, (...args) => hook(...args), target); - } -}; -var onBeforeMount = createHook("bm"); -var onMounted = createHook("m"); -var onBeforeUpdate = createHook( - "bu" -); -var onUpdated = createHook("u"); -var onBeforeUnmount = createHook( - "bum" -); -var onUnmounted = createHook("um"); -var onServerPrefetch = createHook( - "sp" -); -var onRenderTriggered = createHook("rtg"); -var onRenderTracked = createHook("rtc"); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -var COMPONENTS = "components"; -var DIRECTIVES = "directives"; -function resolveComponent(name, maybeSelfReference) { - return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; -} -var NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -function resolveDirective(name) { - return resolveAsset(DIRECTIVES, name); -} -function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - ); - if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve(instance[type] || Component[type], name) || // global registration - resolve(instance.appContext[type], name) - ); - if (!res && maybeSelfReference) { - return Component; - } - if (warnMissing && !res) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); - } - return res; - } else if (true) { - warn$1( - `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` - ); - } -} -function resolve(registry, name) { - return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); -} -function renderList(source, renderItem, cache, index) { - let ret; - const cached = cache && cache[index]; - const sourceIsArray = isArray(source); - if (sourceIsArray || isString(source)) { - const sourceIsReactiveArray = sourceIsArray && isReactive(source); - let needsWrap = false; - let isReadonlySource = false; - if (sourceIsReactiveArray) { - needsWrap = !isShallow(source); - isReadonlySource = isReadonly(source); - source = shallowReadArray(source); - } - ret = new Array(source.length); - for (let i = 0, l = source.length; i < l; i++) { - ret[i] = renderItem( - needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], - i, - void 0, - cached && cached[i] - ); - } - } else if (typeof source === "number") { - if (!Number.isInteger(source)) { - warn$1(`The v-for range expect an integer value but got ${source}.`); - } - ret = new Array(source); - for (let i = 0; i < source; i++) { - ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); - } - } else if (isObject(source)) { - if (source[Symbol.iterator]) { - ret = Array.from( - source, - (item, i) => renderItem(item, i, void 0, cached && cached[i]) - ); - } else { - const keys = Object.keys(source); - ret = new Array(keys.length); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - ret[i] = renderItem(source[key], key, i, cached && cached[i]); - } - } - } else { - ret = []; - } - if (cache) { - cache[index] = ret; - } - return ret; -} -function createSlots(slots, dynamicSlots) { - for (let i = 0; i < dynamicSlots.length; i++) { - const slot = dynamicSlots[i]; - if (isArray(slot)) { - for (let j = 0; j < slot.length; j++) { - slots[slot[j].name] = slot[j].fn; - } - } else if (slot) { - slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) res.key = slot.key; - return res; - } : slot.fn; - } - } - return slots; -} -function renderSlot(slots, name, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { - const hasProps = Object.keys(props).length > 0; - if (name !== "default") props.name = name; - return openBlock(), createBlock( - Fragment, - null, - [createVNode("slot", props, fallback && fallback())], - hasProps ? -2 : 64 - ); - } - let slot = slots[name]; - if (slot && slot.length > 1) { - warn$1( - `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` - ); - slot = () => []; - } - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key; - const rendered = createBlock( - Fragment, - { - key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content - (!validSlotContent && fallback ? "_fb" : "") - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - ); - if (!noSlotted && rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment && !ensureValidVNode(child.children)) - return false; - return true; - }) ? vnodes : null; -} -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (!isObject(obj)) { - warn$1(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) { - ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - } - return ret; -} -var getPublicInstance = (i) => { - if (!i) return null; - if (isStatefulComponent(i)) return getComponentPublicInstance(i); - return getPublicInstance(i.parent); -}; -var publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - extend(/* @__PURE__ */ Object.create(null), { - $: (i) => i, - $el: (i) => i.vnode.el, - $data: (i) => i.data, - $props: (i) => true ? shallowReadonly(i.props) : i.props, - $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, - $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, - $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $host: (i) => i.ce, - $emit: (i) => i.emit, - $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, - $forceUpdate: (i) => i.f || (i.f = () => { - queueJob(i.update); - }), - $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), - $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP - }) -); -var isReservedPrefix = (key) => key === "_" || key === "$"; -var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); -var PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") { - return true; - } - const { ctx, setupState, data, props, accessCache, type, appContext } = instance; - if (key === "__isVue") { - return true; - } - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 1: - return setupState[key]; - case 2: - return data[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if (hasOwn(props, key)) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - markAttrsAccessed(); - } else if (key === "$slots") { - track(instance, "get", key); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading - // to infinite warning loop - key.indexOf("__v") !== 0)) { - if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { - warn$1( - `Property ${JSON.stringify( - key - )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` - ); - } else if (instance === currentRenderingInstance) { - warn$1( - `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` - ); - } - } - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { - warn$1(`Cannot mutate - - \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/LearningTimeline.vue b/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/LearningTimeline.vue deleted file mode 100644 index 02147d0..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/LearningTimeline.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/SteamNews.vue b/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/SteamNews.vue deleted file mode 100644 index f53cc06..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/SteamNews.vue +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/WorkshopList.vue b/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/WorkshopList.vue deleted file mode 100644 index 0752df6..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/components/WorkshopList.vue +++ /dev/null @@ -1,290 +0,0 @@ - - - - - diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/custom.css b/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/custom.css deleted file mode 100644 index fd64def..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/custom.css +++ /dev/null @@ -1,61 +0,0 @@ -/** - * VitePress 布局宽度自定义 - */ - -:root { - /* 1. 文档内容的最大宽度 (默认是 1152px) */ - /* 设置为 1280px 或 1440px 可以让代码块更宽,减少横向滚动条 */ - --vp-content-max-width: 1280px; - - /* 2. 整个页面的最大宽度 (包括侧边栏和正文) */ - --vp-layout-max-width: 1600px; - - /* --vp-c-brand-1: #8f2a3b; - --vp-c-brand-2: #8f2a3b; */ -} - - -.VPHero .name { - /* 撤销默认的渐变色背景 */ - background: none !important; - -webkit-background-clip: initial !important; - background-clip: initial !important; - -webkit-text-fill-color: initial !important; -} - - -/* 强制覆盖首页标题的渐变效果 */ -.VPHero .name span.color-w { - background: none !important; - -webkit-text-fill-color: initial !important; - color: var(--vp-c-text-1) !important; -} - -.VPHero .name span.color-r { - background: none !important; - -webkit-text-fill-color: #ff4d4f !important; /* 红色 */ - color: #ff4d4f !important; -} - -/* 正文里的颜色 */ -span.color-white { - color: #ffffff !important; -} -span.color-white { - color: #ff4d4f !important; -} - - - -/* 如果你希望“代码块”在宽屏下表现更好,可以加上这个微调 */ -@media (min-width: 1280px) { - .VPDoc .container { - /* 这里的 margin 会自动平衡左右空间 */ - margin: 0 auto; - } -} - -/* 3. (可选) 首页 Hero 部分的宽度调整 */ -:root { - --vp-home-hero-max-width: 1152px; -} \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/index.mts b/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/index.mts deleted file mode 100644 index 57e761b..0000000 --- a/ONIModTutorial/ONIModTutorial-main/.vitepress/theme/index.mts +++ /dev/null @@ -1,19 +0,0 @@ -// .vitepress/theme/index.mts -import DefaultTheme from 'vitepress/theme' -import './custom.css' // 这里的引入才是有效的 -// @ts-ignore -import Contributors from './components/Contributors.vue' -import SteamNews from './components/SteamNews.vue' -import LearningTimeline from './components/LearningTimeline.vue' -import WorkshopList from './components/WorkshopList.vue' - -export default { - extends: DefaultTheme, - enhanceApp({ app }: any) { - app.component('Contributors', Contributors) - app.component('SteamNews', SteamNews) - app.component('LearningTimeline', LearningTimeline) - app.component('WorkshopList', WorkshopList) - } - -} diff --git a/ONIModTutorial/ONIModTutorial-main/README.md b/ONIModTutorial/ONIModTutorial-main/README.md deleted file mode 100644 index 16a8dd4..0000000 --- a/ONIModTutorial/ONIModTutorial-main/README.md +++ /dev/null @@ -1,115 +0,0 @@ -

-

🧩 ONIModTutorial

- - [![VitePress](https://img.shields.io/badge/Docs-VitePress-4FC08D)](https://vitepress.vuejs.org/) - -_📘 《缺氧(Oxygen Not Included)》Mod 开发教程 · 从入门到进阶 · 长期维护_ - -
- ---- - -## 🎯 仓库目标 - -- 帮助新人快速入门 ONI Mod 开发 -- 系统整理缺氧 Mod 常用技术与思路 -- 记录 Harmony 补丁、反编译、组件分析等实战经验 -- 作为长期维护的知识库,而不是零散笔记 - ---- - -## 📚 教程内容概览 - -教程内容主要包括(并持续补充中): - -- 缺氧 Mod 开发基础认知 -- 开发环境搭建 -- Mod 基本结构与加载流程 -- C# 基础(面向 ONI Mod) -- Harmony 补丁详解与实战 -- dnSpy / 反编译分析游戏源码 -- 常见系统解析(建筑、复制人、植物、逻辑、UI 等) -- 实用代码示例与踩坑记录 - ---- - -## 📁 仓库结构说明 - -- content/ - 教程正文内容,所有章节均以 `.md` 文件形式存在 - - preface.md —— 教程引言 - - csharp-basics.md —— C# 基础(ONI Mod 向) - - harmony-reference.md —— Harmony 补丁整理与示例 - - 其他章节持续增加中… - -- .github/workflows/ - GitHub Actions 配置(如自动构建文档) - -- vitepress/ - VitePress 文档站点配置 - -- public/ - 文档站点用到的静态资源 - ---- - -## 🚀 本地测试 - -### 直接阅读(推荐) - -- 直接在 GitHub 中按顺序阅读 `content` 目录下的 Markdown 文件即可 - -### 本地测试运行文档站点(可选) - -1. 安装 Node.js(推荐使用 v16 及以上长期支持版本【LTS】windows系统确保安装时勾选添加到 PATH) - [Node.js下载及安装](https://nodejs.org/zh-cn/download) - - 安装完成后,打开终端(如 bash、PowerShell、CMD 等),输入 `node -v` 确认安装成功并正确添加Node到系统环境变量中。 - -2. 克隆仓库 - - ``` - git clone https://github.com/ChiYuKe/ONIModTutorial.git - ``` - -3. 安装依赖 - - ``` - npm install - ``` - -4. 启动本地文档 - - ``` - npm run dev - ``` - -5. 浏览器访问终端提示的本地地址,通常是 `http://localhost:端口号/ONIModTutorial/` - ``` - http://localhost:5173/ONIModTutorial/ - ``` -6. 在浏览器尽情阅读 - ---- - -## 🧠 适合人群 - -✔ 想制作《缺氧》Mod 的玩家 -✔ 有一定 C# 基础,想深入理解 ONI 内部逻辑 -✔ 希望系统学习 Harmony Patch 的开发者 -✔ 已在做 Mod,但想补齐底层理解的人 - ---- - -## 🤝 贡献说明 - -欢迎任何形式的贡献,包括但不限于: - -- 修正教程错误 -- 补充新的章节 -- 提供实战案例 -- 优化结构和表述 - -你可以通过 **Issue** 或 **Pull Request** 提交改动。 - ---- diff --git a/ONIModTutorial/ONIModTutorial-main/announcements.md b/ONIModTutorial/ONIModTutorial-main/announcements.md deleted file mode 100644 index df747cc..0000000 --- a/ONIModTutorial/ONIModTutorial-main/announcements.md +++ /dev/null @@ -1,7 +0,0 @@ -::: info 提示 -下方动态实时同步自 Steam 官方,若图片加载较慢请稍候。 -::: - - - - \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/api-examples.md b/ONIModTutorial/ONIModTutorial-main/api-examples.md deleted file mode 100644 index d261b61..0000000 --- a/ONIModTutorial/ONIModTutorial-main/api-examples.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -outline: deep ---- diff --git a/ONIModTutorial/ONIModTutorial-main/asset-extraction.md b/ONIModTutorial/ONIModTutorial-main/asset-extraction.md deleted file mode 100644 index 4e6eb33..0000000 --- a/ONIModTutorial/ONIModTutorial-main/asset-extraction.md +++ /dev/null @@ -1,109 +0,0 @@ -# 🎨 游戏资产提取 (Asset Extraction) - -在进行《缺氧》(Oxygen Not Included)的 Mod 开发时,获取原版资产(贴图、动画、文本)是进行二次创作和保持视觉一致性的基础。本章将详细介绍开发者常用的资产解包与处理工具。 - -## 一 . 资源解包 - -### 1.1 AssetRipper - -目前处理 Unity 引擎资源最强大的开源工具之一。它不仅能提取静态贴图,还能在一定程度上还原 Unity 项目的资源目录结构。 - -* **[📥 官方仓库 (GitHub Releases)](https://github.com/AssetRipper/AssetRipper/releases)** -* **适用范围**:UI 图标(Sprite)、建筑贴图(Texture2D)、音频文件(AudioClip)... 。 - -#### 🛠️ 提取指南 - -* **载入资源:** 运行 `AssetRipper` ,选择游戏的 `OxygenNotIncluded_Data` 文件夹。 -* **资源导出:** 在视图中,通过 `Export`导出全部资源。 - -### 1.2 AssetStudio -如果你不需要还原整个项目,只想快速找到某几张特定的贴图、立绘或听一段音频,AssetStudio 是更高效的选择。它支持实时预览,让你在导出前就能看到资源内容。 - -* **[📥 官方仓库 (GitHub Releases)](https://github.com/aelurum/AssetStudio/releases)** - -* **适用范围**:快速筛选特定贴图、导出 3D 模型(Mesh)、预览动画片段... 。 - -#### 🛠️ 提取指南 -* **载入资源:** 运行 `AssetStudioModGUI` ,点击菜单栏的 `File` -> `Load Folder` ,选择游戏的 `OxygenNotIncluded_Data` 文件夹。 -* **资源导出:** 点击 `Filter Type` 勾选你需要的类型(如 `Texture2D` `Sprite` `TexAsset`),最后 `Export` -> `Filtered assets` 导出勾选的类型 - - - -### 💡 进阶技巧:如何选择工具? -| 需求场景 | 推荐工具| 优势 | -|----------|----------|----------| -| 我想研究游戏的 UI 布局或逻辑 | `AssetRipper` | 能够尽可能还原 `.prefab` 和文件夹结构。 | -| 我只想拿到动画纹理资源 | `AssetStudio` | 无需等待漫长的导出过程,导出方便 | - - - - ---- - -## 二 . 动画处理 - -《缺氧》的动态表现基于 Klei 自定义的 **KAnim** 系统,而非 Unity 原生动画。每个动画对象由三个核心文件组成:`图集(*_0.png)`、`结构(*_build.bytes)` 和 `序列(*_anim.bytes)`。 - -### 🛠️ 推荐转换工具 - -#### kanimal-SE (KAnim转换) -**kanimal-SE** 是处理 KAnim 的标准工具,支持将字节流转换为可编辑的 SCML 格式。 -* **[📥 官方仓库 (kanimal-SE)](https://github.com/skairunner/kanimal-SE)** - -::: code-group -```powershell [Windows (PowerShell)] -# 解包:将 KAnim 转换为可编辑的 SCML (用于 Spriter 编辑) -.\kanimal-cli.exe scml [file_name].png [file_name]_anim.bytes [file_name]_build.bytes - -# 打包:将修改后的 SCML 重新编译为游戏可读的 KAnim -.\kanimal-cli.exe kanim [file_name].scml -``` -::: - - -::: tip 🚀 推荐:KAnim_GUI (可视化操作) -**KAnim_GUI** 对 `kanimal-SE` 提供了极简的图形化界面,支持快速解压和重组 KAnim,极大地降低了命令行操作的门槛。需要将 `kanimal-SE(kanimal-cli.exe)` 放入 `KAnim_GUI(KAnimGui.exe)` 同目录下才能正常工作 -* **[📥 官方仓库 (KAnim_GUI)](https://github.com/ChiYuKe/KAnim_GUI)** - -::: - ---- - -## 三 . 多语言与文本处理 - -无论是寻找建筑的 `PrefabID`,还是为 Mod 增加多语言支持,都需要处理 `.po` 格式的翻译文件。 - -### 🔍 文本利器:Poedit -* **[📥 官方下载 (Poedit 官网)](https://poedit.net/)** - -::: info 实战技巧 -* **快速溯源**:使用 `Ctrl + F` 搜索游戏内的中文词条(如“电解器”),即可快速定位其对应的 `StringKey`(例如:`STRINGS.BUILDINGS.PREFABS.ELECTROLYZER.NAME`)。 -* **规范化翻译**:使用 Poedit 维护你的 `zh.po` 文件,可以确保翻译格式完全符合 Klei 的底层加载规范,避免乱码。 -::: - ---- - -## ⚠️ 开发准则与约束 - -::: danger 法律声明:严禁商业用途 -所有提取自《缺氧》的游戏资产(包括但不限于原画、音效、动画脚本、底层代码)所有权均归 **Klei Entertainment** 所有,严禁用于任何形式的商业盈利行为。 -::: - -::: warning 尊重版权 -* **禁止二次分发**:请勿在公开平台分发未经大幅修改的官方原始资源包。 -* **致谢声明**:若你的作品基于官方素材修改,请在说明文档中按照惯例标注 `"Credit to Klei Entertainment"`。 -::: - ---- - -
diff --git a/ONIModTutorial/ONIModTutorial-main/build-and-debug.md b/ONIModTutorial/ONIModTutorial-main/build-and-debug.md deleted file mode 100644 index e69de29..0000000 diff --git a/ONIModTutorial/ONIModTutorial-main/community-guidelines.md b/ONIModTutorial/ONIModTutorial-main/community-guidelines.md deleted file mode 100644 index c2b8c59..0000000 --- a/ONIModTutorial/ONIModTutorial-main/community-guidelines.md +++ /dev/null @@ -1,37 +0,0 @@ -# 开源协议与社区规范 - -在开发《缺氧》Mod 并将其发布至 Steam 创意工坊之前,请务必阅读并遵守科雷(Klei)官方发布的通用准则。 - -## 官方准则 (Klei Official Guidelines) - -> [!IMPORTANT] -> **官方原文链接:** [General Mod and & UGC Guidelines](https://support.klei.com/hc/en-us/articles/360029556052-General-Mod-and-UGC-Guidelines) - -### 1. 允许的 Mod 类型 -* **新实体**:包括自定义美术资产和特殊能力的各色角色。 -* **平衡调整**:对现有角色、建筑或物品的数值微调。 -* **逻辑修改**:改变生物行为、世界生成规则或 UI 界面。 -* **新机制**:为玩家提供全新的游戏挑战或功能扩展。 - -### 2. 严禁行为 (Prohibited) -为了维护社区环境,以下行为是被严格禁止的,违规可能导致 Mod 被下架: -* **侵权与盗用**:未经授权使用他人作品,或包含未授权的版权材料(如其他游戏的素材)。 -* **破解与绕过**:试图解锁 DLC、皮肤或绕过付费所有权验证。 -* **代码混淆**:**禁止加密或模糊化代码**。Klei 官方和玩家必须能够审计代码以确保安全性。 -* **商业化/付费墙**:严禁任何形式的付费 Mod、付费皮肤或“赞助者提前体验”等金钱交易。 - -### 3. 开发礼仪 (Etiquette) -* **默认不授权**:若原作者未明确说明,一律视为“未获得授权”。 -* **二次开发**:引用或修改他人作品前请务必联系作者,并注明出处。 -* **维护义务**:作者没有义务必须更新 Mod,但建议在发布时提供完整的说明和截图。 -* **关于弃坑**:若原作者未明确禁止且 Mod 已失效,社区成员可以进行兼容性更新并重新上传,但需尊重原作者的移除请求。 - ---- - -## 开源协议建议 - -对于你自己的代码,我建议在 GitHub 上选择一个开源协议(如 **MIT** 或 **GPL-3.0**)。 -* **MIT**:最宽松,别人可以随意使用你的代码,只需保留你的署名。 -* **GPL-3.0**:最严格,如果别人用了你的代码,他们的 Mod 也必须开源。 - -**尊重他人劳动成果,是社区良性发展的基石。** diff --git a/ONIModTutorial/ONIModTutorial-main/content/buildings.md b/ONIModTutorial/ONIModTutorial-main/content/buildings.md deleted file mode 100644 index e69de29..0000000 diff --git a/ONIModTutorial/ONIModTutorial-main/content/creatures.md b/ONIModTutorial/ONIModTutorial-main/content/creatures.md deleted file mode 100644 index e69de29..0000000 diff --git a/ONIModTutorial/ONIModTutorial-main/content/elements.md b/ONIModTutorial/ONIModTutorial-main/content/elements.md deleted file mode 100644 index e69de29..0000000 diff --git a/ONIModTutorial/ONIModTutorial-main/content/items.md b/ONIModTutorial/ONIModTutorial-main/content/items.md deleted file mode 100644 index a2ae41d..0000000 --- a/ONIModTutorial/ONIModTutorial-main/content/items.md +++ /dev/null @@ -1,175 +0,0 @@ -# 🚀 编写第一个 物品 - -本章将带你亲手编写一个物品或者说掉落物。 - ---- - -## 一 . 准备工作 - -在开始之前,你需要手动创建一个文件夹,用于存放你开发的 Mod 文件: -* **路径**:`%USERPROFILE%\Documents\Klei\OxygenNotIncluded\mods\` -* **操作**:在此目录下创建一个名为 **`Dev`** 的文件夹。 - ---- - -## 二 . 创建项目 - -1. 打开 **Visual Studio 2022**。 -2. 选择 **创建新项目** -> 搜索 **类库**(建议选择支持 **.NET Standard 2.1** 的类库模板)-> 点击下一步。 -3. **项目名称**:输入 `MyFirstItem`。 -4. **目标框架**:务必选择 **.NET Standard 2.1**。 - ---- - -## 三 . 导入游戏核心库 (References) - -你需要把游戏的 `.dll` 文件“介绍”给 Visual Studio,它才能理解游戏代码。 - -1. 在右侧 **解决方案资源管理器** 中,当然你的可能在左侧,右键点击 **引用 (References)** -> **添加引用**。 -2. 点击 **浏览**,进入游戏目录: - `...\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed\` -3. **选中并添加以下文件:** - * `Assembly-CSharp.dll` - * `Assembly-CSharp-firstpass.dll` - * `0Harmony.dll` - * `UnityEngine.dll` - * `UnityEngine.CoreModule.dll` - ---- - - -## 四 . 编写代码 - -在我们的工程中,创建如下 `.cs` 文件结构: - -``` 文件结构 - -MyFirstItem/ -├── Patch.cs # Harmony补丁入口文件,用来在游戏加载时注册你的Mod逻辑 -├── MyFirstItemConfig.cs # 物品的定义文件(ID、动画、属性等核心配置) -├── STRINGS.cs # 本地化文本(名称、描述、效果说明) -└── MyFirstItem.cs # 自定义组件逻辑(功能代码实现) - -``` - ---- - -### MyFirstItemConfig.cs 的处理 - -我们需要先继承 `IEntityConfig`。 - -在 Oxygen Not Included 中: - -> `IEntityConfig` 是用来“定义一个实体”的接口。 - -简单说: - -> 它告诉游戏:我要注册一个新的实体,请按这些规则创建它。 - ---- - -### 基础结构 - -```csharp -using System.Collections.Generic; -using UnityEngine; - -namespace ONIModTutorialCode -{ - public class MyFirstItemConfig : IEntityConfig - { - public GameObject CreatePrefab() - { - - } - - public void OnPrefabInit(GameObject inst) - { - // 预制体初始化时调用 - } - - public void OnSpawn(GameObject inst) - { - // 实例生成时调用(生成到地图上才会触发) - } - - public string[] GetDlcIds() - { - return null; // 所有 DLC 可用 - } - } -} -``` - ---- - -### 实现 CreatePrefab() - -在 `CreatePrefab()` 中,我们使用 `EntityTemplates.CreateLooseEntity()` 来注册它。 - -这里的动画资源我们使用仙水掌的 `cactus_kanim` 中的 `idle_empty` 状态。 - -常规掉落物通常使用 `"object"`。 - -(这里为什么是 `idle_empty` 而不是 `object`,我们会在后面说明。) - ---- - -### 完整代码(可直接复制) - -```csharp -using System.Collections.Generic; -using UnityEngine; - -namespace ONIModTutorialCode -{ - public class MyFirstItemConfig : IEntityConfig - { - // 物品ID - public const string ID = "MYFIRSTITEM"; - - public GameObject CreatePrefab() - { - GameObject gameObject = EntityTemplates.CreateLooseEntity( - ID, - STRINGS.ITEMS.MYFIRSTITEM.NAME, - STRINGS.ITEMS.MYFIRSTITEM.DESC, - 5f, - true, - Assets.GetAnim("cactus_kanim"), - "idle_empty", - Grid.SceneLayer.SolidConduits, - EntityTemplates.CollisionShape.RECTANGLE, - 0.6f, - 0.6f, - true, - 0, - SimHashes.Creature, - new List { GameTags.IndustrialIngredient } - ); - - return gameObject; - } - - public void OnPrefabInit(GameObject inst) - { - // 预制体初始化时调用 - } - - public void OnSpawn(GameObject inst) - { - // 实例生成时调用 - } - - public string[] GetDlcIds() - { - return null; - } - } -} -``` ---- - -> 🚧 **To Be Continued...** -> -> 先写一点,有点累了,睡一觉 diff --git a/ONIModTutorial/ONIModTutorial-main/content/plants.md b/ONIModTutorial/ONIModTutorial-main/content/plants.md deleted file mode 100644 index e69de29..0000000 diff --git a/ONIModTutorial/ONIModTutorial-main/contribute.md b/ONIModTutorial/ONIModTutorial-main/contribute.md deleted file mode 100644 index fc4d994..0000000 --- a/ONIModTutorial/ONIModTutorial-main/contribute.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: home -hero: - name: 加入贡献 - text: 共同打造这个教程文档 - tagline: 无论你是新手还是大佬,我们都欢迎。 - actions: - - theme: brand - text: 加入群聊(QQ) - link: https://qm.qq.com/q/9IXwoJzOus ---- \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/contributors.md b/ONIModTutorial/ONIModTutorial-main/contributors.md deleted file mode 100644 index 4024a08..0000000 --- a/ONIModTutorial/ONIModTutorial-main/contributors.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -editLink: false ---- - -# 贡献者名单 - -感谢所有为本项目做出贡献的小伙伴! - - - diff --git a/ONIModTutorial/ONIModTutorial-main/csharp-basics-reference.md b/ONIModTutorial/ONIModTutorial-main/csharp-basics-reference.md deleted file mode 100644 index 903f1a2..0000000 --- a/ONIModTutorial/ONIModTutorial-main/csharp-basics-reference.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -sidebar: false ---- - - ⬅ 返回 - - - - - -# ⚡ C# 核心语法 ---- -这不是一篇“C# 入门”,而是 **专门为《缺氧(ONI)》Mod 开发提炼的最小语法集**。 - -> 🎯 阅读目标: -> -> * 能**直接看懂 ONI 源码** -> * 能**独立写 Harmony Patch** -> * 知道哪些语法是“必须会”,哪些可以先无视 - ---- - -## 🧠 总览 - -> **ONI Mod 的 C# 本质只有四件事:** -> -> 1️⃣ 类 + 组件 -> 2️⃣ static + ref -> 3️⃣ 数组 + 泛型 -> 4️⃣ null 判断 - -下面所有内容,都是在为这四点服务。 - ---- - -## 🧱 一、class 是一切的起点 - -### 你在 ONI 里只会写这三种类 - -```csharp -public class XXXConfig : IBuildingConfig {} -public class XXXPatch {} -public class XXXComponent : KMonoBehaviour {} -``` - -结论: - -* **类必须是 `public`** -* 不要纠结面向对象 - ---- - -## 🔧 二、static:为什么 Patch 必须是 static - -### 普通方法(ONI 几乎不用) - -```csharp -public void DoSomething() {} -``` - -### Patch 方法(必须这样) - -```csharp -public static void Postfix() {} -``` - -原因一句话解释: - -> Harmony **不会 new 你的类**,只能调用静态方法。 - -👉 **Patch 写错 90% 都是这里的问题** - ---- - -## 🧬 三、ref:为什么 ONI Patch 能“改游戏” - -### 没有 ref(改不到) - -```csharp -public static void Postfix(BuildingDef def) -{ - def.EnergyConsumptionWhenActive = 1f; // ❌ 无效 -} -``` - -### 有 ref(直接改内存) - -```csharp -public static void Postfix(ref BuildingDef __result) -{ - __result.EnergyConsumptionWhenActive = 1f; // ✅ 生效 -} -``` - -一句话结论: - -> **Harmony 能改游戏,全靠 ref。** - ---- - -## 📦 四、组件思维:ONI ≈ Unity - -### 所有功能 = 组件 - -```csharp -go.AddOrGet(); -go.AddOrGet(); -``` - -### AddOrGet 的真实含义 - -```text -有 → 拿 -无 → 加 -``` - -> ❗ ONI 世界里 -> -> * **没有组件 = 没有功能** - ---- - -## 🔍 五、泛型 ``:不要怕,它只是“占位” - -### 看到下面这两行,直接翻译成中文 - -```csharp -go.AddOrGet(); -go.GetComponent(); -``` - -翻译: - -> “我要 **ElementConverter** 这个组件” - -> `` = 类型占位符,仅此而已 - ---- - -## 🚧 六、null 判断:ONI Mod 的生命线 - -### 正确写法 - -```csharp -var converter = go.GetComponent(); -if (converter == null) - return; -``` - -原因一句话: - -> Patch 执行顺序不固定,**组件不一定存在**。 - -👉 **不写 null 判断 = 随机崩溃** - ---- - - diff --git a/ONIModTutorial/ONIModTutorial-main/csharp-basics.md b/ONIModTutorial/ONIModTutorial-main/csharp-basics.md deleted file mode 100644 index ca005a9..0000000 --- a/ONIModTutorial/ONIModTutorial-main/csharp-basics.md +++ /dev/null @@ -1,77 +0,0 @@ -# 🛠️ C# 开发基础(ONI Mod 专用) - -在编写《缺氧(Oxygen Not Included, ONI)》Mod 代码之前,你需要掌握一些 **C# 的核心概念**。本篇内容将**专门围绕 ONI Mod 开发中最常见、最实用的语法与结构**展开,避免泛泛而谈。 - ---- - -## 📦 一、命名空间与类(Namespace & Class) - -《缺氧》的源码规模非常庞大,因此大量使用 **命名空间(namespace)** 来对功能进行划分。你的 Mod 代码也应当遵循这一习惯,以避免冲突、提升可维护性。 - -### ✅ 开始 - -::: danger 💡 建议 -如果不知道什么是 `空间命名(namespace)` `类名(Class)` `方法名(Method)` 是什么的,在这里你就可以止步了,可以花点时间快速了解一下 `C#` ,这会让你后续的开发事半功倍。 -::: - -* [C# 杂七杂八](./csharp-basics-reference.md) -* [Harmony的小整理](./harmony-reference.md) -* [Harmony官方文档](https://harmony.pardeike.net/articles/patching.html)。 - ---- - ---- - -## 🔧 二、HarmonyPatch:精准定位游戏源码 - -在《缺氧》Mod 开发中,`[HarmonyPatch]` 属性(Attribute)就像一个**手术定位仪**。它告诉补丁框架:你需要拦截哪个“类”里的哪个“方法”。 - -### 1. 核心语法:三种定位方式 - -根据目标方法的复杂程度,你通常会用到以下三种写法: - -| 定位类型 | 代码示例 (Attribute) | 适用场景 | -| :--- | :--- | :--- | -| **基础定位** | `[HarmonyPatch(typeof(Db), "Initialize")]` | **最常用**。目标类中只有一个同名方法时使用。 | -| **重载定位** | `[HarmonyPatch(typeof(Assets), "GetSprite", new Type[] { typeof(HashedString) })]` | 当方法有**多个重载**(名字相同但参数不同)时,必须指定参数类型。 | -| **属性定位** | `[HarmonyPatch(typeof(BuildingDef), "IsSolid", MethodType.Getter)]` | 专门用于拦截 C# 的 **属性 (Property)**。需指定是修改 `Getter` 还是 `Setter`。 | - ---- -### 2. 🔍 实战:如何从 dnSpy 提取 Patch 信息? - -当你使用 **dnSpy** 查看游戏源码 `Assembly-CSharp.dll` 时,请按照以下逻辑进行拆解: - - - -* **类名 (Class)**:看代码最顶层的 `public class` 后面跟着的单词。 - * 源码:`public class GeneratedBuildings` - * 对应参数:**`typeof(GeneratedBuildings)`** -* **方法名 (Method)**:看括号左边的那个单词。 - * 源码:`public static void LoadGeneratedBuildings(...)` - * 对应参数:**`"LoadGeneratedBuildings"`** -* **参数类型 (Parameters)**:看括号里面的内容,如果是[重载](./harmony-reference.md#postfix-Overloading)方法则需要提取。 - * 源码:`(ICollection types)` - * 对应参数:**`new Type[] { typeof(ICollection) }`** - ---- - -### 3. 📝 标准代码结构模板 - -```csharp -using HarmonyLib; // 必须引用 Harmony 库 -using UnityEngine; // 如果用到 Debug.Log 或 GameObject - -namespace MyOniMod -{ - // 1. 定位:我们要改哪个类的哪个方法? - [HarmonyPatch(typeof(EntityConfigManager), "LoadGeneratedEntities")] - public class MyEntityPatch - { - // 2. 注入:在原方法执行后(Postfix)做点什么? - public static void Postfix() - { - // 你的逻辑代码 - Debug.Log("ONI Mod: 游戏实体加载完成!"); - } - } -} diff --git a/ONIModTutorial/ONIModTutorial-main/development-environment.md b/ONIModTutorial/ONIModTutorial-main/development-environment.md deleted file mode 100644 index 57d1c97..0000000 --- a/ONIModTutorial/ONIModTutorial-main/development-environment.md +++ /dev/null @@ -1,24 +0,0 @@ -# 🛠️ 开发环境搭建 - -在编写代码之前,我们需要准备好开发工具,并配置针对《缺氧》的自动编译环境。 - ---- -## 软件准备清单 - -你需要安装以下工具。请确保它们已正确安装: - -| 工具 | 作用 | 下载链接 | 推荐版本 | -| :--- | :--- | :--- | :--- | -| **Visual Studio 2026** | 核心开发 IDE | [官方下载地址](https://visualstudio.microsoft.com/zh-hans/vs/community/) | 社区版 (Community) | -| **dnSpy** | 逆向源码 / 找代码 | [GitHub 下载页](https://github.com/dnSpy/dnSpy/releases) | 最新版 (win64) | - ---- - -### ⚠️ 核心注意事项 - -> **💡 关键点:关于 .NET 版本** -> 《缺氧》官方现在把 [**.NET Standard 2.1**](https://learn.microsoft.com/zh-cn/dotnet/standard/net-standard) 视为模组开发的更佳起点;与此同时,游戏本体仍保留 Unity 的 **.NET Framework API Compatibility Target** 作为兼容层。 -> -> * **如果不选这个版本**:你的 Mod 在加载时也许会报错,或者更容易遇到引用和兼容性问题。 -> * **VS 安装提示**:在安装 Visual Studio Installer 时,请务必勾选 **“.NET 桌面开发”** 工作负荷,并确保已安装用于 **.NET Standard 2.1** 的相关开发组件。 -> * [图文安装教程](./visual-studio-installation.md) | diff --git a/ONIModTutorial/ONIModTutorial-main/dnspy-analysis.md b/ONIModTutorial/ONIModTutorial-main/dnspy-analysis.md deleted file mode 100644 index 8397d4f..0000000 --- a/ONIModTutorial/ONIModTutorial-main/dnspy-analysis.md +++ /dev/null @@ -1,24 +0,0 @@ -# 🎨 游戏代码反编译 - - - -## 一. 代码反编译 - -如果你想了解游戏的逻辑(如建筑如何运作、掉落概率等),你需要反编译游戏的 `.dll` 文件。 - -### 🛠️ 工具:dnSpy - -目前社区最推荐的 `.NET` 反编译器和调试器。 - -* **[📥 官方仓库 (GitHub Releases)](https://github.com/dnSpyEx/dnSpy/releases)** -* **适用范围**:查看 `C#` 代码、搜索特定方法、甚至直接修改并重新编译代码。 - -#### 💡 操作步骤 - -* 找到游戏的程序集文件:通常位于 `OxygenNotIncluded_Data/Managed/Assembly-CSharp.dll` 。 - -* 将该文件拖入 **dnSpy** 。 - -* 使用 `Ctrl + Shift + K` 进行全局搜索,快速定位你想研究的类名(如 `ElectrolyzerConfig` )。 - -* 或者选择目标 `.dll` 文件,将其导出成 `Visual Studio` 工程文件。 diff --git a/ONIModTutorial/ONIModTutorial-main/first-mod-tutorial.md b/ONIModTutorial/ONIModTutorial-main/first-mod-tutorial.md deleted file mode 100644 index ddbc881..0000000 --- a/ONIModTutorial/ONIModTutorial-main/first-mod-tutorial.md +++ /dev/null @@ -1,137 +0,0 @@ -# 🚀 编写第一个 Mod:节能电解器 - -本章将带你亲手编写一个 Mod,把电解器的 120W 功耗改为 1W。 - ---- - -## 一 . 准备工作 - -在开始之前,你需要手动创建一个文件夹,用于存放你开发的 Mod 文件: -* **路径**:`%USERPROFILE%\Documents\Klei\OxygenNotIncluded\mods\` -* **操作**:在此目录下创建一个名为 **`Dev`** 的文件夹。 - ---- - -## 二 . 创建项目 - -1. 打开 **Visual Studio 2022**。 -2. 选择 **创建新项目** -> 搜索 **类库**(建议选择支持 **.NET Standard 2.1** 的类库模板)-> 点击下一步。 -3. **项目名称**:输入 `MyFirstMod`。 -4. **目标框架**:务必选择 **.NET Standard 2.1**。 - ---- - -## 三 . 导入游戏核心库 (References) - -你需要把游戏的 `.dll` 文件“介绍”给 Visual Studio,它才能理解游戏代码。 - -1. 在右侧 **解决方案资源管理器** 中,当然你的可能在左侧,右键点击 **引用 (References)** -> **添加引用**。 -2. 点击 **浏览**,进入游戏目录: - `...\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed\` -3. **选中并添加以下文件:** - * `Assembly-CSharp.dll` - * `Assembly-CSharp-firstpass.dll` - * `0Harmony.dll` - * `UnityEngine.dll` - * `UnityEngine.CoreModule.dll` - ---- - -## 四 . 编写补丁代码 - - -::: info 进阶指引 -想要进一步了解补丁?请点击阅读: -[了解 Postfix →](./harmony-reference.md#postfix) -::: -删除项目自动生成的 `Class1.cs` 里的所有内容,粘贴下面的代码: - -```csharp -using HarmonyLib; - -namespace MyFirstMod -{ - // 告诉游戏:要在 ElectrolyzerConfig 的 CreateBuildingDef 执行完后动刀 - [HarmonyPatch(typeof(ElectrolyzerConfig), "CreateBuildingDef")] - public class MyFirstPatch - { - // Postfix 代表后置补丁 - public static void Postfix(ref BuildingDef __result) - { - // 将电解器的功耗改为 1 瓦 - __result.EnergyConsumptionWhenActive = 1f; - Debug.Log("电解器的功耗已被修改为 1 瓦"); - } - } -} -``` - -### 📝 调试技巧 -> 如果 Mod 运行不正常,可以在这里查看日志排查: - -`%USERPROFILE%\AppData\LocalLow\Klei\Oxygen Not Included\player.log` - ---- -## 🎁 五 . 下载项目模板 (可选) - -前面叽里咕噜没看懂? -没关系,我这里提供了一份Mod模板,如果你是按教程来的,那么在这里我将默认你安装了Visual Studio 2026版本。 - -### 安装方法: - -* [点击此处下载模板 .zip 文件](/templates/ONIModTemplate.zip)(不要解压)。 -* 将其放入Visual Studio 模板文件夹: -> `%USERPROFILE%\Documents\Visual Studio 18\Templates\ProjectTemplates` -
- 📸 点击展开查看ProjectTemplates目录结构 -
-
- 发布界面 -
-
- -* 重启你的Visual Studio, 创建项目时候你将可以看到: - -
- 📸 点击展开查看预览图 -
-
- 发布界面 -
-
- - -## 六 . 编译与部署 - -1. **生成 DLL**:点击顶部菜单栏的 **生成 (Build)** -> **生成解决方案**, 或者直接在 **解决方案资源管理器** 当中右键项目然后 **生成 (Build)**。 -2. **找到文件**:进入项目文件夹的 `bin/Debug` 目录,找到 `MyFirstMod.dll`。 -3. **放入游戏**:在 `Documents\Klei\OxygenNotIncluded\mods\Dev\` 当中创建一个`MyFirstMod`文件夹,将 `MyFirstMod.dll`放入其中,记住不要少了上一章讲的 -`mod.yaml` 和 `mod_info.yaml` - ---- diff --git a/ONIModTutorial/ONIModTutorial-main/harmony-reference.md b/ONIModTutorial/ONIModTutorial-main/harmony-reference.md deleted file mode 100644 index dd6dfe6..0000000 --- a/ONIModTutorial/ONIModTutorial-main/harmony-reference.md +++ /dev/null @@ -1,395 +0,0 @@ ---- -sidebar: false ---- - - ⬅ 返回 - - - - - -# 🧩 Harmony 补丁整理 - -> **本篇是 Harmony 在《缺氧(ONI)》Mod 开发中的实战速查表** -> 👉 目标:**快速了解以及什么时候该用哪一种 Patch** - ---- - -## 📖 阅读指引 - -- **基础操作**:了解 `Harmony` 初始化及 `Prefix / Postfix` 的基本用法。 -- **常用参数**:了解 `__instance / __state / AccessTools` 读写游戏数据。 -- **特殊场景**:了解 `Transpiler / Finalizer` 处理底层逻辑与异常的方式。 - ---- - -## 🧠 一、Harmony 是什么? - -Harmony 是一个 **运行时方法注入库**,用于在**不修改源代码**的情况下: - -- 插入逻辑 -- 拦截原方法 -- 修改返回值 -- 重写部分执行流程 - ---- - -## 🧩 二、Patch 类型总览 - -| Patch 类型 | 执行时机 | 常见用途 | -|----------|----------|----------| -| Prefix | 原方法执行前 | 拦截 / 改参数 / 阻止执行 | -| Postfix | 原方法执行后 | 补充逻辑 / 改返回值 | -| Transpiler | IL 层 | 改硬编码 / if / 常量 | -| Finalizer | 所有逻辑后 | 捕获异常 / 兜底 | ---- - -## ⚙️ 三、Harmony 初始化 - -> 在 ONI 中,继承 UserMod2 后,游戏会自动帮你执行 harmony.PatchAll()。你不需要再手动调用它,除非你有特殊的动态补丁需求。 - - -```csharp -using HarmonyLib; -using KMod; - -namespace MyMod -{ - public class MyFirstMod : UserMod2 - { - public override void OnLoad(Harmony harmony) - { - // 1. 必须保留基类调用,它会处理自动 PatchAll - base.OnLoad(harmony); - - // 2. 这里通常用来放“全局初始化”逻辑 - // 比如:打印日志确认 Mod 已加载 - Debug.Log("MyFirstMod 已成功加载!"); - } - } -} -``` - ---- - -## 🟦 四、Prefix(执行前拦截) - -`Prefix` 用于在原代码跑起来之前先一步执行。 - -### 4.1 基础用法:单纯插入逻辑 -如果你只想在某个动作发生时顺便做点事(比如记录日志),补丁返回 void 即可。 - -```csharp -[HarmonyPatch(typeof(Operational), nameof(Operational.SetActive))] -public static class Log_Patch -{ - public static void Prefix(bool value) - { - // 只是看一眼参数,不影响原逻辑执行 - Debug.Log($"建筑状态尝试切换为: {value}"); - } -} -``` - ---- -### 4.2 进阶用法:干预原逻辑 - -如果你想改变游戏的结果,需要注意 bool 返回值和 ref 关键字的作用。 - -| 方式 | 代码关键点| 实际效果 | -|----------|----------|----------| -| 强行篡改 | `ref bool value` | 改指令。 原代码照样跑,但你偷偷换掉了它的参数(比如让关机指令变成开机) | -| 彻底拦截 | `return false` | 断后路。 原代码被直接掐断,后面的逻辑(动画、音效、状态改变)全都不再执行 | - - -**案例对比:** -我们依然是在`[HarmonyPatch(typeof(Operational), nameof(Operational.SetActive))]`上打补丁。 -```csharp - -// 情况 A:篡改参数(原逻辑继续跑,但用你的数) -public static void Prefix(ref bool value) -{ - value = true; // 哪怕玩家点了关闭,建筑也会因为参数被改而保持开启 -} - -// 情况 B:彻底拦截(原逻辑直接罢工) -public static bool Prefix(bool value, bool force_ignore) -{ - return false; // 原方法体内的代码一行都不会跑,功能被完全“冻结” -} - -``` - ---- -

🟩 五、Postfix(执行后补充)

- -`Prefix` 在原方法执行完毕后运行。它是最推荐的补丁方式,因为它不会中断游戏的正常逻辑,兼容性最好。 - -### 5.1 实战代码:追加额外逻辑 -- 作用: 在原逻辑跑完后,顺便执行一些你自己的操作。 - -```csharp -[HarmonyPatch(typeof(ElectrolyzerConfig), "CreateBuildingDef")] -public class ElectrolyzerCreateBuildingDef_Patch -{ - public static void Postfix(ref BuildingDef __result) - { - // 将电解器的功耗改为 1 瓦 - __result.EnergyConsumptionWhenActive = 1f; - Debug.Log("电解器的功耗已被修改为 1 瓦"); - } -} -``` -- 场景: 初始化后的属性修正、添加自定义的组件、触发额外的通知。 -- 优势: 无论你的代码写得好不好,原版代码都已经安全跑完了,不会导致核心功能丢失。 - ---- -### 5.2 修改返回值:修改计算结果 - -- 作用: 劫持原方法的返回值,让游戏拿到你“调包”后的结果。 -```csharp -[HarmonyPatch(typeof(Overheatable), nameof(Overheatable.OverheatTemperature), MethodType.Getter)] -public static class Overheatable_OverheatTemperature_Patch -{ - // ref __result 指向原方法算出来的那个返回值 - public static void Postfix(ref float __result) - { - __result = 9999f; // 让建筑永远不会因为温度过高而损坏(强行改掉判定数值) - } -} - -``` - -| 枚举项 | 怎么认出它(看 ILSpy/dnSpy) | 干嘛的 | -| :--- | :--- | :--- | -| **Normal** | 方法名后面带个括号,比如 OnSpawn() | 在某个动作执行前后“插一脚” | -| **Getter** | 代码里长这样:float Speed { get; } | 用于修改游戏“读取”到的数据 | -| **Setter** | 代码里长这样:set { ... } | 用于在游戏尝试修改某个数值时进行拦截 | -| **Constructor** | 跟类名长得一模一样的方法 | 在对象刚创建、还没放进世界时,提前修改它的默认字段或初始化逻辑 | -| **StaticConstructor** |前面带 static 的构造函数 | 专门用来修改游戏加载时就定死的全局静态常量 | -| **Enumerator** | 里面有一堆 yield return 的方法 | 专门对付 ONI 里的异步动作、动画序列或那些不是瞬间完成的任务 | - - - -

5.3 处理重载

-在 ONI 源码中,经常会出现多个方法名相同但参数不同的方法。如果不指定参数类型,Harmony 会报错。 - -**案例:拦截 `ModUtil.AddBuildingToPlanScreen`** -这个方法在游戏源码中有多个重载版本,我们对比来看: - -```csharp -public static class ModUtil -{ - // 重载 A:只有 2 个参数 - public static void AddBuildingToPlanScreen(HashedString category, string building_id) { ... } - - // 重载 B:有 3 个参数 - public static void AddBuildingToPlanScreen(HashedString category, string building_id, string subcategoryID) { ... } - - // 重载 c:有 5 个参数 - public static void AddBuildingToPlanScreen(HashedString category, string building_id, string subcategoryID, string relativeBuildingId, ModUtil.BuildingOrdering ordering = ModUtil.BuildingOrdering.After) { ... } -} - -// 【对应的 HarmonyPatch 写法】 -// 拦截“重载 B”,必须明确写出那 3 个参数的类型: -[HarmonyPatch(typeof(ModUtil), "AddBuildingToPlanScreen", new Type[] { typeof(HashedString), typeof(string), typeof(string) })] -// 试试举一反三 重载a会是怎么样的? - -// ❌ 错误写法 -[HarmonyPatch(typeof(ModUtil), "AddBuildingToPlanScreen")] - -``` - ---- - -### 🛠️ 总结:Prefix 与 Postfix 怎么选? -- 选 Prefix 的唯一理由:你需要在事情发生之前拦住它(比如阻止一个动作,或者在原逻辑使用参数前改掉参数)。 - -- 其他情况全选 Postfix:只要不需要拦截原逻辑,就往原逻辑后面接代码。这是保持 Mod 稳定、不坏档的金法则。 - ---- - - - -## 🔁 六、状态桥接(__state 传值) -有时候你需要在执行之后知道执行之前发生了什么(比如:存货前有多少,存货后剩多少)。`__state` 就是专门用来在 `Prefix` 和 `Postfix` 之间带货的“临时储物柜”。 - - -### 6.1 实战用法:前后状态对比 -- 作用: 记录一个初始值,等原逻辑跑完后再拿出来算差值。 -```csharp -[HarmonyPatch(typeof(Storage), "Store")] -public static class Storage_Monitor_Patch -{ - // 1. 在执行前,把当前帧数塞进 __state 储物柜 - public static void Prefix(out int __state) - { - __state = Time.frameCount; - } - - // 2. 在执行后,从 __state 储物柜拿出刚才存的帧数 - public static void Postfix(int __state) - { - int cost = Time.frameCount - __state; - if (cost > 0) - { - Debug.Log($"这次存货居然花了 {cost} 帧的时间!"); - } - } -} -``` -### 💡 为什么用它? - -* **性能追踪:** 记录方法运行前后的时间差。 -* **逻辑判定:** 记录执行前的数值(比如生命值),执行后发现数值没变,就触发补救逻辑。 -* **简洁性:** 它只在这一次补丁调用中有效,跑完就销毁,不会像全局变量那样污染你的代码。 - -### 🔑 参数细节说明(避坑) - -* **Prefix 里:** 必须用 out 或者 ref(比如 out int __state),否则存不进去。 -* **Postfix 里:** 直接用(比如 int __state)即可拿到之前存的值。 - - ---- - -## 🔓 七、访问 private 字段(AccessTools与 ___) -在 ONI 源码中,很多变量被声明为 `private` 你直接用 `__instance` 变量名 是访问不到的。这时有两种常用的“破门”方法。 - - -### 7.1 方法一:三下划线暗号(最快、最推荐) -如果只是想简单读写一个实例变量,Harmony 提供了一个极简写法:在参数名前加 三个下划线。 -```csharp -[HarmonyPatch(typeof(Storage), "OnSpawn")] -public static class Storage_Easy_Patch -{ - // ___capacityKg 对应 Storage 类里的私有变量 capacityKg - public static void Postfix(Storage __instance, ref float ___capacityKg) - { - ___capacityKg = 9999f; // 直接像改普通变量一样改掉它 - } -} -``` -### 7.2 方法二:使用 AccessTools(性能更好、更强大) -当你需要在多个地方频繁访问同一个变量,或者要处理 `static`(静态)私有变量时,建议先提前定义一个“后门”。 -```csharp -using System.Reflection; - -public static class Storage_Hard_Patch -{ - // 1. 先定义后门(只找一次,性能更优) - private static readonly FieldInfo CapacityField = - AccessTools.Field(typeof(Storage), "capacityKg"); - - [HarmonyPatch(typeof(Storage), "OnSpawn")] - public static class Patch - { - public static void Postfix(Storage __instance) - { - // 2. 暴力写入新值 - CapacityField.SetValue(__instance, 9999f); - } - } -} -``` - -### 💡 怎么选? - -* **三下划线 (`___`)**:**日常主力。** 只要能跑通,就优先用它,代码短且不容易写错。 -* **AccessTools**:**重型工具。** - - 专门对付 `static private`(静态私有)变量。 - - 适合在补丁函数体外面拿取数据。 - - 如果你需要极致的性能优化,提前定义一个 `static readonly FieldInfo` 会比三下划线快那么一点点。 ---- - -## 🧬 Transpiler(改底层指令) -这是 Harmony 中最硬核的补丁。 -- 它不是在方法前后插话,而是直接冲进原代码内部,把某几行代码“抠掉”或者“掉包”。 - -### 8.1 它的作用 -如果你发现 `Prefix` 和 `Postfix` 都没法改掉某个逻辑,通常是因为那个逻辑是硬编码在方法中间的。 - -* **改常量:** 比如代码里写死了一个 `if (speed > 10f)`,你想把 `10f` 改成 `100f`。 -* **删代码:** 比如你想把原版中某一行烦人的检测逻辑彻底抹除。 -* **加指令:** 在方法的第 50 行和第 51 行中间塞进你自己的逻辑。 - -### 8.2 实战代码:修改硬编码数值 -- 场景: 游戏原本规定挖矿只掉一半掉落物`0.5f`,我们通过补丁把它改成全掉 `1.0f`。 -```csharp -[HarmonyPatch(typeof(WorldDamage), "OnDigComplete")] -public static class WorldDamage_OnDigComplete_Patch -{ - // Transpiler 接收的是一组 IL 指令集 - private static IEnumerable Transpiler(IEnumerable instructions) - { - foreach (var ins in instructions) - { - // 目标:找到指令是“加载浮点数 0.5”的那一行 - if (ins.opcode == OpCodes.Ldc_R4 && (float)ins.operand == 0.5f) - { - // 改成 1.0f - ins.operand = 1.0f; - } - yield return ins; - } - } -} -``` -### ⚠️ 为什么说要慎用? -* **报错难找:** 普通的补丁写错,通常只是功能失效;`Transpiler` 写错,可能会导致游戏直接闪退或整个类崩掉。 -* **极易冲突:** 如果有两个 Mod 同时对同一个方法的同一行代码动了“手术”,游戏大概率会当场报废。 -* **门槛高:** 你需要看懂 IL(中间语言) 指令(类似于 `ldarg.0` `call` `stfld` 等),就像在看天书。 - ---- - -## 🧯 九、Finalizer(异常兜底) - -```csharp -[HarmonyPatch(typeof(SomeClass), "SomeMethod")] -public static class SomeMethod_Finalizer -{ - public static void Finalizer(Exception __exception) - { - if (__exception != null) - { - Debug.LogError(__exception); - } - } -} -``` - ---- - -## ⚠️ 十、ONI Mod 常见翻车点 - -- Patch 方法忘记 `static` -- 参数签名与原方法不一致 -- Prefix `return false` 但没处理返回值 -- Transpiler 修改逻辑过多 - - ---- - diff --git a/ONIModTutorial/ONIModTutorial-main/index.md b/ONIModTutorial/ONIModTutorial-main/index.md deleted file mode 100644 index f3b817b..0000000 --- a/ONIModTutorial/ONIModTutorial-main/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# https://vitepress.dev/reference/default-theme-home-page -layout: home - -hero: - # name: "ONIModTutorial" - name: ONIModTutorial - text: "缺氧 MOD 教程" - tagline: "Talk is cheap. Show me the code." - actions: - - theme: brand - text: 开始阅读 - link: /preface - - theme: alt - text: API Examples - # link: /api-examples - -features: - - title: 开发环境搭建 - details: 介绍如何配置 Visual Studio 2022 开发环境,以及如何引用游戏核心 DLL 文件。 - - - title: 源码反编译与分析 - details: 使用 dnSpy 等工具查阅游戏底层代码逻辑,学习如何定位 Patch(补丁)注入点。 - - - title: 实践与心得 - details: 分享《缺氧》Mod 开发中的实战案例,涵盖 Harmony 补丁使用及常见问题记录。 - ---- - diff --git a/ONIModTutorial/ONIModTutorial-main/markdown-examples.md b/ONIModTutorial/ONIModTutorial-main/markdown-examples.md deleted file mode 100644 index f9258a5..0000000 --- a/ONIModTutorial/ONIModTutorial-main/markdown-examples.md +++ /dev/null @@ -1,85 +0,0 @@ -# Markdown Extension Examples - -This page demonstrates some of the built-in markdown extensions provided by VitePress. - -## Syntax Highlighting - -VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: - -**Input** - -````md -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` -```` - -**Output** - -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` - -## Custom Containers - -**Input** - -```md -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: -``` - -**Output** - -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: - -## More - -Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/ONIModTutorial/ONIModTutorial-main/mod-structure.md b/ONIModTutorial/ONIModTutorial-main/mod-structure.md deleted file mode 100644 index de8a6fd..0000000 --- a/ONIModTutorial/ONIModTutorial-main/mod-structure.md +++ /dev/null @@ -1,49 +0,0 @@ -# 📂 Mod 目录结构 - -一个标准的《缺氧》Mod 目录通常包含以下核心文件。理解这些文件的角色是开发的第一步。 - -## 一 . 典型结构总览 - -每个模组都使用一个单独文件夹,例如,你的`MyFirstMod`路径应该如下所示: -`...\Klei\OxygenNotIncluded\mods\Dev\MyFirstMod\` -* `MyFirstMod.dll` -* `mod.yaml` -* `mod_info.yaml` -```text -MyFirstMod/ -├── mod_info.yaml # Mod 的元数据与版本兼容性配置 -├── mod.yaml # 用于配置 Mod 的名称、描述等静态信息 -├── MyFirstMod.dll # 编译后的程序集文件(逻辑代码) -└── preview.png # Steam 创意工坊显示的预览图 - -``` -## 二 . 配置文件详解 -::: code-group -```yaml [mod_info.yaml 模板] -supportedContent: ALL # 支持范围:VANILLA_ID, EXPANSION1_ID, 或 ALL -minimumSupportedBuild: 512719 # 运行该 Mod 所需的最低游戏版本号 -version: "1.0.0" # 你自己的 Mod 版本号 -``` -::: - - -::: code-group -```yaml [mod.yaml 模板] -title: "MyFirstMod" # 游戏内 Mod 列表显示的名称 -description: "这是一个示例描述" # 游戏内显示的详细功能介绍 -staticID: "AuthorName.MyMod" # Mod 的唯一标识符(建议格式:作者名.Mod名) -``` -::: - - - - - - -## 三 . 资源与可选目录 (进阶) -当你的 Mod 不再仅仅是简单的逻辑修改,而是涉及新建筑、新美术或多语言支持时,需要建立以下目录结构: -* **/translations/:** 用于存放多语言翻译文件(.pot 或 .po)。 -* **/anim/assets/:** 存放自定义建筑、生物或掉落物的动画资源。 -* **/assets/:** 额外素材 -* **/elements/:** 存放自定义元素的配置数据。 -* **/worldgen/:** 涉及地形生成、生物群落(Biomes)修改时的核心目录。包含 `biomes`、`features` 等子文件夹。 diff --git a/ONIModTutorial/ONIModTutorial-main/package-lock.json b/ONIModTutorial/ONIModTutorial-main/package-lock.json deleted file mode 100644 index 569ab1b..0000000 --- a/ONIModTutorial/ONIModTutorial-main/package-lock.json +++ /dev/null @@ -1,2568 +0,0 @@ -{ - "name": "ONIModTutorial", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "rss-parser": "^3.13.0" - }, - "devDependencies": { - "vitepress": "^1.6.4" - } - }, - "node_modules/@algolia/abtesting": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz", - "integrity": "sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", - "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", - "@algolia/autocomplete-shared": "1.17.7" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", - "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.17.7" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", - "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.17.7" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", - "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/client-abtesting": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz", - "integrity": "sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.2.tgz", - "integrity": "sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-common": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.2.tgz", - "integrity": "sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-insights": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.2.tgz", - "integrity": "sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.2.tgz", - "integrity": "sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-query-suggestions": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.2.tgz", - "integrity": "sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-search": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.2.tgz", - "integrity": "sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/ingestion": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.2.tgz", - "integrity": "sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/monitoring": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.2.tgz", - "integrity": "sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/recommend": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.2.tgz", - "integrity": "sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.2.tgz", - "integrity": "sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-fetch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.2.tgz", - "integrity": "sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-node-http": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.2.tgz", - "integrity": "sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz", - "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@docsearch/js": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz", - "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@docsearch/react": "3.8.2", - "preact": "^10.0.0" - } - }, - "node_modules/@docsearch/react": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz", - "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.17.7", - "@algolia/autocomplete-preset-algolia": "1.17.7", - "@docsearch/css": "3.8.2", - "algoliasearch": "^5.14.2" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@iconify-json/simple-icons": { - "version": "1.2.66", - "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.66.tgz", - "integrity": "sha512-D1OnnXwiQXFkVMw5M+Bt8mPsXeMkQyGmMdrmN7lsQlKMUkfLOp6JWhnUJ92po51WXT046aF/zzqSmkKqg08p4Q==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "@iconify/types": "*" - } - }, - "node_modules/@iconify/types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", - "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", - "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz", - "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz", - "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", - "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", - "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", - "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", - "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz", - "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", - "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", - "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", - "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", - "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", - "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", - "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", - "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", - "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", - "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", - "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", - "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", - "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz", - "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", - "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", - "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz", - "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@shikijs/core": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.5.0.tgz", - "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/engine-javascript": "2.5.0", - "@shikijs/engine-oniguruma": "2.5.0", - "@shikijs/types": "2.5.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.4" - } - }, - "node_modules/@shikijs/engine-javascript": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz", - "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "2.5.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^3.1.0" - } - }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz", - "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "2.5.0", - "@shikijs/vscode-textmate": "^10.0.2" - } - }, - "node_modules/@shikijs/langs": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-2.5.0.tgz", - "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "2.5.0" - } - }, - "node_modules/@shikijs/themes": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-2.5.0.tgz", - "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "2.5.0" - } - }, - "node_modules/@shikijs/transformers": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-2.5.0.tgz", - "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/core": "2.5.0", - "@shikijs/types": "2.5.0" - } - }, - "node_modules/@shikijs/types": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-2.5.0.tgz", - "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/markdown-it": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/linkify-it": "^5", - "@types/mdurl": "^2" - } - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", - "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz", - "integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@vue/shared": "3.5.26", - "entities": "^7.0.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz", - "integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.26", - "@vue/shared": "3.5.26" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz", - "integrity": "sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@vue/compiler-core": "3.5.26", - "@vue/compiler-dom": "3.5.26", - "@vue/compiler-ssr": "3.5.26", - "@vue/shared": "3.5.26", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.21", - "postcss": "^8.5.6", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz", - "integrity": "sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.26", - "@vue/shared": "3.5.26" - } - }, - "node_modules/@vue/devtools-api": { - "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", - "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^7.7.9" - } - }, - "node_modules/@vue/devtools-kit": { - "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", - "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/devtools-shared": "^7.7.9", - "birpc": "^2.3.0", - "hookable": "^5.5.3", - "mitt": "^3.0.1", - "perfect-debounce": "^1.0.0", - "speakingurl": "^14.0.1", - "superjson": "^2.2.2" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "7.7.9", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", - "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "rfdc": "^1.4.1" - } - }, - "node_modules/@vue/reactivity": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.26.tgz", - "integrity": "sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.26" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.26.tgz", - "integrity": "sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.26", - "@vue/shared": "3.5.26" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz", - "integrity": "sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.26", - "@vue/runtime-core": "3.5.26", - "@vue/shared": "3.5.26", - "csstype": "^3.2.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.26.tgz", - "integrity": "sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.26", - "@vue/shared": "3.5.26" - }, - "peerDependencies": { - "vue": "3.5.26" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz", - "integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vueuse/core": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", - "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "12.8.2", - "@vueuse/shared": "12.8.2", - "vue": "^3.5.13" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/integrations": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-12.8.2.tgz", - "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vueuse/core": "12.8.2", - "@vueuse/shared": "12.8.2", - "vue": "^3.5.13" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "async-validator": "^4", - "axios": "^1", - "change-case": "^5", - "drauu": "^0.4", - "focus-trap": "^7", - "fuse.js": "^7", - "idb-keyval": "^6", - "jwt-decode": "^4", - "nprogress": "^0.2", - "qrcode": "^1.5", - "sortablejs": "^1", - "universal-cookie": "^7" - }, - "peerDependenciesMeta": { - "async-validator": { - "optional": true - }, - "axios": { - "optional": true - }, - "change-case": { - "optional": true - }, - "drauu": { - "optional": true - }, - "focus-trap": { - "optional": true - }, - "fuse.js": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "jwt-decode": { - "optional": true - }, - "nprogress": { - "optional": true - }, - "qrcode": { - "optional": true - }, - "sortablejs": { - "optional": true - }, - "universal-cookie": { - "optional": true - } - } - }, - "node_modules/@vueuse/metadata": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", - "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", - "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "vue": "^3.5.13" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/algoliasearch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.2.tgz", - "integrity": "sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@algolia/abtesting": "1.12.2", - "@algolia/client-abtesting": "5.46.2", - "@algolia/client-analytics": "5.46.2", - "@algolia/client-common": "5.46.2", - "@algolia/client-insights": "5.46.2", - "@algolia/client-personalization": "5.46.2", - "@algolia/client-query-suggestions": "5.46.2", - "@algolia/client-search": "5.46.2", - "@algolia/ingestion": "1.46.2", - "@algolia/monitoring": "1.46.2", - "@algolia/recommend": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/birpc": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", - "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/copy-anything": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", - "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-what": "^5.2.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/emoji-regex-xs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", - "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/entities": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz", - "integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/focus-trap": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", - "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "tabbable": "^6.4.0" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-what": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", - "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/mark.js": { - "version": "8.11.1", - "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", - "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/minisearch": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", - "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", - "dev": true, - "license": "MIT" - }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/oniguruma-to-es": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", - "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex-xs": "^1.0.0", - "regex": "^6.0.1", - "regex-recursion": "^6.0.2" - } - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "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" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/preact": { - "version": "10.28.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz", - "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", - "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-recursion": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", - "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "dev": true, - "license": "MIT" - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", - "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.55.1", - "@rollup/rollup-android-arm64": "4.55.1", - "@rollup/rollup-darwin-arm64": "4.55.1", - "@rollup/rollup-darwin-x64": "4.55.1", - "@rollup/rollup-freebsd-arm64": "4.55.1", - "@rollup/rollup-freebsd-x64": "4.55.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", - "@rollup/rollup-linux-arm-musleabihf": "4.55.1", - "@rollup/rollup-linux-arm64-gnu": "4.55.1", - "@rollup/rollup-linux-arm64-musl": "4.55.1", - "@rollup/rollup-linux-loong64-gnu": "4.55.1", - "@rollup/rollup-linux-loong64-musl": "4.55.1", - "@rollup/rollup-linux-ppc64-gnu": "4.55.1", - "@rollup/rollup-linux-ppc64-musl": "4.55.1", - "@rollup/rollup-linux-riscv64-gnu": "4.55.1", - "@rollup/rollup-linux-riscv64-musl": "4.55.1", - "@rollup/rollup-linux-s390x-gnu": "4.55.1", - "@rollup/rollup-linux-x64-gnu": "4.55.1", - "@rollup/rollup-linux-x64-musl": "4.55.1", - "@rollup/rollup-openbsd-x64": "4.55.1", - "@rollup/rollup-openharmony-arm64": "4.55.1", - "@rollup/rollup-win32-arm64-msvc": "4.55.1", - "@rollup/rollup-win32-ia32-msvc": "4.55.1", - "@rollup/rollup-win32-x64-gnu": "4.55.1", - "@rollup/rollup-win32-x64-msvc": "4.55.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/rss-parser": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.13.0.tgz", - "integrity": "sha512-7jWUBV5yGN3rqMMj7CZufl/291QAhvrrGpDNE4k/02ZchL0npisiYYqULF71jCEKoIiHvK/Q2e6IkDwPziT7+w==", - "license": "MIT", - "dependencies": { - "entities": "^2.0.3", - "xml2js": "^0.5.0" - } - }, - "node_modules/rss-parser/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/shiki": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-2.5.0.tgz", - "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/core": "2.5.0", - "@shikijs/engine-javascript": "2.5.0", - "@shikijs/engine-oniguruma": "2.5.0", - "@shikijs/langs": "2.5.0", - "@shikijs/themes": "2.5.0", - "@shikijs/types": "2.5.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/speakingurl": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/superjson": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", - "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-anything": "^4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tabbable": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", - "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", - "dev": true, - "license": "MIT" - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "5.4.21", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", - "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "esbuild": "^0.21.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 - } - } - }, - "node_modules/vitepress": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.4.tgz", - "integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@docsearch/css": "3.8.2", - "@docsearch/js": "3.8.2", - "@iconify-json/simple-icons": "^1.2.21", - "@shikijs/core": "^2.1.0", - "@shikijs/transformers": "^2.1.0", - "@shikijs/types": "^2.1.0", - "@types/markdown-it": "^14.1.2", - "@vitejs/plugin-vue": "^5.2.1", - "@vue/devtools-api": "^7.7.0", - "@vue/shared": "^3.5.13", - "@vueuse/core": "^12.4.0", - "@vueuse/integrations": "^12.4.0", - "focus-trap": "^7.6.4", - "mark.js": "8.11.1", - "minisearch": "^7.1.1", - "shiki": "^2.1.0", - "vite": "^5.4.14", - "vue": "^3.5.13" - }, - "bin": { - "vitepress": "bin/vitepress.js" - }, - "peerDependencies": { - "markdown-it-mathjax3": "^4", - "postcss": "^8" - }, - "peerDependenciesMeta": { - "markdown-it-mathjax3": { - "optional": true - }, - "postcss": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", - "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@vue/compiler-dom": "3.5.26", - "@vue/compiler-sfc": "3.5.26", - "@vue/runtime-dom": "3.5.26", - "@vue/server-renderer": "3.5.26", - "@vue/shared": "3.5.26" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/ONIModTutorial/ONIModTutorial-main/package.json b/ONIModTutorial/ONIModTutorial-main/package.json deleted file mode 100644 index ed43f03..0000000 --- a/ONIModTutorial/ONIModTutorial-main/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "scripts": { - "dev": "vitepress dev", - "build": "vitepress build", - "preview": "vitepress preview" - }, - "devDependencies": { - "vitepress": "^1.6.4" - }, - "dependencies": { - "rss-parser": "^3.13.0" - } -} diff --git a/ONIModTutorial/ONIModTutorial-main/preface.md b/ONIModTutorial/ONIModTutorial-main/preface.md deleted file mode 100644 index 60d3255..0000000 --- a/ONIModTutorial/ONIModTutorial-main/preface.md +++ /dev/null @@ -1,39 +0,0 @@ -# 🚀 开发引言 (Preface) - -这份文档旨在为 **《缺氧》**(*Oxygen Not Included*)的 Mod 开发者提供一份系统化的技术指南。 - -::: info 编写初衷 -在尝试通过 Mod 扩展游戏玩法的过程中,会遇到许多问题,也会解决一些问题。本项目建立的初衷是:**整理并记录开发过程中的新发现**,让后来的开发者~~少走弯路~~。 -::: - -### 🛠️ 文档核心价值 -| 特性 | 描述 | -| :--- | :--- | -| **源码参考** |内容主要参考当前版本的 `Assembly-CSharp.dll` 逆向结果,尽量确保时效性。 | -| **侧重实践** |分享我寻找 **Hook 点** 或修改 **Prefab** 时的思路,希望能提供一些实操参考。 | -| **尝试同步** | 由于游戏仍在更新,我会尽力在业余时间同步那些影响较大的逻辑变动。 | - -### 🗺️ 学习路线图 - -1. **环境准备** - * 介绍我常用的反编译与开发工具配置。。 -2. **基础机制** - * 探讨 Harmony 补丁的使用以及对游戏对象结构的理解。 -3. **进阶尝试** - * 记录从属性修改到实体注入的一些实验性过程。 ---- - -::: danger 💡 学习建议 -**Mod 开发需要一定的 C# 基础。** 如果你是完全的编程新手,建议先花点时间了解 C# 的基本语法(变量、类、继承、Lambda 表达式),这会让你后续的开发事半功倍。 -::: - ---- - -
-

从零开始,在代码中构建属于你的宇宙。

- - - -
diff --git a/ONIModTutorial/ONIModTutorial-main/public/images/VSInstallation-details/VSInstall.png b/ONIModTutorial/ONIModTutorial-main/public/images/VSInstallation-details/VSInstall.png deleted file mode 100644 index c5d5f483e27492e418fb271557c9b9dc879eb24a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161306 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 ?i;CvZdT=J* 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 - 此工具是缺氧游戏附赠的,在库中可搜索到 - ---- - -## 二 . 上传已有 Mod - -如果你需要发布的 Mod,请参考下方界面: - -
- 发布界面 -
- -按照以下步骤配置上传信息: - -* **选择项目**:点击此处选择你准备好的 Mod 文件夹。 -* **路径确认**:确保显示的是整个 Mod 文件夹的完整路径。 -* **预览图**:选择你 Mod 文件夹中的 `preview.png` 文件(建议尺寸 512x512)。 -* **Mod 名称**:输入你希望在创意工坊上显示的标题。 - - - - -::: warning 注意事项 -1. **文件夹结构**:上传前请务必确认 `mod_info.yaml` 位于文件夹根目录。 -2. **预览图限制**:图片大小不得超过 1MB,否则 Steam 可能会上传失败。 -3. **版本号同步**:记得更新 `mod_info.yaml` 中的 `version` 字段,方便玩家识别更新内容。 -::: - -## 三 . 创意工坊 图片、标题与描述 -* **编辑标题与描述**:多国语言版本标题与描述 - **常用标签 - ```html - - [h1][/h1]..[h*][/h*] [url=*][/url] [hr/] - - [url=链接]链接[/url] [img=链接]图片[/img] - - [hr/] - - [table] - [tr] - [td]单元格内容[/td] - [tr] - [table/] - - [list] - [*]列表项1[/*] - [*]列表项2[/*] - [list/] - - [br/> - ``` -* **添加编辑图片/视频**:图片尺寸比例1920/1080 diff --git a/ONIModTutorial/ONIModTutorial-main/version-compatibility.md b/ONIModTutorial/ONIModTutorial-main/version-compatibility.md deleted file mode 100644 index 35cd580..0000000 --- a/ONIModTutorial/ONIModTutorial-main/version-compatibility.md +++ /dev/null @@ -1,65 +0,0 @@ -# 🔄 多版本兼容性与发布管理 - -为了确保 Mod 能够在不同版本的《缺氧》(如本体、DLC、测试版)中正常运行,你需要正确配置 `mod_info.yaml` 和 `archived_versions` 文件夹。 - ---- - -## 一 . 核心配置文件:mod_info.yaml -> [!IMPORTANT] -> **官方原文链接:** [Setting up mod_info.yaml and archived_versions](https://forums.kleientertainment.com/forums/topic/158363-setting-up-mod_infoyaml-and-archived_versions/) - - -每个发布到 Steam Workshop 的 Mod 根目录必须包含 `mod_info.yaml`。它决定了 Mod 的“准入资格”。 - -::: code-group -```yaml [mod_info.yaml 模板] -supportedContent: ALL # 支持范围:VANILLA_ID, EXPANSION1_ID, 或 ALL -minimumSupportedBuild: 512719 # 运行该 Mod 所需的最低游戏版本号 -version: "1.0.0" # 你自己的 Mod 版本号 -``` -::: - -## 二 . 文件夹结构:archived_versions - -当你需要同时兼容当前稳定版和之前的旧版本时,不能只靠一个 .dll。你需要使用文件夹分层。 - -📂 推荐目录结构 -::: details 点击查看结构树 -```yaml -MyMod/ -├── mod_info.yaml # 最新版的信息(通常指向当前正式版) -├── mod.yaml # 最新版的基本描述(通常指向当前正式版) -├── MyMod.dll # 适用于当前最新正式版的代码 -└── archived_versions/ # 存档版本文件夹 - └── 512719/ # 文件夹名 = 适用的最低游戏版本号 - ├── mod_info.yaml # 该版本的独立信息 - ├── mod.yaml # 该版本的基本描述 - └── MyMod.dll # 该版本的专用代码 -``` -::: - -⚙️ 运行逻辑说明 -* **扫描阶段:** 游戏启动时会优先扫描 `archived_versions` 文件夹。 - -* **匹配阶段:** 它会寻找文件夹名(版本号)小于或等于当前游戏版本,且最接近当前版本的文件夹。 - -* **回退阶段:** 如果没有匹配的归档文件夹,则运行根目录下的默认文件。 - -## 三 . 兼容性开发建议 - -::: tip 🛡️ 为什么使用这种结构? - -* **版本隔离(防止“炸档”):** 当游戏大版本更新导致 API 变更时,旧版本用户会自动定向到 `archived_versions` 运行,确保插件不会因环境冲突而崩溃。 -* **双轨并行(分支维护):** 支持同时为 **测试版 (Testing Branch)** 和 **正式版 (Live Branch)** 维护两套完全独立的 DLL 逻辑,互不干扰。 -::: - -### 🛠️ 自动化生成事件 - -在 Visual Studio 的项目属性中添加 **生成事件 (Post-build event)**,可实现编译后自动归档到对应文件夹: - -```batch -# 如果是 Release 配置,自动拷贝到 512719 归档目录 -if "$(ConfigurationName)" == "Release" ( - xcopy /Y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)archived_versions\512719\" -) -``` \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/visual-studio-installation.md b/ONIModTutorial/ONIModTutorial-main/visual-studio-installation.md deleted file mode 100644 index 7fdce39..0000000 --- a/ONIModTutorial/ONIModTutorial-main/visual-studio-installation.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -sidebar: false ---- -
- 返回 - - -# 🛠️ Visual Studio 安装细节 - -在安装过程中,正确的勾选决定了你是否能顺利编译 Mod。请参考以下图解进行配置: - -### 1. 选择工作负荷 (Workloads) -首先,你需要告诉 VS 你要进行桌面程序开发。 - -
- 安装 -
- -> **操作:** 勾选 **“.NET 桌面开发”**。这是开发 C# 插件最基础的环境,包含了编译器和必要的库。 - ---- - -### 2. 精确勾选组件 (Individual Components) -这是最关键的一步,很多新手会因为少勾选组件而无法创建合适的项目模板。 - -
- 选择组件 -
- -**必须确保以下项已勾选:** -* **.NET 桌面开发相关组件**:用于编写针对《缺氧》的代码。 -* **.NET Standard 2.1 相关开发支持**:提供项目模板和程序集引用支持。 - ---- - -### 3. 完成安装 -确认右下角的安装位置有足够的空间(通常需要几 GB),点击 **“修改”** 或 **“安装”**。安装完成后,建议重启电脑以确保环境变量生效。 - -::: tip 下一步 -安装完成后,你可以回到 [开发环境搭建](./development-environment#back-point) 继续学习如何创建你的第一个 Mod 项目。 -::: diff --git a/ONIModTutorial/ONIModTutorial-main/workshop-list.md b/ONIModTutorial/ONIModTutorial-main/workshop-list.md deleted file mode 100644 index bf777c1..0000000 --- a/ONIModTutorial/ONIModTutorial-main/workshop-list.md +++ /dev/null @@ -1,15 +0,0 @@ -# 玩家社区与扩展 🚀 - -这里同步了《缺氧》创意工坊最新的模组动态,以及我们的开发路线图。 - -## 创意工坊动态 - - - - ---- - -## 学习路线图 (Roadmap) - - - \ No newline at end of file diff --git a/README.md b/README.md index aa93617..844f60a 100644 --- a/README.md +++ b/README.md @@ -112,10 +112,10 @@ python tools/oni_commander.py fix_overload # 过载电路 python tools/oni_commander.py expand_base x y w h # 拓展 ``` -### `scripts/event_daemon.py` — 事件守护进程 +### `tools/event_daemon.py` — 事件守护进程 ```bash -python scripts/event_daemon.py +python tools/event_daemon.py [interval_seconds] # 持续轮询事件,分类显示到控制台 ``` @@ -144,20 +144,23 @@ oni-agent/ │ ├── ONIAgentBridge.cs # Mod 源码 (C# Harmony) │ ├── ONIAgentBridge.csproj │ ├── mod.yaml / mod_info.yaml -├── tools/ +├── tools/ # AI 直接调用的运行时工具 │ ├── oni_api.py # CLI 客户端 (20+ 子命令) -│ ├── oni_analyzer.py # 六维度分析 +│ ├── oni_analyzer.py # 六维度智能分析 │ ├── oni_builder.py # 蓝图建造 -│ └── oni_commander.py # 高级指令 -├── scripts/ -│ ├── event_daemon.py # 事件守护进程 -│ ├── build_mod.sh # 编译脚本 -│ └── setup.sh # 环境初始化 +│ ├── oni_commander.py # 高级指令 +│ └── event_daemon.py # 事件守护进程 +├── scripts/ # 开发者/构建用脚本 +│ ├── build_mod.sh # 编译 Mod +│ ├── setup.sh # 环境初始化 +│ ├── watch.sh # 热重载 +│ ├── fix_csharp.py # C# 修复 +│ ├── annotate_apis.py # API 标注 +│ ├── auto_analyze.sh # 自动分析 +│ └── auto_repair.sh # 自动修复 ├── docs/ -│ ├── AI_KNOWLEDGE_BASE.md # AI 知识库 +│ ├── AI_KNOWLEDGE_BASE.md # AI 知识库 (建筑/元素/科技) │ └── MOD_DEV_GUIDE.md # Mod 开发指南 -└── skills/ - └── oni_agent.md # Agent skill 定义 ``` ## 文档索引 diff --git a/skills/oni_agent.md b/skills/oni_agent.md deleted file mode 100644 index 0eb094c..0000000 --- a/skills/oni_agent.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -name: oni_agent -description: "Oxygen Not Included 完全游戏操控 — REST API + CLI 工具链,含分阶段目标/材料系统/可达性/建筑数据库" -version: "2.1.0" ---- - -# ONI Agent Skill — 缺氧 AI 完全操控 - -通过 `tools/oni_api.py` CLI + Mod HTTP API 完全控制游戏。**每次决策前必须先 pause**,所有操作自动拉视角到坐标。 - -## 一、坐标系与格子 - -- (0,0)=左下角,x→右,y→上,典型地图 256×384 -- 建筑坐标=左下角锚点 -- 通过 `cell ` 查看格子:element / massKg / temperatureC / isSolid / isLiquid / isGas / isDiggable / hasBuilding / hasDuplicant -- `explore ` AI友好区域摘要 -- 可达性:复制人只能在开放空间移动,固体阻挡需挖掘,液体/气体不阻挡 -- 梯子(Ladder)提供垂直移动,砖块(Tile)提供地面 - -## 二、材料系统 - -建筑需要特定类别材料: -- **BuildableRaw** = SandStone, Granite, IgneousRock, Obsidian (挖掘获得) -- **Metal** = Cuprite, IronOre, GoldAmalgam, Wolframite (挖掘→精炼) -- **RefinedMetal** = Copper, Iron, Gold, Steel (精炼生产) -- **Plastic** = Polypropylene (聚合压机制造) -- **Glass** = Glass (窑炉烧制) -- **Farmable** = Dirt (挖掘/堆肥) - -AI 必须检查世界库存中哪些元素满足建筑的材料类别,选择存量最多的。 - -## 三、分阶段目标 - -### Phase 1 (Cycle 1-20): 生存基础 -- **氧气**: OxygenDiffuser(藻类) 或 Electrolyzer(水→O₂+H₂) -- **电力**: ManualGenerator → [研究PowerRegulation] → CoalGenerator -- **食物**: PlanterBox×3-5 种 Mealwood (消耗Dirt) -- **卫生**: Outhouse + WashBasin → [研究Plumbing] → Lavatory循环 -- **科研**: ResearchStation → FarmingTech先 → PowerRegulation → Plumbing -- **执行**: `dig` 挖空间 → `build IDs` 建造 → `research_select ID` 研究 - -### Phase 2 (Cycle 20-100): 自持系统 -- **SPOM**: Electrolyzer+H₂发电机 → 无限O₂+部分电 (`oni_builder.py build spom`) -- **厕所循环**: Lavatory→WaterPurifier→Lavatory (`oni_builder.py build toilet_loop`) -- **电力升级**: 变压器(Transformer)防过载 + CoalGenerator -- **隔热**: InsulationTile 包围基地 -- **养殖**: RanchStation + Incubator (哈奇哈奇产煤+食物) - -### Phase 3 (Cycle 100+): 自动化 -- 液冷模块 Aquatuner+SteamTurbine -- 石油/天然气发电 -- 喷泉开发 -- 太空探索 - -## 四、关键建筑ID速查 - -| ID | 尺寸 | 材料 | 耗电 | 用途 | -|----|------|------|------|------| -| ManualGenerator | 2×2 | Metal | -400W | 人力发电 | -| CoalGenerator | 2×2 | Metal | -600W | 燃煤发电 | -| HydrogenGenerator | 2×2 | Metal | -800W | 燃氢发电 | -| Electrolyzer | 2×2 | Metal | +120W | 水→O₂+H₂ | -| GasPump | 1×2 | Metal | +240W | 抽气 | -| WaterPurifier | 2×2 | Metal | +120W | 污水净化 | -| PlanterBox | 1×1 | BuildableRaw | 0 | 种植 | -| StorageLocker | 1×1 | BuildableRaw | 0 | 储存 | -| RationBox | 2×2 | BuildableRaw | 0 | 储食 | -| Tile | 1×1 | BuildableRaw | 0 | 地板 | -| InsulationTile | 1×1 | BuildableRaw | 0 | 隔热墙 | -| Ladder | 1×1 | BuildableRaw | 0 | 梯子 | -| PneumaticDoor | 1×2 | Metal | 0 | 门 | -| Battery | 1×1 | Metal | 0 | 电池 | -| Transformer | 2×1 | Metal | 0 | 变压器 | -| ResearchStation | 2×2 | BuildableRaw | +60W | 初级科研 | -| SteamTurbine | 4×2 | Metal | -850W | 热删除+发电 | -| Aquatuner | 1×2 | RefinedMetal | +1200W | 液冷 | -| Cot | 1×1 | BuildableRaw | 0 | 床 | - -## 五、标准操作流程 - -``` -1. pause "原因" ← 必须暂停 -2. status / resources / events ← 感知 -3. explore / cell ← 验证坐标 -4. dig → build / deconstruct ← 执行(自动拉视角) -5. events ← 检查结果 -6. unpause 1 ← 恢复 -``` - -**紧急响应**: O₂<500→emergency_o2 | 食物<200k→建农场 | CO₂多→fix_co2 | 电力过载→fix_overload - -## 六、工具速查 - -```bash -# 监控 -oni_api.py status | resources | buildings | duplicants | rooms -oni_api.py events [since] | explore x y w h -oni_api.py cell x y | cells x y w h | slice axis idx start end -oni_api.py gas x y r -oni_api.py registry buildings|elements|techs [filter] - -# 操作(自动拉视角) -oni_api.py pause "reason" [speed] | unpause [speed] -oni_api.py speed 1|2|3 -oni_api.py dig x y w h | build id x y | deconstruct x y -oni_api.py prioritize x y 1-9 | research_select id | batch file -oni_api.py mop x y | harvest x y -oni_api.py camera x y [zoom] | save [name] | load name - -# 分析 -oni_analyzer.py | oni_commander.py diagnose -oni_commander.py emergency_o2 | fix_co2 | fix_overload | expand_base cx cy w h -oni_builder.py build spom/toilet_loop/bedroom/farm_mealwood/cooling/ranch_hatch x y -``` diff --git a/scripts/event_daemon.py b/tools/event_daemon.py similarity index 98% rename from scripts/event_daemon.py rename to tools/event_daemon.py index 67eaa6c..f3d6213 100644 --- a/scripts/event_daemon.py +++ b/tools/event_daemon.py @@ -14,7 +14,7 @@ import json, os, sys, time, datetime TOOLS_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'tools') sys.path.insert(0, TOOLS_DIR) -from oni_api import api_get, api_post, api_url, load_config +from oni_api import api_get, api_post, load_config POLL_INTERVAL = 5 MAX_EVENTS = 200

7dLH6Hq*#wo(3!j(kU{qXJo z?y}nz3!ix7i~lT(Q@M6EI$BOePxkrMJ}DtE9ce=u?1xcKQu)?8S9a8dHTjVDbNl`_PsLV#gp za|-|5Wf!m_xmRcVoGmUco_-_-KJid@GT;WF)ot$+uS+Wkvrq>-%hzm0%us{GG@>e^ zmCl;8$GS|41SkDIiBVVgSV_S{55M;HLMPGiLsb5W2lh)8bQWa=j}CqW700|F_gBkN zJ-Z945;+?cZ7a)VXQitmh+peq5O*hU4lylm_>26bM*r=3WA#ZK~+!ePjWJQc(G&o#ncqwaI(?F+YDnq9$8@fUg!QLXe#q7xcM6NG zRwAEkCg{IZgL~|zG+fEu&8v>Rc=2&*>GuW3bqDkf4ONrhVha#yZx|&`eN09F11u2% zO}6Qd)@t|mU*C%L(}~6OwFD^ZX{`ZV>q~&XT3R)MTc5%R#LEO6yDY->mczPrIi-N$ z?A@tTuTUm;Y+O-1OW2MhY+E@P{Q5+2wo~#W+Z!{0W_7RGFRoo0DAK;!oGE#0N zdr_@&vjeo`8txExLN{o1z82SqfW*tt{$teOq`klctGlxDMLtK)@XQu26Bi8|7P(sZ ziDC1rR9y8s)P&!Ya&~i(By(_Ek?rYKl|E7Uqt6omo9s?;h?k66Cd+}OSX@<5;Imdp zi2uz1tRy={Z2>QqF)N~K$U2(fGIhAE@b5paitnCDbPiCsg%+6xbq%oO2~j}1RWvr%y_pC<$(HEAXA{-5O7$4oP@PNn|K+ME8-POrzEFzv#i>h z2fcOYL-yd~SwUb1GdH}}ZR528$On(DTFYZoL{NQiZZdvzKYNo%^Nl~N@BpELHA3y{j3dj zv!<8L`cI`6%gk&yP|lnqHXSJs1ryt^;VUVaTR$@ki(i5usjiMxi#sL2O;4UAq+PWE ztgEZ7MK0G?WS|UR5#%^%{v0tHO4);dB_t@uE(HjFNHGRwRlil8UMk5v{?HW1?wd9t zDO^wf!8mDb6vgCV!N^Ru5d?N_t*W#*EUpk78HJU36{po_Ffhdb8Xb4(Q4l(tXHPFiTVLHSqNC z=sjeTc9W{Ew|2)MjY~GV#AzPG4BsPzTcnS^QJw5?QE1Mie5O5Dncxn!A{)>vKSC|w zK`izq@ZT*{?F&1e8IG~>T!cgG*In7)7BbkDS|0ZmsUbs1wpswY$?!Gx3k?2Re*w@a zDYZAAJFOzkKml~Se@Erup(pe;i5wX53vMxZus$oVjm>OKUw6_aD-UV%I8?mpgEpc{p)i@eO>L$&ch zC2?_kOP9qi6_^nplKE;vtLmQ37hsMLB(EPn_>QMB;fT_|#%C(^Wt=BRIur`-`{m0x zd2hmspuq&w`ga^22^kkIG)B+f=R3~>k1v>4p|mLQ1pZLb46Our$G5nK3J*6v>DJ>v zSp@RU>|@w`Z+BEFb?FFGd+*>=lOe>DVe@lj9y&hkbyrMo=)59vxjk_=uYAi^6`H)S z#pn_waa@=Vd-wi5giL!9T{}BH$w*%b_>Sq%!FR!DBy~{-(Frr_q$_5LJ;Tkk!Qii5O_9_joF>j)n7DDhlfA@zG=e-4I}dS5z!et+y$bTi^|aQ1k)RXl%wQb|(aH+FnW+R3g9Z`tuFt=>&?Jv)o=05&~v zhb?=JP7#vlBn}9D{cv2%OO=NK2tW^ofd6khy3k$)9({u6ch-d24zeZ{Ik{J9^^x!S zR-XleIPb#EW5(exVRl5-CP)T55uK)Hu}b7G%t-tnE`Tty8$=uS(7bs$cH0&d9E_aP zY}Y;dZ}4s_>#ozZX6RG>wQ<9w8!tI5EcRTTi60Qnasr5+7=f80U(Oe1CJ>Uqb{;)? z&#($cOiXjA^Sp&HjrA9u3+9yF#dP`d!Gi`t8r_xYh)ld^FLX)!@7q*c#j&MsqL4#S zv_*k&+S@-ppU#XT_JwJAM#Zyd$4=cRX2r$T0o@AW$IVR^s^-cLA#5<-Pp=Lli5ty7 zWb&-J`q!^FkuCClcsPK#r9NQ*F>esuy0iMA1?bNA^qih&$KN`|YBv5N$Fb;SZI&xN zsQ&F+I&N$l?Hg};DQDp3+yt3M>X2XmMrb~8Kh~^U=ic#WJNUN0UT}CghGzC&Zz&O_ z0*PD$bjx!nIeA+weXM6E)Ojed9dMN68wby{W z2>;>s4za>6i2COC%+ssK!jR-WYfnEMjIg#mhRG_N^Ra^H-+$nZk({0A3dgfddGs;nVeuuvK~i$P+s zgS`z9g!={nW8bcfJDZcL zOQp*9F85e$SV~_iv{yd@+@7|HJnZ1`eRlTd-vkvBu?-ttFkj^Mm(7qs{($rnNz5T~ zGPx0&1K#VWR2+`3UwD)yefsobF;GgN`!!v@AH4sX9aP{dPyrMNf>}bngTl!nrgG?D ziR0DJRwM_7anHndRgUkn)7GgpVB?QVe$>{8w{TuHucRH{!|F$i0`giKuTP?a;4!^)D8P5 za>8XHqOoFjTD0aS@A&+3#ylJZrq_mxp3ux(c$PWx3JLPmo~~5+*P>nR49j6bIq@a$P=K;Az8j+S6l|ZFM*tQYW|p%YuDmd?u_2< zbtW%DcrH=xP9LLMCod|=RX@CGl<)H!9;YOVT+KT69e34fwi{*N_)8d@gQJg(%nJ;e z`aZn}afPC;a@ZXld{|1K84jYw-}s=awxi=1!0g3d-r~9!K8LMT39JcGo*R z1P19dgxx{&kDWTDBz4FkX8o^Nr}i_QK0XePND;dtB|Hl^F_+-y9s`>8kBdW@VOZm2 zV^g&I#&T3Iz1KnD0_b$D$yiWd)*nd1?n^*vL!QOmDcIP-w4wX77PCYaw22AsA*Iir zi78yT9xQh#^P9Y~GMf}4|3pPaSfCTO2Mk_h&cOitVEl(#1M!(x({J2p!Al*D%A8R& zgL&FC7}(Mz>9gr`^-5q1@d!x7=}X`~Pu0F)fq0*nC61~$Gf4w@?@uN1p?-edW(JjR z!AAqeJ)J{_`(ok&1r8NAvguxMf>K2Yz-=5H7L2y?Qp)bifQQM3Bd3zvQ|xe4(}>{= z;Oe!^k3M``OCy}>#6o+Rmx>7y9K|Ri+g>xV=`;m=K|$2F)|f(jS*nDz0%}{ZhO=lf1r zJGK9K*^JdB*kcAfVs+6Q0$zm4=$llXEt?cb$qK*a<^^~lWJ^p4A(>!nt@|SLajZgy zgmuDvvFKqTSNA@fqN<9%hE)QenysKZZQ5|g0?D`>(tAoWjzowM%<#`xb0c9`QJl3S z*Tz24i=lF{zPt-5&7@>SW#w~*Ih!|aLYibhd%f=d%*^d9J!~%U5P_ujBrgxLLd&(< zQvVsq&s3xhS>8CKS|rAW64G>)pOe93hQWh7bLI?{-I^)+A%J*)qePrupX)&6+DzY~@HNHW0MQ*qn3uK1= zGDAaux{BNoi$oHz^BhKLhNJ;VuZ|xdc<6q@&<%nQ@r{SX@FtZjO3O@4Y)Rp)ttX>> z7NT$CewY%Z!;QH!KK3*y6XMFXwWY&0h1sp*2+7RUj99zBbL}(xXR@S3y@FEZ||3&X|I5=H7AdZ|?;BL8irVZqqS~M7))b)16qhShEE2 z&kSi(0taE`Z)0u2?H%n5_8|3G=i-u=QUJXKk|MC7vVuafJ?GyvmMV)nZjF6^UHj1= z>B|emn78L*T%tWUd)qlX6HRRAU#=S-_Q!hUFQFf6U;n?23X5%}D4uiFoqG>U!u7jO zJY?TA26uG;QwZnFfw=0#Bt$Q;5x7C+BAGwp)GIT95HtqLoG9MFlS~*PDH2`bo6oDr zbeWPF;I1BDw@ByN?tczNxv+)`C!epZx~?br<71-f=d*IJg$roVo-w<*u5Q}$_2$iX zB9Yvje-nS*+`F?9r+WxbQ8c`N&7@8*FFSb_92)*#f1}{()jW;=+IFHu(f_Mir~7Zm zOe8ubB>+3Zt0DEjj@|!%tK|RL|C{3QUf8X?Q~;{ZC&r5c!VpY5MfUyg0#cFUkG>;W z^6R!u)c>{{6Nk0XkNDm8q9ZPsECXE5qMPpQ*=c%RyLG#|$wi2uoM*Fz^9(w0^S5uY zxv;6>6sOzL0QA(FG|9+`(QKEtDE#efQ5IP`wKi%}g9Gp8ZIrc?l#wwQ>=AixM1^#< zAC|bUZvA~r0TL>SYGvmU^Woe-xK8OBLbO{cwZ4*U0cLLh+P|y;I3uZ6&2{8`7+R)p zgN;CeTWovPLg0fZX6wfueRBhL>d&^e;=Y+Ifkac2zn{?16*l-6>@tdK>8g7H^V-t77cZk03APaCFPAYa=(K&Q+E6{}e}NTsr)?1aQx7 zu~}1^GMb-~1~v$;W}ql;xdle?4BWW4zrV9~EOqlOSUe#=^LPFUK7O2t!D|y>2N|ep zvqja?_uVpy5!l+hc{UV8}?PJ(-(`;Z#Kc1i`-XJoX#`;O|z>c@V? zL`ZR@koGi;gNg*AcWRAHR@=XoppDCb9Yo1P1)D;yO8HjP zi$Y2Az#PLB|7bQ*JXZu}3F4y&ig|{d&D*EPF^K4sgFIc$5w@(GCrkvzKjAoeD3DS< zZT=0!48Kdz`eTBEo7TSVT|Ul#uj*>|X897xB1Ch6Qup+fAY!vjT6&>DmqQeef#rxH zL&|4->nhv_pCju5yi|_Cm)n2f0OmZr_*8f?LvYJg5N@=E1)+yp_Z`v^Pj7F^tBp|Y zSPYnijO4!QqZ0i1aXV{=rA0~#Q;nz6PwU4^SbUsFz5De$t>Q31?k$|b)%!~Rr8>YM z!002{l&l3I4AgOQq&?mHRHoP-qT@>t<<@77s)BvqP75nL6U&(=$4M!EA*>TTxFP%s zlPFz7$<7y*oaVxv@|L{r#y%Fwp`b$P;V z6Rj4DT{=`&c3~)|g5cZGZ|Ib@P=wG^!-N+EC2!%TsWGr`tikbwRktJc(kMuAcoha} z(t#3u;BY>x4qHYclfkef-Tiba*{y=p7o#k#cd-~bo=CL)^+rD_UQg!{5GVU6(nVFv zxLxNbdB7PHs7rzx!DJT$YI5%1r)z@*Q+%KH8J%JQ;^>#ca1%PnV6_Zl!E5|8NewIG zt&ZWc_vLimx0X#rrQ~ia~)OWcDQB zeq(`I+F2Rf`Rty4+4=bam*83LKXfQ27rJOd@VL#te{3wBUHsxj2aO066zeR7ik@z` ztLsiUUO42z+01?TaKDR-qW)PO=gmoOZyyF_UyAA=I`9L<9G{6cfPR)49+TtsHg24} zGV1ad77PJl2ipNUO=0Ovx3MeBIjRw8iOZo^VG&{nn{Hma^-`bR!c>pLcH(k^oZ;t- zXA|3}y0oYNjn>-Zk$5i_!MF&{nWffX7e8P4??|pkeRc?$)lBThFlX7_VhRw1Ct& zj8T7c=XO)TNEz2-6@Ic*((F9AHaM)CClGeR)Xh0X-F1}Py&cbpoDN1Q%$QMGRn;bL z{O?&eBYEM z)*t%dt96u@A&q2dLz)66e?tg$vt=J*Fp3N*b>ka7ECN}119Sy1$EP!!5-hJ@0xy*I zx5G~kY>uz}!H6-p-CW9lW891FAxxnG176bwyH3%dwBiOHhtBi`@dSmJI|l@(N+1QM z=S7Iiu?qzNdYW^TgJpOhEp&NU8uB8eTDb5D*K##njr|1%5qKo~D$2jgpc53BI0&N> z)V4IdZpq>O?pmLM-LeAcB@$^IL=S^wIhC#ML%gUs2x>g*Pw_b0p<|N*;a0My&td!p z1f-9Zb%~vvoxR)6OJJ*dEpuJ{x~VD2SYG&BG~CG{{1fte+VLPjCGxW%4L~VJjkgwz zH+9$L`D3uz`^8%$=xk;62*R`M{h=w>uMhwduG@wLgsPc&5n)7;V!ys+ z8EN0*6#q>R?7LBu3t)2NCK@Q9gt%QE!(vlXl2L!*gxk`G<`Y9ZsJIC$H1Fcb=N0gH z<=S+`XsjzK8MgkQ-d%zB!^)?*x$yBXCnp0}?OA`%V7j`x;>vX6@+*S6mEh0lE09#L zSAK(AJ~8A&*q%gSIzmTdJ^xA6t318q*FO>cP3=h~=x673^k4KpnW39JXP}}Y@B53J2(1UG#S?P+M@|u@udi%=*8KlH# z`Wz6K!`@>np7(|WF@|fX^Tyu;gT{LtWz6Jqx`7qjc8z=i;&+SJ zi(y7DM-pRhYiY# z%7E_Vyl~vXz58u0t3!R^1^XEVrG%h?gxV}Up?i-Wr1LWs6`jeEoR3=Sin)wG85zlG z>z?@YVEAV|i72Aoz~$*-ovWAT_Y`ml1X3V^XJuvaz35-k1>#)mXzlnj;#8eGXB|}< zt55KZ=Rpq{GUNtDLqD``@XBNMQ85Fd51+LogQhs_>jr%i#lgbx_}wgVF|ivY7Gyt- zi4uzf?pY|iYyH=&O)ob2H$T>}q7YKia#mP+K?S*KlSev0He3RBy<@w@mK91rbospY z3G3#-WqNqv$-xUFY^N=GdHwqHap~p`i3z4^87;P-^6xxdoZ={KWS7Hv74Zska?z?z zot26!w|jX;uFJa@qCeJh@%RjzWBOwi^m4M-Z_bu4jO$F2)6;La#HbMcK0`O6RWJB@ z7*TI#x}XO>S`(kMwUfW`g#$Aawrq{8Z}c;WUHZzsY=xJye$y(yT_pOAR))q4o80Hz zUY1!BW%;dUsHxujD(CG1UzFFLi3pkDIHXP4aec@6w01uyuJzQz1c{^@^E=+B&G45v zdTdFZYQe9|#=<3wUWz-EL@kdtf~M5mkH%e!A*yMMSNf}0k5tlgch2*gw%6pqpK?iX zlosE+7IZ)xQ&;QChv@$Zs`tFM_sxy*n%>LE{PLU0kiEKSBr1~}`hD-gsq39_WvoGL zQA30Mt5trV`gPrFf5rx#F`cPwRoNUgO})zSP2@?OkMVnJC>-Byni_K)u6M3Kspvuzi@DWAeU1{Rj@47D1rY{q@`xlb!o@rk(hJ8_HDfOrgil@T?{T#=9o11Vdqx5>xRg-cn zi%~%;)m!aI&RAr<%8EY08Nz|>cAh` zdOaemXTeKD*McEZQhIAVyw;d^zk0x!!M;1)+)`Pwf2ph473q!ATYskNOlcQFM)jP# zA81ZpFlKt(qg$(vpR8A(h^=b-T=B-t>%M{I<>hP&uO}RGm7^-Tbt{d*`}3PyvK{(3 zoPImbalZQ!`H+^%ieIGayvgw4PdA>#L8Z-opo~ma!nFJq%2#sVk72s_9<`jCW_d#@ zLnH>=7`^;@R@G!b-@vQIUiVKbhZ*j78QlATuq757agtar?=&O1)Z1jsrcFgvK4IM~ z&{MJU{JJV;AIq)%&>lJWHuUtl%V6QYxxvMU=nvv^^;3$)M=uDUdp1{PI37MxXDNtPd=G=(&3k>{i)@y zVGkzG*^QPtXg{QjJQg1{MAiSr_$ChsPO$X_|o!rC*$kH z_lv51th(G(c|S+kyL+9gejbdHw9l-|Q_*uwKb+i2UPkrt=g43H0ss5P$8@6~K7M>= zUx`eq)+lBwTKPz154f06dolUGBGYdZmtL@cZS3047es|}#qo@H&GBfZlb(@fi4l_& zYRs-!hXKEO5V|!C&wt1EGs3NDccjPl?aP7Yo#B($klxdN$EydB@JY6KnEAf3Gy1Cni2* zz2wfcx3!b2hrbysd?S&DUgF@EqQfUAbzf8ce`8zR&mj^?JUZW3k!8r}tcznZsDF9d^M)*};I?=%JzP#mv8$&Yd!jcRxYOlvDHl zs%g81rj;o;)z6cadGZ*0DNf7hGnP9!!3(whSiF5q@{>}dh=8704&Y)RzkwD-Tl=WD z6PRFE1fc1HZe^!qIPX|x~A0LqEPdhgfB^GIS?dkSMFThXU&LLbKT~Z z^;KRsX-ta67i!w2pJ%3A4=PBju#bM>7&@o8!P&qgX!B)HrTt%v@87dncjo5RvzL5- zR2%0guh5QNb2YWBwx}uf=)UJSayOd~yVzCh_n%_Mpw_AQgj;;AQkyiL#L^ua)|19; zRo4E|S9A|xHCJ?R-1#R2}5iGO9Ct>4S6!> zd0<#K+n_C#bYe8Go437ID)DgkFL7@?((jb2J%0B7y1r)X`QI(IO6#uA%eaE^Uh3|y z-pMKBYQ7qA$h%uwddzCRYu@&o@n7a`hzatq@|;?H zDnb0WW=-s#OC@)znyTguy5^~Vb5-;8XA^&xHm7b2{qiuydu5vAZcEoZF=0u3JM)hQ zL+kp7GrouCtQPoG3%X5Poc?+1BAJra1I%Ue>diAINe`v(+-9BhW4}}7@Vx0Cwv-P| zNNJehRd2Rp<-tpS!R5~$`{-e?4djW`oJqdhL;OjEn@ zhAQK$|8fBwlB;SvJ^1pz(K~RvP?5bGUv#wNxs;cd`M+*lp1S8{>d+1sgML^#FSGvI z_9!H>XX&N5pU0vq8|VHx=cDAuSAAa6KS*q*eaYIVJ-_w6z0pG4+-%HpP0dJY;d2>0 zD30A}rTy7>#j{RPs#n{;#|VGqWd_GQv2meuLYe);@aatKxTq)#K>~b^ zAvU8G+#Z2KVMGA+i&TyrKR)l~Uy0XZ?j+7fWccE^BKsY~4UZzpZuXz5I{Jq^%|FNs z+pWfR)Wt~AR40;y0ULnf66m=YA*ItP=ce{m0WtcJ8hR%B#+!YTGpZ}5y5)6y zF=GAU=&AqU(*|N9p^4ITk`h%=0l)QXdX4uCV}pf@77gv?Q7v%}AL_}IBR;ynZctIB zwmWk2B<)V{v11&FFa{^GOGz)7Y zu)&x`)i6S;(iwhYU-KE@5*XxINJ#moPwU8pY{qG5))bNSO(4nvmv>Ns)mzl*9Bsm^i~Y~AAgGqdm{Jp`7%CHZS9!-d81BzB(z9nu-S}> z(?3;LyOW94Iqti(%=O=+{_Y-Lp2G}=?n-jh1l8klgxP zlnP{BJ=n+t%O-BT|BT##0jTE@ZoH6{)xdZlHR>i9YK6Rz1qiEzFuKVdWses2%&&u+ zR-oGmQw1*6+IJu7b--7FMg7l7P&1X3j-E1N#B{eU9-px+d;T+}_#c%@hi~nS%b+|S zWByGR&SYjyEPAAFu=E6ANXpvFLoPdzLF1LF7aU5EcmcFlSC3N3s=viF%cXbkm6#g` zD(12ru&JL*S*C2dpXo$U*TJBm z7~KF4Xf-cmu^z;W#IJW!7!`T ztm5LOPU&VZ>&$MPz62ox8>kI{jD8Y{rmYY zn|e=5%XXRa0BRDCDZ~34VsU1scl=sYpI*J}R{Rl+a=<%>IIjLjC(}XEFBl9m142A3 z7ZPMlh{TvbA7lvqab07hphi|@h{9L)rdym8>JjrMexRVlD9=5(+IaTtLyzo)vBiia z2;qxj2XqVBEO6S=(6S=$^OL|NYf4*Tmpb$%DB7&Hf7XPb{i+tJcEG}QuWL%@EIq%zUyR|!t0i6c z$w^%`AGUDe#?A{(rj{2f&v`w1r}D9@w@2(XUtyv=)M%mD`A>6AC1>yWdT_Dxxe$r4 zWu+~VZ_CRyB2pr9{MO;T)+7nIr|wsX+)cd ziIDO5%il?UD)aalL^VKAfVr-gJ~sW&%!6yn#zTY+dCJCF-f#g09L1wSSs3#AeE=*d zxbtbvsn@&8#6&ByKh}#Z&b@QD&f>0K;uZ(DZ3tp;{ieQo;O+mty;v3V zwd0<;s7p)dX&+4u#Xb+7>v|4aST+Vt4GpA^sfsEhx4pspVW^)4BwJ$cJbr(~mq4md z4l4c^(M=J=EBy4-3vv|LwCcK_5a4`#TlRMP8qR@n+ZIRrA~T-rHK&rq}D?1A5|R-lfx2Z*M)-9^G;-SR0&P9ey$FMTbgl zZDh$15XrCX;3_+Q%}sxqT`S}iFC->@hu=mPkk{`~`+obIdPT1s&@JunTPkW$sD#5+ zTN}4AFc$w=YV?s`+YYwun>y~u#9_is7y0G;gdZ7d$FS;|`|$SplY$5SvmBx)O8xgT zes4^r8;1V<^AaAmHu?Mh{HlbZ&%63&wZ&sau*Xmcp1=Nwj(dWv57+)VMdE&js8uR{ z%S^Dn6fnwX`p|y8%HuaK$9>SfUf{8QHOsi|qB!QCmmTUC48e)hDCXQbfq!^;hEfOv zY^;Dw*zY0nUtXjlbx>~NC2rWQTdf>wyv88ckvZ-jF^e3zUXho>1f9{77ja$Z9pplq zO;lA;`TaOzk=jQ!ksz1S{Ms)vV9#Wmaq})19W?R^NbV@|dr*#i1<%rzD_2$?&G_)} zq{4q6+DJ?!QBv33%FcU77UV%{pV>xpm<+(xkPAthe4ostpPD{AfAQkB?e}KS zXp@IJixEABj}PDQzP_3DPLCzgH?Dg<5#utw>YF`HqxxxvW&6kOZf`lHuiwj~-`{ts zYJo%kn2<*pQHLMHg#~a283Ty6m}pbVtt(eH;c6ma#8}8xK8Yk1Bq?c_A3O?1&6rBU zkP+L3jjM6Ql};IqdJ|21brj{+7M@956x&MW!sIb_ykqO~eC0t0B47ye+_(gDXmc7O zq@oA{v2gjuccGEVWb!7LwS(Np_qd_35gHnH7uN)g`QaZ675F5X zxbZN+1mlky<#O zvr$ z=5%0IhWvkzQvS*OsBN5(IgQv|_^$m3Y>#(4!#9Z%j+@veaB6x_9I>FlZj{Q*88g(I zx`pN?hnt;-D##oXr;`4Lv~7RKzc2yKXfqzkjrY{k2gWP0bm})?K$q`2)SKVkasngm zciHfs@zu<~$Q}D8tO5u9x63jilcfuDOSa# zxdS~JC|*uXjNY?Y*%@`i$}4uWnSu!JGg}Y$Ij6(5&(L$~XLLDUEp+#7P6igD#n_4H zdSA%N^buC&z%-aTMIBGB*naQu;Q=LqW_g{n?s+?!zS;lJGRwHh@r9A&hfR}T4OX+x z#7m1|$EieWUClrG1wV-t3vc29ar~&-H@CZ$k{|iqg_(c#SrJMg)fS-|{<|;C-z_zr zXk1>ayT@I_oneBsxKElt@AucUT~@J6dj9IpLy~i`lWzz41M*r%pLnN)zj*149vgNn zIJm<$U-?_S<;#2Yde+Oht>4T{sA*HvnUOpGd8f`h*v@LIs<5-|6EJQ0;}3P{9?{kV z8<{3q-`>dr38D!rLOl5gMu&rj)Ic-_g3GtZvraSA>a=NKK zD`0{RKVxgzovz_UV$0Hxeth>fuy|0*^#7d`Rc~v@bxZr-1*;13pZagz@qcvC_z4-B zH_Qvn0?#wj$1@o=2=7_Dpx?tMPXy0S6@5t7Ovz*wo)#5_q^!^$k)TaQQm&Kqt=aPi znY1HocbFwfw6**F_lH^depfTIv*-SKF1RA8e`yv=i0(aq9)7nB0;GqB$Cu}cyHZB! z>XL);{qpf6M}9E7aq!FsszeiRT3IjnDdk+unWTjv7Zgo5%D;M_pP>x_KoxmNC9a-S z52{}wevqTDKEBygFZr3YcTyi|!;Q~7yXHEbZEsPK{HHef9m$ftd2@;ihUuA|<|T_4 zeN>k_k1VOfgk3V*dWaYfb0jc7xhq%%AM7NaEYn-1Y-+^fM#FMQEzBpsajXAkb540R zNH#M$ji?Bj$T~M21%;DqP9%_tZlLJ0WsCpj#1>1Ex-6ysY*-TWQ8dPVOrt3K6eKUL z!rndA?#YKuHW$j)$UlE8rtx1T(S6qEE9z z!`#HkAo1E>BYgfQdT8kDD{LTw9)51gY3`o=y}2jOMhW}snMKvE@}+OP?y~x)XlR+n z7890DkWSgA6nGX5N=dnpDIC1MGL`}lL8n0v2h*>m4_X{-gDxx?U7h<;KOFLngdzF_ zp4;9|??giQ5dMzuM?R>msuCLs%fYboI^eRfh+i-)jpxi6x*#Mk-f#W9dA&5=F9kOR z|Gs+Nec@FZf4dX&hwEPKpX1u{B>2r&_F46lHn^f7`ZioJce-u${q ziNugzJ$pW8{oZmsjjlME$iT>BR^)ae~zkaP+Xi7RZ#Mp7!?YWgU`A=6XreH_mL`>O=Z{c)diUxjCTfS*23bk<&@5bVyE}zjCEt>f54?8H z(xr!pyb?m_b$jjJUNEK581rxKks;>>^#SLvT6TV5K+kW_^p6a*|F^UW#75cDQWVTQ z+LY}Ne`8z2he*|FD)``c*D(d4ROSF=>zN_eqgOABWQRkPn=X^gxAqYynCCM7_kR*s z`|dXyA+^sY4U_BBx^P5`ZeI$w_KeSPOJ9{3uH;AGaKmEkXMb_qZMWO~r~%kVB`5DH>mHg={9Ev{rlMRH=tX=Md`C?d7coh%CftMv_xXrU9M3k9AAGoFKWDDFvW4gD>eWz( zqf(~gY&RbxP6s|JE)IQAo>)1fu#ejU%OsNS4zG9>pUTdFWqHd)l}i0IGf!izd}|lEm5uNf4|`IdTIhgiz1oM%wThxqyC(*R)^q#fE!oJCYpNk zwENV!@%^?mt8MvE+k=yhrewxCOrwGcD4@p9MDGT9_j)K@rQ3O7`@}Ds=S_ z`LOJz`dwA?1YbW0FE-6c8s{ESvC({YUoUl2f|XYU|NX{#>h2>xE`zK-o%RYFBPKF` z=^zTrW<9LQJxY-<7FvRgOvK5PD=jQ?)`f(IHZsfCSef|AwTyU;I!4}z5KR{xWk5n# zEi#H(bX#s}S_EA1o1@2!S&_J^tEd957I0vW|DYHXW%3-WMCrG3$7PZ{T$64GT~hb^4*CIGv=`0-gS(Bb=hW`jZK+& zWS{eKaj4h?K#`5P{^~^du#F+B#x90#zxMOAgV`UnCr^%jJ6-(Htj+M%RC^D2EOqd8 z-?bISF7;L8magy_?e)9ODfyjSL0`w>_|V5^kDRX!^$WhDJ@CP}kmhQeWaaw0lllgy zisBTOjkz9kc>OF7-|Kb=Ows>{_w4!O%j@iyn~^MG;c0s0k=?g`Q+e#~7H!AO)3oT- zt6TQDvbajT>YPm83M0n+d``E1hTw-BZwAMx>qxVf{-XTH@_EVP#dkg9p>&+Yxz#J; zuSa&+U-}+-*5TC$h)}SS{ep31xNub~{(=7wm7JS>hiErILiP)$ScL72_4u7BLp3$8 zVu9=KM>7@t$c~Zyw;#{&qc0FJMoH2&Yo3m3c{bVe=Qrd$)@J0swy$My**Ft=eZwTI z;8reOs!7>)V>0D@DsYAzfBsXREuOgCI~KHIxwWrG z=JdRnexh5Nd1dI?2X`O4iDRQKnCP~$h;EOQelF703imTt9st|X$#b(|;H=?uX3ut9 zZ@9L^qBwpyTZtFenqq=RvnFWeEZkaI-!_w>GwHgCegC9w?e*o$sMl|5*B@S9^3%$B z*s@(s9&)3$O?G_MyrVHCqwDjcHn-2Y+p1R0lB-{(;P1B8>%=Y#!a%*fe*+AF?i2vX z9-0N0@hK{zzd54vC%PEUTD$f_TwE01RSkx_BQZ4 zT<+CYR`>;@!^+$l64HPDC<(Ff^-oUdPFed@*-&`XZ2y4Eo`}{=75$LgINrL@iLMEx z6lE_y^0K7hjDcVUSL?eQglN(*hTY0U;sh)O>xL*M*m}{cc|JF8{LV>$BD2#VuXnFr zzk0<}O|&?2ueUJEDu>~50|qK-sAxJw-A(}MK+3AJyIIBg1w%!o)jPlBf*|tSy}PEm zy5L+`D#SUctMkG}&I`|c^;lmzsz z4{nVLd4vapp}=gD6IEa)y5fdQ8D|(y%^i9J(Ll=^BHU0}4g39u(PHA_rI3p0q!7?K zedG=Bq%dCB_G(FHHwX(`j!oBVE_x|t5pMbzt|!9HynF?u2RUO-ITpX;gVrOo3O#mg z3T8Rb06|M+4){qRtV{E3u7eF_`iDtK;-!Dhnwrm_+n|GD(@w#QdIinI6oZ$kT3FxR$op}91$Q3)OxAy%Eb0&G5PRZIRquF}nfuF>*&XN1( zdi1^K7#2R_mt9lm#>k>>d9K5|d1w!8G=39s=8(p^ihiAwu1Q(jMha~PA+uLYJ^<3 z2-g}>ueudNx8Tj0pC2qyhsd6#aWtZ>+DN!Hv$oFZjh7|S~HCFo-(Cts(rTL59H{DMm=9;@?;sk zTpqZxq{BLGH&y`sav*~!TKnp>Y1Y9#ZTa=N@0-lUuXVH#kIL(1VT@b3!n@@|qVgoWTw4C6_~fJb@uuHq_9}YzI5;agZIuN93{qh!XznC%2vc%KMmLc~j~OPxKaauO2=9 zf)NE^ND8U=3ws#aSjfx)jclo0SpF6J0N>*^8mw}jh);OGe(l;+o?n*!-vY=g*SWDv zMlV>9hy2qJdg`=vMm`v1<5M@}nqi>$$8@;wpsF5^<1ML=9VyCqRXD(M#N=V}Ni)dy zJOS<~8{O@Lbz!6(&}%V%#jdxAo?4U1uGFf_PX@iu!7U9f?86jj+jHAIdkphd^4mXT zij)*Z`5QJRM6(emUJD@>P(>L&6&%+Jx(*6}`>ybo*((M9?Pli*n|53B`7tBg&na5! zw0(h$tn8gN>YL**H-G+I`oy$|dDo}|4If56 z*xMEx+AKFj(mUjl+_CklFBk9FIQw5N!0=Wjr&rY#Lq;^VUtYX&%(UmllV%o`T-w*M z@x0sH4|~V;Z9OEXqZ9X_;`Zl32NQ33CLEBcvvGUV{7O5u(a5~f|5fTk87-H^F0rkK z8zR4-ns-Ac+;pCpV_w0S(wc{!Vks8sc!=1a#XQsA&Ms3<6@LoY`f%eT)rd#v(I3LS zjk9y#j?wd!*rGJXHk+cEr1hkCocTIgCo;3bkD9lB2K>?k=hG)Su6rtvcsts)9vH zAJ@K5Aqc!Hmt}bK_C0%y#F?oTf(@>%DDZ`%!71P4S+7R*e(rE4+Pmw~!tnbe*7jKX znJyJO0#0Xqlte?i+oUXtwYauUrsC?3BR?ZTD`VbP;XdQr)#HlG&Wi(k6tx-rmYQ#* zTO?lF?3oT%&N5+q-MKui`z_x)_8lZCIh3Lzh+pXOLb`=nXd#sBjQS^2xKIL$@#Wr| zH}WS2>zzD#{J75Ar{@`$+*J}A&}4bZ)P)?pQjG}BLFv_Plt>9_%{66l&)&3ZL}Y}O z8B054t#$ce)mF8>$sss?W8aH5N4lw<>|eQB48=PoLqXIB=5LGM_RTfuBctABRR$3{JEs`5F=oyCqJIftk zBj(?qcrKNel_g=M*8w49i?VZ9KvY8SIkwAw_~SpvMzs}AfN=iuKx)jKX%=2}u&VgU z*40|BAEKRTdG5Wni&tDMZolN#JGVow3gwS>mBvjhDiA&K+TTNzwZ8H2&Es>NmS)>3 zOn-9Ox2r=)vx$79mF0C?>lI#+>qo6_TyS)Gilet^*qNvJ*}aoyr*wJv!I0Cgum?hrbr^Uo~b z(lGrKcJ7d3EVJMT82GGMfdxL@o_VhOqH@4MU=AJZT^GVrqUDd`cMLZc}7NPq< z*+Yp}jun~B1}|Ax;4~QA0K*$(~-EXqr=V*F(C#I+_))V$+ zKVGkn)l~N`T?Dlys)w^ZY|J(1Fcb%BN499#W=*|o8ex@M%`S#0<17Dxo($&Z=Jpfm zKQ*%afB_gV4|{n9qaG`9LeRl&cZx3~+UfY|8J=QAbz zLrI#bsTtc8w~e#M)s@iaJqZb4>7+$Vb{lu{-BEIqch*o-oXz;)4=ZE8tY*(s`${k~ z>sO<{AW|FX5=@8YYOt*AOHge{Plm_%Yr_0heZZ!-say6*Z2H~mKItvu4wP8Hb(FP* zRfgrwYd@{-J$;0q1SJXkClx*=#uj98vVEoJ95^ZCj!g>LgV`92z;K8jd1timZ?r}5 zxL2!3@bavpq-V;DDV4!;F&CMebY+}q;>1CBcJZ0-$_3poH1)abH&#xm_016LjSY7l z?@lpDxzcj1ZE|%@mGt#uwKMmx9agvcG;G%M5?#krBSr=|FX?BPKKRG4lcz)WOs&{_ z>{^Rc<`JUKM86enqD>*@E-11(k0^3@No@~uqr7*Yl3SfH;Mw0(v4(ml#3GY zXTLnl#lhQe@tir2g<_8Fa9j#I8vFN!bJ_smn7bH8?+Ek2H-V8Zr4X!;SKA>q9dTAR zd5{)WbMXH@xBijxB zr+2O`W;t=5j^93)8rIMRS6lFHY(LVVltr63SX*bx>iSF69dC198TjMW%q^UK0@WaD z>Mm=~0d5xna3MQOjkO3rdh|lu7amtUzQlW}B{4|=KSDV4x5l*a=$e>CW{VcRudThw z^=vG#5EF4OK|Xs8&QY&$4KH`B_ZP(;*Y`!j9PIeL)tWVo1CO%r*TQ);nL=&+p%S8QD*OD+=^a^{ePiC-u_dA zI)NTsL5Ybn+1H?h%~B`ZLM(-Du(;wwnFBKQ-nwmPfEs9I5 zS35j0WLc^Nu7iW#?D*E5W$DS5hBKmys;c9IEm68fU>)5trJxWwdQ?{L%K*!Oz+IEY{ zKev2zC^1&8;8kpEK3~(C^st~}BhdYLZm&mx)t!e8f1Mj&&qoN~wkI&~IXbfXPYP{5 zcV!*=r`b&KE_WKds7b#j;$)6b!ZX>1J59P_*)f`r7`0O=V%9=uo|B^*mOW6c3q%%X zbQ8ASZe8Sf@s`Y+_6bp3dLCnb66-wQE2RYPFgYolI)xD=V7lYEA%+hDFqlwbj3Xx6 z{Aq;YLo{)B=3Q?1`c|P^M~~<=JC-K(j<9O%W|HDjT{xmq7i5|bTu^0hn{`lU<^xOf zP4miKgC4mC7P{-4NJ?^LI*CUNt}-c!Zoa+v@dZ{ga1pLpGhh{(6^xn6%-HDbg>Sz>-u(jS~E!-(3u+ z7T;7c%k4HcLm$eFdV#JVow}V>{_Ht(@Uz>|I}Jlg-uB_y8_L zp(AWwJa_Isd?V(>1Yh#)aIAH5NCaM<3%Wv^#rk-3=;$d^j+t#UPI$sgLpbm^dqZd$ zbr2HpprFQv2D`LM8aDdyYpgUpwY!e)EE?2%#j&GD9ZdR3NCZblau*n^VQ4G#!-G^G zY}vfo&Rfi2;P_fkFaSJMW|vadK|EqJV>_?9^;mnQ@)D)I#|<1dTvA8+GPQs?z%WueqwThv`MX_jZP}Rvr0t=B3&bzu*$} zw7gF`@t4k??e@mZWk@a#v-GQ+7^`QP8EiirCQ(R^%CnxpjgHakwW0A4O?&zuI<$}s zdHiRo>4hYs{EInt_J)BeDeeXanVgH@Aa~1L!l%V^&`ovgRrNi8t=*l6H?Hiyx?MCO zDrRDJ=Ymj)56hM>Uy0^sXfO6pNb7f^dQnR=2bhYCZ%Bm2X=-3{V}k}y zE~KHG?~aU?UTTAb1DuPoqecOUX*4{hd&2FE5jk|p0b*U)DY?WsR+1M(CuV=BV=H+X zy&SiXw;6ArKc6&ioHHU>NE7gNu0zRryNB^Qg}JrWsGBZjJJZv>o&4pi+AnT+eWEQo z;5UTaz2>D2M{VyfuV|e4HR0xhaqhCuAk0;UFJ)P&?dp>ZwU#n$=-5C>8{OVN6b%Kx zO}OmU6$*1=uB88N8a1Lq7^c7HVP$TJl$*#^w5@WovfX+~XAV9~eBkbZH`2+-0`gpz z_uf!n!NZl#iw;Y*Hhse9X-~Bubov}&)iQU8cLS+Uhx!!Fp>kILC0meUBPJN#m{8$;E)5$v1?Z}YeUI%-@R-laUecgwmf&{Y zb@zu7kBY*&%AiN%G+Yl#aRIrc#YIJ@eT4o{UtN8Xmzc3?RNQFSr^-stH9i+*m$?9c zAw3a}ErjYpBhtV1zYrCbNqK~IWQn;`^y$-gThl^OrUU1feL;HLq0N_1?a*xD;h}AJ zj7KFR;teo{o3Bv!^jUG=BZ|Wa^bNma^=BMin^In39%`^?BVBLJ^1vu1nImR<96Ta+ z6wCj>IcU0=&=j(xLl+ieErFOOOq_V`?AbdD+RvU}qaUd?DC)q=Xpli5~R=wOY|4n|Ebp9s8d;e{!77y*#6fh0-u>9kE_O|E<0K2Qikv zp(@}RAGIKX^^&!!Bi0fpo?K-eUAva<-PTfne2}iazhQLZf^n+Oq}|YvZa?95h4BI& z6Bf}X@Esl9PeXmQ3ENX(u&un|krLr4JuB zNG%(+{G|K5>xQBUwPR(I9{Uw62Wc3t|0l%@ z$>Jt_eQU-tULxPhO8ZL1H!O4H;T1fY7-5QuyjmI}CcBqJ|5am$oi{eyO*fY^-HJc9^ zzv>>(arM=8K_EOruC=mUA93+1*a6YZmDN5fEtPwGB03lIQ(RX-3+9XY>UY_nORw4S zk?E}B8Ae8#H(o^nSTRq=e8t5NwK=D06^5vcPw?RTMI8cf8TUVp2Z}c~eV9WFMpDJQ z{s$%0ag4)?`&MJgiaZSqDJZE&e7Hr>n9i(;(EsJ|JEYGOBk9iSQ#S<22vZN>XiTVJ zKzp@RpQ~_88{b;vziQUXm2W}cr;Xl%?IDw+<*`e0%+(LgT4HYg_`*|if%9GedXcN7 zr}yU3qdhXJa?;W`7Ag|*@!REDQIUABUVc~J@Ib}+s1nAYqph9Fw1*-Zh>$ZL)Cbza znIRVVpgHE*#4e#*T;3?Z5)Mn(LsXMV&KF^+ zoF&L(@F~0OHCo)0jxfPAaTR(Xwgh%oN?+NL57+k|k|vX7xp;Ia{704w2jXhR7`T=3 zd%d#Hm?(4GreMklzXUQmGneIF_Cw|n;6}2!42Ca!Mj!3~1`j|yRj2aGT;Aof`@O-x z@<&xcIhH(b(a(kppD;Z!v7eO&w}<$Nu5CTMD|2Mvf;_w~1h1}B8&fowM717_2?Y>5 z9&!T5gVy-*iC3af8}c=vGx-7vqpV-uB)0E<3FZXK~g>OdZEPFdJR` z>Q(%b(Gg*z;G9E!il|;DRav_%+v!Gnx_sr*!iR;0i)>|&r09_c=)HrY94_5et$BwJ z9C*U+%$(TLa!5|$Q>rHv0DS@=3JjK)9~(Lc&`${b8?4#8r9q%NvMT5Z2p%WaNux^| zgQgwVJ6IgX=$i(8N7FC18Pw++HjGXB0eKZMy}63i8W8zGo0(5vzkVGEh^SIZ1^@(3 zrYQNn5`{q8g69)x3^R(D(`_FrDvV~%Owt~`ttuatx+`}1+@t)Tr5!|m!BVm_>fEL) z9uoiX7-(EVY-7qR07q!?W5dLI%yYmst&3J3ZBq z_-&zN;Qz77Nk>(s^qCzkL|=TK8=H`@VEcA;d@tEHcX zADV?;t8>95_m-n67zObedx(TZIt(Mo$=Lt$%FO6{f4#v(y67-zeCV}4pG{|Hp!m5Q z6Ej^=0_HsP#`#AlI5L!@n^-z-#ArOzQ7_VLutV9LQDAu1HN~RO(tDD7x(qEOBv1Os zqx^gqgcL8cM@3Y5XHto9!h}0HJO{Nf)L+U-oVo_|94Q!(iK4DN!DX!5fde%;gxMgb z&Bg3!&5UB}3pFX|91hh@?{HGJ^D<+1b24kmSt$;Zl zU)tZF898Fa0*h@GjcU&Ij}$cwXMGM)IHw;ez2 z=pMOSy~}50YU#gQoEWunID^h0z)N0Vy7lhv-T;jkFI_t8{{?slOzYg+DLk^JoRI+I z?+Qgr7cVaV`c)rsA!8V_HsCxYFqr1vOi-9Le&2I)cG_<2s#D_JMlksouX95fnV`kT;LO(h3e(&mhMNQrcJfu!(@Vd0O@QqXU_5xR z208{ao2Qb06 zoseI)P_R^FBy_sKXN&|G88HzCB0)tN6B|2QDP%puFRs$J`rXZ*M1?*^g?qJm2sA*) z?=9+S@rgS%=YQ+$ZhiC}wB_h+z6Cf_ky2-0Qipq$Nx8&5rZ%WYp?k|Ppru&uZh4Nv z?MqFK?7)GIte)|3X+@=Y708@jCz+1RUBPHGHL*Zt>1NVp=(}m}H#MZ;HrU0Fm#hH?a8mL33f5a<59X zThw)v7JQ|Qo)^%Plb46bzqP4pIBarud8mID7O(JwyC^xs8_c%&>qlh_TKKi)*0H9*epE@!xtN99 zZZV{;q3(abDTV96@_U`)dM-4ySiluCrI&qm+G}r8HZc`Ux8GvXOFK;j9S08{{91Cc z6a~!Z%1Q*=7K;~S2}U{W%7(E(uenQI4UEzl(W=dx8^{oxI`Rn=qSr|2_~;NxQ41S? ztn>e!sMhrh9ILa&$FAWq&r`tk1%#X#57Tfrmc!sa-M>8NL<47LUEX`}z?tkpwU)=` zW@b~}<&!@>jV)s8(<4m(Jk0_eVA;$m+S&wwh2^B|yBZbN16Gif(%7qU%Q#27AIvYb+4G1DYuUVxYE1c%^&fCqy6(zf1RiqX&`^nhI8 zYjBx=fcbPl8Yz%TLgkA#*~Nf5WXla1*msOSw4IABQ7icTEs8BQy&p| z4zH^|mB&()V~=f1b|@^hUsKtnKK^Oj(w7Eei4#h~X10#EJ)U(tMp@coPC(VXDW(#? zBd#7hJxXLWGhkjnspB^nXMcY6BeUUc!e6c7mQFVDK29;~P3Oe6$IcAN$UZlvpg^?j zY`50FQ*wRYb}I37kJ>Rgcbv#BcT(@P$yJ);BIao^dP4$WP*%&ajyOqdkd@#kNViO^ z)=EFhbr_JKTbzI`G<%Mb3*iQQdXa>R-V*{Qb^A0s4zMYV;Y!X35_*>ydzwx_l~Z?} zidyy4#!^{pz+C6p9K3Lk=Cq&nrYW0NvjFkG%APlfO!)nOd-6eVvd;~E@JTLyI`;6i zPDUx9gy_3#oUv57CY)$;S}3vLtc)cxVY1H(c0kH2H=Pp{c*K<}7R|lBwJP6tvdiJD z9-BmcRV2hHGq0YY*I7GqL4Z zpp@Y97%Us-F|?-KD?Rv`?&^Mq zHQ%}qH9W8Rvl(qtLZ^cdcIj=PZ&R}s(n(I#k5!@JC7)!ef=!>SowOJ{2fnu-x$C^4 zQ;I$(*)mhi-;h~Xqpx$>!TTTUL8haQ1m}JH)!dvm-seBkc8jxss2R8A{&oELI%ns+ z^6!l0dN^5kwEqInN_X3r!CfvT2cZ#hI`j=LiM7PyEl6$h2acaKNqWW&yZH;7v$`y7 z7j3?0_UHR$Tzk1M#ce;>J=e^k2-XKfBtb>lbbhIPP;J$s1M9v$%rg$wR;RJ@JajR!(z%2pM|U9{Gk z>*QV|2dwz?X|RMuheKM9X$G=si{RGn^rwX4+z2{Gw*Y4Lm5eJTW#zy=qjLuT_!C!m zNA_tf$S{8DPyzGw6F%yHP!RJFo()iJy^|Ssk0cxAbJQG?vZfTaPFd{aUoGg_vW6Z~ z#%5`9Q9_onFi@FhQP>9C_paKloYg&N9530FPM?VuR{mVpBfqGiBaw=K1V9Z!YOaQL zW(TTl?cslUT*tjGC+C^D%Hy0@>eEV?p4scnTeG&ypmA3CVOv3zW${p0@^Dr+^pgu@Tz|)ORN~-5}@GSH=rU+BJ zZfDg*0X*#1-;g~WrO5cI)&2L~r*`s-RazmJ6n9lj!lSFi#f?gl+eT_>0ZSEHrl9&u zaX(L;2%Ei9HvHmmo=Q%>oy}W>#LE3QXfA4OG@M2&m2@o1lsjudQbu$T$X1pj0X~!v z(HY7(_$*((4ZlN>=W|JiUuXENv`rnjJL#0Jn<&cvOS)|7G_~VLj|w4=hUdv0O~EoH ze8hm^N=lN3WZ&RN3I*&X?cm4bpX=K9@R^HCN)Y4jkWi;CSU!M+X~h<_v1`rEWpf6y zzG&15S~4s(nD~hd6ioH0_4xHGsezCJVC6MNHdPhun%vx+QBvE-g9hl@hSyLR-FSd0 z39$*?!uBM1P6%B(P}nq$#@{75nUe2wK!aH2w^!onFAx?rKaYOppE9Q9fWP&PYuB_; zAZmYMzFkXI7Z)GTEhrgw>5&k9N?j?q8g<^l}p%Z42V*^`o3r?r0 zLJZ7i#ntx8+56od6@^RLYteAT*jglhdYhrIqSEUKRIBP7xYD2&g|k)+Qx5S?srRtu zz~6iITMbeL_`L&Ltm;;Hm1>h*Bc%OZYISPk?c2)ceww4 zPRu4)bQolwQN7wFBz}T3k+v%NR!>>Kei9D&+1-CRFiFR9WqVVR0?%7(48ydW04%PP z2AhuiqgN5#An-wAbljjDA^OW#7s+-g8DFGmRxZ!oX9={FBK$o#cAwEHSPzDMtI~JayyrILr zMuW$ye~Ez;zNsgV>3PAlW#Sb;Bl)@pmC_?V?j24OLXFM|41QA3 zAqb#qKgRnat>@aZ7cDElx9p_9{De%BosTpL&-&bnImUhQFQKEP)3dz0cU?r+yx_{E zU#-R*nial$R8$af2y!B^E)!N{58iz&mXaO;2dII>cciBrxHnT%=M0zBJGnr?JiABX zt}~xUO|lQFeY9`Q{=Wsx9zB@n2EU8Z-DET1gD^#8kQo)#Vdn~acMY2XbJd}n-?({m zOz30g&VUrc01amn^sbl5YAoY{XRynp6^jmOt#zgeR%vcJRybe)f~vju%7uKZLAV&! zYRDRZNnl}Me|YpG^mP0!h14zRFUSG#w0H@j$j7H0;3qTFpz07mruk(15)+e5+0UQe zRyP`(9Y*q7Z45~ST^*e2LSrV8bkJIHx*USh$xH*YhNRxS=_+HI=81AtbdP?pxOkvP z#a^RR1d+-PWUj)ce~ZePzsNnFyrt$aX{s>u*_EL}*8-|1-6>yQ&@MG!V%XnW$%YFb zDk}?Rc2ymo&VEz#`eqaTE|XY?<+ndZTnW5e#(uA|;@Uh|maA9Oj0VYSj@HwYzlQA~ zWOaE6tZ*&WBR*kD)XCQx#UlTVXFL0R!jB~dCpS(y4x~vrK>#KSLgCZ z@z@>Ym2O&YIrVJV8^j7D77SY-w5J3n2J3_)7hk^o;jX|4Sr7gUM3<=-ZA^Mtv~#Ut zU|85Q@yLI-2icqt;@QDVkE+@1#9Es|!%gQ6r(*Ok!S}!_otuv>+^Pe%6A*x@vw6}9i+9NCQVP*$0t`>M!WJfLuf8_6Y=m9z8V_^_w=4UWog8~OhrVmo?{WW|BgQPNMCcoSJ-6Xk>{uwTA{yQ*=c3& zHC3!Yx^G+vx0~*fWkRs+z=4 zPb><=d}H_IkbJx@Out{8aWS{sJn;BDy;V|TMIoxu3};}r3mai~KmbDu_Ocsx_ghM_0ZGlmCL(*|*)wM{$)D?W@IjH} z_qF$Qtb5MsRCOYPJy;9$3hoKGYsiapo&KpB^XL8|gEY_$^Y?VeA|-g2m5)mp&wY2( zk)CrQJzY;jqX@YOoHZODh?fmy$^p>chP?yPd4D zTIIK4(4a7OaGLb-%h{st1fwKPur{9!qxX$ZyBB~4qeocqHuwG$kBSco-_kO|ZTt52 zw1Ay|pF$q;OjbyM`E~AKr!+}aLCha&YEd9scZzOL4V!dGfO6^r+o}2g7Fb4SoFZZN zq+XYXRJx_MqJVEF{}bZ3kC)Z(t;+pjf5yGNUut_p$G?j^7G6Tn{~RFxe=TVKudM|B zU;RRLMuV>4^qp0Xi5qXe>aB2yaZ?gn7DAmN2*}pj+CYpk4mK>iRto{7FTj10Up*@+ zxyC~XCaXDqyd&5dXD?J5G0~#fWH{v_zt;Kfb_^ z&@pnqv3yBSKjFRviJb&-(>g+h-rA6(q>jYt~R8@J6mV7VXYD;wJ&ik}tzq z3{Ms=Jml{`9X1euV)K?Qyf$Jqid25#ahVI>fzSc1ljP1=6J?Bf(yuwcJ(2xEQW&uT z{RQRXgc+aV)2`QBC3MaQFn`$3P+#E`J$rWj^5vgwhLDTiou^U*s(n!AV)}hO*BE{Q z1#%H5Htzvutp#|!PkC1F8|cZ1Iv%_Oka6&E(HR=k#Kc2y_UQy^al&8t;9gW*41TQY zv>FJ9=Emm57^DPTH=t&|&=CV#BoJIgYbepkvnnGk zO-+Fv9ruHSR?;{^fa`DdK!+>PM`{+uF4;8cI59njvuIcU&UNE@lDs^@4L&Nb#OKS( zPi2~(k`nRd7X91ih{{=vN_eZ*WDXFsMH7!^1b~D)k40u`EG|NI#pYGKtMG7miX>$T zB-20PvDbMa{`LHGFdZ?oIrYLS&4U<<%{5Q=2&@(hw3s9oy;?zD6r~S9=bV_w+1Y|l zW_?yp?S(ZStTq}U2+qk0sx9ZN|FN6O*PpjwK?3ZGOhCOS3SdFKNO4`mdlvH=*t4sK+2cac_P98kc?vACRQivcUS@2qY~$c0 zcz<@jp9RrRAhkccG(_aLTgX6?m?vrYbk|x{kESn?CrbZ zd*jmspbA%3R0wHfGiP?cGe32=#40Xh-fjJt zMB&q?o8dE(x+lE!Q95i4ptw1(_<$e9Rx(~hvNC0J6=5EO>L&bF89VlDamry%evuIw zn}(BO7I6+3Q?&@}^cV5BZdt@G*;-xa^ZB)?&mEHvU2iXYy4>?_Ti<7AF8vno(xa2_ z7}2qa74hz0H=g*o#j^BT?&Js3ztYELZyNj{^-{tBpI?DiKPR3dl_|YBH+Y~+|FG#; zY})M+tTwM036TkA!oS?1Qh<}R!I7%2NQmZ=7}X(oga^)y4<&^Rr~k)4uG_KxRFA!S TL3jT+k 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]i1cn`)vBNJ(-MA6iFr(KE2WKxL6ACJP7Lb@% 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�Hk>Lly7IKT&*^1< zV$`@KKq~_^ldl;J5HYU+5qA8MznR++M4p8-7c6XRBlegs6TL|;|GQyyUY#Zl9~%A_ z{ZZ^OCCSE+qp}JAZ~^MmC2~LN>aJ`GRUOCob}q=zO(yA$KD5pICI;LhHMQBsCBJ}% z^sfFMI^n*gAxX=EeGN+qc{ecl^f|}AnxGMsbbjyQV0zA5H}nL3Q}Qs??rO_lQ8~4I zr!`T$jc(@L0oF|bn}#^3=NSb4yE8%!dSp}a>N@V&g5)5Fu4lQqxp2Q>+SGEmuUsX` zGit4GTHWfhB0|4RaSFXtTLlg%^e)P+QtuKsPF6*S*t@Y-jIlhe ztf*LR4s?eOHZiu4Obl4I226fTv`}bBTmhu_86b5?iJr8$8=-P}6^^~qi6&c9bv1&t z&xPkJ?vwTof1b4|0#osrC-LsNvSmq$hJe*nyk_p%iErm-q}>0hifm%iK6!A%pAPGl zYnjZ_QCvXVw_P99zd}^V_ZfXZ#9-V2EtRgd@EJ0FgrmTNg6!;Kds8ut_3H;Xc_mkV z()I6lh;t3X?>hfre?vbynQReI9e62e7&|Bq;&RW~Cn~Z<#ks<#Nkbm6(UIO|3zTK% zlgNk3F5h-w9mACTz$FyxS6(Y-3K*c++J@o$K{cT1NLQ}JY0r3-AM`%w!1tr5XO)7b z>Yrbh7nKr?75AL1tVsOMH)z6{*M%A=h&Pd)LUw)M*JEqniQK`FN$N3>8uyIb{e~9t z)Bn@R;5)>f$X0ulf!}sicC#L8k^kyB0NmP>1&$>kZ@yg>hs*JLX?Kq8dA9#>V*Fh8&^NUy` zqGw-U!Gyrjmj$}JCc)NHUgpsJkjHujMgC!^02&4%Zf)gUX{{N^TAG``fv>18HNCSQ zG=&B=x=3o`#RblMjnHzXaQ{aVN34L0?Fok@Hm;DL)^TOwDYDmTI%|ixGPc0(%3@%1 z`tJUY$AY28!8sDuQeWL?TjbyOym{}+ReSUG|L@^WbDS8JnKkI&S1@Vu_R~qUqXrZD z&Qag+V|sOn+FFPP8x%ZaK-!?pg)|%Fb{a@uIfj%NY3^ccG!h$xZw|Sybn~}8-~E%_ za@Tfc&~~1o%=vS;;Xy&WijdDqhH4_wS7<#yJbNa-3cT$t0_i~aOEhm4&d%;}?ZV5n znuk#^)_i zgo{Gk$LKg&R(T}!a&%6?vcgYqb(QTB{WzKr6ON+3Q}D9mjp$p&$@HR`-qtz%-16~l9Sg2mSCc(}tz>GEsS1A8ZJ^7T#^{hbuCmE0R2 z^jBN*Y7mZ2CUOYgHpX57N|>5F&VF%z=e@C)4 zpQoG(M|;ReI2Fm$E@nrjE-5Dte+B~ymN_57PK*K=iKRfGx+A2qqljH-Yi&i{j6|rg zd02oRF~VogJiG1GvzL8$#ny}-Tst>k$YoZ>1aaX|?!^B2iJ^IZs^^i>^TiFwqr(F7 z1Yy160|N}e7~U#K9SugD+G7?8d3KZIP#3A$9C#Fyko(_7#Q#fN^xq|fPM_sfwHL-} zX5dN+BjhV2AD#bb*s|~3=eg-4zx(7GzFsQfBrlxYr(;_5h zrey2pO?%g_Vr6&fgTGfEJN@BU?3*^Zpg-|xq|j7j_#&y;is4$i$yvV7P~0@Zzg;B^ ziplav_CgF%hDUs_AK8V?QYm!srecj+NSX}U5j-A>GF{->_aR#hrduf0N4*W-+*u0c z#Vox(XE>PMSEz0r*9vl*U(&$o;P^Y1*$V=v#C^wL?rTdJ=*+sXWSgzw#6urfi;cSP zIW`bTvjz6LOmQ@djP>4NAz!bzM}6XgJng5`b+3w$->IOCYs4`#kka%z2U1Ln@0c4y zc=nA(5287LF|({El4d8v5ZnVdZ^I*}pz-nB{b8bXxg@0)9*)?J5b*x-<=wKcI>xug z-#2~Qv?d|`^LN7KrK%N1iW>x1ARlc%8*A&Cd?|f>eeliCP$pif@=W9Uc<1QPO0;4Q zh%J^ij$PgMPJ>XO1!4n6ˠP0x!F9QH^OSYchq$p2n~qjE&EFi-UTVU{6cx^)R& zo0iH1;Na@~$;DlZgx=)$?im$H2P@^L31rVzSFBxuo}Be0y{kv%(Bm-5bu|dChPSn* zFxPEq_Jk}$>x(WXR7x!d_}x=;yPB|>(RGdOV!%l-Gz{N#5{Bk2Zye5TIC=E*pf1l& zwJX*?i^pTlwyt*2>A8j1bsipeY&6bA!aRc$A(q0ZS?Sn~nuoBPEDRC4J$0g8qvEjQ zS397cQOHI~igHLzIb7P~f>9%pO3X`4z4pWBv~>X!r{r?zjo_83Ig*{2=yi#z2u7Dk zUN?tv`tBl!UQfDx+p1w;%q6msae)w%I1IB2#`_WGy73nRz8`vem2lZSqVcNn*SYSt z2w_KCpohwbVfU#&`2eDUzU4J=!(rp`;!14SI2Q1v{dshOq4yTY5aNkbGcveL6fm9Z zSSEac9cBy|e#uiyM@|cF*>$9&(B^PPIAXZbF~HkW^46^kj&EERqs{oa^Zt7hQd6Is zV;~xT-hbq5BmCfY9n~;!h>IJ#TIe_nx66F{3!^7iFC4f{yO2L(WNh4k(J(>(1QgpE z6gEB7{tTZfdznZngFF~I2JW%Xs+Q17w0xMw|G*3sBR-5h5;K>U=1X7Z=Px1SJ^oZL z!RgH<>v{bf30qf-9cFRa&+2}^43u8j;@df`TeBl=P!;{gaDan7fz9J(n5auhid7-_ zT;l|O+tNWn2A0bom=G`huq%z%AI!?sDh>;i>oD6l0s~D(o{rGu$mlvu!_F3r=LY)4FY_h*@NqR#z}w?lD9^;>WkuXqsDJPvFhts@ z(9cY<7h;l)YtI|Wd>)f&WRGjz9(X$3l4RDIGXR83Qw>m*X0g~?f z(Bsv7UYPcO?a&S2+Si3$MV24(t}Weq(5)i?AwtAS(ElOTFfi^U$NkogVt&u>gYFCE zlmNtGyLIvPmMa*S%<)xV_p{@&(4!IJqrjo?FXPfr?*q$^R;o4<2L)!atV%x3(azV9 z*zxVW4bA~(fii5mGG-!ue#c>{b=^pTuQ(L4N+PNZ1A3g(Q9L^9CnC}^GezL6wObeF zP6XcvQ%xd-jEYg@wYd^4mkTn@FenwOr4Q6wKm^CLnBZ?CZ?xWfIVFbC77+q`0HtlW_A;Y|EZXWX>_Os(Srco4V_PR=#pESV{P2zm~G$)x{^ z8tE6k{W5WML3SmX#Q^(dCCN4~TrA7}8o2HT2N)p&60Zo=(`!IA$&91wTB~a?glXun z@2#%)gHbIx)m2z3Ju?Uu~kQmwF zCrmEK2sq3P;lEz~B){oAdhmh3fyhgUzVojG3k+4PDt}$Wx78{|Wc_E~sG;=xkN zfi)anACrGX%T4KoM}W2ha^)W|^J?iAfo%=5-_~qjpto;a#4Tvb8;1@85AFue{Wohn20R-Rw`W+Y-Hfc@7a2unzV|3s~Myip4DQjcl624{~Cni(Aa64<4~(;lZLb9o8(3Y+KQwv{J4%u_$vkBFR|tt^?AX#M;!uR4?V6iiy`nM4 zlxxDYIxc5u6ih*9lgPEor6;M&1hG*^bQVtMH?C2wegw|lH;K$`{EGRXg|BPV!T$=* zSSxB^A)?HDVHa`9b{WIraqG}(Pfw!#6CAFWxJj7sRvW=2^wSpi)i-e!ixY1SPfI-_ ze6P}ISp*B|sl_T$;+NNE6212Mn3p9bC4POYe~EmMNr)}4uDs8#0dR`jJj4e<8%Lgq~CrF%f&A?Xp)tLbgj+m$3sQHYaRY^3vPX??UtL(X*o<2DU~v8!@r>wM(hi( zCJa1A-L@R%QPwK5&0r!YT=FsF=NgJc$*HxMbL9gmxuPx_0X!cAeo9Egpnn#qMZPDH z=)zppfo>90Ly*Jr+P&t%Nd+5-kS7C~M8n3Fo(<6n@mxbI;>n$oS~sn;TNg&`CzonL z;4(%%V(o;D6>Ir<_BKy75KN&kKGGv+hyxN3YQK&1@?uXZxCoE~^^`a*;!wj%^wkm> zEyrY_03Bj1RK?En&-mYOKYj=98`3{3_dTy?wJT1aQ7I2C2LWD^-Ds_mz5aa>8 zS#?GXh(F>r6~0LgmjLzss=gkn6^k>?;98u%^UM6x9%AuB;;7#9TcvmJ2^24dL>X1z zmv#JufO|WLP)HC3nKDIb#FI|z*QfRpThtx1GuO1KI~|AL-&y871`Y#)eTXyZ8t5H{ zNs(3cxt&KeG1-@7DX#~1UtWCt(#jR-=pjhEv~>(fHpJO`jmYl^#P*11r`G3CR886~ zTz05`uohrIEd)I{n`{{2R{rZw2@)m(z#rtzCqj^D56Onj;L;$B$aG<9!0-8LY>ycL zPrNBD1yTf~cx_Q$O_|zFd=UmPiytRGA^(FBl%HVn5*!df+&`hV)`!yZXs|I}2jO0u z15AiK3)uU=>llHe`g=QZt`Jp^PPqqCi@bT~8eEnFe=LHBv4p$}zD=^Jzn42tFTYAm zT@GN}Kr6$$-S?PUnYT{s|Re z3DwRwyd>2^)lYRUG**CC?9aL#`*POxh<>?U*zNBlnlrWNEOO`9D^MmHga^k=KeszA z3vlS@=y*Kz@bJJz4-N`qV`UXv-pq^%Itz`So*sCJDj8~(Z{OPAzTL(js+M7kITond zwRLrB$j4Q-niLHkjI8l(#=5|xMn%u_6{1%p!#+=E+I8RE&28vtAwLi*CgPuF>Q*Bg zb8{Y(mxe7jp^n4A2uGd-g8jzE#x_yXpCQaHtnhRYnpBAI&kUeqXJcW3DE&H`K@kxV z#AsR$v=WmR99A9=L2AJd48p0vtYm?$Nc`eOUj&!O$Lq?uJkIE?Pj95Tmxy{n>>!rv1Vn8YFJ8o#H!>PQ z$xQe`FmT=wuR$&9G}OrKbMBaK6(u8MG{T5mX7##W81tj&6qmex`?iLLhLVz!vvbMC zgt#By%(-59WKi`nzUg6eaGV+H{q{{kNvSne`7jw7Sv`fpumm-!81Ya4W`vi)JRAi9 zzu6bkO3Z&QM+i(}2f+7xqB%`$&>xU$W!jx8$Br)0i5={14i1j&3?)v(hin6oHu8xd zXJYz_e<3_4F2HS=&_N=DCIZzu5rq zCyXUw{h<5F9|4+Wn+*Drlan!b>&CW)HjdQHoZZ9!?c2BT8rd$6BO+do-C_R6Ekorc z?`i&fTAt!%D!CpHQGh)X4Y%z*>9pi@_Mb1e@l00x4sl$W=H_N7IpG&Y1X;j0!B^MJ z%EpG(gLdc6jVr&TSZMO!BB37M2S1_&EY`nEl@2}{3FjAD6lf<8AHM%lN>&yP*a$jV z%!xNqF;J$S=HsIsE5>$QbZ6n1I`al}8vT>@s4}zbC(Sp_fA`!%2W@NQE@&;EB_+Y? zE1wymq7U}plIG5HTAX7Lb|BIcp&g&Vo!8T2%?Nz_c+Ai`_d!w|84*Ej zIKO8MsUL!z6np6d5`=!El`|aCEsRx25x6BTlXWrSQ?Voe&f+Jy@EK?f8wS0-yl|jx zrI0uvk0%f!VJr}6>5zjWMvk^%DHmn(&!0ar+QPTO!u_?d0B+i+R_rVrAG`+z*wWlQ zIVENDmMzoM)9&%-<1N5r#~HR))cFs*yzwZ?%gc*3$Vy6PTbr?YbaZxdX%_MwII#X* zzV_A+b#=`~FVr&f^fOH#TzTA@~&`_a8ct7Ta= z>gCXjnXO-4Pin0`&!l2eUI>=1EGvtB{W^mB7?Mrnn_l5VgOT&&OL3P0pO?3{BAITe zOi*ZO=#wXTH)?4P9Xgaf1EiP7Ol>FIx^?S}UI-pPZuRxe-MmHvzN%_?C`?vIMMXvY z2GMF53-A2-Dx7lbw^iBN+TOi;7hjr!imK<8Mc=*c2RnS}3|bQ3n(dS%gW5zS$Y@q+ScYKM1~%X2$(Oo6%#AN2T8mf?TnKE zr3j`bJV%cB37)!N`Hh%kJILz3xGv zt%k-v&Fw+&F^r`5y1Va#NnKr?kdP2LGxleQ>+mpLr~eM`0hOZ3^{#PrD_an$*h4zs zU0iB%S8Mtv(T%m|-%{7tAAJ4#H3(DU`?#4&gTC;F${+;|f`oM!u8Y^8;9#ZMOz(?k zJ)!s|o?YY$KuLd!`CNiRF$^NMPIS4GQGoy#{P5vJjF4~-lM)gzCK&uR*=IsGfI<)= z0xu5_q0E7@+SNUwrl+U`LhO| zmnn1q9(30DQ@jIMk4>JQ*dhzjU3mqJM!)L`D&D>J-KhJsZld_X;e`hZXH)E{P?CrD zwr$&noKtH{%aP`U`{Chxncudx+2E09qIGw7-?3vyf`TDlZ|J~F59*&gL|m3$-@m^_ zzxcr3I~W;|ZQDnWNLZXvU)3;WC;&SUJt+0|?aVYjSf^0`v>MH#OT`-9RR3oiPDQW> zrKF@T1TaLNyaj_+Ja-_MwP9P2?ZkD@Gj2CU1{8>tVW+IvVEQHA@pFFOd+X`bMQHqp zVwZ)5G|{bCh-OyHdC~y&VdA0F5U+6lv*I4=OB)(;3{{kFK`uw%WS$yV5}1MC!L!@C zWebr&)6@Lih2!$iyKHQ1BJX!LHQ#3GuixC?lyP9*Y7yekG1`sA9Zso z8(*r+Tz$0vyl*_=_{fE$;dJ7aq!xL8ix+CL^*UvTebq7&+nDI)dbSlwf8}I)BuPuL zk@*}u?MartJn>l9-?XuE2B!pl&aL<4xzb=lGHYF1MQN3ZXmIVX;;|3^b_yR=A=8`9 zG+=_L_(M(;Z(8*BJBcbq>n>z`pv({Thrs7~{kMV{%@P*8K z=ME%qIwaEI{E=*&=JnX4iwXI3`@Vl29op{;;J~)UI^2H05|Gr9 zUD7NxNH@G4)^%aWo`t^DrP9;V(lS}qDSe)N>mhdbd(&0x zT1ARjxVfn|4dLr&F}%Ibt3C(5#?y-u{%J1qSC-F*TnSfIa|p%n85(-2r?1Lww)wO0 zA<;hi@+S3b+qbQ)s-^Q$(L>5aY&Y}pwT>9we&n5A|y&xwAEjjvbL-#>o@#5(X*OnBJ>Yll)>S|dY* zX3i$=ckEX(&oq9q?H<3uaRC9<6eUZOdK1M%PbxTClO^@{e!n|zB>mEG|6WBv#~qAu zc&I=q5B0M;HFt70aPZFWhhH4Z9~%E zSZ;wB-PWgjZu&%-+SH6GYBQO5Pe(*VxVnS=`|xM~<+vdg|__B_~xnw~m2*GtJI}nny3-#C?0iBpM_$By;z`&l#l_k#7AGbH<;K>jdn&0{{q{FbF_h&duoB~526Pl%OOf}QsKg$u_i`-X?5 zN-tbYn0kIE3XfOBmiYr7k_u*&2Fp`5rXM`0<;Cync`i8mk~81`;$+j1HL%S5Hse&{ z+m&LnpZi%}-ps_0^;6v67lc!%?1j>{y;CxPWHeSzl69SO2*^1iJ&Lp8!NC{Wl;q^7 zD|i%A_;8&C1;ai*3)Vd>m3^T6^r4WAHJKfi)UJ*BV;P08q*;#DmTPP?}8(x-g z(jFe5wY9X%OW)1cI52af&*KZ1cjm%-B}MFp3%Z)*D{J&w@1Nq)oy^=M4GqP+`5uo8 znvf}lok;C{6nN^?saZqLGqH00gM(*tRrJOc%Lk`zj*v6A##|J>(#eqPdWNZ{zJ5bR zO54)lz`$*Ldm)v}N3s@gxO(S;A~3eMi&HDQi>HG{=j5IPZ=NX(A2g#8zc=7`chk3t ziEGhC+>+<$58hLzk37TV`jTa(y!o?Z>Pn}VTGEL<@B5A>IvxFNJV$*+@pZ$`5AP>3 z#y3qCYJb}J?nP-4?_n3N(%TI(SF)NJm-`Y<}0>gY$o$fJi24c3zBZl#t`8DN~f%{Kci zcWQo~YTLG(i$j(V@Z7f9X{ITb6=eDg2EcjU6aSz&Fm?R{ZJnm!{Z915IS#1@8?D+xLF)E6Y?)EX*kV zY-5`je>+^~>cJ12-Y@&DedC7c!96|~&hqPANl>uh2zFA?tcS=57CB>HkY^>zA9 zW0pu3JvL~it*w3Lj4McS(+e)13HaOc@}wn=4|T|YpC#KioZfNiHB;5dmhY4l6m<;^ z-Ys03=^2+c4i>76X0HplnxIhofHbjKne%ColkOr{#f4q__EEAb{kmJkz11Vr?2C}F z@F_dbtSs(33JAm)Nn#7G*GUEToTTTaGbEo}%dp))=KIWDt6huVNxgOMo}s3t1^3#( z_~-S3M^=lZLS_CV6BCTo)Fdyx@kI0r{jib#5qf#oXS3cL^Tx3jzdx35F21(AztbqsHD<&qkOq8NDcs ziTOHA=e{m*Ley4%_nu?ELi*N%`v?8co_#3E66EuKsg@_8pvKD3v!HZL!Lhx{%DZ4; zI&w4fg`>(W`cETYSuU%1hEnJBJIxzz&@lL`YBRjF&;3q$xK`HRl9;BM49{Dd`+{Bv z6t0!ax2w!m-rUw$vWT0%Di%odw|l?X!@;d@Gev{4>CzXCgUfC0Y&&-SvbPvs>krlo zB@8*m?%JcHfAhP*ivu;wJLtV`uje+N-KSpfv(`k^lm^pXoGH)Ycd_H9?w{z7j=r{M zWgYiN2b5{QvYWt@{$-#(80mR~D1-@sB|hSz%%vN@&brzm^22e8_9l2#!yw{Bi$_jIp`DX(WCob-!@bveTXRbY5B=$n>J;&`2ujPXN z)igdlgvyy0{T;JM|M&02BnZeMIymg$c9xcLHcXW%Y8f95`0xNW3vIDMR)AL4{Li0Q zp>k<$I0=;m)im=wkCv{NyCoxAB*ZXL=1zve$L=u)M@RQBDrs%FeCzMV6c$3HIyce7 z_@UTkd5M@v;9Zfnj$Qy&_=k~)%=`V6&C34#xr5xYABYro-+6W<{EX^Zk0|lrxo5_W zJd}N-ql*z6y>%#6@nVHkWl#nGv3&M-SEB((J8KJC5&o$R2e zXwELMs3)p`4C+w4bn3pAwHa`o)zWPtGD_I-=+&HOIXOA6UfH8dRY=JL2oe+Hsv;>R z^{9T}>&<=C)GoR3`VX4!Y$*QuD&$iHHaZgLx=$maxU zIs+<5dAu7uaII5i*Ii+;=++|Pkb%|=WzHDK!6tvt=>>V5|KZb8?(C;dUJa+6D)?R#E962-EQVRhEmF`X zH8OJlVme3=hG?+2GIAffG0y>(d&FJUZ-awm2OXmR`u4$~yDOCUjYfP#J)i8l1={cg1&*34FVwc0zC-$CTATQZ5uWt+QD*UwLP7Vd zZC}1PV~VVOFhP13wmR~+TPZ26t*msrt|VQKUIL!@qvQDoTXghWx?owk*XG^#Gwyd| zMIQ!TJ@6=-j{N{}Lq$bPFMQBKxTv{#wtt?g2bl0@GkO}f=KXtZQwP@OA^A?c2CkqT z1Gp}@H<+#6fAGKy1;_d-Epwa16T`menEoXH(cLR*c*DfmS;XKHI^uo%WcmzK6!S1{ zN=rNJ@8xN)eeWr2`di{grdOjke_va>ox&4SPF9bZ(ROYQ4j*cO>yI$3dRZc$^z7Lg ze&l587ib$jLVdrrR-}^050hnK77sZpeL;#xk~dDD{FN26dJ@Xi-1lFr8OW!uo5KMO zm~+|5SNw|4uV`qD{rItsBaCT!2fJ4C8AX0vu0~&!^=P>Urrg}thqY3~*sv>cRTveI zQDlE?!dzl;X4vZ2PaV}3a*E*szUM)#a4y80G{DCv#jG~YWn+ZuQ1wO$?zQHJsiu@Z zR*rt(K9e^3BImyj?qz4_CjJIbJ&B|14qrR8NyU~b%|Acx#K=;pA?nZZvU4i`?4L|E zTekTA>m;D=_xz7nCZ8&I``4I?x}ORe@##;b$Ql={40r}i2SnX62}-A~X^O%UjKgKaA}Pe={L>NY4wtlw{aeNbZ1?wjF zUVsU>AvRW4;V>Mh#To##Q<|Oq6Z{@f{8Rv#cKTuwKozuumM?0lAY2v>=+|;4up%e6! zc%`wkhLE%ziyG4Re=nO0BE%&-t;1jMy%M$lE&Xv1(O znC=_7D7Mr#SSKnJ9X+upTqY4T6Kk-qRQ#(hZ%{61)ISOQiSwyK??s$NC~tE(pqF^Q zSv~B5#DPazSr`6&xu)#OpU*T;5wmlRg68`A`_$KY=xJzZ-~fw9z65Y92C2EmmgF$< z3D#CyKlSvM#z4e}If_k%*2Cprlv9)%ZwNUk z^vLL8V?Wcq{JQh}|uBS6A2Hsl1eDbssag=VAZ3fN_KjYzUqUe<@x69~r=`&vcG8nf4sFAEyU`TFhPU6E z?`eqNJHr&S=P^YkN*ym9dN1fvFW0YqPdTdy~p56N6T{9sb7c6eLS5t_mJ`D;&Y1Zud!1eRz&uFD8Y~|&f zFep#gQi9w$JVAO&El!S|so^*oPImpxp5m9hqb+yF(QTkD{?}FUpkAM|i`wTLX1xgt zK9$$iYOWgHqi#;WdK{nxKR%dvlDzu>#Yv;6nlQ$-bW7cx|= zE=C=nYgm5#uaB}UV=btO$(sqXt~*>kZFLqjY&S|{@1tzfuGADKk8ZduCA9!J6SU3R z5(<+>Bc)3f5}nes;sbzWY)3zi1I7X91UO-9#Fm}fom$k%Gc?zq3$U{fJ?g`_DX@NE z{auoGm1Byu6cWI-6D-s-R0jL|e=RPm=U4Gi=AA#iX)lDjPmr~j-TL$3={d^(xHVH` zOmt#W7_4WgY$-CQwa$VQo2@OIM{?Up;GxS$)$;C9E2yfHTRx%2?E2~B$KvE*TkPJw z8)n~~`M37&i<5nx_FO0YEM~;ox~Ss-D1CVU9^_3{57gC0=M%FNEH~Ur#V{*I9)AaV zszrE8<|@7RpoWNG*L|*fTx<2o$KGrPC&3=cY8TaSy8q+-zb>B(Q(*1N8lkKpB_(at zw2cIFuIc9|v=1RNiFiV?v$LnBEbBMjzkeSL5sa6IOe;=8FlBGwiugvVbIzKl*3qf7HYM zcFAw*YieF${exs>^5PRfC7{Nwr7kYwl4s7mL6ABDegZI0h1G@}GY0o#p?5^CaXy9q zJyWAVAy!U6Kp@+bH>2tV{$a1L|fRBf$62IGGD=0*u&^^6YhS zu_&m%Abo5XPktXnEv|SOhkSvCX(;a~pjVs~U9T+SvC}c%02DUZ5Dl=BjEcd7<|OA+ z-~7ghljWWUPWe42m^~T>-6?mGlTzEGN!1?q+sZ?^!KS8yjtqZ~!82VO3p2h+=zr~m zsPCR3nKFa_2D~KdK!dzM9tx5c);_S&juXgel3}wlHy>(AqGDz_cFYp92XuizCC~R| z%R`X2cg$61rHqNyh?Q$Jxs2nAuXE?#ngCe4pCC$yQ1dMh& z<%_;@-0E`dJZAap)W5M-6tP&h=g)gZMt0W*9s=nI2C}Cp%yA@vmJXBT1z0+i%^}c6 z5L6?ufe*2;yecXR6fNS?VFHI3=K|2r-2uXbW`$}L)$S=O6`2RRrmI^S#s~r3H_VIt+v;4mfEFrU|G$5hO zy1wGEU(?AvSC-V&=U0yNrqNk)iJGXJk^Tm$ z{*EJ?_gW<1YhsS`^5#nO+*f?!>7Ke`uPV$IObtca5TSyh%x{uL%d|S@0zALQNj`X6#5|}Uv23v-{rlv69U)2o`N-dcKJiPfwYkX6jpZHW)%ZZOG&lX=o${(GM`xy?E^CmHw&V%$~|VxgA0dS$=69#E-$`}dDBZ`;0|SEvjG z3KXllfxf1X5E+_t-@i&pIeg(M#UqYNUC+AzZlksDA3!A_=WQo#+_VY4^>0mnAW0W@ z!Er|7yRHXMCBP&q5Y?~>jS+7>STRwNk=6pN^xSBdg6sZp(p4N>jB-L;5WHKcI;#@% zF-GI@|8RTjbRep2>77HP00UEx?}ATIphgl5H9>@**!EL~eED*Uda}wP4GLufyoqP_ zkX_>6hKTHW_Wb!i+^L}c0Na`H0)S@~9$;dp0dA81KnO>b0Jv@8Nu4Lt$l$cr%irM9 z=o<;X^gdW5qv-3$zIM5Oiu)2dqGY_=O~)*nq;X!q^_CPhv~^>)My<}z^qP97Mvmn< zCPhcrt_8t1w)3M|^EJPfa2nk(91d74s6Lx<*PxH z!@hOvMJ=s&wrj?M-kJR4!q}B9%hQA8*In!(ltwl%kcHWnID$lDgisPlJw9pM535e} zLz?&3f458lLKXC-!6zHokC7MlwJh|mP%3^cG>+vCMOi;(3rKgX{3Mh^7L%A z#$V6WJS~wI;(A=aVXZ$P8A@{^y5H@sYTG+Z^13&BzHV0zl}o2PPv2sli(~_1@uP99deMeFWe%>>C6k$~6OzmDUkw7A?*i6>Y*#DToE__hv@LtY4 z*#H1~aBvWSY3a)1_)IHZ^%UBNYHDg|bl@-X`m@rtF&jSZvKWazsNJB%6I2;Rp0L&) z+9@qkEg*5EeILx{#@bWB>%?=7%&Yr?o&yqmh%G_y^?4-YDmfR<8eENp^EGIsJ$W|& zNL|JAt;*PexH17|?79C(F;dj#eLt`b@C)}*Q+2X$G7DNZKLdUYLO33kkq1c=G*}_b zXle&;W+!WD?PO;!0xl>eCB?$RqWbmTy?YD{3^>PN0+$pO6(LqLF(oNLNSA;gK%nhN zE|KH}RAMb45YAW8*sx`az7aaJY^<4u4?r3x&rqfgRr|Yk~(l;2$G#=eb-{=AGMi{ zO3?me%J4={+!Sn3Z+fJxZpTd8vzKjIIQ{g6ki;b?#w(%*nUrX6Ks92QyKn} zW5wT9y(zt{da*tK@YEaO-1?)h*uL}?Gfjuc^Kg9h^_lqj(w3LwYCM%06eW-)b8LD# zy1FF(%+1i0*|~Ekkfb@W z0dFVp5=pf{9*z4^L(+5OhDPW}d;J>65P!H)gxWl_%mlFnmm@|s?B|XL*p9n}SNE?K z7YfsL+229ALa76{0`V89G*+N`N!ubIEbI(i3fI6**LlxnFj`Ch46}=S4!&hT!N$os zE;qbz>OxYmH>7|V4+K&tNVGuX_fwr=zy-o1T*~mn%zw>6n}GT9cm+8vD_D2rZ3O!m zhDf-#pfyd?FUkY4?>`I?qpG+yk=I`{%mxJioA)4--_&qZtQ@Grmo8oE;fcZsg%?PGv);KbM*e%FOTHzC|3*4qqy)qy}S5UlxBME$cOSCD&%Bao{rH-Ds$6Qy-4tF~v0rzjopz9)p~GEBMIqgqtZ|rB3y*{|^k8V-4i3)EUtNwe z5sgaMFX})HsI9H_Uq=UM<9_MoIDS2#T9^z%=<1-XqE`|W66%tV0$PSwv5oXdiC}G` zDCuldG?YP=hz!Z2+iRiy(x_-`lf}RllT3FABKKIGr$>&0FZea+7C4%nIkTP{LoswPB|TPt8;Jm(@F}oVd{R>E z_pZOak%>f~e*IcWQ&kNGOz+9Jjk$BD9>1)s$ZZ;*aAkQZ9We|@7?3t<;OyaYifF8i zR~}e}P|iSXvWh;^%l)(##m|J$aS##`su=Dl_3^6zu`S&95EbKDq%uxGzKM9Wg1(Eh zGcgegq6CDX^ETa@cDOFOaEOJ4a}cAUgxhZu%wu8sDksMoIu%@{_4OTY?^{~7`m$e$ zl_gp~;F&j{woj{x&i4ER-$a(<+9x@DmmWNL0C^0plcfMFKsN?%P^EkxdL$VY?`e;n^CMHKSydi8Z)r#yUGg33_)>h^+^MnBc4!5h)MKiy2`PUjlo9S> z%#g(!eCXjQEaqp2UB)GH2aF@8^Qrp@#{HiLW$Y0R=<0SJ{HsK0>1? z5>OEu9-fEJt*0l3>#1vKu&*p+j`>w2zInsyyZgw;PUWz_U_!q%Jg2Crh)2R5T<5WM zcyLeM?7Y zMvlVogJ&o@oh1gb_wS!Fd9^cW zCUmcDUjA@muC;6gN|v3J=88(1ai?vGlh>Aa(VAF|-f+BiW*aN3VtpEqpJdOD#wt2J z_~+Jrb9DWNwBBFjrfQ-=I;VuADa1YSd;I+QbGa>c)}})+o-#ExC1&&BlD4O(4ko_H zx0o)Z9dsS&nyrd;VFei!1hE9~odr+MJAO`L4!>opS+ z#$`7ls6c@b|NL8@+dwWQP?rmOkqzDaGBWyy9_p9*#>iF>g(A)a5O6^7=Gg_Z%68V) z*2q}=7Do?{Xe0hUs(JhNqeYMR%;z;p)QyyDHj+WNZ||cDFrJp1kBnsF@vMLUUYw~7 zhp)tAE-^b>NLqfN%x@KV4Fv7tIA#DfDklG+jn5`vMB}Z1QU)A9e;F8(FU}C$17P8> z#)9yGpPPG4@sd#^@sNufhu=~}fqzd8Ai4ZCkTjJZe(&4FiOS7Plf~dwBQY0E8=jty zefo3-BCRd#qN%T6^YQT^e{c|`975Ot%7k!l!2+G54{{+y28ivssC%SbQ*o>X3<4_3 zzt3%^Jq-#y-S=nd)L|rx*}aSb@ImF$DIzWtgOUz z&d(sE@7yVZUxnjUiX>}lYRc%*x)Z$^y9;Xu*k84`jt>v#A!Wh>MW}QXx?COm(O7zn z2-(NAX?&!>vmmaQZS(!lv~%Cf?g9$w3t1I1qFmFu2QWy@uyNk;Y53=IkJvZfMl%*) zufJQkO;;t>DVTO&OS_HjFx->bg|MJazWOofw<|@S-m2qm7XZF-2%Swmc0bKX0!U|{4V$7tsu|&i*Qk-S`tDW3$O$GhE zwz8*@d(sWdz$yY&5hLl4FKqd!kFA*8rmnD~XW6+zJ$4keOv=9^TRNza&Hnow0P!O8sjgH{wu>gs6i|0ZcPR6E$^ZM127)t~*v zjuGtwPzWA807&ZsXoqlT^_d5*gOu7lMM^b*(y}E_CuIzQ$#HFdX9oLv7TXwAy18d9 zmX;ctPcr$zY#BX$Ga)zn=lg0#do~#H6P5}&mKQxdBo2R}<2FUTfsWNh6yu*#bxy}* z@*d^mdn#=8pw9Gqa)5o;1={>YQ~P5VNozi4&fA!;d+>yrG_Fy;p*w5OM0Fl-^+%Cw zs=B_uD@5BIjhxC#(#&0vs0JcBDQtA4*<^~Uw|KUxu1*5m56TQi+S8_{@$F*2$h;+I z&z{AUyM@`=>-R1mTFW4QbAeo~MLD<-s}*w>vy>uX;BBz}=5&kdFf*12r)3ph1f_J}tl zZXY#eYoLI+FA7%@(q#N=d3d2HF#8yt_`qx7r-{= zm^C@1PpS>{@m&=+u$c-K?|N~|=LM~SEv!5|OP(?hPE1Gxl!DhZ@~iG{-NvO;Bt;N@ zds^!yx|1$&;zo>#AtEejP9T55^J2sNfwVTP9Ny{07cH1GU4T$%Uk`EFAmVj+qH2sP z@KQZ3tqu8$*qkNB#l3xfE|PmY`<)yeDSvOEBs3^ti_9(lQNDq#+jtJ12cb3jtWGpe zVw5t>c!^F)MYvdd8rmWV$dKpT73D&?LWBdXL;v-&XU^1qn?)iEQk0t8Aifn~oCkR; zt{*7YR8X$h*Fy<}8|Aqli}+LnIgYHC65fxr4}c%fE8aC*ZN1JAxO?Dt9?!bdOcsTk zOg;<@7^aam&e5JIK{NsrSyB?rw#xlm8=lQ6Qr6F}eHPL6;6fUiWycQtl|qPb&Ly-y zdBW=cI_AU`+6IY=-Sj6<-;t=u+@T!N&=Q!_WAx+2R0U-XlS9i4b@PR$Xba08dF7D< zJ&do_ljl8UWNvJ4WmJng?cq^CPT7kaZRyDT#$qk(A8g>dd*L5I7rt2YeGal2TiYpw zhn*X50L(w^wUImC|3`kv4VxqdWkj!K=n0*t`}fYiDA&Ys9fVE}00sb|JoFwe$hnN| zIPgRVs!&KSkPbkWMM#^Qvg=HFjvi&$vgKY-P{xO05`6)13Vf4LC-+ZcydX^9!1qGV zgr;4y5Q=dwYNs2$C95)>IeU0Nq)!B{4)h=Jv;;br5RV~AVcorZba2pdwDn+js>-2& z9+hNG^_p&A@NFrkW@cyv*PCV`kI)_#deO|X2G9U8D-^{A?5t{EEjqU1&V7MWH=2YZ z`0ibTS;0!dnR@u}q0Q3JWkJ^o?cc(uNhHh}KQEG0VPq7-a{Rl1!D2DC=Q3*hx9{G; zais~?Db-q(%bpC}0Eo~ucXV^}GY#xoX__ei93LMK8xvp;xOUQzb%#)Dy1M?PE5_A) z0SN)S39v4hE7twR1?`f*URe+5K6P7A6`81Bo%ia_z7)MOR3zo~Nu>5l&7nabH)WyJ z*YRV=COHe*WGC9T{SB9!b6WZUwv)3@xIs!q)#rYdF$V5Z=h1E6Yrd=l2j&(Sv6v3gz4&u;SbTSZ?Cl9$Kz#3W04)XJ+Orp6W)QTxE#MMgvWTVCups>RJ$rBeoOQ|3uB7kkF>;(pefZF4qMba z?JSx3_0*Vk>|tt)CA2+=b_7`>{PIoXAx95z#L#KY)z4Uc`SE){a3Bz6tYLcq>BV%sH*A~txsfL-}p8DMIXOC8FNahc2XM!2L@;(+%qPDZR_fG zude)(%e!D?=tTBcn3agS=29R3 zQAE`S=3shydKX1iQIY7OLonK9h1B(+!kaB@!j|}S;bgs_xwsPh6M_J^u}8(kATB{CXb^UI{+g{Q z(gGzAzQJMyM`zG72@>B40E$2wwr<@@Hq>ZQb)0gaak@FVxX&@!Yi{=LVV!~+TGV>D z&GNw(j$J`Dh(54o1gVXd`PKVIws*9;i6=^c>z_Dr0%v0iK~z)okrs=gJGIbr!5Yt@ zuc!AiJ$Exekhi}5t(L-8R#seY$Y7*`=t})oWnE(H8yjh_I=Q-v_OxEs(_<9tgoWD4 zHnIa>4opO0?1`t&t_QfZ`{rnS3JdE_Yz*r^H|f0}7)M}iMQ%Z!6na#nFTgqa`^&*)i?1FaP{)yru@2akNkGubN}gevzLqto3(Mxs$QA)JQj?1d@Wc(-gZ zc$1H`Q|&3$Z1fyGM0nsAWzHen;YF$-*+q>S!lI|ts&%Cy(D`lTQB2IEr z&9v4!l&ZaqPYK}{O1uzGIavhbwS726F#xi#)I-S14);)g8HmNzs6_lM)*8R|=R5BkT_ zAlU#}gE?X1Nk7iq5zaA}U`$j39I7>+ch3iN#4y1n19Zn$QEiMAQBsggMN7JD z?7fLuOF%G*GyQvR2P-SRZIjw}VmvjPKtMl~>HV43Iy&9Oa^B4}dIhXRX6PF&f+DB1 zyPCfKW*KSVuz<%1>I60f_+bRbfKUv(jEOz#@exoK>0_gPVF_VwMPU>a6qMiZnZiAq zMW_$9_?=drFD8pzO9Bb4AT8DjOFc2E$iu)5k>dsJkFCvAP2CmKTC8o+h@{=KKG%Li8;y6^;*WMSb(jtY(f8h2wT zQ1$g=loHs`P5Jg-@)43~D|BaISfB@PYzRDt7RIyy>(IAAesi7Qjzp?Nxr?AL1*Jnx z;o+{ShKX5tQNFPt90Jj|Z&8>*G7N^3e+k3_Pjmw$h%>HoX#1Ua@X)(PdeI_|XF#My zcdU*1lrpZW&S^cM)W~@~|IC`r?6XB@;;tJ4ESR3?aWOG64)v;v8hP!%d=SaMNp{8W zrtfoIh6xzmw8-%m2EAeL30MUw9~l36g?lbm-MVvUye%mt*k3JQ1y|j@ZID)@ZwWTM zQbKDrOHExJ@fme=bnryld6eA^lQmy_U2F_YzvuC7xj1^zkh5s-(y8&5K3#E1;lSOw953?XJqakqvh%m zDr!vke9?Yq7Yhq9Odx zJA|vDVoIc>i#6(qX?*9~`<-Lo`GKHp(je8Mz4v*VKFENi2!2iH^T(6@A6&y=tO-ug z#HUC2RB(l%I31(=>2vif$LrKos!LevASQveGuHDp)z`m}xwVEP9#@&H9jm8W_LqO`(lOM&1Y&P+{K{EFC{tH$TVU*N;HQj%N zXd-!U_?&Q;oYDu5fcF40LNrCgkfHpP;X8IrSyi>eIv3cszg#oIK3bRi?n7@giP(X$ ziMX6-{f_(#d1wQcqA7)|s*U1@X-X=ps>ADfpjiW*UjFP^^j<%VWv@Z$YqIWGg!Ib3 z^3Y9F@1b9&Lf?zAF5pEQvkDlIa_8rrL*Fn~fft;)&Mf<1U-_;)VFv=p)>BC(w&RDY#bd*X0AX|ZSNJm#?3*c)1*E^kaOb6{Hs|0X*hMLTsNVQm^ zKi(@ia9EOw(b3%;9JYcH($b>eM>uF`*z?bwIi)EL3!d}z!2SG9mEry`Yxr+HPf^j? zs94(KE~QG3Su)g6h&I}Ctr@sO!@F({<|>6HH)h!b6fJc{mIpqUB5+!ibcLxK*fSz< z@~uE-0UKZ(F9g`5tu5byBi3q6dTG*BFQ4xm329JH&CNDL0BH^*Y^=AVJ7I?#OPEs69XdC@}K2(nnESlt`q@0Fw)Q^yn>LTvm2`Jay$2CfJZQHHkXa zJX=Ckbk~QkzpT+ zJsuPnEIS7W-+e`_NjYW9)3rH`&)p2$!lao~>+Qx{-Bo_=qK0}gSx1u^7pwKy`nxYU=8O z7L9w5fx@T@-37o5dkmPF_K1hB=ur9!7ZB^fGm44PH#196O4!K2aP-)*?Hg|p1v)el zXg4v^R^b+g?Co+evZp=ge5Au`XRbIX>y+PjiwY zn2ueg-Uu&b4dzQ^vg#9oimIwBBdFMEH(zf~2Fkf{{dH6!AZ5bRti_%TjTrt_g1bq)uI1F-bMhQ%xoQour)p$D> zF-}VK%%SyPD^{-xmq}f$3Goxk@LPq|57^l`mMzz}Q(+~B8lX`?#mwv*@D`$(IE6mE zmzyGM)veM*wM{(IFVM(2RjsKO75yF)6|JmRKlPW$i?}5C&3rQI8(W4l0U00;ci^8m9e%??+3>vb82CZ~ z2*q90hX}S8-b3ih{`Z>TMFbMXd@wQ^kVa3UZHp@fSwFo+T53oLlaF-Bz4_VMNHIH( zlI04-MD;@tGihLpB?t)Jc6yK_qh~!dr<9)y$Tkp%aQA>6+$sxTr4dr z+F`=T4gU>i922xRS>Zztx9|l|nY8|5=TUV4f+)h4aiD(v`0?fST^@e^3+K-hrNRDv z`$j}COjGH=1H$*b!8}u&(lQ<-`|!hi*=6`)gId2d4inJ$ji>s`{NzrY$OO7@?AWmr zCw?GP1i17ZhA3)BqQxDagTRKVn<(dzRqSSE)mBr>fF}OVce%6sS}9*>NKlG_M082?JXF>%9y8P!4&IZl|W}+7l0tZHTD))|>ylBCwP@)be5QW^4&>DUA-gN;L#60at zN7NW+_GPXNyuyRx?E?a~vbF{Q2B888N zi~q*W{Y;FF7&(q~0d@z7qhG( zYrfXaz5QDAx^E`XBFGr@e}}JV15ZINli0KkVk0nyyBb1n{5Okh#yREX%M8n9n>f_& zM~)~aYYq<$HOn{$xK2H)|AscC@SCg?@Gk8;_yuFsbl-l|RaB(czy0P)%@*A+4|<-r z+LAtMP_?3ScWv87Vv$ZvN~AsWtA!8|@b5r?=I2k3k#ggZbUp%%2rfaFy?x8a zib&*tUa8IONN;T&Q2e~e$OtV843|N-!eZSBZE!9K5GV;JDD!Gfv9*nVamFH+PEk&( zt8e3Fy{M@fPndz91;=x6jjqJbMcR~m$mi>L!|P}XK0?l)Xh;Hg9z+4Xj`P`mEgmg2 z;@rZ2V~*{_>$%F40TKUAw)3h=8<7XX!wZzG#8jh{%G_;Qzj)N_#-K$>Gtdg$$}Br~ zzS}7IRNABUIfY&7z|2}`Q>CE5;HOZqJ4Xz~!l zQ=tyUXM)~XXNfj4$Kt~i|M?s6H{W4f!2SUP4Y@e1DHxfU zkY`VW%cIEDq9%$70Fk~}a$XYw?gNsNh4Jz0<36babVYMblH6;2<31( zG+s1^#sToqERD1B@>%`TAFxYc5a-4;N%jLb`NFFLg(H< z3CgWV*;0H`^mLjH900$*XaR#OFgUJ01B1Br_^@e#Mr3L4dreM3XD#&t2*XV_zOqIO zE+d%TfQ-)q_KRT7OmEn-sGwjg>Ay6qsjm*_6R;;3|j9BJpn|`5VD2?eoF{=5n_k%G>2KnL8DP`ka-I%DT`j{Je z5_7%l#xL*xcf3kW-v(_(rUbtd3ol3zw7Jb}AALJyFw51}+L(w`KeamS2HJICPDk0o zEh4*dh#HE1e0IFeb|00+AEl4`z}}8|CqG@+*a#){;XYZQEa+}_#=$0GJXze9zUlpY zypHk7V-s3FY@X=50v>qrX&jDFBa`bFGv3sh>LTrh)UdObqcZ-Tu${a-ZJ$xfOC)@! z=;N-ykJ8qGXX@+d+6uoiUro&&%L#HAnhXx5;(=`~%P2*#i*NSex3Pt#aoQi2^W%w< zS!d+XaQr}z^uL#1z8yXC4|zD^Xj17{D8~vX{`rYZy01irhes({Q!s)gnwZKe)~$X;P2 zUj7U#`aGlS`7hsBPB~Jx&~X{t9*~c4uOp}3q3FPa1^f2xBgRq)M&QzQL0bkj345@7 zrnX85{EU$TgGLGC>UZ!Ac_MHM-jQMNF|q={2iK3EnV@h0P>5<624#_8&A}H33S`Pt zObuU-vLgV^`*o&3mryR_Y`LSTfCB;c&B*PKh*wcQAt=d*WWtRm*5~j^PL7nORS+=r}4&H4< z$sQR`XN1)kD;_!@i!j__!VI=P9-%olsyUdV`>CTNF+QGvoX!oSbJhL#_+qq>SKU)n zbC>Me0J>KU+&JQX@%(Fvb!hIfL^6NgBFyB<6)ZAFCaNc><0?J(m@~^mKkvO5CS#%+ z?3I*9f(_m#u4R0txD**Y5q3}>3TCiHvHR(7RH6(5bGZG}rwdO6jB%Q9vq60VIv-As zA<8@8Mg!h+4W)k<%X9z`!_gO$9lEhfu^z*_Ns1Vz1Wg8N1VU#6Dt-&+Rb*tC4Uad< zv~i}_~gXDPUCzwFp>-j|cct1u4xix{x zoEj(toKx ziW8HQ^8=T<_gxz)4kCehpn$3O3IYPE@Q{|X(k^3oC&A9{&vbaS$zm@nEkk zE-s?;0k?Tk8|6>Stz!+x?=SxO;~>RAjKSGA(EU+g%;+Y202%DO9zS<=WwNZ`?1xe6vaIBYmA@K5N^%KB{stER4}XuNQ|&IS%|3pXvE zu=gC>($Dv9G9TH$X5xe1>hBskwDO<7cmepm;Oc*)5@BK9-B&b6z}a~NEC|Dn3XrMsSf1mZHPRCBdT`*_v8%|d03)HI!?K(mB!;om(75k& z&l#V;^1Cf|W!{wkzrW*<_wgw~$Hvca!~AV%Iw)KQ_X@~b44V!Q|`up z6GT3LLW^y3TKQUOVvFVC(zd5c^dd+KY7>e7-}h-c zd8z*;tTY*y|M%a}809nnZ}dpHE%*Gt!%TCnkM!RJMH-r-|E2geG_ITC{)Idmnu%Ti zH$U*8`-Gdhg@s(j_`io@eFB~v>a5?&F&9f#q73#|3|6%2OxN2Nf| z9`O{)9FQH;(t^FT@NcQiaMSpC6n7bP#Z65iUfrm#L7{V)A8DEQf+-}vv^le6mFPf( z+7FXfo-oIzI(anoaXK>BIG5F#V)pt3oRpK%S%3E!q)edMa9Wr@fd4%}MTZNr=6X}X zG;;lGs=*L4pQRdC?9n{(-G|8Gu{12F0+uIjnSN{f<+>us{LWrII(iGhE zT}nbiX95G`LD_Ncsj2x6cnm=9TK~@x7Ef_m;n%M9Hv$+x&xU((7#+=_p|^agB_(}b zT?K)5Yu0i8x5G}#%^@QF{0WrU7x=qsl9QVoCVs%s>X`zxX{g>+li&#nsy4nbi4h4K z68cL=b_g#N6c+x|6ZiD@^F6GCEao(&VIB))Z%DX2zI%7$yndw0A$(dwAB!8v-xwX@5C~VQhjqdjKZk`YG2q{^ z5u;`U18bh03ZUo4%f|e<4(6GzvIGvvPA5{eNNh|1LiMKM%P7Uw&Z6 a>Y97+-rBdT+3Y12;oMo(Gp|WT*Z&VrPAy3Q diff --git a/ONIModTutorial/ONIModTutorial-main/public/images/first-mod/ModTemplate.png b/ONIModTutorial/ONIModTutorial-main/public/images/first-mod/ModTemplate.png deleted file mode 100644 index 5a7ef42158bc5bbb5dc224ec7df55d737f32473c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8823 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 C03mq* diff --git a/ONIModTutorial/ONIModTutorial-main/public/images/first-mod/Project.png b/ONIModTutorial/ONIModTutorial-main/public/images/first-mod/Project.png deleted file mode 100644 index 1d03501d733a6f6f58d0e7f05a05283f40a31943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13433 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 diff --git a/ONIModTutorial/ONIModTutorial-main/public/images/steam-upload/Tool.png b/ONIModTutorial/ONIModTutorial-main/public/images/steam-upload/Tool.png deleted file mode 100644 index 67bd941ba27f2dd177d3824a00d7cf238cc6c367..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9622 zcmV;HC287;P)eh4bY)!^&fNe202g#cSael$WpW@x zZ*6U5Zgc=sV{&C>ZgXgFboX@)M*sjI07*naRCt{2eQ9)5*Ol(xw{A_UL8TcXBmqK9 zVip(-n9+4@?Nji&dN*Lnc9vM$MMK$ zurUS?*ai#;5CRF!Q%S0MJp27P!#!0JgN+==o!UR(a_XFY_c{0M{q1j`TLm`GT?_>& zNJ0KkVgjPw;rXD=_)`!BpmG1E+;#*aK+($oA|T}L0E7U5$gkx{c0fQ9b0h?0LNh}^2876MQ`Zat zrDlfwTFp-U$q&QKXGh%G4+nkOYV*fX&h@43Phj=)`ps>Gl9w zqvSr4Hfu9P0wi%O07QW_(q;f8G1iZ7I9FU7os8ai-Nq5qM;l}7}L;9ID-PJ zygroQM}d}7Eualh8*F))9KiRo1udL0SrDzRdFmw~SfK$omU3)HYZvC2u5Bx>M&hTo z9Fki~lq0bM0_8w(JW$%?T`W`q!4jqaOn|ydJ?NVCd5JzqmTRkd$QH8hi=^2@x;<6` zg9?n*yc7hQGC?WG`zY7qavE@Gyfxayh(7E(bc7 z6KG%sddcPF4o7$wTuz~ZyuLPv1_* zp(VUoE@yEz(77CH?W)iF!{yd)y7R$@{?=VoG~uW5SnL-+`rk(n9Rz^;9{Ai{AN!fRi)qO?dtA{#}n^)7A}{oqP)!K z^>+94zGo#9OHPdu0N`D4IT4FBT{)w2xSXL4&eKH7{S?Y!j%F?2$>Va`n492osu$#P zIq3&{0;JuZNTC6V%0Ccsj-&t@qzaD1BH@&YrbU!VX0QZ`KFYglTu$Yp!WwS7I--&B zj9D47I5gmQ­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 M07*qoM6N<$fYG-3( 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 diff --git a/ONIModTutorial/ONIModTutorial-main/public/templates/ONIModTemplate.zip b/ONIModTutorial/ONIModTutorial-main/public/templates/ONIModTemplate.zip deleted file mode 100644 index 2df063cd93fbfe37a8bcfda68b3ee9f89485f41f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7790 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 Windows --> Package Manager --> + --> Add package from git url --> - `https://github.com/Unity-Technologies/AssetBundles-Browser.git` - -2. **打包资源** - Unity菜单栏 --> Windows --> Asset Bundle Browser-> Tab: Configure 确认 --> Tab: Build -> Build - -3. **Mod中引用** - 需要引用 `UnityEngine.AssetBundleModule.dll` 包 - - ```csharp - using UnityEngine; - - // 载入ab包 - AssetBundle assetBundle = AssetBundle.LoadFromFile(file_path); - - // 加载资源 - // sprite 图片资源 - assetBundle.LoadAsset(sprite_name); - - // 挂载时机:[HarmonyPath(typeof(Asset),"OnPrefabInit")] - // 资源挂载点:Assets.Sprites - - // prefab 预制体 - GameObject prefab = assetBundle.LoadAsset("gameobject_name"); - gameObjectNameInstance = Util.KInstantiate(prefab); - ``` - -### 2. UI界面 - -**简介:** -在缺氧Mod开发中,自定义UI界面是增强用户体验的重要部分。常见的UI界面包括: -- SideScreen:物品或建筑的侧边信息栏 -- 自定义对话框 -- 配置面板 - -**实现方式:** -1. 使用Unity创建UI预制体,打包到AB包中 -2. 在Mod中加载并实例化这些预制体 -3. 使用Harmony补丁修改游戏的UI系统,将自定义UI集成到游戏中 - -### 3. 动画效果 - -**简介:** -动画效果可以为Mod添加视觉吸引力,包括: -- 粒子效果:如特效、光晕、烟雾等 -- 材质动画:如发光、变色等效果 -- 模型动画:如机械运动、角色动作等 - -**实现方式:** -1. 在Unity中创建动画效果和材质 -2. 打包到AB包中 -3. 在Mod中加载并应用这些效果 - -## 最佳实践 - -1. **资源管理**:合理组织AB包,避免过大的包体 -2. **性能优化**:只加载必要的资源,及时卸载不需要的资源 -3. **版本控制**:为AB包添加版本号,方便更新和兼容性管理 -4. **错误处理**:添加资源加载失败的处理逻辑 - -## 注意事项 - -- 确保使用与游戏版本兼容的Unity版本 -- 避免使用Unity的新特性,确保向后兼容性 -- 测试不同平台上的资源加载情况 -- 遵守Klei的Mod开发规范 - -通过合理使用Unity资源,你可以创建更加丰富和专业的缺氧Mod,为玩家带来更好的游戏体验。 \ No newline at end of file diff --git a/ONIModTutorial/ONIModTutorial-main/steam-workshop-upload.md b/ONIModTutorial/ONIModTutorial-main/steam-workshop-upload.md deleted file mode 100644 index 7a4a05a..0000000 --- a/ONIModTutorial/ONIModTutorial-main/steam-workshop-upload.md +++ /dev/null @@ -1,64 +0,0 @@ -# 📤 Steam Workshop 上传指南 - -配置好 `mod_info.yaml` 后,你可以使用《缺氧》游戏内置的工具将 Mod 上传至创意工坊。 - ---- - -## 一 . 上传工具 - -

gzAn!Cs!qe#u+G%` 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