@vue-skuilder/platform-ui 0.1.13 → 0.1.14-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var __defProp2=Object.defineProperty,__getOwnPropNames2=Object.getOwnPropertyNames,__defNormalProp2=(t,n,i)=>n in t?__defProp2(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i,__commonJS=(t,n)=>function(){return n||(0,t[__getOwnPropNames2(t)[0]])((n={exports:{}}).exports,n),n.exports},__publicField2=(t,n,i)=>__defNormalProp2(t,"symbol"!=typeof n?n+"":n,i),require_index_001=__commonJS({"assets/index-k47IFjad.js"(exports,module){!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver((t=>{for(const i of t)if("childList"===i.type)for(const t of i.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&n(t)})).observe(document,{childList:!0,subtree:!0})}function n(t){if(t.ep)return;t.ep=!0;const n=function(t){const n={};return t.integrity&&(n.integrity=t.integrity),t.referrerPolicy&&(n.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?n.credentials="include":"anonymous"===t.crossOrigin?n.credentials="omit":n.credentials="same-origin",n}(t);fetch(t.href,n)}}();const scriptRel="modulepreload",assetsURL=function(t){return"/"+t},seen$2={},__vitePreload=function(t,n,i){let a=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),i=t?.nonce||t?.getAttribute("nonce");a=Promise.allSettled(n.map((t=>{if((t=assetsURL(t))in seen$2)return;seen$2[t]=!0;const n=t.endsWith(".css"),a=n?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${a}`))return;const s=document.createElement("link");return s.rel=n?"stylesheet":scriptRel,n||(s.as="script"),s.crossOrigin="",s.href=t,i&&s.setAttribute("nonce",i),document.head.appendChild(s),n?new Promise(((n,i)=>{s.addEventListener("load",n),s.addEventListener("error",(()=>i(new Error(`Unable to preload CSS for ${t}`))))})):void 0})))}function s(t){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=t,window.dispatchEvent(n),!n.defaultPrevented)throw t}return a.then((n=>{for(const t of n||[])"rejected"===t.status&&s(t.reason);return t().catch(s)}))};var define_process_env_default={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_a73f8a16-cca3-49b3-935e-e95ddf0ab88c",DOTNET_NOLOGO:"1",USER:"runner",npm_config_user_agent:"yarn/4.6.0 npm/? node/v18.20.8 linux x64",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_a73f8a16-cca3-49b3-935e-e95ddf0ab88c",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/tmp/xfs-22824f04/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"patched-network",COREPACK_ROOT:"/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/corepack",GRADLE_HOME:"/usr/share/gradle-9.1.0",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/28.2.13676358",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"200830069",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu24",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",SYSTEMD_EXEC_PID:"1979",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",JAVA_HOME_25_X64:"/usr/lib/jvm/temurin-25-jdk-amd64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20250929.60.1",COREPACK_ENABLE_DOWNLOAD_PROMPT:"1",LOGNAME:"runner",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.12/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",GOROOT_1_23_X64:"/opt/hostedtoolcache/go/1.23.12/x64",JOURNAL_STREAM:"9:11001",GITHUB_WORKFLOW:"Publish to NPM",_:"/opt/hostedtoolcache/node/18.20.8/x64/bin/yarn",MEMORY_PRESSURE_WATCH:"/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure",GOROOT_1_24_X64:"/opt/hostedtoolcache/go/1.24.7/x64",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",GITHUB_RUN_ID:"18917414176",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"23f71f2252af69f58dff8cff582a029da015c1e5",GITHUB_BASE_REF:"",ImageOS:"ubuntu24",GITHUB_WORKFLOW_REF:"patched-network/vue-skuilder/.github/workflows/publish-npm.yml@refs/tags/v0.1.13",ACTIONS_ID_TOKEN_REQUEST_TOKEN:"eyJhbGciOiJSUzI1NiIsImtpZCI6IjM4ODI2YjE3LTZhMzAtNWY5Yi1iMTY5LThiZWI4MjAyZjcyMyIsInR5cCI6IkpXVCIsIng1dCI6InlrTmFZNHFNX3RhNGsyVGdaT0NFWUxrY1lsQSJ9.eyJJZGVudGl0eVR5cGVDbGFpbSI6IlN5c3RlbTpTZXJ2aWNlSWRlbnRpdHkiLCJhYyI6Ilt7XCJTY29wZVwiOlwicmVmcy9oZWFkcy9yZWZzL3RhZ3MvdjAuMS4xM1wiLFwiUGVybWlzc2lvblwiOjN9LHtcIlNjb3BlXCI6XCJyZWZzL2hlYWRzL21hc3RlclwiLFwiUGVybWlzc2lvblwiOjF9XSIsImFjc2wiOiIxMCIsImF1ZCI6InZzbzphNjljOTEzYS1mYzg4LTRkOTktYjllZi1mOTYxZTc2ZGYyMjkiLCJiaWxsaW5nX293bmVyX2lkIjoiT19rZ0RPQ19oc2RRIiwiZXhwIjoxNzYxNzgyNjkyLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3ByaW1hcnlzaWQiOiJkZGRkZGRkZC1kZGRkLWRkZGQtZGRkZC1kZGRkZGRkZGRkZGQiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9zaWQiOiJkZGRkZGRkZC1kZGRkLWRkZGQtZGRkZC1kZGRkZGRkZGRkZGQiLCJpYXQiOjE3NjE3NjA0OTIsImlzcyI6Imh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLCJqb2JfaWQiOiJlYTQxNTc5NS01NTQzLTU1YjctYWI5OS1mMTFiZjFlYTE0NzMiLCJuYW1laWQiOiJkZGRkZGRkZC1kZGRkLWRkZGQtZGRkZC1kZGRkZGRkZGRkZGQiLCJuYmYiOjE3NjE3NjAxOTIsIm9pZGNfZXh0cmEiOiJ7XCJhY3RvclwiOlwiTmlsb0NLXCIsXCJhY3Rvcl9pZFwiOlwiMTA3ODA1OTBcIixcImJhc2VfcmVmXCI6XCJcIixcImV2ZW50X25hbWVcIjpcInB1c2hcIixcImhlYWRfcmVmXCI6XCJcIixcImpvYl93b3JrZmxvd19yZWZcIjpcInBhdGNoZWQtbmV0d29yay92dWUtc2t1aWxkZXIvLmdpdGh1Yi93b3JrZmxvd3MvcHVibGlzaC1ucG0ueW1sQHJlZnMvdGFncy92MC4xLjEzXCIsXCJqb2Jfd29ya2Zsb3dfc2hhXCI6XCIyM2Y3MWYyMjUyYWY2OWY1OGRmZjhjZmY1ODJhMDI5ZGEwMTVjMWU1XCIsXCJyZWZcIjpcInJlZnMvdGFncy92MC4xLjEzXCIsXCJyZWZfcHJvdGVjdGVkXCI6XCJmYWxzZVwiLFwicmVmX3R5cGVcIjpcInRhZ1wiLFwicmVwb3NpdG9yeVwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlclwiLFwicmVwb3NpdG9yeV9pZFwiOlwiMTIyODg2MTczXCIsXCJyZXBvc2l0b3J5X293bmVyXCI6XCJwYXRjaGVkLW5ldHdvcmtcIixcInJlcG9zaXRvcnlfb3duZXJfaWRcIjpcIjIwMDgzMDA2OVwiLFwicmVwb3NpdG9yeV92aXNpYmlsaXR5XCI6XCJwdWJsaWNcIixcInJ1bl9hdHRlbXB0XCI6XCIxXCIsXCJydW5faWRcIjpcIjE4OTE3NDE0MTc2XCIsXCJydW5fbnVtYmVyXCI6XCI3NFwiLFwicnVubmVyX2Vudmlyb25tZW50XCI6XCJnaXRodWItaG9zdGVkXCIsXCJzaGFcIjpcIjIzZjcxZjIyNTJhZjY5ZjU4ZGZmOGNmZjU4MmEwMjlkYTAxNWMxZTVcIixcIndvcmtmbG93XCI6XCJQdWJsaXNoIHRvIE5QTVwiLFwid29ya2Zsb3dfcmVmXCI6XCJwYXRjaGVkLW5ldHdvcmsvdnVlLXNrdWlsZGVyLy5naXRodWIvd29ya2Zsb3dzL3B1Ymxpc2gtbnBtLnltbEByZWZzL3RhZ3MvdjAuMS4xM1wiLFwid29ya2Zsb3dfc2hhXCI6XCIyM2Y3MWYyMjUyYWY2OWY1OGRmZjhjZmY1ODJhMDI5ZGEwMTVjMWU1XCJ9Iiwib2lkY19zdWIiOiJyZXBvOnBhdGNoZWQtbmV0d29yay92dWUtc2t1aWxkZXI6cmVmOnJlZnMvdGFncy92MC4xLjEzIiwib3JjaF9pZCI6ImY5NTUzZGFmLWFhYmYtNDJiZC1iYTNlLTg1OTg4ZDU1OWNiOC5wdWJsaXNoLl9fZGVmYXVsdCIsIm93bmVyX2lkIjoiT19rZ0RPQ19oc2RRIiwicGxhbl9pZCI6ImY5NTUzZGFmLWFhYmYtNDJiZC1iYTNlLTg1OTg4ZDU1OWNiOCIsInJlcG9zaXRvcnlfaWQiOiIxMjI4ODYxNzMiLCJydW5faWQiOiIxODkxNzQxNDE3NiIsInJ1bl9udW1iZXIiOiI3NCIsInJ1bl90eXBlIjoiZnVsbCIsInJ1bm5lcl9pZCI6IjEwMDAwMDQ0MjMiLCJydW5uZXJfdHlwZSI6Imhvc3RlZCIsInNjcCI6IkFjdGlvbnMuUmVzdWx0czpmOTU1M2RhZi1hYWJmLTQyYmQtYmEzZS04NTk4OGQ1NTljYjg6ZWE0MTU3OTUtNTU0My01NWI3LWFiOTktZjExYmYxZWExNDczIEFjdGlvbnMuUnVubmVyOmY5NTUzZGFmLWFhYmYtNDJiZC1iYTNlLTg1OTg4ZDU1OWNiODplYTQxNTc5NS01NTQzLTU1YjctYWI5OS1mMTFiZjFlYTE0NzMgQWN0aW9ucy5VcGxvYWRBcnRpZmFjdHM6Zjk1NTNkYWYtYWFiZi00MmJkLWJhM2UtODU5ODhkNTU5Y2I4OmVhNDE1Nzk1LTU1NDMtNTViNy1hYjk5LWYxMWJmMWVhMTQ3MyBnZW5lcmF0ZV9pZF90b2tlbjpmOTU1M2RhZi1hYWJmLTQyYmQtYmEzZS04NTk4OGQ1NTljYjg6ZWE0MTU3OTUtNTU0My01NWI3LWFiOTktZjExYmYxZWExNDczIEFjdGlvbnMuR2VuZXJpY1JlYWQ6MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwic2hhIjoiMjNmNzFmMjI1MmFmNjlmNThkZmY4Y2ZmNTgyYTAyOWRhMDE1YzFlNSIsInRydXN0X3RpZXIiOiIyIn0.qi6MpNb0Gm1uk4MnaFM01WEaw_riJagGFu1QJC6-rPzhaMxflEn3rz_08Q08ni5OC_QjX4KWu98BdhNbn4dVnXm27FOCJA3e5ohKxmLkyuNbMmOCPLFojxjtv-DeI-feT43HJ7YHRfRftziRb3sqi43VV48SXAU7vP6JvVaTpDJMSrtHq61i2DrueZykrL1LkHikk8SsGBLDEWnT8UlV1RiKGfW25400sOvxrQYiwU4_EOD2QmHhstkPpvEMwdyFjblLI2usrXMwfqwHMkvFXiBwI3LBFg2GE22vF59Bs_3A_ds2av6xhQboQkkOB8KNdDEpWK3OsJNASPumGZzpUA",GITHUB_ACTION_REPOSITORY:"",ENABLE_RUNNER_TRACING:"true",PATH:"/tmp/xfs-22824f04:/opt/hostedtoolcache/node/18.20.8/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_3076e3ad-8f4c-48b8-a5d2-b6d7e67e7252",INVOCATION_ID:"a74175afc51643d2877c4d7f127bd55c",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",npm_package_name:"@vue-skuilder/platform-ui",GITHUB_ACTION:"__run_5",GITHUB_RUN_NUMBER:"74",GITHUB_TRIGGERING_ACTOR:"NiloCK",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 1000004423",XDG_CONFIG_HOME:"/home/runner/.config",GITHUB_REF_NAME:"v0.1.13",GITHUB_REPOSITORY:"patched-network/vue-skuilder",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/27.3.13750724",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",PROJECT_CWD:"/home/runner/work/vue-skuilder/vue-skuilder",SHELL:"/bin/bash",GITHUB_REPOSITORY_ID:"122886173",GITHUB_ACTIONS:"true",npm_package_version:"0.1.13",npm_lifecycle_event:"build",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/vue-skuilder/vue-skuilder",ACCEPT_EULA:"Y",GITHUB_JOB:"publish",GITHUB_SHA:"23f71f2252af69f58dff8cff582a029da015c1e5",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v0.1.13",GITHUB_ACTOR:"NiloCK",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_a73f8a16-cca3-49b3-935e-e95ddf0ab88c",JAVA_HOME:"/usr/lib/jvm/temurin-17-jdk-amd64",PWD:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui",GITHUB_ACTOR_ID:"10780590",RUNNER_WORKSPACE:"/home/runner/work/vue-skuilder",BERRY_BIN_FOLDER:"/tmp/xfs-22824f04",npm_execpath:"/tmp/xfs-22824f04/yarn",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",ACTIONS_ID_TOKEN_REQUEST_URL:"https://run-actions-3-azure-eastus.actions.githubusercontent.com/61//idtoken/f9553daf-aabf-42bd-ba3e-85988d559cb8/ea415795-5543-55b7-ab99-f11bf1ea1473?api-version=2.0",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_a73f8a16-cca3-49b3-935e-e95ddf0ab88c",EDGEWEBDRIVER:"/usr/local/share/edge_driver",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/27.3.13750724",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",MEMORY_PRESSURE_WRITE:"c29tZSAyMDAwMDAgMjAwMDAwMAA=",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/27.3.13750724",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_a73f8a16-cca3-49b3-935e-e95ddf0ab88c",INIT_CWD:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui",NODE_ENV:"production"};const defaultEnv={COUCHDB_SERVER_URL:"localhost:5984/",COUCHDB_SERVER_PROTOCOL:"http",EXPRESS_SERVER_URL:"localhost:3000/",EXPRESS_SERVER_PROTOCOL:"http",DEBUG:!1,MOCK:!1},isBrowser$2="undefined"!=typeof window;function getNodeEnv(){return console.log(`Process.env: ${JSON.stringify(define_process_env_default)}`),{COUCHDB_SERVER_URL:define_process_env_default.COUCHDB_SERVER||defaultEnv.COUCHDB_SERVER_URL,COUCHDB_SERVER_PROTOCOL:define_process_env_default.COUCHDB_PROTOCOL||defaultEnv.COUCHDB_SERVER_PROTOCOL,EXPRESS_SERVER_URL:define_process_env_default.EXPRESS_SERVER||defaultEnv.EXPRESS_SERVER_URL,EXPRESS_SERVER_PROTOCOL:define_process_env_default.EXPRESS_PROTOCOL||defaultEnv.EXPRESS_SERVER_PROTOCOL,DEBUG:"true"===define_process_env_default.DEBUG||defaultEnv.DEBUG,MOCK:"true"===define_process_env_default.MOCK||defaultEnv.MOCK}}let ENV$1;isBrowser$2?(ENV$1=window.__SKUILDER_ENV__?{...defaultEnv,...window.__SKUILDER_ENV__}:defaultEnv,console.log("Browser ENV initialized:",ENV$1)):(ENV$1=getNodeEnv(),console.log("Node ENV initialized:",ENV$1));const ENV$2=ENV$1;
1
+ var __defProp2=Object.defineProperty,__getOwnPropNames2=Object.getOwnPropertyNames,__defNormalProp2=(t,n,i)=>n in t?__defProp2(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i,__commonJS=(t,n)=>function(){return n||(0,t[__getOwnPropNames2(t)[0]])((n={exports:{}}).exports,n),n.exports},__publicField2=(t,n,i)=>__defNormalProp2(t,"symbol"!=typeof n?n+"":n,i),require_index_001=__commonJS({"assets/index-BnAZ3XPg.js"(exports,module){!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver((t=>{for(const i of t)if("childList"===i.type)for(const t of i.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&n(t)})).observe(document,{childList:!0,subtree:!0})}function n(t){if(t.ep)return;t.ep=!0;const n=function(t){const n={};return t.integrity&&(n.integrity=t.integrity),t.referrerPolicy&&(n.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?n.credentials="include":"anonymous"===t.crossOrigin?n.credentials="omit":n.credentials="same-origin",n}(t);fetch(t.href,n)}}();const scriptRel="modulepreload",assetsURL=function(t){return"/"+t},seen$2={},__vitePreload=function(t,n,i){let a=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),i=t?.nonce||t?.getAttribute("nonce");a=Promise.allSettled(n.map((t=>{if((t=assetsURL(t))in seen$2)return;seen$2[t]=!0;const n=t.endsWith(".css"),a=n?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${a}`))return;const s=document.createElement("link");return s.rel=n?"stylesheet":scriptRel,n||(s.as="script"),s.crossOrigin="",s.href=t,i&&s.setAttribute("nonce",i),document.head.appendChild(s),n?new Promise(((n,i)=>{s.addEventListener("load",n),s.addEventListener("error",(()=>i(new Error(`Unable to preload CSS for ${t}`))))})):void 0})))}function s(t){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=t,window.dispatchEvent(n),!n.defaultPrevented)throw t}return a.then((n=>{for(const t of n||[])"rejected"===t.status&&s(t.reason);return t().catch(s)}))};var define_process_env_default={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_d129cd93-fbc0-44a0-ace2-22e04ff6e243",DOTNET_NOLOGO:"1",USER:"runner",npm_config_user_agent:"yarn/4.6.0 npm/? node/v18.20.8 linux x64",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_d129cd93-fbc0-44a0-ace2-22e04ff6e243",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/tmp/xfs-bade799a/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"patched-network",COREPACK_ROOT:"/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/corepack",GRADLE_HOME:"/usr/share/gradle-9.1.0",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/28.2.13676358",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"200830069",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu24",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",SYSTEMD_EXEC_PID:"1880",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",JAVA_HOME_25_X64:"/usr/lib/jvm/temurin-25-jdk-amd64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20250929.60.1",COREPACK_ENABLE_DOWNLOAD_PROMPT:"1",LOGNAME:"runner",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.12/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",GOROOT_1_23_X64:"/opt/hostedtoolcache/go/1.23.12/x64",JOURNAL_STREAM:"9:14346",GITHUB_WORKFLOW:"Publish to NPM",_:"/opt/hostedtoolcache/node/18.20.8/x64/bin/yarn",MEMORY_PRESSURE_WATCH:"/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure",GOROOT_1_24_X64:"/opt/hostedtoolcache/go/1.24.7/x64",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",GITHUB_RUN_ID:"18948037073",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"3a788917c19602c581dfc5f7ed100c8f7b6a65b0",GITHUB_BASE_REF:"",ImageOS:"ubuntu24",GITHUB_WORKFLOW_REF:"patched-network/vue-skuilder/.github/workflows/publish-npm.yml@refs/tags/v0.1.14-2",ACTIONS_ID_TOKEN_REQUEST_TOKEN:"eyJhbGciOiJSUzI1NiIsImtpZCI6IjM4ODI2YjE3LTZhMzAtNWY5Yi1iMTY5LThiZWI4MjAyZjcyMyIsInR5cCI6IkpXVCIsIng1dCI6InlrTmFZNHFNX3RhNGsyVGdaT0NFWUxrY1lsQSJ9.eyJJZGVudGl0eVR5cGVDbGFpbSI6IlN5c3RlbTpTZXJ2aWNlSWRlbnRpdHkiLCJhYyI6Ilt7XCJTY29wZVwiOlwicmVmcy9oZWFkcy9yZWZzL3RhZ3MvdjAuMS4xNC0yXCIsXCJQZXJtaXNzaW9uXCI6M30se1wiU2NvcGVcIjpcInJlZnMvaGVhZHMvbWFzdGVyXCIsXCJQZXJtaXNzaW9uXCI6MX1dIiwiYWNzbCI6IjEwIiwiYXVkIjoidnNvOmE2OWM5MTNhLWZjODgtNGQ5OS1iOWVmLWY5NjFlNzZkZjIyOSIsImJpbGxpbmdfb3duZXJfaWQiOiJPX2tnRE9DX2hzZFEiLCJleHAiOjE3NjE4NjQzMjMsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcHJpbWFyeXNpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL3NpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImlhdCI6MTc2MTg0MjEyMywiaXNzIjoiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImpvYl9pZCI6ImYxMDJiZmI1LTU1ZWEtNTRlOS1hZThjLTNkNTk1YTkyYmIyMSIsIm5hbWVpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsIm5iZiI6MTc2MTg0MTgyMywib2lkY19leHRyYSI6IntcImFjdG9yXCI6XCJOaWxvQ0tcIixcImFjdG9yX2lkXCI6XCIxMDc4MDU5MFwiLFwiYmFzZV9yZWZcIjpcIlwiLFwiZXZlbnRfbmFtZVwiOlwicHVzaFwiLFwiaGVhZF9yZWZcIjpcIlwiLFwiam9iX3dvcmtmbG93X3JlZlwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlci8uZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLW5wbS55bWxAcmVmcy90YWdzL3YwLjEuMTQtMlwiLFwiam9iX3dvcmtmbG93X3NoYVwiOlwiM2E3ODg5MTdjMTk2MDJjNTgxZGZjNWY3ZWQxMDBjOGY3YjZhNjViMFwiLFwicmVmXCI6XCJyZWZzL3RhZ3MvdjAuMS4xNC0yXCIsXCJyZWZfcHJvdGVjdGVkXCI6XCJmYWxzZVwiLFwicmVmX3R5cGVcIjpcInRhZ1wiLFwicmVwb3NpdG9yeVwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlclwiLFwicmVwb3NpdG9yeV9pZFwiOlwiMTIyODg2MTczXCIsXCJyZXBvc2l0b3J5X293bmVyXCI6XCJwYXRjaGVkLW5ldHdvcmtcIixcInJlcG9zaXRvcnlfb3duZXJfaWRcIjpcIjIwMDgzMDA2OVwiLFwicmVwb3NpdG9yeV92aXNpYmlsaXR5XCI6XCJwdWJsaWNcIixcInJ1bl9hdHRlbXB0XCI6XCIxXCIsXCJydW5faWRcIjpcIjE4OTQ4MDM3MDczXCIsXCJydW5fbnVtYmVyXCI6XCI3NlwiLFwicnVubmVyX2Vudmlyb25tZW50XCI6XCJnaXRodWItaG9zdGVkXCIsXCJzaGFcIjpcIjNhNzg4OTE3YzE5NjAyYzU4MWRmYzVmN2VkMTAwYzhmN2I2YTY1YjBcIixcIndvcmtmbG93XCI6XCJQdWJsaXNoIHRvIE5QTVwiLFwid29ya2Zsb3dfcmVmXCI6XCJwYXRjaGVkLW5ldHdvcmsvdnVlLXNrdWlsZGVyLy5naXRodWIvd29ya2Zsb3dzL3B1Ymxpc2gtbnBtLnltbEByZWZzL3RhZ3MvdjAuMS4xNC0yXCIsXCJ3b3JrZmxvd19zaGFcIjpcIjNhNzg4OTE3YzE5NjAyYzU4MWRmYzVmN2VkMTAwYzhmN2I2YTY1YjBcIn0iLCJvaWRjX3N1YiI6InJlcG86cGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlcjpyZWY6cmVmcy90YWdzL3YwLjEuMTQtMiIsIm9yY2hfaWQiOiJiOTVjMWY2OS0xMDVmLTQ0YjctOGVlOS03OThkMGYxM2RlOWMucHVibGlzaC5fX2RlZmF1bHQiLCJvd25lcl9pZCI6Ik9fa2dET0NfaHNkUSIsInBsYW5faWQiOiJiOTVjMWY2OS0xMDVmLTQ0YjctOGVlOS03OThkMGYxM2RlOWMiLCJyZXBvc2l0b3J5X2lkIjoiMTIyODg2MTczIiwicnVuX2lkIjoiMTg5NDgwMzcwNzMiLCJydW5fbnVtYmVyIjoiNzYiLCJydW5fdHlwZSI6ImZ1bGwiLCJydW5uZXJfaWQiOiIxMDAwMDA0NDY4IiwicnVubmVyX3R5cGUiOiJob3N0ZWQiLCJzY3AiOiJBY3Rpb25zLlJlc3VsdHM6Yjk1YzFmNjktMTA1Zi00NGI3LThlZTktNzk4ZDBmMTNkZTljOmYxMDJiZmI1LTU1ZWEtNTRlOS1hZThjLTNkNTk1YTkyYmIyMSBBY3Rpb25zLlJ1bm5lcjpiOTVjMWY2OS0xMDVmLTQ0YjctOGVlOS03OThkMGYxM2RlOWM6ZjEwMmJmYjUtNTVlYS01NGU5LWFlOGMtM2Q1OTVhOTJiYjIxIEFjdGlvbnMuVXBsb2FkQXJ0aWZhY3RzOmI5NWMxZjY5LTEwNWYtNDRiNy04ZWU5LTc5OGQwZjEzZGU5YzpmMTAyYmZiNS01NWVhLTU0ZTktYWU4Yy0zZDU5NWE5MmJiMjEgZ2VuZXJhdGVfaWRfdG9rZW46Yjk1YzFmNjktMTA1Zi00NGI3LThlZTktNzk4ZDBmMTNkZTljOmYxMDJiZmI1LTU1ZWEtNTRlOS1hZThjLTNkNTk1YTkyYmIyMSBBY3Rpb25zLkdlbmVyaWNSZWFkOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInNoYSI6IjNhNzg4OTE3YzE5NjAyYzU4MWRmYzVmN2VkMTAwYzhmN2I2YTY1YjAiLCJ0cnVzdF90aWVyIjoiMiJ9.uDRy-OIAoaZ3dyjWU7y3JSgxtmPxLPIZMnF9ucTQB8vbh9XHSwbxszq-cZHVdQoRAU9FT4YPSsZpKdfeI5nzlLI99a_ZNe35zjIse97bVV7eX6FDvWOoZBuyOBOEukABM3ubSqM84azu90OADTflt9Cm7y043sIAWtsHfUjz_3jkqO5BFYnfGMCas2pbok_D8wnKyWx0cmfG98H2asKdELDv6UmoAGo3EahVCXFRVzGUQK0eUwqmcW4yE_w_CbZMMA_FOjpJUsMgtlSqWp2LZK7pl01lKCWC3sbOGZakiUNUVO0rLlFQDT0YVxL9-TGZrWddoXZKH6qSLB1f75qnTA",GITHUB_ACTION_REPOSITORY:"",ENABLE_RUNNER_TRACING:"true",PATH:"/tmp/xfs-bade799a:/opt/hostedtoolcache/node/18.20.8/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_ea3501b3-0e9d-4780-a4aa-2237c116c4cb",INVOCATION_ID:"96d96c24d66646fea59fdce954f842af",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",npm_package_name:"@vue-skuilder/platform-ui",GITHUB_ACTION:"__run_5",GITHUB_RUN_NUMBER:"76",GITHUB_TRIGGERING_ACTOR:"NiloCK",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 1000004468",XDG_CONFIG_HOME:"/home/runner/.config",GITHUB_REF_NAME:"v0.1.14-2",GITHUB_REPOSITORY:"patched-network/vue-skuilder",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/27.3.13750724",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",PROJECT_CWD:"/home/runner/work/vue-skuilder/vue-skuilder",SHELL:"/bin/bash",GITHUB_REPOSITORY_ID:"122886173",GITHUB_ACTIONS:"true",npm_package_version:"0.1.14-2",npm_lifecycle_event:"build",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/vue-skuilder/vue-skuilder",ACCEPT_EULA:"Y",GITHUB_JOB:"publish",GITHUB_SHA:"3a788917c19602c581dfc5f7ed100c8f7b6a65b0",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v0.1.14-2",GITHUB_ACTOR:"NiloCK",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_d129cd93-fbc0-44a0-ace2-22e04ff6e243",JAVA_HOME:"/usr/lib/jvm/temurin-17-jdk-amd64",PWD:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui",GITHUB_ACTOR_ID:"10780590",RUNNER_WORKSPACE:"/home/runner/work/vue-skuilder",BERRY_BIN_FOLDER:"/tmp/xfs-bade799a",npm_execpath:"/tmp/xfs-bade799a/yarn",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",ACTIONS_ID_TOKEN_REQUEST_URL:"https://run-actions-3-azure-eastus.actions.githubusercontent.com/95//idtoken/b95c1f69-105f-44b7-8ee9-798d0f13de9c/f102bfb5-55ea-54e9-ae8c-3d595a92bb21?api-version=2.0",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_d129cd93-fbc0-44a0-ace2-22e04ff6e243",EDGEWEBDRIVER:"/usr/local/share/edge_driver",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/27.3.13750724",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",MEMORY_PRESSURE_WRITE:"c29tZSAyMDAwMDAgMjAwMDAwMAA=",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/27.3.13750724",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_d129cd93-fbc0-44a0-ace2-22e04ff6e243",INIT_CWD:"/home/runner/work/vue-skuilder/vue-skuilder/packages/platform-ui",NODE_ENV:"production"};const defaultEnv={COUCHDB_SERVER_URL:"localhost:5984/",COUCHDB_SERVER_PROTOCOL:"http",EXPRESS_SERVER_URL:"localhost:3000/",EXPRESS_SERVER_PROTOCOL:"http",DEBUG:!1,MOCK:!1},isBrowser$2="undefined"!=typeof window;function getNodeEnv(){return console.log(`Process.env: ${JSON.stringify(define_process_env_default)}`),{COUCHDB_SERVER_URL:define_process_env_default.COUCHDB_SERVER||defaultEnv.COUCHDB_SERVER_URL,COUCHDB_SERVER_PROTOCOL:define_process_env_default.COUCHDB_PROTOCOL||defaultEnv.COUCHDB_SERVER_PROTOCOL,EXPRESS_SERVER_URL:define_process_env_default.EXPRESS_SERVER||defaultEnv.EXPRESS_SERVER_URL,EXPRESS_SERVER_PROTOCOL:define_process_env_default.EXPRESS_PROTOCOL||defaultEnv.EXPRESS_SERVER_PROTOCOL,DEBUG:"true"===define_process_env_default.DEBUG||defaultEnv.DEBUG,MOCK:"true"===define_process_env_default.MOCK||defaultEnv.MOCK}}let ENV$1;isBrowser$2?(ENV$1=window.__SKUILDER_ENV__?{...defaultEnv,...window.__SKUILDER_ENV__}:defaultEnv,console.log("Browser ENV initialized:",ENV$1)):(ENV$1=getNodeEnv(),console.log("Node ENV initialized:",ENV$1));const ENV$2=ENV$1;
2
2
  /**
3
3
  * @vue/shared v3.5.13
4
4
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
@@ -27,7 +27,7 @@ let policy;const tt="undefined"!=typeof window&&window.trustedTypes;if(tt)try{po
27
27
  /*! #__NO_SIDE_EFFECTS__ */function defineCustomElement(t,n,i){const a=defineComponent$1(t,n);isPlainObject$6(a)&&extend$5(a,n);class VueCustomElement extends VueElement{constructor(t){super(a,t,i)}}return VueCustomElement.def=a,VueCustomElement}
28
28
  /*! #__NO_SIDE_EFFECTS__ */const defineSSRCustomElement=(t,n)=>defineCustomElement(t,n,createSSRApp),BaseClass="undefined"!=typeof HTMLElement?HTMLElement:class{};class VueElement extends BaseClass{constructor(t,n={},i=createApp){super(),this._def=t,this._props=n,this._createApp=i,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&i!==createApp?this._root=this.shadowRoot:!1!==t.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.parentNode||t.host);)if(t instanceof VueElement){this._parent=t;break}this._instance||(this._resolved?(this._setParent(),this._update()):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then((()=>{this._pendingResolve=void 0,this._resolveDef()})):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._instance.provides=t._instance.provides)}disconnectedCallback(){this._connected=!1,nextTick$2((()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)}))}_resolveDef(){if(this._pendingResolve)return;for(let i=0;i<this.attributes.length;i++)this._setAttr(this.attributes[i].name);this._ob=new MutationObserver((t=>{for(const n of t)this._setAttr(n.attributeName)})),this._ob.observe(this,{attributes:!0});const t=(t,n=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:a}=t;let s;if(i&&!isArray$6(i))for(const l in i){const t=i[l];(t===Number||t&&t.type===Number)&&(l in this._props&&(this._props[l]=toNumber(this._props[l])),(s||(s=Object.create(null)))[camelize(l)]=!0)}this._numberProps=s,n&&this._resolveProps(t),this.shadowRoot&&this._applyStyles(a),this._mount(t)},n=this._def.__asyncLoader;n?this._pendingResolve=n().then((n=>t(this._def=n,!0))):t(this._def)}_mount(t){this._app=this._createApp(t),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const i in n)hasOwn(this,i)||Object.defineProperty(this,i,{get:()=>unref(n[i])})}_resolveProps(t){const{props:n}=t,i=isArray$6(n)?n:Object.keys(n||{});for(const a of Object.keys(this))"_"!==a[0]&&i.includes(a)&&this._setProp(a,this[a]);for(const a of i.map(camelize))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(t){this._setProp(a,t,!0,!0)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let i=n?this.getAttribute(t):REMOVAL;const a=camelize(t);n&&this._numberProps&&this._numberProps[a]&&(i=toNumber(i)),this._setProp(a,i,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,i=!0,a=!1){if(n!==this._props[t]&&(n===REMOVAL?delete this._props[t]:(this._props[t]=n,"key"===t&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),i)){const i=this._ob;i&&i.disconnect(),!0===n?this.setAttribute(hyphenate(t),""):"string"==typeof n||"number"==typeof n?this.setAttribute(hyphenate(t),n+""):n||this.removeAttribute(hyphenate(t)),i&&i.observe(this,{attributes:!0})}}_update(){render$4(this._createVNode(),this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=createVNode(this._def,extend$5(t,this._props));return this._instance||(n.ce=t=>{this._instance=t,t.ce=this,t.isCE=!0;const n=(t,n)=>{this.dispatchEvent(new CustomEvent(t,isPlainObject$6(n[0])?extend$5({detail:n},n[0]):{detail:n}))};t.emit=(t,...i)=>{n(t,i),hyphenate(t)!==t&&n(hyphenate(t),i)},this._setParent()}),n}_applyStyles(t,n){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const i=this._nonce;for(let a=t.length-1;a>=0;a--){const n=document.createElement("style");i&&n.setAttribute("nonce",i),n.textContent=t[a],this.shadowRoot.prepend(n)}}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const i=1===n.nodeType&&n.getAttribute("slot")||"default";(t[i]||(t[i]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=(this._teleportTarget||this).querySelectorAll("slot"),n=this._instance.type.__scopeId;for(let i=0;i<t.length;i++){const a=t[i],s=a.getAttribute("name")||"default",l=this._slots[s],c=a.parentNode;if(l)for(const t of l){if(n&&1===t.nodeType){const i=n+"-s",a=document.createTreeWalker(t,1);let s;for(t.setAttribute(i,"");s=a.nextNode();)s.setAttribute(i,"")}c.insertBefore(t,a)}else for(;a.firstChild;)c.insertBefore(a.firstChild,a);c.removeChild(a)}}_injectChildStyle(t){this._applyStyles(t.styles,t)}_removeChildStyle(t){}}function useHost(t){const n=getCurrentInstance$1(),i=n&&n.ce;return i||null}function useShadowRoot(){const t=useHost();return t&&t.shadowRoot}function useCssModule(t="$style"){{const n=getCurrentInstance$1();if(!n)return EMPTY_OBJ;const i=n.type.__cssModules;if(!i)return EMPTY_OBJ;const a=i[t];return a||EMPTY_OBJ}}const positionMap=new WeakMap,newPositionMap=new WeakMap,moveCbKey=Symbol("_moveCb"),enterCbKey=Symbol("_enterCb"),decorate=t=>(delete t.props.mode,t),TransitionGroupImpl=decorate({name:"TransitionGroup",props:extend$5({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(t,{slots:n}){const i=getCurrentInstance$1(),a=useTransitionState();let s,l;return onUpdated((()=>{if(!s.length)return;const n=t.moveClass||`${t.name||"v"}-move`;if(!hasCSSTransform(s[0].el,i.vnode.el,n))return;s.forEach(callPendingCbs),s.forEach(recordPosition);const a=s.filter(applyTranslation);forceReflow(),a.forEach((t=>{const i=t.el,a=i.style;addTransitionClass(i,n),a.transform=a.webkitTransform=a.transitionDuration="";const s=i[moveCbKey]=t=>{t&&t.target!==i||t&&!/transform$/.test(t.propertyName)||(i.removeEventListener("transitionend",s),i[moveCbKey]=null,removeTransitionClass(i,n))};i.addEventListener("transitionend",s)}))})),()=>{const c=toRaw(t),u=resolveTransitionProps(c);let d=c.tag||Fragment;if(s=[],l)for(let t=0;t<l.length;t++){const n=l[t];n.el&&n.el instanceof Element&&(s.push(n),setTransitionHooks(n,resolveTransitionHooks(n,u,a,i)),positionMap.set(n,n.el.getBoundingClientRect()))}l=n.default?getTransitionRawChildren(n.default()):[];for(let t=0;t<l.length;t++){const n=l[t];null!=n.key&&setTransitionHooks(n,resolveTransitionHooks(n,u,a,i))}return createVNode(d,null,l)}}}),TransitionGroup=TransitionGroupImpl;function callPendingCbs(t){const n=t.el;n[moveCbKey]&&n[moveCbKey](),n[enterCbKey]&&n[enterCbKey]()}function recordPosition(t){newPositionMap.set(t,t.el.getBoundingClientRect())}function applyTranslation(t){const n=positionMap.get(t),i=newPositionMap.get(t),a=n.left-i.left,s=n.top-i.top;if(a||s){const n=t.el.style;return n.transform=n.webkitTransform=`translate(${a}px,${s}px)`,n.transitionDuration="0s",t}}function hasCSSTransform(t,n,i){const a=t.cloneNode(),s=t[vtcKey];s&&s.forEach((t=>{t.split(/\s+/).forEach((t=>t&&a.classList.remove(t)))})),i.split(/\s+/).forEach((t=>t&&a.classList.add(t))),a.style.display="none";const l=1===n.nodeType?n:n.parentNode;l.appendChild(a);const{hasTransform:c}=getTransitionInfo(a);return l.removeChild(a),c}const getModelAssigner=t=>{const n=t.props["onUpdate:modelValue"]||!1;return isArray$6(n)?t=>invokeArrayFns(n,t):n};function onCompositionStart(t){t.target.composing=!0}function onCompositionEnd(t){const n=t.target;n.composing&&(n.composing=!1,n.dispatchEvent(new Event("input")))}const assignKey=Symbol("_assign"),vModelText={created(t,{modifiers:{lazy:n,trim:i,number:a}},s){t[assignKey]=getModelAssigner(s);const l=a||s.props&&"number"===s.props.type;addEventListener$1(t,n?"change":"input",(n=>{if(n.target.composing)return;let a=t.value;i&&(a=a.trim()),l&&(a=looseToNumber(a)),t[assignKey](a)})),i&&addEventListener$1(t,"change",(()=>{t.value=t.value.trim()})),n||(addEventListener$1(t,"compositionstart",onCompositionStart),addEventListener$1(t,"compositionend",onCompositionEnd),addEventListener$1(t,"change",onCompositionEnd))},mounted(t,{value:n}){t.value=null==n?"":n},beforeUpdate(t,{value:n,oldValue:i,modifiers:{lazy:a,trim:s,number:l}},c){if(t[assignKey]=getModelAssigner(c),t.composing)return;const u=null==n?"":n;if((!l&&"number"!==t.type||/^0\d/.test(t.value)?t.value:looseToNumber(t.value))!==u){if(document.activeElement===t&&"range"!==t.type){if(a&&n===i)return;if(s&&t.value.trim()===u)return}t.value=u}}},vModelCheckbox={deep:!0,created(t,n,i){t[assignKey]=getModelAssigner(i),addEventListener$1(t,"change",(()=>{const n=t._modelValue,i=getValue$2(t),a=t.checked,s=t[assignKey];if(isArray$6(n)){const t=looseIndexOf(n,i),l=-1!==t;if(a&&!l)s(n.concat(i));else if(!a&&l){const i=[...n];i.splice(t,1),s(i)}}else if(isSet(n)){const t=new Set(n);a?t.add(i):t.delete(i),s(t)}else s(getCheckboxValue(t,a))}))},mounted:setChecked,beforeUpdate(t,n,i){t[assignKey]=getModelAssigner(i),setChecked(t,n,i)}};function setChecked(t,{value:n,oldValue:i},a){let s;if(t._modelValue=n,isArray$6(n))s=looseIndexOf(n,a.props.value)>-1;else if(isSet(n))s=n.has(a.props.value);else{if(n===i)return;s=looseEqual(n,getCheckboxValue(t,!0))}t.checked!==s&&(t.checked=s)}const vModelRadio={created(t,{value:n},i){t.checked=looseEqual(n,i.props.value),t[assignKey]=getModelAssigner(i),addEventListener$1(t,"change",(()=>{t[assignKey](getValue$2(t))}))},beforeUpdate(t,{value:n,oldValue:i},a){t[assignKey]=getModelAssigner(a),n!==i&&(t.checked=looseEqual(n,a.props.value))}},vModelSelect={deep:!0,created(t,{value:n,modifiers:{number:i}},a){const s=isSet(n);addEventListener$1(t,"change",(()=>{const n=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>i?looseToNumber(getValue$2(t)):getValue$2(t)));t[assignKey](t.multiple?s?new Set(n):n:n[0]),t._assigning=!0,nextTick$2((()=>{t._assigning=!1}))})),t[assignKey]=getModelAssigner(a)},mounted(t,{value:n}){setSelected$2(t,n)},beforeUpdate(t,n,i){t[assignKey]=getModelAssigner(i)},updated(t,{value:n}){t._assigning||setSelected$2(t,n)}};function setSelected$2(t,n){const i=t.multiple,a=isArray$6(n);if(!i||a||isSet(n)){for(let s=0,l=t.options.length;s<l;s++){const l=t.options[s],c=getValue$2(l);if(i)if(a){const t=typeof c;l.selected="string"===t||"number"===t?n.some((t=>String(t)===String(c))):looseIndexOf(n,c)>-1}else l.selected=n.has(c);else if(looseEqual(getValue$2(l),n))return void(t.selectedIndex!==s&&(t.selectedIndex=s))}i||-1===t.selectedIndex||(t.selectedIndex=-1)}}function getValue$2(t){return"_value"in t?t._value:t.value}function getCheckboxValue(t,n){const i=n?"_trueValue":"_falseValue";return i in t?t[i]:n}const vModelDynamic={created(t,n,i){callModelHook(t,n,i,null,"created")},mounted(t,n,i){callModelHook(t,n,i,null,"mounted")},beforeUpdate(t,n,i,a){callModelHook(t,n,i,a,"beforeUpdate")},updated(t,n,i,a){callModelHook(t,n,i,a,"updated")}};function resolveDynamicModel(t,n){switch(t){case"SELECT":return vModelSelect;case"TEXTAREA":return vModelText;default:switch(n){case"checkbox":return vModelCheckbox;case"radio":return vModelRadio;default:return vModelText}}}function callModelHook(t,n,i,a,s){const l=resolveDynamicModel(t.tagName,i.props&&i.props.type)[s];l&&l(t,n,i,a)}function initVModelForSSR(){vModelText.getSSRProps=({value:t})=>({value:t}),vModelRadio.getSSRProps=({value:t},n)=>{if(n.props&&looseEqual(n.props.value,t))return{checked:!0}},vModelCheckbox.getSSRProps=({value:t},n)=>{if(isArray$6(t)){if(n.props&&looseIndexOf(t,n.props.value)>-1)return{checked:!0}}else if(isSet(t)){if(n.props&&t.has(n.props.value))return{checked:!0}}else if(t)return{checked:!0}},vModelDynamic.getSSRProps=(t,n)=>{if("string"!=typeof n.type)return;const i=resolveDynamicModel(n.type.toUpperCase(),n.props&&n.props.type);return i.getSSRProps?i.getSSRProps(t,n):void 0}}const systemModifiers=["ctrl","shift","alt","meta"],modifierGuards={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,n)=>systemModifiers.some((i=>t[`${i}Key`]&&!n.includes(i)))},withModifiers=(t,n)=>{const i=t._withMods||(t._withMods={}),a=n.join(".");return i[a]||(i[a]=(i,...a)=>{for(let t=0;t<n.length;t++){const a=modifierGuards[n[t]];if(a&&a(i,n))return}return t(i,...a)})},keyNames={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},withKeys=(t,n)=>{const i=t._withKeys||(t._withKeys={}),a=n.join(".");return i[a]||(i[a]=i=>{if(!("key"in i))return;const a=hyphenate(i.key);return n.some((t=>t===a||keyNames[t]===a))?t(i):void 0})},rendererOptions=extend$5({patchProp:patchProp},nodeOps);let renderer$2,enabledHydration=!1;function ensureRenderer(){return renderer$2||(renderer$2=createRenderer(rendererOptions))}function ensureHydrationRenderer(){return renderer$2=enabledHydration?renderer$2:createHydrationRenderer(rendererOptions),enabledHydration=!0,renderer$2}const render$4=(...t)=>{ensureRenderer().render(...t)},hydrate=(...t)=>{ensureHydrationRenderer().hydrate(...t)},createApp=(...t)=>{const n=ensureRenderer().createApp(...t),{mount:i}=n;return n.mount=t=>{const a=normalizeContainer(t);if(!a)return;const s=n._component;isFunction$4(s)||s.render||s.template||(s.template=a.innerHTML),1===a.nodeType&&(a.textContent="");const l=i(a,!1,resolveRootNamespace(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),l},n},createSSRApp=(...t)=>{const n=ensureHydrationRenderer().createApp(...t),{mount:i}=n;return n.mount=t=>{const n=normalizeContainer(t);if(n)return i(n,!0,resolveRootNamespace(n))},n};function resolveRootNamespace(t){return t instanceof SVGElement?"svg":"function"==typeof MathMLElement&&t instanceof MathMLElement?"mathml":void 0}function normalizeContainer(t){if(isString$4(t)){return document.querySelector(t)}return t}let ssrDirectiveInitialized=!1;const initDirectivesForSSR=()=>{ssrDirectiveInitialized||(ssrDirectiveInitialized=!0,initVModelForSSR(),initVShowForSSR())},runtimeDom_esmBundler=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:BaseTransition,BaseTransitionPropsValidators:BaseTransitionPropsValidators,Comment:Comment,DeprecationTypes:DeprecationTypes,EffectScope:EffectScope,ErrorCodes:ErrorCodes$1,ErrorTypeStrings:ErrorTypeStrings,Fragment:Fragment,KeepAlive:KeepAlive,ReactiveEffect:ReactiveEffect,Static:Static,Suspense:Suspense,Teleport:Teleport,Text:Text,TrackOpTypes:TrackOpTypes,Transition:Transition,TransitionGroup:TransitionGroup,TriggerOpTypes:TriggerOpTypes,VueElement:VueElement,assertNumber:assertNumber,callWithAsyncErrorHandling:callWithAsyncErrorHandling,callWithErrorHandling:callWithErrorHandling,camelize:camelize,capitalize:capitalize,cloneVNode:cloneVNode,compatUtils:compatUtils,computed:computed,createApp:createApp,createBlock:createBlock,createCommentVNode:createCommentVNode,createElementBlock:createElementBlock,createElementVNode:createBaseVNode,createHydrationRenderer:createHydrationRenderer,createPropsRestProxy:createPropsRestProxy,createRenderer:createRenderer,createSSRApp:createSSRApp,createSlots:createSlots,createStaticVNode:createStaticVNode,createTextVNode:createTextVNode,createVNode:createVNode,customRef:customRef,defineAsyncComponent:defineAsyncComponent,defineComponent:defineComponent$1,defineCustomElement:defineCustomElement,defineEmits:defineEmits,defineExpose:defineExpose,defineModel:defineModel,defineOptions:defineOptions,defineProps:defineProps,defineSSRCustomElement:defineSSRCustomElement,defineSlots:defineSlots,devtools:devtools,effect:effect,effectScope:effectScope,getCurrentInstance:getCurrentInstance$1,getCurrentScope:getCurrentScope,getCurrentWatcher:getCurrentWatcher,getTransitionRawChildren:getTransitionRawChildren,guardReactiveProps:guardReactiveProps,h:h$2,handleError:handleError,hasInjectionContext:hasInjectionContext,hydrate:hydrate,hydrateOnIdle:hydrateOnIdle,hydrateOnInteraction:hydrateOnInteraction,hydrateOnMediaQuery:hydrateOnMediaQuery,hydrateOnVisible:hydrateOnVisible,initCustomFormatter:initCustomFormatter,initDirectivesForSSR:initDirectivesForSSR,inject:inject$1,isMemoSame:isMemoSame,isProxy:isProxy,isReactive:isReactive,isReadonly:isReadonly,isRef:isRef,isRuntimeOnly:isRuntimeOnly,isShallow:isShallow,isVNode:isVNode,markRaw:markRaw,mergeDefaults:mergeDefaults,mergeModels:mergeModels,mergeProps:mergeProps,nextTick:nextTick$2,normalizeClass:normalizeClass,normalizeProps:normalizeProps,normalizeStyle:normalizeStyle,onActivated:onActivated,onBeforeMount:onBeforeMount,onBeforeUnmount:onBeforeUnmount,onBeforeUpdate:onBeforeUpdate,onDeactivated:onDeactivated,onErrorCaptured:onErrorCaptured,onMounted:onMounted,onRenderTracked:onRenderTracked,onRenderTriggered:onRenderTriggered,onScopeDispose:onScopeDispose,onServerPrefetch:onServerPrefetch,onUnmounted:onUnmounted,onUpdated:onUpdated,onWatcherCleanup:onWatcherCleanup,openBlock:openBlock,popScopeId:popScopeId,provide:provide,proxyRefs:proxyRefs,pushScopeId:pushScopeId,queuePostFlushCb:queuePostFlushCb,reactive:reactive,readonly:readonly,ref:ref,registerRuntimeCompiler:registerRuntimeCompiler,render:render$4,renderList:renderList,renderSlot:renderSlot,resolveComponent:resolveComponent,resolveDirective:resolveDirective,resolveDynamicComponent:resolveDynamicComponent,resolveFilter:resolveFilter,resolveTransitionHooks:resolveTransitionHooks,setBlockTracking:setBlockTracking,setDevtoolsHook:setDevtoolsHook,setTransitionHooks:setTransitionHooks,shallowReactive:shallowReactive,shallowReadonly:shallowReadonly,shallowRef:shallowRef,ssrContextKey:ssrContextKey,ssrUtils:ssrUtils,stop:stop$2,toDisplayString:toDisplayString,toHandlerKey:toHandlerKey,toHandlers:toHandlers,toRaw:toRaw,toRef:toRef,toRefs:toRefs,toValue:toValue,transformVNodeArgs:transformVNodeArgs,triggerRef:triggerRef,unref:unref,useAttrs:useAttrs,useCssModule:useCssModule,useCssVars:useCssVars,useHost:useHost,useId:useId,useModel:useModel,useSSRContext:useSSRContext,useShadowRoot:useShadowRoot,useSlots:useSlots,useTemplateRef:useTemplateRef,useTransitionState:useTransitionState,vModelCheckbox:vModelCheckbox,vModelDynamic:vModelDynamic,vModelRadio:vModelRadio,vModelSelect:vModelSelect,vModelText:vModelText,vShow:vShow,version:version$3,warn:warn$4,watch:watch,watchEffect:watchEffect,watchPostEffect:watchPostEffect,watchSyncEffect:watchSyncEffect,withAsyncContext:withAsyncContext,withCtx:withCtx,withDefaults:withDefaults,withDirectives:withDirectives,withKeys:withKeys,withMemo:withMemo,withModifiers:withModifiers,withScopeId:withScopeId},Symbol.toStringTag,{value:"Module"}));function useToggleScope(t,n){let i;function a(){i=effectScope(),i.run((()=>n.length?n((()=>{i?.stop(),a()})):n()))}watch(t,(t=>{t&&!i?a():t||(i?.stop(),i=void 0)}),{immediate:!0}),onScopeDispose((()=>{i?.stop()}))}const IN_BROWSER="undefined"!=typeof window,SUPPORTS_INTERSECTION=IN_BROWSER&&"IntersectionObserver"in window,SUPPORTS_TOUCH=IN_BROWSER&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),SUPPORTS_EYE_DROPPER=IN_BROWSER&&"EyeDropper"in window;function _classPrivateFieldInitSpec(t,n,i){_checkPrivateRedeclaration(t,n),n.set(t,i)}function _checkPrivateRedeclaration(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldSet(t,n,i){return t.set(_assertClassBrand(t,n),i),i}function _classPrivateFieldGet(t,n){return t.get(_assertClassBrand(t,n))}function _assertClassBrand(t,n,i){if("function"==typeof t?t===n:t.has(n))return arguments.length<3?n:i;throw new TypeError("Private element is not present on this object")}function getNestedValue(t,n,i){const a=n.length-1;if(a<0)return void 0===t?i:t;for(let s=0;s<a;s++){if(null==t)return i;t=t[n[s]]}return null==t||void 0===t[n[a]]?i:t[n[a]]}function deepEqual(t,n){if(t===n)return!0;if(t instanceof Date&&n instanceof Date&&t.getTime()!==n.getTime())return!1;if(t!==Object(t)||n!==Object(n))return!1;const i=Object.keys(t);return i.length===Object.keys(n).length&&i.every((i=>deepEqual(t[i],n[i])))}function getObjectValueByPath(t,n,i){return null!=t&&n&&"string"==typeof n?void 0!==t[n]?t[n]:getNestedValue(t,(n=(n=n.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),i):i}function getPropertyFromItem(t,n,i){if(!0===n)return void 0===t?i:t;if(null==n||"boolean"==typeof n)return i;if(t!==Object(t)){if("function"!=typeof n)return i;const a=n(t,i);return void 0===a?i:a}if("string"==typeof n)return getObjectValueByPath(t,n,i);if(Array.isArray(n))return getNestedValue(t,n,i);if("function"!=typeof n)return i;const a=n(t,i);return void 0===a?i:a}function createRange(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Array.from({length:t},((t,i)=>n+i))}function convertToUnit(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px";return null==t||""===t?void 0:isNaN(+t)?String(t):isFinite(+t)?`${Number(t)}${n}`:void 0}function isObject$4(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)}function isPlainObject$5(t){let n;return null!==t&&"object"==typeof t&&((n=Object.getPrototypeOf(t))===Object.prototype||null===n)}function refElement(t){if(t&&"$el"in t){const n=t.$el;return n?.nodeType===Node.TEXT_NODE?n.nextElementSibling:n}return t}const keyCodes=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16}),keyValues=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function keys$6(t){return Object.keys(t)}function has(t,n){return n.every((n=>t.hasOwnProperty(n)))}function pick$2(t,n){const i={};for(const a of n)Object.hasOwn(t,a)&&(i[a]=t[a]);return i}function pickWithRest(t,n,i){const a=Object.create(null),s=Object.create(null);for(const l in t)n.some((t=>t instanceof RegExp?t.test(l):t===l))?a[l]=t[l]:s[l]=t[l];return[a,s]}function omit(t,n){const i={...t};return n.forEach((t=>delete i[t])),i}const onRE=/^on[^a-z]/,isOn=t=>onRE.test(t),bubblingEvents=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"],compositionIgnoreKeys=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function isComposingIgnoreKey(t){return t.isComposing&&compositionIgnoreKeys.includes(t.key)}function filterInputAttrs(t){const[n,i]=pickWithRest(t,[onRE]),a=omit(n,bubblingEvents),[s,l]=pickWithRest(i,["class","style","id",/^data-/]);return Object.assign(s,n),Object.assign(l,a),[s,l]}function wrapInArray(t){return null==t?[]:Array.isArray(t)?t:[t]}function debounce(t,n){let i=0;const a=function(){for(var a=arguments.length,s=new Array(a),l=0;l<a;l++)s[l]=arguments[l];clearTimeout(i),i=setTimeout((()=>t(...s)),unref(n))};return a.clear=()=>{clearTimeout(i)},a.immediate=t,a}function clamp(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(n,Math.min(i,t))}function getDecimals(t){const n=t.toString().trim();return n.includes(".")?n.length-n.indexOf(".")-1:0}function padEnd(t,n){return t+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0").repeat(Math.max(0,n-t.length))}function padStart(t,n){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0").repeat(Math.max(0,n-t.length))+t}function chunk(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const i=[];let a=0;for(;a<t.length;)i.push(t.substr(a,n)),a+=n;return i}function humanReadableFileSize(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;if(t<n)return`${t} B`;const i=1024===n?["Ki","Mi","Gi"]:["k","M","G"];let a=-1;for(;Math.abs(t)>=n&&a<i.length-1;)t/=n,++a;return`${t.toFixed(1)} ${i[a]}B`}function mergeDeep(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;const a={};for(const s in t)a[s]=t[s];for(const s in n){const l=t[s],c=n[s];isPlainObject$5(l)&&isPlainObject$5(c)?a[s]=mergeDeep(l,c,i):i&&Array.isArray(l)&&Array.isArray(c)?a[s]=i(l,c):a[s]=c}return a}function flattenFragments(t){return t.map((t=>t.type===Fragment?flattenFragments(t.children):t)).flat()}function toKebabCase(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(toKebabCase.cache.has(t))return toKebabCase.cache.get(t);const n=t.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return toKebabCase.cache.set(t,n),n}function findChildrenWithProvide(t,n){if(!n||"object"!=typeof n)return[];if(Array.isArray(n))return n.map((n=>findChildrenWithProvide(t,n))).flat(1);if(n.suspense)return findChildrenWithProvide(t,n.ssContent);if(Array.isArray(n.children))return n.children.map((n=>findChildrenWithProvide(t,n))).flat(1);if(n.component){if(Object.getOwnPropertySymbols(n.component.provides).includes(t))return[n.component];if(n.component.subTree)return findChildrenWithProvide(t,n.component.subTree).flat(1)}return[]}toKebabCase.cache=new Map;var _arr=new WeakMap,_pointer=new WeakMap;class CircularBuffer{constructor(t){_classPrivateFieldInitSpec(this,_arr,[]),_classPrivateFieldInitSpec(this,_pointer,0),this.size=t}push(t){_classPrivateFieldGet(_arr,this)[_classPrivateFieldGet(_pointer,this)]=t,_classPrivateFieldSet(_pointer,this,(_classPrivateFieldGet(_pointer,this)+1)%this.size)}values(){return _classPrivateFieldGet(_arr,this).slice(_classPrivateFieldGet(_pointer,this)).concat(_classPrivateFieldGet(_arr,this).slice(0,_classPrivateFieldGet(_pointer,this)))}}function getEventCoordinates(t){return"touches"in t?{clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}:{clientX:t.clientX,clientY:t.clientY}}function destructComputed(t){const n=reactive({}),i=computed(t);return watchEffect((()=>{for(const t in i.value)n[t]=i.value[t]}),{flush:"sync"}),toRefs(n)}function includes(t,n){return t.includes(n)}function eventName(t){return t[2].toLowerCase()+t.slice(3)}const EventProp=()=>[Function,Array];function hasEvent(t,n){return!!(t[n="on"+capitalize(n)]||t[`${n}Once`]||t[`${n}Capture`]||t[`${n}OnceCapture`]||t[`${n}CaptureOnce`])}function callEvent(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];if(Array.isArray(t))for(const s of t)s(...i);else"function"==typeof t&&t(...i)}function focusableChildren(t){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map((t=>`${t}${n?':not([tabindex="-1"])':""}:not([disabled])`)).join(", ");return[...t.querySelectorAll(i)]}function getNextElement(t,n,i){let a,s=t.indexOf(document.activeElement);const l="next"===n?1:-1;do{s+=l,a=t[s]}while((!a||null==a.offsetParent||!(i?.(a)??1))&&s<t.length&&s>=0);return a}function focusChild(t,n){const i=focusableChildren(t);if(n)if("first"===n)i[0]?.focus();else if("last"===n)i.at(-1)?.focus();else if("number"==typeof n)i[n]?.focus();else{const a=getNextElement(i,n);a?a.focus():focusChild(t,"next"===n?"first":"last")}else t!==document.activeElement&&t.contains(document.activeElement)||i[0]?.focus()}function isEmpty(t){return null==t||"string"==typeof t&&""===t.trim()}function noop$2(){}function matchesSelector$2(t,n){if(!(IN_BROWSER&&"undefined"!=typeof CSS&&void 0!==CSS.supports&&CSS.supports(`selector(${n})`)))return null;try{return!!t&&t.matches(n)}catch(i){return null}}function ensureValidVNode(t){return t.some((t=>!isVNode(t)||t.type!==Comment&&(t.type!==Fragment||ensureValidVNode(t.children))))?t:null}function defer(t,n){if(!IN_BROWSER||0===t)return n(),()=>{};const i=window.setTimeout(n,t);return()=>window.clearTimeout(i)}function isClickInsideElement(t,n){const i=t.clientX,a=t.clientY,s=n.getBoundingClientRect(),l=s.left,c=s.top,u=s.right,d=s.bottom;return i>=l&&i<=u&&a>=c&&a<=d}function templateRef(){const t=shallowRef(),n=n=>{t.value=n};return Object.defineProperty(n,"value",{enumerable:!0,get:()=>t.value,set:n=>t.value=n}),Object.defineProperty(n,"el",{enumerable:!0,get:()=>refElement(t.value)}),n}function checkPrintable(t){const n=1===t.key.length,i=!t.ctrlKey&&!t.metaKey&&!t.altKey;return n&&i}function isPrimitive(t){return"string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t}const block$1=["top","bottom"],inline$1=["start","end","left","right"];function parseAnchor(t,n){let[i,a]=t.split(" ");return a||(a=includes(block$1,i)?"start":includes(inline$1,i)?"top":"center"),{side:toPhysical(i,n),align:toPhysical(a,n)}}function toPhysical(t,n){return"start"===t?n?"right":"left":"end"===t?n?"left":"right":t}function flipSide(t){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[t.side],align:t.align}}function flipAlign(t){return{side:t.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[t.align]}}function flipCorner(t){return{side:t.align,align:t.side}}function getAxis(t){return includes(block$1,t.side)?"y":"x"}class Box{constructor(t){let{x:n,y:i,width:a,height:s}=t;this.x=n,this.y=i,this.width=a,this.height=s}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function getOverflow(t,n){return{x:{before:Math.max(0,n.left-t.left),after:Math.max(0,t.right-n.right)},y:{before:Math.max(0,n.top-t.top),after:Math.max(0,t.bottom-n.bottom)}}}function getTargetBox(t){return Array.isArray(t)?new Box({x:t[0],y:t[1],width:0,height:0}):t.getBoundingClientRect()}function nullifyTransforms(t){const n=t.getBoundingClientRect(),i=getComputedStyle(t),a=i.transform;if(a){let s,l,c,u,d;if(a.startsWith("matrix3d("))s=a.slice(9,-1).split(/, /),l=+s[0],c=+s[5],u=+s[12],d=+s[13];else{if(!a.startsWith("matrix("))return new Box(n);s=a.slice(7,-1).split(/, /),l=+s[0],c=+s[3],u=+s[4],d=+s[5]}const f=i.transformOrigin,m=n.x-u-(1-l)*parseFloat(f),g=n.y-d-(1-c)*parseFloat(f.slice(f.indexOf(" ")+1)),v=l?n.width/l:t.offsetWidth+1,b=c?n.height/c:t.offsetHeight+1;return new Box({x:m,y:g,width:v,height:b})}return new Box(n)}function animate$2(t,n,i){if(void 0===t.animate)return{finished:Promise.resolve()};let a;try{a=t.animate(n,i)}catch(s){return{finished:Promise.resolve()}}return void 0===a.finished&&(a.finished=new Promise((t=>{a.onfinish=()=>{t(a)}}))),a}const handlers=new WeakMap;function bindProps(t,n){Object.keys(n).forEach((i=>{if(isOn(i)){const a=eventName(i),s=handlers.get(t);if(null==n[i])s?.forEach((n=>{const[i,l]=n;i===a&&(t.removeEventListener(a,l),s.delete(n))}));else if(!s||![...s]?.some((t=>t[0]===a&&t[1]===n[i]))){t.addEventListener(a,n[i]);const l=s||new Set;l.add([a,n[i]]),handlers.has(t)||handlers.set(t,l)}}else null==n[i]?t.removeAttribute(i):t.setAttribute(i,n[i])}))}function unbindProps(t,n){Object.keys(n).forEach((n=>{if(isOn(n)){const i=eventName(n),a=handlers.get(t);a?.forEach((n=>{const[s,l]=n;s===i&&(t.removeEventListener(i,l),a.delete(n))}))}else t.removeAttribute(n)}))}const mainTRC=2.4,Rco=.2126729,Gco=.7151522,Bco=.072175,normBG=.55,normTXT=.58,revTXT=.57,revBG=.62,blkThrs=.03,blkClmp=1.45,deltaYmin=5e-4,scaleBoW=1.25,scaleWoB=1.25,loConThresh=.078,loConFactor=12.82051282051282,loConOffset=.06,loClip=.001;function APCAcontrast(t,n){const i=(t.r/255)**mainTRC,a=(t.g/255)**mainTRC,s=(t.b/255)**mainTRC,l=(n.r/255)**mainTRC,c=(n.g/255)**mainTRC,u=(n.b/255)**mainTRC;let d,f=i*Rco+a*Gco+s*Bco,m=l*Rco+c*Gco+u*Bco;if(f<=blkThrs&&(f+=(blkThrs-f)**blkClmp),m<=blkThrs&&(m+=(blkThrs-m)**blkClmp),Math.abs(m-f)<deltaYmin)return 0;if(m>f){const t=(m**normBG-f**normTXT)*scaleBoW;d=t<loClip?0:t<loConThresh?t-t*loConFactor*loConOffset:t-loConOffset}else{const t=(m**revBG-f**revTXT)*scaleWoB;d=t>-.001?0:t>-.078?t-t*loConFactor*loConOffset:t+loConOffset}return 100*d}function consoleWarn(t){}function consoleError(t){}function deprecate$4(t,n){n=Array.isArray(n)?n.slice(0,-1).map((t=>`'${t}'`)).join(", ")+` or '${n.at(-1)}'`:`'${n}'`}const delta=.20689655172413793,cielabForwardTransform=t=>t>delta**3?Math.cbrt(t):t/(3*delta**2)+4/29,cielabReverseTransform=t=>t>delta?t**3:3*delta**2*(t-4/29);function fromXYZ$1(t){const n=cielabForwardTransform,i=n(t[1]);return[116*i-16,500*(n(t[0]/.95047)-i),200*(i-n(t[2]/1.08883))]}function toXYZ$1(t){const n=cielabReverseTransform,i=(t[0]+16)/116;return[.95047*n(i+t[1]/500),n(i),1.08883*n(i-t[2]/200)]}const srgbForwardMatrix=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],srgbForwardTransform=t=>t<=.0031308?12.92*t:1.055*t**(1/2.4)-.055,srgbReverseMatrix=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],srgbReverseTransform=t=>t<=.04045?t/12.92:((t+.055)/1.055)**2.4;function fromXYZ(t){const n=Array(3),i=srgbForwardTransform,a=srgbForwardMatrix;for(let s=0;s<3;++s)n[s]=Math.round(255*clamp(i(a[s][0]*t[0]+a[s][1]*t[1]+a[s][2]*t[2])));return{r:n[0],g:n[1],b:n[2]}}function toXYZ(t){let{r:n,g:i,b:a}=t;const s=[0,0,0],l=srgbReverseTransform,c=srgbReverseMatrix;n=l(n/255),i=l(i/255),a=l(a/255);for(let u=0;u<3;++u)s[u]=c[u][0]*n+c[u][1]*i+c[u][2]*a;return s}function isCssColor(t){return!!t&&/^(#|var\(--|(rgb|hsl)a?\()/.test(t)}function isParsableColor(t){return isCssColor(t)&&!/^((rgb|hsl)a?\()?var\(--/.test(t)}const cssColorRe=/^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/,mappers={rgb:(t,n,i,a)=>({r:t,g:n,b:i,a:a}),rgba:(t,n,i,a)=>({r:t,g:n,b:i,a:a}),hsl:(t,n,i,a)=>HSLtoRGB({h:t,s:n,l:i,a:a}),hsla:(t,n,i,a)=>HSLtoRGB({h:t,s:n,l:i,a:a}),hsv:(t,n,i,a)=>HSVtoRGB({h:t,s:n,v:i,a:a}),hsva:(t,n,i,a)=>HSVtoRGB({h:t,s:n,v:i,a:a})};function parseColor(t){if("number"==typeof t)return{r:(16711680&t)>>16,g:(65280&t)>>8,b:255&t};if("string"==typeof t&&cssColorRe.test(t)){const{groups:n}=t.match(cssColorRe),{fn:i,values:a}=n,s=a.split(/,\s*/).map((t=>t.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(i)?parseFloat(t)/100:parseFloat(t)));return mappers[i](...s)}if("string"==typeof t){let n=t.startsWith("#")?t.slice(1):t;return[3,4].includes(n.length)?n=n.split("").map((t=>t+t)).join(""):[6,8].includes(n.length),HexToRGB(n)}if("object"==typeof t){if(has(t,["r","g","b"]))return t;if(has(t,["h","s","l"]))return HSVtoRGB(HSLtoHSV(t));if(has(t,["h","s","v"]))return HSVtoRGB(t)}throw new TypeError(`Invalid color: ${null==t?t:String(t)||t.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function HSVtoRGB(t){const{h:n,s:i,v:a,a:s}=t,l=t=>{const s=(t+n/60)%6;return a-a*i*Math.max(Math.min(s,4-s,1),0)},c=[l(5),l(3),l(1)].map((t=>Math.round(255*t)));return{r:c[0],g:c[1],b:c[2],a:s}}function HSLtoRGB(t){return HSVtoRGB(HSLtoHSV(t))}function RGBtoHSV(t){if(!t)return{h:0,s:1,v:1,a:1};const n=t.r/255,i=t.g/255,a=t.b/255,s=Math.max(n,i,a),l=Math.min(n,i,a);let c=0;s!==l&&(s===n?c=60*(0+(i-a)/(s-l)):s===i?c=60*(2+(a-n)/(s-l)):s===a&&(c=60*(4+(n-i)/(s-l)))),c<0&&(c+=360);const u=[c,0===s?0:(s-l)/s,s];return{h:u[0],s:u[1],v:u[2],a:t.a}}function HSVtoHSL(t){const{h:n,s:i,v:a,a:s}=t,l=a-a*i/2;return{h:n,s:1===l||0===l?0:(a-l)/Math.min(l,1-l),l:l,a:s}}function HSLtoHSV(t){const{h:n,s:i,l:a,a:s}=t,l=a+i*Math.min(a,1-a);return{h:n,s:0===l?0:2-2*a/l,v:l,a:s}}function RGBtoCSS(t){let{r:n,g:i,b:a,a:s}=t;return void 0===s?`rgb(${n}, ${i}, ${a})`:`rgba(${n}, ${i}, ${a}, ${s})`}function HSVtoCSS(t){return RGBtoCSS(HSVtoRGB(t))}function toHex(t){const n=Math.round(t).toString(16);return("00".substr(0,2-n.length)+n).toUpperCase()}function RGBtoHex(t){let{r:n,g:i,b:a,a:s}=t;return`#${[toHex(n),toHex(i),toHex(a),void 0!==s?toHex(Math.round(255*s)):""].join("")}`}function HexToRGB(t){t=parseHex(t);let[n,i,a,s]=chunk(t,2).map((t=>parseInt(t,16)));return s=void 0===s?s:s/255,{r:n,g:i,b:a,a:s}}function HexToHSV(t){return RGBtoHSV(HexToRGB(t))}function HSVtoHex(t){return RGBtoHex(HSVtoRGB(t))}function parseHex(t){return t.startsWith("#")&&(t=t.slice(1)),3!==(t=t.replace(/([^0-9a-f])/gi,"F")).length&&4!==t.length||(t=t.split("").map((t=>t+t)).join("")),6!==t.length&&(t=padEnd(padEnd(t,6),8,"F")),t}function lighten(t,n){const i=fromXYZ$1(toXYZ(t));return i[0]=i[0]+10*n,fromXYZ(toXYZ$1(i))}function darken(t,n){const i=fromXYZ$1(toXYZ(t));return i[0]=i[0]-10*n,fromXYZ(toXYZ$1(i))}function getLuma(t){return toXYZ(parseColor(t))[1]}function getContrast(t,n){const i=getLuma(t),a=getLuma(n);return(Math.max(i,a)+.05)/(Math.min(i,a)+.05)}function getForeground(t){const n=Math.abs(APCAcontrast(parseColor(0),parseColor(t)));return Math.abs(APCAcontrast(parseColor(16777215),parseColor(t)))>Math.min(n,50)?"#fff":"#000"}function propsFactory(t,n){return i=>Object.keys(t).reduce(((a,s)=>{const l="object"==typeof t[s]&&null!=t[s]&&!Array.isArray(t[s])?t[s]:{type:t[s]};return a[s]=i&&s in i?{...l,default:i[s]}:l,n&&!a[s].source&&(a[s].source=n),a}),{})}const makeComponentProps=propsFactory({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function getCurrentInstance(t,n){const i=getCurrentInstance$1();if(!i)throw new Error(`[Vuetify] ${t} must be called from inside a setup function`);return i}function getCurrentInstanceName(){const t=getCurrentInstance(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"composables").type;return toKebabCase(t?.aliasName||t?.name)}let _uid=0,_map=new WeakMap;function getUid(){const t=getCurrentInstance("getUid");if(_map.has(t))return _map.get(t);{const n=_uid++;return _map.set(t,n),n}}function injectSelf(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstance("injectSelf");const{provides:i}=n;if(i&&t in i)return i[t]}getUid.reset=()=>{_uid=0,_map=new WeakMap};const DefaultsSymbol=Symbol.for("vuetify:defaults");function createDefaults(t){return ref(t)}function injectDefaults(){const t=inject$1(DefaultsSymbol);if(!t)throw new Error("[Vuetify] Could not find defaults instance");return t}function provideDefaults(t,n){const i=injectDefaults(),a=ref(t),s=computed((()=>{if(unref(n?.disabled))return i.value;const t=unref(n?.scoped),s=unref(n?.reset),l=unref(n?.root);if(null==a.value&&!(t||s||l))return i.value;let c=mergeDeep(a.value,{prev:i.value});if(t)return c;if(s||l){const t=Number(s||1/0);for(let n=0;n<=t&&(c&&"prev"in c);n++)c=c.prev;return c&&"string"==typeof l&&l in c&&(c=mergeDeep(mergeDeep(c,{prev:c}),c[l])),c}return c.prev?mergeDeep(c.prev,c):c}));return provide(DefaultsSymbol,s),s}function propIsDefined(t,n){return void 0!==t.props?.[n]||void 0!==t.props?.[toKebabCase(n)]}function internalUseDefaults(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:injectDefaults();const a=getCurrentInstance("useDefaults");if(n=n??a.type.name??a.type.__name,!n)throw new Error("[Vuetify] Could not determine component name");const s=computed((()=>i.value?.[t._as??n])),l=new Proxy(t,{get(t,n){const l=Reflect.get(t,n);return"class"===n||"style"===n?[s.value?.[n],l].filter((t=>null!=t)):"string"!=typeof n||propIsDefined(a.vnode,n)?l:void 0!==s.value?.[n]?s.value?.[n]:void 0!==i.value?.global?.[n]?i.value?.global?.[n]:l}}),c=shallowRef();return watchEffect((()=>{if(s.value){const t=Object.entries(s.value).filter((t=>{let[n]=t;return n.startsWith(n[0].toUpperCase())}));c.value=t.length?Object.fromEntries(t):void 0}else c.value=void 0})),{props:l,provideSubDefaults:function(){const t=injectSelf(DefaultsSymbol,a);provide(DefaultsSymbol,computed((()=>c.value?mergeDeep(t?.value??{},c.value):t?.value)))}}}function defineComponent(t){if(t._setup=t._setup??t.setup,!t.name)return t;if(t._setup){t.props=propsFactory(t.props??{},t.name)();const n=Object.keys(t.props).filter((t=>"class"!==t&&"style"!==t));t.filterProps=function(t){return pick$2(t,n)},t.props._as=String,t.setup=function(n,i){const a=injectDefaults();if(!a.value)return t._setup(n,i);const{props:s,provideSubDefaults:l}=internalUseDefaults(n,n._as??t.name,a),c=t._setup(s,i);return l(),c}}return t}function genericComponent(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return n=>(t?defineComponent:defineComponent$1)(n)}function defineFunctionalComponent(t,n){return n.props=t,n}function createSimpleFunctional(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"div",i=arguments.length>2?arguments[2]:void 0;return genericComponent()({name:i??capitalize(camelize(t.replace(/__/g,"-"))),props:{tag:{type:String,default:n},...makeComponentProps()},setup(n,i){let{slots:a}=i;return()=>h$2(n.tag,{class:[t,n.class],style:n.style},a.default?.())}})}function attachedRoot(t){if("function"!=typeof t.getRootNode){for(;t.parentNode;)t=t.parentNode;return t!==document?null:document}const n=t.getRootNode();return n!==document&&n.getRootNode({composed:!0})!==document?null:n}const standardEasing="cubic-bezier(0.4, 0, 0.2, 1)",deceleratedEasing="cubic-bezier(0.0, 0, 0.2, 1)",acceleratedEasing="cubic-bezier(0.4, 0, 1, 1)";function getPrefixedEventHandlers(t,n,i){return Object.keys(t).filter((t=>isOn(t)&&t.endsWith(n))).reduce(((a,s)=>(a[s.slice(0,-n.length)]=n=>t[s](n,i(n)),a)),{})}function getScrollParent(t){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(;t;){if(n?isPotentiallyScrollable(t):hasScrollbar(t))return t;t=t.parentElement}return document.scrollingElement}function getScrollParents(t,n){const i=[];if(n&&t&&!n.contains(t))return i;for(;t&&(hasScrollbar(t)&&i.push(t),t!==n);)t=t.parentElement;return i}function hasScrollbar(t){if(!t||t.nodeType!==Node.ELEMENT_NODE)return!1;const n=window.getComputedStyle(t);return"scroll"===n.overflowY||"auto"===n.overflowY&&t.scrollHeight>t.clientHeight}function isPotentiallyScrollable(t){if(!t||t.nodeType!==Node.ELEMENT_NODE)return!1;const n=window.getComputedStyle(t);return["scroll","auto"].includes(n.overflowY)}function isFixedPosition(t){for(;t;){if("fixed"===window.getComputedStyle(t).position)return!0;t=t.offsetParent}return!1}function useRender(t){getCurrentInstance("useRender").render=t}function useProxiedModel(t,n,i){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t=>t,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t=>t;const l=getCurrentInstance("useProxiedModel"),c=ref(void 0!==t[n]?t[n]:i),u=toKebabCase(n),d=computed(u!==n?()=>(t[n],!(!l.vnode.props?.hasOwnProperty(n)&&!l.vnode.props?.hasOwnProperty(u)||!l.vnode.props?.hasOwnProperty(`onUpdate:${n}`)&&!l.vnode.props?.hasOwnProperty(`onUpdate:${u}`))):()=>(t[n],!(!l.vnode.props?.hasOwnProperty(n)||!l.vnode.props?.hasOwnProperty(`onUpdate:${n}`))));useToggleScope((()=>!d.value),(()=>{watch((()=>t[n]),(t=>{c.value=t}))}));const f=computed({get(){const i=t[n];return a(d.value?i:c.value)},set(i){const u=s(i),f=toRaw(d.value?t[n]:c.value);f!==u&&a(f)!==i&&(c.value=u,l?.emit(`update:${n}`,u))}});return Object.defineProperty(f,"externalValue",{get:()=>d.value?t[n]:c.value}),f}const en={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"}},LANG_PREFIX="$vuetify.",replace=(t,n)=>t.replace(/\{(\d+)\}/g,((t,i)=>String(n[+i]))),createTranslateFunction=(t,n,i)=>function(a){for(var s=arguments.length,l=new Array(s>1?s-1:0),c=1;c<s;c++)l[c-1]=arguments[c];if(!a.startsWith(LANG_PREFIX))return replace(a,l);const u=a.replace(LANG_PREFIX,""),d=t.value&&i.value[t.value],f=n.value&&i.value[n.value];let m=getObjectValueByPath(d,u,null);return m||(consoleWarn(`Translation key "${a}" not found in "${t.value}", trying fallback locale`),m=getObjectValueByPath(f,u,null)),m||(m=a),"string"!=typeof m&&(m=a),replace(m,l)};function createNumberFunction(t,n){return(i,a)=>new Intl.NumberFormat([t.value,n.value],a).format(i)}function useProvided(t,n,i){const a=useProxiedModel(t,n,t[n]??i.value);return a.value=t[n]??i.value,watch(i,(s=>{null==t[n]&&(a.value=i.value)})),a}function createProvideFunction(t){return n=>{const i=useProvided(n,"locale",t.current),a=useProvided(n,"fallback",t.fallback),s=useProvided(n,"messages",t.messages);return{name:"vuetify",current:i,fallback:a,messages:s,t:createTranslateFunction(i,a,s),n:createNumberFunction(i,a),provide:createProvideFunction({current:i,fallback:a,messages:s})}}}function createVuetifyAdapter(t){const n=shallowRef(t?.locale??"en"),i=shallowRef(t?.fallback??"en"),a=ref({en:en,...t?.messages});return{name:"vuetify",current:n,fallback:i,messages:a,t:createTranslateFunction(n,i,a),n:createNumberFunction(n,i),provide:createProvideFunction({current:n,fallback:i,messages:a})}}const LocaleSymbol=Symbol.for("vuetify:locale");function isLocaleInstance(t){return null!=t.name}function createLocale(t){const n=t?.adapter&&isLocaleInstance(t?.adapter)?t?.adapter:createVuetifyAdapter(t),i=createRtl(n,t);return{...n,...i}}function useLocale(){const t=inject$1(LocaleSymbol);if(!t)throw new Error("[Vuetify] Could not find injected locale instance");return t}function provideLocale(t){const n=inject$1(LocaleSymbol);if(!n)throw new Error("[Vuetify] Could not find injected locale instance");const i=n.provide(t),a=provideRtl(i,n.rtl,t),s={...i,...a};return provide(LocaleSymbol,s),s}function genDefaults$3(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function createRtl(t,n){const i=ref(n?.rtl??genDefaults$3()),a=computed((()=>i.value[t.current.value]??!1));return{isRtl:a,rtl:i,rtlClasses:computed((()=>"v-locale--is-"+(a.value?"rtl":"ltr")))}}function provideRtl(t,n,i){const a=computed((()=>i.rtl??n.value[t.current.value]??!1));return{isRtl:a,rtl:n,rtlClasses:computed((()=>"v-locale--is-"+(a.value?"rtl":"ltr")))}}function useRtl(){const t=inject$1(LocaleSymbol);if(!t)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:t.isRtl,rtlClasses:t.rtlClasses}}const firstDay={"001":1,AD:1,AE:6,AF:6,AG:0,AI:1,AL:1,AM:1,AN:1,AR:1,AS:0,AT:1,AU:1,AX:1,AZ:1,BA:1,BD:0,BE:1,BG:1,BH:6,BM:1,BN:1,BR:0,BS:0,BT:0,BW:0,BY:1,BZ:0,CA:0,CH:1,CL:1,CM:1,CN:1,CO:0,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DM:0,DO:0,DZ:6,EC:1,EE:1,EG:6,ES:1,ET:0,FI:1,FJ:1,FO:1,FR:1,GB:1,"GB-alt-variant":0,GE:1,GF:1,GP:1,GR:1,GT:0,GU:0,HK:0,HN:0,HR:1,HU:1,ID:0,IE:1,IL:0,IN:0,IQ:6,IR:6,IS:1,IT:1,JM:0,JO:6,JP:0,KE:0,KG:1,KH:0,KR:0,KW:6,KZ:1,LA:0,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MH:0,MK:1,MM:0,MN:1,MO:0,MQ:1,MT:0,MV:5,MX:0,MY:1,MZ:0,NI:0,NL:1,NO:1,NP:0,NZ:1,OM:6,PA:0,PE:0,PH:0,PK:0,PL:1,PR:0,PT:0,PY:0,QA:6,RE:1,RO:1,RS:1,RU:1,SA:0,SD:6,SE:1,SG:0,SI:1,SK:1,SM:1,SV:0,SY:6,TH:0,TJ:1,TM:1,TR:1,TT:0,TW:0,UA:1,UM:0,US:0,UY:1,UZ:1,VA:1,VE:0,VI:0,VN:1,WS:0,XK:1,YE:0,ZA:0,ZW:0};function getWeekArray(t,n,i){const a=[];let s=[];const l=startOfMonth(t),c=endOfMonth(t),u=i??firstDay[n.slice(-2).toUpperCase()]??0,d=(l.getDay()-u+7)%7,f=(c.getDay()-u+7)%7;for(let m=0;m<d;m++){const t=new Date(l);t.setDate(t.getDate()-(d-m)),s.push(t)}for(let m=1;m<=c.getDate();m++){const n=new Date(t.getFullYear(),t.getMonth(),m);s.push(n),7===s.length&&(a.push(s),s=[])}for(let m=1;m<7-f;m++){const t=new Date(c);t.setDate(t.getDate()+m),s.push(t)}return s.length>0&&a.push(s),a}function startOfWeek(t,n,i){const a=i??firstDay[n.slice(-2).toUpperCase()]??0,s=new Date(t);for(;s.getDay()!==a;)s.setDate(s.getDate()-1);return s}function endOfWeek(t,n){const i=new Date(t),a=((firstDay[n.slice(-2).toUpperCase()]??0)+6)%7;for(;i.getDay()!==a;)i.setDate(i.getDate()+1);return i}function startOfMonth(t){return new Date(t.getFullYear(),t.getMonth(),1)}function endOfMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function parseLocalDate(t){const n=t.split("-").map(Number);return new Date(n[0],n[1]-1,n[2])}const _YYYMMDD=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function date(t){if(null==t)return new Date;if(t instanceof Date)return t;if("string"==typeof t){let n;if(_YYYMMDD.test(t))return parseLocalDate(t);if(n=Date.parse(t),!isNaN(n))return new Date(n)}return null}const sundayJanuarySecond2000=new Date(2e3,0,2);function getWeekdays(t,n){const i=n??firstDay[t.slice(-2).toUpperCase()]??0;return createRange(7).map((n=>{const a=new Date(sundayJanuarySecond2000);return a.setDate(sundayJanuarySecond2000.getDate()+i+n),new Intl.DateTimeFormat(t,{weekday:"narrow"}).format(a)}))}function format$4(t,n,i,a){const s=date(t)??new Date,l=a?.[n];if("function"==typeof l)return l(s,n,i);let c={};switch(n){case"fullDate":c={year:"numeric",month:"long",day:"numeric"};break;case"fullDateWithWeekday":c={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":return`${s.getDate()} ${new Intl.DateTimeFormat(i,{month:"long"}).format(s)}`;case"normalDateWithWeekday":c={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":c={month:"short",day:"numeric"};break;case"year":c={year:"numeric"};break;case"month":c={month:"long"};break;case"monthShort":c={month:"short"};break;case"monthAndYear":c={month:"long",year:"numeric"};break;case"monthAndDate":c={month:"long",day:"numeric"};break;case"weekday":c={weekday:"long"};break;case"weekdayShort":c={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(i).format(s.getDate());case"hours12h":c={hour:"numeric",hour12:!0};break;case"hours24h":c={hour:"numeric",hour12:!1};break;case"minutes":c={minute:"numeric"};break;case"seconds":c={second:"numeric"};break;case"fullTime":c={hour:"numeric",minute:"numeric"};break;case"fullTime12h":c={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":c={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":c={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":c={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":c={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":c={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return c={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(i,c).format(s).replace(/, /g," ");case"keyboardDateTime12h":return c={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(i,c).format(s).replace(/, /g," ");case"keyboardDateTime24h":return c={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(i,c).format(s).replace(/, /g," ");default:c=l??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(i,c).format(s)}function toISO(t,n){const i=t.toJsDate(n);return`${i.getFullYear()}-${padStart(String(i.getMonth()+1),2,"0")}-${padStart(String(i.getDate()),2,"0")}`}function parseISO(t){const[n,i,a]=t.split("-").map(Number);return new Date(n,i-1,a)}function addMinutes(t,n){const i=new Date(t);return i.setMinutes(i.getMinutes()+n),i}function addHours(t,n){const i=new Date(t);return i.setHours(i.getHours()+n),i}function addDays(t,n){const i=new Date(t);return i.setDate(i.getDate()+n),i}function addWeeks(t,n){const i=new Date(t);return i.setDate(i.getDate()+7*n),i}function addMonths(t,n){const i=new Date(t);return i.setDate(1),i.setMonth(i.getMonth()+n),i}function getYear(t){return t.getFullYear()}function getMonth(t){return t.getMonth()}function getDate(t){return t.getDate()}function getNextMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,1)}function getPreviousMonth(t){return new Date(t.getFullYear(),t.getMonth()-1,1)}function getHours(t){return t.getHours()}function getMinutes(t){return t.getMinutes()}function startOfYear(t){return new Date(t.getFullYear(),0,1)}function endOfYear(t){return new Date(t.getFullYear(),11,31)}function isWithinRange(t,n){return isAfter$4(t,n[0])&&isBefore$4(t,n[1])}function isValid$6(t){const n=new Date(t);return n instanceof Date&&!isNaN(n.getTime())}function isAfter$4(t,n){return t.getTime()>n.getTime()}function isAfterDay(t,n){return isAfter$4(startOfDay(t),startOfDay(n))}function isBefore$4(t,n){return t.getTime()<n.getTime()}function isEqual(t,n){return t.getTime()===n.getTime()}function isSameDay(t,n){return t.getDate()===n.getDate()&&t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear()}function isSameMonth(t,n){return t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear()}function isSameYear(t,n){return t.getFullYear()===n.getFullYear()}function getDiff(t,n,i){const a=new Date(t),s=new Date(n);switch(i){case"years":return a.getFullYear()-s.getFullYear();case"quarters":return Math.floor((a.getMonth()-s.getMonth()+12*(a.getFullYear()-s.getFullYear()))/4);case"months":return a.getMonth()-s.getMonth()+12*(a.getFullYear()-s.getFullYear());case"weeks":return Math.floor((a.getTime()-s.getTime())/6048e5);case"days":return Math.floor((a.getTime()-s.getTime())/864e5);case"hours":return Math.floor((a.getTime()-s.getTime())/36e5);case"minutes":return Math.floor((a.getTime()-s.getTime())/6e4);case"seconds":return Math.floor((a.getTime()-s.getTime())/1e3);default:return a.getTime()-s.getTime()}}function setHours(t,n){const i=new Date(t);return i.setHours(n),i}function setMinutes(t,n){const i=new Date(t);return i.setMinutes(n),i}function setMonth$4(t,n){const i=new Date(t);return i.setMonth(n),i}function setDate(t,n){const i=new Date(t);return i.setDate(n),i}function setYear(t,n){const i=new Date(t);return i.setFullYear(n),i}function startOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)}function endOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59,999)}class VuetifyDateAdapter{constructor(t){this.locale=t.locale,this.formats=t.formats}date(t){return date(t)}toJsDate(t){return t}toISO(t){return toISO(this,t)}parseISO(t){return parseISO(t)}addMinutes(t,n){return addMinutes(t,n)}addHours(t,n){return addHours(t,n)}addDays(t,n){return addDays(t,n)}addWeeks(t,n){return addWeeks(t,n)}addMonths(t,n){return addMonths(t,n)}getWeekArray(t,n){return getWeekArray(t,this.locale,n?Number(n):void 0)}startOfWeek(t,n){return startOfWeek(t,this.locale,n?Number(n):void 0)}endOfWeek(t){return endOfWeek(t,this.locale)}startOfMonth(t){return startOfMonth(t)}endOfMonth(t){return endOfMonth(t)}format(t,n){return format$4(t,n,this.locale,this.formats)}isEqual(t,n){return isEqual(t,n)}isValid(t){return isValid$6(t)}isWithinRange(t,n){return isWithinRange(t,n)}isAfter(t,n){return isAfter$4(t,n)}isAfterDay(t,n){return isAfterDay(t,n)}isBefore(t,n){return!isAfter$4(t,n)&&!isEqual(t,n)}isSameDay(t,n){return isSameDay(t,n)}isSameMonth(t,n){return isSameMonth(t,n)}isSameYear(t,n){return isSameYear(t,n)}setMinutes(t,n){return setMinutes(t,n)}setHours(t,n){return setHours(t,n)}setMonth(t,n){return setMonth$4(t,n)}setDate(t,n){return setDate(t,n)}setYear(t,n){return setYear(t,n)}getDiff(t,n,i){return getDiff(t,n,i)}getWeekdays(t){return getWeekdays(this.locale,t?Number(t):void 0)}getYear(t){return getYear(t)}getMonth(t){return getMonth(t)}getDate(t){return getDate(t)}getNextMonth(t){return getNextMonth(t)}getPreviousMonth(t){return getPreviousMonth(t)}getHours(t){return getHours(t)}getMinutes(t){return getMinutes(t)}startOfDay(t){return startOfDay(t)}endOfDay(t){return endOfDay(t)}startOfYear(t){return startOfYear(t)}endOfYear(t){return endOfYear(t)}}const DateOptionsSymbol=Symbol.for("vuetify:date-options"),DateAdapterSymbol=Symbol.for("vuetify:date-adapter");function createDate$4(t,n){const i=mergeDeep({adapter:VuetifyDateAdapter,locale:{af:"af-ZA",bg:"bg-BG",ca:"ca-ES",ckb:"",cs:"cs-CZ",de:"de-DE",el:"el-GR",en:"en-US",et:"et-EE",fa:"fa-IR",fi:"fi-FI",hr:"hr-HR",hu:"hu-HU",he:"he-IL",id:"id-ID",it:"it-IT",ja:"ja-JP",ko:"ko-KR",lv:"lv-LV",lt:"lt-LT",nl:"nl-NL",no:"no-NO",pl:"pl-PL",pt:"pt-PT",ro:"ro-RO",ru:"ru-RU",sk:"sk-SK",sl:"sl-SI",srCyrl:"sr-SP",srLatn:"sr-SP",sv:"sv-SE",th:"th-TH",tr:"tr-TR",az:"az-AZ",uk:"uk-UA",vi:"vi-VN",zhHans:"zh-CN",zhHant:"zh-TW"}},t);return{options:i,instance:createInstance(i,n)}}function createInstance(t,n){const i=reactive("function"==typeof t.adapter?new t.adapter({locale:t.locale[n.current.value]??n.current.value,formats:t.formats}):t.adapter);return watch(n.current,(n=>{i.locale=t.locale[n]??n??i.locale})),i}function useDate(){const t=inject$1(DateOptionsSymbol);if(!t)throw new Error("[Vuetify] Could not find injected date options");return createInstance(t,useLocale())}function getWeek(t,n){const i=t.toJsDate(n);let a=i.getFullYear(),s=new Date(a,0,1);if(i<s)a-=1,s=new Date(a,0,1);else{const t=new Date(a+1,0,1);i>=t&&(a+=1,s=t)}const l=Math.abs(i.getTime()-s.getTime()),c=Math.ceil(l/864e5);return Math.floor(c/7)+1}const breakpoints=["sm","md","lg","xl","xxl"],DisplaySymbol=Symbol.for("vuetify:display"),defaultDisplayOptions={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},parseDisplayOptions=function(){return mergeDeep(defaultDisplayOptions,arguments.length>0&&void 0!==arguments[0]?arguments[0]:defaultDisplayOptions)};function getClientWidth(t){return IN_BROWSER&&!t?window.innerWidth:"object"==typeof t&&t.clientWidth||0}function getClientHeight(t){return IN_BROWSER&&!t?window.innerHeight:"object"==typeof t&&t.clientHeight||0}function getPlatform(t){const n=IN_BROWSER&&!t?window.navigator.userAgent:"ssr";function i(t){return Boolean(n.match(t))}return{android:i(/android/i),ios:i(/iphone|ipad|ipod/i),cordova:i(/cordova/i),electron:i(/electron/i),chrome:i(/chrome/i),edge:i(/edge/i),firefox:i(/firefox/i),opera:i(/opera/i),win:i(/win/i),mac:i(/mac/i),linux:i(/linux/i),touch:SUPPORTS_TOUCH,ssr:"ssr"===n}}function createDisplay(t,n){const{thresholds:i,mobileBreakpoint:a}=parseDisplayOptions(t),s=shallowRef(getClientHeight(n)),l=shallowRef(getPlatform(n)),c=reactive({}),u=shallowRef(getClientWidth(n));function d(){s.value=getClientHeight(),u.value=getClientWidth()}return watchEffect((()=>{const t=u.value<i.sm,n=u.value<i.md&&!t,d=u.value<i.lg&&!(n||t),f=u.value<i.xl&&!(d||n||t),m=u.value<i.xxl&&!(f||d||n||t),g=u.value>=i.xxl,v=t?"xs":n?"sm":d?"md":f?"lg":m?"xl":"xxl",b="number"==typeof a?a:i[a],w=u.value<b;c.xs=t,c.sm=n,c.md=d,c.lg=f,c.xl=m,c.xxl=g,c.smAndUp=!t,c.mdAndUp=!(t||n),c.lgAndUp=!(t||n||d),c.xlAndUp=!(t||n||d||f),c.smAndDown=!(d||f||m||g),c.mdAndDown=!(f||m||g),c.lgAndDown=!(m||g),c.xlAndDown=!g,c.name=v,c.height=s.value,c.width=u.value,c.mobile=w,c.mobileBreakpoint=a,c.platform=l.value,c.thresholds=i})),IN_BROWSER&&window.addEventListener("resize",d,{passive:!0}),{...toRefs(c),update:function(){d(),l.value=getPlatform()},ssr:!!n}}const makeDisplayProps=propsFactory({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function useDisplay(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{mobile:null},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const i=inject$1(DisplaySymbol);if(!i)throw new Error("Could not find Vuetify display injection");const a=computed((()=>!!t.mobile||("number"==typeof t.mobileBreakpoint?i.width.value<t.mobileBreakpoint:t.mobileBreakpoint?i.width.value<i.thresholds.value[t.mobileBreakpoint]:null===t.mobile&&i.mobile.value))),s=computed((()=>n?{[`${n}--mobile`]:a.value}:{}));return{...i,displayClasses:s,mobile:a}}const GoToSymbol=Symbol.for("vuetify:goto");function genDefaults$2(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:{linear:t=>t,easeInQuad:t=>t**2,easeOutQuad:t=>t*(2-t),easeInOutQuad:t=>t<.5?2*t**2:(4-2*t)*t-1,easeInCubic:t=>t**3,easeOutCubic:t=>--t**3+1,easeInOutCubic:t=>t<.5?4*t**3:(t-1)*(2*t-2)*(2*t-2)+1,easeInQuart:t=>t**4,easeOutQuart:t=>1- --t**4,easeInOutQuart:t=>t<.5?8*t**4:1-8*--t**4,easeInQuint:t=>t**5,easeOutQuint:t=>1+--t**5,easeInOutQuint:t=>t<.5?16*t**5:1+16*--t**5}}}function getContainer(t){return getTarget$1(t)??(document.scrollingElement||document.body)}function getTarget$1(t){return"string"==typeof t?document.querySelector(t):refElement(t)}function getOffset$2(t,n,i){if("number"==typeof t)return n&&i?-t:t;let a=getTarget$1(t),s=0;for(;a;)s+=n?a.offsetLeft:a.offsetTop,a=a.offsetParent;return s}function createGoTo(t,n){return{rtl:n.isRtl,options:mergeDeep(genDefaults$2(),t)}}async function scrollTo(t,n,i,a){const s=i?"scrollLeft":"scrollTop",l=mergeDeep(a?.options??genDefaults$2(),n),c=a?.rtl.value,u=("number"==typeof t?t:getTarget$1(t))??0,d="parent"===l.container&&u instanceof HTMLElement?u.parentElement:getContainer(l.container),f="function"==typeof l.easing?l.easing:l.patterns[l.easing];if(!f)throw new TypeError(`Easing function "${l.easing}" not found.`);let m;if("number"==typeof u)m=getOffset$2(u,i,c);else if(m=getOffset$2(u,i,c)-getOffset$2(d,i,c),l.layout){const t=window.getComputedStyle(u).getPropertyValue("--v-layout-top");t&&(m-=parseInt(t,10))}m+=l.offset,m=clampTarget(d,m,!!c,!!i);const g=d[s]??0;if(m===g)return Promise.resolve(m);const v=performance.now();return new Promise((t=>requestAnimationFrame((function n(i){const a=(i-v)/l.duration,c=Math.floor(g+(m-g)*f(clamp(a,0,1)));return d[s]=c,a>=1&&Math.abs(c-d[s])<10?t(m):a>2?t(d[s]):void requestAnimationFrame(n)}))))}function useGoTo(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=inject$1(GoToSymbol),{isRtl:i}=useRtl();if(!n)throw new Error("[Vuetify] Could not find injected goto instance");const a={...n,rtl:computed((()=>n.rtl.value||i.value))};async function s(n,i){return scrollTo(n,mergeDeep(t,i),!1,a)}return s.horizontal=async(n,i)=>scrollTo(n,mergeDeep(t,i),!0,a),s}function clampTarget(t,n,i,a){const{scrollWidth:s,scrollHeight:l}=t,[c,u]=t===document.scrollingElement?[window.innerWidth,window.innerHeight]:[t.offsetWidth,t.offsetHeight];let d,f;return a?i?(d=-(s-c),f=0):(d=0,f=s-c):(d=0,f=l+-u),Math.max(Math.min(n,f),d)}const aliases$4={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload"},mdi={component:t=>h$2(VClassIcon,{...t,class:"mdi"})},IconValue=[String,Function,Object,Array],IconSymbol=Symbol.for("vuetify:icons"),makeIconProps=propsFactory({icon:{type:IconValue},tag:{type:String,required:!0}},"icon"),VComponentIcon=genericComponent()({name:"VComponentIcon",props:makeIconProps(),setup(t,n){let{slots:i}=n;return()=>{const n=t.icon;return createVNode(t.tag,null,{default:()=>[t.icon?createVNode(n,null,null):i.default?.()]})}}}),VSvgIcon=defineComponent({name:"VSvgIcon",inheritAttrs:!1,props:makeIconProps(),setup(t,n){let{attrs:i}=n;return()=>createVNode(t.tag,mergeProps(i,{style:null}),{default:()=>[createVNode("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(t.icon)?t.icon.map((t=>Array.isArray(t)?createVNode("path",{d:t[0],"fill-opacity":t[1]},null):createVNode("path",{d:t},null))):createVNode("path",{d:t.icon},null)])]})}}),VLigatureIcon=defineComponent({name:"VLigatureIcon",props:makeIconProps(),setup:t=>()=>createVNode(t.tag,null,{default:()=>[t.icon]})}),VClassIcon=defineComponent({name:"VClassIcon",props:makeIconProps(),setup:t=>()=>createVNode(t.tag,{class:t.icon},null)});function genDefaults$1(){return{svg:{component:VSvgIcon},class:{component:VClassIcon}}}function createIcons(t){const n=genDefaults$1(),i=t?.defaultSet??"mdi";return"mdi"!==i||n.mdi||(n.mdi=mdi),mergeDeep({defaultSet:i,sets:n,aliases:{...aliases$4,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},t)}const useIcon=t=>{const n=inject$1(IconSymbol);if(!n)throw new Error("Missing Vuetify Icons provide!");return{iconData:computed((()=>{const i=unref(t);if(!i)return{component:VComponentIcon};let a=i;if("string"==typeof a&&(a=a.trim(),a.startsWith("$")&&(a=n.aliases?.[a.slice(1)])),Array.isArray(a))return{component:VSvgIcon,icon:a};if("string"!=typeof a)return{component:VComponentIcon,icon:a};const s=Object.keys(n.sets).find((t=>"string"==typeof a&&a.startsWith(`${t}:`))),l=s?a.slice(s.length+1):a;return{component:n.sets[s??n.defaultSet].component,icon:l}}))}},ThemeSymbol=Symbol.for("vuetify:theme"),makeThemeProps=propsFactory({theme:String},"theme");function genDefaults(){return{defaultTheme:"light",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#a3a3a3","on-surface-variant":"#424242",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}}}}function parseThemeOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:genDefaults();const n=genDefaults();if(!t)return{...n,isDisabled:!0};const i={};for(const[a,s]of Object.entries(t.themes??{})){const t=s.dark||"dark"===a?n.themes?.dark:n.themes?.light;i[a]=mergeDeep(t,s)}return mergeDeep(n,{...t,themes:i})}function createTheme(t){const n=parseThemeOptions(t),i=ref(n.defaultTheme),a=ref(n.themes),s=computed((()=>{const t={};for(const[i,s]of Object.entries(a.value)){const a=t[i]={...s,colors:{...s.colors}};if(n.variations)for(const t of n.variations.colors){const i=a.colors[t];if(i)for(const s of["lighten","darken"]){const l="lighten"===s?lighten:darken;for(const c of createRange(n.variations[s],1))a.colors[`${t}-${s}-${c}`]=RGBtoHex(l(parseColor(i),c))}}for(const t of Object.keys(a.colors)){if(/^on-[a-z]/.test(t)||a.colors[`on-${t}`])continue;const n=`on-${t}`,i=parseColor(a.colors[t]);a.colors[n]=getForeground(i)}}return t})),l=computed((()=>s.value[i.value])),c=computed((()=>{const t=[];l.value?.dark&&createCssClass(t,":root",["color-scheme: dark"]),createCssClass(t,":root",genCssVariables(l.value));for(const[l,c]of Object.entries(s.value))createCssClass(t,`.v-theme--${l}`,["color-scheme: "+(c.dark?"dark":"normal"),...genCssVariables(c)]);const n=[],i=[],a=new Set(Object.values(s.value).flatMap((t=>Object.keys(t.colors))));for(const s of a)/^on-[a-z]/.test(s)?createCssClass(i,`.${s}`,[`color: rgb(var(--v-theme-${s})) !important`]):(createCssClass(n,`.bg-${s}`,[`--v-theme-overlay-multiplier: var(--v-theme-${s}-overlay-multiplier)`,`background-color: rgb(var(--v-theme-${s})) !important`,`color: rgb(var(--v-theme-on-${s})) !important`]),createCssClass(i,`.text-${s}`,[`color: rgb(var(--v-theme-${s})) !important`]),createCssClass(i,`.border-${s}`,[`--v-border-color: var(--v-theme-${s})`]));return t.push(...n,...i),t.map(((t,n)=>0===n?t:` ${t}`)).join("")}));function u(){return{style:[{children:c.value,id:"vuetify-theme-stylesheet",nonce:n.cspNonce||!1}]}}const d=computed((()=>n.isDisabled?void 0:`v-theme--${i.value}`));return{install:function(t){if(n.isDisabled)return;const i=t._context.provides.usehead;if(i)if(i.push){const t=i.push(u);IN_BROWSER&&watch(c,(()=>{t.patch(u)}))}else IN_BROWSER?(i.addHeadObjs(computed(u)),watchEffect((()=>i.updateDOM()))):i.addHeadObjs(u());else{let t=function(){if("undefined"!=typeof document&&!i){const t=document.createElement("style");t.type="text/css",t.id="vuetify-theme-stylesheet",n.cspNonce&&t.setAttribute("nonce",n.cspNonce),i=t,document.head.appendChild(i)}i&&(i.innerHTML=c.value)},i=IN_BROWSER?document.getElementById("vuetify-theme-stylesheet"):null;IN_BROWSER?watch(c,t,{immediate:!0}):t()}},isDisabled:n.isDisabled,name:i,themes:a,current:l,computedThemes:s,themeClasses:d,styles:c,global:{name:i,current:l}}}function provideTheme(t){getCurrentInstance("provideTheme");const n=inject$1(ThemeSymbol,null);if(!n)throw new Error("Could not find Vuetify theme injection");const i=computed((()=>t.theme??n.name.value)),a=computed((()=>n.themes.value[i.value])),s=computed((()=>n.isDisabled?void 0:`v-theme--${i.value}`)),l={...n,name:i,current:a,themeClasses:s};return provide(ThemeSymbol,l),l}function useTheme(){getCurrentInstance("useTheme");const t=inject$1(ThemeSymbol,null);if(!t)throw new Error("Could not find Vuetify theme injection");return t}function createCssClass(t,n,i){t.push(`${n} {\n`,...i.map((t=>` ${t};\n`)),"}\n")}function genCssVariables(t){const n=t.dark?2:1,i=t.dark?1:2,a=[];for(const[s,l]of Object.entries(t.colors)){const t=parseColor(l);a.push(`--v-theme-${s}: ${t.r},${t.g},${t.b}`),s.startsWith("on-")||a.push(`--v-theme-${s}-overlay-multiplier: ${getLuma(l)>.18?n:i}`)}for(const[s,l]of Object.entries(t.variables)){const t="string"==typeof l&&l.startsWith("#")?parseColor(l):void 0,n=t?`${t.r}, ${t.g}, ${t.b}`:void 0;a.push(`--v-${s}: ${n??l}`)}return a}function useResizeObserver(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"content";const i=templateRef(),a=ref();if(IN_BROWSER){const s=new ResizeObserver((i=>{t?.(i,s),i.length&&(a.value="content"===n?i[0].contentRect:i[0].target.getBoundingClientRect())}));onBeforeUnmount((()=>{s.disconnect()})),watch((()=>i.el),((t,n)=>{n&&(s.unobserve(n),a.value=void 0),t&&s.observe(t)}),{flush:"post"})}return{resizeRef:i,contentRect:readonly(a)}}const VuetifyLayoutKey=Symbol.for("vuetify:layout"),VuetifyLayoutItemKey=Symbol.for("vuetify:layout-item"),ROOT_ZINDEX=1e3,makeLayoutProps=propsFactory({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),makeLayoutItemProps=propsFactory({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function useLayout(){const t=inject$1(VuetifyLayoutKey);if(!t)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:t.getLayoutItem,mainRect:t.mainRect,mainStyles:t.mainStyles}}function useLayoutItem(t){const n=inject$1(VuetifyLayoutKey);if(!n)throw new Error("[Vuetify] Could not find injected layout");const i=t.id??`layout-item-${getUid()}`,a=getCurrentInstance("useLayoutItem");provide(VuetifyLayoutItemKey,{id:i});const s=shallowRef(!1);onDeactivated((()=>s.value=!0)),onActivated((()=>s.value=!1));const{layoutItemStyles:l,layoutItemScrimStyles:c}=n.register(a,{...t,active:computed((()=>!s.value&&t.active.value)),id:i});return onBeforeUnmount((()=>n.unregister(i))),{layoutItemStyles:l,layoutRect:n.layoutRect,layoutItemScrimStyles:c}}const generateLayers=(t,n,i,a)=>{let s={top:0,left:0,right:0,bottom:0};const l=[{id:"",layer:{...s}}];for(const c of t){const t=n.get(c),u=i.get(c),d=a.get(c);if(!t||!u||!d)continue;const f={...s,[t.value]:parseInt(s[t.value],10)+(d.value?parseInt(u.value,10):0)};l.push({id:c,layer:f}),s=f}return l};function createLayout(t){const n=inject$1(VuetifyLayoutKey,null),i=computed((()=>n?n.rootZIndex.value-100:ROOT_ZINDEX)),a=ref([]),s=reactive(new Map),l=reactive(new Map),c=reactive(new Map),u=reactive(new Map),d=reactive(new Map),{resizeRef:f,contentRect:m}=useResizeObserver(),g=computed((()=>{const n=new Map,i=t.overlaps??[];for(const t of i.filter((t=>t.includes(":")))){const[i,c]=t.split(":");if(!a.value.includes(i)||!a.value.includes(c))continue;const u=s.get(i),d=s.get(c),f=l.get(i),m=l.get(c);u&&d&&f&&m&&(n.set(c,{position:u.value,amount:parseInt(f.value,10)}),n.set(i,{position:d.value,amount:-parseInt(m.value,10)}))}return n})),v=computed((()=>{const t=[...new Set([...c.values()].map((t=>t.value)))].sort(((t,n)=>t-n)),n=[];for(const i of t){const t=a.value.filter((t=>c.get(t)?.value===i));n.push(...t)}return generateLayers(n,s,l,u)})),b=computed((()=>!Array.from(d.values()).some((t=>t.value)))),w=computed((()=>v.value[v.value.length-1].layer)),k=computed((()=>({"--v-layout-left":convertToUnit(w.value.left),"--v-layout-right":convertToUnit(w.value.right),"--v-layout-top":convertToUnit(w.value.top),"--v-layout-bottom":convertToUnit(w.value.bottom),...b.value?void 0:{transition:"none"}}))),S=computed((()=>v.value.slice(1).map(((t,n)=>{let{id:i}=t;const{layer:a}=v.value[n],c=l.get(i),u=s.get(i);return{id:i,...a,size:Number(c.value),position:u.value}})))),C=t=>S.value.find((n=>n.id===t)),E=getCurrentInstance("createLayout"),T=shallowRef(!1);onMounted((()=>{T.value=!0})),provide(VuetifyLayoutKey,{register:(t,n)=>{let{id:f,order:m,position:w,layoutSize:k,elementSize:C,active:P,disableTransitions:I,absolute:A}=n;c.set(f,m),s.set(f,w),l.set(f,k),u.set(f,P),I&&d.set(f,I);const D=findChildrenWithProvide(VuetifyLayoutItemKey,E?.vnode).indexOf(t);D>-1?a.value.splice(D,0,f):a.value.push(f);const O=computed((()=>S.value.findIndex((t=>t.id===f)))),_e=computed((()=>i.value+2*v.value.length-2*O.value));return{layoutItemStyles:computed((()=>{const t="left"===w.value||"right"===w.value,n="right"===w.value,a="bottom"===w.value,s=C.value??k.value,l=0===s?"%":"px",c={[w.value]:0,zIndex:_e.value,transform:`translate${t?"X":"Y"}(${(P.value?0:-(0===s?100:s))*(n||a?-1:1)}${l})`,position:A.value||i.value!==ROOT_ZINDEX?"absolute":"fixed",...b.value?void 0:{transition:"none"}};if(!T.value)return c;const u=S.value[O.value];if(!u)throw new Error(`[Vuetify] Could not find layout item "${f}"`);const d=g.value.get(f);return d&&(u[d.position]+=d.amount),{...c,height:t?`calc(100% - ${u.top}px - ${u.bottom}px)`:C.value?`${C.value}px`:void 0,left:n?void 0:`${u.left}px`,right:n?`${u.right}px`:void 0,top:"bottom"!==w.value?`${u.top}px`:void 0,bottom:"top"!==w.value?`${u.bottom}px`:void 0,width:t?C.value?`${C.value}px`:void 0:`calc(100% - ${u.left}px - ${u.right}px)`}})),layoutItemScrimStyles:computed((()=>({zIndex:_e.value-1}))),zIndex:_e}},unregister:t=>{c.delete(t),s.delete(t),l.delete(t),u.delete(t),d.delete(t),a.value=a.value.filter((n=>n!==t))},mainRect:w,mainStyles:k,getLayoutItem:C,items:S,layoutRect:m,rootZIndex:i});return{layoutClasses:computed((()=>["v-layout",{"v-layout--full-height":t.fullHeight}])),layoutStyles:computed((()=>({zIndex:n?i.value:void 0,position:n?"relative":void 0,overflow:n?"hidden":void 0}))),getLayoutItem:C,items:S,layoutRect:m,layoutRef:f}}function createVuetify(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{blueprint:n,...i}=t,a=mergeDeep(n,i),{aliases:s={},components:l={},directives:c={}}=a,u=createDefaults(a.defaults),d=createDisplay(a.display,a.ssr),f=createTheme(a.theme),m=createIcons(a.icons),g=createLocale(a.locale),v=createDate$4(a.date,g),b=createGoTo(a.goTo,g);return{install:t=>{for(const n in c)t.directive(n,c[n]);for(const n in l)t.component(n,l[n]);for(const n in s)t.component(n,defineComponent({...s[n],name:n,aliasName:s[n].name}));if(f.install(t),t.provide(DefaultsSymbol,u),t.provide(DisplaySymbol,d),t.provide(ThemeSymbol,f),t.provide(IconSymbol,m),t.provide(LocaleSymbol,g),t.provide(DateOptionsSymbol,v.options),t.provide(DateAdapterSymbol,v.instance),t.provide(GoToSymbol,b),IN_BROWSER&&a.ssr)if(t.$nuxt)t.$nuxt.hook("app:suspense:resolve",(()=>{d.update()}));else{const{mount:n}=t;t.mount=function(){const i=n(...arguments);return nextTick$2((()=>d.update())),t.mount=n,i}}getUid.reset(),t.mixin({computed:{$vuetify(){return reactive({defaults:inject.call(this,DefaultsSymbol),display:inject.call(this,DisplaySymbol),theme:inject.call(this,ThemeSymbol),icons:inject.call(this,IconSymbol),locale:inject.call(this,LocaleSymbol),date:inject.call(this,DateAdapterSymbol)})}}})},defaults:u,display:d,theme:f,icons:m,locale:g,date:v,goTo:b}}const version$2="3.7.15";function inject(t){const n=this.$,i=n.parent?.provides??n.vnode.appContext?.provides;if(i&&t in i)return i[t]}var Status,Status2,ServerRequestType,ServerRequestType2,DocType$1,DocType2,FieldType,FieldType2;createVuetify.version=version$2,Status2=Status||(Status={}),Status2.awaitingResponse="awaiting",Status2.ok="ok",Status2.warning="warning",Status2.error="error",ServerRequestType2=ServerRequestType||(ServerRequestType={}),ServerRequestType2.CREATE_CLASSROOM="CREATE_CLASSROOM",ServerRequestType2.DELETE_CLASSROOM="DELETE_CLASSROOM",ServerRequestType2.JOIN_CLASSROOM="JOIN_CLASSROOM",ServerRequestType2.LEAVE_CLASSROOM="LEAVE_CLASSROOM",ServerRequestType2.CREATE_COURSE="CREATE_COURSE",ServerRequestType2.DELETE_COURSE="DELETE_COURSE",ServerRequestType2.ADD_COURSE_DATA="ADD_COURSE_DATA",ServerRequestType2.PACK_COURSE="PACK_COURSE",DocType2=DocType$1||(DocType$1={}),DocType2.DISPLAYABLE_DATA="DISPLAYABLE_DATA",DocType2.CARD="CARD",DocType2.DATASHAPE="DATASHAPE",DocType2.QUESTIONTYPE="QUESTION",DocType2.VIEW="VIEW",DocType2.PEDAGOGY="PEDAGOGY",DocType2.CARDRECORD="CARDRECORD",DocType2.SCHEDULED_CARD="SCHEDULED_CARD",DocType2.TAG="TAG";class NameSpacer{static getDataShapeDescriptor(t){const n=t.split(".");if(3!==n.length)throw new Error(`shapeStr [${t}] not valid`);return{course:n[0],dataShape:n[2]}}static getDataShapeString(t){return`${t.course}.datashape.${t.dataShape}`}static getViewDescriptor(t){const n=t.split(".");if(4!==n.length)throw new Error("viewStr not valid");return{course:n[0],questionType:n[2],view:n[3]}}static getViewString(t){return`${t.course}.question.${t.questionType}.${t.view}`}static getQuestionDescriptor(t){const n=t.split(".");if(3!==n.length)throw new Error("questionStr not valid");return{course:n[0],questionType:n[2]}}static getQuestionString(t){return`${t.course}.question.${t.questionType}`}}function prepareNote55(t,n,i,a,s,l,c){const u=NameSpacer.getDataShapeString({course:n,dataShape:i.name}),d=i.fields.map((t=>({name:t.name,type:t.type}))).filter((t=>t.type===FieldType.IMAGE||t.type===FieldType.AUDIO)).concat([{name:"autoplayAudio",type:FieldType.AUDIO}]);for(let g=1;g<11;g++)a[`audio-${g}`]&&d.push({name:`audio-${g}`,type:FieldType.AUDIO}),a[`image-${g}`]&&d.push({name:`image-${g}`,type:FieldType.IMAGE});if(a["audio-11"])throw new Error("Too many audio attachments");if(a["image-11"])throw new Error("Too many image attachments");const f={},m={course:t,data:[],docType:DocType$1.DISPLAYABLE_DATA,id_datashape:u};return s&&(m.author=s),d.forEach((t=>{f[t.name]=a[t.name]})),c&&Object.keys(c).forEach((t=>{f[t]=c[t]})),(0!==d.length||c&&Object.keys(c).length)&&(m._attachments=f),i.fields.filter((t=>t.type!==FieldType.IMAGE&&t.type!==FieldType.AUDIO)).forEach((t=>{m.data.push({name:t.name,data:a[t.name]})})),m}FieldType2=FieldType||(FieldType={}),FieldType2.STRING="string",FieldType2.NUMBER="number",FieldType2.INT="int",FieldType2.IMAGE="image",FieldType2.MARKDOWN="markdown",FieldType2.AUDIO="audio",FieldType2.MIDI="midi",FieldType2.MEDIA_UPLOADS="uploads",FieldType2.CHESS_PUZZLE="chess_puzzle";class EloRanker{constructor(t=32){__publicField2(this,"k"),this.k=t}setKFactor(t){this.k=t}getKFactor(){return this.k}getExpected(t,n){return 1/(1+Math.pow(10,(n-t)/400))}updateRating(t,n,i){return Math.round(i+this.k*(n-t))}}function blankCourseElo(){return{global:{score:990+Math.round(20*Math.random()),count:0},tags:{},misc:{}}}function EloToNumber(t){return"number"==typeof t?t:isCourseElo(t)?t.global.score:t.score}function toCourseElo(t){if("string"==typeof t)throw new Error("unsuitiably typed input to toCourseElo");return"number"==typeof t?{global:{score:t,count:0},misc:{},tags:{}}:isCourseElo(t)?t:void 0===t?{global:{score:995+10*Math.random(),count:0},tags:{},misc:{}}:{global:t,tags:{},misc:{}}}function isCourseElo(t){return!(!t||"object"!=typeof t)&&("global"in t&&"tags"in t)}function adjustCourseScores(t,n,i,a){if(i<0||i>1)throw new Error(`ELO performance rating must be between 0 and 1 - received ${i}`);const s=toCourseElo(t),l=toCourseElo(n);null!=a&&a.globalOnly||Object.keys(l.tags).forEach((t=>{const n=adjustScores(s.tags[t]?s.tags[t]:{count:0,score:s.global.score},l.tags[t],i);s.tags[t]=n.userElo,l.tags[t]=n.cardElo}));const c=adjustScores(s.global,l.global,i);return s.global=c.userElo,l.global=c.cardElo,{userElo:s,cardElo:l}}function adjustScores(t,n,i){if(i<0||i>1)throw new Error(`ELO performance rating must be between 0 and 1 - received ${i}`);const a=new EloRanker(16),s=new EloRanker(16),l=a.getExpected(t.score,n.score),c=a.updateRating(l,i,t.score),u=s.updateRating(1-l,1-i,n.score);return{userElo:{score:c,count:t.count+1},cardElo:{score:u,count:n.count+1}}}const log$1=(...t)=>{console.log(...t)},Validators={NonEmptyString:{instructions:"",test:t=>0!==t.length?{status:Status.ok,msg:""}:{status:Status.error,msg:"Input cannot be empty"}}},numberConverter=t=>parseFloat(t),intConverter=t=>parseInt(t,10),fieldConverters={string:{databaseConverter:t=>t,previewConverter:t=>t},chess_puzzle:{databaseConverter:t=>t,previewConverter:t=>t},number:{databaseConverter:numberConverter,previewConverter:numberConverter},int:{databaseConverter:intConverter,previewConverter:intConverter},image:{databaseConverter:t=>t,previewConverter:t=>t?t.data:new Blob},audio:{databaseConverter:t=>t,previewConverter:t=>t?t.data:new Blob},midi:{databaseConverter:t=>t,previewConverter:t=>t},markdown:{databaseConverter:t=>t,previewConverter:t=>t},uploads:{databaseConverter:t=>t,previewConverter:t=>t}},DEFAULT_PARSER_CONFIG={tagIdentifier:"tags:",eloIdentifier:"elo:"},CARD_DELIMITER="\n---\n---\n";function parseCard(t,n=DEFAULT_PARSER_CONFIG){const i=t.trim();if(!i)return null;const a=i.split("\n");let s,l=[];const c=[...a];let u=0;const d=n.tagIdentifier||DEFAULT_PARSER_CONFIG.tagIdentifier,f=n.eloIdentifier||DEFAULT_PARSER_CONFIG.eloIdentifier;for(let g=a.length-1;g>=0&&g>=a.length-2;g--){const t=a[g].trim();if(t.toLowerCase().startsWith(d.toLowerCase()))l=t.substring(d.length).split(",").map((t=>t.trim())).filter((t=>t)),u++;else if(t.toLowerCase().startsWith(f.toLowerCase())){const n=t.substring(f.length).trim(),i=parseInt(n,10);isNaN(i)||(s=i),u++}}u>0&&c.splice(c.length-u);const m=c.join("\n").trim();return m?{markdown:m,tags:l,elo:s}:null}function splitCardsText(t){return t.split(CARD_DELIMITER).map((t=>t.trim())).filter((t=>t))}function parseBulkTextToCards(t,n=DEFAULT_PARSER_CONFIG){const i=splitCardsText(t),a=[];for(const s of i){const t=parseCard(s,n);t&&a.push(t)}return a}function isValidBulkFormat(t){const n=splitCardsText(t);return n.length>0&&n.some((t=>!!t.trim()))}function validationFunctionToVuetifyRule(t){return n=>{const i=t(n);return i.status===Status.ok||i.msg}}function displayableDataToViewData(t){const n={};return t.data.forEach((t=>{n[t.name]=t.data})),t._attachments&&Object.getOwnPropertyNames(t._attachments).forEach((i=>{t._attachments&&(n[i]=t._attachments[i].data)})),n}var DataShapeName,DataShapeName2;function getDefaultExportFromCjs$4(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function getAugmentedNamespace$2(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var n=t.default;if("function"==typeof n){var i=function t(){return this instanceof t?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};i.prototype=n.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(t).forEach((function(n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(i,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})})),i}DataShapeName2=DataShapeName||(DataShapeName={}),DataShapeName2.BLANK="",DataShapeName2.Basic="Basic",DataShapeName2.Blanks="Blanks",DataShapeName2.Default="Default",DataShapeName2.MATH_SingleDigitAddition="SingleDigitAddition",DataShapeName2.MATH_SingleDigitSubtraction="SingleDigitSubtraction",DataShapeName2.MATH_SingleDigitDivision="SingleDigitDivision",DataShapeName2.MATH_SingleDigitMultiplication="SingleDigitMultiplication",DataShapeName2.MATH_EqualityTest="EqualityTest",DataShapeName2.MATH_OneStepEquation="OneStepEquation",DataShapeName2.MATH_AngleCategorize="AngleCategorize",DataShapeName2.MATH_SupplimentaryAngles="SupplimentaryAngles",DataShapeName2.MATH_CountBy="CountBy",DataShapeName2.FRENCH_AudioParse="AudioParse",DataShapeName2.FRENCH_Vocab="Vocab",DataShapeName2.WORDWORK_Spelling="WordWork_Spelling",DataShapeName2.PIANO_Echo="Piano_Echo",DataShapeName2.PIANO_PlayNote="Piano_PlayNote",DataShapeName2.PITCH_chroma="Pitch_chroma",DataShapeName2.SIGHTSING_IdentifyKey="SightSing_IdentifyKey",DataShapeName2.CHESS_puzzle="CHESS_puzzle",DataShapeName2.CHESS_forks="CHESS_forks",DataShapeName2.TYPING_singleLetter="TYPING_singleLetter",DataShapeName2.TYPING_fallingLetters="TYPING_fallingLetters";var sparkMd5={exports:{}},hasRequiredSparkMd5;function requireSparkMd5(){return hasRequiredSparkMd5||(hasRequiredSparkMd5=1,sparkMd5.exports=function(t){var n=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function i(t,n){var i=t[0],a=t[1],s=t[2],l=t[3];a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&s|~a&l)+n[0]-680876936|0)<<7|i>>>25)+a|0)&a|~i&s)+n[1]-389564586|0)<<12|l>>>20)+i|0)&i|~l&a)+n[2]+606105819|0)<<17|s>>>15)+l|0)&l|~s&i)+n[3]-1044525330|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&s|~a&l)+n[4]-176418897|0)<<7|i>>>25)+a|0)&a|~i&s)+n[5]+1200080426|0)<<12|l>>>20)+i|0)&i|~l&a)+n[6]-1473231341|0)<<17|s>>>15)+l|0)&l|~s&i)+n[7]-45705983|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&s|~a&l)+n[8]+1770035416|0)<<7|i>>>25)+a|0)&a|~i&s)+n[9]-1958414417|0)<<12|l>>>20)+i|0)&i|~l&a)+n[10]-42063|0)<<17|s>>>15)+l|0)&l|~s&i)+n[11]-1990404162|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&s|~a&l)+n[12]+1804603682|0)<<7|i>>>25)+a|0)&a|~i&s)+n[13]-40341101|0)<<12|l>>>20)+i|0)&i|~l&a)+n[14]-1502002290|0)<<17|s>>>15)+l|0)&l|~s&i)+n[15]+1236535329|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&l|s&~l)+n[1]-165796510|0)<<5|i>>>27)+a|0)&s|a&~s)+n[6]-1069501632|0)<<9|l>>>23)+i|0)&a|i&~a)+n[11]+643717713|0)<<14|s>>>18)+l|0)&i|l&~i)+n[0]-373897302|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&l|s&~l)+n[5]-701558691|0)<<5|i>>>27)+a|0)&s|a&~s)+n[10]+38016083|0)<<9|l>>>23)+i|0)&a|i&~a)+n[15]-660478335|0)<<14|s>>>18)+l|0)&i|l&~i)+n[4]-405537848|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&l|s&~l)+n[9]+568446438|0)<<5|i>>>27)+a|0)&s|a&~s)+n[14]-1019803690|0)<<9|l>>>23)+i|0)&a|i&~a)+n[3]-187363961|0)<<14|s>>>18)+l|0)&i|l&~i)+n[8]+1163531501|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a&l|s&~l)+n[13]-1444681467|0)<<5|i>>>27)+a|0)&s|a&~s)+n[2]-51403784|0)<<9|l>>>23)+i|0)&a|i&~a)+n[7]+1735328473|0)<<14|s>>>18)+l|0)&i|l&~i)+n[12]-1926607734|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a^s^l)+n[5]-378558|0)<<4|i>>>28)+a|0)^a^s)+n[8]-2022574463|0)<<11|l>>>21)+i|0)^i^a)+n[11]+1839030562|0)<<16|s>>>16)+l|0)^l^i)+n[14]-35309556|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a^s^l)+n[1]-1530992060|0)<<4|i>>>28)+a|0)^a^s)+n[4]+1272893353|0)<<11|l>>>21)+i|0)^i^a)+n[7]-155497632|0)<<16|s>>>16)+l|0)^l^i)+n[10]-1094730640|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a^s^l)+n[13]+681279174|0)<<4|i>>>28)+a|0)^a^s)+n[0]-358537222|0)<<11|l>>>21)+i|0)^i^a)+n[3]-722521979|0)<<16|s>>>16)+l|0)^l^i)+n[6]+76029189|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((i=((i+=(a^s^l)+n[9]-640364487|0)<<4|i>>>28)+a|0)^a^s)+n[12]-421815835|0)<<11|l>>>21)+i|0)^i^a)+n[15]+530742520|0)<<16|s>>>16)+l|0)^l^i)+n[2]-995338651|0)<<23|a>>>9)+s|0,a=((a+=((l=((l+=(a^((i=((i+=(s^(a|~l))+n[0]-198630844|0)<<6|i>>>26)+a|0)|~s))+n[7]+1126891415|0)<<10|l>>>22)+i|0)^((s=((s+=(i^(l|~a))+n[14]-1416354905|0)<<15|s>>>17)+l|0)|~i))+n[5]-57434055|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((i=((i+=(s^(a|~l))+n[12]+1700485571|0)<<6|i>>>26)+a|0)|~s))+n[3]-1894986606|0)<<10|l>>>22)+i|0)^((s=((s+=(i^(l|~a))+n[10]-1051523|0)<<15|s>>>17)+l|0)|~i))+n[1]-2054922799|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((i=((i+=(s^(a|~l))+n[8]+1873313359|0)<<6|i>>>26)+a|0)|~s))+n[15]-30611744|0)<<10|l>>>22)+i|0)^((s=((s+=(i^(l|~a))+n[6]-1560198380|0)<<15|s>>>17)+l|0)|~i))+n[13]+1309151649|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((i=((i+=(s^(a|~l))+n[4]-145523070|0)<<6|i>>>26)+a|0)|~s))+n[11]-1120210379|0)<<10|l>>>22)+i|0)^((s=((s+=(i^(l|~a))+n[2]+718787259|0)<<15|s>>>17)+l|0)|~i))+n[9]-343485551|0)<<21|a>>>11)+s|0,t[0]=i+t[0]|0,t[1]=a+t[1]|0,t[2]=s+t[2]|0,t[3]=l+t[3]|0}function a(t){var n,i=[];for(n=0;n<64;n+=4)i[n>>2]=t.charCodeAt(n)+(t.charCodeAt(n+1)<<8)+(t.charCodeAt(n+2)<<16)+(t.charCodeAt(n+3)<<24);return i}function s(t){var n,i=[];for(n=0;n<64;n+=4)i[n>>2]=t[n]+(t[n+1]<<8)+(t[n+2]<<16)+(t[n+3]<<24);return i}function l(t){var n,s,l,c,u,d,f=t.length,m=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=f;n+=64)i(m,a(t.substring(n-64,n)));for(s=(t=t.substring(n-64)).length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=0;n<s;n+=1)l[n>>2]|=t.charCodeAt(n)<<(n%4<<3);if(l[n>>2]|=128<<(n%4<<3),n>55)for(i(m,l),n=0;n<16;n+=1)l[n]=0;return c=(c=8*f).toString(16).match(/(.*?)(.{0,8})$/),u=parseInt(c[2],16),d=parseInt(c[1],16)||0,l[14]=u,l[15]=d,i(m,l),m}function c(t){var n,a,l,c,u,d,f=t.length,m=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=f;n+=64)i(m,s(t.subarray(n-64,n)));for(a=(t=n-64<f?t.subarray(n-64):new Uint8Array(0)).length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=0;n<a;n+=1)l[n>>2]|=t[n]<<(n%4<<3);if(l[n>>2]|=128<<(n%4<<3),n>55)for(i(m,l),n=0;n<16;n+=1)l[n]=0;return c=(c=8*f).toString(16).match(/(.*?)(.{0,8})$/),u=parseInt(c[2],16),d=parseInt(c[1],16)||0,l[14]=u,l[15]=d,i(m,l),m}function u(t){var i,a="";for(i=0;i<4;i+=1)a+=n[t>>8*i+4&15]+n[t>>8*i&15];return a}function d(t){var n;for(n=0;n<t.length;n+=1)t[n]=u(t[n]);return t.join("")}function f(t){return/[\u0080-\uFFFF]/.test(t)&&(t=unescape(encodeURIComponent(t))),t}function m(t,n){var i,a=t.length,s=new ArrayBuffer(a),l=new Uint8Array(s);for(i=0;i<a;i+=1)l[i]=t.charCodeAt(i);return n?l:s}function g(t){return String.fromCharCode.apply(null,new Uint8Array(t))}function v(t,n,i){var a=new Uint8Array(t.byteLength+n.byteLength);return a.set(new Uint8Array(t)),a.set(new Uint8Array(n),t.byteLength),a}function b(t){var n,i=[],a=t.length;for(n=0;n<a-1;n+=2)i.push(parseInt(t.substr(n,2),16));return String.fromCharCode.apply(String,i)}function w(){this.reset()}return d(l("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function n(t,n){return(t=0|t||0)<0?Math.max(t+n,0):Math.min(t,n)}ArrayBuffer.prototype.slice=function(i,a){var s,l,c,u,d=this.byteLength,f=n(i,d),m=d;return a!==t&&(m=n(a,d)),f>m?new ArrayBuffer(0):(s=m-f,l=new ArrayBuffer(s),c=new Uint8Array(l),u=new Uint8Array(this,f,s),c.set(u),l)}}(),w.prototype.append=function(t){return this.appendBinary(f(t)),this},w.prototype.appendBinary=function(t){this._buff+=t,this._length+=t.length;var n,s=this._buff.length;for(n=64;n<=s;n+=64)i(this._hash,a(this._buff.substring(n-64,n)));return this._buff=this._buff.substring(n-64),this},w.prototype.end=function(t){var n,i,a=this._buff,s=a.length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<s;n+=1)l[n>>2]|=a.charCodeAt(n)<<(n%4<<3);return this._finish(l,s),i=d(this._hash),t&&(i=b(i)),this.reset(),i},w.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},w.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},w.prototype.setState=function(t){return this._buff=t.buff,this._length=t.length,this._hash=t.hash,this},w.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},w.prototype._finish=function(t,n){var a,s,l,c=n;if(t[c>>2]|=128<<(c%4<<3),c>55)for(i(this._hash,t),c=0;c<16;c+=1)t[c]=0;a=(a=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,t[14]=s,t[15]=l,i(this._hash,t)},w.hash=function(t,n){return w.hashBinary(f(t),n)},w.hashBinary=function(t,n){var i=d(l(t));return n?b(i):i},w.ArrayBuffer=function(){this.reset()},w.ArrayBuffer.prototype.append=function(t){var n,a=v(this._buff.buffer,t),l=a.length;for(this._length+=t.byteLength,n=64;n<=l;n+=64)i(this._hash,s(a.subarray(n-64,n)));return this._buff=n-64<l?new Uint8Array(a.buffer.slice(n-64)):new Uint8Array(0),this},w.ArrayBuffer.prototype.end=function(t){var n,i,a=this._buff,s=a.length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<s;n+=1)l[n>>2]|=a[n]<<(n%4<<3);return this._finish(l,s),i=d(this._hash),t&&(i=b(i)),this.reset(),i},w.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},w.ArrayBuffer.prototype.getState=function(){var t=w.prototype.getState.call(this);return t.buff=g(t.buff),t},w.ArrayBuffer.prototype.setState=function(t){return t.buff=m(t.buff,!0),w.prototype.setState.call(this,t)},w.ArrayBuffer.prototype.destroy=w.prototype.destroy,w.ArrayBuffer.prototype._finish=w.prototype._finish,w.ArrayBuffer.hash=function(t,n){var i=d(c(new Uint8Array(t)));return n?b(i):i},w}()),sparkMd5.exports}var sparkMd5Exports=requireSparkMd5();const Md5=getDefaultExportFromCjs$4(sparkMd5Exports);var getRandomValues$1,rnds8$1=new Uint8Array(16);function rng$1(){if(!getRandomValues$1&&!(getRandomValues$1="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues$1(rnds8$1)}const REGEX$3=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function validate$1(t){return"string"==typeof t&&REGEX$3.test(t)}for(var byteToHex$1=[],i$1=0;i$1<256;++i$1)byteToHex$1.push((i$1+256).toString(16).substr(1));function stringify$2(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(byteToHex$1[t[n+0]]+byteToHex$1[t[n+1]]+byteToHex$1[t[n+2]]+byteToHex$1[t[n+3]]+"-"+byteToHex$1[t[n+4]]+byteToHex$1[t[n+5]]+"-"+byteToHex$1[t[n+6]]+byteToHex$1[t[n+7]]+"-"+byteToHex$1[t[n+8]]+byteToHex$1[t[n+9]]+"-"+byteToHex$1[t[n+10]]+byteToHex$1[t[n+11]]+byteToHex$1[t[n+12]]+byteToHex$1[t[n+13]]+byteToHex$1[t[n+14]]+byteToHex$1[t[n+15]]).toLowerCase();if(!validate$1(i))throw TypeError("Stringified UUID is invalid");return i}function v4$1(t,n,i){var a=(t=t||{}).random||(t.rng||rng$1)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,n){i=i||0;for(var s=0;s<16;++s)n[i+s]=a[s];return n}return stringify$2(a)}var vuvuzela$1={},hasRequiredVuvuzela;function requireVuvuzela(){if(hasRequiredVuvuzela)return vuvuzela$1;function t(t,n,i){var a=i[i.length-1];t===a.element&&(i.pop(),a=i[i.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(t);else if(l===n.length-2){s[n.pop()]=t}else n.push(t)}return hasRequiredVuvuzela=1,vuvuzela$1.stringify=function(t){var n=[];n.push({obj:t});for(var i,a,s,l,c,u,d,f,m,g,v="";i=n.pop();)if(a=i.obj,v+=i.prefix||"",s=i.val||"")v+=s;else if("object"!=typeof a)v+=void 0===a?null:JSON.stringify(a);else if(null===a)v+="null";else if(Array.isArray(a)){for(n.push({val:"]"}),l=a.length-1;l>=0;l--)c=0===l?"":",",n.push({obj:a[l],prefix:c});n.push({val:"["})}else{for(d in u=[],a)a.hasOwnProperty(d)&&u.push(d);for(n.push({val:"}"}),l=u.length-1;l>=0;l--)m=a[f=u[l]],g=l>0?",":"",g+=JSON.stringify(f)+":",n.push({obj:m,prefix:g});n.push({val:"{"})}return v},vuvuzela$1.parse=function(n){for(var i,a,s,l,c,u,d,f,m,g=[],v=[],b=0;;)if("}"!==(i=n[b++])&&"]"!==i&&void 0!==i)switch(i){case" ":case"\t":case"\n":case":":case",":break;case"n":b+=3,t(null,g,v);break;case"t":b+=3,t(!0,g,v);break;case"f":b+=4,t(!1,g,v);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":for(a="",b--;;){if(s=n[b++],!/[\d\.\-e\+]/.test(s)){b--;break}a+=s}t(parseFloat(a),g,v);break;case'"':for(l="",c=void 0,u=0;'"'!==(d=n[b++])||"\\"===c&&u%2==1;)l+=d,"\\"===(c=d)?u++:u=0;t(JSON.parse('"'+l+'"'),g,v);break;case"[":f={element:[],index:g.length},g.push(f.element),v.push(f);break;case"{":m={element:{},index:g.length},g.push(m.element),v.push(m);break;default:throw new Error("unexpectedly reached end of input: "+i)}else{if(1===g.length)return g.pop();t(g.pop(),g,v)}},vuvuzela$1}var vuvuzelaExports=requireVuvuzela();const vuvuzela=getDefaultExportFromCjs$4(vuvuzelaExports);var events={exports:{}},hasRequiredEvents;function requireEvents(){if(hasRequiredEvents)return events.exports;hasRequiredEvents=1;var t,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(t,n,i){return Function.prototype.apply.call(t,n,i)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var a=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}events.exports=s,events.exports.once=function(t,n){return new Promise((function(i,a){function s(i){t.removeListener(n,l),a(i)}function l(){"function"==typeof t.removeListener&&t.removeListener("error",s),i([].slice.call(arguments))}w(t,n,l,{once:!0}),"error"!==n&&function(t,n,i){"function"==typeof t.on&&w(t,"error",n,i)}(t,s,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function d(t,n,i,a){var s,l,d,f;if(c(i),void 0===(l=t._events)?(l=t._events=Object.create(null),t._eventsCount=0):(void 0!==l.newListener&&(t.emit("newListener",n,i.listener?i.listener:i),l=t._events),d=l[n]),void 0===d)d=l[n]=i,++t._eventsCount;else if("function"==typeof d?d=l[n]=a?[i,d]:[d,i]:a?d.unshift(i):d.push(i),(s=u(t))>0&&d.length>s&&!d.warned){d.warned=!0;var m=new Error("Possible EventEmitter memory leak detected. "+d.length+" "+String(n)+" listeners added. Use emitter.setMaxListeners() to increase limit");m.name="MaxListenersExceededWarning",m.emitter=t,m.type=n,m.count=d.length,f=m,console&&console.warn&&console.warn(f)}return t}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(t,n,i){var a={fired:!1,wrapFn:void 0,target:t,type:n,listener:i},s=f.bind(a);return s.listener=i,a.wrapFn=s,s}function g(t,n,i){var a=t._events;if(void 0===a)return[];var s=a[n];return void 0===s?[]:"function"==typeof s?i?[s.listener||s]:[s]:i?function(t){for(var n=new Array(t.length),i=0;i<n.length;++i)n[i]=t[i].listener||t[i];return n}(s):b(s,s.length)}function v(t){var n=this._events;if(void 0!==n){var i=n[t];if("function"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function b(t,n){for(var i=new Array(n),a=0;a<n;++a)i[a]=t[a];return i}function w(t,n,i,a){if("function"==typeof t.on)a.once?t.once(n,i):t.on(n,i);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(n,(function s(l){a.once&&t.removeEventListener(n,s),i(l)}))}}return Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||a(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");l=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||a(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(t){for(var n=[],a=1;a<arguments.length;a++)n.push(arguments[a]);var s="error"===t,l=this._events;if(void 0!==l)s=s&&void 0===l.error;else if(!s)return!1;if(s){var c;if(n.length>0&&(c=n[0]),c instanceof Error)throw c;var u=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw u.context=c,u}var d=l[t];if(void 0===d)return!1;if("function"==typeof d)i(d,this,n);else{var f=d.length,m=b(d,f);for(a=0;a<f;++a)i(m[a],this,n)}return!0},s.prototype.addListener=function(t,n){return d(this,t,n,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,n){return d(this,t,n,!0)},s.prototype.once=function(t,n){return c(n),this.on(t,m(this,t,n)),this},s.prototype.prependOnceListener=function(t,n){return c(n),this.prependListener(t,m(this,t,n)),this},s.prototype.removeListener=function(t,n){var i,a,s,l,u;if(c(n),void 0===(a=this._events))return this;if(void 0===(i=a[t]))return this;if(i===n||i.listener===n)0==--this._eventsCount?this._events=Object.create(null):(delete a[t],a.removeListener&&this.emit("removeListener",t,i.listener||n));else if("function"!=typeof i){for(s=-1,l=i.length-1;l>=0;l--)if(i[l]===n||i[l].listener===n){u=i[l].listener,s=l;break}if(s<0)return this;0===s?i.shift():function(t,n){for(;n+1<t.length;n++)t[n]=t[n+1];t.pop()}(i,s),1===i.length&&(a[t]=i[0]),void 0!==a.removeListener&&this.emit("removeListener",t,u||n)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var n,i,a;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete i[t]),this;if(0===arguments.length){var s,l=Object.keys(i);for(a=0;a<l.length;++a)"removeListener"!==(s=l[a])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(n=i[t]))this.removeListener(t,n);else if(void 0!==n)for(a=n.length-1;a>=0;a--)this.removeListener(t,n[a]);return this},s.prototype.listeners=function(t){return g(this,t,!0)},s.prototype.rawListeners=function(t){return g(this,t,!1)},s.listenerCount=function(t,n){return"function"==typeof t.listenerCount?t.listenerCount(n):v.call(t,n)},s.prototype.listenerCount=v,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]},events.exports}var eventsExports=requireEvents();const EventEmitter=getDefaultExportFromCjs$4(eventsExports);function isBinaryObject$1(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer||"undefined"!=typeof Blob&&t instanceof Blob}function cloneBinaryObject$1(t){return t instanceof ArrayBuffer?t.slice(0):t.slice(0,t.size,t.type)}var funcToString$1=Function.prototype.toString,objectCtorString$1=funcToString$1.call(Object);function isPlainObject$4(t){var n=Object.getPrototypeOf(t);if(null===n)return!0;var i=n.constructor;return"function"==typeof i&&i instanceof i&&funcToString$1.call(i)==objectCtorString$1}function clone$7(t){var n,i,a;if(!t||"object"!=typeof t)return t;if(Array.isArray(t)){for(n=[],i=0,a=t.length;i<a;i++)n[i]=clone$7(t[i]);return n}if(t instanceof Date&&isFinite(t))return t.toISOString();if(isBinaryObject$1(t))return cloneBinaryObject$1(t);if(!isPlainObject$4(t))return t;for(i in n={},t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=clone$7(t[i]);void 0!==s&&(n[i]=s)}return n}function once(t){var n=!1;return function(...i){if(n)throw new Error("once called more than once");n=!0,t.apply(this,i)}}function toPromise(t){return function(...n){n=clone$7(n);var i=this,a="function"==typeof n[n.length-1]&&n.pop(),s=new Promise((function(a,s){var l;try{var c=once((function(t,n){t?s(t):a(n)}));n.push(c),(l=t.apply(i,n))&&"function"==typeof l.then&&a(l)}catch(e){s(e)}}));return a&&s.then((function(t){a(null,t)}),a),s}}function logApiCall(t,n,i){if(t.constructor.listeners("debug").length){for(var a=["api",t.name,n],s=0;s<i.length-1;s++)a.push(i[s]);t.constructor.emit("debug",a);var l=i[i.length-1];i[i.length-1]=function(i,a){var s=["api",t.name,n];s=s.concat(i?["error",i]:["success",a]),t.constructor.emit("debug",s),l(i,a)}}}function adapterFun(t,n){return toPromise((function(...i){if(this._closed)return Promise.reject(new Error("database is closed"));if(this._destroyed)return Promise.reject(new Error("database is destroyed"));var a=this;return logApiCall(a,t,i),this.taskqueue.isReady?n.apply(this,i):new Promise((function(n,s){a.taskqueue.addTask((function(l){l?s(l):n(a[t].apply(a,i))}))}))}))}function pick$1(t,n){for(var i={},a=0,s=n.length;a<s;a++){var l=n[a];l in t&&(i[l]=t[l])}return i}var MAX_NUM_CONCURRENT_REQUESTS=6,hasLocal$1;function identityFunction(t){return t}function formatResultForOpenRevsGet(t){return[{ok:t}]}function bulkGet(t,n,i){var a=n.docs,s=new Map;a.forEach((function(t){s.has(t.id)?s.get(t.id).push(t):s.set(t.id,[t])}));var l=s.size,c=0,u=new Array(l);function d(){var t;++c===l&&(t=[],u.forEach((function(n){n.docs.forEach((function(i){t.push({id:n.id,docs:[i]})}))})),i(null,{results:t}))}var f=[];s.forEach((function(t,n){f.push(n)}));var m=0;function g(){if(!(m>=f.length)){var i=Math.min(m+MAX_NUM_CONCURRENT_REQUESTS,f.length),a=f.slice(m,i);!function(i,a){i.forEach((function(i,l){var c=a+l,f=s.get(i),m=pick$1(f[0],["atts_since","attachments"]);m.open_revs=f.map((function(t){return t.rev})),m.open_revs=m.open_revs.filter(identityFunction);var v=identityFunction;0===m.open_revs.length&&(delete m.open_revs,v=formatResultForOpenRevsGet),["revs","attachments","binary","ajax","latest"].forEach((function(t){t in n&&(m[t]=n[t])})),t.get(i,m,(function(t,n){var a,s,l;a=t?[{error:t}]:v(n),s=i,l=a,u[c]={id:s,docs:l},d(),g()}))}))}(a,m),m+=a.length}}g()}try{localStorage.setItem("_pouch_check_localstorage",1),hasLocal$1=!!localStorage.getItem("_pouch_check_localstorage")}catch(e){hasLocal$1=!1}function hasLocalStorage(){return hasLocal$1}const nextTick$1="function"==typeof queueMicrotask?queueMicrotask:function(t){Promise.resolve().then(t)};class Changes extends EventEmitter{constructor(){super(),this._listeners={},hasLocalStorage()&&addEventListener("storage",(t=>{this.emit(t.key)}))}addListener(t,n,i,a){if(!this._listeners[n]){var s=!1,l=this;this._listeners[n]=c,this.on(t,c)}function c(){if(l._listeners[n])if(s)s="waiting";else{s=!0;var t=pick$1(a,["style","include_docs","attachments","conflicts","filter","doc_ids","view","since","query_params","binary","return_docs"]);i.changes(t).on("change",(function(t){t.seq>a.since&&!a.cancelled&&(a.since=t.seq,a.onChange(t))})).on("complete",(function(){"waiting"===s&&nextTick$1(c),s=!1})).on("error",(function(){s=!1}))}}}removeListener(t,n){n in this._listeners&&(super.removeListener(t,this._listeners[n]),delete this._listeners[n])}notifyLocalWindows(t){hasLocalStorage()&&(localStorage[t]="a"===localStorage[t]?"b":"a")}notify(t){this.emit(t),this.notifyLocalWindows(t)}}function guardedConsole$1(t){if("undefined"!=typeof console&&"function"==typeof console[t]){var n=Array.prototype.slice.call(arguments,1);console[t].apply(console,n)}}function randomNumber(t,n){var i=6e5;return t=parseInt(t,10)||0,(n=parseInt(n,10))!=n||n<=t?n=(t||1)<<1:n+=1,n>i&&(t=3e5,n=i),~~((n-t)*Math.random()+t)}function defaultBackOff(t){var n=0;return t||(n=2e3),randomNumber(t,n)}function explainError(t,n){guardedConsole$1("info","The above "+t+" is totally normal. "+n)}let PouchError$1=class PouchError extends Error{constructor(t,n,i){super(),this.status=t,this.name=n,this.message=i,this.error=!0}toString(){return JSON.stringify({status:this.status,name:this.name,message:this.message,reason:this.reason})}};new PouchError$1(401,"unauthorized","Name or password is incorrect.");var MISSING_BULK_DOCS=new PouchError$1(400,"bad_request","Missing JSON list of 'docs'"),MISSING_DOC=new PouchError$1(404,"not_found","missing"),REV_CONFLICT=new PouchError$1(409,"conflict","Document update conflict"),INVALID_ID=new PouchError$1(400,"bad_request","_id field must contain a string"),MISSING_ID=new PouchError$1(412,"missing_id","_id is required for puts"),RESERVED_ID=new PouchError$1(400,"bad_request","Only reserved document ids may start with underscore.");new PouchError$1(412,"precondition_failed","Database not open");var UNKNOWN_ERROR$1=new PouchError$1(500,"unknown_error","Database encountered an unknown error"),BAD_ARG=new PouchError$1(500,"badarg","Some query argument is invalid");new PouchError$1(400,"invalid_request","Request was invalid");var QUERY_PARSE_ERROR=new PouchError$1(400,"query_parse_error","Some query parameter is invalid"),DOC_VALIDATION=new PouchError$1(500,"doc_validation","Bad special document member"),BAD_REQUEST=new PouchError$1(400,"bad_request","Something wrong with the request"),NOT_AN_OBJECT=new PouchError$1(400,"bad_request","Document must be a JSON object");new PouchError$1(404,"not_found","Database not found");var IDB_ERROR=new PouchError$1(500,"indexed_db_went_bad","unknown");new PouchError$1(500,"web_sql_went_bad","unknown"),new PouchError$1(500,"levelDB_went_went_bad","unknown"),new PouchError$1(403,"forbidden","Forbidden by design doc validate_doc_update function");var INVALID_REV=new PouchError$1(400,"bad_request","Invalid rev format");new PouchError$1(412,"file_exists","The database could not be created, the file already exists.");var MISSING_STUB=new PouchError$1(412,"missing_stub","A pre-existing attachment stub wasn't found");function createError$1(t,n){function i(n){for(var i=Object.getOwnPropertyNames(t),a=0,s=i.length;a<s;a++)"function"!=typeof t[i[a]]&&(this[i[a]]=t[i[a]]);void 0===this.stack&&(this.stack=(new Error).stack),void 0!==n&&(this.reason=n)}return i.prototype=PouchError$1.prototype,new i(n)}function generateErrorFromResponse$1(t){if("object"!=typeof t){var n=t;(t=UNKNOWN_ERROR$1).data=n}return"error"in t&&"conflict"===t.error&&(t.name="conflict",t.status=409),"name"in t||(t.name=t.error||"unknown"),"status"in t||(t.status=500),"message"in t||(t.message=t.message||t.reason),"stack"in t||(t.stack=(new Error).stack),t}function tryFilter(t,n,i){try{return!t(n,i)}catch(s){var a="Filter function threw: "+s.toString();return createError$1(BAD_REQUEST,a)}}function filterChange(t){var n={},i=t.filter&&"function"==typeof t.filter;return n.query=t.query_params,function(a){a.doc||(a.doc={});var s=i&&tryFilter(t.filter,a.doc,n);if("object"==typeof s)return s;if(s)return!1;if(t.include_docs){if(!t.attachments)for(var l in a.doc._attachments)Object.prototype.hasOwnProperty.call(a.doc._attachments,l)&&(a.doc._attachments[l].stub=!0)}else delete a.doc;return!0}}function invalidIdError(t){var n;if(t?"string"!=typeof t?n=createError$1(INVALID_ID):/^_/.test(t)&&!/^_(design|local)/.test(t)&&(n=createError$1(RESERVED_ID)):n=createError$1(MISSING_ID),n)throw n}function isRemote$1(t){return"boolean"==typeof t._remote?t._remote:"function"==typeof t.type&&(guardedConsole$1("warn","db.type() is deprecated and will be removed in a future version of PouchDB"),"http"===t.type())}function listenerCount(t,n){return"listenerCount"in t?t.listenerCount(n):EventEmitter.listenerCount(t,n)}function parseDesignDocFunctionName(t){if(!t)return null;var n=t.split("/");return 2===n.length?n:1===n.length?[t,t]:null}function normalizeDesignDocFunctionName(t){var n=parseDesignDocFunctionName(t);return n?n.join("/"):null}new PouchError$1(413,"invalid_url","Provided URL is invalid");var keys$5=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],qName="queryKey",qParser=/(?:^|&)([^&=]*)=?([^&]*)/g,parser=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;function parseUri(t){for(var n=parser.exec(t),i={},a=14;a--;){var s=keys$5[a],l=n[a]||"",c=-1!==["user","password"].indexOf(s);i[s]=c?decodeURIComponent(l):l}return i[qName]={},i[keys$5[12]].replace(qParser,(function(t,n,a){n&&(i[qName][n]=a)})),i}function scopeEval(t,n){var i=[],a=[];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i.push(s),a.push(n[s]));return i.push(t),Function.apply(null,i).apply(null,a)}function upsert$1(t,n,i){return t.get(n).catch((function(t){if(404!==t.status)throw t;return{}})).then((function(a){var s=a._rev,l=i(a);return l?(l._id=n,l._rev=s,tryAndPut$1(t,l,i)):{updated:!1,rev:s}}))}function tryAndPut$1(t,n,i){return t.put(n).then((function(t){return{updated:!0,rev:t.rev}}),(function(a){if(409!==a.status)throw a;return upsert$1(t,n._id,i)}))}var thisAtob$1=function(t){return atob(t)},thisBtoa=function(t){return btoa(t)};function createBlob$1(t,n){t=t||[],n=n||{};try{return new Blob(t,n)}catch(e){if("TypeError"!==e.name)throw e;for(var i=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),a=0;a<t.length;a+=1)i.append(t[a]);return i.getBlob(n.type)}}function binaryStringToArrayBuffer$1(t){for(var n=t.length,i=new ArrayBuffer(n),a=new Uint8Array(i),s=0;s<n;s++)a[s]=t.charCodeAt(s);return i}function binStringToBluffer$1(t,n){return createBlob$1([binaryStringToArrayBuffer$1(t)],{type:n})}function b64ToBluffer$1(t,n){return binStringToBluffer$1(thisAtob$1(t),n)}function arrayBufferToBinaryString(t){for(var n="",i=new Uint8Array(t),a=i.byteLength,s=0;s<a;s++)n+=String.fromCharCode(i[s]);return n}function readAsBinaryString(t,n){var i=new FileReader,a="function"==typeof i.readAsBinaryString;i.onloadend=function(t){var i=t.target.result||"";if(a)return n(i);n(arrayBufferToBinaryString(i))},a?i.readAsBinaryString(t):i.readAsArrayBuffer(t)}function blobToBinaryString(t,n){readAsBinaryString(t,(function(t){n(t)}))}function blobToBase64(t,n){blobToBinaryString(t,(function(t){n(thisBtoa(t))}))}function readAsArrayBuffer(t,n){var i=new FileReader;i.onloadend=function(t){var i=t.target.result||new ArrayBuffer(0);n(i)},i.readAsArrayBuffer(t)}var setImmediateShim=self.setImmediate||self.setTimeout,MD5_CHUNK_SIZE=32768;function rawToBase64(t){return thisBtoa(t)}function appendBlob(t,n,i,a,s){(i>0||a<n.size)&&(n=n.slice(i,a)),readAsArrayBuffer(n,(function(n){t.append(n),s()}))}function appendString(t,n,i,a,s){(i>0||a<n.length)&&(n=n.substring(i,a)),t.appendBinary(n),s()}function binaryMd5(t,n){var i="string"==typeof t,a=i?t.length:t.size,s=Math.min(MD5_CHUNK_SIZE,a),l=Math.ceil(a/s),c=0,u=i?new Md5:new Md5.ArrayBuffer,d=i?appendString:appendBlob;function f(){setImmediateShim(g)}function m(){var t=rawToBase64(u.end(!0));n(t),u.destroy()}function g(){var n=c*s,i=n+s;c++,d(u,t,n,i,c<l?f:m)}g()}function stringMd5$1(t){return Md5.hash(t)}function rev(t,n){if(!n)return v4$1().replace(/-/g,"").toLowerCase();var i=Object.assign({},t);return delete i._rev_tree,stringMd5$1(JSON.stringify(i))}var uuid=v4$1;function winningRev(t){for(var n,i,a,s,l=t.rev_tree.slice();s=l.pop();){var c=s.ids,u=c[2],d=s.pos;if(u.length)for(var f=0,m=u.length;f<m;f++)l.push({pos:d+1,ids:u[f]});else{var g=!!c[1].deleted,v=c[0];n&&!(a!==g?a:i!==d?i<d:n<v)||(n=v,i=d,a=g)}}return i+"-"+n}function traverseRevTree(t,n){for(var i,a=t.slice();i=a.pop();)for(var s=i.pos,l=i.ids,c=l[2],u=n(0===c.length,s,l[0],i.ctx,l[1]),d=0,f=c.length;d<f;d++)a.push({pos:s+1,ids:c[d],ctx:u})}function sortByPos(t,n){return t.pos-n.pos}function collectLeaves(t){var n=[];traverseRevTree(t,(function(t,i,a,s,l){t&&n.push({rev:i+"-"+a,pos:i,opts:l})})),n.sort(sortByPos).reverse();for(var i=0,a=n.length;i<a;i++)delete n[i].pos;return n}function collectConflicts(t){for(var n=winningRev(t),i=collectLeaves(t.rev_tree),a=[],s=0,l=i.length;s<l;s++){var c=i[s];c.rev===n||c.opts.deleted||a.push(c.rev)}return a}function compactTree(t){var n=[];return traverseRevTree(t.rev_tree,(function(t,i,a,s,l){"available"!==l.status||t||(n.push(i+"-"+a),l.status="missing")})),n}function findPathToLeaf(t,n){let i=[];const a=t.slice();let s;for(;s=a.pop();){const{pos:t,ids:l}=s,c=`${t}-${l[0]}`,u=l[2];if(i.push(c),c===n){if(0!==u.length)throw new Error("The requested revision is not a leaf");return i.reverse()}(0===u.length||u.length>1)&&(i=[]);for(let n=0,i=u.length;n<i;n++)a.push({pos:t+1,ids:u[n]})}if(0===i.length)throw new Error("The requested revision does not exist");return i.reverse()}function rootToLeaf(t){for(var n,i=[],a=t.slice();n=a.pop();){var s=n.pos,l=n.ids,c=l[0],u=l[1],d=l[2],f=0===d.length,m=n.history?n.history.slice():[];m.push({id:c,opts:u}),f&&i.push({pos:s+1-m.length,ids:m});for(var g=0,v=d.length;g<v;g++)a.push({pos:s+1,ids:d[g],history:m})}return i.reverse()}function sortByPos$1(t,n){return t.pos-n.pos}function binarySearch(t,n,i){for(var a,s=0,l=t.length;s<l;)i(t[a=s+l>>>1],n)<0?s=a+1:l=a;return s}function insertSorted(t,n,i){var a=binarySearch(t,n,i);t.splice(a,0,n)}function pathToTree(t,n){for(var i,a,s=n,l=t.length;s<l;s++){var c=t[s],u=[c.id,c.opts,[]];a?(a[2].push(u),a=u):i=a=u}return i}function compareTree(t,n){return t[0]<n[0]?-1:1}function mergeTree(t,n){for(var i=[{tree1:t,tree2:n}],a=!1;i.length>0;){var s=i.pop(),l=s.tree1,c=s.tree2;(l[1].status||c[1].status)&&(l[1].status="available"===l[1].status||"available"===c[1].status?"available":"missing");for(var u=0;u<c[2].length;u++)if(l[2][0]){for(var d=!1,f=0;f<l[2].length;f++)l[2][f][0]===c[2][u][0]&&(i.push({tree1:l[2][f],tree2:c[2][u]}),d=!0);d||(a="new_branch",insertSorted(l[2],c[2][u],compareTree))}else a="new_leaf",l[2][0]=c[2][u]}return{conflicts:a,tree:t}}function doMerge(t,n,i){var a,s=[],l=!1,c=!1;if(!t.length)return{tree:[n],conflicts:"new_leaf"};for(var u=0,d=t.length;u<d;u++){var f=t[u];if(f.pos===n.pos&&f.ids[0]===n.ids[0])a=mergeTree(f.ids,n.ids),s.push({pos:f.pos,ids:a.tree}),l=l||a.conflicts,c=!0;else if(!0!==i){var m=f.pos<n.pos?f:n,g=f.pos<n.pos?n:f,v=g.pos-m.pos,b=[],w=[];for(w.push({ids:m.ids,diff:v,parent:null,parentIdx:null});w.length>0;){var k=w.pop();if(0!==k.diff)for(var S=k.ids[2],C=0,E=S.length;C<E;C++)w.push({ids:S[C],diff:k.diff-1,parent:k.ids,parentIdx:C});else k.ids[0]===g.ids[0]&&b.push(k)}var T=b[0];T?(a=mergeTree(T.ids,g.ids),T.parent[2][T.parentIdx]=a.tree,s.push({pos:m.pos,ids:m.ids}),l=l||a.conflicts,c=!0):s.push(f)}else s.push(f)}return c||s.push(n),s.sort(sortByPos$1),{tree:s,conflicts:l||"internal_node"}}function stem(t,n){for(var i,a,s=rootToLeaf(t),l=0,c=s.length;l<c;l++){var u,d=s[l],f=d.ids;if(f.length>n){i||(i={});var m=f.length-n;u={pos:d.pos+m,ids:pathToTree(f,m)};for(var g=0;g<m;g++){var v=d.pos+g+"-"+f[g].id;i[v]=!0}}else u={pos:d.pos,ids:pathToTree(f,0)};a=a?doMerge(a,u,!0).tree:[u]}return i&&traverseRevTree(a,(function(t,n,a){delete i[n+"-"+a]})),{tree:a,revs:i?Object.keys(i):[]}}function merge(t,n,i){var a=doMerge(t,n),s=stem(a.tree,i);return{tree:s.tree,stemmedRevs:s.revs,conflicts:a.conflicts}}function revExists(t,n){for(var i,a=t.slice(),s=n.split("-"),l=parseInt(s[0],10),c=s[1];i=a.pop();){if(i.pos===l&&i.ids[0]===c)return!0;for(var u=i.ids[2],d=0,f=u.length;d<f;d++)a.push({pos:i.pos+1,ids:u[d]})}return!1}function getTrees(t){return t.ids}function isDeleted(t,n){n||(n=winningRev(t));for(var i,a=n.substring(n.indexOf("-")+1),s=t.rev_tree.map(getTrees);i=s.pop();){if(i[0]===a)return!!i[1].deleted;s=s.concat(i[2])}}function isLocalId(t){return"string"==typeof t&&t.startsWith("_local/")}function latest(t,n){for(var i,a=n.rev_tree.slice();i=a.pop();){var s=i.pos,l=i.ids,c=l[0],u=l[1],d=l[2],f=0===d.length,m=i.history?i.history.slice():[];if(m.push({id:c,pos:s,opts:u}),f)for(var g=0,v=m.length;g<v;g++){var b=m[g];if(b.pos+"-"+b.id===t)return s+"-"+c}for(var w=0,k=d.length;w<k;w++)a.push({pos:s+1,ids:d[w],history:m})}throw new Error("Unable to resolve latest revision for id "+n.id+", rev "+t)}function tryCatchInChangeListener(t,n,i,a){try{t.emit("change",n,i,a)}catch(e){guardedConsole$1("error",'Error in .on("change", function):',e)}}function processChange(t,n,i){var a=[{rev:t._rev}];"all_docs"===i.style&&(a=collectLeaves(n.rev_tree).map((function(t){return{rev:t.rev}})));var s={id:n.id,changes:a,doc:t};return isDeleted(n,t._rev)&&(s.deleted=!0),i.conflicts&&(s.doc._conflicts=collectConflicts(n),s.doc._conflicts.length||delete s.doc._conflicts),s}class Changes$1 extends EventEmitter{constructor(t,n,i){super(),this.db=t;var a=(n=n?clone$7(n):{}).complete=once(((n,i)=>{n?listenerCount(this,"error")>0&&this.emit("error",n):this.emit("complete",i),this.removeAllListeners(),t.removeListener("destroyed",s)}));i&&(this.on("complete",(function(t){i(null,t)})),this.on("error",i));const s=()=>{this.cancel()};t.once("destroyed",s),n.onChange=(t,n,i)=>{this.isCancelled||tryCatchInChangeListener(this,t,n,i)};var l=new Promise((function(t,i){n.complete=function(n,a){n?i(n):t(a)}}));this.once("cancel",(function(){t.removeListener("destroyed",s),n.complete(null,{status:"cancelled"})})),this.then=l.then.bind(l),this.catch=l.catch.bind(l),this.then((function(t){a(null,t)}),a),t.taskqueue.isReady?this.validateChanges(n):t.taskqueue.addTask((t=>{t?n.complete(t):this.isCancelled?this.emit("cancel"):this.validateChanges(n)}))}cancel(){this.isCancelled=!0,this.db.taskqueue.isReady&&this.emit("cancel")}validateChanges(t){var n=t.complete;PouchDB._changesFilterPlugin?PouchDB._changesFilterPlugin.validate(t,(i=>{if(i)return n(i);this.doChanges(t)})):this.doChanges(t)}doChanges(t){var n=t.complete;if("live"in(t=clone$7(t))&&!("continuous"in t)&&(t.continuous=t.live),t.processChange=processChange,"latest"===t.since&&(t.since="now"),t.since||(t.since=0),"now"!==t.since){if(PouchDB._changesFilterPlugin){if(PouchDB._changesFilterPlugin.normalize(t),PouchDB._changesFilterPlugin.shouldFilter(this,t))return PouchDB._changesFilterPlugin.filter(this,t)}else["doc_ids","filter","selector","view"].forEach((function(n){n in t&&guardedConsole$1("warn",'The "'+n+'" option was passed in to changes/replicate, but pouchdb-changes-filter plugin is not installed, so it was ignored. Please install the plugin to enable filtering.')}));"descending"in t||(t.descending=!1),t.limit=0===t.limit?1:t.limit,t.complete=n;var i=this.db._changes(t);if(i&&"function"==typeof i.cancel){const t=this.cancel;this.cancel=(...n)=>{i.cancel(),t.apply(this,n)}}}else this.db.info().then((i=>{this.isCancelled?n(null,{status:"cancelled"}):(t.since=i.update_seq,this.doChanges(t))}),n)}}function yankError(t,n){return function(i,a){i||a[0]&&a[0].error?((i=i||a[0]).docId=n,t(i)):t(null,a.length?a[0]:a)}}function cleanDocs(t){for(var n=0;n<t.length;n++){var i=t[n];if(i._deleted)delete i._attachments;else if(i._attachments)for(var a=Object.keys(i._attachments),s=0;s<a.length;s++){var l=a[s];i._attachments[l]=pick$1(i._attachments[l],["data","digest","content_type","length","revpos","stub"])}}}function compareByIdThenRev(t,n){if(t._id===n._id){return(t._revisions?t._revisions.start:0)-(n._revisions?n._revisions.start:0)}return t._id<n._id?-1:1}function computeHeight(t){var n={},i=[];return traverseRevTree(t,(function(t,a,s,l){var c=a+"-"+s;return t&&(n[c]=0),void 0!==l&&i.push({from:l,to:c}),c})),i.reverse(),i.forEach((function(t){void 0===n[t.from]?n[t.from]=1+n[t.to]:n[t.from]=Math.min(n[t.from],1+n[t.to])})),n}function allDocsKeysParse(t){var n="limit"in t?t.keys.slice(t.skip,t.limit+t.skip):t.skip>0?t.keys.slice(t.skip):t.keys;t.keys=n,t.skip=0,delete t.limit,t.descending&&(n.reverse(),t.descending=!1)}function doNextCompaction(t){var n=t._compactionQueue[0],i=n.opts,a=n.callback;t.get("_local/compaction").catch((function(){return!1})).then((function(n){n&&n.last_seq&&(i.last_seq=n.last_seq),t._compact(i,(function(n,i){n?a(n):a(null,i),nextTick$1((function(){t._compactionQueue.shift(),t._compactionQueue.length&&doNextCompaction(t)}))}))}))}function appendPurgeSeq(t,n,i){return t.get("_local/purges").then((function(t){const a=t.purgeSeq+1;return t.purges.push({docId:n,rev:i,purgeSeq:a}),t.purges.length>self.purged_infos_limit&&t.purges.splice(0,t.purges.length-self.purged_infos_limit),t.purgeSeq=a,t})).catch((function(t){if(404!==t.status)throw t;return{_id:"_local/purges",purges:[{docId:n,rev:i,purgeSeq:0}],purgeSeq:0}})).then((function(n){return t.put(n)}))}function attachmentNameError(t){return"_"===t.charAt(0)&&t+" is not a valid attachment name, attachment names cannot start with '_'"}function isNotSingleDoc(t){return null===t||"object"!=typeof t||Array.isArray(t)}const validRevRegex=/^\d+-[^-]*$/;function isValidRev(t){return"string"==typeof t&&validRevRegex.test(t)}class AbstractPouchDB extends EventEmitter{_setup(){this.post=adapterFun("post",(function(t,n,i){if("function"==typeof n&&(i=n,n={}),isNotSingleDoc(t))return i(createError$1(NOT_AN_OBJECT));this.bulkDocs({docs:[t]},n,yankError(i,t._id))})).bind(this),this.put=adapterFun("put",(function(t,n,i){if("function"==typeof n&&(i=n,n={}),isNotSingleDoc(t))return i(createError$1(NOT_AN_OBJECT));if(invalidIdError(t._id),"_rev"in t&&!isValidRev(t._rev))return i(createError$1(INVALID_REV));if(isLocalId(t._id)&&"function"==typeof this._putLocal)return t._deleted?this._removeLocal(t,i):this._putLocal(t,i);const a=i=>{"function"==typeof this._put&&!1!==n.new_edits?this._put(t,n,i):this.bulkDocs({docs:[t]},n,yankError(i,t._id))};var s,l,c,u;n.force&&t._rev?(s=t._rev.split("-"),l=s[1],c=parseInt(s[0],10)+1,u=rev(),t._revisions={start:c,ids:[u,l]},t._rev=c+"-"+u,n.new_edits=!1,a((function(n){var a=n?null:{ok:!0,id:t._id,rev:t._rev};i(n,a)}))):a(i)})).bind(this),this.putAttachment=adapterFun("putAttachment",(function(t,n,i,a,s){var l=this;function c(t){var i="_rev"in t?parseInt(t._rev,10):0;return t._attachments=t._attachments||{},t._attachments[n]={content_type:s,data:a,revpos:++i},l.put(t)}return"function"==typeof s&&(s=a,a=i,i=null),void 0===s&&(s=a,a=i,i=null),s||guardedConsole$1("warn","Attachment",n,"on document",t,"is missing content_type"),l.get(t).then((function(t){if(t._rev!==i)throw createError$1(REV_CONFLICT);return c(t)}),(function(n){if(n.reason===MISSING_DOC.message)return c({_id:t});throw n}))})).bind(this),this.removeAttachment=adapterFun("removeAttachment",(function(t,n,i,a){this.get(t,((t,s)=>{if(t)a(t);else if(s._rev===i){if(!s._attachments)return a();delete s._attachments[n],0===Object.keys(s._attachments).length&&delete s._attachments,this.put(s,a)}else a(createError$1(REV_CONFLICT))}))})).bind(this),this.remove=adapterFun("remove",(function(t,n,i,a){var s;"string"==typeof n?(s={_id:t,_rev:n},"function"==typeof i&&(a=i,i={})):(s=t,"function"==typeof n?(a=n,i={}):(a=i,i=n)),(i=i||{}).was_delete=!0;var l={_id:s._id,_rev:s._rev||i.rev,_deleted:!0};if(isLocalId(l._id)&&"function"==typeof this._removeLocal)return this._removeLocal(s,a);this.bulkDocs({docs:[l]},i,yankError(a,l._id))})).bind(this),this.revsDiff=adapterFun("revsDiff",(function(t,n,i){"function"==typeof n&&(i=n,n={});var a=Object.keys(t);if(!a.length)return i(null,{});var s=0,l=new Map;function c(t,n){l.has(t)||l.set(t,{missing:[]}),l.get(t).missing.push(n)}a.forEach((function(n){this._getRevisionTree(n,(function(u,d){if(u&&404===u.status&&"missing"===u.message)l.set(n,{missing:t[n]});else{if(u)return i(u);!function(n,i){var a=t[n].slice(0);traverseRevTree(i,(function(t,i,s,l,u){var d=i+"-"+s,f=a.indexOf(d);-1!==f&&(a.splice(f,1),"available"!==u.status&&c(n,d))})),a.forEach((function(t){c(n,t)}))}(n,d)}if(++s===a.length){var f={};return l.forEach((function(t,n){f[n]=t})),i(null,f)}}))}),this)})).bind(this),this.bulkGet=adapterFun("bulkGet",(function(t,n){bulkGet(this,t,n)})).bind(this),this.compactDocument=adapterFun("compactDocument",(function(t,n,i){this._getRevisionTree(t,((a,s)=>{if(a)return i(a);var l=computeHeight(s),c=[],u=[];Object.keys(l).forEach((function(t){l[t]>n&&c.push(t)})),traverseRevTree(s,(function(t,n,i,a,s){var l=n+"-"+i;"available"===s.status&&-1!==c.indexOf(l)&&u.push(l)})),this._doCompaction(t,u,i)}))})).bind(this),this.compact=adapterFun("compact",(function(t,n){"function"==typeof t&&(n=t,t={}),t=t||{},this._compactionQueue=this._compactionQueue||[],this._compactionQueue.push({opts:t,callback:n}),1===this._compactionQueue.length&&doNextCompaction(this)})).bind(this),this.get=adapterFun("get",(function(t,n,i){if("function"==typeof n&&(i=n,n={}),n=n||{},"string"!=typeof t)return i(createError$1(INVALID_ID));if(isLocalId(t)&&"function"==typeof this._getLocal)return this._getLocal(t,i);var a=[];const s=()=>{var s=[],l=a.length;if(!l)return i(null,s);a.forEach((a=>{this.get(t,{rev:a,revs:n.revs,latest:n.latest,attachments:n.attachments,binary:n.binary},(function(t,n){if(t)s.push({missing:a});else{for(var c,u=0,d=s.length;u<d;u++)if(s[u].ok&&s[u].ok._rev===n._rev){c=!0;break}c||s.push({ok:n})}--l||i(null,s)}))}))};if(!n.open_revs)return this._get(t,n,((a,s)=>{if(a)return a.docId=t,i(a);var l=s.doc,c=s.metadata,u=s.ctx;if(n.conflicts){var d=collectConflicts(c);d.length&&(l._conflicts=d)}if(isDeleted(c,l._rev)&&(l._deleted=!0),n.revs||n.revs_info){for(var f=l._rev.split("-"),m=parseInt(f[0],10),g=f[1],v=rootToLeaf(c.rev_tree),b=null,w=0;w<v.length;w++){var k=v[w];const t=k.ids.findIndex((t=>t.id===g));(t===m-1||!b&&-1!==t)&&(b=k)}if(!b)return(a=new Error("invalid rev tree")).docId=t,i(a);const s=l._rev.split("-")[1],u=b.ids.findIndex((t=>t.id===s))+1;var S=b.ids.length-u;if(b.ids.splice(u,S),b.ids.reverse(),n.revs&&(l._revisions={start:b.pos+b.ids.length-1,ids:b.ids.map((function(t){return t.id}))}),n.revs_info){var C=b.pos+b.ids.length;l._revs_info=b.ids.map((function(t){return{rev:--C+"-"+t.id,status:t.opts.status}}))}}if(n.attachments&&l._attachments){var E=l._attachments,T=Object.keys(E).length;if(0===T)return i(null,l);Object.keys(E).forEach((t=>{this._getAttachment(l._id,t,E[t],{binary:n.binary,metadata:c,ctx:u},(function(n,a){var s=l._attachments[t];s.data=a,delete s.stub,delete s.length,--T||i(null,l)}))}))}else{if(l._attachments)for(var P in l._attachments)Object.prototype.hasOwnProperty.call(l._attachments,P)&&(l._attachments[P].stub=!0);i(null,l)}}));if("all"===n.open_revs)this._getRevisionTree(t,(function(t,n){if(t)return i(t);a=collectLeaves(n).map((function(t){return t.rev})),s()}));else{if(!Array.isArray(n.open_revs))return i(createError$1(UNKNOWN_ERROR$1,"function_clause"));a=n.open_revs;for(var l=0;l<a.length;l++){if(!isValidRev(a[l]))return i(createError$1(INVALID_REV))}s()}})).bind(this),this.getAttachment=adapterFun("getAttachment",(function(t,n,i,a){i instanceof Function&&(a=i,i={}),this._get(t,i,((s,l)=>s?a(s):l.doc._attachments&&l.doc._attachments[n]?(i.ctx=l.ctx,i.binary=!0,i.metadata=l.metadata,void this._getAttachment(t,n,l.doc._attachments[n],i,a)):a(createError$1(MISSING_DOC))))})).bind(this),this.allDocs=adapterFun("allDocs",(function(t,n){if("function"==typeof t&&(n=t,t={}),t.skip=void 0!==t.skip?t.skip:0,t.start_key&&(t.startkey=t.start_key),t.end_key&&(t.endkey=t.end_key),"keys"in t){if(!Array.isArray(t.keys))return n(new TypeError("options.keys must be an array"));var i=["startkey","endkey","key"].filter((function(n){return n in t}))[0];if(i)return void n(createError$1(QUERY_PARSE_ERROR,"Query parameter `"+i+"` is not compatible with multi-get"));if(!isRemote$1(this)&&(allDocsKeysParse(t),0===t.keys.length))return this._allDocs({limit:0},n)}return this._allDocs(t,n)})).bind(this),this.close=adapterFun("close",(function(t){return this._closed=!0,this.emit("closed"),this._close(t)})).bind(this),this.info=adapterFun("info",(function(t){this._info(((n,i)=>{if(n)return t(n);i.db_name=i.db_name||this.name,i.auto_compaction=!(!this.auto_compaction||isRemote$1(this)),i.adapter=this.adapter,t(null,i)}))})).bind(this),this.id=adapterFun("id",(function(t){return this._id(t)})).bind(this),this.bulkDocs=adapterFun("bulkDocs",(function(t,n,i){if("function"==typeof n&&(i=n,n={}),n=n||{},Array.isArray(t)&&(t={docs:t}),!t||!t.docs||!Array.isArray(t.docs))return i(createError$1(MISSING_BULK_DOCS));for(var a=0;a<t.docs.length;++a){const n=t.docs[a];if(isNotSingleDoc(n))return i(createError$1(NOT_AN_OBJECT));if("_rev"in n&&!isValidRev(n._rev))return i(createError$1(INVALID_REV))}var s;if(t.docs.forEach((function(t){t._attachments&&Object.keys(t._attachments).forEach((function(n){s=s||attachmentNameError(n),t._attachments[n].content_type||guardedConsole$1("warn","Attachment",n,"on document",t._id,"is missing content_type")}))})),s)return i(createError$1(BAD_REQUEST,s));"new_edits"in n||(n.new_edits=!("new_edits"in t)||t.new_edits);var l=this;n.new_edits||isRemote$1(l)||t.docs.sort(compareByIdThenRev),cleanDocs(t.docs);var c=t.docs.map((function(t){return t._id}));this._bulkDocs(t,n,(function(t,a){if(t)return i(t);if(n.new_edits||(a=a.filter((function(t){return t.error}))),!isRemote$1(l))for(var s=0,u=a.length;s<u;s++)a[s].id=a[s].id||c[s];i(null,a)}))})).bind(this),this.registerDependentDatabase=adapterFun("registerDependentDatabase",(function(t,n){var i=clone$7(this.__opts);this.__opts.view_adapter&&(i.adapter=this.__opts.view_adapter);var a=new this.constructor(t,i);upsert$1(this,"_local/_pouch_dependentDbs",(function(n){return n.dependentDbs=n.dependentDbs||{},!n.dependentDbs[t]&&(n.dependentDbs[t]=!0,n)})).then((function(){n(null,{db:a})})).catch(n)})).bind(this),this.destroy=adapterFun("destroy",(function(t,n){"function"==typeof t&&(n=t,t={});var i=!("use_prefix"in this)||this.use_prefix;const a=()=>{this._destroy(t,((t,i)=>{if(t)return n(t);this._destroyed=!0,this.emit("destroyed"),n(null,i||{ok:!0})}))};if(isRemote$1(this))return a();this.get("_local/_pouch_dependentDbs",((t,s)=>{if(t)return 404!==t.status?n(t):a();var l=s.dependentDbs,c=this.constructor,u=Object.keys(l).map((t=>{var n=i?t.replace(new RegExp("^"+c.prefix),""):t;return new c(n,this.__opts).destroy()}));Promise.all(u).then(a,n)}))})).bind(this)}_compact(t,n){var i,a={return_docs:!1,last_seq:t.last_seq||0,since:t.last_seq||0},s=[],l=0;const c=t=>{this.activeTasks.update(i,{completed_items:++l}),s.push(this.compactDocument(t.id,0))},u=t=>{this.activeTasks.remove(i,t),n(t)},d=t=>{var a=t.last_seq;Promise.all(s).then((()=>upsert$1(this,"_local/compaction",(t=>(!t.last_seq||t.last_seq<a)&&(t.last_seq=a,t))))).then((()=>{this.activeTasks.remove(i),n(null,{ok:!0})})).catch(u)};this.info().then((t=>{i=this.activeTasks.add({name:"database_compaction",total_items:t.update_seq-a.last_seq}),this.changes(a).on("change",c).on("complete",d).on("error",u)}))}changes(t,n){return"function"==typeof t&&(n=t,t={}),(t=t||{}).return_docs="return_docs"in t?t.return_docs:!t.live,new Changes$1(this,t,n)}type(){return"function"==typeof this._type?this._type():this.adapter}}AbstractPouchDB.prototype.purge=adapterFun("_purge",(function(t,n,i){if(void 0===this._purge)return i(createError$1(UNKNOWN_ERROR$1,"Purge is not implemented in the "+this.adapter+" adapter."));var a=this;a._getRevisionTree(t,((s,l)=>{if(s)return i(s);if(!l)return i(createError$1(MISSING_DOC));let c;try{c=findPathToLeaf(l,n)}catch(u){return i(u.message||u)}a._purge(t,c,((s,l)=>{if(s)return i(s);appendPurgeSeq(a,t,n).then((function(){return i(null,l)}))}))}))}));let TaskQueue$1=class TaskQueue{constructor(){this.isReady=!1,this.failed=!1,this.queue=[]}execute(){var t;if(this.failed)for(;t=this.queue.shift();)t(this.failed);else for(;t=this.queue.shift();)t()}fail(t){this.failed=t,this.execute()}ready(t){this.isReady=!0,this.db=t,this.execute()}addTask(t){this.queue.push(t),this.failed&&this.execute()}};function parseAdapter(t,n){var i=t.match(/([a-z-]*):\/\/(.*)/);if(i)return{name:/https?/.test(i[1])?i[1]+"://"+i[2]:i[2],adapter:i[1]};var a=PouchDB.adapters,s=PouchDB.preferredAdapters,l=PouchDB.prefix,c=n.adapter;if(!c)for(var u=0;u<s.length&&("idb"===(c=s[u])&&"websql"in a&&hasLocalStorage()&&localStorage["_pouch__websqldb_"+l+t]);++u)guardedConsole$1("log",'PouchDB is downgrading "'+t+'" to WebSQL to avoid data loss, because it was already opened with WebSQL.');var d=a[c];return{name:!d||!("use_prefix"in d)||d.use_prefix?l+t:t,adapter:c}}function inherits(t,n){t.prototype=Object.create(n.prototype,{constructor:{value:t}})}function createClass(t,n){let i=function(...t){if(!(this instanceof i))return new i(...t);n.apply(this,t)};return inherits(i,t),i}function prepareForDestruction(t){function n(n){t.removeListener("closed",i),n||t.constructor.emit("destroyed",t.name)}function i(){t.removeListener("destroyed",n),t.constructor.emit("unref",t)}t.once("destroyed",n),t.once("closed",i),t.constructor.emit("ref",t)}class PouchInternal extends AbstractPouchDB{constructor(t,n){super(),this._setup(t,n)}_setup(t,n){if(super._setup(),n=n||{},t&&"object"==typeof t&&(t=(n=t).name,delete n.name),void 0===n.deterministic_revs&&(n.deterministic_revs=!0),this.__opts=n=clone$7(n),this.auto_compaction=n.auto_compaction,this.purged_infos_limit=n.purged_infos_limit||1e3,this.prefix=PouchDB.prefix,"string"!=typeof t)throw new Error("Missing/invalid DB name");var i=parseAdapter((n.prefix||"")+t,n);if(n.name=i.name,n.adapter=n.adapter||i.adapter,this.name=t,this._adapter=n.adapter,PouchDB.emit("debug",["adapter","Picked adapter: ",n.adapter]),!PouchDB.adapters[n.adapter]||!PouchDB.adapters[n.adapter].valid())throw new Error("Invalid Adapter: "+n.adapter);if(n.view_adapter&&(!PouchDB.adapters[n.view_adapter]||!PouchDB.adapters[n.view_adapter].valid()))throw new Error("Invalid View Adapter: "+n.view_adapter);this.taskqueue=new TaskQueue$1,this.adapter=n.adapter,PouchDB.adapters[n.adapter].call(this,n,(t=>{if(t)return this.taskqueue.fail(t);prepareForDestruction(this),this.emit("created",this),PouchDB.emit("created",this.name),this.taskqueue.ready(this)}))}}const PouchDB=createClass(PouchInternal,(function(t,n){PouchInternal.prototype._setup.call(this,t,n)}));var f$1=fetch,h$1=Headers;class ActiveTasks{constructor(){this.tasks={}}list(){return Object.values(this.tasks)}add(t){const n=v4$1();return this.tasks[n]={id:n,name:t.name,total_items:t.total_items,created_at:(new Date).toJSON()},n}get(t){return this.tasks[t]}remove(t,n){return delete this.tasks[t],this.tasks}update(t,n){const i=this.tasks[t];if(void 0!==i){const a={id:i.id,name:i.name,created_at:i.created_at,total_items:n.total_items||i.total_items,completed_items:n.completed_items||i.completed_items,updated_at:(new Date).toJSON()};this.tasks[t]=a}return this.tasks}}PouchDB.adapters={},PouchDB.preferredAdapters=[],PouchDB.prefix="_pouch_";var eventEmitter=new EventEmitter;function setUpEventEmitter(t){Object.keys(EventEmitter.prototype).forEach((function(n){"function"==typeof EventEmitter.prototype[n]&&(t[n]=eventEmitter[n].bind(eventEmitter))}));var n=t._destructionListeners=new Map;t.on("ref",(function(t){n.has(t.name)||n.set(t.name,[]),n.get(t.name).push(t)})),t.on("unref",(function(t){if(n.has(t.name)){var i=n.get(t.name),a=i.indexOf(t);a<0||(i.splice(a,1),i.length>1?n.set(t.name,i):n.delete(t.name))}})),t.on("destroyed",(function(t){if(n.has(t)){var i=n.get(t);n.delete(t),i.forEach((function(t){t.emit("destroyed",!0)}))}}))}setUpEventEmitter(PouchDB),PouchDB.adapter=function(t,n,i){n.valid()&&(PouchDB.adapters[t]=n,i&&PouchDB.preferredAdapters.push(t))},PouchDB.plugin=function(t){if("function"==typeof t)t(PouchDB);else{if("object"!=typeof t||0===Object.keys(t).length)throw new Error('Invalid plugin: got "'+t+'", expected an object or a function');Object.keys(t).forEach((function(n){PouchDB.prototype[n]=t[n]}))}return this.__defaults&&(PouchDB.__defaults=Object.assign({},this.__defaults)),PouchDB},PouchDB.defaults=function(t){let n=createClass(PouchDB,(function(t,i){i=i||{},t&&"object"==typeof t&&(t=(i=t).name,delete i.name),i=Object.assign({},n.__defaults,i),PouchDB.call(this,t,i)}));return n.preferredAdapters=PouchDB.preferredAdapters.slice(),Object.keys(PouchDB).forEach((function(t){t in n||(n[t]=PouchDB[t])})),n.__defaults=Object.assign({},this.__defaults,t),n},PouchDB.fetch=function(t,n){return f$1(t,n)},PouchDB.prototype.activeTasks=PouchDB.activeTasks=new ActiveTasks;var version$1="9.0.0";function getFieldFromDoc$1(t,n){for(var i=t,a=0,s=n.length;a<s;a++){if(!(i=i[n[a]]))break}return i}function compare$1(t,n){return t<n?-1:t>n?1:0}function parseField$1(t){for(var n=[],i="",a=0,s=t.length;a<s;a++){var l=t[a];a>0&&"\\"===t[a-1]&&("$"===l||"."===l)?i=i.substring(0,i.length-1)+l:"."===l?(n.push(i),i=""):i+=l}return n.push(i),n}var combinationFields$1=["$or","$nor","$not"];function isCombinationalField$1(t){return combinationFields$1.indexOf(t)>-1}function getKey$1(t){return Object.keys(t)[0]}function getValue$1(t){return t[getKey$1(t)]}function mergeAndedSelectors$1(t){var n={},i={$or:!0,$nor:!0};return t.forEach((function(t){Object.keys(t).forEach((function(a){var s=t[a];if("object"!=typeof s&&(s={$eq:s}),isCombinationalField$1(a))if(s instanceof Array){if(i[a])return i[a]=!1,void(n[a]=s);var l=[];n[a].forEach((function(t){Object.keys(s).forEach((function(n){var i=s[n],a=Math.max(Object.keys(t).length,Object.keys(i).length),c=mergeAndedSelectors$1([t,i]);Object.keys(c).length<=a||l.push(c)}))})),n[a]=l}else n[a]=mergeAndedSelectors$1([s]);else{var c=n[a]=n[a]||{};Object.keys(s).forEach((function(t){var n=s[t];return"$gt"===t||"$gte"===t?mergeGtGte$1(t,n,c):"$lt"===t||"$lte"===t?mergeLtLte$1(t,n,c):"$ne"===t?mergeNe$1(n,c):"$eq"===t?mergeEq$1(n,c):"$regex"===t?mergeRegex$1(n,c):void(c[t]=n)}))}}))})),n}function mergeGtGte$1(t,n,i){void 0===i.$eq&&(void 0!==i.$gte?"$gte"===t?n>i.$gte&&(i.$gte=n):n>=i.$gte&&(delete i.$gte,i.$gt=n):void 0!==i.$gt?"$gte"===t?n>i.$gt&&(delete i.$gt,i.$gte=n):n>i.$gt&&(i.$gt=n):i[t]=n)}function mergeLtLte$1(t,n,i){void 0===i.$eq&&(void 0!==i.$lte?"$lte"===t?n<i.$lte&&(i.$lte=n):n<=i.$lte&&(delete i.$lte,i.$lt=n):void 0!==i.$lt?"$lte"===t?n<i.$lt&&(delete i.$lt,i.$lte=n):n<i.$lt&&(i.$lt=n):i[t]=n)}function mergeNe$1(t,n){"$ne"in n?n.$ne.push(t):n.$ne=[t]}function mergeEq$1(t,n){delete n.$gt,delete n.$gte,delete n.$lt,delete n.$lte,delete n.$ne,n.$eq=t}function mergeRegex$1(t,n){"$regex"in n?n.$regex.push(t):n.$regex=[t]}function mergeAndedSelectorsNested$1(t){for(var n in t){if(Array.isArray(t))for(var i in t)t[i].$and&&(t[i]=mergeAndedSelectors$1(t[i].$and));var a=t[n];"object"==typeof a&&mergeAndedSelectorsNested$1(a)}return t}function isAndInSelector$1(t,n){for(var i in t){"$and"===i&&(n=!0);var a=t[i];"object"==typeof a&&(n=isAndInSelector$1(a,n))}return n}function massageSelector$1(t){var n=clone$7(t);isAndInSelector$1(n,!1)&&"$and"in(n=mergeAndedSelectorsNested$1(n))&&(n=mergeAndedSelectors$1(n.$and)),["$or","$nor"].forEach((function(t){t in n&&n[t].forEach((function(t){for(var n=Object.keys(t),i=0;i<n.length;i++){var a=n[i],s=t[a];"object"==typeof s&&null!==s||(t[a]={$eq:s})}}))})),"$not"in n&&(n.$not=mergeAndedSelectors$1([n.$not]));for(var i=Object.keys(n),a=0;a<i.length;a++){var s=i[a],l=n[s];"object"==typeof l&&null!==l||(l={$eq:l}),n[s]=l}return normalizeArrayOperators$1(n),n}function normalizeArrayOperators$1(t){Object.keys(t).forEach((function(n){var i=t[n];Array.isArray(i)?i.forEach((function(t){t&&"object"==typeof t&&normalizeArrayOperators$1(t)})):"$ne"===n?t.$ne=[i]:"$regex"===n?t.$regex=[i]:i&&"object"==typeof i&&normalizeArrayOperators$1(i)}))}function pad$1(t,n,i){for(var a="",s=i-t.length;a.length<s;)a+=n;return a}function padLeft$1(t,n,i){return pad$1(t,n,i)+t}var MIN_MAGNITUDE$1=-324,MAGNITUDE_DIGITS$1=3,SEP$1="";function collate$1(t,n){if(t===n)return 0;t=normalizeKey$1(t),n=normalizeKey$1(n);var i=collationIndex$1(t),a=collationIndex$1(n);if(i-a!=0)return i-a;switch(typeof t){case"number":return t-n;case"boolean":return t<n?-1:1;case"string":return stringCollate$1(t,n)}return Array.isArray(t)?arrayCollate$1(t,n):objectCollate$1(t,n)}function normalizeKey$1(t){switch(typeof t){case"undefined":return null;case"number":return t===1/0||t===-1/0||isNaN(t)?null:t;case"object":var n=t;if(Array.isArray(t)){var i=t.length;t=new Array(i);for(var a=0;a<i;a++)t[a]=normalizeKey$1(n[a])}else{if(t instanceof Date)return t.toJSON();if(null!==t)for(var s in t={},n)if(Object.prototype.hasOwnProperty.call(n,s)){var l=n[s];void 0!==l&&(t[s]=normalizeKey$1(l))}}}return t}function indexify$1(t){if(null!==t)switch(typeof t){case"boolean":return t?1:0;case"number":return numToIndexableString$1(t);case"string":return t.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");case"object":var n=Array.isArray(t),i=n?t:Object.keys(t),a=-1,s=i.length,l="";if(n)for(;++a<s;)l+=toIndexableString$1(i[a]);else for(;++a<s;){var c=i[a];l+=toIndexableString$1(c)+toIndexableString$1(t[c])}return l}return""}function toIndexableString$1(t){return collationIndex$1(t=normalizeKey$1(t))+SEP$1+indexify$1(t)+"\0"}function parseNumber$1(t,n){var i,a=n;if("1"===t[n])i=0,n++;else{var s="0"===t[n];n++;var l="",c=t.substring(n,n+MAGNITUDE_DIGITS$1),u=parseInt(c,10)+MIN_MAGNITUDE$1;for(s&&(u=-u),n+=MAGNITUDE_DIGITS$1;;){var d=t[n];if("\0"===d)break;l+=d,n++}i=1===(l=l.split(".")).length?parseInt(l,10):parseFloat(l[0]+"."+l[1]),s&&(i-=10),0!==u&&(i=parseFloat(i+"e"+u))}return{num:i,length:n-a}}function pop$1(t,n){var i=t.pop();if(n.length){var a=n[n.length-1];i===a.element&&(n.pop(),a=n[n.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(i);else if(l===t.length-2){s[t.pop()]=i}else t.push(i)}}function parseIndexableString$1(t){for(var n=[],i=[],a=0;;){var s=t[a++];if("\0"!==s)switch(s){case"1":n.push(null);break;case"2":n.push("1"===t[a]),a++;break;case"3":var l=parseNumber$1(t,a);n.push(l.num),a+=l.length;break;case"4":for(var c="";;){var u=t[a];if("\0"===u)break;c+=u,a++}c=c.replace(/\u0001\u0001/g,"\0").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,""),n.push(c);break;case"5":var d={element:[],index:n.length};n.push(d.element),i.push(d);break;case"6":var f={element:{},index:n.length};n.push(f.element),i.push(f);break;default:throw new Error("bad collationIndex or unexpectedly reached end of input: "+s)}else{if(1===n.length)return n.pop();pop$1(n,i)}}}function arrayCollate$1(t,n){for(var i=Math.min(t.length,n.length),a=0;a<i;a++){var s=collate$1(t[a],n[a]);if(0!==s)return s}return t.length===n.length?0:t.length>n.length?1:-1}function stringCollate$1(t,n){return t===n?0:t>n?1:-1}function objectCollate$1(t,n){for(var i=Object.keys(t),a=Object.keys(n),s=Math.min(i.length,a.length),l=0;l<s;l++){var c=collate$1(i[l],a[l]);if(0!==c)return c;if(0!==(c=collate$1(t[i[l]],n[a[l]])))return c}return i.length===a.length?0:i.length>a.length?1:-1}function collationIndex$1(t){var n=["boolean","number","string","object"].indexOf(typeof t);return~n?null===t?1:Array.isArray(t)?5:n<3?n+2:n+3:Array.isArray(t)?5:void 0}function numToIndexableString$1(t){if(0===t)return"1";var n=t.toExponential().split(/e\+?/),i=parseInt(n[1],10),a=t<0,s=a?"0":"2",l=padLeft$1(((a?-i:i)-MIN_MAGNITUDE$1).toString(),"0",MAGNITUDE_DIGITS$1);s+=SEP$1+l;var c=Math.abs(parseFloat(n[0]));a&&(c=10-c);var u=c.toFixed(20);return u=u.replace(/\.?0+$/,""),s+=SEP$1+u}function createFieldSorter$1(t){function n(n){return t.map((function(t){var i=parseField$1(getKey$1(t));return getFieldFromDoc$1(n,i)}))}return function(t,i){var a=collate$1(n(t.doc),n(i.doc));return 0!==a?a:compare$1(t.doc._id,i.doc._id)}}function filterInMemoryFields$1(t,n,i){if(t=t.filter((function(t){return rowFilter$1(t.doc,n.selector,i)})),n.sort){var a=createFieldSorter$1(n.sort);t=t.sort(a),"string"!=typeof n.sort[0]&&"desc"===getValue$1(n.sort[0])&&(t=t.reverse())}if("limit"in n||"skip"in n){var s=n.skip||0,l=("limit"in n?n.limit:t.length)+s;t=t.slice(s,l)}return t}function rowFilter$1(t,n,i){return i.every((function(i){var a=n[i],s=parseField$1(i),l=getFieldFromDoc$1(t,s);return isCombinationalField$1(i)?matchCominationalSelector$1(i,a,t):matchSelector$1(a,t,s,l)}))}function matchSelector$1(t,n,i,a){return!t||("object"==typeof t?Object.keys(t).every((function(s){var l=t[s];if(0===s.indexOf("$"))return match$1(s,n,l,i,a);var c=parseField$1(s);if(void 0===a&&"object"!=typeof l&&c.length>0)return!1;var u=getFieldFromDoc$1(a,c);return"object"==typeof l?matchSelector$1(l,n,i,u):match$1("$eq",n,l,c,u)})):t===a)}function matchCominationalSelector$1(t,n,i){return"$or"===t?n.some((function(t){return rowFilter$1(i,t,Object.keys(t))})):"$not"===t?!rowFilter$1(i,n,Object.keys(n)):!n.find((function(t){return rowFilter$1(i,t,Object.keys(t))}))}function match$1(t,n,i,a,s){if(!matchers$1[t])throw new Error('unknown operator "'+t+'" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type, $allMatch or $all');return matchers$1[t](n,i,a,s)}function fieldExists$1(t){return null!=t}function fieldIsNotUndefined$1(t){return void 0!==t}function modField$1(t,n){return"number"==typeof t&&parseInt(t,10)===t&&t%n[0]===n[1]}function arrayContainsValue$1(t,n){return n.some((function(n){return t instanceof Array?t.some((function(t){return 0===collate$1(n,t)})):0===collate$1(n,t)}))}function arrayContainsAllValues$1(t,n){return n.every((function(n){return t.some((function(t){return 0===collate$1(n,t)}))}))}function arraySize$1(t,n){return t.length===n}function regexMatch$1(t,n){return new RegExp(n).test(t)}function typeMatch$1(t,n){switch(n){case"null":return null===t;case"boolean":return"boolean"==typeof t;case"number":return"number"==typeof t;case"string":return"string"==typeof t;case"array":return t instanceof Array;case"object":return"[object Object]"==={}.toString.call(t)}}var matchers$1={$elemMatch:function(t,n,i,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.some((function(t){return rowFilter$1(t,n,Object.keys(n))})):a.some((function(a){return matchSelector$1(n,t,i,a)}))))},$allMatch:function(t,n,i,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.every((function(t){return rowFilter$1(t,n,Object.keys(n))})):a.every((function(a){return matchSelector$1(n,t,i,a)}))))},$eq:function(t,n,i,a){return fieldIsNotUndefined$1(a)&&0===collate$1(a,n)},$gte:function(t,n,i,a){return fieldIsNotUndefined$1(a)&&collate$1(a,n)>=0},$gt:function(t,n,i,a){return fieldIsNotUndefined$1(a)&&collate$1(a,n)>0},$lte:function(t,n,i,a){return fieldIsNotUndefined$1(a)&&collate$1(a,n)<=0},$lt:function(t,n,i,a){return fieldIsNotUndefined$1(a)&&collate$1(a,n)<0},$exists:function(t,n,i,a){return n?fieldIsNotUndefined$1(a):!fieldIsNotUndefined$1(a)},$mod:function(t,n,i,a){return fieldExists$1(a)&&modField$1(a,n)},$ne:function(t,n,i,a){return n.every((function(t){return 0!==collate$1(a,t)}))},$in:function(t,n,i,a){return fieldExists$1(a)&&arrayContainsValue$1(a,n)},$nin:function(t,n,i,a){return fieldExists$1(a)&&!arrayContainsValue$1(a,n)},$size:function(t,n,i,a){return fieldExists$1(a)&&Array.isArray(a)&&arraySize$1(a,n)},$all:function(t,n,i,a){return Array.isArray(a)&&arrayContainsAllValues$1(a,n)},$regex:function(t,n,i,a){return fieldExists$1(a)&&"string"==typeof a&&n.every((function(t){return regexMatch$1(a,t)}))},$type:function(t,n,i,a){return typeMatch$1(a,n)}};function matchesSelector$1(t,n){if("object"!=typeof n)throw new Error("Selector error: expected a JSON object");var i=filterInMemoryFields$1([{doc:t}],{selector:n=massageSelector$1(n)},Object.keys(n));return i&&1===i.length}function evalFilter(t){return scopeEval('"use strict";\nreturn '+t+";",{})}function evalView(t){return scopeEval(["return function(doc) {",' "use strict";'," var emitted = false;"," var emit = function (a, b) {"," emitted = true;"," };"," var view = "+t+";"," view(doc);"," if (emitted) {"," return true;"," }","};"].join("\n"),{})}function validate(t,n){if(t.selector&&t.filter&&"_selector"!==t.filter){var i="string"==typeof t.filter?t.filter:"function";return n(new Error('selector invalid for filter "'+i+'"'))}n()}function normalize(t){t.view&&!t.filter&&(t.filter="_view"),t.selector&&!t.filter&&(t.filter="_selector"),t.filter&&"string"==typeof t.filter&&("_view"===t.filter?t.view=normalizeDesignDocFunctionName(t.view):t.filter=normalizeDesignDocFunctionName(t.filter))}function shouldFilter(t,n){return n.filter&&"string"==typeof n.filter&&!n.doc_ids&&!isRemote$1(t.db)}function filter(t,n){var i=n.complete;if("_view"===n.filter){if(!n.view||"string"!=typeof n.view){var a=createError$1(BAD_REQUEST,"`view` filter parameter not found or invalid.");return i(a)}var s=parseDesignDocFunctionName(n.view);t.db.get("_design/"+s[0],(function(a,l){if(t.isCancelled)return i(null,{status:"cancelled"});if(a)return i(generateErrorFromResponse$1(a));var c=l&&l.views&&l.views[s[1]]&&l.views[s[1]].map;if(!c)return i(createError$1(MISSING_DOC,l.views?"missing json key: "+s[1]:"missing json key: views"));n.filter=evalView(c),t.doChanges(n)}))}else if(n.selector)n.filter=function(t){return matchesSelector$1(t,n.selector)},t.doChanges(n);else{var l=parseDesignDocFunctionName(n.filter);t.db.get("_design/"+l[0],(function(a,s){if(t.isCancelled)return i(null,{status:"cancelled"});if(a)return i(generateErrorFromResponse$1(a));var c=s&&s.filters&&s.filters[l[1]];if(!c)return i(createError$1(MISSING_DOC,s&&s.filters?"missing json key: "+l[1]:"missing json key: filters"));n.filter=evalFilter(c),t.doChanges(n)}))}}function applyChangesFilterPlugin(t){t._changesFilterPlugin={validate:validate,normalize:normalize,shouldFilter:shouldFilter,filter:filter}}function checkBlobSupport(t,n,i){return new Promise((function(a){var s=createBlob$1([""]);let l;{const a=i;l=t.objectStore(n).put(s,a)}l.onsuccess=function(){var t=navigator.userAgent.match(/Chrome\/(\d+)/),n=navigator.userAgent.match(/Edge\//);a(n||!t||parseInt(t[1],10)>=43)},l.onerror=t.onabort=function(t){t.preventDefault(),t.stopPropagation(),a(!1)}})).catch((function(){return!1}))}function toObject$4(t){return t.reduce((function(t,n){return t[n]=!0,t}),{})}PouchDB.plugin(applyChangesFilterPlugin),PouchDB.version=version$1;var reservedWords=toObject$4(["_id","_rev","_access","_attachments","_deleted","_revisions","_revs_info","_conflicts","_deleted_conflicts","_local_seq","_rev_tree","_replication_id","_replication_state","_replication_state_time","_replication_state_reason","_replication_stats","_removed"]),dataWords=toObject$4(["_access","_attachments","_replication_id","_replication_state","_replication_state_time","_replication_state_reason","_replication_stats"]);function parseRevisionInfo(t){if(!/^\d+-/.test(t))return createError$1(INVALID_REV);var n=t.indexOf("-"),i=t.substring(0,n),a=t.substring(n+1);return{prefix:parseInt(i,10),id:a}}function makeRevTreeFromRevisions(t,n){for(var i=t.start-t.ids.length+1,a=t.ids,s=[a[0],n,[]],l=1,c=a.length;l<c;l++)s=[a[l],{status:"missing"},[s]];return[{pos:i,ids:s}]}function parseDoc(t,n,i){var a,s,l;i||(i={deterministic_revs:!0});var c={status:"available"};if(t._deleted&&(c.deleted=!0),n)if(t._id||(t._id=uuid()),s=rev(t,i.deterministic_revs),t._rev){if((l=parseRevisionInfo(t._rev)).error)return l;t._rev_tree=[{pos:l.prefix,ids:[l.id,{status:"missing"},[[s,c,[]]]]}],a=l.prefix+1}else t._rev_tree=[{pos:1,ids:[s,c,[]]}],a=1;else if(t._revisions&&(t._rev_tree=makeRevTreeFromRevisions(t._revisions,c),a=t._revisions.start,s=t._revisions.ids[0]),!t._rev_tree){if((l=parseRevisionInfo(t._rev)).error)return l;a=l.prefix,s=l.id,t._rev_tree=[{pos:a,ids:[s,c,[]]}]}invalidIdError(t._id),t._rev=a+"-"+s;var u={metadata:{},data:{}};for(var d in t)if(Object.prototype.hasOwnProperty.call(t,d)){var f="_"===d[0];if(f&&!reservedWords[d]){var m=createError$1(DOC_VALIDATION,d);throw m.message=DOC_VALIDATION.message+": "+d,m}f&&!dataWords[d]?u.metadata[d.slice(1)]=t[d]:u.data[d]=t[d]}return u}function parseBase64(t){try{return thisAtob$1(t)}catch(e){return{error:createError$1(BAD_ARG,"Attachment is not a valid base64 string")}}}function preprocessString(t,n,i){var a=parseBase64(t.data);if(a.error)return i(a.error);t.length=a.length,t.data="blob"===n?binStringToBluffer$1(a,t.content_type):"base64"===n?thisBtoa(a):a,binaryMd5(a,(function(n){t.digest="md5-"+n,i()}))}function preprocessBlob(t,n,i){binaryMd5(t.data,(function(a){t.digest="md5-"+a,t.length=t.data.size||t.data.length||0,"binary"===n?blobToBinaryString(t.data,(function(n){t.data=n,i()})):"base64"===n?blobToBase64(t.data,(function(n){t.data=n,i()})):i()}))}function preprocessAttachment(t,n,i){if(t.stub)return i();"string"==typeof t.data?preprocessString(t,n,i):preprocessBlob(t,n,i)}function preprocessAttachments(t,n,i){if(!t.length)return i();var a,s=0;function l(){s++,t.length===s&&(a?i(a):i())}t.forEach((function(t){var i=t.data&&t.data._attachments?Object.keys(t.data._attachments):[],s=0;if(!i.length)return l();function c(t){a=t,++s===i.length&&l()}for(var u in t.data._attachments)Object.prototype.hasOwnProperty.call(t.data._attachments,u)&&preprocessAttachment(t.data._attachments[u],n,c)}))}function updateDoc(t,n,i,a,s,l,c,u){if(revExists(n.rev_tree,i.metadata.rev)&&!u)return a[s]=i,l();var d=n.winningRev||winningRev(n),f="deleted"in n?n.deleted:isDeleted(n,d),m="deleted"in i.metadata?i.metadata.deleted:isDeleted(i.metadata),g=/^1-/.test(i.metadata.rev);if(f&&!m&&u&&g){var v=i.data;v._rev=d,v._id=i.metadata.id,i=parseDoc(v,u)}var b=merge(n.rev_tree,i.metadata.rev_tree[0],t);if(u&&(f&&m&&"new_leaf"!==b.conflicts||!f&&"new_leaf"!==b.conflicts||f&&!m&&"new_branch"===b.conflicts)){var w=createError$1(REV_CONFLICT);return a[s]=w,l()}var k=i.metadata.rev;i.metadata.rev_tree=b.tree,i.stemmedRevs=b.stemmedRevs||[],n.rev_map&&(i.metadata.rev_map=n.rev_map);var S=winningRev(i.metadata),C=isDeleted(i.metadata,S),E=f===C?0:f<C?-1:1;c(i,S,C,k===S?C:isDeleted(i.metadata,k),!0,E,s,l)}function rootIsMissing(t){return"missing"===t.metadata.rev_tree[0].ids[1].status}function processDocs(t,n,i,a,s,l,c,u,d){t=t||1e3;var f=u.new_edits,m=new Map,g=0,v=n.length;function b(){++g===v&&d&&d()}n.forEach((function(t,n){if(t._id&&isLocalId(t._id)){var a=t._deleted?"_removeLocal":"_putLocal";i[a](t,{ctx:s},(function(t,i){l[n]=t||i,b()}))}else{var c=t.metadata.id;m.has(c)?(v--,m.get(c).push([t,n])):m.set(c,[[t,n]])}})),m.forEach((function(n,i){var s=0;function d(){++s<n.length?m():b()}function m(){var m=n[s],g=m[0],v=m[1];if(a.has(i))updateDoc(t,a.get(i),g,l,v,d,c,f);else{var b=merge([],g.metadata.rev_tree[0],t);g.metadata.rev_tree=b.tree,g.stemmedRevs=b.stemmedRevs||[],function(t,n,i){var a=winningRev(t.metadata),s=isDeleted(t.metadata,a);if("was_delete"in u&&s)return l[n]=createError$1(MISSING_DOC,"deleted"),i();if(f&&rootIsMissing(t)){var d=createError$1(REV_CONFLICT);return l[n]=d,i()}c(t,a,s,s,!1,s?0:1,n,i)}(g,v,d)}}m()}))}var ADAPTER_VERSION=5,DOC_STORE="document-store",BY_SEQ_STORE="by-sequence",ATTACH_STORE="attach-store",ATTACH_AND_SEQ_STORE="attach-seq-store",META_STORE="meta-store",LOCAL_STORE="local-store",DETECT_BLOB_SUPPORT_STORE="detect-blob-support";function safeJsonParse(t){try{return JSON.parse(t)}catch(e){return vuvuzela.parse(t)}}function safeJsonStringify(t){try{return JSON.stringify(t)}catch(e){return vuvuzela.stringify(t)}}function idbError(t){return function(n){var i="unknown_error";n.target&&n.target.error&&(i=n.target.error.name||n.target.error.message),t(createError$1(IDB_ERROR,i,n.type))}}function encodeMetadata(t,n,i){return{data:safeJsonStringify(t),winningRev:n,deletedOrLocal:i?"1":"0",seq:t.seq,id:t.id}}function decodeMetadata(t){if(!t)return null;var n=safeJsonParse(t.data);return n.winningRev=t.winningRev,n.deleted="1"===t.deletedOrLocal,n.seq=t.seq,n}function decodeDoc(t){if(!t)return t;var n=t._doc_id_rev.lastIndexOf(":");return t._id=t._doc_id_rev.substring(0,n-1),t._rev=t._doc_id_rev.substring(n+1),delete t._doc_id_rev,t}function readBlobData(t,n,i,a){i?a(t?"string"!=typeof t?t:b64ToBluffer$1(t,n):createBlob$1([""],{type:n})):t?"string"!=typeof t?readAsBinaryString(t,(function(t){a(thisBtoa(t))})):a(t):a("")}function fetchAttachmentsIfNecessary(t,n,i,a){var s=Object.keys(t._attachments||{});if(!s.length)return a&&a();var l=0;function c(){++l===s.length&&a&&a()}s.forEach((function(a){n.attachments&&n.include_docs?function(t,n){var a=t._attachments[n],s=a.digest;i.objectStore(ATTACH_STORE).get(s).onsuccess=function(t){a.body=t.target.result.body,c()}}(t,a):(t._attachments[a].stub=!0,c())}))}function postProcessAttachments(t,n){return Promise.all(t.map((function(t){if(t.doc&&t.doc._attachments){var i=Object.keys(t.doc._attachments);return Promise.all(i.map((function(i){var a=t.doc._attachments[i];if("body"in a){var s=a.body,l=a.content_type;return new Promise((function(c){readBlobData(s,l,n,(function(n){t.doc._attachments[i]=Object.assign(pick$1(a,["digest","content_type"]),{data:n}),c()}))}))}})))}})))}function compactRevs(t,n,i){var a=[],s=i.objectStore(BY_SEQ_STORE),l=i.objectStore(ATTACH_STORE),c=i.objectStore(ATTACH_AND_SEQ_STORE),u=t.length;function d(){--u||function(){if(!a.length)return;a.forEach((function(t){c.index("digestSeq").count(IDBKeyRange.bound(t+"::",t+"::￿",!1,!1)).onsuccess=function(n){n.target.result||l.delete(t)}}))}()}t.forEach((function(t){var i=s.index("_doc_id_rev"),l=n+"::"+t;i.getKey(l).onsuccess=function(t){var n=t.target.result;if("number"!=typeof n)return d();s.delete(n),c.index("seq").openCursor(IDBKeyRange.only(n)).onsuccess=function(t){var n=t.target.result;if(n){var i=n.value.digestSeq.split("::")[0];a.push(i),c.delete(n.primaryKey),n.continue()}else d()}}}))}function openTransactionSafely(t,n,i){try{return{txn:t.transaction(n,i)}}catch(a){return{error:a}}}var changesHandler=new Changes;function idbBulkDocs(t,n,i,a,s,l){for(var c,u,d,f,m,g,v,b,w=n.docs,k=0,S=w.length;k<S;k++){var C=w[k];C._id&&isLocalId(C._id)||(C=w[k]=parseDoc(C,i.new_edits,t)).error&&!v&&(v=C)}if(v)return l(v);var E=!1,T=0,P=new Array(w.length),I=new Map,A=!1,D=a._meta.blobSupport?"blob":"base64";function O(){E=!0,_e()}function _e(){b&&E&&(b.docCount+=T,g.put(b))}function be(){A||(changesHandler.notify(a._meta.name),l(null,P))}function we(t,n,i,a,s,l,c,u){t.metadata.winningRev=n,t.metadata.deleted=i;var d=t.data;if(d._id=t.metadata.id,d._rev=t.metadata.rev,a&&(d._deleted=!0),d._attachments&&Object.keys(d._attachments).length)return function(t,n,i,a,s,l){var c=t.data,u=0,d=Object.keys(c._attachments);function m(){u===d.length&&Se(t,n,i,a,s,l)}function g(){u++,m()}d.forEach((function(i){var a=t.data._attachments[i];if(a.stub)u++,m();else{var s=a.data;delete a.data,a.revpos=parseInt(n,10),function(t,n,i){var a=f.count(t);a.onsuccess=function(a){if(a.target.result)return i();var s={digest:t,body:n};f.put(s).onsuccess=i}}(a.digest,s,g)}}))}(t,n,i,s,c,u);T+=l,_e(),Se(t,n,i,s,c,u)}function Se(t,n,i,s,l,f){var g=t.data,v=t.metadata;function b(l){var d=t.stemmedRevs||[];s&&a.auto_compaction&&(d=d.concat(compactTree(t.metadata))),d&&d.length&&compactRevs(d,t.metadata.id,c),v.seq=l.target.result;var f=encodeMetadata(v,n,i);u.put(f).onsuccess=w}function w(){P[l]={ok:!0,id:v.id,rev:v.rev},I.set(t.metadata.id,t.metadata),function(t,n,i){var a=0,s=Object.keys(t.data._attachments||{});if(!s.length)return i();function l(){++a===s.length&&i()}function c(i){var a=t.data._attachments[i].digest,s=m.put({seq:n,digestSeq:a+"::"+n});s.onsuccess=l,s.onerror=function(t){t.preventDefault(),t.stopPropagation(),l()}}for(var u=0;u<s.length;u++)c(s[u])}(t,v.seq,f)}g._doc_id_rev=v.id+"::"+v.rev,delete g._id,delete g._rev;var k=d.put(g);k.onsuccess=b,k.onerror=function(t){t.preventDefault(),t.stopPropagation(),d.index("_doc_id_rev").getKey(g._doc_id_rev).onsuccess=function(t){d.put(g,t.target.result).onsuccess=b}}}preprocessAttachments(w,D,(function(n){if(n)return l(n);!function(){var n=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE,LOCAL_STORE,ATTACH_AND_SEQ_STORE,META_STORE],"readwrite");if(n.error)return l(n.error);(c=n.txn).onabort=idbError(l),c.ontimeout=idbError(l),c.oncomplete=be,u=c.objectStore(DOC_STORE),d=c.objectStore(BY_SEQ_STORE),f=c.objectStore(ATTACH_STORE),m=c.objectStore(ATTACH_AND_SEQ_STORE),(g=c.objectStore(META_STORE)).get(META_STORE).onsuccess=function(t){b=t.target.result,_e()},function(t){var n=[];if(w.forEach((function(t){t.data&&t.data._attachments&&Object.keys(t.data._attachments).forEach((function(i){var a=t.data._attachments[i];a.stub&&n.push(a.digest)}))})),!n.length)return t();var i,a=0;function s(){++a===n.length&&t(i)}n.forEach((function(t){!function(t,n){var i=f.get(t);i.onsuccess=function(i){if(i.target.result)n();else{var a=createError$1(MISSING_STUB,"unknown stub attachment with digest "+t);a.status=412,n(a)}}}(t,(function(t){t&&!i&&(i=t),s()}))}))}((function(n){if(n)return A=!0,l(n);!function(){if(!w.length)return;var n=0;function s(){++n===w.length&&processDocs(t.revs_limit,w,a,I,c,P,we,i,O)}function l(t){var n=decodeMetadata(t.target.result);n&&I.set(n.id,n),s()}for(var d=0,f=w.length;d<f;d++){var m=w[d];if(m._id&&isLocalId(m._id))s();else u.get(m.metadata.id).onsuccess=l}}()}))}()}))}function runBatchedCursor(t,n,i,a,s){var l,c,u;function d(t){c=t.target.result,l&&s(l,c,u)}function f(t){l=t.target.result,c&&s(l,c,u)}function m(t){var n=t.target.result;if(!n)return s();s([n.key],[n.value],n)}-1===a&&(a=1e3),"function"==typeof t.getAll&&"function"==typeof t.getAllKeys&&a>1&&!i?(u={continue:function(){if(!l.length)return s();var i,u=l[l.length-1];if(n&&n.upper)try{i=IDBKeyRange.bound(u,n.upper,!0,n.upperOpen)}catch(e){if("DataError"===e.name&&0===e.code)return s()}else i=IDBKeyRange.lowerBound(u,!0);n=i,l=null,c=null,t.getAll(n,a).onsuccess=d,t.getAllKeys(n,a).onsuccess=f}},t.getAll(n,a).onsuccess=d,t.getAllKeys(n,a).onsuccess=f):i?t.openCursor(n,"prev").onsuccess=m:t.openCursor(n).onsuccess=m}function getAll(t,n,i){if("function"!=typeof t.getAll){var a=[];t.openCursor(n).onsuccess=function(t){var n=t.target.result;n?(a.push(n.value),n.continue()):i({target:{result:a}})}}else t.getAll(n).onsuccess=i}function allDocsKeys(t,n,i){var a=new Array(t.length),s=0;t.forEach((function(l,c){n.get(l).onsuccess=function(n){n.target.result?a[c]=n.target.result:a[c]={key:l,error:"not_found"},++s===t.length&&i(t,a,{})}}))}function createKeyRange(t,n,i,a,s){try{if(t&&n)return s?IDBKeyRange.bound(n,t,!i,!1):IDBKeyRange.bound(t,n,!1,!i);if(t)return s?IDBKeyRange.upperBound(t):IDBKeyRange.lowerBound(t);if(n)return s?IDBKeyRange.lowerBound(n,!i):IDBKeyRange.upperBound(n,!i);if(a)return IDBKeyRange.only(a)}catch(e){return{error:e}}return null}function idbAllDocs(t,n,i){var a,s,l="startkey"in t&&t.startkey,c="endkey"in t&&t.endkey,u="key"in t&&t.key,d="keys"in t&&t.keys,f=t.skip||0,m="number"==typeof t.limit?t.limit:-1,g=!1!==t.inclusive_end;if(!d&&(s=(a=createKeyRange(l,c,g,u,t.descending))&&a.error)&&("DataError"!==s.name||0!==s.code))return i(createError$1(IDB_ERROR,s.name,s.message));var v=[DOC_STORE,BY_SEQ_STORE,META_STORE];t.attachments&&v.push(ATTACH_STORE);var b=openTransactionSafely(n,v,"readonly");if(b.error)return i(b.error);var w=b.txn;w.oncomplete=function(){t.attachments?postProcessAttachments(I,t.binary).then(_e):_e()},w.onabort=idbError(i);var k,S,C=w.objectStore(DOC_STORE),E=w.objectStore(BY_SEQ_STORE),T=w.objectStore(META_STORE),P=E.index("_doc_id_rev"),I=[];function A(n,i){var a={id:i.id,key:i.id,value:{rev:n}};i.deleted?d&&(I.push(a),a.value.deleted=!0,a.doc=null):f--<=0&&(I.push(a),t.include_docs&&function(n,i,a){var s=n.id+"::"+a;P.get(s).onsuccess=function(a){if(i.doc=decodeDoc(a.target.result)||{},t.conflicts){var s=collectConflicts(n);s.length&&(i.doc._conflicts=s)}fetchAttachmentsIfNecessary(i.doc,t,w)}}(i,a,n))}function D(t){for(var n=0,i=t.length;n<i&&I.length!==m;n++){var a=t[n];if(a.error&&d)I.push(a);else{var s=decodeMetadata(a);A(s.winningRev,s)}}}function O(t,n,i){i&&(D(n),I.length<m&&i.continue())}function _e(){var n={total_rows:k,offset:t.skip,rows:I};t.update_seq&&void 0!==S&&(n.update_seq=S),i(null,n)}return T.get(META_STORE).onsuccess=function(t){k=t.target.result.docCount},t.update_seq&&(E.openKeyCursor(null,"prev").onsuccess=t=>{var n=t.target.result;n&&n.key&&(S=n.key)}),s||0===m?void 0:d?allDocsKeys(d,C,O):-1===m?getAll(C,a,(function(n){var i=n.target.result;t.descending&&(i=i.reverse()),D(i)})):void runBatchedCursor(C,a,t.descending,m+f,O)}function countDocs(t,n){t.objectStore(DOC_STORE).index("deletedOrLocal").count(IDBKeyRange.only("0")).onsuccess=function(t){n(t.target.result)}}var running=!1,queue=[];function tryCode(t,n,i,a){try{t(n,i)}catch(s){a.emit("error",s)}}function applyNext(){!running&&queue.length&&(running=!0,queue.shift()())}function enqueueTask(t,n,i){queue.push((function(){t((function(t,a){tryCode(n,t,a,i),running=!1,nextTick$1((function(){applyNext()}))}))})),applyNext()}function changes(t,n,i,a){if((t=clone$7(t)).continuous){var s=i+":"+uuid();return changesHandler.addListener(i,s,n,t),changesHandler.notify(i),{cancel:function(){changesHandler.removeListener(i,s)}}}var l=t.doc_ids&&new Set(t.doc_ids);t.since=t.since||0;var c=t.since,u="limit"in t?t.limit:-1;0===u&&(u=1);var d,f,m,g,v=[],b=0,w=filterChange(t),k=new Map;function S(t,n,i,a){if(i.seq!==n)return a();if(i.winningRev===t._rev)return a(i,t);var s=t._id+"::"+i.winningRev;g.get(s).onsuccess=function(t){a(i,decodeDoc(t.target.result))}}function C(){t.complete(null,{results:v,last_seq:c})}var E=[DOC_STORE,BY_SEQ_STORE];t.attachments&&E.push(ATTACH_STORE);var T=openTransactionSafely(a,E,"readonly");if(T.error)return t.complete(T.error);(d=T.txn).onabort=idbError(t.complete),d.oncomplete=function(){!t.continuous&&t.attachments?postProcessAttachments(v).then(C):C()},f=d.objectStore(BY_SEQ_STORE),m=d.objectStore(DOC_STORE),g=f.index("_doc_id_rev"),runBatchedCursor(f,t.since&&!t.descending?IDBKeyRange.lowerBound(t.since,!0):null,t.descending,u,(function(n,i,a){if(a&&n.length){var s=new Array(n.length),f=new Array(n.length),g=0;i.forEach((function(i,c){!function(t,n,i){if(l&&!l.has(t._id))return i();var a=k.get(t._id);if(a)return S(t,n,a,i);m.get(t._id).onsuccess=function(s){a=decodeMetadata(s.target.result),k.set(t._id,a),S(t,n,a,i)}}(decodeDoc(i),n[c],(function(i,l){f[c]=i,s[c]=l,++g===n.length&&function(){for(var n=[],i=0,l=s.length;i<l&&b!==u;i++){var c=s[i];if(c){var d=f[i];n.push(C(d,c))}}Promise.all(n).then((function(n){for(var i=0,a=n.length;i<a;i++)n[i]&&t.onChange(n[i])})).catch(t.complete),b!==u&&a.continue()}()}))}))}function C(n,i){var a=t.processChange(i,n,t);c=a.seq=n.seq;var s=w(a);return"object"==typeof s?Promise.reject(s):s?(b++,t.return_docs&&v.push(a),t.attachments&&t.include_docs?new Promise((function(n){fetchAttachmentsIfNecessary(i,t,d,(function(){postProcessAttachments([a],t.binary).then((function(){n(a)}))}))})):Promise.resolve(a)):Promise.resolve()}}))}var cachedDBs=new Map,blobSupportPromise,openReqList=new Map;function IdbPouch(t,n){var i=this;enqueueTask((function(n){init(i,t,n)}),n,i.constructor)}function init(t,n,i){var a=n.name,s=null,l=null;function c(t){return function(n,i){n&&n instanceof Error&&!n.reason&&l&&(n.reason=l),t(n,i)}}function u(t,n){var i=t.objectStore(DOC_STORE);i.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),i.openCursor().onsuccess=function(t){var a=t.target.result;if(a){var s=a.value,l=isDeleted(s);s.deletedOrLocal=l?"1":"0",i.put(s),a.continue()}else n()}}function d(t,n){var i=t.objectStore(LOCAL_STORE),a=t.objectStore(DOC_STORE),s=t.objectStore(BY_SEQ_STORE);a.openCursor().onsuccess=function(t){var l=t.target.result;if(l){var c=l.value,u=c.id,d=isLocalId(u),f=winningRev(c);if(d){var m=u+"::"+f,g=u+"::",v=u+"::~",b=s.index("_doc_id_rev"),w=IDBKeyRange.bound(g,v,!1,!1),k=b.openCursor(w);k.onsuccess=function(t){if(k=t.target.result){var n=k.value;n._doc_id_rev===m&&i.put(n),s.delete(k.primaryKey),k.continue()}else a.delete(l.primaryKey),l.continue()}}else l.continue()}else n&&n()}}function f(t,n){var i=t.objectStore(BY_SEQ_STORE),a=t.objectStore(ATTACH_STORE),s=t.objectStore(ATTACH_AND_SEQ_STORE);a.count().onsuccess=function(t){if(!t.target.result)return n();i.openCursor().onsuccess=function(t){var i=t.target.result;if(!i)return n();for(var a=i.value,l=i.primaryKey,c=Object.keys(a._attachments||{}),u={},d=0;d<c.length;d++){u[a._attachments[c[d]].digest]=!0}var f=Object.keys(u);for(d=0;d<f.length;d++){var m=f[d];s.put({seq:l,digestSeq:m+"::"+l})}i.continue()}}}function m(t){var n=t.objectStore(BY_SEQ_STORE),i=t.objectStore(DOC_STORE);i.openCursor().onsuccess=function(t){var a=t.target.result;if(a){var s,l,c,u,d,f=(s=a.value).data?decodeMetadata(s):(s.deleted="1"===s.deletedOrLocal,s);if(f.winningRev=f.winningRev||winningRev(f),f.seq)return m();l=f.id+"::",c=f.id+"::￿",u=n.index("_doc_id_rev").openCursor(IDBKeyRange.bound(l,c)),d=0,u.onsuccess=function(t){var n=t.target.result;if(!n)return f.seq=d,m();var i=n.primaryKey;i>d&&(d=i),n.continue()}}function m(){var t=encodeMetadata(f,f.winningRev,f.deleted);i.put(t).onsuccess=function(){a.continue()}}}}t._meta=null,t._remote=!1,t.type=function(){return"idb"},t._id=toPromise((function(n){n(null,t._meta.instanceId)})),t._bulkDocs=function(i,a,l){idbBulkDocs(n,i,a,t,s,c(l))},t._get=function(t,n,i){var a,l,c,u=n.ctx;if(!u){var d=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE],"readonly");if(d.error)return i(d.error);u=d.txn}function f(){i(c,{doc:a,metadata:l,ctx:u})}u.objectStore(DOC_STORE).get(t).onsuccess=function(t){if(!(l=decodeMetadata(t.target.result)))return c=createError$1(MISSING_DOC,"missing"),f();var i;if(n.rev)i=n.latest?latest(n.rev,l):n.rev;else if(i=l.winningRev,isDeleted(l))return c=createError$1(MISSING_DOC,"deleted"),f();var s=u.objectStore(BY_SEQ_STORE),d=l.id+"::"+i;s.index("_doc_id_rev").get(d).onsuccess=function(t){if((a=t.target.result)&&(a=decodeDoc(a)),!a)return c=createError$1(MISSING_DOC,"missing"),f();f()}}},t._getAttachment=function(t,n,i,a,l){var c;if(a.ctx)c=a.ctx;else{var u=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE],"readonly");if(u.error)return l(u.error);c=u.txn}var d=i.digest,f=i.content_type;c.objectStore(ATTACH_STORE).get(d).onsuccess=function(t){readBlobData(t.target.result.body,f,a.binary,(function(t){l(null,t)}))}},t._info=function(n){var i,a,l=openTransactionSafely(s,[META_STORE,BY_SEQ_STORE],"readonly");if(l.error)return n(l.error);var c=l.txn;c.objectStore(META_STORE).get(META_STORE).onsuccess=function(t){a=t.target.result.docCount},c.objectStore(BY_SEQ_STORE).openKeyCursor(null,"prev").onsuccess=function(t){var n=t.target.result;i=n?n.key:0},c.oncomplete=function(){n(null,{doc_count:a,update_seq:i,idb_attachment_format:t._meta.blobSupport?"binary":"base64"})}},t._allDocs=function(t,n){idbAllDocs(t,s,c(n))},t._changes=function(n){return changes(n,t,a,s)},t._close=function(t){s.close(),cachedDBs.delete(a),t()},t._getRevisionTree=function(t,n){var i=openTransactionSafely(s,[DOC_STORE],"readonly");if(i.error)return n(i.error);i.txn.objectStore(DOC_STORE).get(t).onsuccess=function(t){var i=decodeMetadata(t.target.result);i?n(null,i.rev_tree):n(createError$1(MISSING_DOC))}},t._doCompaction=function(t,n,i){var a=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE,ATTACH_AND_SEQ_STORE],"readwrite");if(a.error)return i(a.error);var l=a.txn;l.objectStore(DOC_STORE).get(t).onsuccess=function(i){var a=decodeMetadata(i.target.result);traverseRevTree(a.rev_tree,(function(t,i,a,s,l){var c=i+"-"+a;-1!==n.indexOf(c)&&(l.status="missing")})),compactRevs(n,t,l);var s=a.winningRev,c=a.deleted;l.objectStore(DOC_STORE).put(encodeMetadata(a,s,c))},l.onabort=idbError(i),l.oncomplete=function(){i()}},t._getLocal=function(t,n){var i=openTransactionSafely(s,[LOCAL_STORE],"readonly");if(i.error)return n(i.error);var a=i.txn.objectStore(LOCAL_STORE).get(t);a.onerror=idbError(n),a.onsuccess=function(t){var i=t.target.result;i?(delete i._doc_id_rev,n(null,i)):n(createError$1(MISSING_DOC))}},t._putLocal=function(t,n,i){"function"==typeof n&&(i=n,n={}),delete t._revisions;var a=t._rev,l=t._id;t._rev=a?"0-"+(parseInt(a.split("-")[1],10)+1):"0-1";var c,u=n.ctx;if(!u){var d=openTransactionSafely(s,[LOCAL_STORE],"readwrite");if(d.error)return i(d.error);(u=d.txn).onerror=idbError(i),u.oncomplete=function(){c&&i(null,c)}}var f,m=u.objectStore(LOCAL_STORE);a?(f=m.get(l)).onsuccess=function(s){var l=s.target.result;l&&l._rev===a?m.put(t).onsuccess=function(){c={ok:!0,id:t._id,rev:t._rev},n.ctx&&i(null,c)}:i(createError$1(REV_CONFLICT))}:((f=m.add(t)).onerror=function(t){i(createError$1(REV_CONFLICT)),t.preventDefault(),t.stopPropagation()},f.onsuccess=function(){c={ok:!0,id:t._id,rev:t._rev},n.ctx&&i(null,c)})},t._removeLocal=function(t,n,i){"function"==typeof n&&(i=n,n={});var a,l=n.ctx;if(!l){var c=openTransactionSafely(s,[LOCAL_STORE],"readwrite");if(c.error)return i(c.error);(l=c.txn).oncomplete=function(){a&&i(null,a)}}var u=t._id,d=l.objectStore(LOCAL_STORE),f=d.get(u);f.onerror=idbError(i),f.onsuccess=function(s){var l=s.target.result;l&&l._rev===t._rev?(d.delete(u),a={ok:!0,id:u,rev:"0-0"},n.ctx&&i(null,a)):i(createError$1(MISSING_DOC))}},t._destroy=function(t,n){changesHandler.removeAllListeners(a);var i=openReqList.get(a);i&&i.result&&(i.result.close(),cachedDBs.delete(a));var s=indexedDB.deleteDatabase(a);s.onsuccess=function(){openReqList.delete(a),hasLocalStorage()&&a in localStorage&&delete localStorage[a],n(null,{ok:!0})},s.onerror=idbError(n)};var g=cachedDBs.get(a);if(g)return s=g.idb,t._meta=g.global,nextTick$1((function(){i(null,t)}));var v=indexedDB.open(a,ADAPTER_VERSION);openReqList.set(a,v),v.onupgradeneeded=function(t){var n=t.target.result;if(t.oldVersion<1)return function(t){var n=t.createObjectStore(DOC_STORE,{keyPath:"id"});t.createObjectStore(BY_SEQ_STORE,{autoIncrement:!0}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0}),t.createObjectStore(ATTACH_STORE,{keyPath:"digest"}),t.createObjectStore(META_STORE,{keyPath:"id",autoIncrement:!1}),t.createObjectStore(DETECT_BLOB_SUPPORT_STORE),n.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),t.createObjectStore(LOCAL_STORE,{keyPath:"_id"});var i=t.createObjectStore(ATTACH_AND_SEQ_STORE,{autoIncrement:!0});i.createIndex("seq","seq"),i.createIndex("digestSeq","digestSeq",{unique:!0})}(n);var i=t.currentTarget.transaction;t.oldVersion<3&&function(t){t.createObjectStore(LOCAL_STORE,{keyPath:"_id"}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0})}(n),t.oldVersion<4&&function(t){var n=t.createObjectStore(ATTACH_AND_SEQ_STORE,{autoIncrement:!0});n.createIndex("seq","seq"),n.createIndex("digestSeq","digestSeq",{unique:!0})}(n);var a=[u,d,f,m],s=t.oldVersion;!function t(){var n=a[s-1];s++,n&&n(i,t)}()},v.onsuccess=function(n){(s=n.target.result).onversionchange=function(){s.close(),cachedDBs.delete(a)},s.onabort=function(t){guardedConsole$1("error","Database has a global failure",t.target.error),l=t.target.error,s.close(),cachedDBs.delete(a)};var c,u,d,f,m=s.transaction([META_STORE,DETECT_BLOB_SUPPORT_STORE,DOC_STORE],"readwrite"),g=!1;function v(){void 0!==d&&g&&(t._meta={name:a,instanceId:f,blobSupport:d},cachedDBs.set(a,{idb:s,global:t._meta}),i(null,t))}function b(){if(void 0!==u&&void 0!==c){var t=a+"_id";t in c?f=c[t]:c[t]=f=uuid(),c.docCount=u,m.objectStore(META_STORE).put(c)}}m.objectStore(META_STORE).get(META_STORE).onsuccess=function(t){c=t.target.result||{id:META_STORE},b()},countDocs(m,(function(t){u=t,b()})),blobSupportPromise||(blobSupportPromise=checkBlobSupport(m,DETECT_BLOB_SUPPORT_STORE,"key")),blobSupportPromise.then((function(t){d=t,v()})),m.oncomplete=function(){g=!0,v()},m.onabort=idbError(i)},v.onerror=function(t){var n=t.target.error&&t.target.error.message;n?-1!==n.indexOf("stored database is a higher version")&&(n=new Error('This DB was created with the newer "indexeddb" adapter, but you are trying to open it with the older "idb" adapter')):n="Failed to open indexedDB, are you in private browsing mode?",guardedConsole$1("error",n),i(createError$1(IDB_ERROR,n))}}function IDBPouch(t){t.adapter("idb",IdbPouch,!0)}function pool(t,n){return new Promise((function(i,a){var s,l=0,c=0,u=0,d=t.length;function f(){++u===d?s?a(s):i():v()}function m(){l--,f()}function g(t){l--,s=s||t,f()}function v(){for(;l<n&&c<d;)l++,t[c++]().then(m,g)}v()}))}IdbPouch.valid=function(){try{return"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(e){return!1}};const CHANGES_BATCH_SIZE$1=25,MAX_SIMULTANEOUS_REVS=50,CHANGES_TIMEOUT_BUFFER=5e3,DEFAULT_HEARTBEAT=1e4,supportsBulkGetMap={};function readAttachmentsAsBlobOrBuffer(t){const n=t.doc||t.ok,i=n&&n._attachments;i&&Object.keys(i).forEach((function(t){const n=i[t];n.data=b64ToBluffer$1(n.data,n.content_type)}))}function encodeDocId(t){return/^_design/.test(t)?"_design/"+encodeURIComponent(t.slice(8)):t.startsWith("_local/")?"_local/"+encodeURIComponent(t.slice(7)):encodeURIComponent(t)}function preprocessAttachments$1(t){return t._attachments&&Object.keys(t._attachments)?Promise.all(Object.keys(t._attachments).map((function(n){const i=t._attachments[n];if(i.data&&"string"!=typeof i.data)return new Promise((function(t){blobToBase64(i.data,t)})).then((function(t){i.data=t}))}))):Promise.resolve()}function hasUrlPrefix(t){if(!t.prefix)return!1;const n=parseUri(t.prefix).protocol;return"http"===n||"https"===n}function getHost(t,n){if(hasUrlPrefix(n)){const i=n.name.substr(n.prefix.length);t=n.prefix.replace(/\/?$/,"/")+encodeURIComponent(i)}const i=parseUri(t);(i.user||i.password)&&(i.auth={username:i.user,password:i.password});const a=i.path.replace(/(^\/|\/$)/g,"").split("/");return i.db=a.pop(),-1===i.db.indexOf("%")&&(i.db=encodeURIComponent(i.db)),i.path=a.join("/"),i}function genDBUrl(t,n){return genUrl(t,t.db+"/"+n)}function genUrl(t,n){const i=t.path?"/":"";return t.protocol+"://"+t.host+(t.port?":"+t.port:"")+"/"+t.path+i+n}function paramsToStr(t){const n=Object.keys(t);return 0===n.length?"":"?"+n.map((n=>n+"="+encodeURIComponent(t[n]))).join("&")}function shouldCacheBust(t){const n="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",i=-1!==n.indexOf("msie"),a=-1!==n.indexOf("trident"),s=-1!==n.indexOf("edge"),l=!("method"in t)||"GET"===t.method;return(i||a||s)&&l}function HttpPouch(t,n){const i=this,a=getHost(t.name,t),s=genDBUrl(a,"");t=clone$7(t);const l=async function(n,i){if((i=i||{}).headers=i.headers||new h$1,i.credentials="include",t.auth||a.auth){const n=t.auth||a.auth,s=n.username+":"+n.password,l=thisBtoa(unescape(encodeURIComponent(s)));i.headers.set("Authorization","Basic "+l)}const s=t.headers||{};Object.keys(s).forEach((function(t){i.headers.append(t,s[t])})),shouldCacheBust(i)&&(n+=(-1===n.indexOf("?")?"?":"&")+"_nonce="+Date.now());const l=t.fetch||f$1;return await l(n,i)};function c(t,n){return adapterFun(t,(function(...t){f().then((function(){return n.apply(this,t)})).catch((function(n){t.pop()(n)}))})).bind(i)}async function u(t,n){const i={};(n=n||{}).headers=n.headers||new h$1,n.headers.get("Content-Type")||n.headers.set("Content-Type","application/json"),n.headers.get("Accept")||n.headers.set("Accept","application/json");const a=await l(t,n);i.ok=a.ok,i.status=a.status;const s=await a.json();if(i.data=s,!i.ok){i.data.status=i.status;throw generateErrorFromResponse$1(i.data)}return Array.isArray(i.data)&&(i.data=i.data.map((function(t){return t.error||t.missing?generateErrorFromResponse$1(t):t}))),i}let d;async function f(){return t.skip_setup?Promise.resolve():d||(d=u(s).catch((function(t){return t&&t.status&&404===t.status?(explainError(404,"PouchDB is just detecting if the remote exists."),u(s,{method:"PUT"})):Promise.reject(t)})).catch((function(t){return!(!t||!t.status||412!==t.status)||Promise.reject(t)})),d.catch((function(){d=null})),d)}function m(t){return t.split("/").map(encodeURIComponent).join("/")}nextTick$1((function(){n(null,i)})),i._remote=!0,i.type=function(){return"http"},i.id=c("id",(async function(t){let n;try{const t=await l(genUrl(a,""));n=await t.json()}catch(i){n={}}t(null,n&&n.uuid?n.uuid+a.db:genDBUrl(a,""))})),i.compact=c("compact",(async function(t,n){"function"==typeof t&&(n=t,t={}),t=clone$7(t),await u(genDBUrl(a,"_compact"),{method:"POST"}),function a(){i.info((function(i,s){s&&!s.compact_running?n(null,{ok:!0}):setTimeout(a,t.interval||200)}))}()})),i.bulkGet=adapterFun("bulkGet",(function(t,n){const i=this;async function s(n){const i={};t.revs&&(i.revs=!0),t.attachments&&(i.attachments=!0),t.latest&&(i.latest=!0);try{const s=await u(genDBUrl(a,"_bulk_get"+paramsToStr(i)),{method:"POST",body:JSON.stringify({docs:t.docs})});t.attachments&&t.binary&&s.data.results.forEach((function(t){t.docs.forEach(readAttachmentsAsBlobOrBuffer)})),n(null,s.data)}catch(s){n(s)}}function l(){const a=MAX_SIMULTANEOUS_REVS,s=Math.ceil(t.docs.length/a);let l=0;const c=new Array(s);function u(t){return function(i,a){c[t]=a.results,++l===s&&n(null,{results:c.flat()})}}for(let n=0;n<s;n++){const s=pick$1(t,["revs","attachments","binary","latest"]);s.docs=t.docs.slice(n*a,Math.min(t.docs.length,(n+1)*a)),bulkGet(i,s,u(n))}}const c=genUrl(a,""),d=supportsBulkGetMap[c];"boolean"!=typeof d?s((function(t,i){t?(supportsBulkGetMap[c]=!1,explainError(t.status,"PouchDB is just detecting if the remote supports the _bulk_get API."),l()):(supportsBulkGetMap[c]=!0,n(null,i))})):d?s(n):l()})),i._info=async function(t){try{await f();const n=await l(genDBUrl(a,"")),i=await n.json();i.host=genDBUrl(a,""),t(null,i)}catch(n){t(n)}},i.fetch=async function(t,n){await f();const i="/"===t.substring(0,1)?genUrl(a,t.substring(1)):genDBUrl(a,t);return l(i,n)},i.get=c("get",(async function(t,n,i){"function"==typeof n&&(i=n,n={});const s={};function c(t){const i=t._attachments,s=i&&Object.keys(i);if(!i||!s.length)return;return pool(s.map((function(s){return function(){return async function(s){const c=i[s],u=encodeDocId(t._id)+"/"+m(s)+"?rev="+t._rev,d=await l(genDBUrl(a,u));let f,g;if(f="buffer"in d?await d.buffer():await d.blob(),n.binary){const t=Object.getOwnPropertyDescriptor(f.__proto__,"type");t&&!t.set||(f.type=c.content_type),g=f}else g=await new Promise((function(t){blobToBase64(f,t)}));delete c.stub,delete c.length,c.data=g}(s)}})),5)}(n=clone$7(n)).revs&&(s.revs=!0),n.revs_info&&(s.revs_info=!0),n.latest&&(s.latest=!0),n.open_revs&&("all"!==n.open_revs&&(n.open_revs=JSON.stringify(n.open_revs)),s.open_revs=n.open_revs),n.rev&&(s.rev=n.rev),n.conflicts&&(s.conflicts=n.conflicts),n.update_seq&&(s.update_seq=n.update_seq),t=encodeDocId(t);const d=genDBUrl(a,t+paramsToStr(s));try{const t=await u(d);n.attachments&&await(f=t.data,Array.isArray(f)?Promise.all(f.map((function(t){if(t.ok)return c(t.ok)}))):c(f)),i(null,t.data)}catch(g){g.docId=t,i(g)}var f})),i.remove=c("remove",(async function(t,n,i,s){let l;"string"==typeof n?(l={_id:t,_rev:n},"function"==typeof i&&(s=i,i={})):(l=t,"function"==typeof n?(s=n,i={}):(s=i,i=n));const c=l._rev||i.rev,d=genDBUrl(a,encodeDocId(l._id))+"?rev="+c;try{s(null,(await u(d,{method:"DELETE"})).data)}catch(f){s(f)}})),i.getAttachment=c("getAttachment",(async function(t,n,i,s){"function"==typeof i&&(s=i,i={});const c=i.rev?"?rev="+i.rev:"",u=genDBUrl(a,encodeDocId(t))+"/"+m(n)+c;let d;try{const t=await l(u,{method:"GET"});if(!t.ok)throw t;let n;d=t.headers.get("content-type"),n=await t.blob(),s(null,n)}catch(f){s(f)}})),i.removeAttachment=c("removeAttachment",(async function(t,n,i,s){const l=genDBUrl(a,encodeDocId(t)+"/"+m(n))+"?rev="+i;try{s(null,(await u(l,{method:"DELETE"})).data)}catch(c){s(c)}})),i.putAttachment=c("putAttachment",(async function(t,n,i,s,l,c){"function"==typeof l&&(c=l,l=s,s=i,i=null);const d=encodeDocId(t)+"/"+m(n);let f=genDBUrl(a,d);if(i&&(f+="?rev="+i),"string"==typeof s){let t;try{t=thisAtob$1(s)}catch(g){return c(createError$1(BAD_ARG,"Attachment is not a valid base64 string"))}s=t?binStringToBluffer$1(t,l):""}try{c(null,(await u(f,{headers:new h$1({"Content-Type":l}),method:"PUT",body:s})).data)}catch(v){c(v)}})),i._bulkDocs=async function(t,n,i){t.new_edits=n.new_edits;try{await f(),await Promise.all(t.docs.map(preprocessAttachments$1));i(null,(await u(genDBUrl(a,"_bulk_docs"),{method:"POST",body:JSON.stringify(t)})).data)}catch(s){i(s)}},i._put=async function(t,n,i){try{await f(),await preprocessAttachments$1(t);i(null,(await u(genDBUrl(a,encodeDocId(t._id)),{method:"PUT",body:JSON.stringify(t)})).data)}catch(s){s.docId=t&&t._id,i(s)}},i.allDocs=c("allDocs",(async function(t,n){"function"==typeof t&&(n=t,t={});const i={};let s,l="GET";(t=clone$7(t)).conflicts&&(i.conflicts=!0),t.update_seq&&(i.update_seq=!0),t.descending&&(i.descending=!0),t.include_docs&&(i.include_docs=!0),t.attachments&&(i.attachments=!0),t.key&&(i.key=JSON.stringify(t.key)),t.start_key&&(t.startkey=t.start_key),t.startkey&&(i.startkey=JSON.stringify(t.startkey)),t.end_key&&(t.endkey=t.end_key),t.endkey&&(i.endkey=JSON.stringify(t.endkey)),void 0!==t.inclusive_end&&(i.inclusive_end=!!t.inclusive_end),void 0!==t.limit&&(i.limit=t.limit),void 0!==t.skip&&(i.skip=t.skip);const c=paramsToStr(i);void 0!==t.keys&&(l="POST",s={keys:t.keys});try{const i=await u(genDBUrl(a,"_all_docs"+c),{method:l,body:JSON.stringify(s)});t.include_docs&&t.attachments&&t.binary&&i.data.rows.forEach(readAttachmentsAsBlobOrBuffer),n(null,i.data)}catch(d){n(d)}})),i._changes=function(t){const n="batch_size"in t?t.batch_size:CHANGES_BATCH_SIZE$1;(t=clone$7(t)).continuous&&!("heartbeat"in t)&&(t.heartbeat=DEFAULT_HEARTBEAT);let i="timeout"in t?t.timeout:3e4;"timeout"in t&&t.timeout&&i-t.timeout<CHANGES_TIMEOUT_BUFFER&&(i=t.timeout+CHANGES_TIMEOUT_BUFFER),"heartbeat"in t&&t.heartbeat&&i-t.heartbeat<CHANGES_TIMEOUT_BUFFER&&(i=t.heartbeat+CHANGES_TIMEOUT_BUFFER);const s={};"timeout"in t&&t.timeout&&(s.timeout=t.timeout);const l=void 0!==t.limit&&t.limit;let c=l;if(t.style&&(s.style=t.style),(t.include_docs||t.filter&&"function"==typeof t.filter)&&(s.include_docs=!0),t.attachments&&(s.attachments=!0),t.continuous&&(s.feed="longpoll"),t.seq_interval&&(s.seq_interval=t.seq_interval),t.conflicts&&(s.conflicts=!0),t.descending&&(s.descending=!0),t.update_seq&&(s.update_seq=!0),"heartbeat"in t&&t.heartbeat&&(s.heartbeat=t.heartbeat),t.filter&&"string"==typeof t.filter&&(s.filter=t.filter),t.view&&"string"==typeof t.view&&(s.filter="_view",s.view=t.view),t.query_params&&"object"==typeof t.query_params)for(const a in t.query_params)Object.prototype.hasOwnProperty.call(t.query_params,a)&&(s[a]=t.query_params[a]);let d,m="GET";t.doc_ids?(s.filter="_doc_ids",m="POST",d={doc_ids:t.doc_ids}):t.selector&&(s.filter="_selector",m="POST",d={selector:t.selector});const g=new AbortController;let v;const b=async function(i,b){if(t.aborted)return;s.since=i,"object"==typeof s.since&&(s.since=JSON.stringify(s.since)),t.descending?l&&(s.limit=c):s.limit=!l||c>n?n:c;const w=genDBUrl(a,"_changes"+paramsToStr(s)),k={signal:g.signal,method:m,body:JSON.stringify(d)};if(v=i,!t.aborted)try{await f();b(null,(await u(w,k)).data)}catch(S){b(S)}},w={results:[]},k=function(i,a){if(t.aborted)return;let s=0;if(a&&a.results){s=a.results.length,w.last_seq=a.last_seq;let n=null,i=null;"number"==typeof a.pending&&(n=a.pending),"string"!=typeof w.last_seq&&"number"!=typeof w.last_seq||(i=w.last_seq),t.query_params,a.results=a.results.filter((function(a){c--;const s=filterChange(t)(a);return s&&(t.include_docs&&t.attachments&&t.binary&&readAttachmentsAsBlobOrBuffer(a),t.return_docs&&w.results.push(a),t.onChange(a,n,i)),s}))}else if(i)return t.aborted=!0,void t.complete(i);a&&a.last_seq&&(v=a.last_seq);const u=l&&c<=0||a&&s<n||t.descending;(!t.continuous||l&&c<=0)&&u?t.complete(null,w):nextTick$1((function(){b(v,k)}))};return b(t.since||0,k),{cancel:function(){t.aborted=!0,g.abort()}}},i.revsDiff=c("revsDiff",(async function(t,n,i){"function"==typeof n&&(i=n,n={});try{i(null,(await u(genDBUrl(a,"_revs_diff"),{method:"POST",body:JSON.stringify(t)})).data)}catch(s){i(s)}})),i._close=function(t){t()},i._destroy=async function(t,n){try{n(null,await u(genDBUrl(a,""),{method:"DELETE"}))}catch(i){404===i.status?n(null,{ok:!0}):n(i)}}}function HttpPouch$1(t){t.adapter("http",HttpPouch,!1),t.adapter("https",HttpPouch,!1)}HttpPouch.valid=function(){return!0};let QueryParseError$1=class QueryParseError2 extends Error{constructor(t){super(),this.status=400,this.name="query_parse_error",this.message=t,this.error=!0;try{Error.captureStackTrace(this,QueryParseError2)}catch(e){}}},NotFoundError$1=class NotFoundError2 extends Error{constructor(t){super(),this.status=404,this.name="not_found",this.message=t,this.error=!0;try{Error.captureStackTrace(this,NotFoundError2)}catch(e){}}},BuiltInError$1=class BuiltInError2 extends Error{constructor(t){super(),this.status=500,this.name="invalid_value",this.message=t,this.error=!0;try{Error.captureStackTrace(this,BuiltInError2)}catch(e){}}};function promisedCallback$1(t,n){return n&&t.then((function(t){nextTick$1((function(){n(null,t)}))}),(function(t){nextTick$1((function(){n(t)}))})),t}function callbackify$1(t){return function(...n){var i=n.pop(),a=t.apply(this,n);return"function"==typeof i&&promisedCallback$1(a,i),a}}function fin$1(t,n){return t.then((function(t){return n().then((function(){return t}))}),(function(t){return n().then((function(){throw t}))}))}function sequentialize$1(t,n){return function(){var i=arguments,a=this;return t.add((function(){return n.apply(a,i)}))}}function uniq$2(t){var n=new Set(t),i=new Array(n.size),a=-1;return n.forEach((function(t){i[++a]=t})),i}function mapToKeysArray$1(t){var n=new Array(t.size),i=-1;return t.forEach((function(t,a){n[++i]=a})),n}function createBuiltInError(t){return new BuiltInError$1("builtin "+t+" function requires map values to be numbers or number arrays")}function sum(t){for(var n=0,i=0,a=t.length;i<a;i++){var s=t[i];if("number"!=typeof s){if(!Array.isArray(s))throw createBuiltInError("_sum");n="number"==typeof n?[n]:n;for(var l=0,c=s.length;l<c;l++){var u=s[l];if("number"!=typeof u)throw createBuiltInError("_sum");void 0===n[l]?n.push(u):n[l]+=u}}else"number"==typeof n?n+=s:n[0]+=s}return n}var log=guardedConsole$1.bind(null,"log"),isArray$5=Array.isArray,toJSON$4=JSON.parse;function evalFunctionWithEval(t,n){return scopeEval("return ("+t.replace(/;\s*$/,"")+");",{emit:n,sum:sum,log:log,isArray:isArray$5,toJSON:toJSON$4})}let TaskQueue$1$1=class TaskQueue$1{constructor(){this.promise=Promise.resolve()}add(t){return this.promise=this.promise.catch((()=>{})).then((()=>t())),this.promise}finish(){return this.promise}};function stringify$1(t){if(!t)return"undefined";switch(typeof t){case"function":case"string":return t.toString();default:return JSON.stringify(t)}}function createViewSignature$1(t,n){return stringify$1(t)+stringify$1(n)+"undefined"}async function createView$1(t,n,i,a,s,l){const c=createViewSignature$1(i,a);let u;if(!s&&(u=t._cachedViews=t._cachedViews||{},u[c]))return u[c];const d=t.info().then((async function(d){const f=d.db_name+"-mrview-"+(s?"temp":stringMd5$1(c));await upsert$1(t,"_local/"+l,(function(t){t.views=t.views||{};let i=n;-1===i.indexOf("/")&&(i=n+"/"+n);const a=t.views[i]=t.views[i]||{};if(!a[f])return a[f]=!0,t}));const m=(await t.registerDependentDatabase(f)).db;m.auto_compaction=!0;const g={name:f,db:m,sourceDB:t,adapter:t.adapter,mapFun:i,reduceFun:a};let v;try{v=await g.db.get("_local/lastSeq")}catch(b){if(404!==b.status)throw b}return g.seq=v?v.seq:0,u&&g.db.once("destroyed",(function(){delete u[c]})),g}));return u&&(u[c]=d),d}const persistentQueues$1={},tempViewQueue$1=new TaskQueue$1$1,CHANGES_BATCH_SIZE$1$1=50;function parseViewName$1(t){return-1===t.indexOf("/")?[t,t]:t.split("/")}function isGenOne$1(t){return 1===t.length&&/^1-/.test(t[0].rev)}function emitError$2(t,n,i){try{t.emit("error",n)}catch(a){guardedConsole$1("error","The user's map/reduce function threw an uncaught error.\nYou can debug this error by doing:\nmyDatabase.on('error', function (err) { debugger; });\nPlease double-check your map/reduce function."),guardedConsole$1("error",n,i)}}function createAbstractMapReduce$1(t,n,i,a){function s(t,n,i){try{n(i)}catch(e){emitError$2(t,e,{fun:n,doc:i})}}function l(t,n,i,a,s){try{return{output:n(i,a,s)}}catch(e){return emitError$2(t,e,{fun:n,keys:i,values:a,rereduce:s}),{error:e}}}function c(t,n){const i=collate$1(t.key,n.key);return 0!==i?i:collate$1(t.value,n.value)}function u(t,n,i){return i=i||0,"number"==typeof n?t.slice(i,n+i):i>0?t.slice(i):t}function d(t){const n=t.value;return n&&"object"==typeof n&&n._id||t.id}function f(t){return function(n){return t.include_docs&&t.attachments&&t.binary&&function(t){for(const n of t.rows){const t=n.doc&&n.doc._attachments;if(t)for(const n of Object.keys(t)){const i=t[n];t[n].data=b64ToBluffer$1(i.data,i.content_type)}}}(n),n}}function m(t,n,i,a){let s=n[t];void 0!==s&&(a&&(s=encodeURIComponent(JSON.stringify(s))),i.push(t+"="+s))}function g(t){if(void 0!==t){const n=Number(t);return isNaN(n)||n!==parseInt(t,10)?t:n}}function v(t){if(t){if("number"!=typeof t)return new QueryParseError$1(`Invalid value for integer: "${t}"`);if(t<0)return new QueryParseError$1(`Invalid value for positive integer: "${t}"`)}}function b(t,n){const i=t.descending?"endkey":"startkey",a=t.descending?"startkey":"endkey";if(void 0!==t[i]&&void 0!==t[a]&&collate$1(t[i],t[a])>0)throw new QueryParseError$1("No rows can match your key range, reverse your start_key and end_key or set {descending : true}");if(n.reduce&&!1!==t.reduce){if(t.include_docs)throw new QueryParseError$1("{include_docs:true} is invalid for reduce");if(t.keys&&t.keys.length>1&&!t.group&&!t.group_level)throw new QueryParseError$1("Multi-key fetches for reduce views must use {group: true}")}for(const s of["group_level","limit","skip"]){const n=v(t[s]);if(n)throw n}}function w(t){return function(n){if(404===n.status)return t;throw n}}function k(t,n,i){var a="_local/lastSeq";return t.db.get(a).catch(w({_id:a,seq:0})).then((function(a){var s=mapToKeysArray$1(n);return Promise.all(s.map((function(i){return async function(t,n,i){const a="_local/doc_"+t,s={_id:a,keys:[]},l=i.get(t),c=l[0],u=l[1],d=await(isGenOne$1(u)?Promise.resolve(s):n.db.get(a).catch(w(s)));var f;return function(t,n){const i=[],a=new Set;for(const l of n.rows){const t=l.doc;if(t&&(i.push(t),a.add(t._id),t._deleted=!c.has(t._id),!t._deleted)){const n=c.get(t._id);"value"in n&&(t.value=n.value)}}const s=mapToKeysArray$1(c);for(const l of s)if(!a.has(l)){const t={_id:l},n=c.get(l);"value"in n&&(t.value=n.value),i.push(t)}return t.keys=uniq$2(s.concat(t.keys)),i.push(t),i}(d,await(f=d,f.keys.length?n.db.allDocs({keys:f.keys,include_docs:!0}):Promise.resolve({rows:[]})))}(i,t,n)}))).then((function(n){var s=n.flat();return a.seq=i,s.push(a),t.db.bulkDocs({docs:s})})).then((()=>function(t){return t.sourceDB.get("_local/purges").then((function(n){const i=n.purgeSeq;return t.db.get("_local/purgeSeq").then((function(t){return t._rev})).catch(w(void 0)).then((function(n){return t.db.put({_id:"_local/purgeSeq",_rev:n,purgeSeq:i})}))})).catch((function(t){if(404!==t.status)throw t}))}(t)))}))}function S(t){const n="string"==typeof t?t:t.name;let i=persistentQueues$1[n];return i||(i=persistentQueues$1[n]=new TaskQueue$1$1),i}async function C(t,i){return sequentialize$1(S(t),(function(){return async function(t,i){let a,l,u;function d(t,n){const i={id:l._id,key:normalizeKey$1(t)};null!=n&&(i.value=normalizeKey$1(n)),a.push(i)}const f=n(t.mapFun,d);let m=t.seq||0;function g(){return t.sourceDB.info().then((function(n){u=t.sourceDB.activeTasks.add({name:"view_indexing",total_items:n.update_seq-m})}))}function v(n,i){return function(){return k(t,n,i)}}let b=0;const S={view:t.name,indexed_docs:b};t.sourceDB.emit("indexing",S);const C=new TaskQueue$1$1;async function E(){return P(await t.sourceDB.changes({return_docs:!0,conflicts:!0,include_docs:!0,style:"all_docs",since:m,limit:i.changes_batch_size}),await T())}function T(){return t.db.get("_local/purgeSeq").then((function(t){return t.purgeSeq})).catch(w(-1)).then((function(n){return t.sourceDB.get("_local/purges").then((function(i){const a=i.purges.filter((function(t,i){return i>n})).map((t=>t.docId)),s=a.filter((function(t,n){return a.indexOf(t)===n}));return Promise.all(s.map((function(n){return t.sourceDB.get(n).then((function(t){return{docId:n,doc:t}})).catch(w({docId:n}))})))})).catch(w([]))}))}function P(n,a){const s=n.results;if(!s.length&&!a.length)return;for(const t of a){if(s.findIndex((function(n){return n.id===t.docId}))<0){const n={_id:t.docId,doc:{_id:t.docId,_deleted:1},changes:[]};t.doc&&(n.doc=t.doc,n.changes.push({rev:t.doc._rev})),s.push(n)}}const l=I(s);C.add(v(l,m)),b+=s.length;const c={view:t.name,last_seq:n.last_seq,results_count:s.length,indexed_docs:b};return t.sourceDB.emit("indexing",c),t.sourceDB.activeTasks.update(u,{completed_items:b}),s.length<i.changes_batch_size?void 0:E()}function I(n){const i=new Map;for(const u of n){if("_"!==u.doc._id[0]){a=[],l=u.doc,l._deleted||s(t.sourceDB,f,l),a.sort(c);const n=A(a);i.set(u.doc._id,[n,u.changes])}m=u.seq}return i}function A(t){const n=new Map;let i;for(let a=0,s=t.length;a<s;a++){const s=t[a],l=[s.key,s.id];a>0&&0===collate$1(s.key,i)&&l.push(a),n.set(toIndexableString$1(l),s),i=s.key}return n}try{await g(),await E(),await C.finish(),t.seq=m,t.sourceDB.activeTasks.remove(u)}catch(D){t.sourceDB.activeTasks.remove(u,D)}}(t,i)}))()}function E(t,n){return sequentialize$1(S(t),(function(){return async function(t,n){let a;const s=t.reduceFun&&!1!==n.reduce,c=n.skip||0;void 0===n.keys||n.keys.length||(n.limit=0,delete n.keys);async function f(n){n.include_docs=!0;const i=await t.db.allDocs(n);return a=i.total_rows,i.rows.map((function(t){if("value"in t.doc&&"object"==typeof t.doc.value&&null!==t.doc.value){const n=Object.keys(t.doc.value).sort(),i=["id","key","value"];if(!(n<i||n>i))return t.doc.value}const n=parseIndexableString$1(t.doc._id);return{key:n[0],id:n[1],value:"value"in t.doc?t.doc.value:null}}))}async function m(f){let m;if(m=s?function(t,n,a){0===a.group_level&&delete a.group_level;const s=a.group||a.group_level,c=i(t.reduceFun),d=[],f=isNaN(a.group_level)?Number.POSITIVE_INFINITY:a.group_level;for(const i of n){const t=d[d.length-1];let n=s?i.key:null;s&&Array.isArray(n)&&(n=n.slice(0,f)),t&&0===collate$1(t.groupKey,n)?(t.keys.push([i.key,i.id]),t.values.push(i.value)):d.push({keys:[[i.key,i.id]],values:[i.value],groupKey:n})}n=[];for(const i of d){const a=l(t.sourceDB,c,i.keys,i.values,!1);if(a.error&&a.error instanceof BuiltInError$1)throw a.error;n.push({value:a.error?null:a.output,key:i.groupKey})}return{rows:u(n,a.limit,a.skip)}}(t,f,n):void 0===n.keys?{total_rows:a,offset:c,rows:f}:{total_rows:a,offset:c,rows:u(f,n.limit,n.skip)},n.update_seq&&(m.update_seq=t.seq),n.include_docs){const i=uniq$2(f.map(d)),a=await t.sourceDB.allDocs({keys:i,include_docs:!0,conflicts:n.conflicts,attachments:n.attachments,binary:n.binary}),s=new Map;for(const t of a.rows)s.set(t.id,t.doc);for(const t of f){const n=d(t),i=s.get(n);i&&(t.doc=i)}}return m}if(void 0!==n.keys){const t=n.keys.map((function(t){const i={startkey:toIndexableString$1([t]),endkey:toIndexableString$1([t,{}])};return n.update_seq&&(i.update_seq=!0),f(i)}));return m((await Promise.all(t)).flat())}{const t={descending:n.descending};let i,a;if(n.update_seq&&(t.update_seq=!0),"start_key"in n&&(i=n.start_key),"startkey"in n&&(i=n.startkey),"end_key"in n&&(a=n.end_key),"endkey"in n&&(a=n.endkey),void 0!==i&&(t.startkey=n.descending?toIndexableString$1([i,{}]):toIndexableString$1([i])),void 0!==a){let i=!1!==n.inclusive_end;n.descending&&(i=!i),t.endkey=toIndexableString$1(i?[a,{}]:[a])}if(void 0!==n.key){const i=toIndexableString$1([n.key]),a=toIndexableString$1([n.key,{}]);t.descending?(t.endkey=i,t.startkey=a):(t.startkey=i,t.endkey=a)}s||("number"==typeof n.limit&&(t.limit=n.limit),t.skip=c);return m(await f(t))}}(t,n)}))()}async function T(n,i,s){if("function"==typeof n._query)return function(t,n,i){return new Promise((function(a,s){t._query(n,i,(function(t,n){if(t)return s(t);a(n)}))}))}(n,i,s);if(isRemote$1(n))return async function(t,n,i){let a,s,l=[],c="GET";if(m("reduce",i,l),m("include_docs",i,l),m("attachments",i,l),m("limit",i,l),m("descending",i,l),m("group",i,l),m("group_level",i,l),m("skip",i,l),m("stale",i,l),m("conflicts",i,l),m("startkey",i,l,!0),m("start_key",i,l,!0),m("endkey",i,l,!0),m("end_key",i,l,!0),m("inclusive_end",i,l),m("key",i,l,!0),m("update_seq",i,l),l=l.join("&"),l=""===l?"":"?"+l,void 0!==i.keys){const t=2e3,s=`keys=${encodeURIComponent(JSON.stringify(i.keys))}`;s.length+l.length+1<=t?l+=("?"===l[0]?"&":"?")+s:(c="POST","string"==typeof n?a={keys:i.keys}:n.keys=i.keys)}if("string"==typeof n){const u=parseViewName$1(n),d=await t.fetch("_design/"+u[0]+"/_view/"+u[1]+l,{headers:new h$1({"Content-Type":"application/json"}),method:c,body:JSON.stringify(a)});s=d.ok;const m=await d.json();if(!s)throw m.status=d.status,generateErrorFromResponse$1(m);for(const t of m.rows)if(t.value&&t.value.error&&"builtin_reduce_error"===t.value.error)throw new Error(t.reason);return new Promise((function(t){t(m)})).then(f(i))}a=a||{};for(const f of Object.keys(n))Array.isArray(n[f])?a[f]=n[f]:a[f]=n[f].toString();const u=await t.fetch("_temp_view"+l,{headers:new h$1({"Content-Type":"application/json"}),method:"POST",body:JSON.stringify(a)});s=u.ok;const d=await u.json();if(!s)throw d.status=u.status,generateErrorFromResponse$1(d);return new Promise((function(t){t(d)})).then(f(i))}(n,i,s);const l={changes_batch_size:n.__opts.view_update_changes_batch_size||CHANGES_BATCH_SIZE$1$1};if("string"!=typeof i)return b(s,i),tempViewQueue$1.add((async function(){const a=await createView$1(n,"temp_view/temp_view",i.map,i.reduce,!0,t);return fin$1(C(a,l).then((function(){return E(a,s)})),(function(){return a.db.destroy()}))})),tempViewQueue$1.finish();{const c=i,u=parseViewName$1(c),d=u[0],f=u[1],m=await n.get("_design/"+d);if(!(i=m.views&&m.views[f]))throw new NotFoundError$1(`ddoc ${m._id} has no view named ${f}`);a(m,f),b(s,i);const g=await createView$1(n,c,i.map,i.reduce,!1,t);return"ok"===s.stale||"update_after"===s.stale?("update_after"===s.stale&&nextTick$1((function(){C(g,l)})),E(g,s)):(await C(g,l),E(g,s))}}return{query:function(t,n,i){const a=this;"function"==typeof n&&(i=n,n={}),n=n?function(t){return t.group_level=g(t.group_level),t.limit=g(t.limit),t.skip=g(t.skip),t}(n):{},"function"==typeof t&&(t={map:t});const s=Promise.resolve().then((function(){return T(a,t,n)}));return promisedCallback$1(s,i),s},viewCleanup:callbackify$1((function(){const n=this;return"function"==typeof n._viewCleanup?function(t){return new Promise((function(n,i){t._viewCleanup((function(t,a){if(t)return i(t);n(a)}))}))}(n):isRemote$1(n)?async function(t){return(await t.fetch("_view_cleanup",{headers:new h$1({"Content-Type":"application/json"}),method:"POST"})).json()}(n):async function(n){try{const i=await n.get("_local/"+t),a=new Map;for(const t of Object.keys(i.views)){const n=parseViewName$1(t),i="_design/"+n[0],s=n[1];let l=a.get(i);l||(l=new Set,a.set(i,l)),l.add(s)}const s={keys:mapToKeysArray$1(a),include_docs:!0},l=await n.allDocs(s),c={};for(const t of l.rows){const n=t.key.substring(8);for(const s of a.get(t.key)){let a=n+"/"+s;i.views[a]||(a=s);const l=Object.keys(i.views[a]),u=t.doc&&t.doc.views&&t.doc.views[s];for(const t of l)c[t]=c[t]||u}}const u=Object.keys(c).filter((function(t){return!c[t]})).map((function(t){return sequentialize$1(S(t),(function(){return new n.constructor(t,n.__opts).destroy()}))()}));return Promise.all(u).then((function(){return{ok:!0}}))}catch(i){if(404===i.status)return{ok:!0};throw i}}(n)}))}}var builtInReduce={_sum:function(t,n){return sum(n)},_count:function(t,n){return n.length},_stats:function(t,n){return{sum:sum(n),min:Math.min.apply(null,n),max:Math.max.apply(null,n),count:n.length,sumsqr:function(t){for(var n=0,i=0,a=t.length;i<a;i++){var s=t[i];n+=s*s}return n}(n)}}};function getBuiltIn(t){if(/^_sum/.test(t))return builtInReduce._sum;if(/^_count/.test(t))return builtInReduce._count;if(/^_stats/.test(t))return builtInReduce._stats;if(/^_/.test(t))throw new Error(t+" is not a supported reduce function.")}function mapper$1(t,n){if("function"==typeof t&&2===t.length){var i=t;return function(t){return i(t,n)}}return evalFunctionWithEval(t.toString(),n)}function reducer$1(t){var n=t.toString(),i=getBuiltIn(n);return i||evalFunctionWithEval(n)}function ddocValidator$1(t,n){var i=t.views&&t.views[n];if("string"!=typeof i.map)throw new NotFoundError$1("ddoc "+t._id+" has no string view named "+n+", instead found object of type: "+typeof i.map)}var localDocName="mrviews",abstract=createAbstractMapReduce$1(localDocName,mapper$1,reducer$1,ddocValidator$1);function query(t,n,i){return abstract.query.call(this,t,n,i)}function viewCleanup(t){return abstract.viewCleanup.call(this,t)}var mapreduce={query:query,viewCleanup:viewCleanup};function fileHasChanged(t,n,i){return!t._attachments||!t._attachments[i]||t._attachments[i].digest!==n._attachments[i].digest}function getDocAttachments(t,n){var i=Object.keys(n._attachments);return Promise.all(i.map((function(i){return t.getAttachment(n._id,i,{rev:n._rev})})))}function getDocAttachmentsFromTargetOrSource(t,n,i){var a=isRemote$1(n)&&!isRemote$1(t),s=Object.keys(i._attachments);return a?t.get(i._id).then((function(a){return Promise.all(s.map((function(s){return fileHasChanged(a,i,s)?n.getAttachment(i._id,s):t.getAttachment(a._id,s)})))})).catch((function(t){if(404!==t.status)throw t;return getDocAttachments(n,i)})):getDocAttachments(n,i)}function createBulkGetOpts(t){var n=[];return Object.keys(t).forEach((function(i){t[i].missing.forEach((function(t){n.push({id:i,rev:t})}))})),{docs:n,revs:!0,latest:!0}}function getDocs(t,n,i,a){i=clone$7(i);var s=[],l=!0;return Promise.resolve().then((function(){var c=createBulkGetOpts(i);if(c.docs.length)return t.bulkGet(c).then((function(i){if(a.cancelled)throw new Error("cancelled");return Promise.all(i.results.map((function(i){return Promise.all(i.docs.map((function(i){var a=i.ok;return i.error&&(l=!1),a&&a._attachments?getDocAttachmentsFromTargetOrSource(n,t,a).then((t=>{var n=Object.keys(a._attachments);return t.forEach((function(t,i){var s=a._attachments[n[i]];delete s.stub,delete s.length,s.data=t})),a})):a})))}))).then((function(t){s=s.concat(t.flat().filter(Boolean))}))}))})).then((function(){return{ok:l,docs:s}}))}var CHECKPOINT_VERSION=1,REPLICATOR="pouchdb",CHECKPOINT_HISTORY_SIZE=5,LOWEST_SEQ=0;function updateCheckpoint(t,n,i,a,s){return t.get(n).catch((function(i){if(404===i.status)return"http"!==t.adapter&&"https"!==t.adapter||explainError(404,"PouchDB is just checking if a remote checkpoint exists."),{session_id:a,_id:n,history:[],replicator:REPLICATOR,version:CHECKPOINT_VERSION};throw i})).then((function(l){if(!s.cancelled&&l.last_seq!==i)return l.history=(l.history||[]).filter((function(t){return t.session_id!==a})),l.history.unshift({last_seq:i,session_id:a}),l.history=l.history.slice(0,CHECKPOINT_HISTORY_SIZE),l.version=CHECKPOINT_VERSION,l.replicator=REPLICATOR,l.session_id=a,l.last_seq=i,t.put(l).catch((function(l){if(409===l.status)return updateCheckpoint(t,n,i,a,s);throw l}))}))}class CheckpointerInternal{constructor(t,n,i,a,s={writeSourceCheckpoint:!0,writeTargetCheckpoint:!0}){this.src=t,this.target=n,this.id=i,this.returnValue=a,this.opts=s,void 0===s.writeSourceCheckpoint&&(s.writeSourceCheckpoint=!0),void 0===s.writeTargetCheckpoint&&(s.writeTargetCheckpoint=!0)}writeCheckpoint(t,n){var i=this;return this.updateTarget(t,n).then((function(){return i.updateSource(t,n)}))}updateTarget(t,n){return this.opts.writeTargetCheckpoint?updateCheckpoint(this.target,this.id,t,n,this.returnValue):Promise.resolve(!0)}updateSource(t,n){if(this.opts.writeSourceCheckpoint){var i=this;return updateCheckpoint(this.src,this.id,t,n,this.returnValue).catch((function(t){if(isForbiddenError(t))return i.opts.writeSourceCheckpoint=!1,!0;throw t}))}return Promise.resolve(!0)}getCheckpoint(){var t=this;return t.opts.writeSourceCheckpoint||t.opts.writeTargetCheckpoint?t.opts&&t.opts.writeSourceCheckpoint&&!t.opts.writeTargetCheckpoint?t.src.get(t.id).then((function(t){return t.last_seq||LOWEST_SEQ})).catch((function(t){if(404!==t.status)throw t;return LOWEST_SEQ})):t.target.get(t.id).then((function(n){return t.opts&&t.opts.writeTargetCheckpoint&&!t.opts.writeSourceCheckpoint?n.last_seq||LOWEST_SEQ:t.src.get(t.id).then((function(t){return n.version!==t.version?LOWEST_SEQ:(i=n.version?n.version.toString():"undefined")in comparisons?comparisons[i](n,t):LOWEST_SEQ;var i}),(function(i){if(404===i.status&&n.last_seq)return t.src.put({_id:t.id,last_seq:LOWEST_SEQ}).then((function(){return LOWEST_SEQ}),(function(i){return isForbiddenError(i)?(t.opts.writeSourceCheckpoint=!1,n.last_seq):LOWEST_SEQ}));throw i}))})).catch((function(t){if(404!==t.status)throw t;return LOWEST_SEQ})):Promise.resolve(LOWEST_SEQ)}}var comparisons={undefined:function(t,n){return 0===collate$1(t.last_seq,n.last_seq)?n.last_seq:0},1:function(t,n){return compareReplicationLogs(n,t).last_seq}};function compareReplicationLogs(t,n){return t.session_id===n.session_id?{last_seq:t.last_seq,history:t.history}:compareReplicationHistory(t.history,n.history)}function compareReplicationHistory(t,n){var i=t[0],a=t.slice(1),s=n[0],l=n.slice(1);return i&&0!==n.length?hasSessionId(i.session_id,n)?{last_seq:i.last_seq,history:t}:hasSessionId(s.session_id,a)?{last_seq:s.last_seq,history:l}:compareReplicationHistory(a,l):{last_seq:LOWEST_SEQ,history:[]}}function hasSessionId(t,n){var i=n[0],a=n.slice(1);return!(!t||0===n.length)&&(t===i.session_id||hasSessionId(t,a))}function isForbiddenError(t){return"number"==typeof t.status&&4===Math.floor(t.status/100)}function Checkpointer(t,n,i,a,s){return this instanceof CheckpointerInternal?Checkpointer:new CheckpointerInternal(t,n,i,a,s)}var STARTING_BACK_OFF=0;function backOff(t,n,i,a){if(!1===t.retry)return n.emit("error",i),void n.removeAllListeners();if("function"!=typeof t.back_off_function&&(t.back_off_function=defaultBackOff),n.emit("requestError",i),"active"===n.state||"pending"===n.state){n.emit("paused",i),n.state="stopped";var s=function(){t.current_back_off=STARTING_BACK_OFF};n.once("paused",(function(){n.removeListener("active",s)})),n.once("active",s)}t.current_back_off=t.current_back_off||STARTING_BACK_OFF,t.current_back_off=t.back_off_function(t.current_back_off),setTimeout(a,t.current_back_off)}function sortObjectPropertiesByKey(t){return Object.keys(t).sort(collate$1).reduce((function(n,i){return n[i]=t[i],n}),{})}function generateReplicationId(t,n,i){var a=i.doc_ids?i.doc_ids.sort(collate$1):"",s=i.filter?i.filter.toString():"",l="",c="",u="";return i.selector&&(u=JSON.stringify(i.selector)),i.filter&&i.query_params&&(l=JSON.stringify(sortObjectPropertiesByKey(i.query_params))),i.filter&&"_view"===i.filter&&(c=i.view.toString()),Promise.all([t.id(),n.id()]).then((function(t){var n=t[0]+t[1]+s+c+l+a+u;return new Promise((function(t){binaryMd5(n,t)}))})).then((function(t){return"_local/"+(t=t.replace(/\//g,".").replace(/\+/g,"_"))}))}function replicate(t,n,i,a,s){var l,c,u,d,f=[],m={seq:0,changes:[],docs:[]},g=!1,v=!1,b=!1,w=0,k=0,S=i.continuous||i.live||!1,C=i.batch_size||100,E=i.batches_limit||10,T=i.style||"all_docs",P=!1,I=i.doc_ids,A=i.selector,D=[],O=uuid();s=s||{ok:!0,start_time:(new Date).toISOString(),docs_read:0,docs_written:0,doc_write_failures:0,errors:[]};var _e={};function be(){return u?Promise.resolve():generateReplicationId(t,n,i).then((function(s){c=s;var l={};l=!1===i.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!1}:"source"===i.checkpoint?{writeSourceCheckpoint:!0,writeTargetCheckpoint:!1}:"target"===i.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!0}:{writeSourceCheckpoint:!0,writeTargetCheckpoint:!0},u=new Checkpointer(t,n,c,a,l)}))}function we(){if(D=[],0!==l.docs.length){var t=l.docs,c={timeout:i.timeout};return n.bulkDocs({docs:t,new_edits:!1},c).then((function(n){if(a.cancelled)throw Ne(),new Error("cancelled");var i=Object.create(null);n.forEach((function(t){t.error&&(i[t.id]=t)}));var l=Object.keys(i).length;s.doc_write_failures+=l,s.docs_written+=t.length-l,t.forEach((function(t){var n=i[t._id];if(n){s.errors.push(n);var l=(n.name||"").toLowerCase();if("unauthorized"!==l&&"forbidden"!==l)throw n;a.emit("denied",clone$7(n))}else D.push(t)}))}),(function(n){throw s.doc_write_failures+=t.length,n}))}}function Se(){if(l.error)throw new Error("There was a problem getting docs.");s.last_seq=k=l.seq;var n=clone$7(s);return D.length&&(n.docs=D,"number"==typeof l.pending&&(n.pending=l.pending,delete l.pending),a.emit("change",n)),g=!0,t.info().then((function(n){var i=t.activeTasks.get(d);if(l&&i){var a=i.completed_items||0,s=parseInt(n.update_seq,10)-parseInt(w,10);t.activeTasks.update(d,{completed_items:a+l.changes.length,total_items:s})}})),u.writeCheckpoint(l.seq,O).then((function(){if(a.emit("checkpoint",{checkpoint:l.seq}),g=!1,a.cancelled)throw Ne(),new Error("cancelled");l=void 0,Me()})).catch((function(t){throw Oe(t),t}))}function $e(){return getDocs(t,n,l.diffs,a).then((function(t){l.error=!t.ok,t.docs.forEach((function(t){delete l.diffs[t._id],s.docs_read++,l.docs.push(t)}))}))}function xe(){var t;a.cancelled||l||(0!==f.length?(l=f.shift(),a.emit("checkpoint",{start_next_batch:l.seq}),(t={},l.changes.forEach((function(n){a.emit("checkpoint",{revs_diff:n}),"_user/"!==n.id&&(t[n.id]=n.changes.map((function(t){return t.rev})))})),n.revsDiff(t).then((function(t){if(a.cancelled)throw Ne(),new Error("cancelled");l.diffs=t}))).then($e).then(we).then(Se).then(xe).catch((function(t){Ee("batch processing terminated with error",t)}))):Ce(!0))}function Ce(t){0!==m.changes.length?(t||v||m.changes.length>=C)&&(f.push(m),m={seq:0,changes:[],docs:[]},"pending"!==a.state&&"stopped"!==a.state||(a.state="active",a.emit("active")),xe()):0!==f.length||l||((S&&_e.live||v)&&(a.state="pending",a.emit("paused")),v&&Ne())}function Ee(t,n){b||(n.message||(n.message=t),s.ok=!1,s.status="aborting",f=[],m={seq:0,changes:[],docs:[]},Ne(n))}function Ne(l){if(!(b||a.cancelled&&(s.status="cancelled",g)))if(s.status=s.status||"complete",s.end_time=(new Date).toISOString(),s.last_seq=k,b=!0,t.activeTasks.remove(d,l),l){(l=createError$1(l)).result=s;var c=(l.name||"").toLowerCase();"unauthorized"===c||"forbidden"===c?(a.emit("error",l),a.removeAllListeners()):backOff(i,a,l,(function(){replicate(t,n,i,a)}))}else a.emit("complete",s),a.removeAllListeners()}function Pe(n,s,l){if(a.cancelled)return Ne();if("number"==typeof s&&(m.pending=s),filterChange(i)(n))m.seq=n.seq||l,m.changes.push(n),a.emit("checkpoint",{pending_batch:m.seq}),nextTick$1((function(){Ce(0===f.length&&_e.live)}));else{var c=t.activeTasks.get(d);if(c){var u=c.completed_items||0;t.activeTasks.update(d,{completed_items:++u})}}}function Ie(t){if(P=!1,a.cancelled)return Ne();if(t.results.length>0)_e.since=t.results[t.results.length-1].seq,Me(),Ce(!0);else{var n=function(){S?(_e.live=!0,Me()):v=!0,Ce(!0)};l||0!==t.results.length?n():(g=!0,u.writeCheckpoint(t.last_seq,O).then((function(){if(g=!1,s.last_seq=k=t.last_seq,a.cancelled)throw Ne(),new Error("cancelled");n()})).catch(Oe))}}function Ae(t){if(P=!1,a.cancelled)return Ne();Ee("changes rejected",t)}function Me(){if(!P&&!v&&f.length<E){P=!0,a._changes&&(a.removeListener("cancel",a._abortChanges),a._changes.cancel()),a.once("cancel",s);var n=t.changes(_e).on("change",Pe);n.then(l,l),n.then(Ie).catch(Ae),i.retry&&(a._changes=n,a._abortChanges=s)}function s(){n.cancel()}function l(){a.removeListener("cancel",s)}}function Re(n){return t.info().then((function(a){var s=void 0===i.since?parseInt(a.update_seq,10)-parseInt(n,10):parseInt(a.update_seq,10);return d=t.activeTasks.add({name:`${S?"continuous ":""}replication from ${a.db_name}`,total_items:s}),n}))}function De(){be().then((function(){if(!a.cancelled)return u.getCheckpoint().then(Re).then((function(t){w=t,_e={since:k=t,limit:C,batch_size:C,style:T,doc_ids:I,selector:A,return_docs:!0},i.filter&&("string"!=typeof i.filter?_e.include_docs=!0:_e.filter=i.filter),"heartbeat"in i&&(_e.heartbeat=i.heartbeat),"timeout"in i&&(_e.timeout=i.timeout),i.query_params&&(_e.query_params=i.query_params),i.view&&(_e.view=i.view),Me()}));Ne()})).catch((function(t){Ee("getCheckpoint rejected with ",t)}))}function Oe(t){g=!1,Ee("writeCheckpoint completed with error",t)}a.ready(t,n),a.cancelled?Ne():(a._addedListeners||(a.once("cancel",Ne),"function"==typeof i.complete&&(a.once("error",i.complete),a.once("complete",(function(t){i.complete(null,t)}))),a._addedListeners=!0),void 0===i.since?De():be().then((function(){return g=!0,u.writeCheckpoint(i.since,O)})).then((function(){g=!1,a.cancelled?Ne():(k=i.since,De())})).catch(Oe))}class Replication extends EventEmitter{constructor(){super(),this.cancelled=!1,this.state="pending";const t=new Promise(((t,n)=>{this.once("complete",t),this.once("error",n)}));this.then=function(n,i){return t.then(n,i)},this.catch=function(n){return t.catch(n)},this.catch((function(){}))}cancel(){this.cancelled=!0,this.state="cancelled",this.emit("cancel")}ready(t,n){if(this._readyCalled)return;this._readyCalled=!0;const i=()=>{this.cancel()};function a(){t.removeListener("destroyed",i),n.removeListener("destroyed",i)}t.once("destroyed",i),n.once("destroyed",i),this.once("complete",a),this.once("error",a)}}function toPouch(t,n){var i=n.PouchConstructor;return"string"==typeof t?new i(t,n):t}function replicateWrapper(t,n,i,a){if("function"==typeof i&&(a=i,i={}),void 0===i&&(i={}),i.doc_ids&&!Array.isArray(i.doc_ids))throw createError$1(BAD_REQUEST,"`doc_ids` filter parameter is not a list.");i.complete=a,(i=clone$7(i)).continuous=i.continuous||i.live,i.retry="retry"in i&&i.retry,i.PouchConstructor=i.PouchConstructor||this;var s=new Replication(i);return replicate(toPouch(t,i),toPouch(n,i),i,s),s}function sync(t,n,i,a){return"function"==typeof i&&(a=i,i={}),void 0===i&&(i={}),(i=clone$7(i)).PouchConstructor=i.PouchConstructor||this,t=toPouch(t,i),n=toPouch(n,i),new Sync(t,n,i,a)}class Sync extends EventEmitter{constructor(t,n,i,a){super(),this.canceled=!1;const s=i.push?Object.assign({},i,i.push):i,l=i.pull?Object.assign({},i,i.pull):i;this.push=replicateWrapper(t,n,s),this.pull=replicateWrapper(n,t,l),this.pushPaused=!0,this.pullPaused=!0;const c=t=>{this.emit("change",{direction:"pull",change:t})},u=t=>{this.emit("change",{direction:"push",change:t})},d=t=>{this.emit("denied",{direction:"push",doc:t})},f=t=>{this.emit("denied",{direction:"pull",doc:t})},m=()=>{this.pushPaused=!0,this.pullPaused&&this.emit("paused")},g=()=>{this.pullPaused=!0,this.pushPaused&&this.emit("paused")},v=()=>{this.pushPaused=!1,this.pullPaused&&this.emit("active",{direction:"push"})},b=()=>{this.pullPaused=!1,this.pushPaused&&this.emit("active",{direction:"pull"})};let w={};const k=t=>(n,i)=>{("change"===n&&(i===c||i===u)||"denied"===n&&(i===f||i===d)||"paused"===n&&(i===g||i===m)||"active"===n&&(i===b||i===v))&&(n in w||(w[n]={}),w[n][t]=!0,2===Object.keys(w[n]).length&&this.removeAllListeners(n))};function S(t,n,i){-1==t.listeners(n).indexOf(i)&&t.on(n,i)}i.live&&(this.push.on("complete",this.pull.cancel.bind(this.pull)),this.pull.on("complete",this.push.cancel.bind(this.push))),this.on("newListener",(function(t){"change"===t?(S(this.pull,"change",c),S(this.push,"change",u)):"denied"===t?(S(this.pull,"denied",f),S(this.push,"denied",d)):"active"===t?(S(this.pull,"active",b),S(this.push,"active",v)):"paused"===t&&(S(this.pull,"paused",g),S(this.push,"paused",m))})),this.on("removeListener",(function(t){"change"===t?(this.pull.removeListener("change",c),this.push.removeListener("change",u)):"denied"===t?(this.pull.removeListener("denied",f),this.push.removeListener("denied",d)):"active"===t?(this.pull.removeListener("active",b),this.push.removeListener("active",v)):"paused"===t&&(this.pull.removeListener("paused",g),this.push.removeListener("paused",m))})),this.pull.on("removeListener",k("pull")),this.push.on("removeListener",k("push"));const C=Promise.all([this.push,this.pull]).then((t=>{const n={push:t[0],pull:t[1]};return this.emit("complete",n),a&&a(null,n),this.removeAllListeners(),n}),(t=>{if(this.cancel(),a?a(t):this.emit("error",t),this.removeAllListeners(),a)throw t}));this.then=function(t,n){return C.then(t,n)},this.catch=function(t){return C.catch(t)}}cancel(){this.canceled||(this.canceled=!0,this.push.cancel(),this.pull.cancel())}}function replication(t){t.replicate=replicateWrapper,t.sync=sync,Object.defineProperty(t.prototype,"replicate",{get:function(){var t=this;return void 0===this.replicateMethods&&(this.replicateMethods={from:function(n,i,a){return t.constructor.replicate(n,t,i,a)},to:function(n,i,a){return t.constructor.replicate(t,n,i,a)}}),this.replicateMethods}}),t.prototype.sync=function(t,n,i){return this.constructor.sync(this,t,n,i)}}PouchDB.plugin(IDBPouch).plugin(HttpPouch$1).plugin(mapreduce).plugin(replication);class PouchError extends Error{constructor(t,n,i){super(),this.status=t,this.name=n,this.message=i,this.error=!0}toString(){return JSON.stringify({status:this.status,name:this.name,message:this.message,reason:this.reason})}}new PouchError(401,"unauthorized","Name or password is incorrect."),new PouchError(400,"bad_request","Missing JSON list of 'docs'"),new PouchError(404,"not_found","missing"),new PouchError(409,"conflict","Document update conflict"),new PouchError(400,"bad_request","_id field must contain a string"),new PouchError(412,"missing_id","_id is required for puts"),new PouchError(400,"bad_request","Only reserved document ids may start with underscore."),new PouchError(412,"precondition_failed","Database not open");var UNKNOWN_ERROR=new PouchError(500,"unknown_error","Database encountered an unknown error");function createError(t,n){function i(n){for(var i=Object.getOwnPropertyNames(t),a=0,s=i.length;a<s;a++)"function"!=typeof t[i[a]]&&(this[i[a]]=t[i[a]]);void 0===this.stack&&(this.stack=(new Error).stack),void 0!==n&&(this.reason=n)}return i.prototype=PouchError.prototype,new i(n)}function generateErrorFromResponse(t){if("object"!=typeof t){var n=t;(t=UNKNOWN_ERROR).data=n}return"error"in t&&"conflict"===t.error&&(t.name="conflict",t.status=409),"name"in t||(t.name=t.error||"unknown"),"status"in t||(t.status=500),"message"in t||(t.message=t.message||t.reason),"stack"in t||(t.stack=(new Error).stack),t}new PouchError(500,"badarg","Some query argument is invalid"),new PouchError(400,"invalid_request","Request was invalid"),new PouchError(400,"query_parse_error","Some query parameter is invalid"),new PouchError(500,"doc_validation","Bad special document member"),new PouchError(400,"bad_request","Something wrong with the request"),new PouchError(400,"bad_request","Document must be a JSON object"),new PouchError(404,"not_found","Database not found"),new PouchError(500,"indexed_db_went_bad","unknown"),new PouchError(500,"web_sql_went_bad","unknown"),new PouchError(500,"levelDB_went_went_bad","unknown"),new PouchError(403,"forbidden","Forbidden by design doc validate_doc_update function"),new PouchError(400,"bad_request","Invalid rev format"),new PouchError(412,"file_exists","The database could not be created, the file already exists."),new PouchError(412,"missing_stub","A pre-existing attachment stub wasn't found"),new PouchError(413,"invalid_url","Provided URL is invalid");var h=Headers,thisAtob=function(t){return atob(t)};function createBlob(t,n){t=t||[],n=n||{};try{return new Blob(t,n)}catch(e){if("TypeError"!==e.name)throw e;for(var i=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),a=0;a<t.length;a+=1)i.append(t[a]);return i.getBlob(n.type)}}function binaryStringToArrayBuffer(t){for(var n=t.length,i=new ArrayBuffer(n),a=new Uint8Array(i),s=0;s<n;s++)a[s]=t.charCodeAt(s);return i}function binStringToBluffer(t,n){return createBlob([binaryStringToArrayBuffer(t)],{type:n})}function b64ToBluffer(t,n){return binStringToBluffer(thisAtob(t),n)}function pad(t,n,i){for(var a="",s=i-t.length;a.length<s;)a+=n;return a}function padLeft(t,n,i){return pad(t,n,i)+t}var MIN_MAGNITUDE=-324,MAGNITUDE_DIGITS=3,SEP="";function collate(t,n){if(t===n)return 0;t=normalizeKey(t),n=normalizeKey(n);var i=collationIndex(t),a=collationIndex(n);if(i-a!=0)return i-a;switch(typeof t){case"number":return t-n;case"boolean":return t<n?-1:1;case"string":return stringCollate(t,n)}return Array.isArray(t)?arrayCollate(t,n):objectCollate(t,n)}function normalizeKey(t){switch(typeof t){case"undefined":return null;case"number":return t===1/0||t===-1/0||isNaN(t)?null:t;case"object":var n=t;if(Array.isArray(t)){var i=t.length;t=new Array(i);for(var a=0;a<i;a++)t[a]=normalizeKey(n[a])}else{if(t instanceof Date)return t.toJSON();if(null!==t)for(var s in t={},n)if(Object.prototype.hasOwnProperty.call(n,s)){var l=n[s];void 0!==l&&(t[s]=normalizeKey(l))}}}return t}function indexify(t){if(null!==t)switch(typeof t){case"boolean":return t?1:0;case"number":return numToIndexableString(t);case"string":return t.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");case"object":var n=Array.isArray(t),i=n?t:Object.keys(t),a=-1,s=i.length,l="";if(n)for(;++a<s;)l+=toIndexableString(i[a]);else for(;++a<s;){var c=i[a];l+=toIndexableString(c)+toIndexableString(t[c])}return l}return""}function toIndexableString(t){return collationIndex(t=normalizeKey(t))+SEP+indexify(t)+"\0"}function parseNumber(t,n){var i,a=n;if("1"===t[n])i=0,n++;else{var s="0"===t[n];n++;var l="",c=t.substring(n,n+MAGNITUDE_DIGITS),u=parseInt(c,10)+MIN_MAGNITUDE;for(s&&(u=-u),n+=MAGNITUDE_DIGITS;;){var d=t[n];if("\0"===d)break;l+=d,n++}i=1===(l=l.split(".")).length?parseInt(l,10):parseFloat(l[0]+"."+l[1]),s&&(i-=10),0!==u&&(i=parseFloat(i+"e"+u))}return{num:i,length:n-a}}function pop(t,n){var i=t.pop();if(n.length){var a=n[n.length-1];i===a.element&&(n.pop(),a=n[n.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(i);else if(l===t.length-2){s[t.pop()]=i}else t.push(i)}}function parseIndexableString(t){for(var n=[],i=[],a=0;;){var s=t[a++];if("\0"!==s)switch(s){case"1":n.push(null);break;case"2":n.push("1"===t[a]),a++;break;case"3":var l=parseNumber(t,a);n.push(l.num),a+=l.length;break;case"4":for(var c="";;){var u=t[a];if("\0"===u)break;c+=u,a++}c=c.replace(/\u0001\u0001/g,"\0").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,""),n.push(c);break;case"5":var d={element:[],index:n.length};n.push(d.element),i.push(d);break;case"6":var f={element:{},index:n.length};n.push(f.element),i.push(f);break;default:throw new Error("bad collationIndex or unexpectedly reached end of input: "+s)}else{if(1===n.length)return n.pop();pop(n,i)}}}function arrayCollate(t,n){for(var i=Math.min(t.length,n.length),a=0;a<i;a++){var s=collate(t[a],n[a]);if(0!==s)return s}return t.length===n.length?0:t.length>n.length?1:-1}function stringCollate(t,n){return t===n?0:t>n?1:-1}function objectCollate(t,n){for(var i=Object.keys(t),a=Object.keys(n),s=Math.min(i.length,a.length),l=0;l<s;l++){var c=collate(i[l],a[l]);if(0!==c)return c;if(0!==(c=collate(t[i[l]],n[a[l]])))return c}return i.length===a.length?0:i.length>a.length?1:-1}function collationIndex(t){var n=["boolean","number","string","object"].indexOf(typeof t);return~n?null===t?1:Array.isArray(t)?5:n<3?n+2:n+3:Array.isArray(t)?5:void 0}function numToIndexableString(t){if(0===t)return"1";var n=t.toExponential().split(/e\+?/),i=parseInt(n[1],10),a=t<0,s=a?"0":"2",l=padLeft(((a?-i:i)-MIN_MAGNITUDE).toString(),"0",MAGNITUDE_DIGITS);s+=SEP+l;var c=Math.abs(parseFloat(n[0]));a&&(c=10-c);var u=c.toFixed(20);return u=u.replace(/\.?0+$/,""),s+=SEP+u}function stringMd5(t){return Md5.hash(t)}function isBinaryObject(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer||"undefined"!=typeof Blob&&t instanceof Blob}function cloneBinaryObject(t){return t instanceof ArrayBuffer?t.slice(0):t.slice(0,t.size,t.type)}var funcToString=Function.prototype.toString,objectCtorString=funcToString.call(Object),hasLocal;function isPlainObject$3(t){var n=Object.getPrototypeOf(t);if(null===n)return!0;var i=n.constructor;return"function"==typeof i&&i instanceof i&&funcToString.call(i)==objectCtorString}function clone$6(t){var n,i,a;if(!t||"object"!=typeof t)return t;if(Array.isArray(t)){for(n=[],i=0,a=t.length;i<a;i++)n[i]=clone$6(t[i]);return n}if(t instanceof Date&&isFinite(t))return t.toISOString();if(isBinaryObject(t))return cloneBinaryObject(t);if(!isPlainObject$3(t))return t;for(i in n={},t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=clone$6(t[i]);void 0!==s&&(n[i]=s)}return n}try{localStorage.setItem("_pouch_check_localstorage",1),hasLocal=!!localStorage.getItem("_pouch_check_localstorage")}catch(e){hasLocal=!1}const nextTick="function"==typeof queueMicrotask?queueMicrotask:function(t){Promise.resolve().then(t)};function guardedConsole(t){if("undefined"!=typeof console&&"function"==typeof console[t]){var n=Array.prototype.slice.call(arguments,1);console[t].apply(console,n)}}function isRemote(t){return"boolean"==typeof t._remote?t._remote:"function"==typeof t.type&&(guardedConsole("warn","db.type() is deprecated and will be removed in a future version of PouchDB"),"http"===t.type())}function upsert(t,n,i){return t.get(n).catch((function(t){if(404!==t.status)throw t;return{}})).then((function(a){var s=a._rev,l=i(a);return l?(l._id=n,l._rev=s,tryAndPut(t,l,i)):{updated:!1,rev:s}}))}function tryAndPut(t,n,i){return t.put(n).then((function(t){return{updated:!0,rev:t.rev}}),(function(a){if(409!==a.status)throw a;return upsert(t,n._id,i)}))}class QueryParseError extends Error{constructor(t){super(),this.status=400,this.name="query_parse_error",this.message=t,this.error=!0;try{Error.captureStackTrace(this,QueryParseError)}catch(e){}}}class NotFoundError extends Error{constructor(t){super(),this.status=404,this.name="not_found",this.message=t,this.error=!0;try{Error.captureStackTrace(this,NotFoundError)}catch(e){}}}class BuiltInError extends Error{constructor(t){super(),this.status=500,this.name="invalid_value",this.message=t,this.error=!0;try{Error.captureStackTrace(this,BuiltInError)}catch(e){}}}function promisedCallback(t,n){return n&&t.then((function(t){nextTick((function(){n(null,t)}))}),(function(t){nextTick((function(){n(t)}))})),t}function callbackify(t){return function(...n){var i=n.pop(),a=t.apply(this,n);return"function"==typeof i&&promisedCallback(a,i),a}}function fin(t,n){return t.then((function(t){return n().then((function(){return t}))}),(function(t){return n().then((function(){throw t}))}))}function sequentialize(t,n){return function(){var i=arguments,a=this;return t.add((function(){return n.apply(a,i)}))}}function uniq$1(t){var n=new Set(t),i=new Array(n.size),a=-1;return n.forEach((function(t){i[++a]=t})),i}function mapToKeysArray(t){var n=new Array(t.size),i=-1;return t.forEach((function(t,a){n[++i]=a})),n}class TaskQueue{constructor(){this.promise=Promise.resolve()}add(t){return this.promise=this.promise.catch((()=>{})).then((()=>t())),this.promise}finish(){return this.promise}}function stringify(t){if(!t)return"undefined";switch(typeof t){case"function":case"string":return t.toString();default:return JSON.stringify(t)}}function createViewSignature(t,n){return stringify(t)+stringify(n)+"undefined"}async function createView(t,n,i,a,s,l){const c=createViewSignature(i,a);let u;if(!s&&(u=t._cachedViews=t._cachedViews||{},u[c]))return u[c];const d=t.info().then((async function(d){const f=d.db_name+"-mrview-"+(s?"temp":stringMd5(c));await upsert(t,"_local/"+l,(function(t){t.views=t.views||{};let i=n;-1===i.indexOf("/")&&(i=n+"/"+n);const a=t.views[i]=t.views[i]||{};if(!a[f])return a[f]=!0,t}));const m=(await t.registerDependentDatabase(f)).db;m.auto_compaction=!0;const g={name:f,db:m,sourceDB:t,adapter:t.adapter,mapFun:i,reduceFun:a};let v;try{v=await g.db.get("_local/lastSeq")}catch(b){if(404!==b.status)throw b}return g.seq=v?v.seq:0,u&&g.db.once("destroyed",(function(){delete u[c]})),g}));return u&&(u[c]=d),d}const persistentQueues={},tempViewQueue=new TaskQueue,CHANGES_BATCH_SIZE=50;function parseViewName(t){return-1===t.indexOf("/")?[t,t]:t.split("/")}function isGenOne(t){return 1===t.length&&/^1-/.test(t[0].rev)}function emitError$1(t,n,i){try{t.emit("error",n)}catch(a){guardedConsole("error","The user's map/reduce function threw an uncaught error.\nYou can debug this error by doing:\nmyDatabase.on('error', function (err) { debugger; });\nPlease double-check your map/reduce function."),guardedConsole("error",n,i)}}function createAbstractMapReduce(t,n,i,a){function s(t,n,i){try{n(i)}catch(e){emitError$1(t,e,{fun:n,doc:i})}}function l(t,n,i,a,s){try{return{output:n(i,a,s)}}catch(e){return emitError$1(t,e,{fun:n,keys:i,values:a,rereduce:s}),{error:e}}}function c(t,n){const i=collate(t.key,n.key);return 0!==i?i:collate(t.value,n.value)}function u(t,n,i){return i=i||0,"number"==typeof n?t.slice(i,n+i):i>0?t.slice(i):t}function d(t){const n=t.value;return n&&"object"==typeof n&&n._id||t.id}function f(t){return function(n){return t.include_docs&&t.attachments&&t.binary&&function(t){for(const n of t.rows){const t=n.doc&&n.doc._attachments;if(t)for(const n of Object.keys(t)){const i=t[n];t[n].data=b64ToBluffer(i.data,i.content_type)}}}(n),n}}function m(t,n,i,a){let s=n[t];void 0!==s&&(a&&(s=encodeURIComponent(JSON.stringify(s))),i.push(t+"="+s))}function g(t){if(void 0!==t){const n=Number(t);return isNaN(n)||n!==parseInt(t,10)?t:n}}function v(t){if(t){if("number"!=typeof t)return new QueryParseError(`Invalid value for integer: "${t}"`);if(t<0)return new QueryParseError(`Invalid value for positive integer: "${t}"`)}}function b(t,n){const i=t.descending?"endkey":"startkey",a=t.descending?"startkey":"endkey";if(void 0!==t[i]&&void 0!==t[a]&&collate(t[i],t[a])>0)throw new QueryParseError("No rows can match your key range, reverse your start_key and end_key or set {descending : true}");if(n.reduce&&!1!==t.reduce){if(t.include_docs)throw new QueryParseError("{include_docs:true} is invalid for reduce");if(t.keys&&t.keys.length>1&&!t.group&&!t.group_level)throw new QueryParseError("Multi-key fetches for reduce views must use {group: true}")}for(const s of["group_level","limit","skip"]){const n=v(t[s]);if(n)throw n}}function w(t){return function(n){if(404===n.status)return t;throw n}}function k(t,n,i){var a="_local/lastSeq";return t.db.get(a).catch(w({_id:a,seq:0})).then((function(a){var s=mapToKeysArray(n);return Promise.all(s.map((function(i){return async function(t,n,i){const a="_local/doc_"+t,s={_id:a,keys:[]},l=i.get(t),c=l[0],u=l[1],d=await(isGenOne(u)?Promise.resolve(s):n.db.get(a).catch(w(s)));var f;return function(t,n){const i=[],a=new Set;for(const l of n.rows){const t=l.doc;if(t&&(i.push(t),a.add(t._id),t._deleted=!c.has(t._id),!t._deleted)){const n=c.get(t._id);"value"in n&&(t.value=n.value)}}const s=mapToKeysArray(c);for(const l of s)if(!a.has(l)){const t={_id:l},n=c.get(l);"value"in n&&(t.value=n.value),i.push(t)}return t.keys=uniq$1(s.concat(t.keys)),i.push(t),i}(d,await(f=d,f.keys.length?n.db.allDocs({keys:f.keys,include_docs:!0}):Promise.resolve({rows:[]})))}(i,t,n)}))).then((function(n){var s=n.flat();return a.seq=i,s.push(a),t.db.bulkDocs({docs:s})})).then((()=>function(t){return t.sourceDB.get("_local/purges").then((function(n){const i=n.purgeSeq;return t.db.get("_local/purgeSeq").then((function(t){return t._rev})).catch(w(void 0)).then((function(n){return t.db.put({_id:"_local/purgeSeq",_rev:n,purgeSeq:i})}))})).catch((function(t){if(404!==t.status)throw t}))}(t)))}))}function S(t){const n="string"==typeof t?t:t.name;let i=persistentQueues[n];return i||(i=persistentQueues[n]=new TaskQueue),i}async function C(t,i){return sequentialize(S(t),(function(){return async function(t,i){let a,l,u;function d(t,n){const i={id:l._id,key:normalizeKey(t)};null!=n&&(i.value=normalizeKey(n)),a.push(i)}const f=n(t.mapFun,d);let m=t.seq||0;function g(){return t.sourceDB.info().then((function(n){u=t.sourceDB.activeTasks.add({name:"view_indexing",total_items:n.update_seq-m})}))}function v(n,i){return function(){return k(t,n,i)}}let b=0;const S={view:t.name,indexed_docs:b};t.sourceDB.emit("indexing",S);const C=new TaskQueue;async function E(){return P(await t.sourceDB.changes({return_docs:!0,conflicts:!0,include_docs:!0,style:"all_docs",since:m,limit:i.changes_batch_size}),await T())}function T(){return t.db.get("_local/purgeSeq").then((function(t){return t.purgeSeq})).catch(w(-1)).then((function(n){return t.sourceDB.get("_local/purges").then((function(i){const a=i.purges.filter((function(t,i){return i>n})).map((t=>t.docId)),s=a.filter((function(t,n){return a.indexOf(t)===n}));return Promise.all(s.map((function(n){return t.sourceDB.get(n).then((function(t){return{docId:n,doc:t}})).catch(w({docId:n}))})))})).catch(w([]))}))}function P(n,a){const s=n.results;if(!s.length&&!a.length)return;for(const t of a){if(s.findIndex((function(n){return n.id===t.docId}))<0){const n={_id:t.docId,doc:{_id:t.docId,_deleted:1},changes:[]};t.doc&&(n.doc=t.doc,n.changes.push({rev:t.doc._rev})),s.push(n)}}const l=I(s);C.add(v(l,m)),b+=s.length;const c={view:t.name,last_seq:n.last_seq,results_count:s.length,indexed_docs:b};return t.sourceDB.emit("indexing",c),t.sourceDB.activeTasks.update(u,{completed_items:b}),s.length<i.changes_batch_size?void 0:E()}function I(n){const i=new Map;for(const u of n){if("_"!==u.doc._id[0]){a=[],l=u.doc,l._deleted||s(t.sourceDB,f,l),a.sort(c);const n=A(a);i.set(u.doc._id,[n,u.changes])}m=u.seq}return i}function A(t){const n=new Map;let i;for(let a=0,s=t.length;a<s;a++){const s=t[a],l=[s.key,s.id];a>0&&0===collate(s.key,i)&&l.push(a),n.set(toIndexableString(l),s),i=s.key}return n}try{await g(),await E(),await C.finish(),t.seq=m,t.sourceDB.activeTasks.remove(u)}catch(D){t.sourceDB.activeTasks.remove(u,D)}}(t,i)}))()}function E(t,n){return sequentialize(S(t),(function(){return async function(t,n){let a;const s=t.reduceFun&&!1!==n.reduce,c=n.skip||0;void 0===n.keys||n.keys.length||(n.limit=0,delete n.keys);async function f(n){n.include_docs=!0;const i=await t.db.allDocs(n);return a=i.total_rows,i.rows.map((function(t){if("value"in t.doc&&"object"==typeof t.doc.value&&null!==t.doc.value){const n=Object.keys(t.doc.value).sort(),i=["id","key","value"];if(!(n<i||n>i))return t.doc.value}const n=parseIndexableString(t.doc._id);return{key:n[0],id:n[1],value:"value"in t.doc?t.doc.value:null}}))}async function m(f){let m;if(m=s?function(t,n,a){0===a.group_level&&delete a.group_level;const s=a.group||a.group_level,c=i(t.reduceFun),d=[],f=isNaN(a.group_level)?Number.POSITIVE_INFINITY:a.group_level;for(const i of n){const t=d[d.length-1];let n=s?i.key:null;s&&Array.isArray(n)&&(n=n.slice(0,f)),t&&0===collate(t.groupKey,n)?(t.keys.push([i.key,i.id]),t.values.push(i.value)):d.push({keys:[[i.key,i.id]],values:[i.value],groupKey:n})}n=[];for(const i of d){const a=l(t.sourceDB,c,i.keys,i.values,!1);if(a.error&&a.error instanceof BuiltInError)throw a.error;n.push({value:a.error?null:a.output,key:i.groupKey})}return{rows:u(n,a.limit,a.skip)}}(t,f,n):void 0===n.keys?{total_rows:a,offset:c,rows:f}:{total_rows:a,offset:c,rows:u(f,n.limit,n.skip)},n.update_seq&&(m.update_seq=t.seq),n.include_docs){const i=uniq$1(f.map(d)),a=await t.sourceDB.allDocs({keys:i,include_docs:!0,conflicts:n.conflicts,attachments:n.attachments,binary:n.binary}),s=new Map;for(const t of a.rows)s.set(t.id,t.doc);for(const t of f){const n=d(t),i=s.get(n);i&&(t.doc=i)}}return m}if(void 0!==n.keys){const t=n.keys.map((function(t){const i={startkey:toIndexableString([t]),endkey:toIndexableString([t,{}])};return n.update_seq&&(i.update_seq=!0),f(i)}));return m((await Promise.all(t)).flat())}{const t={descending:n.descending};let i,a;if(n.update_seq&&(t.update_seq=!0),"start_key"in n&&(i=n.start_key),"startkey"in n&&(i=n.startkey),"end_key"in n&&(a=n.end_key),"endkey"in n&&(a=n.endkey),void 0!==i&&(t.startkey=n.descending?toIndexableString([i,{}]):toIndexableString([i])),void 0!==a){let i=!1!==n.inclusive_end;n.descending&&(i=!i),t.endkey=toIndexableString(i?[a,{}]:[a])}if(void 0!==n.key){const i=toIndexableString([n.key]),a=toIndexableString([n.key,{}]);t.descending?(t.endkey=i,t.startkey=a):(t.startkey=i,t.endkey=a)}s||("number"==typeof n.limit&&(t.limit=n.limit),t.skip=c);return m(await f(t))}}(t,n)}))()}async function T(n,i,s){if("function"==typeof n._query)return function(t,n,i){return new Promise((function(a,s){t._query(n,i,(function(t,n){if(t)return s(t);a(n)}))}))}(n,i,s);if(isRemote(n))return async function(t,n,i){let a,s,l=[],c="GET";if(m("reduce",i,l),m("include_docs",i,l),m("attachments",i,l),m("limit",i,l),m("descending",i,l),m("group",i,l),m("group_level",i,l),m("skip",i,l),m("stale",i,l),m("conflicts",i,l),m("startkey",i,l,!0),m("start_key",i,l,!0),m("endkey",i,l,!0),m("end_key",i,l,!0),m("inclusive_end",i,l),m("key",i,l,!0),m("update_seq",i,l),l=l.join("&"),l=""===l?"":"?"+l,void 0!==i.keys){const t=2e3,s=`keys=${encodeURIComponent(JSON.stringify(i.keys))}`;s.length+l.length+1<=t?l+=("?"===l[0]?"&":"?")+s:(c="POST","string"==typeof n?a={keys:i.keys}:n.keys=i.keys)}if("string"==typeof n){const u=parseViewName(n),d=await t.fetch("_design/"+u[0]+"/_view/"+u[1]+l,{headers:new h({"Content-Type":"application/json"}),method:c,body:JSON.stringify(a)});s=d.ok;const m=await d.json();if(!s)throw m.status=d.status,generateErrorFromResponse(m);for(const t of m.rows)if(t.value&&t.value.error&&"builtin_reduce_error"===t.value.error)throw new Error(t.reason);return new Promise((function(t){t(m)})).then(f(i))}a=a||{};for(const f of Object.keys(n))Array.isArray(n[f])?a[f]=n[f]:a[f]=n[f].toString();const u=await t.fetch("_temp_view"+l,{headers:new h({"Content-Type":"application/json"}),method:"POST",body:JSON.stringify(a)});s=u.ok;const d=await u.json();if(!s)throw d.status=u.status,generateErrorFromResponse(d);return new Promise((function(t){t(d)})).then(f(i))}(n,i,s);const l={changes_batch_size:n.__opts.view_update_changes_batch_size||CHANGES_BATCH_SIZE};if("string"!=typeof i)return b(s,i),tempViewQueue.add((async function(){const a=await createView(n,"temp_view/temp_view",i.map,i.reduce,!0,t);return fin(C(a,l).then((function(){return E(a,s)})),(function(){return a.db.destroy()}))})),tempViewQueue.finish();{const c=i,u=parseViewName(c),d=u[0],f=u[1],m=await n.get("_design/"+d);if(!(i=m.views&&m.views[f]))throw new NotFoundError(`ddoc ${m._id} has no view named ${f}`);a(m,f),b(s,i);const g=await createView(n,c,i.map,i.reduce,!1,t);return"ok"===s.stale||"update_after"===s.stale?("update_after"===s.stale&&nextTick((function(){C(g,l)})),E(g,s)):(await C(g,l),E(g,s))}}return{query:function(t,n,i){const a=this;"function"==typeof n&&(i=n,n={}),n=n?function(t){return t.group_level=g(t.group_level),t.limit=g(t.limit),t.skip=g(t.skip),t}(n):{},"function"==typeof t&&(t={map:t});const s=Promise.resolve().then((function(){return T(a,t,n)}));return promisedCallback(s,i),s},viewCleanup:callbackify((function(){const n=this;return"function"==typeof n._viewCleanup?function(t){return new Promise((function(n,i){t._viewCleanup((function(t,a){if(t)return i(t);n(a)}))}))}(n):isRemote(n)?async function(t){return(await t.fetch("_view_cleanup",{headers:new h({"Content-Type":"application/json"}),method:"POST"})).json()}(n):async function(n){try{const i=await n.get("_local/"+t),a=new Map;for(const t of Object.keys(i.views)){const n=parseViewName(t),i="_design/"+n[0],s=n[1];let l=a.get(i);l||(l=new Set,a.set(i,l)),l.add(s)}const s={keys:mapToKeysArray(a),include_docs:!0},l=await n.allDocs(s),c={};for(const t of l.rows){const n=t.key.substring(8);for(const s of a.get(t.key)){let a=n+"/"+s;i.views[a]||(a=s);const l=Object.keys(i.views[a]),u=t.doc&&t.doc.views&&t.doc.views[s];for(const t of l)c[t]=c[t]||u}}const u=Object.keys(c).filter((function(t){return!c[t]})).map((function(t){return sequentialize(S(t),(function(){return new n.constructor(t,n.__opts).destroy()}))()}));return Promise.all(u).then((function(){return{ok:!0}}))}catch(i){if(404===i.status)return{ok:!0};throw i}}(n)}))}}function getFieldFromDoc(t,n){for(var i=t,a=0,s=n.length;a<s;a++){if(!(i=i[n[a]]))break}return i}function setFieldInDoc(t,n,i){for(var a=0,s=n.length;a<s-1;a++){var l=n[a];t=t[l]=t[l]||{}}t[n[s-1]]=i}function compare(t,n){return t<n?-1:t>n?1:0}function parseField(t){for(var n=[],i="",a=0,s=t.length;a<s;a++){var l=t[a];a>0&&"\\"===t[a-1]&&("$"===l||"."===l)?i=i.substring(0,i.length-1)+l:"."===l?(n.push(i),i=""):i+=l}return n.push(i),n}var combinationFields=["$or","$nor","$not"];function isCombinationalField(t){return combinationFields.indexOf(t)>-1}function getKey(t){return Object.keys(t)[0]}function getValue(t){return t[getKey(t)]}function mergeAndedSelectors(t){var n={},i={$or:!0,$nor:!0};return t.forEach((function(t){Object.keys(t).forEach((function(a){var s=t[a];if("object"!=typeof s&&(s={$eq:s}),isCombinationalField(a))if(s instanceof Array){if(i[a])return i[a]=!1,void(n[a]=s);var l=[];n[a].forEach((function(t){Object.keys(s).forEach((function(n){var i=s[n],a=Math.max(Object.keys(t).length,Object.keys(i).length),c=mergeAndedSelectors([t,i]);Object.keys(c).length<=a||l.push(c)}))})),n[a]=l}else n[a]=mergeAndedSelectors([s]);else{var c=n[a]=n[a]||{};Object.keys(s).forEach((function(t){var n=s[t];return"$gt"===t||"$gte"===t?mergeGtGte(t,n,c):"$lt"===t||"$lte"===t?mergeLtLte(t,n,c):"$ne"===t?mergeNe(n,c):"$eq"===t?mergeEq(n,c):"$regex"===t?mergeRegex(n,c):void(c[t]=n)}))}}))})),n}function mergeGtGte(t,n,i){void 0===i.$eq&&(void 0!==i.$gte?"$gte"===t?n>i.$gte&&(i.$gte=n):n>=i.$gte&&(delete i.$gte,i.$gt=n):void 0!==i.$gt?"$gte"===t?n>i.$gt&&(delete i.$gt,i.$gte=n):n>i.$gt&&(i.$gt=n):i[t]=n)}function mergeLtLte(t,n,i){void 0===i.$eq&&(void 0!==i.$lte?"$lte"===t?n<i.$lte&&(i.$lte=n):n<=i.$lte&&(delete i.$lte,i.$lt=n):void 0!==i.$lt?"$lte"===t?n<i.$lt&&(delete i.$lt,i.$lte=n):n<i.$lt&&(i.$lt=n):i[t]=n)}function mergeNe(t,n){"$ne"in n?n.$ne.push(t):n.$ne=[t]}function mergeEq(t,n){delete n.$gt,delete n.$gte,delete n.$lt,delete n.$lte,delete n.$ne,n.$eq=t}function mergeRegex(t,n){"$regex"in n?n.$regex.push(t):n.$regex=[t]}function mergeAndedSelectorsNested(t){for(var n in t){if(Array.isArray(t))for(var i in t)t[i].$and&&(t[i]=mergeAndedSelectors(t[i].$and));var a=t[n];"object"==typeof a&&mergeAndedSelectorsNested(a)}return t}function isAndInSelector(t,n){for(var i in t){"$and"===i&&(n=!0);var a=t[i];"object"==typeof a&&(n=isAndInSelector(a,n))}return n}function massageSelector(t){var n=clone$6(t);isAndInSelector(n,!1)&&"$and"in(n=mergeAndedSelectorsNested(n))&&(n=mergeAndedSelectors(n.$and)),["$or","$nor"].forEach((function(t){t in n&&n[t].forEach((function(t){for(var n=Object.keys(t),i=0;i<n.length;i++){var a=n[i],s=t[a];"object"==typeof s&&null!==s||(t[a]={$eq:s})}}))})),"$not"in n&&(n.$not=mergeAndedSelectors([n.$not]));for(var i=Object.keys(n),a=0;a<i.length;a++){var s=i[a],l=n[s];"object"==typeof l&&null!==l||(l={$eq:l}),n[s]=l}return normalizeArrayOperators(n),n}function normalizeArrayOperators(t){Object.keys(t).forEach((function(n){var i=t[n];Array.isArray(i)?i.forEach((function(t){t&&"object"==typeof t&&normalizeArrayOperators(t)})):"$ne"===n?t.$ne=[i]:"$regex"===n?t.$regex=[i]:i&&"object"==typeof i&&normalizeArrayOperators(i)}))}function createFieldSorter(t){function n(n){return t.map((function(t){var i=parseField(getKey(t));return getFieldFromDoc(n,i)}))}return function(t,i){var a=collate(n(t.doc),n(i.doc));return 0!==a?a:compare(t.doc._id,i.doc._id)}}function filterInMemoryFields(t,n,i){if(t=t.filter((function(t){return rowFilter(t.doc,n.selector,i)})),n.sort){var a=createFieldSorter(n.sort);t=t.sort(a),"string"!=typeof n.sort[0]&&"desc"===getValue(n.sort[0])&&(t=t.reverse())}if("limit"in n||"skip"in n){var s=n.skip||0,l=("limit"in n?n.limit:t.length)+s;t=t.slice(s,l)}return t}function rowFilter(t,n,i){return i.every((function(i){var a=n[i],s=parseField(i),l=getFieldFromDoc(t,s);return isCombinationalField(i)?matchCominationalSelector(i,a,t):matchSelector(a,t,s,l)}))}function matchSelector(t,n,i,a){return!t||("object"==typeof t?Object.keys(t).every((function(s){var l=t[s];if(0===s.indexOf("$"))return match(s,n,l,i,a);var c=parseField(s);if(void 0===a&&"object"!=typeof l&&c.length>0)return!1;var u=getFieldFromDoc(a,c);return"object"==typeof l?matchSelector(l,n,i,u):match("$eq",n,l,c,u)})):t===a)}function matchCominationalSelector(t,n,i){return"$or"===t?n.some((function(t){return rowFilter(i,t,Object.keys(t))})):"$not"===t?!rowFilter(i,n,Object.keys(n)):!n.find((function(t){return rowFilter(i,t,Object.keys(t))}))}function match(t,n,i,a,s){if(!matchers[t])throw new Error('unknown operator "'+t+'" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type, $allMatch or $all');return matchers[t](n,i,a,s)}function fieldExists(t){return null!=t}function fieldIsNotUndefined(t){return void 0!==t}function modField(t,n){return"number"==typeof t&&parseInt(t,10)===t&&t%n[0]===n[1]}function arrayContainsValue(t,n){return n.some((function(n){return t instanceof Array?t.some((function(t){return 0===collate(n,t)})):0===collate(n,t)}))}function arrayContainsAllValues(t,n){return n.every((function(n){return t.some((function(t){return 0===collate(n,t)}))}))}function arraySize(t,n){return t.length===n}function regexMatch(t,n){return new RegExp(n).test(t)}function typeMatch(t,n){switch(n){case"null":return null===t;case"boolean":return"boolean"==typeof t;case"number":return"number"==typeof t;case"string":return"string"==typeof t;case"array":return t instanceof Array;case"object":return"[object Object]"==={}.toString.call(t)}}var matchers={$elemMatch:function(t,n,i,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.some((function(t){return rowFilter(t,n,Object.keys(n))})):a.some((function(a){return matchSelector(n,t,i,a)}))))},$allMatch:function(t,n,i,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.every((function(t){return rowFilter(t,n,Object.keys(n))})):a.every((function(a){return matchSelector(n,t,i,a)}))))},$eq:function(t,n,i,a){return fieldIsNotUndefined(a)&&0===collate(a,n)},$gte:function(t,n,i,a){return fieldIsNotUndefined(a)&&collate(a,n)>=0},$gt:function(t,n,i,a){return fieldIsNotUndefined(a)&&collate(a,n)>0},$lte:function(t,n,i,a){return fieldIsNotUndefined(a)&&collate(a,n)<=0},$lt:function(t,n,i,a){return fieldIsNotUndefined(a)&&collate(a,n)<0},$exists:function(t,n,i,a){return n?fieldIsNotUndefined(a):!fieldIsNotUndefined(a)},$mod:function(t,n,i,a){return fieldExists(a)&&modField(a,n)},$ne:function(t,n,i,a){return n.every((function(t){return 0!==collate(a,t)}))},$in:function(t,n,i,a){return fieldExists(a)&&arrayContainsValue(a,n)},$nin:function(t,n,i,a){return fieldExists(a)&&!arrayContainsValue(a,n)},$size:function(t,n,i,a){return fieldExists(a)&&Array.isArray(a)&&arraySize(a,n)},$all:function(t,n,i,a){return Array.isArray(a)&&arrayContainsAllValues(a,n)},$regex:function(t,n,i,a){return fieldExists(a)&&"string"==typeof a&&n.every((function(t){return regexMatch(a,t)}))},$type:function(t,n,i,a){return typeMatch(a,n)}};function matchesSelector(t,n){if("object"!=typeof n)throw new Error("Selector error: expected a JSON object");var i=filterInMemoryFields([{doc:t}],{selector:n=massageSelector(n)},Object.keys(n));return i&&1===i.length}const nativeFlat=(...t)=>t.flat(1/0),polyFlat=(...t)=>{let n=[];for(const i of t)Array.isArray(i)?n=n.concat(polyFlat(...i)):n.push(i);return n},flatten="function"==typeof Array.prototype.flat?nativeFlat:polyFlat;function mergeObjects(t){const n={};for(const i of t)Object.assign(n,i);return n}function pick(t,n){const i={};for(const a of n){const n=parseField(a),s=getFieldFromDoc(t,n);void 0!==s&&setFieldInDoc(i,n,s)}return i}function oneArrayIsSubArrayOfOther(t,n){for(let i=0,a=Math.min(t.length,n.length);i<a;i++)if(t[i]!==n[i])return!1;return!0}function oneArrayIsStrictSubArrayOfOther(t,n){return!(t.length>n.length)&&oneArrayIsSubArrayOfOther(t,n)}function oneSetIsSubArrayOfOther(t,n){t=t.slice();for(const i of n){if(!t.length)break;const n=t.indexOf(i);if(-1===n)return!1;t.splice(n,1)}return!0}function arrayToObject(t){const n={};for(const i of t)n[i]=!0;return n}function max$4(t,n){let i=null,a=-1;for(const s of t){const t=n(s);t>a&&(a=t,i=s)}return i}function arrayEquals(t,n){if(t.length!==n.length)return!1;for(let i=0,a=t.length;i<a;i++)if(t[i]!==n[i])return!1;return!0}function uniq(t){return Array.from(new Set(t))}function resolveToCallback(t){return function(...n){const i=n[n.length-1];if("function"!=typeof i)return t.apply(this,n);{const a=i.bind(null,null),s=i.bind(null);t.apply(this,n.slice(0,-1)).then(a,s)}}}function massageCreateIndexRequest(t){(t=clone$6(t)).index||(t.index={});for(const n of["type","name","ddoc"])t.index[n]&&(t[n]=t.index[n],delete t.index[n]);return t.fields&&(t.index.fields=t.fields,delete t.fields),t.type||(t.type="json"),t}function isNonNullObject(t){return"object"==typeof t&&null!==t}function checkFieldValueType(t,n,i){let a="",s=n,l=!0;if(-1!==["$in","$nin","$or","$and","$mod","$nor","$all"].indexOf(t)&&(Array.isArray(n)||(a="Query operator "+t+" must be an array.")),-1!==["$not","$elemMatch","$allMatch"].indexOf(t)&&(!Array.isArray(n)&&isNonNullObject(n)||(a="Query operator "+t+" must be an object.")),"$mod"===t&&Array.isArray(n))if(2!==n.length)a="Query operator $mod must be in the format [divisor, remainder], where divisor and remainder are both integers.";else{const t=n[0],i=n[1];0===t&&(a="Query operator $mod's divisor cannot be 0, cannot divide by zero.",l=!1),"number"==typeof t&&parseInt(t,10)===t||(a="Query operator $mod's divisor is not an integer.",s=t),parseInt(i,10)!==i&&(a="Query operator $mod's remainder is not an integer.",s=i)}if("$exists"===t&&"boolean"!=typeof n&&(a="Query operator $exists must be a boolean."),"$type"===t){const t=["null","boolean","number","string","array","object"],i='"'+t.slice(0,t.length-1).join('", "')+'", or "'+t[t.length-1]+'"';("string"!=typeof n||-1==t.indexOf(n))&&(a="Query operator $type must be a string. Supported values: "+i+".")}if("$size"===t&&parseInt(n,10)!==n&&(a="Query operator $size must be a integer."),"$regex"===t&&"string"!=typeof n&&(i?a="Query operator $regex must be a string.":n instanceof RegExp||(a="Query operator $regex must be a string or an instance of a javascript regular expression.")),a){if(l){a+=" Received"+(null===s?" ":Array.isArray(s)?" array":" "+typeof s)+": "+(isNonNullObject(s)?JSON.stringify(s,null,"\t"):s)}throw new Error(a)}}const requireValidation=["$all","$allMatch","$and","$elemMatch","$exists","$in","$mod","$nin","$nor","$not","$or","$regex","$size","$type"],arrayTypeComparisonOperators=["$in","$nin","$mod","$all"],equalityOperators=["$eq","$gt","$gte","$lt","$lte"];function validateSelector(t,n){if(Array.isArray(t))for(const i of t)isNonNullObject(i)&&validateSelector(i,n);else for(const[i,a]of Object.entries(t))-1!==requireValidation.indexOf(i)&&checkFieldValueType(i,a,n),-1===equalityOperators.indexOf(i)&&-1===arrayTypeComparisonOperators.indexOf(i)&&isNonNullObject(a)&&validateSelector(a,n)}async function dbFetch(t,n,i){i.body&&(i.body=JSON.stringify(i.body),i.headers=new h({"Content-type":"application/json"}));const a=await t.fetch(n,i),s=await a.json();if(!a.ok){s.status=a.status;throw generateErrorFromResponse(createError(s))}return s}async function createIndex(t,n){return await dbFetch(t,"_index",{method:"POST",body:massageCreateIndexRequest(n)})}async function find$1(t,n){return validateSelector(n.selector,!0),await dbFetch(t,"_find",{method:"POST",body:n})}async function explain(t,n){return await dbFetch(t,"_explain",{method:"POST",body:n})}async function getIndexes(t){return await dbFetch(t,"_index",{method:"GET"})}async function deleteIndex(t,n){const i=n.ddoc,a=n.type||"json",s=n.name;if(!i)throw new Error("you must provide an index's ddoc");if(!s)throw new Error("you must provide an index's name");const l="_index/"+[i,a,s].map(encodeURIComponent).join("/");return await dbFetch(t,l,{method:"DELETE"})}function getDeepValue(t,n){for(const i of n)if(void 0===(t=t[i]))return;return t}function createDeepMultiMapper(t,n,i){return function(a){if(i&&!matchesSelector(a,i))return;const s=[];for(const n of t){const t=getDeepValue(a,parseField(n));if(void 0===t)return;s.push(t)}n(s)}}function createDeepSingleMapper(t,n,i){const a=parseField(t);return function(t){if(i&&!matchesSelector(t,i))return;const s=getDeepValue(t,a);void 0!==s&&n(s)}}function createShallowSingleMapper(t,n,i){return function(a){i&&!matchesSelector(a,i)||n(a[t])}}function createShallowMultiMapper(t,n,i){return function(a){if(i&&!matchesSelector(a,i))return;const s=t.map((t=>a[t]));n(s)}}function checkShallow(t){return t.every((t=>-1===t.indexOf(".")))}function createMapper(t,n,i){const a=checkShallow(t),s=1===t.length;return a?s?createShallowSingleMapper(t[0],n,i):createShallowMultiMapper(t,n,i):s?createDeepSingleMapper(t[0],n,i):createDeepMultiMapper(t,n,i)}function mapper(t,n){return createMapper(Object.keys(t.fields),n,t.partial_filter_selector)}function reducer(){throw new Error("reduce not supported")}function ddocValidator(t,n){const i=t.views[n];if(!i.map||!i.map.fields)throw new Error("ddoc "+t._id+" with view "+n+" doesn't have map.fields defined. maybe it wasn't created by this plugin?")}const abstractMapper=createAbstractMapReduce("indexes",mapper,reducer,ddocValidator);function abstractMapper$1(t){return t._customFindAbstractMapper?{query:function(n,i){const a=abstractMapper.query.bind(this);return t._customFindAbstractMapper.query.call(this,n,i,a)},viewCleanup:function(){const n=abstractMapper.viewCleanup.bind(this);return t._customFindAbstractMapper.viewCleanup.call(this,n)}}:abstractMapper}function massageSort(t){if(!Array.isArray(t))throw new Error("invalid sort json - should be an array");return t.map((function(t){if("string"==typeof t){const n={};return n[t]="asc",n}return t}))}const ddocIdPrefix=/^_design\//;function massageUseIndex(t){let n=[];return"string"==typeof t?n.push(t):n=t,n.map((function(t){return t.replace(ddocIdPrefix,"")}))}function massageIndexDef(t){return t.fields=t.fields.map((function(t){if("string"==typeof t){const n={};return n[t]="asc",n}return t})),t.partial_filter_selector&&(t.partial_filter_selector=massageSelector(t.partial_filter_selector)),t}function getKeyFromDoc(t,n){return n.def.fields.map((n=>{const i=getKey(n);return getFieldFromDoc(t,parseField(i))}))}function filterInclusiveStart(t,n,i){const a=i.def.fields;let s=0;for(const l of t){let t=getKeyFromDoc(l.doc,i);if(1===a.length)t=t[0];else for(;t.length>n.length;)t.pop();if(Math.abs(collate(t,n))>0)break;++s}return s>0?t.slice(s):t}function reverseOptions(t){const n=clone$6(t);return delete n.startkey,delete n.endkey,delete n.inclusive_start,delete n.inclusive_end,"endkey"in t&&(n.startkey=t.endkey),"startkey"in t&&(n.endkey=t.startkey),"inclusive_start"in t&&(n.inclusive_end=t.inclusive_start),"inclusive_end"in t&&(n.inclusive_start=t.inclusive_end),n}function validateIndex(t){const n=t.fields.filter((function(t){return"asc"===getValue(t)}));if(0!==n.length&&n.length!==t.fields.length)throw new Error("unsupported mixed sorting")}function validateSort(t,n){if(n.defaultUsed&&t.sort){const n=t.sort.filter((function(t){return"_id"!==Object.keys(t)[0]})).map((function(t){return Object.keys(t)[0]}));if(n.length>0)throw new Error('Cannot sort on field(s) "'+n.join(",")+'" when using the default index')}n.defaultUsed}function validateFindRequest(t){if("object"!=typeof t.selector)throw new Error("you must provide a selector when you find()")}function getUserFields(t,n){const i=Object.keys(t),a=n?n.map(getKey):[];let s;return s=i.length>=a.length?i:a,0===a.length?{fields:s}:(s=s.sort((function(t,n){let i=a.indexOf(t);-1===i&&(i=Number.MAX_VALUE);let s=a.indexOf(n);return-1===s&&(s=Number.MAX_VALUE),i<s?-1:i>s?1:0})),{fields:s,sortOrder:n.map(getKey)})}async function createIndex$1(t,n){const i=clone$6((n=massageCreateIndexRequest(n)).index);let a;function s(){return a||(a=stringMd5(JSON.stringify(n)))}n.index=massageIndexDef(n.index),validateIndex(n.index);const l=n.name||"idx-"+s(),c=n.ddoc||"idx-"+s(),u="_design/"+c;let d=!1,f=!1;if(t.constructor.emit("debug",["find","creating index",u]),await upsert(t,u,(function(t){return t._rev&&"query"!==t.language&&(d=!0),t.language="query",t.views=t.views||{},f=!!t.views[l],!f&&(t.views[l]={map:{fields:mergeObjects(n.index.fields),partial_filter_selector:n.index.partial_filter_selector},reduce:"_count",options:{def:i}},t)})),d)throw new Error('invalid language for ddoc with id "'+u+'" (should be "query")');const m=c+"/"+l;return await abstractMapper$1(t).query.call(t,m,{limit:0,reduce:!1}),{id:u,name:l,result:f?"exists":"created"}}async function getIndexes$1(t){const n=await t.allDocs({startkey:"_design/",endkey:"_design/￿",include_docs:!0}),i={indexes:[{ddoc:null,name:"_all_docs",type:"special",def:{fields:[{_id:"asc"}]}}]};return i.indexes=flatten(i.indexes,n.rows.filter((function(t){return"query"===t.doc.language})).map((function(t){return(void 0!==t.doc.views?Object.keys(t.doc.views):[]).map((function(n){const i=t.doc.views[n];return{ddoc:t.id,name:n,type:"json",def:massageIndexDef(i.options.def)}}))}))),i.indexes.sort((function(t,n){return compare(t.name,n.name)})),i.total_rows=i.indexes.length,i}const COLLATE_LO=null,COLLATE_HI={"￿":{}},SHORT_CIRCUIT_QUERY={queryOpts:{limit:0,startkey:COLLATE_HI,endkey:COLLATE_LO},inMemoryFields:[]};function checkFieldInIndex(t,n){return t.def.fields.some((t=>getKey(t)===n))}function userOperatorLosesPrecision(t,n){return"$eq"!==getKey(t[n])}function sortFieldsByIndex(t,n){const i=n.def.fields.map(getKey);return t.slice().sort((function(t,n){let a=i.indexOf(t),s=i.indexOf(n);return-1===a&&(a=Number.MAX_VALUE),-1===s&&(s=Number.MAX_VALUE),compare(a,s)}))}function getBasicInMemoryFields(t,n,i){let a=!1;for(let s=0,l=(i=sortFieldsByIndex(i,t)).length;s<l;s++){const c=i[s];if(a||!checkFieldInIndex(t,c))return i.slice(s);s<l-1&&userOperatorLosesPrecision(n,c)&&(a=!0)}return[]}function getInMemoryFieldsFromNe(t){const n=[];for(const[i,a]of Object.entries(t))for(const t of Object.keys(a))"$ne"===t&&n.push(i);return n}function getInMemoryFields(t,n,i,a){return sortFieldsByIndex(uniq(flatten(t,getBasicInMemoryFields(n,i,a),getInMemoryFieldsFromNe(i))),n)}function checkIndexFieldsMatch(t,n,i){if(n){const a=oneArrayIsStrictSubArrayOfOther(n,t),s=oneArrayIsSubArrayOfOther(i,t);return a&&s}return oneSetIsSubArrayOfOther(i,t)}const logicalMatchers=["$eq","$gt","$gte","$lt","$lte"];function isNonLogicalMatcher(t){return-1===logicalMatchers.indexOf(t)}function checkFieldsLogicallySound(t,n){const i=n[t[0]];if(void 0===i)return!0;return!(1===Object.keys(i).length&&"$ne"===getKey(i))}function checkIndexMatches(t,n,i,a){const s=t.def.fields.map(getKey);return!!checkIndexFieldsMatch(s,n,i)&&checkFieldsLogicallySound(s,a)}function findMatchingIndexes(t,n,i,a){return a.filter((function(a){return checkIndexMatches(a,i,n,t)}))}function findBestMatchingIndex(t,n,i,a,s){const l=findMatchingIndexes(t,n,i,a);if(0===l.length){if(s)throw{error:"no_usable_index",message:"There is no index available for this selector."};const t=a[0];return t.defaultUsed=!0,t}if(1===l.length&&!s)return l[0];const c=arrayToObject(n);if(s){const t="_design/"+s[0],n=2===s.length&&s[1],i=l.find((function(i){return!(!n||i.ddoc!==t||n!==i.name)||i.ddoc===t}));if(!i)throw{error:"unknown_error",message:"Could not find that index or could not use that index for the query"};return i}return max$4(l,(function(t){const n=t.def.fields.map(getKey);let i=0;for(const a of n)c[a]&&i++;return i}))}function getSingleFieldQueryOptsFor(t,n){switch(t){case"$eq":return{key:n};case"$lte":return{endkey:n};case"$gte":return{startkey:n};case"$lt":return{endkey:n,inclusive_end:!1};case"$gt":return{startkey:n,inclusive_start:!1}}return{startkey:COLLATE_LO}}function getSingleFieldCoreQueryPlan(t,n){const i=getKey(n.def.fields[0]),a=t[i]||{},s=[],l=Object.keys(a);let c;for(const u of l){isNonLogicalMatcher(u)&&s.push(i);const t=getSingleFieldQueryOptsFor(u,a[u]);c=c?mergeObjects([c,t]):t}return{queryOpts:c,inMemoryFields:s}}function getMultiFieldCoreQueryPlan(t,n){switch(t){case"$eq":return{startkey:n,endkey:n};case"$lte":return{endkey:n};case"$gte":return{startkey:n};case"$lt":return{endkey:n,inclusive_end:!1};case"$gt":return{startkey:n,inclusive_start:!1}}}function getMultiFieldQueryOpts(t,n){const i=n.def.fields.map(getKey);let a=[];const s=[],l=[];let c,u;function d(t){!1!==c&&s.push(COLLATE_LO),!1!==u&&l.push(COLLATE_HI),a=i.slice(t)}for(let m=0,g=i.length;m<g;m++){const n=t[i[m]];if(!n||!Object.keys(n).length){d(m);break}if(Object.keys(n).some(isNonLogicalMatcher)){d(m);break}if(m>0){const a="$gt"in n||"$gte"in n||"$lt"in n||"$lte"in n,s=Object.keys(t[i[m-1]]),l=arrayEquals(s,["$eq"]),c=arrayEquals(s,Object.keys(n));if(a&&!l&&!c){d(m);break}}const a=Object.keys(n);let f=null;for(const t of a){const i=getMultiFieldCoreQueryPlan(t,n[t]);f=f?mergeObjects([f,i]):i}s.push("startkey"in f?f.startkey:COLLATE_LO),l.push("endkey"in f?f.endkey:COLLATE_HI),"inclusive_start"in f&&(c=f.inclusive_start),"inclusive_end"in f&&(u=f.inclusive_end)}const f={startkey:s,endkey:l};return void 0!==c&&(f.inclusive_start=c),void 0!==u&&(f.inclusive_end=u),{queryOpts:f,inMemoryFields:a}}function shouldShortCircuit(t){return Object.keys(t).map((function(n){return t[n]})).some((function(t){return"object"==typeof t&&0===Object.keys(t).length}))}function getDefaultQueryPlan(t){return{queryOpts:{startkey:null},inMemoryFields:[Object.keys(t)]}}function getCoreQueryPlan(t,n){return n.defaultUsed?getDefaultQueryPlan(t):1===n.def.fields.length?getSingleFieldCoreQueryPlan(t,n):getMultiFieldQueryOpts(t,n)}function planQuery(t,n){const i=t.selector,a=t.sort;if(shouldShortCircuit(i))return Object.assign({},SHORT_CIRCUIT_QUERY,{index:n[0]});const s=getUserFields(i,a),l=s.fields,c=findBestMatchingIndex(i,l,s.sortOrder,n,t.use_index),u=getCoreQueryPlan(i,c);return{queryOpts:u.queryOpts,index:c,inMemoryFields:getInMemoryFields(u.inMemoryFields,c,i,l)}}function indexToSignature(t){return t.ddoc.substring(8)+"/"+t.name}async function doAllDocs(t,n){const i=clone$6(n);i.descending?("endkey"in i&&"string"!=typeof i.endkey&&(i.endkey=""),"startkey"in i&&"string"!=typeof i.startkey&&(i.limit=0)):("startkey"in i&&"string"!=typeof i.startkey&&(i.startkey=""),"endkey"in i&&"string"!=typeof i.endkey&&(i.limit=0)),"key"in i&&"string"!=typeof i.key&&(i.limit=0),i.limit>0&&i.indexes_count&&(i.original_limit=i.limit,i.limit+=i.indexes_count);const a=await t.allDocs(i);return a.rows=a.rows.filter((function(t){return!/^_design\//.test(t.id)})),i.original_limit&&(i.limit=i.original_limit),a.rows=a.rows.slice(0,i.limit),a}async function queryAllOrIndex(t,n,i){return"_all_docs"===i.name?doAllDocs(t,n):abstractMapper$1(t).query.call(t,indexToSignature(i),n)}async function find$1$1(t,n,i){n.selector&&(validateSelector(n.selector,!1),n.selector=massageSelector(n.selector)),n.sort&&(n.sort=massageSort(n.sort)),n.use_index&&(n.use_index=massageUseIndex(n.use_index)),"limit"in n||(n.limit=25),validateFindRequest(n);const a=await getIndexes$1(t);t.constructor.emit("debug",["find","planning query",n]);const s=planQuery(n,a.indexes);t.constructor.emit("debug",["find","query plan",s]);const l=s.index;validateSort(n,l);let c=Object.assign({include_docs:!0,reduce:!1,indexes_count:a.total_rows},s.queryOpts);if("startkey"in c&&"endkey"in c&&collate(c.startkey,c.endkey)>0)return{docs:[]};if(n.sort&&"string"!=typeof n.sort[0]&&"desc"===getValue(n.sort[0])&&(c.descending=!0,c=reverseOptions(c)),s.inMemoryFields.length||(c.limit=n.limit,"skip"in n&&(c.skip=n.skip)),i)return Promise.resolve(s,c);const u=await queryAllOrIndex(t,c,l);!1===c.inclusive_start&&(u.rows=filterInclusiveStart(u.rows,c.startkey,l)),s.inMemoryFields.length&&(u.rows=filterInMemoryFields(u.rows,n,s.inMemoryFields));const d={docs:u.rows.map((function(t){const i=t.doc;return n.fields?pick(i,n.fields):i}))};return l.defaultUsed&&(d.warning="No matching index found, create an index to optimize query time."),d}async function explain$1(t,n){const i=await find$1$1(t,n,!0);return{dbname:t.name,index:i.index,selector:n.selector,range:{start_key:i.queryOpts.startkey,end_key:i.queryOpts.endkey},opts:{use_index:n.use_index||[],bookmark:"nil",limit:n.limit,skip:n.skip,sort:n.sort||{},fields:n.fields,conflicts:!1,r:[49]},limit:n.limit,skip:n.skip||0,fields:n.fields}}async function deleteIndex$1(t,n){if(!n.ddoc)throw new Error("you must supply an index.ddoc when deleting");if(!n.name)throw new Error("you must supply an index.name when deleting");const i=n.ddoc,a=n.name;return await upsert(t,i,(function(t){return 1===Object.keys(t.views).length&&t.views[a]?{_id:i,_deleted:!0}:(delete t.views[a],t)})),await abstractMapper$1(t).viewCleanup.apply(t),{ok:!0}}const plugin$1={};function getConfigUrl(t){return(t?"/_node/"+t:"")+"/_config"}function wrapError(t){throw"unknown_error"===t.name&&(t.message=(t.message||"")+" Unknown error! Did you remember to enable CORS?"),t}function fetchJSON(t,n,i){return(i=i||{}).body&&(i.body=JSON.stringify(i.body)),i.headers=i.headers||new h,i.headers.set("Content-Type","application/json"),i.headers.set("Accept","application/json"),t(n,i).then((function(t){return t.ok?t.json():t.json().then((function(t){throw t}))})).catch(wrapError)}function toCallback(t){return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if("function"==typeof n[-1]){var a=n[-1];return t.apply(this,n.slice(0,-2)).then((function(t){return a(null,t)}),(function(t){return a(t)}))}return t.apply(this,n)}}plugin$1.createIndex=resolveToCallback((async function(t){if("object"!=typeof t)throw new Error("you must provide an index to create");return(isRemote(this)?createIndex:createIndex$1)(this,t)})),plugin$1.find=resolveToCallback((async function(t){if("object"!=typeof t)throw new Error("you must provide search parameters to find()");return(isRemote(this)?find$1:find$1$1)(this,t)})),plugin$1.explain=resolveToCallback((async function(t){if("object"!=typeof t)throw new Error("you must provide search parameters to explain()");return(isRemote(this)?explain:explain$1)(this,t)})),plugin$1.getIndexes=resolveToCallback((async function(){return(isRemote(this)?getIndexes:getIndexes$1)(this)})),plugin$1.deleteIndex=resolveToCallback((async function(t){if("object"!=typeof t)throw new Error("you must provide an index to delete");return(isRemote(this)?deleteIndex:deleteIndex$1)(this,t)}));var AuthError=function(t){function n(i){t.call(this,i),this.name="authentication_error",this.status=400,this.error=!0,Object.setPrototypeOf(this,n.prototype)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n}(Error),getMembership=toCallback((function(t){void 0===t&&(t={});var n=Object.assign({method:"GET"},t.ajax||{});return fetchJSON(this.fetch,"/_membership",n)})),getNodeName=function(t,n){return t.getMembership(n).then((function(t){return t.all_nodes[0]}),(function(t){if("illegal_database_name"!==t.error)throw t}))},signUpAdmin=toCallback((function(t,n,i){var a=this;return void 0===i&&(i={}),-1===["http","https"].indexOf(a.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?n?getNodeName(a,i).then((function(s){var l=getConfigUrl(s),c=(i.configUrl||l)+"/admins/"+encodeURIComponent(t),u=Object.assign({method:"PUT",body:n},i.ajax||{});return fetchJSON(a.fetch,c,u)})):Promise.reject(new AuthError("You must provide a password")):Promise.reject(new AuthError("You must provide a username"))})),deleteAdmin=toCallback((function(t,n){var i=this;return void 0===n&&(n={}),-1===["http","https"].indexOf(i.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?getNodeName(i,n).then((function(a){var s=getConfigUrl(a),l=(n.configUrl||s)+"/admins/"+encodeURIComponent(t),c=Object.assign({method:"DELETE",processData:!1},n.ajax||{});return fetchJSON(i.fetch,l,c)})):Promise.reject(new AuthError("You must provide a username"))})),sessionPath="/_session",logIn=toCallback((function(t,n,i){if(void 0===i&&(i={}),-1===["http","https"].indexOf(this.type()))return Promise.reject(new AuthError("this plugin only works for the http/https adapter"));if(!t)return Promise.reject(new AuthError("you must provide a username"));if(!n)return Promise.reject(new AuthError("you must provide a password"));var a=sessionPath,s=Object.assign({method:"POST",body:{name:t,password:n}},i.ajax||{});return fetchJSON(this.fetch,a,s)})),logOut=toCallback((function(t){void 0===t&&(t={});var n=sessionPath,i=Object.assign({method:"DELETE"},t.ajax||{});return fetchJSON(this.fetch,n,i)})),getSession=toCallback((function(t){void 0===t&&(t={});var n=sessionPath,i=Object.assign({method:"GET"},t.ajax||{});return fetchJSON(this.fetch,n,i)})),usersPath="/_users";function updateUser(t,n,i){var a=["_id","_rev","name","type","roles","password","password_scheme","iterations","derived_key","salt"];if(i.metadata){for(var s in i.metadata)if(i.metadata.hasOwnProperty(s)&&-1!==a.indexOf(s))return Promise.reject(new AuthError('cannot use reserved word in metadata: "'+s+'"'));n=Object.assign(n,i.metadata)}i.roles&&(n=Object.assign(n,{roles:i.roles}));var l=usersPath+"/"+encodeURIComponent(n._id),c=Object.assign({method:"PUT",body:n},i.ajax||{});return fetchJSON(t.fetch,l,c)}var signUp=toCallback((function(t,n,i){return void 0===i&&(i={}),-1===["http","https"].indexOf(this.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?n?updateUser(this,{name:t,password:n,roles:[],type:"user",_id:"org.couchdb.user:"+t},i):Promise.reject(new AuthError("You must provide a password")):Promise.reject(new AuthError("You must provide a username"))})),getUser=toCallback((function(t,n){if(void 0===n&&(n={}),!t)return Promise.reject(new AuthError("you must provide a username"));var i=usersPath+"/"+encodeURIComponent("org.couchdb.user:"+t),a=Object.assign({method:"GET"},n.ajax||{});return fetchJSON(this.fetch,i,a).then((function(t){return console.log(t),t}))})),putUser=toCallback((function(t,n){var i=this;return void 0===n&&(n={}),-1===["http","https"].indexOf(i.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?i.getUser(t,n).then((function(t){return updateUser(i,t,n)})):Promise.reject(new AuthError("You must provide a username"))})),deleteUser=toCallback((function(t,n){var i=this;return void 0===n&&(n={}),-1===["http","https"].indexOf(i.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?i.getUser(t,n).then((function(t){var a=usersPath+"/"+encodeURIComponent(t._id)+"?rev="+t._rev,s=Object.assign({method:"DELETE"},n.ajax||{});return fetchJSON(i.fetch,a,s)})):Promise.reject(new AuthError("You must provide a username"))})),changePassword=toCallback((function(t,n,i){var a=this;return void 0===i&&(i={}),-1===["http","https"].indexOf(a.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):t?n?a.getUser(t,i).then((function(t){t.password=n;var s=usersPath+"/"+encodeURIComponent(t._id),l=Object.assign({method:"PUT",body:t},i.ajax||{});return fetchJSON(a.fetch,s,l)})):Promise.reject(new AuthError("You must provide a password")):Promise.reject(new AuthError("You must provide a username"))})),changeUsername=toCallback((function(t,n,i){var a=this,s=function(t,n){var i=usersPath+"/"+encodeURIComponent(t._id),s=Object.assign({method:"PUT",body:t},n.ajax);return fetchJSON(a.fetch,i,s)};return void 0===i&&(i={}),i.ajax=i.ajax||{},-1===["http","https"].indexOf(a.type())?Promise.reject(new AuthError('This plugin only works for the http/https adapter. So you should use new PouchDB("http://mysite.com:5984/mydb") instead.')):n?t?a.getUser(n,i).then((function(){var t=new AuthError("user already exists");throw t.taken=!0,t}),(function(){return a.getUser(t,i)})).then((function(t){var a=clone$6(t);return delete a._rev,a._id="org.couchdb.user:"+n,a.name=n,a.roles=i.roles||t.roles||{},s(a,i).then((function(){return t._deleted=!0,s(t,i)}))})):Promise.reject(new AuthError("You must provide a username to rename")):Promise.reject(new AuthError("You must provide a new username"))})),plugin={},hookCallback$3,some$3;function hooks$3(){return hookCallback$3.apply(null,arguments)}function setHookCallback$3(t){hookCallback$3=t}function isArray$4(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function isObject$3(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function hasOwnProp$3(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function isObjectEmpty$3(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var n;for(n in t)if(hasOwnProp$3(t,n))return!1;return!0}function isUndefined$3(t){return void 0===t}function isNumber$3(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function isDate$3(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function map$3(t,n){var i,a=[],s=t.length;for(i=0;i<s;++i)a.push(n(t[i],i));return a}function extend$4(t,n){for(var i in n)hasOwnProp$3(n,i)&&(t[i]=n[i]);return hasOwnProp$3(n,"toString")&&(t.toString=n.toString),hasOwnProp$3(n,"valueOf")&&(t.valueOf=n.valueOf),t}function createUTC$3(t,n,i,a){return createLocalOrUTC$3(t,n,i,a,!0).utc()}function defaultParsingFlags$3(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function getParsingFlags$3(t){return null==t._pf&&(t._pf=defaultParsingFlags$3()),t._pf}function isValid$5(t){var n=null,i=!1,a=t._d&&!isNaN(t._d.getTime());return a&&(n=getParsingFlags$3(t),i=some$3.call(n.parsedDateParts,(function(t){return null!=t})),a=n.overflow<0&&!n.empty&&!n.invalidEra&&!n.invalidMonth&&!n.invalidWeekday&&!n.weekdayMismatch&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&i),t._strict&&(a=a&&0===n.charsLeftOver&&0===n.unusedTokens.length&&void 0===n.bigHour)),null!=Object.isFrozen&&Object.isFrozen(t)?a:(t._isValid=a,t._isValid)}function createInvalid$4(t){var n=createUTC$3(NaN);return null!=t?extend$4(getParsingFlags$3(n),t):getParsingFlags$3(n).userInvalidated=!0,n}plugin.login=logIn,plugin.logIn=logIn,plugin.logout=logOut,plugin.logOut=logOut,plugin.getSession=getSession,plugin.getMembership=getMembership,plugin.signUpAdmin=signUpAdmin,plugin.deleteAdmin=deleteAdmin,plugin.signup=signUp,plugin.signUp=signUp,plugin.getUser=getUser,plugin.putUser=putUser,plugin.deleteUser=deleteUser,plugin.changePassword=changePassword,plugin.changeUsername=changeUsername,"undefined"!=typeof window&&window.PouchDB&&window.PouchDB.plugin(plugin),some$3=Array.prototype.some?Array.prototype.some:function(t){var n,i=Object(this),a=i.length>>>0;for(n=0;n<a;n++)if(n in i&&t.call(this,i[n],n,i))return!0;return!1};var momentProperties$3=hooks$3.momentProperties=[],updateInProgress$3=!1;function copyConfig$3(t,n){var i,a,s,l=momentProperties$3.length;if(isUndefined$3(n._isAMomentObject)||(t._isAMomentObject=n._isAMomentObject),isUndefined$3(n._i)||(t._i=n._i),isUndefined$3(n._f)||(t._f=n._f),isUndefined$3(n._l)||(t._l=n._l),isUndefined$3(n._strict)||(t._strict=n._strict),isUndefined$3(n._tzm)||(t._tzm=n._tzm),isUndefined$3(n._isUTC)||(t._isUTC=n._isUTC),isUndefined$3(n._offset)||(t._offset=n._offset),isUndefined$3(n._pf)||(t._pf=getParsingFlags$3(n)),isUndefined$3(n._locale)||(t._locale=n._locale),l>0)for(i=0;i<l;i++)isUndefined$3(s=n[a=momentProperties$3[i]])||(t[a]=s);return t}function Moment$3(t){copyConfig$3(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress$3&&(updateInProgress$3=!0,hooks$3.updateOffset(this),updateInProgress$3=!1)}function isMoment$3(t){return t instanceof Moment$3||null!=t&&null!=t._isAMomentObject}function warn$3(t){!1===hooks$3.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function deprecate$3(t,n){var i=!0;return extend$4((function(){if(null!=hooks$3.deprecationHandler&&hooks$3.deprecationHandler(null,t),i){var a,s,l,c=[],u=arguments.length;for(s=0;s<u;s++){if(a="","object"==typeof arguments[s]){for(l in a+="\n["+s+"] ",arguments[0])hasOwnProp$3(arguments[0],l)&&(a+=l+": "+arguments[0][l]+", ");a=a.slice(0,-2)}else a=arguments[s];c.push(a)}warn$3(t+"\nArguments: "+Array.prototype.slice.call(c).join("")+"\n"+(new Error).stack),i=!1}return n.apply(this,arguments)}),n)}var deprecations$3={},keys$4;function deprecateSimple$3(t,n){null!=hooks$3.deprecationHandler&&hooks$3.deprecationHandler(t,n),deprecations$3[t]||(warn$3(n),deprecations$3[t]=!0)}function isFunction$3(t){return"undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function set$4(t){var n,i;for(i in t)hasOwnProp$3(t,i)&&(isFunction$3(n=t[i])?this[i]=n:this["_"+i]=n);this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs$3(t,n){var i,a=extend$4({},t);for(i in n)hasOwnProp$3(n,i)&&(isObject$3(t[i])&&isObject$3(n[i])?(a[i]={},extend$4(a[i],t[i]),extend$4(a[i],n[i])):null!=n[i]?a[i]=n[i]:delete a[i]);for(i in t)hasOwnProp$3(t,i)&&!hasOwnProp$3(n,i)&&isObject$3(t[i])&&(a[i]=extend$4({},a[i]));return a}function Locale$3(t){null!=t&&this.set(t)}hooks$3.suppressDeprecationWarnings=!1,hooks$3.deprecationHandler=null,keys$4=Object.keys?Object.keys:function(t){var n,i=[];for(n in t)hasOwnProp$3(t,n)&&i.push(n);return i};var defaultCalendar$3={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function calendar$4(t,n,i){var a=this._calendar[t]||this._calendar.sameElse;return isFunction$3(a)?a.call(n,i):a}function zeroFill$3(t,n,i){var a=""+Math.abs(t),s=n-a.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+a}var formattingTokens$3=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens$3=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions$3={},formatTokenFunctions$3={};function addFormatToken$3(t,n,i,a){var s=a;"string"==typeof a&&(s=function(){return this[a]()}),t&&(formatTokenFunctions$3[t]=s),n&&(formatTokenFunctions$3[n[0]]=function(){return zeroFill$3(s.apply(this,arguments),n[1],n[2])}),i&&(formatTokenFunctions$3[i]=function(){return this.localeData().ordinal(s.apply(this,arguments),t)})}function removeFormattingTokens$3(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function makeFormatFunction$3(t){var n,i,a=t.match(formattingTokens$3);for(n=0,i=a.length;n<i;n++)formatTokenFunctions$3[a[n]]?a[n]=formatTokenFunctions$3[a[n]]:a[n]=removeFormattingTokens$3(a[n]);return function(n){var s,l="";for(s=0;s<i;s++)l+=isFunction$3(a[s])?a[s].call(n,t):a[s];return l}}function formatMoment$3(t,n){return t.isValid()?(n=expandFormat$3(n,t.localeData()),formatFunctions$3[n]=formatFunctions$3[n]||makeFormatFunction$3(n),formatFunctions$3[n](t)):t.localeData().invalidDate()}function expandFormat$3(t,n){var i=5;function a(t){return n.longDateFormat(t)||t}for(localFormattingTokens$3.lastIndex=0;i>=0&&localFormattingTokens$3.test(t);)t=t.replace(localFormattingTokens$3,a),localFormattingTokens$3.lastIndex=0,i-=1;return t}var defaultLongDateFormat$3={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function longDateFormat$3(t){var n=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return n||!i?n:(this._longDateFormat[t]=i.match(formattingTokens$3).map((function(t){return"MMMM"===t||"MM"===t||"DD"===t||"dddd"===t?t.slice(1):t})).join(""),this._longDateFormat[t])}var defaultInvalidDate$3="Invalid date";function invalidDate$3(){return this._invalidDate}var defaultOrdinal$3="%d",defaultDayOfMonthOrdinalParse$3=/\d{1,2}/;function ordinal$3(t){return this._ordinal.replace("%d",t)}var defaultRelativeTime$3={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relativeTime$4(t,n,i,a){var s=this._relativeTime[i];return isFunction$3(s)?s(t,n,i,a):s.replace(/%d/i,t)}function pastFuture$3(t,n){var i=this._relativeTime[t>0?"future":"past"];return isFunction$3(i)?i(n):i.replace(/%s/i,n)}var aliases$3={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function normalizeUnits$3(t){return"string"==typeof t?aliases$3[t]||aliases$3[t.toLowerCase()]:void 0}function normalizeObjectUnits$3(t){var n,i,a={};for(i in t)hasOwnProp$3(t,i)&&(n=normalizeUnits$3(i))&&(a[n]=t[i]);return a}var priorities$3={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function getPrioritizedUnits$3(t){var n,i=[];for(n in t)hasOwnProp$3(t,n)&&i.push({unit:n,priority:priorities$3[n]});return i.sort((function(t,n){return t.priority-n.priority})),i}var match1$3=/\d/,match2$3=/\d\d/,match3$3=/\d{3}/,match4$3=/\d{4}/,match6$3=/[+-]?\d{6}/,match1to2$3=/\d\d?/,match3to4$3=/\d\d\d\d?/,match5to6$3=/\d\d\d\d\d\d?/,match1to3$3=/\d{1,3}/,match1to4$3=/\d{1,4}/,match1to6$3=/[+-]?\d{1,6}/,matchUnsigned$3=/\d+/,matchSigned$3=/[+-]?\d+/,matchOffset$3=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset$3=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp$3=/[+-]?\d+(\.\d{1,3})?/,matchWord$3=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,match1to2NoLeadingZero$3=/^[1-9]\d?/,match1to2HasZero$3=/^([1-9]\d|\d)/,regexes$3;function addRegexToken$3(t,n,i){regexes$3[t]=isFunction$3(n)?n:function(t,a){return t&&i?i:n}}function getParseRegexForToken$3(t,n){return hasOwnProp$3(regexes$3,t)?regexes$3[t](n._strict,n._locale):new RegExp(unescapeFormat$3(t))}function unescapeFormat$3(t){return regexEscape$3(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,n,i,a,s){return n||i||a||s})))}function regexEscape$3(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function absFloor$3(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function toInt$3(t){var n=+t,i=0;return 0!==n&&isFinite(n)&&(i=absFloor$3(n)),i}regexes$3={};var tokens$3={};function addParseToken$3(t,n){var i,a,s=n;for("string"==typeof t&&(t=[t]),isNumber$3(n)&&(s=function(t,i){i[n]=toInt$3(t)}),a=t.length,i=0;i<a;i++)tokens$3[t[i]]=s}function addWeekParseToken$3(t,n){addParseToken$3(t,(function(t,i,a,s){a._w=a._w||{},n(t,a._w,a,s)}))}function addTimeToArrayFromToken$3(t,n,i){null!=n&&hasOwnProp$3(tokens$3,t)&&tokens$3[t](n,i._a,i,t)}function isLeapYear$3(t){return t%4==0&&t%100!=0||t%400==0}var YEAR$3=0,MONTH$3=1,DATE$3=2,HOUR$3=3,MINUTE$3=4,SECOND$3=5,MILLISECOND$3=6,WEEK$3=7,WEEKDAY$3=8;function daysInYear$3(t){return isLeapYear$3(t)?366:365}addFormatToken$3("Y",0,0,(function(){var t=this.year();return t<=9999?zeroFill$3(t,4):"+"+t})),addFormatToken$3(0,["YY",2],0,(function(){return this.year()%100})),addFormatToken$3(0,["YYYY",4],0,"year"),addFormatToken$3(0,["YYYYY",5],0,"year"),addFormatToken$3(0,["YYYYYY",6,!0],0,"year"),addRegexToken$3("Y",matchSigned$3),addRegexToken$3("YY",match1to2$3,match2$3),addRegexToken$3("YYYY",match1to4$3,match4$3),addRegexToken$3("YYYYY",match1to6$3,match6$3),addRegexToken$3("YYYYYY",match1to6$3,match6$3),addParseToken$3(["YYYYY","YYYYYY"],YEAR$3),addParseToken$3("YYYY",(function(t,n){n[YEAR$3]=2===t.length?hooks$3.parseTwoDigitYear(t):toInt$3(t)})),addParseToken$3("YY",(function(t,n){n[YEAR$3]=hooks$3.parseTwoDigitYear(t)})),addParseToken$3("Y",(function(t,n){n[YEAR$3]=parseInt(t,10)})),hooks$3.parseTwoDigitYear=function(t){return toInt$3(t)+(toInt$3(t)>68?1900:2e3)};var getSetYear$3=makeGetSet$3("FullYear",!0),indexOf$3;function getIsLeapYear$3(){return isLeapYear$3(this.year())}function makeGetSet$3(t,n){return function(i){return null!=i?(set$1$3(this,t,i),hooks$3.updateOffset(this,n),this):get$8(this,t)}}function get$8(t,n){if(!t.isValid())return NaN;var i=t._d,a=t._isUTC;switch(n){case"Milliseconds":return a?i.getUTCMilliseconds():i.getMilliseconds();case"Seconds":return a?i.getUTCSeconds():i.getSeconds();case"Minutes":return a?i.getUTCMinutes():i.getMinutes();case"Hours":return a?i.getUTCHours():i.getHours();case"Date":return a?i.getUTCDate():i.getDate();case"Day":return a?i.getUTCDay():i.getDay();case"Month":return a?i.getUTCMonth():i.getMonth();case"FullYear":return a?i.getUTCFullYear():i.getFullYear();default:return NaN}}function set$1$3(t,n,i){var a,s,l,c,u;if(t.isValid()&&!isNaN(i)){switch(a=t._d,s=t._isUTC,n){case"Milliseconds":return void(s?a.setUTCMilliseconds(i):a.setMilliseconds(i));case"Seconds":return void(s?a.setUTCSeconds(i):a.setSeconds(i));case"Minutes":return void(s?a.setUTCMinutes(i):a.setMinutes(i));case"Hours":return void(s?a.setUTCHours(i):a.setHours(i));case"Date":return void(s?a.setUTCDate(i):a.setDate(i));case"FullYear":break;default:return}l=i,c=t.month(),u=29!==(u=t.date())||1!==c||isLeapYear$3(l)?u:28,s?a.setUTCFullYear(l,c,u):a.setFullYear(l,c,u)}}function stringGet$3(t){return isFunction$3(this[t=normalizeUnits$3(t)])?this[t]():this}function stringSet$3(t,n){if("object"==typeof t){var i,a=getPrioritizedUnits$3(t=normalizeObjectUnits$3(t)),s=a.length;for(i=0;i<s;i++)this[a[i].unit](t[a[i].unit])}else if(isFunction$3(this[t=normalizeUnits$3(t)]))return this[t](n);return this}function mod$5(t,n){return(t%n+n)%n}function daysInMonth$3(t,n){if(isNaN(t)||isNaN(n))return NaN;var i=mod$5(n,12);return t+=(n-i)/12,1===i?isLeapYear$3(t)?29:28:31-i%7%2}indexOf$3=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var n;for(n=0;n<this.length;++n)if(this[n]===t)return n;return-1},addFormatToken$3("M",["MM",2],"Mo",(function(){return this.month()+1})),addFormatToken$3("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),addFormatToken$3("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),addRegexToken$3("M",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("MM",match1to2$3,match2$3),addRegexToken$3("MMM",(function(t,n){return n.monthsShortRegex(t)})),addRegexToken$3("MMMM",(function(t,n){return n.monthsRegex(t)})),addParseToken$3(["M","MM"],(function(t,n){n[MONTH$3]=toInt$3(t)-1})),addParseToken$3(["MMM","MMMM"],(function(t,n,i,a){var s=i._locale.monthsParse(t,a,i._strict);null!=s?n[MONTH$3]=s:getParsingFlags$3(i).invalidMonth=t}));var defaultLocaleMonths$3="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort$3="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT$3=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex$3=matchWord$3,defaultMonthsRegex$3=matchWord$3;function localeMonths$3(t,n){return t?isArray$4(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT$3).test(n)?"format":"standalone"][t.month()]:isArray$4(this._months)?this._months:this._months.standalone}function localeMonthsShort$3(t,n){return t?isArray$4(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[MONTHS_IN_FORMAT$3.test(n)?"format":"standalone"][t.month()]:isArray$4(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function handleStrictParse$4(t,n,i){var a,s,l,c=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)l=createUTC$3([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(l,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(l,"").toLocaleLowerCase();return i?"MMM"===n?-1!==(s=indexOf$3.call(this._shortMonthsParse,c))?s:null:-1!==(s=indexOf$3.call(this._longMonthsParse,c))?s:null:"MMM"===n?-1!==(s=indexOf$3.call(this._shortMonthsParse,c))||-1!==(s=indexOf$3.call(this._longMonthsParse,c))?s:null:-1!==(s=indexOf$3.call(this._longMonthsParse,c))||-1!==(s=indexOf$3.call(this._shortMonthsParse,c))?s:null}function localeMonthsParse$3(t,n,i){var a,s,l;if(this._monthsParseExact)return handleStrictParse$4.call(this,t,n,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(s=createUTC$3([2e3,a]),i&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(s,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(s,"").replace(".","")+"$","i")),i||this._monthsParse[a]||(l="^"+this.months(s,"")+"|^"+this.monthsShort(s,""),this._monthsParse[a]=new RegExp(l.replace(".",""),"i")),i&&"MMMM"===n&&this._longMonthsParse[a].test(t))return a;if(i&&"MMM"===n&&this._shortMonthsParse[a].test(t))return a;if(!i&&this._monthsParse[a].test(t))return a}}function setMonth$3(t,n){if(!t.isValid())return t;if("string"==typeof n)if(/^\d+$/.test(n))n=toInt$3(n);else if(!isNumber$3(n=t.localeData().monthsParse(n)))return t;var i=n,a=t.date();return a=a<29?a:Math.min(a,daysInMonth$3(t.year(),i)),t._isUTC?t._d.setUTCMonth(i,a):t._d.setMonth(i,a),t}function getSetMonth$3(t){return null!=t?(setMonth$3(this,t),hooks$3.updateOffset(this,!0),this):get$8(this,"Month")}function getDaysInMonth$3(){return daysInMonth$3(this.year(),this.month())}function monthsShortRegex$3(t){return this._monthsParseExact?(hasOwnProp$3(this,"_monthsRegex")||computeMonthsParse$3.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp$3(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex$3),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)}function monthsRegex$3(t){return this._monthsParseExact?(hasOwnProp$3(this,"_monthsRegex")||computeMonthsParse$3.call(this),t?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp$3(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex$3),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)}function computeMonthsParse$3(){function t(t,n){return n.length-t.length}var n,i,a,s,l=[],c=[],u=[];for(n=0;n<12;n++)i=createUTC$3([2e3,n]),a=regexEscape$3(this.monthsShort(i,"")),s=regexEscape$3(this.months(i,"")),l.push(a),c.push(s),u.push(s),u.push(a);l.sort(t),c.sort(t),u.sort(t),this._monthsRegex=new RegExp("^("+u.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+l.join("|")+")","i")}function createDate$3(t,n,i,a,s,l,c){var u;return t<100&&t>=0?(u=new Date(t+400,n,i,a,s,l,c),isFinite(u.getFullYear())&&u.setFullYear(t)):u=new Date(t,n,i,a,s,l,c),u}function createUTCDate$3(t){var n,i;return t<100&&t>=0?((i=Array.prototype.slice.call(arguments))[0]=t+400,n=new Date(Date.UTC.apply(null,i)),isFinite(n.getUTCFullYear())&&n.setUTCFullYear(t)):n=new Date(Date.UTC.apply(null,arguments)),n}function firstWeekOffset$3(t,n,i){var a=7+n-i;return-((7+createUTCDate$3(t,0,a).getUTCDay()-n)%7)+a-1}function dayOfYearFromWeeks$3(t,n,i,a,s){var l,c,u=1+7*(n-1)+(7+i-a)%7+firstWeekOffset$3(t,a,s);return u<=0?c=daysInYear$3(l=t-1)+u:u>daysInYear$3(t)?(l=t+1,c=u-daysInYear$3(t)):(l=t,c=u),{year:l,dayOfYear:c}}function weekOfYear$3(t,n,i){var a,s,l=firstWeekOffset$3(t.year(),n,i),c=Math.floor((t.dayOfYear()-l-1)/7)+1;return c<1?a=c+weeksInYear$3(s=t.year()-1,n,i):c>weeksInYear$3(t.year(),n,i)?(a=c-weeksInYear$3(t.year(),n,i),s=t.year()+1):(s=t.year(),a=c),{week:a,year:s}}function weeksInYear$3(t,n,i){var a=firstWeekOffset$3(t,n,i),s=firstWeekOffset$3(t+1,n,i);return(daysInYear$3(t)-a+s)/7}function localeWeek$3(t){return weekOfYear$3(t,this._week.dow,this._week.doy).week}addFormatToken$3("w",["ww",2],"wo","week"),addFormatToken$3("W",["WW",2],"Wo","isoWeek"),addRegexToken$3("w",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("ww",match1to2$3,match2$3),addRegexToken$3("W",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("WW",match1to2$3,match2$3),addWeekParseToken$3(["w","ww","W","WW"],(function(t,n,i,a){n[a.substr(0,1)]=toInt$3(t)}));var defaultLocaleWeek$3={dow:0,doy:6};function localeFirstDayOfWeek$3(){return this._week.dow}function localeFirstDayOfYear$3(){return this._week.doy}function getSetWeek$3(t){var n=this.localeData().week(this);return null==t?n:this.add(7*(t-n),"d")}function getSetISOWeek$3(t){var n=weekOfYear$3(this,1,4).week;return null==t?n:this.add(7*(t-n),"d")}function parseWeekday$3(t,n){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10)}function parseIsoWeekday$3(t,n){return"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t}function shiftWeekdays$3(t,n){return t.slice(n,7).concat(t.slice(0,n))}addFormatToken$3("d",0,"do","day"),addFormatToken$3("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),addFormatToken$3("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),addFormatToken$3("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),addFormatToken$3("e",0,0,"weekday"),addFormatToken$3("E",0,0,"isoWeekday"),addRegexToken$3("d",match1to2$3),addRegexToken$3("e",match1to2$3),addRegexToken$3("E",match1to2$3),addRegexToken$3("dd",(function(t,n){return n.weekdaysMinRegex(t)})),addRegexToken$3("ddd",(function(t,n){return n.weekdaysShortRegex(t)})),addRegexToken$3("dddd",(function(t,n){return n.weekdaysRegex(t)})),addWeekParseToken$3(["dd","ddd","dddd"],(function(t,n,i,a){var s=i._locale.weekdaysParse(t,a,i._strict);null!=s?n.d=s:getParsingFlags$3(i).invalidWeekday=t})),addWeekParseToken$3(["d","e","E"],(function(t,n,i,a){n[a]=toInt$3(t)}));var defaultLocaleWeekdays$3="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort$3="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin$3="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex$3=matchWord$3,defaultWeekdaysShortRegex$3=matchWord$3,defaultWeekdaysMinRegex$3=matchWord$3;function localeWeekdays$3(t,n){var i=isArray$4(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(n)?"format":"standalone"];return!0===t?shiftWeekdays$3(i,this._week.dow):t?i[t.day()]:i}function localeWeekdaysShort$3(t){return!0===t?shiftWeekdays$3(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function localeWeekdaysMin$3(t){return!0===t?shiftWeekdays$3(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function handleStrictParse$1$3(t,n,i){var a,s,l,c=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)l=createUTC$3([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(l,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(l,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(l,"").toLocaleLowerCase();return i?"dddd"===n?-1!==(s=indexOf$3.call(this._weekdaysParse,c))?s:null:"ddd"===n?-1!==(s=indexOf$3.call(this._shortWeekdaysParse,c))?s:null:-1!==(s=indexOf$3.call(this._minWeekdaysParse,c))?s:null:"dddd"===n?-1!==(s=indexOf$3.call(this._weekdaysParse,c))||-1!==(s=indexOf$3.call(this._shortWeekdaysParse,c))||-1!==(s=indexOf$3.call(this._minWeekdaysParse,c))?s:null:"ddd"===n?-1!==(s=indexOf$3.call(this._shortWeekdaysParse,c))||-1!==(s=indexOf$3.call(this._weekdaysParse,c))||-1!==(s=indexOf$3.call(this._minWeekdaysParse,c))?s:null:-1!==(s=indexOf$3.call(this._minWeekdaysParse,c))||-1!==(s=indexOf$3.call(this._weekdaysParse,c))||-1!==(s=indexOf$3.call(this._shortWeekdaysParse,c))?s:null}function localeWeekdaysParse$3(t,n,i){var a,s,l;if(this._weekdaysParseExact)return handleStrictParse$1$3.call(this,t,n,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(s=createUTC$3([2e3,1]).day(a),i&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(s,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(s,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(s,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(l="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[a]=new RegExp(l.replace(".",""),"i")),i&&"dddd"===n&&this._fullWeekdaysParse[a].test(t))return a;if(i&&"ddd"===n&&this._shortWeekdaysParse[a].test(t))return a;if(i&&"dd"===n&&this._minWeekdaysParse[a].test(t))return a;if(!i&&this._weekdaysParse[a].test(t))return a}}function getSetDayOfWeek$3(t){if(!this.isValid())return null!=t?this:NaN;var n=get$8(this,"Day");return null!=t?(t=parseWeekday$3(t,this.localeData()),this.add(t-n,"d")):n}function getSetLocaleDayOfWeek$3(t){if(!this.isValid())return null!=t?this:NaN;var n=(this.day()+7-this.localeData()._week.dow)%7;return null==t?n:this.add(t-n,"d")}function getSetISODayOfWeek$3(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var n=parseIsoWeekday$3(t,this.localeData());return this.day(this.day()%7?n:n-7)}return this.day()||7}function weekdaysRegex$3(t){return this._weekdaysParseExact?(hasOwnProp$3(this,"_weekdaysRegex")||computeWeekdaysParse$3.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp$3(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex$3),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function weekdaysShortRegex$3(t){return this._weekdaysParseExact?(hasOwnProp$3(this,"_weekdaysRegex")||computeWeekdaysParse$3.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp$3(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex$3),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function weekdaysMinRegex$3(t){return this._weekdaysParseExact?(hasOwnProp$3(this,"_weekdaysRegex")||computeWeekdaysParse$3.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp$3(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex$3),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse$3(){function t(t,n){return n.length-t.length}var n,i,a,s,l,c=[],u=[],d=[],f=[];for(n=0;n<7;n++)i=createUTC$3([2e3,1]).day(n),a=regexEscape$3(this.weekdaysMin(i,"")),s=regexEscape$3(this.weekdaysShort(i,"")),l=regexEscape$3(this.weekdays(i,"")),c.push(a),u.push(s),d.push(l),f.push(a),f.push(s),f.push(l);c.sort(t),u.sort(t),d.sort(t),f.sort(t),this._weekdaysRegex=new RegExp("^("+f.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+c.join("|")+")","i")}function hFormat$3(){return this.hours()%12||12}function kFormat$3(){return this.hours()||24}function meridiem$3(t,n){addFormatToken$3(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),n)}))}function matchMeridiem$3(t,n){return n._meridiemParse}function localeIsPM$3(t){return"p"===(t+"").toLowerCase().charAt(0)}addFormatToken$3("H",["HH",2],0,"hour"),addFormatToken$3("h",["hh",2],0,hFormat$3),addFormatToken$3("k",["kk",2],0,kFormat$3),addFormatToken$3("hmm",0,0,(function(){return""+hFormat$3.apply(this)+zeroFill$3(this.minutes(),2)})),addFormatToken$3("hmmss",0,0,(function(){return""+hFormat$3.apply(this)+zeroFill$3(this.minutes(),2)+zeroFill$3(this.seconds(),2)})),addFormatToken$3("Hmm",0,0,(function(){return""+this.hours()+zeroFill$3(this.minutes(),2)})),addFormatToken$3("Hmmss",0,0,(function(){return""+this.hours()+zeroFill$3(this.minutes(),2)+zeroFill$3(this.seconds(),2)})),meridiem$3("a",!0),meridiem$3("A",!1),addRegexToken$3("a",matchMeridiem$3),addRegexToken$3("A",matchMeridiem$3),addRegexToken$3("H",match1to2$3,match1to2HasZero$3),addRegexToken$3("h",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("k",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("HH",match1to2$3,match2$3),addRegexToken$3("hh",match1to2$3,match2$3),addRegexToken$3("kk",match1to2$3,match2$3),addRegexToken$3("hmm",match3to4$3),addRegexToken$3("hmmss",match5to6$3),addRegexToken$3("Hmm",match3to4$3),addRegexToken$3("Hmmss",match5to6$3),addParseToken$3(["H","HH"],HOUR$3),addParseToken$3(["k","kk"],(function(t,n,i){var a=toInt$3(t);n[HOUR$3]=24===a?0:a})),addParseToken$3(["a","A"],(function(t,n,i){i._isPm=i._locale.isPM(t),i._meridiem=t})),addParseToken$3(["h","hh"],(function(t,n,i){n[HOUR$3]=toInt$3(t),getParsingFlags$3(i).bigHour=!0})),addParseToken$3("hmm",(function(t,n,i){var a=t.length-2;n[HOUR$3]=toInt$3(t.substr(0,a)),n[MINUTE$3]=toInt$3(t.substr(a)),getParsingFlags$3(i).bigHour=!0})),addParseToken$3("hmmss",(function(t,n,i){var a=t.length-4,s=t.length-2;n[HOUR$3]=toInt$3(t.substr(0,a)),n[MINUTE$3]=toInt$3(t.substr(a,2)),n[SECOND$3]=toInt$3(t.substr(s)),getParsingFlags$3(i).bigHour=!0})),addParseToken$3("Hmm",(function(t,n,i){var a=t.length-2;n[HOUR$3]=toInt$3(t.substr(0,a)),n[MINUTE$3]=toInt$3(t.substr(a))})),addParseToken$3("Hmmss",(function(t,n,i){var a=t.length-4,s=t.length-2;n[HOUR$3]=toInt$3(t.substr(0,a)),n[MINUTE$3]=toInt$3(t.substr(a,2)),n[SECOND$3]=toInt$3(t.substr(s))}));var defaultLocaleMeridiemParse$3=/[ap]\.?m?\.?/i,getSetHour$3=makeGetSet$3("Hours",!0);function localeMeridiem$3(t,n,i){return t>11?i?"pm":"PM":i?"am":"AM"}var baseConfig$3={calendar:defaultCalendar$3,longDateFormat:defaultLongDateFormat$3,invalidDate:defaultInvalidDate$3,ordinal:defaultOrdinal$3,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse$3,relativeTime:defaultRelativeTime$3,months:defaultLocaleMonths$3,monthsShort:defaultLocaleMonthsShort$3,week:defaultLocaleWeek$3,weekdays:defaultLocaleWeekdays$3,weekdaysMin:defaultLocaleWeekdaysMin$3,weekdaysShort:defaultLocaleWeekdaysShort$3,meridiemParse:defaultLocaleMeridiemParse$3},locales$3={},localeFamilies$3={},globalLocale$3;function commonPrefix$3(t,n){var i,a=Math.min(t.length,n.length);for(i=0;i<a;i+=1)if(t[i]!==n[i])return i;return a}function normalizeLocale$3(t){return t?t.toLowerCase().replace("_","-"):t}function chooseLocale$3(t){for(var n,i,a,s,l=0;l<t.length;){for(n=(s=normalizeLocale$3(t[l]).split("-")).length,i=(i=normalizeLocale$3(t[l+1]))?i.split("-"):null;n>0;){if(a=loadLocale$3(s.slice(0,n).join("-")))return a;if(i&&i.length>=n&&commonPrefix$3(s,i)>=n-1)break;n--}l++}return globalLocale$3}function isLocaleNameSane$3(t){return!(!t||!t.match("^[^/\\\\]*$"))}function loadLocale$3(t){var n=null;if(void 0===locales$3[t]&&void 0!==module&&module&&module.exports&&isLocaleNameSane$3(t))try{n=globalLocale$3._abbr,require("./locale/"+t),getSetGlobalLocale$3(n)}catch(e){locales$3[t]=null}return locales$3[t]}function getSetGlobalLocale$3(t,n){var i;return t&&((i=isUndefined$3(n)?getLocale$3(t):defineLocale$3(t,n))?globalLocale$3=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),globalLocale$3._abbr}function defineLocale$3(t,n){if(null!==n){var i,a=baseConfig$3;if(n.abbr=t,null!=locales$3[t])deprecateSimple$3("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=locales$3[t]._config;else if(null!=n.parentLocale)if(null!=locales$3[n.parentLocale])a=locales$3[n.parentLocale]._config;else{if(null==(i=loadLocale$3(n.parentLocale)))return localeFamilies$3[n.parentLocale]||(localeFamilies$3[n.parentLocale]=[]),localeFamilies$3[n.parentLocale].push({name:t,config:n}),null;a=i._config}return locales$3[t]=new Locale$3(mergeConfigs$3(a,n)),localeFamilies$3[t]&&localeFamilies$3[t].forEach((function(t){defineLocale$3(t.name,t.config)})),getSetGlobalLocale$3(t),locales$3[t]}return delete locales$3[t],null}function updateLocale$3(t,n){if(null!=n){var i,a,s=baseConfig$3;null!=locales$3[t]&&null!=locales$3[t].parentLocale?locales$3[t].set(mergeConfigs$3(locales$3[t]._config,n)):(null!=(a=loadLocale$3(t))&&(s=a._config),n=mergeConfigs$3(s,n),null==a&&(n.abbr=t),(i=new Locale$3(n)).parentLocale=locales$3[t],locales$3[t]=i),getSetGlobalLocale$3(t)}else null!=locales$3[t]&&(null!=locales$3[t].parentLocale?(locales$3[t]=locales$3[t].parentLocale,t===getSetGlobalLocale$3()&&getSetGlobalLocale$3(t)):null!=locales$3[t]&&delete locales$3[t]);return locales$3[t]}function getLocale$3(t){var n;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return globalLocale$3;if(!isArray$4(t)){if(n=loadLocale$3(t))return n;t=[t]}return chooseLocale$3(t)}function listLocales$3(){return keys$4(locales$3)}function checkOverflow$3(t){var n,i=t._a;return i&&-2===getParsingFlags$3(t).overflow&&(n=i[MONTH$3]<0||i[MONTH$3]>11?MONTH$3:i[DATE$3]<1||i[DATE$3]>daysInMonth$3(i[YEAR$3],i[MONTH$3])?DATE$3:i[HOUR$3]<0||i[HOUR$3]>24||24===i[HOUR$3]&&(0!==i[MINUTE$3]||0!==i[SECOND$3]||0!==i[MILLISECOND$3])?HOUR$3:i[MINUTE$3]<0||i[MINUTE$3]>59?MINUTE$3:i[SECOND$3]<0||i[SECOND$3]>59?SECOND$3:i[MILLISECOND$3]<0||i[MILLISECOND$3]>999?MILLISECOND$3:-1,getParsingFlags$3(t)._overflowDayOfYear&&(n<YEAR$3||n>DATE$3)&&(n=DATE$3),getParsingFlags$3(t)._overflowWeeks&&-1===n&&(n=WEEK$3),getParsingFlags$3(t)._overflowWeekday&&-1===n&&(n=WEEKDAY$3),getParsingFlags$3(t).overflow=n),t}var extendedIsoRegex$3=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex$3=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex$3=/Z|[+-]\d\d(?::?\d\d)?/,isoDates$3=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes$3=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex$3=/^\/?Date\((-?\d+)/i,rfc2822$3=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets$3={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function configFromISO$3(t){var n,i,a,s,l,c,u=t._i,d=extendedIsoRegex$3.exec(u)||basicIsoRegex$3.exec(u),f=isoDates$3.length,m=isoTimes$3.length;if(d){for(getParsingFlags$3(t).iso=!0,n=0,i=f;n<i;n++)if(isoDates$3[n][1].exec(d[1])){s=isoDates$3[n][0],a=!1!==isoDates$3[n][2];break}if(null==s)return void(t._isValid=!1);if(d[3]){for(n=0,i=m;n<i;n++)if(isoTimes$3[n][1].exec(d[3])){l=(d[2]||" ")+isoTimes$3[n][0];break}if(null==l)return void(t._isValid=!1)}if(!a&&null!=l)return void(t._isValid=!1);if(d[4]){if(!tzRegex$3.exec(d[4]))return void(t._isValid=!1);c="Z"}t._f=s+(l||"")+(c||""),configFromStringAndFormat$3(t)}else t._isValid=!1}function extractFromRFC2822Strings$3(t,n,i,a,s,l){var c=[untruncateYear$3(t),defaultLocaleMonthsShort$3.indexOf(n),parseInt(i,10),parseInt(a,10),parseInt(s,10)];return l&&c.push(parseInt(l,10)),c}function untruncateYear$3(t){var n=parseInt(t,10);return n<=49?2e3+n:n<=999?1900+n:n}function preprocessRFC2822$3(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function checkWeekday$3(t,n,i){if(t&&defaultLocaleWeekdaysShort$3.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay())return getParsingFlags$3(i).weekdayMismatch=!0,i._isValid=!1,!1;return!0}function calculateOffset$3(t,n,i){if(t)return obsOffsets$3[t];if(n)return 0;var a=parseInt(i,10),s=a%100;return 60*((a-s)/100)+s}function configFromRFC2822$3(t){var n,i=rfc2822$3.exec(preprocessRFC2822$3(t._i));if(i){if(n=extractFromRFC2822Strings$3(i[4],i[3],i[2],i[5],i[6],i[7]),!checkWeekday$3(i[1],n,t))return;t._a=n,t._tzm=calculateOffset$3(i[8],i[9],i[10]),t._d=createUTCDate$3.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),getParsingFlags$3(t).rfc2822=!0}else t._isValid=!1}function configFromString$3(t){var n=aspNetJsonRegex$3.exec(t._i);null===n?(configFromISO$3(t),!1===t._isValid&&(delete t._isValid,configFromRFC2822$3(t),!1===t._isValid&&(delete t._isValid,t._strict?t._isValid=!1:hooks$3.createFromInputFallback(t)))):t._d=new Date(+n[1])}function defaults$5(t,n,i){return null!=t?t:null!=n?n:i}function currentDateArray$3(t){var n=new Date(hooks$3.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function configFromArray$3(t){var n,i,a,s,l,c=[];if(!t._d){for(a=currentDateArray$3(t),t._w&&null==t._a[DATE$3]&&null==t._a[MONTH$3]&&dayOfYearFromWeekInfo$3(t),null!=t._dayOfYear&&(l=defaults$5(t._a[YEAR$3],a[YEAR$3]),(t._dayOfYear>daysInYear$3(l)||0===t._dayOfYear)&&(getParsingFlags$3(t)._overflowDayOfYear=!0),i=createUTCDate$3(l,0,t._dayOfYear),t._a[MONTH$3]=i.getUTCMonth(),t._a[DATE$3]=i.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=c[n]=a[n];for(;n<7;n++)t._a[n]=c[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[HOUR$3]&&0===t._a[MINUTE$3]&&0===t._a[SECOND$3]&&0===t._a[MILLISECOND$3]&&(t._nextDay=!0,t._a[HOUR$3]=0),t._d=(t._useUTC?createUTCDate$3:createDate$3).apply(null,c),s=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[HOUR$3]=24),t._w&&void 0!==t._w.d&&t._w.d!==s&&(getParsingFlags$3(t).weekdayMismatch=!0)}}function dayOfYearFromWeekInfo$3(t){var n,i,a,s,l,c,u,d,f;null!=(n=t._w).GG||null!=n.W||null!=n.E?(l=1,c=4,i=defaults$5(n.GG,t._a[YEAR$3],weekOfYear$3(createLocal$3(),1,4).year),a=defaults$5(n.W,1),((s=defaults$5(n.E,1))<1||s>7)&&(d=!0)):(l=t._locale._week.dow,c=t._locale._week.doy,f=weekOfYear$3(createLocal$3(),l,c),i=defaults$5(n.gg,t._a[YEAR$3],f.year),a=defaults$5(n.w,f.week),null!=n.d?((s=n.d)<0||s>6)&&(d=!0):null!=n.e?(s=n.e+l,(n.e<0||n.e>6)&&(d=!0)):s=l),a<1||a>weeksInYear$3(i,l,c)?getParsingFlags$3(t)._overflowWeeks=!0:null!=d?getParsingFlags$3(t)._overflowWeekday=!0:(u=dayOfYearFromWeeks$3(i,a,s,l,c),t._a[YEAR$3]=u.year,t._dayOfYear=u.dayOfYear)}function configFromStringAndFormat$3(t){if(t._f!==hooks$3.ISO_8601)if(t._f!==hooks$3.RFC_2822){t._a=[],getParsingFlags$3(t).empty=!0;var n,i,a,s,l,c,u,d=""+t._i,f=d.length,m=0;for(u=(a=expandFormat$3(t._f,t._locale).match(formattingTokens$3)||[]).length,n=0;n<u;n++)s=a[n],(i=(d.match(getParseRegexForToken$3(s,t))||[])[0])&&((l=d.substr(0,d.indexOf(i))).length>0&&getParsingFlags$3(t).unusedInput.push(l),d=d.slice(d.indexOf(i)+i.length),m+=i.length),formatTokenFunctions$3[s]?(i?getParsingFlags$3(t).empty=!1:getParsingFlags$3(t).unusedTokens.push(s),addTimeToArrayFromToken$3(s,i,t)):t._strict&&!i&&getParsingFlags$3(t).unusedTokens.push(s);getParsingFlags$3(t).charsLeftOver=f-m,d.length>0&&getParsingFlags$3(t).unusedInput.push(d),t._a[HOUR$3]<=12&&!0===getParsingFlags$3(t).bigHour&&t._a[HOUR$3]>0&&(getParsingFlags$3(t).bigHour=void 0),getParsingFlags$3(t).parsedDateParts=t._a.slice(0),getParsingFlags$3(t).meridiem=t._meridiem,t._a[HOUR$3]=meridiemFixWrap$3(t._locale,t._a[HOUR$3],t._meridiem),null!==(c=getParsingFlags$3(t).era)&&(t._a[YEAR$3]=t._locale.erasConvertYear(c,t._a[YEAR$3])),configFromArray$3(t),checkOverflow$3(t)}else configFromRFC2822$3(t);else configFromISO$3(t)}function meridiemFixWrap$3(t,n,i){var a;return null==i?n:null!=t.meridiemHour?t.meridiemHour(n,i):null!=t.isPM?((a=t.isPM(i))&&n<12&&(n+=12),a||12!==n||(n=0),n):n}function configFromStringAndArray$3(t){var n,i,a,s,l,c,u=!1,d=t._f.length;if(0===d)return getParsingFlags$3(t).invalidFormat=!0,void(t._d=new Date(NaN));for(s=0;s<d;s++)l=0,c=!1,n=copyConfig$3({},t),null!=t._useUTC&&(n._useUTC=t._useUTC),n._f=t._f[s],configFromStringAndFormat$3(n),isValid$5(n)&&(c=!0),l+=getParsingFlags$3(n).charsLeftOver,l+=10*getParsingFlags$3(n).unusedTokens.length,getParsingFlags$3(n).score=l,u?l<a&&(a=l,i=n):(null==a||l<a||c)&&(a=l,i=n,c&&(u=!0));extend$4(t,i||n)}function configFromObject$3(t){if(!t._d){var n=normalizeObjectUnits$3(t._i),i=void 0===n.day?n.date:n.day;t._a=map$3([n.year,n.month,i,n.hour,n.minute,n.second,n.millisecond],(function(t){return t&&parseInt(t,10)})),configFromArray$3(t)}}function createFromConfig$3(t){var n=new Moment$3(checkOverflow$3(prepareConfig$3(t)));return n._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function prepareConfig$3(t){var n=t._i,i=t._f;return t._locale=t._locale||getLocale$3(t._l),null===n||void 0===i&&""===n?createInvalid$4({nullInput:!0}):("string"==typeof n&&(t._i=n=t._locale.preparse(n)),isMoment$3(n)?new Moment$3(checkOverflow$3(n)):(isDate$3(n)?t._d=n:isArray$4(i)?configFromStringAndArray$3(t):i?configFromStringAndFormat$3(t):configFromInput$3(t),isValid$5(t)||(t._d=null),t))}function configFromInput$3(t){var n=t._i;isUndefined$3(n)?t._d=new Date(hooks$3.now()):isDate$3(n)?t._d=new Date(n.valueOf()):"string"==typeof n?configFromString$3(t):isArray$4(n)?(t._a=map$3(n.slice(0),(function(t){return parseInt(t,10)})),configFromArray$3(t)):isObject$3(n)?configFromObject$3(t):isNumber$3(n)?t._d=new Date(n):hooks$3.createFromInputFallback(t)}function createLocalOrUTC$3(t,n,i,a,s){var l={};return!0!==n&&!1!==n||(a=n,n=void 0),!0!==i&&!1!==i||(a=i,i=void 0),(isObject$3(t)&&isObjectEmpty$3(t)||isArray$4(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=s,l._l=i,l._i=t,l._f=n,l._strict=a,createFromConfig$3(l)}function createLocal$3(t,n,i,a){return createLocalOrUTC$3(t,n,i,a,!1)}hooks$3.createFromInputFallback=deprecate$3("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),hooks$3.ISO_8601=function(){},hooks$3.RFC_2822=function(){};var prototypeMin$3=deprecate$3("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=createLocal$3.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:createInvalid$4()})),prototypeMax$3=deprecate$3("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=createLocal$3.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:createInvalid$4()}));function pickBy$3(t,n){var i,a;if(1===n.length&&isArray$4(n[0])&&(n=n[0]),!n.length)return createLocal$3();for(i=n[0],a=1;a<n.length;++a)n[a].isValid()&&!n[a][t](i)||(i=n[a]);return i}function min$3(){return pickBy$3("isBefore",[].slice.call(arguments,0))}function max$3(){return pickBy$3("isAfter",[].slice.call(arguments,0))}var now$3=function(){return Date.now?Date.now():+new Date},ordering$3=["year","quarter","month","week","day","hour","minute","second","millisecond"];function isDurationValid$3(t){var n,i,a=!1,s=ordering$3.length;for(n in t)if(hasOwnProp$3(t,n)&&(-1===indexOf$3.call(ordering$3,n)||null!=t[n]&&isNaN(t[n])))return!1;for(i=0;i<s;++i)if(t[ordering$3[i]]){if(a)return!1;parseFloat(t[ordering$3[i]])!==toInt$3(t[ordering$3[i]])&&(a=!0)}return!0}function isValid$1$3(){return this._isValid}function createInvalid$1$3(){return createDuration$3(NaN)}function Duration$3(t){var n=normalizeObjectUnits$3(t),i=n.year||0,a=n.quarter||0,s=n.month||0,l=n.week||n.isoWeek||0,c=n.day||0,u=n.hour||0,d=n.minute||0,f=n.second||0,m=n.millisecond||0;this._isValid=isDurationValid$3(n),this._milliseconds=+m+1e3*f+6e4*d+1e3*u*60*60,this._days=+c+7*l,this._months=+s+3*a+12*i,this._data={},this._locale=getLocale$3(),this._bubble()}function isDuration$3(t){return t instanceof Duration$3}function absRound$3(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function compareArrays$3(t,n,i){var a,s=Math.min(t.length,n.length),l=Math.abs(t.length-n.length),c=0;for(a=0;a<s;a++)toInt$3(t[a])!==toInt$3(n[a])&&c++;return c+l}function offset$3(t,n){addFormatToken$3(t,0,0,(function(){var t=this.utcOffset(),i="+";return t<0&&(t=-t,i="-"),i+zeroFill$3(~~(t/60),2)+n+zeroFill$3(~~t%60,2)}))}offset$3("Z",":"),offset$3("ZZ",""),addRegexToken$3("Z",matchShortOffset$3),addRegexToken$3("ZZ",matchShortOffset$3),addParseToken$3(["Z","ZZ"],(function(t,n,i){i._useUTC=!0,i._tzm=offsetFromString$3(matchShortOffset$3,t)}));var chunkOffset$3=/([\+\-]|\d\d)/gi;function offsetFromString$3(t,n){var i,a,s=(n||"").match(t);return null===s?null:0===(a=60*(i=((s[s.length-1]||[])+"").match(chunkOffset$3)||["-",0,0])[1]+toInt$3(i[2]))?0:"+"===i[0]?a:-a}function cloneWithOffset$3(t,n){var i,a;return n._isUTC?(i=n.clone(),a=(isMoment$3(t)||isDate$3(t)?t.valueOf():createLocal$3(t).valueOf())-i.valueOf(),i._d.setTime(i._d.valueOf()+a),hooks$3.updateOffset(i,!1),i):createLocal$3(t).local()}function getDateOffset$3(t){return-Math.round(t._d.getTimezoneOffset())}function getSetOffset$3(t,n,i){var a,s=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=offsetFromString$3(matchShortOffset$3,t)))return this}else Math.abs(t)<16&&!i&&(t*=60);return!this._isUTC&&n&&(a=getDateOffset$3(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),s!==t&&(!n||this._changeInProgress?addSubtract$4(this,createDuration$3(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks$3.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?s:getDateOffset$3(this)}function getSetZone$3(t,n){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,n),this):-this.utcOffset()}function setOffsetToUTC$3(t){return this.utcOffset(0,t)}function setOffsetToLocal$3(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(getDateOffset$3(this),"m")),this}function setOffsetToParsedOffset$3(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=offsetFromString$3(matchOffset$3,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this}function hasAlignedHourOffset$3(t){return!!this.isValid()&&(t=t?createLocal$3(t).utcOffset():0,(this.utcOffset()-t)%60==0)}function isDaylightSavingTime$3(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted$3(){if(!isUndefined$3(this._isDSTShifted))return this._isDSTShifted;var t,n={};return copyConfig$3(n,this),(n=prepareConfig$3(n))._a?(t=n._isUTC?createUTC$3(n._a):createLocal$3(n._a),this._isDSTShifted=this.isValid()&&compareArrays$3(n._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function isLocal$3(){return!!this.isValid()&&!this._isUTC}function isUtcOffset$3(){return!!this.isValid()&&this._isUTC}function isUtc$3(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks$3.updateOffset=function(){};var aspNetRegex$3=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex$3=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration$3(t,n){var i,a,s,l=t,c=null;return isDuration$3(t)?l={ms:t._milliseconds,d:t._days,M:t._months}:isNumber$3(t)||!isNaN(+t)?(l={},n?l[n]=+t:l.milliseconds=+t):(c=aspNetRegex$3.exec(t))?(i="-"===c[1]?-1:1,l={y:0,d:toInt$3(c[DATE$3])*i,h:toInt$3(c[HOUR$3])*i,m:toInt$3(c[MINUTE$3])*i,s:toInt$3(c[SECOND$3])*i,ms:toInt$3(absRound$3(1e3*c[MILLISECOND$3]))*i}):(c=isoRegex$3.exec(t))?(i="-"===c[1]?-1:1,l={y:parseIso$3(c[2],i),M:parseIso$3(c[3],i),w:parseIso$3(c[4],i),d:parseIso$3(c[5],i),h:parseIso$3(c[6],i),m:parseIso$3(c[7],i),s:parseIso$3(c[8],i)}):null==l?l={}:"object"==typeof l&&("from"in l||"to"in l)&&(s=momentsDifference$3(createLocal$3(l.from),createLocal$3(l.to)),(l={}).ms=s.milliseconds,l.M=s.months),a=new Duration$3(l),isDuration$3(t)&&hasOwnProp$3(t,"_locale")&&(a._locale=t._locale),isDuration$3(t)&&hasOwnProp$3(t,"_isValid")&&(a._isValid=t._isValid),a}function parseIso$3(t,n){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*n}function positiveMomentsDifference$3(t,n){var i={};return i.months=n.month()-t.month()+12*(n.year()-t.year()),t.clone().add(i.months,"M").isAfter(n)&&--i.months,i.milliseconds=+n-+t.clone().add(i.months,"M"),i}function momentsDifference$3(t,n){var i;return t.isValid()&&n.isValid()?(n=cloneWithOffset$3(n,t),t.isBefore(n)?i=positiveMomentsDifference$3(t,n):((i=positiveMomentsDifference$3(n,t)).milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function createAdder$3(t,n){return function(i,a){var s;return null===a||isNaN(+a)||(deprecateSimple$3(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=a,a=s),addSubtract$4(this,createDuration$3(i,a),t),this}}function addSubtract$4(t,n,i,a){var s=n._milliseconds,l=absRound$3(n._days),c=absRound$3(n._months);t.isValid()&&(a=null==a||a,c&&setMonth$3(t,get$8(t,"Month")+c*i),l&&set$1$3(t,"Date",get$8(t,"Date")+l*i),s&&t._d.setTime(t._d.valueOf()+s*i),a&&hooks$3.updateOffset(t,l||c))}createDuration$3.fn=Duration$3.prototype,createDuration$3.invalid=createInvalid$1$3;var add$8=createAdder$3(1,"add"),subtract$4=createAdder$3(-1,"subtract");function isString$3(t){return"string"==typeof t||t instanceof String}function isMomentInput$3(t){return isMoment$3(t)||isDate$3(t)||isString$3(t)||isNumber$3(t)||isNumberOrStringArray$3(t)||isMomentInputObject$3(t)||null==t}function isMomentInputObject$3(t){var n,i=isObject$3(t)&&!isObjectEmpty$3(t),a=!1,s=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l=s.length;for(n=0;n<l;n+=1)a=a||hasOwnProp$3(t,s[n]);return i&&a}function isNumberOrStringArray$3(t){var n=isArray$4(t),i=!1;return n&&(i=0===t.filter((function(n){return!isNumber$3(n)&&isString$3(t)})).length),n&&i}function isCalendarSpec$3(t){var n,i=isObject$3(t)&&!isObjectEmpty$3(t),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(n=0;n<s.length;n+=1)a=a||hasOwnProp$3(t,s[n]);return i&&a}function getCalendarFormat$3(t,n){var i=t.diff(n,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function calendar$1$3(t,n){1===arguments.length&&(arguments[0]?isMomentInput$3(arguments[0])?(t=arguments[0],n=void 0):isCalendarSpec$3(arguments[0])&&(n=arguments[0],t=void 0):(t=void 0,n=void 0));var i=t||createLocal$3(),a=cloneWithOffset$3(i,this).startOf("day"),s=hooks$3.calendarFormat(this,a)||"sameElse",l=n&&(isFunction$3(n[s])?n[s].call(this,i):n[s]);return this.format(l||this.localeData().calendar(s,this,createLocal$3(i)))}function clone$5(){return new Moment$3(this)}function isAfter$3(t,n){var i=isMoment$3(t)?t:createLocal$3(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(n=normalizeUnits$3(n)||"millisecond")?this.valueOf()>i.valueOf():i.valueOf()<this.clone().startOf(n).valueOf())}function isBefore$3(t,n){var i=isMoment$3(t)?t:createLocal$3(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(n=normalizeUnits$3(n)||"millisecond")?this.valueOf()<i.valueOf():this.clone().endOf(n).valueOf()<i.valueOf())}function isBetween$3(t,n,i,a){var s=isMoment$3(t)?t:createLocal$3(t),l=isMoment$3(n)?n:createLocal$3(n);return!!(this.isValid()&&s.isValid()&&l.isValid())&&(("("===(a=a||"()")[0]?this.isAfter(s,i):!this.isBefore(s,i))&&(")"===a[1]?this.isBefore(l,i):!this.isAfter(l,i)))}function isSame$3(t,n){var i,a=isMoment$3(t)?t:createLocal$3(t);return!(!this.isValid()||!a.isValid())&&("millisecond"===(n=normalizeUnits$3(n)||"millisecond")?this.valueOf()===a.valueOf():(i=a.valueOf(),this.clone().startOf(n).valueOf()<=i&&i<=this.clone().endOf(n).valueOf()))}function isSameOrAfter$3(t,n){return this.isSame(t,n)||this.isAfter(t,n)}function isSameOrBefore$3(t,n){return this.isSame(t,n)||this.isBefore(t,n)}function diff$4(t,n,i){var a,s,l;if(!this.isValid())return NaN;if(!(a=cloneWithOffset$3(t,this)).isValid())return NaN;switch(s=6e4*(a.utcOffset()-this.utcOffset()),n=normalizeUnits$3(n)){case"year":l=monthDiff$3(this,a)/12;break;case"month":l=monthDiff$3(this,a);break;case"quarter":l=monthDiff$3(this,a)/3;break;case"second":l=(this-a)/1e3;break;case"minute":l=(this-a)/6e4;break;case"hour":l=(this-a)/36e5;break;case"day":l=(this-a-s)/864e5;break;case"week":l=(this-a-s)/6048e5;break;default:l=this-a}return i?l:absFloor$3(l)}function monthDiff$3(t,n){if(t.date()<n.date())return-monthDiff$3(n,t);var i=12*(n.year()-t.year())+(n.month()-t.month()),a=t.clone().add(i,"months");return-(i+(n-a<0?(n-a)/(a-t.clone().add(i-1,"months")):(n-a)/(t.clone().add(i+1,"months")-a)))||0}function toString$3(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function toISOString$4(t){if(!this.isValid())return null;var n=!0!==t,i=n?this.clone().utc():this;return i.year()<0||i.year()>9999?formatMoment$3(i,n?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction$3(Date.prototype.toISOString)?n?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment$3(i,"Z")):formatMoment$3(i,n?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect$3(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t,n,i,a="moment",s="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",s="Z"),t="["+a+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=s+'[")]',this.format(t+n+"-MM-DD[T]HH:mm:ss.SSS"+i)}function format$3(t){t||(t=this.isUtc()?hooks$3.defaultFormatUtc:hooks$3.defaultFormat);var n=formatMoment$3(this,t);return this.localeData().postformat(n)}function from$3(t,n){return this.isValid()&&(isMoment$3(t)&&t.isValid()||createLocal$3(t).isValid())?createDuration$3({to:this,from:t}).locale(this.locale()).humanize(!n):this.localeData().invalidDate()}function fromNow$3(t){return this.from(createLocal$3(),t)}function to$3(t,n){return this.isValid()&&(isMoment$3(t)&&t.isValid()||createLocal$3(t).isValid())?createDuration$3({from:this,to:t}).locale(this.locale()).humanize(!n):this.localeData().invalidDate()}function toNow$3(t){return this.to(createLocal$3(),t)}function locale$3(t){var n;return void 0===t?this._locale._abbr:(null!=(n=getLocale$3(t))&&(this._locale=n),this)}hooks$3.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks$3.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang$3=deprecate$3("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function localeData$3(){return this._locale}var MS_PER_SECOND$3=1e3,MS_PER_MINUTE$3=60*MS_PER_SECOND$3,MS_PER_HOUR$3=60*MS_PER_MINUTE$3,MS_PER_400_YEARS$3=3506328*MS_PER_HOUR$3;function mod$1$3(t,n){return(t%n+n)%n}function localStartOfDate$3(t,n,i){return t<100&&t>=0?new Date(t+400,n,i)-MS_PER_400_YEARS$3:new Date(t,n,i).valueOf()}function utcStartOfDate$3(t,n,i){return t<100&&t>=0?Date.UTC(t+400,n,i)-MS_PER_400_YEARS$3:Date.UTC(t,n,i)}function startOf$3(t){var n,i;if(void 0===(t=normalizeUnits$3(t))||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?utcStartOfDate$3:localStartOfDate$3,t){case"year":n=i(this.year(),0,1);break;case"quarter":n=i(this.year(),this.month()-this.month()%3,1);break;case"month":n=i(this.year(),this.month(),1);break;case"week":n=i(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":n=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":n=i(this.year(),this.month(),this.date());break;case"hour":n=this._d.valueOf(),n-=mod$1$3(n+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE$3),MS_PER_HOUR$3);break;case"minute":n=this._d.valueOf(),n-=mod$1$3(n,MS_PER_MINUTE$3);break;case"second":n=this._d.valueOf(),n-=mod$1$3(n,MS_PER_SECOND$3)}return this._d.setTime(n),hooks$3.updateOffset(this,!0),this}function endOf$3(t){var n,i;if(void 0===(t=normalizeUnits$3(t))||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?utcStartOfDate$3:localStartOfDate$3,t){case"year":n=i(this.year()+1,0,1)-1;break;case"quarter":n=i(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":n=i(this.year(),this.month()+1,1)-1;break;case"week":n=i(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":n=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":n=i(this.year(),this.month(),this.date()+1)-1;break;case"hour":n=this._d.valueOf(),n+=MS_PER_HOUR$3-mod$1$3(n+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE$3),MS_PER_HOUR$3)-1;break;case"minute":n=this._d.valueOf(),n+=MS_PER_MINUTE$3-mod$1$3(n,MS_PER_MINUTE$3)-1;break;case"second":n=this._d.valueOf(),n+=MS_PER_SECOND$3-mod$1$3(n,MS_PER_SECOND$3)-1}return this._d.setTime(n),hooks$3.updateOffset(this,!0),this}function valueOf$4(){return this._d.valueOf()-6e4*(this._offset||0)}function unix$3(){return Math.floor(this.valueOf()/1e3)}function toDate$3(){return new Date(this.valueOf())}function toArray$3(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function toObject$3(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function toJSON$3(){return this.isValid()?this.toISOString():null}function isValid$2$3(){return isValid$5(this)}function parsingFlags$3(){return extend$4({},getParsingFlags$3(this))}function invalidAt$3(){return getParsingFlags$3(this).overflow}function creationData$3(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function localeEras$3(t,n){var i,a,s,l=this._eras||getLocale$3("en")._eras;for(i=0,a=l.length;i<a;++i){if("string"==typeof l[i].since)s=hooks$3(l[i].since).startOf("day"),l[i].since=s.valueOf();switch(typeof l[i].until){case"undefined":l[i].until=1/0;break;case"string":s=hooks$3(l[i].until).startOf("day").valueOf(),l[i].until=s.valueOf()}}return l}function localeErasParse$3(t,n,i){var a,s,l,c,u,d=this.eras();for(t=t.toUpperCase(),a=0,s=d.length;a<s;++a)if(l=d[a].name.toUpperCase(),c=d[a].abbr.toUpperCase(),u=d[a].narrow.toUpperCase(),i)switch(n){case"N":case"NN":case"NNN":if(c===t)return d[a];break;case"NNNN":if(l===t)return d[a];break;case"NNNNN":if(u===t)return d[a]}else if([l,c,u].indexOf(t)>=0)return d[a]}function localeErasConvertYear$3(t,n){var i=t.since<=t.until?1:-1;return void 0===n?hooks$3(t.since).year():hooks$3(t.since).year()+(n-t.offset)*i}function getEraName$3(){var t,n,i,a=this.localeData().eras();for(t=0,n=a.length;t<n;++t){if(i=this.clone().startOf("day").valueOf(),a[t].since<=i&&i<=a[t].until)return a[t].name;if(a[t].until<=i&&i<=a[t].since)return a[t].name}return""}function getEraNarrow$3(){var t,n,i,a=this.localeData().eras();for(t=0,n=a.length;t<n;++t){if(i=this.clone().startOf("day").valueOf(),a[t].since<=i&&i<=a[t].until)return a[t].narrow;if(a[t].until<=i&&i<=a[t].since)return a[t].narrow}return""}function getEraAbbr$3(){var t,n,i,a=this.localeData().eras();for(t=0,n=a.length;t<n;++t){if(i=this.clone().startOf("day").valueOf(),a[t].since<=i&&i<=a[t].until)return a[t].abbr;if(a[t].until<=i&&i<=a[t].since)return a[t].abbr}return""}function getEraYear$3(){var t,n,i,a,s=this.localeData().eras();for(t=0,n=s.length;t<n;++t)if(i=s[t].since<=s[t].until?1:-1,a=this.clone().startOf("day").valueOf(),s[t].since<=a&&a<=s[t].until||s[t].until<=a&&a<=s[t].since)return(this.year()-hooks$3(s[t].since).year())*i+s[t].offset;return this.year()}function erasNameRegex$3(t){return hasOwnProp$3(this,"_erasNameRegex")||computeErasParse$3.call(this),t?this._erasNameRegex:this._erasRegex}function erasAbbrRegex$3(t){return hasOwnProp$3(this,"_erasAbbrRegex")||computeErasParse$3.call(this),t?this._erasAbbrRegex:this._erasRegex}function erasNarrowRegex$3(t){return hasOwnProp$3(this,"_erasNarrowRegex")||computeErasParse$3.call(this),t?this._erasNarrowRegex:this._erasRegex}function matchEraAbbr$3(t,n){return n.erasAbbrRegex(t)}function matchEraName$3(t,n){return n.erasNameRegex(t)}function matchEraNarrow$3(t,n){return n.erasNarrowRegex(t)}function matchEraYearOrdinal$3(t,n){return n._eraYearOrdinalRegex||matchUnsigned$3}function computeErasParse$3(){var t,n,i,a,s,l=[],c=[],u=[],d=[],f=this.eras();for(t=0,n=f.length;t<n;++t)i=regexEscape$3(f[t].name),a=regexEscape$3(f[t].abbr),s=regexEscape$3(f[t].narrow),c.push(i),l.push(a),u.push(s),d.push(i),d.push(a),d.push(s);this._erasRegex=new RegExp("^("+d.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+c.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+l.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+u.join("|")+")","i")}function addWeekYearFormatToken$3(t,n){addFormatToken$3(0,[t,t.length],0,n)}function getSetWeekYear$3(t){return getSetWeekYearHelper$3.call(this,t,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear$3(t){return getSetWeekYearHelper$3.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear$3(){return weeksInYear$3(this.year(),1,4)}function getISOWeeksInISOWeekYear$3(){return weeksInYear$3(this.isoWeekYear(),1,4)}function getWeeksInYear$3(){var t=this.localeData()._week;return weeksInYear$3(this.year(),t.dow,t.doy)}function getWeeksInWeekYear$3(){var t=this.localeData()._week;return weeksInYear$3(this.weekYear(),t.dow,t.doy)}function getSetWeekYearHelper$3(t,n,i,a,s){var l;return null==t?weekOfYear$3(this,a,s).year:(n>(l=weeksInYear$3(t,a,s))&&(n=l),setWeekAll$3.call(this,t,n,i,a,s))}function setWeekAll$3(t,n,i,a,s){var l=dayOfYearFromWeeks$3(t,n,i,a,s),c=createUTCDate$3(l.year,0,l.dayOfYear);return this.year(c.getUTCFullYear()),this.month(c.getUTCMonth()),this.date(c.getUTCDate()),this}function getSetQuarter$3(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}addFormatToken$3("N",0,0,"eraAbbr"),addFormatToken$3("NN",0,0,"eraAbbr"),addFormatToken$3("NNN",0,0,"eraAbbr"),addFormatToken$3("NNNN",0,0,"eraName"),addFormatToken$3("NNNNN",0,0,"eraNarrow"),addFormatToken$3("y",["y",1],"yo","eraYear"),addFormatToken$3("y",["yy",2],0,"eraYear"),addFormatToken$3("y",["yyy",3],0,"eraYear"),addFormatToken$3("y",["yyyy",4],0,"eraYear"),addRegexToken$3("N",matchEraAbbr$3),addRegexToken$3("NN",matchEraAbbr$3),addRegexToken$3("NNN",matchEraAbbr$3),addRegexToken$3("NNNN",matchEraName$3),addRegexToken$3("NNNNN",matchEraNarrow$3),addParseToken$3(["N","NN","NNN","NNNN","NNNNN"],(function(t,n,i,a){var s=i._locale.erasParse(t,a,i._strict);s?getParsingFlags$3(i).era=s:getParsingFlags$3(i).invalidEra=t})),addRegexToken$3("y",matchUnsigned$3),addRegexToken$3("yy",matchUnsigned$3),addRegexToken$3("yyy",matchUnsigned$3),addRegexToken$3("yyyy",matchUnsigned$3),addRegexToken$3("yo",matchEraYearOrdinal$3),addParseToken$3(["y","yy","yyy","yyyy"],YEAR$3),addParseToken$3(["yo"],(function(t,n,i,a){var s;i._locale._eraYearOrdinalRegex&&(s=t.match(i._locale._eraYearOrdinalRegex)),i._locale.eraYearOrdinalParse?n[YEAR$3]=i._locale.eraYearOrdinalParse(t,s):n[YEAR$3]=parseInt(t,10)})),addFormatToken$3(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken$3(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken$3("gggg","weekYear"),addWeekYearFormatToken$3("ggggg","weekYear"),addWeekYearFormatToken$3("GGGG","isoWeekYear"),addWeekYearFormatToken$3("GGGGG","isoWeekYear"),addRegexToken$3("G",matchSigned$3),addRegexToken$3("g",matchSigned$3),addRegexToken$3("GG",match1to2$3,match2$3),addRegexToken$3("gg",match1to2$3,match2$3),addRegexToken$3("GGGG",match1to4$3,match4$3),addRegexToken$3("gggg",match1to4$3,match4$3),addRegexToken$3("GGGGG",match1to6$3,match6$3),addRegexToken$3("ggggg",match1to6$3,match6$3),addWeekParseToken$3(["gggg","ggggg","GGGG","GGGGG"],(function(t,n,i,a){n[a.substr(0,2)]=toInt$3(t)})),addWeekParseToken$3(["gg","GG"],(function(t,n,i,a){n[a]=hooks$3.parseTwoDigitYear(t)})),addFormatToken$3("Q",0,"Qo","quarter"),addRegexToken$3("Q",match1$3),addParseToken$3("Q",(function(t,n){n[MONTH$3]=3*(toInt$3(t)-1)})),addFormatToken$3("D",["DD",2],"Do","date"),addRegexToken$3("D",match1to2$3,match1to2NoLeadingZero$3),addRegexToken$3("DD",match1to2$3,match2$3),addRegexToken$3("Do",(function(t,n){return t?n._dayOfMonthOrdinalParse||n._ordinalParse:n._dayOfMonthOrdinalParseLenient})),addParseToken$3(["D","DD"],DATE$3),addParseToken$3("Do",(function(t,n){n[DATE$3]=toInt$3(t.match(match1to2$3)[0])}));var getSetDayOfMonth$3=makeGetSet$3("Date",!0);function getSetDayOfYear$3(t){var n=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?n:this.add(t-n,"d")}addFormatToken$3("DDD",["DDDD",3],"DDDo","dayOfYear"),addRegexToken$3("DDD",match1to3$3),addRegexToken$3("DDDD",match3$3),addParseToken$3(["DDD","DDDD"],(function(t,n,i){i._dayOfYear=toInt$3(t)})),addFormatToken$3("m",["mm",2],0,"minute"),addRegexToken$3("m",match1to2$3,match1to2HasZero$3),addRegexToken$3("mm",match1to2$3,match2$3),addParseToken$3(["m","mm"],MINUTE$3);var getSetMinute$3=makeGetSet$3("Minutes",!1);addFormatToken$3("s",["ss",2],0,"second"),addRegexToken$3("s",match1to2$3,match1to2HasZero$3),addRegexToken$3("ss",match1to2$3,match2$3),addParseToken$3(["s","ss"],SECOND$3);var getSetSecond$3=makeGetSet$3("Seconds",!1),token$3,getSetMillisecond$3;for(addFormatToken$3("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken$3(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken$3(0,["SSS",3],0,"millisecond"),addFormatToken$3(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken$3(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken$3(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken$3(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken$3(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken$3(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addRegexToken$3("S",match1to3$3,match1$3),addRegexToken$3("SS",match1to3$3,match2$3),addRegexToken$3("SSS",match1to3$3,match3$3),token$3="SSSS";token$3.length<=9;token$3+="S")addRegexToken$3(token$3,matchUnsigned$3);function parseMs$3(t,n){n[MILLISECOND$3]=toInt$3(1e3*("0."+t))}for(token$3="S";token$3.length<=9;token$3+="S")addParseToken$3(token$3,parseMs$3);function getZoneAbbr$3(){return this._isUTC?"UTC":""}function getZoneName$3(){return this._isUTC?"Coordinated Universal Time":""}getSetMillisecond$3=makeGetSet$3("Milliseconds",!1),addFormatToken$3("z",0,0,"zoneAbbr"),addFormatToken$3("zz",0,0,"zoneName");var proto$5=Moment$3.prototype;function createUnix$3(t){return createLocal$3(1e3*t)}function createInZone$3(){return createLocal$3.apply(null,arguments).parseZone()}function preParsePostFormat$3(t){return t}proto$5.add=add$8,proto$5.calendar=calendar$1$3,proto$5.clone=clone$5,proto$5.diff=diff$4,proto$5.endOf=endOf$3,proto$5.format=format$3,proto$5.from=from$3,proto$5.fromNow=fromNow$3,proto$5.to=to$3,proto$5.toNow=toNow$3,proto$5.get=stringGet$3,proto$5.invalidAt=invalidAt$3,proto$5.isAfter=isAfter$3,proto$5.isBefore=isBefore$3,proto$5.isBetween=isBetween$3,proto$5.isSame=isSame$3,proto$5.isSameOrAfter=isSameOrAfter$3,proto$5.isSameOrBefore=isSameOrBefore$3,proto$5.isValid=isValid$2$3,proto$5.lang=lang$3,proto$5.locale=locale$3,proto$5.localeData=localeData$3,proto$5.max=prototypeMax$3,proto$5.min=prototypeMin$3,proto$5.parsingFlags=parsingFlags$3,proto$5.set=stringSet$3,proto$5.startOf=startOf$3,proto$5.subtract=subtract$4,proto$5.toArray=toArray$3,proto$5.toObject=toObject$3,proto$5.toDate=toDate$3,proto$5.toISOString=toISOString$4,proto$5.inspect=inspect$3,"undefined"!=typeof Symbol&&null!=Symbol.for&&(proto$5[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto$5.toJSON=toJSON$3,proto$5.toString=toString$3,proto$5.unix=unix$3,proto$5.valueOf=valueOf$4,proto$5.creationData=creationData$3,proto$5.eraName=getEraName$3,proto$5.eraNarrow=getEraNarrow$3,proto$5.eraAbbr=getEraAbbr$3,proto$5.eraYear=getEraYear$3,proto$5.year=getSetYear$3,proto$5.isLeapYear=getIsLeapYear$3,proto$5.weekYear=getSetWeekYear$3,proto$5.isoWeekYear=getSetISOWeekYear$3,proto$5.quarter=proto$5.quarters=getSetQuarter$3,proto$5.month=getSetMonth$3,proto$5.daysInMonth=getDaysInMonth$3,proto$5.week=proto$5.weeks=getSetWeek$3,proto$5.isoWeek=proto$5.isoWeeks=getSetISOWeek$3,proto$5.weeksInYear=getWeeksInYear$3,proto$5.weeksInWeekYear=getWeeksInWeekYear$3,proto$5.isoWeeksInYear=getISOWeeksInYear$3,proto$5.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear$3,proto$5.date=getSetDayOfMonth$3,proto$5.day=proto$5.days=getSetDayOfWeek$3,proto$5.weekday=getSetLocaleDayOfWeek$3,proto$5.isoWeekday=getSetISODayOfWeek$3,proto$5.dayOfYear=getSetDayOfYear$3,proto$5.hour=proto$5.hours=getSetHour$3,proto$5.minute=proto$5.minutes=getSetMinute$3,proto$5.second=proto$5.seconds=getSetSecond$3,proto$5.millisecond=proto$5.milliseconds=getSetMillisecond$3,proto$5.utcOffset=getSetOffset$3,proto$5.utc=setOffsetToUTC$3,proto$5.local=setOffsetToLocal$3,proto$5.parseZone=setOffsetToParsedOffset$3,proto$5.hasAlignedHourOffset=hasAlignedHourOffset$3,proto$5.isDST=isDaylightSavingTime$3,proto$5.isLocal=isLocal$3,proto$5.isUtcOffset=isUtcOffset$3,proto$5.isUtc=isUtc$3,proto$5.isUTC=isUtc$3,proto$5.zoneAbbr=getZoneAbbr$3,proto$5.zoneName=getZoneName$3,proto$5.dates=deprecate$3("dates accessor is deprecated. Use date instead.",getSetDayOfMonth$3),proto$5.months=deprecate$3("months accessor is deprecated. Use month instead",getSetMonth$3),proto$5.years=deprecate$3("years accessor is deprecated. Use year instead",getSetYear$3),proto$5.zone=deprecate$3("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone$3),proto$5.isDSTShifted=deprecate$3("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted$3);var proto$1$3=Locale$3.prototype;function get$1$3(t,n,i,a){var s=getLocale$3(),l=createUTC$3().set(a,n);return s[i](l,t)}function listMonthsImpl$3(t,n,i){if(isNumber$3(t)&&(n=t,t=void 0),t=t||"",null!=n)return get$1$3(t,n,i,"month");var a,s=[];for(a=0;a<12;a++)s[a]=get$1$3(t,a,i,"month");return s}function listWeekdaysImpl$3(t,n,i,a){"boolean"==typeof t?(isNumber$3(n)&&(i=n,n=void 0),n=n||""):(i=n=t,t=!1,isNumber$3(n)&&(i=n,n=void 0),n=n||"");var s,l=getLocale$3(),c=t?l._week.dow:0,u=[];if(null!=i)return get$1$3(n,(i+c)%7,a,"day");for(s=0;s<7;s++)u[s]=get$1$3(n,(s+c)%7,a,"day");return u}function listMonths$3(t,n){return listMonthsImpl$3(t,n,"months")}function listMonthsShort$3(t,n){return listMonthsImpl$3(t,n,"monthsShort")}function listWeekdays$3(t,n,i){return listWeekdaysImpl$3(t,n,i,"weekdays")}function listWeekdaysShort$3(t,n,i){return listWeekdaysImpl$3(t,n,i,"weekdaysShort")}function listWeekdaysMin$3(t,n,i){return listWeekdaysImpl$3(t,n,i,"weekdaysMin")}proto$1$3.calendar=calendar$4,proto$1$3.longDateFormat=longDateFormat$3,proto$1$3.invalidDate=invalidDate$3,proto$1$3.ordinal=ordinal$3,proto$1$3.preparse=preParsePostFormat$3,proto$1$3.postformat=preParsePostFormat$3,proto$1$3.relativeTime=relativeTime$4,proto$1$3.pastFuture=pastFuture$3,proto$1$3.set=set$4,proto$1$3.eras=localeEras$3,proto$1$3.erasParse=localeErasParse$3,proto$1$3.erasConvertYear=localeErasConvertYear$3,proto$1$3.erasAbbrRegex=erasAbbrRegex$3,proto$1$3.erasNameRegex=erasNameRegex$3,proto$1$3.erasNarrowRegex=erasNarrowRegex$3,proto$1$3.months=localeMonths$3,proto$1$3.monthsShort=localeMonthsShort$3,proto$1$3.monthsParse=localeMonthsParse$3,proto$1$3.monthsRegex=monthsRegex$3,proto$1$3.monthsShortRegex=monthsShortRegex$3,proto$1$3.week=localeWeek$3,proto$1$3.firstDayOfYear=localeFirstDayOfYear$3,proto$1$3.firstDayOfWeek=localeFirstDayOfWeek$3,proto$1$3.weekdays=localeWeekdays$3,proto$1$3.weekdaysMin=localeWeekdaysMin$3,proto$1$3.weekdaysShort=localeWeekdaysShort$3,proto$1$3.weekdaysParse=localeWeekdaysParse$3,proto$1$3.weekdaysRegex=weekdaysRegex$3,proto$1$3.weekdaysShortRegex=weekdaysShortRegex$3,proto$1$3.weekdaysMinRegex=weekdaysMinRegex$3,proto$1$3.isPM=localeIsPM$3,proto$1$3.meridiem=localeMeridiem$3,getSetGlobalLocale$3("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var n=t%10;return t+(1===toInt$3(t%100/10)?"th":1===n?"st":2===n?"nd":3===n?"rd":"th")}}),hooks$3.lang=deprecate$3("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale$3),hooks$3.langData=deprecate$3("moment.langData is deprecated. Use moment.localeData instead.",getLocale$3);var mathAbs$3=Math.abs;function abs$4(){var t=this._data;return this._milliseconds=mathAbs$3(this._milliseconds),this._days=mathAbs$3(this._days),this._months=mathAbs$3(this._months),t.milliseconds=mathAbs$3(t.milliseconds),t.seconds=mathAbs$3(t.seconds),t.minutes=mathAbs$3(t.minutes),t.hours=mathAbs$3(t.hours),t.months=mathAbs$3(t.months),t.years=mathAbs$3(t.years),this}function addSubtract$1$3(t,n,i,a){var s=createDuration$3(n,i);return t._milliseconds+=a*s._milliseconds,t._days+=a*s._days,t._months+=a*s._months,t._bubble()}function add$1$3(t,n){return addSubtract$1$3(this,t,n,1)}function subtract$1$3(t,n){return addSubtract$1$3(this,t,n,-1)}function absCeil$3(t){return t<0?Math.floor(t):Math.ceil(t)}function bubble$3(){var t,n,i,a,s,l=this._milliseconds,c=this._days,u=this._months,d=this._data;return l>=0&&c>=0&&u>=0||l<=0&&c<=0&&u<=0||(l+=864e5*absCeil$3(monthsToDays$3(u)+c),c=0,u=0),d.milliseconds=l%1e3,t=absFloor$3(l/1e3),d.seconds=t%60,n=absFloor$3(t/60),d.minutes=n%60,i=absFloor$3(n/60),d.hours=i%24,c+=absFloor$3(i/24),u+=s=absFloor$3(daysToMonths$3(c)),c-=absCeil$3(monthsToDays$3(s)),a=absFloor$3(u/12),u%=12,d.days=c,d.months=u,d.years=a,this}function daysToMonths$3(t){return 4800*t/146097}function monthsToDays$3(t){return 146097*t/4800}function as$3(t){if(!this.isValid())return NaN;var n,i,a=this._milliseconds;if("month"===(t=normalizeUnits$3(t))||"quarter"===t||"year"===t)switch(n=this._days+a/864e5,i=this._months+daysToMonths$3(n),t){case"month":return i;case"quarter":return i/3;case"year":return i/12}else switch(n=this._days+Math.round(monthsToDays$3(this._months)),t){case"week":return n/7+a/6048e5;case"day":return n+a/864e5;case"hour":return 24*n+a/36e5;case"minute":return 1440*n+a/6e4;case"second":return 86400*n+a/1e3;case"millisecond":return Math.floor(864e5*n)+a;default:throw new Error("Unknown unit "+t)}}function makeAs$3(t){return function(){return this.as(t)}}var asMilliseconds$3=makeAs$3("ms"),asSeconds$3=makeAs$3("s"),asMinutes$3=makeAs$3("m"),asHours$3=makeAs$3("h"),asDays$3=makeAs$3("d"),asWeeks$3=makeAs$3("w"),asMonths$3=makeAs$3("M"),asQuarters$3=makeAs$3("Q"),asYears$3=makeAs$3("y"),valueOf$1$3=asMilliseconds$3;function clone$1$3(){return createDuration$3(this)}function get$2$3(t){return t=normalizeUnits$3(t),this.isValid()?this[t+"s"]():NaN}function makeGetter$3(t){return function(){return this.isValid()?this._data[t]:NaN}}var milliseconds$3=makeGetter$3("milliseconds"),seconds$3=makeGetter$3("seconds"),minutes$3=makeGetter$3("minutes"),hours$3=makeGetter$3("hours"),days$3=makeGetter$3("days"),months$3=makeGetter$3("months"),years$3=makeGetter$3("years");function weeks$3(){return absFloor$3(this.days()/7)}var round$3=Math.round,thresholds$3={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo$3(t,n,i,a,s){return s.relativeTime(n||1,!!i,t,a)}function relativeTime$1$3(t,n,i,a){var s=createDuration$3(t).abs(),l=round$3(s.as("s")),c=round$3(s.as("m")),u=round$3(s.as("h")),d=round$3(s.as("d")),f=round$3(s.as("M")),m=round$3(s.as("w")),g=round$3(s.as("y")),v=l<=i.ss&&["s",l]||l<i.s&&["ss",l]||c<=1&&["m"]||c<i.m&&["mm",c]||u<=1&&["h"]||u<i.h&&["hh",u]||d<=1&&["d"]||d<i.d&&["dd",d];return null!=i.w&&(v=v||m<=1&&["w"]||m<i.w&&["ww",m]),(v=v||f<=1&&["M"]||f<i.M&&["MM",f]||g<=1&&["y"]||["yy",g])[2]=n,v[3]=+t>0,v[4]=a,substituteTimeAgo$3.apply(null,v)}function getSetRelativeTimeRounding$3(t){return void 0===t?round$3:"function"==typeof t&&(round$3=t,!0)}function getSetRelativeTimeThreshold$3(t,n){return void 0!==thresholds$3[t]&&(void 0===n?thresholds$3[t]:(thresholds$3[t]=n,"s"===t&&(thresholds$3.ss=n-1),!0))}function humanize$3(t,n){if(!this.isValid())return this.localeData().invalidDate();var i,a,s=!1,l=thresholds$3;return"object"==typeof t&&(n=t,t=!1),"boolean"==typeof t&&(s=t),"object"==typeof n&&(l=Object.assign({},thresholds$3,n),null!=n.s&&null==n.ss&&(l.ss=n.s-1)),a=relativeTime$1$3(this,!s,l,i=this.localeData()),s&&(a=i.pastFuture(+this,a)),i.postformat(a)}var abs$1$3=Math.abs;function sign$3(t){return(t>0)-(t<0)||+t}function toISOString$1$3(){if(!this.isValid())return this.localeData().invalidDate();var t,n,i,a,s,l,c,u,d=abs$1$3(this._milliseconds)/1e3,f=abs$1$3(this._days),m=abs$1$3(this._months),g=this.asSeconds();return g?(t=absFloor$3(d/60),n=absFloor$3(t/60),d%=60,t%=60,i=absFloor$3(m/12),m%=12,a=d?d.toFixed(3).replace(/\.?0+$/,""):"",s=g<0?"-":"",l=sign$3(this._months)!==sign$3(g)?"-":"",c=sign$3(this._days)!==sign$3(g)?"-":"",u=sign$3(this._milliseconds)!==sign$3(g)?"-":"",s+"P"+(i?l+i+"Y":"")+(m?l+m+"M":"")+(f?c+f+"D":"")+(n||t||d?"T":"")+(n?u+n+"H":"")+(t?u+t+"M":"")+(d?u+a+"S":"")):"P0D"}var proto$2$3=Duration$3.prototype;proto$2$3.isValid=isValid$1$3,proto$2$3.abs=abs$4,proto$2$3.add=add$1$3,proto$2$3.subtract=subtract$1$3,proto$2$3.as=as$3,proto$2$3.asMilliseconds=asMilliseconds$3,proto$2$3.asSeconds=asSeconds$3,proto$2$3.asMinutes=asMinutes$3,proto$2$3.asHours=asHours$3,proto$2$3.asDays=asDays$3,proto$2$3.asWeeks=asWeeks$3,proto$2$3.asMonths=asMonths$3,proto$2$3.asQuarters=asQuarters$3,proto$2$3.asYears=asYears$3,proto$2$3.valueOf=valueOf$1$3,proto$2$3._bubble=bubble$3,proto$2$3.clone=clone$1$3,proto$2$3.get=get$2$3,proto$2$3.milliseconds=milliseconds$3,proto$2$3.seconds=seconds$3,proto$2$3.minutes=minutes$3,proto$2$3.hours=hours$3,proto$2$3.days=days$3,proto$2$3.weeks=weeks$3,proto$2$3.months=months$3,proto$2$3.years=years$3,proto$2$3.humanize=humanize$3,proto$2$3.toISOString=toISOString$1$3,proto$2$3.toString=toISOString$1$3,proto$2$3.toJSON=toISOString$1$3,proto$2$3.locale=locale$3,proto$2$3.localeData=localeData$3,proto$2$3.toIsoString=deprecate$3("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1$3),proto$2$3.lang=lang$3,addFormatToken$3("X",0,0,"unix"),addFormatToken$3("x",0,0,"valueOf"),addRegexToken$3("x",matchSigned$3),addRegexToken$3("X",matchTimestamp$3),addParseToken$3("X",(function(t,n,i){i._d=new Date(1e3*parseFloat(t))})),addParseToken$3("x",(function(t,n,i){i._d=new Date(toInt$3(t))})),
29
29
  //! moment.js
30
- hooks$3.version="2.30.1",setHookCallback$3(createLocal$3),hooks$3.fn=proto$5,hooks$3.min=min$3,hooks$3.max=max$3,hooks$3.now=now$3,hooks$3.utc=createUTC$3,hooks$3.unix=createUnix$3,hooks$3.months=listMonths$3,hooks$3.isDate=isDate$3,hooks$3.locale=getSetGlobalLocale$3,hooks$3.invalid=createInvalid$4,hooks$3.duration=createDuration$3,hooks$3.isMoment=isMoment$3,hooks$3.weekdays=listWeekdays$3,hooks$3.parseZone=createInZone$3,hooks$3.localeData=getLocale$3,hooks$3.isDuration=isDuration$3,hooks$3.monthsShort=listMonthsShort$3,hooks$3.weekdaysMin=listWeekdaysMin$3,hooks$3.defineLocale=defineLocale$3,hooks$3.updateLocale=updateLocale$3,hooks$3.locales=listLocales$3,hooks$3.weekdaysShort=listWeekdaysShort$3,hooks$3.normalizeUnits=normalizeUnits$3,hooks$3.relativeTimeRounding=getSetRelativeTimeRounding$3,hooks$3.relativeTimeThreshold=getSetRelativeTimeThreshold$3,hooks$3.calendarFormat=getCalendarFormat$3,hooks$3.prototype=proto$5,hooks$3.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const byteToHex=[];for(let t=0;t<256;++t)byteToHex.push((t+256).toString(16).slice(1));function unsafeStringify(t,n=0){return(byteToHex[t[n+0]]+byteToHex[t[n+1]]+byteToHex[t[n+2]]+byteToHex[t[n+3]]+"-"+byteToHex[t[n+4]]+byteToHex[t[n+5]]+"-"+byteToHex[t[n+6]]+byteToHex[t[n+7]]+"-"+byteToHex[t[n+8]]+byteToHex[t[n+9]]+"-"+byteToHex[t[n+10]]+byteToHex[t[n+11]]+byteToHex[t[n+12]]+byteToHex[t[n+13]]+byteToHex[t[n+14]]+byteToHex[t[n+15]]).toLowerCase()}let getRandomValues;const rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}const randomUUID="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native={randomUUID:randomUUID};function v4(t,n,i){if(native.randomUUID&&!t)return native.randomUUID();const a=(t=t||{}).random??t.rng?.()??rng();if(a.length<16)throw new Error("Random bytes length must be >= 16");return a[6]=15&a[6]|64,a[8]=63&a[8]|128,unsafeStringify(a)}var browserPonyfill={exports:{}},hasRequiredBrowserPonyfill;function requireBrowserPonyfill(){return hasRequiredBrowserPonyfill||(hasRequiredBrowserPonyfill=1,function(t,n){var i,a="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window,s=function(){function t(){this.fetch=!1,this.DOMException=a.DOMException}return t.prototype=a,new t}();i=s,function(t){var n=void 0!==i&&i||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window||{},a="URLSearchParams"in n,s="Symbol"in n&&"iterator"in Symbol,l="FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch(e){return!1}}(),c="FormData"in n,u="ArrayBuffer"in n;if(u)var d=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],f=ArrayBuffer.isView||function(t){return t&&d.indexOf(Object.prototype.toString.call(t))>-1};function m(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function g(t){return"string"!=typeof t&&(t=String(t)),t}function v(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return s&&(n[Symbol.iterator]=function(){return n}),n}function b(t){this.map={},t instanceof b?t.forEach((function(t,n){this.append(n,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(n){this.append(n,t[n])}),this)}function w(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function k(t){return new Promise((function(n,i){t.onload=function(){n(t.result)},t.onerror=function(){i(t.error)}}))}function S(t){var n=new FileReader,i=k(n);return n.readAsArrayBuffer(t),i}function C(t){if(t.slice)return t.slice(0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function E(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:l&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:c&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:a&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():u&&l&&(n=t)&&DataView.prototype.isPrototypeOf(n)?(this._bodyArrayBuffer=C(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(t)||f(t))?this._bodyArrayBuffer=C(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},l&&(this.blob=function(){var t=w(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=w(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(l)return this.blob().then(S);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,n,i,a,s,l=w(this);if(l)return l;if(this._bodyBlob)return t=this._bodyBlob,n=new FileReader,i=k(n),a=/charset=([A-Za-z0-9_-]+)/.exec(t.type),s=a?a[1]:"utf-8",n.readAsText(t,s),i;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var n=new Uint8Array(t),i=new Array(n.length),a=0;a<n.length;a++)i[a]=String.fromCharCode(n[a]);return i.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},c&&(this.formData=function(){return this.text().then(I)}),this.json=function(){return this.text().then(JSON.parse)},this}b.prototype.append=function(t,n){t=m(t),n=g(n);var i=this.map[t];this.map[t]=i?i+", "+n:n},b.prototype.delete=function(t){delete this.map[m(t)]},b.prototype.get=function(t){return t=m(t),this.has(t)?this.map[t]:null},b.prototype.has=function(t){return this.map.hasOwnProperty(m(t))},b.prototype.set=function(t,n){this.map[m(t)]=g(n)},b.prototype.forEach=function(t,n){for(var i in this.map)this.map.hasOwnProperty(i)&&t.call(n,this.map[i],i,this)},b.prototype.keys=function(){var t=[];return this.forEach((function(n,i){t.push(i)})),v(t)},b.prototype.values=function(){var t=[];return this.forEach((function(n){t.push(n)})),v(t)},b.prototype.entries=function(){var t=[];return this.forEach((function(n,i){t.push([i,n])})),v(t)},s&&(b.prototype[Symbol.iterator]=b.prototype.entries);var T=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function P(t,i){if(!(this instanceof P))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var a,s,l=(i=i||{}).body;if(t instanceof P){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,i.headers||(this.headers=new b(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,l||null==t._bodyInit||(l=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=i.credentials||this.credentials||"same-origin",!i.headers&&this.headers||(this.headers=new b(i.headers)),this.method=(a=i.method||this.method||"GET",s=a.toUpperCase(),T.indexOf(s)>-1?s:a),this.mode=i.mode||this.mode||null,this.signal=i.signal||this.signal||function(){if("AbortController"in n)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&l)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(l),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==i.cache&&"no-cache"!==i.cache)){var c=/([?&])_=[^&]*/;c.test(this.url)?this.url=this.url.replace(c,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function I(t){var n=new FormData;return t.trim().split("&").forEach((function(t){if(t){var i=t.split("="),a=i.shift().replace(/\+/g," "),s=i.join("=").replace(/\+/g," ");n.append(decodeURIComponent(a),decodeURIComponent(s))}})),n}function A(t,n){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===n.statusText?"":""+n.statusText,this.headers=new b(n.headers),this.url=n.url||"",this._initBody(t)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})},E.call(P.prototype),E.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},A.error=function(){var t=new A(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var D=[301,302,303,307,308];A.redirect=function(t,n){if(-1===D.indexOf(n))throw new RangeError("Invalid status code");return new A(null,{status:n,headers:{location:t}})},t.DOMException=n.DOMException;try{new t.DOMException}catch(_e){t.DOMException=function(t,n){this.message=t,this.name=n;var i=Error(t);this.stack=i.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function O(i,a){return new Promise((function(s,c){var d=new P(i,a);if(d.signal&&d.signal.aborted)return c(new t.DOMException("Aborted","AbortError"));var f=new XMLHttpRequest;function v(){f.abort()}if(f.onload=function(){var t,n,i={statusText:f.statusText,headers:(t=f.getAllResponseHeaders()||"",n=new b,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var i=t.split(":"),a=i.shift().trim();if(a){var s=i.join(":").trim();try{n.append(a,s)}catch(l){console.warn("Response "+l.message)}}})),n)};0===d.url.indexOf("file://")&&(f.status<200||f.status>599)?i.status=200:i.status=f.status,i.url="responseURL"in f?f.responseURL:i.headers.get("X-Request-URL");var a="response"in f?f.response:f.responseText;setTimeout((function(){s(new A(a,i))}),0)},f.onerror=function(){setTimeout((function(){c(new TypeError("Network request failed"))}),0)},f.ontimeout=function(){setTimeout((function(){c(new TypeError("Network request timed out"))}),0)},f.onabort=function(){setTimeout((function(){c(new t.DOMException("Aborted","AbortError"))}),0)},f.open(d.method,function(t){try{return""===t&&n.location.href?n.location.href:t}catch(e){return t}}(d.url),!0),"include"===d.credentials?f.withCredentials=!0:"omit"===d.credentials&&(f.withCredentials=!1),"responseType"in f&&(l?f.responseType="blob":u&&(f.responseType="arraybuffer")),a&&"object"==typeof a.headers&&!(a.headers instanceof b||n.Headers&&a.headers instanceof n.Headers)){var w=[];Object.getOwnPropertyNames(a.headers).forEach((function(t){w.push(m(t)),f.setRequestHeader(t,g(a.headers[t]))})),d.headers.forEach((function(t,n){-1===w.indexOf(n)&&f.setRequestHeader(n,t)}))}else d.headers.forEach((function(t,n){f.setRequestHeader(n,t)}));d.signal&&(d.signal.addEventListener("abort",v),f.onreadystatechange=function(){4===f.readyState&&d.signal.removeEventListener("abort",v)}),f.send(void 0===d._bodyInit?null:d._bodyInit)}))}O.polyfill=!0,n.fetch||(n.fetch=O,n.Headers=b,n.Request=P,n.Response=A),t.Headers=b,t.Request=P,t.Response=A,t.fetch=O}({}),s.fetch.ponyfill=!0,delete s.fetch.polyfill;var l=a.fetch?a:s;(n=l.fetch).default=l.fetch,n.fetch=l.fetch,n.Headers=l.Headers,n.Request=l.Request,n.Response=l.Response,t.exports=n}(browserPonyfill,browserPonyfill.exports)),browserPonyfill.exports}var browserPonyfillExports=requireBrowserPonyfill();const fetch2=getDefaultExportFromCjs$4(browserPonyfillExports);var browser={exports:{}},hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser.exports;hasRequiredBrowser=1;var t,n,i=browser.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(n){if(t===setTimeout)return setTimeout(n,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(n,0);try{return t(n,0)}catch(e){try{return t.call(null,n,0)}catch(i){return t.call(this,n,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var c,u=[],d=!1,f=-1;function m(){d&&c&&(d=!1,c.length?u=c.concat(u):f=-1,u.length&&g())}function g(){if(!d){var t=l(m);d=!0;for(var i=u.length;i;){for(c=u,u=[];++f<i;)c&&c[f].run();f=-1,i=u.length}c=null,d=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(i){return n.call(this,t)}}}(t)}}function v(t,n){this.fun=t,this.array=n}function b(){}return i.nextTick=function(t){var n=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)n[i-1]=arguments[i];u.push(new v(t,n)),1!==u.length||d||l(g)},v.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=b,i.addListener=b,i.once=b,i.off=b,i.removeListener=b,i.removeAllListeners=b,i.emit=b,i.prependListener=b,i.prependOnceListener=b,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0},browser.exports}var browserExports=requireBrowser();const process2=getDefaultExportFromCjs$4(browserExports);var __defProp$3=Object.defineProperty,__getOwnPropNames=Object.getOwnPropertyNames,__glob=t=>n=>{var i=t[n];if(i)return i();throw new Error("Module not found in bundle: "+n)},__esm=(t,n)=>function(){return t&&(n=(0,t[__getOwnPropNames(t)[0]])(t=0)),n},__export=(t,n)=>{for(var i in n)__defProp$3(t,i,{get:n[i],enumerable:!0})},init_adminDB=__esm({"src/core/interfaces/adminDB.ts"(){}}),init_classroomDB=__esm({"src/core/interfaces/classroomDB.ts"(){}}),init_SyncStrategy=__esm({"src/impl/common/SyncStrategy.ts"(){}}),isDevelopment,logger,init_logger=__esm({"src/util/logger.ts"(){isDevelopment="undefined"!=typeof process&&!1,logger={debug:(t,...n)=>{isDevelopment&&console.debug(`[DB:DEBUG] ${t}`,...n)},info:(t,...n)=>{console.info(`[DB:INFO] ${t}`,...n)},warn:(t,...n)=>{console.warn(`[DB:WARN] ${t}`,...n)},error:(t,...n)=>{console.error(`[DB:ERROR] ${t}`,...n)},log:(t,...n)=>{isDevelopment&&console.log(`[DB:LOG] ${t}`,...n)}}}}),GuestUsername,DocType,DocTypePrefixes,init_types_legacy=__esm({"src/core/types/types-legacy.ts"(){init_logger(),GuestUsername="sk-guest-",DocType=(t=>(t.DISPLAYABLE_DATA="DISPLAYABLE_DATA",t.CARD="CARD",t.DATASHAPE="DATASHAPE",t.QUESTIONTYPE="QUESTION",t.VIEW="VIEW",t.PEDAGOGY="PEDAGOGY",t.CARDRECORD="CARDRECORD",t.SCHEDULED_CARD="SCHEDULED_CARD",t.TAG="TAG",t.NAVIGATION_STRATEGY="NAVIGATION_STRATEGY",t))(DocType||{}),DocTypePrefixes={CARD:"c",DISPLAYABLE_DATA:"dd",TAG:"TAG",CARDRECORD:"cardH",SCHEDULED_CARD:"card_review_",DATASHAPE:"DATASHAPE",QUESTION:"QUESTION",VIEW:"VIEW",PEDAGOGY:"PEDAGOGY",NAVIGATION_STRATEGY:"NAVIGATION_STRATEGY"}}});function areQuestionRecords(t){return isQuestionRecord(t.records[0])}function isQuestionRecord(t){return void 0!==t.userAnswer}function getCardHistoryID(t,n){return`${DocTypePrefixes.CARDRECORD}-${t}-${n}`}function docIsDeleted(t){return Boolean("not_found"===t?.error&&"deleted"===t?.reason)}var init_util=__esm({"src/core/util/index.ts"(){init_types_legacy()}}),pouchdb_setup_default,init_pouchdb_setup=__esm({"src/impl/couch/pouchdb-setup.ts"(){PouchDB.plugin(plugin$1),PouchDB.plugin(plugin),PouchDB.defaults({}),pouchdb_setup_default=PouchDB}}),logger2,init_tuiLogger=__esm({"src/util/tuiLogger.ts"(){init_dataDirectory(),logger2={debug:(t,...n)=>{console.log(`[DEBUG] ${t}`,...n)},info:(t,...n)=>{console.info(`[INFO] ${t}`,...n)},warn:(t,...n)=>{console.warn(`[WARN] ${t}`,...n)},error:(t,...n)=>{console.error(`[ERROR] ${t}`,...n)}}}});function getAppDataDirectory(){return ENV.LOCAL_STORAGE_PREFIX?(void 0)((void 0)(),".tuilder",ENV.LOCAL_STORAGE_PREFIX):(void 0)((void 0)(),".tuilder")}async function ensureAppDataDirectory(){const t=getAppDataDirectory();try{await(void 0).mkdir(t,{recursive:!0})}catch(n){if("EEXIST"!==n.code)throw new Error(`Failed to create app data directory ${t}: ${n.message}`)}return t}function getDbPath(t){return(void 0)(getAppDataDirectory(),t)}async function initializeDataDirectory(){await ensureAppDataDirectory(),logger2.info(`PouchDB data directory initialized: ${getAppDataDirectory()}`)}var init_dataDirectory=__esm({"src/util/dataDirectory.ts"(){init_tuiLogger(),init_factory()}}),REVIEW_TIME_FORMAT,log2;function hexEncode(t){let n,i="";for(let a=0;a<t.length;a++)n=t.charCodeAt(a).toString(16),i+=("000"+n).slice(3);return i}function filterAllDocsByPrefix(t,n,i){const a={startkey:n,endkey:n+"￰",include_docs:!0};return i&&Object.assign(a,i),t.allDocs(a)}function getStartAndEndKeys(t){return{startkey:t,endkey:t+"￰"}}function getLocalUserDB(t){const n=`userdb-${t}`;return"undefined"==typeof window?new pouchdb_setup_default(getDbPath(n),{}):new pouchdb_setup_default(n,{})}function scheduleCardReviewLocal(t,n){const i=hooks$3.utc();logger.info(`Scheduling for review in: ${n.time.diff(i,"h")/24} days`),t.put({_id:DocTypePrefixes.SCHEDULED_CARD+n.time.format(REVIEW_TIME_FORMAT),cardId:n.card_id,reviewTime:n.time.toISOString(),courseId:n.course_id,scheduledAt:i.toISOString(),scheduledFor:n.scheduledFor,schedulingAgentId:n.schedulingAgentId})}async function removeScheduledCardReviewLocal(t,n){const i=await t.get(n);t.remove(i).then((t=>{t.ok&&log2(`Removed Review Doc: ${n}`)})).catch((t=>{log2(`Failed to remove Review Doc: ${n},\n${JSON.stringify(t)}`)}))}var init_userDBHelpers=__esm({"src/impl/common/userDBHelpers.ts"(){init_core(),init_logger(),init_pouchdb_setup(),init_dataDirectory(),REVIEW_TIME_FORMAT="YYYY-MM-DD--kk:mm:ss-SSS",log2=t=>{logger.info(t)}}}),Loggable,init_Loggable=__esm({"src/util/Loggable.ts"(){Loggable=class{log(...t){console.log(`LOG-${this._className}@${new Date}:`,...t)}error(...t){console.error(`ERROR-${this._className}@${new Date}:`,...t)}}}}),UpdateQueue,init_updateQueue=__esm({"src/impl/couch/updateQueue.ts"(){init_Loggable(),init_logger(),UpdateQueue=class extends Loggable{constructor(t,n){super(),__publicField2(this,"_className","UpdateQueue"),__publicField2(this,"pendingUpdates",{}),__publicField2(this,"inprogressUpdates",{}),__publicField2(this,"readDB"),__publicField2(this,"writeDB"),this.readDB=t,this.writeDB=n||t,logger.debug("UpdateQ initialized..."),this.readDB.info().then((t=>{logger.debug(`db info: ${JSON.stringify(t)}`)}))}update(t,n){return logger.debug(`Update requested on doc: ${t}`),this.pendingUpdates[t]?this.pendingUpdates[t].push(n):this.pendingUpdates[t]=[n],this.applyUpdates(t)}async applyUpdates(t){if(logger.debug(`Applying updates on doc: ${t}`),this.inprogressUpdates[t]){for(;this.inprogressUpdates[t];)await new Promise((t=>setTimeout(t,50*Math.random())));return this.applyUpdates(t)}if(this.pendingUpdates[t]&&this.pendingUpdates[t].length>0){this.inprogressUpdates[t]=!0;const n=5;for(let i=0;i<n;i++)try{const n=await this.readDB.get(t);logger.debug(`Retrieved doc: ${t}`);let i={...n};const a=[...this.pendingUpdates[t]];for(const t of a)i="function"==typeof t?{...i,...t(i)}:{...i,...t};return await this.writeDB.put(i),logger.debug(`Put doc: ${t}`),this.pendingUpdates[t].splice(0,a.length),0!==this.pendingUpdates[t].length?this.applyUpdates(t):(this.inprogressUpdates[t]=!1,delete this.inprogressUpdates[t],i)}catch(e){if(!("conflict"===e.name&&i<n-1))throw"not_found"===e.name&&0===i?(logger.warn(`Update failed for ${t} - does not exist. Throwing to caller.`),e):(delete this.inprogressUpdates[t],this.pendingUpdates[t]&&delete this.pendingUpdates[t],logger.error(`Error on attemped update (retry ${i}): ${JSON.stringify(e)}`),e);logger.warn(`Conflict on update for doc ${t}, retry #${i+1}`),await new Promise((t=>setTimeout(t,50*Math.random())))}throw new Error(`UpdateQueue failed for doc ${t} after ${n} retries.`)}throw new Error("Empty Updates Queue Triggered")}}}}),UsrCrsData,init_user_course_relDB=__esm({"src/impl/couch/user-course-relDB.ts"(){init_logger(),UsrCrsData=class{constructor(t,n){__publicField2(this,"user"),__publicField2(this,"_courseId"),this.user=t,this._courseId=n}async getReviewsForcast(t){const n=hooks$3.utc().add(t,"days");return this.getReviewstoDate(n)}async getPendingReviews(){const t=hooks$3.utc();return this.getReviewstoDate(t)}async getScheduledReviewCount(){return(await this.getPendingReviews()).length}async getCourseSettings(){const t=(await this.user.getCourseRegistrationsDoc()).courses.find((t=>t.courseID===this._courseId));return t&&t.settings?t.settings:(logger.warn(`no settings found during lookup on course ${this._courseId}`),{})}updateCourseSettings(t){"updateCourseSettings"in this.user&&this.user.updateCourseSettings(this._courseId,t)}async getReviewstoDate(t){const n=await this.user.getPendingReviews(this._courseId);return logger.debug(`Fetching ${this.user.getUsername()}'s scheduled reviews for course ${this._courseId}.`),n.filter((n=>{const i=hooks$3.utc(n.reviewTime);return t.isAfter(i)}))}}}}),CLIENT_CACHE;async function GET_CACHED(t,n){return CLIENT_CACHE[t]?CLIENT_CACHE[t]:(CLIENT_CACHE[t]=n?await n(t):await GET_ITEM(t),GET_CACHED(t))}async function GET_ITEM(t){throw new Error(`No implementation found for GET_CACHED(${t})`)}var init_clientCache=__esm({"src/impl/couch/clientCache.ts"(){CLIENT_CACHE={}}}),AlreadyTaggedErr;async function addNote55(t,n,i,a,s,l,c,u=blankCourseElo()){const d=getCourseDB(t),f=prepareNote55(t,n,i,a,s,l,c),m=`${DocTypePrefixes.DISPLAYABLE_DATA}-${v4()}`,g=await d.put({...f,_id:m}),v=NameSpacer.getDataShapeString({course:n,dataShape:i.name});if(g.ok)try{await createCards(t,v,g.id,l,u,s)}catch(b){let t="Unknown error";t=b instanceof Error?b.message:b&&"object"==typeof b&&"reason"in b?b.reason:b&&"object"==typeof b&&"message"in b?b.message:String(b),logger.error(`[addNote55] Failed to create cards for note ${g.id}: ${t}`),g.cardCreationFailed=!0,g.cardCreationError=t}else logger.error(`[addNote55] Error adding note. Result: ${JSON.stringify(g)}`);return g}async function createCards(t,n,i,a,s=blankCourseElo(),l){const c=await getCredentialledCourseConfig(t),u=NameSpacer.getDataShapeDescriptor(n);let d=[];for(const f of c.dataShapes)f.name===n&&(d=f.questionTypes);if(0===d.length){const t=`No questionViewTypes found for datashapeID: ${n} in course config. Cards cannot be created.`;throw logger.error(t),new Error(t)}for(const f of d)await createCard(f,t,u,i,a,s,l)}async function createCard(t,n,i,a,s,l=blankCourseElo(),c){const u=NameSpacer.getQuestionDescriptor(t),d=await getCredentialledCourseConfig(n);for(const f of d.questionTypes)if(f.name===t)for(const t of f.viewList)await addCard(n,i.course,[a],NameSpacer.getViewString({course:u.course,questionType:u.questionType,view:t}),l,s,c)}async function addCard(t,n,i,a,s,l,c){const u=getCourseDB(t),d=`${DocTypePrefixes.CARD}-${v4()}`,f=await u.put({_id:d,course:n,id_displayable_data:i,id_view:a,docType:"CARD",elo:s||toCourseElo(990+Math.round(20*Math.random())),author:c});for(const m of l)logger.info(`adding tag: ${m} to card ${f.id}`),await addTagToCard(t,f.id,m,c,!1);return f}async function getCredentialledCourseConfig(t){try{const n=getCourseDB(t),i=await n.get("CourseConfig");return i.courseID=t,logger.info(`Returning course config: ${JSON.stringify(i)}`),i}catch(e){throw logger.error(`Error fetching config for ${t}:`,e),e}}async function addTagToCard(t,n,i,a,s=!0){const l=getTagID(i),c=getCourseDB(t),u=new CourseDB(t,(async()=>BaseUser.Dummy({setupRemoteDB:()=>null,startSync:()=>{},canCreateAccount:()=>!1,canAuthenticate:()=>!1,getCurrentUsername:async()=>"DummyUser"})));try{logger.info(`Applying tag ${i} to card ${t+"-"+n}...`);const a=await c.get(l);if(a.taggedCards.includes(n))throw new AlreadyTaggedErr(`Card ${n} is already tagged with ${i}`);if(a.taggedCards.push(n),s)try{const a=(await u.getCardEloData([n]))[0];a.tags[i]={count:0,score:a.global.score},await updateCardElo(t,n,a)}catch(d){logger.error("Failed to update ELO data for card:",n,d)}return c.put(a)}catch(e){if(e instanceof AlreadyTaggedErr)throw e;return await createTag(t,i,a),addTagToCard(t,n,i,a,s)}}async function updateCardElo(t,n,i){if(i){const a=getCourseDB(t),s=await a.get(n);return logger.debug(`Replacing ${JSON.stringify(s.elo)} with ${JSON.stringify(i)}`),s.elo=i,a.put(s)}}function getTagID(t){const n="TAG".valueOf()+"-";return 0===t.indexOf(n)?t:n+t}function getCourseDB(t){const n=`coursedb-${t}`;return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig())}var init_courseAPI=__esm({"src/impl/couch/courseAPI.ts"(){init_pouchdb_setup(),init_couch(),init_factory(),init_courseDB(),init_types_legacy(),init_common(),init_logger(),AlreadyTaggedErr=class extends Error{constructor(t){super(t),this.name="AlreadyTaggedErr"}}}}),courseLookupDBTitle,CourseLookup,init_courseLookupDB=__esm({"src/impl/couch/courseLookupDB.ts"(){var t;init_pouchdb_setup(),init_factory(),init_logger(),courseLookupDBTitle="coursedb-lookup",logger.debug("COURSELOOKUP FILE RUNNING"),__publicField2(t=class{static get _db(){if(this._dbInstance)return this._dbInstance;if("NOT_SET"===ENV.COUCHDB_SERVER_URL||!ENV.COUCHDB_SERVER_URL)throw new Error("CourseLookup.db: COUCHDB_SERVER_URL is not set. Ensure initializeDataLayer has been called with valid configuration.");if("NOT_SET"===ENV.COUCHDB_SERVER_PROTOCOL||!ENV.COUCHDB_SERVER_PROTOCOL)throw new Error("CourseLookup.db: COUCHDB_SERVER_PROTOCOL is not set. Ensure initializeDataLayer has been called with valid configuration.");const t=`${ENV.COUCHDB_SERVER_PROTOCOL}://${ENV.COUCHDB_SERVER_URL}/${courseLookupDBTitle}`,n={skip_setup:!0};ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD?(n.auth={username:ENV.COUCHDB_USERNAME,password:ENV.COUCHDB_PASSWORD},logger.info(`CourseLookup: Connecting to ${t} with authentication.`)):logger.info(`CourseLookup: Connecting to ${t} without authentication.`);try{return this._dbInstance=new pouchdb_setup_default(t,n),logger.info(`CourseLookup: Database instance created for ${courseLookupDBTitle}.`),this._dbInstance}catch(i){throw logger.error(`CourseLookup: Failed to create PouchDB instance for ${t}`,i),this._dbInstance=null,new Error(`CourseLookup: Failed to initialize database connection: ${i instanceof Error?i.message:String(i)}`)}}static async add(n){return(await t._db.post({name:n})).id}static async addWithId(n,i,a){const s={_id:n,name:i};a&&(s.disambiguator=a),await t._db.put(s)}static async delete(n){const i=await t._db.get(n);return await t._db.remove(i)}static async allCourseWare(){return(await t._db.allDocs({include_docs:!0})).rows.map((t=>t.doc))}static async updateDisambiguator(n,i){const a=await t._db.get(n);return a.disambiguator=i,await t._db.put(a)}static async isCourse(n){try{return await t._db.get(n),!0}catch(i){return logger.info("Courselookup failed:",i),!1}}},"_dbInstance",null),CourseLookup=t}}),elo_exports={},ELONavigator;__export(elo_exports,{default:()=>ELONavigator});var init_elo=__esm({"src/core/navigators/elo.ts"(){init_navigators(),ELONavigator=class extends ContentNavigator{constructor(t,n){super(),__publicField2(this,"user"),__publicField2(this,"course"),this.user=t,this.course=n}async getPendingReviews(){const t=await this.user.getPendingReviews(this.course.getCourseID()),n=await this.course.getCardEloData(t.map((t=>t.cardId))),i=t.map(((t,i)=>({...t,...n[i]})));return i.sort(((t,n)=>t.global.score-n.global.score)),i.map((t=>({...t,contentSourceType:"course",contentSourceID:this.course.getCourseID(),cardID:t.cardId,courseID:t.courseId,qualifiedID:`${t.courseId}-${t.cardId}`,reviewID:t._id,status:"review"})))}async getNewCards(t=99){const n=await this.user.getActiveCards();return(await this.course.getCardsCenteredAtELO({limit:t,elo:"user"},(t=>!n.some((n=>t.cardID===n.cardID))))).map((t=>({...t,status:"new"})))}}}}),hardcodedOrder_exports={},HardcodedOrderNavigator;__export(hardcodedOrder_exports,{default:()=>HardcodedOrderNavigator});var init_hardcodedOrder=__esm({"src/core/navigators/hardcodedOrder.ts"(){init_navigators(),init_logger(),HardcodedOrderNavigator=class extends ContentNavigator{constructor(t,n,i){if(super(),__publicField2(this,"orderedCardIds",[]),__publicField2(this,"user"),__publicField2(this,"course"),this.user=t,this.course=n,i.serializedData)try{this.orderedCardIds=JSON.parse(i.serializedData)}catch(e){logger.error("Failed to parse serializedData for HardcodedOrderNavigator",e)}}async getPendingReviews(){return(await this.user.getPendingReviews(this.course.getCourseID())).map((t=>({...t,contentSourceType:"course",contentSourceID:this.course.getCourseID(),cardID:t.cardId,courseID:t.courseId,reviewID:t._id,status:"review"})))}async getNewCards(t=99){const n=(await this.user.getActiveCards()).map((t=>t.cardID));return this.orderedCardIds.filter((t=>!n.includes(t))).slice(0,t).map((t=>({cardID:t,courseID:this.course.getCourseID(),contentSourceType:"course",contentSourceID:this.course.getCourseID(),status:"new"})))}}}}),globImport,init_=__esm({'import("./**/*") in src/core/navigators/index.ts'(){globImport=__glob({"./elo.ts":()=>Promise.resolve().then((()=>(init_elo(),elo_exports))),"./hardcodedOrder.ts":()=>Promise.resolve().then((()=>(init_hardcodedOrder(),hardcodedOrder_exports))),"./index.ts":()=>Promise.resolve().then((()=>(init_navigators(),navigators_exports)))})}}),navigators_exports={},Navigators,ContentNavigator;__export(navigators_exports,{ContentNavigator:()=>ContentNavigator,Navigators:()=>Navigators});var init_navigators=__esm({"src/core/navigators/index.ts"(){init_logger(),init_(),Navigators=(t=>(t.ELO="elo",t.HARDCODED="hardcodedOrder",t))(Navigators||{}),ContentNavigator=class{static async create(t,n,i){const a=i.implementingClass;let s;const l=[".ts",".js",""];for(const c of l)try{s=(await globImport(`./${a}${c}`)).default;break}catch(e){logger.debug(`Failed to load with extension ${c}:`,e)}if(!s)throw new Error(`Could not load navigator implementation for: ${a}`);return new s(t,n,i)}}}}),CoursesDB,CourseDB;function randIntWeightedTowardZero(t){return Math.floor(Math.random()*Math.random()*Math.random()*t)}async function getCourseTagStubs(t){logger.debug(`Getting tag stubs for course: ${t}`);const n=await filterAllDocsByPrefix2(getCourseDB2(t),"TAG".valueOf()+"-");return n.rows.forEach((t=>{logger.debug(`\tTag stub for doc: ${t.id}`)})),n}async function createTag(t,n,i){logger.debug(`Creating tag: ${n}...`);const a=getTagID(n),s=getCourseDB2(t);return await s.put({course:t,docType:"TAG",name:n,snippet:"",taggedCards:[],wiki:"",author:i,_id:a})}async function updateTag(t){const n=await getTag(t.course,t.name);return await getCourseDB2(t.course).put({...t,_rev:n._rev})}async function getTag(t,n){const i=getTagID(n);return getCourseDB2(t).get(i)}async function removeTagFromCard(t,n,i){i=getTagID(i);const a=getCourseDB2(t),s=await a.get(i);return s.taggedCards=s.taggedCards.filter((t=>n!==t)),a.put(s)}async function getAppliedTags(t,n){const i=getCourseDB2(t);return await i.query("getTags",{startkey:n,endkey:n})}async function updateCredentialledCourseConfig(t,n){logger.debug(`Updating course config:\n\n${JSON.stringify(n)}\n`);const i=getCourseDB2(t),a=await getCredentialledCourseConfig(t);return await i.put({...n,_rev:a._rev})}function isSuccessRow(t){return"doc"in t&&null!==t.doc&&void 0!==t.doc}var init_courseDB=__esm({"src/impl/couch/courseDB.ts"(){init_couch(),init_updateQueue(),init_types_legacy(),init_logger(),init_clientCache(),init_courseAPI(),init_courseLookupDB(),init_navigators(),CoursesDB=class{constructor(t){__publicField2(this,"_courseIDs"),t&&t.length>0?this._courseIDs=t:this._courseIDs=void 0}async getCourseList(){let t=await CourseLookup.allCourseWare();logger.debug(`AllCourses: ${t.map((t=>t.name+", "+t._id+"\n\t"))}`),this._courseIDs&&(t=t.filter((t=>this._courseIDs.includes(t._id)))),logger.debug(`AllCourses.filtered: ${t.map((t=>t.name+", "+t._id+"\n\t"))}`);return(await Promise.all(t.map((async t=>{try{const n=await getCredentialledCourseConfig(t._id);return logger.debug(`Found cfg: ${JSON.stringify(n)}`),n}catch(e){return void logger.warn(`Error fetching cfg for course ${t.name}, ${t._id}: ${e}`)}})))).filter((t=>!!t))}async getCourseConfig(t){if(this._courseIDs&&this._courseIDs.length&&!this._courseIDs.includes(t))throw new Error(`Course ${t} not in course list`);const n=await getCredentialledCourseConfig(t);if(void 0===n)throw new Error(`Error fetching cfg for course ${t}`);return n}async disambiguateCourse(t,n){await CourseLookup.updateDisambiguator(t,n)}},CourseDB=class{constructor(t,n){__publicField2(this,"db"),__publicField2(this,"id"),__publicField2(this,"_getCurrentUser"),__publicField2(this,"updateQueue"),this.id=t,this.db=getCourseDB2(this.id),this._getCurrentUser=n,this.updateQueue=new UpdateQueue(this.db)}getCourseID(){return this.id}async getCourseInfo(){return{cardCount:(await this.db.find({selector:{docType:"CARD"},limit:1e3})).docs.length,registeredUsers:0}}async getInexperiencedCards(t=2){return(await this.db.query("cardsByInexperience",{limit:t})).rows.map((t=>({courseId:this.id,cardId:t.id,count:t.key,elo:t.value})))}async getCardsByEloLimits(t={low:0,high:Number.MIN_SAFE_INTEGER,limit:25,page:0}){return(await this.db.query("elo",{startkey:t.low,endkey:t.high,limit:t.limit,skip:t.limit*t.page})).rows.map((t=>`${this.id}-${t.id}-${t.key}`))}async getCardEloData(t){const n=await this.db.allDocs({keys:t,include_docs:!0}),i=[];return n.rows.forEach((t=>{isSuccessRow(t)?t.doc&&t.doc.elo?i.push(toCourseElo(t.doc.elo)):(logger.warn("no elo data for card: "+t.id),i.push(blankCourseElo())):(logger.warn("no elo data for card: "+JSON.stringify(t)),i.push(blankCourseElo()))})),i}async getELOBounds(){const[t,n]=await Promise.all([(await this.db.query("elo",{startkey:0,limit:1,include_docs:!1})).rows[0].key,(await this.db.query("elo",{limit:1,descending:!0,startkey:1e5})).rows[0].key]);return{low:t,high:n}}async removeCard(t){const n=await this.db.get(t);if(!n.docType||"CARD"!==n.docType)throw new Error(`failed to remove ${t} from course ${this.id}. id does not point to a card`);try{const n=await this.getAppliedTags(t);(await Promise.allSettled(n.rows.map((async n=>{const i=n.id;await this.removeTagFromCard(t,i)})))).forEach(((i,a)=>{if("rejected"===i.status){const s=n.rows[a].id;logger.error(`Failed to remove card ${t} from tag ${s}: ${i.reason}`)}}))}catch(i){logger.error(`Error removing card ${t} from tags: ${i}`)}return this.db.remove(n)}async getCardDisplayableDataIDs(t){logger.debug(t.join(", "));const n=await this.db.allDocs({keys:t,include_docs:!0}),i={};return n.rows.forEach((t=>{isSuccessRow(t)&&(i[t.id]=t.doc.id_displayable_data)})),await Promise.all(n.rows.map((t=>async()=>{isSuccessRow(t)&&(i[t.id]=t.doc.id_displayable_data)}))),i}async getCardsByELO(t,n){t=parseInt(t);const i=n||25,a=await this.db.query("elo",{limit:Math.ceil(i/2),startkey:t,descending:!0}),s=i-a.rows.length,l=await this.db.query("elo",{limit:s,startkey:t+1});let c=a.rows;c=c.concat(l.rows);const u=c.sort(((n,i)=>{const a=Math.abs(n.key-t)-Math.abs(i.key-t);return 0===a?Math.random()-.5:a})).map((t=>({courseID:this.id,cardID:t.id,elo:t.key}))),d=`below:\n${a.rows.map((t=>`\t${t.id}-${t.key}\n`))}\n\nabove:\n${l.rows.map((t=>`\t${t.id}-${t.key}\n`))}`;return logger.debug(`Getting ${i} cards centered around elo: ${t}:\n\n`+d),u}async getCourseConfig(){const t=await getCredentialledCourseConfig(this.id);if(t)return t;throw new Error(`Course config not found for course ID: ${this.id}`)}async updateCourseConfig(t){logger.debug(`Updating: ${JSON.stringify(t)}`);try{return await updateCredentialledCourseConfig(this.id,t)}catch(n){throw logger.error(`Error updating course config in course DB: ${n}`),n}}async updateCardElo(t,n){if(!n)throw new Error(`Cannot update card elo with null or undefined value for card ID: ${t}`);try{return{ok:!0,id:t,rev:(await this.updateQueue.update(t,(t=>(logger.debug(`Replacing ${JSON.stringify(t.elo)} with ${JSON.stringify(n)}`),t.elo=n,t))))._rev}}catch(i){throw logger.error(`Failed to update card elo for card ID: ${t}`,i),new Error(`Failed to update card elo for card ID: ${t}`)}}async getAppliedTags(t){const n=await getAppliedTags(this.id,t);if(n)return n;throw new Error(`Failed to find tags for card ${this.id}-${t}`)}async addTagToCard(t,n,i){return await addTagToCard(this.id,t,n,(await this._getCurrentUser()).getUsername(),i)}async removeTagFromCard(t,n){return await removeTagFromCard(this.id,t,n)}async createTag(t,n){return await createTag(this.id,t,n)}async getTag(t){return await getTag(this.id,t)}async updateTag(t){if(t.course!==this.id)throw new Error(`Tag ${JSON.stringify(t)} does not belong to course ${this.id}`);return await updateTag(t)}async getCourseTagStubs(){return getCourseTagStubs(this.id)}async addNote(t,n,i,a,s,l,c=blankCourseElo()){try{const u=await addNote55(this.id,t,n,i,a,s,l,c);return u.ok?u.cardCreationFailed?(logger.warn(`[courseDB.addNote] Note added but card creation failed: ${u.cardCreationError}`),{status:Status.error,message:`Note was added but no cards were created: ${u.cardCreationError}`,id:u.id}):{status:Status.ok,message:"",id:u.id}:{status:Status.error,message:"Unexpected error adding note"}}catch(e){const n=e;return logger.error(`[addNote] error ${n.name}\n\treason: ${n.reason}\n\tmessage: ${n.message}`),{status:Status.error,message:`Error adding note to course. ${e.reason||n.message}`}}}async getCourseDoc(t,n){return await getCourseDoc(this.id,t,n)}async getCourseDocs(t,n={}){return await getCourseDocs(this.id,t,n)}getNavigationStrategy(t){if(logger.debug(`[courseDB] Getting navigation strategy: ${t}`),""==t){const t={_id:"NAVIGATION_STRATEGY-ELO",docType:"NAVIGATION_STRATEGY",name:"ELO",description:"ELO-based navigation strategy for ordering content by difficulty",implementingClass:"elo",course:this.id,serializedData:""};return Promise.resolve(t)}return this.db.get(t)}async getAllNavigationStrategies(){const t=DocTypePrefixes.NAVIGATION_STRATEGY;return(await this.db.allDocs({startkey:t,endkey:`${t}￰`,include_docs:!0})).rows.map((t=>t.doc))}async addNavigationStrategy(t){return logger.debug(`[courseDB] Adding navigation strategy: ${t._id}`),this.db.put(t).then((()=>{}))}updateNavigationStrategy(t,n){return logger.debug(`[courseDB] Updating navigation strategy: ${t}`),logger.debug(JSON.stringify(n)),Promise.resolve()}async surfaceNavigationStrategy(){try{const t=await this.getCourseConfig();if(t.defaultNavigationStrategyId)try{const n=await this.getNavigationStrategy(t.defaultNavigationStrategyId);if(n)return logger.debug(`Surfacing strategy ${n.name} from course config`),n}catch(e){logger.warn(`Failed to load strategy '${t.defaultNavigationStrategyId}' specified in course config. Falling back to ELO.`,e)}}catch(e){logger.warn("Could not retrieve course config to determine navigation strategy. Falling back to ELO.",e)}logger.warn("Returning hard-coded default ELO navigator");const t={_id:"NAVIGATION_STRATEGY-ELO",docType:"NAVIGATION_STRATEGY",name:"ELO",description:"ELO-based navigation strategy",implementingClass:"elo",course:this.id,serializedData:""};return Promise.resolve(t)}async getNewCards(t=99){const n=await this._getCurrentUser();try{const i=await this.surfaceNavigationStrategy();return(await ContentNavigator.create(n,this,i)).getNewCards(t)}catch(e){throw logger.error(`[courseDB] Error surfacing a NavigationStrategy: ${e}`),e}}async getPendingReviews(){const t=await this._getCurrentUser();try{const n=await this.surfaceNavigationStrategy();return(await ContentNavigator.create(t,this,n)).getPendingReviews()}catch(e){throw logger.error(`[courseDB] Error surfacing a NavigationStrategy: ${e}`),e}}async getCardsCenteredAtELO(t={limit:99,elo:"user"},n){let i;if("user"===t.elo){const t=await this._getCurrentUser();i=-1;try{i=EloToNumber((await t.getCourseRegistrationsDoc()).courses.find((t=>t.courseID===this.id)).elo)}catch{i=1e3}}else if("random"===t.elo){const t=await GET_CACHED(`elo-bounds-${this.id}`,(()=>this.getELOBounds()));i=Math.round(t.low+Math.random()*(t.high-t.low))}else i=t.elo;let a=[],s=4,l=-1,c=0;for(;a.length<t.limit&&c!==l;)a=await this.getCardsByELO(i,s*t.limit),l=c,c=a.length,logger.debug(`Found ${a.length} elo neighbor cards...`),n&&(a=a.filter(n),logger.debug(`Filtered to ${a.length} cards...`)),s*=2;const u=[];for(;u.length<t.limit&&a.length>0;){const t=randIntWeightedTowardZero(a.length),n=a.splice(t,1)[0];u.push(n)}return u.map((t=>({courseID:this.id,cardID:t.cardID,contentSourceType:"course",contentSourceID:this.id,elo:t.elo,status:"new"})))}async searchCards(t){let n;logger.log(`[CourseDB ${this.id}] Searching for: "${t}"`);try{n=await this.db.find({selector:{docType:"DISPLAYABLE_DATA","data.0.data":{$regex:`.*${t}.*`}}}),logger.log(`[CourseDB ${this.id}] Regex search on data[0].data successful`)}catch(a){logger.log(`[CourseDB ${this.id}] Regex search failed, falling back to manual search:`,a);const i=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"}});logger.log(`[CourseDB ${this.id}] Retrieved ${i.docs.length} documents for manual filtering`),n={docs:i.docs.filter((n=>{const i=JSON.stringify(n).toLowerCase().includes(t.toLowerCase());return i&&logger.log(`[CourseDB ${this.id}] Manual match found in document: ${n._id}`),i}))}}if(logger.log(`[CourseDB ${this.id}] Found ${n.docs.length} displayable data documents`),0===n.docs.length){const t=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"},limit:5});logger.log(`[CourseDB ${this.id}] Sample displayable data:`,t.docs.map((t=>({id:t._id,docType:t.docType,dataStructure:t.data?Object.keys(t.data):"no data field",dataContent:t.data,fullDoc:t}))))}const i=[];for(const s of n.docs){const t=await this.db.find({selector:{docType:"CARD",id_displayable_data:{$in:[s._id]}}});logger.log(`[CourseDB ${this.id}] Displayable data ${s._id} linked to ${t.docs.length} cards`),i.push(...t.docs)}return logger.log(`[CourseDB ${this.id}] Total cards found: ${i.length}`),i}async find(t){return this.db.find(t)}}}}),classroomLookupDBTitle,CLASSROOM_CONFIG,ClassroomDBBase,StudentClassroomDB,TeacherClassroomDB,ClassroomLookupDB,init_classroomDB2=__esm({"src/impl/couch/classroomDB.ts"(){init_factory(),init_logger(),init_pouchdb_setup(),init_couch(),init_courseDB(),classroomLookupDBTitle="classdb-lookup",CLASSROOM_CONFIG="ClassroomConfig",ClassroomDBBase=class{constructor(){__publicField2(this,"_id"),__publicField2(this,"_db"),__publicField2(this,"_cfg"),__publicField2(this,"_initComplete",!1),__publicField2(this,"_content_prefix","content")}get _content_searchkeys(){return getStartAndEndKeys2(this._content_prefix)}async getAssignedContent(){logger.info("Getting assigned content...");return(await this._db.allDocs({startkey:this._content_prefix,endkey:this._content_prefix+"￰",include_docs:!0})).rows.map((t=>t.doc))}getContentId(t){return"tag"===t.type?`${this._content_prefix}-${t.courseID}-${t.tagID}`:`${this._content_prefix}-${t.courseID}`}get ready(){return this._initComplete}getConfig(){return this._cfg}},StudentClassroomDB=class _StudentClassroomDB extends ClassroomDBBase{constructor(t,n){super(),__publicField2(this,"userMessages"),__publicField2(this,"_user"),this._id=t,this._user=n}async init(){const t=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+t,createPouchDBConfig());try{const t=await this._db.get(CLASSROOM_CONFIG);return this._cfg=t,this.userMessages=this._db.changes({since:"now",live:!0,include_docs:!0}),void(this._initComplete=!0)}catch(e){throw new Error(`Error in StudentClassroomDB constructor: ${JSON.stringify(e)}`)}}static async factory(t,n){const i=new _StudentClassroomDB(t,n);return await i.init(),i}setChangeFcn(t){this.userMessages.on("change",t)}async getPendingReviews(){const t=this._user;return(await t.getPendingReviews()).filter((t=>"classroom"===t.scheduledFor&&t.schedulingAgentId===this._id)).map((t=>({...t,qualifiedID:`${t.courseId}-${t.cardId}`,courseID:t.courseId,cardID:t.cardId,contentSourceType:"classroom",contentSourceID:this._id,reviewID:t._id,status:"review"})))}async getNewCards(){const t=await this._user.getActiveCards(),n=hooks$3.utc(),i=(await this.getAssignedContent()).filter((t=>n.isAfter(hooks$3.utc(t.activeOn,REVIEW_TIME_FORMAT2))));logger.info(`Due content: ${JSON.stringify(i)}`);let a=[];for(let s=0;s<i.length;s++){const t=i[s];if("course"===t.type){const n=new CourseDB(t.courseID,(async()=>this._user));a=a.concat(await n.getNewCards())}else if("tag"===t.type){const n=await getTag(t.courseID,t.tagID);a=a.concat(n.taggedCards.map((n=>({courseID:t.courseID,cardID:n,qualifiedID:`${t.courseID}-${n}`,contentSourceType:"classroom",contentSourceID:this._id,status:"new"}))))}else"card"===t.type&&a.push(await getCourseDB2(t.courseID).get(t.cardID))}return logger.info(`New Cards from classroom ${this._cfg.name}: ${a.map((t=>`${t.courseID}-${t.cardID}`))}`),a.filter((n=>!t.some((t=>n.cardID===t.cardID))))}},TeacherClassroomDB=class _TeacherClassroomDB extends ClassroomDBBase{constructor(t){super(),__publicField2(this,"_stuDb"),this._id=t}async init(){const t=`classdb-teacher-${this._id}`,n=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+t,createPouchDBConfig()),this._stuDb=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig());try{return this._db.get(CLASSROOM_CONFIG).then((t=>{this._cfg=t,this._initComplete=!0})).then((()=>{}))}catch(e){throw new Error(`Error in TeacherClassroomDB constructor: ${JSON.stringify(e)}`)}}static async factory(t){const n=new _TeacherClassroomDB(t);return await n.init(),n}async removeContent(t){const n=this.getContentId(t);try{const t=await this._db.get(n);await this._db.remove(t),this._db.replicate.to(this._stuDb,{doc_ids:[n]})}catch(i){logger.error("Failed to remove content:",n,i)}}async assignContent(t){let n;const i=this.getContentId(t);return n="tag"===t.type?await this._db.put({courseID:t.courseID,tagID:t.tagID,type:"tag",_id:i,assignedBy:t.assignedBy,assignedOn:hooks$3.utc(),activeOn:t.activeOn||hooks$3.utc()}):await this._db.put({courseID:t.courseID,type:"course",_id:i,assignedBy:t.assignedBy,assignedOn:hooks$3.utc(),activeOn:t.activeOn||hooks$3.utc()}),!!n.ok&&(this._db.replicate.to(this._stuDb,{doc_ids:[i]}),!0)}},ClassroomLookupDB=()=>new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+classroomLookupDBTitle,{skip_setup:!0})}}),AdminDB,init_adminDB2=__esm({"src/impl/couch/adminDB.ts"(){init_pouchdb_setup(),init_factory(),init_couch(),init_classroomDB2(),init_courseLookupDB(),init_logger(),AdminDB=class{constructor(){__publicField2(this,"usersDB"),this.usersDB=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"_users",createPouchDBConfig())}async getUsers(){return(await this.usersDB.allDocs({include_docs:!0,...getStartAndEndKeys2("org.couchdb.user:")})).rows.map((t=>t.doc))}async getCourses(){const t=await CourseLookup.allCourseWare();return await Promise.all(t.map((t=>getCredentialledCourseConfig(t._id))))}async removeCourse(t){const n=await CourseLookup.delete(t),i=await getCredentialledCourseConfig(t);i.deleted=!0;const a=await updateCredentialledCourseConfig(t,i);return{ok:n.ok&&a.ok,id:n.id,rev:n.rev}}async getClassrooms(){const t=(await ClassroomLookupDB().allDocs({include_docs:!0})).rows.map((t=>t.doc.uuid));logger.debug(t.join(", "));const n=[];for(let i=0;i<t.length;i++)try{const a=await TeacherClassroomDB.factory(t[i]);n.push(a)}catch(e){const a=e;a.error&&"not_found"===a.error&&logger.warn(`db ${t[i]} not found`)}return(await Promise.all(n)).map((t=>({...t.getConfig(),_id:t._id})))}}}});async function getCurrentSession(){try{if(ENV.COUCHDB_SERVER_URL===NOT_SET||ENV.COUCHDB_SERVER_PROTOCOL===NOT_SET)throw new Error(`CouchDB server configuration not properly initialized. Protocol: "${ENV.COUCHDB_SERVER_PROTOCOL}", URL: "${ENV.COUCHDB_SERVER_URL}"`);const t=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,n=`${ENV.COUCHDB_SERVER_PROTOCOL}://${t}/_session`;logger.debug(`Attempting session check at: ${n}`);const i=await fetch2(n,{method:"GET",credentials:"include"});if(!i.ok)throw new Error(`Session check failed: ${i.status}`);return await i.json()}catch(t){const n=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,i=`${ENV.COUCHDB_SERVER_PROTOCOL}://${n}/_session`;throw logger.error(`Session check error attempting to connect to: ${i} - ${t}`),new Error(`Session check failed connecting to ${i}: ${t}`)}}async function getLoggedInUsername(){const t=await getCurrentSession();if(t.userCtx.name&&""!==t.userCtx.name)return t.userCtx.name;throw new Error("No logged in user")}var init_auth=__esm({"src/impl/couch/auth.ts"(){init_factory(),init_logger()}}),CouchDBSyncStrategy_exports={},log3,CouchDBSyncStrategy;__export(CouchDBSyncStrategy_exports,{CouchDBSyncStrategy:()=>CouchDBSyncStrategy});var init_CouchDBSyncStrategy=__esm({"src/impl/couch/CouchDBSyncStrategy.ts"(){init_factory(),init_types_legacy(),init_logger(),init_common(),init_pouchdb_setup(),init_couch(),init_auth(),log3=t=>{logger.info(t)},CouchDBSyncStrategy=class{constructor(){__publicField2(this,"syncHandle")}setupRemoteDB(t){return t===GuestUsername||t.startsWith(GuestUsername)?getLocalUserDB(t):this.getUserDB(t)}getWriteDB(t){return t===GuestUsername||t.startsWith(GuestUsername)?getLocalUserDB(t):this.getUserDB(t)}startSync(t,n){t!==n&&(this.syncHandle=pouchdb_setup_default.sync(t,n,{live:!0,retry:!0}))}stopSync(){this.syncHandle&&(this.syncHandle.cancel(),this.syncHandle=void 0)}canCreateAccount(){return!0}canAuthenticate(){return!0}async createAccount(t,n){const i=await this.getCurrentUsername(),a=i.startsWith(GuestUsername);a&&logger.info(`Creating account for funnel user ${i} -> ${t}`);try{const s=await this.getRemoteCouchRootDB().signUp(t,n);if(s.ok){log3(`CREATEACCOUNT: Successfully created account for ${t}`);try{const t=await this.getRemoteCouchRootDB().logOut();log3(`CREATEACCOUNT: logged out: ${t.ok}`)}catch{}const s=await this.getRemoteCouchRootDB().logIn(t,n);if(log3(`CREATEACCOUNT: logged in as new user: ${s.ok}`),s.ok){if(a){logger.info(`Migrating data from funnel account ${i} to ${t}`);const n=await this.migrateFunnelData(i,t);n.success||logger.warn(`Migration failed: ${n.error}`)}return{status:Status.ok,error:void 0}}return{status:Status.error,error:"Failed to log in after account creation"}}return logger.warn(`Signup not OK: ${JSON.stringify(s)}`),{status:Status.error,error:"Account creation failed"}}catch(e){return"Document update conflict."===e.reason?{status:Status.error,error:"This username is taken!"}:(logger.error(`Error on signup: ${JSON.stringify(e)}`),{status:Status.error,error:e.message||"Unknown error during account creation"})}}async authenticate(t,n){try{return(await this.getRemoteCouchRootDB().logIn(t,n)).ok?(log3(`Successfully logged in as ${t}`),{ok:!0}):(log3(`Login failed for ${t}`),{ok:!1,error:"Invalid username or password"})}catch(i){return logger.error(`Authentication error for ${t}:`,i),{ok:!1,error:i.message||"Authentication failed"}}}async logout(){try{const t=await this.getRemoteCouchRootDB().logOut();return{ok:t.ok,error:t.ok?void 0:"Logout failed"}}catch(t){return logger.error("Logout error:",t),{ok:!1,error:t.message||"Logout failed"}}}async getCurrentUsername(){logger.log("[funnel] CouchDBSyncStrategy.getCurrentUsername() called");try{const t=await getLoggedInUsername();return logger.log("[funnel] getLoggedInUsername() returned:",t),t}catch(e){logger.log("[funnel] getLoggedInUsername() failed, calling accomodateGuest()"),logger.log("[funnel] Error was:",e);const n=accomodateGuest();return logger.log("[funnel] accomodateGuest() returned:",n),n.username}}async migrateFunnelData(t,n){try{logger.info(`Starting data migration from ${t} to ${n}`);const i=getLocalUserDB(t),a=getLocalUserDB(n),s=await i.allDocs({include_docs:!0});logger.info(`Found ${s.rows.length} documents in funnel account`);const l=s.rows.filter((t=>!t.id.startsWith("_design/"))).map((t=>({...t.doc,_rev:void 0})));return l.length>0?(await a.bulkDocs(l),logger.info(`Successfully migrated ${l.length} documents from ${t} to ${n}`)):logger.info("No documents to migrate from funnel account"),{success:!0}}catch(i){return logger.error("Migration failed:",i),{success:!1,error:i instanceof Error?i.message:"Unknown error"}}}getRemoteCouchRootDB(){const t=ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"skuilder";try{return new pouchdb_setup_default(t,{skip_setup:!0})}catch(n){throw logger.error("Failed to initialize remote CouchDB connection:",n),new Error(`Failed to initialize CouchDB: ${JSON.stringify(n)}`)}}getUserDB(t){const n=`userdb-${hexEncode(t)}`;log3(`Fetching user database: ${n} (${t})`);return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig())}}}}),isBrowser$1,GUEST_LOCAL_DB,pouchDBincludeCredentialsConfig,REVIEW_TIME_FORMAT2;function createPouchDBConfig(){const t=ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD,n="undefined"==typeof window;return t&&n?{fetch(t,n={}){const i=btoa(`${ENV.COUCHDB_USERNAME}:${ENV.COUCHDB_PASSWORD}`),a=new Headers(n.headers||{});a.set("Authorization",`Basic ${i}`);const s={...n,headers:a};return pouchdb_setup_default.fetch(t,s)}}:pouchDBincludeCredentialsConfig}function getCourseDB2(t){return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"coursedb-"+t,createPouchDBConfig())}function getCourseDocs(t,n,i={}){return getCourseDB2(t).allDocs({...i,keys:n})}function getCourseDoc(t,n,i={}){return getCourseDB2(t).get(n,i)}function filterAllDocsByPrefix2(t,n,i){const a={startkey:n,endkey:n+"￰",include_docs:!0};return t.allDocs(a)}function getStartAndEndKeys2(t){return{startkey:t,endkey:t+"￰"}}var init_couch=__esm({"src/impl/couch/index.ts"(){init_factory(),init_types_legacy(),init_logger(),init_pouchdb_setup(),init_contentSource(),init_adminDB2(),init_classroomDB2(),init_courseAPI(),init_courseDB(),init_CouchDBSyncStrategy(),(isBrowser$1="undefined"!=typeof window)&&(window.process=process2),new pouchdb_setup_default(GUEST_LOCAL_DB=`userdb-${GuestUsername}`),pouchDBincludeCredentialsConfig={fetch:(t,n)=>(n.credentials="include",pouchdb_setup_default.fetch(t,n))},REVIEW_TIME_FORMAT2="YYYY-MM-DD--kk:mm:ss-SSS"}}),log4,BaseUser,userCoursesDoc,userClassroomsDoc;function accomodateGuest(){if(logger.log("[funnel] accomodateGuest() called"),"undefined"==typeof localStorage)return logger.log("[funnel] localStorage not available (Node.js environment), returning default guest"),{username:GuestUsername+"nodejs-test",firstVisit:!0};const t="sk-guest-uuid";let n;const i=localStorage.getItem(t);if(logger.log("[funnel] Checking localStorage for key:",t),logger.log("[funnel] Existing UUID value:",i),logger.log("[funnel] existingUUID !== null:",null!==i),null!==i)n=!1,logger.log(`[funnel] Returning guest ${i} "logging in".`);else{n=!0,logger.log("[funnel] No existing UUID, generating new one...");const i=function(){if(logger.log("[funnel] Inside generateUUID()"),"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID){const t=crypto.randomUUID();return logger.log("[funnel] Generated UUID using crypto.randomUUID():",t),t}if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){const t=new Uint8Array(16);crypto.getRandomValues(t),t[6]=15&t[6]|64,t[8]=63&t[8]|128;const n=[Array.from(t.slice(0,4)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(4,6)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(6,8)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(8,10)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(10,16)).map((t=>t.toString(16).padStart(2,"0"))).join("")].join("-");return logger.log("[funnel] Generated UUID using crypto.getRandomValues():",n),n}logger.warn("[funnel] crypto API not available, using timestamp-based UUID (NOT SECURE)");let t=(new Date).getTime();"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now());const n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n=>{const i=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===n?i:3&i|8).toString(16)}));return logger.log("[funnel] Generated UUID (fallback):",n),n}();logger.log("[funnel] Generated UUID:",i),logger.log("[funnel] UUID length:",i.length);try{localStorage.setItem(t,i),logger.log("[funnel] Successfully stored UUID in localStorage");const n=localStorage.getItem(t);logger.log("[funnel] Verification read from localStorage:",n)}catch(e){logger.error("[funnel] ERROR storing UUID:",e)}logger.log(`[funnel] Accommodating a new guest with account: ${i}`)}const a=localStorage.getItem(t),s=GuestUsername+a;return logger.log("[funnel] Final UUID from localStorage:",a),logger.log("[funnel] GuestUsername constant:",GuestUsername),logger.log("[funnel] Final username to return:",s),{username:s,firstVisit:n}}async function getOrCreateClassroomRegistrationsDoc(t){let n;try{n=await getLocalUserDB(t).get(userClassroomsDoc)}catch(e){const a=e;if(404!==a.status){const t={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (standalone function):",t),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await getLocalUserDB(t).put({_id:userClassroomsDoc,registrations:[]}),n=await getOrCreateClassroomRegistrationsDoc(t)}return n}async function getOrCreateCourseRegistrationsDoc(t){let n;try{n=await getLocalUserDB(t).get(userCoursesDoc)}catch(e){if(404!==e.status)throw new Error(`Unexpected error ${JSON.stringify(e)} in getOrCreateCourseRegistrationDoc...`);await getLocalUserDB(t).put({_id:userCoursesDoc,courses:[],studyWeight:{}}),n=await getOrCreateCourseRegistrationsDoc(t)}return n}async function updateUserElo(t,n,i){const a=await getOrCreateCourseRegistrationsDoc(t);return a.courses.find((t=>t.courseID===n)).elo=i,getLocalUserDB(t).put(a)}async function registerUserForClassroom$1(t,n,i){return log4(`Registering user: ${t} in course: ${n}`),getOrCreateClassroomRegistrationsDoc(t).then((a=>{const s={classID:n,registeredAs:i};return 0===a.registrations.filter((t=>t.classID===s.classID&&t.registeredAs===s.registeredAs)).length?a.registrations.push(s):log4(`User ${t} is already registered for class ${n}`),getLocalUserDB(t).put(a)}))}async function dropUserFromClassroom(t,n){return getOrCreateClassroomRegistrationsDoc(t).then((i=>{let a=-1;for(let t=0;t<i.registrations.length;t++)i.registrations[t].classID===n&&(a=t);return-1!==a&&i.registrations.splice(a,1),getLocalUserDB(t).put(i)}))}async function getUserClassrooms(t){return getOrCreateClassroomRegistrationsDoc(t)}var init_BaseUserDB=__esm({"src/impl/common/BaseUserDB.ts"(){var t;init_core(),init_util(),init_types_legacy(),init_logger(),init_userDBHelpers(),init_updateQueue(),init_user_course_relDB(),init_couch(),log4=t=>{logger.info(t)},t=class{constructor(n,i){__publicField2(this,"_username"),__publicField2(this,"syncStrategy"),__publicField2(this,"localDB"),__publicField2(this,"remoteDB"),__publicField2(this,"writeDB"),__publicField2(this,"updateQueue"),t._initialized=!1,this._username=n,this.syncStrategy=i,this.setDBandQ()}static Dummy(n){return new t("Me",n)}getUsername(){return this._username}isLoggedIn(){return!this._username.startsWith(GuestUsername)}remote(){return this.remoteDB}async createAccount(t,n){if(!this.syncStrategy.canCreateAccount())throw new Error("Account creation not supported by current sync strategy");if(!this._username.startsWith(GuestUsername))throw new Error(`Cannot create a new account while logged in:\nCurrently logged-in as ${this._username}.`);const i=await this.syncStrategy.createAccount(t,n);if(i.status===Status.ok){log4(`Account created successfully, updating username to ${t}`),this._username=t;try{localStorage.removeItem("sk-guest-uuid")}catch(e){logger.warn("localStorage not available (Node.js environment):",e)}await this.init()}return{status:i.status,error:i.error||""}}async login(t,n){if(!this.syncStrategy.canAuthenticate())throw new Error("Authentication not supported by current sync strategy");if(!this._username.startsWith(GuestUsername)&&this._username!=t){if(this._username!=t)throw new Error(`Cannot change accounts while logged in.\n Log out of account ${this.getUsername()} before logging in as ${t}.`);logger.warn(`User ${this._username} is already logged in, but executing login again.`)}const i=await this.syncStrategy.authenticate(t,n);if(i.ok){log4(`Logged in as ${t}`),this._username=t;try{localStorage.removeItem("sk-guest-uuid")}catch(e){logger.warn("localStorage not available (Node.js environment):",e)}await this.init()}return i}async resetUserData(){if(this.syncStrategy.canAuthenticate())return{status:Status.error,error:"Reset user data is only available for local-only mode. Use logout instead for remote sync."};try{const n=getLocalUserDB(this._username),i=(await n.allDocs({include_docs:!1})).rows.filter((n=>{const i=n.id;return i.startsWith(DocTypePrefixes.CARDRECORD)||i.startsWith(DocTypePrefixes.SCHEDULED_CARD)||i===t.DOC_IDS.COURSE_REGISTRATIONS||i===t.DOC_IDS.CLASSROOM_REGISTRATIONS||i===t.DOC_IDS.CONFIG})).map((t=>({_id:t.id,_rev:t.value.rev,_deleted:!0})));return i.length>0&&await n.bulkDocs(i),await this.init(),{status:Status.ok}}catch(n){return logger.error("Failed to reset user data:",n),{status:Status.error,error:n instanceof Error?n.message:"Unknown error during reset"}}}async logout(){if(!this.syncStrategy.canAuthenticate())return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),{ok:!0};const t=await this.syncStrategy.logout();return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),t}async get(t){return this.localDB.get(t)}update(t,n){return this.updateQueue.update(t,n)}async getCourseRegistrationsDoc(){let n;logger.debug(`Fetching courseRegistrations for ${this.getUsername()}`);try{return await this.localDB.get(t.DOC_IDS.COURSE_REGISTRATIONS)}catch(e){if(404!==e.status)throw new Error(`Unexpected error ${JSON.stringify(e)} in getOrCreateCourseRegistrationDoc...`);await this.localDB.put({_id:t.DOC_IDS.COURSE_REGISTRATIONS,courses:[],studyWeight:{}}),n=await this.getCourseRegistrationsDoc()}return n}async getActiveCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((t=>void 0===t.status||"active"===t.status))}async getActiveCards(){const t=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD);return(await this.remoteDB.allDocs({startkey:t.startkey,endkey:t.endkey,include_docs:!0})).rows.map((t=>({courseID:t.doc.courseId,cardID:t.doc.cardId})))}async getActivityRecords(){try{const n=await this.getHistory(),i=[];if(!Array.isArray(n))return logger.error("getHistory did not return an array:",n),i;let a=0;for(let s=0;s<n.length;s++)try{n[s]&&Array.isArray(n[s].records)&&n[s].records.forEach((t=>{try{if(!t.timeStamp)return;let n;if("object"==typeof t.timeStamp)if("function"==typeof t.timeStamp.toDate)n=t.timeStamp.toISOString();else{if(!(t.timeStamp instanceof Date))return void(a<3&&(logger.warn("Unknown timestamp object type:",t.timeStamp),a++));n=t.timeStamp.toISOString()}else if("string"==typeof t.timeStamp){const i=new Date(t.timeStamp);if(isNaN(i.getTime()))return;n=t.timeStamp}else{if("number"!=typeof t.timeStamp)return;n=new Date(t.timeStamp).toISOString()}i.push({timeStamp:n,courseID:t.courseID||"unknown",cardID:t.cardID||"unknown",timeSpent:t.timeSpent||0,type:"card_view"})}catch(n){}}))}catch(t){logger.error("Error processing history item:",t)}return logger.debug(`Found ${i.length} activity records`),i}catch(t){return logger.error("Error in getActivityRecords:",t),[]}}async getReviewstoDate(t,n){const i=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD),a=await this.remoteDB.allDocs({startkey:i.startkey,endkey:i.endkey,include_docs:!0});return log4(`Fetching ${this._username}'s scheduled reviews${n?` for course ${n}`:""}.`),a.rows.filter((i=>{if(i.id.startsWith(DocTypePrefixes.SCHEDULED_CARD)){const a=hooks$3.utc(i.id.substr(DocTypePrefixes.SCHEDULED_CARD.length),REVIEW_TIME_FORMAT);if(t.isAfter(a)&&(void 0===n||i.doc.courseId===n))return!0}})).map((t=>t.doc))}async getReviewsForcast(t){const n=hooks$3.utc().add(t,"days");return this.getReviewstoDate(n)}async getPendingReviews(t){const n=hooks$3.utc();return this.getReviewstoDate(n,t)}async getScheduledReviewCount(t){return(await this.getPendingReviews(t)).length}async getRegisteredCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((t=>!t.status||"active"===t.status||"maintenance-mode"===t.status))}async getCourseRegDoc(t){const n=(await this.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===t));if(n)return n;throw new Error(`Course registration not found for course ID: ${t}`)}async registerForCourse(t,n=!1){return this.getCourseRegistrationsDoc().then((i=>{const a=n?"preview":"active";logger.debug(`Registering for ${t} with status: ${a}`);const s={status:a,courseID:t,user:!0,admin:!1,moderator:!1,elo:{global:{score:1e3,count:0},tags:{},misc:{}}};return 0===i.courses.filter((t=>t.courseID===s.courseID)).length?(log4("It's a new course registration!"),i.courses.push(s),i.studyWeight[t]=1):i.courses.forEach((n=>{log4("Found the previously registered course!"),n.courseID===t&&(n.status=a)})),this.localDB.put(i)})).catch((t=>{throw log4(`Registration failed because of: ${JSON.stringify(t)}`),t}))}async dropCourse(t,n="dropped"){return this.getCourseRegistrationsDoc().then((i=>{let a=-1;for(let n=0;n<i.courses.length;n++)i.courses[n].courseID===t&&(a=n);if(-1===a)throw new Error(`User ${this.getUsername()} is not currently registered for course ${t}`);return delete i.studyWeight[t],i.courses[a].status=n,this.localDB.put(i)}))}async getCourseInterface(t){return new UsrCrsData(this,t)}async getUserEditableCourses(){let t=[];const n=await this.getCourseRegistrationsDoc();t=t.concat(n.courses.map((t=>t.courseID)));return await Promise.all(t.map((async t=>await getCredentialledCourseConfig(t))))}async getConfig(){const n={_id:t.DOC_IDS.CONFIG,darkMode:!1,likesConfetti:!1,sessionTimeLimit:5};try{const n=await this.localDB.get(t.DOC_IDS.CONFIG);return logger.debug("Raw config from DB:",n),n}catch(e){const i=e;if(i.name&&"not_found"===i.name)return await this.localDB.put(n),this.getConfig();throw logger.error("Error setting user default config:",e),new Error(`Error returning the user's configuration: ${JSON.stringify(e)}`)}}async setConfig(t){logger.debug(`Setting Config items ${JSON.stringify(t)}`);const n=await this.getConfig(),i=await this.localDB.put({...n,...t});i.ok?logger.debug(`Config items set: ${JSON.stringify(t)}`):logger.error(`Error setting config items: ${JSON.stringify(i)}`)}static async instance(n,i){if(i)return t._instance=new t(i,n),await t._instance.init(),t._instance;if(t._instance&&t._initialized)return t._instance;if(t._instance)return new Promise((n=>{!function i(){if(t._initialized)return n(t._instance);setTimeout(i,50)}()}));{const i=await n.getCurrentUsername();return t._instance=new t(i,n),await t._instance.init(),t._instance}}setDBandQ(){this.localDB=getLocalUserDB(this._username),this.remoteDB=this.syncStrategy.setupRemoteDB(this._username),this.writeDB=this.syncStrategy.getWriteDB?this.syncStrategy.getWriteDB(this._username):this.localDB,this.updateQueue=new UpdateQueue(this.localDB,this.writeDB)}async init(){t._initialized=!1,"admin"!==this._username?(this.setDBandQ(),this.syncStrategy.startSync(this.localDB,this.remoteDB),this.applyDesignDocs().catch((t=>{log4(`Error in applyDesignDocs background task: ${t}`),t&&"object"==typeof t&&log4(`Full error details in applyDesignDocs: ${JSON.stringify(t)}`)})),this.deduplicateReviews().catch((t=>{log4(`Error in deduplicateReviews background task: ${t}`),t&&"object"==typeof t&&log4(`Full error details in background task: ${JSON.stringify(t)}`)})),t._initialized=!0):t._initialized=!0}async applyDesignDocs(){if(log4(`Starting applyDesignDocs for user: ${this._username}`),log4(`Remote DB name: ${this.remoteDB.name||"unknown"}`),"admin"!==this._username){log4(`Applying ${t.designDocs.length} design docs`);for(const i of t.designDocs){log4(`Applying design doc: ${i._id}`);try{try{const t=await this.remoteDB.get(i._id);await this.remoteDB.put({...i,_rev:t._rev})}catch(e){if(!(e instanceof Error&&"not_found"===e.name))throw e;await this.remoteDB.put(i)}}catch(n){if(!n.name||"conflict"!==n.name)throw logger.error(`Failed to apply design doc ${i._id}:`,n),n;logger.warn(`Design doc ${i._id} update conflict - will retry`),await new Promise((t=>setTimeout(t,1e3))),await this.applyDesignDoc(i)}}}else log4("Skipping design docs for admin user")}async applyDesignDoc(t,n=3){try{const n=await this.remoteDB.get(t._id);await this.remoteDB.put({...t,_rev:n._rev})}catch(e){if(e instanceof Error&&"conflict"===e.name&&n>0)return await new Promise((t=>setTimeout(t,1e3))),this.applyDesignDoc(t,n-1);throw e}}async putCardRecord(t){const n=getCardHistoryID(t.courseID,t.cardID);t.timeStamp=hooks$3.utc(t.timeStamp).toString();try{const i=await this.update(n,(function(n){return n.records.push(t),n.bestInterval=n.bestInterval||0,n.lapses=n.lapses||0,n.streak=n.streak||0,n}));return i.records=i.records.map((t=>{const n={...t};return n.timeStamp=hooks$3.utc(t.timeStamp),n})),i}catch(e){const s=e;if(404!==s.status)throw new Error(`putCardRecord failed because of:\n name:${s.name}\n error: ${s.error}\n message: ${s.message}`);try{const i={_id:n,cardID:t.cardID,courseID:t.courseID,records:[t],lapses:0,streak:0,bestInterval:0},a=await this.writeDB.put(i);return{...i,_rev:a.rev}}catch(i){throw new Error(`Failed to create CardHistory for ${n}. Reason: ${i}`)}}}async deduplicateReviews(){try{log4("Starting deduplication of scheduled reviews..."),log4(`Remote DB name: ${this.remoteDB.name||"unknown"}`),log4(`Write DB name: ${this.writeDB.name||"unknown"}`);const t={},n=[];log4(`Attempting to query remoteDB for reviewCards/reviewCards. Database: ${this.remoteDB.name||"unknown"}`);const i=await this.remoteDB.query("reviewCards/reviewCards");if(log4(`Found ${i.rows.length} scheduled reviews to process`),i.rows.forEach((i=>{const a=i.value,s=i.key;t[a]?(log4(`Found duplicate scheduled review for card: ${a}`),log4(`Marking earlier review ${t[a]} for deletion, keeping ${s}`),n.push(t[a]),t[a]=s):t[a]=s})),n.length>0){log4(`Removing ${n.length} duplicate reviews...`);const t=n.map((async t=>{try{const n=await this.remoteDB.get(t);await this.writeDB.remove(n),log4(`Successfully removed duplicate review: ${t}`)}catch(n){log4(`Failed to remove duplicate review ${t}: ${n}`)}}));await Promise.all(t),log4(`Deduplication complete. Processed ${n.length} duplicates`)}else log4("No duplicate reviews found")}catch(t){log4(`Error during review deduplication: ${t}`),t&&"object"==typeof t&&"status"in t&&404===t.status&&(log4(`Database not found (404) during review deduplication. Database: ${this.remoteDB.name||"unknown"}`),log4("This might indicate the user database doesn't exist or the reviewCards view isn't available")),t&&"object"==typeof t&&log4(`Full error details: ${JSON.stringify(t)}`)}}async getSeenCards(t){let n=DocTypePrefixes.CARDRECORD;t&&(n+=t);const i=await filterAllDocsByPrefix(this.localDB,n,{include_docs:!1}),a=[];return i.rows.forEach((t=>{t.id.startsWith(DocTypePrefixes.CARDRECORD)&&a.push(t.id.substr(DocTypePrefixes.CARDRECORD.length))})),a}async getHistory(){return(await filterAllDocsByPrefix(this.remoteDB,DocTypePrefixes.CARDRECORD,{include_docs:!0,attachments:!1})).rows.map((t=>t.doc))}async updateCourseSettings(t,n){this.getCourseRegistrationsDoc().then((i=>{const a=i.courses.find((n=>n.courseID===t));return a&&(null!==a.settings&&void 0!==a.settings||(a.settings={}),n.forEach((t=>{a.settings[t.key]=t.value}))),this.localDB.put(i)}))}async getCourseSettings(t){const n=(await this.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===t));if(n)return n.settings;throw new Error(`getCourseSettings Failed:\n User is not registered for course ${t}`)}async getOrCreateClassroomRegistrationsDoc(){let n;try{n=await this.remoteDB.get(t.DOC_IDS.CLASSROOM_REGISTRATIONS)}catch(e){const a=e;if(404!==a.status){const t={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (private method):",t),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await this.writeDB.put({_id:t.DOC_IDS.CLASSROOM_REGISTRATIONS,registrations:[]}),n=await this.getOrCreateClassroomRegistrationsDoc()}return logger.debug(`Returning classroom registrations doc: ${JSON.stringify(n)}`),n}async getActiveClasses(){try{return(await this.getOrCreateClassroomRegistrationsDoc()).registrations.filter((t=>"student"===t.registeredAs)).map((t=>t.classID))}catch(t){return logger.warn("Failed to load classroom registrations, continuing without classroom data:",t),[]}}async scheduleCardReview(t){return scheduleCardReviewLocal(this.writeDB,t)}async removeScheduledCardReview(t){return removeScheduledCardReviewLocal(this.writeDB,t)}async registerForClassroom(t,n){return registerUserForClassroom$1(this._username,t,n)}async dropFromClassroom(t){return dropUserFromClassroom(this._username,t)}async getUserClassrooms(){return getUserClassrooms(this._username)}async updateUserElo(t,n){return updateUserElo(this._username,t,n)}},__publicField2(t,"_instance"),__publicField2(t,"_initialized",!1),__publicField2(t,"DOC_IDS",{CONFIG:"CONFIG",COURSE_REGISTRATIONS:"CourseRegistrations",CLASSROOM_REGISTRATIONS:"ClassroomRegistrations"}),__publicField2(t,"designDocs",[{_id:"_design/reviewCards",views:{reviewCards:{map:"function (doc) {\n if (doc._id && doc._id.indexOf('card_review') === 0 && doc.courseId && doc.cardId) {\n emit(doc._id, doc.courseId + '-' + doc.cardId);\n }\n }"}}}]),BaseUser=t,userCoursesDoc="CourseRegistrations",userClassroomsDoc="ClassroomRegistrations"}}),init_common=__esm({"src/impl/common/index.ts"(){init_SyncStrategy(),init_BaseUserDB(),init_userDBHelpers()}}),PouchDataLayerProvider_exports={},CouchDataLayerProvider;__export(PouchDataLayerProvider_exports,{CouchDataLayerProvider:()=>CouchDataLayerProvider});var init_PouchDataLayerProvider=__esm({"src/impl/couch/PouchDataLayerProvider.ts"(){init_logger(),init_dataDirectory(),init_auth(),init_adminDB2(),init_classroomDB2(),init_courseDB(),init_common(),init_CouchDBSyncStrategy(),CouchDataLayerProvider=class{constructor(t){__publicField2(this,"initialized",!1),__publicField2(this,"userDB"),__publicField2(this,"currentUsername",""),__publicField2(this,"_courseIDs",[]),t&&(this._courseIDs=t)}async initialize(){if(this.initialized)return;if("undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node){logger.info("CouchDataLayerProvider: Running in Node.js environment, creating guest UserDB for testing."),await initializeDataDirectory();const t=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(t)}else{const t=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(t),this.currentUsername=this.userDB.getUsername(),logger.debug(`Current username: ${this.currentUsername}`)}this.initialized=!0}async teardown(){this.initialized=!1}getUserDB(){return this.userDB}getCourseDB(t){return new CourseDB(t,(async()=>this.getUserDB()))}getCoursesDB(){return new CoursesDB(this._courseIDs)}async getClassroomDB(t,n){return"student"===n?await StudentClassroomDB.factory(t,this.getUserDB()):await TeacherClassroomDB.factory(t)}getAdminDB(){return new AdminDB}async createUserReaderForUser(t){const n=await getLoggedInUsername();if("admin"!==n)throw new Error("Unauthorized: Only admin users can access other users' data");logger.info(`Admin user '${n}' requesting UserDBReader for '${t}'`);const i=new CouchDBSyncStrategy;return await BaseUser.instance(i,t)}isReadOnly(){return!1}}}}),StaticDataLayerProvider_exports={},StaticDataLayerProvider,NOT_SET,ENV,dataLayerInstance;async function initializeDataLayer(t){if(dataLayerInstance)return logger.warn("Data layer already initialized. Returning existing instance."),dataLayerInstance;t.options.localStoragePrefix&&(ENV.LOCAL_STORAGE_PREFIX=t.options.localStoragePrefix);{if(!t.options.COUCHDB_SERVER_URL||!t.options.COUCHDB_SERVER_PROTOCOL)throw new Error("Missing CouchDB server URL or protocol");if(ENV.COUCHDB_SERVER_PROTOCOL=t.options.COUCHDB_SERVER_PROTOCOL,ENV.COUCHDB_SERVER_URL=t.options.COUCHDB_SERVER_URL,ENV.COUCHDB_USERNAME=t.options.COUCHDB_USERNAME,ENV.COUCHDB_PASSWORD=t.options.COUCHDB_PASSWORD,t.options.COUCHDB_PASSWORD&&t.options.COUCHDB_USERNAME&&"undefined"!=typeof window){const{CouchDBSyncStrategy:n}=await Promise.resolve().then((()=>(init_CouchDBSyncStrategy(),CouchDBSyncStrategy_exports))),i=new n,a=await BaseUser.instance(i,t.options.COUCHDB_USERNAME),s=await a.login(t.options.COUCHDB_USERNAME,t.options.COUCHDB_PASSWORD);s.ok?logger.info(`Successfully authenticated as ${t.options.COUCHDB_USERNAME}`):logger.warn(`Authentication failed: ${s.error}`)}const{CouchDataLayerProvider:n}=await Promise.resolve().then((()=>(init_PouchDataLayerProvider(),PouchDataLayerProvider_exports)));dataLayerInstance=new n(t.options.COURSE_IDS)}return await dataLayerInstance.initialize(),dataLayerInstance}function getDataLayer(){if(!dataLayerInstance)throw new Error("Data layer not initialized. Call initializeDataLayer first.");return dataLayerInstance}__export(StaticDataLayerProvider_exports,{StaticDataLayerProvider:()=>StaticDataLayerProvider});var init_factory=__esm({"src/factory.ts"(){init_common(),init_logger(),ENV={COUCHDB_SERVER_PROTOCOL:NOT_SET="NOT_SET",COUCHDB_SERVER_URL:NOT_SET,LOCAL_STORAGE_PREFIX:""},dataLayerInstance=null}});function isReview(t){return"review"===t.status||"failed-review"===t.status||"reviewID"in t}async function getStudySource(t,n){return"classroom"===t.type?await StudentClassroomDB.factory(t.id,n):getDataLayer().getCourseDB(t.id)}var init_contentSource=__esm({"src/core/interfaces/contentSource.ts"(){init_factory(),init_classroomDB2()}}),init_courseDB3=__esm({"src/core/interfaces/courseDB.ts"(){}}),init_dataLayerProvider=__esm({"src/core/interfaces/dataLayerProvider.ts"(){}}),init_userDB=__esm({"src/core/interfaces/userDB.ts"(){}}),init_interfaces=__esm({"src/core/interfaces/index.ts"(){init_adminDB(),init_classroomDB(),init_contentSource(),init_courseDB3(),init_dataLayerProvider(),init_userDB()}}),init_user=__esm({"src/core/types/user.ts"(){}});async function importParsedCards(t,n,i){const a=[];for(const l of t)try{const t=await processCard(l,n,i);a.push(t)}catch(s){logger.error("Error processing card:",s);let t=l.markdown;l.tags&&l.tags.length>0&&(t+=`\ntags: ${l.tags.join(", ")}`),void 0!==l.elo&&(t+=`\nelo: ${l.elo}`),a.push({originalText:t,status:"error",message:`Error processing card: ${s instanceof Error?s.message:"Unknown error"}`})}return a}async function processCard(t,n,i){const{markdown:a,tags:s,elo:l}=t;let c=a;s.length>0&&(c+=`\ntags: ${s.join(", ")}`),void 0!==l&&(c+=`\nelo: ${l}`);const u={Input:a,Uploads:[]},d={};for(const m of s)d[m]={score:l||0,count:1};try{const t=await n.addNote(i.courseCode,i.dataShape,u,i.userName,s,void 0,l?{global:{score:l,count:1},tags:d,misc:{}}:void 0);return t.status===Status.ok?{originalText:c,status:"success",message:"Card added successfully.",cardId:t.id?t.id:"(unknown)"}:{originalText:c,status:"error",message:t.message||"Failed to add card to database. Unknown error."}}catch(f){return logger.error("Error adding note:",f),{originalText:c,status:"error",message:`Error adding card: ${f instanceof Error?f.message:"Unknown error"}`}}}function validateProcessorConfig(t){return t.dataShape?t.courseCode?t.userName?{isValid:!0}:{isValid:!1,errorMessage:"No user name provided for card processing"}:{isValid:!1,errorMessage:"No course code provided for card processing"}:{isValid:!1,errorMessage:"No data shape provided for card processing"}}var init_cardProcessor=__esm({"src/core/bulkImport/cardProcessor.ts"(){init_logger()}}),init_types=__esm({"src/core/bulkImport/types.ts"(){}}),init_bulkImport=__esm({"src/core/bulkImport/index.ts"(){init_cardProcessor(),init_types()}}),init_core=__esm({"src/core/index.ts"(){init_interfaces(),init_types_legacy(),init_user(),init_Loggable(),init_util(),init_navigators(),init_bulkImport()}});init_core(),init_courseLookupDB(),init_couch(),init_util(),init_logger();var duration=hooks$3.duration;function newInterval(t,n){return areQuestionRecords(n)?newQuestionInterval(t,n):1e5}function newQuestionInterval(t,n){const i=n.records,a=i[i.length-1],s=lastSuccessfulInterval(i);if(s>n.bestInterval&&(n.bestInterval=s,t.update(n._id,{bestInterval:s})),a.isCorrect){const t=Math.min(1,Math.max(0,a.performance));logger.debug(`Demontrated skill: \t${t}`);const i=s*(.75+t);if(n.lapses=getLapses(n.records),n.streak=getStreak(n.records),n.lapses&&n.streak&&n.bestInterval&&(n.lapses>=0||n.streak>=0)){const t=(n.lapses*i+n.streak*n.bestInterval)/(n.lapses+n.streak);return logger.debug(`Weighted average interval calculation:\n\t(${n.lapses} * ${i} + ${n.streak} * ${n.bestInterval}) / (${n.lapses} + ${n.streak}) = ${t}`),t}return i}return 0}function lastSuccessfulInterval(t){for(let n=t.length-1;n>=1;n--)if(0===t[n].priorAttemps&&t[n].isCorrect){const i=secondsBetween(t[n-1].timeStamp,t[n].timeStamp),a=Math.max(i,72e3);return logger.debug(`Last interval w/ this card was: ${i}s, returning ${a}s`),a}return getInitialInterval(t)}function getStreak(t){let n=0,i=t.length-1;for(;i>=0&&t[i].isCorrect;)i--,n++;return n}function getLapses(t){return t.filter((t=>!1===t.isCorrect)).length}function getInitialInterval(t){return logger.warn(`history of length: ${t.length} ignored!`),259200}function secondsBetween(t,n){t=hooks$3(t),n=hooks$3(n);return duration(n.diff(t)).asSeconds()}init_logger();var SrsService=class{constructor(t){__publicField2(this,"user"),this.user=t}async scheduleReview(t,n){const i=newInterval(this.user,t),a=hooks$3.utc().add(i,"seconds");isReview(n)&&(logger.info(`[SrsService] Removing previously scheduled review for: ${n.cardID}`),this.user.removeScheduledCardReview(n.reviewID)),this.user.scheduleCardReview({user:this.user.getUsername(),course_id:t.courseID,card_id:t.cardID,time:a,scheduledFor:n.contentSourceType,schedulingAgentId:n.contentSourceID})}};init_logger();var EloService=class{constructor(t,n){__publicField2(this,"dataLayer"),__publicField2(this,"user"),this.dataLayer=t,this.user=n}async updateUserAndCardElo(t,n,i,a,s,l){l&&logger.warn("k value interpretation not currently implemented");const c=this.dataLayer.getCourseDB(s.card.course_id),u=toCourseElo(a.courses.find((t=>t.courseID===n)).elo),d=(await c.getCardEloData([s.card.card_id]))[0];if(d&&u){const s=adjustCourseScores(u,d,t);a.courses.find((t=>t.courseID===n)).elo=s.userElo;const l=await Promise.allSettled([this.user.updateUserElo(n,s.userElo),c.updateCardElo(i,s.cardElo)]),f="fulfilled"===l[0].status,m="fulfilled"===l[1].status;if(f&&m){const t=l[0].value,n=l[1].value;t.ok&&n&&n.ok&&logger.info(`[EloService] Updated ELOS:\n \tUser: ${JSON.stringify(s.userElo)})\n \tCard: ${JSON.stringify(s.cardElo)})\n `)}else logger.warn(`[EloService] Partial ELO update:\n \tUser ELO update: ${f?"SUCCESS":"FAILED"}\n \tCard ELO update: ${m?"SUCCESS":"FAILED"}`),f||"rejected"!==l[0].status||logger.error("[EloService] User ELO update error:",l[0].reason),m||"rejected"!==l[1].status||logger.error("[EloService] Card ELO update error:",l[1].reason)}}};init_core(),init_logger();var ResponseProcessor=class{constructor(t,n){__publicField2(this,"srsService"),__publicField2(this,"eloService"),this.srsService=t,this.eloService=n}async processResponse(t,n,i,a,s,l,c,u,d,f){if(!isQuestionRecord(t))return{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,shouldClearFeedbackShadow:!0};const m=await n;return t.isCorrect?this.processCorrectResponse(t,m,i,a,s,l,c):this.processIncorrectResponse(t,m,a,s,l,c,u,d,f)}processCorrectResponse(t,n,i,a,s,l,c){if(0===t.priorAttemps){if(this.srsService.scheduleReview(n,i),1===n.records.length){const n=.5+t.performance/2;this.eloService.updateUserAndCardElo(n,l,c,a,s)}else{const i=Math.ceil(32/n.records.length),u=.5+t.performance/2;this.eloService.updateUserAndCardElo(u,l,c,a,s,i)}return logger.info("[ResponseProcessor] Processed correct response with SRS scheduling and ELO update"),{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:t.performance,shouldClearFeedbackShadow:!0}}return logger.info("[ResponseProcessor] Processed correct response (retry attempt - no scheduling/ELO)"),{nextCardAction:"marked-failed",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:t.performance,shouldClearFeedbackShadow:!0}}processIncorrectResponse(t,n,i,a,s,l,c,u,d){return 1!==n.records.length&&0===t.priorAttemps?(this.eloService.updateUserAndCardElo(0,s,l,i,a),logger.info("[ResponseProcessor] Processed incorrect response with ELO update")):logger.info("[ResponseProcessor] Processed incorrect response (no ELO update needed)"),a.records.length>=c?d>=u?(this.eloService.updateUserAndCardElo(0,s,l,i,a),{nextCardAction:"dismiss-failed",shouldLoadNextCard:!0,isCorrect:!1,shouldClearFeedbackShadow:!0}):{nextCardAction:"marked-failed",shouldLoadNextCard:!0,isCorrect:!1,shouldClearFeedbackShadow:!0}:{nextCardAction:"none",shouldLoadNextCard:!1,isCorrect:!1,shouldClearFeedbackShadow:!0}}};init_logger();var ItemQueue=class{constructor(){__publicField2(this,"q",[]),__publicField2(this,"seenCardIds",[]),__publicField2(this,"_dequeueCount",0)}get dequeueCount(){return this._dequeueCount}add(t,n){this.seenCardIds.find((t=>t===n))||(this.seenCardIds.push(n),this.q.push(t))}addAll(t,n){t.forEach((t=>this.add(t,n(t))))}get length(){return this.q.length}peek(t){return this.q[t]}dequeue(t){if(0!==this.q.length){this._dequeueCount++;const n=this.q.splice(0,1)[0];if(t){const i=t(n),a=this.seenCardIds.indexOf(i);a>-1&&this.seenCardIds.splice(a,1)}return n}return null}get toString(){return typeof this.q[0]+":\n"+this.q.map((t=>`\t${t.courseID}+${t.cardID}: ${t.status}`)).join("\n")}},CardHydrationService=class{constructor(t,n,i,a,s){__publicField2(this,"hydratedQ",new ItemQueue),__publicField2(this,"failedCardCache",new Map),__publicField2(this,"hydrationInProgress",!1),__publicField2(this,"BUFFER_SIZE",5),this.getViewComponent=t,this.getCourseDB=n,this.selectNextItemToHydrate=i,this.removeItemFromQueue=a,this.hasAvailableCards=s}dequeueHydratedCard(){return this.hydratedQ.dequeue((t=>t.item.cardID))}async ensureHydratedCards(){this.hydratedQ.length<3&&this.fillHydratedQueue()}async waitForHydratedCard(){for(0===this.hydratedQ.length&&this.hasAvailableCards()&&this.fillHydratedQueue();0===this.hydratedQ.length&&this.hasAvailableCards();)await new Promise((t=>setTimeout(t,25)));return this.dequeueHydratedCard()}get hydratedCount(){return this.hydratedQ.length}async fillHydratedQueue(){if(!this.hydrationInProgress){this.hydrationInProgress=!0;try{for(;this.hydratedQ.length<this.BUFFER_SIZE;){const t=this.selectNextItemToHydrate();if(!t)return;try{if(this.failedCardCache.has(t.cardID)){const n=this.failedCardCache.get(t.cardID);this.hydratedQ.add(n,n.item.cardID),this.failedCardCache.delete(t.cardID)}else{const n=this.getCourseDB(t.courseID),i=await n.getCourseDoc(t.cardID);isCourseElo(i.elo)||(i.elo=toCourseElo(i.elo));const a=this.getViewComponent(i.id_view),s=(await Promise.all(i.id_displayable_data.map((t=>n.getCourseDoc(t,{attachments:!0,binary:!0}))))).map(displayableDataToViewData).reverse();this.hydratedQ.add({item:t,view:a,data:s},t.cardID)}}catch(e){logger.error(`Error hydrating card ${t.cardID}:`,e)}finally{this.removeItemFromQueue(t)}}}finally{this.hydrationInProgress=!1}}}cacheFailedCard(t){this.failedCardCache.set(t.item.cardID,t)}};init_couch(),init_Loggable(),init_types_legacy(),init_logger(),init_logger(),init_logger();var nodeFS2=null;try{"undefined"==typeof window&&"undefined"!=typeof process&&process.versions?.node&&(nodeFS2=eval("require")("fs"),nodeFS2.promises=nodeFS2.promises||eval("require")("fs").promises)}catch{}var nodeFS3=null,nodePath=null;try{"undefined"==typeof window&&"undefined"!=typeof process&&process.versions?.node&&(nodeFS3=eval("require")("fs"),nodePath=eval("require")("path"),nodeFS3.promises=nodeFS3.promises||eval("require")("fs").promises)}catch{}function randomInt$3(t,n){return Math.floor(Math.random()*(n-t+1))+t}init_dataDirectory(),init_tuiLogger();var SessionController=class extends Loggable{constructor(t,n,i,a){super(),__publicField2(this,"_className","SessionController"),__publicField2(this,"services"),__publicField2(this,"srsService"),__publicField2(this,"eloService"),__publicField2(this,"hydrationService"),__publicField2(this,"sources"),__publicField2(this,"_sessionRecord",[]),__publicField2(this,"_currentCard",null),__publicField2(this,"reviewQ",new ItemQueue),__publicField2(this,"newQ",new ItemQueue),__publicField2(this,"failedQ",new ItemQueue),__publicField2(this,"startTime"),__publicField2(this,"endTime"),__publicField2(this,"_secondsRemaining"),__publicField2(this,"_intervalHandle"),this.srsService=new SrsService(i.getUserDB()),this.eloService=new EloService(i,i.getUserDB()),this.hydrationService=new CardHydrationService(a,(t=>i.getCourseDB(t)),(()=>this._selectNextItemToHydrate()),(t=>this.removeItemFromQueue(t)),(()=>this.hasAvailableCards())),this.services={response:new ResponseProcessor(this.srsService,this.eloService)},this.sources=t,this.startTime=new Date,this._secondsRemaining=n,this.endTime=new Date(this.startTime.valueOf()+1e3*this._secondsRemaining),this.log(`Session constructed:\n startTime: ${this.startTime}\n endTime: ${this.endTime}`)}set sessionRecord(t){this._sessionRecord=t}get secondsRemaining(){return this._secondsRemaining}get report(){return`${this.reviewQ.dequeueCount} reviews, ${this.newQ.dequeueCount} new cards`}get detailedReport(){return this.newQ.toString+"\n"+this.reviewQ.toString+"\n"+this.failedQ.toString}tick(){this._secondsRemaining=Math.floor((this.endTime.valueOf()-Date.now())/1e3),this._secondsRemaining<=0&&clearInterval(this._intervalHandle)}estimateCleanupTime(){let t=0;for(let i=0;i<this.failedQ.length;i++){const n=this.failedQ.peek(i),a=this._sessionRecord.find((t=>t.item.cardID===n.cardID));let s=0;if(a){for(let t=0;t<a.records.length;t++)s+=a.records[t].timeSpent;s/=a.records.length,t+=s}}const n=t/1e3;return this.log(`Failed card cleanup estimate: ${Math.round(n)}`),n}estimateReviewTime(){const t=5*this.reviewQ.length;return this.log(`Review card time estimate: ${t}`),t}async prepareSession(){try{await Promise.all([this.getScheduledReviews(),this.getNewCards()])}catch(e){this.error("Error preparing study session:",e)}await this.hydrationService.ensureHydratedCards(),this._intervalHandle=setInterval((()=>{this.tick()}),1e3)}addTime(t){this.endTime=new Date(this.endTime.valueOf()+1e3*t)}get failedCount(){return this.failedQ.length}toString(){return`Session: ${this.reviewQ.length} Reviews, ${this.newQ.length} New, ${this.failedQ.length} failed`}reportString(){return`${this.reviewQ.dequeueCount} Reviews, ${this.newQ.dequeueCount} New, ${this.failedQ.dequeueCount} failed`}async getScheduledReviews(){const t=await Promise.all(this.sources.map((t=>t.getPendingReviews().catch((n=>(this.error(`Failed to get reviews for source ${t}:`,n),[])))))),n=[];for(;0!=t.length&&t.some((t=>t.length>0));){const i=randomInt$3(0,t.length-1),a=t[i];0!==a.length?n.push(a.shift()):t.splice(i,1)}let i="Review session created with:\n";this.reviewQ.addAll(n,(t=>t.cardID)),i+=n.map((t=>`Card ${t.courseID}::${t.cardID} `)).join("\n"),this.log(i)}async getNewCards(t=10){const n=Math.ceil(t/this.sources.length),i=await Promise.all(this.sources.map((t=>t.getNewCards(n))));for(i.forEach((t=>{t.filter((t=>void 0===this._sessionRecord.find((n=>n.card.card_id===t.cardID))))}));t>0&&i.some((t=>t.length>0));)for(let n=0;n<i.length;n++)if(i[n].length>0){const a=i[n].splice(0,1)[0];this.log(`Adding new card: ${a.courseID}::${a.cardID}`),this.newQ.add(a,a.cardID),t--}}_selectNextItemToHydrate(){const t=Math.random();let n=.1,i=.75;if(0===this.reviewQ.length&&0===this.failedQ.length&&0===this.newQ.length)return null;if(this._secondsRemaining<2&&0===this.failedQ.length)return null;if(this._secondsRemaining<=0)return this.failedQ.length>0?this.failedQ.peek(0):null;if(this.newQ.dequeueCount<this.sources.length&&this.newQ.length)return this.newQ.peek(0);const a=this.estimateCleanupTime(),s=this.estimateReviewTime();return this._secondsRemaining-(a+s)>20?(n=.5,i=.9):this._secondsRemaining-a>20?(n=.05,i=.9):(n=.01,i=.1),0===this.failedQ.length&&(i=1),0===this.reviewQ.length&&(n=i),t<n&&this.newQ.length?this.newQ.peek(0):t<i&&this.reviewQ.length?this.reviewQ.peek(0):this.failedQ.length?this.failedQ.peek(0):(this.log("No more cards available for the session!"),null)}async nextCard(t="dismiss-success"){if(this.dismissCurrentCard(t),this._secondsRemaining<=0&&0===this.failedQ.length)return this._currentCard=null,null;let n=this.hydrationService.dequeueHydratedCard();return!n&&this.hasAvailableCards()&&(n=await this.hydrationService.waitForHydratedCard()),await this.hydrationService.ensureHydratedCards(),this._currentCard=n||null,n}async submitResponse(t,n,i,a,s,l,c,u,d){const f={...a.item};return await this.services.response.processResponse(t,n,f,i,a,s,l,c,u,d)}dismissCurrentCard(t="dismiss-success"){if(this._currentCard)if("dismiss-success"===t);else if("marked-failed"===t){let t;this.hydrationService.cacheFailedCard(this._currentCard),t=isReview(this._currentCard.item)?{cardID:this._currentCard.item.cardID,courseID:this._currentCard.item.courseID,contentSourceID:this._currentCard.item.contentSourceID,contentSourceType:this._currentCard.item.contentSourceType,status:"failed-review",reviewID:this._currentCard.item.reviewID}:{cardID:this._currentCard.item.cardID,courseID:this._currentCard.item.courseID,contentSourceID:this._currentCard.item.contentSourceID,contentSourceType:this._currentCard.item.contentSourceType,status:"failed-new"},this.failedQ.add(t,t.cardID)}}hasAvailableCards(){return this.reviewQ.length>0||this.newQ.length>0||this.failedQ.length>0}removeItemFromQueue(t){this.reviewQ.peek(0)===t?this.reviewQ.dequeue((t=>t.cardID)):this.newQ.peek(0)===t?this.newQ.dequeue((t=>t.cardID)):this.failedQ.dequeue((t=>t.cardID))}};init_factory();const index$8=Object.freeze(Object.defineProperty({__proto__:null,get ContentNavigator(){return ContentNavigator},get CourseLookup(){return CourseLookup},get DocType(){return DocType},get DocTypePrefixes(){return DocTypePrefixes},get ENV(){return ENV},get GuestUsername(){return GuestUsername},get Loggable(){return Loggable},get NOT_SET(){return NOT_SET},get Navigators(){return Navigators},SessionController:SessionController,areQuestionRecords:areQuestionRecords,docIsDeleted:docIsDeleted,ensureAppDataDirectory:ensureAppDataDirectory,getAppDataDirectory:getAppDataDirectory,getCardHistoryID:getCardHistoryID,getDataLayer:getDataLayer,getDbPath:getDbPath,getStudySource:getStudySource,importParsedCards:importParsedCards,initializeDataDirectory:initializeDataDirectory,initializeDataLayer:initializeDataLayer,isQuestionRecord:isQuestionRecord,isReview:isReview,get logger(){return logger2},newInterval:newInterval,validateProcessorConfig:validateProcessorConfig},Symbol.toStringTag,{value:"Module"}));
30
+ hooks$3.version="2.30.1",setHookCallback$3(createLocal$3),hooks$3.fn=proto$5,hooks$3.min=min$3,hooks$3.max=max$3,hooks$3.now=now$3,hooks$3.utc=createUTC$3,hooks$3.unix=createUnix$3,hooks$3.months=listMonths$3,hooks$3.isDate=isDate$3,hooks$3.locale=getSetGlobalLocale$3,hooks$3.invalid=createInvalid$4,hooks$3.duration=createDuration$3,hooks$3.isMoment=isMoment$3,hooks$3.weekdays=listWeekdays$3,hooks$3.parseZone=createInZone$3,hooks$3.localeData=getLocale$3,hooks$3.isDuration=isDuration$3,hooks$3.monthsShort=listMonthsShort$3,hooks$3.weekdaysMin=listWeekdaysMin$3,hooks$3.defineLocale=defineLocale$3,hooks$3.updateLocale=updateLocale$3,hooks$3.locales=listLocales$3,hooks$3.weekdaysShort=listWeekdaysShort$3,hooks$3.normalizeUnits=normalizeUnits$3,hooks$3.relativeTimeRounding=getSetRelativeTimeRounding$3,hooks$3.relativeTimeThreshold=getSetRelativeTimeThreshold$3,hooks$3.calendarFormat=getCalendarFormat$3,hooks$3.prototype=proto$5,hooks$3.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const byteToHex=[];for(let t=0;t<256;++t)byteToHex.push((t+256).toString(16).slice(1));function unsafeStringify(t,n=0){return(byteToHex[t[n+0]]+byteToHex[t[n+1]]+byteToHex[t[n+2]]+byteToHex[t[n+3]]+"-"+byteToHex[t[n+4]]+byteToHex[t[n+5]]+"-"+byteToHex[t[n+6]]+byteToHex[t[n+7]]+"-"+byteToHex[t[n+8]]+byteToHex[t[n+9]]+"-"+byteToHex[t[n+10]]+byteToHex[t[n+11]]+byteToHex[t[n+12]]+byteToHex[t[n+13]]+byteToHex[t[n+14]]+byteToHex[t[n+15]]).toLowerCase()}let getRandomValues;const rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}const randomUUID="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native={randomUUID:randomUUID};function v4(t,n,i){if(native.randomUUID&&!t)return native.randomUUID();const a=(t=t||{}).random??t.rng?.()??rng();if(a.length<16)throw new Error("Random bytes length must be >= 16");return a[6]=15&a[6]|64,a[8]=63&a[8]|128,unsafeStringify(a)}var browserPonyfill={exports:{}},hasRequiredBrowserPonyfill;function requireBrowserPonyfill(){return hasRequiredBrowserPonyfill||(hasRequiredBrowserPonyfill=1,function(t,n){var i,a="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window,s=function(){function t(){this.fetch=!1,this.DOMException=a.DOMException}return t.prototype=a,new t}();i=s,function(t){var n=void 0!==i&&i||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window||{},a="URLSearchParams"in n,s="Symbol"in n&&"iterator"in Symbol,l="FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch(e){return!1}}(),c="FormData"in n,u="ArrayBuffer"in n;if(u)var d=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],f=ArrayBuffer.isView||function(t){return t&&d.indexOf(Object.prototype.toString.call(t))>-1};function m(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function g(t){return"string"!=typeof t&&(t=String(t)),t}function v(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return s&&(n[Symbol.iterator]=function(){return n}),n}function b(t){this.map={},t instanceof b?t.forEach((function(t,n){this.append(n,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(n){this.append(n,t[n])}),this)}function w(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function k(t){return new Promise((function(n,i){t.onload=function(){n(t.result)},t.onerror=function(){i(t.error)}}))}function S(t){var n=new FileReader,i=k(n);return n.readAsArrayBuffer(t),i}function C(t){if(t.slice)return t.slice(0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function E(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:l&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:c&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:a&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():u&&l&&(n=t)&&DataView.prototype.isPrototypeOf(n)?(this._bodyArrayBuffer=C(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(t)||f(t))?this._bodyArrayBuffer=C(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},l&&(this.blob=function(){var t=w(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=w(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(l)return this.blob().then(S);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,n,i,a,s,l=w(this);if(l)return l;if(this._bodyBlob)return t=this._bodyBlob,n=new FileReader,i=k(n),a=/charset=([A-Za-z0-9_-]+)/.exec(t.type),s=a?a[1]:"utf-8",n.readAsText(t,s),i;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var n=new Uint8Array(t),i=new Array(n.length),a=0;a<n.length;a++)i[a]=String.fromCharCode(n[a]);return i.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},c&&(this.formData=function(){return this.text().then(I)}),this.json=function(){return this.text().then(JSON.parse)},this}b.prototype.append=function(t,n){t=m(t),n=g(n);var i=this.map[t];this.map[t]=i?i+", "+n:n},b.prototype.delete=function(t){delete this.map[m(t)]},b.prototype.get=function(t){return t=m(t),this.has(t)?this.map[t]:null},b.prototype.has=function(t){return this.map.hasOwnProperty(m(t))},b.prototype.set=function(t,n){this.map[m(t)]=g(n)},b.prototype.forEach=function(t,n){for(var i in this.map)this.map.hasOwnProperty(i)&&t.call(n,this.map[i],i,this)},b.prototype.keys=function(){var t=[];return this.forEach((function(n,i){t.push(i)})),v(t)},b.prototype.values=function(){var t=[];return this.forEach((function(n){t.push(n)})),v(t)},b.prototype.entries=function(){var t=[];return this.forEach((function(n,i){t.push([i,n])})),v(t)},s&&(b.prototype[Symbol.iterator]=b.prototype.entries);var T=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function P(t,i){if(!(this instanceof P))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var a,s,l=(i=i||{}).body;if(t instanceof P){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,i.headers||(this.headers=new b(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,l||null==t._bodyInit||(l=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=i.credentials||this.credentials||"same-origin",!i.headers&&this.headers||(this.headers=new b(i.headers)),this.method=(a=i.method||this.method||"GET",s=a.toUpperCase(),T.indexOf(s)>-1?s:a),this.mode=i.mode||this.mode||null,this.signal=i.signal||this.signal||function(){if("AbortController"in n)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&l)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(l),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==i.cache&&"no-cache"!==i.cache)){var c=/([?&])_=[^&]*/;c.test(this.url)?this.url=this.url.replace(c,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function I(t){var n=new FormData;return t.trim().split("&").forEach((function(t){if(t){var i=t.split("="),a=i.shift().replace(/\+/g," "),s=i.join("=").replace(/\+/g," ");n.append(decodeURIComponent(a),decodeURIComponent(s))}})),n}function A(t,n){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===n.statusText?"":""+n.statusText,this.headers=new b(n.headers),this.url=n.url||"",this._initBody(t)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})},E.call(P.prototype),E.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},A.error=function(){var t=new A(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var D=[301,302,303,307,308];A.redirect=function(t,n){if(-1===D.indexOf(n))throw new RangeError("Invalid status code");return new A(null,{status:n,headers:{location:t}})},t.DOMException=n.DOMException;try{new t.DOMException}catch(_e){t.DOMException=function(t,n){this.message=t,this.name=n;var i=Error(t);this.stack=i.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function O(i,a){return new Promise((function(s,c){var d=new P(i,a);if(d.signal&&d.signal.aborted)return c(new t.DOMException("Aborted","AbortError"));var f=new XMLHttpRequest;function v(){f.abort()}if(f.onload=function(){var t,n,i={statusText:f.statusText,headers:(t=f.getAllResponseHeaders()||"",n=new b,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var i=t.split(":"),a=i.shift().trim();if(a){var s=i.join(":").trim();try{n.append(a,s)}catch(l){console.warn("Response "+l.message)}}})),n)};0===d.url.indexOf("file://")&&(f.status<200||f.status>599)?i.status=200:i.status=f.status,i.url="responseURL"in f?f.responseURL:i.headers.get("X-Request-URL");var a="response"in f?f.response:f.responseText;setTimeout((function(){s(new A(a,i))}),0)},f.onerror=function(){setTimeout((function(){c(new TypeError("Network request failed"))}),0)},f.ontimeout=function(){setTimeout((function(){c(new TypeError("Network request timed out"))}),0)},f.onabort=function(){setTimeout((function(){c(new t.DOMException("Aborted","AbortError"))}),0)},f.open(d.method,function(t){try{return""===t&&n.location.href?n.location.href:t}catch(e){return t}}(d.url),!0),"include"===d.credentials?f.withCredentials=!0:"omit"===d.credentials&&(f.withCredentials=!1),"responseType"in f&&(l?f.responseType="blob":u&&(f.responseType="arraybuffer")),a&&"object"==typeof a.headers&&!(a.headers instanceof b||n.Headers&&a.headers instanceof n.Headers)){var w=[];Object.getOwnPropertyNames(a.headers).forEach((function(t){w.push(m(t)),f.setRequestHeader(t,g(a.headers[t]))})),d.headers.forEach((function(t,n){-1===w.indexOf(n)&&f.setRequestHeader(n,t)}))}else d.headers.forEach((function(t,n){f.setRequestHeader(n,t)}));d.signal&&(d.signal.addEventListener("abort",v),f.onreadystatechange=function(){4===f.readyState&&d.signal.removeEventListener("abort",v)}),f.send(void 0===d._bodyInit?null:d._bodyInit)}))}O.polyfill=!0,n.fetch||(n.fetch=O,n.Headers=b,n.Request=P,n.Response=A),t.Headers=b,t.Request=P,t.Response=A,t.fetch=O}({}),s.fetch.ponyfill=!0,delete s.fetch.polyfill;var l=a.fetch?a:s;(n=l.fetch).default=l.fetch,n.fetch=l.fetch,n.Headers=l.Headers,n.Request=l.Request,n.Response=l.Response,t.exports=n}(browserPonyfill,browserPonyfill.exports)),browserPonyfill.exports}var browserPonyfillExports=requireBrowserPonyfill();const fetch2=getDefaultExportFromCjs$4(browserPonyfillExports);var browser={exports:{}},hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser.exports;hasRequiredBrowser=1;var t,n,i=browser.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(n){if(t===setTimeout)return setTimeout(n,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(n,0);try{return t(n,0)}catch(e){try{return t.call(null,n,0)}catch(i){return t.call(this,n,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var c,u=[],d=!1,f=-1;function m(){d&&c&&(d=!1,c.length?u=c.concat(u):f=-1,u.length&&g())}function g(){if(!d){var t=l(m);d=!0;for(var i=u.length;i;){for(c=u,u=[];++f<i;)c&&c[f].run();f=-1,i=u.length}c=null,d=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(i){return n.call(this,t)}}}(t)}}function v(t,n){this.fun=t,this.array=n}function b(){}return i.nextTick=function(t){var n=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)n[i-1]=arguments[i];u.push(new v(t,n)),1!==u.length||d||l(g)},v.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=b,i.addListener=b,i.once=b,i.off=b,i.removeListener=b,i.removeAllListeners=b,i.emit=b,i.prependListener=b,i.prependOnceListener=b,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0},browser.exports}var browserExports=requireBrowser();const process2=getDefaultExportFromCjs$4(browserExports);var __defProp$3=Object.defineProperty,__getOwnPropNames=Object.getOwnPropertyNames,__glob=t=>n=>{var i=t[n];if(i)return i();throw new Error("Module not found in bundle: "+n)},__esm=(t,n)=>function(){return t&&(n=(0,t[__getOwnPropNames(t)[0]])(t=0)),n},__export=(t,n)=>{for(var i in n)__defProp$3(t,i,{get:n[i],enumerable:!0})},init_adminDB=__esm({"src/core/interfaces/adminDB.ts"(){}}),init_classroomDB=__esm({"src/core/interfaces/classroomDB.ts"(){}}),init_SyncStrategy=__esm({"src/impl/common/SyncStrategy.ts"(){}}),isDevelopment,logger,init_logger=__esm({"src/util/logger.ts"(){isDevelopment="undefined"!=typeof process&&!1,logger={debug:(t,...n)=>{isDevelopment&&console.debug(`[DB:DEBUG] ${t}`,...n)},info:(t,...n)=>{console.info(`[DB:INFO] ${t}`,...n)},warn:(t,...n)=>{console.warn(`[DB:WARN] ${t}`,...n)},error:(t,...n)=>{console.error(`[DB:ERROR] ${t}`,...n)},log:(t,...n)=>{isDevelopment&&console.log(`[DB:LOG] ${t}`,...n)}}}}),GuestUsername,DocType,DocTypePrefixes,init_types_legacy=__esm({"src/core/types/types-legacy.ts"(){init_logger(),GuestUsername="sk-guest-",DocType=(t=>(t.DISPLAYABLE_DATA="DISPLAYABLE_DATA",t.CARD="CARD",t.DATASHAPE="DATASHAPE",t.QUESTIONTYPE="QUESTION",t.VIEW="VIEW",t.PEDAGOGY="PEDAGOGY",t.CARDRECORD="CARDRECORD",t.SCHEDULED_CARD="SCHEDULED_CARD",t.TAG="TAG",t.NAVIGATION_STRATEGY="NAVIGATION_STRATEGY",t))(DocType||{}),DocTypePrefixes={CARD:"c",DISPLAYABLE_DATA:"dd",TAG:"TAG",CARDRECORD:"cardH",SCHEDULED_CARD:"card_review_",DATASHAPE:"DATASHAPE",QUESTION:"QUESTION",VIEW:"VIEW",PEDAGOGY:"PEDAGOGY",NAVIGATION_STRATEGY:"NAVIGATION_STRATEGY"}}});function areQuestionRecords(t){return isQuestionRecord(t.records[0])}function isQuestionRecord(t){return void 0!==t.userAnswer}function getCardHistoryID(t,n){return`${DocTypePrefixes.CARDRECORD}-${t}-${n}`}function docIsDeleted(t){return Boolean("not_found"===t?.error&&"deleted"===t?.reason)}var init_util=__esm({"src/core/util/index.ts"(){init_types_legacy()}}),pouchdb_setup_default,init_pouchdb_setup=__esm({"src/impl/couch/pouchdb-setup.ts"(){PouchDB.plugin(plugin$1),PouchDB.plugin(plugin),PouchDB.defaults({}),pouchdb_setup_default=PouchDB}}),logger2,init_tuiLogger=__esm({"src/util/tuiLogger.ts"(){init_dataDirectory(),logger2={debug:(t,...n)=>{console.log(`[DEBUG] ${t}`,...n)},info:(t,...n)=>{console.info(`[INFO] ${t}`,...n)},warn:(t,...n)=>{console.warn(`[WARN] ${t}`,...n)},error:(t,...n)=>{console.error(`[ERROR] ${t}`,...n)}}}});function getAppDataDirectory(){return ENV.LOCAL_STORAGE_PREFIX?(void 0)((void 0)(),".tuilder",ENV.LOCAL_STORAGE_PREFIX):(void 0)((void 0)(),".tuilder")}async function ensureAppDataDirectory(){const t=getAppDataDirectory();try{await(void 0).mkdir(t,{recursive:!0})}catch(n){if("EEXIST"!==n.code)throw new Error(`Failed to create app data directory ${t}: ${n.message}`)}return t}function getDbPath(t){return(void 0)(getAppDataDirectory(),t)}async function initializeDataDirectory(){await ensureAppDataDirectory(),logger2.info(`PouchDB data directory initialized: ${getAppDataDirectory()}`)}var init_dataDirectory=__esm({"src/util/dataDirectory.ts"(){init_tuiLogger(),init_factory()}}),REVIEW_TIME_FORMAT,log2;function hexEncode(t){let n,i="";for(let a=0;a<t.length;a++)n=t.charCodeAt(a).toString(16),i+=("000"+n).slice(3);return i}function filterAllDocsByPrefix(t,n,i){const a={startkey:n,endkey:n+"￰",include_docs:!0};return i&&Object.assign(a,i),t.allDocs(a)}function getStartAndEndKeys(t){return{startkey:t,endkey:t+"￰"}}function getLocalUserDB(t){const n=`userdb-${t}`;return"undefined"==typeof window?new pouchdb_setup_default(getDbPath(n),{}):new pouchdb_setup_default(n,{})}function scheduleCardReviewLocal(t,n){const i=hooks$3.utc();logger.info(`Scheduling for review in: ${n.time.diff(i,"h")/24} days`),t.put({_id:DocTypePrefixes.SCHEDULED_CARD+n.time.format(REVIEW_TIME_FORMAT),cardId:n.card_id,reviewTime:n.time.toISOString(),courseId:n.course_id,scheduledAt:i.toISOString(),scheduledFor:n.scheduledFor,schedulingAgentId:n.schedulingAgentId})}async function removeScheduledCardReviewLocal(t,n){const i=await t.get(n);t.remove(i).then((t=>{t.ok&&log2(`Removed Review Doc: ${n}`)})).catch((t=>{log2(`Failed to remove Review Doc: ${n},\n${JSON.stringify(t)}`)}))}var init_userDBHelpers=__esm({"src/impl/common/userDBHelpers.ts"(){init_core(),init_logger(),init_pouchdb_setup(),init_dataDirectory(),REVIEW_TIME_FORMAT="YYYY-MM-DD--kk:mm:ss-SSS",log2=t=>{logger.info(t)}}}),Loggable,init_Loggable=__esm({"src/util/Loggable.ts"(){Loggable=class{log(...t){console.log(`LOG-${this._className}@${new Date}:`,...t)}error(...t){console.error(`ERROR-${this._className}@${new Date}:`,...t)}}}}),UpdateQueue,init_updateQueue=__esm({"src/impl/couch/updateQueue.ts"(){init_Loggable(),init_logger(),UpdateQueue=class extends Loggable{constructor(t,n){super(),__publicField2(this,"_className","UpdateQueue"),__publicField2(this,"pendingUpdates",{}),__publicField2(this,"inprogressUpdates",{}),__publicField2(this,"readDB"),__publicField2(this,"writeDB"),this.readDB=t,this.writeDB=n||t,logger.debug("UpdateQ initialized..."),this.readDB.info().then((t=>{logger.debug(`db info: ${JSON.stringify(t)}`)}))}update(t,n){return logger.debug(`Update requested on doc: ${t}`),this.pendingUpdates[t]?this.pendingUpdates[t].push(n):this.pendingUpdates[t]=[n],this.applyUpdates(t)}async applyUpdates(t){if(logger.debug(`Applying updates on doc: ${t}`),this.inprogressUpdates[t]){for(;this.inprogressUpdates[t];)await new Promise((t=>setTimeout(t,50*Math.random())));return this.applyUpdates(t)}if(this.pendingUpdates[t]&&this.pendingUpdates[t].length>0){this.inprogressUpdates[t]=!0;const n=5;for(let i=0;i<n;i++)try{const n=await this.readDB.get(t);logger.debug(`Retrieved doc: ${t}`);let i={...n};const a=[...this.pendingUpdates[t]];for(const t of a)i="function"==typeof t?{...i,...t(i)}:{...i,...t};return await this.writeDB.put(i),logger.debug(`Put doc: ${t}`),this.pendingUpdates[t].splice(0,a.length),0!==this.pendingUpdates[t].length?this.applyUpdates(t):(this.inprogressUpdates[t]=!1,delete this.inprogressUpdates[t],i)}catch(e){if(!("conflict"===e.name&&i<n-1))throw"not_found"===e.name&&0===i?(logger.warn(`Update failed for ${t} - does not exist. Throwing to caller.`),e):(delete this.inprogressUpdates[t],this.pendingUpdates[t]&&delete this.pendingUpdates[t],logger.error(`Error on attemped update (retry ${i}): ${JSON.stringify(e)}`),e);logger.warn(`Conflict on update for doc ${t}, retry #${i+1}`),await new Promise((t=>setTimeout(t,50*Math.random())))}throw new Error(`UpdateQueue failed for doc ${t} after ${n} retries.`)}throw new Error("Empty Updates Queue Triggered")}}}}),UsrCrsData,init_user_course_relDB=__esm({"src/impl/couch/user-course-relDB.ts"(){init_logger(),UsrCrsData=class{constructor(t,n){__publicField2(this,"user"),__publicField2(this,"_courseId"),this.user=t,this._courseId=n}async getReviewsForcast(t){const n=hooks$3.utc().add(t,"days");return this.getReviewstoDate(n)}async getPendingReviews(){const t=hooks$3.utc();return this.getReviewstoDate(t)}async getScheduledReviewCount(){return(await this.getPendingReviews()).length}async getCourseSettings(){const t=(await this.user.getCourseRegistrationsDoc()).courses.find((t=>t.courseID===this._courseId));return t&&t.settings?t.settings:(logger.warn(`no settings found during lookup on course ${this._courseId}`),{})}updateCourseSettings(t){"updateCourseSettings"in this.user&&this.user.updateCourseSettings(this._courseId,t)}async getReviewstoDate(t){const n=await this.user.getPendingReviews(this._courseId);return logger.debug(`Fetching ${this.user.getUsername()}'s scheduled reviews for course ${this._courseId}.`),n.filter((n=>{const i=hooks$3.utc(n.reviewTime);return t.isAfter(i)}))}}}}),CLIENT_CACHE;async function GET_CACHED(t,n){return CLIENT_CACHE[t]?CLIENT_CACHE[t]:(CLIENT_CACHE[t]=n?await n(t):await GET_ITEM(t),GET_CACHED(t))}async function GET_ITEM(t){throw new Error(`No implementation found for GET_CACHED(${t})`)}var init_clientCache=__esm({"src/impl/couch/clientCache.ts"(){CLIENT_CACHE={}}}),AlreadyTaggedErr;async function addNote55(t,n,i,a,s,l,c,u=blankCourseElo()){const d=getCourseDB(t),f=prepareNote55(t,n,i,a,s,l,c),m=`${DocTypePrefixes.DISPLAYABLE_DATA}-${v4()}`,g=await d.put({...f,_id:m}),v=NameSpacer.getDataShapeString({course:n,dataShape:i.name});if(g.ok)try{await createCards(t,v,g.id,l,u,s)}catch(b){let t="Unknown error";t=b instanceof Error?b.message:b&&"object"==typeof b&&"reason"in b?b.reason:b&&"object"==typeof b&&"message"in b?b.message:String(b),logger.error(`[addNote55] Failed to create cards for note ${g.id}: ${t}`),g.cardCreationFailed=!0,g.cardCreationError=t}else logger.error(`[addNote55] Error adding note. Result: ${JSON.stringify(g)}`);return g}async function createCards(t,n,i,a,s=blankCourseElo(),l){const c=await getCredentialledCourseConfig(t),u=NameSpacer.getDataShapeDescriptor(n);let d=[];for(const f of c.dataShapes)f.name===n&&(d=f.questionTypes);if(0===d.length){const t=`No questionViewTypes found for datashapeID: ${n} in course config. Cards cannot be created.`;throw logger.error(t),new Error(t)}for(const f of d)await createCard(f,t,u,i,a,s,l)}async function createCard(t,n,i,a,s,l=blankCourseElo(),c){const u=NameSpacer.getQuestionDescriptor(t),d=await getCredentialledCourseConfig(n);for(const f of d.questionTypes)if(f.name===t)for(const t of f.viewList)await addCard(n,i.course,[a],NameSpacer.getViewString({course:u.course,questionType:u.questionType,view:t}),l,s,c)}async function addCard(t,n,i,a,s,l,c){const u=getCourseDB(t),d=`${DocTypePrefixes.CARD}-${v4()}`,f=await u.put({_id:d,course:n,id_displayable_data:i,id_view:a,docType:"CARD",elo:s||toCourseElo(990+Math.round(20*Math.random())),author:c});for(const m of l)logger.info(`adding tag: ${m} to card ${f.id}`),await addTagToCard(t,f.id,m,c,!1);return f}async function getCredentialledCourseConfig(t){try{const n=getCourseDB(t),i=await n.get("CourseConfig");return i.courseID=t,logger.info(`Returning course config: ${JSON.stringify(i)}`),i}catch(e){throw logger.error(`Error fetching config for ${t}:`,e),e}}async function addTagToCard(t,n,i,a,s=!0){const l=getTagID(i),c=getCourseDB(t),u=new CourseDB(t,(async()=>BaseUser.Dummy({setupRemoteDB:()=>null,startSync:()=>{},canCreateAccount:()=>!1,canAuthenticate:()=>!1,getCurrentUsername:async()=>"DummyUser"})));try{logger.info(`Applying tag ${i} to card ${t+"-"+n}...`);const a=await c.get(l);if(a.taggedCards.includes(n))throw new AlreadyTaggedErr(`Card ${n} is already tagged with ${i}`);if(a.taggedCards.push(n),s)try{const a=(await u.getCardEloData([n]))[0];a.tags[i]={count:0,score:a.global.score},await updateCardElo(t,n,a)}catch(d){logger.error("Failed to update ELO data for card:",n,d)}return c.put(a)}catch(e){if(e instanceof AlreadyTaggedErr)throw e;return await createTag(t,i,a),addTagToCard(t,n,i,a,s)}}async function updateCardElo(t,n,i){if(i){const a=getCourseDB(t),s=await a.get(n);return logger.debug(`Replacing ${JSON.stringify(s.elo)} with ${JSON.stringify(i)}`),s.elo=i,a.put(s)}}function getTagID(t){const n="TAG".valueOf()+"-";return 0===t.indexOf(n)?t:n+t}function getCourseDB(t){const n=`coursedb-${t}`;return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig())}var init_courseAPI=__esm({"src/impl/couch/courseAPI.ts"(){init_pouchdb_setup(),init_couch(),init_factory(),init_courseDB(),init_types_legacy(),init_common(),init_logger(),AlreadyTaggedErr=class extends Error{constructor(t){super(t),this.name="AlreadyTaggedErr"}}}}),courseLookupDBTitle,CourseLookup,init_courseLookupDB=__esm({"src/impl/couch/courseLookupDB.ts"(){var t;init_pouchdb_setup(),init_factory(),init_logger(),courseLookupDBTitle="coursedb-lookup",logger.debug("COURSELOOKUP FILE RUNNING"),__publicField2(t=class{static get _db(){if(this._dbInstance)return this._dbInstance;if("NOT_SET"===ENV.COUCHDB_SERVER_URL||!ENV.COUCHDB_SERVER_URL)throw new Error("CourseLookup.db: COUCHDB_SERVER_URL is not set. Ensure initializeDataLayer has been called with valid configuration.");if("NOT_SET"===ENV.COUCHDB_SERVER_PROTOCOL||!ENV.COUCHDB_SERVER_PROTOCOL)throw new Error("CourseLookup.db: COUCHDB_SERVER_PROTOCOL is not set. Ensure initializeDataLayer has been called with valid configuration.");const t=`${ENV.COUCHDB_SERVER_PROTOCOL}://${ENV.COUCHDB_SERVER_URL}/${courseLookupDBTitle}`,n={};ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD?(n.auth={username:ENV.COUCHDB_USERNAME,password:ENV.COUCHDB_PASSWORD},logger.info(`CourseLookup: Connecting to ${t} with authentication.`)):logger.info(`CourseLookup: Connecting to ${t} without authentication.`);try{return this._dbInstance=new pouchdb_setup_default(t,n),logger.info(`CourseLookup: Database instance created for ${courseLookupDBTitle}.`),this._dbInstance}catch(i){throw logger.error(`CourseLookup: Failed to create PouchDB instance for ${t}`,i),this._dbInstance=null,new Error(`CourseLookup: Failed to initialize database connection: ${i instanceof Error?i.message:String(i)}`)}}static async add(n){return(await t._db.post({name:n})).id}static async addWithId(n,i,a){const s={_id:n,name:i};a&&(s.disambiguator=a),await t._db.put(s)}static async delete(n){const i=await t._db.get(n);return await t._db.remove(i)}static async allCourseWare(){return(await t._db.allDocs({include_docs:!0})).rows.map((t=>t.doc))}static async updateDisambiguator(n,i){const a=await t._db.get(n);return a.disambiguator=i,await t._db.put(a)}static async isCourse(n){try{return await t._db.get(n),!0}catch(i){return logger.info("Courselookup failed:",i),!1}}},"_dbInstance",null),CourseLookup=t}}),elo_exports={},ELONavigator;__export(elo_exports,{default:()=>ELONavigator});var init_elo=__esm({"src/core/navigators/elo.ts"(){init_navigators(),ELONavigator=class extends ContentNavigator{constructor(t,n){super(),__publicField2(this,"user"),__publicField2(this,"course"),this.user=t,this.course=n}async getPendingReviews(){const t=await this.user.getPendingReviews(this.course.getCourseID()),n=await this.course.getCardEloData(t.map((t=>t.cardId))),i=t.map(((t,i)=>({...t,...n[i]})));return i.sort(((t,n)=>t.global.score-n.global.score)),i.map((t=>({...t,contentSourceType:"course",contentSourceID:this.course.getCourseID(),cardID:t.cardId,courseID:t.courseId,qualifiedID:`${t.courseId}-${t.cardId}`,reviewID:t._id,status:"review"})))}async getNewCards(t=99){const n=await this.user.getActiveCards();return(await this.course.getCardsCenteredAtELO({limit:t,elo:"user"},(t=>!n.some((n=>t.cardID===n.cardID))))).map((t=>({...t,status:"new"})))}}}}),hardcodedOrder_exports={},HardcodedOrderNavigator;__export(hardcodedOrder_exports,{default:()=>HardcodedOrderNavigator});var init_hardcodedOrder=__esm({"src/core/navigators/hardcodedOrder.ts"(){init_navigators(),init_logger(),HardcodedOrderNavigator=class extends ContentNavigator{constructor(t,n,i){if(super(),__publicField2(this,"orderedCardIds",[]),__publicField2(this,"user"),__publicField2(this,"course"),this.user=t,this.course=n,i.serializedData)try{this.orderedCardIds=JSON.parse(i.serializedData)}catch(e){logger.error("Failed to parse serializedData for HardcodedOrderNavigator",e)}}async getPendingReviews(){return(await this.user.getPendingReviews(this.course.getCourseID())).map((t=>({...t,contentSourceType:"course",contentSourceID:this.course.getCourseID(),cardID:t.cardId,courseID:t.courseId,reviewID:t._id,status:"review"})))}async getNewCards(t=99){const n=(await this.user.getActiveCards()).map((t=>t.cardID));return this.orderedCardIds.filter((t=>!n.includes(t))).slice(0,t).map((t=>({cardID:t,courseID:this.course.getCourseID(),contentSourceType:"course",contentSourceID:this.course.getCourseID(),status:"new"})))}}}}),globImport,init_=__esm({'import("./**/*") in src/core/navigators/index.ts'(){globImport=__glob({"./elo.ts":()=>Promise.resolve().then((()=>(init_elo(),elo_exports))),"./hardcodedOrder.ts":()=>Promise.resolve().then((()=>(init_hardcodedOrder(),hardcodedOrder_exports))),"./index.ts":()=>Promise.resolve().then((()=>(init_navigators(),navigators_exports)))})}}),navigators_exports={},Navigators,ContentNavigator;__export(navigators_exports,{ContentNavigator:()=>ContentNavigator,Navigators:()=>Navigators});var init_navigators=__esm({"src/core/navigators/index.ts"(){init_logger(),init_(),Navigators=(t=>(t.ELO="elo",t.HARDCODED="hardcodedOrder",t))(Navigators||{}),ContentNavigator=class{static async create(t,n,i){const a=i.implementingClass;let s;const l=[".ts",".js",""];for(const c of l)try{s=(await globImport(`./${a}${c}`)).default;break}catch(e){logger.debug(`Failed to load with extension ${c}:`,e)}if(!s)throw new Error(`Could not load navigator implementation for: ${a}`);return new s(t,n,i)}}}}),CoursesDB,CourseDB;function randIntWeightedTowardZero(t){return Math.floor(Math.random()*Math.random()*Math.random()*t)}async function getCourseTagStubs(t){logger.debug(`Getting tag stubs for course: ${t}`);const n=await filterAllDocsByPrefix2(getCourseDB2(t),"TAG".valueOf()+"-");return n.rows.forEach((t=>{logger.debug(`\tTag stub for doc: ${t.id}`)})),n}async function createTag(t,n,i){logger.debug(`Creating tag: ${n}...`);const a=getTagID(n),s=getCourseDB2(t);return await s.put({course:t,docType:"TAG",name:n,snippet:"",taggedCards:[],wiki:"",author:i,_id:a})}async function updateTag(t){const n=await getTag(t.course,t.name);return await getCourseDB2(t.course).put({...t,_rev:n._rev})}async function getTag(t,n){const i=getTagID(n);return getCourseDB2(t).get(i)}async function removeTagFromCard(t,n,i){i=getTagID(i);const a=getCourseDB2(t),s=await a.get(i);return s.taggedCards=s.taggedCards.filter((t=>n!==t)),a.put(s)}async function getAppliedTags(t,n){const i=getCourseDB2(t);return await i.query("getTags",{startkey:n,endkey:n})}async function updateCredentialledCourseConfig(t,n){logger.debug(`Updating course config:\n\n${JSON.stringify(n)}\n`);const i=getCourseDB2(t),a=await getCredentialledCourseConfig(t);return await i.put({...n,_rev:a._rev})}function isSuccessRow(t){return"doc"in t&&null!==t.doc&&void 0!==t.doc}var init_courseDB=__esm({"src/impl/couch/courseDB.ts"(){init_couch(),init_updateQueue(),init_types_legacy(),init_logger(),init_clientCache(),init_courseAPI(),init_courseLookupDB(),init_navigators(),CoursesDB=class{constructor(t){__publicField2(this,"_courseIDs"),t&&t.length>0?this._courseIDs=t:this._courseIDs=void 0}async getCourseList(){let t=await CourseLookup.allCourseWare();logger.debug(`AllCourses: ${t.map((t=>t.name+", "+t._id+"\n\t"))}`),this._courseIDs&&(t=t.filter((t=>this._courseIDs.includes(t._id)))),logger.debug(`AllCourses.filtered: ${t.map((t=>t.name+", "+t._id+"\n\t"))}`);return(await Promise.all(t.map((async t=>{try{const n=await getCredentialledCourseConfig(t._id);return logger.debug(`Found cfg: ${JSON.stringify(n)}`),n}catch(e){return void logger.warn(`Error fetching cfg for course ${t.name}, ${t._id}: ${e}`)}})))).filter((t=>!!t))}async getCourseConfig(t){if(this._courseIDs&&this._courseIDs.length&&!this._courseIDs.includes(t))throw new Error(`Course ${t} not in course list`);const n=await getCredentialledCourseConfig(t);if(void 0===n)throw new Error(`Error fetching cfg for course ${t}`);return n}async disambiguateCourse(t,n){await CourseLookup.updateDisambiguator(t,n)}},CourseDB=class{constructor(t,n){__publicField2(this,"db"),__publicField2(this,"id"),__publicField2(this,"_getCurrentUser"),__publicField2(this,"updateQueue"),this.id=t,this.db=getCourseDB2(this.id),this._getCurrentUser=n,this.updateQueue=new UpdateQueue(this.db)}getCourseID(){return this.id}async getCourseInfo(){return{cardCount:(await this.db.find({selector:{docType:"CARD"},limit:1e3})).docs.length,registeredUsers:0}}async getInexperiencedCards(t=2){return(await this.db.query("cardsByInexperience",{limit:t})).rows.map((t=>({courseId:this.id,cardId:t.id,count:t.key,elo:t.value})))}async getCardsByEloLimits(t={low:0,high:Number.MIN_SAFE_INTEGER,limit:25,page:0}){return(await this.db.query("elo",{startkey:t.low,endkey:t.high,limit:t.limit,skip:t.limit*t.page})).rows.map((t=>`${this.id}-${t.id}-${t.key}`))}async getCardEloData(t){const n=await this.db.allDocs({keys:t,include_docs:!0}),i=[];return n.rows.forEach((t=>{isSuccessRow(t)?t.doc&&t.doc.elo?i.push(toCourseElo(t.doc.elo)):(logger.warn("no elo data for card: "+t.id),i.push(blankCourseElo())):(logger.warn("no elo data for card: "+JSON.stringify(t)),i.push(blankCourseElo()))})),i}async getELOBounds(){const[t,n]=await Promise.all([(await this.db.query("elo",{startkey:0,limit:1,include_docs:!1})).rows[0].key,(await this.db.query("elo",{limit:1,descending:!0,startkey:1e5})).rows[0].key]);return{low:t,high:n}}async removeCard(t){const n=await this.db.get(t);if(!n.docType||"CARD"!==n.docType)throw new Error(`failed to remove ${t} from course ${this.id}. id does not point to a card`);try{const n=await this.getAppliedTags(t);(await Promise.allSettled(n.rows.map((async n=>{const i=n.id;await this.removeTagFromCard(t,i)})))).forEach(((i,a)=>{if("rejected"===i.status){const s=n.rows[a].id;logger.error(`Failed to remove card ${t} from tag ${s}: ${i.reason}`)}}))}catch(i){logger.error(`Error removing card ${t} from tags: ${i}`)}return this.db.remove(n)}async getCardDisplayableDataIDs(t){logger.debug(t.join(", "));const n=await this.db.allDocs({keys:t,include_docs:!0}),i={};return n.rows.forEach((t=>{isSuccessRow(t)&&(i[t.id]=t.doc.id_displayable_data)})),await Promise.all(n.rows.map((t=>async()=>{isSuccessRow(t)&&(i[t.id]=t.doc.id_displayable_data)}))),i}async getCardsByELO(t,n){t=parseInt(t);const i=n||25,a=await this.db.query("elo",{limit:Math.ceil(i/2),startkey:t,descending:!0}),s=i-a.rows.length,l=await this.db.query("elo",{limit:s,startkey:t+1});let c=a.rows;c=c.concat(l.rows);const u=c.sort(((n,i)=>{const a=Math.abs(n.key-t)-Math.abs(i.key-t);return 0===a?Math.random()-.5:a})).map((t=>({courseID:this.id,cardID:t.id,elo:t.key}))),d=`below:\n${a.rows.map((t=>`\t${t.id}-${t.key}\n`))}\n\nabove:\n${l.rows.map((t=>`\t${t.id}-${t.key}\n`))}`;return logger.debug(`Getting ${i} cards centered around elo: ${t}:\n\n`+d),u}async getCourseConfig(){const t=await getCredentialledCourseConfig(this.id);if(t)return t;throw new Error(`Course config not found for course ID: ${this.id}`)}async updateCourseConfig(t){logger.debug(`Updating: ${JSON.stringify(t)}`);try{return await updateCredentialledCourseConfig(this.id,t)}catch(n){throw logger.error(`Error updating course config in course DB: ${n}`),n}}async updateCardElo(t,n){if(!n)throw new Error(`Cannot update card elo with null or undefined value for card ID: ${t}`);try{return{ok:!0,id:t,rev:(await this.updateQueue.update(t,(t=>(logger.debug(`Replacing ${JSON.stringify(t.elo)} with ${JSON.stringify(n)}`),t.elo=n,t))))._rev}}catch(i){throw logger.error(`Failed to update card elo for card ID: ${t}`,i),new Error(`Failed to update card elo for card ID: ${t}`)}}async getAppliedTags(t){const n=await getAppliedTags(this.id,t);if(n)return n;throw new Error(`Failed to find tags for card ${this.id}-${t}`)}async addTagToCard(t,n,i){return await addTagToCard(this.id,t,n,(await this._getCurrentUser()).getUsername(),i)}async removeTagFromCard(t,n){return await removeTagFromCard(this.id,t,n)}async createTag(t,n){return await createTag(this.id,t,n)}async getTag(t){return await getTag(this.id,t)}async updateTag(t){if(t.course!==this.id)throw new Error(`Tag ${JSON.stringify(t)} does not belong to course ${this.id}`);return await updateTag(t)}async getCourseTagStubs(){return getCourseTagStubs(this.id)}async addNote(t,n,i,a,s,l,c=blankCourseElo()){try{const u=await addNote55(this.id,t,n,i,a,s,l,c);return u.ok?u.cardCreationFailed?(logger.warn(`[courseDB.addNote] Note added but card creation failed: ${u.cardCreationError}`),{status:Status.error,message:`Note was added but no cards were created: ${u.cardCreationError}`,id:u.id}):{status:Status.ok,message:"",id:u.id}:{status:Status.error,message:"Unexpected error adding note"}}catch(e){const n=e;return logger.error(`[addNote] error ${n.name}\n\treason: ${n.reason}\n\tmessage: ${n.message}`),{status:Status.error,message:`Error adding note to course. ${e.reason||n.message}`}}}async getCourseDoc(t,n){return await getCourseDoc(this.id,t,n)}async getCourseDocs(t,n={}){return await getCourseDocs(this.id,t,n)}getNavigationStrategy(t){if(logger.debug(`[courseDB] Getting navigation strategy: ${t}`),""==t){const t={_id:"NAVIGATION_STRATEGY-ELO",docType:"NAVIGATION_STRATEGY",name:"ELO",description:"ELO-based navigation strategy for ordering content by difficulty",implementingClass:"elo",course:this.id,serializedData:""};return Promise.resolve(t)}return this.db.get(t)}async getAllNavigationStrategies(){const t=DocTypePrefixes.NAVIGATION_STRATEGY;return(await this.db.allDocs({startkey:t,endkey:`${t}￰`,include_docs:!0})).rows.map((t=>t.doc))}async addNavigationStrategy(t){return logger.debug(`[courseDB] Adding navigation strategy: ${t._id}`),this.db.put(t).then((()=>{}))}updateNavigationStrategy(t,n){return logger.debug(`[courseDB] Updating navigation strategy: ${t}`),logger.debug(JSON.stringify(n)),Promise.resolve()}async surfaceNavigationStrategy(){try{const t=await this.getCourseConfig();if(t.defaultNavigationStrategyId)try{const n=await this.getNavigationStrategy(t.defaultNavigationStrategyId);if(n)return logger.debug(`Surfacing strategy ${n.name} from course config`),n}catch(e){logger.warn(`Failed to load strategy '${t.defaultNavigationStrategyId}' specified in course config. Falling back to ELO.`,e)}}catch(e){logger.warn("Could not retrieve course config to determine navigation strategy. Falling back to ELO.",e)}logger.warn("Returning hard-coded default ELO navigator");const t={_id:"NAVIGATION_STRATEGY-ELO",docType:"NAVIGATION_STRATEGY",name:"ELO",description:"ELO-based navigation strategy",implementingClass:"elo",course:this.id,serializedData:""};return Promise.resolve(t)}async getNewCards(t=99){const n=await this._getCurrentUser();try{const i=await this.surfaceNavigationStrategy();return(await ContentNavigator.create(n,this,i)).getNewCards(t)}catch(e){throw logger.error(`[courseDB] Error surfacing a NavigationStrategy: ${e}`),e}}async getPendingReviews(){const t=await this._getCurrentUser();try{const n=await this.surfaceNavigationStrategy();return(await ContentNavigator.create(t,this,n)).getPendingReviews()}catch(e){throw logger.error(`[courseDB] Error surfacing a NavigationStrategy: ${e}`),e}}async getCardsCenteredAtELO(t={limit:99,elo:"user"},n){let i;if("user"===t.elo){const t=await this._getCurrentUser();i=-1;try{i=EloToNumber((await t.getCourseRegistrationsDoc()).courses.find((t=>t.courseID===this.id)).elo)}catch{i=1e3}}else if("random"===t.elo){const t=await GET_CACHED(`elo-bounds-${this.id}`,(()=>this.getELOBounds()));i=Math.round(t.low+Math.random()*(t.high-t.low))}else i=t.elo;let a=[],s=4,l=-1,c=0;for(;a.length<t.limit&&c!==l;)a=await this.getCardsByELO(i,s*t.limit),l=c,c=a.length,logger.debug(`Found ${a.length} elo neighbor cards...`),n&&(a=a.filter(n),logger.debug(`Filtered to ${a.length} cards...`)),s*=2;const u=[];for(;u.length<t.limit&&a.length>0;){const t=randIntWeightedTowardZero(a.length),n=a.splice(t,1)[0];u.push(n)}return u.map((t=>({courseID:this.id,cardID:t.cardID,contentSourceType:"course",contentSourceID:this.id,elo:t.elo,status:"new"})))}async searchCards(t){let n;logger.log(`[CourseDB ${this.id}] Searching for: "${t}"`);try{n=await this.db.find({selector:{docType:"DISPLAYABLE_DATA","data.0.data":{$regex:`.*${t}.*`}}}),logger.log(`[CourseDB ${this.id}] Regex search on data[0].data successful`)}catch(a){logger.log(`[CourseDB ${this.id}] Regex search failed, falling back to manual search:`,a);const i=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"}});logger.log(`[CourseDB ${this.id}] Retrieved ${i.docs.length} documents for manual filtering`),n={docs:i.docs.filter((n=>{const i=JSON.stringify(n).toLowerCase().includes(t.toLowerCase());return i&&logger.log(`[CourseDB ${this.id}] Manual match found in document: ${n._id}`),i}))}}if(logger.log(`[CourseDB ${this.id}] Found ${n.docs.length} displayable data documents`),0===n.docs.length){const t=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"},limit:5});logger.log(`[CourseDB ${this.id}] Sample displayable data:`,t.docs.map((t=>({id:t._id,docType:t.docType,dataStructure:t.data?Object.keys(t.data):"no data field",dataContent:t.data,fullDoc:t}))))}const i=[];for(const s of n.docs){const t=await this.db.find({selector:{docType:"CARD",id_displayable_data:{$in:[s._id]}}});logger.log(`[CourseDB ${this.id}] Displayable data ${s._id} linked to ${t.docs.length} cards`),i.push(...t.docs)}return logger.log(`[CourseDB ${this.id}] Total cards found: ${i.length}`),i}async find(t){return this.db.find(t)}}}}),classroomLookupDBTitle,CLASSROOM_CONFIG,ClassroomDBBase,StudentClassroomDB,TeacherClassroomDB,ClassroomLookupDB,init_classroomDB2=__esm({"src/impl/couch/classroomDB.ts"(){init_factory(),init_logger(),init_pouchdb_setup(),init_couch(),init_courseDB(),classroomLookupDBTitle="classdb-lookup",CLASSROOM_CONFIG="ClassroomConfig",ClassroomDBBase=class{constructor(){__publicField2(this,"_id"),__publicField2(this,"_db"),__publicField2(this,"_cfg"),__publicField2(this,"_initComplete",!1),__publicField2(this,"_content_prefix","content")}get _content_searchkeys(){return getStartAndEndKeys2(this._content_prefix)}async getAssignedContent(){logger.info("Getting assigned content...");return(await this._db.allDocs({startkey:this._content_prefix,endkey:this._content_prefix+"￰",include_docs:!0})).rows.map((t=>t.doc))}getContentId(t){return"tag"===t.type?`${this._content_prefix}-${t.courseID}-${t.tagID}`:`${this._content_prefix}-${t.courseID}`}get ready(){return this._initComplete}getConfig(){return this._cfg}},StudentClassroomDB=class _StudentClassroomDB extends ClassroomDBBase{constructor(t,n){super(),__publicField2(this,"userMessages"),__publicField2(this,"_user"),this._id=t,this._user=n}async init(){const t=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+t,createPouchDBConfig());try{const t=await this._db.get(CLASSROOM_CONFIG);return this._cfg=t,this.userMessages=this._db.changes({since:"now",live:!0,include_docs:!0}),void(this._initComplete=!0)}catch(e){throw new Error(`Error in StudentClassroomDB constructor: ${JSON.stringify(e)}`)}}static async factory(t,n){const i=new _StudentClassroomDB(t,n);return await i.init(),i}setChangeFcn(t){this.userMessages.on("change",t)}async getPendingReviews(){const t=this._user;return(await t.getPendingReviews()).filter((t=>"classroom"===t.scheduledFor&&t.schedulingAgentId===this._id)).map((t=>({...t,qualifiedID:`${t.courseId}-${t.cardId}`,courseID:t.courseId,cardID:t.cardId,contentSourceType:"classroom",contentSourceID:this._id,reviewID:t._id,status:"review"})))}async getNewCards(){const t=await this._user.getActiveCards(),n=hooks$3.utc(),i=(await this.getAssignedContent()).filter((t=>n.isAfter(hooks$3.utc(t.activeOn,REVIEW_TIME_FORMAT2))));logger.info(`Due content: ${JSON.stringify(i)}`);let a=[];for(let s=0;s<i.length;s++){const t=i[s];if("course"===t.type){const n=new CourseDB(t.courseID,(async()=>this._user));a=a.concat(await n.getNewCards())}else if("tag"===t.type){const n=await getTag(t.courseID,t.tagID);a=a.concat(n.taggedCards.map((n=>({courseID:t.courseID,cardID:n,qualifiedID:`${t.courseID}-${n}`,contentSourceType:"classroom",contentSourceID:this._id,status:"new"}))))}else"card"===t.type&&a.push(await getCourseDB2(t.courseID).get(t.cardID))}return logger.info(`New Cards from classroom ${this._cfg.name}: ${a.map((t=>`${t.courseID}-${t.cardID}`))}`),a.filter((n=>!t.some((t=>n.cardID===t.cardID))))}},TeacherClassroomDB=class _TeacherClassroomDB extends ClassroomDBBase{constructor(t){super(),__publicField2(this,"_stuDb"),this._id=t}async init(){const t=`classdb-teacher-${this._id}`,n=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+t,createPouchDBConfig()),this._stuDb=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig());try{return this._db.get(CLASSROOM_CONFIG).then((t=>{this._cfg=t,this._initComplete=!0})).then((()=>{}))}catch(e){throw new Error(`Error in TeacherClassroomDB constructor: ${JSON.stringify(e)}`)}}static async factory(t){const n=new _TeacherClassroomDB(t);return await n.init(),n}async removeContent(t){const n=this.getContentId(t);try{const t=await this._db.get(n);await this._db.remove(t),this._db.replicate.to(this._stuDb,{doc_ids:[n]})}catch(i){logger.error("Failed to remove content:",n,i)}}async assignContent(t){let n;const i=this.getContentId(t);return n="tag"===t.type?await this._db.put({courseID:t.courseID,tagID:t.tagID,type:"tag",_id:i,assignedBy:t.assignedBy,assignedOn:hooks$3.utc(),activeOn:t.activeOn||hooks$3.utc()}):await this._db.put({courseID:t.courseID,type:"course",_id:i,assignedBy:t.assignedBy,assignedOn:hooks$3.utc(),activeOn:t.activeOn||hooks$3.utc()}),!!n.ok&&(this._db.replicate.to(this._stuDb,{doc_ids:[i]}),!0)}},ClassroomLookupDB=()=>new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+classroomLookupDBTitle,{skip_setup:!0})}}),AdminDB,init_adminDB2=__esm({"src/impl/couch/adminDB.ts"(){init_pouchdb_setup(),init_factory(),init_couch(),init_classroomDB2(),init_courseLookupDB(),init_logger(),AdminDB=class{constructor(){__publicField2(this,"usersDB"),this.usersDB=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"_users",createPouchDBConfig())}async getUsers(){return(await this.usersDB.allDocs({include_docs:!0,...getStartAndEndKeys2("org.couchdb.user:")})).rows.map((t=>t.doc))}async getCourses(){const t=await CourseLookup.allCourseWare();return await Promise.all(t.map((t=>getCredentialledCourseConfig(t._id))))}async removeCourse(t){const n=await CourseLookup.delete(t),i=await getCredentialledCourseConfig(t);i.deleted=!0;const a=await updateCredentialledCourseConfig(t,i);return{ok:n.ok&&a.ok,id:n.id,rev:n.rev}}async getClassrooms(){const t=(await ClassroomLookupDB().allDocs({include_docs:!0})).rows.map((t=>t.doc.uuid));logger.debug(t.join(", "));const n=[];for(let i=0;i<t.length;i++)try{const a=await TeacherClassroomDB.factory(t[i]);n.push(a)}catch(e){const a=e;a.error&&"not_found"===a.error&&logger.warn(`db ${t[i]} not found`)}return(await Promise.all(n)).map((t=>({...t.getConfig(),_id:t._id})))}}}});async function getCurrentSession(){try{if(ENV.COUCHDB_SERVER_URL===NOT_SET||ENV.COUCHDB_SERVER_PROTOCOL===NOT_SET)throw new Error(`CouchDB server configuration not properly initialized. Protocol: "${ENV.COUCHDB_SERVER_PROTOCOL}", URL: "${ENV.COUCHDB_SERVER_URL}"`);const t=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,n=`${ENV.COUCHDB_SERVER_PROTOCOL}://${t}/_session`;logger.debug(`Attempting session check at: ${n}`);const i=await fetch2(n,{method:"GET",credentials:"include"});if(!i.ok)throw new Error(`Session check failed: ${i.status}`);return await i.json()}catch(t){const n=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,i=`${ENV.COUCHDB_SERVER_PROTOCOL}://${n}/_session`;throw logger.error(`Session check error attempting to connect to: ${i} - ${t}`),new Error(`Session check failed connecting to ${i}: ${t}`)}}async function getLoggedInUsername(){const t=await getCurrentSession();if(t.userCtx.name&&""!==t.userCtx.name)return t.userCtx.name;throw new Error("No logged in user")}var init_auth=__esm({"src/impl/couch/auth.ts"(){init_factory(),init_logger()}}),CouchDBSyncStrategy_exports={},log3,CouchDBSyncStrategy;__export(CouchDBSyncStrategy_exports,{CouchDBSyncStrategy:()=>CouchDBSyncStrategy});var init_CouchDBSyncStrategy=__esm({"src/impl/couch/CouchDBSyncStrategy.ts"(){init_factory(),init_types_legacy(),init_logger(),init_common(),init_pouchdb_setup(),init_couch(),init_auth(),log3=t=>{logger.info(t)},CouchDBSyncStrategy=class{constructor(){__publicField2(this,"syncHandle")}setupRemoteDB(t){return t===GuestUsername||t.startsWith(GuestUsername)?getLocalUserDB(t):this.getUserDB(t)}getWriteDB(t){return t===GuestUsername||t.startsWith(GuestUsername)?getLocalUserDB(t):this.getUserDB(t)}startSync(t,n){t!==n&&(this.syncHandle=pouchdb_setup_default.sync(t,n,{live:!0,retry:!0}))}stopSync(){this.syncHandle&&(this.syncHandle.cancel(),this.syncHandle=void 0)}canCreateAccount(){return!0}canAuthenticate(){return!0}async createAccount(t,n){const i=await this.getCurrentUsername(),a=i.startsWith(GuestUsername);a&&logger.info(`Creating account for funnel user ${i} -> ${t}`);try{const s=await this.getRemoteCouchRootDB().signUp(t,n);if(s.ok){log3(`CREATEACCOUNT: Successfully created account for ${t}`);try{const t=await this.getRemoteCouchRootDB().logOut();log3(`CREATEACCOUNT: logged out: ${t.ok}`)}catch{}const s=await this.getRemoteCouchRootDB().logIn(t,n);if(log3(`CREATEACCOUNT: logged in as new user: ${s.ok}`),s.ok){if(a){logger.info(`Migrating data from funnel account ${i} to ${t}`);const n=await this.migrateFunnelData(i,t);n.success||logger.warn(`Migration failed: ${n.error}`)}return{status:Status.ok,error:void 0}}return{status:Status.error,error:"Failed to log in after account creation"}}return logger.warn(`Signup not OK: ${JSON.stringify(s)}`),{status:Status.error,error:"Account creation failed"}}catch(e){return"Document update conflict."===e.reason?{status:Status.error,error:"This username is taken!"}:(logger.error(`Error on signup: ${JSON.stringify(e)}`),{status:Status.error,error:e.message||"Unknown error during account creation"})}}async authenticate(t,n){try{return(await this.getRemoteCouchRootDB().logIn(t,n)).ok?(log3(`Successfully logged in as ${t}`),{ok:!0}):(log3(`Login failed for ${t}`),{ok:!1,error:"Invalid username or password"})}catch(i){return logger.error(`Authentication error for ${t}:`,i),{ok:!1,error:i.message||"Authentication failed"}}}async logout(){try{const t=await this.getRemoteCouchRootDB().logOut();return{ok:t.ok,error:t.ok?void 0:"Logout failed"}}catch(t){return logger.error("Logout error:",t),{ok:!1,error:t.message||"Logout failed"}}}async getCurrentUsername(){logger.log("[funnel] CouchDBSyncStrategy.getCurrentUsername() called");try{const t=await getLoggedInUsername();return logger.log("[funnel] getLoggedInUsername() returned:",t),t}catch(e){logger.log("[funnel] getLoggedInUsername() failed, calling accomodateGuest()"),logger.log("[funnel] Error was:",e);const n=accomodateGuest();return logger.log("[funnel] accomodateGuest() returned:",n),n.username}}async migrateFunnelData(t,n){try{logger.info(`Starting data migration from ${t} to ${n}`);const i=getLocalUserDB(t),a=getLocalUserDB(n),s=await i.allDocs({include_docs:!0});logger.info(`Found ${s.rows.length} documents in funnel account`);const l=s.rows.filter((t=>!t.id.startsWith("_design/"))).map((t=>({...t.doc,_rev:void 0})));return l.length>0?(await a.bulkDocs(l),logger.info(`Successfully migrated ${l.length} documents from ${t} to ${n}`)):logger.info("No documents to migrate from funnel account"),{success:!0}}catch(i){return logger.error("Migration failed:",i),{success:!1,error:i instanceof Error?i.message:"Unknown error"}}}getRemoteCouchRootDB(){const t=ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"skuilder";try{return new pouchdb_setup_default(t,{skip_setup:!0})}catch(n){throw logger.error("Failed to initialize remote CouchDB connection:",n),new Error(`Failed to initialize CouchDB: ${JSON.stringify(n)}`)}}getUserDB(t){const n=`userdb-${hexEncode(t)}`;log3(`Fetching user database: ${n} (${t})`);return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig())}}}}),isBrowser$1,GUEST_LOCAL_DB,pouchDBincludeCredentialsConfig,REVIEW_TIME_FORMAT2;function createPouchDBConfig(){const t=ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD,n="undefined"==typeof window;return t&&n?{fetch(t,n={}){const i=btoa(`${ENV.COUCHDB_USERNAME}:${ENV.COUCHDB_PASSWORD}`),a=new Headers(n.headers||{});a.set("Authorization",`Basic ${i}`);const s={...n,headers:a};return pouchdb_setup_default.fetch(t,s)}}:pouchDBincludeCredentialsConfig}function getCourseDB2(t){return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"coursedb-"+t,createPouchDBConfig())}function getCourseDocs(t,n,i={}){return getCourseDB2(t).allDocs({...i,keys:n})}function getCourseDoc(t,n,i={}){return getCourseDB2(t).get(n,i)}function filterAllDocsByPrefix2(t,n,i){const a={startkey:n,endkey:n+"￰",include_docs:!0};return t.allDocs(a)}function getStartAndEndKeys2(t){return{startkey:t,endkey:t+"￰"}}var init_couch=__esm({"src/impl/couch/index.ts"(){init_factory(),init_types_legacy(),init_logger(),init_pouchdb_setup(),init_contentSource(),init_adminDB2(),init_classroomDB2(),init_courseAPI(),init_courseDB(),init_CouchDBSyncStrategy(),(isBrowser$1="undefined"!=typeof window)&&(window.process=process2),new pouchdb_setup_default(GUEST_LOCAL_DB=`userdb-${GuestUsername}`),pouchDBincludeCredentialsConfig={fetch:(t,n)=>(n.credentials="include",pouchdb_setup_default.fetch(t,n))},REVIEW_TIME_FORMAT2="YYYY-MM-DD--kk:mm:ss-SSS"}}),log4,BaseUser,userCoursesDoc,userClassroomsDoc;function accomodateGuest(){if(logger.log("[funnel] accomodateGuest() called"),"undefined"==typeof localStorage)return logger.log("[funnel] localStorage not available (Node.js environment), returning default guest"),{username:GuestUsername+"nodejs-test",firstVisit:!0};const t="sk-guest-uuid";let n;const i=localStorage.getItem(t);if(logger.log("[funnel] Checking localStorage for key:",t),logger.log("[funnel] Existing UUID value:",i),logger.log("[funnel] existingUUID !== null:",null!==i),null!==i)n=!1,logger.log(`[funnel] Returning guest ${i} "logging in".`);else{n=!0,logger.log("[funnel] No existing UUID, generating new one...");const i=function(){if(logger.log("[funnel] Inside generateUUID()"),"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID){const t=crypto.randomUUID();return logger.log("[funnel] Generated UUID using crypto.randomUUID():",t),t}if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){const t=new Uint8Array(16);crypto.getRandomValues(t),t[6]=15&t[6]|64,t[8]=63&t[8]|128;const n=[Array.from(t.slice(0,4)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(4,6)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(6,8)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(8,10)).map((t=>t.toString(16).padStart(2,"0"))).join(""),Array.from(t.slice(10,16)).map((t=>t.toString(16).padStart(2,"0"))).join("")].join("-");return logger.log("[funnel] Generated UUID using crypto.getRandomValues():",n),n}logger.warn("[funnel] crypto API not available, using timestamp-based UUID (NOT SECURE)");let t=(new Date).getTime();"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now());const n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n=>{const i=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===n?i:3&i|8).toString(16)}));return logger.log("[funnel] Generated UUID (fallback):",n),n}();logger.log("[funnel] Generated UUID:",i),logger.log("[funnel] UUID length:",i.length);try{localStorage.setItem(t,i),logger.log("[funnel] Successfully stored UUID in localStorage");const n=localStorage.getItem(t);logger.log("[funnel] Verification read from localStorage:",n)}catch(e){logger.error("[funnel] ERROR storing UUID:",e)}logger.log(`[funnel] Accommodating a new guest with account: ${i}`)}const a=localStorage.getItem(t),s=GuestUsername+a;return logger.log("[funnel] Final UUID from localStorage:",a),logger.log("[funnel] GuestUsername constant:",GuestUsername),logger.log("[funnel] Final username to return:",s),{username:s,firstVisit:n}}async function getOrCreateClassroomRegistrationsDoc(t){let n;try{n=await getLocalUserDB(t).get(userClassroomsDoc)}catch(e){const a=e;if(404!==a.status){const t={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (standalone function):",t),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await getLocalUserDB(t).put({_id:userClassroomsDoc,registrations:[]}),n=await getOrCreateClassroomRegistrationsDoc(t)}return n}async function getOrCreateCourseRegistrationsDoc(t){let n;try{n=await getLocalUserDB(t).get(userCoursesDoc)}catch(e){if(404!==e.status)throw new Error(`Unexpected error ${JSON.stringify(e)} in getOrCreateCourseRegistrationDoc...`);await getLocalUserDB(t).put({_id:userCoursesDoc,courses:[],studyWeight:{}}),n=await getOrCreateCourseRegistrationsDoc(t)}return n}async function updateUserElo(t,n,i){const a=await getOrCreateCourseRegistrationsDoc(t);return a.courses.find((t=>t.courseID===n)).elo=i,getLocalUserDB(t).put(a)}async function registerUserForClassroom$1(t,n,i){return log4(`Registering user: ${t} in course: ${n}`),getOrCreateClassroomRegistrationsDoc(t).then((a=>{const s={classID:n,registeredAs:i};return 0===a.registrations.filter((t=>t.classID===s.classID&&t.registeredAs===s.registeredAs)).length?a.registrations.push(s):log4(`User ${t} is already registered for class ${n}`),getLocalUserDB(t).put(a)}))}async function dropUserFromClassroom(t,n){return getOrCreateClassroomRegistrationsDoc(t).then((i=>{let a=-1;for(let t=0;t<i.registrations.length;t++)i.registrations[t].classID===n&&(a=t);return-1!==a&&i.registrations.splice(a,1),getLocalUserDB(t).put(i)}))}async function getUserClassrooms(t){return getOrCreateClassroomRegistrationsDoc(t)}var init_BaseUserDB=__esm({"src/impl/common/BaseUserDB.ts"(){var t;init_core(),init_util(),init_types_legacy(),init_logger(),init_userDBHelpers(),init_updateQueue(),init_user_course_relDB(),init_couch(),log4=t=>{logger.info(t)},t=class{constructor(n,i){__publicField2(this,"_username"),__publicField2(this,"syncStrategy"),__publicField2(this,"localDB"),__publicField2(this,"remoteDB"),__publicField2(this,"writeDB"),__publicField2(this,"updateQueue"),t._initialized=!1,this._username=n,this.syncStrategy=i,this.setDBandQ()}static Dummy(n){return new t("Me",n)}getUsername(){return this._username}isLoggedIn(){return!this._username.startsWith(GuestUsername)}remote(){return this.remoteDB}async createAccount(t,n){if(!this.syncStrategy.canCreateAccount())throw new Error("Account creation not supported by current sync strategy");if(!this._username.startsWith(GuestUsername))throw new Error(`Cannot create a new account while logged in:\nCurrently logged-in as ${this._username}.`);const i=await this.syncStrategy.createAccount(t,n);if(i.status===Status.ok){log4(`Account created successfully, updating username to ${t}`),this._username=t;try{localStorage.removeItem("sk-guest-uuid")}catch(e){logger.warn("localStorage not available (Node.js environment):",e)}await this.init()}return{status:i.status,error:i.error||""}}async login(t,n){if(!this.syncStrategy.canAuthenticate())throw new Error("Authentication not supported by current sync strategy");if(!this._username.startsWith(GuestUsername)&&this._username!=t){if(this._username!=t)throw new Error(`Cannot change accounts while logged in.\n Log out of account ${this.getUsername()} before logging in as ${t}.`);logger.warn(`User ${this._username} is already logged in, but executing login again.`)}const i=await this.syncStrategy.authenticate(t,n);if(i.ok){log4(`Logged in as ${t}`),this._username=t;try{localStorage.removeItem("sk-guest-uuid")}catch(e){logger.warn("localStorage not available (Node.js environment):",e)}await this.init()}return i}async resetUserData(){if(this.syncStrategy.canAuthenticate())return{status:Status.error,error:"Reset user data is only available for local-only mode. Use logout instead for remote sync."};try{const n=getLocalUserDB(this._username),i=(await n.allDocs({include_docs:!1})).rows.filter((n=>{const i=n.id;return i.startsWith(DocTypePrefixes.CARDRECORD)||i.startsWith(DocTypePrefixes.SCHEDULED_CARD)||i===t.DOC_IDS.COURSE_REGISTRATIONS||i===t.DOC_IDS.CLASSROOM_REGISTRATIONS||i===t.DOC_IDS.CONFIG})).map((t=>({_id:t.id,_rev:t.value.rev,_deleted:!0})));return i.length>0&&await n.bulkDocs(i),await this.init(),{status:Status.ok}}catch(n){return logger.error("Failed to reset user data:",n),{status:Status.error,error:n instanceof Error?n.message:"Unknown error during reset"}}}async logout(){if(!this.syncStrategy.canAuthenticate())return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),{ok:!0};const t=await this.syncStrategy.logout();return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),t}async get(t){return this.localDB.get(t)}update(t,n){return this.updateQueue.update(t,n)}async getCourseRegistrationsDoc(){let n;logger.debug(`Fetching courseRegistrations for ${this.getUsername()}`);try{return await this.localDB.get(t.DOC_IDS.COURSE_REGISTRATIONS)}catch(e){if(404!==e.status)throw new Error(`Unexpected error ${JSON.stringify(e)} in getOrCreateCourseRegistrationDoc...`);await this.localDB.put({_id:t.DOC_IDS.COURSE_REGISTRATIONS,courses:[],studyWeight:{}}),n=await this.getCourseRegistrationsDoc()}return n}async getActiveCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((t=>void 0===t.status||"active"===t.status))}async getActiveCards(){const t=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD);return(await this.remoteDB.allDocs({startkey:t.startkey,endkey:t.endkey,include_docs:!0})).rows.map((t=>({courseID:t.doc.courseId,cardID:t.doc.cardId})))}async getActivityRecords(){try{const n=await this.getHistory(),i=[];if(!Array.isArray(n))return logger.error("getHistory did not return an array:",n),i;let a=0;for(let s=0;s<n.length;s++)try{n[s]&&Array.isArray(n[s].records)&&n[s].records.forEach((t=>{try{if(!t.timeStamp)return;let n;if("object"==typeof t.timeStamp)if("function"==typeof t.timeStamp.toDate)n=t.timeStamp.toISOString();else{if(!(t.timeStamp instanceof Date))return void(a<3&&(logger.warn("Unknown timestamp object type:",t.timeStamp),a++));n=t.timeStamp.toISOString()}else if("string"==typeof t.timeStamp){const i=new Date(t.timeStamp);if(isNaN(i.getTime()))return;n=t.timeStamp}else{if("number"!=typeof t.timeStamp)return;n=new Date(t.timeStamp).toISOString()}i.push({timeStamp:n,courseID:t.courseID||"unknown",cardID:t.cardID||"unknown",timeSpent:t.timeSpent||0,type:"card_view"})}catch(n){}}))}catch(t){logger.error("Error processing history item:",t)}return logger.debug(`Found ${i.length} activity records`),i}catch(t){return logger.error("Error in getActivityRecords:",t),[]}}async getReviewstoDate(t,n){const i=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD),a=await this.remoteDB.allDocs({startkey:i.startkey,endkey:i.endkey,include_docs:!0});return log4(`Fetching ${this._username}'s scheduled reviews${n?` for course ${n}`:""}.`),a.rows.filter((i=>{if(i.id.startsWith(DocTypePrefixes.SCHEDULED_CARD)){const a=hooks$3.utc(i.id.substr(DocTypePrefixes.SCHEDULED_CARD.length),REVIEW_TIME_FORMAT);if(t.isAfter(a)&&(void 0===n||i.doc.courseId===n))return!0}})).map((t=>t.doc))}async getReviewsForcast(t){const n=hooks$3.utc().add(t,"days");return this.getReviewstoDate(n)}async getPendingReviews(t){const n=hooks$3.utc();return this.getReviewstoDate(n,t)}async getScheduledReviewCount(t){return(await this.getPendingReviews(t)).length}async getRegisteredCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((t=>!t.status||"active"===t.status||"maintenance-mode"===t.status))}async getCourseRegDoc(t){const n=(await this.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===t));if(n)return n;throw new Error(`Course registration not found for course ID: ${t}`)}async registerForCourse(t,n=!1){return this.getCourseRegistrationsDoc().then((i=>{const a=n?"preview":"active";logger.debug(`Registering for ${t} with status: ${a}`);const s={status:a,courseID:t,user:!0,admin:!1,moderator:!1,elo:{global:{score:1e3,count:0},tags:{},misc:{}}};return 0===i.courses.filter((t=>t.courseID===s.courseID)).length?(log4("It's a new course registration!"),i.courses.push(s),i.studyWeight[t]=1):i.courses.forEach((n=>{log4("Found the previously registered course!"),n.courseID===t&&(n.status=a)})),this.localDB.put(i)})).catch((t=>{throw log4(`Registration failed because of: ${JSON.stringify(t)}`),t}))}async dropCourse(t,n="dropped"){return this.getCourseRegistrationsDoc().then((i=>{let a=-1;for(let n=0;n<i.courses.length;n++)i.courses[n].courseID===t&&(a=n);if(-1===a)throw new Error(`User ${this.getUsername()} is not currently registered for course ${t}`);return delete i.studyWeight[t],i.courses[a].status=n,this.localDB.put(i)}))}async getCourseInterface(t){return new UsrCrsData(this,t)}async getUserEditableCourses(){let t=[];const n=await this.getCourseRegistrationsDoc();t=t.concat(n.courses.map((t=>t.courseID)));return await Promise.all(t.map((async t=>await getCredentialledCourseConfig(t))))}async getConfig(){const n={_id:t.DOC_IDS.CONFIG,darkMode:!1,likesConfetti:!1,sessionTimeLimit:5};try{const n=await this.localDB.get(t.DOC_IDS.CONFIG);return logger.debug("Raw config from DB:",n),n}catch(e){const i=e;if(i.name&&"not_found"===i.name)return await this.localDB.put(n),this.getConfig();throw logger.error("Error setting user default config:",e),new Error(`Error returning the user's configuration: ${JSON.stringify(e)}`)}}async setConfig(t){logger.debug(`Setting Config items ${JSON.stringify(t)}`);const n=await this.getConfig(),i=await this.localDB.put({...n,...t});i.ok?logger.debug(`Config items set: ${JSON.stringify(t)}`):logger.error(`Error setting config items: ${JSON.stringify(i)}`)}static async instance(n,i){if(i)return t._instance=new t(i,n),await t._instance.init(),t._instance;if(t._instance&&t._initialized)return t._instance;if(t._instance)return new Promise((n=>{!function i(){if(t._initialized)return n(t._instance);setTimeout(i,50)}()}));{const i=await n.getCurrentUsername();return t._instance=new t(i,n),await t._instance.init(),t._instance}}setDBandQ(){this.localDB=getLocalUserDB(this._username),this.remoteDB=this.syncStrategy.setupRemoteDB(this._username),this.writeDB=this.syncStrategy.getWriteDB?this.syncStrategy.getWriteDB(this._username):this.localDB,this.updateQueue=new UpdateQueue(this.localDB,this.writeDB)}async init(){t._initialized=!1,"admin"!==this._username?(this.setDBandQ(),this.syncStrategy.startSync(this.localDB,this.remoteDB),this.applyDesignDocs().catch((t=>{log4(`Error in applyDesignDocs background task: ${t}`),t&&"object"==typeof t&&log4(`Full error details in applyDesignDocs: ${JSON.stringify(t)}`)})),this.deduplicateReviews().catch((t=>{log4(`Error in deduplicateReviews background task: ${t}`),t&&"object"==typeof t&&log4(`Full error details in background task: ${JSON.stringify(t)}`)})),t._initialized=!0):t._initialized=!0}async applyDesignDocs(){if(log4(`Starting applyDesignDocs for user: ${this._username}`),log4(`Remote DB name: ${this.remoteDB.name||"unknown"}`),"admin"!==this._username){log4(`Applying ${t.designDocs.length} design docs`);for(const i of t.designDocs){log4(`Applying design doc: ${i._id}`);try{try{const t=await this.remoteDB.get(i._id);await this.remoteDB.put({...i,_rev:t._rev})}catch(e){if(!(e instanceof Error&&"not_found"===e.name))throw e;await this.remoteDB.put(i)}}catch(n){if(!n.name||"conflict"!==n.name)throw logger.error(`Failed to apply design doc ${i._id}:`,n),n;logger.warn(`Design doc ${i._id} update conflict - will retry`),await new Promise((t=>setTimeout(t,1e3))),await this.applyDesignDoc(i)}}}else log4("Skipping design docs for admin user")}async applyDesignDoc(t,n=3){try{const n=await this.remoteDB.get(t._id);await this.remoteDB.put({...t,_rev:n._rev})}catch(e){if(e instanceof Error&&"conflict"===e.name&&n>0)return await new Promise((t=>setTimeout(t,1e3))),this.applyDesignDoc(t,n-1);throw e}}async putCardRecord(t){const n=getCardHistoryID(t.courseID,t.cardID);t.timeStamp=hooks$3.utc(t.timeStamp).toString();try{const i=await this.update(n,(function(n){return n.records.push(t),n.bestInterval=n.bestInterval||0,n.lapses=n.lapses||0,n.streak=n.streak||0,n}));return i.records=i.records.map((t=>{const n={...t};return n.timeStamp=hooks$3.utc(t.timeStamp),n})),i}catch(e){const s=e;if(404!==s.status)throw new Error(`putCardRecord failed because of:\n name:${s.name}\n error: ${s.error}\n message: ${s.message}`);try{const i={_id:n,cardID:t.cardID,courseID:t.courseID,records:[t],lapses:0,streak:0,bestInterval:0},a=await this.writeDB.put(i);return{...i,_rev:a.rev}}catch(i){throw new Error(`Failed to create CardHistory for ${n}. Reason: ${i}`)}}}async deduplicateReviews(){try{log4("Starting deduplication of scheduled reviews..."),log4(`Remote DB name: ${this.remoteDB.name||"unknown"}`),log4(`Write DB name: ${this.writeDB.name||"unknown"}`);const t={},n=[];log4(`Attempting to query remoteDB for reviewCards/reviewCards. Database: ${this.remoteDB.name||"unknown"}`);const i=await this.remoteDB.query("reviewCards/reviewCards");if(log4(`Found ${i.rows.length} scheduled reviews to process`),i.rows.forEach((i=>{const a=i.value,s=i.key;t[a]?(log4(`Found duplicate scheduled review for card: ${a}`),log4(`Marking earlier review ${t[a]} for deletion, keeping ${s}`),n.push(t[a]),t[a]=s):t[a]=s})),n.length>0){log4(`Removing ${n.length} duplicate reviews...`);const t=n.map((async t=>{try{const n=await this.remoteDB.get(t);await this.writeDB.remove(n),log4(`Successfully removed duplicate review: ${t}`)}catch(n){log4(`Failed to remove duplicate review ${t}: ${n}`)}}));await Promise.all(t),log4(`Deduplication complete. Processed ${n.length} duplicates`)}else log4("No duplicate reviews found")}catch(t){log4(`Error during review deduplication: ${t}`),t&&"object"==typeof t&&"status"in t&&404===t.status&&(log4(`Database not found (404) during review deduplication. Database: ${this.remoteDB.name||"unknown"}`),log4("This might indicate the user database doesn't exist or the reviewCards view isn't available")),t&&"object"==typeof t&&log4(`Full error details: ${JSON.stringify(t)}`)}}async getSeenCards(t){let n=DocTypePrefixes.CARDRECORD;t&&(n+=t);const i=await filterAllDocsByPrefix(this.localDB,n,{include_docs:!1}),a=[];return i.rows.forEach((t=>{t.id.startsWith(DocTypePrefixes.CARDRECORD)&&a.push(t.id.substr(DocTypePrefixes.CARDRECORD.length))})),a}async getHistory(){return(await filterAllDocsByPrefix(this.remoteDB,DocTypePrefixes.CARDRECORD,{include_docs:!0,attachments:!1})).rows.map((t=>t.doc))}async updateCourseSettings(t,n){this.getCourseRegistrationsDoc().then((i=>{const a=i.courses.find((n=>n.courseID===t));return a&&(null!==a.settings&&void 0!==a.settings||(a.settings={}),n.forEach((t=>{a.settings[t.key]=t.value}))),this.localDB.put(i)}))}async getCourseSettings(t){const n=(await this.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===t));if(n)return n.settings;throw new Error(`getCourseSettings Failed:\n User is not registered for course ${t}`)}async getOrCreateClassroomRegistrationsDoc(){let n;try{n=await this.remoteDB.get(t.DOC_IDS.CLASSROOM_REGISTRATIONS)}catch(e){const a=e;if(404!==a.status){const t={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (private method):",t),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await this.writeDB.put({_id:t.DOC_IDS.CLASSROOM_REGISTRATIONS,registrations:[]}),n=await this.getOrCreateClassroomRegistrationsDoc()}return logger.debug(`Returning classroom registrations doc: ${JSON.stringify(n)}`),n}async getActiveClasses(){try{return(await this.getOrCreateClassroomRegistrationsDoc()).registrations.filter((t=>"student"===t.registeredAs)).map((t=>t.classID))}catch(t){return logger.warn("Failed to load classroom registrations, continuing without classroom data:",t),[]}}async scheduleCardReview(t){return scheduleCardReviewLocal(this.writeDB,t)}async removeScheduledCardReview(t){return removeScheduledCardReviewLocal(this.writeDB,t)}async registerForClassroom(t,n){return registerUserForClassroom$1(this._username,t,n)}async dropFromClassroom(t){return dropUserFromClassroom(this._username,t)}async getUserClassrooms(){return getUserClassrooms(this._username)}async updateUserElo(t,n){return updateUserElo(this._username,t,n)}},__publicField2(t,"_instance"),__publicField2(t,"_initialized",!1),__publicField2(t,"DOC_IDS",{CONFIG:"CONFIG",COURSE_REGISTRATIONS:"CourseRegistrations",CLASSROOM_REGISTRATIONS:"ClassroomRegistrations"}),__publicField2(t,"designDocs",[{_id:"_design/reviewCards",views:{reviewCards:{map:"function (doc) {\n if (doc._id && doc._id.indexOf('card_review') === 0 && doc.courseId && doc.cardId) {\n emit(doc._id, doc.courseId + '-' + doc.cardId);\n }\n }"}}}]),BaseUser=t,userCoursesDoc="CourseRegistrations",userClassroomsDoc="ClassroomRegistrations"}}),init_common=__esm({"src/impl/common/index.ts"(){init_SyncStrategy(),init_BaseUserDB(),init_userDBHelpers()}}),PouchDataLayerProvider_exports={},CouchDataLayerProvider;__export(PouchDataLayerProvider_exports,{CouchDataLayerProvider:()=>CouchDataLayerProvider});var init_PouchDataLayerProvider=__esm({"src/impl/couch/PouchDataLayerProvider.ts"(){init_logger(),init_dataDirectory(),init_auth(),init_adminDB2(),init_classroomDB2(),init_courseDB(),init_common(),init_CouchDBSyncStrategy(),CouchDataLayerProvider=class{constructor(t){__publicField2(this,"initialized",!1),__publicField2(this,"userDB"),__publicField2(this,"currentUsername",""),__publicField2(this,"_courseIDs",[]),t&&(this._courseIDs=t)}async initialize(){if(this.initialized)return;if("undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node){logger.info("CouchDataLayerProvider: Running in Node.js environment, creating guest UserDB for testing."),await initializeDataDirectory();const t=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(t)}else{const t=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(t),this.currentUsername=this.userDB.getUsername(),logger.debug(`Current username: ${this.currentUsername}`)}this.initialized=!0}async teardown(){this.initialized=!1}getUserDB(){return this.userDB}getCourseDB(t){return new CourseDB(t,(async()=>this.getUserDB()))}getCoursesDB(){return new CoursesDB(this._courseIDs)}async getClassroomDB(t,n){return"student"===n?await StudentClassroomDB.factory(t,this.getUserDB()):await TeacherClassroomDB.factory(t)}getAdminDB(){return new AdminDB}async createUserReaderForUser(t){const n=await getLoggedInUsername();if("admin"!==n)throw new Error("Unauthorized: Only admin users can access other users' data");logger.info(`Admin user '${n}' requesting UserDBReader for '${t}'`);const i=new CouchDBSyncStrategy;return await BaseUser.instance(i,t)}isReadOnly(){return!1}}}}),StaticDataLayerProvider_exports={},StaticDataLayerProvider,NOT_SET,ENV,dataLayerInstance;async function initializeDataLayer(t){if(dataLayerInstance)return logger.warn("Data layer already initialized. Returning existing instance."),dataLayerInstance;t.options.localStoragePrefix&&(ENV.LOCAL_STORAGE_PREFIX=t.options.localStoragePrefix);{if(!t.options.COUCHDB_SERVER_URL||!t.options.COUCHDB_SERVER_PROTOCOL)throw new Error("Missing CouchDB server URL or protocol");if(ENV.COUCHDB_SERVER_PROTOCOL=t.options.COUCHDB_SERVER_PROTOCOL,ENV.COUCHDB_SERVER_URL=t.options.COUCHDB_SERVER_URL,ENV.COUCHDB_USERNAME=t.options.COUCHDB_USERNAME,ENV.COUCHDB_PASSWORD=t.options.COUCHDB_PASSWORD,t.options.COUCHDB_PASSWORD&&t.options.COUCHDB_USERNAME&&"undefined"!=typeof window){const{CouchDBSyncStrategy:n}=await Promise.resolve().then((()=>(init_CouchDBSyncStrategy(),CouchDBSyncStrategy_exports))),i=new n,a=await BaseUser.instance(i,t.options.COUCHDB_USERNAME),s=await a.login(t.options.COUCHDB_USERNAME,t.options.COUCHDB_PASSWORD);s.ok?logger.info(`Successfully authenticated as ${t.options.COUCHDB_USERNAME}`):logger.warn(`Authentication failed: ${s.error}`)}const{CouchDataLayerProvider:n}=await Promise.resolve().then((()=>(init_PouchDataLayerProvider(),PouchDataLayerProvider_exports)));dataLayerInstance=new n(t.options.COURSE_IDS)}return await dataLayerInstance.initialize(),dataLayerInstance}function getDataLayer(){if(!dataLayerInstance)throw new Error("Data layer not initialized. Call initializeDataLayer first.");return dataLayerInstance}__export(StaticDataLayerProvider_exports,{StaticDataLayerProvider:()=>StaticDataLayerProvider});var init_factory=__esm({"src/factory.ts"(){init_common(),init_logger(),ENV={COUCHDB_SERVER_PROTOCOL:NOT_SET="NOT_SET",COUCHDB_SERVER_URL:NOT_SET,LOCAL_STORAGE_PREFIX:""},dataLayerInstance=null}});function isReview(t){return"review"===t.status||"failed-review"===t.status||"reviewID"in t}async function getStudySource(t,n){return"classroom"===t.type?await StudentClassroomDB.factory(t.id,n):getDataLayer().getCourseDB(t.id)}var init_contentSource=__esm({"src/core/interfaces/contentSource.ts"(){init_factory(),init_classroomDB2()}}),init_courseDB3=__esm({"src/core/interfaces/courseDB.ts"(){}}),init_dataLayerProvider=__esm({"src/core/interfaces/dataLayerProvider.ts"(){}}),init_userDB=__esm({"src/core/interfaces/userDB.ts"(){}}),init_interfaces=__esm({"src/core/interfaces/index.ts"(){init_adminDB(),init_classroomDB(),init_contentSource(),init_courseDB3(),init_dataLayerProvider(),init_userDB()}}),init_user=__esm({"src/core/types/user.ts"(){}});async function importParsedCards(t,n,i){const a=[];for(const l of t)try{const t=await processCard(l,n,i);a.push(t)}catch(s){logger.error("Error processing card:",s);let t=l.markdown;l.tags&&l.tags.length>0&&(t+=`\ntags: ${l.tags.join(", ")}`),void 0!==l.elo&&(t+=`\nelo: ${l.elo}`),a.push({originalText:t,status:"error",message:`Error processing card: ${s instanceof Error?s.message:"Unknown error"}`})}return a}async function processCard(t,n,i){const{markdown:a,tags:s,elo:l}=t;let c=a;s.length>0&&(c+=`\ntags: ${s.join(", ")}`),void 0!==l&&(c+=`\nelo: ${l}`);const u={Input:a,Uploads:[]},d={};for(const m of s)d[m]={score:l||0,count:1};try{const t=await n.addNote(i.courseCode,i.dataShape,u,i.userName,s,void 0,l?{global:{score:l,count:1},tags:d,misc:{}}:void 0);return t.status===Status.ok?{originalText:c,status:"success",message:"Card added successfully.",cardId:t.id?t.id:"(unknown)"}:{originalText:c,status:"error",message:t.message||"Failed to add card to database. Unknown error."}}catch(f){return logger.error("Error adding note:",f),{originalText:c,status:"error",message:`Error adding card: ${f instanceof Error?f.message:"Unknown error"}`}}}function validateProcessorConfig(t){return t.dataShape?t.courseCode?t.userName?{isValid:!0}:{isValid:!1,errorMessage:"No user name provided for card processing"}:{isValid:!1,errorMessage:"No course code provided for card processing"}:{isValid:!1,errorMessage:"No data shape provided for card processing"}}var init_cardProcessor=__esm({"src/core/bulkImport/cardProcessor.ts"(){init_logger()}}),init_types=__esm({"src/core/bulkImport/types.ts"(){}}),init_bulkImport=__esm({"src/core/bulkImport/index.ts"(){init_cardProcessor(),init_types()}}),init_core=__esm({"src/core/index.ts"(){init_interfaces(),init_types_legacy(),init_user(),init_Loggable(),init_util(),init_navigators(),init_bulkImport()}});init_core(),init_courseLookupDB(),init_couch(),init_util(),init_logger();var duration=hooks$3.duration;function newInterval(t,n){return areQuestionRecords(n)?newQuestionInterval(t,n):1e5}function newQuestionInterval(t,n){const i=n.records,a=i[i.length-1],s=lastSuccessfulInterval(i);if(s>n.bestInterval&&(n.bestInterval=s,t.update(n._id,{bestInterval:s})),a.isCorrect){const t=Math.min(1,Math.max(0,a.performance));logger.debug(`Demontrated skill: \t${t}`);const i=s*(.75+t);if(n.lapses=getLapses(n.records),n.streak=getStreak(n.records),n.lapses&&n.streak&&n.bestInterval&&(n.lapses>=0||n.streak>=0)){const t=(n.lapses*i+n.streak*n.bestInterval)/(n.lapses+n.streak);return logger.debug(`Weighted average interval calculation:\n\t(${n.lapses} * ${i} + ${n.streak} * ${n.bestInterval}) / (${n.lapses} + ${n.streak}) = ${t}`),t}return i}return 0}function lastSuccessfulInterval(t){for(let n=t.length-1;n>=1;n--)if(0===t[n].priorAttemps&&t[n].isCorrect){const i=secondsBetween(t[n-1].timeStamp,t[n].timeStamp),a=Math.max(i,72e3);return logger.debug(`Last interval w/ this card was: ${i}s, returning ${a}s`),a}return getInitialInterval(t)}function getStreak(t){let n=0,i=t.length-1;for(;i>=0&&t[i].isCorrect;)i--,n++;return n}function getLapses(t){return t.filter((t=>!1===t.isCorrect)).length}function getInitialInterval(t){return logger.warn(`history of length: ${t.length} ignored!`),259200}function secondsBetween(t,n){t=hooks$3(t),n=hooks$3(n);return duration(n.diff(t)).asSeconds()}init_logger();var SrsService=class{constructor(t){__publicField2(this,"user"),this.user=t}async scheduleReview(t,n){const i=newInterval(this.user,t),a=hooks$3.utc().add(i,"seconds");isReview(n)&&(logger.info(`[SrsService] Removing previously scheduled review for: ${n.cardID}`),this.user.removeScheduledCardReview(n.reviewID)),this.user.scheduleCardReview({user:this.user.getUsername(),course_id:t.courseID,card_id:t.cardID,time:a,scheduledFor:n.contentSourceType,schedulingAgentId:n.contentSourceID})}};init_logger();var EloService=class{constructor(t,n){__publicField2(this,"dataLayer"),__publicField2(this,"user"),this.dataLayer=t,this.user=n}async updateUserAndCardElo(t,n,i,a,s,l){l&&logger.warn("k value interpretation not currently implemented");const c=this.dataLayer.getCourseDB(s.card.course_id),u=toCourseElo(a.courses.find((t=>t.courseID===n)).elo),d=(await c.getCardEloData([s.card.card_id]))[0];if(d&&u){const s=adjustCourseScores(u,d,t);a.courses.find((t=>t.courseID===n)).elo=s.userElo;const l=await Promise.allSettled([this.user.updateUserElo(n,s.userElo),c.updateCardElo(i,s.cardElo)]),f="fulfilled"===l[0].status,m="fulfilled"===l[1].status;if(f&&m){const t=l[0].value,n=l[1].value;t.ok&&n&&n.ok&&logger.info(`[EloService] Updated ELOS:\n \tUser: ${JSON.stringify(s.userElo)})\n \tCard: ${JSON.stringify(s.cardElo)})\n `)}else logger.warn(`[EloService] Partial ELO update:\n \tUser ELO update: ${f?"SUCCESS":"FAILED"}\n \tCard ELO update: ${m?"SUCCESS":"FAILED"}`),f||"rejected"!==l[0].status||logger.error("[EloService] User ELO update error:",l[0].reason),m||"rejected"!==l[1].status||logger.error("[EloService] Card ELO update error:",l[1].reason)}}};init_core(),init_logger();var ResponseProcessor=class{constructor(t,n){__publicField2(this,"srsService"),__publicField2(this,"eloService"),this.srsService=t,this.eloService=n}async processResponse(t,n,i,a,s,l,c,u,d,f){if(!isQuestionRecord(t))return{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,shouldClearFeedbackShadow:!0};const m=await n;return t.isCorrect?this.processCorrectResponse(t,m,i,a,s,l,c):this.processIncorrectResponse(t,m,a,s,l,c,u,d,f)}processCorrectResponse(t,n,i,a,s,l,c){if(0===t.priorAttemps){if(this.srsService.scheduleReview(n,i),1===n.records.length){const n=.5+t.performance/2;this.eloService.updateUserAndCardElo(n,l,c,a,s)}else{const i=Math.ceil(32/n.records.length),u=.5+t.performance/2;this.eloService.updateUserAndCardElo(u,l,c,a,s,i)}return logger.info("[ResponseProcessor] Processed correct response with SRS scheduling and ELO update"),{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:t.performance,shouldClearFeedbackShadow:!0}}return logger.info("[ResponseProcessor] Processed correct response (retry attempt - no scheduling/ELO)"),{nextCardAction:"marked-failed",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:t.performance,shouldClearFeedbackShadow:!0}}processIncorrectResponse(t,n,i,a,s,l,c,u,d){return 1!==n.records.length&&0===t.priorAttemps?(this.eloService.updateUserAndCardElo(0,s,l,i,a),logger.info("[ResponseProcessor] Processed incorrect response with ELO update")):logger.info("[ResponseProcessor] Processed incorrect response (no ELO update needed)"),a.records.length>=c?d>=u?(this.eloService.updateUserAndCardElo(0,s,l,i,a),{nextCardAction:"dismiss-failed",shouldLoadNextCard:!0,isCorrect:!1,shouldClearFeedbackShadow:!0}):{nextCardAction:"marked-failed",shouldLoadNextCard:!0,isCorrect:!1,shouldClearFeedbackShadow:!0}:{nextCardAction:"none",shouldLoadNextCard:!1,isCorrect:!1,shouldClearFeedbackShadow:!0}}};init_logger();var ItemQueue=class{constructor(){__publicField2(this,"q",[]),__publicField2(this,"seenCardIds",[]),__publicField2(this,"_dequeueCount",0)}get dequeueCount(){return this._dequeueCount}add(t,n){this.seenCardIds.find((t=>t===n))||(this.seenCardIds.push(n),this.q.push(t))}addAll(t,n){t.forEach((t=>this.add(t,n(t))))}get length(){return this.q.length}peek(t){return this.q[t]}dequeue(t){if(0!==this.q.length){this._dequeueCount++;const n=this.q.splice(0,1)[0];if(t){const i=t(n),a=this.seenCardIds.indexOf(i);a>-1&&this.seenCardIds.splice(a,1)}return n}return null}get toString(){return typeof this.q[0]+":\n"+this.q.map((t=>`\t${t.courseID}+${t.cardID}: ${t.status}`)).join("\n")}},CardHydrationService=class{constructor(t,n,i,a,s){__publicField2(this,"hydratedQ",new ItemQueue),__publicField2(this,"failedCardCache",new Map),__publicField2(this,"hydrationInProgress",!1),__publicField2(this,"BUFFER_SIZE",5),this.getViewComponent=t,this.getCourseDB=n,this.selectNextItemToHydrate=i,this.removeItemFromQueue=a,this.hasAvailableCards=s}dequeueHydratedCard(){return this.hydratedQ.dequeue((t=>t.item.cardID))}async ensureHydratedCards(){this.hydratedQ.length<3&&this.fillHydratedQueue()}async waitForHydratedCard(){for(0===this.hydratedQ.length&&this.hasAvailableCards()&&this.fillHydratedQueue();0===this.hydratedQ.length&&this.hasAvailableCards();)await new Promise((t=>setTimeout(t,25)));return this.dequeueHydratedCard()}get hydratedCount(){return this.hydratedQ.length}async fillHydratedQueue(){if(!this.hydrationInProgress){this.hydrationInProgress=!0;try{for(;this.hydratedQ.length<this.BUFFER_SIZE;){const t=this.selectNextItemToHydrate();if(!t)return;try{if(this.failedCardCache.has(t.cardID)){const n=this.failedCardCache.get(t.cardID);this.hydratedQ.add(n,n.item.cardID),this.failedCardCache.delete(t.cardID)}else{const n=this.getCourseDB(t.courseID),i=await n.getCourseDoc(t.cardID);isCourseElo(i.elo)||(i.elo=toCourseElo(i.elo));const a=this.getViewComponent(i.id_view),s=(await Promise.all(i.id_displayable_data.map((t=>n.getCourseDoc(t,{attachments:!0,binary:!0}))))).map(displayableDataToViewData).reverse();this.hydratedQ.add({item:t,view:a,data:s},t.cardID)}}catch(e){logger.error(`Error hydrating card ${t.cardID}:`,e)}finally{this.removeItemFromQueue(t)}}}finally{this.hydrationInProgress=!1}}}cacheFailedCard(t){this.failedCardCache.set(t.item.cardID,t)}};init_couch(),init_Loggable(),init_types_legacy(),init_logger(),init_logger(),init_logger();var nodeFS2=null;try{"undefined"==typeof window&&"undefined"!=typeof process&&process.versions?.node&&(nodeFS2=eval("require")("fs"),nodeFS2.promises=nodeFS2.promises||eval("require")("fs").promises)}catch{}var nodeFS3=null,nodePath=null;try{"undefined"==typeof window&&"undefined"!=typeof process&&process.versions?.node&&(nodeFS3=eval("require")("fs"),nodePath=eval("require")("path"),nodeFS3.promises=nodeFS3.promises||eval("require")("fs").promises)}catch{}function randomInt$3(t,n){return Math.floor(Math.random()*(n-t+1))+t}init_dataDirectory(),init_tuiLogger();var SessionController=class extends Loggable{constructor(t,n,i,a){super(),__publicField2(this,"_className","SessionController"),__publicField2(this,"services"),__publicField2(this,"srsService"),__publicField2(this,"eloService"),__publicField2(this,"hydrationService"),__publicField2(this,"sources"),__publicField2(this,"_sessionRecord",[]),__publicField2(this,"_currentCard",null),__publicField2(this,"reviewQ",new ItemQueue),__publicField2(this,"newQ",new ItemQueue),__publicField2(this,"failedQ",new ItemQueue),__publicField2(this,"startTime"),__publicField2(this,"endTime"),__publicField2(this,"_secondsRemaining"),__publicField2(this,"_intervalHandle"),this.srsService=new SrsService(i.getUserDB()),this.eloService=new EloService(i,i.getUserDB()),this.hydrationService=new CardHydrationService(a,(t=>i.getCourseDB(t)),(()=>this._selectNextItemToHydrate()),(t=>this.removeItemFromQueue(t)),(()=>this.hasAvailableCards())),this.services={response:new ResponseProcessor(this.srsService,this.eloService)},this.sources=t,this.startTime=new Date,this._secondsRemaining=n,this.endTime=new Date(this.startTime.valueOf()+1e3*this._secondsRemaining),this.log(`Session constructed:\n startTime: ${this.startTime}\n endTime: ${this.endTime}`)}set sessionRecord(t){this._sessionRecord=t}get secondsRemaining(){return this._secondsRemaining}get report(){return`${this.reviewQ.dequeueCount} reviews, ${this.newQ.dequeueCount} new cards`}get detailedReport(){return this.newQ.toString+"\n"+this.reviewQ.toString+"\n"+this.failedQ.toString}tick(){this._secondsRemaining=Math.floor((this.endTime.valueOf()-Date.now())/1e3),this._secondsRemaining<=0&&clearInterval(this._intervalHandle)}estimateCleanupTime(){let t=0;for(let i=0;i<this.failedQ.length;i++){const n=this.failedQ.peek(i),a=this._sessionRecord.find((t=>t.item.cardID===n.cardID));let s=0;if(a){for(let t=0;t<a.records.length;t++)s+=a.records[t].timeSpent;s/=a.records.length,t+=s}}const n=t/1e3;return this.log(`Failed card cleanup estimate: ${Math.round(n)}`),n}estimateReviewTime(){const t=5*this.reviewQ.length;return this.log(`Review card time estimate: ${t}`),t}async prepareSession(){try{await Promise.all([this.getScheduledReviews(),this.getNewCards()])}catch(e){this.error("Error preparing study session:",e)}await this.hydrationService.ensureHydratedCards(),this._intervalHandle=setInterval((()=>{this.tick()}),1e3)}addTime(t){this.endTime=new Date(this.endTime.valueOf()+1e3*t)}get failedCount(){return this.failedQ.length}toString(){return`Session: ${this.reviewQ.length} Reviews, ${this.newQ.length} New, ${this.failedQ.length} failed`}reportString(){return`${this.reviewQ.dequeueCount} Reviews, ${this.newQ.dequeueCount} New, ${this.failedQ.dequeueCount} failed`}async getScheduledReviews(){const t=await Promise.all(this.sources.map((t=>t.getPendingReviews().catch((n=>(this.error(`Failed to get reviews for source ${t}:`,n),[])))))),n=[];for(;0!=t.length&&t.some((t=>t.length>0));){const i=randomInt$3(0,t.length-1),a=t[i];0!==a.length?n.push(a.shift()):t.splice(i,1)}let i="Review session created with:\n";this.reviewQ.addAll(n,(t=>t.cardID)),i+=n.map((t=>`Card ${t.courseID}::${t.cardID} `)).join("\n"),this.log(i)}async getNewCards(t=10){const n=Math.ceil(t/this.sources.length),i=await Promise.all(this.sources.map((t=>t.getNewCards(n))));for(i.forEach((t=>{t.filter((t=>void 0===this._sessionRecord.find((n=>n.card.card_id===t.cardID))))}));t>0&&i.some((t=>t.length>0));)for(let n=0;n<i.length;n++)if(i[n].length>0){const a=i[n].splice(0,1)[0];this.log(`Adding new card: ${a.courseID}::${a.cardID}`),this.newQ.add(a,a.cardID),t--}}_selectNextItemToHydrate(){const t=Math.random();let n=.1,i=.75;if(0===this.reviewQ.length&&0===this.failedQ.length&&0===this.newQ.length)return null;if(this._secondsRemaining<2&&0===this.failedQ.length)return null;if(this._secondsRemaining<=0)return this.failedQ.length>0?this.failedQ.peek(0):null;if(this.newQ.dequeueCount<this.sources.length&&this.newQ.length)return this.newQ.peek(0);const a=this.estimateCleanupTime(),s=this.estimateReviewTime();return this._secondsRemaining-(a+s)>20?(n=.5,i=.9):this._secondsRemaining-a>20?(n=.05,i=.9):(n=.01,i=.1),0===this.failedQ.length&&(i=1),0===this.reviewQ.length&&(n=i),t<n&&this.newQ.length?this.newQ.peek(0):t<i&&this.reviewQ.length?this.reviewQ.peek(0):this.failedQ.length?this.failedQ.peek(0):(this.log("No more cards available for the session!"),null)}async nextCard(t="dismiss-success"){if(this.dismissCurrentCard(t),this._secondsRemaining<=0&&0===this.failedQ.length)return this._currentCard=null,null;let n=this.hydrationService.dequeueHydratedCard();return!n&&this.hasAvailableCards()&&(n=await this.hydrationService.waitForHydratedCard()),await this.hydrationService.ensureHydratedCards(),this._currentCard=n||null,n}async submitResponse(t,n,i,a,s,l,c,u,d){const f={...a.item};return await this.services.response.processResponse(t,n,f,i,a,s,l,c,u,d)}dismissCurrentCard(t="dismiss-success"){if(this._currentCard)if("dismiss-success"===t);else if("marked-failed"===t){let t;this.hydrationService.cacheFailedCard(this._currentCard),t=isReview(this._currentCard.item)?{cardID:this._currentCard.item.cardID,courseID:this._currentCard.item.courseID,contentSourceID:this._currentCard.item.contentSourceID,contentSourceType:this._currentCard.item.contentSourceType,status:"failed-review",reviewID:this._currentCard.item.reviewID}:{cardID:this._currentCard.item.cardID,courseID:this._currentCard.item.courseID,contentSourceID:this._currentCard.item.contentSourceID,contentSourceType:this._currentCard.item.contentSourceType,status:"failed-new"},this.failedQ.add(t,t.cardID)}}hasAvailableCards(){return this.reviewQ.length>0||this.newQ.length>0||this.failedQ.length>0}removeItemFromQueue(t){this.reviewQ.peek(0)===t?this.reviewQ.dequeue((t=>t.cardID)):this.newQ.peek(0)===t?this.newQ.dequeue((t=>t.cardID)):this.failedQ.dequeue((t=>t.cardID))}};init_factory();const index$8=Object.freeze(Object.defineProperty({__proto__:null,get ContentNavigator(){return ContentNavigator},get CourseLookup(){return CourseLookup},get DocType(){return DocType},get DocTypePrefixes(){return DocTypePrefixes},get ENV(){return ENV},get GuestUsername(){return GuestUsername},get Loggable(){return Loggable},get NOT_SET(){return NOT_SET},get Navigators(){return Navigators},SessionController:SessionController,areQuestionRecords:areQuestionRecords,docIsDeleted:docIsDeleted,ensureAppDataDirectory:ensureAppDataDirectory,getAppDataDirectory:getAppDataDirectory,getCardHistoryID:getCardHistoryID,getDataLayer:getDataLayer,getDbPath:getDbPath,getStudySource:getStudySource,importParsedCards:importParsedCards,initializeDataDirectory:initializeDataDirectory,initializeDataLayer:initializeDataLayer,isQuestionRecord:isQuestionRecord,isReview:isReview,get logger(){return logger2},newInterval:newInterval,validateProcessorConfig:validateProcessorConfig},Symbol.toStringTag,{value:"Module"}));
31
31
  /*!
32
32
  * pinia v2.3.1
33
33
  * (c) 2025 Eduardo San Martin Morote
@@ -232,4 +232,4 @@ hooks.version="2.30.1",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min
232
232
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
233
233
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
234
234
  */function requireLodash(){return hasRequiredLodash||(hasRequiredLodash=1,t=lodash$1,n=lodash$1.exports,function(){var i,a="Expected a function",s="__lodash_hash_undefined__",l="__lodash_placeholder__",c=32,u=128,d=256,f=1/0,m=9007199254740991,g=NaN,v=4294967295,b=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",d]],w="[object Arguments]",k="[object Array]",S="[object Boolean]",C="[object Date]",E="[object Error]",T="[object Function]",P="[object GeneratorFunction]",I="[object Map]",A="[object Number]",D="[object Object]",O="[object Promise]",_e="[object RegExp]",be="[object Set]",we="[object String]",Se="[object Symbol]",$e="[object WeakMap]",xe="[object ArrayBuffer]",Ce="[object DataView]",Ee="[object Float32Array]",Ne="[object Float64Array]",Pe="[object Int8Array]",Ie="[object Int16Array]",Ae="[object Int32Array]",Me="[object Uint8Array]",Re="[object Uint8ClampedArray]",De="[object Uint16Array]",Oe="[object Uint32Array]",Ve=/\b__p \+= '';/g,Be=/\b(__p \+=) '' \+/g,Le=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Fe=/&(?:amp|lt|gt|quot|#39);/g,qe=/[&<>"']/g,Ue=RegExp(Fe.source),je=RegExp(qe.source),He=/<%-([\s\S]+?)%>/g,ze=/<%([\s\S]+?)%>/g,We=/<%=([\s\S]+?)%>/g,Ye=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ge=/^\w*$/,Ke=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qe=/[\\^$.*+?()[\]{}|]/g,Xe=RegExp(Qe.source),Ze=/^\s+/,Je=/\s/,et=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nt=/\{\n\/\* \[wrapped with (.+)\] \*/,rt=/,? & /,it=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,at=/[()=,{}\[\]\/\s]/,ot=/\\(\\)?/g,st=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,lt=/\w*$/,ct=/^[-+]0x[0-9a-f]+$/i,ut=/^0b[01]+$/i,dt=/^\[object .+?Constructor\]$/,ht=/^0o[0-7]+$/i,pt=/^(?:0|[1-9]\d*)$/,ft=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,gt=/['\n\r\u2028\u2029\\]/g,vt="\\ud800-\\udfff",yt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_t="\\u2700-\\u27bf",bt="a-z\\xdf-\\xf6\\xf8-\\xff",wt="A-Z\\xc0-\\xd6\\xd8-\\xde",kt="\\ufe0e\\ufe0f",St="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$t="['’]",xt="["+vt+"]",Ct="["+St+"]",Et="["+yt+"]",Tt="\\d+",Nt="["+_t+"]",Pt="["+bt+"]",It="[^"+vt+St+Tt+_t+bt+wt+"]",At="\\ud83c[\\udffb-\\udfff]",Mt="[^"+vt+"]",Rt="(?:\\ud83c[\\udde6-\\uddff]){2}",Dt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ot="["+wt+"]",Vt="\\u200d",Bt="(?:"+Pt+"|"+It+")",Lt="(?:"+Ot+"|"+It+")",Ft="(?:['’](?:d|ll|m|re|s|t|ve))?",qt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ut="(?:"+Et+"|"+At+")?",jt="["+kt+"]?",Ht=jt+Ut+"(?:"+Vt+"(?:"+[Mt,Rt,Dt].join("|")+")"+jt+Ut+")*",zt="(?:"+[Nt,Rt,Dt].join("|")+")"+Ht,Wt="(?:"+[Mt+Et+"?",Et,Rt,Dt,xt].join("|")+")",Yt=RegExp($t,"g"),Gt=RegExp(Et,"g"),Kt=RegExp(At+"(?="+At+")|"+Wt+Ht,"g"),Qt=RegExp([Ot+"?"+Pt+"+"+Ft+"(?="+[Ct,Ot,"$"].join("|")+")",Lt+"+"+qt+"(?="+[Ct,Ot+Bt,"$"].join("|")+")",Ot+"?"+Bt+"+"+Ft,Ot+"+"+qt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Tt,zt].join("|"),"g"),Xt=RegExp("["+Vt+vt+yt+kt+"]"),Zt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tn=-1,nn={};nn[Ee]=nn[Ne]=nn[Pe]=nn[Ie]=nn[Ae]=nn[Me]=nn[Re]=nn[De]=nn[Oe]=!0,nn[w]=nn[k]=nn[xe]=nn[S]=nn[Ce]=nn[C]=nn[E]=nn[T]=nn[I]=nn[A]=nn[D]=nn[_e]=nn[be]=nn[we]=nn[$e]=!1;var rn={};rn[w]=rn[k]=rn[xe]=rn[Ce]=rn[S]=rn[C]=rn[Ee]=rn[Ne]=rn[Pe]=rn[Ie]=rn[Ae]=rn[I]=rn[A]=rn[D]=rn[_e]=rn[be]=rn[we]=rn[Se]=rn[Me]=rn[Re]=rn[De]=rn[Oe]=!0,rn[E]=rn[T]=rn[$e]=!1;var an={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},sn=parseFloat,ln=parseInt,cn="object"==typeof window&&window&&window.Object===Object&&window,un="object"==typeof self&&self&&self.Object===Object&&self,dn=cn||un||Function("return this")(),hn=n&&!n.nodeType&&n,pn=hn&&t&&!t.nodeType&&t,fn=pn&&pn.exports===hn,mn=fn&&cn.process,gn=function(){try{var t=pn&&pn.require&&pn.require("util").types;return t||mn&&mn.binding&&mn.binding("util")}catch(e){}}(),vn=gn&&gn.isArrayBuffer,yn=gn&&gn.isDate,_n=gn&&gn.isMap,bn=gn&&gn.isRegExp,wn=gn&&gn.isSet,kn=gn&&gn.isTypedArray;function Sn(t,n,i){switch(i.length){case 0:return t.call(n);case 1:return t.call(n,i[0]);case 2:return t.call(n,i[0],i[1]);case 3:return t.call(n,i[0],i[1],i[2])}return t.apply(n,i)}function $n(t,n,i,a){for(var s=-1,l=null==t?0:t.length;++s<l;){var c=t[s];n(a,c,i(c),t)}return a}function xn(t,n){for(var i=-1,a=null==t?0:t.length;++i<a&&!1!==n(t[i],i,t););return t}function Cn(t,n){for(var i=null==t?0:t.length;i--&&!1!==n(t[i],i,t););return t}function En(t,n){for(var i=-1,a=null==t?0:t.length;++i<a;)if(!n(t[i],i,t))return!1;return!0}function Tn(t,n){for(var i=-1,a=null==t?0:t.length,s=0,l=[];++i<a;){var c=t[i];n(c,i,t)&&(l[s++]=c)}return l}function Nn(t,n){return!(null==t||!t.length)&&Ln(t,n,0)>-1}function Pn(t,n,i){for(var a=-1,s=null==t?0:t.length;++a<s;)if(i(n,t[a]))return!0;return!1}function In(t,n){for(var i=-1,a=null==t?0:t.length,s=Array(a);++i<a;)s[i]=n(t[i],i,t);return s}function An(t,n){for(var i=-1,a=n.length,s=t.length;++i<a;)t[s+i]=n[i];return t}function Mn(t,n,i,a){var s=-1,l=null==t?0:t.length;for(a&&l&&(i=t[++s]);++s<l;)i=n(i,t[s],s,t);return i}function Rn(t,n,i,a){var s=null==t?0:t.length;for(a&&s&&(i=t[--s]);s--;)i=n(i,t[s],s,t);return i}function Dn(t,n){for(var i=-1,a=null==t?0:t.length;++i<a;)if(n(t[i],i,t))return!0;return!1}var On=jn("length");function Vn(t,n,i){var a;return i(t,(function(t,i,s){if(n(t,i,s))return a=i,!1})),a}function Bn(t,n,i,a){for(var s=t.length,l=i+(a?1:-1);a?l--:++l<s;)if(n(t[l],l,t))return l;return-1}function Ln(t,n,i){return n==n?function(t,n,i){for(var a=i-1,s=t.length;++a<s;)if(t[a]===n)return a;return-1}(t,n,i):Bn(t,qn,i)}function Fn(t,n,i,a){for(var s=i-1,l=t.length;++s<l;)if(a(t[s],n))return s;return-1}function qn(t){return t!=t}function Un(t,n){var i=null==t?0:t.length;return i?Wn(t,n)/i:g}function jn(t){return function(n){return null==n?i:n[t]}}function Hn(t){return function(n){return null==t?i:t[n]}}function zn(t,n,i,a,s){return s(t,(function(t,s,l){i=a?(a=!1,t):n(i,t,s,l)})),i}function Wn(t,n){for(var a,s=-1,l=t.length;++s<l;){var c=n(t[s]);c!==i&&(a=a===i?c:a+c)}return a}function Yn(t,n){for(var i=-1,a=Array(t);++i<t;)a[i]=n(i);return a}function Gn(t){return t?t.slice(0,dr(t)+1).replace(Ze,""):t}function Kn(t){return function(n){return t(n)}}function Qn(t,n){return In(n,(function(n){return t[n]}))}function Xn(t,n){return t.has(n)}function Zn(t,n){for(var i=-1,a=t.length;++i<a&&Ln(n,t[i],0)>-1;);return i}function Jn(t,n){for(var i=t.length;i--&&Ln(n,t[i],0)>-1;);return i}var er=Hn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),nr=Hn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function rr(t){return"\\"+an[t]}function ir(t){return Xt.test(t)}function ar(t){var n=-1,i=Array(t.size);return t.forEach((function(t,a){i[++n]=[a,t]})),i}function or(t,n){return function(i){return t(n(i))}}function sr(t,n){for(var i=-1,a=t.length,s=0,c=[];++i<a;){var u=t[i];u!==n&&u!==l||(t[i]=l,c[s++]=i)}return c}function lr(t){var n=-1,i=Array(t.size);return t.forEach((function(t){i[++n]=t})),i}function cr(t){return ir(t)?function(t){for(var n=Kt.lastIndex=0;Kt.test(t);)++n;return n}(t):On(t)}function ur(t){return ir(t)?function(t){return t.match(Kt)||[]}(t):function(t){return t.split("")}(t)}function dr(t){for(var n=t.length;n--&&Je.test(t.charAt(n)););return n}var pr=Hn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),fr=function t(n){var Je,vt=(n=null==n?dn:fr.defaults(dn.Object(),n,fr.pick(dn,Jt))).Array,yt=n.Date,_t=n.Error,bt=n.Function,wt=n.Math,kt=n.Object,St=n.RegExp,$t=n.String,xt=n.TypeError,Ct=vt.prototype,Et=bt.prototype,Tt=kt.prototype,Nt=n["__core-js_shared__"],Pt=Et.toString,It=Tt.hasOwnProperty,At=0,Mt=(Je=/[^.]+$/.exec(Nt&&Nt.keys&&Nt.keys.IE_PROTO||""))?"Symbol(src)_1."+Je:"",Rt=Tt.toString,Dt=Pt.call(kt),Ot=dn._,Vt=St("^"+Pt.call(It).replace(Qe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Bt=fn?n.Buffer:i,Lt=n.Symbol,Ft=n.Uint8Array,qt=Bt?Bt.allocUnsafe:i,Ut=or(kt.getPrototypeOf,kt),jt=kt.create,Ht=Tt.propertyIsEnumerable,zt=Ct.splice,Wt=Lt?Lt.isConcatSpreadable:i,Kt=Lt?Lt.iterator:i,Xt=Lt?Lt.toStringTag:i,an=function(){try{var t=po(kt,"defineProperty");return t({},"",{}),t}catch(e){}}(),cn=n.clearTimeout!==dn.clearTimeout&&n.clearTimeout,un=yt&&yt.now!==dn.Date.now&&yt.now,hn=n.setTimeout!==dn.setTimeout&&n.setTimeout,pn=wt.ceil,mn=wt.floor,gn=kt.getOwnPropertySymbols,On=Bt?Bt.isBuffer:i,Hn=n.isFinite,mr=Ct.join,gr=or(kt.keys,kt),vr=wt.max,yr=wt.min,_r=yt.now,wr=n.parseInt,kr=wt.random,Sr=Ct.reverse,$r=po(n,"DataView"),xr=po(n,"Map"),Cr=po(n,"Promise"),Er=po(n,"Set"),Tr=po(n,"WeakMap"),Nr=po(kt,"create"),Pr=Tr&&new Tr,Ir={},Ar=jo($r),Mr=jo(xr),Rr=jo(Cr),Dr=jo(Er),Or=jo(Tr),Vr=Lt?Lt.prototype:i,Br=Vr?Vr.valueOf:i,Lr=Vr?Vr.toString:i;function Fr(t){if(sl(t)&&!Qs(t)&&!(t instanceof Hr)){if(t instanceof jr)return t;if(It.call(t,"__wrapped__"))return Ho(t)}return new jr(t)}var qr=function(){function t(){}return function(n){if(!ol(n))return{};if(jt)return jt(n);t.prototype=n;var a=new t;return t.prototype=i,a}}();function Ur(){}function jr(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}function Hr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=v,this.__views__=[]}function zr(t){var n=-1,i=null==t?0:t.length;for(this.clear();++n<i;){var a=t[n];this.set(a[0],a[1])}}function Wr(t){var n=-1,i=null==t?0:t.length;for(this.clear();++n<i;){var a=t[n];this.set(a[0],a[1])}}function Yr(t){var n=-1,i=null==t?0:t.length;for(this.clear();++n<i;){var a=t[n];this.set(a[0],a[1])}}function Gr(t){var n=-1,i=null==t?0:t.length;for(this.__data__=new Yr;++n<i;)this.add(t[n])}function Kr(t){var n=this.__data__=new Wr(t);this.size=n.size}function Qr(t,n){var i=Qs(t),a=!i&&Ks(t),s=!i&&!a&&el(t),l=!i&&!a&&!s&&ml(t),c=i||a||s||l,u=c?Yn(t.length,$t):[],d=u.length;for(var f in t)!n&&!It.call(t,f)||c&&("length"==f||s&&("offset"==f||"parent"==f)||l&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||wo(f,d))||u.push(f);return u}function Xr(t){var n=t.length;return n?t[Gi(0,n-1)]:i}function Zr(t,n){return Vo(Na(t),si(n,0,t.length))}function Jr(t){return Vo(Na(t))}function ei(t,n,a){(a!==i&&!Ws(t[n],a)||a===i&&!(n in t))&&ai(t,n,a)}function ti(t,n,a){var s=t[n];It.call(t,n)&&Ws(s,a)&&(a!==i||n in t)||ai(t,n,a)}function ni(t,n){for(var i=t.length;i--;)if(Ws(t[i][0],n))return i;return-1}function ri(t,n,i,a){return hi(t,(function(t,s,l){n(a,t,i(t),l)})),a}function ii(t,n){return t&&Pa(n,Vl(n),t)}function ai(t,n,i){"__proto__"==n&&an?an(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}function oi(t,n){for(var a=-1,s=n.length,l=vt(s),c=null==t;++a<s;)l[a]=c?i:Al(t,n[a]);return l}function si(t,n,a){return t==t&&(a!==i&&(t=t<=a?t:a),n!==i&&(t=t>=n?t:n)),t}function li(t,n,a,s,l,c){var u,d=1&n,f=2&n,m=4&n;if(a&&(u=l?a(t,s,l,c):a(t)),u!==i)return u;if(!ol(t))return t;var g=Qs(t);if(g){if(u=function(t){var n=t.length,i=new t.constructor(n);return n&&"string"==typeof t[0]&&It.call(t,"index")&&(i.index=t.index,i.input=t.input),i}(t),!d)return Na(t,u)}else{var v=vo(t),b=v==T||v==P;if(el(t))return Sa(t,d);if(v==D||v==w||b&&!l){if(u=f||b?{}:_o(t),!d)return f?function(t,n){return Pa(t,mo(t),n)}(t,function(t,n){return t&&Pa(n,Bl(n),t)}(u,t)):function(t,n){return Pa(t,fo(t),n)}(t,ii(u,t))}else{if(!rn[v])return l?t:{};u=function(t,n,i){var a,s=t.constructor;switch(n){case xe:return $a(t);case S:case C:return new s(+t);case Ce:return function(t,n){var i=n?$a(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.byteLength)}(t,i);case Ee:case Ne:case Pe:case Ie:case Ae:case Me:case Re:case De:case Oe:return xa(t,i);case I:return new s;case A:case we:return new s(t);case _e:return function(t){var n=new t.constructor(t.source,lt.exec(t));return n.lastIndex=t.lastIndex,n}(t);case be:return new s;case Se:return a=t,Br?kt(Br.call(a)):{}}}(t,v,d)}}c||(c=new Kr);var k=c.get(t);if(k)return k;c.set(t,u),hl(t)?t.forEach((function(i){u.add(li(i,n,a,i,t,c))})):ll(t)&&t.forEach((function(i,s){u.set(s,li(i,n,a,s,t,c))}));var E=g?i:(m?f?ao:io:f?Bl:Vl)(t);return xn(E||t,(function(i,s){E&&(i=t[s=i]),ti(u,s,li(i,n,a,s,t,c))})),u}function ci(t,n,a){var s=a.length;if(null==t)return!s;for(t=kt(t);s--;){var l=a[s],c=n[l],u=t[l];if(u===i&&!(l in t)||!c(u))return!1}return!0}function ui(t,n,s){if("function"!=typeof t)throw new xt(a);return Mo((function(){t.apply(i,s)}),n)}function di(t,n,i,a){var s=-1,l=Nn,c=!0,u=t.length,d=[],f=n.length;if(!u)return d;i&&(n=In(n,Kn(i))),a?(l=Pn,c=!1):n.length>=200&&(l=Xn,c=!1,n=new Gr(n));e:for(;++s<u;){var m=t[s],g=null==i?m:i(m);if(m=a||0!==m?m:0,c&&g==g){for(var v=f;v--;)if(n[v]===g)continue e;d.push(m)}else l(n,g,a)||d.push(m)}return d}Fr.templateSettings={escape:He,evaluate:ze,interpolate:We,variable:"",imports:{_:Fr}},Fr.prototype=Ur.prototype,Fr.prototype.constructor=Fr,jr.prototype=qr(Ur.prototype),jr.prototype.constructor=jr,Hr.prototype=qr(Ur.prototype),Hr.prototype.constructor=Hr,zr.prototype.clear=function(){this.__data__=Nr?Nr(null):{},this.size=0},zr.prototype.delete=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n},zr.prototype.get=function(t){var n=this.__data__;if(Nr){var a=n[t];return a===s?i:a}return It.call(n,t)?n[t]:i},zr.prototype.has=function(t){var n=this.__data__;return Nr?n[t]!==i:It.call(n,t)},zr.prototype.set=function(t,n){var a=this.__data__;return this.size+=this.has(t)?0:1,a[t]=Nr&&n===i?s:n,this},Wr.prototype.clear=function(){this.__data__=[],this.size=0},Wr.prototype.delete=function(t){var n=this.__data__,i=ni(n,t);return!(i<0||(i==n.length-1?n.pop():zt.call(n,i,1),--this.size,0))},Wr.prototype.get=function(t){var n=this.__data__,a=ni(n,t);return a<0?i:n[a][1]},Wr.prototype.has=function(t){return ni(this.__data__,t)>-1},Wr.prototype.set=function(t,n){var i=this.__data__,a=ni(i,t);return a<0?(++this.size,i.push([t,n])):i[a][1]=n,this},Yr.prototype.clear=function(){this.size=0,this.__data__={hash:new zr,map:new(xr||Wr),string:new zr}},Yr.prototype.delete=function(t){var n=uo(this,t).delete(t);return this.size-=n?1:0,n},Yr.prototype.get=function(t){return uo(this,t).get(t)},Yr.prototype.has=function(t){return uo(this,t).has(t)},Yr.prototype.set=function(t,n){var i=uo(this,t),a=i.size;return i.set(t,n),this.size+=i.size==a?0:1,this},Gr.prototype.add=Gr.prototype.push=function(t){return this.__data__.set(t,s),this},Gr.prototype.has=function(t){return this.__data__.has(t)},Kr.prototype.clear=function(){this.__data__=new Wr,this.size=0},Kr.prototype.delete=function(t){var n=this.__data__,i=n.delete(t);return this.size=n.size,i},Kr.prototype.get=function(t){return this.__data__.get(t)},Kr.prototype.has=function(t){return this.__data__.has(t)},Kr.prototype.set=function(t,n){var i=this.__data__;if(i instanceof Wr){var a=i.__data__;if(!xr||a.length<199)return a.push([t,n]),this.size=++i.size,this;i=this.__data__=new Yr(a)}return i.set(t,n),this.size=i.size,this};var hi=Ma(bi),pi=Ma(wi,!0);function fi(t,n){var i=!0;return hi(t,(function(t,a,s){return i=!!n(t,a,s)})),i}function mi(t,n,a){for(var s=-1,l=t.length;++s<l;){var c=t[s],u=n(c);if(null!=u&&(d===i?u==u&&!fl(u):a(u,d)))var d=u,f=c}return f}function gi(t,n){var i=[];return hi(t,(function(t,a,s){n(t,a,s)&&i.push(t)})),i}function vi(t,n,i,a,s){var l=-1,c=t.length;for(i||(i=bo),s||(s=[]);++l<c;){var u=t[l];n>0&&i(u)?n>1?vi(u,n-1,i,a,s):An(s,u):a||(s[s.length]=u)}return s}var yi=Ra(),_i=Ra(!0);function bi(t,n){return t&&yi(t,n,Vl)}function wi(t,n){return t&&_i(t,n,Vl)}function ki(t,n){return Tn(n,(function(n){return rl(t[n])}))}function Si(t,n){for(var a=0,s=(n=_a(n,t)).length;null!=t&&a<s;)t=t[Uo(n[a++])];return a&&a==s?t:i}function $i(t,n,i){var a=n(t);return Qs(t)?a:An(a,i(t))}function xi(t){return null==t?t===i?"[object Undefined]":"[object Null]":Xt&&Xt in kt(t)?function(t){var n=It.call(t,Xt),a=t[Xt];try{t[Xt]=i;var s=!0}catch(e){}var l=Rt.call(t);return s&&(n?t[Xt]=a:delete t[Xt]),l}(t):function(t){return Rt.call(t)}(t)}function Ci(t,n){return t>n}function Ei(t,n){return null!=t&&It.call(t,n)}function Ti(t,n){return null!=t&&n in kt(t)}function Ni(t,n,a){for(var s=a?Pn:Nn,l=t[0].length,c=t.length,u=c,d=vt(c),f=1/0,m=[];u--;){var g=t[u];u&&n&&(g=In(g,Kn(n))),f=yr(g.length,f),d[u]=!a&&(n||l>=120&&g.length>=120)?new Gr(u&&g):i}g=t[0];var v=-1,b=d[0];e:for(;++v<l&&m.length<f;){var w=g[v],k=n?n(w):w;if(w=a||0!==w?w:0,!(b?Xn(b,k):s(m,k,a))){for(u=c;--u;){var S=d[u];if(!(S?Xn(S,k):s(t[u],k,a)))continue e}b&&b.push(k),m.push(w)}}return m}function Pi(t,n,a){var s=null==(t=Po(t,n=_a(n,t)))?t:t[Uo(ts(n))];return null==s?i:Sn(s,t,a)}function Ii(t){return sl(t)&&xi(t)==w}function Ai(t,n,a,s,l){return t===n||(null==t||null==n||!sl(t)&&!sl(n)?t!=t&&n!=n:function(t,n,a,s,l,c){var u=Qs(t),d=Qs(n),f=u?k:vo(t),m=d?k:vo(n),g=(f=f==w?D:f)==D,v=(m=m==w?D:m)==D,b=f==m;if(b&&el(t)){if(!el(n))return!1;u=!0,g=!1}if(b&&!g)return c||(c=new Kr),u||ml(t)?no(t,n,a,s,l,c):function(t,n,i,a,s,l,c){switch(i){case Ce:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case xe:return!(t.byteLength!=n.byteLength||!l(new Ft(t),new Ft(n)));case S:case C:case A:return Ws(+t,+n);case E:return t.name==n.name&&t.message==n.message;case _e:case we:return t==n+"";case I:var u=ar;case be:var d=1&a;if(u||(u=lr),t.size!=n.size&&!d)return!1;var f=c.get(t);if(f)return f==n;a|=2,c.set(t,n);var m=no(u(t),u(n),a,s,l,c);return c.delete(t),m;case Se:if(Br)return Br.call(t)==Br.call(n)}return!1}(t,n,f,a,s,l,c);if(!(1&a)){var T=g&&It.call(t,"__wrapped__"),P=v&&It.call(n,"__wrapped__");if(T||P){var O=T?t.value():t,$e=P?n.value():n;return c||(c=new Kr),l(O,$e,a,s,c)}}return!!b&&(c||(c=new Kr),function(t,n,a,s,l,c){var u=1&a,d=io(t),f=d.length,m=io(n),g=m.length;if(f!=g&&!u)return!1;for(var v=f;v--;){var b=d[v];if(!(u?b in n:It.call(n,b)))return!1}var w=c.get(t),k=c.get(n);if(w&&k)return w==n&&k==t;var S=!0;c.set(t,n),c.set(n,t);for(var C=u;++v<f;){var E=t[b=d[v]],T=n[b];if(s)var P=u?s(T,E,b,n,t,c):s(E,T,b,t,n,c);if(!(P===i?E===T||l(E,T,a,s,c):P)){S=!1;break}C||(C="constructor"==b)}if(S&&!C){var I=t.constructor,A=n.constructor;I==A||!("constructor"in t)||!("constructor"in n)||"function"==typeof I&&I instanceof I&&"function"==typeof A&&A instanceof A||(S=!1)}return c.delete(t),c.delete(n),S}(t,n,a,s,l,c))}(t,n,a,s,Ai,l))}function Mi(t,n,a,s){var l=a.length,c=l,u=!s;if(null==t)return!c;for(t=kt(t);l--;){var d=a[l];if(u&&d[2]?d[1]!==t[d[0]]:!(d[0]in t))return!1}for(;++l<c;){var f=(d=a[l])[0],m=t[f],g=d[1];if(u&&d[2]){if(m===i&&!(f in t))return!1}else{var v=new Kr;if(s)var b=s(m,g,f,t,n,v);if(!(b===i?Ai(g,m,3,s,v):b))return!1}}return!0}function Ri(t){return!(!ol(t)||(n=t,Mt&&Mt in n))&&(rl(t)?Vt:dt).test(jo(t));var n}function Di(t){return"function"==typeof t?t:null==t?cc:"object"==typeof t?Qs(t)?qi(t[0],t[1]):Fi(t):yc(t)}function Oi(t){if(!Co(t))return gr(t);var n=[];for(var i in kt(t))It.call(t,i)&&"constructor"!=i&&n.push(i);return n}function Vi(t){if(!ol(t))return function(t){var n=[];if(null!=t)for(var i in kt(t))n.push(i);return n}(t);var n=Co(t),i=[];for(var a in t)("constructor"!=a||!n&&It.call(t,a))&&i.push(a);return i}function Bi(t,n){return t<n}function Li(t,n){var i=-1,a=Zs(t)?vt(t.length):[];return hi(t,(function(t,s,l){a[++i]=n(t,s,l)})),a}function Fi(t){var n=ho(t);return 1==n.length&&n[0][2]?To(n[0][0],n[0][1]):function(i){return i===t||Mi(i,t,n)}}function qi(t,n){return So(t)&&Eo(n)?To(Uo(t),n):function(a){var s=Al(a,t);return s===i&&s===n?Ml(a,t):Ai(n,s,3)}}function Ui(t,n,a,s,l){t!==n&&yi(n,(function(c,u){if(l||(l=new Kr),ol(c))!function(t,n,a,s,l,c,u){var d=Io(t,a),f=Io(n,a),m=u.get(f);if(m)ei(t,a,m);else{var g=c?c(d,f,a+"",t,n,u):i,v=g===i;if(v){var b=Qs(f),w=!b&&el(f),k=!b&&!w&&ml(f);g=f,b||w||k?Qs(d)?g=d:Js(d)?g=Na(d):w?(v=!1,g=Sa(f,!0)):k?(v=!1,g=xa(f,!0)):g=[]:ul(f)||Ks(f)?(g=d,Ks(d)?g=Sl(d):ol(d)&&!rl(d)||(g=_o(f))):v=!1}v&&(u.set(f,g),l(g,f,s,c,u),u.delete(f)),ei(t,a,g)}}(t,n,u,a,Ui,s,l);else{var d=s?s(Io(t,u),c,u+"",t,n,l):i;d===i&&(d=c),ei(t,u,d)}}),Bl)}function ji(t,n){var a=t.length;if(a)return wo(n+=n<0?a:0,a)?t[n]:i}function Hi(t,n,i){n=n.length?In(n,(function(t){return Qs(t)?function(n){return Si(n,1===t.length?t[0]:t)}:t})):[cc];var a=-1;return n=In(n,Kn(co())),function(t,n){var i=t.length;for(t.sort(n);i--;)t[i]=t[i].value;return t}(Li(t,(function(t,i,s){return{criteria:In(n,(function(n){return n(t)})),index:++a,value:t}})),(function(t,n){return function(t,n,i){for(var a=-1,s=t.criteria,l=n.criteria,c=s.length,u=i.length;++a<c;){var d=Ca(s[a],l[a]);if(d)return a>=u?d:d*("desc"==i[a]?-1:1)}return t.index-n.index}(t,n,i)}))}function zi(t,n,i){for(var a=-1,s=n.length,l={};++a<s;){var c=n[a],u=Si(t,c);i(u,c)&&Ji(l,_a(c,t),u)}return l}function Wi(t,n,i,a){var s=a?Fn:Ln,l=-1,c=n.length,u=t;for(t===n&&(n=Na(n)),i&&(u=In(t,Kn(i)));++l<c;)for(var d=0,f=n[l],m=i?i(f):f;(d=s(u,m,d,a))>-1;)u!==t&&zt.call(u,d,1),zt.call(t,d,1);return t}function Yi(t,n){for(var i=t?n.length:0,a=i-1;i--;){var s=n[i];if(i==a||s!==l){var l=s;wo(s)?zt.call(t,s,1):da(t,s)}}return t}function Gi(t,n){return t+mn(kr()*(n-t+1))}function Ki(t,n){var i="";if(!t||n<1||n>m)return i;do{n%2&&(i+=t),(n=mn(n/2))&&(t+=t)}while(n);return i}function Qi(t,n){return Ro(No(t,n,cc),t+"")}function Xi(t){return Xr(Wl(t))}function Zi(t,n){var i=Wl(t);return Vo(i,si(n,0,i.length))}function Ji(t,n,a,s){if(!ol(t))return t;for(var l=-1,c=(n=_a(n,t)).length,u=c-1,d=t;null!=d&&++l<c;){var f=Uo(n[l]),m=a;if("__proto__"===f||"constructor"===f||"prototype"===f)return t;if(l!=u){var g=d[f];(m=s?s(g,f,d):i)===i&&(m=ol(g)?g:wo(n[l+1])?[]:{})}ti(d,f,m),d=d[f]}return t}var ea=Pr?function(t,n){return Pr.set(t,n),t}:cc,ta=an?function(t,n){return an(t,"toString",{configurable:!0,enumerable:!1,value:oc(n),writable:!0})}:cc;function na(t){return Vo(Wl(t))}function ra(t,n,i){var a=-1,s=t.length;n<0&&(n=-n>s?0:s+n),(i=i>s?s:i)<0&&(i+=s),s=n>i?0:i-n>>>0,n>>>=0;for(var l=vt(s);++a<s;)l[a]=t[a+n];return l}function ia(t,n){var i;return hi(t,(function(t,a,s){return!(i=n(t,a,s))})),!!i}function aa(t,n,i){var a=0,s=null==t?a:t.length;if("number"==typeof n&&n==n&&s<=2147483647){for(;a<s;){var l=a+s>>>1,c=t[l];null!==c&&!fl(c)&&(i?c<=n:c<n)?a=l+1:s=l}return s}return oa(t,n,cc,i)}function oa(t,n,a,s){var l=0,c=null==t?0:t.length;if(0===c)return 0;for(var u=(n=a(n))!=n,d=null===n,f=fl(n),m=n===i;l<c;){var g=mn((l+c)/2),v=a(t[g]),b=v!==i,w=null===v,k=v==v,S=fl(v);if(u)var C=s||k;else C=m?k&&(s||b):d?k&&b&&(s||!w):f?k&&b&&!w&&(s||!S):!w&&!S&&(s?v<=n:v<n);C?l=g+1:c=g}return yr(c,4294967294)}function sa(t,n){for(var i=-1,a=t.length,s=0,l=[];++i<a;){var c=t[i],u=n?n(c):c;if(!i||!Ws(u,d)){var d=u;l[s++]=0===c?0:c}}return l}function la(t){return"number"==typeof t?t:fl(t)?g:+t}function ca(t){if("string"==typeof t)return t;if(Qs(t))return In(t,ca)+"";if(fl(t))return Lr?Lr.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function ua(t,n,i){var a=-1,s=Nn,l=t.length,c=!0,u=[],d=u;if(i)c=!1,s=Pn;else if(l>=200){var f=n?null:Ka(t);if(f)return lr(f);c=!1,s=Xn,d=new Gr}else d=n?[]:u;e:for(;++a<l;){var m=t[a],g=n?n(m):m;if(m=i||0!==m?m:0,c&&g==g){for(var v=d.length;v--;)if(d[v]===g)continue e;n&&d.push(g),u.push(m)}else s(d,g,i)||(d!==u&&d.push(g),u.push(m))}return u}function da(t,n){return null==(t=Po(t,n=_a(n,t)))||delete t[Uo(ts(n))]}function ha(t,n,i,a){return Ji(t,n,i(Si(t,n)),a)}function pa(t,n,i,a){for(var s=t.length,l=a?s:-1;(a?l--:++l<s)&&n(t[l],l,t););return i?ra(t,a?0:l,a?l+1:s):ra(t,a?l+1:0,a?s:l)}function fa(t,n){var i=t;return i instanceof Hr&&(i=i.value()),Mn(n,(function(t,n){return n.func.apply(n.thisArg,An([t],n.args))}),i)}function ma(t,n,i){var a=t.length;if(a<2)return a?ua(t[0]):[];for(var s=-1,l=vt(a);++s<a;)for(var c=t[s],u=-1;++u<a;)u!=s&&(l[s]=di(l[s]||c,t[u],n,i));return ua(vi(l,1),n,i)}function ga(t,n,a){for(var s=-1,l=t.length,c=n.length,u={};++s<l;){var d=s<c?n[s]:i;a(u,t[s],d)}return u}function va(t){return Js(t)?t:[]}function ya(t){return"function"==typeof t?t:cc}function _a(t,n){return Qs(t)?t:So(t,n)?[t]:qo($l(t))}var ba=Qi;function wa(t,n,a){var s=t.length;return a=a===i?s:a,!n&&a>=s?t:ra(t,n,a)}var ka=cn||function(t){return dn.clearTimeout(t)};function Sa(t,n){if(n)return t.slice();var i=t.length,a=qt?qt(i):new t.constructor(i);return t.copy(a),a}function $a(t){var n=new t.constructor(t.byteLength);return new Ft(n).set(new Ft(t)),n}function xa(t,n){var i=n?$a(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}function Ca(t,n){if(t!==n){var a=t!==i,s=null===t,l=t==t,c=fl(t),u=n!==i,d=null===n,f=n==n,m=fl(n);if(!d&&!m&&!c&&t>n||c&&u&&f&&!d&&!m||s&&u&&f||!a&&f||!l)return 1;if(!s&&!c&&!m&&t<n||m&&a&&l&&!s&&!c||d&&a&&l||!u&&l||!f)return-1}return 0}function Ea(t,n,i,a){for(var s=-1,l=t.length,c=i.length,u=-1,d=n.length,f=vr(l-c,0),m=vt(d+f),g=!a;++u<d;)m[u]=n[u];for(;++s<c;)(g||s<l)&&(m[i[s]]=t[s]);for(;f--;)m[u++]=t[s++];return m}function Ta(t,n,i,a){for(var s=-1,l=t.length,c=-1,u=i.length,d=-1,f=n.length,m=vr(l-u,0),g=vt(m+f),v=!a;++s<m;)g[s]=t[s];for(var b=s;++d<f;)g[b+d]=n[d];for(;++c<u;)(v||s<l)&&(g[b+i[c]]=t[s++]);return g}function Na(t,n){var i=-1,a=t.length;for(n||(n=vt(a));++i<a;)n[i]=t[i];return n}function Pa(t,n,a,s){var l=!a;a||(a={});for(var c=-1,u=n.length;++c<u;){var d=n[c],f=s?s(a[d],t[d],d,a,t):i;f===i&&(f=t[d]),l?ai(a,d,f):ti(a,d,f)}return a}function Ia(t,n){return function(i,a){var s=Qs(i)?$n:ri,l=n?n():{};return s(i,t,co(a,2),l)}}function Aa(t){return Qi((function(n,a){var s=-1,l=a.length,c=l>1?a[l-1]:i,u=l>2?a[2]:i;for(c=t.length>3&&"function"==typeof c?(l--,c):i,u&&ko(a[0],a[1],u)&&(c=l<3?i:c,l=1),n=kt(n);++s<l;){var d=a[s];d&&t(n,d,s,c)}return n}))}function Ma(t,n){return function(i,a){if(null==i)return i;if(!Zs(i))return t(i,a);for(var s=i.length,l=n?s:-1,c=kt(i);(n?l--:++l<s)&&!1!==a(c[l],l,c););return i}}function Ra(t){return function(n,i,a){for(var s=-1,l=kt(n),c=a(n),u=c.length;u--;){var d=c[t?u:++s];if(!1===i(l[d],d,l))break}return n}}function Da(t){return function(n){var a=ir(n=$l(n))?ur(n):i,s=a?a[0]:n.charAt(0),l=a?wa(a,1).join(""):n.slice(1);return s[t]()+l}}function Oa(t){return function(n){return Mn(rc(Kl(n).replace(Yt,"")),t,"")}}function Va(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var i=qr(t.prototype),a=t.apply(i,n);return ol(a)?a:i}}function Ba(t){return function(n,a,s){var l=kt(n);if(!Zs(n)){var c=co(a,3);n=Vl(n),a=function(t){return c(l[t],t,l)}}var u=t(n,a,s);return u>-1?l[c?n[u]:u]:i}}function La(t){return ro((function(n){var s=n.length,l=s,c=jr.prototype.thru;for(t&&n.reverse();l--;){var u=n[l];if("function"!=typeof u)throw new xt(a);if(c&&!d&&"wrapper"==so(u))var d=new jr([],!0)}for(l=d?l:s;++l<s;){var f=so(u=n[l]),m="wrapper"==f?oo(u):i;d=m&&$o(m[0])&&424==m[1]&&!m[4].length&&1==m[9]?d[so(m[0])].apply(d,m[3]):1==u.length&&$o(u)?d[f]():d.thru(u)}return function(){var t=arguments,i=t[0];if(d&&1==t.length&&Qs(i))return d.plant(i).value();for(var a=0,l=s?n[a].apply(this,t):i;++a<s;)l=n[a].call(this,l);return l}}))}function Fa(t,n,a,s,l,c,d,f,m,g){var v=n&u,b=1&n,w=2&n,k=24&n,S=512&n,C=w?i:Va(t);return function u(){for(var E=arguments.length,T=vt(E),P=E;P--;)T[P]=arguments[P];if(k)var I=lo(u),A=function(t,n){for(var i=t.length,a=0;i--;)t[i]===n&&++a;return a}(T,I);if(s&&(T=Ea(T,s,l,k)),c&&(T=Ta(T,c,d,k)),E-=A,k&&E<g){var D=sr(T,I);return Ya(t,n,Fa,u.placeholder,a,T,D,f,m,g-E)}var O=b?a:this,_e=w?O[t]:t;return E=T.length,f?T=function(t,n){for(var a=t.length,s=yr(n.length,a),l=Na(t);s--;){var c=n[s];t[s]=wo(c,a)?l[c]:i}return t}(T,f):S&&E>1&&T.reverse(),v&&m<E&&(T.length=m),this&&this!==dn&&this instanceof u&&(_e=C||Va(_e)),_e.apply(O,T)}}function qa(t,n){return function(i,a){return function(t,n,i,a){return bi(t,(function(t,s,l){n(a,i(t),s,l)})),a}(i,t,n(a),{})}}function Ua(t,n){return function(a,s){var l;if(a===i&&s===i)return n;if(a!==i&&(l=a),s!==i){if(l===i)return s;"string"==typeof a||"string"==typeof s?(a=ca(a),s=ca(s)):(a=la(a),s=la(s)),l=t(a,s)}return l}}function ja(t){return ro((function(n){return n=In(n,Kn(co())),Qi((function(i){var a=this;return t(n,(function(t){return Sn(t,a,i)}))}))}))}function Ha(t,n){var a=(n=n===i?" ":ca(n)).length;if(a<2)return a?Ki(n,t):n;var s=Ki(n,pn(t/cr(n)));return ir(n)?wa(ur(s),0,t).join(""):s.slice(0,t)}function za(t){return function(n,a,s){return s&&"number"!=typeof s&&ko(n,a,s)&&(a=s=i),n=_l(n),a===i?(a=n,n=0):a=_l(a),function(t,n,i,a){for(var s=-1,l=vr(pn((n-t)/(i||1)),0),c=vt(l);l--;)c[a?l:++s]=t,t+=i;return c}(n,a,s=s===i?n<a?1:-1:_l(s),t)}}function Wa(t){return function(n,i){return"string"==typeof n&&"string"==typeof i||(n=kl(n),i=kl(i)),t(n,i)}}function Ya(t,n,a,s,l,u,d,f,m,g){var v=8&n;n|=v?c:64,4&(n&=~(v?64:c))||(n&=-4);var b=[t,n,l,v?u:i,v?d:i,v?i:u,v?i:d,f,m,g],w=a.apply(i,b);return $o(t)&&Ao(w,b),w.placeholder=s,Do(w,t,n)}function Ga(t){var n=wt[t];return function(t,i){if(t=kl(t),(i=null==i?0:yr(bl(i),292))&&Hn(t)){var a=($l(t)+"e").split("e");return+((a=($l(n(a[0]+"e"+(+a[1]+i)))+"e").split("e"))[0]+"e"+(+a[1]-i))}return n(t)}}var Ka=Er&&1/lr(new Er([,-0]))[1]==f?function(t){return new Er(t)}:fc;function Qa(t){return function(n){var i=vo(n);return i==I?ar(n):i==be?function(t){var n=-1,i=Array(t.size);return t.forEach((function(t){i[++n]=[t,t]})),i}(n):function(t,n){return In(n,(function(n){return[n,t[n]]}))}(n,t(n))}}function Xa(t,n,s,f,m,g,v,b){var w=2&n;if(!w&&"function"!=typeof t)throw new xt(a);var k=f?f.length:0;if(k||(n&=-97,f=m=i),v=v===i?v:vr(bl(v),0),b=b===i?b:bl(b),k-=m?m.length:0,64&n){var S=f,C=m;f=m=i}var E=w?i:oo(t),T=[t,n,s,f,m,S,C,g,v,b];if(E&&function(t,n){var i=t[1],a=n[1],s=i|a,c=s<131,f=a==u&&8==i||a==u&&i==d&&t[7].length<=n[8]||384==a&&n[7].length<=n[8]&&8==i;if(!c&&!f)return t;1&a&&(t[2]=n[2],s|=1&i?0:4);var m=n[3];if(m){var g=t[3];t[3]=g?Ea(g,m,n[4]):m,t[4]=g?sr(t[3],l):n[4]}(m=n[5])&&(g=t[5],t[5]=g?Ta(g,m,n[6]):m,t[6]=g?sr(t[5],l):n[6]),(m=n[7])&&(t[7]=m),a&u&&(t[8]=null==t[8]?n[8]:yr(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=s}(T,E),t=T[0],n=T[1],s=T[2],f=T[3],m=T[4],!(b=T[9]=T[9]===i?w?0:t.length:vr(T[9]-k,0))&&24&n&&(n&=-25),n&&1!=n)P=8==n||16==n?function(t,n,a){var s=Va(t);return function l(){for(var c=arguments.length,u=vt(c),d=c,f=lo(l);d--;)u[d]=arguments[d];var m=c<3&&u[0]!==f&&u[c-1]!==f?[]:sr(u,f);return(c-=m.length)<a?Ya(t,n,Fa,l.placeholder,i,u,m,i,i,a-c):Sn(this&&this!==dn&&this instanceof l?s:t,this,u)}}(t,n,b):n!=c&&33!=n||m.length?Fa.apply(i,T):function(t,n,i,a){var s=1&n,l=Va(t);return function n(){for(var c=-1,u=arguments.length,d=-1,f=a.length,m=vt(f+u),g=this&&this!==dn&&this instanceof n?l:t;++d<f;)m[d]=a[d];for(;u--;)m[d++]=arguments[++c];return Sn(g,s?i:this,m)}}(t,n,s,f);else var P=function(t,n,i){var a=1&n,s=Va(t);return function n(){return(this&&this!==dn&&this instanceof n?s:t).apply(a?i:this,arguments)}}(t,n,s);return Do((E?ea:Ao)(P,T),t,n)}function Za(t,n,a,s){return t===i||Ws(t,Tt[a])&&!It.call(s,a)?n:t}function Ja(t,n,a,s,l,c){return ol(t)&&ol(n)&&(c.set(n,t),Ui(t,n,i,Ja,c),c.delete(n)),t}function eo(t){return ul(t)?i:t}function no(t,n,a,s,l,c){var u=1&a,d=t.length,f=n.length;if(d!=f&&!(u&&f>d))return!1;var m=c.get(t),g=c.get(n);if(m&&g)return m==n&&g==t;var v=-1,b=!0,w=2&a?new Gr:i;for(c.set(t,n),c.set(n,t);++v<d;){var k=t[v],S=n[v];if(s)var C=u?s(S,k,v,n,t,c):s(k,S,v,t,n,c);if(C!==i){if(C)continue;b=!1;break}if(w){if(!Dn(n,(function(t,n){if(!Xn(w,n)&&(k===t||l(k,t,a,s,c)))return w.push(n)}))){b=!1;break}}else if(k!==S&&!l(k,S,a,s,c)){b=!1;break}}return c.delete(t),c.delete(n),b}function ro(t){return Ro(No(t,i,Qo),t+"")}function io(t){return $i(t,Vl,fo)}function ao(t){return $i(t,Bl,mo)}var oo=Pr?function(t){return Pr.get(t)}:fc;function so(t){for(var n=t.name+"",i=Ir[n],a=It.call(Ir,n)?i.length:0;a--;){var s=i[a],l=s.func;if(null==l||l==t)return s.name}return n}function lo(t){return(It.call(Fr,"placeholder")?Fr:t).placeholder}function co(){var t=Fr.iteratee||uc;return t=t===uc?Di:t,arguments.length?t(arguments[0],arguments[1]):t}function uo(t,n){var i,a,s=t.__data__;return("string"==(a=typeof(i=n))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==i:null===i)?s["string"==typeof n?"string":"hash"]:s.map}function ho(t){for(var n=Vl(t),i=n.length;i--;){var a=n[i],s=t[a];n[i]=[a,s,Eo(s)]}return n}function po(t,n){var a=function(t,n){return null==t?i:t[n]}(t,n);return Ri(a)?a:i}var fo=gn?function(t){return null==t?[]:(t=kt(t),Tn(gn(t),(function(n){return Ht.call(t,n)})))}:wc,mo=gn?function(t){for(var n=[];t;)An(n,fo(t)),t=Ut(t);return n}:wc,vo=xi;function yo(t,n,i){for(var a=-1,s=(n=_a(n,t)).length,l=!1;++a<s;){var c=Uo(n[a]);if(!(l=null!=t&&i(t,c)))break;t=t[c]}return l||++a!=s?l:!!(s=null==t?0:t.length)&&al(s)&&wo(c,s)&&(Qs(t)||Ks(t))}function _o(t){return"function"!=typeof t.constructor||Co(t)?{}:qr(Ut(t))}function bo(t){return Qs(t)||Ks(t)||!!(Wt&&t&&t[Wt])}function wo(t,n){var i=typeof t;return!!(n=null==n?m:n)&&("number"==i||"symbol"!=i&&pt.test(t))&&t>-1&&t%1==0&&t<n}function ko(t,n,i){if(!ol(i))return!1;var a=typeof n;return!!("number"==a?Zs(i)&&wo(n,i.length):"string"==a&&n in i)&&Ws(i[n],t)}function So(t,n){if(Qs(t))return!1;var i=typeof t;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=t&&!fl(t))||Ge.test(t)||!Ye.test(t)||null!=n&&t in kt(n)}function $o(t){var n=so(t),i=Fr[n];if("function"!=typeof i||!(n in Hr.prototype))return!1;if(t===i)return!0;var a=oo(i);return!!a&&t===a[0]}($r&&vo(new $r(new ArrayBuffer(1)))!=Ce||xr&&vo(new xr)!=I||Cr&&vo(Cr.resolve())!=O||Er&&vo(new Er)!=be||Tr&&vo(new Tr)!=$e)&&(vo=function(t){var n=xi(t),a=n==D?t.constructor:i,s=a?jo(a):"";if(s)switch(s){case Ar:return Ce;case Mr:return I;case Rr:return O;case Dr:return be;case Or:return $e}return n});var xo=Nt?rl:kc;function Co(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||Tt)}function Eo(t){return t==t&&!ol(t)}function To(t,n){return function(a){return null!=a&&a[t]===n&&(n!==i||t in kt(a))}}function No(t,n,a){return n=vr(n===i?t.length-1:n,0),function(){for(var i=arguments,s=-1,l=vr(i.length-n,0),c=vt(l);++s<l;)c[s]=i[n+s];s=-1;for(var u=vt(n+1);++s<n;)u[s]=i[s];return u[n]=a(c),Sn(t,this,u)}}function Po(t,n){return n.length<2?t:Si(t,ra(n,0,-1))}function Io(t,n){if(("constructor"!==n||"function"!=typeof t[n])&&"__proto__"!=n)return t[n]}var Ao=Oo(ea),Mo=hn||function(t,n){return dn.setTimeout(t,n)},Ro=Oo(ta);function Do(t,n,i){var a=n+"";return Ro(t,function(t,n){var i=n.length;if(!i)return t;var a=i-1;return n[a]=(i>1?"& ":"")+n[a],n=n.join(i>2?", ":" "),t.replace(et,"{\n/* [wrapped with "+n+"] */\n")}(a,function(t,n){return xn(b,(function(i){var a="_."+i[0];n&i[1]&&!Nn(t,a)&&t.push(a)})),t.sort()}(function(t){var n=t.match(nt);return n?n[1].split(rt):[]}(a),i)))}function Oo(t){var n=0,a=0;return function(){var s=_r(),l=16-(s-a);if(a=s,l>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(i,arguments)}}function Vo(t,n){var a=-1,s=t.length,l=s-1;for(n=n===i?s:n;++a<n;){var c=Gi(a,l),u=t[c];t[c]=t[a],t[a]=u}return t.length=n,t}var Bo,Lo,Fo,qo=(Bo=function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(Ke,(function(t,i,a,s){n.push(a?s.replace(ot,"$1"):i||t)})),n},Lo=Fs(Bo,(function(t){return 500===Fo.size&&Fo.clear(),t})),Fo=Lo.cache,Lo);function Uo(t){if("string"==typeof t||fl(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function jo(t){if(null!=t){try{return Pt.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function Ho(t){if(t instanceof Hr)return t.clone();var n=new jr(t.__wrapped__,t.__chain__);return n.__actions__=Na(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}var zo=Qi((function(t,n){return Js(t)?di(t,vi(n,1,Js,!0)):[]})),Wo=Qi((function(t,n){var a=ts(n);return Js(a)&&(a=i),Js(t)?di(t,vi(n,1,Js,!0),co(a,2)):[]})),Yo=Qi((function(t,n){var a=ts(n);return Js(a)&&(a=i),Js(t)?di(t,vi(n,1,Js,!0),i,a):[]}));function Go(t,n,i){var a=null==t?0:t.length;if(!a)return-1;var s=null==i?0:bl(i);return s<0&&(s=vr(a+s,0)),Bn(t,co(n,3),s)}function Ko(t,n,a){var s=null==t?0:t.length;if(!s)return-1;var l=s-1;return a!==i&&(l=bl(a),l=a<0?vr(s+l,0):yr(l,s-1)),Bn(t,co(n,3),l,!0)}function Qo(t){return null!=t&&t.length?vi(t,1):[]}function Xo(t){return t&&t.length?t[0]:i}var Zo=Qi((function(t){var n=In(t,va);return n.length&&n[0]===t[0]?Ni(n):[]})),Jo=Qi((function(t){var n=ts(t),a=In(t,va);return n===ts(a)?n=i:a.pop(),a.length&&a[0]===t[0]?Ni(a,co(n,2)):[]})),es=Qi((function(t){var n=ts(t),a=In(t,va);return(n="function"==typeof n?n:i)&&a.pop(),a.length&&a[0]===t[0]?Ni(a,i,n):[]}));function ts(t){var n=null==t?0:t.length;return n?t[n-1]:i}var ns=Qi(rs);function rs(t,n){return t&&t.length&&n&&n.length?Wi(t,n):t}var is=ro((function(t,n){var i=null==t?0:t.length,a=oi(t,n);return Yi(t,In(n,(function(t){return wo(t,i)?+t:t})).sort(Ca)),a}));function os(t){return null==t?t:Sr.call(t)}var ss=Qi((function(t){return ua(vi(t,1,Js,!0))})),ls=Qi((function(t){var n=ts(t);return Js(n)&&(n=i),ua(vi(t,1,Js,!0),co(n,2))})),cs=Qi((function(t){var n=ts(t);return n="function"==typeof n?n:i,ua(vi(t,1,Js,!0),i,n)}));function us(t){if(!t||!t.length)return[];var n=0;return t=Tn(t,(function(t){if(Js(t))return n=vr(t.length,n),!0})),Yn(n,(function(n){return In(t,jn(n))}))}function ds(t,n){if(!t||!t.length)return[];var a=us(t);return null==n?a:In(a,(function(t){return Sn(n,i,t)}))}var hs=Qi((function(t,n){return Js(t)?di(t,n):[]})),ps=Qi((function(t){return ma(Tn(t,Js))})),fs=Qi((function(t){var n=ts(t);return Js(n)&&(n=i),ma(Tn(t,Js),co(n,2))})),ms=Qi((function(t){var n=ts(t);return n="function"==typeof n?n:i,ma(Tn(t,Js),i,n)})),gs=Qi(us),vs=Qi((function(t){var n=t.length,a=n>1?t[n-1]:i;return a="function"==typeof a?(t.pop(),a):i,ds(t,a)}));function ys(t){var n=Fr(t);return n.__chain__=!0,n}function _s(t,n){return n(t)}var bs=ro((function(t){var n=t.length,a=n?t[0]:0,s=this.__wrapped__,l=function(n){return oi(n,t)};return!(n>1||this.__actions__.length)&&s instanceof Hr&&wo(a)?((s=s.slice(a,+a+(n?1:0))).__actions__.push({func:_s,args:[l],thisArg:i}),new jr(s,this.__chain__).thru((function(t){return n&&!t.length&&t.push(i),t}))):this.thru(l)})),ws=Ia((function(t,n,i){It.call(t,i)?++t[i]:ai(t,i,1)})),ks=Ba(Go),Ss=Ba(Ko);function $s(t,n){return(Qs(t)?xn:hi)(t,co(n,3))}function xs(t,n){return(Qs(t)?Cn:pi)(t,co(n,3))}var Cs=Ia((function(t,n,i){It.call(t,i)?t[i].push(n):ai(t,i,[n])})),Es=Qi((function(t,n,i){var a=-1,s="function"==typeof n,l=Zs(t)?vt(t.length):[];return hi(t,(function(t){l[++a]=s?Sn(n,t,i):Pi(t,n,i)})),l})),Ts=Ia((function(t,n,i){ai(t,i,n)}));function Ns(t,n){return(Qs(t)?In:Li)(t,co(n,3))}var Ps=Ia((function(t,n,i){t[i?0:1].push(n)}),(function(){return[[],[]]})),Is=Qi((function(t,n){if(null==t)return[];var i=n.length;return i>1&&ko(t,n[0],n[1])?n=[]:i>2&&ko(n[0],n[1],n[2])&&(n=[n[0]]),Hi(t,vi(n,1),[])})),As=un||function(){return dn.Date.now()};function Ms(t,n,a){return n=a?i:n,n=t&&null==n?t.length:n,Xa(t,u,i,i,i,i,n)}function Rs(t,n){var s;if("function"!=typeof n)throw new xt(a);return t=bl(t),function(){return--t>0&&(s=n.apply(this,arguments)),t<=1&&(n=i),s}}var Ds=Qi((function(t,n,i){var a=1;if(i.length){var s=sr(i,lo(Ds));a|=c}return Xa(t,a,n,i,s)})),Os=Qi((function(t,n,i){var a=3;if(i.length){var s=sr(i,lo(Os));a|=c}return Xa(n,a,t,i,s)}));function Vs(t,n,s){var l,c,u,d,f,m,g=0,v=!1,b=!1,w=!0;if("function"!=typeof t)throw new xt(a);function k(n){var a=l,s=c;return l=c=i,g=n,d=t.apply(s,a)}function S(t){var a=t-m;return m===i||a>=n||a<0||b&&t-g>=u}function C(){var t=As();if(S(t))return E(t);f=Mo(C,function(t){var i=n-(t-m);return b?yr(i,u-(t-g)):i}(t))}function E(t){return f=i,w&&l?k(t):(l=c=i,d)}function T(){var t=As(),a=S(t);if(l=arguments,c=this,m=t,a){if(f===i)return function(t){return g=t,f=Mo(C,n),v?k(t):d}(m);if(b)return ka(f),f=Mo(C,n),k(m)}return f===i&&(f=Mo(C,n)),d}return n=kl(n)||0,ol(s)&&(v=!!s.leading,u=(b="maxWait"in s)?vr(kl(s.maxWait)||0,n):u,w="trailing"in s?!!s.trailing:w),T.cancel=function(){f!==i&&ka(f),g=0,l=m=c=f=i},T.flush=function(){return f===i?d:E(As())},T}var Bs=Qi((function(t,n){return ui(t,1,n)})),Ls=Qi((function(t,n,i){return ui(t,kl(n)||0,i)}));function Fs(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new xt(a);var i=function(){var a=arguments,s=n?n.apply(this,a):a[0],l=i.cache;if(l.has(s))return l.get(s);var c=t.apply(this,a);return i.cache=l.set(s,c)||l,c};return i.cache=new(Fs.Cache||Yr),i}function qs(t){if("function"!=typeof t)throw new xt(a);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}Fs.Cache=Yr;var Us=ba((function(t,n){var i=(n=1==n.length&&Qs(n[0])?In(n[0],Kn(co())):In(vi(n,1),Kn(co()))).length;return Qi((function(a){for(var s=-1,l=yr(a.length,i);++s<l;)a[s]=n[s].call(this,a[s]);return Sn(t,this,a)}))})),js=Qi((function(t,n){var a=sr(n,lo(js));return Xa(t,c,i,n,a)})),Hs=Qi((function(t,n){var a=sr(n,lo(Hs));return Xa(t,64,i,n,a)})),zs=ro((function(t,n){return Xa(t,d,i,i,i,n)}));function Ws(t,n){return t===n||t!=t&&n!=n}var Ys=Wa(Ci),Gs=Wa((function(t,n){return t>=n})),Ks=Ii(function(){return arguments}())?Ii:function(t){return sl(t)&&It.call(t,"callee")&&!Ht.call(t,"callee")},Qs=vt.isArray,Xs=vn?Kn(vn):function(t){return sl(t)&&xi(t)==xe};function Zs(t){return null!=t&&al(t.length)&&!rl(t)}function Js(t){return sl(t)&&Zs(t)}var el=On||kc,tl=yn?Kn(yn):function(t){return sl(t)&&xi(t)==C};function nl(t){if(!sl(t))return!1;var n=xi(t);return n==E||"[object DOMException]"==n||"string"==typeof t.message&&"string"==typeof t.name&&!ul(t)}function rl(t){if(!ol(t))return!1;var n=xi(t);return n==T||n==P||"[object AsyncFunction]"==n||"[object Proxy]"==n}function il(t){return"number"==typeof t&&t==bl(t)}function al(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=m}function ol(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}function sl(t){return null!=t&&"object"==typeof t}var ll=_n?Kn(_n):function(t){return sl(t)&&vo(t)==I};function cl(t){return"number"==typeof t||sl(t)&&xi(t)==A}function ul(t){if(!sl(t)||xi(t)!=D)return!1;var n=Ut(t);if(null===n)return!0;var i=It.call(n,"constructor")&&n.constructor;return"function"==typeof i&&i instanceof i&&Pt.call(i)==Dt}var dl=bn?Kn(bn):function(t){return sl(t)&&xi(t)==_e},hl=wn?Kn(wn):function(t){return sl(t)&&vo(t)==be};function pl(t){return"string"==typeof t||!Qs(t)&&sl(t)&&xi(t)==we}function fl(t){return"symbol"==typeof t||sl(t)&&xi(t)==Se}var ml=kn?Kn(kn):function(t){return sl(t)&&al(t.length)&&!!nn[xi(t)]},gl=Wa(Bi),vl=Wa((function(t,n){return t<=n}));function yl(t){if(!t)return[];if(Zs(t))return pl(t)?ur(t):Na(t);if(Kt&&t[Kt])return function(t){for(var n,i=[];!(n=t.next()).done;)i.push(n.value);return i}(t[Kt]());var n=vo(t);return(n==I?ar:n==be?lr:Wl)(t)}function _l(t){return t?(t=kl(t))===f||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function bl(t){var n=_l(t),i=n%1;return n==n?i?n-i:n:0}function wl(t){return t?si(bl(t),0,v):0}function kl(t){if("number"==typeof t)return t;if(fl(t))return g;if(ol(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=ol(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=Gn(t);var i=ut.test(t);return i||ht.test(t)?ln(t.slice(2),i?2:8):ct.test(t)?g:+t}function Sl(t){return Pa(t,Bl(t))}function $l(t){return null==t?"":ca(t)}var xl=Aa((function(t,n){if(Co(n)||Zs(n))Pa(n,Vl(n),t);else for(var i in n)It.call(n,i)&&ti(t,i,n[i])})),Cl=Aa((function(t,n){Pa(n,Bl(n),t)})),El=Aa((function(t,n,i,a){Pa(n,Bl(n),t,a)})),Tl=Aa((function(t,n,i,a){Pa(n,Vl(n),t,a)})),Nl=ro(oi),Pl=Qi((function(t,n){t=kt(t);var a=-1,s=n.length,l=s>2?n[2]:i;for(l&&ko(n[0],n[1],l)&&(s=1);++a<s;)for(var c=n[a],u=Bl(c),d=-1,f=u.length;++d<f;){var m=u[d],g=t[m];(g===i||Ws(g,Tt[m])&&!It.call(t,m))&&(t[m]=c[m])}return t})),Il=Qi((function(t){return t.push(i,Ja),Sn(Fl,i,t)}));function Al(t,n,a){var s=null==t?i:Si(t,n);return s===i?a:s}function Ml(t,n){return null!=t&&yo(t,n,Ti)}var Rl=qa((function(t,n,i){null!=n&&"function"!=typeof n.toString&&(n=Rt.call(n)),t[n]=i}),oc(cc)),Dl=qa((function(t,n,i){null!=n&&"function"!=typeof n.toString&&(n=Rt.call(n)),It.call(t,n)?t[n].push(i):t[n]=[i]}),co),Ol=Qi(Pi);function Vl(t){return Zs(t)?Qr(t):Oi(t)}function Bl(t){return Zs(t)?Qr(t,!0):Vi(t)}var Ll=Aa((function(t,n,i){Ui(t,n,i)})),Fl=Aa((function(t,n,i,a){Ui(t,n,i,a)})),ql=ro((function(t,n){var i={};if(null==t)return i;var a=!1;n=In(n,(function(n){return n=_a(n,t),a||(a=n.length>1),n})),Pa(t,ao(t),i),a&&(i=li(i,7,eo));for(var s=n.length;s--;)da(i,n[s]);return i})),Ul=ro((function(t,n){return null==t?{}:function(t,n){return zi(t,n,(function(n,i){return Ml(t,i)}))}(t,n)}));function jl(t,n){if(null==t)return{};var i=In(ao(t),(function(t){return[t]}));return n=co(n),zi(t,i,(function(t,i){return n(t,i[0])}))}var Hl=Qa(Vl),zl=Qa(Bl);function Wl(t){return null==t?[]:Qn(t,Vl(t))}var Yl=Oa((function(t,n,i){return n=n.toLowerCase(),t+(i?Gl(n):n)}));function Gl(t){return nc($l(t).toLowerCase())}function Kl(t){return(t=$l(t))&&t.replace(ft,er).replace(Gt,"")}var Ql=Oa((function(t,n,i){return t+(i?"-":"")+n.toLowerCase()})),Xl=Oa((function(t,n,i){return t+(i?" ":"")+n.toLowerCase()})),Zl=Da("toLowerCase"),Jl=Oa((function(t,n,i){return t+(i?"_":"")+n.toLowerCase()})),ec=Oa((function(t,n,i){return t+(i?" ":"")+nc(n)})),tc=Oa((function(t,n,i){return t+(i?" ":"")+n.toUpperCase()})),nc=Da("toUpperCase");function rc(t,n,a){return t=$l(t),(n=a?i:n)===i?function(t){return Zt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(it)||[]}(t):t.match(n)||[]}var ic=Qi((function(t,n){try{return Sn(t,i,n)}catch(e){return nl(e)?e:new _t(e)}})),ac=ro((function(t,n){return xn(n,(function(n){n=Uo(n),ai(t,n,Ds(t[n],t))})),t}));function oc(t){return function(){return t}}var sc=La(),lc=La(!0);function cc(t){return t}function uc(t){return Di("function"==typeof t?t:li(t,1))}var dc=Qi((function(t,n){return function(i){return Pi(i,t,n)}})),hc=Qi((function(t,n){return function(i){return Pi(t,i,n)}}));function pc(t,n,i){var a=Vl(n),s=ki(n,a);null!=i||ol(n)&&(s.length||!a.length)||(i=n,n=t,t=this,s=ki(n,Vl(n)));var l=!(ol(i)&&"chain"in i&&!i.chain),c=rl(t);return xn(s,(function(i){var a=n[i];t[i]=a,c&&(t.prototype[i]=function(){var n=this.__chain__;if(l||n){var i=t(this.__wrapped__);return(i.__actions__=Na(this.__actions__)).push({func:a,args:arguments,thisArg:t}),i.__chain__=n,i}return a.apply(t,An([this.value()],arguments))})})),t}function fc(){}var mc=ja(In),gc=ja(En),vc=ja(Dn);function yc(t){return So(t)?jn(Uo(t)):function(t){return function(n){return Si(n,t)}}(t)}var _c=za(),bc=za(!0);function wc(){return[]}function kc(){return!1}var Sc,$c=Ua((function(t,n){return t+n}),0),xc=Ga("ceil"),Cc=Ua((function(t,n){return t/n}),1),Ec=Ga("floor"),Tc=Ua((function(t,n){return t*n}),1),Nc=Ga("round"),Pc=Ua((function(t,n){return t-n}),0);return Fr.after=function(t,n){if("function"!=typeof n)throw new xt(a);return t=bl(t),function(){if(--t<1)return n.apply(this,arguments)}},Fr.ary=Ms,Fr.assign=xl,Fr.assignIn=Cl,Fr.assignInWith=El,Fr.assignWith=Tl,Fr.at=Nl,Fr.before=Rs,Fr.bind=Ds,Fr.bindAll=ac,Fr.bindKey=Os,Fr.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Qs(t)?t:[t]},Fr.chain=ys,Fr.chunk=function(t,n,a){n=(a?ko(t,n,a):n===i)?1:vr(bl(n),0);var s=null==t?0:t.length;if(!s||n<1)return[];for(var l=0,c=0,u=vt(pn(s/n));l<s;)u[c++]=ra(t,l,l+=n);return u},Fr.compact=function(t){for(var n=-1,i=null==t?0:t.length,a=0,s=[];++n<i;){var l=t[n];l&&(s[a++]=l)}return s},Fr.concat=function(){var t=arguments.length;if(!t)return[];for(var n=vt(t-1),i=arguments[0],a=t;a--;)n[a-1]=arguments[a];return An(Qs(i)?Na(i):[i],vi(n,1))},Fr.cond=function(t){var n=null==t?0:t.length,i=co();return t=n?In(t,(function(t){if("function"!=typeof t[1])throw new xt(a);return[i(t[0]),t[1]]})):[],Qi((function(i){for(var a=-1;++a<n;){var s=t[a];if(Sn(s[0],this,i))return Sn(s[1],this,i)}}))},Fr.conforms=function(t){return function(t){var n=Vl(t);return function(i){return ci(i,t,n)}}(li(t,1))},Fr.constant=oc,Fr.countBy=ws,Fr.create=function(t,n){var i=qr(t);return null==n?i:ii(i,n)},Fr.curry=function t(n,a,s){var l=Xa(n,8,i,i,i,i,i,a=s?i:a);return l.placeholder=t.placeholder,l},Fr.curryRight=function t(n,a,s){var l=Xa(n,16,i,i,i,i,i,a=s?i:a);return l.placeholder=t.placeholder,l},Fr.debounce=Vs,Fr.defaults=Pl,Fr.defaultsDeep=Il,Fr.defer=Bs,Fr.delay=Ls,Fr.difference=zo,Fr.differenceBy=Wo,Fr.differenceWith=Yo,Fr.drop=function(t,n,a){var s=null==t?0:t.length;return s?ra(t,(n=a||n===i?1:bl(n))<0?0:n,s):[]},Fr.dropRight=function(t,n,a){var s=null==t?0:t.length;return s?ra(t,0,(n=s-(n=a||n===i?1:bl(n)))<0?0:n):[]},Fr.dropRightWhile=function(t,n){return t&&t.length?pa(t,co(n,3),!0,!0):[]},Fr.dropWhile=function(t,n){return t&&t.length?pa(t,co(n,3),!0):[]},Fr.fill=function(t,n,a,s){var l=null==t?0:t.length;return l?(a&&"number"!=typeof a&&ko(t,n,a)&&(a=0,s=l),function(t,n,a,s){var l=t.length;for((a=bl(a))<0&&(a=-a>l?0:l+a),(s=s===i||s>l?l:bl(s))<0&&(s+=l),s=a>s?0:wl(s);a<s;)t[a++]=n;return t}(t,n,a,s)):[]},Fr.filter=function(t,n){return(Qs(t)?Tn:gi)(t,co(n,3))},Fr.flatMap=function(t,n){return vi(Ns(t,n),1)},Fr.flatMapDeep=function(t,n){return vi(Ns(t,n),f)},Fr.flatMapDepth=function(t,n,a){return a=a===i?1:bl(a),vi(Ns(t,n),a)},Fr.flatten=Qo,Fr.flattenDeep=function(t){return null!=t&&t.length?vi(t,f):[]},Fr.flattenDepth=function(t,n){return null!=t&&t.length?vi(t,n=n===i?1:bl(n)):[]},Fr.flip=function(t){return Xa(t,512)},Fr.flow=sc,Fr.flowRight=lc,Fr.fromPairs=function(t){for(var n=-1,i=null==t?0:t.length,a={};++n<i;){var s=t[n];a[s[0]]=s[1]}return a},Fr.functions=function(t){return null==t?[]:ki(t,Vl(t))},Fr.functionsIn=function(t){return null==t?[]:ki(t,Bl(t))},Fr.groupBy=Cs,Fr.initial=function(t){return null!=t&&t.length?ra(t,0,-1):[]},Fr.intersection=Zo,Fr.intersectionBy=Jo,Fr.intersectionWith=es,Fr.invert=Rl,Fr.invertBy=Dl,Fr.invokeMap=Es,Fr.iteratee=uc,Fr.keyBy=Ts,Fr.keys=Vl,Fr.keysIn=Bl,Fr.map=Ns,Fr.mapKeys=function(t,n){var i={};return n=co(n,3),bi(t,(function(t,a,s){ai(i,n(t,a,s),t)})),i},Fr.mapValues=function(t,n){var i={};return n=co(n,3),bi(t,(function(t,a,s){ai(i,a,n(t,a,s))})),i},Fr.matches=function(t){return Fi(li(t,1))},Fr.matchesProperty=function(t,n){return qi(t,li(n,1))},Fr.memoize=Fs,Fr.merge=Ll,Fr.mergeWith=Fl,Fr.method=dc,Fr.methodOf=hc,Fr.mixin=pc,Fr.negate=qs,Fr.nthArg=function(t){return t=bl(t),Qi((function(n){return ji(n,t)}))},Fr.omit=ql,Fr.omitBy=function(t,n){return jl(t,qs(co(n)))},Fr.once=function(t){return Rs(2,t)},Fr.orderBy=function(t,n,a,s){return null==t?[]:(Qs(n)||(n=null==n?[]:[n]),Qs(a=s?i:a)||(a=null==a?[]:[a]),Hi(t,n,a))},Fr.over=mc,Fr.overArgs=Us,Fr.overEvery=gc,Fr.overSome=vc,Fr.partial=js,Fr.partialRight=Hs,Fr.partition=Ps,Fr.pick=Ul,Fr.pickBy=jl,Fr.property=yc,Fr.propertyOf=function(t){return function(n){return null==t?i:Si(t,n)}},Fr.pull=ns,Fr.pullAll=rs,Fr.pullAllBy=function(t,n,i){return t&&t.length&&n&&n.length?Wi(t,n,co(i,2)):t},Fr.pullAllWith=function(t,n,a){return t&&t.length&&n&&n.length?Wi(t,n,i,a):t},Fr.pullAt=is,Fr.range=_c,Fr.rangeRight=bc,Fr.rearg=zs,Fr.reject=function(t,n){return(Qs(t)?Tn:gi)(t,qs(co(n,3)))},Fr.remove=function(t,n){var i=[];if(!t||!t.length)return i;var a=-1,s=[],l=t.length;for(n=co(n,3);++a<l;){var c=t[a];n(c,a,t)&&(i.push(c),s.push(a))}return Yi(t,s),i},Fr.rest=function(t,n){if("function"!=typeof t)throw new xt(a);return Qi(t,n=n===i?n:bl(n))},Fr.reverse=os,Fr.sampleSize=function(t,n,a){return n=(a?ko(t,n,a):n===i)?1:bl(n),(Qs(t)?Zr:Zi)(t,n)},Fr.set=function(t,n,i){return null==t?t:Ji(t,n,i)},Fr.setWith=function(t,n,a,s){return s="function"==typeof s?s:i,null==t?t:Ji(t,n,a,s)},Fr.shuffle=function(t){return(Qs(t)?Jr:na)(t)},Fr.slice=function(t,n,a){var s=null==t?0:t.length;return s?(a&&"number"!=typeof a&&ko(t,n,a)?(n=0,a=s):(n=null==n?0:bl(n),a=a===i?s:bl(a)),ra(t,n,a)):[]},Fr.sortBy=Is,Fr.sortedUniq=function(t){return t&&t.length?sa(t):[]},Fr.sortedUniqBy=function(t,n){return t&&t.length?sa(t,co(n,2)):[]},Fr.split=function(t,n,a){return a&&"number"!=typeof a&&ko(t,n,a)&&(n=a=i),(a=a===i?v:a>>>0)?(t=$l(t))&&("string"==typeof n||null!=n&&!dl(n))&&!(n=ca(n))&&ir(t)?wa(ur(t),0,a):t.split(n,a):[]},Fr.spread=function(t,n){if("function"!=typeof t)throw new xt(a);return n=null==n?0:vr(bl(n),0),Qi((function(i){var a=i[n],s=wa(i,0,n);return a&&An(s,a),Sn(t,this,s)}))},Fr.tail=function(t){var n=null==t?0:t.length;return n?ra(t,1,n):[]},Fr.take=function(t,n,a){return t&&t.length?ra(t,0,(n=a||n===i?1:bl(n))<0?0:n):[]},Fr.takeRight=function(t,n,a){var s=null==t?0:t.length;return s?ra(t,(n=s-(n=a||n===i?1:bl(n)))<0?0:n,s):[]},Fr.takeRightWhile=function(t,n){return t&&t.length?pa(t,co(n,3),!1,!0):[]},Fr.takeWhile=function(t,n){return t&&t.length?pa(t,co(n,3)):[]},Fr.tap=function(t,n){return n(t),t},Fr.throttle=function(t,n,i){var s=!0,l=!0;if("function"!=typeof t)throw new xt(a);return ol(i)&&(s="leading"in i?!!i.leading:s,l="trailing"in i?!!i.trailing:l),Vs(t,n,{leading:s,maxWait:n,trailing:l})},Fr.thru=_s,Fr.toArray=yl,Fr.toPairs=Hl,Fr.toPairsIn=zl,Fr.toPath=function(t){return Qs(t)?In(t,Uo):fl(t)?[t]:Na(qo($l(t)))},Fr.toPlainObject=Sl,Fr.transform=function(t,n,i){var a=Qs(t),s=a||el(t)||ml(t);if(n=co(n,4),null==i){var l=t&&t.constructor;i=s?a?new l:[]:ol(t)&&rl(l)?qr(Ut(t)):{}}return(s?xn:bi)(t,(function(t,a,s){return n(i,t,a,s)})),i},Fr.unary=function(t){return Ms(t,1)},Fr.union=ss,Fr.unionBy=ls,Fr.unionWith=cs,Fr.uniq=function(t){return t&&t.length?ua(t):[]},Fr.uniqBy=function(t,n){return t&&t.length?ua(t,co(n,2)):[]},Fr.uniqWith=function(t,n){return n="function"==typeof n?n:i,t&&t.length?ua(t,i,n):[]},Fr.unset=function(t,n){return null==t||da(t,n)},Fr.unzip=us,Fr.unzipWith=ds,Fr.update=function(t,n,i){return null==t?t:ha(t,n,ya(i))},Fr.updateWith=function(t,n,a,s){return s="function"==typeof s?s:i,null==t?t:ha(t,n,ya(a),s)},Fr.values=Wl,Fr.valuesIn=function(t){return null==t?[]:Qn(t,Bl(t))},Fr.without=hs,Fr.words=rc,Fr.wrap=function(t,n){return js(ya(n),t)},Fr.xor=ps,Fr.xorBy=fs,Fr.xorWith=ms,Fr.zip=gs,Fr.zipObject=function(t,n){return ga(t||[],n||[],ti)},Fr.zipObjectDeep=function(t,n){return ga(t||[],n||[],Ji)},Fr.zipWith=vs,Fr.entries=Hl,Fr.entriesIn=zl,Fr.extend=Cl,Fr.extendWith=El,pc(Fr,Fr),Fr.add=$c,Fr.attempt=ic,Fr.camelCase=Yl,Fr.capitalize=Gl,Fr.ceil=xc,Fr.clamp=function(t,n,a){return a===i&&(a=n,n=i),a!==i&&(a=(a=kl(a))==a?a:0),n!==i&&(n=(n=kl(n))==n?n:0),si(kl(t),n,a)},Fr.clone=function(t){return li(t,4)},Fr.cloneDeep=function(t){return li(t,5)},Fr.cloneDeepWith=function(t,n){return li(t,5,n="function"==typeof n?n:i)},Fr.cloneWith=function(t,n){return li(t,4,n="function"==typeof n?n:i)},Fr.conformsTo=function(t,n){return null==n||ci(t,n,Vl(n))},Fr.deburr=Kl,Fr.defaultTo=function(t,n){return null==t||t!=t?n:t},Fr.divide=Cc,Fr.endsWith=function(t,n,a){t=$l(t),n=ca(n);var s=t.length,l=a=a===i?s:si(bl(a),0,s);return(a-=n.length)>=0&&t.slice(a,l)==n},Fr.eq=Ws,Fr.escape=function(t){return(t=$l(t))&&je.test(t)?t.replace(qe,nr):t},Fr.escapeRegExp=function(t){return(t=$l(t))&&Xe.test(t)?t.replace(Qe,"\\$&"):t},Fr.every=function(t,n,a){var s=Qs(t)?En:fi;return a&&ko(t,n,a)&&(n=i),s(t,co(n,3))},Fr.find=ks,Fr.findIndex=Go,Fr.findKey=function(t,n){return Vn(t,co(n,3),bi)},Fr.findLast=Ss,Fr.findLastIndex=Ko,Fr.findLastKey=function(t,n){return Vn(t,co(n,3),wi)},Fr.floor=Ec,Fr.forEach=$s,Fr.forEachRight=xs,Fr.forIn=function(t,n){return null==t?t:yi(t,co(n,3),Bl)},Fr.forInRight=function(t,n){return null==t?t:_i(t,co(n,3),Bl)},Fr.forOwn=function(t,n){return t&&bi(t,co(n,3))},Fr.forOwnRight=function(t,n){return t&&wi(t,co(n,3))},Fr.get=Al,Fr.gt=Ys,Fr.gte=Gs,Fr.has=function(t,n){return null!=t&&yo(t,n,Ei)},Fr.hasIn=Ml,Fr.head=Xo,Fr.identity=cc,Fr.includes=function(t,n,i,a){t=Zs(t)?t:Wl(t),i=i&&!a?bl(i):0;var s=t.length;return i<0&&(i=vr(s+i,0)),pl(t)?i<=s&&t.indexOf(n,i)>-1:!!s&&Ln(t,n,i)>-1},Fr.indexOf=function(t,n,i){var a=null==t?0:t.length;if(!a)return-1;var s=null==i?0:bl(i);return s<0&&(s=vr(a+s,0)),Ln(t,n,s)},Fr.inRange=function(t,n,a){return n=_l(n),a===i?(a=n,n=0):a=_l(a),function(t,n,i){return t>=yr(n,i)&&t<vr(n,i)}(t=kl(t),n,a)},Fr.invoke=Ol,Fr.isArguments=Ks,Fr.isArray=Qs,Fr.isArrayBuffer=Xs,Fr.isArrayLike=Zs,Fr.isArrayLikeObject=Js,Fr.isBoolean=function(t){return!0===t||!1===t||sl(t)&&xi(t)==S},Fr.isBuffer=el,Fr.isDate=tl,Fr.isElement=function(t){return sl(t)&&1===t.nodeType&&!ul(t)},Fr.isEmpty=function(t){if(null==t)return!0;if(Zs(t)&&(Qs(t)||"string"==typeof t||"function"==typeof t.splice||el(t)||ml(t)||Ks(t)))return!t.length;var n=vo(t);if(n==I||n==be)return!t.size;if(Co(t))return!Oi(t).length;for(var i in t)if(It.call(t,i))return!1;return!0},Fr.isEqual=function(t,n){return Ai(t,n)},Fr.isEqualWith=function(t,n,a){var s=(a="function"==typeof a?a:i)?a(t,n):i;return s===i?Ai(t,n,i,a):!!s},Fr.isError=nl,Fr.isFinite=function(t){return"number"==typeof t&&Hn(t)},Fr.isFunction=rl,Fr.isInteger=il,Fr.isLength=al,Fr.isMap=ll,Fr.isMatch=function(t,n){return t===n||Mi(t,n,ho(n))},Fr.isMatchWith=function(t,n,a){return a="function"==typeof a?a:i,Mi(t,n,ho(n),a)},Fr.isNaN=function(t){return cl(t)&&t!=+t},Fr.isNative=function(t){if(xo(t))throw new _t("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Ri(t)},Fr.isNil=function(t){return null==t},Fr.isNull=function(t){return null===t},Fr.isNumber=cl,Fr.isObject=ol,Fr.isObjectLike=sl,Fr.isPlainObject=ul,Fr.isRegExp=dl,Fr.isSafeInteger=function(t){return il(t)&&t>=-9007199254740991&&t<=m},Fr.isSet=hl,Fr.isString=pl,Fr.isSymbol=fl,Fr.isTypedArray=ml,Fr.isUndefined=function(t){return t===i},Fr.isWeakMap=function(t){return sl(t)&&vo(t)==$e},Fr.isWeakSet=function(t){return sl(t)&&"[object WeakSet]"==xi(t)},Fr.join=function(t,n){return null==t?"":mr.call(t,n)},Fr.kebabCase=Ql,Fr.last=ts,Fr.lastIndexOf=function(t,n,a){var s=null==t?0:t.length;if(!s)return-1;var l=s;return a!==i&&(l=(l=bl(a))<0?vr(s+l,0):yr(l,s-1)),n==n?function(t,n,i){for(var a=i+1;a--;)if(t[a]===n)return a;return a}(t,n,l):Bn(t,qn,l,!0)},Fr.lowerCase=Xl,Fr.lowerFirst=Zl,Fr.lt=gl,Fr.lte=vl,Fr.max=function(t){return t&&t.length?mi(t,cc,Ci):i},Fr.maxBy=function(t,n){return t&&t.length?mi(t,co(n,2),Ci):i},Fr.mean=function(t){return Un(t,cc)},Fr.meanBy=function(t,n){return Un(t,co(n,2))},Fr.min=function(t){return t&&t.length?mi(t,cc,Bi):i},Fr.minBy=function(t,n){return t&&t.length?mi(t,co(n,2),Bi):i},Fr.stubArray=wc,Fr.stubFalse=kc,Fr.stubObject=function(){return{}},Fr.stubString=function(){return""},Fr.stubTrue=function(){return!0},Fr.multiply=Tc,Fr.nth=function(t,n){return t&&t.length?ji(t,bl(n)):i},Fr.noConflict=function(){return dn._===this&&(dn._=Ot),this},Fr.noop=fc,Fr.now=As,Fr.pad=function(t,n,i){t=$l(t);var a=(n=bl(n))?cr(t):0;if(!n||a>=n)return t;var s=(n-a)/2;return Ha(mn(s),i)+t+Ha(pn(s),i)},Fr.padEnd=function(t,n,i){t=$l(t);var a=(n=bl(n))?cr(t):0;return n&&a<n?t+Ha(n-a,i):t},Fr.padStart=function(t,n,i){t=$l(t);var a=(n=bl(n))?cr(t):0;return n&&a<n?Ha(n-a,i)+t:t},Fr.parseInt=function(t,n,i){return i||null==n?n=0:n&&(n=+n),wr($l(t).replace(Ze,""),n||0)},Fr.random=function(t,n,a){if(a&&"boolean"!=typeof a&&ko(t,n,a)&&(n=a=i),a===i&&("boolean"==typeof n?(a=n,n=i):"boolean"==typeof t&&(a=t,t=i)),t===i&&n===i?(t=0,n=1):(t=_l(t),n===i?(n=t,t=0):n=_l(n)),t>n){var s=t;t=n,n=s}if(a||t%1||n%1){var l=kr();return yr(t+l*(n-t+sn("1e-"+((l+"").length-1))),n)}return Gi(t,n)},Fr.reduce=function(t,n,i){var a=Qs(t)?Mn:zn,s=arguments.length<3;return a(t,co(n,4),i,s,hi)},Fr.reduceRight=function(t,n,i){var a=Qs(t)?Rn:zn,s=arguments.length<3;return a(t,co(n,4),i,s,pi)},Fr.repeat=function(t,n,a){return n=(a?ko(t,n,a):n===i)?1:bl(n),Ki($l(t),n)},Fr.replace=function(){var t=arguments,n=$l(t[0]);return t.length<3?n:n.replace(t[1],t[2])},Fr.result=function(t,n,a){var s=-1,l=(n=_a(n,t)).length;for(l||(l=1,t=i);++s<l;){var c=null==t?i:t[Uo(n[s])];c===i&&(s=l,c=a),t=rl(c)?c.call(t):c}return t},Fr.round=Nc,Fr.runInContext=t,Fr.sample=function(t){return(Qs(t)?Xr:Xi)(t)},Fr.size=function(t){if(null==t)return 0;if(Zs(t))return pl(t)?cr(t):t.length;var n=vo(t);return n==I||n==be?t.size:Oi(t).length},Fr.snakeCase=Jl,Fr.some=function(t,n,a){var s=Qs(t)?Dn:ia;return a&&ko(t,n,a)&&(n=i),s(t,co(n,3))},Fr.sortedIndex=function(t,n){return aa(t,n)},Fr.sortedIndexBy=function(t,n,i){return oa(t,n,co(i,2))},Fr.sortedIndexOf=function(t,n){var i=null==t?0:t.length;if(i){var a=aa(t,n);if(a<i&&Ws(t[a],n))return a}return-1},Fr.sortedLastIndex=function(t,n){return aa(t,n,!0)},Fr.sortedLastIndexBy=function(t,n,i){return oa(t,n,co(i,2),!0)},Fr.sortedLastIndexOf=function(t,n){if(null!=t&&t.length){var i=aa(t,n,!0)-1;if(Ws(t[i],n))return i}return-1},Fr.startCase=ec,Fr.startsWith=function(t,n,i){return t=$l(t),i=null==i?0:si(bl(i),0,t.length),n=ca(n),t.slice(i,i+n.length)==n},Fr.subtract=Pc,Fr.sum=function(t){return t&&t.length?Wn(t,cc):0},Fr.sumBy=function(t,n){return t&&t.length?Wn(t,co(n,2)):0},Fr.template=function(t,n,a){var s=Fr.templateSettings;a&&ko(t,n,a)&&(n=i),t=$l(t),n=El({},n,s,Za);var l,c,u=El({},n.imports,s.imports,Za),d=Vl(u),f=Qn(u,d),m=0,g=n.interpolate||mt,v="__p += '",b=St((n.escape||mt).source+"|"+g.source+"|"+(g===We?st:mt).source+"|"+(n.evaluate||mt).source+"|$","g"),w="//# sourceURL="+(It.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++tn+"]")+"\n";t.replace(b,(function(n,i,a,s,u,d){return a||(a=s),v+=t.slice(m,d).replace(gt,rr),i&&(l=!0,v+="' +\n__e("+i+") +\n'"),u&&(c=!0,v+="';\n"+u+";\n__p += '"),a&&(v+="' +\n((__t = ("+a+")) == null ? '' : __t) +\n'"),m=d+n.length,n})),v+="';\n";var k=It.call(n,"variable")&&n.variable;if(k){if(at.test(k))throw new _t("Invalid `variable` option passed into `_.template`")}else v="with (obj) {\n"+v+"\n}\n";v=(c?v.replace(Ve,""):v).replace(Be,"$1").replace(Le,"$1;"),v="function("+(k||"obj")+") {\n"+(k?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(l?", __e = _.escape":"")+(c?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+v+"return __p\n}";var S=ic((function(){return bt(d,w+"return "+v).apply(i,f)}));if(S.source=v,nl(S))throw S;return S},Fr.times=function(t,n){if((t=bl(t))<1||t>m)return[];var i=v,a=yr(t,v);n=co(n),t-=v;for(var s=Yn(a,n);++i<t;)n(i);return s},Fr.toFinite=_l,Fr.toInteger=bl,Fr.toLength=wl,Fr.toLower=function(t){return $l(t).toLowerCase()},Fr.toNumber=kl,Fr.toSafeInteger=function(t){return t?si(bl(t),-9007199254740991,m):0===t?t:0},Fr.toString=$l,Fr.toUpper=function(t){return $l(t).toUpperCase()},Fr.trim=function(t,n,a){if((t=$l(t))&&(a||n===i))return Gn(t);if(!t||!(n=ca(n)))return t;var s=ur(t),l=ur(n);return wa(s,Zn(s,l),Jn(s,l)+1).join("")},Fr.trimEnd=function(t,n,a){if((t=$l(t))&&(a||n===i))return t.slice(0,dr(t)+1);if(!t||!(n=ca(n)))return t;var s=ur(t);return wa(s,0,Jn(s,ur(n))+1).join("")},Fr.trimStart=function(t,n,a){if((t=$l(t))&&(a||n===i))return t.replace(Ze,"");if(!t||!(n=ca(n)))return t;var s=ur(t);return wa(s,Zn(s,ur(n))).join("")},Fr.truncate=function(t,n){var a=30,s="...";if(ol(n)){var l="separator"in n?n.separator:l;a="length"in n?bl(n.length):a,s="omission"in n?ca(n.omission):s}var c=(t=$l(t)).length;if(ir(t)){var u=ur(t);c=u.length}if(a>=c)return t;var d=a-cr(s);if(d<1)return s;var f=u?wa(u,0,d).join(""):t.slice(0,d);if(l===i)return f+s;if(u&&(d+=f.length-d),dl(l)){if(t.slice(d).search(l)){var m,g=f;for(l.global||(l=St(l.source,$l(lt.exec(l))+"g")),l.lastIndex=0;m=l.exec(g);)var v=m.index;f=f.slice(0,v===i?d:v)}}else if(t.indexOf(ca(l),d)!=d){var b=f.lastIndexOf(l);b>-1&&(f=f.slice(0,b))}return f+s},Fr.unescape=function(t){return(t=$l(t))&&Ue.test(t)?t.replace(Fe,pr):t},Fr.uniqueId=function(t){var n=++At;return $l(t)+n},Fr.upperCase=tc,Fr.upperFirst=nc,Fr.each=$s,Fr.eachRight=xs,Fr.first=Xo,pc(Fr,(Sc={},bi(Fr,(function(t,n){It.call(Fr.prototype,n)||(Sc[n]=t)})),Sc),{chain:!1}),Fr.VERSION="4.17.21",xn(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Fr[t].placeholder=Fr})),xn(["drop","take"],(function(t,n){Hr.prototype[t]=function(a){a=a===i?1:vr(bl(a),0);var s=this.__filtered__&&!n?new Hr(this):this.clone();return s.__filtered__?s.__takeCount__=yr(a,s.__takeCount__):s.__views__.push({size:yr(a,v),type:t+(s.__dir__<0?"Right":"")}),s},Hr.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}})),xn(["filter","map","takeWhile"],(function(t,n){var i=n+1,a=1==i||3==i;Hr.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:co(t,3),type:i}),n.__filtered__=n.__filtered__||a,n}})),xn(["head","last"],(function(t,n){var i="take"+(n?"Right":"");Hr.prototype[t]=function(){return this[i](1).value()[0]}})),xn(["initial","tail"],(function(t,n){var i="drop"+(n?"":"Right");Hr.prototype[t]=function(){return this.__filtered__?new Hr(this):this[i](1)}})),Hr.prototype.compact=function(){return this.filter(cc)},Hr.prototype.find=function(t){return this.filter(t).head()},Hr.prototype.findLast=function(t){return this.reverse().find(t)},Hr.prototype.invokeMap=Qi((function(t,n){return"function"==typeof t?new Hr(this):this.map((function(i){return Pi(i,t,n)}))})),Hr.prototype.reject=function(t){return this.filter(qs(co(t)))},Hr.prototype.slice=function(t,n){t=bl(t);var a=this;return a.__filtered__&&(t>0||n<0)?new Hr(a):(t<0?a=a.takeRight(-t):t&&(a=a.drop(t)),n!==i&&(a=(n=bl(n))<0?a.dropRight(-n):a.take(n-t)),a)},Hr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Hr.prototype.toArray=function(){return this.take(v)},bi(Hr.prototype,(function(t,n){var a=/^(?:filter|find|map|reject)|While$/.test(n),s=/^(?:head|last)$/.test(n),l=Fr[s?"take"+("last"==n?"Right":""):n],c=s||/^find/.test(n);l&&(Fr.prototype[n]=function(){var n=this.__wrapped__,u=s?[1]:arguments,d=n instanceof Hr,f=u[0],m=d||Qs(n),g=function(t){var n=l.apply(Fr,An([t],u));return s&&v?n[0]:n};m&&a&&"function"==typeof f&&1!=f.length&&(d=m=!1);var v=this.__chain__,b=!!this.__actions__.length,w=c&&!v,k=d&&!b;if(!c&&m){n=k?n:new Hr(this);var S=t.apply(n,u);return S.__actions__.push({func:_s,args:[g],thisArg:i}),new jr(S,v)}return w&&k?t.apply(this,u):(S=this.thru(g),w?s?S.value()[0]:S.value():S)})})),xn(["pop","push","shift","sort","splice","unshift"],(function(t){var n=Ct[t],i=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",a=/^(?:pop|shift)$/.test(t);Fr.prototype[t]=function(){var t=arguments;if(a&&!this.__chain__){var s=this.value();return n.apply(Qs(s)?s:[],t)}return this[i]((function(i){return n.apply(Qs(i)?i:[],t)}))}})),bi(Hr.prototype,(function(t,n){var i=Fr[n];if(i){var a=i.name+"";It.call(Ir,a)||(Ir[a]=[]),Ir[a].push({name:n,func:i})}})),Ir[Fa(i,2).name]=[{name:"wrapper",func:i}],Hr.prototype.clone=function(){var t=new Hr(this.__wrapped__);return t.__actions__=Na(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Na(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Na(this.__views__),t},Hr.prototype.reverse=function(){if(this.__filtered__){var t=new Hr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Hr.prototype.value=function(){var t=this.__wrapped__.value(),n=this.__dir__,i=Qs(t),a=n<0,s=i?t.length:0,l=function(t,n,i){for(var a=-1,s=i.length;++a<s;){var l=i[a],c=l.size;switch(l.type){case"drop":t+=c;break;case"dropRight":n-=c;break;case"take":n=yr(n,t+c);break;case"takeRight":t=vr(t,n-c)}}return{start:t,end:n}}(0,s,this.__views__),c=l.start,u=l.end,d=u-c,f=a?u:c-1,m=this.__iteratees__,g=m.length,v=0,b=yr(d,this.__takeCount__);if(!i||!a&&s==d&&b==d)return fa(t,this.__actions__);var w=[];e:for(;d--&&v<b;){for(var k=-1,S=t[f+=n];++k<g;){var C=m[k],E=C.iteratee,T=C.type,P=E(S);if(2==T)S=P;else if(!P){if(1==T)continue e;break e}}w[v++]=S}return w},Fr.prototype.at=bs,Fr.prototype.chain=function(){return ys(this)},Fr.prototype.commit=function(){return new jr(this.value(),this.__chain__)},Fr.prototype.next=function(){this.__values__===i&&(this.__values__=yl(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Fr.prototype.plant=function(t){for(var n,a=this;a instanceof Ur;){var s=Ho(a);s.__index__=0,s.__values__=i,n?l.__wrapped__=s:n=s;var l=s;a=a.__wrapped__}return l.__wrapped__=t,n},Fr.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Hr){var n=t;return this.__actions__.length&&(n=new Hr(this)),(n=n.reverse()).__actions__.push({func:_s,args:[os],thisArg:i}),new jr(n,this.__chain__)}return this.thru(os)},Fr.prototype.toJSON=Fr.prototype.valueOf=Fr.prototype.value=function(){return fa(this.__wrapped__,this.__actions__)},Fr.prototype.first=Fr.prototype.head,Kt&&(Fr.prototype[Kt]=function(){return this}),Fr}();pn?((pn.exports=fr)._=fr,hn._=fr):dn._=fr}.call(lodash)),lodash$1.exports;var t,n}var lodashExports=requireLodash();const _=getDefaultExportFromCjs$4(lodashExports),_sfc_main$b=defineComponent$1({name:"CoursesView",components:{NewCourseDialog:NewCourseDialog,CourseStubCard:CourseStubCard},data:()=>({existingCourses:[],registeredCourses:[],awaitingCreateCourse:!1,spinnerMap:{},newCourseDialog:!1,user:null,myQuiltsPanel:0,showAllCourses:!1,coursesPerPage:8}),computed:{availableCourses(){const t=_.without(this.existingCourses,...this.registeredCourses),n=this.user?.getUsername();return t.filter((t=>{if(!n)return!1;return t.public||t.creator===n||-1!==t.admins.indexOf(n)||-1!==t.moderators.indexOf(n)}))},displayedAvailableCourses(){return this.showAllCourses?this.availableCourses:this.availableCourses.slice(0,this.coursesPerPage)},hasMoreCourses(){return this.availableCourses.length>this.coursesPerPage},newCourseAttrs(){return{attrs:{"aria-label":"Create new quilt"},on:{click:()=>this.newCourseDialog=!0}}}},async created(){this.user=await getCurrentUser(),this.refreshData()},methods:{processResponse(){this.newCourseDialog=!1,this.refreshData()},toggleShowMore(){this.showAllCourses=!this.showAllCourses},async refreshData(){console.log("Pulling user course data...");try{const t=(await this.user.getCourseRegistrationsDoc()).courses.filter((t=>"active"===t.status||"maintenance-mode"===t.status||void 0===t.status)).map((t=>t.courseID));console.log(`userCourseIDs: ${t}`),this.existingCourses=await getDataLayer().getCoursesDB().getCourseList(),console.log(`existingCourses: \n\t${this.existingCourses.map((t=>t.name)).join(",\n\t")}`),this.registeredCourses=this.existingCourses.filter((n=>{let i=!1;return t.forEach((t=>{n.courseID===t&&(i=!0)})),i}))}catch(e){console.error("Error refreshing course data:",e),alertUser({status:Status.error,text:`Failed to load courses: ${e||"Database access error"}`})}},async createCourse(){this.awaitingCreateCourse=!0;const t=await serverRequest({type:ServerRequestType.CREATE_COURSE,data:{name:"testCourseName",description:"All of these courses will be the same!",public:!0,deleted:!1,creator:this.user.getUsername(),admins:[this.user.getUsername()],moderators:[],dataShapes:[],questionTypes:[]},user:this.user.getUsername(),response:null});alertUser({status:t.response,text:`Course ${JSON.stringify(t)} created`}),this.awaitingCreateCourse=!1},async addCourse(t){this.spinnerMap[t]=!0,console.log(`Attempting to register for ${t}.`),await(this.user?.registerForCourse(t)),delete this.spinnerMap[t],this.refreshData()},async dropCourse(t){this.spinnerMap[t]=!0,console.log(`Attempting to drop ${t}.`),await(this.user?.dropCourse(t)),delete this.spinnerMap[t],this.refreshData()}}}),_hoisted_1$5={class:"d-flex align-center justify-space-between"},_hoisted_2$2={"data-cy":"registered-course",class:"d-flex align-center"};function _sfc_render$b(t,n,i,a,s,l){const c=resolveComponent("v-btn"),u=resolveComponent("v-expansion-panel-title"),d=resolveComponent("router-link"),f=resolveComponent("v-icon"),m=resolveComponent("v-card"),g=resolveComponent("v-col"),v=resolveComponent("v-row"),b=resolveComponent("v-expansion-panel-text"),w=resolveComponent("v-expansion-panel"),k=resolveComponent("v-expansion-panels"),S=resolveComponent("course-stub-card"),C=resolveComponent("new-course-dialog"),E=resolveComponent("v-dialog"),T=resolveComponent("v-container");return openBlock(),createBlock(T,{fluid:""},{default:withCtx((()=>[createVNode(c,mergeProps({color:"primary",fixed:"",location:"bottom right",icon:"mdi-plus",size:"large",class:"mb-4 mr-4","data-cy":"create-course-fab"},t.newCourseAttrs,toHandlers(t.newCourseAttrs.on)),null,16),createVNode(v,null,{default:withCtx((()=>[createVNode(g,{cols:"12"},{default:withCtx((()=>[createVNode(k,{modelValue:t.myQuiltsPanel,"onUpdate:modelValue":n[0]||(n[0]=n=>t.myQuiltsPanel=n)},{default:withCtx((()=>[createVNode(w,null,{default:withCtx((()=>[createVNode(u,{"data-cy":"registered-quilts-panel"},{default:withCtx((()=>n[3]||(n[3]=[createTextVNode("My Registered Quilts")]))),_:1}),createVNode(b,null,{default:withCtx((()=>[createVNode(v,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(t.registeredCourses,(i=>(openBlock(),createBlock(g,{key:i.courseID,cols:"12",sm:"6",md:"4",lg:"3"},{default:withCtx((()=>[createVNode(m,{variant:"outlined",density:"compact",class:"pa-2"},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$5,[createBaseVNode("div",_hoisted_2$2,[createVNode(d,{to:`/q/${i.name.replaceAll(" ","_")}`,class:"text-subtitle-2","data-cy":"registered-course-title"},{default:withCtx((()=>[createTextVNode(toDisplayString(i.name),1)])),_:2},1032,["to"]),i.public?createCommentVNode("",!0):(openBlock(),createBlock(f,{key:0,size:"x-small",class:"ml-1"},{default:withCtx((()=>n[4]||(n[4]=[createTextVNode("mdi-eye-off")]))),_:1}))]),createVNode(c,{size:"x-small",variant:"text",color:"error","data-cy":"drop-course-button",loading:void 0!==t.spinnerMap[i.courseID],onClick:n=>t.dropCourse(i.courseID)},{default:withCtx((()=>n[5]||(n[5]=[createTextVNode(" Drop ")]))),_:2},1032,["loading","onClick"])])])),_:2},1024)])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])])),_:1}),createVNode(g,{cols:"12",class:"mt-4"},{default:withCtx((()=>[n[6]||(n[6]=createBaseVNode("h2",{class:"text-h5 mb-3"},"Available Quilts",-1)),createVNode(v,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(t.displayedAvailableCourses,(n=>(openBlock(),createBlock(g,{key:n.courseID,cols:"12",sm:"6",md:"4",lg:"3"},{default:withCtx((()=>[createVNode(S,{"data-cy":"available-course-card","course-id":n.courseID,onRefresh:t.refreshData},null,8,["course-id","onRefresh"])])),_:2},1024)))),128))])),_:1}),t.hasMoreCourses?(openBlock(),createBlock(v,{key:0,justify:"center",class:"mt-2"},{default:withCtx((()=>[createVNode(c,{variant:"text",color:"primary","data-cy":"courses-show-more-button",onClick:t.toggleShowMore},{default:withCtx((()=>[createTextVNode(toDisplayString(t.showAllCourses?"Show Less":"Show More"),1)])),_:1},8,["onClick"])])),_:1})):createCommentVNode("",!0)])),_:1})])),_:1}),createVNode(E,{modelValue:t.newCourseDialog,"onUpdate:modelValue":n[2]||(n[2]=n=>t.newCourseDialog=n),fullscreen:"",transition:"dialog-bottom-transition",scrim:!1},{default:withCtx((()=>[createVNode(C,{onCourseEditingComplete:n[1]||(n[1]=n=>t.processResponse())})])),_:1},8,["modelValue"])])),_:1})}const Courses=_export_sfc$3(_sfc_main$b,[["render",_sfc_render$b],["__scopeId","data-v-2b5cae38"]]),_sfc_main$a=defineComponent$1({name:"TextSwap",props:{text:{type:Array,required:!0}},data:()=>({index:0}),methods:{next(){if(this.text.length>1){const t=this.index;for(;this.index===t;)this.index=Math.floor(Math.random()*this.text.length)}}}});function _sfc_render$a(t,n,i,a,s,l){return openBlock(),createBlock(Transition,{appear:"",name:"fade",mode:"out-in"},{default:withCtx((()=>[(openBlock(),createElementBlock("a",{key:t.index,onClick:n[0]||(n[0]=n=>t.next())},toDisplayString(t.text[t.index]),1))])),_:1})}const TextSwap=_export_sfc$3(_sfc_main$a,[["render",_sfc_render$a],["__scopeId","data-v-070077cf"]]),_sfc_main$9=defineComponent$1({name:"HomeView",components:{TextSwap:TextSwap},setup:()=>({display:useDisplay()}),data:()=>({swapIntervalID:null,label:["collection","patchwork","network","jumble"],adjective:["interactive","adaptive","interlinked","intelligent"],subject:["anyone","everyone","you"],verb:["edit","start","study","improve"],swapsReady:!1}),computed:{swaps(){return[this.$refs.swap1,this.$refs.swap2,this.$refs.swap3,this.$refs.swap4]}},mounted(){this.$nextTick((()=>{this.swapsReady=!0,this.swapIntervalID=window.setInterval(this.randomSwap,7e3)}))},beforeUnmount(){null!==this.swapIntervalID&&(clearInterval(this.swapIntervalID),this.swapIntervalID=null)},methods:{randomSwap(){this.swapsReady&&this.swaps.forEach((t=>{Math.random()<.33&&t.next()}))}}}),_hoisted_1$4={class:"text-h5"};function _sfc_render$9(t,n,i,a,s,l){const c=resolveComponent("text-swap"),u=resolveComponent("v-spacer"),d=resolveComponent("v-col"),f=resolveComponent("v-row"),m=resolveComponent("v-container");return openBlock(),createBlock(m,{fluid:"",class:"fill-height"},{default:withCtx((()=>[createVNode(f,{align:"center"},{default:withCtx((()=>[createVNode(d,{cols:"12",class:"text-left"},{default:withCtx((()=>[createBaseVNode("h1",{class:normalizeClass({"text-h3":t.display.xs,"text-h2":t.display.smAndUp})},n[0]||(n[0]=[createBaseVNode("span",{class:"font-weight-thin"},"edu",-1),createBaseVNode("span",{class:"font-weight-bold"},"Quilt",-1)]),2),createBaseVNode("p",_hoisted_1$4,[n[1]||(n[1]=createBaseVNode("em",null,"quilt",-1)),n[2]||(n[2]=createTextVNode(": (n) a ")),createVNode(c,{ref:"swap1",text:t.label},null,8,["text"]),n[3]||(n[3]=createTextVNode(" of ")),createVNode(c,{ref:"swap2",text:t.adjective},null,8,["text"]),n[4]||(n[4]=createTextVNode(" courseware that ")),createVNode(c,{ref:"swap3",text:t.subject},null,8,["text"]),n[5]||(n[5]=createTextVNode(" can ")),createVNode(c,{ref:"swap4",text:t.verb},null,8,["text"])]),createVNode(u,{class:"my-12"}),n[6]||(n[6]=createBaseVNode("div",{class:"text-subtitle-1"},"(get cozy)",-1))])),_:1})])),_:1})])),_:1})}const Home=_export_sfc$3(_sfc_main$9,[["render",_sfc_render$9],["__scopeId","data-v-13242f0e"]]),_sfc_main$8=defineComponent$1({name:"LoginRoute",components:{UserLogin:UserLogin},data:()=>({username:"",authStore:useAuthStore(),configStore:useConfigStore(),redirectStore:useAuthRedirectStore()}),computed:{isUserLoggedIn(){return this.authStore.isLoggedIn},redirectContext(){const t=this.$route.meta.state||history.state;if(t?.redirect&&t?.reason){if(Date.now()-(t.timestamp||0)<6e5)return{path:t.redirect,reason:t.reason,timestamp:t.timestamp}}return this.redirectStore.getRedirectContext()},redirectReason(){return this.redirectContext?.reason||null},redirectPath(){return this.redirectContext?.path||"/"},alertType(){return this.redirectStore.alertType},redirectMessage(){return this.redirectStore.contextualMessage||"Please log in to continue."}},created(){this.isUserLoggedIn&&getCurrentUser().then((t=>{this.username=t.getUsername()}))},beforeUnmount(){this.isUserLoggedIn&&this.redirectStore.clearRedirect()},methods:{async logout(){(await this.authStore._user.logout()).ok&&(this.authStore.loginAndRegistration={init:!0,loggedIn:!1,regDialogOpen:!1,loginDialogOpen:!1},this.configStore.resetDefaults())},onLoginSuccess(){this.redirectStore.clearRedirect()}}});function _sfc_render$8(t,n,i,a,s,l){const c=resolveComponent("v-alert"),u=resolveComponent("user-login"),d=resolveComponent("v-card-title"),f=resolveComponent("v-card-text"),m=resolveComponent("v-icon"),g=resolveComponent("v-btn"),v=resolveComponent("v-card-actions"),b=resolveComponent("v-card"),w=resolveComponent("v-container");return openBlock(),createBlock(w,{class:"d-flex align-center login"},{default:withCtx((()=>[t.redirectReason&&!t.isUserLoggedIn?(openBlock(),createBlock(c,{key:0,type:t.alertType,class:"mb-4 w-100",text:t.redirectMessage},null,8,["type","text"])):createCommentVNode("",!0),t.isUserLoggedIn?(openBlock(),createBlock(b,{key:2,class:"w-100 pa-4"},{default:withCtx((()=>[createVNode(d,{class:"text-center"},{default:withCtx((()=>n[0]||(n[0]=[createTextVNode(" Already logged in! ")]))),_:1}),createVNode(f,{class:"text-center"},{default:withCtx((()=>[n[1]||(n[1]=createTextVNode(" You are currently logged in as ")),createBaseVNode("strong",null,toDisplayString(t.username),1),n[2]||(n[2]=createTextVNode(". "))])),_:1}),createVNode(v,{class:"justify-center"},{default:withCtx((()=>[createVNode(g,{color:"primary",onClick:t.logout},{default:withCtx((()=>[createVNode(m,{start:""},{default:withCtx((()=>n[3]||(n[3]=[createTextVNode("mdi-logout")]))),_:1}),n[4]||(n[4]=createTextVNode(" Log out "))])),_:1},8,["onClick"])])),_:1})])),_:1})):(openBlock(),createBlock(u,{key:1,"redirect-to":t.redirectPath,onLoginSuccess:t.onLoginSuccess},null,8,["redirect-to","onLoginSuccess"]))])),_:1})}const Login=_export_sfc$3(_sfc_main$8,[["render",_sfc_render$8],["__scopeId","data-v-c8f45d6c"]]),_sfc_main$7=defineComponent$1({name:"ReleaseNotes"});function _sfc_render$7(t,n,i,a,s,l){return openBlock(),createElementBlock("div",null,n[0]||(n[0]=[createBaseVNode("h1",{class:"text-h2 mb-6"},"Release Notes",-1),createBaseVNode("h3",{class:"text-h4 mb-4"},"0.0.1 - April 21",-1),createBaseVNode("ul",null,[createBaseVNode("li",null,"Hello world, these are release notes.")],-1)]))}const ReleaseNotes=_export_sfc$3(_sfc_main$7,[["render",_sfc_render$7]]),_sfc_main$6=defineComponent$1({name:"VerifyEmailView",components:{VerifyEmail:VerifyEmail},methods:{handleVerified(t){console.log(`User ${t} verified successfully`)},handleError(t){console.error("Verification error:",t)},goToLogin(){this.$router.push({name:"login"})},goToHome(){this.$router.push({name:"home"})}}});function _sfc_render$6(t,n,i,a,s,l){const c=resolveComponent("v-btn"),u=resolveComponent("verify-email",!0);return openBlock(),createBlock(u,{onVerified:t.handleVerified,onError:t.handleError},{"success-action":withCtx((()=>[createVNode(c,{color:"primary",onClick:t.goToLogin},{default:withCtx((()=>n[0]||(n[0]=[createTextVNode(" Continue to Login ")]))),_:1},8,["onClick"])])),"error-action":withCtx((()=>[createVNode(c,{variant:"text",onClick:t.goToHome},{default:withCtx((()=>n[1]||(n[1]=[createTextVNode(" Back to Home ")]))),_:1},8,["onClick"])])),_:1},8,["onVerified","onError"])}const VerifyEmailView=_export_sfc$3(_sfc_main$6,[["render",_sfc_render$6]]),_sfc_main$5=defineComponent$1({name:"RequestPasswordResetView",components:{RequestPasswordReset:RequestPasswordReset},methods:{handleSuccess(t){console.log(`Password reset email sent to ${t}`)},goToLogin(){this.$router.push({name:"login"})}}});function _sfc_render$5(t,n,i,a,s,l){const c=resolveComponent("request-password-reset",!0),u=resolveComponent("v-container");return openBlock(),createBlock(u,{class:"d-flex align-center request-reset"},{default:withCtx((()=>[createVNode(c,{onCancel:t.goToLogin,onSuccess:t.handleSuccess},null,8,["onCancel","onSuccess"])])),_:1})}const RequestPasswordResetView=_export_sfc$3(_sfc_main$5,[["render",_sfc_render$5],["__scopeId","data-v-111f280a"]]),_sfc_main$4=defineComponent$1({name:"ResetPasswordView",components:{ResetPassword:ResetPassword},methods:{handleComplete(){console.log("Password reset successfully")},handleError(t){console.error("Password reset error:",t)},goToLogin(){this.$router.push({name:"login"})}}});function _sfc_render$4(t,n,i,a,s,l){const c=resolveComponent("v-btn"),u=resolveComponent("reset-password",!0);return openBlock(),createBlock(u,{onComplete:t.handleComplete,onError:t.handleError},{"success-action":withCtx((()=>[createVNode(c,{color:"primary",onClick:t.goToLogin},{default:withCtx((()=>n[0]||(n[0]=[createTextVNode(" Continue to Login ")]))),_:1},8,["onClick"])])),_:1},8,["onComplete","onError"])}const ResetPasswordView=_export_sfc$3(_sfc_main$4,[["render",_sfc_render$4]]),_sfc_main$3=defineComponent$1({name:"SessionConfiguration",components:{SkMouseTrapToolTip:SkMouseTrapToolTip},props:{initialTimeLimit:{type:Number,required:!0,default:5}},emits:["initStudySession"],data(){return{registeredHotkeys:[],allSelected:!0,activeCourses:[],activeClasses:[],hasRegistrations:!0,user:null,timeLimit:this.initialTimeLimit,courseLoadError:!1,classroomLoadError:!1}},watch:{timeLimit:{handler(){this.timeLimit<=0&&(this.timeLimit=1)}}},beforeUnmount(){this.registeredHotkeys&&this.registeredHotkeys.forEach((t=>{SkldrMouseTrap.removeBinding(t)}))},async created(){this.user=await getCurrentUser(),this.timeLimit=this.initialTimeLimit,this.setHotkeys();const[t,n]=await Promise.allSettled([this.getActiveCourses(),this.getActiveClassrooms()]);"rejected"===t.status&&(console.error("Failed to load courses:",t.reason),this.courseLoadError=!0),"rejected"===n.status&&(console.error("Failed to load classrooms:",n.reason),this.classroomLoadError=!0),0!==this.activeCourses.length||0!==this.activeClasses.length||this.courseLoadError||this.classroomLoadError||(this.hasRegistrations=!1)},mounted(){document.getElementById("SelectAll").focus()},unmounted(){this.registeredHotkeys&&this.registeredHotkeys.forEach((t=>{SkldrMouseTrap.removeBinding(t)}))},methods:{inc(){this.timeLimit=this.timeLimit+1,console.log(`inc to ${this.timeLimit}`)},dec(){this.timeLimit--,console.log(`dec to ${this.timeLimit}`)},update(){console.log(JSON.stringify(this.activeCourses)),console.log(JSON.stringify(this.activeClasses))},toggleAll(){console.log("Toggling all courses"),this.activeCourses.forEach((t=>{t.selected=this.allSelected})),this.activeClasses.forEach((t=>{t.selected=this.allSelected})),console.log(JSON.stringify(this.activeCourses))},startSession(){this.registeredHotkeys&&this.registeredHotkeys.forEach((t=>{SkldrMouseTrap.removeBinding(t)}));const t=[...this.activeCourses.filter((t=>t.selected)).map((t=>({type:"course",id:t.courseID}))),...this.activeClasses.filter((t=>t.selected)).map((t=>({type:"classroom",id:t.classID})))];this.$emit("initStudySession",t,this.timeLimit)},async getActiveClassrooms(){const t=await(await getCurrentUser()).getActiveClasses(),n=[];console.log(`Active classes: ${JSON.stringify(t)}`),await Promise.all(t.map((t=>(async t=>{const i=await getDataLayer().getClassroomDB(t,"student");n.push({classID:t,name:i.getConfig().name,selected:!0,reviews:0})})(t)))),this.activeClasses=n},async getActiveCourses(){this.activeCourses=(await this.user.getActiveCourses()).map((t=>({...t,selected:!0,name:"",reviews:0}))),Promise.all(this.activeCourses.map((async(t,n)=>{const i=await getDataLayer().getCoursesDB().getCourseConfig(t.courseID),a=await(this.user?.getCourseInterface(t.courseID));return(async()=>Promise.all([this.activeCourses[n].name=i.name,this.activeCourses[n].reviews=await a.getScheduledReviewCount()]))()})))},setHotkeys(){const t=[{hotkey:"right",callback:()=>{this.timeLimit++},command:"Increase time limit"},{hotkey:"left",callback:()=>{this.timeLimit--},command:"Decrease time limit"}];SkldrMouseTrap.addBinding(t),this.registeredHotkeys=t.map((t=>t.hotkey))}}}),_hoisted_1$3={key:0},_hoisted_2$1={class:"session-layout"},_hoisted_3$1={class:"course-selection-container"},_hoisted_4$1={width:"100%"},_hoisted_5$1={class:"fixed-controls-container"},_hoisted_6$1={class:"fixed-controls"},_hoisted_7$1={class:"mb-5"},_hoisted_8$1={key:1,class:"text-h4"},_hoisted_9$1={key:2,class:"text-h4"};function _sfc_render$3(t,n,i,a,s,l){const c=resolveComponent("v-alert"),u=resolveComponent("v-checkbox"),d=resolveComponent("v-text-field"),f=resolveComponent("v-icon"),m=resolveComponent("v-btn"),g=resolveComponent("SkMouseTrapToolTip"),v=resolveComponent("router-link");return t.hasRegistrations||t.courseLoadError||t.classroomLoadError?(openBlock(),createElementBlock("div",_hoisted_1$3,[n[10]||(n[10]=createBaseVNode("div",{"data-cy":"select-quilts-header",class:"text-h4 mb-4"},"Study Session Setup",-1)),t.courseLoadError?(openBlock(),createBlock(c,{key:0,type:"warning",class:"mb-4"},{default:withCtx((()=>n[2]||(n[2]=[createTextVNode(" Unable to load course data. Some features may be unavailable. ")]))),_:1})):createCommentVNode("",!0),t.classroomLoadError?(openBlock(),createBlock(c,{key:1,type:"warning",class:"mb-4"},{default:withCtx((()=>n[3]||(n[3]=[createTextVNode(" Unable to load classroom data. You can still study individual courses. ")]))),_:1})):createCommentVNode("",!0),createBaseVNode("div",_hoisted_2$1,[createBaseVNode("div",_hoisted_3$1,[n[6]||(n[6]=createBaseVNode("div",{class:"text-h6 mb-3"},"Select Quilts to Study",-1)),createBaseVNode("table",_hoisted_4$1,[createBaseVNode("thead",null,[createBaseVNode("tr",null,[createBaseVNode("th",null,[createVNode(u,{id:"SelectAll",ref:"selectAll",modelValue:t.allSelected,"onUpdate:modelValue":[n[0]||(n[0]=n=>t.allSelected=n),t.toggleAll],autofocus:"",label:"Select All"},null,8,["modelValue","onUpdate:modelValue"])]),n[4]||(n[4]=createBaseVNode("th",null," Reviews ",-1))])]),createBaseVNode("tbody",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(t.activeClasses,(i=>(openBlock(),createElementBlock("tr",{key:i.classID},[createBaseVNode("td",null,[createVNode(u,{modelValue:i.selected,"onUpdate:modelValue":t=>i.selected=t,label:`Class: ${i.name}`,onClickCapture:t.update},null,8,["modelValue","onUpdate:modelValue","label","onClickCapture"])]),n[5]||(n[5]=createBaseVNode("td",null,"-",-1))])))),128)),(openBlock(!0),createElementBlock(Fragment,null,renderList(t.activeCourses,(n=>(openBlock(),createElementBlock("tr",{key:n.courseID},[createBaseVNode("td",null,[createVNode(u,{modelValue:n.selected,"onUpdate:modelValue":t=>n.selected=t,"data-cy":"course-checkbox",label:`q/${n.name}`,onClickCapture:t.update},null,8,["modelValue","onUpdate:modelValue","label","onClickCapture"])]),createBaseVNode("td",null,toDisplayString(n.reviews),1)])))),128))])])]),createBaseVNode("div",_hoisted_5$1,[createBaseVNode("div",_hoisted_6$1,[n[9]||(n[9]=createBaseVNode("div",{class:"text-h6 mb-3"},"Session Settings",-1)),createBaseVNode("div",_hoisted_7$1,[createVNode(d,{ref:"numberField",modelValue:t.timeLimit,"onUpdate:modelValue":n[1]||(n[1]=n=>t.timeLimit=n),class:"time-limit-field",variant:"outlined",label:"Study Session Timelimit","prepend-inner-icon":"mdi-clock-outline","prepend-icon":"mdi-minus","append-icon":"mdi-plus",suffix:t.timeLimit>1?"minutes":"minute",mask:"##",type:"number","onClick:prepend":t.dec,"onClick:append":t.inc},null,8,["modelValue","suffix","onClick:prepend","onClick:append"])]),createVNode(g,{hotkey:"enter",command:"Start Session",disabled:!t.activeCourses.length&&!t.activeClasses.length,"highlight-effect":"scale"},{default:withCtx((()=>[createVNode(m,{"data-cy":"start-studying-button",color:"success",size:"large",block:"",class:"start-btn",onClick:t.startSession},{default:withCtx((()=>[createVNode(f,{start:""},{default:withCtx((()=>n[7]||(n[7]=[createTextVNode("mdi-play")]))),_:1}),n[8]||(n[8]=createTextVNode(" Start! "))])),_:1},8,["onClick"])])),_:1},8,["disabled"])])])])])):t.courseLoadError||t.classroomLoadError?(openBlock(),createElementBlock("div",_hoisted_9$1,n[15]||(n[15]=[createBaseVNode("p",null,"Unable to load study data due to technical issues.",-1),createBaseVNode("p",null,"Please try refreshing the page or contact support if the problem persists.",-1)]))):(openBlock(),createElementBlock("div",_hoisted_8$1,[n[14]||(n[14]=createBaseVNode("p",null,"You don't have anything to study!",-1)),createBaseVNode("p",null,[n[12]||(n[12]=createTextVNode("Head over to the ")),createVNode(v,{to:"/quilts"},{default:withCtx((()=>n[11]||(n[11]=[createTextVNode("Quilts")]))),_:1}),n[13]||(n[13]=createTextVNode(" page to find something for you."))])]))}const SessionConfiguration=_export_sfc$3(_sfc_main$3,[["render",_sfc_render$3],["__scopeId","data-v-118e5787"]]);function randomInt(t,n){return Math.floor(Math.random()*(n-t+1))+t}const _sfc_main$2=defineComponent$1({name:"StudyView",components:{SessionConfiguration:SessionConfiguration,StudySession:StudySession},inject:{router:{from:"router"}},props:{previewCourseID:{type:String,required:!1,default:""},randomPreview:{type:Boolean,required:!1},focusCourseID:{type:String,required:!1,default:""}},data:()=>({user:null,studySessionConfig:void 0,previewCourseConfig:void 0,previewMode:!1,sessionTimeLimit:5,inSession:!1,sessionPrepared:!1,sessionError:!1,errorMessage:"",sessionContentSources:[],dataInputFormStore:useDataInputFormStore(),getViewComponent:t=>allCourseWare$1.getView(t),dataLayer:getDataLayer()}),async created(){this.user=await getCurrentUser(),this.studySessionConfig={likesConfetti:useConfigStore().config.likesConfetti};let t="";if(this.randomPreview){const n=await this.user.getCourseRegistrationsDoc(),i=(await getDataLayer().getCoursesDB().getCourseList()).map((t=>t.courseID)),a=i.filter((t=>!n.courses.some((n=>n.courseID===t))));t=a.length>0?a[randomInt(0,a.length)]:i[randomInt(0,i.length)]}this.previewCourseID&&(this.previewMode=!0,getDataLayer().getCoursesDB().getCourseList().then((t=>{t.forEach((t=>{t.courseID===this.previewCourseID&&(this.previewCourseConfig=t,this.previewCourseConfig.courseID=t.courseID)}))})),console.log(`[Study] COURSE PREVIEW MODE FOR ${this.previewCourseID}`),await this.user.registerForCourse(this.previewCourseID,!0),t=this.previewCourseID),this.focusCourseID&&(console.log(`[Study] FOCUS study session: ${this.focusCourseID}`),t=this.focusCourseID),t&&this.initStudySession([{type:"course",id:t}],this.sessionTimeLimit)},methods:{refreshRoute(){this.router.go(0)},async initStudySession(t,n){console.log(`[Study] starting study session w/ sources: ${JSON.stringify(t)}`),this.sessionContentSources=t,this.sessionTimeLimit=n,this.inSession=!0,this.sessionPrepared=!1,console.log("[Study] Waiting for session-prepared event from StudySession component")},registerUserForPreviewCourse(){this.user.registerForCourse(this.previewCourseConfig.courseID).then((()=>this.router.push(`/quilts/${this.previewCourseConfig.courseID}`)))},handleSessionFinished(){this.refreshRoute()},handleSessionPrepared(){console.log("[Study] Session preparation complete - received session-prepared event"),this.sessionPrepared=!0,this.sessionError=!1,this.errorMessage=""},handleSessionError({message:t,error:n}){console.error("[Study] Session error:",t,n),this.sessionError=!0,this.errorMessage=t||"An error occurred while preparing your study session.",this.sessionPrepared=!1}}}),_hoisted_1$2={key:0},_hoisted_2={key:1},_hoisted_3={key:0,align:"center"},_hoisted_4={class:"text-h5"},_hoisted_5={key:1},_hoisted_6={key:2},_hoisted_7={key:0,class:"session-loading"},_hoisted_8={key:1,class:"session-error"},_hoisted_9={class:"text-subtitle-1 mt-2"};function _sfc_render$2(t,n,i,a,s,l){const c=resolveComponent("SessionConfiguration"),u=resolveComponent("v-btn"),d=resolveComponent("router-link"),f=resolveComponent("v-spacer"),m=resolveComponent("v-col"),g=resolveComponent("v-row"),v=resolveComponent("v-progress-circular"),b=resolveComponent("v-container"),w=resolveComponent("v-icon"),k=resolveComponent("StudySession");return t.inSession?(openBlock(),createElementBlock("div",_hoisted_2,[t.previewMode&&t.previewCourseConfig?(openBlock(),createElementBlock("div",_hoisted_3,[createVNode(g,null,{default:withCtx((()=>[createVNode(m,null,{default:withCtx((()=>[createBaseVNode("span",_hoisted_4,[n[1]||(n[1]=createTextVNode(" Quilt preview for ")),createBaseVNode("em",null,toDisplayString(t.previewCourseConfig.name),1)]),createVNode(u,{size:"small",color:"primary",onClick:t.registerUserForPreviewCourse},{default:withCtx((()=>n[2]||(n[2]=[createTextVNode("Join")]))),_:1},8,["onClick"]),createVNode(d,{to:`/quilts/${t.previewCourseConfig.courseID}`},{default:withCtx((()=>[createVNode(u,{size:"small",color:"secondary"},{default:withCtx((()=>n[3]||(n[3]=[createTextVNode("More info")]))),_:1})])),_:1},8,["to"]),createVNode(f)])),_:1})])),_:1})])):t.previewMode?(openBlock(),createElementBlock("div",_hoisted_5,[createVNode(g,null,{default:withCtx((()=>[createVNode(m,null,{default:withCtx((()=>n[4]||(n[4]=[createBaseVNode("span",{class:"text-h5"},"... No course was specified for the preview.",-1),createBaseVNode("div",null,"(this shouldn't happen)...",-1)]))),_:1})])),_:1})])):createCommentVNode("",!0),t.inSession?(openBlock(),createElementBlock("div",_hoisted_6,[t.sessionPrepared||t.sessionError?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_7,[createVNode(b,{class:"text-center"},{default:withCtx((()=>[createVNode(g,{justify:"center",align:"center",style:{"min-height":"50vh"}},{default:withCtx((()=>[createVNode(m,{cols:"12"},{default:withCtx((()=>[createVNode(v,{size:"70",width:"7",color:"primary",indeterminate:""}),n[5]||(n[5]=createBaseVNode("div",{class:"text-h5 mt-4"},"Preparing your study session...",-1)),n[6]||(n[6]=createBaseVNode("div",{class:"text-subtitle-1 mt-2"},"Getting your learning materials ready",-1))])),_:1})])),_:1})])),_:1})])),t.sessionError?(openBlock(),createElementBlock("div",_hoisted_8,[createVNode(b,{class:"text-center"},{default:withCtx((()=>[createVNode(g,{justify:"center",align:"center",style:{"min-height":"50vh"}},{default:withCtx((()=>[createVNode(m,{cols:"12"},{default:withCtx((()=>[createVNode(w,{size:"64",color:"error"},{default:withCtx((()=>n[7]||(n[7]=[createTextVNode("mdi-alert-circle")]))),_:1}),n[9]||(n[9]=createBaseVNode("div",{class:"text-h5 mt-4 text-error"},"Session Preparation Failed",-1)),createBaseVNode("div",_hoisted_9,toDisplayString(t.errorMessage||"There was a problem preparing your study session."),1),createVNode(u,{color:"primary",class:"mt-6",onClick:t.refreshRoute},{default:withCtx((()=>n[8]||(n[8]=[createTextVNode("Try Again")]))),_:1},8,["onClick"])])),_:1})])),_:1})])),_:1})])):createCommentVNode("",!0),createVNode(k,{"content-sources":t.sessionContentSources,"session-time-limit":t.sessionTimeLimit,user:t.user,"session-config":t.studySessionConfig,"data-layer":t.dataLayer,"get-view-component":t.getViewComponent,class:normalizeClass({"hidden-session":!t.sessionPrepared}),onSessionFinished:t.handleSessionFinished,onSessionPrepared:t.handleSessionPrepared,onSessionError:t.handleSessionError},null,8,["content-sources","session-time-limit","user","session-config","data-layer","get-view-component","class","onSessionFinished","onSessionPrepared","onSessionError"])])):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",_hoisted_1$2,[createVNode(c,{"initial-time-limit":t.sessionTimeLimit,onInitStudySession:n[0]||(n[0]=(n,i)=>t.initStudySession(n,i))},null,8,["initial-time-limit"])]))}const Study=_export_sfc$3(_sfc_main$2,[["render",_sfc_render$2],["__scopeId","data-v-85b2480d"]]);var module$1={};!function t(n,i,a,s){var l=!!(n.Worker&&n.Blob&&n.Promise&&n.OffscreenCanvas&&n.OffscreenCanvasRenderingContext2D&&n.HTMLCanvasElement&&n.HTMLCanvasElement.prototype.transferControlToOffscreen&&n.URL&&n.URL.createObjectURL),c="function"==typeof Path2D&&"function"==typeof DOMMatrix;function u(){}function d(t){var a=i.exports.Promise,s=void 0!==a?a:n.Promise;return"function"==typeof s?new s(t):(t(u,u),null)}var f,m,g,v,b,w,k=function(t,n){return{transform:function(i){if(t)return i;if(n.has(i))return n.get(i);var a=new OffscreenCanvas(i.width,i.height);return a.getContext("2d").drawImage(i,0,0),n.set(i,a),a},clear:function(){n.clear()}}}(function(){if(!n.OffscreenCanvas)return!1;var t=new OffscreenCanvas(1,1),i=t.getContext("2d");i.fillRect(0,0,1,1);var a=t.transferToImageBitmap();try{i.createPattern(a,"no-repeat")}catch(e){return!1}return!0}(),new Map),S=(g=Math.floor(1e3/60),v={},b=0,"function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame?(f=function(t){var n=Math.random();return v[n]=requestAnimationFrame((function i(a){b===a||b+g-1<a?(b=a,delete v[n],t()):v[n]=requestAnimationFrame(i)})),n},m=function(t){v[t]&&cancelAnimationFrame(v[t])}):(f=function(t){return setTimeout(t,g)},m=function(t){return clearTimeout(t)}),{frame:f,cancel:m}),C=function(){var n,i,s={};return function(){if(n)return n;if(!a&&l){var c=["var CONFETTI, SIZE = {}, module = {};","("+t.toString()+")(this, module, true, SIZE);","onmessage = function(msg) {"," if (msg.data.options) {"," CONFETTI(msg.data.options).then(function () {"," if (msg.data.callback) {"," postMessage({ callback: msg.data.callback });"," }"," });"," } else if (msg.data.reset) {"," CONFETTI && CONFETTI.reset();"," } else if (msg.data.resize) {"," SIZE.width = msg.data.resize.width;"," SIZE.height = msg.data.resize.height;"," } else if (msg.data.canvas) {"," SIZE.width = msg.data.canvas.width;"," SIZE.height = msg.data.canvas.height;"," CONFETTI = module.exports.create(msg.data.canvas);"," }","}"].join("\n");try{n=new Worker(URL.createObjectURL(new Blob([c])))}catch(e){return void 0!==typeof console&&"function"==typeof console.warn&&console.warn("🎊 Could not load worker",e),null}!function(t){function n(n,i){t.postMessage({options:n||{},callback:i})}t.init=function(n){var i=n.transferControlToOffscreen();t.postMessage({canvas:i},[i])},t.fire=function(a,l,c){if(i)return n(a,null),i;var u=Math.random().toString(36).slice(2);return i=d((function(l){function d(n){n.data.callback===u&&(delete s[u],t.removeEventListener("message",d),i=null,k.clear(),c(),l())}t.addEventListener("message",d),n(a,u),s[u]=d.bind(null,{data:{callback:u}})}))},t.reset=function(){for(var n in t.postMessage({reset:!0}),s)s[n](),delete s[n]}}(n)}return n}}(),E={particleCount:50,angle:90,spread:45,startVelocity:45,decay:.9,gravity:1,drift:0,ticks:200,x:.5,y:.5,shapes:["square","circle"],zIndex:100,colors:["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],disableForReducedMotion:!1,scalar:1};function T(t,n,i){return function(t,n){return n?n(t):t}(t&&null!=t[n]?t[n]:E[n],i)}function P(t){return t<0?0:Math.floor(t)}function I(t){return parseInt(t,16)}function A(t){return t.map(D)}function D(t){var n=String(t).replace(/[^0-9a-f]/gi,"");return n.length<6&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]),{r:I(n.substring(0,2)),g:I(n.substring(2,4)),b:I(n.substring(4,6))}}function O(t){t.width=document.documentElement.clientWidth,t.height=document.documentElement.clientHeight}function _e(t){var n=t.getBoundingClientRect();t.width=n.width,t.height=n.height}function be(t,n){n.x+=Math.cos(n.angle2D)*n.velocity+n.drift,n.y+=Math.sin(n.angle2D)*n.velocity+n.gravity,n.velocity*=n.decay,n.flat?(n.wobble=0,n.wobbleX=n.x+10*n.scalar,n.wobbleY=n.y+10*n.scalar,n.tiltSin=0,n.tiltCos=0,n.random=1):(n.wobble+=n.wobbleSpeed,n.wobbleX=n.x+10*n.scalar*Math.cos(n.wobble),n.wobbleY=n.y+10*n.scalar*Math.sin(n.wobble),n.tiltAngle+=.1,n.tiltSin=Math.sin(n.tiltAngle),n.tiltCos=Math.cos(n.tiltAngle),n.random=Math.random()+2);var i=n.tick++/n.totalTicks,a=n.x+n.random*n.tiltCos,s=n.y+n.random*n.tiltSin,l=n.wobbleX+n.random*n.tiltCos,u=n.wobbleY+n.random*n.tiltSin;if(t.fillStyle="rgba("+n.color.r+", "+n.color.g+", "+n.color.b+", "+(1-i)+")",t.beginPath(),c&&"path"===n.shape.type&&"string"==typeof n.shape.path&&Array.isArray(n.shape.matrix))t.fill(function(t,n,i,a,s,l,c){var u=new Path2D(t),d=new Path2D;d.addPath(u,new DOMMatrix(n));var f=new Path2D;return f.addPath(d,new DOMMatrix([Math.cos(c)*s,Math.sin(c)*s,-Math.sin(c)*l,Math.cos(c)*l,i,a])),f}(n.shape.path,n.shape.matrix,n.x,n.y,.1*Math.abs(l-a),.1*Math.abs(u-s),Math.PI/10*n.wobble));else if("bitmap"===n.shape.type){var d=Math.PI/10*n.wobble,f=.1*Math.abs(l-a),m=.1*Math.abs(u-s),g=n.shape.bitmap.width*n.scalar,v=n.shape.bitmap.height*n.scalar,b=new DOMMatrix([Math.cos(d)*f,Math.sin(d)*f,-Math.sin(d)*m,Math.cos(d)*m,n.x,n.y]);b.multiplySelf(new DOMMatrix(n.shape.matrix));var w=t.createPattern(k.transform(n.shape.bitmap),"no-repeat");w.setTransform(b),t.globalAlpha=1-i,t.fillStyle=w,t.fillRect(n.x-g/2,n.y-v/2,g,v),t.globalAlpha=1}else if("circle"===n.shape)t.ellipse?t.ellipse(n.x,n.y,Math.abs(l-a)*n.ovalScalar,Math.abs(u-s)*n.ovalScalar,Math.PI/10*n.wobble,0,2*Math.PI):function(t,n,i,a,s,l,c,u,d){t.save(),t.translate(n,i),t.rotate(l),t.scale(a,s),t.arc(0,0,1,c,u,d),t.restore()}(t,n.x,n.y,Math.abs(l-a)*n.ovalScalar,Math.abs(u-s)*n.ovalScalar,Math.PI/10*n.wobble,0,2*Math.PI);else if("star"===n.shape)for(var S=Math.PI/2*3,C=4*n.scalar,E=8*n.scalar,T=n.x,P=n.y,I=5,A=Math.PI/I;I--;)T=n.x+Math.cos(S)*E,P=n.y+Math.sin(S)*E,t.lineTo(T,P),S+=A,T=n.x+Math.cos(S)*C,P=n.y+Math.sin(S)*C,t.lineTo(T,P),S+=A;else t.moveTo(Math.floor(n.x),Math.floor(n.y)),t.lineTo(Math.floor(n.wobbleX),Math.floor(s)),t.lineTo(Math.floor(l),Math.floor(u)),t.lineTo(Math.floor(a),Math.floor(n.wobbleY));return t.closePath(),t.fill(),n.tick<n.totalTicks}function we(t,i){var c,u=!t,f=!!T(i||{},"resize"),m=!1,g=T(i,"disableForReducedMotion",Boolean),v=l&&!!T(i||{},"useWorker")?C():null,b=u?O:_e,w=!(!t||!v)&&!!t.__confetti_initialized,E="function"==typeof matchMedia&&matchMedia("(prefers-reduced-motion)").matches;function I(n,i,l){for(var u,f,m,g,v,w=T(n,"particleCount",P),C=T(n,"angle",Number),E=T(n,"spread",Number),I=T(n,"startVelocity",Number),D=T(n,"decay",Number),O=T(n,"gravity",Number),_e=T(n,"drift",Number),we=T(n,"colors",A),Se=T(n,"ticks",Number),$e=T(n,"shapes"),xe=T(n,"scalar"),Ce=!!T(n,"flat"),Ee=function(t){var n=T(t,"origin",Object);return n.x=T(n,"x",Number),n.y=T(n,"y",Number),n}(n),Ne=w,Pe=[],Ie=t.width*Ee.x,Ae=t.height*Ee.y;Ne--;)Pe.push((u={x:Ie,y:Ae,angle:C,spread:E,startVelocity:I,color:we[Ne%we.length],shape:$e[(g=0,v=$e.length,Math.floor(Math.random()*(v-g))+g)],ticks:Se,decay:D,gravity:O,drift:_e,scalar:xe,flat:Ce},f=void 0,m=void 0,f=u.angle*(Math.PI/180),m=u.spread*(Math.PI/180),{x:u.x,y:u.y,wobble:10*Math.random(),wobbleSpeed:Math.min(.11,.1*Math.random()+.05),velocity:.5*u.startVelocity+Math.random()*u.startVelocity,angle2D:-f+(.5*m-Math.random()*m),tiltAngle:(.5*Math.random()+.25)*Math.PI,color:u.color,shape:u.shape,tick:0,totalTicks:u.ticks,decay:u.decay,drift:u.drift,random:Math.random()+2,tiltSin:0,tiltCos:0,wobbleX:0,wobbleY:0,gravity:3*u.gravity,ovalScalar:.6,scalar:u.scalar,flat:u.flat}));return c?c.addFettis(Pe):(c=function(t,n,i,l,c){var u,f,m=n.slice(),g=t.getContext("2d"),v=d((function(n){function d(){u=f=null,g.clearRect(0,0,l.width,l.height),k.clear(),c(),n()}u=S.frame((function n(){!a||l.width===s.width&&l.height===s.height||(l.width=t.width=s.width,l.height=t.height=s.height),l.width||l.height||(i(t),l.width=t.width,l.height=t.height),g.clearRect(0,0,l.width,l.height),(m=m.filter((function(t){return be(g,t)}))).length?u=S.frame(n):d()})),f=d}));return{addFettis:function(t){return m=m.concat(t),v},canvas:t,promise:v,reset:function(){u&&S.cancel(u),f&&f()}}}(t,Pe,b,i,l),c.promise)}function D(i){var a=g||T(i,"disableForReducedMotion",Boolean),s=T(i,"zIndex",Number);if(a&&E)return d((function(t){t()}));u&&c?t=c.canvas:u&&!t&&(t=function(t){var n=document.createElement("canvas");return n.style.position="fixed",n.style.top="0px",n.style.left="0px",n.style.pointerEvents="none",n.style.zIndex=t,n}(s),document.body.appendChild(t)),f&&!w&&b(t);var l={width:t.width,height:t.height};function k(){if(v){var n={getBoundingClientRect:function(){if(!u)return t.getBoundingClientRect()}};return b(n),void v.postMessage({resize:{width:n.width,height:n.height}})}l.width=l.height=null}function S(){c=null,f&&(m=!1,n.removeEventListener("resize",k)),u&&t&&(document.body.contains(t)&&document.body.removeChild(t),t=null,w=!1)}return v&&!w&&v.init(t),w=!0,v&&(t.__confetti_initialized=!0),f&&!m&&(m=!0,n.addEventListener("resize",k,!1)),v?v.fire(i,l,S):I(i,l,S)}return D.reset=function(){v&&v.reset(),c&&c.reset()},D}function Se(){return w||(w=we(null,{useWorker:!0,resize:!0})),w}i.exports=function(){return Se().apply(this,arguments)},i.exports.reset=function(){Se().reset()},i.exports.create=we,i.exports.shapeFromPath=function(t){if(!c)throw new Error("path confetti are not supported in this browser");var n,i;"string"==typeof t?n=t:(n=t.path,i=t.matrix);var a=new Path2D(n),s=document.createElement("canvas").getContext("2d");if(!i){for(var l,u,d=1e3,f=d,m=d,g=0,v=0,b=0;b<d;b+=2)for(var w=0;w<d;w+=2)s.isPointInPath(a,b,w,"nonzero")&&(f=Math.min(f,b),m=Math.min(m,w),g=Math.max(g,b),v=Math.max(v,w));l=g-f,u=v-m;var k=Math.min(10/l,10/u);i=[k,0,0,k,-Math.round(l/2+f)*k,-Math.round(u/2+m)*k]}return{type:"path",path:n,matrix:i}},i.exports.shapeFromText=function(t){var n,i=1,a="#000000",s='"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "EmojiOne Color", "Android Emoji", "Twemoji Mozilla", "system emoji", sans-serif';"string"==typeof t?n=t:(n=t.text,i="scalar"in t?t.scalar:i,s="fontFamily"in t?t.fontFamily:s,a="color"in t?t.color:a);var l=10*i,c=l+"px "+s,u=new OffscreenCanvas(l,l),d=u.getContext("2d");d.font=c;var f=d.measureText(n),m=Math.ceil(f.actualBoundingBoxRight+f.actualBoundingBoxLeft),g=Math.ceil(f.actualBoundingBoxAscent+f.actualBoundingBoxDescent),v=f.actualBoundingBoxLeft+2,b=f.actualBoundingBoxAscent+2;m+=4,g+=4,(d=(u=new OffscreenCanvas(m,g)).getContext("2d")).font=c,d.fillStyle=a,d.fillText(n,v,b);var w=1/i;return{type:"bitmap",bitmap:u.transferToImageBitmap(),matrix:[w,0,0,w,-m*w/2,-g*w/2]}}}(function(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:this||{}}(),module$1,!1);const confetti=module$1.exports;module$1.exports.create;const _sfc_main$1=defineComponent$1({name:"UserSettings",props:{username:{type:String,required:!0}},setup(){const t=useConfigStore(),n=useRoute$1(),i=t.config.darkMode,a=t.config.likesConfetti,s=n.path.endsWith("new");return{configStore:t,darkMode:i,likesConfetti:a,route:n,isNewUser:s}},data:()=>({u:{},configLanguages:[{name:"English",code:"en"},{name:"French",code:"fr"}],selectedLanguages:[]}),async created(){this.u=await getCurrentUser(),this.configLanguages.forEach((t=>{console.log("afweatifvwzeatfvwzeta"+t.name)}))},methods:{updateDark(){this.configStore.updateDarkMode(this.configStore.config.darkMode)},updateConfetti(){this.configStore.updateLikesConfetti(this.configStore.config.likesConfetti),this.configStore.config.likesConfetti&&confetti({origin:{x:.5,y:1}})}}}),_hoisted_1$1={class:"text-subtitle-1"};function _sfc_render$1(t,n,i,a,s,l){const c=resolveComponent("v-alert"),u=resolveComponent("v-checkbox");return openBlock(),createElementBlock("div",_hoisted_1$1,[t.isNewUser?(openBlock(),createBlock(c,{key:0,type:"success",class:"text-subtitle-1",variant:"tonal","prepend-icon":"mdi-check"},{default:withCtx((()=>[createTextVNode(" Welcome, "+toDisplayString(t.username)+"! Please take a moment to look through these settings: ",1)])),_:1})):createCommentVNode("",!0),n[2]||(n[2]=createBaseVNode("h1",{class:"text-h3"},"Account Settings",-1)),n[3]||(n[3]=createBaseVNode("h2",{class:"text-h4"},"General:",-1)),createVNode(u,{modelValue:t.configStore.config.likesConfetti,"onUpdate:modelValue":[n[0]||(n[0]=n=>t.configStore.config.likesConfetti=n),t.updateConfetti],label:"I like confetti"},null,8,["modelValue","onUpdate:modelValue"]),createVNode(u,{modelValue:t.configStore.config.darkMode,"onUpdate:modelValue":[n[1]||(n[1]=n=>t.configStore.config.darkMode=n),t.updateDark],label:"I like the dark"},null,8,["modelValue","onUpdate:modelValue"])])}const User=_export_sfc$3(_sfc_main$1,[["render",_sfc_render$1]]),questionModules=Object.assign({}),_sfc_main=defineComponent$1({name:"DataInputFormTester",components:{DataInputForm:DataInputForm},setup:()=>({route:useRoute$1()}),data:()=>({dataShape:null,cds:null,component:null}),async created(){try{const t=`../${this.route.params.pathMatch}/index.ts`;if(console.log("Looking for module:",t),console.log("Available paths:",Object.keys(questionModules)),!(t in questionModules))throw new Error(`No module found at path: ${t}`);{const n=await questionModules[t](),i=Object.entries(n).find((([t,n])=>{const i="function"==typeof n,a=i&&n.prototype instanceof Question;return console.log(`Checking export "${t}":`,{isClass:i,extendsQuestion:a,type:typeof n}),a}));if(!i)throw new Error("No export found extending Question class");this.component=i[1];const a=this.component?.dataShapes[0];a&&(this.dataShape=a)}}catch(e){console.log("[difTester] Error loading component",e)}}}),_hoisted_1={key:1};function _sfc_render(t,n,i,a,s,l){const c=resolveComponent("data-input-form");return openBlock(),createElementBlock("div",null,[t.component&&t.dataShape?(openBlock(),createBlock(c,{key:0,"data-shape":t.dataShape,"course-cfg":{courseID:"testCourse",name:"testCourseName",description:"All of these courses will be the same!",admins:["admin"],creator:"admin",deleted:!1,moderators:[],public:!0,disambiguator:"testCourseName",questionTypes:[],dataShapes:[]},"preview-component":t.component},null,8,["data-shape","preview-component"])):(openBlock(),createElementBlock("div",_hoisted_1," No component loaded :/ "))])}const DataInputFormTester=_export_sfc$3(_sfc_main,[["render",_sfc_render]]),router=createRouter({history:createWebHistory(),routes:[{path:"/dif/:pathMatch(.*)",name:"testThePathComponent",component:DataInputFormTester,props:!0},{path:"/md",component:MarkdownRenderer},{path:"/",alias:["/home"],name:"home",component:Home},{path:"/about",name:"about",component:About},{path:"/login",name:"login",component:Login},{path:"/verify",name:"verify",component:VerifyEmailView},{path:"/request-reset",name:"request-reset",component:RequestPasswordResetView},{path:"/reset-password",name:"reset-password",component:ResetPasswordView},{path:"/notes",component:ReleaseNotes},{path:"/edit/:course",props:!0,component:CourseEditor},{path:"/study",name:"study",component:Study},{path:"/study/:focusCourseID",component:Study,props:!0},{path:"/random",name:"random",alias:["/r"],props:{randomPreview:!0},component:Study},{path:"/classrooms",name:"classrooms",component:Classrooms},{path:"/classrooms/:classroomId",props:!0,alias:"/c/:classroomId",component:ClassroomCtrlPanel},{path:"/classrooms/:classroomId/code",props:!0,alias:"/c/:classroomId",component:JoinCode},{path:"/courses",alias:["/quilts","/q"],component:Courses},{path:"/courses/:query",props:!0,alias:["/quilts/:query","/q/:query"],component:CourseRouter},{path:"/courses/:courseId/elo",props:!0,alias:["/quilts/:courseId/elo","/q/:courseId/elo"],component:ELOModerator},{path:"/courses/:courseId/tags/:tagId",props:!0,alias:["/quilts/:courseId/tags/:tagId","/q/:courseId/tags/:tagId"],component:TagInformation},{path:"/courses/:previewCourseID/preview",props:!0,alias:["/quilts/:previewCourseID/preview","/q/:previewCourseID/preview"],component:Study},{path:"/admin",component:AdminDashboard,meta:{requiresAdmin:!0}},{path:"/user/:username",alias:"/u/:username",props:!0,component:User,children:[{path:"new",component:User}]},{path:"/user/:_id/stats",props:!0,alias:["/u/:_id/stats"],component:_sfc_main$h}]});router.beforeEach((async(t,n,i)=>{if(["/express","/couch"].some((n=>t.path.startsWith(n))))return!1;if(t.meta.requiresAdmin)try{const n=await getCurrentUser();if(n&&"admin"===n.getUsername())i();else{const a=useAuthRedirectStore();let s;s=n?"admin-required":"auth-required",a.setPendingRedirect(t.fullPath,s),i({name:"login",state:{redirect:t.fullPath,reason:s,timestamp:Date.now()}})}}catch{const n="auth-failed";useAuthRedirectStore().setPendingRedirect(t.fullPath,n),i({name:"login",state:{redirect:t.fullPath,reason:n,timestamp:Date.now()}})}else i()}));const makeVAppProps=propsFactory({...makeComponentProps(),...makeLayoutProps({fullHeight:!0}),...makeThemeProps()},"VApp"),VApp=genericComponent()({name:"VApp",props:makeVAppProps(),setup(t,n){let{slots:i}=n;const a=provideTheme(t),{layoutClasses:s,getLayoutItem:l,items:c,layoutRef:u}=createLayout(t),{rtlClasses:d}=useRtl();return useRender((()=>createVNode("div",{ref:u,class:["v-application",a.themeClasses.value,s.value,d.value,t.class],style:[t.style]},[createVNode("div",{class:"v-application__wrap"},[i.default?.()])]))),{getLayoutItem:l,items:c,theme:a}}}),makeTagProps=propsFactory({tag:{type:String,default:"div"}},"tag"),makeVToolbarTitleProps=propsFactory({text:String,...makeComponentProps(),...makeTagProps()},"VToolbarTitle"),VToolbarTitle=genericComponent()({name:"VToolbarTitle",props:makeVToolbarTitleProps(),setup(t,n){let{slots:i}=n;return useRender((()=>{const n=!!(i.default||i.text||t.text);return createVNode(t.tag,{class:["v-toolbar-title",t.class],style:t.style},{default:()=>[n&&createVNode("div",{class:"v-toolbar-title__placeholder"},[i.text?i.text():t.text,i.default?.()])]})})),{}}}),makeTransitionProps$1=propsFactory({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function createCssTransition(t,n,i){return genericComponent()({name:t,props:makeTransitionProps$1({mode:i,origin:n}),setup(n,i){let{slots:a}=i;const s={onBeforeEnter(t){n.origin&&(t.style.transformOrigin=n.origin)},onLeave(t){if(n.leaveAbsolute){const{offsetTop:n,offsetLeft:i,offsetWidth:a,offsetHeight:s}=t;t._transitionInitialStyles={position:t.style.position,top:t.style.top,left:t.style.left,width:t.style.width,height:t.style.height},t.style.position="absolute",t.style.top=`${n}px`,t.style.left=`${i}px`,t.style.width=`${a}px`,t.style.height=`${s}px`}n.hideOnLeave&&t.style.setProperty("display","none","important")},onAfterLeave(t){if(n.leaveAbsolute&&t?._transitionInitialStyles){const{position:n,top:i,left:a,width:s,height:l}=t._transitionInitialStyles;delete t._transitionInitialStyles,t.style.position=n||"",t.style.top=i||"",t.style.left=a||"",t.style.width=s||"",t.style.height=l||""}}};return()=>h$2(n.group?TransitionGroup:Transition,{name:n.disabled?"":t,css:!n.disabled,...n.group?void 0:{mode:n.mode},...n.disabled?{}:s},a.default)}})}function createJavascriptTransition(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"in-out";return genericComponent()({name:t,props:{mode:{type:String,default:i},disabled:Boolean,group:Boolean},setup(i,a){let{slots:s}=a;const l=i.group?TransitionGroup:Transition;return()=>h$2(l,{name:i.disabled?"":t,css:!i.disabled,...i.disabled?{}:n},s.default)}})}function ExpandTransitionGenerator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const n=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"width":"height",i=camelize(`offset-${n}`);return{onBeforeEnter(t){t._parent=t.parentNode,t._initialStyle={transition:t.style.transition,overflow:t.style.overflow,[n]:t.style[n]}},onEnter(a){const s=a._initialStyle;if(!s)return;a.style.setProperty("transition","none","important"),a.style.overflow="hidden";const l=`${a[i]}px`;a.style[n]="0",a.offsetHeight,a.style.transition=s.transition,t&&a._parent&&a._parent.classList.add(t),requestAnimationFrame((()=>{a.style[n]=l}))},onAfterEnter:s,onEnterCancelled:s,onLeave(t){t._initialStyle={transition:"",overflow:t.style.overflow,[n]:t.style[n]},t.style.overflow="hidden",t.style[n]=`${t[i]}px`,t.offsetHeight,requestAnimationFrame((()=>t.style[n]="0"))},onAfterLeave:a,onLeaveCancelled:a};function a(n){t&&n._parent&&n._parent.classList.remove(t),s(n)}function s(t){if(!t._initialStyle)return;const i=t._initialStyle[n];t.style.overflow=t._initialStyle.overflow,null!=i&&(t.style[n]=i),delete t._initialStyle}}const makeVDialogTransitionProps=propsFactory({target:[Object,Array]},"v-dialog-transition"),VDialogTransition=genericComponent()({name:"VDialogTransition",props:makeVDialogTransitionProps(),setup(t,n){let{slots:i}=n;const a={onBeforeEnter(t){t.style.pointerEvents="none",t.style.visibility="hidden"},async onEnter(n,i){await new Promise((t=>requestAnimationFrame(t))),await new Promise((t=>requestAnimationFrame(t))),n.style.visibility="";const{x:a,y:s,sx:l,sy:c,speed:u}=getDimensions(t.target,n),d=animate$2(n,[{transform:`translate(${a}px, ${s}px) scale(${l}, ${c})`,opacity:0},{}],{duration:225*u,easing:deceleratedEasing});getChildren(n)?.forEach((t=>{animate$2(t,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*u,easing:standardEasing})})),d.finished.then((()=>i()))},onAfterEnter(t){t.style.removeProperty("pointer-events")},onBeforeLeave(t){t.style.pointerEvents="none"},async onLeave(n,i){await new Promise((t=>requestAnimationFrame(t)));const{x:a,y:s,sx:l,sy:c,speed:u}=getDimensions(t.target,n);animate$2(n,[{},{transform:`translate(${a}px, ${s}px) scale(${l}, ${c})`,opacity:0}],{duration:125*u,easing:acceleratedEasing}).finished.then((()=>i())),getChildren(n)?.forEach((t=>{animate$2(t,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*u,easing:standardEasing})}))},onAfterLeave(t){t.style.removeProperty("pointer-events")}};return()=>t.target?createVNode(Transition,mergeProps({name:"dialog-transition"},a,{css:!1}),i):createVNode(Transition,{name:"dialog-transition"},i)}});function getChildren(t){const n=t.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;return n&&[...n]}function getDimensions(t,n){const i=getTargetBox(t),a=nullifyTransforms(n),[s,l]=getComputedStyle(n).transformOrigin.split(" ").map((t=>parseFloat(t))),[c,u]=getComputedStyle(n).getPropertyValue("--v-overlay-anchor-origin").split(" ");let d=i.left+i.width/2;"left"===c||"left"===u?d-=i.width/2:"right"!==c&&"right"!==u||(d+=i.width/2);let f=i.top+i.height/2;"top"===c||"top"===u?f-=i.height/2:"bottom"!==c&&"bottom"!==u||(f+=i.height/2);const m=i.width/a.width,g=i.height/a.height,v=Math.max(1,m,g),b=m/v||0,w=g/v||0,k=a.width*a.height/(window.innerWidth*window.innerHeight),S=k>.12?Math.min(1.5,10*(k-.12)+1):1;return{x:d-(s+a.left),y:f-(l+a.top),sx:b,sy:w,speed:S}}const VFabTransition=createCssTransition("fab-transition","center center","out-in"),VDialogBottomTransition=createCssTransition("dialog-bottom-transition"),VDialogTopTransition=createCssTransition("dialog-top-transition"),VFadeTransition=createCssTransition("fade-transition"),VScaleTransition=createCssTransition("scale-transition"),VScrollXTransition=createCssTransition("scroll-x-transition"),VScrollXReverseTransition=createCssTransition("scroll-x-reverse-transition"),VScrollYTransition=createCssTransition("scroll-y-transition"),VScrollYReverseTransition=createCssTransition("scroll-y-reverse-transition"),VSlideXTransition=createCssTransition("slide-x-transition"),VSlideXReverseTransition=createCssTransition("slide-x-reverse-transition"),VSlideYTransition=createCssTransition("slide-y-transition"),VSlideYReverseTransition=createCssTransition("slide-y-reverse-transition"),VExpandTransition=createJavascriptTransition("expand-transition",ExpandTransitionGenerator()),VExpandXTransition=createJavascriptTransition("expand-x-transition",ExpandTransitionGenerator("",!0)),makeVDefaultsProviderProps=propsFactory({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),VDefaultsProvider=genericComponent(!1)({name:"VDefaultsProvider",props:makeVDefaultsProviderProps(),setup(t,n){let{slots:i}=n;const{defaults:a,disabled:s,reset:l,root:c,scoped:u}=toRefs(t);return provideDefaults(a,{reset:l,root:c,scoped:u,disabled:s}),()=>i.default?.()}}),makeDimensionProps=propsFactory({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function useDimension(t){return{dimensionStyles:computed((()=>{const n={},i=convertToUnit(t.height),a=convertToUnit(t.maxHeight),s=convertToUnit(t.maxWidth),l=convertToUnit(t.minHeight),c=convertToUnit(t.minWidth),u=convertToUnit(t.width);return null!=i&&(n.height=i),null!=a&&(n.maxHeight=a),null!=s&&(n.maxWidth=s),null!=l&&(n.minHeight=l),null!=c&&(n.minWidth=c),null!=u&&(n.width=u),n}))}}function useAspectStyles(t){return{aspectStyles:computed((()=>{const n=Number(t.aspectRatio);return n?{paddingBottom:String(1/n*100)+"%"}:void 0}))}}const makeVResponsiveProps=propsFactory({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...makeComponentProps(),...makeDimensionProps()},"VResponsive"),VResponsive=genericComponent()({name:"VResponsive",props:makeVResponsiveProps(),setup(t,n){let{slots:i}=n;const{aspectStyles:a}=useAspectStyles(t),{dimensionStyles:s}=useDimension(t);return useRender((()=>createVNode("div",{class:["v-responsive",{"v-responsive--inline":t.inline},t.class],style:[s.value,t.style]},[createVNode("div",{class:"v-responsive__sizer",style:a.value},null),i.additional?.(),i.default&&createVNode("div",{class:["v-responsive__content",t.contentClass]},[i.default()])]))),{}}});function useColor(t){return destructComputed((()=>{const n=[],i={};if(t.value.background)if(isCssColor(t.value.background)){if(i.backgroundColor=t.value.background,!t.value.text&&isParsableColor(t.value.background)){const n=parseColor(t.value.background);if(null==n.a||1===n.a){const t=getForeground(n);i.color=t,i.caretColor=t}}}else n.push(`bg-${t.value.background}`);return t.value.text&&(isCssColor(t.value.text)?(i.color=t.value.text,i.caretColor=t.value.text):n.push(`text-${t.value.text}`)),{colorClasses:n,colorStyles:i}}))}function useTextColor(t,n){const i=computed((()=>({text:isRef(t)?t.value:n?t[n]:null}))),{colorClasses:a,colorStyles:s}=useColor(i);return{textColorClasses:a,textColorStyles:s}}function useBackgroundColor(t,n){const i=computed((()=>({background:isRef(t)?t.value:n?t[n]:null}))),{colorClasses:a,colorStyles:s}=useColor(i);return{backgroundColorClasses:a,backgroundColorStyles:s}}const makeRoundedProps=propsFactory({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function useRounded(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{roundedClasses:computed((()=>{const i=isRef(t)?t.value:t.rounded,a=isRef(t)?t.value:t.tile,s=[];if(!0===i||""===i)s.push(`${n}--rounded`);else if("string"==typeof i||0===i)for(const t of String(i).split(" "))s.push(`rounded-${t}`);else(a||!1===i)&&s.push("rounded-0");return s}))}}const makeTransitionProps=propsFactory({transition:{type:[Boolean,String,Object],default:"fade-transition",validator:t=>!0!==t}},"transition"),MaybeTransition=(t,n)=>{let{slots:i}=n;const{transition:a,disabled:s,group:l,...c}=t,{component:u=(l?TransitionGroup:Transition),...d}="object"==typeof a?a:{};return h$2(u,mergeProps("string"==typeof a?{name:s?"":a}:d,"string"==typeof a?{}:Object.fromEntries(Object.entries({disabled:s,group:l}).filter((t=>{let[n,i]=t;return void 0!==i}))),c),i)};function mounted$5(t,n){if(!SUPPORTS_INTERSECTION)return;const i=n.modifiers||{},a=n.value,{handler:s,options:l}="object"==typeof a?a:{handler:a,options:{}},c=new IntersectionObserver((function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],l=arguments.length>1?arguments[1]:void 0;const c=t._observe?.[n.instance.$.uid];if(!c)return;const u=a.some((t=>t.isIntersecting));!s||i.quiet&&!c.init||i.once&&!u&&!c.init||s(u,a,l),u&&i.once?unmounted$5(t,n):c.init=!0}),l);t._observe=Object(t._observe),t._observe[n.instance.$.uid]={init:!1,observer:c},c.observe(t)}function unmounted$5(t,n){const i=t._observe?.[n.instance.$.uid];i&&(i.observer.unobserve(t),delete t._observe[n.instance.$.uid])}const Intersect={mounted:mounted$5,unmounted:unmounted$5},makeVImgProps=propsFactory({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...makeVResponsiveProps(),...makeComponentProps(),...makeRoundedProps(),...makeTransitionProps()},"VImg"),VImg=genericComponent()({name:"VImg",directives:{intersect:Intersect},props:makeVImgProps(),emits:{loadstart:t=>!0,load:t=>!0,error:t=>!0},setup(t,n){let{emit:i,slots:a}=n;const{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(t,"color")),{roundedClasses:c}=useRounded(t),u=getCurrentInstance("VImg"),d=shallowRef(""),f=ref(),m=shallowRef(t.eager?"loading":"idle"),g=shallowRef(),v=shallowRef(),b=computed((()=>t.src&&"object"==typeof t.src?{src:t.src.src,srcset:t.srcset||t.src.srcset,lazySrc:t.lazySrc||t.src.lazySrc,aspect:Number(t.aspectRatio||t.src.aspect||0)}:{src:t.src,srcset:t.srcset,lazySrc:t.lazySrc,aspect:Number(t.aspectRatio||0)})),w=computed((()=>b.value.aspect||g.value/v.value||0));function k(n){if((!t.eager||!n)&&(!SUPPORTS_INTERSECTION||n||t.eager)){if(m.value="loading",b.value.lazySrc){const t=new Image;t.src=b.value.lazySrc,P(t,null)}b.value.src&&nextTick$2((()=>{i("loadstart",f.value?.currentSrc||b.value.src),setTimeout((()=>{if(!u.isUnmounted)if(f.value?.complete){if(f.value.naturalWidth||C(),"error"===m.value)return;w.value||P(f.value,null),"loading"===m.value&&S()}else w.value||P(f.value),E()}))}))}}function S(){u.isUnmounted||(E(),P(f.value),m.value="loaded",i("load",f.value?.currentSrc||b.value.src))}function C(){u.isUnmounted||(m.value="error",i("error",f.value?.currentSrc||b.value.src))}function E(){const t=f.value;t&&(d.value=t.currentSrc||t.src)}watch((()=>t.src),(()=>{k("idle"!==m.value)})),watch(w,((t,n)=>{!t&&n&&f.value&&P(f.value)})),onBeforeMount((()=>k()));let T=-1;function P(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;const i=()=>{if(clearTimeout(T),u.isUnmounted)return;const{naturalHeight:a,naturalWidth:s}=t;a||s?(g.value=s,v.value=a):t.complete||"loading"!==m.value||null==n?(t.currentSrc.endsWith(".svg")||t.currentSrc.startsWith("data:image/svg+xml"))&&(g.value=1,v.value=1):T=window.setTimeout(i,n)};i()}onBeforeUnmount((()=>{clearTimeout(T)}));const I=computed((()=>({"v-img__img--cover":t.cover,"v-img__img--contain":!t.cover}))),A=()=>{if(!b.value.src||"idle"===m.value)return null;const n=createVNode("img",{class:["v-img__img",I.value],style:{objectPosition:t.position},crossorigin:t.crossorigin,src:b.value.src,srcset:b.value.srcset,alt:t.alt,referrerpolicy:t.referrerpolicy,draggable:t.draggable,sizes:t.sizes,ref:f,onLoad:S,onError:C},null),i=a.sources?.();return createVNode(MaybeTransition,{transition:t.transition,appear:!0},{default:()=>[withDirectives(i?createVNode("picture",{class:"v-img__picture"},[i,n]):n,[[vShow,"loaded"===m.value]])]})},D=()=>createVNode(MaybeTransition,{transition:t.transition},{default:()=>[b.value.lazySrc&&"loaded"!==m.value&&createVNode("img",{class:["v-img__img","v-img__img--preload",I.value],style:{objectPosition:t.position},crossorigin:t.crossorigin,src:b.value.lazySrc,alt:t.alt,referrerpolicy:t.referrerpolicy,draggable:t.draggable},null)]}),O=()=>a.placeholder?createVNode(MaybeTransition,{transition:t.transition,appear:!0},{default:()=>[("loading"===m.value||"error"===m.value&&!a.error)&&createVNode("div",{class:"v-img__placeholder"},[a.placeholder()])]}):null,_e=()=>a.error?createVNode(MaybeTransition,{transition:t.transition,appear:!0},{default:()=>["error"===m.value&&createVNode("div",{class:"v-img__error"},[a.error()])]}):null,be=()=>t.gradient?createVNode("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${t.gradient})`}},null):null,we=shallowRef(!1);{const t=watch(w,(n=>{n&&(requestAnimationFrame((()=>{requestAnimationFrame((()=>{we.value=!0}))})),t())}))}return useRender((()=>{const n=VResponsive.filterProps(t);return withDirectives(createVNode(VResponsive,mergeProps({class:["v-img",{"v-img--absolute":t.absolute,"v-img--booting":!we.value},s.value,c.value,t.class],style:[{width:convertToUnit("auto"===t.width?g.value:t.width)},l.value,t.style]},n,{aspectRatio:w.value,"aria-label":t.alt,role:t.alt?"img":void 0}),{additional:()=>createVNode(Fragment,null,[createVNode(A,null,null),createVNode(D,null,null),createVNode(be,null,null),createVNode(O,null,null),createVNode(_e,null,null)]),default:a.default}),[[resolveDirective("intersect"),{handler:k,options:t.options},null,{once:!0}]])})),{currentSrc:d,image:f,state:m,naturalWidth:g,naturalHeight:v}}}),makeBorderProps=propsFactory({border:[Boolean,Number,String]},"border");function useBorder(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{borderClasses:computed((()=>{const i=isRef(t)?t.value:t.border,a=[];if(!0===i||""===i)a.push(`${n}--border`);else if("string"==typeof i||0===i)for(const t of String(i).split(" "))a.push(`border-${t}`);return a}))}}const makeElevationProps=propsFactory({elevation:{type:[Number,String],validator(t){const n=parseInt(t);return!isNaN(n)&&n>=0&&n<=24}}},"elevation");function useElevation(t){return{elevationClasses:computed((()=>{const n=isRef(t)?t.value:t.elevation,i=[];return null==n||i.push(`elevation-${n}`),i}))}}const allowedDensities$1=[null,"prominent","default","comfortable","compact"],makeVToolbarProps=propsFactory({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:t=>allowedDensities$1.includes(t)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...makeBorderProps(),...makeComponentProps(),...makeElevationProps(),...makeRoundedProps(),...makeTagProps({tag:"header"}),...makeThemeProps()},"VToolbar"),VToolbar=genericComponent()({name:"VToolbar",props:makeVToolbarProps(),setup(t,n){let{slots:i}=n;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(t,"color")),{borderClasses:l}=useBorder(t),{elevationClasses:c}=useElevation(t),{roundedClasses:u}=useRounded(t),{themeClasses:d}=provideTheme(t),{rtlClasses:f}=useRtl(),m=shallowRef(!(!t.extended&&!i.extension?.())),g=computed((()=>parseInt(Number(t.height)+("prominent"===t.density?Number(t.height):0)-("comfortable"===t.density?8:0)-("compact"===t.density?16:0),10))),v=computed((()=>m.value?parseInt(Number(t.extensionHeight)+("prominent"===t.density?Number(t.extensionHeight):0)-("comfortable"===t.density?4:0)-("compact"===t.density?8:0),10):0));return provideDefaults({VBtn:{variant:"text"}}),useRender((()=>{const n=!(!t.title&&!i.title),b=!(!i.image&&!t.image),w=i.extension?.();return m.value=!(!t.extended&&!w),createVNode(t.tag,{class:["v-toolbar",{"v-toolbar--absolute":t.absolute,"v-toolbar--collapse":t.collapse,"v-toolbar--flat":t.flat,"v-toolbar--floating":t.floating,[`v-toolbar--density-${t.density}`]:!0},a.value,l.value,c.value,u.value,d.value,f.value,t.class],style:[s.value,t.style]},{default:()=>[b&&createVNode("div",{key:"image",class:"v-toolbar__image"},[i.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!t.image,defaults:{VImg:{cover:!0,src:t.image}}},i.image):createVNode(VImg,{key:"image-img",cover:!0,src:t.image},null)]),createVNode(VDefaultsProvider,{defaults:{VTabs:{height:convertToUnit(g.value)}}},{default:()=>[createVNode("div",{class:"v-toolbar__content",style:{height:convertToUnit(g.value)}},[i.prepend&&createVNode("div",{class:"v-toolbar__prepend"},[i.prepend?.()]),n&&createVNode(VToolbarTitle,{key:"title",text:t.title},{text:i.title}),i.default?.(),i.append&&createVNode("div",{class:"v-toolbar__append"},[i.append?.()])])]}),createVNode(VDefaultsProvider,{defaults:{VTabs:{height:convertToUnit(v.value)}}},{default:()=>[createVNode(VExpandTransition,null,{default:()=>[m.value&&createVNode("div",{class:"v-toolbar__extension",style:{height:convertToUnit(v.value)}},[w])]})]})]})})),{contentHeight:g,extensionHeight:v}}}),makeScrollProps=propsFactory({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function useScroll(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{canScroll:i}=n;let a=0,s=0;const l=ref(null),c=shallowRef(0),u=shallowRef(0),d=shallowRef(0),f=shallowRef(!1),m=shallowRef(!1),g=computed((()=>Number(t.scrollThreshold))),v=computed((()=>clamp((g.value-c.value)/g.value||0))),b=()=>{const t=l.value;if(!t||i&&!i.value)return;a=c.value,c.value="window"in t?t.pageYOffset:t.scrollTop;const n=t instanceof Window?document.documentElement.scrollHeight:t.scrollHeight;s===n?(m.value=c.value<a,d.value=Math.abs(c.value-g.value)):s=n};return watch(m,(()=>{u.value=u.value||c.value})),watch(f,(()=>{u.value=0})),onMounted((()=>{watch((()=>t.scrollTarget),(t=>{const n=t?document.querySelector(t):window;n&&n!==l.value&&(l.value?.removeEventListener("scroll",b),l.value=n,l.value.addEventListener("scroll",b,{passive:!0}))}),{immediate:!0})})),onBeforeUnmount((()=>{l.value?.removeEventListener("scroll",b)})),i&&watch(i,b,{immediate:!0}),{scrollThreshold:g,currentScroll:c,currentThreshold:d,isScrollActive:f,scrollRatio:v,isScrollingUp:m,savedScroll:u}}function useSsrBoot(){const t=shallowRef(!1);onMounted((()=>{window.requestAnimationFrame((()=>{t.value=!0}))}));return{ssrBootStyles:computed((()=>t.value?void 0:{transition:"none !important"})),isBooted:readonly(t)}}const makeVAppBarProps=propsFactory({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:t=>["top","bottom"].includes(t)},...makeVToolbarProps(),...makeLayoutItemProps(),...makeScrollProps(),height:{type:[Number,String],default:64}},"VAppBar"),VAppBar=genericComponent()({name:"VAppBar",props:makeVAppBarProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=ref(),s=useProxiedModel(t,"modelValue"),l=computed((()=>{const n=new Set(t.scrollBehavior?.split(" ")??[]);return{hide:n.has("hide"),fullyHide:n.has("fully-hide"),inverted:n.has("inverted"),collapse:n.has("collapse"),elevate:n.has("elevate"),fadeImage:n.has("fade-image")}})),c=computed((()=>{const t=l.value;return t.hide||t.fullyHide||t.inverted||t.collapse||t.elevate||t.fadeImage||!s.value})),{currentScroll:u,scrollThreshold:d,isScrollingUp:f,scrollRatio:m}=useScroll(t,{canScroll:c}),g=computed((()=>l.value.hide||l.value.fullyHide)),v=computed((()=>t.collapse||l.value.collapse&&(l.value.inverted?m.value>0:0===m.value))),b=computed((()=>t.flat||l.value.fullyHide&&!s.value||l.value.elevate&&(l.value.inverted?u.value>0:0===u.value))),w=computed((()=>l.value.fadeImage?l.value.inverted?1-m.value:m.value:void 0)),k=computed((()=>{if(l.value.hide&&l.value.inverted)return 0;const t=a.value?.contentHeight??0,n=a.value?.extensionHeight??0;return g.value?u.value<d.value||l.value.fullyHide?t+n:t:t+n}));useToggleScope(computed((()=>!!t.scrollBehavior)),(()=>{watchEffect((()=>{g.value?l.value.inverted?s.value=u.value>d.value:s.value=f.value||u.value<d.value:s.value=!0}))}));const{ssrBootStyles:S}=useSsrBoot(),{layoutItemStyles:C}=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:toRef(t,"location"),layoutSize:k,elementSize:shallowRef(void 0),active:s,absolute:toRef(t,"absolute")});return useRender((()=>{const n=VToolbar.filterProps(t);return createVNode(VToolbar,mergeProps({ref:a,class:["v-app-bar",{"v-app-bar--bottom":"bottom"===t.location},t.class],style:[{...C.value,"--v-toolbar-image-opacity":w.value,height:void 0,...S.value},t.style]},n,{collapse:v.value,flat:b.value}),i)})),{}}}),allowedDensities=[null,"default","comfortable","compact"],makeDensityProps=propsFactory({density:{type:String,default:"default",validator:t=>allowedDensities.includes(t)}},"density");function useDensity(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{densityClasses:computed((()=>`${n}--density-${t.density}`))}}const allowedVariants$2=["elevated","flat","tonal","outlined","text","plain"];function genOverlays(t,n){return createVNode(Fragment,null,[t&&createVNode("span",{key:"overlay",class:`${n}__overlay`},null),createVNode("span",{key:"underlay",class:`${n}__underlay`},null)])}const makeVariantProps=propsFactory({color:String,variant:{type:String,default:"elevated",validator:t=>allowedVariants$2.includes(t)}},"variant");function useVariant(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const i=computed((()=>{const{variant:i}=unref(t);return`${n}--variant-${i}`})),{colorClasses:a,colorStyles:s}=useColor(computed((()=>{const{variant:n,color:i}=unref(t);return{[["elevated","flat"].includes(n)?"background":"text"]:i}})));return{colorClasses:a,colorStyles:s,variantClasses:i}}const makeVBtnGroupProps=propsFactory({baseColor:String,divided:Boolean,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeElevationProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps()},"VBtnGroup"),VBtnGroup=genericComponent()({name:"VBtnGroup",props:makeVBtnGroupProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{densityClasses:s}=useDensity(t),{borderClasses:l}=useBorder(t),{elevationClasses:c}=useElevation(t),{roundedClasses:u}=useRounded(t);provideDefaults({VBtn:{height:"auto",baseColor:toRef(t,"baseColor"),color:toRef(t,"color"),density:toRef(t,"density"),flat:!0,variant:toRef(t,"variant")}}),useRender((()=>createVNode(t.tag,{class:["v-btn-group",{"v-btn-group--divided":t.divided},a.value,l.value,s.value,c.value,u.value,t.class],style:t.style},i)))}}),makeGroupProps=propsFactory({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),makeGroupItemProps=propsFactory({value:null,disabled:Boolean,selectedClass:String},"group-item");function useGroupItem(t,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const a=getCurrentInstance("useGroupItem");if(!a)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=getUid();provide(Symbol.for(`${n.description}:id`),s);const l=inject$1(n,null);if(!l){if(!i)return l;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${n.description}`)}const c=toRef(t,"value"),u=computed((()=>!(!l.disabled.value&&!t.disabled)));l.register({id:s,value:c,disabled:u},a),onBeforeUnmount((()=>{l.unregister(s)}));const d=computed((()=>l.isSelected(s))),f=computed((()=>l.items.value[0].id===s)),m=computed((()=>l.items.value[l.items.value.length-1].id===s)),g=computed((()=>d.value&&[l.selectedClass.value,t.selectedClass]));return watch(d,(t=>{a.emit("group:selected",{value:t})}),{flush:"sync"}),{id:s,isSelected:d,isFirst:f,isLast:m,toggle:()=>l.select(s,!d.value),select:t=>l.select(s,t),selectedClass:g,value:c,disabled:u,group:l}}function useGroup(t,n){let i=!1;const a=reactive([]),s=useProxiedModel(t,"modelValue",[],(t=>null==t?[]:getIds(a,wrapInArray(t))),(n=>{const i=getValues(a,n);return t.multiple?i:i[0]})),l=getCurrentInstance("useGroup");function c(){const n=a.find((t=>!t.disabled));n&&"force"===t.mandatory&&!s.value.length&&(s.value=[n.id])}function u(n){if(t.multiple,s.value.length){const t=s.value[0],i=a.findIndex((n=>n.id===t));let l=(i+n)%a.length,c=a[l];for(;c.disabled&&l!==i;)l=(l+n)%a.length,c=a[l];if(c.disabled)return;s.value=[a[l].id]}else{const t=a.find((t=>!t.disabled));t&&(s.value=[t.id])}}onMounted((()=>{c()})),onBeforeUnmount((()=>{i=!0})),onUpdated((()=>{for(let t=0;t<a.length;t++)a[t].useIndexAsValue&&(a[t].value=t)}));const d={register:function(t,i){const s=t,c=findChildrenWithProvide(Symbol.for(`${n.description}:id`),l?.vnode).indexOf(i);null==unref(s.value)&&(s.value=c,s.useIndexAsValue=!0),c>-1?a.splice(c,0,s):a.push(s)},unregister:function(t){if(i)return;c();const n=a.findIndex((n=>n.id===t));a.splice(n,1)},selected:s,select:function(n,i){const l=a.find((t=>t.id===n));if(!i||!l?.disabled)if(t.multiple){const a=s.value.slice(),l=a.findIndex((t=>t===n)),c=~l;if(i=i??!c,c&&t.mandatory&&a.length<=1)return;if(!c&&null!=t.max&&a.length+1>t.max)return;l<0&&i?a.push(n):l>=0&&!i&&a.splice(l,1),s.value=a}else{const a=s.value.includes(n);if(t.mandatory&&a)return;s.value=i??!a?[n]:[]}},disabled:toRef(t,"disabled"),prev:()=>u(a.length-1),next:()=>u(1),isSelected:t=>s.value.includes(t),selectedClass:computed((()=>t.selectedClass)),items:computed((()=>a)),getItemIndex:t=>getItemIndex(a,t)};return provide(n,d),d}function getItemIndex(t,n){const i=getIds(t,[n]);return i.length?t.findIndex((t=>t.id===i[0])):-1}function getIds(t,n){const i=[];return n.forEach((n=>{const a=t.find((t=>deepEqual(n,t.value))),s=t[n];null!=a?.value?i.push(a.id):null!=s&&i.push(s.id)})),i}function getValues(t,n){const i=[];return n.forEach((n=>{const a=t.findIndex((t=>t.id===n));if(~a){const n=t[a];i.push(null!=n.value?n.value:a)}})),i}const VBtnToggleSymbol=Symbol.for("vuetify:v-btn-toggle"),makeVBtnToggleProps=propsFactory({...makeVBtnGroupProps(),...makeGroupProps()},"VBtnToggle"),VBtnToggle=genericComponent()({name:"VBtnToggle",props:makeVBtnToggleProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{isSelected:a,next:s,prev:l,select:c,selected:u}=useGroup(t,VBtnToggleSymbol);return useRender((()=>{const n=VBtnGroup.filterProps(t);return createVNode(VBtnGroup,mergeProps({class:["v-btn-toggle",t.class]},n,{style:t.style}),{default:()=>[i.default?.({isSelected:a,next:s,prev:l,select:c,selected:u})]})})),{next:s,prev:l,select:c}}}),predefinedSizes=["x-small","small","default","large","x-large"],makeSizeProps=propsFactory({size:{type:[String,Number],default:"default"}},"size");function useSize(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return destructComputed((()=>{let i,a;return includes(predefinedSizes,t.size)?i=`${n}--size-${t.size}`:t.size&&(a={width:convertToUnit(t.size),height:convertToUnit(t.size)}),{sizeClasses:i,sizeStyles:a}}))}const makeVIconProps=propsFactory({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:IconValue,...makeComponentProps(),...makeSizeProps(),...makeTagProps({tag:"i"}),...makeThemeProps()},"VIcon"),VIcon=genericComponent()({name:"VIcon",props:makeVIconProps(),setup(t,n){let{attrs:i,slots:a}=n;const s=ref(),{themeClasses:l}=provideTheme(t),{iconData:c}=useIcon(computed((()=>s.value||t.icon))),{sizeClasses:u}=useSize(t),{textColorClasses:d,textColorStyles:f}=useTextColor(toRef(t,"color"));return useRender((()=>{const n=a.default?.();n&&(s.value=flattenFragments(n).filter((t=>t.type===Text&&t.children&&"string"==typeof t.children))[0]?.children);const m=!(!i.onClick&&!i.onClickOnce);return createVNode(c.value.component,{tag:t.tag,icon:c.value.icon,class:["v-icon","notranslate",l.value,u.value,d.value,{"v-icon--clickable":m,"v-icon--disabled":t.disabled,"v-icon--start":t.start,"v-icon--end":t.end},t.class],style:[u.value?void 0:{fontSize:convertToUnit(t.size),height:convertToUnit(t.size),width:convertToUnit(t.size)},f.value,t.style],role:m?"button":void 0,"aria-hidden":!m,tabindex:m?t.disabled?-1:0:void 0},{default:()=>[n]})})),{}}});function useIntersectionObserver(t,n){const i=ref(),a=shallowRef(!1);if(SUPPORTS_INTERSECTION){const t=new IntersectionObserver((t=>{a.value=!!t.find((t=>t.isIntersecting))}),n);onBeforeUnmount((()=>{t.disconnect()})),watch(i,((n,i)=>{i&&(t.unobserve(i),a.value=!1),n&&t.observe(n)}),{flush:"post"})}return{intersectionRef:i,isIntersecting:a}}const makeVProgressCircularProps=propsFactory({bgColor:String,color:String,indeterminate:[Boolean,String],modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...makeComponentProps(),...makeSizeProps(),...makeTagProps({tag:"div"}),...makeThemeProps()},"VProgressCircular"),VProgressCircular=genericComponent()({name:"VProgressCircular",props:makeVProgressCircularProps(),setup(t,n){let{slots:i}=n;const a=2*Math.PI*20,s=ref(),{themeClasses:l}=provideTheme(t),{sizeClasses:c,sizeStyles:u}=useSize(t),{textColorClasses:d,textColorStyles:f}=useTextColor(toRef(t,"color")),{textColorClasses:m,textColorStyles:g}=useTextColor(toRef(t,"bgColor")),{intersectionRef:v,isIntersecting:b}=useIntersectionObserver(),{resizeRef:w,contentRect:k}=useResizeObserver(),S=computed((()=>Math.max(0,Math.min(100,parseFloat(t.modelValue))))),C=computed((()=>Number(t.width))),E=computed((()=>u.value?Number(t.size):k.value?k.value.width:Math.max(C.value,32))),T=computed((()=>20/(1-C.value/E.value)*2)),P=computed((()=>C.value/E.value*T.value)),I=computed((()=>convertToUnit((100-S.value)/100*a)));return watchEffect((()=>{v.value=s.value,w.value=s.value})),useRender((()=>createVNode(t.tag,{ref:s,class:["v-progress-circular",{"v-progress-circular--indeterminate":!!t.indeterminate,"v-progress-circular--visible":b.value,"v-progress-circular--disable-shrink":"disable-shrink"===t.indeterminate},l.value,c.value,d.value,t.class],style:[u.value,f.value,t.style],role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":t.indeterminate?void 0:S.value},{default:()=>[createVNode("svg",{style:{transform:`rotate(calc(-90deg + ${Number(t.rotate)}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${T.value} ${T.value}`},[createVNode("circle",{class:["v-progress-circular__underlay",m.value],style:g.value,fill:"transparent",cx:"50%",cy:"50%",r:20,"stroke-width":P.value,"stroke-dasharray":a,"stroke-dashoffset":0},null),createVNode("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r:20,"stroke-width":P.value,"stroke-dasharray":a,"stroke-dashoffset":I.value},null)]),i.default&&createVNode("div",{class:"v-progress-circular__content"},[i.default({value:S.value})])]}))),{}}}),oppositeMap={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},makeLocationProps=propsFactory({location:String},"location");function useLocation(t){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2?arguments[2]:void 0;const{isRtl:a}=useRtl();return{locationStyles:computed((()=>{if(!t.location)return{};const{side:s,align:l}=parseAnchor(t.location.split(" ").length>1?t.location:`${t.location} center`,a.value);function c(t){return i?i(t):0}const u={};return"center"!==s&&(n?u[oppositeMap[s]]=`calc(100% - ${c(s)}px)`:u[s]=0),"center"!==l?n?u[oppositeMap[l]]=`calc(100% - ${c(l)}px)`:u[l]=0:("center"===s?u.top=u.left="50%":u[{top:"left",bottom:"left",left:"top",right:"top"}[s]]="50%",u.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[s]),u}))}}const makeVProgressLinearProps=propsFactory({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...makeComponentProps(),...makeLocationProps({location:"top"}),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},"VProgressLinear"),VProgressLinear=genericComponent()({name:"VProgressLinear",props:makeVProgressLinearProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{isRtl:s,rtlClasses:l}=useRtl(),{themeClasses:c}=provideTheme(t),{locationStyles:u}=useLocation(t),{textColorClasses:d,textColorStyles:f}=useTextColor(t,"color"),{backgroundColorClasses:m,backgroundColorStyles:g}=useBackgroundColor(computed((()=>t.bgColor||t.color))),{backgroundColorClasses:v,backgroundColorStyles:b}=useBackgroundColor(computed((()=>t.bufferColor||t.bgColor||t.color))),{backgroundColorClasses:w,backgroundColorStyles:k}=useBackgroundColor(t,"color"),{roundedClasses:S}=useRounded(t),{intersectionRef:C,isIntersecting:E}=useIntersectionObserver(),T=computed((()=>parseFloat(t.max))),P=computed((()=>parseFloat(t.height))),I=computed((()=>clamp(parseFloat(t.bufferValue)/T.value*100,0,100))),A=computed((()=>clamp(parseFloat(a.value)/T.value*100,0,100))),D=computed((()=>s.value!==t.reverse)),O=computed((()=>t.indeterminate?"fade-transition":"slide-x-transition")),_e=IN_BROWSER&&window.matchMedia?.("(forced-colors: active)").matches;function be(t){if(!C.value)return;const{left:n,right:i,width:s}=C.value.getBoundingClientRect(),l=D.value?s-t.clientX+(i-s):t.clientX-n;a.value=Math.round(l/s*T.value)}return useRender((()=>createVNode(t.tag,{ref:C,class:["v-progress-linear",{"v-progress-linear--absolute":t.absolute,"v-progress-linear--active":t.active&&E.value,"v-progress-linear--reverse":D.value,"v-progress-linear--rounded":t.rounded,"v-progress-linear--rounded-bar":t.roundedBar,"v-progress-linear--striped":t.striped},S.value,c.value,l.value,t.class],style:[{bottom:"bottom"===t.location?0:void 0,top:"top"===t.location?0:void 0,height:t.active?convertToUnit(P.value):0,"--v-progress-linear-height":convertToUnit(P.value),...t.absolute?u.value:{}},t.style],role:"progressbar","aria-hidden":t.active?"false":"true","aria-valuemin":"0","aria-valuemax":t.max,"aria-valuenow":t.indeterminate?void 0:Math.min(parseFloat(a.value),T.value),onClick:t.clickable&&be},{default:()=>[t.stream&&createVNode("div",{key:"stream",class:["v-progress-linear__stream",d.value],style:{...f.value,[D.value?"left":"right"]:convertToUnit(-P.value),borderTop:`${convertToUnit(P.value/2)} dotted`,opacity:parseFloat(t.bufferOpacity),top:`calc(50% - ${convertToUnit(P.value/4)})`,width:convertToUnit(100-I.value,"%"),"--v-progress-linear-stream-to":convertToUnit(P.value*(D.value?1:-1))}},null),createVNode("div",{class:["v-progress-linear__background",_e?void 0:m.value],style:[g.value,{opacity:parseFloat(t.bgOpacity),width:t.stream?0:void 0}]},null),createVNode("div",{class:["v-progress-linear__buffer",_e?void 0:v.value],style:[b.value,{opacity:parseFloat(t.bufferOpacity),width:convertToUnit(I.value,"%")}]},null),createVNode(Transition,{name:O.value},{default:()=>[t.indeterminate?createVNode("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map((t=>createVNode("div",{key:t,class:["v-progress-linear__indeterminate",t,_e?void 0:w.value],style:k.value},null)))]):createVNode("div",{class:["v-progress-linear__determinate",_e?void 0:w.value],style:[k.value,{width:convertToUnit(A.value,"%")}]},null)]}),i.default&&createVNode("div",{class:"v-progress-linear__content"},[i.default({value:A.value,buffer:I.value})])]}))),{}}}),makeLoaderProps=propsFactory({loading:[Boolean,String]},"loader");function useLoader(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{loaderClasses:computed((()=>({[`${n}--loading`]:t.loading})))}}function LoaderSlot(t,n){let{slots:i}=n;return createVNode("div",{class:`${t.name}__loader`},[i.default?.({color:t.color,isActive:t.active})||createVNode(VProgressLinear,{absolute:t.absolute,active:t.active,color:t.color,height:"2",indeterminate:!0},null)])}const positionValues=["static","relative","fixed","absolute","sticky"],makePositionProps=propsFactory({position:{type:String,validator:t=>positionValues.includes(t)}},"position");function usePosition(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{positionClasses:computed((()=>t.position?`${n}--${t.position}`:void 0))}}function useRoute(){const t=getCurrentInstance("useRoute");return computed((()=>t?.proxy?.$route))}function useRouter(){return getCurrentInstance("useRouter")?.proxy?.$router}function useLink(t,n){const i=resolveDynamicComponent("RouterLink"),a=computed((()=>!(!t.href&&!t.to))),s=computed((()=>a?.value||hasEvent(n,"click")||hasEvent(t,"click")));if("string"==typeof i||!("useLink"in i)){const n=toRef(t,"href");return{isLink:a,isClickable:s,href:n,linkProps:reactive({href:n})}}const l=computed((()=>({...t,to:toRef((()=>t.to||""))}))),c=i.useLink(l.value),u=computed((()=>t.to?c:void 0)),d=useRoute(),f=computed((()=>!!u.value&&(t.exact?d.value?u.value.isExactActive?.value&&deepEqual(u.value.route.value.query,d.value.query):u.value.isExactActive?.value??!1:u.value.isActive?.value??!1))),m=computed((()=>t.to?u.value?.route.value.href:t.href));return{isLink:a,isClickable:s,isActive:f,route:u.value?.route,navigate:u.value?.navigate,href:m,linkProps:reactive({href:m,"aria-current":computed((()=>f.value?"page":void 0))})}}const makeRouterProps=propsFactory({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let inTransition=!1;function useBackButton(t,n){let i,a,s=!1;function l(t){t.state?.replaced||(s=!0,setTimeout((()=>s=!1)))}IN_BROWSER&&t?.beforeEach&&(nextTick$2((()=>{window.addEventListener("popstate",l),i=t.beforeEach(((t,i,a)=>{inTransition?s?n(a):a():setTimeout((()=>s?n(a):a())),inTransition=!0})),a=t?.afterEach((()=>{inTransition=!1}))})),onScopeDispose((()=>{window.removeEventListener("popstate",l),i?.(),a?.()})))}function useSelectLink(t,n){watch((()=>t.isActive?.value),(i=>{t.isLink.value&&i&&n&&nextTick$2((()=>{n(!0)}))}),{immediate:!0})}const stopSymbol=Symbol("rippleStop"),DELAY_RIPPLE=80;function transform(t,n){t.style.transform=n,t.style.webkitTransform=n}function isTouchEvent(t){return"TouchEvent"===t.constructor.name}function isKeyboardEvent(t){return"KeyboardEvent"===t.constructor.name}const calculate=function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=0,s=0;if(!isKeyboardEvent(t)){const i=n.getBoundingClientRect(),l=isTouchEvent(t)?t.touches[t.touches.length-1]:t;a=l.clientX-i.left,s=l.clientY-i.top}let l=0,c=.3;n._ripple?.circle?(c=.15,l=n.clientWidth/2,l=i.center?l:l+Math.sqrt((a-l)**2+(s-l)**2)/4):l=Math.sqrt(n.clientWidth**2+n.clientHeight**2)/2;const u=(n.clientWidth-2*l)/2+"px",d=(n.clientHeight-2*l)/2+"px";return{radius:l,scale:c,x:i.center?u:a-l+"px",y:i.center?d:s-l+"px",centerX:u,centerY:d}},ripples={show(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n?._ripple?.enabled)return;const a=document.createElement("span"),s=document.createElement("span");a.appendChild(s),a.className="v-ripple__container",i.class&&(a.className+=` ${i.class}`);const{radius:l,scale:c,x:u,y:d,centerX:f,centerY:m}=calculate(t,n,i),g=2*l+"px";s.className="v-ripple__animation",s.style.width=g,s.style.height=g,n.appendChild(a);const v=window.getComputedStyle(n);v&&"static"===v.position&&(n.style.position="relative",n.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),transform(s,`translate(${u}, ${d}) scale3d(${c},${c},${c})`),s.dataset.activated=String(performance.now()),requestAnimationFrame((()=>{requestAnimationFrame((()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),transform(s,`translate(${f}, ${m}) scale3d(1,1,1)`)}))}))},hide(t){if(!t?._ripple?.enabled)return;const n=t.getElementsByClassName("v-ripple__animation");if(0===n.length)return;const i=n[n.length-1];if(i.dataset.isHiding)return;i.dataset.isHiding="true";const a=performance.now()-Number(i.dataset.activated),s=Math.max(250-a,0);setTimeout((()=>{i.classList.remove("v-ripple__animation--in"),i.classList.add("v-ripple__animation--out"),setTimeout((()=>{1===t.getElementsByClassName("v-ripple__animation").length&&t.dataset.previousPosition&&(t.style.position=t.dataset.previousPosition,delete t.dataset.previousPosition),i.parentNode?.parentNode===t&&t.removeChild(i.parentNode)}),300)}),s)}};function isRippleEnabled(t){return void 0===t||!!t}function rippleShow(t){const n={},i=t.currentTarget;if(i?._ripple&&!i._ripple.touched&&!t[stopSymbol]){if(t[stopSymbol]=!0,isTouchEvent(t))i._ripple.touched=!0,i._ripple.isTouch=!0;else if(i._ripple.isTouch)return;if(n.center=i._ripple.centered||isKeyboardEvent(t),i._ripple.class&&(n.class=i._ripple.class),isTouchEvent(t)){if(i._ripple.showTimerCommit)return;i._ripple.showTimerCommit=()=>{ripples.show(t,i,n)},i._ripple.showTimer=window.setTimeout((()=>{i?._ripple?.showTimerCommit&&(i._ripple.showTimerCommit(),i._ripple.showTimerCommit=null)}),DELAY_RIPPLE)}else ripples.show(t,i,n)}}function rippleStop(t){t[stopSymbol]=!0}function rippleHide(t){const n=t.currentTarget;if(n?._ripple){if(window.clearTimeout(n._ripple.showTimer),"touchend"===t.type&&n._ripple.showTimerCommit)return n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null,void(n._ripple.showTimer=window.setTimeout((()=>{rippleHide(t)})));window.setTimeout((()=>{n._ripple&&(n._ripple.touched=!1)})),ripples.hide(n)}}function rippleCancelShow(t){const n=t.currentTarget;n?._ripple&&(n._ripple.showTimerCommit&&(n._ripple.showTimerCommit=null),window.clearTimeout(n._ripple.showTimer))}let keyboardRipple=!1;function keyboardRippleShow(t){keyboardRipple||t.keyCode!==keyCodes.enter&&t.keyCode!==keyCodes.space||(keyboardRipple=!0,rippleShow(t))}function keyboardRippleHide(t){keyboardRipple=!1,rippleHide(t)}function focusRippleHide(t){keyboardRipple&&(keyboardRipple=!1,rippleHide(t))}function updateRipple(t,n,i){const{value:a,modifiers:s}=n,l=isRippleEnabled(a);if(l||ripples.hide(t),t._ripple=t._ripple??{},t._ripple.enabled=l,t._ripple.centered=s.center,t._ripple.circle=s.circle,isObject$4(a)&&a.class&&(t._ripple.class=a.class),l&&!i){if(s.stop)return t.addEventListener("touchstart",rippleStop,{passive:!0}),void t.addEventListener("mousedown",rippleStop);t.addEventListener("touchstart",rippleShow,{passive:!0}),t.addEventListener("touchend",rippleHide,{passive:!0}),t.addEventListener("touchmove",rippleCancelShow,{passive:!0}),t.addEventListener("touchcancel",rippleHide),t.addEventListener("mousedown",rippleShow),t.addEventListener("mouseup",rippleHide),t.addEventListener("mouseleave",rippleHide),t.addEventListener("keydown",keyboardRippleShow),t.addEventListener("keyup",keyboardRippleHide),t.addEventListener("blur",focusRippleHide),t.addEventListener("dragstart",rippleHide,{passive:!0})}else!l&&i&&removeListeners(t)}function removeListeners(t){t.removeEventListener("mousedown",rippleShow),t.removeEventListener("touchstart",rippleShow),t.removeEventListener("touchend",rippleHide),t.removeEventListener("touchmove",rippleCancelShow),t.removeEventListener("touchcancel",rippleHide),t.removeEventListener("mouseup",rippleHide),t.removeEventListener("mouseleave",rippleHide),t.removeEventListener("keydown",keyboardRippleShow),t.removeEventListener("keyup",keyboardRippleHide),t.removeEventListener("dragstart",rippleHide),t.removeEventListener("blur",focusRippleHide)}function mounted$4(t,n){updateRipple(t,n,!1)}function unmounted$4(t){delete t._ripple,removeListeners(t)}function updated$1(t,n){if(n.value===n.oldValue)return;updateRipple(t,n,isRippleEnabled(n.oldValue))}const Ripple={mounted:mounted$4,unmounted:unmounted$4,updated:updated$1},makeVBtnProps=propsFactory({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:VBtnToggleSymbol},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:IconValue,appendIcon:IconValue,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,ripple:{type:[Boolean,Object],default:!0},text:String,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),...makeGroupItemProps(),...makeLoaderProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeRouterProps(),...makeSizeProps(),...makeTagProps({tag:"button"}),...makeThemeProps(),...makeVariantProps({variant:"elevated"})},"VBtn"),VBtn=genericComponent()({name:"VBtn",props:makeVBtnProps(),emits:{"group:selected":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const{themeClasses:s}=provideTheme(t),{borderClasses:l}=useBorder(t),{densityClasses:c}=useDensity(t),{dimensionStyles:u}=useDimension(t),{elevationClasses:d}=useElevation(t),{loaderClasses:f}=useLoader(t),{locationStyles:m}=useLocation(t),{positionClasses:g}=usePosition(t),{roundedClasses:v}=useRounded(t),{sizeClasses:b,sizeStyles:w}=useSize(t),k=useGroupItem(t,t.symbol,!1),S=useLink(t,i),C=computed((()=>void 0!==t.active?t.active:S.isLink.value?S.isActive?.value:k?.isSelected.value)),E=computed((()=>C.value?t.activeColor??t.color:t.color)),T=computed((()=>({color:k?.isSelected.value&&(!S.isLink.value||S.isActive?.value)||!k||S.isActive?.value?E.value??t.baseColor:t.baseColor,variant:t.variant}))),{colorClasses:P,colorStyles:I,variantClasses:A}=useVariant(T),D=computed((()=>k?.disabled.value||t.disabled)),O=computed((()=>"elevated"===t.variant&&!(t.disabled||t.flat||t.border))),_e=computed((()=>{if(void 0!==t.value&&"symbol"!=typeof t.value)return Object(t.value)===t.value?JSON.stringify(t.value,null,0):t.value}));function be(t){D.value||S.isLink.value&&(t.metaKey||t.ctrlKey||t.shiftKey||0!==t.button||"_blank"===i.target)||(S.navigate?.(t),k?.toggle())}return useSelectLink(S,k?.select),useRender((()=>{const n=S.isLink.value?"a":t.tag,i=!(!t.prependIcon&&!a.prepend),E=!(!t.appendIcon&&!a.append),T=!(!t.icon||!0===t.icon);return withDirectives(createVNode(n,mergeProps({type:"a"===n?void 0:"button",class:["v-btn",k?.selectedClass.value,{"v-btn--active":C.value,"v-btn--block":t.block,"v-btn--disabled":D.value,"v-btn--elevated":O.value,"v-btn--flat":t.flat,"v-btn--icon":!!t.icon,"v-btn--loading":t.loading,"v-btn--readonly":t.readonly,"v-btn--slim":t.slim,"v-btn--stacked":t.stacked},s.value,l.value,P.value,c.value,d.value,f.value,g.value,v.value,b.value,A.value,t.class],style:[I.value,u.value,m.value,w.value,t.style],"aria-busy":!!t.loading||void 0,disabled:D.value||void 0,tabindex:t.loading||t.readonly?-1:void 0,onClick:be,value:_e.value},S.linkProps),{default:()=>[genOverlays(!0,"v-btn"),!t.icon&&i&&createVNode("span",{key:"prepend",class:"v-btn__prepend"},[a.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!t.prependIcon,defaults:{VIcon:{icon:t.prependIcon}}},a.prepend):createVNode(VIcon,{key:"prepend-icon",icon:t.prependIcon},null)]),createVNode("span",{class:"v-btn__content","data-no-activator":""},[!a.default&&T?createVNode(VIcon,{key:"content-icon",icon:t.icon},null):createVNode(VDefaultsProvider,{key:"content-defaults",disabled:!T,defaults:{VIcon:{icon:t.icon}}},{default:()=>[a.default?.()??t.text]})]),!t.icon&&E&&createVNode("span",{key:"append",class:"v-btn__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!t.appendIcon,defaults:{VIcon:{icon:t.appendIcon}}},a.append):createVNode(VIcon,{key:"append-icon",icon:t.appendIcon},null)]),!!t.loading&&createVNode("span",{key:"loader",class:"v-btn__loader"},[a.loader?.()??createVNode(VProgressCircular,{color:"boolean"==typeof t.loading?void 0:t.loading,indeterminate:!0,width:"2"},null)])]}),[[Ripple,!D.value&&t.ripple,"",{center:!!t.icon}]])})),{group:k}}}),makeVAppBarNavIconProps=propsFactory({...makeVBtnProps({icon:"$menu",variant:"text"})},"VAppBarNavIcon"),VAppBarNavIcon=genericComponent()({name:"VAppBarNavIcon",props:makeVAppBarNavIconProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(VBtn,mergeProps(t,{class:["v-app-bar-nav-icon"]}),i))),{}}}),VAppBarTitle=genericComponent()({name:"VAppBarTitle",props:makeVToolbarTitleProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(VToolbarTitle,mergeProps(t,{class:"v-app-bar-title"}),i))),{}}}),VAlertTitle=createSimpleFunctional("v-alert-title"),allowedTypes=["success","info","warning","error"],makeVAlertProps=propsFactory({border:{type:[Boolean,String],validator:t=>"boolean"==typeof t||["top","end","bottom","start"].includes(t)},borderColor:String,closable:Boolean,closeIcon:{type:IconValue,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:t=>allowedTypes.includes(t)},...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"flat"})},"VAlert"),VAlert=genericComponent()({name:"VAlert",props:makeVAlertProps(),emits:{"click:close":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useProxiedModel(t,"modelValue"),l=computed((()=>{if(!1!==t.icon)return t.type?t.icon??`$${t.type}`:t.icon})),c=computed((()=>({color:t.color??t.type,variant:t.variant}))),{themeClasses:u}=provideTheme(t),{colorClasses:d,colorStyles:f,variantClasses:m}=useVariant(c),{densityClasses:g}=useDensity(t),{dimensionStyles:v}=useDimension(t),{elevationClasses:b}=useElevation(t),{locationStyles:w}=useLocation(t),{positionClasses:k}=usePosition(t),{roundedClasses:S}=useRounded(t),{textColorClasses:C,textColorStyles:E}=useTextColor(toRef(t,"borderColor")),{t:T}=useLocale(),P=computed((()=>({"aria-label":T(t.closeLabel),onClick(t){s.value=!1,i("click:close",t)}})));return()=>{const n=!(!a.prepend&&!l.value),i=!(!a.title&&!t.title),c=!(!a.close&&!t.closable);return s.value&&createVNode(t.tag,{class:["v-alert",t.border&&{"v-alert--border":!!t.border,[`v-alert--border-${!0===t.border?"start":t.border}`]:!0},{"v-alert--prominent":t.prominent},u.value,d.value,g.value,b.value,k.value,S.value,m.value,t.class],style:[f.value,v.value,w.value,t.style],role:"alert"},{default:()=>[genOverlays(!1,"v-alert"),t.border&&createVNode("div",{key:"border",class:["v-alert__border",C.value],style:E.value},null),n&&createVNode("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!l.value,defaults:{VIcon:{density:t.density,icon:l.value,size:t.prominent?44:28}}},a.prepend):createVNode(VIcon,{key:"prepend-icon",density:t.density,icon:l.value,size:t.prominent?44:28},null)]),createVNode("div",{class:"v-alert__content"},[i&&createVNode(VAlertTitle,{key:"title"},{default:()=>[a.title?.()??t.title]}),a.text?.()??t.text,a.default?.()]),a.append&&createVNode("div",{key:"append",class:"v-alert__append"},[a.append()]),c&&createVNode("div",{key:"close",class:"v-alert__close"},[a.close?createVNode(VDefaultsProvider,{key:"close-defaults",defaults:{VBtn:{icon:t.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:P.value})]}):createVNode(VBtn,mergeProps({key:"close-btn",icon:t.closeIcon,size:"x-small",variant:"text"},P.value),null)])]})}}}),makeVAvatarProps=propsFactory({start:Boolean,end:Boolean,icon:IconValue,image:String,text:String,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeRoundedProps(),...makeSizeProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"flat"})},"VAvatar"),VAvatar=genericComponent()({name:"VAvatar",props:makeVAvatarProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{borderClasses:s}=useBorder(t),{colorClasses:l,colorStyles:c,variantClasses:u}=useVariant(t),{densityClasses:d}=useDensity(t),{roundedClasses:f}=useRounded(t),{sizeClasses:m,sizeStyles:g}=useSize(t);return useRender((()=>createVNode(t.tag,{class:["v-avatar",{"v-avatar--start":t.start,"v-avatar--end":t.end},a.value,s.value,l.value,d.value,f.value,m.value,u.value,t.class],style:[c.value,g.value,t.style]},{default:()=>[i.default?createVNode(VDefaultsProvider,{key:"content-defaults",defaults:{VImg:{cover:!0,src:t.image},VIcon:{icon:t.icon}}},{default:()=>[i.default()]}):t.image?createVNode(VImg,{key:"image",src:t.image,alt:"",cover:!0},null):t.icon?createVNode(VIcon,{key:"icon",icon:t.icon},null):t.text,genOverlays(!1,"v-avatar")]}))),{}}}),makeVLabelProps=propsFactory({text:String,onClick:EventProp(),...makeComponentProps(),...makeThemeProps()},"VLabel"),VLabel=genericComponent()({name:"VLabel",props:makeVLabelProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode("label",{class:["v-label",{"v-label--clickable":!!t.onClick},t.class],style:t.style,onClick:t.onClick},[t.text,i.default?.()]))),{}}}),VSelectionControlGroupSymbol=Symbol.for("vuetify:selection-control-group"),makeSelectionControlGroupProps=propsFactory({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:IconValue,trueIcon:IconValue,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:deepEqual},...makeComponentProps(),...makeDensityProps(),...makeThemeProps()},"SelectionControlGroup"),makeVSelectionControlGroupProps=propsFactory({...makeSelectionControlGroupProps({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),VSelectionControlGroup=genericComponent()({name:"VSelectionControlGroup",props:makeVSelectionControlGroupProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),s=getUid(),l=computed((()=>t.id||`v-selection-control-group-${s}`)),c=computed((()=>t.name||l.value)),u=new Set;return provide(VSelectionControlGroupSymbol,{modelValue:a,forceUpdate:()=>{u.forEach((t=>t()))},onForceUpdate:t=>{u.add(t),onScopeDispose((()=>{u.delete(t)}))}}),provideDefaults({[t.defaultsTarget]:{color:toRef(t,"color"),disabled:toRef(t,"disabled"),density:toRef(t,"density"),error:toRef(t,"error"),inline:toRef(t,"inline"),modelValue:a,multiple:computed((()=>!!t.multiple||null==t.multiple&&Array.isArray(a.value))),name:c,falseIcon:toRef(t,"falseIcon"),trueIcon:toRef(t,"trueIcon"),readonly:toRef(t,"readonly"),ripple:toRef(t,"ripple"),type:toRef(t,"type"),valueComparator:toRef(t,"valueComparator")}}),useRender((()=>createVNode("div",{class:["v-selection-control-group",{"v-selection-control-group--inline":t.inline},t.class],style:t.style,role:"radio"===t.type?"radiogroup":void 0},[i.default?.()]))),{}}}),makeVSelectionControlProps=propsFactory({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...makeComponentProps(),...makeSelectionControlGroupProps()},"VSelectionControl");function useSelectionControl(t){const n=inject$1(VSelectionControlGroupSymbol,void 0),{densityClasses:i}=useDensity(t),a=useProxiedModel(t,"modelValue"),s=computed((()=>void 0!==t.trueValue?t.trueValue:void 0===t.value||t.value)),l=computed((()=>void 0!==t.falseValue&&t.falseValue)),c=computed((()=>!!t.multiple||null==t.multiple&&Array.isArray(a.value))),u=computed({get(){const i=n?n.modelValue.value:a.value;return c.value?wrapInArray(i).some((n=>t.valueComparator(n,s.value))):t.valueComparator(i,s.value)},set(i){if(t.readonly)return;const u=i?s.value:l.value;let d=u;c.value&&(d=i?[...wrapInArray(a.value),u]:wrapInArray(a.value).filter((n=>!t.valueComparator(n,s.value)))),n?n.modelValue.value=d:a.value=d}}),{textColorClasses:d,textColorStyles:f}=useTextColor(computed((()=>{if(!t.error&&!t.disabled)return u.value?t.color:t.baseColor}))),{backgroundColorClasses:m,backgroundColorStyles:g}=useBackgroundColor(computed((()=>!u.value||t.error||t.disabled?t.baseColor:t.color))),v=computed((()=>u.value?t.trueIcon:t.falseIcon));return{group:n,densityClasses:i,trueValue:s,falseValue:l,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:m,backgroundColorStyles:g,icon:v}}const VSelectionControl=genericComponent()({name:"VSelectionControl",directives:{Ripple:Ripple},inheritAttrs:!1,props:makeVSelectionControlProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const{group:s,densityClasses:l,icon:c,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:m,backgroundColorStyles:g,trueValue:v}=useSelectionControl(t),b=getUid(),w=shallowRef(!1),k=shallowRef(!1),S=ref(),C=computed((()=>t.id||`input-${b}`)),E=computed((()=>!t.disabled&&!t.readonly));function T(t){E.value&&(w.value=!0,!1!==matchesSelector$2(t.target,":focus-visible")&&(k.value=!0))}function P(){w.value=!1,k.value=!1}function I(t){t.stopPropagation()}function A(n){E.value?(t.readonly&&s&&nextTick$2((()=>s.forceUpdate())),u.value=n.target.checked):S.value&&(S.value.checked=u.value)}return s?.onForceUpdate((()=>{S.value&&(S.value.checked=u.value)})),useRender((()=>{const n=a.label?a.label({label:t.label,props:{for:C.value}}):t.label,[s,b]=filterInputAttrs(i),E=createVNode("input",mergeProps({ref:S,checked:u.value,disabled:!!t.disabled,id:C.value,onBlur:P,onFocus:T,onInput:A,"aria-disabled":!!t.disabled,"aria-label":t.label,type:t.type,value:v.value,name:t.name,"aria-checked":"checkbox"===t.type?u.value:void 0},b),null);return createVNode("div",mergeProps({class:["v-selection-control",{"v-selection-control--dirty":u.value,"v-selection-control--disabled":t.disabled,"v-selection-control--error":t.error,"v-selection-control--focused":w.value,"v-selection-control--focus-visible":k.value,"v-selection-control--inline":t.inline},l.value,t.class]},s,{style:t.style}),[createVNode("div",{class:["v-selection-control__wrapper",d.value],style:f.value},[a.default?.({backgroundColorClasses:m,backgroundColorStyles:g}),withDirectives(createVNode("div",{class:["v-selection-control__input"]},[a.input?.({model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:m,backgroundColorStyles:g,inputNode:E,icon:c.value,props:{onFocus:T,onBlur:P,id:C.value}})??createVNode(Fragment,null,[c.value&&createVNode(VIcon,{key:"icon",icon:c.value},null),E])]),[[resolveDirective("ripple"),t.ripple&&[!t.disabled&&!t.readonly,null,["center","circle"]]]])]),n&&createVNode(VLabel,{for:C.value,onClick:I},{default:()=>[n]})])})),{isFocused:w,input:S}}}),makeVCheckboxBtnProps=propsFactory({indeterminate:Boolean,indeterminateIcon:{type:IconValue,default:"$checkboxIndeterminate"},...makeVSelectionControlProps({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),VCheckboxBtn=genericComponent()({name:"VCheckboxBtn",props:makeVCheckboxBtnProps(),emits:{"update:modelValue":t=>!0,"update:indeterminate":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"indeterminate"),s=useProxiedModel(t,"modelValue");function l(t){a.value&&(a.value=!1)}const c=computed((()=>a.value?t.indeterminateIcon:t.falseIcon)),u=computed((()=>a.value?t.indeterminateIcon:t.trueIcon));return useRender((()=>{const n=omit(VSelectionControl.filterProps(t),["modelValue"]);return createVNode(VSelectionControl,mergeProps(n,{modelValue:s.value,"onUpdate:modelValue":[t=>s.value=t,l],class:["v-checkbox-btn",t.class],style:t.style,type:"checkbox",falseIcon:c.value,trueIcon:u.value,"aria-checked":a.value?"mixed":void 0}),i)})),{}}});function useInputIcon(t){const{t:n}=useLocale();return{InputIcon:function(i){let{name:a}=i;const s={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],l=t[`onClick:${a}`],c=l&&s?n(`$vuetify.input.${s}`,t.label??""):void 0;return createVNode(VIcon,{icon:t[`${a}Icon`],"aria-label":c,onClick:l,onKeydown:function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),callEvent(l,new PointerEvent("click",t)))}},null)}}}const makeVMessagesProps=propsFactory({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...makeComponentProps(),...makeTransitionProps({transition:{component:VSlideYTransition,leaveAbsolute:!0,group:!0}})},"VMessages"),VMessages=genericComponent()({name:"VMessages",props:makeVMessagesProps(),setup(t,n){let{slots:i}=n;const a=computed((()=>wrapInArray(t.messages))),{textColorClasses:s,textColorStyles:l}=useTextColor(computed((()=>t.color)));return useRender((()=>createVNode(MaybeTransition,{transition:t.transition,tag:"div",class:["v-messages",s.value,t.class],style:[l.value,t.style]},{default:()=>[t.active&&a.value.map(((t,n)=>createVNode("div",{class:"v-messages__message",key:`${n}-${a.value}`},[i.message?i.message({message:t}):t])))]}))),{}}}),makeFocusProps=propsFactory({focused:Boolean,"onUpdate:focused":EventProp()},"focus");function useFocus(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const i=useProxiedModel(t,"focused");return{focusClasses:computed((()=>({[`${n}--focused`]:i.value}))),isFocused:i,focus:function(){i.value=!0},blur:function(){i.value=!1}}}const FormKey=Symbol.for("vuetify:form"),makeFormProps=propsFactory({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function createForm(t){const n=useProxiedModel(t,"modelValue"),i=computed((()=>t.disabled)),a=computed((()=>t.readonly)),s=shallowRef(!1),l=ref([]),c=ref([]);return watch(l,(()=>{let t=0,i=0;const a=[];for(const n of l.value)!1===n.isValid?(i++,a.push({id:n.id,errorMessages:n.errorMessages})):!0===n.isValid&&t++;c.value=a,n.value=!(i>0)&&(t===l.value.length||null)}),{deep:!0,flush:"post"}),provide(FormKey,{register:t=>{let{id:n,vm:i,validate:a,reset:s,resetValidation:c}=t;l.value.some((t=>t.id===n)),l.value.push({id:n,validate:a,reset:s,resetValidation:c,vm:markRaw(i),isValid:null,errorMessages:[]})},unregister:t=>{l.value=l.value.filter((n=>n.id!==t))},update:(t,n,i)=>{const a=l.value.find((n=>n.id===t));a&&(a.isValid=n,a.errorMessages=i)},isDisabled:i,isReadonly:a,isValidating:s,isValid:n,items:l,validateOn:toRef(t,"validateOn")}),{errors:c,isDisabled:i,isReadonly:a,isValidating:s,isValid:n,items:l,validate:async function(){const n=[];let i=!0;c.value=[],s.value=!0;for(const a of l.value){const s=await a.validate();if(s.length>0&&(i=!1,n.push({id:a.id,errorMessages:s})),!i&&t.fastFail)break}return c.value=n,s.value=!1,{valid:i,errors:c.value}},reset:function(){l.value.forEach((t=>t.reset()))},resetValidation:function(){l.value.forEach((t=>t.resetValidation()))}}}function useForm(t){const n=inject$1(FormKey,null);return{...n,isReadonly:computed((()=>!!(t?.readonly??n?.isReadonly.value))),isDisabled:computed((()=>!!(t?.disabled??n?.isDisabled.value)))}}const makeValidationProps=propsFactory({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...makeFocusProps()},"validation");function useValidation(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName(),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:getUid();const a=useProxiedModel(t,"modelValue"),s=computed((()=>void 0===t.validationValue?a.value:t.validationValue)),l=useForm(t),c=ref([]),u=shallowRef(!0),d=computed((()=>!(!wrapInArray(""===a.value?null:a.value).length&&!wrapInArray(""===s.value?null:s.value).length))),f=computed((()=>t.errorMessages?.length?wrapInArray(t.errorMessages).concat(c.value).slice(0,Math.max(0,+t.maxErrors)):c.value)),m=computed((()=>{let n=(t.validateOn??l.validateOn?.value)||"input";"lazy"===n&&(n="input lazy"),"eager"===n&&(n="input eager");const i=new Set(n?.split(" ")??[]);return{input:i.has("input"),blur:i.has("blur")||i.has("input")||i.has("invalid-input"),invalidInput:i.has("invalid-input"),lazy:i.has("lazy"),eager:i.has("eager")}})),g=computed((()=>!t.error&&!t.errorMessages?.length&&(!t.rules.length||(u.value?!c.value.length&&!m.value.lazy||null:!c.value.length)))),v=shallowRef(!1),b=computed((()=>({[`${n}--error`]:!1===g.value,[`${n}--dirty`]:d.value,[`${n}--disabled`]:l.isDisabled.value,[`${n}--readonly`]:l.isReadonly.value}))),w=getCurrentInstance("validation"),k=computed((()=>t.name??unref(i)));async function S(){a.value=null,await nextTick$2(),await C()}async function C(){u.value=!0,m.value.lazy?c.value=[]:await E(!m.value.eager)}async function E(){let n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const i=[];v.value=!0;for(const a of t.rules){if(i.length>=+(t.maxErrors??1))break;const n="function"==typeof a?a:()=>a,l=await n(s.value);!0!==l&&(!1===l||"string"==typeof l?i.push(l||""):console.warn(`${l} is not a valid value. Rule functions must return boolean true or a string.`))}return c.value=i,v.value=!1,u.value=n,c.value}return onBeforeMount((()=>{l.register?.({id:k.value,vm:w,validate:E,reset:S,resetValidation:C})})),onBeforeUnmount((()=>{l.unregister?.(k.value)})),onMounted((async()=>{m.value.lazy||await E(!m.value.eager),l.update?.(k.value,g.value,f.value)})),useToggleScope((()=>m.value.input||m.value.invalidInput&&!1===g.value),(()=>{watch(s,(()=>{if(null!=s.value)E();else if(t.focused){const n=watch((()=>t.focused),(t=>{t||E(),n()}))}}))})),useToggleScope((()=>m.value.blur),(()=>{watch((()=>t.focused),(t=>{t||E()}))})),watch([g,f],(()=>{l.update?.(k.value,g.value,f.value)})),{errorMessages:f,isDirty:d,isDisabled:l.isDisabled,isReadonly:l.isReadonly,isPristine:u,isValid:g,isValidating:v,reset:S,resetValidation:C,validate:E,validationClasses:b}}const makeVInputProps=propsFactory({id:String,appendIcon:IconValue,centerAffix:{type:Boolean,default:!0},prependIcon:IconValue,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},"onClick:prepend":EventProp(),"onClick:append":EventProp(),...makeComponentProps(),...makeDensityProps(),...pick$2(makeDimensionProps(),["maxWidth","minWidth","width"]),...makeThemeProps(),...makeValidationProps()},"VInput"),VInput=genericComponent()({name:"VInput",props:{...makeVInputProps()},emits:{"update:modelValue":t=>!0},setup(t,n){let{attrs:i,slots:a,emit:s}=n;const{densityClasses:l}=useDensity(t),{dimensionStyles:c}=useDimension(t),{themeClasses:u}=provideTheme(t),{rtlClasses:d}=useRtl(),{InputIcon:f}=useInputIcon(t),m=getUid(),g=computed((()=>t.id||`input-${m}`)),v=computed((()=>`${g.value}-messages`)),{errorMessages:b,isDirty:w,isDisabled:k,isReadonly:S,isPristine:C,isValid:E,isValidating:T,reset:P,resetValidation:I,validate:A,validationClasses:D}=useValidation(t,"v-input",g),O=computed((()=>({id:g,messagesId:v,isDirty:w,isDisabled:k,isReadonly:S,isPristine:C,isValid:E,isValidating:T,reset:P,resetValidation:I,validate:A}))),_e=computed((()=>t.errorMessages?.length||!C.value&&b.value.length?b.value:t.hint&&(t.persistentHint||t.focused)?t.hint:t.messages));return useRender((()=>{const n=!(!a.prepend&&!t.prependIcon),i=!(!a.append&&!t.appendIcon),s=_e.value.length>0,m=!t.hideDetails||"auto"===t.hideDetails&&(s||!!a.details);return createVNode("div",{class:["v-input",`v-input--${t.direction}`,{"v-input--center-affix":t.centerAffix,"v-input--hide-spin-buttons":t.hideSpinButtons},l.value,u.value,d.value,D.value,t.class],style:[c.value,t.style]},[n&&createVNode("div",{key:"prepend",class:"v-input__prepend"},[a.prepend?.(O.value),t.prependIcon&&createVNode(f,{key:"prepend-icon",name:"prepend"},null)]),a.default&&createVNode("div",{class:"v-input__control"},[a.default?.(O.value)]),i&&createVNode("div",{key:"append",class:"v-input__append"},[t.appendIcon&&createVNode(f,{key:"append-icon",name:"append"},null),a.append?.(O.value)]),m&&createVNode("div",{id:v.value,class:"v-input__details",role:"alert","aria-live":"polite"},[createVNode(VMessages,{active:s,messages:_e.value},{message:a.message}),a.details?.(O.value)])])})),{reset:P,resetValidation:I,validate:A,isValid:E,errorMessages:b}}}),makeVCheckboxProps=propsFactory({...makeVInputProps(),...omit(makeVCheckboxBtnProps(),["inline"])},"VCheckbox"),VCheckbox=genericComponent()({name:"VCheckbox",inheritAttrs:!1,props:makeVCheckboxProps(),emits:{"update:modelValue":t=>!0,"update:focused":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const s=useProxiedModel(t,"modelValue"),{isFocused:l,focus:c,blur:u}=useFocus(t),d=getUid(),f=computed((()=>t.id||`checkbox-${d}`));return useRender((()=>{const[n,d]=filterInputAttrs(i),m=VInput.filterProps(t),g=VCheckboxBtn.filterProps(t);return createVNode(VInput,mergeProps({class:["v-checkbox",t.class]},n,m,{modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,id:f.value,focused:l.value,style:t.style}),{...a,default:t=>{let{id:n,messagesId:i,isDisabled:l,isReadonly:f,isValid:m}=t;return createVNode(VCheckboxBtn,mergeProps(g,{id:n.value,"aria-describedby":i.value,disabled:l.value,readonly:f.value},d,{error:!1===m.value,modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,onFocus:c,onBlur:u}),a)}})})),{}}});function calculateUpdatedTarget(t){let{selectedElement:n,containerElement:i,isRtl:a,isHorizontal:s}=t;const l=getOffsetSize(s,i),c=getScrollPosition(s,a,i),u=getOffsetSize(s,n),d=getOffsetPosition(s,n),f=.4*u;return c>d?d-f:c+l<d+u?d-l+u+f:c}function calculateCenteredTarget(t){let{selectedElement:n,containerElement:i,isHorizontal:a}=t;const s=getOffsetSize(a,i);return getOffsetPosition(a,n)-s/2+getOffsetSize(a,n)/2}function getScrollSize(t,n){const i=t?"scrollWidth":"scrollHeight";return n?.[i]||0}function getClientSize(t,n){const i=t?"clientWidth":"clientHeight";return n?.[i]||0}function getScrollPosition(t,n,i){if(!i)return 0;const{scrollLeft:a,offsetWidth:s,scrollWidth:l}=i;return t?n?l-s+a:a:i.scrollTop}function getOffsetSize(t,n){const i=t?"offsetWidth":"offsetHeight";return n?.[i]||0}function getOffsetPosition(t,n){const i=t?"offsetLeft":"offsetTop";return n?.[i]||0}const VSlideGroupSymbol=Symbol.for("vuetify:v-slide-group"),makeVSlideGroupProps=propsFactory({centerActive:Boolean,direction:{type:String,default:"horizontal"},symbol:{type:null,default:VSlideGroupSymbol},nextIcon:{type:IconValue,default:"$next"},prevIcon:{type:IconValue,default:"$prev"},showArrows:{type:[Boolean,String],validator:t=>"boolean"==typeof t||["always","desktop","mobile"].includes(t)},...makeComponentProps(),...makeDisplayProps({mobile:null}),...makeTagProps(),...makeGroupProps({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),VSlideGroup=genericComponent()({name:"VSlideGroup",props:makeVSlideGroupProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{isRtl:a}=useRtl(),{displayClasses:s,mobile:l}=useDisplay(t),c=useGroup(t,t.symbol),u=shallowRef(!1),d=shallowRef(0),f=shallowRef(0),m=shallowRef(0),g=computed((()=>"horizontal"===t.direction)),{resizeRef:v,contentRect:b}=useResizeObserver(),{resizeRef:w,contentRect:k}=useResizeObserver(),S=useGoTo(),C=computed((()=>({container:v.el,duration:200,easing:"easeOutQuart"}))),E=computed((()=>c.selected.value.length?c.items.value.findIndex((t=>t.id===c.selected.value[0])):-1)),T=computed((()=>c.selected.value.length?c.items.value.findIndex((t=>t.id===c.selected.value[c.selected.value.length-1])):-1));if(IN_BROWSER){let n=-1;watch((()=>[c.selected.value,b.value,k.value,g.value]),(()=>{cancelAnimationFrame(n),n=requestAnimationFrame((()=>{if(b.value&&k.value){const t=g.value?"width":"height";f.value=b.value[t],m.value=k.value[t],u.value=f.value+1<m.value}if(E.value>=0&&w.el){I(w.el.children[T.value],t.centerActive)}}))}))}const P=shallowRef(!1);function I(t,n){let i=0;i=n?calculateCenteredTarget({containerElement:v.el,isHorizontal:g.value,selectedElement:t}):calculateUpdatedTarget({containerElement:v.el,isHorizontal:g.value,isRtl:a.value,selectedElement:t}),A(i)}function A(t){if(!IN_BROWSER||!v.el)return;const n=getOffsetSize(g.value,v.el),i=getScrollPosition(g.value,a.value,v.el);if(!(getScrollSize(g.value,v.el)<=n||Math.abs(t-i)<16)){if(g.value&&a.value&&v.el){const{scrollWidth:n,offsetWidth:i}=v.el;t=n-i-t}g.value?S.horizontal(t,C.value):S(t,C.value)}}function D(t){const{scrollTop:n,scrollLeft:i}=t.target;d.value=g.value?i:n}function O(t){if(P.value=!0,u.value&&w.el)for(const n of t.composedPath())for(const t of w.el.children)if(t===n)return void I(t)}function _e(t){P.value=!1}let be=!1;function we(t){be||P.value||t.relatedTarget&&w.el?.contains(t.relatedTarget)||Ce(),be=!1}function Se(){be=!0}function $e(t){function n(n){t.preventDefault(),Ce(n)}w.el&&(g.value?"ArrowRight"===t.key?n(a.value?"prev":"next"):"ArrowLeft"===t.key&&n(a.value?"next":"prev"):"ArrowDown"===t.key?n("next"):"ArrowUp"===t.key&&n("prev"),"Home"===t.key?n("first"):"End"===t.key&&n("last"))}function xe(t,n){if(!t)return;let i=t;do{i=i?.["next"===n?"nextElementSibling":"previousElementSibling"]}while(i?.hasAttribute("disabled"));return i}function Ce(t){if(!w.el)return;let n;if(t)if("next"===t){if(n=xe(w.el.querySelector(":focus"),t),!n)return Ce("first")}else if("prev"===t){if(n=xe(w.el.querySelector(":focus"),t),!n)return Ce("last")}else"first"===t?(n=w.el.firstElementChild,n?.hasAttribute("disabled")&&(n=xe(n,"next"))):"last"===t&&(n=w.el.lastElementChild,n?.hasAttribute("disabled")&&(n=xe(n,"prev")));else{n=focusableChildren(w.el)[0]}n&&n.focus({preventScroll:!0})}function Ee(t){const n=g.value&&a.value?-1:1,i=("prev"===t?-n:n)*f.value;let s=d.value+i;if(g.value&&a.value&&v.el){const{scrollWidth:t,offsetWidth:n}=v.el;s+=t-n}A(s)}const Ne=computed((()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected}))),Pe=computed((()=>{switch(t.showArrows){case"always":return!0;case"desktop":return!l.value;case!0:return u.value||Math.abs(d.value)>0;case"mobile":return l.value||u.value||Math.abs(d.value)>0;default:return!l.value&&(u.value||Math.abs(d.value)>0)}})),Ie=computed((()=>Math.abs(d.value)>1)),Ae=computed((()=>{if(!v.value)return!1;return getScrollSize(g.value,v.el)-getClientSize(g.value,v.el)-Math.abs(d.value)>1}));return useRender((()=>createVNode(t.tag,{class:["v-slide-group",{"v-slide-group--vertical":!g.value,"v-slide-group--has-affixes":Pe.value,"v-slide-group--is-overflowing":u.value},s.value,t.class],style:t.style,tabindex:P.value||c.selected.value.length?-1:0,onFocus:we},{default:()=>[Pe.value&&createVNode("div",{key:"prev",class:["v-slide-group__prev",{"v-slide-group__prev--disabled":!Ie.value}],onMousedown:Se,onClick:()=>Ie.value&&Ee("prev")},[i.prev?.(Ne.value)??createVNode(VFadeTransition,null,{default:()=>[createVNode(VIcon,{icon:a.value?t.nextIcon:t.prevIcon},null)]})]),createVNode("div",{key:"container",ref:v,class:"v-slide-group__container",onScroll:D},[createVNode("div",{ref:w,class:"v-slide-group__content",onFocusin:O,onFocusout:_e,onKeydown:$e},[i.default?.(Ne.value)])]),Pe.value&&createVNode("div",{key:"next",class:["v-slide-group__next",{"v-slide-group__next--disabled":!Ae.value}],onMousedown:Se,onClick:()=>Ae.value&&Ee("next")},[i.next?.(Ne.value)??createVNode(VFadeTransition,null,{default:()=>[createVNode(VIcon,{icon:a.value?t.prevIcon:t.nextIcon},null)]})])]}))),{selected:c.selected,scrollTo:Ee,scrollOffset:d,focus:Ce,hasPrev:Ie,hasNext:Ae}}}),VChipGroupSymbol=Symbol.for("vuetify:v-chip-group"),makeVChipGroupProps=propsFactory({column:Boolean,filter:Boolean,valueComparator:{type:Function,default:deepEqual},...makeVSlideGroupProps(),...makeComponentProps(),...makeGroupProps({selectedClass:"v-chip--selected"}),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"tonal"})},"VChipGroup"),VChipGroup=genericComponent()({name:"VChipGroup",props:makeVChipGroupProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{isSelected:s,select:l,next:c,prev:u,selected:d}=useGroup(t,VChipGroupSymbol);return provideDefaults({VChip:{color:toRef(t,"color"),disabled:toRef(t,"disabled"),filter:toRef(t,"filter"),variant:toRef(t,"variant")}}),useRender((()=>{const n=VSlideGroup.filterProps(t);return createVNode(VSlideGroup,mergeProps(n,{class:["v-chip-group",{"v-chip-group--column":t.column},a.value,t.class],style:t.style}),{default:()=>[i.default?.({isSelected:s,select:l,next:c,prev:u,selected:d.value})]})})),{}}}),makeVChipProps=propsFactory({activeClass:String,appendAvatar:String,appendIcon:IconValue,closable:Boolean,closeIcon:{type:IconValue,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:IconValue,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:IconValue,ripple:{type:[Boolean,Object],default:!0},text:String,modelValue:{type:Boolean,default:!0},onClick:EventProp(),onClickOnce:EventProp(),...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeElevationProps(),...makeGroupItemProps(),...makeRoundedProps(),...makeRouterProps(),...makeSizeProps(),...makeTagProps({tag:"span"}),...makeThemeProps(),...makeVariantProps({variant:"tonal"})},"VChip"),VChip=genericComponent()({name:"VChip",directives:{Ripple:Ripple},props:makeVChipProps(),emits:{"click:close":t=>!0,"update:modelValue":t=>!0,"group:selected":t=>!0,click:t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{t:l}=useLocale(),{borderClasses:c}=useBorder(t),{colorClasses:u,colorStyles:d,variantClasses:f}=useVariant(t),{densityClasses:m}=useDensity(t),{elevationClasses:g}=useElevation(t),{roundedClasses:v}=useRounded(t),{sizeClasses:b}=useSize(t),{themeClasses:w}=provideTheme(t),k=useProxiedModel(t,"modelValue"),S=useGroupItem(t,VChipGroupSymbol,!1),C=useLink(t,i),E=computed((()=>!1!==t.link&&C.isLink.value)),T=computed((()=>!t.disabled&&!1!==t.link&&(!!S||t.link||C.isClickable.value))),P=computed((()=>({"aria-label":l(t.closeLabel),onClick(t){t.preventDefault(),t.stopPropagation(),k.value=!1,a("click:close",t)}})));function I(t){a("click",t),T.value&&(C.navigate?.(t),S?.toggle())}function A(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),I(t))}return()=>{const n=C.isLink.value?"a":t.tag,i=!(!t.appendIcon&&!t.appendAvatar),a=!(!i&&!s.append),l=!(!s.close&&!t.closable),D=!(!s.filter&&!t.filter)&&S,O=!(!t.prependIcon&&!t.prependAvatar),_e=!(!O&&!s.prepend),be=!S||S.isSelected.value;return k.value&&withDirectives(createVNode(n,mergeProps({class:["v-chip",{"v-chip--disabled":t.disabled,"v-chip--label":t.label,"v-chip--link":T.value,"v-chip--filter":D,"v-chip--pill":t.pill,[`${t.activeClass}`]:t.activeClass&&C.isActive?.value},w.value,c.value,be?u.value:void 0,m.value,g.value,v.value,b.value,f.value,S?.selectedClass.value,t.class],style:[be?d.value:void 0,t.style],disabled:t.disabled||void 0,draggable:t.draggable,tabindex:T.value?0:void 0,onClick:I,onKeydown:T.value&&!E.value&&A},C.linkProps),{default:()=>[genOverlays(T.value,"v-chip"),D&&createVNode(VExpandXTransition,{key:"filter"},{default:()=>[withDirectives(createVNode("div",{class:"v-chip__filter"},[s.filter?createVNode(VDefaultsProvider,{key:"filter-defaults",disabled:!t.filterIcon,defaults:{VIcon:{icon:t.filterIcon}}},s.filter):createVNode(VIcon,{key:"filter-icon",icon:t.filterIcon},null)]),[[vShow,S.isSelected.value]])]}),_e&&createVNode("div",{key:"prepend",class:"v-chip__prepend"},[s.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!O,defaults:{VAvatar:{image:t.prependAvatar,start:!0},VIcon:{icon:t.prependIcon,start:!0}}},s.prepend):createVNode(Fragment,null,[t.prependIcon&&createVNode(VIcon,{key:"prepend-icon",icon:t.prependIcon,start:!0},null),t.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",image:t.prependAvatar,start:!0},null)])]),createVNode("div",{class:"v-chip__content","data-no-activator":""},[s.default?.({isSelected:S?.isSelected.value,selectedClass:S?.selectedClass.value,select:S?.select,toggle:S?.toggle,value:S?.value.value,disabled:t.disabled})??t.text]),a&&createVNode("div",{key:"append",class:"v-chip__append"},[s.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{end:!0,image:t.appendAvatar},VIcon:{end:!0,icon:t.appendIcon}}},s.append):createVNode(Fragment,null,[t.appendIcon&&createVNode(VIcon,{key:"append-icon",end:!0,icon:t.appendIcon},null),t.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",end:!0,image:t.appendAvatar},null)])]),l&&createVNode("button",mergeProps({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},P.value),[s.close?createVNode(VDefaultsProvider,{key:"close-defaults",defaults:{VIcon:{icon:t.closeIcon,size:"x-small"}}},s.close):createVNode(VIcon,{key:"close-icon",icon:t.closeIcon,size:"x-small"},null)])]}),[[resolveDirective("ripple"),T.value&&t.ripple,null]])}}}),ListKey=Symbol.for("vuetify:list");function createList(){const t=inject$1(ListKey,{hasPrepend:shallowRef(!1),updateHasPrepend:()=>null}),n={hasPrepend:shallowRef(!1),updateHasPrepend:t=>{t&&(n.hasPrepend.value=t)}};return provide(ListKey,n),t}function useList(){return inject$1(ListKey,null)}const independentActiveStrategy=t=>{const n={activate:n=>{let{id:i,value:a,activated:s}=n;return i=toRaw(i),t&&!a&&1===s.size&&s.has(i)||(a?s.add(i):s.delete(i)),s},in:(t,i,a)=>{let s=new Set;if(null!=t)for(const l of wrapInArray(t))s=n.activate({id:l,value:!0,activated:new Set(s),children:i,parents:a});return s},out:t=>Array.from(t)};return n},independentSingleActiveStrategy=t=>{const n=independentActiveStrategy(t);return{activate:t=>{let{activated:i,id:a,...s}=t;a=toRaw(a);const l=i.has(a)?new Set([a]):new Set;return n.activate({...s,id:a,activated:l})},in:(t,i,a)=>{let s=new Set;if(null!=t){const l=wrapInArray(t);l.length&&(s=n.in(l.slice(0,1),i,a))}return s},out:(t,i,a)=>n.out(t,i,a)}},leafActiveStrategy=t=>{const n=independentActiveStrategy(t);return{activate:t=>{let{id:i,activated:a,children:s,...l}=t;return i=toRaw(i),s.has(i)?a:n.activate({id:i,activated:a,children:s,...l})},in:n.in,out:n.out}},leafSingleActiveStrategy=t=>{const n=independentSingleActiveStrategy(t);return{activate:t=>{let{id:i,activated:a,children:s,...l}=t;return i=toRaw(i),s.has(i)?a:n.activate({id:i,activated:a,children:s,...l})},in:n.in,out:n.out}},singleOpenStrategy={open:t=>{let{id:n,value:i,opened:a,parents:s}=t;if(i){const t=new Set;t.add(n);let i=s.get(n);for(;null!=i;)t.add(i),i=s.get(i);return t}return a.delete(n),a},select:()=>null},multipleOpenStrategy={open:t=>{let{id:n,value:i,opened:a,parents:s}=t;if(i){let t=s.get(n);for(a.add(n);null!=t&&t!==n;)a.add(t),t=s.get(t);return a}return a.delete(n),a},select:()=>null},listOpenStrategy={open:multipleOpenStrategy.open,select:t=>{let{id:n,value:i,opened:a,parents:s}=t;if(!i)return a;const l=[];let c=s.get(n);for(;null!=c;)l.push(c),c=s.get(c);return new Set(l)}},independentSelectStrategy=t=>{const n={select:n=>{let{id:i,value:a,selected:s}=n;if(i=toRaw(i),t&&!a){const t=Array.from(s.entries()).reduce(((t,n)=>{let[i,a]=n;return"on"===a&&t.push(i),t}),[]);if(1===t.length&&t[0]===i)return s}return s.set(i,a?"on":"off"),s},in:(t,i,a)=>{const s=new Map;for(const l of t||[])n.select({id:l,value:!0,selected:s,children:i,parents:a});return s},out:t=>{const n=[];for(const[i,a]of t.entries())"on"===a&&n.push(i);return n}};return n},independentSingleSelectStrategy=t=>{const n=independentSelectStrategy(t);return{select:t=>{let{selected:i,id:a,...s}=t;a=toRaw(a);const l=i.has(a)?new Map([[a,i.get(a)]]):new Map;return n.select({...s,id:a,selected:l})},in:(t,i,a)=>t?.length?n.in(t.slice(0,1),i,a):new Map,out:(t,i,a)=>n.out(t,i,a)}},leafSelectStrategy=t=>{const n=independentSelectStrategy(t);return{select:t=>{let{id:i,selected:a,children:s,...l}=t;return i=toRaw(i),s.has(i)?a:n.select({id:i,selected:a,children:s,...l})},in:n.in,out:n.out}},leafSingleSelectStrategy=t=>{const n=independentSingleSelectStrategy(t);return{select:t=>{let{id:i,selected:a,children:s,...l}=t;return i=toRaw(i),s.has(i)?a:n.select({id:i,selected:a,children:s,...l})},in:n.in,out:n.out}},classicSelectStrategy=t=>{const n={select:n=>{let{id:i,value:a,selected:s,children:l,parents:c}=n;i=toRaw(i);const u=new Map(s),d=[i];for(;d.length;){const t=d.shift();s.set(toRaw(t),a?"on":"off"),l.has(t)&&d.push(...l.get(t))}let f=toRaw(c.get(i));for(;f;){const t=l.get(f),n=t.every((t=>"on"===s.get(toRaw(t)))),i=t.every((t=>!s.has(toRaw(t))||"off"===s.get(toRaw(t))));s.set(f,n?"on":i?"off":"indeterminate"),f=toRaw(c.get(f))}if(t&&!a){if(0===Array.from(s.entries()).reduce(((t,n)=>{let[i,a]=n;return"on"===a&&t.push(i),t}),[]).length)return u}return s},in:(t,i,a)=>{let s=new Map;for(const l of t||[])s=n.select({id:l,value:!0,selected:s,children:i,parents:a});return s},out:(t,n)=>{const i=[];for(const[a,s]of t.entries())"on"!==s||n.has(a)||i.push(a);return i}};return n},VNestedSymbol=Symbol.for("vuetify:nested"),emptyNested={id:shallowRef(),root:{register:()=>null,unregister:()=>null,parents:ref(new Map),children:ref(new Map),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:ref(!1),selectable:ref(!1),opened:ref(new Set),activated:ref(new Set),selected:ref(new Map),selectedValues:ref([]),getPath:()=>[]}},makeNestedProps=propsFactory({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean},"nested"),useNested=t=>{let n=!1;const i=ref(new Map),a=ref(new Map),s=useProxiedModel(t,"opened",t.opened,(t=>new Set(t)),(t=>[...t.values()])),l=computed((()=>{if("object"==typeof t.activeStrategy)return t.activeStrategy;if("function"==typeof t.activeStrategy)return t.activeStrategy(t.mandatory);switch(t.activeStrategy){case"leaf":return leafActiveStrategy(t.mandatory);case"single-leaf":return leafSingleActiveStrategy(t.mandatory);case"independent":return independentActiveStrategy(t.mandatory);default:return independentSingleActiveStrategy(t.mandatory)}})),c=computed((()=>{if("object"==typeof t.selectStrategy)return t.selectStrategy;if("function"==typeof t.selectStrategy)return t.selectStrategy(t.mandatory);switch(t.selectStrategy){case"single-leaf":return leafSingleSelectStrategy(t.mandatory);case"leaf":return leafSelectStrategy(t.mandatory);case"independent":return independentSelectStrategy(t.mandatory);case"single-independent":return independentSingleSelectStrategy(t.mandatory);default:return classicSelectStrategy(t.mandatory)}})),u=computed((()=>{if("object"==typeof t.openStrategy)return t.openStrategy;switch(t.openStrategy){case"list":return listOpenStrategy;case"single":return singleOpenStrategy;default:return multipleOpenStrategy}})),d=useProxiedModel(t,"activated",t.activated,(t=>l.value.in(t,i.value,a.value)),(t=>l.value.out(t,i.value,a.value))),f=useProxiedModel(t,"selected",t.selected,(t=>c.value.in(t,i.value,a.value)),(t=>c.value.out(t,i.value,a.value)));function m(t){const n=[];let i=t;for(;null!=i;)n.unshift(i),i=a.value.get(i);return n}onBeforeUnmount((()=>{n=!0}));const g=getCurrentInstance("nested"),v=new Set,b={id:shallowRef(),root:{opened:s,activatable:toRef(t,"activatable"),selectable:toRef(t,"selectable"),activated:d,selected:f,selectedValues:computed((()=>{const t=[];for(const[n,i]of f.value.entries())"on"===i&&t.push(n);return t})),register:(t,n,s)=>{if(v.has(t))return m(t).map(String).join(" -> "),void m(n).concat(t).map(String).join(" -> ");v.add(t),n&&t!==n&&a.value.set(t,n),s&&i.value.set(t,[]),null!=n&&i.value.set(n,[...i.value.get(n)||[],t])},unregister:t=>{if(n)return;v.delete(t),i.value.delete(t);const s=a.value.get(t);if(s){const n=i.value.get(s)??[];i.value.set(s,n.filter((n=>n!==t)))}a.value.delete(t)},open:(t,n,l)=>{g.emit("click:open",{id:t,value:n,path:m(t),event:l});const c=u.value.open({id:t,value:n,opened:new Set(s.value),children:i.value,parents:a.value,event:l});c&&(s.value=c)},openOnSelect:(t,n,l)=>{const c=u.value.select({id:t,value:n,selected:new Map(f.value),opened:new Set(s.value),children:i.value,parents:a.value,event:l});c&&(s.value=c)},select:(t,n,s)=>{g.emit("click:select",{id:t,value:n,path:m(t),event:s});const l=c.value.select({id:t,value:n,selected:new Map(f.value),children:i.value,parents:a.value,event:s});l&&(f.value=l),b.root.openOnSelect(t,n,s)},activate:(n,s,c)=>{if(!t.activatable)return b.root.select(n,!0,c);g.emit("click:activate",{id:n,value:s,path:m(n),event:c});const u=l.value.activate({id:n,value:s,activated:new Set(d.value),children:i.value,parents:a.value,event:c});if(u.size!==d.value.size)d.value=u;else{for(const t of u)if(!d.value.has(t))return void(d.value=u);for(const t of d.value)if(!u.has(t))return void(d.value=u)}},children:i,parents:a,getPath:m}};return provide(VNestedSymbol,b),b.root},useNestedItem=(t,n)=>{const i=inject$1(VNestedSymbol,emptyNested),a=Symbol(getUid()),s=computed((()=>void 0!==t.value?t.value:a)),l={...i,id:s,open:(t,n)=>i.root.open(s.value,t,n),openOnSelect:(t,n)=>i.root.openOnSelect(s.value,t,n),isOpen:computed((()=>i.root.opened.value.has(s.value))),parent:computed((()=>i.root.parents.value.get(s.value))),activate:(t,n)=>i.root.activate(s.value,t,n),isActivated:computed((()=>i.root.activated.value.has(toRaw(s.value)))),select:(t,n)=>i.root.select(s.value,t,n),isSelected:computed((()=>"on"===i.root.selected.value.get(toRaw(s.value)))),isIndeterminate:computed((()=>"indeterminate"===i.root.selected.value.get(toRaw(s.value)))),isLeaf:computed((()=>!i.root.children.value.get(s.value))),isGroupActivator:i.isGroupActivator};return onBeforeMount((()=>{!i.isGroupActivator&&i.root.register(s.value,i.id.value,n)})),onBeforeUnmount((()=>{!i.isGroupActivator&&i.root.unregister(s.value)})),n&&provide(VNestedSymbol,l),l},useNestedGroupActivator=()=>{const t=inject$1(VNestedSymbol,emptyNested);provide(VNestedSymbol,{...t,isGroupActivator:!0})},VListGroupActivator=defineComponent({name:"VListGroupActivator",setup(t,n){let{slots:i}=n;return useNestedGroupActivator(),()=>i.default?.()}}),makeVListGroupProps=propsFactory({activeColor:String,baseColor:String,color:String,collapseIcon:{type:IconValue,default:"$collapse"},expandIcon:{type:IconValue,default:"$expand"},prependIcon:IconValue,appendIcon:IconValue,fluid:Boolean,subgroup:Boolean,title:String,value:null,...makeComponentProps(),...makeTagProps()},"VListGroup"),VListGroup=genericComponent()({name:"VListGroup",props:makeVListGroupProps(),setup(t,n){let{slots:i}=n;const{isOpen:a,open:s,id:l}=useNestedItem(toRef(t,"value"),!0),c=computed((()=>`v-list-group--id-${String(l.value)}`)),u=useList(),{isBooted:d}=useSsrBoot();function f(t){t.stopPropagation(),s(!a.value,t)}const m=computed((()=>({onClick:f,class:"v-list-group__header",id:c.value}))),g=computed((()=>a.value?t.collapseIcon:t.expandIcon)),v=computed((()=>({VListItem:{active:a.value,activeColor:t.activeColor,baseColor:t.baseColor,color:t.color,prependIcon:t.prependIcon||t.subgroup&&g.value,appendIcon:t.appendIcon||!t.subgroup&&g.value,title:t.title,value:t.value}})));return useRender((()=>createVNode(t.tag,{class:["v-list-group",{"v-list-group--prepend":u?.hasPrepend.value,"v-list-group--fluid":t.fluid,"v-list-group--subgroup":t.subgroup,"v-list-group--open":a.value},t.class],style:t.style},{default:()=>[i.activator&&createVNode(VDefaultsProvider,{defaults:v.value},{default:()=>[createVNode(VListGroupActivator,null,{default:()=>[i.activator({props:m.value,isOpen:a.value})]})]}),createVNode(MaybeTransition,{transition:{component:VExpandTransition},disabled:!d.value},{default:()=>[withDirectives(createVNode("div",{class:"v-list-group__items",role:"group","aria-labelledby":c.value},[i.default?.()]),[[vShow,a.value]])]})]}))),{isOpen:a}}}),makeVListItemSubtitleProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VListItemSubtitle"),VListItemSubtitle=genericComponent()({name:"VListItemSubtitle",props:makeVListItemSubtitleProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(t.tag,{class:["v-list-item-subtitle",t.class],style:[{"--v-list-item-subtitle-opacity":t.opacity},t.style]},i))),{}}}),VListItemTitle=createSimpleFunctional("v-list-item-title"),makeVListItemProps=propsFactory({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:IconValue,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:IconValue,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,subtitle:[String,Number],title:[String,Number],value:null,onClick:EventProp(),onClickOnce:EventProp(),...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),...makeRoundedProps(),...makeRouterProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"text"})},"VListItem"),VListItem=genericComponent()({name:"VListItem",directives:{Ripple:Ripple},props:makeVListItemProps(),emits:{click:t=>!0},setup(t,n){let{attrs:i,slots:a,emit:s}=n;const l=useLink(t,i),c=computed((()=>void 0===t.value?l.href.value:t.value)),{activate:u,isActivated:d,select:f,isOpen:m,isSelected:g,isIndeterminate:v,isGroupActivator:b,root:w,parent:k,openOnSelect:S,id:C}=useNestedItem(c,!1),E=useList(),T=computed((()=>!1!==t.active&&(t.active||l.isActive?.value||(w.activatable.value?d.value:g.value)))),P=computed((()=>!1!==t.link&&l.isLink.value)),I=computed((()=>!!E&&(w.selectable.value||w.activatable.value||null!=t.value))),A=computed((()=>!t.disabled&&!1!==t.link&&(t.link||l.isClickable.value||I.value))),D=computed((()=>t.rounded||t.nav)),O=computed((()=>t.color??t.activeColor)),_e=computed((()=>({color:T.value?O.value??t.baseColor:t.baseColor,variant:t.variant})));function be(){null!=k.value&&w.open(k.value,!0),S(!0)}watch((()=>l.isActive?.value),(t=>{t&&be()})),onBeforeMount((()=>{l.isActive?.value&&be()}));const{themeClasses:we}=provideTheme(t),{borderClasses:Se}=useBorder(t),{colorClasses:$e,colorStyles:xe,variantClasses:Ce}=useVariant(_e),{densityClasses:Ee}=useDensity(t),{dimensionStyles:Ne}=useDimension(t),{elevationClasses:Pe}=useElevation(t),{roundedClasses:Ie}=useRounded(D),Ae=computed((()=>t.lines?`v-list-item--${t.lines}-line`:void 0)),Me=computed((()=>({isActive:T.value,select:f,isOpen:m.value,isSelected:g.value,isIndeterminate:v.value})));function Re(n){s("click",n),A.value&&(l.navigate?.(n),b||(w.activatable.value?u(!d.value,n):(w.selectable.value||null!=t.value)&&f(!g.value,n)))}function De(t){const n=t.target;["INPUT","TEXTAREA"].includes(n.tagName)||"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.target.dispatchEvent(new MouseEvent("click",t)))}return useRender((()=>{const n=P.value?"a":t.tag,i=a.title||null!=t.title,s=a.subtitle||null!=t.subtitle,c=!(!t.appendAvatar&&!t.appendIcon),u=!(!c&&!a.append),f=!(!t.prependAvatar&&!t.prependIcon),m=!(!f&&!a.prepend);return E?.updateHasPrepend(m),t.activeColor&&deprecate$4("active-color",["color","base-color"]),withDirectives(createVNode(n,mergeProps({class:["v-list-item",{"v-list-item--active":T.value,"v-list-item--disabled":t.disabled,"v-list-item--link":A.value,"v-list-item--nav":t.nav,"v-list-item--prepend":!m&&E?.hasPrepend.value,"v-list-item--slim":t.slim,[`${t.activeClass}`]:t.activeClass&&T.value},we.value,Se.value,$e.value,Ee.value,Pe.value,Ae.value,Ie.value,Ce.value,t.class],style:[xe.value,Ne.value,t.style],tabindex:A.value?E?-2:0:void 0,"aria-selected":I.value?w.activatable.value?d.value:w.selectable.value?g.value:T.value:void 0,onClick:Re,onKeydown:A.value&&!P.value&&De},l.linkProps),{default:()=>[genOverlays(A.value||T.value,"v-list-item"),m&&createVNode("div",{key:"prepend",class:"v-list-item__prepend"},[a.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!f,defaults:{VAvatar:{density:t.density,image:t.prependAvatar},VIcon:{density:t.density,icon:t.prependIcon},VListItemAction:{start:!0}}},{default:()=>[a.prepend?.(Me.value)]}):createVNode(Fragment,null,[t.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",density:t.density,image:t.prependAvatar},null),t.prependIcon&&createVNode(VIcon,{key:"prepend-icon",density:t.density,icon:t.prependIcon},null)]),createVNode("div",{class:"v-list-item__spacer"},null)]),createVNode("div",{class:"v-list-item__content","data-no-activator":""},[i&&createVNode(VListItemTitle,{key:"title"},{default:()=>[a.title?.({title:t.title})??t.title]}),s&&createVNode(VListItemSubtitle,{key:"subtitle"},{default:()=>[a.subtitle?.({subtitle:t.subtitle})??t.subtitle]}),a.default?.(Me.value)]),u&&createVNode("div",{key:"append",class:"v-list-item__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!c,defaults:{VAvatar:{density:t.density,image:t.appendAvatar},VIcon:{density:t.density,icon:t.appendIcon},VListItemAction:{end:!0}}},{default:()=>[a.append?.(Me.value)]}):createVNode(Fragment,null,[t.appendIcon&&createVNode(VIcon,{key:"append-icon",density:t.density,icon:t.appendIcon},null),t.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",density:t.density,image:t.appendAvatar},null)]),createVNode("div",{class:"v-list-item__spacer"},null)])]}),[[resolveDirective("ripple"),A.value&&t.ripple]])})),{activate:u,isActivated:d,isGroupActivator:b,isSelected:g,list:E,select:f,root:w,id:C,link:l}}}),makeVListSubheaderProps=propsFactory({color:String,inset:Boolean,sticky:Boolean,title:String,...makeComponentProps(),...makeTagProps()},"VListSubheader"),VListSubheader=genericComponent()({name:"VListSubheader",props:makeVListSubheaderProps(),setup(t,n){let{slots:i}=n;const{textColorClasses:a,textColorStyles:s}=useTextColor(toRef(t,"color"));return useRender((()=>{const n=!(!i.default&&!t.title);return createVNode(t.tag,{class:["v-list-subheader",{"v-list-subheader--inset":t.inset,"v-list-subheader--sticky":t.sticky},a.value,t.class],style:[{textColorStyles:s},t.style]},{default:()=>[n&&createVNode("div",{class:"v-list-subheader__text"},[i.default?.()??t.title])]})})),{}}}),makeVDividerProps=propsFactory({color:String,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,...makeComponentProps(),...makeThemeProps()},"VDivider"),VDivider=genericComponent()({name:"VDivider",props:makeVDividerProps(),setup(t,n){let{attrs:i,slots:a}=n;const{themeClasses:s}=provideTheme(t),{textColorClasses:l,textColorStyles:c}=useTextColor(toRef(t,"color")),u=computed((()=>{const n={};return t.length&&(n[t.vertical?"height":"width"]=convertToUnit(t.length)),t.thickness&&(n[t.vertical?"borderRightWidth":"borderTopWidth"]=convertToUnit(t.thickness)),n}));return useRender((()=>{const n=createVNode("hr",{class:[{"v-divider":!0,"v-divider--inset":t.inset,"v-divider--vertical":t.vertical},s.value,l.value,t.class],style:[u.value,c.value,{"--v-border-opacity":t.opacity},t.style],"aria-orientation":i.role&&"separator"!==i.role?void 0:t.vertical?"vertical":"horizontal",role:`${i.role||"separator"}`},null);return a.default?createVNode("div",{class:["v-divider__wrapper",{"v-divider__wrapper--vertical":t.vertical,"v-divider__wrapper--inset":t.inset}]},[n,createVNode("div",{class:"v-divider__content"},[a.default()]),n]):n})),{}}}),makeVListChildrenProps=propsFactory({items:Array,returnObject:Boolean},"VListChildren"),VListChildren=genericComponent()({name:"VListChildren",props:makeVListChildrenProps(),setup(t,n){let{slots:i}=n;return createList(),()=>i.default?.()??t.items?.map((n=>{let{children:a,props:s,type:l,raw:c}=n;if("divider"===l)return i.divider?.({props:s})??createVNode(VDivider,s,null);if("subheader"===l)return i.subheader?.({props:s})??createVNode(VListSubheader,s,null);const u={subtitle:i.subtitle?t=>i.subtitle?.({...t,item:c}):void 0,prepend:i.prepend?t=>i.prepend?.({...t,item:c}):void 0,append:i.append?t=>i.append?.({...t,item:c}):void 0,title:i.title?t=>i.title?.({...t,item:c}):void 0},d=VListGroup.filterProps(s);return a?createVNode(VListGroup,mergeProps({value:s?.value},d),{activator:n=>{let{props:a}=n;const l={...s,...a,value:t.returnObject?c:s.value};return i.header?i.header({props:l}):createVNode(VListItem,l,u)},default:()=>createVNode(VListChildren,{items:a,returnObject:t.returnObject},i)}):i.item?i.item({props:s}):createVNode(VListItem,mergeProps(s,{value:t.returnObject?c:s.value}),u)}))}}),makeItemsProps=propsFactory({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},returnObject:Boolean,valueComparator:Function},"list-items");function transformItem$3(t,n){const i=getPropertyFromItem(n,t.itemTitle,n),a=getPropertyFromItem(n,t.itemValue,i),s=getPropertyFromItem(n,t.itemChildren),l={title:i,value:a,...!0===t.itemProps?"object"!=typeof n||null==n||Array.isArray(n)?void 0:"children"in n?omit(n,["children"]):n:getPropertyFromItem(n,t.itemProps)};return{title:String(l.title??""),value:l.value,props:l,children:Array.isArray(s)?transformItems$3(t,s):void 0,raw:n}}function transformItems$3(t,n){const i=pick$2(t,["itemTitle","itemValue","itemChildren","itemProps","returnObject","valueComparator"]),a=[];for(const s of n)a.push(transformItem$3(i,s));return a}function useItems(t){const n=computed((()=>transformItems$3(t,t.items))),i=computed((()=>n.value.some((t=>null===t.value)))),a=shallowRef(new Map),s=shallowRef([]);return watchEffect((()=>{const t=n.value,i=new Map,l=[];for(let n=0;n<t.length;n++){const a=t[n];if(isPrimitive(a.value)||null===a.value){let t=i.get(a.value);t||(t=[],i.set(a.value,t)),t.push(a)}else l.push(a)}a.value=i,s.value=l})),{items:n,transformIn:function(l){const c=a.value,u=n.value,d=s.value,f=i.value,m=t.returnObject,g=!!t.valueComparator,v=t.valueComparator||deepEqual,b=pick$2(t,["itemTitle","itemValue","itemChildren","itemProps","returnObject","valueComparator"]),w=[];e:for(const t of l){if(!f&&null===t)continue;if(m&&"string"==typeof t){w.push(transformItem$3(b,t));continue}const n=c.get(t);if(!g&&n)w.push(...n);else{for(const n of g?u:d)if(v(t,n.value)){w.push(n);continue e}w.push(transformItem$3(b,t))}}return w},transformOut:function(n){return t.returnObject?n.map((t=>{let{raw:n}=t;return n})):n.map((t=>{let{value:n}=t;return n}))}}}function transformItem$2(t,n){const i=getPropertyFromItem(n,t.itemType,"item"),a=isPrimitive(n)?n:getPropertyFromItem(n,t.itemTitle),s=getPropertyFromItem(n,t.itemValue,void 0),l=getPropertyFromItem(n,t.itemChildren),c={title:a,value:s,...!0===t.itemProps?omit(n,["children"]):getPropertyFromItem(n,t.itemProps)};return{type:i,title:c.title,value:c.value,props:c,children:"item"===i&&l?transformItems$2(t,l):void 0,raw:n}}function transformItems$2(t,n){const i=[];for(const a of n)i.push(transformItem$2(t,a));return i}function useListItems(t){return{items:computed((()=>transformItems$2(t,t.items)))}}const makeVListProps=propsFactory({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,expandIcon:IconValue,collapseIcon:IconValue,lines:{type:[Boolean,String],default:"one"},slim:Boolean,nav:Boolean,"onClick:open":EventProp(),"onClick:select":EventProp(),"onUpdate:opened":EventProp(),...makeNestedProps({selectStrategy:"single-leaf",openStrategy:"list"}),...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),itemType:{type:String,default:"type"},...makeItemsProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"text"})},"VList"),VList=genericComponent()({name:"VList",props:makeVListProps(),emits:{"update:selected":t=>!0,"update:activated":t=>!0,"update:opened":t=>!0,"click:open":t=>!0,"click:activate":t=>!0,"click:select":t=>!0},setup(t,n){let{slots:i}=n;const{items:a}=useListItems(t),{themeClasses:s}=provideTheme(t),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(t,"bgColor")),{borderClasses:u}=useBorder(t),{densityClasses:d}=useDensity(t),{dimensionStyles:f}=useDimension(t),{elevationClasses:m}=useElevation(t),{roundedClasses:g}=useRounded(t),{children:v,open:b,parents:w,select:k,getPath:S}=useNested(t),C=computed((()=>t.lines?`v-list--${t.lines}-line`:void 0)),E=toRef(t,"activeColor"),T=toRef(t,"baseColor"),P=toRef(t,"color");createList(),provideDefaults({VListGroup:{activeColor:E,baseColor:T,color:P,expandIcon:toRef(t,"expandIcon"),collapseIcon:toRef(t,"collapseIcon")},VListItem:{activeClass:toRef(t,"activeClass"),activeColor:E,baseColor:T,color:P,density:toRef(t,"density"),disabled:toRef(t,"disabled"),lines:toRef(t,"lines"),nav:toRef(t,"nav"),slim:toRef(t,"slim"),variant:toRef(t,"variant")}});const I=shallowRef(!1),A=ref();function D(t){I.value=!0}function O(t){I.value=!1}function _e(t){I.value||t.relatedTarget&&A.value?.contains(t.relatedTarget)||Se()}function be(t){const n=t.target;if(A.value&&!["INPUT","TEXTAREA"].includes(n.tagName)){if("ArrowDown"===t.key)Se("next");else if("ArrowUp"===t.key)Se("prev");else if("Home"===t.key)Se("first");else{if("End"!==t.key)return;Se("last")}t.preventDefault()}}function we(t){I.value=!0}function Se(t){if(A.value)return focusChild(A.value,t)}return useRender((()=>createVNode(t.tag,{ref:A,class:["v-list",{"v-list--disabled":t.disabled,"v-list--nav":t.nav,"v-list--slim":t.slim},s.value,l.value,u.value,d.value,m.value,C.value,g.value,t.class],style:[c.value,f.value,t.style],tabindex:t.disabled?-1:0,role:"listbox","aria-activedescendant":void 0,onFocusin:D,onFocusout:O,onFocus:_e,onKeydown:be,onMousedown:we},{default:()=>[createVNode(VListChildren,{items:a.value,returnObject:t.returnObject},i)]}))),{open:b,select:k,focus:Se,children:v,parents:w,getPath:S}}}),VListImg=createSimpleFunctional("v-list-img"),makeVListItemActionProps=propsFactory({start:Boolean,end:Boolean,...makeComponentProps(),...makeTagProps()},"VListItemAction"),VListItemAction=genericComponent()({name:"VListItemAction",props:makeVListItemActionProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(t.tag,{class:["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class],style:t.style},i))),{}}}),makeVListItemMediaProps=propsFactory({start:Boolean,end:Boolean,...makeComponentProps(),...makeTagProps()},"VListItemMedia"),VListItemMedia=genericComponent()({name:"VListItemMedia",props:makeVListItemMediaProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(t.tag,{class:["v-list-item-media",{"v-list-item-media--start":t.start,"v-list-item-media--end":t.end},t.class],style:t.style},i))),{}}});function elementToViewport(t,n){return{x:t.x+n.x,y:t.y+n.y}}function getOffset$1(t,n){return{x:t.x-n.x,y:t.y-n.y}}function anchorToPoint(t,n){if("top"===t.side||"bottom"===t.side){const{side:i,align:a}=t;return elementToViewport({x:"left"===a?0:"center"===a?n.width/2:"right"===a?n.width:a,y:"top"===i?0:"bottom"===i?n.height:i},n)}if("left"===t.side||"right"===t.side){const{side:i,align:a}=t;return elementToViewport({x:"left"===i?0:"right"===i?n.width:i,y:"top"===a?0:"center"===a?n.height/2:"bottom"===a?n.height:a},n)}return elementToViewport({x:n.width/2,y:n.height/2},n)}const locationStrategies={static:staticLocationStrategy,connected:connectedLocationStrategy},makeLocationStrategyProps=propsFactory({locationStrategy:{type:[String,Function],default:"static",validator:t=>"function"==typeof t||t in locationStrategies},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array]},"VOverlay-location-strategies");function useLocationStrategies(t,n){const i=ref({}),a=ref();function s(t){a.value?.(t)}return IN_BROWSER&&useToggleScope((()=>!(!n.isActive.value||!t.locationStrategy)),(l=>{watch((()=>t.locationStrategy),l),onScopeDispose((()=>{window.removeEventListener("resize",s),a.value=void 0})),window.addEventListener("resize",s,{passive:!0}),"function"==typeof t.locationStrategy?a.value=t.locationStrategy(n,t,i)?.updateLocation:a.value=locationStrategies[t.locationStrategy](n,t,i)?.updateLocation})),{contentStyles:i,updateLocation:a}}function staticLocationStrategy(){}function getIntrinsicSize(t,n){const i=nullifyTransforms(t);return n?i.x+=parseFloat(t.style.right||0):i.x-=parseFloat(t.style.left||0),i.y-=parseFloat(t.style.top||0),i}function connectedLocationStrategy(t,n,i){(Array.isArray(t.target.value)||isFixedPosition(t.target.value))&&Object.assign(i.value,{position:"fixed",top:0,[t.isRtl.value?"right":"left"]:0});const{preferredAnchor:a,preferredOrigin:s}=destructComputed((()=>{const i=parseAnchor(n.location,t.isRtl.value),a="overlap"===n.origin?i:"auto"===n.origin?flipSide(i):parseAnchor(n.origin,t.isRtl.value);return i.side===a.side&&i.align===flipAlign(a).align?{preferredAnchor:flipCorner(i),preferredOrigin:flipCorner(a)}:{preferredAnchor:i,preferredOrigin:a}})),[l,c,u,d]=["minWidth","minHeight","maxWidth","maxHeight"].map((t=>computed((()=>{const i=parseFloat(n[t]);return isNaN(i)?1/0:i})))),f=computed((()=>{if(Array.isArray(n.offset))return n.offset;if("string"==typeof n.offset){const t=n.offset.split(" ").map(parseFloat);return t.length<2&&t.push(0),t}return"number"==typeof n.offset?[n.offset,0]:[0,0]}));let m=!1;const g=new ResizeObserver((()=>{m&&v()}));function v(){if(m=!1,requestAnimationFrame((()=>m=!0)),!t.target.value||!t.contentEl.value)return;const n=getTargetBox(t.target.value),g=getIntrinsicSize(t.contentEl.value,t.isRtl.value),v=getScrollParents(t.contentEl.value);v.length||(v.push(document.documentElement),t.contentEl.value.style.top&&t.contentEl.value.style.left||(g.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),g.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const b=v.reduce(((t,n)=>{const i=n.getBoundingClientRect(),a=new Box({x:n===document.documentElement?0:i.x,y:n===document.documentElement?0:i.y,width:n.clientWidth,height:n.clientHeight});return t?new Box({x:Math.max(t.left,a.left),y:Math.max(t.top,a.top),width:Math.min(t.right,a.right)-Math.max(t.left,a.left),height:Math.min(t.bottom,a.bottom)-Math.max(t.top,a.top)}):a}),void 0);b.x+=12,b.y+=12,b.width-=24,b.height-=24;let w={anchor:a.value,origin:s.value};function k(t){const i=new Box(g),a=anchorToPoint(t.anchor,n),s=anchorToPoint(t.origin,i);let{x:l,y:c}=getOffset$1(a,s);switch(t.anchor.side){case"top":c-=f.value[0];break;case"bottom":c+=f.value[0];break;case"left":l-=f.value[0];break;case"right":l+=f.value[0]}switch(t.anchor.align){case"top":c-=f.value[1];break;case"bottom":c+=f.value[1];break;case"left":l-=f.value[1];break;case"right":l+=f.value[1]}i.x+=l,i.y+=c,i.width=Math.min(i.width,u.value),i.height=Math.min(i.height,d.value);return{overflows:getOverflow(i,b),x:l,y:c}}let S=0,C=0;const E={x:0,y:0},T={x:!1,y:!1};let P=-1;for(;!(P++>10);){const{x:t,y:n,overflows:i}=k(w);S+=t,C+=n,g.x+=t,g.y+=n;{const t=getAxis(w.anchor),n=i.x.before||i.x.after,a=i.y.before||i.y.after;let s=!1;if(["x","y"].forEach((l=>{if("x"===l&&n&&!T.x||"y"===l&&a&&!T.y){const n={anchor:{...w.anchor},origin:{...w.origin}},a="x"===l?"y"===t?flipAlign:flipSide:"y"===t?flipSide:flipAlign;n.anchor=a(n.anchor),n.origin=a(n.origin);const{overflows:c}=k(n);(c[l].before<=i[l].before&&c[l].after<=i[l].after||c[l].before+c[l].after<(i[l].before+i[l].after)/2)&&(w=n,s=T[l]=!0)}})),s)continue}i.x.before&&(S+=i.x.before,g.x+=i.x.before),i.x.after&&(S-=i.x.after,g.x-=i.x.after),i.y.before&&(C+=i.y.before,g.y+=i.y.before),i.y.after&&(C-=i.y.after,g.y-=i.y.after);{const t=getOverflow(g,b);E.x=b.width-t.x.before-t.x.after,E.y=b.height-t.y.before-t.y.after,S+=t.x.before,g.x+=t.x.before,C+=t.y.before,g.y+=t.y.before}break}const I=getAxis(w.anchor);return Object.assign(i.value,{"--v-overlay-anchor-origin":`${w.anchor.side} ${w.anchor.align}`,transformOrigin:`${w.origin.side} ${w.origin.align}`,top:convertToUnit(pixelRound(C)),left:t.isRtl.value?void 0:convertToUnit(pixelRound(S)),right:t.isRtl.value?convertToUnit(pixelRound(-S)):void 0,minWidth:convertToUnit("y"===I?Math.min(l.value,n.width):l.value),maxWidth:convertToUnit(pixelCeil(clamp(E.x,l.value===1/0?0:l.value,u.value))),maxHeight:convertToUnit(pixelCeil(clamp(E.y,c.value===1/0?0:c.value,d.value)))}),{available:E,contentBox:g}}return watch([t.target,t.contentEl],((t,n)=>{let[i,a]=t,[s,l]=n;s&&!Array.isArray(s)&&g.unobserve(s),i&&!Array.isArray(i)&&g.observe(i),l&&g.unobserve(l),a&&g.observe(a)}),{immediate:!0}),onScopeDispose((()=>{g.disconnect()})),watch((()=>[a.value,s.value,n.offset,n.minWidth,n.minHeight,n.maxWidth,n.maxHeight]),(()=>v())),nextTick$2((()=>{const t=v();if(!t)return;const{available:n,contentBox:i}=t;i.height>n.y&&requestAnimationFrame((()=>{v(),requestAnimationFrame((()=>{v()}))}))})),{updateLocation:v}}function pixelRound(t){return Math.round(t*devicePixelRatio)/devicePixelRatio}function pixelCeil(t){return Math.ceil(t*devicePixelRatio)/devicePixelRatio}let clean=!0;const frames=[];function requestNewFrame(t){!clean||frames.length?(frames.push(t),run()):(clean=!1,t(),run())}let raf=-1;function run(){cancelAnimationFrame(raf),raf=requestAnimationFrame((()=>{const t=frames.shift();t&&t(),frames.length?run():clean=!0}))}const scrollStrategies={none:null,close:closeScrollStrategy,block:blockScrollStrategy,reposition:repositionScrollStrategy},makeScrollStrategyProps=propsFactory({scrollStrategy:{type:[String,Function],default:"block",validator:t=>"function"==typeof t||t in scrollStrategies}},"VOverlay-scroll-strategies");function useScrollStrategies(t,n){if(!IN_BROWSER)return;let i;watchEffect((async()=>{i?.stop(),n.isActive.value&&t.scrollStrategy&&(i=effectScope(),await new Promise((t=>setTimeout(t))),i.active&&i.run((()=>{"function"==typeof t.scrollStrategy?t.scrollStrategy(n,t,i):scrollStrategies[t.scrollStrategy]?.(n,t,i)})))})),onScopeDispose((()=>{i?.stop()}))}function closeScrollStrategy(t){bindScroll(t.targetEl.value??t.contentEl.value,(function(n){t.isActive.value=!1}))}function blockScrollStrategy(t,n){const i=t.root.value?.offsetParent,a=[...new Set([...getScrollParents(t.targetEl.value,n.contained?i:void 0),...getScrollParents(t.contentEl.value,n.contained?i:void 0)])].filter((t=>!t.classList.contains("v-overlay-scroll-blocked"))),s=window.innerWidth-document.documentElement.offsetWidth,l=hasScrollbar(c=i||document.documentElement)&&c;var c;l&&t.root.value.classList.add("v-overlay--scroll-blocked"),a.forEach(((t,n)=>{t.style.setProperty("--v-body-scroll-x",convertToUnit(-t.scrollLeft)),t.style.setProperty("--v-body-scroll-y",convertToUnit(-t.scrollTop)),t!==document.documentElement&&t.style.setProperty("--v-scrollbar-offset",convertToUnit(s)),t.classList.add("v-overlay-scroll-blocked")})),onScopeDispose((()=>{a.forEach(((t,n)=>{const i=parseFloat(t.style.getPropertyValue("--v-body-scroll-x")),a=parseFloat(t.style.getPropertyValue("--v-body-scroll-y")),s=t.style.scrollBehavior;t.style.scrollBehavior="auto",t.style.removeProperty("--v-body-scroll-x"),t.style.removeProperty("--v-body-scroll-y"),t.style.removeProperty("--v-scrollbar-offset"),t.classList.remove("v-overlay-scroll-blocked"),t.scrollLeft=-i,t.scrollTop=-a,t.style.scrollBehavior=s})),l&&t.root.value.classList.remove("v-overlay--scroll-blocked")}))}function repositionScrollStrategy(t,n,i){let a=!1,s=-1,l=-1;function c(n){requestNewFrame((()=>{const i=performance.now();t.updateLocation.value?.(n);const s=performance.now()-i;a=s/(1e3/60)>2}))}l=("undefined"==typeof requestIdleCallback?t=>t():requestIdleCallback)((()=>{i.run((()=>{bindScroll(t.targetEl.value??t.contentEl.value,(t=>{a?(cancelAnimationFrame(s),s=requestAnimationFrame((()=>{s=requestAnimationFrame((()=>{c(t)}))}))):c(t)}))}))})),onScopeDispose((()=>{"undefined"!=typeof cancelIdleCallback&&cancelIdleCallback(l),cancelAnimationFrame(s)}))}function bindScroll(t,n){const i=[document,...getScrollParents(t)];i.forEach((t=>{t.addEventListener("scroll",n,{passive:!0})})),onScopeDispose((()=>{i.forEach((t=>{t.removeEventListener("scroll",n)}))}))}const VMenuSymbol=Symbol.for("vuetify:v-menu"),makeDelayProps=propsFactory({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function useDelay(t,n){let i=()=>{};function a(a){i?.();const s=Number(a?t.openDelay:t.closeDelay);return new Promise((t=>{i=defer(s,(()=>{n?.(a),t(a)}))}))}return{clearDelay:i,runOpenDelay:function(){return a(!0)},runCloseDelay:function(){return a(!1)}}}const makeActivatorProps=propsFactory({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...makeDelayProps()},"VOverlay-activator");function useActivator(t,n){let{isActive:i,isTop:a,contentEl:s}=n;const l=getCurrentInstance("useActivator"),c=ref();let u=!1,d=!1,f=!0;const m=computed((()=>t.openOnFocus||null==t.openOnFocus&&t.openOnHover)),g=computed((()=>t.openOnClick||null==t.openOnClick&&!t.openOnHover&&!m.value)),{runOpenDelay:v,runCloseDelay:b}=useDelay(t,(n=>{n!==(t.openOnHover&&u||m.value&&d)||t.openOnHover&&i.value&&!a.value||(i.value!==n&&(f=!0),i.value=n)})),w=ref(),k=t=>{t.stopPropagation(),c.value=t.currentTarget||t.target,i.value||(w.value=[t.clientX,t.clientY]),i.value=!i.value},S=t=>{t.sourceCapabilities?.firesTouchEvents||(u=!0,c.value=t.currentTarget||t.target,v())},C=t=>{u=!1,b()},E=t=>{!1!==matchesSelector$2(t.target,":focus-visible")&&(d=!0,t.stopPropagation(),c.value=t.currentTarget||t.target,v())},T=t=>{d=!1,t.stopPropagation(),b()},P=computed((()=>{const n={};return g.value&&(n.onClick=k),t.openOnHover&&(n.onMouseenter=S,n.onMouseleave=C),m.value&&(n.onFocus=E,n.onBlur=T),n})),I=computed((()=>{const n={};if(t.openOnHover&&(n.onMouseenter=()=>{u=!0,v()},n.onMouseleave=()=>{u=!1,b()}),m.value&&(n.onFocusin=()=>{d=!0,v()},n.onFocusout=()=>{d=!1,b()}),t.closeOnContentClick){const t=inject$1(VMenuSymbol,null);n.onClick=()=>{i.value=!1,t?.closeParents()}}return n})),A=computed((()=>{const n={};return t.openOnHover&&(n.onMouseenter=()=>{f&&(u=!0,f=!1,v())},n.onMouseleave=()=>{u=!1,b()}),n}));watch(a,(n=>{!n||(!t.openOnHover||u||m.value&&d)&&(!m.value||d||t.openOnHover&&u)||s.value?.contains(document.activeElement)||(i.value=!1)})),watch(i,(t=>{t||setTimeout((()=>{w.value=void 0}))}),{flush:"post"});const D=templateRef();watchEffect((()=>{D.value&&nextTick$2((()=>{c.value=D.el}))}));const O=templateRef(),_e=computed((()=>"cursor"===t.target&&w.value?w.value:O.value?O.el:getTarget(t.target,l)||c.value)),be=computed((()=>Array.isArray(_e.value)?void 0:_e.value));let we;return watch((()=>!!t.activator),(n=>{n&&IN_BROWSER?(we=effectScope(),we.run((()=>{_useActivator(t,l,{activatorEl:c,activatorEvents:P})}))):we&&we.stop()}),{flush:"post",immediate:!0}),onScopeDispose((()=>{we?.stop()})),{activatorEl:c,activatorRef:D,target:_e,targetEl:be,targetRef:O,activatorEvents:P,contentEvents:I,scrimEvents:A}}function _useActivator(t,n,i){let{activatorEl:a,activatorEvents:s}=i;function l(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u(),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.activatorProps;n&&bindProps(n,mergeProps(s.value,i))}function c(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u(),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.activatorProps;n&&unbindProps(n,mergeProps(s.value,i))}function u(){const i=getTarget(arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.activator,n);return a.value=i?.nodeType===Node.ELEMENT_NODE?i:void 0,a.value}watch((()=>t.activator),((t,n)=>{if(n&&t!==n){const t=u(n);t&&c(t)}t&&nextTick$2((()=>l()))}),{immediate:!0}),watch((()=>t.activatorProps),(()=>{l()})),onScopeDispose((()=>{c()}))}function getTarget(t,n){if(!t)return;let i;if("parent"===t){let t=n?.proxy?.$el?.parentNode;for(;t?.hasAttribute("data-no-activator");)t=t.parentNode;i=t}else i="string"==typeof t?document.querySelector(t):"$el"in t?t.$el:t;return i}function useHydration(){if(!IN_BROWSER)return shallowRef(!1);const{ssr:t}=useDisplay();if(t){const t=shallowRef(!1);return onMounted((()=>{t.value=!0})),t}return shallowRef(!0)}const makeLazyProps=propsFactory({eager:Boolean},"lazy");function useLazy(t,n){const i=shallowRef(!1),a=computed((()=>i.value||t.eager||n.value));return watch(n,(()=>i.value=!0)),{isBooted:i,hasContent:a,onAfterLeave:function(){t.eager||(i.value=!1)}}}function useScopeId(){const t=getCurrentInstance("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const StackSymbol=Symbol.for("vuetify:stack"),globalStack=reactive([]);function useStack(t,n,i){const a=getCurrentInstance("useStack"),s=!i,l=inject$1(StackSymbol,void 0),c=reactive({activeChildren:new Set});provide(StackSymbol,c);const u=shallowRef(+n.value);useToggleScope(t,(()=>{const t=globalStack.at(-1)?.[1];u.value=t?t+10:+n.value,s&&globalStack.push([a.uid,u.value]),l?.activeChildren.add(a.uid),onScopeDispose((()=>{if(s){const t=toRaw(globalStack).findIndex((t=>t[0]===a.uid));globalStack.splice(t,1)}l?.activeChildren.delete(a.uid)}))}));const d=shallowRef(!0);s&&watchEffect((()=>{const t=globalStack.at(-1)?.[0]===a.uid;setTimeout((()=>d.value=t))}));const f=computed((()=>!c.activeChildren.size));return{globalTop:readonly(d),localTop:f,stackStyles:computed((()=>({zIndex:u.value})))}}function useTeleport(t){return{teleportTarget:computed((()=>{const n=t();if(!0===n||!IN_BROWSER)return;const i=!1===n?document.body:"string"==typeof n?document.querySelector(n):n;if(null==i)return;let a=[...i.children].find((t=>t.matches(".v-overlay-container")));return a||(a=document.createElement("div"),a.className="v-overlay-container",i.appendChild(a)),a}))}}function defaultConditional(){return!0}function checkEvent(t,n,i){if(!t||!1===checkIsActive(t,i))return!1;const a=attachedRoot(n);if("undefined"!=typeof ShadowRoot&&a instanceof ShadowRoot&&a.host===t.target)return!1;const s=("object"==typeof i.value&&i.value.include||(()=>[]))();return s.push(n),!s.some((n=>n?.contains(t.target)))}function checkIsActive(t,n){return("object"==typeof n.value&&n.value.closeConditional||defaultConditional)(t)}function directive(t,n,i){const a="function"==typeof i.value?i.value:i.value.handler;t.shadowTarget=t.target,n._clickOutside.lastMousedownWasOutside&&checkEvent(t,n,i)&&setTimeout((()=>{checkIsActive(t,i)&&a&&a(t)}),0)}function handleShadow(t,n){const i=attachedRoot(t);n(document),"undefined"!=typeof ShadowRoot&&i instanceof ShadowRoot&&n(i)}const ClickOutside={mounted(t,n){const i=i=>directive(i,t,n),a=i=>{t._clickOutside.lastMousedownWasOutside=checkEvent(i,t,n)};handleShadow(t,(t=>{t.addEventListener("click",i,!0),t.addEventListener("mousedown",a,!0)})),t._clickOutside||(t._clickOutside={lastMousedownWasOutside:!1}),t._clickOutside[n.instance.$.uid]={onClick:i,onMousedown:a}},beforeUnmount(t,n){t._clickOutside&&(handleShadow(t,(i=>{if(!i||!t._clickOutside?.[n.instance.$.uid])return;const{onClick:a,onMousedown:s}=t._clickOutside[n.instance.$.uid];i.removeEventListener("click",a,!0),i.removeEventListener("mousedown",s,!0)})),delete t._clickOutside[n.instance.$.uid])}};function Scrim(t){const{modelValue:n,color:i,...a}=t;return createVNode(Transition,{name:"fade-transition",appear:!0},{default:()=>[t.modelValue&&createVNode("div",mergeProps({class:["v-overlay__scrim",t.color.backgroundColorClasses.value],style:t.color.backgroundColorStyles.value},a),null)]})}const makeVOverlayProps=propsFactory({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...makeActivatorProps(),...makeComponentProps(),...makeDimensionProps(),...makeLazyProps(),...makeLocationStrategyProps(),...makeScrollStrategyProps(),...makeThemeProps(),...makeTransitionProps()},"VOverlay"),VOverlay=genericComponent()({name:"VOverlay",directives:{ClickOutside:ClickOutside},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...makeVOverlayProps()},emits:{"click:outside":t=>!0,"update:modelValue":t=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(t,n){let{slots:i,attrs:a,emit:s}=n;const l=getCurrentInstance("VOverlay"),c=ref(),u=ref(),d=ref(),f=useProxiedModel(t,"modelValue"),m=computed({get:()=>f.value,set:n=>{n&&t.disabled||(f.value=n)}}),{themeClasses:g}=provideTheme(t),{rtlClasses:v,isRtl:b}=useRtl(),{hasContent:w,onAfterLeave:k}=useLazy(t,m),S=useBackgroundColor(computed((()=>"string"==typeof t.scrim?t.scrim:null))),{globalTop:C,localTop:E,stackStyles:T}=useStack(m,toRef(t,"zIndex"),t._disableGlobalStack),{activatorEl:P,activatorRef:I,target:A,targetEl:D,targetRef:O,activatorEvents:_e,contentEvents:be,scrimEvents:we}=useActivator(t,{isActive:m,isTop:E,contentEl:d}),{teleportTarget:Se}=useTeleport((()=>{const n=t.attach||t.contained;if(n)return n;const i=P?.value?.getRootNode()||l.proxy?.$el?.getRootNode();return i instanceof ShadowRoot&&i})),{dimensionStyles:$e}=useDimension(t),xe=useHydration(),{scopeId:Ce}=useScopeId();watch((()=>t.disabled),(t=>{t&&(m.value=!1)}));const{contentStyles:Ee,updateLocation:Ne}=useLocationStrategies(t,{isRtl:b,contentEl:d,target:A,isActive:m});function Pe(n){s("click:outside",n),t.persistent?De():m.value=!1}function Ie(n){return m.value&&C.value&&(!t.scrim||n.target===u.value||n instanceof MouseEvent&&n.shadowTarget===u.value)}function Ae(n){"Escape"===n.key&&C.value&&(t.persistent?De():(m.value=!1,d.value?.contains(document.activeElement)&&P.value?.focus()))}useScrollStrategies(t,{root:c,contentEl:d,targetEl:D,isActive:m,updateLocation:Ne}),IN_BROWSER&&watch(m,(t=>{t?window.addEventListener("keydown",Ae):window.removeEventListener("keydown",Ae)}),{immediate:!0}),onBeforeUnmount((()=>{IN_BROWSER&&window.removeEventListener("keydown",Ae)}));const Me=useRouter();useToggleScope((()=>t.closeOnBack),(()=>{useBackButton(Me,(n=>{C.value&&m.value?(n(!1),t.persistent?De():m.value=!1):n()}))}));const Re=ref();function De(){t.noClickAnimation||d.value&&animate$2(d.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:standardEasing})}function Oe(){s("afterEnter")}function Ve(){k(),s("afterLeave")}return watch((()=>m.value&&(t.absolute||t.contained)&&null==Se.value),(t=>{if(t){const t=getScrollParent(c.value);t&&t!==document.scrollingElement&&(Re.value=t.scrollTop)}})),useRender((()=>createVNode(Fragment,null,[i.activator?.({isActive:m.value,targetRef:O,props:mergeProps({ref:I},_e.value,t.activatorProps)}),xe.value&&w.value&&createVNode(Teleport,{disabled:!Se.value,to:Se.value},{default:()=>[createVNode("div",mergeProps({class:["v-overlay",{"v-overlay--absolute":t.absolute||t.contained,"v-overlay--active":m.value,"v-overlay--contained":t.contained},g.value,v.value,t.class],style:[T.value,{"--v-overlay-opacity":t.opacity,top:convertToUnit(Re.value)},t.style],ref:c},Ce,a),[createVNode(Scrim,mergeProps({color:S,modelValue:m.value&&!!t.scrim,ref:u},we.value),null),createVNode(MaybeTransition,{appear:!0,persisted:!0,transition:t.transition,target:A.value,onAfterEnter:Oe,onAfterLeave:Ve},{default:()=>[withDirectives(createVNode("div",mergeProps({ref:d,class:["v-overlay__content",t.contentClass],style:[$e.value,Ee.value]},be.value,t.contentProps),[i.default?.({isActive:m})]),[[vShow,m.value],[resolveDirective("click-outside"),{handler:Pe,closeConditional:Ie,include:()=>[P.value]}]])]})])]})]))),{activatorEl:P,scrimEl:u,target:A,animateClick:De,contentEl:d,globalTop:C,localTop:E,updateLocation:Ne}}}),Refs=Symbol("Forwarded refs");function getDescriptor(t,n){let i=t;for(;i;){const t=Reflect.getOwnPropertyDescriptor(i,n);if(t)return t;i=Object.getPrototypeOf(i)}}function forwardRefs(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];return t[Refs]=i,new Proxy(t,{get(t,n){if(Reflect.has(t,n))return Reflect.get(t,n);if("symbol"!=typeof n&&!n.startsWith("$")&&!n.startsWith("__"))for(const a of i)if(a.value&&Reflect.has(a.value,n)){const t=Reflect.get(a.value,n);return"function"==typeof t?t.bind(a.value):t}},has(t,n){if(Reflect.has(t,n))return!0;if("symbol"==typeof n||n.startsWith("$")||n.startsWith("__"))return!1;for(const a of i)if(a.value&&Reflect.has(a.value,n))return!0;return!1},set(t,n,a){if(Reflect.has(t,n))return Reflect.set(t,n,a);if("symbol"==typeof n||n.startsWith("$")||n.startsWith("__"))return!1;for(const s of i)if(s.value&&Reflect.has(s.value,n))return Reflect.set(s.value,n,a);return!1},getOwnPropertyDescriptor(t,n){const a=Reflect.getOwnPropertyDescriptor(t,n);if(a)return a;if("symbol"!=typeof n&&!n.startsWith("$")&&!n.startsWith("__")){for(const t of i){if(!t.value)continue;const i=getDescriptor(t.value,n)??("_"in t.value?getDescriptor(t.value._?.setupState,n):void 0);if(i)return i}for(const t of i){const i=t.value&&t.value[Refs];if(!i)continue;const a=i.slice();for(;a.length;){const t=a.shift(),i=getDescriptor(t.value,n);if(i)return i;const s=t.value&&t.value[Refs];s&&a.push(...s)}}}}})}const makeVMenuProps=propsFactory({id:String,submenu:Boolean,...omit(makeVOverlayProps({closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:VDialogTransition}}),["absolute"])},"VMenu"),VMenu=genericComponent()({name:"VMenu",props:makeVMenuProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{scopeId:s}=useScopeId(),{isRtl:l}=useRtl(),c=getUid(),u=computed((()=>t.id||`v-menu-${c}`)),d=ref(),f=inject$1(VMenuSymbol,null),m=shallowRef(new Set);async function g(t){const n=t.relatedTarget,i=t.target;if(await nextTick$2(),a.value&&n!==i&&d.value?.contentEl&&d.value?.globalTop&&![document,d.value.contentEl].includes(i)&&!d.value.contentEl.contains(i)){const t=focusableChildren(d.value.contentEl);t[0]?.focus()}}function v(t){f?.closeParents(t)}function b(n){if(!t.disabled)if("Tab"===n.key||"Enter"===n.key&&!t.closeOnContentClick){if("Enter"===n.key&&(n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLInputElement&&n.target.closest("form")))return;"Enter"===n.key&&n.preventDefault();getNextElement(focusableChildren(d.value?.contentEl,!1),n.shiftKey?"prev":"next",(t=>t.tabIndex>=0))||(a.value=!1,d.value?.activatorEl?.focus())}else t.submenu&&n.key===(l.value?"ArrowRight":"ArrowLeft")&&(a.value=!1,d.value?.activatorEl?.focus())}function w(n){if(t.disabled)return;const i=d.value?.contentEl;i&&a.value?"ArrowDown"===n.key?(n.preventDefault(),n.stopImmediatePropagation(),focusChild(i,"next")):"ArrowUp"===n.key?(n.preventDefault(),n.stopImmediatePropagation(),focusChild(i,"prev")):t.submenu&&(n.key===(l.value?"ArrowRight":"ArrowLeft")?a.value=!1:n.key===(l.value?"ArrowLeft":"ArrowRight")&&(n.preventDefault(),focusChild(i,"first"))):(t.submenu?n.key===(l.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(n.key))&&(a.value=!0,n.preventDefault(),setTimeout((()=>setTimeout((()=>w(n))))))}provide(VMenuSymbol,{register(){m.value.add(c)},unregister(){m.value.delete(c)},closeParents(n){setTimeout((()=>{m.value.size||t.persistent||null!=n&&(!d.value?.contentEl||isClickInsideElement(n,d.value.contentEl))||(a.value=!1,f?.closeParents())}),40)}}),onBeforeUnmount((()=>{f?.unregister(),document.removeEventListener("focusin",g)})),onDeactivated((()=>a.value=!1)),watch(a,(t=>{t?(f?.register(),IN_BROWSER&&document.addEventListener("focusin",g,{once:!0})):(f?.unregister(),IN_BROWSER&&document.removeEventListener("focusin",g))}),{immediate:!0});const k=computed((()=>mergeProps({"aria-haspopup":"menu","aria-expanded":String(a.value),"aria-controls":u.value,onKeydown:w},t.activatorProps)));return useRender((()=>{const n=VOverlay.filterProps(t);return createVNode(VOverlay,mergeProps({ref:d,id:u.value,class:["v-menu",t.class],style:t.style},n,{modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,absolute:!0,activatorProps:k.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":v,onKeydown:b},s),{activator:i.activator,default:function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return createVNode(VDefaultsProvider,{root:"VMenu"},{default:()=>[i.default?.(...n)]})}})})),forwardRefs({id:u,"ΨopenChildren":m},d)}}),makeVCounterProps=propsFactory({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...makeComponentProps(),...makeTransitionProps({transition:{component:VSlideYTransition}})},"VCounter"),VCounter=genericComponent()({name:"VCounter",functional:!0,props:makeVCounterProps(),setup(t,n){let{slots:i}=n;const a=computed((()=>t.max?`${t.value} / ${t.max}`:String(t.value)));return useRender((()=>createVNode(MaybeTransition,{transition:t.transition},{default:()=>[withDirectives(createVNode("div",{class:["v-counter",{"text-error":t.max&&!t.disabled&&parseFloat(t.value)>parseFloat(t.max)},t.class],style:t.style},[i.default?i.default({counter:a.value,max:t.max,value:t.value}):a.value]),[[vShow,t.active]])]}))),{}}}),makeVFieldLabelProps=propsFactory({floating:Boolean,...makeComponentProps()},"VFieldLabel"),VFieldLabel=genericComponent()({name:"VFieldLabel",props:makeVFieldLabelProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(VLabel,{class:["v-field-label",{"v-field-label--floating":t.floating},t.class],style:t.style,"aria-hidden":t.floating||void 0},i))),{}}}),allowedVariants$1=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],makeVFieldProps=propsFactory({appendInnerIcon:IconValue,bgColor:String,clearable:Boolean,clearIcon:{type:IconValue,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},error:Boolean,flat:Boolean,label:String,persistentClear:Boolean,prependInnerIcon:IconValue,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:t=>allowedVariants$1.includes(t)},"onClick:clear":EventProp(),"onClick:appendInner":EventProp(),"onClick:prependInner":EventProp(),...makeComponentProps(),...makeLoaderProps(),...makeRoundedProps(),...makeThemeProps()},"VField"),VField=genericComponent()({name:"VField",inheritAttrs:!1,props:{id:String,...makeFocusProps(),...makeVFieldProps()},emits:{"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{themeClasses:l}=provideTheme(t),{loaderClasses:c}=useLoader(t),{focusClasses:u,isFocused:d,focus:f,blur:m}=useFocus(t),{InputIcon:g}=useInputIcon(t),{roundedClasses:v}=useRounded(t),{rtlClasses:b}=useRtl(),w=computed((()=>t.dirty||t.active)),k=computed((()=>!(!t.label&&!s.label))),S=computed((()=>!t.singleLine&&k.value)),C=getUid(),E=computed((()=>t.id||`input-${C}`)),T=computed((()=>`${E.value}-messages`)),P=ref(),I=ref(),A=ref(),D=computed((()=>["plain","underlined"].includes(t.variant))),{backgroundColorClasses:O,backgroundColorStyles:_e}=useBackgroundColor(toRef(t,"bgColor")),{textColorClasses:be,textColorStyles:we}=useTextColor(computed((()=>t.error||t.disabled?void 0:w.value&&d.value?t.color:t.baseColor)));watch(w,(t=>{if(S.value){const n=P.value.$el,i=I.value.$el;requestAnimationFrame((()=>{const a=nullifyTransforms(n),s=i.getBoundingClientRect(),l=s.x-a.x,c=s.y-a.y-(a.height/2-s.height/2),u=s.width/.75,d=Math.abs(u-a.width)>1?{maxWidth:convertToUnit(u)}:void 0,f=getComputedStyle(n),m=getComputedStyle(i),g=1e3*parseFloat(f.transitionDuration)||150,v=parseFloat(m.getPropertyValue("--v-field-label-scale")),b=m.getPropertyValue("color");n.style.visibility="visible",i.style.visibility="hidden",animate$2(n,{transform:`translate(${l}px, ${c}px) scale(${v})`,color:b,...d},{duration:g,easing:standardEasing,direction:t?"normal":"reverse"}).finished.then((()=>{n.style.removeProperty("visibility"),i.style.removeProperty("visibility")}))}))}}),{flush:"post"});const Se=computed((()=>({isActive:w,isFocused:d,controlRef:A,blur:m,focus:f})));function $e(t){t.target!==document.activeElement&&t.preventDefault()}return useRender((()=>{const n="outlined"===t.variant,a=!(!s["prepend-inner"]&&!t.prependInnerIcon),d=!(!t.clearable&&!s.clear||t.disabled),C=!!(s["append-inner"]||t.appendInnerIcon||d),A=()=>s.label?s.label({...Se.value,label:t.label,props:{for:E.value}}):t.label;return createVNode("div",mergeProps({class:["v-field",{"v-field--active":w.value,"v-field--appended":C,"v-field--center-affix":t.centerAffix??!D.value,"v-field--disabled":t.disabled,"v-field--dirty":t.dirty,"v-field--error":t.error,"v-field--flat":t.flat,"v-field--has-background":!!t.bgColor,"v-field--persistent-clear":t.persistentClear,"v-field--prepended":a,"v-field--reverse":t.reverse,"v-field--single-line":t.singleLine,"v-field--no-label":!A(),[`v-field--variant-${t.variant}`]:!0},l.value,O.value,u.value,c.value,v.value,b.value,t.class],style:[_e.value,t.style],onClick:$e},i),[createVNode("div",{class:"v-field__overlay"},null),createVNode(LoaderSlot,{name:"v-field",active:!!t.loading,color:t.error?"error":"string"==typeof t.loading?t.loading:t.color},{default:s.loader}),a&&createVNode("div",{key:"prepend",class:"v-field__prepend-inner"},[t.prependInnerIcon&&createVNode(g,{key:"prepend-icon",name:"prependInner"},null),s["prepend-inner"]?.(Se.value)]),createVNode("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(t.variant)&&S.value&&createVNode(VFieldLabel,{key:"floating-label",ref:I,class:[be.value],floating:!0,for:E.value,style:we.value},{default:()=>[A()]}),k.value&&createVNode(VFieldLabel,{key:"label",ref:P,for:E.value},{default:()=>[A()]}),s.default?.({...Se.value,props:{id:E.value,class:"v-field__input","aria-describedby":T.value},focus:f,blur:m})]),d&&createVNode(VExpandXTransition,{key:"clear"},{default:()=>[withDirectives(createVNode("div",{class:"v-field__clearable",onMousedown:t=>{t.preventDefault(),t.stopPropagation()}},[createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:t.clearIcon}}},{default:()=>[s.clear?s.clear({...Se.value,props:{onFocus:f,onBlur:m,onClick:t["onClick:clear"]}}):createVNode(g,{name:"clear",onFocus:f,onBlur:m},null)]})]),[[vShow,t.dirty]])]}),C&&createVNode("div",{key:"append",class:"v-field__append-inner"},[s["append-inner"]?.(Se.value),t.appendInnerIcon&&createVNode(g,{key:"append-icon",name:"appendInner"},null)]),createVNode("div",{class:["v-field__outline",be.value],style:we.value},[n&&createVNode(Fragment,null,[createVNode("div",{class:"v-field__outline__start"},null),S.value&&createVNode("div",{class:"v-field__outline__notch"},[createVNode(VFieldLabel,{ref:I,floating:!0,for:E.value},{default:()=>[A()]})]),createVNode("div",{class:"v-field__outline__end"},null)]),D.value&&S.value&&createVNode(VFieldLabel,{ref:I,floating:!0,for:E.value},{default:()=>[A()]})])])})),{controlRef:A}}});function filterFieldProps(t){return pick$2(t,Object.keys(VField.props).filter((t=>!isOn(t)&&"class"!==t&&"style"!==t)))}const activeTypes=["color","file","time","date","datetime-local","week","month"],makeVTextFieldProps=propsFactory({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...makeVInputProps(),...makeVFieldProps()},"VTextField"),VTextField=genericComponent()({name:"VTextField",directives:{Intersect:Intersect},inheritAttrs:!1,props:makeVTextFieldProps(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const l=useProxiedModel(t,"modelValue"),{isFocused:c,focus:u,blur:d}=useFocus(t),f=computed((()=>"function"==typeof t.counterValue?t.counterValue(l.value):"number"==typeof t.counterValue?t.counterValue:(l.value??"").toString().length)),m=computed((()=>i.maxlength?i.maxlength:!t.counter||"number"!=typeof t.counter&&"string"!=typeof t.counter?void 0:t.counter)),g=computed((()=>["plain","underlined"].includes(t.variant)));function v(n,i){t.autofocus&&n&&i[0].target?.focus?.()}const b=ref(),w=ref(),k=ref(),S=computed((()=>activeTypes.includes(t.type)||t.persistentPlaceholder||c.value||t.active));function C(){k.value!==document.activeElement&&k.value?.focus(),c.value||u()}function E(t){a("mousedown:control",t),t.target!==k.value&&(C(),t.preventDefault())}function T(t){C(),a("click:control",t)}function P(n){n.stopPropagation(),C(),nextTick$2((()=>{l.value=null,callEvent(t["onClick:clear"],n)}))}function I(n){const i=n.target;if(l.value=i.value,t.modelModifiers?.trim&&["text","search","password","tel","url"].includes(t.type)){const t=[i.selectionStart,i.selectionEnd];nextTick$2((()=>{i.selectionStart=t[0],i.selectionEnd=t[1]}))}}return useRender((()=>{const n=!!(s.counter||!1!==t.counter&&null!=t.counter),a=!(!n&&!s.details),[u,A]=filterInputAttrs(i),{modelValue:D,...O}=VInput.filterProps(t),_e=filterFieldProps(t);return createVNode(VInput,mergeProps({ref:b,modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,class:["v-text-field",{"v-text-field--prefixed":t.prefix,"v-text-field--suffixed":t.suffix,"v-input--plain-underlined":g.value},t.class],style:t.style},u,O,{centerAffix:!g.value,focused:c.value}),{...s,default:n=>{let{id:i,isDisabled:a,isDirty:u,isReadonly:f,isValid:m}=n;return createVNode(VField,mergeProps({ref:w,onMousedown:E,onClick:T,"onClick:clear":P,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"],role:t.role},_e,{id:i.value,active:S.value||u.value,dirty:u.value||t.dirty,disabled:a.value,focused:c.value,error:!1===m.value}),{...s,default:n=>{let{props:{class:i,...c}}=n;const u=withDirectives(createVNode("input",mergeProps({ref:k,value:l.value,onInput:I,autofocus:t.autofocus,readonly:f.value,disabled:a.value,name:t.name,placeholder:t.placeholder,size:1,type:t.type,onFocus:C,onBlur:d},c,A),null),[[resolveDirective("intersect"),{handler:v},null,{once:!0}]]);return createVNode(Fragment,null,[t.prefix&&createVNode("span",{class:"v-text-field__prefix"},[createVNode("span",{class:"v-text-field__prefix__text"},[t.prefix])]),s.default?createVNode("div",{class:i,"data-no-activator":""},[s.default(),u]):cloneVNode(u,{class:i}),t.suffix&&createVNode("span",{class:"v-text-field__suffix"},[createVNode("span",{class:"v-text-field__suffix__text"},[t.suffix])])])}})},details:a?i=>createVNode(Fragment,null,[s.details?.(i),n&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:t.persistentCounter||c.value,value:f.value,max:m.value,disabled:t.disabled},s.counter)])]):void 0})})),forwardRefs({},b,w,k)}}),makeVVirtualScrollItemProps=propsFactory({renderless:Boolean,...makeComponentProps()},"VVirtualScrollItem"),VVirtualScrollItem=genericComponent()({name:"VVirtualScrollItem",inheritAttrs:!1,props:makeVVirtualScrollItemProps(),emits:{"update:height":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{resizeRef:l,contentRect:c}=useResizeObserver(void 0,"border");watch((()=>c.value?.height),(t=>{null!=t&&a("update:height",t)})),useRender((()=>t.renderless?createVNode(Fragment,null,[s.default?.({itemRef:l})]):createVNode("div",mergeProps({ref:l,class:["v-virtual-scroll__item",t.class],style:t.style},i),[s.default?.()])))}}),UP=-1,DOWN=1,BUFFER_PX=100,makeVirtualProps=propsFactory({itemHeight:{type:[Number,String],default:null},height:[Number,String]},"virtual");function useVirtual(t,n){const i=useDisplay(),a=shallowRef(0);watchEffect((()=>{a.value=parseFloat(t.itemHeight||0)}));const s=shallowRef(0),l=shallowRef(Math.ceil((parseInt(t.height)||i.height.value)/(a.value||16))||1),c=shallowRef(0),u=shallowRef(0),d=ref(),f=ref();let m=0;const{resizeRef:g,contentRect:v}=useResizeObserver();watchEffect((()=>{g.value=d.value}));const b=computed((()=>d.value===document.documentElement?i.height.value:v.value?.height||parseInt(t.height)||0)),w=computed((()=>!!(d.value&&f.value&&b.value&&a.value)));let k=Array.from({length:n.value.length}),S=Array.from({length:n.value.length});const C=shallowRef(0);let E=-1;const T=debounce((()=>{const t=performance.now();S[0]=0;const i=n.value.length;for(let n=1;n<=i-1;n++)S[n]=(S[n-1]||0)+(k[n-1]||a.value);C.value=Math.max(C.value,performance.now()-t)}),C),P=watch(w,(t=>{t&&(P(),m=f.value.offsetTop,T.immediate(),$e(),~E&&nextTick$2((()=>{IN_BROWSER&&window.requestAnimationFrame((()=>{Ce(E),E=-1}))})))}));function I(t){return t=clamp(t,0,n.value.length-1),S[t]||0}function A(t){return binaryClosest(S,t)}onScopeDispose((()=>{T.clear()}));let D=0,O=0,_e=0;watch(b,((t,n)=>{n&&($e(),t<n&&requestAnimationFrame((()=>{O=0,$e()})))}));let be=-1;function we(){d.value&&f.value&&(O=0,_e=0,window.clearTimeout(be),$e())}let Se=-1;function $e(){cancelAnimationFrame(Se),Se=requestAnimationFrame(xe)}function xe(){if(!d.value||!b.value)return;const t=D-m,i=Math.sign(O),a=clamp(A(Math.max(0,t-BUFFER_PX)),0,n.value.length),f=clamp(A(t+b.value+BUFFER_PX)+1,a+1,n.value.length);if((i!==UP||a<s.value)&&(i!==DOWN||f>l.value)){const t=I(s.value)-I(a),i=I(f)-I(l.value);Math.max(t,i)>BUFFER_PX?(s.value=a,l.value=f):(a<=0&&(s.value=a),f>=n.value.length&&(l.value=f))}c.value=I(s.value),u.value=I(n.value.length)-I(l.value)}function Ce(t){const n=I(t);!d.value||t&&!n?E=t:d.value.scrollTop=n}const Ee=computed((()=>n.value.slice(s.value,l.value).map(((t,n)=>({raw:t,index:n+s.value,key:isObject$4(t)&&"value"in t?t.value:n+s.value})))));return watch(n,(()=>{k=Array.from({length:n.value.length}),S=Array.from({length:n.value.length}),T.immediate(),$e()}),{deep:!0}),{calculateVisibleItems:$e,containerRef:d,markerRef:f,computedItems:Ee,paddingTop:c,paddingBottom:u,scrollToIndex:Ce,handleScroll:function(){if(!d.value||!f.value)return;const t=d.value.scrollTop,n=performance.now();n-_e>500?(O=Math.sign(t-D),m=f.value.offsetTop):O=t-D,D=t,_e=n,window.clearTimeout(be),be=window.setTimeout(we,500),$e()},handleScrollend:we,handleItemResize:function(t,n){const i=k[t],s=a.value;a.value=s?Math.min(a.value,n):n,i===n&&s===a.value||(k[t]=n,T())}}}function binaryClosest(t,n){let i=t.length-1,a=0,s=0,l=null,c=-1;if(t[i]<n)return i;for(;a<=i;)if(s=a+i>>1,l=t[s],l>n)i=s-1;else{if(!(l<n))return l===n?s:a;c=s,a=s+1}return c}const makeVVirtualScrollProps=propsFactory({items:{type:Array,default:()=>[]},renderless:Boolean,...makeVirtualProps(),...makeComponentProps(),...makeDimensionProps()},"VVirtualScroll"),VVirtualScroll=genericComponent()({name:"VVirtualScroll",props:makeVVirtualScrollProps(),setup(t,n){let{slots:i}=n;const a=getCurrentInstance("VVirtualScroll"),{dimensionStyles:s}=useDimension(t),{calculateVisibleItems:l,containerRef:c,markerRef:u,handleScroll:d,handleScrollend:f,handleItemResize:m,scrollToIndex:g,paddingTop:v,paddingBottom:b,computedItems:w}=useVirtual(t,toRef(t,"items"));return useToggleScope((()=>t.renderless),(()=>{function t(){const t=arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"addEventListener":"removeEventListener";c.value===document.documentElement?(document[t]("scroll",d,{passive:!0}),document[t]("scrollend",f)):(c.value?.[t]("scroll",d,{passive:!0}),c.value?.[t]("scrollend",f))}onMounted((()=>{c.value=getScrollParent(a.vnode.el,!0),t(!0)})),onScopeDispose(t)})),useRender((()=>{const n=w.value.map((n=>createVNode(VVirtualScrollItem,{key:n.key,renderless:t.renderless,"onUpdate:height":t=>m(n.index,t)},{default:t=>i.default?.({item:n.raw,index:n.index,...t})})));return t.renderless?createVNode(Fragment,null,[createVNode("div",{ref:u,class:"v-virtual-scroll__spacer",style:{paddingTop:convertToUnit(v.value)}},null),n,createVNode("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:convertToUnit(b.value)}},null)]):createVNode("div",{ref:c,class:["v-virtual-scroll",t.class],onScrollPassive:d,onScrollend:f,style:[s.value,t.style]},[createVNode("div",{ref:u,class:"v-virtual-scroll__container",style:{paddingTop:convertToUnit(v.value),paddingBottom:convertToUnit(b.value)}},[n])])})),{calculateVisibleItems:l,scrollToIndex:g}}});function useScrolling(t,n){const i=shallowRef(!1);let a;return{onScrollPassive:function(t){cancelAnimationFrame(a),i.value=!0,a=requestAnimationFrame((()=>{a=requestAnimationFrame((()=>{i.value=!1}))}))},onKeydown:async function(a){if("Tab"===a.key&&n.value?.focus(),!["PageDown","PageUp","Home","End"].includes(a.key))return;const s=t.value?.$el;if(!s)return;"Home"!==a.key&&"End"!==a.key||s.scrollTo({top:"Home"===a.key?0:s.scrollHeight,behavior:"smooth"}),await async function(){await new Promise((t=>requestAnimationFrame(t))),await new Promise((t=>requestAnimationFrame(t))),await new Promise((t=>requestAnimationFrame(t))),await new Promise((t=>{if(i.value){const n=watch(i,(()=>{n(),t()}))}else t()}))}();const l=s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if("PageDown"===a.key||"Home"===a.key){const t=s.getBoundingClientRect().top;for(const n of l)if(n.getBoundingClientRect().top>=t){n.focus();break}}else{const t=s.getBoundingClientRect().bottom;for(const n of[...l].reverse())if(n.getBoundingClientRect().bottom<=t){n.focus();break}}}}}const makeSelectProps=propsFactory({chips:Boolean,closableChips:Boolean,closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"},eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:IconValue,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,...makeItemsProps({itemChildren:!1})},"Select"),makeVSelectProps=propsFactory({...makeSelectProps(),...omit(makeVTextFieldProps({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...makeTransitionProps({transition:{component:VDialogTransition}})},"VSelect"),VSelect=genericComponent()({name:"VSelect",props:makeVSelectProps(),emits:{"update:focused":t=>!0,"update:modelValue":t=>!0,"update:menu":t=>!0},setup(t,n){let{slots:i}=n;const{t:a}=useLocale(),s=ref(),l=ref(),c=ref(),u=useProxiedModel(t,"menu"),d=computed({get:()=>u.value,set:t=>{u.value&&!t&&l.value?.ΨopenChildren.size||(u.value=t)}}),{items:f,transformIn:m,transformOut:g}=useItems(t),v=useProxiedModel(t,"modelValue",[],(t=>m(null===t?[null]:wrapInArray(t))),(n=>{const i=g(n);return t.multiple?i:i[0]??null})),b=computed((()=>"function"==typeof t.counterValue?t.counterValue(v.value):"number"==typeof t.counterValue?t.counterValue:v.value.length)),w=useForm(t),k=computed((()=>v.value.map((t=>t.value)))),S=shallowRef(!1),C=computed((()=>d.value?t.closeText:t.openText));let E,T="";const P=computed((()=>t.hideSelected?f.value.filter((n=>!v.value.some((i=>(t.valueComparator||deepEqual)(i,n))))):f.value)),I=computed((()=>t.hideNoData&&!P.value.length||w.isReadonly.value||w.isDisabled.value)),A=computed((()=>({...t.menuProps,activatorProps:{...t.menuProps?.activatorProps||{},"aria-haspopup":"listbox"}}))),D=ref(),O=useScrolling(D,s);function _e(n){t.openOnClear&&(d.value=!0)}function be(){I.value||(d.value=!d.value)}function we(t){checkPrintable(t)&&Se(t)}function Se(t){if(!t.key||w.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"," "].includes(t.key)&&(d.value=!0),["Escape","Tab"].includes(t.key)&&(d.value=!1),"Home"===t.key?D.value?.focus("first"):"End"===t.key&&D.value?.focus("last");if(!checkPrintable(t))return;const n=performance.now();n-E>1e3&&(T=""),T+=t.key.toLowerCase(),E=n;const i=f.value.find((t=>t.title.toLowerCase().startsWith(T)));if(void 0!==i){v.value=[i];const t=P.value.indexOf(i);IN_BROWSER&&window.requestAnimationFrame((()=>{t>=0&&c.value?.scrollToIndex(t)}))}}function $e(n){let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!n.props.disabled)if(t.multiple){const a=v.value.findIndex((i=>(t.valueComparator||deepEqual)(i.value,n.value))),s=null==i?!~a:i;if(~a){const t=s?[...v.value,n]:[...v.value];t.splice(a,1),v.value=t}else s&&(v.value=[...v.value,n])}else{const t=!1!==i;v.value=t?[n]:[],nextTick$2((()=>{d.value=!1}))}}function xe(t){D.value?.$el.contains(t.relatedTarget)||(d.value=!1)}function Ce(){t.eager&&c.value?.calculateVisibleItems()}function Ee(){S.value&&s.value?.focus()}function Ne(t){S.value=!0}function Pe(t){if(null==t)v.value=[];else if(matchesSelector$2(s.value,":autofill")||matchesSelector$2(s.value,":-webkit-autofill")){const n=f.value.find((n=>n.title===t));n&&$e(n)}else s.value&&(s.value.value="")}return watch(d,(()=>{if(!t.hideSelected&&d.value&&v.value.length){const n=P.value.findIndex((n=>v.value.some((i=>(t.valueComparator||deepEqual)(i.value,n.value)))));IN_BROWSER&&window.requestAnimationFrame((()=>{n>=0&&c.value?.scrollToIndex(n)}))}})),watch((()=>t.items),((t,n)=>{d.value||S.value&&!n.length&&t.length&&(d.value=!0)})),useRender((()=>{const n=!(!t.chips&&!i.chip),u=!!(!t.hideNoData||P.value.length||i["prepend-item"]||i["append-item"]||i["no-data"]),f=v.value.length>0,m=VTextField.filterProps(t),g=f||!S.value&&t.label&&!t.persistentPlaceholder?void 0:t.placeholder;return createVNode(VTextField,mergeProps({ref:s},m,{modelValue:v.value.map((t=>t.props.value)).join(", "),"onUpdate:modelValue":Pe,focused:S.value,"onUpdate:focused":t=>S.value=t,validationValue:v.externalValue,counterValue:b.value,dirty:f,class:["v-select",{"v-select--active-menu":d.value,"v-select--chips":!!t.chips,["v-select--"+(t.multiple?"multiple":"single")]:!0,"v-select--selected":v.value.length,"v-select--selection-slot":!!i.selection},t.class],style:t.style,inputmode:"none",placeholder:g,"onClick:clear":_e,"onMousedown:control":be,onBlur:xe,onKeydown:Se,"aria-label":a(C.value),title:a(C.value)}),{...i,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:l,modelValue:d.value,"onUpdate:modelValue":t=>d.value=t,activator:"parent",contentClass:"v-select__content",disabled:I.value,eager:t.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:t.transition,onAfterEnter:Ce,onAfterLeave:Ee},A.value),{default:()=>[u&&createVNode(VList,mergeProps({ref:D,selected:k.value,selectStrategy:t.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:we,onFocusin:Ne,tabindex:"-1","aria-live":"polite",color:t.itemColor??t.color},O,t.listProps),{default:()=>[i["prepend-item"]?.(),!P.value.length&&!t.hideNoData&&(i["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:a(t.noDataText)},null)),createVNode(VVirtualScroll,{ref:c,renderless:!0,items:P.value},{default:n=>{let{item:a,index:s,itemRef:l}=n;const c=mergeProps(a.props,{ref:l,key:a.value,onClick:()=>$e(a,null)});return i.item?.({item:a,index:s,props:c})??createVNode(VListItem,mergeProps(c,{role:"option"}),{prepend:n=>{let{isSelected:i}=n;return createVNode(Fragment,null,[t.multiple&&!t.hideSelected?createVNode(VCheckboxBtn,{key:a.value,modelValue:i,ripple:!1,tabindex:"-1"},null):void 0,a.props.prependAvatar&&createVNode(VAvatar,{image:a.props.prependAvatar},null),a.props.prependIcon&&createVNode(VIcon,{icon:a.props.prependIcon},null)])}})}}),i["append-item"]?.()]})]}),v.value.map(((a,s)=>{function l(t){t.stopPropagation(),t.preventDefault(),$e(a,!1)}const c={"onClick:close":l,onKeydown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),l(t))},onMousedown(t){t.preventDefault(),t.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},u=n?!!i.chip:!!i.selection,d=u?ensureValidVNode(n?i.chip({item:a,index:s,props:c}):i.selection({item:a,index:s})):void 0;if(!u||d)return createVNode("div",{key:a.value,class:"v-select__selection"},[n?i.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:t.closableChips,size:"small",text:a.title}}},{default:()=>[d]}):createVNode(VChip,mergeProps({key:"chip",closable:t.closableChips,size:"small",text:a.title,disabled:a.props.disabled},c),null):d??createVNode("span",{class:"v-select__selection-text"},[a.title,t.multiple&&s<v.value.length-1&&createVNode("span",{class:"v-select__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];return createVNode(Fragment,null,[i["append-inner"]?.(...a),t.menuIcon?createVNode(VIcon,{class:"v-select__menu-icon",icon:t.menuIcon},null):void 0])}})})),forwardRefs({isFocused:S,menu:d,select:$e},s)}}),defaultFilter=(t,n,i)=>null==t||null==n?-1:t.toString().toLocaleLowerCase().indexOf(n.toString().toLocaleLowerCase()),makeFilterProps=propsFactory({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function filterItems(t,n,i){const a=[],s=i?.default??defaultFilter,l=!!i?.filterKeys&&wrapInArray(i.filterKeys),c=Object.keys(i?.customKeyFilter??{}).length;if(!t?.length)return a;e:for(let u=0;u<t.length;u++){const[d,f=d]=wrapInArray(t[u]),m={},g={};let v=-1;if((n||c>0)&&!i?.noFilter){if("object"==typeof d){const t=l||Object.keys(f);for(const a of t){const t=getPropertyFromItem(f,a),l=i?.customKeyFilter?.[a];if(v=l?l(t,n,d):s(t,n,d),-1!==v&&!1!==v)l?m[a]=v:g[a]=v;else if("every"===i?.filterMode)continue e}}else v=s(d,n,d),-1!==v&&!1!==v&&(g.title=v);const t=Object.keys(g).length,a=Object.keys(m).length;if(!t&&!a)continue;if("union"===i?.filterMode&&a!==c&&!t)continue;if("intersection"===i?.filterMode&&(a!==c||!t))continue}a.push({index:u,matches:{...g,...m}})}return a}function useFilter(t,n,i,a){const s=shallowRef([]),l=shallowRef(new Map),c=computed((()=>a?.transform?unref(n).map((t=>[t,a.transform(t)])):unref(n)));return watchEffect((()=>{const u="function"==typeof i?i():unref(i),d="string"!=typeof u&&"number"!=typeof u?"":String(u),f=filterItems(c.value,d,{customKeyFilter:{...t.customKeyFilter,...unref(a?.customKeyFilter)},default:t.customFilter,filterKeys:t.filterKeys,filterMode:t.filterMode,noFilter:t.noFilter}),m=unref(n),g=[],v=new Map;f.forEach((t=>{let{index:n,matches:i}=t;const a=m[n];g.push(a),v.set(a.value,i)})),s.value=g,l.value=v})),{filteredItems:s,filteredMatches:l,getMatches:function(t){return l.value.get(t.value)}}}function highlightResult$1(t,n,i){if(null==n)return t;if(Array.isArray(n))throw new Error("Multiple matches is not implemented");return"number"==typeof n&&~n?createVNode(Fragment,null,[createVNode("span",{class:"v-autocomplete__unmask"},[t.substr(0,n)]),createVNode("span",{class:"v-autocomplete__mask"},[t.substr(n,i)]),createVNode("span",{class:"v-autocomplete__unmask"},[t.substr(n+i)])]):t}const makeVAutocompleteProps=propsFactory({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...makeFilterProps({filterKeys:["title"]}),...makeSelectProps(),...omit(makeVTextFieldProps({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...makeTransitionProps({transition:!1})},"VAutocomplete"),VAutocomplete=genericComponent()({name:"VAutocomplete",props:makeVAutocompleteProps(),emits:{"update:focused":t=>!0,"update:search":t=>!0,"update:modelValue":t=>!0,"update:menu":t=>!0},setup(t,n){let{slots:i}=n;const{t:a}=useLocale(),s=ref(),l=shallowRef(!1),c=shallowRef(!0),u=shallowRef(!1),d=ref(),f=ref(),m=useProxiedModel(t,"menu"),g=computed({get:()=>m.value,set:t=>{m.value&&!t&&d.value?.ΨopenChildren.size||(m.value=t)}}),v=shallowRef(-1),b=computed((()=>s.value?.color)),w=computed((()=>g.value?t.closeText:t.openText)),{items:k,transformIn:S,transformOut:C}=useItems(t),{textColorClasses:E,textColorStyles:T}=useTextColor(b),P=useProxiedModel(t,"search",""),I=useProxiedModel(t,"modelValue",[],(t=>S(null===t?[null]:wrapInArray(t))),(n=>{const i=C(n);return t.multiple?i:i[0]??null})),A=computed((()=>"function"==typeof t.counterValue?t.counterValue(I.value):"number"==typeof t.counterValue?t.counterValue:I.value.length)),D=useForm(t),{filteredItems:O,getMatches:_e}=useFilter(t,k,(()=>c.value?"":P.value)),be=computed((()=>t.hideSelected?O.value.filter((t=>!I.value.some((n=>n.value===t.value)))):O.value)),we=computed((()=>!(!t.chips&&!i.chip))),Se=computed((()=>we.value||!!i.selection)),$e=computed((()=>I.value.map((t=>t.props.value)))),xe=computed((()=>(!0===t.autoSelectFirst||"exact"===t.autoSelectFirst&&P.value===be.value[0]?.title)&&be.value.length>0&&!c.value&&!u.value)),Ce=computed((()=>t.hideNoData&&!be.value.length||D.isReadonly.value||D.isDisabled.value)),Ee=ref(),Ne=useScrolling(Ee,s);function Pe(n){t.openOnClear&&(g.value=!0),P.value=""}function Ie(){Ce.value||(g.value=!0)}function Ae(t){Ce.value||(l.value&&(t.preventDefault(),t.stopPropagation()),g.value=!g.value)}function Me(t){" "!==t.key&&checkPrintable(t)&&s.value?.focus()}function Re(n){if(D.isReadonly.value)return;const i=s.value.selectionStart,a=I.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(n.key)&&n.preventDefault(),["Enter","ArrowDown"].includes(n.key)&&(g.value=!0),["Escape"].includes(n.key)&&(g.value=!1),xe.value&&["Enter","Tab"].includes(n.key)&&!I.value.some((t=>{let{value:n}=t;return n===be.value[0].value}))&&Ue(be.value[0]),"ArrowDown"===n.key&&xe.value&&Ee.value?.focus("next"),["Backspace","Delete"].includes(n.key)){if(!t.multiple&&Se.value&&I.value.length>0&&!P.value)return Ue(I.value[0],!1);if(~v.value){n.preventDefault();const t=v.value;Ue(I.value[v.value],!1),v.value=t>=a-1?a-2:t}else"Backspace"!==n.key||P.value||(v.value=a-1)}else if(t.multiple)if("ArrowLeft"===n.key){if(v.value<0&&i>0)return;const t=v.value>-1?v.value-1:a-1;I.value[t]?v.value=t:(v.value=-1,s.value.setSelectionRange(P.value?.length,P.value?.length))}else if("ArrowRight"===n.key){if(v.value<0)return;const t=v.value+1;I.value[t]?v.value=t:(v.value=-1,s.value.setSelectionRange(0,0))}else~v.value&&checkPrintable(n)&&(v.value=-1)}function De(t){if(matchesSelector$2(s.value,":autofill")||matchesSelector$2(s.value,":-webkit-autofill")){const n=k.value.find((n=>n.title===t.target.value));n&&Ue(n)}}function Oe(){t.eager&&f.value?.calculateVisibleItems()}function Ve(){l.value&&(c.value=!0,s.value?.focus())}function Be(t){l.value=!0,setTimeout((()=>{u.value=!0}))}function Le(t){u.value=!1}function Fe(n){null!=n&&(""!==n||t.multiple||Se.value)||(I.value=[])}const qe=shallowRef(!1);function Ue(n){let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(n&&!n.props.disabled)if(t.multiple){const a=I.value.findIndex((i=>(t.valueComparator||deepEqual)(i.value,n.value))),s=null==i?!~a:i;if(~a){const t=s?[...I.value,n]:[...I.value];t.splice(a,1),I.value=t}else s&&(I.value=[...I.value,n]);t.clearOnSelect&&(P.value="")}else{const t=!1!==i;I.value=t?[n]:[],P.value=t&&!Se.value?n.title:"",nextTick$2((()=>{g.value=!1,c.value=!0}))}}return watch(l,((n,i)=>{n!==i&&(n?(qe.value=!0,P.value=t.multiple||Se.value?"":String(I.value.at(-1)?.props.title??""),c.value=!0,nextTick$2((()=>qe.value=!1))):(t.multiple||null!=P.value||(I.value=[]),g.value=!1,I.value.some((t=>{let{title:n}=t;return n===P.value}))||(P.value=""),v.value=-1))})),watch(P,(t=>{l.value&&!qe.value&&(t&&(g.value=!0),c.value=!t)})),watch(g,(()=>{if(!t.hideSelected&&g.value&&I.value.length){const t=be.value.findIndex((t=>I.value.some((n=>t.value===n.value))));IN_BROWSER&&window.requestAnimationFrame((()=>{t>=0&&f.value?.scrollToIndex(t)}))}})),watch((()=>t.items),((t,n)=>{g.value||l.value&&!n.length&&t.length&&(g.value=!0)})),useRender((()=>{const n=!!(!t.hideNoData||be.value.length||i["prepend-item"]||i["append-item"]||i["no-data"]),u=I.value.length>0,m=VTextField.filterProps(t);return createVNode(VTextField,mergeProps({ref:s},m,{modelValue:P.value,"onUpdate:modelValue":[t=>P.value=t,Fe],focused:l.value,"onUpdate:focused":t=>l.value=t,validationValue:I.externalValue,counterValue:A.value,dirty:u,onChange:De,class:["v-autocomplete","v-autocomplete--"+(t.multiple?"multiple":"single"),{"v-autocomplete--active-menu":g.value,"v-autocomplete--chips":!!t.chips,"v-autocomplete--selection-slot":!!Se.value,"v-autocomplete--selecting-index":v.value>-1},t.class],style:t.style,readonly:D.isReadonly.value,placeholder:u?void 0:t.placeholder,"onClick:clear":Pe,"onMousedown:control":Ie,onKeydown:Re}),{...i,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:d,modelValue:g.value,"onUpdate:modelValue":t=>g.value=t,activator:"parent",contentClass:"v-autocomplete__content",disabled:Ce.value,eager:t.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:t.transition,onAfterEnter:Oe,onAfterLeave:Ve},t.menuProps),{default:()=>[n&&createVNode(VList,mergeProps({ref:Ee,selected:$e.value,selectStrategy:t.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:Me,onFocusin:Be,onFocusout:Le,tabindex:"-1","aria-live":"polite",color:t.itemColor??t.color},Ne,t.listProps),{default:()=>[i["prepend-item"]?.(),!be.value.length&&!t.hideNoData&&(i["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:a(t.noDataText)},null)),createVNode(VVirtualScroll,{ref:f,renderless:!0,items:be.value},{default:n=>{let{item:a,index:s,itemRef:l}=n;const u=mergeProps(a.props,{ref:l,key:a.value,active:!(!xe.value||0!==s)||void 0,onClick:()=>Ue(a,null)});return i.item?.({item:a,index:s,props:u})??createVNode(VListItem,mergeProps(u,{role:"option"}),{prepend:n=>{let{isSelected:i}=n;return createVNode(Fragment,null,[t.multiple&&!t.hideSelected?createVNode(VCheckboxBtn,{key:a.value,modelValue:i,ripple:!1,tabindex:"-1"},null):void 0,a.props.prependAvatar&&createVNode(VAvatar,{image:a.props.prependAvatar},null),a.props.prependIcon&&createVNode(VIcon,{icon:a.props.prependIcon},null)])},title:()=>c.value?a.title:highlightResult$1(a.title,_e(a)?.title,P.value?.length??0)})}}),i["append-item"]?.()]})]}),I.value.map(((n,a)=>{function s(t){t.stopPropagation(),t.preventDefault(),Ue(n,!1)}const l={"onClick:close":s,onKeydown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),s(t))},onMousedown(t){t.preventDefault(),t.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},c=we.value?!!i.chip:!!i.selection,u=c?ensureValidVNode(we.value?i.chip({item:n,index:a,props:l}):i.selection({item:n,index:a})):void 0;if(!c||u)return createVNode("div",{key:n.value,class:["v-autocomplete__selection",a===v.value&&["v-autocomplete__selection--selected",E.value]],style:a===v.value?T.value:{}},[we.value?i.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:t.closableChips,size:"small",text:n.title}}},{default:()=>[u]}):createVNode(VChip,mergeProps({key:"chip",closable:t.closableChips,size:"small",text:n.title,disabled:n.props.disabled},l),null):u??createVNode("span",{class:"v-autocomplete__selection-text"},[n.title,t.multiple&&a<I.value.length-1&&createVNode("span",{class:"v-autocomplete__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var n=arguments.length,s=new Array(n),l=0;l<n;l++)s[l]=arguments[l];return createVNode(Fragment,null,[i["append-inner"]?.(...s),t.menuIcon?createVNode(VIcon,{class:"v-autocomplete__menu-icon",icon:t.menuIcon,onMousedown:Ae,onClick:noop$2,"aria-label":a(w.value),title:a(w.value),tabindex:"-1"},null):void 0])}})})),forwardRefs({isFocused:l,isPristine:c,menu:g,search:P,filteredItems:O,select:Ue},s)}}),makeVBadgeProps=propsFactory({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:IconValue,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...makeComponentProps(),...makeLocationProps({location:"top end"}),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeTransitionProps({transition:"scale-rotate-transition"})},"VBadge"),VBadge=genericComponent()({name:"VBadge",inheritAttrs:!1,props:makeVBadgeProps(),setup(t,n){const{backgroundColorClasses:i,backgroundColorStyles:a}=useBackgroundColor(toRef(t,"color")),{roundedClasses:s}=useRounded(t),{t:l}=useLocale(),{textColorClasses:c,textColorStyles:u}=useTextColor(toRef(t,"textColor")),{themeClasses:d}=useTheme(),{locationStyles:f}=useLocation(t,!0,(n=>(t.floating?t.dot?2:4:t.dot?8:12)+(["top","bottom"].includes(n)?+(t.offsetY??0):["left","right"].includes(n)?+(t.offsetX??0):0)));return useRender((()=>{const m=Number(t.content),g=!t.max||isNaN(m)?t.content:m<=+t.max?m:`${t.max}+`,[v,b]=pickWithRest(n.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return createVNode(t.tag,mergeProps({class:["v-badge",{"v-badge--bordered":t.bordered,"v-badge--dot":t.dot,"v-badge--floating":t.floating,"v-badge--inline":t.inline},t.class]},b,{style:t.style}),{default:()=>[createVNode("div",{class:"v-badge__wrapper"},[n.slots.default?.(),createVNode(MaybeTransition,{transition:t.transition},{default:()=>[withDirectives(createVNode("span",mergeProps({class:["v-badge__badge",d.value,i.value,s.value,c.value],style:[a.value,u.value,t.inline?{}:f.value],"aria-atomic":"true","aria-label":l(t.label,m),"aria-live":"polite",role:"status"},v),[t.dot?void 0:n.slots.badge?n.slots.badge?.():t.icon?createVNode(VIcon,{icon:t.icon},null):g]),[[vShow,t.modelValue]])]})])]})})),{}}}),makeVBannerActionsProps=propsFactory({color:String,density:String,...makeComponentProps()},"VBannerActions"),VBannerActions=genericComponent()({name:"VBannerActions",props:makeVBannerActionsProps(),setup(t,n){let{slots:i}=n;return provideDefaults({VBtn:{color:t.color,density:t.density,slim:!0,variant:"text"}}),useRender((()=>createVNode("div",{class:["v-banner-actions",t.class],style:t.style},[i.default?.()]))),{}}}),VBannerText=createSimpleFunctional("v-banner-text"),makeVBannerProps=propsFactory({avatar:String,bgColor:String,color:String,icon:IconValue,lines:String,stacked:Boolean,sticky:Boolean,text:String,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeDisplayProps({mobile:null}),...makeElevationProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},"VBanner"),VBanner=genericComponent()({name:"VBanner",props:makeVBannerProps(),setup(t,n){let{slots:i}=n;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(t,"bgColor"),{borderClasses:l}=useBorder(t),{densityClasses:c}=useDensity(t),{displayClasses:u,mobile:d}=useDisplay(t),{dimensionStyles:f}=useDimension(t),{elevationClasses:m}=useElevation(t),{locationStyles:g}=useLocation(t),{positionClasses:v}=usePosition(t),{roundedClasses:b}=useRounded(t),{themeClasses:w}=provideTheme(t),k=toRef(t,"color"),S=toRef(t,"density");provideDefaults({VBannerActions:{color:k,density:S}}),useRender((()=>{const n=!(!t.text&&!i.text),C=!(!t.avatar&&!t.icon),E=!(!C&&!i.prepend);return createVNode(t.tag,{class:["v-banner",{"v-banner--stacked":t.stacked||d.value,"v-banner--sticky":t.sticky,[`v-banner--${t.lines}-line`]:!!t.lines},w.value,a.value,l.value,c.value,u.value,m.value,v.value,b.value,t.class],style:[s.value,f.value,g.value,t.style],role:"banner"},{default:()=>[E&&createVNode("div",{key:"prepend",class:"v-banner__prepend"},[i.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!C,defaults:{VAvatar:{color:k.value,density:S.value,icon:t.icon,image:t.avatar}}},i.prepend):createVNode(VAvatar,{key:"prepend-avatar",color:k.value,density:S.value,icon:t.icon,image:t.avatar},null)]),createVNode("div",{class:"v-banner__content"},[n&&createVNode(VBannerText,{key:"text"},{default:()=>[i.text?.()??t.text]}),i.default?.()]),i.actions&&createVNode(VBannerActions,{key:"actions"},i.actions)]})}))}}),makeVBottomNavigationProps=propsFactory({baseColor:String,bgColor:String,color:String,grow:Boolean,mode:{type:String,validator:t=>!t||["horizontal","shift"].includes(t)},height:{type:[Number,String],default:56},active:{type:Boolean,default:!0},...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeElevationProps(),...makeRoundedProps(),...makeLayoutItemProps({name:"bottom-navigation"}),...makeTagProps({tag:"header"}),...makeGroupProps({selectedClass:"v-btn--selected"}),...makeThemeProps()},"VBottomNavigation"),VBottomNavigation=genericComponent()({name:"VBottomNavigation",props:makeVBottomNavigationProps(),emits:{"update:active":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{themeClasses:a}=useTheme(),{borderClasses:s}=useBorder(t),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(t,"bgColor")),{densityClasses:u}=useDensity(t),{elevationClasses:d}=useElevation(t),{roundedClasses:f}=useRounded(t),{ssrBootStyles:m}=useSsrBoot(),g=computed((()=>Number(t.height)-("comfortable"===t.density?8:0)-("compact"===t.density?16:0))),v=useProxiedModel(t,"active",t.active),{layoutItemStyles:b}=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:computed((()=>"bottom")),layoutSize:computed((()=>v.value?g.value:0)),elementSize:g,active:v,absolute:toRef(t,"absolute")});return useGroup(t,VBtnToggleSymbol),provideDefaults({VBtn:{baseColor:toRef(t,"baseColor"),color:toRef(t,"color"),density:toRef(t,"density"),stacked:computed((()=>"horizontal"!==t.mode)),variant:"text"}},{scoped:!0}),useRender((()=>createVNode(t.tag,{class:["v-bottom-navigation",{"v-bottom-navigation--active":v.value,"v-bottom-navigation--grow":t.grow,"v-bottom-navigation--shift":"shift"===t.mode},a.value,l.value,s.value,u.value,d.value,f.value,t.class],style:[c.value,b.value,{height:convertToUnit(g.value)},m.value,t.style]},{default:()=>[i.default&&createVNode("div",{class:"v-bottom-navigation__content"},[i.default()])]}))),{}}}),makeVDialogProps=propsFactory({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...makeVOverlayProps({origin:"center center",scrollStrategy:"block",transition:{component:VDialogTransition},zIndex:2400})},"VDialog"),VDialog=genericComponent()({name:"VDialog",props:makeVDialogProps(),emits:{"update:modelValue":t=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useProxiedModel(t,"modelValue"),{scopeId:l}=useScopeId(),c=ref();function u(t){const n=t.relatedTarget,i=t.target;if(n!==i&&c.value?.contentEl&&c.value?.globalTop&&![document,c.value.contentEl].includes(i)&&!c.value.contentEl.contains(i)){const t=focusableChildren(c.value.contentEl);if(!t.length)return;const i=t[0],a=t[t.length-1];n===i?a.focus():i.focus()}}function d(){i("afterEnter"),c.value?.contentEl&&!c.value.contentEl.contains(document.activeElement)&&c.value.contentEl.focus({preventScroll:!0})}function f(){i("afterLeave")}return onBeforeUnmount((()=>{document.removeEventListener("focusin",u)})),IN_BROWSER&&watch((()=>s.value&&t.retainFocus),(t=>{t?document.addEventListener("focusin",u):document.removeEventListener("focusin",u)}),{immediate:!0}),watch(s,(async t=>{t||(await nextTick$2(),c.value.activatorEl?.focus({preventScroll:!0}))})),useRender((()=>{const n=VOverlay.filterProps(t),i=mergeProps({"aria-haspopup":"dialog"},t.activatorProps),u=mergeProps({tabindex:-1},t.contentProps);return createVNode(VOverlay,mergeProps({ref:c,class:["v-dialog",{"v-dialog--fullscreen":t.fullscreen,"v-dialog--scrollable":t.scrollable},t.class],style:t.style},n,{modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,"aria-modal":"true",activatorProps:i,contentProps:u,height:t.fullscreen?void 0:t.height,width:t.fullscreen?void 0:t.width,maxHeight:t.fullscreen?void 0:t.maxHeight,maxWidth:t.fullscreen?void 0:t.maxWidth,role:"dialog",onAfterEnter:d,onAfterLeave:f},l),{activator:a.activator,default:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return createVNode(VDefaultsProvider,{root:"VDialog"},{default:()=>[a.default?.(...n)]})}})})),forwardRefs({},c)}}),makeVBottomSheetProps=propsFactory({inset:Boolean,...makeVDialogProps({transition:"bottom-sheet-transition"})},"VBottomSheet"),VBottomSheet=genericComponent()({name:"VBottomSheet",props:makeVBottomSheetProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue");return useRender((()=>{const n=VDialog.filterProps(t);return createVNode(VDialog,mergeProps(n,{contentClass:["v-bottom-sheet__content",t.contentClass],modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,class:["v-bottom-sheet",{"v-bottom-sheet--inset":t.inset},t.class],style:t.style}),i)})),{}}}),makeVBreadcrumbsDividerProps=propsFactory({divider:[Number,String],...makeComponentProps()},"VBreadcrumbsDivider"),VBreadcrumbsDivider=genericComponent()({name:"VBreadcrumbsDivider",props:makeVBreadcrumbsDividerProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode("li",{"aria-hidden":"true",class:["v-breadcrumbs-divider",t.class],style:t.style},[i?.default?.()??t.divider]))),{}}}),makeVBreadcrumbsItemProps=propsFactory({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...makeComponentProps(),...makeRouterProps(),...makeTagProps({tag:"li"})},"VBreadcrumbsItem"),VBreadcrumbsItem=genericComponent()({name:"VBreadcrumbsItem",props:makeVBreadcrumbsItemProps(),setup(t,n){let{slots:i,attrs:a}=n;const s=useLink(t,a),l=computed((()=>t.active||s.isActive?.value)),c=computed((()=>l.value?t.activeColor:t.color)),{textColorClasses:u,textColorStyles:d}=useTextColor(c);return useRender((()=>createVNode(t.tag,{class:["v-breadcrumbs-item",{"v-breadcrumbs-item--active":l.value,"v-breadcrumbs-item--disabled":t.disabled,[`${t.activeClass}`]:l.value&&t.activeClass},u.value,t.class],style:[d.value,t.style],"aria-current":l.value?"page":void 0},{default:()=>[s.isLink.value?createVNode("a",mergeProps({class:"v-breadcrumbs-item--link",onClick:s.navigate},s.linkProps),[i.default?.()??t.title]):i.default?.()??t.title]}))),{}}}),makeVBreadcrumbsProps=propsFactory({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:"/"},icon:IconValue,items:{type:Array,default:()=>[]},...makeComponentProps(),...makeDensityProps(),...makeRoundedProps(),...makeTagProps({tag:"ul"})},"VBreadcrumbs"),VBreadcrumbs=genericComponent()({name:"VBreadcrumbs",props:makeVBreadcrumbsProps(),setup(t,n){let{slots:i}=n;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(t,"bgColor")),{densityClasses:l}=useDensity(t),{roundedClasses:c}=useRounded(t);provideDefaults({VBreadcrumbsDivider:{divider:toRef(t,"divider")},VBreadcrumbsItem:{activeClass:toRef(t,"activeClass"),activeColor:toRef(t,"activeColor"),color:toRef(t,"color"),disabled:toRef(t,"disabled")}});const u=computed((()=>t.items.map((t=>"string"==typeof t?{item:{title:t},raw:t}:{item:t,raw:t}))));return useRender((()=>{const n=!(!i.prepend&&!t.icon);return createVNode(t.tag,{class:["v-breadcrumbs",a.value,l.value,c.value,t.class],style:[s.value,t.style]},{default:()=>[n&&createVNode("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[i.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!t.icon,defaults:{VIcon:{icon:t.icon,start:!0}}},i.prepend):createVNode(VIcon,{key:"prepend-icon",start:!0,icon:t.icon},null)]),u.value.map(((t,n,a)=>{let{item:s,raw:l}=t;return createVNode(Fragment,null,[i.item?.({item:s,index:n})??createVNode(VBreadcrumbsItem,mergeProps({key:n,disabled:n>=a.length-1},"string"==typeof s?{title:s}:s),{default:i.title?()=>i.title?.({item:s,index:n}):void 0}),n<a.length-1&&createVNode(VBreadcrumbsDivider,null,{default:i.divider?()=>i.divider?.({item:l,index:n}):void 0})])})),i.default?.()]})})),{}}}),VCardActions=genericComponent()({name:"VCardActions",props:makeComponentProps(),setup(t,n){let{slots:i}=n;return provideDefaults({VBtn:{slim:!0,variant:"text"}}),useRender((()=>createVNode("div",{class:["v-card-actions",t.class],style:t.style},[i.default?.()]))),{}}}),makeVCardSubtitleProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VCardSubtitle"),VCardSubtitle=genericComponent()({name:"VCardSubtitle",props:makeVCardSubtitleProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(t.tag,{class:["v-card-subtitle",t.class],style:[{"--v-card-subtitle-opacity":t.opacity},t.style]},i))),{}}}),VCardTitle=createSimpleFunctional("v-card-title"),makeCardItemProps=propsFactory({appendAvatar:String,appendIcon:IconValue,prependAvatar:String,prependIcon:IconValue,subtitle:[String,Number],title:[String,Number],...makeComponentProps(),...makeDensityProps()},"VCardItem"),VCardItem=genericComponent()({name:"VCardItem",props:makeCardItemProps(),setup(t,n){let{slots:i}=n;return useRender((()=>{const n=!(!t.prependAvatar&&!t.prependIcon),a=!(!n&&!i.prepend),s=!(!t.appendAvatar&&!t.appendIcon),l=!(!s&&!i.append),c=!(null==t.title&&!i.title),u=!(null==t.subtitle&&!i.subtitle);return createVNode("div",{class:["v-card-item",t.class],style:t.style},[a&&createVNode("div",{key:"prepend",class:"v-card-item__prepend"},[i.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!n,defaults:{VAvatar:{density:t.density,image:t.prependAvatar},VIcon:{density:t.density,icon:t.prependIcon}}},i.prepend):createVNode(Fragment,null,[t.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",density:t.density,image:t.prependAvatar},null),t.prependIcon&&createVNode(VIcon,{key:"prepend-icon",density:t.density,icon:t.prependIcon},null)])]),createVNode("div",{class:"v-card-item__content"},[c&&createVNode(VCardTitle,{key:"title"},{default:()=>[i.title?.()??t.title]}),u&&createVNode(VCardSubtitle,{key:"subtitle"},{default:()=>[i.subtitle?.()??t.subtitle]}),i.default?.()]),l&&createVNode("div",{key:"append",class:"v-card-item__append"},[i.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!s,defaults:{VAvatar:{density:t.density,image:t.appendAvatar},VIcon:{density:t.density,icon:t.appendIcon}}},i.append):createVNode(Fragment,null,[t.appendIcon&&createVNode(VIcon,{key:"append-icon",density:t.density,icon:t.appendIcon},null),t.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",density:t.density,image:t.appendAvatar},null)])])])})),{}}}),makeVCardTextProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VCardText"),VCardText=genericComponent()({name:"VCardText",props:makeVCardTextProps(),setup(t,n){let{slots:i}=n;return useRender((()=>createVNode(t.tag,{class:["v-card-text",t.class],style:[{"--v-card-text-opacity":t.opacity},t.style]},i))),{}}}),makeVCardProps=propsFactory({appendAvatar:String,appendIcon:IconValue,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:IconValue,ripple:{type:[Boolean,Object],default:!0},subtitle:[String,Number],text:[String,Number],title:[String,Number],...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),...makeLoaderProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeRouterProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"elevated"})},"VCard"),VCard=genericComponent()({name:"VCard",directives:{Ripple:Ripple},props:makeVCardProps(),setup(t,n){let{attrs:i,slots:a}=n;const{themeClasses:s}=provideTheme(t),{borderClasses:l}=useBorder(t),{colorClasses:c,colorStyles:u,variantClasses:d}=useVariant(t),{densityClasses:f}=useDensity(t),{dimensionStyles:m}=useDimension(t),{elevationClasses:g}=useElevation(t),{loaderClasses:v}=useLoader(t),{locationStyles:b}=useLocation(t),{positionClasses:w}=usePosition(t),{roundedClasses:k}=useRounded(t),S=useLink(t,i),C=computed((()=>!1!==t.link&&S.isLink.value)),E=computed((()=>!t.disabled&&!1!==t.link&&(t.link||S.isClickable.value)));return useRender((()=>{const n=C.value?"a":t.tag,i=!(!a.title&&null==t.title),T=!(!a.subtitle&&null==t.subtitle),P=i||T,I=!!(a.append||t.appendAvatar||t.appendIcon),A=!!(a.prepend||t.prependAvatar||t.prependIcon),D=!(!a.image&&!t.image),O=P||A||I,_e=!(!a.text&&null==t.text);return withDirectives(createVNode(n,mergeProps({class:["v-card",{"v-card--disabled":t.disabled,"v-card--flat":t.flat,"v-card--hover":t.hover&&!(t.disabled||t.flat),"v-card--link":E.value},s.value,l.value,c.value,f.value,g.value,v.value,w.value,k.value,d.value,t.class],style:[u.value,m.value,b.value,t.style],onClick:E.value&&S.navigate,tabindex:t.disabled?-1:void 0},S.linkProps),{default:()=>[D&&createVNode("div",{key:"image",class:"v-card__image"},[a.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!t.image,defaults:{VImg:{cover:!0,src:t.image}}},a.image):createVNode(VImg,{key:"image-img",cover:!0,src:t.image},null)]),createVNode(LoaderSlot,{name:"v-card",active:!!t.loading,color:"boolean"==typeof t.loading?void 0:t.loading},{default:a.loader}),O&&createVNode(VCardItem,{key:"item",prependAvatar:t.prependAvatar,prependIcon:t.prependIcon,title:t.title,subtitle:t.subtitle,appendAvatar:t.appendAvatar,appendIcon:t.appendIcon},{default:a.item,prepend:a.prepend,title:a.title,subtitle:a.subtitle,append:a.append}),_e&&createVNode(VCardText,{key:"text"},{default:()=>[a.text?.()??t.text]}),a.default?.(),a.actions&&createVNode(VCardActions,null,{default:a.actions}),genOverlays(E.value,"v-card")]}),[[resolveDirective("ripple"),E.value&&t.ripple]])})),{}}}),handleGesture=t=>{const{touchstartX:n,touchendX:i,touchstartY:a,touchendY:s}=t;t.offsetX=i-n,t.offsetY=s-a,Math.abs(t.offsetY)<.5*Math.abs(t.offsetX)&&(t.left&&i<n-16&&t.left(t),t.right&&i>n+16&&t.right(t)),Math.abs(t.offsetX)<.5*Math.abs(t.offsetY)&&(t.up&&s<a-16&&t.up(t),t.down&&s>a+16&&t.down(t))};function touchstart(t,n){const i=t.changedTouches[0];n.touchstartX=i.clientX,n.touchstartY=i.clientY,n.start?.({originalEvent:t,...n})}function touchend(t,n){const i=t.changedTouches[0];n.touchendX=i.clientX,n.touchendY=i.clientY,n.end?.({originalEvent:t,...n}),handleGesture(n)}function touchmove(t,n){const i=t.changedTouches[0];n.touchmoveX=i.clientX,n.touchmoveY=i.clientY,n.move?.({originalEvent:t,...n})}function createHandlers(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:t.left,right:t.right,up:t.up,down:t.down,start:t.start,move:t.move,end:t.end};return{touchstart:t=>touchstart(t,n),touchend:t=>touchend(t,n),touchmove:t=>touchmove(t,n)}}function mounted$3(t,n){const i=n.value,a=i?.parent?t.parentElement:t,s=i?.options??{passive:!0},l=n.instance?.$.uid;if(!a||!l)return;const c=createHandlers(n.value);a._touchHandlers=a._touchHandlers??Object.create(null),a._touchHandlers[l]=c,keys$6(c).forEach((t=>{a.addEventListener(t,c[t],s)}))}function unmounted$3(t,n){const i=n.value?.parent?t.parentElement:t,a=n.instance?.$.uid;if(!i?._touchHandlers||!a)return;const s=i._touchHandlers[a];keys$6(s).forEach((t=>{i.removeEventListener(t,s[t])})),delete i._touchHandlers[a]}const Touch={mounted:mounted$3,unmounted:unmounted$3},VWindowSymbol=Symbol.for("vuetify:v-window"),VWindowGroupSymbol=Symbol.for("vuetify:v-window-group"),makeVWindowProps=propsFactory({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:t=>"boolean"==typeof t||"hover"===t},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...makeComponentProps(),...makeTagProps(),...makeThemeProps()},"VWindow"),VWindow=genericComponent()({name:"VWindow",directives:{Touch:Touch},props:makeVWindowProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{isRtl:s}=useRtl(),{t:l}=useLocale(),c=useGroup(t,VWindowGroupSymbol),u=ref(),d=computed((()=>s.value?!t.reverse:t.reverse)),f=shallowRef(!1),m=computed((()=>`v-window-${"vertical"===t.direction?"y":"x"}${(d.value?!f.value:f.value)?"-reverse":""}-transition`)),g=shallowRef(0),v=ref(void 0),b=computed((()=>c.items.value.findIndex((t=>c.selected.value.includes(t.id)))));watch(b,((t,n)=>{const i=c.items.value.length,a=i-1;f.value=i<=2?t<n:t===a&&0===n||(0!==t||n!==a)&&t<n})),provide(VWindowSymbol,{transition:m,isReversed:f,transitionCount:g,transitionHeight:v,rootRef:u});const w=computed((()=>t.continuous||0!==b.value)),k=computed((()=>t.continuous||b.value!==c.items.value.length-1));function S(){w.value&&c.prev()}function C(){k.value&&c.next()}const E=computed((()=>{const n=[],a={icon:s.value?t.nextIcon:t.prevIcon,class:"v-window__"+(d.value?"right":"left"),onClick:c.prev,"aria-label":l("$vuetify.carousel.prev")};n.push(w.value?i.prev?i.prev({props:a}):createVNode(VBtn,a,null):createVNode("div",null,null));const u={icon:s.value?t.prevIcon:t.nextIcon,class:"v-window__"+(d.value?"left":"right"),onClick:c.next,"aria-label":l("$vuetify.carousel.next")};return n.push(k.value?i.next?i.next({props:u}):createVNode(VBtn,u,null):createVNode("div",null,null)),n})),T=computed((()=>{if(!1===t.touch)return t.touch;return{...{left:()=>{d.value?S():C()},right:()=>{d.value?C():S()},start:t=>{let{originalEvent:n}=t;n.stopPropagation()}},...!0===t.touch?{}:t.touch}}));return useRender((()=>withDirectives(createVNode(t.tag,{ref:u,class:["v-window",{"v-window--show-arrows-on-hover":"hover"===t.showArrows},a.value,t.class],style:t.style},{default:()=>[createVNode("div",{class:"v-window__container",style:{height:v.value}},[i.default?.({group:c}),!1!==t.showArrows&&createVNode("div",{class:"v-window__controls"},[E.value])]),i.additional?.({group:c})]}),[[resolveDirective("touch"),T.value]]))),{group:c}}}),makeVCarouselProps=propsFactory({color:String,cycle:Boolean,delimiterIcon:{type:IconValue,default:"$delimiter"},height:{type:[Number,String],default:500},hideDelimiters:Boolean,hideDelimiterBackground:Boolean,interval:{type:[Number,String],default:6e3,validator:t=>Number(t)>0},progress:[Boolean,String],verticalDelimiters:[Boolean,String],...makeVWindowProps({continuous:!0,mandatory:"force",showArrows:!0})},"VCarousel"),VCarousel=genericComponent()({name:"VCarousel",props:makeVCarouselProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{t:s}=useLocale(),l=ref();let c=-1;function u(){t.cycle&&l.value&&(c=window.setTimeout(l.value.group.next,+t.interval>0?+t.interval:6e3))}function d(){window.clearTimeout(c),window.requestAnimationFrame(u)}return watch(a,d),watch((()=>t.interval),d),watch((()=>t.cycle),(t=>{t?d():window.clearTimeout(c)})),onMounted(u),useRender((()=>{const n=VWindow.filterProps(t);return createVNode(VWindow,mergeProps({ref:l},n,{modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,class:["v-carousel",{"v-carousel--hide-delimiter-background":t.hideDelimiterBackground,"v-carousel--vertical-delimiters":t.verticalDelimiters},t.class],style:[{height:convertToUnit(t.height)},t.style]}),{default:i.default,additional:n=>{let{group:l}=n;return createVNode(Fragment,null,[!t.hideDelimiters&&createVNode("div",{class:"v-carousel__controls",style:{left:"left"===t.verticalDelimiters&&t.verticalDelimiters?0:"auto",right:"right"===t.verticalDelimiters?0:"auto"}},[l.items.value.length>0&&createVNode(VDefaultsProvider,{defaults:{VBtn:{color:t.color,icon:t.delimiterIcon,size:"x-small",variant:"text"}},scoped:!0},{default:()=>[l.items.value.map(((t,n)=>{const a={id:`carousel-item-${t.id}`,"aria-label":s("$vuetify.carousel.ariaLabel.delimiter",n+1,l.items.value.length),class:["v-carousel__controls__item",l.isSelected(t.id)&&"v-btn--active"],onClick:()=>l.select(t.id,!0)};return i.item?i.item({props:a,item:t}):createVNode(VBtn,mergeProps(t,a),null)}))]})]),t.progress&&createVNode(VProgressLinear,{class:"v-carousel__progress",color:"string"==typeof t.progress?t.progress:void 0,modelValue:(l.getItemIndex(a.value)+1)/l.items.value.length*100},null)])},prev:i.prev,next:i.next})})),{}}}),makeVWindowItemProps=propsFactory({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...makeComponentProps(),...makeGroupItemProps(),...makeLazyProps()},"VWindowItem"),VWindowItem=genericComponent()({name:"VWindowItem",directives:{Touch:Touch},props:makeVWindowItemProps(),emits:{"group:selected":t=>!0},setup(t,n){let{slots:i}=n;const a=inject$1(VWindowSymbol),s=useGroupItem(t,VWindowGroupSymbol),{isBooted:l}=useSsrBoot();if(!a||!s)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const c=shallowRef(!1),u=computed((()=>l.value&&(a.isReversed.value?!1!==t.reverseTransition:!1!==t.transition)));function d(){c.value&&a&&(c.value=!1,a.transitionCount.value>0&&(a.transitionCount.value-=1,0===a.transitionCount.value&&(a.transitionHeight.value=void 0)))}function f(){!c.value&&a&&(c.value=!0,0===a.transitionCount.value&&(a.transitionHeight.value=convertToUnit(a.rootRef.value?.clientHeight)),a.transitionCount.value+=1)}function m(){d()}function g(t){c.value&&nextTick$2((()=>{u.value&&c.value&&a&&(a.transitionHeight.value=convertToUnit(t.clientHeight))}))}const v=computed((()=>{const n=a.isReversed.value?t.reverseTransition:t.transition;return!!u.value&&{name:"string"!=typeof n?a.transition.value:n,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:m,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:m,onEnter:g}})),{hasContent:b}=useLazy(t,s.isSelected);return useRender((()=>createVNode(MaybeTransition,{transition:v.value,disabled:!l.value},{default:()=>[withDirectives(createVNode("div",{class:["v-window-item",s.selectedClass.value,t.class],style:t.style},[b.value&&i.default?.()]),[[vShow,s.isSelected.value]])]}))),{groupItem:s}}}),makeVCarouselItemProps=propsFactory({...makeVImgProps(),...makeVWindowItemProps()},"VCarouselItem"),VCarouselItem=genericComponent()({name:"VCarouselItem",inheritAttrs:!1,props:makeVCarouselItemProps(),setup(t,n){let{slots:i,attrs:a}=n;useRender((()=>{const n=VImg.filterProps(t),s=VWindowItem.filterProps(t);return createVNode(VWindowItem,mergeProps({class:["v-carousel-item",t.class]},s),{default:()=>[createVNode(VImg,mergeProps(a,n),i)]})}))}}),VCode=createSimpleFunctional("v-code","code"),makeVColorPickerCanvasProps=propsFactory({color:{type:Object},disabled:Boolean,dotSize:{type:[Number,String],default:10},height:{type:[Number,String],default:150},width:{type:[Number,String],default:300},...makeComponentProps()},"VColorPickerCanvas"),VColorPickerCanvas=defineComponent({name:"VColorPickerCanvas",props:makeVColorPickerCanvasProps(),emits:{"update:color":t=>!0,"update:position":t=>!0},setup(t,n){let{emit:i}=n;const a=shallowRef(!1),s=ref(),l=shallowRef(parseFloat(t.width)),c=shallowRef(parseFloat(t.height)),u=ref({x:0,y:0}),d=computed({get:()=>u.value,set(n){if(!s.value)return;const{x:a,y:d}=n;u.value=n,i("update:color",{h:t.color?.h??0,s:clamp(a,0,l.value)/l.value,v:1-clamp(d,0,c.value)/c.value,a:t.color?.a??1})}}),f=computed((()=>{const{x:n,y:i}=d.value,a=parseInt(t.dotSize,10)/2;return{width:convertToUnit(t.dotSize),height:convertToUnit(t.dotSize),transform:`translate(${convertToUnit(n-a)}, ${convertToUnit(i-a)})`}})),{resizeRef:m}=useResizeObserver((t=>{if(!m.el?.offsetParent)return;const{width:n,height:i}=t[0].contentRect;l.value=n,c.value=i}));function g(n){"mousedown"===n.type&&n.preventDefault(),t.disabled||(v(n),window.addEventListener("mousemove",v),window.addEventListener("mouseup",b),window.addEventListener("touchmove",v),window.addEventListener("touchend",b))}function v(n){if(t.disabled||!s.value)return;a.value=!0;const i=getEventCoordinates(n);!function(t,n,i){const{left:a,top:s,width:l,height:c}=i;d.value={x:clamp(t-a,0,l),y:clamp(n-s,0,c)}}(i.clientX,i.clientY,s.value.getBoundingClientRect())}function b(){window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",b),window.removeEventListener("touchmove",v),window.removeEventListener("touchend",b)}function w(){if(!s.value)return;const n=s.value,i=n.getContext("2d");if(!i)return;const a=i.createLinearGradient(0,0,n.width,0);a.addColorStop(0,"hsla(0, 0%, 100%, 1)"),a.addColorStop(1,`hsla(${t.color?.h??0}, 100%, 50%, 1)`),i.fillStyle=a,i.fillRect(0,0,n.width,n.height);const l=i.createLinearGradient(0,0,0,n.height);l.addColorStop(0,"hsla(0, 0%, 0%, 0)"),l.addColorStop(1,"hsla(0, 0%, 0%, 1)"),i.fillStyle=l,i.fillRect(0,0,n.width,n.height)}return watch((()=>t.color?.h),w,{immediate:!0}),watch((()=>[l.value,c.value]),((t,n)=>{w(),u.value={x:d.value.x*t[0]/n[0],y:d.value.y*t[1]/n[1]}}),{flush:"post"}),watch((()=>t.color),(()=>{a.value?a.value=!1:u.value=t.color?{x:t.color.s*l.value,y:(1-t.color.v)*c.value}:{x:0,y:0}}),{deep:!0,immediate:!0}),onMounted((()=>w())),useRender((()=>createVNode("div",{ref:m,class:["v-color-picker-canvas",t.class],style:t.style,onMousedown:g,onTouchstartPassive:g},[createVNode("canvas",{ref:s,width:l.value,height:c.value},null),t.color&&createVNode("div",{class:["v-color-picker-canvas__dot",{"v-color-picker-canvas__dot--disabled":t.disabled}],style:f.value},null)]))),{}}});function stripAlpha(t,n){if(n){const{a:n,...i}=t;return i}return t}function extractColor(t,n){if(null==n||"string"==typeof n){const n=HSVtoHex(t);return 1===t.a?n.slice(0,7):n}if("object"==typeof n){let i;return has(n,["r","g","b"])?i=HSVtoRGB(t):has(n,["h","s","l"])?i=HSVtoHSL(t):has(n,["h","s","v"])&&(i=t),stripAlpha(i,!has(n,["a"])&&1===t.a)}return t}const nullColor={h:0,s:0,v:0,a:1},rgba={inputProps:{type:"number",min:0},inputs:[{label:"R",max:255,step:1,getValue:t=>Math.round(t.r),getColor:(t,n)=>({...t,r:Number(n)})},{label:"G",max:255,step:1,getValue:t=>Math.round(t.g),getColor:(t,n)=>({...t,g:Number(n)})},{label:"B",max:255,step:1,getValue:t=>Math.round(t.b),getColor:(t,n)=>({...t,b:Number(n)})},{label:"A",max:1,step:.01,getValue:t=>{let{a:n}=t;return null!=n?Math.round(100*n)/100:1},getColor:(t,n)=>({...t,a:Number(n)})}],to:HSVtoRGB,from:RGBtoHSV},rgb={...rgba,inputs:rgba.inputs?.slice(0,3)},hsla={inputProps:{type:"number",min:0},inputs:[{label:"H",max:360,step:1,getValue:t=>Math.round(t.h),getColor:(t,n)=>({...t,h:Number(n)})},{label:"S",max:1,step:.01,getValue:t=>Math.round(100*t.s)/100,getColor:(t,n)=>({...t,s:Number(n)})},{label:"L",max:1,step:.01,getValue:t=>Math.round(100*t.l)/100,getColor:(t,n)=>({...t,l:Number(n)})},{label:"A",max:1,step:.01,getValue:t=>{let{a:n}=t;return null!=n?Math.round(100*n)/100:1},getColor:(t,n)=>({...t,a:Number(n)})}],to:HSVtoHSL,from:HSLtoHSV},hsl={...hsla,inputs:hsla.inputs.slice(0,3)},hexa={inputProps:{type:"text"},inputs:[{label:"HEXA",getValue:t=>t,getColor:(t,n)=>n}],to:HSVtoHex,from:HexToHSV},hex={...hexa,inputs:[{label:"HEX",getValue:t=>t.slice(0,7),getColor:(t,n)=>n}]},modes={rgb:rgb,rgba:rgba,hsl:hsl,hsla:hsla,hex:hex,hexa:hexa},VColorPickerInput=t=>{let{label:n,...i}=t;return createVNode("div",{class:"v-color-picker-edit__input"},[createVNode("input",i,null),createVNode("span",null,[n])])},makeVColorPickerEditProps=propsFactory({color:Object,disabled:Boolean,mode:{type:String,default:"rgba",validator:t=>Object.keys(modes).includes(t)},modes:{type:Array,default:()=>Object.keys(modes),validator:t=>Array.isArray(t)&&t.every((t=>Object.keys(modes).includes(t)))},...makeComponentProps()},"VColorPickerEdit"),VColorPickerEdit=defineComponent({name:"VColorPickerEdit",props:makeVColorPickerEditProps(),emits:{"update:color":t=>!0,"update:mode":t=>!0},setup(t,n){let{emit:i}=n;const a=computed((()=>t.modes.map((t=>({...modes[t],name:t}))))),s=computed((()=>{const n=a.value.find((n=>n.name===t.mode));if(!n)return[];const s=t.color?n.to(t.color):null;return n.inputs?.map((a=>{let{getValue:l,getColor:c,...u}=a;return{...n.inputProps,...u,disabled:t.disabled,value:s&&l(s),onChange:t=>{const a=t.target;a&&i("update:color",n.from(c(s??n.to(nullColor),a.value)))}}}))}));return useRender((()=>createVNode("div",{class:["v-color-picker-edit",t.class],style:t.style},[s.value?.map((t=>createVNode(VColorPickerInput,t,null))),a.value.length>1&&createVNode(VBtn,{icon:"$unfold",size:"x-small",variant:"plain",onClick:()=>{const n=a.value.findIndex((n=>n.name===t.mode));i("update:mode",a.value[(n+1)%a.value.length].name)}},null)]))),{}}}),VSliderSymbol=Symbol.for("vuetify:v-slider");function getOffset(t,n,i){const a="vertical"===i,s=n.getBoundingClientRect(),l="touches"in t?t.touches[0]:t;return a?l.clientY-(s.top+s.height/2):l.clientX-(s.left+s.width/2)}function getPosition(t,n){return"touches"in t&&t.touches.length?t.touches[0][n]:"changedTouches"in t&&t.changedTouches.length?t.changedTouches[0][n]:t[n]}const makeSliderProps=propsFactory({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:t=>"boolean"==typeof t||"always"===t},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:t=>"boolean"==typeof t||"always"===t},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:t=>["vertical","horizontal"].includes(t)},reverse:Boolean,...makeRoundedProps(),...makeElevationProps({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),useSteps=t=>{const n=computed((()=>parseFloat(t.min))),i=computed((()=>parseFloat(t.max))),a=computed((()=>+t.step>0?parseFloat(t.step):0)),s=computed((()=>Math.max(getDecimals(a.value),getDecimals(n.value))));return{min:n,max:i,step:a,decimals:s,roundValue:function(t){if(t=parseFloat(t),a.value<=0)return t;const l=clamp(t,n.value,i.value),c=n.value%a.value,u=Math.round((l-c)/a.value)*a.value+c;return parseFloat(Math.min(u,i.value).toFixed(s.value))}}},useSlider=t=>{let{props:n,steps:i,onSliderStart:a,onSliderMove:s,onSliderEnd:l,getActiveThumb:c}=t;const{isRtl:u}=useRtl(),d=toRef(n,"reverse"),f=computed((()=>"vertical"===n.direction)),m=computed((()=>f.value!==d.value)),{min:g,max:v,step:b,decimals:w,roundValue:k}=i,S=computed((()=>parseInt(n.thumbSize,10))),C=computed((()=>parseInt(n.tickSize,10))),E=computed((()=>parseInt(n.trackSize,10))),T=computed((()=>(v.value-g.value)/b.value)),P=toRef(n,"disabled"),I=computed((()=>n.error||n.disabled?void 0:n.thumbColor??n.color)),A=computed((()=>n.error||n.disabled?void 0:n.trackColor??n.color)),D=computed((()=>n.error||n.disabled?void 0:n.trackFillColor??n.color)),O=shallowRef(!1),_e=shallowRef(0),be=ref(),we=ref();function Se(t){const i=be.value?.$el;if(!i)return;const a="vertical"===n.direction,s=a?"top":"left",l=a?"height":"width",c=a?"clientY":"clientX",{[s]:d,[l]:f}=i.getBoundingClientRect(),b=getPosition(t,c);let w=Math.min(Math.max((b-d-_e.value)/f,0),1)||0;return(a?m.value:m.value!==u.value)&&(w=1-w),k(g.value+w*(v.value-g.value))}const $e=t=>{const n=Se(t);null!=n&&l({value:n}),O.value=!1,_e.value=0},xe=t=>{const i=Se(t);we.value=c(t),we.value&&(O.value=!0,we.value.contains(t.target)?_e.value=getOffset(t,we.value,n.direction):(_e.value=0,null!=i&&s({value:i})),null!=i&&a({value:i}),nextTick$2((()=>we.value?.focus())))},Ce={passive:!0,capture:!0};function Ee(t){const n=Se(t);null!=n&&s({value:n})}function Ne(t){t.stopPropagation(),t.preventDefault(),$e(t),window.removeEventListener("mousemove",Ee,Ce),window.removeEventListener("mouseup",Ne)}function Pe(t){$e(t),window.removeEventListener("touchmove",Ee,Ce),t.target?.removeEventListener("touchend",Pe)}const Ie=t=>{const n=(t-g.value)/(v.value-g.value)*100;return clamp(isNaN(n)?0:n,0,100)},Ae=toRef(n,"showTicks"),Me=computed((()=>Ae.value?n.ticks?Array.isArray(n.ticks)?n.ticks.map((t=>({value:t,position:Ie(t),label:t.toString()}))):Object.keys(n.ticks).map((t=>({value:parseFloat(t),position:Ie(parseFloat(t)),label:n.ticks[t]}))):T.value!==1/0?createRange(T.value+1).map((t=>{const n=g.value+t*b.value;return{value:n,position:Ie(n)}})):[]:[])),Re=computed((()=>Me.value.some((t=>{let{label:n}=t;return!!n})))),De={activeThumbRef:we,color:toRef(n,"color"),decimals:w,disabled:P,direction:toRef(n,"direction"),elevation:toRef(n,"elevation"),hasLabels:Re,isReversed:d,indexFromEnd:m,min:g,max:v,mousePressed:O,numTicks:T,onSliderMousedown:function(t){0===t.button&&(t.preventDefault(),xe(t),window.addEventListener("mousemove",Ee,Ce),window.addEventListener("mouseup",Ne,{passive:!1}))},onSliderTouchstart:function(t){xe(t),window.addEventListener("touchmove",Ee,Ce),t.target?.addEventListener("touchend",Pe,{passive:!1})},parsedTicks:Me,parseMouseMove:Se,position:Ie,readonly:toRef(n,"readonly"),rounded:toRef(n,"rounded"),roundValue:k,showTicks:Ae,startOffset:_e,step:b,thumbSize:S,thumbColor:I,thumbLabel:toRef(n,"thumbLabel"),ticks:toRef(n,"ticks"),tickSize:C,trackColor:A,trackContainerRef:be,trackFillColor:D,trackSize:E,vertical:f};return provide(VSliderSymbol,De),De},makeVSliderThumbProps=propsFactory({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,...makeComponentProps()},"VSliderThumb"),VSliderThumb=genericComponent()({name:"VSliderThumb",directives:{Ripple:Ripple},props:makeVSliderThumbProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=inject$1(VSliderSymbol),{isRtl:l,rtlClasses:c}=useRtl();if(!s)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:u,step:d,disabled:f,thumbSize:m,thumbLabel:g,direction:v,isReversed:b,vertical:w,readonly:k,elevation:S,mousePressed:C,decimals:E,indexFromEnd:T}=s,P=computed((()=>f.value?void 0:S.value)),{elevationClasses:I}=useElevation(P),{textColorClasses:A,textColorStyles:D}=useTextColor(u),{pageup:O,pagedown:_e,end:be,home:we,left:Se,right:$e,down:xe,up:Ce}=keyValues,Ee=[O,_e,be,we,Se,$e,xe,Ce],Ne=computed((()=>d.value?[1,2,3]:[1,5,10]));function Pe(n){const i=function(n,i){if(!Ee.includes(n.key))return;n.preventDefault();const a=d.value||.1,s=(t.max-t.min)/a;if([Se,$e,xe,Ce].includes(n.key)){const t=(w.value?[l.value?Se:$e,b.value?xe:Ce]:T.value!==l.value?[Se,Ce]:[$e,Ce]).includes(n.key)?1:-1,s=n.shiftKey?2:n.ctrlKey?1:0;i+=t*a*Ne.value[s]}else n.key===we?i=t.min:n.key===be?i=t.max:i-=(n.key===_e?1:-1)*a*(s>100?s/10:10);return Math.max(t.min,Math.min(t.max,i))}(n,t.modelValue);null!=i&&a("update:modelValue",i)}return useRender((()=>{const n=convertToUnit(T.value?100-t.position:t.position,"%");return createVNode("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":t.focused,"v-slider-thumb--pressed":t.focused&&C.value},t.class,c.value],style:[{"--v-slider-thumb-position":n,"--v-slider-thumb-size":convertToUnit(m.value)},t.style],role:"slider",tabindex:f.value?-1:0,"aria-label":t.name,"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":t.modelValue,"aria-readonly":!!k.value,"aria-orientation":v.value,onKeydown:k.value?void 0:Pe},[createVNode("div",{class:["v-slider-thumb__surface",A.value,I.value],style:{...D.value}},null),withDirectives(createVNode("div",{class:["v-slider-thumb__ripple",A.value],style:D.value},null),[[resolveDirective("ripple"),t.ripple,null,{circle:!0,center:!0}]]),createVNode(VScaleTransition,{origin:"bottom center"},{default:()=>[withDirectives(createVNode("div",{class:"v-slider-thumb__label-container"},[createVNode("div",{class:["v-slider-thumb__label"]},[createVNode("div",null,[i["thumb-label"]?.({modelValue:t.modelValue})??t.modelValue.toFixed(d.value?E.value:1)])])]),[[vShow,g.value&&t.focused||"always"===g.value]])]})])})),{}}}),makeVSliderTrackProps=propsFactory({start:{type:Number,required:!0},stop:{type:Number,required:!0},...makeComponentProps()},"VSliderTrack"),VSliderTrack=genericComponent()({name:"VSliderTrack",props:makeVSliderTrackProps(),emits:{},setup(t,n){let{slots:i}=n;const a=inject$1(VSliderSymbol);if(!a)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:s,parsedTicks:l,rounded:c,showTicks:u,tickSize:d,trackColor:f,trackFillColor:m,trackSize:g,vertical:v,min:b,max:w,indexFromEnd:k}=a,{roundedClasses:S}=useRounded(c),{backgroundColorClasses:C,backgroundColorStyles:E}=useBackgroundColor(m),{backgroundColorClasses:T,backgroundColorStyles:P}=useBackgroundColor(f),I=computed((()=>`inset-${v.value?"block":"inline"}-${k.value?"end":"start"}`)),A=computed((()=>v.value?"height":"width")),D=computed((()=>({[I.value]:"0%",[A.value]:"100%"}))),O=computed((()=>t.stop-t.start)),_e=computed((()=>({[I.value]:convertToUnit(t.start,"%"),[A.value]:convertToUnit(O.value,"%")}))),be=computed((()=>{if(!u.value)return[];return(v.value?l.value.slice().reverse():l.value).map(((n,a)=>{const s=n.value!==b.value&&n.value!==w.value?convertToUnit(n.position,"%"):void 0;return createVNode("div",{key:n.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":n.position>=t.start&&n.position<=t.stop,"v-slider-track__tick--first":n.value===b.value,"v-slider-track__tick--last":n.value===w.value}],style:{[I.value]:s}},[(n.label||i["tick-label"])&&createVNode("div",{class:"v-slider-track__tick-label"},[i["tick-label"]?.({tick:n,index:a})??n.label])])}))}));return useRender((()=>createVNode("div",{class:["v-slider-track",S.value,t.class],style:[{"--v-slider-track-size":convertToUnit(g.value),"--v-slider-tick-size":convertToUnit(d.value)},t.style]},[createVNode("div",{class:["v-slider-track__background",T.value,{"v-slider-track__background--opacity":!!s.value||!m.value}],style:{...D.value,...P.value}},null),createVNode("div",{class:["v-slider-track__fill",C.value],style:{..._e.value,...E.value}},null),u.value&&createVNode("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":"always"===u.value}]},[be.value])]))),{}}}),makeVSliderProps=propsFactory({...makeFocusProps(),...makeSliderProps(),...makeVInputProps(),modelValue:{type:[Number,String],default:0}},"VSlider"),VSlider=genericComponent()({name:"VSlider",props:makeVSliderProps(),emits:{"update:focused":t=>!0,"update:modelValue":t=>!0,start:t=>!0,end:t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=ref(),{rtlClasses:l}=useRtl(),c=useSteps(t),u=useProxiedModel(t,"modelValue",void 0,(t=>c.roundValue(null==t?c.min.value:t))),{min:d,max:f,mousePressed:m,roundValue:g,onSliderMousedown:v,onSliderTouchstart:b,trackContainerRef:w,position:k,hasLabels:S,readonly:C}=useSlider({props:t,steps:c,onSliderStart:()=>{a("start",u.value)},onSliderEnd:t=>{let{value:n}=t;const i=g(n);u.value=i,a("end",i)},onSliderMove:t=>{let{value:n}=t;return u.value=g(n)},getActiveThumb:()=>s.value?.$el}),{isFocused:E,focus:T,blur:P}=useFocus(t),I=computed((()=>k(u.value)));return useRender((()=>{const n=VInput.filterProps(t),a=!!(t.label||i.label||i.prepend);return createVNode(VInput,mergeProps({class:["v-slider",{"v-slider--has-labels":!!i["tick-label"]||S.value,"v-slider--focused":E.value,"v-slider--pressed":m.value,"v-slider--disabled":t.disabled},l.value,t.class],style:t.style},n,{focused:E.value}),{...i,prepend:a?n=>createVNode(Fragment,null,[i.label?.(n)??(t.label?createVNode(VLabel,{id:n.id.value,class:"v-slider__label",text:t.label},null):void 0),i.prepend?.(n)]):void 0,default:n=>{let{id:a,messagesId:l}=n;return createVNode("div",{class:"v-slider__container",onMousedown:C.value?void 0:v,onTouchstartPassive:C.value?void 0:b},[createVNode("input",{id:a.value,name:t.name||a.value,disabled:!!t.disabled,readonly:!!t.readonly,tabindex:"-1",value:u.value},null),createVNode(VSliderTrack,{ref:w,start:0,stop:I.value},{"tick-label":i["tick-label"]}),createVNode(VSliderThumb,{ref:s,"aria-describedby":l.value,focused:E.value,min:d.value,max:f.value,modelValue:u.value,"onUpdate:modelValue":t=>u.value=t,position:I.value,elevation:t.elevation,onFocus:T,onBlur:P,ripple:t.ripple,name:t.name},{"thumb-label":i["thumb-label"]})])}})})),{}}}),makeVColorPickerPreviewProps=propsFactory({color:{type:Object},disabled:Boolean,hideAlpha:Boolean,...makeComponentProps()},"VColorPickerPreview"),VColorPickerPreview=defineComponent({name:"VColorPickerPreview",props:makeVColorPickerPreviewProps(),emits:{"update:color":t=>!0},setup(t,n){let{emit:i}=n;const a=new AbortController;async function s(){if(!SUPPORTS_EYE_DROPPER)return;const n=new window.EyeDropper;try{const s=RGBtoHSV(parseColor((await n.open({signal:a.signal})).sRGBHex));i("update:color",{...t.color??nullColor,...s})}catch(e){}}return onUnmounted((()=>a.abort())),useRender((()=>createVNode("div",{class:["v-color-picker-preview",{"v-color-picker-preview--hide-alpha":t.hideAlpha},t.class],style:t.style},[SUPPORTS_EYE_DROPPER&&createVNode("div",{class:"v-color-picker-preview__eye-dropper",key:"eyeDropper"},[createVNode(VBtn,{onClick:s,icon:"$eyeDropper",variant:"plain",density:"comfortable"},null)]),createVNode("div",{class:"v-color-picker-preview__dot"},[createVNode("div",{style:{background:HSVtoCSS(t.color??nullColor)}},null)]),createVNode("div",{class:"v-color-picker-preview__sliders"},[createVNode(VSlider,{class:"v-color-picker-preview__track v-color-picker-preview__hue",modelValue:t.color?.h,"onUpdate:modelValue":n=>i("update:color",{...t.color??nullColor,h:n}),step:0,min:0,max:360,disabled:t.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null),!t.hideAlpha&&createVNode(VSlider,{class:"v-color-picker-preview__track v-color-picker-preview__alpha",modelValue:t.color?.a??1,"onUpdate:modelValue":n=>i("update:color",{...t.color??nullColor,a:n}),step:1/256,min:0,max:1,disabled:t.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null)])]))),{}}}),red={base:"#f44336",lighten5:"#ffebee",lighten4:"#ffcdd2",lighten3:"#ef9a9a",lighten2:"#e57373",lighten1:"#ef5350",darken1:"#e53935",darken2:"#d32f2f",darken3:"#c62828",darken4:"#b71c1c",accent1:"#ff8a80",accent2:"#ff5252",accent3:"#ff1744",accent4:"#d50000"},pink={base:"#e91e63",lighten5:"#fce4ec",lighten4:"#f8bbd0",lighten3:"#f48fb1",lighten2:"#f06292",lighten1:"#ec407a",darken1:"#d81b60",darken2:"#c2185b",darken3:"#ad1457",darken4:"#880e4f",accent1:"#ff80ab",accent2:"#ff4081",accent3:"#f50057",accent4:"#c51162"},purple={base:"#9c27b0",lighten5:"#f3e5f5",lighten4:"#e1bee7",lighten3:"#ce93d8",lighten2:"#ba68c8",lighten1:"#ab47bc",darken1:"#8e24aa",darken2:"#7b1fa2",darken3:"#6a1b9a",darken4:"#4a148c",accent1:"#ea80fc",accent2:"#e040fb",accent3:"#d500f9",accent4:"#aa00ff"},deepPurple={base:"#673ab7",lighten5:"#ede7f6",lighten4:"#d1c4e9",lighten3:"#b39ddb",lighten2:"#9575cd",lighten1:"#7e57c2",darken1:"#5e35b1",darken2:"#512da8",darken3:"#4527a0",darken4:"#311b92",accent1:"#b388ff",accent2:"#7c4dff",accent3:"#651fff",accent4:"#6200ea"},indigo={base:"#3f51b5",lighten5:"#e8eaf6",lighten4:"#c5cae9",lighten3:"#9fa8da",lighten2:"#7986cb",lighten1:"#5c6bc0",darken1:"#3949ab",darken2:"#303f9f",darken3:"#283593",darken4:"#1a237e",accent1:"#8c9eff",accent2:"#536dfe",accent3:"#3d5afe",accent4:"#304ffe"},blue={base:"#2196f3",lighten5:"#e3f2fd",lighten4:"#bbdefb",lighten3:"#90caf9",lighten2:"#64b5f6",lighten1:"#42a5f5",darken1:"#1e88e5",darken2:"#1976d2",darken3:"#1565c0",darken4:"#0d47a1",accent1:"#82b1ff",accent2:"#448aff",accent3:"#2979ff",accent4:"#2962ff"},lightBlue={base:"#03a9f4",lighten5:"#e1f5fe",lighten4:"#b3e5fc",lighten3:"#81d4fa",lighten2:"#4fc3f7",lighten1:"#29b6f6",darken1:"#039be5",darken2:"#0288d1",darken3:"#0277bd",darken4:"#01579b",accent1:"#80d8ff",accent2:"#40c4ff",accent3:"#00b0ff",accent4:"#0091ea"},cyan={base:"#00bcd4",lighten5:"#e0f7fa",lighten4:"#b2ebf2",lighten3:"#80deea",lighten2:"#4dd0e1",lighten1:"#26c6da",darken1:"#00acc1",darken2:"#0097a7",darken3:"#00838f",darken4:"#006064",accent1:"#84ffff",accent2:"#18ffff",accent3:"#00e5ff",accent4:"#00b8d4"},teal={base:"#009688",lighten5:"#e0f2f1",lighten4:"#b2dfdb",lighten3:"#80cbc4",lighten2:"#4db6ac",lighten1:"#26a69a",darken1:"#00897b",darken2:"#00796b",darken3:"#00695c",darken4:"#004d40",accent1:"#a7ffeb",accent2:"#64ffda",accent3:"#1de9b6",accent4:"#00bfa5"},green={base:"#4caf50",lighten5:"#e8f5e9",lighten4:"#c8e6c9",lighten3:"#a5d6a7",lighten2:"#81c784",lighten1:"#66bb6a",darken1:"#43a047",darken2:"#388e3c",darken3:"#2e7d32",darken4:"#1b5e20",accent1:"#b9f6ca",accent2:"#69f0ae",accent3:"#00e676",accent4:"#00c853"},lightGreen={base:"#8bc34a",lighten5:"#f1f8e9",lighten4:"#dcedc8",lighten3:"#c5e1a5",lighten2:"#aed581",lighten1:"#9ccc65",darken1:"#7cb342",darken2:"#689f38",darken3:"#558b2f",darken4:"#33691e",accent1:"#ccff90",accent2:"#b2ff59",accent3:"#76ff03",accent4:"#64dd17"},lime={base:"#cddc39",lighten5:"#f9fbe7",lighten4:"#f0f4c3",lighten3:"#e6ee9c",lighten2:"#dce775",lighten1:"#d4e157",darken1:"#c0ca33",darken2:"#afb42b",darken3:"#9e9d24",darken4:"#827717",accent1:"#f4ff81",accent2:"#eeff41",accent3:"#c6ff00",accent4:"#aeea00"},yellow={base:"#ffeb3b",lighten5:"#fffde7",lighten4:"#fff9c4",lighten3:"#fff59d",lighten2:"#fff176",lighten1:"#ffee58",darken1:"#fdd835",darken2:"#fbc02d",darken3:"#f9a825",darken4:"#f57f17",accent1:"#ffff8d",accent2:"#ffff00",accent3:"#ffea00",accent4:"#ffd600"},amber={base:"#ffc107",lighten5:"#fff8e1",lighten4:"#ffecb3",lighten3:"#ffe082",lighten2:"#ffd54f",lighten1:"#ffca28",darken1:"#ffb300",darken2:"#ffa000",darken3:"#ff8f00",darken4:"#ff6f00",accent1:"#ffe57f",accent2:"#ffd740",accent3:"#ffc400",accent4:"#ffab00"},orange={base:"#ff9800",lighten5:"#fff3e0",lighten4:"#ffe0b2",lighten3:"#ffcc80",lighten2:"#ffb74d",lighten1:"#ffa726",darken1:"#fb8c00",darken2:"#f57c00",darken3:"#ef6c00",darken4:"#e65100",accent1:"#ffd180",accent2:"#ffab40",accent3:"#ff9100",accent4:"#ff6d00"},deepOrange={base:"#ff5722",lighten5:"#fbe9e7",lighten4:"#ffccbc",lighten3:"#ffab91",lighten2:"#ff8a65",lighten1:"#ff7043",darken1:"#f4511e",darken2:"#e64a19",darken3:"#d84315",darken4:"#bf360c",accent1:"#ff9e80",accent2:"#ff6e40",accent3:"#ff3d00",accent4:"#dd2c00"},brown={base:"#795548",lighten5:"#efebe9",lighten4:"#d7ccc8",lighten3:"#bcaaa4",lighten2:"#a1887f",lighten1:"#8d6e63",darken1:"#6d4c41",darken2:"#5d4037",darken3:"#4e342e",darken4:"#3e2723"},blueGrey={base:"#607d8b",lighten5:"#eceff1",lighten4:"#cfd8dc",lighten3:"#b0bec5",lighten2:"#90a4ae",lighten1:"#78909c",darken1:"#546e7a",darken2:"#455a64",darken3:"#37474f",darken4:"#263238"},grey={base:"#9e9e9e",lighten5:"#fafafa",lighten4:"#f5f5f5",lighten3:"#eeeeee",lighten2:"#e0e0e0",lighten1:"#bdbdbd",darken1:"#757575",darken2:"#616161",darken3:"#424242",darken4:"#212121"},shades={black:"#000000",white:"#ffffff",transparent:"#ffffff00"},colors={red:red,pink:pink,purple:purple,deepPurple:deepPurple,indigo:indigo,blue:blue,lightBlue:lightBlue,cyan:cyan,teal:teal,green:green,lightGreen:lightGreen,lime:lime,yellow:yellow,amber:amber,orange:orange,deepOrange:deepOrange,brown:brown,blueGrey:blueGrey,grey:grey,shades:shades},makeVColorPickerSwatchesProps=propsFactory({swatches:{type:Array,default:()=>parseDefaultColors(colors)},disabled:Boolean,color:Object,maxHeight:[Number,String],...makeComponentProps()},"VColorPickerSwatches");function parseDefaultColors(t){return Object.keys(t).map((n=>{const i=t[n];return i.base?[i.base,i.darken4,i.darken3,i.darken2,i.darken1,i.lighten1,i.lighten2,i.lighten3,i.lighten4,i.lighten5]:[i.black,i.white,i.transparent]}))}const VColorPickerSwatches=defineComponent({name:"VColorPickerSwatches",props:makeVColorPickerSwatchesProps(),emits:{"update:color":t=>!0},setup(t,n){let{emit:i}=n;return useRender((()=>createVNode("div",{class:["v-color-picker-swatches",t.class],style:[{maxHeight:convertToUnit(t.maxHeight)},t.style]},[createVNode("div",null,[t.swatches.map((n=>createVNode("div",{class:"v-color-picker-swatches__swatch"},[n.map((n=>{const a=parseColor(n),s=RGBtoHSV(a),l=RGBtoCSS(a);return createVNode("div",{class:"v-color-picker-swatches__color",onClick:()=>s&&i("update:color",s)},[createVNode("div",{style:{background:l}},[t.color&&deepEqual(t.color,s)?createVNode(VIcon,{size:"x-small",icon:"$success",color:getContrast(n,"#FFFFFF")>2?"white":"black"},null):void 0])])}))])))])]))),{}}}),makeVSheetProps=propsFactory({color:String,...makeBorderProps(),...makeComponentProps(),...makeDimensionProps(),...makeElevationProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},"VSheet"),VSheet=genericComponent()({name:"VSheet",props:makeVSheetProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(t,"color")),{borderClasses:c}=useBorder(t),{dimensionStyles:u}=useDimension(t),{elevationClasses:d}=useElevation(t),{locationStyles:f}=useLocation(t),{positionClasses:m}=usePosition(t),{roundedClasses:g}=useRounded(t);return useRender((()=>createVNode(t.tag,{class:["v-sheet",a.value,s.value,c.value,d.value,m.value,g.value,t.class],style:[l.value,u.value,f.value,t.style]},i))),{}}}),makeVColorPickerProps=propsFactory({canvasHeight:{type:[String,Number],default:150},disabled:Boolean,dotSize:{type:[Number,String],default:10},hideCanvas:Boolean,hideSliders:Boolean,hideInputs:Boolean,mode:{type:String,default:"rgba",validator:t=>Object.keys(modes).includes(t)},modes:{type:Array,default:()=>Object.keys(modes),validator:t=>Array.isArray(t)&&t.every((t=>Object.keys(modes).includes(t)))},showSwatches:Boolean,swatches:Array,swatchesMaxHeight:{type:[Number,String],default:150},modelValue:{type:[Object,String]},...omit(makeVSheetProps({width:300}),["height","location","minHeight","maxHeight","minWidth","maxWidth"])},"VColorPicker"),VColorPicker=defineComponent({name:"VColorPicker",props:makeVColorPickerProps(),emits:{"update:modelValue":t=>!0,"update:mode":t=>!0},setup(t){const n=useProxiedModel(t,"mode"),i=ref(null),a=useProxiedModel(t,"modelValue",void 0,(t=>{if(null==t||""===t)return null;let n;try{n=RGBtoHSV(parseColor(t))}catch(i){return null}return n}),(n=>n?extractColor(n,t.modelValue):null)),s=computed((()=>a.value?{...a.value,h:i.value??a.value.h}:null)),{rtlClasses:l}=useRtl();let c=!0;watch(a,(t=>{c?t&&(i.value=t.h):c=!0}),{immediate:!0});const u=t=>{c=!1,i.value=t.h,a.value=t};return onBeforeMount((()=>{t.modes.includes(n.value)||(n.value=t.modes[0])})),provideDefaults({VSlider:{color:void 0,trackColor:void 0,trackFillColor:void 0}}),useRender((()=>{const i=VSheet.filterProps(t);return createVNode(VSheet,mergeProps({rounded:t.rounded,elevation:t.elevation,theme:t.theme,class:["v-color-picker",l.value,t.class],style:[{"--v-color-picker-color-hsv":HSVtoCSS({...s.value??nullColor,a:1})},t.style]},i,{maxWidth:t.width}),{default:()=>[!t.hideCanvas&&createVNode(VColorPickerCanvas,{key:"canvas",color:s.value,"onUpdate:color":u,disabled:t.disabled,dotSize:t.dotSize,width:t.width,height:t.canvasHeight},null),(!t.hideSliders||!t.hideInputs)&&createVNode("div",{key:"controls",class:"v-color-picker__controls"},[!t.hideSliders&&createVNode(VColorPickerPreview,{key:"preview",color:s.value,"onUpdate:color":u,hideAlpha:!n.value.endsWith("a"),disabled:t.disabled},null),!t.hideInputs&&createVNode(VColorPickerEdit,{key:"edit",modes:t.modes,mode:n.value,"onUpdate:mode":t=>n.value=t,color:s.value,"onUpdate:color":u,disabled:t.disabled},null)]),t.showSwatches&&createVNode(VColorPickerSwatches,{key:"swatches",color:s.value,"onUpdate:color":u,maxHeight:t.swatchesMaxHeight,swatches:t.swatches,disabled:t.disabled},null)]})})),{}}});function highlightResult(t,n,i){if(null==n)return t;if(Array.isArray(n))throw new Error("Multiple matches is not implemented");return"number"==typeof n&&~n?createVNode(Fragment,null,[createVNode("span",{class:"v-combobox__unmask"},[t.substr(0,n)]),createVNode("span",{class:"v-combobox__mask"},[t.substr(n,i)]),createVNode("span",{class:"v-combobox__unmask"},[t.substr(n+i)])]):t}const makeVComboboxProps=propsFactory({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...makeFilterProps({filterKeys:["title"]}),...makeSelectProps({hideNoData:!0,returnObject:!0}),...omit(makeVTextFieldProps({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...makeTransitionProps({transition:!1})},"VCombobox"),VCombobox=genericComponent()({name:"VCombobox",props:makeVComboboxProps(),emits:{"update:focused":t=>!0,"update:modelValue":t=>!0,"update:search":t=>!0,"update:menu":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const{t:s}=useLocale(),l=ref(),c=shallowRef(!1),u=shallowRef(!0),d=shallowRef(!1),f=ref(),m=ref(),g=useProxiedModel(t,"menu"),v=computed({get:()=>g.value,set:t=>{g.value&&!t&&f.value?.ΨopenChildren.size||(g.value=t)}}),b=shallowRef(-1);let w=!1;const k=computed((()=>l.value?.color)),S=computed((()=>v.value?t.closeText:t.openText)),{items:C,transformIn:E,transformOut:T}=useItems(t),{textColorClasses:P,textColorStyles:I}=useTextColor(k),A=useProxiedModel(t,"modelValue",[],(t=>E(wrapInArray(t))),(n=>{const i=T(n);return t.multiple?i:i[0]??null})),D=useForm(t),O=computed((()=>!(!t.chips&&!a.chip))),_e=computed((()=>O.value||!!a.selection)),be=shallowRef(t.multiple||_e.value?"":A.value[0]?.title??""),we=computed({get:()=>be.value,set:n=>{if(be.value=n??"",t.multiple||_e.value||(A.value=[transformItem$3(t,n)]),n&&t.multiple&&t.delimiters?.length){const i=n.split(new RegExp(`(?:${t.delimiters.join("|")})+`));i.length>1&&(i.forEach((n=>{(n=n.trim())&&Fe(transformItem$3(t,n))})),be.value="")}n||(b.value=-1),u.value=!n}}),Se=computed((()=>"function"==typeof t.counterValue?t.counterValue(A.value):"number"==typeof t.counterValue?t.counterValue:t.multiple?A.value.length:we.value.length));watch(be,(t=>{w?nextTick$2((()=>w=!1)):c.value&&!v.value&&(v.value=!0),i("update:search",t)})),watch(A,(n=>{t.multiple||_e.value||(be.value=n[0]?.title??"")}));const{filteredItems:$e,getMatches:xe}=useFilter(t,C,(()=>u.value?"":we.value)),Ce=computed((()=>t.hideSelected?$e.value.filter((t=>!A.value.some((n=>n.value===t.value)))):$e.value)),Ee=computed((()=>A.value.map((t=>t.value)))),Ne=computed((()=>(!0===t.autoSelectFirst||"exact"===t.autoSelectFirst&&we.value===Ce.value[0]?.title)&&Ce.value.length>0&&!u.value&&!d.value)),Pe=computed((()=>t.hideNoData&&!Ce.value.length||D.isReadonly.value||D.isDisabled.value)),Ie=ref(),Ae=useScrolling(Ie,l);function Me(n){w=!0,t.openOnClear&&(v.value=!0)}function Re(){Pe.value||(v.value=!0)}function De(t){Pe.value||(c.value&&(t.preventDefault(),t.stopPropagation()),v.value=!v.value)}function Oe(t){" "!==t.key&&checkPrintable(t)&&l.value?.focus()}function Ve(n){if(isComposingIgnoreKey(n)||D.isReadonly.value)return;const i=l.value.selectionStart,a=A.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(n.key)&&n.preventDefault(),["Enter","ArrowDown"].includes(n.key)&&(v.value=!0),["Escape"].includes(n.key)&&(v.value=!1),["Enter","Escape","Tab"].includes(n.key)&&(Ne.value&&["Enter","Tab"].includes(n.key)&&!A.value.some((t=>{let{value:n}=t;return n===Ce.value[0].value}))&&Fe($e.value[0]),u.value=!0),"ArrowDown"===n.key&&Ne.value&&Ie.value?.focus("next"),"Enter"===n.key&&we.value&&(Fe(transformItem$3(t,we.value)),_e.value&&(be.value="")),["Backspace","Delete"].includes(n.key)){if(!t.multiple&&_e.value&&A.value.length>0&&!we.value)return Fe(A.value[0],!1);if(~b.value){n.preventDefault();const t=b.value;Fe(A.value[b.value],!1),b.value=t>=a-1?a-2:t}else"Backspace"!==n.key||we.value||(b.value=a-1)}else if(t.multiple)if("ArrowLeft"===n.key){if(b.value<0&&i>0)return;const t=b.value>-1?b.value-1:a-1;A.value[t]?b.value=t:(b.value=-1,l.value.setSelectionRange(we.value.length,we.value.length))}else if("ArrowRight"===n.key){if(b.value<0)return;const t=b.value+1;A.value[t]?b.value=t:(b.value=-1,l.value.setSelectionRange(0,0))}else~b.value&&checkPrintable(n)&&(b.value=-1)}function Be(){t.eager&&m.value?.calculateVisibleItems()}function Le(){c.value&&(u.value=!0,l.value?.focus())}function Fe(n){let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(n&&!n.props.disabled)if(t.multiple){const a=A.value.findIndex((i=>(t.valueComparator||deepEqual)(i.value,n.value))),s=null==i?!~a:i;if(~a){const t=s?[...A.value,n]:[...A.value];t.splice(a,1),A.value=t}else s&&(A.value=[...A.value,n]);t.clearOnSelect&&(we.value="")}else{const t=!1!==i;A.value=t?[n]:[],be.value=t&&!_e.value?n.title:"",nextTick$2((()=>{v.value=!1,u.value=!0}))}}function qe(t){c.value=!0,setTimeout((()=>{d.value=!0}))}function Ue(t){d.value=!1}function je(n){null!=n&&(""!==n||t.multiple||_e.value)||(A.value=[])}return watch(c,((n,i)=>{if(!n&&n!==i&&(b.value=-1,v.value=!1,we.value)){if(t.multiple)return void Fe(transformItem$3(t,we.value));if(!_e.value)return;A.value.some((t=>{let{title:n}=t;return n===we.value}))?be.value="":Fe(transformItem$3(t,we.value))}})),watch(v,(()=>{if(!t.hideSelected&&v.value&&A.value.length){const n=Ce.value.findIndex((n=>A.value.some((i=>(t.valueComparator||deepEqual)(i.value,n.value)))));IN_BROWSER&&window.requestAnimationFrame((()=>{n>=0&&m.value?.scrollToIndex(n)}))}})),watch((()=>t.items),((t,n)=>{v.value||c.value&&!n.length&&t.length&&(v.value=!0)})),useRender((()=>{const n=!!(!t.hideNoData||Ce.value.length||a["prepend-item"]||a["append-item"]||a["no-data"]),i=A.value.length>0,d=VTextField.filterProps(t);return createVNode(VTextField,mergeProps({ref:l},d,{modelValue:we.value,"onUpdate:modelValue":[t=>we.value=t,je],focused:c.value,"onUpdate:focused":t=>c.value=t,validationValue:A.externalValue,counterValue:Se.value,dirty:i,class:["v-combobox",{"v-combobox--active-menu":v.value,"v-combobox--chips":!!t.chips,"v-combobox--selection-slot":!!_e.value,"v-combobox--selecting-index":b.value>-1,["v-combobox--"+(t.multiple?"multiple":"single")]:!0},t.class],style:t.style,readonly:D.isReadonly.value,placeholder:i?void 0:t.placeholder,"onClick:clear":Me,"onMousedown:control":Re,onKeydown:Ve}),{...a,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:f,modelValue:v.value,"onUpdate:modelValue":t=>v.value=t,activator:"parent",contentClass:"v-combobox__content",disabled:Pe.value,eager:t.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:t.transition,onAfterEnter:Be,onAfterLeave:Le},t.menuProps),{default:()=>[n&&createVNode(VList,mergeProps({ref:Ie,selected:Ee.value,selectStrategy:t.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:Oe,onFocusin:qe,onFocusout:Ue,tabindex:"-1","aria-live":"polite",color:t.itemColor??t.color},Ae,t.listProps),{default:()=>[a["prepend-item"]?.(),!Ce.value.length&&!t.hideNoData&&(a["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:s(t.noDataText)},null)),createVNode(VVirtualScroll,{ref:m,renderless:!0,items:Ce.value},{default:n=>{let{item:i,index:s,itemRef:l}=n;const c=mergeProps(i.props,{ref:l,key:i.value,active:!(!Ne.value||0!==s)||void 0,onClick:()=>Fe(i,null)});return a.item?.({item:i,index:s,props:c})??createVNode(VListItem,mergeProps(c,{role:"option"}),{prepend:n=>{let{isSelected:a}=n;return createVNode(Fragment,null,[t.multiple&&!t.hideSelected?createVNode(VCheckboxBtn,{key:i.value,modelValue:a,ripple:!1,tabindex:"-1"},null):void 0,i.props.prependAvatar&&createVNode(VAvatar,{image:i.props.prependAvatar},null),i.props.prependIcon&&createVNode(VIcon,{icon:i.props.prependIcon},null)])},title:()=>u.value?i.title:highlightResult(i.title,xe(i)?.title,we.value?.length??0)})}}),a["append-item"]?.()]})]}),A.value.map(((n,i)=>{function s(t){t.stopPropagation(),t.preventDefault(),Fe(n,!1)}const l={"onClick:close":s,onKeydown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),s(t))},onMousedown(t){t.preventDefault(),t.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},c=O.value?!!a.chip:!!a.selection,u=c?ensureValidVNode(O.value?a.chip({item:n,index:i,props:l}):a.selection({item:n,index:i})):void 0;if(!c||u)return createVNode("div",{key:n.value,class:["v-combobox__selection",i===b.value&&["v-combobox__selection--selected",P.value]],style:i===b.value?I.value:{}},[O.value?a.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:t.closableChips,size:"small",text:n.title}}},{default:()=>[u]}):createVNode(VChip,mergeProps({key:"chip",closable:t.closableChips,size:"small",text:n.title,disabled:n.props.disabled},l),null):u??createVNode("span",{class:"v-combobox__selection-text"},[n.title,t.multiple&&i<A.value.length-1&&createVNode("span",{class:"v-combobox__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var n=arguments.length,i=new Array(n),l=0;l<n;l++)i[l]=arguments[l];return createVNode(Fragment,null,[a["append-inner"]?.(...i),t.hideNoData&&!t.items.length||!t.menuIcon?void 0:createVNode(VIcon,{class:"v-combobox__menu-icon",icon:t.menuIcon,onMousedown:De,onClick:noop$2,"aria-label":s(S.value),title:s(S.value),tabindex:"-1"},null)])}})})),forwardRefs({isFocused:c,isPristine:u,menu:v,search:we,selectionIndex:b,filteredItems:$e,select:Fe},l)}}),makeVConfirmEditProps=propsFactory({modelValue:null,color:String,cancelText:{type:String,default:"$vuetify.confirmEdit.cancel"},okText:{type:String,default:"$vuetify.confirmEdit.ok"}},"VConfirmEdit"),VConfirmEdit=genericComponent()({name:"VConfirmEdit",props:makeVConfirmEditProps(),emits:{cancel:()=>!0,save:t=>!0,"update:modelValue":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useProxiedModel(t,"modelValue"),l=ref();watchEffect((()=>{l.value=structuredClone(toRaw(s.value))}));const{t:c}=useLocale(),u=computed((()=>deepEqual(s.value,l.value)));function d(){s.value=l.value,i("save",l.value)}function f(){l.value=structuredClone(toRaw(s.value)),i("cancel")}function m(n){return createVNode(Fragment,null,[createVNode(VBtn,mergeProps({disabled:u.value,variant:"text",color:t.color,onClick:f,text:c(t.cancelText)},n),null),createVNode(VBtn,mergeProps({disabled:u.value,variant:"text",color:t.color,onClick:d,text:c(t.okText)},n),null)])}let g=!1;return useRender((()=>createVNode(Fragment,null,[a.default?.({model:l,save:d,cancel:f,isPristine:u.value,get actions(){return g=!0,m}}),!g&&m()]))),{save:d,cancel:f,isPristine:u}}}),makeDataTableExpandProps=propsFactory({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),VDataTableExpandedKey=Symbol.for("vuetify:datatable:expanded");function provideExpanded(t){const n=toRef(t,"expandOnClick"),i=useProxiedModel(t,"expanded",t.expanded,(t=>new Set(t)),(t=>[...t.values()]));function a(t,n){const a=new Set(i.value);n?a.add(t.value):a.delete(t.value),i.value=a}function s(t){return i.value.has(t.value)}const l={expand:a,expanded:i,expandOnClick:n,isExpanded:s,toggleExpand:function(t){a(t,!s(t))}};return provide(VDataTableExpandedKey,l),l}function useExpanded(){const t=inject$1(VDataTableExpandedKey);if(!t)throw new Error("foo");return t}const makeDataTableGroupProps=propsFactory({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),VDataTableGroupSymbol=Symbol.for("vuetify:data-table-group");function createGroupBy(t){return{groupBy:useProxiedModel(t,"groupBy")}}function provideGroupBy(t){const{disableSort:n,groupBy:i,sortBy:a}=t,s=ref(new Set);function l(t){return s.value.has(t.id)}const c={sortByWithGroups:computed((()=>i.value.map((t=>({...t,order:t.order??!1}))).concat(n?.value?[]:a.value))),toggleGroup:function(t){const n=new Set(s.value);l(t)?n.delete(t.id):n.add(t.id),s.value=n},opened:s,groupBy:i,extractRows:function(t){return function t(n){const i=[];for(const a of n.items)"type"in a&&"group"===a.type?i.push(...t(a)):i.push(a);return[...new Set(i)]}({items:t})},isGroupOpen:l};return provide(VDataTableGroupSymbol,c),c}function useGroupBy(){const t=inject$1(VDataTableGroupSymbol);if(!t)throw new Error("Missing group!");return t}function groupItemsByProperty(t,n){if(!t.length)return[];const i=new Map;for(const a of t){const t=getObjectValueByPath(a.raw,n);i.has(t)||i.set(t,[]),i.get(t).push(a)}return i}function groupItems(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"root";if(!n.length)return[];const s=groupItemsByProperty(t,n[0]),l=[],c=n.slice(1);return s.forEach(((t,s)=>{const u=n[0],d=`${a}_${u}_${s}`;l.push({depth:i,id:d,key:u,value:s,items:c.length?groupItems(t,c,i+1,d):t,type:"group"})})),l}function flattenItems(t,n){const i=[];for(const a of t)"type"in a&&"group"===a.type?(null!=a.value&&i.push(a),(n.has(a.id)||null==a.value)&&i.push(...flattenItems(a.items,n))):i.push(a);return i}function useGroupedItems(t,n,i){return{flatItems:computed((()=>{if(!n.value.length)return t.value;return flattenItems(groupItems(t.value,n.value.map((t=>t.key))),i.value)}))}}function useOptions(t){let{page:n,itemsPerPage:i,sortBy:a,groupBy:s,search:l}=t;const c=getCurrentInstance("VDataTable"),u=computed((()=>({page:n.value,itemsPerPage:i.value,sortBy:a.value,groupBy:s.value,search:l.value})));let d=null;watch(u,(()=>{deepEqual(d,u.value)||(d&&d.search!==u.value.search&&(n.value=1),c.emit("update:options",u.value),d=u.value)}),{deep:!0,immediate:!0})}const makeDataTablePaginateProps=propsFactory({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),VDataTablePaginationSymbol=Symbol.for("vuetify:data-table-pagination");function createPagination(t){return{page:useProxiedModel(t,"page",void 0,(t=>+(t??1))),itemsPerPage:useProxiedModel(t,"itemsPerPage",void 0,(t=>+(t??10)))}}function providePagination(t){const{page:n,itemsPerPage:i,itemsLength:a}=t,s=computed((()=>-1===i.value?0:i.value*(n.value-1))),l=computed((()=>-1===i.value?a.value:Math.min(a.value,s.value+i.value))),c=computed((()=>-1===i.value||0===a.value?1:Math.ceil(a.value/i.value)));watch([n,c],(()=>{n.value>c.value&&(n.value=c.value)}));const u={page:n,itemsPerPage:i,startIndex:s,stopIndex:l,pageCount:c,itemsLength:a,nextPage:function(){n.value=clamp(n.value+1,1,c.value)},prevPage:function(){n.value=clamp(n.value-1,1,c.value)},setPage:function(t){n.value=clamp(t,1,c.value)},setItemsPerPage:function(t){i.value=t,n.value=1}};return provide(VDataTablePaginationSymbol,u),u}function usePagination(){const t=inject$1(VDataTablePaginationSymbol);if(!t)throw new Error("Missing pagination!");return t}function usePaginatedItems(t){const n=getCurrentInstance("usePaginatedItems"),{items:i,startIndex:a,stopIndex:s,itemsPerPage:l}=t,c=computed((()=>l.value<=0?i.value:i.value.slice(a.value,s.value)));return watch(c,(t=>{n.emit("update:currentItems",t)}),{immediate:!0}),{paginatedItems:c}}const singleSelectStrategy={showSelectAll:!1,allSelected:()=>[],select:t=>{let{items:n,value:i}=t;return new Set(i?[n[0]?.value]:[])},selectAll:t=>{let{selected:n}=t;return n}},pageSelectStrategy={showSelectAll:!0,allSelected:t=>{let{currentPage:n}=t;return n},select:t=>{let{items:n,value:i,selected:a}=t;for(const s of n)i?a.add(s.value):a.delete(s.value);return a},selectAll:t=>{let{value:n,currentPage:i,selected:a}=t;return pageSelectStrategy.select({items:i,value:n,selected:a})}},allSelectStrategy={showSelectAll:!0,allSelected:t=>{let{allItems:n}=t;return n},select:t=>{let{items:n,value:i,selected:a}=t;for(const s of n)i?a.add(s.value):a.delete(s.value);return a},selectAll:t=>{let{value:n,allItems:i,selected:a}=t;return allSelectStrategy.select({items:i,value:n,selected:a})}},makeDataTableSelectProps=propsFactory({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:deepEqual}},"DataTable-select"),VDataTableSelectionSymbol=Symbol.for("vuetify:data-table-selection");function provideSelection(t,n){let{allItems:i,currentPage:a}=n;const s=useProxiedModel(t,"modelValue",t.modelValue,(n=>new Set(wrapInArray(n).map((n=>i.value.find((i=>t.valueComparator(n,i.value)))?.value??n)))),(t=>[...t.values()])),l=computed((()=>i.value.filter((t=>t.selectable)))),c=computed((()=>a.value.filter((t=>t.selectable)))),u=computed((()=>{if("object"==typeof t.selectStrategy)return t.selectStrategy;switch(t.selectStrategy){case"single":return singleSelectStrategy;case"all":return allSelectStrategy;default:return pageSelectStrategy}}));function d(t){return wrapInArray(t).every((t=>s.value.has(t.value)))}function f(t,n){const i=u.value.select({items:t,value:n,selected:new Set(s.value)});s.value=i}const m=computed((()=>s.value.size>0)),g=computed((()=>{const t=u.value.allSelected({allItems:l.value,currentPage:c.value});return!!t.length&&d(t)})),v={toggleSelect:function(t){f([t],!d([t]))},select:f,selectAll:function(t){const n=u.value.selectAll({value:t,allItems:l.value,currentPage:c.value,selected:new Set(s.value)});s.value=n},isSelected:d,isSomeSelected:function(t){return wrapInArray(t).some((t=>s.value.has(t.value)))},someSelected:m,allSelected:g,showSelectAll:computed((()=>u.value.showSelectAll))};return provide(VDataTableSelectionSymbol,v),v}function useSelection(){const t=inject$1(VDataTableSelectionSymbol);if(!t)throw new Error("Missing selection!");return t}const makeDataTableSortProps=propsFactory({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),VDataTableSortSymbol=Symbol.for("vuetify:data-table-sort");function createSort(t){return{sortBy:useProxiedModel(t,"sortBy"),mustSort:toRef(t,"mustSort"),multiSort:toRef(t,"multiSort")}}function provideSort(t){const{sortBy:n,mustSort:i,multiSort:a,page:s}=t;const l={sortBy:n,toggleSort:t=>{if(null==t.key)return;let l=n.value.map((t=>({...t})))??[];const c=l.find((n=>n.key===t.key));c?"desc"===c.order?i.value&&1===l.length?c.order="asc":l=l.filter((n=>n.key!==t.key)):c.order="desc":a.value?l.push({key:t.key,order:"asc"}):l=[{key:t.key,order:"asc"}],n.value=l,s&&(s.value=1)},isSorted:function(t){return!!n.value.find((n=>n.key===t.key))}};return provide(VDataTableSortSymbol,l),l}function useSort(){const t=inject$1(VDataTableSortSymbol);if(!t)throw new Error("Missing sort!");return t}function useSortedItems(t,n,i,a){const s=useLocale();return{sortedItems:computed((()=>i.value.length?sortItems(n.value,i.value,s.current.value,{transform:a?.transform,sortFunctions:{...t.customKeySort,...a?.sortFunctions?.value},sortRawFunctions:a?.sortRawFunctions?.value}):n.value))}}function sortItems(t,n,i,a){const s=new Intl.Collator(i,{sensitivity:"accent",usage:"sort"});return t.map((t=>[t,a?.transform?a.transform(t):t])).sort(((t,i)=>{for(let l=0;l<n.length;l++){let c=!1;const u=n[l].key,d=n[l].order??"asc";if(!1===d)continue;let f=getObjectValueByPath(t[1],u),m=getObjectValueByPath(i[1],u),g=t[0].raw,v=i[0].raw;if("desc"===d&&([f,m]=[m,f],[g,v]=[v,g]),a?.sortRawFunctions?.[u]){const t=a.sortRawFunctions[u](g,v);if(null==t)continue;if(c=!0,t)return t}if(a?.sortFunctions?.[u]){const t=a.sortFunctions[u](f,m);if(null==t)continue;if(c=!0,t)return t}if(!c){if(f instanceof Date&&m instanceof Date)return f.getTime()-m.getTime();if([f,m]=[f,m].map((t=>null!=t?t.toString().toLocaleLowerCase():t)),f!==m)return isEmpty(f)&&isEmpty(m)?0:isEmpty(f)?-1:isEmpty(m)?1:isNaN(f)||isNaN(m)?s.compare(f,m):Number(f)-Number(m)}}return 0})).map((t=>{let[n]=t;return n}))}const makeDataIteratorItemsProps=propsFactory({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},returnObject:Boolean},"DataIterator-items");function transformItem$1(t,n){return{type:"item",value:t.returnObject?n:getPropertyFromItem(n,t.itemValue),selectable:getPropertyFromItem(n,t.itemSelectable,!0),raw:n}}function transformItems$1(t,n){const i=[];for(const a of n)i.push(transformItem$1(t,a));return i}function useDataIteratorItems(t){return{items:computed((()=>transformItems$1(t,t.items)))}}const makeVDataIteratorProps=propsFactory({search:String,loading:Boolean,...makeComponentProps(),...makeDataIteratorItemsProps(),...makeDataTableSelectProps(),...makeDataTableSortProps(),...makeDataTablePaginateProps({itemsPerPage:5}),...makeDataTableExpandProps(),...makeDataTableGroupProps(),...makeFilterProps(),...makeTagProps(),...makeTransitionProps({transition:{component:VFadeTransition,hideOnLeave:!0}})},"VDataIterator"),VDataIterator=genericComponent()({name:"VDataIterator",props:makeVDataIteratorProps(),emits:{"update:modelValue":t=>!0,"update:groupBy":t=>!0,"update:page":t=>!0,"update:itemsPerPage":t=>!0,"update:sortBy":t=>!0,"update:options":t=>!0,"update:expanded":t=>!0,"update:currentItems":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"groupBy"),s=toRef(t,"search"),{items:l}=useDataIteratorItems(t),{filteredItems:c}=useFilter(t,l,s,{transform:t=>t.raw}),{sortBy:u,multiSort:d,mustSort:f}=createSort(t),{page:m,itemsPerPage:g}=createPagination(t),{toggleSort:v}=provideSort({sortBy:u,multiSort:d,mustSort:f,page:m}),{sortByWithGroups:b,opened:w,extractRows:k,isGroupOpen:S,toggleGroup:C}=provideGroupBy({groupBy:a,sortBy:u}),{sortedItems:E}=useSortedItems(t,c,b,{transform:t=>t.raw}),{flatItems:T}=useGroupedItems(E,a,w),P=computed((()=>T.value.length)),{startIndex:I,stopIndex:A,pageCount:D,prevPage:O,nextPage:_e,setItemsPerPage:be,setPage:we}=providePagination({page:m,itemsPerPage:g,itemsLength:P}),{paginatedItems:Se}=usePaginatedItems({items:T,startIndex:I,stopIndex:A,itemsPerPage:g}),$e=computed((()=>k(Se.value))),{isSelected:xe,select:Ce,selectAll:Ee,toggleSelect:Ne}=provideSelection(t,{allItems:l,currentPage:$e}),{isExpanded:Pe,toggleExpand:Ie}=provideExpanded(t);useOptions({page:m,itemsPerPage:g,sortBy:u,groupBy:a,search:s});const Ae=computed((()=>({page:m.value,itemsPerPage:g.value,sortBy:u.value,pageCount:D.value,toggleSort:v,prevPage:O,nextPage:_e,setPage:we,setItemsPerPage:be,isSelected:xe,select:Ce,selectAll:Ee,toggleSelect:Ne,isExpanded:Pe,toggleExpand:Ie,isGroupOpen:S,toggleGroup:C,items:$e.value,groupedItems:Se.value})));return useRender((()=>createVNode(t.tag,{class:["v-data-iterator",{"v-data-iterator--loading":t.loading},t.class],style:t.style},{default:()=>[i.header?.(Ae.value),createVNode(MaybeTransition,{transition:t.transition},{default:()=>[t.loading?createVNode(LoaderSlot,{key:"loader",name:"v-data-iterator",active:!0},{default:t=>i.loader?.(t)}):createVNode("div",{key:"items"},[Se.value.length?i.default?.(Ae.value):i["no-data"]?.()])]}),i.footer?.(Ae.value)]}))),{}}});function useRefs(){const t=ref([]);return onBeforeUpdate((()=>t.value=[])),{refs:t,updateRef:function(n,i){t.value[i]=n}}}const makeVPaginationProps=propsFactory({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:t=>t.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:t=>t%1==0},totalVisible:[Number,String],firstIcon:{type:IconValue,default:"$first"},prevIcon:{type:IconValue,default:"$prev"},nextIcon:{type:IconValue,default:"$next"},lastIcon:{type:IconValue,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeElevationProps(),...makeRoundedProps(),...makeSizeProps(),...makeTagProps({tag:"nav"}),...makeThemeProps(),...makeVariantProps({variant:"text"})},"VPagination"),VPagination=genericComponent()({name:"VPagination",props:makeVPaginationProps(),emits:{"update:modelValue":t=>!0,first:t=>!0,prev:t=>!0,next:t=>!0,last:t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=useProxiedModel(t,"modelValue"),{t:l,n:c}=useLocale(),{isRtl:u}=useRtl(),{themeClasses:d}=provideTheme(t),{width:f}=useDisplay(),m=shallowRef(-1);provideDefaults(void 0,{scoped:!0});const{resizeRef:g}=useResizeObserver((t=>{if(!t.length)return;const{target:n,contentRect:i}=t[0],a=n.querySelector(".v-pagination__list > *");if(!a)return;const s=i.width,l=a.offsetWidth+2*parseFloat(getComputedStyle(a).marginRight);m.value=k(s,l)})),v=computed((()=>parseInt(t.length,10))),b=computed((()=>parseInt(t.start,10))),w=computed((()=>null!=t.totalVisible?parseInt(t.totalVisible,10):m.value>=0?m.value:k(f.value,58)));function k(n,i){const a=t.showFirstLastPage?5:3;return Math.max(0,Math.floor(+((n-i*a)/i).toFixed(2)))}const S=computed((()=>{if(v.value<=0||isNaN(v.value)||v.value>Number.MAX_SAFE_INTEGER)return[];if(w.value<=0)return[];if(1===w.value)return[s.value];if(v.value<=w.value)return createRange(v.value,b.value);const n=w.value%2==0,i=n?w.value/2:Math.floor(w.value/2),a=n?i:i+1,l=v.value-i;if(a-s.value>=0)return[...createRange(Math.max(1,w.value-1),b.value),t.ellipsis,v.value];if(s.value-l>=(n?1:0)){const n=w.value-1,i=v.value-n+b.value;return[b.value,t.ellipsis,...createRange(n,i)]}{const n=Math.max(1,w.value-2),i=1===n?s.value:s.value-Math.ceil(n/2)+b.value;return[b.value,t.ellipsis,...createRange(n,i),t.ellipsis,v.value]}}));function C(t,n,i){t.preventDefault(),s.value=n,i&&a(i,n)}const{refs:E,updateRef:T}=useRefs();provideDefaults({VPaginationBtn:{color:toRef(t,"color"),border:toRef(t,"border"),density:toRef(t,"density"),size:toRef(t,"size"),variant:toRef(t,"variant"),rounded:toRef(t,"rounded"),elevation:toRef(t,"elevation")}});const P=computed((()=>S.value.map(((n,i)=>{const a=t=>T(t,i);if("string"==typeof n)return{isActive:!1,key:`ellipsis-${i}`,page:n,props:{ref:a,ellipsis:!0,icon:!0,disabled:!0}};{const i=n===s.value;return{isActive:i,key:n,page:c(n),props:{ref:a,ellipsis:!1,icon:!0,disabled:!!t.disabled||+t.length<2,color:i?t.activeColor:t.color,"aria-current":i,"aria-label":l(i?t.currentPageAriaLabel:t.pageAriaLabel,n),onClick:t=>C(t,n)}}}})))),I=computed((()=>{const n=!!t.disabled||s.value<=b.value,i=!!t.disabled||s.value>=b.value+v.value-1;return{first:t.showFirstLastPage?{icon:u.value?t.lastIcon:t.firstIcon,onClick:t=>C(t,b.value,"first"),disabled:n,"aria-label":l(t.firstAriaLabel),"aria-disabled":n}:void 0,prev:{icon:u.value?t.nextIcon:t.prevIcon,onClick:t=>C(t,s.value-1,"prev"),disabled:n,"aria-label":l(t.previousAriaLabel),"aria-disabled":n},next:{icon:u.value?t.prevIcon:t.nextIcon,onClick:t=>C(t,s.value+1,"next"),disabled:i,"aria-label":l(t.nextAriaLabel),"aria-disabled":i},last:t.showFirstLastPage?{icon:u.value?t.firstIcon:t.lastIcon,onClick:t=>C(t,b.value+v.value-1,"last"),disabled:i,"aria-label":l(t.lastAriaLabel),"aria-disabled":i}:void 0}}));function A(){const t=s.value-b.value;E.value[t]?.$el.focus()}function D(n){n.key===keyValues.left&&!t.disabled&&s.value>+t.start?(s.value=s.value-1,nextTick$2(A)):n.key===keyValues.right&&!t.disabled&&s.value<b.value+v.value-1&&(s.value=s.value+1,nextTick$2(A))}return useRender((()=>createVNode(t.tag,{ref:g,class:["v-pagination",d.value,t.class],style:t.style,role:"navigation","aria-label":l(t.ariaLabel),onKeydown:D,"data-test":"v-pagination-root"},{default:()=>[createVNode("ul",{class:"v-pagination__list"},[t.showFirstLastPage&&createVNode("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[i.first?i.first(I.value.first):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},I.value.first),null)]),createVNode("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[i.prev?i.prev(I.value.prev):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},I.value.prev),null)]),P.value.map(((t,n)=>createVNode("li",{key:t.key,class:["v-pagination__item",{"v-pagination__item--is-active":t.isActive}],"data-test":"v-pagination-item"},[i.item?i.item(t):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},t.props),{default:()=>[t.page]})]))),createVNode("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[i.next?i.next(I.value.next):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},I.value.next),null)]),t.showFirstLastPage&&createVNode("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[i.last?i.last(I.value.last):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},I.value.last),null)])])]}))),{}}}),makeVDataTableFooterProps=propsFactory({prevIcon:{type:IconValue,default:"$prev"},nextIcon:{type:IconValue,default:"$next"},firstIcon:{type:IconValue,default:"$first"},lastIcon:{type:IconValue,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),VDataTableFooter=genericComponent()({name:"VDataTableFooter",props:makeVDataTableFooterProps(),setup(t,n){let{slots:i}=n;const{t:a}=useLocale(),{page:s,pageCount:l,startIndex:c,stopIndex:u,itemsLength:d,itemsPerPage:f,setItemsPerPage:m}=usePagination(),g=computed((()=>t.itemsPerPageOptions.map((t=>"number"==typeof t?{value:t,title:-1===t?a("$vuetify.dataFooter.itemsPerPageAll"):String(t)}:{...t,title:isNaN(Number(t.title))?a(t.title):t.title}))));return useRender((()=>{const n=VPagination.filterProps(t);return createVNode("div",{class:"v-data-table-footer"},[i.prepend?.(),createVNode("div",{class:"v-data-table-footer__items-per-page"},[createVNode("span",null,[a(t.itemsPerPageText)]),createVNode(VSelect,{items:g.value,modelValue:f.value,"onUpdate:modelValue":t=>m(Number(t)),density:"compact",variant:"outlined","hide-details":!0},null)]),createVNode("div",{class:"v-data-table-footer__info"},[createVNode("div",null,[a(t.pageText,d.value?c.value+1:0,u.value,d.value)])]),createVNode("div",{class:"v-data-table-footer__pagination"},[createVNode(VPagination,mergeProps({modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,density:"comfortable","first-aria-label":t.firstPageLabel,"last-aria-label":t.lastPageLabel,length:l.value,"next-aria-label":t.nextPageLabel,"previous-aria-label":t.prevPageLabel,rounded:!0,"show-first-last-page":!0,"total-visible":t.showCurrentPage?1:0,variant:"plain"},n),null)])])})),{}}}),VDataTableColumn=defineFunctionalComponent({align:{type:String,default:"start"},fixed:Boolean,fixedOffset:[Number,String],height:[Number,String],lastFixed:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},((t,n)=>{let{slots:i}=n;const a=t.tag??"td";return createVNode(a,{class:["v-data-table__td",{"v-data-table-column--fixed":t.fixed,"v-data-table-column--last-fixed":t.lastFixed,"v-data-table-column--no-padding":t.noPadding,"v-data-table-column--nowrap":t.nowrap},`v-data-table-column--align-${t.align}`],style:{height:convertToUnit(t.height),width:convertToUnit(t.width),maxWidth:convertToUnit(t.maxWidth),left:convertToUnit(t.fixedOffset||null)}},{default:()=>[i.default?.()]})})),makeDataTableHeaderProps=propsFactory({headers:Array},"DataTable-header"),VDataTableHeadersSymbol=Symbol.for("vuetify:data-table-headers"),defaultHeader={title:"",sortable:!1},defaultActionHeader={...defaultHeader,width:48};function priorityQueue(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((t=>({element:t,priority:0})));return{enqueue:(n,i)=>{let a=!1;for(let s=0;s<t.length;s++){if(t[s].priority>i){t.splice(s,0,{element:n,priority:i}),a=!0;break}}a||t.push({element:n,priority:i})},size:()=>t.length,count:()=>{let n=0;if(!t.length)return 0;const i=Math.floor(t[0].priority);for(let a=0;a<t.length;a++)Math.floor(t[a].priority)===i&&(n+=1);return n},dequeue:()=>t.shift()}}function extractLeaves(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.children)for(const i of t.children)extractLeaves(i,n);else n.push(t);return n}function extractKeys(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const i of t)i.key&&n.add(i.key),i.children&&extractKeys(i.children,n);return n}function getDefaultItem(t){if(t.key)return"data-table-group"===t.key?defaultHeader:["data-table-expand","data-table-select"].includes(t.key)?defaultActionHeader:void 0}function getDepth(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.children?Math.max(n,...t.children.map((t=>getDepth(t,n+1)))):n}function parseFixedColumns(t){let n=!1;function i(t){if(t)if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(t.fixed=!0),t.fixed)if(t.children)for(let n=t.children.length-1;n>=0;n--)i(t.children[n],!0);else n?isNaN(+t.width)&&consoleError(`Multiple fixed columns should have a static width (key: ${t.key})`):t.lastFixed=!0,n=!0;else if(t.children)for(let n=t.children.length-1;n>=0;n--)i(t.children[n]);else n=!1}for(let l=t.length-1;l>=0;l--)i(t[l]);function a(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!t)return n;if(t.children){t.fixedOffset=n;for(const i of t.children)n=a(i,n)}else t.fixed&&(t.fixedOffset=n,n+=parseFloat(t.width||"0")||0);return n}let s=0;for(const l of t)s=a(l,s)}function parse(t,n){const i=[];let a=0;const s=priorityQueue(t);for(;s.size()>0;){let t=s.count();const l=[];let c=1;for(;t>0;){const{element:i,priority:u}=s.dequeue(),d=n-a-getDepth(i);if(l.push({...i,rowspan:d??1,colspan:i.children?extractLeaves(i).length:1}),i.children)for(const t of i.children){const n=u%1+c/Math.pow(10,a+2);s.enqueue(t,a+d+n)}c+=1,t-=1}a+=1,i.push(l)}return{columns:t.map((t=>extractLeaves(t))).flat(),headers:i}}function convertToInternalHeaders(t){const n=[];for(const i of t){const t={...getDefaultItem(i),...i},a=t.key??("string"==typeof t.value?t.value:null),s=t.value??a??null,l={...t,key:a,value:s,sortable:t.sortable??(null!=t.key||!!t.sort),children:t.children?convertToInternalHeaders(t.children):void 0};n.push(l)}return n}function createHeaders(t,n){const i=ref([]),a=ref([]),s=ref({}),l=ref({}),c=ref({});watchEffect((()=>{const u=(t.headers||Object.keys(t.items[0]??{}).map((t=>({key:t,title:capitalize(t)})))).slice(),d=extractKeys(u);n?.groupBy?.value.length&&!d.has("data-table-group")&&u.unshift({key:"data-table-group",title:"Group"}),n?.showSelect?.value&&!d.has("data-table-select")&&u.unshift({key:"data-table-select"}),n?.showExpand?.value&&!d.has("data-table-expand")&&u.push({key:"data-table-expand"});const f=convertToInternalHeaders(u);parseFixedColumns(f);const m=Math.max(...f.map((t=>getDepth(t))))+1,g=parse(f,m);i.value=g.headers,a.value=g.columns;const v=g.headers.flat(1);for(const t of v)t.key&&(t.sortable&&(t.sort&&(s.value[t.key]=t.sort),t.sortRaw&&(l.value[t.key]=t.sortRaw)),t.filter&&(c.value[t.key]=t.filter))}));const u={headers:i,columns:a,sortFunctions:s,sortRawFunctions:l,filterFunctions:c};return provide(VDataTableHeadersSymbol,u),u}function useHeaders(){const t=inject$1(VDataTableHeadersSymbol);if(!t)throw new Error("Missing headers!");return t}const makeVDataTableHeadersProps=propsFactory({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:IconValue,default:"$sortAsc"},sortDescIcon:{type:IconValue,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...makeDisplayProps(),...makeLoaderProps()},"VDataTableHeaders"),VDataTableHeaders=genericComponent()({name:"VDataTableHeaders",props:makeVDataTableHeadersProps(),setup(t,n){let{slots:i}=n;const{t:a}=useLocale(),{toggleSort:s,sortBy:l,isSorted:c}=useSort(),{someSelected:u,allSelected:d,selectAll:f,showSelectAll:m}=useSelection(),{columns:g,headers:v}=useHeaders(),{loaderClasses:b}=useLoader(t);function w(n,i){if(t.sticky||t.fixedHeader||n.fixed)return{position:"sticky",left:n.fixed?convertToUnit(n.fixedOffset):void 0,top:t.sticky||t.fixedHeader?`calc(var(--v-table-header-height) * ${i})`:void 0}}function k(n){const i=l.value.find((t=>t.key===n.key));return i?"asc"===i.order?t.sortAscIcon:t.sortDescIcon:t.sortAscIcon}const{backgroundColorClasses:S,backgroundColorStyles:C}=useBackgroundColor(t,"color"),{displayClasses:E,mobile:T}=useDisplay(t),P=computed((()=>({headers:v.value,columns:g.value,toggleSort:s,isSorted:c,sortBy:l.value,someSelected:u.value,allSelected:d.value,selectAll:f,getSortIcon:k}))),I=computed((()=>["v-data-table__th",{"v-data-table__th--sticky":t.sticky||t.fixedHeader},E.value,b.value])),A=n=>{let{column:a,x:g,y:v}=n;const b="data-table-select"===a.key||"data-table-expand"===a.key,E=mergeProps(t.headerProps??{},a.headerProps??{});return createVNode(VDataTableColumn,mergeProps({tag:"th",align:a.align,class:[{"v-data-table__th--sortable":a.sortable&&!t.disableSort,"v-data-table__th--sorted":c(a),"v-data-table__th--fixed":a.fixed},...I.value],style:{width:convertToUnit(a.width),minWidth:convertToUnit(a.minWidth),maxWidth:convertToUnit(a.maxWidth),...w(a,v)},colspan:a.colspan,rowspan:a.rowspan,onClick:a.sortable?()=>s(a):void 0,fixed:a.fixed,nowrap:a.nowrap,lastFixed:a.lastFixed,noPadding:b},E),{default:()=>{const n=`header.${a.key}`,g={column:a,selectAll:f,isSorted:c,toggleSort:s,sortBy:l.value,someSelected:u.value,allSelected:d.value,getSortIcon:k};return i[n]?i[n](g):"data-table-select"===a.key?i["header.data-table-select"]?.(g)??(m.value&&createVNode(VCheckboxBtn,{modelValue:d.value,indeterminate:u.value&&!d.value,"onUpdate:modelValue":f},null)):createVNode("div",{class:"v-data-table-header__content"},[createVNode("span",null,[a.title]),a.sortable&&!t.disableSort&&createVNode(VIcon,{key:"icon",class:"v-data-table-header__sort-icon",icon:k(a)},null),t.multiSort&&c(a)&&createVNode("div",{key:"badge",class:["v-data-table-header__sort-badge",...S.value],style:C.value},[l.value.findIndex((t=>t.key===a.key))+1])])}})},D=()=>{const n=mergeProps(t.headerProps??{}??{}),m=computed((()=>g.value.filter((n=>n?.sortable&&!t.disableSort)))),b=computed((()=>{if(null!=g.value.find((t=>"data-table-select"===t.key)))return d.value?"$checkboxOn":u.value?"$checkboxIndeterminate":"$checkboxOff"}));return createVNode(VDataTableColumn,mergeProps({tag:"th",class:[...I.value],colspan:v.value.length+1},n),{default:()=>[createVNode("div",{class:"v-data-table-header__content"},[createVNode(VSelect,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:m.value,label:a("$vuetify.dataTable.sortBy"),multiple:t.multiSort,variant:"underlined","onClick:clear":()=>l.value=[],appendIcon:b.value,"onClick:append":()=>f(!d.value)},{...i,chip:t=>createVNode(VChip,{onClick:t.item.raw?.sortable?()=>s(t.item.raw):void 0,onMousedown:t=>{t.preventDefault(),t.stopPropagation()}},{default:()=>[t.item.title,createVNode(VIcon,{class:["v-data-table__td-sort-icon",c(t.item.raw)&&"v-data-table__td-sort-icon-active"],icon:k(t.item.raw),size:"small"},null)]})})])]})};useRender((()=>T.value?createVNode("tr",null,[createVNode(D,null,null)]):createVNode(Fragment,null,[i.headers?i.headers(P.value):v.value.map(((t,n)=>createVNode("tr",null,[t.map(((t,i)=>createVNode(A,{column:t,x:i,y:n},null)))]))),t.loading&&createVNode("tr",{class:"v-data-table-progress"},[createVNode("th",{colspan:g.value.length},[createVNode(LoaderSlot,{name:"v-data-table-progress",absolute:!0,active:!0,color:"boolean"==typeof t.loading?void 0:t.loading,indeterminate:!0},{default:i.loader})])])])))}}),makeVDataTableGroupHeaderRowProps=propsFactory({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),VDataTableGroupHeaderRow=genericComponent()({name:"VDataTableGroupHeaderRow",props:makeVDataTableGroupHeaderRowProps(),setup(t,n){let{slots:i}=n;const{isGroupOpen:a,toggleGroup:s,extractRows:l}=useGroupBy(),{isSelected:c,isSomeSelected:u,select:d}=useSelection(),{columns:f}=useHeaders(),m=computed((()=>l([t.item])));return()=>createVNode("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":t.item.depth}},[f.value.map((n=>{if("data-table-group"===n.key){const n=a(t.item)?"$expand":"$next",l=()=>s(t.item);return i["data-table-group"]?.({item:t.item,count:m.value.length,props:{icon:n,onClick:l}})??createVNode(VDataTableColumn,{class:"v-data-table-group-header-row__column"},{default:()=>[createVNode(VBtn,{size:"small",variant:"text",icon:n,onClick:l},null),createVNode("span",null,[t.item.value]),createVNode("span",null,[createTextVNode("("),m.value.length,createTextVNode(")")])]})}if("data-table-select"===n.key){const t=c(m.value),n=u(m.value)&&!t,a=t=>d(m.value,t);return i["data-table-select"]?.({props:{modelValue:t,indeterminate:n,"onUpdate:modelValue":a}})??createVNode("td",null,[createVNode(VCheckboxBtn,{modelValue:t,indeterminate:n,"onUpdate:modelValue":a},null)])}return createVNode("td",null,null)}))])}}),makeVDataTableRowProps=propsFactory({index:Number,item:Object,cellProps:[Object,Function],onClick:EventProp(),onContextmenu:EventProp(),onDblclick:EventProp(),...makeDisplayProps()},"VDataTableRow"),VDataTableRow=genericComponent()({name:"VDataTableRow",props:makeVDataTableRowProps(),setup(t,n){let{slots:i}=n;const{displayClasses:a,mobile:s}=useDisplay(t,"v-data-table__tr"),{isSelected:l,toggleSelect:c,someSelected:u,allSelected:d,selectAll:f}=useSelection(),{isExpanded:m,toggleExpand:g}=useExpanded(),{toggleSort:v,sortBy:b,isSorted:w}=useSort(),{columns:k}=useHeaders();useRender((()=>createVNode("tr",{class:["v-data-table__tr",{"v-data-table__tr--clickable":!!(t.onClick||t.onContextmenu||t.onDblclick)},a.value],onClick:t.onClick,onContextmenu:t.onContextmenu,onDblclick:t.onDblclick},[t.item&&k.value.map(((n,a)=>{const k=t.item,S=`item.${n.key}`,C=`header.${n.key}`,E={index:t.index,item:k.raw,internalItem:k,value:getObjectValueByPath(k.columns,n.key),column:n,isSelected:l,toggleSelect:c,isExpanded:m,toggleExpand:g},T={column:n,selectAll:f,isSorted:w,toggleSort:v,sortBy:b.value,someSelected:u.value,allSelected:d.value,getSortIcon:()=>""},P="function"==typeof t.cellProps?t.cellProps({index:E.index,item:E.item,internalItem:E.internalItem,value:E.value,column:n}):t.cellProps,I="function"==typeof n.cellProps?n.cellProps({index:E.index,item:E.item,internalItem:E.internalItem,value:E.value}):n.cellProps;return createVNode(VDataTableColumn,mergeProps({align:n.align,class:{"v-data-table__td--expanded-row":"data-table-expand"===n.key,"v-data-table__td--select-row":"data-table-select"===n.key},fixed:n.fixed,fixedOffset:n.fixedOffset,lastFixed:n.lastFixed,maxWidth:s.value?void 0:n.maxWidth,noPadding:"data-table-select"===n.key||"data-table-expand"===n.key,nowrap:n.nowrap,width:s.value?void 0:n.width},P,I),{default:()=>{if(i[S]&&!s.value)return i[S]?.(E);if("data-table-select"===n.key)return i["item.data-table-select"]?.(E)??createVNode(VCheckboxBtn,{disabled:!k.selectable,modelValue:l([k]),onClick:withModifiers((()=>c(k)),["stop"])},null);if("data-table-expand"===n.key)return i["item.data-table-expand"]?.(E)??createVNode(VBtn,{icon:m(k)?"$collapse":"$expand",size:"small",variant:"text",onClick:withModifiers((()=>g(k)),["stop"])},null);const t=toDisplayString(E.value);return s.value?createVNode(Fragment,null,[createVNode("div",{class:"v-data-table__td-title"},[i[C]?.(T)??n.title]),createVNode("div",{class:"v-data-table__td-value"},[i[S]?.(E)??t])]):t}})}))])))}}),makeVDataTableRowsProps=propsFactory({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...makeDisplayProps()},"VDataTableRows"),VDataTableRows=genericComponent()({name:"VDataTableRows",inheritAttrs:!1,props:makeVDataTableRowsProps(),setup(t,n){let{attrs:i,slots:a}=n;const{columns:s}=useHeaders(),{expandOnClick:l,toggleExpand:c,isExpanded:u}=useExpanded(),{isSelected:d,toggleSelect:f}=useSelection(),{toggleGroup:m,isGroupOpen:g}=useGroupBy(),{t:v}=useLocale(),{mobile:b}=useDisplay(t);return useRender((()=>!t.loading||t.items.length&&!a.loading?t.loading||t.items.length||t.hideNoData?createVNode(Fragment,null,[t.items.map(((n,v)=>{if("group"===n.type){const t={index:v,item:n,columns:s.value,isExpanded:u,toggleExpand:c,isSelected:d,toggleSelect:f,toggleGroup:m,isGroupOpen:g};return a["group-header"]?a["group-header"](t):createVNode(VDataTableGroupHeaderRow,mergeProps({key:`group-header_${n.id}`,item:n},getPrefixedEventHandlers(i,":group-header",(()=>t))),a)}const w={index:v,item:n.raw,internalItem:n,columns:s.value,isExpanded:u,toggleExpand:c,isSelected:d,toggleSelect:f},k={...w,props:mergeProps({key:`item_${n.key??n.index}`,onClick:l.value?()=>{c(n)}:void 0,index:v,item:n,cellProps:t.cellProps,mobile:b.value},getPrefixedEventHandlers(i,":row",(()=>w)),"function"==typeof t.rowProps?t.rowProps({item:w.item,index:w.index,internalItem:w.internalItem}):t.rowProps)};return createVNode(Fragment,{key:k.props.key},[a.item?a.item(k):createVNode(VDataTableRow,k.props,a),u(n)&&a["expanded-row"]?.(w)])}))]):createVNode("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[createVNode("td",{colspan:s.value.length},[a["no-data"]?.()??v(t.noDataText)])]):createVNode("tr",{class:"v-data-table-rows-loading",key:"loading"},[createVNode("td",{colspan:s.value.length},[a.loading?.()??v(t.loadingText)])]))),{}}}),makeVTableProps=propsFactory({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...makeComponentProps(),...makeDensityProps(),...makeTagProps(),...makeThemeProps()},"VTable"),VTable=genericComponent()({name:"VTable",props:makeVTableProps(),setup(t,n){let{slots:i,emit:a}=n;const{themeClasses:s}=provideTheme(t),{densityClasses:l}=useDensity(t);return useRender((()=>createVNode(t.tag,{class:["v-table",{"v-table--fixed-height":!!t.height,"v-table--fixed-header":t.fixedHeader,"v-table--fixed-footer":t.fixedFooter,"v-table--has-top":!!i.top,"v-table--has-bottom":!!i.bottom,"v-table--hover":t.hover},s.value,l.value,t.class],style:t.style},{default:()=>[i.top?.(),i.default?createVNode("div",{class:"v-table__wrapper",style:{height:convertToUnit(t.height)}},[createVNode("table",null,[i.default()])]):i.wrapper?.(),i.bottom?.()]}))),{}}}),makeDataTableItemsProps=propsFactory({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function transformItem(t,n,i,a){const s=t.returnObject?n:getPropertyFromItem(n,t.itemValue),l=getPropertyFromItem(n,t.itemSelectable,!0),c=a.reduce(((t,i)=>(null!=i.key&&(t[i.key]=getPropertyFromItem(n,i.value)),t)),{});return{type:"item",key:t.returnObject?getPropertyFromItem(n,t.itemValue):s,index:i,value:s,selectable:l,columns:c,raw:n}}function transformItems(t,n,i){return n.map(((n,a)=>transformItem(t,n,a,i)))}function useDataTableItems(t,n){return{items:computed((()=>transformItems(t,t.items,n.value)))}}const makeDataTableProps=propsFactory({...makeVDataTableRowsProps(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...makeDataTableExpandProps(),...makeDataTableGroupProps(),...makeDataTableHeaderProps(),...makeDataTableItemsProps(),...makeDataTableSelectProps(),...makeDataTableSortProps(),...makeVDataTableHeadersProps(),...makeVTableProps()},"DataTable"),makeVDataTableProps=propsFactory({...makeDataTablePaginateProps(),...makeDataTableProps(),...makeFilterProps(),...makeVDataTableFooterProps()},"VDataTable"),VDataTable=genericComponent()({name:"VDataTable",props:makeVDataTableProps(),emits:{"update:modelValue":t=>!0,"update:page":t=>!0,"update:itemsPerPage":t=>!0,"update:sortBy":t=>!0,"update:options":t=>!0,"update:groupBy":t=>!0,"update:expanded":t=>!0,"update:currentItems":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const{groupBy:s}=createGroupBy(t),{sortBy:l,multiSort:c,mustSort:u}=createSort(t),{page:d,itemsPerPage:f}=createPagination(t),{disableSort:m}=toRefs(t),{columns:g,headers:v,sortFunctions:b,sortRawFunctions:w,filterFunctions:k}=createHeaders(t,{groupBy:s,showSelect:toRef(t,"showSelect"),showExpand:toRef(t,"showExpand")}),{items:S}=useDataTableItems(t,g),C=toRef(t,"search"),{filteredItems:E}=useFilter(t,S,C,{transform:t=>t.columns,customKeyFilter:k}),{toggleSort:T}=provideSort({sortBy:l,multiSort:c,mustSort:u,page:d}),{sortByWithGroups:P,opened:I,extractRows:A,isGroupOpen:D,toggleGroup:O}=provideGroupBy({groupBy:s,sortBy:l,disableSort:m}),{sortedItems:_e}=useSortedItems(t,E,P,{transform:t=>({...t.raw,...t.columns}),sortFunctions:b,sortRawFunctions:w}),{flatItems:be}=useGroupedItems(_e,s,I),we=computed((()=>be.value.length)),{startIndex:Se,stopIndex:$e,pageCount:xe,setItemsPerPage:Ce}=providePagination({page:d,itemsPerPage:f,itemsLength:we}),{paginatedItems:Ee}=usePaginatedItems({items:be,startIndex:Se,stopIndex:$e,itemsPerPage:f}),Ne=computed((()=>A(Ee.value))),{isSelected:Pe,select:Ie,selectAll:Ae,toggleSelect:Me,someSelected:Re,allSelected:De}=provideSelection(t,{allItems:S,currentPage:Ne}),{isExpanded:Oe,toggleExpand:Ve}=provideExpanded(t);useOptions({page:d,itemsPerPage:f,sortBy:l,groupBy:s,search:C}),provideDefaults({VDataTableRows:{hideNoData:toRef(t,"hideNoData"),noDataText:toRef(t,"noDataText"),loading:toRef(t,"loading"),loadingText:toRef(t,"loadingText")}});const Be=computed((()=>({page:d.value,itemsPerPage:f.value,sortBy:l.value,pageCount:xe.value,toggleSort:T,setItemsPerPage:Ce,someSelected:Re.value,allSelected:De.value,isSelected:Pe,select:Ie,selectAll:Ae,toggleSelect:Me,isExpanded:Oe,toggleExpand:Ve,isGroupOpen:D,toggleGroup:O,items:Ne.value.map((t=>t.raw)),internalItems:Ne.value,groupedItems:Ee.value,columns:g.value,headers:v.value})));return useRender((()=>{const n=VDataTableFooter.filterProps(t),s=VDataTableHeaders.filterProps(t),l=VDataTableRows.filterProps(t),c=VTable.filterProps(t);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--show-select":t.showSelect,"v-data-table--loading":t.loading},t.class],style:t.style},c,{fixedHeader:t.fixedHeader||t.sticky}),{top:()=>a.top?.(Be.value),default:()=>a.default?a.default(Be.value):createVNode(Fragment,null,[a.colgroup?.(Be.value),!t.hideDefaultHeader&&createVNode("thead",{key:"thead"},[createVNode(VDataTableHeaders,s,a)]),a.thead?.(Be.value),!t.hideDefaultBody&&createVNode("tbody",null,[a["body.prepend"]?.(Be.value),a.body?a.body(Be.value):createVNode(VDataTableRows,mergeProps(i,l,{items:Ee.value}),a),a["body.append"]?.(Be.value)]),a.tbody?.(Be.value),a.tfoot?.(Be.value)]),bottom:()=>a.bottom?a.bottom(Be.value):!t.hideDefaultFooter&&createVNode(Fragment,null,[createVNode(VDivider,null,null),createVNode(VDataTableFooter,n,{prepend:a["footer.prepend"]})])})})),{}}}),makeVDataTableVirtualProps=propsFactory({...makeDataTableProps(),...makeDataTableGroupProps(),...makeVirtualProps(),...makeFilterProps()},"VDataTableVirtual"),VDataTableVirtual=genericComponent()({name:"VDataTableVirtual",props:makeVDataTableVirtualProps(),emits:{"update:modelValue":t=>!0,"update:sortBy":t=>!0,"update:options":t=>!0,"update:groupBy":t=>!0,"update:expanded":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const{groupBy:s}=createGroupBy(t),{sortBy:l,multiSort:c,mustSort:u}=createSort(t),{disableSort:d}=toRefs(t),{columns:f,headers:m,filterFunctions:g,sortFunctions:v,sortRawFunctions:b}=createHeaders(t,{groupBy:s,showSelect:toRef(t,"showSelect"),showExpand:toRef(t,"showExpand")}),{items:w}=useDataTableItems(t,f),k=toRef(t,"search"),{filteredItems:S}=useFilter(t,w,k,{transform:t=>t.columns,customKeyFilter:g}),{toggleSort:C}=provideSort({sortBy:l,multiSort:c,mustSort:u}),{sortByWithGroups:E,opened:T,extractRows:P,isGroupOpen:I,toggleGroup:A}=provideGroupBy({groupBy:s,sortBy:l,disableSort:d}),{sortedItems:D}=useSortedItems(t,S,E,{transform:t=>({...t.raw,...t.columns}),sortFunctions:v,sortRawFunctions:b}),{flatItems:O}=useGroupedItems(D,s,T),_e=computed((()=>P(O.value))),{isSelected:be,select:we,selectAll:Se,toggleSelect:$e,someSelected:xe,allSelected:Ce}=provideSelection(t,{allItems:_e,currentPage:_e}),{isExpanded:Ee,toggleExpand:Ne}=provideExpanded(t),{containerRef:Pe,markerRef:Ie,paddingTop:Ae,paddingBottom:Me,computedItems:Re,handleItemResize:De,handleScroll:Oe,handleScrollend:Ve}=useVirtual(t,O),Be=computed((()=>Re.value.map((t=>t.raw))));useOptions({sortBy:l,page:shallowRef(1),itemsPerPage:shallowRef(-1),groupBy:s,search:k}),provideDefaults({VDataTableRows:{hideNoData:toRef(t,"hideNoData"),noDataText:toRef(t,"noDataText"),loading:toRef(t,"loading"),loadingText:toRef(t,"loadingText")}});const Le=computed((()=>({sortBy:l.value,toggleSort:C,someSelected:xe.value,allSelected:Ce.value,isSelected:be,select:we,selectAll:Se,toggleSelect:$e,isExpanded:Ee,toggleExpand:Ne,isGroupOpen:I,toggleGroup:A,items:_e.value.map((t=>t.raw)),internalItems:_e.value,groupedItems:O.value,columns:f.value,headers:m.value})));useRender((()=>{const n=VDataTableHeaders.filterProps(t),s=VDataTableRows.filterProps(t),l=VTable.filterProps(t);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--loading":t.loading},t.class],style:t.style},l,{fixedHeader:t.fixedHeader||t.sticky}),{top:()=>a.top?.(Le.value),wrapper:()=>createVNode("div",{ref:Pe,onScrollPassive:Oe,onScrollend:Ve,class:"v-table__wrapper",style:{height:convertToUnit(t.height)}},[createVNode("table",null,[a.colgroup?.(Le.value),!t.hideDefaultHeader&&createVNode("thead",{key:"thead"},[createVNode(VDataTableHeaders,n,a)]),!t.hideDefaultBody&&createVNode("tbody",null,[createVNode("tr",{ref:Ie,style:{height:convertToUnit(Ae.value),border:0}},[createVNode("td",{colspan:f.value.length,style:{height:0,border:0}},null)]),a["body.prepend"]?.(Le.value),createVNode(VDataTableRows,mergeProps(i,s,{items:Be.value}),{...a,item:t=>createVNode(VVirtualScrollItem,{key:t.internalItem.index,renderless:!0,"onUpdate:height":n=>De(t.internalItem.index,n)},{default:n=>{let{itemRef:i}=n;return a.item?.({...t,itemRef:i})??createVNode(VDataTableRow,mergeProps(t.props,{ref:i,key:t.internalItem.index,index:t.internalItem.index}),a)}})}),a["body.append"]?.(Le.value),createVNode("tr",{style:{height:convertToUnit(Me.value),border:0}},[createVNode("td",{colspan:f.value.length,style:{height:0,border:0}},null)])])])]),bottom:()=>a.bottom?.(Le.value)})}))}}),makeVDataTableServerProps=propsFactory({itemsLength:{type:[Number,String],required:!0},...makeDataTablePaginateProps(),...makeDataTableProps(),...makeVDataTableFooterProps()},"VDataTableServer"),VDataTableServer=genericComponent()({name:"VDataTableServer",props:makeVDataTableServerProps(),emits:{"update:modelValue":t=>!0,"update:page":t=>!0,"update:itemsPerPage":t=>!0,"update:sortBy":t=>!0,"update:options":t=>!0,"update:expanded":t=>!0,"update:groupBy":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const{groupBy:s}=createGroupBy(t),{sortBy:l,multiSort:c,mustSort:u}=createSort(t),{page:d,itemsPerPage:f}=createPagination(t),{disableSort:m}=toRefs(t),g=computed((()=>parseInt(t.itemsLength,10))),{columns:v,headers:b}=createHeaders(t,{groupBy:s,showSelect:toRef(t,"showSelect"),showExpand:toRef(t,"showExpand")}),{items:w}=useDataTableItems(t,v),{toggleSort:k}=provideSort({sortBy:l,multiSort:c,mustSort:u,page:d}),{opened:S,isGroupOpen:C,toggleGroup:E,extractRows:T}=provideGroupBy({groupBy:s,sortBy:l,disableSort:m}),{pageCount:P,setItemsPerPage:I}=providePagination({page:d,itemsPerPage:f,itemsLength:g}),{flatItems:A}=useGroupedItems(w,s,S),{isSelected:D,select:O,selectAll:_e,toggleSelect:be,someSelected:we,allSelected:Se}=provideSelection(t,{allItems:w,currentPage:w}),{isExpanded:$e,toggleExpand:xe}=provideExpanded(t),Ce=computed((()=>T(w.value)));useOptions({page:d,itemsPerPage:f,sortBy:l,groupBy:s,search:toRef(t,"search")}),provide("v-data-table",{toggleSort:k,sortBy:l}),provideDefaults({VDataTableRows:{hideNoData:toRef(t,"hideNoData"),noDataText:toRef(t,"noDataText"),loading:toRef(t,"loading"),loadingText:toRef(t,"loadingText")}});const Ee=computed((()=>({page:d.value,itemsPerPage:f.value,sortBy:l.value,pageCount:P.value,toggleSort:k,setItemsPerPage:I,someSelected:we.value,allSelected:Se.value,isSelected:D,select:O,selectAll:_e,toggleSelect:be,isExpanded:$e,toggleExpand:xe,isGroupOpen:C,toggleGroup:E,items:Ce.value.map((t=>t.raw)),internalItems:Ce.value,groupedItems:A.value,columns:v.value,headers:b.value})));useRender((()=>{const n=VDataTableFooter.filterProps(t),s=VDataTableHeaders.filterProps(t),l=VDataTableRows.filterProps(t),c=VTable.filterProps(t);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--loading":t.loading},t.class],style:t.style},c,{fixedHeader:t.fixedHeader||t.sticky}),{top:()=>a.top?.(Ee.value),default:()=>a.default?a.default(Ee.value):createVNode(Fragment,null,[a.colgroup?.(Ee.value),!t.hideDefaultHeader&&createVNode("thead",{key:"thead",class:"v-data-table__thead",role:"rowgroup"},[createVNode(VDataTableHeaders,s,a)]),a.thead?.(Ee.value),!t.hideDefaultBody&&createVNode("tbody",{class:"v-data-table__tbody",role:"rowgroup"},[a["body.prepend"]?.(Ee.value),a.body?a.body(Ee.value):createVNode(VDataTableRows,mergeProps(i,l,{items:A.value}),a),a["body.append"]?.(Ee.value)]),a.tbody?.(Ee.value),a.tfoot?.(Ee.value)]),bottom:()=>a.bottom?a.bottom(Ee.value):!t.hideDefaultFooter&&createVNode(Fragment,null,[createVNode(VDivider,null,null),createVNode(VDataTableFooter,n,{prepend:a["footer.prepend"]})])})}))}}),makeVContainerProps=propsFactory({fluid:{type:Boolean,default:!1},...makeComponentProps(),...makeDimensionProps(),...makeTagProps()},"VContainer"),VContainer=genericComponent()({name:"VContainer",props:makeVContainerProps(),setup(t,n){let{slots:i}=n;const{rtlClasses:a}=useRtl(),{dimensionStyles:s}=useDimension(t);return useRender((()=>createVNode(t.tag,{class:["v-container",{"v-container--fluid":t.fluid},a.value,t.class],style:[s.value,t.style]},i))),{}}}),breakpointProps=breakpoints.reduce(((t,n)=>(t[n]={type:[Boolean,String,Number],default:!1},t)),{}),offsetProps=breakpoints.reduce(((t,n)=>(t["offset"+capitalize(n)]={type:[String,Number],default:null},t)),{}),orderProps=breakpoints.reduce(((t,n)=>(t["order"+capitalize(n)]={type:[String,Number],default:null},t)),{}),propMap$1={col:Object.keys(breakpointProps),offset:Object.keys(offsetProps),order:Object.keys(orderProps)};function breakpointClass$1(t,n,i){let a=t;if(null!=i&&!1!==i){if(n){a+=`-${n.replace(t,"")}`}return"col"===t&&(a="v-"+a),"col"!==t||""!==i&&!0!==i?(a+=`-${i}`,a.toLowerCase()):a.toLowerCase()}}const ALIGN_SELF_VALUES=["auto","start","end","center","baseline","stretch"],makeVColProps=propsFactory({cols:{type:[Boolean,String,Number],default:!1},...breakpointProps,offset:{type:[String,Number],default:null},...offsetProps,order:{type:[String,Number],default:null},...orderProps,alignSelf:{type:String,default:null,validator:t=>ALIGN_SELF_VALUES.includes(t)},...makeComponentProps(),...makeTagProps()},"VCol"),VCol=genericComponent()({name:"VCol",props:makeVColProps(),setup(t,n){let{slots:i}=n;const a=computed((()=>{const n=[];let i;for(i in propMap$1)propMap$1[i].forEach((a=>{const s=t[a],l=breakpointClass$1(i,a,s);l&&n.push(l)}));const a=n.some((t=>t.startsWith("v-col-")));return n.push({"v-col":!a||!t.cols,[`v-col-${t.cols}`]:t.cols,[`offset-${t.offset}`]:t.offset,[`order-${t.order}`]:t.order,[`align-self-${t.alignSelf}`]:t.alignSelf}),n}));return()=>h$2(t.tag,{class:[a.value,t.class],style:t.style},i.default?.())}}),ALIGNMENT=["start","end","center"],SPACE=["space-between","space-around","space-evenly"];function makeRowProps(t,n){return breakpoints.reduce(((i,a)=>(i[t+capitalize(a)]=n(),i)),{})}const ALIGN_VALUES=[...ALIGNMENT,"baseline","stretch"],alignValidator=t=>ALIGN_VALUES.includes(t),alignProps=makeRowProps("align",(()=>({type:String,default:null,validator:alignValidator}))),JUSTIFY_VALUES=[...ALIGNMENT,...SPACE],justifyValidator=t=>JUSTIFY_VALUES.includes(t),justifyProps=makeRowProps("justify",(()=>({type:String,default:null,validator:justifyValidator}))),ALIGN_CONTENT_VALUES=[...ALIGNMENT,...SPACE,"stretch"],alignContentValidator=t=>ALIGN_CONTENT_VALUES.includes(t),alignContentProps=makeRowProps("alignContent",(()=>({type:String,default:null,validator:alignContentValidator}))),propMap={align:Object.keys(alignProps),justify:Object.keys(justifyProps),alignContent:Object.keys(alignContentProps)},classMap={align:"align",justify:"justify",alignContent:"align-content"};function breakpointClass(t,n,i){let a=classMap[t];if(null!=i){if(n){a+=`-${n.replace(t,"")}`}return a+=`-${i}`,a.toLowerCase()}}const makeVRowProps=propsFactory({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:alignValidator},...alignProps,justify:{type:String,default:null,validator:justifyValidator},...justifyProps,alignContent:{type:String,default:null,validator:alignContentValidator},...alignContentProps,...makeComponentProps(),...makeTagProps()},"VRow"),VRow=genericComponent()({name:"VRow",props:makeVRowProps(),setup(t,n){let{slots:i}=n;const a=computed((()=>{const n=[];let i;for(i in propMap)propMap[i].forEach((a=>{const s=t[a],l=breakpointClass(i,a,s);l&&n.push(l)}));return n.push({"v-row--no-gutters":t.noGutters,"v-row--dense":t.dense,[`align-${t.align}`]:t.align,[`justify-${t.justify}`]:t.justify,[`align-content-${t.alignContent}`]:t.alignContent}),n}));return()=>h$2(t.tag,{class:["v-row",a.value,t.class],style:t.style},i.default?.())}}),VSpacer=createSimpleFunctional("v-spacer","div","VSpacer"),makeVDatePickerControlsProps=propsFactory({active:{type:[String,Array],default:void 0},disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:IconValue,default:"$next"},prevIcon:{type:IconValue,default:"$prev"},modeIcon:{type:IconValue,default:"$subgroup"},text:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),VDatePickerControls=genericComponent()({name:"VDatePickerControls",props:makeVDatePickerControlsProps(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:text":()=>!0},setup(t,n){let{emit:i}=n;const a=computed((()=>Array.isArray(t.disabled)?t.disabled.includes("text"):!!t.disabled)),s=computed((()=>Array.isArray(t.disabled)?t.disabled.includes("mode"):!!t.disabled)),l=computed((()=>Array.isArray(t.disabled)?t.disabled.includes("prev"):!!t.disabled)),c=computed((()=>Array.isArray(t.disabled)?t.disabled.includes("next"):!!t.disabled));function u(){i("click:prev")}function d(){i("click:next")}function f(){i("click:year")}function m(){i("click:month")}return useRender((()=>createVNode("div",{class:["v-date-picker-controls"]},[createVNode(VBtn,{class:"v-date-picker-controls__month-btn",disabled:a.value,text:t.text,variant:"text",rounded:!0,onClick:m},null),createVNode(VBtn,{key:"mode-btn",class:"v-date-picker-controls__mode-btn",disabled:s.value,density:"comfortable",icon:t.modeIcon,variant:"text",onClick:f},null),createVNode(VSpacer,{key:"mode-spacer"},null),createVNode("div",{key:"month-buttons",class:"v-date-picker-controls__month"},[createVNode(VBtn,{disabled:l.value,icon:t.prevIcon,variant:"text",onClick:u},null),createVNode(VBtn,{disabled:c.value,icon:t.nextIcon,variant:"text",onClick:d},null)])]))),{}}}),makeVDatePickerHeaderProps=propsFactory({appendIcon:IconValue,color:String,header:String,transition:String,onClick:EventProp()},"VDatePickerHeader"),VDatePickerHeader=genericComponent()({name:"VDatePickerHeader",props:makeVDatePickerHeaderProps(),emits:{click:()=>!0,"click:append":()=>!0},setup(t,n){let{emit:i,slots:a}=n;const{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(t,"color");function c(){i("click")}function u(){i("click:append")}return useRender((()=>{const n=!(!a.default&&!t.header),i=!(!a.append&&!t.appendIcon);return createVNode("div",{class:["v-date-picker-header",{"v-date-picker-header--clickable":!!t.onClick},s.value],style:l.value,onClick:c},[a.prepend&&createVNode("div",{key:"prepend",class:"v-date-picker-header__prepend"},[a.prepend()]),n&&createVNode(MaybeTransition,{key:"content",name:t.transition},{default:()=>[createVNode("div",{key:t.header,class:"v-date-picker-header__content"},[a.default?.()??t.header])]}),i&&createVNode("div",{class:"v-date-picker-header__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!t.appendIcon,defaults:{VBtn:{icon:t.appendIcon,variant:"text"}}},{default:()=>[a.append?.()]}):createVNode(VBtn,{key:"append-btn",icon:t.appendIcon,variant:"text",onClick:u},null)])])})),{}}}),makeCalendarProps=propsFactory({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:[Number,String]},"calendar");function useCalendar(t){const n=useDate(),i=useProxiedModel(t,"modelValue",[],(t=>wrapInArray(t))),a=computed((()=>t.displayValue?n.date(t.displayValue):i.value.length>0?n.date(i.value[0]):t.min?n.date(t.min):Array.isArray(t.allowedDates)?n.date(t.allowedDates[0]):n.date())),s=useProxiedModel(t,"year",void 0,(t=>{const i=null!=t?Number(t):n.getYear(a.value);return n.startOfYear(n.setYear(n.date(),i))}),(t=>n.getYear(t))),l=useProxiedModel(t,"month",void 0,(t=>{const i=null!=t?Number(t):n.getMonth(a.value),l=n.setYear(n.startOfMonth(n.date()),n.getYear(s.value));return n.setMonth(l,i)}),(t=>n.getMonth(t))),c=computed((()=>t.firstDayOfWeek??t.weekdays[0])),u=computed((()=>{const n=Number(t.firstDayOfWeek??0);return t.weekdays.map((t=>(t+n)%7))})),d=computed((()=>{const i=n.getWeekArray(l.value,c.value),a=i.flat();if("static"===t.weeksInMonth&&a.length<42){const t=a[a.length-1];let s=[];for(let l=1;l<=42-a.length;l++)s.push(n.addDays(t,l)),l%7==0&&(i.push(s),s=[])}return i}));function f(a,s){return a.filter((t=>u.value.includes(n.toJsDate(t).getDay()))).map(((a,c)=>{const u=n.toISO(a),d=!n.isSameMonth(a,l.value),f=n.isSameDay(a,n.startOfMonth(l.value)),m=n.isSameDay(a,n.endOfMonth(l.value)),g=n.isSameDay(a,l.value);return{date:a,isoDate:u,formatted:n.format(a,"keyboardDate"),year:n.getYear(a),month:n.getMonth(a),isDisabled:b(a),isWeekStart:c%7==0,isWeekEnd:c%7==6,isToday:n.isSameDay(a,s),isAdjacent:d,isHidden:d&&!t.showAdjacentMonths,isStart:f,isSelected:i.value.some((t=>n.isSameDay(a,t))),isEnd:m,isSame:g,localized:n.format(a,"dayOfMonth")}}))}const m=computed((()=>{const i=n.startOfWeek(a.value,t.firstDayOfWeek),s=[];for(let t=0;t<=6;t++)s.push(n.addDays(i,t));return f(s,n.date())})),g=computed((()=>f(d.value.flat(),n.date()))),v=computed((()=>d.value.map((t=>t.length?getWeek(n,t[0]):null))));function b(i){if(t.disabled)return!0;const a=n.date(i);return!(!t.min||!n.isAfter(n.date(t.min),a))||(!(!t.max||!n.isAfter(a,n.date(t.max)))||(Array.isArray(t.allowedDates)&&t.allowedDates.length>0?!t.allowedDates.some((t=>n.isSameDay(n.date(t),a))):"function"==typeof t.allowedDates&&!t.allowedDates(a)))}return{displayValue:a,daysInMonth:g,daysInWeek:m,genDays:f,model:i,weeksInMonth:d,weekDays:u,weekNumbers:v}}const makeVDatePickerMonthProps=propsFactory({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},...omit(makeCalendarProps(),["displayValue"])},"VDatePickerMonth"),VDatePickerMonth=genericComponent()({name:"VDatePickerMonth",props:makeVDatePickerMonthProps(),emits:{"update:modelValue":t=>!0,"update:month":t=>!0,"update:year":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=ref(),{daysInMonth:l,model:c,weekNumbers:u}=useCalendar(t),d=useDate(),f=shallowRef(),m=shallowRef(),g=shallowRef(!1),v=computed((()=>g.value?t.reverseTransition:t.transition));"range"===t.multiple&&c.value.length>0&&(f.value=c.value[0],c.value.length>1&&(m.value=c.value[c.value.length-1]));const b=computed((()=>{const n=["number","string"].includes(typeof t.multiple)?Number(t.multiple):1/0;return c.value.length>=n}));function w(n){"range"===t.multiple?function(t){const n=d.startOfDay(t);if(0===c.value.length?f.value=void 0:1===c.value.length&&(f.value=c.value[0],m.value=void 0),f.value)if(m.value)f.value=t,m.value=void 0,c.value=[f.value];else{if(d.isSameDay(n,f.value))return f.value=void 0,void(c.value=[]);d.isBefore(n,f.value)?(m.value=d.endOfDay(f.value),f.value=n):m.value=d.endOfDay(n);const t=d.getDiff(m.value,f.value,"days"),i=[f.value];for(let n=1;n<t;n++){const t=d.addDays(f.value,n);i.push(t)}i.push(m.value),c.value=i}else f.value=n,c.value=[f.value]}(n):t.multiple?function(t){const n=c.value.findIndex((n=>d.isSameDay(n,t)));if(-1===n)c.value=[...c.value,t];else{const t=[...c.value];t.splice(n,1),c.value=t}}(n):c.value=[n]}return watch(l,((t,n)=>{n&&(g.value=d.isBefore(t[0].date,n[0].date))})),()=>createVNode("div",{class:"v-date-picker-month"},[t.showWeek&&createVNode("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!t.hideWeekdays&&createVNode("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[createTextVNode(" ")]),u.value.map((t=>createVNode("div",{class:["v-date-picker-month__day","v-date-picker-month__day--adjacent"]},[t])))]),createVNode(MaybeTransition,{name:v.value},{default:()=>[createVNode("div",{ref:s,key:l.value[0].date?.toString(),class:"v-date-picker-month__days"},[!t.hideWeekdays&&d.getWeekdays(t.firstDayOfWeek).map((t=>createVNode("div",{class:["v-date-picker-month__day","v-date-picker-month__weekday"]},[t]))),l.value.map(((n,i)=>{const s={props:{onClick:()=>w(n.date)},item:n,i:i};return b.value&&!n.isSelected&&(n.isDisabled=!0),createVNode("div",{class:["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":n.isAdjacent,"v-date-picker-month__day--hide-adjacent":n.isHidden,"v-date-picker-month__day--selected":n.isSelected,"v-date-picker-month__day--week-end":n.isWeekEnd,"v-date-picker-month__day--week-start":n.isWeekStart}],"data-v-date":n.isDisabled?void 0:n.isoDate},[(t.showAdjacentMonths||!n.isAdjacent)&&createVNode(VDefaultsProvider,{defaults:{VBtn:{class:"v-date-picker-month__day-btn",color:!n.isSelected&&!n.isToday||n.isDisabled?void 0:t.color,disabled:n.isDisabled,icon:!0,ripple:!1,text:n.localized,variant:n.isDisabled?n.isToday?"outlined":"text":n.isToday&&!n.isSelected?"outlined":"flat",onClick:()=>w(n.date)}}},{default:()=>[a.day?.(s)??createVNode(VBtn,s.props,null)]})])}))])]})])}}),makeVDatePickerMonthsProps=propsFactory({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number},"VDatePickerMonths"),VDatePickerMonths=genericComponent()({name:"VDatePickerMonths",props:makeVDatePickerMonthsProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useDate(),l=useProxiedModel(t,"modelValue"),c=computed((()=>{let n=s.startOfYear(s.date());return t.year&&(n=s.setYear(n,t.year)),createRange(12).map((i=>{const a=s.format(n,"monthShort"),l=!!(t.min&&s.isAfter(s.startOfMonth(s.date(t.min)),n)||t.max&&s.isAfter(n,s.startOfMonth(s.date(t.max))));return n=s.getNextMonth(n),{isDisabled:l,text:a,value:i}}))}));return watchEffect((()=>{l.value=l.value??s.getMonth(s.date())})),useRender((()=>createVNode("div",{class:"v-date-picker-months",style:{height:convertToUnit(t.height)}},[createVNode("div",{class:"v-date-picker-months__content"},[c.value.map(((n,s)=>{const c={active:l.value===s,color:l.value===s?t.color:void 0,disabled:n.isDisabled,rounded:!0,text:n.text,variant:l.value===n.value?"flat":"text",onClick:()=>function(t){if(l.value===t)return void i("update:modelValue",l.value);l.value=t}(s)};return a.month?.({month:n,i:s,props:c})??createVNode(VBtn,mergeProps({key:"month"},c),null)}))])]))),{}}}),makeVDatePickerYearsProps=propsFactory({color:String,height:[String,Number],min:null,max:null,modelValue:Number},"VDatePickerYears"),VDatePickerYears=genericComponent()({name:"VDatePickerYears",props:makeVDatePickerYearsProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useDate(),l=useProxiedModel(t,"modelValue"),c=computed((()=>{const n=s.getYear(s.date());let i=n-100,a=n+52;t.min&&(i=s.getYear(s.date(t.min))),t.max&&(a=s.getYear(s.date(t.max)));let l=s.startOfYear(s.date());return l=s.setYear(l,i),createRange(a-i+1,i).map((t=>{const n=s.format(l,"year");return l=s.setYear(l,s.getYear(l)+1),{text:n,value:t}}))}));watchEffect((()=>{l.value=l.value??s.getYear(s.date())}));const u=templateRef();return onMounted((async()=>{await nextTick$2(),u.el?.scrollIntoView({block:"center"})})),useRender((()=>createVNode("div",{class:"v-date-picker-years",style:{height:convertToUnit(t.height)}},[createVNode("div",{class:"v-date-picker-years__content"},[c.value.map(((n,s)=>{const c={ref:l.value===n.value?u:void 0,active:l.value===n.value,color:l.value===n.value?t.color:void 0,rounded:!0,text:n.text,variant:l.value===n.value?"flat":"text",onClick:()=>{l.value!==n.value?l.value=n.value:i("update:modelValue",l.value)}};return a.year?.({year:n,i:s,props:c})??createVNode(VBtn,mergeProps({key:"month"},c),null)}))])]))),{}}}),VPickerTitle=createSimpleFunctional("v-picker-title"),makeVPickerProps=propsFactory({bgColor:String,landscape:Boolean,title:String,hideHeader:Boolean,...makeVSheetProps()},"VPicker"),VPicker=genericComponent()({name:"VPicker",props:makeVPickerProps(),setup(t,n){let{slots:i}=n;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(t,"color"));return useRender((()=>{const n=VSheet.filterProps(t),l=!(!t.title&&!i.title);return createVNode(VSheet,mergeProps(n,{color:t.bgColor,class:["v-picker",{"v-picker--landscape":t.landscape,"v-picker--with-actions":!!i.actions},t.class],style:t.style}),{default:()=>[!t.hideHeader&&createVNode("div",{key:"header",class:[a.value],style:[s.value]},[l&&createVNode(VPickerTitle,{key:"picker-title"},{default:()=>[i.title?.()??t.title]}),i.header&&createVNode("div",{class:"v-picker__header"},[i.header()])]),createVNode("div",{class:"v-picker__body"},[i.default?.()]),i.actions&&createVNode(VDefaultsProvider,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[createVNode("div",{class:"v-picker__actions"},[i.actions()])]})]})})),{}}}),makeVDatePickerProps=propsFactory({header:{type:String,default:"$vuetify.datePicker.header"},...makeVDatePickerControlsProps(),...makeVDatePickerMonthProps({weeksInMonth:"static"}),...omit(makeVDatePickerMonthsProps(),["modelValue"]),...omit(makeVDatePickerYearsProps(),["modelValue"]),...makeVPickerProps({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),VDatePicker=genericComponent()({name:"VDatePicker",props:makeVDatePickerProps(),emits:{"update:modelValue":t=>!0,"update:month":t=>!0,"update:year":t=>!0,"update:viewMode":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const s=useDate(),{t:l}=useLocale(),c=useProxiedModel(t,"modelValue",void 0,(t=>wrapInArray(t)),(n=>t.multiple?n:n[0])),u=useProxiedModel(t,"viewMode"),d=computed((()=>{const n=s.date(t.min);return t.min&&s.isValid(n)?n:null})),f=computed((()=>{const n=s.date(t.max);return t.max&&s.isValid(n)?n:null})),m=computed((()=>{const t=s.date();let n=t;return c.value?.[0]?n=s.date(c.value[0]):d.value&&s.isBefore(t,d.value)?n=d.value:f.value&&s.isAfter(t,f.value)&&(n=f.value),n&&s.isValid(n)?n:t})),g=ref(Number(t.month??s.getMonth(s.startOfMonth(m.value)))),v=ref(Number(t.year??s.getYear(s.startOfYear(s.setMonth(m.value,g.value))))),b=shallowRef(!1),w=computed((()=>t.multiple&&c.value.length>1?l("$vuetify.datePicker.itemsSelected",c.value.length):c.value[0]&&s.isValid(c.value[0])?s.format(s.date(c.value[0]),"normalDateWithWeekday"):l(t.header))),k=computed((()=>{let t=s.date();return t=s.setDate(t,1),t=s.setMonth(t,g.value),t=s.setYear(t,v.value),s.format(t,"monthAndYear")})),S=computed((()=>`date-picker-header${b.value?"-reverse":""}-transition`)),C=computed((()=>{if(t.disabled)return!0;const n=[];if("month"!==u.value)n.push("prev","next");else{let t=s.date();if(t=s.startOfMonth(t),t=s.setMonth(t,g.value),t=s.setYear(t,v.value),d.value){const i=s.addDays(s.startOfMonth(t),-1);s.isAfter(d.value,i)&&n.push("prev")}if(f.value){const i=s.addDays(s.endOfMonth(t),1);s.isAfter(i,f.value)&&n.push("next")}}return n}));function E(){g.value<11?g.value++:(v.value++,g.value=0,O(v.value)),D(g.value)}function T(){g.value>0?g.value--:(v.value--,g.value=11,O(v.value)),D(g.value)}function P(){u.value="month"}function I(){u.value="months"===u.value?"month":"months"}function A(){u.value="year"===u.value?"month":"year"}function D(t){"months"===u.value&&I(),i("update:month",t)}function O(t){"year"===u.value&&A(),i("update:year",t)}return watch(c,((t,n)=>{const i=wrapInArray(n),a=wrapInArray(t);if(!a.length)return;const l=s.date(i[i.length-1]),c=s.date(a[a.length-1]),u=s.getMonth(c),d=s.getYear(c);u!==g.value&&(g.value=u,D(g.value)),d!==v.value&&(v.value=d,O(v.value)),b.value=s.isBefore(l,c)})),useRender((()=>{const n=VPicker.filterProps(t),i=VDatePickerControls.filterProps(t),s=VDatePickerHeader.filterProps(t),m=VDatePickerMonth.filterProps(t),b=omit(VDatePickerMonths.filterProps(t),["modelValue"]),_e=omit(VDatePickerYears.filterProps(t),["modelValue"]),be={header:w.value,transition:S.value};return createVNode(VPicker,mergeProps(n,{class:["v-date-picker",`v-date-picker--${u.value}`,{"v-date-picker--show-week":t.showWeek},t.class],style:t.style}),{title:()=>a.title?.()??createVNode("div",{class:"v-date-picker__title"},[l(t.title)]),header:()=>a.header?createVNode(VDefaultsProvider,{defaults:{VDatePickerHeader:{...be}}},{default:()=>[a.header?.(be)]}):createVNode(VDatePickerHeader,mergeProps({key:"header"},s,be,{onClick:"month"!==u.value?P:void 0}),{...a,default:void 0}),default:()=>createVNode(Fragment,null,[createVNode(VDatePickerControls,mergeProps(i,{disabled:C.value,text:k.value,"onClick:next":E,"onClick:prev":T,"onClick:month":I,"onClick:year":A}),null),createVNode(VFadeTransition,{hideOnLeave:!0},{default:()=>["months"===u.value?createVNode(VDatePickerMonths,mergeProps({key:"date-picker-months"},b,{modelValue:g.value,"onUpdate:modelValue":[t=>g.value=t,D],min:d.value,max:f.value,year:v.value}),null):"year"===u.value?createVNode(VDatePickerYears,mergeProps({key:"date-picker-years"},_e,{modelValue:v.value,"onUpdate:modelValue":[t=>v.value=t,O],min:d.value,max:f.value}),null):createVNode(VDatePickerMonth,mergeProps({key:"date-picker-month"},m,{modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,month:g.value,"onUpdate:month":[t=>g.value=t,D],year:v.value,"onUpdate:year":[t=>v.value=t,O],min:d.value,max:f.value}),null)]})]),actions:a.actions})})),{}}}),makeVEmptyStateProps=propsFactory({actionText:String,bgColor:String,color:String,icon:IconValue,image:String,justify:{type:String,default:"center"},headline:String,title:String,text:String,textWidth:{type:[Number,String],default:500},href:String,to:String,...makeComponentProps(),...makeDimensionProps(),...makeSizeProps({size:void 0}),...makeThemeProps()},"VEmptyState"),VEmptyState=genericComponent()({name:"VEmptyState",props:makeVEmptyStateProps(),emits:{"click:action":t=>!0},setup(t,n){let{emit:i,slots:a}=n;const{themeClasses:s}=provideTheme(t),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(t,"bgColor")),{dimensionStyles:u}=useDimension(t),{displayClasses:d}=useDisplay();function f(t){i("click:action",t)}return useRender((()=>{const n=!(!a.actions&&!t.actionText),i=!(!a.headline&&!t.headline),m=!(!a.title&&!t.title),g=!(!a.text&&!t.text),v=!!(a.media||t.image||t.icon),b=t.size||(t.image?200:96);return createVNode("div",{class:["v-empty-state",{[`v-empty-state--${t.justify}`]:!0},s.value,l.value,d.value,t.class],style:[c.value,u.value,t.style]},[v&&createVNode("div",{key:"media",class:"v-empty-state__media"},[a.media?createVNode(VDefaultsProvider,{key:"media-defaults",defaults:{VImg:{src:t.image,height:b},VIcon:{size:b,icon:t.icon}}},{default:()=>[a.media()]}):createVNode(Fragment,null,[t.image?createVNode(VImg,{key:"image",src:t.image,height:b},null):t.icon?createVNode(VIcon,{key:"icon",color:t.color,size:b,icon:t.icon},null):void 0])]),i&&createVNode("div",{key:"headline",class:"v-empty-state__headline"},[a.headline?.()??t.headline]),m&&createVNode("div",{key:"title",class:"v-empty-state__title"},[a.title?.()??t.title]),g&&createVNode("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:convertToUnit(t.textWidth)}},[a.text?.()??t.text]),a.default&&createVNode("div",{key:"content",class:"v-empty-state__content"},[a.default()]),n&&createVNode("div",{key:"actions",class:"v-empty-state__actions"},[createVNode(VDefaultsProvider,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:t.color??"surface-variant",text:t.actionText}}},{default:()=>[a.actions?.({props:{onClick:f}})??createVNode(VBtn,{onClick:f},null)]})])])})),{}}}),VExpansionPanelSymbol=Symbol.for("vuetify:v-expansion-panel"),makeVExpansionPanelTextProps=propsFactory({...makeComponentProps(),...makeLazyProps()},"VExpansionPanelText"),VExpansionPanelText=genericComponent()({name:"VExpansionPanelText",props:makeVExpansionPanelTextProps(),setup(t,n){let{slots:i}=n;const a=inject$1(VExpansionPanelSymbol);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:l}=useLazy(t,a.isSelected);return useRender((()=>createVNode(VExpandTransition,{onAfterLeave:l},{default:()=>[withDirectives(createVNode("div",{class:["v-expansion-panel-text",t.class],style:t.style},[i.default&&s.value&&createVNode("div",{class:"v-expansion-panel-text__wrapper"},[i.default?.()])]),[[vShow,a.isSelected.value]])]}))),{}}}),makeVExpansionPanelTitleProps=propsFactory({color:String,expandIcon:{type:IconValue,default:"$expand"},collapseIcon:{type:IconValue,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...makeComponentProps(),...makeDimensionProps()},"VExpansionPanelTitle"),VExpansionPanelTitle=genericComponent()({name:"VExpansionPanelTitle",directives:{Ripple:Ripple},props:makeVExpansionPanelTitleProps(),setup(t,n){let{slots:i}=n;const a=inject$1(VExpansionPanelSymbol);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(t,"color"),{dimensionStyles:c}=useDimension(t),u=computed((()=>({collapseIcon:t.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:t.expandIcon,readonly:t.readonly}))),d=computed((()=>a.isSelected.value?t.collapseIcon:t.expandIcon));return useRender((()=>withDirectives(createVNode("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":t.focusable,"v-expansion-panel-title--static":t.static},s.value,t.class],style:[l.value,c.value,t.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:t.readonly?void 0:a.toggle},[createVNode("span",{class:"v-expansion-panel-title__overlay"},null),i.default?.(u.value),!t.hideActions&&createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:d.value}}},{default:()=>[createVNode("span",{class:"v-expansion-panel-title__icon"},[i.actions?.(u.value)??createVNode(VIcon,null,null)])]})]),[[resolveDirective("ripple"),t.ripple]]))),{}}}),makeVExpansionPanelProps=propsFactory({title:String,text:String,bgColor:String,...makeElevationProps(),...makeGroupItemProps(),...makeRoundedProps(),...makeTagProps(),...makeVExpansionPanelTitleProps(),...makeVExpansionPanelTextProps()},"VExpansionPanel"),VExpansionPanel=genericComponent()({name:"VExpansionPanel",props:makeVExpansionPanelProps(),emits:{"group:selected":t=>!0},setup(t,n){let{slots:i}=n;const a=useGroupItem(t,VExpansionPanelSymbol),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(t,"bgColor"),{elevationClasses:c}=useElevation(t),{roundedClasses:u}=useRounded(t),d=computed((()=>a?.disabled.value||t.disabled)),f=computed((()=>a.group.items.value.reduce(((t,n,i)=>(a.group.selected.value.includes(n.id)&&t.push(i),t)),[]))),m=computed((()=>{const t=a.group.items.value.findIndex((t=>t.id===a.id));return!a.isSelected.value&&f.value.some((n=>n-t==1))})),g=computed((()=>{const t=a.group.items.value.findIndex((t=>t.id===a.id));return!a.isSelected.value&&f.value.some((n=>n-t==-1))}));return provide(VExpansionPanelSymbol,a),useRender((()=>{const n=!(!i.text&&!t.text),f=!(!i.title&&!t.title),v=VExpansionPanelTitle.filterProps(t),b=VExpansionPanelText.filterProps(t);return createVNode(t.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":m.value,"v-expansion-panel--after-active":g.value,"v-expansion-panel--disabled":d.value},u.value,s.value,t.class],style:[l.value,t.style]},{default:()=>[createVNode("div",{class:["v-expansion-panel__shadow",...c.value]},null),createVNode(VDefaultsProvider,{defaults:{VExpansionPanelTitle:{...v},VExpansionPanelText:{...b}}},{default:()=>[f&&createVNode(VExpansionPanelTitle,{key:"title"},{default:()=>[i.title?i.title():t.title]}),n&&createVNode(VExpansionPanelText,{key:"text"},{default:()=>[i.text?i.text():t.text]}),i.default?.()]})]})})),{groupItem:a}}}),allowedVariants=["default","accordion","inset","popout"],makeVExpansionPanelsProps=propsFactory({flat:Boolean,...makeGroupProps(),...pick$2(makeVExpansionPanelProps(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...makeThemeProps(),...makeComponentProps(),...makeTagProps(),variant:{type:String,default:"default",validator:t=>allowedVariants.includes(t)}},"VExpansionPanels"),VExpansionPanels=genericComponent()({name:"VExpansionPanels",props:makeVExpansionPanelsProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{next:a,prev:s}=useGroup(t,VExpansionPanelSymbol),{themeClasses:l}=provideTheme(t),c=computed((()=>t.variant&&`v-expansion-panels--variant-${t.variant}`));return provideDefaults({VExpansionPanel:{bgColor:toRef(t,"bgColor"),collapseIcon:toRef(t,"collapseIcon"),color:toRef(t,"color"),eager:toRef(t,"eager"),elevation:toRef(t,"elevation"),expandIcon:toRef(t,"expandIcon"),focusable:toRef(t,"focusable"),hideActions:toRef(t,"hideActions"),readonly:toRef(t,"readonly"),ripple:toRef(t,"ripple"),rounded:toRef(t,"rounded"),static:toRef(t,"static")}}),useRender((()=>createVNode(t.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":t.flat,"v-expansion-panels--tile":t.tile},l.value,c.value,t.class],style:t.style},{default:()=>[i.default?.({prev:s,next:a})]}))),{next:a,prev:s}}}),makeVFabProps=propsFactory({app:Boolean,appear:Boolean,extended:Boolean,layout:Boolean,offset:Boolean,modelValue:{type:Boolean,default:!0},...omit(makeVBtnProps({active:!0}),["location"]),...makeLayoutItemProps(),...makeLocationProps(),...makeTransitionProps({transition:"fab-transition"})},"VFab"),VFab=genericComponent()({name:"VFab",props:makeVFabProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),s=shallowRef(56),l=ref(),{resizeRef:c}=useResizeObserver((t=>{t.length&&(s.value=t[0].target.clientHeight)})),u=computed((()=>t.app||t.absolute)),d=computed((()=>!!u.value&&(t.location?.split(" ").shift()??"bottom"))),f=computed((()=>!!u.value&&(t.location?.split(" ")[1]??"end")));useToggleScope((()=>t.app),(()=>{const n=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:d,layoutSize:computed((()=>t.layout?s.value+24:0)),elementSize:computed((()=>s.value+24)),active:computed((()=>t.app&&a.value)),absolute:toRef(t,"absolute")});watchEffect((()=>{l.value=n.layoutItemStyles.value}))}));const m=ref();return useRender((()=>{const n=VBtn.filterProps(t);return createVNode("div",{ref:m,class:["v-fab",{"v-fab--absolute":t.absolute,"v-fab--app":!!t.app,"v-fab--extended":t.extended,"v-fab--offset":t.offset,[`v-fab--${d.value}`]:u.value,[`v-fab--${f.value}`]:u.value},t.class],style:[t.app?{...l.value}:{height:t.absolute?"100%":"inherit"},t.style]},[createVNode("div",{class:"v-fab__container"},[createVNode(MaybeTransition,{appear:t.appear,transition:t.transition},{default:()=>[withDirectives(createVNode(VBtn,mergeProps({ref:c},n,{active:void 0,location:void 0}),i),[[vShow,t.active]])]})])])})),{}}}),makeVFileInputProps=propsFactory({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>"boolean"==typeof t||[1e3,1024].includes(Number(t))},...makeVInputProps({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>wrapInArray(t).every((t=>null!=t&&"object"==typeof t))},...makeVFieldProps({clearable:!0})},"VFileInput"),VFileInput=genericComponent()({name:"VFileInput",inheritAttrs:!1,props:makeVFileInputProps(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{t:l}=useLocale(),c=useProxiedModel(t,"modelValue",t.modelValue,(t=>wrapInArray(t)),(n=>!t.multiple&&Array.isArray(n)?n[0]:n)),{isFocused:u,focus:d,blur:f}=useFocus(t),m=computed((()=>"boolean"!=typeof t.showSize?t.showSize:void 0)),g=computed((()=>(c.value??[]).reduce(((t,n)=>{let{size:i=0}=n;return t+i}),0))),v=computed((()=>humanReadableFileSize(g.value,m.value))),b=computed((()=>(c.value??[]).map((n=>{const{name:i="",size:a=0}=n;return t.showSize?`${i} (${humanReadableFileSize(a,m.value)})`:i})))),w=computed((()=>{const n=c.value?.length??0;return t.showSize?l(t.counterSizeString,n,v.value):l(t.counterString,n)})),k=ref(),S=ref(),C=ref(),E=computed((()=>u.value||t.active)),T=computed((()=>["plain","underlined"].includes(t.variant)));function P(){C.value!==document.activeElement&&C.value?.focus(),u.value||d()}function I(t){C.value?.click()}function A(t){a("mousedown:control",t)}function D(t){C.value?.click(),a("click:control",t)}function O(n){n.stopPropagation(),P(),nextTick$2((()=>{c.value=[],callEvent(t["onClick:clear"],n)}))}function _e(t){t.preventDefault()}function be(t){t.preventDefault(),t.dataTransfer&&(c.value=[...t.dataTransfer.files??[]])}return watch(c,(t=>{(!Array.isArray(t)||!t.length)&&C.value&&(C.value.value="")})),useRender((()=>{const n=!(!s.counter&&!t.counter),a=!(!n&&!s.details),[l,d]=filterInputAttrs(i),{modelValue:m,...we}=VInput.filterProps(t),Se=filterFieldProps(t);return createVNode(VInput,mergeProps({ref:k,modelValue:t.multiple?c.value:c.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":T.value},t.class],style:t.style,"onClick:prepend":I},l,we,{centerAffix:!T.value,focused:u.value}),{...s,default:n=>{let{id:i,isDisabled:a,isDirty:l,isReadonly:m,isValid:w}=n;return createVNode(VField,mergeProps({ref:S,"prepend-icon":t.prependIcon,onMousedown:A,onClick:D,"onClick:clear":O,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},Se,{id:i.value,active:E.value||l.value,dirty:l.value||t.dirty,disabled:a.value,focused:u.value,error:!1===w.value,onDragover:_e,onDrop:be}),{...s,default:n=>{let{props:{class:i,...l}}=n;return createVNode(Fragment,null,[createVNode("input",mergeProps({ref:C,type:"file",readonly:m.value,disabled:a.value,multiple:t.multiple,name:t.name,onClick:t=>{t.stopPropagation(),m.value&&t.preventDefault(),P()},onChange:t=>{if(!t.target)return;const n=t.target;c.value=[...n.files??[]]},onFocus:P,onBlur:f},l,d),null),createVNode("div",{class:i},[!!c.value?.length&&!t.hideInput&&(s.selection?s.selection({fileNames:b.value,totalBytes:g.value,totalBytesReadable:v.value}):t.chips?b.value.map((t=>createVNode(VChip,{key:t,size:"small",text:t},null))):b.value.join(", "))])])}})},details:a?i=>createVNode(Fragment,null,[s.details?.(i),n&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:!!c.value?.length,value:w.value,disabled:t.disabled},s.counter)])]):void 0})})),forwardRefs({},k,S,C)}}),makeVFooterProps=propsFactory({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...makeBorderProps(),...makeComponentProps(),...makeElevationProps(),...makeLayoutItemProps(),...makeRoundedProps(),...makeTagProps({tag:"footer"}),...makeThemeProps()},"VFooter"),VFooter=genericComponent()({name:"VFooter",props:makeVFooterProps(),setup(t,n){let{slots:i}=n;const a=ref(),{themeClasses:s}=provideTheme(t),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(t,"color")),{borderClasses:u}=useBorder(t),{elevationClasses:d}=useElevation(t),{roundedClasses:f}=useRounded(t),m=shallowRef(32),{resizeRef:g}=useResizeObserver((t=>{t.length&&(m.value=t[0].target.clientHeight)})),v=computed((()=>"auto"===t.height?m.value:parseInt(t.height,10)));return useToggleScope((()=>t.app),(()=>{const n=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:computed((()=>"bottom")),layoutSize:v,elementSize:computed((()=>"auto"===t.height?void 0:v.value)),active:computed((()=>t.app)),absolute:toRef(t,"absolute")});watchEffect((()=>{a.value=n.layoutItemStyles.value}))})),useRender((()=>createVNode(t.tag,{ref:g,class:["v-footer",s.value,l.value,u.value,d.value,f.value,t.class],style:[c.value,t.app?a.value:{height:convertToUnit(t.height)},t.style]},i))),{}}}),makeVFormProps=propsFactory({...makeComponentProps(),...makeFormProps()},"VForm"),VForm=genericComponent()({name:"VForm",props:makeVFormProps(),emits:{"update:modelValue":t=>!0,submit:t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=createForm(t),l=ref();function c(t){t.preventDefault(),s.reset()}function u(t){const n=t,i=s.validate();n.then=i.then.bind(i),n.catch=i.catch.bind(i),n.finally=i.finally.bind(i),a("submit",n),n.defaultPrevented||i.then((t=>{let{valid:n}=t;n&&l.value?.submit()})),n.preventDefault()}return useRender((()=>createVNode("form",{ref:l,class:["v-form",t.class],style:t.style,novalidate:!0,onReset:c,onSubmit:u},[i.default?.(s)]))),forwardRefs(s,l)}}),makeVHoverProps=propsFactory({disabled:Boolean,modelValue:{type:Boolean,default:null},...makeDelayProps()},"VHover"),VHover=genericComponent()({name:"VHover",props:makeVHoverProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{runOpenDelay:s,runCloseDelay:l}=useDelay(t,(n=>!t.disabled&&(a.value=n)));return()=>i.default?.({isHovering:a.value,props:{onMouseenter:s,onMouseleave:l}})}}),makeVInfiniteScrollProps=propsFactory({color:String,direction:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)},side:{type:String,default:"end",validator:t=>["start","end","both"].includes(t)},mode:{type:String,default:"intersect",validator:t=>["intersect","manual"].includes(t)},margin:[Number,String],loadMoreText:{type:String,default:"$vuetify.infiniteScroll.loadMore"},emptyText:{type:String,default:"$vuetify.infiniteScroll.empty"},...makeDimensionProps(),...makeTagProps()},"VInfiniteScroll"),VInfiniteScrollIntersect=defineComponent({name:"VInfiniteScrollIntersect",props:{side:{type:String,required:!0},rootMargin:String},emits:{intersect:(t,n)=>!0},setup(t,n){let{emit:i}=n;const{intersectionRef:a,isIntersecting:s}=useIntersectionObserver();return watch(s,(async n=>{i("intersect",t.side,n)})),useRender((()=>createVNode("div",{class:"v-infinite-scroll-intersect",style:{"--v-infinite-margin-size":t.rootMargin},ref:a},[createTextVNode(" ")]))),{}}}),VInfiniteScroll=genericComponent()({name:"VInfiniteScroll",props:makeVInfiniteScrollProps(),emits:{load:t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=ref(),l=shallowRef("ok"),c=shallowRef("ok"),u=computed((()=>convertToUnit(t.margin))),d=shallowRef(!1);function f(n){if(!s.value)return;const i="vertical"===t.direction?"scrollTop":"scrollLeft";s.value[i]=n}function m(){if(!s.value)return 0;const n="vertical"===t.direction?"scrollHeight":"scrollWidth";return s.value[n]}function g(t,n){"start"===t?l.value=n:"end"===t&&(c.value=n)}onMounted((()=>{s.value&&("start"===t.side?f(m()):"both"===t.side&&f(m()/2-function(){if(!s.value)return 0;const n="vertical"===t.direction?"clientHeight":"clientWidth";return s.value[n]}()/2))}));let v=0;function b(t,n){d.value=n,d.value&&w(t)}function w(n){if("manual"!==t.mode&&!d.value)return;const i=function(t){return"start"===t?l.value:c.value}(n);s.value&&!["empty","loading"].includes(i)&&(v=m(),g(n,"loading"),a("load",{side:n,done:function(i){g(n,i),nextTick$2((()=>{"empty"!==i&&"error"!==i&&("ok"===i&&"start"===n&&f(m()-v+function(){if(!s.value)return 0;const n="vertical"===t.direction?"scrollTop":"scrollLeft";return s.value[n]}()),"manual"!==t.mode&&nextTick$2((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{w(n)}))}))}))})))}))}}))}const{t:k}=useLocale();function S(n,a){if(t.side!==n&&"both"!==t.side)return;const s=()=>w(n),l={side:n,props:{onClick:s,color:t.color}};return"error"===a?i.error?.(l):"empty"===a?i.empty?.(l)??createVNode("div",null,[k(t.emptyText)]):"manual"===t.mode?"loading"===a?i.loading?.(l)??createVNode(VProgressCircular,{indeterminate:!0,color:t.color},null):i["load-more"]?.(l)??createVNode(VBtn,{variant:"outlined",color:t.color,onClick:s},{default:()=>[k(t.loadMoreText)]}):i.loading?.(l)??createVNode(VProgressCircular,{indeterminate:!0,color:t.color},null)}const{dimensionStyles:C}=useDimension(t);useRender((()=>{const n=t.tag,a="start"===t.side||"both"===t.side,d="end"===t.side||"both"===t.side,f="intersect"===t.mode;return createVNode(n,{ref:s,class:["v-infinite-scroll",`v-infinite-scroll--${t.direction}`,{"v-infinite-scroll--start":a,"v-infinite-scroll--end":d}],style:C.value},{default:()=>[createVNode("div",{class:"v-infinite-scroll__side"},[S("start",l.value)]),a&&f&&createVNode(VInfiniteScrollIntersect,{key:"start",side:"start",onIntersect:b,rootMargin:u.value},null),i.default?.(),d&&f&&createVNode(VInfiniteScrollIntersect,{key:"end",side:"end",onIntersect:b,rootMargin:u.value},null),createVNode("div",{class:"v-infinite-scroll__side"},[S("end",c.value)])]})}))}}),VItemGroupSymbol=Symbol.for("vuetify:v-item-group"),makeVItemGroupProps=propsFactory({...makeComponentProps(),...makeGroupProps({selectedClass:"v-item--selected"}),...makeTagProps(),...makeThemeProps()},"VItemGroup"),VItemGroup=genericComponent()({name:"VItemGroup",props:makeVItemGroupProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{isSelected:s,select:l,next:c,prev:u,selected:d}=useGroup(t,VItemGroupSymbol);return()=>createVNode(t.tag,{class:["v-item-group",a.value,t.class],style:t.style},{default:()=>[i.default?.({isSelected:s,select:l,next:c,prev:u,selected:d.value})]})}}),VItem=genericComponent()({name:"VItem",props:makeGroupItemProps(),emits:{"group:selected":t=>!0},setup(t,n){let{slots:i}=n;const{isSelected:a,select:s,toggle:l,selectedClass:c,value:u,disabled:d}=useGroupItem(t,VItemGroupSymbol);return()=>i.default?.({isSelected:a.value,selectedClass:c.value,select:s,toggle:l,value:u.value,disabled:d.value})}}),VKbd=createSimpleFunctional("v-kbd","kbd"),makeVLayoutProps=propsFactory({...makeComponentProps(),...makeDimensionProps(),...makeLayoutProps()},"VLayout"),VLayout=genericComponent()({name:"VLayout",props:makeVLayoutProps(),setup(t,n){let{slots:i}=n;const{layoutClasses:a,layoutStyles:s,getLayoutItem:l,items:c,layoutRef:u}=createLayout(t),{dimensionStyles:d}=useDimension(t);return useRender((()=>createVNode("div",{ref:u,class:[a.value,t.class],style:[d.value,s.value,t.style]},[i.default?.()]))),{getLayoutItem:l,items:c}}}),makeVLayoutItemProps=propsFactory({position:{type:String,required:!0},size:{type:[Number,String],default:300},modelValue:Boolean,...makeComponentProps(),...makeLayoutItemProps()},"VLayoutItem"),VLayoutItem=genericComponent()({name:"VLayoutItem",props:makeVLayoutItemProps(),setup(t,n){let{slots:i}=n;const{layoutItemStyles:a}=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:toRef(t,"position"),elementSize:toRef(t,"size"),layoutSize:toRef(t,"size"),active:toRef(t,"modelValue"),absolute:toRef(t,"absolute")});return()=>createVNode("div",{class:["v-layout-item",t.class],style:[a.value,t.style]},[i.default?.()])}}),makeVLazyProps=propsFactory({modelValue:Boolean,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},...makeComponentProps(),...makeDimensionProps(),...makeTagProps(),...makeTransitionProps({transition:"fade-transition"})},"VLazy"),VLazy=genericComponent()({name:"VLazy",directives:{intersect:Intersect},props:makeVLazyProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{dimensionStyles:a}=useDimension(t),s=useProxiedModel(t,"modelValue");function l(t){s.value||(s.value=t)}return useRender((()=>withDirectives(createVNode(t.tag,{class:["v-lazy",t.class],style:[a.value,t.style]},{default:()=>[s.value&&createVNode(MaybeTransition,{transition:t.transition,appear:!0},{default:()=>[i.default?.()]})]}),[[resolveDirective("intersect"),{handler:l,options:t.options},null]]))),{}}}),makeVLocaleProviderProps=propsFactory({locale:String,fallbackLocale:String,messages:Object,rtl:{type:Boolean,default:void 0},...makeComponentProps()},"VLocaleProvider"),VLocaleProvider=genericComponent()({name:"VLocaleProvider",props:makeVLocaleProviderProps(),setup(t,n){let{slots:i}=n;const{rtlClasses:a}=provideLocale(t);return useRender((()=>createVNode("div",{class:["v-locale-provider",a.value,t.class],style:t.style},[i.default?.()]))),{}}}),makeVMainProps=propsFactory({scrollable:Boolean,...makeComponentProps(),...makeDimensionProps(),...makeTagProps({tag:"main"})},"VMain"),VMain=genericComponent()({name:"VMain",props:makeVMainProps(),setup(t,n){let{slots:i}=n;const{dimensionStyles:a}=useDimension(t),{mainStyles:s}=useLayout(),{ssrBootStyles:l}=useSsrBoot();return useRender((()=>createVNode(t.tag,{class:["v-main",{"v-main--scrollable":t.scrollable},t.class],style:[s.value,l.value,a.value,t.style]},{default:()=>[t.scrollable?createVNode("div",{class:"v-main__scroller"},[i.default?.()]):i.default?.()]}))),{}}});function useSticky(t){let{rootEl:n,isSticky:i,layoutItemStyles:a}=t;const s=shallowRef(!1),l=shallowRef(0),c=computed((()=>{const t="boolean"==typeof s.value?"top":s.value;return[i.value?{top:"auto",bottom:"auto",height:void 0}:void 0,s.value?{[t]:convertToUnit(l.value)}:{top:a.value.top}]}));onMounted((()=>{watch(i,(t=>{t?window.addEventListener("scroll",d,{passive:!0}):window.removeEventListener("scroll",d)}),{immediate:!0})})),onBeforeUnmount((()=>{window.removeEventListener("scroll",d)}));let u=0;function d(){const t=u>window.scrollY?"up":"down",i=n.value.getBoundingClientRect(),c=parseFloat(a.value.top??0),d=window.scrollY-Math.max(0,l.value-c),f=i.height+Math.max(l.value,c)-window.scrollY-window.innerHeight,m=parseFloat(getComputedStyle(n.value).getPropertyValue("--v-body-scroll-y"))||0;i.height<window.innerHeight-c?(s.value="top",l.value=c):"up"===t&&"bottom"===s.value||"down"===t&&"top"===s.value?(l.value=window.scrollY+i.top-m,s.value=!0):"down"===t&&f<=0?(l.value=0,s.value="bottom"):"up"===t&&d<=0&&(m?"top"!==s.value&&(l.value=-d+m+c,s.value="top"):(l.value=i.top+d,s.value="top")),u=window.scrollY}return{isStuck:s,stickyStyles:c}}const HORIZON=100,HISTORY=20;function kineticEnergyToVelocity(t){return(t<0?-1:1)*Math.sqrt(Math.abs(t))*1.41421356237}function calculateImpulseVelocity(t){if(t.length<2)return 0;if(2===t.length)return t[1].t===t[0].t?0:(t[1].d-t[0].d)/(t[1].t-t[0].t);let n=0;for(let i=t.length-1;i>0;i--){if(t[i].t===t[i-1].t)continue;const a=kineticEnergyToVelocity(n),s=(t[i].d-t[i-1].d)/(t[i].t-t[i-1].t);n+=(s-a)*Math.abs(s),i===t.length-1&&(n*=.5)}return 1e3*kineticEnergyToVelocity(n)}function useVelocity(){const t={};return{addMovement:function(n){Array.from(n.changedTouches).forEach((i=>{(t[i.identifier]??(t[i.identifier]=new CircularBuffer(HISTORY))).push([n.timeStamp,i])}))},endTouch:function(n){Array.from(n.changedTouches).forEach((n=>{delete t[n.identifier]}))},getVelocity:function(n){const i=t[n]?.values().reverse();if(!i)throw new Error(`No samples for touch id ${n}`);const a=i[0],s=[],l=[];for(const t of i){if(a[0]-t[0]>HORIZON)break;s.push({t:t[0],d:t[1].clientX}),l.push({t:t[0],d:t[1].clientY})}return{x:calculateImpulseVelocity(s),y:calculateImpulseVelocity(l),get direction(){const{x:t,y:n}=this,[i,a]=[Math.abs(t),Math.abs(n)];return i>a&&t>=0?"right":i>a&&t<=0?"left":a>i&&n>=0?"down":a>i&&n<=0?"up":oops$1()}}}}}function oops$1(){throw new Error}function useTouch(t){let{el:n,isActive:i,isTemporary:a,width:s,touchless:l,position:c}=t;onMounted((()=>{window.addEventListener("touchstart",E,{passive:!0}),window.addEventListener("touchmove",T,{passive:!1}),window.addEventListener("touchend",P,{passive:!0})})),onBeforeUnmount((()=>{window.removeEventListener("touchstart",E),window.removeEventListener("touchmove",T),window.removeEventListener("touchend",P)}));const u=computed((()=>["left","right"].includes(c.value))),{addMovement:d,endTouch:f,getVelocity:m}=useVelocity();let g=!1;const v=shallowRef(!1),b=shallowRef(0),w=shallowRef(0);let k;function S(t,n){return("left"===c.value?t:"right"===c.value?document.documentElement.clientWidth-t:"top"===c.value?t:"bottom"===c.value?document.documentElement.clientHeight-t:oops())-(n?s.value:0)}function C(t){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i="left"===c.value?(t-w.value)/s.value:"right"===c.value?(document.documentElement.clientWidth-t-w.value)/s.value:"top"===c.value?(t-w.value)/s.value:"bottom"===c.value?(document.documentElement.clientHeight-t-w.value)/s.value:oops();return n?Math.max(0,Math.min(1,i)):i}function E(t){if(l.value)return;const n=t.changedTouches[0].clientX,m=t.changedTouches[0].clientY,v="left"===c.value?n<25:"right"===c.value?n>document.documentElement.clientWidth-25:"top"===c.value?m<25:"bottom"===c.value?m>document.documentElement.clientHeight-25:oops(),E=i.value&&("left"===c.value?n<s.value:"right"===c.value?n>document.documentElement.clientWidth-s.value:"top"===c.value?m<s.value:"bottom"===c.value?m>document.documentElement.clientHeight-s.value:oops());(v||E||i.value&&a.value)&&(k=[n,m],w.value=S(u.value?n:m,i.value),b.value=C(u.value?n:m),g=w.value>-20&&w.value<80,f(t),d(t))}function T(t){const n=t.changedTouches[0].clientX,i=t.changedTouches[0].clientY;if(g){if(!t.cancelable)return void(g=!1);const a=Math.abs(n-k[0]),s=Math.abs(i-k[1]);(u.value?a>s&&a>3:s>a&&s>3)?(v.value=!0,g=!1):(u.value?s:a)>3&&(g=!1)}if(!v.value)return;t.preventDefault(),d(t);const a=C(u.value?n:i,!1);b.value=Math.max(0,Math.min(1,a)),a>1?w.value=S(u.value?n:i,!0):a<0&&(w.value=S(u.value?n:i,!1))}function P(t){if(g=!1,!v.value)return;d(t),v.value=!1;const n=m(t.changedTouches[0].identifier),a=Math.abs(n.x),s=Math.abs(n.y),l=u.value?a>s&&a>400:s>a&&s>3;i.value=l?n.direction===({left:"right",right:"left",top:"down",bottom:"up"}[c.value]||oops()):b.value>.5}const I=computed((()=>v.value?{transform:"left"===c.value?`translateX(calc(-100% + ${b.value*s.value}px))`:"right"===c.value?`translateX(calc(100% - ${b.value*s.value}px))`:"top"===c.value?`translateY(calc(-100% + ${b.value*s.value}px))`:"bottom"===c.value?`translateY(calc(100% - ${b.value*s.value}px))`:oops(),transition:"none"}:void 0));return useToggleScope(v,(()=>{const t=n.value?.style.transform??null,i=n.value?.style.transition??null;watchEffect((()=>{n.value?.style.setProperty("transform",I.value?.transform||"none"),n.value?.style.setProperty("transition",I.value?.transition||null)})),onScopeDispose((()=>{n.value?.style.setProperty("transform",t),n.value?.style.setProperty("transition",i)}))})),{isDragging:v,dragProgress:b,dragStyles:I}}function oops(){throw new Error}const locations=["start","end","left","right","top","bottom"],makeVNavigationDrawerProps=propsFactory({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:t=>locations.includes(t)},sticky:Boolean,...makeBorderProps(),...makeComponentProps(),...makeDelayProps(),...makeDisplayProps({mobile:null}),...makeElevationProps(),...makeLayoutItemProps(),...makeRoundedProps(),...makeTagProps({tag:"nav"}),...makeThemeProps()},"VNavigationDrawer"),VNavigationDrawer=genericComponent()({name:"VNavigationDrawer",props:makeVNavigationDrawerProps(),emits:{"update:modelValue":t=>!0,"update:rail":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{isRtl:l}=useRtl(),{themeClasses:c}=provideTheme(t),{borderClasses:u}=useBorder(t),{backgroundColorClasses:d,backgroundColorStyles:f}=useBackgroundColor(toRef(t,"color")),{elevationClasses:m}=useElevation(t),{displayClasses:g,mobile:v}=useDisplay(t),{roundedClasses:b}=useRounded(t),w=useRouter(),k=useProxiedModel(t,"modelValue",null,(t=>!!t)),{ssrBootStyles:S}=useSsrBoot(),{scopeId:C}=useScopeId(),E=ref(),T=shallowRef(!1),{runOpenDelay:P,runCloseDelay:I}=useDelay(t,(t=>{T.value=t})),A=computed((()=>t.rail&&t.expandOnHover&&T.value?Number(t.width):Number(t.rail?t.railWidth:t.width))),D=computed((()=>toPhysical(t.location,l.value))),O=computed((()=>t.persistent)),_e=computed((()=>!t.permanent&&(v.value||t.temporary))),be=computed((()=>t.sticky&&!_e.value&&"bottom"!==D.value));useToggleScope((()=>t.expandOnHover&&null!=t.rail),(()=>{watch(T,(t=>a("update:rail",!t)))})),useToggleScope((()=>!t.disableResizeWatcher),(()=>{watch(_e,(n=>!t.permanent&&nextTick$2((()=>k.value=!n))))})),useToggleScope((()=>!t.disableRouteWatcher&&!!w),(()=>{watch(w.currentRoute,(()=>_e.value&&(k.value=!1)))})),watch((()=>t.permanent),(t=>{t&&(k.value=!0)})),null!=t.modelValue||_e.value||(k.value=t.permanent||!v.value);const{isDragging:we,dragProgress:Se}=useTouch({el:E,isActive:k,isTemporary:_e,width:A,touchless:toRef(t,"touchless"),position:D}),$e=computed((()=>{const n=_e.value?0:t.rail&&t.expandOnHover?Number(t.railWidth):A.value;return we.value?n*Se.value:n})),{layoutItemStyles:xe,layoutItemScrimStyles:Ce}=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:D,layoutSize:$e,elementSize:A,active:computed((()=>k.value||we.value)),disableTransitions:computed((()=>we.value)),absolute:computed((()=>t.absolute||be.value&&"string"!=typeof Ee.value))}),{isStuck:Ee,stickyStyles:Ne}=useSticky({rootEl:E,isSticky:be,layoutItemStyles:xe}),Pe=useBackgroundColor(computed((()=>"string"==typeof t.scrim?t.scrim:null))),Ie=computed((()=>({...we.value?{opacity:.2*Se.value,transition:"none"}:void 0,...Ce.value})));return provideDefaults({VList:{bgColor:"transparent"}}),useRender((()=>{const n=s.image||t.image;return createVNode(Fragment,null,[createVNode(t.tag,mergeProps({ref:E,onMouseenter:P,onMouseleave:I,class:["v-navigation-drawer",`v-navigation-drawer--${D.value}`,{"v-navigation-drawer--expand-on-hover":t.expandOnHover,"v-navigation-drawer--floating":t.floating,"v-navigation-drawer--is-hovering":T.value,"v-navigation-drawer--rail":t.rail,"v-navigation-drawer--temporary":_e.value,"v-navigation-drawer--persistent":O.value,"v-navigation-drawer--active":k.value,"v-navigation-drawer--sticky":be.value},c.value,d.value,u.value,g.value,m.value,b.value,t.class],style:[f.value,xe.value,S.value,Ne.value,t.style]},C,i),{default:()=>[n&&createVNode("div",{key:"image",class:"v-navigation-drawer__img"},[s.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!t.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:t.image}}},s.image):createVNode(VImg,{key:"image-img",alt:"",cover:!0,height:"inherit",src:t.image},null)]),s.prepend&&createVNode("div",{class:"v-navigation-drawer__prepend"},[s.prepend?.()]),createVNode("div",{class:"v-navigation-drawer__content"},[s.default?.()]),s.append&&createVNode("div",{class:"v-navigation-drawer__append"},[s.append?.()])]}),createVNode(Transition,{name:"fade-transition"},{default:()=>[_e.value&&(we.value||k.value)&&!!t.scrim&&createVNode("div",mergeProps({class:["v-navigation-drawer__scrim",Pe.backgroundColorClasses.value],style:[Ie.value,Pe.backgroundColorStyles.value],onClick:()=>{O.value||(k.value=!1)}},C),null)]})])})),{isStuck:Ee}}}),VNoSsr=defineComponent({name:"VNoSsr",setup(t,n){let{slots:i}=n;const a=useHydration();return()=>a.value&&i.default?.()}}),makeVOtpInputProps=propsFactory({autofocus:Boolean,divider:String,focusAll:Boolean,label:{type:String,default:"$vuetify.input.otp"},length:{type:[Number,String],default:6},modelValue:{type:[Number,String],default:void 0},placeholder:String,type:{type:String,default:"number"},...makeDimensionProps(),...makeFocusProps(),...pick$2(makeVFieldProps({variant:"outlined"}),["baseColor","bgColor","class","color","disabled","error","loading","rounded","style","theme","variant"])},"VOtpInput"),VOtpInput=genericComponent()({name:"VOtpInput",props:makeVOtpInputProps(),emits:{finish:t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const{dimensionStyles:l}=useDimension(t),{isFocused:c,focus:u,blur:d}=useFocus(t),f=useProxiedModel(t,"modelValue","",(t=>null==t?[]:String(t).split("")),(t=>t.join(""))),{t:m}=useLocale(),g=computed((()=>Number(t.length))),v=computed((()=>Array(g.value).fill(0))),b=ref(-1),w=ref(),k=ref([]),S=computed((()=>k.value[b.value]));function C(){if(P(S.value.value))return void(S.value.value="");const t=f.value.slice(),n=S.value.value;t[b.value]=n;let i=null;b.value>f.value.length?i=f.value.length+1:b.value+1!==g.value&&(i="next"),f.value=t,i&&focusChild(w.value,i)}function E(t){const n=f.value.slice(),i=b.value;let a=null;["ArrowLeft","ArrowRight","Backspace","Delete"].includes(t.key)&&(t.preventDefault(),"ArrowLeft"===t.key?a="prev":"ArrowRight"===t.key?a="next":["Backspace","Delete"].includes(t.key)&&(n[b.value]="",f.value=n,b.value>0&&"Backspace"===t.key?a="prev":requestAnimationFrame((()=>{k.value[i]?.select()}))),requestAnimationFrame((()=>{null!=a&&focusChild(w.value,a)})))}function T(){d(),b.value=-1}function P(n){return"number"===t.type&&/[^0-9]/g.test(n)}return provideDefaults({VField:{color:computed((()=>t.color)),bgColor:computed((()=>t.color)),baseColor:computed((()=>t.baseColor)),disabled:computed((()=>t.disabled)),error:computed((()=>t.error)),variant:computed((()=>t.variant))}},{scoped:!0}),watch(f,(t=>{t.length===g.value&&a("finish",t.join(""))}),{deep:!0}),watch(b,(t=>{t<0||nextTick$2((()=>{k.value[t]?.select()}))})),useRender((()=>{const[n,a]=filterInputAttrs(i);return createVNode("div",mergeProps({class:["v-otp-input",{"v-otp-input--divided":!!t.divider},t.class],style:[t.style]},n),[createVNode("div",{ref:w,class:"v-otp-input__content",style:[l.value]},[v.value.map(((n,i)=>createVNode(Fragment,null,[t.divider&&0!==i&&createVNode("span",{class:"v-otp-input__divider"},[t.divider]),createVNode(VField,{focused:c.value&&t.focusAll||b.value===i,key:i},{...s,loader:void 0,default:()=>createVNode("input",{ref:t=>k.value[i]=t,"aria-label":m(t.label,i+1),autofocus:0===i&&t.autofocus,autocomplete:"one-time-code",class:["v-otp-input__field"],disabled:t.disabled,inputmode:"number"===t.type?"numeric":"text",min:"number"===t.type?0:void 0,maxlength:0===i?g.value:"1",placeholder:t.placeholder,type:"number"===t.type?"text":t.type,value:f.value[i],onInput:C,onFocus:t=>{return n=i,u(),void(b.value=n);var n},onBlur:T,onKeydown:E,onPaste:t=>function(t,n){n.preventDefault(),n.stopPropagation();const i=n?.clipboardData?.getData("Text").slice(0,g.value)??"";P(i)||(f.value=i.split(""),k.value?.[t].blur())}(i,t)},null)})]))),createVNode("input",mergeProps({class:"v-otp-input-input",type:"hidden"},a,{value:f.value.join("")}),null),createVNode(VOverlay,{contained:!0,"content-class":"v-otp-input__loader","model-value":!!t.loading,persistent:!0},{default:()=>[s.loader?.()??createVNode(VProgressCircular,{color:"boolean"==typeof t.loading?void 0:t.loading,indeterminate:!0,size:"24",width:"2"},null)]}),s.default?.()])])})),{blur:()=>{k.value?.some((t=>t.blur()))},focus:()=>{k.value?.[0].focus()},reset:function(){f.value=[]},isFocused:c}}});function floor(t){return Math.floor(Math.abs(t))*Math.sign(t)}const makeVParallaxProps=propsFactory({scale:{type:[Number,String],default:.5},...makeComponentProps()},"VParallax"),VParallax=genericComponent()({name:"VParallax",props:makeVParallaxProps(),setup(t,n){let{slots:i}=n;const{intersectionRef:a,isIntersecting:s}=useIntersectionObserver(),{resizeRef:l,contentRect:c}=useResizeObserver(),{height:u}=useDisplay(),d=ref();let f;watchEffect((()=>{a.value=l.value=d.value?.$el})),watch(s,(t=>{t?(f=getScrollParent(a.value),f=f===document.scrollingElement?document:f,f.addEventListener("scroll",v,{passive:!0}),v()):f.removeEventListener("scroll",v)})),onBeforeUnmount((()=>{f?.removeEventListener("scroll",v)})),watch(u,v),watch((()=>c.value?.height),v);const m=computed((()=>1-clamp(+t.scale)));let g=-1;function v(){s.value&&(cancelAnimationFrame(g),g=requestAnimationFrame((()=>{const t=(d.value?.$el).querySelector(".v-img__img");if(!t)return;const n=f instanceof Document?document.documentElement.clientHeight:f.clientHeight,i=f instanceof Document?window.scrollY:f.scrollTop,s=a.value.getBoundingClientRect().top+i,l=c.value.height,u=floor((i-(s+(l-n)/2))*m.value),g=Math.max(1,(m.value*(n-l)+l)/l);t.style.setProperty("transform",`translateY(${u}px) scale(${g})`)})))}return useRender((()=>createVNode(VImg,{class:["v-parallax",{"v-parallax--active":s.value},t.class],style:t.style,ref:d,cover:!0,onLoadstart:v,onLoad:v},i))),{}}}),makeVRadioProps=propsFactory({...makeVSelectionControlProps({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),VRadio=genericComponent()({name:"VRadio",props:makeVRadioProps(),setup(t,n){let{slots:i}=n;return useRender((()=>{const n=VSelectionControl.filterProps(t);return createVNode(VSelectionControl,mergeProps(n,{class:["v-radio",t.class],style:t.style,type:"radio"}),i)})),{}}}),makeVRadioGroupProps=propsFactory({height:{type:[Number,String],default:"auto"},...makeVInputProps(),...omit(makeSelectionControlGroupProps(),["multiple"]),trueIcon:{type:IconValue,default:"$radioOn"},falseIcon:{type:IconValue,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),VRadioGroup=genericComponent()({name:"VRadioGroup",inheritAttrs:!1,props:makeVRadioGroupProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const s=getUid(),l=computed((()=>t.id||`radio-group-${s}`)),c=useProxiedModel(t,"modelValue");return useRender((()=>{const[n,s]=filterInputAttrs(i),u=VInput.filterProps(t),d=VSelectionControl.filterProps(t),f=a.label?a.label({label:t.label,props:{for:l.value}}):t.label;return createVNode(VInput,mergeProps({class:["v-radio-group",t.class],style:t.style},n,u,{modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,id:l.value}),{...a,default:n=>{let{id:i,messagesId:l,isDisabled:u,isReadonly:m}=n;return createVNode(Fragment,null,[f&&createVNode(VLabel,{id:i.value},{default:()=>[f]}),createVNode(VSelectionControlGroup,mergeProps(d,{id:i.value,"aria-describedby":l.value,defaultsTarget:"VRadio",trueIcon:t.trueIcon,falseIcon:t.falseIcon,type:t.type,disabled:u.value,readonly:m.value,"aria-labelledby":f?i.value:void 0,multiple:!1},s,{modelValue:c.value,"onUpdate:modelValue":t=>c.value=t}),a)])}})})),{}}}),makeVRangeSliderProps=propsFactory({...makeFocusProps(),...makeVInputProps(),...makeSliderProps(),strict:Boolean,modelValue:{type:Array,default:()=>[0,0]}},"VRangeSlider"),VRangeSlider=genericComponent()({name:"VRangeSlider",props:makeVRangeSliderProps(),emits:{"update:focused":t=>!0,"update:modelValue":t=>!0,end:t=>!0,start:t=>!0},setup(t,n){let{slots:i,emit:a}=n;const s=ref(),l=ref(),c=ref(),{rtlClasses:u}=useRtl();const d=useSteps(t),f=useProxiedModel(t,"modelValue",void 0,(t=>t?.length?t.map((t=>d.roundValue(t))):[0,0])),{activeThumbRef:m,hasLabels:g,max:v,min:b,mousePressed:w,onSliderMousedown:k,onSliderTouchstart:S,position:C,trackContainerRef:E,readonly:T}=useSlider({props:t,steps:d,onSliderStart:()=>{a("start",f.value)},onSliderEnd:n=>{let{value:i}=n;const l=m.value===s.value?.$el?[i,f.value[1]]:[f.value[0],i];!t.strict&&l[0]<l[1]&&(f.value=l),a("end",f.value)},onSliderMove:n=>{let{value:i}=n;const[a,c]=f.value;t.strict||a!==c||a===b.value||(m.value=i>a?l.value?.$el:s.value?.$el,m.value?.focus()),m.value===s.value?.$el?f.value=[Math.min(i,c),c]:f.value=[a,Math.max(a,i)]},getActiveThumb:function(n){if(!s.value||!l.value)return;const i=getOffset(n,s.value.$el,t.direction),a=getOffset(n,l.value.$el,t.direction),c=Math.abs(i),u=Math.abs(a);return c<u||c===u&&i<0?s.value.$el:l.value.$el}}),{isFocused:P,focus:I,blur:A}=useFocus(t),D=computed((()=>C(f.value[0]))),O=computed((()=>C(f.value[1])));return useRender((()=>{const n=VInput.filterProps(t),a=!!(t.label||i.label||i.prepend);return createVNode(VInput,mergeProps({class:["v-slider","v-range-slider",{"v-slider--has-labels":!!i["tick-label"]||g.value,"v-slider--focused":P.value,"v-slider--pressed":w.value,"v-slider--disabled":t.disabled},u.value,t.class],style:t.style,ref:c},n,{focused:P.value}),{...i,prepend:a?n=>createVNode(Fragment,null,[i.label?.(n)??(t.label?createVNode(VLabel,{class:"v-slider__label",text:t.label},null):void 0),i.prepend?.(n)]):void 0,default:n=>{let{id:a,messagesId:c}=n;return createVNode("div",{class:"v-slider__container",onMousedown:T.value?void 0:k,onTouchstartPassive:T.value?void 0:S},[createVNode("input",{id:`${a.value}_start`,name:t.name||a.value,disabled:!!t.disabled,readonly:!!t.readonly,tabindex:"-1",value:f.value[0]},null),createVNode("input",{id:`${a.value}_stop`,name:t.name||a.value,disabled:!!t.disabled,readonly:!!t.readonly,tabindex:"-1",value:f.value[1]},null),createVNode(VSliderTrack,{ref:E,start:D.value,stop:O.value},{"tick-label":i["tick-label"]}),createVNode(VSliderThumb,{ref:s,"aria-describedby":c.value,focused:P&&m.value===s.value?.$el,modelValue:f.value[0],"onUpdate:modelValue":t=>f.value=[t,f.value[1]],onFocus:t=>{I(),m.value=s.value?.$el,v.value!==b.value&&f.value[0]===f.value[1]&&f.value[1]===b.value&&t.relatedTarget!==l.value?.$el&&(s.value?.$el.blur(),l.value?.$el.focus())},onBlur:()=>{A(),m.value=void 0},min:b.value,max:f.value[1],position:D.value,ripple:t.ripple},{"thumb-label":i["thumb-label"]}),createVNode(VSliderThumb,{ref:l,"aria-describedby":c.value,focused:P&&m.value===l.value?.$el,modelValue:f.value[1],"onUpdate:modelValue":t=>f.value=[f.value[0],t],onFocus:t=>{I(),m.value=l.value?.$el,v.value!==b.value&&f.value[0]===f.value[1]&&f.value[0]===v.value&&t.relatedTarget!==s.value?.$el&&(l.value?.$el.blur(),s.value?.$el.focus())},onBlur:()=>{A(),m.value=void 0},min:f.value[0],max:v.value,position:O.value,ripple:t.ripple},{"thumb-label":i["thumb-label"]})])}})})),{}}}),makeVRatingProps=propsFactory({name:String,itemAriaLabel:{type:String,default:"$vuetify.rating.ariaLabel.item"},activeColor:String,color:String,clearable:Boolean,disabled:Boolean,emptyIcon:{type:IconValue,default:"$ratingEmpty"},fullIcon:{type:IconValue,default:"$ratingFull"},halfIncrements:Boolean,hover:Boolean,length:{type:[Number,String],default:5},readonly:Boolean,modelValue:{type:[Number,String],default:0},itemLabels:Array,itemLabelPosition:{type:String,default:"top",validator:t=>["top","bottom"].includes(t)},ripple:Boolean,...makeComponentProps(),...makeDensityProps(),...makeSizeProps(),...makeTagProps(),...makeThemeProps()},"VRating"),VRating=genericComponent()({name:"VRating",props:makeVRatingProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{t:a}=useLocale(),{themeClasses:s}=provideTheme(t),l=useProxiedModel(t,"modelValue"),c=computed((()=>clamp(parseFloat(l.value),0,+t.length))),u=computed((()=>createRange(Number(t.length),1))),d=computed((()=>u.value.flatMap((n=>t.halfIncrements?[n-.5,n]:[n])))),f=shallowRef(-1),m=computed((()=>d.value.map((n=>{const i=t.hover&&f.value>-1,a=c.value>=n,s=f.value>=n,l=(i?s:a)?t.fullIcon:t.emptyIcon,u=t.activeColor??t.color;return{isFilled:a,isHovered:s,icon:l,color:a||s?u:t.color}})))),g=computed((()=>[0,...d.value].map((n=>({onMouseenter:t.hover?function(){f.value=n}:void 0,onMouseleave:t.hover?function(){f.value=-1}:void 0,onClick:function(){t.disabled||t.readonly||(l.value=c.value===n&&t.clearable?0:n)}}))))),v=computed((()=>t.name??`v-rating-${getUid()}`));function b(n){let{value:s,index:l,showStar:u=!0}=n;const{onMouseenter:d,onMouseleave:f,onClick:b}=g.value[l+1],w=`${v.value}-${String(s).replace(".","-")}`,k={color:m.value[l]?.color,density:t.density,disabled:t.disabled,icon:m.value[l]?.icon,ripple:t.ripple,size:t.size,variant:"plain"};return createVNode(Fragment,null,[createVNode("label",{for:w,class:{"v-rating__item--half":t.halfIncrements&&s%1>0,"v-rating__item--full":t.halfIncrements&&s%1==0},onMouseenter:d,onMouseleave:f,onClick:b},[createVNode("span",{class:"v-rating__hidden"},[a(t.itemAriaLabel,s,t.length)]),u?i.item?i.item({...m.value[l],props:k,value:s,index:l,rating:c.value}):createVNode(VBtn,mergeProps({"aria-label":a(t.itemAriaLabel,s,t.length)},k),null):void 0]),createVNode("input",{class:"v-rating__hidden",name:v.value,id:w,type:"radio",value:s,checked:c.value===s,tabindex:-1,readonly:t.readonly,disabled:t.disabled},null)])}function w(t){return i["item-label"]?i["item-label"](t):t.label?createVNode("span",null,[t.label]):createVNode("span",null,[createTextVNode(" ")])}return useRender((()=>{const n=!!t.itemLabels?.length||i["item-label"];return createVNode(t.tag,{class:["v-rating",{"v-rating--hover":t.hover,"v-rating--readonly":t.readonly},s.value,t.class],style:t.style},{default:()=>[createVNode(b,{value:0,index:-1,showStar:!1},null),u.value.map(((i,a)=>createVNode("div",{class:"v-rating__wrapper"},[n&&"top"===t.itemLabelPosition?w({value:i,index:a,label:t.itemLabels?.[a]}):void 0,createVNode("div",{class:"v-rating__item"},[t.halfIncrements?createVNode(Fragment,null,[createVNode(b,{value:i-.5,index:2*a},null),createVNode(b,{value:i,index:2*a+1},null)]):createVNode(b,{value:i,index:a},null)]),n&&"bottom"===t.itemLabelPosition?w({value:i,index:a,label:t.itemLabels?.[a]}):void 0])))]})})),{}}}),rootTypes={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function genBone(t){return createVNode("div",{class:["v-skeleton-loader__bone",`v-skeleton-loader__${t}`]},[arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]])}function genBones(t){const[n,i]=t.split("@");return Array.from({length:i}).map((()=>genStructure(n)))}function genStructure(t){let n=[];if(!t)return n;const i=rootTypes[t];if(t===i);else{if(t.includes(","))return mapBones(t);if(t.includes("@"))return genBones(t);i.includes(",")?n=mapBones(i):i.includes("@")?n=genBones(i):i&&n.push(genStructure(i))}return[genBone(t,n)]}function mapBones(t){return t.replace(/\s/g,"").split(",").map(genStructure)}const makeVSkeletonLoaderProps=propsFactory({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...makeDimensionProps(),...makeElevationProps(),...makeThemeProps()},"VSkeletonLoader"),VSkeletonLoader=genericComponent()({name:"VSkeletonLoader",props:makeVSkeletonLoaderProps(),setup(t,n){let{slots:i}=n;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(t,"color")),{dimensionStyles:l}=useDimension(t),{elevationClasses:c}=useElevation(t),{themeClasses:u}=provideTheme(t),{t:d}=useLocale(),f=computed((()=>genStructure(wrapInArray(t.type).join(","))));return useRender((()=>{const n=!i.default||t.loading,m=t.boilerplate||!n?{}:{ariaLive:"polite",ariaLabel:d(t.loadingText),role:"alert"};return createVNode("div",mergeProps({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":t.boilerplate},u.value,a.value,c.value],style:[s.value,n?l.value:{}]},m),[n?f.value:i.default?.()])})),{}}}),VSlideGroupItem=genericComponent()({name:"VSlideGroupItem",props:makeGroupItemProps(),emits:{"group:selected":t=>!0},setup(t,n){let{slots:i}=n;const a=useGroupItem(t,VSlideGroupSymbol);return()=>i.default?.({isSelected:a.isSelected.value,select:a.select,toggle:a.toggle,selectedClass:a.selectedClass.value})}});function useCountdown(t){const n=shallowRef(t());let i=-1;function a(){clearInterval(i)}return onScopeDispose(a),{clear:a,time:n,start:function(s){const l=s?getComputedStyle(s):{transitionDuration:.2},c=1e3*parseFloat(l.transitionDuration)||200;if(a(),n.value<=0)return;const u=performance.now();i=window.setInterval((()=>{const i=performance.now()-u+c;n.value=Math.max(t()-i,0),n.value<=0&&a()}),c)},reset:function(){a(),nextTick$2((()=>n.value=t()))}}}const makeVSnackbarProps=propsFactory({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...makeLocationProps({location:"bottom"}),...makePositionProps(),...makeRoundedProps(),...makeVariantProps(),...makeThemeProps(),...omit(makeVOverlayProps({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),VSnackbar=genericComponent()({name:"VSnackbar",props:makeVSnackbarProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{positionClasses:s}=usePosition(t),{scopeId:l}=useScopeId(),{themeClasses:c}=provideTheme(t),{colorClasses:u,colorStyles:d,variantClasses:f}=useVariant(t),{roundedClasses:m}=useRounded(t),g=useCountdown((()=>Number(t.timeout))),v=ref(),b=ref(),w=shallowRef(!1),k=shallowRef(0),S=ref(),C=inject$1(VuetifyLayoutKey,void 0);useToggleScope((()=>!!C),(()=>{const t=useLayout();watchEffect((()=>{S.value=t.mainStyles.value}))})),watch(a,T),watch((()=>t.timeout),T),onMounted((()=>{a.value&&T()}));let E=-1;function T(){g.reset(),window.clearTimeout(E);const n=Number(t.timeout);if(!a.value||-1===n)return;const i=refElement(b.value);g.start(i),E=window.setTimeout((()=>{a.value=!1}),n)}function P(){w.value=!0,g.reset(),window.clearTimeout(E)}function I(){w.value=!1,T()}function A(t){k.value=t.touches[0].clientY}function D(t){Math.abs(k.value-t.changedTouches[0].clientY)>50&&(a.value=!1)}function O(){w.value&&I()}const _e=computed((()=>t.location.split(" ").reduce(((t,n)=>(t[`v-snackbar--${n}`]=!0,t)),{})));return useRender((()=>{const n=VOverlay.filterProps(t),k=!!(i.default||i.text||t.text);return createVNode(VOverlay,mergeProps({ref:v,class:["v-snackbar",{"v-snackbar--active":a.value,"v-snackbar--multi-line":t.multiLine&&!t.vertical,"v-snackbar--timer":!!t.timer,"v-snackbar--vertical":t.vertical},_e.value,s.value,t.class],style:[S.value,t.style]},n,{modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,contentProps:mergeProps({class:["v-snackbar__wrapper",c.value,u.value,m.value,f.value],style:[d.value],onPointerenter:P,onPointerleave:I},n.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:A,onTouchend:D,onAfterLeave:O},l),{default:()=>[genOverlays(!1,"v-snackbar"),t.timer&&!w.value&&createVNode("div",{key:"timer",class:"v-snackbar__timer"},[createVNode(VProgressLinear,{ref:b,color:"string"==typeof t.timer?t.timer:"info",max:t.timeout,"model-value":g.time.value},null)]),k&&createVNode("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[i.text?.()??t.text,i.default?.()]),i.actions&&createVNode(VDefaultsProvider,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[createVNode("div",{class:"v-snackbar__actions"},[i.actions({isActive:a})])]})],activator:i.activator})})),forwardRefs({},v)}}),makeLineProps=propsFactory({autoDraw:Boolean,autoDrawDuration:[Number,String],autoDrawEasing:{type:String,default:"ease"},color:String,gradient:{type:Array,default:()=>[]},gradientDirection:{type:String,validator:t=>["top","bottom","left","right"].includes(t),default:"top"},height:{type:[String,Number],default:75},labels:{type:Array,default:()=>[]},labelSize:{type:[Number,String],default:7},lineWidth:{type:[String,Number],default:4},id:String,itemValue:{type:String,default:"value"},modelValue:{type:Array,default:()=>[]},min:[String,Number],max:[String,Number],padding:{type:[String,Number],default:8},showLabels:Boolean,smooth:[Boolean,String,Number],width:{type:[Number,String],default:300}},"Line"),makeVBarlineProps=propsFactory({autoLineWidth:Boolean,...makeLineProps()},"VBarline"),VBarline=genericComponent()({name:"VBarline",props:makeVBarlineProps(),setup(t,n){let{slots:i}=n;const a=getUid(),s=computed((()=>t.id||`barline-${a}`)),l=computed((()=>Number(t.autoDrawDuration)||500)),c=computed((()=>Boolean(t.showLabels||t.labels.length>0||!!i?.label))),u=computed((()=>parseFloat(t.lineWidth)||4)),d=computed((()=>Math.max(t.modelValue.length*u.value,Number(t.width)))),f=computed((()=>({minX:0,maxX:d.value,minY:0,maxY:parseInt(t.height,10)}))),m=computed((()=>t.modelValue.map((n=>getPropertyFromItem(n,t.itemValue,n)))));function g(n,i){const{minX:a,maxX:s,minY:l,maxY:c}=i,u=n.length;let d=null!=t.max?Number(t.max):Math.max(...n),f=null!=t.min?Number(t.min):Math.min(...n);f>0&&null==t.min&&(f=0),d<0&&null==t.max&&(d=0);const m=s/u,g=(c-l)/(d-f||1),v=c-Math.abs(f*g);return n.map(((t,n)=>{const i=Math.abs(g*t);return{x:a+n*m,y:v-i+ +(t<0)*i,height:i,value:t}}))}const v=computed((()=>{const n=[],i=g(m.value,f.value),a=i.length;for(let s=0;n.length<a;s++){const a=i[s];let l=t.labels[s];l||(l="object"==typeof a?a.value:a),n.push({x:a.x,value:String(l)})}return n})),b=computed((()=>g(m.value,f.value))),w=computed((()=>(Math.abs(b.value[0].x-b.value[1].x)-u.value)/2)),k=computed((()=>"boolean"==typeof t.smooth?t.smooth?2:0:Number(t.smooth)));useRender((()=>{const n=t.gradient.slice().length?t.gradient.slice().reverse():[""];return createVNode("svg",{display:"block"},[createVNode("defs",null,[createVNode("linearGradient",{id:s.value,gradientUnits:"userSpaceOnUse",x1:"left"===t.gradientDirection?"100%":"0",y1:"top"===t.gradientDirection?"100%":"0",x2:"right"===t.gradientDirection?"100%":"0",y2:"bottom"===t.gradientDirection?"100%":"0"},[n.map(((t,i)=>createVNode("stop",{offset:i/Math.max(n.length-1,1),"stop-color":t||"currentColor"},null)))])]),createVNode("clipPath",{id:`${s.value}-clip`},[b.value.map((n=>createVNode("rect",{x:n.x+w.value,y:n.y,width:u.value,height:n.height,rx:k.value,ry:k.value},[t.autoDraw&&createVNode(Fragment,null,[createVNode("animate",{attributeName:"y",from:n.y+n.height,to:n.y,dur:`${l.value}ms`,fill:"freeze"},null),createVNode("animate",{attributeName:"height",from:"0",to:n.height,dur:`${l.value}ms`,fill:"freeze"},null)])])))]),c.value&&createVNode("g",{key:"labels",style:{textAnchor:"middle",dominantBaseline:"mathematical",fill:"currentColor"}},[v.value.map(((n,a)=>createVNode("text",{x:n.x+w.value+u.value/2,y:parseInt(t.height,10)-2+(parseInt(t.labelSize,10)||5.25),"font-size":Number(t.labelSize)||7},[i.label?.({index:a,value:n.value})??n.value])))]),createVNode("g",{"clip-path":`url(#${s.value}-clip)`,fill:`url(#${s.value})`},[createVNode("rect",{x:0,y:0,width:Math.max(t.modelValue.length*u.value,Number(t.width)),height:t.height},null)])])}))}});function genPath(t,n){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:75;if(0===t.length)return"";const s=t.shift(),l=t[t.length-1];return(i?`M${s.x} ${a-s.x+2} L${s.x} ${s.y}`:`M${s.x} ${s.y}`)+t.map(((i,a)=>{const l=t[a+1],c=t[a-1]||s,u=l&&checkCollinear(l,i,c);if(!l||u)return`L${i.x} ${i.y}`;const d=Math.min(getDistance(c,i),getDistance(l,i)),f=d/2<n?d/2:n,m=moveTo(c,i,f),g=moveTo(l,i,f);return`L${m.x} ${m.y}S${i.x} ${i.y} ${g.x} ${g.y}`})).join("")+(i?`L${l.x} ${a-s.x+2} Z`:"")}function int(t){return parseInt(t,10)}function checkCollinear(t,n,i){return int(t.x+i.x)===int(2*n.x)&&int(t.y+i.y)===int(2*n.y)}function getDistance(t,n){return Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2))}function moveTo(t,n,i){const a=t.x-n.x,s=t.y-n.y,l=Math.sqrt(a*a+s*s),c=a/l,u=s/l;return{x:n.x+c*i,y:n.y+u*i}}const makeVTrendlineProps=propsFactory({fill:Boolean,...makeLineProps()},"VTrendline"),VTrendline=genericComponent()({name:"VTrendline",props:makeVTrendlineProps(),setup(t,n){let{slots:i}=n;const a=getUid(),s=computed((()=>t.id||`trendline-${a}`)),l=computed((()=>Number(t.autoDrawDuration)||(t.fill?500:2e3))),c=ref(0),u=ref(null);function d(n,i){const{minX:a,maxX:s,minY:l,maxY:c}=i,u=n.length,d=null!=t.max?Number(t.max):Math.max(...n),f=null!=t.min?Number(t.min):Math.min(...n),m=(s-a)/(u-1),g=(c-l)/(d-f||1);return n.map(((t,n)=>({x:a+n*m,y:c-(t-f)*g,value:t})))}const f=computed((()=>Boolean(t.showLabels||t.labels.length>0||!!i?.label))),m=computed((()=>parseFloat(t.lineWidth)||4)),g=computed((()=>Number(t.width))),v=computed((()=>{const n=Number(t.padding);return{minX:n,maxX:g.value-n,minY:n,maxY:parseInt(t.height,10)-n}})),b=computed((()=>t.modelValue.map((n=>getPropertyFromItem(n,t.itemValue,n))))),w=computed((()=>{const n=[],i=d(b.value,v.value),a=i.length;for(let s=0;n.length<a;s++){const a=i[s];let l=t.labels[s];l||(l="object"==typeof a?a.value:a),n.push({x:a.x,value:String(l)})}return n}));function k(n){const i="boolean"==typeof t.smooth?t.smooth?8:0:Number(t.smooth);return genPath(d(b.value,v.value),i,n,parseInt(t.height,10))}watch((()=>t.modelValue),(async()=>{if(await nextTick$2(),!t.autoDraw||!u.value)return;const n=u.value,i=n.getTotalLength();t.fill?(n.style.transformOrigin="bottom center",n.style.transition="none",n.style.transform="scaleY(0)",n.getBoundingClientRect(),n.style.transition=`transform ${l.value}ms ${t.autoDrawEasing}`,n.style.transform="scaleY(1)"):(n.style.strokeDasharray=`${i}`,n.style.strokeDashoffset=`${i}`,n.getBoundingClientRect(),n.style.transition=`stroke-dashoffset ${l.value}ms ${t.autoDrawEasing}`,n.style.strokeDashoffset="0"),c.value=i}),{immediate:!0}),useRender((()=>{const n=t.gradient.slice().length?t.gradient.slice().reverse():[""];return createVNode("svg",{display:"block","stroke-width":parseFloat(t.lineWidth)??4},[createVNode("defs",null,[createVNode("linearGradient",{id:s.value,gradientUnits:"userSpaceOnUse",x1:"left"===t.gradientDirection?"100%":"0",y1:"top"===t.gradientDirection?"100%":"0",x2:"right"===t.gradientDirection?"100%":"0",y2:"bottom"===t.gradientDirection?"100%":"0"},[n.map(((t,i)=>createVNode("stop",{offset:i/Math.max(n.length-1,1),"stop-color":t||"currentColor"},null)))])]),f.value&&createVNode("g",{key:"labels",style:{textAnchor:"middle",dominantBaseline:"mathematical",fill:"currentColor"}},[w.value.map(((n,a)=>createVNode("text",{x:n.x+m.value/2+m.value/2,y:parseInt(t.height,10)-4+(parseInt(t.labelSize,10)||5.25),"font-size":Number(t.labelSize)||7},[i.label?.({index:a,value:n.value})??n.value])))]),createVNode("path",{ref:u,d:k(t.fill),fill:t.fill?`url(#${s.value})`:"none",stroke:t.fill?"none":`url(#${s.value})`},null),t.fill&&createVNode("path",{d:k(!1),fill:"none",stroke:t.color??t.gradient?.[0]},null)])}))}}),makeVSparklineProps=propsFactory({type:{type:String,default:"trend"},...makeVBarlineProps(),...makeVTrendlineProps()},"VSparkline"),VSparkline=genericComponent()({name:"VSparkline",props:makeVSparklineProps(),setup(t,n){let{slots:i}=n;const{textColorClasses:a,textColorStyles:s}=useTextColor(toRef(t,"color")),l=computed((()=>Boolean(t.showLabels||t.labels.length>0||!!i?.label))),c=computed((()=>{let n=parseInt(t.height,10);return l.value&&(n+=1.5*parseInt(t.labelSize,10)),n}));useRender((()=>{const n="trend"===t.type?VTrendline:VBarline,l="trend"===t.type?VTrendline.filterProps(t):VBarline.filterProps(t);return createVNode(n,mergeProps({key:t.type,class:a.value,style:s.value,viewBox:`0 0 ${t.width} ${parseInt(c.value,10)}`},l),i)}))}}),makeVSpeedDialProps=propsFactory({...makeComponentProps(),...makeVMenuProps({offset:8,minWidth:0,openDelay:0,closeDelay:100,location:"top center",transition:"scale-transition"})},"VSpeedDial"),VSpeedDial=genericComponent()({name:"VSpeedDial",props:makeVSpeedDialProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),s=ref(),l=computed((()=>{const[n,i="center"]=t.location?.split(" ")??[];return`${n} ${i}`})),c=computed((()=>({[`v-speed-dial__content--${l.value.replace(" ","-")}`]:!0})));return useRender((()=>{const n=VMenu.filterProps(t);return createVNode(VMenu,mergeProps(n,{modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,class:t.class,style:t.style,contentClass:["v-speed-dial__content",c.value,t.contentClass],location:l.value,ref:s,transition:"fade-transition"}),{...i,default:n=>createVNode(VDefaultsProvider,{defaults:{VBtn:{size:"small"}}},{default:()=>[createVNode(MaybeTransition,{appear:!0,group:!0,transition:t.transition},{default:()=>[i.default?.(n)]})]})})})),{}}}),VStepperSymbol=Symbol.for("vuetify:v-stepper"),makeVStepperActionsProps=propsFactory({color:String,disabled:{type:[Boolean,String],default:!1},prevText:{type:String,default:"$vuetify.stepper.prev"},nextText:{type:String,default:"$vuetify.stepper.next"}},"VStepperActions"),VStepperActions=genericComponent()({name:"VStepperActions",props:makeVStepperActionsProps(),emits:{"click:prev":()=>!0,"click:next":()=>!0},setup(t,n){let{emit:i,slots:a}=n;const{t:s}=useLocale();function l(){i("click:prev")}function c(){i("click:next")}return useRender((()=>{const n={onClick:l},i={onClick:c};return createVNode("div",{class:"v-stepper-actions"},[createVNode(VDefaultsProvider,{defaults:{VBtn:{disabled:["prev",!0].includes(t.disabled),text:s(t.prevText),variant:"text"}}},{default:()=>[a.prev?.({props:n})??createVNode(VBtn,n,null)]}),createVNode(VDefaultsProvider,{defaults:{VBtn:{color:t.color,disabled:["next",!0].includes(t.disabled),text:s(t.nextText),variant:"tonal"}}},{default:()=>[a.next?.({props:i})??createVNode(VBtn,i,null)]})])})),{}}}),VStepperHeader=createSimpleFunctional("v-stepper-header"),makeStepperItemProps=propsFactory({color:String,title:String,subtitle:String,complete:Boolean,completeIcon:{type:IconValue,default:"$complete"},editable:Boolean,editIcon:{type:IconValue,default:"$edit"},error:Boolean,errorIcon:{type:IconValue,default:"$error"},icon:IconValue,ripple:{type:[Boolean,Object],default:!0},rules:{type:Array,default:()=>[]}},"StepperItem"),makeVStepperItemProps=propsFactory({...makeStepperItemProps(),...makeGroupItemProps()},"VStepperItem"),VStepperItem=genericComponent()({name:"VStepperItem",directives:{Ripple:Ripple},props:makeVStepperItemProps(),emits:{"group:selected":t=>!0},setup(t,n){let{slots:i}=n;const a=useGroupItem(t,VStepperSymbol,!0),s=computed((()=>a?.value.value??t.value)),l=computed((()=>t.rules.every((t=>!0===t())))),c=computed((()=>!t.disabled&&t.editable)),u=computed((()=>!t.disabled&&t.editable)),d=computed((()=>t.error||!l.value)),f=computed((()=>t.complete||t.rules.length>0&&l.value)),m=computed((()=>d.value?t.errorIcon:f.value?t.completeIcon:a.isSelected.value&&t.editable?t.editIcon:t.icon)),g=computed((()=>({canEdit:u.value,hasError:d.value,hasCompleted:f.value,title:t.title,subtitle:t.subtitle,step:s.value,value:t.value})));return useRender((()=>{const n=(!a||a.isSelected.value||f.value||u.value)&&!d.value&&!t.disabled,l=!(null==t.title&&!i.title),v=!(null==t.subtitle&&!i.subtitle);return withDirectives(createVNode("button",{class:["v-stepper-item",{"v-stepper-item--complete":f.value,"v-stepper-item--disabled":t.disabled,"v-stepper-item--error":d.value},a?.selectedClass.value],disabled:!t.editable,type:"button",onClick:function(){a?.toggle()}},[c.value&&genOverlays(!0,"v-stepper-item"),createVNode(VAvatar,{key:"stepper-avatar",class:"v-stepper-item__avatar",color:n?t.color:void 0,size:24},{default:()=>[i.icon?.(g.value)??(m.value?createVNode(VIcon,{icon:m.value},null):s.value)]}),createVNode("div",{class:"v-stepper-item__content"},[l&&createVNode("div",{key:"title",class:"v-stepper-item__title"},[i.title?.(g.value)??t.title]),v&&createVNode("div",{key:"subtitle",class:"v-stepper-item__subtitle"},[i.subtitle?.(g.value)??t.subtitle]),i.default?.(g.value)])]),[[resolveDirective("ripple"),t.ripple&&t.editable,null]])})),{}}}),makeVStepperWindowProps=propsFactory({...omit(makeVWindowProps(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VStepperWindow"),VStepperWindow=genericComponent()({name:"VStepperWindow",props:makeVStepperWindowProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=inject$1(VStepperSymbol,null),s=useProxiedModel(t,"modelValue"),l=computed({get:()=>null==s.value&&a?a.items.value.find((t=>a.selected.value.includes(t.id)))?.value:s.value,set(t){s.value=t}});return useRender((()=>{const n=VWindow.filterProps(t);return createVNode(VWindow,mergeProps({_as:"VStepperWindow"},n,{modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,class:["v-stepper-window",t.class],style:t.style,mandatory:!1,touch:!1}),i)})),{}}}),makeVStepperWindowItemProps=propsFactory({...makeVWindowItemProps()},"VStepperWindowItem"),VStepperWindowItem=genericComponent()({name:"VStepperWindowItem",props:makeVStepperWindowItemProps(),setup(t,n){let{slots:i}=n;return useRender((()=>{const n=VWindowItem.filterProps(t);return createVNode(VWindowItem,mergeProps({_as:"VStepperWindowItem"},n,{class:["v-stepper-window-item",t.class],style:t.style}),i)})),{}}}),makeStepperProps=propsFactory({altLabels:Boolean,bgColor:String,completeIcon:IconValue,editIcon:IconValue,editable:Boolean,errorIcon:IconValue,hideActions:Boolean,items:{type:Array,default:()=>[]},itemTitle:{type:String,default:"title"},itemValue:{type:String,default:"value"},nonLinear:Boolean,flat:Boolean,...makeDisplayProps()},"Stepper"),makeVStepperProps=propsFactory({...makeStepperProps(),...makeGroupProps({mandatory:"force",selectedClass:"v-stepper-item--selected"}),...makeVSheetProps(),...pick$2(makeVStepperActionsProps(),["prevText","nextText"])},"VStepper"),VStepper=genericComponent()({name:"VStepper",props:makeVStepperProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const{items:a,next:s,prev:l,selected:c}=useGroup(t,VStepperSymbol),{displayClasses:u,mobile:d}=useDisplay(t),{completeIcon:f,editIcon:m,errorIcon:g,color:v,editable:b,prevText:w,nextText:k}=toRefs(t),S=computed((()=>t.items.map(((n,i)=>({title:getPropertyFromItem(n,t.itemTitle,n),value:getPropertyFromItem(n,t.itemValue,i+1),raw:n}))))),C=computed((()=>a.value.findIndex((t=>c.value.includes(t.id)))));return provideDefaults({VStepperItem:{editable:b,errorIcon:g,completeIcon:f,editIcon:m,prevText:w,nextText:k},VStepperActions:{color:v,disabled:computed((()=>t.disabled?t.disabled:0===C.value?"prev":C.value===a.value.length-1&&"next")),prevText:w,nextText:k}}),useRender((()=>{const n=VSheet.filterProps(t),a=!(!i.header&&!t.items.length),c=t.items.length>0,f=!(t.hideActions||!c&&!i.actions);return createVNode(VSheet,mergeProps(n,{color:t.bgColor,class:["v-stepper",{"v-stepper--alt-labels":t.altLabels,"v-stepper--flat":t.flat,"v-stepper--non-linear":t.nonLinear,"v-stepper--mobile":d.value},u.value,t.class],style:t.style}),{default:()=>[a&&createVNode(VStepperHeader,{key:"stepper-header"},{default:()=>[S.value.map(((t,n)=>{let{raw:a,...s}=t;return createVNode(Fragment,null,[!!n&&createVNode(VDivider,null,null),createVNode(VStepperItem,s,{default:i[`header-item.${s.value}`]??i.header,icon:i.icon,title:i.title,subtitle:i.subtitle})])}))]}),c&&createVNode(VStepperWindow,{key:"stepper-window"},{default:()=>[S.value.map((t=>createVNode(VStepperWindowItem,{value:t.value},{default:()=>i[`item.${t.value}`]?.(t)??i.item?.(t)})))]}),i.default?.({prev:l,next:s}),f&&(i.actions?.({next:s,prev:l})??createVNode(VStepperActions,{key:"stepper-actions","onClick:prev":l,"onClick:next":s},i))]})})),{prev:l,next:s}}}),makeVSwitchProps=propsFactory({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...makeVInputProps(),...makeVSelectionControlProps()},"VSwitch"),VSwitch=genericComponent()({name:"VSwitch",inheritAttrs:!1,props:makeVSwitchProps(),emits:{"update:focused":t=>!0,"update:modelValue":t=>!0,"update:indeterminate":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const s=useProxiedModel(t,"indeterminate"),l=useProxiedModel(t,"modelValue"),{loaderClasses:c}=useLoader(t),{isFocused:u,focus:d,blur:f}=useFocus(t),m=ref(),g=IN_BROWSER&&window.matchMedia("(forced-colors: active)").matches,v=computed((()=>"string"==typeof t.loading&&""!==t.loading?t.loading:t.color)),b=getUid(),w=computed((()=>t.id||`switch-${b}`));function k(){s.value&&(s.value=!1)}function S(t){t.stopPropagation(),t.preventDefault(),m.value?.input?.click()}return useRender((()=>{const[n,b]=filterInputAttrs(i),C=VInput.filterProps(t),E=VSelectionControl.filterProps(t);return createVNode(VInput,mergeProps({class:["v-switch",{"v-switch--flat":t.flat},{"v-switch--inset":t.inset},{"v-switch--indeterminate":s.value},c.value,t.class]},n,C,{modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,id:w.value,focused:u.value,style:t.style}),{...a,default:n=>{let{id:i,messagesId:c,isDisabled:u,isReadonly:w,isValid:C}=n;const T={model:l,isValid:C};return createVNode(VSelectionControl,mergeProps({ref:m},E,{modelValue:l.value,"onUpdate:modelValue":[t=>l.value=t,k],id:i.value,"aria-describedby":c.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:u.value,readonly:w.value,onFocus:d,onBlur:f},b),{...a,default:t=>{let{backgroundColorClasses:n,backgroundColorStyles:i}=t;return createVNode("div",{class:["v-switch__track",g?void 0:n.value],style:i.value,onClick:S},[a["track-true"]&&createVNode("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](T)]),a["track-false"]&&createVNode("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](T)])])},input:n=>{let{inputNode:i,icon:s,backgroundColorClasses:l,backgroundColorStyles:c}=n;return createVNode(Fragment,null,[i,createVNode("div",{class:["v-switch__thumb",{"v-switch__thumb--filled":s||t.loading},t.inset||g?void 0:l.value],style:t.inset?void 0:c.value},[a.thumb?createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:s,size:"x-small"}}},{default:()=>[a.thumb({...T,icon:s})]}):createVNode(VScaleTransition,null,{default:()=>[t.loading?createVNode(LoaderSlot,{name:"v-switch",active:!0,color:!1===C.value?void 0:v.value},{default:t=>a.loader?a.loader(t):createVNode(VProgressCircular,{active:t.isActive,color:t.color,indeterminate:!0,size:"16",width:"2"},null)}):s&&createVNode(VIcon,{key:String(s),icon:s,size:"x-small"},null)]})])])}})}})})),{}}}),makeVSystemBarProps=propsFactory({color:String,height:[Number,String],window:Boolean,...makeComponentProps(),...makeElevationProps(),...makeLayoutItemProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},"VSystemBar"),VSystemBar=genericComponent()({name:"VSystemBar",props:makeVSystemBarProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(t,"color")),{elevationClasses:c}=useElevation(t),{roundedClasses:u}=useRounded(t),{ssrBootStyles:d}=useSsrBoot(),f=computed((()=>t.height??(t.window?32:24))),{layoutItemStyles:m}=useLayoutItem({id:t.name,order:computed((()=>parseInt(t.order,10))),position:shallowRef("top"),layoutSize:f,elementSize:f,active:computed((()=>!0)),absolute:toRef(t,"absolute")});return useRender((()=>createVNode(t.tag,{class:["v-system-bar",{"v-system-bar--window":t.window},a.value,s.value,c.value,u.value,t.class],style:[l.value,m.value,d.value,t.style]},i))),{}}}),VTabsSymbol=Symbol.for("vuetify:v-tabs"),makeVTabProps=propsFactory({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...omit(makeVBtnProps({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),VTab=genericComponent()({name:"VTab",props:makeVTabProps(),setup(t,n){let{slots:i,attrs:a}=n;const{textColorClasses:s,textColorStyles:l}=useTextColor(t,"sliderColor"),c=ref(),u=ref(),d=computed((()=>"horizontal"===t.direction)),f=computed((()=>c.value?.group?.isSelected.value??!1));function m(t){let{value:n}=t;if(n){const t=c.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),n=u.value;if(!t||!n)return;const i=getComputedStyle(t).color,a=t.getBoundingClientRect(),s=n.getBoundingClientRect(),l=d.value?"x":"y",f=d.value?"X":"Y",m=d.value?"right":"bottom",g=d.value?"width":"height",v=a[l]>s[l]?a[m]-s[m]:a[l]-s[l],b=Math.sign(v)>0?d.value?"right":"bottom":Math.sign(v)<0?d.value?"left":"top":"center",w=(Math.abs(v)+(Math.sign(v)<0?a[g]:s[g]))/Math.max(a[g],s[g])||0,k=1.5;animate$2(n,{backgroundColor:[i,"currentcolor"],transform:[`translate${f}(${v}px) scale${f}(${a[g]/s[g]||0})`,`translate${f}(${v/k}px) scale${f}(${(w-1)/k+1})`,"none"],transformOrigin:Array(3).fill(b)},{duration:225,easing:standardEasing})}}return useRender((()=>{const n=VBtn.filterProps(t);return createVNode(VBtn,mergeProps({symbol:VTabsSymbol,ref:c,class:["v-tab",t.class],style:t.style,tabindex:f.value?0:-1,role:"tab","aria-selected":String(f.value),active:!1},n,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":m}),{...i,default:()=>createVNode(Fragment,null,[i.default?.()??t.text,!t.hideSlider&&createVNode("div",{ref:u,class:["v-tab__slider",s.value],style:l.value},null)])})})),forwardRefs({},c)}}),makeVTabsWindowProps=propsFactory({...omit(makeVWindowProps(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),VTabsWindow=genericComponent()({name:"VTabsWindow",props:makeVTabsWindowProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=inject$1(VTabsSymbol,null),s=useProxiedModel(t,"modelValue"),l=computed({get:()=>null==s.value&&a?a.items.value.find((t=>a.selected.value.includes(t.id)))?.value:s.value,set(t){s.value=t}});return useRender((()=>{const n=VWindow.filterProps(t);return createVNode(VWindow,mergeProps({_as:"VTabsWindow"},n,{modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,class:["v-tabs-window",t.class],style:t.style,mandatory:!1,touch:!1}),i)})),{}}}),makeVTabsWindowItemProps=propsFactory({...makeVWindowItemProps()},"VTabsWindowItem"),VTabsWindowItem=genericComponent()({name:"VTabsWindowItem",props:makeVTabsWindowItemProps(),setup(t,n){let{slots:i}=n;return useRender((()=>{const n=VWindowItem.filterProps(t);return createVNode(VWindowItem,mergeProps({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",t.class],style:t.style}),i)})),{}}});function parseItems(t){return t?t.map((t=>isObject$4(t)?t:{text:t,value:t})):[]}const makeVTabsProps=propsFactory({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...makeVSlideGroupProps({mandatory:"force",selectedClass:"v-tab-item--selected"}),...makeDensityProps(),...makeTagProps()},"VTabs"),VTabs=genericComponent()({name:"VTabs",props:makeVTabsProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{attrs:i,slots:a}=n;const s=useProxiedModel(t,"modelValue"),l=computed((()=>parseItems(t.items))),{densityClasses:c}=useDensity(t),{backgroundColorClasses:u,backgroundColorStyles:d}=useBackgroundColor(toRef(t,"bgColor")),{scopeId:f}=useScopeId();return provideDefaults({VTab:{color:toRef(t,"color"),direction:toRef(t,"direction"),stacked:toRef(t,"stacked"),fixed:toRef(t,"fixedTabs"),sliderColor:toRef(t,"sliderColor"),hideSlider:toRef(t,"hideSlider")}}),useRender((()=>{const n=VSlideGroup.filterProps(t),m=!!(a.window||t.items.length>0);return createVNode(Fragment,null,[createVNode(VSlideGroup,mergeProps(n,{modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--stacked":t.stacked},c.value,u.value,t.class],style:[{"--v-tabs-height":convertToUnit(t.height)},d.value,t.style],role:"tablist",symbol:VTabsSymbol},f,i),{default:()=>[a.default?.()??l.value.map((t=>a.tab?.({item:t})??createVNode(VTab,mergeProps(t,{key:t.text,value:t.value}),{default:a[`tab.${t.value}`]?()=>a[`tab.${t.value}`]?.({item:t}):void 0})))]}),m&&createVNode(VTabsWindow,mergeProps({modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,key:"tabs-window"},f),{default:()=>[l.value.map((t=>a.item?.({item:t})??createVNode(VTabsWindowItem,{value:t.value},{default:()=>a[`item.${t.value}`]?.({item:t})}))),a.window?.()]})])})),{}}}),makeVTextareaProps=propsFactory({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:t=>!isNaN(parseFloat(t))},maxRows:{type:[Number,String],validator:t=>!isNaN(parseFloat(t))},suffix:String,modelModifiers:Object,...makeVInputProps(),...makeVFieldProps()},"VTextarea"),VTextarea=genericComponent()({name:"VTextarea",directives:{Intersect:Intersect},inheritAttrs:!1,props:makeVTextareaProps(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,n){let{attrs:i,emit:a,slots:s}=n;const l=useProxiedModel(t,"modelValue"),{isFocused:c,focus:u,blur:d}=useFocus(t),f=computed((()=>"function"==typeof t.counterValue?t.counterValue(l.value):(l.value||"").toString().length)),m=computed((()=>i.maxlength?i.maxlength:!t.counter||"number"!=typeof t.counter&&"string"!=typeof t.counter?void 0:t.counter));function g(n,i){t.autofocus&&n&&i[0].target?.focus?.()}const v=ref(),b=ref(),w=shallowRef(""),k=ref(),S=computed((()=>t.persistentPlaceholder||c.value||t.active));function C(){k.value!==document.activeElement&&k.value?.focus(),c.value||u()}function E(t){C(),a("click:control",t)}function T(t){a("mousedown:control",t)}function P(n){n.stopPropagation(),C(),nextTick$2((()=>{l.value="",callEvent(t["onClick:clear"],n)}))}function I(n){const i=n.target;if(l.value=i.value,t.modelModifiers?.trim){const t=[i.selectionStart,i.selectionEnd];nextTick$2((()=>{i.selectionStart=t[0],i.selectionEnd=t[1]}))}}const A=ref(),D=ref(+t.rows),O=computed((()=>["plain","underlined"].includes(t.variant)));function _e(){t.autoGrow&&nextTick$2((()=>{if(!A.value||!b.value)return;const n=getComputedStyle(A.value),i=getComputedStyle(b.value.$el),a=parseFloat(n.getPropertyValue("--v-field-padding-top"))+parseFloat(n.getPropertyValue("--v-input-padding-top"))+parseFloat(n.getPropertyValue("--v-field-padding-bottom")),s=A.value.scrollHeight,l=parseFloat(n.lineHeight),c=clamp(s??0,Math.max(parseFloat(t.rows)*l+a,parseFloat(i.getPropertyValue("--v-input-control-height"))),parseFloat(t.maxRows)*l+a||1/0);D.value=Math.floor((c-a)/l),w.value=convertToUnit(c)}))}let be;return watchEffect((()=>{t.autoGrow||(D.value=+t.rows)})),onMounted(_e),watch(l,_e),watch((()=>t.rows),_e),watch((()=>t.maxRows),_e),watch((()=>t.density),_e),watch(A,(t=>{t?(be=new ResizeObserver(_e),be.observe(A.value)):be?.disconnect()})),onBeforeUnmount((()=>{be?.disconnect()})),useRender((()=>{const n=!!(s.counter||t.counter||t.counterValue),a=!(!n&&!s.details),[u,_e]=filterInputAttrs(i),{modelValue:be,...we}=VInput.filterProps(t),Se=filterFieldProps(t);return createVNode(VInput,mergeProps({ref:v,modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,class:["v-textarea v-text-field",{"v-textarea--prefixed":t.prefix,"v-textarea--suffixed":t.suffix,"v-text-field--prefixed":t.prefix,"v-text-field--suffixed":t.suffix,"v-textarea--auto-grow":t.autoGrow,"v-textarea--no-resize":t.noResize||t.autoGrow,"v-input--plain-underlined":O.value},t.class],style:t.style},u,we,{centerAffix:1===D.value&&!O.value,focused:c.value}),{...s,default:n=>{let{id:i,isDisabled:a,isDirty:u,isReadonly:f,isValid:m}=n;return createVNode(VField,mergeProps({ref:b,style:{"--v-textarea-control-height":w.value},onClick:E,onMousedown:T,"onClick:clear":P,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},Se,{id:i.value,active:S.value||u.value,centerAffix:1===D.value&&!O.value,dirty:u.value||t.dirty,disabled:a.value,focused:c.value,error:!1===m.value}),{...s,default:n=>{let{props:{class:i,...s}}=n;return createVNode(Fragment,null,[t.prefix&&createVNode("span",{class:"v-text-field__prefix"},[t.prefix]),withDirectives(createVNode("textarea",mergeProps({ref:k,class:i,value:l.value,onInput:I,autofocus:t.autofocus,readonly:f.value,disabled:a.value,placeholder:t.placeholder,rows:t.rows,name:t.name,onFocus:C,onBlur:d},s,_e),null),[[resolveDirective("intersect"),{handler:g},null,{once:!0}]]),t.autoGrow&&withDirectives(createVNode("textarea",{class:[i,"v-textarea__sizer"],id:`${s.id}-sizer`,"onUpdate:modelValue":t=>l.value=t,ref:A,readonly:!0,"aria-hidden":"true"},null),[[vModelText,l.value]]),t.suffix&&createVNode("span",{class:"v-text-field__suffix"},[t.suffix])])}})},details:a?i=>createVNode(Fragment,null,[s.details?.(i),n&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:t.persistentCounter||c.value,value:f.value,max:m.value,disabled:t.disabled},s.counter)])]):void 0})})),forwardRefs({},v,b,k)}}),makeVThemeProviderProps=propsFactory({withBackground:Boolean,...makeComponentProps(),...makeThemeProps(),...makeTagProps()},"VThemeProvider"),VThemeProvider=genericComponent()({name:"VThemeProvider",props:makeVThemeProviderProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t);return()=>t.withBackground?createVNode(t.tag,{class:["v-theme-provider",a.value,t.class],style:t.style},{default:()=>[i.default?.()]}):i.default?.()}}),makeVTimelineDividerProps=propsFactory({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:IconValue,iconColor:String,lineColor:String,...makeComponentProps(),...makeRoundedProps(),...makeSizeProps(),...makeElevationProps()},"VTimelineDivider"),VTimelineDivider=genericComponent()({name:"VTimelineDivider",props:makeVTimelineDividerProps(),setup(t,n){let{slots:i}=n;const{sizeClasses:a,sizeStyles:s}=useSize(t,"v-timeline-divider__dot"),{backgroundColorStyles:l,backgroundColorClasses:c}=useBackgroundColor(toRef(t,"dotColor")),{roundedClasses:u}=useRounded(t,"v-timeline-divider__dot"),{elevationClasses:d}=useElevation(t),{backgroundColorClasses:f,backgroundColorStyles:m}=useBackgroundColor(toRef(t,"lineColor"));return useRender((()=>createVNode("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class],style:t.style},[createVNode("div",{class:["v-timeline-divider__before",f.value],style:m.value},null),!t.hideDot&&createVNode("div",{key:"dot",class:["v-timeline-divider__dot",d.value,u.value,a.value],style:s.value},[createVNode("div",{class:["v-timeline-divider__inner-dot",c.value,u.value],style:l.value},[i.default?createVNode(VDefaultsProvider,{key:"icon-defaults",disabled:!t.icon,defaults:{VIcon:{color:t.iconColor,icon:t.icon,size:t.size}}},i.default):createVNode(VIcon,{key:"icon",color:t.iconColor,icon:t.icon,size:t.size},null)])]),createVNode("div",{class:["v-timeline-divider__after",f.value],style:m.value},null)]))),{}}}),makeVTimelineItemProps=propsFactory({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:IconValue,iconColor:String,lineInset:[Number,String],...makeComponentProps(),...makeDimensionProps(),...makeElevationProps(),...makeRoundedProps(),...makeSizeProps(),...makeTagProps()},"VTimelineItem"),VTimelineItem=genericComponent()({name:"VTimelineItem",props:makeVTimelineItemProps(),setup(t,n){let{slots:i}=n;const{dimensionStyles:a}=useDimension(t),s=shallowRef(0),l=ref();return watch(l,(t=>{t&&(s.value=t.$el.querySelector(".v-timeline-divider__dot")?.getBoundingClientRect().width??0)}),{flush:"post"}),useRender((()=>createVNode("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":t.fillDot},t.class],style:[{"--v-timeline-dot-size":convertToUnit(s.value),"--v-timeline-line-inset":t.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(t.lineInset)})`:convertToUnit(0)},t.style]},[createVNode("div",{class:"v-timeline-item__body",style:a.value},[i.default?.()]),createVNode(VTimelineDivider,{ref:l,hideDot:t.hideDot,icon:t.icon,iconColor:t.iconColor,size:t.size,elevation:t.elevation,dotColor:t.dotColor,fillDot:t.fillDot,rounded:t.rounded},{default:i.icon}),"compact"!==t.density&&createVNode("div",{class:"v-timeline-item__opposite"},[!t.hideOpposite&&i.opposite?.()])]))),{}}}),makeVTimelineProps=propsFactory({align:{type:String,default:"center",validator:t=>["center","start"].includes(t)},direction:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)},justify:{type:String,default:"auto",validator:t=>["auto","center"].includes(t)},side:{type:String,validator:t=>null==t||["start","end"].includes(t)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:t=>["start","end","both"].includes(t)},...pick$2(makeVTimelineItemProps({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...makeComponentProps(),...makeDensityProps(),...makeTagProps(),...makeThemeProps()},"VTimeline"),VTimeline=genericComponent()({name:"VTimeline",props:makeVTimelineProps(),setup(t,n){let{slots:i}=n;const{themeClasses:a}=provideTheme(t),{densityClasses:s}=useDensity(t),{rtlClasses:l}=useRtl();provideDefaults({VTimelineDivider:{lineColor:toRef(t,"lineColor")},VTimelineItem:{density:toRef(t,"density"),dotColor:toRef(t,"dotColor"),fillDot:toRef(t,"fillDot"),hideOpposite:toRef(t,"hideOpposite"),iconColor:toRef(t,"iconColor"),lineColor:toRef(t,"lineColor"),lineInset:toRef(t,"lineInset"),size:toRef(t,"size")}});const c=computed((()=>{const n=t.side?t.side:"default"!==t.density?"end":null;return n&&`v-timeline--side-${n}`})),u=computed((()=>{const n=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(t.truncateLine){case"both":return n;case"start":return n[0];case"end":return n[1];default:return null}}));return useRender((()=>createVNode(t.tag,{class:["v-timeline",`v-timeline--${t.direction}`,`v-timeline--align-${t.align}`,`v-timeline--justify-${t.justify}`,u.value,{"v-timeline--inset-line":!!t.lineInset},a.value,s.value,c.value,l.value,t.class],style:[{"--v-timeline-line-thickness":convertToUnit(t.lineThickness)},t.style]},i))),{}}}),makeVToolbarItemsProps=propsFactory({...makeComponentProps(),...makeVariantProps({variant:"text"})},"VToolbarItems"),VToolbarItems=genericComponent()({name:"VToolbarItems",props:makeVToolbarItemsProps(),setup(t,n){let{slots:i}=n;return provideDefaults({VBtn:{color:toRef(t,"color"),height:"inherit",variant:toRef(t,"variant")}}),useRender((()=>createVNode("div",{class:["v-toolbar-items",t.class],style:t.style},[i.default?.()]))),{}}}),makeVTooltipProps=propsFactory({id:String,text:String,...omit(makeVOverlayProps({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:!1}),["absolute","persistent"])},"VTooltip"),VTooltip=genericComponent()({name:"VTooltip",props:makeVTooltipProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useProxiedModel(t,"modelValue"),{scopeId:s}=useScopeId(),l=getUid(),c=computed((()=>t.id||`v-tooltip-${l}`)),u=ref(),d=computed((()=>t.location.split(" ").length>1?t.location:t.location+" center")),f=computed((()=>"auto"===t.origin||"overlap"===t.origin||t.origin.split(" ").length>1||t.location.split(" ").length>1?t.origin:t.origin+" center")),m=computed((()=>t.transition?t.transition:a.value?"scale-transition":"fade-transition")),g=computed((()=>mergeProps({"aria-describedby":c.value},t.activatorProps)));return useRender((()=>{const n=VOverlay.filterProps(t);return createVNode(VOverlay,mergeProps({ref:u,class:["v-tooltip",t.class],style:t.style,id:c.value},n,{modelValue:a.value,"onUpdate:modelValue":t=>a.value=t,transition:m.value,absolute:!0,location:d.value,origin:f.value,persistent:!0,role:"tooltip",activatorProps:g.value,_disableGlobalStack:!0},s),{activator:i.activator,default:function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];return i.default?.(...a)??t.text}})})),forwardRefs({},u)}}),VValidation=genericComponent()({name:"VValidation",props:makeValidationProps(),emits:{"update:modelValue":t=>!0},setup(t,n){let{slots:i}=n;const a=useValidation(t,"validation");return()=>i.default?.(a)}}),components=Object.freeze(Object.defineProperty({__proto__:null,VAlert:VAlert,VAlertTitle:VAlertTitle,VApp:VApp,VAppBar:VAppBar,VAppBarNavIcon:VAppBarNavIcon,VAppBarTitle:VAppBarTitle,VAutocomplete:VAutocomplete,VAvatar:VAvatar,VBadge:VBadge,VBanner:VBanner,VBannerActions:VBannerActions,VBannerText:VBannerText,VBottomNavigation:VBottomNavigation,VBottomSheet:VBottomSheet,VBreadcrumbs:VBreadcrumbs,VBreadcrumbsDivider:VBreadcrumbsDivider,VBreadcrumbsItem:VBreadcrumbsItem,VBtn:VBtn,VBtnGroup:VBtnGroup,VBtnToggle:VBtnToggle,VCard:VCard,VCardActions:VCardActions,VCardItem:VCardItem,VCardSubtitle:VCardSubtitle,VCardText:VCardText,VCardTitle:VCardTitle,VCarousel:VCarousel,VCarouselItem:VCarouselItem,VCheckbox:VCheckbox,VCheckboxBtn:VCheckboxBtn,VChip:VChip,VChipGroup:VChipGroup,VClassIcon:VClassIcon,VCode:VCode,VCol:VCol,VColorPicker:VColorPicker,VCombobox:VCombobox,VComponentIcon:VComponentIcon,VConfirmEdit:VConfirmEdit,VContainer:VContainer,VCounter:VCounter,VDataIterator:VDataIterator,VDataTable:VDataTable,VDataTableFooter:VDataTableFooter,VDataTableHeaders:VDataTableHeaders,VDataTableRow:VDataTableRow,VDataTableRows:VDataTableRows,VDataTableServer:VDataTableServer,VDataTableVirtual:VDataTableVirtual,VDatePicker:VDatePicker,VDatePickerControls:VDatePickerControls,VDatePickerHeader:VDatePickerHeader,VDatePickerMonth:VDatePickerMonth,VDatePickerMonths:VDatePickerMonths,VDatePickerYears:VDatePickerYears,VDefaultsProvider:VDefaultsProvider,VDialog:VDialog,VDialogBottomTransition:VDialogBottomTransition,VDialogTopTransition:VDialogTopTransition,VDialogTransition:VDialogTransition,VDivider:VDivider,VEmptyState:VEmptyState,VExpandTransition:VExpandTransition,VExpandXTransition:VExpandXTransition,VExpansionPanel:VExpansionPanel,VExpansionPanelText:VExpansionPanelText,VExpansionPanelTitle:VExpansionPanelTitle,VExpansionPanels:VExpansionPanels,VFab:VFab,VFabTransition:VFabTransition,VFadeTransition:VFadeTransition,VField:VField,VFieldLabel:VFieldLabel,VFileInput:VFileInput,VFooter:VFooter,VForm:VForm,VHover:VHover,VIcon:VIcon,VImg:VImg,VInfiniteScroll:VInfiniteScroll,VInput:VInput,VItem:VItem,VItemGroup:VItemGroup,VKbd:VKbd,VLabel:VLabel,VLayout:VLayout,VLayoutItem:VLayoutItem,VLazy:VLazy,VLigatureIcon:VLigatureIcon,VList:VList,VListGroup:VListGroup,VListImg:VListImg,VListItem:VListItem,VListItemAction:VListItemAction,VListItemMedia:VListItemMedia,VListItemSubtitle:VListItemSubtitle,VListItemTitle:VListItemTitle,VListSubheader:VListSubheader,VLocaleProvider:VLocaleProvider,VMain:VMain,VMenu:VMenu,VMessages:VMessages,VNavigationDrawer:VNavigationDrawer,VNoSsr:VNoSsr,VOtpInput:VOtpInput,VOverlay:VOverlay,VPagination:VPagination,VParallax:VParallax,VProgressCircular:VProgressCircular,VProgressLinear:VProgressLinear,VRadio:VRadio,VRadioGroup:VRadioGroup,VRangeSlider:VRangeSlider,VRating:VRating,VResponsive:VResponsive,VRow:VRow,VScaleTransition:VScaleTransition,VScrollXReverseTransition:VScrollXReverseTransition,VScrollXTransition:VScrollXTransition,VScrollYReverseTransition:VScrollYReverseTransition,VScrollYTransition:VScrollYTransition,VSelect:VSelect,VSelectionControl:VSelectionControl,VSelectionControlGroup:VSelectionControlGroup,VSheet:VSheet,VSkeletonLoader:VSkeletonLoader,VSlideGroup:VSlideGroup,VSlideGroupItem:VSlideGroupItem,VSlideXReverseTransition:VSlideXReverseTransition,VSlideXTransition:VSlideXTransition,VSlideYReverseTransition:VSlideYReverseTransition,VSlideYTransition:VSlideYTransition,VSlider:VSlider,VSnackbar:VSnackbar,VSpacer:VSpacer,VSparkline:VSparkline,VSpeedDial:VSpeedDial,VStepper:VStepper,VStepperActions:VStepperActions,VStepperHeader:VStepperHeader,VStepperItem:VStepperItem,VStepperWindow:VStepperWindow,VStepperWindowItem:VStepperWindowItem,VSvgIcon:VSvgIcon,VSwitch:VSwitch,VSystemBar:VSystemBar,VTab:VTab,VTable:VTable,VTabs:VTabs,VTabsWindow:VTabsWindow,VTabsWindowItem:VTabsWindowItem,VTextField:VTextField,VTextarea:VTextarea,VThemeProvider:VThemeProvider,VTimeline:VTimeline,VTimelineItem:VTimelineItem,VToolbar:VToolbar,VToolbarItems:VToolbarItems,VToolbarTitle:VToolbarTitle,VTooltip:VTooltip,VValidation:VValidation,VVirtualScroll:VVirtualScroll,VWindow:VWindow,VWindowItem:VWindowItem},Symbol.toStringTag,{value:"Module"}));function mounted$2(t,n){const i=n.modifiers||{},a=n.value,{once:s,immediate:l,...c}=i,u=!Object.keys(c).length,{handler:d,options:f}="object"==typeof a?a:{handler:a,options:{attributes:c?.attr??u,characterData:c?.char??u,childList:c?.child??u,subtree:c?.sub??u}},m=new MutationObserver((function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1?arguments[1]:void 0;d?.(i,a),s&&unmounted$2(t,n)}));l&&d?.([],m),t._mutate=Object(t._mutate),t._mutate[n.instance.$.uid]={observer:m},m.observe(t,f)}function unmounted$2(t,n){t._mutate?.[n.instance.$.uid]&&(t._mutate[n.instance.$.uid].observer.disconnect(),delete t._mutate[n.instance.$.uid])}const Mutate={mounted:mounted$2,unmounted:unmounted$2};function mounted$1(t,n){const i=n.value,a={passive:!n.modifiers?.active};window.addEventListener("resize",i,a),t._onResize=Object(t._onResize),t._onResize[n.instance.$.uid]={handler:i,options:a},n.modifiers?.quiet||i()}function unmounted$1(t,n){if(!t._onResize?.[n.instance.$.uid])return;const{handler:i,options:a}=t._onResize[n.instance.$.uid];window.removeEventListener("resize",i,a),delete t._onResize[n.instance.$.uid]}const Resize={mounted:mounted$1,unmounted:unmounted$1};function mounted(t,n){const{self:i=!1}=n.modifiers??{},a=n.value,s="object"==typeof a&&a.options||{passive:!0},l="function"==typeof a||"handleEvent"in a?a:a.handler,c=i?t:n.arg?document.querySelector(n.arg):window;c&&(c.addEventListener("scroll",l,s),t._onScroll=Object(t._onScroll),t._onScroll[n.instance.$.uid]={handler:l,options:s,target:i?void 0:c})}function unmounted(t,n){if(!t._onScroll?.[n.instance.$.uid])return;const{handler:i,options:a,target:s=t}=t._onScroll[n.instance.$.uid];s.removeEventListener("scroll",i,a),delete t._onScroll[n.instance.$.uid]}function updated(t,n){n.value!==n.oldValue&&(unmounted(t,n),mounted(t,n))}const Scroll={mounted:mounted,unmounted:unmounted,updated:updated};function useDirectiveComponent(t,n){const i=mountComponent("string"==typeof t?resolveComponent(t):t,n);return{mounted:i,updated:i,unmounted(t){render$4(null,t)}}}function mountComponent(t,n){return function(i,a,s){const l="function"==typeof n?n(a):n,c=a.value?.text??a.value??l?.text,u=isObject$4(a.value)?a.value:{},d=(s.ctx===a.instance.$?findComponentParent(s,a.instance.$)?.provides:s.ctx?.provides)??a.instance.$.provides,f=h$2(t,mergeProps(l,u),(()=>c??i.textContent));f.appContext=Object.assign(Object.create(null),a.instance.$.appContext,{provides:d}),render$4(f,i)}}function findComponentParent(t,n){const i=new Set,a=n=>{for(const s of n){if(!s)continue;if(s===t||s.el&&t.el&&s.el===t.el)return!0;let n;if(i.add(s),s.suspense?n=a([s.ssContent]):Array.isArray(s.children)?n=a(s.children):s.component?.vnode&&(n=a([s.component?.subTree])),n)return n;i.delete(s)}return!1};if(!a([n.subTree]))return n;const s=Array.from(i).reverse();for(const l of s)if(l.component)return l.component;return n}const Tooltip=useDirectiveComponent(VTooltip,(t=>({activator:"parent",location:t.arg?.replace("-"," "),text:"boolean"==typeof t.value?void 0:t.value}))),directives=Object.freeze(Object.defineProperty({__proto__:null,ClickOutside:ClickOutside,Intersect:Intersect,Mutate:Mutate,Resize:Resize,Ripple:Ripple,Scroll:Scroll,Tooltip:Tooltip,Touch:Touch},Symbol.toStringTag,{value:"Module"})),vuetify=createVuetify({components:components,directives:directives,theme:{defaultTheme:"light",themes:{light:{colors:{primary:"#1976D2",secondary:"#424242",accent:"#82B1FF",error:"#FF5252",info:"#2196F3",success:"#4CAF50",warning:"#FFC107"}},dark:{colors:{primary:"#2196F3",secondary:"#424242",accent:"#FF4081",error:"#FF5252",info:"#2196F3",success:"#4CAF50",warning:"#FFC107"}}}},icons:{defaultSet:"mdi"}});(async()=>{await initializeDataLayer({options:{COUCHDB_SERVER_PROTOCOL:ENV$2.COUCHDB_SERVER_PROTOCOL,COUCHDB_SERVER_URL:ENV$2.COUCHDB_SERVER_URL}});const t=createPinia(),n=createApp(_sfc_main$z),{allCourseWare:i}=await __vitePreload((async()=>{const{allCourseWare:t}=await Promise.resolve().then((()=>index$6));return{allCourseWare:t}}),void 0),a=i.allViewsRaw();Object.entries(a).forEach((([t,i])=>{n.component(t,i)})),n.use(router),n.use(vuetify),n.use(t);const{piniaPlugin:s}=await __vitePreload((async()=>{const{piniaPlugin:t}=await Promise.resolve().then((()=>commonUi_es));return{piniaPlugin:t}}),void 0);n.use(s,{pinia:t}),n.provide("markdownComponents",{}),n.mount("#app")})()}});export default require_index_001();
235
- //# sourceMappingURL=index-k47IFjad.js.map
235
+ //# sourceMappingURL=index-BnAZ3XPg.js.map