@vue-skuilder/platform-ui 0.1.32-b → 0.1.32-e
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.
- package/dist/assets/{About-BaAnvLBW.js → About-C3u52t0d.js} +2 -2
- package/dist/assets/{About-BaAnvLBW.js.map → About-C3u52t0d.js.map} +1 -1
- package/dist/assets/{AdminDashboard-CqjTUAz6.js → AdminDashboard-Dz5u2cex.js} +2 -2
- package/dist/assets/{AdminDashboard-CqjTUAz6.js.map → AdminDashboard-Dz5u2cex.js.map} +1 -1
- package/dist/assets/{ClassroomCtrlPanel-DY_JOO4n.js → ClassroomCtrlPanel-Dk6oR2Ns.js} +2 -2
- package/dist/assets/{ClassroomCtrlPanel-DY_JOO4n.js.map → ClassroomCtrlPanel-Dk6oR2Ns.js.map} +1 -1
- package/dist/assets/{Classrooms-C2axF94L.js → Classrooms-vb9OkpYQ.js} +2 -2
- package/dist/assets/{Classrooms-C2axF94L.js.map → Classrooms-vb9OkpYQ.js.map} +1 -1
- package/dist/assets/{CourseRouter-Cpx3l0G5.js → CourseRouter-Blm2dYn-.js} +2 -2
- package/dist/assets/{CourseRouter-Cpx3l0G5.js.map → CourseRouter-Blm2dYn-.js.map} +1 -1
- package/dist/assets/{Courses-JnwlMj7_.js → Courses-CEw9ARaf.js} +2 -2
- package/dist/assets/{Courses-JnwlMj7_.js.map → Courses-CEw9ARaf.js.map} +1 -1
- package/dist/assets/{DataInputFormTester-COeenuPs.js → DataInputFormTester-CGzywVuh.js} +2 -2
- package/dist/assets/{DataInputFormTester-COeenuPs.js.map → DataInputFormTester-CGzywVuh.js.map} +1 -1
- package/dist/assets/{EloModeration-WKZ0ZI9K.js → EloModeration-DAmUYf5F.js} +2 -2
- package/dist/assets/{EloModeration-WKZ0ZI9K.js.map → EloModeration-DAmUYf5F.js.map} +1 -1
- package/dist/assets/{JoinCode-BC6k_fbV.js → JoinCode-B3oyqgv9.js} +2 -2
- package/dist/assets/{JoinCode-BC6k_fbV.js.map → JoinCode-B3oyqgv9.js.map} +1 -1
- package/dist/assets/{NewCourseDialog-CP_yAeBS.js → NewCourseDialog-5K53pY-W.js} +2 -2
- package/dist/assets/{NewCourseDialog-CP_yAeBS.js.map → NewCourseDialog-5K53pY-W.js.map} +1 -1
- package/dist/assets/{ReleaseNotes-Du1rXmdr.js → ReleaseNotes-DJQ5CKxz.js} +2 -2
- package/dist/assets/{ReleaseNotes-Du1rXmdr.js.map → ReleaseNotes-DJQ5CKxz.js.map} +1 -1
- package/dist/assets/{RequestPasswordReset-CD6KAb-x.js → RequestPasswordReset-1bvNIeyh.js} +2 -2
- package/dist/assets/{RequestPasswordReset-CD6KAb-x.js.map → RequestPasswordReset-1bvNIeyh.js.map} +1 -1
- package/dist/assets/{ResetPassword-CdcPL1lR.js → ResetPassword-CDlcjyGc.js} +2 -2
- package/dist/assets/{ResetPassword-CdcPL1lR.js.map → ResetPassword-CDlcjyGc.js.map} +1 -1
- package/dist/assets/{Study-CiczyXm5.js → Study-Ci2qFB3t.js} +2 -2
- package/dist/assets/{Study-CiczyXm5.js.map → Study-Ci2qFB3t.js.map} +1 -1
- package/dist/assets/{TagInformation-C_wEpXyQ.js → TagInformation-CtiIiC9l.js} +2 -2
- package/dist/assets/{TagInformation-C_wEpXyQ.js.map → TagInformation-CtiIiC9l.js.map} +1 -1
- package/dist/assets/{User-9YKBLtBO.js → User-CWCez7if.js} +2 -2
- package/dist/assets/{User-9YKBLtBO.js.map → User-CWCez7if.js.map} +1 -1
- package/dist/assets/{UserStats-DceiClex.js → UserStats-BDj614VL.js} +2 -2
- package/dist/assets/{UserStats-DceiClex.js.map → UserStats-BDj614VL.js.map} +1 -1
- package/dist/assets/{VerifyEmail-z-t9eEy2.js → VerifyEmail-Bt6Mb6Q3.js} +2 -2
- package/dist/assets/{VerifyEmail-z-t9eEy2.js.map → VerifyEmail-Bt6Mb6Q3.js.map} +1 -1
- package/dist/assets/{edit-ui.es-XlgQUjdy.js → edit-ui.es-BE3brRCi.js} +2 -2
- package/dist/assets/{edit-ui.es-XlgQUjdy.js.map → edit-ui.es-BE3brRCi.js.map} +1 -1
- package/dist/assets/index-C8n-yF4Q.js +3 -0
- package/dist/assets/index-C8n-yF4Q.js.map +1 -0
- package/dist/assets/{index-BweUwxDQ.js → index-CfcuevG4.js} +3 -3
- package/dist/assets/{index-BweUwxDQ.js.map → index-CfcuevG4.js.map} +1 -1
- package/dist/assets/{index-CGPKQ_L0.css → index-DpBS80zR.css} +1 -1
- package/dist/assets/{mousetrap-DtEBLuOp.js → mousetrap-Ca0hLdT-.js} +2 -2
- package/dist/assets/{mousetrap-DtEBLuOp.js.map → mousetrap-Ca0hLdT-.js.map} +1 -1
- package/dist/index.html +2 -2
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +6 -6
- package/dist/assets/index-dF8VqAFl.js +0 -3
- package/dist/assets/index-dF8VqAFl.js.map +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AdminDashboard-CqjTUAz6.js","assets/index-BweUwxDQ.js","assets/AdminDashboard-CWnC_vEI.css","assets/Classrooms-C2axF94L.js","assets/mousetrap-DtEBLuOp.js","assets/JoinCode-BC6k_fbV.js","assets/JoinCode-DFiral3R.css","assets/Courses-JnwlMj7_.js","assets/NewCourseDialog-CP_yAeBS.js","assets/Courses-DQW3kca9.css","assets/CourseRouter-Cpx3l0G5.js","assets/CourseRouter-DuzvSsqI.css","assets/edit-ui.es-XlgQUjdy.js","assets/EloModeration-WKZ0ZI9K.js","assets/EloModeration-B90G61YI.css","assets/TagInformation-C_wEpXyQ.js","assets/Study-CiczyXm5.js","assets/Study-Cxxw_AYM.css","assets/RequestPasswordReset-CD6KAb-x.js","assets/RequestPasswordReset-Du5-awJG.css","assets/DataInputFormTester-COeenuPs.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var __defProp2=Object.defineProperty,__defNormalProp=(n,r,o)=>r in n?__defProp2(n,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[r]=o,__publicField=(n,r,o)=>__defNormalProp(n,"symbol"!=typeof r?r+"":r,o),_a;!function(){const n=document.createElement("link").relList;if(!(n&&n.supports&&n.supports("modulepreload"))){for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver((n=>{for(const o of n)if("childList"===o.type)for(const n of o.addedNodes)"LINK"===n.tagName&&"modulepreload"===n.rel&&r(n)})).observe(document,{childList:!0,subtree:!0})}function r(n){if(n.ep)return;n.ep=!0;const r=function(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),"use-credentials"===n.crossOrigin?r.credentials="include":"anonymous"===n.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(n);fetch(n.href,r)}}();const scriptRel="modulepreload",assetsURL=function(n){return"/"+n},seen$2={},__vitePreload=function(n,r,o){let a=Promise.resolve();if(r&&r.length>0){let n=function(n){return Promise.all(n.map((n=>Promise.resolve(n).then((n=>({status:"fulfilled",value:n})),(n=>({status:"rejected",reason:n}))))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=o?.nonce||o?.getAttribute("nonce");a=n(r.map((n=>{if((n=assetsURL(n))in seen$2)return;seen$2[n]=!0;const r=n.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${o}`))return;const a=document.createElement("link");return a.rel=r?"stylesheet":scriptRel,r||(a.as="script"),a.crossOrigin="",a.href=n,s&&a.setAttribute("nonce",s),document.head.appendChild(a),r?new Promise(((r,o)=>{a.addEventListener("load",r),a.addEventListener("error",(()=>o(new Error(`Unable to preload CSS for ${n}`))))})):void 0})))}function s(n){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=n,window.dispatchEvent(r),!r.defaultPrevented)throw n}return a.then((r=>{for(const n of r||[])"rejected"===n.status&&s(n.reason);return n().catch(s)}))};var define_process_env_default={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_778c371e-53d2-471d-a93a-760b6569124e",DOTNET_NOLOGO:"1",USER:"runner",npm_config_user_agent:"yarn/4.12.0 npm/? node/v22.22.0 linux x64",CI:"true",USE_BAZEL_FALLBACK_VERSION:"silent:",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_778c371e-53d2-471d-a93a-760b6569124e",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/tmp/xfs-c6ddf702/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/22.22.0/x64/lib/node_modules/corepack",GRADLE_HOME:"/usr/share/gradle-9.3.1",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/29.0.14206865",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:"2115",ACTIONS_ORCHESTRATION_ID:"7b7b5730-d3b1-4b2e-a0da-97cd6299fab2.publish.__default",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:"20260224.36.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:15107",GITHUB_WORKFLOW:"Publish to NPM",_:"/opt/hostedtoolcache/node/22.22.0/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.13/x64",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",GOROOT_1_25_X64:"/opt/hostedtoolcache/go/1.25.7/x64",GITHUB_RUN_ID:"22547472568",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"da4ebdfbb080b1b205e8d6dbed8ea37c9ad3fddf",GITHUB_BASE_REF:"",ImageOS:"ubuntu24",GITHUB_WORKFLOW_REF:"patched-network/vue-skuilder/.github/workflows/publish-npm.yml@refs/tags/v0.1.32-b",ACTIONS_ID_TOKEN_REQUEST_TOKEN:"eyJhbGciOiJSUzI1NiIsImtpZCI6IjM4ODI2YjE3LTZhMzAtNWY5Yi1iMTY5LThiZWI4MjAyZjcyMyIsInR5cCI6IkpXVCIsIng1dCI6InlrTmFZNHFNX3RhNGsyVGdaT0NFWUxrY1lsQSJ9.eyJJZGVudGl0eVR5cGVDbGFpbSI6IlN5c3RlbTpTZXJ2aWNlSWRlbnRpdHkiLCJhYyI6Ilt7XCJTY29wZVwiOlwicmVmcy9oZWFkcy9yZWZzL3RhZ3MvdjAuMS4zMi1iXCIsXCJQZXJtaXNzaW9uXCI6M30se1wiU2NvcGVcIjpcInJlZnMvaGVhZHMvbWFzdGVyXCIsXCJQZXJtaXNzaW9uXCI6MX1dIiwiYWNzbCI6IjEwIiwiYXVkIjoidnNvOmE2OWM5MTNhLWZjODgtNGQ5OS1iOWVmLWY5NjFlNzZkZjIyOSIsImJpbGxpbmdfb3duZXJfaWQiOiJPX2tnRE9DX2hzZFEiLCJleHAiOjE3NzI0MDQ0NTMsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcHJpbWFyeXNpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL3NpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImlhdCI6MTc3MjM4MjI1MywiaXNzIjoiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImpvYl9pZCI6IjU5YzM2OTc0LWYxN2MtNWQ3ZS1hNTJiLTQzZWRhMThhNWJmOSIsIm5hbWVpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsIm5iZiI6MTc3MjM4MTk1Mywib2lkY19leHRyYSI6IntcImFjdG9yXCI6XCJOaWxvQ0tcIixcImFjdG9yX2lkXCI6XCIxMDc4MDU5MFwiLFwiYmFzZV9yZWZcIjpcIlwiLFwiY2hlY2tfcnVuX2lkXCI6XCI2NTMxMjEwMTY3M1wiLFwiZXZlbnRfbmFtZVwiOlwicHVzaFwiLFwiaGVhZF9yZWZcIjpcIlwiLFwiam9iX3dvcmtmbG93X3JlZlwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlci8uZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLW5wbS55bWxAcmVmcy90YWdzL3YwLjEuMzItYlwiLFwiam9iX3dvcmtmbG93X3NoYVwiOlwiZGE0ZWJkZmJiMDgwYjFiMjA1ZThkNmRiZWQ4ZWEzN2M5YWQzZmRkZlwiLFwicmVmXCI6XCJyZWZzL3RhZ3MvdjAuMS4zMi1iXCIsXCJyZWZfcHJvdGVjdGVkXCI6XCJmYWxzZVwiLFwicmVmX3R5cGVcIjpcInRhZ1wiLFwicmVwb3NpdG9yeVwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlclwiLFwicmVwb3NpdG9yeV9pZFwiOlwiMTIyODg2MTczXCIsXCJyZXBvc2l0b3J5X293bmVyXCI6XCJwYXRjaGVkLW5ldHdvcmtcIixcInJlcG9zaXRvcnlfb3duZXJfaWRcIjpcIjIwMDgzMDA2OVwiLFwicmVwb3NpdG9yeV92aXNpYmlsaXR5XCI6XCJwdWJsaWNcIixcInJ1bl9hdHRlbXB0XCI6XCIxXCIsXCJydW5faWRcIjpcIjIyNTQ3NDcyNTY4XCIsXCJydW5fbnVtYmVyXCI6XCIxMTFcIixcInJ1bm5lcl9lbnZpcm9ubWVudFwiOlwiZ2l0aHViLWhvc3RlZFwiLFwic2hhXCI6XCJkYTRlYmRmYmIwODBiMWIyMDVlOGQ2ZGJlZDhlYTM3YzlhZDNmZGRmXCIsXCJ3b3JrZmxvd1wiOlwiUHVibGlzaCB0byBOUE1cIixcIndvcmtmbG93X3JlZlwiOlwicGF0Y2hlZC1uZXR3b3JrL3Z1ZS1za3VpbGRlci8uZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLW5wbS55bWxAcmVmcy90YWdzL3YwLjEuMzItYlwiLFwid29ya2Zsb3dfc2hhXCI6XCJkYTRlYmRmYmIwODBiMWIyMDVlOGQ2ZGJlZDhlYTM3YzlhZDNmZGRmXCJ9Iiwib2lkY19zdWIiOiJyZXBvOnBhdGNoZWQtbmV0d29yay92dWUtc2t1aWxkZXI6cmVmOnJlZnMvdGFncy92MC4xLjMyLWIiLCJvcmNoX2lkIjoiN2I3YjU3MzAtZDNiMS00YjJlLWEwZGEtOTdjZDYyOTlmYWIyLnB1Ymxpc2guX19kZWZhdWx0Iiwib3duZXJfaWQiOiJPX2tnRE9DX2hzZFEiLCJwbGFuX2lkIjoiN2I3YjU3MzAtZDNiMS00YjJlLWEwZGEtOTdjZDYyOTlmYWIyIiwicmVwb3NpdG9yeV9pZCI6IjEyMjg4NjE3MyIsInJ1bl9pZCI6IjIyNTQ3NDcyNTY4IiwicnVuX251bWJlciI6IjExMSIsInJ1bl90eXBlIjoiZnVsbCIsInJ1bm5lcl9pZCI6IjEwMDAwMTAxOTIiLCJydW5uZXJfdHlwZSI6Imhvc3RlZCIsInNjcCI6IkFjdGlvbnMuUmVzdWx0czo3YjdiNTczMC1kM2IxLTRiMmUtYTBkYS05N2NkNjI5OWZhYjI6NTljMzY5NzQtZjE3Yy01ZDdlLWE1MmItNDNlZGExOGE1YmY5IEFjdGlvbnMuUnVubmVyOjdiN2I1NzMwLWQzYjEtNGIyZS1hMGRhLTk3Y2Q2Mjk5ZmFiMjo1OWMzNjk3NC1mMTdjLTVkN2UtYTUyYi00M2VkYTE4YTViZjkgQWN0aW9ucy5VcGxvYWRBcnRpZmFjdHM6N2I3YjU3MzAtZDNiMS00YjJlLWEwZGEtOTdjZDYyOTlmYWIyOjU5YzM2OTc0LWYxN2MtNWQ3ZS1hNTJiLTQzZWRhMThhNWJmOSBnZW5lcmF0ZV9pZF90b2tlbjo3YjdiNTczMC1kM2IxLTRiMmUtYTBkYS05N2NkNjI5OWZhYjI6NTljMzY5NzQtZjE3Yy01ZDdlLWE1MmItNDNlZGExOGE1YmY5IEFjdGlvbnMuR2VuZXJpY1JlYWQ6MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwic2hhIjoiZGE0ZWJkZmJiMDgwYjFiMjA1ZThkNmRiZWQ4ZWEzN2M5YWQzZmRkZiIsInRydXN0X3RpZXIiOiIyIn0.0mgpfHtIFNLNbR_IHdhTv6S4MDOR0ff_gvYsoBzzbt5fp46wCpzK6Yrjz8bieesa6HOvzXvrjXdptWRsWBQgPijYwAXEACiVsxBf5AwlT86Rq2LpVcB8ddEIo3H5jJlmK9_a6Zh8vfXs7w9iBZM6MrmWEJmOQKG8BrNqRMtRe5yQ6QZSAL-P44yHO85HIubDuenZ8_dOSQSIMtpV23fYWvZw0NIjiXN0cWSY1opffyeVaX2wmUYe-X2rc6OoqwGsXUI3dsegvlrZpK3scEmBsdTK2u7iMwP4jv5_RoPnyuPEFjcjoDLwJi-pDj6_5ZSAz5brwyIYmGemsW8bJ71G_w",GITHUB_ACTION_REPOSITORY:"",ENABLE_RUNNER_TRACING:"true",PATH:"/tmp/xfs-c6ddf702:/opt/hostedtoolcache/node/22.22.0/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_484a3f81-ed02-4fb6-8c83-7bf5954d140e",INVOCATION_ID:"9fbf197a4d3a4e4bb00643e95a4fd8a7",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:"111",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 1000010192",XDG_CONFIG_HOME:"/home/runner/.config",GITHUB_REF_NAME:"v0.1.32-b",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.32-b",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:"da4ebdfbb080b1b205e8d6dbed8ea37c9ad3fddf",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v0.1.32-b",GITHUB_ACTOR:"NiloCK",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_778c371e-53d2-471d-a93a-760b6569124e",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-c6ddf702",npm_execpath:"/tmp/xfs-c6ddf702/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-1-azure-eastus.actions.githubusercontent.com/102//idtoken/7b7b5730-d3b1-4b2e-a0da-97cd6299fab2/59c36974-f17c-5d7e-a52b-43eda18a5bf9?api-version=2.0",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_778c371e-53d2-471d-a93a-760b6569124e",EDGEWEBDRIVER:"/usr/local/share/edge_driver",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/27.3.13750724",SGX_AESM_ADDR:"1",PSModulePath:"/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_14.6.0",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_778c371e-53d2-471d-a93a-760b6569124e",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;function makeMap(n){const r=Object.create(null);for(const o of n.split(","))r[o]=1;return n=>n in r}const EMPTY_OBJ={},EMPTY_ARR=[],NOOP=()=>{},NO=()=>!1,isOn$1=n=>111===n.charCodeAt(0)&&110===n.charCodeAt(1)&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),isModelListener=n=>n.startsWith("onUpdate:"),extend$2=Object.assign,remove=(n,r)=>{const o=n.indexOf(r);o>-1&&n.splice(o,1)},hasOwnProperty$1=Object.prototype.hasOwnProperty,hasOwn=(n,r)=>hasOwnProperty$1.call(n,r),isArray$3=Array.isArray,isMap=n=>"[object Map]"===toTypeString(n),isSet=n=>"[object Set]"===toTypeString(n),isDate$1=n=>"[object Date]"===toTypeString(n),isRegExp=n=>"[object RegExp]"===toTypeString(n),isFunction$1=n=>"function"==typeof n,isString$1=n=>"string"==typeof n,isSymbol=n=>"symbol"==typeof n,isObject$2=n=>null!==n&&"object"==typeof n,isPromise=n=>(isObject$2(n)||isFunction$1(n))&&isFunction$1(n.then)&&isFunction$1(n.catch),objectToString=Object.prototype.toString,toTypeString=n=>objectToString.call(n),toRawType=n=>toTypeString(n).slice(8,-1),isPlainObject$4=n=>"[object Object]"===toTypeString(n),isIntegerKey=n=>isString$1(n)&&"NaN"!==n&&"-"!==n[0]&&""+parseInt(n,10)===n,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),isBuiltInDirective=makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),cacheStringFunction=n=>{const r=Object.create(null);return o=>r[o]||(r[o]=n(o))},camelizeRE=/-(\w)/g,camelize=cacheStringFunction((n=>n.replace(camelizeRE,((n,r)=>r?r.toUpperCase():"")))),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction((n=>n.replace(hyphenateRE,"-$1").toLowerCase())),capitalize=cacheStringFunction((n=>n.charAt(0).toUpperCase()+n.slice(1))),toHandlerKey=cacheStringFunction((n=>n?`on${capitalize(n)}`:"")),hasChanged=(n,r)=>!Object.is(n,r),invokeArrayFns=(n,...r)=>{for(let o=0;o<n.length;o++)n[o](...r)},def=(n,r,o,a=!1)=>{Object.defineProperty(n,r,{configurable:!0,enumerable:!1,writable:a,value:o})},looseToNumber=n=>{const r=parseFloat(n);return isNaN(r)?n:r},toNumber=n=>{const r=isString$1(n)?Number(n):NaN;return isNaN(r)?n:r};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window||"undefined"!=typeof window?window:{}),identRE=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function genPropsAccessExp(n){return identRE.test(n)?`__props.${n}`:`__props[${JSON.stringify(n)}]`}function genCacheKey(n,r){return n+JSON.stringify(r,((n,r)=>"function"==typeof r?r.toString():r))}const PatchFlags={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},PatchFlagNames={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},ShapeFlags={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},SlotFlags={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},slotFlagsText={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},GLOBALS_ALLOWED="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",isGloballyAllowed=makeMap(GLOBALS_ALLOWED),isGloballyWhitelisted=isGloballyAllowed,range=2;function generateCodeFrame(n,r=0,o=n.length){if((r=Math.max(0,Math.min(r,n.length)))>(o=Math.max(0,Math.min(o,n.length))))return"";let a=n.split(/(\r?\n)/);const s=a.filter(((n,r)=>r%2==1));a=a.filter(((n,r)=>r%2==0));let l=0;const c=[];for(let u=0;u<a.length;u++)if(l+=a[u].length+(s[u]&&s[u].length||0),l>=r){for(let n=u-range;n<=u+range||o>l;n++){if(n<0||n>=a.length)continue;const d=n+1;c.push(`${d}${" ".repeat(Math.max(3-String(d).length,0))}| ${a[n]}`);const f=a[n].length,m=s[n]&&s[n].length||0;if(n===u){const n=r-(l-(f+m)),a=Math.max(1,o>l?f-n:o-r);c.push(" | "+" ".repeat(n)+"^".repeat(a))}else if(n>u){if(o>l){const n=Math.max(Math.min(o-l,f),1);c.push(" | "+"^".repeat(n))}l+=f+m}}break}return c.join("\n")}function normalizeStyle(n){if(isArray$3(n)){const r={};for(let o=0;o<n.length;o++){const a=n[o],s=isString$1(a)?parseStringStyle(a):normalizeStyle(a);if(s)for(const n in s)r[n]=s[n]}return r}if(isString$1(n)||isObject$2(n))return n}const listDelimiterRE=/;(?![^(]*\))/g,propertyDelimiterRE=/:([^]+)/,styleCommentRE=/\/\*[^]*?\*\//g;function parseStringStyle(n){const r={};return n.replace(styleCommentRE,"").split(listDelimiterRE).forEach((n=>{if(n){const o=n.split(propertyDelimiterRE);o.length>1&&(r[o[0].trim()]=o[1].trim())}})),r}function stringifyStyle(n){if(!n)return"";if(isString$1(n))return n;let r="";for(const o in n){const a=n[o];if(isString$1(a)||"number"==typeof a){r+=`${o.startsWith("--")?o:hyphenate(o)}:${a};`}}return r}function normalizeClass(n){let r="";if(isString$1(n))r=n;else if(isArray$3(n))for(let o=0;o<n.length;o++){const a=normalizeClass(n[o]);a&&(r+=a+" ")}else if(isObject$2(n))for(const o in n)n[o]&&(r+=o+" ");return r.trim()}function normalizeProps(n){if(!n)return null;let{class:r,style:o}=n;return r&&!isString$1(r)&&(n.class=normalizeClass(r)),o&&(n.style=normalizeStyle(o)),n}const HTML_TAGS="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",SVG_TAGS="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",MATH_TAGS="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",VOID_TAGS="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",isHTMLTag=makeMap(HTML_TAGS),isSVGTag=makeMap(SVG_TAGS),isMathMLTag=makeMap(MATH_TAGS),isVoidTag=makeMap(VOID_TAGS),specialBooleanAttrs="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",isSpecialBooleanAttr=makeMap(specialBooleanAttrs),isBooleanAttr=makeMap(specialBooleanAttrs+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function includeBooleanAttr(n){return!!n||""===n}const unsafeAttrCharRE=/[>/="'\u0009\u000a\u000c\u0020]/,attrValidationCache={};function isSSRSafeAttrName(n){if(attrValidationCache.hasOwnProperty(n))return attrValidationCache[n];const r=unsafeAttrCharRE.test(n);return r&&console.error(`unsafe attribute name: ${n}`),attrValidationCache[n]=!r}const propsToAttrMap={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},isKnownHtmlAttr=makeMap("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),isKnownSvgAttr=makeMap("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan"),isKnownMathMLAttr=makeMap("accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns");function isRenderableAttrValue(n){if(null==n)return!1;const r=typeof n;return"string"===r||"number"===r||"boolean"===r}const escapeRE=/["'&<>]/;function escapeHtml(n){const r=""+n,o=escapeRE.exec(r);if(!o)return r;let a,s,l="",c=0;for(s=o.index;s<r.length;s++){switch(r.charCodeAt(s)){case 34:a=""";break;case 38:a="&";break;case 39:a="'";break;case 60:a="<";break;case 62:a=">";break;default:continue}c!==s&&(l+=r.slice(c,s)),c=s+1,l+=a}return c!==s?l+r.slice(c,s):l}const commentStripRE=/^-?>|<!--|-->|--!>|<!-$/g;function escapeHtmlComment(n){return n.replace(commentStripRE,"")}const cssVarNameEscapeSymbolsRE=/[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;function getEscapedCssVarName(n,r){return n.replace(cssVarNameEscapeSymbolsRE,(n=>r?'"'===n?'\\\\\\"':`\\\\${n}`:`\\${n}`))}function looseCompareArrays(n,r){if(n.length!==r.length)return!1;let o=!0;for(let a=0;o&&a<n.length;a++)o=looseEqual(n[a],r[a]);return o}function looseEqual(n,r){if(n===r)return!0;let o=isDate$1(n),a=isDate$1(r);if(o||a)return!(!o||!a)&&n.getTime()===r.getTime();if(o=isSymbol(n),a=isSymbol(r),o||a)return n===r;if(o=isArray$3(n),a=isArray$3(r),o||a)return!(!o||!a)&&looseCompareArrays(n,r);if(o=isObject$2(n),a=isObject$2(r),o||a){if(!o||!a)return!1;if(Object.keys(n).length!==Object.keys(r).length)return!1;for(const o in n){const a=n.hasOwnProperty(o),s=r.hasOwnProperty(o);if(a&&!s||!a&&s||!looseEqual(n[o],r[o]))return!1}}return String(n)===String(r)}function looseIndexOf(n,r){return n.findIndex((n=>looseEqual(n,r)))}const isRef$1=n=>!(!n||!0!==n.__v_isRef),toDisplayString=n=>isString$1(n)?n:null==n?"":isArray$3(n)||isObject$2(n)&&(n.toString===objectToString||!isFunction$1(n.toString))?isRef$1(n)?toDisplayString(n.value):JSON.stringify(n,replacer,2):String(n),replacer=(n,r)=>isRef$1(r)?replacer(n,r.value):isMap(r)?{[`Map(${r.size})`]:[...r.entries()].reduce(((n,[r,o],a)=>(n[stringifySymbol(r,a)+" =>"]=o,n)),{})}:isSet(r)?{[`Set(${r.size})`]:[...r.values()].map((n=>stringifySymbol(n)))}:isSymbol(r)?stringifySymbol(r):!isObject$2(r)||isArray$3(r)||isPlainObject$4(r)?r:String(r),stringifySymbol=(n,r="")=>{var o;return isSymbol(n)?`Symbol(${null!=(o=n.description)?o:r})`:n},shared_esmBundler=Object.freeze(Object.defineProperty({__proto__:null,EMPTY_ARR:EMPTY_ARR,EMPTY_OBJ:EMPTY_OBJ,NO:NO,NOOP:NOOP,PatchFlagNames:PatchFlagNames,PatchFlags:PatchFlags,ShapeFlags:ShapeFlags,SlotFlags:SlotFlags,camelize:camelize,capitalize:capitalize,cssVarNameEscapeSymbolsRE:cssVarNameEscapeSymbolsRE,def:def,escapeHtml:escapeHtml,escapeHtmlComment:escapeHtmlComment,extend:extend$2,genCacheKey:genCacheKey,genPropsAccessExp:genPropsAccessExp,generateCodeFrame:generateCodeFrame,getEscapedCssVarName:getEscapedCssVarName,getGlobalThis:getGlobalThis,hasChanged:hasChanged,hasOwn:hasOwn,hyphenate:hyphenate,includeBooleanAttr:includeBooleanAttr,invokeArrayFns:invokeArrayFns,isArray:isArray$3,isBooleanAttr:isBooleanAttr,isBuiltInDirective:isBuiltInDirective,isDate:isDate$1,isFunction:isFunction$1,isGloballyAllowed:isGloballyAllowed,isGloballyWhitelisted:isGloballyWhitelisted,isHTMLTag:isHTMLTag,isIntegerKey:isIntegerKey,isKnownHtmlAttr:isKnownHtmlAttr,isKnownMathMLAttr:isKnownMathMLAttr,isKnownSvgAttr:isKnownSvgAttr,isMap:isMap,isMathMLTag:isMathMLTag,isModelListener:isModelListener,isObject:isObject$2,isOn:isOn$1,isPlainObject:isPlainObject$4,isPromise:isPromise,isRegExp:isRegExp,isRenderableAttrValue:isRenderableAttrValue,isReservedProp:isReservedProp,isSSRSafeAttrName:isSSRSafeAttrName,isSVGTag:isSVGTag,isSet:isSet,isSpecialBooleanAttr:isSpecialBooleanAttr,isString:isString$1,isSymbol:isSymbol,isVoidTag:isVoidTag,looseEqual:looseEqual,looseIndexOf:looseIndexOf,looseToNumber:looseToNumber,makeMap:makeMap,normalizeClass:normalizeClass,normalizeProps:normalizeProps,normalizeStyle:normalizeStyle,objectToString:objectToString,parseStringStyle:parseStringStyle,propsToAttrMap:propsToAttrMap,remove:remove,slotFlagsText:slotFlagsText,stringifyStyle:stringifyStyle,toDisplayString:toDisplayString,toHandlerKey:toHandlerKey,toNumber:toNumber,toRawType:toRawType,toTypeString:toTypeString},Symbol.toStringTag,{value:"Module"}));let activeEffectScope,activeSub;class EffectScope{constructor(n=!1){this.detached=n,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=activeEffectScope,!n&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let n,r;if(this._isPaused=!0,this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].pause();for(n=0,r=this.effects.length;n<r;n++)this.effects[n].pause()}}resume(){if(this._active&&this._isPaused){let n,r;if(this._isPaused=!1,this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].resume();for(n=0,r=this.effects.length;n<r;n++)this.effects[n].resume()}}run(n){if(this._active){const r=activeEffectScope;try{return activeEffectScope=this,n()}finally{activeEffectScope=r}}}on(){activeEffectScope=this}off(){activeEffectScope=this.parent}stop(n){if(this._active){let r,o;for(this._active=!1,r=0,o=this.effects.length;r<o;r++)this.effects[r].stop();for(this.effects.length=0,r=0,o=this.cleanups.length;r<o;r++)this.cleanups[r]();if(this.cleanups.length=0,this.scopes){for(r=0,o=this.scopes.length;r<o;r++)this.scopes[r].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!n){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function effectScope(n){return new EffectScope(n)}function getCurrentScope(){return activeEffectScope}function onScopeDispose(n,r=!1){activeEffectScope&&activeEffectScope.cleanups.push(n)}const pausedQueueEffects=new WeakSet;class ReactiveEffect{constructor(n){this.fn=n,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,activeEffectScope&&activeEffectScope.active&&activeEffectScope.effects.push(this)}pause(){this.flags|=64}resume(){64&this.flags&&(this.flags&=-65,pausedQueueEffects.has(this)&&(pausedQueueEffects.delete(this),this.trigger()))}notify(){2&this.flags&&!(32&this.flags)||8&this.flags||batch(this)}run(){if(!(1&this.flags))return this.fn();this.flags|=2,cleanupEffect(this),prepareDeps(this);const n=activeSub,r=shouldTrack;activeSub=this,shouldTrack=!0;try{return this.fn()}finally{cleanupDeps(this),activeSub=n,shouldTrack=r,this.flags&=-3}}stop(){if(1&this.flags){for(let n=this.deps;n;n=n.nextDep)removeSub(n);this.deps=this.depsTail=void 0,cleanupEffect(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){64&this.flags?pausedQueueEffects.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){isDirty(this)&&this.run()}get dirty(){return isDirty(this)}}let batchDepth=0,batchedSub,batchedComputed;function batch(n,r=!1){if(n.flags|=8,r)return n.next=batchedComputed,void(batchedComputed=n);n.next=batchedSub,batchedSub=n}function startBatch(){batchDepth++}function endBatch(){if(--batchDepth>0)return;if(batchedComputed){let n=batchedComputed;for(batchedComputed=void 0;n;){const r=n.next;n.next=void 0,n.flags&=-9,n=r}}let n;for(;batchedSub;){let o=batchedSub;for(batchedSub=void 0;o;){const a=o.next;if(o.next=void 0,o.flags&=-9,1&o.flags)try{o.trigger()}catch(r){n||(n=r)}o=a}}if(n)throw n}function prepareDeps(n){for(let r=n.deps;r;r=r.nextDep)r.version=-1,r.prevActiveLink=r.dep.activeLink,r.dep.activeLink=r}function cleanupDeps(n){let r,o=n.depsTail,a=o;for(;a;){const n=a.prevDep;-1===a.version?(a===o&&(o=n),removeSub(a),removeDep(a)):r=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=n}n.deps=r,n.depsTail=o}function isDirty(n){for(let r=n.deps;r;r=r.nextDep)if(r.dep.version!==r.version||r.dep.computed&&(refreshComputed(r.dep.computed)||r.dep.version!==r.version))return!0;return!!n._dirty}function refreshComputed(n){if(4&n.flags&&!(16&n.flags))return;if(n.flags&=-17,n.globalVersion===globalVersion)return;n.globalVersion=globalVersion;const r=n.dep;if(n.flags|=2,r.version>0&&!n.isSSR&&n.deps&&!isDirty(n))return void(n.flags&=-3);const o=activeSub,a=shouldTrack;activeSub=n,shouldTrack=!0;try{prepareDeps(n);const o=n.fn(n._value);(0===r.version||hasChanged(o,n._value))&&(n._value=o,r.version++)}catch(s){throw r.version++,s}finally{activeSub=o,shouldTrack=a,cleanupDeps(n),n.flags&=-3}}function removeSub(n,r=!1){const{dep:o,prevSub:a,nextSub:s}=n;if(a&&(a.nextSub=s,n.prevSub=void 0),s&&(s.prevSub=a,n.nextSub=void 0),o.subs===n&&(o.subs=a,!a&&o.computed)){o.computed.flags&=-5;for(let n=o.computed.deps;n;n=n.nextDep)removeSub(n,!0)}r||--o.sc||!o.map||o.map.delete(o.key)}function removeDep(n){const{prevDep:r,nextDep:o}=n;r&&(r.nextDep=o,n.prevDep=void 0),o&&(o.prevDep=r,n.nextDep=void 0)}function effect(n,r){n.effect instanceof ReactiveEffect&&(n=n.effect.fn);const o=new ReactiveEffect(n);r&&extend$2(o,r);try{o.run()}catch(s){throw o.stop(),s}const a=o.run.bind(o);return a.effect=o,a}function stop(n){n.effect.stop()}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const n=trackStack.pop();shouldTrack=void 0===n||n}function cleanupEffect(n){const{cleanup:r}=n;if(n.cleanup=void 0,r){const n=activeSub;activeSub=void 0;try{r()}finally{activeSub=n}}}let globalVersion=0;class Link{constructor(n,r){this.sub=n,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Dep{constructor(n){this.computed=n,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(n){if(!activeSub||!shouldTrack||activeSub===this.computed)return;let r=this.activeLink;if(void 0===r||r.sub!==activeSub)r=this.activeLink=new Link(activeSub,this),activeSub.deps?(r.prevDep=activeSub.depsTail,activeSub.depsTail.nextDep=r,activeSub.depsTail=r):activeSub.deps=activeSub.depsTail=r,addSub(r);else if(-1===r.version&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=activeSub.depsTail,r.nextDep=void 0,activeSub.depsTail.nextDep=r,activeSub.depsTail=r,activeSub.deps===r&&(activeSub.deps=n)}return r}trigger(n){this.version++,globalVersion++,this.notify(n)}notify(n){startBatch();try{0;for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{endBatch()}}}function addSub(n){if(n.dep.sc++,4&n.sub.flags){const r=n.dep.computed;if(r&&!n.dep.subs){r.flags|=20;for(let n=r.deps;n;n=n.nextDep)addSub(n)}const o=n.dep.subs;o!==n&&(n.prevSub=o,o&&(o.nextSub=n)),n.dep.subs=n}}const targetMap=new WeakMap,ITERATE_KEY=Symbol(""),MAP_KEY_ITERATE_KEY=Symbol(""),ARRAY_ITERATE_KEY=Symbol("");function track(n,r,o){if(shouldTrack&&activeSub){let r=targetMap.get(n);r||targetMap.set(n,r=new Map);let a=r.get(o);a||(r.set(o,a=new Dep),a.map=r,a.key=o),a.track()}}function trigger(n,r,o,a,s,l){const c=targetMap.get(n);if(!c)return void globalVersion++;const u=n=>{n&&n.trigger()};if(startBatch(),"clear"===r)c.forEach(u);else{const s=isArray$3(n),l=s&&isIntegerKey(o);if(s&&"length"===o){const n=Number(a);c.forEach(((r,o)=>{("length"===o||o===ARRAY_ITERATE_KEY||!isSymbol(o)&&o>=n)&&u(r)}))}else switch((void 0!==o||c.has(void 0))&&u(c.get(o)),l&&u(c.get(ARRAY_ITERATE_KEY)),r){case"add":s?l&&u(c.get("length")):(u(c.get(ITERATE_KEY)),isMap(n)&&u(c.get(MAP_KEY_ITERATE_KEY)));break;case"delete":s||(u(c.get(ITERATE_KEY)),isMap(n)&&u(c.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap(n)&&u(c.get(ITERATE_KEY))}}endBatch()}function getDepFromReactive(n,r){const o=targetMap.get(n);return o&&o.get(r)}function reactiveReadArray(n){const r=toRaw(n);return r===n?r:(track(r,"iterate",ARRAY_ITERATE_KEY),isShallow(n)?r:r.map(toReactive))}function shallowReadArray(n){return track(n=toRaw(n),"iterate",ARRAY_ITERATE_KEY),n}const arrayInstrumentations={__proto__:null,[Symbol.iterator](){return iterator(this,Symbol.iterator,toReactive)},concat(...n){return reactiveReadArray(this).concat(...n.map((n=>isArray$3(n)?reactiveReadArray(n):n)))},entries(){return iterator(this,"entries",(n=>(n[1]=toReactive(n[1]),n)))},every(n,r){return apply(this,"every",n,r,void 0,arguments)},filter(n,r){return apply(this,"filter",n,r,(n=>n.map(toReactive)),arguments)},find(n,r){return apply(this,"find",n,r,toReactive,arguments)},findIndex(n,r){return apply(this,"findIndex",n,r,void 0,arguments)},findLast(n,r){return apply(this,"findLast",n,r,toReactive,arguments)},findLastIndex(n,r){return apply(this,"findLastIndex",n,r,void 0,arguments)},forEach(n,r){return apply(this,"forEach",n,r,void 0,arguments)},includes(...n){return searchProxy(this,"includes",n)},indexOf(...n){return searchProxy(this,"indexOf",n)},join(n){return reactiveReadArray(this).join(n)},lastIndexOf(...n){return searchProxy(this,"lastIndexOf",n)},map(n,r){return apply(this,"map",n,r,void 0,arguments)},pop(){return noTracking(this,"pop")},push(...n){return noTracking(this,"push",n)},reduce(n,...r){return reduce(this,"reduce",n,r)},reduceRight(n,...r){return reduce(this,"reduceRight",n,r)},shift(){return noTracking(this,"shift")},some(n,r){return apply(this,"some",n,r,void 0,arguments)},splice(...n){return noTracking(this,"splice",n)},toReversed(){return reactiveReadArray(this).toReversed()},toSorted(n){return reactiveReadArray(this).toSorted(n)},toSpliced(...n){return reactiveReadArray(this).toSpliced(...n)},unshift(...n){return noTracking(this,"unshift",n)},values(){return iterator(this,"values",toReactive)}};function iterator(n,r,o){const a=shallowReadArray(n),s=a[r]();return a===n||isShallow(n)||(s._next=s.next,s.next=()=>{const n=s._next();return n.value&&(n.value=o(n.value)),n}),s}const arrayProto=Array.prototype;function apply(n,r,o,a,s,l){const c=shallowReadArray(n),u=c!==n&&!isShallow(n),d=c[r];if(d!==arrayProto[r]){const r=d.apply(n,l);return u?toReactive(r):r}let f=o;c!==n&&(u?f=function(r,a){return o.call(this,toReactive(r),a,n)}:o.length>2&&(f=function(r,a){return o.call(this,r,a,n)}));const m=d.call(c,f,a);return u&&s?s(m):m}function reduce(n,r,o,a){const s=shallowReadArray(n);let l=o;return s!==n&&(isShallow(n)?o.length>3&&(l=function(r,a,s){return o.call(this,r,a,s,n)}):l=function(r,a,s){return o.call(this,r,toReactive(a),s,n)}),s[r](l,...a)}function searchProxy(n,r,o){const a=toRaw(n);track(a,"iterate",ARRAY_ITERATE_KEY);const s=a[r](...o);return-1!==s&&!1!==s||!isProxy(o[0])?s:(o[0]=toRaw(o[0]),a[r](...o))}function noTracking(n,r,o=[]){pauseTracking(),startBatch();const a=toRaw(n)[r].apply(n,o);return endBatch(),resetTracking(),a}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter((n=>"arguments"!==n&&"caller"!==n)).map((n=>Symbol[n])).filter(isSymbol));function hasOwnProperty(n){isSymbol(n)||(n=String(n));const r=toRaw(this);return track(r,"has",n),r.hasOwnProperty(n)}class BaseReactiveHandler{constructor(n=!1,r=!1){this._isReadonly=n,this._isShallow=r}get(n,r,o){if("__v_skip"===r)return n.__v_skip;const a=this._isReadonly,s=this._isShallow;if("__v_isReactive"===r)return!a;if("__v_isReadonly"===r)return a;if("__v_isShallow"===r)return s;if("__v_raw"===r)return o===(a?s?shallowReadonlyMap:readonlyMap:s?shallowReactiveMap:reactiveMap).get(n)||Object.getPrototypeOf(n)===Object.getPrototypeOf(o)?n:void 0;const l=isArray$3(n);if(!a){let n;if(l&&(n=arrayInstrumentations[r]))return n;if("hasOwnProperty"===r)return hasOwnProperty}const c=Reflect.get(n,r,isRef(n)?n:o);return(isSymbol(r)?builtInSymbols.has(r):isNonTrackableKeys(r))?c:(a||track(n,"get",r),s?c:isRef(c)?l&&isIntegerKey(r)?c:c.value:isObject$2(c)?a?readonly(c):reactive(c):c)}}class MutableReactiveHandler extends BaseReactiveHandler{constructor(n=!1){super(!1,n)}set(n,r,o,a){let s=n[r];if(!this._isShallow){const r=isReadonly(s);if(isShallow(o)||isReadonly(o)||(s=toRaw(s),o=toRaw(o)),!isArray$3(n)&&isRef(s)&&!isRef(o))return!r&&(s.value=o,!0)}const l=isArray$3(n)&&isIntegerKey(r)?Number(r)<n.length:hasOwn(n,r),c=Reflect.set(n,r,o,isRef(n)?n:a);return n===toRaw(a)&&(l?hasChanged(o,s)&&trigger(n,"set",r,o):trigger(n,"add",r,o)),c}deleteProperty(n,r){const o=hasOwn(n,r);n[r];const a=Reflect.deleteProperty(n,r);return a&&o&&trigger(n,"delete",r,void 0),a}has(n,r){const o=Reflect.has(n,r);return isSymbol(r)&&builtInSymbols.has(r)||track(n,"has",r),o}ownKeys(n){return track(n,"iterate",isArray$3(n)?"length":ITERATE_KEY),Reflect.ownKeys(n)}}class ReadonlyReactiveHandler extends BaseReactiveHandler{constructor(n=!1){super(!0,n)}set(n,r){return!0}deleteProperty(n,r){return!0}}const mutableHandlers=new MutableReactiveHandler,readonlyHandlers=new ReadonlyReactiveHandler,shallowReactiveHandlers=new MutableReactiveHandler(!0),shallowReadonlyHandlers=new ReadonlyReactiveHandler(!0),toShallow=n=>n,getProto=n=>Reflect.getPrototypeOf(n);function createIterableMethod(n,r,o){return function(...a){const s=this.__v_raw,l=toRaw(s),c=isMap(l),u="entries"===n||n===Symbol.iterator&&c,d="keys"===n&&c,f=s[n](...a),m=o?toShallow:r?toReadonly:toReactive;return!r&&track(l,"iterate",d?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:n,done:r}=f.next();return r?{value:n,done:r}:{value:u?[m(n[0]),m(n[1])]:m(n),done:r}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(n){return function(...r){return"delete"!==n&&("clear"===n?void 0:this)}}function createInstrumentations(n,r){const o={get(o){const a=this.__v_raw,s=toRaw(a),l=toRaw(o);n||(hasChanged(o,l)&&track(s,"get",o),track(s,"get",l));const{has:c}=getProto(s),u=r?toShallow:n?toReadonly:toReactive;return c.call(s,o)?u(a.get(o)):c.call(s,l)?u(a.get(l)):void(a!==s&&a.get(o))},get size(){const r=this.__v_raw;return!n&&track(toRaw(r),"iterate",ITERATE_KEY),Reflect.get(r,"size",r)},has(r){const o=this.__v_raw,a=toRaw(o),s=toRaw(r);return n||(hasChanged(r,s)&&track(a,"has",r),track(a,"has",s)),r===s?o.has(r):o.has(r)||o.has(s)},forEach(o,a){const s=this,l=s.__v_raw,c=toRaw(l),u=r?toShallow:n?toReadonly:toReactive;return!n&&track(c,"iterate",ITERATE_KEY),l.forEach(((n,r)=>o.call(a,u(n),u(r),s)))}};extend$2(o,n?{add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear")}:{add(n){r||isShallow(n)||isReadonly(n)||(n=toRaw(n));const o=toRaw(this);return getProto(o).has.call(o,n)||(o.add(n),trigger(o,"add",n,n)),this},set(n,o){r||isShallow(o)||isReadonly(o)||(o=toRaw(o));const a=toRaw(this),{has:s,get:l}=getProto(a);let c=s.call(a,n);c||(n=toRaw(n),c=s.call(a,n));const u=l.call(a,n);return a.set(n,o),c?hasChanged(o,u)&&trigger(a,"set",n,o):trigger(a,"add",n,o),this},delete(n){const r=toRaw(this),{has:o,get:a}=getProto(r);let s=o.call(r,n);s||(n=toRaw(n),s=o.call(r,n)),a&&a.call(r,n);const l=r.delete(n);return s&&trigger(r,"delete",n,void 0),l},clear(){const n=toRaw(this),r=0!==n.size,o=n.clear();return r&&trigger(n,"clear",void 0,void 0),o}});return["keys","values","entries",Symbol.iterator].forEach((a=>{o[a]=createIterableMethod(a,n,r)})),o}function createInstrumentationGetter(n,r){const o=createInstrumentations(n,r);return(r,a,s)=>"__v_isReactive"===a?!n:"__v_isReadonly"===a?n:"__v_raw"===a?r:Reflect.get(hasOwn(o,a)&&a in r?o:r,a,s)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},shallowReadonlyCollectionHandlers={get:createInstrumentationGetter(!0,!0)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(n){return n.__v_skip||!Object.isExtensible(n)?0:targetTypeMap(toRawType(n))}function reactive(n){return isReadonly(n)?n:createReactiveObject(n,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(n){return createReactiveObject(n,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(n){return createReactiveObject(n,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function shallowReadonly(n){return createReactiveObject(n,!0,shallowReadonlyHandlers,shallowReadonlyCollectionHandlers,shallowReadonlyMap)}function createReactiveObject(n,r,o,a,s){if(!isObject$2(n))return n;if(n.__v_raw&&(!r||!n.__v_isReactive))return n;const l=s.get(n);if(l)return l;const c=getTargetType(n);if(0===c)return n;const u=new Proxy(n,2===c?a:o);return s.set(n,u),u}function isReactive(n){return isReadonly(n)?isReactive(n.__v_raw):!(!n||!n.__v_isReactive)}function isReadonly(n){return!(!n||!n.__v_isReadonly)}function isShallow(n){return!(!n||!n.__v_isShallow)}function isProxy(n){return!!n&&!!n.__v_raw}function toRaw(n){const r=n&&n.__v_raw;return r?toRaw(r):n}function markRaw(n){return!hasOwn(n,"__v_skip")&&Object.isExtensible(n)&&def(n,"__v_skip",!0),n}const toReactive=n=>isObject$2(n)?reactive(n):n,toReadonly=n=>isObject$2(n)?readonly(n):n;function isRef(n){return!!n&&!0===n.__v_isRef}function ref(n){return createRef(n,!1)}function shallowRef(n){return createRef(n,!0)}function createRef(n,r){return isRef(n)?n:new RefImpl(n,r)}class RefImpl{constructor(n,r){this.dep=new Dep,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?n:toRaw(n),this._value=r?n:toReactive(n),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(n){const r=this._rawValue,o=this.__v_isShallow||isShallow(n)||isReadonly(n);n=o?n:toRaw(n),hasChanged(n,r)&&(this._rawValue=n,this._value=o?n:toReactive(n),this.dep.trigger())}}function triggerRef(n){n.dep&&n.dep.trigger()}function unref(n){return isRef(n)?n.value:n}function toValue(n){return isFunction$1(n)?n():unref(n)}const shallowUnwrapHandlers={get:(n,r,o)=>"__v_raw"===r?n:unref(Reflect.get(n,r,o)),set:(n,r,o,a)=>{const s=n[r];return isRef(s)&&!isRef(o)?(s.value=o,!0):Reflect.set(n,r,o,a)}};function proxyRefs(n){return isReactive(n)?n:new Proxy(n,shallowUnwrapHandlers)}class CustomRefImpl{constructor(n){this.__v_isRef=!0,this._value=void 0;const r=this.dep=new Dep,{get:o,set:a}=n(r.track.bind(r),r.trigger.bind(r));this._get=o,this._set=a}get value(){return this._value=this._get()}set value(n){this._set(n)}}function customRef(n){return new CustomRefImpl(n)}function toRefs(n){const r=isArray$3(n)?new Array(n.length):{};for(const o in n)r[o]=propertyToRef(n,o);return r}class ObjectRefImpl{constructor(n,r,o){this._object=n,this._key=r,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0}get value(){const n=this._object[this._key];return this._value=void 0===n?this._defaultValue:n}set value(n){this._object[this._key]=n}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}class GetterRefImpl{constructor(n){this._getter=n,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function toRef(n,r,o){return isRef(n)?n:isFunction$1(n)?new GetterRefImpl(n):isObject$2(n)&&arguments.length>1?propertyToRef(n,r,o):ref(n)}function propertyToRef(n,r,o){const a=n[r];return isRef(a)?a:new ObjectRefImpl(n,r,o)}class ComputedRefImpl{constructor(n,r,o){this.fn=n,this.setter=r,this._value=void 0,this.dep=new Dep(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=globalVersion-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=o}notify(){if(this.flags|=16,!(8&this.flags)&&activeSub!==this)return batch(this,!0),!0}get value(){const n=this.dep.track();return refreshComputed(this),n&&(n.version=this.dep.version),this._value}set value(n){this.setter&&this.setter(n)}}function computed$1(n,r,o=!1){let a,s;isFunction$1(n)?a=n:(a=n.get,s=n.set);return new ComputedRefImpl(a,s,o)}const TrackOpTypes={GET:"get",HAS:"has",ITERATE:"iterate"},TriggerOpTypes={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},INITIAL_WATCHER_VALUE={},cleanupMap=new WeakMap;let activeWatcher;function getCurrentWatcher(){return activeWatcher}function onWatcherCleanup(n,r=!1,o=activeWatcher){if(o){let r=cleanupMap.get(o);r||cleanupMap.set(o,r=[]),r.push(n)}}function watch$1(n,r,o=EMPTY_OBJ){const{immediate:a,deep:s,once:l,scheduler:c,augmentJob:u,call:d}=o,f=n=>s?n:isShallow(n)||!1===s||0===s?traverse(n,1):traverse(n);let m,g,b,S,k=!1,w=!1;if(isRef(n)?(g=()=>n.value,k=isShallow(n)):isReactive(n)?(g=()=>f(n),k=!0):isArray$3(n)?(w=!0,k=n.some((n=>isReactive(n)||isShallow(n))),g=()=>n.map((n=>isRef(n)?n.value:isReactive(n)?f(n):isFunction$1(n)?d?d(n,2):n():void 0))):g=isFunction$1(n)?r?d?()=>d(n,2):n:()=>{if(b){pauseTracking();try{b()}finally{resetTracking()}}const r=activeWatcher;activeWatcher=m;try{return d?d(n,3,[S]):n(S)}finally{activeWatcher=r}}:NOOP,r&&s){const n=g,r=!0===s?1/0:s;g=()=>traverse(n(),r)}const E=getCurrentScope(),C=()=>{m.stop(),E&&E.active&&remove(E.effects,m)};if(l&&r){const n=r;r=(...r)=>{n(...r),C()}}let T=w?new Array(n.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const I=n=>{if(1&m.flags&&(m.dirty||n))if(r){const n=m.run();if(s||k||(w?n.some(((n,r)=>hasChanged(n,T[r]))):hasChanged(n,T))){b&&b();const o=activeWatcher;activeWatcher=m;try{const o=[n,T===INITIAL_WATCHER_VALUE?void 0:w&&T[0]===INITIAL_WATCHER_VALUE?[]:T,S];d?d(r,3,o):r(...o),T=n}finally{activeWatcher=o}}}else m.run()};return u&&u(I),m=new ReactiveEffect(g),m.scheduler=c?()=>c(I,!1):I,S=n=>onWatcherCleanup(n,!1,m),b=m.onStop=()=>{const n=cleanupMap.get(m);if(n){if(d)d(n,4);else for(const r of n)r();cleanupMap.delete(m)}},r?a?I(!0):T=m.run():c?c(I.bind(null,!0),!0):m.run(),C.pause=m.pause.bind(m),C.resume=m.resume.bind(m),C.stop=C,C}function traverse(n,r=1/0,o){if(r<=0||!isObject$2(n)||n.__v_skip)return n;if((o=o||new Set).has(n))return n;if(o.add(n),r--,isRef(n))traverse(n.value,r,o);else if(isArray$3(n))for(let a=0;a<n.length;a++)traverse(n[a],r,o);else if(isSet(n)||isMap(n))n.forEach((n=>{traverse(n,r,o)}));else if(isPlainObject$4(n)){for(const a in n)traverse(n[a],r,o);for(const a of Object.getOwnPropertySymbols(n))Object.prototype.propertyIsEnumerable.call(n,a)&&traverse(n[a],r,o)}return n}const stack$1=[];function pushWarningContext(n){stack$1.push(n)}function popWarningContext(){stack$1.pop()}let isWarning=!1;function warn$1(n,...r){if(isWarning)return;isWarning=!0,pauseTracking();const o=stack$1.length?stack$1[stack$1.length-1].component:null,a=o&&o.appContext.config.warnHandler,s=getComponentTrace();if(a)callWithErrorHandling(a,o,11,[n+r.map((n=>{var r,o;return null!=(o=null==(r=n.toString)?void 0:r.call(n))?o:JSON.stringify(n)})).join(""),o&&o.proxy,s.map((({vnode:n})=>`at <${formatComponentName(o,n.type)}>`)).join("\n"),s]);else{const o=[`[Vue warn]: ${n}`,...r];s.length&&o.push("\n",...formatTrace(s)),console.warn(...o)}resetTracking(),isWarning=!1}function getComponentTrace(){let n=stack$1[stack$1.length-1];if(!n)return[];const r=[];for(;n;){const o=r[0];o&&o.vnode===n?o.recurseCount++:r.push({vnode:n,recurseCount:0});const a=n.component&&n.component.parent;n=a&&a.vnode}return r}function formatTrace(n){const r=[];return n.forEach(((n,o)=>{r.push(...0===o?[]:["\n"],...formatTraceEntry(n))})),r}function formatTraceEntry({vnode:n,recurseCount:r}){const o=r>0?`... (${r} recursive calls)`:"",a=!!n.component&&null==n.component.parent,s=` at <${formatComponentName(n.component,n.type,a)}`,l=">"+o;return n.props?[s,...formatProps(n.props),l]:[s+l]}function formatProps(n){const r=[],o=Object.keys(n);return o.slice(0,3).forEach((o=>{r.push(...formatProp(o,n[o]))})),o.length>3&&r.push(" ..."),r}function formatProp(n,r,o){return isString$1(r)?(r=JSON.stringify(r),o?r:[`${n}=${r}`]):"number"==typeof r||"boolean"==typeof r||null==r?o?r:[`${n}=${r}`]:isRef(r)?(r=formatProp(n,toRaw(r.value),!0),o?r:[`${n}=Ref<`,r,">"]):isFunction$1(r)?[`${n}=fn${r.name?`<${r.name}>`:""}`]:(r=toRaw(r),o?r:[`${n}=`,r])}function assertNumber(n,r){}const ErrorCodes$1={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},ErrorTypeStrings$1={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function callWithErrorHandling(n,r,o,a){try{return a?n(...a):n()}catch(s){handleError(s,r,o)}}function callWithAsyncErrorHandling(n,r,o,a){if(isFunction$1(n)){const s=callWithErrorHandling(n,r,o,a);return s&&isPromise(s)&&s.catch((n=>{handleError(n,r,o)})),s}if(isArray$3(n)){const s=[];for(let l=0;l<n.length;l++)s.push(callWithAsyncErrorHandling(n[l],r,o,a));return s}}function handleError(n,r,o,a=!0){const s=r?r.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:c}=r&&r.appContext.config||EMPTY_OBJ;if(r){let a=r.parent;const s=r.proxy,c=`https://vuejs.org/error-reference/#runtime-${o}`;for(;a;){const r=a.ec;if(r)for(let o=0;o<r.length;o++)if(!1===r[o](n,s,c))return;a=a.parent}if(l)return pauseTracking(),callWithErrorHandling(l,null,10,[n,s,c]),void resetTracking()}logError(n,o,s,a,c)}function logError(n,r,o,a=!0,s=!1){if(s)throw n;console.error(n)}const queue$1=[];let flushIndex=-1;const pendingPostFlushCbs=[];let activePostFlushCbs=null,postFlushIndex=0;const resolvedPromise=Promise.resolve();let currentFlushPromise=null;function nextTick$2(n){const r=currentFlushPromise||resolvedPromise;return n?r.then(this?n.bind(this):n):r}function findInsertionIndex$1(n){let r=flushIndex+1,o=queue$1.length;for(;r<o;){const a=r+o>>>1,s=queue$1[a],l=getId(s);l<n||l===n&&2&s.flags?r=a+1:o=a}return r}function queueJob(n){if(!(1&n.flags)){const r=getId(n),o=queue$1[queue$1.length-1];!o||!(2&n.flags)&&r>=getId(o)?queue$1.push(n):queue$1.splice(findInsertionIndex$1(r),0,n),n.flags|=1,queueFlush()}}function queueFlush(){currentFlushPromise||(currentFlushPromise=resolvedPromise.then(flushJobs))}function queuePostFlushCb(n){isArray$3(n)?pendingPostFlushCbs.push(...n):activePostFlushCbs&&-1===n.id?activePostFlushCbs.splice(postFlushIndex+1,0,n):1&n.flags||(pendingPostFlushCbs.push(n),n.flags|=1),queueFlush()}function flushPreFlushCbs(n,r,o=flushIndex+1){for(;o<queue$1.length;o++){const r=queue$1[o];if(r&&2&r.flags){if(n&&r.id!==n.uid)continue;queue$1.splice(o,1),o--,4&r.flags&&(r.flags&=-2),r(),4&r.flags||(r.flags&=-2)}}}function flushPostFlushCbs(n){if(pendingPostFlushCbs.length){const n=[...new Set(pendingPostFlushCbs)].sort(((n,r)=>getId(n)-getId(r)));if(pendingPostFlushCbs.length=0,activePostFlushCbs)return void activePostFlushCbs.push(...n);for(activePostFlushCbs=n,postFlushIndex=0;postFlushIndex<activePostFlushCbs.length;postFlushIndex++){const n=activePostFlushCbs[postFlushIndex];4&n.flags&&(n.flags&=-2),8&n.flags||n(),n.flags&=-2}activePostFlushCbs=null,postFlushIndex=0}}const getId=n=>null==n.id?2&n.flags?-1:1/0:n.id;function flushJobs(n){try{for(flushIndex=0;flushIndex<queue$1.length;flushIndex++){const n=queue$1[flushIndex];!n||8&n.flags||(4&n.flags&&(n.flags&=-2),callWithErrorHandling(n,n.i,n.i?15:14),4&n.flags||(n.flags&=-2))}}finally{for(;flushIndex<queue$1.length;flushIndex++){const n=queue$1[flushIndex];n&&(n.flags&=-2)}flushIndex=-1,queue$1.length=0,flushPostFlushCbs(),currentFlushPromise=null,(queue$1.length||pendingPostFlushCbs.length)&&flushJobs()}}let devtools$1,buffer=[];function setDevtoolsHook$1(n,r){var o,a;if(devtools$1=n,devtools$1)devtools$1.enabled=!0,buffer.forEach((({event:n,args:r})=>devtools$1.emit(n,...r))),buffer=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(a=null==(o=window.navigator)?void 0:o.userAgent)?void 0:a.includes("jsdom"))){(r.__VUE_DEVTOOLS_HOOK_REPLAY__=r.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((n=>{setDevtoolsHook$1(n,r)})),setTimeout((()=>{devtools$1||(r.__VUE_DEVTOOLS_HOOK_REPLAY__=null,buffer=[])}),3e3)}else buffer=[]}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(n){const r=currentRenderingInstance;return currentRenderingInstance=n,currentScopeId=n&&n.type.__scopeId||null,r}function pushScopeId(n){currentScopeId=n}function popScopeId(){currentScopeId=null}const withScopeId=n=>withCtx;function withCtx(n,r=currentRenderingInstance,o){if(!r)return n;if(n._n)return n;const a=(...o)=>{a._d&&setBlockTracking(-1);const s=setCurrentRenderingInstance(r);let l;try{l=n(...o)}finally{setCurrentRenderingInstance(s),a._d&&setBlockTracking(1)}return l};return a._n=!0,a._c=!0,a._d=!0,a}function withDirectives(n,r){if(null===currentRenderingInstance)return n;const o=getComponentPublicInstance(currentRenderingInstance),a=n.dirs||(n.dirs=[]);for(let s=0;s<r.length;s++){let[n,l,c,u=EMPTY_OBJ]=r[s];n&&(isFunction$1(n)&&(n={mounted:n,updated:n}),n.deep&&traverse(l),a.push({dir:n,instance:o,value:l,oldValue:void 0,arg:c,modifiers:u}))}return n}function invokeDirectiveHook(n,r,o,a){const s=n.dirs,l=r&&r.dirs;for(let c=0;c<s.length;c++){const u=s[c];l&&(u.oldValue=l[c].value);let d=u.dir[a];d&&(pauseTracking(),callWithAsyncErrorHandling(d,o,8,[n.el,u,n,r]),resetTracking())}}const TeleportEndKey=Symbol("_vte"),isTeleport=n=>n.__isTeleport,isTeleportDisabled=n=>n&&(n.disabled||""===n.disabled),isTeleportDeferred=n=>n&&(n.defer||""===n.defer),isTargetSVG=n=>"undefined"!=typeof SVGElement&&n instanceof SVGElement,isTargetMathML=n=>"function"==typeof MathMLElement&&n instanceof MathMLElement,resolveTarget=(n,r)=>{const o=n&&n.to;if(isString$1(o)){if(r){return r(o)}return null}return o},TeleportImpl={name:"Teleport",__isTeleport:!0,process(n,r,o,a,s,l,c,u,d,f){const{mc:m,pc:g,pbc:b,o:{insert:S,querySelector:k,createText:w,createComment:E}}=f,C=isTeleportDisabled(r.props);let{shapeFlag:T,children:I,dynamicChildren:P}=r;if(null==n){const n=r.el=w(""),f=r.anchor=w("");S(n,o,a),S(f,o,a);const g=(n,r)=>{16&T&&(s&&s.isCE&&(s.ce._teleportTarget=n),m(I,n,r,s,l,c,u,d))},b=()=>{const n=r.target=resolveTarget(r.props,k),o=prepareAnchor(n,r,w,S);n&&("svg"!==c&&isTargetSVG(n)?c="svg":"mathml"!==c&&isTargetMathML(n)&&(c="mathml"),C||(g(n,o),updateCssVars(r,!1)))};C&&(g(o,f),updateCssVars(r,!0)),isTeleportDeferred(r.props)?queuePostRenderEffect((()=>{b(),r.el.__isMounted=!0}),l):b()}else{if(isTeleportDeferred(r.props)&&!n.el.__isMounted)return void queuePostRenderEffect((()=>{TeleportImpl.process(n,r,o,a,s,l,c,u,d,f),delete n.el.__isMounted}),l);r.el=n.el,r.targetStart=n.targetStart;const m=r.anchor=n.anchor,S=r.target=n.target,w=r.targetAnchor=n.targetAnchor,E=isTeleportDisabled(n.props),T=E?o:S,I=E?m:w;if("svg"===c||isTargetSVG(S)?c="svg":("mathml"===c||isTargetMathML(S))&&(c="mathml"),P?(b(n.dynamicChildren,P,T,s,l,c,u),traverseStaticChildren(n,r,!0)):d||g(n,r,T,I,s,l,c,u,!1),C)E?r.props&&n.props&&r.props.to!==n.props.to&&(r.props.to=n.props.to):moveTeleport(r,o,m,f,1);else if((r.props&&r.props.to)!==(n.props&&n.props.to)){const n=r.target=resolveTarget(r.props,k);n&&moveTeleport(r,n,null,f,0)}else E&&moveTeleport(r,S,w,f,1);updateCssVars(r,C)}},remove(n,r,o,{um:a,o:{remove:s}},l){const{shapeFlag:c,children:u,anchor:d,targetStart:f,targetAnchor:m,target:g,props:b}=n;if(g&&(s(f),s(m)),l&&s(d),16&c){const n=l||!isTeleportDisabled(b);for(let s=0;s<u.length;s++){const l=u[s];a(l,r,o,n,!!l.dynamicChildren)}}},move:moveTeleport,hydrate:hydrateTeleport};function moveTeleport(n,r,o,{o:{insert:a},m:s},l=2){0===l&&a(n.targetAnchor,r,o);const{el:c,anchor:u,shapeFlag:d,children:f,props:m}=n,g=2===l;if(g&&a(c,r,o),(!g||isTeleportDisabled(m))&&16&d)for(let b=0;b<f.length;b++)s(f[b],r,o,2);g&&a(u,r,o)}function hydrateTeleport(n,r,o,a,s,l,{o:{nextSibling:c,parentNode:u,querySelector:d,insert:f,createText:m}},g){const b=r.target=resolveTarget(r.props,d);if(b){const d=isTeleportDisabled(r.props),S=b._lpa||b.firstChild;if(16&r.shapeFlag)if(d)r.anchor=g(c(n),r,u(n),o,a,s,l),r.targetStart=S,r.targetAnchor=S&&c(S);else{r.anchor=c(n);let u=S;for(;u;){if(u&&8===u.nodeType)if("teleport start anchor"===u.data)r.targetStart=u;else if("teleport anchor"===u.data){r.targetAnchor=u,b._lpa=r.targetAnchor&&c(r.targetAnchor);break}u=c(u)}r.targetAnchor||prepareAnchor(b,r,m,f),g(S&&c(S),r,b,o,a,s,l)}updateCssVars(r,d)}return r.anchor&&c(r.anchor)}const Teleport=TeleportImpl;function updateCssVars(n,r){const o=n.ctx;if(o&&o.ut){let a,s;for(r?(a=n.el,s=n.anchor):(a=n.targetStart,s=n.targetAnchor);a&&a!==s;)1===a.nodeType&&a.setAttribute("data-v-owner",o.uid),a=a.nextSibling;o.ut()}}function prepareAnchor(n,r,o,a){const s=r.targetStart=o(""),l=r.targetAnchor=o("");return s[TeleportEndKey]=l,n&&(a(s,n),a(l,n)),l}const leaveCbKey=Symbol("_leaveCb"),enterCbKey$1=Symbol("_enterCb");function useTransitionState(){const n={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return onMounted((()=>{n.isMounted=!0})),onBeforeUnmount((()=>{n.isUnmounting=!0})),n}const TransitionHookValidator=[Function,Array],BaseTransitionPropsValidators={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},recursiveGetSubtree=n=>{const r=n.subTree;return r.component?recursiveGetSubtree(r.component):r},BaseTransitionImpl={name:"BaseTransition",props:BaseTransitionPropsValidators,setup(n,{slots:r}){const o=getCurrentInstance$1(),a=useTransitionState();return()=>{const s=r.default&&getTransitionRawChildren(r.default(),!0);if(!s||!s.length)return;const l=findNonCommentChild(s),c=toRaw(n),{mode:u}=c;if(a.isLeaving)return emptyPlaceholder(l);const d=getInnerChild$1(l);if(!d)return emptyPlaceholder(l);let f=resolveTransitionHooks(d,c,a,o,(n=>f=n));d.type!==Comment&&setTransitionHooks(d,f);let m=o.subTree&&getInnerChild$1(o.subTree);if(m&&m.type!==Comment&&!isSameVNodeType(d,m)&&recursiveGetSubtree(o).type!==Comment){let n=resolveTransitionHooks(m,c,a,o);if(setTransitionHooks(m,n),"out-in"===u&&d.type!==Comment)return a.isLeaving=!0,n.afterLeave=()=>{a.isLeaving=!1,8&o.job.flags||o.update(),delete n.afterLeave,m=void 0},emptyPlaceholder(l);"in-out"===u&&d.type!==Comment?n.delayLeave=(n,r,o)=>{getLeavingNodesForType(a,m)[String(m.key)]=m,n[leaveCbKey]=()=>{r(),n[leaveCbKey]=void 0,delete f.delayedLeave,m=void 0},f.delayedLeave=()=>{o(),delete f.delayedLeave,m=void 0}}:m=void 0}else m&&(m=void 0);return l}}};function findNonCommentChild(n){let r=n[0];if(n.length>1)for(const o of n)if(o.type!==Comment){r=o;break}return r}const BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(n,r){const{leavingVNodes:o}=n;let a=o.get(r.type);return a||(a=Object.create(null),o.set(r.type,a)),a}function resolveTransitionHooks(n,r,o,a,s){const{appear:l,mode:c,persisted:u=!1,onBeforeEnter:d,onEnter:f,onAfterEnter:m,onEnterCancelled:g,onBeforeLeave:b,onLeave:S,onAfterLeave:k,onLeaveCancelled:w,onBeforeAppear:E,onAppear:C,onAfterAppear:T,onAppearCancelled:I}=r,P=String(n.key),D=getLeavingNodesForType(o,n),O=(n,r)=>{n&&callWithAsyncErrorHandling(n,a,9,r)},A=(n,r)=>{const o=r[1];O(n,r),isArray$3(n)?n.every((n=>n.length<=1))&&o():n.length<=1&&o()},eo={mode:c,persisted:u,beforeEnter(r){let a=d;if(!o.isMounted){if(!l)return;a=E||d}r[leaveCbKey]&&r[leaveCbKey](!0);const s=D[P];s&&isSameVNodeType(n,s)&&s.el[leaveCbKey]&&s.el[leaveCbKey](),O(a,[r])},enter(n){let r=f,a=m,s=g;if(!o.isMounted){if(!l)return;r=C||f,a=T||m,s=I||g}let c=!1;const u=n[enterCbKey$1]=r=>{c||(c=!0,O(r?s:a,[n]),eo.delayedLeave&&eo.delayedLeave(),n[enterCbKey$1]=void 0)};r?A(r,[n,u]):u()},leave(r,a){const s=String(n.key);if(r[enterCbKey$1]&&r[enterCbKey$1](!0),o.isUnmounting)return a();O(b,[r]);let l=!1;const c=r[leaveCbKey]=o=>{l||(l=!0,a(),O(o?w:k,[r]),r[leaveCbKey]=void 0,D[s]===n&&delete D[s])};D[s]=n,S?A(S,[r,c]):c()},clone(n){const l=resolveTransitionHooks(n,r,o,a,s);return s&&s(l),l}};return eo}function emptyPlaceholder(n){if(isKeepAlive(n))return(n=cloneVNode(n)).children=null,n}function getInnerChild$1(n){if(!isKeepAlive(n))return isTeleport(n.type)&&n.children?findNonCommentChild(n.children):n;const{shapeFlag:r,children:o}=n;if(o){if(16&r)return o[0];if(32&r&&isFunction$1(o.default))return o.default()}}function setTransitionHooks(n,r){6&n.shapeFlag&&n.component?(n.transition=r,setTransitionHooks(n.component.subTree,r)):128&n.shapeFlag?(n.ssContent.transition=r.clone(n.ssContent),n.ssFallback.transition=r.clone(n.ssFallback)):n.transition=r}function getTransitionRawChildren(n,r=!1,o){let a=[],s=0;for(let l=0;l<n.length;l++){let c=n[l];const u=null==o?c.key:String(o)+String(null!=c.key?c.key:l);c.type===Fragment?(128&c.patchFlag&&s++,a=a.concat(getTransitionRawChildren(c.children,r,u))):(r||c.type!==Comment)&&a.push(null!=u?cloneVNode(c,{key:u}):c)}if(s>1)for(let l=0;l<a.length;l++)a[l].patchFlag=-2;return a}function defineComponent$1(n,r){return isFunction$1(n)?(()=>extend$2({name:n.name},r,{setup:n}))():n}function useId(){const n=getCurrentInstance$1();return n?(n.appContext.config.idPrefix||"v")+"-"+n.ids[0]+n.ids[1]++:""}function markAsyncBoundary(n){n.ids=[n.ids[0]+n.ids[2]+++"-",0,0]}function useTemplateRef(n){const r=getCurrentInstance$1(),o=shallowRef(null);if(r){const a=r.refs===EMPTY_OBJ?r.refs={}:r.refs;Object.defineProperty(a,n,{enumerable:!0,get:()=>o.value,set:n=>o.value=n})}return o}function setRef(n,r,o,a,s=!1){if(isArray$3(n))return void n.forEach(((n,l)=>setRef(n,r&&(isArray$3(r)?r[l]:r),o,a,s)));if(isAsyncWrapper(a)&&!s)return void(512&a.shapeFlag&&a.type.__asyncResolved&&a.component.subTree.component&&setRef(n,r,o,a.component.subTree));const l=4&a.shapeFlag?getComponentPublicInstance(a.component):a.el,c=s?null:l,{i:u,r:d}=n,f=r&&r.r,m=u.refs===EMPTY_OBJ?u.refs={}:u.refs,g=u.setupState,b=toRaw(g),S=g===EMPTY_OBJ?()=>!1:n=>hasOwn(b,n);if(null!=f&&f!==d&&(isString$1(f)?(m[f]=null,S(f)&&(g[f]=null)):isRef(f)&&(f.value=null)),isFunction$1(d))callWithErrorHandling(d,u,12,[c,m]);else{const r=isString$1(d),a=isRef(d);if(r||a){const u=()=>{if(n.f){const o=r?S(d)?g[d]:m[d]:d.value;s?isArray$3(o)&&remove(o,l):isArray$3(o)?o.includes(l)||o.push(l):r?(m[d]=[l],S(d)&&(g[d]=m[d])):(d.value=[l],n.k&&(m[n.k]=d.value))}else r?(m[d]=c,S(d)&&(g[d]=c)):a&&(d.value=c,n.k&&(m[n.k]=c))};c?(u.id=-1,queuePostRenderEffect(u,o)):u()}}}let hasLoggedMismatchError=!1;const logMismatchError=()=>{hasLoggedMismatchError||(console.error("Hydration completed but contains mismatches."),hasLoggedMismatchError=!0)},isSVGContainer=n=>n.namespaceURI.includes("svg")&&"foreignObject"!==n.tagName,isMathMLContainer=n=>n.namespaceURI.includes("MathML"),getContainerType=n=>{if(1===n.nodeType)return isSVGContainer(n)?"svg":isMathMLContainer(n)?"mathml":void 0},isComment=n=>8===n.nodeType;function createHydrationFunctions(n){const{mt:r,p:o,o:{patchProp:a,createText:s,nextSibling:l,parentNode:c,remove:u,insert:d,createComment:f}}=n,m=(o,a,u,f,T,I=!1)=>{I=I||!!a.dynamicChildren;const P=isComment(o)&&"["===o.data,D=()=>k(o,a,u,f,T,P),{type:O,ref:A,shapeFlag:eo,patchFlag:no}=a;let ro=o.nodeType;a.el=o,-2===no&&(I=!1,a.dynamicChildren=null);let oo=null;switch(O){case Text:3!==ro?""===a.children?(d(a.el=s(""),c(o),o),oo=o):oo=D():(o.data!==a.children&&(logMismatchError(),o.data=a.children),oo=l(o));break;case Comment:C(o)?(oo=l(o),E(a.el=o.content.firstChild,o,u)):oo=8!==ro||P?D():l(o);break;case Static:if(P&&(ro=(o=l(o)).nodeType),1===ro||3===ro){oo=o;const n=!a.children.length;for(let r=0;r<a.staticCount;r++)n&&(a.children+=1===oo.nodeType?oo.outerHTML:oo.data),r===a.staticCount-1&&(a.anchor=oo),oo=l(oo);return P?l(oo):oo}D();break;case Fragment:oo=P?S(o,a,u,f,T,I):D();break;default:if(1&eo)oo=1===ro&&a.type.toLowerCase()===o.tagName.toLowerCase()||C(o)?g(o,a,u,f,T,I):D();else if(6&eo){a.slotScopeIds=T;const n=c(o);if(oo=P?w(o):isComment(o)&&"teleport start"===o.data?w(o,o.data,"teleport end"):l(o),r(a,n,null,u,f,getContainerType(n),I),isAsyncWrapper(a)&&!a.type.__asyncResolved){let r;P?(r=createVNode(Fragment),r.anchor=oo?oo.previousSibling:n.lastChild):r=3===o.nodeType?createTextVNode(""):createVNode("div"),r.el=o,a.component.subTree=r}}else 64&eo?oo=8!==ro?D():a.type.hydrate(o,a,u,f,T,I,n,b):128&eo&&(oo=a.type.hydrate(o,a,u,f,getContainerType(c(o)),T,I,n,m))}return null!=A&&setRef(A,null,f,a),oo},g=(n,r,o,s,l,c)=>{c=c||!!r.dynamicChildren;const{type:d,props:f,patchFlag:m,shapeFlag:g,dirs:S,transition:k}=r,w="input"===d||"option"===d;if(w||-1!==m){S&&invokeDirectiveHook(r,null,o,"created");let d,T=!1;if(C(n)){T=needTransition(null,k)&&o&&o.vnode.props&&o.vnode.props.appear;const a=n.content.firstChild;T&&k.beforeEnter(a),E(a,n,o),r.el=n=a}if(16&g&&(!f||!f.innerHTML&&!f.textContent)){let a=b(n.firstChild,r,n,o,s,l,c);for(;a;){isMismatchAllowed(n,1)||logMismatchError();const r=a;a=a.nextSibling,u(r)}}else if(8&g){let o=r.children;"\n"!==o[0]||"PRE"!==n.tagName&&"TEXTAREA"!==n.tagName||(o=o.slice(1)),n.textContent!==o&&(isMismatchAllowed(n,0)||logMismatchError(),n.textContent=r.children)}if(f)if(w||!c||48&m){const r=n.tagName.includes("-");for(const s in f)(w&&(s.endsWith("value")||"indeterminate"===s)||isOn$1(s)&&!isReservedProp(s)||"."===s[0]||r)&&a(n,s,null,f[s],void 0,o)}else if(f.onClick)a(n,"onClick",null,f.onClick,void 0,o);else if(4&m&&isReactive(f.style))for(const n in f.style)f.style[n];(d=f&&f.onVnodeBeforeMount)&&invokeVNodeHook(d,o,r),S&&invokeDirectiveHook(r,null,o,"beforeMount"),((d=f&&f.onVnodeMounted)||S||T)&&queueEffectWithSuspense((()=>{d&&invokeVNodeHook(d,o,r),T&&k.enter(n),S&&invokeDirectiveHook(r,null,o,"mounted")}),s)}return n.nextSibling},b=(n,r,a,c,u,f,g)=>{g=g||!!r.dynamicChildren;const b=r.children,S=b.length;for(let k=0;k<S;k++){const r=g?b[k]:b[k]=normalizeVNode(b[k]),w=r.type===Text;n?(w&&!g&&k+1<S&&normalizeVNode(b[k+1]).type===Text&&(d(s(n.data.slice(r.children.length)),a,l(n)),n.data=r.children),n=m(n,r,c,u,f,g)):w&&!r.children?d(r.el=s(""),a):(isMismatchAllowed(a,1)||logMismatchError(),o(null,r,a,null,c,u,getContainerType(a),f))}return n},S=(n,r,o,a,s,u)=>{const{slotScopeIds:m}=r;m&&(s=s?s.concat(m):m);const g=c(n),S=b(l(n),r,g,o,a,s,u);return S&&isComment(S)&&"]"===S.data?l(r.anchor=S):(logMismatchError(),d(r.anchor=f("]"),g,S),S)},k=(n,r,a,s,d,f)=>{if(isMismatchAllowed(n.parentElement,1)||logMismatchError(),r.el=null,f){const r=w(n);for(;;){const o=l(n);if(!o||o===r)break;u(o)}}const m=l(n),g=c(n);return u(n),o(null,r,g,m,a,s,getContainerType(g),d),a&&(a.vnode.el=r.el,updateHOCHostEl(a,r.el)),m},w=(n,r="[",o="]")=>{let a=0;for(;n;)if((n=l(n))&&isComment(n)&&(n.data===r&&a++,n.data===o)){if(0===a)return l(n);a--}return n},E=(n,r,o)=>{const a=r.parentNode;a&&a.replaceChild(n,r);let s=o;for(;s;)s.vnode.el===r&&(s.vnode.el=s.subTree.el=n),s=s.parent},C=n=>1===n.nodeType&&"TEMPLATE"===n.tagName;return[(n,r)=>{if(!r.hasChildNodes())return o(null,n,r),flushPostFlushCbs(),void(r._vnode=n);m(r.firstChild,n,null,null,null),flushPostFlushCbs(),r._vnode=n},m]}const allowMismatchAttr="data-allow-mismatch",MismatchTypeString={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function isMismatchAllowed(n,r){if(0===r||1===r)for(;n&&!n.hasAttribute(allowMismatchAttr);)n=n.parentElement;const o=n&&n.getAttribute(allowMismatchAttr);if(null==o)return!1;if(""===o)return!0;{const n=o.split(",");return!(0!==r||!n.includes("children"))||o.split(",").includes(MismatchTypeString[r])}}const requestIdleCallback$1=getGlobalThis().requestIdleCallback||(n=>setTimeout(n,1)),cancelIdleCallback$1=getGlobalThis().cancelIdleCallback||(n=>clearTimeout(n)),hydrateOnIdle=(n=1e4)=>r=>{const o=requestIdleCallback$1(r,{timeout:n});return()=>cancelIdleCallback$1(o)};function elementIsVisibleInViewport(n){const{top:r,left:o,bottom:a,right:s}=n.getBoundingClientRect(),{innerHeight:l,innerWidth:c}=window;return(r>0&&r<l||a>0&&a<l)&&(o>0&&o<c||s>0&&s<c)}const hydrateOnVisible=n=>(r,o)=>{const a=new IntersectionObserver((n=>{for(const o of n)if(o.isIntersecting){a.disconnect(),r();break}}),n);return o((n=>{if(n instanceof Element)return elementIsVisibleInViewport(n)?(r(),a.disconnect(),!1):void a.observe(n)})),()=>a.disconnect()},hydrateOnMediaQuery=n=>r=>{if(n){const o=matchMedia(n);if(!o.matches)return o.addEventListener("change",r,{once:!0}),()=>o.removeEventListener("change",r);r()}},hydrateOnInteraction=(n=[])=>(r,o)=>{isString$1(n)&&(n=[n]);let a=!1;const s=n=>{a||(a=!0,l(),r(),n.target.dispatchEvent(new n.constructor(n.type,n)))},l=()=>{o((r=>{for(const o of n)r.removeEventListener(o,s)}))};return o((r=>{for(const o of n)r.addEventListener(o,s,{once:!0})})),l};function forEachElement(n,r){if(isComment(n)&&"["===n.data){let o=1,a=n.nextSibling;for(;a;){if(1===a.nodeType){if(!1===r(a))break}else if(isComment(a))if("]"===a.data){if(0==--o)break}else"["===a.data&&o++;a=a.nextSibling}}else r(n)}const isAsyncWrapper=n=>!!n.type.__asyncLoader;function defineAsyncComponent(n){isFunction$1(n)&&(n={loader:n});const{loader:r,loadingComponent:o,errorComponent:a,delay:s=200,hydrate:l,timeout:c,suspensible:u=!0,onError:d}=n;let f,m=null,g=0;const b=()=>{let n;return m||(n=m=r().catch((n=>{if(n=n instanceof Error?n:new Error(String(n)),d)return new Promise(((r,o)=>{d(n,(()=>r((g++,m=null,b()))),(()=>o(n)),g+1)}));throw n})).then((r=>n!==m&&m?m:(r&&(r.__esModule||"Module"===r[Symbol.toStringTag])&&(r=r.default),f=r,r))))};return defineComponent$1({name:"AsyncComponentWrapper",__asyncLoader:b,__asyncHydrate(n,r,o){const a=l?()=>{const a=l(o,(r=>forEachElement(n,r)));a&&(r.bum||(r.bum=[])).push(a)}:o;f?a():b().then((()=>!r.isUnmounted&&a()))},get __asyncResolved(){return f},setup(){const n=currentInstance;if(markAsyncBoundary(n),f)return()=>createInnerComp(f,n);const r=r=>{m=null,handleError(r,n,13,!a)};if(u&&n.suspense||isInSSRComponentSetup)return b().then((r=>()=>createInnerComp(r,n))).catch((n=>(r(n),()=>a?createVNode(a,{error:n}):null)));const l=ref(!1),d=ref(),g=ref(!!s);return s&&setTimeout((()=>{g.value=!1}),s),null!=c&&setTimeout((()=>{if(!l.value&&!d.value){const n=new Error(`Async component timed out after ${c}ms.`);r(n),d.value=n}}),c),b().then((()=>{l.value=!0,n.parent&&isKeepAlive(n.parent.vnode)&&n.parent.update()})).catch((n=>{r(n),d.value=n})),()=>l.value&&f?createInnerComp(f,n):d.value&&a?createVNode(a,{error:d.value}):o&&!g.value?createVNode(o):void 0}})}function createInnerComp(n,r){const{ref:o,props:a,children:s,ce:l}=r.vnode,c=createVNode(n,a,s);return c.ref=o,c.ce=l,delete r.vnode.ce,c}const isKeepAlive=n=>n.type.__isKeepAlive,KeepAliveImpl={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:r}){const o=getCurrentInstance$1(),a=o.ctx;if(!a.renderer)return()=>{const n=r.default&&r.default();return n&&1===n.length?n[0]:n};const s=new Map,l=new Set;let c=null;const u=o.suspense,{renderer:{p:d,m:f,um:m,o:{createElement:g}}}=a,b=g("div");function S(n){resetShapeFlag(n),m(n,o,u,!0)}function k(n){s.forEach(((r,o)=>{const a=getComponentName(r.type);a&&!n(a)&&w(o)}))}function w(n){const r=s.get(n);!r||c&&isSameVNodeType(r,c)?c&&resetShapeFlag(c):S(r),s.delete(n),l.delete(n)}a.activate=(n,r,o,a,s)=>{const l=n.component;f(n,r,o,0,u),d(l.vnode,n,r,o,l,u,a,n.slotScopeIds,s),queuePostRenderEffect((()=>{l.isDeactivated=!1,l.a&&invokeArrayFns(l.a);const r=n.props&&n.props.onVnodeMounted;r&&invokeVNodeHook(r,l.parent,n)}),u)},a.deactivate=n=>{const r=n.component;invalidateMount(r.m),invalidateMount(r.a),f(n,b,null,1,u),queuePostRenderEffect((()=>{r.da&&invokeArrayFns(r.da);const o=n.props&&n.props.onVnodeUnmounted;o&&invokeVNodeHook(o,r.parent,n),r.isDeactivated=!0}),u)},watch((()=>[n.include,n.exclude]),(([n,r])=>{n&&k((r=>matches$1(n,r))),r&&k((n=>!matches$1(r,n)))}),{flush:"post",deep:!0});let E=null;const C=()=>{null!=E&&(isSuspense(o.subTree.type)?queuePostRenderEffect((()=>{s.set(E,getInnerChild(o.subTree))}),o.subTree.suspense):s.set(E,getInnerChild(o.subTree)))};return onMounted(C),onUpdated(C),onBeforeUnmount((()=>{s.forEach((n=>{const{subTree:r,suspense:a}=o,s=getInnerChild(r);if(n.type!==s.type||n.key!==s.key)S(n);else{resetShapeFlag(s);const n=s.component.da;n&&queuePostRenderEffect(n,a)}}))})),()=>{if(E=null,!r.default)return c=null;const o=r.default(),a=o[0];if(o.length>1)return c=null,o;if(!(isVNode(a)&&(4&a.shapeFlag||128&a.shapeFlag)))return c=null,a;let u=getInnerChild(a);if(u.type===Comment)return c=null,u;const d=u.type,f=getComponentName(isAsyncWrapper(u)?u.type.__asyncResolved||{}:d),{include:m,exclude:g,max:b}=n;if(m&&(!f||!matches$1(m,f))||g&&f&&matches$1(g,f))return u.shapeFlag&=-257,c=u,a;const S=null==u.key?d:u.key,k=s.get(S);return u.el&&(u=cloneVNode(u),128&a.shapeFlag&&(a.ssContent=u)),E=S,k?(u.el=k.el,u.component=k.component,u.transition&&setTransitionHooks(u,u.transition),u.shapeFlag|=512,l.delete(S),l.add(S)):(l.add(S),b&&l.size>parseInt(b,10)&&w(l.values().next().value)),u.shapeFlag|=256,c=u,isSuspense(a.type)?a:u}}},KeepAlive=KeepAliveImpl;function matches$1(n,r){return isArray$3(n)?n.some((n=>matches$1(n,r))):isString$1(n)?n.split(",").includes(r):!!isRegExp(n)&&(n.lastIndex=0,n.test(r))}function onActivated(n,r){registerKeepAliveHook(n,"a",r)}function onDeactivated(n,r){registerKeepAliveHook(n,"da",r)}function registerKeepAliveHook(n,r,o=currentInstance){const a=n.__wdc||(n.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return n()});if(injectHook(r,a,o),o){let n=o.parent;for(;n&&n.parent;)isKeepAlive(n.parent.vnode)&&injectToKeepAliveRoot(a,r,o,n),n=n.parent}}function injectToKeepAliveRoot(n,r,o,a){const s=injectHook(r,n,a,!0);onUnmounted((()=>{remove(a[r],s)}),o)}function resetShapeFlag(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function getInnerChild(n){return 128&n.shapeFlag?n.ssContent:n}function injectHook(n,r,o=currentInstance,a=!1){if(o){const s=o[n]||(o[n]=[]),l=r.__weh||(r.__weh=(...a)=>{pauseTracking();const s=setCurrentInstance(o),l=callWithAsyncErrorHandling(r,o,n,a);return s(),resetTracking(),l});return a?s.unshift(l):s.push(l),l}}const createHook=n=>(r,o=currentInstance)=>{isInSSRComponentSetup&&"sp"!==n||injectHook(n,((...n)=>r(...n)),o)},onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(n,r=currentInstance){injectHook("ec",n,r)}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(n,r){return resolveAsset(COMPONENTS,n,!0,r)||n}const NULL_DYNAMIC_COMPONENT=Symbol.for("v-ndc");function resolveDynamicComponent(n){return isString$1(n)?resolveAsset(COMPONENTS,n,!1)||n:n||NULL_DYNAMIC_COMPONENT}function resolveDirective(n){return resolveAsset(DIRECTIVES,n)}function resolveAsset(n,r,o=!0,a=!1){const s=currentRenderingInstance||currentInstance;if(s){const o=s.type;if(n===COMPONENTS){const n=getComponentName(o,!1);if(n&&(n===r||n===camelize(r)||n===capitalize(camelize(r))))return o}const l=resolve(s[n]||o[n],r)||resolve(s.appContext[n],r);return!l&&a?o:l}}function resolve(n,r){return n&&(n[r]||n[camelize(r)]||n[capitalize(camelize(r))])}function renderList(n,r,o,a){let s;const l=o&&o[a],c=isArray$3(n);if(c||isString$1(n)){let o=!1;c&&isReactive(n)&&(o=!isShallow(n),n=shallowReadArray(n)),s=new Array(n.length);for(let a=0,c=n.length;a<c;a++)s[a]=r(o?toReactive(n[a]):n[a],a,void 0,l&&l[a])}else if("number"==typeof n){s=new Array(n);for(let o=0;o<n;o++)s[o]=r(o+1,o,void 0,l&&l[o])}else if(isObject$2(n))if(n[Symbol.iterator])s=Array.from(n,((n,o)=>r(n,o,void 0,l&&l[o])));else{const o=Object.keys(n);s=new Array(o.length);for(let a=0,c=o.length;a<c;a++){const c=o[a];s[a]=r(n[c],c,a,l&&l[a])}}else s=[];return o&&(o[a]=s),s}function createSlots(n,r){for(let o=0;o<r.length;o++){const a=r[o];if(isArray$3(a))for(let r=0;r<a.length;r++)n[a[r].name]=a[r].fn;else a&&(n[a.name]=a.key?(...n)=>{const r=a.fn(...n);return r&&(r.key=a.key),r}:a.fn)}return n}function renderSlot(n,r,o={},a,s){if(currentRenderingInstance.ce||currentRenderingInstance.parent&&isAsyncWrapper(currentRenderingInstance.parent)&¤tRenderingInstance.parent.ce)return"default"!==r&&(o.name=r),openBlock(),createBlock(Fragment,null,[createVNode("slot",o,a&&a())],64);let l=n[r];l&&l._c&&(l._d=!1),openBlock();const c=l&&ensureValidVNode$1(l(o)),u=o.key||c&&c.key,d=createBlock(Fragment,{key:(u&&!isSymbol(u)?u:`_${r}`)+(!c&&a?"_fb":"")},c||(a?a():[]),c&&1===n._?64:-2);return!s&&d.scopeId&&(d.slotScopeIds=[d.scopeId+"-s"]),l&&l._c&&(l._d=!0),d}function ensureValidVNode$1(n){return n.some((n=>!isVNode(n)||n.type!==Comment&&!(n.type===Fragment&&!ensureValidVNode$1(n.children))))?n:null}function toHandlers(n,r){const o={};for(const a in n)o[r&&/[A-Z]/.test(a)?`on:${a}`:toHandlerKey(a)]=n[a];return o}const getPublicInstance=n=>n?isStatefulComponent(n)?getComponentPublicInstance(n):getPublicInstance(n.parent):null,publicPropertiesMap=extend$2(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>getPublicInstance(n.parent),$root:n=>getPublicInstance(n.root),$host:n=>n.ce,$emit:n=>n.emit,$options:n=>resolveMergedOptions(n),$forceUpdate:n=>n.f||(n.f=()=>{queueJob(n.update)}),$nextTick:n=>n.n||(n.n=nextTick$2.bind(n.proxy)),$watch:n=>instanceWatch.bind(n)}),hasSetupBinding=(n,r)=>n!==EMPTY_OBJ&&!n.__isScriptSetup&&hasOwn(n,r),PublicInstanceProxyHandlers={get({_:n},r){if("__v_skip"===r)return!0;const{ctx:o,setupState:a,data:s,props:l,accessCache:c,type:u,appContext:d}=n;let f;if("$"!==r[0]){const u=c[r];if(void 0!==u)switch(u){case 1:return a[r];case 2:return s[r];case 4:return o[r];case 3:return l[r]}else{if(hasSetupBinding(a,r))return c[r]=1,a[r];if(s!==EMPTY_OBJ&&hasOwn(s,r))return c[r]=2,s[r];if((f=n.propsOptions[0])&&hasOwn(f,r))return c[r]=3,l[r];if(o!==EMPTY_OBJ&&hasOwn(o,r))return c[r]=4,o[r];shouldCacheAccess&&(c[r]=0)}}const m=publicPropertiesMap[r];let g,b;return m?("$attrs"===r&&track(n.attrs,"get",""),m(n)):(g=u.__cssModules)&&(g=g[r])?g:o!==EMPTY_OBJ&&hasOwn(o,r)?(c[r]=4,o[r]):(b=d.config.globalProperties,hasOwn(b,r)?b[r]:void 0)},set({_:n},r,o){const{data:a,setupState:s,ctx:l}=n;return hasSetupBinding(s,r)?(s[r]=o,!0):a!==EMPTY_OBJ&&hasOwn(a,r)?(a[r]=o,!0):!hasOwn(n.props,r)&&(("$"!==r[0]||!(r.slice(1)in n))&&(l[r]=o,!0))},has({_:{data:n,setupState:r,accessCache:o,ctx:a,appContext:s,propsOptions:l}},c){let u;return!!o[c]||n!==EMPTY_OBJ&&hasOwn(n,c)||hasSetupBinding(r,c)||(u=l[0])&&hasOwn(u,c)||hasOwn(a,c)||hasOwn(publicPropertiesMap,c)||hasOwn(s.config.globalProperties,c)},defineProperty(n,r,o){return null!=o.get?n._.accessCache[r]=0:hasOwn(o,"value")&&this.set(n,r,o.value,null),Reflect.defineProperty(n,r,o)}},RuntimeCompiledPublicInstanceProxyHandlers=extend$2({},PublicInstanceProxyHandlers,{get(n,r){if(r!==Symbol.unscopables)return PublicInstanceProxyHandlers.get(n,r,n)},has:(n,r)=>"_"!==r[0]&&!isGloballyAllowed(r)});function defineProps(){return null}function defineEmits(){return null}function defineExpose(n){}function defineOptions(n){}function defineSlots(){return null}function defineModel(){}function withDefaults(n,r){return null}function useSlots(){return getContext().slots}function useAttrs(){return getContext().attrs}function getContext(){const n=getCurrentInstance$1();return n.setupContext||(n.setupContext=createSetupContext(n))}function normalizePropsOrEmits(n){return isArray$3(n)?n.reduce(((n,r)=>(n[r]=null,n)),{}):n}function mergeDefaults(n,r){const o=normalizePropsOrEmits(n);for(const a in r){if(a.startsWith("__skip"))continue;let n=o[a];n?isArray$3(n)||isFunction$1(n)?n=o[a]={type:n,default:r[a]}:n.default=r[a]:null===n&&(n=o[a]={default:r[a]}),n&&r[`__skip_${a}`]&&(n.skipFactory=!0)}return o}function mergeModels(n,r){return n&&r?isArray$3(n)&&isArray$3(r)?n.concat(r):extend$2({},normalizePropsOrEmits(n),normalizePropsOrEmits(r)):n||r}function createPropsRestProxy(n,r){const o={};for(const a in n)r.includes(a)||Object.defineProperty(o,a,{enumerable:!0,get:()=>n[a]});return o}function withAsyncContext(n){const r=getCurrentInstance$1();let o=n();return unsetCurrentInstance(),isPromise(o)&&(o=o.catch((n=>{throw setCurrentInstance(r),n}))),[o,()=>setCurrentInstance(r)]}let shouldCacheAccess=!0;function applyOptions(n){const r=resolveMergedOptions(n),o=n.proxy,a=n.ctx;shouldCacheAccess=!1,r.beforeCreate&&callHook$1(r.beforeCreate,n,"bc");const{data:s,computed:l,methods:c,watch:u,provide:d,inject:f,created:m,beforeMount:g,mounted:b,beforeUpdate:S,updated:k,activated:w,deactivated:E,beforeDestroy:C,beforeUnmount:T,destroyed:I,unmounted:P,render:D,renderTracked:O,renderTriggered:A,errorCaptured:eo,serverPrefetch:no,expose:ro,inheritAttrs:oo,components:ao,directives:io,filters:so}=r;if(f&&resolveInjections(f,a,null),c)for(const co in c){const n=c[co];isFunction$1(n)&&(a[co]=n.bind(o))}if(s){const r=s.call(o,o);isObject$2(r)&&(n.data=reactive(r))}if(shouldCacheAccess=!0,l)for(const co in l){const n=l[co],r=isFunction$1(n)?n.bind(o,o):isFunction$1(n.get)?n.get.bind(o,o):NOOP,s=!isFunction$1(n)&&isFunction$1(n.set)?n.set.bind(o):NOOP,c=computed({get:r,set:s});Object.defineProperty(a,co,{enumerable:!0,configurable:!0,get:()=>c.value,set:n=>c.value=n})}if(u)for(const co in u)createWatcher(u[co],a,o,co);if(d){const n=isFunction$1(d)?d.call(o):d;Reflect.ownKeys(n).forEach((r=>{provide(r,n[r])}))}function lo(n,r){isArray$3(r)?r.forEach((r=>n(r.bind(o)))):r&&n(r.bind(o))}if(m&&callHook$1(m,n,"c"),lo(onBeforeMount,g),lo(onMounted,b),lo(onBeforeUpdate,S),lo(onUpdated,k),lo(onActivated,w),lo(onDeactivated,E),lo(onErrorCaptured,eo),lo(onRenderTracked,O),lo(onRenderTriggered,A),lo(onBeforeUnmount,T),lo(onUnmounted,P),lo(onServerPrefetch,no),isArray$3(ro))if(ro.length){const r=n.exposed||(n.exposed={});ro.forEach((n=>{Object.defineProperty(r,n,{get:()=>o[n],set:r=>o[n]=r})}))}else n.exposed||(n.exposed={});D&&n.render===NOOP&&(n.render=D),null!=oo&&(n.inheritAttrs=oo),ao&&(n.components=ao),io&&(n.directives=io),no&&markAsyncBoundary(n)}function resolveInjections(n,r,o=NOOP){isArray$3(n)&&(n=normalizeInject(n));for(const a in n){const o=n[a];let s;s=isObject$2(o)?"default"in o?inject$1(o.from||a,o.default,!0):inject$1(o.from||a):inject$1(o),isRef(s)?Object.defineProperty(r,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:n=>s.value=n}):r[a]=s}}function callHook$1(n,r,o){callWithAsyncErrorHandling(isArray$3(n)?n.map((n=>n.bind(r.proxy))):n.bind(r.proxy),r,o)}function createWatcher(n,r,o,a){let s=a.includes(".")?createPathGetter(o,a):()=>o[a];if(isString$1(n)){const o=r[n];isFunction$1(o)&&watch(s,o)}else if(isFunction$1(n))watch(s,n.bind(o));else if(isObject$2(n))if(isArray$3(n))n.forEach((n=>createWatcher(n,r,o,a)));else{const a=isFunction$1(n.handler)?n.handler.bind(o):r[n.handler];isFunction$1(a)&&watch(s,a,n)}}function resolveMergedOptions(n){const r=n.type,{mixins:o,extends:a}=r,{mixins:s,optionsCache:l,config:{optionMergeStrategies:c}}=n.appContext,u=l.get(r);let d;return u?d=u:s.length||o||a?(d={},s.length&&s.forEach((n=>mergeOptions$1(d,n,c,!0))),mergeOptions$1(d,r,c)):d=r,isObject$2(r)&&l.set(r,d),d}function mergeOptions$1(n,r,o,a=!1){const{mixins:s,extends:l}=r;l&&mergeOptions$1(n,l,o,!0),s&&s.forEach((r=>mergeOptions$1(n,r,o,!0)));for(const c in r)if(a&&"expose"===c);else{const a=internalOptionMergeStrats[c]||o&&o[c];n[c]=a?a(n[c],r[c]):r[c]}return n}const internalOptionMergeStrats={data:mergeDataFn,props:mergeEmitsOrPropsOptions,emits:mergeEmitsOrPropsOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray$1,created:mergeAsArray$1,beforeMount:mergeAsArray$1,mounted:mergeAsArray$1,beforeUpdate:mergeAsArray$1,updated:mergeAsArray$1,beforeDestroy:mergeAsArray$1,beforeUnmount:mergeAsArray$1,destroyed:mergeAsArray$1,unmounted:mergeAsArray$1,activated:mergeAsArray$1,deactivated:mergeAsArray$1,errorCaptured:mergeAsArray$1,serverPrefetch:mergeAsArray$1,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(n,r){return r?n?function(){return extend$2(isFunction$1(n)?n.call(this,this):n,isFunction$1(r)?r.call(this,this):r)}:r:n}function mergeInject(n,r){return mergeObjectOptions(normalizeInject(n),normalizeInject(r))}function normalizeInject(n){if(isArray$3(n)){const r={};for(let o=0;o<n.length;o++)r[n[o]]=n[o];return r}return n}function mergeAsArray$1(n,r){return n?[...new Set([].concat(n,r))]:r}function mergeObjectOptions(n,r){return n?extend$2(Object.create(null),n,r):r}function mergeEmitsOrPropsOptions(n,r){return n?isArray$3(n)&&isArray$3(r)?[...new Set([...n,...r])]:extend$2(Object.create(null),normalizePropsOrEmits(n),normalizePropsOrEmits(null!=r?r:{})):r}function mergeWatchOptions(n,r){if(!n)return r;if(!r)return n;const o=extend$2(Object.create(null),n);for(const a in r)o[a]=mergeAsArray$1(n[a],r[a]);return o}function createAppContext(){return{app:null,config:{isNativeTag:NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let uid$1=0;function createAppAPI(n,r){return function(o,a=null){isFunction$1(o)||(o=extend$2({},o)),null==a||isObject$2(a)||(a=null);const s=createAppContext(),l=new WeakSet,c=[];let u=!1;const d=s.app={_uid:uid$1++,_component:o,_props:a,_container:null,_context:s,_instance:null,version:version$3,get config(){return s.config},set config(n){},use:(n,...r)=>(l.has(n)||(n&&isFunction$1(n.install)?(l.add(n),n.install(d,...r)):isFunction$1(n)&&(l.add(n),n(d,...r))),d),mixin:n=>(s.mixins.includes(n)||s.mixins.push(n),d),component:(n,r)=>r?(s.components[n]=r,d):s.components[n],directive:(n,r)=>r?(s.directives[n]=r,d):s.directives[n],mount(l,c,f){if(!u){const m=d._ceVNode||createVNode(o,a);return m.appContext=s,!0===f?f="svg":!1===f&&(f=void 0),c&&r?r(m,l):n(m,l,f),u=!0,d._container=l,l.__vue_app__=d,getComponentPublicInstance(m.component)}},onUnmount(n){c.push(n)},unmount(){u&&(callWithAsyncErrorHandling(c,d._instance,16),n(null,d._container),delete d._container.__vue_app__)},provide:(n,r)=>(s.provides[n]=r,d),runWithContext(n){const r=currentApp;currentApp=d;try{return n()}finally{currentApp=r}}};return d}}let currentApp=null;function provide(n,r){if(currentInstance){let o=currentInstance.provides;const a=currentInstance.parent&¤tInstance.parent.provides;a===o&&(o=currentInstance.provides=Object.create(a)),o[n]=r}else;}function inject$1(n,r,o=!1){const a=currentInstance||currentRenderingInstance;if(a||currentApp){const s=currentApp?currentApp._context.provides:a?null==a.parent?a.vnode.appContext&&a.vnode.appContext.provides:a.parent.provides:void 0;if(s&&n in s)return s[n];if(arguments.length>1)return o&&isFunction$1(r)?r.call(a&&a.proxy):r}}function hasInjectionContext(){return!!(currentInstance||currentRenderingInstance||currentApp)}const internalObjectProto={},createInternalObject=()=>Object.create(internalObjectProto),isInternalObject=n=>Object.getPrototypeOf(n)===internalObjectProto;function initProps(n,r,o,a=!1){const s={},l=createInternalObject();n.propsDefaults=Object.create(null),setFullProps(n,r,s,l);for(const c in n.propsOptions[0])c in s||(s[c]=void 0);o?n.props=a?s:shallowReactive(s):n.type.props?n.props=s:n.props=l,n.attrs=l}function updateProps(n,r,o,a){const{props:s,attrs:l,vnode:{patchFlag:c}}=n,u=toRaw(s),[d]=n.propsOptions;let f=!1;if(!(a||c>0)||16&c){let a;setFullProps(n,r,s,l)&&(f=!0);for(const l in u)r&&(hasOwn(r,l)||(a=hyphenate(l))!==l&&hasOwn(r,a))||(d?!o||void 0===o[l]&&void 0===o[a]||(s[l]=resolvePropValue(d,u,l,void 0,n,!0)):delete s[l]);if(l!==u)for(const n in l)r&&hasOwn(r,n)||(delete l[n],f=!0)}else if(8&c){const o=n.vnode.dynamicProps;for(let a=0;a<o.length;a++){let c=o[a];if(isEmitListener(n.emitsOptions,c))continue;const m=r[c];if(d)if(hasOwn(l,c))m!==l[c]&&(l[c]=m,f=!0);else{const r=camelize(c);s[r]=resolvePropValue(d,u,r,m,n,!1)}else m!==l[c]&&(l[c]=m,f=!0)}}f&&trigger(n.attrs,"set","")}function setFullProps(n,r,o,a){const[s,l]=n.propsOptions;let c,u=!1;if(r)for(let d in r){if(isReservedProp(d))continue;const f=r[d];let m;s&&hasOwn(s,m=camelize(d))?l&&l.includes(m)?(c||(c={}))[m]=f:o[m]=f:isEmitListener(n.emitsOptions,d)||d in a&&f===a[d]||(a[d]=f,u=!0)}if(l){const r=toRaw(o),a=c||EMPTY_OBJ;for(let c=0;c<l.length;c++){const u=l[c];o[u]=resolvePropValue(s,r,u,a[u],n,!hasOwn(a,u))}}return u}function resolvePropValue(n,r,o,a,s,l){const c=n[o];if(null!=c){const n=hasOwn(c,"default");if(n&&void 0===a){const n=c.default;if(c.type!==Function&&!c.skipFactory&&isFunction$1(n)){const{propsDefaults:l}=s;if(o in l)a=l[o];else{const c=setCurrentInstance(s);a=l[o]=n.call(null,r),c()}}else a=n;s.ce&&s.ce._setProp(o,a)}c[0]&&(l&&!n?a=!1:!c[1]||""!==a&&a!==hyphenate(o)||(a=!0))}return a}const mixinPropsCache=new WeakMap;function normalizePropsOptions(n,r,o=!1){const a=o?mixinPropsCache:r.propsCache,s=a.get(n);if(s)return s;const l=n.props,c={},u=[];let d=!1;if(!isFunction$1(n)){const a=n=>{d=!0;const[o,a]=normalizePropsOptions(n,r,!0);extend$2(c,o),a&&u.push(...a)};!o&&r.mixins.length&&r.mixins.forEach(a),n.extends&&a(n.extends),n.mixins&&n.mixins.forEach(a)}if(!l&&!d)return isObject$2(n)&&a.set(n,EMPTY_ARR),EMPTY_ARR;if(isArray$3(l))for(let m=0;m<l.length;m++){const n=camelize(l[m]);validatePropName(n)&&(c[n]=EMPTY_OBJ)}else if(l)for(const m in l){const n=camelize(m);if(validatePropName(n)){const r=l[m],o=c[n]=isArray$3(r)||isFunction$1(r)?{type:r}:extend$2({},r),a=o.type;let s=!1,d=!0;if(isArray$3(a))for(let n=0;n<a.length;++n){const r=a[n],o=isFunction$1(r)&&r.name;if("Boolean"===o){s=!0;break}"String"===o&&(d=!1)}else s=isFunction$1(a)&&"Boolean"===a.name;o[0]=s,o[1]=d,(s||hasOwn(o,"default"))&&u.push(n)}}const f=[c,u];return isObject$2(n)&&a.set(n,f),f}function validatePropName(n){return"$"!==n[0]&&!isReservedProp(n)}const isInternalKey=n=>"_"===n[0]||"$stable"===n,normalizeSlotValue=n=>isArray$3(n)?n.map(normalizeVNode):[normalizeVNode(n)],normalizeSlot$1=(n,r,o)=>{if(r._n)return r;const a=withCtx(((...n)=>normalizeSlotValue(r(...n))),o);return a._c=!1,a},normalizeObjectSlots=(n,r,o)=>{const a=n._ctx;for(const s in n){if(isInternalKey(s))continue;const o=n[s];if(isFunction$1(o))r[s]=normalizeSlot$1(s,o,a);else if(null!=o){const n=normalizeSlotValue(o);r[s]=()=>n}}},normalizeVNodeSlots=(n,r)=>{const o=normalizeSlotValue(r);n.slots.default=()=>o},assignSlots=(n,r,o)=>{for(const a in r)(o||"_"!==a)&&(n[a]=r[a])},initSlots=(n,r,o)=>{const a=n.slots=createInternalObject();if(32&n.vnode.shapeFlag){const n=r._;n?(assignSlots(a,r,o),o&&def(a,"_",n,!0)):normalizeObjectSlots(r,a)}else r&&normalizeVNodeSlots(n,r)},updateSlots=(n,r,o)=>{const{vnode:a,slots:s}=n;let l=!0,c=EMPTY_OBJ;if(32&a.shapeFlag){const n=r._;n?o&&1===n?l=!1:assignSlots(s,r,o):(l=!r.$stable,normalizeObjectSlots(r,s)),c=r}else r&&(normalizeVNodeSlots(n,r),c={default:1});if(l)for(const u in s)isInternalKey(u)||null!=c[u]||delete s[u]},queuePostRenderEffect=queueEffectWithSuspense;function createRenderer(n){return baseCreateRenderer(n)}function createHydrationRenderer(n){return baseCreateRenderer(n,createHydrationFunctions)}function baseCreateRenderer(n,r){getGlobalThis().__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:c,createComment:u,setText:d,setElementText:f,parentNode:m,nextSibling:g,setScopeId:b=NOOP,insertStaticContent:S}=n,k=(n,r,o,a=null,s=null,l=null,c=void 0,u=null,d=!!r.dynamicChildren)=>{if(n===r)return;n&&!isSameVNodeType(n,r)&&(a=yo(n),fo(n,s,l,!0),n=null),-2===r.patchFlag&&(d=!1,r.dynamicChildren=null);const{type:f,ref:m,shapeFlag:g}=r;switch(f){case Text:w(n,r,o,a);break;case Comment:E(n,r,o,a);break;case Static:null==n&&C(r,o,a,c);break;case Fragment:no(n,r,o,a,s,l,c,u,d);break;default:1&g?T(n,r,o,a,s,l,c,u,d):6&g?ro(n,r,o,a,s,l,c,u,d):(64&g||128&g)&&f.process(n,r,o,a,s,l,c,u,d,So)}null!=m&&s&&setRef(m,n&&n.ref,l,r||n,!r)},w=(n,r,a,s)=>{if(null==n)o(r.el=c(r.children),a,s);else{const o=r.el=n.el;r.children!==n.children&&d(o,r.children)}},E=(n,r,a,s)=>{null==n?o(r.el=u(r.children||""),a,s):r.el=n.el},C=(n,r,o,a)=>{[n.el,n.anchor]=S(n.children,r,o,a,n.el,n.anchor)},T=(n,r,o,a,s,l,c,u,d)=>{"svg"===r.type?c="svg":"math"===r.type&&(c="mathml"),null==n?I(r,o,a,s,l,c,u,d):O(n,r,s,l,c,u,d)},I=(n,r,a,c,u,d,m,g)=>{let b,S;const{props:k,shapeFlag:w,transition:E,dirs:C}=n;if(b=n.el=l(n.type,d,k&&k.is,k),8&w?f(b,n.children):16&w&&D(n.children,b,null,c,u,resolveChildrenNamespace(n,d),m,g),C&&invokeDirectiveHook(n,null,c,"created"),P(b,n,n.scopeId,m,c),k){for(const n in k)"value"===n||isReservedProp(n)||s(b,n,null,k[n],d,c);"value"in k&&s(b,"value",null,k.value,d),(S=k.onVnodeBeforeMount)&&invokeVNodeHook(S,c,n)}C&&invokeDirectiveHook(n,null,c,"beforeMount");const T=needTransition(u,E);T&&E.beforeEnter(b),o(b,r,a),((S=k&&k.onVnodeMounted)||T||C)&&queuePostRenderEffect((()=>{S&&invokeVNodeHook(S,c,n),T&&E.enter(b),C&&invokeDirectiveHook(n,null,c,"mounted")}),u)},P=(n,r,o,a,s)=>{if(o&&b(n,o),a)for(let l=0;l<a.length;l++)b(n,a[l]);if(s){let o=s.subTree;if(r===o||isSuspense(o.type)&&(o.ssContent===r||o.ssFallback===r)){const r=s.vnode;P(n,r,r.scopeId,r.slotScopeIds,s.parent)}}},D=(n,r,o,a,s,l,c,u,d=0)=>{for(let f=d;f<n.length;f++){const d=n[f]=u?cloneIfMounted(n[f]):normalizeVNode(n[f]);k(null,d,r,o,a,s,l,c,u)}},O=(n,r,o,a,l,c,u)=>{const d=r.el=n.el;let{patchFlag:m,dynamicChildren:g,dirs:b}=r;m|=16&n.patchFlag;const S=n.props||EMPTY_OBJ,k=r.props||EMPTY_OBJ;let w;if(o&&toggleRecurse(o,!1),(w=k.onVnodeBeforeUpdate)&&invokeVNodeHook(w,o,r,n),b&&invokeDirectiveHook(r,n,o,"beforeUpdate"),o&&toggleRecurse(o,!0),(S.innerHTML&&null==k.innerHTML||S.textContent&&null==k.textContent)&&f(d,""),g?A(n.dynamicChildren,g,d,o,a,resolveChildrenNamespace(r,l),c):u||lo(n,r,d,null,o,a,resolveChildrenNamespace(r,l),c,!1),m>0){if(16&m)eo(d,S,k,o,l);else if(2&m&&S.class!==k.class&&s(d,"class",null,k.class,l),4&m&&s(d,"style",S.style,k.style,l),8&m){const n=r.dynamicProps;for(let r=0;r<n.length;r++){const a=n[r],c=S[a],u=k[a];u===c&&"value"!==a||s(d,a,c,u,l,o)}}1&m&&n.children!==r.children&&f(d,r.children)}else u||null!=g||eo(d,S,k,o,l);((w=k.onVnodeUpdated)||b)&&queuePostRenderEffect((()=>{w&&invokeVNodeHook(w,o,r,n),b&&invokeDirectiveHook(r,n,o,"updated")}),a)},A=(n,r,o,a,s,l,c)=>{for(let u=0;u<r.length;u++){const d=n[u],f=r[u],g=d.el&&(d.type===Fragment||!isSameVNodeType(d,f)||70&d.shapeFlag)?m(d.el):o;k(d,f,g,null,a,s,l,c,!0)}},eo=(n,r,o,a,l)=>{if(r!==o){if(r!==EMPTY_OBJ)for(const c in r)isReservedProp(c)||c in o||s(n,c,r[c],null,l,a);for(const c in o){if(isReservedProp(c))continue;const u=o[c],d=r[c];u!==d&&"value"!==c&&s(n,c,d,u,l,a)}"value"in o&&s(n,"value",r.value,o.value,l)}},no=(n,r,a,s,l,u,d,f,m)=>{const g=r.el=n?n.el:c(""),b=r.anchor=n?n.anchor:c("");let{patchFlag:S,dynamicChildren:k,slotScopeIds:w}=r;w&&(f=f?f.concat(w):w),null==n?(o(g,a,s),o(b,a,s),D(r.children||[],a,b,l,u,d,f,m)):S>0&&64&S&&k&&n.dynamicChildren?(A(n.dynamicChildren,k,a,l,u,d,f),(null!=r.key||l&&r===l.subTree)&&traverseStaticChildren(n,r,!0)):lo(n,r,a,b,l,u,d,f,m)},ro=(n,r,o,a,s,l,c,u,d)=>{r.slotScopeIds=u,null==n?512&r.shapeFlag?s.ctx.activate(r,o,a,c,d):oo(r,o,a,s,l,c,d):ao(n,r,d)},oo=(n,r,o,a,s,l,c)=>{const u=n.component=createComponentInstance(n,a,s);if(isKeepAlive(n)&&(u.ctx.renderer=So),setupComponent(u,!1,c),u.asyncDep){if(s&&s.registerDep(u,io,c),!n.el){const n=u.subTree=createVNode(Comment);E(null,n,r,o)}}else io(u,n,r,o,s,l,c)},ao=(n,r,o)=>{const a=r.component=n.component;if(shouldUpdateComponent(n,r,o)){if(a.asyncDep&&!a.asyncResolved)return void so(a,r,o);a.next=r,a.update()}else r.el=n.el,a.vnode=r},io=(n,r,o,a,s,l,c)=>{const u=()=>{if(n.isMounted){let{next:r,bu:o,u:a,parent:d,vnode:f}=n;{const o=locateNonHydratedAsyncRoot(n);if(o)return r&&(r.el=f.el,so(n,r,c)),void o.asyncDep.then((()=>{n.isUnmounted||u()}))}let g,b=r;toggleRecurse(n,!1),r?(r.el=f.el,so(n,r,c)):r=f,o&&invokeArrayFns(o),(g=r.props&&r.props.onVnodeBeforeUpdate)&&invokeVNodeHook(g,d,r,f),toggleRecurse(n,!0);const S=renderComponentRoot(n),w=n.subTree;n.subTree=S,k(w,S,m(w.el),yo(w),n,s,l),r.el=S.el,null===b&&updateHOCHostEl(n,S.el),a&&queuePostRenderEffect(a,s),(g=r.props&&r.props.onVnodeUpdated)&&queuePostRenderEffect((()=>invokeVNodeHook(g,d,r,f)),s)}else{let c;const{el:u,props:d}=r,{bm:f,m:m,parent:g,root:b,type:S}=n,w=isAsyncWrapper(r);if(toggleRecurse(n,!1),f&&invokeArrayFns(f),!w&&(c=d&&d.onVnodeBeforeMount)&&invokeVNodeHook(c,g,r),toggleRecurse(n,!0),u&&wo){const r=()=>{n.subTree=renderComponentRoot(n),wo(u,n.subTree,n,s,null)};w&&S.__asyncHydrate?S.__asyncHydrate(u,n,r):r()}else{b.ce&&b.ce._injectChildStyle(S);const c=n.subTree=renderComponentRoot(n);k(null,c,o,a,n,s,l),r.el=c.el}if(m&&queuePostRenderEffect(m,s),!w&&(c=d&&d.onVnodeMounted)){const n=r;queuePostRenderEffect((()=>invokeVNodeHook(c,g,n)),s)}(256&r.shapeFlag||g&&isAsyncWrapper(g.vnode)&&256&g.vnode.shapeFlag)&&n.a&&queuePostRenderEffect(n.a,s),n.isMounted=!0,r=o=a=null}};n.scope.on();const d=n.effect=new ReactiveEffect(u);n.scope.off();const f=n.update=d.run.bind(d),g=n.job=d.runIfDirty.bind(d);g.i=n,g.id=n.uid,d.scheduler=()=>queueJob(g),toggleRecurse(n,!0),f()},so=(n,r,o)=>{r.component=n;const a=n.vnode.props;n.vnode=r,n.next=null,updateProps(n,r.props,a,o),updateSlots(n,r.children,o),pauseTracking(),flushPreFlushCbs(n),resetTracking()},lo=(n,r,o,a,s,l,c,u,d=!1)=>{const m=n&&n.children,g=n?n.shapeFlag:0,b=r.children,{patchFlag:S,shapeFlag:k}=r;if(S>0){if(128&S)return void uo(m,b,o,a,s,l,c,u,d);if(256&S)return void co(m,b,o,a,s,l,c,u,d)}8&k?(16&g&&vo(m,s,l),b!==m&&f(o,b)):16&g?16&k?uo(m,b,o,a,s,l,c,u,d):vo(m,s,l,!0):(8&g&&f(o,""),16&k&&D(b,o,a,s,l,c,u,d))},co=(n,r,o,a,s,l,c,u,d)=>{r=r||EMPTY_ARR;const f=(n=n||EMPTY_ARR).length,m=r.length,g=Math.min(f,m);let b;for(b=0;b<g;b++){const a=r[b]=d?cloneIfMounted(r[b]):normalizeVNode(r[b]);k(n[b],a,o,null,s,l,c,u,d)}f>m?vo(n,s,l,!0,!1,g):D(r,o,a,s,l,c,u,d,g)},uo=(n,r,o,a,s,l,c,u,d)=>{let f=0;const m=r.length;let g=n.length-1,b=m-1;for(;f<=g&&f<=b;){const a=n[f],m=r[f]=d?cloneIfMounted(r[f]):normalizeVNode(r[f]);if(!isSameVNodeType(a,m))break;k(a,m,o,null,s,l,c,u,d),f++}for(;f<=g&&f<=b;){const a=n[g],f=r[b]=d?cloneIfMounted(r[b]):normalizeVNode(r[b]);if(!isSameVNodeType(a,f))break;k(a,f,o,null,s,l,c,u,d),g--,b--}if(f>g){if(f<=b){const n=b+1,g=n<m?r[n].el:a;for(;f<=b;)k(null,r[f]=d?cloneIfMounted(r[f]):normalizeVNode(r[f]),o,g,s,l,c,u,d),f++}}else if(f>b)for(;f<=g;)fo(n[f],s,l,!0),f++;else{const S=f,w=f,E=new Map;for(f=w;f<=b;f++){const n=r[f]=d?cloneIfMounted(r[f]):normalizeVNode(r[f]);null!=n.key&&E.set(n.key,f)}let C,T=0;const I=b-w+1;let P=!1,D=0;const O=new Array(I);for(f=0;f<I;f++)O[f]=0;for(f=S;f<=g;f++){const a=n[f];if(T>=I){fo(a,s,l,!0);continue}let m;if(null!=a.key)m=E.get(a.key);else for(C=w;C<=b;C++)if(0===O[C-w]&&isSameVNodeType(a,r[C])){m=C;break}void 0===m?fo(a,s,l,!0):(O[m-w]=f+1,m>=D?D=m:P=!0,k(a,r[m],o,null,s,l,c,u,d),T++)}const A=P?getSequence(O):EMPTY_ARR;for(C=A.length-1,f=I-1;f>=0;f--){const n=w+f,g=r[n],b=n+1<m?r[n+1].el:a;0===O[f]?k(null,g,o,b,s,l,c,u,d):P&&(C<0||f!==A[C]?po(g,o,b,2):C--)}}},po=(n,r,a,s,l=null)=>{const{el:c,type:u,transition:d,children:f,shapeFlag:m}=n;if(6&m)return void po(n.component.subTree,r,a,s);if(128&m)return void n.suspense.move(r,a,s);if(64&m)return void u.move(n,r,a,So);if(u===Fragment){o(c,r,a);for(let n=0;n<f.length;n++)po(f[n],r,a,s);return void o(n.anchor,r,a)}if(u===Static)return void(({el:n,anchor:r},a,s)=>{let l;for(;n&&n!==r;)l=g(n),o(n,a,s),n=l;o(r,a,s)})(n,r,a);if(2!==s&&1&m&&d)if(0===s)d.beforeEnter(c),o(c,r,a),queuePostRenderEffect((()=>d.enter(c)),l);else{const{leave:n,delayLeave:s,afterLeave:l}=d,u=()=>o(c,r,a),f=()=>{n(c,(()=>{u(),l&&l()}))};s?s(c,u,f):f()}else o(c,r,a)},fo=(n,r,o,a=!1,s=!1)=>{const{type:l,props:c,ref:u,children:d,dynamicChildren:f,shapeFlag:m,patchFlag:g,dirs:b,cacheIndex:S}=n;if(-2===g&&(s=!1),null!=u&&setRef(u,null,o,n,!0),null!=S&&(r.renderCache[S]=void 0),256&m)return void r.ctx.deactivate(n);const k=1&m&&b,w=!isAsyncWrapper(n);let E;if(w&&(E=c&&c.onVnodeBeforeUnmount)&&invokeVNodeHook(E,r,n),6&m)go(n.component,o,a);else{if(128&m)return void n.suspense.unmount(o,a);k&&invokeDirectiveHook(n,null,r,"beforeUnmount"),64&m?n.type.remove(n,r,o,So,a):f&&!f.hasOnce&&(l!==Fragment||g>0&&64&g)?vo(f,r,o,!1,!0):(l===Fragment&&384&g||!s&&16&m)&&vo(d,r,o),a&&ho(n)}(w&&(E=c&&c.onVnodeUnmounted)||k)&&queuePostRenderEffect((()=>{E&&invokeVNodeHook(E,r,n),k&&invokeDirectiveHook(n,null,r,"unmounted")}),o)},ho=n=>{const{type:r,el:o,anchor:s,transition:l}=n;if(r===Fragment)return void mo(o,s);if(r===Static)return void(({el:n,anchor:r})=>{let o;for(;n&&n!==r;)o=g(n),a(n),n=o;a(r)})(n);const c=()=>{a(o),l&&!l.persisted&&l.afterLeave&&l.afterLeave()};if(1&n.shapeFlag&&l&&!l.persisted){const{leave:r,delayLeave:a}=l,s=()=>r(o,c);a?a(n.el,c,s):s()}else c()},mo=(n,r)=>{let o;for(;n!==r;)o=g(n),a(n),n=o;a(r)},go=(n,r,o)=>{const{bum:a,scope:s,job:l,subTree:c,um:u,m:d,a:f}=n;invalidateMount(d),invalidateMount(f),a&&invokeArrayFns(a),s.stop(),l&&(l.flags|=8,fo(c,n,r,o)),u&&queuePostRenderEffect(u,r),queuePostRenderEffect((()=>{n.isUnmounted=!0}),r),r&&r.pendingBranch&&!r.isUnmounted&&n.asyncDep&&!n.asyncResolved&&n.suspenseId===r.pendingId&&(r.deps--,0===r.deps&&r.resolve())},vo=(n,r,o,a=!1,s=!1,l=0)=>{for(let c=l;c<n.length;c++)fo(n[c],r,o,a,s)},yo=n=>{if(6&n.shapeFlag)return yo(n.component.subTree);if(128&n.shapeFlag)return n.suspense.next();const r=g(n.anchor||n.el),o=r&&r[TeleportEndKey];return o?g(o):r};let bo=!1;const _o=(n,r,o)=>{null==n?r._vnode&&fo(r._vnode,null,null,!0):k(r._vnode||null,n,r,null,null,null,o),r._vnode=n,bo||(bo=!0,flushPreFlushCbs(),flushPostFlushCbs(),bo=!1)},So={p:k,um:fo,m:po,r:ho,mt:oo,mc:D,pc:lo,pbc:A,n:yo,o:n};let ko,wo;return r&&([ko,wo]=r(So)),{render:_o,hydrate:ko,createApp:createAppAPI(_o,ko)}}function resolveChildrenNamespace({type:n,props:r},o){return"svg"===o&&"foreignObject"===n||"mathml"===o&&"annotation-xml"===n&&r&&r.encoding&&r.encoding.includes("html")?void 0:o}function toggleRecurse({effect:n,job:r},o){o?(n.flags|=32,r.flags|=4):(n.flags&=-33,r.flags&=-5)}function needTransition(n,r){return(!n||n&&!n.pendingBranch)&&r&&!r.persisted}function traverseStaticChildren(n,r,o=!1){const a=n.children,s=r.children;if(isArray$3(a)&&isArray$3(s))for(let l=0;l<a.length;l++){const n=a[l];let r=s[l];1&r.shapeFlag&&!r.dynamicChildren&&((r.patchFlag<=0||32===r.patchFlag)&&(r=s[l]=cloneIfMounted(s[l]),r.el=n.el),o||-2===r.patchFlag||traverseStaticChildren(n,r)),r.type===Text&&(r.el=n.el)}}function getSequence(n){const r=n.slice(),o=[0];let a,s,l,c,u;const d=n.length;for(a=0;a<d;a++){const d=n[a];if(0!==d){if(s=o[o.length-1],n[s]<d){r[a]=s,o.push(a);continue}for(l=0,c=o.length-1;l<c;)u=l+c>>1,n[o[u]]<d?l=u+1:c=u;d<n[o[l]]&&(l>0&&(r[a]=o[l-1]),o[l]=a)}}for(l=o.length,c=o[l-1];l-- >0;)o[l]=c,c=r[c];return o}function locateNonHydratedAsyncRoot(n){const r=n.subTree.component;if(r)return r.asyncDep&&!r.asyncResolved?r:locateNonHydratedAsyncRoot(r)}function invalidateMount(n){if(n)for(let r=0;r<n.length;r++)n[r].flags|=8}const ssrContextKey=Symbol.for("v-scx"),useSSRContext=()=>inject$1(ssrContextKey);function watchEffect(n,r){return doWatch(n,null,r)}function watchPostEffect(n,r){return doWatch(n,null,{flush:"post"})}function watchSyncEffect(n,r){return doWatch(n,null,{flush:"sync"})}function watch(n,r,o){return doWatch(n,r,o)}function doWatch(n,r,o=EMPTY_OBJ){const{immediate:a,deep:s,flush:l,once:c}=o,u=extend$2({},o),d=r&&a||!r&&"post"!==l;let f;if(isInSSRComponentSetup)if("sync"===l){const n=useSSRContext();f=n.__watcherHandles||(n.__watcherHandles=[])}else if(!d){const n=()=>{};return n.stop=NOOP,n.resume=NOOP,n.pause=NOOP,n}const m=currentInstance;u.call=(n,r,o)=>callWithAsyncErrorHandling(n,m,r,o);let g=!1;"post"===l?u.scheduler=n=>{queuePostRenderEffect(n,m&&m.suspense)}:"sync"!==l&&(g=!0,u.scheduler=(n,r)=>{r?n():queueJob(n)}),u.augmentJob=n=>{r&&(n.flags|=4),g&&(n.flags|=2,m&&(n.id=m.uid,n.i=m))};const b=watch$1(n,r,u);return isInSSRComponentSetup&&(f?f.push(b):d&&b()),b}function instanceWatch(n,r,o){const a=this.proxy,s=isString$1(n)?n.includes(".")?createPathGetter(a,n):()=>a[n]:n.bind(a,a);let l;isFunction$1(r)?l=r:(l=r.handler,o=r);const c=setCurrentInstance(this),u=doWatch(s,l.bind(a),o);return c(),u}function createPathGetter(n,r){const o=r.split(".");return()=>{let r=n;for(let n=0;n<o.length&&r;n++)r=r[o[n]];return r}}function useModel(n,r,o=EMPTY_OBJ){const a=getCurrentInstance$1(),s=camelize(r),l=hyphenate(r),c=getModelModifiers(n,s),u=customRef(((c,u)=>{let d,f,m=EMPTY_OBJ;return watchSyncEffect((()=>{const r=n[s];hasChanged(d,r)&&(d=r,u())})),{get:()=>(c(),o.get?o.get(d):d),set(n){const c=o.set?o.set(n):n;if(!(hasChanged(c,d)||m!==EMPTY_OBJ&&hasChanged(n,m)))return;const g=a.vnode.props;g&&(r in g||s in g||l in g)&&(`onUpdate:${r}`in g||`onUpdate:${s}`in g||`onUpdate:${l}`in g)||(d=n,u()),a.emit(`update:${r}`,c),hasChanged(n,c)&&hasChanged(n,m)&&!hasChanged(c,f)&&u(),m=n,f=c}}}));return u[Symbol.iterator]=()=>{let n=0;return{next:()=>n<2?{value:n++?c||EMPTY_OBJ:u,done:!1}:{done:!0}}},u}const getModelModifiers=(n,r)=>"modelValue"===r||"model-value"===r?n.modelModifiers:n[`${r}Modifiers`]||n[`${camelize(r)}Modifiers`]||n[`${hyphenate(r)}Modifiers`];function emit(n,r,...o){if(n.isUnmounted)return;const a=n.vnode.props||EMPTY_OBJ;let s=o;const l=r.startsWith("update:"),c=l&&getModelModifiers(a,r.slice(7));let u;c&&(c.trim&&(s=o.map((n=>isString$1(n)?n.trim():n))),c.number&&(s=o.map(looseToNumber)));let d=a[u=toHandlerKey(r)]||a[u=toHandlerKey(camelize(r))];!d&&l&&(d=a[u=toHandlerKey(hyphenate(r))]),d&&callWithAsyncErrorHandling(d,n,6,s);const f=a[u+"Once"];if(f){if(n.emitted){if(n.emitted[u])return}else n.emitted={};n.emitted[u]=!0,callWithAsyncErrorHandling(f,n,6,s)}}function normalizeEmitsOptions(n,r,o=!1){const a=r.emitsCache,s=a.get(n);if(void 0!==s)return s;const l=n.emits;let c={},u=!1;if(!isFunction$1(n)){const a=n=>{const o=normalizeEmitsOptions(n,r,!0);o&&(u=!0,extend$2(c,o))};!o&&r.mixins.length&&r.mixins.forEach(a),n.extends&&a(n.extends),n.mixins&&n.mixins.forEach(a)}return l||u?(isArray$3(l)?l.forEach((n=>c[n]=null)):extend$2(c,l),isObject$2(n)&&a.set(n,c),c):(isObject$2(n)&&a.set(n,null),null)}function isEmitListener(n,r){return!(!n||!isOn$1(r))&&(r=r.slice(2).replace(/Once$/,""),hasOwn(n,r[0].toLowerCase()+r.slice(1))||hasOwn(n,hyphenate(r))||hasOwn(n,r))}function markAttrsAccessed(){}function renderComponentRoot(n){const{type:r,vnode:o,proxy:a,withProxy:s,propsOptions:[l],slots:c,attrs:u,emit:d,render:f,renderCache:m,props:g,data:b,setupState:S,ctx:k,inheritAttrs:w}=n,E=setCurrentRenderingInstance(n);let C,T;try{if(4&o.shapeFlag){const n=s||a,r=n;C=normalizeVNode(f.call(r,n,m,g,S,b,k)),T=u}else{const n=r;0,C=normalizeVNode(n.length>1?n(g,{attrs:u,slots:c,emit:d}):n(g,null)),T=r.props?u:getFunctionalFallthrough(u)}}catch(P){blockStack.length=0,handleError(P,n,1),C=createVNode(Comment)}let I=C;if(T&&!1!==w){const n=Object.keys(T),{shapeFlag:r}=I;n.length&&7&r&&(l&&n.some(isModelListener)&&(T=filterModelListeners(T,l)),I=cloneVNode(I,T,!1,!0))}return o.dirs&&(I=cloneVNode(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(o.dirs):o.dirs),o.transition&&setTransitionHooks(I,o.transition),C=I,setCurrentRenderingInstance(E),C}function filterSingleRoot(n,r=!0){let o;for(let a=0;a<n.length;a++){const r=n[a];if(!isVNode(r))return;if(r.type!==Comment||"v-if"===r.children){if(o)return;o=r}}return o}const getFunctionalFallthrough=n=>{let r;for(const o in n)("class"===o||"style"===o||isOn$1(o))&&((r||(r={}))[o]=n[o]);return r},filterModelListeners=(n,r)=>{const o={};for(const a in n)isModelListener(a)&&a.slice(9)in r||(o[a]=n[a]);return o};function shouldUpdateComponent(n,r,o){const{props:a,children:s,component:l}=n,{props:c,children:u,patchFlag:d}=r,f=l.emitsOptions;if(r.dirs||r.transition)return!0;if(!(o&&d>=0))return!(!s&&!u||u&&u.$stable)||a!==c&&(a?!c||hasPropsChanged(a,c,f):!!c);if(1024&d)return!0;if(16&d)return a?hasPropsChanged(a,c,f):!!c;if(8&d){const n=r.dynamicProps;for(let r=0;r<n.length;r++){const o=n[r];if(c[o]!==a[o]&&!isEmitListener(f,o))return!0}}return!1}function hasPropsChanged(n,r,o){const a=Object.keys(r);if(a.length!==Object.keys(n).length)return!0;for(let s=0;s<a.length;s++){const l=a[s];if(r[l]!==n[l]&&!isEmitListener(o,l))return!0}return!1}function updateHOCHostEl({vnode:n,parent:r},o){for(;r;){const a=r.subTree;if(a.suspense&&a.suspense.activeBranch===n&&(a.el=n.el),a!==n)break;(n=r.vnode).el=o,r=r.parent}}const isSuspense=n=>n.__isSuspense;let suspenseId=0;const SuspenseImpl={name:"Suspense",__isSuspense:!0,process(n,r,o,a,s,l,c,u,d,f){if(null==n)mountSuspense(r,o,a,s,l,c,u,d,f);else{if(l&&l.deps>0&&!n.suspense.isInFallback)return r.suspense=n.suspense,r.suspense.vnode=r,void(r.el=n.el);patchSuspense(n,r,o,a,s,c,u,d,f)}},hydrate:hydrateSuspense,normalize:normalizeSuspenseChildren},Suspense=SuspenseImpl;function triggerEvent(n,r){const o=n.props&&n.props[r];isFunction$1(o)&&o()}function mountSuspense(n,r,o,a,s,l,c,u,d){const{p:f,o:{createElement:m}}=d,g=m("div"),b=n.suspense=createSuspenseBoundary(n,s,a,r,g,o,l,c,u,d);f(null,b.pendingBranch=n.ssContent,g,null,a,b,l,c),b.deps>0?(triggerEvent(n,"onPending"),triggerEvent(n,"onFallback"),f(null,n.ssFallback,r,o,a,null,l,c),setActiveBranch(b,n.ssFallback)):b.resolve(!1,!0)}function patchSuspense(n,r,o,a,s,l,c,u,{p:d,um:f,o:{createElement:m}}){const g=r.suspense=n.suspense;g.vnode=r,r.el=n.el;const b=r.ssContent,S=r.ssFallback,{activeBranch:k,pendingBranch:w,isInFallback:E,isHydrating:C}=g;if(w)g.pendingBranch=b,isSameVNodeType(b,w)?(d(w,b,g.hiddenContainer,null,s,g,l,c,u),g.deps<=0?g.resolve():E&&(C||(d(k,S,o,a,s,null,l,c,u),setActiveBranch(g,S)))):(g.pendingId=suspenseId++,C?(g.isHydrating=!1,g.activeBranch=w):f(w,s,g),g.deps=0,g.effects.length=0,g.hiddenContainer=m("div"),E?(d(null,b,g.hiddenContainer,null,s,g,l,c,u),g.deps<=0?g.resolve():(d(k,S,o,a,s,null,l,c,u),setActiveBranch(g,S))):k&&isSameVNodeType(b,k)?(d(k,b,o,a,s,g,l,c,u),g.resolve(!0)):(d(null,b,g.hiddenContainer,null,s,g,l,c,u),g.deps<=0&&g.resolve()));else if(k&&isSameVNodeType(b,k))d(k,b,o,a,s,g,l,c,u),setActiveBranch(g,b);else if(triggerEvent(r,"onPending"),g.pendingBranch=b,512&b.shapeFlag?g.pendingId=b.component.suspenseId:g.pendingId=suspenseId++,d(null,b,g.hiddenContainer,null,s,g,l,c,u),g.deps<=0)g.resolve();else{const{timeout:n,pendingId:r}=g;n>0?setTimeout((()=>{g.pendingId===r&&g.fallback(S)}),n):0===n&&g.fallback(S)}}function createSuspenseBoundary(n,r,o,a,s,l,c,u,d,f,m=!1){const{p:g,m:b,um:S,n:k,o:{parentNode:w,remove:E}}=f;let C;const T=isVNodeSuspensible(n);T&&r&&r.pendingBranch&&(C=r.pendingId,r.deps++);const I=n.props?toNumber(n.props.timeout):void 0,P=l,D={vnode:n,parent:r,parentComponent:o,namespace:c,container:a,hiddenContainer:s,deps:0,pendingId:suspenseId++,timeout:"number"==typeof I?I:-1,activeBranch:null,pendingBranch:null,isInFallback:!m,isHydrating:m,isUnmounted:!1,effects:[],resolve(n=!1,o=!1){const{vnode:a,activeBranch:s,pendingBranch:c,pendingId:u,effects:d,parentComponent:f,container:m}=D;let g=!1;D.isHydrating?D.isHydrating=!1:n||(g=s&&c.transition&&"out-in"===c.transition.mode,g&&(s.transition.afterLeave=()=>{u===D.pendingId&&(b(c,m,l===P?k(s):l,0),queuePostFlushCb(d))}),s&&(w(s.el)===m&&(l=k(s)),S(s,f,D,!0)),g||b(c,m,l,0)),setActiveBranch(D,c),D.pendingBranch=null,D.isInFallback=!1;let E=D.parent,I=!1;for(;E;){if(E.pendingBranch){E.effects.push(...d),I=!0;break}E=E.parent}I||g||queuePostFlushCb(d),D.effects=[],T&&r&&r.pendingBranch&&C===r.pendingId&&(r.deps--,0!==r.deps||o||r.resolve()),triggerEvent(a,"onResolve")},fallback(n){if(!D.pendingBranch)return;const{vnode:r,activeBranch:o,parentComponent:a,container:s,namespace:l}=D;triggerEvent(r,"onFallback");const c=k(o),f=()=>{D.isInFallback&&(g(null,n,s,c,a,null,l,u,d),setActiveBranch(D,n))},m=n.transition&&"out-in"===n.transition.mode;m&&(o.transition.afterLeave=f),D.isInFallback=!0,S(o,a,null,!0),m||f()},move(n,r,o){D.activeBranch&&b(D.activeBranch,n,r,o),D.container=n},next:()=>D.activeBranch&&k(D.activeBranch),registerDep(n,r,o){const a=!!D.pendingBranch;a&&D.deps++;const s=n.vnode.el;n.asyncDep.catch((r=>{handleError(r,n,0)})).then((l=>{if(n.isUnmounted||D.isUnmounted||D.pendingId!==n.suspenseId)return;n.asyncResolved=!0;const{vnode:u}=n;handleSetupResult(n,l,!1),s&&(u.el=s);const d=!s&&n.subTree.el;r(n,u,w(s||n.subTree.el),s?null:k(n.subTree),D,c,o),d&&E(d),updateHOCHostEl(n,u.el),a&&0==--D.deps&&D.resolve()}))},unmount(n,r){D.isUnmounted=!0,D.activeBranch&&S(D.activeBranch,o,n,r),D.pendingBranch&&S(D.pendingBranch,o,n,r)}};return D}function hydrateSuspense(n,r,o,a,s,l,c,u,d){const f=r.suspense=createSuspenseBoundary(r,a,o,n.parentNode,document.createElement("div"),null,s,l,c,u,!0),m=d(n,f.pendingBranch=r.ssContent,o,f,l,c);return 0===f.deps&&f.resolve(!1,!0),m}function normalizeSuspenseChildren(n){const{shapeFlag:r,children:o}=n,a=32&r;n.ssContent=normalizeSuspenseSlot(a?o.default:o),n.ssFallback=a?normalizeSuspenseSlot(o.fallback):createVNode(Comment)}function normalizeSuspenseSlot(n){let r;if(isFunction$1(n)){const o=isBlockTreeEnabled&&n._c;o&&(n._d=!1,openBlock()),n=n(),o&&(n._d=!0,r=currentBlock,closeBlock())}if(isArray$3(n)){const r=filterSingleRoot(n);n=r}return n=normalizeVNode(n),r&&!n.dynamicChildren&&(n.dynamicChildren=r.filter((r=>r!==n))),n}function queueEffectWithSuspense(n,r){r&&r.pendingBranch?isArray$3(n)?r.effects.push(...n):r.effects.push(n):queuePostFlushCb(n)}function setActiveBranch(n,r){n.activeBranch=r;const{vnode:o,parentComponent:a}=n;let s=r.el;for(;!s&&r.component;)s=(r=r.component.subTree).el;o.el=s,a&&a.subTree===o&&(a.vnode.el=s,updateHOCHostEl(a,s))}function isVNodeSuspensible(n){const r=n.props&&n.props.suspensible;return null!=r&&!1!==r}const Fragment=Symbol.for("v-fgt"),Text=Symbol.for("v-txt"),Comment=Symbol.for("v-cmt"),Static=Symbol.for("v-stc"),blockStack=[];let currentBlock=null;function openBlock(n=!1){blockStack.push(currentBlock=n?null:[])}function closeBlock(){blockStack.pop(),currentBlock=blockStack[blockStack.length-1]||null}let isBlockTreeEnabled=1;function setBlockTracking(n,r=!1){isBlockTreeEnabled+=n,n<0&¤tBlock&&r&&(currentBlock.hasOnce=!0)}function setupBlock(n){return n.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(n),n}function createElementBlock(n,r,o,a,s,l){return setupBlock(createBaseVNode(n,r,o,a,s,l,!0))}function createBlock(n,r,o,a,s){return setupBlock(createVNode(n,r,o,a,s,!0))}function isVNode(n){return!!n&&!0===n.__v_isVNode}function isSameVNodeType(n,r){return n.type===r.type&&n.key===r.key}function transformVNodeArgs(n){}const normalizeKey$2=({key:n})=>null!=n?n:null,normalizeRef=({ref:n,ref_key:r,ref_for:o})=>("number"==typeof n&&(n=""+n),null!=n?isString$1(n)||isRef(n)||isFunction$1(n)?{i:currentRenderingInstance,r:n,k:r,f:!!o}:n:null);function createBaseVNode(n,r=null,o=null,a=0,s=null,l=(n===Fragment?0:1),c=!1,u=!1){const d={__v_isVNode:!0,__v_skip:!0,type:n,props:r,key:r&&normalizeKey$2(r),ref:r&&normalizeRef(r),scopeId:currentScopeId,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:a,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return u?(normalizeChildren(d,o),128&l&&n.normalize(d)):o&&(d.shapeFlag|=isString$1(o)?8:16),isBlockTreeEnabled>0&&!c&¤tBlock&&(d.patchFlag>0||6&l)&&32!==d.patchFlag&¤tBlock.push(d),d}const createVNode=_createVNode;function _createVNode(n,r=null,o=null,a=0,s=null,l=!1){if(n&&n!==NULL_DYNAMIC_COMPONENT||(n=Comment),isVNode(n)){const a=cloneVNode(n,r,!0);return o&&normalizeChildren(a,o),isBlockTreeEnabled>0&&!l&¤tBlock&&(6&a.shapeFlag?currentBlock[currentBlock.indexOf(n)]=a:currentBlock.push(a)),a.patchFlag=-2,a}if(isClassComponent(n)&&(n=n.__vccOpts),r){r=guardReactiveProps(r);let{class:n,style:o}=r;n&&!isString$1(n)&&(r.class=normalizeClass(n)),isObject$2(o)&&(isProxy(o)&&!isArray$3(o)&&(o=extend$2({},o)),r.style=normalizeStyle(o))}return createBaseVNode(n,r,o,a,s,isString$1(n)?1:isSuspense(n)?128:isTeleport(n)?64:isObject$2(n)?4:isFunction$1(n)?2:0,l,!0)}function guardReactiveProps(n){return n?isProxy(n)||isInternalObject(n)?extend$2({},n):n:null}function cloneVNode(n,r,o=!1,a=!1){const{props:s,ref:l,patchFlag:c,children:u,transition:d}=n,f=r?mergeProps(s||{},r):s,m={__v_isVNode:!0,__v_skip:!0,type:n.type,props:f,key:f&&normalizeKey$2(f),ref:r&&r.ref?o&&l?isArray$3(l)?l.concat(normalizeRef(r)):[l,normalizeRef(r)]:normalizeRef(r):l,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:u,target:n.target,targetStart:n.targetStart,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:r&&n.type!==Fragment?-1===c?16:16|c:c,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:d,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&cloneVNode(n.ssContent),ssFallback:n.ssFallback&&cloneVNode(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return d&&a&&setTransitionHooks(m,d.clone(m)),m}function createTextVNode(n=" ",r=0){return createVNode(Text,null,n,r)}function createStaticVNode(n,r){const o=createVNode(Static,null,n);return o.staticCount=r,o}function createCommentVNode(n="",r=!1){return r?(openBlock(),createBlock(Comment,null,n)):createVNode(Comment,null,n)}function normalizeVNode(n){return null==n||"boolean"==typeof n?createVNode(Comment):isArray$3(n)?createVNode(Fragment,null,n.slice()):isVNode(n)?cloneIfMounted(n):createVNode(Text,null,String(n))}function cloneIfMounted(n){return null===n.el&&-1!==n.patchFlag||n.memo?n:cloneVNode(n)}function normalizeChildren(n,r){let o=0;const{shapeFlag:a}=n;if(null==r)r=null;else if(isArray$3(r))o=16;else if("object"==typeof r){if(65&a){const o=r.default;return void(o&&(o._c&&(o._d=!1),normalizeChildren(n,o()),o._c&&(o._d=!0)))}{o=32;const a=r._;a||isInternalObject(r)?3===a&¤tRenderingInstance&&(1===currentRenderingInstance.slots._?r._=1:(r._=2,n.patchFlag|=1024)):r._ctx=currentRenderingInstance}}else isFunction$1(r)?(r={default:r,_ctx:currentRenderingInstance},o=32):(r=String(r),64&a?(o=16,r=[createTextVNode(r)]):o=8);n.children=r,n.shapeFlag|=o}function mergeProps(...n){const r={};for(let o=0;o<n.length;o++){const a=n[o];for(const n in a)if("class"===n)r.class!==a.class&&(r.class=normalizeClass([r.class,a.class]));else if("style"===n)r.style=normalizeStyle([r.style,a.style]);else if(isOn$1(n)){const o=r[n],s=a[n];!s||o===s||isArray$3(o)&&o.includes(s)||(r[n]=o?[].concat(o,s):s)}else""!==n&&(r[n]=a[n])}return r}function invokeVNodeHook(n,r,o,a=null){callWithAsyncErrorHandling(n,r,7,[o,a])}const emptyAppContext=createAppContext();let uid=0;function createComponentInstance(n,r,o){const a=n.type,s=(r?r.appContext:n.appContext)||emptyAppContext,l={uid:uid++,vnode:n,type:a,parent:r,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new EffectScope(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:r?r.provides:Object.create(s.provides),ids:r?r.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:normalizePropsOptions(a,s),emitsOptions:normalizeEmitsOptions(a,s),emit:null,emitted:null,propsDefaults:EMPTY_OBJ,inheritAttrs:a.inheritAttrs,ctx:EMPTY_OBJ,data:EMPTY_OBJ,props:EMPTY_OBJ,attrs:EMPTY_OBJ,slots:EMPTY_OBJ,refs:EMPTY_OBJ,setupState:EMPTY_OBJ,setupContext:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=r?r.root:l,l.emit=emit.bind(null,l),n.ce&&n.ce(l),l}let currentInstance=null;const getCurrentInstance$1=()=>currentInstance||currentRenderingInstance;let internalSetCurrentInstance,setInSSRSetupState;{const n=getGlobalThis(),r=(r,o)=>{let a;return(a=n[r])||(a=n[r]=[]),a.push(o),n=>{a.length>1?a.forEach((r=>r(n))):a[0](n)}};internalSetCurrentInstance=r("__VUE_INSTANCE_SETTERS__",(n=>currentInstance=n)),setInSSRSetupState=r("__VUE_SSR_SETTERS__",(n=>isInSSRComponentSetup=n))}const setCurrentInstance=n=>{const r=currentInstance;return internalSetCurrentInstance(n),n.scope.on(),()=>{n.scope.off(),internalSetCurrentInstance(r)}},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),internalSetCurrentInstance(null)};function isStatefulComponent(n){return 4&n.vnode.shapeFlag}let isInSSRComponentSetup=!1,compile$1,installWithProxy;function setupComponent(n,r=!1,o=!1){r&&setInSSRSetupState(r);const{props:a,children:s}=n.vnode,l=isStatefulComponent(n);initProps(n,a,l,r),initSlots(n,s,o);const c=l?setupStatefulComponent(n,r):void 0;return r&&setInSSRSetupState(!1),c}function setupStatefulComponent(n,r){const o=n.type;n.accessCache=Object.create(null),n.proxy=new Proxy(n.ctx,PublicInstanceProxyHandlers);const{setup:a}=o;if(a){pauseTracking();const o=n.setupContext=a.length>1?createSetupContext(n):null,s=setCurrentInstance(n),l=callWithErrorHandling(a,n,0,[n.props,o]),c=isPromise(l);if(resetTracking(),s(),!c&&!n.sp||isAsyncWrapper(n)||markAsyncBoundary(n),c){if(l.then(unsetCurrentInstance,unsetCurrentInstance),r)return l.then((o=>{handleSetupResult(n,o,r)})).catch((r=>{handleError(r,n,0)}));n.asyncDep=l}else handleSetupResult(n,l,r)}else finishComponentSetup(n,r)}function handleSetupResult(n,r,o){isFunction$1(r)?n.type.__ssrInlineRender?n.ssrRender=r:n.render=r:isObject$2(r)&&(n.setupState=proxyRefs(r)),finishComponentSetup(n,o)}function registerRuntimeCompiler(n){compile$1=n,installWithProxy=n=>{n.render._rc&&(n.withProxy=new Proxy(n.ctx,RuntimeCompiledPublicInstanceProxyHandlers))}}const isRuntimeOnly=()=>!compile$1;function finishComponentSetup(n,r,o){const a=n.type;if(!n.render){if(!r&&compile$1&&!a.render){const r=a.template||resolveMergedOptions(n).template;if(r){const{isCustomElement:o,compilerOptions:s}=n.appContext.config,{delimiters:l,compilerOptions:c}=a,u=extend$2(extend$2({isCustomElement:o,delimiters:l},s),c);a.render=compile$1(r,u)}}n.render=a.render||NOOP,installWithProxy&&installWithProxy(n)}{const r=setCurrentInstance(n);pauseTracking();try{applyOptions(n)}finally{resetTracking(),r()}}}const attrsProxyHandlers={get:(n,r)=>(track(n,"get",""),n[r])};function createSetupContext(n){const r=r=>{n.exposed=r||{}};return{attrs:new Proxy(n.attrs,attrsProxyHandlers),slots:n.slots,emit:n.emit,expose:r}}function getComponentPublicInstance(n){return n.exposed?n.exposeProxy||(n.exposeProxy=new Proxy(proxyRefs(markRaw(n.exposed)),{get:(r,o)=>o in r?r[o]:o in publicPropertiesMap?publicPropertiesMap[o](n):void 0,has:(n,r)=>r in n||r in publicPropertiesMap})):n.proxy}const classifyRE=/(?:^|[-_])(\w)/g,classify=n=>n.replace(classifyRE,(n=>n.toUpperCase())).replace(/[-_]/g,"");function getComponentName(n,r=!0){return isFunction$1(n)?n.displayName||n.name:n.name||r&&n.__name}function formatComponentName(n,r,o=!1){let a=getComponentName(r);if(!a&&r.__file){const n=r.__file.match(/([^/\\]+)\.\w+$/);n&&(a=n[1])}if(!a&&n&&n.parent){const o=n=>{for(const o in n)if(n[o]===r)return o};a=o(n.components||n.parent.type.components)||o(n.appContext.components)}return a?classify(a):o?"App":"Anonymous"}function isClassComponent(n){return isFunction$1(n)&&"__vccOpts"in n}const computed=(n,r)=>computed$1(n,r,isInSSRComponentSetup);function h$2(n,r,o){const a=arguments.length;return 2===a?isObject$2(r)&&!isArray$3(r)?isVNode(r)?createVNode(n,null,[r]):createVNode(n,r):createVNode(n,null,r):(a>3?o=Array.prototype.slice.call(arguments,2):3===a&&isVNode(o)&&(o=[o]),createVNode(n,r,o))}function initCustomFormatter(){}function withMemo(n,r,o,a){const s=o[a];if(s&&isMemoSame(s,n))return s;const l=r();return l.memo=n.slice(),l.cacheIndex=a,o[a]=l}function isMemoSame(n,r){const o=n.memo;if(o.length!=r.length)return!1;for(let a=0;a<o.length;a++)if(hasChanged(o[a],r[a]))return!1;return isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(n),!0}const version$3="3.5.13",warn$2=NOOP,ErrorTypeStrings=ErrorTypeStrings$1,devtools=devtools$1,setDevtoolsHook=setDevtoolsHook$1,_ssrUtils={createComponentInstance:createComponentInstance,setupComponent:setupComponent,renderComponentRoot:renderComponentRoot,setCurrentRenderingInstance:setCurrentRenderingInstance,isVNode:isVNode,normalizeVNode:normalizeVNode,getComponentPublicInstance:getComponentPublicInstance,ensureValidVNode:ensureValidVNode$1,pushWarningContext:pushWarningContext,popWarningContext:popWarningContext},ssrUtils=_ssrUtils,resolveFilter=null,compatUtils=null,DeprecationTypes=null;let policy;const tt$1="undefined"!=typeof window&&window.trustedTypes;if(tt$1)try{policy=tt$1.createPolicy("vue",{createHTML:n=>n})}catch(e3){}const unsafeToTrustedHTML=policy?n=>policy.createHTML(n):n=>n,svgNS="http://www.w3.org/2000/svg",mathmlNS="http://www.w3.org/1998/Math/MathML",doc="undefined"!=typeof document?document:null,templateContainer=doc&&doc.createElement("template"),nodeOps={insert:(n,r,o)=>{r.insertBefore(n,o||null)},remove:n=>{const r=n.parentNode;r&&r.removeChild(n)},createElement:(n,r,o,a)=>{const s="svg"===r?doc.createElementNS(svgNS,n):"mathml"===r?doc.createElementNS(mathmlNS,n):o?doc.createElement(n,{is:o}):doc.createElement(n);return"select"===n&&a&&null!=a.multiple&&s.setAttribute("multiple",a.multiple),s},createText:n=>doc.createTextNode(n),createComment:n=>doc.createComment(n),setText:(n,r)=>{n.nodeValue=r},setElementText:(n,r)=>{n.textContent=r},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>doc.querySelector(n),setScopeId(n,r){n.setAttribute(r,"")},insertStaticContent(n,r,o,a,s,l){const c=o?o.previousSibling:r.lastChild;if(s&&(s===l||s.nextSibling))for(;r.insertBefore(s.cloneNode(!0),o),s!==l&&(s=s.nextSibling););else{templateContainer.innerHTML=unsafeToTrustedHTML("svg"===a?`<svg>${n}</svg>`:"mathml"===a?`<math>${n}</math>`:n);const s=templateContainer.content;if("svg"===a||"mathml"===a){const n=s.firstChild;for(;n.firstChild;)s.appendChild(n.firstChild);s.removeChild(n)}r.insertBefore(s,o)}return[c?c.nextSibling:r.firstChild,o?o.previousSibling:r.lastChild]}},TRANSITION$1="transition",ANIMATION="animation",vtcKey=Symbol("_vtc"),DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},TransitionPropsValidators=extend$2({},BaseTransitionPropsValidators,DOMTransitionPropsValidators),decorate$1=n=>(n.displayName="Transition",n.props=TransitionPropsValidators,n),Transition=decorate$1(((n,{slots:r})=>h$2(BaseTransition,resolveTransitionProps(n),r))),callHook=(n,r=[])=>{isArray$3(n)?n.forEach((n=>n(...r))):n&&n(...r)},hasExplicitCallback=n=>!!n&&(isArray$3(n)?n.some((n=>n.length>1)):n.length>1);function resolveTransitionProps(n){const r={};for(const ao in n)ao in DOMTransitionPropsValidators||(r[ao]=n[ao]);if(!1===n.css)return r;const{name:o="v",type:a,duration:s,enterFromClass:l=`${o}-enter-from`,enterActiveClass:c=`${o}-enter-active`,enterToClass:u=`${o}-enter-to`,appearFromClass:d=l,appearActiveClass:f=c,appearToClass:m=u,leaveFromClass:g=`${o}-leave-from`,leaveActiveClass:b=`${o}-leave-active`,leaveToClass:S=`${o}-leave-to`}=n,k=normalizeDuration(s),w=k&&k[0],E=k&&k[1],{onBeforeEnter:C,onEnter:T,onEnterCancelled:I,onLeave:P,onLeaveCancelled:D,onBeforeAppear:O=C,onAppear:A=T,onAppearCancelled:eo=I}=r,no=(n,r,o,a)=>{n._enterCancelled=a,removeTransitionClass(n,r?m:u),removeTransitionClass(n,r?f:c),o&&o()},ro=(n,r)=>{n._isLeaving=!1,removeTransitionClass(n,g),removeTransitionClass(n,S),removeTransitionClass(n,b),r&&r()},oo=n=>(r,o)=>{const s=n?A:T,c=()=>no(r,n,o);callHook(s,[r,c]),nextFrame((()=>{removeTransitionClass(r,n?d:l),addTransitionClass(r,n?m:u),hasExplicitCallback(s)||whenTransitionEnds(r,a,w,c)}))};return extend$2(r,{onBeforeEnter(n){callHook(C,[n]),addTransitionClass(n,l),addTransitionClass(n,c)},onBeforeAppear(n){callHook(O,[n]),addTransitionClass(n,d),addTransitionClass(n,f)},onEnter:oo(!1),onAppear:oo(!0),onLeave(n,r){n._isLeaving=!0;const o=()=>ro(n,r);addTransitionClass(n,g),n._enterCancelled?(addTransitionClass(n,b),forceReflow()):(forceReflow(),addTransitionClass(n,b)),nextFrame((()=>{n._isLeaving&&(removeTransitionClass(n,g),addTransitionClass(n,S),hasExplicitCallback(P)||whenTransitionEnds(n,a,E,o))})),callHook(P,[n,o])},onEnterCancelled(n){no(n,!1,void 0,!0),callHook(I,[n])},onAppearCancelled(n){no(n,!0,void 0,!0),callHook(eo,[n])},onLeaveCancelled(n){ro(n),callHook(D,[n])}})}function normalizeDuration(n){if(null==n)return null;if(isObject$2(n))return[NumberOf(n.enter),NumberOf(n.leave)];{const r=NumberOf(n);return[r,r]}}function NumberOf(n){return toNumber(n)}function addTransitionClass(n,r){r.split(/\s+/).forEach((r=>r&&n.classList.add(r))),(n[vtcKey]||(n[vtcKey]=new Set)).add(r)}function removeTransitionClass(n,r){r.split(/\s+/).forEach((r=>r&&n.classList.remove(r)));const o=n[vtcKey];o&&(o.delete(r),o.size||(n[vtcKey]=void 0))}function nextFrame(n){requestAnimationFrame((()=>{requestAnimationFrame(n)}))}let endId=0;function whenTransitionEnds(n,r,o,a){const s=n._endId=++endId,l=()=>{s===n._endId&&a()};if(null!=o)return setTimeout(l,o);const{type:c,timeout:u,propCount:d}=getTransitionInfo(n,r);if(!c)return a();const f=c+"end";let m=0;const g=()=>{n.removeEventListener(f,b),l()},b=r=>{r.target===n&&++m>=d&&g()};setTimeout((()=>{m<d&&g()}),u+1),n.addEventListener(f,b)}function getTransitionInfo(n,r){const o=window.getComputedStyle(n),a=n=>(o[n]||"").split(", "),s=a(`${TRANSITION$1}Delay`),l=a(`${TRANSITION$1}Duration`),c=getTimeout(s,l),u=a(`${ANIMATION}Delay`),d=a(`${ANIMATION}Duration`),f=getTimeout(u,d);let m=null,g=0,b=0;r===TRANSITION$1?c>0&&(m=TRANSITION$1,g=c,b=l.length):r===ANIMATION?f>0&&(m=ANIMATION,g=f,b=d.length):(g=Math.max(c,f),m=g>0?c>f?TRANSITION$1:ANIMATION:null,b=m?m===TRANSITION$1?l.length:d.length:0);return{type:m,timeout:g,propCount:b,hasTransform:m===TRANSITION$1&&/\b(transform|all)(,|$)/.test(a(`${TRANSITION$1}Property`).toString())}}function getTimeout(n,r){for(;n.length<r.length;)n=n.concat(n);return Math.max(...r.map(((r,o)=>toMs(r)+toMs(n[o]))))}function toMs(n){return"auto"===n?0:1e3*Number(n.slice(0,-1).replace(",","."))}function forceReflow(){return document.body.offsetHeight}function patchClass(n,r,o){const a=n[vtcKey];a&&(r=(r?[r,...a]:[...a]).join(" ")),null==r?n.removeAttribute("class"):o?n.setAttribute("class",r):n.className=r}const vShowOriginalDisplay=Symbol("_vod"),vShowHidden=Symbol("_vsh"),vShow={beforeMount(n,{value:r},{transition:o}){n[vShowOriginalDisplay]="none"===n.style.display?"":n.style.display,o&&r?o.beforeEnter(n):setDisplay(n,r)},mounted(n,{value:r},{transition:o}){o&&r&&o.enter(n)},updated(n,{value:r,oldValue:o},{transition:a}){!r!=!o&&(a?r?(a.beforeEnter(n),setDisplay(n,!0),a.enter(n)):a.leave(n,(()=>{setDisplay(n,!1)})):setDisplay(n,r))},beforeUnmount(n,{value:r}){setDisplay(n,r)}};function setDisplay(n,r){n.style.display=r?n[vShowOriginalDisplay]:"none",n[vShowHidden]=!r}function initVShowForSSR(){vShow.getSSRProps=({value:n})=>{if(!n)return{style:{display:"none"}}}}const CSS_VAR_TEXT=Symbol("");function useCssVars(n){const r=getCurrentInstance$1();if(!r)return;const o=r.ut=(o=n(r.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${r.uid}"]`)).forEach((n=>setVarsOnNode(n,o)))},a=()=>{const a=n(r.proxy);r.ce?setVarsOnNode(r.ce,a):setVarsOnVNode(r.subTree,a),o(a)};onBeforeUpdate((()=>{queuePostFlushCb(a)})),onMounted((()=>{watch(a,NOOP,{flush:"post"});const n=new MutationObserver(a);n.observe(r.subTree.el.parentNode,{childList:!0}),onUnmounted((()=>n.disconnect()))}))}function setVarsOnVNode(n,r){if(128&n.shapeFlag){const o=n.suspense;n=o.activeBranch,o.pendingBranch&&!o.isHydrating&&o.effects.push((()=>{setVarsOnVNode(o.activeBranch,r)}))}for(;n.component;)n=n.component.subTree;if(1&n.shapeFlag&&n.el)setVarsOnNode(n.el,r);else if(n.type===Fragment)n.children.forEach((n=>setVarsOnVNode(n,r)));else if(n.type===Static){let{el:o,anchor:a}=n;for(;o&&(setVarsOnNode(o,r),o!==a);)o=o.nextSibling}}function setVarsOnNode(n,r){if(1===n.nodeType){const o=n.style;let a="";for(const n in r)o.setProperty(`--${n}`,r[n]),a+=`--${n}: ${r[n]};`;o[CSS_VAR_TEXT]=a}}const displayRE=/(^|;)\s*display\s*:/;function patchStyle(n,r,o){const a=n.style,s=isString$1(o);let l=!1;if(o&&!s){if(r)if(isString$1(r))for(const n of r.split(";")){const r=n.slice(0,n.indexOf(":")).trim();null==o[r]&&setStyle(a,r,"")}else for(const n in r)null==o[n]&&setStyle(a,n,"");for(const n in o)"display"===n&&(l=!0),setStyle(a,n,o[n])}else if(s){if(r!==o){const n=a[CSS_VAR_TEXT];n&&(o+=";"+n),a.cssText=o,l=displayRE.test(o)}}else r&&n.removeAttribute("style");vShowOriginalDisplay in n&&(n[vShowOriginalDisplay]=l?a.display:"",n[vShowHidden]&&(a.display="none"))}const importantRE=/\s*!important$/;function setStyle(n,r,o){if(isArray$3(o))o.forEach((o=>setStyle(n,r,o)));else if(null==o&&(o=""),r.startsWith("--"))n.setProperty(r,o);else{const a=autoPrefix(n,r);importantRE.test(o)?n.setProperty(hyphenate(a),o.replace(importantRE,""),"important"):n[a]=o}}const prefixes=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(n,r){const o=prefixCache[r];if(o)return o;let a=camelize(r);if("filter"!==a&&a in n)return prefixCache[r]=a;a=capitalize(a);for(let s=0;s<prefixes.length;s++){const o=prefixes[s]+a;if(o in n)return prefixCache[r]=o}return r}const xlinkNS="http://www.w3.org/1999/xlink";function patchAttr(n,r,o,a,s,l=isSpecialBooleanAttr(r)){a&&r.startsWith("xlink:")?null==o?n.removeAttributeNS(xlinkNS,r.slice(6,r.length)):n.setAttributeNS(xlinkNS,r,o):null==o||l&&!includeBooleanAttr(o)?n.removeAttribute(r):n.setAttribute(r,l?"":isSymbol(o)?String(o):o)}function patchDOMProp(n,r,o,a,s){if("innerHTML"===r||"textContent"===r)return void(null!=o&&(n[r]="innerHTML"===r?unsafeToTrustedHTML(o):o));const l=n.tagName;if("value"===r&&"PROGRESS"!==l&&!l.includes("-")){const a="OPTION"===l?n.getAttribute("value")||"":n.value,s=null==o?"checkbox"===n.type?"on":"":String(o);return a===s&&"_value"in n||(n.value=s),null==o&&n.removeAttribute(r),void(n._value=o)}let c=!1;if(""===o||null==o){const a=typeof n[r];"boolean"===a?o=includeBooleanAttr(o):null==o&&"string"===a?(o="",c=!0):"number"===a&&(o=0,c=!0)}try{n[r]=o}catch(e3){}c&&n.removeAttribute(s||r)}function addEventListener$1(n,r,o,a){n.addEventListener(r,o,a)}function removeEventListener(n,r,o,a){n.removeEventListener(r,o,a)}const veiKey=Symbol("_vei");function patchEvent(n,r,o,a,s=null){const l=n[veiKey]||(n[veiKey]={}),c=l[r];if(a&&c)c.value=a;else{const[o,u]=parseName(r);if(a){addEventListener$1(n,o,l[r]=createInvoker(a,s),u)}else c&&(removeEventListener(n,o,c,u),l[r]=void 0)}}const optionsModifierRE=/(?:Once|Passive|Capture)$/;function parseName(n){let r;if(optionsModifierRE.test(n)){let o;for(r={};o=n.match(optionsModifierRE);)n=n.slice(0,n.length-o[0].length),r[o[0].toLowerCase()]=!0}return[":"===n[2]?n.slice(3):hyphenate(n.slice(2)),r]}let cachedNow=0;const p=Promise.resolve(),getNow=()=>cachedNow||(p.then((()=>cachedNow=0)),cachedNow=Date.now());function createInvoker(n,r){const o=n=>{if(n._vts){if(n._vts<=o.attached)return}else n._vts=Date.now();callWithAsyncErrorHandling(patchStopImmediatePropagation(n,o.value),r,5,[n])};return o.value=n,o.attached=getNow(),o}function patchStopImmediatePropagation(n,r){if(isArray$3(r)){const o=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{o.call(n),n._stopped=!0},r.map((n=>r=>!r._stopped&&n&&n(r)))}return r}const isNativeOn=n=>111===n.charCodeAt(0)&&110===n.charCodeAt(1)&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,patchProp=(n,r,o,a,s,l)=>{const c="svg"===s;"class"===r?patchClass(n,a,c):"style"===r?patchStyle(n,o,a):isOn$1(r)?isModelListener(r)||patchEvent(n,r,o,a,l):("."===r[0]?(r=r.slice(1),1):"^"===r[0]?(r=r.slice(1),0):shouldSetAsProp(n,r,a,c))?(patchDOMProp(n,r,a),n.tagName.includes("-")||"value"!==r&&"checked"!==r&&"selected"!==r||patchAttr(n,r,a,c,l,"value"!==r)):!n._isVueCE||!/[A-Z]/.test(r)&&isString$1(a)?("true-value"===r?n._trueValue=a:"false-value"===r&&(n._falseValue=a),patchAttr(n,r,a,c)):patchDOMProp(n,camelize(r),a,l,r)};function shouldSetAsProp(n,r,o,a){if(a)return"innerHTML"===r||"textContent"===r||!!(r in n&&isNativeOn(r)&&isFunction$1(o));if("spellcheck"===r||"draggable"===r||"translate"===r)return!1;if("form"===r)return!1;if("list"===r&&"INPUT"===n.tagName)return!1;if("type"===r&&"TEXTAREA"===n.tagName)return!1;if("width"===r||"height"===r){const r=n.tagName;if("IMG"===r||"VIDEO"===r||"CANVAS"===r||"SOURCE"===r)return!1}return(!isNativeOn(r)||!isString$1(o))&&r in n}const REMOVAL={};function defineCustomElement(n,r,o){const a=defineComponent$1(n,r);isPlainObject$4(a)&&extend$2(a,r);class VueCustomElement extends VueElement{constructor(n){super(a,n,o)}}return VueCustomElement.def=a,VueCustomElement}const defineSSRCustomElement=(n,r)=>defineCustomElement(n,r,createSSRApp),BaseClass="undefined"!=typeof HTMLElement?HTMLElement:class{};class VueElement extends BaseClass{constructor(n,r={},o=createApp){super(),this._def=n,this._props=r,this._createApp=o,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&&o!==createApp?this._root=this.shadowRoot:!1!==n.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 n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof VueElement){this._parent=n;break}this._instance||(this._resolved?(this._setParent(),this._update()):n&&n._pendingResolve?this._pendingResolve=n._pendingResolve.then((()=>{this._pendingResolve=void 0,this._resolveDef()})):this._resolveDef())}_setParent(n=this._parent){n&&(this._instance.parent=n._instance,this._instance.provides=n._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 o=0;o<this.attributes.length;o++)this._setAttr(this.attributes[o].name);this._ob=new MutationObserver((n=>{for(const r of n)this._setAttr(r.attributeName)})),this._ob.observe(this,{attributes:!0});const n=(n,r=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:a}=n;let s;if(o&&!isArray$3(o))for(const l in o){const n=o[l];(n===Number||n&&n.type===Number)&&(l in this._props&&(this._props[l]=toNumber(this._props[l])),(s||(s=Object.create(null)))[camelize(l)]=!0)}this._numberProps=s,r&&this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},r=this._def.__asyncLoader;r?this._pendingResolve=r().then((r=>n(this._def=r,!0))):n(this._def)}_mount(n){this._app=this._createApp(n),n.configureApp&&n.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const r=this._instance&&this._instance.exposed;if(r)for(const o in r)hasOwn(this,o)||Object.defineProperty(this,o,{get:()=>unref(r[o])})}_resolveProps(n){const{props:r}=n,o=isArray$3(r)?r:Object.keys(r||{});for(const a of Object.keys(this))"_"!==a[0]&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(camelize))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(n){this._setProp(a,n,!0,!0)}})}_setAttr(n){if(n.startsWith("data-v-"))return;const r=this.hasAttribute(n);let o=r?this.getAttribute(n):REMOVAL;const a=camelize(n);r&&this._numberProps&&this._numberProps[a]&&(o=toNumber(o)),this._setProp(a,o,!1,!0)}_getProp(n){return this._props[n]}_setProp(n,r,o=!0,a=!1){if(r!==this._props[n]&&(r===REMOVAL?delete this._props[n]:(this._props[n]=r,"key"===n&&this._app&&(this._app._ceVNode.key=r)),a&&this._instance&&this._update(),o)){const o=this._ob;o&&o.disconnect(),!0===r?this.setAttribute(hyphenate(n),""):"string"==typeof r||"number"==typeof r?this.setAttribute(hyphenate(n),r+""):r||this.removeAttribute(hyphenate(n)),o&&o.observe(this,{attributes:!0})}}_update(){render(this._createVNode(),this._root)}_createVNode(){const n={};this.shadowRoot||(n.onVnodeMounted=n.onVnodeUpdated=this._renderSlots.bind(this));const r=createVNode(this._def,extend$2(n,this._props));return this._instance||(r.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(n,r)=>{this.dispatchEvent(new CustomEvent(n,isPlainObject$4(r[0])?extend$2({detail:r},r[0]):{detail:r}))};n.emit=(n,...o)=>{r(n,o),hyphenate(n)!==n&&r(hyphenate(n),o)},this._setParent()}),r}_applyStyles(n,r){if(!n)return;if(r){if(r===this._def||this._styleChildren.has(r))return;this._styleChildren.add(r)}const o=this._nonce;for(let a=n.length-1;a>=0;a--){const r=document.createElement("style");o&&r.setAttribute("nonce",o),r.textContent=n[a],this.shadowRoot.prepend(r)}}_parseSlots(){const n=this._slots={};let r;for(;r=this.firstChild;){const o=1===r.nodeType&&r.getAttribute("slot")||"default";(n[o]||(n[o]=[])).push(r),this.removeChild(r)}}_renderSlots(){const n=(this._teleportTarget||this).querySelectorAll("slot"),r=this._instance.type.__scopeId;for(let o=0;o<n.length;o++){const a=n[o],s=a.getAttribute("name")||"default",l=this._slots[s],c=a.parentNode;if(l)for(const n of l){if(r&&1===n.nodeType){const o=r+"-s",a=document.createTreeWalker(n,1);let s;for(n.setAttribute(o,"");s=a.nextNode();)s.setAttribute(o,"")}c.insertBefore(n,a)}else for(;a.firstChild;)c.insertBefore(a.firstChild,a);c.removeChild(a)}}_injectChildStyle(n){this._applyStyles(n.styles,n)}_removeChildStyle(n){}}function useHost(n){const r=getCurrentInstance$1(),o=r&&r.ce;return o||null}function useShadowRoot(){const n=useHost();return n&&n.shadowRoot}function useCssModule(n="$style"){{const r=getCurrentInstance$1();if(!r)return EMPTY_OBJ;const o=r.type.__cssModules;if(!o)return EMPTY_OBJ;const a=o[n];return a||EMPTY_OBJ}}const positionMap=new WeakMap,newPositionMap=new WeakMap,moveCbKey=Symbol("_moveCb"),enterCbKey=Symbol("_enterCb"),decorate=n=>(delete n.props.mode,n),TransitionGroupImpl=decorate({name:"TransitionGroup",props:extend$2({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(n,{slots:r}){const o=getCurrentInstance$1(),a=useTransitionState();let s,l;return onUpdated((()=>{if(!s.length)return;const r=n.moveClass||`${n.name||"v"}-move`;if(!hasCSSTransform(s[0].el,o.vnode.el,r))return;s.forEach(callPendingCbs),s.forEach(recordPosition);const a=s.filter(applyTranslation);forceReflow(),a.forEach((n=>{const o=n.el,a=o.style;addTransitionClass(o,r),a.transform=a.webkitTransform=a.transitionDuration="";const s=o[moveCbKey]=n=>{n&&n.target!==o||n&&!/transform$/.test(n.propertyName)||(o.removeEventListener("transitionend",s),o[moveCbKey]=null,removeTransitionClass(o,r))};o.addEventListener("transitionend",s)}))})),()=>{const c=toRaw(n),u=resolveTransitionProps(c);let d=c.tag||Fragment;if(s=[],l)for(let n=0;n<l.length;n++){const r=l[n];r.el&&r.el instanceof Element&&(s.push(r),setTransitionHooks(r,resolveTransitionHooks(r,u,a,o)),positionMap.set(r,r.el.getBoundingClientRect()))}l=r.default?getTransitionRawChildren(r.default()):[];for(let n=0;n<l.length;n++){const r=l[n];null!=r.key&&setTransitionHooks(r,resolveTransitionHooks(r,u,a,o))}return createVNode(d,null,l)}}}),TransitionGroup=TransitionGroupImpl;function callPendingCbs(n){const r=n.el;r[moveCbKey]&&r[moveCbKey](),r[enterCbKey]&&r[enterCbKey]()}function recordPosition(n){newPositionMap.set(n,n.el.getBoundingClientRect())}function applyTranslation(n){const r=positionMap.get(n),o=newPositionMap.get(n),a=r.left-o.left,s=r.top-o.top;if(a||s){const r=n.el.style;return r.transform=r.webkitTransform=`translate(${a}px,${s}px)`,r.transitionDuration="0s",n}}function hasCSSTransform(n,r,o){const a=n.cloneNode(),s=n[vtcKey];s&&s.forEach((n=>{n.split(/\s+/).forEach((n=>n&&a.classList.remove(n)))})),o.split(/\s+/).forEach((n=>n&&a.classList.add(n))),a.style.display="none";const l=1===r.nodeType?r:r.parentNode;l.appendChild(a);const{hasTransform:c}=getTransitionInfo(a);return l.removeChild(a),c}const getModelAssigner=n=>{const r=n.props["onUpdate:modelValue"]||!1;return isArray$3(r)?n=>invokeArrayFns(r,n):r};function onCompositionStart(n){n.target.composing=!0}function onCompositionEnd(n){const r=n.target;r.composing&&(r.composing=!1,r.dispatchEvent(new Event("input")))}const assignKey=Symbol("_assign"),vModelText={created(n,{modifiers:{lazy:r,trim:o,number:a}},s){n[assignKey]=getModelAssigner(s);const l=a||s.props&&"number"===s.props.type;addEventListener$1(n,r?"change":"input",(r=>{if(r.target.composing)return;let a=n.value;o&&(a=a.trim()),l&&(a=looseToNumber(a)),n[assignKey](a)})),o&&addEventListener$1(n,"change",(()=>{n.value=n.value.trim()})),r||(addEventListener$1(n,"compositionstart",onCompositionStart),addEventListener$1(n,"compositionend",onCompositionEnd),addEventListener$1(n,"change",onCompositionEnd))},mounted(n,{value:r}){n.value=null==r?"":r},beforeUpdate(n,{value:r,oldValue:o,modifiers:{lazy:a,trim:s,number:l}},c){if(n[assignKey]=getModelAssigner(c),n.composing)return;const u=null==r?"":r;if((!l&&"number"!==n.type||/^0\d/.test(n.value)?n.value:looseToNumber(n.value))!==u){if(document.activeElement===n&&"range"!==n.type){if(a&&r===o)return;if(s&&n.value.trim()===u)return}n.value=u}}},vModelCheckbox={deep:!0,created(n,r,o){n[assignKey]=getModelAssigner(o),addEventListener$1(n,"change",(()=>{const r=n._modelValue,o=getValue$2(n),a=n.checked,s=n[assignKey];if(isArray$3(r)){const n=looseIndexOf(r,o),l=-1!==n;if(a&&!l)s(r.concat(o));else if(!a&&l){const o=[...r];o.splice(n,1),s(o)}}else if(isSet(r)){const n=new Set(r);a?n.add(o):n.delete(o),s(n)}else s(getCheckboxValue(n,a))}))},mounted:setChecked,beforeUpdate(n,r,o){n[assignKey]=getModelAssigner(o),setChecked(n,r,o)}};function setChecked(n,{value:r,oldValue:o},a){let s;if(n._modelValue=r,isArray$3(r))s=looseIndexOf(r,a.props.value)>-1;else if(isSet(r))s=r.has(a.props.value);else{if(r===o)return;s=looseEqual(r,getCheckboxValue(n,!0))}n.checked!==s&&(n.checked=s)}const vModelRadio={created(n,{value:r},o){n.checked=looseEqual(r,o.props.value),n[assignKey]=getModelAssigner(o),addEventListener$1(n,"change",(()=>{n[assignKey](getValue$2(n))}))},beforeUpdate(n,{value:r,oldValue:o},a){n[assignKey]=getModelAssigner(a),r!==o&&(n.checked=looseEqual(r,a.props.value))}},vModelSelect={deep:!0,created(n,{value:r,modifiers:{number:o}},a){const s=isSet(r);addEventListener$1(n,"change",(()=>{const r=Array.prototype.filter.call(n.options,(n=>n.selected)).map((n=>o?looseToNumber(getValue$2(n)):getValue$2(n)));n[assignKey](n.multiple?s?new Set(r):r:r[0]),n._assigning=!0,nextTick$2((()=>{n._assigning=!1}))})),n[assignKey]=getModelAssigner(a)},mounted(n,{value:r}){setSelected(n,r)},beforeUpdate(n,r,o){n[assignKey]=getModelAssigner(o)},updated(n,{value:r}){n._assigning||setSelected(n,r)}};function setSelected(n,r){const o=n.multiple,a=isArray$3(r);if(!o||a||isSet(r)){for(let s=0,l=n.options.length;s<l;s++){const l=n.options[s],c=getValue$2(l);if(o)if(a){const n=typeof c;l.selected="string"===n||"number"===n?r.some((n=>String(n)===String(c))):looseIndexOf(r,c)>-1}else l.selected=r.has(c);else if(looseEqual(getValue$2(l),r))return void(n.selectedIndex!==s&&(n.selectedIndex=s))}o||-1===n.selectedIndex||(n.selectedIndex=-1)}}function getValue$2(n){return"_value"in n?n._value:n.value}function getCheckboxValue(n,r){const o=r?"_trueValue":"_falseValue";return o in n?n[o]:r}const vModelDynamic={created(n,r,o){callModelHook(n,r,o,null,"created")},mounted(n,r,o){callModelHook(n,r,o,null,"mounted")},beforeUpdate(n,r,o,a){callModelHook(n,r,o,a,"beforeUpdate")},updated(n,r,o,a){callModelHook(n,r,o,a,"updated")}};function resolveDynamicModel(n,r){switch(n){case"SELECT":return vModelSelect;case"TEXTAREA":return vModelText;default:switch(r){case"checkbox":return vModelCheckbox;case"radio":return vModelRadio;default:return vModelText}}}function callModelHook(n,r,o,a,s){const l=resolveDynamicModel(n.tagName,o.props&&o.props.type)[s];l&&l(n,r,o,a)}function initVModelForSSR(){vModelText.getSSRProps=({value:n})=>({value:n}),vModelRadio.getSSRProps=({value:n},r)=>{if(r.props&&looseEqual(r.props.value,n))return{checked:!0}},vModelCheckbox.getSSRProps=({value:n},r)=>{if(isArray$3(n)){if(r.props&&looseIndexOf(n,r.props.value)>-1)return{checked:!0}}else if(isSet(n)){if(r.props&&n.has(r.props.value))return{checked:!0}}else if(n)return{checked:!0}},vModelDynamic.getSSRProps=(n,r)=>{if("string"!=typeof r.type)return;const o=resolveDynamicModel(r.type.toUpperCase(),r.props&&r.props.type);return o.getSSRProps?o.getSSRProps(n,r):void 0}}const systemModifiers=["ctrl","shift","alt","meta"],modifierGuards={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&0!==n.button,middle:n=>"button"in n&&1!==n.button,right:n=>"button"in n&&2!==n.button,exact:(n,r)=>systemModifiers.some((o=>n[`${o}Key`]&&!r.includes(o)))},withModifiers=(n,r)=>{const o=n._withMods||(n._withMods={}),a=r.join(".");return o[a]||(o[a]=(o,...a)=>{for(let n=0;n<r.length;n++){const a=modifierGuards[r[n]];if(a&&a(o,r))return}return n(o,...a)})},keyNames={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},withKeys=(n,r)=>{const o=n._withKeys||(n._withKeys={}),a=r.join(".");return o[a]||(o[a]=o=>{if(!("key"in o))return;const a=hyphenate(o.key);return r.some((n=>n===a||keyNames[n]===a))?n(o):void 0})},rendererOptions=extend$2({patchProp:patchProp},nodeOps);let renderer,enabledHydration=!1;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}function ensureHydrationRenderer(){return renderer=enabledHydration?renderer:createHydrationRenderer(rendererOptions),enabledHydration=!0,renderer}const render=(...n)=>{ensureRenderer().render(...n)},hydrate=(...n)=>{ensureHydrationRenderer().hydrate(...n)},createApp=(...n)=>{const r=ensureRenderer().createApp(...n),{mount:o}=r;return r.mount=n=>{const a=normalizeContainer(n);if(!a)return;const s=r._component;isFunction$1(s)||s.render||s.template||(s.template=a.innerHTML),1===a.nodeType&&(a.textContent="");const l=o(a,!1,resolveRootNamespace(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),l},r},createSSRApp=(...n)=>{const r=ensureHydrationRenderer().createApp(...n),{mount:o}=r;return r.mount=n=>{const r=normalizeContainer(n);if(r)return o(r,!0,resolveRootNamespace(r))},r};function resolveRootNamespace(n){return n instanceof SVGElement?"svg":"function"==typeof MathMLElement&&n instanceof MathMLElement?"mathml":void 0}function normalizeContainer(n){if(isString$1(n)){return document.querySelector(n)}return n}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,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,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$2,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(n,r){let o;function a(){o=effectScope(),o.run((()=>r.length?r((()=>{o?.stop(),a()})):r()))}watch(n,(n=>{n&&!o?a():n||(o?.stop(),o=void 0)}),{immediate:!0}),onScopeDispose((()=>{o?.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(n,r,o){_checkPrivateRedeclaration(n,r),r.set(n,o)}function _checkPrivateRedeclaration(n,r){if(r.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldSet(n,r,o){return n.set(_assertClassBrand(n,r),o),o}function _classPrivateFieldGet(n,r){return n.get(_assertClassBrand(n,r))}function _assertClassBrand(n,r,o){if("function"==typeof n?n===r:n.has(r))return arguments.length<3?r:o;throw new TypeError("Private element is not present on this object")}function getNestedValue(n,r,o){const a=r.length-1;if(a<0)return void 0===n?o:n;for(let s=0;s<a;s++){if(null==n)return o;n=n[r[s]]}return null==n||void 0===n[r[a]]?o:n[r[a]]}function deepEqual(n,r){if(n===r)return!0;if(n instanceof Date&&r instanceof Date&&n.getTime()!==r.getTime())return!1;if(n!==Object(n)||r!==Object(r))return!1;const o=Object.keys(n);return o.length===Object.keys(r).length&&o.every((o=>deepEqual(n[o],r[o])))}function getObjectValueByPath(n,r,o){return null!=n&&r&&"string"==typeof r?void 0!==n[r]?n[r]:getNestedValue(n,(r=(r=r.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o):o}function getPropertyFromItem(n,r,o){if(!0===r)return void 0===n?o:n;if(null==r||"boolean"==typeof r)return o;if(n!==Object(n)){if("function"!=typeof r)return o;const a=r(n,o);return void 0===a?o:a}if("string"==typeof r)return getObjectValueByPath(n,r,o);if(Array.isArray(r))return getNestedValue(n,r,o);if("function"!=typeof r)return o;const a=r(n,o);return void 0===a?o:a}function createRange(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Array.from({length:n},((n,o)=>r+o))}function convertToUnit(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px";return null==n||""===n?void 0:isNaN(+n)?String(n):isFinite(+n)?`${Number(n)}${r}`:void 0}function isObject$1(n){return null!==n&&"object"==typeof n&&!Array.isArray(n)}function isPlainObject$3(n){let r;return null!==n&&"object"==typeof n&&((r=Object.getPrototypeOf(n))===Object.prototype||null===r)}function refElement(n){if(n&&"$el"in n){const r=n.$el;return r?.nodeType===Node.TEXT_NODE?r.nextElementSibling:r}return n}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$2(n){return Object.keys(n)}function has(n,r){return r.every((r=>n.hasOwnProperty(r)))}function pick$2(n,r){const o={};for(const a of r)Object.hasOwn(n,a)&&(o[a]=n[a]);return o}function pickWithRest(n,r,o){const a=Object.create(null),s=Object.create(null);for(const l in n)r.some((n=>n instanceof RegExp?n.test(l):n===l))?a[l]=n[l]:s[l]=n[l];return[a,s]}function omit(n,r){const o={...n};return r.forEach((n=>delete o[n])),o}const onRE=/^on[^a-z]/,isOn=n=>onRE.test(n),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(n){return n.isComposing&&compositionIgnoreKeys.includes(n.key)}function filterInputAttrs(n){const[r,o]=pickWithRest(n,[onRE]),a=omit(r,bubblingEvents),[s,l]=pickWithRest(o,["class","style","id",/^data-/]);return Object.assign(s,r),Object.assign(l,a),[s,l]}function wrapInArray(n){return null==n?[]:Array.isArray(n)?n:[n]}function debounce(n,r){let o=0;const a=function(){for(var a=arguments.length,s=new Array(a),l=0;l<a;l++)s[l]=arguments[l];clearTimeout(o),o=setTimeout((()=>n(...s)),unref(r))};return a.clear=()=>{clearTimeout(o)},a.immediate=n,a}function clamp(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(r,Math.min(o,n))}function getDecimals(n){const r=n.toString().trim();return r.includes(".")?r.length-r.indexOf(".")-1:0}function padEnd(n,r){return n+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0").repeat(Math.max(0,r-n.length))}function padStart(n,r){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0").repeat(Math.max(0,r-n.length))+n}function chunk(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const o=[];let a=0;for(;a<n.length;)o.push(n.substr(a,r)),a+=r;return o}function humanReadableFileSize(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;if(n<r)return`${n} B`;const o=1024===r?["Ki","Mi","Gi"]:["k","M","G"];let a=-1;for(;Math.abs(n)>=r&&a<o.length-1;)n/=r,++a;return`${n.toFixed(1)} ${o[a]}B`}function mergeDeep(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;const a={};for(const s in n)a[s]=n[s];for(const s in r){const l=n[s],c=r[s];isPlainObject$3(l)&&isPlainObject$3(c)?a[s]=mergeDeep(l,c,o):o&&Array.isArray(l)&&Array.isArray(c)?a[s]=o(l,c):a[s]=c}return a}function flattenFragments(n){return n.map((n=>n.type===Fragment?flattenFragments(n.children):n)).flat()}function toKebabCase(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(toKebabCase.cache.has(n))return toKebabCase.cache.get(n);const r=n.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return toKebabCase.cache.set(n,r),r}function findChildrenWithProvide(n,r){if(!r||"object"!=typeof r)return[];if(Array.isArray(r))return r.map((r=>findChildrenWithProvide(n,r))).flat(1);if(r.suspense)return findChildrenWithProvide(n,r.ssContent);if(Array.isArray(r.children))return r.children.map((r=>findChildrenWithProvide(n,r))).flat(1);if(r.component){if(Object.getOwnPropertySymbols(r.component.provides).includes(n))return[r.component];if(r.component.subTree)return findChildrenWithProvide(n,r.component.subTree).flat(1)}return[]}toKebabCase.cache=new Map;var _arr=new WeakMap,_pointer=new WeakMap;class CircularBuffer{constructor(n){_classPrivateFieldInitSpec(this,_arr,[]),_classPrivateFieldInitSpec(this,_pointer,0),this.size=n}push(n){_classPrivateFieldGet(_arr,this)[_classPrivateFieldGet(_pointer,this)]=n,_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(n){return"touches"in n?{clientX:n.touches[0].clientX,clientY:n.touches[0].clientY}:{clientX:n.clientX,clientY:n.clientY}}function destructComputed(n){const r=reactive({}),o=computed(n);return watchEffect((()=>{for(const n in o.value)r[n]=o.value[n]}),{flush:"sync"}),toRefs(r)}function includes(n,r){return n.includes(r)}function eventName(n){return n[2].toLowerCase()+n.slice(3)}const EventProp=()=>[Function,Array];function hasEvent(n,r){return!!(n[r="on"+capitalize(r)]||n[`${r}Once`]||n[`${r}Capture`]||n[`${r}OnceCapture`]||n[`${r}CaptureOnce`])}function callEvent(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];if(Array.isArray(n))for(const s of n)s(...o);else"function"==typeof n&&n(...o)}function focusableChildren(n){let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const o=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map((n=>`${n}${r?':not([tabindex="-1"])':""}:not([disabled])`)).join(", ");return[...n.querySelectorAll(o)]}function getNextElement(n,r,o){let a,s=n.indexOf(document.activeElement);const l="next"===r?1:-1;do{s+=l,a=n[s]}while((!a||null==a.offsetParent||!(o?.(a)??1))&&s<n.length&&s>=0);return a}function focusChild(n,r){const o=focusableChildren(n);if(r)if("first"===r)o[0]?.focus();else if("last"===r)o.at(-1)?.focus();else if("number"==typeof r)o[r]?.focus();else{const a=getNextElement(o,r);a?a.focus():focusChild(n,"next"===r?"first":"last")}else n!==document.activeElement&&n.contains(document.activeElement)||o[0]?.focus()}function isEmpty(n){return null==n||"string"==typeof n&&""===n.trim()}function noop$2(){}function matchesSelector$2(n,r){if(!(IN_BROWSER&&"undefined"!=typeof CSS&&void 0!==CSS.supports&&CSS.supports(`selector(${r})`)))return null;try{return!!n&&n.matches(r)}catch(o){return null}}function ensureValidVNode(n){return n.some((n=>!isVNode(n)||n.type!==Comment&&(n.type!==Fragment||ensureValidVNode(n.children))))?n:null}function defer(n,r){if(!IN_BROWSER||0===n)return r(),()=>{};const o=window.setTimeout(r,n);return()=>window.clearTimeout(o)}function isClickInsideElement(n,r){const o=n.clientX,a=n.clientY,s=r.getBoundingClientRect(),l=s.left,c=s.top,u=s.right,d=s.bottom;return o>=l&&o<=u&&a>=c&&a<=d}function templateRef(){const n=shallowRef(),r=r=>{n.value=r};return Object.defineProperty(r,"value",{enumerable:!0,get:()=>n.value,set:r=>n.value=r}),Object.defineProperty(r,"el",{enumerable:!0,get:()=>refElement(n.value)}),r}function checkPrintable(n){const r=1===n.key.length,o=!n.ctrlKey&&!n.metaKey&&!n.altKey;return r&&o}function isPrimitive(n){return"string"==typeof n||"number"==typeof n||"boolean"==typeof n||"bigint"==typeof n}const block=["top","bottom"],inline=["start","end","left","right"];function parseAnchor(n,r){let[o,a]=n.split(" ");return a||(a=includes(block,o)?"start":includes(inline,o)?"top":"center"),{side:toPhysical(o,r),align:toPhysical(a,r)}}function toPhysical(n,r){return"start"===n?r?"right":"left":"end"===n?r?"left":"right":n}function flipSide(n){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.side],align:n.align}}function flipAlign(n){return{side:n.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.align]}}function flipCorner(n){return{side:n.align,align:n.side}}function getAxis(n){return includes(block,n.side)?"y":"x"}class Box{constructor(n){let{x:r,y:o,width:a,height:s}=n;this.x=r,this.y=o,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(n,r){return{x:{before:Math.max(0,r.left-n.left),after:Math.max(0,n.right-r.right)},y:{before:Math.max(0,r.top-n.top),after:Math.max(0,n.bottom-r.bottom)}}}function getTargetBox(n){return Array.isArray(n)?new Box({x:n[0],y:n[1],width:0,height:0}):n.getBoundingClientRect()}function nullifyTransforms(n){const r=n.getBoundingClientRect(),o=getComputedStyle(n),a=o.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(r);s=a.slice(7,-1).split(/, /),l=+s[0],c=+s[3],u=+s[4],d=+s[5]}const f=o.transformOrigin,m=r.x-u-(1-l)*parseFloat(f),g=r.y-d-(1-c)*parseFloat(f.slice(f.indexOf(" ")+1)),b=l?r.width/l:n.offsetWidth+1,S=c?r.height/c:n.offsetHeight+1;return new Box({x:m,y:g,width:b,height:S})}return new Box(r)}function animate(n,r,o){if(void 0===n.animate)return{finished:Promise.resolve()};let a;try{a=n.animate(r,o)}catch(s){return{finished:Promise.resolve()}}return void 0===a.finished&&(a.finished=new Promise((n=>{a.onfinish=()=>{n(a)}}))),a}const handlers=new WeakMap;function bindProps(n,r){Object.keys(r).forEach((o=>{if(isOn(o)){const a=eventName(o),s=handlers.get(n);if(null==r[o])s?.forEach((r=>{const[o,l]=r;o===a&&(n.removeEventListener(a,l),s.delete(r))}));else if(!s||![...s]?.some((n=>n[0]===a&&n[1]===r[o]))){n.addEventListener(a,r[o]);const l=s||new Set;l.add([a,r[o]]),handlers.has(n)||handlers.set(n,l)}}else null==r[o]?n.removeAttribute(o):n.setAttribute(o,r[o])}))}function unbindProps(n,r){Object.keys(r).forEach((r=>{if(isOn(r)){const o=eventName(r),a=handlers.get(n);a?.forEach((r=>{const[s,l]=r;s===o&&(n.removeEventListener(o,l),a.delete(r))}))}else n.removeAttribute(r)}))}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(n,r){const o=(n.r/255)**mainTRC,a=(n.g/255)**mainTRC,s=(n.b/255)**mainTRC,l=(r.r/255)**mainTRC,c=(r.g/255)**mainTRC,u=(r.b/255)**mainTRC;let d,f=o*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 n=(m**normBG-f**normTXT)*scaleBoW;d=n<loClip?0:n<loConThresh?n-n*loConFactor*loConOffset:n-loConOffset}else{const n=(m**revBG-f**revTXT)*scaleWoB;d=n>-loClip?0:n>-loConThresh?n-n*loConFactor*loConOffset:n+loConOffset}return 100*d}function consoleWarn(n){}function consoleError(n){}function deprecate$1(n,r){r=Array.isArray(r)?r.slice(0,-1).map((n=>`'${n}'`)).join(", ")+` or '${r.at(-1)}'`:`'${r}'`}const delta=.20689655172413793,cielabForwardTransform=n=>n>delta**3?Math.cbrt(n):n/(3*delta**2)+4/29,cielabReverseTransform=n=>n>delta?n**3:3*delta**2*(n-4/29);function fromXYZ$1(n){const r=cielabForwardTransform,o=r(n[1]);return[116*o-16,500*(r(n[0]/.95047)-o),200*(o-r(n[2]/1.08883))]}function toXYZ$1(n){const r=cielabReverseTransform,o=(n[0]+16)/116;return[.95047*r(o+n[1]/500),r(o),1.08883*r(o-n[2]/200)]}const srgbForwardMatrix=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],srgbForwardTransform=n=>n<=.0031308?12.92*n:1.055*n**(1/2.4)-.055,srgbReverseMatrix=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],srgbReverseTransform=n=>n<=.04045?n/12.92:((n+.055)/1.055)**2.4;function fromXYZ(n){const r=Array(3),o=srgbForwardTransform,a=srgbForwardMatrix;for(let s=0;s<3;++s)r[s]=Math.round(255*clamp(o(a[s][0]*n[0]+a[s][1]*n[1]+a[s][2]*n[2])));return{r:r[0],g:r[1],b:r[2]}}function toXYZ(n){let{r:r,g:o,b:a}=n;const s=[0,0,0],l=srgbReverseTransform,c=srgbReverseMatrix;r=l(r/255),o=l(o/255),a=l(a/255);for(let u=0;u<3;++u)s[u]=c[u][0]*r+c[u][1]*o+c[u][2]*a;return s}function isCssColor(n){return!!n&&/^(#|var\(--|(rgb|hsl)a?\()/.test(n)}function isParsableColor(n){return isCssColor(n)&&!/^((rgb|hsl)a?\()?var\(--/.test(n)}const cssColorRe=/^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/,mappers={rgb:(n,r,o,a)=>({r:n,g:r,b:o,a:a}),rgba:(n,r,o,a)=>({r:n,g:r,b:o,a:a}),hsl:(n,r,o,a)=>HSLtoRGB({h:n,s:r,l:o,a:a}),hsla:(n,r,o,a)=>HSLtoRGB({h:n,s:r,l:o,a:a}),hsv:(n,r,o,a)=>HSVtoRGB({h:n,s:r,v:o,a:a}),hsva:(n,r,o,a)=>HSVtoRGB({h:n,s:r,v:o,a:a})};function parseColor(n){if("number"==typeof n)return{r:(16711680&n)>>16,g:(65280&n)>>8,b:255&n};if("string"==typeof n&&cssColorRe.test(n)){const{groups:r}=n.match(cssColorRe),{fn:o,values:a}=r,s=a.split(/,\s*/).map((n=>n.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(o)?parseFloat(n)/100:parseFloat(n)));return mappers[o](...s)}if("string"==typeof n){let r=n.startsWith("#")?n.slice(1):n;return[3,4].includes(r.length)?r=r.split("").map((n=>n+n)).join(""):[6,8].includes(r.length),HexToRGB(r)}if("object"==typeof n){if(has(n,["r","g","b"]))return n;if(has(n,["h","s","l"]))return HSVtoRGB(HSLtoHSV(n));if(has(n,["h","s","v"]))return HSVtoRGB(n)}throw new TypeError(`Invalid color: ${null==n?n:String(n)||n.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function HSVtoRGB(n){const{h:r,s:o,v:a,a:s}=n,l=n=>{const s=(n+r/60)%6;return a-a*o*Math.max(Math.min(s,4-s,1),0)},c=[l(5),l(3),l(1)].map((n=>Math.round(255*n)));return{r:c[0],g:c[1],b:c[2],a:s}}function HSLtoRGB(n){return HSVtoRGB(HSLtoHSV(n))}function RGBtoHSV(n){if(!n)return{h:0,s:1,v:1,a:1};const r=n.r/255,o=n.g/255,a=n.b/255,s=Math.max(r,o,a),l=Math.min(r,o,a);let c=0;s!==l&&(s===r?c=60*(0+(o-a)/(s-l)):s===o?c=60*(2+(a-r)/(s-l)):s===a&&(c=60*(4+(r-o)/(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:n.a}}function HSVtoHSL(n){const{h:r,s:o,v:a,a:s}=n,l=a-a*o/2;return{h:r,s:1===l||0===l?0:(a-l)/Math.min(l,1-l),l:l,a:s}}function HSLtoHSV(n){const{h:r,s:o,l:a,a:s}=n,l=a+o*Math.min(a,1-a);return{h:r,s:0===l?0:2-2*a/l,v:l,a:s}}function RGBtoCSS(n){let{r:r,g:o,b:a,a:s}=n;return void 0===s?`rgb(${r}, ${o}, ${a})`:`rgba(${r}, ${o}, ${a}, ${s})`}function HSVtoCSS(n){return RGBtoCSS(HSVtoRGB(n))}function toHex(n){const r=Math.round(n).toString(16);return("00".substr(0,2-r.length)+r).toUpperCase()}function RGBtoHex(n){let{r:r,g:o,b:a,a:s}=n;return`#${[toHex(r),toHex(o),toHex(a),void 0!==s?toHex(Math.round(255*s)):""].join("")}`}function HexToRGB(n){n=parseHex(n);let[r,o,a,s]=chunk(n,2).map((n=>parseInt(n,16)));return s=void 0===s?s:s/255,{r:r,g:o,b:a,a:s}}function HexToHSV(n){return RGBtoHSV(HexToRGB(n))}function HSVtoHex(n){return RGBtoHex(HSVtoRGB(n))}function parseHex(n){return n.startsWith("#")&&(n=n.slice(1)),3!==(n=n.replace(/([^0-9a-f])/gi,"F")).length&&4!==n.length||(n=n.split("").map((n=>n+n)).join("")),6!==n.length&&(n=padEnd(padEnd(n,6),8,"F")),n}function lighten(n,r){const o=fromXYZ$1(toXYZ(n));return o[0]=o[0]+10*r,fromXYZ(toXYZ$1(o))}function darken(n,r){const o=fromXYZ$1(toXYZ(n));return o[0]=o[0]-10*r,fromXYZ(toXYZ$1(o))}function getLuma(n){return toXYZ(parseColor(n))[1]}function getContrast(n,r){const o=getLuma(n),a=getLuma(r);return(Math.max(o,a)+.05)/(Math.min(o,a)+.05)}function getForeground(n){const r=Math.abs(APCAcontrast(parseColor(0),parseColor(n)));return Math.abs(APCAcontrast(parseColor(16777215),parseColor(n)))>Math.min(r,50)?"#fff":"#000"}function propsFactory(n,r){return o=>Object.keys(n).reduce(((a,s)=>{const l="object"==typeof n[s]&&null!=n[s]&&!Array.isArray(n[s])?n[s]:{type:n[s]};return a[s]=o&&s in o?{...l,default:o[s]}:l,r&&!a[s].source&&(a[s].source=r),a}),{})}const makeComponentProps=propsFactory({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function getCurrentInstance(n,r){const o=getCurrentInstance$1();if(!o)throw new Error(`[Vuetify] ${n} must be called from inside a setup function`);return o}function getCurrentInstanceName(){const n=getCurrentInstance(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"composables").type;return toKebabCase(n?.aliasName||n?.name)}let _uid=0,_map=new WeakMap;function getUid(){const n=getCurrentInstance("getUid");if(_map.has(n))return _map.get(n);{const r=_uid++;return _map.set(n,r),r}}function injectSelf(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstance("injectSelf");const{provides:o}=r;if(o&&n in o)return o[n]}getUid.reset=()=>{_uid=0,_map=new WeakMap};const DefaultsSymbol=Symbol.for("vuetify:defaults");function createDefaults(n){return ref(n)}function injectDefaults(){const n=inject$1(DefaultsSymbol);if(!n)throw new Error("[Vuetify] Could not find defaults instance");return n}function provideDefaults(n,r){const o=injectDefaults(),a=ref(n),s=computed((()=>{if(unref(r?.disabled))return o.value;const n=unref(r?.scoped),s=unref(r?.reset),l=unref(r?.root);if(null==a.value&&!(n||s||l))return o.value;let c=mergeDeep(a.value,{prev:o.value});if(n)return c;if(s||l){const n=Number(s||1/0);for(let r=0;r<=n&&(c&&"prev"in c);r++)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(n,r){return void 0!==n.props?.[r]||void 0!==n.props?.[toKebabCase(r)]}function internalUseDefaults(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:injectDefaults();const a=getCurrentInstance("useDefaults");if(r=r??a.type.name??a.type.__name,!r)throw new Error("[Vuetify] Could not determine component name");const s=computed((()=>o.value?.[n._as??r])),l=new Proxy(n,{get(n,r){const l=Reflect.get(n,r);return"class"===r||"style"===r?[s.value?.[r],l].filter((n=>null!=n)):"string"!=typeof r||propIsDefined(a.vnode,r)?l:void 0!==s.value?.[r]?s.value?.[r]:void 0!==o.value?.global?.[r]?o.value?.global?.[r]:l}}),c=shallowRef();return watchEffect((()=>{if(s.value){const n=Object.entries(s.value).filter((n=>{let[r]=n;return r.startsWith(r[0].toUpperCase())}));c.value=n.length?Object.fromEntries(n):void 0}else c.value=void 0})),{props:l,provideSubDefaults:function(){const n=injectSelf(DefaultsSymbol,a);provide(DefaultsSymbol,computed((()=>c.value?mergeDeep(n?.value??{},c.value):n?.value)))}}}function defineComponent(n){if(n._setup=n._setup??n.setup,!n.name)return n;if(n._setup){n.props=propsFactory(n.props??{},n.name)();const r=Object.keys(n.props).filter((n=>"class"!==n&&"style"!==n));n.filterProps=function(n){return pick$2(n,r)},n.props._as=String,n.setup=function(r,o){const a=injectDefaults();if(!a.value)return n._setup(r,o);const{props:s,provideSubDefaults:l}=internalUseDefaults(r,r._as??n.name,a),c=n._setup(s,o);return l(),c}}return n}function genericComponent(){let n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return r=>(n?defineComponent:defineComponent$1)(r)}function defineFunctionalComponent(n,r){return r.props=n,r}function createSimpleFunctional(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"div",o=arguments.length>2?arguments[2]:void 0;return genericComponent()({name:o??capitalize(camelize(n.replace(/__/g,"-"))),props:{tag:{type:String,default:r},...makeComponentProps()},setup(r,o){let{slots:a}=o;return()=>h$2(r.tag,{class:[n,r.class],style:r.style},a.default?.())}})}function attachedRoot(n){if("function"!=typeof n.getRootNode){for(;n.parentNode;)n=n.parentNode;return n!==document?null:document}const r=n.getRootNode();return r!==document&&r.getRootNode({composed:!0})!==document?null:r}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(n,r,o){return Object.keys(n).filter((n=>isOn(n)&&n.endsWith(r))).reduce(((a,s)=>(a[s.slice(0,-r.length)]=r=>n[s](r,o(r)),a)),{})}function getScrollParent(n){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(;n;){if(r?isPotentiallyScrollable(n):hasScrollbar(n))return n;n=n.parentElement}return document.scrollingElement}function getScrollParents(n,r){const o=[];if(r&&n&&!r.contains(n))return o;for(;n&&(hasScrollbar(n)&&o.push(n),n!==r);)n=n.parentElement;return o}function hasScrollbar(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const r=window.getComputedStyle(n);return"scroll"===r.overflowY||"auto"===r.overflowY&&n.scrollHeight>n.clientHeight}function isPotentiallyScrollable(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const r=window.getComputedStyle(n);return["scroll","auto"].includes(r.overflowY)}function isFixedPosition(n){for(;n;){if("fixed"===window.getComputedStyle(n).position)return!0;n=n.offsetParent}return!1}function useRender(n){getCurrentInstance("useRender").render=n}function useProxiedModel(n,r,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n=>n,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n=>n;const l=getCurrentInstance("useProxiedModel"),c=ref(void 0!==n[r]?n[r]:o),u=toKebabCase(r),d=computed(u!==r?()=>(n[r],!(!l.vnode.props?.hasOwnProperty(r)&&!l.vnode.props?.hasOwnProperty(u)||!l.vnode.props?.hasOwnProperty(`onUpdate:${r}`)&&!l.vnode.props?.hasOwnProperty(`onUpdate:${u}`))):()=>(n[r],!(!l.vnode.props?.hasOwnProperty(r)||!l.vnode.props?.hasOwnProperty(`onUpdate:${r}`))));useToggleScope((()=>!d.value),(()=>{watch((()=>n[r]),(n=>{c.value=n}))}));const f=computed({get(){const o=n[r];return a(d.value?o:c.value)},set(o){const u=s(o),f=toRaw(d.value?n[r]:c.value);f!==u&&a(f)!==o&&(c.value=u,l?.emit(`update:${r}`,u))}});return Object.defineProperty(f,"externalValue",{get:()=>d.value?n[r]:c.value}),f}const en$1={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=(n,r)=>n.replace(/\{(\d+)\}/g,((n,o)=>String(r[+o]))),createTranslateFunction=(n,r,o)=>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=n.value&&o.value[n.value],f=r.value&&o.value[r.value];let m=getObjectValueByPath(d,u,null);return m||(consoleWarn(`Translation key "${a}" not found in "${n.value}", trying fallback locale`),m=getObjectValueByPath(f,u,null)),m||(m=a),"string"!=typeof m&&(m=a),replace(m,l)};function createNumberFunction(n,r){return(o,a)=>new Intl.NumberFormat([n.value,r.value],a).format(o)}function useProvided(n,r,o){const a=useProxiedModel(n,r,n[r]??o.value);return a.value=n[r]??o.value,watch(o,(s=>{null==n[r]&&(a.value=o.value)})),a}function createProvideFunction(n){return r=>{const o=useProvided(r,"locale",n.current),a=useProvided(r,"fallback",n.fallback),s=useProvided(r,"messages",n.messages);return{name:"vuetify",current:o,fallback:a,messages:s,t:createTranslateFunction(o,a,s),n:createNumberFunction(o,a),provide:createProvideFunction({current:o,fallback:a,messages:s})}}}function createVuetifyAdapter(n){const r=shallowRef(n?.locale??"en"),o=shallowRef(n?.fallback??"en"),a=ref({en:en$1,...n?.messages});return{name:"vuetify",current:r,fallback:o,messages:a,t:createTranslateFunction(r,o,a),n:createNumberFunction(r,o),provide:createProvideFunction({current:r,fallback:o,messages:a})}}const LocaleSymbol=Symbol.for("vuetify:locale");function isLocaleInstance(n){return null!=n.name}function createLocale(n){const r=n?.adapter&&isLocaleInstance(n?.adapter)?n?.adapter:createVuetifyAdapter(n),o=createRtl(r,n);return{...r,...o}}function useLocale(){const n=inject$1(LocaleSymbol);if(!n)throw new Error("[Vuetify] Could not find injected locale instance");return n}function provideLocale(n){const r=inject$1(LocaleSymbol);if(!r)throw new Error("[Vuetify] Could not find injected locale instance");const o=r.provide(n),a=provideRtl(o,r.rtl,n),s={...o,...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(n,r){const o=ref(r?.rtl??genDefaults$3()),a=computed((()=>o.value[n.current.value]??!1));return{isRtl:a,rtl:o,rtlClasses:computed((()=>"v-locale--is-"+(a.value?"rtl":"ltr")))}}function provideRtl(n,r,o){const a=computed((()=>o.rtl??r.value[n.current.value]??!1));return{isRtl:a,rtl:r,rtlClasses:computed((()=>"v-locale--is-"+(a.value?"rtl":"ltr")))}}function useRtl(){const n=inject$1(LocaleSymbol);if(!n)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:n.isRtl,rtlClasses:n.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(n,r,o){const a=[];let s=[];const l=startOfMonth(n),c=endOfMonth(n),u=o??firstDay[r.slice(-2).toUpperCase()]??0,d=(l.getDay()-u+7)%7,f=(c.getDay()-u+7)%7;for(let m=0;m<d;m++){const n=new Date(l);n.setDate(n.getDate()-(d-m)),s.push(n)}for(let m=1;m<=c.getDate();m++){const r=new Date(n.getFullYear(),n.getMonth(),m);s.push(r),7===s.length&&(a.push(s),s=[])}for(let m=1;m<7-f;m++){const n=new Date(c);n.setDate(n.getDate()+m),s.push(n)}return s.length>0&&a.push(s),a}function startOfWeek(n,r,o){const a=o??firstDay[r.slice(-2).toUpperCase()]??0,s=new Date(n);for(;s.getDay()!==a;)s.setDate(s.getDate()-1);return s}function endOfWeek(n,r){const o=new Date(n),a=((firstDay[r.slice(-2).toUpperCase()]??0)+6)%7;for(;o.getDay()!==a;)o.setDate(o.getDate()+1);return o}function startOfMonth(n){return new Date(n.getFullYear(),n.getMonth(),1)}function endOfMonth(n){return new Date(n.getFullYear(),n.getMonth()+1,0)}function parseLocalDate(n){const r=n.split("-").map(Number);return new Date(r[0],r[1]-1,r[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(n){if(null==n)return new Date;if(n instanceof Date)return n;if("string"==typeof n){let r;if(_YYYMMDD.test(n))return parseLocalDate(n);if(r=Date.parse(n),!isNaN(r))return new Date(r)}return null}const sundayJanuarySecond2000=new Date(2e3,0,2);function getWeekdays(n,r){const o=r??firstDay[n.slice(-2).toUpperCase()]??0;return createRange(7).map((r=>{const a=new Date(sundayJanuarySecond2000);return a.setDate(sundayJanuarySecond2000.getDate()+o+r),new Intl.DateTimeFormat(n,{weekday:"narrow"}).format(a)}))}function format$1(n,r,o,a){const s=date(n)??new Date,l=a?.[r];if("function"==typeof l)return l(s,r,o);let c={};switch(r){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(o,{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(o).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(o,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(o,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(o,c).format(s).replace(/, /g," ");default:c=l??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(o,c).format(s)}function toISO(n,r){const o=n.toJsDate(r);return`${o.getFullYear()}-${padStart(String(o.getMonth()+1),2,"0")}-${padStart(String(o.getDate()),2,"0")}`}function parseISO(n){const[r,o,a]=n.split("-").map(Number);return new Date(r,o-1,a)}function addMinutes(n,r){const o=new Date(n);return o.setMinutes(o.getMinutes()+r),o}function addHours(n,r){const o=new Date(n);return o.setHours(o.getHours()+r),o}function addDays(n,r){const o=new Date(n);return o.setDate(o.getDate()+r),o}function addWeeks(n,r){const o=new Date(n);return o.setDate(o.getDate()+7*r),o}function addMonths(n,r){const o=new Date(n);return o.setDate(1),o.setMonth(o.getMonth()+r),o}function getYear(n){return n.getFullYear()}function getMonth(n){return n.getMonth()}function getDate(n){return n.getDate()}function getNextMonth(n){return new Date(n.getFullYear(),n.getMonth()+1,1)}function getPreviousMonth(n){return new Date(n.getFullYear(),n.getMonth()-1,1)}function getHours(n){return n.getHours()}function getMinutes(n){return n.getMinutes()}function startOfYear(n){return new Date(n.getFullYear(),0,1)}function endOfYear(n){return new Date(n.getFullYear(),11,31)}function isWithinRange(n,r){return isAfter$1(n,r[0])&&isBefore$1(n,r[1])}function isValid$3(n){const r=new Date(n);return r instanceof Date&&!isNaN(r.getTime())}function isAfter$1(n,r){return n.getTime()>r.getTime()}function isAfterDay(n,r){return isAfter$1(startOfDay(n),startOfDay(r))}function isBefore$1(n,r){return n.getTime()<r.getTime()}function isEqual(n,r){return n.getTime()===r.getTime()}function isSameDay(n,r){return n.getDate()===r.getDate()&&n.getMonth()===r.getMonth()&&n.getFullYear()===r.getFullYear()}function isSameMonth(n,r){return n.getMonth()===r.getMonth()&&n.getFullYear()===r.getFullYear()}function isSameYear(n,r){return n.getFullYear()===r.getFullYear()}function getDiff(n,r,o){const a=new Date(n),s=new Date(r);switch(o){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(n,r){const o=new Date(n);return o.setHours(r),o}function setMinutes(n,r){const o=new Date(n);return o.setMinutes(r),o}function setMonth$1(n,r){const o=new Date(n);return o.setMonth(r),o}function setDate(n,r){const o=new Date(n);return o.setDate(r),o}function setYear(n,r){const o=new Date(n);return o.setFullYear(r),o}function startOfDay(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0,0,0)}function endOfDay(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59,59,999)}class VuetifyDateAdapter{constructor(n){this.locale=n.locale,this.formats=n.formats}date(n){return date(n)}toJsDate(n){return n}toISO(n){return toISO(this,n)}parseISO(n){return parseISO(n)}addMinutes(n,r){return addMinutes(n,r)}addHours(n,r){return addHours(n,r)}addDays(n,r){return addDays(n,r)}addWeeks(n,r){return addWeeks(n,r)}addMonths(n,r){return addMonths(n,r)}getWeekArray(n,r){return getWeekArray(n,this.locale,r?Number(r):void 0)}startOfWeek(n,r){return startOfWeek(n,this.locale,r?Number(r):void 0)}endOfWeek(n){return endOfWeek(n,this.locale)}startOfMonth(n){return startOfMonth(n)}endOfMonth(n){return endOfMonth(n)}format(n,r){return format$1(n,r,this.locale,this.formats)}isEqual(n,r){return isEqual(n,r)}isValid(n){return isValid$3(n)}isWithinRange(n,r){return isWithinRange(n,r)}isAfter(n,r){return isAfter$1(n,r)}isAfterDay(n,r){return isAfterDay(n,r)}isBefore(n,r){return!isAfter$1(n,r)&&!isEqual(n,r)}isSameDay(n,r){return isSameDay(n,r)}isSameMonth(n,r){return isSameMonth(n,r)}isSameYear(n,r){return isSameYear(n,r)}setMinutes(n,r){return setMinutes(n,r)}setHours(n,r){return setHours(n,r)}setMonth(n,r){return setMonth$1(n,r)}setDate(n,r){return setDate(n,r)}setYear(n,r){return setYear(n,r)}getDiff(n,r,o){return getDiff(n,r,o)}getWeekdays(n){return getWeekdays(this.locale,n?Number(n):void 0)}getYear(n){return getYear(n)}getMonth(n){return getMonth(n)}getDate(n){return getDate(n)}getNextMonth(n){return getNextMonth(n)}getPreviousMonth(n){return getPreviousMonth(n)}getHours(n){return getHours(n)}getMinutes(n){return getMinutes(n)}startOfDay(n){return startOfDay(n)}endOfDay(n){return endOfDay(n)}startOfYear(n){return startOfYear(n)}endOfYear(n){return endOfYear(n)}}const DateOptionsSymbol=Symbol.for("vuetify:date-options"),DateAdapterSymbol=Symbol.for("vuetify:date-adapter");function createDate$1(n,r){const o=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"}},n);return{options:o,instance:createInstance(o,r)}}function createInstance(n,r){const o=reactive("function"==typeof n.adapter?new n.adapter({locale:n.locale[r.current.value]??r.current.value,formats:n.formats}):n.adapter);return watch(r.current,(r=>{o.locale=n.locale[r]??r??o.locale})),o}function useDate(){const n=inject$1(DateOptionsSymbol);if(!n)throw new Error("[Vuetify] Could not find injected date options");return createInstance(n,useLocale())}function getWeek(n,r){const o=n.toJsDate(r);let a=o.getFullYear(),s=new Date(a,0,1);if(o<s)a-=1,s=new Date(a,0,1);else{const n=new Date(a+1,0,1);o>=n&&(a+=1,s=n)}const l=Math.abs(o.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(n){return IN_BROWSER&&!n?window.innerWidth:"object"==typeof n&&n.clientWidth||0}function getClientHeight(n){return IN_BROWSER&&!n?window.innerHeight:"object"==typeof n&&n.clientHeight||0}function getPlatform(n){const r=IN_BROWSER&&!n?window.navigator.userAgent:"ssr";function o(n){return Boolean(r.match(n))}return{android:o(/android/i),ios:o(/iphone|ipad|ipod/i),cordova:o(/cordova/i),electron:o(/electron/i),chrome:o(/chrome/i),edge:o(/edge/i),firefox:o(/firefox/i),opera:o(/opera/i),win:o(/win/i),mac:o(/mac/i),linux:o(/linux/i),touch:SUPPORTS_TOUCH,ssr:"ssr"===r}}function createDisplay(n,r){const{thresholds:o,mobileBreakpoint:a}=parseDisplayOptions(n),s=shallowRef(getClientHeight(r)),l=shallowRef(getPlatform(r)),c=reactive({}),u=shallowRef(getClientWidth(r));function d(){s.value=getClientHeight(),u.value=getClientWidth()}return watchEffect((()=>{const n=u.value<o.sm,r=u.value<o.md&&!n,d=u.value<o.lg&&!(r||n),f=u.value<o.xl&&!(d||r||n),m=u.value<o.xxl&&!(f||d||r||n),g=u.value>=o.xxl,b=n?"xs":r?"sm":d?"md":f?"lg":m?"xl":"xxl",S="number"==typeof a?a:o[a],k=u.value<S;c.xs=n,c.sm=r,c.md=d,c.lg=f,c.xl=m,c.xxl=g,c.smAndUp=!n,c.mdAndUp=!(n||r),c.lgAndUp=!(n||r||d),c.xlAndUp=!(n||r||d||f),c.smAndDown=!(d||f||m||g),c.mdAndDown=!(f||m||g),c.lgAndDown=!(m||g),c.xlAndDown=!g,c.name=b,c.height=s.value,c.width=u.value,c.mobile=k,c.mobileBreakpoint=a,c.platform=l.value,c.thresholds=o})),IN_BROWSER&&window.addEventListener("resize",d,{passive:!0}),{...toRefs(c),update:function(){d(),l.value=getPlatform()},ssr:!!r}}const makeDisplayProps=propsFactory({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function useDisplay(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{mobile:null},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const o=inject$1(DisplaySymbol);if(!o)throw new Error("Could not find Vuetify display injection");const a=computed((()=>!!n.mobile||("number"==typeof n.mobileBreakpoint?o.width.value<n.mobileBreakpoint:n.mobileBreakpoint?o.width.value<o.thresholds.value[n.mobileBreakpoint]:null===n.mobile&&o.mobile.value))),s=computed((()=>r?{[`${r}--mobile`]:a.value}:{}));return{...o,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:n=>n,easeInQuad:n=>n**2,easeOutQuad:n=>n*(2-n),easeInOutQuad:n=>n<.5?2*n**2:(4-2*n)*n-1,easeInCubic:n=>n**3,easeOutCubic:n=>--n**3+1,easeInOutCubic:n=>n<.5?4*n**3:(n-1)*(2*n-2)*(2*n-2)+1,easeInQuart:n=>n**4,easeOutQuart:n=>1- --n**4,easeInOutQuart:n=>n<.5?8*n**4:1-8*--n**4,easeInQuint:n=>n**5,easeOutQuint:n=>1+--n**5,easeInOutQuint:n=>n<.5?16*n**5:1+16*--n**5}}}function getContainer(n){return getTarget$1(n)??(document.scrollingElement||document.body)}function getTarget$1(n){return"string"==typeof n?document.querySelector(n):refElement(n)}function getOffset$2(n,r,o){if("number"==typeof n)return r&&o?-n:n;let a=getTarget$1(n),s=0;for(;a;)s+=r?a.offsetLeft:a.offsetTop,a=a.offsetParent;return s}function createGoTo(n,r){return{rtl:r.isRtl,options:mergeDeep(genDefaults$2(),n)}}async function scrollTo(n,r,o,a){const s=o?"scrollLeft":"scrollTop",l=mergeDeep(a?.options??genDefaults$2(),r),c=a?.rtl.value,u=("number"==typeof n?n:getTarget$1(n))??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,o,c);else if(m=getOffset$2(u,o,c)-getOffset$2(d,o,c),l.layout){const n=window.getComputedStyle(u).getPropertyValue("--v-layout-top");n&&(m-=parseInt(n,10))}m+=l.offset,m=clampTarget(d,m,!!c,!!o);const g=d[s]??0;if(m===g)return Promise.resolve(m);const b=performance.now();return new Promise((n=>requestAnimationFrame((function r(o){const a=(o-b)/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?n(m):a>2?n(d[s]):void requestAnimationFrame(r)}))))}function useGoTo(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=inject$1(GoToSymbol),{isRtl:o}=useRtl();if(!r)throw new Error("[Vuetify] Could not find injected goto instance");const a={...r,rtl:computed((()=>r.rtl.value||o.value))};async function s(r,o){return scrollTo(r,mergeDeep(n,o),!1,a)}return s.horizontal=async(r,o)=>scrollTo(r,mergeDeep(n,o),!0,a),s}function clampTarget(n,r,o,a){const{scrollWidth:s,scrollHeight:l}=n,[c,u]=n===document.scrollingElement?[window.innerWidth,window.innerHeight]:[n.offsetWidth,n.offsetHeight];let d,f;return a?o?(d=-(s-c),f=0):(d=0,f=s-c):(d=0,f=l+-u),Math.max(Math.min(r,f),d)}const aliases$1={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:n=>h$2(VClassIcon,{...n,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(n,r){let{slots:o}=r;return()=>{const r=n.icon;return createVNode(n.tag,null,{default:()=>[n.icon?createVNode(r,null,null):o.default?.()]})}}}),VSvgIcon=defineComponent({name:"VSvgIcon",inheritAttrs:!1,props:makeIconProps(),setup(n,r){let{attrs:o}=r;return()=>createVNode(n.tag,mergeProps(o,{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(n.icon)?n.icon.map((n=>Array.isArray(n)?createVNode("path",{d:n[0],"fill-opacity":n[1]},null):createVNode("path",{d:n},null))):createVNode("path",{d:n.icon},null)])]})}}),VLigatureIcon=defineComponent({name:"VLigatureIcon",props:makeIconProps(),setup:n=>()=>createVNode(n.tag,null,{default:()=>[n.icon]})}),VClassIcon=defineComponent({name:"VClassIcon",props:makeIconProps(),setup:n=>()=>createVNode(n.tag,{class:n.icon},null)});function genDefaults$1(){return{svg:{component:VSvgIcon},class:{component:VClassIcon}}}function createIcons(n){const r=genDefaults$1(),o=n?.defaultSet??"mdi";return"mdi"!==o||r.mdi||(r.mdi=mdi),mergeDeep({defaultSet:o,sets:r,aliases:{...aliases$1,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]]}},n)}const useIcon=n=>{const r=inject$1(IconSymbol);if(!r)throw new Error("Missing Vuetify Icons provide!");return{iconData:computed((()=>{const o=unref(n);if(!o)return{component:VComponentIcon};let a=o;if("string"==typeof a&&(a=a.trim(),a.startsWith("$")&&(a=r.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(r.sets).find((n=>"string"==typeof a&&a.startsWith(`${n}:`))),l=s?a.slice(s.length+1):a;return{component:r.sets[s??r.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 n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:genDefaults();const r=genDefaults();if(!n)return{...r,isDisabled:!0};const o={};for(const[a,s]of Object.entries(n.themes??{})){const n=s.dark||"dark"===a?r.themes?.dark:r.themes?.light;o[a]=mergeDeep(n,s)}return mergeDeep(r,{...n,themes:o})}function createTheme(n){const r=parseThemeOptions(n),o=ref(r.defaultTheme),a=ref(r.themes),s=computed((()=>{const n={};for(const[o,s]of Object.entries(a.value)){const a=n[o]={...s,colors:{...s.colors}};if(r.variations)for(const n of r.variations.colors){const o=a.colors[n];if(o)for(const s of["lighten","darken"]){const l="lighten"===s?lighten:darken;for(const c of createRange(r.variations[s],1))a.colors[`${n}-${s}-${c}`]=RGBtoHex(l(parseColor(o),c))}}for(const n of Object.keys(a.colors)){if(/^on-[a-z]/.test(n)||a.colors[`on-${n}`])continue;const r=`on-${n}`,o=parseColor(a.colors[n]);a.colors[r]=getForeground(o)}}return n})),l=computed((()=>s.value[o.value])),c=computed((()=>{const n=[];l.value?.dark&&createCssClass(n,":root",["color-scheme: dark"]),createCssClass(n,":root",genCssVariables(l.value));for(const[l,c]of Object.entries(s.value))createCssClass(n,`.v-theme--${l}`,["color-scheme: "+(c.dark?"dark":"normal"),...genCssVariables(c)]);const r=[],o=[],a=new Set(Object.values(s.value).flatMap((n=>Object.keys(n.colors))));for(const s of a)/^on-[a-z]/.test(s)?createCssClass(o,`.${s}`,[`color: rgb(var(--v-theme-${s})) !important`]):(createCssClass(r,`.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(o,`.text-${s}`,[`color: rgb(var(--v-theme-${s})) !important`]),createCssClass(o,`.border-${s}`,[`--v-border-color: var(--v-theme-${s})`]));return n.push(...r,...o),n.map(((n,r)=>0===r?n:` ${n}`)).join("")}));function u(){return{style:[{children:c.value,id:"vuetify-theme-stylesheet",nonce:r.cspNonce||!1}]}}const d=computed((()=>r.isDisabled?void 0:`v-theme--${o.value}`));return{install:function(n){if(r.isDisabled)return;const o=n._context.provides.usehead;if(o)if(o.push){const n=o.push(u);IN_BROWSER&&watch(c,(()=>{n.patch(u)}))}else IN_BROWSER?(o.addHeadObjs(computed(u)),watchEffect((()=>o.updateDOM()))):o.addHeadObjs(u());else{let n=function(){if("undefined"!=typeof document&&!o){const n=document.createElement("style");n.type="text/css",n.id="vuetify-theme-stylesheet",r.cspNonce&&n.setAttribute("nonce",r.cspNonce),o=n,document.head.appendChild(o)}o&&(o.innerHTML=c.value)},o=IN_BROWSER?document.getElementById("vuetify-theme-stylesheet"):null;IN_BROWSER?watch(c,n,{immediate:!0}):n()}},isDisabled:r.isDisabled,name:o,themes:a,current:l,computedThemes:s,themeClasses:d,styles:c,global:{name:o,current:l}}}function provideTheme(n){getCurrentInstance("provideTheme");const r=inject$1(ThemeSymbol,null);if(!r)throw new Error("Could not find Vuetify theme injection");const o=computed((()=>n.theme??r.name.value)),a=computed((()=>r.themes.value[o.value])),s=computed((()=>r.isDisabled?void 0:`v-theme--${o.value}`)),l={...r,name:o,current:a,themeClasses:s};return provide(ThemeSymbol,l),l}function useTheme(){getCurrentInstance("useTheme");const n=inject$1(ThemeSymbol,null);if(!n)throw new Error("Could not find Vuetify theme injection");return n}function createCssClass(n,r,o){n.push(`${r} {\n`,...o.map((n=>` ${n};\n`)),"}\n")}function genCssVariables(n){const r=n.dark?2:1,o=n.dark?1:2,a=[];for(const[s,l]of Object.entries(n.colors)){const n=parseColor(l);a.push(`--v-theme-${s}: ${n.r},${n.g},${n.b}`),s.startsWith("on-")||a.push(`--v-theme-${s}-overlay-multiplier: ${getLuma(l)>.18?r:o}`)}for(const[s,l]of Object.entries(n.variables)){const n="string"==typeof l&&l.startsWith("#")?parseColor(l):void 0,r=n?`${n.r}, ${n.g}, ${n.b}`:void 0;a.push(`--v-${s}: ${r??l}`)}return a}function useResizeObserver(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"content";const o=templateRef(),a=ref();if(IN_BROWSER){const s=new ResizeObserver((o=>{n?.(o,s),o.length&&(a.value="content"===r?o[0].contentRect:o[0].target.getBoundingClientRect())}));onBeforeUnmount((()=>{s.disconnect()})),watch((()=>o.el),((n,r)=>{r&&(s.unobserve(r),a.value=void 0),n&&s.observe(n)}),{flush:"post"})}return{resizeRef:o,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 n=inject$1(VuetifyLayoutKey);if(!n)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:n.getLayoutItem,mainRect:n.mainRect,mainStyles:n.mainStyles}}function useLayoutItem(n){const r=inject$1(VuetifyLayoutKey);if(!r)throw new Error("[Vuetify] Could not find injected layout");const o=n.id??`layout-item-${getUid()}`,a=getCurrentInstance("useLayoutItem");provide(VuetifyLayoutItemKey,{id:o});const s=shallowRef(!1);onDeactivated((()=>s.value=!0)),onActivated((()=>s.value=!1));const{layoutItemStyles:l,layoutItemScrimStyles:c}=r.register(a,{...n,active:computed((()=>!s.value&&n.active.value)),id:o});return onBeforeUnmount((()=>r.unregister(o))),{layoutItemStyles:l,layoutRect:r.layoutRect,layoutItemScrimStyles:c}}const generateLayers=(n,r,o,a)=>{let s={top:0,left:0,right:0,bottom:0};const l=[{id:"",layer:{...s}}];for(const c of n){const n=r.get(c),u=o.get(c),d=a.get(c);if(!n||!u||!d)continue;const f={...s,[n.value]:parseInt(s[n.value],10)+(d.value?parseInt(u.value,10):0)};l.push({id:c,layer:f}),s=f}return l};function createLayout(n){const r=inject$1(VuetifyLayoutKey,null),o=computed((()=>r?r.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 r=new Map,o=n.overlaps??[];for(const n of o.filter((n=>n.includes(":")))){const[o,c]=n.split(":");if(!a.value.includes(o)||!a.value.includes(c))continue;const u=s.get(o),d=s.get(c),f=l.get(o),m=l.get(c);u&&d&&f&&m&&(r.set(c,{position:u.value,amount:parseInt(f.value,10)}),r.set(o,{position:d.value,amount:-parseInt(m.value,10)}))}return r})),b=computed((()=>{const n=[...new Set([...c.values()].map((n=>n.value)))].sort(((n,r)=>n-r)),r=[];for(const o of n){const n=a.value.filter((n=>c.get(n)?.value===o));r.push(...n)}return generateLayers(r,s,l,u)})),S=computed((()=>!Array.from(d.values()).some((n=>n.value)))),k=computed((()=>b.value[b.value.length-1].layer)),w=computed((()=>({"--v-layout-left":convertToUnit(k.value.left),"--v-layout-right":convertToUnit(k.value.right),"--v-layout-top":convertToUnit(k.value.top),"--v-layout-bottom":convertToUnit(k.value.bottom),...S.value?void 0:{transition:"none"}}))),E=computed((()=>b.value.slice(1).map(((n,r)=>{let{id:o}=n;const{layer:a}=b.value[r],c=l.get(o),u=s.get(o);return{id:o,...a,size:Number(c.value),position:u.value}})))),C=n=>E.value.find((r=>r.id===n)),T=getCurrentInstance("createLayout"),I=shallowRef(!1);onMounted((()=>{I.value=!0})),provide(VuetifyLayoutKey,{register:(n,r)=>{let{id:f,order:m,position:k,layoutSize:w,elementSize:C,active:P,disableTransitions:D,absolute:O}=r;c.set(f,m),s.set(f,k),l.set(f,w),u.set(f,P),D&&d.set(f,D);const A=findChildrenWithProvide(VuetifyLayoutItemKey,T?.vnode).indexOf(n);A>-1?a.value.splice(A,0,f):a.value.push(f);const eo=computed((()=>E.value.findIndex((n=>n.id===f)))),no=computed((()=>o.value+2*b.value.length-2*eo.value));return{layoutItemStyles:computed((()=>{const n="left"===k.value||"right"===k.value,r="right"===k.value,a="bottom"===k.value,s=C.value??w.value,l=0===s?"%":"px",c={[k.value]:0,zIndex:no.value,transform:`translate${n?"X":"Y"}(${(P.value?0:-(0===s?100:s))*(r||a?-1:1)}${l})`,position:O.value||o.value!==ROOT_ZINDEX?"absolute":"fixed",...S.value?void 0:{transition:"none"}};if(!I.value)return c;const u=E.value[eo.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:n?`calc(100% - ${u.top}px - ${u.bottom}px)`:C.value?`${C.value}px`:void 0,left:r?void 0:`${u.left}px`,right:r?`${u.right}px`:void 0,top:"bottom"!==k.value?`${u.top}px`:void 0,bottom:"top"!==k.value?`${u.bottom}px`:void 0,width:n?C.value?`${C.value}px`:void 0:`calc(100% - ${u.left}px - ${u.right}px)`}})),layoutItemScrimStyles:computed((()=>({zIndex:no.value-1}))),zIndex:no}},unregister:n=>{c.delete(n),s.delete(n),l.delete(n),u.delete(n),d.delete(n),a.value=a.value.filter((r=>r!==n))},mainRect:k,mainStyles:w,getLayoutItem:C,items:E,layoutRect:m,rootZIndex:o});return{layoutClasses:computed((()=>["v-layout",{"v-layout--full-height":n.fullHeight}])),layoutStyles:computed((()=>({zIndex:r?o.value:void 0,position:r?"relative":void 0,overflow:r?"hidden":void 0}))),getLayoutItem:C,items:E,layoutRect:m,layoutRef:f}}function createVuetify(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{blueprint:r,...o}=n,a=mergeDeep(r,o),{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),b=createDate$1(a.date,g),S=createGoTo(a.goTo,g);return{install:n=>{for(const r in c)n.directive(r,c[r]);for(const r in l)n.component(r,l[r]);for(const r in s)n.component(r,defineComponent({...s[r],name:r,aliasName:s[r].name}));if(f.install(n),n.provide(DefaultsSymbol,u),n.provide(DisplaySymbol,d),n.provide(ThemeSymbol,f),n.provide(IconSymbol,m),n.provide(LocaleSymbol,g),n.provide(DateOptionsSymbol,b.options),n.provide(DateAdapterSymbol,b.instance),n.provide(GoToSymbol,S),IN_BROWSER&&a.ssr)if(n.$nuxt)n.$nuxt.hook("app:suspense:resolve",(()=>{d.update()}));else{const{mount:r}=n;n.mount=function(){const o=r(...arguments);return nextTick$2((()=>d.update())),n.mount=r,o}}getUid.reset(),n.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:b,goTo:S}}const version$2="3.7.15";function inject(n){const r=this.$,o=r.parent?.provides??r.vnode.appContext?.provides;if(o&&n in o)return o[n]}createVuetify.version=version$2;const isBrowser$1="undefined"!=typeof document;function isRouteComponent(n){return"object"==typeof n||"displayName"in n||"props"in n||"__vccOpts"in n}function isESModule(n){return n.__esModule||"Module"===n[Symbol.toStringTag]||n.default&&isRouteComponent(n.default)}const assign$1=Object.assign;function applyToParams(n,r){const o={};for(const a in r){const s=r[a];o[a]=isArray$2(s)?s.map(n):n(s)}return o}const noop$1=()=>{},isArray$2=Array.isArray,HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(n){return encodeURI(""+n).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(n){return commonEncode(n).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(n){return commonEncode(n).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(n){return encodeQueryValue(n).replace(EQUAL_RE,"%3D")}function encodePath(n){return commonEncode(n).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(n){return null==n?"":encodePath(n).replace(SLASH_RE,"%2F")}function decode(n){try{return decodeURIComponent(""+n)}catch(r){}return""+n}const TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=n=>n.replace(TRAILING_SLASH_RE,"");function parseURL(n,r,o="/"){let a,s={},l="",c="";const u=r.indexOf("#");let d=r.indexOf("?");return u<d&&u>=0&&(d=-1),d>-1&&(a=r.slice(0,d),l=r.slice(d+1,u>-1?u:r.length),s=n(l)),u>-1&&(a=a||r.slice(0,u),c=r.slice(u,r.length)),a=resolveRelativePath(null!=a?a:r,o),{fullPath:a+(l&&"?")+l+c,path:a,query:s,hash:decode(c)}}function stringifyURL(n,r){const o=r.query?n(r.query):"";return r.path+(o&&"?")+o+(r.hash||"")}function stripBase(n,r){return r&&n.toLowerCase().startsWith(r.toLowerCase())?n.slice(r.length)||"/":n}function isSameRouteLocation(n,r,o){const a=r.matched.length-1,s=o.matched.length-1;return a>-1&&a===s&&isSameRouteRecord(r.matched[a],o.matched[s])&&isSameRouteLocationParams(r.params,o.params)&&n(r.query)===n(o.query)&&r.hash===o.hash}function isSameRouteRecord(n,r){return(n.aliasOf||n)===(r.aliasOf||r)}function isSameRouteLocationParams(n,r){if(Object.keys(n).length!==Object.keys(r).length)return!1;for(const o in n)if(!isSameRouteLocationParamsValue(n[o],r[o]))return!1;return!0}function isSameRouteLocationParamsValue(n,r){return isArray$2(n)?isEquivalentArray(n,r):isArray$2(r)?isEquivalentArray(r,n):n===r}function isEquivalentArray(n,r){return isArray$2(r)?n.length===r.length&&n.every(((n,o)=>n===r[o])):1===n.length&&n[0]===r}function resolveRelativePath(n,r){if(n.startsWith("/"))return n;if(!n)return r;const o=r.split("/"),a=n.split("/"),s=a[a.length-1];".."!==s&&"."!==s||a.push("");let l,c,u=o.length-1;for(l=0;l<a.length;l++)if(c=a[l],"."!==c){if(".."!==c)break;u>1&&u--}return o.slice(0,u).join("/")+"/"+a.slice(l).join("/")}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var NavigationType,NavigationType2,NavigationDirection,NavigationDirection2;function normalizeBase(n){if(!n)if(isBrowser$1){const r=document.querySelector("base");n=(n=r&&r.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return"/"!==n[0]&&"#"!==n[0]&&(n="/"+n),removeTrailingSlash(n)}NavigationType2=NavigationType||(NavigationType={}),NavigationType2.pop="pop",NavigationType2.push="push",NavigationDirection2=NavigationDirection||(NavigationDirection={}),NavigationDirection2.back="back",NavigationDirection2.forward="forward",NavigationDirection2.unknown="";const BEFORE_HASH_RE=/^[^#]+#/;function createHref(n,r){return n.replace(BEFORE_HASH_RE,"#")+r}function getElementPosition(n,r){const o=document.documentElement.getBoundingClientRect(),a=n.getBoundingClientRect();return{behavior:r.behavior,left:a.left-o.left-(r.left||0),top:a.top-o.top-(r.top||0)}}const computeScrollPosition=()=>({left:window.scrollX,top:window.scrollY});function scrollToPosition(n){let r;if("el"in n){const o=n.el,a="string"==typeof o&&o.startsWith("#"),s="string"==typeof o?a?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!s)return;r=getElementPosition(s,n)}else r=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(r):window.scrollTo(null!=r.left?r.left:window.scrollX,null!=r.top?r.top:window.scrollY)}function getScrollKey(n,r){return(history.state?history.state.position-r:-1)+n}const scrollPositions=new Map;function saveScrollPosition(n,r){scrollPositions.set(n,r)}function getSavedScrollPosition(n){const r=scrollPositions.get(n);return scrollPositions.delete(n),r}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(n,r){const{pathname:o,search:a,hash:s}=r,l=n.indexOf("#");if(l>-1){let r=s.includes(n.slice(l))?n.slice(l).length:1,o=s.slice(r);return"/"!==o[0]&&(o="/"+o),stripBase(o,"")}return stripBase(o,n)+a+s}function useHistoryListeners(n,r,o,a){let s=[],l=[],c=null;const u=({state:l})=>{const u=createCurrentLocation(n,location),d=o.value,f=r.value;let m=0;if(l){if(o.value=u,r.value=l,c&&c===d)return void(c=null);m=f?l.position-f.position:0}else a(u);s.forEach((n=>{n(o.value,d,{delta:m,type:NavigationType.pop,direction:m?m>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})}))};function d(){const{history:n}=window;n.state&&n.replaceState(assign$1({},n.state,{scroll:computeScrollPosition()}),"")}return window.addEventListener("popstate",u),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:function(){c=o.value},listen:function(n){s.push(n);const r=()=>{const r=s.indexOf(n);r>-1&&s.splice(r,1)};return l.push(r),r},destroy:function(){for(const n of l)n();l=[],window.removeEventListener("popstate",u),window.removeEventListener("beforeunload",d)}}}function buildState(n,r,o,a=!1,s=!1){return{back:n,current:r,forward:o,replaced:a,position:window.history.length,scroll:s?computeScrollPosition():null}}function useHistoryStateNavigation(n){const{history:r,location:o}=window,a={value:createCurrentLocation(n,o)},s={value:r.state};function l(a,l,c){const u=n.indexOf("#"),d=u>-1?(o.host&&document.querySelector("base")?n:n.slice(u))+a:createBaseLocation()+n+a;try{r[c?"replaceState":"pushState"](l,"",d),s.value=l}catch(f){console.error(f),o[c?"replace":"assign"](d)}}return s.value||l(a.value,{back:null,current:a.value,forward:null,position:r.length-1,replaced:!0,scroll:null},!0),{location:a,state:s,push:function(n,o){const c=assign$1({},s.value,r.state,{forward:n,scroll:computeScrollPosition()});l(c.current,c,!0),l(n,assign$1({},buildState(a.value,n,null),{position:c.position+1},o),!1),a.value=n},replace:function(n,o){l(n,assign$1({},r.state,buildState(s.value.back,n,s.value.forward,!0),o,{position:s.value.position}),!0),a.value=n}}}function createWebHistory(n){const r=useHistoryStateNavigation(n=normalizeBase(n)),o=useHistoryListeners(n,r.state,r.location,r.replace);const a=assign$1({location:"",base:n,go:function(n,r=!0){r||o.pauseListeners(),history.go(n)},createHref:createHref.bind(null,n)},r,o);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>r.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>r.state.value}),a}function isRouteLocation(n){return"string"==typeof n||n&&"object"==typeof n}function isRouteName(n){return"string"==typeof n||"symbol"==typeof n}const NavigationFailureSymbol=Symbol("");var NavigationFailureType,NavigationFailureType2;function createRouterError(n,r){return assign$1(new Error,{type:n,[NavigationFailureSymbol]:!0},r)}function isNavigationFailure(n,r){return n instanceof Error&&NavigationFailureSymbol in n&&(null==r||!!(n.type&r))}NavigationFailureType2=NavigationFailureType||(NavigationFailureType={}),NavigationFailureType2[NavigationFailureType2.aborted=4]="aborted",NavigationFailureType2[NavigationFailureType2.cancelled=8]="cancelled",NavigationFailureType2[NavigationFailureType2.duplicated=16]="duplicated";const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(n,r){const o=assign$1({},BASE_PATH_PARSER_OPTIONS,r),a=[];let s=o.start?"^":"";const l=[];for(const d of n){const n=d.length?[]:[90];o.strict&&!d.length&&(s+="/");for(let r=0;r<d.length;r++){const a=d[r];let c=40+(o.sensitive?.25:0);if(0===a.type)r||(s+="/"),s+=a.value.replace(REGEX_CHARS_RE,"\\$&"),c+=40;else if(1===a.type){const{value:n,repeatable:o,optional:f,regexp:m}=a;l.push({name:n,repeatable:o,optional:f});const g=m||BASE_PARAM_PATTERN;if(g!==BASE_PARAM_PATTERN){c+=10;try{new RegExp(`(${g})`)}catch(u){throw new Error(`Invalid custom RegExp for param "${n}" (${g}): `+u.message)}}let b=o?`((?:${g})(?:/(?:${g}))*)`:`(${g})`;r||(b=f&&d.length<2?`(?:/${b})`:"/"+b),f&&(b+="?"),s+=b,c+=20,f&&(c+=-8),o&&(c+=-20),".*"===g&&(c+=-50)}n.push(c)}a.push(n)}if(o.strict&&o.end){const n=a.length-1;a[n][a[n].length-1]+=.7000000000000001}o.strict||(s+="/?"),o.end?s+="$":o.strict&&!s.endsWith("/")&&(s+="(?:/|$)");const c=new RegExp(s,o.sensitive?"":"i");return{re:c,score:a,keys:l,parse:function(n){const r=n.match(c),o={};if(!r)return null;for(let a=1;a<r.length;a++){const n=r[a]||"",s=l[a-1];o[s.name]=n&&s.repeatable?n.split("/"):n}return o},stringify:function(r){let o="",a=!1;for(const s of n){a&&o.endsWith("/")||(o+="/"),a=!1;for(const n of s)if(0===n.type)o+=n.value;else if(1===n.type){const{value:l,repeatable:c,optional:u}=n,d=l in r?r[l]:"";if(isArray$2(d)&&!c)throw new Error(`Provided param "${l}" is an array but it is not repeatable (* or + modifiers)`);const f=isArray$2(d)?d.join("/"):d;if(!f){if(!u)throw new Error(`Missing required param "${l}"`);s.length<2&&(o.endsWith("/")?o=o.slice(0,-1):a=!0)}o+=f}}return o||"/"}}}function compareScoreArray(n,r){let o=0;for(;o<n.length&&o<r.length;){const a=r[o]-n[o];if(a)return a;o++}return n.length<r.length?1===n.length&&80===n[0]?-1:1:n.length>r.length?1===r.length&&80===r[0]?1:-1:0}function comparePathParserScore(n,r){let o=0;const a=n.score,s=r.score;for(;o<a.length&&o<s.length;){const n=compareScoreArray(a[o],s[o]);if(n)return n;o++}if(1===Math.abs(s.length-a.length)){if(isLastScoreNegative(a))return 1;if(isLastScoreNegative(s))return-1}return s.length-a.length}function isLastScoreNegative(n){const r=n[n.length-1];return n.length>0&&r[r.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(n){if(!n)return[[]];if("/"===n)return[[ROOT_TOKEN]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function r(n){throw new Error(`ERR (${o})/"${f}": ${n}`)}let o=0,a=o;const s=[];let l;function c(){l&&s.push(l),l=[]}let u,d=0,f="",m="";function g(){f&&(0===o?l.push({type:0,value:f}):1===o||2===o||3===o?(l.length>1&&("*"===u||"+"===u)&&r(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:f,regexp:m,repeatable:"*"===u||"+"===u,optional:"*"===u||"?"===u})):r("Invalid state to consume buffer"),f="")}function b(){f+=u}for(;d<n.length;)if(u=n[d++],"\\"!==u||2===o)switch(o){case 0:"/"===u?(f&&g(),c()):":"===u?(g(),o=1):b();break;case 4:b(),o=a;break;case 1:"("===u?o=2:VALID_PARAM_RE.test(u)?b():(g(),o=0,"*"!==u&&"?"!==u&&"+"!==u&&d--);break;case 2:")"===u?"\\"==m[m.length-1]?m=m.slice(0,-1)+u:o=3:m+=u;break;case 3:g(),o=0,"*"!==u&&"?"!==u&&"+"!==u&&d--,m="";break;default:r("Unknown state")}else a=o,o=4;return 2===o&&r(`Unfinished custom RegExp for param "${f}"`),g(),c(),s}function createRouteRecordMatcher(n,r,o){const a=tokensToParser(tokenizePath(n.path),o),s=assign$1(a,{record:n,parent:r,children:[],alias:[]});return r&&!s.record.aliasOf==!r.record.aliasOf&&r.children.push(s),s}function createRouterMatcher(n,r){const o=[],a=new Map;function s(n,o,a){const u=!a,d=normalizeRouteRecord(n);d.aliasOf=a&&a.record;const f=mergeOptions(r,n),m=[d];if("alias"in n){const r="string"==typeof n.alias?[n.alias]:n.alias;for(const n of r)m.push(normalizeRouteRecord(assign$1({},d,{components:a?a.record.components:d.components,path:n,aliasOf:a?a.record:d})))}let g,b;for(const r of m){const{path:m}=r;if(o&&"/"!==m[0]){const n=o.record.path,a="/"===n[n.length-1]?"":"/";r.path=o.record.path+(m&&a+m)}if(g=createRouteRecordMatcher(r,o,f),a?a.alias.push(g):(b=b||g,b!==g&&b.alias.push(g),u&&n.name&&!isAliasRecord(g)&&l(n.name)),isMatchable(g)&&c(g),d.children){const n=d.children;for(let r=0;r<n.length;r++)s(n[r],g,a&&a.children[r])}a=a||g}return b?()=>{l(b)}:noop$1}function l(n){if(isRouteName(n)){const r=a.get(n);r&&(a.delete(n),o.splice(o.indexOf(r),1),r.children.forEach(l),r.alias.forEach(l))}else{const r=o.indexOf(n);r>-1&&(o.splice(r,1),n.record.name&&a.delete(n.record.name),n.children.forEach(l),n.alias.forEach(l))}}function c(n){const r=findInsertionIndex(n,o);o.splice(r,0,n),n.record.name&&!isAliasRecord(n)&&a.set(n.record.name,n)}return r=mergeOptions({strict:!1,end:!0,sensitive:!1},r),n.forEach((n=>s(n))),{addRoute:s,resolve:function(n,r){let s,l,c,u={};if("name"in n&&n.name){if(s=a.get(n.name),!s)throw createRouterError(1,{location:n});c=s.record.name,u=assign$1(paramsFromLocation(r.params,s.keys.filter((n=>!n.optional)).concat(s.parent?s.parent.keys.filter((n=>n.optional)):[]).map((n=>n.name))),n.params&¶msFromLocation(n.params,s.keys.map((n=>n.name)))),l=s.stringify(u)}else if(null!=n.path)l=n.path,s=o.find((n=>n.re.test(l))),s&&(u=s.parse(l),c=s.record.name);else{if(s=r.name?a.get(r.name):o.find((n=>n.re.test(r.path))),!s)throw createRouterError(1,{location:n,currentLocation:r});c=s.record.name,u=assign$1({},r.params,n.params),l=s.stringify(u)}const d=[];let f=s;for(;f;)d.unshift(f.record),f=f.parent;return{name:c,path:l,params:u,matched:d,meta:mergeMetaFields(d)}},removeRoute:l,clearRoutes:function(){o.length=0,a.clear()},getRoutes:function(){return o},getRecordMatcher:function(n){return a.get(n)}}}function paramsFromLocation(n,r){const o={};for(const a of r)a in n&&(o[a]=n[a]);return o}function normalizeRouteRecord(n){const r={path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:n.aliasOf,beforeEnter:n.beforeEnter,props:normalizeRecordProps(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}};return Object.defineProperty(r,"mods",{value:{}}),r}function normalizeRecordProps(n){const r={},o=n.props||!1;if("component"in n)r.default=o;else for(const a in n.components)r[a]="object"==typeof o?o[a]:o;return r}function isAliasRecord(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function mergeMetaFields(n){return n.reduce(((n,r)=>assign$1(n,r.meta)),{})}function mergeOptions(n,r){const o={};for(const a in n)o[a]=a in r?r[a]:n[a];return o}function findInsertionIndex(n,r){let o=0,a=r.length;for(;o!==a;){const s=o+a>>1;comparePathParserScore(n,r[s])<0?a=s:o=s+1}const s=getInsertionAncestor(n);return s&&(a=r.lastIndexOf(s,a-1)),a}function getInsertionAncestor(n){let r=n;for(;r=r.parent;)if(isMatchable(r)&&0===comparePathParserScore(n,r))return r}function isMatchable({record:n}){return!!(n.name||n.components&&Object.keys(n.components).length||n.redirect)}function parseQuery(n){const r={};if(""===n||"?"===n)return r;const o=("?"===n[0]?n.slice(1):n).split("&");for(let a=0;a<o.length;++a){const n=o[a].replace(PLUS_RE," "),s=n.indexOf("="),l=decode(s<0?n:n.slice(0,s)),c=s<0?null:decode(n.slice(s+1));if(l in r){let n=r[l];isArray$2(n)||(n=r[l]=[n]),n.push(c)}else r[l]=c}return r}function stringifyQuery(n){let r="";for(let o in n){const a=n[o];if(o=encodeQueryKey(o),null==a){void 0!==a&&(r+=(r.length?"&":"")+o);continue}(isArray$2(a)?a.map((n=>n&&encodeQueryValue(n))):[a&&encodeQueryValue(a)]).forEach((n=>{void 0!==n&&(r+=(r.length?"&":"")+o,null!=n&&(r+="="+n))}))}return r}function normalizeQuery(n){const r={};for(const o in n){const a=n[o];void 0!==a&&(r[o]=isArray$2(a)?a.map((n=>null==n?null:""+n)):null==a?a:""+a)}return r}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let n=[];return{add:function(r){return n.push(r),()=>{const o=n.indexOf(r);o>-1&&n.splice(o,1)}},list:()=>n.slice(),reset:function(){n=[]}}}function guardToPromiseFn(n,r,o,a,s,l=n=>n()){const c=a&&(a.enterCallbacks[s]=a.enterCallbacks[s]||[]);return()=>new Promise(((u,d)=>{const f=n=>{!1===n?d(createRouterError(4,{from:o,to:r})):n instanceof Error?d(n):isRouteLocation(n)?d(createRouterError(2,{from:r,to:n})):(c&&a.enterCallbacks[s]===c&&"function"==typeof n&&c.push(n),u())},m=l((()=>n.call(a&&a.instances[s],r,o,f)));let g=Promise.resolve(m);n.length<3&&(g=g.then(f)),g.catch((n=>d(n)))}))}function extractComponentsGuards(n,r,o,a,s=n=>n()){const l=[];for(const c of n)for(const n in c.components){let u=c.components[n];if("beforeRouteEnter"===r||c.instances[n])if(isRouteComponent(u)){const d=(u.__vccOpts||u)[r];d&&l.push(guardToPromiseFn(d,o,a,c,n,s))}else{let d=u();l.push((()=>d.then((l=>{if(!l)throw new Error(`Couldn't resolve component "${n}" at "${c.path}"`);const u=isESModule(l)?l.default:l;c.mods[n]=l,c.components[n]=u;const d=(u.__vccOpts||u)[r];return d&&guardToPromiseFn(d,o,a,c,n,s)()}))))}}return l}function useLink$1(n){const r=inject$1(routerKey),o=inject$1(routeLocationKey),a=computed((()=>{const o=unref(n.to);return r.resolve(o)})),s=computed((()=>{const{matched:n}=a.value,{length:r}=n,s=n[r-1],l=o.matched;if(!s||!l.length)return-1;const c=l.findIndex(isSameRouteRecord.bind(null,s));if(c>-1)return c;const u=getOriginalPath(n[r-2]);return r>1&&getOriginalPath(s)===u&&l[l.length-1].path!==u?l.findIndex(isSameRouteRecord.bind(null,n[r-2])):c})),l=computed((()=>s.value>-1&&includesParams(o.params,a.value.params))),c=computed((()=>s.value>-1&&s.value===o.matched.length-1&&isSameRouteLocationParams(o.params,a.value.params)));return{route:a,href:computed((()=>a.value.href)),isActive:l,isExactActive:c,navigate:function(o={}){if(guardEvent(o)){const o=r[unref(n.replace)?"replace":"push"](unref(n.to)).catch(noop$1);return n.viewTransition&&"undefined"!=typeof document&&"startViewTransition"in document&&document.startViewTransition((()=>o)),o}return Promise.resolve()}}}function preferSingleVNode(n){return 1===n.length?n[0]:n}const RouterLinkImpl=defineComponent$1({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:useLink$1,setup(n,{slots:r}){const o=reactive(useLink$1(n)),{options:a}=inject$1(routerKey),s=computed((()=>({[getLinkClass(n.activeClass,a.linkActiveClass,"router-link-active")]:o.isActive,[getLinkClass(n.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive})));return()=>{const a=r.default&&preferSingleVNode(r.default(o));return n.custom?a:h$2("a",{"aria-current":o.isExactActive?n.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:s.value},a)}}}),RouterLink=RouterLinkImpl;function guardEvent(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey||n.defaultPrevented||void 0!==n.button&&0!==n.button)){if(n.currentTarget&&n.currentTarget.getAttribute){const r=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(r))return}return n.preventDefault&&n.preventDefault(),!0}}function includesParams(n,r){for(const o in r){const a=r[o],s=n[o];if("string"==typeof a){if(a!==s)return!1}else if(!isArray$2(s)||s.length!==a.length||a.some(((n,r)=>n!==s[r])))return!1}return!0}function getOriginalPath(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const getLinkClass=(n,r,o)=>null!=n?n:null!=r?r:o,RouterViewImpl=defineComponent$1({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:r,slots:o}){const a=inject$1(routerViewLocationKey),s=computed((()=>n.route||a.value)),l=inject$1(viewDepthKey,0),c=computed((()=>{let n=unref(l);const{matched:r}=s.value;let o;for(;(o=r[n])&&!o.components;)n++;return n})),u=computed((()=>s.value.matched[c.value]));provide(viewDepthKey,computed((()=>c.value+1))),provide(matchedRouteKey,u),provide(routerViewLocationKey,s);const d=ref();return watch((()=>[d.value,u.value,n.name]),(([n,r,o],[a,s,l])=>{r&&(r.instances[o]=n,s&&s!==r&&n&&n===a&&(r.leaveGuards.size||(r.leaveGuards=s.leaveGuards),r.updateGuards.size||(r.updateGuards=s.updateGuards))),!n||!r||s&&isSameRouteRecord(r,s)&&a||(r.enterCallbacks[o]||[]).forEach((r=>r(n)))}),{flush:"post"}),()=>{const a=s.value,l=n.name,c=u.value,f=c&&c.components[l];if(!f)return normalizeSlot(o.default,{Component:f,route:a});const m=c.props[l],g=m?!0===m?a.params:"function"==typeof m?m(a):m:null,b=h$2(f,assign$1({},g,r,{onVnodeUnmounted:n=>{n.component.isUnmounted&&(c.instances[l]=null)},ref:d}));return normalizeSlot(o.default,{Component:b,route:a})||b}}});function normalizeSlot(n,r){if(!n)return null;const o=n(r);return 1===o.length?o[0]:o}const RouterView=RouterViewImpl;function createRouter(n){const r=createRouterMatcher(n.routes,n),o=n.parseQuery||parseQuery,a=n.stringifyQuery||stringifyQuery,s=n.history,l=useCallbacks(),c=useCallbacks(),u=useCallbacks(),d=shallowRef(START_LOCATION_NORMALIZED);let f=START_LOCATION_NORMALIZED;isBrowser$1&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=applyToParams.bind(null,(n=>""+n)),g=applyToParams.bind(null,encodeParam),b=applyToParams.bind(null,decode);function S(n,l){if(l=assign$1({},l||d.value),"string"==typeof n){const a=parseURL(o,n,l.path),c=r.resolve({path:a.path},l),u=s.createHref(a.fullPath);return assign$1(a,c,{params:b(c.params),hash:decode(a.hash),redirectedFrom:void 0,href:u})}let c;if(null!=n.path)c=assign$1({},n,{path:parseURL(o,n.path,l.path).path});else{const r=assign$1({},n.params);for(const n in r)null==r[n]&&delete r[n];c=assign$1({},n,{params:g(r)}),l.params=g(l.params)}const u=r.resolve(c,l),f=n.hash||"";u.params=m(b(u.params));const S=stringifyURL(a,assign$1({},n,{hash:encodeHash(f),path:u.path})),k=s.createHref(S);return assign$1({fullPath:S,hash:f,query:a===stringifyQuery?normalizeQuery(n.query):n.query||{}},u,{redirectedFrom:void 0,href:k})}function k(n){return"string"==typeof n?parseURL(o,n,d.value.path):assign$1({},n)}function w(n,r){if(f!==n)return createRouterError(8,{from:r,to:n})}function E(n){return T(n)}function C(n){const r=n.matched[n.matched.length-1];if(r&&r.redirect){const{redirect:o}=r;let a="function"==typeof o?o(n):o;return"string"==typeof a&&(a=a.includes("?")||a.includes("#")?a=k(a):{path:a},a.params={}),assign$1({query:n.query,hash:n.hash,params:null!=a.path?{}:n.params},a)}}function T(n,r){const o=f=S(n),s=d.value,l=n.state,c=n.force,u=!0===n.replace,m=C(o);if(m)return T(assign$1(k(m),{state:"object"==typeof m?assign$1({},l,m.state):l,force:c,replace:u}),r||o);const g=o;let b;return g.redirectedFrom=r,!c&&isSameRouteLocation(a,s,o)&&(b=createRouterError(16,{to:g,from:s}),so(s,s,!0,!1)),(b?Promise.resolve(b):D(g,s)).catch((n=>isNavigationFailure(n)?isNavigationFailure(n,2)?n:io(n):ao(n,g,s))).then((n=>{if(n){if(isNavigationFailure(n,2))return T(assign$1({replace:u},k(n.to),{state:"object"==typeof n.to?assign$1({},l,n.to.state):l,force:c}),r||g)}else n=A(g,s,!0,u,l);return O(g,s,n),n}))}function I(n,r){const o=w(n,r);return o?Promise.reject(o):Promise.resolve()}function P(n){const r=uo.values().next().value;return r&&"function"==typeof r.runWithContext?r.runWithContext(n):n()}function D(n,r){let o;const[a,s,u]=extractChangingRecords(n,r);o=extractComponentsGuards(a.reverse(),"beforeRouteLeave",n,r);for(const l of a)l.leaveGuards.forEach((a=>{o.push(guardToPromiseFn(a,n,r))}));const d=I.bind(null,n,r);return o.push(d),fo(o).then((()=>{o=[];for(const a of l.list())o.push(guardToPromiseFn(a,n,r));return o.push(d),fo(o)})).then((()=>{o=extractComponentsGuards(s,"beforeRouteUpdate",n,r);for(const a of s)a.updateGuards.forEach((a=>{o.push(guardToPromiseFn(a,n,r))}));return o.push(d),fo(o)})).then((()=>{o=[];for(const a of u)if(a.beforeEnter)if(isArray$2(a.beforeEnter))for(const s of a.beforeEnter)o.push(guardToPromiseFn(s,n,r));else o.push(guardToPromiseFn(a.beforeEnter,n,r));return o.push(d),fo(o)})).then((()=>(n.matched.forEach((n=>n.enterCallbacks={})),o=extractComponentsGuards(u,"beforeRouteEnter",n,r,P),o.push(d),fo(o)))).then((()=>{o=[];for(const a of c.list())o.push(guardToPromiseFn(a,n,r));return o.push(d),fo(o)})).catch((n=>isNavigationFailure(n,8)?n:Promise.reject(n)))}function O(n,r,o){u.list().forEach((a=>P((()=>a(n,r,o)))))}function A(n,r,o,a,l){const c=w(n,r);if(c)return c;const u=r===START_LOCATION_NORMALIZED,f=isBrowser$1?history.state:{};o&&(a||u?s.replace(n.fullPath,assign$1({scroll:u&&f&&f.scroll},l)):s.push(n.fullPath,l)),d.value=n,so(n,r,o,u),io()}let eo;let no,ro=useCallbacks(),oo=useCallbacks();function ao(n,r,o){io(n);const a=oo.list();return a.length?a.forEach((a=>a(n,r,o))):console.error(n),Promise.reject(n)}function io(n){return no||(no=!n,eo||(eo=s.listen(((n,r,o)=>{if(!po.listening)return;const a=S(n),l=C(a);if(l)return void T(assign$1(l,{replace:!0,force:!0}),a).catch(noop$1);f=a;const c=d.value;isBrowser$1&&saveScrollPosition(getScrollKey(c.fullPath,o.delta),computeScrollPosition()),D(a,c).catch((n=>isNavigationFailure(n,12)?n:isNavigationFailure(n,2)?(T(assign$1(k(n.to),{force:!0}),a).then((n=>{isNavigationFailure(n,20)&&!o.delta&&o.type===NavigationType.pop&&s.go(-1,!1)})).catch(noop$1),Promise.reject()):(o.delta&&s.go(-o.delta,!1),ao(n,a,c)))).then((n=>{(n=n||A(a,c,!1))&&(o.delta&&!isNavigationFailure(n,8)?s.go(-o.delta,!1):o.type===NavigationType.pop&&isNavigationFailure(n,20)&&s.go(-1,!1)),O(a,c,n)})).catch(noop$1)}))),ro.list().forEach((([r,o])=>n?o(n):r())),ro.reset()),n}function so(r,o,a,s){const{scrollBehavior:l}=n;if(!isBrowser$1||!l)return Promise.resolve();const c=!a&&getSavedScrollPosition(getScrollKey(r.fullPath,0))||(s||!a)&&history.state&&history.state.scroll||null;return nextTick$2().then((()=>l(r,o,c))).then((n=>n&&scrollToPosition(n))).catch((n=>ao(n,r,o)))}const lo=n=>s.go(n);let co;const uo=new Set,po={currentRoute:d,listening:!0,addRoute:function(n,o){let a,s;return isRouteName(n)?(a=r.getRecordMatcher(n),s=o):s=n,r.addRoute(s,a)},removeRoute:function(n){const o=r.getRecordMatcher(n);o&&r.removeRoute(o)},clearRoutes:r.clearRoutes,hasRoute:function(n){return!!r.getRecordMatcher(n)},getRoutes:function(){return r.getRoutes().map((n=>n.record))},resolve:S,options:n,push:E,replace:function(n){return E(assign$1(k(n),{replace:!0}))},go:lo,back:()=>lo(-1),forward:()=>lo(1),beforeEach:l.add,beforeResolve:c.add,afterEach:u.add,onError:oo.add,isReady:function(){return no&&d.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise(((n,r)=>{ro.add([n,r])}))},install(n){n.component("RouterLink",RouterLink),n.component("RouterView",RouterView),n.config.globalProperties.$router=this,Object.defineProperty(n.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(d)}),isBrowser$1&&!co&&d.value===START_LOCATION_NORMALIZED&&(co=!0,E(s.location).catch((n=>{})));const r={};for(const a in START_LOCATION_NORMALIZED)Object.defineProperty(r,a,{get:()=>d.value[a],enumerable:!0});n.provide(routerKey,this),n.provide(routeLocationKey,shallowReactive(r)),n.provide(routerViewLocationKey,d);const o=n.unmount;uo.add(n),n.unmount=function(){uo.delete(n),uo.size<1&&(f=START_LOCATION_NORMALIZED,eo&&eo(),eo=null,d.value=START_LOCATION_NORMALIZED,co=!1,no=!1),o()}}};function fo(n){return n.reduce(((n,r)=>n.then((()=>P(r)))),Promise.resolve())}return po}function extractChangingRecords(n,r){const o=[],a=[],s=[],l=Math.max(r.matched.length,n.matched.length);for(let c=0;c<l;c++){const l=r.matched[c];l&&(n.matched.find((n=>isSameRouteRecord(n,l)))?a.push(l):o.push(l));const u=n.matched[c];u&&(r.matched.find((n=>isSameRouteRecord(n,u)))||s.push(u))}return[o,a,s]}function useRouter$1(){return inject$1(routerKey)}function useRoute$1(n){return inject$1(routeLocationKey)}var hookCallback,some;function hooks(){return hookCallback.apply(null,arguments)}function setHookCallback(n){hookCallback=n}function isArray$1(n){return n instanceof Array||"[object Array]"===Object.prototype.toString.call(n)}function isObject(n){return null!=n&&"[object Object]"===Object.prototype.toString.call(n)}function hasOwnProp(n,r){return Object.prototype.hasOwnProperty.call(n,r)}function isObjectEmpty(n){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(n).length;var r;for(r in n)if(hasOwnProp(n,r))return!1;return!0}function isUndefined(n){return void 0===n}function isNumber(n){return"number"==typeof n||"[object Number]"===Object.prototype.toString.call(n)}function isDate(n){return n instanceof Date||"[object Date]"===Object.prototype.toString.call(n)}function map(n,r){var o,a=[],s=n.length;for(o=0;o<s;++o)a.push(r(n[o],o));return a}function extend$1(n,r){for(var o in r)hasOwnProp(r,o)&&(n[o]=r[o]);return hasOwnProp(r,"toString")&&(n.toString=r.toString),hasOwnProp(r,"valueOf")&&(n.valueOf=r.valueOf),n}function createUTC(n,r,o,a){return createLocalOrUTC(n,r,o,a,!0).utc()}function defaultParsingFlags(){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(n){return null==n._pf&&(n._pf=defaultParsingFlags()),n._pf}function isValid(n){var r=null,o=!1,a=n._d&&!isNaN(n._d.getTime());return a&&(r=getParsingFlags(n),o=some.call(r.parsedDateParts,(function(n){return null!=n})),a=r.overflow<0&&!r.empty&&!r.invalidEra&&!r.invalidMonth&&!r.invalidWeekday&&!r.weekdayMismatch&&!r.nullInput&&!r.invalidFormat&&!r.userInvalidated&&(!r.meridiem||r.meridiem&&o),n._strict&&(a=a&&0===r.charsLeftOver&&0===r.unusedTokens.length&&void 0===r.bigHour)),null!=Object.isFrozen&&Object.isFrozen(n)?a:(n._isValid=a,n._isValid)}function createInvalid(n){var r=createUTC(NaN);return null!=n?extend$1(getParsingFlags(r),n):getParsingFlags(r).userInvalidated=!0,r}some=Array.prototype.some?Array.prototype.some:function(n){var r,o=Object(this),a=o.length>>>0;for(r=0;r<a;r++)if(r in o&&n.call(this,o[r],r,o))return!0;return!1};var momentProperties=hooks.momentProperties=[],updateInProgress=!1;function copyConfig(n,r){var o,a,s,l=momentProperties.length;if(isUndefined(r._isAMomentObject)||(n._isAMomentObject=r._isAMomentObject),isUndefined(r._i)||(n._i=r._i),isUndefined(r._f)||(n._f=r._f),isUndefined(r._l)||(n._l=r._l),isUndefined(r._strict)||(n._strict=r._strict),isUndefined(r._tzm)||(n._tzm=r._tzm),isUndefined(r._isUTC)||(n._isUTC=r._isUTC),isUndefined(r._offset)||(n._offset=r._offset),isUndefined(r._pf)||(n._pf=getParsingFlags(r)),isUndefined(r._locale)||(n._locale=r._locale),l>0)for(o=0;o<l;o++)isUndefined(s=r[a=momentProperties[o]])||(n[a]=s);return n}function Moment(n){copyConfig(this,n),this._d=new Date(null!=n._d?n._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(n){return n instanceof Moment||null!=n&&null!=n._isAMomentObject}function warn(n){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+n)}function deprecate(n,r){var o=!0;return extend$1((function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,n),o){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(arguments[0],l)&&(a+=l+": "+arguments[0][l]+", ");a=a.slice(0,-2)}else a=arguments[s];c.push(a)}warn(n+"\nArguments: "+Array.prototype.slice.call(c).join("")+"\n"+(new Error).stack),o=!1}return r.apply(this,arguments)}),r)}var deprecations={},keys$1;function deprecateSimple(n,r){null!=hooks.deprecationHandler&&hooks.deprecationHandler(n,r),deprecations[n]||(warn(r),deprecations[n]=!0)}function isFunction(n){return"undefined"!=typeof Function&&n instanceof Function||"[object Function]"===Object.prototype.toString.call(n)}function set(n){var r,o;for(o in n)hasOwnProp(n,o)&&(isFunction(r=n[o])?this[o]=r:this["_"+o]=r);this._config=n,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(n,r){var o,a=extend$1({},n);for(o in r)hasOwnProp(r,o)&&(isObject(n[o])&&isObject(r[o])?(a[o]={},extend$1(a[o],n[o]),extend$1(a[o],r[o])):null!=r[o]?a[o]=r[o]:delete a[o]);for(o in n)hasOwnProp(n,o)&&!hasOwnProp(r,o)&&isObject(n[o])&&(a[o]=extend$1({},a[o]));return a}function Locale(n){null!=n&&this.set(n)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null,keys$1=Object.keys?Object.keys:function(n){var r,o=[];for(r in n)hasOwnProp(n,r)&&o.push(r);return o};var defaultCalendar={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(n,r,o){var a=this._calendar[n]||this._calendar.sameElse;return isFunction(a)?a.call(r,o):a}function zeroFill(n,r,o){var a=""+Math.abs(n),s=r-a.length;return(n>=0?o?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+a}var formattingTokens=/(\[[^\[]*\])|(\\)?([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=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(n,r,o,a){var s=a;"string"==typeof a&&(s=function(){return this[a]()}),n&&(formatTokenFunctions[n]=s),r&&(formatTokenFunctions[r[0]]=function(){return zeroFill(s.apply(this,arguments),r[1],r[2])}),o&&(formatTokenFunctions[o]=function(){return this.localeData().ordinal(s.apply(this,arguments),n)})}function removeFormattingTokens(n){return n.match(/\[[\s\S]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"")}function makeFormatFunction(n){var r,o,a=n.match(formattingTokens);for(r=0,o=a.length;r<o;r++)formatTokenFunctions[a[r]]?a[r]=formatTokenFunctions[a[r]]:a[r]=removeFormattingTokens(a[r]);return function(r){var s,l="";for(s=0;s<o;s++)l+=isFunction(a[s])?a[s].call(r,n):a[s];return l}}function formatMoment(n,r){return n.isValid()?(r=expandFormat(r,n.localeData()),formatFunctions[r]=formatFunctions[r]||makeFormatFunction(r),formatFunctions[r](n)):n.localeData().invalidDate()}function expandFormat(n,r){var o=5;function a(n){return r.longDateFormat(n)||n}for(localFormattingTokens.lastIndex=0;o>=0&&localFormattingTokens.test(n);)n=n.replace(localFormattingTokens,a),localFormattingTokens.lastIndex=0,o-=1;return n}var defaultLongDateFormat={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(n){var r=this._longDateFormat[n],o=this._longDateFormat[n.toUpperCase()];return r||!o?r:(this._longDateFormat[n]=o.match(formattingTokens).map((function(n){return"MMMM"===n||"MM"===n||"DD"===n||"dddd"===n?n.slice(1):n})).join(""),this._longDateFormat[n])}var defaultInvalidDate="Invalid date";function invalidDate(){return this._invalidDate}var defaultOrdinal="%d",defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(n){return this._ordinal.replace("%d",n)}var defaultRelativeTime={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(n,r,o,a){var s=this._relativeTime[o];return isFunction(s)?s(n,r,o,a):s.replace(/%d/i,n)}function pastFuture(n,r){var o=this._relativeTime[n>0?"future":"past"];return isFunction(o)?o(r):o.replace(/%s/i,r)}var aliases={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(n){return"string"==typeof n?aliases[n]||aliases[n.toLowerCase()]:void 0}function normalizeObjectUnits(n){var r,o,a={};for(o in n)hasOwnProp(n,o)&&(r=normalizeUnits(o))&&(a[r]=n[o]);return a}var priorities={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(n){var r,o=[];for(r in n)hasOwnProp(n,r)&&o.push({unit:r,priority:priorities[r]});return o.sort((function(n,r){return n.priority-r.priority})),o}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[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=/^[1-9]\d?/,match1to2HasZero=/^([1-9]\d|\d)/,regexes;function addRegexToken(n,r,o){regexes[n]=isFunction(r)?r:function(n,a){return n&&o?o:r}}function getParseRegexForToken(n,r){return hasOwnProp(regexes,n)?regexes[n](r._strict,r._locale):new RegExp(unescapeFormat(n))}function unescapeFormat(n){return regexEscape(n.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(n,r,o,a,s){return r||o||a||s})))}function regexEscape(n){return n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function absFloor(n){return n<0?Math.ceil(n)||0:Math.floor(n)}function toInt(n){var r=+n,o=0;return 0!==r&&isFinite(r)&&(o=absFloor(r)),o}regexes={};var tokens={};function addParseToken(n,r){var o,a,s=r;for("string"==typeof n&&(n=[n]),isNumber(r)&&(s=function(n,o){o[r]=toInt(n)}),a=n.length,o=0;o<a;o++)tokens[n[o]]=s}function addWeekParseToken(n,r){addParseToken(n,(function(n,o,a,s){a._w=a._w||{},r(n,a._w,a,s)}))}function addTimeToArrayFromToken(n,r,o){null!=r&&hasOwnProp(tokens,n)&&tokens[n](r,o._a,o,n)}function isLeapYear(n){return n%4==0&&n%100!=0||n%400==0}var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;function daysInYear(n){return isLeapYear(n)?366:365}addFormatToken("Y",0,0,(function(){var n=this.year();return n<=9999?zeroFill(n,4):"+"+n})),addFormatToken(0,["YY",2],0,(function(){return this.year()%100})),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],YEAR),addParseToken("YYYY",(function(n,r){r[YEAR]=2===n.length?hooks.parseTwoDigitYear(n):toInt(n)})),addParseToken("YY",(function(n,r){r[YEAR]=hooks.parseTwoDigitYear(n)})),addParseToken("Y",(function(n,r){r[YEAR]=parseInt(n,10)})),hooks.parseTwoDigitYear=function(n){return toInt(n)+(toInt(n)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0),indexOf;function getIsLeapYear(){return isLeapYear(this.year())}function makeGetSet(n,r){return function(o){return null!=o?(set$1(this,n,o),hooks.updateOffset(this,r),this):get(this,n)}}function get(n,r){if(!n.isValid())return NaN;var o=n._d,a=n._isUTC;switch(r){case"Milliseconds":return a?o.getUTCMilliseconds():o.getMilliseconds();case"Seconds":return a?o.getUTCSeconds():o.getSeconds();case"Minutes":return a?o.getUTCMinutes():o.getMinutes();case"Hours":return a?o.getUTCHours():o.getHours();case"Date":return a?o.getUTCDate():o.getDate();case"Day":return a?o.getUTCDay():o.getDay();case"Month":return a?o.getUTCMonth():o.getMonth();case"FullYear":return a?o.getUTCFullYear():o.getFullYear();default:return NaN}}function set$1(n,r,o){var a,s,l,c,u;if(n.isValid()&&!isNaN(o)){switch(a=n._d,s=n._isUTC,r){case"Milliseconds":return void(s?a.setUTCMilliseconds(o):a.setMilliseconds(o));case"Seconds":return void(s?a.setUTCSeconds(o):a.setSeconds(o));case"Minutes":return void(s?a.setUTCMinutes(o):a.setMinutes(o));case"Hours":return void(s?a.setUTCHours(o):a.setHours(o));case"Date":return void(s?a.setUTCDate(o):a.setDate(o));case"FullYear":break;default:return}l=o,c=n.month(),u=29!==(u=n.date())||1!==c||isLeapYear(l)?u:28,s?a.setUTCFullYear(l,c,u):a.setFullYear(l,c,u)}}function stringGet(n){return isFunction(this[n=normalizeUnits(n)])?this[n]():this}function stringSet(n,r){if("object"==typeof n){var o,a=getPrioritizedUnits(n=normalizeObjectUnits(n)),s=a.length;for(o=0;o<s;o++)this[a[o].unit](n[a[o].unit])}else if(isFunction(this[n=normalizeUnits(n)]))return this[n](r);return this}function mod(n,r){return(n%r+r)%r}function daysInMonth(n,r){if(isNaN(n)||isNaN(r))return NaN;var o=mod(r,12);return n+=(r-o)/12,1===o?isLeapYear(n)?29:28:31-o%7%2}indexOf=Array.prototype.indexOf?Array.prototype.indexOf:function(n){var r;for(r=0;r<this.length;++r)if(this[r]===n)return r;return-1},addFormatToken("M",["MM",2],"Mo",(function(){return this.month()+1})),addFormatToken("MMM",0,0,(function(n){return this.localeData().monthsShort(this,n)})),addFormatToken("MMMM",0,0,(function(n){return this.localeData().months(this,n)})),addRegexToken("M",match1to2,match1to2NoLeadingZero),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",(function(n,r){return r.monthsShortRegex(n)})),addRegexToken("MMMM",(function(n,r){return r.monthsRegex(n)})),addParseToken(["M","MM"],(function(n,r){r[MONTH]=toInt(n)-1})),addParseToken(["MMM","MMMM"],(function(n,r,o,a){var s=o._locale.monthsParse(n,a,o._strict);null!=s?r[MONTH]=s:getParsingFlags(o).invalidMonth=n}));var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function localeMonths(n,r){return n?isArray$1(this._months)?this._months[n.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(r)?"format":"standalone"][n.month()]:isArray$1(this._months)?this._months:this._months.standalone}function localeMonthsShort(n,r){return n?isArray$1(this._monthsShort)?this._monthsShort[n.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(r)?"format":"standalone"][n.month()]:isArray$1(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function handleStrictParse(n,r,o){var a,s,l,c=n.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)l=createUTC([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(l,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(l,"").toLocaleLowerCase();return o?"MMM"===r?-1!==(s=indexOf.call(this._shortMonthsParse,c))?s:null:-1!==(s=indexOf.call(this._longMonthsParse,c))?s:null:"MMM"===r?-1!==(s=indexOf.call(this._shortMonthsParse,c))||-1!==(s=indexOf.call(this._longMonthsParse,c))?s:null:-1!==(s=indexOf.call(this._longMonthsParse,c))||-1!==(s=indexOf.call(this._shortMonthsParse,c))?s:null}function localeMonthsParse(n,r,o){var a,s,l;if(this._monthsParseExact)return handleStrictParse.call(this,n,r,o);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(s=createUTC([2e3,a]),o&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(s,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(s,"").replace(".","")+"$","i")),o||this._monthsParse[a]||(l="^"+this.months(s,"")+"|^"+this.monthsShort(s,""),this._monthsParse[a]=new RegExp(l.replace(".",""),"i")),o&&"MMMM"===r&&this._longMonthsParse[a].test(n))return a;if(o&&"MMM"===r&&this._shortMonthsParse[a].test(n))return a;if(!o&&this._monthsParse[a].test(n))return a}}function setMonth(n,r){if(!n.isValid())return n;if("string"==typeof r)if(/^\d+$/.test(r))r=toInt(r);else if(!isNumber(r=n.localeData().monthsParse(r)))return n;var o=r,a=n.date();return a=a<29?a:Math.min(a,daysInMonth(n.year(),o)),n._isUTC?n._d.setUTCMonth(o,a):n._d.setMonth(o,a),n}function getSetMonth(n){return null!=n?(setMonth(this,n),hooks.updateOffset(this,!0),this):get(this,"Month")}function getDaysInMonth(){return daysInMonth(this.year(),this.month())}function monthsShortRegex(n){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),n?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&n?this._monthsShortStrictRegex:this._monthsShortRegex)}function monthsRegex(n){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),n?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&n?this._monthsStrictRegex:this._monthsRegex)}function computeMonthsParse(){function n(n,r){return r.length-n.length}var r,o,a,s,l=[],c=[],u=[];for(r=0;r<12;r++)o=createUTC([2e3,r]),a=regexEscape(this.monthsShort(o,"")),s=regexEscape(this.months(o,"")),l.push(a),c.push(s),u.push(s),u.push(a);l.sort(n),c.sort(n),u.sort(n),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(n,r,o,a,s,l,c){var u;return n<100&&n>=0?(u=new Date(n+400,r,o,a,s,l,c),isFinite(u.getFullYear())&&u.setFullYear(n)):u=new Date(n,r,o,a,s,l,c),u}function createUTCDate(n){var r,o;return n<100&&n>=0?((o=Array.prototype.slice.call(arguments))[0]=n+400,r=new Date(Date.UTC.apply(null,o)),isFinite(r.getUTCFullYear())&&r.setUTCFullYear(n)):r=new Date(Date.UTC.apply(null,arguments)),r}function firstWeekOffset(n,r,o){var a=7+r-o;return-((7+createUTCDate(n,0,a).getUTCDay()-r)%7)+a-1}function dayOfYearFromWeeks(n,r,o,a,s){var l,c,u=1+7*(r-1)+(7+o-a)%7+firstWeekOffset(n,a,s);return u<=0?c=daysInYear(l=n-1)+u:u>daysInYear(n)?(l=n+1,c=u-daysInYear(n)):(l=n,c=u),{year:l,dayOfYear:c}}function weekOfYear(n,r,o){var a,s,l=firstWeekOffset(n.year(),r,o),c=Math.floor((n.dayOfYear()-l-1)/7)+1;return c<1?a=c+weeksInYear(s=n.year()-1,r,o):c>weeksInYear(n.year(),r,o)?(a=c-weeksInYear(n.year(),r,o),s=n.year()+1):(s=n.year(),a=c),{week:a,year:s}}function weeksInYear(n,r,o){var a=firstWeekOffset(n,r,o),s=firstWeekOffset(n+1,r,o);return(daysInYear(n)-a+s)/7}function localeWeek(n){return weekOfYear(n,this._week.dow,this._week.doy).week}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addRegexToken("w",match1to2,match1to2NoLeadingZero),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2,match1to2NoLeadingZero),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],(function(n,r,o,a){r[a.substr(0,1)]=toInt(n)}));var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(n){var r=this.localeData().week(this);return null==n?r:this.add(7*(n-r),"d")}function getSetISOWeek(n){var r=weekOfYear(this,1,4).week;return null==n?r:this.add(7*(n-r),"d")}function parseWeekday(n,r){return"string"!=typeof n?n:isNaN(n)?"number"==typeof(n=r.weekdaysParse(n))?n:null:parseInt(n,10)}function parseIsoWeekday(n,r){return"string"==typeof n?r.weekdaysParse(n)%7||7:isNaN(n)?null:n}function shiftWeekdays(n,r){return n.slice(r,7).concat(n.slice(0,r))}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,(function(n){return this.localeData().weekdaysMin(this,n)})),addFormatToken("ddd",0,0,(function(n){return this.localeData().weekdaysShort(this,n)})),addFormatToken("dddd",0,0,(function(n){return this.localeData().weekdays(this,n)})),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",(function(n,r){return r.weekdaysMinRegex(n)})),addRegexToken("ddd",(function(n,r){return r.weekdaysShortRegex(n)})),addRegexToken("dddd",(function(n,r){return r.weekdaysRegex(n)})),addWeekParseToken(["dd","ddd","dddd"],(function(n,r,o,a){var s=o._locale.weekdaysParse(n,a,o._strict);null!=s?r.d=s:getParsingFlags(o).invalidWeekday=n})),addWeekParseToken(["d","e","E"],(function(n,r,o,a){r[a]=toInt(n)}));var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function localeWeekdays(n,r){var o=isArray$1(this._weekdays)?this._weekdays:this._weekdays[n&&!0!==n&&this._weekdays.isFormat.test(r)?"format":"standalone"];return!0===n?shiftWeekdays(o,this._week.dow):n?o[n.day()]:o}function localeWeekdaysShort(n){return!0===n?shiftWeekdays(this._weekdaysShort,this._week.dow):n?this._weekdaysShort[n.day()]:this._weekdaysShort}function localeWeekdaysMin(n){return!0===n?shiftWeekdays(this._weekdaysMin,this._week.dow):n?this._weekdaysMin[n.day()]:this._weekdaysMin}function handleStrictParse$1(n,r,o){var a,s,l,c=n.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)l=createUTC([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 o?"dddd"===r?-1!==(s=indexOf.call(this._weekdaysParse,c))?s:null:"ddd"===r?-1!==(s=indexOf.call(this._shortWeekdaysParse,c))?s:null:-1!==(s=indexOf.call(this._minWeekdaysParse,c))?s:null:"dddd"===r?-1!==(s=indexOf.call(this._weekdaysParse,c))||-1!==(s=indexOf.call(this._shortWeekdaysParse,c))||-1!==(s=indexOf.call(this._minWeekdaysParse,c))?s:null:"ddd"===r?-1!==(s=indexOf.call(this._shortWeekdaysParse,c))||-1!==(s=indexOf.call(this._weekdaysParse,c))||-1!==(s=indexOf.call(this._minWeekdaysParse,c))?s:null:-1!==(s=indexOf.call(this._minWeekdaysParse,c))||-1!==(s=indexOf.call(this._weekdaysParse,c))||-1!==(s=indexOf.call(this._shortWeekdaysParse,c))?s:null}function localeWeekdaysParse(n,r,o){var a,s,l;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,n,r,o);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(s=createUTC([2e3,1]).day(a),o&&!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")),o&&"dddd"===r&&this._fullWeekdaysParse[a].test(n))return a;if(o&&"ddd"===r&&this._shortWeekdaysParse[a].test(n))return a;if(o&&"dd"===r&&this._minWeekdaysParse[a].test(n))return a;if(!o&&this._weekdaysParse[a].test(n))return a}}function getSetDayOfWeek(n){if(!this.isValid())return null!=n?this:NaN;var r=get(this,"Day");return null!=n?(n=parseWeekday(n,this.localeData()),this.add(n-r,"d")):r}function getSetLocaleDayOfWeek(n){if(!this.isValid())return null!=n?this:NaN;var r=(this.day()+7-this.localeData()._week.dow)%7;return null==n?r:this.add(n-r,"d")}function getSetISODayOfWeek(n){if(!this.isValid())return null!=n?this:NaN;if(null!=n){var r=parseIsoWeekday(n,this.localeData());return this.day(this.day()%7?r:r-7)}return this.day()||7}function weekdaysRegex(n){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),n?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&n?this._weekdaysStrictRegex:this._weekdaysRegex)}function weekdaysShortRegex(n){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function weekdaysMinRegex(n){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse(){function n(n,r){return r.length-n.length}var r,o,a,s,l,c=[],u=[],d=[],f=[];for(r=0;r<7;r++)o=createUTC([2e3,1]).day(r),a=regexEscape(this.weekdaysMin(o,"")),s=regexEscape(this.weekdaysShort(o,"")),l=regexEscape(this.weekdays(o,"")),c.push(a),u.push(s),d.push(l),f.push(a),f.push(s),f.push(l);c.sort(n),u.sort(n),d.sort(n),f.sort(n),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(){return this.hours()%12||12}function kFormat(){return this.hours()||24}function meridiem(n,r){addFormatToken(n,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),r)}))}function matchMeridiem(n,r){return r._meridiemParse}function localeIsPM(n){return"p"===(n+"").toLowerCase().charAt(0)}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,kFormat),addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)})),addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)})),addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),meridiem("a",!0),meridiem("A",!1),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2,match1to2HasZero),addRegexToken("h",match1to2,match1to2NoLeadingZero),addRegexToken("k",match1to2,match1to2NoLeadingZero),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],(function(n,r,o){var a=toInt(n);r[HOUR]=24===a?0:a})),addParseToken(["a","A"],(function(n,r,o){o._isPm=o._locale.isPM(n),o._meridiem=n})),addParseToken(["h","hh"],(function(n,r,o){r[HOUR]=toInt(n),getParsingFlags(o).bigHour=!0})),addParseToken("hmm",(function(n,r,o){var a=n.length-2;r[HOUR]=toInt(n.substr(0,a)),r[MINUTE]=toInt(n.substr(a)),getParsingFlags(o).bigHour=!0})),addParseToken("hmmss",(function(n,r,o){var a=n.length-4,s=n.length-2;r[HOUR]=toInt(n.substr(0,a)),r[MINUTE]=toInt(n.substr(a,2)),r[SECOND]=toInt(n.substr(s)),getParsingFlags(o).bigHour=!0})),addParseToken("Hmm",(function(n,r,o){var a=n.length-2;r[HOUR]=toInt(n.substr(0,a)),r[MINUTE]=toInt(n.substr(a))})),addParseToken("Hmmss",(function(n,r,o){var a=n.length-4,s=n.length-2;r[HOUR]=toInt(n.substr(0,a)),r[MINUTE]=toInt(n.substr(a,2)),r[SECOND]=toInt(n.substr(s))}));var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet("Hours",!0);function localeMeridiem(n,r,o){return n>11?o?"pm":"PM":o?"am":"AM"}var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse},locales={},localeFamilies={},globalLocale;function commonPrefix(n,r){var o,a=Math.min(n.length,r.length);for(o=0;o<a;o+=1)if(n[o]!==r[o])return o;return a}function normalizeLocale(n){return n?n.toLowerCase().replace("_","-"):n}function chooseLocale(n){for(var r,o,a,s,l=0;l<n.length;){for(r=(s=normalizeLocale(n[l]).split("-")).length,o=(o=normalizeLocale(n[l+1]))?o.split("-"):null;r>0;){if(a=loadLocale(s.slice(0,r).join("-")))return a;if(o&&o.length>=r&&commonPrefix(s,o)>=r-1)break;r--}l++}return globalLocale}function isLocaleNameSane(n){return!(!n||!n.match("^[^/\\\\]*$"))}function loadLocale(n){var r=null;if(void 0===locales[n]&&"undefined"!=typeof module&&module&&module.exports&&isLocaleNameSane(n))try{r=globalLocale._abbr,require("./locale/"+n),getSetGlobalLocale(r)}catch(e3){locales[n]=null}return locales[n]}function getSetGlobalLocale(n,r){var o;return n&&((o=isUndefined(r)?getLocale(n):defineLocale(n,r))?globalLocale=o:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+n+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(n,r){if(null!==r){var o,a=baseConfig;if(r.abbr=n,null!=locales[n])deprecateSimple("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[n]._config;else if(null!=r.parentLocale)if(null!=locales[r.parentLocale])a=locales[r.parentLocale]._config;else{if(null==(o=loadLocale(r.parentLocale)))return localeFamilies[r.parentLocale]||(localeFamilies[r.parentLocale]=[]),localeFamilies[r.parentLocale].push({name:n,config:r}),null;a=o._config}return locales[n]=new Locale(mergeConfigs(a,r)),localeFamilies[n]&&localeFamilies[n].forEach((function(n){defineLocale(n.name,n.config)})),getSetGlobalLocale(n),locales[n]}return delete locales[n],null}function updateLocale(n,r){if(null!=r){var o,a,s=baseConfig;null!=locales[n]&&null!=locales[n].parentLocale?locales[n].set(mergeConfigs(locales[n]._config,r)):(null!=(a=loadLocale(n))&&(s=a._config),r=mergeConfigs(s,r),null==a&&(r.abbr=n),(o=new Locale(r)).parentLocale=locales[n],locales[n]=o),getSetGlobalLocale(n)}else null!=locales[n]&&(null!=locales[n].parentLocale?(locales[n]=locales[n].parentLocale,n===getSetGlobalLocale()&&getSetGlobalLocale(n)):null!=locales[n]&&delete locales[n]);return locales[n]}function getLocale(n){var r;if(n&&n._locale&&n._locale._abbr&&(n=n._locale._abbr),!n)return globalLocale;if(!isArray$1(n)){if(r=loadLocale(n))return r;n=[n]}return chooseLocale(n)}function listLocales(){return keys$1(locales)}function checkOverflow(n){var r,o=n._a;return o&&-2===getParsingFlags(n).overflow&&(r=o[MONTH]<0||o[MONTH]>11?MONTH:o[DATE]<1||o[DATE]>daysInMonth(o[YEAR],o[MONTH])?DATE:o[HOUR]<0||o[HOUR]>24||24===o[HOUR]&&(0!==o[MINUTE]||0!==o[SECOND]||0!==o[MILLISECOND])?HOUR:o[MINUTE]<0||o[MINUTE]>59?MINUTE:o[SECOND]<0||o[SECOND]>59?SECOND:o[MILLISECOND]<0||o[MILLISECOND]>999?MILLISECOND:-1,getParsingFlags(n)._overflowDayOfYear&&(r<YEAR||r>DATE)&&(r=DATE),getParsingFlags(n)._overflowWeeks&&-1===r&&(r=WEEK),getParsingFlags(n)._overflowWeekday&&-1===r&&(r=WEEKDAY),getParsingFlags(n).overflow=r),n}var extendedIsoRegex=/^\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=/^\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=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["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=[["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=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(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={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function configFromISO(n){var r,o,a,s,l,c,u=n._i,d=extendedIsoRegex.exec(u)||basicIsoRegex.exec(u),f=isoDates.length,m=isoTimes.length;if(d){for(getParsingFlags(n).iso=!0,r=0,o=f;r<o;r++)if(isoDates[r][1].exec(d[1])){s=isoDates[r][0],a=!1!==isoDates[r][2];break}if(null==s)return void(n._isValid=!1);if(d[3]){for(r=0,o=m;r<o;r++)if(isoTimes[r][1].exec(d[3])){l=(d[2]||" ")+isoTimes[r][0];break}if(null==l)return void(n._isValid=!1)}if(!a&&null!=l)return void(n._isValid=!1);if(d[4]){if(!tzRegex.exec(d[4]))return void(n._isValid=!1);c="Z"}n._f=s+(l||"")+(c||""),configFromStringAndFormat(n)}else n._isValid=!1}function extractFromRFC2822Strings(n,r,o,a,s,l){var c=[untruncateYear(n),defaultLocaleMonthsShort.indexOf(r),parseInt(o,10),parseInt(a,10),parseInt(s,10)];return l&&c.push(parseInt(l,10)),c}function untruncateYear(n){var r=parseInt(n,10);return r<=49?2e3+r:r<=999?1900+r:r}function preprocessRFC2822(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function checkWeekday(n,r,o){if(n&&defaultLocaleWeekdaysShort.indexOf(n)!==new Date(r[0],r[1],r[2]).getDay())return getParsingFlags(o).weekdayMismatch=!0,o._isValid=!1,!1;return!0}function calculateOffset(n,r,o){if(n)return obsOffsets[n];if(r)return 0;var a=parseInt(o,10),s=a%100;return 60*((a-s)/100)+s}function configFromRFC2822(n){var r,o=rfc2822.exec(preprocessRFC2822(n._i));if(o){if(r=extractFromRFC2822Strings(o[4],o[3],o[2],o[5],o[6],o[7]),!checkWeekday(o[1],r,n))return;n._a=r,n._tzm=calculateOffset(o[8],o[9],o[10]),n._d=createUTCDate.apply(null,n._a),n._d.setUTCMinutes(n._d.getUTCMinutes()-n._tzm),getParsingFlags(n).rfc2822=!0}else n._isValid=!1}function configFromString(n){var r=aspNetJsonRegex.exec(n._i);null===r?(configFromISO(n),!1===n._isValid&&(delete n._isValid,configFromRFC2822(n),!1===n._isValid&&(delete n._isValid,n._strict?n._isValid=!1:hooks.createFromInputFallback(n)))):n._d=new Date(+r[1])}function defaults$1(n,r,o){return null!=n?n:null!=r?r:o}function currentDateArray(n){var r=new Date(hooks.now());return n._useUTC?[r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()]:[r.getFullYear(),r.getMonth(),r.getDate()]}function configFromArray(n){var r,o,a,s,l,c=[];if(!n._d){for(a=currentDateArray(n),n._w&&null==n._a[DATE]&&null==n._a[MONTH]&&dayOfYearFromWeekInfo(n),null!=n._dayOfYear&&(l=defaults$1(n._a[YEAR],a[YEAR]),(n._dayOfYear>daysInYear(l)||0===n._dayOfYear)&&(getParsingFlags(n)._overflowDayOfYear=!0),o=createUTCDate(l,0,n._dayOfYear),n._a[MONTH]=o.getUTCMonth(),n._a[DATE]=o.getUTCDate()),r=0;r<3&&null==n._a[r];++r)n._a[r]=c[r]=a[r];for(;r<7;r++)n._a[r]=c[r]=null==n._a[r]?2===r?1:0:n._a[r];24===n._a[HOUR]&&0===n._a[MINUTE]&&0===n._a[SECOND]&&0===n._a[MILLISECOND]&&(n._nextDay=!0,n._a[HOUR]=0),n._d=(n._useUTC?createUTCDate:createDate).apply(null,c),s=n._useUTC?n._d.getUTCDay():n._d.getDay(),null!=n._tzm&&n._d.setUTCMinutes(n._d.getUTCMinutes()-n._tzm),n._nextDay&&(n._a[HOUR]=24),n._w&&void 0!==n._w.d&&n._w.d!==s&&(getParsingFlags(n).weekdayMismatch=!0)}}function dayOfYearFromWeekInfo(n){var r,o,a,s,l,c,u,d,f;null!=(r=n._w).GG||null!=r.W||null!=r.E?(l=1,c=4,o=defaults$1(r.GG,n._a[YEAR],weekOfYear(createLocal(),1,4).year),a=defaults$1(r.W,1),((s=defaults$1(r.E,1))<1||s>7)&&(d=!0)):(l=n._locale._week.dow,c=n._locale._week.doy,f=weekOfYear(createLocal(),l,c),o=defaults$1(r.gg,n._a[YEAR],f.year),a=defaults$1(r.w,f.week),null!=r.d?((s=r.d)<0||s>6)&&(d=!0):null!=r.e?(s=r.e+l,(r.e<0||r.e>6)&&(d=!0)):s=l),a<1||a>weeksInYear(o,l,c)?getParsingFlags(n)._overflowWeeks=!0:null!=d?getParsingFlags(n)._overflowWeekday=!0:(u=dayOfYearFromWeeks(o,a,s,l,c),n._a[YEAR]=u.year,n._dayOfYear=u.dayOfYear)}function configFromStringAndFormat(n){if(n._f!==hooks.ISO_8601)if(n._f!==hooks.RFC_2822){n._a=[],getParsingFlags(n).empty=!0;var r,o,a,s,l,c,u,d=""+n._i,f=d.length,m=0;for(u=(a=expandFormat(n._f,n._locale).match(formattingTokens)||[]).length,r=0;r<u;r++)s=a[r],(o=(d.match(getParseRegexForToken(s,n))||[])[0])&&((l=d.substr(0,d.indexOf(o))).length>0&&getParsingFlags(n).unusedInput.push(l),d=d.slice(d.indexOf(o)+o.length),m+=o.length),formatTokenFunctions[s]?(o?getParsingFlags(n).empty=!1:getParsingFlags(n).unusedTokens.push(s),addTimeToArrayFromToken(s,o,n)):n._strict&&!o&&getParsingFlags(n).unusedTokens.push(s);getParsingFlags(n).charsLeftOver=f-m,d.length>0&&getParsingFlags(n).unusedInput.push(d),n._a[HOUR]<=12&&!0===getParsingFlags(n).bigHour&&n._a[HOUR]>0&&(getParsingFlags(n).bigHour=void 0),getParsingFlags(n).parsedDateParts=n._a.slice(0),getParsingFlags(n).meridiem=n._meridiem,n._a[HOUR]=meridiemFixWrap(n._locale,n._a[HOUR],n._meridiem),null!==(c=getParsingFlags(n).era)&&(n._a[YEAR]=n._locale.erasConvertYear(c,n._a[YEAR])),configFromArray(n),checkOverflow(n)}else configFromRFC2822(n);else configFromISO(n)}function meridiemFixWrap(n,r,o){var a;return null==o?r:null!=n.meridiemHour?n.meridiemHour(r,o):null!=n.isPM?((a=n.isPM(o))&&r<12&&(r+=12),a||12!==r||(r=0),r):r}function configFromStringAndArray(n){var r,o,a,s,l,c,u=!1,d=n._f.length;if(0===d)return getParsingFlags(n).invalidFormat=!0,void(n._d=new Date(NaN));for(s=0;s<d;s++)l=0,c=!1,r=copyConfig({},n),null!=n._useUTC&&(r._useUTC=n._useUTC),r._f=n._f[s],configFromStringAndFormat(r),isValid(r)&&(c=!0),l+=getParsingFlags(r).charsLeftOver,l+=10*getParsingFlags(r).unusedTokens.length,getParsingFlags(r).score=l,u?l<a&&(a=l,o=r):(null==a||l<a||c)&&(a=l,o=r,c&&(u=!0));extend$1(n,o||r)}function configFromObject(n){if(!n._d){var r=normalizeObjectUnits(n._i),o=void 0===r.day?r.date:r.day;n._a=map([r.year,r.month,o,r.hour,r.minute,r.second,r.millisecond],(function(n){return n&&parseInt(n,10)})),configFromArray(n)}}function createFromConfig(n){var r=new Moment(checkOverflow(prepareConfig(n)));return r._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function prepareConfig(n){var r=n._i,o=n._f;return n._locale=n._locale||getLocale(n._l),null===r||void 0===o&&""===r?createInvalid({nullInput:!0}):("string"==typeof r&&(n._i=r=n._locale.preparse(r)),isMoment(r)?new Moment(checkOverflow(r)):(isDate(r)?n._d=r:isArray$1(o)?configFromStringAndArray(n):o?configFromStringAndFormat(n):configFromInput(n),isValid(n)||(n._d=null),n))}function configFromInput(n){var r=n._i;isUndefined(r)?n._d=new Date(hooks.now()):isDate(r)?n._d=new Date(r.valueOf()):"string"==typeof r?configFromString(n):isArray$1(r)?(n._a=map(r.slice(0),(function(n){return parseInt(n,10)})),configFromArray(n)):isObject(r)?configFromObject(n):isNumber(r)?n._d=new Date(r):hooks.createFromInputFallback(n)}function createLocalOrUTC(n,r,o,a,s){var l={};return!0!==r&&!1!==r||(a=r,r=void 0),!0!==o&&!1!==o||(a=o,o=void 0),(isObject(n)&&isObjectEmpty(n)||isArray$1(n)&&0===n.length)&&(n=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=s,l._l=o,l._i=n,l._f=r,l._strict=a,createFromConfig(l)}function createLocal(n,r,o,a){return createLocalOrUTC(n,r,o,a,!1)}hooks.createFromInputFallback=deprecate("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(n){n._d=new Date(n._i+(n._useUTC?" UTC":""))})),hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var n=createLocal.apply(null,arguments);return this.isValid()&&n.isValid()?n<this?this:n:createInvalid()})),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var n=createLocal.apply(null,arguments);return this.isValid()&&n.isValid()?n>this?this:n:createInvalid()}));function pickBy(n,r){var o,a;if(1===r.length&&isArray$1(r[0])&&(r=r[0]),!r.length)return createLocal();for(o=r[0],a=1;a<r.length;++a)r[a].isValid()&&!r[a][n](o)||(o=r[a]);return o}function min(){return pickBy("isBefore",[].slice.call(arguments,0))}function max$1(){return pickBy("isAfter",[].slice.call(arguments,0))}var now=function(){return Date.now?Date.now():+new Date},ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function isDurationValid(n){var r,o,a=!1,s=ordering.length;for(r in n)if(hasOwnProp(n,r)&&(-1===indexOf.call(ordering,r)||null!=n[r]&&isNaN(n[r])))return!1;for(o=0;o<s;++o)if(n[ordering[o]]){if(a)return!1;parseFloat(n[ordering[o]])!==toInt(n[ordering[o]])&&(a=!0)}return!0}function isValid$1(){return this._isValid}function createInvalid$1(){return createDuration(NaN)}function Duration(n){var r=normalizeObjectUnits(n),o=r.year||0,a=r.quarter||0,s=r.month||0,l=r.week||r.isoWeek||0,c=r.day||0,u=r.hour||0,d=r.minute||0,f=r.second||0,m=r.millisecond||0;this._isValid=isDurationValid(r),this._milliseconds=+m+1e3*f+6e4*d+1e3*u*60*60,this._days=+c+7*l,this._months=+s+3*a+12*o,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(n){return n instanceof Duration}function absRound(n){return n<0?-1*Math.round(-1*n):Math.round(n)}function compareArrays(n,r,o){var a,s=Math.min(n.length,r.length),l=Math.abs(n.length-r.length),c=0;for(a=0;a<s;a++)toInt(n[a])!==toInt(r[a])&&c++;return c+l}function offset(n,r){addFormatToken(n,0,0,(function(){var n=this.utcOffset(),o="+";return n<0&&(n=-n,o="-"),o+zeroFill(~~(n/60),2)+r+zeroFill(~~n%60,2)}))}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],(function(n,r,o){o._useUTC=!0,o._tzm=offsetFromString(matchShortOffset,n)}));var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(n,r){var o,a,s=(r||"").match(n);return null===s?null:0===(a=60*(o=((s[s.length-1]||[])+"").match(chunkOffset)||["-",0,0])[1]+toInt(o[2]))?0:"+"===o[0]?a:-a}function cloneWithOffset(n,r){var o,a;return r._isUTC?(o=r.clone(),a=(isMoment(n)||isDate(n)?n.valueOf():createLocal(n).valueOf())-o.valueOf(),o._d.setTime(o._d.valueOf()+a),hooks.updateOffset(o,!1),o):createLocal(n).local()}function getDateOffset(n){return-Math.round(n._d.getTimezoneOffset())}function getSetOffset(n,r,o){var a,s=this._offset||0;if(!this.isValid())return null!=n?this:NaN;if(null!=n){if("string"==typeof n){if(null===(n=offsetFromString(matchShortOffset,n)))return this}else Math.abs(n)<16&&!o&&(n*=60);return!this._isUTC&&r&&(a=getDateOffset(this)),this._offset=n,this._isUTC=!0,null!=a&&this.add(a,"m"),s!==n&&(!r||this._changeInProgress?addSubtract(this,createDuration(n-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?s:getDateOffset(this)}function getSetZone(n,r){return null!=n?("string"!=typeof n&&(n=-n),this.utcOffset(n,r),this):-this.utcOffset()}function setOffsetToUTC(n){return this.utcOffset(0,n)}function setOffsetToLocal(n){return this._isUTC&&(this.utcOffset(0,n),this._isUTC=!1,n&&this.subtract(getDateOffset(this),"m")),this}function setOffsetToParsedOffset(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var n=offsetFromString(matchOffset,this._i);null!=n?this.utcOffset(n):this.utcOffset(0,!0)}return this}function hasAlignedHourOffset(n){return!!this.isValid()&&(n=n?createLocal(n).utcOffset():0,(this.utcOffset()-n)%60==0)}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var n,r={};return copyConfig(r,this),(r=prepareConfig(r))._a?(n=r._isUTC?createUTC(r._a):createLocal(r._a),this._isDSTShifted=this.isValid()&&compareArrays(r._a,n.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function isLocal(){return!!this.isValid()&&!this._isUTC}function isUtcOffset(){return!!this.isValid()&&this._isUTC}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks.updateOffset=function(){};var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?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(n,r){var o,a,s,l=n,c=null;return isDuration(n)?l={ms:n._milliseconds,d:n._days,M:n._months}:isNumber(n)||!isNaN(+n)?(l={},r?l[r]=+n:l.milliseconds=+n):(c=aspNetRegex.exec(n))?(o="-"===c[1]?-1:1,l={y:0,d:toInt(c[DATE])*o,h:toInt(c[HOUR])*o,m:toInt(c[MINUTE])*o,s:toInt(c[SECOND])*o,ms:toInt(absRound(1e3*c[MILLISECOND]))*o}):(c=isoRegex.exec(n))?(o="-"===c[1]?-1:1,l={y:parseIso(c[2],o),M:parseIso(c[3],o),w:parseIso(c[4],o),d:parseIso(c[5],o),h:parseIso(c[6],o),m:parseIso(c[7],o),s:parseIso(c[8],o)}):null==l?l={}:"object"==typeof l&&("from"in l||"to"in l)&&(s=momentsDifference(createLocal(l.from),createLocal(l.to)),(l={}).ms=s.milliseconds,l.M=s.months),a=new Duration(l),isDuration(n)&&hasOwnProp(n,"_locale")&&(a._locale=n._locale),isDuration(n)&&hasOwnProp(n,"_isValid")&&(a._isValid=n._isValid),a}function parseIso(n,r){var o=n&&parseFloat(n.replace(",","."));return(isNaN(o)?0:o)*r}function positiveMomentsDifference(n,r){var o={};return o.months=r.month()-n.month()+12*(r.year()-n.year()),n.clone().add(o.months,"M").isAfter(r)&&--o.months,o.milliseconds=+r-+n.clone().add(o.months,"M"),o}function momentsDifference(n,r){var o;return n.isValid()&&r.isValid()?(r=cloneWithOffset(r,n),n.isBefore(r)?o=positiveMomentsDifference(n,r):((o=positiveMomentsDifference(r,n)).milliseconds=-o.milliseconds,o.months=-o.months),o):{milliseconds:0,months:0}}function createAdder(n,r){return function(o,a){var s;return null===a||isNaN(+a)||(deprecateSimple(r,"moment()."+r+"(period, number) is deprecated. Please use moment()."+r+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=o,o=a,a=s),addSubtract(this,createDuration(o,a),n),this}}function addSubtract(n,r,o,a){var s=r._milliseconds,l=absRound(r._days),c=absRound(r._months);n.isValid()&&(a=null==a||a,c&&setMonth(n,get(n,"Month")+c*o),l&&set$1(n,"Date",get(n,"Date")+l*o),s&&n._d.setTime(n._d.valueOf()+s*o),a&&hooks.updateOffset(n,l||c))}createDuration.fn=Duration.prototype,createDuration.invalid=createInvalid$1;var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(n){return"string"==typeof n||n instanceof String}function isMomentInput(n){return isMoment(n)||isDate(n)||isString(n)||isNumber(n)||isNumberOrStringArray(n)||isMomentInputObject(n)||null==n}function isMomentInputObject(n){var r,o=isObject(n)&&!isObjectEmpty(n),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(r=0;r<l;r+=1)a=a||hasOwnProp(n,s[r]);return o&&a}function isNumberOrStringArray(n){var r=isArray$1(n),o=!1;return r&&(o=0===n.filter((function(r){return!isNumber(r)&&isString(n)})).length),r&&o}function isCalendarSpec(n){var r,o=isObject(n)&&!isObjectEmpty(n),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(r=0;r<s.length;r+=1)a=a||hasOwnProp(n,s[r]);return o&&a}function getCalendarFormat(n,r){var o=n.diff(r,"days",!0);return o<-6?"sameElse":o<-1?"lastWeek":o<0?"lastDay":o<1?"sameDay":o<2?"nextDay":o<7?"nextWeek":"sameElse"}function calendar$1(n,r){1===arguments.length&&(arguments[0]?isMomentInput(arguments[0])?(n=arguments[0],r=void 0):isCalendarSpec(arguments[0])&&(r=arguments[0],n=void 0):(n=void 0,r=void 0));var o=n||createLocal(),a=cloneWithOffset(o,this).startOf("day"),s=hooks.calendarFormat(this,a)||"sameElse",l=r&&(isFunction(r[s])?r[s].call(this,o):r[s]);return this.format(l||this.localeData().calendar(s,this,createLocal(o)))}function clone$3(){return new Moment(this)}function isAfter(n,r){var o=isMoment(n)?n:createLocal(n);return!(!this.isValid()||!o.isValid())&&("millisecond"===(r=normalizeUnits(r)||"millisecond")?this.valueOf()>o.valueOf():o.valueOf()<this.clone().startOf(r).valueOf())}function isBefore(n,r){var o=isMoment(n)?n:createLocal(n);return!(!this.isValid()||!o.isValid())&&("millisecond"===(r=normalizeUnits(r)||"millisecond")?this.valueOf()<o.valueOf():this.clone().endOf(r).valueOf()<o.valueOf())}function isBetween(n,r,o,a){var s=isMoment(n)?n:createLocal(n),l=isMoment(r)?r:createLocal(r);return!!(this.isValid()&&s.isValid()&&l.isValid())&&(("("===(a=a||"()")[0]?this.isAfter(s,o):!this.isBefore(s,o))&&(")"===a[1]?this.isBefore(l,o):!this.isAfter(l,o)))}function isSame(n,r){var o,a=isMoment(n)?n:createLocal(n);return!(!this.isValid()||!a.isValid())&&("millisecond"===(r=normalizeUnits(r)||"millisecond")?this.valueOf()===a.valueOf():(o=a.valueOf(),this.clone().startOf(r).valueOf()<=o&&o<=this.clone().endOf(r).valueOf()))}function isSameOrAfter(n,r){return this.isSame(n,r)||this.isAfter(n,r)}function isSameOrBefore(n,r){return this.isSame(n,r)||this.isBefore(n,r)}function diff(n,r,o){var a,s,l;if(!this.isValid())return NaN;if(!(a=cloneWithOffset(n,this)).isValid())return NaN;switch(s=6e4*(a.utcOffset()-this.utcOffset()),r=normalizeUnits(r)){case"year":l=monthDiff(this,a)/12;break;case"month":l=monthDiff(this,a);break;case"quarter":l=monthDiff(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 o?l:absFloor(l)}function monthDiff(n,r){if(n.date()<r.date())return-monthDiff(r,n);var o=12*(r.year()-n.year())+(r.month()-n.month()),a=n.clone().add(o,"months");return-(o+(r-a<0?(r-a)/(a-n.clone().add(o-1,"months")):(r-a)/(n.clone().add(o+1,"months")-a)))||0}function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function toISOString(n){if(!this.isValid())return null;var r=!0!==n,o=r?this.clone().utc():this;return o.year()<0||o.year()>9999?formatMoment(o,r?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?r?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment(o,"Z")):formatMoment(o,r?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var n,r,o,a="moment",s="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",s="Z"),n="["+a+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",o=s+'[")]',this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+o)}function format(n){n||(n=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var r=formatMoment(this,n);return this.localeData().postformat(r)}function from(n,r){return this.isValid()&&(isMoment(n)&&n.isValid()||createLocal(n).isValid())?createDuration({to:this,from:n}).locale(this.locale()).humanize(!r):this.localeData().invalidDate()}function fromNow(n){return this.from(createLocal(),n)}function to(n,r){return this.isValid()&&(isMoment(n)&&n.isValid()||createLocal(n).isValid())?createDuration({from:this,to:n}).locale(this.locale()).humanize(!r):this.localeData().invalidDate()}function toNow(n){return this.to(createLocal(),n)}function locale(n){var r;return void 0===n?this._locale._abbr:(null!=(r=getLocale(n))&&(this._locale=r),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(n){return void 0===n?this.localeData():this.locale(n)}));function localeData(){return this._locale}var MS_PER_SECOND=1e3,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=3506328*MS_PER_HOUR;function mod$1(n,r){return(n%r+r)%r}function localStartOfDate(n,r,o){return n<100&&n>=0?new Date(n+400,r,o)-MS_PER_400_YEARS:new Date(n,r,o).valueOf()}function utcStartOfDate(n,r,o){return n<100&&n>=0?Date.UTC(n+400,r,o)-MS_PER_400_YEARS:Date.UTC(n,r,o)}function startOf(n){var r,o;if(void 0===(n=normalizeUnits(n))||"millisecond"===n||!this.isValid())return this;switch(o=this._isUTC?utcStartOfDate:localStartOfDate,n){case"year":r=o(this.year(),0,1);break;case"quarter":r=o(this.year(),this.month()-this.month()%3,1);break;case"month":r=o(this.year(),this.month(),1);break;case"week":r=o(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":r=o(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":r=o(this.year(),this.month(),this.date());break;case"hour":r=this._d.valueOf(),r-=mod$1(r+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case"minute":r=this._d.valueOf(),r-=mod$1(r,MS_PER_MINUTE);break;case"second":r=this._d.valueOf(),r-=mod$1(r,MS_PER_SECOND)}return this._d.setTime(r),hooks.updateOffset(this,!0),this}function endOf(n){var r,o;if(void 0===(n=normalizeUnits(n))||"millisecond"===n||!this.isValid())return this;switch(o=this._isUTC?utcStartOfDate:localStartOfDate,n){case"year":r=o(this.year()+1,0,1)-1;break;case"quarter":r=o(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":r=o(this.year(),this.month()+1,1)-1;break;case"week":r=o(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":r=o(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":r=o(this.year(),this.month(),this.date()+1)-1;break;case"hour":r=this._d.valueOf(),r+=MS_PER_HOUR-mod$1(r+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case"minute":r=this._d.valueOf(),r+=MS_PER_MINUTE-mod$1(r,MS_PER_MINUTE)-1;break;case"second":r=this._d.valueOf(),r+=MS_PER_SECOND-mod$1(r,MS_PER_SECOND)-1}return this._d.setTime(r),hooks.updateOffset(this,!0),this}function valueOf(){return this._d.valueOf()-6e4*(this._offset||0)}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray(){var n=this;return[n.year(),n.month(),n.date(),n.hour(),n.minute(),n.second(),n.millisecond()]}function toObject$1(){var n=this;return{years:n.year(),months:n.month(),date:n.date(),hours:n.hours(),minutes:n.minutes(),seconds:n.seconds(),milliseconds:n.milliseconds()}}function toJSON$1(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend$1({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function localeEras(n,r){var o,a,s,l=this._eras||getLocale("en")._eras;for(o=0,a=l.length;o<a;++o){if("string"==typeof l[o].since)s=hooks(l[o].since).startOf("day"),l[o].since=s.valueOf();switch(typeof l[o].until){case"undefined":l[o].until=1/0;break;case"string":s=hooks(l[o].until).startOf("day").valueOf(),l[o].until=s.valueOf()}}return l}function localeErasParse(n,r,o){var a,s,l,c,u,d=this.eras();for(n=n.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(),o)switch(r){case"N":case"NN":case"NNN":if(c===n)return d[a];break;case"NNNN":if(l===n)return d[a];break;case"NNNNN":if(u===n)return d[a]}else if([l,c,u].indexOf(n)>=0)return d[a]}function localeErasConvertYear(n,r){var o=n.since<=n.until?1:-1;return void 0===r?hooks(n.since).year():hooks(n.since).year()+(r-n.offset)*o}function getEraName(){var n,r,o,a=this.localeData().eras();for(n=0,r=a.length;n<r;++n){if(o=this.clone().startOf("day").valueOf(),a[n].since<=o&&o<=a[n].until)return a[n].name;if(a[n].until<=o&&o<=a[n].since)return a[n].name}return""}function getEraNarrow(){var n,r,o,a=this.localeData().eras();for(n=0,r=a.length;n<r;++n){if(o=this.clone().startOf("day").valueOf(),a[n].since<=o&&o<=a[n].until)return a[n].narrow;if(a[n].until<=o&&o<=a[n].since)return a[n].narrow}return""}function getEraAbbr(){var n,r,o,a=this.localeData().eras();for(n=0,r=a.length;n<r;++n){if(o=this.clone().startOf("day").valueOf(),a[n].since<=o&&o<=a[n].until)return a[n].abbr;if(a[n].until<=o&&o<=a[n].since)return a[n].abbr}return""}function getEraYear(){var n,r,o,a,s=this.localeData().eras();for(n=0,r=s.length;n<r;++n)if(o=s[n].since<=s[n].until?1:-1,a=this.clone().startOf("day").valueOf(),s[n].since<=a&&a<=s[n].until||s[n].until<=a&&a<=s[n].since)return(this.year()-hooks(s[n].since).year())*o+s[n].offset;return this.year()}function erasNameRegex(n){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),n?this._erasNameRegex:this._erasRegex}function erasAbbrRegex(n){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),n?this._erasAbbrRegex:this._erasRegex}function erasNarrowRegex(n){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),n?this._erasNarrowRegex:this._erasRegex}function matchEraAbbr(n,r){return r.erasAbbrRegex(n)}function matchEraName(n,r){return r.erasNameRegex(n)}function matchEraNarrow(n,r){return r.erasNarrowRegex(n)}function matchEraYearOrdinal(n,r){return r._eraYearOrdinalRegex||matchUnsigned}function computeErasParse(){var n,r,o,a,s,l=[],c=[],u=[],d=[],f=this.eras();for(n=0,r=f.length;n<r;++n)o=regexEscape(f[n].name),a=regexEscape(f[n].abbr),s=regexEscape(f[n].narrow),c.push(o),l.push(a),u.push(s),d.push(o),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(n,r){addFormatToken(0,[n,n.length],0,r)}function getSetWeekYear(n){return getSetWeekYearHelper.call(this,n,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear(n){return getSetWeekYearHelper.call(this,n,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getISOWeeksInISOWeekYear(){return weeksInYear(this.isoWeekYear(),1,4)}function getWeeksInYear(){var n=this.localeData()._week;return weeksInYear(this.year(),n.dow,n.doy)}function getWeeksInWeekYear(){var n=this.localeData()._week;return weeksInYear(this.weekYear(),n.dow,n.doy)}function getSetWeekYearHelper(n,r,o,a,s){var l;return null==n?weekOfYear(this,a,s).year:(r>(l=weeksInYear(n,a,s))&&(r=l),setWeekAll.call(this,n,r,o,a,s))}function setWeekAll(n,r,o,a,s){var l=dayOfYearFromWeeks(n,r,o,a,s),c=createUTCDate(l.year,0,l.dayOfYear);return this.year(c.getUTCFullYear()),this.month(c.getUTCMonth()),this.date(c.getUTCDate()),this}function getSetQuarter(n){return null==n?Math.ceil((this.month()+1)/3):this.month(3*(n-1)+this.month()%3)}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",matchEraName),addRegexToken("NNNNN",matchEraNarrow),addParseToken(["N","NN","NNN","NNNN","NNNNN"],(function(n,r,o,a){var s=o._locale.erasParse(n,a,o._strict);s?getParsingFlags(o).era=s:getParsingFlags(o).invalidEra=n})),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",matchEraYearOrdinal),addParseToken(["y","yy","yyy","yyyy"],YEAR),addParseToken(["yo"],(function(n,r,o,a){var s;o._locale._eraYearOrdinalRegex&&(s=n.match(o._locale._eraYearOrdinalRegex)),o._locale.eraYearOrdinalParse?r[YEAR]=o._locale.eraYearOrdinalParse(n,s):r[YEAR]=parseInt(n,10)})),addFormatToken(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],(function(n,r,o,a){r[a.substr(0,2)]=toInt(n)})),addWeekParseToken(["gg","GG"],(function(n,r,o,a){r[a]=hooks.parseTwoDigitYear(n)})),addFormatToken("Q",0,"Qo","quarter"),addRegexToken("Q",match1),addParseToken("Q",(function(n,r){r[MONTH]=3*(toInt(n)-1)})),addFormatToken("D",["DD",2],"Do","date"),addRegexToken("D",match1to2,match1to2NoLeadingZero),addRegexToken("DD",match1to2,match2),addRegexToken("Do",(function(n,r){return n?r._dayOfMonthOrdinalParse||r._ordinalParse:r._dayOfMonthOrdinalParseLenient})),addParseToken(["D","DD"],DATE),addParseToken("Do",(function(n,r){r[DATE]=toInt(n.match(match1to2)[0])}));var getSetDayOfMonth=makeGetSet("Date",!0);function getSetDayOfYear(n){var r=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==n?r:this.add(n-r,"d")}addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],(function(n,r,o){o._dayOfYear=toInt(n)})),addFormatToken("m",["mm",2],0,"minute"),addRegexToken("m",match1to2,match1to2HasZero),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addRegexToken("s",match1to2,match1to2HasZero),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);var getSetSecond=makeGetSet("Seconds",!1),token,getSetMillisecond;for(addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(n,r){r[MILLISECOND]=toInt(1e3*("0."+n))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function createUnix(n){return createLocal(1e3*n)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(n){return n}proto.add=add,proto.calendar=calendar$1,proto.clone=clone$3,proto.diff=diff,proto.endOf=endOf,proto.format=format,proto.from=from,proto.fromNow=fromNow,proto.to=to,proto.toNow=toNow,proto.get=stringGet,proto.invalidAt=invalidAt,proto.isAfter=isAfter,proto.isBefore=isBefore,proto.isBetween=isBetween,proto.isSame=isSame,proto.isSameOrAfter=isSameOrAfter,proto.isSameOrBefore=isSameOrBefore,proto.isValid=isValid$2,proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=parsingFlags,proto.set=stringSet,proto.startOf=startOf,proto.subtract=subtract,proto.toArray=toArray,proto.toObject=toObject$1,proto.toDate=toDate,proto.toISOString=toISOString,proto.inspect=inspect,"undefined"!=typeof Symbol&&null!=Symbol.for&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=toJSON$1,proto.toString=toString,proto.unix=unix,proto.valueOf=valueOf,proto.creationData=creationData,proto.eraName=getEraName,proto.eraNarrow=getEraNarrow,proto.eraAbbr=getEraAbbr,proto.eraYear=getEraYear,proto.year=getSetYear,proto.isLeapYear=getIsLeapYear,proto.weekYear=getSetWeekYear,proto.isoWeekYear=getSetISOWeekYear,proto.quarter=proto.quarters=getSetQuarter,proto.month=getSetMonth,proto.daysInMonth=getDaysInMonth,proto.week=proto.weeks=getSetWeek,proto.isoWeek=proto.isoWeeks=getSetISOWeek,proto.weeksInYear=getWeeksInYear,proto.weeksInWeekYear=getWeeksInWeekYear,proto.isoWeeksInYear=getISOWeeksInYear,proto.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear,proto.date=getSetDayOfMonth,proto.day=proto.days=getSetDayOfWeek,proto.weekday=getSetLocaleDayOfWeek,proto.isoWeekday=getSetISODayOfWeek,proto.dayOfYear=getSetDayOfYear,proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=getSetOffset,proto.utc=setOffsetToUTC,proto.local=setOffsetToLocal,proto.parseZone=setOffsetToParsedOffset,proto.hasAlignedHourOffset=hasAlignedHourOffset,proto.isDST=isDaylightSavingTime,proto.isLocal=isLocal,proto.isUtcOffset=isUtcOffset,proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=getZoneAbbr,proto.zoneName=getZoneName,proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);var proto$1=Locale.prototype;function get$1(n,r,o,a){var s=getLocale(),l=createUTC().set(a,r);return s[o](l,n)}function listMonthsImpl(n,r,o){if(isNumber(n)&&(r=n,n=void 0),n=n||"",null!=r)return get$1(n,r,o,"month");var a,s=[];for(a=0;a<12;a++)s[a]=get$1(n,a,o,"month");return s}function listWeekdaysImpl(n,r,o,a){"boolean"==typeof n?(isNumber(r)&&(o=r,r=void 0),r=r||""):(o=r=n,n=!1,isNumber(r)&&(o=r,r=void 0),r=r||"");var s,l=getLocale(),c=n?l._week.dow:0,u=[];if(null!=o)return get$1(r,(o+c)%7,a,"day");for(s=0;s<7;s++)u[s]=get$1(r,(s+c)%7,a,"day");return u}function listMonths(n,r){return listMonthsImpl(n,r,"months")}function listMonthsShort(n,r){return listMonthsImpl(n,r,"monthsShort")}function listWeekdays(n,r,o){return listWeekdaysImpl(n,r,o,"weekdays")}function listWeekdaysShort(n,r,o){return listWeekdaysImpl(n,r,o,"weekdaysShort")}function listWeekdaysMin(n,r,o){return listWeekdaysImpl(n,r,o,"weekdaysMin")}proto$1.calendar=calendar,proto$1.longDateFormat=longDateFormat,proto$1.invalidDate=invalidDate,proto$1.ordinal=ordinal,proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=relativeTime,proto$1.pastFuture=pastFuture,proto$1.set=set,proto$1.eras=localeEras,proto$1.erasParse=localeErasParse,proto$1.erasConvertYear=localeErasConvertYear,proto$1.erasAbbrRegex=erasAbbrRegex,proto$1.erasNameRegex=erasNameRegex,proto$1.erasNarrowRegex=erasNarrowRegex,proto$1.months=localeMonths,proto$1.monthsShort=localeMonthsShort,proto$1.monthsParse=localeMonthsParse,proto$1.monthsRegex=monthsRegex,proto$1.monthsShortRegex=monthsShortRegex,proto$1.week=localeWeek,proto$1.firstDayOfYear=localeFirstDayOfYear,proto$1.firstDayOfWeek=localeFirstDayOfWeek,proto$1.weekdays=localeWeekdays,proto$1.weekdaysMin=localeWeekdaysMin,proto$1.weekdaysShort=localeWeekdaysShort,proto$1.weekdaysParse=localeWeekdaysParse,proto$1.weekdaysRegex=weekdaysRegex,proto$1.weekdaysShortRegex=weekdaysShortRegex,proto$1.weekdaysMinRegex=weekdaysMinRegex,proto$1.isPM=localeIsPM,proto$1.meridiem=localeMeridiem,getSetGlobalLocale("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(n){var r=n%10;return n+(1===toInt(n%100/10)?"th":1===r?"st":2===r?"nd":3===r?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function abs(){var n=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),n.milliseconds=mathAbs(n.milliseconds),n.seconds=mathAbs(n.seconds),n.minutes=mathAbs(n.minutes),n.hours=mathAbs(n.hours),n.months=mathAbs(n.months),n.years=mathAbs(n.years),this}function addSubtract$1(n,r,o,a){var s=createDuration(r,o);return n._milliseconds+=a*s._milliseconds,n._days+=a*s._days,n._months+=a*s._months,n._bubble()}function add$1(n,r){return addSubtract$1(this,n,r,1)}function subtract$1(n,r){return addSubtract$1(this,n,r,-1)}function absCeil(n){return n<0?Math.floor(n):Math.ceil(n)}function bubble(){var n,r,o,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(monthsToDays(u)+c),c=0,u=0),d.milliseconds=l%1e3,n=absFloor(l/1e3),d.seconds=n%60,r=absFloor(n/60),d.minutes=r%60,o=absFloor(r/60),d.hours=o%24,c+=absFloor(o/24),u+=s=absFloor(daysToMonths(c)),c-=absCeil(monthsToDays(s)),a=absFloor(u/12),u%=12,d.days=c,d.months=u,d.years=a,this}function daysToMonths(n){return 4800*n/146097}function monthsToDays(n){return 146097*n/4800}function as$1(n){if(!this.isValid())return NaN;var r,o,a=this._milliseconds;if("month"===(n=normalizeUnits(n))||"quarter"===n||"year"===n)switch(r=this._days+a/864e5,o=this._months+daysToMonths(r),n){case"month":return o;case"quarter":return o/3;case"year":return o/12}else switch(r=this._days+Math.round(monthsToDays(this._months)),n){case"week":return r/7+a/6048e5;case"day":return r+a/864e5;case"hour":return 24*r+a/36e5;case"minute":return 1440*r+a/6e4;case"second":return 86400*r+a/1e3;case"millisecond":return Math.floor(864e5*r)+a;default:throw new Error("Unknown unit "+n)}}function makeAs(n){return function(){return this.as(n)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y"),valueOf$1=asMilliseconds;function clone$1$1(){return createDuration(this)}function get$2(n){return n=normalizeUnits(n),this.isValid()?this[n+"s"]():NaN}function makeGetter(n){return function(){return this.isValid()?this._data[n]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(n,r,o,a,s){return s.relativeTime(r||1,!!o,n,a)}function relativeTime$1(n,r,o,a){var s=createDuration(n).abs(),l=round(s.as("s")),c=round(s.as("m")),u=round(s.as("h")),d=round(s.as("d")),f=round(s.as("M")),m=round(s.as("w")),g=round(s.as("y")),b=l<=o.ss&&["s",l]||l<o.s&&["ss",l]||c<=1&&["m"]||c<o.m&&["mm",c]||u<=1&&["h"]||u<o.h&&["hh",u]||d<=1&&["d"]||d<o.d&&["dd",d];return null!=o.w&&(b=b||m<=1&&["w"]||m<o.w&&["ww",m]),(b=b||f<=1&&["M"]||f<o.M&&["MM",f]||g<=1&&["y"]||["yy",g])[2]=r,b[3]=+n>0,b[4]=a,substituteTimeAgo.apply(null,b)}function getSetRelativeTimeRounding(n){return void 0===n?round:"function"==typeof n&&(round=n,!0)}function getSetRelativeTimeThreshold(n,r){return void 0!==thresholds[n]&&(void 0===r?thresholds[n]:(thresholds[n]=r,"s"===n&&(thresholds.ss=r-1),!0))}function humanize(n,r){if(!this.isValid())return this.localeData().invalidDate();var o,a,s=!1,l=thresholds;return"object"==typeof n&&(r=n,n=!1),"boolean"==typeof n&&(s=n),"object"==typeof r&&(l=Object.assign({},thresholds,r),null!=r.s&&null==r.ss&&(l.ss=r.s-1)),a=relativeTime$1(this,!s,l,o=this.localeData()),s&&(a=o.pastFuture(+this,a)),o.postformat(a)}var abs$1=Math.abs;function sign(n){return(n>0)-(n<0)||+n}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var n,r,o,a,s,l,c,u,d=abs$1(this._milliseconds)/1e3,f=abs$1(this._days),m=abs$1(this._months),g=this.asSeconds();return g?(n=absFloor(d/60),r=absFloor(n/60),d%=60,n%=60,o=absFloor(m/12),m%=12,a=d?d.toFixed(3).replace(/\.?0+$/,""):"",s=g<0?"-":"",l=sign(this._months)!==sign(g)?"-":"",c=sign(this._days)!==sign(g)?"-":"",u=sign(this._milliseconds)!==sign(g)?"-":"",s+"P"+(o?l+o+"Y":"")+(m?l+m+"M":"")+(f?c+f+"D":"")+(r||n||d?"T":"")+(r?u+r+"H":"")+(n?u+n+"M":"")+(d?u+a+"S":"")):"P0D"}var proto$2=Duration.prototype,Status,Status2,ServerRequestType,ServerRequestType2,DocType$1,DocType2,FieldType,FieldType2;proto$2.isValid=isValid$1,proto$2.abs=abs,proto$2.add=add$1,proto$2.subtract=subtract$1,proto$2.as=as$1,proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=bubble,proto$2.clone=clone$1$1,proto$2.get=get$2,proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=weeks,proto$2.months=months,proto$2.years=years,proto$2.humanize=humanize,proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",matchTimestamp),addParseToken("X",(function(n,r,o){o._d=new Date(1e3*parseFloat(n))})),addParseToken("x",(function(n,r,o){o._d=new Date(toInt(n))})),hooks.version="2.30.1",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max$1,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks.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"},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(n){const r=n.split(".");if(3!==r.length)throw new Error(`shapeStr [${n}] not valid`);return{course:r[0],dataShape:r[2]}}static getDataShapeString(n){return`${n.course}.datashape.${n.dataShape}`}static getViewDescriptor(n){const r=n.split(".");if(4!==r.length)throw new Error("viewStr not valid");return{course:r[0],questionType:r[2],view:r[3]}}static getViewString(n){return`${n.course}.question.${n.questionType}.${n.view}`}static getQuestionDescriptor(n){const r=n.split(".");if(3!==r.length)throw new Error("questionStr not valid");return{course:r[0],questionType:r[2]}}static getQuestionString(n){return`${n.course}.question.${n.questionType}`}}function prepareNote55(n,r,o,a,s,l,c){const u=NameSpacer.getDataShapeString({course:r,dataShape:o.name}),d=o.fields.map((n=>({name:n.name,type:n.type}))).filter((n=>n.type===FieldType.IMAGE||n.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:n,data:[],docType:DocType$1.DISPLAYABLE_DATA,id_datashape:u};return s&&(m.author=s),d.forEach((n=>{f[n.name]=a[n.name]})),c&&Object.keys(c).forEach((n=>{f[n]=c[n]})),(0!==d.length||c&&Object.keys(c).length)&&(m._attachments=f),o.fields.filter((n=>n.type!==FieldType.IMAGE&&n.type!==FieldType.AUDIO)).forEach((n=>{m.data.push({name:n.name,data:a[n.name]})})),m}function isTaggedPerformance(n){return"object"==typeof n&&null!==n&&"_global"in n}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(n=32){__publicField(this,"k"),this.k=n}setKFactor(n){this.k=n}getKFactor(){return this.k}getExpected(n,r){return 1/(1+Math.pow(10,(r-n)/400))}updateRating(n,r,o){return Math.round(o+this.k*(r-n))}}function blankCourseElo(){return{global:{score:990+Math.round(20*Math.random()),count:0},tags:{},misc:{}}}function EloToNumber(n){return"number"==typeof n?n:isCourseElo(n)?n.global.score:n.score}function toCourseElo(n){if("string"==typeof n)throw new Error("unsuitiably typed input to toCourseElo");return"number"==typeof n?{global:{score:n,count:0},misc:{},tags:{}}:isCourseElo(n)?n:void 0===n?{global:{score:995+10*Math.random(),count:0},tags:{},misc:{}}:{global:n,tags:{},misc:{}}}function isCourseElo(n){return!(!n||"object"!=typeof n)&&("global"in n&&"tags"in n)}function adjustCourseScores(n,r,o,a){if(o<0||o>1)throw new Error(`ELO performance rating must be between 0 and 1 - received ${o}`);const s=toCourseElo(n),l=toCourseElo(r);null!=a&&a.globalOnly||Object.keys(l.tags).forEach((n=>{const r=adjustScores(s.tags[n]?s.tags[n]:{count:0,score:s.global.score},l.tags[n],o);s.tags[n]=r.userElo,l.tags[n]=r.cardElo}));const c=adjustScores(s.global,l.global,o);return s.global=c.userElo,l.global=c.cardElo,{userElo:s,cardElo:l}}function adjustScores(n,r,o){if(o<0||o>1)throw new Error(`ELO performance rating must be between 0 and 1 - received ${o}`);const a=new EloRanker(16),s=new EloRanker(16),l=a.getExpected(n.score,r.score),c=a.updateRating(l,o,n.score),u=s.updateRating(1-l,1-o,r.score);return{userElo:{score:c,count:n.count+1},cardElo:{score:u,count:r.count+1}}}function adjustCourseScoresPerTag(n,r,o){const a=o._global;if(a<0||a>1)throw new Error(`ELO _global score must be between 0 and 1 - received ${a}`);const s=toCourseElo(n),l=toCourseElo(r);for(const[u,d]of Object.entries(o)){if("_global"===u)continue;if(null===d){s.tags[u]=s.tags[u]??{count:0,score:-1},s.tags[u]={...s.tags[u],count:s.tags[u].count+1,score:-1};continue}if("number"!=typeof d||d<0||d>1)throw new Error(`ELO tag score for '${u}' must be between 0 and 1 - received ${d}`);const n=adjustScores(s.tags[u]??{count:0,score:s.global.score},l.tags[u]??{count:0,score:l.global.score},d);s.tags[u]=n.userElo,l.tags[u]=n.cardElo}const c=adjustScores(s.global,l.global,a);return s.global=c.userElo,l.global=c.cardElo,{userElo:s,cardElo:l}}const log$1=(...n)=>{console.log(...n)};function emptyTagFilter(){return{include:[],exclude:[]}}function hasActiveFilter(n){return!!n&&(n.include.length>0||n.exclude.length>0)}function displayableDataToViewData(n){const r={};return n.data.forEach((n=>{r[n.name]=n.data})),n._attachments&&Object.getOwnPropertyNames(n._attachments).forEach((o=>{n._attachments&&(r[o]=n._attachments[o].data)})),r}var DataShapeName,DataShapeName2;function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function getAugmentedNamespace(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var r=n.default;if("function"==typeof r){var o=function n(){var o=!1;try{o=this instanceof n}catch{}return o?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};o.prototype=r.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(n).forEach((function(r){var a=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(o,r,a.get?a:{enumerable:!0,get:function(){return n[r]}})})),o}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",new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var sparkMd5={exports:{}},hasRequiredSparkMd5;function requireSparkMd5(){return hasRequiredSparkMd5||(hasRequiredSparkMd5=1,sparkMd5.exports=function(n){var r=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function o(n,r){var o=n[0],a=n[1],s=n[2],l=n[3];a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&s|~a&l)+r[0]-680876936|0)<<7|o>>>25)+a|0)&a|~o&s)+r[1]-389564586|0)<<12|l>>>20)+o|0)&o|~l&a)+r[2]+606105819|0)<<17|s>>>15)+l|0)&l|~s&o)+r[3]-1044525330|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&s|~a&l)+r[4]-176418897|0)<<7|o>>>25)+a|0)&a|~o&s)+r[5]+1200080426|0)<<12|l>>>20)+o|0)&o|~l&a)+r[6]-1473231341|0)<<17|s>>>15)+l|0)&l|~s&o)+r[7]-45705983|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&s|~a&l)+r[8]+1770035416|0)<<7|o>>>25)+a|0)&a|~o&s)+r[9]-1958414417|0)<<12|l>>>20)+o|0)&o|~l&a)+r[10]-42063|0)<<17|s>>>15)+l|0)&l|~s&o)+r[11]-1990404162|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&s|~a&l)+r[12]+1804603682|0)<<7|o>>>25)+a|0)&a|~o&s)+r[13]-40341101|0)<<12|l>>>20)+o|0)&o|~l&a)+r[14]-1502002290|0)<<17|s>>>15)+l|0)&l|~s&o)+r[15]+1236535329|0)<<22|a>>>10)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&l|s&~l)+r[1]-165796510|0)<<5|o>>>27)+a|0)&s|a&~s)+r[6]-1069501632|0)<<9|l>>>23)+o|0)&a|o&~a)+r[11]+643717713|0)<<14|s>>>18)+l|0)&o|l&~o)+r[0]-373897302|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&l|s&~l)+r[5]-701558691|0)<<5|o>>>27)+a|0)&s|a&~s)+r[10]+38016083|0)<<9|l>>>23)+o|0)&a|o&~a)+r[15]-660478335|0)<<14|s>>>18)+l|0)&o|l&~o)+r[4]-405537848|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&l|s&~l)+r[9]+568446438|0)<<5|o>>>27)+a|0)&s|a&~s)+r[14]-1019803690|0)<<9|l>>>23)+o|0)&a|o&~a)+r[3]-187363961|0)<<14|s>>>18)+l|0)&o|l&~o)+r[8]+1163531501|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a&l|s&~l)+r[13]-1444681467|0)<<5|o>>>27)+a|0)&s|a&~s)+r[2]-51403784|0)<<9|l>>>23)+o|0)&a|o&~a)+r[7]+1735328473|0)<<14|s>>>18)+l|0)&o|l&~o)+r[12]-1926607734|0)<<20|a>>>12)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a^s^l)+r[5]-378558|0)<<4|o>>>28)+a|0)^a^s)+r[8]-2022574463|0)<<11|l>>>21)+o|0)^o^a)+r[11]+1839030562|0)<<16|s>>>16)+l|0)^l^o)+r[14]-35309556|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a^s^l)+r[1]-1530992060|0)<<4|o>>>28)+a|0)^a^s)+r[4]+1272893353|0)<<11|l>>>21)+o|0)^o^a)+r[7]-155497632|0)<<16|s>>>16)+l|0)^l^o)+r[10]-1094730640|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a^s^l)+r[13]+681279174|0)<<4|o>>>28)+a|0)^a^s)+r[0]-358537222|0)<<11|l>>>21)+o|0)^o^a)+r[3]-722521979|0)<<16|s>>>16)+l|0)^l^o)+r[6]+76029189|0)<<23|a>>>9)+s|0,a=((a+=((s=((s+=((l=((l+=((o=((o+=(a^s^l)+r[9]-640364487|0)<<4|o>>>28)+a|0)^a^s)+r[12]-421815835|0)<<11|l>>>21)+o|0)^o^a)+r[15]+530742520|0)<<16|s>>>16)+l|0)^l^o)+r[2]-995338651|0)<<23|a>>>9)+s|0,a=((a+=((l=((l+=(a^((o=((o+=(s^(a|~l))+r[0]-198630844|0)<<6|o>>>26)+a|0)|~s))+r[7]+1126891415|0)<<10|l>>>22)+o|0)^((s=((s+=(o^(l|~a))+r[14]-1416354905|0)<<15|s>>>17)+l|0)|~o))+r[5]-57434055|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((o=((o+=(s^(a|~l))+r[12]+1700485571|0)<<6|o>>>26)+a|0)|~s))+r[3]-1894986606|0)<<10|l>>>22)+o|0)^((s=((s+=(o^(l|~a))+r[10]-1051523|0)<<15|s>>>17)+l|0)|~o))+r[1]-2054922799|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((o=((o+=(s^(a|~l))+r[8]+1873313359|0)<<6|o>>>26)+a|0)|~s))+r[15]-30611744|0)<<10|l>>>22)+o|0)^((s=((s+=(o^(l|~a))+r[6]-1560198380|0)<<15|s>>>17)+l|0)|~o))+r[13]+1309151649|0)<<21|a>>>11)+s|0,a=((a+=((l=((l+=(a^((o=((o+=(s^(a|~l))+r[4]-145523070|0)<<6|o>>>26)+a|0)|~s))+r[11]-1120210379|0)<<10|l>>>22)+o|0)^((s=((s+=(o^(l|~a))+r[2]+718787259|0)<<15|s>>>17)+l|0)|~o))+r[9]-343485551|0)<<21|a>>>11)+s|0,n[0]=o+n[0]|0,n[1]=a+n[1]|0,n[2]=s+n[2]|0,n[3]=l+n[3]|0}function a(n){var r,o=[];for(r=0;r<64;r+=4)o[r>>2]=n.charCodeAt(r)+(n.charCodeAt(r+1)<<8)+(n.charCodeAt(r+2)<<16)+(n.charCodeAt(r+3)<<24);return o}function s(n){var r,o=[];for(r=0;r<64;r+=4)o[r>>2]=n[r]+(n[r+1]<<8)+(n[r+2]<<16)+(n[r+3]<<24);return o}function l(n){var r,s,l,c,u,d,f=n.length,m=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=f;r+=64)o(m,a(n.substring(r-64,r)));for(s=(n=n.substring(r-64)).length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<s;r+=1)l[r>>2]|=n.charCodeAt(r)<<(r%4<<3);if(l[r>>2]|=128<<(r%4<<3),r>55)for(o(m,l),r=0;r<16;r+=1)l[r]=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,o(m,l),m}function c(n){var r,a,l,c,u,d,f=n.length,m=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=f;r+=64)o(m,s(n.subarray(r-64,r)));for(a=(n=r-64<f?n.subarray(r-64):new Uint8Array(0)).length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<a;r+=1)l[r>>2]|=n[r]<<(r%4<<3);if(l[r>>2]|=128<<(r%4<<3),r>55)for(o(m,l),r=0;r<16;r+=1)l[r]=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,o(m,l),m}function u(n){var o,a="";for(o=0;o<4;o+=1)a+=r[n>>8*o+4&15]+r[n>>8*o&15];return a}function d(n){var r;for(r=0;r<n.length;r+=1)n[r]=u(n[r]);return n.join("")}function f(n){return/[\u0080-\uFFFF]/.test(n)&&(n=unescape(encodeURIComponent(n))),n}function m(n,r){var o,a=n.length,s=new ArrayBuffer(a),l=new Uint8Array(s);for(o=0;o<a;o+=1)l[o]=n.charCodeAt(o);return r?l:s}function g(n){return String.fromCharCode.apply(null,new Uint8Array(n))}function b(n,r,o){var a=new Uint8Array(n.byteLength+r.byteLength);return a.set(new Uint8Array(n)),a.set(new Uint8Array(r),n.byteLength),a}function S(n){var r,o=[],a=n.length;for(r=0;r<a-1;r+=2)o.push(parseInt(n.substr(r,2),16));return String.fromCharCode.apply(String,o)}function k(){this.reset()}return d(l("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function r(n,r){return(n=0|n||0)<0?Math.max(n+r,0):Math.min(n,r)}ArrayBuffer.prototype.slice=function(o,a){var s,l,c,u,d=this.byteLength,f=r(o,d),m=d;return a!==n&&(m=r(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)}}(),k.prototype.append=function(n){return this.appendBinary(f(n)),this},k.prototype.appendBinary=function(n){this._buff+=n,this._length+=n.length;var r,s=this._buff.length;for(r=64;r<=s;r+=64)o(this._hash,a(this._buff.substring(r-64,r)));return this._buff=this._buff.substring(r-64),this},k.prototype.end=function(n){var r,o,a=this._buff,s=a.length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(r=0;r<s;r+=1)l[r>>2]|=a.charCodeAt(r)<<(r%4<<3);return this._finish(l,s),o=d(this._hash),n&&(o=S(o)),this.reset(),o},k.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},k.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},k.prototype.setState=function(n){return this._buff=n.buff,this._length=n.length,this._hash=n.hash,this},k.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},k.prototype._finish=function(n,r){var a,s,l,c=r;if(n[c>>2]|=128<<(c%4<<3),c>55)for(o(this._hash,n),c=0;c<16;c+=1)n[c]=0;a=(a=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,n[14]=s,n[15]=l,o(this._hash,n)},k.hash=function(n,r){return k.hashBinary(f(n),r)},k.hashBinary=function(n,r){var o=d(l(n));return r?S(o):o},k.ArrayBuffer=function(){this.reset()},k.ArrayBuffer.prototype.append=function(n){var r,a=b(this._buff.buffer,n),l=a.length;for(this._length+=n.byteLength,r=64;r<=l;r+=64)o(this._hash,s(a.subarray(r-64,r)));return this._buff=r-64<l?new Uint8Array(a.buffer.slice(r-64)):new Uint8Array(0),this},k.ArrayBuffer.prototype.end=function(n){var r,o,a=this._buff,s=a.length,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(r=0;r<s;r+=1)l[r>>2]|=a[r]<<(r%4<<3);return this._finish(l,s),o=d(this._hash),n&&(o=S(o)),this.reset(),o},k.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},k.ArrayBuffer.prototype.getState=function(){var n=k.prototype.getState.call(this);return n.buff=g(n.buff),n},k.ArrayBuffer.prototype.setState=function(n){return n.buff=m(n.buff,!0),k.prototype.setState.call(this,n)},k.ArrayBuffer.prototype.destroy=k.prototype.destroy,k.ArrayBuffer.prototype._finish=k.prototype._finish,k.ArrayBuffer.hash=function(n,r){var o=d(c(new Uint8Array(n)));return r?S(o):o},k}()),sparkMd5.exports}var sparkMd5Exports=requireSparkMd5();const Md5=getDefaultExportFromCjs(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=/^(?:[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(n){return"string"==typeof n&®EX.test(n)}for(var byteToHex$1=[],i=0;i<256;++i)byteToHex$1.push((i+256).toString(16).substr(1));function stringify$2(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(byteToHex$1[n[r+0]]+byteToHex$1[n[r+1]]+byteToHex$1[n[r+2]]+byteToHex$1[n[r+3]]+"-"+byteToHex$1[n[r+4]]+byteToHex$1[n[r+5]]+"-"+byteToHex$1[n[r+6]]+byteToHex$1[n[r+7]]+"-"+byteToHex$1[n[r+8]]+byteToHex$1[n[r+9]]+"-"+byteToHex$1[n[r+10]]+byteToHex$1[n[r+11]]+byteToHex$1[n[r+12]]+byteToHex$1[n[r+13]]+byteToHex$1[n[r+14]]+byteToHex$1[n[r+15]]).toLowerCase();if(!validate$1(o))throw TypeError("Stringified UUID is invalid");return o}function v4$1(n,r,o){var a=(n=n||{}).random||(n.rng||rng$1)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){o=o||0;for(var s=0;s<16;++s)r[o+s]=a[s];return r}return stringify$2(a)}var vuvuzela$1={},hasRequiredVuvuzela;function requireVuvuzela(){if(hasRequiredVuvuzela)return vuvuzela$1;function n(n,r,o){var a=o[o.length-1];n===a.element&&(o.pop(),a=o[o.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(n);else if(l===r.length-2){s[r.pop()]=n}else r.push(n)}return hasRequiredVuvuzela=1,vuvuzela$1.stringify=function(n){var r=[];r.push({obj:n});for(var o,a,s,l,c,u,d,f,m,g,b="";o=r.pop();)if(a=o.obj,b+=o.prefix||"",s=o.val||"")b+=s;else if("object"!=typeof a)b+=void 0===a?null:JSON.stringify(a);else if(null===a)b+="null";else if(Array.isArray(a)){for(r.push({val:"]"}),l=a.length-1;l>=0;l--)c=0===l?"":",",r.push({obj:a[l],prefix:c});r.push({val:"["})}else{for(d in u=[],a)a.hasOwnProperty(d)&&u.push(d);for(r.push({val:"}"}),l=u.length-1;l>=0;l--)m=a[f=u[l]],g=l>0?",":"",g+=JSON.stringify(f)+":",r.push({obj:m,prefix:g});r.push({val:"{"})}return b},vuvuzela$1.parse=function(r){for(var o,a,s,l,c,u,d,f,m,g=[],b=[],S=0;;)if("}"!==(o=r[S++])&&"]"!==o&&void 0!==o)switch(o){case" ":case"\t":case"\n":case":":case",":break;case"n":S+=3,n(null,g,b);break;case"t":S+=3,n(!0,g,b);break;case"f":S+=4,n(!1,g,b);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":for(a="",S--;;){if(s=r[S++],!/[\d\.\-e\+]/.test(s)){S--;break}a+=s}n(parseFloat(a),g,b);break;case'"':for(l="",c=void 0,u=0;'"'!==(d=r[S++])||"\\"===c&&u%2==1;)l+=d,"\\"===(c=d)?u++:u=0;n(JSON.parse('"'+l+'"'),g,b);break;case"[":f={element:[],index:g.length},g.push(f.element),b.push(f);break;case"{":m={element:{},index:g.length},g.push(m.element),b.push(m);break;default:throw new Error("unexpectedly reached end of input: "+o)}else{if(1===g.length)return g.pop();n(g.pop(),g,b)}},vuvuzela$1}var vuvuzelaExports=requireVuvuzela();const vuvuzela=getDefaultExportFromCjs(vuvuzelaExports);var events={exports:{}},hasRequiredEvents;function requireEvents(){if(hasRequiredEvents)return events.exports;hasRequiredEvents=1;var n,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(n,r,o){return Function.prototype.apply.call(n,r,o)};n=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:function(n){return Object.getOwnPropertyNames(n)};var a=Number.isNaN||function(n){return n!=n};function s(){s.init.call(this)}events.exports=s,events.exports.once=function(n,r){return new Promise((function(o,a){function s(o){n.removeListener(r,l),a(o)}function l(){"function"==typeof n.removeListener&&n.removeListener("error",s),o([].slice.call(arguments))}k(n,r,l,{once:!0}),"error"!==r&&function(n,r,o){"function"==typeof n.on&&k(n,"error",r,o)}(n,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(n){if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n)}function u(n){return void 0===n._maxListeners?s.defaultMaxListeners:n._maxListeners}function d(n,r,o,a){var s,l,d,f;if(c(o),void 0===(l=n._events)?(l=n._events=Object.create(null),n._eventsCount=0):(void 0!==l.newListener&&(n.emit("newListener",r,o.listener?o.listener:o),l=n._events),d=l[r]),void 0===d)d=l[r]=o,++n._eventsCount;else if("function"==typeof d?d=l[r]=a?[o,d]:[d,o]:a?d.unshift(o):d.push(o),(s=u(n))>0&&d.length>s&&!d.warned){d.warned=!0;var m=new Error("Possible EventEmitter memory leak detected. "+d.length+" "+String(r)+" listeners added. Use emitter.setMaxListeners() to increase limit");m.name="MaxListenersExceededWarning",m.emitter=n,m.type=r,m.count=d.length,f=m,console&&console.warn&&console.warn(f)}return n}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(n,r,o){var a={fired:!1,wrapFn:void 0,target:n,type:r,listener:o},s=f.bind(a);return s.listener=o,a.wrapFn=s,s}function g(n,r,o){var a=n._events;if(void 0===a)return[];var s=a[r];return void 0===s?[]:"function"==typeof s?o?[s.listener||s]:[s]:o?function(n){for(var r=new Array(n.length),o=0;o<r.length;++o)r[o]=n[o].listener||n[o];return r}(s):S(s,s.length)}function b(n){var r=this._events;if(void 0!==r){var o=r[n];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function S(n,r){for(var o=new Array(r),a=0;a<r;++a)o[a]=n[a];return o}function k(n,r,o,a){if("function"==typeof n.on)a.once?n.once(r,o):n.on(r,o);else{if("function"!=typeof n.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof n);n.addEventListener(r,(function s(l){a.once&&n.removeEventListener(r,s),o(l)}))}}return Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(n){if("number"!=typeof n||n<0||a(n))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+n+".");l=n}}),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(n){if("number"!=typeof n||n<0||a(n))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".");return this._maxListeners=n,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(n){for(var r=[],a=1;a<arguments.length;a++)r.push(arguments[a]);var s="error"===n,l=this._events;if(void 0!==l)s=s&&void 0===l.error;else if(!s)return!1;if(s){var c;if(r.length>0&&(c=r[0]),c instanceof Error)throw c;var u=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw u.context=c,u}var d=l[n];if(void 0===d)return!1;if("function"==typeof d)o(d,this,r);else{var f=d.length,m=S(d,f);for(a=0;a<f;++a)o(m[a],this,r)}return!0},s.prototype.addListener=function(n,r){return d(this,n,r,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(n,r){return d(this,n,r,!0)},s.prototype.once=function(n,r){return c(r),this.on(n,m(this,n,r)),this},s.prototype.prependOnceListener=function(n,r){return c(r),this.prependListener(n,m(this,n,r)),this},s.prototype.removeListener=function(n,r){var o,a,s,l,u;if(c(r),void 0===(a=this._events))return this;if(void 0===(o=a[n]))return this;if(o===r||o.listener===r)0==--this._eventsCount?this._events=Object.create(null):(delete a[n],a.removeListener&&this.emit("removeListener",n,o.listener||r));else if("function"!=typeof o){for(s=-1,l=o.length-1;l>=0;l--)if(o[l]===r||o[l].listener===r){u=o[l].listener,s=l;break}if(s<0)return this;0===s?o.shift():function(n,r){for(;r+1<n.length;r++)n[r]=n[r+1];n.pop()}(o,s),1===o.length&&(a[n]=o[0]),void 0!==a.removeListener&&this.emit("removeListener",n,u||r)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(n){var r,o,a;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[n]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[n]),this;if(0===arguments.length){var s,l=Object.keys(o);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(r=o[n]))this.removeListener(n,r);else if(void 0!==r)for(a=r.length-1;a>=0;a--)this.removeListener(n,r[a]);return this},s.prototype.listeners=function(n){return g(this,n,!0)},s.prototype.rawListeners=function(n){return g(this,n,!1)},s.listenerCount=function(n,r){return"function"==typeof n.listenerCount?n.listenerCount(r):b.call(n,r)},s.prototype.listenerCount=b,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]},events.exports}var eventsExports=requireEvents();const EventEmitter=getDefaultExportFromCjs(eventsExports);function isBinaryObject$1(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer||"undefined"!=typeof Blob&&n instanceof Blob}function cloneBinaryObject$1(n){return n instanceof ArrayBuffer?n.slice(0):n.slice(0,n.size,n.type)}var funcToString$1=Function.prototype.toString,objectCtorString$1=funcToString$1.call(Object);function isPlainObject$2(n){var r=Object.getPrototypeOf(n);if(null===r)return!0;var o=r.constructor;return"function"==typeof o&&o instanceof o&&funcToString$1.call(o)==objectCtorString$1}function clone$2(n){var r,o,a;if(!n||"object"!=typeof n)return n;if(Array.isArray(n)){for(r=[],o=0,a=n.length;o<a;o++)r[o]=clone$2(n[o]);return r}if(n instanceof Date&&isFinite(n))return n.toISOString();if(isBinaryObject$1(n))return cloneBinaryObject$1(n);if(!isPlainObject$2(n))return n;for(o in r={},n)if(Object.prototype.hasOwnProperty.call(n,o)){var s=clone$2(n[o]);void 0!==s&&(r[o]=s)}return r}function once(n){var r=!1;return function(...o){if(r)throw new Error("once called more than once");r=!0,n.apply(this,o)}}function toPromise(n){return function(...r){r=clone$2(r);var o=this,a="function"==typeof r[r.length-1]&&r.pop(),s=new Promise((function(a,s){var l;try{var c=once((function(n,r){n?s(n):a(r)}));r.push(c),(l=n.apply(o,r))&&"function"==typeof l.then&&a(l)}catch(e3){s(e3)}}));return a&&s.then((function(n){a(null,n)}),a),s}}function logApiCall(n,r,o){if(n.constructor.listeners("debug").length){for(var a=["api",n.name,r],s=0;s<o.length-1;s++)a.push(o[s]);n.constructor.emit("debug",a);var l=o[o.length-1];o[o.length-1]=function(o,a){var s=["api",n.name,r];s=s.concat(o?["error",o]:["success",a]),n.constructor.emit("debug",s),l(o,a)}}}function adapterFun(n,r){return toPromise((function(...o){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,n,o),this.taskqueue.isReady?r.apply(this,o):new Promise((function(r,s){a.taskqueue.addTask((function(l){l?s(l):r(a[n].apply(a,o))}))}))}))}function pick$1(n,r){for(var o={},a=0,s=r.length;a<s;a++){var l=r[a];l in n&&(o[l]=n[l])}return o}var MAX_NUM_CONCURRENT_REQUESTS=6,hasLocal$1;function identityFunction(n){return n}function formatResultForOpenRevsGet(n){return[{ok:n}]}function bulkGet(n,r,o){var a=r.docs,s=new Map;a.forEach((function(n){s.has(n.id)?s.get(n.id).push(n):s.set(n.id,[n])}));var l=s.size,c=0,u=new Array(l);function d(){var n;++c===l&&(n=[],u.forEach((function(r){r.docs.forEach((function(o){n.push({id:r.id,docs:[o]})}))})),o(null,{results:n}))}var f=[];s.forEach((function(n,r){f.push(r)}));var m=0;function g(){if(!(m>=f.length)){var o=Math.min(m+MAX_NUM_CONCURRENT_REQUESTS,f.length),a=f.slice(m,o);!function(o,a){o.forEach((function(o,l){var c=a+l,f=s.get(o),m=pick$1(f[0],["atts_since","attachments"]);m.open_revs=f.map((function(n){return n.rev})),m.open_revs=m.open_revs.filter(identityFunction);var b=identityFunction;0===m.open_revs.length&&(delete m.open_revs,b=formatResultForOpenRevsGet),["revs","attachments","binary","ajax","latest"].forEach((function(n){n in r&&(m[n]=r[n])})),n.get(o,m,(function(n,r){var a,s,l;a=n?[{error:n}]:b(r),s=o,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(e3){hasLocal$1=!1}function hasLocalStorage(){return hasLocal$1}const nextTick$1="function"==typeof queueMicrotask?queueMicrotask:function(n){Promise.resolve().then(n)};class Changes extends EventEmitter{constructor(){super(),this._listeners={},hasLocalStorage()&&addEventListener("storage",(n=>{this.emit(n.key)}))}addListener(n,r,o,a){if(!this._listeners[r]){var s=!1,l=this;this._listeners[r]=c,this.on(n,c)}function c(){if(l._listeners[r])if(s)s="waiting";else{s=!0;var n=pick$1(a,["style","include_docs","attachments","conflicts","filter","doc_ids","view","since","query_params","binary","return_docs"]);o.changes(n).on("change",(function(n){n.seq>a.since&&!a.cancelled&&(a.since=n.seq,a.onChange(n))})).on("complete",(function(){"waiting"===s&&nextTick$1(c),s=!1})).on("error",(function(){s=!1}))}}}removeListener(n,r){r in this._listeners&&(super.removeListener(n,this._listeners[r]),delete this._listeners[r])}notifyLocalWindows(n){hasLocalStorage()&&(localStorage[n]="a"===localStorage[n]?"b":"a")}notify(n){this.emit(n),this.notifyLocalWindows(n)}}function guardedConsole$1(n){if("undefined"!=typeof console&&"function"==typeof console[n]){var r=Array.prototype.slice.call(arguments,1);console[n].apply(console,r)}}function randomNumber(n,r){var o=6e5;return n=parseInt(n,10)||0,(r=parseInt(r,10))!=r||r<=n?r=(n||1)<<1:r+=1,r>o&&(n=3e5,r=o),~~((r-n)*Math.random()+n)}function defaultBackOff(n){var r=0;return n||(r=2e3),randomNumber(n,r)}function explainError(n,r){guardedConsole$1("info","The above "+n+" is totally normal. "+r)}let PouchError$1=class PouchError2 extends Error{constructor(n,r,o){super(),this.status=n,this.name=r,this.message=o,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(n,r){function o(r){for(var o=Object.getOwnPropertyNames(n),a=0,s=o.length;a<s;a++)"function"!=typeof n[o[a]]&&(this[o[a]]=n[o[a]]);void 0===this.stack&&(this.stack=(new Error).stack),void 0!==r&&(this.reason=r)}return o.prototype=PouchError$1.prototype,new o(r)}function generateErrorFromResponse$1(n){if("object"!=typeof n){var r=n;(n=UNKNOWN_ERROR$1).data=r}return"error"in n&&"conflict"===n.error&&(n.name="conflict",n.status=409),"name"in n||(n.name=n.error||"unknown"),"status"in n||(n.status=500),"message"in n||(n.message=n.message||n.reason),"stack"in n||(n.stack=(new Error).stack),n}function tryFilter(n,r,o){try{return!n(r,o)}catch(s){var a="Filter function threw: "+s.toString();return createError$1(BAD_REQUEST,a)}}function filterChange(n){var r={},o=n.filter&&"function"==typeof n.filter;return r.query=n.query_params,function(a){a.doc||(a.doc={});var s=o&&tryFilter(n.filter,a.doc,r);if("object"==typeof s)return s;if(s)return!1;if(n.include_docs){if(!n.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(n){var r;if(n?"string"!=typeof n?r=createError$1(INVALID_ID):/^_/.test(n)&&!/^_(design|local)/.test(n)&&(r=createError$1(RESERVED_ID)):r=createError$1(MISSING_ID),r)throw r}function isRemote$1(n){return"boolean"==typeof n._remote?n._remote:"function"==typeof n.type&&(guardedConsole$1("warn","db.type() is deprecated and will be removed in a future version of PouchDB"),"http"===n.type())}function listenerCount(n,r){return"listenerCount"in n?n.listenerCount(r):EventEmitter.listenerCount(n,r)}function parseDesignDocFunctionName(n){if(!n)return null;var r=n.split("/");return 2===r.length?r:1===r.length?[n,n]:null}function normalizeDesignDocFunctionName(n){var r=parseDesignDocFunctionName(n);return r?r.join("/"):null}new PouchError$1(413,"invalid_url","Provided URL is invalid");var keys=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],qName="queryKey",qParser=/(?:^|&)([^&=]*)=?([^&]*)/g,parser=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;function parseUri(n){for(var r=parser.exec(n),o={},a=14;a--;){var s=keys[a],l=r[a]||"",c=-1!==["user","password"].indexOf(s);o[s]=c?decodeURIComponent(l):l}return o[qName]={},o[keys[12]].replace(qParser,(function(n,r,a){r&&(o[qName][r]=a)})),o}function scopeEval(n,r){var o=[],a=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(o.push(s),a.push(r[s]));return o.push(n),Function.apply(null,o).apply(null,a)}function upsert$1(n,r,o){return n.get(r).catch((function(n){if(404!==n.status)throw n;return{}})).then((function(a){var s=a._rev,l=o(a);return l?(l._id=r,l._rev=s,tryAndPut$1(n,l,o)):{updated:!1,rev:s}}))}function tryAndPut$1(n,r,o){return n.put(r).then((function(n){return{updated:!0,rev:n.rev}}),(function(a){if(409!==a.status)throw a;return upsert$1(n,r._id,o)}))}var thisAtob$1=function(n){return atob(n)},thisBtoa=function(n){return btoa(n)};function createBlob$1(n,r){n=n||[],r=r||{};try{return new Blob(n,r)}catch(e3){if("TypeError"!==e3.name)throw e3;for(var o=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),a=0;a<n.length;a+=1)o.append(n[a]);return o.getBlob(r.type)}}function binaryStringToArrayBuffer$1(n){for(var r=n.length,o=new ArrayBuffer(r),a=new Uint8Array(o),s=0;s<r;s++)a[s]=n.charCodeAt(s);return o}function binStringToBluffer$1(n,r){return createBlob$1([binaryStringToArrayBuffer$1(n)],{type:r})}function b64ToBluffer$1(n,r){return binStringToBluffer$1(thisAtob$1(n),r)}function arrayBufferToBinaryString(n){for(var r="",o=new Uint8Array(n),a=o.byteLength,s=0;s<a;s++)r+=String.fromCharCode(o[s]);return r}function readAsBinaryString(n,r){var o=new FileReader,a="function"==typeof o.readAsBinaryString;o.onloadend=function(n){var o=n.target.result||"";if(a)return r(o);r(arrayBufferToBinaryString(o))},a?o.readAsBinaryString(n):o.readAsArrayBuffer(n)}function blobToBinaryString(n,r){readAsBinaryString(n,(function(n){r(n)}))}function blobToBase64(n,r){blobToBinaryString(n,(function(n){r(thisBtoa(n))}))}function readAsArrayBuffer(n,r){var o=new FileReader;o.onloadend=function(n){var o=n.target.result||new ArrayBuffer(0);r(o)},o.readAsArrayBuffer(n)}var setImmediateShim=self.setImmediate||self.setTimeout,MD5_CHUNK_SIZE=32768;function rawToBase64(n){return thisBtoa(n)}function appendBlob(n,r,o,a,s){(o>0||a<r.size)&&(r=r.slice(o,a)),readAsArrayBuffer(r,(function(r){n.append(r),s()}))}function appendString(n,r,o,a,s){(o>0||a<r.length)&&(r=r.substring(o,a)),n.appendBinary(r),s()}function binaryMd5(n,r){var o="string"==typeof n,a=o?n.length:n.size,s=Math.min(MD5_CHUNK_SIZE,a),l=Math.ceil(a/s),c=0,u=o?new Md5:new Md5.ArrayBuffer,d=o?appendString:appendBlob;function f(){setImmediateShim(g)}function m(){var n=rawToBase64(u.end(!0));r(n),u.destroy()}function g(){var r=c*s,o=r+s;c++,d(u,n,r,o,c<l?f:m)}g()}function stringMd5$1(n){return Md5.hash(n)}function rev(n,r){if(!r)return v4$1().replace(/-/g,"").toLowerCase();var o=Object.assign({},n);return delete o._rev_tree,stringMd5$1(JSON.stringify(o))}var uuid=v4$1;function winningRev(n){for(var r,o,a,s,l=n.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,b=c[0];r&&!(a!==g?a:o!==d?o<d:r<b)||(r=b,o=d,a=g)}}return o+"-"+r}function traverseRevTree(n,r){for(var o,a=n.slice();o=a.pop();)for(var s=o.pos,l=o.ids,c=l[2],u=r(0===c.length,s,l[0],o.ctx,l[1]),d=0,f=c.length;d<f;d++)a.push({pos:s+1,ids:c[d],ctx:u})}function sortByPos(n,r){return n.pos-r.pos}function collectLeaves(n){var r=[];traverseRevTree(n,(function(n,o,a,s,l){n&&r.push({rev:o+"-"+a,pos:o,opts:l})})),r.sort(sortByPos).reverse();for(var o=0,a=r.length;o<a;o++)delete r[o].pos;return r}function collectConflicts(n){for(var r=winningRev(n),o=collectLeaves(n.rev_tree),a=[],s=0,l=o.length;s<l;s++){var c=o[s];c.rev===r||c.opts.deleted||a.push(c.rev)}return a}function compactTree(n){var r=[];return traverseRevTree(n.rev_tree,(function(n,o,a,s,l){"available"!==l.status||n||(r.push(o+"-"+a),l.status="missing")})),r}function findPathToLeaf(n,r){let o=[];const a=n.slice();let s;for(;s=a.pop();){const{pos:n,ids:l}=s,c=`${n}-${l[0]}`,u=l[2];if(o.push(c),c===r){if(0!==u.length)throw new Error("The requested revision is not a leaf");return o.reverse()}(0===u.length||u.length>1)&&(o=[]);for(let r=0,o=u.length;r<o;r++)a.push({pos:n+1,ids:u[r]})}if(0===o.length)throw new Error("The requested revision does not exist");return o.reverse()}function rootToLeaf(n){for(var r,o=[],a=n.slice();r=a.pop();){var s=r.pos,l=r.ids,c=l[0],u=l[1],d=l[2],f=0===d.length,m=r.history?r.history.slice():[];m.push({id:c,opts:u}),f&&o.push({pos:s+1-m.length,ids:m});for(var g=0,b=d.length;g<b;g++)a.push({pos:s+1,ids:d[g],history:m})}return o.reverse()}function sortByPos$1(n,r){return n.pos-r.pos}function binarySearch(n,r,o){for(var a,s=0,l=n.length;s<l;)o(n[a=s+l>>>1],r)<0?s=a+1:l=a;return s}function insertSorted(n,r,o){var a=binarySearch(n,r,o);n.splice(a,0,r)}function pathToTree(n,r){for(var o,a,s=r,l=n.length;s<l;s++){var c=n[s],u=[c.id,c.opts,[]];a?(a[2].push(u),a=u):o=a=u}return o}function compareTree(n,r){return n[0]<r[0]?-1:1}function mergeTree(n,r){for(var o=[{tree1:n,tree2:r}],a=!1;o.length>0;){var s=o.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]&&(o.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:n}}function doMerge(n,r,o){var a,s=[],l=!1,c=!1;if(!n.length)return{tree:[r],conflicts:"new_leaf"};for(var u=0,d=n.length;u<d;u++){var f=n[u];if(f.pos===r.pos&&f.ids[0]===r.ids[0])a=mergeTree(f.ids,r.ids),s.push({pos:f.pos,ids:a.tree}),l=l||a.conflicts,c=!0;else if(!0!==o){var m=f.pos<r.pos?f:r,g=f.pos<r.pos?r:f,b=g.pos-m.pos,S=[],k=[];for(k.push({ids:m.ids,diff:b,parent:null,parentIdx:null});k.length>0;){var w=k.pop();if(0!==w.diff)for(var E=w.ids[2],C=0,T=E.length;C<T;C++)k.push({ids:E[C],diff:w.diff-1,parent:w.ids,parentIdx:C});else w.ids[0]===g.ids[0]&&S.push(w)}var I=S[0];I?(a=mergeTree(I.ids,g.ids),I.parent[2][I.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(r),s.sort(sortByPos$1),{tree:s,conflicts:l||"internal_node"}}function stem(n,r){for(var o,a,s=rootToLeaf(n),l=0,c=s.length;l<c;l++){var u,d=s[l],f=d.ids;if(f.length>r){o||(o={});var m=f.length-r;u={pos:d.pos+m,ids:pathToTree(f,m)};for(var g=0;g<m;g++){var b=d.pos+g+"-"+f[g].id;o[b]=!0}}else u={pos:d.pos,ids:pathToTree(f,0)};a=a?doMerge(a,u,!0).tree:[u]}return o&&traverseRevTree(a,(function(n,r,a){delete o[r+"-"+a]})),{tree:a,revs:o?Object.keys(o):[]}}function merge(n,r,o){var a=doMerge(n,r),s=stem(a.tree,o);return{tree:s.tree,stemmedRevs:s.revs,conflicts:a.conflicts}}function revExists(n,r){for(var o,a=n.slice(),s=r.split("-"),l=parseInt(s[0],10),c=s[1];o=a.pop();){if(o.pos===l&&o.ids[0]===c)return!0;for(var u=o.ids[2],d=0,f=u.length;d<f;d++)a.push({pos:o.pos+1,ids:u[d]})}return!1}function getTrees(n){return n.ids}function isDeleted(n,r){r||(r=winningRev(n));for(var o,a=r.substring(r.indexOf("-")+1),s=n.rev_tree.map(getTrees);o=s.pop();){if(o[0]===a)return!!o[1].deleted;s=s.concat(o[2])}}function isLocalId(n){return"string"==typeof n&&n.startsWith("_local/")}function latest(n,r){for(var o,a=r.rev_tree.slice();o=a.pop();){var s=o.pos,l=o.ids,c=l[0],u=l[1],d=l[2],f=0===d.length,m=o.history?o.history.slice():[];if(m.push({id:c,pos:s,opts:u}),f)for(var g=0,b=m.length;g<b;g++){var S=m[g];if(S.pos+"-"+S.id===n)return s+"-"+c}for(var k=0,w=d.length;k<w;k++)a.push({pos:s+1,ids:d[k],history:m})}throw new Error("Unable to resolve latest revision for id "+r.id+", rev "+n)}function tryCatchInChangeListener(n,r,o,a){try{n.emit("change",r,o,a)}catch(e3){guardedConsole$1("error",'Error in .on("change", function):',e3)}}function processChange(n,r,o){var a=[{rev:n._rev}];"all_docs"===o.style&&(a=collectLeaves(r.rev_tree).map((function(n){return{rev:n.rev}})));var s={id:r.id,changes:a,doc:n};return isDeleted(r,n._rev)&&(s.deleted=!0),o.conflicts&&(s.doc._conflicts=collectConflicts(r),s.doc._conflicts.length||delete s.doc._conflicts),s}class Changes$1 extends EventEmitter{constructor(n,r,o){super(),this.db=n;var a=(r=r?clone$2(r):{}).complete=once(((r,o)=>{r?listenerCount(this,"error")>0&&this.emit("error",r):this.emit("complete",o),this.removeAllListeners(),n.removeListener("destroyed",s)}));o&&(this.on("complete",(function(n){o(null,n)})),this.on("error",o));const s=()=>{this.cancel()};n.once("destroyed",s),r.onChange=(n,r,o)=>{this.isCancelled||tryCatchInChangeListener(this,n,r,o)};var l=new Promise((function(n,o){r.complete=function(r,a){r?o(r):n(a)}}));this.once("cancel",(function(){n.removeListener("destroyed",s),r.complete(null,{status:"cancelled"})})),this.then=l.then.bind(l),this.catch=l.catch.bind(l),this.then((function(n){a(null,n)}),a),n.taskqueue.isReady?this.validateChanges(r):n.taskqueue.addTask((n=>{n?r.complete(n):this.isCancelled?this.emit("cancel"):this.validateChanges(r)}))}cancel(){this.isCancelled=!0,this.db.taskqueue.isReady&&this.emit("cancel")}validateChanges(n){var r=n.complete;PouchDB._changesFilterPlugin?PouchDB._changesFilterPlugin.validate(n,(o=>{if(o)return r(o);this.doChanges(n)})):this.doChanges(n)}doChanges(n){var r=n.complete;if("live"in(n=clone$2(n))&&!("continuous"in n)&&(n.continuous=n.live),n.processChange=processChange,"latest"===n.since&&(n.since="now"),n.since||(n.since=0),"now"!==n.since){if(PouchDB._changesFilterPlugin){if(PouchDB._changesFilterPlugin.normalize(n),PouchDB._changesFilterPlugin.shouldFilter(this,n))return PouchDB._changesFilterPlugin.filter(this,n)}else["doc_ids","filter","selector","view"].forEach((function(r){r in n&&guardedConsole$1("warn",'The "'+r+'" 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 n||(n.descending=!1),n.limit=0===n.limit?1:n.limit,n.complete=r;var o=this.db._changes(n);if(o&&"function"==typeof o.cancel){const n=this.cancel;this.cancel=(...r)=>{o.cancel(),n.apply(this,r)}}}else this.db.info().then((o=>{this.isCancelled?r(null,{status:"cancelled"}):(n.since=o.update_seq,this.doChanges(n))}),r)}}function yankError(n,r){return function(o,a){o||a[0]&&a[0].error?((o=o||a[0]).docId=r,n(o)):n(null,a.length?a[0]:a)}}function cleanDocs(n){for(var r=0;r<n.length;r++){var o=n[r];if(o._deleted)delete o._attachments;else if(o._attachments)for(var a=Object.keys(o._attachments),s=0;s<a.length;s++){var l=a[s];o._attachments[l]=pick$1(o._attachments[l],["data","digest","content_type","length","revpos","stub"])}}}function compareByIdThenRev(n,r){if(n._id===r._id){return(n._revisions?n._revisions.start:0)-(r._revisions?r._revisions.start:0)}return n._id<r._id?-1:1}function computeHeight(n){var r={},o=[];return traverseRevTree(n,(function(n,a,s,l){var c=a+"-"+s;return n&&(r[c]=0),void 0!==l&&o.push({from:l,to:c}),c})),o.reverse(),o.forEach((function(n){void 0===r[n.from]?r[n.from]=1+r[n.to]:r[n.from]=Math.min(r[n.from],1+r[n.to])})),r}function allDocsKeysParse(n){var r="limit"in n?n.keys.slice(n.skip,n.limit+n.skip):n.skip>0?n.keys.slice(n.skip):n.keys;n.keys=r,n.skip=0,delete n.limit,n.descending&&(r.reverse(),n.descending=!1)}function doNextCompaction(n){var r=n._compactionQueue[0],o=r.opts,a=r.callback;n.get("_local/compaction").catch((function(){return!1})).then((function(r){r&&r.last_seq&&(o.last_seq=r.last_seq),n._compact(o,(function(r,o){r?a(r):a(null,o),nextTick$1((function(){n._compactionQueue.shift(),n._compactionQueue.length&&doNextCompaction(n)}))}))}))}function appendPurgeSeq(n,r,o){return n.get("_local/purges").then((function(n){const a=n.purgeSeq+1;return n.purges.push({docId:r,rev:o,purgeSeq:a}),n.purges.length>self.purged_infos_limit&&n.purges.splice(0,n.purges.length-self.purged_infos_limit),n.purgeSeq=a,n})).catch((function(n){if(404!==n.status)throw n;return{_id:"_local/purges",purges:[{docId:r,rev:o,purgeSeq:0}],purgeSeq:0}})).then((function(r){return n.put(r)}))}function attachmentNameError(n){return"_"===n.charAt(0)&&n+" is not a valid attachment name, attachment names cannot start with '_'"}function isNotSingleDoc(n){return null===n||"object"!=typeof n||Array.isArray(n)}const validRevRegex=/^\d+-[^-]*$/;function isValidRev(n){return"string"==typeof n&&validRevRegex.test(n)}class AbstractPouchDB extends EventEmitter{_setup(){this.post=adapterFun("post",(function(n,r,o){if("function"==typeof r&&(o=r,r={}),isNotSingleDoc(n))return o(createError$1(NOT_AN_OBJECT));this.bulkDocs({docs:[n]},r,yankError(o,n._id))})).bind(this),this.put=adapterFun("put",(function(n,r,o){if("function"==typeof r&&(o=r,r={}),isNotSingleDoc(n))return o(createError$1(NOT_AN_OBJECT));if(invalidIdError(n._id),"_rev"in n&&!isValidRev(n._rev))return o(createError$1(INVALID_REV));if(isLocalId(n._id)&&"function"==typeof this._putLocal)return n._deleted?this._removeLocal(n,o):this._putLocal(n,o);const a=o=>{"function"==typeof this._put&&!1!==r.new_edits?this._put(n,r,o):this.bulkDocs({docs:[n]},r,yankError(o,n._id))};var s,l,c,u;r.force&&n._rev?(s=n._rev.split("-"),l=s[1],c=parseInt(s[0],10)+1,u=rev(),n._revisions={start:c,ids:[u,l]},n._rev=c+"-"+u,r.new_edits=!1,a((function(r){var a=r?null:{ok:!0,id:n._id,rev:n._rev};o(r,a)}))):a(o)})).bind(this),this.putAttachment=adapterFun("putAttachment",(function(n,r,o,a,s){var l=this;function c(n){var o="_rev"in n?parseInt(n._rev,10):0;return n._attachments=n._attachments||{},n._attachments[r]={content_type:s,data:a,revpos:++o},l.put(n)}return"function"==typeof s&&(s=a,a=o,o=null),void 0===s&&(s=a,a=o,o=null),s||guardedConsole$1("warn","Attachment",r,"on document",n,"is missing content_type"),l.get(n).then((function(n){if(n._rev!==o)throw createError$1(REV_CONFLICT);return c(n)}),(function(r){if(r.reason===MISSING_DOC.message)return c({_id:n});throw r}))})).bind(this),this.removeAttachment=adapterFun("removeAttachment",(function(n,r,o,a){this.get(n,((n,s)=>{if(n)a(n);else if(s._rev===o){if(!s._attachments)return a();delete s._attachments[r],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(n,r,o,a){var s;"string"==typeof r?(s={_id:n,_rev:r},"function"==typeof o&&(a=o,o={})):(s=n,"function"==typeof r?(a=r,o={}):(a=o,o=r)),(o=o||{}).was_delete=!0;var l={_id:s._id,_rev:s._rev||o.rev,_deleted:!0};if(isLocalId(l._id)&&"function"==typeof this._removeLocal)return this._removeLocal(s,a);this.bulkDocs({docs:[l]},o,yankError(a,l._id))})).bind(this),this.revsDiff=adapterFun("revsDiff",(function(n,r,o){"function"==typeof r&&(o=r,r={});var a=Object.keys(n);if(!a.length)return o(null,{});var s=0,l=new Map;function c(n,r){l.has(n)||l.set(n,{missing:[]}),l.get(n).missing.push(r)}a.forEach((function(r){this._getRevisionTree(r,(function(u,d){if(u&&404===u.status&&"missing"===u.message)l.set(r,{missing:n[r]});else{if(u)return o(u);!function(r,o){var a=n[r].slice(0);traverseRevTree(o,(function(n,o,s,l,u){var d=o+"-"+s,f=a.indexOf(d);-1!==f&&(a.splice(f,1),"available"!==u.status&&c(r,d))})),a.forEach((function(n){c(r,n)}))}(r,d)}if(++s===a.length){var f={};return l.forEach((function(n,r){f[r]=n})),o(null,f)}}))}),this)})).bind(this),this.bulkGet=adapterFun("bulkGet",(function(n,r){bulkGet(this,n,r)})).bind(this),this.compactDocument=adapterFun("compactDocument",(function(n,r,o){this._getRevisionTree(n,((a,s)=>{if(a)return o(a);var l=computeHeight(s),c=[],u=[];Object.keys(l).forEach((function(n){l[n]>r&&c.push(n)})),traverseRevTree(s,(function(n,r,o,a,s){var l=r+"-"+o;"available"===s.status&&-1!==c.indexOf(l)&&u.push(l)})),this._doCompaction(n,u,o)}))})).bind(this),this.compact=adapterFun("compact",(function(n,r){"function"==typeof n&&(r=n,n={}),n=n||{},this._compactionQueue=this._compactionQueue||[],this._compactionQueue.push({opts:n,callback:r}),1===this._compactionQueue.length&&doNextCompaction(this)})).bind(this),this.get=adapterFun("get",(function(n,r,o){if("function"==typeof r&&(o=r,r={}),r=r||{},"string"!=typeof n)return o(createError$1(INVALID_ID));if(isLocalId(n)&&"function"==typeof this._getLocal)return this._getLocal(n,o);var a=[];const s=()=>{var s=[],l=a.length;if(!l)return o(null,s);a.forEach((a=>{this.get(n,{rev:a,revs:r.revs,latest:r.latest,attachments:r.attachments,binary:r.binary},(function(n,r){if(n)s.push({missing:a});else{for(var c,u=0,d=s.length;u<d;u++)if(s[u].ok&&s[u].ok._rev===r._rev){c=!0;break}c||s.push({ok:r})}--l||o(null,s)}))}))};if(!r.open_revs)return this._get(n,r,((a,s)=>{if(a)return a.docId=n,o(a);var l=s.doc,c=s.metadata,u=s.ctx;if(r.conflicts){var d=collectConflicts(c);d.length&&(l._conflicts=d)}if(isDeleted(c,l._rev)&&(l._deleted=!0),r.revs||r.revs_info){for(var f=l._rev.split("-"),m=parseInt(f[0],10),g=f[1],b=rootToLeaf(c.rev_tree),S=null,k=0;k<b.length;k++){var w=b[k];const n=w.ids.findIndex((n=>n.id===g));(n===m-1||!S&&-1!==n)&&(S=w)}if(!S)return(a=new Error("invalid rev tree")).docId=n,o(a);const s=l._rev.split("-")[1],u=S.ids.findIndex((n=>n.id===s))+1;var E=S.ids.length-u;if(S.ids.splice(u,E),S.ids.reverse(),r.revs&&(l._revisions={start:S.pos+S.ids.length-1,ids:S.ids.map((function(n){return n.id}))}),r.revs_info){var C=S.pos+S.ids.length;l._revs_info=S.ids.map((function(n){return{rev:--C+"-"+n.id,status:n.opts.status}}))}}if(r.attachments&&l._attachments){var T=l._attachments,I=Object.keys(T).length;if(0===I)return o(null,l);Object.keys(T).forEach((n=>{this._getAttachment(l._id,n,T[n],{binary:r.binary,metadata:c,ctx:u},(function(r,a){var s=l._attachments[n];s.data=a,delete s.stub,delete s.length,--I||o(null,l)}))}))}else{if(l._attachments)for(var P in l._attachments)Object.prototype.hasOwnProperty.call(l._attachments,P)&&(l._attachments[P].stub=!0);o(null,l)}}));if("all"===r.open_revs)this._getRevisionTree(n,(function(n,r){if(n)return o(n);a=collectLeaves(r).map((function(n){return n.rev})),s()}));else{if(!Array.isArray(r.open_revs))return o(createError$1(UNKNOWN_ERROR$1,"function_clause"));a=r.open_revs;for(var l=0;l<a.length;l++){if(!isValidRev(a[l]))return o(createError$1(INVALID_REV))}s()}})).bind(this),this.getAttachment=adapterFun("getAttachment",(function(n,r,o,a){o instanceof Function&&(a=o,o={}),this._get(n,o,((s,l)=>s?a(s):l.doc._attachments&&l.doc._attachments[r]?(o.ctx=l.ctx,o.binary=!0,o.metadata=l.metadata,void this._getAttachment(n,r,l.doc._attachments[r],o,a)):a(createError$1(MISSING_DOC))))})).bind(this),this.allDocs=adapterFun("allDocs",(function(n,r){if("function"==typeof n&&(r=n,n={}),n.skip=void 0!==n.skip?n.skip:0,n.start_key&&(n.startkey=n.start_key),n.end_key&&(n.endkey=n.end_key),"keys"in n){if(!Array.isArray(n.keys))return r(new TypeError("options.keys must be an array"));var o=["startkey","endkey","key"].filter((function(r){return r in n}))[0];if(o)return void r(createError$1(QUERY_PARSE_ERROR,"Query parameter `"+o+"` is not compatible with multi-get"));if(!isRemote$1(this)&&(allDocsKeysParse(n),0===n.keys.length))return this._allDocs({limit:0},r)}return this._allDocs(n,r)})).bind(this),this.close=adapterFun("close",(function(n){return this._closed=!0,this.emit("closed"),this._close(n)})).bind(this),this.info=adapterFun("info",(function(n){this._info(((r,o)=>{if(r)return n(r);o.db_name=o.db_name||this.name,o.auto_compaction=!(!this.auto_compaction||isRemote$1(this)),o.adapter=this.adapter,n(null,o)}))})).bind(this),this.id=adapterFun("id",(function(n){return this._id(n)})).bind(this),this.bulkDocs=adapterFun("bulkDocs",(function(n,r,o){if("function"==typeof r&&(o=r,r={}),r=r||{},Array.isArray(n)&&(n={docs:n}),!n||!n.docs||!Array.isArray(n.docs))return o(createError$1(MISSING_BULK_DOCS));for(var a=0;a<n.docs.length;++a){const r=n.docs[a];if(isNotSingleDoc(r))return o(createError$1(NOT_AN_OBJECT));if("_rev"in r&&!isValidRev(r._rev))return o(createError$1(INVALID_REV))}var s;if(n.docs.forEach((function(n){n._attachments&&Object.keys(n._attachments).forEach((function(r){s=s||attachmentNameError(r),n._attachments[r].content_type||guardedConsole$1("warn","Attachment",r,"on document",n._id,"is missing content_type")}))})),s)return o(createError$1(BAD_REQUEST,s));"new_edits"in r||(r.new_edits=!("new_edits"in n)||n.new_edits);var l=this;r.new_edits||isRemote$1(l)||n.docs.sort(compareByIdThenRev),cleanDocs(n.docs);var c=n.docs.map((function(n){return n._id}));this._bulkDocs(n,r,(function(n,a){if(n)return o(n);if(r.new_edits||(a=a.filter((function(n){return n.error}))),!isRemote$1(l))for(var s=0,u=a.length;s<u;s++)a[s].id=a[s].id||c[s];o(null,a)}))})).bind(this),this.registerDependentDatabase=adapterFun("registerDependentDatabase",(function(n,r){var o=clone$2(this.__opts);this.__opts.view_adapter&&(o.adapter=this.__opts.view_adapter);var a=new this.constructor(n,o);upsert$1(this,"_local/_pouch_dependentDbs",(function(r){return r.dependentDbs=r.dependentDbs||{},!r.dependentDbs[n]&&(r.dependentDbs[n]=!0,r)})).then((function(){r(null,{db:a})})).catch(r)})).bind(this),this.destroy=adapterFun("destroy",(function(n,r){"function"==typeof n&&(r=n,n={});var o=!("use_prefix"in this)||this.use_prefix;const a=()=>{this._destroy(n,((n,o)=>{if(n)return r(n);this._destroyed=!0,this.emit("destroyed"),r(null,o||{ok:!0})}))};if(isRemote$1(this))return a();this.get("_local/_pouch_dependentDbs",((n,s)=>{if(n)return 404!==n.status?r(n):a();var l=s.dependentDbs,c=this.constructor,u=Object.keys(l).map((n=>{var r=o?n.replace(new RegExp("^"+c.prefix),""):n;return new c(r,this.__opts).destroy()}));Promise.all(u).then(a,r)}))})).bind(this)}_compact(n,r){var o,a={return_docs:!1,last_seq:n.last_seq||0,since:n.last_seq||0},s=[],l=0;const c=n=>{this.activeTasks.update(o,{completed_items:++l}),s.push(this.compactDocument(n.id,0))},u=n=>{this.activeTasks.remove(o,n),r(n)},d=n=>{var a=n.last_seq;Promise.all(s).then((()=>upsert$1(this,"_local/compaction",(n=>(!n.last_seq||n.last_seq<a)&&(n.last_seq=a,n))))).then((()=>{this.activeTasks.remove(o),r(null,{ok:!0})})).catch(u)};this.info().then((n=>{o=this.activeTasks.add({name:"database_compaction",total_items:n.update_seq-a.last_seq}),this.changes(a).on("change",c).on("complete",d).on("error",u)}))}changes(n,r){return"function"==typeof n&&(r=n,n={}),(n=n||{}).return_docs="return_docs"in n?n.return_docs:!n.live,new Changes$1(this,n,r)}type(){return"function"==typeof this._type?this._type():this.adapter}}AbstractPouchDB.prototype.purge=adapterFun("_purge",(function(n,r,o){if(void 0===this._purge)return o(createError$1(UNKNOWN_ERROR$1,"Purge is not implemented in the "+this.adapter+" adapter."));var a=this;a._getRevisionTree(n,((s,l)=>{if(s)return o(s);if(!l)return o(createError$1(MISSING_DOC));let c;try{c=findPathToLeaf(l,r)}catch(u){return o(u.message||u)}a._purge(n,c,((s,l)=>{if(s)return o(s);appendPurgeSeq(a,n,r).then((function(){return o(null,l)}))}))}))}));let TaskQueue$1=class TaskQueue2{constructor(){this.isReady=!1,this.failed=!1,this.queue=[]}execute(){var n;if(this.failed)for(;n=this.queue.shift();)n(this.failed);else for(;n=this.queue.shift();)n()}fail(n){this.failed=n,this.execute()}ready(n){this.isReady=!0,this.db=n,this.execute()}addTask(n){this.queue.push(n),this.failed&&this.execute()}};function parseAdapter(n,r){var o=n.match(/([a-z-]*):\/\/(.*)/);if(o)return{name:/https?/.test(o[1])?o[1]+"://"+o[2]:o[2],adapter:o[1]};var a=PouchDB.adapters,s=PouchDB.preferredAdapters,l=PouchDB.prefix,c=r.adapter;if(!c)for(var u=0;u<s.length&&("idb"===(c=s[u])&&"websql"in a&&hasLocalStorage()&&localStorage["_pouch__websqldb_"+l+n]);++u)guardedConsole$1("log",'PouchDB is downgrading "'+n+'" 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+n:n,adapter:c}}function inherits(n,r){n.prototype=Object.create(r.prototype,{constructor:{value:n}})}function createClass(n,r){let o=function(...n){if(!(this instanceof o))return new o(...n);r.apply(this,n)};return inherits(o,n),o}function prepareForDestruction(n){function r(r){n.removeListener("closed",o),r||n.constructor.emit("destroyed",n.name)}function o(){n.removeListener("destroyed",r),n.constructor.emit("unref",n)}n.once("destroyed",r),n.once("closed",o),n.constructor.emit("ref",n)}class PouchInternal extends AbstractPouchDB{constructor(n,r){super(),this._setup(n,r)}_setup(n,r){if(super._setup(),r=r||{},n&&"object"==typeof n&&(n=(r=n).name,delete r.name),void 0===r.deterministic_revs&&(r.deterministic_revs=!0),this.__opts=r=clone$2(r),this.auto_compaction=r.auto_compaction,this.purged_infos_limit=r.purged_infos_limit||1e3,this.prefix=PouchDB.prefix,"string"!=typeof n)throw new Error("Missing/invalid DB name");var o=parseAdapter((r.prefix||"")+n,r);if(r.name=o.name,r.adapter=r.adapter||o.adapter,this.name=n,this._adapter=r.adapter,PouchDB.emit("debug",["adapter","Picked adapter: ",r.adapter]),!PouchDB.adapters[r.adapter]||!PouchDB.adapters[r.adapter].valid())throw new Error("Invalid Adapter: "+r.adapter);if(r.view_adapter&&(!PouchDB.adapters[r.view_adapter]||!PouchDB.adapters[r.view_adapter].valid()))throw new Error("Invalid View Adapter: "+r.view_adapter);this.taskqueue=new TaskQueue$1,this.adapter=r.adapter,PouchDB.adapters[r.adapter].call(this,r,(n=>{if(n)return this.taskqueue.fail(n);prepareForDestruction(this),this.emit("created",this),PouchDB.emit("created",this.name),this.taskqueue.ready(this)}))}}const PouchDB=createClass(PouchInternal,(function(n,r){PouchInternal.prototype._setup.call(this,n,r)}));var f$1=fetch,h$1=Headers;class ActiveTasks{constructor(){this.tasks={}}list(){return Object.values(this.tasks)}add(n){const r=v4$1();return this.tasks[r]={id:r,name:n.name,total_items:n.total_items,created_at:(new Date).toJSON()},r}get(n){return this.tasks[n]}remove(n,r){return delete this.tasks[n],this.tasks}update(n,r){const o=this.tasks[n];if(void 0!==o){const a={id:o.id,name:o.name,created_at:o.created_at,total_items:r.total_items||o.total_items,completed_items:r.completed_items||o.completed_items,updated_at:(new Date).toJSON()};this.tasks[n]=a}return this.tasks}}PouchDB.adapters={},PouchDB.preferredAdapters=[],PouchDB.prefix="_pouch_";var eventEmitter=new EventEmitter;function setUpEventEmitter(n){Object.keys(EventEmitter.prototype).forEach((function(r){"function"==typeof EventEmitter.prototype[r]&&(n[r]=eventEmitter[r].bind(eventEmitter))}));var r=n._destructionListeners=new Map;n.on("ref",(function(n){r.has(n.name)||r.set(n.name,[]),r.get(n.name).push(n)})),n.on("unref",(function(n){if(r.has(n.name)){var o=r.get(n.name),a=o.indexOf(n);a<0||(o.splice(a,1),o.length>1?r.set(n.name,o):r.delete(n.name))}})),n.on("destroyed",(function(n){if(r.has(n)){var o=r.get(n);r.delete(n),o.forEach((function(n){n.emit("destroyed",!0)}))}}))}setUpEventEmitter(PouchDB),PouchDB.adapter=function(n,r,o){r.valid()&&(PouchDB.adapters[n]=r,o&&PouchDB.preferredAdapters.push(n))},PouchDB.plugin=function(n){if("function"==typeof n)n(PouchDB);else{if("object"!=typeof n||0===Object.keys(n).length)throw new Error('Invalid plugin: got "'+n+'", expected an object or a function');Object.keys(n).forEach((function(r){PouchDB.prototype[r]=n[r]}))}return this.__defaults&&(PouchDB.__defaults=Object.assign({},this.__defaults)),PouchDB},PouchDB.defaults=function(n){let r=createClass(PouchDB,(function(n,o){o=o||{},n&&"object"==typeof n&&(n=(o=n).name,delete o.name),o=Object.assign({},r.__defaults,o),PouchDB.call(this,n,o)}));return r.preferredAdapters=PouchDB.preferredAdapters.slice(),Object.keys(PouchDB).forEach((function(n){n in r||(r[n]=PouchDB[n])})),r.__defaults=Object.assign({},this.__defaults,n),r},PouchDB.fetch=function(n,r){return f$1(n,r)},PouchDB.prototype.activeTasks=PouchDB.activeTasks=new ActiveTasks;var version$1="9.0.0";function getFieldFromDoc$1(n,r){for(var o=n,a=0,s=r.length;a<s;a++){if(!(o=o[r[a]]))break}return o}function compare$1(n,r){return n<r?-1:n>r?1:0}function parseField$1(n){for(var r=[],o="",a=0,s=n.length;a<s;a++){var l=n[a];a>0&&"\\"===n[a-1]&&("$"===l||"."===l)?o=o.substring(0,o.length-1)+l:"."===l?(r.push(o),o=""):o+=l}return r.push(o),r}var combinationFields$1=["$or","$nor","$not"];function isCombinationalField$1(n){return combinationFields$1.indexOf(n)>-1}function getKey$1(n){return Object.keys(n)[0]}function getValue$1(n){return n[getKey$1(n)]}function mergeAndedSelectors$1(n){var r={},o={$or:!0,$nor:!0};return n.forEach((function(n){Object.keys(n).forEach((function(a){var s=n[a];if("object"!=typeof s&&(s={$eq:s}),isCombinationalField$1(a))if(s instanceof Array){if(o[a])return o[a]=!1,void(r[a]=s);var l=[];r[a].forEach((function(n){Object.keys(s).forEach((function(r){var o=s[r],a=Math.max(Object.keys(n).length,Object.keys(o).length),c=mergeAndedSelectors$1([n,o]);Object.keys(c).length<=a||l.push(c)}))})),r[a]=l}else r[a]=mergeAndedSelectors$1([s]);else{var c=r[a]=r[a]||{};Object.keys(s).forEach((function(n){var r=s[n];return"$gt"===n||"$gte"===n?mergeGtGte$1(n,r,c):"$lt"===n||"$lte"===n?mergeLtLte$1(n,r,c):"$ne"===n?mergeNe$1(r,c):"$eq"===n?mergeEq$1(r,c):"$regex"===n?mergeRegex$1(r,c):void(c[n]=r)}))}}))})),r}function mergeGtGte$1(n,r,o){void 0===o.$eq&&(void 0!==o.$gte?"$gte"===n?r>o.$gte&&(o.$gte=r):r>=o.$gte&&(delete o.$gte,o.$gt=r):void 0!==o.$gt?"$gte"===n?r>o.$gt&&(delete o.$gt,o.$gte=r):r>o.$gt&&(o.$gt=r):o[n]=r)}function mergeLtLte$1(n,r,o){void 0===o.$eq&&(void 0!==o.$lte?"$lte"===n?r<o.$lte&&(o.$lte=r):r<=o.$lte&&(delete o.$lte,o.$lt=r):void 0!==o.$lt?"$lte"===n?r<o.$lt&&(delete o.$lt,o.$lte=r):r<o.$lt&&(o.$lt=r):o[n]=r)}function mergeNe$1(n,r){"$ne"in r?r.$ne.push(n):r.$ne=[n]}function mergeEq$1(n,r){delete r.$gt,delete r.$gte,delete r.$lt,delete r.$lte,delete r.$ne,r.$eq=n}function mergeRegex$1(n,r){"$regex"in r?r.$regex.push(n):r.$regex=[n]}function mergeAndedSelectorsNested$1(n){for(var r in n){if(Array.isArray(n))for(var o in n)n[o].$and&&(n[o]=mergeAndedSelectors$1(n[o].$and));var a=n[r];"object"==typeof a&&mergeAndedSelectorsNested$1(a)}return n}function isAndInSelector$1(n,r){for(var o in n){"$and"===o&&(r=!0);var a=n[o];"object"==typeof a&&(r=isAndInSelector$1(a,r))}return r}function massageSelector$1(n){var r=clone$2(n);isAndInSelector$1(r,!1)&&"$and"in(r=mergeAndedSelectorsNested$1(r))&&(r=mergeAndedSelectors$1(r.$and)),["$or","$nor"].forEach((function(n){n in r&&r[n].forEach((function(n){for(var r=Object.keys(n),o=0;o<r.length;o++){var a=r[o],s=n[a];"object"==typeof s&&null!==s||(n[a]={$eq:s})}}))})),"$not"in r&&(r.$not=mergeAndedSelectors$1([r.$not]));for(var o=Object.keys(r),a=0;a<o.length;a++){var s=o[a],l=r[s];"object"==typeof l&&null!==l||(l={$eq:l}),r[s]=l}return normalizeArrayOperators$1(r),r}function normalizeArrayOperators$1(n){Object.keys(n).forEach((function(r){var o=n[r];Array.isArray(o)?o.forEach((function(n){n&&"object"==typeof n&&normalizeArrayOperators$1(n)})):"$ne"===r?n.$ne=[o]:"$regex"===r?n.$regex=[o]:o&&"object"==typeof o&&normalizeArrayOperators$1(o)}))}function pad$1(n,r,o){for(var a="",s=o-n.length;a.length<s;)a+=r;return a}function padLeft$1(n,r,o){return pad$1(n,r,o)+n}var MIN_MAGNITUDE$1=-324,MAGNITUDE_DIGITS$1=3,SEP$1="";function collate$1(n,r){if(n===r)return 0;n=normalizeKey$1(n),r=normalizeKey$1(r);var o=collationIndex$1(n),a=collationIndex$1(r);if(o-a!=0)return o-a;switch(typeof n){case"number":return n-r;case"boolean":return n<r?-1:1;case"string":return stringCollate$1(n,r)}return Array.isArray(n)?arrayCollate$1(n,r):objectCollate$1(n,r)}function normalizeKey$1(n){switch(typeof n){case"undefined":return null;case"number":return n===1/0||n===-1/0||isNaN(n)?null:n;case"object":var r=n;if(Array.isArray(n)){var o=n.length;n=new Array(o);for(var a=0;a<o;a++)n[a]=normalizeKey$1(r[a])}else{if(n instanceof Date)return n.toJSON();if(null!==n)for(var s in n={},r)if(Object.prototype.hasOwnProperty.call(r,s)){var l=r[s];void 0!==l&&(n[s]=normalizeKey$1(l))}}}return n}function indexify$1(n){if(null!==n)switch(typeof n){case"boolean":return n?1:0;case"number":return numToIndexableString$1(n);case"string":return n.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");case"object":var r=Array.isArray(n),o=r?n:Object.keys(n),a=-1,s=o.length,l="";if(r)for(;++a<s;)l+=toIndexableString$1(o[a]);else for(;++a<s;){var c=o[a];l+=toIndexableString$1(c)+toIndexableString$1(n[c])}return l}return""}function toIndexableString$1(n){return collationIndex$1(n=normalizeKey$1(n))+SEP$1+indexify$1(n)+"\0"}function parseNumber$1(n,r){var o,a=r;if("1"===n[r])o=0,r++;else{var s="0"===n[r];r++;var l="",c=n.substring(r,r+MAGNITUDE_DIGITS$1),u=parseInt(c,10)+MIN_MAGNITUDE$1;for(s&&(u=-u),r+=MAGNITUDE_DIGITS$1;;){var d=n[r];if("\0"===d)break;l+=d,r++}o=1===(l=l.split(".")).length?parseInt(l,10):parseFloat(l[0]+"."+l[1]),s&&(o-=10),0!==u&&(o=parseFloat(o+"e"+u))}return{num:o,length:r-a}}function pop$1(n,r){var o=n.pop();if(r.length){var a=r[r.length-1];o===a.element&&(r.pop(),a=r[r.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(o);else if(l===n.length-2){s[n.pop()]=o}else n.push(o)}}function parseIndexableString$1(n){for(var r=[],o=[],a=0;;){var s=n[a++];if("\0"!==s)switch(s){case"1":r.push(null);break;case"2":r.push("1"===n[a]),a++;break;case"3":var l=parseNumber$1(n,a);r.push(l.num),a+=l.length;break;case"4":for(var c="";;){var u=n[a];if("\0"===u)break;c+=u,a++}c=c.replace(/\u0001\u0001/g,"\0").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,""),r.push(c);break;case"5":var d={element:[],index:r.length};r.push(d.element),o.push(d);break;case"6":var f={element:{},index:r.length};r.push(f.element),o.push(f);break;default:throw new Error("bad collationIndex or unexpectedly reached end of input: "+s)}else{if(1===r.length)return r.pop();pop$1(r,o)}}}function arrayCollate$1(n,r){for(var o=Math.min(n.length,r.length),a=0;a<o;a++){var s=collate$1(n[a],r[a]);if(0!==s)return s}return n.length===r.length?0:n.length>r.length?1:-1}function stringCollate$1(n,r){return n===r?0:n>r?1:-1}function objectCollate$1(n,r){for(var o=Object.keys(n),a=Object.keys(r),s=Math.min(o.length,a.length),l=0;l<s;l++){var c=collate$1(o[l],a[l]);if(0!==c)return c;if(0!==(c=collate$1(n[o[l]],r[a[l]])))return c}return o.length===a.length?0:o.length>a.length?1:-1}function collationIndex$1(n){var r=["boolean","number","string","object"].indexOf(typeof n);return~r?null===n?1:Array.isArray(n)?5:r<3?r+2:r+3:Array.isArray(n)?5:void 0}function numToIndexableString$1(n){if(0===n)return"1";var r=n.toExponential().split(/e\+?/),o=parseInt(r[1],10),a=n<0,s=a?"0":"2",l=padLeft$1(((a?-o:o)-MIN_MAGNITUDE$1).toString(),"0",MAGNITUDE_DIGITS$1);s+=SEP$1+l;var c=Math.abs(parseFloat(r[0]));a&&(c=10-c);var u=c.toFixed(20);return u=u.replace(/\.?0+$/,""),s+=SEP$1+u}function createFieldSorter$1(n){function r(r){return n.map((function(n){var o=parseField$1(getKey$1(n));return getFieldFromDoc$1(r,o)}))}return function(n,o){var a=collate$1(r(n.doc),r(o.doc));return 0!==a?a:compare$1(n.doc._id,o.doc._id)}}function filterInMemoryFields$1(n,r,o){if(n=n.filter((function(n){return rowFilter$1(n.doc,r.selector,o)})),r.sort){var a=createFieldSorter$1(r.sort);n=n.sort(a),"string"!=typeof r.sort[0]&&"desc"===getValue$1(r.sort[0])&&(n=n.reverse())}if("limit"in r||"skip"in r){var s=r.skip||0,l=("limit"in r?r.limit:n.length)+s;n=n.slice(s,l)}return n}function rowFilter$1(n,r,o){return o.every((function(o){var a=r[o],s=parseField$1(o),l=getFieldFromDoc$1(n,s);return isCombinationalField$1(o)?matchCominationalSelector$1(o,a,n):matchSelector$1(a,n,s,l)}))}function matchSelector$1(n,r,o,a){return!n||("object"==typeof n?Object.keys(n).every((function(s){var l=n[s];if(0===s.indexOf("$"))return match$1(s,r,l,o,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,r,o,u):match$1("$eq",r,l,c,u)})):n===a)}function matchCominationalSelector$1(n,r,o){return"$or"===n?r.some((function(n){return rowFilter$1(o,n,Object.keys(n))})):"$not"===n?!rowFilter$1(o,r,Object.keys(r)):!r.find((function(n){return rowFilter$1(o,n,Object.keys(n))}))}function match$1(n,r,o,a,s){if(!matchers$1[n])throw new Error('unknown operator "'+n+'" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type, $allMatch or $all');return matchers$1[n](r,o,a,s)}function fieldExists$1(n){return null!=n}function fieldIsNotUndefined$1(n){return void 0!==n}function modField$1(n,r){return"number"==typeof n&&parseInt(n,10)===n&&n%r[0]===r[1]}function arrayContainsValue$1(n,r){return r.some((function(r){return n instanceof Array?n.some((function(n){return 0===collate$1(r,n)})):0===collate$1(r,n)}))}function arrayContainsAllValues$1(n,r){return r.every((function(r){return n.some((function(n){return 0===collate$1(r,n)}))}))}function arraySize$1(n,r){return n.length===r}function regexMatch$1(n,r){return new RegExp(r).test(n)}function typeMatch$1(n,r){switch(r){case"null":return null===n;case"boolean":return"boolean"==typeof n;case"number":return"number"==typeof n;case"string":return"string"==typeof n;case"array":return n instanceof Array;case"object":return"[object Object]"==={}.toString.call(n)}}var matchers$1={$elemMatch:function(n,r,o,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.some((function(n){return rowFilter$1(n,r,Object.keys(r))})):a.some((function(a){return matchSelector$1(r,n,o,a)}))))},$allMatch:function(n,r,o,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.every((function(n){return rowFilter$1(n,r,Object.keys(r))})):a.every((function(a){return matchSelector$1(r,n,o,a)}))))},$eq:function(n,r,o,a){return fieldIsNotUndefined$1(a)&&0===collate$1(a,r)},$gte:function(n,r,o,a){return fieldIsNotUndefined$1(a)&&collate$1(a,r)>=0},$gt:function(n,r,o,a){return fieldIsNotUndefined$1(a)&&collate$1(a,r)>0},$lte:function(n,r,o,a){return fieldIsNotUndefined$1(a)&&collate$1(a,r)<=0},$lt:function(n,r,o,a){return fieldIsNotUndefined$1(a)&&collate$1(a,r)<0},$exists:function(n,r,o,a){return r?fieldIsNotUndefined$1(a):!fieldIsNotUndefined$1(a)},$mod:function(n,r,o,a){return fieldExists$1(a)&&modField$1(a,r)},$ne:function(n,r,o,a){return r.every((function(n){return 0!==collate$1(a,n)}))},$in:function(n,r,o,a){return fieldExists$1(a)&&arrayContainsValue$1(a,r)},$nin:function(n,r,o,a){return fieldExists$1(a)&&!arrayContainsValue$1(a,r)},$size:function(n,r,o,a){return fieldExists$1(a)&&Array.isArray(a)&&arraySize$1(a,r)},$all:function(n,r,o,a){return Array.isArray(a)&&arrayContainsAllValues$1(a,r)},$regex:function(n,r,o,a){return fieldExists$1(a)&&"string"==typeof a&&r.every((function(n){return regexMatch$1(a,n)}))},$type:function(n,r,o,a){return typeMatch$1(a,r)}};function matchesSelector$1(n,r){if("object"!=typeof r)throw new Error("Selector error: expected a JSON object");var o=filterInMemoryFields$1([{doc:n}],{selector:r=massageSelector$1(r)},Object.keys(r));return o&&1===o.length}function evalFilter(n){return scopeEval('"use strict";\nreturn '+n+";",{})}function evalView(n){return scopeEval(["return function(doc) {",' "use strict";'," var emitted = false;"," var emit = function (a, b) {"," emitted = true;"," };"," var view = "+n+";"," view(doc);"," if (emitted) {"," return true;"," }","};"].join("\n"),{})}function validate(n,r){if(n.selector&&n.filter&&"_selector"!==n.filter){var o="string"==typeof n.filter?n.filter:"function";return r(new Error('selector invalid for filter "'+o+'"'))}r()}function normalize(n){n.view&&!n.filter&&(n.filter="_view"),n.selector&&!n.filter&&(n.filter="_selector"),n.filter&&"string"==typeof n.filter&&("_view"===n.filter?n.view=normalizeDesignDocFunctionName(n.view):n.filter=normalizeDesignDocFunctionName(n.filter))}function shouldFilter(n,r){return r.filter&&"string"==typeof r.filter&&!r.doc_ids&&!isRemote$1(n.db)}function filter(n,r){var o=r.complete;if("_view"===r.filter){if(!r.view||"string"!=typeof r.view){var a=createError$1(BAD_REQUEST,"`view` filter parameter not found or invalid.");return o(a)}var s=parseDesignDocFunctionName(r.view);n.db.get("_design/"+s[0],(function(a,l){if(n.isCancelled)return o(null,{status:"cancelled"});if(a)return o(generateErrorFromResponse$1(a));var c=l&&l.views&&l.views[s[1]]&&l.views[s[1]].map;if(!c)return o(createError$1(MISSING_DOC,l.views?"missing json key: "+s[1]:"missing json key: views"));r.filter=evalView(c),n.doChanges(r)}))}else if(r.selector)r.filter=function(n){return matchesSelector$1(n,r.selector)},n.doChanges(r);else{var l=parseDesignDocFunctionName(r.filter);n.db.get("_design/"+l[0],(function(a,s){if(n.isCancelled)return o(null,{status:"cancelled"});if(a)return o(generateErrorFromResponse$1(a));var c=s&&s.filters&&s.filters[l[1]];if(!c)return o(createError$1(MISSING_DOC,s&&s.filters?"missing json key: "+l[1]:"missing json key: filters"));r.filter=evalFilter(c),n.doChanges(r)}))}}function applyChangesFilterPlugin(n){n._changesFilterPlugin={validate:validate,normalize:normalize,shouldFilter:shouldFilter,filter:filter}}function checkBlobSupport(n,r,o){return new Promise((function(a){var s=createBlob$1([""]);let l;{const a=o;l=n.objectStore(r).put(s,a)}l.onsuccess=function(){var n=navigator.userAgent.match(/Chrome\/(\d+)/),r=navigator.userAgent.match(/Edge\//);a(r||!n||parseInt(n[1],10)>=43)},l.onerror=n.onabort=function(n){n.preventDefault(),n.stopPropagation(),a(!1)}})).catch((function(){return!1}))}function toObject(n){return n.reduce((function(n,r){return n[r]=!0,n}),{})}PouchDB.plugin(applyChangesFilterPlugin),PouchDB.version=version$1;var reservedWords=toObject(["_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(["_access","_attachments","_replication_id","_replication_state","_replication_state_time","_replication_state_reason","_replication_stats"]);function parseRevisionInfo(n){if(!/^\d+-/.test(n))return createError$1(INVALID_REV);var r=n.indexOf("-"),o=n.substring(0,r),a=n.substring(r+1);return{prefix:parseInt(o,10),id:a}}function makeRevTreeFromRevisions(n,r){for(var o=n.start-n.ids.length+1,a=n.ids,s=[a[0],r,[]],l=1,c=a.length;l<c;l++)s=[a[l],{status:"missing"},[s]];return[{pos:o,ids:s}]}function parseDoc(n,r,o){var a,s,l;o||(o={deterministic_revs:!0});var c={status:"available"};if(n._deleted&&(c.deleted=!0),r)if(n._id||(n._id=uuid()),s=rev(n,o.deterministic_revs),n._rev){if((l=parseRevisionInfo(n._rev)).error)return l;n._rev_tree=[{pos:l.prefix,ids:[l.id,{status:"missing"},[[s,c,[]]]]}],a=l.prefix+1}else n._rev_tree=[{pos:1,ids:[s,c,[]]}],a=1;else if(n._revisions&&(n._rev_tree=makeRevTreeFromRevisions(n._revisions,c),a=n._revisions.start,s=n._revisions.ids[0]),!n._rev_tree){if((l=parseRevisionInfo(n._rev)).error)return l;a=l.prefix,s=l.id,n._rev_tree=[{pos:a,ids:[s,c,[]]}]}invalidIdError(n._id),n._rev=a+"-"+s;var u={metadata:{},data:{}};for(var d in n)if(Object.prototype.hasOwnProperty.call(n,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)]=n[d]:u.data[d]=n[d]}return u}function parseBase64(n){try{return thisAtob$1(n)}catch(e3){return{error:createError$1(BAD_ARG,"Attachment is not a valid base64 string")}}}function preprocessString(n,r,o){var a=parseBase64(n.data);if(a.error)return o(a.error);n.length=a.length,n.data="blob"===r?binStringToBluffer$1(a,n.content_type):"base64"===r?thisBtoa(a):a,binaryMd5(a,(function(r){n.digest="md5-"+r,o()}))}function preprocessBlob(n,r,o){binaryMd5(n.data,(function(a){n.digest="md5-"+a,n.length=n.data.size||n.data.length||0,"binary"===r?blobToBinaryString(n.data,(function(r){n.data=r,o()})):"base64"===r?blobToBase64(n.data,(function(r){n.data=r,o()})):o()}))}function preprocessAttachment(n,r,o){if(n.stub)return o();"string"==typeof n.data?preprocessString(n,r,o):preprocessBlob(n,r,o)}function preprocessAttachments(n,r,o){if(!n.length)return o();var a,s=0;function l(){s++,n.length===s&&(a?o(a):o())}n.forEach((function(n){var o=n.data&&n.data._attachments?Object.keys(n.data._attachments):[],s=0;if(!o.length)return l();function c(n){a=n,++s===o.length&&l()}for(var u in n.data._attachments)Object.prototype.hasOwnProperty.call(n.data._attachments,u)&&preprocessAttachment(n.data._attachments[u],r,c)}))}function updateDoc(n,r,o,a,s,l,c,u){if(revExists(r.rev_tree,o.metadata.rev)&&!u)return a[s]=o,l();var d=r.winningRev||winningRev(r),f="deleted"in r?r.deleted:isDeleted(r,d),m="deleted"in o.metadata?o.metadata.deleted:isDeleted(o.metadata),g=/^1-/.test(o.metadata.rev);if(f&&!m&&u&&g){var b=o.data;b._rev=d,b._id=o.metadata.id,o=parseDoc(b,u)}var S=merge(r.rev_tree,o.metadata.rev_tree[0],n);if(u&&(f&&m&&"new_leaf"!==S.conflicts||!f&&"new_leaf"!==S.conflicts||f&&!m&&"new_branch"===S.conflicts)){var k=createError$1(REV_CONFLICT);return a[s]=k,l()}var w=o.metadata.rev;o.metadata.rev_tree=S.tree,o.stemmedRevs=S.stemmedRevs||[],r.rev_map&&(o.metadata.rev_map=r.rev_map);var E=winningRev(o.metadata),C=isDeleted(o.metadata,E),T=f===C?0:f<C?-1:1;c(o,E,C,w===E?C:isDeleted(o.metadata,w),!0,T,s,l)}function rootIsMissing(n){return"missing"===n.metadata.rev_tree[0].ids[1].status}function processDocs(n,r,o,a,s,l,c,u,d){n=n||1e3;var f=u.new_edits,m=new Map,g=0,b=r.length;function S(){++g===b&&d&&d()}r.forEach((function(n,r){if(n._id&&isLocalId(n._id)){var a=n._deleted?"_removeLocal":"_putLocal";o[a](n,{ctx:s},(function(n,o){l[r]=n||o,S()}))}else{var c=n.metadata.id;m.has(c)?(b--,m.get(c).push([n,r])):m.set(c,[[n,r]])}})),m.forEach((function(r,o){var s=0;function d(){++s<r.length?m():S()}function m(){var m=r[s],g=m[0],b=m[1];if(a.has(o))updateDoc(n,a.get(o),g,l,b,d,c,f);else{var S=merge([],g.metadata.rev_tree[0],n);g.metadata.rev_tree=S.tree,g.stemmedRevs=S.stemmedRevs||[],function(n,r,o){var a=winningRev(n.metadata),s=isDeleted(n.metadata,a);if("was_delete"in u&&s)return l[r]=createError$1(MISSING_DOC,"deleted"),o();if(f&&rootIsMissing(n)){var d=createError$1(REV_CONFLICT);return l[r]=d,o()}c(n,a,s,s,!1,s?0:1,r,o)}(g,b,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(n){try{return JSON.parse(n)}catch(e3){return vuvuzela.parse(n)}}function safeJsonStringify(n){try{return JSON.stringify(n)}catch(e3){return vuvuzela.stringify(n)}}function idbError(n){return function(r){var o="unknown_error";r.target&&r.target.error&&(o=r.target.error.name||r.target.error.message),n(createError$1(IDB_ERROR,o,r.type))}}function encodeMetadata(n,r,o){return{data:safeJsonStringify(n),winningRev:r,deletedOrLocal:o?"1":"0",seq:n.seq,id:n.id}}function decodeMetadata(n){if(!n)return null;var r=safeJsonParse(n.data);return r.winningRev=n.winningRev,r.deleted="1"===n.deletedOrLocal,r.seq=n.seq,r}function decodeDoc(n){if(!n)return n;var r=n._doc_id_rev.lastIndexOf(":");return n._id=n._doc_id_rev.substring(0,r-1),n._rev=n._doc_id_rev.substring(r+1),delete n._doc_id_rev,n}function readBlobData(n,r,o,a){o?a(n?"string"!=typeof n?n:b64ToBluffer$1(n,r):createBlob$1([""],{type:r})):n?"string"!=typeof n?readAsBinaryString(n,(function(n){a(thisBtoa(n))})):a(n):a("")}function fetchAttachmentsIfNecessary(n,r,o,a){var s=Object.keys(n._attachments||{});if(!s.length)return a&&a();var l=0;function c(){++l===s.length&&a&&a()}s.forEach((function(a){r.attachments&&r.include_docs?function(n,r){var a=n._attachments[r],s=a.digest;o.objectStore(ATTACH_STORE).get(s).onsuccess=function(n){a.body=n.target.result.body,c()}}(n,a):(n._attachments[a].stub=!0,c())}))}function postProcessAttachments(n,r){return Promise.all(n.map((function(n){if(n.doc&&n.doc._attachments){var o=Object.keys(n.doc._attachments);return Promise.all(o.map((function(o){var a=n.doc._attachments[o];if("body"in a){var s=a.body,l=a.content_type;return new Promise((function(c){readBlobData(s,l,r,(function(r){n.doc._attachments[o]=Object.assign(pick$1(a,["digest","content_type"]),{data:r}),c()}))}))}})))}})))}function compactRevs(n,r,o){var a=[],s=o.objectStore(BY_SEQ_STORE),l=o.objectStore(ATTACH_STORE),c=o.objectStore(ATTACH_AND_SEQ_STORE),u=n.length;function d(){--u||function(){if(!a.length)return;a.forEach((function(n){c.index("digestSeq").count(IDBKeyRange.bound(n+"::",n+"::",!1,!1)).onsuccess=function(r){r.target.result||l.delete(n)}}))}()}n.forEach((function(n){var o=s.index("_doc_id_rev"),l=r+"::"+n;o.getKey(l).onsuccess=function(n){var r=n.target.result;if("number"!=typeof r)return d();s.delete(r),c.index("seq").openCursor(IDBKeyRange.only(r)).onsuccess=function(n){var r=n.target.result;if(r){var o=r.value.digestSeq.split("::")[0];a.push(o),c.delete(r.primaryKey),r.continue()}else d()}}}))}function openTransactionSafely(n,r,o){try{return{txn:n.transaction(r,o)}}catch(a){return{error:a}}}var changesHandler=new Changes;function idbBulkDocs(n,r,o,a,s,l){for(var c,u,d,f,m,g,b,S,k=r.docs,w=0,E=k.length;w<E;w++){var C=k[w];C._id&&isLocalId(C._id)||(C=k[w]=parseDoc(C,o.new_edits,n)).error&&!b&&(b=C)}if(b)return l(b);var T=!1,I=0,P=new Array(k.length),D=new Map,O=!1,A=a._meta.blobSupport?"blob":"base64";function eo(){T=!0,no()}function no(){S&&T&&(S.docCount+=I,g.put(S))}function ro(){O||(changesHandler.notify(a._meta.name),l(null,P))}function oo(n,r,o,a,s,l,c,u){n.metadata.winningRev=r,n.metadata.deleted=o;var d=n.data;if(d._id=n.metadata.id,d._rev=n.metadata.rev,a&&(d._deleted=!0),d._attachments&&Object.keys(d._attachments).length)return function(n,r,o,a,s,l){var c=n.data,u=0,d=Object.keys(c._attachments);function m(){u===d.length&&ao(n,r,o,a,s,l)}function g(){u++,m()}d.forEach((function(o){var a=n.data._attachments[o];if(a.stub)u++,m();else{var s=a.data;delete a.data,a.revpos=parseInt(r,10),function(n,r,o){var a=f.count(n);a.onsuccess=function(a){if(a.target.result)return o();var s={digest:n,body:r};f.put(s).onsuccess=o}}(a.digest,s,g)}}))}(n,r,o,s,c,u);I+=l,no(),ao(n,r,o,s,c,u)}function ao(n,r,o,s,l,f){var g=n.data,b=n.metadata;function S(l){var d=n.stemmedRevs||[];s&&a.auto_compaction&&(d=d.concat(compactTree(n.metadata))),d&&d.length&&compactRevs(d,n.metadata.id,c),b.seq=l.target.result;var f=encodeMetadata(b,r,o);u.put(f).onsuccess=k}function k(){P[l]={ok:!0,id:b.id,rev:b.rev},D.set(n.metadata.id,n.metadata),function(n,r,o){var a=0,s=Object.keys(n.data._attachments||{});if(!s.length)return o();function l(){++a===s.length&&o()}function c(o){var a=n.data._attachments[o].digest,s=m.put({seq:r,digestSeq:a+"::"+r});s.onsuccess=l,s.onerror=function(n){n.preventDefault(),n.stopPropagation(),l()}}for(var u=0;u<s.length;u++)c(s[u])}(n,b.seq,f)}g._doc_id_rev=b.id+"::"+b.rev,delete g._id,delete g._rev;var w=d.put(g);w.onsuccess=S,w.onerror=function(n){n.preventDefault(),n.stopPropagation(),d.index("_doc_id_rev").getKey(g._doc_id_rev).onsuccess=function(n){d.put(g,n.target.result).onsuccess=S}}}preprocessAttachments(k,A,(function(r){if(r)return l(r);!function(){var r=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE,LOCAL_STORE,ATTACH_AND_SEQ_STORE,META_STORE],"readwrite");if(r.error)return l(r.error);(c=r.txn).onabort=idbError(l),c.ontimeout=idbError(l),c.oncomplete=ro,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(n){S=n.target.result,no()},function(n){var r=[];if(k.forEach((function(n){n.data&&n.data._attachments&&Object.keys(n.data._attachments).forEach((function(o){var a=n.data._attachments[o];a.stub&&r.push(a.digest)}))})),!r.length)return n();var o,a=0;function s(){++a===r.length&&n(o)}r.forEach((function(n){!function(n,r){var o=f.get(n);o.onsuccess=function(o){if(o.target.result)r();else{var a=createError$1(MISSING_STUB,"unknown stub attachment with digest "+n);a.status=412,r(a)}}}(n,(function(n){n&&!o&&(o=n),s()}))}))}((function(r){if(r)return O=!0,l(r);!function(){if(!k.length)return;var r=0;function s(){++r===k.length&&processDocs(n.revs_limit,k,a,D,c,P,oo,o,eo)}function l(n){var r=decodeMetadata(n.target.result);r&&D.set(r.id,r),s()}for(var d=0,f=k.length;d<f;d++){var m=k[d];if(m._id&&isLocalId(m._id))s();else u.get(m.metadata.id).onsuccess=l}}()}))}()}))}function runBatchedCursor(n,r,o,a,s){var l,c,u;function d(n){c=n.target.result,l&&s(l,c,u)}function f(n){l=n.target.result,c&&s(l,c,u)}function m(n){var r=n.target.result;if(!r)return s();s([r.key],[r.value],r)}-1===a&&(a=1e3),"function"==typeof n.getAll&&"function"==typeof n.getAllKeys&&a>1&&!o?(u={continue:function(){if(!l.length)return s();var o,u=l[l.length-1];if(r&&r.upper)try{o=IDBKeyRange.bound(u,r.upper,!0,r.upperOpen)}catch(e3){if("DataError"===e3.name&&0===e3.code)return s()}else o=IDBKeyRange.lowerBound(u,!0);r=o,l=null,c=null,n.getAll(r,a).onsuccess=d,n.getAllKeys(r,a).onsuccess=f}},n.getAll(r,a).onsuccess=d,n.getAllKeys(r,a).onsuccess=f):o?n.openCursor(r,"prev").onsuccess=m:n.openCursor(r).onsuccess=m}function getAll(n,r,o){if("function"!=typeof n.getAll){var a=[];n.openCursor(r).onsuccess=function(n){var r=n.target.result;r?(a.push(r.value),r.continue()):o({target:{result:a}})}}else n.getAll(r).onsuccess=o}function allDocsKeys(n,r,o){var a=new Array(n.length),s=0;n.forEach((function(l,c){r.get(l).onsuccess=function(r){r.target.result?a[c]=r.target.result:a[c]={key:l,error:"not_found"},++s===n.length&&o(n,a,{})}}))}function createKeyRange(n,r,o,a,s){try{if(n&&r)return s?IDBKeyRange.bound(r,n,!o,!1):IDBKeyRange.bound(n,r,!1,!o);if(n)return s?IDBKeyRange.upperBound(n):IDBKeyRange.lowerBound(n);if(r)return s?IDBKeyRange.lowerBound(r,!o):IDBKeyRange.upperBound(r,!o);if(a)return IDBKeyRange.only(a)}catch(e3){return{error:e3}}return null}function idbAllDocs(n,r,o){var a,s,l="startkey"in n&&n.startkey,c="endkey"in n&&n.endkey,u="key"in n&&n.key,d="keys"in n&&n.keys,f=n.skip||0,m="number"==typeof n.limit?n.limit:-1,g=!1!==n.inclusive_end;if(!d&&(s=(a=createKeyRange(l,c,g,u,n.descending))&&a.error)&&("DataError"!==s.name||0!==s.code))return o(createError$1(IDB_ERROR,s.name,s.message));var b=[DOC_STORE,BY_SEQ_STORE,META_STORE];n.attachments&&b.push(ATTACH_STORE);var S=openTransactionSafely(r,b,"readonly");if(S.error)return o(S.error);var k=S.txn;k.oncomplete=function(){n.attachments?postProcessAttachments(D,n.binary).then(no):no()},k.onabort=idbError(o);var w,E,C=k.objectStore(DOC_STORE),T=k.objectStore(BY_SEQ_STORE),I=k.objectStore(META_STORE),P=T.index("_doc_id_rev"),D=[];function O(r,o){var a={id:o.id,key:o.id,value:{rev:r}};o.deleted?d&&(D.push(a),a.value.deleted=!0,a.doc=null):f--<=0&&(D.push(a),n.include_docs&&function(r,o,a){var s=r.id+"::"+a;P.get(s).onsuccess=function(a){if(o.doc=decodeDoc(a.target.result)||{},n.conflicts){var s=collectConflicts(r);s.length&&(o.doc._conflicts=s)}fetchAttachmentsIfNecessary(o.doc,n,k)}}(o,a,r))}function A(n){for(var r=0,o=n.length;r<o&&D.length!==m;r++){var a=n[r];if(a.error&&d)D.push(a);else{var s=decodeMetadata(a);O(s.winningRev,s)}}}function eo(n,r,o){o&&(A(r),D.length<m&&o.continue())}function no(){var r={total_rows:w,offset:n.skip,rows:D};n.update_seq&&void 0!==E&&(r.update_seq=E),o(null,r)}return I.get(META_STORE).onsuccess=function(n){w=n.target.result.docCount},n.update_seq&&(T.openKeyCursor(null,"prev").onsuccess=n=>{var r=n.target.result;r&&r.key&&(E=r.key)}),s||0===m?void 0:d?allDocsKeys(d,C,eo):-1===m?getAll(C,a,(function(r){var o=r.target.result;n.descending&&(o=o.reverse()),A(o)})):void runBatchedCursor(C,a,n.descending,m+f,eo)}function countDocs(n,r){n.objectStore(DOC_STORE).index("deletedOrLocal").count(IDBKeyRange.only("0")).onsuccess=function(n){r(n.target.result)}}var running=!1,queue=[];function tryCode(n,r,o,a){try{n(r,o)}catch(s){a.emit("error",s)}}function applyNext(){!running&&queue.length&&(running=!0,queue.shift()())}function enqueueTask(n,r,o){queue.push((function(){n((function(n,a){tryCode(r,n,a,o),running=!1,nextTick$1((function(){applyNext()}))}))})),applyNext()}function changes(n,r,o,a){if((n=clone$2(n)).continuous){var s=o+":"+uuid();return changesHandler.addListener(o,s,r,n),changesHandler.notify(o),{cancel:function(){changesHandler.removeListener(o,s)}}}var l=n.doc_ids&&new Set(n.doc_ids);n.since=n.since||0;var c=n.since,u="limit"in n?n.limit:-1;0===u&&(u=1);var d,f,m,g,b=[],S=0,k=filterChange(n),w=new Map;function E(n,r,o,a){if(o.seq!==r)return a();if(o.winningRev===n._rev)return a(o,n);var s=n._id+"::"+o.winningRev;g.get(s).onsuccess=function(n){a(o,decodeDoc(n.target.result))}}function C(){n.complete(null,{results:b,last_seq:c})}var T=[DOC_STORE,BY_SEQ_STORE];n.attachments&&T.push(ATTACH_STORE);var I=openTransactionSafely(a,T,"readonly");if(I.error)return n.complete(I.error);(d=I.txn).onabort=idbError(n.complete),d.oncomplete=function(){!n.continuous&&n.attachments?postProcessAttachments(b).then(C):C()},f=d.objectStore(BY_SEQ_STORE),m=d.objectStore(DOC_STORE),g=f.index("_doc_id_rev"),runBatchedCursor(f,n.since&&!n.descending?IDBKeyRange.lowerBound(n.since,!0):null,n.descending,u,(function(r,o,a){if(a&&r.length){var s=new Array(r.length),f=new Array(r.length),g=0;o.forEach((function(o,c){!function(n,r,o){if(l&&!l.has(n._id))return o();var a=w.get(n._id);if(a)return E(n,r,a,o);m.get(n._id).onsuccess=function(s){a=decodeMetadata(s.target.result),w.set(n._id,a),E(n,r,a,o)}}(decodeDoc(o),r[c],(function(o,l){f[c]=o,s[c]=l,++g===r.length&&function(){for(var r=[],o=0,l=s.length;o<l&&S!==u;o++){var c=s[o];if(c){var d=f[o];r.push(C(d,c))}}Promise.all(r).then((function(r){for(var o=0,a=r.length;o<a;o++)r[o]&&n.onChange(r[o])})).catch(n.complete),S!==u&&a.continue()}()}))}))}function C(r,o){var a=n.processChange(o,r,n);c=a.seq=r.seq;var s=k(a);return"object"==typeof s?Promise.reject(s):s?(S++,n.return_docs&&b.push(a),n.attachments&&n.include_docs?new Promise((function(r){fetchAttachmentsIfNecessary(o,n,d,(function(){postProcessAttachments([a],n.binary).then((function(){r(a)}))}))})):Promise.resolve(a)):Promise.resolve()}}))}var cachedDBs=new Map,blobSupportPromise,openReqList=new Map;function IdbPouch(n,r){var o=this;enqueueTask((function(r){init(o,n,r)}),r,o.constructor)}function init(n,r,o){var a=r.name,s=null,l=null;function c(n){return function(r,o){r&&r instanceof Error&&!r.reason&&l&&(r.reason=l),n(r,o)}}function u(n,r){var o=n.objectStore(DOC_STORE);o.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),o.openCursor().onsuccess=function(n){var a=n.target.result;if(a){var s=a.value,l=isDeleted(s);s.deletedOrLocal=l?"1":"0",o.put(s),a.continue()}else r()}}function d(n,r){var o=n.objectStore(LOCAL_STORE),a=n.objectStore(DOC_STORE),s=n.objectStore(BY_SEQ_STORE);a.openCursor().onsuccess=function(n){var l=n.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+"::",b=u+"::~",S=s.index("_doc_id_rev"),k=IDBKeyRange.bound(g,b,!1,!1),w=S.openCursor(k);w.onsuccess=function(n){if(w=n.target.result){var r=w.value;r._doc_id_rev===m&&o.put(r),s.delete(w.primaryKey),w.continue()}else a.delete(l.primaryKey),l.continue()}}else l.continue()}else r&&r()}}function f(n,r){var o=n.objectStore(BY_SEQ_STORE),a=n.objectStore(ATTACH_STORE),s=n.objectStore(ATTACH_AND_SEQ_STORE);a.count().onsuccess=function(n){if(!n.target.result)return r();o.openCursor().onsuccess=function(n){var o=n.target.result;if(!o)return r();for(var a=o.value,l=o.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})}o.continue()}}}function m(n){var r=n.objectStore(BY_SEQ_STORE),o=n.objectStore(DOC_STORE);o.openCursor().onsuccess=function(n){var a=n.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=r.index("_doc_id_rev").openCursor(IDBKeyRange.bound(l,c)),d=0,u.onsuccess=function(n){var r=n.target.result;if(!r)return f.seq=d,m();var o=r.primaryKey;o>d&&(d=o),r.continue()}}function m(){var n=encodeMetadata(f,f.winningRev,f.deleted);o.put(n).onsuccess=function(){a.continue()}}}}n._meta=null,n._remote=!1,n.type=function(){return"idb"},n._id=toPromise((function(r){r(null,n._meta.instanceId)})),n._bulkDocs=function(o,a,l){idbBulkDocs(r,o,a,n,s,c(l))},n._get=function(n,r,o){var a,l,c,u=r.ctx;if(!u){var d=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE],"readonly");if(d.error)return o(d.error);u=d.txn}function f(){o(c,{doc:a,metadata:l,ctx:u})}u.objectStore(DOC_STORE).get(n).onsuccess=function(n){if(!(l=decodeMetadata(n.target.result)))return c=createError$1(MISSING_DOC,"missing"),f();var o;if(r.rev)o=r.latest?latest(r.rev,l):r.rev;else if(o=l.winningRev,isDeleted(l))return c=createError$1(MISSING_DOC,"deleted"),f();var s=u.objectStore(BY_SEQ_STORE),d=l.id+"::"+o;s.index("_doc_id_rev").get(d).onsuccess=function(n){if((a=n.target.result)&&(a=decodeDoc(a)),!a)return c=createError$1(MISSING_DOC,"missing"),f();f()}}},n._getAttachment=function(n,r,o,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=o.digest,f=o.content_type;c.objectStore(ATTACH_STORE).get(d).onsuccess=function(n){readBlobData(n.target.result.body,f,a.binary,(function(n){l(null,n)}))}},n._info=function(r){var o,a,l=openTransactionSafely(s,[META_STORE,BY_SEQ_STORE],"readonly");if(l.error)return r(l.error);var c=l.txn;c.objectStore(META_STORE).get(META_STORE).onsuccess=function(n){a=n.target.result.docCount},c.objectStore(BY_SEQ_STORE).openKeyCursor(null,"prev").onsuccess=function(n){var r=n.target.result;o=r?r.key:0},c.oncomplete=function(){r(null,{doc_count:a,update_seq:o,idb_attachment_format:n._meta.blobSupport?"binary":"base64"})}},n._allDocs=function(n,r){idbAllDocs(n,s,c(r))},n._changes=function(r){return changes(r,n,a,s)},n._close=function(n){s.close(),cachedDBs.delete(a),n()},n._getRevisionTree=function(n,r){var o=openTransactionSafely(s,[DOC_STORE],"readonly");if(o.error)return r(o.error);o.txn.objectStore(DOC_STORE).get(n).onsuccess=function(n){var o=decodeMetadata(n.target.result);o?r(null,o.rev_tree):r(createError$1(MISSING_DOC))}},n._doCompaction=function(n,r,o){var a=openTransactionSafely(s,[DOC_STORE,BY_SEQ_STORE,ATTACH_STORE,ATTACH_AND_SEQ_STORE],"readwrite");if(a.error)return o(a.error);var l=a.txn;l.objectStore(DOC_STORE).get(n).onsuccess=function(o){var a=decodeMetadata(o.target.result);traverseRevTree(a.rev_tree,(function(n,o,a,s,l){var c=o+"-"+a;-1!==r.indexOf(c)&&(l.status="missing")})),compactRevs(r,n,l);var s=a.winningRev,c=a.deleted;l.objectStore(DOC_STORE).put(encodeMetadata(a,s,c))},l.onabort=idbError(o),l.oncomplete=function(){o()}},n._getLocal=function(n,r){var o=openTransactionSafely(s,[LOCAL_STORE],"readonly");if(o.error)return r(o.error);var a=o.txn.objectStore(LOCAL_STORE).get(n);a.onerror=idbError(r),a.onsuccess=function(n){var o=n.target.result;o?(delete o._doc_id_rev,r(null,o)):r(createError$1(MISSING_DOC))}},n._putLocal=function(n,r,o){"function"==typeof r&&(o=r,r={}),delete n._revisions;var a=n._rev,l=n._id;n._rev=a?"0-"+(parseInt(a.split("-")[1],10)+1):"0-1";var c,u=r.ctx;if(!u){var d=openTransactionSafely(s,[LOCAL_STORE],"readwrite");if(d.error)return o(d.error);(u=d.txn).onerror=idbError(o),u.oncomplete=function(){c&&o(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(n).onsuccess=function(){c={ok:!0,id:n._id,rev:n._rev},r.ctx&&o(null,c)}:o(createError$1(REV_CONFLICT))}:((f=m.add(n)).onerror=function(n){o(createError$1(REV_CONFLICT)),n.preventDefault(),n.stopPropagation()},f.onsuccess=function(){c={ok:!0,id:n._id,rev:n._rev},r.ctx&&o(null,c)})},n._removeLocal=function(n,r,o){"function"==typeof r&&(o=r,r={});var a,l=r.ctx;if(!l){var c=openTransactionSafely(s,[LOCAL_STORE],"readwrite");if(c.error)return o(c.error);(l=c.txn).oncomplete=function(){a&&o(null,a)}}var u=n._id,d=l.objectStore(LOCAL_STORE),f=d.get(u);f.onerror=idbError(o),f.onsuccess=function(s){var l=s.target.result;l&&l._rev===n._rev?(d.delete(u),a={ok:!0,id:u,rev:"0-0"},r.ctx&&o(null,a)):o(createError$1(MISSING_DOC))}},n._destroy=function(n,r){changesHandler.removeAllListeners(a);var o=openReqList.get(a);o&&o.result&&(o.result.close(),cachedDBs.delete(a));var s=indexedDB.deleteDatabase(a);s.onsuccess=function(){openReqList.delete(a),hasLocalStorage()&&a in localStorage&&delete localStorage[a],r(null,{ok:!0})},s.onerror=idbError(r)};var g=cachedDBs.get(a);if(g)return s=g.idb,n._meta=g.global,nextTick$1((function(){o(null,n)}));var b=indexedDB.open(a,ADAPTER_VERSION);openReqList.set(a,b),b.onupgradeneeded=function(n){var r=n.target.result;if(n.oldVersion<1)return function(n){var r=n.createObjectStore(DOC_STORE,{keyPath:"id"});n.createObjectStore(BY_SEQ_STORE,{autoIncrement:!0}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0}),n.createObjectStore(ATTACH_STORE,{keyPath:"digest"}),n.createObjectStore(META_STORE,{keyPath:"id",autoIncrement:!1}),n.createObjectStore(DETECT_BLOB_SUPPORT_STORE),r.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),n.createObjectStore(LOCAL_STORE,{keyPath:"_id"});var o=n.createObjectStore(ATTACH_AND_SEQ_STORE,{autoIncrement:!0});o.createIndex("seq","seq"),o.createIndex("digestSeq","digestSeq",{unique:!0})}(r);var o=n.currentTarget.transaction;n.oldVersion<3&&function(n){n.createObjectStore(LOCAL_STORE,{keyPath:"_id"}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0})}(r),n.oldVersion<4&&function(n){var r=n.createObjectStore(ATTACH_AND_SEQ_STORE,{autoIncrement:!0});r.createIndex("seq","seq"),r.createIndex("digestSeq","digestSeq",{unique:!0})}(r);var a=[u,d,f,m],s=n.oldVersion;!function n(){var r=a[s-1];s++,r&&r(o,n)}()},b.onsuccess=function(r){(s=r.target.result).onversionchange=function(){s.close(),cachedDBs.delete(a)},s.onabort=function(n){guardedConsole$1("error","Database has a global failure",n.target.error),l=n.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 b(){void 0!==d&&g&&(n._meta={name:a,instanceId:f,blobSupport:d},cachedDBs.set(a,{idb:s,global:n._meta}),o(null,n))}function S(){if(void 0!==u&&void 0!==c){var n=a+"_id";n in c?f=c[n]:c[n]=f=uuid(),c.docCount=u,m.objectStore(META_STORE).put(c)}}m.objectStore(META_STORE).get(META_STORE).onsuccess=function(n){c=n.target.result||{id:META_STORE},S()},countDocs(m,(function(n){u=n,S()})),blobSupportPromise||(blobSupportPromise=checkBlobSupport(m,DETECT_BLOB_SUPPORT_STORE,"key")),blobSupportPromise.then((function(n){d=n,b()})),m.oncomplete=function(){g=!0,b()},m.onabort=idbError(o)},b.onerror=function(n){var r=n.target.error&&n.target.error.message;r?-1!==r.indexOf("stored database is a higher version")&&(r=new Error('This DB was created with the newer "indexeddb" adapter, but you are trying to open it with the older "idb" adapter')):r="Failed to open indexedDB, are you in private browsing mode?",guardedConsole$1("error",r),o(createError$1(IDB_ERROR,r))}}function IDBPouch(n){n.adapter("idb",IdbPouch,!0)}function pool(n,r){return new Promise((function(o,a){var s,l=0,c=0,u=0,d=n.length;function f(){++u===d?s?a(s):o():b()}function m(){l--,f()}function g(n){l--,s=s||n,f()}function b(){for(;l<r&&c<d;)l++,n[c++]().then(m,g)}b()}))}IdbPouch.valid=function(){try{return"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(e3){return!1}};const CHANGES_BATCH_SIZE$1=25,MAX_SIMULTANEOUS_REVS=50,CHANGES_TIMEOUT_BUFFER=5e3,DEFAULT_HEARTBEAT=1e4,supportsBulkGetMap={};function readAttachmentsAsBlobOrBuffer(n){const r=n.doc||n.ok,o=r&&r._attachments;o&&Object.keys(o).forEach((function(n){const r=o[n];r.data=b64ToBluffer$1(r.data,r.content_type)}))}function encodeDocId(n){return/^_design/.test(n)?"_design/"+encodeURIComponent(n.slice(8)):n.startsWith("_local/")?"_local/"+encodeURIComponent(n.slice(7)):encodeURIComponent(n)}function preprocessAttachments$1(n){return n._attachments&&Object.keys(n._attachments)?Promise.all(Object.keys(n._attachments).map((function(r){const o=n._attachments[r];if(o.data&&"string"!=typeof o.data)return new Promise((function(n){blobToBase64(o.data,n)})).then((function(n){o.data=n}))}))):Promise.resolve()}function hasUrlPrefix(n){if(!n.prefix)return!1;const r=parseUri(n.prefix).protocol;return"http"===r||"https"===r}function getHost(n,r){if(hasUrlPrefix(r)){const o=r.name.substr(r.prefix.length);n=r.prefix.replace(/\/?$/,"/")+encodeURIComponent(o)}const o=parseUri(n);(o.user||o.password)&&(o.auth={username:o.user,password:o.password});const a=o.path.replace(/(^\/|\/$)/g,"").split("/");return o.db=a.pop(),-1===o.db.indexOf("%")&&(o.db=encodeURIComponent(o.db)),o.path=a.join("/"),o}function genDBUrl(n,r){return genUrl(n,n.db+"/"+r)}function genUrl(n,r){const o=n.path?"/":"";return n.protocol+"://"+n.host+(n.port?":"+n.port:"")+"/"+n.path+o+r}function paramsToStr(n){const r=Object.keys(n);return 0===r.length?"":"?"+r.map((r=>r+"="+encodeURIComponent(n[r]))).join("&")}function shouldCacheBust(n){const r="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",o=-1!==r.indexOf("msie"),a=-1!==r.indexOf("trident"),s=-1!==r.indexOf("edge"),l=!("method"in n)||"GET"===n.method;return(o||a||s)&&l}function HttpPouch(n,r){const o=this,a=getHost(n.name,n),s=genDBUrl(a,"");n=clone$2(n);const l=async function(r,o){if((o=o||{}).headers=o.headers||new h$1,o.credentials="include",n.auth||a.auth){const r=n.auth||a.auth,s=r.username+":"+r.password,l=thisBtoa(unescape(encodeURIComponent(s)));o.headers.set("Authorization","Basic "+l)}const s=n.headers||{};Object.keys(s).forEach((function(n){o.headers.append(n,s[n])})),shouldCacheBust(o)&&(r+=(-1===r.indexOf("?")?"?":"&")+"_nonce="+Date.now());const l=n.fetch||f$1;return await l(r,o)};function c(n,r){return adapterFun(n,(function(...n){f().then((function(){return r.apply(this,n)})).catch((function(r){n.pop()(r)}))})).bind(o)}async function u(n,r){const o={};(r=r||{}).headers=r.headers||new h$1,r.headers.get("Content-Type")||r.headers.set("Content-Type","application/json"),r.headers.get("Accept")||r.headers.set("Accept","application/json");const a=await l(n,r);o.ok=a.ok,o.status=a.status;const s=await a.json();if(o.data=s,!o.ok){o.data.status=o.status;throw generateErrorFromResponse$1(o.data)}return Array.isArray(o.data)&&(o.data=o.data.map((function(n){return n.error||n.missing?generateErrorFromResponse$1(n):n}))),o}let d;async function f(){return n.skip_setup?Promise.resolve():d||(d=u(s).catch((function(n){return n&&n.status&&404===n.status?(explainError(404,"PouchDB is just detecting if the remote exists."),u(s,{method:"PUT"})):Promise.reject(n)})).catch((function(n){return!(!n||!n.status||412!==n.status)||Promise.reject(n)})),d.catch((function(){d=null})),d)}function m(n){return n.split("/").map(encodeURIComponent).join("/")}nextTick$1((function(){r(null,o)})),o._remote=!0,o.type=function(){return"http"},o.id=c("id",(async function(n){let r;try{const n=await l(genUrl(a,""));r=await n.json()}catch(o){r={}}n(null,r&&r.uuid?r.uuid+a.db:genDBUrl(a,""))})),o.compact=c("compact",(async function(n,r){"function"==typeof n&&(r=n,n={}),n=clone$2(n),await u(genDBUrl(a,"_compact"),{method:"POST"}),function a(){o.info((function(o,s){s&&!s.compact_running?r(null,{ok:!0}):setTimeout(a,n.interval||200)}))}()})),o.bulkGet=adapterFun("bulkGet",(function(n,r){const o=this;async function s(r){const o={};n.revs&&(o.revs=!0),n.attachments&&(o.attachments=!0),n.latest&&(o.latest=!0);try{const s=await u(genDBUrl(a,"_bulk_get"+paramsToStr(o)),{method:"POST",body:JSON.stringify({docs:n.docs})});n.attachments&&n.binary&&s.data.results.forEach((function(n){n.docs.forEach(readAttachmentsAsBlobOrBuffer)})),r(null,s.data)}catch(s){r(s)}}function l(){const a=MAX_SIMULTANEOUS_REVS,s=Math.ceil(n.docs.length/a);let l=0;const c=new Array(s);function u(n){return function(o,a){c[n]=a.results,++l===s&&r(null,{results:c.flat()})}}for(let r=0;r<s;r++){const s=pick$1(n,["revs","attachments","binary","latest"]);s.docs=n.docs.slice(r*a,Math.min(n.docs.length,(r+1)*a)),bulkGet(o,s,u(r))}}const c=genUrl(a,""),d=supportsBulkGetMap[c];"boolean"!=typeof d?s((function(n,o){n?(supportsBulkGetMap[c]=!1,explainError(n.status,"PouchDB is just detecting if the remote supports the _bulk_get API."),l()):(supportsBulkGetMap[c]=!0,r(null,o))})):d?s(r):l()})),o._info=async function(n){try{await f();const r=await l(genDBUrl(a,"")),o=await r.json();o.host=genDBUrl(a,""),n(null,o)}catch(r){n(r)}},o.fetch=async function(n,r){await f();const o="/"===n.substring(0,1)?genUrl(a,n.substring(1)):genDBUrl(a,n);return l(o,r)},o.get=c("get",(async function(n,r,o){"function"==typeof r&&(o=r,r={});const s={};function c(n){const o=n._attachments,s=o&&Object.keys(o);if(!o||!s.length)return;return pool(s.map((function(s){return function(){return async function(s){const c=o[s],u=encodeDocId(n._id)+"/"+m(s)+"?rev="+n._rev,d=await l(genDBUrl(a,u));let f,g;if(f="buffer"in d?await d.buffer():await d.blob(),r.binary){const n=Object.getOwnPropertyDescriptor(f.__proto__,"type");n&&!n.set||(f.type=c.content_type),g=f}else g=await new Promise((function(n){blobToBase64(f,n)}));delete c.stub,delete c.length,c.data=g}(s)}})),5)}(r=clone$2(r)).revs&&(s.revs=!0),r.revs_info&&(s.revs_info=!0),r.latest&&(s.latest=!0),r.open_revs&&("all"!==r.open_revs&&(r.open_revs=JSON.stringify(r.open_revs)),s.open_revs=r.open_revs),r.rev&&(s.rev=r.rev),r.conflicts&&(s.conflicts=r.conflicts),r.update_seq&&(s.update_seq=r.update_seq),n=encodeDocId(n);const d=genDBUrl(a,n+paramsToStr(s));try{const n=await u(d);r.attachments&&await(f=n.data,Array.isArray(f)?Promise.all(f.map((function(n){if(n.ok)return c(n.ok)}))):c(f)),o(null,n.data)}catch(g){g.docId=n,o(g)}var f})),o.remove=c("remove",(async function(n,r,o,s){let l;"string"==typeof r?(l={_id:n,_rev:r},"function"==typeof o&&(s=o,o={})):(l=n,"function"==typeof r?(s=r,o={}):(s=o,o=r));const c=l._rev||o.rev,d=genDBUrl(a,encodeDocId(l._id))+"?rev="+c;try{s(null,(await u(d,{method:"DELETE"})).data)}catch(f){s(f)}})),o.getAttachment=c("getAttachment",(async function(n,r,o,s){"function"==typeof o&&(s=o,o={});const c=o.rev?"?rev="+o.rev:"",u=genDBUrl(a,encodeDocId(n))+"/"+m(r)+c;let d;try{const n=await l(u,{method:"GET"});if(!n.ok)throw n;let r;d=n.headers.get("content-type"),r=await n.blob(),s(null,r)}catch(f){s(f)}})),o.removeAttachment=c("removeAttachment",(async function(n,r,o,s){const l=genDBUrl(a,encodeDocId(n)+"/"+m(r))+"?rev="+o;try{s(null,(await u(l,{method:"DELETE"})).data)}catch(c){s(c)}})),o.putAttachment=c("putAttachment",(async function(n,r,o,s,l,c){"function"==typeof l&&(c=l,l=s,s=o,o=null);const d=encodeDocId(n)+"/"+m(r);let f=genDBUrl(a,d);if(o&&(f+="?rev="+o),"string"==typeof s){let n;try{n=thisAtob$1(s)}catch(g){return c(createError$1(BAD_ARG,"Attachment is not a valid base64 string"))}s=n?binStringToBluffer$1(n,l):""}try{c(null,(await u(f,{headers:new h$1({"Content-Type":l}),method:"PUT",body:s})).data)}catch(b){c(b)}})),o._bulkDocs=async function(n,r,o){n.new_edits=r.new_edits;try{await f(),await Promise.all(n.docs.map(preprocessAttachments$1));o(null,(await u(genDBUrl(a,"_bulk_docs"),{method:"POST",body:JSON.stringify(n)})).data)}catch(s){o(s)}},o._put=async function(n,r,o){try{await f(),await preprocessAttachments$1(n);o(null,(await u(genDBUrl(a,encodeDocId(n._id)),{method:"PUT",body:JSON.stringify(n)})).data)}catch(s){s.docId=n&&n._id,o(s)}},o.allDocs=c("allDocs",(async function(n,r){"function"==typeof n&&(r=n,n={});const o={};let s,l="GET";(n=clone$2(n)).conflicts&&(o.conflicts=!0),n.update_seq&&(o.update_seq=!0),n.descending&&(o.descending=!0),n.include_docs&&(o.include_docs=!0),n.attachments&&(o.attachments=!0),n.key&&(o.key=JSON.stringify(n.key)),n.start_key&&(n.startkey=n.start_key),n.startkey&&(o.startkey=JSON.stringify(n.startkey)),n.end_key&&(n.endkey=n.end_key),n.endkey&&(o.endkey=JSON.stringify(n.endkey)),void 0!==n.inclusive_end&&(o.inclusive_end=!!n.inclusive_end),void 0!==n.limit&&(o.limit=n.limit),void 0!==n.skip&&(o.skip=n.skip);const c=paramsToStr(o);void 0!==n.keys&&(l="POST",s={keys:n.keys});try{const o=await u(genDBUrl(a,"_all_docs"+c),{method:l,body:JSON.stringify(s)});n.include_docs&&n.attachments&&n.binary&&o.data.rows.forEach(readAttachmentsAsBlobOrBuffer),r(null,o.data)}catch(d){r(d)}})),o._changes=function(n){const r="batch_size"in n?n.batch_size:CHANGES_BATCH_SIZE$1;(n=clone$2(n)).continuous&&!("heartbeat"in n)&&(n.heartbeat=DEFAULT_HEARTBEAT);let o="timeout"in n?n.timeout:3e4;"timeout"in n&&n.timeout&&o-n.timeout<CHANGES_TIMEOUT_BUFFER&&(o=n.timeout+CHANGES_TIMEOUT_BUFFER),"heartbeat"in n&&n.heartbeat&&o-n.heartbeat<CHANGES_TIMEOUT_BUFFER&&(o=n.heartbeat+CHANGES_TIMEOUT_BUFFER);const s={};"timeout"in n&&n.timeout&&(s.timeout=n.timeout);const l=void 0!==n.limit&&n.limit;let c=l;if(n.style&&(s.style=n.style),(n.include_docs||n.filter&&"function"==typeof n.filter)&&(s.include_docs=!0),n.attachments&&(s.attachments=!0),n.continuous&&(s.feed="longpoll"),n.seq_interval&&(s.seq_interval=n.seq_interval),n.conflicts&&(s.conflicts=!0),n.descending&&(s.descending=!0),n.update_seq&&(s.update_seq=!0),"heartbeat"in n&&n.heartbeat&&(s.heartbeat=n.heartbeat),n.filter&&"string"==typeof n.filter&&(s.filter=n.filter),n.view&&"string"==typeof n.view&&(s.filter="_view",s.view=n.view),n.query_params&&"object"==typeof n.query_params)for(const a in n.query_params)Object.prototype.hasOwnProperty.call(n.query_params,a)&&(s[a]=n.query_params[a]);let d,m="GET";n.doc_ids?(s.filter="_doc_ids",m="POST",d={doc_ids:n.doc_ids}):n.selector&&(s.filter="_selector",m="POST",d={selector:n.selector});const g=new AbortController;let b;const S=async function(o,S){if(n.aborted)return;s.since=o,"object"==typeof s.since&&(s.since=JSON.stringify(s.since)),n.descending?l&&(s.limit=c):s.limit=!l||c>r?r:c;const k=genDBUrl(a,"_changes"+paramsToStr(s)),w={signal:g.signal,method:m,body:JSON.stringify(d)};if(b=o,!n.aborted)try{await f();S(null,(await u(k,w)).data)}catch(E){S(E)}},k={results:[]},w=function(o,a){if(n.aborted)return;let s=0;if(a&&a.results){s=a.results.length,k.last_seq=a.last_seq;let r=null,o=null;"number"==typeof a.pending&&(r=a.pending),"string"!=typeof k.last_seq&&"number"!=typeof k.last_seq||(o=k.last_seq),n.query_params,a.results=a.results.filter((function(a){c--;const s=filterChange(n)(a);return s&&(n.include_docs&&n.attachments&&n.binary&&readAttachmentsAsBlobOrBuffer(a),n.return_docs&&k.results.push(a),n.onChange(a,r,o)),s}))}else if(o)return n.aborted=!0,void n.complete(o);a&&a.last_seq&&(b=a.last_seq);const u=l&&c<=0||a&&s<r||n.descending;(!n.continuous||l&&c<=0)&&u?n.complete(null,k):nextTick$1((function(){S(b,w)}))};return S(n.since||0,w),{cancel:function(){n.aborted=!0,g.abort()}}},o.revsDiff=c("revsDiff",(async function(n,r,o){"function"==typeof r&&(o=r,r={});try{o(null,(await u(genDBUrl(a,"_revs_diff"),{method:"POST",body:JSON.stringify(n)})).data)}catch(s){o(s)}})),o._close=function(n){n()},o._destroy=async function(n,r){try{r(null,await u(genDBUrl(a,""),{method:"DELETE"}))}catch(o){404===o.status?r(null,{ok:!0}):r(o)}}}function HttpPouch$1(n){n.adapter("http",HttpPouch,!1),n.adapter("https",HttpPouch,!1)}HttpPouch.valid=function(){return!0};let QueryParseError$1=class QueryParseError2 extends Error{constructor(n){super(),this.status=400,this.name="query_parse_error",this.message=n,this.error=!0;try{Error.captureStackTrace(this,QueryParseError2)}catch(e3){}}},NotFoundError$1=class NotFoundError2 extends Error{constructor(n){super(),this.status=404,this.name="not_found",this.message=n,this.error=!0;try{Error.captureStackTrace(this,NotFoundError2)}catch(e3){}}},BuiltInError$1=class BuiltInError2 extends Error{constructor(n){super(),this.status=500,this.name="invalid_value",this.message=n,this.error=!0;try{Error.captureStackTrace(this,BuiltInError2)}catch(e3){}}};function promisedCallback$1(n,r){return r&&n.then((function(n){nextTick$1((function(){r(null,n)}))}),(function(n){nextTick$1((function(){r(n)}))})),n}function callbackify$1(n){return function(...r){var o=r.pop(),a=n.apply(this,r);return"function"==typeof o&&promisedCallback$1(a,o),a}}function fin$1(n,r){return n.then((function(n){return r().then((function(){return n}))}),(function(n){return r().then((function(){throw n}))}))}function sequentialize$1(n,r){return function(){var o=arguments,a=this;return n.add((function(){return r.apply(a,o)}))}}function uniq$2(n){var r=new Set(n),o=new Array(r.size),a=-1;return r.forEach((function(n){o[++a]=n})),o}function mapToKeysArray$1(n){var r=new Array(n.size),o=-1;return n.forEach((function(n,a){r[++o]=a})),r}function createBuiltInError(n){return new BuiltInError$1("builtin "+n+" function requires map values to be numbers or number arrays")}function sum(n){for(var r=0,o=0,a=n.length;o<a;o++){var s=n[o];if("number"!=typeof s){if(!Array.isArray(s))throw createBuiltInError("_sum");r="number"==typeof r?[r]:r;for(var l=0,c=s.length;l<c;l++){var u=s[l];if("number"!=typeof u)throw createBuiltInError("_sum");void 0===r[l]?r.push(u):r[l]+=u}}else"number"==typeof r?r+=s:r[0]+=s}return r}var log=guardedConsole$1.bind(null,"log"),isArray=Array.isArray,toJSON=JSON.parse;function evalFunctionWithEval(n,r){return scopeEval("return ("+n.replace(/;\s*$/,"")+");",{emit:r,sum:sum,log:log,isArray:isArray,toJSON:toJSON})}let TaskQueue$1$1=class TaskQueue$12{constructor(){this.promise=Promise.resolve()}add(n){return this.promise=this.promise.catch((()=>{})).then((()=>n())),this.promise}finish(){return this.promise}};function stringify$1(n){if(!n)return"undefined";switch(typeof n){case"function":case"string":return n.toString();default:return JSON.stringify(n)}}function createViewSignature$1(n,r){return stringify$1(n)+stringify$1(r)+"undefined"}async function createView$1(n,r,o,a,s,l){const c=createViewSignature$1(o,a);let u;if(!s&&(u=n._cachedViews=n._cachedViews||{},u[c]))return u[c];const d=n.info().then((async function(d){const f=d.db_name+"-mrview-"+(s?"temp":stringMd5$1(c));await upsert$1(n,"_local/"+l,(function(n){n.views=n.views||{};let o=r;-1===o.indexOf("/")&&(o=r+"/"+r);const a=n.views[o]=n.views[o]||{};if(!a[f])return a[f]=!0,n}));const m=(await n.registerDependentDatabase(f)).db;m.auto_compaction=!0;const g={name:f,db:m,sourceDB:n,adapter:n.adapter,mapFun:o,reduceFun:a};let b;try{b=await g.db.get("_local/lastSeq")}catch(S){if(404!==S.status)throw S}return g.seq=b?b.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(n){return-1===n.indexOf("/")?[n,n]:n.split("/")}function isGenOne$1(n){return 1===n.length&&/^1-/.test(n[0].rev)}function emitError$2(n,r,o){try{n.emit("error",r)}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",r,o)}}function createAbstractMapReduce$1(n,r,o,a){function s(n,r,o){try{r(o)}catch(e3){emitError$2(n,e3,{fun:r,doc:o})}}function l(n,r,o,a,s){try{return{output:r(o,a,s)}}catch(e3){return emitError$2(n,e3,{fun:r,keys:o,values:a,rereduce:s}),{error:e3}}}function c(n,r){const o=collate$1(n.key,r.key);return 0!==o?o:collate$1(n.value,r.value)}function u(n,r,o){return o=o||0,"number"==typeof r?n.slice(o,r+o):o>0?n.slice(o):n}function d(n){const r=n.value;return r&&"object"==typeof r&&r._id||n.id}function f(n){return function(r){return n.include_docs&&n.attachments&&n.binary&&function(n){for(const r of n.rows){const n=r.doc&&r.doc._attachments;if(n)for(const r of Object.keys(n)){const o=n[r];n[r].data=b64ToBluffer$1(o.data,o.content_type)}}}(r),r}}function m(n,r,o,a){let s=r[n];void 0!==s&&(a&&(s=encodeURIComponent(JSON.stringify(s))),o.push(n+"="+s))}function g(n){if(void 0!==n){const r=Number(n);return isNaN(r)||r!==parseInt(n,10)?n:r}}function b(n){if(n){if("number"!=typeof n)return new QueryParseError$1(`Invalid value for integer: "${n}"`);if(n<0)return new QueryParseError$1(`Invalid value for positive integer: "${n}"`)}}function S(n,r){const o=n.descending?"endkey":"startkey",a=n.descending?"startkey":"endkey";if(void 0!==n[o]&&void 0!==n[a]&&collate$1(n[o],n[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(r.reduce&&!1!==n.reduce){if(n.include_docs)throw new QueryParseError$1("{include_docs:true} is invalid for reduce");if(n.keys&&n.keys.length>1&&!n.group&&!n.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 r=b(n[s]);if(r)throw r}}function k(n){return function(r){if(404===r.status)return n;throw r}}function w(n,r,o){var a="_local/lastSeq";return n.db.get(a).catch(k({_id:a,seq:0})).then((function(a){var s=mapToKeysArray$1(r);return Promise.all(s.map((function(o){return async function(n,r,o){const a="_local/doc_"+n,s={_id:a,keys:[]},l=o.get(n),c=l[0],u=l[1],d=await(isGenOne$1(u)?Promise.resolve(s):r.db.get(a).catch(k(s)));var f;return function(n,r){const o=[],a=new Set;for(const l of r.rows){const n=l.doc;if(n&&(o.push(n),a.add(n._id),n._deleted=!c.has(n._id),!n._deleted)){const r=c.get(n._id);"value"in r&&(n.value=r.value)}}const s=mapToKeysArray$1(c);for(const l of s)if(!a.has(l)){const n={_id:l},r=c.get(l);"value"in r&&(n.value=r.value),o.push(n)}return n.keys=uniq$2(s.concat(n.keys)),o.push(n),o}(d,await(f=d,f.keys.length?r.db.allDocs({keys:f.keys,include_docs:!0}):Promise.resolve({rows:[]})))}(o,n,r)}))).then((function(r){var s=r.flat();return a.seq=o,s.push(a),n.db.bulkDocs({docs:s})})).then((()=>function(n){return n.sourceDB.get("_local/purges").then((function(r){const o=r.purgeSeq;return n.db.get("_local/purgeSeq").then((function(n){return n._rev})).catch(k(void 0)).then((function(r){return n.db.put({_id:"_local/purgeSeq",_rev:r,purgeSeq:o})}))})).catch((function(n){if(404!==n.status)throw n}))}(n)))}))}function E(n){const r="string"==typeof n?n:n.name;let o=persistentQueues$1[r];return o||(o=persistentQueues$1[r]=new TaskQueue$1$1),o}async function C(n,o){return sequentialize$1(E(n),(function(){return async function(n,o){let a,l,u;function d(n,r){const o={id:l._id,key:normalizeKey$1(n)};null!=r&&(o.value=normalizeKey$1(r)),a.push(o)}const f=r(n.mapFun,d);let m=n.seq||0;function g(){return n.sourceDB.info().then((function(r){u=n.sourceDB.activeTasks.add({name:"view_indexing",total_items:r.update_seq-m})}))}function b(r,o){return function(){return w(n,r,o)}}let S=0;const E={view:n.name,indexed_docs:S};n.sourceDB.emit("indexing",E);const C=new TaskQueue$1$1;async function T(){return P(await n.sourceDB.changes({return_docs:!0,conflicts:!0,include_docs:!0,style:"all_docs",since:m,limit:o.changes_batch_size}),await I())}function I(){return n.db.get("_local/purgeSeq").then((function(n){return n.purgeSeq})).catch(k(-1)).then((function(r){return n.sourceDB.get("_local/purges").then((function(o){const a=o.purges.filter((function(n,o){return o>r})).map((n=>n.docId)),s=a.filter((function(n,r){return a.indexOf(n)===r}));return Promise.all(s.map((function(r){return n.sourceDB.get(r).then((function(n){return{docId:r,doc:n}})).catch(k({docId:r}))})))})).catch(k([]))}))}function P(r,a){const s=r.results;if(!s.length&&!a.length)return;for(const n of a){if(s.findIndex((function(r){return r.id===n.docId}))<0){const r={_id:n.docId,doc:{_id:n.docId,_deleted:1},changes:[]};n.doc&&(r.doc=n.doc,r.changes.push({rev:n.doc._rev})),s.push(r)}}const l=D(s);C.add(b(l,m)),S+=s.length;const c={view:n.name,last_seq:r.last_seq,results_count:s.length,indexed_docs:S};return n.sourceDB.emit("indexing",c),n.sourceDB.activeTasks.update(u,{completed_items:S}),s.length<o.changes_batch_size?void 0:T()}function D(r){const o=new Map;for(const u of r){if("_"!==u.doc._id[0]){a=[],l=u.doc,l._deleted||s(n.sourceDB,f,l),a.sort(c);const r=O(a);o.set(u.doc._id,[r,u.changes])}m=u.seq}return o}function O(n){const r=new Map;let o;for(let a=0,s=n.length;a<s;a++){const s=n[a],l=[s.key,s.id];a>0&&0===collate$1(s.key,o)&&l.push(a),r.set(toIndexableString$1(l),s),o=s.key}return r}try{await g(),await T(),await C.finish(),n.seq=m,n.sourceDB.activeTasks.remove(u)}catch(A){n.sourceDB.activeTasks.remove(u,A)}}(n,o)}))()}function T(n,r){return sequentialize$1(E(n),(function(){return async function(n,r){let a;const s=n.reduceFun&&!1!==r.reduce,c=r.skip||0;void 0===r.keys||r.keys.length||(r.limit=0,delete r.keys);async function f(r){r.include_docs=!0;const o=await n.db.allDocs(r);return a=o.total_rows,o.rows.map((function(n){if("value"in n.doc&&"object"==typeof n.doc.value&&null!==n.doc.value){const r=Object.keys(n.doc.value).sort(),o=["id","key","value"];if(!(r<o||r>o))return n.doc.value}const r=parseIndexableString$1(n.doc._id);return{key:r[0],id:r[1],value:"value"in n.doc?n.doc.value:null}}))}async function m(f){let m;if(m=s?function(n,r,a){0===a.group_level&&delete a.group_level;const s=a.group||a.group_level,c=o(n.reduceFun),d=[],f=isNaN(a.group_level)?Number.POSITIVE_INFINITY:a.group_level;for(const o of r){const n=d[d.length-1];let r=s?o.key:null;s&&Array.isArray(r)&&(r=r.slice(0,f)),n&&0===collate$1(n.groupKey,r)?(n.keys.push([o.key,o.id]),n.values.push(o.value)):d.push({keys:[[o.key,o.id]],values:[o.value],groupKey:r})}r=[];for(const o of d){const a=l(n.sourceDB,c,o.keys,o.values,!1);if(a.error&&a.error instanceof BuiltInError$1)throw a.error;r.push({value:a.error?null:a.output,key:o.groupKey})}return{rows:u(r,a.limit,a.skip)}}(n,f,r):void 0===r.keys?{total_rows:a,offset:c,rows:f}:{total_rows:a,offset:c,rows:u(f,r.limit,r.skip)},r.update_seq&&(m.update_seq=n.seq),r.include_docs){const o=uniq$2(f.map(d)),a=await n.sourceDB.allDocs({keys:o,include_docs:!0,conflicts:r.conflicts,attachments:r.attachments,binary:r.binary}),s=new Map;for(const n of a.rows)s.set(n.id,n.doc);for(const n of f){const r=d(n),o=s.get(r);o&&(n.doc=o)}}return m}if(void 0!==r.keys){const n=r.keys.map((function(n){const o={startkey:toIndexableString$1([n]),endkey:toIndexableString$1([n,{}])};return r.update_seq&&(o.update_seq=!0),f(o)}));return m((await Promise.all(n)).flat())}{const n={descending:r.descending};let o,a;if(r.update_seq&&(n.update_seq=!0),"start_key"in r&&(o=r.start_key),"startkey"in r&&(o=r.startkey),"end_key"in r&&(a=r.end_key),"endkey"in r&&(a=r.endkey),void 0!==o&&(n.startkey=r.descending?toIndexableString$1([o,{}]):toIndexableString$1([o])),void 0!==a){let o=!1!==r.inclusive_end;r.descending&&(o=!o),n.endkey=toIndexableString$1(o?[a,{}]:[a])}if(void 0!==r.key){const o=toIndexableString$1([r.key]),a=toIndexableString$1([r.key,{}]);n.descending?(n.endkey=o,n.startkey=a):(n.startkey=o,n.endkey=a)}s||("number"==typeof r.limit&&(n.limit=r.limit),n.skip=c);return m(await f(n))}}(n,r)}))()}async function I(r,o,s){if("function"==typeof r._query)return function(n,r,o){return new Promise((function(a,s){n._query(r,o,(function(n,r){if(n)return s(n);a(r)}))}))}(r,o,s);if(isRemote$1(r))return async function(n,r,o){let a,s,l=[],c="GET";if(m("reduce",o,l),m("include_docs",o,l),m("attachments",o,l),m("limit",o,l),m("descending",o,l),m("group",o,l),m("group_level",o,l),m("skip",o,l),m("stale",o,l),m("conflicts",o,l),m("startkey",o,l,!0),m("start_key",o,l,!0),m("endkey",o,l,!0),m("end_key",o,l,!0),m("inclusive_end",o,l),m("key",o,l,!0),m("update_seq",o,l),l=l.join("&"),l=""===l?"":"?"+l,void 0!==o.keys){const n=2e3,s=`keys=${encodeURIComponent(JSON.stringify(o.keys))}`;s.length+l.length+1<=n?l+=("?"===l[0]?"&":"?")+s:(c="POST","string"==typeof r?a={keys:o.keys}:r.keys=o.keys)}if("string"==typeof r){const u=parseViewName$1(r),d=await n.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 n of m.rows)if(n.value&&n.value.error&&"builtin_reduce_error"===n.value.error)throw new Error(n.reason);return new Promise((function(n){n(m)})).then(f(o))}a=a||{};for(const f of Object.keys(r))Array.isArray(r[f])?a[f]=r[f]:a[f]=r[f].toString();const u=await n.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(n){n(d)})).then(f(o))}(r,o,s);const l={changes_batch_size:r.__opts.view_update_changes_batch_size||CHANGES_BATCH_SIZE$1$1};if("string"!=typeof o)return S(s,o),tempViewQueue$1.add((async function(){const a=await createView$1(r,"temp_view/temp_view",o.map,o.reduce,!0,n);return fin$1(C(a,l).then((function(){return T(a,s)})),(function(){return a.db.destroy()}))})),tempViewQueue$1.finish();{const c=o,u=parseViewName$1(c),d=u[0],f=u[1],m=await r.get("_design/"+d);if(!(o=m.views&&m.views[f]))throw new NotFoundError$1(`ddoc ${m._id} has no view named ${f}`);a(m,f),S(s,o);const g=await createView$1(r,c,o.map,o.reduce,!1,n);return"ok"===s.stale||"update_after"===s.stale?("update_after"===s.stale&&nextTick$1((function(){C(g,l)})),T(g,s)):(await C(g,l),T(g,s))}}return{query:function(n,r,o){const a=this;"function"==typeof r&&(o=r,r={}),r=r?function(n){return n.group_level=g(n.group_level),n.limit=g(n.limit),n.skip=g(n.skip),n}(r):{},"function"==typeof n&&(n={map:n});const s=Promise.resolve().then((function(){return I(a,n,r)}));return promisedCallback$1(s,o),s},viewCleanup:callbackify$1((function(){const r=this;return"function"==typeof r._viewCleanup?function(n){return new Promise((function(r,o){n._viewCleanup((function(n,a){if(n)return o(n);r(a)}))}))}(r):isRemote$1(r)?async function(n){return(await n.fetch("_view_cleanup",{headers:new h$1({"Content-Type":"application/json"}),method:"POST"})).json()}(r):async function(r){try{const o=await r.get("_local/"+n),a=new Map;for(const n of Object.keys(o.views)){const r=parseViewName$1(n),o="_design/"+r[0],s=r[1];let l=a.get(o);l||(l=new Set,a.set(o,l)),l.add(s)}const s={keys:mapToKeysArray$1(a),include_docs:!0},l=await r.allDocs(s),c={};for(const n of l.rows){const r=n.key.substring(8);for(const s of a.get(n.key)){let a=r+"/"+s;o.views[a]||(a=s);const l=Object.keys(o.views[a]),u=n.doc&&n.doc.views&&n.doc.views[s];for(const n of l)c[n]=c[n]||u}}const u=Object.keys(c).filter((function(n){return!c[n]})).map((function(n){return sequentialize$1(E(n),(function(){return new r.constructor(n,r.__opts).destroy()}))()}));return Promise.all(u).then((function(){return{ok:!0}}))}catch(o){if(404===o.status)return{ok:!0};throw o}}(r)}))}}var builtInReduce={_sum:function(n,r){return sum(r)},_count:function(n,r){return r.length},_stats:function(n,r){return{sum:sum(r),min:Math.min.apply(null,r),max:Math.max.apply(null,r),count:r.length,sumsqr:function(n){for(var r=0,o=0,a=n.length;o<a;o++){var s=n[o];r+=s*s}return r}(r)}}};function getBuiltIn(n){if(/^_sum/.test(n))return builtInReduce._sum;if(/^_count/.test(n))return builtInReduce._count;if(/^_stats/.test(n))return builtInReduce._stats;if(/^_/.test(n))throw new Error(n+" is not a supported reduce function.")}function mapper$1(n,r){if("function"==typeof n&&2===n.length){var o=n;return function(n){return o(n,r)}}return evalFunctionWithEval(n.toString(),r)}function reducer$1(n){var r=n.toString(),o=getBuiltIn(r);return o||evalFunctionWithEval(r)}function ddocValidator$1(n,r){var o=n.views&&n.views[r];if("string"!=typeof o.map)throw new NotFoundError$1("ddoc "+n._id+" has no string view named "+r+", instead found object of type: "+typeof o.map)}var localDocName="mrviews",abstract=createAbstractMapReduce$1(localDocName,mapper$1,reducer$1,ddocValidator$1);function query(n,r,o){return abstract.query.call(this,n,r,o)}function viewCleanup(n){return abstract.viewCleanup.call(this,n)}var mapreduce={query:query,viewCleanup:viewCleanup};function fileHasChanged(n,r,o){return!n._attachments||!n._attachments[o]||n._attachments[o].digest!==r._attachments[o].digest}function getDocAttachments(n,r){var o=Object.keys(r._attachments);return Promise.all(o.map((function(o){return n.getAttachment(r._id,o,{rev:r._rev})})))}function getDocAttachmentsFromTargetOrSource(n,r,o){var a=isRemote$1(r)&&!isRemote$1(n),s=Object.keys(o._attachments);return a?n.get(o._id).then((function(a){return Promise.all(s.map((function(s){return fileHasChanged(a,o,s)?r.getAttachment(o._id,s):n.getAttachment(a._id,s)})))})).catch((function(n){if(404!==n.status)throw n;return getDocAttachments(r,o)})):getDocAttachments(r,o)}function createBulkGetOpts(n){var r=[];return Object.keys(n).forEach((function(o){n[o].missing.forEach((function(n){r.push({id:o,rev:n})}))})),{docs:r,revs:!0,latest:!0}}function getDocs(n,r,o,a){o=clone$2(o);var s=[],l=!0;return Promise.resolve().then((function(){var c=createBulkGetOpts(o);if(c.docs.length)return n.bulkGet(c).then((function(o){if(a.cancelled)throw new Error("cancelled");return Promise.all(o.results.map((function(o){return Promise.all(o.docs.map((function(o){var a=o.ok;return o.error&&(l=!1),a&&a._attachments?getDocAttachmentsFromTargetOrSource(r,n,a).then((n=>{var r=Object.keys(a._attachments);return n.forEach((function(n,o){var s=a._attachments[r[o]];delete s.stub,delete s.length,s.data=n})),a})):a})))}))).then((function(n){s=s.concat(n.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(n,r,o,a,s){return n.get(r).catch((function(o){if(404===o.status)return"http"!==n.adapter&&"https"!==n.adapter||explainError(404,"PouchDB is just checking if a remote checkpoint exists."),{session_id:a,_id:r,history:[],replicator:REPLICATOR,version:CHECKPOINT_VERSION};throw o})).then((function(l){if(!s.cancelled&&l.last_seq!==o)return l.history=(l.history||[]).filter((function(n){return n.session_id!==a})),l.history.unshift({last_seq:o,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=o,n.put(l).catch((function(l){if(409===l.status)return updateCheckpoint(n,r,o,a,s);throw l}))}))}class CheckpointerInternal{constructor(n,r,o,a,s={writeSourceCheckpoint:!0,writeTargetCheckpoint:!0}){this.src=n,this.target=r,this.id=o,this.returnValue=a,this.opts=s,void 0===s.writeSourceCheckpoint&&(s.writeSourceCheckpoint=!0),void 0===s.writeTargetCheckpoint&&(s.writeTargetCheckpoint=!0)}writeCheckpoint(n,r){var o=this;return this.updateTarget(n,r).then((function(){return o.updateSource(n,r)}))}updateTarget(n,r){return this.opts.writeTargetCheckpoint?updateCheckpoint(this.target,this.id,n,r,this.returnValue):Promise.resolve(!0)}updateSource(n,r){if(this.opts.writeSourceCheckpoint){var o=this;return updateCheckpoint(this.src,this.id,n,r,this.returnValue).catch((function(n){if(isForbiddenError(n))return o.opts.writeSourceCheckpoint=!1,!0;throw n}))}return Promise.resolve(!0)}getCheckpoint(){var n=this;return n.opts.writeSourceCheckpoint||n.opts.writeTargetCheckpoint?n.opts&&n.opts.writeSourceCheckpoint&&!n.opts.writeTargetCheckpoint?n.src.get(n.id).then((function(n){return n.last_seq||LOWEST_SEQ})).catch((function(n){if(404!==n.status)throw n;return LOWEST_SEQ})):n.target.get(n.id).then((function(r){return n.opts&&n.opts.writeTargetCheckpoint&&!n.opts.writeSourceCheckpoint?r.last_seq||LOWEST_SEQ:n.src.get(n.id).then((function(n){return r.version!==n.version?LOWEST_SEQ:(o=r.version?r.version.toString():"undefined")in comparisons?comparisons[o](r,n):LOWEST_SEQ;var o}),(function(o){if(404===o.status&&r.last_seq)return n.src.put({_id:n.id,last_seq:LOWEST_SEQ}).then((function(){return LOWEST_SEQ}),(function(o){return isForbiddenError(o)?(n.opts.writeSourceCheckpoint=!1,r.last_seq):LOWEST_SEQ}));throw o}))})).catch((function(n){if(404!==n.status)throw n;return LOWEST_SEQ})):Promise.resolve(LOWEST_SEQ)}}var comparisons={undefined:function(n,r){return 0===collate$1(n.last_seq,r.last_seq)?r.last_seq:0},1:function(n,r){return compareReplicationLogs(r,n).last_seq}};function compareReplicationLogs(n,r){return n.session_id===r.session_id?{last_seq:n.last_seq,history:n.history}:compareReplicationHistory(n.history,r.history)}function compareReplicationHistory(n,r){var o=n[0],a=n.slice(1),s=r[0],l=r.slice(1);return o&&0!==r.length?hasSessionId(o.session_id,r)?{last_seq:o.last_seq,history:n}:hasSessionId(s.session_id,a)?{last_seq:s.last_seq,history:l}:compareReplicationHistory(a,l):{last_seq:LOWEST_SEQ,history:[]}}function hasSessionId(n,r){var o=r[0],a=r.slice(1);return!(!n||0===r.length)&&(n===o.session_id||hasSessionId(n,a))}function isForbiddenError(n){return"number"==typeof n.status&&4===Math.floor(n.status/100)}function Checkpointer(n,r,o,a,s){return this instanceof CheckpointerInternal?Checkpointer:new CheckpointerInternal(n,r,o,a,s)}var STARTING_BACK_OFF=0;function backOff(n,r,o,a){if(!1===n.retry)return r.emit("error",o),void r.removeAllListeners();if("function"!=typeof n.back_off_function&&(n.back_off_function=defaultBackOff),r.emit("requestError",o),"active"===r.state||"pending"===r.state){r.emit("paused",o),r.state="stopped";var s=function(){n.current_back_off=STARTING_BACK_OFF};r.once("paused",(function(){r.removeListener("active",s)})),r.once("active",s)}n.current_back_off=n.current_back_off||STARTING_BACK_OFF,n.current_back_off=n.back_off_function(n.current_back_off),setTimeout(a,n.current_back_off)}function sortObjectPropertiesByKey(n){return Object.keys(n).sort(collate$1).reduce((function(r,o){return r[o]=n[o],r}),{})}function generateReplicationId(n,r,o){var a=o.doc_ids?o.doc_ids.sort(collate$1):"",s=o.filter?o.filter.toString():"",l="",c="",u="";return o.selector&&(u=JSON.stringify(o.selector)),o.filter&&o.query_params&&(l=JSON.stringify(sortObjectPropertiesByKey(o.query_params))),o.filter&&"_view"===o.filter&&(c=o.view.toString()),Promise.all([n.id(),r.id()]).then((function(n){var r=n[0]+n[1]+s+c+l+a+u;return new Promise((function(n){binaryMd5(r,n)}))})).then((function(n){return"_local/"+(n=n.replace(/\//g,".").replace(/\+/g,"_"))}))}function replicate(n,r,o,a,s){var l,c,u,d,f=[],m={seq:0,changes:[],docs:[]},g=!1,b=!1,S=!1,k=0,w=0,E=o.continuous||o.live||!1,C=o.batch_size||100,T=o.batches_limit||10,I=o.style||"all_docs",P=!1,D=o.doc_ids,O=o.selector,A=[],eo=uuid();s=s||{ok:!0,start_time:(new Date).toISOString(),docs_read:0,docs_written:0,doc_write_failures:0,errors:[]};var no={};function ro(){return u?Promise.resolve():generateReplicationId(n,r,o).then((function(s){c=s;var l={};l=!1===o.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!1}:"source"===o.checkpoint?{writeSourceCheckpoint:!0,writeTargetCheckpoint:!1}:"target"===o.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!0}:{writeSourceCheckpoint:!0,writeTargetCheckpoint:!0},u=new Checkpointer(n,r,c,a,l)}))}function oo(){if(A=[],0!==l.docs.length){var n=l.docs,c={timeout:o.timeout};return r.bulkDocs({docs:n,new_edits:!1},c).then((function(r){if(a.cancelled)throw uo(),new Error("cancelled");var o=Object.create(null);r.forEach((function(n){n.error&&(o[n.id]=n)}));var l=Object.keys(o).length;s.doc_write_failures+=l,s.docs_written+=n.length-l,n.forEach((function(n){var r=o[n._id];if(r){s.errors.push(r);var l=(r.name||"").toLowerCase();if("unauthorized"!==l&&"forbidden"!==l)throw r;a.emit("denied",clone$2(r))}else A.push(n)}))}),(function(r){throw s.doc_write_failures+=n.length,r}))}}function ao(){if(l.error)throw new Error("There was a problem getting docs.");s.last_seq=w=l.seq;var r=clone$2(s);return A.length&&(r.docs=A,"number"==typeof l.pending&&(r.pending=l.pending,delete l.pending),a.emit("change",r)),g=!0,n.info().then((function(r){var o=n.activeTasks.get(d);if(l&&o){var a=o.completed_items||0,s=parseInt(r.update_seq,10)-parseInt(k,10);n.activeTasks.update(d,{completed_items:a+l.changes.length,total_items:s})}})),u.writeCheckpoint(l.seq,eo).then((function(){if(a.emit("checkpoint",{checkpoint:l.seq}),g=!1,a.cancelled)throw uo(),new Error("cancelled");l=void 0,mo()})).catch((function(n){throw yo(n),n}))}function io(){return getDocs(n,r,l.diffs,a).then((function(n){l.error=!n.ok,n.docs.forEach((function(n){delete l.diffs[n._id],s.docs_read++,l.docs.push(n)}))}))}function so(){var n;a.cancelled||l||(0!==f.length?(l=f.shift(),a.emit("checkpoint",{start_next_batch:l.seq}),(n={},l.changes.forEach((function(r){a.emit("checkpoint",{revs_diff:r}),"_user/"!==r.id&&(n[r.id]=r.changes.map((function(n){return n.rev})))})),r.revsDiff(n).then((function(n){if(a.cancelled)throw uo(),new Error("cancelled");l.diffs=n}))).then(io).then(oo).then(ao).then(so).catch((function(n){co("batch processing terminated with error",n)}))):lo(!0))}function lo(n){0!==m.changes.length?(n||b||m.changes.length>=C)&&(f.push(m),m={seq:0,changes:[],docs:[]},"pending"!==a.state&&"stopped"!==a.state||(a.state="active",a.emit("active")),so()):0!==f.length||l||((E&&no.live||b)&&(a.state="pending",a.emit("paused")),b&&uo())}function co(n,r){S||(r.message||(r.message=n),s.ok=!1,s.status="aborting",f=[],m={seq:0,changes:[],docs:[]},uo(r))}function uo(l){if(!(S||a.cancelled&&(s.status="cancelled",g)))if(s.status=s.status||"complete",s.end_time=(new Date).toISOString(),s.last_seq=w,S=!0,n.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(o,a,l,(function(){replicate(n,r,o,a)}))}else a.emit("complete",s),a.removeAllListeners()}function po(r,s,l){if(a.cancelled)return uo();if("number"==typeof s&&(m.pending=s),filterChange(o)(r))m.seq=r.seq||l,m.changes.push(r),a.emit("checkpoint",{pending_batch:m.seq}),nextTick$1((function(){lo(0===f.length&&no.live)}));else{var c=n.activeTasks.get(d);if(c){var u=c.completed_items||0;n.activeTasks.update(d,{completed_items:++u})}}}function fo(n){if(P=!1,a.cancelled)return uo();if(n.results.length>0)no.since=n.results[n.results.length-1].seq,mo(),lo(!0);else{var r=function(){E?(no.live=!0,mo()):b=!0,lo(!0)};l||0!==n.results.length?r():(g=!0,u.writeCheckpoint(n.last_seq,eo).then((function(){if(g=!1,s.last_seq=w=n.last_seq,a.cancelled)throw uo(),new Error("cancelled");r()})).catch(yo))}}function ho(n){if(P=!1,a.cancelled)return uo();co("changes rejected",n)}function mo(){if(!P&&!b&&f.length<T){P=!0,a._changes&&(a.removeListener("cancel",a._abortChanges),a._changes.cancel()),a.once("cancel",s);var r=n.changes(no).on("change",po);r.then(l,l),r.then(fo).catch(ho),o.retry&&(a._changes=r,a._abortChanges=s)}function s(){r.cancel()}function l(){a.removeListener("cancel",s)}}function go(r){return n.info().then((function(a){var s=void 0===o.since?parseInt(a.update_seq,10)-parseInt(r,10):parseInt(a.update_seq,10);return d=n.activeTasks.add({name:`${E?"continuous ":""}replication from ${a.db_name}`,total_items:s}),r}))}function vo(){ro().then((function(){if(!a.cancelled)return u.getCheckpoint().then(go).then((function(n){k=n,no={since:w=n,limit:C,batch_size:C,style:I,doc_ids:D,selector:O,return_docs:!0},o.filter&&("string"!=typeof o.filter?no.include_docs=!0:no.filter=o.filter),"heartbeat"in o&&(no.heartbeat=o.heartbeat),"timeout"in o&&(no.timeout=o.timeout),o.query_params&&(no.query_params=o.query_params),o.view&&(no.view=o.view),mo()}));uo()})).catch((function(n){co("getCheckpoint rejected with ",n)}))}function yo(n){g=!1,co("writeCheckpoint completed with error",n)}a.ready(n,r),a.cancelled?uo():(a._addedListeners||(a.once("cancel",uo),"function"==typeof o.complete&&(a.once("error",o.complete),a.once("complete",(function(n){o.complete(null,n)}))),a._addedListeners=!0),void 0===o.since?vo():ro().then((function(){return g=!0,u.writeCheckpoint(o.since,eo)})).then((function(){g=!1,a.cancelled?uo():(w=o.since,vo())})).catch(yo))}class Replication extends EventEmitter{constructor(){super(),this.cancelled=!1,this.state="pending";const n=new Promise(((n,r)=>{this.once("complete",n),this.once("error",r)}));this.then=function(r,o){return n.then(r,o)},this.catch=function(r){return n.catch(r)},this.catch((function(){}))}cancel(){this.cancelled=!0,this.state="cancelled",this.emit("cancel")}ready(n,r){if(this._readyCalled)return;this._readyCalled=!0;const o=()=>{this.cancel()};function a(){n.removeListener("destroyed",o),r.removeListener("destroyed",o)}n.once("destroyed",o),r.once("destroyed",o),this.once("complete",a),this.once("error",a)}}function toPouch(n,r){var o=r.PouchConstructor;return"string"==typeof n?new o(n,r):n}function replicateWrapper(n,r,o,a){if("function"==typeof o&&(a=o,o={}),void 0===o&&(o={}),o.doc_ids&&!Array.isArray(o.doc_ids))throw createError$1(BAD_REQUEST,"`doc_ids` filter parameter is not a list.");o.complete=a,(o=clone$2(o)).continuous=o.continuous||o.live,o.retry="retry"in o&&o.retry,o.PouchConstructor=o.PouchConstructor||this;var s=new Replication(o);return replicate(toPouch(n,o),toPouch(r,o),o,s),s}function sync(n,r,o,a){return"function"==typeof o&&(a=o,o={}),void 0===o&&(o={}),(o=clone$2(o)).PouchConstructor=o.PouchConstructor||this,n=toPouch(n,o),r=toPouch(r,o),new Sync(n,r,o,a)}class Sync extends EventEmitter{constructor(n,r,o,a){super(),this.canceled=!1;const s=o.push?Object.assign({},o,o.push):o,l=o.pull?Object.assign({},o,o.pull):o;this.push=replicateWrapper(n,r,s),this.pull=replicateWrapper(r,n,l),this.pushPaused=!0,this.pullPaused=!0;const c=n=>{this.emit("change",{direction:"pull",change:n})},u=n=>{this.emit("change",{direction:"push",change:n})},d=n=>{this.emit("denied",{direction:"push",doc:n})},f=n=>{this.emit("denied",{direction:"pull",doc:n})},m=()=>{this.pushPaused=!0,this.pullPaused&&this.emit("paused")},g=()=>{this.pullPaused=!0,this.pushPaused&&this.emit("paused")},b=()=>{this.pushPaused=!1,this.pullPaused&&this.emit("active",{direction:"push"})},S=()=>{this.pullPaused=!1,this.pushPaused&&this.emit("active",{direction:"pull"})};let k={};const w=n=>(r,o)=>{("change"===r&&(o===c||o===u)||"denied"===r&&(o===f||o===d)||"paused"===r&&(o===g||o===m)||"active"===r&&(o===S||o===b))&&(r in k||(k[r]={}),k[r][n]=!0,2===Object.keys(k[r]).length&&this.removeAllListeners(r))};function E(n,r,o){-1==n.listeners(r).indexOf(o)&&n.on(r,o)}o.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(n){"change"===n?(E(this.pull,"change",c),E(this.push,"change",u)):"denied"===n?(E(this.pull,"denied",f),E(this.push,"denied",d)):"active"===n?(E(this.pull,"active",S),E(this.push,"active",b)):"paused"===n&&(E(this.pull,"paused",g),E(this.push,"paused",m))})),this.on("removeListener",(function(n){"change"===n?(this.pull.removeListener("change",c),this.push.removeListener("change",u)):"denied"===n?(this.pull.removeListener("denied",f),this.push.removeListener("denied",d)):"active"===n?(this.pull.removeListener("active",S),this.push.removeListener("active",b)):"paused"===n&&(this.pull.removeListener("paused",g),this.push.removeListener("paused",m))})),this.pull.on("removeListener",w("pull")),this.push.on("removeListener",w("push"));const C=Promise.all([this.push,this.pull]).then((n=>{const r={push:n[0],pull:n[1]};return this.emit("complete",r),a&&a(null,r),this.removeAllListeners(),r}),(n=>{if(this.cancel(),a?a(n):this.emit("error",n),this.removeAllListeners(),a)throw n}));this.then=function(n,r){return C.then(n,r)},this.catch=function(n){return C.catch(n)}}cancel(){this.canceled||(this.canceled=!0,this.push.cancel(),this.pull.cancel())}}function replication(n){n.replicate=replicateWrapper,n.sync=sync,Object.defineProperty(n.prototype,"replicate",{get:function(){var n=this;return void 0===this.replicateMethods&&(this.replicateMethods={from:function(r,o,a){return n.constructor.replicate(r,n,o,a)},to:function(r,o,a){return n.constructor.replicate(n,r,o,a)}}),this.replicateMethods}}),n.prototype.sync=function(n,r,o){return this.constructor.sync(this,n,r,o)}}PouchDB.plugin(IDBPouch).plugin(HttpPouch$1).plugin(mapreduce).plugin(replication);class PouchError extends Error{constructor(n,r,o){super(),this.status=n,this.name=r,this.message=o,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(n,r){function o(r){for(var o=Object.getOwnPropertyNames(n),a=0,s=o.length;a<s;a++)"function"!=typeof n[o[a]]&&(this[o[a]]=n[o[a]]);void 0===this.stack&&(this.stack=(new Error).stack),void 0!==r&&(this.reason=r)}return o.prototype=PouchError.prototype,new o(r)}function generateErrorFromResponse(n){if("object"!=typeof n){var r=n;(n=UNKNOWN_ERROR).data=r}return"error"in n&&"conflict"===n.error&&(n.name="conflict",n.status=409),"name"in n||(n.name=n.error||"unknown"),"status"in n||(n.status=500),"message"in n||(n.message=n.message||n.reason),"stack"in n||(n.stack=(new Error).stack),n}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(n){return atob(n)};function createBlob(n,r){n=n||[],r=r||{};try{return new Blob(n,r)}catch(e3){if("TypeError"!==e3.name)throw e3;for(var o=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),a=0;a<n.length;a+=1)o.append(n[a]);return o.getBlob(r.type)}}function binaryStringToArrayBuffer(n){for(var r=n.length,o=new ArrayBuffer(r),a=new Uint8Array(o),s=0;s<r;s++)a[s]=n.charCodeAt(s);return o}function binStringToBluffer(n,r){return createBlob([binaryStringToArrayBuffer(n)],{type:r})}function b64ToBluffer(n,r){return binStringToBluffer(thisAtob(n),r)}function pad(n,r,o){for(var a="",s=o-n.length;a.length<s;)a+=r;return a}function padLeft(n,r,o){return pad(n,r,o)+n}var MIN_MAGNITUDE=-324,MAGNITUDE_DIGITS=3,SEP="";function collate(n,r){if(n===r)return 0;n=normalizeKey(n),r=normalizeKey(r);var o=collationIndex(n),a=collationIndex(r);if(o-a!=0)return o-a;switch(typeof n){case"number":return n-r;case"boolean":return n<r?-1:1;case"string":return stringCollate(n,r)}return Array.isArray(n)?arrayCollate(n,r):objectCollate(n,r)}function normalizeKey(n){switch(typeof n){case"undefined":return null;case"number":return n===1/0||n===-1/0||isNaN(n)?null:n;case"object":var r=n;if(Array.isArray(n)){var o=n.length;n=new Array(o);for(var a=0;a<o;a++)n[a]=normalizeKey(r[a])}else{if(n instanceof Date)return n.toJSON();if(null!==n)for(var s in n={},r)if(Object.prototype.hasOwnProperty.call(r,s)){var l=r[s];void 0!==l&&(n[s]=normalizeKey(l))}}}return n}function indexify(n){if(null!==n)switch(typeof n){case"boolean":return n?1:0;case"number":return numToIndexableString(n);case"string":return n.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");case"object":var r=Array.isArray(n),o=r?n:Object.keys(n),a=-1,s=o.length,l="";if(r)for(;++a<s;)l+=toIndexableString(o[a]);else for(;++a<s;){var c=o[a];l+=toIndexableString(c)+toIndexableString(n[c])}return l}return""}function toIndexableString(n){return collationIndex(n=normalizeKey(n))+SEP+indexify(n)+"\0"}function parseNumber(n,r){var o,a=r;if("1"===n[r])o=0,r++;else{var s="0"===n[r];r++;var l="",c=n.substring(r,r+MAGNITUDE_DIGITS),u=parseInt(c,10)+MIN_MAGNITUDE;for(s&&(u=-u),r+=MAGNITUDE_DIGITS;;){var d=n[r];if("\0"===d)break;l+=d,r++}o=1===(l=l.split(".")).length?parseInt(l,10):parseFloat(l[0]+"."+l[1]),s&&(o-=10),0!==u&&(o=parseFloat(o+"e"+u))}return{num:o,length:r-a}}function pop(n,r){var o=n.pop();if(r.length){var a=r[r.length-1];o===a.element&&(r.pop(),a=r[r.length-1]);var s=a.element,l=a.index;if(Array.isArray(s))s.push(o);else if(l===n.length-2){s[n.pop()]=o}else n.push(o)}}function parseIndexableString(n){for(var r=[],o=[],a=0;;){var s=n[a++];if("\0"!==s)switch(s){case"1":r.push(null);break;case"2":r.push("1"===n[a]),a++;break;case"3":var l=parseNumber(n,a);r.push(l.num),a+=l.length;break;case"4":for(var c="";;){var u=n[a];if("\0"===u)break;c+=u,a++}c=c.replace(/\u0001\u0001/g,"\0").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,""),r.push(c);break;case"5":var d={element:[],index:r.length};r.push(d.element),o.push(d);break;case"6":var f={element:{},index:r.length};r.push(f.element),o.push(f);break;default:throw new Error("bad collationIndex or unexpectedly reached end of input: "+s)}else{if(1===r.length)return r.pop();pop(r,o)}}}function arrayCollate(n,r){for(var o=Math.min(n.length,r.length),a=0;a<o;a++){var s=collate(n[a],r[a]);if(0!==s)return s}return n.length===r.length?0:n.length>r.length?1:-1}function stringCollate(n,r){return n===r?0:n>r?1:-1}function objectCollate(n,r){for(var o=Object.keys(n),a=Object.keys(r),s=Math.min(o.length,a.length),l=0;l<s;l++){var c=collate(o[l],a[l]);if(0!==c)return c;if(0!==(c=collate(n[o[l]],r[a[l]])))return c}return o.length===a.length?0:o.length>a.length?1:-1}function collationIndex(n){var r=["boolean","number","string","object"].indexOf(typeof n);return~r?null===n?1:Array.isArray(n)?5:r<3?r+2:r+3:Array.isArray(n)?5:void 0}function numToIndexableString(n){if(0===n)return"1";var r=n.toExponential().split(/e\+?/),o=parseInt(r[1],10),a=n<0,s=a?"0":"2",l=padLeft(((a?-o:o)-MIN_MAGNITUDE).toString(),"0",MAGNITUDE_DIGITS);s+=SEP+l;var c=Math.abs(parseFloat(r[0]));a&&(c=10-c);var u=c.toFixed(20);return u=u.replace(/\.?0+$/,""),s+=SEP+u}function stringMd5(n){return Md5.hash(n)}function isBinaryObject(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer||"undefined"!=typeof Blob&&n instanceof Blob}function cloneBinaryObject(n){return n instanceof ArrayBuffer?n.slice(0):n.slice(0,n.size,n.type)}var funcToString=Function.prototype.toString,objectCtorString=funcToString.call(Object),hasLocal;function isPlainObject$1(n){var r=Object.getPrototypeOf(n);if(null===r)return!0;var o=r.constructor;return"function"==typeof o&&o instanceof o&&funcToString.call(o)==objectCtorString}function clone$1(n){var r,o,a;if(!n||"object"!=typeof n)return n;if(Array.isArray(n)){for(r=[],o=0,a=n.length;o<a;o++)r[o]=clone$1(n[o]);return r}if(n instanceof Date&&isFinite(n))return n.toISOString();if(isBinaryObject(n))return cloneBinaryObject(n);if(!isPlainObject$1(n))return n;for(o in r={},n)if(Object.prototype.hasOwnProperty.call(n,o)){var s=clone$1(n[o]);void 0!==s&&(r[o]=s)}return r}try{localStorage.setItem("_pouch_check_localstorage",1),hasLocal=!!localStorage.getItem("_pouch_check_localstorage")}catch(e3){hasLocal=!1}const nextTick="function"==typeof queueMicrotask?queueMicrotask:function(n){Promise.resolve().then(n)};function guardedConsole(n){if("undefined"!=typeof console&&"function"==typeof console[n]){var r=Array.prototype.slice.call(arguments,1);console[n].apply(console,r)}}function isRemote(n){return"boolean"==typeof n._remote?n._remote:"function"==typeof n.type&&(guardedConsole("warn","db.type() is deprecated and will be removed in a future version of PouchDB"),"http"===n.type())}function upsert(n,r,o){return n.get(r).catch((function(n){if(404!==n.status)throw n;return{}})).then((function(a){var s=a._rev,l=o(a);return l?(l._id=r,l._rev=s,tryAndPut(n,l,o)):{updated:!1,rev:s}}))}function tryAndPut(n,r,o){return n.put(r).then((function(n){return{updated:!0,rev:n.rev}}),(function(a){if(409!==a.status)throw a;return upsert(n,r._id,o)}))}class QueryParseError extends Error{constructor(n){super(),this.status=400,this.name="query_parse_error",this.message=n,this.error=!0;try{Error.captureStackTrace(this,QueryParseError)}catch(e3){}}}class NotFoundError extends Error{constructor(n){super(),this.status=404,this.name="not_found",this.message=n,this.error=!0;try{Error.captureStackTrace(this,NotFoundError)}catch(e3){}}}class BuiltInError extends Error{constructor(n){super(),this.status=500,this.name="invalid_value",this.message=n,this.error=!0;try{Error.captureStackTrace(this,BuiltInError)}catch(e3){}}}function promisedCallback(n,r){return r&&n.then((function(n){nextTick((function(){r(null,n)}))}),(function(n){nextTick((function(){r(n)}))})),n}function callbackify(n){return function(...r){var o=r.pop(),a=n.apply(this,r);return"function"==typeof o&&promisedCallback(a,o),a}}function fin(n,r){return n.then((function(n){return r().then((function(){return n}))}),(function(n){return r().then((function(){throw n}))}))}function sequentialize(n,r){return function(){var o=arguments,a=this;return n.add((function(){return r.apply(a,o)}))}}function uniq$1(n){var r=new Set(n),o=new Array(r.size),a=-1;return r.forEach((function(n){o[++a]=n})),o}function mapToKeysArray(n){var r=new Array(n.size),o=-1;return n.forEach((function(n,a){r[++o]=a})),r}class TaskQueue{constructor(){this.promise=Promise.resolve()}add(n){return this.promise=this.promise.catch((()=>{})).then((()=>n())),this.promise}finish(){return this.promise}}function stringify(n){if(!n)return"undefined";switch(typeof n){case"function":case"string":return n.toString();default:return JSON.stringify(n)}}function createViewSignature(n,r){return stringify(n)+stringify(r)+"undefined"}async function createView(n,r,o,a,s,l){const c=createViewSignature(o,a);let u;if(!s&&(u=n._cachedViews=n._cachedViews||{},u[c]))return u[c];const d=n.info().then((async function(d){const f=d.db_name+"-mrview-"+(s?"temp":stringMd5(c));await upsert(n,"_local/"+l,(function(n){n.views=n.views||{};let o=r;-1===o.indexOf("/")&&(o=r+"/"+r);const a=n.views[o]=n.views[o]||{};if(!a[f])return a[f]=!0,n}));const m=(await n.registerDependentDatabase(f)).db;m.auto_compaction=!0;const g={name:f,db:m,sourceDB:n,adapter:n.adapter,mapFun:o,reduceFun:a};let b;try{b=await g.db.get("_local/lastSeq")}catch(S){if(404!==S.status)throw S}return g.seq=b?b.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(n){return-1===n.indexOf("/")?[n,n]:n.split("/")}function isGenOne(n){return 1===n.length&&/^1-/.test(n[0].rev)}function emitError$1(n,r,o){try{n.emit("error",r)}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",r,o)}}function createAbstractMapReduce(n,r,o,a){function s(n,r,o){try{r(o)}catch(e3){emitError$1(n,e3,{fun:r,doc:o})}}function l(n,r,o,a,s){try{return{output:r(o,a,s)}}catch(e3){return emitError$1(n,e3,{fun:r,keys:o,values:a,rereduce:s}),{error:e3}}}function c(n,r){const o=collate(n.key,r.key);return 0!==o?o:collate(n.value,r.value)}function u(n,r,o){return o=o||0,"number"==typeof r?n.slice(o,r+o):o>0?n.slice(o):n}function d(n){const r=n.value;return r&&"object"==typeof r&&r._id||n.id}function f(n){return function(r){return n.include_docs&&n.attachments&&n.binary&&function(n){for(const r of n.rows){const n=r.doc&&r.doc._attachments;if(n)for(const r of Object.keys(n)){const o=n[r];n[r].data=b64ToBluffer(o.data,o.content_type)}}}(r),r}}function m(n,r,o,a){let s=r[n];void 0!==s&&(a&&(s=encodeURIComponent(JSON.stringify(s))),o.push(n+"="+s))}function g(n){if(void 0!==n){const r=Number(n);return isNaN(r)||r!==parseInt(n,10)?n:r}}function b(n){if(n){if("number"!=typeof n)return new QueryParseError(`Invalid value for integer: "${n}"`);if(n<0)return new QueryParseError(`Invalid value for positive integer: "${n}"`)}}function S(n,r){const o=n.descending?"endkey":"startkey",a=n.descending?"startkey":"endkey";if(void 0!==n[o]&&void 0!==n[a]&&collate(n[o],n[a])>0)throw new QueryParseError("No rows can match your key range, reverse your start_key and end_key or set {descending : true}");if(r.reduce&&!1!==n.reduce){if(n.include_docs)throw new QueryParseError("{include_docs:true} is invalid for reduce");if(n.keys&&n.keys.length>1&&!n.group&&!n.group_level)throw new QueryParseError("Multi-key fetches for reduce views must use {group: true}")}for(const s of["group_level","limit","skip"]){const r=b(n[s]);if(r)throw r}}function k(n){return function(r){if(404===r.status)return n;throw r}}function w(n,r,o){var a="_local/lastSeq";return n.db.get(a).catch(k({_id:a,seq:0})).then((function(a){var s=mapToKeysArray(r);return Promise.all(s.map((function(o){return async function(n,r,o){const a="_local/doc_"+n,s={_id:a,keys:[]},l=o.get(n),c=l[0],u=l[1],d=await(isGenOne(u)?Promise.resolve(s):r.db.get(a).catch(k(s)));var f;return function(n,r){const o=[],a=new Set;for(const l of r.rows){const n=l.doc;if(n&&(o.push(n),a.add(n._id),n._deleted=!c.has(n._id),!n._deleted)){const r=c.get(n._id);"value"in r&&(n.value=r.value)}}const s=mapToKeysArray(c);for(const l of s)if(!a.has(l)){const n={_id:l},r=c.get(l);"value"in r&&(n.value=r.value),o.push(n)}return n.keys=uniq$1(s.concat(n.keys)),o.push(n),o}(d,await(f=d,f.keys.length?r.db.allDocs({keys:f.keys,include_docs:!0}):Promise.resolve({rows:[]})))}(o,n,r)}))).then((function(r){var s=r.flat();return a.seq=o,s.push(a),n.db.bulkDocs({docs:s})})).then((()=>function(n){return n.sourceDB.get("_local/purges").then((function(r){const o=r.purgeSeq;return n.db.get("_local/purgeSeq").then((function(n){return n._rev})).catch(k(void 0)).then((function(r){return n.db.put({_id:"_local/purgeSeq",_rev:r,purgeSeq:o})}))})).catch((function(n){if(404!==n.status)throw n}))}(n)))}))}function E(n){const r="string"==typeof n?n:n.name;let o=persistentQueues[r];return o||(o=persistentQueues[r]=new TaskQueue),o}async function C(n,o){return sequentialize(E(n),(function(){return async function(n,o){let a,l,u;function d(n,r){const o={id:l._id,key:normalizeKey(n)};null!=r&&(o.value=normalizeKey(r)),a.push(o)}const f=r(n.mapFun,d);let m=n.seq||0;function g(){return n.sourceDB.info().then((function(r){u=n.sourceDB.activeTasks.add({name:"view_indexing",total_items:r.update_seq-m})}))}function b(r,o){return function(){return w(n,r,o)}}let S=0;const E={view:n.name,indexed_docs:S};n.sourceDB.emit("indexing",E);const C=new TaskQueue;async function T(){return P(await n.sourceDB.changes({return_docs:!0,conflicts:!0,include_docs:!0,style:"all_docs",since:m,limit:o.changes_batch_size}),await I())}function I(){return n.db.get("_local/purgeSeq").then((function(n){return n.purgeSeq})).catch(k(-1)).then((function(r){return n.sourceDB.get("_local/purges").then((function(o){const a=o.purges.filter((function(n,o){return o>r})).map((n=>n.docId)),s=a.filter((function(n,r){return a.indexOf(n)===r}));return Promise.all(s.map((function(r){return n.sourceDB.get(r).then((function(n){return{docId:r,doc:n}})).catch(k({docId:r}))})))})).catch(k([]))}))}function P(r,a){const s=r.results;if(!s.length&&!a.length)return;for(const n of a){if(s.findIndex((function(r){return r.id===n.docId}))<0){const r={_id:n.docId,doc:{_id:n.docId,_deleted:1},changes:[]};n.doc&&(r.doc=n.doc,r.changes.push({rev:n.doc._rev})),s.push(r)}}const l=D(s);C.add(b(l,m)),S+=s.length;const c={view:n.name,last_seq:r.last_seq,results_count:s.length,indexed_docs:S};return n.sourceDB.emit("indexing",c),n.sourceDB.activeTasks.update(u,{completed_items:S}),s.length<o.changes_batch_size?void 0:T()}function D(r){const o=new Map;for(const u of r){if("_"!==u.doc._id[0]){a=[],l=u.doc,l._deleted||s(n.sourceDB,f,l),a.sort(c);const r=O(a);o.set(u.doc._id,[r,u.changes])}m=u.seq}return o}function O(n){const r=new Map;let o;for(let a=0,s=n.length;a<s;a++){const s=n[a],l=[s.key,s.id];a>0&&0===collate(s.key,o)&&l.push(a),r.set(toIndexableString(l),s),o=s.key}return r}try{await g(),await T(),await C.finish(),n.seq=m,n.sourceDB.activeTasks.remove(u)}catch(A){n.sourceDB.activeTasks.remove(u,A)}}(n,o)}))()}function T(n,r){return sequentialize(E(n),(function(){return async function(n,r){let a;const s=n.reduceFun&&!1!==r.reduce,c=r.skip||0;void 0===r.keys||r.keys.length||(r.limit=0,delete r.keys);async function f(r){r.include_docs=!0;const o=await n.db.allDocs(r);return a=o.total_rows,o.rows.map((function(n){if("value"in n.doc&&"object"==typeof n.doc.value&&null!==n.doc.value){const r=Object.keys(n.doc.value).sort(),o=["id","key","value"];if(!(r<o||r>o))return n.doc.value}const r=parseIndexableString(n.doc._id);return{key:r[0],id:r[1],value:"value"in n.doc?n.doc.value:null}}))}async function m(f){let m;if(m=s?function(n,r,a){0===a.group_level&&delete a.group_level;const s=a.group||a.group_level,c=o(n.reduceFun),d=[],f=isNaN(a.group_level)?Number.POSITIVE_INFINITY:a.group_level;for(const o of r){const n=d[d.length-1];let r=s?o.key:null;s&&Array.isArray(r)&&(r=r.slice(0,f)),n&&0===collate(n.groupKey,r)?(n.keys.push([o.key,o.id]),n.values.push(o.value)):d.push({keys:[[o.key,o.id]],values:[o.value],groupKey:r})}r=[];for(const o of d){const a=l(n.sourceDB,c,o.keys,o.values,!1);if(a.error&&a.error instanceof BuiltInError)throw a.error;r.push({value:a.error?null:a.output,key:o.groupKey})}return{rows:u(r,a.limit,a.skip)}}(n,f,r):void 0===r.keys?{total_rows:a,offset:c,rows:f}:{total_rows:a,offset:c,rows:u(f,r.limit,r.skip)},r.update_seq&&(m.update_seq=n.seq),r.include_docs){const o=uniq$1(f.map(d)),a=await n.sourceDB.allDocs({keys:o,include_docs:!0,conflicts:r.conflicts,attachments:r.attachments,binary:r.binary}),s=new Map;for(const n of a.rows)s.set(n.id,n.doc);for(const n of f){const r=d(n),o=s.get(r);o&&(n.doc=o)}}return m}if(void 0!==r.keys){const n=r.keys.map((function(n){const o={startkey:toIndexableString([n]),endkey:toIndexableString([n,{}])};return r.update_seq&&(o.update_seq=!0),f(o)}));return m((await Promise.all(n)).flat())}{const n={descending:r.descending};let o,a;if(r.update_seq&&(n.update_seq=!0),"start_key"in r&&(o=r.start_key),"startkey"in r&&(o=r.startkey),"end_key"in r&&(a=r.end_key),"endkey"in r&&(a=r.endkey),void 0!==o&&(n.startkey=r.descending?toIndexableString([o,{}]):toIndexableString([o])),void 0!==a){let o=!1!==r.inclusive_end;r.descending&&(o=!o),n.endkey=toIndexableString(o?[a,{}]:[a])}if(void 0!==r.key){const o=toIndexableString([r.key]),a=toIndexableString([r.key,{}]);n.descending?(n.endkey=o,n.startkey=a):(n.startkey=o,n.endkey=a)}s||("number"==typeof r.limit&&(n.limit=r.limit),n.skip=c);return m(await f(n))}}(n,r)}))()}async function I(r,o,s){if("function"==typeof r._query)return function(n,r,o){return new Promise((function(a,s){n._query(r,o,(function(n,r){if(n)return s(n);a(r)}))}))}(r,o,s);if(isRemote(r))return async function(n,r,o){let a,s,l=[],c="GET";if(m("reduce",o,l),m("include_docs",o,l),m("attachments",o,l),m("limit",o,l),m("descending",o,l),m("group",o,l),m("group_level",o,l),m("skip",o,l),m("stale",o,l),m("conflicts",o,l),m("startkey",o,l,!0),m("start_key",o,l,!0),m("endkey",o,l,!0),m("end_key",o,l,!0),m("inclusive_end",o,l),m("key",o,l,!0),m("update_seq",o,l),l=l.join("&"),l=""===l?"":"?"+l,void 0!==o.keys){const n=2e3,s=`keys=${encodeURIComponent(JSON.stringify(o.keys))}`;s.length+l.length+1<=n?l+=("?"===l[0]?"&":"?")+s:(c="POST","string"==typeof r?a={keys:o.keys}:r.keys=o.keys)}if("string"==typeof r){const u=parseViewName(r),d=await n.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 n of m.rows)if(n.value&&n.value.error&&"builtin_reduce_error"===n.value.error)throw new Error(n.reason);return new Promise((function(n){n(m)})).then(f(o))}a=a||{};for(const f of Object.keys(r))Array.isArray(r[f])?a[f]=r[f]:a[f]=r[f].toString();const u=await n.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(n){n(d)})).then(f(o))}(r,o,s);const l={changes_batch_size:r.__opts.view_update_changes_batch_size||CHANGES_BATCH_SIZE};if("string"!=typeof o)return S(s,o),tempViewQueue.add((async function(){const a=await createView(r,"temp_view/temp_view",o.map,o.reduce,!0,n);return fin(C(a,l).then((function(){return T(a,s)})),(function(){return a.db.destroy()}))})),tempViewQueue.finish();{const c=o,u=parseViewName(c),d=u[0],f=u[1],m=await r.get("_design/"+d);if(!(o=m.views&&m.views[f]))throw new NotFoundError(`ddoc ${m._id} has no view named ${f}`);a(m,f),S(s,o);const g=await createView(r,c,o.map,o.reduce,!1,n);return"ok"===s.stale||"update_after"===s.stale?("update_after"===s.stale&&nextTick((function(){C(g,l)})),T(g,s)):(await C(g,l),T(g,s))}}return{query:function(n,r,o){const a=this;"function"==typeof r&&(o=r,r={}),r=r?function(n){return n.group_level=g(n.group_level),n.limit=g(n.limit),n.skip=g(n.skip),n}(r):{},"function"==typeof n&&(n={map:n});const s=Promise.resolve().then((function(){return I(a,n,r)}));return promisedCallback(s,o),s},viewCleanup:callbackify((function(){const r=this;return"function"==typeof r._viewCleanup?function(n){return new Promise((function(r,o){n._viewCleanup((function(n,a){if(n)return o(n);r(a)}))}))}(r):isRemote(r)?async function(n){return(await n.fetch("_view_cleanup",{headers:new h({"Content-Type":"application/json"}),method:"POST"})).json()}(r):async function(r){try{const o=await r.get("_local/"+n),a=new Map;for(const n of Object.keys(o.views)){const r=parseViewName(n),o="_design/"+r[0],s=r[1];let l=a.get(o);l||(l=new Set,a.set(o,l)),l.add(s)}const s={keys:mapToKeysArray(a),include_docs:!0},l=await r.allDocs(s),c={};for(const n of l.rows){const r=n.key.substring(8);for(const s of a.get(n.key)){let a=r+"/"+s;o.views[a]||(a=s);const l=Object.keys(o.views[a]),u=n.doc&&n.doc.views&&n.doc.views[s];for(const n of l)c[n]=c[n]||u}}const u=Object.keys(c).filter((function(n){return!c[n]})).map((function(n){return sequentialize(E(n),(function(){return new r.constructor(n,r.__opts).destroy()}))()}));return Promise.all(u).then((function(){return{ok:!0}}))}catch(o){if(404===o.status)return{ok:!0};throw o}}(r)}))}}function getFieldFromDoc(n,r){for(var o=n,a=0,s=r.length;a<s;a++){if(!(o=o[r[a]]))break}return o}function setFieldInDoc(n,r,o){for(var a=0,s=r.length;a<s-1;a++){var l=r[a];n=n[l]=n[l]||{}}n[r[s-1]]=o}function compare(n,r){return n<r?-1:n>r?1:0}function parseField(n){for(var r=[],o="",a=0,s=n.length;a<s;a++){var l=n[a];a>0&&"\\"===n[a-1]&&("$"===l||"."===l)?o=o.substring(0,o.length-1)+l:"."===l?(r.push(o),o=""):o+=l}return r.push(o),r}var combinationFields=["$or","$nor","$not"];function isCombinationalField(n){return combinationFields.indexOf(n)>-1}function getKey(n){return Object.keys(n)[0]}function getValue(n){return n[getKey(n)]}function mergeAndedSelectors(n){var r={},o={$or:!0,$nor:!0};return n.forEach((function(n){Object.keys(n).forEach((function(a){var s=n[a];if("object"!=typeof s&&(s={$eq:s}),isCombinationalField(a))if(s instanceof Array){if(o[a])return o[a]=!1,void(r[a]=s);var l=[];r[a].forEach((function(n){Object.keys(s).forEach((function(r){var o=s[r],a=Math.max(Object.keys(n).length,Object.keys(o).length),c=mergeAndedSelectors([n,o]);Object.keys(c).length<=a||l.push(c)}))})),r[a]=l}else r[a]=mergeAndedSelectors([s]);else{var c=r[a]=r[a]||{};Object.keys(s).forEach((function(n){var r=s[n];return"$gt"===n||"$gte"===n?mergeGtGte(n,r,c):"$lt"===n||"$lte"===n?mergeLtLte(n,r,c):"$ne"===n?mergeNe(r,c):"$eq"===n?mergeEq(r,c):"$regex"===n?mergeRegex(r,c):void(c[n]=r)}))}}))})),r}function mergeGtGte(n,r,o){void 0===o.$eq&&(void 0!==o.$gte?"$gte"===n?r>o.$gte&&(o.$gte=r):r>=o.$gte&&(delete o.$gte,o.$gt=r):void 0!==o.$gt?"$gte"===n?r>o.$gt&&(delete o.$gt,o.$gte=r):r>o.$gt&&(o.$gt=r):o[n]=r)}function mergeLtLte(n,r,o){void 0===o.$eq&&(void 0!==o.$lte?"$lte"===n?r<o.$lte&&(o.$lte=r):r<=o.$lte&&(delete o.$lte,o.$lt=r):void 0!==o.$lt?"$lte"===n?r<o.$lt&&(delete o.$lt,o.$lte=r):r<o.$lt&&(o.$lt=r):o[n]=r)}function mergeNe(n,r){"$ne"in r?r.$ne.push(n):r.$ne=[n]}function mergeEq(n,r){delete r.$gt,delete r.$gte,delete r.$lt,delete r.$lte,delete r.$ne,r.$eq=n}function mergeRegex(n,r){"$regex"in r?r.$regex.push(n):r.$regex=[n]}function mergeAndedSelectorsNested(n){for(var r in n){if(Array.isArray(n))for(var o in n)n[o].$and&&(n[o]=mergeAndedSelectors(n[o].$and));var a=n[r];"object"==typeof a&&mergeAndedSelectorsNested(a)}return n}function isAndInSelector(n,r){for(var o in n){"$and"===o&&(r=!0);var a=n[o];"object"==typeof a&&(r=isAndInSelector(a,r))}return r}function massageSelector(n){var r=clone$1(n);isAndInSelector(r,!1)&&"$and"in(r=mergeAndedSelectorsNested(r))&&(r=mergeAndedSelectors(r.$and)),["$or","$nor"].forEach((function(n){n in r&&r[n].forEach((function(n){for(var r=Object.keys(n),o=0;o<r.length;o++){var a=r[o],s=n[a];"object"==typeof s&&null!==s||(n[a]={$eq:s})}}))})),"$not"in r&&(r.$not=mergeAndedSelectors([r.$not]));for(var o=Object.keys(r),a=0;a<o.length;a++){var s=o[a],l=r[s];"object"==typeof l&&null!==l||(l={$eq:l}),r[s]=l}return normalizeArrayOperators(r),r}function normalizeArrayOperators(n){Object.keys(n).forEach((function(r){var o=n[r];Array.isArray(o)?o.forEach((function(n){n&&"object"==typeof n&&normalizeArrayOperators(n)})):"$ne"===r?n.$ne=[o]:"$regex"===r?n.$regex=[o]:o&&"object"==typeof o&&normalizeArrayOperators(o)}))}function createFieldSorter(n){function r(r){return n.map((function(n){var o=parseField(getKey(n));return getFieldFromDoc(r,o)}))}return function(n,o){var a=collate(r(n.doc),r(o.doc));return 0!==a?a:compare(n.doc._id,o.doc._id)}}function filterInMemoryFields(n,r,o){if(n=n.filter((function(n){return rowFilter(n.doc,r.selector,o)})),r.sort){var a=createFieldSorter(r.sort);n=n.sort(a),"string"!=typeof r.sort[0]&&"desc"===getValue(r.sort[0])&&(n=n.reverse())}if("limit"in r||"skip"in r){var s=r.skip||0,l=("limit"in r?r.limit:n.length)+s;n=n.slice(s,l)}return n}function rowFilter(n,r,o){return o.every((function(o){var a=r[o],s=parseField(o),l=getFieldFromDoc(n,s);return isCombinationalField(o)?matchCominationalSelector(o,a,n):matchSelector(a,n,s,l)}))}function matchSelector(n,r,o,a){return!n||("object"==typeof n?Object.keys(n).every((function(s){var l=n[s];if(0===s.indexOf("$"))return match(s,r,l,o,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,r,o,u):match("$eq",r,l,c,u)})):n===a)}function matchCominationalSelector(n,r,o){return"$or"===n?r.some((function(n){return rowFilter(o,n,Object.keys(n))})):"$not"===n?!rowFilter(o,r,Object.keys(r)):!r.find((function(n){return rowFilter(o,n,Object.keys(n))}))}function match(n,r,o,a,s){if(!matchers[n])throw new Error('unknown operator "'+n+'" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type, $allMatch or $all');return matchers[n](r,o,a,s)}function fieldExists(n){return null!=n}function fieldIsNotUndefined(n){return void 0!==n}function modField(n,r){return"number"==typeof n&&parseInt(n,10)===n&&n%r[0]===r[1]}function arrayContainsValue(n,r){return r.some((function(r){return n instanceof Array?n.some((function(n){return 0===collate(r,n)})):0===collate(r,n)}))}function arrayContainsAllValues(n,r){return r.every((function(r){return n.some((function(n){return 0===collate(r,n)}))}))}function arraySize(n,r){return n.length===r}function regexMatch(n,r){return new RegExp(r).test(n)}function typeMatch(n,r){switch(r){case"null":return null===n;case"boolean":return"boolean"==typeof n;case"number":return"number"==typeof n;case"string":return"string"==typeof n;case"array":return n instanceof Array;case"object":return"[object Object]"==={}.toString.call(n)}}var matchers={$elemMatch:function(n,r,o,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.some((function(n){return rowFilter(n,r,Object.keys(r))})):a.some((function(a){return matchSelector(r,n,o,a)}))))},$allMatch:function(n,r,o,a){return!!Array.isArray(a)&&(0!==a.length&&("object"==typeof a[0]&&null!==a[0]?a.every((function(n){return rowFilter(n,r,Object.keys(r))})):a.every((function(a){return matchSelector(r,n,o,a)}))))},$eq:function(n,r,o,a){return fieldIsNotUndefined(a)&&0===collate(a,r)},$gte:function(n,r,o,a){return fieldIsNotUndefined(a)&&collate(a,r)>=0},$gt:function(n,r,o,a){return fieldIsNotUndefined(a)&&collate(a,r)>0},$lte:function(n,r,o,a){return fieldIsNotUndefined(a)&&collate(a,r)<=0},$lt:function(n,r,o,a){return fieldIsNotUndefined(a)&&collate(a,r)<0},$exists:function(n,r,o,a){return r?fieldIsNotUndefined(a):!fieldIsNotUndefined(a)},$mod:function(n,r,o,a){return fieldExists(a)&&modField(a,r)},$ne:function(n,r,o,a){return r.every((function(n){return 0!==collate(a,n)}))},$in:function(n,r,o,a){return fieldExists(a)&&arrayContainsValue(a,r)},$nin:function(n,r,o,a){return fieldExists(a)&&!arrayContainsValue(a,r)},$size:function(n,r,o,a){return fieldExists(a)&&Array.isArray(a)&&arraySize(a,r)},$all:function(n,r,o,a){return Array.isArray(a)&&arrayContainsAllValues(a,r)},$regex:function(n,r,o,a){return fieldExists(a)&&"string"==typeof a&&r.every((function(n){return regexMatch(a,n)}))},$type:function(n,r,o,a){return typeMatch(a,r)}};function matchesSelector(n,r){if("object"!=typeof r)throw new Error("Selector error: expected a JSON object");var o=filterInMemoryFields([{doc:n}],{selector:r=massageSelector(r)},Object.keys(r));return o&&1===o.length}const nativeFlat=(...n)=>n.flat(1/0),polyFlat=(...n)=>{let r=[];for(const o of n)Array.isArray(o)?r=r.concat(polyFlat(...o)):r.push(o);return r},flatten="function"==typeof Array.prototype.flat?nativeFlat:polyFlat;function mergeObjects(n){const r={};for(const o of n)Object.assign(r,o);return r}function pick(n,r){const o={};for(const a of r){const r=parseField(a),s=getFieldFromDoc(n,r);void 0!==s&&setFieldInDoc(o,r,s)}return o}function oneArrayIsSubArrayOfOther(n,r){for(let o=0,a=Math.min(n.length,r.length);o<a;o++)if(n[o]!==r[o])return!1;return!0}function oneArrayIsStrictSubArrayOfOther(n,r){return!(n.length>r.length)&&oneArrayIsSubArrayOfOther(n,r)}function oneSetIsSubArrayOfOther(n,r){n=n.slice();for(const o of r){if(!n.length)break;const r=n.indexOf(o);if(-1===r)return!1;n.splice(r,1)}return!0}function arrayToObject(n){const r={};for(const o of n)r[o]=!0;return r}function max(n,r){let o=null,a=-1;for(const s of n){const n=r(s);n>a&&(a=n,o=s)}return o}function arrayEquals(n,r){if(n.length!==r.length)return!1;for(let o=0,a=n.length;o<a;o++)if(n[o]!==r[o])return!1;return!0}function uniq(n){return Array.from(new Set(n))}function resolveToCallback(n){return function(...r){const o=r[r.length-1];if("function"!=typeof o)return n.apply(this,r);{const a=o.bind(null,null),s=o.bind(null);n.apply(this,r.slice(0,-1)).then(a,s)}}}function massageCreateIndexRequest(n){(n=clone$1(n)).index||(n.index={});for(const r of["type","name","ddoc"])n.index[r]&&(n[r]=n.index[r],delete n.index[r]);return n.fields&&(n.index.fields=n.fields,delete n.fields),n.type||(n.type="json"),n}function isNonNullObject(n){return"object"==typeof n&&null!==n}function checkFieldValueType(n,r,o){let a="",s=r,l=!0;if(-1!==["$in","$nin","$or","$and","$mod","$nor","$all"].indexOf(n)&&(Array.isArray(r)||(a="Query operator "+n+" must be an array.")),-1!==["$not","$elemMatch","$allMatch"].indexOf(n)&&(!Array.isArray(r)&&isNonNullObject(r)||(a="Query operator "+n+" must be an object.")),"$mod"===n&&Array.isArray(r))if(2!==r.length)a="Query operator $mod must be in the format [divisor, remainder], where divisor and remainder are both integers.";else{const n=r[0],o=r[1];0===n&&(a="Query operator $mod's divisor cannot be 0, cannot divide by zero.",l=!1),"number"==typeof n&&parseInt(n,10)===n||(a="Query operator $mod's divisor is not an integer.",s=n),parseInt(o,10)!==o&&(a="Query operator $mod's remainder is not an integer.",s=o)}if("$exists"===n&&"boolean"!=typeof r&&(a="Query operator $exists must be a boolean."),"$type"===n){const n=["null","boolean","number","string","array","object"],o='"'+n.slice(0,n.length-1).join('", "')+'", or "'+n[n.length-1]+'"';("string"!=typeof r||-1==n.indexOf(r))&&(a="Query operator $type must be a string. Supported values: "+o+".")}if("$size"===n&&parseInt(r,10)!==r&&(a="Query operator $size must be a integer."),"$regex"===n&&"string"!=typeof r&&(o?a="Query operator $regex must be a string.":r 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(n,r){if(Array.isArray(n))for(const o of n)isNonNullObject(o)&&validateSelector(o,r);else for(const[o,a]of Object.entries(n))-1!==requireValidation.indexOf(o)&&checkFieldValueType(o,a,r),-1===equalityOperators.indexOf(o)&&-1===arrayTypeComparisonOperators.indexOf(o)&&isNonNullObject(a)&&validateSelector(a,r)}async function dbFetch(n,r,o){o.body&&(o.body=JSON.stringify(o.body),o.headers=new h({"Content-type":"application/json"}));const a=await n.fetch(r,o),s=await a.json();if(!a.ok){s.status=a.status;throw generateErrorFromResponse(createError(s))}return s}async function createIndex(n,r){return await dbFetch(n,"_index",{method:"POST",body:massageCreateIndexRequest(r)})}async function find$1(n,r){return validateSelector(r.selector,!0),await dbFetch(n,"_find",{method:"POST",body:r})}async function explain(n,r){return await dbFetch(n,"_explain",{method:"POST",body:r})}async function getIndexes(n){return await dbFetch(n,"_index",{method:"GET"})}async function deleteIndex(n,r){const o=r.ddoc,a=r.type||"json",s=r.name;if(!o)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/"+[o,a,s].map(encodeURIComponent).join("/");return await dbFetch(n,l,{method:"DELETE"})}function getDeepValue(n,r){for(const o of r)if(void 0===(n=n[o]))return;return n}function createDeepMultiMapper(n,r,o){return function(a){if(o&&!matchesSelector(a,o))return;const s=[];for(const r of n){const n=getDeepValue(a,parseField(r));if(void 0===n)return;s.push(n)}r(s)}}function createDeepSingleMapper(n,r,o){const a=parseField(n);return function(n){if(o&&!matchesSelector(n,o))return;const s=getDeepValue(n,a);void 0!==s&&r(s)}}function createShallowSingleMapper(n,r,o){return function(a){o&&!matchesSelector(a,o)||r(a[n])}}function createShallowMultiMapper(n,r,o){return function(a){if(o&&!matchesSelector(a,o))return;const s=n.map((n=>a[n]));r(s)}}function checkShallow(n){return n.every((n=>-1===n.indexOf(".")))}function createMapper(n,r,o){const a=checkShallow(n),s=1===n.length;return a?s?createShallowSingleMapper(n[0],r,o):createShallowMultiMapper(n,r,o):s?createDeepSingleMapper(n[0],r,o):createDeepMultiMapper(n,r,o)}function mapper(n,r){return createMapper(Object.keys(n.fields),r,n.partial_filter_selector)}function reducer(){throw new Error("reduce not supported")}function ddocValidator(n,r){const o=n.views[r];if(!o.map||!o.map.fields)throw new Error("ddoc "+n._id+" with view "+r+" doesn't have map.fields defined. maybe it wasn't created by this plugin?")}const abstractMapper=createAbstractMapReduce("indexes",mapper,reducer,ddocValidator);function abstractMapper$1(n){return n._customFindAbstractMapper?{query:function(r,o){const a=abstractMapper.query.bind(this);return n._customFindAbstractMapper.query.call(this,r,o,a)},viewCleanup:function(){const r=abstractMapper.viewCleanup.bind(this);return n._customFindAbstractMapper.viewCleanup.call(this,r)}}:abstractMapper}function massageSort(n){if(!Array.isArray(n))throw new Error("invalid sort json - should be an array");return n.map((function(n){if("string"==typeof n){const r={};return r[n]="asc",r}return n}))}const ddocIdPrefix=/^_design\//;function massageUseIndex(n){let r=[];return"string"==typeof n?r.push(n):r=n,r.map((function(n){return n.replace(ddocIdPrefix,"")}))}function massageIndexDef(n){return n.fields=n.fields.map((function(n){if("string"==typeof n){const r={};return r[n]="asc",r}return n})),n.partial_filter_selector&&(n.partial_filter_selector=massageSelector(n.partial_filter_selector)),n}function getKeyFromDoc(n,r){return r.def.fields.map((r=>{const o=getKey(r);return getFieldFromDoc(n,parseField(o))}))}function filterInclusiveStart(n,r,o){const a=o.def.fields;let s=0;for(const l of n){let n=getKeyFromDoc(l.doc,o);if(1===a.length)n=n[0];else for(;n.length>r.length;)n.pop();if(Math.abs(collate(n,r))>0)break;++s}return s>0?n.slice(s):n}function reverseOptions(n){const r=clone$1(n);return delete r.startkey,delete r.endkey,delete r.inclusive_start,delete r.inclusive_end,"endkey"in n&&(r.startkey=n.endkey),"startkey"in n&&(r.endkey=n.startkey),"inclusive_start"in n&&(r.inclusive_end=n.inclusive_start),"inclusive_end"in n&&(r.inclusive_start=n.inclusive_end),r}function validateIndex(n){const r=n.fields.filter((function(n){return"asc"===getValue(n)}));if(0!==r.length&&r.length!==n.fields.length)throw new Error("unsupported mixed sorting")}function validateSort(n,r){if(r.defaultUsed&&n.sort){const r=n.sort.filter((function(n){return"_id"!==Object.keys(n)[0]})).map((function(n){return Object.keys(n)[0]}));if(r.length>0)throw new Error('Cannot sort on field(s) "'+r.join(",")+'" when using the default index')}r.defaultUsed}function validateFindRequest(n){if("object"!=typeof n.selector)throw new Error("you must provide a selector when you find()")}function getUserFields(n,r){const o=Object.keys(n),a=r?r.map(getKey):[];let s;return s=o.length>=a.length?o:a,0===a.length?{fields:s}:(s=s.sort((function(n,r){let o=a.indexOf(n);-1===o&&(o=Number.MAX_VALUE);let s=a.indexOf(r);return-1===s&&(s=Number.MAX_VALUE),o<s?-1:o>s?1:0})),{fields:s,sortOrder:r.map(getKey)})}async function createIndex$1(n,r){const o=clone$1((r=massageCreateIndexRequest(r)).index);let a;function s(){return a||(a=stringMd5(JSON.stringify(r)))}r.index=massageIndexDef(r.index),validateIndex(r.index);const l=r.name||"idx-"+s(),c=r.ddoc||"idx-"+s(),u="_design/"+c;let d=!1,f=!1;if(n.constructor.emit("debug",["find","creating index",u]),await upsert(n,u,(function(n){return n._rev&&"query"!==n.language&&(d=!0),n.language="query",n.views=n.views||{},f=!!n.views[l],!f&&(n.views[l]={map:{fields:mergeObjects(r.index.fields),partial_filter_selector:r.index.partial_filter_selector},reduce:"_count",options:{def:o}},n)})),d)throw new Error('invalid language for ddoc with id "'+u+'" (should be "query")');const m=c+"/"+l;return await abstractMapper$1(n).query.call(n,m,{limit:0,reduce:!1}),{id:u,name:l,result:f?"exists":"created"}}async function getIndexes$1(n){const r=await n.allDocs({startkey:"_design/",endkey:"_design/",include_docs:!0}),o={indexes:[{ddoc:null,name:"_all_docs",type:"special",def:{fields:[{_id:"asc"}]}}]};return o.indexes=flatten(o.indexes,r.rows.filter((function(n){return"query"===n.doc.language})).map((function(n){return(void 0!==n.doc.views?Object.keys(n.doc.views):[]).map((function(r){const o=n.doc.views[r];return{ddoc:n.id,name:r,type:"json",def:massageIndexDef(o.options.def)}}))}))),o.indexes.sort((function(n,r){return compare(n.name,r.name)})),o.total_rows=o.indexes.length,o}const COLLATE_LO=null,COLLATE_HI={"":{}},SHORT_CIRCUIT_QUERY={queryOpts:{limit:0,startkey:COLLATE_HI,endkey:COLLATE_LO},inMemoryFields:[]};function checkFieldInIndex(n,r){return n.def.fields.some((n=>getKey(n)===r))}function userOperatorLosesPrecision(n,r){return"$eq"!==getKey(n[r])}function sortFieldsByIndex(n,r){const o=r.def.fields.map(getKey);return n.slice().sort((function(n,r){let a=o.indexOf(n),s=o.indexOf(r);return-1===a&&(a=Number.MAX_VALUE),-1===s&&(s=Number.MAX_VALUE),compare(a,s)}))}function getBasicInMemoryFields(n,r,o){let a=!1;for(let s=0,l=(o=sortFieldsByIndex(o,n)).length;s<l;s++){const c=o[s];if(a||!checkFieldInIndex(n,c))return o.slice(s);s<l-1&&userOperatorLosesPrecision(r,c)&&(a=!0)}return[]}function getInMemoryFieldsFromNe(n){const r=[];for(const[o,a]of Object.entries(n))for(const n of Object.keys(a))"$ne"===n&&r.push(o);return r}function getInMemoryFields(n,r,o,a){return sortFieldsByIndex(uniq(flatten(n,getBasicInMemoryFields(r,o,a),getInMemoryFieldsFromNe(o))),r)}function checkIndexFieldsMatch(n,r,o){if(r){const a=oneArrayIsStrictSubArrayOfOther(r,n),s=oneArrayIsSubArrayOfOther(o,n);return a&&s}return oneSetIsSubArrayOfOther(o,n)}const logicalMatchers=["$eq","$gt","$gte","$lt","$lte"];function isNonLogicalMatcher(n){return-1===logicalMatchers.indexOf(n)}function checkFieldsLogicallySound(n,r){const o=r[n[0]];if(void 0===o)return!0;return!(1===Object.keys(o).length&&"$ne"===getKey(o))}function checkIndexMatches(n,r,o,a){const s=n.def.fields.map(getKey);return!!checkIndexFieldsMatch(s,r,o)&&checkFieldsLogicallySound(s,a)}function findMatchingIndexes(n,r,o,a){return a.filter((function(a){return checkIndexMatches(a,o,r,n)}))}function findBestMatchingIndex(n,r,o,a,s){const l=findMatchingIndexes(n,r,o,a);if(0===l.length){if(s)throw{error:"no_usable_index",message:"There is no index available for this selector."};const n=a[0];return n.defaultUsed=!0,n}if(1===l.length&&!s)return l[0];const c=arrayToObject(r);if(s){const n="_design/"+s[0],r=2===s.length&&s[1],o=l.find((function(o){return!(!r||o.ddoc!==n||r!==o.name)||o.ddoc===n}));if(!o)throw{error:"unknown_error",message:"Could not find that index or could not use that index for the query"};return o}return max(l,(function(n){const r=n.def.fields.map(getKey);let o=0;for(const a of r)c[a]&&o++;return o}))}function getSingleFieldQueryOptsFor(n,r){switch(n){case"$eq":return{key:r};case"$lte":return{endkey:r};case"$gte":return{startkey:r};case"$lt":return{endkey:r,inclusive_end:!1};case"$gt":return{startkey:r,inclusive_start:!1}}return{startkey:COLLATE_LO}}function getSingleFieldCoreQueryPlan(n,r){const o=getKey(r.def.fields[0]),a=n[o]||{},s=[],l=Object.keys(a);let c;for(const u of l){isNonLogicalMatcher(u)&&s.push(o);const n=getSingleFieldQueryOptsFor(u,a[u]);c=c?mergeObjects([c,n]):n}return{queryOpts:c,inMemoryFields:s}}function getMultiFieldCoreQueryPlan(n,r){switch(n){case"$eq":return{startkey:r,endkey:r};case"$lte":return{endkey:r};case"$gte":return{startkey:r};case"$lt":return{endkey:r,inclusive_end:!1};case"$gt":return{startkey:r,inclusive_start:!1}}}function getMultiFieldQueryOpts(n,r){const o=r.def.fields.map(getKey);let a=[];const s=[],l=[];let c,u;function d(n){!1!==c&&s.push(COLLATE_LO),!1!==u&&l.push(COLLATE_HI),a=o.slice(n)}for(let m=0,g=o.length;m<g;m++){const r=n[o[m]];if(!r||!Object.keys(r).length){d(m);break}if(Object.keys(r).some(isNonLogicalMatcher)){d(m);break}if(m>0){const a="$gt"in r||"$gte"in r||"$lt"in r||"$lte"in r,s=Object.keys(n[o[m-1]]),l=arrayEquals(s,["$eq"]),c=arrayEquals(s,Object.keys(r));if(a&&!l&&!c){d(m);break}}const a=Object.keys(r);let f=null;for(const n of a){const o=getMultiFieldCoreQueryPlan(n,r[n]);f=f?mergeObjects([f,o]):o}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(n){return Object.keys(n).map((function(r){return n[r]})).some((function(n){return"object"==typeof n&&0===Object.keys(n).length}))}function getDefaultQueryPlan(n){return{queryOpts:{startkey:null},inMemoryFields:[Object.keys(n)]}}function getCoreQueryPlan(n,r){return r.defaultUsed?getDefaultQueryPlan(n):1===r.def.fields.length?getSingleFieldCoreQueryPlan(n,r):getMultiFieldQueryOpts(n,r)}function planQuery(n,r){const o=n.selector,a=n.sort;if(shouldShortCircuit(o))return Object.assign({},SHORT_CIRCUIT_QUERY,{index:r[0]});const s=getUserFields(o,a),l=s.fields,c=findBestMatchingIndex(o,l,s.sortOrder,r,n.use_index),u=getCoreQueryPlan(o,c);return{queryOpts:u.queryOpts,index:c,inMemoryFields:getInMemoryFields(u.inMemoryFields,c,o,l)}}function indexToSignature(n){return n.ddoc.substring(8)+"/"+n.name}async function doAllDocs(n,r){const o=clone$1(r);o.descending?("endkey"in o&&"string"!=typeof o.endkey&&(o.endkey=""),"startkey"in o&&"string"!=typeof o.startkey&&(o.limit=0)):("startkey"in o&&"string"!=typeof o.startkey&&(o.startkey=""),"endkey"in o&&"string"!=typeof o.endkey&&(o.limit=0)),"key"in o&&"string"!=typeof o.key&&(o.limit=0),o.limit>0&&o.indexes_count&&(o.original_limit=o.limit,o.limit+=o.indexes_count);const a=await n.allDocs(o);return a.rows=a.rows.filter((function(n){return!/^_design\//.test(n.id)})),o.original_limit&&(o.limit=o.original_limit),a.rows=a.rows.slice(0,o.limit),a}async function queryAllOrIndex(n,r,o){return"_all_docs"===o.name?doAllDocs(n,r):abstractMapper$1(n).query.call(n,indexToSignature(o),r)}async function find$1$1(n,r,o){r.selector&&(validateSelector(r.selector,!1),r.selector=massageSelector(r.selector)),r.sort&&(r.sort=massageSort(r.sort)),r.use_index&&(r.use_index=massageUseIndex(r.use_index)),"limit"in r||(r.limit=25),validateFindRequest(r);const a=await getIndexes$1(n);n.constructor.emit("debug",["find","planning query",r]);const s=planQuery(r,a.indexes);n.constructor.emit("debug",["find","query plan",s]);const l=s.index;validateSort(r,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(r.sort&&"string"!=typeof r.sort[0]&&"desc"===getValue(r.sort[0])&&(c.descending=!0,c=reverseOptions(c)),s.inMemoryFields.length||(c.limit=r.limit,"skip"in r&&(c.skip=r.skip)),o)return Promise.resolve(s,c);const u=await queryAllOrIndex(n,c,l);!1===c.inclusive_start&&(u.rows=filterInclusiveStart(u.rows,c.startkey,l)),s.inMemoryFields.length&&(u.rows=filterInMemoryFields(u.rows,r,s.inMemoryFields));const d={docs:u.rows.map((function(n){const o=n.doc;return r.fields?pick(o,r.fields):o}))};return l.defaultUsed&&(d.warning="No matching index found, create an index to optimize query time."),d}async function explain$1(n,r){const o=await find$1$1(n,r,!0);return{dbname:n.name,index:o.index,selector:r.selector,range:{start_key:o.queryOpts.startkey,end_key:o.queryOpts.endkey},opts:{use_index:r.use_index||[],bookmark:"nil",limit:r.limit,skip:r.skip,sort:r.sort||{},fields:r.fields,conflicts:!1,r:[49]},limit:r.limit,skip:r.skip||0,fields:r.fields}}async function deleteIndex$1(n,r){if(!r.ddoc)throw new Error("you must supply an index.ddoc when deleting");if(!r.name)throw new Error("you must supply an index.name when deleting");const o=r.ddoc,a=r.name;return await upsert(n,o,(function(n){return 1===Object.keys(n.views).length&&n.views[a]?{_id:o,_deleted:!0}:(delete n.views[a],n)})),await abstractMapper$1(n).viewCleanup.apply(n),{ok:!0}}const plugin$1={};function getConfigUrl(n){return(n?"/_node/"+n:"")+"/_config"}function wrapError(n){throw"unknown_error"===n.name&&(n.message=(n.message||"")+" Unknown error! Did you remember to enable CORS?"),n}function fetchJSON(n,r,o){return(o=o||{}).body&&(o.body=JSON.stringify(o.body)),o.headers=o.headers||new h,o.headers.set("Content-Type","application/json"),o.headers.set("Accept","application/json"),n(r,o).then((function(n){return n.ok?n.json():n.json().then((function(n){throw n}))})).catch(wrapError)}function toCallback(n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];if("function"==typeof r[-1]){var a=r[-1];return n.apply(this,r.slice(0,-2)).then((function(n){return a(null,n)}),(function(n){return a(n)}))}return n.apply(this,r)}}plugin$1.createIndex=resolveToCallback((async function(n){if("object"!=typeof n)throw new Error("you must provide an index to create");return(isRemote(this)?createIndex:createIndex$1)(this,n)})),plugin$1.find=resolveToCallback((async function(n){if("object"!=typeof n)throw new Error("you must provide search parameters to find()");return(isRemote(this)?find$1:find$1$1)(this,n)})),plugin$1.explain=resolveToCallback((async function(n){if("object"!=typeof n)throw new Error("you must provide search parameters to explain()");return(isRemote(this)?explain:explain$1)(this,n)})),plugin$1.getIndexes=resolveToCallback((async function(){return(isRemote(this)?getIndexes:getIndexes$1)(this)})),plugin$1.deleteIndex=resolveToCallback((async function(n){if("object"!=typeof n)throw new Error("you must provide an index to delete");return(isRemote(this)?deleteIndex:deleteIndex$1)(this,n)}));var AuthError=function(n){function r(o){n.call(this,o),this.name="authentication_error",this.status=400,this.error=!0,Object.setPrototypeOf(this,r.prototype)}return n&&(r.__proto__=n),r.prototype=Object.create(n&&n.prototype),r.prototype.constructor=r,r}(Error),getMembership=toCallback((function(n){void 0===n&&(n={});var r=Object.assign({method:"GET"},n.ajax||{});return fetchJSON(this.fetch,"/_membership",r)})),getNodeName=function(n,r){return n.getMembership(r).then((function(n){return n.all_nodes[0]}),(function(n){if("illegal_database_name"!==n.error)throw n}))},signUpAdmin=toCallback((function(n,r,o){var a=this;return void 0===o&&(o={}),-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?r?getNodeName(a,o).then((function(s){var l=getConfigUrl(s),c=(o.configUrl||l)+"/admins/"+encodeURIComponent(n),u=Object.assign({method:"PUT",body:r},o.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(n,r){var o=this;return void 0===r&&(r={}),-1===["http","https"].indexOf(o.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?getNodeName(o,r).then((function(a){var s=getConfigUrl(a),l=(r.configUrl||s)+"/admins/"+encodeURIComponent(n),c=Object.assign({method:"DELETE",processData:!1},r.ajax||{});return fetchJSON(o.fetch,l,c)})):Promise.reject(new AuthError("You must provide a username"))})),sessionPath="/_session",logIn=toCallback((function(n,r,o){if(void 0===o&&(o={}),-1===["http","https"].indexOf(this.type()))return Promise.reject(new AuthError("this plugin only works for the http/https adapter"));if(!n)return Promise.reject(new AuthError("you must provide a username"));if(!r)return Promise.reject(new AuthError("you must provide a password"));var a=sessionPath,s=Object.assign({method:"POST",body:{name:n,password:r}},o.ajax||{});return fetchJSON(this.fetch,a,s)})),logOut=toCallback((function(n){void 0===n&&(n={});var r=sessionPath,o=Object.assign({method:"DELETE"},n.ajax||{});return fetchJSON(this.fetch,r,o)})),getSession=toCallback((function(n){void 0===n&&(n={});var r=sessionPath,o=Object.assign({method:"GET"},n.ajax||{});return fetchJSON(this.fetch,r,o)})),usersPath="/_users";function updateUser(n,r,o){var a=["_id","_rev","name","type","roles","password","password_scheme","iterations","derived_key","salt"];if(o.metadata){for(var s in o.metadata)if(o.metadata.hasOwnProperty(s)&&-1!==a.indexOf(s))return Promise.reject(new AuthError('cannot use reserved word in metadata: "'+s+'"'));r=Object.assign(r,o.metadata)}o.roles&&(r=Object.assign(r,{roles:o.roles}));var l=usersPath+"/"+encodeURIComponent(r._id),c=Object.assign({method:"PUT",body:r},o.ajax||{});return fetchJSON(n.fetch,l,c)}var signUp=toCallback((function(n,r,o){return void 0===o&&(o={}),-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.')):n?r?updateUser(this,{name:n,password:r,roles:[],type:"user",_id:"org.couchdb.user:"+n},o):Promise.reject(new AuthError("You must provide a password")):Promise.reject(new AuthError("You must provide a username"))})),getUser=toCallback((function(n,r){if(void 0===r&&(r={}),!n)return Promise.reject(new AuthError("you must provide a username"));var o=usersPath+"/"+encodeURIComponent("org.couchdb.user:"+n),a=Object.assign({method:"GET"},r.ajax||{});return fetchJSON(this.fetch,o,a).then((function(n){return console.log(n),n}))})),putUser=toCallback((function(n,r){var o=this;return void 0===r&&(r={}),-1===["http","https"].indexOf(o.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?o.getUser(n,r).then((function(n){return updateUser(o,n,r)})):Promise.reject(new AuthError("You must provide a username"))})),deleteUser=toCallback((function(n,r){var o=this;return void 0===r&&(r={}),-1===["http","https"].indexOf(o.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?o.getUser(n,r).then((function(n){var a=usersPath+"/"+encodeURIComponent(n._id)+"?rev="+n._rev,s=Object.assign({method:"DELETE"},r.ajax||{});return fetchJSON(o.fetch,a,s)})):Promise.reject(new AuthError("You must provide a username"))})),changePassword=toCallback((function(n,r,o){var a=this;return void 0===o&&(o={}),-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?r?a.getUser(n,o).then((function(n){n.password=r;var s=usersPath+"/"+encodeURIComponent(n._id),l=Object.assign({method:"PUT",body:n},o.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(n,r,o){var a=this,s=function(n,r){var o=usersPath+"/"+encodeURIComponent(n._id),s=Object.assign({method:"PUT",body:n},r.ajax);return fetchJSON(a.fetch,o,s)};return void 0===o&&(o={}),o.ajax=o.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.')):r?n?a.getUser(r,o).then((function(){var n=new AuthError("user already exists");throw n.taken=!0,n}),(function(){return a.getUser(n,o)})).then((function(n){var a=clone$1(n);return delete a._rev,a._id="org.couchdb.user:"+r,a.name=r,a.roles=o.roles||n.roles||{},s(a,o).then((function(){return n._deleted=!0,s(n,o)}))})):Promise.reject(new AuthError("You must provide a username to rename")):Promise.reject(new AuthError("You must provide a new username"))})),plugin={};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);const byteToHex=[];for(let n=0;n<256;++n)byteToHex.push((n+256).toString(16).slice(1));function unsafeStringify(n,r=0){return(byteToHex[n[r+0]]+byteToHex[n[r+1]]+byteToHex[n[r+2]]+byteToHex[n[r+3]]+"-"+byteToHex[n[r+4]]+byteToHex[n[r+5]]+"-"+byteToHex[n[r+6]]+byteToHex[n[r+7]]+"-"+byteToHex[n[r+8]]+byteToHex[n[r+9]]+"-"+byteToHex[n[r+10]]+byteToHex[n[r+11]]+byteToHex[n[r+12]]+byteToHex[n[r+13]]+byteToHex[n[r+14]]+byteToHex[n[r+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(n,r,o){if(native.randomUUID&&!n)return native.randomUUID();const a=(n=n||{}).random??n.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(n,r){var o,a="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window,s=function(){function n(){this.fetch=!1,this.DOMException=a.DOMException}return n.prototype=a,new n}();o=s,function(n){var r=void 0!==o&&o||"undefined"!=typeof self&&self||"undefined"!=typeof window&&window||{},a="URLSearchParams"in r,s="Symbol"in r&&"iterator"in Symbol,l="FileReader"in r&&"Blob"in r&&function(){try{return new Blob,!0}catch(e3){return!1}}(),c="FormData"in r,u="ArrayBuffer"in r;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(n){return n&&d.indexOf(Object.prototype.toString.call(n))>-1};function m(n){if("string"!=typeof n&&(n=String(n)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(n)||""===n)throw new TypeError('Invalid character in header field name: "'+n+'"');return n.toLowerCase()}function g(n){return"string"!=typeof n&&(n=String(n)),n}function b(n){var r={next:function(){var r=n.shift();return{done:void 0===r,value:r}}};return s&&(r[Symbol.iterator]=function(){return r}),r}function S(n){this.map={},n instanceof S?n.forEach((function(n,r){this.append(r,n)}),this):Array.isArray(n)?n.forEach((function(n){if(2!=n.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+n.length);this.append(n[0],n[1])}),this):n&&Object.getOwnPropertyNames(n).forEach((function(r){this.append(r,n[r])}),this)}function k(n){if(!n._noBody)return n.bodyUsed?Promise.reject(new TypeError("Already read")):void(n.bodyUsed=!0)}function w(n){return new Promise((function(r,o){n.onload=function(){r(n.result)},n.onerror=function(){o(n.error)}}))}function E(n){var r=new FileReader,o=w(r);return r.readAsArrayBuffer(n),o}function C(n){if(n.slice)return n.slice(0);var r=new Uint8Array(n.byteLength);return r.set(new Uint8Array(n)),r.buffer}function T(){return this.bodyUsed=!1,this._initBody=function(n){var r;this.bodyUsed=this.bodyUsed,this._bodyInit=n,n?"string"==typeof n?this._bodyText=n:l&&Blob.prototype.isPrototypeOf(n)?this._bodyBlob=n:c&&FormData.prototype.isPrototypeOf(n)?this._bodyFormData=n:a&&URLSearchParams.prototype.isPrototypeOf(n)?this._bodyText=n.toString():u&&l&&(r=n)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=C(n.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(n)||f(n))?this._bodyArrayBuffer=C(n):this._bodyText=n=Object.prototype.toString.call(n):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof n?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(n)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},l&&(this.blob=function(){var n=k(this);if(n)return n;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 n=k(this);return n||(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(E);throw new Error("could not read as ArrayBuffer")},this.text=function(){var n,r,o,a,s,l=k(this);if(l)return l;if(this._bodyBlob)return n=this._bodyBlob,r=new FileReader,o=w(r),a=/charset=([A-Za-z0-9_-]+)/.exec(n.type),s=a?a[1]:"utf-8",r.readAsText(n,s),o;if(this._bodyArrayBuffer)return Promise.resolve(function(n){for(var r=new Uint8Array(n),o=new Array(r.length),a=0;a<r.length;a++)o[a]=String.fromCharCode(r[a]);return o.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(D)}),this.json=function(){return this.text().then(JSON.parse)},this}S.prototype.append=function(n,r){n=m(n),r=g(r);var o=this.map[n];this.map[n]=o?o+", "+r:r},S.prototype.delete=function(n){delete this.map[m(n)]},S.prototype.get=function(n){return n=m(n),this.has(n)?this.map[n]:null},S.prototype.has=function(n){return this.map.hasOwnProperty(m(n))},S.prototype.set=function(n,r){this.map[m(n)]=g(r)},S.prototype.forEach=function(n,r){for(var o in this.map)this.map.hasOwnProperty(o)&&n.call(r,this.map[o],o,this)},S.prototype.keys=function(){var n=[];return this.forEach((function(r,o){n.push(o)})),b(n)},S.prototype.values=function(){var n=[];return this.forEach((function(r){n.push(r)})),b(n)},S.prototype.entries=function(){var n=[];return this.forEach((function(r,o){n.push([o,r])})),b(n)},s&&(S.prototype[Symbol.iterator]=S.prototype.entries);var I=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function P(n,o){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=(o=o||{}).body;if(n instanceof P){if(n.bodyUsed)throw new TypeError("Already read");this.url=n.url,this.credentials=n.credentials,o.headers||(this.headers=new S(n.headers)),this.method=n.method,this.mode=n.mode,this.signal=n.signal,l||null==n._bodyInit||(l=n._bodyInit,n.bodyUsed=!0)}else this.url=String(n);if(this.credentials=o.credentials||this.credentials||"same-origin",!o.headers&&this.headers||(this.headers=new S(o.headers)),this.method=(a=o.method||this.method||"GET",s=a.toUpperCase(),I.indexOf(s)>-1?s:a),this.mode=o.mode||this.mode||null,this.signal=o.signal||this.signal||function(){if("AbortController"in r)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"!==o.cache&&"no-cache"!==o.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 D(n){var r=new FormData;return n.trim().split("&").forEach((function(n){if(n){var o=n.split("="),a=o.shift().replace(/\+/g," "),s=o.join("=").replace(/\+/g," ");r.append(decodeURIComponent(a),decodeURIComponent(s))}})),r}function O(n,r){if(!(this instanceof O))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(r||(r={}),this.type="default",this.status=void 0===r.status?200:r.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===r.statusText?"":""+r.statusText,this.headers=new S(r.headers),this.url=r.url||"",this._initBody(n)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})},T.call(P.prototype),T.call(O.prototype),O.prototype.clone=function(){return new O(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new S(this.headers),url:this.url})},O.error=function(){var n=new O(null,{status:200,statusText:""});return n.ok=!1,n.status=0,n.type="error",n};var A=[301,302,303,307,308];O.redirect=function(n,r){if(-1===A.indexOf(r))throw new RangeError("Invalid status code");return new O(null,{status:r,headers:{location:n}})},n.DOMException=r.DOMException;try{new n.DOMException}catch(no){n.DOMException=function(n,r){this.message=n,this.name=r;var o=Error(n);this.stack=o.stack},n.DOMException.prototype=Object.create(Error.prototype),n.DOMException.prototype.constructor=n.DOMException}function eo(o,a){return new Promise((function(s,c){var d=new P(o,a);if(d.signal&&d.signal.aborted)return c(new n.DOMException("Aborted","AbortError"));var f=new XMLHttpRequest;function b(){f.abort()}if(f.onload=function(){var n,r,o={statusText:f.statusText,headers:(n=f.getAllResponseHeaders()||"",r=new S,n.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(n){return 0===n.indexOf("\n")?n.substr(1,n.length):n})).forEach((function(n){var o=n.split(":"),a=o.shift().trim();if(a){var s=o.join(":").trim();try{r.append(a,s)}catch(l){console.warn("Response "+l.message)}}})),r)};0===d.url.indexOf("file://")&&(f.status<200||f.status>599)?o.status=200:o.status=f.status,o.url="responseURL"in f?f.responseURL:o.headers.get("X-Request-URL");var a="response"in f?f.response:f.responseText;setTimeout((function(){s(new O(a,o))}),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 n.DOMException("Aborted","AbortError"))}),0)},f.open(d.method,function(n){try{return""===n&&r.location.href?r.location.href:n}catch(e3){return n}}(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 S||r.Headers&&a.headers instanceof r.Headers)){var k=[];Object.getOwnPropertyNames(a.headers).forEach((function(n){k.push(m(n)),f.setRequestHeader(n,g(a.headers[n]))})),d.headers.forEach((function(n,r){-1===k.indexOf(r)&&f.setRequestHeader(r,n)}))}else d.headers.forEach((function(n,r){f.setRequestHeader(r,n)}));d.signal&&(d.signal.addEventListener("abort",b),f.onreadystatechange=function(){4===f.readyState&&d.signal.removeEventListener("abort",b)}),f.send(void 0===d._bodyInit?null:d._bodyInit)}))}eo.polyfill=!0,r.fetch||(r.fetch=eo,r.Headers=S,r.Request=P,r.Response=O),n.Headers=S,n.Request=P,n.Response=O,n.fetch=eo}({}),s.fetch.ponyfill=!0,delete s.fetch.polyfill;var l=a.fetch?a:s;(r=l.fetch).default=l.fetch,r.fetch=l.fetch,r.Headers=l.Headers,r.Request=l.Request,r.Response=l.Response,n.exports=r}(browserPonyfill,browserPonyfill.exports)),browserPonyfill.exports}var browserPonyfillExports=requireBrowserPonyfill();const fetch2=getDefaultExportFromCjs(browserPonyfillExports);var browser={exports:{}},hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser.exports;hasRequiredBrowser=1;var n,r,o=browser.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(r){if(n===setTimeout)return setTimeout(r,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(r,0);try{return n(r,0)}catch(e3){try{return n.call(null,r,0)}catch(o){return n.call(this,r,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e3){n=a}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e3){r=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 n=l(m);d=!0;for(var o=u.length;o;){for(c=u,u=[];++f<o;)c&&c[f].run();f=-1,o=u.length}c=null,d=!1,function(n){if(r===clearTimeout)return clearTimeout(n);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(n);try{return r(n)}catch(e3){try{return r.call(null,n)}catch(o){return r.call(this,n)}}}(n)}}function b(n,r){this.fun=n,this.array=r}function S(){}return o.nextTick=function(n){var r=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)r[o-1]=arguments[o];u.push(new b(n,r)),1!==u.length||d||l(g)},b.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=S,o.addListener=S,o.once=S,o.off=S,o.removeListener=S,o.removeAllListeners=S,o.emit=S,o.prependListener=S,o.prependOnceListener=S,o.listeners=function(n){return[]},o.binding=function(n){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(n){throw new Error("process.chdir is not supported")},o.umask=function(){return 0},browser.exports}var browserExports=requireBrowser();const process2=getDefaultExportFromCjs(browserExports);var __defProp=Object.defineProperty,__getOwnPropNames=Object.getOwnPropertyNames,__glob=n=>r=>{var o=n[r];if(o)return o();throw new Error("Module not found in bundle: "+r)},__esm=(n,r)=>function(){return n&&(r=(0,n[__getOwnPropNames(n)[0]])(n=0)),r},__export=(n,r)=>{for(var o in r)__defProp(n,o,{get:r[o],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:(n,...r)=>{isDevelopment&&console.debug(`[DB:DEBUG] ${n}`,...r)},info:(n,...r)=>{console.info(`[DB:INFO] ${n}`,...r)},warn:(n,...r)=>{console.warn(`[DB:WARN] ${n}`,...r)},error:(n,...r)=>{console.error(`[DB:ERROR] ${n}`,...r)},log:(n,...r)=>{isDevelopment&&console.log(`[DB:LOG] ${n}`,...r)}}}}),GuestUsername,DocType,DocTypePrefixes,init_types_legacy=__esm({"src/core/types/types-legacy.ts"(){init_logger(),GuestUsername="sk-guest-",DocType=(n=>(n.DISPLAYABLE_DATA="DISPLAYABLE_DATA",n.CARD="CARD",n.DATASHAPE="DATASHAPE",n.QUESTIONTYPE="QUESTION",n.VIEW="VIEW",n.PEDAGOGY="PEDAGOGY",n.CARDRECORD="CARDRECORD",n.SCHEDULED_CARD="SCHEDULED_CARD",n.TAG="TAG",n.NAVIGATION_STRATEGY="NAVIGATION_STRATEGY",n.STRATEGY_STATE="STRATEGY_STATE",n.USER_OUTCOME="USER_OUTCOME",n.STRATEGY_LEARNING_STATE="STRATEGY_LEARNING_STATE",n))(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",STRATEGY_STATE:"STRATEGY_STATE",USER_OUTCOME:"USER_OUTCOME",STRATEGY_LEARNING_STATE:"STRATEGY_LEARNING_STATE"}}});function areQuestionRecords(n){return isQuestionRecord(n.records[0])}function isQuestionRecord(n){return void 0!==n.userAnswer}function getCardHistoryID(n,r){return`${DocTypePrefixes.CARDRECORD}-${n}-${r}`}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),void 0!==PouchDB.debug&&PouchDB.debug.disable(),PouchDB.defaults({}),pouchdb_setup_default=PouchDB}});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 n=getAppDataDirectory();try{await(void 0).mkdir(n,{recursive:!0})}catch(r){if("EEXIST"!==r.code)throw new Error(`Failed to create app data directory ${n}: ${r.message}`)}return n}function getDbPath(n){return(void 0)(getAppDataDirectory(),n)}async function initializeDataDirectory(){await ensureAppDataDirectory(),logger.info(`PouchDB data directory initialized: ${getAppDataDirectory()}`)}var init_dataDirectory=__esm({"src/util/dataDirectory.ts"(){init_logger(),init_factory()}}),REVIEW_TIME_FORMAT,log2;function hexEncode(n){let r,o="";for(let a=0;a<n.length;a++)r=n.charCodeAt(a).toString(16),o+=("000"+r).slice(3);return o}function filterAllDocsByPrefix(n,r,o){const a={startkey:r,endkey:r+"",include_docs:!0};return o&&Object.assign(a,o),n.allDocs(a)}function getStartAndEndKeys(n){return{startkey:n,endkey:n+""}}function getLocalUserDB(n){const r=`userdb-${n}`;return"undefined"==typeof window?new pouchdb_setup_default(getDbPath(r),{}):new pouchdb_setup_default(r,{})}function scheduleCardReviewLocal(n,r){const o=hooks.utc();logger.info(`Scheduling for review in: ${r.time.diff(o,"h")/24} days`),n.put({_id:DocTypePrefixes.SCHEDULED_CARD+r.time.format(REVIEW_TIME_FORMAT),cardId:r.card_id,reviewTime:r.time.toISOString(),courseId:r.course_id,scheduledAt:o.toISOString(),scheduledFor:r.scheduledFor,schedulingAgentId:r.schedulingAgentId})}async function removeScheduledCardReviewLocal(n,r){const o=await n.get(r);n.remove(o).then((n=>{n.ok&&log2(`Removed Review Doc: ${r}`)})).catch((n=>{log2(`Failed to remove Review Doc: ${r},\n${JSON.stringify(n)}`)}))}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=n=>{logger.info(n)}}}),Loggable,init_Loggable=__esm({"src/util/Loggable.ts"(){Loggable=class{log(...n){console.log(`LOG-${this._className}@${new Date}:`,...n)}error(...n){console.error(`ERROR-${this._className}@${new Date}:`,...n)}}}}),UpdateQueue,init_updateQueue=__esm({"src/impl/couch/updateQueue.ts"(){init_Loggable(),init_logger(),UpdateQueue=class extends Loggable{constructor(n,r){super(),__publicField(this,"_className","UpdateQueue"),__publicField(this,"pendingUpdates",{}),__publicField(this,"inprogressUpdates",{}),__publicField(this,"readDB"),__publicField(this,"writeDB"),this.readDB=n,this.writeDB=r||n,logger.debug("UpdateQ initialized..."),this.readDB.info().then((n=>{logger.debug(`db info: ${JSON.stringify(n)}`)}))}update(n,r){return logger.debug(`Update requested on doc: ${n}`),this.pendingUpdates[n]?this.pendingUpdates[n].push(r):this.pendingUpdates[n]=[r],this.applyUpdates(n)}async applyUpdates(n){if(logger.debug(`Applying updates on doc: ${n}`),this.inprogressUpdates[n]){for(;this.inprogressUpdates[n];)await new Promise((n=>setTimeout(n,50*Math.random())));return this.applyUpdates(n)}if(this.pendingUpdates[n]&&this.pendingUpdates[n].length>0){this.inprogressUpdates[n]=!0;const r=5;for(let o=0;o<r;o++)try{let r={...await this.readDB.get(n)};const o=[...this.pendingUpdates[n]];for(const n of o)r="function"==typeof n?{...r,...n(r)}:{...r,...n};return await this.writeDB.put(r),this.pendingUpdates[n].splice(0,o.length),0!==this.pendingUpdates[n].length?this.applyUpdates(n):(this.inprogressUpdates[n]=!1,delete this.inprogressUpdates[n],r)}catch(e3){if(!("conflict"===e3.name&&o<r-1))throw"not_found"===e3.name&&0===o?(logger.warn(`Update failed for ${n} - does not exist. Throwing to caller.`),delete this.inprogressUpdates[n],e3):(delete this.inprogressUpdates[n],this.pendingUpdates[n]&&delete this.pendingUpdates[n],logger.error(`Error on attemped update (retry ${o}): ${JSON.stringify(e3)}`),e3);logger.warn(`Conflict on update for doc ${n}, retry #${o+1}`),await new Promise((n=>setTimeout(n,50*Math.random())))}throw new Error(`UpdateQueue failed for doc ${n} after ${r} 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(n,r){__publicField(this,"user"),__publicField(this,"_courseId"),this.user=n,this._courseId=r}async getReviewsForcast(n){const r=hooks.utc().add(n,"days");return this.getReviewstoDate(r)}async getPendingReviews(){const n=hooks.utc();return this.getReviewstoDate(n)}async getScheduledReviewCount(){return(await this.getPendingReviews()).length}async getCourseSettings(){const n=(await this.user.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===this._courseId));return n&&n.settings?n.settings:(logger.warn(`no settings found during lookup on course ${this._courseId}`),{})}updateCourseSettings(n){"updateCourseSettings"in this.user&&this.user.updateCourseSettings(this._courseId,n)}async getStrategyState(n){return this.user.getStrategyState(this._courseId,n)}async putStrategyState(n,r){return this.user.putStrategyState(this._courseId,n,r)}async deleteStrategyState(n){return this.user.deleteStrategyState(this._courseId,n)}async getReviewstoDate(n){const r=await this.user.getPendingReviews(this._courseId);return logger.debug(`Fetching ${this.user.getUsername()}'s scheduled reviews for course ${this._courseId}.`),r.filter((r=>{const o=hooks.utc(r.reviewTime);return n.isAfter(o)}))}}}}),CLIENT_CACHE;async function GET_CACHED(n,r){return CLIENT_CACHE[n]?CLIENT_CACHE[n]:(CLIENT_CACHE[n]=r?await r(n):await GET_ITEM(n),GET_CACHED(n))}async function GET_ITEM(n){throw new Error(`No implementation found for GET_CACHED(${n})`)}var init_clientCache=__esm({"src/impl/couch/clientCache.ts"(){CLIENT_CACHE={}}}),AlreadyTaggedErr;async function addNote55(n,r,o,a,s,l,c,u=blankCourseElo()){const d=getCourseDB(n),f=prepareNote55(n,r,o,a,s,l,c),m=`${DocTypePrefixes.DISPLAYABLE_DATA}-${v4()}`,g=await d.put({...f,_id:m}),b=NameSpacer.getDataShapeString({course:r,dataShape:o.name});if(g.ok)try{await createCards(n,b,g.id,l,u,s)}catch(S){let n="Unknown error";n=S instanceof Error?S.message:S&&"object"==typeof S&&"reason"in S?S.reason:S&&"object"==typeof S&&"message"in S?S.message:String(S),logger.error(`[addNote55] Failed to create cards for note ${g.id}: ${n}`),g.cardCreationFailed=!0,g.cardCreationError=n}else logger.error(`[addNote55] Error adding note. Result: ${JSON.stringify(g)}`);return g}async function createCards(n,r,o,a,s=blankCourseElo(),l){const c=await getCredentialledCourseConfig(n),u=NameSpacer.getDataShapeDescriptor(r);let d=[];for(const f of c.dataShapes)f.name===r&&(d=f.questionTypes);if(0===d.length){const n=`No questionViewTypes found for datashapeID: ${r} in course config. Cards cannot be created.`;throw logger.error(n),new Error(n)}for(const f of d)await createCard(f,n,u,o,a,s,l)}async function createCard(n,r,o,a,s,l=blankCourseElo(),c){const u=NameSpacer.getQuestionDescriptor(n),d=await getCredentialledCourseConfig(r);for(const f of d.questionTypes)if(f.name===n)for(const n of f.viewList)await addCard(r,o.course,[a],NameSpacer.getViewString({course:u.course,questionType:u.questionType,view:n}),l,s,c)}async function addCard(n,r,o,a,s,l,c){const u=getCourseDB(n),d=`${DocTypePrefixes.CARD}-${v4()}`,f=await u.put({_id:d,course:r,id_displayable_data:o,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(n,f.id,m,c,!1);return f}async function getCredentialledCourseConfig(n){try{const r=getCourseDB(n),o=await r.get("CourseConfig");return o.courseID=n,logger.info(`Returning course config: ${JSON.stringify(o)}`),o}catch(e3){throw logger.error(`Error fetching config for ${n}:`,e3),e3}}async function addTagToCard(n,r,o,a,s=!0){const l=getTagID(o),c=getCourseDB(n),u=new CourseDB(n,(async()=>BaseUser.Dummy({setupRemoteDB:()=>null,startSync:()=>{},canCreateAccount:()=>!1,canAuthenticate:()=>!1,getCurrentUsername:async()=>"DummyUser"})));try{logger.info(`Applying tag ${o} to card ${n+"-"+r}...`);const a=await c.get(l);if(a.taggedCards.includes(r))throw new AlreadyTaggedErr(`Card ${r} is already tagged with ${o}`);if(a.taggedCards.push(r),s)try{const a=(await u.getCardEloData([r]))[0];a.tags[o]={count:0,score:a.global.score},await updateCardElo(n,r,a)}catch(d){logger.error("Failed to update ELO data for card:",r,d)}return c.put(a)}catch(e3){if(e3 instanceof AlreadyTaggedErr)throw e3;return await createTag(n,o,a),addTagToCard(n,r,o,a,s)}}async function updateCardElo(n,r,o){if(o){const a=getCourseDB(n),s=await a.get(r);return logger.debug(`Replacing ${JSON.stringify(s.elo)} with ${JSON.stringify(o)}`),s.elo=o,a.put(s)}}function getTagID(n){const r="TAG".valueOf()+"-";return 0===n.indexOf(r)?n:r+n}function getCourseDB(n){const r=`coursedb-${n}`;return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+r,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(n){super(n),this.name="AlreadyTaggedErr"}}}}),courseLookupDBTitle,CourseLookup,init_courseLookupDB=__esm({"src/impl/couch/courseLookupDB.ts"(){var n;init_pouchdb_setup(),init_factory(),init_logger(),courseLookupDBTitle="coursedb-lookup",logger.debug("COURSELOOKUP FILE RUNNING"),__publicField(n=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 n=`${ENV.COUCHDB_SERVER_PROTOCOL}://${ENV.COUCHDB_SERVER_URL}/${courseLookupDBTitle}`,r={};ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD?(r.auth={username:ENV.COUCHDB_USERNAME,password:ENV.COUCHDB_PASSWORD},logger.info(`CourseLookup: Connecting to ${n} with authentication.`)):logger.info(`CourseLookup: Connecting to ${n} without authentication.`);try{return this._dbInstance=new pouchdb_setup_default(n,r),logger.info(`CourseLookup: Database instance created for ${courseLookupDBTitle}.`),this._dbInstance}catch(o){throw logger.error(`CourseLookup: Failed to create PouchDB instance for ${n}`,o),this._dbInstance=null,new Error(`CourseLookup: Failed to initialize database connection: ${o instanceof Error?o.message:String(o)}`)}}static async add(r){return(await n._db.post({name:r})).id}static async addWithId(r,o,a){const s={_id:r,name:o};a&&(s.disambiguator=a),await n._db.put(s)}static async delete(r){const o=await n._db.get(r);return await n._db.remove(o)}static async allCourseWare(){return(await n._db.allDocs({include_docs:!0})).rows.map((n=>n.doc))}static async updateDisambiguator(r,o){const a=await n._db.get(r);return a.disambiguator=o,await n._db.put(a)}static async isCourse(r){try{return await n._db.get(r),!0}catch(o){return logger.info("Courselookup failed:",o),!1}}},"_dbInstance",null),CourseLookup=n}}),PipelineDebugger_exports={},_activePipeline,MAX_RUNS,runHistory,pipelineDebugAPI;function registerPipelineForDebug(n){_activePipeline=n}function getOrigin(n){const r=n.provenance[0];if(!r)return"unknown";const o=r.reason?.toLowerCase()||"";return o.includes("new card")?"new":o.includes("review")?"review":"unknown"}function captureRun(n){const r={...n,runId:`run-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date};runHistory.unshift(r),runHistory.length>MAX_RUNS&&runHistory.pop()}function buildRunReport(n,r,o,a,s,l,c,u){const d=new Set(u.map((n=>n.cardId))),f=c.map((n=>({cardId:n.cardId,courseId:n.courseId,origin:getOrigin(n),finalScore:n.score,provenance:n.provenance,tags:n.tags,selected:d.has(n.cardId)}))),m=u.filter((n=>"review"===getOrigin(n))).length,g=u.filter((n=>"new"===getOrigin(n))).length;return{courseId:n,courseName:r,generatorName:o,generators:a,generatedCount:s,filters:l,finalCount:u.length,reviewsSelected:m,newSelected:g,cards:f}}function formatProvenance(n){return n.map((n=>` ${"generated"===n.action?"🎲":"boosted"===n.action?"⬆️":"penalized"===n.action?"⬇️":"➡️"} ${n.strategyName}: ${n.score.toFixed(3)} - ${n.reason}`)).join("\n")}function printRunSummary(n){if(console.group(`🔍 Pipeline Run: ${n.courseId} (${n.courseName||"unnamed"})`),logger.info(`Run ID: ${n.runId}`),logger.info(`Time: ${n.timestamp.toISOString()}`),logger.info(`Generator: ${n.generatorName} → ${n.generatedCount} candidates`),n.generators&&n.generators.length>0){console.group("Generator breakdown:");for(const r of n.generators)logger.info(` ${r.name}: ${r.cardCount} cards (${r.newCount} new, ${r.reviewCount} reviews, top: ${r.topScore.toFixed(2)})`);console.groupEnd()}if(n.filters.length>0){console.group("Filter impact:");for(const r of n.filters)logger.info(` ${r.name}: ↑${r.boosted} ↓${r.penalized} =${r.passed} ✕${r.removed}`);console.groupEnd()}logger.info(`Result: ${n.finalCount} cards selected (${n.newSelected} new, ${n.reviewsSelected} reviews)`),console.groupEnd()}function mountPipelineDebugger(){if("undefined"==typeof window)return;const n=window;n.skuilder=n.skuilder||{},n.skuilder.pipeline=pipelineDebugAPI}__export(PipelineDebugger_exports,{buildRunReport:()=>buildRunReport,captureRun:()=>captureRun,mountPipelineDebugger:()=>mountPipelineDebugger,pipelineDebugAPI:()=>pipelineDebugAPI,registerPipelineForDebug:()=>registerPipelineForDebug});var init_PipelineDebugger=__esm({"src/core/navigators/PipelineDebugger.ts"(){init_navigators(),init_logger(),_activePipeline=null,MAX_RUNS=10,runHistory=[],pipelineDebugAPI={get runs(){return[...runHistory]},showRun(n=0){if(0===runHistory.length)return void logger.info("[Pipeline Debug] No runs captured yet.");let r;if("number"==typeof n){if(r=runHistory[n],!r)return void logger.info(`[Pipeline Debug] No run found at index ${n}. History length: ${runHistory.length}`)}else if(r=runHistory.find((r=>r.runId.endsWith(n))),!r)return void logger.info(`[Pipeline Debug] No run found matching ID '${n}'.`);printRunSummary(r)},showLastRun(){this.showRun(0)},showCard(n){for(const r of runHistory){const o=r.cards.find((r=>r.cardId===n));if(o)return console.group(`🎴 Card: ${n}`),logger.info(`Course: ${o.courseId}`),logger.info(`Origin: ${o.origin}`),logger.info(`Final score: ${o.finalScore.toFixed(3)}`),logger.info("Selected: "+(o.selected?"Yes ✅":"No ❌")),logger.info("Provenance:"),logger.info(formatProvenance(o.provenance)),void console.groupEnd()}logger.info(`[Pipeline Debug] Card '${n}' not found in recent runs.`)},explainReviews(){if(0!==runHistory.length){console.group("📋 Review Selection Analysis");for(const n of runHistory){console.group(`Run: ${n.courseId} @ ${n.timestamp.toLocaleTimeString()}`);const r=n.cards.filter((n=>"review"===n.origin)),o=r.filter((n=>n.selected));if(0===r.length)logger.info("❌ No reviews were generated. Check SRS logs for why.");else if(0===o.length){logger.info(`⚠️ ${r.length} reviews generated but none selected.`),logger.info("Possible reasons:");const o=Math.max(...n.cards.filter((n=>"new"===n.origin&&n.selected)).map((n=>n.finalScore)),0),a=Math.max(...r.map((n=>n.finalScore)),0);a<o&&logger.info(` - New cards scored higher (top new: ${o.toFixed(2)}, top review: ${a.toFixed(2)})`);const s=r.sort(((n,r)=>r.finalScore-n.finalScore))[0];s&&(logger.info(` - Top review score: ${s.finalScore.toFixed(3)}`),logger.info(" - Its provenance:"),logger.info(formatProvenance(s.provenance)))}else{logger.info(`✅ ${o.length}/${r.length} reviews selected.`),logger.info("Top selected review:");const n=o.sort(((n,r)=>r.finalScore-n.finalScore))[0];logger.info(formatProvenance(n.provenance))}console.groupEnd()}console.groupEnd()}else logger.info("[Pipeline Debug] No runs captured yet.")},listRuns(){0!==runHistory.length?console.table(runHistory.map((n=>({id:n.runId.slice(-8),time:n.timestamp.toLocaleTimeString(),course:n.courseName||n.courseId.slice(0,8),generated:n.generatedCount,selected:n.finalCount,new:n.newSelected,reviews:n.reviewsSelected})))):logger.info("[Pipeline Debug] No runs captured yet.")},export(){const n=JSON.stringify(runHistory,null,2);return logger.info("[Pipeline Debug] Run history exported. Copy the returned string or use:"),logger.info(" copy(window.skuilder.pipeline.export())"),n},clear(){runHistory.length=0,logger.info("[Pipeline Debug] Run history cleared.")},showRegistry(){const n=getRegisteredNavigatorNames();0!==n.length?(console.group("📦 Navigator Registry"),console.table(n.map((n=>{const r=getRegisteredNavigatorRole(n),o=NavigatorRoles[n];return{name:n,role:o||r||"⚠️ NONE",source:o?"built-in":r?"consumer":"unclassified",isGenerator:isGenerator(n),isFilter:isFilter(n)}}))),console.groupEnd()):logger.info("[Pipeline Debug] Navigator registry is empty.")},showStrategies(){if(this.showRegistry(),0===runHistory.length)return void logger.info("[Pipeline Debug] No pipeline runs captured yet — cannot show strategy doc mapping.");const n=runHistory[0];if(console.group("🔌 Pipeline Strategy Mapping (last run)"),logger.info(`Generator: ${n.generatorName}`),n.generators&&n.generators.length>0)for(const r of n.generators)logger.info(` 📥 ${r.name}: ${r.cardCount} cards (${r.newCount} new, ${r.reviewCount} reviews)`);if(n.filters.length>0){logger.info("Filters:");for(const r of n.filters)logger.info(` 🔸 ${r.name}: ↑${r.boosted} ↓${r.penalized} =${r.passed} ✕${r.removed}`)}else logger.info("Filters: (none)");console.groupEnd()},diagnoseCardSpace:async n=>_activePipeline?_activePipeline.diagnoseCardSpace({threshold:n}):(logger.info("[Pipeline Debug] No active pipeline. Run a session first."),null),help(){logger.info("\n🔧 Pipeline Debug API\n\nCommands:\n .showLastRun() Show summary of most recent pipeline run\n .showRun(id|index) Show summary of a specific run (by index or ID suffix)\n .showCard(cardId) Show provenance trail for a specific card\n .explainReviews() Analyze why reviews were/weren't selected\n .diagnoseCardSpace() Scan full card space through filters (async)\n .showRegistry() Show navigator registry (classes + roles)\n .showStrategies() Show registry + strategy mapping from last run\n .listRuns() List all captured runs in table format\n .export() Export run history as JSON for bug reports\n .clear() Clear run history\n .runs Access raw run history array\n .help() Show this help message\n\nExample:\n window.skuilder.pipeline.showLastRun()\n window.skuilder.pipeline.showRun(1)\n await window.skuilder.pipeline.diagnoseCardSpace()\n")}},mountPipelineDebugger()}}),CompositeGenerator_exports={},AggregationMode,DEFAULT_AGGREGATION_MODE,FREQUENCY_BOOST_FACTOR,CompositeGenerator;__export(CompositeGenerator_exports,{AggregationMode:()=>AggregationMode,default:()=>CompositeGenerator});var init_CompositeGenerator=__esm({"src/core/navigators/generators/CompositeGenerator.ts"(){init_navigators(),init_logger(),AggregationMode=(n=>(n.MAX="max",n.AVERAGE="average",n.FREQUENCY_BOOST="frequencyBoost",n))(AggregationMode||{}),DEFAULT_AGGREGATION_MODE="frequencyBoost",FREQUENCY_BOOST_FACTOR=.1,CompositeGenerator=class _CompositeGenerator extends ContentNavigator{constructor(n,r=DEFAULT_AGGREGATION_MODE){if(super(),__publicField(this,"name","Composite Generator"),__publicField(this,"generators"),__publicField(this,"aggregationMode"),this.generators=n,this.aggregationMode=r,0===n.length)throw new Error("CompositeGenerator requires at least one generator");logger.debug(`[CompositeGenerator] Created with ${n.length} generators, mode: ${r}`)}static async fromStrategies(n,r,o,a=DEFAULT_AGGREGATION_MODE){const s=await Promise.all(o.map((o=>ContentNavigator.create(n,r,o))));return new _CompositeGenerator(s,a)}async getWeightedCards(n,r){if(!r)throw new Error("CompositeGenerator.getWeightedCards requires a GeneratorContext. It should be called via Pipeline, not directly.");const o=await Promise.all(this.generators.map((o=>o.getWeightedCards(n,r)))),a=[];o.forEach(((n,r)=>{const o=this.generators[r].name||`Generator ${r}`,s=n.filter((n=>n.provenance[0]?.reason?.includes("new card"))),l=n.filter((n=>n.provenance[0]?.reason?.includes("review")));if(n.length>0){const r=Math.max(...n.map((n=>n.score))).toFixed(2),c=[];s.length>0&&c.push(`${s.length} new`),l.length>0&&c.push(`${l.length} reviews`);const u=c.length>0?c.join(", "):`${n.length} cards`;a.push(`${o}: ${u} (top: ${r})`)}else a.push(`${o}: 0 cards`)})),logger.info(`[Composite] Generator breakdown: ${a.join(" | ")}`);const s=new Map;o.forEach(((n,o)=>{const a=this.generators[o];let l,c=a.learnable?.weight??1;if(a.learnable&&!a.staticWeight&&r.orchestration){const n=a.strategyId;n&&(c=r.orchestration.getEffectiveWeight(n,a.learnable),l=r.orchestration.getDeviation(n))}for(const r of n){r.provenance.length>0&&(r.provenance[0].effectiveWeight=c,r.provenance[0].deviation=l);const n=s.get(r.cardId)||[];n.push({card:r,weight:c}),s.set(r.cardId,n)}}));const l=[];for(const[,c]of s){const n=c.map((n=>n.card)),r=this.aggregateScores(c),o=Math.min(1,r),a=n.flatMap((n=>n.provenance)),s=n[0].score,u=o>s?"boosted":o<s?"penalized":"passed",d=this.buildAggregationReason(c,o);l.push({...n[0],score:o,provenance:[...a,{strategy:"composite",strategyName:"Composite Generator",strategyId:"COMPOSITE_GENERATOR",action:u,score:o,reason:d}]})}return l.sort(((n,r)=>r.score-n.score)).slice(0,n)}buildAggregationReason(n,r){const o=n.map((n=>n.card)),a=o.length,s=o.map((n=>n.score.toFixed(2))).join(", ");if(1===a){const o=Math.abs(n[0].weight-1)>.001?` (w=${n[0].weight.toFixed(2)})`:"";return`Single generator, score ${r.toFixed(2)}${o}`}const l=o.map((n=>n.provenance[0]?.strategy||"unknown")).join(", ");switch(this.aggregationMode){case"max":return`Max of ${a} generators (${l}): scores [${s}] → ${r.toFixed(2)}`;case"average":return`Weighted Avg of ${a} generators (${l}): scores [${s}] → ${r.toFixed(2)}`;case"frequencyBoost":{const o=n.reduce(((n,r)=>n+r.weight),0),s=n.reduce(((n,r)=>n+r.card.score*r.weight),0),c=1+FREQUENCY_BOOST_FACTOR*(a-1);return`Frequency boost from ${a} generators (${l}): w-avg ${(o>0?s/o:0).toFixed(2)} × ${c.toFixed(2)} → ${r.toFixed(2)}`}default:return`Aggregated from ${a} generators: ${r.toFixed(2)}`}}aggregateScores(n){const r=n.map((n=>n.card.score));switch(this.aggregationMode){case"max":return Math.max(...r);case"average":{const r=n.reduce(((n,r)=>n+r.weight),0);if(0===r)return 0;return n.reduce(((n,r)=>n+r.card.score*r.weight),0)/r}case"frequencyBoost":{const r=n.reduce(((n,r)=>n+r.weight),0),o=n.reduce(((n,r)=>n+r.card.score*r.weight),0);return(r>0?o/r:0)*(1+FREQUENCY_BOOST_FACTOR*(n.length-1))}default:return r[0]}}}}}),elo_exports={},ELONavigator;__export(elo_exports,{default:()=>ELONavigator});var init_elo=__esm({"src/core/navigators/generators/elo.ts"(){init_navigators(),init_logger(),ELONavigator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"name"),this.name=o?.name||"ELO"}async getWeightedCards(n,r){let o;if(void 0!==r?.userElo)o=r.userElo;else{const n=toCourseElo((await this.user.getCourseRegDoc(this.course.getCourseID())).elo);o=n.global.score}const a=await this.user.getActiveCards(),s=(await this.course.getCardsCenteredAtELO({limit:n,elo:"user"},(n=>!a.some((r=>n.cardID===r.cardID))))).map((n=>({...n,status:"new"}))),l=s.map((n=>n.cardID)),c=await this.course.getCardEloData(l),u=s.map(((n,r)=>{const a=c[r]?.global?.score??1e3,s=Math.abs(a-o),l=Math.max(0,1-s/500),u=l>0?Math.random()**(1/l):0;return{cardId:n.cardID,courseId:n.courseID,score:u,provenance:[{strategy:"elo",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-ELO-default",action:"generated",score:u,reason:`ELO distance ${Math.round(s)} (card: ${Math.round(a)}, user: ${Math.round(o)}), raw ${l.toFixed(3)}, key ${u.toFixed(3)}`}]}}));u.sort(((n,r)=>r.score-n.score));const d=u.slice(0,n);if(d.length>0){const n=d.slice(0,3).map((n=>n.score.toFixed(2))).join(", ");logger.info(`[ELO] Course ${this.course.getCourseID()}: ${d.length} new cards (top scores: ${n})`)}else logger.info(`[ELO] Course ${this.course.getCourseID()}: No new cards available`);return d}}}}),generators_exports={},init_generators=__esm({"src/core/navigators/generators/index.ts"(){}}),prescribed_exports={},PrescribedCardsGenerator;__export(prescribed_exports,{default:()=>PrescribedCardsGenerator});var init_prescribed=__esm({"src/core/navigators/generators/prescribed.ts"(){init_navigators(),init_logger(),PrescribedCardsGenerator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"name"),__publicField(this,"config"),this.name=o.name||"Prescribed Cards";try{const n=JSON.parse(o.serializedData);this.config={cardIds:n.cardIds||[]}}catch{this.config={cardIds:[]}}logger.debug(`[Prescribed] Initialized with ${this.config.cardIds.length} prescribed cards`)}async getWeightedCards(n,r){if(0===this.config.cardIds.length)return[];const o=this.course.getCourseID(),a=await this.user.getActiveCards(),s=new Set(a.map((n=>n.cardID))),l=this.config.cardIds.filter((n=>!s.has(n)));if(0===l.length)return logger.debug("[Prescribed] All prescribed cards already active, returning empty"),[];const c=l.slice(0,n).map((n=>({cardId:n,courseId:o,score:1,provenance:[{strategy:"prescribed",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-prescribed",action:"generated",score:1,reason:`Prescribed card (${l.length} eligible of ${this.config.cardIds.length} configured)`}]})));return logger.info(`[Prescribed] Emitting ${c.length} cards (${l.length} eligible, ${s.size} already active)`),c}}}}),srs_exports={},DEFAULT_HEALTHY_BACKLOG,MAX_BACKLOG_PRESSURE,SRSNavigator;__export(srs_exports,{default:()=>SRSNavigator});var init_srs=__esm({"src/core/navigators/generators/srs.ts"(){init_navigators(),init_logger(),DEFAULT_HEALTHY_BACKLOG=20,MAX_BACKLOG_PRESSURE=.5,SRSNavigator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"name"),__publicField(this,"healthyBacklog"),this.name=o?.name||"SRS";const a=this.parseConfig(o?.serializedData);this.healthyBacklog=a.healthyBacklog??DEFAULT_HEALTHY_BACKLOG}parseConfig(n){if(!n)return{};try{return JSON.parse(n)}catch{return logger.warn("[SRS] Failed to parse strategy config, using defaults"),{}}}async getWeightedCards(n,r){if(!this.user||!this.course)throw new Error("SRSNavigator requires user and course to be set");const o=this.course.getCourseID(),a=await this.user.getPendingReviews(o),s=hooks.utc(),l=a.filter((n=>s.isAfter(hooks.utc(n.reviewTime)))),c=this.computeBacklogPressure(l.length);if(l.length>0){const n=c>0?` [backlog pressure: +${c.toFixed(2)}]`:" [healthy backlog]";logger.info(`[SRS] Course ${o}: ${l.length} reviews due now (of ${a.length} scheduled)${n}`)}else if(a.length>0){const n=[...a].sort(((n,r)=>hooks.utc(n.reviewTime).diff(hooks.utc(r.reviewTime))))[0],r=hooks.utc(n.reviewTime),l=hooks.duration(r.diff(s)),c=l.asHours()<1?`${Math.round(l.asMinutes())}m`:l.asHours()<24?`${Math.round(l.asHours())}h`:`${Math.round(l.asDays())}d`;logger.info(`[SRS] Course ${o}: 0 reviews due now (${a.length} scheduled, next in ${c})`)}else logger.info(`[SRS] Course ${o}: No reviews scheduled`);return l.map((n=>{const{score:r,reason:o}=this.computeUrgencyScore(n,s,c);return{cardId:n.cardId,courseId:n.courseId,score:r,reviewID:n._id,provenance:[{strategy:"srs",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-SRS-default",action:"generated",score:r,reason:o}]}})).sort(((n,r)=>r.score-n.score)).slice(0,n)}computeBacklogPressure(n){if(n<=this.healthyBacklog)return 0;const r=(n-this.healthyBacklog)/this.healthyBacklog*(MAX_BACKLOG_PRESSURE/2);return Math.min(MAX_BACKLOG_PRESSURE,r)}computeUrgencyScore(n,r,o){const a=hooks.utc(n.scheduledAt),s=hooks.utc(n.reviewTime),l=Math.max(1,s.diff(a,"hours")),c=r.diff(s,"hours"),u=c/l,d=.3+.7*Math.exp(-l/720),f=.5+.45*(.5*Math.min(1,Math.max(0,u))+.5*d),m=Math.min(1,f+o),g=[`${Math.round(c)}h overdue`,`interval: ${Math.round(l)}h`,`relative: ${u.toFixed(2)}`,`recency: ${d.toFixed(2)}`];o>0&&g.push(`backlog: +${o.toFixed(2)}`),g.push("review");return{score:m,reason:g.join(", ")}}}}}),types_exports={},init_types=__esm({"src/core/navigators/generators/types.ts"(){}}),globImport_generators,init_=__esm({'import("./generators/**/*") in src/core/navigators/index.ts'(){globImport_generators=__glob({"./generators/CompositeGenerator.ts":()=>Promise.resolve().then((()=>(init_CompositeGenerator(),CompositeGenerator_exports))),"./generators/elo.ts":()=>Promise.resolve().then((()=>(init_elo(),elo_exports))),"./generators/index.ts":()=>Promise.resolve().then((()=>(init_generators(),generators_exports))),"./generators/prescribed.ts":()=>Promise.resolve().then((()=>(init_prescribed(),prescribed_exports))),"./generators/srs.ts":()=>Promise.resolve().then((()=>(init_srs(),srs_exports))),"./generators/types.ts":()=>Promise.resolve().then((()=>(init_types(),types_exports)))})}}),DEFAULT_LEARNABLE_WEIGHT,init_contentNavigationStrategy=__esm({"src/core/types/contentNavigationStrategy.ts"(){DEFAULT_LEARNABLE_WEIGHT={weight:1,confidence:.1,sampleSize:0}}}),WeightedFilter_exports={},WeightedFilter;__export(WeightedFilter_exports,{WeightedFilter:()=>WeightedFilter});var init_WeightedFilter=__esm({"src/core/navigators/filters/WeightedFilter.ts"(){init_contentNavigationStrategy(),WeightedFilter=class{constructor(n,r=DEFAULT_LEARNABLE_WEIGHT,o=!1,a){__publicField(this,"name"),__publicField(this,"inner"),__publicField(this,"learnable"),__publicField(this,"staticWeight"),__publicField(this,"strategyId"),this.inner=n,this.name=n.name,this.learnable=r,this.staticWeight=o,this.strategyId=a}async transform(n,r){let o,a=this.learnable.weight;if(!this.staticWeight&&r.orchestration){const n=this.strategyId||this.inner.strategyId||this.name;a=r.orchestration.getEffectiveWeight(n,this.learnable),o=r.orchestration.getDeviation(n)}if(Math.abs(a-1)<.001)return this.inner.transform(n,r);const s=new Map;for(const l of n)s.set(l.cardId,l.score);return(await this.inner.transform(n,r)).map((n=>{const r=s.get(n.cardId);if(void 0===r||0===r||0===n.score)return n;const l=n.score/r;if(Math.abs(l-1)<1e-4)return n;const c=r*Math.pow(l,a),u=n.provenance.length-1,d=n.provenance[u];if(d){const r=[...n.provenance];return r[u]={...d,score:c,effectiveWeight:a,deviation:o},{...n,score:c,provenance:r}}return{...n,score:c}}))}}}}),eloDistance_exports={},DEFAULT_HALF_LIFE,DEFAULT_MIN_MULTIPLIER,DEFAULT_MAX_MULTIPLIER;function computeMultiplier(n,r,o,a){const s=n/r;return o+(a-o)*Math.exp(-s*s)}function createEloDistanceFilter(n){const r=n?.halfLife??DEFAULT_HALF_LIFE,o=n?.minMultiplier??DEFAULT_MIN_MULTIPLIER,a=n?.maxMultiplier??DEFAULT_MAX_MULTIPLIER;return{name:"ELO Distance Filter",async transform(n,s){const{course:l,userElo:c}=s,u=n.map((n=>n.cardId)),d=await l.getCardEloData(u);return n.map(((n,s)=>{const l=d[s]?.global?.score??1e3,u=Math.abs(l-c),f=computeMultiplier(u,r,o,a),m=n.score*f,g=f<a-.01?"penalized":"passed";return{...n,score:m,provenance:[...n.provenance,{strategy:"eloDistance",strategyName:"ELO Distance Filter",strategyId:"ELO_DISTANCE_FILTER",action:g,score:m,reason:`ELO distance ${Math.round(u)} (card: ${Math.round(l)}, user: ${Math.round(c)}) → ${f.toFixed(2)}x`}]}}))}}}__export(eloDistance_exports,{DEFAULT_HALF_LIFE:()=>DEFAULT_HALF_LIFE,DEFAULT_MAX_MULTIPLIER:()=>DEFAULT_MAX_MULTIPLIER,DEFAULT_MIN_MULTIPLIER:()=>DEFAULT_MIN_MULTIPLIER,createEloDistanceFilter:()=>createEloDistanceFilter});var init_eloDistance=__esm({"src/core/navigators/filters/eloDistance.ts"(){DEFAULT_HALF_LIFE=200,DEFAULT_MIN_MULTIPLIER=.3,DEFAULT_MAX_MULTIPLIER=1}}),hierarchyDefinition_exports={},DEFAULT_MIN_COUNT,HierarchyDefinitionNavigator;__export(hierarchyDefinition_exports,{default:()=>HierarchyDefinitionNavigator});var init_hierarchyDefinition=__esm({"src/core/navigators/filters/hierarchyDefinition.ts"(){init_navigators(),init_logger(),DEFAULT_MIN_COUNT=3,HierarchyDefinitionNavigator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"config"),__publicField(this,"name"),this.config=this.parseConfig(o.serializedData),this.name=o.name||"Hierarchy Definition"}parseConfig(n){try{return{prerequisites:JSON.parse(n).prerequisites||{}}}catch{return{prerequisites:{}}}}isPrerequisiteMet(n,r,o){if(!r)return!1;const a=n.masteryThreshold?.minCount??DEFAULT_MIN_COUNT;return!(r.count<a)&&(void 0!==n.masteryThreshold?.minElo?r.score>=n.masteryThreshold.minElo:void 0!==n.masteryThreshold?.minCount||r.score>=o)}async getMasteredTags(n){const r=new Set;try{const o=toCourseElo((await n.user.getCourseRegDoc(n.course.getCourseID())).elo);for(const n of Object.values(this.config.prerequisites))for(const a of n){const n=o.tags[a.tag];this.isPrerequisiteMet(a,n,o.global.score)&&r.add(a.tag)}}catch{}return r}getUnlockedTags(n){const r=new Set;for(const[o,a]of Object.entries(this.config.prerequisites)){a.every((r=>n.has(r.tag)))&&r.add(o)}return r}hasPrerequisites(n){return n in this.config.prerequisites}async checkCardUnlock(n,r,o,a){try{const r=n.tags??[],s=r.filter((n=>this.hasPrerequisites(n)&&!o.has(n)));if(0===s.length){return{isUnlocked:!0,reason:`Prerequisites met, tags: ${r.length>0?r.join(", "):"none"}`}}return{isUnlocked:!1,reason:`Blocked: missing prerequisites ${s.flatMap((n=>(this.config.prerequisites[n]||[]).filter((n=>!a.has(n.tag))).map((n=>n.tag)))).join(", ")} for tags ${s.join(", ")}`}}catch{return{isUnlocked:!0,reason:"Prerequisites check skipped (tag lookup failed)"}}}getPreReqBoosts(n,r){const o=new Map;for(const[a,s]of Object.entries(this.config.prerequisites))if(!n.has(a))for(const n of s){if(!n.preReqBoost||n.preReqBoost<=1)continue;if(r.has(n.tag))continue;const a=o.get(n.tag)??1;o.set(n.tag,Math.max(a,n.preReqBoost))}return o}async transform(n,r){const o=await this.getMasteredTags(r),a=this.getUnlockedTags(o),s=this.getPreReqBoosts(a,o),l=[];for(const c of n){const{isUnlocked:n,reason:u}=await this.checkCardUnlock(c,r.course,a,o),d=.02;let f=n?c.score:c.score*d,m=n?"passed":"penalized",g=u;if(n&&s.size>0){const n=c.tags??[];let r=1;const o=[];for(const a of n){const n=s.get(a);n&&n>r&&(r=n,o.push(a))}r>1&&(f*=r,m="boosted",g=`${u} | preReqBoost ×${r.toFixed(2)} for ${o.join(", ")}`,logger.info(`[HierarchyDefinition] preReqBoost ×${r.toFixed(2)} applied to card ${c.cardId} via tags [${o.join(", ")}] (score: ${c.score.toFixed(3)} → ${f.toFixed(3)})`))}l.push({...c,score:f,provenance:[...c.provenance,{strategy:"hierarchyDefinition",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-hierarchy",action:m,score:f,reason:g}]})}return l}async getWeightedCards(n){throw new Error("HierarchyDefinitionNavigator is a filter and should not be used as a generator. Use Pipeline with a generator and this filter via transform().")}}}}),userTagPreference_exports={},UserTagPreferenceFilter;__export(userTagPreference_exports,{default:()=>UserTagPreferenceFilter});var init_userTagPreference=__esm({"src/core/navigators/filters/userTagPreference.ts"(){init_navigators(),UserTagPreferenceFilter=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"_strategyData"),__publicField(this,"name"),this._strategyData=o,this.name=o.name||"User Tag Preferences"}computeMultiplier(n,r){const o=n.map((n=>r[n])).filter((n=>void 0!==n));return 0===o.length?1:Math.max(...o)}buildReason(n,r,o){const a=n.filter((n=>r[n]===o));return 0===o?`Excluded by user preference: ${a.join(", ")} (${o}x)`:o<1?`Penalized by user preference: ${a.join(", ")} (${o.toFixed(2)}x)`:o>1?`Boosted by user preference: ${a.join(", ")} (${o.toFixed(2)}x)`:"No matching user preferences"}async transform(n,r){const o=await this.getStrategyState();if(!o||0===Object.keys(o.boost).length)return n.map((n=>({...n,provenance:[...n.provenance,{strategy:"userTagPreference",strategyName:this.strategyName||this.name,strategyId:this.strategyId||this._strategyData._id,action:"passed",score:n.score,reason:"No user tag preferences configured"}]})));return await Promise.all(n.map((async n=>{const r=n.tags??[],a=this.computeMultiplier(r,o.boost),s=Math.min(1,n.score*a);let l;return l=0===a||a<1?"penalized":a>1?"boosted":"passed",{...n,score:s,provenance:[...n.provenance,{strategy:"userTagPreference",strategyName:this.strategyName||this.name,strategyId:this.strategyId||this._strategyData._id,action:l,score:s,reason:this.buildReason(r,o.boost,a)}]}})))}async getWeightedCards(n){throw new Error("UserTagPreferenceFilter is a filter and should not be used as a generator. Use Pipeline with a generator and this filter via transform().")}}}}),filters_exports={};__export(filters_exports,{UserTagPreferenceFilter:()=>UserTagPreferenceFilter,createEloDistanceFilter:()=>createEloDistanceFilter});var init_filters=__esm({"src/core/navigators/filters/index.ts"(){init_eloDistance(),init_userTagPreference()}}),inferredPreferenceStub_exports={},INFERRED_PREFERENCE_NAVIGATOR_STUB;__export(inferredPreferenceStub_exports,{INFERRED_PREFERENCE_NAVIGATOR_STUB:()=>INFERRED_PREFERENCE_NAVIGATOR_STUB});var init_inferredPreferenceStub=__esm({"src/core/navigators/filters/inferredPreferenceStub.ts"(){INFERRED_PREFERENCE_NAVIGATOR_STUB=!0}}),interferenceMitigator_exports={},DEFAULT_MIN_COUNT2,DEFAULT_MIN_ELAPSED_DAYS,DEFAULT_INTERFERENCE_DECAY,InterferenceMitigatorNavigator;__export(interferenceMitigator_exports,{default:()=>InterferenceMitigatorNavigator});var init_interferenceMitigator=__esm({"src/core/navigators/filters/interferenceMitigator.ts"(){init_navigators(),DEFAULT_MIN_COUNT2=10,DEFAULT_MIN_ELAPSED_DAYS=3,DEFAULT_INTERFERENCE_DECAY=.8,InterferenceMitigatorNavigator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"config"),__publicField(this,"name"),__publicField(this,"interferenceMap"),this.config=this.parseConfig(o.serializedData),this.interferenceMap=this.buildInterferenceMap(),this.name=o.name||"Interference Mitigator"}parseConfig(n){try{const r=JSON.parse(n);let o=r.interferenceSets||[];return o.length>0&&Array.isArray(o[0])&&(o=o.map((n=>({tags:n})))),{interferenceSets:o,maturityThreshold:{minCount:r.maturityThreshold?.minCount??DEFAULT_MIN_COUNT2,minElo:r.maturityThreshold?.minElo,minElapsedDays:r.maturityThreshold?.minElapsedDays??DEFAULT_MIN_ELAPSED_DAYS},defaultDecay:r.defaultDecay??DEFAULT_INTERFERENCE_DECAY}}catch{return{interferenceSets:[],maturityThreshold:{minCount:DEFAULT_MIN_COUNT2,minElapsedDays:DEFAULT_MIN_ELAPSED_DAYS},defaultDecay:DEFAULT_INTERFERENCE_DECAY}}}buildInterferenceMap(){const n=new Map;for(const r of this.config.interferenceSets){const o=r.decay??this.config.defaultDecay??DEFAULT_INTERFERENCE_DECAY;for(const a of r.tags){n.has(a)||n.set(a,[]);const s=n.get(a);for(const n of r.tags)if(n!==a){const r=s.find((r=>r.partner===n));r?r.decay=Math.max(r.decay,o):s.push({partner:n,decay:o})}}}return n}async getImmatureTags(n){const r=new Set;try{const o=toCourseElo((await n.user.getCourseRegDoc(n.course.getCourseID())).elo),a=this.config.maturityThreshold?.minCount??DEFAULT_MIN_COUNT2,s=this.config.maturityThreshold?.minElo,l=2*(this.config.maturityThreshold?.minElapsedDays??DEFAULT_MIN_ELAPSED_DAYS);for(const[n,c]of Object.entries(o.tags)){if(0===c.count)continue;const o=c.count<a,u=void 0!==s&&c.score<s,d=c.count<l;(o||u||d)&&r.add(n)}}catch{}return r}getTagsToAvoid(n){const r=new Map;for(const o of n){const a=this.interferenceMap.get(o);if(a)for(const{partner:o,decay:s}of a)if(!n.has(o)){const n=r.get(o)??0;r.set(o,Math.max(n,s))}}return r}computeInterferenceEffect(n,r,o){if(0===r.size)return{multiplier:1,interferingTags:[],reason:"No interference detected"};let a=1;const s=[];for(const u of n){const n=r.get(u);void 0!==n&&(s.push(u),a*=1-n)}if(0===s.length)return{multiplier:1,interferingTags:[],reason:"No interference detected"};const l=new Set;for(const u of s)for(const n of o){const r=this.interferenceMap.get(n);r?.some((n=>n.partner===u))&&l.add(n)}const c=`Interferes with immature tags ${Array.from(l).join(", ")} (tags: ${s.join(", ")}, multiplier: ${a.toFixed(2)})`;return{multiplier:a,interferingTags:s,reason:c}}async transform(n,r){const o=await this.getImmatureTags(r),a=this.getTagsToAvoid(o),s=[];for(const l of n){const n=l.tags??[],{multiplier:r,reason:c}=this.computeInterferenceEffect(n,a,o),u=l.score*r,d=r<1?"penalized":r>1?"boosted":"passed";s.push({...l,score:u,provenance:[...l.provenance,{strategy:"interferenceMitigator",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-interference",action:d,score:u,reason:c}]})}return s}async getWeightedCards(n){throw new Error("InterferenceMitigatorNavigator is a filter and should not be used as a generator. Use Pipeline with a generator and this filter via transform().")}}}}),relativePriority_exports={},DEFAULT_PRIORITY,DEFAULT_PRIORITY_INFLUENCE,DEFAULT_COMBINE_MODE,RelativePriorityNavigator;__export(relativePriority_exports,{default:()=>RelativePriorityNavigator});var init_relativePriority=__esm({"src/core/navigators/filters/relativePriority.ts"(){init_navigators(),DEFAULT_PRIORITY=.5,DEFAULT_PRIORITY_INFLUENCE=.5,DEFAULT_COMBINE_MODE="max",RelativePriorityNavigator=class extends ContentNavigator{constructor(n,r,o){super(n,r,o),__publicField(this,"config"),__publicField(this,"name"),this.config=this.parseConfig(o.serializedData),this.name=o.name||"Relative Priority"}parseConfig(n){try{const r=JSON.parse(n);return{tagPriorities:r.tagPriorities||{},defaultPriority:r.defaultPriority??DEFAULT_PRIORITY,combineMode:r.combineMode??DEFAULT_COMBINE_MODE,priorityInfluence:r.priorityInfluence??DEFAULT_PRIORITY_INFLUENCE}}catch{return{tagPriorities:{},defaultPriority:DEFAULT_PRIORITY,combineMode:DEFAULT_COMBINE_MODE,priorityInfluence:DEFAULT_PRIORITY_INFLUENCE}}}getTagPriority(n){return this.config.tagPriorities[n]??this.config.defaultPriority??DEFAULT_PRIORITY}computeCardPriority(n){if(0===n.length)return this.config.defaultPriority??DEFAULT_PRIORITY;const r=n.map((n=>this.getTagPriority(n)));switch(this.config.combineMode){case"max":default:return Math.max(...r);case"min":return Math.min(...r);case"average":return r.reduce(((n,r)=>n+r),0)/r.length}}computeBoostFactor(n){return 1+(n-.5)*(this.config.priorityInfluence??DEFAULT_PRIORITY_INFLUENCE)}buildPriorityReason(n,r,o,a){if(0===n.length)return`No tags, neutral priority (${r.toFixed(2)})`;const s=n.slice(0,3).join(", "),l=n.length>3?` (+${n.length-3} more)`:"";return 1===o?`Neutral priority (${r.toFixed(2)}) for tags: ${s}${l}`:o>1?`High-priority tags: ${s}${l} (priority ${r.toFixed(2)} → boost ${o.toFixed(2)}x → ${a.toFixed(2)})`:`Low-priority tags: ${s}${l} (priority ${r.toFixed(2)} → reduce ${o.toFixed(2)}x → ${a.toFixed(2)})`}async transform(n,r){return await Promise.all(n.map((async n=>{const r=n.tags??[],o=this.computeCardPriority(r),a=this.computeBoostFactor(o),s=Math.max(0,n.score*a),l=a>1?"boosted":a<1?"penalized":"passed",c=this.buildPriorityReason(r,o,a,s);return{...n,score:s,provenance:[...n.provenance,{strategy:"relativePriority",strategyName:this.strategyName||this.name,strategyId:this.strategyId||"NAVIGATION_STRATEGY-priority",action:l,score:s,reason:c}]}})))}async getWeightedCards(n){throw new Error("RelativePriorityNavigator is a filter and should not be used as a generator. Use Pipeline with a generator and this filter via transform().")}}}}),types_exports2={},init_types2=__esm({"src/core/navigators/filters/types.ts"(){}}),userGoalStub_exports={},USER_GOAL_NAVIGATOR_STUB;__export(userGoalStub_exports,{USER_GOAL_NAVIGATOR_STUB:()=>USER_GOAL_NAVIGATOR_STUB});var init_userGoalStub=__esm({"src/core/navigators/filters/userGoalStub.ts"(){USER_GOAL_NAVIGATOR_STUB=!0}}),globImport_filters,init_2=__esm({'import("./filters/**/*") in src/core/navigators/index.ts'(){globImport_filters=__glob({"./filters/WeightedFilter.ts":()=>Promise.resolve().then((()=>(init_WeightedFilter(),WeightedFilter_exports))),"./filters/eloDistance.ts":()=>Promise.resolve().then((()=>(init_eloDistance(),eloDistance_exports))),"./filters/hierarchyDefinition.ts":()=>Promise.resolve().then((()=>(init_hierarchyDefinition(),hierarchyDefinition_exports))),"./filters/index.ts":()=>Promise.resolve().then((()=>(init_filters(),filters_exports))),"./filters/inferredPreferenceStub.ts":()=>Promise.resolve().then((()=>(init_inferredPreferenceStub(),inferredPreferenceStub_exports))),"./filters/interferenceMitigator.ts":()=>Promise.resolve().then((()=>(init_interferenceMitigator(),interferenceMitigator_exports))),"./filters/relativePriority.ts":()=>Promise.resolve().then((()=>(init_relativePriority(),relativePriority_exports))),"./filters/types.ts":()=>Promise.resolve().then((()=>(init_types2(),types_exports2))),"./filters/userGoalStub.ts":()=>Promise.resolve().then((()=>(init_userGoalStub(),userGoalStub_exports))),"./filters/userTagPreference.ts":()=>Promise.resolve().then((()=>(init_userTagPreference(),userTagPreference_exports)))})}}),init_gradient=__esm({"src/core/orchestration/gradient.ts"(){init_logger()}}),init_learning=__esm({"src/core/orchestration/learning.ts"(){init_contentNavigationStrategy(),init_types_legacy(),init_logger()}});function computeOutcomeSignal(n,r={}){if(!n||0===n.length)return null;const o=r.targetAccuracy??.85,a=r.tolerance??.05;let s=0;for(const l of n)l.isCorrect&&s++;return scoreAccuracyInZone(s/n.length,o,a)}function scoreAccuracyInZone(n,r,o){const a=Math.abs(n-r);if(a<=o)return 1;const s=a-o;return Math.max(0,1-2.5*s)}var init_signal=__esm({"src/core/orchestration/signal.ts"(){}});async function recordUserOutcome(n,r,o,a,s,l=0,c=0,u){const{user:d,course:f,userId:m}=n,g=f.getCourseID(),b=computeOutcomeSignal(a,u);if(null===b)return void logger.debug(`[Orchestration] No outcome signal computed for ${m} (insufficient data). Skipping record.`);const S={};for(const E of s)S[E]=n.getDeviation(E);const k=`USER_OUTCOME::${g}::${m}::${o}`,w={_id:k,docType:"USER_OUTCOME",courseId:g,userId:m,periodStart:r,periodEnd:o,outcomeValue:b,deviations:S,metadata:{sessionsCount:1,cardsSeen:a.length,eloStart:l,eloEnd:c,signalType:"accuracy_in_zone"}};try{await d.putUserOutcome(w),logger.debug(`[Orchestration] Recorded outcome ${b.toFixed(3)} for ${m} (doc: ${k})`)}catch(e3){logger.error(`[Orchestration] Failed to record outcome: ${e3}`)}}var init_recording=__esm({"src/core/orchestration/recording.ts"(){init_signal(),init_types_legacy(),init_logger()}}),MIN_SPREAD,MAX_SPREAD,MIN_WEIGHT,MAX_WEIGHT;function fnv1a(n){let r=2166136261;for(let o=0;o<n.length;o++)r^=n.charCodeAt(o),r=Math.imul(r,16777619);return r>>>0}function computeDeviation(n,r,o){return 2*(fnv1a(`${n}:${r}:${o}`)/4294967296)-1}function computeSpread(n){const r=Math.max(0,Math.min(1,n));return MAX_SPREAD-r*(MAX_SPREAD-MIN_SPREAD)}function computeEffectiveWeight(n,r,o,a){const s=computeDeviation(r,o,a)*computeSpread(n.confidence)*n.weight,l=n.weight+s;return Math.max(MIN_WEIGHT,Math.min(MAX_WEIGHT,l))}async function createOrchestrationContext(n,r){let o;try{o=await r.getCourseConfig()}catch(e3){logger.error(`[Orchestration] Failed to load course config: ${e3}`),o={name:"Unknown",description:"",public:!1,deleted:!1,creator:"",admins:[],moderators:[],dataShapes:[],questionTypes:[],orchestration:{salt:"default"}}}const a=n.getUsername(),s=o.orchestration?.salt||"default_salt";return{user:n,course:r,userId:a,courseConfig:o,getEffectiveWeight:(n,r)=>computeEffectiveWeight(r,a,n,s),getDeviation:n=>computeDeviation(a,n,s)}}var init_orchestration=__esm({"src/core/orchestration/index.ts"(){init_logger(),init_gradient(),init_learning(),init_signal(),init_recording(),MIN_SPREAD=.1,MAX_SPREAD=.5,MIN_WEIGHT=.1,MAX_WEIGHT=3}}),Pipeline_exports={},VERBOSE_RESULTS,Pipeline;function globToRegex(n){const r=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${r}$`)}function globMatch(n,r){return r.includes("*")?globToRegex(r).test(n):n===r}function cardMatchesTagPattern(n,r){return(n.tags??[]).some((n=>globMatch(n,r)))}function logPipelineConfig(n,r){const o=r.length>0?"\n - "+r.map((n=>n.name)).join("\n - "):" none";logger.info(`[Pipeline] Configuration:\n Generator: ${n.name}\n Filters:${o}`)}function logTagHydration(n,r){const o=Array.from(r.values()).reduce(((n,r)=>n+r.length),0),a=Array.from(r.values()).filter((n=>n.length>0)).length;logger.debug(`[Pipeline] Tag hydration: ${n.length} cards, ${a} have tags (${o} total tags) - single batch query`)}function logExecutionSummary(n,r,o,a,s,l){const c=s.length>0?s.map((n=>n.toFixed(2))).join(", "):"none";let u="";if(l.length>0){u=`\n Filter impact: ${l.map((n=>{const r=[];return n.boosted>0&&r.push(`+${n.boosted}`),n.penalized>0&&r.push(`-${n.penalized}`),n.passed>0&&r.push(`=${n.passed}`),`${n.name}: ${r.join("/")}`})).join(", ")}`}logger.info(`[Pipeline] Execution: ${n} produced ${r} → ${o} filters → ${a} results (top scores: ${c})`+u+"\n 💡 Inspect: window.skuilder.pipeline")}function logResultCards(n){if(VERBOSE_RESULTS&&0!==n.length){logger.info(`[Pipeline] Results (${n.length} cards):`);for(let r=0;r<n.length;r++){const o=n[r],a=o.tags?.slice(0,3).join(", ")||"",s=o.provenance.filter((n=>"hierarchyDefinition"===n.strategy||"priorityDefinition"===n.strategy||"interferenceFilter"===n.strategy||"letterGating"===n.strategy||"ephemeralHint"===n.strategy)).map((n=>{const r="boosted"===n.action?"↑":"penalized"===n.action?"↓":"=";return`${n.strategyName}${r}${n.score.toFixed(2)}`})).join(" | ");logger.info(`[Pipeline] ${String(r+1).padStart(2)}. ${o.score.toFixed(4)} ${o.cardId} [${a}]${s?` {${s}}`:""}`)}}}function logCardProvenance(n,r=3){const o=n.slice(0,r);logger.debug(`[Pipeline] Provenance for top ${o.length} cards:`);for(const a of o){logger.debug(`[Pipeline] ${a.cardId} (final score: ${a.score.toFixed(3)}):`);for(const n of a.provenance){const r=n.score.toFixed(3),o=n.action.padEnd(9);logger.debug(`[Pipeline] ${o} ${r} - ${n.strategyName}: ${n.reason}`)}}}__export(Pipeline_exports,{Pipeline:()=>Pipeline});var init_Pipeline=__esm({"src/core/navigators/Pipeline.ts"(){init_navigators(),init_logger(),init_orchestration(),init_PipelineDebugger(),VERBOSE_RESULTS=!0,Pipeline=class extends ContentNavigator{constructor(n,r,o,a){super(),__publicField(this,"generator"),__publicField(this,"filters"),__publicField(this,"_cachedOrchestration",null),__publicField(this,"_tagCache",new Map),__publicField(this,"_ephemeralHints",null),this.generator=n,this.filters=r,this.user=o,this.course=a,a.getCourseConfig().then((n=>{logger.debug(`[pipeline] Crated pipeline for ${n.name}`)})).catch((n=>{logger.error(`[pipeline] Failed to lookup courseCfg: ${n}`)})),logPipelineConfig(n,r),registerPipelineForDebug(this)}setEphemeralHints(n){this._ephemeralHints=n,logger.info(`[Pipeline] Ephemeral hints set: ${JSON.stringify(n)}`)}async getWeightedCards(n){const r=performance.now(),o=await this.buildContext(),a=performance.now();logger.debug(`[Pipeline] Fetching 500 candidates from generator '${this.generator.name}'`);let s=await this.generator.getWeightedCards(500,o);const l=performance.now(),c=s.length;let u;if(this.generator.generators){const n=new Map;for(const r of s){const o=r.provenance[0];if(o){const a=o.strategyName;n.has(a)||n.set(a,{cards:[]}),n.get(a).cards.push(r)}}u=Array.from(n.entries()).map((([n,r])=>{const o=r.cards.filter((n=>n.provenance[0]?.reason?.includes("new card"))),a=r.cards.filter((n=>n.provenance[0]?.reason?.includes("review")));return{name:n,cardCount:r.cards.length,newCount:o.length,reviewCount:a.length,topScore:Math.max(...r.cards.map((n=>n.score)),0)}}))}logger.debug(`[Pipeline] Generator returned ${c} candidates`),s=await this.hydrateTags(s);const d=performance.now(),f=[...s],m=[];for(const w of this.filters){const n=s.length,r=new Map(s.map((n=>[n.cardId,n.score])));s=await w.transform(s,o);let a=0,l=0,c=0;const u=n-s.length;for(const o of s){const n=r.get(o.cardId)??0;o.score>n?a++:o.score<n?l++:c++}m.push({name:w.name,boosted:a,penalized:l,passed:c,removed:u}),logger.debug(`[Pipeline] Filter '${w.name}': ${r.size} → ${s.length} cards (↑${a} ↓${l} =${c})`)}s=s.filter((n=>n.score>0));const g=this._ephemeralHints;g&&(this._ephemeralHints=null,s=this.applyHints(s,g,f)),s.sort(((n,r)=>r.score-n.score));const b=performance.now(),S=s.slice(0,n);logger.info(`[Pipeline:timing] total=${(b-r).toFixed(0)}ms (context=${(a-r).toFixed(0)} generate=${(l-a).toFixed(0)} hydrate=${(d-l).toFixed(0)} filter=${(b-d).toFixed(0)})`);const k=S.slice(0,3).map((n=>n.score));logExecutionSummary(this.generator.name,c,this.filters.length,S.length,k,m),logResultCards(S),logCardProvenance(S,3);try{const n=await(this.course?.getCourseConfig().then((n=>n.name)).catch((()=>{})));captureRun(buildRunReport(this.course?.getCourseID()||"unknown",n,this.generator.name,u,c,m,f,S))}catch(e3){logger.debug(`[Pipeline] Failed to capture debug run: ${e3}`)}return S}async hydrateTags(n){if(0===n.length)return n;const r=[];for(const a of n)this._tagCache.has(a.cardId)||r.push(a.cardId);if(r.length>0){const n=await this.course.getAppliedTagsBatch(r);for(const[r,o]of n)this._tagCache.set(r,o)}const o=new Map;for(const a of n)o.set(a.cardId,this._tagCache.get(a.cardId)??[]);return logTagHydration(n,o),n.map((n=>({...n,tags:this._tagCache.get(n.cardId)??[]})))}applyHints(n,r,o){const a=n.length;if(r.excludeCards?.length&&(n=n.filter((n=>!r.excludeCards.some((r=>globMatch(n.cardId,r)))))),r.excludeTags?.length&&(n=n.filter((n=>!r.excludeTags.some((r=>cardMatchesTagPattern(n,r)))))),r.boostTags)for(const[u,d]of Object.entries(r.boostTags))for(const o of n)cardMatchesTagPattern(o,u)&&(o.score*=d,o.provenance.push({strategy:"ephemeralHint",strategyId:"ephemeral-hint",strategyName:r._label?`Replan Hint (${r._label})`:"Replan Hint",action:"boosted",score:o.score,reason:`boostTag ${u} ×${d}`}));if(r.boostCards)for(const[u,d]of Object.entries(r.boostCards))for(const o of n)globMatch(o.cardId,u)&&(o.score*=d,o.provenance.push({strategy:"ephemeralHint",strategyId:"ephemeral-hint",strategyName:r._label?`Replan Hint (${r._label})`:"Replan Hint",action:"boosted",score:o.score,reason:`boostCard ${u} ×${d}`}));const s=new Set(n.map((n=>n.cardId))),l=r._label?`Replan Hint (${r._label})`:"Replan Hint",c=(r,o)=>{if(!s.has(r.cardId)){const a=Math.max(r.score,1);n.push({...r,score:a,provenance:[...r.provenance,{strategy:"ephemeralHint",strategyId:"ephemeral-hint",strategyName:l,action:"boosted",score:a,reason:o}]}),s.add(r.cardId)}};if(r.requireCards?.length)for(const u of r.requireCards)for(const n of o)globMatch(n.cardId,u)&&c(n,`requireCard ${u}`);if(r.requireTags?.length)for(const u of r.requireTags)for(const n of o)cardMatchesTagPattern(n,u)&&c(n,`requireTag ${u}`);return logger.info(`[Pipeline] Hints applied: ${a} → ${n.length} cards`),n}async buildContext(){let n=1e3;try{const r=await this.user.getCourseRegDoc(this.course.getCourseID());n=toCourseElo(r.elo).global.score}catch(e3){logger.debug(`[Pipeline] Could not get user ELO, using default: ${e3}`)}this._cachedOrchestration||(this._cachedOrchestration=await createOrchestrationContext(this.user,this.course));const r=this._cachedOrchestration;return{user:this.user,course:this.course,userElo:n,orchestration:r}}getCourseID(){return this.course.getCourseID()}async getOrchestrationContext(){return createOrchestrationContext(this.user,this.course)}getStrategyIds(){const n=[],r=n=>n.strategyId?n.strategyId:null,o=r(this.generator);o&&n.push(o),this.generator.generators&&Array.isArray(this.generator.generators)&&this.generator.generators.forEach((o=>{const a=r(o);a&&n.push(a)}));for(const a of this.filters){const o=r(a);o&&n.push(o)}return[...new Set(n)]}async diagnoseCardSpace(n){const r=n?.threshold??.1,o=performance.now(),a=await this.course.getAllCardIds();let s=a.map((n=>({cardId:n,courseId:this.course.getCourseID(),score:1,provenance:[]})));s=await this.hydrateTags(s);const l=await this.buildContext(),c=[];for(const k of this.filters){s=await k.transform(s,l);const n=s.filter((n=>n.score>=r)).length;c.push({name:k.name,wellIndicated:n})}const u=s.filter((n=>n.score>=r)),d=new Set(u.map((n=>n.cardId)));let f;try{const n=this.course.getCourseID(),r=await this.user.getSeenCards(n);f=new Set(r)}catch{f=new Set}const m=u.filter((n=>!f.has(n.cardId))),g=new Map;for(const k of s){const n=k.cardId.split("-")[1]||"unknown";g.has(n)||g.set(n,{total:0,wellIndicated:0,new:0});const o=g.get(n);o.total++,k.score>=r&&(o.wellIndicated++,f.has(k.cardId)||o.new++)}const b=performance.now()-o,S={totalCards:a.length,threshold:r,wellIndicated:d.size,encountered:f.size,wellIndicatedNew:m.length,byType:Object.fromEntries(g),filterBreakdown:c,elapsedMs:Math.round(b)};logger.info(`[Pipeline:diagnose] Card space scan (${S.elapsedMs}ms):`),logger.info(`[Pipeline:diagnose] Total cards: ${S.totalCards}`),logger.info(`[Pipeline:diagnose] Well-indicated (score >= ${r}): ${S.wellIndicated}`),logger.info(`[Pipeline:diagnose] Encountered: ${S.encountered}`),logger.info(`[Pipeline:diagnose] Well-indicated & new: ${S.wellIndicatedNew}`),logger.info("[Pipeline:diagnose] By type:");for(const[k,w]of g)logger.info(`[Pipeline:diagnose] ${k}: ${w.wellIndicated}/${w.total} well-indicated, ${w.new} new`);logger.info("[Pipeline:diagnose] After each filter:");for(const k of c)logger.info(`[Pipeline:diagnose] ${k.name}: ${k.wellIndicated} well-indicated`);return S}}}}),defaults_exports={};function createDefaultEloStrategy(n){return{_id:"NAVIGATION_STRATEGY-ELO-default",docType:"NAVIGATION_STRATEGY",name:"ELO (default)",description:"Default ELO-based navigation strategy for new cards",implementingClass:"elo",course:n,serializedData:""}}function createDefaultSrsStrategy(n){return{_id:"NAVIGATION_STRATEGY-SRS-default",docType:"NAVIGATION_STRATEGY",name:"SRS (default)",description:"Default SRS-based navigation strategy for reviews",implementingClass:"srs",course:n,serializedData:""}}function createDefaultPipeline(n,r){const o=r.getCourseID(),a=new ELONavigator(n,r,createDefaultEloStrategy(o)),s=new SRSNavigator(n,r,createDefaultSrsStrategy(o)),l=new CompositeGenerator([a,s]),c=createEloDistanceFilter();return new Pipeline(l,[c],n,r)}__export(defaults_exports,{createDefaultEloStrategy:()=>createDefaultEloStrategy,createDefaultPipeline:()=>createDefaultPipeline,createDefaultSrsStrategy:()=>createDefaultSrsStrategy});var init_defaults=__esm({"src/core/navigators/defaults.ts"(){init_navigators(),init_Pipeline(),init_CompositeGenerator(),init_elo(),init_srs(),init_eloDistance(),init_types_legacy()}}),PipelineAssembler_exports={},PipelineAssembler;__export(PipelineAssembler_exports,{PipelineAssembler:()=>PipelineAssembler});var init_PipelineAssembler=__esm({"src/core/navigators/PipelineAssembler.ts"(){init_navigators(),init_WeightedFilter(),init_Pipeline(),init_logger(),init_CompositeGenerator(),init_defaults(),PipelineAssembler=class{async assemble(n){const{strategies:r,user:o,course:a}=n,s=[];if(0===r.length)return{pipeline:null,generatorStrategies:[],filterStrategies:[],warnings:s};const l=[],c=[];for(const k of r)isGenerator(k.implementingClass)?l.push(k):isFilter(k.implementingClass)?c.push(k):s.push(`Unknown strategy type '${k.implementingClass}', skipping: ${k.name}`);const u=a.getCourseID(),d=l.some((n=>"elo"===n.implementingClass)),f=l.some((n=>"srs"===n.implementingClass));if(d||(logger.debug("[PipelineAssembler] No ELO generator configured, adding default"),l.push(createDefaultEloStrategy(u))),f||(logger.debug("[PipelineAssembler] No SRS generator configured, adding default"),l.push(createDefaultSrsStrategy(u))),0===l.length)return s.push("No generator strategy found"),{pipeline:null,generatorStrategies:[],filterStrategies:[],warnings:s};let m;if(1===l.length){m=await ContentNavigator.create(o,a,l[0]),logger.debug(`[PipelineAssembler] Using single generator: ${l[0].name}`)}else logger.debug(`[PipelineAssembler] Using CompositeGenerator for ${l.length} generators: ${l.map((n=>n.name)).join(", ")}`),m=await CompositeGenerator.fromStrategies(o,a,l);const g=[],b=[...c].sort(((n,r)=>n.name.localeCompare(r.name)));for(const k of b)try{const n=await ContentNavigator.create(o,a,k);if("transform"in n&&"function"==typeof n.transform){let r=n;k.learnable&&(r=new WeightedFilter(r,k.learnable,k.staticWeight,k._id)),g.push(r),logger.debug(`[PipelineAssembler] Added filter: ${k.name}`)}else s.push(`Filter '${k.name}' does not implement CardFilter.transform(), skipping`)}catch(e3){s.push(`Failed to instantiate filter '${k.name}': ${e3}`)}const S=new Pipeline(m,g,o,a);return logger.debug(`[PipelineAssembler] Assembled pipeline with ${l.length} generator(s) and ${g.length} filter(s)`),{pipeline:S,generatorStrategies:l,filterStrategies:b,warnings:s}}}}}),globImport,init_3=__esm({'import("./**/*") in src/core/navigators/index.ts'(){globImport=__glob({"./Pipeline.ts":()=>Promise.resolve().then((()=>(init_Pipeline(),Pipeline_exports))),"./PipelineAssembler.ts":()=>Promise.resolve().then((()=>(init_PipelineAssembler(),PipelineAssembler_exports))),"./PipelineDebugger.ts":()=>Promise.resolve().then((()=>(init_PipelineDebugger(),PipelineDebugger_exports))),"./defaults.ts":()=>Promise.resolve().then((()=>(init_defaults(),defaults_exports))),"./filters/WeightedFilter.ts":()=>Promise.resolve().then((()=>(init_WeightedFilter(),WeightedFilter_exports))),"./filters/eloDistance.ts":()=>Promise.resolve().then((()=>(init_eloDistance(),eloDistance_exports))),"./filters/hierarchyDefinition.ts":()=>Promise.resolve().then((()=>(init_hierarchyDefinition(),hierarchyDefinition_exports))),"./filters/index.ts":()=>Promise.resolve().then((()=>(init_filters(),filters_exports))),"./filters/inferredPreferenceStub.ts":()=>Promise.resolve().then((()=>(init_inferredPreferenceStub(),inferredPreferenceStub_exports))),"./filters/interferenceMitigator.ts":()=>Promise.resolve().then((()=>(init_interferenceMitigator(),interferenceMitigator_exports))),"./filters/relativePriority.ts":()=>Promise.resolve().then((()=>(init_relativePriority(),relativePriority_exports))),"./filters/types.ts":()=>Promise.resolve().then((()=>(init_types2(),types_exports2))),"./filters/userGoalStub.ts":()=>Promise.resolve().then((()=>(init_userGoalStub(),userGoalStub_exports))),"./filters/userTagPreference.ts":()=>Promise.resolve().then((()=>(init_userTagPreference(),userTagPreference_exports))),"./generators/CompositeGenerator.ts":()=>Promise.resolve().then((()=>(init_CompositeGenerator(),CompositeGenerator_exports))),"./generators/elo.ts":()=>Promise.resolve().then((()=>(init_elo(),elo_exports))),"./generators/index.ts":()=>Promise.resolve().then((()=>(init_generators(),generators_exports))),"./generators/prescribed.ts":()=>Promise.resolve().then((()=>(init_prescribed(),prescribed_exports))),"./generators/srs.ts":()=>Promise.resolve().then((()=>(init_srs(),srs_exports))),"./generators/types.ts":()=>Promise.resolve().then((()=>(init_types(),types_exports))),"./index.ts":()=>Promise.resolve().then((()=>(init_navigators(),navigators_exports)))})}}),navigators_exports={},navigatorRegistry,Navigators,NavigatorRole,NavigatorRoles,ContentNavigator;function registerNavigator(n,r,o){navigatorRegistry.set(n,{constructor:r,role:o}),logger.debug(`[NavigatorRegistry] Registered: ${n}${o?` (${o})`:""}`)}function getRegisteredNavigator(n){return navigatorRegistry.get(n)?.constructor}function hasRegisteredNavigator(n){return navigatorRegistry.has(n)}function getRegisteredNavigatorRole(n){return navigatorRegistry.get(n)?.role}function getRegisteredNavigatorNames(){return Array.from(navigatorRegistry.keys())}async function initializeNavigatorRegistry(){logger.debug("[NavigatorRegistry] Initializing built-in navigators...");const[n,r]=await Promise.all([Promise.resolve().then((()=>(init_elo(),elo_exports))),Promise.resolve().then((()=>(init_srs(),srs_exports)))]),o=await Promise.resolve().then((()=>(init_prescribed(),prescribed_exports)));registerNavigator("elo",n.default),registerNavigator("srs",r.default),registerNavigator("prescribed",o.default);const[a,s,l,c]=await Promise.all([Promise.resolve().then((()=>(init_hierarchyDefinition(),hierarchyDefinition_exports))),Promise.resolve().then((()=>(init_interferenceMitigator(),interferenceMitigator_exports))),Promise.resolve().then((()=>(init_relativePriority(),relativePriority_exports))),Promise.resolve().then((()=>(init_userTagPreference(),userTagPreference_exports)))]);registerNavigator("hierarchyDefinition",a.default),registerNavigator("interferenceMitigator",s.default),registerNavigator("relativePriority",l.default),registerNavigator("userTagPreference",c.default),logger.debug(`[NavigatorRegistry] Initialized ${navigatorRegistry.size} navigators: ${getRegisteredNavigatorNames().join(", ")}`)}function getCardOrigin(n){if(0===n.provenance.length)throw new Error("Card has no provenance - cannot determine origin");const r=n.provenance[0].reason.toLowerCase();return r.includes("failed")?"failed":r.includes("review")?"review":"new"}function isGenerator(n){return"generator"===NavigatorRoles[n]||"generator"===getRegisteredNavigatorRole(n)}function isFilter(n){return"filter"===NavigatorRoles[n]||"filter"===getRegisteredNavigatorRole(n)}__export(navigators_exports,{ContentNavigator:()=>ContentNavigator,NavigatorRole:()=>NavigatorRole,NavigatorRoles:()=>NavigatorRoles,Navigators:()=>Navigators,getCardOrigin:()=>getCardOrigin,getRegisteredNavigator:()=>getRegisteredNavigator,getRegisteredNavigatorNames:()=>getRegisteredNavigatorNames,getRegisteredNavigatorRole:()=>getRegisteredNavigatorRole,hasRegisteredNavigator:()=>hasRegisteredNavigator,initializeNavigatorRegistry:()=>initializeNavigatorRegistry,isFilter:()=>isFilter,isGenerator:()=>isGenerator,mountPipelineDebugger:()=>mountPipelineDebugger,pipelineDebugAPI:()=>pipelineDebugAPI,registerNavigator:()=>registerNavigator});var init_navigators=__esm({"src/core/navigators/index.ts"(){init_PipelineDebugger(),init_logger(),init_(),init_2(),init_3(),navigatorRegistry=new Map,Navigators=(n=>(n.ELO="elo",n.SRS="srs",n.PRESCRIBED="prescribed",n.HIERARCHY="hierarchyDefinition",n.INTERFERENCE="interferenceMitigator",n.RELATIVE_PRIORITY="relativePriority",n.USER_TAG_PREFERENCE="userTagPreference",n))(Navigators||{}),NavigatorRole=(n=>(n.GENERATOR="generator",n.FILTER="filter",n))(NavigatorRole||{}),NavigatorRoles={elo:"generator",srs:"generator",prescribed:"generator",hierarchyDefinition:"filter",interferenceMitigator:"filter",relativePriority:"filter",userTagPreference:"filter"},ContentNavigator=class{constructor(n,r,o){__publicField(this,"user"),__publicField(this,"course"),__publicField(this,"strategyName"),__publicField(this,"strategyId"),__publicField(this,"learnable"),__publicField(this,"staticWeight"),this.user=n,this.course=r,o&&(this.strategyName=o.name,this.strategyId=o._id,this.learnable=o.learnable,this.staticWeight=o.staticWeight)}get strategyKey(){return this.constructor.name}async getStrategyState(){if(!this.user||!this.course)throw new Error("Cannot get strategy state: navigator not properly initialized. Ensure user and course are provided to constructor.");return this.user.getStrategyState(this.course.getCourseID(),this.strategyKey)}async putStrategyState(n){if(!this.user||!this.course)throw new Error("Cannot put strategy state: navigator not properly initialized. Ensure user and course are provided to constructor.");return this.user.putStrategyState(this.course.getCourseID(),this.strategyKey,n)}static async create(n,r,o){const a=o.implementingClass,s=getRegisteredNavigator(a);if(s)return logger.debug(`[ContentNavigator.create] Using registered navigator: ${a}`),new s(n,r,o);let l;logger.debug(`[ContentNavigator.create] Navigator not in registry, attempting dynamic import: ${a}`);const c=[".ts",".js",""];for(const u of c){try{if(l=(await globImport_generators(`./generators/${a}${u}`)).default,l)break}catch(e3){logger.debug(`Failed to load generator ${a}${u}:`,e3)}try{if(l=(await globImport_filters(`./filters/${a}${u}`)).default,l)break}catch(e3){logger.debug(`Failed to load filter ${a}${u}:`,e3)}try{if(l=(await globImport(`./${a}${u}`)).default,l)break}catch(e3){logger.debug(`Failed to load legacy ${a}${u}:`,e3)}if(l)break}if(!l)throw new Error(`Could not load navigator implementation for: ${a}`);return new l(n,r,o)}async getWeightedCards(n){throw new Error(`${this.constructor.name} must implement getWeightedCards(). `)}setEphemeralHints(n){}}}}),CoursesDB,CourseDB;function randIntWeightedTowardZero(n){return Math.floor(Math.random()*Math.random()*Math.random()*n)}async function getCourseTagStubs(n){logger.debug(`Getting tag stubs for course: ${n}`);const r=await filterAllDocsByPrefix2(getCourseDB2(n),"TAG".valueOf()+"-");return r.rows.forEach((n=>{logger.debug(`\tTag stub for doc: ${n.id}`)})),r}async function createTag(n,r,o){logger.debug(`Creating tag: ${r}...`);const a=getTagID(r),s=getCourseDB2(n);return await s.put({course:n,docType:"TAG",name:r,snippet:"",taggedCards:[],wiki:"",author:o,_id:a})}async function updateTag(n){const r=await getTag(n.course,n.name);return await getCourseDB2(n.course).put({...n,_rev:r._rev})}async function getTag(n,r){const o=getTagID(r);return getCourseDB2(n).get(o)}async function removeTagFromCard(n,r,o){o=getTagID(o);const a=getCourseDB2(n),s=await a.get(o);return s.taggedCards=s.taggedCards.filter((n=>r!==n)),a.put(s)}async function getAppliedTags(n,r){const o=getCourseDB2(n);return await o.query("getTags",{startkey:r,endkey:r})}async function updateCredentialledCourseConfig(n,r){logger.debug(`Updating course config:\n\n${JSON.stringify(r)}\n`);const o=getCourseDB2(n),a=await getCredentialledCourseConfig(n);return await o.put({...r,_rev:a._rev})}function isSuccessRow(n){return"doc"in n&&null!==n.doc&&void 0!==n.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(),init_PipelineAssembler(),init_defaults(),CoursesDB=class{constructor(n){__publicField(this,"_courseIDs"),n&&n.length>0?this._courseIDs=n:this._courseIDs=void 0}async getCourseList(){let n=await CourseLookup.allCourseWare();logger.debug(`AllCourses: ${n.map((n=>n.name+", "+n._id+"\n\t"))}`),this._courseIDs&&(n=n.filter((n=>this._courseIDs.includes(n._id)))),logger.debug(`AllCourses.filtered: ${n.map((n=>n.name+", "+n._id+"\n\t"))}`);return(await Promise.all(n.map((async n=>{try{const r=await getCredentialledCourseConfig(n._id);return logger.debug(`Found cfg: ${JSON.stringify(r)}`),r}catch(e3){return void logger.warn(`Error fetching cfg for course ${n.name}, ${n._id}: ${e3}`)}})))).filter((n=>!!n))}async getCourseConfig(n){if(this._courseIDs&&this._courseIDs.length&&!this._courseIDs.includes(n))throw new Error(`Course ${n} not in course list`);const r=await getCredentialledCourseConfig(n);if(void 0===r)throw new Error(`Error fetching cfg for course ${n}`);return r}async disambiguateCourse(n,r){await CourseLookup.updateDisambiguator(n,r)}},CourseDB=class{constructor(n,r,o){__publicField(this,"db"),__publicField(this,"remoteDB"),__publicField(this,"id"),__publicField(this,"_getCurrentUser"),__publicField(this,"updateQueue"),__publicField(this,"_pendingHints",null),this.id=n;const a=getCourseDB2(this.id);this.remoteDB=a,this.db=o??a,this._getCurrentUser=r,this.updateQueue=new UpdateQueue(this.remoteDB,this.remoteDB)}getCourseID(){return this.id}async getCourseInfo(){return{cardCount:(await this.db.find({selector:{docType:"CARD"},limit:1e3})).docs.length,registeredUsers:0}}async getInexperiencedCards(n=2){return(await this.db.query("cardsByInexperience",{limit:n})).rows.map((n=>({courseId:this.id,cardId:n.id,count:n.key,elo:n.value})))}async getCardsByEloLimits(n={low:0,high:Number.MIN_SAFE_INTEGER,limit:25,page:0}){return(await this.db.query("elo",{startkey:n.low,endkey:n.high,limit:n.limit,skip:n.limit*n.page})).rows.map((n=>`${this.id}-${n.id}-${n.key}`))}async getCardEloData(n){const r=await this.db.allDocs({keys:n,include_docs:!0}),o=[];return r.rows.forEach((n=>{isSuccessRow(n)?n.doc&&n.doc.elo?o.push(toCourseElo(n.doc.elo)):(logger.warn("no elo data for card: "+n.id),o.push(blankCourseElo())):(logger.warn("no elo data for card: "+JSON.stringify(n)),o.push(blankCourseElo()))})),o}async getELOBounds(){const[n,r]=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:n,high:r}}async removeCard(n){const r=await this.remoteDB.get(n);if(!r.docType||"CARD"!==r.docType)throw new Error(`failed to remove ${n} from course ${this.id}. id does not point to a card`);try{const r=await this.getAppliedTags(n);(await Promise.allSettled(r.rows.map((async r=>{const o=r.id;await this.removeTagFromCard(n,o)})))).forEach(((o,a)=>{if("rejected"===o.status){const s=r.rows[a].id;logger.error(`Failed to remove card ${n} from tag ${s}: ${o.reason}`)}}))}catch(o){logger.error(`Error removing card ${n} from tags: ${o}`)}return this.remoteDB.remove(r)}async getCardDisplayableDataIDs(n){logger.debug(n.join(", "));const r=await this.db.allDocs({keys:n,include_docs:!0}),o={};return r.rows.forEach((n=>{isSuccessRow(n)&&(o[n.id]=n.doc.id_displayable_data)})),o}async getCardsByELO(n,r){n=parseInt(n);const o=r||25,a=await this.db.query("elo",{limit:Math.ceil(o/2),startkey:n,descending:!0}),s=o-a.rows.length,l=await this.db.query("elo",{limit:s,startkey:n+1});let c=a.rows;c=c.concat(l.rows);const u=c.sort(((r,o)=>{const a=Math.abs(r.key-n)-Math.abs(o.key-n);return 0===a?Math.random()-.5:a})).map((n=>({courseID:this.id,cardID:n.id,elo:n.key}))),d=`below:\n${a.rows.map((n=>`\t${n.id}-${n.key}\n`))}\n\nabove:\n${l.rows.map((n=>`\t${n.id}-${n.key}\n`))}`;return logger.debug(`Getting ${o} cards centered around elo: ${n}:\n\n`+d),u}async getCourseConfig(){const n=await getCredentialledCourseConfig(this.id);if(n)return n;throw new Error(`Course config not found for course ID: ${this.id}`)}async updateCourseConfig(n){logger.debug(`Updating: ${JSON.stringify(n)}`);try{return await updateCredentialledCourseConfig(this.id,n)}catch(r){throw logger.error(`Error updating course config in course DB: ${r}`),r}}async updateCardElo(n,r){if(!r)throw new Error(`Cannot update card elo with null or undefined value for card ID: ${n}`);try{return{ok:!0,id:n,rev:(await this.updateQueue.update(n,(n=>(logger.debug(`Replacing ${JSON.stringify(n.elo)} with ${JSON.stringify(r)}`),n.elo=r,n))))._rev}}catch(o){throw logger.error(`Failed to update card elo for card ID: ${n}`,o),new Error(`Failed to update card elo for card ID: ${n}`)}}async getAppliedTags(n){const r=await getAppliedTags(this.id,n);if(r)return r;throw new Error(`Failed to find tags for card ${this.id}-${n}`)}async getAppliedTagsBatch(n){if(0===n.length)return new Map;const r=await this.db.query("getTags",{keys:n,include_docs:!1}),o=new Map;for(const a of n)o.set(a,[]);for(const a of r.rows){const n=a.key,r=a.value?.name;r&&o.has(n)&&o.get(n).push(r)}return o}async getAllCardIds(){return(await this.db.allDocs({startkey:"CARD-",endkey:"CARD-",include_docs:!1})).rows.map((n=>n.id))}async addTagToCard(n,r,o){return await addTagToCard(this.id,n,r,(await this._getCurrentUser()).getUsername(),o)}async removeTagFromCard(n,r){return await removeTagFromCard(this.id,n,r)}async createTag(n,r){return await createTag(this.id,n,r)}async getTag(n){return await getTag(this.id,n)}async updateTag(n){if(n.course!==this.id)throw new Error(`Tag ${JSON.stringify(n)} does not belong to course ${this.id}`);return await updateTag(n)}async getCourseTagStubs(){return getCourseTagStubs(this.id)}async addNote(n,r,o,a,s,l,c=blankCourseElo()){try{const u=await addNote55(this.id,n,r,o,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(e3){const r=e3;return logger.error(`[addNote] error ${r.name}\n\treason: ${r.reason}\n\tmessage: ${r.message}`),{status:Status.error,message:`Error adding note to course. ${e3.reason||r.message}`}}}async getCourseDoc(n,r){return await this.db.get(n,r)}async getCourseDocs(n,r={}){return await this.db.allDocs({...r,keys:n})}getNavigationStrategy(n){if(logger.debug(`[courseDB] Getting navigation strategy: ${n}`),""==n){const n={_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(n)}return this.db.get(n)}async getAllNavigationStrategies(){const n=DocTypePrefixes.NAVIGATION_STRATEGY;return(await this.db.allDocs({startkey:n,endkey:`${n}`,include_docs:!0})).rows.map((n=>n.doc))}async addNavigationStrategy(n){return logger.debug(`[courseDB] Adding navigation strategy: ${n._id}`),this.remoteDB.put(n).then((()=>{}))}updateNavigationStrategy(n,r){return logger.debug(`[courseDB] Updating navigation strategy: ${n}`),logger.debug(JSON.stringify(r)),Promise.resolve()}async createNavigator(n){try{const r=await this.getAllNavigationStrategies();if(0===r.length)return logger.debug("[courseDB] No strategy documents found, using default Pipeline(Composite(ELO, SRS), [eloDistanceFilter])"),createDefaultPipeline(n,this);const o=new PipelineAssembler,{pipeline:a,generatorStrategies:s,filterStrategies:l,warnings:c}=await o.assemble({strategies:r,user:n,course:this});for(const n of c)logger.warn(`[PipelineAssembler] ${n}`);return a?(logger.debug(`[courseDB] Using assembled pipeline with ${s.length} generator(s) and ${l.length} filter(s)`),a):(logger.debug("[courseDB] Pipeline assembly failed, using default pipeline"),createDefaultPipeline(n,this))}catch(e3){throw logger.error(`[courseDB] Error creating navigator: ${e3}`),e3}}setEphemeralHints(n){this._pendingHints=n}async getWeightedCards(n){const r=await this._getCurrentUser();try{const o=await this.createNavigator(r);return this._pendingHints&&(o.setEphemeralHints(this._pendingHints),this._pendingHints=null),o.getWeightedCards(n)}catch(e3){throw logger.error(`[courseDB] Error getting weighted cards: ${e3}`),e3}}async getCardsCenteredAtELO(n={limit:99,elo:"user"},r){let o;if("user"===n.elo){const n=await this._getCurrentUser();o=-1;try{o=EloToNumber((await n.getCourseRegistrationsDoc()).courses.find((n=>n.courseID===this.id)).elo)}catch{o=1e3}}else if("random"===n.elo){const n=await GET_CACHED(`elo-bounds-${this.id}`,(()=>this.getELOBounds()));o=Math.round(n.low+Math.random()*(n.high-n.low))}else o=n.elo;let a=[],s=4,l=-1,c=0;for(;a.length<n.limit&&c!==l;)a=await this.getCardsByELO(o,s*n.limit),l=c,c=a.length,logger.debug(`Found ${a.length} elo neighbor cards...`),r&&(a=a.filter(r),logger.debug(`Filtered to ${a.length} cards...`)),s*=2;const u=[];for(;u.length<n.limit&&a.length>0;){const n=randIntWeightedTowardZero(a.length),r=a.splice(n,1)[0];u.push(r)}return u.map((n=>({courseID:this.id,cardID:n.cardID,contentSourceType:"course",contentSourceID:this.id,elo:n.elo,status:"new"})))}async searchCards(n){let r;logger.log(`[CourseDB ${this.id}] Searching for: "${n}"`);try{r=await this.db.find({selector:{docType:"DISPLAYABLE_DATA","data.0.data":{$regex:`.*${n}.*`}}}),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 o=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"}});logger.log(`[CourseDB ${this.id}] Retrieved ${o.docs.length} documents for manual filtering`),r={docs:o.docs.filter((r=>{const o=JSON.stringify(r).toLowerCase().includes(n.toLowerCase());return o&&logger.log(`[CourseDB ${this.id}] Manual match found in document: ${r._id}`),o}))}}if(logger.log(`[CourseDB ${this.id}] Found ${r.docs.length} displayable data documents`),0===r.docs.length){const n=await this.db.find({selector:{docType:"DISPLAYABLE_DATA"},limit:5});logger.log(`[CourseDB ${this.id}] Sample displayable data:`,n.docs.map((n=>({id:n._id,docType:n.docType,dataStructure:n.data?Object.keys(n.data):"no data field",dataContent:n.data,fullDoc:n}))))}const o=[];for(const s of r.docs){const n=await this.db.find({selector:{docType:"CARD",id_displayable_data:{$in:[s._id]}}});logger.log(`[CourseDB ${this.id}] Displayable data ${s._id} linked to ${n.docs.length} cards`),o.push(...n.docs)}return logger.log(`[CourseDB ${this.id}] Total cards found: ${o.length}`),o}async find(n){return this.db.find(n)}}}}),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(){__publicField(this,"_id"),__publicField(this,"_db"),__publicField(this,"_cfg"),__publicField(this,"_initComplete",!1),__publicField(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((n=>n.doc))}getContentId(n){return"tag"===n.type?`${this._content_prefix}-${n.courseID}-${n.tagID}`:`${this._content_prefix}-${n.courseID}`}get ready(){return this._initComplete}getConfig(){return this._cfg}},StudentClassroomDB=class _StudentClassroomDB extends ClassroomDBBase{constructor(n,r){super(),__publicField(this,"userMessages"),__publicField(this,"_user"),this._id=n,this._user=r}async init(){const n=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig());try{const n=await this._db.get(CLASSROOM_CONFIG);return this._cfg=n,this.userMessages=this._db.changes({since:"now",live:!0,include_docs:!0}),void(this._initComplete=!0)}catch(e3){throw new Error(`Error in StudentClassroomDB constructor: ${JSON.stringify(e3)}`)}}static async factory(n,r){const o=new _StudentClassroomDB(n,r);return await o.init(),o}setChangeFcn(n){this.userMessages.on("change",n)}async getWeightedCards(n){const r=[],o=(await this._user.getPendingReviews()).filter((n=>"classroom"===n.scheduledFor&&n.schedulingAgentId===this._id));for(const u of o)r.push({cardId:u.cardId,courseId:u.courseId,score:1,reviewID:u._id,provenance:[{strategy:"classroom",strategyName:"Classroom",strategyId:"CLASSROOM",action:"generated",score:1,reason:"Classroom scheduled review"}]});const a=await this._user.getActiveCards(),s=new Set(a.map((n=>n.cardID))),l=hooks.utc(),c=(await this.getAssignedContent()).filter((n=>l.isAfter(hooks.utc(n.activeOn,REVIEW_TIME_FORMAT2))));logger.info(`[StudentClassroomDB] Due content: ${JSON.stringify(c)}`);for(const u of c)if("course"===u.type){const o=new CourseDB(u.courseID,(async()=>this._user)),a=await o.getWeightedCards(n);for(const n of a)s.has(n.cardId)||r.push({...n,provenance:[...n.provenance,{strategy:"classroom",strategyName:"Classroom",strategyId:"CLASSROOM",action:"passed",score:n.score,reason:`Assigned via classroom from course ${u.courseID}`}]})}else if("tag"===u.type){const n=await getTag(u.courseID,u.tagID);for(const o of n.taggedCards)s.has(o)||r.push({cardId:o,courseId:u.courseID,score:1,provenance:[{strategy:"classroom",strategyName:"Classroom",strategyId:"CLASSROOM",action:"generated",score:1,reason:`Classroom assigned tag: ${u.tagID}, new card`}]})}else"card"===u.type&&(s.has(u.cardID)||r.push({cardId:u.cardID,courseId:u.courseID,score:1,provenance:[{strategy:"classroom",strategyName:"Classroom",strategyId:"CLASSROOM",action:"generated",score:1,reason:"Classroom assigned card, new card"}]}));return logger.info(`[StudentClassroomDB] New cards from classroom ${this._cfg.name}: ${r.length} total (reviews + new)`),r.sort(((n,r)=>r.score-n.score)).slice(0,n)}},TeacherClassroomDB=class _TeacherClassroomDB extends ClassroomDBBase{constructor(n){super(),__publicField(this,"_stuDb"),this._id=n}async init(){const n=`classdb-teacher-${this._id}`,r=`classdb-student-${this._id}`;this._db=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+n,createPouchDBConfig()),this._stuDb=new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+r,createPouchDBConfig());try{return this._db.get(CLASSROOM_CONFIG).then((n=>{this._cfg=n,this._initComplete=!0})).then((()=>{}))}catch(e3){throw new Error(`Error in TeacherClassroomDB constructor: ${JSON.stringify(e3)}`)}}static async factory(n){const r=new _TeacherClassroomDB(n);return await r.init(),r}async removeContent(n){const r=this.getContentId(n);try{const n=await this._db.get(r);await this._db.remove(n),this._db.replicate.to(this._stuDb,{doc_ids:[r]})}catch(o){logger.error("Failed to remove content:",r,o)}}async assignContent(n){let r;const o=this.getContentId(n);return r="tag"===n.type?await this._db.put({courseID:n.courseID,tagID:n.tagID,type:"tag",_id:o,assignedBy:n.assignedBy,assignedOn:hooks.utc(),activeOn:n.activeOn||hooks.utc()}):await this._db.put({courseID:n.courseID,type:"course",_id:o,assignedBy:n.assignedBy,assignedOn:hooks.utc(),activeOn:n.activeOn||hooks.utc()}),!!r.ok&&(this._db.replicate.to(this._stuDb,{doc_ids:[o]}),!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(){__publicField(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((n=>n.doc))}async getCourses(){const n=await CourseLookup.allCourseWare();return await Promise.all(n.map((n=>getCredentialledCourseConfig(n._id))))}async removeCourse(n){const r=await CourseLookup.delete(n),o=await getCredentialledCourseConfig(n);o.deleted=!0;const a=await updateCredentialledCourseConfig(n,o);return{ok:r.ok&&a.ok,id:r.id,rev:r.rev}}async getClassrooms(){const n=(await ClassroomLookupDB().allDocs({include_docs:!0})).rows.map((n=>n.doc.uuid));logger.debug(n.join(", "));const r=[];for(let o=0;o<n.length;o++)try{const a=await TeacherClassroomDB.factory(n[o]);r.push(a)}catch(e3){const a=e3;a.error&&"not_found"===a.error&&logger.warn(`db ${n[o]} not found`)}return r.map((n=>({...n.getConfig(),_id:n._id})))}}}}),CourseSyncService,init_CourseSyncService=__esm({"src/impl/couch/CourseSyncService.ts"(){var n;init_pouchdb_setup(),init_couch(),init_logger(),n=class{constructor(){__publicField(this,"entries",new Map)}static getInstance(){return n.instance||(n.instance=new n),n.instance}static resetInstance(){if(n.instance){for(const[,r]of n.instance.entries)r.localDB&&r.localDB.close().catch((()=>{}));n.instance.entries.clear()}n.instance=null}async ensureSynced(n,r){const o=this.entries.get(n);if("ready"===o?.status.state)return;if("disabled"===o?.status.state)return;if(o?.readyPromise)return o.readyPromise;const a={localDB:null,status:{state:"not-started"},readyPromise:null};return this.entries.set(n,a),a.readyPromise=this.performSync(n,a,r),a.readyPromise}getLocalDB(n){const r=this.entries.get(n);return"ready"===r?.status.state&&r.localDB?r.localDB:null}isReady(n){return"ready"===this.entries.get(n)?.status.state}getStatus(n){return this.entries.get(n)?.status??{state:"not-started"}}async performSync(n,r,o){try{if(!o){r.status={state:"checking-config"};if(!(await this.checkLocalSyncEnabled(n)))return r.status={state:"disabled"},r.readyPromise=null,void logger.debug(`[CourseSyncService] Local sync disabled for course ${n}`)}r.status={state:"syncing"};const a=this.localDBName(n),s=new pouchdb_setup_default(a);r.localDB=s;const l=this.getRemoteDB(n),c=Date.now();logger.info(`[CourseSyncService] Starting one-shot replication for course ${n}`);const u=await this.replicate(l,s),d=Date.now()-c;logger.info(`[CourseSyncService] Replication complete for course ${n}: ${u.docs_written} docs in ${d}ms`),r.status={state:"warming-views"};const f=Date.now();await this.warmViewIndices(s);const m=Date.now()-f;logger.info(`[CourseSyncService] View indices warmed for course ${n} in ${m}ms`),r.status={state:"ready",docsReplicated:u.docs_written,syncTimeMs:d,viewWarmTimeMs:m}}catch(e3){const a=e3 instanceof Error?e3.message:String(e3);if(logger.error(`[CourseSyncService] Sync failed for course ${n}: ${a}`),r.status={state:"error",error:a},r.readyPromise=null,r.localDB){try{await r.localDB.destroy()}catch{}r.localDB=null}}}async checkLocalSyncEnabled(n){try{const r=this.getRemoteDB(n),o=await r.get("CourseConfig");return!0===o.localSync?.enabled}catch(e3){return logger.warn(`[CourseSyncService] Could not read CourseConfig for ${n}, assuming local sync disabled: ${e3}`),!1}}replicate(n,r){return new Promise(((o,a)=>{pouchdb_setup_default.replicate(n,r,{}).on("complete",(n=>{o(n)})).on("error",(n=>{a(n)}))}))}async warmViewIndices(n){const r=["elo","getTags"];for(const o of r)try{await n.query(o,{limit:1}),logger.debug(`[CourseSyncService] Warmed view index: ${o}`)}catch(e3){logger.debug(`[CourseSyncService] Could not warm view ${o}: ${e3}`)}}getRemoteDB(n){return getCourseDB2(n)}localDBName(n){return`coursedb-local-${n}`}},__publicField(n,"instance",null),CourseSyncService=n}});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 n=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,r=`${ENV.COUCHDB_SERVER_PROTOCOL}://${n}/_session`;logger.debug(`Attempting session check at: ${r}`);const o=await fetch2(r,{method:"GET",credentials:"include"});if(!o.ok)throw new Error(`Session check failed: ${o.status}`);return await o.json()}catch(n){const r=ENV.COUCHDB_SERVER_URL.endsWith("/")?ENV.COUCHDB_SERVER_URL.slice(0,-1):ENV.COUCHDB_SERVER_URL,o=`${ENV.COUCHDB_SERVER_PROTOCOL}://${r}/_session`;throw logger.error(`Session check error attempting to connect to: ${o} - ${n}`),new Error(`Session check failed connecting to ${o}: ${n}`)}}async function getLoggedInUsername(){const n=await getCurrentSession();if(n.userCtx.name&&""!==n.userCtx.name)return n.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=n=>{logger.info(n)},CouchDBSyncStrategy=class{constructor(){__publicField(this,"syncHandle")}setupRemoteDB(n){return n===GuestUsername||n.startsWith(GuestUsername)?getLocalUserDB(n):this.getUserDB(n)}getWriteDB(n){return n===GuestUsername||n.startsWith(GuestUsername)?getLocalUserDB(n):this.getUserDB(n)}startSync(n,r){n!==r&&(this.syncHandle=pouchdb_setup_default.sync(n,r,{live:!0,retry:!0}))}stopSync(){this.syncHandle&&(this.syncHandle.cancel(),this.syncHandle=void 0)}canCreateAccount(){return!0}canAuthenticate(){return!0}async createAccount(n,r){const o=await this.getCurrentUsername(),a=o.startsWith(GuestUsername);a&&logger.info(`Creating account for funnel user ${o} -> ${n}`);try{const s=await this.getRemoteCouchRootDB().signUp(n,r);if(s.ok){log3(`CREATEACCOUNT: Successfully created account for ${n}`);try{const n=await this.getRemoteCouchRootDB().logOut();log3(`CREATEACCOUNT: logged out: ${n.ok}`)}catch{}const s=await this.getRemoteCouchRootDB().logIn(n,r);if(log3(`CREATEACCOUNT: logged in as new user: ${s.ok}`),s.ok){if(a){logger.info(`Migrating data from funnel account ${o} to ${n}`);const r=await this.migrateFunnelData(o,n);r.success||logger.warn(`Migration failed: ${r.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(e3){return"Document update conflict."===e3.reason?{status:Status.error,error:"This username is taken!"}:(logger.error(`Error on signup: ${JSON.stringify(e3)}`),{status:Status.error,error:e3.message||"Unknown error during account creation"})}}async authenticate(n,r){try{return(await this.getRemoteCouchRootDB().logIn(n,r)).ok?(log3(`Successfully logged in as ${n}`),{ok:!0}):(log3(`Login failed for ${n}`),{ok:!1,error:"Invalid username or password"})}catch(o){return logger.error(`Authentication error for ${n}:`,o),{ok:!1,error:o.message||"Authentication failed"}}}async logout(){try{const n=await this.getRemoteCouchRootDB().logOut();return{ok:n.ok,error:n.ok?void 0:"Logout failed"}}catch(n){return logger.error("Logout error:",n),{ok:!1,error:n.message||"Logout failed"}}}async getCurrentUsername(){logger.log("[funnel] CouchDBSyncStrategy.getCurrentUsername() called");try{const n=await getLoggedInUsername();return logger.log("[funnel] getLoggedInUsername() returned:",n),n}catch(e3){logger.log("[funnel] getLoggedInUsername() failed, calling accomodateGuest()"),logger.log("[funnel] Error was:",e3);const r=accomodateGuest();return logger.log("[funnel] accomodateGuest() returned:",r),r.username}}async migrateFunnelData(n,r){try{logger.info(`Starting data migration from ${n} to ${r}`);const o=getLocalUserDB(n),a=getLocalUserDB(r),s=await o.allDocs({include_docs:!0});logger.info(`Found ${s.rows.length} documents in funnel account`);const l=s.rows.filter((n=>!n.id.startsWith("_design/"))).map((n=>({...n.doc,_rev:void 0})));return l.length>0?(await a.bulkDocs(l),logger.info(`Successfully migrated ${l.length} documents from ${n} to ${r}`)):logger.info("No documents to migrate from funnel account"),{success:!0}}catch(o){return logger.error("Migration failed:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}getRemoteCouchRootDB(){const n=ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"skuilder";try{return new pouchdb_setup_default(n,{skip_setup:!0})}catch(r){throw logger.error("Failed to initialize remote CouchDB connection:",r),new Error(`Failed to initialize CouchDB: ${JSON.stringify(r)}`)}}getUserDB(n){const r=`userdb-${hexEncode(n)}`;log3(`Fetching user database: ${r} (${n})`);return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+r,createPouchDBConfig())}}}}),isBrowser,GUEST_LOCAL_DB,pouchDBincludeCredentialsConfig,REVIEW_TIME_FORMAT2;function createPouchDBConfig(){const n=ENV.COUCHDB_USERNAME&&ENV.COUCHDB_PASSWORD,r="undefined"==typeof window;return n&&r?{fetch(n,r={}){const o=btoa(`${ENV.COUCHDB_USERNAME}:${ENV.COUCHDB_PASSWORD}`),a=new Headers(r.headers||{});a.set("Authorization",`Basic ${o}`);const s={...r,headers:a};return pouchdb_setup_default.fetch(n,s)}}:pouchDBincludeCredentialsConfig}function getCourseDB2(n){return new pouchdb_setup_default(ENV.COUCHDB_SERVER_PROTOCOL+"://"+ENV.COUCHDB_SERVER_URL+"coursedb-"+n,createPouchDBConfig())}function filterAllDocsByPrefix2(n,r,o){const a={startkey:r,endkey:r+"",include_docs:!0};return n.allDocs(a)}function getStartAndEndKeys2(n){return{startkey:n,endkey:n+""}}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_CourseSyncService(),init_CouchDBSyncStrategy(),(isBrowser="undefined"!=typeof window)&&(window.process=process2),new pouchdb_setup_default(GUEST_LOCAL_DB=`userdb-${GuestUsername}`),pouchDBincludeCredentialsConfig={fetch:(n,r)=>(r.credentials="include",pouchdb_setup_default.fetch(n,r))},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 n="sk-guest-uuid";let r;const o=localStorage.getItem(n);if(logger.log("[funnel] Checking localStorage for key:",n),logger.log("[funnel] Existing UUID value:",o),logger.log("[funnel] existingUUID !== null:",null!==o),null!==o)r=!1,logger.log(`[funnel] Returning guest ${o} "logging in".`);else{r=!0,logger.log("[funnel] No existing UUID, generating new one...");const o=function(){if(logger.log("[funnel] Inside generateUUID()"),"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID){const n=crypto.randomUUID();return logger.log("[funnel] Generated UUID using crypto.randomUUID():",n),n}if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){const n=new Uint8Array(16);crypto.getRandomValues(n),n[6]=15&n[6]|64,n[8]=63&n[8]|128;const r=[Array.from(n.slice(0,4)).map((n=>n.toString(16).padStart(2,"0"))).join(""),Array.from(n.slice(4,6)).map((n=>n.toString(16).padStart(2,"0"))).join(""),Array.from(n.slice(6,8)).map((n=>n.toString(16).padStart(2,"0"))).join(""),Array.from(n.slice(8,10)).map((n=>n.toString(16).padStart(2,"0"))).join(""),Array.from(n.slice(10,16)).map((n=>n.toString(16).padStart(2,"0"))).join("")].join("-");return logger.log("[funnel] Generated UUID using crypto.getRandomValues():",r),r}logger.warn("[funnel] crypto API not available, using timestamp-based UUID (NOT SECURE)");let n=(new Date).getTime();"undefined"!=typeof performance&&"function"==typeof performance.now&&(n+=performance.now());const r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(r=>{const o=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"===r?o:3&o|8).toString(16)}));return logger.log("[funnel] Generated UUID (fallback):",r),r}();logger.log("[funnel] Generated UUID:",o),logger.log("[funnel] UUID length:",o.length);try{localStorage.setItem(n,o),logger.log("[funnel] Successfully stored UUID in localStorage");const r=localStorage.getItem(n);logger.log("[funnel] Verification read from localStorage:",r)}catch(e3){logger.error("[funnel] ERROR storing UUID:",e3)}logger.log(`[funnel] Accommodating a new guest with account: ${o}`)}const a=localStorage.getItem(n),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:r}}async function getOrCreateClassroomRegistrationsDoc(n){let r;try{r=await getLocalUserDB(n).get(userClassroomsDoc)}catch(e3){const a=e3;if(404!==a.status){const n={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (standalone function):",n),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await getLocalUserDB(n).put({_id:userClassroomsDoc,registrations:[]}),r=await getOrCreateClassroomRegistrationsDoc(n)}return r}async function getOrCreateCourseRegistrationsDoc(n){let r;try{r=await getLocalUserDB(n).get(userCoursesDoc)}catch(e3){if(404!==e3.status)throw new Error(`Unexpected error ${JSON.stringify(e3)} in getOrCreateCourseRegistrationDoc...`);await getLocalUserDB(n).put({_id:userCoursesDoc,courses:[],studyWeight:{}}),r=await getOrCreateCourseRegistrationsDoc(n)}return r}async function updateUserElo(n,r,o){const a=await getOrCreateCourseRegistrationsDoc(n);return a.courses.find((n=>n.courseID===r)).elo=o,getLocalUserDB(n).put(a)}async function registerUserForClassroom(n,r,o){return log4(`Registering user: ${n} in course: ${r}`),getOrCreateClassroomRegistrationsDoc(n).then((a=>{const s={classID:r,registeredAs:o};return 0===a.registrations.filter((n=>n.classID===s.classID&&n.registeredAs===s.registeredAs)).length?a.registrations.push(s):log4(`User ${n} is already registered for class ${r}`),getLocalUserDB(n).put(a)}))}async function dropUserFromClassroom(n,r){return getOrCreateClassroomRegistrationsDoc(n).then((o=>{let a=-1;for(let n=0;n<o.registrations.length;n++)o.registrations[n].classID===r&&(a=n);return-1!==a&&o.registrations.splice(a,1),getLocalUserDB(n).put(o)}))}async function getUserClassrooms(n){return getOrCreateClassroomRegistrationsDoc(n)}var init_BaseUserDB=__esm({"src/impl/common/BaseUserDB.ts"(){var n;init_core(),init_util(),init_types_legacy(),init_logger(),init_userDBHelpers(),init_updateQueue(),init_user_course_relDB(),init_couch(),log4=n=>{logger.info(n)},n=class{constructor(r,o){__publicField(this,"_username"),__publicField(this,"syncStrategy"),__publicField(this,"localDB"),__publicField(this,"remoteDB"),__publicField(this,"writeDB"),__publicField(this,"updateQueue"),n._initialized=!1,this._username=r,this.syncStrategy=o,this.setDBandQ()}static Dummy(r){return new n("Me",r)}getUsername(){return this._username}isLoggedIn(){return!this._username.startsWith(GuestUsername)}remote(){return this.remoteDB}async createAccount(n,r){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 o=await this.syncStrategy.createAccount(n,r);if(o.status===Status.ok){log4(`Account created successfully, updating username to ${n}`),this._username=n;try{localStorage.removeItem("sk-guest-uuid")}catch(e3){logger.warn("localStorage not available (Node.js environment):",e3)}await this.init()}return{status:o.status,error:o.error||""}}async login(n,r){if(!this.syncStrategy.canAuthenticate())throw new Error("Authentication not supported by current sync strategy");if(!this._username.startsWith(GuestUsername)&&this._username!=n){if(this._username!=n)throw new Error(`Cannot change accounts while logged in.\n Log out of account ${this.getUsername()} before logging in as ${n}.`);logger.warn(`User ${this._username} is already logged in, but executing login again.`)}const o=await this.syncStrategy.authenticate(n,r);if(o.ok){log4(`Logged in as ${n}`),this._username=n;try{localStorage.removeItem("sk-guest-uuid")}catch(e3){logger.warn("localStorage not available (Node.js environment):",e3)}await this.init()}return o}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 r=getLocalUserDB(this._username),o=(await r.allDocs({include_docs:!1})).rows.filter((r=>{const o=r.id;return o.startsWith(DocTypePrefixes.CARDRECORD)||o.startsWith(DocTypePrefixes.SCHEDULED_CARD)||o.startsWith(DocTypePrefixes.STRATEGY_STATE)||o.startsWith(DocTypePrefixes.USER_OUTCOME)||o.startsWith(DocTypePrefixes.STRATEGY_LEARNING_STATE)||o===n.DOC_IDS.COURSE_REGISTRATIONS||o===n.DOC_IDS.CLASSROOM_REGISTRATIONS||o===n.DOC_IDS.CONFIG})).map((n=>({_id:n.id,_rev:n.value.rev,_deleted:!0})));return o.length>0&&await r.bulkDocs(o),await this.init(),{status:Status.ok}}catch(r){return logger.error("Failed to reset user data:",r),{status:Status.error,error:r instanceof Error?r.message:"Unknown error during reset"}}}async logout(){if(!this.syncStrategy.canAuthenticate())return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),{ok:!0};const n=await this.syncStrategy.logout();return this._username=await this.syncStrategy.getCurrentUsername(),await this.init(),n}async get(n){return this.localDB.get(n)}update(n,r){return this.updateQueue.update(n,r)}async getCourseRegistrationsDoc(){let r;logger.debug(`Fetching courseRegistrations for ${this.getUsername()}`);try{return await this.localDB.get(n.DOC_IDS.COURSE_REGISTRATIONS)}catch(e3){if(404!==e3.status)throw new Error(`Unexpected error ${JSON.stringify(e3)} in getOrCreateCourseRegistrationDoc...`);await this.localDB.put({_id:n.DOC_IDS.COURSE_REGISTRATIONS,courses:[],studyWeight:{}}),r=await this.getCourseRegistrationsDoc()}return r}async getActiveCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((n=>void 0===n.status||"active"===n.status))}async getActiveCards(){const n=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD);return(await this.remoteDB.allDocs({startkey:n.startkey,endkey:n.endkey,include_docs:!0})).rows.map((n=>({courseID:n.doc.courseId,cardID:n.doc.cardId})))}async getActivityRecords(){try{const r=await this.getHistory(),o=[];if(!Array.isArray(r))return logger.error("getHistory did not return an array:",r),o;let a=0;for(let s=0;s<r.length;s++)try{r[s]&&Array.isArray(r[s].records)&&r[s].records.forEach((n=>{try{if(!n.timeStamp)return;let r;if("object"==typeof n.timeStamp)if("function"==typeof n.timeStamp.toDate)r=n.timeStamp.toISOString();else{if(!(n.timeStamp instanceof Date))return void(a<3&&(logger.warn("Unknown timestamp object type:",n.timeStamp),a++));r=n.timeStamp.toISOString()}else if("string"==typeof n.timeStamp){const o=new Date(n.timeStamp);if(isNaN(o.getTime()))return;r=n.timeStamp}else{if("number"!=typeof n.timeStamp)return;r=new Date(n.timeStamp).toISOString()}o.push({timeStamp:r,courseID:n.courseID||"unknown",cardID:n.cardID||"unknown",timeSpent:n.timeSpent||0,type:"card_view"})}catch(r){}}))}catch(n){logger.error("Error processing history item:",n)}return logger.debug(`Found ${o.length} activity records`),o}catch(n){return logger.error("Error in getActivityRecords:",n),[]}}async getReviewstoDate(n,r){const o=getStartAndEndKeys(DocTypePrefixes.SCHEDULED_CARD),a=await this.remoteDB.allDocs({startkey:o.startkey,endkey:o.endkey,include_docs:!0});return log4(`Fetching ${this._username}'s scheduled reviews${r?` for course ${r}`:""}.`),a.rows.filter((o=>{if(o.id.startsWith(DocTypePrefixes.SCHEDULED_CARD)){const a=hooks.utc(o.id.substr(DocTypePrefixes.SCHEDULED_CARD.length),REVIEW_TIME_FORMAT);if(n.isAfter(a)&&(void 0===r||o.doc.courseId===r))return!0}})).map((n=>n.doc))}async getReviewsForcast(n){const r=hooks.utc().add(n,"days");return this.getReviewstoDate(r)}async getPendingReviews(n){const r=hooks.utc();return this.getReviewstoDate(r,n)}async getScheduledReviewCount(n){return(await this.getPendingReviews(n)).length}async getRegisteredCourses(){return(await this.getCourseRegistrationsDoc()).courses.filter((n=>!n.status||"active"===n.status||"maintenance-mode"===n.status))}async getCourseRegDoc(n){const r=(await this.getCourseRegistrationsDoc()).courses.find((r=>r.courseID===n));if(r)return r;throw new Error(`Course registration not found for course ID: ${n}`)}async registerForCourse(n,r=!1){return this.getCourseRegistrationsDoc().then((o=>{const a=r?"preview":"active";logger.debug(`Registering for ${n} with status: ${a}`);const s={status:a,courseID:n,user:!0,admin:!1,moderator:!1,elo:{global:{score:1e3,count:0},tags:{},misc:{}}};return 0===o.courses.filter((n=>n.courseID===s.courseID)).length?(log4("It's a new course registration!"),o.courses.push(s),o.studyWeight[n]=1):o.courses.forEach((r=>{log4("Found the previously registered course!"),r.courseID===n&&(r.status=a)})),this.localDB.put(o)})).catch((n=>{throw log4(`Registration failed because of: ${JSON.stringify(n)}`),n}))}async dropCourse(n,r="dropped"){return this.getCourseRegistrationsDoc().then((o=>{let a=-1;for(let r=0;r<o.courses.length;r++)o.courses[r].courseID===n&&(a=r);if(-1===a)throw new Error(`User ${this.getUsername()} is not currently registered for course ${n}`);return delete o.studyWeight[n],o.courses[a].status=r,this.localDB.put(o)}))}async getCourseInterface(n){return new UsrCrsData(this,n)}async getUserEditableCourses(){let n=[];const r=await this.getCourseRegistrationsDoc();n=n.concat(r.courses.map((n=>n.courseID)));return await Promise.all(n.map((async n=>await getCredentialledCourseConfig(n))))}async getConfig(){const r={_id:n.DOC_IDS.CONFIG,darkMode:!1,likesConfetti:!1,sessionTimeLimit:5};try{const r=await this.localDB.get(n.DOC_IDS.CONFIG);return logger.debug("Raw config from DB:",r),r}catch(e3){const o=e3;if(o.name&&"not_found"===o.name)return await this.localDB.put(r),this.getConfig();throw logger.error("Error setting user default config:",e3),new Error(`Error returning the user's configuration: ${JSON.stringify(e3)}`)}}async setConfig(n){logger.debug(`Setting Config items ${JSON.stringify(n)}`);const r=await this.getConfig(),o=await this.localDB.put({...r,...n});o.ok?logger.debug(`Config items set: ${JSON.stringify(n)}`):logger.error(`Error setting config items: ${JSON.stringify(o)}`)}static async instance(r,o){if(o)return n._instance=new n(o,r),await n._instance.init(),n._instance;if(n._instance&&n._initialized)return n._instance;if(n._instance)return new Promise((r=>{!function o(){if(n._initialized)return r(n._instance);setTimeout(o,50)}()}));{const o=await r.getCurrentUsername();return n._instance=new n(o,r),await n._instance.init(),n._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(){n._initialized=!1,"admin"!==this._username?(this.setDBandQ(),this.syncStrategy.startSync(this.localDB,this.remoteDB),this.applyDesignDocs().catch((n=>{log4(`Error in applyDesignDocs background task: ${n}`),n&&"object"==typeof n&&log4(`Full error details in applyDesignDocs: ${JSON.stringify(n)}`)})),this.deduplicateReviews().catch((n=>{log4(`Error in deduplicateReviews background task: ${n}`),n&&"object"==typeof n&&log4(`Full error details in background task: ${JSON.stringify(n)}`)})),n._initialized=!0):n._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 ${n.designDocs.length} design docs`);for(const o of n.designDocs){log4(`Applying design doc: ${o._id}`);try{try{const n=await this.remoteDB.get(o._id);await this.remoteDB.put({...o,_rev:n._rev})}catch(e3){if(!(e3 instanceof Error&&"not_found"===e3.name))throw e3;await this.remoteDB.put(o)}}catch(r){if(!r.name||"conflict"!==r.name)throw logger.error(`Failed to apply design doc ${o._id}:`,r),r;logger.warn(`Design doc ${o._id} update conflict - will retry`),await new Promise((n=>setTimeout(n,1e3))),await this.applyDesignDoc(o)}}}else log4("Skipping design docs for admin user")}async applyDesignDoc(n,r=3){try{const r=await this.remoteDB.get(n._id);await this.remoteDB.put({...n,_rev:r._rev})}catch(e3){if(e3 instanceof Error&&"conflict"===e3.name&&r>0)return await new Promise((n=>setTimeout(n,1e3))),this.applyDesignDoc(n,r-1);throw e3}}async putCardRecord(n){const r=getCardHistoryID(n.courseID,n.cardID);n.timeStamp=hooks.utc(n.timeStamp).toString();try{const o=await this.update(r,(function(r){return r.records.push(n),r.bestInterval=r.bestInterval||0,r.lapses=r.lapses||0,r.streak=r.streak||0,r}));return o.records=o.records.map((n=>{const r={...n};return r.timeStamp=hooks.utc(n.timeStamp),r})),o}catch(e3){const s=e3;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 o={_id:r,cardID:n.cardID,courseID:n.courseID,records:[n],lapses:0,streak:0,bestInterval:0},a=await this.writeDB.put(o);return{...o,_rev:a.rev}}catch(o){throw new Error(`Failed to create CardHistory for ${r}. Reason: ${o}`)}}}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 n={},r=[];log4(`Attempting to query remoteDB for reviewCards/reviewCards. Database: ${this.remoteDB.name||"unknown"}`);const o=await this.remoteDB.query("reviewCards/reviewCards");if(log4(`Found ${o.rows.length} scheduled reviews to process`),o.rows.forEach((o=>{const a=o.value,s=o.key;n[a]?(log4(`Found duplicate scheduled review for card: ${a}`),log4(`Marking earlier review ${n[a]} for deletion, keeping ${s}`),r.push(n[a]),n[a]=s):n[a]=s})),r.length>0){log4(`Removing ${r.length} duplicate reviews...`);const n=r.map((async n=>{try{const r=await this.remoteDB.get(n);await this.writeDB.remove(r),log4(`Successfully removed duplicate review: ${n}`)}catch(r){log4(`Failed to remove duplicate review ${n}: ${r}`)}}));await Promise.all(n),log4(`Deduplication complete. Processed ${r.length} duplicates`)}else log4("No duplicate reviews found")}catch(n){log4(`Error during review deduplication: ${n}`),n&&"object"==typeof n&&"status"in n&&404===n.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")),n&&"object"==typeof n&&log4(`Full error details: ${JSON.stringify(n)}`)}}async getSeenCards(n){let r=DocTypePrefixes.CARDRECORD;n&&(r+=n);const o=await filterAllDocsByPrefix(this.localDB,r,{include_docs:!1}),a=[];return o.rows.forEach((n=>{n.id.startsWith(DocTypePrefixes.CARDRECORD)&&a.push(n.id.substr(DocTypePrefixes.CARDRECORD.length))})),a}async getHistory(){return(await filterAllDocsByPrefix(this.remoteDB,DocTypePrefixes.CARDRECORD,{include_docs:!0,attachments:!1})).rows.map((n=>n.doc))}async updateCourseSettings(n,r){this.getCourseRegistrationsDoc().then((o=>{const a=o.courses.find((r=>r.courseID===n));return a&&(null!==a.settings&&void 0!==a.settings||(a.settings={}),r.forEach((n=>{a.settings[n.key]=n.value}))),this.localDB.put(o)}))}async getCourseSettings(n){const r=(await this.getCourseRegistrationsDoc()).courses.find((r=>r.courseID===n));if(r)return r.settings;throw new Error(`getCourseSettings Failed:\n User is not registered for course ${n}`)}async getOrCreateClassroomRegistrationsDoc(){let r;try{r=await this.remoteDB.get(n.DOC_IDS.CLASSROOM_REGISTRATIONS)}catch(e3){const a=e3;if(404!==a.status){const n={name:a.name,status:a.status,message:a.message,reason:a.reason,error:a.error};throw logger.error("Database error in getOrCreateClassroomRegistrationsDoc (private method):",n),new Error(`Database error accessing classroom registrations: ${a.message||a.name||"Unknown error"} (status: ${a.status})`)}await this.writeDB.put({_id:n.DOC_IDS.CLASSROOM_REGISTRATIONS,registrations:[]}),r=await this.getOrCreateClassroomRegistrationsDoc()}return logger.debug(`Returning classroom registrations doc: ${JSON.stringify(r)}`),r}async getActiveClasses(){try{return(await this.getOrCreateClassroomRegistrationsDoc()).registrations.filter((n=>"student"===n.registeredAs)).map((n=>n.classID))}catch(n){return logger.warn("Failed to load classroom registrations, continuing without classroom data:",n),[]}}async scheduleCardReview(n){return scheduleCardReviewLocal(this.writeDB,n)}async removeScheduledCardReview(n){return removeScheduledCardReviewLocal(this.writeDB,n)}async registerForClassroom(n,r){return registerUserForClassroom(this._username,n,r)}async dropFromClassroom(n){return dropUserFromClassroom(this._username,n)}async getUserClassrooms(){return getUserClassrooms(this._username)}async updateUserElo(n,r){return updateUserElo(this._username,n,r)}async getStrategyState(n,r){const o=buildStrategyStateId(n,r);try{return(await this.localDB.get(o)).data}catch(e3){if(404===e3.status)return null;throw e3}}async putStrategyState(n,r,o){const a=buildStrategyStateId(n,r);let s;try{s=(await this.localDB.get(a))._rev}catch(e3){if(404!==e3.status)throw e3}const l={_id:a,_rev:s,docType:"STRATEGY_STATE",courseId:n,strategyKey:r,data:o,updatedAt:(new Date).toISOString()};await this.localDB.put(l)}async putUserOutcome(n){try{await this.localDB.put(n)}catch(r){if(409!==r.status)throw r;{const r=await this.localDB.get(n._id);n._rev=r._rev,await this.localDB.put(n)}}}async deleteStrategyState(n,r){const o=buildStrategyStateId(n,r);try{const n=await this.localDB.get(o);await this.localDB.remove(n)}catch(e3){if(404===e3.status)return;throw e3}}},__publicField(n,"_instance"),__publicField(n,"_initialized",!1),__publicField(n,"DOC_IDS",{CONFIG:"CONFIG",COURSE_REGISTRATIONS:"CourseRegistrations",CLASSROOM_REGISTRATIONS:"ClassroomRegistrations"}),__publicField(n,"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=n,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_CourseSyncService(),init_common(),init_CouchDBSyncStrategy(),CouchDataLayerProvider=class{constructor(n){__publicField(this,"initialized",!1),__publicField(this,"userDB"),__publicField(this,"currentUsername",""),__publicField(this,"_courseIDs",[]),n&&(this._courseIDs=n)}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 n=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(n)}else{const n=new CouchDBSyncStrategy;this.userDB=await BaseUser.instance(n),this.currentUsername=this.userDB.getUsername(),logger.debug(`Current username: ${this.currentUsername}`)}this.initialized=!0}async teardown(){this.initialized=!1}getUserDB(){return this.userDB}getCourseDB(n){const r=CourseSyncService.getInstance().getLocalDB(n);return new CourseDB(n,(async()=>this.getUserDB()),r??void 0)}async ensureCourseSynced(n,r){return CourseSyncService.getInstance().ensureSynced(n,r)}getCoursesDB(){return new CoursesDB(this._courseIDs)}async getClassroomDB(n,r){return"student"===r?await StudentClassroomDB.factory(n,this.getUserDB()):await TeacherClassroomDB.factory(n)}getAdminDB(){return new AdminDB}async createUserReaderForUser(n){const r=await getLoggedInUsername();if("admin"!==r)throw new Error("Unauthorized: Only admin users can access other users' data");logger.info(`Admin user '${r}' requesting UserDBReader for '${n}'`);const o=new CouchDBSyncStrategy;return await BaseUser.instance(o,n)}isReadOnly(){return!1}}}}),StaticDataLayerProvider_exports={},StaticDataLayerProvider,NOT_SET,ENV,dataLayerInstance;async function initializeDataLayer(n){if(dataLayerInstance)return logger.warn("Data layer already initialized. Returning existing instance."),dataLayerInstance;await initializeNavigatorRegistry(),n.options.localStoragePrefix&&(ENV.LOCAL_STORAGE_PREFIX=n.options.localStoragePrefix);{if(!n.options.COUCHDB_SERVER_URL||!n.options.COUCHDB_SERVER_PROTOCOL)throw new Error("Missing CouchDB server URL or protocol");if(ENV.COUCHDB_SERVER_PROTOCOL=n.options.COUCHDB_SERVER_PROTOCOL,ENV.COUCHDB_SERVER_URL=n.options.COUCHDB_SERVER_URL,ENV.COUCHDB_USERNAME=n.options.COUCHDB_USERNAME,ENV.COUCHDB_PASSWORD=n.options.COUCHDB_PASSWORD,n.options.COUCHDB_PASSWORD&&n.options.COUCHDB_USERNAME&&"undefined"!=typeof window){const{CouchDBSyncStrategy:r}=await Promise.resolve().then((()=>(init_CouchDBSyncStrategy(),CouchDBSyncStrategy_exports))),o=new r,a=await BaseUser.instance(o,n.options.COUCHDB_USERNAME),s=await a.login(n.options.COUCHDB_USERNAME,n.options.COUCHDB_PASSWORD);s.ok?logger.info(`Successfully authenticated as ${n.options.COUCHDB_USERNAME}`):logger.warn(`Authentication failed: ${s.error}`)}const{CouchDataLayerProvider:r}=await Promise.resolve().then((()=>(init_PouchDataLayerProvider(),PouchDataLayerProvider_exports)));dataLayerInstance=new r(n.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(),init_navigators(),ENV={COUCHDB_SERVER_PROTOCOL:NOT_SET="NOT_SET",COUCHDB_SERVER_URL:NOT_SET,LOCAL_STORAGE_PREFIX:""},dataLayerInstance=null}}),TagFilteredContentSource,init_TagFilteredContentSource=__esm({"src/study/TagFilteredContentSource.ts"(){init_courseDB(),init_logger(),TagFilteredContentSource=class{constructor(n,r,o){__publicField(this,"courseId"),__publicField(this,"filter"),__publicField(this,"user"),__publicField(this,"resolvedCardIds",null),this.courseId=n,this.filter=r,this.user=o,logger.info(`[TagFilteredContentSource] Created for course "${n}" with filter:`,JSON.stringify(r))}async resolveFilteredCardIds(){if(null!==this.resolvedCardIds)return this.resolvedCardIds;const n=new Set;if(this.filter.include.length>0)for(const s of this.filter.include)try{(await getTag(this.courseId,s)).taggedCards.forEach((r=>n.add(r)))}catch(a){logger.warn(`[TagFilteredContentSource] Could not resolve tag "${s}" for inclusion:`,a)}if(0===n.size&&this.filter.include.length>0)return logger.warn(`[TagFilteredContentSource] No cards found for include tags: ${this.filter.include.join(", ")}`),this.resolvedCardIds=new Set,this.resolvedCardIds;const r=new Set;if(this.filter.exclude.length>0)for(const s of this.filter.exclude)try{(await getTag(this.courseId,s)).taggedCards.forEach((n=>r.add(n)))}catch(a){logger.warn(`[TagFilteredContentSource] Could not resolve tag "${s}" for exclusion:`,a)}const o=new Set;for(const s of n)r.has(s)||o.add(s);return logger.info(`[TagFilteredContentSource] Resolved ${o.size} cards (included: ${n.size}, excluded: ${r.size})`),this.resolvedCardIds=o,o}async getWeightedCards(n){if(!hasActiveFilter(this.filter))return logger.warn("[TagFilteredContentSource] getWeightedCards called with no active filter"),[];const r=await this.resolveFilteredCardIds(),o=await this.user.getActiveCards(),a=new Set(o.map((n=>n.cardID))),s=[];for(const u of r)if(a.has(u)||s.push({cardId:u,courseId:this.courseId,score:1,provenance:[{strategy:"tagFilter",strategyName:"Tag Filter",strategyId:"TAG_FILTER",action:"generated",score:1,reason:`Tag-filtered new card (tags: ${this.filter.include.join(", ")})`}]}),s.length>=n)break;logger.info(`[TagFilteredContentSource] Found ${s.length} new cards matching filter`);const l=await this.user.getPendingReviews(this.courseId),c=l.filter((n=>r.has(n.cardId)));logger.info(`[TagFilteredContentSource] Found ${c.length} pending reviews matching filter (of ${l.length} total)`);return[...c.map((n=>({cardId:n.cardId,courseId:n.courseId,score:1,reviewID:n._id,provenance:[{strategy:"tagFilter",strategyName:"Tag Filter",strategyId:"TAG_FILTER",action:"generated",score:1,reason:`Tag-filtered review (tags: ${this.filter.include.join(", ")})`}]}))),...s].slice(0,n)}clearCache(){this.resolvedCardIds=null}getCourseId(){return this.courseId}getFilter(){return this.filter}}}});function isReview(n){return"review"===n.status||"failed-review"===n.status||"reviewID"in n}async function getStudySource(n,r){return"classroom"===n.type?await StudentClassroomDB.factory(n.id,r):hasActiveFilter(n.tagFilter)?new TagFilteredContentSource(n.id,n.tagFilter,r):getDataLayer().getCourseDB(n.id)}var init_contentSource=__esm({"src/core/interfaces/contentSource.ts"(){init_factory(),init_classroomDB2(),init_TagFilteredContentSource()}}),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"(){}});function buildStrategyStateId(n,r){return`STRATEGY_STATE::${n}::${r}`}var init_strategyState=__esm({"src/core/types/strategyState.ts"(){}}),init_userOutcome=__esm({"src/core/types/userOutcome.ts"(){}});async function importParsedCards(n,r,o){const a=[];for(const l of n)try{const n=await processCard(l,r,o);a.push(n)}catch(s){logger.error("Error processing card:",s);let n=l.markdown;l.tags&&l.tags.length>0&&(n+=`\ntags: ${l.tags.join(", ")}`),void 0!==l.elo&&(n+=`\nelo: ${l.elo}`),a.push({originalText:n,status:"error",message:`Error processing card: ${s instanceof Error?s.message:"Unknown error"}`})}return a}async function processCard(n,r,o){const{markdown:a,tags:s,elo:l}=n;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 n=await r.addNote(o.courseCode,o.dataShape,u,o.userName,s,void 0,l?{global:{score:l,count:1},tags:d,misc:{}}:void 0);return n.status===Status.ok?{originalText:c,status:"success",message:"Card added successfully.",cardId:n.id?n.id:"(unknown)"}:{originalText:c,status:"error",message:n.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(n){return n.dataShape?n.courseCode?n.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_types3=__esm({"src/core/bulkImport/types.ts"(){}}),init_bulkImport=__esm({"src/core/bulkImport/index.ts"(){init_cardProcessor(),init_types3()}}),userDBDebugAPI;function getUserDB(){try{return getDataLayer().getUserDB()}catch{return logger.info("[UserDB Debug] Data layer not initialized yet."),null}}function getRawDB(){const n=getUserDB();if(!n)return null;const r=n.localDB;return r||(logger.info("[UserDB Debug] Unable to access raw database instance."),null)}function formatTimestamp(n){return new Date(n).toLocaleString()}function mountUserDBDebugger(){if("undefined"==typeof window)return;const n=window;n.skuilder=n.skuilder||{},n.skuilder.userdb=userDBDebugAPI}var init_UserDBDebugger=__esm({"src/core/UserDBDebugger.ts"(){init_logger(),init_factory(),init_types_legacy(),init_userDBHelpers(),userDBDebugAPI={showUser(){const n=getUserDB();n&&(console.group("👤 User Information"),logger.info(`Username: ${n.getUsername()}`),logger.info("Logged in: "+(n.isLoggedIn()?"Yes ✅":"No (Guest) ❌")),n.getConfig().then((n=>{logger.info("Configuration:"),logger.info(JSON.stringify(n,null,2))})).catch((n=>{logger.info(`Error loading config: ${n.message}`)})).finally((()=>{console.groupEnd()})))},async showScheduledReviews(n){const r=getUserDB();if(r)try{const o=await r.getPendingReviews(n);if(console.group("📅 Scheduled Reviews"+(n?` (${n})`:"")),logger.info(`Total: ${o.length}`),o.length>0){const n=new Map;for(const r of o)n.has(r.courseId)||n.set(r.courseId,[]),n.get(r.courseId).push(r);for(const[r,o]of n){console.group(`Course: ${r} (${o.length} reviews)`);const n=o.sort(((n,r)=>{const o="string"==typeof n.reviewTime?n.reviewTime:n.reviewTime.toISOString(),a="string"==typeof r.reviewTime?r.reviewTime:r.reviewTime.toISOString();return new Date(o).getTime()-new Date(a).getTime()}));for(const r of n.slice(0,10)){const n="string"==typeof r.reviewTime?r.reviewTime:r.reviewTime.toISOString();logger.info(` ${r.cardId.slice(0,12)}... @ ${formatTimestamp(n)} [${r.scheduledFor}/${r.schedulingAgentId}]`)}n.length>10&&logger.info(` ... and ${n.length-10} more`),console.groupEnd()}}console.groupEnd()}catch(o){logger.info(`Error loading scheduled reviews: ${o.message}`)}},async showCourseRegistrations(){const n=getUserDB();if(n)try{const r=await n.getActiveCourses();console.group("📚 Course Registrations"),logger.info(`Total: ${r.length}`),r.length>0&&console.table(r.map((n=>({courseId:n.courseID,status:n.status||"active",elo:"number"==typeof n.elo?n.elo.toFixed(0):n.elo?.global?.score?.toFixed(0)||"N/A"})))),console.groupEnd()}catch(r){logger.info(`Error loading course registrations: ${r.message}`)}},async showCardHistory(n){const r=getRawDB();if(r)try{const o=(await filterAllDocsByPrefix(r,DocTypePrefixes.CARDRECORD)).rows.filter((r=>r.doc&&r.doc.cardID===n)).map((n=>n.doc));if(console.group(`🎴 Card History: ${n}`),logger.info(`Total interactions: ${o.length}`),o.length>0){const n=o.sort(((n,r)=>new Date(r.timestamp).getTime()-new Date(n.timestamp).getTime()));console.table(n.slice(0,20).map((n=>({time:formatTimestamp(n.timestamp),outcome:n.outcome||"N/A",duration:n.duration?`${(n.duration/1e3).toFixed(1)}s`:"N/A",courseId:n.courseId})))),n.length>20&&logger.info(`... and ${n.length-20} more interactions`)}console.groupEnd()}catch(o){logger.info(`Error loading card history: ${o.message}`)}},async queryByType(n,r=50){const o=getRawDB();if(o)try{const a=DocTypePrefixes[DocType[n]];if(!a)return void logger.info(`Unknown document type: ${n}`);const s=await filterAllDocsByPrefix(o,a);if(console.group(`📄 Documents: ${n}`),logger.info(`Total: ${s.rows.length}`),logger.info(`Prefix: ${a}`),s.rows.length>0){logger.info("Sample documents:");const n=s.rows.slice(0,Math.min(r,s.rows.length));for(const r of n)logger.info(`\n${r.id}:`),logger.info(JSON.stringify(r.doc,null,2));s.rows.length>r&&logger.info(`\n... and ${s.rows.length-r} more documents`)}console.groupEnd()}catch(a){logger.info(`Error querying documents: ${a.message}`)}},async dbInfo(){const n=getRawDB();if(n)try{const r=await n.info();console.group("ℹ️ Database Information"),logger.info(`Database name: ${r.db_name}`),logger.info(`Total documents: ${r.doc_count}`),logger.info(`Update sequence: ${r.update_seq}`),"disk_size"in r&&logger.info(`Disk size: ${(r.disk_size||0)/1024/1024} MB`),logger.info("\nDocument counts by type:");const o=await n.allDocs({include_docs:!1}),a=new Map;for(const n of o.rows){let r="other";for(const[o,a]of Object.entries(DocTypePrefixes))if(n.id.startsWith(a)){r=o;break}a.set(r,(a.get(r)||0)+1)}console.table(Array.from(a.entries()).sort(((n,r)=>r[1]-n[1])).map((([n,r])=>({type:n,count:r})))),console.groupEnd()}catch(r){logger.info(`Error getting database info: ${r.message}`)}},listDocTypes(){console.group("📋 Available Document Types"),logger.info("Use with queryByType(type):");for(const[n,r]of Object.entries(DocTypePrefixes))logger.info(` ${n.padEnd(30)} → prefix: "${r}"`);console.groupEnd()},async export(n=!1){const r=getRawDB(),o=getUserDB();if(!r||!o)return"{}";try{const a={username:o.getUsername(),loggedIn:o.isLoggedIn(),timestamp:(new Date).toISOString()};if(n){const n=await r.allDocs({include_docs:!0});a.documents=n.rows.map((n=>({id:n.id,doc:n.doc}))),a.totalDocs=n.rows.length}else{const n=await r.allDocs({include_docs:!1});a.totalDocs=n.rows.length;const o=new Map;for(const r of n.rows){let n="other";for(const[o,a]of Object.entries(DocTypePrefixes))if(r.id.startsWith(a)){n=o;break}o.set(n,(o.get(n)||0)+1)}a.docCounts=Object.fromEntries(o)}const s=JSON.stringify(a,null,2);return logger.info("[UserDB Debug] Database info exported. Copy the returned string or use:"),logger.info(" copy(window.skuilder.userdb.export())"),n||logger.info(" For full content export: window.skuilder.userdb.export(true)"),s}catch(a){return logger.info(`Error exporting database: ${a.message}`),"{}"}},async raw(n){const r=getRawDB();if(r)try{const o=await n(r);logger.info("[UserDB Debug] Query result:"),logger.info(o)}catch(o){logger.info(`[UserDB Debug] Query error: ${o.message}`)}},help(){logger.info("\n🔧 UserDB Debug API\n\nCommands:\n .showUser() Show current user info and config\n .showScheduledReviews(courseId?) Show scheduled reviews (optionally filter by course)\n .showCourseRegistrations() Show all course registrations\n .showCardHistory(cardId) Show interaction history for a card\n .queryByType(docType, limit?) Query documents by type (e.g., 'SCHEDULED_CARD')\n .listDocTypes() List all available document types\n .dbInfo() Show database info and statistics\n .export(includeContent?) Export database info (true = include all docs)\n .raw(queryFn) Execute raw PouchDB query\n .help() Show this help message\n\nExamples:\n window.skuilder.userdb.showUser()\n window.skuilder.userdb.showScheduledReviews('course123')\n window.skuilder.userdb.queryByType('SCHEDULED_CARD', 10)\n window.skuilder.userdb.raw(db => db.allDocs({ limit: 5 }))\n")}},mountUserDBDebugger()}}),init_core=__esm({"src/core/index.ts"(){init_interfaces(),init_types_legacy(),init_user(),init_strategyState(),init_userOutcome(),init_Loggable(),init_util(),init_navigators(),init_bulkImport(),init_orchestration(),init_UserDBDebugger()}});init_core(),init_courseLookupDB(),init_logger(),init_couch(),init_util(),init_logger();var duration=hooks.duration;function newInterval(n,r){return areQuestionRecords(r)?newQuestionInterval(n,r):1e5}function newQuestionInterval(n,r){const o=r.records,a=o[o.length-1],s=lastSuccessfulInterval(o);if(s>r.bestInterval&&(r.bestInterval=s,n.update(r._id,{bestInterval:s}).catch((n=>{logger.warn(`[SpacedRepetition] Failed to update bestInterval for ${r._id}: ${n?.message??n}`)}))),a.isCorrect){const n=a.performance,o=isTaggedPerformance(n)?n._global:n,l=Math.min(1,Math.max(0,o));logger.debug(`Demontrated skill: \t${l}`);const c=s*(.75+l);if(r.lapses=getLapses(r.records),r.streak=getStreak(r.records),r.lapses&&r.streak&&r.bestInterval&&(r.lapses>=0||r.streak>=0)){const n=(r.lapses*c+r.streak*r.bestInterval)/(r.lapses+r.streak);return logger.debug(`Weighted average interval calculation:\n\t(${r.lapses} * ${c} + ${r.streak} * ${r.bestInterval}) / (${r.lapses} + ${r.streak}) = ${n}`),n}return c}return 0}function lastSuccessfulInterval(n){for(let r=n.length-1;r>=1;r--)if(0===n[r].priorAttemps&&n[r].isCorrect){const o=secondsBetween(n[r-1].timeStamp,n[r].timeStamp),a=Math.max(o,72e3);return logger.debug(`Last interval w/ this card was: ${o}s, returning ${a}s`),a}return getInitialInterval(n)}function getStreak(n){let r=0,o=n.length-1;for(;o>=0&&n[o].isCorrect;)o--,r++;return r}function getLapses(n){return n.filter((n=>!1===n.isCorrect)).length}function getInitialInterval(n){return logger.warn(`history of length: ${n.length} ignored!`),259200}function secondsBetween(n,r){n=hooks(n),r=hooks(r);return duration(r.diff(n)).asSeconds()}init_logger();var SrsService=class{constructor(n){__publicField(this,"user"),this.user=n}removeReview(n){logger.info(`[SrsService] Removing orphaned scheduled review: ${n}`),this.user.removeScheduledCardReview(n)}async scheduleReview(n,r){const o=newInterval(this.user,n),a=hooks.utc().add(o,"seconds");isReview(r)&&(logger.info(`[SrsService] Removing previously scheduled review for: ${r.cardID}`),this.user.removeScheduledCardReview(r.reviewID)),this.user.scheduleCardReview({user:this.user.getUsername(),course_id:n.courseID,card_id:n.cardID,time:a,scheduledFor:r.contentSourceType,schedulingAgentId:r.contentSourceID})}};init_logger();var EloService=class{constructor(n,r){__publicField(this,"dataLayer"),__publicField(this,"user"),this.dataLayer=n,this.user=r}async updateUserAndCardElo(n,r,o,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((n=>n.courseID===r)).elo),d=(await c.getCardEloData([s.card.card_id]))[0];if(d&&u){const s=adjustCourseScores(u,d,n);a.courses.find((n=>n.courseID===r)).elo=s.userElo;const l=await Promise.allSettled([this.user.updateUserElo(r,s.userElo),c.updateCardElo(o,s.cardElo)]),f="fulfilled"===l[0].status,m="fulfilled"===l[1].status;if(f&&m){const n=l[0].value,r=l[1].value;n.ok&&r&&r.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)}}async updateUserAndCardEloPerTag(n,r,o,a,s){const l=this.dataLayer.getCourseDB(s.card.course_id),c=toCourseElo(a.courses.find((n=>n.courseID===r)).elo),u=(await l.getCardEloData([s.card.card_id]))[0];if(u&&c){const s=adjustCourseScoresPerTag(c,u,n);a.courses.find((n=>n.courseID===r)).elo=s.userElo;const d=await Promise.allSettled([this.user.updateUserElo(r,s.userElo),l.updateCardElo(o,s.cardElo)]),f="fulfilled"===d[0].status,m="fulfilled"===d[1].status;if(f&&m){const r=d[0].value,o=d[1].value;if(r.ok&&o&&o.ok){const r=Object.keys(n).length-1;logger.info(`[EloService] Updated ELOS (per-tag, ${r} tags):\n \tUser: ${JSON.stringify(s.userElo)})\n \tCard: ${JSON.stringify(s.cardElo)})\n `)}}else logger.warn(`[EloService] Partial ELO update (per-tag):\n \tUser ELO update: ${f?"SUCCESS":"FAILED"}\n \tCard ELO update: ${m?"SUCCESS":"FAILED"}`),f||"rejected"!==d[0].status||logger.error("[EloService] User ELO update error:",d[0].reason),m||"rejected"!==d[1].status||logger.error("[EloService] Card ELO update error:",d[1].reason)}}};init_core(),init_logger();var ResponseProcessor=class{constructor(n,r){__publicField(this,"srsService"),__publicField(this,"eloService"),this.srsService=n,this.eloService=r}parsePerformance(n){return"number"==typeof n?{globalScore:n,taggedPerformance:null}:isTaggedPerformance(n)?{globalScore:n._global,taggedPerformance:n}:(logger.warn("[ResponseProcessor] Unexpected performance structure, using neutral score",{performance:n}),{globalScore:.5,taggedPerformance:null})}async processResponse(n,r,o,a,s,l,c,u,d,f){if(!isQuestionRecord(n))return{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,shouldClearFeedbackShadow:!0};try{const m=await r;let g;return g=n.isCorrect?this.processCorrectResponse(n,m,o,a,s,l,c):this.processIncorrectResponse(n,m,a,s,l,c,u,d,f),n.deferAdvance&&g.shouldLoadNextCard&&(logger.info("[ResponseProcessor] deferAdvance requested — suppressing navigation, action stashed:",{nextCardAction:g.nextCardAction}),g={...g,shouldLoadNextCard:!1,deferred:!0}),g}catch(e3){throw logger.error("[ResponseProcessor] Failed to load card history",{e:e3,cardId:c}),e3}}processCorrectResponse(n,r,o,a,s,l,c){if(0===n.priorAttemps){this.srsService.scheduleReview(r,o);const{globalScore:u,taggedPerformance:d}=this.parsePerformance(n.performance);if(d)this.eloService.updateUserAndCardEloPerTag(d,l,c,a,s),logger.info(`[ResponseProcessor] Processed correct response with per-tag ELO update (${Object.keys(d).length-1} tags)`);else{const n=.5+u/2;if(1===r.records.length)this.eloService.updateUserAndCardElo(n,l,c,a,s);else{const o=Math.ceil(32/r.records.length);this.eloService.updateUserAndCardElo(n,l,c,a,s,o)}logger.info("[ResponseProcessor] Processed correct response with SRS scheduling and ELO update")}return{nextCardAction:"dismiss-success",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:u,shouldClearFeedbackShadow:!0}}{logger.info("[ResponseProcessor] Processed correct response (retry attempt - no scheduling/ELO)");const{globalScore:r}=this.parsePerformance(n.performance);return{nextCardAction:"marked-failed",shouldLoadNextCard:!0,isCorrect:!0,performanceScore:r,shouldClearFeedbackShadow:!0}}}processIncorrectResponse(n,r,o,a,s,l,c,u,d){const{taggedPerformance:f}=this.parsePerformance(n.performance);return 1!==r.records.length&&0===n.priorAttemps?f?(this.eloService.updateUserAndCardEloPerTag(f,s,l,o,a),logger.info(`[ResponseProcessor] Processed incorrect response with per-tag ELO update (${Object.keys(f).length-1} tags)`)):(this.eloService.updateUserAndCardElo(0,s,l,o,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?(f?this.eloService.updateUserAndCardEloPerTag(f,s,l,o,a):this.eloService.updateUserAndCardElo(0,s,l,o,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}}};function parseAudioURIs(n){if("string"!=typeof n)return[];return n.match(/https?:\/\/[^\s"'<>]+\.(wav|mp3|ogg|m4a|aac|webm)/gi)??[]}function prefetchAudio(n){return new Promise((r=>{const o=new Audio;o.preload="auto";const a=()=>{o.oncanplaythrough=null,o.onerror=null};o.oncanplaythrough=()=>{a(),r()},o.onerror=()=>{a(),logger.warn(`[CardHydrationService] Failed to prefetch audio: ${n}`),r()},o.src=n}))}init_logger();var CardHydrationService=class{constructor(n,r,o){__publicField(this,"hydratedCards",new Map),__publicField(this,"hydrationInFlight",new Set),__publicField(this,"hydrationInProgress",!1),this.getViewComponent=n,this.getCourseDB=r,this.getItemsToHydrate=o}getHydratedCard(n){return this.hydratedCards.get(n)??null}hasHydratedCard(n){return this.hydratedCards.has(n)}removeCard(n){this.hydratedCards.delete(n)}async ensureHydratedCards(){this.fillHydratedCards()}async waitForCard(n){if(this.hydratedCards.has(n))return this.hydratedCards.get(n);this.hydrationInProgress||this.fillHydratedCards();let r=0;for(;r<1e4;){if(this.hydratedCards.has(n))return this.hydratedCards.get(n);if(!this.hydrationInFlight.has(n)&&!this.hydrationInProgress)break;await new Promise((n=>setTimeout(n,25))),r+=25}return this.hydratedCards.get(n)??null}get hydratedCount(){return this.hydratedCards.size}getHydratedCardIds(){return Array.from(this.hydratedCards.keys())}async fillHydratedCards(){if(!this.hydrationInProgress){this.hydrationInProgress=!0;try{const n=this.getItemsToHydrate();for(const r of n)if(!this.hydratedCards.has(r.cardID)&&!this.hydrationInFlight.has(r.cardID))try{await this.hydrateCard(r)}catch(e3){logger.error(`[CardHydrationService] Error hydrating card ${r.cardID}:`,e3)}}finally{this.hydrationInProgress=!1}}}async hydrateCard(n){if(!this.hydratedCards.has(n.cardID)&&!this.hydrationInFlight.has(n.cardID)){this.hydrationInFlight.add(n.cardID);try{const r=this.getCourseDB(n.courseID),o=await r.getCourseDoc(n.cardID);isCourseElo(o.elo)||(o.elo=toCourseElo(o.elo));const a=this.getViewComponent(o.id_view),s=await Promise.all(o.id_displayable_data.map((n=>r.getCourseDoc(n,{attachments:!0,binary:!0})))),l=[];s.forEach((n=>{n.data.forEach((n=>{l.push(...parseAudioURIs(n.data))}))}));const c=[...new Set(l)];c.length>0&&(logger.debug(`[CardHydrationService] Prefetching ${c.length} audio files for card ${n.cardID}`),await Promise.allSettled(c.map(prefetchAudio)));const u=s.map(displayableDataToViewData).reverse();this.hydratedCards.set(n.cardID,{item:n,view:a,data:u}),logger.debug(`[CardHydrationService] Hydrated card ${n.cardID}`)}finally{this.hydrationInFlight.delete(n.cardID)}}}},ItemQueue=class{constructor(){__publicField(this,"q",[]),__publicField(this,"seenCardIds",[]),__publicField(this,"_dequeueCount",0)}get dequeueCount(){return this._dequeueCount}add(n,r){this.seenCardIds.find((n=>n===r))||(this.seenCardIds.push(r),this.q.push(n))}addAll(n,r){n.forEach((n=>this.add(n,r(n))))}get length(){return this.q.length}peek(n){return this.q[n]}dequeue(n){if(0!==this.q.length){this._dequeueCount++;const r=this.q.splice(0,1)[0];if(n){const o=n(r),a=this.seenCardIds.indexOf(o);a>-1&&this.seenCardIds.splice(a,1)}return r}return null}replaceAll(n,r){this.q=[],this.seenCardIds=[];for(const o of n){const n=r(o);this.seenCardIds.includes(n)||(this.seenCardIds.push(n),this.q.push(o))}}mergeToFront(n,r){let o=0;const a=[];for(const s of n){const n=r(s);this.seenCardIds.includes(n)||(this.seenCardIds.push(n),a.push(s),o++)}return this.q.unshift(...a),o}get toString(){return typeof this.q[0]+":\n"+this.q.map((n=>`\t${n.courseID}+${n.cardID}: ${n.status}`)).join("\n")}};init_couch(),init_recording(),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{}init_dataDirectory(),init_navigators();var QuotaRoundRobinMixer=class{mix(n,r){if(0===n.length)return[];const o=Math.ceil(r/n.length),a=n.map((n=>[...n.weighted].sort(((n,r)=>r.score-n.score)).slice(0,o)));for(let u=a.length-1;u>0;u--){const n=Math.floor(Math.random()*(u+1));[a[u],a[n]]=[a[n],a[u]]}const s=[];let l=0;const c=new Array(a.length).fill(0);for(;s.length<r&&l<a.length;){l=0;for(let n=0;n<a.length&&!(s.length>=r);n++)c[n]<a[n].length?(s.push(a[n][c[n]]),c[n]++):l++}return s}};init_logger(),init_navigators();var MAX_RUNS2=10,runHistory2=[];function buildSourceSummary(n,r,o){const a=n.weighted.map((n=>n.score)),s=n.weighted.filter((n=>"review"===getCardOrigin(n))).length,l=n.weighted.filter((n=>"new"===getCardOrigin(n))).length;return{sourceIndex:n.sourceIndex,sourceId:r,sourceName:o,totalCards:n.weighted.length,reviewCount:s,newCount:l,topScore:a.length>0?Math.max(...a):0,bottomScore:a.length>0?Math.min(...a):0,scoreRange:a.length>0?[Math.min(...a),Math.max(...a)]:[0,0],avgScore:a.length>0?a.reduce(((n,r)=>n+r),0)/a.length:0}}function buildSourceBreakdown(n,r,o){const a=o.filter((r=>r.courseId===n)),s=a.filter((n=>n.selected)),l=a.filter((n=>"review"===n.origin)).length,c=a.filter((n=>"new"===n.origin)).length,u=s.filter((n=>"review"===n.origin)).length,d=s.filter((n=>"new"===n.origin)).length;return{sourceId:n,sourceName:r,reviewsProvided:l,newProvided:c,reviewsSelected:u,newSelected:d,totalSelected:s.length,selectionRate:a.length>0?s.length/a.length*100:0}}function captureMixerRun(n,r,o,a,s,l,c){const u=r.map(((n,r)=>buildSourceSummary(n,o[r]||`source-${r}`,a[r]))),d=new Set(c.map((n=>n.cardId))),f=new Map;r.forEach((n=>{const r=[...n.weighted].sort(((n,r)=>r.score-n.score)),a=new Map;r.forEach(((n,r)=>{a.set(n.cardId,r+1)})),f.set(o[n.sourceIndex]||`source-${n.sourceIndex}`,a)}));const m=new Map;c.forEach(((n,r)=>{m.set(n.cardId,r+1)}));const g=new Map;r.forEach((n=>{n.weighted.forEach((n=>{g.set(n.cardId,n)}))}));const b=Array.from(g.values()).map((n=>({cardId:n.cardId,courseId:n.courseId,origin:getCardOrigin(n),score:n.score,sourceIndex:r.findIndex((r=>r.weighted.some((r=>r.cardId===n.cardId)))),selected:d.has(n.cardId),rankInSource:f.get(n.courseId)?.get(n.cardId),rankInMix:m.get(n.cardId)}))),S=Array.from(new Set(o.filter((n=>n)))).map(((n,r)=>buildSourceBreakdown(n,a[r],b))),k={runId:`mix-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date,mixerType:n,requestedLimit:s,quotaPerSource:l,sourceSummaries:u,cards:b,finalCount:c.length,reviewsSelected:c.filter((n=>"review"===getCardOrigin(n))).length,newSelected:c.filter((n=>"new"===getCardOrigin(n))).length,sourceBreakdowns:S};runHistory2.unshift(k),runHistory2.length>MAX_RUNS2&&runHistory2.pop()}function printMixerSummary(n){console.group(`🎨 Mixer Run: ${n.mixerType}`),logger.info(`Run ID: ${n.runId}`),logger.info(`Time: ${n.timestamp.toISOString()}`),logger.info(`Config: limit=${n.requestedLimit}${n.quotaPerSource?`, quota/source=${n.quotaPerSource}`:""}`),console.group(`📥 Input: ${n.sourceSummaries.length} sources`);for(const r of n.sourceSummaries)logger.info(` ${r.sourceName||r.sourceId}: ${r.totalCards} cards (${r.reviewCount} reviews, ${r.newCount} new)`),logger.info(` Score range: [${r.scoreRange[0].toFixed(2)}, ${r.scoreRange[1].toFixed(2)}], avg: ${r.avgScore.toFixed(2)}`);console.groupEnd(),console.group(`📤 Output: ${n.finalCount} cards selected (${n.reviewsSelected} reviews, ${n.newSelected} new)`);for(const r of n.sourceBreakdowns){const n=r.sourceName||r.sourceId;logger.info(` ${n}: ${r.totalSelected} selected (${r.reviewsSelected} reviews, ${r.newSelected} new) - ${r.selectionRate.toFixed(1)}% selection rate`)}console.groupEnd(),console.groupEnd()}var mixerDebugAPI={get runs(){return[...runHistory2]},showRun(n=0){if(0===runHistory2.length)return void logger.info("[Mixer Debug] No runs captured yet.");let r;if("number"==typeof n){if(r=runHistory2[n],!r)return void logger.info(`[Mixer Debug] No run found at index ${n}. History length: ${runHistory2.length}`)}else if(r=runHistory2.find((r=>r.runId.endsWith(n))),!r)return void logger.info(`[Mixer Debug] No run found matching ID '${n}'.`);printMixerSummary(r)},showLastMix(){this.showRun(0)},explainSourceBalance(){if(0===runHistory2.length)return void logger.info("[Mixer Debug] No runs captured yet.");const n=runHistory2[0];console.group("⚖️ Source Balance Analysis"),logger.info(`Mixer: ${n.mixerType}`),logger.info(`Requested limit: ${n.requestedLimit}`),n.quotaPerSource&&logger.info(`Quota per source: ${n.quotaPerSource}`),console.group("Input Distribution:");for(const s of n.sourceSummaries){const n=s.sourceName||s.sourceId;logger.info(`${n}:`),logger.info(` Provided: ${s.totalCards} cards (${s.reviewCount} reviews, ${s.newCount} new)`),logger.info(` Score range: [${s.scoreRange[0].toFixed(2)}, ${s.scoreRange[1].toFixed(2)}]`)}console.groupEnd(),console.group("Selection Results:");for(const s of n.sourceBreakdowns){const n=s.sourceName||s.sourceId;logger.info(`${n}:`),logger.info(` Selected: ${s.totalSelected}/${s.reviewsProvided+s.newProvided} (${s.selectionRate.toFixed(1)}%)`),logger.info(` Reviews: ${s.reviewsSelected}/${s.reviewsProvided}`),logger.info(` New: ${s.newSelected}/${s.newProvided}`),s.reviewsProvided>0&&0===s.reviewsSelected&&logger.info(" ⚠️ Had reviews but none selected!"),0===s.totalSelected&&s.reviewsProvided+s.newProvided>0&&logger.info(" ⚠️ Had cards but none selected!")}console.groupEnd();const r=n.sourceBreakdowns.map((n=>n.selectionRate)),o=r.reduce(((n,r)=>n+r),0)/r.length,a=Math.max(...r.map((n=>Math.abs(n-o))));a>20&&(logger.info(`\n⚠️ Significant imbalance detected (max deviation: ${a.toFixed(1)}%)`),logger.info("Possible causes:"),logger.info(" - Score range differences between sources"),logger.info(" - One source has much better quality cards"),logger.info(" - Different card availability (reviews vs new)")),console.groupEnd()},compareScores(){if(0===runHistory2.length)return void logger.info("[Mixer Debug] No runs captured yet.");const n=runHistory2[0];console.group("📊 Score Distribution Comparison"),console.table(n.sourceSummaries.map((n=>({source:n.sourceName||n.sourceId,cards:n.totalCards,min:n.bottomScore.toFixed(3),max:n.topScore.toFixed(3),avg:n.avgScore.toFixed(3),range:(n.topScore-n.bottomScore).toFixed(3)}))));const r=n.sourceSummaries.map((n=>n.topScore-n.bottomScore)),o=n.sourceSummaries.map((n=>n.avgScore)),a=Math.max(...r)-Math.min(...r),s=Math.max(...o)-Math.min(...o);(a>.3||s>.2)&&(logger.info("\n⚠️ Significant score distribution differences detected"),logger.info("This may cause one source to dominate selection if using global sorting (not quota-based)")),console.groupEnd()},showCard(n){for(const r of runHistory2){const o=r.cards.find((r=>r.cardId===n));if(o){const a=r.sourceSummaries.find((n=>n.sourceIndex===o.sourceIndex));return console.group(`🎴 Card: ${n}`),logger.info(`Course: ${o.courseId}`),logger.info(`Source: ${a?.sourceName||a?.sourceId||"unknown"}`),logger.info(`Origin: ${o.origin}`),logger.info(`Score: ${o.score.toFixed(3)}`),o.rankInSource&&logger.info(`Rank in source: #${o.rankInSource}`),o.rankInMix&&logger.info(`Rank in mixed results: #${o.rankInMix}`),logger.info("Selected: "+(o.selected?"Yes ✅":"No ❌")),!o.selected&&o.rankInSource&&(logger.info("\nWhy not selected:"),r.quotaPerSource&&o.rankInSource>r.quotaPerSource&&logger.info(` - Ranked #${o.rankInSource} in source, but quota was ${r.quotaPerSource}`),logger.info(" - Check score compared to selected cards using .showRun()")),void console.groupEnd()}}logger.info(`[Mixer Debug] Card '${n}' not found in recent runs.`)},listRuns(){0!==runHistory2.length?console.table(runHistory2.map((n=>({id:n.runId.slice(-8),time:n.timestamp.toLocaleTimeString(),mixer:n.mixerType,sources:n.sourceSummaries.length,selected:n.finalCount,reviews:n.reviewsSelected,new:n.newSelected})))):logger.info("[Mixer Debug] No runs captured yet.")},export(){const n=JSON.stringify(runHistory2,null,2);return logger.info("[Mixer Debug] Run history exported. Copy the returned string or use:"),logger.info(" copy(window.skuilder.mixer.export())"),n},clear(){runHistory2.length=0,logger.info("[Mixer Debug] Run history cleared.")},help(){logger.info("\n🎨 Mixer Debug API\n\nCommands:\n .showLastMix() Show summary of most recent mixer run\n .showRun(id|index) Show summary of a specific run (by index or ID suffix)\n .explainSourceBalance() Analyze source balance and selection patterns\n .compareScores() Compare score distributions across sources\n .showCard(cardId) Show mixer decisions for a specific card\n .listRuns() List all captured runs in table format\n .export() Export run history as JSON for bug reports\n .clear() Clear run history\n .runs Access raw run history array\n .help() Show this help message\n\nExample:\n window.skuilder.mixer.showLastMix()\n window.skuilder.mixer.explainSourceBalance()\n window.skuilder.mixer.compareScores()\n")}};function mountMixerDebugger(){if("undefined"==typeof window)return;const n=window;n.skuilder=n.skuilder||{},n.skuilder.mixer=mixerDebugAPI}mountMixerDebugger(),init_logger();var activeSession=null,sessionHistory=[],MAX_HISTORY=5;function startSessionTracking(n,r,o){const a=`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;activeSession={sessionId:a,startTime:new Date,initialQueues:{timestamp:new Date,reviewQLength:n,newQLength:r,failedQLength:o},presentations:[],queueSnapshots:[]},logger.debug(`[SessionDebugger] Started tracking session: ${a}`)}function recordCardPresentation(n,r,o,a,s,l){activeSession?activeSession.presentations.push({timestamp:new Date,sequenceNumber:activeSession.presentations.length+1,cardId:n,courseId:r,courseName:o,origin:a,queueSource:s,score:l}):logger.warn("[SessionDebugger] No active session to record presentation")}function snapshotQueues(n,r,o,a,s){activeSession&&activeSession.queueSnapshots.push({timestamp:new Date,reviewQLength:n,newQLength:r,failedQLength:o,reviewQNext3:a,newQNext3:s})}function endSessionTracking(){activeSession&&(activeSession.endTime=new Date,sessionHistory.unshift(activeSession),sessionHistory.length>MAX_HISTORY&&sessionHistory.pop(),logger.debug(`[SessionDebugger] Ended session: ${activeSession.sessionId}`),activeSession=null)}function showCurrentQueue(){if(!activeSession)return void logger.info("[Session Debug] No active session.");const n=activeSession.queueSnapshots[activeSession.queueSnapshots.length-1]||activeSession.initialQueues;console.group("📊 Current Queue State"),logger.info(`Review Queue: ${n.reviewQLength} cards`),n.reviewQNext3&&n.reviewQNext3.length>0&&logger.info(` Next: ${n.reviewQNext3.join(", ")}`),logger.info(`New Queue: ${n.newQLength} cards`),n.newQNext3&&n.newQNext3.length>0&&logger.info(` Next: ${n.newQNext3.join(", ")}`),logger.info(`Failed Queue: ${n.failedQLength} cards`),console.groupEnd()}function showPresentationHistory(n=0){const r=0===n&&activeSession?activeSession:sessionHistory[n];r?(console.group(`📜 Session History: ${r.sessionId}`),logger.info(`Started: ${r.startTime.toLocaleTimeString()}`),r.endTime&&logger.info(`Ended: ${r.endTime.toLocaleTimeString()}`),logger.info(`Cards presented: ${r.presentations.length}`),r.presentations.length>0&&console.table(r.presentations.map((n=>({"#":n.sequenceNumber,course:n.courseName||n.courseId.slice(0,8),origin:n.origin,queue:n.queueSource,score:n.score?.toFixed(3)||"-",time:n.timestamp.toLocaleTimeString()})))),console.groupEnd()):logger.info(`[Session Debug] No session found at index ${n}`)}function showInterleaving(n=0){const r=0===n&&activeSession?activeSession:sessionHistory[n];if(!r)return void logger.info(`[Session Debug] No session found at index ${n}`);console.group("🔀 Interleaving Analysis");const o=new Map,a=new Map;if(r.presentations.forEach((n=>{const r=n.courseName||n.courseId;o.set(r,(o.get(r)||0)+1),a.has(r)||a.set(r,{review:0,new:0,failed:0});a.get(r)[n.origin]++})),logger.info("Course distribution:"),console.table(Array.from(o.entries()).map((([n,o])=>{const s=a.get(n);return{course:n,total:o,reviews:s.review,new:s.new,failed:s.failed,percentage:(o/r.presentations.length*100).toFixed(1)+"%"}}))),r.presentations.length>0){logger.info("\nPresentation sequence (first 20):");const n=r.presentations.slice(0,20).map(((n,r)=>`${r+1}. ${n.courseName||n.courseId.slice(0,8)} (${n.origin})`)).join("\n");logger.info(n)}let s=0,l=1,c=r.presentations[0]?.courseId;for(let u=1;u<r.presentations.length;u++)r.presentations[u].courseId===c?(l++,s=Math.max(s,l)):(c=r.presentations[u].courseId,l=1);s>3&&(logger.info(`\n⚠️ Detected clustering: max ${s} cards from same course in a row`),logger.info("This suggests cards are sorted by score rather than round-robin by course.")),console.groupEnd()}var sessionDebugAPI={get sessions(){return[...sessionHistory]},get active(){return activeSession},showQueue(){showCurrentQueue()},showHistory(n=0){showPresentationHistory(n)},showInterleaving(n=0){showInterleaving(n)},listSessions(){activeSession&&logger.info(`Active session: ${activeSession.sessionId} (${activeSession.presentations.length} cards presented)`),0!==sessionHistory.length?console.table(sessionHistory.map(((n,r)=>({index:r,id:n.sessionId.slice(-8),started:n.startTime.toLocaleTimeString(),ended:n.endTime?.toLocaleTimeString()||"incomplete",cards:n.presentations.length})))):logger.info("[Session Debug] No completed sessions in history.")},export(){const n={active:activeSession,history:sessionHistory},r=JSON.stringify(n,null,2);return logger.info("[Session Debug] Session data exported. Copy the returned string or use:"),logger.info(" copy(window.skuilder.session.export())"),r},clear(){sessionHistory.length=0,logger.info("[Session Debug] Session history cleared.")},help(){logger.info("\n🎯 Session Debug API\n\nCommands:\n .showQueue() Show current queue state (active session only)\n .showHistory(index?) Show presentation history (0=current/last, 1=previous, etc)\n .showInterleaving(index?) Analyze course interleaving pattern\n .listSessions() List all tracked sessions\n .export() Export session data as JSON for bug reports\n .clear() Clear session history\n .sessions Access raw session history array\n .active Access active session (if any)\n .help() Show this help message\n\nExample:\n window.skuilder.session.showHistory()\n window.skuilder.session.showInterleaving()\n window.skuilder.session.showQueue()\n")}};function mountSessionDebugger(){if("undefined"==typeof window)return;const n=window;n.skuilder=n.skuilder||{},n.skuilder.session=sessionDebugAPI}mountSessionDebugger(),init_logger();var SessionController=(_a=class extends Loggable{constructor(n,r,o,a,s,l){super(),__publicField(this,"_className","SessionController"),__publicField(this,"services"),__publicField(this,"srsService"),__publicField(this,"eloService"),__publicField(this,"hydrationService"),__publicField(this,"mixer"),__publicField(this,"dataLayer"),__publicField(this,"courseNameCache",new Map),__publicField(this,"_defaultBatchLimit",20),__publicField(this,"sources"),__publicField(this,"_sessionRecord",[]),__publicField(this,"_currentCard",null),__publicField(this,"reviewQ",new ItemQueue),__publicField(this,"newQ",new ItemQueue),__publicField(this,"failedQ",new ItemQueue),__publicField(this,"_replanPromise",null),__publicField(this,"_wellIndicatedRemaining",0),__publicField(this,"_suppressQualityReplan",!1),__publicField(this,"_depletionReplanAttempted",!1),__publicField(this,"startTime"),__publicField(this,"endTime"),__publicField(this,"_secondsRemaining"),__publicField(this,"_intervalHandle"),this.dataLayer=o,this.mixer=s||new QuotaRoundRobinMixer,this.srsService=new SrsService(o.getUserDB()),this.eloService=new EloService(o,o.getUserDB()),this.hydrationService=new CardHydrationService(a,(n=>o.getCourseDB(n)),(()=>this._getItemsToHydrate())),this.services={response:new ResponseProcessor(this.srsService,this.eloService)},this.sources=n,this.startTime=new Date,this._secondsRemaining=r,this.endTime=new Date(this.startTime.valueOf()+1e3*this._secondsRemaining),void 0!==l?.defaultBatchLimit&&(this._defaultBatchLimit=l.defaultBatchLimit),this.log(`Session constructed:\n startTime: ${this.startTime}\n endTime: ${this.endTime}\n defaultBatchLimit: ${this._defaultBatchLimit}`)}set sessionRecord(n){this._sessionRecord=n}get secondsRemaining(){return this._secondsRemaining}get report(){const n=this.reviewQ.dequeueCount,r=this.newQ.dequeueCount;return`${n} ${1===n?"review":"reviews"}, ${r} ${1===r?"new card":"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 n=0;for(let o=0;o<this.failedQ.length;o++){const r=this.failedQ.peek(o),a=this._sessionRecord.find((n=>n.item.cardID===r.cardID));let s=0;if(a){for(let n=0;n<a.records.length;n++)s+=a.records[n].timeSpent;s/=a.records.length,n+=s}}const r=n/1e3;return this.log(`Failed card cleanup estimate: ${Math.round(r)}`),r}estimateReviewTime(){const n=5*this.reviewQ.length;return this.log(`Review card time estimate: ${n}`),n}async prepareSession(){if(this.sources.some((n=>"function"!=typeof n.getWeightedCards)))throw new Error("[SessionController] All content sources must implement getWeightedCards().");const n=await this.getWeightedContent();this._wellIndicatedRemaining=n,n>=0&&n<_a.MIN_WELL_INDICATED&&this.log(`[Init] Only ${n}/${_a.MIN_WELL_INDICATED} well-indicated cards in initial load`),await this.hydrationService.ensureHydratedCards(),startSessionTracking(this.reviewQ.length,this.newQ.length,this.failedQ.length),this._intervalHandle=setInterval((()=>{this.tick()}),1e3)}async requestReplan(n){const r=this.normalizeReplanOptions(n);if((r.hints||r.label||r.limit)&&(this._depletionReplanAttempted=!1),this._replanPromise)return this.log("Replan already in progress, awaiting existing replan"),this._replanPromise;if(r.hints){const n=r.label?{...r.hints,_label:r.label}:r.hints;for(const r of this.sources)r.setEphemeralHints?.(n)}const o=r.label?` [${r.label}]`:"";this.log(`Mid-session replan requested${o} (limit: ${r.limit??"default"}, mode: ${r.mode??"replace"}${r.hints?", with hints":""})`),this._replanPromise=this._executeReplan(r);try{await this._replanPromise}finally{this._replanPromise=null}}normalizeReplanOptions(n){if(!n)return{};const r=["hints","limit","mode","label"];return Object.keys(n).some((n=>r.includes(n)))?n:{hints:n}}async _executeReplan(n={}){const r=n.limit,o=n.mode??"replace",a=await this.getWeightedContent({replan:!0,additive:"merge"===o,limit:r});this._wellIndicatedRemaining=a,void 0!==r&&r<this._defaultBatchLimit?(this._suppressQualityReplan=!0,this.log(`[Replan] Burst mode (limit=${r}): suppressing quality-based auto-replan`)):this._suppressQualityReplan=!1,a>=0&&a<_a.MIN_WELL_INDICATED&&this.log(`[Replan] Only ${a}/${_a.MIN_WELL_INDICATED} well-indicated cards after replan`),this.newQ.length>0&&(this._depletionReplanAttempted=!1),await this.hydrationService.ensureHydratedCards();const s=n.label?` [${n.label}]`:"";this.log(`Replan complete${s}: newQ now has ${this.newQ.length} cards (mode=${o})`),snapshotQueues(this.reviewQ.length,this.newQ.length,this.failedQ.length)}addTime(n){this.endTime=new Date(this.endTime.valueOf()+1e3*n)}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`}getDebugInfo(){const n=this.sources.some((n=>"function"==typeof n.getWeightedCards)),r=(n,r=10)=>{const o=[];for(let a=0;a<Math.min(n.length,r);a++){const r=n.peek(a);o.push({courseID:r.courseID||"unknown",cardID:r.cardID||"unknown",status:r.status||"unknown"})}return o};return{api:{mode:n?"weighted":"legacy",description:n?"Using getWeightedCards() API with scored candidates":"ERROR: getWeightedCards() not a function."},reviewQueue:{length:this.reviewQ.length,dequeueCount:this.reviewQ.dequeueCount,items:r(this.reviewQ)},newQueue:{length:this.newQ.length,dequeueCount:this.newQ.dequeueCount,items:r(this.newQ)},failedQueue:{length:this.failedQ.length,dequeueCount:this.failedQ.dequeueCount,items:r(this.failedQ)},hydratedCache:{count:this.hydrationService.hydratedCount,cardIds:this.hydrationService.getHydratedCardIds()},replan:{inProgress:null!==this._replanPromise,suppressQualityReplan:this._suppressQualityReplan,defaultBatchLimit:this._defaultBatchLimit}}}async getWeightedContent(n){const r=n?.replan??!1,o=n?.additive??!1,a=n?.limit??this._defaultBatchLimit,s=[];for(let w=0;w<this.sources.length;w++){const n=this.sources[w];try{const r=await n.getWeightedCards(a);s.push({sourceIndex:w,weighted:r})}catch(k){if(this.error(`Failed to get content from source ${w}:`,k),1===this.sources.length)throw new Error(`Cannot start session: failed to load content from source ${w}`)}}if(0===s.length){if(r)return this.log("Replan: no content from any source, keeping existing newQ"),-1;throw new Error(`Cannot start session: failed to load content from all ${this.sources.length} source(s). Check logs for details.`)}const l=this.mixer.mix(s,a*this.sources.length),c=s.map((n=>{const r=n.weighted[0];return r?.courseId||`source-${n.sourceIndex}`}));await Promise.all(c.map((async n=>{if(!this.courseNameCache.has(n))try{const r=await this.dataLayer.getCoursesDB().getCourseConfig(n);this.courseNameCache.set(n,r.name)}catch{}})));const u=c.map((n=>this.courseNameCache.get(n))),d=this.mixer instanceof QuotaRoundRobinMixer?Math.ceil(a*this.sources.length/s.length):void 0;captureMixerRun(this.mixer.constructor.name,s,c,u,a*this.sources.length,d,l);const f=l.filter((n=>"review"===getCardOrigin(n))),m=l.filter((n=>"new"===getCardOrigin(n)));logger.debug(`[reviews] got ${f.length} reviews from mixer`);let g=r?"Replan content:\n":"Mixed content session created with:\n";if(!r)for(const w of f){const n={cardID:w.cardId,courseID:w.courseId,contentSourceType:"course",contentSourceID:w.courseId,reviewID:w.reviewID,status:"review"};this.reviewQ.add(n,n.cardID),g+=`Review: ${w.courseId}::${w.cardId} (score: ${w.score.toFixed(2)})\n`}const b=m.filter((n=>n.score>=_a.WELL_INDICATED_SCORE)).length,S=[];for(const w of m){const n={cardID:w.cardId,courseID:w.courseId,contentSourceType:"course",contentSourceID:w.courseId,status:"new"};S.push(n),g+=`New: ${w.courseId}::${w.cardId} (score: ${w.score.toFixed(2)})\n`}if(o){g+=`Additive merge: ${this.newQ.mergeToFront(S,(n=>n.cardID))} new cards added to front of newQ\n`}else if(r)this.newQ.replaceAll(S,(n=>n.cardID));else for(const w of S)this.newQ.add(w,w.cardID);return this.log(g),b}_getItemsToHydrate(){const n=[];for(let r=0;r<Math.min(2,this.reviewQ.length);r++)n.push(this.reviewQ.peek(r));for(let r=0;r<Math.min(2,this.newQ.length);r++)n.push(this.newQ.peek(r));for(let r=0;r<Math.min(2,this.failedQ.length);r++)n.push(this.failedQ.peek(r));return n}_selectNextItemToHydrate(){const n=Math.random();let r=.1,o=.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?(r=.5,o=.9):this._secondsRemaining-a>20?(r=.05,o=.9):(r=.01,o=.1),0===this.failedQ.length&&(o=1),0===this.reviewQ.length&&(r=o),n<r&&this.newQ.length?this.newQ.peek(0):n<o&&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(n="dismiss-success"){if(this.dismissCurrentCard(n),this._replanPromise&&(this.log("nextCard: awaiting in-flight replan before drawing"),await this._replanPromise),this.newQ.length<=1&&this._secondsRemaining>0&&!this._replanPromise&&!this._depletionReplanAttempted){this._suppressQualityReplan=!1,this._depletionReplanAttempted=!0;const n=this.reviewQ.length+this.failedQ.length;0===this.newQ.length&&0===n?(this.log(`[AutoReplan:depletion] All queues empty with ${this._secondsRemaining}s remaining. Awaiting replan.`),await this.requestReplan()):(this.log(`[AutoReplan:depletion] newQ has ${this.newQ.length} card(s) (${n} in other queues) with ${this._secondsRemaining}s remaining. Triggering background replan.`),this.requestReplan())}if(!this._suppressQualityReplan&&this._wellIndicatedRemaining<=3&&this.newQ.length>0&&!this._replanPromise&&(this.log(`[AutoReplan:quality] ${this._wellIndicatedRemaining} well-indicated cards remaining (newQ: ${this.newQ.length}). Triggering background replan.`),this.requestReplan()),this._secondsRemaining<=0&&0===this.failedQ.length)return this._currentCard=null,endSessionTracking(),null;for(let r=0;r<20;r++){const n=this._selectNextItemToHydrate();if(!n)return this._currentCard=null,endSessionTracking(),null;let r=this.hydrationService.getHydratedCard(n.cardID);if(r||(r=await this.hydrationService.waitForCard(n.cardID)),this.removeItemFromQueue(n),r){await this.hydrationService.ensureHydratedCards(),this._currentCard=r;const o="review"===n.status||"failed-review"===n.status?"review":"new"===n.status||"failed-new"===n.status?"new":"failed",a=n.status.startsWith("failed")?"failedQ":"review"===n.status?"reviewQ":"newQ";return recordCardPresentation(n.cardID,n.courseID,this.courseNameCache.get(n.courseID),o,a),snapshotQueues(this.reviewQ.length,this.newQ.length,this.failedQ.length),r}this.log(`Skipping card ${n.cardID}: hydration failed, trying next`),isReview(n)&&this.srsService.removeReview(n.reviewID)}return this.log("Exhausted 20 skip attempts finding a hydratable card"),this._currentCard=null,endSessionTracking(),null}async submitResponse(n,r,o,a,s,l,c,u,d){const f={...a.item};return await this.services.response.processResponse(n,r,f,o,a,s,l,c,u,d)}dismissCurrentCard(n="dismiss-success"){if(this._currentCard)if("dismiss-success"===n)this.hydrationService.removeCard(this._currentCard.item.cardID);else if("marked-failed"===n){let n;n=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(n,n.cardID)}else("dismiss-error"===n||"dismiss-failed"===n)&&this.hydrationService.removeCard(this._currentCard.item.cardID)}removeItemFromQueue(n){this.reviewQ.peek(0)?.cardID===n.cardID?this.reviewQ.dequeue((n=>n.cardID)):this.newQ.peek(0)?.cardID===n.cardID?(this.newQ.dequeue((n=>n.cardID)),this._wellIndicatedRemaining>0&&this._wellIndicatedRemaining--):this.failedQ.peek(0)?.cardID===n.cardID&&this.failedQ.dequeue((n=>n.cardID))}async endSession(){if(!this._sessionRecord||0===this._sessionRecord.length)return;const n=this._sessionRecord.flatMap((n=>n.records)).filter((n=>void 0!==n.userAnswer));if(0===n.length)return;let r=null;const o=[];for(const l of this.sources)if(l.getOrchestrationContext){try{r=await l.getOrchestrationContext(),l.getStrategyIds&&o.push(...l.getStrategyIds())}catch(e3){logger.warn(`[SessionController] Failed to get orchestration context: ${e3}`)}if(r)break}if(!r)return void logger.debug("[SessionController] No orchestration context available, skipping outcome recording");const a=(new Date).toISOString(),s=new Date(this.startTime).toISOString();await recordUserOutcome(r,s,a,n,o)}},__publicField(_a,"MIN_WELL_INDICATED",5),__publicField(_a,"WELL_INDICATED_SCORE",.1),_a);init_TagFilteredContentSource(),init_factory();const index$1=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 NavigatorRole(){return NavigatorRole},get NavigatorRoles(){return NavigatorRoles},get Navigators(){return Navigators},QuotaRoundRobinMixer:QuotaRoundRobinMixer,SessionController:SessionController,get TagFilteredContentSource(){return TagFilteredContentSource},areQuestionRecords:areQuestionRecords,buildStrategyStateId:buildStrategyStateId,captureMixerRun:captureMixerRun,computeDeviation:computeDeviation,computeEffectiveWeight:computeEffectiveWeight,computeOutcomeSignal:computeOutcomeSignal,computeSpread:computeSpread,createOrchestrationContext:createOrchestrationContext,endSessionTracking:endSessionTracking,ensureAppDataDirectory:ensureAppDataDirectory,getAppDataDirectory:getAppDataDirectory,getCardHistoryID:getCardHistoryID,getCardOrigin:getCardOrigin,getDataLayer:getDataLayer,getDbPath:getDbPath,getRegisteredNavigator:getRegisteredNavigator,getRegisteredNavigatorNames:getRegisteredNavigatorNames,getRegisteredNavigatorRole:getRegisteredNavigatorRole,getStudySource:getStudySource,hasRegisteredNavigator:hasRegisteredNavigator,importParsedCards:importParsedCards,initializeDataDirectory:initializeDataDirectory,initializeDataLayer:initializeDataLayer,initializeNavigatorRegistry:initializeNavigatorRegistry,isFilter:isFilter,isGenerator:isGenerator,isQuestionRecord:isQuestionRecord,isReview:isReview,mixerDebugAPI:mixerDebugAPI,mountMixerDebugger:mountMixerDebugger,mountPipelineDebugger:mountPipelineDebugger,mountSessionDebugger:mountSessionDebugger,mountUserDBDebugger:mountUserDBDebugger,newInterval:newInterval,get pipelineDebugAPI(){return pipelineDebugAPI},recordCardPresentation:recordCardPresentation,recordUserOutcome:recordUserOutcome,registerNavigator:registerNavigator,scoreAccuracyInZone:scoreAccuracyInZone,sessionDebugAPI:sessionDebugAPI,snapshotQueues:snapshotQueues,startSessionTracking:startSessionTracking,get userDBDebugAPI(){return userDBDebugAPI},validateProcessorConfig:validateProcessorConfig},Symbol.toStringTag,{value:"Module"}));let activePinia;const setActivePinia=n=>activePinia=n,piniaSymbol=Symbol();function isPlainObject(n){return n&&"object"==typeof n&&"[object Object]"===Object.prototype.toString.call(n)&&"function"!=typeof n.toJSON}var MutationType,MutationType2;function createPinia(){const n=effectScope(!0),r=n.run((()=>ref({})));let o=[],a=[];const s=markRaw({install(n){setActivePinia(s),s._a=n,n.provide(piniaSymbol,s),n.config.globalProperties.$pinia=s,a.forEach((n=>o.push(n))),a=[]},use(n){return this._a?o.push(n):a.push(n),this},_p:o,_a:null,_e:n,_s:new Map,state:r});return s}MutationType2=MutationType||(MutationType={}),MutationType2.direct="direct",MutationType2.patchObject="patch object",MutationType2.patchFunction="patch function";const noop=()=>{};function addSubscription(n,r,o,a=noop){n.push(r);const s=()=>{const o=n.indexOf(r);o>-1&&(n.splice(o,1),a())};return!o&&getCurrentScope()&&onScopeDispose(s),s}function triggerSubscriptions(n,...r){n.slice().forEach((n=>{n(...r)}))}const fallbackRunWithContext=n=>n(),ACTION_MARKER=Symbol(),ACTION_NAME=Symbol();function mergeReactiveObjects(n,r){n instanceof Map&&r instanceof Map?r.forEach(((r,o)=>n.set(o,r))):n instanceof Set&&r instanceof Set&&r.forEach(n.add,n);for(const o in r){if(!r.hasOwnProperty(o))continue;const a=r[o],s=n[o];isPlainObject(s)&&isPlainObject(a)&&n.hasOwnProperty(o)&&!isRef(a)&&!isReactive(a)?n[o]=mergeReactiveObjects(s,a):n[o]=a}return n}const skipHydrateSymbol=Symbol();function shouldHydrate(n){return!isPlainObject(n)||!n.hasOwnProperty(skipHydrateSymbol)}const{assign:assign}=Object;function isComputed(n){return!(!isRef(n)||!n.effect)}function createOptionsStore(n,r,o,a){const{state:s,actions:l,getters:c}=r,u=o.state.value[n];let d;return d=createSetupStore(n,(function(){u||(o.state.value[n]=s?s():{});const r=toRefs(o.state.value[n]);return assign(r,l,Object.keys(c||{}).reduce(((r,a)=>(r[a]=markRaw(computed((()=>{setActivePinia(o);const r=o._s.get(n);return c[a].call(r,r)}))),r)),{}))}),r,o,a,!0),d}function createSetupStore(n,r,o={},a,s,l){let c;const u=assign({actions:{}},o),d={deep:!0};let f,m,g,b=[],S=[];const k=a.state.value[n];let w;function E(r){let o;f=m=!1,"function"==typeof r?(r(a.state.value[n]),o={type:MutationType.patchFunction,storeId:n,events:g}):(mergeReactiveObjects(a.state.value[n],r),o={type:MutationType.patchObject,payload:r,storeId:n,events:g});const s=w=Symbol();nextTick$2().then((()=>{w===s&&(f=!0)})),m=!0,triggerSubscriptions(b,o,a.state.value[n])}l||k||(a.state.value[n]={}),ref({});const C=l?function(){const{state:n}=o,r=n?n():{};this.$patch((n=>{assign(n,r)}))}:noop;const T=(r,o="")=>{if(ACTION_MARKER in r)return r[ACTION_NAME]=o,r;const s=function(){setActivePinia(a);const o=Array.from(arguments),l=[],c=[];let u;triggerSubscriptions(S,{args:o,name:s[ACTION_NAME],store:I,after:function(n){l.push(n)},onError:function(n){c.push(n)}});try{u=r.apply(this&&this.$id===n?this:I,o)}catch(d){throw triggerSubscriptions(c,d),d}return u instanceof Promise?u.then((n=>(triggerSubscriptions(l,n),n))).catch((n=>(triggerSubscriptions(c,n),Promise.reject(n)))):(triggerSubscriptions(l,u),u)};return s[ACTION_MARKER]=!0,s[ACTION_NAME]=o,s},I=reactive({_p:a,$id:n,$onAction:addSubscription.bind(null,S),$patch:E,$reset:C,$subscribe(r,o={}){const s=addSubscription(b,r,o.detached,(()=>l())),l=c.run((()=>watch((()=>a.state.value[n]),(a=>{("sync"===o.flush?m:f)&&r({storeId:n,type:MutationType.direct,events:g},a)}),assign({},d,o))));return s},$dispose:function(){c.stop(),b=[],S=[],a._s.delete(n)}});a._s.set(n,I);const P=(a._a&&a._a.runWithContext||fallbackRunWithContext)((()=>a._e.run((()=>(c=effectScope()).run((()=>r({action:T})))))));for(const D in P){const r=P[D];if(isRef(r)&&!isComputed(r)||isReactive(r))l||(k&&shouldHydrate(r)&&(isRef(r)?r.value=k[D]:mergeReactiveObjects(r,k[D])),a.state.value[n][D]=r);else if("function"==typeof r){const n=T(r,D);P[D]=n,u.actions[D]=r}}return assign(I,P),assign(toRaw(I),P),Object.defineProperty(I,"$state",{get:()=>a.state.value[n],set:n=>{E((r=>{assign(r,n)}))}}),a._p.forEach((n=>{assign(I,c.run((()=>n({store:I,app:a._a,pinia:a,options:u}))))})),k&&l&&o.hydrate&&o.hydrate(I.$state,k),f=!0,m=!0,I}function defineStore(n,r,o){let a,s;const l="function"==typeof r;function c(n,o){const c=hasInjectionContext();(n=n||(c?inject$1(piniaSymbol,null):null))&&setActivePinia(n),(n=activePinia)._s.has(a)||(l?createSetupStore(a,r,s,n):createOptionsStore(a,s,n));return n._s.get(a)}return"string"==typeof n?(a=n,s=l?o:r):(s=n,a=n.id),c.$id=a,c}var vuedraggable_umd$1={exports:{}},vue={exports:{}},vue_cjs_prod={};const FRAGMENT=Symbol(""),TELEPORT=Symbol(""),SUSPENSE=Symbol(""),KEEP_ALIVE=Symbol(""),BASE_TRANSITION=Symbol(""),OPEN_BLOCK=Symbol(""),CREATE_BLOCK=Symbol(""),CREATE_ELEMENT_BLOCK=Symbol(""),CREATE_VNODE=Symbol(""),CREATE_ELEMENT_VNODE=Symbol(""),CREATE_COMMENT=Symbol(""),CREATE_TEXT=Symbol(""),CREATE_STATIC=Symbol(""),RESOLVE_COMPONENT=Symbol(""),RESOLVE_DYNAMIC_COMPONENT=Symbol(""),RESOLVE_DIRECTIVE=Symbol(""),RESOLVE_FILTER=Symbol(""),WITH_DIRECTIVES=Symbol(""),RENDER_LIST=Symbol(""),RENDER_SLOT=Symbol(""),CREATE_SLOTS=Symbol(""),TO_DISPLAY_STRING=Symbol(""),MERGE_PROPS=Symbol(""),NORMALIZE_CLASS=Symbol(""),NORMALIZE_STYLE=Symbol(""),NORMALIZE_PROPS=Symbol(""),GUARD_REACTIVE_PROPS=Symbol(""),TO_HANDLERS=Symbol(""),CAMELIZE=Symbol(""),CAPITALIZE=Symbol(""),TO_HANDLER_KEY=Symbol(""),SET_BLOCK_TRACKING=Symbol(""),PUSH_SCOPE_ID=Symbol(""),POP_SCOPE_ID=Symbol(""),WITH_CTX=Symbol(""),UNREF=Symbol(""),IS_REF=Symbol(""),WITH_MEMO=Symbol(""),IS_MEMO_SAME=Symbol(""),helperNameMap={[FRAGMENT]:"Fragment",[TELEPORT]:"Teleport",[SUSPENSE]:"Suspense",[KEEP_ALIVE]:"KeepAlive",[BASE_TRANSITION]:"BaseTransition",[OPEN_BLOCK]:"openBlock",[CREATE_BLOCK]:"createBlock",[CREATE_ELEMENT_BLOCK]:"createElementBlock",[CREATE_VNODE]:"createVNode",[CREATE_ELEMENT_VNODE]:"createElementVNode",[CREATE_COMMENT]:"createCommentVNode",[CREATE_TEXT]:"createTextVNode",[CREATE_STATIC]:"createStaticVNode",[RESOLVE_COMPONENT]:"resolveComponent",[RESOLVE_DYNAMIC_COMPONENT]:"resolveDynamicComponent",[RESOLVE_DIRECTIVE]:"resolveDirective",[RESOLVE_FILTER]:"resolveFilter",[WITH_DIRECTIVES]:"withDirectives",[RENDER_LIST]:"renderList",[RENDER_SLOT]:"renderSlot",[CREATE_SLOTS]:"createSlots",[TO_DISPLAY_STRING]:"toDisplayString",[MERGE_PROPS]:"mergeProps",[NORMALIZE_CLASS]:"normalizeClass",[NORMALIZE_STYLE]:"normalizeStyle",[NORMALIZE_PROPS]:"normalizeProps",[GUARD_REACTIVE_PROPS]:"guardReactiveProps",[TO_HANDLERS]:"toHandlers",[CAMELIZE]:"camelize",[CAPITALIZE]:"capitalize",[TO_HANDLER_KEY]:"toHandlerKey",[SET_BLOCK_TRACKING]:"setBlockTracking",[PUSH_SCOPE_ID]:"pushScopeId",[POP_SCOPE_ID]:"popScopeId",[WITH_CTX]:"withCtx",[UNREF]:"unref",[IS_REF]:"isRef",[WITH_MEMO]:"withMemo",[IS_MEMO_SAME]:"isMemoSame"};function registerRuntimeHelpers(n){Object.getOwnPropertySymbols(n).forEach((r=>{helperNameMap[r]=n[r]}))}const Namespaces={HTML:0,0:"HTML",SVG:1,1:"SVG",MATH_ML:2,2:"MATH_ML"},NodeTypes={ROOT:0,0:"ROOT",ELEMENT:1,1:"ELEMENT",TEXT:2,2:"TEXT",COMMENT:3,3:"COMMENT",SIMPLE_EXPRESSION:4,4:"SIMPLE_EXPRESSION",INTERPOLATION:5,5:"INTERPOLATION",ATTRIBUTE:6,6:"ATTRIBUTE",DIRECTIVE:7,7:"DIRECTIVE",COMPOUND_EXPRESSION:8,8:"COMPOUND_EXPRESSION",IF:9,9:"IF",IF_BRANCH:10,10:"IF_BRANCH",FOR:11,11:"FOR",TEXT_CALL:12,12:"TEXT_CALL",VNODE_CALL:13,13:"VNODE_CALL",JS_CALL_EXPRESSION:14,14:"JS_CALL_EXPRESSION",JS_OBJECT_EXPRESSION:15,15:"JS_OBJECT_EXPRESSION",JS_PROPERTY:16,16:"JS_PROPERTY",JS_ARRAY_EXPRESSION:17,17:"JS_ARRAY_EXPRESSION",JS_FUNCTION_EXPRESSION:18,18:"JS_FUNCTION_EXPRESSION",JS_CONDITIONAL_EXPRESSION:19,19:"JS_CONDITIONAL_EXPRESSION",JS_CACHE_EXPRESSION:20,20:"JS_CACHE_EXPRESSION",JS_BLOCK_STATEMENT:21,21:"JS_BLOCK_STATEMENT",JS_TEMPLATE_LITERAL:22,22:"JS_TEMPLATE_LITERAL",JS_IF_STATEMENT:23,23:"JS_IF_STATEMENT",JS_ASSIGNMENT_EXPRESSION:24,24:"JS_ASSIGNMENT_EXPRESSION",JS_SEQUENCE_EXPRESSION:25,25:"JS_SEQUENCE_EXPRESSION",JS_RETURN_STATEMENT:26,26:"JS_RETURN_STATEMENT"},ElementTypes={ELEMENT:0,0:"ELEMENT",COMPONENT:1,1:"COMPONENT",SLOT:2,2:"SLOT",TEMPLATE:3,3:"TEMPLATE"},ConstantTypes={NOT_CONSTANT:0,0:"NOT_CONSTANT",CAN_SKIP_PATCH:1,1:"CAN_SKIP_PATCH",CAN_CACHE:2,2:"CAN_CACHE",CAN_STRINGIFY:3,3:"CAN_STRINGIFY"},locStub={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function createRoot(n,r=""){return{type:0,source:r,children:n,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:locStub}}function createVNodeCall(n,r,o,a,s,l,c,u=!1,d=!1,f=!1,m=locStub){return n&&(u?(n.helper(OPEN_BLOCK),n.helper(getVNodeBlockHelper(n.inSSR,f))):n.helper(getVNodeHelper(n.inSSR,f)),c&&n.helper(WITH_DIRECTIVES)),{type:13,tag:r,props:o,children:a,patchFlag:s,dynamicProps:l,directives:c,isBlock:u,disableTracking:d,isComponent:f,loc:m}}function createArrayExpression(n,r=locStub){return{type:17,loc:r,elements:n}}function createObjectExpression(n,r=locStub){return{type:15,loc:r,properties:n}}function createObjectProperty(n,r){return{type:16,loc:locStub,key:isString$1(n)?createSimpleExpression(n,!0):n,value:r}}function createSimpleExpression(n,r=!1,o=locStub,a=0){return{type:4,loc:o,content:n,isStatic:r,constType:r?3:a}}function createInterpolation(n,r){return{type:5,loc:r,content:isString$1(n)?createSimpleExpression(n,!1,r):n}}function createCompoundExpression(n,r=locStub){return{type:8,loc:r,children:n}}function createCallExpression(n,r=[],o=locStub){return{type:14,loc:o,callee:n,arguments:r}}function createFunctionExpression(n,r=void 0,o=!1,a=!1,s=locStub){return{type:18,params:n,returns:r,newline:o,isSlot:a,loc:s}}function createConditionalExpression(n,r,o,a=!0){return{type:19,test:n,consequent:r,alternate:o,newline:a,loc:locStub}}function createCacheExpression(n,r,o=!1,a=!1){return{type:20,index:n,value:r,needPauseTracking:o,inVOnce:a,needArraySpread:!1,loc:locStub}}function createBlockStatement(n){return{type:21,body:n,loc:locStub}}function createTemplateLiteral(n){return{type:22,elements:n,loc:locStub}}function createIfStatement(n,r,o){return{type:23,test:n,consequent:r,alternate:o,loc:locStub}}function createAssignmentExpression(n,r){return{type:24,left:n,right:r,loc:locStub}}function createSequenceExpression(n){return{type:25,expressions:n,loc:locStub}}function createReturnStatement(n){return{type:26,returns:n,loc:locStub}}function getVNodeHelper(n,r){return n||r?CREATE_VNODE:CREATE_ELEMENT_VNODE}function getVNodeBlockHelper(n,r){return n||r?CREATE_BLOCK:CREATE_ELEMENT_BLOCK}function convertToBlock(n,{helper:r,removeHelper:o,inSSR:a}){n.isBlock||(n.isBlock=!0,o(getVNodeHelper(a,n.isComponent)),r(OPEN_BLOCK),r(getVNodeBlockHelper(a,n.isComponent)))}const defaultDelimitersOpen=new Uint8Array([123,123]),defaultDelimitersClose=new Uint8Array([125,125]);function isTagStartChar(n){return n>=97&&n<=122||n>=65&&n<=90}function isWhitespace(n){return 32===n||10===n||9===n||12===n||13===n}function isEndOfTagSection(n){return 47===n||62===n||isWhitespace(n)}function toCharCodes(n){const r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);return r}const Sequences={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])};class Tokenizer{constructor(n,r){this.stack=n,this.cbs=r,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=defaultDelimitersOpen,this.delimiterClose=defaultDelimitersClose,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=defaultDelimitersOpen,this.delimiterClose=defaultDelimitersClose}getPos(n){let r=1,o=n+1;for(let a=this.newlines.length-1;a>=0;a--){const s=this.newlines[a];if(n>s){r=a+2,o=n-s;break}}return{column:o,line:r,offset:n}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(n){60===n?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||n!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(n))}stateInterpolationOpen(n){if(n===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const n=this.index+1-this.delimiterOpen.length;n>this.sectionStart&&this.cbs.ontext(this.sectionStart,n),this.state=3,this.sectionStart=n}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(n)):(this.state=1,this.stateText(n))}stateInterpolation(n){n===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(n))}stateInterpolationClose(n){n===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(n))}stateSpecialStartSequence(n){const r=this.sequenceIndex===this.currentSequence.length;if(r?isEndOfTagSection(n):(32|n)===this.currentSequence[this.sequenceIndex]){if(!r)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(n)}stateInRCDATA(n){if(this.sequenceIndex===this.currentSequence.length){if(62===n||isWhitespace(n)){const r=this.index-this.currentSequence.length;if(this.sectionStart<r){const n=this.index;this.index=r,this.cbs.ontext(this.sectionStart,r),this.index=n}return this.sectionStart=r+2,this.stateInClosingTagName(n),void(this.inRCDATA=!1)}this.sequenceIndex=0}(32|n)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:0===this.sequenceIndex?this.currentSequence===Sequences.TitleEnd||this.currentSequence===Sequences.TextareaEnd&&!this.inSFCRoot?this.inVPre||n!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(n)):this.fastForwardTo(60)&&(this.sequenceIndex=1):this.sequenceIndex=Number(60===n)}stateCDATASequence(n){n===Sequences.Cdata[this.sequenceIndex]?++this.sequenceIndex===Sequences.Cdata.length&&(this.state=28,this.currentSequence=Sequences.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=23,this.stateInDeclaration(n))}fastForwardTo(n){for(;++this.index<this.buffer.length;){const r=this.buffer.charCodeAt(this.index);if(10===r&&this.newlines.push(this.index),r===n)return!0}return this.index=this.buffer.length-1,!1}stateInCommentLike(n){n===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Sequences.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index-2):this.cbs.oncomment(this.sectionStart,this.index-2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=1):0===this.sequenceIndex?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):n!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}startSpecial(n,r){this.enterRCDATA(n,r),this.state=31}enterRCDATA(n,r){this.inRCDATA=!0,this.currentSequence=n,this.sequenceIndex=r}stateBeforeTagName(n){33===n?(this.state=22,this.sectionStart=this.index+1):63===n?(this.state=24,this.sectionStart=this.index+1):isTagStartChar(n)?(this.sectionStart=this.index,0===this.mode?this.state=6:this.inSFCRoot?this.state=34:this.inXML?this.state=6:this.state=116===n?30:115===n?29:6):47===n?this.state=8:(this.state=1,this.stateText(n))}stateInTagName(n){isEndOfTagSection(n)&&this.handleTagName(n)}stateInSFCRootTagName(n){if(isEndOfTagSection(n)){const r=this.buffer.slice(this.sectionStart,this.index);"template"!==r&&this.enterRCDATA(toCharCodes("</"+r),0),this.handleTagName(n)}}handleTagName(n){this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(n)}stateBeforeClosingTagName(n){isWhitespace(n)||(62===n?(this.state=1,this.sectionStart=this.index+1):(this.state=isTagStartChar(n)?9:27,this.sectionStart=this.index))}stateInClosingTagName(n){(62===n||isWhitespace(n))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=10,this.stateAfterClosingTagName(n))}stateAfterClosingTagName(n){62===n&&(this.state=1,this.sectionStart=this.index+1)}stateBeforeAttrName(n){62===n?(this.cbs.onopentagend(this.index),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):47===n?this.state=7:60===n&&47===this.peek()?(this.cbs.onopentagend(this.index),this.state=5,this.sectionStart=this.index):isWhitespace(n)||this.handleAttrStart(n)}handleAttrStart(n){118===n&&45===this.peek()?(this.state=13,this.sectionStart=this.index):46===n||58===n||64===n||35===n?(this.cbs.ondirname(this.index,this.index+1),this.state=14,this.sectionStart=this.index+1):(this.state=12,this.sectionStart=this.index)}stateInSelfClosingTag(n){62===n?(this.cbs.onselfclosingtag(this.index),this.state=1,this.sectionStart=this.index+1,this.inRCDATA=!1):isWhitespace(n)||(this.state=11,this.stateBeforeAttrName(n))}stateInAttrName(n){(61===n||isEndOfTagSection(n))&&(this.cbs.onattribname(this.sectionStart,this.index),this.handleAttrNameEnd(n))}stateInDirName(n){61===n||isEndOfTagSection(n)?(this.cbs.ondirname(this.sectionStart,this.index),this.handleAttrNameEnd(n)):58===n?(this.cbs.ondirname(this.sectionStart,this.index),this.state=14,this.sectionStart=this.index+1):46===n&&(this.cbs.ondirname(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDirArg(n){61===n||isEndOfTagSection(n)?(this.cbs.ondirarg(this.sectionStart,this.index),this.handleAttrNameEnd(n)):91===n?this.state=15:46===n&&(this.cbs.ondirarg(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDynamicDirArg(n){93===n?this.state=14:(61===n||isEndOfTagSection(n))&&(this.cbs.ondirarg(this.sectionStart,this.index+1),this.handleAttrNameEnd(n))}stateInDirModifier(n){61===n||isEndOfTagSection(n)?(this.cbs.ondirmodifier(this.sectionStart,this.index),this.handleAttrNameEnd(n)):46===n&&(this.cbs.ondirmodifier(this.sectionStart,this.index),this.sectionStart=this.index+1)}handleAttrNameEnd(n){this.sectionStart=this.index,this.state=17,this.cbs.onattribnameend(this.index),this.stateAfterAttrName(n)}stateAfterAttrName(n){61===n?this.state=18:47===n||62===n?(this.cbs.onattribend(0,this.sectionStart),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(n)):isWhitespace(n)||(this.cbs.onattribend(0,this.sectionStart),this.handleAttrStart(n))}stateBeforeAttrValue(n){34===n?(this.state=19,this.sectionStart=this.index+1):39===n?(this.state=20,this.sectionStart=this.index+1):isWhitespace(n)||(this.sectionStart=this.index,this.state=21,this.stateInAttrValueNoQuotes(n))}handleInAttrValue(n,r){(n===r||this.fastForwardTo(r))&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(34===r?3:2,this.index+1),this.state=11)}stateInAttrValueDoubleQuotes(n){this.handleInAttrValue(n,34)}stateInAttrValueSingleQuotes(n){this.handleInAttrValue(n,39)}stateInAttrValueNoQuotes(n){isWhitespace(n)||62===n?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(1,this.index),this.state=11,this.stateBeforeAttrName(n)):39!==n&&60!==n&&61!==n&&96!==n||this.cbs.onerr(18,this.index)}stateBeforeDeclaration(n){91===n?(this.state=26,this.sequenceIndex=0):this.state=45===n?25:23}stateInDeclaration(n){(62===n||this.fastForwardTo(62))&&(this.state=1,this.sectionStart=this.index+1)}stateInProcessingInstruction(n){(62===n||this.fastForwardTo(62))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeComment(n){45===n?(this.state=28,this.currentSequence=Sequences.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=23}stateInSpecialComment(n){(62===n||this.fastForwardTo(62))&&(this.cbs.oncomment(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeSpecialS(n){n===Sequences.ScriptEnd[3]?this.startSpecial(Sequences.ScriptEnd,4):n===Sequences.StyleEnd[3]?this.startSpecial(Sequences.StyleEnd,4):(this.state=6,this.stateInTagName(n))}stateBeforeSpecialT(n){n===Sequences.TitleEnd[3]?this.startSpecial(Sequences.TitleEnd,4):n===Sequences.TextareaEnd[3]?this.startSpecial(Sequences.TextareaEnd,4):(this.state=6,this.stateInTagName(n))}startEntity(){}stateInEntity(){}parse(n){for(this.buffer=n;this.index<this.buffer.length;){const n=this.buffer.charCodeAt(this.index);switch(10===n&&this.newlines.push(this.index),this.state){case 1:this.stateText(n);break;case 2:this.stateInterpolationOpen(n);break;case 3:this.stateInterpolation(n);break;case 4:this.stateInterpolationClose(n);break;case 31:this.stateSpecialStartSequence(n);break;case 32:this.stateInRCDATA(n);break;case 26:this.stateCDATASequence(n);break;case 19:this.stateInAttrValueDoubleQuotes(n);break;case 12:this.stateInAttrName(n);break;case 13:this.stateInDirName(n);break;case 14:this.stateInDirArg(n);break;case 15:this.stateInDynamicDirArg(n);break;case 16:this.stateInDirModifier(n);break;case 28:this.stateInCommentLike(n);break;case 27:this.stateInSpecialComment(n);break;case 11:this.stateBeforeAttrName(n);break;case 6:this.stateInTagName(n);break;case 34:this.stateInSFCRootTagName(n);break;case 9:this.stateInClosingTagName(n);break;case 5:this.stateBeforeTagName(n);break;case 17:this.stateAfterAttrName(n);break;case 20:this.stateInAttrValueSingleQuotes(n);break;case 18:this.stateBeforeAttrValue(n);break;case 8:this.stateBeforeClosingTagName(n);break;case 10:this.stateAfterClosingTagName(n);break;case 29:this.stateBeforeSpecialS(n);break;case 30:this.stateBeforeSpecialT(n);break;case 21:this.stateInAttrValueNoQuotes(n);break;case 7:this.stateInSelfClosingTag(n);break;case 23:this.stateInDeclaration(n);break;case 22:this.stateBeforeDeclaration(n);break;case 25:this.stateBeforeComment(n);break;case 24:this.stateInProcessingInstruction(n);break;case 33:this.stateInEntity()}this.index++}this.cleanup(),this.finish()}cleanup(){this.sectionStart!==this.index&&(1===this.state||32===this.state&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):19!==this.state&&20!==this.state&&21!==this.state||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}finish(){this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const n=this.buffer.length;this.sectionStart>=n||(28===this.state?this.currentSequence===Sequences.CdataEnd?this.cbs.oncdata(this.sectionStart,n):this.cbs.oncomment(this.sectionStart,n):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,n))}emitCodePoint(n,r){}}const CompilerDeprecationTypes={COMPILER_IS_ON_ELEMENT:"COMPILER_IS_ON_ELEMENT",COMPILER_V_BIND_SYNC:"COMPILER_V_BIND_SYNC",COMPILER_V_BIND_OBJECT_ORDER:"COMPILER_V_BIND_OBJECT_ORDER",COMPILER_V_ON_NATIVE:"COMPILER_V_ON_NATIVE",COMPILER_V_IF_V_FOR_PRECEDENCE:"COMPILER_V_IF_V_FOR_PRECEDENCE",COMPILER_NATIVE_TEMPLATE:"COMPILER_NATIVE_TEMPLATE",COMPILER_INLINE_TEMPLATE:"COMPILER_INLINE_TEMPLATE",COMPILER_FILTERS:"COMPILER_FILTERS"},deprecationData={COMPILER_IS_ON_ELEMENT:{message:'Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".',link:"https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html"},COMPILER_V_BIND_SYNC:{message:n=>`.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${n}.sync\` should be changed to \`v-model:${n}\`.`,link:"https://v3-migration.vuejs.org/breaking-changes/v-model.html"},COMPILER_V_BIND_OBJECT_ORDER:{message:'v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.',link:"https://v3-migration.vuejs.org/breaking-changes/v-bind.html"},COMPILER_V_ON_NATIVE:{message:".native modifier for v-on has been removed as is no longer necessary.",link:"https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html"},COMPILER_V_IF_V_FOR_PRECEDENCE:{message:"v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.",link:"https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html"},COMPILER_NATIVE_TEMPLATE:{message:"<template> with no special directives will render as a native template element instead of its inner content in Vue 3."},COMPILER_INLINE_TEMPLATE:{message:'"inline-template" has been removed in Vue 3.',link:"https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html"},COMPILER_FILTERS:{message:'filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.',link:"https://v3-migration.vuejs.org/breaking-changes/filters.html"}};function getCompatValue(n,{compatConfig:r}){const o=r&&r[n];return"MODE"===n?o||3:o}function isCompatEnabled(n,r){const o=getCompatValue("MODE",r),a=getCompatValue(n,r);return 3===o?!0===a:!1!==a}function checkCompatEnabled(n,r,o,...a){return isCompatEnabled(n,r)}function warnDeprecation(n,r,o,...a){if("suppress-warning"===getCompatValue(n,r))return;const{message:s,link:l}=deprecationData[n],c=`(deprecation ${n}) ${"function"==typeof s?s(...a):s}${l?`\n Details: ${l}`:""}`,u=new SyntaxError(c);u.code=n,o&&(u.loc=o),r.onWarn(u)}function defaultOnError(n){throw n}function defaultOnWarn(n){}function createCompilerError(n,r,o,a){const s=new SyntaxError(String(`https://vuejs.org/error-reference/#compiler-${n}`));return s.code=n,s.loc=r,s}const ErrorCodes={ABRUPT_CLOSING_OF_EMPTY_COMMENT:0,0:"ABRUPT_CLOSING_OF_EMPTY_COMMENT",CDATA_IN_HTML_CONTENT:1,1:"CDATA_IN_HTML_CONTENT",DUPLICATE_ATTRIBUTE:2,2:"DUPLICATE_ATTRIBUTE",END_TAG_WITH_ATTRIBUTES:3,3:"END_TAG_WITH_ATTRIBUTES",END_TAG_WITH_TRAILING_SOLIDUS:4,4:"END_TAG_WITH_TRAILING_SOLIDUS",EOF_BEFORE_TAG_NAME:5,5:"EOF_BEFORE_TAG_NAME",EOF_IN_CDATA:6,6:"EOF_IN_CDATA",EOF_IN_COMMENT:7,7:"EOF_IN_COMMENT",EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT:8,8:"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT",EOF_IN_TAG:9,9:"EOF_IN_TAG",INCORRECTLY_CLOSED_COMMENT:10,10:"INCORRECTLY_CLOSED_COMMENT",INCORRECTLY_OPENED_COMMENT:11,11:"INCORRECTLY_OPENED_COMMENT",INVALID_FIRST_CHARACTER_OF_TAG_NAME:12,12:"INVALID_FIRST_CHARACTER_OF_TAG_NAME",MISSING_ATTRIBUTE_VALUE:13,13:"MISSING_ATTRIBUTE_VALUE",MISSING_END_TAG_NAME:14,14:"MISSING_END_TAG_NAME",MISSING_WHITESPACE_BETWEEN_ATTRIBUTES:15,15:"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES",NESTED_COMMENT:16,16:"NESTED_COMMENT",UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME:17,17:"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME",UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE:18,18:"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE",UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME:19,19:"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME",UNEXPECTED_NULL_CHARACTER:20,20:"UNEXPECTED_NULL_CHARACTER",UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME:21,21:"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME",UNEXPECTED_SOLIDUS_IN_TAG:22,22:"UNEXPECTED_SOLIDUS_IN_TAG",X_INVALID_END_TAG:23,23:"X_INVALID_END_TAG",X_MISSING_END_TAG:24,24:"X_MISSING_END_TAG",X_MISSING_INTERPOLATION_END:25,25:"X_MISSING_INTERPOLATION_END",X_MISSING_DIRECTIVE_NAME:26,26:"X_MISSING_DIRECTIVE_NAME",X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END:27,27:"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END",X_V_IF_NO_EXPRESSION:28,28:"X_V_IF_NO_EXPRESSION",X_V_IF_SAME_KEY:29,29:"X_V_IF_SAME_KEY",X_V_ELSE_NO_ADJACENT_IF:30,30:"X_V_ELSE_NO_ADJACENT_IF",X_V_FOR_NO_EXPRESSION:31,31:"X_V_FOR_NO_EXPRESSION",X_V_FOR_MALFORMED_EXPRESSION:32,32:"X_V_FOR_MALFORMED_EXPRESSION",X_V_FOR_TEMPLATE_KEY_PLACEMENT:33,33:"X_V_FOR_TEMPLATE_KEY_PLACEMENT",X_V_BIND_NO_EXPRESSION:34,34:"X_V_BIND_NO_EXPRESSION",X_V_ON_NO_EXPRESSION:35,35:"X_V_ON_NO_EXPRESSION",X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET:36,36:"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET",X_V_SLOT_MIXED_SLOT_USAGE:37,37:"X_V_SLOT_MIXED_SLOT_USAGE",X_V_SLOT_DUPLICATE_SLOT_NAMES:38,38:"X_V_SLOT_DUPLICATE_SLOT_NAMES",X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN:39,39:"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN",X_V_SLOT_MISPLACED:40,40:"X_V_SLOT_MISPLACED",X_V_MODEL_NO_EXPRESSION:41,41:"X_V_MODEL_NO_EXPRESSION",X_V_MODEL_MALFORMED_EXPRESSION:42,42:"X_V_MODEL_MALFORMED_EXPRESSION",X_V_MODEL_ON_SCOPE_VARIABLE:43,43:"X_V_MODEL_ON_SCOPE_VARIABLE",X_V_MODEL_ON_PROPS:44,44:"X_V_MODEL_ON_PROPS",X_INVALID_EXPRESSION:45,45:"X_INVALID_EXPRESSION",X_KEEP_ALIVE_INVALID_CHILDREN:46,46:"X_KEEP_ALIVE_INVALID_CHILDREN",X_PREFIX_ID_NOT_SUPPORTED:47,47:"X_PREFIX_ID_NOT_SUPPORTED",X_MODULE_MODE_NOT_SUPPORTED:48,48:"X_MODULE_MODE_NOT_SUPPORTED",X_CACHE_HANDLER_NOT_SUPPORTED:49,49:"X_CACHE_HANDLER_NOT_SUPPORTED",X_SCOPE_ID_NOT_SUPPORTED:50,50:"X_SCOPE_ID_NOT_SUPPORTED",X_VNODE_HOOKS:51,51:"X_VNODE_HOOKS",X_V_BIND_INVALID_SAME_NAME_ARGUMENT:52,52:"X_V_BIND_INVALID_SAME_NAME_ARGUMENT",__EXTEND_POINT__:53,53:"__EXTEND_POINT__"},errorMessages={0:"Illegal comment.",1:"CDATA section is allowed only in XML context.",2:"Duplicate attribute.",3:"End tag cannot have attributes.",4:"Illegal '/' in tags.",5:"Unexpected EOF in tag.",6:"Unexpected EOF in CDATA section.",7:"Unexpected EOF in comment.",8:"Unexpected EOF in script.",9:"Unexpected EOF in tag.",10:"Incorrectly closed comment.",11:"Incorrectly opened comment.",12:"Illegal tag name. Use '<' to print '<'.",13:"Attribute value was expected.",14:"End tag name was expected.",15:"Whitespace was expected.",16:"Unexpected '\x3c!--' in comment.",17:"Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).",18:"Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).",19:"Attribute name cannot start with '='.",21:"'<?' is allowed only in XML context.",20:"Unexpected null character.",22:"Illegal '/' in tags.",23:"Invalid end tag.",24:"Element is missing end tag.",25:"Interpolation end sign was not found.",27:"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.",26:"Legal directive name was expected.",28:"v-if/v-else-if is missing expression.",29:"v-if/else branches must use unique keys.",30:"v-else/v-else-if has no adjacent v-if or v-else-if.",31:"v-for is missing expression.",32:"v-for has invalid expression.",33:"<template v-for> key should be placed on the <template> tag.",34:"v-bind is missing expression.",52:"v-bind with same-name shorthand only allows static argument.",35:"v-on is missing expression.",36:"Unexpected custom directive on <slot> outlet.",37:"Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.",38:"Duplicate slot names found. ",39:"Extraneous children found when component already has explicitly named default slot. These children will be ignored.",40:"v-slot can only be used on components or <template> tags.",41:"v-model is missing expression.",42:"v-model value must be a valid JavaScript member expression.",43:"v-model cannot be used on v-for or v-slot scope variables because they are not writable.",44:"v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.",45:"Error parsing JavaScript expression: ",46:"<KeepAlive> expects exactly one child component.",51:"@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.",47:'"prefixIdentifiers" option is not supported in this build of compiler.',48:"ES module mode is not supported in this build of compiler.",49:'"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.',50:'"scopeId" option is only supported in module mode.',53:""};function walkIdentifiers(n,r,o=!1,a=[],s=Object.create(null)){}function isReferencedIdentifier(n,r,o){return!1}function isInDestructureAssignment(n,r){if(n&&("ObjectProperty"===n.type||"ArrayPattern"===n.type)){let n=r.length;for(;n--;){const o=r[n];if("AssignmentExpression"===o.type)return!0;if("ObjectProperty"!==o.type&&!o.type.endsWith("Pattern"))break}}return!1}function isInNewExpression(n){let r=n.length;for(;r--;){const o=n[r];if("NewExpression"===o.type)return!0;if("MemberExpression"!==o.type)break}return!1}function walkFunctionParams(n,r){for(const o of n.params)for(const n of extractIdentifiers(o))r(n)}function walkBlockDeclarations(n,r){for(const o of n.body)if("VariableDeclaration"===o.type){if(o.declare)continue;for(const n of o.declarations)for(const o of extractIdentifiers(n.id))r(o)}else if("FunctionDeclaration"===o.type||"ClassDeclaration"===o.type){if(o.declare||!o.id)continue;r(o.id)}else isForStatement(o)&&walkForStatement(o,!0,r)}function isForStatement(n){return"ForOfStatement"===n.type||"ForInStatement"===n.type||"ForStatement"===n.type}function walkForStatement(n,r,o){const a="ForStatement"===n.type?n.init:n.left;if(a&&"VariableDeclaration"===a.type&&("var"===a.kind?r:!r))for(const s of a.declarations)for(const n of extractIdentifiers(s.id))o(n)}function extractIdentifiers(n,r=[]){switch(n.type){case"Identifier":r.push(n);break;case"MemberExpression":let o=n;for(;"MemberExpression"===o.type;)o=o.object;r.push(o);break;case"ObjectPattern":for(const a of n.properties)"RestElement"===a.type?extractIdentifiers(a.argument,r):extractIdentifiers(a.value,r);break;case"ArrayPattern":n.elements.forEach((n=>{n&&extractIdentifiers(n,r)}));break;case"RestElement":extractIdentifiers(n.argument,r);break;case"AssignmentPattern":extractIdentifiers(n.left,r)}return r}const isFunctionType=n=>/Function(?:Expression|Declaration)$|Method$/.test(n.type),isStaticProperty=n=>n&&("ObjectProperty"===n.type||"ObjectMethod"===n.type)&&!n.computed,isStaticPropertyKey=(n,r)=>isStaticProperty(r)&&r.key===n,TS_NODE_TYPES=["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"];function unwrapTSNode(n){return TS_NODE_TYPES.includes(n.type)?unwrapTSNode(n.expression):n}const isStaticExp=n=>4===n.type&&n.isStatic;function isCoreComponent(n){switch(n){case"Teleport":case"teleport":return TELEPORT;case"Suspense":case"suspense":return SUSPENSE;case"KeepAlive":case"keep-alive":return KEEP_ALIVE;case"BaseTransition":case"base-transition":return BASE_TRANSITION}}const nonIdentifierRE=/^\d|[^\$\w\xA0-\uFFFF]/,isSimpleIdentifier=n=>!nonIdentifierRE.test(n),validFirstIdentCharRE=/[A-Za-z_$\xA0-\uFFFF]/,validIdentCharRE=/[\.\?\w$\xA0-\uFFFF]/,whitespaceRE=/\s+[.[]\s*|\s*[.[]\s+/g,getExpSource=n=>4===n.type?n.content:n.loc.source,isMemberExpressionBrowser=n=>{const r=getExpSource(n).trim().replace(whitespaceRE,(n=>n.trim()));let o=0,a=[],s=0,l=0,c=null;for(let u=0;u<r.length;u++){const n=r.charAt(u);switch(o){case 0:if("["===n)a.push(o),o=1,s++;else if("("===n)a.push(o),o=2,l++;else if(!(0===u?validFirstIdentCharRE:validIdentCharRE).test(n))return!1;break;case 1:"'"===n||'"'===n||"`"===n?(a.push(o),o=3,c=n):"["===n?s++:"]"===n&&(--s||(o=a.pop()));break;case 2:if("'"===n||'"'===n||"`"===n)a.push(o),o=3,c=n;else if("("===n)l++;else if(")"===n){if(u===r.length-1)return!1;--l||(o=a.pop())}break;case 3:n===c&&(o=a.pop(),c=null)}}return!s&&!l},isMemberExpressionNode=NOOP,isMemberExpression=isMemberExpressionBrowser,fnExpRE=/^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,isFnExpressionBrowser=n=>fnExpRE.test(getExpSource(n)),isFnExpressionNode=NOOP,isFnExpression=isFnExpressionBrowser;function advancePositionWithClone(n,r,o=r.length){return advancePositionWithMutation({offset:n.offset,line:n.line,column:n.column},r,o)}function advancePositionWithMutation(n,r,o=r.length){let a=0,s=-1;for(let l=0;l<o;l++)10===r.charCodeAt(l)&&(a++,s=l);return n.offset+=o,n.line+=a,n.column=-1===s?n.column+o:o-s,n}function assert(n,r){if(!n)throw new Error(r||"unexpected compiler condition")}function findDir(n,r,o=!1){for(let a=0;a<n.props.length;a++){const s=n.props[a];if(7===s.type&&(o||s.exp)&&(isString$1(r)?s.name===r:r.test(s.name)))return s}}function findProp(n,r,o=!1,a=!1){for(let s=0;s<n.props.length;s++){const l=n.props[s];if(6===l.type){if(o)continue;if(l.name===r&&(l.value||a))return l}else if("bind"===l.name&&(l.exp||a)&&isStaticArgOf(l.arg,r))return l}}function isStaticArgOf(n,r){return!(!n||!isStaticExp(n)||n.content!==r)}function hasDynamicKeyVBind(n){return n.props.some((n=>!(7!==n.type||"bind"!==n.name||n.arg&&4===n.arg.type&&n.arg.isStatic)))}function isText$1(n){return 5===n.type||2===n.type}function isVSlot(n){return 7===n.type&&"slot"===n.name}function isTemplateNode(n){return 1===n.type&&3===n.tagType}function isSlotOutlet(n){return 1===n.type&&2===n.tagType}const propsHelperSet=new Set([NORMALIZE_PROPS,GUARD_REACTIVE_PROPS]);function getUnnormalizedProps(n,r=[]){if(n&&!isString$1(n)&&14===n.type){const o=n.callee;if(!isString$1(o)&&propsHelperSet.has(o))return getUnnormalizedProps(n.arguments[0],r.concat(n))}return[n,r]}function injectProp(n,r,o){let a,s,l=13===n.type?n.props:n.arguments[2],c=[];if(l&&!isString$1(l)&&14===l.type){const n=getUnnormalizedProps(l);l=n[0],c=n[1],s=c[c.length-1]}if(null==l||isString$1(l))a=createObjectExpression([r]);else if(14===l.type){const n=l.arguments[0];isString$1(n)||15!==n.type?l.callee===TO_HANDLERS?a=createCallExpression(o.helper(MERGE_PROPS),[createObjectExpression([r]),l]):l.arguments.unshift(createObjectExpression([r])):hasProp(r,n)||n.properties.unshift(r),!a&&(a=l)}else 15===l.type?(hasProp(r,l)||l.properties.unshift(r),a=l):(a=createCallExpression(o.helper(MERGE_PROPS),[createObjectExpression([r]),l]),s&&s.callee===GUARD_REACTIVE_PROPS&&(s=c[c.length-2]));13===n.type?s?s.arguments[0]=a:n.props=a:s?s.arguments[0]=a:n.arguments[2]=a}function hasProp(n,r){let o=!1;if(4===n.key.type){const a=n.key.content;o=r.properties.some((n=>4===n.key.type&&n.key.content===a))}return o}function toValidAssetId(n,r){return`_${r}_${n.replace(/[^\w]/g,((r,o)=>"-"===r?"_":n.charCodeAt(o).toString()))}`}function hasScopeRef(n,r){if(!n||0===Object.keys(r).length)return!1;switch(n.type){case 1:for(let o=0;o<n.props.length;o++){const a=n.props[o];if(7===a.type&&(hasScopeRef(a.arg,r)||hasScopeRef(a.exp,r)))return!0}return n.children.some((n=>hasScopeRef(n,r)));case 11:return!!hasScopeRef(n.source,r)||n.children.some((n=>hasScopeRef(n,r)));case 9:return n.branches.some((n=>hasScopeRef(n,r)));case 10:return!!hasScopeRef(n.condition,r)||n.children.some((n=>hasScopeRef(n,r)));case 4:return!n.isStatic&&isSimpleIdentifier(n.content)&&!!r[n.content];case 8:return n.children.some((n=>isObject$2(n)&&hasScopeRef(n,r)));case 5:case 12:return hasScopeRef(n.content,r);default:return!1}}function getMemoedVNodeCall(n){return 14===n.type&&n.callee===WITH_MEMO?n.arguments[1].returns:n}const forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,defaultParserOptions={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:NO,isPreTag:NO,isIgnoreNewlineTag:NO,isCustomElement:NO,onError:defaultOnError,onWarn:defaultOnWarn,comments:!1,prefixIdentifiers:!1};let currentOptions=defaultParserOptions,currentRoot=null,currentInput="",currentOpenTag=null,currentProp=null,currentAttrValue="",currentAttrStartIndex=-1,currentAttrEndIndex=-1,inPre=0,inVPre=!1,currentVPreBoundary=null;const stack=[],tokenizer=new Tokenizer(stack,{onerr:emitError,ontext(n,r){onText(getSlice(n,r),n,r)},ontextentity(n,r,o){onText(n,r,o)},oninterpolation(n,r){if(inVPre)return onText(getSlice(n,r),n,r);let o=n+tokenizer.delimiterOpen.length,a=r-tokenizer.delimiterClose.length;for(;isWhitespace(currentInput.charCodeAt(o));)o++;for(;isWhitespace(currentInput.charCodeAt(a-1));)a--;let s=getSlice(o,a);s.includes("&")&&(s=currentOptions.decodeEntities(s,!1)),addNode({type:5,content:createExp(s,!1,getLoc(o,a)),loc:getLoc(n,r)})},onopentagname(n,r){const o=getSlice(n,r);currentOpenTag={type:1,tag:o,ns:currentOptions.getNamespace(o,stack[0],currentOptions.ns),tagType:0,props:[],children:[],loc:getLoc(n-1,r),codegenNode:void 0}},onopentagend(n){endOpenTag(n)},onclosetag(n,r){const o=getSlice(n,r);if(!currentOptions.isVoidTag(o)){let a=!1;for(let n=0;n<stack.length;n++){if(stack[n].tag.toLowerCase()===o.toLowerCase()){a=!0,n>0&&emitError(24,stack[0].loc.start.offset);for(let o=0;o<=n;o++){onCloseTag(stack.shift(),r,o<n)}break}}a||emitError(23,backTrack(n,60))}},onselfclosingtag(n){const r=currentOpenTag.tag;currentOpenTag.isSelfClosing=!0,endOpenTag(n),stack[0]&&stack[0].tag===r&&onCloseTag(stack.shift(),n)},onattribname(n,r){currentProp={type:6,name:getSlice(n,r),nameLoc:getLoc(n,r),value:void 0,loc:getLoc(n)}},ondirname(n,r){const o=getSlice(n,r),a="."===o||":"===o?"bind":"@"===o?"on":"#"===o?"slot":o.slice(2);if(inVPre||""!==a||emitError(26,n),inVPre||""===a)currentProp={type:6,name:o,nameLoc:getLoc(n,r),value:void 0,loc:getLoc(n)};else if(currentProp={type:7,name:a,rawName:o,exp:void 0,arg:void 0,modifiers:"."===o?[createSimpleExpression("prop")]:[],loc:getLoc(n)},"pre"===a){inVPre=tokenizer.inVPre=!0,currentVPreBoundary=currentOpenTag;const n=currentOpenTag.props;for(let r=0;r<n.length;r++)7===n[r].type&&(n[r]=dirToAttr(n[r]))}},ondirarg(n,r){if(n===r)return;const o=getSlice(n,r);if(inVPre)currentProp.name+=o,setLocEnd(currentProp.nameLoc,r);else{const a="["!==o[0];currentProp.arg=createExp(a?o:o.slice(1,-1),a,getLoc(n,r),a?3:0)}},ondirmodifier(n,r){const o=getSlice(n,r);if(inVPre)currentProp.name+="."+o,setLocEnd(currentProp.nameLoc,r);else if("slot"===currentProp.name){const n=currentProp.arg;n&&(n.content+="."+o,setLocEnd(n.loc,r))}else{const a=createSimpleExpression(o,!0,getLoc(n,r));currentProp.modifiers.push(a)}},onattribdata(n,r){currentAttrValue+=getSlice(n,r),currentAttrStartIndex<0&&(currentAttrStartIndex=n),currentAttrEndIndex=r},onattribentity(n,r,o){currentAttrValue+=n,currentAttrStartIndex<0&&(currentAttrStartIndex=r),currentAttrEndIndex=o},onattribnameend(n){const r=currentProp.loc.start.offset,o=getSlice(r,n);7===currentProp.type&&(currentProp.rawName=o),currentOpenTag.props.some((n=>(7===n.type?n.rawName:n.name)===o))&&emitError(2,r)},onattribend(n,r){if(currentOpenTag&¤tProp){if(setLocEnd(currentProp.loc,r),0!==n)if(currentAttrValue.includes("&")&&(currentAttrValue=currentOptions.decodeEntities(currentAttrValue,!0)),6===currentProp.type)"class"===currentProp.name&&(currentAttrValue=condense(currentAttrValue).trim()),1!==n||currentAttrValue||emitError(13,r),currentProp.value={type:2,content:currentAttrValue,loc:1===n?getLoc(currentAttrStartIndex,currentAttrEndIndex):getLoc(currentAttrStartIndex-1,currentAttrEndIndex+1)},tokenizer.inSFCRoot&&"template"===currentOpenTag.tag&&"lang"===currentProp.name&¤tAttrValue&&"html"!==currentAttrValue&&tokenizer.enterRCDATA(toCharCodes("</template"),0);else{let n=0;currentProp.exp=createExp(currentAttrValue,!1,getLoc(currentAttrStartIndex,currentAttrEndIndex),0,n),"for"===currentProp.name&&(currentProp.forParseResult=parseForExpression(currentProp.exp));let r=-1;"bind"===currentProp.name&&(r=currentProp.modifiers.findIndex((n=>"sync"===n.content)))>-1&&checkCompatEnabled("COMPILER_V_BIND_SYNC",currentOptions,currentProp.loc,currentProp.rawName)&&(currentProp.name="model",currentProp.modifiers.splice(r,1))}7===currentProp.type&&"pre"===currentProp.name||currentOpenTag.props.push(currentProp)}currentAttrValue="",currentAttrStartIndex=currentAttrEndIndex=-1},oncomment(n,r){currentOptions.comments&&addNode({type:3,content:getSlice(n,r),loc:getLoc(n-4,r+3)})},onend(){const n=currentInput.length;for(let r=0;r<stack.length;r++)onCloseTag(stack[r],n-1),emitError(24,stack[r].loc.start.offset)},oncdata(n,r){0!==stack[0].ns?onText(getSlice(n,r),n,r):emitError(1,n-9)},onprocessinginstruction(n){0===(stack[0]?stack[0].ns:currentOptions.ns)&&emitError(21,n-1)}}),forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g;function parseForExpression(n){const r=n.loc,o=n.content,a=o.match(forAliasRE);if(!a)return;const[,s,l]=a,c=(n,o,a=!1)=>{const s=r.start.offset+o;return createExp(n,!1,getLoc(s,s+n.length),0,a?1:0)},u={source:c(l.trim(),o.indexOf(l,s.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let d=s.trim().replace(stripParensRE,"").trim();const f=s.indexOf(d),m=d.match(forIteratorRE);if(m){d=d.replace(forIteratorRE,"").trim();const n=m[1].trim();let r;if(n&&(r=o.indexOf(n,f+d.length),u.key=c(n,r,!0)),m[2]){const a=m[2].trim();a&&(u.index=c(a,o.indexOf(a,u.key?r+n.length:f+d.length),!0))}}return d&&(u.value=c(d,f,!0)),u}function getSlice(n,r){return currentInput.slice(n,r)}function endOpenTag(n){tokenizer.inSFCRoot&&(currentOpenTag.innerLoc=getLoc(n+1,n+1)),addNode(currentOpenTag);const{tag:r,ns:o}=currentOpenTag;0===o&¤tOptions.isPreTag(r)&&inPre++,currentOptions.isVoidTag(r)?onCloseTag(currentOpenTag,n):(stack.unshift(currentOpenTag),1!==o&&2!==o||(tokenizer.inXML=!0)),currentOpenTag=null}function onText(n,r,o){{const r=stack[0]&&stack[0].tag;"script"!==r&&"style"!==r&&n.includes("&")&&(n=currentOptions.decodeEntities(n,!1))}const a=stack[0]||currentRoot,s=a.children[a.children.length-1];s&&2===s.type?(s.content+=n,setLocEnd(s.loc,o)):a.children.push({type:2,content:n,loc:getLoc(r,o)})}function onCloseTag(n,r,o=!1){setLocEnd(n.loc,o?backTrack(r,60):lookAhead(r,62)+1),tokenizer.inSFCRoot&&(n.children.length?n.innerLoc.end=extend$2({},n.children[n.children.length-1].loc.end):n.innerLoc.end=extend$2({},n.innerLoc.start),n.innerLoc.source=getSlice(n.innerLoc.start.offset,n.innerLoc.end.offset));const{tag:a,ns:s,children:l}=n;if(inVPre||("slot"===a?n.tagType=2:isFragmentTemplate(n)?n.tagType=3:isComponent(n)&&(n.tagType=1)),tokenizer.inRCDATA||(n.children=condenseWhitespace(l)),0===s&¤tOptions.isIgnoreNewlineTag(a)){const n=l[0];n&&2===n.type&&(n.content=n.content.replace(/^\r?\n/,""))}0===s&¤tOptions.isPreTag(a)&&inPre--,currentVPreBoundary===n&&(inVPre=tokenizer.inVPre=!1,currentVPreBoundary=null),tokenizer.inXML&&0===(stack[0]?stack[0].ns:currentOptions.ns)&&(tokenizer.inXML=!1);{const r=n.props;if(!tokenizer.inSFCRoot&&isCompatEnabled("COMPILER_NATIVE_TEMPLATE",currentOptions)&&"template"===n.tag&&!isFragmentTemplate(n)){const r=stack[0]||currentRoot,o=r.children.indexOf(n);r.children.splice(o,1,...n.children)}const o=r.find((n=>6===n.type&&"inline-template"===n.name));o&&checkCompatEnabled("COMPILER_INLINE_TEMPLATE",currentOptions,o.loc)&&n.children.length&&(o.value={type:2,content:getSlice(n.children[0].loc.start.offset,n.children[n.children.length-1].loc.end.offset),loc:o.loc})}}function lookAhead(n,r){let o=n;for(;currentInput.charCodeAt(o)!==r&&o<currentInput.length-1;)o++;return o}function backTrack(n,r){let o=n;for(;currentInput.charCodeAt(o)!==r&&o>=0;)o--;return o}const specialTemplateDir=new Set(["if","else","else-if","for","slot"]);function isFragmentTemplate({tag:n,props:r}){if("template"===n)for(let o=0;o<r.length;o++)if(7===r[o].type&&specialTemplateDir.has(r[o].name))return!0;return!1}function isComponent({tag:n,props:r}){if(currentOptions.isCustomElement(n))return!1;if("component"===n||isUpperCase(n.charCodeAt(0))||isCoreComponent(n)||currentOptions.isBuiltInComponent&¤tOptions.isBuiltInComponent(n)||currentOptions.isNativeTag&&!currentOptions.isNativeTag(n))return!0;for(let o=0;o<r.length;o++){const n=r[o];if(6===n.type){if("is"===n.name&&n.value){if(n.value.content.startsWith("vue:"))return!0;if(checkCompatEnabled("COMPILER_IS_ON_ELEMENT",currentOptions,n.loc))return!0}}else if("bind"===n.name&&isStaticArgOf(n.arg,"is")&&checkCompatEnabled("COMPILER_IS_ON_ELEMENT",currentOptions,n.loc))return!0}return!1}function isUpperCase(n){return n>64&&n<91}const windowsNewlineRE=/\r\n/g;function condenseWhitespace(n,r){const o="preserve"!==currentOptions.whitespace;let a=!1;for(let s=0;s<n.length;s++){const r=n[s];if(2===r.type)if(inPre)r.content=r.content.replace(windowsNewlineRE,"\n");else if(isAllWhitespace(r.content)){const l=n[s-1]&&n[s-1].type,c=n[s+1]&&n[s+1].type;!l||!c||o&&(3===l&&(3===c||1===c)||1===l&&(3===c||1===c&&hasNewlineChar(r.content)))?(a=!0,n[s]=null):r.content=" "}else o&&(r.content=condense(r.content))}return a?n.filter(Boolean):n}function isAllWhitespace(n){for(let r=0;r<n.length;r++)if(!isWhitespace(n.charCodeAt(r)))return!1;return!0}function hasNewlineChar(n){for(let r=0;r<n.length;r++){const o=n.charCodeAt(r);if(10===o||13===o)return!0}return!1}function condense(n){let r="",o=!1;for(let a=0;a<n.length;a++)isWhitespace(n.charCodeAt(a))?o||(r+=" ",o=!0):(r+=n[a],o=!1);return r}function addNode(n){(stack[0]||currentRoot).children.push(n)}function getLoc(n,r){return{start:tokenizer.getPos(n),end:null==r?r:tokenizer.getPos(r),source:null==r?r:getSlice(n,r)}}function cloneLoc(n){return getLoc(n.start.offset,n.end.offset)}function setLocEnd(n,r){n.end=tokenizer.getPos(r),n.source=getSlice(n.start.offset,r)}function dirToAttr(n){const r={type:6,name:n.rawName,nameLoc:getLoc(n.loc.start.offset,n.loc.start.offset+n.rawName.length),value:void 0,loc:n.loc};if(n.exp){const o=n.exp.loc;o.end.offset<n.loc.end.offset&&(o.start.offset--,o.start.column--,o.end.offset++,o.end.column++),r.value={type:2,content:n.exp.content,loc:o}}return r}function createExp(n,r=!1,o,a=0,s=0){return createSimpleExpression(n,r,o,a)}function emitError(n,r,o){currentOptions.onError(createCompilerError(n,getLoc(r,r)))}function reset(){tokenizer.reset(),currentOpenTag=null,currentProp=null,currentAttrValue="",currentAttrStartIndex=-1,currentAttrEndIndex=-1,stack.length=0}function baseParse(n,r){if(reset(),currentInput=n,currentOptions=extend$2({},defaultParserOptions),r){let n;for(n in r)null!=r[n]&&(currentOptions[n]=r[n])}tokenizer.mode="html"===currentOptions.parseMode?1:"sfc"===currentOptions.parseMode?2:0,tokenizer.inXML=1===currentOptions.ns||2===currentOptions.ns;const o=r&&r.delimiters;o&&(tokenizer.delimiterOpen=toCharCodes(o[0]),tokenizer.delimiterClose=toCharCodes(o[1]));const a=currentRoot=createRoot([],n);return tokenizer.parse(currentInput),a.loc=getLoc(0,n.length),a.children=condenseWhitespace(a.children),currentRoot=null,a}function cacheStatic(n,r){walk(n,void 0,r,isSingleElementRoot(n,n.children[0]))}function isSingleElementRoot(n,r){const{children:o}=n;return 1===o.length&&1===r.type&&!isSlotOutlet(r)}function walk(n,r,o,a=!1,s=!1){const{children:l}=n,c=[];for(let m=0;m<l.length;m++){const r=l[m];if(1===r.type&&0===r.tagType){const n=a?0:getConstantType(r,o);if(n>0){if(n>=2){r.codegenNode.patchFlag=-1,c.push(r);continue}}else{const n=r.codegenNode;if(13===n.type){const a=n.patchFlag;if((void 0===a||512===a||1===a)&&getGeneratedPropsConstantType(r,o)>=2){const a=getNodeProps(r);a&&(n.props=o.hoist(a))}n.dynamicProps&&(n.dynamicProps=o.hoist(n.dynamicProps))}}}else if(12===r.type){if((a?0:getConstantType(r,o))>=2){c.push(r);continue}}if(1===r.type){const a=1===r.tagType;a&&o.scopes.vSlot++,walk(r,n,o,!1,s),a&&o.scopes.vSlot--}else if(11===r.type)walk(r,n,o,1===r.children.length,!0);else if(9===r.type)for(let a=0;a<r.branches.length;a++)walk(r.branches[a],n,o,1===r.branches[a].children.length,s)}let u=!1;if(c.length===l.length&&1===n.type)if(0===n.tagType&&n.codegenNode&&13===n.codegenNode.type&&isArray$3(n.codegenNode.children))n.codegenNode.children=d(createArrayExpression(n.codegenNode.children)),u=!0;else if(1===n.tagType&&n.codegenNode&&13===n.codegenNode.type&&n.codegenNode.children&&!isArray$3(n.codegenNode.children)&&15===n.codegenNode.children.type){const r=f(n.codegenNode,"default");r&&(r.returns=d(createArrayExpression(r.returns)),u=!0)}else if(3===n.tagType&&r&&1===r.type&&1===r.tagType&&r.codegenNode&&13===r.codegenNode.type&&r.codegenNode.children&&!isArray$3(r.codegenNode.children)&&15===r.codegenNode.children.type){const o=findDir(n,"slot",!0),a=o&&o.arg&&f(r.codegenNode,o.arg);a&&(a.returns=d(createArrayExpression(a.returns)),u=!0)}if(!u)for(const m of c)m.codegenNode=o.cache(m.codegenNode);function d(n){const r=o.cache(n);return s&&o.hmr&&(r.needArraySpread=!0),r}function f(n,r){if(n.children&&!isArray$3(n.children)&&15===n.children.type){const o=n.children.properties.find((n=>n.key===r||n.key.content===r));return o&&o.value}}c.length&&o.transformHoist&&o.transformHoist(l,o,n)}function getConstantType(n,r){const{constantCache:o}=r;switch(n.type){case 1:if(0!==n.tagType)return 0;const a=o.get(n);if(void 0!==a)return a;const s=n.codegenNode;if(13!==s.type)return 0;if(s.isBlock&&"svg"!==n.tag&&"foreignObject"!==n.tag&&"math"!==n.tag)return 0;if(void 0===s.patchFlag){let a=3;const l=getGeneratedPropsConstantType(n,r);if(0===l)return o.set(n,0),0;l<a&&(a=l);for(let s=0;s<n.children.length;s++){const l=getConstantType(n.children[s],r);if(0===l)return o.set(n,0),0;l<a&&(a=l)}if(a>1)for(let s=0;s<n.props.length;s++){const l=n.props[s];if(7===l.type&&"bind"===l.name&&l.exp){const s=getConstantType(l.exp,r);if(0===s)return o.set(n,0),0;s<a&&(a=s)}}if(s.isBlock){for(let r=0;r<n.props.length;r++){if(7===n.props[r].type)return o.set(n,0),0}r.removeHelper(OPEN_BLOCK),r.removeHelper(getVNodeBlockHelper(r.inSSR,s.isComponent)),s.isBlock=!1,r.helper(getVNodeHelper(r.inSSR,s.isComponent))}return o.set(n,a),a}return o.set(n,0),0;case 2:case 3:return 3;case 9:case 11:case 10:default:return 0;case 5:case 12:return getConstantType(n.content,r);case 4:return n.constType;case 8:let l=3;for(let o=0;o<n.children.length;o++){const a=n.children[o];if(isString$1(a)||isSymbol(a))continue;const s=getConstantType(a,r);if(0===s)return 0;s<l&&(l=s)}return l;case 20:return 2}}const allowHoistedHelperSet=new Set([NORMALIZE_CLASS,NORMALIZE_STYLE,NORMALIZE_PROPS,GUARD_REACTIVE_PROPS]);function getConstantTypeOfHelperCall(n,r){if(14===n.type&&!isString$1(n.callee)&&allowHoistedHelperSet.has(n.callee)){const o=n.arguments[0];if(4===o.type)return getConstantType(o,r);if(14===o.type)return getConstantTypeOfHelperCall(o,r)}return 0}function getGeneratedPropsConstantType(n,r){let o=3;const a=getNodeProps(n);if(a&&15===a.type){const{properties:n}=a;for(let a=0;a<n.length;a++){const{key:s,value:l}=n[a],c=getConstantType(s,r);if(0===c)return c;let u;if(c<o&&(o=c),u=4===l.type?getConstantType(l,r):14===l.type?getConstantTypeOfHelperCall(l,r):0,0===u)return u;u<o&&(o=u)}}return o}function getNodeProps(n){const r=n.codegenNode;if(13===r.type)return r.props}function createTransformContext(n,{filename:r="",prefixIdentifiers:o=!1,hoistStatic:a=!1,hmr:s=!1,cacheHandlers:l=!1,nodeTransforms:c=[],directiveTransforms:u={},transformHoist:d=null,isBuiltInComponent:f=NOOP,isCustomElement:m=NOOP,expressionPlugins:g=[],scopeId:b=null,slotted:S=!0,ssr:k=!1,inSSR:w=!1,ssrCssVars:E="",bindingMetadata:C=EMPTY_OBJ,inline:T=!1,isTS:I=!1,onError:P=defaultOnError,onWarn:D=defaultOnWarn,compatConfig:O}){const A=r.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),eo={filename:r,selfName:A&&capitalize(camelize(A[1])),prefixIdentifiers:o,hoistStatic:a,hmr:s,cacheHandlers:l,nodeTransforms:c,directiveTransforms:u,transformHoist:d,isBuiltInComponent:f,isCustomElement:m,expressionPlugins:g,scopeId:b,slotted:S,ssr:k,inSSR:w,ssrCssVars:E,bindingMetadata:C,inline:T,isTS:I,onError:P,onWarn:D,compatConfig:O,root:n,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],cached:[],constantCache:new WeakMap,temps:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,grandParent:null,currentNode:n,childIndex:0,inVOnce:!1,helper(n){const r=eo.helpers.get(n)||0;return eo.helpers.set(n,r+1),n},removeHelper(n){const r=eo.helpers.get(n);if(r){const o=r-1;o?eo.helpers.set(n,o):eo.helpers.delete(n)}},helperString:n=>`_${helperNameMap[eo.helper(n)]}`,replaceNode(n){eo.parent.children[eo.childIndex]=eo.currentNode=n},removeNode(n){const r=eo.parent.children,o=n?r.indexOf(n):eo.currentNode?eo.childIndex:-1;n&&n!==eo.currentNode?eo.childIndex>o&&(eo.childIndex--,eo.onNodeRemoved()):(eo.currentNode=null,eo.onNodeRemoved()),eo.parent.children.splice(o,1)},onNodeRemoved:NOOP,addIdentifiers(n){},removeIdentifiers(n){},hoist(n){isString$1(n)&&(n=createSimpleExpression(n)),eo.hoists.push(n);const r=createSimpleExpression(`_hoisted_${eo.hoists.length}`,!1,n.loc,2);return r.hoisted=n,r},cache(n,r=!1,o=!1){const a=createCacheExpression(eo.cached.length,n,r,o);return eo.cached.push(a),a}};return eo.filters=new Set,eo}function transform$1(n,r){const o=createTransformContext(n,r);traverseNode(n,o),r.hoistStatic&&cacheStatic(n,o),r.ssr||createRootCodegen(n,o),n.helpers=new Set([...o.helpers.keys()]),n.components=[...o.components],n.directives=[...o.directives],n.imports=o.imports,n.hoists=o.hoists,n.temps=o.temps,n.cached=o.cached,n.transformed=!0,n.filters=[...o.filters]}function createRootCodegen(n,r){const{helper:o}=r,{children:a}=n;if(1===a.length){const o=a[0];if(isSingleElementRoot(n,o)&&o.codegenNode){const a=o.codegenNode;13===a.type&&convertToBlock(a,r),n.codegenNode=a}else n.codegenNode=o}else if(a.length>1){let a=64;n.codegenNode=createVNodeCall(r,o(FRAGMENT),void 0,n.children,a,void 0,void 0,!0,void 0,!1)}}function traverseChildren(n,r){let o=0;const a=()=>{o--};for(;o<n.children.length;o++){const s=n.children[o];isString$1(s)||(r.grandParent=r.parent,r.parent=n,r.childIndex=o,r.onNodeRemoved=a,traverseNode(s,r))}}function traverseNode(n,r){r.currentNode=n;const{nodeTransforms:o}=r,a=[];for(let l=0;l<o.length;l++){const s=o[l](n,r);if(s&&(isArray$3(s)?a.push(...s):a.push(s)),!r.currentNode)return;n=r.currentNode}switch(n.type){case 3:r.ssr||r.helper(CREATE_COMMENT);break;case 5:r.ssr||r.helper(TO_DISPLAY_STRING);break;case 9:for(let o=0;o<n.branches.length;o++)traverseNode(n.branches[o],r);break;case 10:case 11:case 1:case 0:traverseChildren(n,r)}r.currentNode=n;let s=a.length;for(;s--;)a[s]()}function createStructuralDirectiveTransform(n,r){const o=isString$1(n)?r=>r===n:r=>n.test(r);return(n,a)=>{if(1===n.type){const{props:s}=n;if(3===n.tagType&&s.some(isVSlot))return;const l=[];for(let c=0;c<s.length;c++){const u=s[c];if(7===u.type&&o(u.name)){s.splice(c,1),c--;const o=r(n,u,a);o&&l.push(o)}}return l}}}const PURE_ANNOTATION="/*@__PURE__*/",aliasHelper=n=>`${helperNameMap[n]}: _${helperNameMap[n]}`;function createCodegenContext(n,{mode:r="function",prefixIdentifiers:o="module"===r,sourceMap:a=!1,filename:s="template.vue.html",scopeId:l=null,optimizeImports:c=!1,runtimeGlobalName:u="Vue",runtimeModuleName:d="vue",ssrRuntimeModuleName:f="vue/server-renderer",ssr:m=!1,isTS:g=!1,inSSR:b=!1}){const S={mode:r,prefixIdentifiers:o,sourceMap:a,filename:s,scopeId:l,optimizeImports:c,runtimeGlobalName:u,runtimeModuleName:d,ssrRuntimeModuleName:f,ssr:m,isTS:g,inSSR:b,source:n.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:n=>`_${helperNameMap[n]}`,push(n,r=-2,o){S.code+=n},indent(){k(++S.indentLevel)},deindent(n=!1){n?--S.indentLevel:k(--S.indentLevel)},newline(){k(S.indentLevel)}};function k(n){S.push("\n"+" ".repeat(n),0)}return S}function generate(n,r={}){const o=createCodegenContext(n,r);r.onContextCreated&&r.onContextCreated(o);const{mode:a,push:s,prefixIdentifiers:l,indent:c,deindent:u,newline:d,scopeId:f,ssr:m}=o,g=Array.from(n.helpers),b=g.length>0,S=!l&&"module"!==a;genFunctionPreamble(n,o);if(s(`function ${m?"ssrRender":"render"}(${(m?["_ctx","_push","_parent","_attrs"]:["_ctx","_cache"]).join(", ")}) {`),c(),S&&(s("with (_ctx) {"),c(),b&&(s(`const { ${g.map(aliasHelper).join(", ")} } = _Vue\n`,-1),d())),n.components.length&&(genAssets(n.components,"component",o),(n.directives.length||n.temps>0)&&d()),n.directives.length&&(genAssets(n.directives,"directive",o),n.temps>0&&d()),n.filters&&n.filters.length&&(d(),genAssets(n.filters,"filter",o),d()),n.temps>0){s("let ");for(let r=0;r<n.temps;r++)s(`${r>0?", ":""}_temp${r}`)}return(n.components.length||n.directives.length||n.temps)&&(s("\n",0),d()),m||s("return "),n.codegenNode?genNode(n.codegenNode,o):s("null"),S&&(u(),s("}")),u(),s("}"),{ast:n,code:o.code,preamble:"",map:o.map?o.map.toJSON():void 0}}function genFunctionPreamble(n,r){const{ssr:o,prefixIdentifiers:a,push:s,newline:l,runtimeModuleName:c,runtimeGlobalName:u,ssrRuntimeModuleName:d}=r,f=u,m=Array.from(n.helpers);if(m.length>0&&(s(`const _Vue = ${f}\n`,-1),n.hoists.length)){s(`const { ${[CREATE_VNODE,CREATE_ELEMENT_VNODE,CREATE_COMMENT,CREATE_TEXT,CREATE_STATIC].filter((n=>m.includes(n))).map(aliasHelper).join(", ")} } = _Vue\n`,-1)}genHoists(n.hoists,r),l(),s("return ")}function genAssets(n,r,{helper:o,push:a,newline:s,isTS:l}){const c=o("filter"===r?RESOLVE_FILTER:"component"===r?RESOLVE_COMPONENT:RESOLVE_DIRECTIVE);for(let u=0;u<n.length;u++){let o=n[u];const d=o.endsWith("__self");d&&(o=o.slice(0,-6)),a(`const ${toValidAssetId(o,r)} = ${c}(${JSON.stringify(o)}${d?", true":""})${l?"!":""}`),u<n.length-1&&s()}}function genHoists(n,r){if(!n.length)return;r.pure=!0;const{push:o,newline:a}=r;a();for(let s=0;s<n.length;s++){const l=n[s];l&&(o(`const _hoisted_${s+1} = `),genNode(l,r),a())}r.pure=!1}function genNodeListAsArray(n,r){const o=n.length>3||!1;r.push("["),o&&r.indent(),genNodeList(n,r,o),o&&r.deindent(),r.push("]")}function genNodeList(n,r,o=!1,a=!0){const{push:s,newline:l}=r;for(let c=0;c<n.length;c++){const u=n[c];isString$1(u)?s(u,-3):isArray$3(u)?genNodeListAsArray(u,r):genNode(u,r),c<n.length-1&&(o?(a&&s(","),l()):a&&s(", "))}}function genNode(n,r){if(isString$1(n))r.push(n,-3);else if(isSymbol(n))r.push(r.helper(n));else switch(n.type){case 1:case 9:case 11:case 12:genNode(n.codegenNode,r);break;case 2:genText(n,r);break;case 4:genExpression(n,r);break;case 5:genInterpolation(n,r);break;case 8:genCompoundExpression(n,r);break;case 3:genComment(n,r);break;case 13:genVNodeCall(n,r);break;case 14:genCallExpression(n,r);break;case 15:genObjectExpression(n,r);break;case 17:genArrayExpression(n,r);break;case 18:genFunctionExpression(n,r);break;case 19:genConditionalExpression(n,r);break;case 20:genCacheExpression(n,r);break;case 21:genNodeList(n.body,r,!0,!1)}}function genText(n,r){r.push(JSON.stringify(n.content),-3,n)}function genExpression(n,r){const{content:o,isStatic:a}=n;r.push(a?JSON.stringify(o):o,-3,n)}function genInterpolation(n,r){const{push:o,helper:a,pure:s}=r;s&&o(PURE_ANNOTATION),o(`${a(TO_DISPLAY_STRING)}(`),genNode(n.content,r),o(")")}function genCompoundExpression(n,r){for(let o=0;o<n.children.length;o++){const a=n.children[o];isString$1(a)?r.push(a,-3):genNode(a,r)}}function genExpressionAsPropertyKey(n,r){const{push:o}=r;if(8===n.type)o("["),genCompoundExpression(n,r),o("]");else if(n.isStatic){o(isSimpleIdentifier(n.content)?n.content:JSON.stringify(n.content),-2,n)}else o(`[${n.content}]`,-3,n)}function genComment(n,r){const{push:o,helper:a,pure:s}=r;s&&o(PURE_ANNOTATION),o(`${a(CREATE_COMMENT)}(${JSON.stringify(n.content)})`,-3,n)}function genVNodeCall(n,r){const{push:o,helper:a,pure:s}=r,{tag:l,props:c,children:u,patchFlag:d,dynamicProps:f,directives:m,isBlock:g,disableTracking:b,isComponent:S}=n;let k;d&&(k=String(d)),m&&o(a(WITH_DIRECTIVES)+"("),g&&o(`(${a(OPEN_BLOCK)}(${b?"true":""}), `),s&&o(PURE_ANNOTATION);o(a(g?getVNodeBlockHelper(r.inSSR,S):getVNodeHelper(r.inSSR,S))+"(",-2,n),genNodeList(genNullableArgs([l,c,u,k,f]),r),o(")"),g&&o(")"),m&&(o(", "),genNode(m,r),o(")"))}function genNullableArgs(n){let r=n.length;for(;r--&&null==n[r];);return n.slice(0,r+1).map((n=>n||"null"))}function genCallExpression(n,r){const{push:o,helper:a,pure:s}=r,l=isString$1(n.callee)?n.callee:a(n.callee);s&&o(PURE_ANNOTATION),o(l+"(",-2,n),genNodeList(n.arguments,r),o(")")}function genObjectExpression(n,r){const{push:o,indent:a,deindent:s,newline:l}=r,{properties:c}=n;if(!c.length)return void o("{}",-2,n);const u=c.length>1||!1;o(u?"{":"{ "),u&&a();for(let d=0;d<c.length;d++){const{key:n,value:a}=c[d];genExpressionAsPropertyKey(n,r),o(": "),genNode(a,r),d<c.length-1&&(o(","),l())}u&&s(),o(u?"}":" }")}function genArrayExpression(n,r){genNodeListAsArray(n.elements,r)}function genFunctionExpression(n,r){const{push:o,indent:a,deindent:s}=r,{params:l,returns:c,body:u,newline:d,isSlot:f}=n;f&&o(`_${helperNameMap[WITH_CTX]}(`),o("(",-2,n),isArray$3(l)?genNodeList(l,r):l&&genNode(l,r),o(") => "),(d||u)&&(o("{"),a()),c?(d&&o("return "),isArray$3(c)?genNodeListAsArray(c,r):genNode(c,r)):u&&genNode(u,r),(d||u)&&(s(),o("}")),f&&(n.isNonScopedSlot&&o(", undefined, true"),o(")"))}function genConditionalExpression(n,r){const{test:o,consequent:a,alternate:s,newline:l}=n,{push:c,indent:u,deindent:d,newline:f}=r;if(4===o.type){const n=!isSimpleIdentifier(o.content);n&&c("("),genExpression(o,r),n&&c(")")}else c("("),genNode(o,r),c(")");l&&u(),r.indentLevel++,l||c(" "),c("? "),genNode(a,r),r.indentLevel--,l&&f(),l||c(" "),c(": ");const m=19===s.type;m||r.indentLevel++,genNode(s,r),m||r.indentLevel--,l&&d(!0)}function genCacheExpression(n,r){const{push:o,helper:a,indent:s,deindent:l,newline:c}=r,{needPauseTracking:u,needArraySpread:d}=n;d&&o("[...("),o(`_cache[${n.index}] || (`),u&&(s(),o(`${a(SET_BLOCK_TRACKING)}(-1`),n.inVOnce&&o(", true"),o("),"),c(),o("(")),o(`_cache[${n.index}] = `),genNode(n.value,r),u&&(o(`).cacheIndex = ${n.index},`),c(),o(`${a(SET_BLOCK_TRACKING)}(1),`),c(),o(`_cache[${n.index}]`),l()),o(")"),d&&o(")]")}new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");const transformExpression=(n,r)=>{if(5===n.type)n.content=processExpression(n.content,r);else if(1===n.type){const o=findDir(n,"memo");for(let a=0;a<n.props.length;a++){const s=n.props[a];if(7===s.type&&"for"!==s.name){const n=s.exp,a=s.arg;!n||4!==n.type||"on"===s.name&&a||o&&a&&4===a.type&&"key"===a.content||(s.exp=processExpression(n,r,"slot"===s.name)),a&&4===a.type&&!a.isStatic&&(s.arg=processExpression(a,r))}}}};function processExpression(n,r,o=!1,a=!1,s=Object.create(r.identifiers)){return n}function stringifyExpression(n){return isString$1(n)?n:4===n.type?n.content:n.children.map(stringifyExpression).join("")}const transformIf=createStructuralDirectiveTransform(/^(if|else|else-if)$/,((n,r,o)=>processIf(n,r,o,((n,r,a)=>{const s=o.parent.children;let l=s.indexOf(n),c=0;for(;l-- >=0;){const n=s[l];n&&9===n.type&&(c+=n.branches.length)}return()=>{if(a)n.codegenNode=createCodegenNodeForBranch(r,c,o);else{getParentCondition(n.codegenNode).alternate=createCodegenNodeForBranch(r,c+n.branches.length-1,o)}}}))));function processIf(n,r,o,a){if(!("else"===r.name||r.exp&&r.exp.content.trim())){const a=r.exp?r.exp.loc:n.loc;o.onError(createCompilerError(28,r.loc)),r.exp=createSimpleExpression("true",!1,a)}if("if"===r.name){const s=createIfBranch(n,r),l={type:9,loc:cloneLoc(n.loc),branches:[s]};if(o.replaceNode(l),a)return a(l,s,!0)}else{const s=o.parent.children;let l=s.indexOf(n);for(;l-- >=-1;){const c=s[l];if(c&&3===c.type)o.removeNode(c);else{if(!c||2!==c.type||c.content.trim().length){if(c&&9===c.type){"else-if"===r.name&&void 0===c.branches[c.branches.length-1].condition&&o.onError(createCompilerError(30,n.loc)),o.removeNode();const s=createIfBranch(n,r);c.branches.push(s);const l=a&&a(c,s,!1);traverseNode(s,o),l&&l(),o.currentNode=null}else o.onError(createCompilerError(30,n.loc));break}o.removeNode(c)}}}}function createIfBranch(n,r){const o=3===n.tagType;return{type:10,loc:n.loc,condition:"else"===r.name?void 0:r.exp,children:o&&!findDir(n,"for")?n.children:[n],userKey:findProp(n,"key"),isTemplateIf:o}}function createCodegenNodeForBranch(n,r,o){return n.condition?createConditionalExpression(n.condition,createChildrenCodegenNode(n,r,o),createCallExpression(o.helper(CREATE_COMMENT),['""',"true"])):createChildrenCodegenNode(n,r,o)}function createChildrenCodegenNode(n,r,o){const{helper:a}=o,s=createObjectProperty("key",createSimpleExpression(`${r}`,!1,locStub,2)),{children:l}=n,c=l[0];if(1!==l.length||1!==c.type){if(1===l.length&&11===c.type){const n=c.codegenNode;return injectProp(n,s,o),n}{let r=64;return createVNodeCall(o,a(FRAGMENT),createObjectExpression([s]),l,r,void 0,void 0,!0,!1,!1,n.loc)}}{const n=c.codegenNode,r=getMemoedVNodeCall(n);return 13===r.type&&convertToBlock(r,o),injectProp(r,s,o),n}}function getParentCondition(n){for(;;)if(19===n.type){if(19!==n.alternate.type)return n;n=n.alternate}else 20===n.type&&(n=n.value)}const transformBind=(n,r,o)=>{const{modifiers:a,loc:s}=n,l=n.arg;let{exp:c}=n;if(c&&4===c.type&&!c.content.trim()&&(c=void 0),!c){if(4!==l.type||!l.isStatic)return o.onError(createCompilerError(52,l.loc)),{props:[createObjectProperty(l,createSimpleExpression("",!0,s))]};transformBindShorthand(n),c=n.exp}return 4!==l.type?(l.children.unshift("("),l.children.push(') || ""')):l.isStatic||(l.content=`${l.content} || ""`),a.some((n=>"camel"===n.content))&&(4===l.type?l.isStatic?l.content=camelize(l.content):l.content=`${o.helperString(CAMELIZE)}(${l.content})`:(l.children.unshift(`${o.helperString(CAMELIZE)}(`),l.children.push(")"))),o.inSSR||(a.some((n=>"prop"===n.content))&&injectPrefix(l,"."),a.some((n=>"attr"===n.content))&&injectPrefix(l,"^")),{props:[createObjectProperty(l,c)]}},transformBindShorthand=(n,r)=>{const o=n.arg,a=camelize(o.content);n.exp=createSimpleExpression(a,!1,o.loc)},injectPrefix=(n,r)=>{4===n.type?n.isStatic?n.content=r+n.content:n.content=`\`${r}\${${n.content}}\``:(n.children.unshift(`'${r}' + (`),n.children.push(")"))},transformFor=createStructuralDirectiveTransform("for",((n,r,o)=>{const{helper:a,removeHelper:s}=o;return processFor(n,r,o,(r=>{const l=createCallExpression(a(RENDER_LIST),[r.source]),c=isTemplateNode(n),u=findDir(n,"memo"),d=findProp(n,"key",!1,!0);d&&7===d.type&&!d.exp&&transformBindShorthand(d);let f=d&&(6===d.type?d.value?createSimpleExpression(d.value.content,!0):void 0:d.exp);const m=d&&f?createObjectProperty("key",f):null,g=4===r.source.type&&r.source.constType>0,b=g?64:d?128:256;return r.codegenNode=createVNodeCall(o,a(FRAGMENT),void 0,l,b,void 0,void 0,!0,!g,!1,n.loc),()=>{let d;const{children:b}=r,S=1!==b.length||1!==b[0].type,k=isSlotOutlet(n)?n:c&&1===n.children.length&&isSlotOutlet(n.children[0])?n.children[0]:null;if(k?(d=k.codegenNode,c&&m&&injectProp(d,m,o)):S?d=createVNodeCall(o,a(FRAGMENT),m?createObjectExpression([m]):void 0,n.children,64,void 0,void 0,!0,void 0,!1):(d=b[0].codegenNode,c&&m&&injectProp(d,m,o),d.isBlock!==!g&&(d.isBlock?(s(OPEN_BLOCK),s(getVNodeBlockHelper(o.inSSR,d.isComponent))):s(getVNodeHelper(o.inSSR,d.isComponent))),d.isBlock=!g,d.isBlock?(a(OPEN_BLOCK),a(getVNodeBlockHelper(o.inSSR,d.isComponent))):a(getVNodeHelper(o.inSSR,d.isComponent))),u){const n=createFunctionExpression(createForLoopParams(r.parseResult,[createSimpleExpression("_cached")]));n.body=createBlockStatement([createCompoundExpression(["const _memo = (",u.exp,")"]),createCompoundExpression(["if (_cached",...f?[" && _cached.key === ",f]:[],` && ${o.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`]),createCompoundExpression(["const _item = ",d]),createSimpleExpression("_item.memo = _memo"),createSimpleExpression("return _item")]),l.arguments.push(n,createSimpleExpression("_cache"),createSimpleExpression(String(o.cached.length))),o.cached.push(null)}else l.arguments.push(createFunctionExpression(createForLoopParams(r.parseResult),d,!0))}}))}));function processFor(n,r,o,a){if(!r.exp)return void o.onError(createCompilerError(31,r.loc));const s=r.forParseResult;if(!s)return void o.onError(createCompilerError(32,r.loc));finalizeForParseResult(s);const{addIdentifiers:l,removeIdentifiers:c,scopes:u}=o,{source:d,value:f,key:m,index:g}=s,b={type:11,loc:r.loc,source:d,valueAlias:f,keyAlias:m,objectIndexAlias:g,parseResult:s,children:isTemplateNode(n)?n.children:[n]};o.replaceNode(b),u.vFor++;const S=a&&a(b);return()=>{u.vFor--,S&&S()}}function finalizeForParseResult(n,r){n.finalized||(n.finalized=!0)}function createForLoopParams({value:n,key:r,index:o},a=[]){return createParamsList([n,r,o,...a])}function createParamsList(n){let r=n.length;for(;r--&&!n[r];);return n.slice(0,r+1).map(((n,r)=>n||createSimpleExpression("_".repeat(r+1),!1)))}const defaultFallback=createSimpleExpression("undefined",!1),trackSlotScopes=(n,r)=>{if(1===n.type&&(1===n.tagType||3===n.tagType)){const o=findDir(n,"slot");if(o)return o.exp,r.scopes.vSlot++,()=>{r.scopes.vSlot--}}},trackVForSlotScopes=(n,r)=>{let o;if(isTemplateNode(n)&&n.props.some(isVSlot)&&(o=findDir(n,"for"))){const n=o.forParseResult;if(n){finalizeForParseResult(n);const{value:o,key:a,index:s}=n,{addIdentifiers:l,removeIdentifiers:c}=r;return o&&l(o),a&&l(a),s&&l(s),()=>{o&&c(o),a&&c(a),s&&c(s)}}}},buildClientSlotFn=(n,r,o,a)=>createFunctionExpression(n,o,!1,!0,o.length?o[0].loc:a);function buildSlots(n,r,o=buildClientSlotFn){r.helper(WITH_CTX);const{children:a,loc:s}=n,l=[],c=[];let u=r.scopes.vSlot>0||r.scopes.vFor>0;const d=findDir(n,"slot",!0);if(d){const{arg:n,exp:r}=d;n&&!isStaticExp(n)&&(u=!0),l.push(createObjectProperty(n||createSimpleExpression("default",!0),o(r,void 0,a,s)))}let f=!1,m=!1;const g=[],b=new Set;let S=0;for(let E=0;E<a.length;E++){const n=a[E];let s;if(!isTemplateNode(n)||!(s=findDir(n,"slot",!0))){3!==n.type&&g.push(n);continue}if(d){r.onError(createCompilerError(37,s.loc));break}f=!0;const{children:k,loc:w}=n,{arg:C=createSimpleExpression("default",!0),exp:T,loc:I}=s;let P;isStaticExp(C)?P=C?C.content:"default":u=!0;const D=findDir(n,"for"),O=o(T,D,k,w);let A,eo;if(A=findDir(n,"if"))u=!0,c.push(createConditionalExpression(A.exp,buildDynamicSlot(C,O,S++),defaultFallback));else if(eo=findDir(n,/^else(-if)?$/,!0)){let n,o=E;for(;o--&&(n=a[o],3===n.type););if(n&&isTemplateNode(n)&&findDir(n,/^(else-)?if$/)){let n=c[c.length-1];for(;19===n.alternate.type;)n=n.alternate;n.alternate=eo.exp?createConditionalExpression(eo.exp,buildDynamicSlot(C,O,S++),defaultFallback):buildDynamicSlot(C,O,S++)}else r.onError(createCompilerError(30,eo.loc))}else if(D){u=!0;const n=D.forParseResult;n?(finalizeForParseResult(n),c.push(createCallExpression(r.helper(RENDER_LIST),[n.source,createFunctionExpression(createForLoopParams(n),buildDynamicSlot(C,O),!0)]))):r.onError(createCompilerError(32,D.loc))}else{if(P){if(b.has(P)){r.onError(createCompilerError(38,I));continue}b.add(P),"default"===P&&(m=!0)}l.push(createObjectProperty(C,O))}}if(!d){const n=(n,a)=>{const l=o(n,void 0,a,s);return r.compatConfig&&(l.isNonScopedSlot=!0),createObjectProperty("default",l)};f?g.length&&g.some((n=>isNonWhitespaceContent(n)))&&(m?r.onError(createCompilerError(39,g[0].loc)):l.push(n(void 0,g))):l.push(n(void 0,a))}const k=u?2:hasForwardedSlots(n.children)?3:1;let w=createObjectExpression(l.concat(createObjectProperty("_",createSimpleExpression(k+"",!1))),s);return c.length&&(w=createCallExpression(r.helper(CREATE_SLOTS),[w,createArrayExpression(c)])),{slots:w,hasDynamicSlots:u}}function buildDynamicSlot(n,r,o){const a=[createObjectProperty("name",n),createObjectProperty("fn",r)];return null!=o&&a.push(createObjectProperty("key",createSimpleExpression(String(o),!0))),createObjectExpression(a)}function hasForwardedSlots(n){for(let r=0;r<n.length;r++){const o=n[r];switch(o.type){case 1:if(2===o.tagType||hasForwardedSlots(o.children))return!0;break;case 9:if(hasForwardedSlots(o.branches))return!0;break;case 10:case 11:if(hasForwardedSlots(o.children))return!0}}return!1}function isNonWhitespaceContent(n){return 2!==n.type&&12!==n.type||(2===n.type?!!n.content.trim():isNonWhitespaceContent(n.content))}const directiveImportMap=new WeakMap,transformElement=(n,r)=>function(){if(1!==(n=r.currentNode).type||0!==n.tagType&&1!==n.tagType)return;const{tag:o,props:a}=n,s=1===n.tagType;let l=s?resolveComponentType(n,r):`"${o}"`;const c=isObject$2(l)&&l.callee===RESOLVE_DYNAMIC_COMPONENT;let u,d,f,m,g,b=0,S=c||l===TELEPORT||l===SUSPENSE||!s&&("svg"===o||"foreignObject"===o||"math"===o);if(a.length>0){const o=buildProps(n,r,void 0,s,c);u=o.props,b=o.patchFlag,m=o.dynamicPropNames;const a=o.directives;g=a&&a.length?createArrayExpression(a.map((n=>buildDirectiveArgs(n,r)))):void 0,o.shouldUseBlock&&(S=!0)}if(n.children.length>0){l===KEEP_ALIVE&&(S=!0,b|=1024);if(s&&l!==TELEPORT&&l!==KEEP_ALIVE){const{slots:o,hasDynamicSlots:a}=buildSlots(n,r);d=o,a&&(b|=1024)}else if(1===n.children.length&&l!==TELEPORT){const o=n.children[0],a=o.type,s=5===a||8===a;s&&0===getConstantType(o,r)&&(b|=1),d=s||2===a?o:n.children}else d=n.children}m&&m.length&&(f=stringifyDynamicPropNames(m)),n.codegenNode=createVNodeCall(r,l,u,d,0===b?void 0:b,f,g,!!S,!1,s,n.loc)};function resolveComponentType(n,r,o=!1){let{tag:a}=n;const s=isComponentTag(a),l=findProp(n,"is",!1,!0);if(l)if(s||isCompatEnabled("COMPILER_IS_ON_ELEMENT",r)){let n;if(6===l.type?n=l.value&&createSimpleExpression(l.value.content,!0):(n=l.exp,n||(n=createSimpleExpression("is",!1,l.arg.loc))),n)return createCallExpression(r.helper(RESOLVE_DYNAMIC_COMPONENT),[n])}else 6===l.type&&l.value.content.startsWith("vue:")&&(a=l.value.content.slice(4));const c=isCoreComponent(a)||r.isBuiltInComponent(a);return c?(o||r.helper(c),c):(r.helper(RESOLVE_COMPONENT),r.components.add(a),toValidAssetId(a,"component"))}function buildProps(n,r,o=n.props,a,s,l=!1){const{tag:c,loc:u,children:d}=n;let f=[];const m=[],g=[],b=d.length>0;let S=!1,k=0,w=!1,E=!1,C=!1,T=!1,I=!1,P=!1;const D=[],O=n=>{f.length&&(m.push(createObjectExpression(dedupeProperties(f),u)),f=[]),n&&m.push(n)},A=()=>{r.scopes.vFor>0&&f.push(createObjectProperty(createSimpleExpression("ref_for",!0),createSimpleExpression("true")))},eo=({key:n,value:o})=>{if(isStaticExp(n)){const l=n.content,c=isOn$1(l);if(!c||a&&!s||"onclick"===l.toLowerCase()||"onUpdate:modelValue"===l||isReservedProp(l)||(T=!0),c&&isReservedProp(l)&&(P=!0),c&&14===o.type&&(o=o.arguments[0]),20===o.type||(4===o.type||8===o.type)&&getConstantType(o,r)>0)return;"ref"===l?w=!0:"class"===l?E=!0:"style"===l?C=!0:"key"===l||D.includes(l)||D.push(l),!a||"class"!==l&&"style"!==l||D.includes(l)||D.push(l)}else I=!0};for(let ro=0;ro<o.length;ro++){const s=o[ro];if(6===s.type){const{loc:n,name:o,nameLoc:a,value:l}=s;let u=!0;if("ref"===o&&(w=!0,A()),"is"===o&&(isComponentTag(c)||l&&l.content.startsWith("vue:")||isCompatEnabled("COMPILER_IS_ON_ELEMENT",r)))continue;f.push(createObjectProperty(createSimpleExpression(o,!0,a),createSimpleExpression(l?l.content:"",u,l?l.loc:n)))}else{const{name:o,arg:d,exp:w,loc:E,modifiers:C}=s,T="bind"===o,P="on"===o;if("slot"===o){a||r.onError(createCompilerError(40,E));continue}if("once"===o||"memo"===o)continue;if("is"===o||T&&isStaticArgOf(d,"is")&&(isComponentTag(c)||isCompatEnabled("COMPILER_IS_ON_ELEMENT",r)))continue;if(P&&l)continue;if((T&&isStaticArgOf(d,"key")||P&&b&&isStaticArgOf(d,"vue:before-update"))&&(S=!0),T&&isStaticArgOf(d,"ref")&&A(),!d&&(T||P)){if(I=!0,w)if(T){if(A(),O(),isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER",r)){m.unshift(w);continue}m.push(w)}else O({type:14,loc:E,callee:r.helper(TO_HANDLERS),arguments:a?[w]:[w,"true"]});else r.onError(createCompilerError(T?34:35,E));continue}T&&C.some((n=>"prop"===n.content))&&(k|=32);const D=r.directiveTransforms[o];if(D){const{props:o,needRuntime:a}=D(s,n,r);!l&&o.forEach(eo),P&&d&&!isStaticExp(d)?O(createObjectExpression(o,u)):f.push(...o),a&&(g.push(s),isSymbol(a)&&directiveImportMap.set(s,a))}else isBuiltInDirective(o)||(g.push(s),b&&(S=!0))}}let no;if(m.length?(O(),no=m.length>1?createCallExpression(r.helper(MERGE_PROPS),m,u):m[0]):f.length&&(no=createObjectExpression(dedupeProperties(f),u)),I?k|=16:(E&&!a&&(k|=2),C&&!a&&(k|=4),D.length&&(k|=8),T&&(k|=32)),S||0!==k&&32!==k||!(w||P||g.length>0)||(k|=512),!r.inSSR&&no)switch(no.type){case 15:let n=-1,o=-1,a=!1;for(let r=0;r<no.properties.length;r++){const s=no.properties[r].key;isStaticExp(s)?"class"===s.content?n=r:"style"===s.content&&(o=r):s.isHandlerKey||(a=!0)}const s=no.properties[n],l=no.properties[o];a?no=createCallExpression(r.helper(NORMALIZE_PROPS),[no]):(s&&!isStaticExp(s.value)&&(s.value=createCallExpression(r.helper(NORMALIZE_CLASS),[s.value])),l&&(C||4===l.value.type&&"["===l.value.content.trim()[0]||17===l.value.type)&&(l.value=createCallExpression(r.helper(NORMALIZE_STYLE),[l.value])));break;case 14:break;default:no=createCallExpression(r.helper(NORMALIZE_PROPS),[createCallExpression(r.helper(GUARD_REACTIVE_PROPS),[no])])}return{props:no,directives:g,patchFlag:k,dynamicPropNames:D,shouldUseBlock:S}}function dedupeProperties(n){const r=new Map,o=[];for(let a=0;a<n.length;a++){const s=n[a];if(8===s.key.type||!s.key.isStatic){o.push(s);continue}const l=s.key.content,c=r.get(l);c?("style"===l||"class"===l||isOn$1(l))&&mergeAsArray(c,s):(r.set(l,s),o.push(s))}return o}function mergeAsArray(n,r){17===n.value.type?n.value.elements.push(r.value):n.value=createArrayExpression([n.value,r.value],n.loc)}function buildDirectiveArgs(n,r){const o=[],a=directiveImportMap.get(n);a?o.push(r.helperString(a)):(r.helper(RESOLVE_DIRECTIVE),r.directives.add(n.name),o.push(toValidAssetId(n.name,"directive")));const{loc:s}=n;if(n.exp&&o.push(n.exp),n.arg&&(n.exp||o.push("void 0"),o.push(n.arg)),Object.keys(n.modifiers).length){n.arg||(n.exp||o.push("void 0"),o.push("void 0"));const r=createSimpleExpression("true",!1,s);o.push(createObjectExpression(n.modifiers.map((n=>createObjectProperty(n,r))),s))}return createArrayExpression(o,n.loc)}function stringifyDynamicPropNames(n){let r="[";for(let o=0,a=n.length;o<a;o++)r+=JSON.stringify(n[o]),o<a-1&&(r+=", ");return r+"]"}function isComponentTag(n){return"component"===n||"Component"===n}const transformSlotOutlet=(n,r)=>{if(isSlotOutlet(n)){const{children:o,loc:a}=n,{slotName:s,slotProps:l}=processSlotOutlet(n,r),c=[r.prefixIdentifiers?"_ctx.$slots":"$slots",s,"{}","undefined","true"];let u=2;l&&(c[2]=l,u=3),o.length&&(c[3]=createFunctionExpression([],o,!1,!1,a),u=4),r.scopeId&&!r.slotted&&(u=5),c.splice(u),n.codegenNode=createCallExpression(r.helper(RENDER_SLOT),c,a)}};function processSlotOutlet(n,r){let o,a='"default"';const s=[];for(let l=0;l<n.props.length;l++){const r=n.props[l];if(6===r.type)r.value&&("name"===r.name?a=JSON.stringify(r.value.content):(r.name=camelize(r.name),s.push(r)));else if("bind"===r.name&&isStaticArgOf(r.arg,"name")){if(r.exp)a=r.exp;else if(r.arg&&4===r.arg.type){const n=camelize(r.arg.content);a=r.exp=createSimpleExpression(n,!1,r.arg.loc)}}else"bind"===r.name&&r.arg&&isStaticExp(r.arg)&&(r.arg.content=camelize(r.arg.content)),s.push(r)}if(s.length>0){const{props:a,directives:l}=buildProps(n,r,s,!1,!1);o=a,l.length&&r.onError(createCompilerError(36,l[0].loc))}return{slotName:a,slotProps:o}}const transformOn$1=(n,r,o,a)=>{const{loc:s,modifiers:l,arg:c}=n;let u;if(n.exp||l.length||o.onError(createCompilerError(35,s)),4===c.type)if(c.isStatic){let n=c.content;n.startsWith("vue:")&&(n=`vnode-${n.slice(4)}`);u=createSimpleExpression(0!==r.tagType||n.startsWith("vnode")||!/[A-Z]/.test(n)?toHandlerKey(camelize(n)):`on:${n}`,!0,c.loc)}else u=createCompoundExpression([`${o.helperString(TO_HANDLER_KEY)}(`,c,")"]);else u=c,u.children.unshift(`${o.helperString(TO_HANDLER_KEY)}(`),u.children.push(")");let d=n.exp;d&&!d.content.trim()&&(d=void 0);let f=o.cacheHandlers&&!d&&!o.inVOnce;if(d){const n=isMemberExpression(d),r=!(n||isFnExpression(d)),o=d.content.includes(";");(r||f&&n)&&(d=createCompoundExpression([`${r?"$event":"(...args)"} => ${o?"{":"("}`,d,o?"}":")"]))}let m={props:[createObjectProperty(u,d||createSimpleExpression("() => {}",!1,s))]};return a&&(m=a(m)),f&&(m.props[0].value=o.cache(m.props[0].value)),m.props.forEach((n=>n.key.isHandlerKey=!0)),m},transformText=(n,r)=>{if(0===n.type||1===n.type||11===n.type||10===n.type)return()=>{const o=n.children;let a,s=!1;for(let n=0;n<o.length;n++){const r=o[n];if(isText$1(r)){s=!0;for(let s=n+1;s<o.length;s++){const l=o[s];if(!isText$1(l)){a=void 0;break}a||(a=o[n]=createCompoundExpression([r],r.loc)),a.children.push(" + ",l),o.splice(s,1),s--}}}if(s&&(1!==o.length||0!==n.type&&(1!==n.type||0!==n.tagType||n.props.find((n=>7===n.type&&!r.directiveTransforms[n.name]))||"template"===n.tag)))for(let n=0;n<o.length;n++){const a=o[n];if(isText$1(a)||8===a.type){const s=[];2===a.type&&" "===a.content||s.push(a),r.ssr||0!==getConstantType(a,r)||s.push("1"),o[n]={type:12,content:a,loc:a.loc,codegenNode:createCallExpression(r.helper(CREATE_TEXT),s)}}}}},seen$1=new WeakSet,transformOnce=(n,r)=>{if(1===n.type&&findDir(n,"once",!0)){if(seen$1.has(n)||r.inVOnce||r.inSSR)return;return seen$1.add(n),r.inVOnce=!0,r.helper(SET_BLOCK_TRACKING),()=>{r.inVOnce=!1;const n=r.currentNode;n.codegenNode&&(n.codegenNode=r.cache(n.codegenNode,!0,!0))}}},transformModel$1=(n,r,o)=>{const{exp:a,arg:s}=n;if(!a)return o.onError(createCompilerError(41,n.loc)),createTransformProps();const l=a.loc.source.trim(),c=4===a.type?a.content:l,u=o.bindingMetadata[l];if("props"===u||"props-aliased"===u)return o.onError(createCompilerError(44,a.loc)),createTransformProps();if(!c.trim()||!isMemberExpression(a))return o.onError(createCompilerError(42,a.loc)),createTransformProps();const d=s||createSimpleExpression("modelValue",!0),f=s?isStaticExp(s)?`onUpdate:${camelize(s.content)}`:createCompoundExpression(['"onUpdate:" + ',s]):"onUpdate:modelValue";let m;m=createCompoundExpression([`${o.isTS?"($event: any)":"$event"} => ((`,a,") = $event)"]);const g=[createObjectProperty(d,n.exp),createObjectProperty(f,m)];if(n.modifiers.length&&1===r.tagType){const r=n.modifiers.map((n=>n.content)).map((n=>(isSimpleIdentifier(n)?n:JSON.stringify(n))+": true")).join(", "),o=s?isStaticExp(s)?`${s.content}Modifiers`:createCompoundExpression([s,' + "Modifiers"']):"modelModifiers";g.push(createObjectProperty(o,createSimpleExpression(`{ ${r} }`,!1,n.loc,2)))}return createTransformProps(g)};function createTransformProps(n=[]){return{props:n}}const validDivisionCharRE=/[\w).+\-_$\]]/,transformFilter=(n,r)=>{isCompatEnabled("COMPILER_FILTERS",r)&&(5===n.type?rewriteFilter(n.content,r):1===n.type&&n.props.forEach((n=>{7===n.type&&"for"!==n.name&&n.exp&&rewriteFilter(n.exp,r)})))};function rewriteFilter(n,r){if(4===n.type)parseFilter(n,r);else for(let o=0;o<n.children.length;o++){const a=n.children[o];"object"==typeof a&&(4===a.type?parseFilter(a,r):8===a.type?rewriteFilter(n,r):5===a.type&&rewriteFilter(a.content,r))}}function parseFilter(n,r){const o=n.content;let a,s,l,c,u=!1,d=!1,f=!1,m=!1,g=0,b=0,S=0,k=0,w=[];for(l=0;l<o.length;l++)if(s=a,a=o.charCodeAt(l),u)39===a&&92!==s&&(u=!1);else if(d)34===a&&92!==s&&(d=!1);else if(f)96===a&&92!==s&&(f=!1);else if(m)47===a&&92!==s&&(m=!1);else if(124!==a||124===o.charCodeAt(l+1)||124===o.charCodeAt(l-1)||g||b||S){switch(a){case 34:d=!0;break;case 39:u=!0;break;case 96:f=!0;break;case 40:S++;break;case 41:S--;break;case 91:b++;break;case 93:b--;break;case 123:g++;break;case 125:g--}if(47===a){let n,r=l-1;for(;r>=0&&(n=o.charAt(r)," "===n);r--);n&&validDivisionCharRE.test(n)||(m=!0)}}else void 0===c?(k=l+1,c=o.slice(0,l).trim()):E();function E(){w.push(o.slice(k,l).trim()),k=l+1}if(void 0===c?c=o.slice(0,l).trim():0!==k&&E(),w.length){for(l=0;l<w.length;l++)c=wrapFilter(c,w[l],r);n.content=c,n.ast=void 0}}function wrapFilter(n,r,o){o.helper(RESOLVE_FILTER);const a=r.indexOf("(");if(a<0)return o.filters.add(r),`${toValidAssetId(r,"filter")}(${n})`;{const s=r.slice(0,a),l=r.slice(a+1);return o.filters.add(s),`${toValidAssetId(s,"filter")}(${n}${")"!==l?","+l:l}`}}const seen=new WeakSet,transformMemo=(n,r)=>{if(1===n.type){const o=findDir(n,"memo");if(!o||seen.has(n))return;return seen.add(n),()=>{const a=n.codegenNode||r.currentNode.codegenNode;a&&13===a.type&&(1!==n.tagType&&convertToBlock(a,r),n.codegenNode=createCallExpression(r.helper(WITH_MEMO),[o.exp,createFunctionExpression(void 0,a),"_cache",String(r.cached.length)]),r.cached.push(null))}}};function getBaseTransformPreset(n){return[[transformOnce,transformIf,transformMemo,transformFor,transformFilter,transformSlotOutlet,transformElement,trackSlotScopes,transformText],{on:transformOn$1,bind:transformBind,model:transformModel$1}]}function baseCompile(n,r={}){const o=r.onError||defaultOnError,a="module"===r.mode;!0===r.prefixIdentifiers?o(createCompilerError(47)):a&&o(createCompilerError(48));r.cacheHandlers&&o(createCompilerError(49)),r.scopeId&&!a&&o(createCompilerError(50));const s=extend$2({},r,{prefixIdentifiers:!1}),l=isString$1(n)?baseParse(n,s):n,[c,u]=getBaseTransformPreset();return transform$1(l,extend$2({},s,{nodeTransforms:[...c,...r.nodeTransforms||[]],directiveTransforms:extend$2({},u,r.directiveTransforms||{})})),generate(l,s)}const BindingTypes={DATA:"data",PROPS:"props",PROPS_ALIASED:"props-aliased",SETUP_LET:"setup-let",SETUP_CONST:"setup-const",SETUP_REACTIVE_CONST:"setup-reactive-const",SETUP_MAYBE_REF:"setup-maybe-ref",SETUP_REF:"setup-ref",OPTIONS:"options",LITERAL_CONST:"literal-const"},noopDirectiveTransform=()=>({props:[]}),V_MODEL_RADIO=Symbol(""),V_MODEL_CHECKBOX=Symbol(""),V_MODEL_TEXT=Symbol(""),V_MODEL_SELECT=Symbol(""),V_MODEL_DYNAMIC=Symbol(""),V_ON_WITH_MODIFIERS=Symbol(""),V_ON_WITH_KEYS=Symbol(""),V_SHOW=Symbol(""),TRANSITION=Symbol(""),TRANSITION_GROUP=Symbol("");let decoder;function decodeHtmlBrowser(n,r=!1){return decoder||(decoder=document.createElement("div")),r?(decoder.innerHTML=`<div foo="${n.replace(/"/g,""")}">`,decoder.children[0].getAttribute("foo")):(decoder.innerHTML=n,decoder.textContent)}registerRuntimeHelpers({[V_MODEL_RADIO]:"vModelRadio",[V_MODEL_CHECKBOX]:"vModelCheckbox",[V_MODEL_TEXT]:"vModelText",[V_MODEL_SELECT]:"vModelSelect",[V_MODEL_DYNAMIC]:"vModelDynamic",[V_ON_WITH_MODIFIERS]:"withModifiers",[V_ON_WITH_KEYS]:"withKeys",[V_SHOW]:"vShow",[TRANSITION]:"Transition",[TRANSITION_GROUP]:"TransitionGroup"});const parserOptions={parseMode:"html",isVoidTag:isVoidTag,isNativeTag:n=>isHTMLTag(n)||isSVGTag(n)||isMathMLTag(n),isPreTag:n=>"pre"===n,isIgnoreNewlineTag:n=>"pre"===n||"textarea"===n,decodeEntities:decodeHtmlBrowser,isBuiltInComponent:n=>"Transition"===n||"transition"===n?TRANSITION:"TransitionGroup"===n||"transition-group"===n?TRANSITION_GROUP:void 0,getNamespace(n,r,o){let a=r?r.ns:o;if(r&&2===a)if("annotation-xml"===r.tag){if("svg"===n)return 1;r.props.some((n=>6===n.type&&"encoding"===n.name&&null!=n.value&&("text/html"===n.value.content||"application/xhtml+xml"===n.value.content)))&&(a=0)}else/^m(?:[ions]|text)$/.test(r.tag)&&"mglyph"!==n&&"malignmark"!==n&&(a=0);else r&&1===a&&("foreignObject"!==r.tag&&"desc"!==r.tag&&"title"!==r.tag||(a=0));if(0===a){if("svg"===n)return 1;if("math"===n)return 2}return a}},transformStyle=n=>{1===n.type&&n.props.forEach(((r,o)=>{6===r.type&&"style"===r.name&&r.value&&(n.props[o]={type:7,name:"bind",arg:createSimpleExpression("style",!0,r.loc),exp:parseInlineCSS(r.value.content,r.loc),modifiers:[],loc:r.loc})}))},parseInlineCSS=(n,r)=>{const o=parseStringStyle(n);return createSimpleExpression(JSON.stringify(o),!1,r,3)};function createDOMCompilerError(n,r){return createCompilerError(n,r)}const DOMErrorCodes={X_V_HTML_NO_EXPRESSION:53,53:"X_V_HTML_NO_EXPRESSION",X_V_HTML_WITH_CHILDREN:54,54:"X_V_HTML_WITH_CHILDREN",X_V_TEXT_NO_EXPRESSION:55,55:"X_V_TEXT_NO_EXPRESSION",X_V_TEXT_WITH_CHILDREN:56,56:"X_V_TEXT_WITH_CHILDREN",X_V_MODEL_ON_INVALID_ELEMENT:57,57:"X_V_MODEL_ON_INVALID_ELEMENT",X_V_MODEL_ARG_ON_ELEMENT:58,58:"X_V_MODEL_ARG_ON_ELEMENT",X_V_MODEL_ON_FILE_INPUT_ELEMENT:59,59:"X_V_MODEL_ON_FILE_INPUT_ELEMENT",X_V_MODEL_UNNECESSARY_VALUE:60,60:"X_V_MODEL_UNNECESSARY_VALUE",X_V_SHOW_NO_EXPRESSION:61,61:"X_V_SHOW_NO_EXPRESSION",X_TRANSITION_INVALID_CHILDREN:62,62:"X_TRANSITION_INVALID_CHILDREN",X_IGNORED_SIDE_EFFECT_TAG:63,63:"X_IGNORED_SIDE_EFFECT_TAG",__EXTEND_POINT__:64,64:"__EXTEND_POINT__"},DOMErrorMessages={53:"v-html is missing expression.",54:"v-html will override element children.",55:"v-text is missing expression.",56:"v-text will override element children.",57:"v-model can only be used on <input>, <textarea> and <select> elements.",58:"v-model argument is not supported on plain elements.",59:"v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.",60:"Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.",61:"v-show is missing expression.",62:"<Transition> expects exactly one child element or component.",63:"Tags with side effect (<script> and <style>) are ignored in client component templates."},transformVHtml=(n,r,o)=>{const{exp:a,loc:s}=n;return a||o.onError(createDOMCompilerError(53,s)),r.children.length&&(o.onError(createDOMCompilerError(54,s)),r.children.length=0),{props:[createObjectProperty(createSimpleExpression("innerHTML",!0,s),a||createSimpleExpression("",!0))]}},transformVText=(n,r,o)=>{const{exp:a,loc:s}=n;return a||o.onError(createDOMCompilerError(55,s)),r.children.length&&(o.onError(createDOMCompilerError(56,s)),r.children.length=0),{props:[createObjectProperty(createSimpleExpression("textContent",!0),a?getConstantType(a,o)>0?a:createCallExpression(o.helperString(TO_DISPLAY_STRING),[a],s):createSimpleExpression("",!0))]}},transformModel=(n,r,o)=>{const a=transformModel$1(n,r,o);if(!a.props.length||1===r.tagType)return a;n.arg&&o.onError(createDOMCompilerError(58,n.arg.loc));const{tag:s}=r,l=o.isCustomElement(s);if("input"===s||"textarea"===s||"select"===s||l){let c=V_MODEL_TEXT,u=!1;if("input"===s||l){const a=findProp(r,"type");if(a){if(7===a.type)c=V_MODEL_DYNAMIC;else if(a.value)switch(a.value.content){case"radio":c=V_MODEL_RADIO;break;case"checkbox":c=V_MODEL_CHECKBOX;break;case"file":u=!0,o.onError(createDOMCompilerError(59,n.loc))}}else hasDynamicKeyVBind(r)&&(c=V_MODEL_DYNAMIC)}else"select"===s&&(c=V_MODEL_SELECT);u||(a.needRuntime=o.helper(c))}else o.onError(createDOMCompilerError(57,n.loc));return a.props=a.props.filter((n=>!(4===n.key.type&&"modelValue"===n.key.content))),a},isEventOptionModifier=makeMap("passive,once,capture"),isNonKeyModifier=makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),maybeKeyModifier=makeMap("left,right"),isKeyboardEvent$1=makeMap("onkeyup,onkeydown,onkeypress"),resolveModifiers=(n,r,o,a)=>{const s=[],l=[],c=[];for(let u=0;u<r.length;u++){const a=r[u].content;"native"===a&&checkCompatEnabled("COMPILER_V_ON_NATIVE",o)||isEventOptionModifier(a)?c.push(a):maybeKeyModifier(a)?isStaticExp(n)?isKeyboardEvent$1(n.content.toLowerCase())?s.push(a):l.push(a):(s.push(a),l.push(a)):isNonKeyModifier(a)?l.push(a):s.push(a)}return{keyModifiers:s,nonKeyModifiers:l,eventOptionModifiers:c}},transformClick=(n,r)=>isStaticExp(n)&&"onclick"===n.content.toLowerCase()?createSimpleExpression(r,!0):4!==n.type?createCompoundExpression(["(",n,`) === "onClick" ? "${r}" : (`,n,")"]):n,transformOn=(n,r,o)=>transformOn$1(n,r,o,(r=>{const{modifiers:a}=n;if(!a.length)return r;let{key:s,value:l}=r.props[0];const{keyModifiers:c,nonKeyModifiers:u,eventOptionModifiers:d}=resolveModifiers(s,a,o,n.loc);if(u.includes("right")&&(s=transformClick(s,"onContextmenu")),u.includes("middle")&&(s=transformClick(s,"onMouseup")),u.length&&(l=createCallExpression(o.helper(V_ON_WITH_MODIFIERS),[l,JSON.stringify(u)])),!c.length||isStaticExp(s)&&!isKeyboardEvent$1(s.content.toLowerCase())||(l=createCallExpression(o.helper(V_ON_WITH_KEYS),[l,JSON.stringify(c)])),d.length){const n=d.map(capitalize).join("");s=isStaticExp(s)?createSimpleExpression(`${s.content}${n}`,!0):createCompoundExpression(["(",s,`) + "${n}"`])}return{props:[createObjectProperty(s,l)]}})),transformShow=(n,r,o)=>{const{exp:a,loc:s}=n;return a||o.onError(createDOMCompilerError(61,s)),{props:[],needRuntime:o.helper(V_SHOW)}},ignoreSideEffectTags=(n,r)=>{1!==n.type||0!==n.tagType||"script"!==n.tag&&"style"!==n.tag||r.removeNode()},DOMNodeTransforms=[transformStyle],DOMDirectiveTransforms={cloak:noopDirectiveTransform,html:transformVHtml,text:transformVText,model:transformModel,on:transformOn,show:transformShow};function compile(n,r={}){return baseCompile(n,extend$2({},parserOptions,r,{nodeTransforms:[ignoreSideEffectTags,...DOMNodeTransforms,...r.nodeTransforms||[]],directiveTransforms:extend$2({},DOMDirectiveTransforms,r.directiveTransforms||{}),transformHoist:null}))}function parse$1(n,r={}){return baseParse(n,extend$2({},parserOptions,r))}const compilerDom_esmBundler=Object.freeze(Object.defineProperty({__proto__:null,BASE_TRANSITION:BASE_TRANSITION,BindingTypes:BindingTypes,CAMELIZE:CAMELIZE,CAPITALIZE:CAPITALIZE,CREATE_BLOCK:CREATE_BLOCK,CREATE_COMMENT:CREATE_COMMENT,CREATE_ELEMENT_BLOCK:CREATE_ELEMENT_BLOCK,CREATE_ELEMENT_VNODE:CREATE_ELEMENT_VNODE,CREATE_SLOTS:CREATE_SLOTS,CREATE_STATIC:CREATE_STATIC,CREATE_TEXT:CREATE_TEXT,CREATE_VNODE:CREATE_VNODE,CompilerDeprecationTypes:CompilerDeprecationTypes,ConstantTypes:ConstantTypes,DOMDirectiveTransforms:DOMDirectiveTransforms,DOMErrorCodes:DOMErrorCodes,DOMErrorMessages:DOMErrorMessages,DOMNodeTransforms:DOMNodeTransforms,ElementTypes:ElementTypes,ErrorCodes:ErrorCodes,FRAGMENT:FRAGMENT,GUARD_REACTIVE_PROPS:GUARD_REACTIVE_PROPS,IS_MEMO_SAME:IS_MEMO_SAME,IS_REF:IS_REF,KEEP_ALIVE:KEEP_ALIVE,MERGE_PROPS:MERGE_PROPS,NORMALIZE_CLASS:NORMALIZE_CLASS,NORMALIZE_PROPS:NORMALIZE_PROPS,NORMALIZE_STYLE:NORMALIZE_STYLE,Namespaces:Namespaces,NodeTypes:NodeTypes,OPEN_BLOCK:OPEN_BLOCK,POP_SCOPE_ID:POP_SCOPE_ID,PUSH_SCOPE_ID:PUSH_SCOPE_ID,RENDER_LIST:RENDER_LIST,RENDER_SLOT:RENDER_SLOT,RESOLVE_COMPONENT:RESOLVE_COMPONENT,RESOLVE_DIRECTIVE:RESOLVE_DIRECTIVE,RESOLVE_DYNAMIC_COMPONENT:RESOLVE_DYNAMIC_COMPONENT,RESOLVE_FILTER:RESOLVE_FILTER,SET_BLOCK_TRACKING:SET_BLOCK_TRACKING,SUSPENSE:SUSPENSE,TELEPORT:TELEPORT,TO_DISPLAY_STRING:TO_DISPLAY_STRING,TO_HANDLERS:TO_HANDLERS,TO_HANDLER_KEY:TO_HANDLER_KEY,TRANSITION:TRANSITION,TRANSITION_GROUP:TRANSITION_GROUP,TS_NODE_TYPES:TS_NODE_TYPES,UNREF:UNREF,V_MODEL_CHECKBOX:V_MODEL_CHECKBOX,V_MODEL_DYNAMIC:V_MODEL_DYNAMIC,V_MODEL_RADIO:V_MODEL_RADIO,V_MODEL_SELECT:V_MODEL_SELECT,V_MODEL_TEXT:V_MODEL_TEXT,V_ON_WITH_KEYS:V_ON_WITH_KEYS,V_ON_WITH_MODIFIERS:V_ON_WITH_MODIFIERS,V_SHOW:V_SHOW,WITH_CTX:WITH_CTX,WITH_DIRECTIVES:WITH_DIRECTIVES,WITH_MEMO:WITH_MEMO,advancePositionWithClone:advancePositionWithClone,advancePositionWithMutation:advancePositionWithMutation,assert:assert,baseCompile:baseCompile,baseParse:baseParse,buildDirectiveArgs:buildDirectiveArgs,buildProps:buildProps,buildSlots:buildSlots,checkCompatEnabled:checkCompatEnabled,compile:compile,convertToBlock:convertToBlock,createArrayExpression:createArrayExpression,createAssignmentExpression:createAssignmentExpression,createBlockStatement:createBlockStatement,createCacheExpression:createCacheExpression,createCallExpression:createCallExpression,createCompilerError:createCompilerError,createCompoundExpression:createCompoundExpression,createConditionalExpression:createConditionalExpression,createDOMCompilerError:createDOMCompilerError,createForLoopParams:createForLoopParams,createFunctionExpression:createFunctionExpression,createIfStatement:createIfStatement,createInterpolation:createInterpolation,createObjectExpression:createObjectExpression,createObjectProperty:createObjectProperty,createReturnStatement:createReturnStatement,createRoot:createRoot,createSequenceExpression:createSequenceExpression,createSimpleExpression:createSimpleExpression,createStructuralDirectiveTransform:createStructuralDirectiveTransform,createTemplateLiteral:createTemplateLiteral,createTransformContext:createTransformContext,createVNodeCall:createVNodeCall,errorMessages:errorMessages,extractIdentifiers:extractIdentifiers,findDir:findDir,findProp:findProp,forAliasRE:forAliasRE,generate:generate,generateCodeFrame:generateCodeFrame,getBaseTransformPreset:getBaseTransformPreset,getConstantType:getConstantType,getMemoedVNodeCall:getMemoedVNodeCall,getVNodeBlockHelper:getVNodeBlockHelper,getVNodeHelper:getVNodeHelper,hasDynamicKeyVBind:hasDynamicKeyVBind,hasScopeRef:hasScopeRef,helperNameMap:helperNameMap,injectProp:injectProp,isCoreComponent:isCoreComponent,isFnExpression:isFnExpression,isFnExpressionBrowser:isFnExpressionBrowser,isFnExpressionNode:isFnExpressionNode,isFunctionType:isFunctionType,isInDestructureAssignment:isInDestructureAssignment,isInNewExpression:isInNewExpression,isMemberExpression:isMemberExpression,isMemberExpressionBrowser:isMemberExpressionBrowser,isMemberExpressionNode:isMemberExpressionNode,isReferencedIdentifier:isReferencedIdentifier,isSimpleIdentifier:isSimpleIdentifier,isSlotOutlet:isSlotOutlet,isStaticArgOf:isStaticArgOf,isStaticExp:isStaticExp,isStaticProperty:isStaticProperty,isStaticPropertyKey:isStaticPropertyKey,isTemplateNode:isTemplateNode,isText:isText$1,isVSlot:isVSlot,locStub:locStub,noopDirectiveTransform:noopDirectiveTransform,parse:parse$1,parserOptions:parserOptions,processExpression:processExpression,processFor:processFor,processIf:processIf,processSlotOutlet:processSlotOutlet,registerRuntimeHelpers:registerRuntimeHelpers,resolveComponentType:resolveComponentType,stringifyExpression:stringifyExpression,toValidAssetId:toValidAssetId,trackSlotScopes:trackSlotScopes,trackVForSlotScopes:trackVForSlotScopes,transform:transform$1,transformBind:transformBind,transformElement:transformElement,transformExpression:transformExpression,transformModel:transformModel$1,transformOn:transformOn$1,transformStyle:transformStyle,traverseNode:traverseNode,unwrapTSNode:unwrapTSNode,walkBlockDeclarations:walkBlockDeclarations,walkFunctionParams:walkFunctionParams,walkIdentifiers:walkIdentifiers,warnDeprecation:warnDeprecation},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(compilerDom_esmBundler),require$$1$1=getAugmentedNamespace(runtimeDom_esmBundler),require$$2=getAugmentedNamespace(shared_esmBundler);var hasRequiredVue_cjs_prod,hasRequiredVue;function requireVue_cjs_prod(){return hasRequiredVue_cjs_prod||(hasRequiredVue_cjs_prod=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});var r=require$$0,o=require$$1$1,a=require$$2;function s(n){var r=Object.create(null);if(n)for(var o in n)r[o]=n[o];return r.default=n,Object.freeze(r)}var l=s(o);const c=Object.create(null);function u(n,o){if(!a.isString(n)){if(!n.nodeType)return a.NOOP;n=n.innerHTML}const s=a.genCacheKey(n,o),u=c[s];if(u)return u;if("#"===n[0]){const r=document.querySelector(n);n=r?r.innerHTML:""}const d=a.extend({hoistStatic:!0,onError:void 0,onWarn:a.NOOP},o);d.isCustomElement||"undefined"==typeof customElements||(d.isCustomElement=n=>!!customElements.get(n));const{code:f}=r.compile(n,d),m=new Function("Vue",f)(l);return m._rc=!0,c[s]=m}o.registerRuntimeCompiler(u),n.compile=u,Object.keys(o).forEach((function(r){"default"===r||Object.prototype.hasOwnProperty.call(n,r)||(n[r]=o[r])}))}(vue_cjs_prod)),vue_cjs_prod}function requireVue(){return hasRequiredVue||(hasRequiredVue=1,vue.exports=requireVue_cjs_prod()),vue.exports}function ownKeys(n,r){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),o.push.apply(o,a)}return o}function _objectSpread2(n){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(o),!0).forEach((function(r){_defineProperty(n,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach((function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(o,r))}))}return n}function _typeof(n){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function _defineProperty(n,r,o){return r in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n}function _extends(){return _extends=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(n[a]=o[a])}return n},_extends.apply(this,arguments)}function _objectWithoutPropertiesLoose(n,r){if(null==n)return{};var o,a,s={},l=Object.keys(n);for(a=0;a<l.length;a++)o=l[a],r.indexOf(o)>=0||(s[o]=n[o]);return s}function _objectWithoutProperties(n,r){if(null==n)return{};var o,a,s=_objectWithoutPropertiesLoose(n,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(n);for(a=0;a<l.length;a++)o=l[a],r.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(n,o)&&(s[o]=n[o])}return s}function _toConsumableArray(n){return _arrayWithoutHoles(n)||_iterableToArray(n)||_unsupportedIterableToArray(n)||_nonIterableSpread()}function _arrayWithoutHoles(n){if(Array.isArray(n))return _arrayLikeToArray(n)}function _iterableToArray(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}function _unsupportedIterableToArray(n,r){if(n){if("string"==typeof n)return _arrayLikeToArray(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);return"Object"===o&&n.constructor&&(o=n.constructor.name),"Map"===o||"Set"===o?Array.from(n):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(n,r):void 0}}function _arrayLikeToArray(n,r){(null==r||r>n.length)&&(r=n.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=n[o];return a}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var version="1.14.0";function userAgent(n){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(n)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/android/i),captureMode={capture:!1,passive:!1};function on$1(n,r,o){n.addEventListener(r,o,!IE11OrLess&&captureMode)}function off(n,r,o){n.removeEventListener(r,o,!IE11OrLess&&captureMode)}function matches(n,r){if(r){if(">"===r[0]&&(r=r.substring(1)),n)try{if(n.matches)return n.matches(r);if(n.msMatchesSelector)return n.msMatchesSelector(r);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(r)}catch(o){return!1}return!1}}function getParentOrHost(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function closest(n,r,o,a){if(n){o=o||document;do{if(null!=r&&(">"===r[0]?n.parentNode===o&&matches(n,r):matches(n,r))||a&&n===o)return n;if(n===o)break}while(n=getParentOrHost(n))}return null}var R_SPACE=/\s+/g,_throttleTimeout;function toggleClass(n,r,o){if(n&&r)if(n.classList)n.classList[o?"add":"remove"](r);else{var a=(" "+n.className+" ").replace(R_SPACE," ").replace(" "+r+" "," ");n.className=(a+(o?" "+r:"")).replace(R_SPACE," ")}}function css(n,r,o){var a=n&&n.style;if(a){if(void 0===o)return document.defaultView&&document.defaultView.getComputedStyle?o=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(o=n.currentStyle),void 0===r?o:o[r];r in a||-1!==r.indexOf("webkit")||(r="-webkit-"+r),a[r]=o+("string"==typeof o?"":"px")}}function matrix(n,r){var o="";if("string"==typeof n)o=n;else do{var a=css(n,"transform");a&&"none"!==a&&(o=a+" "+o)}while(!r&&(n=n.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(o)}function find(n,r,o){if(n){var a=n.getElementsByTagName(r),s=0,l=a.length;if(o)for(;s<l;s++)o(a[s],s);return a}return[]}function getWindowScrollingElement(){var n=document.scrollingElement;return n||document.documentElement}function getRect(n,r,o,a,s){if(n.getBoundingClientRect||n===window){var l,c,u,d,f,m,g;if(n!==window&&n.parentNode&&n!==getWindowScrollingElement()?(c=(l=n.getBoundingClientRect()).top,u=l.left,d=l.bottom,f=l.right,m=l.height,g=l.width):(c=0,u=0,d=window.innerHeight,f=window.innerWidth,m=window.innerHeight,g=window.innerWidth),(r||o)&&n!==window&&(s=s||n.parentNode,!IE11OrLess))do{if(s&&s.getBoundingClientRect&&("none"!==css(s,"transform")||o&&"static"!==css(s,"position"))){var b=s.getBoundingClientRect();c-=b.top+parseInt(css(s,"border-top-width")),u-=b.left+parseInt(css(s,"border-left-width")),d=c+l.height,f=u+l.width;break}}while(s=s.parentNode);if(a&&n!==window){var S=matrix(s||n),k=S&&S.a,w=S&&S.d;S&&(d=(c/=w)+(m/=w),f=(u/=k)+(g/=k))}return{top:c,left:u,bottom:d,right:f,width:g,height:m}}}function isScrolledPast(n,r,o){for(var a=getParentAutoScrollElement(n,!0),s=getRect(n)[r];a;){if(!(s>=getRect(a)[o]))return a;if(a===getWindowScrollingElement())break;a=getParentAutoScrollElement(a,!1)}return!1}function getChild(n,r,o,a){for(var s=0,l=0,c=n.children;l<c.length;){if("none"!==c[l].style.display&&c[l]!==Sortable.ghost&&(a||c[l]!==Sortable.dragged)&&closest(c[l],o.draggable,n,!1)){if(s===r)return c[l];s++}l++}return null}function lastChild(n,r){for(var o=n.lastElementChild;o&&(o===Sortable.ghost||"none"===css(o,"display")||r&&!matches(o,r));)o=o.previousElementSibling;return o||null}function index(n,r){var o=0;if(!n||!n.parentNode)return-1;for(;n=n.previousElementSibling;)"TEMPLATE"===n.nodeName.toUpperCase()||n===Sortable.clone||r&&!matches(n,r)||o++;return o}function getRelativeScrollOffset(n){var r=0,o=0,a=getWindowScrollingElement();if(n)do{var s=matrix(n),l=s.a,c=s.d;r+=n.scrollLeft*l,o+=n.scrollTop*c}while(n!==a&&(n=n.parentNode));return[r,o]}function indexOfObject(n,r){for(var o in n)if(n.hasOwnProperty(o))for(var a in r)if(r.hasOwnProperty(a)&&r[a]===n[o][a])return Number(o);return-1}function getParentAutoScrollElement(n,r){if(!n||!n.getBoundingClientRect)return getWindowScrollingElement();var o=n,a=!1;do{if(o.clientWidth<o.scrollWidth||o.clientHeight<o.scrollHeight){var s=css(o);if(o.clientWidth<o.scrollWidth&&("auto"==s.overflowX||"scroll"==s.overflowX)||o.clientHeight<o.scrollHeight&&("auto"==s.overflowY||"scroll"==s.overflowY)){if(!o.getBoundingClientRect||o===document.body)return getWindowScrollingElement();if(a||r)return o;a=!0}}}while(o=o.parentNode);return getWindowScrollingElement()}function extend(n,r){if(n&&r)for(var o in r)r.hasOwnProperty(o)&&(n[o]=r[o]);return n}function isRectEqual(n,r){return Math.round(n.top)===Math.round(r.top)&&Math.round(n.left)===Math.round(r.left)&&Math.round(n.height)===Math.round(r.height)&&Math.round(n.width)===Math.round(r.width)}function throttle(n,r){return function(){if(!_throttleTimeout){var o=arguments;1===o.length?n.call(this,o[0]):n.apply(this,o),_throttleTimeout=setTimeout((function(){_throttleTimeout=void 0}),r)}}}function cancelThrottle(){clearTimeout(_throttleTimeout),_throttleTimeout=void 0}function scrollBy(n,r,o){n.scrollLeft+=r,n.scrollTop+=o}function clone(n){var r=window.Polymer,o=window.jQuery||window.Zepto;return r&&r.dom?r.dom(n).cloneNode(!0):o?o(n).clone(!0)[0]:n.cloneNode(!0)}function setRect(n,r){css(n,"position","absolute"),css(n,"top",r.top),css(n,"left",r.left),css(n,"width",r.width),css(n,"height",r.height)}function unsetRect(n){css(n,"position",""),css(n,"top",""),css(n,"left",""),css(n,"width",""),css(n,"height","")}var expando="Sortable"+(new Date).getTime();function AnimationStateManager(){var n,r=[];return{captureAnimationState:function(){(r=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(n){if("none"!==css(n,"display")&&n!==Sortable.ghost){r.push({target:n,rect:getRect(n)});var o=_objectSpread2({},r[r.length-1].rect);if(n.thisAnimationDuration){var a=matrix(n,!0);a&&(o.top-=a.f,o.left-=a.e)}n.fromRect=o}}))},addAnimationState:function(n){r.push(n)},removeAnimationState:function(n){r.splice(indexOfObject(r,{target:n}),1)},animateAll:function(o){var a=this;if(!this.options.animation)return clearTimeout(n),void("function"==typeof o&&o());var s=!1,l=0;r.forEach((function(n){var r=0,o=n.target,c=o.fromRect,u=getRect(o),d=o.prevFromRect,f=o.prevToRect,m=n.rect,g=matrix(o,!0);g&&(u.top-=g.f,u.left-=g.e),o.toRect=u,o.thisAnimationDuration&&isRectEqual(d,u)&&!isRectEqual(c,u)&&(m.top-u.top)/(m.left-u.left)==(c.top-u.top)/(c.left-u.left)&&(r=calculateRealTime(m,d,f,a.options)),isRectEqual(u,c)||(o.prevFromRect=c,o.prevToRect=u,r||(r=a.options.animation),a.animate(o,m,u,r)),r&&(s=!0,l=Math.max(l,r),clearTimeout(o.animationResetTimer),o.animationResetTimer=setTimeout((function(){o.animationTime=0,o.prevFromRect=null,o.fromRect=null,o.prevToRect=null,o.thisAnimationDuration=null}),r),o.thisAnimationDuration=r)})),clearTimeout(n),s?n=setTimeout((function(){"function"==typeof o&&o()}),l):"function"==typeof o&&o(),r=[]},animate:function(n,r,o,a){if(a){css(n,"transition",""),css(n,"transform","");var s=matrix(this.el),l=s&&s.a,c=s&&s.d,u=(r.left-o.left)/(l||1),d=(r.top-o.top)/(c||1);n.animatingX=!!u,n.animatingY=!!d,css(n,"transform","translate3d("+u+"px,"+d+"px,0)"),this.forRepaintDummy=repaint(n),css(n,"transition","transform "+a+"ms"+(this.options.easing?" "+this.options.easing:"")),css(n,"transform","translate3d(0,0,0)"),"number"==typeof n.animated&&clearTimeout(n.animated),n.animated=setTimeout((function(){css(n,"transition",""),css(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1}),a)}}}}function repaint(n){return n.offsetWidth}function calculateRealTime(n,r,o,a){return Math.sqrt(Math.pow(r.top-n.top,2)+Math.pow(r.left-n.left,2))/Math.sqrt(Math.pow(r.top-o.top,2)+Math.pow(r.left-o.left,2))*a.animation}var plugins=[],defaults={initializeByDefault:!0},PluginManager={mount:function(n){for(var r in defaults)defaults.hasOwnProperty(r)&&!(r in n)&&(n[r]=defaults[r]);plugins.forEach((function(r){if(r.pluginName===n.pluginName)throw"Sortable: Cannot mount plugin ".concat(n.pluginName," more than once")})),plugins.push(n)},pluginEvent:function(n,r,o){var a=this;this.eventCanceled=!1,o.cancel=function(){a.eventCanceled=!0};var s=n+"Global";plugins.forEach((function(a){r[a.pluginName]&&(r[a.pluginName][s]&&r[a.pluginName][s](_objectSpread2({sortable:r},o)),r.options[a.pluginName]&&r[a.pluginName][n]&&r[a.pluginName][n](_objectSpread2({sortable:r},o)))}))},initializePlugins:function(n,r,o,a){for(var s in plugins.forEach((function(a){var s=a.pluginName;if(n.options[s]||a.initializeByDefault){var l=new a(n,r,n.options);l.sortable=n,l.options=n.options,n[s]=l,_extends(o,l.defaults)}})),n.options)if(n.options.hasOwnProperty(s)){var l=this.modifyOption(n,s,n.options[s]);void 0!==l&&(n.options[s]=l)}},getEventProperties:function(n,r){var o={};return plugins.forEach((function(a){"function"==typeof a.eventProperties&&_extends(o,a.eventProperties.call(r[a.pluginName],n))})),o},modifyOption:function(n,r,o){var a;return plugins.forEach((function(s){n[s.pluginName]&&s.optionListeners&&"function"==typeof s.optionListeners[r]&&(a=s.optionListeners[r].call(n[s.pluginName],o))})),a}};function dispatchEvent(n){var r=n.sortable,o=n.rootEl,a=n.name,s=n.targetEl,l=n.cloneEl,c=n.toEl,u=n.fromEl,d=n.oldIndex,f=n.newIndex,m=n.oldDraggableIndex,g=n.newDraggableIndex,b=n.originalEvent,S=n.putSortable,k=n.extraEventProperties;if(r=r||o&&o[expando]){var w,E=r.options,C="on"+a.charAt(0).toUpperCase()+a.substr(1);!window.CustomEvent||IE11OrLess||Edge?(w=document.createEvent("Event")).initEvent(a,!0,!0):w=new CustomEvent(a,{bubbles:!0,cancelable:!0}),w.to=c||o,w.from=u||o,w.item=s||o,w.clone=l,w.oldIndex=d,w.newIndex=f,w.oldDraggableIndex=m,w.newDraggableIndex=g,w.originalEvent=b,w.pullMode=S?S.lastPutMode:void 0;var T=_objectSpread2(_objectSpread2({},k),PluginManager.getEventProperties(a,r));for(var I in T)w[I]=T[I];o&&o.dispatchEvent(w),E[C]&&E[C].call(r,w)}}var _excluded=["evt"],pluginEvent2=function(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=o.evt,s=_objectWithoutProperties(o,_excluded);PluginManager.pluginEvent.bind(Sortable)(n,r,_objectSpread2({dragEl:dragEl,parentEl:parentEl,ghostEl:ghostEl,rootEl:rootEl,nextEl:nextEl,lastDownEl:lastDownEl,cloneEl:cloneEl,cloneHidden:cloneHidden,dragStarted:moved,putSortable:putSortable,activeSortable:Sortable.active,originalEvent:a,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(n){_dispatchEvent({sortable:r,name:n,originalEvent:a})}},s))};function _dispatchEvent(n){dispatchEvent(_objectSpread2({putSortable:putSortable,cloneEl:cloneEl,targetEl:dragEl,rootEl:rootEl,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex},n))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists="undefined"!=typeof document,PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto","auto"===n.style.pointerEvents}}(),_detectDirection=function(n,r){var o=css(n),a=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),s=getChild(n,0,r),l=getChild(n,1,r),c=s&&css(s),u=l&&css(l),d=c&&parseInt(c.marginLeft)+parseInt(c.marginRight)+getRect(s).width,f=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+getRect(l).width;if("flex"===o.display)return"column"===o.flexDirection||"column-reverse"===o.flexDirection?"vertical":"horizontal";if("grid"===o.display)return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&c.float&&"none"!==c.float){var m="left"===c.float?"left":"right";return!l||"both"!==u.clear&&u.clear!==m?"horizontal":"vertical"}return s&&("block"===c.display||"flex"===c.display||"table"===c.display||"grid"===c.display||d>=a&&"none"===o[CSSFloatProperty]||l&&"none"===o[CSSFloatProperty]&&d+f>a)?"vertical":"horizontal"},_dragElInRowColumn=function(n,r,o){var a=o?n.left:n.top,s=o?n.right:n.bottom,l=o?n.width:n.height,c=o?r.left:r.top,u=o?r.right:r.bottom,d=o?r.width:r.height;return a===c||s===u||a+l/2===c+d/2},_detectNearestEmptySortable=function(n,r){var o;return sortables.some((function(a){var s=a[expando].options.emptyInsertThreshold;if(s&&!lastChild(a)){var l=getRect(a),c=n>=l.left-s&&n<=l.right+s,u=r>=l.top-s&&r<=l.bottom+s;return c&&u?o=a:void 0}})),o},_prepareGroup=function(n){function r(n,o){return function(a,s,l,c){var u=a.options.group.name&&s.options.group.name&&a.options.group.name===s.options.group.name;if(null==n&&(o||u))return!0;if(null==n||!1===n)return!1;if(o&&"clone"===n)return n;if("function"==typeof n)return r(n(a,s,l,c),o)(a,s,l,c);var d=(o?a:s).options.group.name;return!0===n||"string"==typeof n&&n===d||n.join&&n.indexOf(d)>-1}}var o={},a=n.group;a&&"object"==_typeof(a)||(a={name:a}),o.name=a.name,o.checkPull=r(a.pull,!0),o.checkPut=r(a.put),o.revertClone=a.revertClone,n.group=o},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","")};documentExists&&document.addEventListener("click",(function(n){if(ignoreNextClick)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),ignoreNextClick=!1,!1}),!0);var nearestEmptyInsertDetectEvent=function(n){if(dragEl){n=n.touches?n.touches[0]:n;var r=_detectNearestEmptySortable(n.clientX,n.clientY);if(r){var o={};for(var a in n)n.hasOwnProperty(a)&&(o[a]=n[a]);o.target=o.rootEl=r,o.preventDefault=void 0,o.stopPropagation=void 0,r[expando]._onDragOver(o)}}},_checkOutsideTargetEl=function(n){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(n.target)};function Sortable(n,r){if(!n||!n.nodeType||1!==n.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=r=_extends({},r),n[expando]=this;var o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(n,r){n.setData("Text",r.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer&&"PointerEvent"in window&&!Safari,emptyInsertThreshold:5};for(var a in PluginManager.initializePlugins(this,n,o),o)!(a in r)&&(r[a]=o[a]);for(var s in _prepareGroup(r),this)"_"===s.charAt(0)&&"function"==typeof this[s]&&(this[s]=this[s].bind(this));this.nativeDraggable=!r.forceFallback&&supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),r.supportPointer?on$1(n,"pointerdown",this._onTapStart):(on$1(n,"mousedown",this._onTapStart),on$1(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(on$1(n,"dragover",this),on$1(n,"dragenter",this)),sortables.push(this.el),r.store&&r.store.get&&this.sort(r.store.get(this)||[]),_extends(this,AnimationStateManager())}function _globalDragOver(n){n.dataTransfer&&(n.dataTransfer.dropEffect="move"),n.cancelable&&n.preventDefault()}function _onMove(n,r,o,a,s,l,c,u){var d,f,m=n[expando],g=m.options.onMove;return!window.CustomEvent||IE11OrLess||Edge?(d=document.createEvent("Event")).initEvent("move",!0,!0):d=new CustomEvent("move",{bubbles:!0,cancelable:!0}),d.to=r,d.from=n,d.dragged=o,d.draggedRect=a,d.related=s||r,d.relatedRect=l||getRect(r),d.willInsertAfter=u,d.originalEvent=c,n.dispatchEvent(d),g&&(f=g.call(m,d,c)),f}function _disableDraggable(n){n.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsFirst(n,r,o){var a=getRect(getChild(o.el,0,o.options,!0));return r?n.clientX<a.left-10||n.clientY<a.top&&n.clientX<a.right:n.clientY<a.top-10||n.clientY<a.bottom&&n.clientX<a.left}function _ghostIsLast(n,r,o){var a=getRect(lastChild(o.el,o.options.draggable));return r?n.clientX>a.right+10||n.clientX<=a.right&&n.clientY>a.bottom&&n.clientX>=a.left:n.clientX>a.right&&n.clientY>a.top||n.clientX<=a.right&&n.clientY>a.bottom+10}function _getSwapDirection(n,r,o,a,s,l,c,u){var d=a?n.clientY:n.clientX,f=a?o.height:o.width,m=a?o.top:o.left,g=a?o.bottom:o.right,b=!1;if(!c)if(u&&targetMoveDistance<f*s){if(!pastFirstInvertThresh&&(1===lastDirection?d>m+f*l/2:d<g-f*l/2)&&(pastFirstInvertThresh=!0),pastFirstInvertThresh)b=!0;else if(1===lastDirection?d<m+targetMoveDistance:d>g-targetMoveDistance)return-lastDirection}else if(d>m+f*(1-s)/2&&d<g-f*(1-s)/2)return _getInsertDirection(r);return(b=b||c)&&(d<m+f*l/2||d>g-f*l/2)?d>m+f/2?1:-1:0}function _getInsertDirection(n){return index(dragEl)<index(n)?1:-1}function _generateId(n){for(var r=n.tagName+n.className+n.src+n.href+n.textContent,o=r.length,a=0;o--;)a+=r.charCodeAt(o);return a.toString(36)}function _saveInputCheckedState(n){savedInputChecked.length=0;for(var r=n.getElementsByTagName("input"),o=r.length;o--;){var a=r[o];a.checked&&savedInputChecked.push(a)}}function _nextTick(n){return setTimeout(n,0)}function _cancelNextTick(n){return clearTimeout(n)}Sortable.prototype={constructor:Sortable,_isOutsideThisEl:function(n){this.el.contains(n)||n===this.el||(lastTarget=null)},_getDirection:function(n,r){return"function"==typeof this.options.direction?this.options.direction.call(this,n,r,dragEl):this.options.direction},_onTapStart:function(n){if(n.cancelable){var r=this,o=this.el,a=this.options,s=a.preventOnFilter,l=n.type,c=n.touches&&n.touches[0]||n.pointerType&&"touch"===n.pointerType&&n,u=(c||n).target,d=n.target.shadowRoot&&(n.path&&n.path[0]||n.composedPath&&n.composedPath()[0])||u,f=a.filter;if(_saveInputCheckedState(o),!dragEl&&!(/mousedown|pointerdown/.test(l)&&0!==n.button||a.disabled)&&!d.isContentEditable&&(this.nativeDraggable||!Safari||!u||"SELECT"!==u.tagName.toUpperCase())&&!((u=closest(u,a.draggable,o,!1))&&u.animated||lastDownEl===u)){if(oldIndex=index(u),oldDraggableIndex=index(u,a.draggable),"function"==typeof f){if(f.call(this,n,u,this))return _dispatchEvent({sortable:r,rootEl:d,name:"filter",targetEl:u,toEl:o,fromEl:o}),pluginEvent2("filter",r,{evt:n}),void(s&&n.cancelable&&n.preventDefault())}else if(f&&(f=f.split(",").some((function(a){if(a=closest(d,a.trim(),o,!1))return _dispatchEvent({sortable:r,rootEl:a,name:"filter",targetEl:u,fromEl:o,toEl:o}),pluginEvent2("filter",r,{evt:n}),!0}))))return void(s&&n.cancelable&&n.preventDefault());a.handle&&!closest(d,a.handle,o,!1)||this._prepareDragStart(n,c,u)}}},_prepareDragStart:function(n,r,o){var a,s=this,l=s.el,c=s.options,u=l.ownerDocument;if(o&&!dragEl&&o.parentNode===l){var d=getRect(o);if(rootEl=l,parentEl=(dragEl=o).parentNode,nextEl=dragEl.nextSibling,lastDownEl=o,activeGroup=c.group,Sortable.dragged=dragEl,tapEvt={target:dragEl,clientX:(r||n).clientX,clientY:(r||n).clientY},tapDistanceLeft=tapEvt.clientX-d.left,tapDistanceTop=tapEvt.clientY-d.top,this._lastX=(r||n).clientX,this._lastY=(r||n).clientY,dragEl.style["will-change"]="all",a=function(){pluginEvent2("delayEnded",s,{evt:n}),Sortable.eventCanceled?s._onDrop():(s._disableDelayedDragEvents(),!FireFox&&s.nativeDraggable&&(dragEl.draggable=!0),s._triggerDragStart(n,r),_dispatchEvent({sortable:s,name:"choose",originalEvent:n}),toggleClass(dragEl,c.chosenClass,!0))},c.ignore.split(",").forEach((function(n){find(dragEl,n.trim(),_disableDraggable)})),on$1(u,"dragover",nearestEmptyInsertDetectEvent),on$1(u,"mousemove",nearestEmptyInsertDetectEvent),on$1(u,"touchmove",nearestEmptyInsertDetectEvent),on$1(u,"mouseup",s._onDrop),on$1(u,"touchend",s._onDrop),on$1(u,"touchcancel",s._onDrop),FireFox&&this.nativeDraggable&&(this.options.touchStartThreshold=4,dragEl.draggable=!0),pluginEvent2("delayStart",this,{evt:n}),!c.delay||c.delayOnTouchOnly&&!r||this.nativeDraggable&&(Edge||IE11OrLess))a();else{if(Sortable.eventCanceled)return void this._onDrop();on$1(u,"mouseup",s._disableDelayedDrag),on$1(u,"touchend",s._disableDelayedDrag),on$1(u,"touchcancel",s._disableDelayedDrag),on$1(u,"mousemove",s._delayedDragTouchMoveHandler),on$1(u,"touchmove",s._delayedDragTouchMoveHandler),c.supportPointer&&on$1(u,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(a,c.delay)}}},_delayedDragTouchMoveHandler:function(n){var r=n.touches?n.touches[0]:n;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var n=this.el.ownerDocument;off(n,"mouseup",this._disableDelayedDrag),off(n,"touchend",this._disableDelayedDrag),off(n,"touchcancel",this._disableDelayedDrag),off(n,"mousemove",this._delayedDragTouchMoveHandler),off(n,"touchmove",this._delayedDragTouchMoveHandler),off(n,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(n,r){r=r||"touch"==n.pointerType&&n,!this.nativeDraggable||r?this.options.supportPointer?on$1(document,"pointermove",this._onTouchMove):on$1(document,r?"touchmove":"mousemove",this._onTouchMove):(on$1(dragEl,"dragend",this),on$1(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(o){}},_dragStarted:function(n,r){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent2("dragStarted",this,{evt:r}),this.nativeDraggable&&on$1(document,"dragover",_checkOutsideTargetEl);var o=this.options;!n&&toggleClass(dragEl,o.dragClass,!1),toggleClass(dragEl,o.ghostClass,!0),Sortable.active=this,n&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var n=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),r=n;n&&n.shadowRoot&&(n=n.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY))!==r;)r=n;if(dragEl.parentNode[expando]._isOutsideThisEl(n),r)do{if(r[expando]){if(r[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:n,rootEl:r})&&!this.options.dragoverBubble)break}n=r}while(r=r.parentNode);_unhideGhostForTarget()}},_onTouchMove:function(n){if(tapEvt){var r=this.options,o=r.fallbackTolerance,a=r.fallbackOffset,s=n.touches?n.touches[0]:n,l=ghostEl&&matrix(ghostEl,!0),c=ghostEl&&l&&l.a,u=ghostEl&&l&&l.d,d=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),f=(s.clientX-tapEvt.clientX+a.x)/(c||1)+(d?d[0]-ghostRelativeParentInitialScroll[0]:0)/(c||1),m=(s.clientY-tapEvt.clientY+a.y)/(u||1)+(d?d[1]-ghostRelativeParentInitialScroll[1]:0)/(u||1);if(!Sortable.active&&!awaitingDragStarted){if(o&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))<o)return;this._onDragStart(n,!0)}if(ghostEl){l?(l.e+=f-(lastDx||0),l.f+=m-(lastDy||0)):l={a:1,b:0,c:0,d:1,e:f,f:m};var g="matrix(".concat(l.a,",").concat(l.b,",").concat(l.c,",").concat(l.d,",").concat(l.e,",").concat(l.f,")");css(ghostEl,"webkitTransform",g),css(ghostEl,"mozTransform",g),css(ghostEl,"msTransform",g),css(ghostEl,"transform",g),lastDx=f,lastDy=m,touchEvt=s}n.cancelable&&n.preventDefault()}},_appendGhost:function(){if(!ghostEl){var n=this.options.fallbackOnBody?document.body:rootEl,r=getRect(dragEl,!0,PositionGhostAbsolutely,!0,n),o=this.options;if(PositionGhostAbsolutely){for(ghostRelativeParent=n;"static"===css(ghostRelativeParent,"position")&&"none"===css(ghostRelativeParent,"transform")&&ghostRelativeParent!==document;)ghostRelativeParent=ghostRelativeParent.parentNode;ghostRelativeParent!==document.body&&ghostRelativeParent!==document.documentElement?(ghostRelativeParent===document&&(ghostRelativeParent=getWindowScrollingElement()),r.top+=ghostRelativeParent.scrollTop,r.left+=ghostRelativeParent.scrollLeft):ghostRelativeParent=getWindowScrollingElement(),ghostRelativeParentInitialScroll=getRelativeScrollOffset(ghostRelativeParent)}toggleClass(ghostEl=dragEl.cloneNode(!0),o.ghostClass,!1),toggleClass(ghostEl,o.fallbackClass,!0),toggleClass(ghostEl,o.dragClass,!0),css(ghostEl,"transition",""),css(ghostEl,"transform",""),css(ghostEl,"box-sizing","border-box"),css(ghostEl,"margin",0),css(ghostEl,"top",r.top),css(ghostEl,"left",r.left),css(ghostEl,"width",r.width),css(ghostEl,"height",r.height),css(ghostEl,"opacity","0.8"),css(ghostEl,"position",PositionGhostAbsolutely?"absolute":"fixed"),css(ghostEl,"zIndex","100000"),css(ghostEl,"pointerEvents","none"),Sortable.ghost=ghostEl,n.appendChild(ghostEl),css(ghostEl,"transform-origin",tapDistanceLeft/parseInt(ghostEl.style.width)*100+"% "+tapDistanceTop/parseInt(ghostEl.style.height)*100+"%")}},_onDragStart:function(n,r){var o=this,a=n.dataTransfer,s=o.options;pluginEvent2("dragStart",this,{evt:n}),Sortable.eventCanceled?this._onDrop():(pluginEvent2("setupClone",this),Sortable.eventCanceled||((cloneEl=clone(dragEl)).draggable=!1,cloneEl.style["will-change"]="",this._hideClone(),toggleClass(cloneEl,this.options.chosenClass,!1),Sortable.clone=cloneEl),o.cloneId=_nextTick((function(){pluginEvent2("clone",o),Sortable.eventCanceled||(o.options.removeCloneOnHide||rootEl.insertBefore(cloneEl,dragEl),o._hideClone(),_dispatchEvent({sortable:o,name:"clone"}))})),!r&&toggleClass(dragEl,s.dragClass,!0),r?(ignoreNextClick=!0,o._loopId=setInterval(o._emulateDragOver,50)):(off(document,"mouseup",o._onDrop),off(document,"touchend",o._onDrop),off(document,"touchcancel",o._onDrop),a&&(a.effectAllowed="move",s.setData&&s.setData.call(o,a,dragEl)),on$1(document,"drop",o),css(dragEl,"transform","translateZ(0)")),awaitingDragStarted=!0,o._dragStartId=_nextTick(o._dragStarted.bind(o,r,n)),on$1(document,"selectstart",o),moved=!0,Safari&&css(document.body,"user-select","none"))},_onDragOver:function(n){var r,o,a,s,l=this.el,c=n.target,u=this.options,d=u.group,f=Sortable.active,m=activeGroup===d,g=u.sort,b=putSortable||f,S=this,k=!1;if(!_silent){if(void 0!==n.preventDefault&&n.cancelable&&n.preventDefault(),c=closest(c,u.draggable,l,!0),io("dragOver"),Sortable.eventCanceled)return k;if(dragEl.contains(n.target)||c.animated&&c.animatingX&&c.animatingY||S._ignoreWhileAnimating===c)return lo(!1);if(ignoreNextClick=!1,f&&!u.disabled&&(m?g||(a=parentEl!==rootEl):putSortable===this||(this.lastPutMode=activeGroup.checkPull(this,f,dragEl,n))&&d.checkPut(this,f,dragEl,n))){if(s="vertical"===this._getDirection(n,c),r=getRect(dragEl),io("dragOverValid"),Sortable.eventCanceled)return k;if(a)return parentEl=rootEl,so(),this._hideClone(),io("revert"),Sortable.eventCanceled||(nextEl?rootEl.insertBefore(dragEl,nextEl):rootEl.appendChild(dragEl)),lo(!0);var w=lastChild(l,u.draggable);if(!w||_ghostIsLast(n,s,this)&&!w.animated){if(w===dragEl)return lo(!1);if(w&&l===n.target&&(c=w),c&&(o=getRect(c)),!1!==_onMove(rootEl,l,dragEl,r,c,o,n,!!c))return so(),l.appendChild(dragEl),parentEl=l,co(),lo(!0)}else if(w&&_ghostIsFirst(n,s,this)){var E=getChild(l,0,u,!0);if(E===dragEl)return lo(!1);if(o=getRect(c=E),!1!==_onMove(rootEl,l,dragEl,r,c,o,n,!1))return so(),l.insertBefore(dragEl,E),parentEl=l,co(),lo(!0)}else if(c.parentNode===l){o=getRect(c);var C,T,I,P=dragEl.parentNode!==l,D=!_dragElInRowColumn(dragEl.animated&&dragEl.toRect||r,c.animated&&c.toRect||o,s),O=s?"top":"left",A=isScrolledPast(c,"top","top")||isScrolledPast(dragEl,"top","top"),eo=A?A.scrollTop:void 0;if(lastTarget!==c&&(T=o[O],pastFirstInvertThresh=!1,isCircumstantialInvert=!D&&u.invertSwap||P),0!==(C=_getSwapDirection(n,c,o,s,D?1:u.swapThreshold,null==u.invertedSwapThreshold?u.swapThreshold:u.invertedSwapThreshold,isCircumstantialInvert,lastTarget===c))){var no=index(dragEl);do{no-=C,I=parentEl.children[no]}while(I&&("none"===css(I,"display")||I===ghostEl))}if(0===C||I===c)return lo(!1);lastTarget=c,lastDirection=C;var ro=c.nextElementSibling,oo=!1,ao=_onMove(rootEl,l,dragEl,r,c,o,n,oo=1===C);if(!1!==ao)return 1!==ao&&-1!==ao||(oo=1===ao),_silent=!0,setTimeout(_unsilent,30),so(),oo&&!ro?l.appendChild(dragEl):c.parentNode.insertBefore(dragEl,oo?ro:c),A&&scrollBy(A,0,eo-A.scrollTop),parentEl=dragEl.parentNode,void 0===T||isCircumstantialInvert||(targetMoveDistance=Math.abs(T-getRect(c)[O])),co(),lo(!0)}if(l.contains(dragEl))return lo(!1)}return!1}function io(u,d){pluginEvent2(u,S,_objectSpread2({evt:n,isOwner:m,axis:s?"vertical":"horizontal",revert:a,dragRect:r,targetRect:o,canSort:g,fromSortable:b,target:c,completed:lo,onMove:function(o,a){return _onMove(rootEl,l,dragEl,r,o,getRect(o),n,a)},changed:co},d))}function so(){io("dragOverAnimationCapture"),S.captureAnimationState(),S!==b&&b.captureAnimationState()}function lo(r){return io("dragOverCompleted",{insertion:r}),r&&(m?f._hideClone():f._showClone(S),S!==b&&(toggleClass(dragEl,putSortable?putSortable.options.ghostClass:f.options.ghostClass,!1),toggleClass(dragEl,u.ghostClass,!0)),putSortable!==S&&S!==Sortable.active?putSortable=S:S===Sortable.active&&putSortable&&(putSortable=null),b===S&&(S._ignoreWhileAnimating=c),S.animateAll((function(){io("dragOverAnimationComplete"),S._ignoreWhileAnimating=null})),S!==b&&(b.animateAll(),b._ignoreWhileAnimating=null)),(c===dragEl&&!dragEl.animated||c===l&&!c.animated)&&(lastTarget=null),u.dragoverBubble||n.rootEl||c===document||(dragEl.parentNode[expando]._isOutsideThisEl(n.target),!r&&nearestEmptyInsertDetectEvent(n)),!u.dragoverBubble&&n.stopPropagation&&n.stopPropagation(),k=!0}function co(){newIndex=index(dragEl),newDraggableIndex=index(dragEl,u.draggable),_dispatchEvent({sortable:S,name:"change",toEl:l,newIndex:newIndex,newDraggableIndex:newDraggableIndex,originalEvent:n})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){off(document,"mousemove",this._onTouchMove),off(document,"touchmove",this._onTouchMove),off(document,"pointermove",this._onTouchMove),off(document,"dragover",nearestEmptyInsertDetectEvent),off(document,"mousemove",nearestEmptyInsertDetectEvent),off(document,"touchmove",nearestEmptyInsertDetectEvent)},_offUpEvents:function(){var n=this.el.ownerDocument;off(n,"mouseup",this._onDrop),off(n,"touchend",this._onDrop),off(n,"pointerup",this._onDrop),off(n,"touchcancel",this._onDrop),off(document,"selectstart",this)},_onDrop:function(n){var r=this.el,o=this.options;newIndex=index(dragEl),newDraggableIndex=index(dragEl,o.draggable),pluginEvent2("drop",this,{evt:n}),parentEl=dragEl&&dragEl.parentNode,newIndex=index(dragEl),newDraggableIndex=index(dragEl,o.draggable),Sortable.eventCanceled||(awaitingDragStarted=!1,isCircumstantialInvert=!1,pastFirstInvertThresh=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),_cancelNextTick(this.cloneId),_cancelNextTick(this._dragStartId),this.nativeDraggable&&(off(document,"drop",this),off(r,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Safari&&css(document.body,"user-select",""),css(dragEl,"transform",""),n&&(moved&&(n.cancelable&&n.preventDefault(),!o.dropBubble&&n.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),(rootEl===parentEl||putSortable&&"clone"!==putSortable.lastPutMode)&&cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",moved&&!awaitingDragStarted&&toggleClass(dragEl,putSortable?putSortable.options.ghostClass:this.options.ghostClass,!1),toggleClass(dragEl,this.options.chosenClass,!1),_dispatchEvent({sortable:this,name:"unchoose",toEl:parentEl,newIndex:null,newDraggableIndex:null,originalEvent:n}),rootEl!==parentEl?(newIndex>=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:n}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:n}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:n}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:n})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:n}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:n})),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:n}),this.save())))),this._nulling()},_nulling:function(){pluginEvent2("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach((function(n){n.checked=!0})),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(n){switch(n.type){case"drop":case"dragend":this._onDrop(n);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(n),_globalDragOver(n));break;case"selectstart":n.preventDefault()}},toArray:function(){for(var n,r=[],o=this.el.children,a=0,s=o.length,l=this.options;a<s;a++)closest(n=o[a],l.draggable,this.el,!1)&&r.push(n.getAttribute(l.dataIdAttr)||_generateId(n));return r},sort:function(n,r){var o={},a=this.el;this.toArray().forEach((function(n,r){var s=a.children[r];closest(s,this.options.draggable,a,!1)&&(o[n]=s)}),this),r&&this.captureAnimationState(),n.forEach((function(n){o[n]&&(a.removeChild(o[n]),a.appendChild(o[n]))})),r&&this.animateAll()},save:function(){var n=this.options.store;n&&n.set&&n.set(this)},closest:function(n,r){return closest(n,r||this.options.draggable,this.el,!1)},option:function(n,r){var o=this.options;if(void 0===r)return o[n];var a=PluginManager.modifyOption(this,n,r);o[n]=void 0!==a?a:r,"group"===n&&_prepareGroup(o)},destroy:function(){pluginEvent2("destroy",this);var n=this.el;n[expando]=null,off(n,"mousedown",this._onTapStart),off(n,"touchstart",this._onTapStart),off(n,"pointerdown",this._onTapStart),this.nativeDraggable&&(off(n,"dragover",this),off(n,"dragenter",this)),Array.prototype.forEach.call(n.querySelectorAll("[draggable]"),(function(n){n.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),sortables.splice(sortables.indexOf(this.el),1),this.el=n=null},_hideClone:function(){if(!cloneHidden){if(pluginEvent2("hideClone",this),Sortable.eventCanceled)return;css(cloneEl,"display","none"),this.options.removeCloneOnHide&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),cloneHidden=!0}},_showClone:function(n){if("clone"===n.lastPutMode){if(cloneHidden){if(pluginEvent2("showClone",this),Sortable.eventCanceled)return;dragEl.parentNode!=rootEl||this.options.group.revertClone?nextEl?rootEl.insertBefore(cloneEl,nextEl):rootEl.appendChild(cloneEl):rootEl.insertBefore(cloneEl,dragEl),this.options.group.revertClone&&this.animate(dragEl,cloneEl),css(cloneEl,"display",""),cloneHidden=!1}}else this._hideClone()}},documentExists&&on$1(document,"touchmove",(function(n){(Sortable.active||awaitingDragStarted)&&n.cancelable&&n.preventDefault()})),Sortable.utils={on:on$1,off:off,css:css,find:find,is:function(n,r){return!!closest(n,r,n,!1)},extend:extend,throttle:throttle,closest:closest,toggleClass:toggleClass,clone:clone,index:index,nextTick:_nextTick,cancelNextTick:_cancelNextTick,detectDirection:_detectDirection,getChild:getChild},Sortable.get=function(n){return n[expando]},Sortable.mount=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];r[0].constructor===Array&&(r=r[0]),r.forEach((function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(Sortable.utils=_objectSpread2(_objectSpread2({},Sortable.utils),n.utils)),PluginManager.mount(n)}))},Sortable.create=function(n,r){return new Sortable(n,r)},Sortable.version=version;var autoScrolls=[],scrollEl,scrollRootEl,scrolling=!1,lastAutoScrollX,lastAutoScrollY,touchEvt$1,pointerElemChangedInterval;function AutoScrollPlugin(){function n(){for(var n in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===n.charAt(0)&&"function"==typeof this[n]&&(this[n]=this[n].bind(this))}return n.prototype={dragStarted:function(n){var r=n.originalEvent;this.sortable.nativeDraggable?on$1(document,"dragover",this._handleAutoScroll):this.options.supportPointer?on$1(document,"pointermove",this._handleFallbackAutoScroll):r.touches?on$1(document,"touchmove",this._handleFallbackAutoScroll):on$1(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(n){var r=n.originalEvent;this.options.dragOverBubble||r.rootEl||this._handleAutoScroll(r)},drop:function(){this.sortable.nativeDraggable?off(document,"dragover",this._handleAutoScroll):(off(document,"pointermove",this._handleFallbackAutoScroll),off(document,"touchmove",this._handleFallbackAutoScroll),off(document,"mousemove",this._handleFallbackAutoScroll)),clearPointerElemChangedInterval(),clearAutoScrolls(),cancelThrottle()},nulling:function(){touchEvt$1=scrollRootEl=scrollEl=scrolling=pointerElemChangedInterval=lastAutoScrollX=lastAutoScrollY=null,autoScrolls.length=0},_handleFallbackAutoScroll:function(n){this._handleAutoScroll(n,!0)},_handleAutoScroll:function(n,r){var o=this,a=(n.touches?n.touches[0]:n).clientX,s=(n.touches?n.touches[0]:n).clientY,l=document.elementFromPoint(a,s);if(touchEvt$1=n,r||this.options.forceAutoScrollFallback||Edge||IE11OrLess||Safari){autoScroll(n,this.options,l,r);var c=getParentAutoScrollElement(l,!0);!scrolling||pointerElemChangedInterval&&a===lastAutoScrollX&&s===lastAutoScrollY||(pointerElemChangedInterval&&clearPointerElemChangedInterval(),pointerElemChangedInterval=setInterval((function(){var l=getParentAutoScrollElement(document.elementFromPoint(a,s),!0);l!==c&&(c=l,clearAutoScrolls()),autoScroll(n,o.options,l,r)}),10),lastAutoScrollX=a,lastAutoScrollY=s)}else{if(!this.options.bubbleScroll||getParentAutoScrollElement(l,!0)===getWindowScrollingElement())return void clearAutoScrolls();autoScroll(n,this.options,getParentAutoScrollElement(l,!1),!1)}}},_extends(n,{pluginName:"scroll",initializeByDefault:!0})}function clearAutoScrolls(){autoScrolls.forEach((function(n){clearInterval(n.pid)})),autoScrolls=[]}function clearPointerElemChangedInterval(){clearInterval(pointerElemChangedInterval)}var autoScroll=throttle((function(n,r,o,a){if(r.scroll){var s,l=(n.touches?n.touches[0]:n).clientX,c=(n.touches?n.touches[0]:n).clientY,u=r.scrollSensitivity,d=r.scrollSpeed,f=getWindowScrollingElement(),m=!1;scrollRootEl!==o&&(scrollRootEl=o,clearAutoScrolls(),scrollEl=r.scroll,s=r.scrollFn,!0===scrollEl&&(scrollEl=getParentAutoScrollElement(o,!0)));var g=0,b=scrollEl;do{var S=b,k=getRect(S),w=k.top,E=k.bottom,C=k.left,T=k.right,I=k.width,P=k.height,D=void 0,O=void 0,A=S.scrollWidth,eo=S.scrollHeight,no=css(S),ro=S.scrollLeft,oo=S.scrollTop;S===f?(D=I<A&&("auto"===no.overflowX||"scroll"===no.overflowX||"visible"===no.overflowX),O=P<eo&&("auto"===no.overflowY||"scroll"===no.overflowY||"visible"===no.overflowY)):(D=I<A&&("auto"===no.overflowX||"scroll"===no.overflowX),O=P<eo&&("auto"===no.overflowY||"scroll"===no.overflowY));var ao=D&&(Math.abs(T-l)<=u&&ro+I<A)-(Math.abs(C-l)<=u&&!!ro),io=O&&(Math.abs(E-c)<=u&&oo+P<eo)-(Math.abs(w-c)<=u&&!!oo);if(!autoScrolls[g])for(var so=0;so<=g;so++)autoScrolls[so]||(autoScrolls[so]={});autoScrolls[g].vx==ao&&autoScrolls[g].vy==io&&autoScrolls[g].el===S||(autoScrolls[g].el=S,autoScrolls[g].vx=ao,autoScrolls[g].vy=io,clearInterval(autoScrolls[g].pid),0==ao&&0==io||(m=!0,autoScrolls[g].pid=setInterval(function(){a&&0===this.layer&&Sortable.active._onTouchMove(touchEvt$1);var r=autoScrolls[this.layer].vy?autoScrolls[this.layer].vy*d:0,o=autoScrolls[this.layer].vx?autoScrolls[this.layer].vx*d:0;"function"==typeof s&&"continue"!==s.call(Sortable.dragged.parentNode[expando],o,r,n,touchEvt$1,autoScrolls[this.layer].el)||scrollBy(autoScrolls[this.layer].el,o,r)}.bind({layer:g}),24))),g++}while(r.bubbleScroll&&b!==f&&(b=getParentAutoScrollElement(b,!1)));scrolling=m}}),30),drop=function(n){var r=n.originalEvent,o=n.putSortable,a=n.dragEl,s=n.activeSortable,l=n.dispatchSortableEvent,c=n.hideGhostForTarget,u=n.unhideGhostForTarget;if(r){var d=o||s;c();var f=r.changedTouches&&r.changedTouches.length?r.changedTouches[0]:r,m=document.elementFromPoint(f.clientX,f.clientY);u(),d&&!d.el.contains(m)&&(l("spill"),this.onSpill({dragEl:a,putSortable:o}))}},lastSwapEl;function Revert(){}function Remove(){}function SwapPlugin(){function n(){this.defaults={swapClass:"sortable-swap-highlight"}}return n.prototype={dragStart:function(n){var r=n.dragEl;lastSwapEl=r},dragOverValid:function(n){var r=n.completed,o=n.target,a=n.onMove,s=n.activeSortable,l=n.changed,c=n.cancel;if(s.options.swap){var u=this.sortable.el,d=this.options;if(o&&o!==u){var f=lastSwapEl;!1!==a(o)?(toggleClass(o,d.swapClass,!0),lastSwapEl=o):lastSwapEl=null,f&&f!==lastSwapEl&&toggleClass(f,d.swapClass,!1)}l(),r(!0),c()}},drop:function(n){var r=n.activeSortable,o=n.putSortable,a=n.dragEl,s=o||this.sortable,l=this.options;lastSwapEl&&toggleClass(lastSwapEl,l.swapClass,!1),lastSwapEl&&(l.swap||o&&o.options.swap)&&a!==lastSwapEl&&(s.captureAnimationState(),s!==r&&r.captureAnimationState(),swapNodes(a,lastSwapEl),s.animateAll(),s!==r&&r.animateAll())},nulling:function(){lastSwapEl=null}},_extends(n,{pluginName:"swap",eventProperties:function(){return{swapItem:lastSwapEl}}})}function swapNodes(n,r){var o,a,s=n.parentNode,l=r.parentNode;s&&l&&!s.isEqualNode(r)&&!l.isEqualNode(n)&&(o=index(n),a=index(r),s.isEqualNode(l)&&o<a&&a++,s.insertBefore(r,s.children[o]),l.insertBefore(n,l.children[a]))}Revert.prototype={startIndex:null,dragStart:function(n){var r=n.oldDraggableIndex;this.startIndex=r},onSpill:function(n){var r=n.dragEl,o=n.putSortable;this.sortable.captureAnimationState(),o&&o.captureAnimationState();var a=getChild(this.sortable.el,this.startIndex,this.options);a?this.sortable.el.insertBefore(r,a):this.sortable.el.appendChild(r),this.sortable.animateAll(),o&&o.animateAll()},drop:drop},_extends(Revert,{pluginName:"revertOnSpill"}),Remove.prototype={onSpill:function(n){var r=n.dragEl,o=n.putSortable||this.sortable;o.captureAnimationState(),r.parentNode&&r.parentNode.removeChild(r),o.animateAll()},drop:drop},_extends(Remove,{pluginName:"removeOnSpill"});var multiDragElements=[],multiDragClones=[],lastMultiDragSelect,multiDragSortable,initialFolding=!1,folding=!1,dragStarted=!1,dragEl$1,clonesFromRect,clonesHidden;function MultiDragPlugin(){function n(n){for(var r in this)"_"===r.charAt(0)&&"function"==typeof this[r]&&(this[r]=this[r].bind(this));n.options.supportPointer?on$1(document,"pointerup",this._deselectMultiDrag):(on$1(document,"mouseup",this._deselectMultiDrag),on$1(document,"touchend",this._deselectMultiDrag)),on$1(document,"keydown",this._checkKeyDown),on$1(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,setData:function(r,o){var a="";multiDragElements.length&&multiDragSortable===n?multiDragElements.forEach((function(n,r){a+=(r?", ":"")+n.textContent})):a=o.textContent,r.setData("Text",a)}}}return n.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(n){var r=n.dragEl;dragEl$1=r},delayEnded:function(){this.isMultiDrag=~multiDragElements.indexOf(dragEl$1)},setupClone:function(n){var r=n.sortable,o=n.cancel;if(this.isMultiDrag){for(var a=0;a<multiDragElements.length;a++)multiDragClones.push(clone(multiDragElements[a])),multiDragClones[a].sortableIndex=multiDragElements[a].sortableIndex,multiDragClones[a].draggable=!1,multiDragClones[a].style["will-change"]="",toggleClass(multiDragClones[a],this.options.selectedClass,!1),multiDragElements[a]===dragEl$1&&toggleClass(multiDragClones[a],this.options.chosenClass,!1);r._hideClone(),o()}},clone:function(n){var r=n.sortable,o=n.rootEl,a=n.dispatchSortableEvent,s=n.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||multiDragElements.length&&multiDragSortable===r&&(insertMultiDragClones(!0,o),a("clone"),s()))},showClone:function(n){var r=n.cloneNowShown,o=n.rootEl,a=n.cancel;this.isMultiDrag&&(insertMultiDragClones(!1,o),multiDragClones.forEach((function(n){css(n,"display","")})),r(),clonesHidden=!1,a())},hideClone:function(n){var r=this;n.sortable;var o=n.cloneNowHidden,a=n.cancel;this.isMultiDrag&&(multiDragClones.forEach((function(n){css(n,"display","none"),r.options.removeCloneOnHide&&n.parentNode&&n.parentNode.removeChild(n)})),o(),clonesHidden=!0,a())},dragStartGlobal:function(n){n.sortable,!this.isMultiDrag&&multiDragSortable&&multiDragSortable.multiDrag._deselectMultiDrag(),multiDragElements.forEach((function(n){n.sortableIndex=index(n)})),multiDragElements=multiDragElements.sort((function(n,r){return n.sortableIndex-r.sortableIndex})),dragStarted=!0},dragStarted:function(n){var r=this,o=n.sortable;if(this.isMultiDrag){if(this.options.sort&&(o.captureAnimationState(),this.options.animation)){multiDragElements.forEach((function(n){n!==dragEl$1&&css(n,"position","absolute")}));var a=getRect(dragEl$1,!1,!0,!0);multiDragElements.forEach((function(n){n!==dragEl$1&&setRect(n,a)})),folding=!0,initialFolding=!0}o.animateAll((function(){folding=!1,initialFolding=!1,r.options.animation&&multiDragElements.forEach((function(n){unsetRect(n)})),r.options.sort&&removeMultiDragElements()}))}},dragOver:function(n){var r=n.target,o=n.completed,a=n.cancel;folding&&~multiDragElements.indexOf(r)&&(o(!1),a())},revert:function(n){var r=n.fromSortable,o=n.rootEl,a=n.sortable,s=n.dragRect;multiDragElements.length>1&&(multiDragElements.forEach((function(n){a.addAnimationState({target:n,rect:folding?getRect(n):s}),unsetRect(n),n.fromRect=s,r.removeAnimationState(n)})),folding=!1,insertMultiDragElements(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(n){var r=n.sortable,o=n.isOwner,a=n.insertion,s=n.activeSortable,l=n.parentEl,c=n.putSortable,u=this.options;if(a){if(o&&s._hideClone(),initialFolding=!1,u.animation&&multiDragElements.length>1&&(folding||!o&&!s.options.sort&&!c)){var d=getRect(dragEl$1,!1,!0,!0);multiDragElements.forEach((function(n){n!==dragEl$1&&(setRect(n,d),l.appendChild(n))})),folding=!0}if(!o)if(folding||removeMultiDragElements(),multiDragElements.length>1){var f=clonesHidden;s._showClone(r),s.options.animation&&!clonesHidden&&f&&multiDragClones.forEach((function(n){s.addAnimationState({target:n,rect:clonesFromRect}),n.fromRect=clonesFromRect,n.thisAnimationDuration=null}))}else s._showClone(r)}},dragOverAnimationCapture:function(n){var r=n.dragRect,o=n.isOwner,a=n.activeSortable;if(multiDragElements.forEach((function(n){n.thisAnimationDuration=null})),a.options.animation&&!o&&a.multiDrag.isMultiDrag){clonesFromRect=_extends({},r);var s=matrix(dragEl$1,!0);clonesFromRect.top-=s.f,clonesFromRect.left-=s.e}},dragOverAnimationComplete:function(){folding&&(folding=!1,removeMultiDragElements())},drop:function(n){var r=n.originalEvent,o=n.rootEl,a=n.parentEl,s=n.sortable,l=n.dispatchSortableEvent,c=n.oldIndex,u=n.putSortable,d=u||this.sortable;if(r){var f=this.options,m=a.children;if(!dragStarted)if(f.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),toggleClass(dragEl$1,f.selectedClass,!~multiDragElements.indexOf(dragEl$1)),~multiDragElements.indexOf(dragEl$1))multiDragElements.splice(multiDragElements.indexOf(dragEl$1),1),lastMultiDragSelect=null,dispatchEvent({sortable:s,rootEl:o,name:"deselect",targetEl:dragEl$1});else{if(multiDragElements.push(dragEl$1),dispatchEvent({sortable:s,rootEl:o,name:"select",targetEl:dragEl$1}),r.shiftKey&&lastMultiDragSelect&&s.el.contains(lastMultiDragSelect)){var g,b,S=index(lastMultiDragSelect),k=index(dragEl$1);if(~S&&~k&&S!==k)for(k>S?(b=S,g=k):(b=k,g=S+1);b<g;b++)~multiDragElements.indexOf(m[b])||(toggleClass(m[b],f.selectedClass,!0),multiDragElements.push(m[b]),dispatchEvent({sortable:s,rootEl:o,name:"select",targetEl:m[b]}))}else lastMultiDragSelect=dragEl$1;multiDragSortable=d}if(dragStarted&&this.isMultiDrag){if(folding=!1,(a[expando].options.sort||a!==o)&&multiDragElements.length>1){var w=getRect(dragEl$1),E=index(dragEl$1,":not(."+this.options.selectedClass+")");if(!initialFolding&&f.animation&&(dragEl$1.thisAnimationDuration=null),d.captureAnimationState(),!initialFolding&&(f.animation&&(dragEl$1.fromRect=w,multiDragElements.forEach((function(n){if(n.thisAnimationDuration=null,n!==dragEl$1){var r=folding?getRect(n):w;n.fromRect=r,d.addAnimationState({target:n,rect:r})}}))),removeMultiDragElements(),multiDragElements.forEach((function(n){m[E]?a.insertBefore(n,m[E]):a.appendChild(n),E++})),c===index(dragEl$1))){var C=!1;multiDragElements.forEach((function(n){n.sortableIndex===index(n)||(C=!0)})),C&&l("update")}multiDragElements.forEach((function(n){unsetRect(n)})),d.animateAll()}multiDragSortable=d}(o===a||u&&"clone"!==u.lastPutMode)&&multiDragClones.forEach((function(n){n.parentNode&&n.parentNode.removeChild(n)}))}},nullingGlobal:function(){this.isMultiDrag=dragStarted=!1,multiDragClones.length=0},destroyGlobal:function(){this._deselectMultiDrag(),off(document,"pointerup",this._deselectMultiDrag),off(document,"mouseup",this._deselectMultiDrag),off(document,"touchend",this._deselectMultiDrag),off(document,"keydown",this._checkKeyDown),off(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(void 0!==dragStarted&&dragStarted||multiDragSortable!==this.sortable||n&&closest(n.target,this.options.draggable,this.sortable.el,!1)||n&&0!==n.button))for(;multiDragElements.length;){var r=multiDragElements[0];toggleClass(r,this.options.selectedClass,!1),multiDragElements.shift(),dispatchEvent({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:r})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},_extends(n,{pluginName:"multiDrag",utils:{select:function(n){var r=n.parentNode[expando];r&&r.options.multiDrag&&!~multiDragElements.indexOf(n)&&(multiDragSortable&&multiDragSortable!==r&&(multiDragSortable.multiDrag._deselectMultiDrag(),multiDragSortable=r),toggleClass(n,r.options.selectedClass,!0),multiDragElements.push(n))},deselect:function(n){var r=n.parentNode[expando],o=multiDragElements.indexOf(n);r&&r.options.multiDrag&&~o&&(toggleClass(n,r.options.selectedClass,!1),multiDragElements.splice(o,1))}},eventProperties:function(){var n=this,r=[],o=[];return multiDragElements.forEach((function(a){var s;r.push({multiDragElement:a,index:a.sortableIndex}),s=folding&&a!==dragEl$1?-1:folding?index(a,":not(."+n.options.selectedClass+")"):index(a),o.push({multiDragElement:a,index:s})})),{items:_toConsumableArray(multiDragElements),clones:[].concat(multiDragClones),oldIndicies:r,newIndicies:o}},optionListeners:{multiDragKey:function(n){return"ctrl"===(n=n.toLowerCase())?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function insertMultiDragElements(n,r){multiDragElements.forEach((function(o,a){var s=r.children[o.sortableIndex+(n?Number(a):0)];s?r.insertBefore(o,s):r.appendChild(o)}))}function insertMultiDragClones(n,r){multiDragClones.forEach((function(o,a){var s=r.children[o.sortableIndex+(n?Number(a):0)];s?r.insertBefore(o,s):r.appendChild(o)}))}function removeMultiDragElements(){multiDragElements.forEach((function(n){n!==dragEl$1&&n.parentNode&&n.parentNode.removeChild(n)}))}Sortable.mount(new AutoScrollPlugin),Sortable.mount(Remove,Revert);const sortable_esm=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:MultiDragPlugin,Sortable:Sortable,Swap:SwapPlugin,default:Sortable},Symbol.toStringTag,{value:"Module"})),require$$1=getAugmentedNamespace(sortable_esm);var vuedraggable_umd=vuedraggable_umd$1.exports,hasRequiredVuedraggable_umd;function requireVuedraggable_umd(){return hasRequiredVuedraggable_umd||(hasRequiredVuedraggable_umd=1,"undefined"!=typeof self&&self,n=function(n,r){return function(n){var r={};function o(a){if(r[a])return r[a].exports;var s=r[a]={i:a,l:!1,exports:{}};return n[a].call(s.exports,s,s.exports,o),s.l=!0,s.exports}return o.m=n,o.c=r,o.d=function(n,r,a){o.o(n,r)||Object.defineProperty(n,r,{enumerable:!0,get:a})},o.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},o.t=function(n,r){if(1&r&&(n=o(n)),8&r)return n;if(4&r&&"object"==typeof n&&n&&n.__esModule)return n;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:n}),2&r&&"string"!=typeof n)for(var s in n)o.d(a,s,function(r){return n[r]}.bind(null,s));return a},o.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return o.d(r,"a",r),r},o.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},o.p="",o(o.s="fb15")}({"00ee":function(n,r,o){var a={};a[o("b622")("toStringTag")]="z",n.exports="[object z]"===String(a)},"0366":function(n,r,o){var a=o("1c0b");n.exports=function(n,r,o){if(a(n),void 0===r)return n;switch(o){case 0:return function(){return n.call(r)};case 1:return function(o){return n.call(r,o)};case 2:return function(o,a){return n.call(r,o,a)};case 3:return function(o,a,s){return n.call(r,o,a,s)}}return function(){return n.apply(r,arguments)}}},"057f":function(n,r,o){var a=o("fc6a"),s=o("241c").f,l={}.toString,c="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];n.exports.f=function(n){return c&&"[object Window]"==l.call(n)?function(n){try{return s(n)}catch(r){return c.slice()}}(n):s(a(n))}},"06cf":function(n,r,o){var a=o("83ab"),s=o("d1e7"),l=o("5c6c"),c=o("fc6a"),u=o("c04e"),d=o("5135"),f=o("0cfb"),m=Object.getOwnPropertyDescriptor;r.f=a?m:function(n,r){if(n=c(n),r=u(r,!0),f)try{return m(n,r)}catch(o){}if(d(n,r))return l(!s.f.call(n,r),n[r])}},"0cfb":function(n,r,o){var a=o("83ab"),s=o("d039"),l=o("cc12");n.exports=!a&&!s((function(){return 7!=Object.defineProperty(l("div"),"a",{get:function(){return 7}}).a}))},"13d5":function(n,r,o){var a=o("23e7"),s=o("d58f").left,l=o("a640"),c=o("ae40"),u=l("reduce"),d=c("reduce",{1:0});a({target:"Array",proto:!0,forced:!u||!d},{reduce:function(n){return s(this,n,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(n,r,o){var a=o("c6b6"),s=o("9263");n.exports=function(n,r){var o=n.exec;if("function"==typeof o){var l=o.call(n,r);if("object"!=typeof l)throw TypeError("RegExp exec method returned something other than an Object or null");return l}if("RegExp"!==a(n))throw TypeError("RegExp#exec called on incompatible receiver");return s.call(n,r)}},"159b":function(n,r,o){var a=o("da84"),s=o("fdbc"),l=o("17c2"),c=o("9112");for(var u in s){var d=a[u],f=d&&d.prototype;if(f&&f.forEach!==l)try{c(f,"forEach",l)}catch(m){f.forEach=l}}},"17c2":function(n,r,o){var a=o("b727").forEach,s=o("a640"),l=o("ae40"),c=s("forEach"),u=l("forEach");n.exports=c&&u?[].forEach:function(n){return a(this,n,arguments.length>1?arguments[1]:void 0)}},"1be4":function(n,r,o){var a=o("d066");n.exports=a("document","documentElement")},"1c0b":function(n,r){n.exports=function(n){if("function"!=typeof n)throw TypeError(String(n)+" is not a function");return n}},"1c7e":function(n,r,o){var a=o("b622")("iterator"),s=!1;try{var l=0,c={next:function(){return{done:!!l++}},return:function(){s=!0}};c[a]=function(){return this},Array.from(c,(function(){throw 2}))}catch(u){}n.exports=function(n,r){if(!r&&!s)return!1;var o=!1;try{var l={};l[a]=function(){return{next:function(){return{done:o=!0}}}},n(l)}catch(u){}return o}},"1d80":function(n,r){n.exports=function(n){if(null==n)throw TypeError("Can't call method on "+n);return n}},"1dde":function(n,r,o){var a=o("d039"),s=o("b622"),l=o("2d00"),c=s("species");n.exports=function(n){return l>=51||!a((function(){var r=[];return(r.constructor={})[c]=function(){return{foo:1}},1!==r[n](Boolean).foo}))}},"23cb":function(n,r,o){var a=o("a691"),s=Math.max,l=Math.min;n.exports=function(n,r){var o=a(n);return o<0?s(o+r,0):l(o,r)}},"23e7":function(n,r,o){var a=o("da84"),s=o("06cf").f,l=o("9112"),c=o("6eeb"),u=o("ce4e"),d=o("e893"),f=o("94ca");n.exports=function(n,r){var o,m,g,b,S,k=n.target,w=n.global,E=n.stat;if(o=w?a:E?a[k]||u(k,{}):(a[k]||{}).prototype)for(m in r){if(b=r[m],g=n.noTargetGet?(S=s(o,m))&&S.value:o[m],!f(w?m:k+(E?".":"#")+m,n.forced)&&void 0!==g){if(typeof b==typeof g)continue;d(b,g)}(n.sham||g&&g.sham)&&l(b,"sham",!0),c(o,m,b,n)}}},"241c":function(n,r,o){var a=o("ca84"),s=o("7839").concat("length","prototype");r.f=Object.getOwnPropertyNames||function(n){return a(n,s)}},"25f0":function(n,r,o){var a=o("6eeb"),s=o("825a"),l=o("d039"),c=o("ad6d"),u="toString",d=RegExp.prototype,f=d[u],m=l((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),g=f.name!=u;(m||g)&&a(RegExp.prototype,u,(function(){var n=s(this),r=String(n.source),o=n.flags;return"/"+r+"/"+String(void 0===o&&n instanceof RegExp&&!("flags"in d)?c.call(n):o)}),{unsafe:!0})},"2ca0":function(n,r,o){var a,s=o("23e7"),l=o("06cf").f,c=o("50c4"),u=o("5a34"),d=o("1d80"),f=o("ab13"),m=o("c430"),g="".startsWith,b=Math.min,S=f("startsWith");s({target:"String",proto:!0,forced:!(!m&&!S&&(a=l(String.prototype,"startsWith"),a&&!a.writable)||S)},{startsWith:function(n){var r=String(d(this));u(n);var o=c(b(arguments.length>1?arguments[1]:void 0,r.length)),a=String(n);return g?g.call(r,a,o):r.slice(o,o+a.length)===a}})},"2d00":function(n,r,o){var a,s,l=o("da84"),c=o("342f"),u=l.process,d=u&&u.versions,f=d&&d.v8;f?s=(a=f.split("."))[0]+a[1]:c&&(!(a=c.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=c.match(/Chrome\/(\d+)/))&&(s=a[1]),n.exports=s&&+s},"342f":function(n,r,o){var a=o("d066");n.exports=a("navigator","userAgent")||""},"35a1":function(n,r,o){var a=o("f5df"),s=o("3f8c"),l=o("b622")("iterator");n.exports=function(n){if(null!=n)return n[l]||n["@@iterator"]||s[a(n)]}},"37e8":function(n,r,o){var a=o("83ab"),s=o("9bf2"),l=o("825a"),c=o("df75");n.exports=a?Object.defineProperties:function(n,r){l(n);for(var o,a=c(r),u=a.length,d=0;u>d;)s.f(n,o=a[d++],r[o]);return n}},"3bbe":function(n,r,o){var a=o("861d");n.exports=function(n){if(!a(n)&&null!==n)throw TypeError("Can't set "+String(n)+" as a prototype");return n}},"3ca3":function(n,r,o){var a=o("6547").charAt,s=o("69f3"),l=o("7dd0"),c="String Iterator",u=s.set,d=s.getterFor(c);l(String,"String",(function(n){u(this,{type:c,string:String(n),index:0})}),(function(){var n,r=d(this),o=r.string,s=r.index;return s>=o.length?{value:void 0,done:!0}:(n=a(o,s),r.index+=n.length,{value:n,done:!1})}))},"3f8c":function(n,r){n.exports={}},4160:function(n,r,o){var a=o("23e7"),s=o("17c2");a({target:"Array",proto:!0,forced:[].forEach!=s},{forEach:s})},"428f":function(n,r,o){var a=o("da84");n.exports=a},"44ad":function(n,r,o){var a=o("d039"),s=o("c6b6"),l="".split;n.exports=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(n){return"String"==s(n)?l.call(n,""):Object(n)}:Object},"44d2":function(n,r,o){var a=o("b622"),s=o("7c73"),l=o("9bf2"),c=a("unscopables"),u=Array.prototype;null==u[c]&&l.f(u,c,{configurable:!0,value:s(null)}),n.exports=function(n){u[c][n]=!0}},"44e7":function(n,r,o){var a=o("861d"),s=o("c6b6"),l=o("b622")("match");n.exports=function(n){var r;return a(n)&&(void 0!==(r=n[l])?!!r:"RegExp"==s(n))}},4930:function(n,r,o){var a=o("d039");n.exports=!!Object.getOwnPropertySymbols&&!a((function(){return!String(Symbol())}))},"4d64":function(n,r,o){var a=o("fc6a"),s=o("50c4"),l=o("23cb"),c=function(n){return function(r,o,c){var u,d=a(r),f=s(d.length),m=l(c,f);if(n&&o!=o){for(;f>m;)if((u=d[m++])!=u)return!0}else for(;f>m;m++)if((n||m in d)&&d[m]===o)return n||m||0;return!n&&-1}};n.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(n,r,o){var a=o("23e7"),s=o("b727").filter,l=o("1dde"),c=o("ae40"),u=l("filter"),d=c("filter");a({target:"Array",proto:!0,forced:!u||!d},{filter:function(n){return s(this,n,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(n,r,o){var a=o("0366"),s=o("7b0b"),l=o("9bdd"),c=o("e95a"),u=o("50c4"),d=o("8418"),f=o("35a1");n.exports=function(n){var r,o,m,g,b,S,k=s(n),w="function"==typeof this?this:Array,E=arguments.length,C=E>1?arguments[1]:void 0,T=void 0!==C,I=f(k),P=0;if(T&&(C=a(C,E>2?arguments[2]:void 0,2)),null==I||w==Array&&c(I))for(o=new w(r=u(k.length));r>P;P++)S=T?C(k[P],P):k[P],d(o,P,S);else for(b=(g=I.call(k)).next,o=new w;!(m=b.call(g)).done;P++)S=T?l(g,C,[m.value,P],!0):m.value,d(o,P,S);return o.length=P,o}},"4fad":function(n,r,o){var a=o("23e7"),s=o("6f53").entries;a({target:"Object",stat:!0},{entries:function(n){return s(n)}})},"50c4":function(n,r,o){var a=o("a691"),s=Math.min;n.exports=function(n){return n>0?s(a(n),9007199254740991):0}},5135:function(n,r){var o={}.hasOwnProperty;n.exports=function(n,r){return o.call(n,r)}},5319:function(n,r,o){var a=o("d784"),s=o("825a"),l=o("7b0b"),c=o("50c4"),u=o("a691"),d=o("1d80"),f=o("8aa5"),m=o("14c3"),g=Math.max,b=Math.min,S=Math.floor,k=/\$([$&'`]|\d\d?|<[^>]*>)/g,w=/\$([$&'`]|\d\d?)/g;a("replace",2,(function(n,r,o,a){var E=a.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,C=a.REPLACE_KEEPS_$0,T=E?"$":"$0";return[function(o,a){var s=d(this),l=null==o?void 0:o[n];return void 0!==l?l.call(o,s,a):r.call(String(s),o,a)},function(n,a){if(!E&&C||"string"==typeof a&&-1===a.indexOf(T)){var l=o(r,n,this,a);if(l.done)return l.value}var d=s(n),S=String(this),k="function"==typeof a;k||(a=String(a));var w=d.global;if(w){var P=d.unicode;d.lastIndex=0}for(var D=[];;){var O=m(d,S);if(null===O)break;if(D.push(O),!w)break;""===String(O[0])&&(d.lastIndex=f(S,c(d.lastIndex),P))}for(var A,eo="",no=0,ro=0;ro<D.length;ro++){O=D[ro];for(var oo=String(O[0]),ao=g(b(u(O.index),S.length),0),io=[],so=1;so<O.length;so++)io.push(void 0===(A=O[so])?A:String(A));var lo=O.groups;if(k){var co=[oo].concat(io,ao,S);void 0!==lo&&co.push(lo);var uo=String(a.apply(void 0,co))}else uo=I(oo,S,ao,io,lo,a);ao>=no&&(eo+=S.slice(no,ao)+uo,no=ao+oo.length)}return eo+S.slice(no)}];function I(n,o,a,s,c,u){var d=a+n.length,f=s.length,m=w;return void 0!==c&&(c=l(c),m=k),r.call(u,m,(function(r,l){var u;switch(l.charAt(0)){case"$":return"$";case"&":return n;case"`":return o.slice(0,a);case"'":return o.slice(d);case"<":u=c[l.slice(1,-1)];break;default:var m=+l;if(0===m)return r;if(m>f){var g=S(m/10);return 0===g?r:g<=f?void 0===s[g-1]?l.charAt(1):s[g-1]+l.charAt(1):r}u=s[m-1]}return void 0===u?"":u}))}}))},5692:function(n,r,o){var a=o("c430"),s=o("c6cd");(n.exports=function(n,r){return s[n]||(s[n]=void 0!==r?r:{})})("versions",[]).push({version:"3.6.5",mode:a?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(n,r,o){var a=o("d066"),s=o("241c"),l=o("7418"),c=o("825a");n.exports=a("Reflect","ownKeys")||function(n){var r=s.f(c(n)),o=l.f;return o?r.concat(o(n)):r}},"5a34":function(n,r,o){var a=o("44e7");n.exports=function(n){if(a(n))throw TypeError("The method doesn't accept regular expressions");return n}},"5c6c":function(n,r){n.exports=function(n,r){return{enumerable:!(1&n),configurable:!(2&n),writable:!(4&n),value:r}}},"5db7":function(n,r,o){var a=o("23e7"),s=o("a2bf"),l=o("7b0b"),c=o("50c4"),u=o("1c0b"),d=o("65f0");a({target:"Array",proto:!0},{flatMap:function(n){var r,o=l(this),a=c(o.length);return u(n),(r=d(o,0)).length=s(r,o,o,a,0,1,n,arguments.length>1?arguments[1]:void 0),r}})},6547:function(n,r,o){var a=o("a691"),s=o("1d80"),l=function(n){return function(r,o){var l,c,u=String(s(r)),d=a(o),f=u.length;return d<0||d>=f?n?"":void 0:(l=u.charCodeAt(d))<55296||l>56319||d+1===f||(c=u.charCodeAt(d+1))<56320||c>57343?n?u.charAt(d):l:n?u.slice(d,d+2):c-56320+(l-55296<<10)+65536}};n.exports={codeAt:l(!1),charAt:l(!0)}},"65f0":function(n,r,o){var a=o("861d"),s=o("e8b5"),l=o("b622")("species");n.exports=function(n,r){var o;return s(n)&&("function"!=typeof(o=n.constructor)||o!==Array&&!s(o.prototype)?a(o)&&null===(o=o[l])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===r?0:r)}},"69f3":function(n,r,o){var a,s,l,c=o("7f9a"),u=o("da84"),d=o("861d"),f=o("9112"),m=o("5135"),g=o("f772"),b=o("d012"),S=u.WeakMap;if(c){var k=new S,w=k.get,E=k.has,C=k.set;a=function(n,r){return C.call(k,n,r),r},s=function(n){return w.call(k,n)||{}},l=function(n){return E.call(k,n)}}else{var T=g("state");b[T]=!0,a=function(n,r){return f(n,T,r),r},s=function(n){return m(n,T)?n[T]:{}},l=function(n){return m(n,T)}}n.exports={set:a,get:s,has:l,enforce:function(n){return l(n)?s(n):a(n,{})},getterFor:function(n){return function(r){var o;if(!d(r)||(o=s(r)).type!==n)throw TypeError("Incompatible receiver, "+n+" required");return o}}}},"6eeb":function(n,r,o){var a=o("da84"),s=o("9112"),l=o("5135"),c=o("ce4e"),u=o("8925"),d=o("69f3"),f=d.get,m=d.enforce,g=String(String).split("String");(n.exports=function(n,r,o,u){var d=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,b=!!u&&!!u.noTargetGet;"function"==typeof o&&("string"!=typeof r||l(o,"name")||s(o,"name",r),m(o).source=g.join("string"==typeof r?r:"")),n!==a?(d?!b&&n[r]&&(f=!0):delete n[r],f?n[r]=o:s(n,r,o)):f?n[r]=o:c(r,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},"6f53":function(n,r,o){var a=o("83ab"),s=o("df75"),l=o("fc6a"),c=o("d1e7").f,u=function(n){return function(r){for(var o,u=l(r),d=s(u),f=d.length,m=0,g=[];f>m;)o=d[m++],a&&!c.call(u,o)||g.push(n?[o,u[o]]:u[o]);return g}};n.exports={entries:u(!0),values:u(!1)}},"73d9":function(n,r,o){o("44d2")("flatMap")},7418:function(n,r){r.f=Object.getOwnPropertySymbols},"746f":function(n,r,o){var a=o("428f"),s=o("5135"),l=o("e538"),c=o("9bf2").f;n.exports=function(n){var r=a.Symbol||(a.Symbol={});s(r,n)||c(r,n,{value:l.f(n)})}},7839:function(n,r){n.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(n,r,o){var a=o("1d80");n.exports=function(n){return Object(a(n))}},"7c73":function(n,r,o){var a,s=o("825a"),l=o("37e8"),c=o("7839"),u=o("d012"),d=o("1be4"),f=o("cc12"),m=o("f772"),g="prototype",b="script",S=m("IE_PROTO"),k=function(){},w=function(n){return"<"+b+">"+n+"</"+b+">"},E=function(){try{a=document.domain&&new ActiveXObject("htmlfile")}catch(l){}var n,r,o;E=a?function(n){n.write(w("")),n.close();var r=n.parentWindow.Object;return n=null,r}(a):(r=f("iframe"),o="java"+b+":",r.style.display="none",d.appendChild(r),r.src=String(o),(n=r.contentWindow.document).open(),n.write(w("document.F=Object")),n.close(),n.F);for(var s=c.length;s--;)delete E[g][c[s]];return E()};u[S]=!0,n.exports=Object.create||function(n,r){var o;return null!==n?(k[g]=s(n),o=new k,k[g]=null,o[S]=n):o=E(),void 0===r?o:l(o,r)}},"7dd0":function(n,r,o){var a=o("23e7"),s=o("9ed3"),l=o("e163"),c=o("d2bb"),u=o("d44e"),d=o("9112"),f=o("6eeb"),m=o("b622"),g=o("c430"),b=o("3f8c"),S=o("ae93"),k=S.IteratorPrototype,w=S.BUGGY_SAFARI_ITERATORS,E=m("iterator"),C="keys",T="values",I="entries",P=function(){return this};n.exports=function(n,r,o,m,S,D,O){s(o,r,m);var A,eo,no,ro=function(n){if(n===S&&lo)return lo;if(!w&&n in io)return io[n];switch(n){case C:case T:case I:return function(){return new o(this,n)}}return function(){return new o(this)}},oo=r+" Iterator",ao=!1,io=n.prototype,so=io[E]||io["@@iterator"]||S&&io[S],lo=!w&&so||ro(S),co="Array"==r&&io.entries||so;if(co&&(A=l(co.call(new n)),k!==Object.prototype&&A.next&&(g||l(A)===k||(c?c(A,k):"function"!=typeof A[E]&&d(A,E,P)),u(A,oo,!0,!0),g&&(b[oo]=P))),S==T&&so&&so.name!==T&&(ao=!0,lo=function(){return so.call(this)}),g&&!O||io[E]===lo||d(io,E,lo),b[r]=lo,S)if(eo={values:ro(T),keys:D?lo:ro(C),entries:ro(I)},O)for(no in eo)(w||ao||!(no in io))&&f(io,no,eo[no]);else a({target:r,proto:!0,forced:w||ao},eo);return eo}},"7f9a":function(n,r,o){var a=o("da84"),s=o("8925"),l=a.WeakMap;n.exports="function"==typeof l&&/native code/.test(s(l))},"825a":function(n,r,o){var a=o("861d");n.exports=function(n){if(!a(n))throw TypeError(String(n)+" is not an object");return n}},"83ab":function(n,r,o){var a=o("d039");n.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(n,r,o){var a=o("c04e"),s=o("9bf2"),l=o("5c6c");n.exports=function(n,r,o){var c=a(r);c in n?s.f(n,c,l(0,o)):n[c]=o}},"861d":function(n,r){n.exports=function(n){return"object"==typeof n?null!==n:"function"==typeof n}},8875:function(n,r,o){var a,s,l;"undefined"!=typeof self&&self,s=[],void 0===(l="function"==typeof(a=function(){function n(){var r=Object.getOwnPropertyDescriptor(document,"currentScript");if(!r&&"currentScript"in document&&document.currentScript)return document.currentScript;if(r&&r.get!==n&&document.currentScript)return document.currentScript;try{throw new Error}catch(b){var o,a,s,l=/@([^@]*):(\d+):(\d+)\s*$/gi,c=/.*at [^(]*\((.*):(.+):(.+)\)$/gi.exec(b.stack)||l.exec(b.stack),u=c&&c[1]||!1,d=c&&c[2]||!1,f=document.location.href.replace(document.location.hash,""),m=document.getElementsByTagName("script");u===f&&(o=document.documentElement.outerHTML,a=new RegExp("(?:[^\\n]+?\\n){0,"+(d-2)+"}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),s=o.replace(a,"$1").trim());for(var g=0;g<m.length;g++){if("interactive"===m[g].readyState)return m[g];if(m[g].src===u)return m[g];if(u===f&&m[g].innerHTML&&m[g].innerHTML.trim()===s)return m[g]}return null}}return n})?a.apply(r,s):a)||(n.exports=l)},8925:function(n,r,o){var a=o("c6cd"),s=Function.toString;"function"!=typeof a.inspectSource&&(a.inspectSource=function(n){return s.call(n)}),n.exports=a.inspectSource},"8aa5":function(n,r,o){var a=o("6547").charAt;n.exports=function(n,r,o){return r+(o?a(n,r).length:1)}},"8bbf":function(r,o){r.exports=n},"90e3":function(n,r){var o=0,a=Math.random();n.exports=function(n){return"Symbol("+String(void 0===n?"":n)+")_"+(++o+a).toString(36)}},9112:function(n,r,o){var a=o("83ab"),s=o("9bf2"),l=o("5c6c");n.exports=a?function(n,r,o){return s.f(n,r,l(1,o))}:function(n,r,o){return n[r]=o,n}},9263:function(n,r,o){var a,s,l=o("ad6d"),c=o("9f7f"),u=RegExp.prototype.exec,d=String.prototype.replace,f=u,m=(a=/a/,s=/b*/g,u.call(a,"a"),u.call(s,"a"),0!==a.lastIndex||0!==s.lastIndex),g=c.UNSUPPORTED_Y||c.BROKEN_CARET,b=void 0!==/()??/.exec("")[1];(m||b||g)&&(f=function(n){var r,o,a,s,c=this,f=g&&c.sticky,S=l.call(c),k=c.source,w=0,E=n;return f&&(-1===(S=S.replace("y","")).indexOf("g")&&(S+="g"),E=String(n).slice(c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==n[c.lastIndex-1])&&(k="(?: "+k+")",E=" "+E,w++),o=new RegExp("^(?:"+k+")",S)),b&&(o=new RegExp("^"+k+"$(?!\\s)",S)),m&&(r=c.lastIndex),a=u.call(f?o:c,E),f?a?(a.input=a.input.slice(w),a[0]=a[0].slice(w),a.index=c.lastIndex,c.lastIndex+=a[0].length):c.lastIndex=0:m&&a&&(c.lastIndex=c.global?a.index+a[0].length:r),b&&a&&a.length>1&&d.call(a[0],o,(function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(a[s]=void 0)})),a}),n.exports=f},"94ca":function(n,r,o){var a=o("d039"),s=/#|\.prototype\./,l=function(n,r){var o=u[c(n)];return o==f||o!=d&&("function"==typeof r?a(r):!!r)},c=l.normalize=function(n){return String(n).replace(s,".").toLowerCase()},u=l.data={},d=l.NATIVE="N",f=l.POLYFILL="P";n.exports=l},"99af":function(n,r,o){var a=o("23e7"),s=o("d039"),l=o("e8b5"),c=o("861d"),u=o("7b0b"),d=o("50c4"),f=o("8418"),m=o("65f0"),g=o("1dde"),b=o("b622"),S=o("2d00"),k=b("isConcatSpreadable"),w=9007199254740991,E="Maximum allowed index exceeded",C=S>=51||!s((function(){var n=[];return n[k]=!1,n.concat()[0]!==n})),T=g("concat"),I=function(n){if(!c(n))return!1;var r=n[k];return void 0!==r?!!r:l(n)};a({target:"Array",proto:!0,forced:!C||!T},{concat:function(n){var r,o,a,s,l,c=u(this),g=m(c,0),b=0;for(r=-1,a=arguments.length;r<a;r++)if(I(l=-1===r?c:arguments[r])){if(b+(s=d(l.length))>w)throw TypeError(E);for(o=0;o<s;o++,b++)o in l&&f(g,b,l[o])}else{if(b>=w)throw TypeError(E);f(g,b++,l)}return g.length=b,g}})},"9bdd":function(n,r,o){var a=o("825a");n.exports=function(n,r,o,s){try{return s?r(a(o)[0],o[1]):r(o)}catch(c){var l=n.return;throw void 0!==l&&a(l.call(n)),c}}},"9bf2":function(n,r,o){var a=o("83ab"),s=o("0cfb"),l=o("825a"),c=o("c04e"),u=Object.defineProperty;r.f=a?u:function(n,r,o){if(l(n),r=c(r,!0),l(o),s)try{return u(n,r,o)}catch(a){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(n[r]=o.value),n}},"9ed3":function(n,r,o){var a=o("ae93").IteratorPrototype,s=o("7c73"),l=o("5c6c"),c=o("d44e"),u=o("3f8c"),d=function(){return this};n.exports=function(n,r,o){var f=r+" Iterator";return n.prototype=s(a,{next:l(1,o)}),c(n,f,!1,!0),u[f]=d,n}},"9f7f":function(n,r,o){var a=o("d039");function s(n,r){return RegExp(n,r)}r.UNSUPPORTED_Y=a((function(){var n=s("a","y");return n.lastIndex=2,null!=n.exec("abcd")})),r.BROKEN_CARET=a((function(){var n=s("^r","gy");return n.lastIndex=2,null!=n.exec("str")}))},a2bf:function(n,r,o){var a=o("e8b5"),s=o("50c4"),l=o("0366"),c=function(n,r,o,u,d,f,m,g){for(var b,S=d,k=0,w=!!m&&l(m,g,3);k<u;){if(k in o){if(b=w?w(o[k],k,r):o[k],f>0&&a(b))S=c(n,r,b,s(b.length),S,f-1)-1;else{if(S>=9007199254740991)throw TypeError("Exceed the acceptable array length");n[S]=b}S++}k++}return S};n.exports=c},a352:function(n,o){n.exports=r},a434:function(n,r,o){var a=o("23e7"),s=o("23cb"),l=o("a691"),c=o("50c4"),u=o("7b0b"),d=o("65f0"),f=o("8418"),m=o("1dde"),g=o("ae40"),b=m("splice"),S=g("splice",{ACCESSORS:!0,0:0,1:2}),k=Math.max,w=Math.min;a({target:"Array",proto:!0,forced:!b||!S},{splice:function(n,r){var o,a,m,g,b,S,E=u(this),C=c(E.length),T=s(n,C),I=arguments.length;if(0===I?o=a=0:1===I?(o=0,a=C-T):(o=I-2,a=w(k(l(r),0),C-T)),C+o-a>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(m=d(E,a),g=0;g<a;g++)(b=T+g)in E&&f(m,g,E[b]);if(m.length=a,o<a){for(g=T;g<C-a;g++)S=g+o,(b=g+a)in E?E[S]=E[b]:delete E[S];for(g=C;g>C-a+o;g--)delete E[g-1]}else if(o>a)for(g=C-a;g>T;g--)S=g+o-1,(b=g+a-1)in E?E[S]=E[b]:delete E[S];for(g=0;g<o;g++)E[g+T]=arguments[g+2];return E.length=C-a+o,m}})},a4d3:function(n,r,o){var a=o("23e7"),s=o("da84"),l=o("d066"),c=o("c430"),u=o("83ab"),d=o("4930"),f=o("fdbf"),m=o("d039"),g=o("5135"),b=o("e8b5"),S=o("861d"),k=o("825a"),w=o("7b0b"),E=o("fc6a"),C=o("c04e"),T=o("5c6c"),I=o("7c73"),P=o("df75"),D=o("241c"),O=o("057f"),A=o("7418"),eo=o("06cf"),no=o("9bf2"),ro=o("d1e7"),oo=o("9112"),ao=o("6eeb"),io=o("5692"),so=o("f772"),lo=o("d012"),co=o("90e3"),uo=o("b622"),po=o("e538"),fo=o("746f"),ho=o("d44e"),mo=o("69f3"),go=o("b727").forEach,vo=so("hidden"),yo="Symbol",bo="prototype",_o=uo("toPrimitive"),So=mo.set,ko=mo.getterFor(yo),wo=Object[bo],Eo=s.Symbol,Co=l("JSON","stringify"),To=eo.f,xo=no.f,Io=O.f,Ro=ro.f,No=io("symbols"),Po=io("op-symbols"),Do=io("string-to-symbol-registry"),Vo=io("symbol-to-string-registry"),Oo=io("wks"),Ao=s.QObject,$o=!Ao||!Ao[bo]||!Ao[bo].findChild,Mo=u&&m((function(){return 7!=I(xo({},"a",{get:function(){return xo(this,"a",{value:7}).a}})).a}))?function(n,r,o){var a=To(wo,r);a&&delete wo[r],xo(n,r,o),a&&n!==wo&&xo(wo,r,a)}:xo,Bo=function(n,r){var o=No[n]=I(Eo[bo]);return So(o,{type:yo,tag:n,description:r}),u||(o.description=r),o},Lo=f?function(n){return"symbol"==typeof n}:function(n){return Object(n)instanceof Eo},Fo=function(n,r,o){n===wo&&Fo(Po,r,o),k(n);var a=C(r,!0);return k(o),g(No,a)?(o.enumerable?(g(n,vo)&&n[vo][a]&&(n[vo][a]=!1),o=I(o,{enumerable:T(0,!1)})):(g(n,vo)||xo(n,vo,T(1,{})),n[vo][a]=!0),Mo(n,a,o)):xo(n,a,o)},Uo=function(n,r){k(n);var o=E(r),a=P(o).concat(zo(o));return go(a,(function(r){u&&!jo.call(o,r)||Fo(n,r,o[r])})),n},jo=function(n){var r=C(n,!0),o=Ro.call(this,r);return!(this===wo&&g(No,r)&&!g(Po,r))&&(!(o||!g(this,r)||!g(No,r)||g(this,vo)&&this[vo][r])||o)},Ho=function(n,r){var o=E(n),a=C(r,!0);if(o!==wo||!g(No,a)||g(Po,a)){var s=To(o,a);return!s||!g(No,a)||g(o,vo)&&o[vo][a]||(s.enumerable=!0),s}},Go=function(n){var r=Io(E(n)),o=[];return go(r,(function(n){g(No,n)||g(lo,n)||o.push(n)})),o},zo=function(n){var r=n===wo,o=Io(r?Po:E(n)),a=[];return go(o,(function(n){!g(No,n)||r&&!g(wo,n)||a.push(No[n])})),a};d||(Eo=function(){if(this instanceof Eo)throw TypeError("Symbol is not a constructor");var n=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,r=co(n),o=function(n){this===wo&&o.call(Po,n),g(this,vo)&&g(this[vo],r)&&(this[vo][r]=!1),Mo(this,r,T(1,n))};return u&&$o&&Mo(wo,r,{configurable:!0,set:o}),Bo(r,n)},ao(Eo[bo],"toString",(function(){return ko(this).tag})),ao(Eo,"withoutSetter",(function(n){return Bo(co(n),n)})),ro.f=jo,no.f=Fo,eo.f=Ho,D.f=O.f=Go,A.f=zo,po.f=function(n){return Bo(uo(n),n)},u&&(xo(Eo[bo],"description",{configurable:!0,get:function(){return ko(this).description}}),c||ao(wo,"propertyIsEnumerable",jo,{unsafe:!0}))),a({global:!0,wrap:!0,forced:!d,sham:!d},{Symbol:Eo}),go(P(Oo),(function(n){fo(n)})),a({target:yo,stat:!0,forced:!d},{for:function(n){var r=String(n);if(g(Do,r))return Do[r];var o=Eo(r);return Do[r]=o,Vo[o]=r,o},keyFor:function(n){if(!Lo(n))throw TypeError(n+" is not a symbol");if(g(Vo,n))return Vo[n]},useSetter:function(){$o=!0},useSimple:function(){$o=!1}}),a({target:"Object",stat:!0,forced:!d,sham:!u},{create:function(n,r){return void 0===r?I(n):Uo(I(n),r)},defineProperty:Fo,defineProperties:Uo,getOwnPropertyDescriptor:Ho}),a({target:"Object",stat:!0,forced:!d},{getOwnPropertyNames:Go,getOwnPropertySymbols:zo}),a({target:"Object",stat:!0,forced:m((function(){A.f(1)}))},{getOwnPropertySymbols:function(n){return A.f(w(n))}}),Co&&a({target:"JSON",stat:!0,forced:!d||m((function(){var n=Eo();return"[null]"!=Co([n])||"{}"!=Co({a:n})||"{}"!=Co(Object(n))}))},{stringify:function(n,r,o){for(var a,s=[n],l=1;arguments.length>l;)s.push(arguments[l++]);if(a=r,(S(r)||void 0!==n)&&!Lo(n))return b(r)||(r=function(n,r){if("function"==typeof a&&(r=a.call(this,n,r)),!Lo(r))return r}),s[1]=r,Co.apply(null,s)}}),Eo[bo][_o]||oo(Eo[bo],_o,Eo[bo].valueOf),ho(Eo,yo),lo[vo]=!0},a630:function(n,r,o){var a=o("23e7"),s=o("4df4");a({target:"Array",stat:!0,forced:!o("1c7e")((function(n){Array.from(n)}))},{from:s})},a640:function(n,r,o){var a=o("d039");n.exports=function(n,r){var o=[][n];return!!o&&a((function(){o.call(null,r||function(){throw 1},1)}))}},a691:function(n,r){var o=Math.ceil,a=Math.floor;n.exports=function(n){return isNaN(n=+n)?0:(n>0?a:o)(n)}},ab13:function(n,r,o){var a=o("b622")("match");n.exports=function(n){var r=/./;try{"/./"[n](r)}catch(e3){try{return r[a]=!1,"/./"[n](r)}catch(o){}}return!1}},ac1f:function(n,r,o){var a=o("23e7"),s=o("9263");a({target:"RegExp",proto:!0,forced:/./.exec!==s},{exec:s})},ad6d:function(n,r,o){var a=o("825a");n.exports=function(){var n=a(this),r="";return n.global&&(r+="g"),n.ignoreCase&&(r+="i"),n.multiline&&(r+="m"),n.dotAll&&(r+="s"),n.unicode&&(r+="u"),n.sticky&&(r+="y"),r}},ae40:function(n,r,o){var a=o("83ab"),s=o("d039"),l=o("5135"),c=Object.defineProperty,u={},d=function(n){throw n};n.exports=function(n,r){if(l(u,n))return u[n];r||(r={});var o=[][n],f=!!l(r,"ACCESSORS")&&r.ACCESSORS,m=l(r,0)?r[0]:d,g=l(r,1)?r[1]:void 0;return u[n]=!!o&&!s((function(){if(f&&!a)return!0;var n={length:-1};f?c(n,1,{enumerable:!0,get:d}):n[1]=1,o.call(n,m,g)}))}},ae93:function(n,r,o){var a,s,l,c=o("e163"),u=o("9112"),d=o("5135"),f=o("b622"),m=o("c430"),g=f("iterator"),b=!1;[].keys&&("next"in(l=[].keys())?(s=c(c(l)))!==Object.prototype&&(a=s):b=!0),null==a&&(a={}),m||d(a,g)||u(a,g,(function(){return this})),n.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:b}},b041:function(n,r,o){var a=o("00ee"),s=o("f5df");n.exports=a?{}.toString:function(){return"[object "+s(this)+"]"}},b0c0:function(n,r,o){var a=o("83ab"),s=o("9bf2").f,l=Function.prototype,c=l.toString,u=/^\s*function ([^ (]*)/,d="name";a&&!(d in l)&&s(l,d,{configurable:!0,get:function(){try{return c.call(this).match(u)[1]}catch(n){return""}}})},b622:function(n,r,o){var a=o("da84"),s=o("5692"),l=o("5135"),c=o("90e3"),u=o("4930"),d=o("fdbf"),f=s("wks"),m=a.Symbol,g=d?m:m&&m.withoutSetter||c;n.exports=function(n){return l(f,n)||(u&&l(m,n)?f[n]=m[n]:f[n]=g("Symbol."+n)),f[n]}},b64b:function(n,r,o){var a=o("23e7"),s=o("7b0b"),l=o("df75");a({target:"Object",stat:!0,forced:o("d039")((function(){l(1)}))},{keys:function(n){return l(s(n))}})},b727:function(n,r,o){var a=o("0366"),s=o("44ad"),l=o("7b0b"),c=o("50c4"),u=o("65f0"),d=[].push,f=function(n){var r=1==n,o=2==n,f=3==n,m=4==n,g=6==n,b=5==n||g;return function(S,k,w,E){for(var C,T,I=l(S),P=s(I),D=a(k,w,3),O=c(P.length),A=0,eo=E||u,no=r?eo(S,O):o?eo(S,0):void 0;O>A;A++)if((b||A in P)&&(T=D(C=P[A],A,I),n))if(r)no[A]=T;else if(T)switch(n){case 3:return!0;case 5:return C;case 6:return A;case 2:d.call(no,C)}else if(m)return!1;return g?-1:f||m?m:no}};n.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},c04e:function(n,r,o){var a=o("861d");n.exports=function(n,r){if(!a(n))return n;var o,s;if(r&&"function"==typeof(o=n.toString)&&!a(s=o.call(n)))return s;if("function"==typeof(o=n.valueOf)&&!a(s=o.call(n)))return s;if(!r&&"function"==typeof(o=n.toString)&&!a(s=o.call(n)))return s;throw TypeError("Can't convert object to primitive value")}},c430:function(n,r){n.exports=!1},c6b6:function(n,r){var o={}.toString;n.exports=function(n){return o.call(n).slice(8,-1)}},c6cd:function(n,r,o){var a=o("da84"),s=o("ce4e"),l="__core-js_shared__",c=a[l]||s(l,{});n.exports=c},c740:function(n,r,o){var a=o("23e7"),s=o("b727").findIndex,l=o("44d2"),c=o("ae40"),u="findIndex",d=!0,f=c(u);u in[]&&Array(1)[u]((function(){d=!1})),a({target:"Array",proto:!0,forced:d||!f},{findIndex:function(n){return s(this,n,arguments.length>1?arguments[1]:void 0)}}),l(u)},c8ba:function(n,r){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e3){"object"==typeof window&&(o=window)}n.exports=o},c975:function(n,r,o){var a=o("23e7"),s=o("4d64").indexOf,l=o("a640"),c=o("ae40"),u=[].indexOf,d=!!u&&1/[1].indexOf(1,-0)<0,f=l("indexOf"),m=c("indexOf",{ACCESSORS:!0,1:0});a({target:"Array",proto:!0,forced:d||!f||!m},{indexOf:function(n){return d?u.apply(this,arguments)||0:s(this,n,arguments.length>1?arguments[1]:void 0)}})},ca84:function(n,r,o){var a=o("5135"),s=o("fc6a"),l=o("4d64").indexOf,c=o("d012");n.exports=function(n,r){var o,u=s(n),d=0,f=[];for(o in u)!a(c,o)&&a(u,o)&&f.push(o);for(;r.length>d;)a(u,o=r[d++])&&(~l(f,o)||f.push(o));return f}},caad:function(n,r,o){var a=o("23e7"),s=o("4d64").includes,l=o("44d2");a({target:"Array",proto:!0,forced:!o("ae40")("indexOf",{ACCESSORS:!0,1:0})},{includes:function(n){return s(this,n,arguments.length>1?arguments[1]:void 0)}}),l("includes")},cc12:function(n,r,o){var a=o("da84"),s=o("861d"),l=a.document,c=s(l)&&s(l.createElement);n.exports=function(n){return c?l.createElement(n):{}}},ce4e:function(n,r,o){var a=o("da84"),s=o("9112");n.exports=function(n,r){try{s(a,n,r)}catch(o){a[n]=r}return r}},d012:function(n,r){n.exports={}},d039:function(n,r){n.exports=function(n){try{return!!n()}catch(r){return!0}}},d066:function(n,r,o){var a=o("428f"),s=o("da84"),l=function(n){return"function"==typeof n?n:void 0};n.exports=function(n,r){return arguments.length<2?l(a[n])||l(s[n]):a[n]&&a[n][r]||s[n]&&s[n][r]}},d1e7:function(n,r,o){var a={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,l=s&&!a.call({1:2},1);r.f=l?function(n){var r=s(this,n);return!!r&&r.enumerable}:a},d28b:function(n,r,o){o("746f")("iterator")},d2bb:function(n,r,o){var a=o("825a"),s=o("3bbe");n.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n,r=!1,o={};try{(n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(o,[]),r=o instanceof Array}catch(l){}return function(o,l){return a(o),s(l),r?n.call(o,l):o.__proto__=l,o}}():void 0)},d3b7:function(n,r,o){var a=o("00ee"),s=o("6eeb"),l=o("b041");a||s(Object.prototype,"toString",l,{unsafe:!0})},d44e:function(n,r,o){var a=o("9bf2").f,s=o("5135"),l=o("b622")("toStringTag");n.exports=function(n,r,o){n&&!s(n=o?n:n.prototype,l)&&a(n,l,{configurable:!0,value:r})}},d58f:function(n,r,o){var a=o("1c0b"),s=o("7b0b"),l=o("44ad"),c=o("50c4"),u=function(n){return function(r,o,u,d){a(o);var f=s(r),m=l(f),g=c(f.length),b=n?g-1:0,S=n?-1:1;if(u<2)for(;;){if(b in m){d=m[b],b+=S;break}if(b+=S,n?b<0:g<=b)throw TypeError("Reduce of empty array with no initial value")}for(;n?b>=0:g>b;b+=S)b in m&&(d=o(d,m[b],b,f));return d}};n.exports={left:u(!1),right:u(!0)}},d784:function(n,r,o){o("ac1f");var a=o("6eeb"),s=o("d039"),l=o("b622"),c=o("9263"),u=o("9112"),d=l("species"),f=!s((function(){var n=/./;return n.exec=function(){var n=[];return n.groups={a:"7"},n},"7"!=="".replace(n,"$<a>")})),m="$0"==="a".replace(/./,"$0"),g=l("replace"),b=!!/./[g]&&""===/./[g]("a","$0"),S=!s((function(){var n=/(?:)/,r=n.exec;n.exec=function(){return r.apply(this,arguments)};var o="ab".split(n);return 2!==o.length||"a"!==o[0]||"b"!==o[1]}));n.exports=function(n,r,o,g){var k=l(n),w=!s((function(){var r={};return r[k]=function(){return 7},7!=""[n](r)})),E=w&&!s((function(){var r=!1,o=/a/;return"split"===n&&((o={}).constructor={},o.constructor[d]=function(){return o},o.flags="",o[k]=/./[k]),o.exec=function(){return r=!0,null},o[k](""),!r}));if(!w||!E||"replace"===n&&(!f||!m||b)||"split"===n&&!S){var C=/./[k],T=o(k,""[n],(function(n,r,o,a,s){return r.exec===c?w&&!s?{done:!0,value:C.call(r,o,a)}:{done:!0,value:n.call(o,r,a)}:{done:!1}}),{REPLACE_KEEPS_$0:m,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:b}),I=T[0],P=T[1];a(String.prototype,n,I),a(RegExp.prototype,k,2==r?function(n,r){return P.call(n,this,r)}:function(n){return P.call(n,this)})}g&&u(RegExp.prototype[k],"sham",!0)}},d81d:function(n,r,o){var a=o("23e7"),s=o("b727").map,l=o("1dde"),c=o("ae40"),u=l("map"),d=c("map");a({target:"Array",proto:!0,forced:!u||!d},{map:function(n){return s(this,n,arguments.length>1?arguments[1]:void 0)}})},da84:function(n,r,o){(function(r){var o=function(n){return n&&n.Math==Math&&n};n.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof r&&r)||Function("return this")()}).call(this,o("c8ba"))},dbb4:function(n,r,o){var a=o("23e7"),s=o("83ab"),l=o("56ef"),c=o("fc6a"),u=o("06cf"),d=o("8418");a({target:"Object",stat:!0,sham:!s},{getOwnPropertyDescriptors:function(n){for(var r,o,a=c(n),s=u.f,f=l(a),m={},g=0;f.length>g;)void 0!==(o=s(a,r=f[g++]))&&d(m,r,o);return m}})},dbf1:function(n,r,o){(function(n){o.d(r,"a",(function(){return a}));var a="undefined"!=typeof window?window.console:n.console}).call(this,o("c8ba"))},ddb0:function(n,r,o){var a=o("da84"),s=o("fdbc"),l=o("e260"),c=o("9112"),u=o("b622"),d=u("iterator"),f=u("toStringTag"),m=l.values;for(var g in s){var b=a[g],S=b&&b.prototype;if(S){if(S[d]!==m)try{c(S,d,m)}catch(w){S[d]=m}if(S[f]||c(S,f,g),s[g])for(var k in l)if(S[k]!==l[k])try{c(S,k,l[k])}catch(w){S[k]=l[k]}}}},df75:function(n,r,o){var a=o("ca84"),s=o("7839");n.exports=Object.keys||function(n){return a(n,s)}},e01a:function(n,r,o){var a=o("23e7"),s=o("83ab"),l=o("da84"),c=o("5135"),u=o("861d"),d=o("9bf2").f,f=o("e893"),m=l.Symbol;if(s&&"function"==typeof m&&(!("description"in m.prototype)||void 0!==m().description)){var g={},b=function(){var n=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),r=this instanceof b?new m(n):void 0===n?m():m(n);return""===n&&(g[r]=!0),r};f(b,m);var S=b.prototype=m.prototype;S.constructor=b;var k=S.toString,w="Symbol(test)"==String(m("test")),E=/^Symbol\((.*)\)[^)]+$/;d(S,"description",{configurable:!0,get:function(){var n=u(this)?this.valueOf():this,r=k.call(n);if(c(g,n))return"";var o=w?r.slice(7,-1):r.replace(E,"$1");return""===o?void 0:o}}),a({global:!0,forced:!0},{Symbol:b})}},e163:function(n,r,o){var a=o("5135"),s=o("7b0b"),l=o("f772"),c=o("e177"),u=l("IE_PROTO"),d=Object.prototype;n.exports=c?Object.getPrototypeOf:function(n){return n=s(n),a(n,u)?n[u]:"function"==typeof n.constructor&&n instanceof n.constructor?n.constructor.prototype:n instanceof Object?d:null}},e177:function(n,r,o){var a=o("d039");n.exports=!a((function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype}))},e260:function(n,r,o){var a=o("fc6a"),s=o("44d2"),l=o("3f8c"),c=o("69f3"),u=o("7dd0"),d="Array Iterator",f=c.set,m=c.getterFor(d);n.exports=u(Array,"Array",(function(n,r){f(this,{type:d,target:a(n),index:0,kind:r})}),(function(){var n=m(this),r=n.target,o=n.kind,a=n.index++;return!r||a>=r.length?(n.target=void 0,{value:void 0,done:!0}):"keys"==o?{value:a,done:!1}:"values"==o?{value:r[a],done:!1}:{value:[a,r[a]],done:!1}}),"values"),l.Arguments=l.Array,s("keys"),s("values"),s("entries")},e439:function(n,r,o){var a=o("23e7"),s=o("d039"),l=o("fc6a"),c=o("06cf").f,u=o("83ab"),d=s((function(){c(1)}));a({target:"Object",stat:!0,forced:!u||d,sham:!u},{getOwnPropertyDescriptor:function(n,r){return c(l(n),r)}})},e538:function(n,r,o){var a=o("b622");r.f=a},e893:function(n,r,o){var a=o("5135"),s=o("56ef"),l=o("06cf"),c=o("9bf2");n.exports=function(n,r){for(var o=s(r),u=c.f,d=l.f,f=0;f<o.length;f++){var m=o[f];a(n,m)||u(n,m,d(r,m))}}},e8b5:function(n,r,o){var a=o("c6b6");n.exports=Array.isArray||function(n){return"Array"==a(n)}},e95a:function(n,r,o){var a=o("b622"),s=o("3f8c"),l=a("iterator"),c=Array.prototype;n.exports=function(n){return void 0!==n&&(s.Array===n||c[l]===n)}},f5df:function(n,r,o){var a=o("00ee"),s=o("c6b6"),l=o("b622")("toStringTag"),c="Arguments"==s(function(){return arguments}());n.exports=a?s:function(n){var r,o,a;return void 0===n?"Undefined":null===n?"Null":"string"==typeof(o=function(n,r){try{return n[r]}catch(o){}}(r=Object(n),l))?o:c?s(r):"Object"==(a=s(r))&&"function"==typeof r.callee?"Arguments":a}},f772:function(n,r,o){var a=o("5692"),s=o("90e3"),l=a("keys");n.exports=function(n){return l[n]||(l[n]=s(n))}},fb15:function(n,r,o){if(o.r(r),"undefined"!=typeof window){var a=window.document.currentScript,s=o("8875");a=s(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:s});var l=a&&a.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);l&&(o.p=l[1])}function c(n,r,o){return r in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n}function u(n,r){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),o.push.apply(o,a)}return o}function d(n){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?u(Object(o),!0).forEach((function(r){c(n,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):u(Object(o)).forEach((function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(o,r))}))}return n}function f(n,r){(null==r||r>n.length)&&(r=n.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=n[o];return a}function m(n,r){if(n){if("string"==typeof n)return f(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);return"Object"===o&&n.constructor&&(o=n.constructor.name),"Map"===o||"Set"===o?Array.from(n):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?f(n,r):void 0}}function g(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(n)){var o=[],a=!0,s=!1,l=void 0;try{for(var c,u=n[Symbol.iterator]();!(a=(c=u.next()).done)&&(o.push(c.value),!r||o.length!==r);a=!0);}catch(d){s=!0,l=d}finally{try{a||null==u.return||u.return()}finally{if(s)throw l}}return o}}(n,r)||m(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(n){return function(n){if(Array.isArray(n))return f(n)}(n)||function(n){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(n))return Array.from(n)}(n)||m(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}o("99af"),o("4de4"),o("4160"),o("c975"),o("d81d"),o("a434"),o("159b"),o("a4d3"),o("e439"),o("dbb4"),o("b64b"),o("e01a"),o("d28b"),o("e260"),o("d3b7"),o("3ca3"),o("ddb0"),o("a630"),o("fb6a"),o("b0c0"),o("25f0");var S=o("a352"),k=o.n(S);function w(n){null!==n.parentElement&&n.parentElement.removeChild(n)}function E(n,r,o){var a=0===o?n.children[0]:n.children[o-1].nextSibling;n.insertBefore(r,a)}var C=o("dbf1");o("13d5"),o("4fad"),o("ac1f"),o("5319");var T,I,P=/-(\w)/g,D=(T=function(n){return n.replace(P,(function(n,r){return r.toUpperCase()}))},I=Object.create(null),function(n){return I[n]||(I[n]=T(n))});o("5db7"),o("73d9");var O=["Start","Add","Remove","Update","End"],A=["Choose","Unchoose","Sort","Filter","Clone"],eo=["Move"],no=[eo,O,A].flatMap((function(n){return n})).map((function(n){return"on".concat(n)})),ro={manage:eo,manageAndEmit:O,emit:A};o("caad"),o("2ca0");var oo=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];function ao(n){return["id","class","role","style"].includes(n)||n.startsWith("data-")||n.startsWith("aria-")||n.startsWith("on")}function io(n){return n.reduce((function(n,r){var o=g(r,2),a=o[0],s=o[1];return n[a]=s,n}),{})}function so(n){return Object.entries(n).filter((function(n){var r=g(n,2),o=r[0];return r[1],!ao(o)})).map((function(n){var r=g(n,2),o=r[0],a=r[1];return[D(o),a]})).filter((function(n){var r,o=g(n,2),a=o[0];return o[1],r=a,!(-1!==no.indexOf(r))}))}function lo(n,r,o){return r&&function(n,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(n,a.key,a)}}(n.prototype,r),n}o("c740");var co=function(n){return n.el},uo=function(n){return n.__draggable_context},po=function(){function n(r){var o=r.nodes,a=o.header,s=o.default,l=o.footer,c=r.root,u=r.realList;!function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}(this,n),this.defaultNodes=s,this.children=[].concat(b(a),b(s),b(l)),this.externalComponent=c.externalComponent,this.rootTransition=c.transition,this.tag=c.tag,this.realList=u}return lo(n,[{key:"render",value:function(n,r){var o=this.tag,a=this.children;return n(o,r,this._isRootComponent?{default:function(){return a}}:a)}},{key:"updated",value:function(){var n=this.defaultNodes,r=this.realList;n.forEach((function(n,o){var a,s;a=co(n),s={element:r[o],index:o},a.__draggable_context=s}))}},{key:"getUnderlyingVm",value:function(n){return uo(n)}},{key:"getVmIndexFromDomIndex",value:function(n,r){var o=this.defaultNodes,a=o.length,s=r.children,l=s.item(n);if(null===l)return a;var c=uo(l);if(c)return c.index;if(0===a)return 0;var u=co(o[0]);return n<b(s).findIndex((function(n){return n===u}))?0:a}},{key:"_isRootComponent",get:function(){return this.externalComponent||this.rootTransition}}]),n}(),fo=o("8bbf");function ho(n){var r=["transition-group","TransitionGroup"].includes(n),o=!function(n){return oo.includes(n)}(n)&&!r;return{transition:r,externalComponent:o,tag:o?Object(fo.resolveComponent)(n):r?fo.TransitionGroup:n}}function mo(n){var r=n.$slots,o=n.tag,a=n.realList,s=function(n){var r=n.$slots,o=n.realList,a=n.getKey,s=o||[],l=g(["header","footer"].map((function(n){return(o=r[n])?o():[];var o})),2),c=l[0],u=l[1],f=r.item;if(!f)throw new Error("draggable element must have an item slot");var m=s.flatMap((function(n,r){return f({element:n,index:r}).map((function(r){return r.key=a(n),r.props=d(d({},r.props||{}),{},{"data-draggable":!0}),r}))}));if(m.length!==s.length)throw new Error("Item slot must have only one child");return{header:c,footer:u,default:m}}({$slots:r,realList:a,getKey:n.getKey}),l=ho(o);return new po({nodes:s,root:l,realList:a})}function go(n,r){var o=this;Object(fo.nextTick)((function(){return o.$emit(n.toLowerCase(),r)}))}function vo(n){var r=this;return function(o,a){if(null!==r.realList)return r["onDrag".concat(n)](o,a)}}function yo(n){var r=this,o=vo.call(this,n);return function(a,s){o.call(r,a,s),go.call(r,n,a)}}var bo=null,_o={list:{type:Array,required:!1,default:null},modelValue:{type:Array,required:!1,default:null},itemKey:{type:[String,Function],required:!0},clone:{type:Function,default:function(n){return n}},tag:{type:String,default:"div"},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},So=["update:modelValue","change"].concat(b([].concat(b(ro.manageAndEmit),b(ro.emit)).map((function(n){return n.toLowerCase()})))),ko=Object(fo.defineComponent)({name:"draggable",inheritAttrs:!1,props:_o,emits:So,data:function(){return{error:!1}},render:function(){try{this.error=!1;var n=this.$slots,r=this.$attrs,o=this.tag,a=this.componentData,s=mo({$slots:n,tag:o,realList:this.realList,getKey:this.getKey});this.componentStructure=s;var l=function(n){var r=n.$attrs,o=n.componentData,a=void 0===o?{}:o;return d(d({},io(Object.entries(r).filter((function(n){var r=g(n,2),o=r[0];return r[1],ao(o)})))),a)}({$attrs:r,componentData:a});return s.render(fo.h,l)}catch(c){return this.error=!0,Object(fo.h)("pre",{style:{color:"red"}},c.stack)}},created:function(){null!==this.list&&null!==this.modelValue&&C.a.error("modelValue and list props are mutually exclusive! Please set one or another.")},mounted:function(){var n=this;if(!this.error){var r=this.$attrs,o=this.$el;this.componentStructure.updated();var a=function(n){var r=n.$attrs,o=n.callBackBuilder,a=io(so(r));Object.entries(o).forEach((function(n){var r=g(n,2),o=r[0],s=r[1];ro[o].forEach((function(n){a["on".concat(n)]=s(n)}))}));var s="[data-draggable]".concat(a.draggable||"");return d(d({},a),{},{draggable:s})}({$attrs:r,callBackBuilder:{manageAndEmit:function(r){return yo.call(n,r)},emit:function(r){return go.bind(n,r)},manage:function(r){return vo.call(n,r)}}}),s=1===o.nodeType?o:o.parentElement;this._sortable=new k.a(s,a),this.targetDomElement=s,s.__draggable_component__=this}},updated:function(){this.componentStructure.updated()},beforeUnmount:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{realList:function(){var n=this.list;return n||this.modelValue},getKey:function(){var n=this.itemKey;return"function"==typeof n?n:function(r){return r[n]}}},watch:{$attrs:{handler:function(n){var r=this._sortable;r&&so(n).forEach((function(n){var o=g(n,2),a=o[0],s=o[1];r.option(a,s)}))},deep:!0}},methods:{getUnderlyingVm:function(n){return this.componentStructure.getUnderlyingVm(n)||null},getUnderlyingPotencialDraggableComponent:function(n){return n.__draggable_component__},emitChanges:function(n){var r=this;Object(fo.nextTick)((function(){return r.$emit("change",n)}))},alterList:function(n){if(this.list)n(this.list);else{var r=b(this.modelValue);n(r),this.$emit("update:modelValue",r)}},spliceList:function(){var n=arguments;this.alterList((function(r){return r.splice.apply(r,b(n))}))},updatePosition:function(n,r){this.alterList((function(o){return o.splice(r,0,o.splice(n,1)[0])}))},getRelatedContextFromMoveEvent:function(n){var r=n.to,o=n.related,a=this.getUnderlyingPotencialDraggableComponent(r);if(!a)return{component:a};var s=a.realList,l={list:s,component:a};return r!==o&&s?d(d({},a.getUnderlyingVm(o)||{}),l):l},getVmIndexFromDomIndex:function(n){return this.componentStructure.getVmIndexFromDomIndex(n,this.targetDomElement)},onDragStart:function(n){this.context=this.getUnderlyingVm(n.item),n.item._underlying_vm_=this.clone(this.context.element),bo=n.item},onDragAdd:function(n){var r=n.item._underlying_vm_;if(void 0!==r){w(n.item);var o=this.getVmIndexFromDomIndex(n.newIndex);this.spliceList(o,0,r);var a={element:r,newIndex:o};this.emitChanges({added:a})}},onDragRemove:function(n){if(E(this.$el,n.item,n.oldIndex),"clone"!==n.pullMode){var r=this.context,o=r.index,a=r.element;this.spliceList(o,1);var s={element:a,oldIndex:o};this.emitChanges({removed:s})}else w(n.clone)},onDragUpdate:function(n){w(n.item),E(n.from,n.item,n.oldIndex);var r=this.context.index,o=this.getVmIndexFromDomIndex(n.newIndex);this.updatePosition(r,o);var a={element:this.context.element,oldIndex:r,newIndex:o};this.emitChanges({moved:a})},computeFutureIndex:function(n,r){if(!n.element)return 0;var o=b(r.to.children).filter((function(n){return"none"!==n.style.display})),a=o.indexOf(r.related),s=n.component.getVmIndexFromDomIndex(a);return-1===o.indexOf(bo)&&r.willInsertAfter?s+1:s},onDragMove:function(n,r){var o=this.move,a=this.realList;if(!o||!a)return!0;var s=this.getRelatedContextFromMoveEvent(n),l=this.computeFutureIndex(s,n),c=d(d({},this.context),{},{futureIndex:l});return o(d(d({},n),{},{relatedContext:s,draggedContext:c}),r)},onDragEnd:function(){bo=null}}}),wo=ko;r.default=wo},fb6a:function(n,r,o){var a=o("23e7"),s=o("861d"),l=o("e8b5"),c=o("23cb"),u=o("50c4"),d=o("fc6a"),f=o("8418"),m=o("b622"),g=o("1dde"),b=o("ae40"),S=g("slice"),k=b("slice",{ACCESSORS:!0,0:0,1:2}),w=m("species"),E=[].slice,C=Math.max;a({target:"Array",proto:!0,forced:!S||!k},{slice:function(n,r){var o,a,m,g=d(this),b=u(g.length),S=c(n,b),k=c(void 0===r?b:r,b);if(l(g)&&("function"!=typeof(o=g.constructor)||o!==Array&&!l(o.prototype)?s(o)&&null===(o=o[w])&&(o=void 0):o=void 0,o===Array||void 0===o))return E.call(g,S,k);for(a=new(void 0===o?Array:o)(C(k-S,0)),m=0;S<k;S++,m++)S in g&&f(a,m,g[S]);return a.length=m,a}})},fc6a:function(n,r,o){var a=o("44ad"),s=o("1d80");n.exports=function(n){return a(s(n))}},fdbc:function(n,r){n.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(n,r,o){var a=o("4930");n.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}}).default},vuedraggable_umd$1.exports=n(requireVue(),require$$1)),vuedraggable_umd$1.exports;var n}var vuedraggable_umdExports=requireVuedraggable_umd();const j=getDefaultExportFromCjs(vuedraggable_umdExports),B=(n,r)=>{const o=n.__vccOpts||n;for(const[a,s]of r)o[a]=s;return o},N={name:"TagInput",props:{scope:{type:Object,required:!0}}},R=["maxlength"];function K(n,r,o,a,s,l){return o.scope.edit?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":r[0]||(r[0]=n=>o.scope.element.text=n),maxlength:o.scope.maxlength,type:"text",class:"ti-tag-input",size:"1",onInput:r[1]||(r[1]=n=>o.scope.validateTag(o.scope.index,n)),onBlur:r[2]||(r[2]=n=>o.scope.performCancelEdit(o.scope.index)),onKeydown:r[3]||(r[3]=n=>o.scope.performSaveEdit(o.scope.index,n))},null,40,R)),[[vModelText,o.scope.element.text]]):createCommentVNode("",!0)}const q=B(N,[["render",K],["__scopeId","data-v-a3408643"]]),M=n=>!n.some((n=>{const r=!n.text;r&&console.warn('Missing property "text"',n);let o=!1;return n.classes&&(o="string"!=typeof n.classes),o&&console.warn('Property "classes" must be type of string',n),r||o})),F=n=>!n.some((n=>{if("number"==typeof n){const r=isFinite(n)&&Math.floor(n)===n;return r||console.warn("Only numerics are allowed for this prop. Found:",n),!r}if("string"==typeof n){const r=/\W|[a-z]|!\d/i.test(n);return r||console.warn("Only alpha strings are allowed for this prop. Found:",n),!r}return console.warn("Only numeric and string values are allowed. Found:",n),!1})),z={modelValue:{type:String,default:"",required:!0},tags:{type:Array,default:()=>[],validator:M},autocompleteItems:{type:Array,default:()=>[],validator:M},allowEditTags:{type:Boolean,default:!1},autocompleteFilterDuplicates:{default:!0,type:Boolean},addOnlyFromAutocomplete:{type:Boolean,default:!1},autocompleteMinLength:{type:Number,default:1},autocompleteAlwaysOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Add Tag"},addOnKey:{type:Array,default:()=>[13],validator:F},saveOnKey:{type:Array,default:()=>[13],validator:F},maxTags:{type:Number},maxlength:{type:Number},validation:{type:Array,default:()=>[],validator:n=>!n.some((n=>{const r=!n.rule;r&&console.warn('Property "rule" is missing',n);const o=n.rule&&("string"==typeof n.rule||n.rule instanceof RegExp||"[object Function]"==={}.toString.call(n.rule));o||console.warn("A rule must be type of string, RegExp or function. Found:",JSON.stringify(n.rule));const a=!n.classes;a&&console.warn('Property "classes" is missing',n);const s=n.type&&"string"!=typeof n.type;return s&&console.warn('Property "type" must be type of string. Found:',n),!o||r||a||s}))},separators:{type:Array,default:()=>[";"],validator:n=>!n.some((n=>{const r="string"!=typeof n;return r&&console.warn("Separators must be type of string. Found:",n),r}))},avoidAddingDuplicates:{type:Boolean,default:!0},addOnBlur:{type:Boolean,default:!0},isDuplicate:{type:Function,default:null},addFromPaste:{type:Boolean,default:!0},deleteOnBackspace:{default:!0,type:Boolean},isDraggable:{type:Boolean,default:!1},draggableHandle:{type:Boolean,default:!1},onBeforeAddingTag:Function,onBeforeDeletingTag:Function,onBeforeEditingTag:Function,onBeforeSavingTag:Function};function L(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var U=function n(r,o){if(r===o)return!0;if(r&&o&&"object"==typeof r&&"object"==typeof o){if(r.constructor!==o.constructor)return!1;var a,s,l;if(Array.isArray(r)){if((a=r.length)!=o.length)return!1;for(s=a;0!=s--;)if(!n(r[s],o[s]))return!1;return!0}if(r.constructor===RegExp)return r.source===o.source&&r.flags===o.flags;if(r.valueOf!==Object.prototype.valueOf)return r.valueOf()===o.valueOf();if(r.toString!==Object.prototype.toString)return r.toString()===o.toString();if((a=(l=Object.keys(r)).length)!==Object.keys(o).length)return!1;for(s=a;0!=s--;)if(!Object.prototype.hasOwnProperty.call(o,l[s]))return!1;for(s=a;0!=s--;){var c=l[s];if(!n(r[c],o[c]))return!1}return!0}return r!=r&&o!=o};const H=L(U),J=(n,r)=>r.filter((r=>{const{text:o}=n;return"string"==typeof r.rule?!new RegExp(r.rule).test(o):r.rule instanceof RegExp?!r.rule.test(o):"[object Function]"==={}.toString.call(r.rule)&&r.rule(n)})).map((n=>n.classes)),y=n=>JSON.parse(JSON.stringify(n)),W=(n,r)=>{let o=0;for(;o<n.length;){if(r(n[o],o,n))return o;o++}return-1},V=(n,r,o=[],a)=>{void 0===n.text&&(n={text:n});const s=J(n,o),l=W(r,(r=>r===n)),c=y(r),u=-1!==l?c.splice(l,1)[0]:y(n);return(a?a(c,u):-1!==c.map((n=>n.text)).indexOf(u.text))&&s.push("ti-duplicate"),0===s.length?s.push("ti-valid"):s.push("ti-invalid"),s},v=(n,...r)=>{void 0===n.text&&(n={text:n});const o=y(n);return o.tiClasses=V(n,...r),o},G=(n,...r)=>n.map((o=>v(o,n,...r))),Q={name:"VueTagsInput",components:{TagInput:q,draggable:j},props:z,emits:["adding-duplicate","before-adding-tag","before-deleting-tag","before-editing-tag","before-saving-tag","max-tags-reached","saving-duplicate","tags-changed","tag-clicked","update:modelValue","update:tags","tag-order-changed","click"],inheritAttrs:!1,data:()=>({tagCenter:[],newTag:null,tagsCopy:[],tagsEditStatus:null,deletionMark:null,deletionMarkTime:null,selectedItem:null,focused:null}),computed:{autocompleteOpen(){return!!this.autocompleteAlwaysOpen||null!==this.newTag&&this.newTag.length>=this.autocompleteMinLength&&this.filteredAutocompleteItems.length>0&&this.focused},filteredAutocompleteItems(){const n=this.autocompleteItems.map((n=>v(n,this.tags,this.validation,this.isDuplicate)));return this.autocompleteFilterDuplicates?n.filter(this.duplicateFilter):n}},methods:{createClasses:V,getSelectedIndex(n){const r=this.filteredAutocompleteItems,o=this.selectedItem,a=r.length-1;if(0!==r.length)return null===o?0:"before"===n&&0===o?a:"after"===n&&o===a?0:"after"===n?o+1:o-1},selectDefaultItem(){this.addOnlyFromAutocomplete&&this.filteredAutocompleteItems.length>0?this.selectedItem=0:this.selectedItem=null},selectItem(n,r){n.preventDefault(),this.selectedItem=this.getSelectedIndex(r)},isSelected(n){return this.selectedItem===n},isMarked(n){return this.deletionMark===n},setTagCenter(n){n&&this.tagCenter.push(n)},invokeDelete(){if(!this.deleteOnBackspace||this.newTag.length>0)return;const n=this.tagsCopy.length-1;null===this.deletionMark?(this.deletionMarkTime=setTimeout((()=>{this.deletionMark=null}),1e3),this.deletionMark=n):this.performDeleteTag(n)},addTagsFromPaste(){this.addFromPaste&&setTimeout((()=>this.performAddTags(this.newTag)),10)},performEditTag(n){this.allowEditTags&&(this.onBeforeAddingTag||this.editTag(n),this.$emit("before-editing-tag",{index:n,tag:this.tagsCopy[n],editTag:()=>this.editTag(n)}))},editTag(n){this.allowEditTags&&(this.toggleEditMode(n),this.focus(n))},toggleEditMode(n){!this.allowEditTags||this.disabled||(this.tagsEditStatus[n]=!this.tagsEditStatus[n])},createChangedTag(n,r){const o=this.tagsCopy[n];o.text=r?r.target.value:this.tagsCopy[n].text,this.tagsCopy[n]=v(o,this.tagsCopy,this.validation,this.isDuplicate)},focus(n){this.$nextTick((()=>{const r=this.tagCenter[n].querySelector("input.ti-tag-input");r&&r.focus()}))},quote:n=>n.replace(/([()[{*+.$^\\|?])/g,"\\$1"),cancelEdit(n){this.tags[n]&&(this.tagsCopy[n]=y(v(this.tags[n],this.tags,this.validation,this.isDuplicate)),this.tagsEditStatus[n]=!1)},hasForbiddingAddRule(n){return n.some((n=>{const r=this.validation.find((r=>n===r.classes));return!!r&&r.disableAdd}))},createTagTexts(n){const r=new RegExp(this.separators.map((n=>this.quote(n))).join("|"));return n.split(r).map((n=>({text:n})))},performDeleteTag(n){this.onBeforeDeletingTag||this.deleteTag(n),this.$emit("before-deleting-tag",{index:n,tag:this.tagsCopy[n],deleteTag:()=>this.deleteTag(n)})},deleteTag(n){this.disabled||(this.deletionMark=null,clearTimeout(this.deletionMarkTime),this.tagsCopy.splice(n,1),this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},noTriggerKey(n,r){const o=-1!==this[r].indexOf(n.keyCode)||-1!==this[r].indexOf(n.key);return o&&n.preventDefault(),!o},performAddTags(n,r,o){if(this.disabled||r&&this.noTriggerKey(r,"addOnKey"))return;let a=[];"object"==typeof n&&(a=[n]),"string"==typeof n&&(a=this.createTagTexts(n)),a=a.filter((n=>n.text.trim().length>0)),a.forEach((n=>{n=v(n,this.tags,this.validation,this.isDuplicate),this.onBeforeAddingTag||this.addTag(n,o),this.$emit("before-adding-tag",{tag:n,addTag:()=>this.addTag(n,o)})}))},duplicateFilter(n){return this.isDuplicate?!this.isDuplicate(this.tagsCopy,n):!this.tagsCopy.find((r=>r.text===n.text))},addTag(n,r="new-tag-input"){const o=this.filteredAutocompleteItems.map((n=>n.text));this.addOnlyFromAutocomplete&&-1===o.indexOf(n.text)||this.$nextTick((()=>this.maxTags&&this.maxTags<=this.tagsCopy.length?this.$emit("max-tags-reached",n):this.avoidAddingDuplicates&&!this.duplicateFilter(n)?this.$emit("adding-duplicate",n):void(this.hasForbiddingAddRule(n.tiClasses)||(this.newTag="",this.tagsCopy.push(n),this.$emit("update:tags",this.tagsCopy),"autocomplete"===r&&this.$refs.newTagInput.focus(),this.$emit("tags-changed",this.tagsCopy)))))},performSaveTag(n,r){const o=this.tagsCopy[n];this.disabled||r&&this.noTriggerKey(r,"addOnKey")||0!==o.text.trim().length&&(this["on-before-saving-tag"]||this.saveTag(n,o),this.$emit("before-saving-tag",{index:n,tag:o,saveTag:()=>this.saveTag(n,o)}))},saveTag(n,r){if(this.avoidAddingDuplicates){const o=y(this.tagsCopy),a=o.splice(n,1)[0];if(this.isDuplicate?this.isDuplicate(o,a):-1!==o.map((n=>n.text)).indexOf(a.text))return this.$emit("saving-duplicate",r)}this.hasForbiddingAddRule(r.tiClasses)||(this.tagsCopy[n]=r,this.toggleEditMode(n),this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},tagsEqual(){return!this.tagsCopy.some(((n,r)=>!H(n,this.tags[r])))},updateNewTag(n){const r=n.target.value;this.newTag=r,this.$emit("update:modelValue",r)},initTags(){this.tagsCopy=G(this.tags,this.validation,this.isDuplicate),this.tagsEditStatus=y(this.tags).map((()=>!1)),this.tagsEqual()||this.$emit("update:tags",this.tagsCopy)},blurredOnClick(n){this.$el.contains(n.target)||this.$el.contains(document.activeElement)||this.performBlur(n)},performBlur(){this.addOnBlur&&this.focused&&this.performAddTags(this.newTag),this.focused=!1},tagOrderChanged(){this.$emit("tag-order-changed",this.tagsCopy)},performClick(n){if(this.addOnlyFromAutocomplete)return this.$emit("click",n),!1;this.selectedItem=null,this.$emit("click",n)},getTagIndex(n){return this.tagsCopy.findIndex((r=>r.text===n.text))}},watch:{modelValue(n){this.addOnlyFromAutocomplete||(this.selectedItem=null),this.newTag=n},tags:{handler(){this.initTags()},deep:!0},autocompleteOpen:"selectDefaultItem"},created(){this.newTag=this.modelValue,this.initTags()},mounted(){this.selectDefaultItem(),document.addEventListener("click",this.blurredOnClick)},beforeUpdate(){this.tagCenter=[]},unmounted(){document.removeEventListener("click",this.blurredOnClick)}},X={class:"ti-input"},Y=["onClick"],Z={class:"ti-content"},_={key:0,class:"handle"},x={key:1,class:"ti-tag-left"},ee=["onClick"],te={key:2,class:"ti-tag-right"},se={class:"ti-actions"},ae$1=["onClick"],ie$1=["onClick"],re$1={class:"ti-new-tag-input-wrapper"},oe$1=["placeholder","value","maxlength","disabled"],le$1={key:1,class:"ti-tags"},ne=["onClick"],de$1={class:"ti-content"},ue$1={key:0,class:"ti-tag-left"},ge$1=["onClick"],pe$1={key:1,class:"ti-tag-right"},fe$1={class:"ti-actions"},me$1=["onClick"],he$1=["onClick"],ce$1={class:"ti-new-tag-input-wrapper"},ye$1=["placeholder","value","maxlength","disabled"],Te$1=["onMouseover"],ve$1=["onClick"];function ke$1(n,r,o,a,s,l){const c=resolveComponent("tag-input"),u=resolveComponent("draggable");return openBlock(),createElementBlock("div",{class:normalizeClass(["vue-tags-input",[{"ti-disabled":n.disabled},{"ti-focus":n.focused},n.$attrs.class]]),style:normalizeStyle(n.$attrs.style)},[createBaseVNode("div",X,[n.isDraggable?(openBlock(),createBlock(u,{key:0,modelValue:n.tagsCopy,"onUpdate:modelValue":r[9]||(r[9]=r=>n.tagsCopy=r),group:"tags",class:"ti-tags",tag:"ul",draggable:".item",handle:n.draggableHandle?".handle":"","ghost-class":"ghost-tag","drag-class":"drag-tag","item-key":n.getTagIndex,onStart:r[10]||(r[10]=r=>n.drag=!0),onEnd:r[11]||(r[11]=r=>{n.drag=!1,n.tagOrderChanged()})},{item:withCtx((({element:r,index:o})=>[(openBlock(),createElementBlock("li",{key:o,style:normalizeStyle(r.style),class:normalizeClass([[{"ti-editing":n.tagsEditStatus[o]},r.tiClasses,r.classes,{"ti-deletion-mark":n.isMarked(o)}],"ti-tag item"]),tabindex:"0",onClick:a=>n.$emit("tag-clicked",{element:r,index:o})},[createBaseVNode("div",Z,[n.draggableHandle?(openBlock(),createElementBlock("span",_,"::")):createCommentVNode("",!0),n.$slots["tag-left"]?(openBlock(),createElementBlock("div",x,[renderSlot(n.$slots,"tag-left",{tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)])):createCommentVNode("",!0),createBaseVNode("div",{ref:n.setTagCenter,class:"ti-tag-center"},[n.$slots["tag-center"]?createCommentVNode("",!0):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass({"ti-hidden":n.tagsEditStatus[o]}),onClick:r=>n.performEditTag(o)},toDisplayString(r.text),11,ee)),n.$slots["tag-center"]?createCommentVNode("",!0):(openBlock(),createBlock(c,{key:1,scope:{edit:n.tagsEditStatus[o],maxlength:n.maxlength,element:r,index:o,validateTag:n.createChangedTag,performCancelEdit:n.cancelEdit,performSaveEdit:n.performSaveTag}},null,8,["scope"])),renderSlot(n.$slots,"tag-center",{tag:r,index:o,maxlength:n.maxlength,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,validateTag:n.createChangedTag,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)],512),n.$slots["tag-right"]?(openBlock(),createElementBlock("div",te,[renderSlot(n.$slots,"tag-right",{tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)])):createCommentVNode("",!0)]),createBaseVNode("div",se,[n.$slots["tag-actions"]?createCommentVNode("",!0):withDirectives((openBlock(),createElementBlock("i",{key:0,class:"ti-icon-undo",onClick:r=>n.cancelEdit(o)},null,8,ae$1)),[[vShow,n.tagsEditStatus[o]]]),n.$slots["tag-actions"]?createCommentVNode("",!0):withDirectives((openBlock(),createElementBlock("i",{key:1,class:"ti-icon-close",onClick:r=>n.performDeleteTag(o)},null,8,ie$1)),[[vShow,!n.tagsEditStatus[o]]]),n.$slots["tag-actions"]?renderSlot(n.$slots,"tag-actions",{key:2,tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0):createCommentVNode("",!0)])],14,Y))])),footer:withCtx((()=>[createBaseVNode("li",re$1,[createBaseVNode("input",mergeProps({ref:"newTagInput"},n.$attrs,{class:[[n.createClasses(n.newTag,n.tags,n.validation,n.isDuplicate)],"ti-new-tag-input"],placeholder:n.placeholder,value:n.newTag,maxlength:n.maxlength,disabled:n.disabled,type:"text",size:"1",onKeydown:[r[0]||(r[0]=r=>n.performAddTags(n.filteredAutocompleteItems[n.selectedItem]||n.newTag,r)),r[2]||(r[2]=withKeys(((...r)=>n.invokeDelete&&n.invokeDelete(...r)),["delete"])),r[3]||(r[3]=withKeys(((...r)=>n.performBlur&&n.performBlur(...r)),["tab"])),r[4]||(r[4]=withKeys((r=>n.selectItem(r,"before")),["up"])),r[5]||(r[5]=withKeys((r=>n.selectItem(r,"after")),["down"]))],onPaste:r[1]||(r[1]=(...r)=>n.addTagsFromPaste&&n.addTagsFromPaste(...r)),onInput:r[6]||(r[6]=(...r)=>n.updateNewTag&&n.updateNewTag(...r)),onFocus:r[7]||(r[7]=r=>n.focused=!0),onClick:r[8]||(r[8]=r=>n.performClick(r))}),null,16,oe$1)])])),_:3},8,["modelValue","handle","item-key"])):(openBlock(),createElementBlock("ul",le$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.tagsCopy,((r,o)=>(openBlock(),createElementBlock("li",{key:o,style:normalizeStyle(r.style),class:normalizeClass([[{"ti-editing":n.tagsEditStatus[o]},r.tiClasses,r.classes,{"ti-deletion-mark":n.isMarked(o)}],"ti-tag item"]),tabindex:"0",onClick:a=>n.$emit("tag-clicked",{element:r,index:o})},[createBaseVNode("div",de$1,[n.$slots["tag-left"]?(openBlock(),createElementBlock("div",ue$1,[renderSlot(n.$slots,"tag-left",{tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)])):createCommentVNode("",!0),createBaseVNode("div",{ref_for:!0,ref:n.setTagCenter,class:"ti-tag-center"},[n.$slots["tag-center"]?createCommentVNode("",!0):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass({"ti-hidden":n.tagsEditStatus[o]}),onClick:r=>n.performEditTag(o)},toDisplayString(r.text),11,ge$1)),n.$slots["tag-center"]?createCommentVNode("",!0):(openBlock(),createBlock(c,{key:1,scope:{edit:n.tagsEditStatus[o],maxlength:n.maxlength,element:r,index:o,validateTag:n.createChangedTag,performCancelEdit:n.cancelEdit,performSaveEdit:n.performSaveTag}},null,8,["scope"])),renderSlot(n.$slots,"tag-center",{tag:r,index:o,maxlength:n.maxlength,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,validateTag:n.createChangedTag,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)],512),n.$slots["tag-right"]?(openBlock(),createElementBlock("div",pe$1,[renderSlot(n.$slots,"tag-right",{tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0)])):createCommentVNode("",!0)]),createBaseVNode("div",fe$1,[n.$slots["tag-actions"]?createCommentVNode("",!0):withDirectives((openBlock(),createElementBlock("i",{key:0,class:"ti-icon-undo",onClick:r=>n.cancelEdit(o)},null,8,me$1)),[[vShow,n.tagsEditStatus[o]]]),n.$slots["tag-actions"]?createCommentVNode("",!0):withDirectives((openBlock(),createElementBlock("i",{key:1,class:"ti-icon-close",onClick:r=>n.performDeleteTag(o)},null,8,he$1)),[[vShow,!n.tagsEditStatus[o]]]),n.$slots["tag-actions"]?renderSlot(n.$slots,"tag-actions",{key:2,tag:r,index:o,edit:n.tagsEditStatus[o],performSaveEdit:n.performSaveTag,performDelete:n.performDeleteTag,performCancelEdit:n.cancelEdit,performOpenEdit:n.performEditTag,deletionMark:n.isMarked(o)},void 0,!0):createCommentVNode("",!0)])],14,ne)))),128)),createBaseVNode("li",ce$1,[createBaseVNode("input",mergeProps({ref:"newTagInput"},n.$attrs,{class:[[n.createClasses(n.newTag,n.tags,n.validation,n.isDuplicate)],"ti-new-tag-input"],placeholder:n.placeholder,value:n.newTag,maxlength:n.maxlength,disabled:n.disabled,type:"text",size:"1",onKeydown:[r[12]||(r[12]=r=>n.performAddTags(n.filteredAutocompleteItems[n.selectedItem]||n.newTag,r)),r[14]||(r[14]=withKeys(((...r)=>n.invokeDelete&&n.invokeDelete(...r)),["delete"])),r[15]||(r[15]=withKeys(((...r)=>n.performBlur&&n.performBlur(...r)),["tab"])),r[16]||(r[16]=withKeys((r=>n.selectItem(r,"before")),["up"])),r[17]||(r[17]=withKeys((r=>n.selectItem(r,"after")),["down"]))],onPaste:r[13]||(r[13]=(...r)=>n.addTagsFromPaste&&n.addTagsFromPaste(...r)),onInput:r[18]||(r[18]=(...r)=>n.updateNewTag&&n.updateNewTag(...r)),onFocus:r[19]||(r[19]=r=>n.focused=!0),onClick:r[20]||(r[20]=r=>n.performClick(r))}),null,16,ye$1)])]))]),renderSlot(n.$slots,"between-elements",{},void 0,!0),n.autocompleteOpen?(openBlock(),createElementBlock("div",{key:0,class:"ti-autocomplete",onMouseout:r[21]||(r[21]=r=>n.selectedItem=null)},[renderSlot(n.$slots,"autocomplete-header",{},void 0,!0),createBaseVNode("ul",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.filteredAutocompleteItems,((r,o)=>(openBlock(),createElementBlock("li",{key:o,style:normalizeStyle(r.style),class:normalizeClass([[r.tiClasses,r.classes,{"ti-selected-item":n.isSelected(o)}],"ti-item"]),onMouseover:r=>!n.disabled&&(n.selectedItem=o)},[n.$slots["autocomplete-item"]?renderSlot(n.$slots,"autocomplete-item",{key:1,item:r,index:o,performAdd:r=>n.performAddTags(r,void 0,"autocomplete"),selected:n.isSelected(o)},void 0,!0):(openBlock(),createElementBlock("div",{key:0,onClick:o=>n.performAddTags(r,void 0,"autocomplete")},toDisplayString(r.text),9,ve$1))],46,Te$1)))),128))]),renderSlot(n.$slots,"autocomplete-footer",{},void 0,!0)],32)):createCommentVNode("",!0)],6)}const $=B(Q,[["render",ke$1],["__scopeId","data-v-63864685"]]);$.install=n=>n.component($.name,$),typeof window<"u"&&window.Vue&&window.Vue.use($);var e=Object.defineProperty,t=(n,r,o)=>{return l=o,(s="symbol"!=typeof r?r+"":r)in(a=n)?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[s]=l;var a,s,l};const re=defineComponent$1({name:"HeatMap",props:{activityRecords:{type:Array,default:()=>[]},activityRecordsGetter:{type:Function,default:null},inactiveColor:{type:Object,default:()=>({h:0,s:0,l:.9})},activeColor:{type:Object,default:()=>({h:155,s:1,l:.5})},cellSize:{type:Number,default:12},cellMargin:{type:Number,default:3},enableSeasonalColors:{type:Boolean,default:!0}},data:()=>({isLoading:!1,localActivityRecords:[],heatmapData:{},weeks:[],tooltipData:null,tooltipStyle:{},maxInRange:0}),computed:{width(){return 53*(this.cellSize+this.cellMargin)},height(){return 7*(this.cellSize+this.cellMargin)},effectiveActivityRecords(){const n=Array.isArray(this.localActivityRecords)&&this.localActivityRecords.length>0,r=n?this.localActivityRecords:this.activityRecords||[];return console.log("Using effectiveActivityRecords, count:",r.length,"source:",n?"local":"prop"),r}},watch:{activityRecords:{handler(){this.processRecords(),this.createWeeksData()},immediate:!0}},async created(){if(this.activityRecordsGetter)try{this.isLoading=!0,console.log("Fetching activity records using getter...");let n=await this.activityRecordsGetter();Array.isArray(n)?(this.localActivityRecords=n.filter((n=>{if(!n||!n.timeStamp)return!1;try{const r=hooks(n.timeStamp);return r.isValid()&&r.year()>2e3&&r.year()<2100}catch(r){return!1}})),console.log(`Received ${n.length} records, ${this.localActivityRecords.length} valid after filtering`),this.processRecords(),this.createWeeksData()):(console.error("Activity records getter did not return an array:",n),this.localActivityRecords=[])}catch(e3){console.error("Error fetching activity records:",e3),this.localActivityRecords=[]}finally{this.isLoading=!1}else console.log("No activityRecordsGetter provided, using direct activityRecords prop")},methods:{toDateString(n){const r=hooks(n);return hooks.months()[r.month()]+" "+r.date()},processRecords(){const n=this.effectiveActivityRecords||[];console.log(`Processing ${n.length} records`);const r={};if(0===n.length)return console.log("No records to process"),void(this.heatmapData=r);const o=new Set,a={};let s=0,l=0;for(let u=0;u<n.length;u++){const d=n[u];if(d&&"object"==typeof d&&d.timeStamp)try{let n;if("string"==typeof d.timeStamp)n=hooks(d.timeStamp).format("YYYY-MM-DD");else if("number"==typeof d.timeStamp)n=hooks(new Date(d.timeStamp)).format("YYYY-MM-DD");else{if("object"!=typeof d.timeStamp){l++;continue}n="function"==typeof d.timeStamp.format?d.timeStamp.format("YYYY-MM-DD"):d.timeStamp instanceof Date?hooks(d.timeStamp).format("YYYY-MM-DD"):hooks(String(d.timeStamp)).format("YYYY-MM-DD")}if(hooks(n,"YYYY-MM-DD",!0).isValid()){r[n]=(r[n]||0)+1,o.add(n);const l=n.substring(0,7);a[l]=(a[l]||0)+1,s++}else l++}catch(c){l++}else l++}console.log(`Processed ${s} valid dates, ${l} invalid dates`),console.log(`Found ${o.size} unique dates`),console.log("Date distribution by month:",a),this.heatmapData=r},createWeeksData(){this.weeks=[],this.maxInRange=0;const n=hooks(),r=n.clone().subtract(52,"weeks"),o=r.clone().startOf("week");console.log("Creating weeks data from",r.format("YYYY-MM-DD"),"to",n.format("YYYY-MM-DD")),0===Object.keys(this.heatmapData).length&&console.log("No heatmap data available to display");const a=Object.keys(this.heatmapData).slice(0,5);for(console.log("Sample dates in heatmap data:",a);o.isSameOrBefore(n);){const n=[];for(let r=0;r<7;r++){const r=o.format("YYYY-MM-DD"),a={date:r,count:this.heatmapData[r]||0};n.push(a),a.count>this.maxInRange&&(this.maxInRange=a.count),o.add(1,"day")}this.weeks.push(n)}console.log("Weeks data created, maxInRange:",this.maxInRange);let s=0,l=0;Object.values(this.heatmapData).forEach((n=>{s++,l+=n})),console.log(`Activity summary: ${l} activities across ${s} days`)},getColor(n){if(0===this.maxInRange)return this.hslToString(this.inactiveColor);const r=0===n?0:Math.min(2*n/this.maxInRange,1);let o=this.activeColor;if(this.enableSeasonalColors){const n=hooks();11===n.month()&&n.date()>=5?o=Math.random()>.5?{h:350,s:.8,l:.5}:{h:135,s:.8,l:.4}:9===n.month()&&n.date()>=25&&(o=Math.random()>.5?{h:0,s:0,l:0}:Math.random()>.5?{h:30,s:1,l:.5}:{h:270,s:1,l:.5})}const a=o.h,s=this.interpolate(this.inactiveColor.s,o.s,r),l=this.interpolate(this.inactiveColor.l,o.l,r);return this.hslToString({h:a,s:s,l:l})},interpolate:(n,r,o)=>n+(r-n)*o,hslToString:n=>`hsl(${n.h}, ${100*n.s}%, ${100*n.l}%)`,showTooltip(n,r){this.tooltipData=n,this.tooltipStyle={position:"absolute",left:`${r.pageX+10}px`,top:`${r.pageY+10}px`}},hideTooltip(){this.tooltipData=null}}}),ie=(n,r)=>{const o=n.__vccOpts||n;for(const[a,s]of r)o[a]=s;return o},ae=["width","height"],oe=["transform"],le=["y","width","height","fill","onMouseover"],ce=ie(re,[["render",function(n,r,o,a,s,l){return openBlock(),createElementBlock("div",null,[(openBlock(),createElementBlock("svg",{width:n.width,height:n.height},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.weeks,((o,a)=>(openBlock(),createElementBlock("g",{key:a,transform:`translate(${a*(n.cellSize+n.cellMargin)}, 0)`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(o,((o,a)=>(openBlock(),createElementBlock("rect",{key:o.date,x:0,y:a*(n.cellSize+n.cellMargin),width:n.cellSize,height:n.cellSize,fill:n.getColor(o.count),onMouseover:r=>n.showTooltip(o,r),onMouseout:r[0]||(r[0]=(...r)=>n.hideTooltip&&n.hideTooltip(...r))},null,40,le)))),128))],8,oe)))),128))],8,ae)),n.tooltipData?(openBlock(),createElementBlock("div",{key:0,class:"tooltip",style:normalizeStyle(n.tooltipStyle)},toDisplayString(n.tooltipData.count)+" review"+toDisplayString(1!==n.tooltipData.count?"s":"")+" on "+toDisplayString(n.toDateString(n.tooltipData.date)),5)):createCommentVNode("",!0)])}],["__scopeId","data-v-ca46239a"]]);function de(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ue,he,pe={exports:{}};const ge=de((ue||(ue=1,he=pe,function(n,r){if(n){for(var o,a={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},s={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},l={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},c={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},u=1;u<20;++u)a[111+u]="f"+u;for(u=0;u<=9;++u)a[u+96]=u.toString();k.prototype.bind=function(n,r,o){var a=this;return n=n instanceof Array?n:[n],a._bindMultiple.call(a,n,r,o),a},k.prototype.unbind=function(n,r){return this.bind.call(this,n,(function(){}),r)},k.prototype.trigger=function(n,r){var o=this;return o._directMap[n+":"+r]&&o._directMap[n+":"+r]({},n),o},k.prototype.reset=function(){var n=this;return n._callbacks={},n._directMap={},n},k.prototype.stopCallback=function(n,r){if((" "+r.className+" ").indexOf(" mousetrap ")>-1)return!1;if(S(r,this.target))return!1;if("composedPath"in n&&"function"==typeof n.composedPath){var o=n.composedPath()[0];o!==n.target&&(r=o)}return"INPUT"==r.tagName||"SELECT"==r.tagName||"TEXTAREA"==r.tagName||r.isContentEditable},k.prototype.handleKey=function(){return this._handleKey.apply(this,arguments)},k.addKeycodes=function(n){for(var r in n)n.hasOwnProperty(r)&&(a[r]=n[r]);o=null},k.init=function(){var n=k(r);for(var o in n)"_"!==o.charAt(0)&&(k[o]=function(r){return function(){return n[r].apply(n,arguments)}}(o))},k.init(),n.Mousetrap=k,he.exports&&(he.exports=k)}function d(n,r,o){n.addEventListener?n.addEventListener(r,o,!1):n.attachEvent("on"+r,o)}function f(n){if("keypress"==n.type){var r=String.fromCharCode(n.which);return n.shiftKey||(r=r.toLowerCase()),r}return a[n.which]?a[n.which]:s[n.which]?s[n.which]:String.fromCharCode(n.which).toLowerCase()}function m(n){return"shift"==n||"ctrl"==n||"alt"==n||"meta"==n}function g(n,r,s){return s||(s=function(){if(!o)for(var n in o={},a)n>95&&n<112||a.hasOwnProperty(n)&&(o[a[n]]=n);return o}()[n]?"keydown":"keypress"),"keypress"==s&&r.length&&(s="keydown"),s}function b(n,r){var o,a,s,u,d=[];for(o="+"===(u=n)?["+"]:(u=u.replace(/\+{2}/g,"+plus")).split("+"),s=0;s<o.length;++s)a=o[s],c[a]&&(a=c[a]),r&&"keypress"!=r&&l[a]&&(a=l[a],d.push("shift")),m(a)&&d.push(a);return{key:a,modifiers:d,action:r=g(a,d,r)}}function S(n,o){return null!==n&&n!==r&&(n===o||S(n.parentNode,o))}function k(n){var o=this;if(n=n||r,!(o instanceof k))return new k(n);o.target=n,o._callbacks={},o._directMap={};var a,s={},l=!1,c=!1,u=!1;function g(n){n=n||{};var r,o=!1;for(r in s)n[r]?o=!0:s[r]=0;o||(u=!1)}function S(n,r,a,l,c,u){var d,f,g,b,S=[],k=a.type;if(!o._callbacks[n])return[];for("keyup"==k&&m(n)&&(r=[n]),d=0;d<o._callbacks[n].length;++d)if(f=o._callbacks[n][d],(l||!f.seq||s[f.seq]==f.level)&&k==f.action&&("keypress"==k&&!a.metaKey&&!a.ctrlKey||(g=r,b=f.modifiers,g.sort().join(",")===b.sort().join(",")))){var w=!l&&f.combo==c,E=l&&f.seq==l&&f.level==u;(w||E)&&o._callbacks[n].splice(d,1),S.push(f)}return S}function w(n,r,a,s){var l;o.stopCallback(r,r.target||r.srcElement,a,s)||!1===n(r,a)&&((l=r).preventDefault?l.preventDefault():l.returnValue=!1,function(n){n.stopPropagation?n.stopPropagation():n.cancelBubble=!0}(r))}function E(n){"number"!=typeof n.which&&(n.which=n.keyCode);var r,a,s=f(n);s&&("keyup"!=n.type||l!==s?o.handleKey(s,(a=[],(r=n).shiftKey&&a.push("shift"),r.altKey&&a.push("alt"),r.ctrlKey&&a.push("ctrl"),r.metaKey&&a.push("meta"),a),n):l=!1)}function C(n,r,c,d,m){o._directMap[n+":"+c]=r;var k,E=(n=n.replace(/\s+/g," ")).split(" ");E.length>1?function(n,r,o,c){function d(r){return function(){u=r,++s[n],clearTimeout(a),a=setTimeout(g,1e3)}}function m(r){w(o,r,n),"keyup"!==c&&(l=f(r)),setTimeout(g,10)}s[n]=0;for(var S=0;S<r.length;++S){var k=S+1===r.length?m:d(c||b(r[S+1]).action);C(r[S],k,c,n,S)}}(n,E,r,c):(k=b(n,c),o._callbacks[k.key]=o._callbacks[k.key]||[],S(k.key,k.modifiers,{type:k.action},d,n,m),o._callbacks[k.key][d?"unshift":"push"]({callback:r,modifiers:k.modifiers,action:k.action,seq:d,level:m,combo:n}))}o._handleKey=function(n,r,o){var a,s=S(n,r,o),l={},d=0,f=!1;for(a=0;a<s.length;++a)s[a].seq&&(d=Math.max(d,s[a].level));for(a=0;a<s.length;++a)if(s[a].seq){if(s[a].level!=d)continue;f=!0,l[s[a].seq]=1,w(s[a].callback,o,s[a].combo,s[a].seq)}else f||w(s[a].callback,o,s[a].combo);var b="keypress"==o.type&&c;o.type!=u||m(n)||b||g(l),c=f&&"keydown"==o.type},o._bindMultiple=function(n,r,o){for(var a=0;a<n.length;++a)C(n[a],r,o)},d(n,"keypress",E),d(n,"keydown",E),d(n,"keyup",E)}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)),pe.exports));var me;me||(me=1,function(n){if(n){var r={},o=n.prototype.stopCallback;n.prototype.stopCallback=function(n,a,s,l){return!!this.paused||!r[s]&&!r[l]&&o.call(this,n,a,s)},n.prototype.bindGlobal=function(n,o,a){if(this.bind(n,o,a),n instanceof Array)for(var s=0;s<n.length;s++)r[n[s]]=!0;else r[n]=!0},n.init()}}("undefined"!=typeof Mousetrap?Mousetrap:void 0));const fe=class _SkldrMouseTrap{constructor(){t(this,"mouseTrap"),t(this,"hotkeys"),this.mouseTrap=new ge,this.hotkeys=[]}static get commands(){return _SkldrMouseTrap.instance().hotkeys.map((n=>({command:n.command,hotkey:n.hotkey})))}static addBinding(n){const r=Array.isArray(n)?n:[n],o=_SkldrMouseTrap.instance();o.hotkeys=[...o.hotkeys,...r],r.forEach((n=>{ge.bindGlobal(n.hotkey,((r,o)=>{!function(){const n=document.activeElement;return(!(n instanceof HTMLInputElement)||"checkbox"!==n.type&&"radio"!==n.type)&&n instanceof HTMLElement&&("INPUT"===n.tagName||"TEXTAREA"===n.tagName||"SELECT"===n.tagName||n.isContentEditable)}()?n.callback(r,o):console.log(`Ignoring hotkey ${n.hotkey} while input element is focused`)}))}))}static removeBinding(n){const r=_SkldrMouseTrap.instance(),o=[...r.hotkeys];Array.isArray(n)&&!n.every((n=>"string"==typeof n||"number"==typeof n))?n.forEach((n=>{r.hotkeys=r.hotkeys.filter((r=>JSON.stringify(r.hotkey)!==JSON.stringify(n))),ge.unbind(n)})):(r.hotkeys=o.filter((r=>JSON.stringify(r.hotkey)!==JSON.stringify(n))),ge.unbind(n))}static reset(){console.warn("SkldrMouseTrap.reset() may affect hotkeys registered by other components. Consider using removeBinding() with specific hotkeys for better component isolation."),ge.reset(),_SkldrMouseTrap.instance().mouseTrap.reset(),_SkldrMouseTrap.instance().hotkeys=[]}static instance(){return _SkldrMouseTrap._instance||(_SkldrMouseTrap._instance=new _SkldrMouseTrap),_SkldrMouseTrap._instance}};t(fe,"_instance");let be=fe;const ye=defineComponent$1({name:"SkMouseTrap",props:{refreshInterval:{type:Number,default:500}},data:()=>({commands:[],display:!1,intervalId:null}),created(){this.intervalId=window.setInterval(this.refreshState,this.refreshInterval)},beforeUnmount(){null!==this.intervalId&&clearInterval(this.intervalId)},methods:{refreshState(){this.commands=be.commands,this.display=this.commands.length>0}}}),ke={class:"text-caption ml-2"},ve=ie(ye,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-icon"),u=resolveComponent("v-btn"),d=resolveComponent("v-toolbar-title"),f=resolveComponent("v-toolbar"),m=resolveComponent("v-spacer"),g=resolveComponent("v-list-item"),b=resolveComponent("v-list"),S=resolveComponent("v-card"),k=resolveComponent("v-dialog");return n.display?(openBlock(),createBlock(k,{key:0,"max-width":"500px",transition:"dialog-transition"},{activator:withCtx((({props:n})=>[createVNode(u,mergeProps({icon:"",color:"primary"},n),{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("mdi-keyboard")]))),_:1})])),_:2},1040)])),default:withCtx((()=>[createVNode(S,null,{default:withCtx((()=>[createVNode(f,{color:"secondary",dark:"",dense:""},{default:withCtx((()=>[createVNode(d,{class:"text-subtitle-1"},{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("Shortcut keys:")]))),_:1})])),_:1}),createVNode(b,{dense:""},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.commands,(n=>(openBlock(),createBlock(g,{key:Array.isArray(n.hotkey)?n.hotkey.join(","):n.hotkey,class:"py-1"},{default:withCtx((()=>[createVNode(u,{variant:"outlined",color:"primary",class:"text-white",size:"small"},{default:withCtx((()=>[createTextVNode(toDisplayString(Array.isArray(n.hotkey)?n.hotkey[0]:n.hotkey),1)])),_:2},1024),createVNode(m),createBaseVNode("span",ke,toDisplayString(n.command),1)])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})):createCommentVNode("",!0)}]]),we=ie(defineComponent$1({name:"SkMouseTrapToolTip",props:{hotkey:{type:[String,Array],required:!0},command:{type:String,required:!0},disabled:{type:Boolean,default:!1},position:{type:String,default:"top"},showTooltip:{type:Boolean,default:!0},highlightEffect:{type:String,default:"glow"}},emits:["hotkey-triggered"],setup(n,{emit:r}){const o=ref(null),a=ref(!1);ref(`hotkey-${Math.random().toString(36).substring(2,15)}`);const s=computed((()=>{const r=Array.isArray(n.hotkey)?n.hotkey[0]:n.hotkey;return r.includes(" ")?r.toLowerCase().split(" ").map((n=>n.charAt(0)+n.slice(1))).join(", "):r.toLowerCase().split("+").map((n=>n.charAt(0).toUpperCase()+n.slice(1))).join(" + ")}));watch((()=>a.value),(r=>{if(!o.value||n.disabled)return;const a=o.value.querySelector('button, a, input[type="button"], [role="button"]');a&&(a.style.transition="all 250ms ease",r&&"none"!==n.highlightEffect?a.style.filter="brightness(1.1)":a.style.filter="")}));const l=n=>{"Control"===n.key&&(a.value=!0)},c=n=>{"Control"===n.key&&(a.value=!1)},u=()=>{if(n.disabled||!o.value)return;let a=o.value.querySelector('button, a, input[type="button"], [role="button"]');if(a||(a=o.value.querySelector("v-list-item, .v-list-item, router-link, .router-link, a, [to]")),a||!o.value.hasAttribute("to")&&"A"!==o.value.tagName&&!o.value.classList.contains("v-list-item")||(a=o.value),!a){const n=o.value.closest("v-list-item, .v-list-item, a, [to]");n&&(a=n)}if(a)if(a.hasAttribute("to")){const o=a.getAttribute("to");if(o&&window.location.pathname!==o){const n=window.$nuxt?.$router||window.$router;n&&"function"==typeof n.push?n.push(o):window.location.pathname=o}r("hotkey-triggered",n.hotkey)}else a.click(),r("hotkey-triggered",n.hotkey);else console.log("No clickable element found for hotkey",n.hotkey),r("hotkey-triggered",n.hotkey)},d=()=>{n.disabled||be.addBinding({hotkey:n.hotkey,command:n.command,callback:u})},f=()=>{n.disabled||be.removeBinding(n.hotkey)};return watch((()=>n.disabled),(n=>{n?f():d()})),onMounted((()=>{document.addEventListener("keydown",l),document.addEventListener("keyup",c),d()})),onBeforeUnmount((()=>{document.removeEventListener("keydown",l),document.removeEventListener("keyup",c),f()})),{wrapperElement:o,isControlKeyPressed:a,formattedHotkey:s}}}),[["render",function(n,r,o,a,s,l){return openBlock(),createElementBlock("div",{class:normalizeClass(["sk-mousetrap-tooltip-wrapper",[n.isControlKeyPressed&&!n.disabled&&"none"!==n.highlightEffect?`sk-mousetrap-highlight-${n.highlightEffect}`:""]]),ref:"wrapperElement"},[renderSlot(n.$slots,"default",{},void 0,!0),createVNode(Transition,{name:"fade"},{default:withCtx((()=>[n.showTooltip&&n.isControlKeyPressed&&!n.disabled?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["sk-mousetrap-tooltip",{"sk-mt-tooltip-top":"top"===n.position,"sk-mt-tooltip-bottom":"bottom"===n.position,"sk-mt-tooltip-left":"left"===n.position,"sk-mt-tooltip-right":"right"===n.position}])},toDisplayString(n.formattedHotkey),3)):createCommentVNode("",!0)])),_:1})],2)}],["__scopeId","data-v-5d6fb09c"]]),xe=(()=>{let n=null;return{setInstance(r){n=r},getInstance:()=>n,alertUser(r){n?n.addSnack(r):console.error("SnackbarService not found")}}})(),{setInstance:_e,alertUser:Se}=xe,Ce=defineComponent$1({name:"SnackbarService",data:()=>({snacks:[],show:[]}),mounted(){_e(this)},methods:{addSnack(n){this.snacks.push(n),this.show.push(!0)},close(){this.show.pop(),this.show.push(!1)},getColor:n=>n.status===Status.ok?"success":n.status===Status.error?"error":n.status===Status.warning?"yellow":void 0}}),Ee={class:"d-flex align-center justify-space-between w-100"},Re=ie(Ce,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-icon"),u=resolveComponent("v-btn"),d=resolveComponent("v-snackbar");return openBlock(),createElementBlock("div",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.snacks,(o=>(openBlock(),createBlock(d,{key:n.snacks.indexOf(o),modelValue:n.show[n.snacks.indexOf(o)],"onUpdate:modelValue":r=>n.show[n.snacks.indexOf(o)]=r,timeout:o.timeout,location:"bottom right",color:n.getColor(o)},{default:withCtx((()=>[createBaseVNode("div",Ee,[createBaseVNode("span",null,toDisplayString(o.text),1),createVNode(u,{icon:"",variant:"text",onClick:r[0]||(r[0]=r=>n.close())},{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("mdi-close")]))),_:1})])),_:1})])])),_:2},1032,["modelValue","onUpdate:modelValue","timeout","color"])))),128))])}]]),Te=defineComponent$1({name:"PaginatingToolbar",props:{pages:{type:Array,required:!0},page:{type:Number,required:!0},title:{type:String,required:!1,default:""},subtitle:{type:String,required:!1,default:""}},emits:["first","prev","next","last","set-page"]}),Ae={key:0,class:"ms-2 text-subtitle-2","data-cy":"paginating-toolbar-subtitle"},Ie=ie(Te,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-toolbar-title"),u=resolveComponent("v-spacer"),d=resolveComponent("v-icon"),f=resolveComponent("v-btn"),m=resolveComponent("v-select"),g=resolveComponent("v-toolbar");return openBlock(),createBlock(g,{density:"compact"},{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>[createBaseVNode("span",null,toDisplayString(n.title),1),n.subtitle?(openBlock(),createElementBlock("span",Ae,toDisplayString(n.subtitle),1)):createCommentVNode("",!0)])),_:1}),createVNode(u),createVNode(f,{variant:"text",icon:"",color:"secondary",disabled:1==n.page,onClick:r[0]||(r[0]=r=>n.$emit("first"))},{default:withCtx((()=>[createVNode(d,null,{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("mdi-page-first")]))),_:1})])),_:1},8,["disabled"]),createVNode(f,{variant:"text",icon:"",color:"secondary",disabled:1==n.page,onClick:r[1]||(r[1]=r=>n.$emit("prev"))},{default:withCtx((()=>[createVNode(d,null,{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("mdi-chevron-left")]))),_:1})])),_:1},8,["disabled"]),createVNode(m,{"model-value":n.page,items:n.pages,class:"pageSelect",density:"compact","hide-details":"","return-object":!1,variant:"outlined","onUpdate:modelValue":r[2]||(r[2]=r=>n.$emit("set-page",r))},{selection:withCtx((({item:n})=>[createTextVNode(toDisplayString(n.value),1)])),_:1},8,["model-value","items"]),createVNode(f,{variant:"text",icon:"",color:"secondary",disabled:n.page==n.pages.length,onClick:r[3]||(r[3]=r=>n.$emit("next"))},{default:withCtx((()=>[createVNode(d,null,{default:withCtx((()=>r[7]||(r[7]=[createTextVNode("mdi-chevron-right")]))),_:1})])),_:1},8,["disabled"]),createVNode(f,{variant:"text",icon:"",color:"secondary",disabled:n.page==n.pages.length,onClick:r[4]||(r[4]=r=>n.$emit("last"))},{default:withCtx((()=>[createVNode(d,null,{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("mdi-page-last")]))),_:1})])),_:1},8,["disabled"])])),_:1})}],["__scopeId","data-v-a75fea7e"]]),Me=defineComponent$1({name:"CardSearch",emits:{search:n=>"string"==typeof n},data:()=>({query:""}),methods:{search(){this.$emit("search",this.query)}}}),$e={class:"card-search"},Ne=ie(Me,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-text-field");return openBlock(),createElementBlock("div",$e,[createVNode(c,{modelValue:n.query,"onUpdate:modelValue":r[0]||(r[0]=r=>n.query=r),label:"Search for cards...","append-icon":"mdi-magnify","onClick:append":n.search,onKeydown:withKeys(n.search,["enter"])},null,8,["modelValue","onClick:append","onKeydown"])])}]]),De=defineComponent$1({name:"CardSearchResults",emits:{"card-selected":n=>"string"==typeof n.cardId&&"string"==typeof n.courseId},props:{query:{type:String,required:!0},dataLayer:{type:Object,required:!0},courseFilter:{type:String,default:null}},data:()=>({cards:[],loading:!1,error:null,selectedCardId:null}),watch:{query:{immediate:!0,handler(n){n&&this.fetchResults(n)}}},methods:{async fetchResults(n){this.loading=!0,this.error=null;try{let r=[];if(this.courseFilter)r=[this.courseFilter],console.log(`Filtering search to course: ${this.courseFilter}`);else{const{CourseLookup:n}=await __vitePreload((async()=>{const{CourseLookup:n}=await Promise.resolve().then((()=>index$1));return{CourseLookup:n}}),void 0);r=(await n.allCourseWare()).map((n=>n._id)).filter(Boolean),console.log(`Searching across all ${r.length} courses`)}const o=[];for(const a of r){const r=this.dataLayer.getCourseDB(a),s=await r.searchCards(n);for(const n of s)o.push({...n,courseId:a})}this.cards=o,console.log(`Search completed: found ${o.length} cards across ${r.length} courses`)}catch(r){this.error="Error fetching search results.",console.error("Search error:",r)}finally{this.loading=!1}},selectCard(n){this.selectedCardId=n._id,this.$emit("card-selected",{cardId:n._id,courseId:n.courseId})}}}),Oe={class:"card-search-results"},Le={key:0},Pe={key:1},Be={key:2},ze=ie(De,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-list-item-title"),u=resolveComponent("v-list-item-subtitle"),d=resolveComponent("v-list-item"),f=resolveComponent("v-list");return openBlock(),createElementBlock("div",Oe,[n.loading?(openBlock(),createElementBlock("div",Le,"Loading...")):n.error?(openBlock(),createElementBlock("div",Pe,toDisplayString(n.error),1)):(openBlock(),createElementBlock("div",Be,[createVNode(f,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.cards,(r=>(openBlock(),createBlock(d,{key:r._id,onClick:o=>n.selectCard(r),class:normalizeClass([{"selected-card":r._id===n.selectedCardId},"cursor-pointer"])},{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>[createTextVNode(toDisplayString(r._id),1)])),_:2},1024),createVNode(u,null,{default:withCtx((()=>[createTextVNode("Course: "+toDisplayString(r.courseId),1)])),_:2},1024)])),_:2},1032,["onClick","class"])))),128))])),_:1})]))])}],["__scopeId","data-v-285e13bd"]]),je=defineComponent$1({name:"CardHistoryViewer",props:{cardId:{type:String,required:!0},courseId:{type:String,required:!0},userId:{type:String,required:!0},userDB:{type:Object,required:!0}},data:()=>({history:[],cardHistory:null,bestIntervalHumanized:"",loading:!1,error:null,headers:[{title:"Timestamp",key:"formattedTimeStamp"},{title:"Interval",key:"userFriendlyInterval"},{title:"Time Spent (s)",key:"timeSpentSeconds"},{title:"Correct?",key:"isCorrect"},{title:"Performance",key:"performance"},{title:"Prior Attempts",key:"priorAttemps"},{title:"User Answer",key:"userAnswer"}]}),watch:{cardId:{immediate:!0,handler(n){n&&this.userDB&&this.fetchHistory()}},userDB:{handler(n){n&&this.cardId&&this.fetchHistory()}}},methods:{async fetchHistory(){this.loading=!0,this.error=null;try{const n=getCardHistoryID(this.courseId,this.cardId),r=await this.userDB.get(n);this.cardHistory=r,this.bestIntervalHumanized=hooks.duration(r.bestInterval,"seconds").humanize();const o=[...r.records].sort(((n,r)=>hooks(n.timeStamp).valueOf()-hooks(r.timeStamp).valueOf()));this.history=o.map(((n,r)=>{const a=hooks(n.timeStamp),s={...n,formattedTimeStamp:a.format("YYYY-MM-DD HH:mm:ss"),timeSpentSeconds:Math.round(n.timeSpent/1e3),isCorrect:n.isCorrect,performance:n.performance,priorAttemps:n.priorAttemps,userAnswer:n.userAnswer};if(r>0){const n=hooks(o[r-1].timeStamp),l=a.diff(n,"seconds",!0);s.intervalFromPrevious=Math.round(100*l)/100,s.userFriendlyInterval=`${s.intervalFromPrevious} sec (${hooks.duration(l,"seconds").humanize()})`}return s}))}catch(e3){this.error="Error fetching card history.",console.error(e3)}finally{this.loading=!1}}}}),Ue={class:"card-history-viewer"},Fe={key:0},qe={key:1},Ve={key:2,class:"error-message"},He={key:3},Ze=ie(je,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card-title"),u=resolveComponent("v-list-item-title"),d=resolveComponent("v-list-item-subtitle"),f=resolveComponent("v-list-item-content"),m=resolveComponent("v-list-item"),g=resolveComponent("v-card"),b=resolveComponent("v-data-table");return openBlock(),createElementBlock("div",Ue,[n.userId?(openBlock(),createElementBlock("h3",Fe,"Card History for User: "+toDisplayString(n.userId),1)):createCommentVNode("",!0),n.loading?(openBlock(),createElementBlock("div",qe,"Loading...")):n.error?(openBlock(),createElementBlock("div",Ve,toDisplayString(n.error),1)):n.cardHistory?(openBlock(),createElementBlock("div",He,[createVNode(g,{class:"mb-4"},{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("Summary")]))),_:1}),createVNode(m,null,{default:withCtx((()=>[createVNode(f,null,{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>[createTextVNode("Best Interval: "+toDisplayString(n.cardHistory.bestInterval)+" seconds ("+toDisplayString(n.bestIntervalHumanized)+")",1)])),_:1}),createVNode(d,null,{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("The to-date largest interval between successful card reviews.")]))),_:1})])),_:1})])),_:1}),createVNode(m,null,{default:withCtx((()=>[createVNode(f,null,{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>[createTextVNode("Lapses: "+toDisplayString(n.cardHistory.lapses),1)])),_:1}),createVNode(d,null,{default:withCtx((()=>r[2]||(r[2]=[createTextVNode("The number of times that a card has been failed in review.")]))),_:1})])),_:1})])),_:1}),createVNode(m,null,{default:withCtx((()=>[createVNode(f,null,{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>[createTextVNode("Streak: "+toDisplayString(n.cardHistory.streak),1)])),_:1}),createVNode(d,null,{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("The number of consecutive successful impressions on this card.")]))),_:1})])),_:1})])),_:1})])),_:1}),createVNode(b,{headers:n.headers,items:n.history,class:"elevation-1"},null,8,["headers","items"])])):createCommentVNode("",!0)])}],["__scopeId","data-v-a4bdfdfb"]]);function Ke(n,r,o){const a=ref(hooks.utc()),s=ref([]),l={log:(n,...r)=>console.log(`[${o}]: `,n,...r),error:(n,...r)=>console.error(`[${o}]: `,n,...r),warn:(n,...r)=>console.warn(`[${o}]: `,n,...r)},c=computed((()=>Math.abs(hooks.utc().diff(a.value,"milliseconds"))));return{startTime:a,hotKeys:s,timeSpent:c,logger:l,getURL:(r,o=0)=>{try{if(n.data[o]?.[r])return URL.createObjectURL(n.data[o][r])}catch(a){l.error("Error creating URL for item:",r,a)}return""},emitResponse:n=>{r("emitResponse",n)}}}function Ge(n){const r=ref(0),o=ref(0),a=ref([]),s=ref(3),l=ref(2),c=ref();return{priorSessionViews:r,priorAttempts:o,priorAnswers:a,maxAttemptsPerView:s,maxSessionViews:l,question:c,submitAnswer:(r,s,l)=>{if(n.logger.log("submitAnswer called..."),!c.value)throw new Error("Question not initialized");a.value.push([r,s??""]);const u=c.value.evaluate(r,n.timeSpent.value);n.logger.log(`evaluation of answer ${r}:`,u);const d={...u,priorAttemps:o.value,courseID:"",cardID:"",timeSpent:n.timeSpent.value,timeStamp:n.startTime.value,userAnswer:r};return void 0!==l?.deferAdvance&&(d.deferAdvance=l.deferAdvance),u.isCorrect||o.value++,n.emitResponse(d),d}}}function We(n){return"object"==typeof n&&null!==n&&"submitAnswer"in n&&"priorAttempts"in n}function Qe(n){return void 0!==n.__isFragment}class Displayable{constructor(n){if(0===n.length)throw new Error("\nDisplayable Constructor was called with no view Data.\n ");!function(n,r){for(let o=0;o<n.length;o++)n[o].fields.forEach(((n,a)=>{console.log(`[Displayable] shape[${o}].field[${a}]:\n ${JSON.stringify(n)}`),void 0===r[o][n.name]&&n.type!==FieldType.MEDIA_UPLOADS&&console.warn("[Displayable] missing data")}))}(this.dataShapes(),n)}}t(Displayable,"dataShapes"),t(Displayable,"views"),t(Displayable,"seedData"),t(Displayable,"acceptsUserData",!0);class Question extends Displayable{displayedSkill(n,r){console.warn("Question is running the reference implementation of displayedSkill.\n Consider overriding!");const o=Math.min(r,5e4),a=o/5e3,s=o>5e3?Math.pow(.8,a):1;let l=this.isCorrect(n)?1:0;return l*=s,Math.min(l,1)}evaluate(n,r){return{isCorrect:this.isCorrect(n),performance:this.displayedSkill(n,r)}}}const Ye=()=>{let n="fallback (empty string)",r="";if(!r&&"undefined"!=typeof window&&window.__SKUILDER_CONFIG__?.apiBase){const o=window.__SKUILDER_CONFIG__.apiBase.replace(/\/$/,"");r=o.startsWith("/")?o:`/${o}`,n="window.__SKUILDER_CONFIG__.apiBase"}return console.log("[authAPI] getApiBase() called"),console.log("[authAPI] source:",n),console.log("[authAPI] result:",r),r};async function Je(n,r,o){try{const a={username:n,email:r};o&&(a.origin=o);const s=await fetch(`${Ye()}/auth/send-verification`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(a)});if(!s.ok){const n=await s.text();return console.error("Send verification email error:",n),{ok:!1,error:`HTTP ${s.status}: ${s.statusText}`}}return await s.json()}catch(a){return console.error("Send verification email fetch error:",a),{ok:!1,error:a instanceof Error?a.message:"Network error"}}}async function Xe(n){try{const r=await fetch(`${Ye()}/auth/verify`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({token:n})});return r.ok?await r.json():{ok:!1,error:`HTTP ${r.status}: ${r.statusText}`}}catch(r){return{ok:!1,error:r instanceof Error?r.message:"Network error"}}}async function et(){try{const n=await fetch(`${Ye()}/auth/status`,{method:"GET",headers:{"Content-Type":"application/json"},credentials:"include"});return n.ok?await n.json():{ok:!1,error:`HTTP ${n.status}: ${n.statusText}`}}catch(e3){return{ok:!1,error:e3 instanceof Error?e3.message:"Network error"}}}async function tt(n,r){try{const o={email:n};r&&(o.origin=r);const a=await fetch(`${Ye()}/auth/request-reset`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(o)});return a.ok?await a.json():{ok:!1,error:`HTTP ${a.status}: ${a.statusText}`}}catch(o){return{ok:!1,error:o instanceof Error?o.message:"Network error"}}}async function nt(n,r){try{const o=await fetch(`${Ye()}/auth/reset-password`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({token:n,newPassword:r})});return o.ok?await o.json():{ok:!1,error:`HTTP ${o.status}: ${o.statusText}`}}catch(o){return{ok:!1,error:o instanceof Error?o.message:"Network error"}}}function st(n){const r=ref({}),o=ref(!1),a=ref(null),s=computed((()=>{const o=r.value[n];if(!o)return{isActive:!1,isPaid:!1,daysRemaining:null,expiresDate:null};if("paid"===o.status)return{isActive:!0,isPaid:!0,daysRemaining:null,expiresDate:null};const a=o.expires;if(!a)return{isActive:!0,isPaid:!1,daysRemaining:null,expiresDate:null};const s=new Date(a),l=new Date,c=Math.ceil((s.getTime()-l.getTime())/864e5);return{isActive:c>0,isPaid:!1,daysRemaining:Math.max(0,c),expiresDate:a}})),l=computed((()=>s.value.isPaid));return{entitlements:r,trialStatus:s,hasPremiumAccess:l,loading:o,error:a,fetchEntitlements:async function(){o.value=!0,a.value=null;try{const n=await et();n.ok?r.value=n.entitlements||{}:(a.value=n.error||"Failed to fetch entitlements",console.error("[useEntitlements] Error:",a.value))}catch(n){a.value=n instanceof Error?n.message:"Unknown error",console.error("[useEntitlements] Exception:",n)}finally{o.value=!1}}}}const rt=ie(defineComponent$1({name:"StudySessionTimer",props:{timeRemaining:{type:Number,required:!0},sessionTimeLimit:{type:Number,required:!0,default:5}},emits:["add-time"],setup:(n,{emit:r})=>({hovered:ref(!1),formattedTimeRemaining:computed((()=>{let r="";const o=n.timeRemaining;o>60&&(r=Math.floor(o/60).toString()+":");const a=o%60;return r+=a>=10?a:"0"+a,o<=60&&(r+=" seconds"),r+=" left!",r})),percentageRemaining:computed((()=>n.timeRemaining>60?n.timeRemaining/(60*n.sessionTimeLimit)*100:n.timeRemaining/60*100)),timerColor:computed((()=>n.timeRemaining>60?"primary":"orange darken-3")),addSessionTime:()=>{r("add-time")}})}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-icon"),u=resolveComponent("v-btn"),d=resolveComponent("v-progress-circular"),f=resolveComponent("v-tooltip");return openBlock(),createBlock(f,{location:"right","open-delay":0,"close-delay":200,color:"secondary",class:"text-subtitle-1"},{activator:withCtx((({props:o})=>[createBaseVNode("div",mergeProps({class:"timer-container"},o,{onMouseenter:r[0]||(r[0]=r=>n.hovered=!0),onMouseleave:r[1]||(r[1]=r=>n.hovered=!1)}),[createVNode(d,{alt:"Time remaining in study session",size:"64",width:"8",rotate:"0",color:n.timerColor,"model-value":n.percentageRemaining},{default:withCtx((()=>[n.timeRemaining>0&&n.hovered?(openBlock(),createBlock(u,{key:0,icon:"",color:"transparent",location:"bottom left",onClick:n.addSessionTime},{default:withCtx((()=>[createVNode(c,{size:"large"},{default:withCtx((()=>r[2]||(r[2]=[createTextVNode("mdi-plus")]))),_:1})])),_:1},8,["onClick"])):createCommentVNode("",!0)])),_:1},8,["color","model-value"])],16)])),default:withCtx((()=>[createTextVNode(" "+toDisplayString(n.formattedTimeRemaining),1)])),_:1})}],["__scopeId","data-v-5960940a"]]),it=ie(defineComponent$1({name:"CardViewer",ref:{},props:{sessionOrder:{type:Number,required:!1,default:0},card_id:{type:String,required:!0,default:""},course_id:{type:String,required:!0,default:""},view:{type:[Function,Object],required:!0},data:{type:Array,required:!0},user_elo:{type:Object,default:()=>({global:{score:1e3,count:0},tags:{},misc:{}})},card_elo:{type:Number,default:1e3},frameless:{type:Boolean,default:!1}},emits:["emitResponse","requestReplan","readyToAdvance"],methods:{processResponse(n){console.log(`\n Card was displayed at ${n.timeStamp}\n User spent ${n.timeSpent} milliseconds with the card.\n `),this.$emit("emitResponse",n)}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card");return n.frameless?(openBlock(),createBlock(resolveDynamicComponent(n.view),{ref:"activeView",key:n.course_id+"-"+n.card_id+"-"+n.sessionOrder,data:n.data,"modify-difficulty":n.user_elo.global.score-n.card_elo,class:"cardView",onEmitResponse:r[0]||(r[0]=r=>n.processResponse(r)),onRequestReplan:r[1]||(r[1]=r=>n.$emit("requestReplan",r)),onReadyToAdvance:r[2]||(r[2]=r=>n.$emit("readyToAdvance"))},null,40,["data","modify-difficulty"])):(openBlock(),createBlock(c,{key:1,elevation:"12"},{default:withCtx((()=>[(openBlock(),createBlock(resolveDynamicComponent(n.view),{ref:"activeView",key:n.course_id+"-"+n.card_id+"-"+n.sessionOrder,data:n.data,"modify-difficulty":n.user_elo.global.score-n.card_elo,class:"cardView ma-2 pa-2",onEmitResponse:r[3]||(r[3]=r=>n.processResponse(r)),onRequestReplan:r[4]||(r[4]=r=>n.$emit("requestReplan",r)),onReadyToAdvance:r[5]||(r[5]=r=>n.$emit("readyToAdvance"))},null,40,["data","modify-difficulty"]))])),_:1}))}],["__scopeId","data-v-2d892b82"]]),at=defineComponent$1({name:"SessionControllerDebug",props:{sessionController:{type:Object,required:!0}},setup(n){const r=ref(0);let o=null;return onMounted((()=>{o=setInterval((()=>{r.value++}),500)})),onUnmounted((()=>{o&&clearInterval(o)})),{debugInfo:computed((()=>(r.value,n.sessionController?n.sessionController.getDebugInfo():{reviewQueue:{length:0,dequeueCount:0,items:[]},newQueue:{length:0,dequeueCount:0,items:[]},failedQueue:{length:0,dequeueCount:0,items:[]},hydratedCache:{count:0,failedCacheSize:0,items:[]}})))}}}),ot={class:"debug-section"},lt={class:"debug-header"},ct={class:"debug-stats"},dt={class:"text-caption"},ut={class:"text-caption ml-2"},ht={key:0,class:"debug-items"},pt={class:"text-caption"},gt={class:"text-caption text-grey ml-1"},mt={key:0,class:"text-caption text-grey"},ft={key:1,class:"text-caption text-grey"},bt={class:"debug-section"},yt={class:"debug-header"},kt={class:"debug-stats"},vt={class:"text-caption"},wt={class:"text-caption ml-2"},xt={key:0,class:"debug-items"},_t={class:"text-caption"},St={class:"text-caption text-grey ml-1"},Ct={key:0,class:"text-caption text-grey"},Et={key:1,class:"text-caption text-grey"},Rt={class:"debug-section"},Tt={class:"debug-header"},At={class:"debug-stats"},It={class:"text-caption"},Mt={class:"text-caption ml-2"},$t={key:0,class:"debug-items"},Nt={class:"text-caption"},Dt={class:"text-caption text-grey ml-1"},Ot={key:0,class:"text-caption text-grey"},Lt={key:1,class:"text-caption text-grey"},Pt={class:"debug-section"},Bt={class:"debug-header"},zt={class:"debug-stats"},jt={class:"text-caption"},Ut={class:"text-caption ml-2"},Ft={key:0,class:"debug-items"},qt={class:"text-caption"},Vt={key:0,class:"text-caption text-grey"},Ht={key:1,class:"text-caption text-grey"},Zt=ie(at,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-spacer"),u=resolveComponent("v-icon"),d=resolveComponent("v-card-title"),f=resolveComponent("v-col"),m=resolveComponent("v-row"),g=resolveComponent("v-divider"),b=resolveComponent("v-card-text"),S=resolveComponent("v-card");return n.sessionController?(openBlock(),createBlock(S,{key:0,class:"session-debug ma-2",elevation:"2"},{default:withCtx((()=>[createVNode(d,{class:"text-caption bg-grey-darken-3"},{default:withCtx((()=>[r[1]||(r[1]=createTextVNode(" Session Controller Debug ")),createVNode(c),createVNode(u,{size:"small"},{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("mdi-bug")]))),_:1})])),_:1}),createVNode(b,{class:"pa-2"},{default:withCtx((()=>[createVNode(m,{dense:""},{default:withCtx((()=>[createVNode(f,{cols:"12",md:"4"},{default:withCtx((()=>[createBaseVNode("div",ot,[createBaseVNode("div",lt,[createVNode(u,{size:"x-small",class:"mr-1"},{default:withCtx((()=>r[2]||(r[2]=[createTextVNode("mdi-calendar-check")]))),_:1}),r[3]||(r[3]=createBaseVNode("strong",null,"Review Queue",-1))]),createBaseVNode("div",ct,[createBaseVNode("span",dt,"Length: "+toDisplayString(n.debugInfo.reviewQueue.length),1),createBaseVNode("span",ut,"Dequeued: "+toDisplayString(n.debugInfo.reviewQueue.dequeueCount),1)]),n.debugInfo.reviewQueue.items.length>0?(openBlock(),createElementBlock("div",ht,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.debugInfo.reviewQueue.items.slice(0,5),((n,r)=>(openBlock(),createElementBlock("div",{key:r,class:"debug-item"},[createBaseVNode("span",pt,toDisplayString(r)+": "+toDisplayString(n.courseID)+"::"+toDisplayString(n.cardID),1),createBaseVNode("span",gt,"("+toDisplayString(n.status)+")",1)])))),128)),n.debugInfo.reviewQueue.items.length>5?(openBlock(),createElementBlock("div",mt," ... +"+toDisplayString(n.debugInfo.reviewQueue.items.length-5)+" more ",1)):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",ft," (empty) "))])])),_:1}),createVNode(f,{cols:"12",md:"4"},{default:withCtx((()=>[createBaseVNode("div",bt,[createBaseVNode("div",yt,[createVNode(u,{size:"x-small",class:"mr-1"},{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("mdi-file-document-plus")]))),_:1}),r[5]||(r[5]=createBaseVNode("strong",null,"New Cards Queue",-1))]),createBaseVNode("div",kt,[createBaseVNode("span",vt,"Length: "+toDisplayString(n.debugInfo.newQueue.length),1),createBaseVNode("span",wt,"Dequeued: "+toDisplayString(n.debugInfo.newQueue.dequeueCount),1)]),n.debugInfo.newQueue.items.length>0?(openBlock(),createElementBlock("div",xt,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.debugInfo.newQueue.items.slice(0,5),((n,r)=>(openBlock(),createElementBlock("div",{key:r,class:"debug-item"},[createBaseVNode("span",_t,toDisplayString(r)+": "+toDisplayString(n.courseID)+"::"+toDisplayString(n.cardID),1),createBaseVNode("span",St,"("+toDisplayString(n.status)+")",1)])))),128)),n.debugInfo.newQueue.items.length>5?(openBlock(),createElementBlock("div",Ct," ... +"+toDisplayString(n.debugInfo.newQueue.items.length-5)+" more ",1)):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",Et," (empty) "))])])),_:1}),createVNode(f,{cols:"12",md:"4"},{default:withCtx((()=>[createBaseVNode("div",Rt,[createBaseVNode("div",Tt,[createVNode(u,{size:"x-small",class:"mr-1"},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("mdi-alert-circle")]))),_:1}),r[7]||(r[7]=createBaseVNode("strong",null,"Failed Cards Queue",-1))]),createBaseVNode("div",At,[createBaseVNode("span",It,"Length: "+toDisplayString(n.debugInfo.failedQueue.length),1),createBaseVNode("span",Mt,"Dequeued: "+toDisplayString(n.debugInfo.failedQueue.dequeueCount),1)]),n.debugInfo.failedQueue.items.length>0?(openBlock(),createElementBlock("div",$t,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.debugInfo.failedQueue.items.slice(0,5),((n,r)=>(openBlock(),createElementBlock("div",{key:r,class:"debug-item"},[createBaseVNode("span",Nt,toDisplayString(r)+": "+toDisplayString(n.courseID)+"::"+toDisplayString(n.cardID),1),createBaseVNode("span",Dt,"("+toDisplayString(n.status)+")",1)])))),128)),n.debugInfo.failedQueue.items.length>5?(openBlock(),createElementBlock("div",Ot," ... +"+toDisplayString(n.debugInfo.failedQueue.items.length-5)+" more ",1)):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",Lt," (empty) "))])])),_:1})])),_:1}),createVNode(m,{dense:""},{default:withCtx((()=>[createVNode(f,{cols:"12"},{default:withCtx((()=>[createVNode(g,{class:"my-2"}),createBaseVNode("div",Pt,[createBaseVNode("div",Bt,[createVNode(u,{size:"x-small",class:"mr-1"},{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("mdi-database")]))),_:1}),r[9]||(r[9]=createBaseVNode("strong",null,"Hydrated Cards Cache",-1))]),createBaseVNode("div",zt,[createBaseVNode("span",jt,"Cached: "+toDisplayString(n.debugInfo.hydratedCache.count),1),createBaseVNode("span",Ut,"Failed Cache: "+toDisplayString(n.debugInfo.hydratedCache.failedCacheSize),1)]),n.debugInfo.hydratedCache.items.length>0?(openBlock(),createElementBlock("div",Ft,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.debugInfo.hydratedCache.items.slice(0,8),((n,r)=>(openBlock(),createElementBlock("div",{key:r,class:"debug-item d-inline-block mr-3"},[createBaseVNode("span",qt,toDisplayString(n.courseID)+"::"+toDisplayString(n.cardID),1)])))),128)),n.debugInfo.hydratedCache.items.length>8?(openBlock(),createElementBlock("div",Vt," ... +"+toDisplayString(n.debugInfo.hydratedCache.items.length-8)+" more ",1)):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",Ht," (empty) "))])])),_:1})])),_:1})])),_:1})])),_:1})):createCommentVNode("",!0)}],["__scopeId","data-v-1a6ac7a1"]]);var Kt={};!function n(r,o,a,s){var l=!!(r.Worker&&r.Blob&&r.Promise&&r.OffscreenCanvas&&r.OffscreenCanvasRenderingContext2D&&r.HTMLCanvasElement&&r.HTMLCanvasElement.prototype.transferControlToOffscreen&&r.URL&&r.URL.createObjectURL),c="function"==typeof Path2D&&"function"==typeof DOMMatrix;function u(){}function d(n){var a=o.exports.Promise,s=void 0!==a?a:r.Promise;return"function"==typeof s?new s(n):(n(u,u),null)}var f,m,g,b,S,k,w=function(n,r){return{transform:function(o){if(n)return o;if(r.has(o))return r.get(o);var a=new OffscreenCanvas(o.width,o.height);return a.getContext("2d").drawImage(o,0,0),r.set(o,a),a},clear:function(){r.clear()}}}(function(){if(!r.OffscreenCanvas)return!1;var n=new OffscreenCanvas(1,1),o=n.getContext("2d");o.fillRect(0,0,1,1);var a=n.transferToImageBitmap();try{o.createPattern(a,"no-repeat")}catch(s){return!1}return!0}(),new Map),E=(g=Math.floor(1e3/60),b={},S=0,"function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame?(f=function(n){var r=Math.random();return b[r]=requestAnimationFrame((function o(a){S===a||S+g-1<a?(S=a,delete b[r],n()):b[r]=requestAnimationFrame(o)})),r},m=function(n){b[n]&&cancelAnimationFrame(b[n])}):(f=function(n){return setTimeout(n,g)},m=function(n){return clearTimeout(n)}),{frame:f,cancel:m}),C=function(){var r,o,s={};return function(){if(r)return r;if(!a&&l){var c=["var CONFETTI, SIZE = {}, module = {};","("+n.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{r=new Worker(URL.createObjectURL(new Blob([c])))}catch(u){return void 0!==typeof console&&"function"==typeof console.warn&&console.warn("🎊 Could not load worker",u),null}!function(n){function r(r,o){n.postMessage({options:r||{},callback:o})}n.init=function(r){var o=r.transferControlToOffscreen();n.postMessage({canvas:o},[o])},n.fire=function(a,l,c){if(o)return r(a,null),o;var u=Math.random().toString(36).slice(2);return o=d((function(l){function d(r){r.data.callback===u&&(delete s[u],n.removeEventListener("message",d),o=null,w.clear(),c(),l())}n.addEventListener("message",d),r(a,u),s[u]=d.bind(null,{data:{callback:u}})}))},n.reset=function(){for(var r in n.postMessage({reset:!0}),s)s[r](),delete s[r]}}(r)}return r}}(),T={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 I(n,r,o){return a=n&&null!=n[r]?n[r]:T[r],(s=o)?s(a):a;var a,s}function P(n){return n<0?0:Math.floor(n)}function D(n){return parseInt(n,16)}function O(n){return n.map(A)}function A(n){var r=String(n).replace(/[^0-9a-f]/gi,"");return r.length<6&&(r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]),{r:D(r.substring(0,2)),g:D(r.substring(2,4)),b:D(r.substring(4,6))}}function eo(n){n.width=document.documentElement.clientWidth,n.height=document.documentElement.clientHeight}function no(n){var r=n.getBoundingClientRect();n.width=r.width,n.height=r.height}function ro(n,o){var u,f=!n,m=!!I(o||{},"resize"),g=!1,b=I(o,"disableForReducedMotion",Boolean),S=l&&I(o||{},"useWorker")?C():null,k=f?eo:no,T=!(!n||!S||!n.__confetti_initialized),D="function"==typeof matchMedia&&matchMedia("(prefers-reduced-motion)").matches;function A(r,o,l){for(var f,m,g,b,S=I(r,"particleCount",P),C=I(r,"angle",Number),T=I(r,"spread",Number),D=I(r,"startVelocity",Number),A=I(r,"decay",Number),eo=I(r,"gravity",Number),no=I(r,"drift",Number),ro=I(r,"colors",O),oo=I(r,"ticks",Number),ao=I(r,"shapes"),io=I(r,"scalar"),so=!!I(r,"flat"),lo=(ho=void 0,(ho=I(r,"origin",Object)).x=I(ho,"x",Number),ho.y=I(ho,"y",Number),ho),co=S,uo=[],po=n.width*lo.x,fo=n.height*lo.y;co--;)uo.push((void 0,void 0,m=(f={x:po,y:fo,angle:C,spread:T,startVelocity:D,color:ro[co%ro.length],shape:ao[(b=ao.length,Math.floor(Math.random()*(b-0))+0)],ticks:oo,decay:A,gravity:eo,drift:no,scalar:io,flat:so}).angle*(Math.PI/180),g=f.spread*(Math.PI/180),{x:f.x,y:f.y,wobble:10*Math.random(),wobbleSpeed:Math.min(.11,.1*Math.random()+.05),velocity:.5*f.startVelocity+Math.random()*f.startVelocity,angle2D:-m+(.5*g-Math.random()*g),tiltAngle:(.5*Math.random()+.25)*Math.PI,color:f.color,shape:f.shape,tick:0,totalTicks:f.ticks,decay:f.decay,drift:f.drift,random:Math.random()+2,tiltSin:0,tiltCos:0,wobbleX:0,wobbleY:0,gravity:3*f.gravity,ovalScalar:.6,scalar:f.scalar,flat:f.flat}));var ho;return u?u.addFettis(uo):(u=function(n,r,o,l,u){var f,m,g=r.slice(),b=n.getContext("2d"),S=d((function(r){function d(){f=m=null,b.clearRect(0,0,l.width,l.height),w.clear(),u(),r()}f=E.frame((function r(){!a||l.width===s.width&&l.height===s.height||(l.width=n.width=s.width,l.height=n.height=s.height),l.width||l.height||(o(n),l.width=n.width,l.height=n.height),b.clearRect(0,0,l.width,l.height),(g=g.filter((function(n){return function(n,r){r.x+=Math.cos(r.angle2D)*r.velocity+r.drift,r.y+=Math.sin(r.angle2D)*r.velocity+r.gravity,r.velocity*=r.decay,r.flat?(r.wobble=0,r.wobbleX=r.x+10*r.scalar,r.wobbleY=r.y+10*r.scalar,r.tiltSin=0,r.tiltCos=0,r.random=1):(r.wobble+=r.wobbleSpeed,r.wobbleX=r.x+10*r.scalar*Math.cos(r.wobble),r.wobbleY=r.y+10*r.scalar*Math.sin(r.wobble),r.tiltAngle+=.1,r.tiltSin=Math.sin(r.tiltAngle),r.tiltCos=Math.cos(r.tiltAngle),r.random=Math.random()+2);var o,a,s,l,u,d,f,m=r.tick++/r.totalTicks,g=r.x+r.random*r.tiltCos,b=r.y+r.random*r.tiltSin,S=r.wobbleX+r.random*r.tiltCos,k=r.wobbleY+r.random*r.tiltSin;if(n.fillStyle="rgba("+r.color.r+", "+r.color.g+", "+r.color.b+", "+(1-m)+")",n.beginPath(),c&&"path"===r.shape.type&&"string"==typeof r.shape.path&&Array.isArray(r.shape.matrix))n.fill(function(n,r,o,a,s,l,c){var u=new Path2D(n),d=new Path2D;d.addPath(u,new DOMMatrix(r));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,o,a])),f}(r.shape.path,r.shape.matrix,r.x,r.y,.1*Math.abs(S-g),.1*Math.abs(k-b),Math.PI/10*r.wobble));else if("bitmap"===r.shape.type){var E=Math.PI/10*r.wobble,C=.1*Math.abs(S-g),T=.1*Math.abs(k-b),I=r.shape.bitmap.width*r.scalar,P=r.shape.bitmap.height*r.scalar,D=new DOMMatrix([Math.cos(E)*C,Math.sin(E)*C,-Math.sin(E)*T,Math.cos(E)*T,r.x,r.y]);D.multiplySelf(new DOMMatrix(r.shape.matrix));var O=n.createPattern(w.transform(r.shape.bitmap),"no-repeat");O.setTransform(D),n.globalAlpha=1-m,n.fillStyle=O,n.fillRect(r.x-I/2,r.y-P/2,I,P),n.globalAlpha=1}else if("circle"===r.shape)n.ellipse?n.ellipse(r.x,r.y,Math.abs(S-g)*r.ovalScalar,Math.abs(k-b)*r.ovalScalar,Math.PI/10*r.wobble,0,2*Math.PI):(o=n,a=r.x,s=r.y,l=Math.abs(S-g)*r.ovalScalar,u=Math.abs(k-b)*r.ovalScalar,d=Math.PI/10*r.wobble,f=2*Math.PI,o.save(),o.translate(a,s),o.rotate(d),o.scale(l,u),o.arc(0,0,1,0,f,void 0),o.restore());else if("star"===r.shape)for(var A=Math.PI/2*3,eo=4*r.scalar,no=8*r.scalar,ro=r.x,oo=r.y,ao=5,io=Math.PI/ao;ao--;)ro=r.x+Math.cos(A)*no,oo=r.y+Math.sin(A)*no,n.lineTo(ro,oo),A+=io,ro=r.x+Math.cos(A)*eo,oo=r.y+Math.sin(A)*eo,n.lineTo(ro,oo),A+=io;else n.moveTo(Math.floor(r.x),Math.floor(r.y)),n.lineTo(Math.floor(r.wobbleX),Math.floor(b)),n.lineTo(Math.floor(S),Math.floor(k)),n.lineTo(Math.floor(g),Math.floor(r.wobbleY));return n.closePath(),n.fill(),r.tick<r.totalTicks}(b,n)}))).length?f=E.frame(r):d()})),m=d}));return{addFettis:function(n){return g=g.concat(n),S},canvas:n,promise:S,reset:function(){f&&E.cancel(f),m&&m()}}}(n,uo,k,o,l),u.promise)}function ro(o){var a,s,l=b||I(o,"disableForReducedMotion",Boolean),c=I(o,"zIndex",Number);if(l&&D)return d((function(n){n()}));f&&u?n=u.canvas:f&&!n&&(a=c,(s=document.createElement("canvas")).style.position="fixed",s.style.top="0px",s.style.left="0px",s.style.pointerEvents="none",s.style.zIndex=a,n=s,document.body.appendChild(n)),m&&!T&&k(n);var w={width:n.width,height:n.height};function E(){if(S){var r={getBoundingClientRect:function(){if(!f)return n.getBoundingClientRect()}};return k(r),void S.postMessage({resize:{width:r.width,height:r.height}})}w.width=w.height=null}function C(){u=null,m&&(g=!1,r.removeEventListener("resize",E)),f&&n&&(document.body.contains(n)&&document.body.removeChild(n),n=null,T=!1)}return S&&!T&&S.init(n),T=!0,S&&(n.__confetti_initialized=!0),m&&!g&&(g=!0,r.addEventListener("resize",E,!1)),S?S.fire(o,w,C):A(o,w,C)}return ro.reset=function(){S&&S.reset(),u&&u.reset()},ro}function oo(){return k||(k=ro(null,{useWorker:!0,resize:!0})),k}o.exports=function(){return oo().apply(this,arguments)},o.exports.reset=function(){oo().reset()},o.exports.create=ro,o.exports.shapeFromPath=function(n){if(!c)throw new Error("path confetti are not supported in this browser");var r,o;"string"==typeof n?r=n:(r=n.path,o=n.matrix);var a=new Path2D(r),s=document.createElement("canvas").getContext("2d");if(!o){for(var l,u,d=1e3,f=d,m=d,g=0,b=0,S=0;S<d;S+=2)for(var k=0;k<d;k+=2)s.isPointInPath(a,S,k,"nonzero")&&(f=Math.min(f,S),m=Math.min(m,k),g=Math.max(g,S),b=Math.max(b,k));l=g-f,u=b-m;var w=Math.min(10/l,10/u);o=[w,0,0,w,-Math.round(l/2+f)*w,-Math.round(u/2+m)*w]}return{type:"path",path:r,matrix:o}},o.exports.shapeFromText=function(n){var r,o=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 n?r=n:(r=n.text,o="scalar"in n?n.scalar:o,s="fontFamily"in n?n.fontFamily:s,a="color"in n?n.color:a);var l=10*o,c=l+"px "+s,u=new OffscreenCanvas(l,l),d=u.getContext("2d");d.font=c;var f=d.measureText(r),m=Math.ceil(f.actualBoundingBoxRight+f.actualBoundingBoxLeft),g=Math.ceil(f.actualBoundingBoxAscent+f.actualBoundingBoxDescent),b=f.actualBoundingBoxLeft+2,S=f.actualBoundingBoxAscent+2;m+=4,g+=4,(d=(u=new OffscreenCanvas(m,g)).getContext("2d")).font=c,d.fillStyle=a,d.fillText(r,b,S);var k=1/o;return{type:"bitmap",bitmap:u.transferToImageBitmap(),matrix:[k,0,0,k,-m*k/2,-g*k/2]}}}(function(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:this||{}}(),Kt,!1);const Gt=Kt.exports;Kt.exports.create;const Wt=defineComponent$1({name:"StudySession",ref:{},components:{CardViewer:it,StudySessionTimer:rt,SkMouseTrap:ve,HeatMap:ce,SessionControllerDebug:Zt},props:{sessionTimeLimit:{type:Number,required:!0},contentSources:{type:Array,required:!0},user:{type:Object,required:!0},dataLayer:{type:Object,required:!0},sessionConfig:{type:Object,default:()=>({likesConfetti:!1})},getViewComponent:{type:Function,required:!0},frameless:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},transitionName:{type:String,default:"component-fade"},transitionMode:{type:String,default:"out-in"}},emits:["session-finished","session-started","card-loaded","card-response","time-changed","session-prepared","session-error","replan-requested"],data:()=>({cardID:"",view:null,data:[],courseID:"",card_elo:1e3,courseNames:{},cardCount:1,sessionController:null,sessionPrepared:!1,sessionFinished:!1,sessionRecord:[],percentageRemaining:100,timerIsActive:!0,loading:!1,userCourseRegDoc:null,sessionContentSources:[],timeRemaining:300,replanPending:!1,replanOptions:null,deferredNextCardAction:null,intervalHandler:null,cardType:"",debugMode:!0===window.debugMode}),computed:{currentCard(){return this.sessionRecord[this.sessionRecord.length-1]}},async created(){this.userCourseRegDoc=await this.user.getCourseRegistrationsDoc(),console.log("[StudySession] Created lifecycle hook - starting initSession"),await this.initSession(),console.log("[StudySession] InitSession completed in created hook")},methods:{async handleReadyToAdvance(){const n=this.deferredNextCardAction;n?(console.log(`[StudySession] ready-to-advance received — advancing with stashed action: ${n}`),this.deferredNextCardAction=null,this.loadCard(await this.sessionController.nextCard(n))):console.warn("[StudySession] ready-to-advance received but no deferred action stashed — ignoring")},handleReplanRequest(n){if(this.sessionController){const r=n?.label,o=r?` [${r}]`:"";console.log(`[StudySession] Replan requested by card view${o}, deferring until after response processing`),this.replanPending=!0,this.replanOptions=n??null}},user_elo(n){const r=this.userCourseRegDoc.courses.find((r=>r.courseID===n));return toCourseElo(r?r.elo:void 0)},handleClassroomMessage(){return n=>(Se({text:this.user?.getUsername()||"[Unknown user]",status:Status.ok}),console.log("[StudySession] There was a change in the classroom DB:"),console.log(`[StudySession] change: ${n}`),console.log(`[StudySession] Stringified change: ${JSON.stringify(n)}`),{})},incrementSessionClock(){const n=60*this.sessionTimeLimit-this.timeRemaining;this.sessionController.addTime(Math.min(n,60)),this.tick()},tick(){this.timeRemaining=this.sessionController.secondsRemaining,this.percentageRemaining=this.timeRemaining>60?this.timeRemaining/(60*this.sessionTimeLimit)*100:this.timeRemaining/60*100,this.$emit("time-changed",this.timeRemaining),0===this.timeRemaining&&clearInterval(this.intervalHandler)},async initSession(){let n=[];try{console.log(`[StudySession] starting study session w/ sources: ${JSON.stringify(this.contentSources)}`),console.log("[StudySession] Beginning preparation process"),this.sessionContentSources=markRaw((await Promise.all(this.contentSources.map((async n=>{try{return await getStudySource(n,this.user)}catch(r){return console.error(`Failed to load study source: ${n.type}/${n.id}`,r),null}})))).filter((n=>null!==n))),this.timeRemaining=60*this.sessionTimeLimit,n=await Promise.all(this.contentSources.filter((n=>"classroom"===n.type)).map((async n=>await this.dataLayer.getClassroomDB(n.id,"student")))),n.forEach((n=>{}));const r=void 0!==this.sessionConfig?.defaultBatchLimit?{defaultBatchLimit:this.sessionConfig.defaultBatchLimit}:void 0;this.sessionController=markRaw(new SessionController(this.sessionContentSources,60*this.sessionTimeLimit,this.dataLayer,this.getViewComponent,void 0,r)),this.sessionController.sessionRecord=this.sessionRecord,await this.sessionController.prepareSession(),this.intervalHandler=setInterval(this.tick,1e3),this.sessionPrepared=!0,console.log("[StudySession] Session preparation complete, emitting session-prepared event"),this.$emit("session-prepared"),console.log("[StudySession] Event emission completed")}catch(r){console.error("[StudySession] Error during session preparation:",r),this.$emit("session-error",{message:"Failed to prepare study session",error:r})}try{this.contentSources.filter((n=>"course"===n.type)).forEach((async n=>this.courseNames[n.id]=(await this.dataLayer.getCoursesDB().getCourseConfig(n.id)).name)),console.log(`[StudySession] Session created:\n ${this.sessionController?.toString()||"Session controller not initialized"}\n User courses: ${this.contentSources.filter((n=>"course"===n.type)).map((n=>n.id)).toString()}\n User classrooms: ${n.map((n=>n._id)).toString()||"No classrooms"}\n `)}catch(r){console.error("[StudySession] Error during final session setup:",r)}if(this.sessionController)try{this.$emit("session-started"),this.loadCard(await this.sessionController.nextCard())}catch(r){console.error("[StudySession] Error loading next card:",r),this.$emit("session-error",{message:"Failed to load study card",error:r})}else console.error("[StudySession] Cannot load card: session controller not initialized"),this.$emit("session-error",{message:"Study session initialization failed"})},countCardViews(n,r){return this.sessionRecord.filter((o=>o.card.course_id===n&&o.card.card_id===r)).length},async processResponse(n){this.$emit("card-response",n),this.timerIsActive=!0,n.cardID=this.cardID,n.courseID=this.courseID,this.currentCard.records.push(n),console.log("[StudySession] StudySession.processResponse is running...");const r=this.logCardRecord(n).catch((n=>{throw console.error("[StudySession] putCardRecord failed:",n),n}));let o=1,a=1;if(We(this.$refs.cardViewer?.$refs.activeView)){const n=this.$refs.cardViewer.$refs.activeView;o=n.maxAttemptsPerView,a=n.maxSessionViews}const s=this.countCardViews(this.courseID,this.cardID),l=await this.sessionController.submitResponse(n,r,this.userCourseRegDoc,this.currentCard,this.courseID,this.cardID,o,a,s);try{this.handleUIFeedback(l)}catch(c){console.error(`[StudySession] Error handling UI feedback: ${c}.\n\nResult: ${JSON.stringify(l)}`)}if(this.replanPending){const n=this.replanOptions,r=n?.label,o=r?` [${r}]`:"";console.log(`[StudySession] Firing deferred replan (post-submitResponse)${o}`),this.replanPending=!1,this.replanOptions=null,this.sessionController.requestReplan(n??void 0),this.$emit("replan-requested")}l.deferred?(console.log(`[StudySession] Deferred advance — stashing action: ${l.nextCardAction}`),this.deferredNextCardAction=l.nextCardAction):l.shouldLoadNextCard&&this.loadCard(await this.sessionController.nextCard(l.nextCardAction)),l.shouldClearFeedbackShadow&&this.clearFeedbackShadow()},handleUIFeedback(n){if(n.isCorrect){if(!this.frameless)try{this.$refs.shadowWrapper&&void 0!==n.performanceScore&&(this.$refs.shadowWrapper.setAttribute("style",`--r: ${255*(1-n.performanceScore)}; --g:255`),this.$refs.shadowWrapper.classList.add("correct"))}catch(r){console.warn(`[StudySession] Error setting shadowWrapper style: ${r}`)}this.sessionConfig.likesConfetti&&Gt({origin:{y:1,x:.25+.5*Math.random()},disableForReducedMotion:!0,angle:60+60*Math.random()})}else if(!this.frameless)try{this.$refs.shadowWrapper&&this.$refs.shadowWrapper.classList.add("incorrect")}catch(r){console.warn(`[StudySession] Error setting shadowWrapper style: ${r}`)}},clearFeedbackShadow(){this.frameless||setTimeout((()=>{try{this.$refs.shadowWrapper&&this.$refs.shadowWrapper.classList.remove("correct","incorrect")}catch(e3){console.warn(`[StudySession] Error clearing shadowWrapper style: ${e3}`)}}),1250)},async logCardRecord(n){console.log("[StudySession] About to call user.putCardRecord...");const r=await this.user.putCardRecord(n);return console.log("[StudySession] user.putCardRecord completed"),r},async loadCard(n){if(this.loading)console.warn("Attempted to load card while loading another...");else{if(console.log(`[StudySession] loading: ${JSON.stringify(n)}`),null===n)return this.sessionFinished=!0,void this.$emit("session-finished",this.sessionRecord);this.cardType=n.item.status,this.loading=!0,this.cardCount++,this.data=n.data,this.view=markRaw(n.view),this.cardID=n.item.cardID,this.courseID=n.item.courseID,this.card_elo=n.item.elo||1e3,this.sessionRecord.push({card:{course_id:n.item.courseID,card_id:n.item.cardID,card_elo:this.card_elo},item:n.item,records:[]}),this.$emit("card-loaded",{courseID:n.item.courseID,cardID:n.item.cardID,cardCount:this.cardCount}),this.loading=!1}}}}),Qt={key:0,class:"StudySession"},Yt={key:2},Jt={key:3},Xt={class:"text-h4"},en={key:0},tn={key:4,ref:"shadowWrapper",class:"card-transition-container"},nn={key:0},sn=ie(Wt,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-spacer"),u=resolveComponent("v-progress-circular"),d=resolveComponent("v-row"),f=resolveComponent("session-controller-debug"),m=resolveComponent("heat-map"),g=resolveComponent("card-viewer"),b=resolveComponent("StudySessionTimer"),S=resolveComponent("v-col"),k=resolveComponent("SkMouseTrap");return n.sessionPrepared?(openBlock(),createElementBlock("div",Qt,[n.frameless?createCommentVNode("",!0):(openBlock(),createBlock(d,{key:0,align:"center"},{default:withCtx((()=>[createVNode(c),n.loading?(openBlock(),createBlock(u,{key:0,color:"primary",indeterminate:"",size:"32",width:"4"})):createCommentVNode("",!0)])),_:1})),n.debugMode?(openBlock(),createBlock(f,{key:1,"session-controller":n.sessionController},null,8,["session-controller"])):createCommentVNode("",!0),n.frameless?createCommentVNode("",!0):(openBlock(),createElementBlock("br",Yt)),n.sessionFinished?(openBlock(),createElementBlock("div",Jt,[renderSlot(n.$slots,"session-finished",{sessionRecord:n.sessionRecord,report:n.sessionController?.report},(()=>[createBaseVNode("div",Xt,[r[1]||(r[1]=createBaseVNode("p",null,"Study session finished! Great job!",-1)),n.sessionController?(openBlock(),createElementBlock("p",en,toDisplayString(n.sessionController.report),1)):createCommentVNode("",!0),createVNode(m,{"activity-records-getter":()=>n.user.getActivityRecords()},null,8,["activity-records-getter"])])]),!0)])):(openBlock(),createElementBlock("div",tn,[createVNode(Transition,{name:n.transitionName,mode:n.transitionMode},{default:withCtx((()=>[(openBlock(),createBlock(g,{ref:"cardViewer",key:n.cardID,class:normalizeClass(n.loading?"muted":""),view:n.view,data:n.data,card_id:n.cardID,course_id:n.courseID,"session-order":n.cardCount,user_elo:n.user_elo(n.courseID),card_elo:n.card_elo,frameless:n.frameless,onEmitResponse:r[0]||(r[0]=r=>n.processResponse(r)),onRequestReplan:n.handleReplanRequest,onReadyToAdvance:n.handleReadyToAdvance},null,8,["class","view","data","card_id","course_id","session-order","user_elo","card_elo","frameless","onRequestReplan","onReadyToAdvance"]))])),_:1},8,["name","mode"])],512)),n.frameless?createCommentVNode("",!0):(openBlock(),createElementBlock(Fragment,{key:5},[r[2]||(r[2]=createBaseVNode("br",null,null,-1)),n.sessionController?(openBlock(),createElementBlock("div",nn,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.sessionController.failedCount,(n=>(openBlock(),createElementBlock("span",{key:n,class:"text-h5"},"•")))),128))])):createCommentVNode("",!0)],64)),n.hideFooter?createCommentVNode("",!0):(openBlock(),createBlock(d,{key:6,align:"center",class:"footer-controls pa-5"},{default:withCtx((()=>[createVNode(S,{cols:"auto",class:"d-flex flex-grow-0 mr-auto"},{default:withCtx((()=>[createVNode(b,{"time-remaining":n.timeRemaining,"session-time-limit":n.sessionTimeLimit,onAddTime:n.incrementSessionClock},null,8,["time-remaining","session-time-limit","onAddTime"])])),_:1}),createVNode(c),createVNode(S,{cols:"auto",class:"footer-right"},{default:withCtx((()=>[createVNode(k)])),_:1})])),_:1}))])):createCommentVNode("",!0)}],["__scopeId","data-v-a557e617"]]);let rn=null;const an=()=>rn,on={install(n,r){const o=r?.pinia;o&&(rn=o)}},ln=()=>{const n=an();return n&&setActivePinia(n),defineStore("previewMode",{state:()=>({previewMode:!1}),actions:{setPreviewMode(n){this.previewMode=n}},getters:{isPreviewMode(){return this.previewMode}}})()},cn=defineComponent$1({name:"UserInput",data:()=>({answer:"",previewModeStore:null}),mounted(){this.previewModeStore=ln()},computed:{autofocus(){return!this.previewModeStore?.previewMode},autoFocus(){return this.autofocus}},methods:{submitAnswer(n){return this.submit(n)},submit(n){return this.getQuestionViewAncestor().submitAnswer(n,this.$options.name??"UserInput")},getQuestionViewAncestor(){let n=this.$parent,r=0;for(;n&&!We(n);){const o=n.$parent;if(!o){const n="\nUserInput.submit() has failed.\nThe input element has no QuestionView ancestor element.";throw log$1(n),new Error(n)}if(n=o,r++,r>100){const n="\nUserInput.submit() has failed.\nExceeded maximum ancestor lookup depth.";throw log$1(n),new Error(n)}}if(!n)throw new Error("No QuestionView ancestor found");return n}}}),dn=ie(defineComponent$1({name:"MultipleChoiceOption",components:{MarkdownRenderer:defineAsyncComponent((()=>Promise.resolve().then((()=>si))))},props:{content:{type:String,required:!0},selected:{type:Boolean,required:!0},number:{type:Number,required:!0},setSelection:{type:Function,required:!0},submit:{type:Function,required:!0},markedWrong:{type:Boolean,required:!0}},computed:{className(){let n;switch(this.number){case 0:n="bg-red";break;case 1:n="bg-purple";break;case 2:n="bg-indigo";break;case 3:n="bg-light-blue";break;case 4:n="bg-teal";break;case 5:n="bg-deep-orange";break;default:n="bg-grey"}if(this.selected&&!this.markedWrong)return`choice selected ${n} lighten-3 elevation-8`;if(this.selected||this.markedWrong){if(this.selected&&this.markedWrong)return"choice selected grey lighten-2 elevation-8";if(!this.selected&&this.markedWrong)return"choice not-selected grey lighten-2 elevation-0";throw new Error("'selected' and 'markedWrong' props in MultipleChoiceOption are in an impossible configuration.")}return`choice not-selected ${n} lighten-4 elevation-1`}},methods:{select(){this.setSelection(this.number)},submitThisOption(){this.markedWrong||(this.select(),this.submit())}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("markdown-renderer"),u=resolveComponent("v-card");return openBlock(),createBlock(u,{class:normalizeClass(`${n.className}`),onMouseover:n.select,onClick:n.submitThisOption},{default:withCtx((()=>[createVNode(c,{md:n.content},null,8,["md"])])),_:1},8,["class","onMouseover","onClick"])}],["__scopeId","data-v-96de7172"]]),un=defineComponent$1({name:"RadioMultipleChoice",components:{MultipleChoiceOption:dn},extends:cn,props:{choiceList:{type:Array,required:!0}},data:()=>({currentSelection:-1,incorrectSelections:[],containerRef:null,_registeredHotkeys:[]}),watch:{choiceList:{immediate:!0,handler(n){n?.length&&this.bindKeys()}}},mounted(){this.containerRef&&this.containerRef.focus()},unmounted(){this.unbindKeys()},methods:{forwardSelection(){if(!this.choiceIsWrong(this.choiceList[this.currentSelection])&&-1!==this.currentSelection){const n={choiceList:this.choiceList,selection:this.currentSelection};this.submitAnswer(n).isCorrect||this.incorrectSelections.push(this.currentSelection)}},setSelection(n){n<this.choiceList.length&&(this.currentSelection=n)},incrementSelection(){-1===this.currentSelection?this.currentSelection=Math.ceil(this.choiceList.length/2):this.currentSelection=Math.min(this.choiceList.length-1,this.currentSelection+1)},decrementSelection(){-1===this.currentSelection?this.currentSelection=Math.floor(this.choiceList.length/2-1):this.currentSelection=Math.max(0,this.currentSelection-1)},choiceIsWrong(n){let r=!1;return this.incorrectSelections.forEach((o=>{this.choiceList[o]===n&&(r=!0)})),r},bindKeys(){const n=[{hotkey:"left",callback:this.decrementSelection,command:"Move selection left"},{hotkey:"right",callback:this.incrementSelection,command:"Move selection right"},{hotkey:"enter",callback:this.forwardSelection,command:"Submit selection"},...Array.from({length:this.choiceList.length},((n,r)=>({hotkey:(r+1).toString(),callback:()=>this.setSelection(r),command:`Select ${(n=>{switch(n){case 0:return"first";case 1:return"second";case 2:return"third";case 3:return"fourth";case 4:return"fifth";case 5:return"sixth";default:return`${n+1}th`}})(r)} option`})))];be.addBinding(n),this._registeredHotkeys=n.map((n=>n.hotkey))},unbindKeys(){this._registeredHotkeys&&this._registeredHotkeys.forEach((n=>{be.removeBinding(n)}))}}}),hn={ref:"containerRef",class:"multipleChoice"},pn=ie(un,[["render",function(n,r,o,a,s,l){const c=resolveComponent("MultipleChoiceOption");return openBlock(),createElementBlock("div",hn,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.choiceList,((r,o)=>(openBlock(),createBlock(c,{key:o,content:r,selected:n.choiceList.indexOf(r)===n.currentSelection,number:n.choiceList.indexOf(r),"set-selection":n.setSelection,submit:n.forwardSelection,"marked-wrong":n.choiceIsWrong(r)},null,8,["content","selected","number","set-selection","submit","marked-wrong"])))),128))],512)}]]),gn=defineComponent$1({name:"TrueFalse",components:{RadioMultipleChoice:pn},props:{MouseTrap:{type:Object,required:!0},submit:{type:Function,required:!0}}}),mn={"data-viewable":"TrueFalse"},fn=ie(gn,[["render",function(n,r,o,a,s,l){const c=resolveComponent("RadioMultipleChoice");return openBlock(),createElementBlock("div",mn,[createVNode(c,{"choice-list":["True","False"],MouseTrap:n.MouseTrap,submit:n.submit},null,8,["MouseTrap","submit"])])}]]),bn=ie(defineComponent$1({name:"UserInputNumber",ref:{},extends:cn,methods:{mounted(){this.$refs.input.focus()},isNumeric:n=>!isNaN(Number.parseFloat(n)),makeNumeric(n){if("string"==typeof n)return Number.parseFloat(n);throw new Error("Expected a string, got "+typeof n)}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-text-field"),u=resolveComponent("v-container");return openBlock(),createBlock(u,{class:"pa-0"},{default:withCtx((()=>[createVNode(c,{ref:"input",modelValue:n.answer,"onUpdate:modelValue":r[0]||(r[0]=r=>n.answer=r),"prepend-icon":"edit",autofocus:n.autofocus,"row-height":"24","toggle-keys":"[13,32]",class:"text-h5",rules:[n.isNumeric],onKeyup:r[1]||(r[1]=withKeys((r=>n.submitAnswer(n.makeNumeric(n.answer))),["enter"]))},null,8,["modelValue","autofocus","rules"])])),_:1})}],["__scopeId","data-v-a56dcd1c"]]),yn=defineComponent$1({name:"UserInputString",extends:cn,props:{icon:{type:Boolean,required:!1}},computed:{prependIcon(){return this.icon?"edit":""}},mounted(){this.$refs.input?.focus()},methods:{}}),kn={class:"user-input-container"},vn=["autofocus"],wn=ie(yn,[["render",function(n,r,o,a,s,l){return openBlock(),createElementBlock("span",kn,[withDirectives(createBaseVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=r=>n.answer=r),autofocus:n.autofocus,type:"text",class:"user-input-string",ref:"input",onKeyup:r[1]||(r[1]=withKeys((r=>n.submitAnswer(n.answer)),["enter"]))},null,40,vn),[[vModelText,n.answer]])])}],["__scopeId","data-v-aa14961f"]]),xn=defineComponent$1({name:"FillInInput",components:{UserInputString:wn},props:{text:{type:String,required:!0}},setup(n){const r=ref("text"),o=ref(""),a=computed((()=>n.text.split("||").length>1));return onMounted((()=>{console.log(`fillinCreated w/ text: ${n.text}`),o.value=n.text.substring(2,n.text.length-2),console.log(`fillin text trimmed to: ${o.value}`),o.value.split("||").length>1&&(r.value="radio")})),{inputType:r,radioType:a,processedText:o}}}),_n={key:0,class:"text-h5 underline"},Sn=ie(xn,[["render",function(n,r,o,a,s,l){const c=resolveComponent("user-input-string");return n.radioType?(openBlock(),createElementBlock("span",_n," ")):(openBlock(),createBlock(c,{key:1,id:"input",icon:!1,type:"text",value:n.processedText},null,8,["value"]))}],["__scopeId","data-v-486ac035"]]),Cn=ie(defineComponent$1({name:"CardLoader",components:{CardViewer:it},props:{sessionOrder:{type:Number,required:!1,default:0},qualified_id:{type:Object,required:!0},viewLookup:{type:Function,required:!0}},data:()=>({loading:!0,view:null,data:[],courseID:"",cardID:""}),created(){this.loadCard()},watch:{qualified_id:{immediate:!0,handler(){this.loadCard()}}},methods:{processResponse(n){log$1(`\n Card was displayed at ${n.timeStamp}\n User spent ${n.timeSpent} milliseconds with the card.\n `),this.$emit("emitResponse",n)},async loadCard(){const n=this.qualified_id;console.log(`Card Loader displaying: ${n.courseID}::${n.cardID}`),this.loading=!0;const r=n.courseID,o=n.cardID,a=getDataLayer().getCourseDB(r);try{const n=await a.getCourseDoc(o),s=this.viewLookup(n.id_view),l=n.id_displayable_data.map((n=>a.getCourseDoc(n,{attachments:!0,binary:!0}))),c=[];for(const r of l){const n=await r;c.unshift(displayableDataToViewData(n))}this.data=c,this.view=markRaw(s),this.cardID=o,this.courseID=r}catch(s){throw new Error(`[CardLoader] Error loading card: ${JSON.stringify(s)}, ${s}`)}finally{this.loading=!1,this.$emit("card-loaded")}}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("card-viewer");return n.loading?createCommentVNode("",!0):(openBlock(),createBlock(c,{key:0,class:normalizeClass(["ma-2",n.loading?"muted":""]),view:n.view,data:n.data,card_id:n.cardID,course_id:n.courseID,"session-order":n.sessionOrder,onEmitResponse:r[0]||(r[0]=r=>n.processResponse(r))},null,8,["class","view","data","card_id","course_id","session-order"]))}],["__scopeId","data-v-93f758b5"]]);function En(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Rn={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function Tn(n){Rn=n}const An={exec:()=>null};function In(n,r=""){let o="string"==typeof n?n:n.source;const a={replace:(n,r)=>{let s="string"==typeof r?r:r.source;return s=s.replace(Mn.caret,"$1"),o=o.replace(n,s),a},getRegex:()=>new RegExp(o,r)};return a}const Mn={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},$n=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Nn=/(?:[*+-]|\d{1,9}[.)])/,Dn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,On=In(Dn).replace(/bull/g,Nn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Ln=In(Dn).replace(/bull/g,Nn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Pn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Bn=/(?!\s*\])(?:\\.|[^\[\]\\])+/,zn=In(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Bn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),jn=In(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Nn).getRegex(),Un="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Fn=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,qn=In("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",Fn).replace("tag",Un).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Vn=In(Pn).replace("hr",$n).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Un).getRegex(),Hn={blockquote:In(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Vn).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:zn,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:$n,html:qn,lheading:On,list:jn,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:Vn,table:An,text:/^[^\n]+/},Zn=In("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$n).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Un).getRegex(),Kn={...Hn,lheading:Ln,table:Zn,paragraph:In(Pn).replace("hr",$n).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Zn).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Un).getRegex()},Gn={...Hn,html:In("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Fn).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:An,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:In(Pn).replace("hr",$n).replace("heading"," *#{1,6} *[^\n]").replace("lheading",On).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Wn=/^( {2,}|\\)\n(?!\s*$)/,Qn=/[\p{P}\p{S}]/u,Yn=/[\s\p{P}\p{S}]/u,Jn=/[^\s\p{P}\p{S}]/u,Xn=In(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Yn).getRegex(),es=/(?!~)[\p{P}\p{S}]/u,ts=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,ns=In(ts,"u").replace(/punct/g,Qn).getRegex(),ss=In(ts,"u").replace(/punct/g,es).getRegex(),rs="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",is=In(rs,"gu").replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,Yn).replace(/punct/g,Qn).getRegex(),as=In(rs,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,es).getRegex(),os=In("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,Yn).replace(/punct/g,Qn).getRegex(),ls=In(/\\(punct)/,"gu").replace(/punct/g,Qn).getRegex(),cs=In(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ds=In(Fn).replace("(?:--\x3e|$)","--\x3e").getRegex(),us=In("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",ds).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hs=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ps=In(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",hs).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),gs=In(/^!?\[(label)\]\[(ref)\]/).replace("label",hs).replace("ref",Bn).getRegex(),ms=In(/^!?\[(ref)\](?:\[\])?/).replace("ref",Bn).getRegex(),fs={_backpedal:An,anyPunctuation:ls,autolink:cs,blockSkip:/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,br:Wn,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:An,emStrongLDelim:ns,emStrongRDelimAst:is,emStrongRDelimUnd:os,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:ps,nolink:ms,punctuation:Xn,reflink:gs,reflinkSearch:In("reflink|nolink(?!\\()","g").replace("reflink",gs).replace("nolink",ms).getRegex(),tag:us,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:An},bs={...fs,link:In(/^!?\[(label)\]\((.*?)\)/).replace("label",hs).getRegex(),reflink:In(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hs).getRegex()},ys={...fs,emStrongRDelimAst:as,emStrongLDelim:ss,url:In(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ks={...ys,br:In(Wn).replace("{2,}","*").getRegex(),text:In(ys.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},vs={normal:Hn,gfm:Kn,pedantic:Gn},ws={normal:fs,gfm:ys,breaks:ks,pedantic:bs},xs={"&":"&","<":"<",">":">",'"':""","'":"'"},_s=n=>xs[n];function Ss(n,r){if(r){if(Mn.escapeTest.test(n))return n.replace(Mn.escapeReplace,_s)}else if(Mn.escapeTestNoEncode.test(n))return n.replace(Mn.escapeReplaceNoEncode,_s);return n}function Cs(n){try{n=encodeURI(n).replace(Mn.percentDecode,"%")}catch{return null}return n}function Es(n,r){const o=n.replace(Mn.findPipe,((n,r,o)=>{let a=!1,s=r;for(;--s>=0&&"\\"===o[s];)a=!a;return a?"|":" |"})).split(Mn.splitPipe);let a=0;if(o[0].trim()||o.shift(),o.length>0&&!o.at(-1)?.trim()&&o.pop(),r)if(o.length>r)o.splice(r);else for(;o.length<r;)o.push("");for(;a<o.length;a++)o[a]=o[a].trim().replace(Mn.slashPipe,"|");return o}function Rs(n,r,o){const a=n.length;if(0===a)return"";let s=0;for(;s<a&&n.charAt(a-s-1)===r;)s++;return n.slice(0,a-s)}function Ts(n,r,o,a,s){const l=r.href,c=r.title||null,u=n[1].replace(s.other.outputLinkReplace,"$1");if("!"!==n[0].charAt(0)){a.state.inLink=!0;const n={type:"link",raw:o,href:l,title:c,text:u,tokens:a.inlineTokens(u)};return a.state.inLink=!1,n}return{type:"image",raw:o,href:l,title:c,text:u}}class _Tokenizer{constructor(n){t(this,"options"),t(this,"rules"),t(this,"lexer"),this.options=n||Rn}space(n){const r=this.rules.block.newline.exec(n);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(n){const r=this.rules.block.code.exec(n);if(r){const n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Rs(n,"\n")}}}fences(n){const r=this.rules.block.fences.exec(n);if(r){const n=r[0],o=function(n,r,o){const a=n.match(o.other.indentCodeCompensation);if(null===a)return r;const s=a[1];return r.split("\n").map((n=>{const r=n.match(o.other.beginningSpace);if(null===r)return n;const[a]=r;return a.length>=s.length?n.slice(s.length):n})).join("\n")}(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:o}}}heading(n){const r=this.rules.block.heading.exec(n);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){const r=Rs(n,"#");this.options.pedantic?n=r.trim():r&&!this.rules.other.endingSpaceChar.test(r)||(n=r.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(n){const r=this.rules.block.hr.exec(n);if(r)return{type:"hr",raw:Rs(r[0],"\n")}}blockquote(n){const r=this.rules.block.blockquote.exec(n);if(r){let n=Rs(r[0],"\n").split("\n"),o="",a="";const s=[];for(;n.length>0;){let r=!1;const l=[];let c;for(c=0;c<n.length;c++)if(this.rules.other.blockquoteStart.test(n[c]))l.push(n[c]),r=!0;else{if(r)break;l.push(n[c])}n=n.slice(c);const u=l.join("\n"),d=u.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");o=o?`${o}\n${u}`:u,a=a?`${a}\n${d}`:d;const f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,s,!0),this.lexer.state.top=f,0===n.length)break;const m=s.at(-1);if("code"===m?.type)break;if("blockquote"===m?.type){const r=m,l=r.raw+"\n"+n.join("\n"),c=this.blockquote(l);s[s.length-1]=c,o=o.substring(0,o.length-r.raw.length)+c.raw,a=a.substring(0,a.length-r.text.length)+c.text;break}if("list"!==m?.type);else{const r=m,l=r.raw+"\n"+n.join("\n"),c=this.list(l);s[s.length-1]=c,o=o.substring(0,o.length-m.raw.length)+c.raw,a=a.substring(0,a.length-r.raw.length)+c.raw,n=l.substring(s.at(-1).raw.length).split("\n")}}return{type:"blockquote",raw:o,tokens:s,text:a}}}list(n){let r=this.rules.block.list.exec(n);if(r){let o=r[1].trim();const a=o.length>1,s={type:"list",raw:"",ordered:a,start:a?+o.slice(0,-1):"",loose:!1,items:[]};o=a?`\\d{1,9}\\${o.slice(-1)}`:`\\${o}`,this.options.pedantic&&(o=a?o:"[*+-]");const l=this.rules.other.listItemRegex(o);let c=!1;for(;n;){let o=!1,a="",u="";if(!(r=l.exec(n)))break;if(this.rules.block.hr.test(n))break;a=r[0],n=n.substring(a.length);let d=r[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,(n=>" ".repeat(3*n.length))),f=n.split("\n",1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,u=d.trimStart()):m?g=r[1].length+1:(g=r[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,u=d.slice(g),g+=r[1].length),m&&this.rules.other.blankLine.test(f)&&(a+=f+"\n",n=n.substring(f.length+1),o=!0),!o){const r=this.rules.other.nextBulletRegex(g),o=this.rules.other.hrRegex(g),s=this.rules.other.fencesBeginRegex(g),l=this.rules.other.headingBeginRegex(g),c=this.rules.other.htmlBeginRegex(g);for(;n;){const b=n.split("\n",1)[0];let S;if(f=b,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),S=f):S=f.replace(this.rules.other.tabCharGlobal," "),s.test(f))break;if(l.test(f))break;if(c.test(f))break;if(r.test(f))break;if(o.test(f))break;if(S.search(this.rules.other.nonSpaceChar)>=g||!f.trim())u+="\n"+S.slice(g);else{if(m)break;if(d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4)break;if(s.test(d))break;if(l.test(d))break;if(o.test(d))break;u+="\n"+f}m||f.trim()||(m=!0),a+=b+"\n",n=n.substring(b.length+1),d=S.slice(g)}}s.loose||(c?s.loose=!0:this.rules.other.doubleBlankLine.test(a)&&(c=!0));let b,S=null;this.options.gfm&&(S=this.rules.other.listIsTask.exec(u),S&&(b="[ ] "!==S[0],u=u.replace(this.rules.other.listReplaceTask,""))),s.items.push({type:"list_item",raw:a,task:!!S,checked:b,loose:!1,text:u,tokens:[]}),s.raw+=a}const u=s.items.at(-1);if(!u)return;u.raw=u.raw.trimEnd(),u.text=u.text.trimEnd(),s.raw=s.raw.trimEnd();for(let n=0;n<s.items.length;n++)if(this.lexer.state.top=!1,s.items[n].tokens=this.lexer.blockTokens(s.items[n].text,[]),!s.loose){const r=s.items[n].tokens.filter((n=>"space"===n.type)),o=r.length>0&&r.some((n=>this.rules.other.anyLine.test(n.raw)));s.loose=o}if(s.loose)for(let n=0;n<s.items.length;n++)s.items[n].loose=!0;return s}}html(n){const r=this.rules.block.html.exec(n);if(r)return{type:"html",block:!0,raw:r[0],pre:"pre"===r[1]||"script"===r[1]||"style"===r[1],text:r[0]}}def(n){const r=this.rules.block.def.exec(n);if(r){const n=r[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),o=r[2]?r[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:o,title:a}}}table(n){const r=this.rules.block.table.exec(n);if(!r)return;if(!this.rules.other.tableDelimiter.test(r[2]))return;const o=Es(r[1]),a=r[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=r[3]?.trim()?r[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],l={type:"table",raw:r[0],header:[],align:[],rows:[]};if(o.length===a.length){for(const n of a)this.rules.other.tableAlignRight.test(n)?l.align.push("right"):this.rules.other.tableAlignCenter.test(n)?l.align.push("center"):this.rules.other.tableAlignLeft.test(n)?l.align.push("left"):l.align.push(null);for(let n=0;n<o.length;n++)l.header.push({text:o[n],tokens:this.lexer.inline(o[n]),header:!0,align:l.align[n]});for(const n of s)l.rows.push(Es(n,l.header.length).map(((n,r)=>({text:n,tokens:this.lexer.inline(n),header:!1,align:l.align[r]}))));return l}}lheading(n){const r=this.rules.block.lheading.exec(n);if(r)return{type:"heading",raw:r[0],depth:"="===r[2].charAt(0)?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(n){const r=this.rules.block.paragraph.exec(n);if(r){const n="\n"===r[1].charAt(r[1].length-1)?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(n){const r=this.rules.block.text.exec(n);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(n){const r=this.rules.inline.escape.exec(n);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(n){const r=this.rules.inline.tag.exec(n);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(n){const r=this.rules.inline.link.exec(n);if(r){const n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;const r=Rs(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{const n=function(n,r){if(-1===n.indexOf(r[1]))return-1;let o=0;for(let a=0;a<n.length;a++)if("\\"===n[a])a++;else if(n[a]===r[0])o++;else if(n[a]===r[1]&&(o--,o<0))return a;return-1}(r[2],"()");if(n>-1){const o=(0===r[0].indexOf("!")?5:4)+r[1].length+n;r[2]=r[2].substring(0,n),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let o=r[2],a="";if(this.options.pedantic){const n=this.rules.other.pedanticHrefTitle.exec(o);n&&(o=n[1],a=n[3])}else a=r[3]?r[3].slice(1,-1):"";return o=o.trim(),this.rules.other.startAngleBracket.test(o)&&(o=this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?o.slice(1):o.slice(1,-1)),Ts(r,{href:o?o.replace(this.rules.inline.anyPunctuation,"$1"):o,title:a?a.replace(this.rules.inline.anyPunctuation,"$1"):a},r[0],this.lexer,this.rules)}}reflink(n,r){let o;if((o=this.rules.inline.reflink.exec(n))||(o=this.rules.inline.nolink.exec(n))){const n=r[(o[2]||o[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!n){const n=o[0].charAt(0);return{type:"text",raw:n,text:n}}return Ts(o,n,o[0],this.lexer,this.rules)}}emStrong(n,r,o=""){let a=this.rules.inline.emStrongLDelim.exec(n);if(a&&(!a[3]||!o.match(this.rules.other.unicodeAlphaNumeric))&&(!a[1]&&!a[2]||!o||this.rules.inline.punctuation.exec(o))){const o=[...a[0]].length-1;let s,l,c=o,u=0;const d="*"===a[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*n.length+o);null!=(a=d.exec(r));){if(s=a[1]||a[2]||a[3]||a[4]||a[5]||a[6],!s)continue;if(l=[...s].length,a[3]||a[4]){c+=l;continue}if((a[5]||a[6])&&o%3&&!((o+l)%3)){u+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+u);const r=[...a[0]][0].length,d=n.slice(0,o+a.index+r+l);if(Math.min(o,l)%2){const n=d.slice(1,-1);return{type:"em",raw:d,text:n,tokens:this.lexer.inlineTokens(n)}}const f=d.slice(2,-2);return{type:"strong",raw:d,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(n){const r=this.rules.inline.code.exec(n);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," ");const o=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return o&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(n){const r=this.rules.inline.br.exec(n);if(r)return{type:"br",raw:r[0]}}del(n){const r=this.rules.inline.del.exec(n);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(n){const r=this.rules.inline.autolink.exec(n);if(r){let n,o;return"@"===r[2]?(n=r[1],o="mailto:"+n):(n=r[1],o=n),{type:"link",raw:r[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}url(n){let r;if(r=this.rules.inline.url.exec(n)){let n,o;if("@"===r[2])n=r[0],o="mailto:"+n;else{let a;do{a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??""}while(a!==r[0]);n=r[0],o="www."===r[1]?"http://"+r[0]:r[0]}return{type:"link",raw:r[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(n){const r=this.rules.inline.text.exec(n);if(r){const n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}}class _Lexer{constructor(n){t(this,"tokens"),t(this,"options"),t(this,"state"),t(this,"tokenizer"),t(this,"inlineQueue"),this.tokens=[],this.tokens.links=Object.create(null),this.options=n||Rn,this.options.tokenizer=this.options.tokenizer||new _Tokenizer,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const r={other:Mn,block:vs.normal,inline:ws.normal};this.options.pedantic?(r.block=vs.pedantic,r.inline=ws.pedantic):this.options.gfm&&(r.block=vs.gfm,this.options.breaks?r.inline=ws.breaks:r.inline=ws.gfm),this.tokenizer.rules=r}static get rules(){return{block:vs,inline:ws}}static lex(n,r){return new _Lexer(r).lex(n)}static lexInline(n,r){return new _Lexer(r).inlineTokens(n)}lex(n){n=n.replace(Mn.carriageReturn,"\n"),this.blockTokens(n,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){const n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(n,r=[],o=!1){for(this.options.pedantic&&(n=n.replace(Mn.tabCharGlobal," ").replace(Mn.spaceLine,""));n;){let a;if(this.options.extensions?.block?.some((o=>!!(a=o.call({lexer:this},n,r))&&(n=n.substring(a.raw.length),r.push(a),!0))))continue;if(a=this.tokenizer.space(n)){n=n.substring(a.raw.length);const o=r.at(-1);1===a.raw.length&&void 0!==o?o.raw+="\n":r.push(a);continue}if(a=this.tokenizer.code(n)){n=n.substring(a.raw.length);const o=r.at(-1);"paragraph"===o?.type||"text"===o?.type?(o.raw+="\n"+a.raw,o.text+="\n"+a.text,this.inlineQueue.at(-1).src=o.text):r.push(a);continue}if(a=this.tokenizer.fences(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.heading(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.hr(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.blockquote(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.list(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.html(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.def(n)){n=n.substring(a.raw.length);const o=r.at(-1);"paragraph"===o?.type||"text"===o?.type?(o.raw+="\n"+a.raw,o.text+="\n"+a.raw,this.inlineQueue.at(-1).src=o.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title});continue}if(a=this.tokenizer.table(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.lheading(n)){n=n.substring(a.raw.length),r.push(a);continue}let s=n;if(this.options.extensions?.startBlock){let r=1/0;const o=n.slice(1);let a;this.options.extensions.startBlock.forEach((n=>{a=n.call({lexer:this},o),"number"==typeof a&&a>=0&&(r=Math.min(r,a))})),r<1/0&&r>=0&&(s=n.substring(0,r+1))}if(this.state.top&&(a=this.tokenizer.paragraph(s))){const l=r.at(-1);o&&"paragraph"===l?.type?(l.raw+="\n"+a.raw,l.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):r.push(a),o=s.length!==n.length,n=n.substring(a.raw.length)}else if(a=this.tokenizer.text(n)){n=n.substring(a.raw.length);const o=r.at(-1);"text"===o?.type?(o.raw+="\n"+a.raw,o.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):r.push(a)}else if(n){const r="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(r);break}throw new Error(r)}}return this.state.top=!0,r}inline(n,r=[]){return this.inlineQueue.push({src:n,tokens:r}),r}inlineTokens(n,r=[]){let o=n,a=null;if(this.tokens.links){const n=Object.keys(this.tokens.links);if(n.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(o));)n.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(o));)o=o.slice(0,a.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s=!1,l="";for(;n;){let a;if(s||(l=""),s=!1,this.options.extensions?.inline?.some((o=>!!(a=o.call({lexer:this},n,r))&&(n=n.substring(a.raw.length),r.push(a),!0))))continue;if(a=this.tokenizer.escape(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.tag(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.link(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.reflink(n,this.tokens.links)){n=n.substring(a.raw.length);const o=r.at(-1);"text"===a.type&&"text"===o?.type?(o.raw+=a.raw,o.text+=a.text):r.push(a);continue}if(a=this.tokenizer.emStrong(n,o,l)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.codespan(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.br(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.del(n)){n=n.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.autolink(n)){n=n.substring(a.raw.length),r.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(n))){n=n.substring(a.raw.length),r.push(a);continue}let c=n;if(this.options.extensions?.startInline){let r=1/0;const o=n.slice(1);let a;this.options.extensions.startInline.forEach((n=>{a=n.call({lexer:this},o),"number"==typeof a&&a>=0&&(r=Math.min(r,a))})),r<1/0&&r>=0&&(c=n.substring(0,r+1))}if(a=this.tokenizer.inlineText(c)){n=n.substring(a.raw.length),"_"!==a.raw.slice(-1)&&(l=a.raw.slice(-1)),s=!0;const o=r.at(-1);"text"===o?.type?(o.raw+=a.raw,o.text+=a.text):r.push(a)}else if(n){const r="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(r);break}throw new Error(r)}}return r}}class _Renderer{constructor(n){t(this,"options"),t(this,"parser"),this.options=n||Rn}space(n){return""}code({text:n,lang:r,escaped:o}){const a=(r||"").match(Mn.notSpaceStart)?.[0],s=n.replace(Mn.endingNewline,"")+"\n";return a?'<pre><code class="language-'+Ss(a)+'">'+(o?s:Ss(s,!0))+"</code></pre>\n":"<pre><code>"+(o?s:Ss(s,!0))+"</code></pre>\n"}blockquote({tokens:n}){return`<blockquote>\n${this.parser.parse(n)}</blockquote>\n`}html({text:n}){return n}heading({tokens:n,depth:r}){return`<h${r}>${this.parser.parseInline(n)}</h${r}>\n`}hr(n){return"<hr>\n"}list(n){const r=n.ordered,o=n.start;let a="";for(let l=0;l<n.items.length;l++){const r=n.items[l];a+=this.listitem(r)}const s=r?"ol":"ul";return"<"+s+(r&&1!==o?' start="'+o+'"':"")+">\n"+a+"</"+s+">\n"}listitem(n){let r="";if(n.task){const o=this.checkbox({checked:!!n.checked});n.loose?"paragraph"===n.tokens[0]?.type?(n.tokens[0].text=o+" "+n.tokens[0].text,n.tokens[0].tokens&&n.tokens[0].tokens.length>0&&"text"===n.tokens[0].tokens[0].type&&(n.tokens[0].tokens[0].text=o+" "+Ss(n.tokens[0].tokens[0].text),n.tokens[0].tokens[0].escaped=!0)):n.tokens.unshift({type:"text",raw:o+" ",text:o+" ",escaped:!0}):r+=o+" "}return r+=this.parser.parse(n.tokens,!!n.loose),`<li>${r}</li>\n`}checkbox({checked:n}){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>\n`}table(n){let r="",o="";for(let s=0;s<n.header.length;s++)o+=this.tablecell(n.header[s]);r+=this.tablerow({text:o});let a="";for(let s=0;s<n.rows.length;s++){const r=n.rows[s];o="";for(let n=0;n<r.length;n++)o+=this.tablecell(r[n]);a+=this.tablerow({text:o})}return a&&(a=`<tbody>${a}</tbody>`),"<table>\n<thead>\n"+r+"</thead>\n"+a+"</table>\n"}tablerow({text:n}){return`<tr>\n${n}</tr>\n`}tablecell(n){const r=this.parser.parseInline(n.tokens),o=n.header?"th":"td";return(n.align?`<${o} align="${n.align}">`:`<${o}>`)+r+`</${o}>\n`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${Ss(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:r,tokens:o}){const a=this.parser.parseInline(o),s=Cs(n);if(null===s)return a;let l='<a href="'+(n=s)+'"';return r&&(l+=' title="'+Ss(r)+'"'),l+=">"+a+"</a>",l}image({href:n,title:r,text:o}){const a=Cs(n);if(null===a)return Ss(o);let s=`<img src="${n=a}" alt="${o}"`;return r&&(s+=` title="${Ss(r)}"`),s+=">",s}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:Ss(n.text)}}class _TextRenderer{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}}class _Parser{constructor(n){t(this,"options"),t(this,"renderer"),t(this,"textRenderer"),this.options=n||Rn,this.options.renderer=this.options.renderer||new _Renderer,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _TextRenderer}static parse(n,r){return new _Parser(r).parse(n)}static parseInline(n,r){return new _Parser(r).parseInline(n)}parse(n,r=!0){let o="";for(let a=0;a<n.length;a++){const s=n[a];if(this.options.extensions?.renderers?.[s.type]){const n=s,r=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==r||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){o+=r||"";continue}}const l=s;switch(l.type){case"space":o+=this.renderer.space(l);continue;case"hr":o+=this.renderer.hr(l);continue;case"heading":o+=this.renderer.heading(l);continue;case"code":o+=this.renderer.code(l);continue;case"table":o+=this.renderer.table(l);continue;case"blockquote":o+=this.renderer.blockquote(l);continue;case"list":o+=this.renderer.list(l);continue;case"html":o+=this.renderer.html(l);continue;case"paragraph":o+=this.renderer.paragraph(l);continue;case"text":{let s=l,c=this.renderer.text(s);for(;a+1<n.length&&"text"===n[a+1].type;)s=n[++a],c+="\n"+this.renderer.text(s);o+=r?this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c,escaped:!0}]}):c;continue}default:{const n='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return o}parseInline(n,r=this.renderer){let o="";for(let a=0;a<n.length;a++){const s=n[a];if(this.options.extensions?.renderers?.[s.type]){const n=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==n||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){o+=n||"";continue}}const l=s;switch(l.type){case"escape":case"text":o+=r.text(l);break;case"html":o+=r.html(l);break;case"link":o+=r.link(l);break;case"image":o+=r.image(l);break;case"strong":o+=r.strong(l);break;case"em":o+=r.em(l);break;case"codespan":o+=r.codespan(l);break;case"br":o+=r.br(l);break;case"del":o+=r.del(l);break;default:{const n='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return o}}class _Hooks{constructor(n){t(this,"options"),t(this,"block"),this.options=n||Rn}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}provideLexer(){return this.block?_Lexer.lex:_Lexer.lexInline}provideParser(){return this.block?_Parser.parse:_Parser.parseInline}}t(_Hooks,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));const As=new class Marked{constructor(...n){t(this,"defaults",{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}),t(this,"options",this.setOptions),t(this,"parse",this.parseMarkdown(!0)),t(this,"parseInline",this.parseMarkdown(!1)),t(this,"Parser",_Parser),t(this,"Renderer",_Renderer),t(this,"TextRenderer",_TextRenderer),t(this,"Lexer",_Lexer),t(this,"Tokenizer",_Tokenizer),t(this,"Hooks",_Hooks),this.use(...n)}walkTokens(n,r){let o=[];for(const a of n)switch(o=o.concat(r.call(this,a)),a.type){case"table":{const n=a;for(const a of n.header)o=o.concat(this.walkTokens(a.tokens,r));for(const a of n.rows)for(const n of a)o=o.concat(this.walkTokens(n.tokens,r));break}case"list":{const n=a;o=o.concat(this.walkTokens(n.items,r));break}default:{const n=a;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach((a=>{const s=n[a].flat(1/0);o=o.concat(this.walkTokens(s,r))})):n.tokens&&(o=o.concat(this.walkTokens(n.tokens,r)))}}return o}use(...n){const r=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach((n=>{const o={...n};if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach((n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){const o=r.renderers[n.name];r.renderers[n.name]=o?function(...r){let a=n.renderer.apply(this,r);return!1===a&&(a=o.apply(this,r)),a}:n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");const o=r[n.level];o?o.unshift(n.tokenizer):r[n.level]=[n.tokenizer],n.start&&("block"===n.level?r.startBlock?r.startBlock.push(n.start):r.startBlock=[n.start]:"inline"===n.level&&(r.startInline?r.startInline.push(n.start):r.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(r.childTokens[n.name]=n.childTokens)})),o.extensions=r),n.renderer){const r=this.defaults.renderer||new _Renderer(this.defaults);for(const o in n.renderer){if(!(o in r))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;const a=o,s=n.renderer[a],l=r[a];r[a]=(...n)=>{let o=s.apply(r,n);return!1===o&&(o=l.apply(r,n)),o||""}}o.renderer=r}if(n.tokenizer){const r=this.defaults.tokenizer||new _Tokenizer(this.defaults);for(const o in n.tokenizer){if(!(o in r))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;const a=o,s=n.tokenizer[a],l=r[a];r[a]=(...n)=>{let o=s.apply(r,n);return!1===o&&(o=l.apply(r,n)),o}}o.tokenizer=r}if(n.hooks){const r=this.defaults.hooks||new _Hooks;for(const o in n.hooks){if(!(o in r))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;const a=o,s=n.hooks[a],l=r[a];_Hooks.passThroughHooks.has(o)?r[a]=n=>{if(this.defaults.async)return Promise.resolve(s.call(r,n)).then((n=>l.call(r,n)));const o=s.call(r,n);return l.call(r,o)}:r[a]=(...n)=>{let o=s.apply(r,n);return!1===o&&(o=l.apply(r,n)),o}}o.hooks=r}if(n.walkTokens){const r=this.defaults.walkTokens,a=n.walkTokens;o.walkTokens=function(n){let o=[];return o.push(a.call(this,n)),r&&(o=o.concat(r.call(this,n))),o}}this.defaults={...this.defaults,...o}})),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,r){return _Lexer.lex(n,r??this.defaults)}parser(n,r){return _Parser.parse(n,r??this.defaults)}parseMarkdown(n){return(r,o)=>{const a={...o},s={...this.defaults,...a},l=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===a.async)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==r)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));s.hooks&&(s.hooks.options=s,s.hooks.block=n);const c=s.hooks?s.hooks.provideLexer():n?_Lexer.lex:_Lexer.lexInline,u=s.hooks?s.hooks.provideParser():n?_Parser.parse:_Parser.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(r):r).then((n=>c(n,s))).then((n=>s.hooks?s.hooks.processAllTokens(n):n)).then((n=>s.walkTokens?Promise.all(this.walkTokens(n,s.walkTokens)).then((()=>n)):n)).then((n=>u(n,s))).then((n=>s.hooks?s.hooks.postprocess(n):n)).catch(l);try{s.hooks&&(r=s.hooks.preprocess(r));let n=c(r,s);s.hooks&&(n=s.hooks.processAllTokens(n)),s.walkTokens&&this.walkTokens(n,s.walkTokens);let o=u(n,s);return s.hooks&&(o=s.hooks.postprocess(o)),o}catch(d){return l(d)}}}onError(n,r){return o=>{if(o.message+="\nPlease report this to https://github.com/markedjs/marked.",n){const n="<p>An error occurred:</p><pre>"+Ss(o.message+"",!0)+"</pre>";return r?Promise.resolve(n):n}if(r)return Promise.reject(o);throw o}}};function Is(n,r){return As.parse(n,r)}Is.options=Is.setOptions=function(n){return As.setOptions(n),Is.defaults=As.defaults,Tn(Is.defaults),Is},Is.getDefaults=En,Is.defaults=Rn,Is.use=function(...n){return As.use(...n),Is.defaults=As.defaults,Tn(Is.defaults),Is},Is.walkTokens=function(n,r){return As.walkTokens(n,r)},Is.parseInline=As.parseInline,Is.Parser=_Parser,Is.parser=_Parser.parse,Is.Renderer=_Renderer,Is.TextRenderer=_TextRenderer,Is.Lexer=_Lexer,Is.lexer=_Lexer.lex,Is.Tokenizer=_Tokenizer,Is.Hooks=_Hooks,Is.parse=Is,Is.options,Is.setOptions,Is.use,Is.walkTokens,Is.parseInline,_Parser.parse;const Ms=_Lexer.lex;function $s(n,r,o){if(0===n.length)return[];let a=[];const s=n.indexOf(r),l=n.indexOf(o,s);return s>=0&&l>s?(a.push(n.substring(0,s)),a.push(n.substring(s,l+o.length)),a=a.concat($s(n.substring(l+o.length),r,o)),a):[n]}function Ns(n){if(Os(n)){const r=$s(n.text,"{{","}}"),o=$s(n.raw,"{{","}}");if(r.length===o.length)return r.map(((n,a)=>({type:"text",text:r[a],raw:o[a]})));throw new Error("Error parsing markdown")}return[n]}function Ds(n){let r=[];if(Os(n)){const o=$s(n.text,"{{","}}"),a=$s(n.raw,"{{","}}");if(o.length===a.length){for(let n=0;n<o.length;n++){const s={type:"text",text:o[n],raw:a[n]};Ls(s)?r.push(s):Ms(a[n]).forEach((n=>{"paragraph"===n.type?r=r.concat(n.tokens):r.push(n)}))}return r}throw new Error("Error parsing Markdown")}return r.push(n),r}function Os(n){if("text"===n.type||"paragraph"===n.type){const r=n.raw.indexOf("{{"),o=n.raw.indexOf("}}");return-1!==r&&-1!==o&&o>r}return!1}function Ls(n){return"text"===n.type&&n.text.startsWith("{{")&&n.text.endsWith("}}")}function Ps(n){if(n.length>1e4)return null;const r=n.match(/^\{\{\s*<([\w-]+)((?:\s+[\w-]+="[^"]*")*)\s*\/>\s*\}\}$/);if(!r)return null;const o=r[1],a=r[2],s={};if(a){const n=/\s+([\w-]+)="([^"]*)"/g;let r;for(;null!==(r=n.exec(a));)s[r[1]]=r[2]}return{componentName:o,props:s}}function Bs(n){if(n.length>1e4)return!1;const r=n.trim();return/^<[\w-]+(?:\s+[\w-]+="[^"]*")*\s*\/?>$/.test(r)}function zs(n){return Ps("text"in n?n.text:"raw"in n?n.raw:"")}const js=ie(defineComponent$1({__name:"AudioAutoPlayer",props:{src:{}},setup(n){const r=n,o=ref([]),a=ref([]),s=ref(!1);let l=null;const c=n=>{if((n=>{try{return!isNaN(o.value[n].duration)}catch(r){throw new Error("AudioPlayer does not have an element at this index:",r)}})(n))if(o.value[n].play(),n+1<o.value.length){const r=1e3*(o.value[n].duration+.7);a.value.push(setTimeout((()=>{s.value&&c(n+1)}),r))}else setTimeout((()=>{s.value=!1}),1e3*o.value[n].duration),setTimeout((()=>{l=null}),1e3*o.value[n].duration+500);else setTimeout(c,100,n)},u=()=>{null===l||l===getCurrentInstance$1()?(l=getCurrentInstance$1(),s.value=!0,c(0)):setTimeout(u,100)};return onMounted((()=>{l=null,"string"==typeof r.src?o.value.push(new Audio(r.src)):r.src.forEach((n=>{o.value.push(new Audio(n))}));const n=[{hotkey:"up",callback:u,command:"Replay Audio"}];be.addBinding(n),u()})),onBeforeUnmount((()=>{be.removeBinding("up"),s.value=!1,setTimeout((()=>{l=null}),500),a.value.forEach(clearTimeout),console.log("Audio stopping..."),o.value.forEach((n=>{n.paused||(n.pause(),n.currentTime=0)}))})),(n,r)=>{const o=resolveComponent("v-icon"),a=resolveComponent("v-btn");return openBlock(),createBlock(a,{size:"large",icon:"",color:s.value?"primary lighten-3":"primary",class:normalizeClass({playing:s.value}),onClick:u},{default:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("mdi-volume-high")]))),_:1})])),_:1},8,["color","class"])}}}),[["__scopeId","data-v-e1a0f62c"]]);var Us,Fs;function qs(){if(Fs)return Us;function n(r){return r instanceof Map?r.clear=r.delete=r.set=function(){throw new Error("map is read-only")}:r instanceof Set&&(r.add=r.clear=r.delete=function(){throw new Error("set is read-only")}),Object.freeze(r),Object.getOwnPropertyNames(r).forEach((o=>{const a=r[o],s=typeof a;"object"!==s&&"function"!==s||Object.isFrozen(a)||n(a)})),r}Fs=1;class Response{constructor(n){void 0===n.data&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(n,...r){const o=Object.create(null);for(const a in n)o[a]=n[a];return r.forEach((function(n){for(const r in n)o[r]=n[r]})),o}const a=n=>!!n.scope;class HTMLRenderer{constructor(n,r){this.buffer="",this.classPrefix=r.classPrefix,n.walk(this)}addText(n){this.buffer+=r(n)}openNode(n){if(!a(n))return;const r=((n,{prefix:r})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){const o=n.split(".");return[`${r}${o.shift()}`,...o.map(((n,r)=>`${n}${"_".repeat(r+1)}`))].join(" ")}return`${r}${n}`})(n.scope,{prefix:this.classPrefix});this.span(r)}closeNode(n){a(n)&&(this.buffer+="</span>")}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}}const s=(n={})=>{const r={children:[]};return Object.assign(r,n),r};class TokenTree{constructor(){this.rootNode=s(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){const r=s({scope:n});this.add(r),this.stack.push(r)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,r){return"string"==typeof r?n.addText(r):r.children&&(n.openNode(r),r.children.forEach((r=>this._walk(n,r))),n.closeNode(r)),n}static _collapse(n){"string"!=typeof n&&n.children&&(n.children.every((n=>"string"==typeof n))?n.children=[n.children.join("")]:n.children.forEach((n=>{TokenTree._collapse(n)})))}}class TokenTreeEmitter extends TokenTree{constructor(n){super(),this.options=n}addText(n){""!==n&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,r){const o=n.root;r&&(o.scope=`language:${r}`),this.add(o)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function l(n){return n?"string"==typeof n?n:n.source:null}function c(n){return f("(?=",n,")")}function u(n){return f("(?:",n,")*")}function d(n){return f("(?:",n,")?")}function f(...n){return n.map((n=>l(n))).join("")}function m(...n){return"("+(function(n){const r=n[n.length-1];return"object"==typeof r&&r.constructor===Object?(n.splice(n.length-1,1),r):{}}(n).capture?"":"?:")+n.map((n=>l(n))).join("|")+")"}function g(n){return new RegExp(n.toString()+"|").exec("").length-1}const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function S(n,{joinWith:r}){let o=0;return n.map((n=>{o+=1;const r=o;let a=l(n),s="";for(;a.length>0;){const n=b.exec(a);if(!n){s+=a;break}s+=a.substring(0,n.index),a=a.substring(n.index+n[0].length),"\\"===n[0][0]&&n[1]?s+="\\"+String(Number(n[1])+r):(s+=n[0],"("===n[0]&&o++)}return s})).map((n=>`(${n})`)).join(r)}const k="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",E="\\b\\d+(\\.\\d+)?",C="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",T="\\b(0b[01]+)",I={begin:"\\\\[\\s\\S]",relevance:0},P={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[I]},D={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[I]},O=function(n,r,a={}){const s=o({scope:"comment",begin:n,end:r,contains:[]},a);s.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const l=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return s.contains.push({begin:f(/[ ]+/,"(",l,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},A=O("//","$"),eo=O("/\\*","\\*/"),no=O("#","$"),ro={scope:"number",begin:E,relevance:0},oo={scope:"number",begin:C,relevance:0},ao={scope:"number",begin:T,relevance:0},io={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[I,{begin:/\[/,end:/\]/,relevance:0,contains:[I]}]},so={scope:"title",begin:k,relevance:0},lo={scope:"title",begin:w,relevance:0},co={begin:"\\.\\s*"+w,relevance:0};var uo=Object.freeze({__proto__:null,APOS_STRING_MODE:P,BACKSLASH_ESCAPE:I,BINARY_NUMBER_MODE:ao,BINARY_NUMBER_RE:T,COMMENT:O,C_BLOCK_COMMENT_MODE:eo,C_LINE_COMMENT_MODE:A,C_NUMBER_MODE:oo,C_NUMBER_RE:C,END_SAME_AS_BEGIN:function(n){return Object.assign(n,{"on:begin":(n,r)=>{r.data._beginMatch=n[1]},"on:end":(n,r)=>{r.data._beginMatch!==n[1]&&r.ignoreMatch()}})},HASH_COMMENT_MODE:no,IDENT_RE:k,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:co,NUMBER_MODE:ro,NUMBER_RE:E,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:D,REGEXP_MODE:io,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(n={})=>{const r=/^#![ ]*\//;return n.binary&&(n.begin=f(r,/.*\b/,n.binary,/\b.*/)),o({scope:"meta",begin:r,end:/$/,relevance:0,"on:begin":(n,r)=>{0!==n.index&&r.ignoreMatch()}},n)},TITLE_MODE:so,UNDERSCORE_IDENT_RE:w,UNDERSCORE_TITLE_MODE:lo});function po(n,r){"."===n.input[n.index-1]&&r.ignoreMatch()}function fo(n,r){void 0!==n.className&&(n.scope=n.className,delete n.className)}function ho(n,r){r&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=po,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,void 0===n.relevance&&(n.relevance=0))}function mo(n,r){Array.isArray(n.illegal)&&(n.illegal=m(...n.illegal))}function go(n,r){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function vo(n,r){void 0===n.relevance&&(n.relevance=1)}const yo=(n,r)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");const o=Object.assign({},n);Object.keys(n).forEach((r=>{delete n[r]})),n.keywords=o.keywords,n.begin=f(o.beforeMatch,c(o.begin)),n.starts={relevance:0,contains:[Object.assign(o,{endsParent:!0})]},n.relevance=0,delete o.beforeMatch},bo=["of","and","for","in","not","or","if","then","parent","list","value"];function _o(n,r,o="keyword"){const a=Object.create(null);return"string"==typeof n?s(o,n.split(" ")):Array.isArray(n)?s(o,n):Object.keys(n).forEach((function(o){Object.assign(a,_o(n[o],r,o))})),a;function s(n,o){r&&(o=o.map((n=>n.toLowerCase()))),o.forEach((function(r){const o=r.split("|");a[o[0]]=[n,So(o[0],o[1])]}))}}function So(n,r){return r?Number(r):(o=n,bo.includes(o.toLowerCase())?0:1);var o}const ko={},wo=n=>{console.error(n)},Eo=(n,...r)=>{console.log(`WARN: ${n}`,...r)},Co=(n,r)=>{ko[`${n}/${r}`]||(console.log(`Deprecated as of ${n}. ${r}`),ko[`${n}/${r}`]=!0)},To=new Error;function xo(n,r,{key:o}){let a=0;const s=n[o],l={},c={};for(let u=1;u<=r.length;u++)c[u+a]=s[u],l[u+a]=!0,a+=g(r[u-1]);n[o]=c,n[o]._emit=l,n[o]._multi=!0}function Io(n){var r;(r=n).scope&&"object"==typeof r.scope&&null!==r.scope&&(r.beginScope=r.scope,delete r.scope),"string"==typeof n.beginScope&&(n.beginScope={_wrap:n.beginScope}),"string"==typeof n.endScope&&(n.endScope={_wrap:n.endScope}),function(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw wo("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),To;if("object"!=typeof n.beginScope||null===n.beginScope)throw wo("beginScope must be object"),To;xo(n,n.begin,{key:"beginScope"}),n.begin=S(n.begin,{joinWith:""})}}(n),function(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw wo("skip, excludeEnd, returnEnd not compatible with endScope: {}"),To;if("object"!=typeof n.endScope||null===n.endScope)throw wo("endScope must be object"),To;xo(n,n.end,{key:"endScope"}),n.end=S(n.end,{joinWith:""})}}(n)}function Ro(n){function r(r,o){return new RegExp(l(r),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(o?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(n,r){r.position=this.position++,this.matchIndexes[this.matchAt]=r,this.regexes.push([r,n]),this.matchAt+=g(n)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const n=this.regexes.map((n=>n[1]));this.matcherRe=r(S(n,{joinWith:"|"}),!0),this.lastIndex=0}exec(n){this.matcherRe.lastIndex=this.lastIndex;const r=this.matcherRe.exec(n);if(!r)return null;const o=r.findIndex(((n,r)=>r>0&&void 0!==n)),a=this.matchIndexes[o];return r.splice(0,o),Object.assign(r,a)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(n){if(this.multiRegexes[n])return this.multiRegexes[n];const r=new MultiRegex;return this.rules.slice(n).forEach((([n,o])=>r.addRule(n,o))),r.compile(),this.multiRegexes[n]=r,r}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(n,r){this.rules.push([n,r]),"begin"===r.type&&this.count++}exec(n){const r=this.getMatcher(this.regexIndex);r.lastIndex=this.lastIndex;let o=r.exec(n);if(this.resumingScanAtSamePosition())if(o&&o.index===this.lastIndex);else{const r=this.getMatcher(0);r.lastIndex=this.lastIndex+1,o=r.exec(n)}return o&&(this.regexIndex+=o.position+1,this.regexIndex===this.count&&this.considerAll()),o}}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=o(n.classNameAliases||{}),function a(s,c){const u=s;if(s.isCompiled)return u;[fo,go,Io,yo].forEach((n=>n(s,c))),n.compilerExtensions.forEach((n=>n(s,c))),s.__beforeBegin=null,[ho,mo,vo].forEach((n=>n(s,c))),s.isCompiled=!0;let d=null;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),d=s.keywords.$pattern,delete s.keywords.$pattern),d=d||/\w+/,s.keywords&&(s.keywords=_o(s.keywords,n.case_insensitive)),u.keywordPatternRe=r(d,!0),c&&(s.begin||(s.begin=/\B|\b/),u.beginRe=r(u.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(u.endRe=r(u.end)),u.terminatorEnd=l(u.end)||"",s.endsWithParent&&c.terminatorEnd&&(u.terminatorEnd+=(s.end?"|":"")+c.terminatorEnd)),s.illegal&&(u.illegalRe=r(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(n){return(r="self"===n?s:n).variants&&!r.cachedVariants&&(r.cachedVariants=r.variants.map((function(n){return o(r,{variants:null},n)}))),r.cachedVariants?r.cachedVariants:No(r)?o(r,{starts:r.starts?o(r.starts):null}):Object.isFrozen(r)?o(r):r;var r}))),s.contains.forEach((function(n){a(n,u)})),s.starts&&a(s.starts,c),u.matcher=function(n){const r=new ResumableMultiRegex;return n.contains.forEach((n=>r.addRule(n.begin,{rule:n,type:"begin"}))),n.terminatorEnd&&r.addRule(n.terminatorEnd,{type:"end"}),n.illegal&&r.addRule(n.illegal,{type:"illegal"}),r}(u),u}(n)}function No(n){return!!n&&(n.endsWithParent||No(n.starts))}class HTMLInjectionError extends Error{constructor(n,r){super(n),this.name="HTMLInjectionError",this.html=r}}const Po=r,Do=o,Vo=Symbol("nomatch"),Oo=function(r){const o=Object.create(null),a=Object.create(null),s=[];let l=!0;const g="Could not find the language '{}', did you forget to load/include a language module?",b={disableAutodetect:!0,name:"Plain text",contains:[]};let S={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:TokenTreeEmitter};function k(n){return S.noHighlightRe.test(n)}function w(n,r,o){let a="",s="";"object"==typeof r?(a=n,o=r.ignoreIllegals,s=r.language):(Co("10.7.0","highlight(lang, code, ...args) has been deprecated."),Co("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),s=n,a=r),void 0===o&&(o=!0);const l={code:a,language:s};eo("before:highlight",l);const c=l.result?l.result:E(l.language,l.code,o);return c.code=l.code,eo("after:highlight",c),c}function E(n,r,a,s){const c=Object.create(null);function u(){if(!no.keywords)return void oo.addText(ao);let n=0;no.keywordPatternRe.lastIndex=0;let r=no.keywordPatternRe.exec(ao),o="";for(;r;){o+=ao.substring(n,r.index);const s=O.case_insensitive?r[0].toLowerCase():r[0],l=(a=s,no.keywords[a]);if(l){const[n,a]=l;if(oo.addText(o),o="",c[s]=(c[s]||0)+1,c[s]<=7&&(io+=a),n.startsWith("_"))o+=r[0];else{const o=O.classNameAliases[n]||n;f(r[0],o)}}else o+=r[0];n=no.keywordPatternRe.lastIndex,r=no.keywordPatternRe.exec(ao)}var a;o+=ao.substring(n),oo.addText(o)}function d(){null!=no.subLanguage?function(){if(""===ao)return;let n=null;if("string"==typeof no.subLanguage){if(!o[no.subLanguage])return void oo.addText(ao);n=E(no.subLanguage,ao,!0,ro[no.subLanguage]),ro[no.subLanguage]=n._top}else n=C(ao,no.subLanguage.length?no.subLanguage:null);no.relevance>0&&(io+=n.relevance),oo.__addSublanguage(n._emitter,n.language)}():u(),ao=""}function f(n,r){""!==n&&(oo.startScope(r),oo.addText(n),oo.endScope())}function m(n,r){let o=1;const a=r.length-1;for(;o<=a;){if(!n._emit[o]){o++;continue}const a=O.classNameAliases[n[o]]||n[o],s=r[o];a?f(s,a):(ao=s,u(),ao=""),o++}}function b(n,r){return n.scope&&"string"==typeof n.scope&&oo.openNode(O.classNameAliases[n.scope]||n.scope),n.beginScope&&(n.beginScope._wrap?(f(ao,O.classNameAliases[n.beginScope._wrap]||n.beginScope._wrap),ao=""):n.beginScope._multi&&(m(n.beginScope,r),ao="")),no=Object.create(n,{parent:{value:no}}),no}function k(n,r,o){let a=function(n,r){const o=n&&n.exec(r);return o&&0===o.index}(n.endRe,o);if(a){if(n["on:end"]){const o=new Response(n);n["on:end"](r,o),o.isMatchIgnored&&(a=!1)}if(a){for(;n.endsParent&&n.parent;)n=n.parent;return n}}if(n.endsWithParent)return k(n.parent,r,o)}function w(n){return 0===no.matcher.regexIndex?(ao+=n[0],1):(co=!0,0)}function T(n){const o=n[0],a=r.substring(n.index),s=k(no,n,a);if(!s)return Vo;const l=no;no.endScope&&no.endScope._wrap?(d(),f(o,no.endScope._wrap)):no.endScope&&no.endScope._multi?(d(),m(no.endScope,n)):l.skip?ao+=o:(l.returnEnd||l.excludeEnd||(ao+=o),d(),l.excludeEnd&&(ao=o));do{no.scope&&oo.closeNode(),no.skip||no.subLanguage||(io+=no.relevance),no=no.parent}while(no!==s.parent);return s.starts&&b(s.starts,n),l.returnEnd?0:o.length}let I={};function P(o,s){const c=s&&s[0];if(ao+=o,null==c)return d(),0;if("begin"===I.type&&"end"===s.type&&I.index===s.index&&""===c){if(ao+=r.slice(s.index,s.index+1),!l){const r=new Error(`0 width match regex (${n})`);throw r.languageName=n,r.badRule=I.rule,r}return 1}if(I=s,"begin"===s.type)return function(n){const r=n[0],o=n.rule,a=new Response(o),s=[o.__beforeBegin,o["on:begin"]];for(const l of s)if(l&&(l(n,a),a.isMatchIgnored))return w(r);return o.skip?ao+=r:(o.excludeBegin&&(ao+=r),d(),o.returnBegin||o.excludeBegin||(ao=r)),b(o,n),o.returnBegin?0:r.length}(s);if("illegal"===s.type&&!a){const n=new Error('Illegal lexeme "'+c+'" for mode "'+(no.scope||"<unnamed>")+'"');throw n.mode=no,n}if("end"===s.type){const n=T(s);if(n!==Vo)return n}if("illegal"===s.type&&""===c)return ao+="\n",1;if(lo>1e5&&lo>3*s.index)throw new Error("potential infinite loop, way more iterations than matches");return ao+=c,c.length}const O=D(n);if(!O)throw wo(g.replace("{}",n)),new Error('Unknown language: "'+n+'"');const A=Ro(O);let eo="",no=s||A;const ro={},oo=new S.__emitter(S);!function(){const n=[];for(let r=no;r!==O;r=r.parent)r.scope&&n.unshift(r.scope);n.forEach((n=>oo.openNode(n)))}();let ao="",io=0,so=0,lo=0,co=!1;try{if(O.__emitTokens)O.__emitTokens(r,oo);else{for(no.matcher.considerAll();;){lo++,co?co=!1:no.matcher.considerAll(),no.matcher.lastIndex=so;const n=no.matcher.exec(r);if(!n)break;const o=P(r.substring(so,n.index),n);so=n.index+o}P(r.substring(so))}return oo.finalize(),eo=oo.toHTML(),{language:n,value:eo,relevance:io,illegal:!1,_emitter:oo,_top:no}}catch(uo){if(uo.message&&uo.message.includes("Illegal"))return{language:n,value:Po(r),illegal:!0,relevance:0,_illegalBy:{message:uo.message,index:so,context:r.slice(so-100,so+100),mode:uo.mode,resultSoFar:eo},_emitter:oo};if(l)return{language:n,value:Po(r),illegal:!1,relevance:0,errorRaised:uo,_emitter:oo,_top:no};throw uo}}function C(n,r){r=r||S.languages||Object.keys(o);const a=function(n){const r={value:Po(n),illegal:!1,relevance:0,_top:b,_emitter:new S.__emitter(S)};return r._emitter.addText(n),r}(n),s=r.filter(D).filter(A).map((r=>E(r,n,!1)));s.unshift(a);const l=s.sort(((n,r)=>{if(n.relevance!==r.relevance)return r.relevance-n.relevance;if(n.language&&r.language){if(D(n.language).supersetOf===r.language)return 1;if(D(r.language).supersetOf===n.language)return-1}return 0})),[c,u]=l,d=c;return d.secondBest=u,d}function T(n){let r=null;const o=function(n){let r=n.className+" ";r+=n.parentNode?n.parentNode.className:"";const o=S.languageDetectRe.exec(r);if(o){const r=D(o[1]);return r||(Eo(g.replace("{}",o[1])),Eo("Falling back to no-highlight mode for this block.",n)),r?o[1]:"no-highlight"}return r.split(/\s+/).find((n=>k(n)||D(n)))}(n);if(k(o))return;if(eo("before:highlightElement",{el:n,language:o}),n.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",n);if(n.children.length>0&&(S.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(n)),S.throwUnescapedHTML))throw new HTMLInjectionError("One of your code blocks includes unescaped HTML.",n.innerHTML);r=n;const s=r.textContent,l=o?w(s,{language:o,ignoreIllegals:!0}):C(s);n.innerHTML=l.value,n.dataset.highlighted="yes",function(n,r,o){const s=r&&a[r]||o;n.classList.add("hljs"),n.classList.add(`language-${s}`)}(n,o,l.language),n.result={language:l.language,re:l.relevance,relevance:l.relevance},l.secondBest&&(n.secondBest={language:l.secondBest.language,relevance:l.secondBest.relevance}),eo("after:highlightElement",{el:n,result:l,text:s})}let I=!1;function P(){if("loading"===document.readyState)return I||window.addEventListener("DOMContentLoaded",(function(){P()}),!1),void(I=!0);document.querySelectorAll(S.cssSelector).forEach(T)}function D(n){return n=(n||"").toLowerCase(),o[n]||o[a[n]]}function O(n,{languageName:r}){"string"==typeof n&&(n=[n]),n.forEach((n=>{a[n.toLowerCase()]=r}))}function A(n){const r=D(n);return r&&!r.disableAutodetect}function eo(n,r){const o=n;s.forEach((function(n){n[o]&&n[o](r)}))}Object.assign(r,{highlight:w,highlightAuto:C,highlightAll:P,highlightElement:T,highlightBlock:function(n){return Co("10.7.0","highlightBlock will be removed entirely in v12.0"),Co("10.7.0","Please use highlightElement now."),T(n)},configure:function(n){S=Do(S,n)},initHighlighting:()=>{P(),Co("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){P(),Co("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(n,a){let s=null;try{s=a(r)}catch(c){if(wo("Language definition for '{}' could not be registered.".replace("{}",n)),!l)throw c;wo(c),s=b}s.name||(s.name=n),o[n]=s,s.rawDefinition=a.bind(null,r),s.aliases&&O(s.aliases,{languageName:n})},unregisterLanguage:function(n){delete o[n];for(const r of Object.keys(a))a[r]===n&&delete a[r]},listLanguages:function(){return Object.keys(o)},getLanguage:D,registerAliases:O,autoDetection:A,inherit:Do,addPlugin:function(n){var r;(r=n)["before:highlightBlock"]&&!r["before:highlightElement"]&&(r["before:highlightElement"]=n=>{r["before:highlightBlock"](Object.assign({block:n.el},n))}),r["after:highlightBlock"]&&!r["after:highlightElement"]&&(r["after:highlightElement"]=n=>{r["after:highlightBlock"](Object.assign({block:n.el},n))}),s.push(n)},removePlugin:function(n){const r=s.indexOf(n);-1!==r&&s.splice(r,1)}}),r.debugMode=function(){l=!1},r.safeMode=function(){l=!0},r.versionString="11.11.1",r.regex={concat:f,lookahead:c,either:m,optional:d,anyNumberOfTimes:u};for(const c in uo)"object"==typeof uo[c]&&n(uo[c]);return Object.assign(r,uo),r},Ao=Oo({});return Ao.newInstance=()=>Oo({}),Us=Ao,Ao.HighlightJS=Ao,Ao.default=Ao,Us}const Vs=de(qs());var Hs={component:defineComponent$1({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(n){var r=ref(n.language);watch((function(){return n.language}),(function(n){r.value=n}));var o=computed((function(){return n.autodetect||!r.value})),a=computed((function(){return!o.value&&!Vs.getLanguage(r.value)}));return{className:computed((function(){return a.value?"":"hljs "+r.value})),highlightedCode:computed((function(){var s;if(a.value)return console.warn('The language "'+r.value+'" you specified could not be found.'),n.code.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");if(o.value){var l=Vs.highlightAuto(n.code);return r.value=null!==(s=l.language)&&void 0!==s?s:"",l.value}return(l=Vs.highlight(n.code,{language:r.value,ignoreIllegals:n.ignoreIllegals})).value}))}},render:function(){return h$2("pre",{},[h$2("code",{class:this.className,innerHTML:this.highlightedCode,tabindex:"0"})])}})};const Zs="[A-Za-z$_][0-9A-Za-z$_]*",Ks=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Gs=["true","false","null","undefined","NaN","Infinity"],Ws=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Qs=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ys=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Js=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Xs=[].concat(Ys,Ws,Qs);function er(n){const r=n.regex,o=Zs,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(n,r)=>{const o=n[0].length+n.index,a=n.input[o];if("<"===a||","===a)return void r.ignoreMatch();let s;">"===a&&(((n,{after:r})=>{const o="</"+n[0].slice(1);return-1!==n.input.indexOf(o,r)})(n,{after:o})||r.ignoreMatch());const l=n.input.substring(o);((s=l.match(/^\s*=/))||(s=l.match(/^\s+extends\s+/))&&0===s.index)&&r.ignoreMatch()}},s={$pattern:Zs,keyword:Ks,literal:Gs,built_in:Xs,"variable.language":Js},l="[0-9](_?[0-9])*",c=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${u})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:s,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},k={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},w=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,g,b,S,{match:/\$\d+/},d];f.contains=w.concat({begin:/\{/,end:/\}/,keywords:s,contains:["self"].concat(w)});const E=[].concat(k,f.contains),C=E.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:["self"].concat(E)}]),T={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:C},I={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,r.concat(o,"(",r.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:r.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Ws,...Qs]}},D={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[T],illegal:/%/},O={match:r.concat(/\b/,(A=[...Ys,"super","import"].map((n=>`${n}\\s*\\(`)),r.concat("(?!",A.join("|"),")")),o,r.lookahead(/\s*\(/)),className:"title.function",relevance:0};var A;const eo={begin:r.concat(/\./,r.lookahead(r.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},no={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},T]},ro="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",oo={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,r.lookahead(ro)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[T]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:s,exports:{PARAMS_CONTAINS:C,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,g,b,S,k,{match:/\$\d+/},d,P,{scope:"attr",match:o+r.lookahead(":"),relevance:0},oo,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,n.REGEXP_MODE,{className:"function",begin:ro,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:C}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[T,n.inherit(n.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},eo,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[T]},O,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,no,{match:/\$[(.]/}]}}const tr="[A-Za-z$_][0-9A-Za-z$_]*",nr=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],sr=["true","false","null","undefined","NaN","Infinity"],rr=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ir=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ar=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],or=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],lr=[].concat(ar,rr,ir);function cr(n){const r=n.regex,o=function(n){const r=n.regex,o=tr,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(n,r)=>{const o=n[0].length+n.index,a=n.input[o];if("<"===a||","===a)return void r.ignoreMatch();let s;">"===a&&(((n,{after:r})=>{const o="</"+n[0].slice(1);return-1!==n.input.indexOf(o,r)})(n,{after:o})||r.ignoreMatch());const l=n.input.substring(o);((s=l.match(/^\s*=/))||(s=l.match(/^\s+extends\s+/))&&0===s.index)&&r.ignoreMatch()}},s={$pattern:tr,keyword:nr,literal:sr,built_in:lr,"variable.language":or},l="[0-9](_?[0-9])*",c=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${u})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:s,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},k={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},w=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,g,b,S,{match:/\$\d+/},d];f.contains=w.concat({begin:/\{/,end:/\}/,keywords:s,contains:["self"].concat(w)});const E=[].concat(k,f.contains),C=E.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:["self"].concat(E)}]),T={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:C},I={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,r.concat(o,"(",r.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:r.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...rr,...ir]}},D={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[T],illegal:/%/},O={match:r.concat(/\b/,(A=[...ar,"super","import"].map((n=>`${n}\\s*\\(`)),r.concat("(?!",A.join("|"),")")),o,r.lookahead(/\s*\(/)),className:"title.function",relevance:0};var A;const eo={begin:r.concat(/\./,r.lookahead(r.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},no={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},T]},ro="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",oo={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,r.lookahead(ro)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[T]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:s,exports:{PARAMS_CONTAINS:C,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,g,b,S,k,{match:/\$\d+/},d,P,{scope:"attr",match:o+r.lookahead(":"),relevance:0},oo,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,n.REGEXP_MODE,{className:"function",begin:ro,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:C}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[T,n.inherit(n.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},eo,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[T]},O,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,no,{match:/\$[(.]/}]}}(n),a=tr,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],l={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},c={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[o.exports.CLASS_REFERENCE]},u={$pattern:tr,keyword:nr.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:sr,built_in:lr.concat(s),"variable.language":or},d={className:"meta",begin:"@"+a},f=(n,r,o)=>{const a=n.contains.findIndex((n=>n.label===r));if(-1===a)throw new Error("can not find mode to replace");n.contains.splice(a,1,o)};Object.assign(o.keywords,u),o.exports.PARAMS_CONTAINS.push(d);const m=o.contains.find((n=>"attr"===n.scope)),g=Object.assign({},m,{match:r.concat(a,r.lookahead(/\s*\?:/))});return o.exports.PARAMS_CONTAINS.push([o.exports.CLASS_REFERENCE,m,g]),o.contains=o.contains.concat([d,l,c,g]),f(o,"shebang",n.SHEBANG()),f(o,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),o.contains.find((n=>"func.def"===n.label)).relevance=0,Object.assign(o,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),o}const dr=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ur=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),hr=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),pr=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),gr=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function mr(n){const r=n.regex,o={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:(s=n).C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[s.APOS_STRING_MODE,s.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:s.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];var s;return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[o.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+hr.join("|")+")"},{begin:":(:)?("+pr.join("|")+")"}]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+gr.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[o.BLOCK_COMMENT,o.HEXCOLOR,o.IMPORTANT,o.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},o.FUNCTION_DISPATCH]},{begin:r.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:ur.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,o.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+dr.join("|")+")\\b"}]}}function fr(n){const r=n.regex,o=r.concat(/[\p{L}_]/u,r.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},l=n.inherit(s,{begin:/\(/,end:/\)/}),c=n.inherit(n.APOS_STRING_MODE,{className:"string"}),u=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,u,c,l,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,l,u,c]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[u]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:r.concat(/</,r.lookahead(r.concat(o,r.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:d}]},{className:"tag",begin:r.concat(/<\//,r.lookahead(r.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function br(n){const r=n.regex,o={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:r.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},l=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},u={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,o,s]};s.contains.push(u);const d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,o]},f=n.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[f,n.SHEBANG(),m,d,l,c,{match:/(\/[a-z._-]+)+/},u,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},o]}}function yr(n){const r=["true","false","null"],o={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},n.QUOTE_STRING_MODE,o,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function kr(n){const r={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:r,illegal:"</",contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"string",variants:[n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[n.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:r,illegal:/["']/}]}]}}function vr(n){const r=n.regex,o=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},c={className:"subst",begin:/\{/,end:/\}/,keywords:s,illegal:/#/},u={begin:/\{\{/,relevance:0},d={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,l,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,l,u,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,u,c]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",m=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,g=`\\b|${a.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${m}))[eE][+-]?(${f})[jJ]?(?=${g})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${f})[jJ](?=${g})`}]},S={className:"comment",begin:r.lookahead(/# type:/),end:/$/,keywords:s,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},k={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",l,b,d,n.HASH_COMMENT_MODE]}]};return c.contains=[d,b,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s,illegal:/(<\/|\?)|=>/,contains:[l,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},d,S,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[k]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,k,d]}]}}const wr={class:"code-block-wrapper pa-2"},xr={key:0,class:"language-indicator"},_r=defineComponent$1({__name:"CodeBlockRenderer",props:{code:{type:String,required:!0},language:{type:String,default:""}},setup(n){Vs.registerLanguage("js",er),Vs.registerLanguage("javascript",er),Vs.registerLanguage("ts",cr),Vs.registerLanguage("typescript",cr),Vs.registerLanguage("css",mr),Vs.registerLanguage("html",fr),Vs.registerLanguage("bash",br),Vs.registerLanguage("sh",br),Vs.registerLanguage("json",yr),Vs.registerLanguage("go",kr),Vs.registerLanguage("golang",kr),Vs.registerLanguage("python",vr);const r=getCurrentInstance$1();return r&&r.appContext.app.component("highlightjs",Hs.component),(r,o)=>{const a=resolveComponent("highlightjs");return openBlock(),createElementBlock("div",wr,[n.language?(openBlock(),createElementBlock("div",xr,toDisplayString(n.language),1)):createCommentVNode("",!0),createVNode(a,{language:n.language,code:n.code},null,8,["language","code"])])}}}),Sr={key:0},Cr={key:0},Er={key:0},Rr={key:1,class:"error--text"},Tr={key:1},Ar={key:2},Ir={key:1},Mr={key:1},$r={key:0,class:"text-h2"},Nr={key:1,class:"text-h3"},Dr={key:2,class:"text-h4"},Or={key:3},Lr={key:4},Pr={key:5},Br={key:2},zr={key:3,class:"text-h5"},jr={key:0},Ur=["href","title"],Fr={key:5},qr={key:6},Vr={key:7},Hr=["src","alt"],Zr={key:9},Kr={key:10},Gr={key:11},Wr=["align"],Qr=["innerHTML"],Yr=["innerHTML"],Jr={key:16},Xr={key:17},ei={key:18},ti=ie(defineComponent$1({__name:"MdTokenRenderer",props:{token:{type:Object,required:!0},last:{type:Boolean,required:!1,default:!1}},setup(n,{expose:r}){const o=inject$1("markdownComponents",{}),a={fillIn:markRaw(Sn),...o};function s(n){return Ls(n)}function l(n){return Os(n)}function c(n){return Ns(n)}function u(n){return Ds(n)}function d(n){let r="";"text"in n&&"string"==typeof n.text?r=n.text:"raw"in n&&"string"==typeof n.raw&&(r=n.raw);const o=Ps(r);return o?{is:o.componentName,text:"",props:o.props}:{is:"fillIn",text:r,props:{}}}function f(n){return a[n]||(console.warn(`[MarkdownRenderer] Unknown component: "${n}". Available components: ${Object.keys(a).join(", ")}`),null)}function m(n){return n.replace(/'/g,"'").replace(/"/g,'"').replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function g(n){return void 0===n.inLink&&"text"===n.type}return r({isComponent:s,containsComponent:l,splitTextToken:c,splitParagraphToken:u,parsedComponent:d,decodeBasicEntities:m,isText:g,components:a,getComponent:f}),(r,o)=>{const a=resolveComponent("md-token-renderer",!0);return g(n.token)?(openBlock(),createElementBlock("span",Sr,[n.token.tokens&&0!==n.token.tokens.length?n.token.tokens&&0!==n.token.tokens.length?(openBlock(),createElementBlock("span",Ir,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):createCommentVNode("",!0):(openBlock(),createElementBlock("span",Cr,[s(n.token)?(openBlock(),createElementBlock("span",Er,[!n.last&&f(d(n.token).is)?(openBlock(),createBlock(resolveDynamicComponent(f(d(n.token).is)),mergeProps({key:0,text:d(n.token).text},d(n.token).props),null,16,["text"])):n.last||f(d(n.token).is)?createCommentVNode("",!0):(openBlock(),createElementBlock("span",Rr," [Unknown component: "+toDisplayString(d(n.token).is)+"] ",1))])):l(n.token)?(openBlock(),createElementBlock("span",Tr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(c(n.token),((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):(openBlock(),createElementBlock("span",Ar,toDisplayString(m(n.token.text)),1))]))])):"heading"===n.token.type?(openBlock(),createElementBlock("span",Mr,[1===n.token.depth?(openBlock(),createElementBlock("h1",$r,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):2===n.token.depth?(openBlock(),createElementBlock("h2",Nr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):3===n.token.depth?(openBlock(),createElementBlock("h3",Dr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):4===n.token.depth?(openBlock(),createElementBlock("h4",Or,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):5===n.token.depth?(openBlock(),createElementBlock("h5",Lr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):6===n.token.depth?(openBlock(),createElementBlock("h6",Pr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):createCommentVNode("",!0)])):"strong"===n.token.type?(openBlock(),createElementBlock("strong",Br,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):"paragraph"===n.token.type?(openBlock(),createElementBlock("p",zr,[l(n.token)?(openBlock(),createElementBlock("span",jr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(u(n.token),((r,o)=>(openBlock(),createBlock(a,{key:o,token:r,last:n.last&&1===n.token.tokens.length&&o===u(n.token).length-1},null,8,["token","last"])))),128))])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(n.token.tokens,((r,o)=>(openBlock(),createBlock(a,{key:o,token:r,last:n.last&&1===n.token.tokens.length},null,8,["token","last"])))),128))])):"link"===n.token.type?(openBlock(),createElementBlock("a",{key:4,href:n.token.href,title:n.token.title},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))],8,Ur)):"list"===n.token.type&&!1===n.token.ordered?(openBlock(),createElementBlock("ul",Fr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.items,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):"list"===n.token.type&&!0===n.token.ordered?(openBlock(),createElementBlock("ol",qr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.items,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):"list_item"===n.token.type?(openBlock(),createElementBlock("li",Vr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):"image"===n.token.type?(openBlock(),createElementBlock("img",{key:8,src:n.token.href,alt:n.token.title},null,8,Hr)):"hr"===n.token.type?(openBlock(),createElementBlock("hr",Zr)):"br"===n.token.type?(openBlock(),createElementBlock("br",Kr)):"del"===n.token.type?(openBlock(),createElementBlock("del",Gr)):"table"===n.token.type?(openBlock(),createElementBlock("table",{key:12,align:n.token.align},[createBaseVNode("thead",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.header,((n,r)=>(openBlock(),createElementBlock("th",{key:r},toDisplayString(n.text),1)))),128))]),createBaseVNode("tbody",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.rows,((n,r)=>(openBlock(),createElementBlock("tr",{key:r},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n,((n,r)=>(openBlock(),createElementBlock("td",{key:r},toDisplayString(n.text),1)))),128))])))),128))])],8,Wr)):"html"===n.token.type?(openBlock(),createElementBlock("span",{key:13,innerHTML:n.token.raw},null,8,Qr)):"code"===n.token.type?(openBlock(),createBlock(_r,{key:14,code:n.token.text,language:n.token.lang},null,8,["code","language"])):"codespan"===n.token.type?(openBlock(),createElementBlock("code",{key:15,class:"codespan",innerHTML:n.token.text},null,8,Yr)):"blockquote"===n.token.type?(openBlock(),createElementBlock("blockquote",Jr,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):"escape"===n.token.type?(openBlock(),createElementBlock("span",Xr,toDisplayString(n.token.text),1)):"em"===n.token.type?(openBlock(),createElementBlock("em",ei,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.token.tokens,((n,r)=>(openBlock(),createBlock(a,{key:r,token:n},null,8,["token"])))),128))])):createCommentVNode("",!0)}}}),[["__scopeId","data-v-de3eebd6"]]),ni=ie(defineComponent$1({name:"MarkdownRenderer",components:{MdTokenRenderer:ti,AudioAutoPlayer:js},props:{md:{type:String,required:!0}},computed:{tokens(){return Ms(this.md)}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("md-token-renderer"),u=resolveComponent("audio-auto-player");return openBlock(),createElementBlock("div",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.tokens,((r,o)=>(openBlock(),createElementBlock("span",{key:o},[r.type?(openBlock(),createBlock(c,{key:0,token:r,last:o===n.tokens.length-1},null,8,["token","last"])):r.audio?(openBlock(),createBlock(u,{key:1,src:r.audio},null,8,["src"])):createCommentVNode("",!0)])))),128))])}]]),si=Object.freeze(Object.defineProperty({__proto__:null,default:ni},Symbol.toStringTag,{value:"Module"}));async function ri(){const n=ii();if(!n.onLoadComplete){let r=200;const o=50;for(;!n.onLoadComplete&&r>0;)await new Promise((n=>setTimeout(n,o))),r--;if(!n.onLoadComplete)throw new Error("User initialization timed out")}return getDataLayer().getUserDB()}const ii=()=>{const n=an();return n&&setActivePinia(n),defineStore("auth",{state:()=>({_user:void 0,loginAndRegistration:{init:!1,loggedIn:!1,regDialogOpen:!1,loginDialogOpen:!1},onLoadComplete:!1}),actions:{async init(){try{this._user=getDataLayer().getUserDB(),this.loginAndRegistration.loggedIn=!!this._user&&this._user.isLoggedIn(),this.onLoadComplete=!0,this.loginAndRegistration.init=!0}catch(n){console.error("Failed to initialize auth store:",n),this.loginAndRegistration.loggedIn=!1,this.onLoadComplete=!0,this.loginAndRegistration.init=!0}},setLoginDialog(n){this.loginAndRegistration.loginDialogOpen=n},setRegDialog(n){this.loginAndRegistration.regDialogOpen=n},async resetUserData(){try{if(!this._user)throw new Error("No user available for data reset");const n=await this._user.resetUserData();if("ok"!==n.status)throw new Error(n.error||"Reset failed");return console.log("User data reset successfully"),n}catch(n){throw console.error("Failed to reset user data:",n),n}}},getters:{currentUser:async()=>ri(),isLoggedIn:n=>n.loginAndRegistration.loggedIn,isInitialized:n=>n.loginAndRegistration.init,status:n=>({loggedIn:n.loginAndRegistration.loggedIn,init:n.loginAndRegistration.init,user:n._user})}})()},ai=()=>{const n=an();return n&&setActivePinia(n),defineStore("config",{state:()=>({config:{darkMode:!1,likesConfetti:!1,sessionTimeLimit:5}}),actions:{updateConfig(n){this.config=n},async updateDarkMode(n){this.config.darkMode=n;const r=await ri();r&&await r.setConfig({darkMode:n})},async updateLikesConfetti(n){this.config.likesConfetti=n;const r=await ri();r&&await r.setConfig({likesConfetti:n})},async updateSessionTimeLimit(n){this.config.sessionTimeLimit=n;const r=await ri();r&&await r.setConfig({sessionTimeLimit:n})},async hydrate(){try{const n=await ri();if(n){const r=await n.getConfig();console.log(`user config: ${JSON.stringify(r)}`),this.updateConfig(r)}else console.log("No user logged in, using default config")}catch(n){console.warn("Failed to hydrate config store, using defaults:",n)}},async init(){await this.hydrate()},resetDefaults(){this.config={darkMode:!1,likesConfetti:!1,sessionTimeLimit:5}}}})()};function oi(){const n=ref(!0),r=ref(!1),o=ref(!1);return{config:computed((()=>o.value?{showLoginRegistration:!1,showLogout:!1,showResetData:!0,logoutLabel:"",resetLabel:"Reset User Data"}:{showLoginRegistration:!0,showLogout:!0,showResetData:!1,logoutLabel:"Log out",resetLabel:""})),isLoading:n,syncStrategyDetected:r,isLocalOnlyMode:o,detectSyncStrategy:async()=>{try{n.value=!0;const a=await ri(),s=a.syncStrategy?.canCreateAccount?.();o.value=!s,r.value=!0}catch(a){console.error("Failed to detect sync strategy:",a),o.value=!1,r.value=!0}finally{n.value=!1}}}}const li=ie(defineComponent$1({__name:"UserChip",props:{showLoginButton:{type:Boolean},redirectToPath:{}},setup(n){const r=useRouter$1(),o=ii(),a=ai(),s=oi(),l=ref(""),c=ref([]),u=ref(!1),d=ref(""),f=computed((()=>"reset"===d.value)),m=()=>{d.value="",u.value=!1},g=computed((()=>c.value.length>0)),b=computed((()=>s.config.value||{showLoginRegistration:!0,showLogout:!0,showResetData:!1,logoutLabel:"Log out",resetLabel:""}));onMounted((async()=>{const n=await ri();l.value=n.getUsername(),await s.detectSyncStrategy()}));const S=async()=>{r.push(`/u/${(await ri()).getUsername()}`)},k=async()=>{r.push(`/u/${(await ri()).getUsername()}/stats`)},w=async()=>{(await o._user.logout()).ok&&(o.loginAndRegistration={init:!0,loggedIn:!1,regDialogOpen:!1,loginDialogOpen:!1},a.resetDefaults(),r.push("/home"))},E=async()=>{try{await o.resetUserData(),a.resetDefaults(),m(),r.push("/home")}catch(n){console.error("Failed to reset user data:",n)}};return(n,r)=>{const o=resolveComponent("v-icon"),a=resolveComponent("v-avatar"),s=resolveComponent("v-chip"),C=resolveComponent("v-list-item-title"),T=resolveComponent("v-list-item"),I=resolveComponent("v-divider"),P=resolveComponent("v-list"),D=resolveComponent("v-menu"),O=resolveComponent("v-badge"),A=resolveComponent("v-card-title"),eo=resolveComponent("v-text-field"),no=resolveComponent("v-card-text"),ro=resolveComponent("v-spacer"),oo=resolveComponent("v-btn"),ao=resolveComponent("v-card-actions"),io=resolveComponent("v-card"),so=resolveComponent("v-dialog");return openBlock(),createElementBlock(Fragment,null,[createVNode(O,{content:c.value.length,"model-value":g.value,color:"accent",location:"end top"},{default:withCtx((()=>[createVNode(D,{location:"bottom end",transition:"scale-transition"},{activator:withCtx((({props:n})=>[createVNode(s,mergeProps(n,{class:"ma-2"}),{default:withCtx((()=>[createVNode(a,{start:"",class:"bg-primary"},{default:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("mdi-school")]))),_:1})])),_:1}),createTextVNode(" "+toDisplayString(l.value),1)])),_:2},1040)])),default:withCtx((()=>[createVNode(P,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(c.value,(n=>(openBlock(),createBlock(T,{key:n,onClick:r=>(n=>{const r=c.value.indexOf(n);c.value.splice(r,1)})(n)},{default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>[createTextVNode(toDisplayString(n),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128)),c.value.length?(openBlock(),createBlock(I,{key:0})):createCommentVNode("",!0),createVNode(T,{onClick:k},{prepend:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("mdi-trending-up")]))),_:1})])),default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("Stats")]))),_:1})])),_:1}),createVNode(T,{onClick:S},{prepend:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[7]||(r[7]=[createTextVNode("mdi-cog")]))),_:1})])),default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("Settings")]))),_:1})])),_:1}),b.value.showLogout?(openBlock(),createBlock(T,{key:1,onClick:w},{prepend:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[9]||(r[9]=[createTextVNode("mdi-logout")]))),_:1})])),default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>[createTextVNode(toDisplayString(b.value.logoutLabel),1)])),_:1})])),_:1})):createCommentVNode("",!0),b.value.showResetData?(openBlock(),createBlock(T,{key:2,onClick:r[0]||(r[0]=n=>u.value=!0)},{prepend:withCtx((()=>[createVNode(o,null,{default:withCtx((()=>r[10]||(r[10]=[createTextVNode("mdi-delete-sweep")]))),_:1})])),default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>[createTextVNode(toDisplayString(b.value.resetLabel),1)])),_:1})])),_:1})):createCommentVNode("",!0)])),_:1})])),_:1})])),_:1},8,["content","model-value"]),createVNode(so,{modelValue:u.value,"onUpdate:modelValue":r[3]||(r[3]=n=>u.value=n),"max-width":"500px",persistent:""},{default:withCtx((()=>[createVNode(io,null,{default:withCtx((()=>[createVNode(A,{class:"text-h5 d-flex align-center"},{default:withCtx((()=>[createVNode(o,{color:"warning",class:"mr-3"},{default:withCtx((()=>r[11]||(r[11]=[createTextVNode("mdi-alert-circle")]))),_:1}),r[12]||(r[12]=createTextVNode(" Reset All User Data "))])),_:1}),createVNode(no,null,{default:withCtx((()=>[r[13]||(r[13]=createBaseVNode("p",{class:"mb-4"},"This will permanently delete:",-1)),r[14]||(r[14]=createBaseVNode("ul",{class:"mb-4"},[createBaseVNode("li",null,"All course progress and history"),createBaseVNode("li",null,"Scheduled card reviews"),createBaseVNode("li",null,"Course registrations"),createBaseVNode("li",null,"User preferences")],-1)),r[15]||(r[15]=createBaseVNode("p",{class:"mb-4 text-error font-weight-bold"},"This cannot be undone.",-1)),createVNode(eo,{modelValue:d.value,"onUpdate:modelValue":r[1]||(r[1]=n=>d.value=n),label:'Type "reset" to confirm',outlined:"",dense:"",onKeyup:r[2]||(r[2]=withKeys((n=>f.value&&E()),["enter"]))},null,8,["modelValue"])])),_:1}),createVNode(ao,null,{default:withCtx((()=>[createVNode(ro),createVNode(oo,{text:"",onClick:m},{default:withCtx((()=>r[16]||(r[16]=[createTextVNode("Cancel")]))),_:1}),createVNode(oo,{color:"error",disabled:!f.value,onClick:E},{default:withCtx((()=>r[17]||(r[17]=[createTextVNode(" Reset All Data ")]))),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}}}),[["__scopeId","data-v-9a38a213"]]),ci={class:"d-flex flex-column align-start"},di={class:"mb-2"},ui=ie(defineComponent$1({__name:"UserLogin",props:{redirectTo:{default:"/study"}},emits:["toggle","loginSuccess","forgotPassword"],setup(n,{emit:r}){const o=n,a=r,s=useRouter$1(),l=useRoute$1(),c=ii(),u=ai(),d=ref(""),f=ref(""),m=ref(!1),g=ref(!1),b=ref(!1),S=ref(7e3),k=ref(void 0),w=computed((()=>"login"===l.name)),E=computed((()=>({color:b.value?"error":"success",text:b.value?"Try again":"Log In"}))),C=async()=>{g.value=!0,log$1("Starting login attempt"),log$1(`Login attempt for username: ${d.value}`);try{log$1("Attempting to get User instance"),k.value=await ri(),log$1("Got User instance, attempting login"),await k.value.login(d.value,f.value),log$1("Login successful"),log$1("Initializing user config"),u.init(),log$1("User config initialized"),log$1("Setting authentication state"),c.loginAndRegistration.loggedIn=!0,log$1(`Authentication state set, redirecting to: ${o.redirectTo}`),a("loginSuccess",o.redirectTo),s.push(o.redirectTo),log$1("Login and redirect complete")}catch(n){log$1("Login attempt failed"),log$1(`Login error details: ${JSON.stringify(n)}`),console.log(`login error: ${JSON.stringify(n)}`),log$1("Initiating bad login feedback"),b.value=!0,Se({text:"Username or password was incorrect.",status:Status.error,timeout:S.value}),setTimeout((()=>{b.value=!1}),S.value)}log$1("Resetting awaiting response state"),g.value=!1},T=()=>{log$1("Toggling registration / login forms."),a("toggle")},I=()=>{log$1("Forgot password clicked"),w.value?s.push("/request-reset"):a("forgotPassword")};return(n,r)=>{const o=resolveComponent("v-card-title"),a=resolveComponent("v-text-field"),s=resolveComponent("v-btn"),l=resolveComponent("v-snackbar"),c=resolveComponent("v-icon"),u=resolveComponent("router-link"),k=resolveComponent("v-form"),P=resolveComponent("v-card-text"),D=resolveComponent("v-card");return openBlock(),createBlock(D,null,{default:withCtx((()=>[w.value?createCommentVNode("",!0):(openBlock(),createBlock(o,{key:0,class:"text-h5 bg-grey-lighten-2"},{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("Log In")]))),_:1})),createVNode(P,null,{default:withCtx((()=>[createVNode(k,{onsubmit:"return false;",onSubmit:withModifiers(C,["prevent"])},{default:withCtx((()=>[createVNode(a,{id:"",modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=n=>d.value=n),autofocus:"",name:"username",label:"Username","prepend-icon":"mdi-account-circle"},null,8,["modelValue"]),createVNode(a,{modelValue:f.value,"onUpdate:modelValue":r[1]||(r[1]=n=>f.value=n),"prepend-icon":"mdi-lock",name:"password",hover:"Show password input",label:"Enter your password",hint:"",min:"0","append-icon":m.value?"mdi-eye-off":"mdi-eye",type:m.value?"text":"password","onClick:append":r[2]||(r[2]=()=>m.value=!m.value)},null,8,["modelValue","append-icon","type"]),createVNode(l,{modelValue:b.value,"onUpdate:modelValue":r[4]||(r[4]=n=>b.value=n),location:"bottom right",timeout:S.value},{default:withCtx((()=>[r[7]||(r[7]=createTextVNode(" Username or password was incorrect. ")),createVNode(s,{color:"pink",variant:"text",onClick:r[3]||(r[3]=n=>b.value=!1)},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("Close")]))),_:1})])),_:1},8,["modelValue","timeout"]),createBaseVNode("div",ci,[createBaseVNode("div",di,[createVNode(s,{class:"mr-2",type:"submit",loading:g.value,color:E.value.color},{default:withCtx((()=>[createVNode(c,{start:""},{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("mdi-lock-open")]))),_:1}),r[9]||(r[9]=createTextVNode(" Log In "))])),_:1},8,["loading","color"]),w.value?(openBlock(),createBlock(u,{key:0,to:"signup"},{default:withCtx((()=>[createVNode(s,{variant:"text"},{default:withCtx((()=>r[10]||(r[10]=[createTextVNode("Create New Account")]))),_:1})])),_:1})):(openBlock(),createBlock(s,{key:1,variant:"text",onClick:T},{default:withCtx((()=>r[11]||(r[11]=[createTextVNode("Create New Account")]))),_:1}))]),renderSlot(n.$slots,"forgot-password",{},(()=>[createBaseVNode("a",{href:"#",class:"text-caption text-decoration-none",onClick:withModifiers(I,["prevent"])}," Forgot password? ")]),!0)])])),_:3})])),_:3})])),_:3})}}}),[["__scopeId","data-v-563b0048"]]);function hi(n){return n?n.length<6?"Password must be at least 6 characters":new Set(n).size<2?"Password must contain at least 2 different characters":"":""}function pi(n){return""===hi(n)}const gi=ie(defineComponent$1({name:"UserRegistration",props:{onSignupSuccess:{type:Function,required:!1}},emits:["toggle","signup-success"],data:()=>({email:"",username:"",password:"",retypedPassword:"",passwordVisible:!1,emailError:!1,emailHint:"",usernameValidationInProgress:!1,usernameError:!1,usernameHint:"",awaitingResponse:!1,badLoginAttempt:!1,userSecret:"",secret:"goons",user:null,roles:["Student","Teacher","Author"],student:!0,teacher:!1,author:!1,authStore:ii()}),computed:{registrationRoute(){return"string"==typeof this.$route.name&&"signup"===this.$route.name.toLowerCase()},buttonStatus(){return{color:this.badLoginAttempt?"error":"success",text:this.badLoginAttempt?"Try again":"Log In"}},passwordError(){return hi(this.password)},passwordRetypeError(){return console.log("[RTE]"),this.password!==this.retypedPassword?"Passwords must match.":""}},async created(){this.user=await ri()},methods:{toggle(){log$1("Toggling registration / login forms."),this.$emit("toggle")},validateEmail(){this.emailError=!1,this.email&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)?(this.emailError=!0,this.emailHint="Please enter a valid email address"):this.emailHint=""},validateUsername(){this.usernameError=!1},async createUser(){if(this.awaitingResponse=!0,this.passwordError)return Se({text:this.passwordError,status:Status.error}),void(this.awaitingResponse=!1);if(log$1(`\nUser creation\n-------------\n\nName: ${this.username}\nStudent: ${this.student}\nTeacher: ${this.teacher}\nAuthor: ${this.author}\n`),this.password===this.retypedPassword){if(!this.user)return void console.error("ERROR: No user object available");this.user.createAccount(this.username,this.password).then((async n=>{if(n.status===Status.ok){if(this.authStore.loginAndRegistration.loggedIn=!0,this.authStore.loginAndRegistration.init=!1,this.authStore.loginAndRegistration.init=!0,this.email)try{const n=await ri();await n.setConfig({email:this.email});const r="undefined"!=typeof window?window.location.origin:void 0,o=await Je(this.username,this.email,r);o.ok?Se({text:"Account created! Please check your email to verify your account.",status:Status.ok}):log$1(`Warning: Failed to send verification email: ${o.error}`)}catch(r){console.error("Email save/send error:",r),log$1(`Warning: Failed to save email or send verification: ${r}`)}this.onSignupSuccess&&(console.log("[UserRegistration] Calling onSignupSuccess callback"),this.onSignupSuccess({username:this.username})),this.$emit("signup-success",{username:this.username})}else"This username is taken!"===n.error?(this.usernameError=!0,this.usernameHint="Try a different name.",this.$refs.userNameTextField.focus(),Se({text:`The name ${this.username} is taken!`,status:n.status})):Se({text:n.error,status:n.status})})).catch((n=>{if(console.error("[UserRegistration] .catch() called with error:",n),n){const r=n?.message||n?.error||n?.toString()||"Account creation failed";Se({text:r,status:Status.error})}})),this.awaitingResponse=!1}else Se({text:"Passwords do not match.",status:Status.error}),this.awaitingResponse=!1}}}),[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card-title"),u=resolveComponent("v-text-field"),d=resolveComponent("v-btn"),f=resolveComponent("v-snackbar"),m=resolveComponent("v-icon"),g=resolveComponent("router-link"),b=resolveComponent("v-form"),S=resolveComponent("v-card-text"),k=resolveComponent("v-card");return openBlock(),createBlock(k,null,{default:withCtx((()=>[createVNode(c,{class:"text-h5 bg-grey-lighten-2"},{default:withCtx((()=>r[7]||(r[7]=[createTextVNode(" Create an Account ")]))),_:1}),createVNode(S,null,{default:withCtx((()=>[createVNode(b,{onSubmit:withModifiers(n.createUser,["prevent"])},{default:withCtx((()=>[createVNode(u,{modelValue:n.email,"onUpdate:modelValue":r[0]||(r[0]=r=>n.email=r),name:"email",label:"Email address",type:"email","prepend-icon":"mdi-email",error:n.emailError,hint:n.emailHint,onBlur:n.validateEmail},null,8,["modelValue","error","hint","onBlur"]),createVNode(u,{id:"",ref:"userNameTextField",modelValue:n.username,"onUpdate:modelValue":r[1]||(r[1]=r=>n.username=r),name:"username",label:"Choose a Username","prepend-icon":"mdi-account-circle",error:n.usernameError,hint:n.usernameHint,onBlur:n.validateUsername},null,8,["modelValue","error","hint","onBlur"]),createVNode(u,{modelValue:n.password,"onUpdate:modelValue":r[2]||(r[2]=r=>n.password=r),"prepend-icon":"mdi-lock",name:"password",hover:"Show password",label:"Create a password",hint:n.passwordError,error:!!n.passwordError,min:"4","append-icon":n.passwordVisible?"mdi-eye-off":"mdi-eye",type:n.passwordVisible?"text":"password","onClick:append":r[3]||(r[3]=()=>n.passwordVisible=!n.passwordVisible)},null,8,["modelValue","hint","error","append-icon","type"]),createVNode(u,{modelValue:n.retypedPassword,"onUpdate:modelValue":r[4]||(r[4]=r=>n.retypedPassword=r),"prepend-icon":"mdi-lock",name:"retypedPassword",hover:"Show password",label:"Retype your password",disabled:""===n.password||!!n.passwordError,hint:n.passwordRetypeError,min:"4",type:n.passwordVisible?"text":"password"},null,8,["modelValue","disabled","hint","type"]),createVNode(f,{modelValue:n.badLoginAttempt,"onUpdate:modelValue":r[6]||(r[6]=r=>n.badLoginAttempt=r),location:"bottom right",timeout:5e3},{default:withCtx((()=>[r[9]||(r[9]=createTextVNode(" Username or password was incorrect. ")),createVNode(d,{color:"pink",variant:"text",onClick:r[5]||(r[5]=r=>n.badLoginAttempt=!1)},{default:withCtx((()=>r[8]||(r[8]=[createTextVNode(" Close ")]))),_:1})])),_:1},8,["modelValue"]),createVNode(d,{class:"mr-2 my-2",type:"submit",loading:n.awaitingResponse,color:n.buttonStatus.color,disabled:!!n.passwordError||n.password!==n.retypedPassword},{default:withCtx((()=>[createVNode(m,{start:""},{default:withCtx((()=>r[10]||(r[10]=[createTextVNode("mdi-lock-open")]))),_:1}),r[11]||(r[11]=createTextVNode(" Create Account "))])),_:1},8,["loading","color","disabled"]),n.registrationRoute?(openBlock(),createBlock(g,{key:0,to:"login"},{default:withCtx((()=>[createVNode(d,{variant:"text"},{default:withCtx((()=>r[12]||(r[12]=[createTextVNode("Log In")]))),_:1})])),_:1})):(openBlock(),createBlock(d,{key:1,variant:"text",onClick:n.toggle},{default:withCtx((()=>r[13]||(r[13]=[createTextVNode(" Log In ")]))),_:1},8,["onClick"]))])),_:1},8,["onSubmit"])])),_:1})])),_:1})}]]),mi=defineComponent$1({name:"RequestPasswordReset",emits:["cancel","success"],data:()=>({email:"",emailError:!1,emailHint:"",isSubmitting:!1,requestSent:!1}),methods:{validateEmail(){this.emailError=!1,this.emailHint="",this.email&&(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)||(this.emailError=!0,this.emailHint="Please enter a valid email address"))},async handleSubmit(){if(this.validateEmail(),!this.emailError&&this.email){this.isSubmitting=!0;try{const n="undefined"!=typeof window?window.location.origin:void 0,r=await tt(this.email,n);r.ok?(this.requestSent=!0,this.$emit("success",this.email)):Se({text:r.error||"Failed to send reset email",status:Status.error})}catch(e3){Se({text:"An unexpected error occurred",status:Status.error})}finally{this.isSubmitting=!1}}}}}),fi={key:1,class:"text-center"},bi=ie(mi,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card-title"),u=resolveComponent("v-text-field"),d=resolveComponent("v-icon"),f=resolveComponent("v-btn"),m=resolveComponent("v-form"),g=resolveComponent("v-card-text"),b=resolveComponent("v-spacer"),S=resolveComponent("v-card-actions"),k=resolveComponent("v-card");return openBlock(),createBlock(k,null,{default:withCtx((()=>[createVNode(c,{class:"text-h5 bg-grey-lighten-2"},{default:withCtx((()=>r[2]||(r[2]=[createTextVNode(" Reset Password ")]))),_:1}),createVNode(g,{class:"pa-6"},{default:withCtx((()=>[n.requestSent?(openBlock(),createElementBlock("div",fi,[createVNode(d,{color:"success",size:"64",class:"mb-4"},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("mdi-email-check")]))),_:1}),r[9]||(r[9]=createBaseVNode("h3",{class:"mb-2"},"Check Your Email",-1)),createBaseVNode("p",null,[r[7]||(r[7]=createTextVNode(" If an account exists with ")),createBaseVNode("strong",null,toDisplayString(n.email),1),r[8]||(r[8]=createTextVNode(", you will receive a password reset link shortly. "))]),r[10]||(r[10]=createBaseVNode("p",{class:"text-caption mt-4"},"Didn't receive an email? Check your spam folder.",-1))])):(openBlock(),createBlock(m,{key:0,onSubmit:withModifiers(n.handleSubmit,["prevent"])},{default:withCtx((()=>[r[5]||(r[5]=createBaseVNode("p",{class:"mb-4"}," Enter your email address and we'll send you a link to reset your password. ",-1)),createVNode(u,{modelValue:n.email,"onUpdate:modelValue":r[0]||(r[0]=r=>n.email=r),name:"email",label:"Email address",type:"email","prepend-icon":"mdi-email",error:n.emailError,hint:n.emailHint,disabled:n.isSubmitting,onBlur:n.validateEmail},null,8,["modelValue","error","hint","disabled","onBlur"]),createVNode(f,{type:"submit",color:"primary",class:"mt-4",loading:n.isSubmitting,disabled:!n.email||n.emailError,block:""},{default:withCtx((()=>[createVNode(d,{start:""},{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("mdi-email-send")]))),_:1}),r[4]||(r[4]=createTextVNode(" Send Reset Link "))])),_:1},8,["loading","disabled"])])),_:1},8,["onSubmit"]))])),_:1}),n.requestSent?createCommentVNode("",!0):(openBlock(),createBlock(S,{key:0},{default:withCtx((()=>[renderSlot(n.$slots,"back-action",{},(()=>[createVNode(f,{variant:"text",onClick:r[1]||(r[1]=r=>n.$emit("cancel"))},{default:withCtx((()=>r[11]||(r[11]=[createTextVNode(" Cancel ")]))),_:1})])),createVNode(b)])),_:3}))])),_:3})}]]),yi={key:0},ki={key:"login-buttons"},vi={key:"user-chip"},wi=ie(defineComponent$1({__name:"UserLoginAndRegistrationContainer",props:{showLoginButton:{type:Boolean},redirectToPath:{},showRegistration:{type:Boolean},onSignupSuccess:{type:Function}},emits:["signup-success"],setup(n,{emit:r}){const o=n,a=r,s=useRoute$1(),l=ii(),c=oi();onMounted((async()=>{await c.detectSyncStrategy()}));const u=computed((()=>{if(!s.name||"string"!=typeof s.name)return!0;const n=s.name.toLowerCase();return!("login"===n||"signup"===n)})),d=computed((()=>l.onLoadComplete)),f=computed((()=>l._user?l._user.getUsername().startsWith(GuestUsername):!l.loginAndRegistration.loggedIn)),m=computed((()=>({...c.config.value||{showLoginRegistration:!0,showLogout:!0,showResetData:!1,logoutLabel:"Log out",resetLabel:""},...void 0!==o.showRegistration&&{showLoginRegistration:o.showRegistration}}))),g=computed({get:()=>l.loginAndRegistration.regDialogOpen,set:n=>{l.loginAndRegistration.regDialogOpen=n}}),b=computed({get:()=>l.loginAndRegistration.loginDialogOpen,set:n=>{l.loginAndRegistration.loginDialogOpen=n}}),S=ref(!1),k=()=>{if(g.value&&b.value)throw new Error("Registration / Login dialogs both activated.");if(g.value===b.value)throw new Error("Registration / Login dialogs toggled while both were dormant.");g.value=!g.value,b.value=!b.value},w=()=>{b.value=!1,S.value=!0},E=()=>{S.value=!1},C=n=>{g.value=!1,o.onSignupSuccess&&o.onSignupSuccess(n),a("signup-success",n)};return(n,r)=>{const o=resolveComponent("v-btn"),a=resolveComponent("v-dialog");return d.value&&u.value?(openBlock(),createElementBlock("div",yi,[createVNode(Transition,{name:"component-fade",mode:"out-in"},{default:withCtx((()=>[f.value?(openBlock(),createElementBlock("div",ki,[m.value.showLoginRegistration?(openBlock(),createBlock(a,{key:0,modelValue:g.value,"onUpdate:modelValue":r[0]||(r[0]=n=>g.value=n),width:"500px"},{activator:withCtx((({props:n})=>[createVNode(o,mergeProps({class:"mr-2",size:"small",color:"success"},n),{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("Sign Up")]))),_:2},1040)])),default:withCtx((()=>[createVNode(gi,{onToggle:k,onSignupSuccess:C,"on-signup-success":C})])),_:1},8,["modelValue"])):createCommentVNode("",!0),createVNode(a,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=n=>b.value=n),width:"500px"},{activator:withCtx((({props:n})=>[createVNode(o,mergeProps({size:"small",color:"success"},n),{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("Log In")]))),_:2},1040)])),default:withCtx((()=>[createVNode(ui,{onToggle:k,onForgotPassword:w})])),_:1},8,["modelValue"]),createVNode(a,{modelValue:S.value,"onUpdate:modelValue":r[2]||(r[2]=n=>S.value=n),width:"500px"},{default:withCtx((()=>[createVNode(bi,{onCancel:E,onSuccess:E})])),_:1},8,["modelValue"])])):(openBlock(),createElementBlock("div",vi,[createVNode(li)]))])),_:1})])):createCommentVNode("",!0)}}}),[["__scopeId","data-v-5a55bdf0"]]),xi=defineComponent$1({name:"VerifyEmail",emits:["verified","error"],props:{token:{type:String,default:null}},data:()=>({isVerifying:!1,verificationStatus:null,errorMessage:"",username:""}),async mounted(){await this.performVerification()},methods:{async performVerification(){const n=this.token||this.getTokenFromURL();if(!n)return this.verificationStatus="error",void(this.errorMessage="No verification token provided");this.isVerifying=!0;try{const r=await Xe(n);r.ok?(this.verificationStatus="success",this.username=r.username||"",Se({text:"Email verified successfully!",status:Status.ok})):(this.verificationStatus="error",this.errorMessage=r.error||"Verification failed",Se({text:r.error||"Verification failed",status:Status.error}))}catch(r){this.verificationStatus="error",this.errorMessage="An unexpected error occurred",Se({text:"An unexpected error occurred",status:Status.error})}finally{this.isVerifying=!1}},getTokenFromURL:()=>"undefined"==typeof window?null:new URLSearchParams(window.location.search).get("token")}}),_i={key:0,class:"text-center"},Si={key:1,class:"text-center"},Ci={key:0},Ei={key:2,class:"text-center"},Ri={key:3,class:"text-center"},Ti=ie(xi,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card-title"),u=resolveComponent("v-progress-circular"),d=resolveComponent("v-icon"),f=resolveComponent("v-card-text"),m=resolveComponent("v-spacer"),g=resolveComponent("v-btn"),b=resolveComponent("v-card-actions"),S=resolveComponent("v-card"),k=resolveComponent("v-col"),w=resolveComponent("v-row"),E=resolveComponent("v-container");return openBlock(),createBlock(E,{class:"fill-height",fluid:""},{default:withCtx((()=>[createVNode(w,{align:"center",justify:"center"},{default:withCtx((()=>[createVNode(k,{cols:"12",sm:"8",md:"6"},{default:withCtx((()=>[createVNode(S,null,{default:withCtx((()=>[createVNode(c,{class:"text-h5 bg-grey-lighten-2"},{default:withCtx((()=>r[2]||(r[2]=[createTextVNode(" Email Verification ")]))),_:1}),createVNode(f,{class:"pa-6"},{default:withCtx((()=>[n.isVerifying?(openBlock(),createElementBlock("div",_i,[createVNode(u,{indeterminate:"",color:"primary",size:"64",class:"mb-4"}),r[3]||(r[3]=createBaseVNode("p",null,"Verifying your email...",-1))])):"success"===n.verificationStatus?(openBlock(),createElementBlock("div",Si,[createVNode(d,{color:"success",size:"64",class:"mb-4"},{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("mdi-check-circle")]))),_:1}),r[5]||(r[5]=createBaseVNode("h3",{class:"mb-2"},"Email Verified!",-1)),r[6]||(r[6]=createBaseVNode("p",null,"Your account has been successfully verified.",-1)),n.username?(openBlock(),createElementBlock("p",Ci,"Welcome, "+toDisplayString(n.username)+"!",1)):createCommentVNode("",!0)])):"error"===n.verificationStatus?(openBlock(),createElementBlock("div",Ei,[createVNode(d,{color:"error",size:"64",class:"mb-4"},{default:withCtx((()=>r[7]||(r[7]=[createTextVNode("mdi-alert-circle")]))),_:1}),r[8]||(r[8]=createBaseVNode("h3",{class:"mb-2"},"Verification Failed",-1)),createBaseVNode("p",null,toDisplayString(n.errorMessage),1)])):(openBlock(),createElementBlock("div",Ri,[createVNode(d,{color:"warning",size:"64",class:"mb-4"},{default:withCtx((()=>r[9]||(r[9]=[createTextVNode("mdi-help-circle")]))),_:1}),r[10]||(r[10]=createBaseVNode("h3",{class:"mb-2"},"No Verification Token",-1)),r[11]||(r[11]=createBaseVNode("p",null,"Please use the link from your verification email.",-1))]))])),_:1}),createVNode(b,null,{default:withCtx((()=>[createVNode(m),renderSlot(n.$slots,"actions",{status:n.verificationStatus,username:n.username},(()=>["success"===n.verificationStatus?(openBlock(),createBlock(g,{key:0,color:"primary",onClick:r[0]||(r[0]=r=>n.$emit("verified",n.username))},{default:withCtx((()=>r[12]||(r[12]=[createTextVNode(" Continue ")]))),_:1})):"error"===n.verificationStatus?(openBlock(),createBlock(g,{key:1,variant:"text",onClick:r[1]||(r[1]=r=>n.$emit("error",n.errorMessage))},{default:withCtx((()=>r[13]||(r[13]=[createTextVNode(" Close ")]))),_:1})):createCommentVNode("",!0)]))])),_:3})])),_:3})])),_:3})])),_:3})])),_:3})}]]),Ai=defineComponent$1({name:"ResetPassword",emits:["complete","error"],props:{token:{type:String,default:null}},data:()=>({password:"",confirmPassword:"",passwordVisible:!1,confirmPasswordError:!1,confirmPasswordHint:"",isSubmitting:!1,isComplete:!1}),computed:{canSubmit(){return this.password.length>=4&&this.confirmPassword.length>=4&&this.password===this.confirmPassword&&!this.confirmPasswordError}},methods:{validateConfirmPassword(){this.confirmPasswordError=!1,this.confirmPasswordHint="",this.confirmPassword&&this.password!==this.confirmPassword&&(this.confirmPasswordError=!0,this.confirmPasswordHint="Passwords do not match")},async handleSubmit(){if(this.validateConfirmPassword(),!this.canSubmit)return;const n=this.token||this.getTokenFromURL();if(!n)return Se({text:"No reset token provided. Please use the link from your email.",status:Status.error}),void this.$emit("error","No token");this.isSubmitting=!0;try{const r=await nt(n,this.password);r.ok?(this.isComplete=!0,Se({text:"Password reset successfully!",status:Status.ok})):(Se({text:r.error||"Failed to reset password",status:Status.error}),this.$emit("error",r.error))}catch(r){Se({text:"An unexpected error occurred",status:Status.error}),this.$emit("error","Unexpected error")}finally{this.isSubmitting=!1}},getTokenFromURL:()=>"undefined"==typeof window?null:new URLSearchParams(window.location.search).get("token")}}),Ii={key:1,class:"text-center"},Mi=ie(Ai,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-card-title"),u=resolveComponent("v-text-field"),d=resolveComponent("v-icon"),f=resolveComponent("v-btn"),m=resolveComponent("v-form"),g=resolveComponent("v-card-text"),b=resolveComponent("v-spacer"),S=resolveComponent("v-card-actions"),k=resolveComponent("v-card"),w=resolveComponent("v-col"),E=resolveComponent("v-row"),C=resolveComponent("v-container");return openBlock(),createBlock(C,{class:"fill-height",fluid:""},{default:withCtx((()=>[createVNode(E,{align:"center",justify:"center"},{default:withCtx((()=>[createVNode(w,{cols:"12",sm:"8",md:"6"},{default:withCtx((()=>[createVNode(k,null,{default:withCtx((()=>[createVNode(c,{class:"text-h5 bg-grey-lighten-2"},{default:withCtx((()=>r[4]||(r[4]=[createTextVNode(" Set New Password ")]))),_:1}),createVNode(g,{class:"pa-6"},{default:withCtx((()=>[n.isComplete?(openBlock(),createElementBlock("div",Ii,[createVNode(d,{color:"success",size:"64",class:"mb-4"},{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("mdi-check-circle")]))),_:1}),r[9]||(r[9]=createBaseVNode("h3",{class:"mb-2"},"Password Reset Successful!",-1)),r[10]||(r[10]=createBaseVNode("p",null,"Your password has been updated. You can now log in with your new password.",-1))])):(openBlock(),createBlock(m,{key:0,onSubmit:withModifiers(n.handleSubmit,["prevent"])},{default:withCtx((()=>[r[7]||(r[7]=createBaseVNode("p",{class:"mb-4"},"Enter your new password below.",-1)),createVNode(u,{modelValue:n.password,"onUpdate:modelValue":r[0]||(r[0]=r=>n.password=r),"prepend-icon":"mdi-lock",name:"password",label:"New password",min:"4","append-icon":n.passwordVisible?"mdi-eye-off":"mdi-eye",type:n.passwordVisible?"text":"password",disabled:n.isSubmitting,"onClick:append":r[1]||(r[1]=()=>n.passwordVisible=!n.passwordVisible)},null,8,["modelValue","append-icon","type","disabled"]),createVNode(u,{modelValue:n.confirmPassword,"onUpdate:modelValue":r[2]||(r[2]=r=>n.confirmPassword=r),"prepend-icon":"mdi-lock",name:"confirmPassword",label:"Confirm new password",min:"4",type:n.passwordVisible?"text":"password",error:n.confirmPasswordError,hint:n.confirmPasswordHint,disabled:n.isSubmitting,onBlur:n.validateConfirmPassword},null,8,["modelValue","type","error","hint","disabled","onBlur"]),createVNode(f,{type:"submit",color:"primary",class:"mt-4",loading:n.isSubmitting,disabled:!n.canSubmit,block:""},{default:withCtx((()=>[createVNode(d,{start:""},{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("mdi-lock-reset")]))),_:1}),r[6]||(r[6]=createTextVNode(" Reset Password "))])),_:1},8,["loading","disabled"])])),_:1},8,["onSubmit"]))])),_:1}),n.isComplete?(openBlock(),createBlock(S,{key:0},{default:withCtx((()=>[createVNode(b),renderSlot(n.$slots,"success-action",{},(()=>[createVNode(f,{color:"primary",onClick:r[3]||(r[3]=r=>n.$emit("complete"))},{default:withCtx((()=>r[11]||(r[11]=[createTextVNode(" Continue to Login ")]))),_:1})]))])),_:3})):createCommentVNode("",!0)])),_:3})])),_:3})])),_:3})])),_:3})}]]),$i=defineComponent$1({name:"SkTagsInput",components:{VueTagsInput:$},props:{courseID:{type:String,required:!0,default:""},cardID:{type:String,required:!1,default:""},hideSubmit:{type:Boolean,required:!1,default:!1}},data:()=>({loading:!0,tag:"",tags:[],initialTags:[],availableCourseTags:[],separators:[";",","," "],courseDB:null}),computed:{autoCompleteSuggestions(){return this.availableCourseTags.filter((n=>-1!==n.name.toLowerCase().indexOf(this.tag.toLowerCase()))).map((n=>({text:n.name,data:{snippet:n.snippet}})))}},watch:{async cardID(){await this.getAppliedTags()},async courseID(){this.courseDB=getDataLayer().getCourseDB(this.courseID),await this.updateAvailableCourseTags()}},async created(){this.courseDB=getDataLayer().getCourseDB(this.courseID),await this.updateAvailableCourseTags(),await this.getAppliedTags()},methods:{tagsChanged(n){console.log(`[TagsInput] Tags changing: ${JSON.stringify(n)}`),this.tags=n},async getAppliedTags(){this.initialTags=[],this.tags=[];try{(await this.courseDB.getAppliedTags(this.cardID)).rows.forEach((n=>{console.log(`[TagsInput] The following tag is applied:\n\t${JSON.stringify(n)}`),this.tags.push({text:n.value.name,style:"",classes:""})})),this.initialTags=this.tags.map((n=>n.text))}catch(e3){console.error(`Error in init-getAppliedTags: ${JSON.stringify(e3)}, ${e3}`)}finally{this.loading=!1}},async updateAvailableCourseTags(){try{this.availableCourseTags=(await this.courseDB.getCourseTagStubs()).rows.map((n=>n.doc))}catch(e3){console.error(`Error in init-availableCourseTags: ${JSON.stringify(e3)}`)}},async submit(){console.log("[TagsInput] tagsInput is submitting..."),this.loading=!0;try{await Promise.all(this.tags.map((async n=>{if(!this.initialTags.includes(n.text))try{await this.courseDB.addTagToCard(this.cardID,n.text),console.log(`[TagsInput] Successfully added tag: ${n.text}`)}catch(r){console.error(`Failed to add tag ${n.text}:`,r)}})))}catch(e3){console.error(`Exception adding tags: ${JSON.stringify(e3)}`)}try{await Promise.all(this.initialTags.map((async n=>{if(0===this.tags.filter((r=>r.text===n)).length)try{await this.courseDB.removeTagFromCard(this.cardID,n),console.log(`[TagsInput] Successfully removed tag: ${n}`)}catch(r){console.error(`Failed to remove tag ${n}:`,r)}})))}catch(e3){console.error(`Exception removing tags: ${JSON.stringify(e3)}`)}this.loading=!1}}}),Ni={"data-cy":"tags-input"},Di={class:"tag-name"},Oi={key:0,class:"tag-snippet"},Li=ie($i,[["render",function(n,r,o,a,s,l){const c=resolveComponent("vue-tags-input"),u=resolveComponent("v-btn");return openBlock(),createElementBlock("div",Ni,[createVNode(c,{modelValue:n.tag,"onUpdate:modelValue":r[0]||(r[0]=r=>n.tag=r),tags:n.tags,"autocomplete-items":n.autoCompleteSuggestions,separators:n.separators,"add-on-key":n.separators,onTagsChanged:n.tagsChanged},{"autocomplete-item":withCtx((n=>[createBaseVNode("div",{class:normalizeClass(["autocomplete-item",{"is-active":n.selected}])},[createBaseVNode("span",Di,toDisplayString(n.item.text),1),n.item.data&&n.item.data.snippet?(openBlock(),createElementBlock("span",Oi," - "+toDisplayString(n.item.data.snippet),1)):createCommentVNode("",!0)],2)])),_:1},8,["modelValue","tags","autocomplete-items","separators","add-on-key","onTagsChanged"]),n.hideSubmit?createCommentVNode("",!0):(openBlock(),createBlock(u,{key:0,color:"success",loading:n.loading,onClick:n.submit},{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("Save Changes")]))),_:1},8,["loading","onClick"]))])}],["__scopeId","data-v-f7373dc0"]]),Pi=defineComponent$1({name:"CourseCardBrowser",components:{CardLoader:Cn,TagsInput:Li,PaginatingToolbar:Ie},props:{courseId:{type:String,required:!0},tagId:{type:String,required:!1,default:""},viewLookupFunction:{type:Function,required:!0,default:()=>(console.warn("No viewLookupFunction provided to CourseCardBrowser"),null)},editMode:{type:String,required:!1,default:"full"}},data(){return{courseDB:null,page:1,pages:[],cards:[],cardData:{},cardPreview:{},cardElos:{},cardTags:{},internalEditMode:"none",delBtn:!1,updatePending:!0,userIsRegistered:!1,questionCount:0,tags:[],viewLookup:this.viewLookupFunction}},async created(){try{this.courseDB=getDataLayer().getCourseDB(this.courseId),this.tagId?this.questionCount=(await this.courseDB.getTag(this.tagId)).taggedCards.length:this.questionCount=(await this.courseDB.getCourseInfo()).cardCount;for(let n=1;25*(n-1)<this.questionCount;n++)this.pages.push(n);await this.populateTableData()}catch(e3){console.error("Error initializing CourseCardBrowser:",e3)}finally{this.updatePending=!1}},methods:{idQualify(n){return n.includes("-")?n:`${this.courseId}-${n}`},idToQualifiedObject(n){if(n.includes("-")){const r=n.split("-");return{courseID:r[0],cardID:r[1]}}return{courseID:this.courseId,cardID:n}},first(){this.page=1,this.populateTableData()},prev(){this.page--,this.populateTableData()},next(){this.page++,this.populateTableData()},last(){this.page=this.pages.length,this.populateTableData()},setPage(n){this.page=n,this.populateTableData()},async loadCardTags(n){try{await Promise.all(n.map((async n=>{const r=await this.courseDB.getAppliedTags(n);this.cardTags[n]=r.rows.map((n=>({name:n.value.name,snippet:n.value.snippet,count:n.value.count})))})))}catch(r){console.error("Error loading card tags:",r)}},clearSelections(n=""){this.cards.forEach((r=>{r.card.cardID!==n&&(r.isOpen=!1)})),this.internalEditMode="none",this.delBtn=!1},async deleteCard(n){console.log(`Deleting card ${n}`);const r=await this.courseDB.removeCard(n);r.ok?(this.cards=this.cards.filter((r=>r.card.cardID!=n)),this.clearSelections()):(console.error(`Failed to delete card:\n\n${JSON.stringify(r)}`),Se({text:"Failed to delete card",status:Status.error}))},async populateTableData(){if(this.updatePending=!0,this.tagId){const n=await this.courseDB.getTag(this.tagId);this.cards=n.taggedCards.map((n=>({card:{cardID:n,courseID:this.courseId},isOpen:!1,delBtn:!1})))}else this.cards=(await this.courseDB.getCardsByELO(0,25)).map((n=>({card:n,isOpen:!1,delBtn:!1})));const n=[],r=(await this.courseDB.getCourseDocs(this.cards.map((n=>n.card.cardID)),{include_docs:!0})).rows.filter((n=>!!n.doc||(console.error(`Card ${n.id}.doc not found.\ncard: ${JSON.stringify(n)}`),!1))).map((n=>n.doc));this.cards=this.cards.filter((r=>!n.includes(r.card.cardID))),r.forEach((n=>{n&&n.id_displayable_data&&(this.cardData[n._id]=n.id_displayable_data)}));try{await Promise.all(this.cards.map((async n=>{const o=n.card.cardID,a=r.find((n=>n._id==o));if(!a||!a.id_displayable_data)return void console.error(`No valid data found for card ${o}`);const s=this.viewLookupFunction(a.id_view||"default.question.BlanksCard.FillInView"),l=a.id_displayable_data.map((n=>this.courseDB.getCourseDoc(n,{attachments:!1,binary:!0}))),c=await Promise.all(l);await Promise.all(c.map((r=>{[].unshift(displayableDataToViewData(r)),this.cardPreview[n.card.cardID]=s.name?s.name:"Unknown"})))})));const n=this.cards.map((n=>n.card.cardID)),o=await this.courseDB.getCardEloData(n);n.forEach(((n,r)=>{this.cardElos[n]=o[r]})),await this.loadCardTags(n)}catch(o){console.error("Error populating table data:",o)}finally{this.updatePending=!1,this.$forceUpdate()}}}}),Bi={key:0,class:"d-flex justify-center align-center pa-6"},zi={key:1},ji={key:0,class:"px-4 py-2 bg-blue-grey-lighten-5"},Ui={key:0,class:"mt-4"},Fi={class:"mt-4"},qi={key:0,class:"ml-4"},Vi=ie(Pi,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-progress-circular"),u=resolveComponent("paginating-toolbar"),d=resolveComponent("v-list-item-title"),f=resolveComponent("v-list-item-subtitle"),m=resolveComponent("v-btn"),g=resolveComponent("v-icon"),b=resolveComponent("v-speed-dial"),S=resolveComponent("v-list-item"),k=resolveComponent("card-loader"),w=resolveComponent("v-chip"),E=resolveComponent("v-chip-group"),C=resolveComponent("tags-input"),T=resolveComponent("v-list"),I=resolveComponent("v-card");return openBlock(),createBlock(I,null,{default:withCtx((()=>[n.updatePending?(openBlock(),createElementBlock("div",Bi,[createVNode(c,{indeterminate:"",color:"primary"})])):(openBlock(),createElementBlock("div",zi,[createVNode(u,{title:"Exercises",page:n.page,pages:n.pages,subtitle:`(${n.questionCount})`,onFirst:n.first,onPrev:n.prev,onNext:n.next,onLast:n.last,onSetPage:r[0]||(r[0]=r=>n.setPage(r))},null,8,["page","pages","subtitle","onFirst","onPrev","onNext","onLast"]),createVNode(T,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.cards,(o=>(openBlock(),createElementBlock(Fragment,{key:o.card.cardID},[createVNode(S,{class:normalizeClass({"bg-blue-grey-lighten-5":o.isOpen,"elevation-4":o.isOpen}),density:"compact","data-cy":"course-card"},{prepend:withCtx((()=>[createBaseVNode("div",null,[createVNode(d,{class:normalizeClass([{"text-blue-grey-darken-1":o.isOpen},"font-weight-medium"])},{default:withCtx((()=>[createTextVNode(toDisplayString(n.cardPreview[o.card.cardID]),1)])),_:2},1032,["class"]),createVNode(f,null,{default:withCtx((()=>[createTextVNode(" ELO: "+toDisplayString(n.cardElos[o.card.cardID]?.global?.score||"(unknown)"),1)])),_:2},1024)])])),append:withCtx((()=>[createVNode(b,{modelValue:o.isOpen,"onUpdate:modelValue":n=>o.isOpen=n,location:"left center",transition:"slide-x-transition",style:{display:"flex","flex-direction":"row-reverse"},persistent:""},{activator:withCtx((({props:r})=>[createVNode(m,mergeProps({ref_for:!0},r,{icon:o.isOpen?"mdi-close":"mdi-plus",size:"small",variant:"text",onClick:r=>n.clearSelections(o.card.cardID)}),null,16,["icon","onClick"])])),default:withCtx((()=>["full"===n.editMode?(openBlock(),createBlock(m,{key:"tags",icon:"",size:"small",variant:"tags"!==n.internalEditMode?"outlined":"elevated",color:"tags"===n.internalEditMode?"teal":"teal-darken-3",onClick:r[1]||(r[1]=withModifiers((r=>n.internalEditMode="tags"),["stop"]))},{default:withCtx((()=>[createVNode(g,null,{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("mdi-bookmark")]))),_:1})])),_:1},8,["variant","color"])):createCommentVNode("",!0),"full"===n.editMode?(openBlock(),createBlock(m,{key:"flag",icon:"",size:"small",variant:"flag"!==n.internalEditMode?"outlined":"elevated",color:"flag"===n.internalEditMode?"error":"error-darken-3",onClick:r[2]||(r[2]=withModifiers((r=>n.internalEditMode="flag"),["stop"]))},{default:withCtx((()=>[createVNode(g,null,{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("mdi-flag")]))),_:1})])),_:1},8,["variant","color"])):createCommentVNode("",!0)])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:2},1032,["class"]),o.isOpen?(openBlock(),createElementBlock("div",ji,[createVNode(k,{qualified_id:o.card,"view-lookup":n.viewLookup,class:"elevation-1"},null,8,["qualified_id","view-lookup"]),"readonly"===n.editMode&&n.cardTags[o.card.cardID]?(openBlock(),createElementBlock("div",Ui,[createVNode(E,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.cardTags[o.card.cardID],(n=>(openBlock(),createBlock(w,{key:n.name,size:"small",color:"primary",variant:"outlined"},{default:withCtx((()=>[createTextVNode(toDisplayString(n.name),1)])),_:2},1024)))),128))])),_:2},1024)])):createCommentVNode("",!0),withDirectives(createVNode(C,{"course-i-d":n.courseId,"card-i-d":o.card.cardID,class:"mt-4"},null,8,["course-i-d","card-i-d"]),[[vShow,"tags"===n.internalEditMode&&"full"===n.editMode]]),withDirectives(createBaseVNode("div",Fi,[createVNode(m,{color:"error",variant:"outlined",onClick:n=>o.delBtn=!0},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode(" Delete this card ")]))),_:2},1032,["onClick"]),o.delBtn?(openBlock(),createElementBlock("span",qi,[r[8]||(r[8]=createBaseVNode("span",{class:"mr-2"},"Are you sure?",-1)),createVNode(m,{color:"error",variant:"elevated",onClick:r=>n.deleteCard(o.card.cardID)},{default:withCtx((()=>r[7]||(r[7]=[createTextVNode(" Confirm ")]))),_:2},1032,["onClick"])])):createCommentVNode("",!0)],512),[[vShow,"flag"===n.internalEditMode&&"full"===n.editMode]])])):createCommentVNode("",!0)],64)))),128))])),_:1}),createVNode(u,{class:"elevation-0",page:n.page,pages:n.pages,onFirst:n.first,onPrev:n.prev,onNext:n.next,onLast:n.last,onSetPage:r[3]||(r[3]=r=>n.setPage(r))},null,8,["page","pages","onFirst","onPrev","onNext","onLast"])]))])),_:1})}],["__scopeId","data-v-5ecc9d21"]]),Hi=defineComponent$1({name:"CourseInformation",components:{CourseCardBrowser:Vi},props:{courseId:{type:String,required:!0},viewLookupFunction:{type:Function,required:!1,default:n=>(console.warn("No viewLookupFunction provided to CourseInformation"),null)},editMode:{type:String,required:!1,default:"full"}},data:()=>({courseDB:null,nameRules:[n=>!(n.length>30)||"Course name must be 30 characters or less"],updatePending:!0,courseConfig:{},userIsRegistered:!1,tags:[],user:null}),computed:{},async created(){this.courseDB=getDataLayer().getCourseDB(this.courseId),this.user=await ri();const n=await this.user.getCourseRegistrationsDoc();"admin"===this.user.getUsername()?this.userIsRegistered=!0:this.userIsRegistered=1===n.courses.filter((n=>n.courseID===this.courseId&&("active"===n.status||void 0===n.status))).length,this.courseConfig=await this.courseDB.getCourseConfig(),this.tags=(await this.courseDB.getCourseTagStubs()).rows.map((n=>n.doc)),this.updatePending=!1},methods:{async register(){log$1(`Registering for ${this.courseId}`),(await this.user.registerForCourse(this.courseId)).ok&&(this.userIsRegistered=!0)},async drop(){log$1(`Dropping course ${this.courseId}`),(await this.user.dropCourse(this.courseId)).ok&&(this.userIsRegistered=!1)}}}),Zi={key:0},Ki={class:"text-h4 mb-2"},Gi={class:"text-body-2"},Wi={key:0},Qi={key:1},Yi=ie(Hi,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-btn"),u=resolveComponent("v-icon"),d=resolveComponent("v-toolbar-title"),f=resolveComponent("v-toolbar-items"),m=resolveComponent("v-toolbar"),g=resolveComponent("v-chip"),b=resolveComponent("v-card-text"),S=resolveComponent("v-card"),k=resolveComponent("course-card-browser");return n.updatePending?createCommentVNode("",!0):(openBlock(),createElementBlock("div",Zi,[renderSlot(n.$slots,"header",{courseConfig:n.courseConfig,courseId:n.courseId},(()=>[createBaseVNode("h1",Ki,toDisplayString(n.courseConfig.name),1)]),!0),createBaseVNode("p",Gi,toDisplayString(n.courseConfig.description),1),renderSlot(n.$slots,"actions",{userIsRegistered:n.userIsRegistered,courseId:n.courseId,editMode:n.editMode,register:n.register,drop:n.drop},(()=>[createVNode(Transition,{name:"component-fade",mode:"out-in"},{default:withCtx((()=>[n.userIsRegistered?(openBlock(),createElementBlock("div",Wi,[createVNode(c,{color:"success","data-cy":"focused-study-session-btn",class:"me-2"},{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("Start ad study session")]))),_:1}),"full"===n.editMode?(openBlock(),createBlock(c,{key:0,"data-cy":"add-content-btn",color:"indigo-lighten-1",class:"me-2"},{default:withCtx((()=>[createVNode(u,{start:""},{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("mdi-plus")]))),_:1}),r[2]||(r[2]=createTextVNode(" Add content "))])),_:1})):createCommentVNode("",!0),"full"===n.editMode?(openBlock(),createBlock(c,{key:1,color:"green-darken-2",title:"Rank course content for difficulty",class:"me-2"},{default:withCtx((()=>[createVNode(u,{start:""},{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("mdi-format-list-numbered")]))),_:1}),r[4]||(r[4]=createTextVNode(" Arrange "))])),_:1})):createCommentVNode("",!0),"full"===n.editMode?(openBlock(),createBlock(c,{key:2,color:"error",size:"small",variant:"outlined",onClick:n.drop},{default:withCtx((()=>r[5]||(r[5]=[createTextVNode(" Drop this course ")]))),_:1},8,["onClick"])):createCommentVNode("",!0)])):(openBlock(),createElementBlock("div",Qi,[createVNode(c,{"data-cy":"register-btn",color:"primary",class:"me-2",onClick:n.register},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode("Register")]))),_:1},8,["onClick"]),createVNode(c,{variant:"outlined",color:"primary",class:"me-2"},{default:withCtx((()=>r[7]||(r[7]=[createTextVNode("Start a trial study session")]))),_:1})]))])),_:1})]),!0),renderSlot(n.$slots,"additional-content",{},void 0,!0),createVNode(S,{class:"my-2"},{default:withCtx((()=>[createVNode(m,{density:"compact"},{default:withCtx((()=>[createVNode(d,null,{default:withCtx((()=>r[8]||(r[8]=[createTextVNode("Tags")]))),_:1}),createVNode(f,null,{default:withCtx((()=>[createVNode(c,{variant:"text"},{default:withCtx((()=>[createTextVNode("("+toDisplayString(n.tags.length)+")",1)])),_:1})])),_:1})])),_:1}),createVNode(b,null,{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.tags,((r,o)=>(openBlock(),createElementBlock("span",{key:o},[renderSlot(n.$slots,"tag-link",{tag:r,courseId:n.courseId},(()=>[createVNode(g,{variant:"tonal",class:"me-2 mb-2"},{default:withCtx((()=>[createTextVNode(toDisplayString(r.name),1)])),_:2},1024)]),!0)])))),128))])),_:3})])),_:3}),createVNode(k,{class:"my-3","course-id":n.courseId,"view-lookup-function":n.viewLookupFunction,"edit-mode":n.editMode},null,8,["course-id","view-lookup-function","edit-mode"])]))}],["__scopeId","data-v-38e9efe1"]]),Ji=defineComponent$1({name:"CardBrowser",components:{CardViewer:it},props:{views:{type:Array,required:!0},data:{type:Array,required:!0},suppressSpinner:{type:Boolean,default:!1}},data:()=>({viewIndex:0,previewMode:ln()}),computed:{spinner(){return this.views.length>1}},created(){console.log("[CardBrowser] Card browser created. Cards now in 'prewviewMode'"),this.previewMode.setPreviewMode(!0)},unmounted(){console.log("[CardBrowser] Card browser unmounted. Cards no longer in 'prewviewMode'"),this.previewMode.setPreviewMode(!1)},methods:{incrementView(){this.viewIndex++,this.viewIndex=(this.viewIndex+this.views.length)%this.views.length},decrementView(){this.viewIndex--,this.viewIndex=(this.viewIndex+this.views.length)%this.views.length}}}),Xi={key:0,class:"text-subtitle-1 pa-2"},ea=ie(Ji,[["render",function(n,r,o,a,s,l){const c=resolveComponent("CardViewer"),u=resolveComponent("v-icon"),d=resolveComponent("v-btn"),f=resolveComponent("v-row");return openBlock(),createBlock(f,{column:"",align:"center",justify:"center"},{default:withCtx((()=>[createVNode(c,{view:n.views[n.viewIndex],data:n.data,course_id:"[browsing]",card_id:"[browsing]"},null,8,["view","data"]),r[2]||(r[2]=createBaseVNode("br",null,null,-1)),r[3]||(r[3]=createBaseVNode("br",null,null,-1)),n.suppressSpinner?createCommentVNode("",!0):(openBlock(),createElementBlock("div",Xi,[n.spinner?(openBlock(),createBlock(d,{key:0,icon:"",variant:"outlined",color:"primary",onClick:n.decrementView},{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>r[0]||(r[0]=[createTextVNode("mdi-chevron-left")]))),_:1})])),_:1},8,["onClick"])):createCommentVNode("",!0),createTextVNode(" "+toDisplayString(n.views[n.viewIndex].name)+" ",1),n.spinner?(openBlock(),createBlock(d,{key:1,icon:"",variant:"outlined",color:"primary",onClick:n.incrementView},{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>r[1]||(r[1]=[createTextVNode("mdi-chevron-right")]))),_:1})])),_:1},8,["onClick"])):createCommentVNode("",!0)]))])),_:1})}]]),ta=defineComponent$1({name:"CourseTagFilterWidget",props:{courseId:{type:String,required:!0},modelValue:{type:Object,default:void 0}},emits:["update:modelValue"],setup(n,{emit:r}){const o=ref(!0),a=ref([]),s=ref({}),l=ref(n.modelValue?{...n.modelValue}:emptyTagFilter()),c=computed((()=>a.value.filter((n=>!l.value.include.includes(n))))),u=computed((()=>hasActiveFilter(l.value)));async function d(){o.value=!0;try{const r=getDataLayer().getCourseDB(n.courseId),o=await r.getCourseTagStubs();a.value=[],s.value={};for(const n of o.rows)if(n.doc){const r=n.doc;a.value.push(r.name),r.snippet&&(s.value[r.name]=r.snippet)}a.value.sort(((n,r)=>n.localeCompare(r)))}catch(r){console.error("[CourseTagFilterWidget] Failed to load tags:",r),a.value=[],s.value={}}finally{o.value=!1}}return watch((()=>n.modelValue),(n=>{l.value=n?{...n}:emptyTagFilter()}),{deep:!0}),watch(l,(n=>{r("update:modelValue",{...n})}),{deep:!0}),watch((()=>n.courseId),(async n=>{n&&await d()})),onMounted((()=>{n.courseId&&d()})),{loading:o,availableTags:a,availableTagsForExclude:c,tagSnippets:s,localFilter:l,hasActiveFilter:u,fuzzyFilter:(n,r)=>{if(!r)return!0;const o=r.toLowerCase(),a=n.toLowerCase();let s=0;for(let l=0;l<a.length&&s<o.length;l++)a[l]===o[s]&&s++;return s===o.length}}}}),na={class:"course-tag-filter-widget"},sa={key:0,class:"filter-summary text-caption mt-2"},ra={key:0},ia={key:1},aa={key:2},oa=ie(ta,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-chip"),u=resolveComponent("v-list-item"),d=resolveComponent("v-autocomplete"),f=resolveComponent("v-icon");return openBlock(),createElementBlock("div",na,[createVNode(d,{modelValue:n.localFilter.include,"onUpdate:modelValue":r[0]||(r[0]=r=>n.localFilter.include=r),items:n.availableTags,loading:n.loading,disabled:n.loading,label:"Include tags",placeholder:"Type to search tags...",hint:"Cards must have at least one of these tags","persistent-hint":"",multiple:"",chips:"","closable-chips":"",clearable:"",density:"compact",variant:"outlined",class:"mb-2","custom-filter":n.fuzzyFilter,"no-data-text":"No matching tags found"},{chip:withCtx((({props:n,item:r})=>[createVNode(c,mergeProps(n,{color:"primary",variant:"tonal",size:"small"}),{default:withCtx((()=>[createTextVNode(toDisplayString(r.raw),1)])),_:2},1040)])),item:withCtx((({props:r,item:o})=>[createVNode(u,mergeProps(r,{title:o.raw}),createSlots({_:2},[n.tagSnippets[o.raw]?{name:"subtitle",fn:withCtx((()=>[createTextVNode(toDisplayString(n.tagSnippets[o.raw]),1)])),key:"0"}:void 0]),1040,["title"])])),_:1},8,["modelValue","items","loading","disabled","custom-filter"]),createVNode(d,{modelValue:n.localFilter.exclude,"onUpdate:modelValue":r[1]||(r[1]=r=>n.localFilter.exclude=r),items:n.availableTagsForExclude,loading:n.loading,disabled:n.loading,label:"Exclude tags",placeholder:"Type to search tags...",hint:"Cards with these tags will be excluded","persistent-hint":"",multiple:"",chips:"","closable-chips":"",clearable:"",density:"compact",variant:"outlined","custom-filter":n.fuzzyFilter,"no-data-text":"No matching tags found"},{chip:withCtx((({props:n,item:r})=>[createVNode(c,mergeProps(n,{color:"error",variant:"tonal",size:"small"}),{default:withCtx((()=>[createTextVNode(toDisplayString(r.raw),1)])),_:2},1040)])),item:withCtx((({props:r,item:o})=>[createVNode(u,mergeProps(r,{title:o.raw}),createSlots({_:2},[n.tagSnippets[o.raw]?{name:"subtitle",fn:withCtx((()=>[createTextVNode(toDisplayString(n.tagSnippets[o.raw]),1)])),key:"0"}:void 0]),1040,["title"])])),_:1},8,["modelValue","items","loading","disabled","custom-filter"]),n.hasActiveFilter?(openBlock(),createElementBlock("div",sa,[createVNode(f,{size:"small",color:"info",class:"mr-1"},{default:withCtx((()=>r[2]||(r[2]=[createTextVNode("mdi-filter")]))),_:1}),n.localFilter.include.length?(openBlock(),createElementBlock("span",ra," Including: "+toDisplayString(n.localFilter.include.join(", ")),1)):createCommentVNode("",!0),n.localFilter.include.length&&n.localFilter.exclude.length?(openBlock(),createElementBlock("span",ia," · ")):createCommentVNode("",!0),n.localFilter.exclude.length?(openBlock(),createElementBlock("span",aa," Excluding: "+toDisplayString(n.localFilter.exclude.join(", ")),1)):createCommentVNode("",!0)])):createCommentVNode("",!0)])}],["__scopeId","data-v-e1ba963b"]]),la=0,ca=2,da=10,ua="UserTagPreferenceFilter",ha=defineComponent$1({name:"UserTagPreferences",props:{courseId:{type:String,required:!1,default:""},sliderConfig:{type:Object,required:!1,default:()=>({})}},emits:["preferences-saved","preferences-changed"],data:()=>({loading:!0,saving:!1,saveError:"",saveSuccess:!1,preferences:{boost:{}},savedPreferences:{boost:{}},tagMaxRanges:{},availableTags:[],tagToAdd:null,courseDB:null,user:null}),computed:{sliderConfigResolved(){return{min:this.sliderConfig.min??la,startingMax:this.sliderConfig.startingMax??ca,absoluteMax:this.sliderConfig.absoluteMax??da}},tagNames(){return Object.keys(this.preferences.boost).sort()},globalSliderMax(){const n=Object.values(this.tagMaxRanges);return 0===n.length?this.sliderConfigResolved.startingMax:Math.max(...n)},availableTagsToAdd(){const n=new Set(Object.keys(this.preferences.boost));return this.availableTags.filter((r=>!n.has(r.name)))},hasChanges(){const n=Object.keys(this.preferences.boost).sort(),r=Object.keys(this.savedPreferences.boost).sort();return n.length!==r.length||n.join(",")!==r.join(",")||n.some((n=>this.preferences.boost[n]!==this.savedPreferences.boost[n]))}},watch:{courseId:{immediate:!0,async handler(n){n?await this.loadPreferences():this.loading=!1}}},methods:{async loadPreferences(){this.loading=!0,this.saveError="";try{if(this.user=await ri()??null,!this.user)throw new Error("User not available");this.courseDB=getDataLayer().getCourseDB(this.courseId);const n=await this.courseDB.getCourseTagStubs();this.availableTags=n.rows.map((n=>n.doc)).filter(Boolean);const r=await this.user.getStrategyState(this.courseId,ua);this.preferences.boost=r?{...r.boost}:{},this.savedPreferences.boost={...this.preferences.boost},this.tagMaxRanges={},Object.keys(this.preferences.boost).forEach((n=>{const r=this.preferences.boost[n],o=this.sliderConfigResolved.startingMax;this.tagMaxRanges[n]=r>o?Math.min(Math.ceil(r),this.sliderConfigResolved.absoluteMax):o}))}catch(e3){console.error("Failed to load preferences:",e3),this.saveError="Failed to load preferences. Please try again."}finally{this.loading=!1}},addTag(n){n&&!(n in this.preferences.boost)&&(this.preferences.boost[n]=1,this.tagMaxRanges[n]=this.sliderConfigResolved.startingMax,this.$emit("preferences-changed",this.preferences)),this.$nextTick((()=>{this.tagToAdd=null}))},removeTag(n){delete this.preferences.boost[n],delete this.tagMaxRanges[n],this.$emit("preferences-changed",this.preferences)},updateBoost(n,r){this.preferences.boost[n]=r,this.$emit("preferences-changed",this.preferences)},expandSliderRange(n){const r=this.globalSliderMax;if(r<this.sliderConfigResolved.absoluteMax){const o=r+1;Object.keys(this.tagMaxRanges).forEach((n=>{this.tagMaxRanges[n]=Math.max(this.tagMaxRanges[n],o)})),this.preferences.boost[n]=o,this.$emit("preferences-changed",this.preferences)}},formatMultiplier:n=>0===n?"0x":n<.1?n.toFixed(2)+"x":n.toFixed(1)+"x",resetToSaved(){this.preferences.boost={...this.savedPreferences.boost},this.saveSuccess=!1,this.saveError="",this.tagMaxRanges={},Object.keys(this.preferences.boost).forEach((n=>{const r=this.preferences.boost[n],o=this.sliderConfigResolved.startingMax;this.tagMaxRanges[n]=r>o?Math.min(Math.ceil(r),this.sliderConfigResolved.absoluteMax):o}))},async savePreferences(){if(this.user&&this.courseId){this.saving=!0,this.saveError="",this.saveSuccess=!1;try{const n={boost:{...this.preferences.boost},updatedAt:(new Date).toISOString()};await this.user.putStrategyState(this.courseId,ua,n),this.savedPreferences.boost={...this.preferences.boost},this.saveSuccess=!0,this.$emit("preferences-saved",n)}catch(e3){console.error("Failed to save preferences:",e3),this.saveError="Failed to save preferences. Please try again."}finally{this.saving=!1}}else this.saveError="Unable to save - user or course not available"}}}),pa={key:1},ga={class:"mb-6"},ma={class:"text-subtitle-1 font-weight-bold mb-2"},fa={class:"d-flex align-center ga-3 w-100"},ba={class:"text-body-2 flex-shrink-0",style:{"min-width":"60px","text-align":"right"}},ya={key:2,class:"d-flex justify-center py-8"},ka=ie(ha,[["render",function(n,r,o,a,s,l){const c=resolveComponent("v-icon"),u=resolveComponent("v-card-title"),d=resolveComponent("v-card-subtitle"),f=resolveComponent("v-alert"),m=resolveComponent("v-list-item"),g=resolveComponent("v-autocomplete"),b=resolveComponent("v-chip"),S=resolveComponent("v-slider"),k=resolveComponent("v-btn"),w=resolveComponent("v-list"),E=resolveComponent("v-progress-circular"),C=resolveComponent("v-card-text"),T=resolveComponent("v-spacer"),I=resolveComponent("v-card-actions"),P=resolveComponent("v-card");return openBlock(),createBlock(P,{loading:n.loading},{default:withCtx((()=>[createVNode(u,null,{default:withCtx((()=>[createVNode(c,{start:""},{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("mdi-tune")]))),_:1}),r[4]||(r[4]=createTextVNode(" Learning Preferences "))])),_:1}),n.courseId?(openBlock(),createBlock(d,{key:0},{default:withCtx((()=>r[5]||(r[5]=[createTextVNode(" Customize how content is presented in this course ")]))),_:1})):createCommentVNode("",!0),createVNode(C,null,{default:withCtx((()=>[n.courseId?n.loading?(openBlock(),createElementBlock("div",ya,[createVNode(E,{indeterminate:"",color:"primary"})])):(openBlock(),createElementBlock("div",pa,[createBaseVNode("div",ga,[createBaseVNode("h3",ma,[createVNode(c,{start:"",size:"small"},{default:withCtx((()=>r[7]||(r[7]=[createTextVNode("mdi-tune-variant")]))),_:1}),r[8]||(r[8]=createTextVNode(" Tag Preferences "))]),r[10]||(r[10]=createBaseVNode("p",{class:"text-body-2 text-medium-emphasis mb-3"}," Adjust how much you want to see cards with specific tags. 0 = exclude, 1 = neutral, higher = prefer more. ",-1)),createVNode(g,{modelValue:n.tagToAdd,"onUpdate:modelValue":[r[0]||(r[0]=r=>n.tagToAdd=r),n.addTag],items:n.availableTagsToAdd,"item-title":"name","item-value":"name",label:"Add tag preference",placeholder:"Search tags...",density:"compact",variant:"outlined",clearable:"","hide-details":"",class:"mb-4"},{item:withCtx((({props:n,item:r})=>[createVNode(m,normalizeProps(guardReactiveProps(n)),{subtitle:withCtx((()=>[createTextVNode(toDisplayString(r.raw.snippet),1)])),_:2},1040)])),_:1},8,["modelValue","items","onUpdate:modelValue"]),n.tagNames.length>0?(openBlock(),createBlock(w,{key:0,class:"mt-4"},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.tagNames,(r=>(openBlock(),createBlock(m,{key:r,class:"px-0"},{default:withCtx((()=>[createBaseVNode("div",fa,[createVNode(b,{size:"small",variant:"tonal",class:"flex-shrink-0",style:{"min-width":"120px"}},{default:withCtx((()=>[createTextVNode(toDisplayString(r),1)])),_:2},1024),createVNode(S,{"model-value":n.preferences.boost[r],min:n.sliderConfigResolved.min,max:n.globalSliderMax,step:.01,"hide-details":"",class:"flex-grow-1","thumb-label":"","onUpdate:modelValue":o=>n.updateBoost(r,o)},{"thumb-label":withCtx((({modelValue:r})=>[createTextVNode(toDisplayString(n.formatMultiplier(r)),1)])),_:2},1032,["model-value","min","max","onUpdate:modelValue"]),createBaseVNode("span",ba,toDisplayString(n.formatMultiplier(n.preferences.boost[r])),1),createVNode(k,{icon:"mdi-plus",size:"small",variant:"text",density:"compact",disabled:n.globalSliderMax>=n.sliderConfigResolved.absoluteMax,onClick:o=>n.expandSliderRange(r)},null,8,["disabled","onClick"]),createVNode(k,{icon:"mdi-delete",size:"small",variant:"text",density:"compact",onClick:o=>n.removeTag(r)},null,8,["onClick"])])])),_:2},1024)))),128))])),_:1})):(openBlock(),createBlock(f,{key:1,type:"info",variant:"tonal",class:"mt-4"},{default:withCtx((()=>r[9]||(r[9]=[createTextVNode(" No tag preferences configured yet. Add tags above to get started. ")]))),_:1}))]),n.saveError?(openBlock(),createBlock(f,{key:0,type:"error",variant:"tonal",class:"mt-4",closable:"","onClick:close":r[1]||(r[1]=r=>n.saveError="")},{default:withCtx((()=>[createTextVNode(toDisplayString(n.saveError),1)])),_:1})):createCommentVNode("",!0),n.saveSuccess?(openBlock(),createBlock(f,{key:1,type:"success",variant:"tonal",class:"mt-4",closable:"","onClick:close":r[2]||(r[2]=r=>n.saveSuccess=!1)},{default:withCtx((()=>r[11]||(r[11]=[createTextVNode(" Preferences saved successfully ")]))),_:1})):createCommentVNode("",!0)])):(openBlock(),createBlock(f,{key:0,type:"info",variant:"tonal",class:"mb-4"},{default:withCtx((()=>r[6]||(r[6]=[createTextVNode(" Select a course to configure your learning preferences. ")]))),_:1}))])),_:1}),n.courseId&&!n.loading?(openBlock(),createBlock(I,{key:1},{default:withCtx((()=>[createVNode(T),createVNode(k,{variant:"text",disabled:!n.hasChanges,onClick:n.resetToSaved},{default:withCtx((()=>r[12]||(r[12]=[createTextVNode(" Reset ")]))),_:1},8,["disabled","onClick"]),createVNode(k,{color:"primary",variant:"flat",loading:n.saving,disabled:!n.hasChanges,onClick:n.savePreferences},{default:withCtx((()=>r[13]||(r[13]=[createTextVNode(" Save Preferences ")]))),_:1},8,["loading","disabled","onClick"])])),_:1})):createCommentVNode("",!0)])),_:1},8,["loading"])}],["__scopeId","data-v-8fb14605"]]),commonUi_es=Object.freeze(Object.defineProperty({__proto__:null,AudioAutoPlayer:js,CardBrowser:ea,CardHistoryViewer:Ze,CardLoader:Cn,CardSearch:Ne,CardSearchResults:ze,CardViewer:it,CodeBlockRenderer:_r,CourseCardBrowser:Vi,CourseInformation:Yi,CourseTagFilterWidget:oa,Displayable:Displayable,FillInInput:Sn,HeatMap:ce,MarkdownRenderer:ni,MdTokenRenderer:ti,MultipleChoiceOption:dn,PaginatingToolbar:Ie,Question:Question,RadioMultipleChoice:pn,RequestPasswordReset:bi,ResetPassword:Mi,SessionControllerDebug:Zt,SkMouseTrap:ve,SkMouseTrapToolTip:we,SkldrMouseTrap:be,SnackbarService:Re,StudySession:sn,StudySessionTimer:rt,TFSelect:fn,TagsInput:Li,UserChip:li,UserInputNumber:bn,UserInputString:wn,UserLogin:ui,UserLoginAndRegistrationContainer:wi,UserRegistration:gi,UserTagPreferences:ka,VerifyEmail:Ti,alertUser:Se,containsComponent:Os,getCurrentUser:ri,getUserStatus:et,isComponent:Ls,isDefineComponent:Qe,isInlineComponent:Bs,isPasswordValid:pi,isQuestionView:We,parseComponentSyntax:Ps,parseComponentToken:zs,piniaPlugin:on,requestPasswordReset:tt,resetPassword:nt,sendVerificationEmail:Je,splitByDelimiters:$s,splitParagraphToken:Ds,splitTextToken:Ns,useAuthStore:ii,useCardPreviewModeStore:ln,useConfigStore:ai,useEntitlements:st,useQuestionView:Ge,useViewable:Ke,validatePassword:hi,verifyEmail:Xe},Symbol.toStringTag,{value:"Module"})),REGISTRATION_DISABLED_HOSTS=new Set(["eduquilt.com","www.eduquilt.com"]);function isRegistrationEnabled(){try{const n=new URL(window.location.href);return!REGISTRATION_DISABLED_HOSTS.has(n.hostname)}catch{return!0}}const _sfc_main$4=defineComponent$1({name:"App",__name:"App",setup(n){const r=ref(""),o=ref(!1),a=ii(),s=ai(),l=useTheme(),c=useRouter$1(),u=ref(!1),d=ref(!1),f=({username:n})=>{c.push(`/u/${n}/new`)},m=()=>{o.value=!o.value,o.value||(u.value=!1)};return watch(computed((()=>s.config.darkMode)),(n=>{l.global.name.value=n?"dark":"light"}),{immediate:!0}),onBeforeMount((async()=>{await a.init(),await s.init(),d.value=!0})),onMounted((async()=>{r.value="buildValue not implemented",be.addBinding({hotkey:"?",command:"Show keyboard shortcuts",callback:()=>{const n=document.querySelector(".mdi-keyboard");n&&n.click()}})})),(n,r)=>{const a=resolveComponent("v-icon"),s=resolveComponent("v-list-item-title"),l=resolveComponent("v-list-item"),c=resolveComponent("v-list"),g=resolveComponent("v-navigation-drawer"),b=resolveComponent("v-app-bar-nav-icon"),S=resolveComponent("v-spacer"),k=resolveComponent("v-app-bar"),w=resolveComponent("v-fade-transition"),E=resolveComponent("router-view"),C=resolveComponent("v-container"),T=resolveComponent("v-main"),I=resolveComponent("v-app");return d.value?(openBlock(),createBlock(I,{key:0,"data-cy":"app"},{default:withCtx((()=>[createVNode(g,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=n=>o.value=n),elevation:2,rail:u.value,onClick:r[1]||(r[1]=n=>u.value=!1)},{default:withCtx((()=>[createVNode(c,null,{default:withCtx((()=>[createVNode(l,{to:"/home",value:"home"},{prepend:withCtx((()=>[createVNode(a,{icon:"mdi-home"})])),default:withCtx((()=>[createVNode(unref(we),{hotkey:"g h",command:"Go to Home","highlight-effect":"none",position:"right"},{default:withCtx((()=>[createVNode(s,null,{default:withCtx((()=>r[2]||(r[2]=[createTextVNode("Home")]))),_:1})])),_:1})])),_:1}),createVNode(l,{to:"/study",value:"study"},{prepend:withCtx((()=>[createVNode(a,{icon:"mdi-school"})])),default:withCtx((()=>[createVNode(unref(we),{hotkey:"g s",command:"Go to Study","highlight-effect":"none",position:"right"},{default:withCtx((()=>[createVNode(s,null,{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("Study")]))),_:1})])),_:1})])),_:1}),createVNode(l,{to:"/classrooms",value:"classrooms"},{prepend:withCtx((()=>[createVNode(a,{icon:"mdi-account-group"})])),default:withCtx((()=>[createVNode(unref(we),{hotkey:"g c",command:"Go to Classrooms","highlight-effect":"none",position:"right"},{default:withCtx((()=>[createVNode(s,null,{default:withCtx((()=>r[4]||(r[4]=[createTextVNode("Classrooms")]))),_:1})])),_:1})])),_:1}),createVNode(l,{to:"/quilts",value:"quilts"},{prepend:withCtx((()=>[createVNode(a,{icon:"mdi-bookmark-multiple"})])),default:withCtx((()=>[createVNode(unref(we),{hotkey:"g q",command:"Go to Quilts","highlight-effect":"none",position:"right"},{default:withCtx((()=>[createVNode(s,null,{default:withCtx((()=>r[5]||(r[5]=[createTextVNode("Quilts")]))),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue","rail"]),createVNode(k,{density:"compact"},{default:withCtx((()=>[createVNode(unref(we),{hotkey:"m",command:"Toggle Menu","highlight-effect":"none",position:"right"},{default:withCtx((()=>[createVNode(b,{onClick:withModifiers(m,["stop"])})])),_:1}),createVNode(S),createVNode(unref(wi),{"show-registration":unref(isRegistrationEnabled)(),"on-signup-success":f},null,8,["show-registration"])])),_:1}),createVNode(T,null,{default:withCtx((()=>[createVNode(C,null,{default:withCtx((()=>[createVNode(E,null,{default:withCtx((({Component:n})=>[createVNode(w,{mode:"out-in"},{default:withCtx((()=>[(openBlock(),createBlock(resolveDynamicComponent(n)))])),_:2},1024)])),_:1})])),_:1})])),_:1}),createVNode(unref(Re),{id:"SnackbarService"}),createVNode(unref(ve))])),_:1})):createCommentVNode("",!0)}}});function registerSW(n={}){const{immediate:r=!1,onNeedRefresh:o,onOfflineReady:a,onRegistered:s,onRegisteredSW:l,onRegisterError:c}=n;let u,d;return d=async function(){if("serviceWorker"in navigator){if(u=await __vitePreload((async()=>{const{Workbox:n}=await import("./workbox-window.prod.es5-p40uij6f.js");return{Workbox:n}}),[]).then((({Workbox:n})=>new n("/sw.js",{scope:"/",type:"classic"}))).catch((n=>{c?.(n)})),!u)return;u.addEventListener("activated",(n=>{(n.isUpdate||n.isExternal)&&window.location.reload()})),u.addEventListener("installed",(n=>{n.isUpdate||a?.()})),u.register({immediate:r}).then((n=>{l?l("/sw.js",n):s?.(n)})).catch((n=>{c?.(n)}))}}(),async(n=!0)=>{await d}}registerSW({onNeedRefresh(){console.log("New content is available; please refresh.")},onOfflineReady(){console.log("Content has been cached for offline use.")},onRegistered(){console.log("Service worker has been registered.")},onRegisterError(n){console.error("Error during service worker registration:",n)}});const useAuthRedirectStore=defineStore("authRedirect",{state:()=>({pendingRedirect:null}),getters:{hasPendingRedirect:n=>{if(!n.pendingRedirect)return!1;return!(Date.now()-n.pendingRedirect.timestamp>6e5)},redirectPath:n=>n.pendingRedirect?.path||"/",redirectReason:n=>n.pendingRedirect?.reason||null,contextualMessage:n=>{if(!n.pendingRedirect)return null;switch(n.pendingRedirect.reason){case"admin-required":return"Admin access required for this page. Please log in with an admin account.";case"auth-required":return"Please log in to access this page.";case"auth-failed":return"Authentication error occurred. Please try logging in again.";default:return"Please log in to continue."}},alertType:n=>{if(!n.pendingRedirect)return"info";switch(n.pendingRedirect.reason){case"admin-required":return"warning";case"auth-required":default:return"info";case"auth-failed":return"error"}}},actions:{setPendingRedirect(n,r){this.pendingRedirect={path:n,reason:r,timestamp:Date.now()}},clearRedirect(){this.pendingRedirect=null},getRedirectContext(){return this.hasPendingRedirect?this.pendingRedirect:null}}}),_sfc_main$3=defineComponent$1({name:"TextSwap",props:{text:{type:Array,required:!0}},data:()=>({index:0}),methods:{next(){if(this.text.length>1){const n=this.index;for(;this.index===n;)this.index=Math.floor(Math.random()*this.text.length)}}}}),_export_sfc=(n,r)=>{const o=n.__vccOpts||n;for(const[a,s]of r)o[a]=s;return o};function _sfc_render$3(n,r,o,a,s,l){return openBlock(),createBlock(Transition,{appear:"",name:"fade",mode:"out-in"},{default:withCtx((()=>[(openBlock(),createElementBlock("a",{key:n.index,onClick:r[0]||(r[0]=r=>n.next())},toDisplayString(n.text[n.index]),1))])),_:1})}const TextSwap=_export_sfc(_sfc_main$3,[["render",_sfc_render$3],["__scopeId","data-v-070077cf"]]),_sfc_main$2=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((n=>{Math.random()<.33&&n.next()}))}}}),_hoisted_1$1={class:"text-h5"};function _sfc_render$2(n,r,o,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":n.display.xs,"text-h2":n.display.smAndUp})},r[0]||(r[0]=[createBaseVNode("span",{class:"font-weight-thin"},"edu",-1),createBaseVNode("span",{class:"font-weight-bold"},"Quilt",-1)]),2),createBaseVNode("p",_hoisted_1$1,[r[1]||(r[1]=createBaseVNode("em",null,"quilt",-1)),r[2]||(r[2]=createTextVNode(": (n) a ")),createVNode(c,{ref:"swap1",text:n.label},null,8,["text"]),r[3]||(r[3]=createTextVNode(" of ")),createVNode(c,{ref:"swap2",text:n.adjective},null,8,["text"]),r[4]||(r[4]=createTextVNode(" courseware that ")),createVNode(c,{ref:"swap3",text:n.subject},null,8,["text"]),r[5]||(r[5]=createTextVNode(" can ")),createVNode(c,{ref:"swap4",text:n.verb},null,8,["text"])]),createVNode(u,{class:"my-12"}),r[6]||(r[6]=createBaseVNode("div",{class:"text-subtitle-1"},"(get cozy)",-1))])),_:1})])),_:1})])),_:1})}const Home=_export_sfc(_sfc_main$2,[["render",_sfc_render$2],["__scopeId","data-v-13242f0e"]]),_sfc_main$1=defineComponent$1({name:"LoginRoute",components:{UserLogin:ui},data:()=>({username:"",authStore:ii(),configStore:ai(),redirectStore:useAuthRedirectStore()}),computed:{isUserLoggedIn(){return this.authStore.isLoggedIn},redirectContext(){const n=this.$route.meta.state||history.state;if(n?.redirect&&n?.reason){if(Date.now()-(n.timestamp||0)<6e5)return{path:n.redirect,reason:n.reason,timestamp:n.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&&ri().then((n=>{this.username=n.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$1(n,r,o,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"),b=resolveComponent("v-card-actions"),S=resolveComponent("v-card"),k=resolveComponent("v-container");return openBlock(),createBlock(k,{class:"d-flex align-center login"},{default:withCtx((()=>[n.redirectReason&&!n.isUserLoggedIn?(openBlock(),createBlock(c,{key:0,type:n.alertType,class:"mb-4 w-100",text:n.redirectMessage},null,8,["type","text"])):createCommentVNode("",!0),n.isUserLoggedIn?(openBlock(),createBlock(S,{key:2,class:"w-100 pa-4"},{default:withCtx((()=>[createVNode(d,{class:"text-center"},{default:withCtx((()=>r[0]||(r[0]=[createTextVNode(" Already logged in! ")]))),_:1}),createVNode(f,{class:"text-center"},{default:withCtx((()=>[r[1]||(r[1]=createTextVNode(" You are currently logged in as ")),createBaseVNode("strong",null,toDisplayString(n.username),1),r[2]||(r[2]=createTextVNode(". "))])),_:1}),createVNode(b,{class:"justify-center"},{default:withCtx((()=>[createVNode(g,{color:"primary",onClick:n.logout},{default:withCtx((()=>[createVNode(m,{start:""},{default:withCtx((()=>r[3]||(r[3]=[createTextVNode("mdi-logout")]))),_:1}),r[4]||(r[4]=createTextVNode(" Log out "))])),_:1},8,["onClick"])])),_:1})])),_:1})):(openBlock(),createBlock(u,{key:1,"redirect-to":n.redirectPath,onLoginSuccess:n.onLoginSuccess},null,8,["redirect-to","onLoginSuccess"]))])),_:1})}const Login=_export_sfc(_sfc_main$1,[["render",_sfc_render$1],["__scopeId","data-v-c8f45d6c"]]),_sfc_main=defineComponent$1({name:"LoginRoute",components:{UserRegistration:gi},computed:{isUserLoggedIn:()=>ii().isLoggedIn},methods:{handleSignupSuccess({username:n}){console.log("[PLATFORM-UI] Signup success, redirecting to:",`/u/${n}/new`),this.$router.push(`/u/${n}/new`)}}}),_hoisted_1={key:1};function _sfc_render(n,r,o,a,s,l){const c=resolveComponent("user-registration"),u=resolveComponent("v-container");return openBlock(),createBlock(u,{class:"d-flex align-center maxWidth"},{default:withCtx((()=>[n.isUserLoggedIn?(openBlock(),createElementBlock("div",_hoisted_1,"Already logged in! Welcome back!")):(openBlock(),createBlock(c,{key:0,onSignupSuccess:n.handleSignupSuccess},null,8,["onSignupSuccess"]))])),_:1})}const SignUp=_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-033901dd"]]),About=()=>__vitePreload((()=>import("./About-BaAnvLBW.js")),[]),AdminDashboard=()=>__vitePreload((()=>import("./AdminDashboard-CqjTUAz6.js")),__vite__mapDeps([0,1,2])),Classrooms=()=>__vitePreload((()=>import("./Classrooms-C2axF94L.js")),__vite__mapDeps([3,4])),ClassroomCtrlPanel=()=>__vitePreload((()=>import("./ClassroomCtrlPanel-DY_JOO4n.js")),[]),JoinCode=()=>__vitePreload((()=>import("./JoinCode-BC6k_fbV.js")),__vite__mapDeps([5,6])),Courses=()=>__vitePreload((()=>import("./Courses-JnwlMj7_.js")),__vite__mapDeps([7,8,4,9])),CourseRouter=()=>__vitePreload((()=>import("./CourseRouter-Cpx3l0G5.js")),__vite__mapDeps([10,8,4,1,11])),CourseEditor=()=>__vitePreload((()=>import("./edit-ui.es-XlgQUjdy.js")),__vite__mapDeps([12,1])).then((n=>n.CourseEditor)),ELOModerator=()=>__vitePreload((()=>import("./EloModeration-WKZ0ZI9K.js")),__vite__mapDeps([13,1,14])),TagInformation=()=>__vitePreload((()=>import("./TagInformation-C_wEpXyQ.js")),__vite__mapDeps([15,1])),Stats=()=>__vitePreload((()=>import("./UserStats-DceiClex.js")),[]),Study=()=>__vitePreload((()=>import("./Study-CiczyXm5.js")),__vite__mapDeps([16,12,1,17])),User=()=>__vitePreload((()=>import("./User-9YKBLtBO.js")),[]),ReleaseNotes=()=>__vitePreload((()=>import("./ReleaseNotes-Du1rXmdr.js")),[]),VerifyEmailView=()=>__vitePreload((()=>import("./VerifyEmail-z-t9eEy2.js")),[]),RequestPasswordResetView=()=>__vitePreload((()=>import("./RequestPasswordReset-CD6KAb-x.js")),__vite__mapDeps([18,19])),ResetPasswordView=()=>__vitePreload((()=>import("./ResetPassword-CdcPL1lR.js")),[]),MarkdownRenderer=()=>__vitePreload((()=>Promise.resolve().then((()=>commonUi_es))),void 0).then((n=>n.MarkdownRenderer)),DataInputFormTester=()=>__vitePreload((()=>import("./DataInputFormTester-COeenuPs.js")),__vite__mapDeps([20,12,1])),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:"/signup",name:"signup",component:SignUp,beforeEnter:()=>{if(!isRegistrationEnabled())return{name:"home"}}},{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:Stats}]});router.beforeEach((async(n,r,o)=>{if(["/express","/couch"].some((r=>n.path.startsWith(r))))return!1;if(n.meta.requiresAdmin)try{const r=await ri();if(r&&"admin"===r.getUsername())o();else{const a=useAuthRedirectStore();let s;s=r?"admin-required":"auth-required",a.setPendingRedirect(n.fullPath,s),o({name:"login",state:{redirect:n.fullPath,reason:s,timestamp:Date.now()}})}}catch{const r="auth-failed";useAuthRedirectStore().setPendingRedirect(n.fullPath,r),o({name:"login",state:{redirect:n.fullPath,reason:r,timestamp:Date.now()}})}else o()}));const makeVAppProps=propsFactory({...makeComponentProps(),...makeLayoutProps({fullHeight:!0}),...makeThemeProps()},"VApp"),VApp=genericComponent()({name:"VApp",props:makeVAppProps(),setup(n,r){let{slots:o}=r;const a=provideTheme(n),{layoutClasses:s,getLayoutItem:l,items:c,layoutRef:u}=createLayout(n),{rtlClasses:d}=useRtl();return useRender((()=>createVNode("div",{ref:u,class:["v-application",a.themeClasses.value,s.value,d.value,n.class],style:[n.style]},[createVNode("div",{class:"v-application__wrap"},[o.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(n,r){let{slots:o}=r;return useRender((()=>{const r=!!(o.default||o.text||n.text);return createVNode(n.tag,{class:["v-toolbar-title",n.class],style:n.style},{default:()=>[r&&createVNode("div",{class:"v-toolbar-title__placeholder"},[o.text?o.text():n.text,o.default?.()])]})})),{}}}),makeTransitionProps$1=propsFactory({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function createCssTransition(n,r,o){return genericComponent()({name:n,props:makeTransitionProps$1({mode:o,origin:r}),setup(r,o){let{slots:a}=o;const s={onBeforeEnter(n){r.origin&&(n.style.transformOrigin=r.origin)},onLeave(n){if(r.leaveAbsolute){const{offsetTop:r,offsetLeft:o,offsetWidth:a,offsetHeight:s}=n;n._transitionInitialStyles={position:n.style.position,top:n.style.top,left:n.style.left,width:n.style.width,height:n.style.height},n.style.position="absolute",n.style.top=`${r}px`,n.style.left=`${o}px`,n.style.width=`${a}px`,n.style.height=`${s}px`}r.hideOnLeave&&n.style.setProperty("display","none","important")},onAfterLeave(n){if(r.leaveAbsolute&&n?._transitionInitialStyles){const{position:r,top:o,left:a,width:s,height:l}=n._transitionInitialStyles;delete n._transitionInitialStyles,n.style.position=r||"",n.style.top=o||"",n.style.left=a||"",n.style.width=s||"",n.style.height=l||""}}};return()=>h$2(r.group?TransitionGroup:Transition,{name:r.disabled?"":n,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:s},a.default)}})}function createJavascriptTransition(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"in-out";return genericComponent()({name:n,props:{mode:{type:String,default:o},disabled:Boolean,group:Boolean},setup(o,a){let{slots:s}=a;const l=o.group?TransitionGroup:Transition;return()=>h$2(l,{name:o.disabled?"":n,css:!o.disabled,...o.disabled?{}:r},s.default)}})}function ExpandTransitionGenerator(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const r=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"width":"height",o=camelize(`offset-${r}`);return{onBeforeEnter(n){n._parent=n.parentNode,n._initialStyle={transition:n.style.transition,overflow:n.style.overflow,[r]:n.style[r]}},onEnter(a){const s=a._initialStyle;if(!s)return;a.style.setProperty("transition","none","important"),a.style.overflow="hidden";const l=`${a[o]}px`;a.style[r]="0",a.offsetHeight,a.style.transition=s.transition,n&&a._parent&&a._parent.classList.add(n),requestAnimationFrame((()=>{a.style[r]=l}))},onAfterEnter:s,onEnterCancelled:s,onLeave(n){n._initialStyle={transition:"",overflow:n.style.overflow,[r]:n.style[r]},n.style.overflow="hidden",n.style[r]=`${n[o]}px`,n.offsetHeight,requestAnimationFrame((()=>n.style[r]="0"))},onAfterLeave:a,onLeaveCancelled:a};function a(r){n&&r._parent&&r._parent.classList.remove(n),s(r)}function s(n){if(!n._initialStyle)return;const o=n._initialStyle[r];n.style.overflow=n._initialStyle.overflow,null!=o&&(n.style[r]=o),delete n._initialStyle}}const makeVDialogTransitionProps=propsFactory({target:[Object,Array]},"v-dialog-transition"),VDialogTransition=genericComponent()({name:"VDialogTransition",props:makeVDialogTransitionProps(),setup(n,r){let{slots:o}=r;const a={onBeforeEnter(n){n.style.pointerEvents="none",n.style.visibility="hidden"},async onEnter(r,o){await new Promise((n=>requestAnimationFrame(n))),await new Promise((n=>requestAnimationFrame(n))),r.style.visibility="";const{x:a,y:s,sx:l,sy:c,speed:u}=getDimensions(n.target,r),d=animate(r,[{transform:`translate(${a}px, ${s}px) scale(${l}, ${c})`,opacity:0},{}],{duration:225*u,easing:deceleratedEasing});getChildren(r)?.forEach((n=>{animate(n,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*u,easing:standardEasing})})),d.finished.then((()=>o()))},onAfterEnter(n){n.style.removeProperty("pointer-events")},onBeforeLeave(n){n.style.pointerEvents="none"},async onLeave(r,o){await new Promise((n=>requestAnimationFrame(n)));const{x:a,y:s,sx:l,sy:c,speed:u}=getDimensions(n.target,r);animate(r,[{},{transform:`translate(${a}px, ${s}px) scale(${l}, ${c})`,opacity:0}],{duration:125*u,easing:acceleratedEasing}).finished.then((()=>o())),getChildren(r)?.forEach((n=>{animate(n,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*u,easing:standardEasing})}))},onAfterLeave(n){n.style.removeProperty("pointer-events")}};return()=>n.target?createVNode(Transition,mergeProps({name:"dialog-transition"},a,{css:!1}),o):createVNode(Transition,{name:"dialog-transition"},o)}});function getChildren(n){const r=n.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;return r&&[...r]}function getDimensions(n,r){const o=getTargetBox(n),a=nullifyTransforms(r),[s,l]=getComputedStyle(r).transformOrigin.split(" ").map((n=>parseFloat(n))),[c,u]=getComputedStyle(r).getPropertyValue("--v-overlay-anchor-origin").split(" ");let d=o.left+o.width/2;"left"===c||"left"===u?d-=o.width/2:"right"!==c&&"right"!==u||(d+=o.width/2);let f=o.top+o.height/2;"top"===c||"top"===u?f-=o.height/2:"bottom"!==c&&"bottom"!==u||(f+=o.height/2);const m=o.width/a.width,g=o.height/a.height,b=Math.max(1,m,g),S=m/b||0,k=g/b||0,w=a.width*a.height/(window.innerWidth*window.innerHeight),E=w>.12?Math.min(1.5,10*(w-.12)+1):1;return{x:d-(s+a.left),y:f-(l+a.top),sx:S,sy:k,speed:E}}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(n,r){let{slots:o}=r;const{defaults:a,disabled:s,reset:l,root:c,scoped:u}=toRefs(n);return provideDefaults(a,{reset:l,root:c,scoped:u,disabled:s}),()=>o.default?.()}}),makeDimensionProps=propsFactory({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function useDimension(n){return{dimensionStyles:computed((()=>{const r={},o=convertToUnit(n.height),a=convertToUnit(n.maxHeight),s=convertToUnit(n.maxWidth),l=convertToUnit(n.minHeight),c=convertToUnit(n.minWidth),u=convertToUnit(n.width);return null!=o&&(r.height=o),null!=a&&(r.maxHeight=a),null!=s&&(r.maxWidth=s),null!=l&&(r.minHeight=l),null!=c&&(r.minWidth=c),null!=u&&(r.width=u),r}))}}function useAspectStyles(n){return{aspectStyles:computed((()=>{const r=Number(n.aspectRatio);return r?{paddingBottom:String(1/r*100)+"%"}:void 0}))}}const makeVResponsiveProps=propsFactory({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...makeComponentProps(),...makeDimensionProps()},"VResponsive"),VResponsive=genericComponent()({name:"VResponsive",props:makeVResponsiveProps(),setup(n,r){let{slots:o}=r;const{aspectStyles:a}=useAspectStyles(n),{dimensionStyles:s}=useDimension(n);return useRender((()=>createVNode("div",{class:["v-responsive",{"v-responsive--inline":n.inline},n.class],style:[s.value,n.style]},[createVNode("div",{class:"v-responsive__sizer",style:a.value},null),o.additional?.(),o.default&&createVNode("div",{class:["v-responsive__content",n.contentClass]},[o.default()])]))),{}}});function useColor(n){return destructComputed((()=>{const r=[],o={};if(n.value.background)if(isCssColor(n.value.background)){if(o.backgroundColor=n.value.background,!n.value.text&&isParsableColor(n.value.background)){const r=parseColor(n.value.background);if(null==r.a||1===r.a){const n=getForeground(r);o.color=n,o.caretColor=n}}}else r.push(`bg-${n.value.background}`);return n.value.text&&(isCssColor(n.value.text)?(o.color=n.value.text,o.caretColor=n.value.text):r.push(`text-${n.value.text}`)),{colorClasses:r,colorStyles:o}}))}function useTextColor(n,r){const o=computed((()=>({text:isRef(n)?n.value:r?n[r]:null}))),{colorClasses:a,colorStyles:s}=useColor(o);return{textColorClasses:a,textColorStyles:s}}function useBackgroundColor(n,r){const o=computed((()=>({background:isRef(n)?n.value:r?n[r]:null}))),{colorClasses:a,colorStyles:s}=useColor(o);return{backgroundColorClasses:a,backgroundColorStyles:s}}const makeRoundedProps=propsFactory({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function useRounded(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{roundedClasses:computed((()=>{const o=isRef(n)?n.value:n.rounded,a=isRef(n)?n.value:n.tile,s=[];if(!0===o||""===o)s.push(`${r}--rounded`);else if("string"==typeof o||0===o)for(const n of String(o).split(" "))s.push(`rounded-${n}`);else(a||!1===o)&&s.push("rounded-0");return s}))}}const makeTransitionProps=propsFactory({transition:{type:[Boolean,String,Object],default:"fade-transition",validator:n=>!0!==n}},"transition"),MaybeTransition=(n,r)=>{let{slots:o}=r;const{transition:a,disabled:s,group:l,...c}=n,{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((n=>{let[r,o]=n;return void 0!==o}))),c),o)};function mounted$5(n,r){if(!SUPPORTS_INTERSECTION)return;const o=r.modifiers||{},a=r.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=n._observe?.[r.instance.$.uid];if(!c)return;const u=a.some((n=>n.isIntersecting));!s||o.quiet&&!c.init||o.once&&!u&&!c.init||s(u,a,l),u&&o.once?unmounted$5(n,r):c.init=!0}),l);n._observe=Object(n._observe),n._observe[r.instance.$.uid]={init:!1,observer:c},c.observe(n)}function unmounted$5(n,r){const o=n._observe?.[r.instance.$.uid];o&&(o.observer.unobserve(n),delete n._observe[r.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:n=>!0,load:n=>!0,error:n=>!0},setup(n,r){let{emit:o,slots:a}=r;const{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(n,"color")),{roundedClasses:c}=useRounded(n),u=getCurrentInstance("VImg"),d=shallowRef(""),f=ref(),m=shallowRef(n.eager?"loading":"idle"),g=shallowRef(),b=shallowRef(),S=computed((()=>n.src&&"object"==typeof n.src?{src:n.src.src,srcset:n.srcset||n.src.srcset,lazySrc:n.lazySrc||n.src.lazySrc,aspect:Number(n.aspectRatio||n.src.aspect||0)}:{src:n.src,srcset:n.srcset,lazySrc:n.lazySrc,aspect:Number(n.aspectRatio||0)})),k=computed((()=>S.value.aspect||g.value/b.value||0));function w(r){if((!n.eager||!r)&&(!SUPPORTS_INTERSECTION||r||n.eager)){if(m.value="loading",S.value.lazySrc){const n=new Image;n.src=S.value.lazySrc,P(n,null)}S.value.src&&nextTick$2((()=>{o("loadstart",f.value?.currentSrc||S.value.src),setTimeout((()=>{if(!u.isUnmounted)if(f.value?.complete){if(f.value.naturalWidth||C(),"error"===m.value)return;k.value||P(f.value,null),"loading"===m.value&&E()}else k.value||P(f.value),T()}))}))}}function E(){u.isUnmounted||(T(),P(f.value),m.value="loaded",o("load",f.value?.currentSrc||S.value.src))}function C(){u.isUnmounted||(m.value="error",o("error",f.value?.currentSrc||S.value.src))}function T(){const n=f.value;n&&(d.value=n.currentSrc||n.src)}watch((()=>n.src),(()=>{w("idle"!==m.value)})),watch(k,((n,r)=>{!n&&r&&f.value&&P(f.value)})),onBeforeMount((()=>w()));let I=-1;function P(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;const o=()=>{if(clearTimeout(I),u.isUnmounted)return;const{naturalHeight:a,naturalWidth:s}=n;a||s?(g.value=s,b.value=a):n.complete||"loading"!==m.value||null==r?(n.currentSrc.endsWith(".svg")||n.currentSrc.startsWith("data:image/svg+xml"))&&(g.value=1,b.value=1):I=window.setTimeout(o,r)};o()}onBeforeUnmount((()=>{clearTimeout(I)}));const D=computed((()=>({"v-img__img--cover":n.cover,"v-img__img--contain":!n.cover}))),O=()=>{if(!S.value.src||"idle"===m.value)return null;const r=createVNode("img",{class:["v-img__img",D.value],style:{objectPosition:n.position},crossorigin:n.crossorigin,src:S.value.src,srcset:S.value.srcset,alt:n.alt,referrerpolicy:n.referrerpolicy,draggable:n.draggable,sizes:n.sizes,ref:f,onLoad:E,onError:C},null),o=a.sources?.();return createVNode(MaybeTransition,{transition:n.transition,appear:!0},{default:()=>[withDirectives(o?createVNode("picture",{class:"v-img__picture"},[o,r]):r,[[vShow,"loaded"===m.value]])]})},A=()=>createVNode(MaybeTransition,{transition:n.transition},{default:()=>[S.value.lazySrc&&"loaded"!==m.value&&createVNode("img",{class:["v-img__img","v-img__img--preload",D.value],style:{objectPosition:n.position},crossorigin:n.crossorigin,src:S.value.lazySrc,alt:n.alt,referrerpolicy:n.referrerpolicy,draggable:n.draggable},null)]}),eo=()=>a.placeholder?createVNode(MaybeTransition,{transition:n.transition,appear:!0},{default:()=>[("loading"===m.value||"error"===m.value&&!a.error)&&createVNode("div",{class:"v-img__placeholder"},[a.placeholder()])]}):null,no=()=>a.error?createVNode(MaybeTransition,{transition:n.transition,appear:!0},{default:()=>["error"===m.value&&createVNode("div",{class:"v-img__error"},[a.error()])]}):null,ro=()=>n.gradient?createVNode("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${n.gradient})`}},null):null,oo=shallowRef(!1);{const n=watch(k,(r=>{r&&(requestAnimationFrame((()=>{requestAnimationFrame((()=>{oo.value=!0}))})),n())}))}return useRender((()=>{const r=VResponsive.filterProps(n);return withDirectives(createVNode(VResponsive,mergeProps({class:["v-img",{"v-img--absolute":n.absolute,"v-img--booting":!oo.value},s.value,c.value,n.class],style:[{width:convertToUnit("auto"===n.width?g.value:n.width)},l.value,n.style]},r,{aspectRatio:k.value,"aria-label":n.alt,role:n.alt?"img":void 0}),{additional:()=>createVNode(Fragment,null,[createVNode(O,null,null),createVNode(A,null,null),createVNode(ro,null,null),createVNode(eo,null,null),createVNode(no,null,null)]),default:a.default}),[[resolveDirective("intersect"),{handler:w,options:n.options},null,{once:!0}]])})),{currentSrc:d,image:f,state:m,naturalWidth:g,naturalHeight:b}}}),makeBorderProps=propsFactory({border:[Boolean,Number,String]},"border");function useBorder(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{borderClasses:computed((()=>{const o=isRef(n)?n.value:n.border,a=[];if(!0===o||""===o)a.push(`${r}--border`);else if("string"==typeof o||0===o)for(const n of String(o).split(" "))a.push(`border-${n}`);return a}))}}const makeElevationProps=propsFactory({elevation:{type:[Number,String],validator(n){const r=parseInt(n);return!isNaN(r)&&r>=0&&r<=24}}},"elevation");function useElevation(n){return{elevationClasses:computed((()=>{const r=isRef(n)?n.value:n.elevation,o=[];return null==r||o.push(`elevation-${r}`),o}))}}const allowedDensities$1=[null,"prominent","default","comfortable","compact"],makeVToolbarProps=propsFactory({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:n=>allowedDensities$1.includes(n)},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(n,r){let{slots:o}=r;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(n,"color")),{borderClasses:l}=useBorder(n),{elevationClasses:c}=useElevation(n),{roundedClasses:u}=useRounded(n),{themeClasses:d}=provideTheme(n),{rtlClasses:f}=useRtl(),m=shallowRef(!(!n.extended&&!o.extension?.())),g=computed((()=>parseInt(Number(n.height)+("prominent"===n.density?Number(n.height):0)-("comfortable"===n.density?8:0)-("compact"===n.density?16:0),10))),b=computed((()=>m.value?parseInt(Number(n.extensionHeight)+("prominent"===n.density?Number(n.extensionHeight):0)-("comfortable"===n.density?4:0)-("compact"===n.density?8:0),10):0));return provideDefaults({VBtn:{variant:"text"}}),useRender((()=>{const r=!(!n.title&&!o.title),S=!(!o.image&&!n.image),k=o.extension?.();return m.value=!(!n.extended&&!k),createVNode(n.tag,{class:["v-toolbar",{"v-toolbar--absolute":n.absolute,"v-toolbar--collapse":n.collapse,"v-toolbar--flat":n.flat,"v-toolbar--floating":n.floating,[`v-toolbar--density-${n.density}`]:!0},a.value,l.value,c.value,u.value,d.value,f.value,n.class],style:[s.value,n.style]},{default:()=>[S&&createVNode("div",{key:"image",class:"v-toolbar__image"},[o.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{cover:!0,src:n.image}}},o.image):createVNode(VImg,{key:"image-img",cover:!0,src:n.image},null)]),createVNode(VDefaultsProvider,{defaults:{VTabs:{height:convertToUnit(g.value)}}},{default:()=>[createVNode("div",{class:"v-toolbar__content",style:{height:convertToUnit(g.value)}},[o.prepend&&createVNode("div",{class:"v-toolbar__prepend"},[o.prepend?.()]),r&&createVNode(VToolbarTitle,{key:"title",text:n.title},{text:o.title}),o.default?.(),o.append&&createVNode("div",{class:"v-toolbar__append"},[o.append?.()])])]}),createVNode(VDefaultsProvider,{defaults:{VTabs:{height:convertToUnit(b.value)}}},{default:()=>[createVNode(VExpandTransition,null,{default:()=>[m.value&&createVNode("div",{class:"v-toolbar__extension",style:{height:convertToUnit(b.value)}},[k])]})]})]})})),{contentHeight:g,extensionHeight:b}}}),makeScrollProps=propsFactory({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function useScroll(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{canScroll:o}=r;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(n.scrollThreshold))),b=computed((()=>clamp((g.value-c.value)/g.value||0))),S=()=>{const n=l.value;if(!n||o&&!o.value)return;a=c.value,c.value="window"in n?n.pageYOffset:n.scrollTop;const r=n instanceof Window?document.documentElement.scrollHeight:n.scrollHeight;s===r?(m.value=c.value<a,d.value=Math.abs(c.value-g.value)):s=r};return watch(m,(()=>{u.value=u.value||c.value})),watch(f,(()=>{u.value=0})),onMounted((()=>{watch((()=>n.scrollTarget),(n=>{const r=n?document.querySelector(n):window;r&&r!==l.value&&(l.value?.removeEventListener("scroll",S),l.value=r,l.value.addEventListener("scroll",S,{passive:!0}))}),{immediate:!0})})),onBeforeUnmount((()=>{l.value?.removeEventListener("scroll",S)})),o&&watch(o,S,{immediate:!0}),{scrollThreshold:g,currentScroll:c,currentThreshold:d,isScrollActive:f,scrollRatio:b,isScrollingUp:m,savedScroll:u}}function useSsrBoot(){const n=shallowRef(!1);onMounted((()=>{window.requestAnimationFrame((()=>{n.value=!0}))}));return{ssrBootStyles:computed((()=>n.value?void 0:{transition:"none !important"})),isBooted:readonly(n)}}const makeVAppBarProps=propsFactory({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:n=>["top","bottom"].includes(n)},...makeVToolbarProps(),...makeLayoutItemProps(),...makeScrollProps(),height:{type:[Number,String],default:64}},"VAppBar"),VAppBar=genericComponent()({name:"VAppBar",props:makeVAppBarProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const a=ref(),s=useProxiedModel(n,"modelValue"),l=computed((()=>{const r=new Set(n.scrollBehavior?.split(" ")??[]);return{hide:r.has("hide"),fullyHide:r.has("fully-hide"),inverted:r.has("inverted"),collapse:r.has("collapse"),elevate:r.has("elevate"),fadeImage:r.has("fade-image")}})),c=computed((()=>{const n=l.value;return n.hide||n.fullyHide||n.inverted||n.collapse||n.elevate||n.fadeImage||!s.value})),{currentScroll:u,scrollThreshold:d,isScrollingUp:f,scrollRatio:m}=useScroll(n,{canScroll:c}),g=computed((()=>l.value.hide||l.value.fullyHide)),b=computed((()=>n.collapse||l.value.collapse&&(l.value.inverted?m.value>0:0===m.value))),S=computed((()=>n.flat||l.value.fullyHide&&!s.value||l.value.elevate&&(l.value.inverted?u.value>0:0===u.value))),k=computed((()=>l.value.fadeImage?l.value.inverted?1-m.value:m.value:void 0)),w=computed((()=>{if(l.value.hide&&l.value.inverted)return 0;const n=a.value?.contentHeight??0,r=a.value?.extensionHeight??0;return g.value?u.value<d.value||l.value.fullyHide?n+r:n:n+r}));useToggleScope(computed((()=>!!n.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:E}=useSsrBoot(),{layoutItemStyles:C}=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:toRef(n,"location"),layoutSize:w,elementSize:shallowRef(void 0),active:s,absolute:toRef(n,"absolute")});return useRender((()=>{const r=VToolbar.filterProps(n);return createVNode(VToolbar,mergeProps({ref:a,class:["v-app-bar",{"v-app-bar--bottom":"bottom"===n.location},n.class],style:[{...C.value,"--v-toolbar-image-opacity":k.value,height:void 0,...E.value},n.style]},r,{collapse:b.value,flat:S.value}),o)})),{}}}),allowedDensities=[null,"default","comfortable","compact"],makeDensityProps=propsFactory({density:{type:String,default:"default",validator:n=>allowedDensities.includes(n)}},"density");function useDensity(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{densityClasses:computed((()=>`${r}--density-${n.density}`))}}const allowedVariants$2=["elevated","flat","tonal","outlined","text","plain"];function genOverlays(n,r){return createVNode(Fragment,null,[n&&createVNode("span",{key:"overlay",class:`${r}__overlay`},null),createVNode("span",{key:"underlay",class:`${r}__underlay`},null)])}const makeVariantProps=propsFactory({color:String,variant:{type:String,default:"elevated",validator:n=>allowedVariants$2.includes(n)}},"variant");function useVariant(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const o=computed((()=>{const{variant:o}=unref(n);return`${r}--variant-${o}`})),{colorClasses:a,colorStyles:s}=useColor(computed((()=>{const{variant:r,color:o}=unref(n);return{[["elevated","flat"].includes(r)?"background":"text"]:o}})));return{colorClasses:a,colorStyles:s,variantClasses:o}}const makeVBtnGroupProps=propsFactory({baseColor:String,divided:Boolean,...makeBorderProps(),...makeComponentProps(),...makeDensityProps(),...makeElevationProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps()},"VBtnGroup"),VBtnGroup=genericComponent()({name:"VBtnGroup",props:makeVBtnGroupProps(),setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{densityClasses:s}=useDensity(n),{borderClasses:l}=useBorder(n),{elevationClasses:c}=useElevation(n),{roundedClasses:u}=useRounded(n);provideDefaults({VBtn:{height:"auto",baseColor:toRef(n,"baseColor"),color:toRef(n,"color"),density:toRef(n,"density"),flat:!0,variant:toRef(n,"variant")}}),useRender((()=>createVNode(n.tag,{class:["v-btn-group",{"v-btn-group--divided":n.divided},a.value,l.value,s.value,c.value,u.value,n.class],style:n.style},o)))}}),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(n,r){let o=!(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(`${r.description}:id`),s);const l=inject$1(r,null);if(!l){if(!o)return l;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${r.description}`)}const c=toRef(n,"value"),u=computed((()=>!(!l.disabled.value&&!n.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,n.selectedClass]));return watch(d,(n=>{a.emit("group:selected",{value:n})}),{flush:"sync"}),{id:s,isSelected:d,isFirst:f,isLast:m,toggle:()=>l.select(s,!d.value),select:n=>l.select(s,n),selectedClass:g,value:c,disabled:u,group:l}}function useGroup(n,r){let o=!1;const a=reactive([]),s=useProxiedModel(n,"modelValue",[],(n=>null==n?[]:getIds(a,wrapInArray(n))),(r=>{const o=getValues(a,r);return n.multiple?o:o[0]})),l=getCurrentInstance("useGroup");function c(){const r=a.find((n=>!n.disabled));r&&"force"===n.mandatory&&!s.value.length&&(s.value=[r.id])}function u(r){if(n.multiple,s.value.length){const n=s.value[0],o=a.findIndex((r=>r.id===n));let l=(o+r)%a.length,c=a[l];for(;c.disabled&&l!==o;)l=(l+r)%a.length,c=a[l];if(c.disabled)return;s.value=[a[l].id]}else{const n=a.find((n=>!n.disabled));n&&(s.value=[n.id])}}onMounted((()=>{c()})),onBeforeUnmount((()=>{o=!0})),onUpdated((()=>{for(let n=0;n<a.length;n++)a[n].useIndexAsValue&&(a[n].value=n)}));const d={register:function(n,o){const s=n,c=findChildrenWithProvide(Symbol.for(`${r.description}:id`),l?.vnode).indexOf(o);null==unref(s.value)&&(s.value=c,s.useIndexAsValue=!0),c>-1?a.splice(c,0,s):a.push(s)},unregister:function(n){if(o)return;c();const r=a.findIndex((r=>r.id===n));a.splice(r,1)},selected:s,select:function(r,o){const l=a.find((n=>n.id===r));if(!o||!l?.disabled)if(n.multiple){const a=s.value.slice(),l=a.findIndex((n=>n===r)),c=~l;if(o=o??!c,c&&n.mandatory&&a.length<=1)return;if(!c&&null!=n.max&&a.length+1>n.max)return;l<0&&o?a.push(r):l>=0&&!o&&a.splice(l,1),s.value=a}else{const a=s.value.includes(r);if(n.mandatory&&a)return;s.value=o??!a?[r]:[]}},disabled:toRef(n,"disabled"),prev:()=>u(a.length-1),next:()=>u(1),isSelected:n=>s.value.includes(n),selectedClass:computed((()=>n.selectedClass)),items:computed((()=>a)),getItemIndex:n=>getItemIndex(a,n)};return provide(r,d),d}function getItemIndex(n,r){const o=getIds(n,[r]);return o.length?n.findIndex((n=>n.id===o[0])):-1}function getIds(n,r){const o=[];return r.forEach((r=>{const a=n.find((n=>deepEqual(r,n.value))),s=n[r];null!=a?.value?o.push(a.id):null!=s&&o.push(s.id)})),o}function getValues(n,r){const o=[];return r.forEach((r=>{const a=n.findIndex((n=>n.id===r));if(~a){const r=n[a];o.push(null!=r.value?r.value:a)}})),o}const VBtnToggleSymbol=Symbol.for("vuetify:v-btn-toggle"),makeVBtnToggleProps=propsFactory({...makeVBtnGroupProps(),...makeGroupProps()},"VBtnToggle"),VBtnToggle=genericComponent()({name:"VBtnToggle",props:makeVBtnToggleProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const{isSelected:a,next:s,prev:l,select:c,selected:u}=useGroup(n,VBtnToggleSymbol);return useRender((()=>{const r=VBtnGroup.filterProps(n);return createVNode(VBtnGroup,mergeProps({class:["v-btn-toggle",n.class]},r,{style:n.style}),{default:()=>[o.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(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return destructComputed((()=>{let o,a;return includes(predefinedSizes,n.size)?o=`${r}--size-${n.size}`:n.size&&(a={width:convertToUnit(n.size),height:convertToUnit(n.size)}),{sizeClasses:o,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(n,r){let{attrs:o,slots:a}=r;const s=ref(),{themeClasses:l}=provideTheme(n),{iconData:c}=useIcon(computed((()=>s.value||n.icon))),{sizeClasses:u}=useSize(n),{textColorClasses:d,textColorStyles:f}=useTextColor(toRef(n,"color"));return useRender((()=>{const r=a.default?.();r&&(s.value=flattenFragments(r).filter((n=>n.type===Text&&n.children&&"string"==typeof n.children))[0]?.children);const m=!(!o.onClick&&!o.onClickOnce);return createVNode(c.value.component,{tag:n.tag,icon:c.value.icon,class:["v-icon","notranslate",l.value,u.value,d.value,{"v-icon--clickable":m,"v-icon--disabled":n.disabled,"v-icon--start":n.start,"v-icon--end":n.end},n.class],style:[u.value?void 0:{fontSize:convertToUnit(n.size),height:convertToUnit(n.size),width:convertToUnit(n.size)},f.value,n.style],role:m?"button":void 0,"aria-hidden":!m,tabindex:m?n.disabled?-1:0:void 0},{default:()=>[r]})})),{}}});function useIntersectionObserver(n,r){const o=ref(),a=shallowRef(!1);if(SUPPORTS_INTERSECTION){const n=new IntersectionObserver((n=>{a.value=!!n.find((n=>n.isIntersecting))}),r);onBeforeUnmount((()=>{n.disconnect()})),watch(o,((r,o)=>{o&&(n.unobserve(o),a.value=!1),r&&n.observe(r)}),{flush:"post"})}return{intersectionRef:o,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(n,r){let{slots:o}=r;const a=2*Math.PI*20,s=ref(),{themeClasses:l}=provideTheme(n),{sizeClasses:c,sizeStyles:u}=useSize(n),{textColorClasses:d,textColorStyles:f}=useTextColor(toRef(n,"color")),{textColorClasses:m,textColorStyles:g}=useTextColor(toRef(n,"bgColor")),{intersectionRef:b,isIntersecting:S}=useIntersectionObserver(),{resizeRef:k,contentRect:w}=useResizeObserver(),E=computed((()=>Math.max(0,Math.min(100,parseFloat(n.modelValue))))),C=computed((()=>Number(n.width))),T=computed((()=>u.value?Number(n.size):w.value?w.value.width:Math.max(C.value,32))),I=computed((()=>20/(1-C.value/T.value)*2)),P=computed((()=>C.value/T.value*I.value)),D=computed((()=>convertToUnit((100-E.value)/100*a)));return watchEffect((()=>{b.value=s.value,k.value=s.value})),useRender((()=>createVNode(n.tag,{ref:s,class:["v-progress-circular",{"v-progress-circular--indeterminate":!!n.indeterminate,"v-progress-circular--visible":S.value,"v-progress-circular--disable-shrink":"disable-shrink"===n.indeterminate},l.value,c.value,d.value,n.class],style:[u.value,f.value,n.style],role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":n.indeterminate?void 0:E.value},{default:()=>[createVNode("svg",{style:{transform:`rotate(calc(-90deg + ${Number(n.rotate)}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${I.value} ${I.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":D.value},null)]),o.default&&createVNode("div",{class:"v-progress-circular__content"},[o.default({value:E.value})])]}))),{}}}),oppositeMap={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},makeLocationProps=propsFactory({location:String},"location");function useLocation(n){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2?arguments[2]:void 0;const{isRtl:a}=useRtl();return{locationStyles:computed((()=>{if(!n.location)return{};const{side:s,align:l}=parseAnchor(n.location.split(" ").length>1?n.location:`${n.location} center`,a.value);function c(n){return o?o(n):0}const u={};return"center"!==s&&(r?u[oppositeMap[s]]=`calc(100% - ${c(s)}px)`:u[s]=0),"center"!==l?r?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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{isRtl:s,rtlClasses:l}=useRtl(),{themeClasses:c}=provideTheme(n),{locationStyles:u}=useLocation(n),{textColorClasses:d,textColorStyles:f}=useTextColor(n,"color"),{backgroundColorClasses:m,backgroundColorStyles:g}=useBackgroundColor(computed((()=>n.bgColor||n.color))),{backgroundColorClasses:b,backgroundColorStyles:S}=useBackgroundColor(computed((()=>n.bufferColor||n.bgColor||n.color))),{backgroundColorClasses:k,backgroundColorStyles:w}=useBackgroundColor(n,"color"),{roundedClasses:E}=useRounded(n),{intersectionRef:C,isIntersecting:T}=useIntersectionObserver(),I=computed((()=>parseFloat(n.max))),P=computed((()=>parseFloat(n.height))),D=computed((()=>clamp(parseFloat(n.bufferValue)/I.value*100,0,100))),O=computed((()=>clamp(parseFloat(a.value)/I.value*100,0,100))),A=computed((()=>s.value!==n.reverse)),eo=computed((()=>n.indeterminate?"fade-transition":"slide-x-transition")),no=IN_BROWSER&&window.matchMedia?.("(forced-colors: active)").matches;function ro(n){if(!C.value)return;const{left:r,right:o,width:s}=C.value.getBoundingClientRect(),l=A.value?s-n.clientX+(o-s):n.clientX-r;a.value=Math.round(l/s*I.value)}return useRender((()=>createVNode(n.tag,{ref:C,class:["v-progress-linear",{"v-progress-linear--absolute":n.absolute,"v-progress-linear--active":n.active&&T.value,"v-progress-linear--reverse":A.value,"v-progress-linear--rounded":n.rounded,"v-progress-linear--rounded-bar":n.roundedBar,"v-progress-linear--striped":n.striped},E.value,c.value,l.value,n.class],style:[{bottom:"bottom"===n.location?0:void 0,top:"top"===n.location?0:void 0,height:n.active?convertToUnit(P.value):0,"--v-progress-linear-height":convertToUnit(P.value),...n.absolute?u.value:{}},n.style],role:"progressbar","aria-hidden":n.active?"false":"true","aria-valuemin":"0","aria-valuemax":n.max,"aria-valuenow":n.indeterminate?void 0:Math.min(parseFloat(a.value),I.value),onClick:n.clickable&&ro},{default:()=>[n.stream&&createVNode("div",{key:"stream",class:["v-progress-linear__stream",d.value],style:{...f.value,[A.value?"left":"right"]:convertToUnit(-P.value),borderTop:`${convertToUnit(P.value/2)} dotted`,opacity:parseFloat(n.bufferOpacity),top:`calc(50% - ${convertToUnit(P.value/4)})`,width:convertToUnit(100-D.value,"%"),"--v-progress-linear-stream-to":convertToUnit(P.value*(A.value?1:-1))}},null),createVNode("div",{class:["v-progress-linear__background",no?void 0:m.value],style:[g.value,{opacity:parseFloat(n.bgOpacity),width:n.stream?0:void 0}]},null),createVNode("div",{class:["v-progress-linear__buffer",no?void 0:b.value],style:[S.value,{opacity:parseFloat(n.bufferOpacity),width:convertToUnit(D.value,"%")}]},null),createVNode(Transition,{name:eo.value},{default:()=>[n.indeterminate?createVNode("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map((n=>createVNode("div",{key:n,class:["v-progress-linear__indeterminate",n,no?void 0:k.value],style:w.value},null)))]):createVNode("div",{class:["v-progress-linear__determinate",no?void 0:k.value],style:[w.value,{width:convertToUnit(O.value,"%")}]},null)]}),o.default&&createVNode("div",{class:"v-progress-linear__content"},[o.default({value:O.value,buffer:D.value})])]}))),{}}}),makeLoaderProps=propsFactory({loading:[Boolean,String]},"loader");function useLoader(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{loaderClasses:computed((()=>({[`${r}--loading`]:n.loading})))}}function LoaderSlot(n,r){let{slots:o}=r;return createVNode("div",{class:`${n.name}__loader`},[o.default?.({color:n.color,isActive:n.active})||createVNode(VProgressLinear,{absolute:n.absolute,active:n.active,color:n.color,height:"2",indeterminate:!0},null)])}const positionValues=["static","relative","fixed","absolute","sticky"],makePositionProps=propsFactory({position:{type:String,validator:n=>positionValues.includes(n)}},"position");function usePosition(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();return{positionClasses:computed((()=>n.position?`${r}--${n.position}`:void 0))}}function useRoute(){const n=getCurrentInstance("useRoute");return computed((()=>n?.proxy?.$route))}function useRouter(){return getCurrentInstance("useRouter")?.proxy?.$router}function useLink(n,r){const o=resolveDynamicComponent("RouterLink"),a=computed((()=>!(!n.href&&!n.to))),s=computed((()=>a?.value||hasEvent(r,"click")||hasEvent(n,"click")));if("string"==typeof o||!("useLink"in o)){const r=toRef(n,"href");return{isLink:a,isClickable:s,href:r,linkProps:reactive({href:r})}}const l=computed((()=>({...n,to:toRef((()=>n.to||""))}))),c=o.useLink(l.value),u=computed((()=>n.to?c:void 0)),d=useRoute(),f=computed((()=>!!u.value&&(n.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((()=>n.to?u.value?.route.value.href:n.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(n,r){let o,a,s=!1;function l(n){n.state?.replaced||(s=!0,setTimeout((()=>s=!1)))}IN_BROWSER&&n?.beforeEach&&(nextTick$2((()=>{window.addEventListener("popstate",l),o=n.beforeEach(((n,o,a)=>{inTransition?s?r(a):a():setTimeout((()=>s?r(a):a())),inTransition=!0})),a=n?.afterEach((()=>{inTransition=!1}))})),onScopeDispose((()=>{window.removeEventListener("popstate",l),o?.(),a?.()})))}function useSelectLink(n,r){watch((()=>n.isActive?.value),(o=>{n.isLink.value&&o&&r&&nextTick$2((()=>{r(!0)}))}),{immediate:!0})}const stopSymbol=Symbol("rippleStop"),DELAY_RIPPLE=80;function transform(n,r){n.style.transform=r,n.style.webkitTransform=r}function isTouchEvent(n){return"TouchEvent"===n.constructor.name}function isKeyboardEvent(n){return"KeyboardEvent"===n.constructor.name}const calculate=function(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=0,s=0;if(!isKeyboardEvent(n)){const o=r.getBoundingClientRect(),l=isTouchEvent(n)?n.touches[n.touches.length-1]:n;a=l.clientX-o.left,s=l.clientY-o.top}let l=0,c=.3;r._ripple?.circle?(c=.15,l=r.clientWidth/2,l=o.center?l:l+Math.sqrt((a-l)**2+(s-l)**2)/4):l=Math.sqrt(r.clientWidth**2+r.clientHeight**2)/2;const u=(r.clientWidth-2*l)/2+"px",d=(r.clientHeight-2*l)/2+"px";return{radius:l,scale:c,x:o.center?u:a-l+"px",y:o.center?d:s-l+"px",centerX:u,centerY:d}},ripples={show(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!r?._ripple?.enabled)return;const a=document.createElement("span"),s=document.createElement("span");a.appendChild(s),a.className="v-ripple__container",o.class&&(a.className+=` ${o.class}`);const{radius:l,scale:c,x:u,y:d,centerX:f,centerY:m}=calculate(n,r,o),g=2*l+"px";s.className="v-ripple__animation",s.style.width=g,s.style.height=g,r.appendChild(a);const b=window.getComputedStyle(r);b&&"static"===b.position&&(r.style.position="relative",r.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(n){if(!n?._ripple?.enabled)return;const r=n.getElementsByClassName("v-ripple__animation");if(0===r.length)return;const o=r[r.length-1];if(o.dataset.isHiding)return;o.dataset.isHiding="true";const a=performance.now()-Number(o.dataset.activated),s=Math.max(250-a,0);setTimeout((()=>{o.classList.remove("v-ripple__animation--in"),o.classList.add("v-ripple__animation--out"),setTimeout((()=>{1===n.getElementsByClassName("v-ripple__animation").length&&n.dataset.previousPosition&&(n.style.position=n.dataset.previousPosition,delete n.dataset.previousPosition),o.parentNode?.parentNode===n&&n.removeChild(o.parentNode)}),300)}),s)}};function isRippleEnabled(n){return void 0===n||!!n}function rippleShow(n){const r={},o=n.currentTarget;if(o?._ripple&&!o._ripple.touched&&!n[stopSymbol]){if(n[stopSymbol]=!0,isTouchEvent(n))o._ripple.touched=!0,o._ripple.isTouch=!0;else if(o._ripple.isTouch)return;if(r.center=o._ripple.centered||isKeyboardEvent(n),o._ripple.class&&(r.class=o._ripple.class),isTouchEvent(n)){if(o._ripple.showTimerCommit)return;o._ripple.showTimerCommit=()=>{ripples.show(n,o,r)},o._ripple.showTimer=window.setTimeout((()=>{o?._ripple?.showTimerCommit&&(o._ripple.showTimerCommit(),o._ripple.showTimerCommit=null)}),DELAY_RIPPLE)}else ripples.show(n,o,r)}}function rippleStop(n){n[stopSymbol]=!0}function rippleHide(n){const r=n.currentTarget;if(r?._ripple){if(window.clearTimeout(r._ripple.showTimer),"touchend"===n.type&&r._ripple.showTimerCommit)return r._ripple.showTimerCommit(),r._ripple.showTimerCommit=null,void(r._ripple.showTimer=window.setTimeout((()=>{rippleHide(n)})));window.setTimeout((()=>{r._ripple&&(r._ripple.touched=!1)})),ripples.hide(r)}}function rippleCancelShow(n){const r=n.currentTarget;r?._ripple&&(r._ripple.showTimerCommit&&(r._ripple.showTimerCommit=null),window.clearTimeout(r._ripple.showTimer))}let keyboardRipple=!1;function keyboardRippleShow(n){keyboardRipple||n.keyCode!==keyCodes.enter&&n.keyCode!==keyCodes.space||(keyboardRipple=!0,rippleShow(n))}function keyboardRippleHide(n){keyboardRipple=!1,rippleHide(n)}function focusRippleHide(n){keyboardRipple&&(keyboardRipple=!1,rippleHide(n))}function updateRipple(n,r,o){const{value:a,modifiers:s}=r,l=isRippleEnabled(a);if(l||ripples.hide(n),n._ripple=n._ripple??{},n._ripple.enabled=l,n._ripple.centered=s.center,n._ripple.circle=s.circle,isObject$1(a)&&a.class&&(n._ripple.class=a.class),l&&!o){if(s.stop)return n.addEventListener("touchstart",rippleStop,{passive:!0}),void n.addEventListener("mousedown",rippleStop);n.addEventListener("touchstart",rippleShow,{passive:!0}),n.addEventListener("touchend",rippleHide,{passive:!0}),n.addEventListener("touchmove",rippleCancelShow,{passive:!0}),n.addEventListener("touchcancel",rippleHide),n.addEventListener("mousedown",rippleShow),n.addEventListener("mouseup",rippleHide),n.addEventListener("mouseleave",rippleHide),n.addEventListener("keydown",keyboardRippleShow),n.addEventListener("keyup",keyboardRippleHide),n.addEventListener("blur",focusRippleHide),n.addEventListener("dragstart",rippleHide,{passive:!0})}else!l&&o&&removeListeners(n)}function removeListeners(n){n.removeEventListener("mousedown",rippleShow),n.removeEventListener("touchstart",rippleShow),n.removeEventListener("touchend",rippleHide),n.removeEventListener("touchmove",rippleCancelShow),n.removeEventListener("touchcancel",rippleHide),n.removeEventListener("mouseup",rippleHide),n.removeEventListener("mouseleave",rippleHide),n.removeEventListener("keydown",keyboardRippleShow),n.removeEventListener("keyup",keyboardRippleHide),n.removeEventListener("dragstart",rippleHide),n.removeEventListener("blur",focusRippleHide)}function mounted$4(n,r){updateRipple(n,r,!1)}function unmounted$4(n){delete n._ripple,removeListeners(n)}function updated$1(n,r){if(r.value===r.oldValue)return;updateRipple(n,r,isRippleEnabled(r.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":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const{themeClasses:s}=provideTheme(n),{borderClasses:l}=useBorder(n),{densityClasses:c}=useDensity(n),{dimensionStyles:u}=useDimension(n),{elevationClasses:d}=useElevation(n),{loaderClasses:f}=useLoader(n),{locationStyles:m}=useLocation(n),{positionClasses:g}=usePosition(n),{roundedClasses:b}=useRounded(n),{sizeClasses:S,sizeStyles:k}=useSize(n),w=useGroupItem(n,n.symbol,!1),E=useLink(n,o),C=computed((()=>void 0!==n.active?n.active:E.isLink.value?E.isActive?.value:w?.isSelected.value)),T=computed((()=>C.value?n.activeColor??n.color:n.color)),I=computed((()=>({color:w?.isSelected.value&&(!E.isLink.value||E.isActive?.value)||!w||E.isActive?.value?T.value??n.baseColor:n.baseColor,variant:n.variant}))),{colorClasses:P,colorStyles:D,variantClasses:O}=useVariant(I),A=computed((()=>w?.disabled.value||n.disabled)),eo=computed((()=>"elevated"===n.variant&&!(n.disabled||n.flat||n.border))),no=computed((()=>{if(void 0!==n.value&&"symbol"!=typeof n.value)return Object(n.value)===n.value?JSON.stringify(n.value,null,0):n.value}));function ro(n){A.value||E.isLink.value&&(n.metaKey||n.ctrlKey||n.shiftKey||0!==n.button||"_blank"===o.target)||(E.navigate?.(n),w?.toggle())}return useSelectLink(E,w?.select),useRender((()=>{const r=E.isLink.value?"a":n.tag,o=!(!n.prependIcon&&!a.prepend),T=!(!n.appendIcon&&!a.append),I=!(!n.icon||!0===n.icon);return withDirectives(createVNode(r,mergeProps({type:"a"===r?void 0:"button",class:["v-btn",w?.selectedClass.value,{"v-btn--active":C.value,"v-btn--block":n.block,"v-btn--disabled":A.value,"v-btn--elevated":eo.value,"v-btn--flat":n.flat,"v-btn--icon":!!n.icon,"v-btn--loading":n.loading,"v-btn--readonly":n.readonly,"v-btn--slim":n.slim,"v-btn--stacked":n.stacked},s.value,l.value,P.value,c.value,d.value,f.value,g.value,b.value,S.value,O.value,n.class],style:[D.value,u.value,m.value,k.value,n.style],"aria-busy":!!n.loading||void 0,disabled:A.value||void 0,tabindex:n.loading||n.readonly?-1:void 0,onClick:ro,value:no.value},E.linkProps),{default:()=>[genOverlays(!0,"v-btn"),!n.icon&&o&&createVNode("span",{key:"prepend",class:"v-btn__prepend"},[a.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!n.prependIcon,defaults:{VIcon:{icon:n.prependIcon}}},a.prepend):createVNode(VIcon,{key:"prepend-icon",icon:n.prependIcon},null)]),createVNode("span",{class:"v-btn__content","data-no-activator":""},[!a.default&&I?createVNode(VIcon,{key:"content-icon",icon:n.icon},null):createVNode(VDefaultsProvider,{key:"content-defaults",disabled:!I,defaults:{VIcon:{icon:n.icon}}},{default:()=>[a.default?.()??n.text]})]),!n.icon&&T&&createVNode("span",{key:"append",class:"v-btn__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!n.appendIcon,defaults:{VIcon:{icon:n.appendIcon}}},a.append):createVNode(VIcon,{key:"append-icon",icon:n.appendIcon},null)]),!!n.loading&&createVNode("span",{key:"loader",class:"v-btn__loader"},[a.loader?.()??createVNode(VProgressCircular,{color:"boolean"==typeof n.loading?void 0:n.loading,indeterminate:!0,width:"2"},null)])]}),[[Ripple,!A.value&&n.ripple,"",{center:!!n.icon}]])})),{group:w}}}),makeVAppBarNavIconProps=propsFactory({...makeVBtnProps({icon:"$menu",variant:"text"})},"VAppBarNavIcon"),VAppBarNavIcon=genericComponent()({name:"VAppBarNavIcon",props:makeVAppBarNavIconProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(VBtn,mergeProps(n,{class:["v-app-bar-nav-icon"]}),o))),{}}}),VAppBarTitle=genericComponent()({name:"VAppBarTitle",props:makeVToolbarTitleProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(VToolbarTitle,mergeProps(n,{class:"v-app-bar-title"}),o))),{}}}),VAlertTitle=createSimpleFunctional("v-alert-title"),allowedTypes=["success","info","warning","error"],makeVAlertProps=propsFactory({border:{type:[Boolean,String],validator:n=>"boolean"==typeof n||["top","end","bottom","start"].includes(n)},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:n=>allowedTypes.includes(n)},...makeComponentProps(),...makeDensityProps(),...makeDimensionProps(),...makeElevationProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps(),...makeVariantProps({variant:"flat"})},"VAlert"),VAlert=genericComponent()({name:"VAlert",props:makeVAlertProps(),emits:{"click:close":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useProxiedModel(n,"modelValue"),l=computed((()=>{if(!1!==n.icon)return n.type?n.icon??`$${n.type}`:n.icon})),c=computed((()=>({color:n.color??n.type,variant:n.variant}))),{themeClasses:u}=provideTheme(n),{colorClasses:d,colorStyles:f,variantClasses:m}=useVariant(c),{densityClasses:g}=useDensity(n),{dimensionStyles:b}=useDimension(n),{elevationClasses:S}=useElevation(n),{locationStyles:k}=useLocation(n),{positionClasses:w}=usePosition(n),{roundedClasses:E}=useRounded(n),{textColorClasses:C,textColorStyles:T}=useTextColor(toRef(n,"borderColor")),{t:I}=useLocale(),P=computed((()=>({"aria-label":I(n.closeLabel),onClick(n){s.value=!1,o("click:close",n)}})));return()=>{const r=!(!a.prepend&&!l.value),o=!(!a.title&&!n.title),c=!(!a.close&&!n.closable);return s.value&&createVNode(n.tag,{class:["v-alert",n.border&&{"v-alert--border":!!n.border,[`v-alert--border-${!0===n.border?"start":n.border}`]:!0},{"v-alert--prominent":n.prominent},u.value,d.value,g.value,S.value,w.value,E.value,m.value,n.class],style:[f.value,b.value,k.value,n.style],role:"alert"},{default:()=>[genOverlays(!1,"v-alert"),n.border&&createVNode("div",{key:"border",class:["v-alert__border",C.value],style:T.value},null),r&&createVNode("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!l.value,defaults:{VIcon:{density:n.density,icon:l.value,size:n.prominent?44:28}}},a.prepend):createVNode(VIcon,{key:"prepend-icon",density:n.density,icon:l.value,size:n.prominent?44:28},null)]),createVNode("div",{class:"v-alert__content"},[o&&createVNode(VAlertTitle,{key:"title"},{default:()=>[a.title?.()??n.title]}),a.text?.()??n.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:n.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:P.value})]}):createVNode(VBtn,mergeProps({key:"close-btn",icon:n.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(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{borderClasses:s}=useBorder(n),{colorClasses:l,colorStyles:c,variantClasses:u}=useVariant(n),{densityClasses:d}=useDensity(n),{roundedClasses:f}=useRounded(n),{sizeClasses:m,sizeStyles:g}=useSize(n);return useRender((()=>createVNode(n.tag,{class:["v-avatar",{"v-avatar--start":n.start,"v-avatar--end":n.end},a.value,s.value,l.value,d.value,f.value,m.value,u.value,n.class],style:[c.value,g.value,n.style]},{default:()=>[o.default?createVNode(VDefaultsProvider,{key:"content-defaults",defaults:{VImg:{cover:!0,src:n.image},VIcon:{icon:n.icon}}},{default:()=>[o.default()]}):n.image?createVNode(VImg,{key:"image",src:n.image,alt:"",cover:!0},null):n.icon?createVNode(VIcon,{key:"icon",icon:n.icon},null):n.text,genOverlays(!1,"v-avatar")]}))),{}}}),makeVLabelProps=propsFactory({text:String,onClick:EventProp(),...makeComponentProps(),...makeThemeProps()},"VLabel"),VLabel=genericComponent()({name:"VLabel",props:makeVLabelProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode("label",{class:["v-label",{"v-label--clickable":!!n.onClick},n.class],style:n.style,onClick:n.onClick},[n.text,o.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),s=getUid(),l=computed((()=>n.id||`v-selection-control-group-${s}`)),c=computed((()=>n.name||l.value)),u=new Set;return provide(VSelectionControlGroupSymbol,{modelValue:a,forceUpdate:()=>{u.forEach((n=>n()))},onForceUpdate:n=>{u.add(n),onScopeDispose((()=>{u.delete(n)}))}}),provideDefaults({[n.defaultsTarget]:{color:toRef(n,"color"),disabled:toRef(n,"disabled"),density:toRef(n,"density"),error:toRef(n,"error"),inline:toRef(n,"inline"),modelValue:a,multiple:computed((()=>!!n.multiple||null==n.multiple&&Array.isArray(a.value))),name:c,falseIcon:toRef(n,"falseIcon"),trueIcon:toRef(n,"trueIcon"),readonly:toRef(n,"readonly"),ripple:toRef(n,"ripple"),type:toRef(n,"type"),valueComparator:toRef(n,"valueComparator")}}),useRender((()=>createVNode("div",{class:["v-selection-control-group",{"v-selection-control-group--inline":n.inline},n.class],style:n.style,role:"radio"===n.type?"radiogroup":void 0},[o.default?.()]))),{}}}),makeVSelectionControlProps=propsFactory({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...makeComponentProps(),...makeSelectionControlGroupProps()},"VSelectionControl");function useSelectionControl(n){const r=inject$1(VSelectionControlGroupSymbol,void 0),{densityClasses:o}=useDensity(n),a=useProxiedModel(n,"modelValue"),s=computed((()=>void 0!==n.trueValue?n.trueValue:void 0===n.value||n.value)),l=computed((()=>void 0!==n.falseValue&&n.falseValue)),c=computed((()=>!!n.multiple||null==n.multiple&&Array.isArray(a.value))),u=computed({get(){const o=r?r.modelValue.value:a.value;return c.value?wrapInArray(o).some((r=>n.valueComparator(r,s.value))):n.valueComparator(o,s.value)},set(o){if(n.readonly)return;const u=o?s.value:l.value;let d=u;c.value&&(d=o?[...wrapInArray(a.value),u]:wrapInArray(a.value).filter((r=>!n.valueComparator(r,s.value)))),r?r.modelValue.value=d:a.value=d}}),{textColorClasses:d,textColorStyles:f}=useTextColor(computed((()=>{if(!n.error&&!n.disabled)return u.value?n.color:n.baseColor}))),{backgroundColorClasses:m,backgroundColorStyles:g}=useBackgroundColor(computed((()=>!u.value||n.error||n.disabled?n.baseColor:n.color))),b=computed((()=>u.value?n.trueIcon:n.falseIcon));return{group:r,densityClasses:o,trueValue:s,falseValue:l,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:m,backgroundColorStyles:g,icon:b}}const VSelectionControl=genericComponent()({name:"VSelectionControl",directives:{Ripple:Ripple},inheritAttrs:!1,props:makeVSelectionControlProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const{group:s,densityClasses:l,icon:c,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:m,backgroundColorStyles:g,trueValue:b}=useSelectionControl(n),S=getUid(),k=shallowRef(!1),w=shallowRef(!1),E=ref(),C=computed((()=>n.id||`input-${S}`)),T=computed((()=>!n.disabled&&!n.readonly));function I(n){T.value&&(k.value=!0,!1!==matchesSelector$2(n.target,":focus-visible")&&(w.value=!0))}function P(){k.value=!1,w.value=!1}function D(n){n.stopPropagation()}function O(r){T.value?(n.readonly&&s&&nextTick$2((()=>s.forceUpdate())),u.value=r.target.checked):E.value&&(E.value.checked=u.value)}return s?.onForceUpdate((()=>{E.value&&(E.value.checked=u.value)})),useRender((()=>{const r=a.label?a.label({label:n.label,props:{for:C.value}}):n.label,[s,S]=filterInputAttrs(o),T=createVNode("input",mergeProps({ref:E,checked:u.value,disabled:!!n.disabled,id:C.value,onBlur:P,onFocus:I,onInput:O,"aria-disabled":!!n.disabled,"aria-label":n.label,type:n.type,value:b.value,name:n.name,"aria-checked":"checkbox"===n.type?u.value:void 0},S),null);return createVNode("div",mergeProps({class:["v-selection-control",{"v-selection-control--dirty":u.value,"v-selection-control--disabled":n.disabled,"v-selection-control--error":n.error,"v-selection-control--focused":k.value,"v-selection-control--focus-visible":w.value,"v-selection-control--inline":n.inline},l.value,n.class]},s,{style:n.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:T,icon:c.value,props:{onFocus:I,onBlur:P,id:C.value}})??createVNode(Fragment,null,[c.value&&createVNode(VIcon,{key:"icon",icon:c.value},null),T])]),[[resolveDirective("ripple"),n.ripple&&[!n.disabled&&!n.readonly,null,["center","circle"]]]])]),r&&createVNode(VLabel,{for:C.value,onClick:D},{default:()=>[r]})])})),{isFocused:k,input:E}}}),makeVCheckboxBtnProps=propsFactory({indeterminate:Boolean,indeterminateIcon:{type:IconValue,default:"$checkboxIndeterminate"},...makeVSelectionControlProps({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),VCheckboxBtn=genericComponent()({name:"VCheckboxBtn",props:makeVCheckboxBtnProps(),emits:{"update:modelValue":n=>!0,"update:indeterminate":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"indeterminate"),s=useProxiedModel(n,"modelValue");function l(n){a.value&&(a.value=!1)}const c=computed((()=>a.value?n.indeterminateIcon:n.falseIcon)),u=computed((()=>a.value?n.indeterminateIcon:n.trueIcon));return useRender((()=>{const r=omit(VSelectionControl.filterProps(n),["modelValue"]);return createVNode(VSelectionControl,mergeProps(r,{modelValue:s.value,"onUpdate:modelValue":[n=>s.value=n,l],class:["v-checkbox-btn",n.class],style:n.style,type:"checkbox",falseIcon:c.value,trueIcon:u.value,"aria-checked":a.value?"mixed":void 0}),o)})),{}}});function useInputIcon(n){const{t:r}=useLocale();return{InputIcon:function(o){let{name:a}=o;const s={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],l=n[`onClick:${a}`],c=l&&s?r(`$vuetify.input.${s}`,n.label??""):void 0;return createVNode(VIcon,{icon:n[`${a}Icon`],"aria-label":c,onClick:l,onKeydown:function(n){"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.stopPropagation(),callEvent(l,new PointerEvent("click",n)))}},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(n,r){let{slots:o}=r;const a=computed((()=>wrapInArray(n.messages))),{textColorClasses:s,textColorStyles:l}=useTextColor(computed((()=>n.color)));return useRender((()=>createVNode(MaybeTransition,{transition:n.transition,tag:"div",class:["v-messages",s.value,n.class],style:[l.value,n.style]},{default:()=>[n.active&&a.value.map(((n,r)=>createVNode("div",{class:"v-messages__message",key:`${r}-${a.value}`},[o.message?o.message({message:n}):n])))]}))),{}}}),makeFocusProps=propsFactory({focused:Boolean,"onUpdate:focused":EventProp()},"focus");function useFocus(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName();const o=useProxiedModel(n,"focused");return{focusClasses:computed((()=>({[`${r}--focused`]:o.value}))),isFocused:o,focus:function(){o.value=!0},blur:function(){o.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(n){const r=useProxiedModel(n,"modelValue"),o=computed((()=>n.disabled)),a=computed((()=>n.readonly)),s=shallowRef(!1),l=ref([]),c=ref([]);return watch(l,(()=>{let n=0,o=0;const a=[];for(const r of l.value)!1===r.isValid?(o++,a.push({id:r.id,errorMessages:r.errorMessages})):!0===r.isValid&&n++;c.value=a,r.value=!(o>0)&&(n===l.value.length||null)}),{deep:!0,flush:"post"}),provide(FormKey,{register:n=>{let{id:r,vm:o,validate:a,reset:s,resetValidation:c}=n;l.value.some((n=>n.id===r)),l.value.push({id:r,validate:a,reset:s,resetValidation:c,vm:markRaw(o),isValid:null,errorMessages:[]})},unregister:n=>{l.value=l.value.filter((r=>r.id!==n))},update:(n,r,o)=>{const a=l.value.find((r=>r.id===n));a&&(a.isValid=r,a.errorMessages=o)},isDisabled:o,isReadonly:a,isValidating:s,isValid:r,items:l,validateOn:toRef(n,"validateOn")}),{errors:c,isDisabled:o,isReadonly:a,isValidating:s,isValid:r,items:l,validate:async function(){const r=[];let o=!0;c.value=[],s.value=!0;for(const a of l.value){const s=await a.validate();if(s.length>0&&(o=!1,r.push({id:a.id,errorMessages:s})),!o&&n.fastFail)break}return c.value=r,s.value=!1,{valid:o,errors:c.value}},reset:function(){l.value.forEach((n=>n.reset()))},resetValidation:function(){l.value.forEach((n=>n.resetValidation()))}}}function useForm(n){const r=inject$1(FormKey,null);return{...r,isReadonly:computed((()=>!!(n?.readonly??r?.isReadonly.value))),isDisabled:computed((()=>!!(n?.disabled??r?.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(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getCurrentInstanceName(),o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:getUid();const a=useProxiedModel(n,"modelValue"),s=computed((()=>void 0===n.validationValue?a.value:n.validationValue)),l=useForm(n),c=ref([]),u=shallowRef(!0),d=computed((()=>!(!wrapInArray(""===a.value?null:a.value).length&&!wrapInArray(""===s.value?null:s.value).length))),f=computed((()=>n.errorMessages?.length?wrapInArray(n.errorMessages).concat(c.value).slice(0,Math.max(0,+n.maxErrors)):c.value)),m=computed((()=>{let r=(n.validateOn??l.validateOn?.value)||"input";"lazy"===r&&(r="input lazy"),"eager"===r&&(r="input eager");const o=new Set(r?.split(" ")??[]);return{input:o.has("input"),blur:o.has("blur")||o.has("input")||o.has("invalid-input"),invalidInput:o.has("invalid-input"),lazy:o.has("lazy"),eager:o.has("eager")}})),g=computed((()=>!n.error&&!n.errorMessages?.length&&(!n.rules.length||(u.value?!c.value.length&&!m.value.lazy||null:!c.value.length)))),b=shallowRef(!1),S=computed((()=>({[`${r}--error`]:!1===g.value,[`${r}--dirty`]:d.value,[`${r}--disabled`]:l.isDisabled.value,[`${r}--readonly`]:l.isReadonly.value}))),k=getCurrentInstance("validation"),w=computed((()=>n.name??unref(o)));async function E(){a.value=null,await nextTick$2(),await C()}async function C(){u.value=!0,m.value.lazy?c.value=[]:await T(!m.value.eager)}async function T(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const o=[];b.value=!0;for(const a of n.rules){if(o.length>=+(n.maxErrors??1))break;const r="function"==typeof a?a:()=>a,l=await r(s.value);!0!==l&&(!1===l||"string"==typeof l?o.push(l||""):console.warn(`${l} is not a valid value. Rule functions must return boolean true or a string.`))}return c.value=o,b.value=!1,u.value=r,c.value}return onBeforeMount((()=>{l.register?.({id:w.value,vm:k,validate:T,reset:E,resetValidation:C})})),onBeforeUnmount((()=>{l.unregister?.(w.value)})),onMounted((async()=>{m.value.lazy||await T(!m.value.eager),l.update?.(w.value,g.value,f.value)})),useToggleScope((()=>m.value.input||m.value.invalidInput&&!1===g.value),(()=>{watch(s,(()=>{if(null!=s.value)T();else if(n.focused){const r=watch((()=>n.focused),(n=>{n||T(),r()}))}}))})),useToggleScope((()=>m.value.blur),(()=>{watch((()=>n.focused),(n=>{n||T()}))})),watch([g,f],(()=>{l.update?.(w.value,g.value,f.value)})),{errorMessages:f,isDirty:d,isDisabled:l.isDisabled,isReadonly:l.isReadonly,isPristine:u,isValid:g,isValidating:b,reset:E,resetValidation:C,validate:T,validationClasses:S}}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:n=>["horizontal","vertical"].includes(n)},"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":n=>!0},setup(n,r){let{attrs:o,slots:a,emit:s}=r;const{densityClasses:l}=useDensity(n),{dimensionStyles:c}=useDimension(n),{themeClasses:u}=provideTheme(n),{rtlClasses:d}=useRtl(),{InputIcon:f}=useInputIcon(n),m=getUid(),g=computed((()=>n.id||`input-${m}`)),b=computed((()=>`${g.value}-messages`)),{errorMessages:S,isDirty:k,isDisabled:w,isReadonly:E,isPristine:C,isValid:T,isValidating:I,reset:P,resetValidation:D,validate:O,validationClasses:A}=useValidation(n,"v-input",g),eo=computed((()=>({id:g,messagesId:b,isDirty:k,isDisabled:w,isReadonly:E,isPristine:C,isValid:T,isValidating:I,reset:P,resetValidation:D,validate:O}))),no=computed((()=>n.errorMessages?.length||!C.value&&S.value.length?S.value:n.hint&&(n.persistentHint||n.focused)?n.hint:n.messages));return useRender((()=>{const r=!(!a.prepend&&!n.prependIcon),o=!(!a.append&&!n.appendIcon),s=no.value.length>0,m=!n.hideDetails||"auto"===n.hideDetails&&(s||!!a.details);return createVNode("div",{class:["v-input",`v-input--${n.direction}`,{"v-input--center-affix":n.centerAffix,"v-input--hide-spin-buttons":n.hideSpinButtons},l.value,u.value,d.value,A.value,n.class],style:[c.value,n.style]},[r&&createVNode("div",{key:"prepend",class:"v-input__prepend"},[a.prepend?.(eo.value),n.prependIcon&&createVNode(f,{key:"prepend-icon",name:"prepend"},null)]),a.default&&createVNode("div",{class:"v-input__control"},[a.default?.(eo.value)]),o&&createVNode("div",{key:"append",class:"v-input__append"},[n.appendIcon&&createVNode(f,{key:"append-icon",name:"append"},null),a.append?.(eo.value)]),m&&createVNode("div",{id:b.value,class:"v-input__details",role:"alert","aria-live":"polite"},[createVNode(VMessages,{active:s,messages:no.value},{message:a.message}),a.details?.(eo.value)])])})),{reset:P,resetValidation:D,validate:O,isValid:T,errorMessages:S}}}),makeVCheckboxProps=propsFactory({...makeVInputProps(),...omit(makeVCheckboxBtnProps(),["inline"])},"VCheckbox"),VCheckbox=genericComponent()({name:"VCheckbox",inheritAttrs:!1,props:makeVCheckboxProps(),emits:{"update:modelValue":n=>!0,"update:focused":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const s=useProxiedModel(n,"modelValue"),{isFocused:l,focus:c,blur:u}=useFocus(n),d=getUid(),f=computed((()=>n.id||`checkbox-${d}`));return useRender((()=>{const[r,d]=filterInputAttrs(o),m=VInput.filterProps(n),g=VCheckboxBtn.filterProps(n);return createVNode(VInput,mergeProps({class:["v-checkbox",n.class]},r,m,{modelValue:s.value,"onUpdate:modelValue":n=>s.value=n,id:f.value,focused:l.value,style:n.style}),{...a,default:n=>{let{id:r,messagesId:o,isDisabled:l,isReadonly:f,isValid:m}=n;return createVNode(VCheckboxBtn,mergeProps(g,{id:r.value,"aria-describedby":o.value,disabled:l.value,readonly:f.value},d,{error:!1===m.value,modelValue:s.value,"onUpdate:modelValue":n=>s.value=n,onFocus:c,onBlur:u}),a)}})})),{}}});function calculateUpdatedTarget(n){let{selectedElement:r,containerElement:o,isRtl:a,isHorizontal:s}=n;const l=getOffsetSize(s,o),c=getScrollPosition(s,a,o),u=getOffsetSize(s,r),d=getOffsetPosition(s,r),f=.4*u;return c>d?d-f:c+l<d+u?d-l+u+f:c}function calculateCenteredTarget(n){let{selectedElement:r,containerElement:o,isHorizontal:a}=n;const s=getOffsetSize(a,o);return getOffsetPosition(a,r)-s/2+getOffsetSize(a,r)/2}function getScrollSize(n,r){const o=n?"scrollWidth":"scrollHeight";return r?.[o]||0}function getClientSize(n,r){const o=n?"clientWidth":"clientHeight";return r?.[o]||0}function getScrollPosition(n,r,o){if(!o)return 0;const{scrollLeft:a,offsetWidth:s,scrollWidth:l}=o;return n?r?l-s+a:a:o.scrollTop}function getOffsetSize(n,r){const o=n?"offsetWidth":"offsetHeight";return r?.[o]||0}function getOffsetPosition(n,r){const o=n?"offsetLeft":"offsetTop";return r?.[o]||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:n=>"boolean"==typeof n||["always","desktop","mobile"].includes(n)},...makeComponentProps(),...makeDisplayProps({mobile:null}),...makeTagProps(),...makeGroupProps({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),VSlideGroup=genericComponent()({name:"VSlideGroup",props:makeVSlideGroupProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const{isRtl:a}=useRtl(),{displayClasses:s,mobile:l}=useDisplay(n),c=useGroup(n,n.symbol),u=shallowRef(!1),d=shallowRef(0),f=shallowRef(0),m=shallowRef(0),g=computed((()=>"horizontal"===n.direction)),{resizeRef:b,contentRect:S}=useResizeObserver(),{resizeRef:k,contentRect:w}=useResizeObserver(),E=useGoTo(),C=computed((()=>({container:b.el,duration:200,easing:"easeOutQuart"}))),T=computed((()=>c.selected.value.length?c.items.value.findIndex((n=>n.id===c.selected.value[0])):-1)),I=computed((()=>c.selected.value.length?c.items.value.findIndex((n=>n.id===c.selected.value[c.selected.value.length-1])):-1));if(IN_BROWSER){let r=-1;watch((()=>[c.selected.value,S.value,w.value,g.value]),(()=>{cancelAnimationFrame(r),r=requestAnimationFrame((()=>{if(S.value&&w.value){const n=g.value?"width":"height";f.value=S.value[n],m.value=w.value[n],u.value=f.value+1<m.value}if(T.value>=0&&k.el){D(k.el.children[I.value],n.centerActive)}}))}))}const P=shallowRef(!1);function D(n,r){let o=0;o=r?calculateCenteredTarget({containerElement:b.el,isHorizontal:g.value,selectedElement:n}):calculateUpdatedTarget({containerElement:b.el,isHorizontal:g.value,isRtl:a.value,selectedElement:n}),O(o)}function O(n){if(!IN_BROWSER||!b.el)return;const r=getOffsetSize(g.value,b.el),o=getScrollPosition(g.value,a.value,b.el);if(!(getScrollSize(g.value,b.el)<=r||Math.abs(n-o)<16)){if(g.value&&a.value&&b.el){const{scrollWidth:r,offsetWidth:o}=b.el;n=r-o-n}g.value?E.horizontal(n,C.value):E(n,C.value)}}function A(n){const{scrollTop:r,scrollLeft:o}=n.target;d.value=g.value?o:r}function eo(n){if(P.value=!0,u.value&&k.el)for(const r of n.composedPath())for(const n of k.el.children)if(n===r)return void D(n)}function no(n){P.value=!1}let ro=!1;function oo(n){ro||P.value||n.relatedTarget&&k.el?.contains(n.relatedTarget)||lo(),ro=!1}function ao(){ro=!0}function io(n){function r(r){n.preventDefault(),lo(r)}k.el&&(g.value?"ArrowRight"===n.key?r(a.value?"prev":"next"):"ArrowLeft"===n.key&&r(a.value?"next":"prev"):"ArrowDown"===n.key?r("next"):"ArrowUp"===n.key&&r("prev"),"Home"===n.key?r("first"):"End"===n.key&&r("last"))}function so(n,r){if(!n)return;let o=n;do{o=o?.["next"===r?"nextElementSibling":"previousElementSibling"]}while(o?.hasAttribute("disabled"));return o}function lo(n){if(!k.el)return;let r;if(n)if("next"===n){if(r=so(k.el.querySelector(":focus"),n),!r)return lo("first")}else if("prev"===n){if(r=so(k.el.querySelector(":focus"),n),!r)return lo("last")}else"first"===n?(r=k.el.firstElementChild,r?.hasAttribute("disabled")&&(r=so(r,"next"))):"last"===n&&(r=k.el.lastElementChild,r?.hasAttribute("disabled")&&(r=so(r,"prev")));else{r=focusableChildren(k.el)[0]}r&&r.focus({preventScroll:!0})}function co(n){const r=g.value&&a.value?-1:1,o=("prev"===n?-r:r)*f.value;let s=d.value+o;if(g.value&&a.value&&b.el){const{scrollWidth:n,offsetWidth:r}=b.el;s+=n-r}O(s)}const uo=computed((()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected}))),po=computed((()=>{switch(n.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)}})),fo=computed((()=>Math.abs(d.value)>1)),ho=computed((()=>{if(!b.value)return!1;return getScrollSize(g.value,b.el)-getClientSize(g.value,b.el)-Math.abs(d.value)>1}));return useRender((()=>createVNode(n.tag,{class:["v-slide-group",{"v-slide-group--vertical":!g.value,"v-slide-group--has-affixes":po.value,"v-slide-group--is-overflowing":u.value},s.value,n.class],style:n.style,tabindex:P.value||c.selected.value.length?-1:0,onFocus:oo},{default:()=>[po.value&&createVNode("div",{key:"prev",class:["v-slide-group__prev",{"v-slide-group__prev--disabled":!fo.value}],onMousedown:ao,onClick:()=>fo.value&&co("prev")},[o.prev?.(uo.value)??createVNode(VFadeTransition,null,{default:()=>[createVNode(VIcon,{icon:a.value?n.nextIcon:n.prevIcon},null)]})]),createVNode("div",{key:"container",ref:b,class:"v-slide-group__container",onScroll:A},[createVNode("div",{ref:k,class:"v-slide-group__content",onFocusin:eo,onFocusout:no,onKeydown:io},[o.default?.(uo.value)])]),po.value&&createVNode("div",{key:"next",class:["v-slide-group__next",{"v-slide-group__next--disabled":!ho.value}],onMousedown:ao,onClick:()=>ho.value&&co("next")},[o.next?.(uo.value)??createVNode(VFadeTransition,null,{default:()=>[createVNode(VIcon,{icon:a.value?n.prevIcon:n.nextIcon},null)]})])]}))),{selected:c.selected,scrollTo:co,scrollOffset:d,focus:lo,hasPrev:fo,hasNext:ho}}}),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":n=>!0},setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{isSelected:s,select:l,next:c,prev:u,selected:d}=useGroup(n,VChipGroupSymbol);return provideDefaults({VChip:{color:toRef(n,"color"),disabled:toRef(n,"disabled"),filter:toRef(n,"filter"),variant:toRef(n,"variant")}}),useRender((()=>{const r=VSlideGroup.filterProps(n);return createVNode(VSlideGroup,mergeProps(r,{class:["v-chip-group",{"v-chip-group--column":n.column},a.value,n.class],style:n.style}),{default:()=>[o.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":n=>!0,"update:modelValue":n=>!0,"group:selected":n=>!0,click:n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{t:l}=useLocale(),{borderClasses:c}=useBorder(n),{colorClasses:u,colorStyles:d,variantClasses:f}=useVariant(n),{densityClasses:m}=useDensity(n),{elevationClasses:g}=useElevation(n),{roundedClasses:b}=useRounded(n),{sizeClasses:S}=useSize(n),{themeClasses:k}=provideTheme(n),w=useProxiedModel(n,"modelValue"),E=useGroupItem(n,VChipGroupSymbol,!1),C=useLink(n,o),T=computed((()=>!1!==n.link&&C.isLink.value)),I=computed((()=>!n.disabled&&!1!==n.link&&(!!E||n.link||C.isClickable.value))),P=computed((()=>({"aria-label":l(n.closeLabel),onClick(n){n.preventDefault(),n.stopPropagation(),w.value=!1,a("click:close",n)}})));function D(n){a("click",n),I.value&&(C.navigate?.(n),E?.toggle())}function O(n){"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),D(n))}return()=>{const r=C.isLink.value?"a":n.tag,o=!(!n.appendIcon&&!n.appendAvatar),a=!(!o&&!s.append),l=!(!s.close&&!n.closable),A=!(!s.filter&&!n.filter)&&E,eo=!(!n.prependIcon&&!n.prependAvatar),no=!(!eo&&!s.prepend),ro=!E||E.isSelected.value;return w.value&&withDirectives(createVNode(r,mergeProps({class:["v-chip",{"v-chip--disabled":n.disabled,"v-chip--label":n.label,"v-chip--link":I.value,"v-chip--filter":A,"v-chip--pill":n.pill,[`${n.activeClass}`]:n.activeClass&&C.isActive?.value},k.value,c.value,ro?u.value:void 0,m.value,g.value,b.value,S.value,f.value,E?.selectedClass.value,n.class],style:[ro?d.value:void 0,n.style],disabled:n.disabled||void 0,draggable:n.draggable,tabindex:I.value?0:void 0,onClick:D,onKeydown:I.value&&!T.value&&O},C.linkProps),{default:()=>[genOverlays(I.value,"v-chip"),A&&createVNode(VExpandXTransition,{key:"filter"},{default:()=>[withDirectives(createVNode("div",{class:"v-chip__filter"},[s.filter?createVNode(VDefaultsProvider,{key:"filter-defaults",disabled:!n.filterIcon,defaults:{VIcon:{icon:n.filterIcon}}},s.filter):createVNode(VIcon,{key:"filter-icon",icon:n.filterIcon},null)]),[[vShow,E.isSelected.value]])]}),no&&createVNode("div",{key:"prepend",class:"v-chip__prepend"},[s.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!eo,defaults:{VAvatar:{image:n.prependAvatar,start:!0},VIcon:{icon:n.prependIcon,start:!0}}},s.prepend):createVNode(Fragment,null,[n.prependIcon&&createVNode(VIcon,{key:"prepend-icon",icon:n.prependIcon,start:!0},null),n.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",image:n.prependAvatar,start:!0},null)])]),createVNode("div",{class:"v-chip__content","data-no-activator":""},[s.default?.({isSelected:E?.isSelected.value,selectedClass:E?.selectedClass.value,select:E?.select,toggle:E?.toggle,value:E?.value.value,disabled:n.disabled})??n.text]),a&&createVNode("div",{key:"append",class:"v-chip__append"},[s.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!o,defaults:{VAvatar:{end:!0,image:n.appendAvatar},VIcon:{end:!0,icon:n.appendIcon}}},s.append):createVNode(Fragment,null,[n.appendIcon&&createVNode(VIcon,{key:"append-icon",end:!0,icon:n.appendIcon},null),n.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",end:!0,image:n.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:n.closeIcon,size:"x-small"}}},s.close):createVNode(VIcon,{key:"close-icon",icon:n.closeIcon,size:"x-small"},null)])]}),[[resolveDirective("ripple"),I.value&&n.ripple,null]])}}}),ListKey=Symbol.for("vuetify:list");function createList(){const n=inject$1(ListKey,{hasPrepend:shallowRef(!1),updateHasPrepend:()=>null}),r={hasPrepend:shallowRef(!1),updateHasPrepend:n=>{n&&(r.hasPrepend.value=n)}};return provide(ListKey,r),n}function useList(){return inject$1(ListKey,null)}const independentActiveStrategy=n=>{const r={activate:r=>{let{id:o,value:a,activated:s}=r;return o=toRaw(o),n&&!a&&1===s.size&&s.has(o)||(a?s.add(o):s.delete(o)),s},in:(n,o,a)=>{let s=new Set;if(null!=n)for(const l of wrapInArray(n))s=r.activate({id:l,value:!0,activated:new Set(s),children:o,parents:a});return s},out:n=>Array.from(n)};return r},independentSingleActiveStrategy=n=>{const r=independentActiveStrategy(n);return{activate:n=>{let{activated:o,id:a,...s}=n;a=toRaw(a);const l=o.has(a)?new Set([a]):new Set;return r.activate({...s,id:a,activated:l})},in:(n,o,a)=>{let s=new Set;if(null!=n){const l=wrapInArray(n);l.length&&(s=r.in(l.slice(0,1),o,a))}return s},out:(n,o,a)=>r.out(n,o,a)}},leafActiveStrategy=n=>{const r=independentActiveStrategy(n);return{activate:n=>{let{id:o,activated:a,children:s,...l}=n;return o=toRaw(o),s.has(o)?a:r.activate({id:o,activated:a,children:s,...l})},in:r.in,out:r.out}},leafSingleActiveStrategy=n=>{const r=independentSingleActiveStrategy(n);return{activate:n=>{let{id:o,activated:a,children:s,...l}=n;return o=toRaw(o),s.has(o)?a:r.activate({id:o,activated:a,children:s,...l})},in:r.in,out:r.out}},singleOpenStrategy={open:n=>{let{id:r,value:o,opened:a,parents:s}=n;if(o){const n=new Set;n.add(r);let o=s.get(r);for(;null!=o;)n.add(o),o=s.get(o);return n}return a.delete(r),a},select:()=>null},multipleOpenStrategy={open:n=>{let{id:r,value:o,opened:a,parents:s}=n;if(o){let n=s.get(r);for(a.add(r);null!=n&&n!==r;)a.add(n),n=s.get(n);return a}return a.delete(r),a},select:()=>null},listOpenStrategy={open:multipleOpenStrategy.open,select:n=>{let{id:r,value:o,opened:a,parents:s}=n;if(!o)return a;const l=[];let c=s.get(r);for(;null!=c;)l.push(c),c=s.get(c);return new Set(l)}},independentSelectStrategy=n=>{const r={select:r=>{let{id:o,value:a,selected:s}=r;if(o=toRaw(o),n&&!a){const n=Array.from(s.entries()).reduce(((n,r)=>{let[o,a]=r;return"on"===a&&n.push(o),n}),[]);if(1===n.length&&n[0]===o)return s}return s.set(o,a?"on":"off"),s},in:(n,o,a)=>{const s=new Map;for(const l of n||[])r.select({id:l,value:!0,selected:s,children:o,parents:a});return s},out:n=>{const r=[];for(const[o,a]of n.entries())"on"===a&&r.push(o);return r}};return r},independentSingleSelectStrategy=n=>{const r=independentSelectStrategy(n);return{select:n=>{let{selected:o,id:a,...s}=n;a=toRaw(a);const l=o.has(a)?new Map([[a,o.get(a)]]):new Map;return r.select({...s,id:a,selected:l})},in:(n,o,a)=>n?.length?r.in(n.slice(0,1),o,a):new Map,out:(n,o,a)=>r.out(n,o,a)}},leafSelectStrategy=n=>{const r=independentSelectStrategy(n);return{select:n=>{let{id:o,selected:a,children:s,...l}=n;return o=toRaw(o),s.has(o)?a:r.select({id:o,selected:a,children:s,...l})},in:r.in,out:r.out}},leafSingleSelectStrategy=n=>{const r=independentSingleSelectStrategy(n);return{select:n=>{let{id:o,selected:a,children:s,...l}=n;return o=toRaw(o),s.has(o)?a:r.select({id:o,selected:a,children:s,...l})},in:r.in,out:r.out}},classicSelectStrategy=n=>{const r={select:r=>{let{id:o,value:a,selected:s,children:l,parents:c}=r;o=toRaw(o);const u=new Map(s),d=[o];for(;d.length;){const n=d.shift();s.set(toRaw(n),a?"on":"off"),l.has(n)&&d.push(...l.get(n))}let f=toRaw(c.get(o));for(;f;){const n=l.get(f),r=n.every((n=>"on"===s.get(toRaw(n)))),o=n.every((n=>!s.has(toRaw(n))||"off"===s.get(toRaw(n))));s.set(f,r?"on":o?"off":"indeterminate"),f=toRaw(c.get(f))}if(n&&!a){if(0===Array.from(s.entries()).reduce(((n,r)=>{let[o,a]=r;return"on"===a&&n.push(o),n}),[]).length)return u}return s},in:(n,o,a)=>{let s=new Map;for(const l of n||[])s=r.select({id:l,value:!0,selected:s,children:o,parents:a});return s},out:(n,r)=>{const o=[];for(const[a,s]of n.entries())"on"!==s||r.has(a)||o.push(a);return o}};return r},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=n=>{let r=!1;const o=ref(new Map),a=ref(new Map),s=useProxiedModel(n,"opened",n.opened,(n=>new Set(n)),(n=>[...n.values()])),l=computed((()=>{if("object"==typeof n.activeStrategy)return n.activeStrategy;if("function"==typeof n.activeStrategy)return n.activeStrategy(n.mandatory);switch(n.activeStrategy){case"leaf":return leafActiveStrategy(n.mandatory);case"single-leaf":return leafSingleActiveStrategy(n.mandatory);case"independent":return independentActiveStrategy(n.mandatory);default:return independentSingleActiveStrategy(n.mandatory)}})),c=computed((()=>{if("object"==typeof n.selectStrategy)return n.selectStrategy;if("function"==typeof n.selectStrategy)return n.selectStrategy(n.mandatory);switch(n.selectStrategy){case"single-leaf":return leafSingleSelectStrategy(n.mandatory);case"leaf":return leafSelectStrategy(n.mandatory);case"independent":return independentSelectStrategy(n.mandatory);case"single-independent":return independentSingleSelectStrategy(n.mandatory);default:return classicSelectStrategy(n.mandatory)}})),u=computed((()=>{if("object"==typeof n.openStrategy)return n.openStrategy;switch(n.openStrategy){case"list":return listOpenStrategy;case"single":return singleOpenStrategy;default:return multipleOpenStrategy}})),d=useProxiedModel(n,"activated",n.activated,(n=>l.value.in(n,o.value,a.value)),(n=>l.value.out(n,o.value,a.value))),f=useProxiedModel(n,"selected",n.selected,(n=>c.value.in(n,o.value,a.value)),(n=>c.value.out(n,o.value,a.value)));function m(n){const r=[];let o=n;for(;null!=o;)r.unshift(o),o=a.value.get(o);return r}onBeforeUnmount((()=>{r=!0}));const g=getCurrentInstance("nested"),b=new Set,S={id:shallowRef(),root:{opened:s,activatable:toRef(n,"activatable"),selectable:toRef(n,"selectable"),activated:d,selected:f,selectedValues:computed((()=>{const n=[];for(const[r,o]of f.value.entries())"on"===o&&n.push(r);return n})),register:(n,r,s)=>{if(b.has(n))return m(n).map(String).join(" -> "),void m(r).concat(n).map(String).join(" -> ");b.add(n),r&&n!==r&&a.value.set(n,r),s&&o.value.set(n,[]),null!=r&&o.value.set(r,[...o.value.get(r)||[],n])},unregister:n=>{if(r)return;b.delete(n),o.value.delete(n);const s=a.value.get(n);if(s){const r=o.value.get(s)??[];o.value.set(s,r.filter((r=>r!==n)))}a.value.delete(n)},open:(n,r,l)=>{g.emit("click:open",{id:n,value:r,path:m(n),event:l});const c=u.value.open({id:n,value:r,opened:new Set(s.value),children:o.value,parents:a.value,event:l});c&&(s.value=c)},openOnSelect:(n,r,l)=>{const c=u.value.select({id:n,value:r,selected:new Map(f.value),opened:new Set(s.value),children:o.value,parents:a.value,event:l});c&&(s.value=c)},select:(n,r,s)=>{g.emit("click:select",{id:n,value:r,path:m(n),event:s});const l=c.value.select({id:n,value:r,selected:new Map(f.value),children:o.value,parents:a.value,event:s});l&&(f.value=l),S.root.openOnSelect(n,r,s)},activate:(r,s,c)=>{if(!n.activatable)return S.root.select(r,!0,c);g.emit("click:activate",{id:r,value:s,path:m(r),event:c});const u=l.value.activate({id:r,value:s,activated:new Set(d.value),children:o.value,parents:a.value,event:c});if(u.size!==d.value.size)d.value=u;else{for(const n of u)if(!d.value.has(n))return void(d.value=u);for(const n of d.value)if(!u.has(n))return void(d.value=u)}},children:o,parents:a,getPath:m}};return provide(VNestedSymbol,S),S.root},useNestedItem=(n,r)=>{const o=inject$1(VNestedSymbol,emptyNested),a=Symbol(getUid()),s=computed((()=>void 0!==n.value?n.value:a)),l={...o,id:s,open:(n,r)=>o.root.open(s.value,n,r),openOnSelect:(n,r)=>o.root.openOnSelect(s.value,n,r),isOpen:computed((()=>o.root.opened.value.has(s.value))),parent:computed((()=>o.root.parents.value.get(s.value))),activate:(n,r)=>o.root.activate(s.value,n,r),isActivated:computed((()=>o.root.activated.value.has(toRaw(s.value)))),select:(n,r)=>o.root.select(s.value,n,r),isSelected:computed((()=>"on"===o.root.selected.value.get(toRaw(s.value)))),isIndeterminate:computed((()=>"indeterminate"===o.root.selected.value.get(toRaw(s.value)))),isLeaf:computed((()=>!o.root.children.value.get(s.value))),isGroupActivator:o.isGroupActivator};return onBeforeMount((()=>{!o.isGroupActivator&&o.root.register(s.value,o.id.value,r)})),onBeforeUnmount((()=>{!o.isGroupActivator&&o.root.unregister(s.value)})),r&&provide(VNestedSymbol,l),l},useNestedGroupActivator=()=>{const n=inject$1(VNestedSymbol,emptyNested);provide(VNestedSymbol,{...n,isGroupActivator:!0})},VListGroupActivator=defineComponent({name:"VListGroupActivator",setup(n,r){let{slots:o}=r;return useNestedGroupActivator(),()=>o.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(n,r){let{slots:o}=r;const{isOpen:a,open:s,id:l}=useNestedItem(toRef(n,"value"),!0),c=computed((()=>`v-list-group--id-${String(l.value)}`)),u=useList(),{isBooted:d}=useSsrBoot();function f(n){n.stopPropagation(),s(!a.value,n)}const m=computed((()=>({onClick:f,class:"v-list-group__header",id:c.value}))),g=computed((()=>a.value?n.collapseIcon:n.expandIcon)),b=computed((()=>({VListItem:{active:a.value,activeColor:n.activeColor,baseColor:n.baseColor,color:n.color,prependIcon:n.prependIcon||n.subgroup&&g.value,appendIcon:n.appendIcon||!n.subgroup&&g.value,title:n.title,value:n.value}})));return useRender((()=>createVNode(n.tag,{class:["v-list-group",{"v-list-group--prepend":u?.hasPrepend.value,"v-list-group--fluid":n.fluid,"v-list-group--subgroup":n.subgroup,"v-list-group--open":a.value},n.class],style:n.style},{default:()=>[o.activator&&createVNode(VDefaultsProvider,{defaults:b.value},{default:()=>[createVNode(VListGroupActivator,null,{default:()=>[o.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},[o.default?.()]),[[vShow,a.value]])]})]}))),{isOpen:a}}}),makeVListItemSubtitleProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VListItemSubtitle"),VListItemSubtitle=genericComponent()({name:"VListItemSubtitle",props:makeVListItemSubtitleProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(n.tag,{class:["v-list-item-subtitle",n.class],style:[{"--v-list-item-subtitle-opacity":n.opacity},n.style]},o))),{}}}),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:n=>!0},setup(n,r){let{attrs:o,slots:a,emit:s}=r;const l=useLink(n,o),c=computed((()=>void 0===n.value?l.href.value:n.value)),{activate:u,isActivated:d,select:f,isOpen:m,isSelected:g,isIndeterminate:b,isGroupActivator:S,root:k,parent:w,openOnSelect:E,id:C}=useNestedItem(c,!1),T=useList(),I=computed((()=>!1!==n.active&&(n.active||l.isActive?.value||(k.activatable.value?d.value:g.value)))),P=computed((()=>!1!==n.link&&l.isLink.value)),D=computed((()=>!!T&&(k.selectable.value||k.activatable.value||null!=n.value))),O=computed((()=>!n.disabled&&!1!==n.link&&(n.link||l.isClickable.value||D.value))),A=computed((()=>n.rounded||n.nav)),eo=computed((()=>n.color??n.activeColor)),no=computed((()=>({color:I.value?eo.value??n.baseColor:n.baseColor,variant:n.variant})));function ro(){null!=w.value&&k.open(w.value,!0),E(!0)}watch((()=>l.isActive?.value),(n=>{n&&ro()})),onBeforeMount((()=>{l.isActive?.value&&ro()}));const{themeClasses:oo}=provideTheme(n),{borderClasses:ao}=useBorder(n),{colorClasses:io,colorStyles:so,variantClasses:lo}=useVariant(no),{densityClasses:co}=useDensity(n),{dimensionStyles:uo}=useDimension(n),{elevationClasses:po}=useElevation(n),{roundedClasses:fo}=useRounded(A),ho=computed((()=>n.lines?`v-list-item--${n.lines}-line`:void 0)),mo=computed((()=>({isActive:I.value,select:f,isOpen:m.value,isSelected:g.value,isIndeterminate:b.value})));function go(r){s("click",r),O.value&&(l.navigate?.(r),S||(k.activatable.value?u(!d.value,r):(k.selectable.value||null!=n.value)&&f(!g.value,r)))}function vo(n){const r=n.target;["INPUT","TEXTAREA"].includes(r.tagName)||"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.target.dispatchEvent(new MouseEvent("click",n)))}return useRender((()=>{const r=P.value?"a":n.tag,o=a.title||null!=n.title,s=a.subtitle||null!=n.subtitle,c=!(!n.appendAvatar&&!n.appendIcon),u=!(!c&&!a.append),f=!(!n.prependAvatar&&!n.prependIcon),m=!(!f&&!a.prepend);return T?.updateHasPrepend(m),n.activeColor&&deprecate$1("active-color",["color","base-color"]),withDirectives(createVNode(r,mergeProps({class:["v-list-item",{"v-list-item--active":I.value,"v-list-item--disabled":n.disabled,"v-list-item--link":O.value,"v-list-item--nav":n.nav,"v-list-item--prepend":!m&&T?.hasPrepend.value,"v-list-item--slim":n.slim,[`${n.activeClass}`]:n.activeClass&&I.value},oo.value,ao.value,io.value,co.value,po.value,ho.value,fo.value,lo.value,n.class],style:[so.value,uo.value,n.style],tabindex:O.value?T?-2:0:void 0,"aria-selected":D.value?k.activatable.value?d.value:k.selectable.value?g.value:I.value:void 0,onClick:go,onKeydown:O.value&&!P.value&&vo},l.linkProps),{default:()=>[genOverlays(O.value||I.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:n.density,image:n.prependAvatar},VIcon:{density:n.density,icon:n.prependIcon},VListItemAction:{start:!0}}},{default:()=>[a.prepend?.(mo.value)]}):createVNode(Fragment,null,[n.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",density:n.density,image:n.prependAvatar},null),n.prependIcon&&createVNode(VIcon,{key:"prepend-icon",density:n.density,icon:n.prependIcon},null)]),createVNode("div",{class:"v-list-item__spacer"},null)]),createVNode("div",{class:"v-list-item__content","data-no-activator":""},[o&&createVNode(VListItemTitle,{key:"title"},{default:()=>[a.title?.({title:n.title})??n.title]}),s&&createVNode(VListItemSubtitle,{key:"subtitle"},{default:()=>[a.subtitle?.({subtitle:n.subtitle})??n.subtitle]}),a.default?.(mo.value)]),u&&createVNode("div",{key:"append",class:"v-list-item__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!c,defaults:{VAvatar:{density:n.density,image:n.appendAvatar},VIcon:{density:n.density,icon:n.appendIcon},VListItemAction:{end:!0}}},{default:()=>[a.append?.(mo.value)]}):createVNode(Fragment,null,[n.appendIcon&&createVNode(VIcon,{key:"append-icon",density:n.density,icon:n.appendIcon},null),n.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",density:n.density,image:n.appendAvatar},null)]),createVNode("div",{class:"v-list-item__spacer"},null)])]}),[[resolveDirective("ripple"),O.value&&n.ripple]])})),{activate:u,isActivated:d,isGroupActivator:S,isSelected:g,list:T,select:f,root:k,id:C,link:l}}}),makeVListSubheaderProps=propsFactory({color:String,inset:Boolean,sticky:Boolean,title:String,...makeComponentProps(),...makeTagProps()},"VListSubheader"),VListSubheader=genericComponent()({name:"VListSubheader",props:makeVListSubheaderProps(),setup(n,r){let{slots:o}=r;const{textColorClasses:a,textColorStyles:s}=useTextColor(toRef(n,"color"));return useRender((()=>{const r=!(!o.default&&!n.title);return createVNode(n.tag,{class:["v-list-subheader",{"v-list-subheader--inset":n.inset,"v-list-subheader--sticky":n.sticky},a.value,n.class],style:[{textColorStyles:s},n.style]},{default:()=>[r&&createVNode("div",{class:"v-list-subheader__text"},[o.default?.()??n.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(n,r){let{attrs:o,slots:a}=r;const{themeClasses:s}=provideTheme(n),{textColorClasses:l,textColorStyles:c}=useTextColor(toRef(n,"color")),u=computed((()=>{const r={};return n.length&&(r[n.vertical?"height":"width"]=convertToUnit(n.length)),n.thickness&&(r[n.vertical?"borderRightWidth":"borderTopWidth"]=convertToUnit(n.thickness)),r}));return useRender((()=>{const r=createVNode("hr",{class:[{"v-divider":!0,"v-divider--inset":n.inset,"v-divider--vertical":n.vertical},s.value,l.value,n.class],style:[u.value,c.value,{"--v-border-opacity":n.opacity},n.style],"aria-orientation":o.role&&"separator"!==o.role?void 0:n.vertical?"vertical":"horizontal",role:`${o.role||"separator"}`},null);return a.default?createVNode("div",{class:["v-divider__wrapper",{"v-divider__wrapper--vertical":n.vertical,"v-divider__wrapper--inset":n.inset}]},[r,createVNode("div",{class:"v-divider__content"},[a.default()]),r]):r})),{}}}),makeVListChildrenProps=propsFactory({items:Array,returnObject:Boolean},"VListChildren"),VListChildren=genericComponent()({name:"VListChildren",props:makeVListChildrenProps(),setup(n,r){let{slots:o}=r;return createList(),()=>o.default?.()??n.items?.map((r=>{let{children:a,props:s,type:l,raw:c}=r;if("divider"===l)return o.divider?.({props:s})??createVNode(VDivider,s,null);if("subheader"===l)return o.subheader?.({props:s})??createVNode(VListSubheader,s,null);const u={subtitle:o.subtitle?n=>o.subtitle?.({...n,item:c}):void 0,prepend:o.prepend?n=>o.prepend?.({...n,item:c}):void 0,append:o.append?n=>o.append?.({...n,item:c}):void 0,title:o.title?n=>o.title?.({...n,item:c}):void 0},d=VListGroup.filterProps(s);return a?createVNode(VListGroup,mergeProps({value:s?.value},d),{activator:r=>{let{props:a}=r;const l={...s,...a,value:n.returnObject?c:s.value};return o.header?o.header({props:l}):createVNode(VListItem,l,u)},default:()=>createVNode(VListChildren,{items:a,returnObject:n.returnObject},o)}):o.item?o.item({props:s}):createVNode(VListItem,mergeProps(s,{value:n.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(n,r){const o=getPropertyFromItem(r,n.itemTitle,r),a=getPropertyFromItem(r,n.itemValue,o),s=getPropertyFromItem(r,n.itemChildren),l={title:o,value:a,...!0===n.itemProps?"object"!=typeof r||null==r||Array.isArray(r)?void 0:"children"in r?omit(r,["children"]):r:getPropertyFromItem(r,n.itemProps)};return{title:String(l.title??""),value:l.value,props:l,children:Array.isArray(s)?transformItems$3(n,s):void 0,raw:r}}function transformItems$3(n,r){const o=pick$2(n,["itemTitle","itemValue","itemChildren","itemProps","returnObject","valueComparator"]),a=[];for(const s of r)a.push(transformItem$3(o,s));return a}function useItems(n){const r=computed((()=>transformItems$3(n,n.items))),o=computed((()=>r.value.some((n=>null===n.value)))),a=shallowRef(new Map),s=shallowRef([]);return watchEffect((()=>{const n=r.value,o=new Map,l=[];for(let r=0;r<n.length;r++){const a=n[r];if(isPrimitive(a.value)||null===a.value){let n=o.get(a.value);n||(n=[],o.set(a.value,n)),n.push(a)}else l.push(a)}a.value=o,s.value=l})),{items:r,transformIn:function(l){const c=a.value,u=r.value,d=s.value,f=o.value,m=n.returnObject,g=!!n.valueComparator,b=n.valueComparator||deepEqual,S=pick$2(n,["itemTitle","itemValue","itemChildren","itemProps","returnObject","valueComparator"]),k=[];e:for(const n of l){if(!f&&null===n)continue;if(m&&"string"==typeof n){k.push(transformItem$3(S,n));continue}const r=c.get(n);if(!g&&r)k.push(...r);else{for(const r of g?u:d)if(b(n,r.value)){k.push(r);continue e}k.push(transformItem$3(S,n))}}return k},transformOut:function(r){return n.returnObject?r.map((n=>{let{raw:r}=n;return r})):r.map((n=>{let{value:r}=n;return r}))}}}function transformItem$2(n,r){const o=getPropertyFromItem(r,n.itemType,"item"),a=isPrimitive(r)?r:getPropertyFromItem(r,n.itemTitle),s=getPropertyFromItem(r,n.itemValue,void 0),l=getPropertyFromItem(r,n.itemChildren),c={title:a,value:s,...!0===n.itemProps?omit(r,["children"]):getPropertyFromItem(r,n.itemProps)};return{type:o,title:c.title,value:c.value,props:c,children:"item"===o&&l?transformItems$2(n,l):void 0,raw:r}}function transformItems$2(n,r){const o=[];for(const a of r)o.push(transformItem$2(n,a));return o}function useListItems(n){return{items:computed((()=>transformItems$2(n,n.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":n=>!0,"update:activated":n=>!0,"update:opened":n=>!0,"click:open":n=>!0,"click:activate":n=>!0,"click:select":n=>!0},setup(n,r){let{slots:o}=r;const{items:a}=useListItems(n),{themeClasses:s}=provideTheme(n),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(n,"bgColor")),{borderClasses:u}=useBorder(n),{densityClasses:d}=useDensity(n),{dimensionStyles:f}=useDimension(n),{elevationClasses:m}=useElevation(n),{roundedClasses:g}=useRounded(n),{children:b,open:S,parents:k,select:w,getPath:E}=useNested(n),C=computed((()=>n.lines?`v-list--${n.lines}-line`:void 0)),T=toRef(n,"activeColor"),I=toRef(n,"baseColor"),P=toRef(n,"color");createList(),provideDefaults({VListGroup:{activeColor:T,baseColor:I,color:P,expandIcon:toRef(n,"expandIcon"),collapseIcon:toRef(n,"collapseIcon")},VListItem:{activeClass:toRef(n,"activeClass"),activeColor:T,baseColor:I,color:P,density:toRef(n,"density"),disabled:toRef(n,"disabled"),lines:toRef(n,"lines"),nav:toRef(n,"nav"),slim:toRef(n,"slim"),variant:toRef(n,"variant")}});const D=shallowRef(!1),O=ref();function A(n){D.value=!0}function eo(n){D.value=!1}function no(n){D.value||n.relatedTarget&&O.value?.contains(n.relatedTarget)||ao()}function ro(n){const r=n.target;if(O.value&&!["INPUT","TEXTAREA"].includes(r.tagName)){if("ArrowDown"===n.key)ao("next");else if("ArrowUp"===n.key)ao("prev");else if("Home"===n.key)ao("first");else{if("End"!==n.key)return;ao("last")}n.preventDefault()}}function oo(n){D.value=!0}function ao(n){if(O.value)return focusChild(O.value,n)}return useRender((()=>createVNode(n.tag,{ref:O,class:["v-list",{"v-list--disabled":n.disabled,"v-list--nav":n.nav,"v-list--slim":n.slim},s.value,l.value,u.value,d.value,m.value,C.value,g.value,n.class],style:[c.value,f.value,n.style],tabindex:n.disabled?-1:0,role:"listbox","aria-activedescendant":void 0,onFocusin:A,onFocusout:eo,onFocus:no,onKeydown:ro,onMousedown:oo},{default:()=>[createVNode(VListChildren,{items:a.value,returnObject:n.returnObject},o)]}))),{open:S,select:w,focus:ao,children:b,parents:k,getPath:E}}}),VListImg=createSimpleFunctional("v-list-img"),makeVListItemActionProps=propsFactory({start:Boolean,end:Boolean,...makeComponentProps(),...makeTagProps()},"VListItemAction"),VListItemAction=genericComponent()({name:"VListItemAction",props:makeVListItemActionProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(n.tag,{class:["v-list-item-action",{"v-list-item-action--start":n.start,"v-list-item-action--end":n.end},n.class],style:n.style},o))),{}}}),makeVListItemMediaProps=propsFactory({start:Boolean,end:Boolean,...makeComponentProps(),...makeTagProps()},"VListItemMedia"),VListItemMedia=genericComponent()({name:"VListItemMedia",props:makeVListItemMediaProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(n.tag,{class:["v-list-item-media",{"v-list-item-media--start":n.start,"v-list-item-media--end":n.end},n.class],style:n.style},o))),{}}});function elementToViewport(n,r){return{x:n.x+r.x,y:n.y+r.y}}function getOffset$1(n,r){return{x:n.x-r.x,y:n.y-r.y}}function anchorToPoint(n,r){if("top"===n.side||"bottom"===n.side){const{side:o,align:a}=n;return elementToViewport({x:"left"===a?0:"center"===a?r.width/2:"right"===a?r.width:a,y:"top"===o?0:"bottom"===o?r.height:o},r)}if("left"===n.side||"right"===n.side){const{side:o,align:a}=n;return elementToViewport({x:"left"===o?0:"right"===o?r.width:o,y:"top"===a?0:"center"===a?r.height/2:"bottom"===a?r.height:a},r)}return elementToViewport({x:r.width/2,y:r.height/2},r)}const locationStrategies={static:staticLocationStrategy,connected:connectedLocationStrategy},makeLocationStrategyProps=propsFactory({locationStrategy:{type:[String,Function],default:"static",validator:n=>"function"==typeof n||n in locationStrategies},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array]},"VOverlay-location-strategies");function useLocationStrategies(n,r){const o=ref({}),a=ref();function s(n){a.value?.(n)}return IN_BROWSER&&useToggleScope((()=>!(!r.isActive.value||!n.locationStrategy)),(l=>{watch((()=>n.locationStrategy),l),onScopeDispose((()=>{window.removeEventListener("resize",s),a.value=void 0})),window.addEventListener("resize",s,{passive:!0}),"function"==typeof n.locationStrategy?a.value=n.locationStrategy(r,n,o)?.updateLocation:a.value=locationStrategies[n.locationStrategy](r,n,o)?.updateLocation})),{contentStyles:o,updateLocation:a}}function staticLocationStrategy(){}function getIntrinsicSize(n,r){const o=nullifyTransforms(n);return r?o.x+=parseFloat(n.style.right||0):o.x-=parseFloat(n.style.left||0),o.y-=parseFloat(n.style.top||0),o}function connectedLocationStrategy(n,r,o){(Array.isArray(n.target.value)||isFixedPosition(n.target.value))&&Object.assign(o.value,{position:"fixed",top:0,[n.isRtl.value?"right":"left"]:0});const{preferredAnchor:a,preferredOrigin:s}=destructComputed((()=>{const o=parseAnchor(r.location,n.isRtl.value),a="overlap"===r.origin?o:"auto"===r.origin?flipSide(o):parseAnchor(r.origin,n.isRtl.value);return o.side===a.side&&o.align===flipAlign(a).align?{preferredAnchor:flipCorner(o),preferredOrigin:flipCorner(a)}:{preferredAnchor:o,preferredOrigin:a}})),[l,c,u,d]=["minWidth","minHeight","maxWidth","maxHeight"].map((n=>computed((()=>{const o=parseFloat(r[n]);return isNaN(o)?1/0:o})))),f=computed((()=>{if(Array.isArray(r.offset))return r.offset;if("string"==typeof r.offset){const n=r.offset.split(" ").map(parseFloat);return n.length<2&&n.push(0),n}return"number"==typeof r.offset?[r.offset,0]:[0,0]}));let m=!1;const g=new ResizeObserver((()=>{m&&b()}));function b(){if(m=!1,requestAnimationFrame((()=>m=!0)),!n.target.value||!n.contentEl.value)return;const r=getTargetBox(n.target.value),g=getIntrinsicSize(n.contentEl.value,n.isRtl.value),b=getScrollParents(n.contentEl.value);b.length||(b.push(document.documentElement),n.contentEl.value.style.top&&n.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 S=b.reduce(((n,r)=>{const o=r.getBoundingClientRect(),a=new Box({x:r===document.documentElement?0:o.x,y:r===document.documentElement?0:o.y,width:r.clientWidth,height:r.clientHeight});return n?new Box({x:Math.max(n.left,a.left),y:Math.max(n.top,a.top),width:Math.min(n.right,a.right)-Math.max(n.left,a.left),height:Math.min(n.bottom,a.bottom)-Math.max(n.top,a.top)}):a}),void 0);S.x+=12,S.y+=12,S.width-=24,S.height-=24;let k={anchor:a.value,origin:s.value};function w(n){const o=new Box(g),a=anchorToPoint(n.anchor,r),s=anchorToPoint(n.origin,o);let{x:l,y:c}=getOffset$1(a,s);switch(n.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(n.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]}o.x+=l,o.y+=c,o.width=Math.min(o.width,u.value),o.height=Math.min(o.height,d.value);return{overflows:getOverflow(o,S),x:l,y:c}}let E=0,C=0;const T={x:0,y:0},I={x:!1,y:!1};let P=-1;for(;!(P++>10);){const{x:n,y:r,overflows:o}=w(k);E+=n,C+=r,g.x+=n,g.y+=r;{const n=getAxis(k.anchor),r=o.x.before||o.x.after,a=o.y.before||o.y.after;let s=!1;if(["x","y"].forEach((l=>{if("x"===l&&r&&!I.x||"y"===l&&a&&!I.y){const r={anchor:{...k.anchor},origin:{...k.origin}},a="x"===l?"y"===n?flipAlign:flipSide:"y"===n?flipSide:flipAlign;r.anchor=a(r.anchor),r.origin=a(r.origin);const{overflows:c}=w(r);(c[l].before<=o[l].before&&c[l].after<=o[l].after||c[l].before+c[l].after<(o[l].before+o[l].after)/2)&&(k=r,s=I[l]=!0)}})),s)continue}o.x.before&&(E+=o.x.before,g.x+=o.x.before),o.x.after&&(E-=o.x.after,g.x-=o.x.after),o.y.before&&(C+=o.y.before,g.y+=o.y.before),o.y.after&&(C-=o.y.after,g.y-=o.y.after);{const n=getOverflow(g,S);T.x=S.width-n.x.before-n.x.after,T.y=S.height-n.y.before-n.y.after,E+=n.x.before,g.x+=n.x.before,C+=n.y.before,g.y+=n.y.before}break}const D=getAxis(k.anchor);return Object.assign(o.value,{"--v-overlay-anchor-origin":`${k.anchor.side} ${k.anchor.align}`,transformOrigin:`${k.origin.side} ${k.origin.align}`,top:convertToUnit(pixelRound(C)),left:n.isRtl.value?void 0:convertToUnit(pixelRound(E)),right:n.isRtl.value?convertToUnit(pixelRound(-E)):void 0,minWidth:convertToUnit("y"===D?Math.min(l.value,r.width):l.value),maxWidth:convertToUnit(pixelCeil(clamp(T.x,l.value===1/0?0:l.value,u.value))),maxHeight:convertToUnit(pixelCeil(clamp(T.y,c.value===1/0?0:c.value,d.value)))}),{available:T,contentBox:g}}return watch([n.target,n.contentEl],((n,r)=>{let[o,a]=n,[s,l]=r;s&&!Array.isArray(s)&&g.unobserve(s),o&&!Array.isArray(o)&&g.observe(o),l&&g.unobserve(l),a&&g.observe(a)}),{immediate:!0}),onScopeDispose((()=>{g.disconnect()})),watch((()=>[a.value,s.value,r.offset,r.minWidth,r.minHeight,r.maxWidth,r.maxHeight]),(()=>b())),nextTick$2((()=>{const n=b();if(!n)return;const{available:r,contentBox:o}=n;o.height>r.y&&requestAnimationFrame((()=>{b(),requestAnimationFrame((()=>{b()}))}))})),{updateLocation:b}}function pixelRound(n){return Math.round(n*devicePixelRatio)/devicePixelRatio}function pixelCeil(n){return Math.ceil(n*devicePixelRatio)/devicePixelRatio}let clean=!0;const frames=[];function requestNewFrame(n){!clean||frames.length?(frames.push(n),run()):(clean=!1,n(),run())}let raf=-1;function run(){cancelAnimationFrame(raf),raf=requestAnimationFrame((()=>{const n=frames.shift();n&&n(),frames.length?run():clean=!0}))}const scrollStrategies={none:null,close:closeScrollStrategy,block:blockScrollStrategy,reposition:repositionScrollStrategy},makeScrollStrategyProps=propsFactory({scrollStrategy:{type:[String,Function],default:"block",validator:n=>"function"==typeof n||n in scrollStrategies}},"VOverlay-scroll-strategies");function useScrollStrategies(n,r){if(!IN_BROWSER)return;let o;watchEffect((async()=>{o?.stop(),r.isActive.value&&n.scrollStrategy&&(o=effectScope(),await new Promise((n=>setTimeout(n))),o.active&&o.run((()=>{"function"==typeof n.scrollStrategy?n.scrollStrategy(r,n,o):scrollStrategies[n.scrollStrategy]?.(r,n,o)})))})),onScopeDispose((()=>{o?.stop()}))}function closeScrollStrategy(n){bindScroll(n.targetEl.value??n.contentEl.value,(function(r){n.isActive.value=!1}))}function blockScrollStrategy(n,r){const o=n.root.value?.offsetParent,a=[...new Set([...getScrollParents(n.targetEl.value,r.contained?o:void 0),...getScrollParents(n.contentEl.value,r.contained?o:void 0)])].filter((n=>!n.classList.contains("v-overlay-scroll-blocked"))),s=window.innerWidth-document.documentElement.offsetWidth,l=hasScrollbar(c=o||document.documentElement)&&c;var c;l&&n.root.value.classList.add("v-overlay--scroll-blocked"),a.forEach(((n,r)=>{n.style.setProperty("--v-body-scroll-x",convertToUnit(-n.scrollLeft)),n.style.setProperty("--v-body-scroll-y",convertToUnit(-n.scrollTop)),n!==document.documentElement&&n.style.setProperty("--v-scrollbar-offset",convertToUnit(s)),n.classList.add("v-overlay-scroll-blocked")})),onScopeDispose((()=>{a.forEach(((n,r)=>{const o=parseFloat(n.style.getPropertyValue("--v-body-scroll-x")),a=parseFloat(n.style.getPropertyValue("--v-body-scroll-y")),s=n.style.scrollBehavior;n.style.scrollBehavior="auto",n.style.removeProperty("--v-body-scroll-x"),n.style.removeProperty("--v-body-scroll-y"),n.style.removeProperty("--v-scrollbar-offset"),n.classList.remove("v-overlay-scroll-blocked"),n.scrollLeft=-o,n.scrollTop=-a,n.style.scrollBehavior=s})),l&&n.root.value.classList.remove("v-overlay--scroll-blocked")}))}function repositionScrollStrategy(n,r,o){let a=!1,s=-1,l=-1;function c(r){requestNewFrame((()=>{const o=performance.now();n.updateLocation.value?.(r);const s=performance.now()-o;a=s/(1e3/60)>2}))}l=("undefined"==typeof requestIdleCallback?n=>n():requestIdleCallback)((()=>{o.run((()=>{bindScroll(n.targetEl.value??n.contentEl.value,(n=>{a?(cancelAnimationFrame(s),s=requestAnimationFrame((()=>{s=requestAnimationFrame((()=>{c(n)}))}))):c(n)}))}))})),onScopeDispose((()=>{"undefined"!=typeof cancelIdleCallback&&cancelIdleCallback(l),cancelAnimationFrame(s)}))}function bindScroll(n,r){const o=[document,...getScrollParents(n)];o.forEach((n=>{n.addEventListener("scroll",r,{passive:!0})})),onScopeDispose((()=>{o.forEach((n=>{n.removeEventListener("scroll",r)}))}))}const VMenuSymbol=Symbol.for("vuetify:v-menu"),makeDelayProps=propsFactory({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function useDelay(n,r){let o=()=>{};function a(a){o?.();const s=Number(a?n.openDelay:n.closeDelay);return new Promise((n=>{o=defer(s,(()=>{r?.(a),n(a)}))}))}return{clearDelay:o,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(n,r){let{isActive:o,isTop:a,contentEl:s}=r;const l=getCurrentInstance("useActivator"),c=ref();let u=!1,d=!1,f=!0;const m=computed((()=>n.openOnFocus||null==n.openOnFocus&&n.openOnHover)),g=computed((()=>n.openOnClick||null==n.openOnClick&&!n.openOnHover&&!m.value)),{runOpenDelay:b,runCloseDelay:S}=useDelay(n,(r=>{r!==(n.openOnHover&&u||m.value&&d)||n.openOnHover&&o.value&&!a.value||(o.value!==r&&(f=!0),o.value=r)})),k=ref(),w=n=>{n.stopPropagation(),c.value=n.currentTarget||n.target,o.value||(k.value=[n.clientX,n.clientY]),o.value=!o.value},E=n=>{n.sourceCapabilities?.firesTouchEvents||(u=!0,c.value=n.currentTarget||n.target,b())},C=n=>{u=!1,S()},T=n=>{!1!==matchesSelector$2(n.target,":focus-visible")&&(d=!0,n.stopPropagation(),c.value=n.currentTarget||n.target,b())},I=n=>{d=!1,n.stopPropagation(),S()},P=computed((()=>{const r={};return g.value&&(r.onClick=w),n.openOnHover&&(r.onMouseenter=E,r.onMouseleave=C),m.value&&(r.onFocus=T,r.onBlur=I),r})),D=computed((()=>{const r={};if(n.openOnHover&&(r.onMouseenter=()=>{u=!0,b()},r.onMouseleave=()=>{u=!1,S()}),m.value&&(r.onFocusin=()=>{d=!0,b()},r.onFocusout=()=>{d=!1,S()}),n.closeOnContentClick){const n=inject$1(VMenuSymbol,null);r.onClick=()=>{o.value=!1,n?.closeParents()}}return r})),O=computed((()=>{const r={};return n.openOnHover&&(r.onMouseenter=()=>{f&&(u=!0,f=!1,b())},r.onMouseleave=()=>{u=!1,S()}),r}));watch(a,(r=>{!r||(!n.openOnHover||u||m.value&&d)&&(!m.value||d||n.openOnHover&&u)||s.value?.contains(document.activeElement)||(o.value=!1)})),watch(o,(n=>{n||setTimeout((()=>{k.value=void 0}))}),{flush:"post"});const A=templateRef();watchEffect((()=>{A.value&&nextTick$2((()=>{c.value=A.el}))}));const eo=templateRef(),no=computed((()=>"cursor"===n.target&&k.value?k.value:eo.value?eo.el:getTarget(n.target,l)||c.value)),ro=computed((()=>Array.isArray(no.value)?void 0:no.value));let oo;return watch((()=>!!n.activator),(r=>{r&&IN_BROWSER?(oo=effectScope(),oo.run((()=>{_useActivator(n,l,{activatorEl:c,activatorEvents:P})}))):oo&&oo.stop()}),{flush:"post",immediate:!0}),onScopeDispose((()=>{oo?.stop()})),{activatorEl:c,activatorRef:A,target:no,targetEl:ro,targetRef:eo,activatorEvents:P,contentEvents:D,scrimEvents:O}}function _useActivator(n,r,o){let{activatorEl:a,activatorEvents:s}=o;function l(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u(),o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.activatorProps;r&&bindProps(r,mergeProps(s.value,o))}function c(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u(),o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.activatorProps;r&&unbindProps(r,mergeProps(s.value,o))}function u(){const o=getTarget(arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.activator,r);return a.value=o?.nodeType===Node.ELEMENT_NODE?o:void 0,a.value}watch((()=>n.activator),((n,r)=>{if(r&&n!==r){const n=u(r);n&&c(n)}n&&nextTick$2((()=>l()))}),{immediate:!0}),watch((()=>n.activatorProps),(()=>{l()})),onScopeDispose((()=>{c()}))}function getTarget(n,r){if(!n)return;let o;if("parent"===n){let n=r?.proxy?.$el?.parentNode;for(;n?.hasAttribute("data-no-activator");)n=n.parentNode;o=n}else o="string"==typeof n?document.querySelector(n):"$el"in n?n.$el:n;return o}function useHydration(){if(!IN_BROWSER)return shallowRef(!1);const{ssr:n}=useDisplay();if(n){const n=shallowRef(!1);return onMounted((()=>{n.value=!0})),n}return shallowRef(!0)}const makeLazyProps=propsFactory({eager:Boolean},"lazy");function useLazy(n,r){const o=shallowRef(!1),a=computed((()=>o.value||n.eager||r.value));return watch(r,(()=>o.value=!0)),{isBooted:o,hasContent:a,onAfterLeave:function(){n.eager||(o.value=!1)}}}function useScopeId(){const n=getCurrentInstance("useScopeId").vnode.scopeId;return{scopeId:n?{[n]:""}:void 0}}const StackSymbol=Symbol.for("vuetify:stack"),globalStack=reactive([]);function useStack(n,r,o){const a=getCurrentInstance("useStack"),s=!o,l=inject$1(StackSymbol,void 0),c=reactive({activeChildren:new Set});provide(StackSymbol,c);const u=shallowRef(+r.value);useToggleScope(n,(()=>{const n=globalStack.at(-1)?.[1];u.value=n?n+10:+r.value,s&&globalStack.push([a.uid,u.value]),l?.activeChildren.add(a.uid),onScopeDispose((()=>{if(s){const n=toRaw(globalStack).findIndex((n=>n[0]===a.uid));globalStack.splice(n,1)}l?.activeChildren.delete(a.uid)}))}));const d=shallowRef(!0);s&&watchEffect((()=>{const n=globalStack.at(-1)?.[0]===a.uid;setTimeout((()=>d.value=n))}));const f=computed((()=>!c.activeChildren.size));return{globalTop:readonly(d),localTop:f,stackStyles:computed((()=>({zIndex:u.value})))}}function useTeleport(n){return{teleportTarget:computed((()=>{const r=n();if(!0===r||!IN_BROWSER)return;const o=!1===r?document.body:"string"==typeof r?document.querySelector(r):r;if(null==o)return;let a=[...o.children].find((n=>n.matches(".v-overlay-container")));return a||(a=document.createElement("div"),a.className="v-overlay-container",o.appendChild(a)),a}))}}function defaultConditional(){return!0}function checkEvent(n,r,o){if(!n||!1===checkIsActive(n,o))return!1;const a=attachedRoot(r);if("undefined"!=typeof ShadowRoot&&a instanceof ShadowRoot&&a.host===n.target)return!1;const s=("object"==typeof o.value&&o.value.include||(()=>[]))();return s.push(r),!s.some((r=>r?.contains(n.target)))}function checkIsActive(n,r){return("object"==typeof r.value&&r.value.closeConditional||defaultConditional)(n)}function directive(n,r,o){const a="function"==typeof o.value?o.value:o.value.handler;n.shadowTarget=n.target,r._clickOutside.lastMousedownWasOutside&&checkEvent(n,r,o)&&setTimeout((()=>{checkIsActive(n,o)&&a&&a(n)}),0)}function handleShadow(n,r){const o=attachedRoot(n);r(document),"undefined"!=typeof ShadowRoot&&o instanceof ShadowRoot&&r(o)}const ClickOutside={mounted(n,r){const o=o=>directive(o,n,r),a=o=>{n._clickOutside.lastMousedownWasOutside=checkEvent(o,n,r)};handleShadow(n,(n=>{n.addEventListener("click",o,!0),n.addEventListener("mousedown",a,!0)})),n._clickOutside||(n._clickOutside={lastMousedownWasOutside:!1}),n._clickOutside[r.instance.$.uid]={onClick:o,onMousedown:a}},beforeUnmount(n,r){n._clickOutside&&(handleShadow(n,(o=>{if(!o||!n._clickOutside?.[r.instance.$.uid])return;const{onClick:a,onMousedown:s}=n._clickOutside[r.instance.$.uid];o.removeEventListener("click",a,!0),o.removeEventListener("mousedown",s,!0)})),delete n._clickOutside[r.instance.$.uid])}};function Scrim(n){const{modelValue:r,color:o,...a}=n;return createVNode(Transition,{name:"fade-transition",appear:!0},{default:()=>[n.modelValue&&createVNode("div",mergeProps({class:["v-overlay__scrim",n.color.backgroundColorClasses.value],style:n.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":n=>!0,"update:modelValue":n=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(n,r){let{slots:o,attrs:a,emit:s}=r;const l=getCurrentInstance("VOverlay"),c=ref(),u=ref(),d=ref(),f=useProxiedModel(n,"modelValue"),m=computed({get:()=>f.value,set:r=>{r&&n.disabled||(f.value=r)}}),{themeClasses:g}=provideTheme(n),{rtlClasses:b,isRtl:S}=useRtl(),{hasContent:k,onAfterLeave:w}=useLazy(n,m),E=useBackgroundColor(computed((()=>"string"==typeof n.scrim?n.scrim:null))),{globalTop:C,localTop:T,stackStyles:I}=useStack(m,toRef(n,"zIndex"),n._disableGlobalStack),{activatorEl:P,activatorRef:D,target:O,targetEl:A,targetRef:eo,activatorEvents:no,contentEvents:ro,scrimEvents:oo}=useActivator(n,{isActive:m,isTop:T,contentEl:d}),{teleportTarget:ao}=useTeleport((()=>{const r=n.attach||n.contained;if(r)return r;const o=P?.value?.getRootNode()||l.proxy?.$el?.getRootNode();return o instanceof ShadowRoot&&o})),{dimensionStyles:io}=useDimension(n),so=useHydration(),{scopeId:lo}=useScopeId();watch((()=>n.disabled),(n=>{n&&(m.value=!1)}));const{contentStyles:co,updateLocation:uo}=useLocationStrategies(n,{isRtl:S,contentEl:d,target:O,isActive:m});function po(r){s("click:outside",r),n.persistent?vo():m.value=!1}function fo(r){return m.value&&C.value&&(!n.scrim||r.target===u.value||r instanceof MouseEvent&&r.shadowTarget===u.value)}function ho(r){"Escape"===r.key&&C.value&&(n.persistent?vo():(m.value=!1,d.value?.contains(document.activeElement)&&P.value?.focus()))}useScrollStrategies(n,{root:c,contentEl:d,targetEl:A,isActive:m,updateLocation:uo}),IN_BROWSER&&watch(m,(n=>{n?window.addEventListener("keydown",ho):window.removeEventListener("keydown",ho)}),{immediate:!0}),onBeforeUnmount((()=>{IN_BROWSER&&window.removeEventListener("keydown",ho)}));const mo=useRouter();useToggleScope((()=>n.closeOnBack),(()=>{useBackButton(mo,(r=>{C.value&&m.value?(r(!1),n.persistent?vo():m.value=!1):r()}))}));const go=ref();function vo(){n.noClickAnimation||d.value&&animate(d.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:standardEasing})}function yo(){s("afterEnter")}function bo(){w(),s("afterLeave")}return watch((()=>m.value&&(n.absolute||n.contained)&&null==ao.value),(n=>{if(n){const n=getScrollParent(c.value);n&&n!==document.scrollingElement&&(go.value=n.scrollTop)}})),useRender((()=>createVNode(Fragment,null,[o.activator?.({isActive:m.value,targetRef:eo,props:mergeProps({ref:D},no.value,n.activatorProps)}),so.value&&k.value&&createVNode(Teleport,{disabled:!ao.value,to:ao.value},{default:()=>[createVNode("div",mergeProps({class:["v-overlay",{"v-overlay--absolute":n.absolute||n.contained,"v-overlay--active":m.value,"v-overlay--contained":n.contained},g.value,b.value,n.class],style:[I.value,{"--v-overlay-opacity":n.opacity,top:convertToUnit(go.value)},n.style],ref:c},lo,a),[createVNode(Scrim,mergeProps({color:E,modelValue:m.value&&!!n.scrim,ref:u},oo.value),null),createVNode(MaybeTransition,{appear:!0,persisted:!0,transition:n.transition,target:O.value,onAfterEnter:yo,onAfterLeave:bo},{default:()=>[withDirectives(createVNode("div",mergeProps({ref:d,class:["v-overlay__content",n.contentClass],style:[io.value,co.value]},ro.value,n.contentProps),[o.default?.({isActive:m})]),[[vShow,m.value],[resolveDirective("click-outside"),{handler:po,closeConditional:fo,include:()=>[P.value]}]])]})])]})]))),{activatorEl:P,scrimEl:u,target:O,animateClick:vo,contentEl:d,globalTop:C,localTop:T,updateLocation:uo}}}),Refs=Symbol("Forwarded refs");function getDescriptor(n,r){let o=n;for(;o;){const n=Reflect.getOwnPropertyDescriptor(o,r);if(n)return n;o=Object.getPrototypeOf(o)}}function forwardRefs(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];return n[Refs]=o,new Proxy(n,{get(n,r){if(Reflect.has(n,r))return Reflect.get(n,r);if("symbol"!=typeof r&&!r.startsWith("$")&&!r.startsWith("__"))for(const a of o)if(a.value&&Reflect.has(a.value,r)){const n=Reflect.get(a.value,r);return"function"==typeof n?n.bind(a.value):n}},has(n,r){if(Reflect.has(n,r))return!0;if("symbol"==typeof r||r.startsWith("$")||r.startsWith("__"))return!1;for(const a of o)if(a.value&&Reflect.has(a.value,r))return!0;return!1},set(n,r,a){if(Reflect.has(n,r))return Reflect.set(n,r,a);if("symbol"==typeof r||r.startsWith("$")||r.startsWith("__"))return!1;for(const s of o)if(s.value&&Reflect.has(s.value,r))return Reflect.set(s.value,r,a);return!1},getOwnPropertyDescriptor(n,r){const a=Reflect.getOwnPropertyDescriptor(n,r);if(a)return a;if("symbol"!=typeof r&&!r.startsWith("$")&&!r.startsWith("__")){for(const n of o){if(!n.value)continue;const o=getDescriptor(n.value,r)??("_"in n.value?getDescriptor(n.value._?.setupState,r):void 0);if(o)return o}for(const n of o){const o=n.value&&n.value[Refs];if(!o)continue;const a=o.slice();for(;a.length;){const n=a.shift(),o=getDescriptor(n.value,r);if(o)return o;const s=n.value&&n.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{scopeId:s}=useScopeId(),{isRtl:l}=useRtl(),c=getUid(),u=computed((()=>n.id||`v-menu-${c}`)),d=ref(),f=inject$1(VMenuSymbol,null),m=shallowRef(new Set);async function g(n){const r=n.relatedTarget,o=n.target;if(await nextTick$2(),a.value&&r!==o&&d.value?.contentEl&&d.value?.globalTop&&![document,d.value.contentEl].includes(o)&&!d.value.contentEl.contains(o)){const n=focusableChildren(d.value.contentEl);n[0]?.focus()}}function b(n){f?.closeParents(n)}function S(r){if(!n.disabled)if("Tab"===r.key||"Enter"===r.key&&!n.closeOnContentClick){if("Enter"===r.key&&(r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLInputElement&&r.target.closest("form")))return;"Enter"===r.key&&r.preventDefault();getNextElement(focusableChildren(d.value?.contentEl,!1),r.shiftKey?"prev":"next",(n=>n.tabIndex>=0))||(a.value=!1,d.value?.activatorEl?.focus())}else n.submenu&&r.key===(l.value?"ArrowRight":"ArrowLeft")&&(a.value=!1,d.value?.activatorEl?.focus())}function k(r){if(n.disabled)return;const o=d.value?.contentEl;o&&a.value?"ArrowDown"===r.key?(r.preventDefault(),r.stopImmediatePropagation(),focusChild(o,"next")):"ArrowUp"===r.key?(r.preventDefault(),r.stopImmediatePropagation(),focusChild(o,"prev")):n.submenu&&(r.key===(l.value?"ArrowRight":"ArrowLeft")?a.value=!1:r.key===(l.value?"ArrowLeft":"ArrowRight")&&(r.preventDefault(),focusChild(o,"first"))):(n.submenu?r.key===(l.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(r.key))&&(a.value=!0,r.preventDefault(),setTimeout((()=>setTimeout((()=>k(r))))))}provide(VMenuSymbol,{register(){m.value.add(c)},unregister(){m.value.delete(c)},closeParents(r){setTimeout((()=>{m.value.size||n.persistent||null!=r&&(!d.value?.contentEl||isClickInsideElement(r,d.value.contentEl))||(a.value=!1,f?.closeParents())}),40)}}),onBeforeUnmount((()=>{f?.unregister(),document.removeEventListener("focusin",g)})),onDeactivated((()=>a.value=!1)),watch(a,(n=>{n?(f?.register(),IN_BROWSER&&document.addEventListener("focusin",g,{once:!0})):(f?.unregister(),IN_BROWSER&&document.removeEventListener("focusin",g))}),{immediate:!0});const w=computed((()=>mergeProps({"aria-haspopup":"menu","aria-expanded":String(a.value),"aria-controls":u.value,onKeydown:k},n.activatorProps)));return useRender((()=>{const r=VOverlay.filterProps(n);return createVNode(VOverlay,mergeProps({ref:d,id:u.value,class:["v-menu",n.class],style:n.style},r,{modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,absolute:!0,activatorProps:w.value,location:n.location??(n.submenu?"end":"bottom"),"onClick:outside":b,onKeydown:S},s),{activator:o.activator,default:function(){for(var n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return createVNode(VDefaultsProvider,{root:"VMenu"},{default:()=>[o.default?.(...r)]})}})})),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(n,r){let{slots:o}=r;const a=computed((()=>n.max?`${n.value} / ${n.max}`:String(n.value)));return useRender((()=>createVNode(MaybeTransition,{transition:n.transition},{default:()=>[withDirectives(createVNode("div",{class:["v-counter",{"text-error":n.max&&!n.disabled&&parseFloat(n.value)>parseFloat(n.max)},n.class],style:n.style},[o.default?o.default({counter:a.value,max:n.max,value:n.value}):a.value]),[[vShow,n.active]])]}))),{}}}),makeVFieldLabelProps=propsFactory({floating:Boolean,...makeComponentProps()},"VFieldLabel"),VFieldLabel=genericComponent()({name:"VFieldLabel",props:makeVFieldLabelProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(VLabel,{class:["v-field-label",{"v-field-label--floating":n.floating},n.class],style:n.style,"aria-hidden":n.floating||void 0},o))),{}}}),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:n=>allowedVariants$1.includes(n)},"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":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{themeClasses:l}=provideTheme(n),{loaderClasses:c}=useLoader(n),{focusClasses:u,isFocused:d,focus:f,blur:m}=useFocus(n),{InputIcon:g}=useInputIcon(n),{roundedClasses:b}=useRounded(n),{rtlClasses:S}=useRtl(),k=computed((()=>n.dirty||n.active)),w=computed((()=>!(!n.label&&!s.label))),E=computed((()=>!n.singleLine&&w.value)),C=getUid(),T=computed((()=>n.id||`input-${C}`)),I=computed((()=>`${T.value}-messages`)),P=ref(),D=ref(),O=ref(),A=computed((()=>["plain","underlined"].includes(n.variant))),{backgroundColorClasses:eo,backgroundColorStyles:no}=useBackgroundColor(toRef(n,"bgColor")),{textColorClasses:ro,textColorStyles:oo}=useTextColor(computed((()=>n.error||n.disabled?void 0:k.value&&d.value?n.color:n.baseColor)));watch(k,(n=>{if(E.value){const r=P.value.$el,o=D.value.$el;requestAnimationFrame((()=>{const a=nullifyTransforms(r),s=o.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(r),m=getComputedStyle(o),g=1e3*parseFloat(f.transitionDuration)||150,b=parseFloat(m.getPropertyValue("--v-field-label-scale")),S=m.getPropertyValue("color");r.style.visibility="visible",o.style.visibility="hidden",animate(r,{transform:`translate(${l}px, ${c}px) scale(${b})`,color:S,...d},{duration:g,easing:standardEasing,direction:n?"normal":"reverse"}).finished.then((()=>{r.style.removeProperty("visibility"),o.style.removeProperty("visibility")}))}))}}),{flush:"post"});const ao=computed((()=>({isActive:k,isFocused:d,controlRef:O,blur:m,focus:f})));function io(n){n.target!==document.activeElement&&n.preventDefault()}return useRender((()=>{const r="outlined"===n.variant,a=!(!s["prepend-inner"]&&!n.prependInnerIcon),d=!(!n.clearable&&!s.clear||n.disabled),C=!!(s["append-inner"]||n.appendInnerIcon||d),O=()=>s.label?s.label({...ao.value,label:n.label,props:{for:T.value}}):n.label;return createVNode("div",mergeProps({class:["v-field",{"v-field--active":k.value,"v-field--appended":C,"v-field--center-affix":n.centerAffix??!A.value,"v-field--disabled":n.disabled,"v-field--dirty":n.dirty,"v-field--error":n.error,"v-field--flat":n.flat,"v-field--has-background":!!n.bgColor,"v-field--persistent-clear":n.persistentClear,"v-field--prepended":a,"v-field--reverse":n.reverse,"v-field--single-line":n.singleLine,"v-field--no-label":!O(),[`v-field--variant-${n.variant}`]:!0},l.value,eo.value,u.value,c.value,b.value,S.value,n.class],style:[no.value,n.style],onClick:io},o),[createVNode("div",{class:"v-field__overlay"},null),createVNode(LoaderSlot,{name:"v-field",active:!!n.loading,color:n.error?"error":"string"==typeof n.loading?n.loading:n.color},{default:s.loader}),a&&createVNode("div",{key:"prepend",class:"v-field__prepend-inner"},[n.prependInnerIcon&&createVNode(g,{key:"prepend-icon",name:"prependInner"},null),s["prepend-inner"]?.(ao.value)]),createVNode("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(n.variant)&&E.value&&createVNode(VFieldLabel,{key:"floating-label",ref:D,class:[ro.value],floating:!0,for:T.value,style:oo.value},{default:()=>[O()]}),w.value&&createVNode(VFieldLabel,{key:"label",ref:P,for:T.value},{default:()=>[O()]}),s.default?.({...ao.value,props:{id:T.value,class:"v-field__input","aria-describedby":I.value},focus:f,blur:m})]),d&&createVNode(VExpandXTransition,{key:"clear"},{default:()=>[withDirectives(createVNode("div",{class:"v-field__clearable",onMousedown:n=>{n.preventDefault(),n.stopPropagation()}},[createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:n.clearIcon}}},{default:()=>[s.clear?s.clear({...ao.value,props:{onFocus:f,onBlur:m,onClick:n["onClick:clear"]}}):createVNode(g,{name:"clear",onFocus:f,onBlur:m},null)]})]),[[vShow,n.dirty]])]}),C&&createVNode("div",{key:"append",class:"v-field__append-inner"},[s["append-inner"]?.(ao.value),n.appendInnerIcon&&createVNode(g,{key:"append-icon",name:"appendInner"},null)]),createVNode("div",{class:["v-field__outline",ro.value],style:oo.value},[r&&createVNode(Fragment,null,[createVNode("div",{class:"v-field__outline__start"},null),E.value&&createVNode("div",{class:"v-field__outline__notch"},[createVNode(VFieldLabel,{ref:D,floating:!0,for:T.value},{default:()=>[O()]})]),createVNode("div",{class:"v-field__outline__end"},null)]),A.value&&E.value&&createVNode(VFieldLabel,{ref:D,floating:!0,for:T.value},{default:()=>[O()]})])])})),{controlRef:O}}});function filterFieldProps(n){return pick$2(n,Object.keys(VField.props).filter((n=>!isOn(n)&&"class"!==n&&"style"!==n)))}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":n=>!0,"mousedown:control":n=>!0,"update:focused":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const l=useProxiedModel(n,"modelValue"),{isFocused:c,focus:u,blur:d}=useFocus(n),f=computed((()=>"function"==typeof n.counterValue?n.counterValue(l.value):"number"==typeof n.counterValue?n.counterValue:(l.value??"").toString().length)),m=computed((()=>o.maxlength?o.maxlength:!n.counter||"number"!=typeof n.counter&&"string"!=typeof n.counter?void 0:n.counter)),g=computed((()=>["plain","underlined"].includes(n.variant)));function b(r,o){n.autofocus&&r&&o[0].target?.focus?.()}const S=ref(),k=ref(),w=ref(),E=computed((()=>activeTypes.includes(n.type)||n.persistentPlaceholder||c.value||n.active));function C(){w.value!==document.activeElement&&w.value?.focus(),c.value||u()}function T(n){a("mousedown:control",n),n.target!==w.value&&(C(),n.preventDefault())}function I(n){C(),a("click:control",n)}function P(r){r.stopPropagation(),C(),nextTick$2((()=>{l.value=null,callEvent(n["onClick:clear"],r)}))}function D(r){const o=r.target;if(l.value=o.value,n.modelModifiers?.trim&&["text","search","password","tel","url"].includes(n.type)){const n=[o.selectionStart,o.selectionEnd];nextTick$2((()=>{o.selectionStart=n[0],o.selectionEnd=n[1]}))}}return useRender((()=>{const r=!!(s.counter||!1!==n.counter&&null!=n.counter),a=!(!r&&!s.details),[u,O]=filterInputAttrs(o),{modelValue:A,...eo}=VInput.filterProps(n),no=filterFieldProps(n);return createVNode(VInput,mergeProps({ref:S,modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,class:["v-text-field",{"v-text-field--prefixed":n.prefix,"v-text-field--suffixed":n.suffix,"v-input--plain-underlined":g.value},n.class],style:n.style},u,eo,{centerAffix:!g.value,focused:c.value}),{...s,default:r=>{let{id:o,isDisabled:a,isDirty:u,isReadonly:f,isValid:m}=r;return createVNode(VField,mergeProps({ref:k,onMousedown:T,onClick:I,"onClick:clear":P,"onClick:prependInner":n["onClick:prependInner"],"onClick:appendInner":n["onClick:appendInner"],role:n.role},no,{id:o.value,active:E.value||u.value,dirty:u.value||n.dirty,disabled:a.value,focused:c.value,error:!1===m.value}),{...s,default:r=>{let{props:{class:o,...c}}=r;const u=withDirectives(createVNode("input",mergeProps({ref:w,value:l.value,onInput:D,autofocus:n.autofocus,readonly:f.value,disabled:a.value,name:n.name,placeholder:n.placeholder,size:1,type:n.type,onFocus:C,onBlur:d},c,O),null),[[resolveDirective("intersect"),{handler:b},null,{once:!0}]]);return createVNode(Fragment,null,[n.prefix&&createVNode("span",{class:"v-text-field__prefix"},[createVNode("span",{class:"v-text-field__prefix__text"},[n.prefix])]),s.default?createVNode("div",{class:o,"data-no-activator":""},[s.default(),u]):cloneVNode(u,{class:o}),n.suffix&&createVNode("span",{class:"v-text-field__suffix"},[createVNode("span",{class:"v-text-field__suffix__text"},[n.suffix])])])}})},details:a?o=>createVNode(Fragment,null,[s.details?.(o),r&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:n.persistentCounter||c.value,value:f.value,max:m.value,disabled:n.disabled},s.counter)])]):void 0})})),forwardRefs({},S,k,w)}}),makeVVirtualScrollItemProps=propsFactory({renderless:Boolean,...makeComponentProps()},"VVirtualScrollItem"),VVirtualScrollItem=genericComponent()({name:"VVirtualScrollItem",inheritAttrs:!1,props:makeVVirtualScrollItemProps(),emits:{"update:height":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{resizeRef:l,contentRect:c}=useResizeObserver(void 0,"border");watch((()=>c.value?.height),(n=>{null!=n&&a("update:height",n)})),useRender((()=>n.renderless?createVNode(Fragment,null,[s.default?.({itemRef:l})]):createVNode("div",mergeProps({ref:l,class:["v-virtual-scroll__item",n.class],style:n.style},o),[s.default?.()])))}}),UP=-1,DOWN=1,BUFFER_PX=100,makeVirtualProps=propsFactory({itemHeight:{type:[Number,String],default:null},height:[Number,String]},"virtual");function useVirtual(n,r){const o=useDisplay(),a=shallowRef(0);watchEffect((()=>{a.value=parseFloat(n.itemHeight||0)}));const s=shallowRef(0),l=shallowRef(Math.ceil((parseInt(n.height)||o.height.value)/(a.value||16))||1),c=shallowRef(0),u=shallowRef(0),d=ref(),f=ref();let m=0;const{resizeRef:g,contentRect:b}=useResizeObserver();watchEffect((()=>{g.value=d.value}));const S=computed((()=>d.value===document.documentElement?o.height.value:b.value?.height||parseInt(n.height)||0)),k=computed((()=>!!(d.value&&f.value&&S.value&&a.value)));let w=Array.from({length:r.value.length}),E=Array.from({length:r.value.length});const C=shallowRef(0);let T=-1;const I=debounce((()=>{const n=performance.now();E[0]=0;const o=r.value.length;for(let r=1;r<=o-1;r++)E[r]=(E[r-1]||0)+(w[r-1]||a.value);C.value=Math.max(C.value,performance.now()-n)}),C),P=watch(k,(n=>{n&&(P(),m=f.value.offsetTop,I.immediate(),io(),~T&&nextTick$2((()=>{IN_BROWSER&&window.requestAnimationFrame((()=>{lo(T),T=-1}))})))}));function D(n){return n=clamp(n,0,r.value.length-1),E[n]||0}function O(n){return binaryClosest(E,n)}onScopeDispose((()=>{I.clear()}));let A=0,eo=0,no=0;watch(S,((n,r)=>{r&&(io(),n<r&&requestAnimationFrame((()=>{eo=0,io()})))}));let ro=-1;function oo(){d.value&&f.value&&(eo=0,no=0,window.clearTimeout(ro),io())}let ao=-1;function io(){cancelAnimationFrame(ao),ao=requestAnimationFrame(so)}function so(){if(!d.value||!S.value)return;const n=A-m,o=Math.sign(eo),a=clamp(O(Math.max(0,n-BUFFER_PX)),0,r.value.length),f=clamp(O(n+S.value+BUFFER_PX)+1,a+1,r.value.length);if((o!==UP||a<s.value)&&(o!==DOWN||f>l.value)){const n=D(s.value)-D(a),o=D(f)-D(l.value);Math.max(n,o)>BUFFER_PX?(s.value=a,l.value=f):(a<=0&&(s.value=a),f>=r.value.length&&(l.value=f))}c.value=D(s.value),u.value=D(r.value.length)-D(l.value)}function lo(n){const r=D(n);!d.value||n&&!r?T=n:d.value.scrollTop=r}const co=computed((()=>r.value.slice(s.value,l.value).map(((n,r)=>({raw:n,index:r+s.value,key:isObject$1(n)&&"value"in n?n.value:r+s.value})))));return watch(r,(()=>{w=Array.from({length:r.value.length}),E=Array.from({length:r.value.length}),I.immediate(),io()}),{deep:!0}),{calculateVisibleItems:io,containerRef:d,markerRef:f,computedItems:co,paddingTop:c,paddingBottom:u,scrollToIndex:lo,handleScroll:function(){if(!d.value||!f.value)return;const n=d.value.scrollTop,r=performance.now();r-no>500?(eo=Math.sign(n-A),m=f.value.offsetTop):eo=n-A,A=n,no=r,window.clearTimeout(ro),ro=window.setTimeout(oo,500),io()},handleScrollend:oo,handleItemResize:function(n,r){const o=w[n],s=a.value;a.value=s?Math.min(a.value,r):r,o===r&&s===a.value||(w[n]=r,I())}}}function binaryClosest(n,r){let o=n.length-1,a=0,s=0,l=null,c=-1;if(n[o]<r)return o;for(;a<=o;)if(s=a+o>>1,l=n[s],l>r)o=s-1;else{if(!(l<r))return l===r?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(n,r){let{slots:o}=r;const a=getCurrentInstance("VVirtualScroll"),{dimensionStyles:s}=useDimension(n),{calculateVisibleItems:l,containerRef:c,markerRef:u,handleScroll:d,handleScrollend:f,handleItemResize:m,scrollToIndex:g,paddingTop:b,paddingBottom:S,computedItems:k}=useVirtual(n,toRef(n,"items"));return useToggleScope((()=>n.renderless),(()=>{function n(){const n=arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"addEventListener":"removeEventListener";c.value===document.documentElement?(document[n]("scroll",d,{passive:!0}),document[n]("scrollend",f)):(c.value?.[n]("scroll",d,{passive:!0}),c.value?.[n]("scrollend",f))}onMounted((()=>{c.value=getScrollParent(a.vnode.el,!0),n(!0)})),onScopeDispose(n)})),useRender((()=>{const r=k.value.map((r=>createVNode(VVirtualScrollItem,{key:r.key,renderless:n.renderless,"onUpdate:height":n=>m(r.index,n)},{default:n=>o.default?.({item:r.raw,index:r.index,...n})})));return n.renderless?createVNode(Fragment,null,[createVNode("div",{ref:u,class:"v-virtual-scroll__spacer",style:{paddingTop:convertToUnit(b.value)}},null),r,createVNode("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:convertToUnit(S.value)}},null)]):createVNode("div",{ref:c,class:["v-virtual-scroll",n.class],onScrollPassive:d,onScrollend:f,style:[s.value,n.style]},[createVNode("div",{ref:u,class:"v-virtual-scroll__container",style:{paddingTop:convertToUnit(b.value),paddingBottom:convertToUnit(S.value)}},[r])])})),{calculateVisibleItems:l,scrollToIndex:g}}});function useScrolling(n,r){const o=shallowRef(!1);let a;return{onScrollPassive:function(n){cancelAnimationFrame(a),o.value=!0,a=requestAnimationFrame((()=>{a=requestAnimationFrame((()=>{o.value=!1}))}))},onKeydown:async function(a){if("Tab"===a.key&&r.value?.focus(),!["PageDown","PageUp","Home","End"].includes(a.key))return;const s=n.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((n=>requestAnimationFrame(n))),await new Promise((n=>requestAnimationFrame(n))),await new Promise((n=>requestAnimationFrame(n))),await new Promise((n=>{if(o.value){const r=watch(o,(()=>{r(),n()}))}else n()}))}();const l=s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if("PageDown"===a.key||"Home"===a.key){const n=s.getBoundingClientRect().top;for(const r of l)if(r.getBoundingClientRect().top>=n){r.focus();break}}else{const n=s.getBoundingClientRect().bottom;for(const r of[...l].reverse())if(r.getBoundingClientRect().bottom<=n){r.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":n=>!0,"update:modelValue":n=>!0,"update:menu":n=>!0},setup(n,r){let{slots:o}=r;const{t:a}=useLocale(),s=ref(),l=ref(),c=ref(),u=useProxiedModel(n,"menu"),d=computed({get:()=>u.value,set:n=>{u.value&&!n&&l.value?.ΨopenChildren.size||(u.value=n)}}),{items:f,transformIn:m,transformOut:g}=useItems(n),b=useProxiedModel(n,"modelValue",[],(n=>m(null===n?[null]:wrapInArray(n))),(r=>{const o=g(r);return n.multiple?o:o[0]??null})),S=computed((()=>"function"==typeof n.counterValue?n.counterValue(b.value):"number"==typeof n.counterValue?n.counterValue:b.value.length)),k=useForm(n),w=computed((()=>b.value.map((n=>n.value)))),E=shallowRef(!1),C=computed((()=>d.value?n.closeText:n.openText));let T,I="";const P=computed((()=>n.hideSelected?f.value.filter((r=>!b.value.some((o=>(n.valueComparator||deepEqual)(o,r))))):f.value)),D=computed((()=>n.hideNoData&&!P.value.length||k.isReadonly.value||k.isDisabled.value)),O=computed((()=>({...n.menuProps,activatorProps:{...n.menuProps?.activatorProps||{},"aria-haspopup":"listbox"}}))),A=ref(),eo=useScrolling(A,s);function no(r){n.openOnClear&&(d.value=!0)}function ro(){D.value||(d.value=!d.value)}function oo(n){checkPrintable(n)&&ao(n)}function ao(n){if(!n.key||k.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(n.key)&&n.preventDefault(),["Enter","ArrowDown"," "].includes(n.key)&&(d.value=!0),["Escape","Tab"].includes(n.key)&&(d.value=!1),"Home"===n.key?A.value?.focus("first"):"End"===n.key&&A.value?.focus("last");if(!checkPrintable(n))return;const r=performance.now();r-T>1e3&&(I=""),I+=n.key.toLowerCase(),T=r;const o=f.value.find((n=>n.title.toLowerCase().startsWith(I)));if(void 0!==o){b.value=[o];const n=P.value.indexOf(o);IN_BROWSER&&window.requestAnimationFrame((()=>{n>=0&&c.value?.scrollToIndex(n)}))}}function io(r){let o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!r.props.disabled)if(n.multiple){const a=b.value.findIndex((o=>(n.valueComparator||deepEqual)(o.value,r.value))),s=null==o?!~a:o;if(~a){const n=s?[...b.value,r]:[...b.value];n.splice(a,1),b.value=n}else s&&(b.value=[...b.value,r])}else{const n=!1!==o;b.value=n?[r]:[],nextTick$2((()=>{d.value=!1}))}}function so(n){A.value?.$el.contains(n.relatedTarget)||(d.value=!1)}function lo(){n.eager&&c.value?.calculateVisibleItems()}function co(){E.value&&s.value?.focus()}function uo(n){E.value=!0}function po(n){if(null==n)b.value=[];else if(matchesSelector$2(s.value,":autofill")||matchesSelector$2(s.value,":-webkit-autofill")){const r=f.value.find((r=>r.title===n));r&&io(r)}else s.value&&(s.value.value="")}return watch(d,(()=>{if(!n.hideSelected&&d.value&&b.value.length){const r=P.value.findIndex((r=>b.value.some((o=>(n.valueComparator||deepEqual)(o.value,r.value)))));IN_BROWSER&&window.requestAnimationFrame((()=>{r>=0&&c.value?.scrollToIndex(r)}))}})),watch((()=>n.items),((n,r)=>{d.value||E.value&&!r.length&&n.length&&(d.value=!0)})),useRender((()=>{const r=!(!n.chips&&!o.chip),u=!!(!n.hideNoData||P.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),f=b.value.length>0,m=VTextField.filterProps(n),g=f||!E.value&&n.label&&!n.persistentPlaceholder?void 0:n.placeholder;return createVNode(VTextField,mergeProps({ref:s},m,{modelValue:b.value.map((n=>n.props.value)).join(", "),"onUpdate:modelValue":po,focused:E.value,"onUpdate:focused":n=>E.value=n,validationValue:b.externalValue,counterValue:S.value,dirty:f,class:["v-select",{"v-select--active-menu":d.value,"v-select--chips":!!n.chips,["v-select--"+(n.multiple?"multiple":"single")]:!0,"v-select--selected":b.value.length,"v-select--selection-slot":!!o.selection},n.class],style:n.style,inputmode:"none",placeholder:g,"onClick:clear":no,"onMousedown:control":ro,onBlur:so,onKeydown:ao,"aria-label":a(C.value),title:a(C.value)}),{...o,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:l,modelValue:d.value,"onUpdate:modelValue":n=>d.value=n,activator:"parent",contentClass:"v-select__content",disabled:D.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:lo,onAfterLeave:co},O.value),{default:()=>[u&&createVNode(VList,mergeProps({ref:A,selected:w.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:n=>n.preventDefault(),onKeydown:oo,onFocusin:uo,tabindex:"-1","aria-live":"polite",color:n.itemColor??n.color},eo,n.listProps),{default:()=>[o["prepend-item"]?.(),!P.value.length&&!n.hideNoData&&(o["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:a(n.noDataText)},null)),createVNode(VVirtualScroll,{ref:c,renderless:!0,items:P.value},{default:r=>{let{item:a,index:s,itemRef:l}=r;const c=mergeProps(a.props,{ref:l,key:a.value,onClick:()=>io(a,null)});return o.item?.({item:a,index:s,props:c})??createVNode(VListItem,mergeProps(c,{role:"option"}),{prepend:r=>{let{isSelected:o}=r;return createVNode(Fragment,null,[n.multiple&&!n.hideSelected?createVNode(VCheckboxBtn,{key:a.value,modelValue:o,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)])}})}}),o["append-item"]?.()]})]}),b.value.map(((a,s)=>{function l(n){n.stopPropagation(),n.preventDefault(),io(a,!1)}const c={"onClick:close":l,onKeydown(n){"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.stopPropagation(),l(n))},onMousedown(n){n.preventDefault(),n.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},u=r?!!o.chip:!!o.selection,d=u?ensureValidVNode(r?o.chip({item:a,index:s,props:c}):o.selection({item:a,index:s})):void 0;if(!u||d)return createVNode("div",{key:a.value,class:"v-select__selection"},[r?o.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:n.closableChips,size:"small",text:a.title}}},{default:()=>[d]}):createVNode(VChip,mergeProps({key:"chip",closable:n.closableChips,size:"small",text:a.title,disabled:a.props.disabled},c),null):d??createVNode("span",{class:"v-select__selection-text"},[a.title,n.multiple&&s<b.value.length-1&&createVNode("span",{class:"v-select__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return createVNode(Fragment,null,[o["append-inner"]?.(...a),n.menuIcon?createVNode(VIcon,{class:"v-select__menu-icon",icon:n.menuIcon},null):void 0])}})})),forwardRefs({isFocused:E,menu:d,select:io},s)}}),defaultFilter=(n,r,o)=>null==n||null==r?-1:n.toString().toLocaleLowerCase().indexOf(r.toString().toLocaleLowerCase()),makeFilterProps=propsFactory({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function filterItems(n,r,o){const a=[],s=o?.default??defaultFilter,l=!!o?.filterKeys&&wrapInArray(o.filterKeys),c=Object.keys(o?.customKeyFilter??{}).length;if(!n?.length)return a;e:for(let u=0;u<n.length;u++){const[d,f=d]=wrapInArray(n[u]),m={},g={};let b=-1;if((r||c>0)&&!o?.noFilter){if("object"==typeof d){const n=l||Object.keys(f);for(const a of n){const n=getPropertyFromItem(f,a),l=o?.customKeyFilter?.[a];if(b=l?l(n,r,d):s(n,r,d),-1!==b&&!1!==b)l?m[a]=b:g[a]=b;else if("every"===o?.filterMode)continue e}}else b=s(d,r,d),-1!==b&&!1!==b&&(g.title=b);const n=Object.keys(g).length,a=Object.keys(m).length;if(!n&&!a)continue;if("union"===o?.filterMode&&a!==c&&!n)continue;if("intersection"===o?.filterMode&&(a!==c||!n))continue}a.push({index:u,matches:{...g,...m}})}return a}function useFilter(n,r,o,a){const s=shallowRef([]),l=shallowRef(new Map),c=computed((()=>a?.transform?unref(r).map((n=>[n,a.transform(n)])):unref(r)));return watchEffect((()=>{const u="function"==typeof o?o():unref(o),d="string"!=typeof u&&"number"!=typeof u?"":String(u),f=filterItems(c.value,d,{customKeyFilter:{...n.customKeyFilter,...unref(a?.customKeyFilter)},default:n.customFilter,filterKeys:n.filterKeys,filterMode:n.filterMode,noFilter:n.noFilter}),m=unref(r),g=[],b=new Map;f.forEach((n=>{let{index:r,matches:o}=n;const a=m[r];g.push(a),b.set(a.value,o)})),s.value=g,l.value=b})),{filteredItems:s,filteredMatches:l,getMatches:function(n){return l.value.get(n.value)}}}function highlightResult$1(n,r,o){if(null==r)return n;if(Array.isArray(r))throw new Error("Multiple matches is not implemented");return"number"==typeof r&&~r?createVNode(Fragment,null,[createVNode("span",{class:"v-autocomplete__unmask"},[n.substr(0,r)]),createVNode("span",{class:"v-autocomplete__mask"},[n.substr(r,o)]),createVNode("span",{class:"v-autocomplete__unmask"},[n.substr(r+o)])]):n}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":n=>!0,"update:search":n=>!0,"update:modelValue":n=>!0,"update:menu":n=>!0},setup(n,r){let{slots:o}=r;const{t:a}=useLocale(),s=ref(),l=shallowRef(!1),c=shallowRef(!0),u=shallowRef(!1),d=ref(),f=ref(),m=useProxiedModel(n,"menu"),g=computed({get:()=>m.value,set:n=>{m.value&&!n&&d.value?.ΨopenChildren.size||(m.value=n)}}),b=shallowRef(-1),S=computed((()=>s.value?.color)),k=computed((()=>g.value?n.closeText:n.openText)),{items:w,transformIn:E,transformOut:C}=useItems(n),{textColorClasses:T,textColorStyles:I}=useTextColor(S),P=useProxiedModel(n,"search",""),D=useProxiedModel(n,"modelValue",[],(n=>E(null===n?[null]:wrapInArray(n))),(r=>{const o=C(r);return n.multiple?o:o[0]??null})),O=computed((()=>"function"==typeof n.counterValue?n.counterValue(D.value):"number"==typeof n.counterValue?n.counterValue:D.value.length)),A=useForm(n),{filteredItems:eo,getMatches:no}=useFilter(n,w,(()=>c.value?"":P.value)),ro=computed((()=>n.hideSelected?eo.value.filter((n=>!D.value.some((r=>r.value===n.value)))):eo.value)),oo=computed((()=>!(!n.chips&&!o.chip))),ao=computed((()=>oo.value||!!o.selection)),io=computed((()=>D.value.map((n=>n.props.value)))),so=computed((()=>(!0===n.autoSelectFirst||"exact"===n.autoSelectFirst&&P.value===ro.value[0]?.title)&&ro.value.length>0&&!c.value&&!u.value)),lo=computed((()=>n.hideNoData&&!ro.value.length||A.isReadonly.value||A.isDisabled.value)),co=ref(),uo=useScrolling(co,s);function po(r){n.openOnClear&&(g.value=!0),P.value=""}function fo(){lo.value||(g.value=!0)}function ho(n){lo.value||(l.value&&(n.preventDefault(),n.stopPropagation()),g.value=!g.value)}function mo(n){" "!==n.key&&checkPrintable(n)&&s.value?.focus()}function go(r){if(A.isReadonly.value)return;const o=s.value.selectionStart,a=D.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(r.key)&&r.preventDefault(),["Enter","ArrowDown"].includes(r.key)&&(g.value=!0),["Escape"].includes(r.key)&&(g.value=!1),so.value&&["Enter","Tab"].includes(r.key)&&!D.value.some((n=>{let{value:r}=n;return r===ro.value[0].value}))&&Eo(ro.value[0]),"ArrowDown"===r.key&&so.value&&co.value?.focus("next"),["Backspace","Delete"].includes(r.key)){if(!n.multiple&&ao.value&&D.value.length>0&&!P.value)return Eo(D.value[0],!1);if(~b.value){r.preventDefault();const n=b.value;Eo(D.value[b.value],!1),b.value=n>=a-1?a-2:n}else"Backspace"!==r.key||P.value||(b.value=a-1)}else if(n.multiple)if("ArrowLeft"===r.key){if(b.value<0&&o>0)return;const n=b.value>-1?b.value-1:a-1;D.value[n]?b.value=n:(b.value=-1,s.value.setSelectionRange(P.value?.length,P.value?.length))}else if("ArrowRight"===r.key){if(b.value<0)return;const n=b.value+1;D.value[n]?b.value=n:(b.value=-1,s.value.setSelectionRange(0,0))}else~b.value&&checkPrintable(r)&&(b.value=-1)}function vo(n){if(matchesSelector$2(s.value,":autofill")||matchesSelector$2(s.value,":-webkit-autofill")){const r=w.value.find((r=>r.title===n.target.value));r&&Eo(r)}}function yo(){n.eager&&f.value?.calculateVisibleItems()}function bo(){l.value&&(c.value=!0,s.value?.focus())}function _o(n){l.value=!0,setTimeout((()=>{u.value=!0}))}function So(n){u.value=!1}function ko(r){null!=r&&(""!==r||n.multiple||ao.value)||(D.value=[])}const wo=shallowRef(!1);function Eo(r){let o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(r&&!r.props.disabled)if(n.multiple){const a=D.value.findIndex((o=>(n.valueComparator||deepEqual)(o.value,r.value))),s=null==o?!~a:o;if(~a){const n=s?[...D.value,r]:[...D.value];n.splice(a,1),D.value=n}else s&&(D.value=[...D.value,r]);n.clearOnSelect&&(P.value="")}else{const n=!1!==o;D.value=n?[r]:[],P.value=n&&!ao.value?r.title:"",nextTick$2((()=>{g.value=!1,c.value=!0}))}}return watch(l,((r,o)=>{r!==o&&(r?(wo.value=!0,P.value=n.multiple||ao.value?"":String(D.value.at(-1)?.props.title??""),c.value=!0,nextTick$2((()=>wo.value=!1))):(n.multiple||null!=P.value||(D.value=[]),g.value=!1,D.value.some((n=>{let{title:r}=n;return r===P.value}))||(P.value=""),b.value=-1))})),watch(P,(n=>{l.value&&!wo.value&&(n&&(g.value=!0),c.value=!n)})),watch(g,(()=>{if(!n.hideSelected&&g.value&&D.value.length){const n=ro.value.findIndex((n=>D.value.some((r=>n.value===r.value))));IN_BROWSER&&window.requestAnimationFrame((()=>{n>=0&&f.value?.scrollToIndex(n)}))}})),watch((()=>n.items),((n,r)=>{g.value||l.value&&!r.length&&n.length&&(g.value=!0)})),useRender((()=>{const r=!!(!n.hideNoData||ro.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),u=D.value.length>0,m=VTextField.filterProps(n);return createVNode(VTextField,mergeProps({ref:s},m,{modelValue:P.value,"onUpdate:modelValue":[n=>P.value=n,ko],focused:l.value,"onUpdate:focused":n=>l.value=n,validationValue:D.externalValue,counterValue:O.value,dirty:u,onChange:vo,class:["v-autocomplete","v-autocomplete--"+(n.multiple?"multiple":"single"),{"v-autocomplete--active-menu":g.value,"v-autocomplete--chips":!!n.chips,"v-autocomplete--selection-slot":!!ao.value,"v-autocomplete--selecting-index":b.value>-1},n.class],style:n.style,readonly:A.isReadonly.value,placeholder:u?void 0:n.placeholder,"onClick:clear":po,"onMousedown:control":fo,onKeydown:go}),{...o,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:d,modelValue:g.value,"onUpdate:modelValue":n=>g.value=n,activator:"parent",contentClass:"v-autocomplete__content",disabled:lo.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:yo,onAfterLeave:bo},n.menuProps),{default:()=>[r&&createVNode(VList,mergeProps({ref:co,selected:io.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:n=>n.preventDefault(),onKeydown:mo,onFocusin:_o,onFocusout:So,tabindex:"-1","aria-live":"polite",color:n.itemColor??n.color},uo,n.listProps),{default:()=>[o["prepend-item"]?.(),!ro.value.length&&!n.hideNoData&&(o["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:a(n.noDataText)},null)),createVNode(VVirtualScroll,{ref:f,renderless:!0,items:ro.value},{default:r=>{let{item:a,index:s,itemRef:l}=r;const u=mergeProps(a.props,{ref:l,key:a.value,active:!(!so.value||0!==s)||void 0,onClick:()=>Eo(a,null)});return o.item?.({item:a,index:s,props:u})??createVNode(VListItem,mergeProps(u,{role:"option"}),{prepend:r=>{let{isSelected:o}=r;return createVNode(Fragment,null,[n.multiple&&!n.hideSelected?createVNode(VCheckboxBtn,{key:a.value,modelValue:o,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,no(a)?.title,P.value?.length??0)})}}),o["append-item"]?.()]})]}),D.value.map(((r,a)=>{function s(n){n.stopPropagation(),n.preventDefault(),Eo(r,!1)}const l={"onClick:close":s,onKeydown(n){"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.stopPropagation(),s(n))},onMousedown(n){n.preventDefault(),n.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},c=oo.value?!!o.chip:!!o.selection,u=c?ensureValidVNode(oo.value?o.chip({item:r,index:a,props:l}):o.selection({item:r,index:a})):void 0;if(!c||u)return createVNode("div",{key:r.value,class:["v-autocomplete__selection",a===b.value&&["v-autocomplete__selection--selected",T.value]],style:a===b.value?I.value:{}},[oo.value?o.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:n.closableChips,size:"small",text:r.title}}},{default:()=>[u]}):createVNode(VChip,mergeProps({key:"chip",closable:n.closableChips,size:"small",text:r.title,disabled:r.props.disabled},l),null):u??createVNode("span",{class:"v-autocomplete__selection-text"},[r.title,n.multiple&&a<D.value.length-1&&createVNode("span",{class:"v-autocomplete__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var r=arguments.length,s=new Array(r),l=0;l<r;l++)s[l]=arguments[l];return createVNode(Fragment,null,[o["append-inner"]?.(...s),n.menuIcon?createVNode(VIcon,{class:"v-autocomplete__menu-icon",icon:n.menuIcon,onMousedown:ho,onClick:noop$2,"aria-label":a(k.value),title:a(k.value),tabindex:"-1"},null):void 0])}})})),forwardRefs({isFocused:l,isPristine:c,menu:g,search:P,filteredItems:eo,select:Eo},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(n,r){const{backgroundColorClasses:o,backgroundColorStyles:a}=useBackgroundColor(toRef(n,"color")),{roundedClasses:s}=useRounded(n),{t:l}=useLocale(),{textColorClasses:c,textColorStyles:u}=useTextColor(toRef(n,"textColor")),{themeClasses:d}=useTheme(),{locationStyles:f}=useLocation(n,!0,(r=>(n.floating?n.dot?2:4:n.dot?8:12)+(["top","bottom"].includes(r)?+(n.offsetY??0):["left","right"].includes(r)?+(n.offsetX??0):0)));return useRender((()=>{const m=Number(n.content),g=!n.max||isNaN(m)?n.content:m<=+n.max?m:`${n.max}+`,[b,S]=pickWithRest(r.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return createVNode(n.tag,mergeProps({class:["v-badge",{"v-badge--bordered":n.bordered,"v-badge--dot":n.dot,"v-badge--floating":n.floating,"v-badge--inline":n.inline},n.class]},S,{style:n.style}),{default:()=>[createVNode("div",{class:"v-badge__wrapper"},[r.slots.default?.(),createVNode(MaybeTransition,{transition:n.transition},{default:()=>[withDirectives(createVNode("span",mergeProps({class:["v-badge__badge",d.value,o.value,s.value,c.value],style:[a.value,u.value,n.inline?{}:f.value],"aria-atomic":"true","aria-label":l(n.label,m),"aria-live":"polite",role:"status"},b),[n.dot?void 0:r.slots.badge?r.slots.badge?.():n.icon?createVNode(VIcon,{icon:n.icon},null):g]),[[vShow,n.modelValue]])]})])]})})),{}}}),makeVBannerActionsProps=propsFactory({color:String,density:String,...makeComponentProps()},"VBannerActions"),VBannerActions=genericComponent()({name:"VBannerActions",props:makeVBannerActionsProps(),setup(n,r){let{slots:o}=r;return provideDefaults({VBtn:{color:n.color,density:n.density,slim:!0,variant:"text"}}),useRender((()=>createVNode("div",{class:["v-banner-actions",n.class],style:n.style},[o.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(n,r){let{slots:o}=r;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(n,"bgColor"),{borderClasses:l}=useBorder(n),{densityClasses:c}=useDensity(n),{displayClasses:u,mobile:d}=useDisplay(n),{dimensionStyles:f}=useDimension(n),{elevationClasses:m}=useElevation(n),{locationStyles:g}=useLocation(n),{positionClasses:b}=usePosition(n),{roundedClasses:S}=useRounded(n),{themeClasses:k}=provideTheme(n),w=toRef(n,"color"),E=toRef(n,"density");provideDefaults({VBannerActions:{color:w,density:E}}),useRender((()=>{const r=!(!n.text&&!o.text),C=!(!n.avatar&&!n.icon),T=!(!C&&!o.prepend);return createVNode(n.tag,{class:["v-banner",{"v-banner--stacked":n.stacked||d.value,"v-banner--sticky":n.sticky,[`v-banner--${n.lines}-line`]:!!n.lines},k.value,a.value,l.value,c.value,u.value,m.value,b.value,S.value,n.class],style:[s.value,f.value,g.value,n.style],role:"banner"},{default:()=>[T&&createVNode("div",{key:"prepend",class:"v-banner__prepend"},[o.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!C,defaults:{VAvatar:{color:w.value,density:E.value,icon:n.icon,image:n.avatar}}},o.prepend):createVNode(VAvatar,{key:"prepend-avatar",color:w.value,density:E.value,icon:n.icon,image:n.avatar},null)]),createVNode("div",{class:"v-banner__content"},[r&&createVNode(VBannerText,{key:"text"},{default:()=>[o.text?.()??n.text]}),o.default?.()]),o.actions&&createVNode(VBannerActions,{key:"actions"},o.actions)]})}))}}),makeVBottomNavigationProps=propsFactory({baseColor:String,bgColor:String,color:String,grow:Boolean,mode:{type:String,validator:n=>!n||["horizontal","shift"].includes(n)},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":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const{themeClasses:a}=useTheme(),{borderClasses:s}=useBorder(n),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(n,"bgColor")),{densityClasses:u}=useDensity(n),{elevationClasses:d}=useElevation(n),{roundedClasses:f}=useRounded(n),{ssrBootStyles:m}=useSsrBoot(),g=computed((()=>Number(n.height)-("comfortable"===n.density?8:0)-("compact"===n.density?16:0))),b=useProxiedModel(n,"active",n.active),{layoutItemStyles:S}=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:computed((()=>"bottom")),layoutSize:computed((()=>b.value?g.value:0)),elementSize:g,active:b,absolute:toRef(n,"absolute")});return useGroup(n,VBtnToggleSymbol),provideDefaults({VBtn:{baseColor:toRef(n,"baseColor"),color:toRef(n,"color"),density:toRef(n,"density"),stacked:computed((()=>"horizontal"!==n.mode)),variant:"text"}},{scoped:!0}),useRender((()=>createVNode(n.tag,{class:["v-bottom-navigation",{"v-bottom-navigation--active":b.value,"v-bottom-navigation--grow":n.grow,"v-bottom-navigation--shift":"shift"===n.mode},a.value,l.value,s.value,u.value,d.value,f.value,n.class],style:[c.value,S.value,{height:convertToUnit(g.value)},m.value,n.style]},{default:()=>[o.default&&createVNode("div",{class:"v-bottom-navigation__content"},[o.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":n=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useProxiedModel(n,"modelValue"),{scopeId:l}=useScopeId(),c=ref();function u(n){const r=n.relatedTarget,o=n.target;if(r!==o&&c.value?.contentEl&&c.value?.globalTop&&![document,c.value.contentEl].includes(o)&&!c.value.contentEl.contains(o)){const n=focusableChildren(c.value.contentEl);if(!n.length)return;const o=n[0],a=n[n.length-1];r===o?a.focus():o.focus()}}function d(){o("afterEnter"),c.value?.contentEl&&!c.value.contentEl.contains(document.activeElement)&&c.value.contentEl.focus({preventScroll:!0})}function f(){o("afterLeave")}return onBeforeUnmount((()=>{document.removeEventListener("focusin",u)})),IN_BROWSER&&watch((()=>s.value&&n.retainFocus),(n=>{n?document.addEventListener("focusin",u):document.removeEventListener("focusin",u)}),{immediate:!0}),watch(s,(async n=>{n||(await nextTick$2(),c.value.activatorEl?.focus({preventScroll:!0}))})),useRender((()=>{const r=VOverlay.filterProps(n),o=mergeProps({"aria-haspopup":"dialog"},n.activatorProps),u=mergeProps({tabindex:-1},n.contentProps);return createVNode(VOverlay,mergeProps({ref:c,class:["v-dialog",{"v-dialog--fullscreen":n.fullscreen,"v-dialog--scrollable":n.scrollable},n.class],style:n.style},r,{modelValue:s.value,"onUpdate:modelValue":n=>s.value=n,"aria-modal":"true",activatorProps:o,contentProps:u,height:n.fullscreen?void 0:n.height,width:n.fullscreen?void 0:n.width,maxHeight:n.fullscreen?void 0:n.maxHeight,maxWidth:n.fullscreen?void 0:n.maxWidth,role:"dialog",onAfterEnter:d,onAfterLeave:f},l),{activator:a.activator,default:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return createVNode(VDefaultsProvider,{root:"VDialog"},{default:()=>[a.default?.(...r)]})}})})),forwardRefs({},c)}}),makeVBottomSheetProps=propsFactory({inset:Boolean,...makeVDialogProps({transition:"bottom-sheet-transition"})},"VBottomSheet"),VBottomSheet=genericComponent()({name:"VBottomSheet",props:makeVBottomSheetProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue");return useRender((()=>{const r=VDialog.filterProps(n);return createVNode(VDialog,mergeProps(r,{contentClass:["v-bottom-sheet__content",n.contentClass],modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,class:["v-bottom-sheet",{"v-bottom-sheet--inset":n.inset},n.class],style:n.style}),o)})),{}}}),makeVBreadcrumbsDividerProps=propsFactory({divider:[Number,String],...makeComponentProps()},"VBreadcrumbsDivider"),VBreadcrumbsDivider=genericComponent()({name:"VBreadcrumbsDivider",props:makeVBreadcrumbsDividerProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode("li",{"aria-hidden":"true",class:["v-breadcrumbs-divider",n.class],style:n.style},[o?.default?.()??n.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(n,r){let{slots:o,attrs:a}=r;const s=useLink(n,a),l=computed((()=>n.active||s.isActive?.value)),c=computed((()=>l.value?n.activeColor:n.color)),{textColorClasses:u,textColorStyles:d}=useTextColor(c);return useRender((()=>createVNode(n.tag,{class:["v-breadcrumbs-item",{"v-breadcrumbs-item--active":l.value,"v-breadcrumbs-item--disabled":n.disabled,[`${n.activeClass}`]:l.value&&n.activeClass},u.value,n.class],style:[d.value,n.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),[o.default?.()??n.title]):o.default?.()??n.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(n,r){let{slots:o}=r;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(n,"bgColor")),{densityClasses:l}=useDensity(n),{roundedClasses:c}=useRounded(n);provideDefaults({VBreadcrumbsDivider:{divider:toRef(n,"divider")},VBreadcrumbsItem:{activeClass:toRef(n,"activeClass"),activeColor:toRef(n,"activeColor"),color:toRef(n,"color"),disabled:toRef(n,"disabled")}});const u=computed((()=>n.items.map((n=>"string"==typeof n?{item:{title:n},raw:n}:{item:n,raw:n}))));return useRender((()=>{const r=!(!o.prepend&&!n.icon);return createVNode(n.tag,{class:["v-breadcrumbs",a.value,l.value,c.value,n.class],style:[s.value,n.style]},{default:()=>[r&&createVNode("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[o.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!n.icon,defaults:{VIcon:{icon:n.icon,start:!0}}},o.prepend):createVNode(VIcon,{key:"prepend-icon",start:!0,icon:n.icon},null)]),u.value.map(((n,r,a)=>{let{item:s,raw:l}=n;return createVNode(Fragment,null,[o.item?.({item:s,index:r})??createVNode(VBreadcrumbsItem,mergeProps({key:r,disabled:r>=a.length-1},"string"==typeof s?{title:s}:s),{default:o.title?()=>o.title?.({item:s,index:r}):void 0}),r<a.length-1&&createVNode(VBreadcrumbsDivider,null,{default:o.divider?()=>o.divider?.({item:l,index:r}):void 0})])})),o.default?.()]})})),{}}}),VCardActions=genericComponent()({name:"VCardActions",props:makeComponentProps(),setup(n,r){let{slots:o}=r;return provideDefaults({VBtn:{slim:!0,variant:"text"}}),useRender((()=>createVNode("div",{class:["v-card-actions",n.class],style:n.style},[o.default?.()]))),{}}}),makeVCardSubtitleProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VCardSubtitle"),VCardSubtitle=genericComponent()({name:"VCardSubtitle",props:makeVCardSubtitleProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(n.tag,{class:["v-card-subtitle",n.class],style:[{"--v-card-subtitle-opacity":n.opacity},n.style]},o))),{}}}),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(n,r){let{slots:o}=r;return useRender((()=>{const r=!(!n.prependAvatar&&!n.prependIcon),a=!(!r&&!o.prepend),s=!(!n.appendAvatar&&!n.appendIcon),l=!(!s&&!o.append),c=!(null==n.title&&!o.title),u=!(null==n.subtitle&&!o.subtitle);return createVNode("div",{class:["v-card-item",n.class],style:n.style},[a&&createVNode("div",{key:"prepend",class:"v-card-item__prepend"},[o.prepend?createVNode(VDefaultsProvider,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:n.density,image:n.prependAvatar},VIcon:{density:n.density,icon:n.prependIcon}}},o.prepend):createVNode(Fragment,null,[n.prependAvatar&&createVNode(VAvatar,{key:"prepend-avatar",density:n.density,image:n.prependAvatar},null),n.prependIcon&&createVNode(VIcon,{key:"prepend-icon",density:n.density,icon:n.prependIcon},null)])]),createVNode("div",{class:"v-card-item__content"},[c&&createVNode(VCardTitle,{key:"title"},{default:()=>[o.title?.()??n.title]}),u&&createVNode(VCardSubtitle,{key:"subtitle"},{default:()=>[o.subtitle?.()??n.subtitle]}),o.default?.()]),l&&createVNode("div",{key:"append",class:"v-card-item__append"},[o.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!s,defaults:{VAvatar:{density:n.density,image:n.appendAvatar},VIcon:{density:n.density,icon:n.appendIcon}}},o.append):createVNode(Fragment,null,[n.appendIcon&&createVNode(VIcon,{key:"append-icon",density:n.density,icon:n.appendIcon},null),n.appendAvatar&&createVNode(VAvatar,{key:"append-avatar",density:n.density,image:n.appendAvatar},null)])])])})),{}}}),makeVCardTextProps=propsFactory({opacity:[Number,String],...makeComponentProps(),...makeTagProps()},"VCardText"),VCardText=genericComponent()({name:"VCardText",props:makeVCardTextProps(),setup(n,r){let{slots:o}=r;return useRender((()=>createVNode(n.tag,{class:["v-card-text",n.class],style:[{"--v-card-text-opacity":n.opacity},n.style]},o))),{}}}),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(n,r){let{attrs:o,slots:a}=r;const{themeClasses:s}=provideTheme(n),{borderClasses:l}=useBorder(n),{colorClasses:c,colorStyles:u,variantClasses:d}=useVariant(n),{densityClasses:f}=useDensity(n),{dimensionStyles:m}=useDimension(n),{elevationClasses:g}=useElevation(n),{loaderClasses:b}=useLoader(n),{locationStyles:S}=useLocation(n),{positionClasses:k}=usePosition(n),{roundedClasses:w}=useRounded(n),E=useLink(n,o),C=computed((()=>!1!==n.link&&E.isLink.value)),T=computed((()=>!n.disabled&&!1!==n.link&&(n.link||E.isClickable.value)));return useRender((()=>{const r=C.value?"a":n.tag,o=!(!a.title&&null==n.title),I=!(!a.subtitle&&null==n.subtitle),P=o||I,D=!!(a.append||n.appendAvatar||n.appendIcon),O=!!(a.prepend||n.prependAvatar||n.prependIcon),A=!(!a.image&&!n.image),eo=P||O||D,no=!(!a.text&&null==n.text);return withDirectives(createVNode(r,mergeProps({class:["v-card",{"v-card--disabled":n.disabled,"v-card--flat":n.flat,"v-card--hover":n.hover&&!(n.disabled||n.flat),"v-card--link":T.value},s.value,l.value,c.value,f.value,g.value,b.value,k.value,w.value,d.value,n.class],style:[u.value,m.value,S.value,n.style],onClick:T.value&&E.navigate,tabindex:n.disabled?-1:void 0},E.linkProps),{default:()=>[A&&createVNode("div",{key:"image",class:"v-card__image"},[a.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{cover:!0,src:n.image}}},a.image):createVNode(VImg,{key:"image-img",cover:!0,src:n.image},null)]),createVNode(LoaderSlot,{name:"v-card",active:!!n.loading,color:"boolean"==typeof n.loading?void 0:n.loading},{default:a.loader}),eo&&createVNode(VCardItem,{key:"item",prependAvatar:n.prependAvatar,prependIcon:n.prependIcon,title:n.title,subtitle:n.subtitle,appendAvatar:n.appendAvatar,appendIcon:n.appendIcon},{default:a.item,prepend:a.prepend,title:a.title,subtitle:a.subtitle,append:a.append}),no&&createVNode(VCardText,{key:"text"},{default:()=>[a.text?.()??n.text]}),a.default?.(),a.actions&&createVNode(VCardActions,null,{default:a.actions}),genOverlays(T.value,"v-card")]}),[[resolveDirective("ripple"),T.value&&n.ripple]])})),{}}}),handleGesture=n=>{const{touchstartX:r,touchendX:o,touchstartY:a,touchendY:s}=n;n.offsetX=o-r,n.offsetY=s-a,Math.abs(n.offsetY)<.5*Math.abs(n.offsetX)&&(n.left&&o<r-16&&n.left(n),n.right&&o>r+16&&n.right(n)),Math.abs(n.offsetX)<.5*Math.abs(n.offsetY)&&(n.up&&s<a-16&&n.up(n),n.down&&s>a+16&&n.down(n))};function touchstart(n,r){const o=n.changedTouches[0];r.touchstartX=o.clientX,r.touchstartY=o.clientY,r.start?.({originalEvent:n,...r})}function touchend(n,r){const o=n.changedTouches[0];r.touchendX=o.clientX,r.touchendY=o.clientY,r.end?.({originalEvent:n,...r}),handleGesture(r)}function touchmove(n,r){const o=n.changedTouches[0];r.touchmoveX=o.clientX,r.touchmoveY=o.clientY,r.move?.({originalEvent:n,...r})}function createHandlers(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:n.left,right:n.right,up:n.up,down:n.down,start:n.start,move:n.move,end:n.end};return{touchstart:n=>touchstart(n,r),touchend:n=>touchend(n,r),touchmove:n=>touchmove(n,r)}}function mounted$3(n,r){const o=r.value,a=o?.parent?n.parentElement:n,s=o?.options??{passive:!0},l=r.instance?.$.uid;if(!a||!l)return;const c=createHandlers(r.value);a._touchHandlers=a._touchHandlers??Object.create(null),a._touchHandlers[l]=c,keys$2(c).forEach((n=>{a.addEventListener(n,c[n],s)}))}function unmounted$3(n,r){const o=r.value?.parent?n.parentElement:n,a=r.instance?.$.uid;if(!o?._touchHandlers||!a)return;const s=o._touchHandlers[a];keys$2(s).forEach((n=>{o.removeEventListener(n,s[n])})),delete o._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:n=>"boolean"==typeof n||"hover"===n},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":n=>!0},setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{isRtl:s}=useRtl(),{t:l}=useLocale(),c=useGroup(n,VWindowGroupSymbol),u=ref(),d=computed((()=>s.value?!n.reverse:n.reverse)),f=shallowRef(!1),m=computed((()=>`v-window-${"vertical"===n.direction?"y":"x"}${(d.value?!f.value:f.value)?"-reverse":""}-transition`)),g=shallowRef(0),b=ref(void 0),S=computed((()=>c.items.value.findIndex((n=>c.selected.value.includes(n.id)))));watch(S,((n,r)=>{const o=c.items.value.length,a=o-1;f.value=o<=2?n<r:n===a&&0===r||(0!==n||r!==a)&&n<r})),provide(VWindowSymbol,{transition:m,isReversed:f,transitionCount:g,transitionHeight:b,rootRef:u});const k=computed((()=>n.continuous||0!==S.value)),w=computed((()=>n.continuous||S.value!==c.items.value.length-1));function E(){k.value&&c.prev()}function C(){w.value&&c.next()}const T=computed((()=>{const r=[],a={icon:s.value?n.nextIcon:n.prevIcon,class:"v-window__"+(d.value?"right":"left"),onClick:c.prev,"aria-label":l("$vuetify.carousel.prev")};r.push(k.value?o.prev?o.prev({props:a}):createVNode(VBtn,a,null):createVNode("div",null,null));const u={icon:s.value?n.prevIcon:n.nextIcon,class:"v-window__"+(d.value?"left":"right"),onClick:c.next,"aria-label":l("$vuetify.carousel.next")};return r.push(w.value?o.next?o.next({props:u}):createVNode(VBtn,u,null):createVNode("div",null,null)),r})),I=computed((()=>{if(!1===n.touch)return n.touch;return{...{left:()=>{d.value?E():C()},right:()=>{d.value?C():E()},start:n=>{let{originalEvent:r}=n;r.stopPropagation()}},...!0===n.touch?{}:n.touch}}));return useRender((()=>withDirectives(createVNode(n.tag,{ref:u,class:["v-window",{"v-window--show-arrows-on-hover":"hover"===n.showArrows},a.value,n.class],style:n.style},{default:()=>[createVNode("div",{class:"v-window__container",style:{height:b.value}},[o.default?.({group:c}),!1!==n.showArrows&&createVNode("div",{class:"v-window__controls"},[T.value])]),o.additional?.({group:c})]}),[[resolveDirective("touch"),I.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:n=>Number(n)>0},progress:[Boolean,String],verticalDelimiters:[Boolean,String],...makeVWindowProps({continuous:!0,mandatory:"force",showArrows:!0})},"VCarousel"),VCarousel=genericComponent()({name:"VCarousel",props:makeVCarouselProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{t:s}=useLocale(),l=ref();let c=-1;function u(){n.cycle&&l.value&&(c=window.setTimeout(l.value.group.next,+n.interval>0?+n.interval:6e3))}function d(){window.clearTimeout(c),window.requestAnimationFrame(u)}return watch(a,d),watch((()=>n.interval),d),watch((()=>n.cycle),(n=>{n?d():window.clearTimeout(c)})),onMounted(u),useRender((()=>{const r=VWindow.filterProps(n);return createVNode(VWindow,mergeProps({ref:l},r,{modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,class:["v-carousel",{"v-carousel--hide-delimiter-background":n.hideDelimiterBackground,"v-carousel--vertical-delimiters":n.verticalDelimiters},n.class],style:[{height:convertToUnit(n.height)},n.style]}),{default:o.default,additional:r=>{let{group:l}=r;return createVNode(Fragment,null,[!n.hideDelimiters&&createVNode("div",{class:"v-carousel__controls",style:{left:"left"===n.verticalDelimiters&&n.verticalDelimiters?0:"auto",right:"right"===n.verticalDelimiters?0:"auto"}},[l.items.value.length>0&&createVNode(VDefaultsProvider,{defaults:{VBtn:{color:n.color,icon:n.delimiterIcon,size:"x-small",variant:"text"}},scoped:!0},{default:()=>[l.items.value.map(((n,r)=>{const a={id:`carousel-item-${n.id}`,"aria-label":s("$vuetify.carousel.ariaLabel.delimiter",r+1,l.items.value.length),class:["v-carousel__controls__item",l.isSelected(n.id)&&"v-btn--active"],onClick:()=>l.select(n.id,!0)};return o.item?o.item({props:a,item:n}):createVNode(VBtn,mergeProps(n,a),null)}))]})]),n.progress&&createVNode(VProgressLinear,{class:"v-carousel__progress",color:"string"==typeof n.progress?n.progress:void 0,modelValue:(l.getItemIndex(a.value)+1)/l.items.value.length*100},null)])},prev:o.prev,next:o.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":n=>!0},setup(n,r){let{slots:o}=r;const a=inject$1(VWindowSymbol),s=useGroupItem(n,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!==n.reverseTransition:!1!==n.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(n){c.value&&nextTick$2((()=>{u.value&&c.value&&a&&(a.transitionHeight.value=convertToUnit(n.clientHeight))}))}const b=computed((()=>{const r=a.isReversed.value?n.reverseTransition:n.transition;return!!u.value&&{name:"string"!=typeof r?a.transition.value:r,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:m,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:m,onEnter:g}})),{hasContent:S}=useLazy(n,s.isSelected);return useRender((()=>createVNode(MaybeTransition,{transition:b.value,disabled:!l.value},{default:()=>[withDirectives(createVNode("div",{class:["v-window-item",s.selectedClass.value,n.class],style:n.style},[S.value&&o.default?.()]),[[vShow,s.isSelected.value]])]}))),{groupItem:s}}}),makeVCarouselItemProps=propsFactory({...makeVImgProps(),...makeVWindowItemProps()},"VCarouselItem"),VCarouselItem=genericComponent()({name:"VCarouselItem",inheritAttrs:!1,props:makeVCarouselItemProps(),setup(n,r){let{slots:o,attrs:a}=r;useRender((()=>{const r=VImg.filterProps(n),s=VWindowItem.filterProps(n);return createVNode(VWindowItem,mergeProps({class:["v-carousel-item",n.class]},s),{default:()=>[createVNode(VImg,mergeProps(a,r),o)]})}))}}),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":n=>!0,"update:position":n=>!0},setup(n,r){let{emit:o}=r;const a=shallowRef(!1),s=ref(),l=shallowRef(parseFloat(n.width)),c=shallowRef(parseFloat(n.height)),u=ref({x:0,y:0}),d=computed({get:()=>u.value,set(r){if(!s.value)return;const{x:a,y:d}=r;u.value=r,o("update:color",{h:n.color?.h??0,s:clamp(a,0,l.value)/l.value,v:1-clamp(d,0,c.value)/c.value,a:n.color?.a??1})}}),f=computed((()=>{const{x:r,y:o}=d.value,a=parseInt(n.dotSize,10)/2;return{width:convertToUnit(n.dotSize),height:convertToUnit(n.dotSize),transform:`translate(${convertToUnit(r-a)}, ${convertToUnit(o-a)})`}})),{resizeRef:m}=useResizeObserver((n=>{if(!m.el?.offsetParent)return;const{width:r,height:o}=n[0].contentRect;l.value=r,c.value=o}));function g(r){"mousedown"===r.type&&r.preventDefault(),n.disabled||(b(r),window.addEventListener("mousemove",b),window.addEventListener("mouseup",S),window.addEventListener("touchmove",b),window.addEventListener("touchend",S))}function b(r){if(n.disabled||!s.value)return;a.value=!0;const o=getEventCoordinates(r);!function(n,r,o){const{left:a,top:s,width:l,height:c}=o;d.value={x:clamp(n-a,0,l),y:clamp(r-s,0,c)}}(o.clientX,o.clientY,s.value.getBoundingClientRect())}function S(){window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",S),window.removeEventListener("touchmove",b),window.removeEventListener("touchend",S)}function k(){if(!s.value)return;const r=s.value,o=r.getContext("2d");if(!o)return;const a=o.createLinearGradient(0,0,r.width,0);a.addColorStop(0,"hsla(0, 0%, 100%, 1)"),a.addColorStop(1,`hsla(${n.color?.h??0}, 100%, 50%, 1)`),o.fillStyle=a,o.fillRect(0,0,r.width,r.height);const l=o.createLinearGradient(0,0,0,r.height);l.addColorStop(0,"hsla(0, 0%, 0%, 0)"),l.addColorStop(1,"hsla(0, 0%, 0%, 1)"),o.fillStyle=l,o.fillRect(0,0,r.width,r.height)}return watch((()=>n.color?.h),k,{immediate:!0}),watch((()=>[l.value,c.value]),((n,r)=>{k(),u.value={x:d.value.x*n[0]/r[0],y:d.value.y*n[1]/r[1]}}),{flush:"post"}),watch((()=>n.color),(()=>{a.value?a.value=!1:u.value=n.color?{x:n.color.s*l.value,y:(1-n.color.v)*c.value}:{x:0,y:0}}),{deep:!0,immediate:!0}),onMounted((()=>k())),useRender((()=>createVNode("div",{ref:m,class:["v-color-picker-canvas",n.class],style:n.style,onMousedown:g,onTouchstartPassive:g},[createVNode("canvas",{ref:s,width:l.value,height:c.value},null),n.color&&createVNode("div",{class:["v-color-picker-canvas__dot",{"v-color-picker-canvas__dot--disabled":n.disabled}],style:f.value},null)]))),{}}});function stripAlpha(n,r){if(r){const{a:r,...o}=n;return o}return n}function extractColor(n,r){if(null==r||"string"==typeof r){const r=HSVtoHex(n);return 1===n.a?r.slice(0,7):r}if("object"==typeof r){let o;return has(r,["r","g","b"])?o=HSVtoRGB(n):has(r,["h","s","l"])?o=HSVtoHSL(n):has(r,["h","s","v"])&&(o=n),stripAlpha(o,!has(r,["a"])&&1===n.a)}return n}const nullColor={h:0,s:0,v:0,a:1},rgba={inputProps:{type:"number",min:0},inputs:[{label:"R",max:255,step:1,getValue:n=>Math.round(n.r),getColor:(n,r)=>({...n,r:Number(r)})},{label:"G",max:255,step:1,getValue:n=>Math.round(n.g),getColor:(n,r)=>({...n,g:Number(r)})},{label:"B",max:255,step:1,getValue:n=>Math.round(n.b),getColor:(n,r)=>({...n,b:Number(r)})},{label:"A",max:1,step:.01,getValue:n=>{let{a:r}=n;return null!=r?Math.round(100*r)/100:1},getColor:(n,r)=>({...n,a:Number(r)})}],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:n=>Math.round(n.h),getColor:(n,r)=>({...n,h:Number(r)})},{label:"S",max:1,step:.01,getValue:n=>Math.round(100*n.s)/100,getColor:(n,r)=>({...n,s:Number(r)})},{label:"L",max:1,step:.01,getValue:n=>Math.round(100*n.l)/100,getColor:(n,r)=>({...n,l:Number(r)})},{label:"A",max:1,step:.01,getValue:n=>{let{a:r}=n;return null!=r?Math.round(100*r)/100:1},getColor:(n,r)=>({...n,a:Number(r)})}],to:HSVtoHSL,from:HSLtoHSV},hsl={...hsla,inputs:hsla.inputs.slice(0,3)},hexa={inputProps:{type:"text"},inputs:[{label:"HEXA",getValue:n=>n,getColor:(n,r)=>r}],to:HSVtoHex,from:HexToHSV},hex={...hexa,inputs:[{label:"HEX",getValue:n=>n.slice(0,7),getColor:(n,r)=>r}]},modes={rgb:rgb,rgba:rgba,hsl:hsl,hsla:hsla,hex:hex,hexa:hexa},VColorPickerInput=n=>{let{label:r,...o}=n;return createVNode("div",{class:"v-color-picker-edit__input"},[createVNode("input",o,null),createVNode("span",null,[r])])},makeVColorPickerEditProps=propsFactory({color:Object,disabled:Boolean,mode:{type:String,default:"rgba",validator:n=>Object.keys(modes).includes(n)},modes:{type:Array,default:()=>Object.keys(modes),validator:n=>Array.isArray(n)&&n.every((n=>Object.keys(modes).includes(n)))},...makeComponentProps()},"VColorPickerEdit"),VColorPickerEdit=defineComponent({name:"VColorPickerEdit",props:makeVColorPickerEditProps(),emits:{"update:color":n=>!0,"update:mode":n=>!0},setup(n,r){let{emit:o}=r;const a=computed((()=>n.modes.map((n=>({...modes[n],name:n}))))),s=computed((()=>{const r=a.value.find((r=>r.name===n.mode));if(!r)return[];const s=n.color?r.to(n.color):null;return r.inputs?.map((a=>{let{getValue:l,getColor:c,...u}=a;return{...r.inputProps,...u,disabled:n.disabled,value:s&&l(s),onChange:n=>{const a=n.target;a&&o("update:color",r.from(c(s??r.to(nullColor),a.value)))}}}))}));return useRender((()=>createVNode("div",{class:["v-color-picker-edit",n.class],style:n.style},[s.value?.map((n=>createVNode(VColorPickerInput,n,null))),a.value.length>1&&createVNode(VBtn,{icon:"$unfold",size:"x-small",variant:"plain",onClick:()=>{const r=a.value.findIndex((r=>r.name===n.mode));o("update:mode",a.value[(r+1)%a.value.length].name)}},null)]))),{}}}),VSliderSymbol=Symbol.for("vuetify:v-slider");function getOffset(n,r,o){const a="vertical"===o,s=r.getBoundingClientRect(),l="touches"in n?n.touches[0]:n;return a?l.clientY-(s.top+s.height/2):l.clientX-(s.left+s.width/2)}function getPosition(n,r){return"touches"in n&&n.touches.length?n.touches[0][r]:"changedTouches"in n&&n.changedTouches.length?n.changedTouches[0][r]:n[r]}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:n=>"boolean"==typeof n||"always"===n},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:n=>"boolean"==typeof n||"always"===n},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:n=>["vertical","horizontal"].includes(n)},reverse:Boolean,...makeRoundedProps(),...makeElevationProps({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),useSteps=n=>{const r=computed((()=>parseFloat(n.min))),o=computed((()=>parseFloat(n.max))),a=computed((()=>+n.step>0?parseFloat(n.step):0)),s=computed((()=>Math.max(getDecimals(a.value),getDecimals(r.value))));return{min:r,max:o,step:a,decimals:s,roundValue:function(n){if(n=parseFloat(n),a.value<=0)return n;const l=clamp(n,r.value,o.value),c=r.value%a.value,u=Math.round((l-c)/a.value)*a.value+c;return parseFloat(Math.min(u,o.value).toFixed(s.value))}}},useSlider=n=>{let{props:r,steps:o,onSliderStart:a,onSliderMove:s,onSliderEnd:l,getActiveThumb:c}=n;const{isRtl:u}=useRtl(),d=toRef(r,"reverse"),f=computed((()=>"vertical"===r.direction)),m=computed((()=>f.value!==d.value)),{min:g,max:b,step:S,decimals:k,roundValue:w}=o,E=computed((()=>parseInt(r.thumbSize,10))),C=computed((()=>parseInt(r.tickSize,10))),T=computed((()=>parseInt(r.trackSize,10))),I=computed((()=>(b.value-g.value)/S.value)),P=toRef(r,"disabled"),D=computed((()=>r.error||r.disabled?void 0:r.thumbColor??r.color)),O=computed((()=>r.error||r.disabled?void 0:r.trackColor??r.color)),A=computed((()=>r.error||r.disabled?void 0:r.trackFillColor??r.color)),eo=shallowRef(!1),no=shallowRef(0),ro=ref(),oo=ref();function ao(n){const o=ro.value?.$el;if(!o)return;const a="vertical"===r.direction,s=a?"top":"left",l=a?"height":"width",c=a?"clientY":"clientX",{[s]:d,[l]:f}=o.getBoundingClientRect(),S=getPosition(n,c);let k=Math.min(Math.max((S-d-no.value)/f,0),1)||0;return(a?m.value:m.value!==u.value)&&(k=1-k),w(g.value+k*(b.value-g.value))}const io=n=>{const r=ao(n);null!=r&&l({value:r}),eo.value=!1,no.value=0},so=n=>{const o=ao(n);oo.value=c(n),oo.value&&(eo.value=!0,oo.value.contains(n.target)?no.value=getOffset(n,oo.value,r.direction):(no.value=0,null!=o&&s({value:o})),null!=o&&a({value:o}),nextTick$2((()=>oo.value?.focus())))},lo={passive:!0,capture:!0};function co(n){const r=ao(n);null!=r&&s({value:r})}function uo(n){n.stopPropagation(),n.preventDefault(),io(n),window.removeEventListener("mousemove",co,lo),window.removeEventListener("mouseup",uo)}function po(n){io(n),window.removeEventListener("touchmove",co,lo),n.target?.removeEventListener("touchend",po)}const fo=n=>{const r=(n-g.value)/(b.value-g.value)*100;return clamp(isNaN(r)?0:r,0,100)},ho=toRef(r,"showTicks"),mo=computed((()=>ho.value?r.ticks?Array.isArray(r.ticks)?r.ticks.map((n=>({value:n,position:fo(n),label:n.toString()}))):Object.keys(r.ticks).map((n=>({value:parseFloat(n),position:fo(parseFloat(n)),label:r.ticks[n]}))):I.value!==1/0?createRange(I.value+1).map((n=>{const r=g.value+n*S.value;return{value:r,position:fo(r)}})):[]:[])),go=computed((()=>mo.value.some((n=>{let{label:r}=n;return!!r})))),vo={activeThumbRef:oo,color:toRef(r,"color"),decimals:k,disabled:P,direction:toRef(r,"direction"),elevation:toRef(r,"elevation"),hasLabels:go,isReversed:d,indexFromEnd:m,min:g,max:b,mousePressed:eo,numTicks:I,onSliderMousedown:function(n){0===n.button&&(n.preventDefault(),so(n),window.addEventListener("mousemove",co,lo),window.addEventListener("mouseup",uo,{passive:!1}))},onSliderTouchstart:function(n){so(n),window.addEventListener("touchmove",co,lo),n.target?.addEventListener("touchend",po,{passive:!1})},parsedTicks:mo,parseMouseMove:ao,position:fo,readonly:toRef(r,"readonly"),rounded:toRef(r,"rounded"),roundValue:w,showTicks:ho,startOffset:no,step:S,thumbSize:E,thumbColor:D,thumbLabel:toRef(r,"thumbLabel"),ticks:toRef(r,"ticks"),tickSize:C,trackColor:O,trackContainerRef:ro,trackFillColor:A,trackSize:T,vertical:f};return provide(VSliderSymbol,vo),vo},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":n=>!0},setup(n,r){let{slots:o,emit:a}=r;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:b,isReversed:S,vertical:k,readonly:w,elevation:E,mousePressed:C,decimals:T,indexFromEnd:I}=s,P=computed((()=>f.value?void 0:E.value)),{elevationClasses:D}=useElevation(P),{textColorClasses:O,textColorStyles:A}=useTextColor(u),{pageup:eo,pagedown:no,end:ro,home:oo,left:ao,right:io,down:so,up:lo}=keyValues,co=[eo,no,ro,oo,ao,io,so,lo],uo=computed((()=>d.value?[1,2,3]:[1,5,10]));function po(r){const o=function(r,o){if(!co.includes(r.key))return;r.preventDefault();const a=d.value||.1,s=(n.max-n.min)/a;if([ao,io,so,lo].includes(r.key)){const n=(k.value?[l.value?ao:io,S.value?so:lo]:I.value!==l.value?[ao,lo]:[io,lo]).includes(r.key)?1:-1,s=r.shiftKey?2:r.ctrlKey?1:0;o+=n*a*uo.value[s]}else r.key===oo?o=n.min:r.key===ro?o=n.max:o-=(r.key===no?1:-1)*a*(s>100?s/10:10);return Math.max(n.min,Math.min(n.max,o))}(r,n.modelValue);null!=o&&a("update:modelValue",o)}return useRender((()=>{const r=convertToUnit(I.value?100-n.position:n.position,"%");return createVNode("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":n.focused,"v-slider-thumb--pressed":n.focused&&C.value},n.class,c.value],style:[{"--v-slider-thumb-position":r,"--v-slider-thumb-size":convertToUnit(m.value)},n.style],role:"slider",tabindex:f.value?-1:0,"aria-label":n.name,"aria-valuemin":n.min,"aria-valuemax":n.max,"aria-valuenow":n.modelValue,"aria-readonly":!!w.value,"aria-orientation":b.value,onKeydown:w.value?void 0:po},[createVNode("div",{class:["v-slider-thumb__surface",O.value,D.value],style:{...A.value}},null),withDirectives(createVNode("div",{class:["v-slider-thumb__ripple",O.value],style:A.value},null),[[resolveDirective("ripple"),n.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,[o["thumb-label"]?.({modelValue:n.modelValue})??n.modelValue.toFixed(d.value?T.value:1)])])]),[[vShow,g.value&&n.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(n,r){let{slots:o}=r;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:b,min:S,max:k,indexFromEnd:w}=a,{roundedClasses:E}=useRounded(c),{backgroundColorClasses:C,backgroundColorStyles:T}=useBackgroundColor(m),{backgroundColorClasses:I,backgroundColorStyles:P}=useBackgroundColor(f),D=computed((()=>`inset-${b.value?"block":"inline"}-${w.value?"end":"start"}`)),O=computed((()=>b.value?"height":"width")),A=computed((()=>({[D.value]:"0%",[O.value]:"100%"}))),eo=computed((()=>n.stop-n.start)),no=computed((()=>({[D.value]:convertToUnit(n.start,"%"),[O.value]:convertToUnit(eo.value,"%")}))),ro=computed((()=>{if(!u.value)return[];return(b.value?l.value.slice().reverse():l.value).map(((r,a)=>{const s=r.value!==S.value&&r.value!==k.value?convertToUnit(r.position,"%"):void 0;return createVNode("div",{key:r.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":r.position>=n.start&&r.position<=n.stop,"v-slider-track__tick--first":r.value===S.value,"v-slider-track__tick--last":r.value===k.value}],style:{[D.value]:s}},[(r.label||o["tick-label"])&&createVNode("div",{class:"v-slider-track__tick-label"},[o["tick-label"]?.({tick:r,index:a})??r.label])])}))}));return useRender((()=>createVNode("div",{class:["v-slider-track",E.value,n.class],style:[{"--v-slider-track-size":convertToUnit(g.value),"--v-slider-tick-size":convertToUnit(d.value)},n.style]},[createVNode("div",{class:["v-slider-track__background",I.value,{"v-slider-track__background--opacity":!!s.value||!m.value}],style:{...A.value,...P.value}},null),createVNode("div",{class:["v-slider-track__fill",C.value],style:{...no.value,...T.value}},null),u.value&&createVNode("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":"always"===u.value}]},[ro.value])]))),{}}}),makeVSliderProps=propsFactory({...makeFocusProps(),...makeSliderProps(),...makeVInputProps(),modelValue:{type:[Number,String],default:0}},"VSlider"),VSlider=genericComponent()({name:"VSlider",props:makeVSliderProps(),emits:{"update:focused":n=>!0,"update:modelValue":n=>!0,start:n=>!0,end:n=>!0},setup(n,r){let{slots:o,emit:a}=r;const s=ref(),{rtlClasses:l}=useRtl(),c=useSteps(n),u=useProxiedModel(n,"modelValue",void 0,(n=>c.roundValue(null==n?c.min.value:n))),{min:d,max:f,mousePressed:m,roundValue:g,onSliderMousedown:b,onSliderTouchstart:S,trackContainerRef:k,position:w,hasLabels:E,readonly:C}=useSlider({props:n,steps:c,onSliderStart:()=>{a("start",u.value)},onSliderEnd:n=>{let{value:r}=n;const o=g(r);u.value=o,a("end",o)},onSliderMove:n=>{let{value:r}=n;return u.value=g(r)},getActiveThumb:()=>s.value?.$el}),{isFocused:T,focus:I,blur:P}=useFocus(n),D=computed((()=>w(u.value)));return useRender((()=>{const r=VInput.filterProps(n),a=!!(n.label||o.label||o.prepend);return createVNode(VInput,mergeProps({class:["v-slider",{"v-slider--has-labels":!!o["tick-label"]||E.value,"v-slider--focused":T.value,"v-slider--pressed":m.value,"v-slider--disabled":n.disabled},l.value,n.class],style:n.style},r,{focused:T.value}),{...o,prepend:a?r=>createVNode(Fragment,null,[o.label?.(r)??(n.label?createVNode(VLabel,{id:r.id.value,class:"v-slider__label",text:n.label},null):void 0),o.prepend?.(r)]):void 0,default:r=>{let{id:a,messagesId:l}=r;return createVNode("div",{class:"v-slider__container",onMousedown:C.value?void 0:b,onTouchstartPassive:C.value?void 0:S},[createVNode("input",{id:a.value,name:n.name||a.value,disabled:!!n.disabled,readonly:!!n.readonly,tabindex:"-1",value:u.value},null),createVNode(VSliderTrack,{ref:k,start:0,stop:D.value},{"tick-label":o["tick-label"]}),createVNode(VSliderThumb,{ref:s,"aria-describedby":l.value,focused:T.value,min:d.value,max:f.value,modelValue:u.value,"onUpdate:modelValue":n=>u.value=n,position:D.value,elevation:n.elevation,onFocus:I,onBlur:P,ripple:n.ripple,name:n.name},{"thumb-label":o["thumb-label"]})])}})})),{}}}),makeVColorPickerPreviewProps=propsFactory({color:{type:Object},disabled:Boolean,hideAlpha:Boolean,...makeComponentProps()},"VColorPickerPreview"),VColorPickerPreview=defineComponent({name:"VColorPickerPreview",props:makeVColorPickerPreviewProps(),emits:{"update:color":n=>!0},setup(n,r){let{emit:o}=r;const a=new AbortController;async function s(){if(!SUPPORTS_EYE_DROPPER)return;const r=new window.EyeDropper;try{const s=RGBtoHSV(parseColor((await r.open({signal:a.signal})).sRGBHex));o("update:color",{...n.color??nullColor,...s})}catch(e3){}}return onUnmounted((()=>a.abort())),useRender((()=>createVNode("div",{class:["v-color-picker-preview",{"v-color-picker-preview--hide-alpha":n.hideAlpha},n.class],style:n.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(n.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:n.color?.h,"onUpdate:modelValue":r=>o("update:color",{...n.color??nullColor,h:r}),step:0,min:0,max:360,disabled:n.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null),!n.hideAlpha&&createVNode(VSlider,{class:"v-color-picker-preview__track v-color-picker-preview__alpha",modelValue:n.color?.a??1,"onUpdate:modelValue":r=>o("update:color",{...n.color??nullColor,a:r}),step:1/256,min:0,max:1,disabled:n.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(n){return Object.keys(n).map((r=>{const o=n[r];return o.base?[o.base,o.darken4,o.darken3,o.darken2,o.darken1,o.lighten1,o.lighten2,o.lighten3,o.lighten4,o.lighten5]:[o.black,o.white,o.transparent]}))}const VColorPickerSwatches=defineComponent({name:"VColorPickerSwatches",props:makeVColorPickerSwatchesProps(),emits:{"update:color":n=>!0},setup(n,r){let{emit:o}=r;return useRender((()=>createVNode("div",{class:["v-color-picker-swatches",n.class],style:[{maxHeight:convertToUnit(n.maxHeight)},n.style]},[createVNode("div",null,[n.swatches.map((r=>createVNode("div",{class:"v-color-picker-swatches__swatch"},[r.map((r=>{const a=parseColor(r),s=RGBtoHSV(a),l=RGBtoCSS(a);return createVNode("div",{class:"v-color-picker-swatches__color",onClick:()=>s&&o("update:color",s)},[createVNode("div",{style:{background:l}},[n.color&&deepEqual(n.color,s)?createVNode(VIcon,{size:"x-small",icon:"$success",color:getContrast(r,"#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(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(n,"color")),{borderClasses:c}=useBorder(n),{dimensionStyles:u}=useDimension(n),{elevationClasses:d}=useElevation(n),{locationStyles:f}=useLocation(n),{positionClasses:m}=usePosition(n),{roundedClasses:g}=useRounded(n);return useRender((()=>createVNode(n.tag,{class:["v-sheet",a.value,s.value,c.value,d.value,m.value,g.value,n.class],style:[l.value,u.value,f.value,n.style]},o))),{}}}),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:n=>Object.keys(modes).includes(n)},modes:{type:Array,default:()=>Object.keys(modes),validator:n=>Array.isArray(n)&&n.every((n=>Object.keys(modes).includes(n)))},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":n=>!0,"update:mode":n=>!0},setup(n){const r=useProxiedModel(n,"mode"),o=ref(null),a=useProxiedModel(n,"modelValue",void 0,(n=>{if(null==n||""===n)return null;let r;try{r=RGBtoHSV(parseColor(n))}catch(o){return null}return r}),(r=>r?extractColor(r,n.modelValue):null)),s=computed((()=>a.value?{...a.value,h:o.value??a.value.h}:null)),{rtlClasses:l}=useRtl();let c=!0;watch(a,(n=>{c?n&&(o.value=n.h):c=!0}),{immediate:!0});const u=n=>{c=!1,o.value=n.h,a.value=n};return onBeforeMount((()=>{n.modes.includes(r.value)||(r.value=n.modes[0])})),provideDefaults({VSlider:{color:void 0,trackColor:void 0,trackFillColor:void 0}}),useRender((()=>{const o=VSheet.filterProps(n);return createVNode(VSheet,mergeProps({rounded:n.rounded,elevation:n.elevation,theme:n.theme,class:["v-color-picker",l.value,n.class],style:[{"--v-color-picker-color-hsv":HSVtoCSS({...s.value??nullColor,a:1})},n.style]},o,{maxWidth:n.width}),{default:()=>[!n.hideCanvas&&createVNode(VColorPickerCanvas,{key:"canvas",color:s.value,"onUpdate:color":u,disabled:n.disabled,dotSize:n.dotSize,width:n.width,height:n.canvasHeight},null),(!n.hideSliders||!n.hideInputs)&&createVNode("div",{key:"controls",class:"v-color-picker__controls"},[!n.hideSliders&&createVNode(VColorPickerPreview,{key:"preview",color:s.value,"onUpdate:color":u,hideAlpha:!r.value.endsWith("a"),disabled:n.disabled},null),!n.hideInputs&&createVNode(VColorPickerEdit,{key:"edit",modes:n.modes,mode:r.value,"onUpdate:mode":n=>r.value=n,color:s.value,"onUpdate:color":u,disabled:n.disabled},null)]),n.showSwatches&&createVNode(VColorPickerSwatches,{key:"swatches",color:s.value,"onUpdate:color":u,maxHeight:n.swatchesMaxHeight,swatches:n.swatches,disabled:n.disabled},null)]})})),{}}});function highlightResult(n,r,o){if(null==r)return n;if(Array.isArray(r))throw new Error("Multiple matches is not implemented");return"number"==typeof r&&~r?createVNode(Fragment,null,[createVNode("span",{class:"v-combobox__unmask"},[n.substr(0,r)]),createVNode("span",{class:"v-combobox__mask"},[n.substr(r,o)]),createVNode("span",{class:"v-combobox__unmask"},[n.substr(r+o)])]):n}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":n=>!0,"update:modelValue":n=>!0,"update:search":n=>!0,"update:menu":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const{t:s}=useLocale(),l=ref(),c=shallowRef(!1),u=shallowRef(!0),d=shallowRef(!1),f=ref(),m=ref(),g=useProxiedModel(n,"menu"),b=computed({get:()=>g.value,set:n=>{g.value&&!n&&f.value?.ΨopenChildren.size||(g.value=n)}}),S=shallowRef(-1);let k=!1;const w=computed((()=>l.value?.color)),E=computed((()=>b.value?n.closeText:n.openText)),{items:C,transformIn:T,transformOut:I}=useItems(n),{textColorClasses:P,textColorStyles:D}=useTextColor(w),O=useProxiedModel(n,"modelValue",[],(n=>T(wrapInArray(n))),(r=>{const o=I(r);return n.multiple?o:o[0]??null})),A=useForm(n),eo=computed((()=>!(!n.chips&&!a.chip))),no=computed((()=>eo.value||!!a.selection)),ro=shallowRef(n.multiple||no.value?"":O.value[0]?.title??""),oo=computed({get:()=>ro.value,set:r=>{if(ro.value=r??"",n.multiple||no.value||(O.value=[transformItem$3(n,r)]),r&&n.multiple&&n.delimiters?.length){const o=r.split(new RegExp(`(?:${n.delimiters.join("|")})+`));o.length>1&&(o.forEach((r=>{(r=r.trim())&&ko(transformItem$3(n,r))})),ro.value="")}r||(S.value=-1),u.value=!r}}),ao=computed((()=>"function"==typeof n.counterValue?n.counterValue(O.value):"number"==typeof n.counterValue?n.counterValue:n.multiple?O.value.length:oo.value.length));watch(ro,(n=>{k?nextTick$2((()=>k=!1)):c.value&&!b.value&&(b.value=!0),o("update:search",n)})),watch(O,(r=>{n.multiple||no.value||(ro.value=r[0]?.title??"")}));const{filteredItems:io,getMatches:so}=useFilter(n,C,(()=>u.value?"":oo.value)),lo=computed((()=>n.hideSelected?io.value.filter((n=>!O.value.some((r=>r.value===n.value)))):io.value)),co=computed((()=>O.value.map((n=>n.value)))),uo=computed((()=>(!0===n.autoSelectFirst||"exact"===n.autoSelectFirst&&oo.value===lo.value[0]?.title)&&lo.value.length>0&&!u.value&&!d.value)),po=computed((()=>n.hideNoData&&!lo.value.length||A.isReadonly.value||A.isDisabled.value)),fo=ref(),ho=useScrolling(fo,l);function mo(r){k=!0,n.openOnClear&&(b.value=!0)}function go(){po.value||(b.value=!0)}function vo(n){po.value||(c.value&&(n.preventDefault(),n.stopPropagation()),b.value=!b.value)}function yo(n){" "!==n.key&&checkPrintable(n)&&l.value?.focus()}function bo(r){if(isComposingIgnoreKey(r)||A.isReadonly.value)return;const o=l.value.selectionStart,a=O.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(r.key)&&r.preventDefault(),["Enter","ArrowDown"].includes(r.key)&&(b.value=!0),["Escape"].includes(r.key)&&(b.value=!1),["Enter","Escape","Tab"].includes(r.key)&&(uo.value&&["Enter","Tab"].includes(r.key)&&!O.value.some((n=>{let{value:r}=n;return r===lo.value[0].value}))&&ko(io.value[0]),u.value=!0),"ArrowDown"===r.key&&uo.value&&fo.value?.focus("next"),"Enter"===r.key&&oo.value&&(ko(transformItem$3(n,oo.value)),no.value&&(ro.value="")),["Backspace","Delete"].includes(r.key)){if(!n.multiple&&no.value&&O.value.length>0&&!oo.value)return ko(O.value[0],!1);if(~S.value){r.preventDefault();const n=S.value;ko(O.value[S.value],!1),S.value=n>=a-1?a-2:n}else"Backspace"!==r.key||oo.value||(S.value=a-1)}else if(n.multiple)if("ArrowLeft"===r.key){if(S.value<0&&o>0)return;const n=S.value>-1?S.value-1:a-1;O.value[n]?S.value=n:(S.value=-1,l.value.setSelectionRange(oo.value.length,oo.value.length))}else if("ArrowRight"===r.key){if(S.value<0)return;const n=S.value+1;O.value[n]?S.value=n:(S.value=-1,l.value.setSelectionRange(0,0))}else~S.value&&checkPrintable(r)&&(S.value=-1)}function _o(){n.eager&&m.value?.calculateVisibleItems()}function So(){c.value&&(u.value=!0,l.value?.focus())}function ko(r){let o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(r&&!r.props.disabled)if(n.multiple){const a=O.value.findIndex((o=>(n.valueComparator||deepEqual)(o.value,r.value))),s=null==o?!~a:o;if(~a){const n=s?[...O.value,r]:[...O.value];n.splice(a,1),O.value=n}else s&&(O.value=[...O.value,r]);n.clearOnSelect&&(oo.value="")}else{const n=!1!==o;O.value=n?[r]:[],ro.value=n&&!no.value?r.title:"",nextTick$2((()=>{b.value=!1,u.value=!0}))}}function wo(n){c.value=!0,setTimeout((()=>{d.value=!0}))}function Eo(n){d.value=!1}function Co(r){null!=r&&(""!==r||n.multiple||no.value)||(O.value=[])}return watch(c,((r,o)=>{if(!r&&r!==o&&(S.value=-1,b.value=!1,oo.value)){if(n.multiple)return void ko(transformItem$3(n,oo.value));if(!no.value)return;O.value.some((n=>{let{title:r}=n;return r===oo.value}))?ro.value="":ko(transformItem$3(n,oo.value))}})),watch(b,(()=>{if(!n.hideSelected&&b.value&&O.value.length){const r=lo.value.findIndex((r=>O.value.some((o=>(n.valueComparator||deepEqual)(o.value,r.value)))));IN_BROWSER&&window.requestAnimationFrame((()=>{r>=0&&m.value?.scrollToIndex(r)}))}})),watch((()=>n.items),((n,r)=>{b.value||c.value&&!r.length&&n.length&&(b.value=!0)})),useRender((()=>{const r=!!(!n.hideNoData||lo.value.length||a["prepend-item"]||a["append-item"]||a["no-data"]),o=O.value.length>0,d=VTextField.filterProps(n);return createVNode(VTextField,mergeProps({ref:l},d,{modelValue:oo.value,"onUpdate:modelValue":[n=>oo.value=n,Co],focused:c.value,"onUpdate:focused":n=>c.value=n,validationValue:O.externalValue,counterValue:ao.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":b.value,"v-combobox--chips":!!n.chips,"v-combobox--selection-slot":!!no.value,"v-combobox--selecting-index":S.value>-1,["v-combobox--"+(n.multiple?"multiple":"single")]:!0},n.class],style:n.style,readonly:A.isReadonly.value,placeholder:o?void 0:n.placeholder,"onClick:clear":mo,"onMousedown:control":go,onKeydown:bo}),{...a,default:()=>createVNode(Fragment,null,[createVNode(VMenu,mergeProps({ref:f,modelValue:b.value,"onUpdate:modelValue":n=>b.value=n,activator:"parent",contentClass:"v-combobox__content",disabled:po.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:_o,onAfterLeave:So},n.menuProps),{default:()=>[r&&createVNode(VList,mergeProps({ref:fo,selected:co.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:n=>n.preventDefault(),onKeydown:yo,onFocusin:wo,onFocusout:Eo,tabindex:"-1","aria-live":"polite",color:n.itemColor??n.color},ho,n.listProps),{default:()=>[a["prepend-item"]?.(),!lo.value.length&&!n.hideNoData&&(a["no-data"]?.()??createVNode(VListItem,{key:"no-data",title:s(n.noDataText)},null)),createVNode(VVirtualScroll,{ref:m,renderless:!0,items:lo.value},{default:r=>{let{item:o,index:s,itemRef:l}=r;const c=mergeProps(o.props,{ref:l,key:o.value,active:!(!uo.value||0!==s)||void 0,onClick:()=>ko(o,null)});return a.item?.({item:o,index:s,props:c})??createVNode(VListItem,mergeProps(c,{role:"option"}),{prepend:r=>{let{isSelected:a}=r;return createVNode(Fragment,null,[n.multiple&&!n.hideSelected?createVNode(VCheckboxBtn,{key:o.value,modelValue:a,ripple:!1,tabindex:"-1"},null):void 0,o.props.prependAvatar&&createVNode(VAvatar,{image:o.props.prependAvatar},null),o.props.prependIcon&&createVNode(VIcon,{icon:o.props.prependIcon},null)])},title:()=>u.value?o.title:highlightResult(o.title,so(o)?.title,oo.value?.length??0)})}}),a["append-item"]?.()]})]}),O.value.map(((r,o)=>{function s(n){n.stopPropagation(),n.preventDefault(),ko(r,!1)}const l={"onClick:close":s,onKeydown(n){"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.stopPropagation(),s(n))},onMousedown(n){n.preventDefault(),n.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},c=eo.value?!!a.chip:!!a.selection,u=c?ensureValidVNode(eo.value?a.chip({item:r,index:o,props:l}):a.selection({item:r,index:o})):void 0;if(!c||u)return createVNode("div",{key:r.value,class:["v-combobox__selection",o===S.value&&["v-combobox__selection--selected",P.value]],style:o===S.value?D.value:{}},[eo.value?a.chip?createVNode(VDefaultsProvider,{key:"chip-defaults",defaults:{VChip:{closable:n.closableChips,size:"small",text:r.title}}},{default:()=>[u]}):createVNode(VChip,mergeProps({key:"chip",closable:n.closableChips,size:"small",text:r.title,disabled:r.props.disabled},l),null):u??createVNode("span",{class:"v-combobox__selection-text"},[r.title,n.multiple&&o<O.value.length-1&&createVNode("span",{class:"v-combobox__selection-comma"},[createTextVNode(",")])])])}))]),"append-inner":function(){for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];return createVNode(Fragment,null,[a["append-inner"]?.(...o),n.hideNoData&&!n.items.length||!n.menuIcon?void 0:createVNode(VIcon,{class:"v-combobox__menu-icon",icon:n.menuIcon,onMousedown:vo,onClick:noop$2,"aria-label":s(E.value),title:s(E.value),tabindex:"-1"},null)])}})})),forwardRefs({isFocused:c,isPristine:u,menu:b,search:oo,selectionIndex:S,filteredItems:io,select:ko},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:n=>!0,"update:modelValue":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useProxiedModel(n,"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,o("save",l.value)}function f(){l.value=structuredClone(toRaw(s.value)),o("cancel")}function m(r){return createVNode(Fragment,null,[createVNode(VBtn,mergeProps({disabled:u.value,variant:"text",color:n.color,onClick:f,text:c(n.cancelText)},r),null),createVNode(VBtn,mergeProps({disabled:u.value,variant:"text",color:n.color,onClick:d,text:c(n.okText)},r),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(n){const r=toRef(n,"expandOnClick"),o=useProxiedModel(n,"expanded",n.expanded,(n=>new Set(n)),(n=>[...n.values()]));function a(n,r){const a=new Set(o.value);r?a.add(n.value):a.delete(n.value),o.value=a}function s(n){return o.value.has(n.value)}const l={expand:a,expanded:o,expandOnClick:r,isExpanded:s,toggleExpand:function(n){a(n,!s(n))}};return provide(VDataTableExpandedKey,l),l}function useExpanded(){const n=inject$1(VDataTableExpandedKey);if(!n)throw new Error("foo");return n}const makeDataTableGroupProps=propsFactory({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),VDataTableGroupSymbol=Symbol.for("vuetify:data-table-group");function createGroupBy(n){return{groupBy:useProxiedModel(n,"groupBy")}}function provideGroupBy(n){const{disableSort:r,groupBy:o,sortBy:a}=n,s=ref(new Set);function l(n){return s.value.has(n.id)}const c={sortByWithGroups:computed((()=>o.value.map((n=>({...n,order:n.order??!1}))).concat(r?.value?[]:a.value))),toggleGroup:function(n){const r=new Set(s.value);l(n)?r.delete(n.id):r.add(n.id),s.value=r},opened:s,groupBy:o,extractRows:function(n){return function n(r){const o=[];for(const a of r.items)"type"in a&&"group"===a.type?o.push(...n(a)):o.push(a);return[...new Set(o)]}({items:n})},isGroupOpen:l};return provide(VDataTableGroupSymbol,c),c}function useGroupBy(){const n=inject$1(VDataTableGroupSymbol);if(!n)throw new Error("Missing group!");return n}function groupItemsByProperty(n,r){if(!n.length)return[];const o=new Map;for(const a of n){const n=getObjectValueByPath(a.raw,r);o.has(n)||o.set(n,[]),o.get(n).push(a)}return o}function groupItems(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"root";if(!r.length)return[];const s=groupItemsByProperty(n,r[0]),l=[],c=r.slice(1);return s.forEach(((n,s)=>{const u=r[0],d=`${a}_${u}_${s}`;l.push({depth:o,id:d,key:u,value:s,items:c.length?groupItems(n,c,o+1,d):n,type:"group"})})),l}function flattenItems(n,r){const o=[];for(const a of n)"type"in a&&"group"===a.type?(null!=a.value&&o.push(a),(r.has(a.id)||null==a.value)&&o.push(...flattenItems(a.items,r))):o.push(a);return o}function useGroupedItems(n,r,o){return{flatItems:computed((()=>{if(!r.value.length)return n.value;return flattenItems(groupItems(n.value,r.value.map((n=>n.key))),o.value)}))}}function useOptions(n){let{page:r,itemsPerPage:o,sortBy:a,groupBy:s,search:l}=n;const c=getCurrentInstance("VDataTable"),u=computed((()=>({page:r.value,itemsPerPage:o.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&&(r.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(n){return{page:useProxiedModel(n,"page",void 0,(n=>+(n??1))),itemsPerPage:useProxiedModel(n,"itemsPerPage",void 0,(n=>+(n??10)))}}function providePagination(n){const{page:r,itemsPerPage:o,itemsLength:a}=n,s=computed((()=>-1===o.value?0:o.value*(r.value-1))),l=computed((()=>-1===o.value?a.value:Math.min(a.value,s.value+o.value))),c=computed((()=>-1===o.value||0===a.value?1:Math.ceil(a.value/o.value)));watch([r,c],(()=>{r.value>c.value&&(r.value=c.value)}));const u={page:r,itemsPerPage:o,startIndex:s,stopIndex:l,pageCount:c,itemsLength:a,nextPage:function(){r.value=clamp(r.value+1,1,c.value)},prevPage:function(){r.value=clamp(r.value-1,1,c.value)},setPage:function(n){r.value=clamp(n,1,c.value)},setItemsPerPage:function(n){o.value=n,r.value=1}};return provide(VDataTablePaginationSymbol,u),u}function usePagination(){const n=inject$1(VDataTablePaginationSymbol);if(!n)throw new Error("Missing pagination!");return n}function usePaginatedItems(n){const r=getCurrentInstance("usePaginatedItems"),{items:o,startIndex:a,stopIndex:s,itemsPerPage:l}=n,c=computed((()=>l.value<=0?o.value:o.value.slice(a.value,s.value)));return watch(c,(n=>{r.emit("update:currentItems",n)}),{immediate:!0}),{paginatedItems:c}}const singleSelectStrategy={showSelectAll:!1,allSelected:()=>[],select:n=>{let{items:r,value:o}=n;return new Set(o?[r[0]?.value]:[])},selectAll:n=>{let{selected:r}=n;return r}},pageSelectStrategy={showSelectAll:!0,allSelected:n=>{let{currentPage:r}=n;return r},select:n=>{let{items:r,value:o,selected:a}=n;for(const s of r)o?a.add(s.value):a.delete(s.value);return a},selectAll:n=>{let{value:r,currentPage:o,selected:a}=n;return pageSelectStrategy.select({items:o,value:r,selected:a})}},allSelectStrategy={showSelectAll:!0,allSelected:n=>{let{allItems:r}=n;return r},select:n=>{let{items:r,value:o,selected:a}=n;for(const s of r)o?a.add(s.value):a.delete(s.value);return a},selectAll:n=>{let{value:r,allItems:o,selected:a}=n;return allSelectStrategy.select({items:o,value:r,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(n,r){let{allItems:o,currentPage:a}=r;const s=useProxiedModel(n,"modelValue",n.modelValue,(r=>new Set(wrapInArray(r).map((r=>o.value.find((o=>n.valueComparator(r,o.value)))?.value??r)))),(n=>[...n.values()])),l=computed((()=>o.value.filter((n=>n.selectable)))),c=computed((()=>a.value.filter((n=>n.selectable)))),u=computed((()=>{if("object"==typeof n.selectStrategy)return n.selectStrategy;switch(n.selectStrategy){case"single":return singleSelectStrategy;case"all":return allSelectStrategy;default:return pageSelectStrategy}}));function d(n){return wrapInArray(n).every((n=>s.value.has(n.value)))}function f(n,r){const o=u.value.select({items:n,value:r,selected:new Set(s.value)});s.value=o}const m=computed((()=>s.value.size>0)),g=computed((()=>{const n=u.value.allSelected({allItems:l.value,currentPage:c.value});return!!n.length&&d(n)})),b={toggleSelect:function(n){f([n],!d([n]))},select:f,selectAll:function(n){const r=u.value.selectAll({value:n,allItems:l.value,currentPage:c.value,selected:new Set(s.value)});s.value=r},isSelected:d,isSomeSelected:function(n){return wrapInArray(n).some((n=>s.value.has(n.value)))},someSelected:m,allSelected:g,showSelectAll:computed((()=>u.value.showSelectAll))};return provide(VDataTableSelectionSymbol,b),b}function useSelection(){const n=inject$1(VDataTableSelectionSymbol);if(!n)throw new Error("Missing selection!");return n}const makeDataTableSortProps=propsFactory({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),VDataTableSortSymbol=Symbol.for("vuetify:data-table-sort");function createSort(n){return{sortBy:useProxiedModel(n,"sortBy"),mustSort:toRef(n,"mustSort"),multiSort:toRef(n,"multiSort")}}function provideSort(n){const{sortBy:r,mustSort:o,multiSort:a,page:s}=n;const l={sortBy:r,toggleSort:n=>{if(null==n.key)return;let l=r.value.map((n=>({...n})))??[];const c=l.find((r=>r.key===n.key));c?"desc"===c.order?o.value&&1===l.length?c.order="asc":l=l.filter((r=>r.key!==n.key)):c.order="desc":a.value?l.push({key:n.key,order:"asc"}):l=[{key:n.key,order:"asc"}],r.value=l,s&&(s.value=1)},isSorted:function(n){return!!r.value.find((r=>r.key===n.key))}};return provide(VDataTableSortSymbol,l),l}function useSort(){const n=inject$1(VDataTableSortSymbol);if(!n)throw new Error("Missing sort!");return n}function useSortedItems(n,r,o,a){const s=useLocale();return{sortedItems:computed((()=>o.value.length?sortItems(r.value,o.value,s.current.value,{transform:a?.transform,sortFunctions:{...n.customKeySort,...a?.sortFunctions?.value},sortRawFunctions:a?.sortRawFunctions?.value}):r.value))}}function sortItems(n,r,o,a){const s=new Intl.Collator(o,{sensitivity:"accent",usage:"sort"});return n.map((n=>[n,a?.transform?a.transform(n):n])).sort(((n,o)=>{for(let l=0;l<r.length;l++){let c=!1;const u=r[l].key,d=r[l].order??"asc";if(!1===d)continue;let f=getObjectValueByPath(n[1],u),m=getObjectValueByPath(o[1],u),g=n[0].raw,b=o[0].raw;if("desc"===d&&([f,m]=[m,f],[g,b]=[b,g]),a?.sortRawFunctions?.[u]){const n=a.sortRawFunctions[u](g,b);if(null==n)continue;if(c=!0,n)return n}if(a?.sortFunctions?.[u]){const n=a.sortFunctions[u](f,m);if(null==n)continue;if(c=!0,n)return n}if(!c){if(f instanceof Date&&m instanceof Date)return f.getTime()-m.getTime();if([f,m]=[f,m].map((n=>null!=n?n.toString().toLocaleLowerCase():n)),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((n=>{let[r]=n;return r}))}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(n,r){return{type:"item",value:n.returnObject?r:getPropertyFromItem(r,n.itemValue),selectable:getPropertyFromItem(r,n.itemSelectable,!0),raw:r}}function transformItems$1(n,r){const o=[];for(const a of r)o.push(transformItem$1(n,a));return o}function useDataIteratorItems(n){return{items:computed((()=>transformItems$1(n,n.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":n=>!0,"update:groupBy":n=>!0,"update:page":n=>!0,"update:itemsPerPage":n=>!0,"update:sortBy":n=>!0,"update:options":n=>!0,"update:expanded":n=>!0,"update:currentItems":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"groupBy"),s=toRef(n,"search"),{items:l}=useDataIteratorItems(n),{filteredItems:c}=useFilter(n,l,s,{transform:n=>n.raw}),{sortBy:u,multiSort:d,mustSort:f}=createSort(n),{page:m,itemsPerPage:g}=createPagination(n),{toggleSort:b}=provideSort({sortBy:u,multiSort:d,mustSort:f,page:m}),{sortByWithGroups:S,opened:k,extractRows:w,isGroupOpen:E,toggleGroup:C}=provideGroupBy({groupBy:a,sortBy:u}),{sortedItems:T}=useSortedItems(n,c,S,{transform:n=>n.raw}),{flatItems:I}=useGroupedItems(T,a,k),P=computed((()=>I.value.length)),{startIndex:D,stopIndex:O,pageCount:A,prevPage:eo,nextPage:no,setItemsPerPage:ro,setPage:oo}=providePagination({page:m,itemsPerPage:g,itemsLength:P}),{paginatedItems:ao}=usePaginatedItems({items:I,startIndex:D,stopIndex:O,itemsPerPage:g}),io=computed((()=>w(ao.value))),{isSelected:so,select:lo,selectAll:co,toggleSelect:uo}=provideSelection(n,{allItems:l,currentPage:io}),{isExpanded:po,toggleExpand:fo}=provideExpanded(n);useOptions({page:m,itemsPerPage:g,sortBy:u,groupBy:a,search:s});const ho=computed((()=>({page:m.value,itemsPerPage:g.value,sortBy:u.value,pageCount:A.value,toggleSort:b,prevPage:eo,nextPage:no,setPage:oo,setItemsPerPage:ro,isSelected:so,select:lo,selectAll:co,toggleSelect:uo,isExpanded:po,toggleExpand:fo,isGroupOpen:E,toggleGroup:C,items:io.value,groupedItems:ao.value})));return useRender((()=>createVNode(n.tag,{class:["v-data-iterator",{"v-data-iterator--loading":n.loading},n.class],style:n.style},{default:()=>[o.header?.(ho.value),createVNode(MaybeTransition,{transition:n.transition},{default:()=>[n.loading?createVNode(LoaderSlot,{key:"loader",name:"v-data-iterator",active:!0},{default:n=>o.loader?.(n)}):createVNode("div",{key:"items"},[ao.value.length?o.default?.(ho.value):o["no-data"]?.()])]}),o.footer?.(ho.value)]}))),{}}});function useRefs(){const n=ref([]);return onBeforeUpdate((()=>n.value=[])),{refs:n,updateRef:function(r,o){n.value[o]=r}}}const makeVPaginationProps=propsFactory({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:n=>n.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:n=>n%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":n=>!0,first:n=>!0,prev:n=>!0,next:n=>!0,last:n=>!0},setup(n,r){let{slots:o,emit:a}=r;const s=useProxiedModel(n,"modelValue"),{t:l,n:c}=useLocale(),{isRtl:u}=useRtl(),{themeClasses:d}=provideTheme(n),{width:f}=useDisplay(),m=shallowRef(-1);provideDefaults(void 0,{scoped:!0});const{resizeRef:g}=useResizeObserver((n=>{if(!n.length)return;const{target:r,contentRect:o}=n[0],a=r.querySelector(".v-pagination__list > *");if(!a)return;const s=o.width,l=a.offsetWidth+2*parseFloat(getComputedStyle(a).marginRight);m.value=w(s,l)})),b=computed((()=>parseInt(n.length,10))),S=computed((()=>parseInt(n.start,10))),k=computed((()=>null!=n.totalVisible?parseInt(n.totalVisible,10):m.value>=0?m.value:w(f.value,58)));function w(r,o){const a=n.showFirstLastPage?5:3;return Math.max(0,Math.floor(+((r-o*a)/o).toFixed(2)))}const E=computed((()=>{if(b.value<=0||isNaN(b.value)||b.value>Number.MAX_SAFE_INTEGER)return[];if(k.value<=0)return[];if(1===k.value)return[s.value];if(b.value<=k.value)return createRange(b.value,S.value);const r=k.value%2==0,o=r?k.value/2:Math.floor(k.value/2),a=r?o:o+1,l=b.value-o;if(a-s.value>=0)return[...createRange(Math.max(1,k.value-1),S.value),n.ellipsis,b.value];if(s.value-l>=(r?1:0)){const r=k.value-1,o=b.value-r+S.value;return[S.value,n.ellipsis,...createRange(r,o)]}{const r=Math.max(1,k.value-2),o=1===r?s.value:s.value-Math.ceil(r/2)+S.value;return[S.value,n.ellipsis,...createRange(r,o),n.ellipsis,b.value]}}));function C(n,r,o){n.preventDefault(),s.value=r,o&&a(o,r)}const{refs:T,updateRef:I}=useRefs();provideDefaults({VPaginationBtn:{color:toRef(n,"color"),border:toRef(n,"border"),density:toRef(n,"density"),size:toRef(n,"size"),variant:toRef(n,"variant"),rounded:toRef(n,"rounded"),elevation:toRef(n,"elevation")}});const P=computed((()=>E.value.map(((r,o)=>{const a=n=>I(n,o);if("string"==typeof r)return{isActive:!1,key:`ellipsis-${o}`,page:r,props:{ref:a,ellipsis:!0,icon:!0,disabled:!0}};{const o=r===s.value;return{isActive:o,key:r,page:c(r),props:{ref:a,ellipsis:!1,icon:!0,disabled:!!n.disabled||+n.length<2,color:o?n.activeColor:n.color,"aria-current":o,"aria-label":l(o?n.currentPageAriaLabel:n.pageAriaLabel,r),onClick:n=>C(n,r)}}}})))),D=computed((()=>{const r=!!n.disabled||s.value<=S.value,o=!!n.disabled||s.value>=S.value+b.value-1;return{first:n.showFirstLastPage?{icon:u.value?n.lastIcon:n.firstIcon,onClick:n=>C(n,S.value,"first"),disabled:r,"aria-label":l(n.firstAriaLabel),"aria-disabled":r}:void 0,prev:{icon:u.value?n.nextIcon:n.prevIcon,onClick:n=>C(n,s.value-1,"prev"),disabled:r,"aria-label":l(n.previousAriaLabel),"aria-disabled":r},next:{icon:u.value?n.prevIcon:n.nextIcon,onClick:n=>C(n,s.value+1,"next"),disabled:o,"aria-label":l(n.nextAriaLabel),"aria-disabled":o},last:n.showFirstLastPage?{icon:u.value?n.firstIcon:n.lastIcon,onClick:n=>C(n,S.value+b.value-1,"last"),disabled:o,"aria-label":l(n.lastAriaLabel),"aria-disabled":o}:void 0}}));function O(){const n=s.value-S.value;T.value[n]?.$el.focus()}function A(r){r.key===keyValues.left&&!n.disabled&&s.value>+n.start?(s.value=s.value-1,nextTick$2(O)):r.key===keyValues.right&&!n.disabled&&s.value<S.value+b.value-1&&(s.value=s.value+1,nextTick$2(O))}return useRender((()=>createVNode(n.tag,{ref:g,class:["v-pagination",d.value,n.class],style:n.style,role:"navigation","aria-label":l(n.ariaLabel),onKeydown:A,"data-test":"v-pagination-root"},{default:()=>[createVNode("ul",{class:"v-pagination__list"},[n.showFirstLastPage&&createVNode("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[o.first?o.first(D.value.first):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},D.value.first),null)]),createVNode("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[o.prev?o.prev(D.value.prev):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},D.value.prev),null)]),P.value.map(((n,r)=>createVNode("li",{key:n.key,class:["v-pagination__item",{"v-pagination__item--is-active":n.isActive}],"data-test":"v-pagination-item"},[o.item?o.item(n):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},n.props),{default:()=>[n.page]})]))),createVNode("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[o.next?o.next(D.value.next):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},D.value.next),null)]),n.showFirstLastPage&&createVNode("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[o.last?o.last(D.value.last):createVNode(VBtn,mergeProps({_as:"VPaginationBtn"},D.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(n,r){let{slots:o}=r;const{t:a}=useLocale(),{page:s,pageCount:l,startIndex:c,stopIndex:u,itemsLength:d,itemsPerPage:f,setItemsPerPage:m}=usePagination(),g=computed((()=>n.itemsPerPageOptions.map((n=>"number"==typeof n?{value:n,title:-1===n?a("$vuetify.dataFooter.itemsPerPageAll"):String(n)}:{...n,title:isNaN(Number(n.title))?a(n.title):n.title}))));return useRender((()=>{const r=VPagination.filterProps(n);return createVNode("div",{class:"v-data-table-footer"},[o.prepend?.(),createVNode("div",{class:"v-data-table-footer__items-per-page"},[createVNode("span",null,[a(n.itemsPerPageText)]),createVNode(VSelect,{items:g.value,modelValue:f.value,"onUpdate:modelValue":n=>m(Number(n)),density:"compact",variant:"outlined","hide-details":!0},null)]),createVNode("div",{class:"v-data-table-footer__info"},[createVNode("div",null,[a(n.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":n=>s.value=n,density:"comfortable","first-aria-label":n.firstPageLabel,"last-aria-label":n.lastPageLabel,length:l.value,"next-aria-label":n.nextPageLabel,"previous-aria-label":n.prevPageLabel,rounded:!0,"show-first-last-page":!0,"total-visible":n.showCurrentPage?1:0,variant:"plain"},r),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},((n,r)=>{let{slots:o}=r;const a=n.tag??"td";return createVNode(a,{class:["v-data-table__td",{"v-data-table-column--fixed":n.fixed,"v-data-table-column--last-fixed":n.lastFixed,"v-data-table-column--no-padding":n.noPadding,"v-data-table-column--nowrap":n.nowrap},`v-data-table-column--align-${n.align}`],style:{height:convertToUnit(n.height),width:convertToUnit(n.width),maxWidth:convertToUnit(n.maxWidth),left:convertToUnit(n.fixedOffset||null)}},{default:()=>[o.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 n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((n=>({element:n,priority:0})));return{enqueue:(r,o)=>{let a=!1;for(let s=0;s<n.length;s++){if(n[s].priority>o){n.splice(s,0,{element:r,priority:o}),a=!0;break}}a||n.push({element:r,priority:o})},size:()=>n.length,count:()=>{let r=0;if(!n.length)return 0;const o=Math.floor(n[0].priority);for(let a=0;a<n.length;a++)Math.floor(n[a].priority)===o&&(r+=1);return r},dequeue:()=>n.shift()}}function extractLeaves(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(n.children)for(const o of n.children)extractLeaves(o,r);else r.push(n);return r}function extractKeys(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const o of n)o.key&&r.add(o.key),o.children&&extractKeys(o.children,r);return r}function getDefaultItem(n){if(n.key)return"data-table-group"===n.key?defaultHeader:["data-table-expand","data-table-select"].includes(n.key)?defaultActionHeader:void 0}function getDepth(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return n.children?Math.max(r,...n.children.map((n=>getDepth(n,r+1)))):r}function parseFixedColumns(n){let r=!1;function o(n){if(n)if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(n.fixed=!0),n.fixed)if(n.children)for(let r=n.children.length-1;r>=0;r--)o(n.children[r],!0);else r?isNaN(+n.width)&&consoleError(`Multiple fixed columns should have a static width (key: ${n.key})`):n.lastFixed=!0,r=!0;else if(n.children)for(let r=n.children.length-1;r>=0;r--)o(n.children[r]);else r=!1}for(let l=n.length-1;l>=0;l--)o(n[l]);function a(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!n)return r;if(n.children){n.fixedOffset=r;for(const o of n.children)r=a(o,r)}else n.fixed&&(n.fixedOffset=r,r+=parseFloat(n.width||"0")||0);return r}let s=0;for(const l of n)s=a(l,s)}function parse(n,r){const o=[];let a=0;const s=priorityQueue(n);for(;s.size()>0;){let n=s.count();const l=[];let c=1;for(;n>0;){const{element:o,priority:u}=s.dequeue(),d=r-a-getDepth(o);if(l.push({...o,rowspan:d??1,colspan:o.children?extractLeaves(o).length:1}),o.children)for(const n of o.children){const r=u%1+c/Math.pow(10,a+2);s.enqueue(n,a+d+r)}c+=1,n-=1}a+=1,o.push(l)}return{columns:n.map((n=>extractLeaves(n))).flat(),headers:o}}function convertToInternalHeaders(n){const r=[];for(const o of n){const n={...getDefaultItem(o),...o},a=n.key??("string"==typeof n.value?n.value:null),s=n.value??a??null,l={...n,key:a,value:s,sortable:n.sortable??(null!=n.key||!!n.sort),children:n.children?convertToInternalHeaders(n.children):void 0};r.push(l)}return r}function createHeaders(n,r){const o=ref([]),a=ref([]),s=ref({}),l=ref({}),c=ref({});watchEffect((()=>{const u=(n.headers||Object.keys(n.items[0]??{}).map((n=>({key:n,title:capitalize(n)})))).slice(),d=extractKeys(u);r?.groupBy?.value.length&&!d.has("data-table-group")&&u.unshift({key:"data-table-group",title:"Group"}),r?.showSelect?.value&&!d.has("data-table-select")&&u.unshift({key:"data-table-select"}),r?.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((n=>getDepth(n))))+1,g=parse(f,m);o.value=g.headers,a.value=g.columns;const b=g.headers.flat(1);for(const n of b)n.key&&(n.sortable&&(n.sort&&(s.value[n.key]=n.sort),n.sortRaw&&(l.value[n.key]=n.sortRaw)),n.filter&&(c.value[n.key]=n.filter))}));const u={headers:o,columns:a,sortFunctions:s,sortRawFunctions:l,filterFunctions:c};return provide(VDataTableHeadersSymbol,u),u}function useHeaders(){const n=inject$1(VDataTableHeadersSymbol);if(!n)throw new Error("Missing headers!");return n}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(n,r){let{slots:o}=r;const{t:a}=useLocale(),{toggleSort:s,sortBy:l,isSorted:c}=useSort(),{someSelected:u,allSelected:d,selectAll:f,showSelectAll:m}=useSelection(),{columns:g,headers:b}=useHeaders(),{loaderClasses:S}=useLoader(n);function k(r,o){if(n.sticky||n.fixedHeader||r.fixed)return{position:"sticky",left:r.fixed?convertToUnit(r.fixedOffset):void 0,top:n.sticky||n.fixedHeader?`calc(var(--v-table-header-height) * ${o})`:void 0}}function w(r){const o=l.value.find((n=>n.key===r.key));return o?"asc"===o.order?n.sortAscIcon:n.sortDescIcon:n.sortAscIcon}const{backgroundColorClasses:E,backgroundColorStyles:C}=useBackgroundColor(n,"color"),{displayClasses:T,mobile:I}=useDisplay(n),P=computed((()=>({headers:b.value,columns:g.value,toggleSort:s,isSorted:c,sortBy:l.value,someSelected:u.value,allSelected:d.value,selectAll:f,getSortIcon:w}))),D=computed((()=>["v-data-table__th",{"v-data-table__th--sticky":n.sticky||n.fixedHeader},T.value,S.value])),O=r=>{let{column:a,x:g,y:b}=r;const S="data-table-select"===a.key||"data-table-expand"===a.key,T=mergeProps(n.headerProps??{},a.headerProps??{});return createVNode(VDataTableColumn,mergeProps({tag:"th",align:a.align,class:[{"v-data-table__th--sortable":a.sortable&&!n.disableSort,"v-data-table__th--sorted":c(a),"v-data-table__th--fixed":a.fixed},...D.value],style:{width:convertToUnit(a.width),minWidth:convertToUnit(a.minWidth),maxWidth:convertToUnit(a.maxWidth),...k(a,b)},colspan:a.colspan,rowspan:a.rowspan,onClick:a.sortable?()=>s(a):void 0,fixed:a.fixed,nowrap:a.nowrap,lastFixed:a.lastFixed,noPadding:S},T),{default:()=>{const r=`header.${a.key}`,g={column:a,selectAll:f,isSorted:c,toggleSort:s,sortBy:l.value,someSelected:u.value,allSelected:d.value,getSortIcon:w};return o[r]?o[r](g):"data-table-select"===a.key?o["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&&!n.disableSort&&createVNode(VIcon,{key:"icon",class:"v-data-table-header__sort-icon",icon:w(a)},null),n.multiSort&&c(a)&&createVNode("div",{key:"badge",class:["v-data-table-header__sort-badge",...E.value],style:C.value},[l.value.findIndex((n=>n.key===a.key))+1])])}})},A=()=>{const r=mergeProps(n.headerProps??{}??{}),m=computed((()=>g.value.filter((r=>r?.sortable&&!n.disableSort)))),S=computed((()=>{if(null!=g.value.find((n=>"data-table-select"===n.key)))return d.value?"$checkboxOn":u.value?"$checkboxIndeterminate":"$checkboxOff"}));return createVNode(VDataTableColumn,mergeProps({tag:"th",class:[...D.value],colspan:b.value.length+1},r),{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:n.multiSort,variant:"underlined","onClick:clear":()=>l.value=[],appendIcon:S.value,"onClick:append":()=>f(!d.value)},{...o,chip:n=>createVNode(VChip,{onClick:n.item.raw?.sortable?()=>s(n.item.raw):void 0,onMousedown:n=>{n.preventDefault(),n.stopPropagation()}},{default:()=>[n.item.title,createVNode(VIcon,{class:["v-data-table__td-sort-icon",c(n.item.raw)&&"v-data-table__td-sort-icon-active"],icon:w(n.item.raw),size:"small"},null)]})})])]})};useRender((()=>I.value?createVNode("tr",null,[createVNode(A,null,null)]):createVNode(Fragment,null,[o.headers?o.headers(P.value):b.value.map(((n,r)=>createVNode("tr",null,[n.map(((n,o)=>createVNode(O,{column:n,x:o,y:r},null)))]))),n.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 n.loading?void 0:n.loading,indeterminate:!0},{default:o.loader})])])])))}}),makeVDataTableGroupHeaderRowProps=propsFactory({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),VDataTableGroupHeaderRow=genericComponent()({name:"VDataTableGroupHeaderRow",props:makeVDataTableGroupHeaderRowProps(),setup(n,r){let{slots:o}=r;const{isGroupOpen:a,toggleGroup:s,extractRows:l}=useGroupBy(),{isSelected:c,isSomeSelected:u,select:d}=useSelection(),{columns:f}=useHeaders(),m=computed((()=>l([n.item])));return()=>createVNode("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":n.item.depth}},[f.value.map((r=>{if("data-table-group"===r.key){const r=a(n.item)?"$expand":"$next",l=()=>s(n.item);return o["data-table-group"]?.({item:n.item,count:m.value.length,props:{icon:r,onClick:l}})??createVNode(VDataTableColumn,{class:"v-data-table-group-header-row__column"},{default:()=>[createVNode(VBtn,{size:"small",variant:"text",icon:r,onClick:l},null),createVNode("span",null,[n.item.value]),createVNode("span",null,[createTextVNode("("),m.value.length,createTextVNode(")")])]})}if("data-table-select"===r.key){const n=c(m.value),r=u(m.value)&&!n,a=n=>d(m.value,n);return o["data-table-select"]?.({props:{modelValue:n,indeterminate:r,"onUpdate:modelValue":a}})??createVNode("td",null,[createVNode(VCheckboxBtn,{modelValue:n,indeterminate:r,"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(n,r){let{slots:o}=r;const{displayClasses:a,mobile:s}=useDisplay(n,"v-data-table__tr"),{isSelected:l,toggleSelect:c,someSelected:u,allSelected:d,selectAll:f}=useSelection(),{isExpanded:m,toggleExpand:g}=useExpanded(),{toggleSort:b,sortBy:S,isSorted:k}=useSort(),{columns:w}=useHeaders();useRender((()=>createVNode("tr",{class:["v-data-table__tr",{"v-data-table__tr--clickable":!!(n.onClick||n.onContextmenu||n.onDblclick)},a.value],onClick:n.onClick,onContextmenu:n.onContextmenu,onDblclick:n.onDblclick},[n.item&&w.value.map(((r,a)=>{const w=n.item,E=`item.${r.key}`,C=`header.${r.key}`,T={index:n.index,item:w.raw,internalItem:w,value:getObjectValueByPath(w.columns,r.key),column:r,isSelected:l,toggleSelect:c,isExpanded:m,toggleExpand:g},I={column:r,selectAll:f,isSorted:k,toggleSort:b,sortBy:S.value,someSelected:u.value,allSelected:d.value,getSortIcon:()=>""},P="function"==typeof n.cellProps?n.cellProps({index:T.index,item:T.item,internalItem:T.internalItem,value:T.value,column:r}):n.cellProps,D="function"==typeof r.cellProps?r.cellProps({index:T.index,item:T.item,internalItem:T.internalItem,value:T.value}):r.cellProps;return createVNode(VDataTableColumn,mergeProps({align:r.align,class:{"v-data-table__td--expanded-row":"data-table-expand"===r.key,"v-data-table__td--select-row":"data-table-select"===r.key},fixed:r.fixed,fixedOffset:r.fixedOffset,lastFixed:r.lastFixed,maxWidth:s.value?void 0:r.maxWidth,noPadding:"data-table-select"===r.key||"data-table-expand"===r.key,nowrap:r.nowrap,width:s.value?void 0:r.width},P,D),{default:()=>{if(o[E]&&!s.value)return o[E]?.(T);if("data-table-select"===r.key)return o["item.data-table-select"]?.(T)??createVNode(VCheckboxBtn,{disabled:!w.selectable,modelValue:l([w]),onClick:withModifiers((()=>c(w)),["stop"])},null);if("data-table-expand"===r.key)return o["item.data-table-expand"]?.(T)??createVNode(VBtn,{icon:m(w)?"$collapse":"$expand",size:"small",variant:"text",onClick:withModifiers((()=>g(w)),["stop"])},null);const n=toDisplayString(T.value);return s.value?createVNode(Fragment,null,[createVNode("div",{class:"v-data-table__td-title"},[o[C]?.(I)??r.title]),createVNode("div",{class:"v-data-table__td-value"},[o[E]?.(T)??n])]):n}})}))])))}}),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(n,r){let{attrs:o,slots:a}=r;const{columns:s}=useHeaders(),{expandOnClick:l,toggleExpand:c,isExpanded:u}=useExpanded(),{isSelected:d,toggleSelect:f}=useSelection(),{toggleGroup:m,isGroupOpen:g}=useGroupBy(),{t:b}=useLocale(),{mobile:S}=useDisplay(n);return useRender((()=>!n.loading||n.items.length&&!a.loading?n.loading||n.items.length||n.hideNoData?createVNode(Fragment,null,[n.items.map(((r,b)=>{if("group"===r.type){const n={index:b,item:r,columns:s.value,isExpanded:u,toggleExpand:c,isSelected:d,toggleSelect:f,toggleGroup:m,isGroupOpen:g};return a["group-header"]?a["group-header"](n):createVNode(VDataTableGroupHeaderRow,mergeProps({key:`group-header_${r.id}`,item:r},getPrefixedEventHandlers(o,":group-header",(()=>n))),a)}const k={index:b,item:r.raw,internalItem:r,columns:s.value,isExpanded:u,toggleExpand:c,isSelected:d,toggleSelect:f},w={...k,props:mergeProps({key:`item_${r.key??r.index}`,onClick:l.value?()=>{c(r)}:void 0,index:b,item:r,cellProps:n.cellProps,mobile:S.value},getPrefixedEventHandlers(o,":row",(()=>k)),"function"==typeof n.rowProps?n.rowProps({item:k.item,index:k.index,internalItem:k.internalItem}):n.rowProps)};return createVNode(Fragment,{key:w.props.key},[a.item?a.item(w):createVNode(VDataTableRow,w.props,a),u(r)&&a["expanded-row"]?.(k)])}))]):createVNode("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[createVNode("td",{colspan:s.value.length},[a["no-data"]?.()??b(n.noDataText)])]):createVNode("tr",{class:"v-data-table-rows-loading",key:"loading"},[createVNode("td",{colspan:s.value.length},[a.loading?.()??b(n.loadingText)])]))),{}}}),makeVTableProps=propsFactory({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...makeComponentProps(),...makeDensityProps(),...makeTagProps(),...makeThemeProps()},"VTable"),VTable=genericComponent()({name:"VTable",props:makeVTableProps(),setup(n,r){let{slots:o,emit:a}=r;const{themeClasses:s}=provideTheme(n),{densityClasses:l}=useDensity(n);return useRender((()=>createVNode(n.tag,{class:["v-table",{"v-table--fixed-height":!!n.height,"v-table--fixed-header":n.fixedHeader,"v-table--fixed-footer":n.fixedFooter,"v-table--has-top":!!o.top,"v-table--has-bottom":!!o.bottom,"v-table--hover":n.hover},s.value,l.value,n.class],style:n.style},{default:()=>[o.top?.(),o.default?createVNode("div",{class:"v-table__wrapper",style:{height:convertToUnit(n.height)}},[createVNode("table",null,[o.default()])]):o.wrapper?.(),o.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(n,r,o,a){const s=n.returnObject?r:getPropertyFromItem(r,n.itemValue),l=getPropertyFromItem(r,n.itemSelectable,!0),c=a.reduce(((n,o)=>(null!=o.key&&(n[o.key]=getPropertyFromItem(r,o.value)),n)),{});return{type:"item",key:n.returnObject?getPropertyFromItem(r,n.itemValue):s,index:o,value:s,selectable:l,columns:c,raw:r}}function transformItems(n,r,o){return r.map(((r,a)=>transformItem(n,r,a,o)))}function useDataTableItems(n,r){return{items:computed((()=>transformItems(n,n.items,r.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":n=>!0,"update:page":n=>!0,"update:itemsPerPage":n=>!0,"update:sortBy":n=>!0,"update:options":n=>!0,"update:groupBy":n=>!0,"update:expanded":n=>!0,"update:currentItems":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const{groupBy:s}=createGroupBy(n),{sortBy:l,multiSort:c,mustSort:u}=createSort(n),{page:d,itemsPerPage:f}=createPagination(n),{disableSort:m}=toRefs(n),{columns:g,headers:b,sortFunctions:S,sortRawFunctions:k,filterFunctions:w}=createHeaders(n,{groupBy:s,showSelect:toRef(n,"showSelect"),showExpand:toRef(n,"showExpand")}),{items:E}=useDataTableItems(n,g),C=toRef(n,"search"),{filteredItems:T}=useFilter(n,E,C,{transform:n=>n.columns,customKeyFilter:w}),{toggleSort:I}=provideSort({sortBy:l,multiSort:c,mustSort:u,page:d}),{sortByWithGroups:P,opened:D,extractRows:O,isGroupOpen:A,toggleGroup:eo}=provideGroupBy({groupBy:s,sortBy:l,disableSort:m}),{sortedItems:no}=useSortedItems(n,T,P,{transform:n=>({...n.raw,...n.columns}),sortFunctions:S,sortRawFunctions:k}),{flatItems:ro}=useGroupedItems(no,s,D),oo=computed((()=>ro.value.length)),{startIndex:ao,stopIndex:io,pageCount:so,setItemsPerPage:lo}=providePagination({page:d,itemsPerPage:f,itemsLength:oo}),{paginatedItems:co}=usePaginatedItems({items:ro,startIndex:ao,stopIndex:io,itemsPerPage:f}),uo=computed((()=>O(co.value))),{isSelected:po,select:fo,selectAll:ho,toggleSelect:mo,someSelected:go,allSelected:vo}=provideSelection(n,{allItems:E,currentPage:uo}),{isExpanded:yo,toggleExpand:bo}=provideExpanded(n);useOptions({page:d,itemsPerPage:f,sortBy:l,groupBy:s,search:C}),provideDefaults({VDataTableRows:{hideNoData:toRef(n,"hideNoData"),noDataText:toRef(n,"noDataText"),loading:toRef(n,"loading"),loadingText:toRef(n,"loadingText")}});const _o=computed((()=>({page:d.value,itemsPerPage:f.value,sortBy:l.value,pageCount:so.value,toggleSort:I,setItemsPerPage:lo,someSelected:go.value,allSelected:vo.value,isSelected:po,select:fo,selectAll:ho,toggleSelect:mo,isExpanded:yo,toggleExpand:bo,isGroupOpen:A,toggleGroup:eo,items:uo.value.map((n=>n.raw)),internalItems:uo.value,groupedItems:co.value,columns:g.value,headers:b.value})));return useRender((()=>{const r=VDataTableFooter.filterProps(n),s=VDataTableHeaders.filterProps(n),l=VDataTableRows.filterProps(n),c=VTable.filterProps(n);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--show-select":n.showSelect,"v-data-table--loading":n.loading},n.class],style:n.style},c,{fixedHeader:n.fixedHeader||n.sticky}),{top:()=>a.top?.(_o.value),default:()=>a.default?a.default(_o.value):createVNode(Fragment,null,[a.colgroup?.(_o.value),!n.hideDefaultHeader&&createVNode("thead",{key:"thead"},[createVNode(VDataTableHeaders,s,a)]),a.thead?.(_o.value),!n.hideDefaultBody&&createVNode("tbody",null,[a["body.prepend"]?.(_o.value),a.body?a.body(_o.value):createVNode(VDataTableRows,mergeProps(o,l,{items:co.value}),a),a["body.append"]?.(_o.value)]),a.tbody?.(_o.value),a.tfoot?.(_o.value)]),bottom:()=>a.bottom?a.bottom(_o.value):!n.hideDefaultFooter&&createVNode(Fragment,null,[createVNode(VDivider,null,null),createVNode(VDataTableFooter,r,{prepend:a["footer.prepend"]})])})})),{}}}),makeVDataTableVirtualProps=propsFactory({...makeDataTableProps(),...makeDataTableGroupProps(),...makeVirtualProps(),...makeFilterProps()},"VDataTableVirtual"),VDataTableVirtual=genericComponent()({name:"VDataTableVirtual",props:makeVDataTableVirtualProps(),emits:{"update:modelValue":n=>!0,"update:sortBy":n=>!0,"update:options":n=>!0,"update:groupBy":n=>!0,"update:expanded":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const{groupBy:s}=createGroupBy(n),{sortBy:l,multiSort:c,mustSort:u}=createSort(n),{disableSort:d}=toRefs(n),{columns:f,headers:m,filterFunctions:g,sortFunctions:b,sortRawFunctions:S}=createHeaders(n,{groupBy:s,showSelect:toRef(n,"showSelect"),showExpand:toRef(n,"showExpand")}),{items:k}=useDataTableItems(n,f),w=toRef(n,"search"),{filteredItems:E}=useFilter(n,k,w,{transform:n=>n.columns,customKeyFilter:g}),{toggleSort:C}=provideSort({sortBy:l,multiSort:c,mustSort:u}),{sortByWithGroups:T,opened:I,extractRows:P,isGroupOpen:D,toggleGroup:O}=provideGroupBy({groupBy:s,sortBy:l,disableSort:d}),{sortedItems:A}=useSortedItems(n,E,T,{transform:n=>({...n.raw,...n.columns}),sortFunctions:b,sortRawFunctions:S}),{flatItems:eo}=useGroupedItems(A,s,I),no=computed((()=>P(eo.value))),{isSelected:ro,select:oo,selectAll:ao,toggleSelect:io,someSelected:so,allSelected:lo}=provideSelection(n,{allItems:no,currentPage:no}),{isExpanded:co,toggleExpand:uo}=provideExpanded(n),{containerRef:po,markerRef:fo,paddingTop:ho,paddingBottom:mo,computedItems:go,handleItemResize:vo,handleScroll:yo,handleScrollend:bo}=useVirtual(n,eo),_o=computed((()=>go.value.map((n=>n.raw))));useOptions({sortBy:l,page:shallowRef(1),itemsPerPage:shallowRef(-1),groupBy:s,search:w}),provideDefaults({VDataTableRows:{hideNoData:toRef(n,"hideNoData"),noDataText:toRef(n,"noDataText"),loading:toRef(n,"loading"),loadingText:toRef(n,"loadingText")}});const So=computed((()=>({sortBy:l.value,toggleSort:C,someSelected:so.value,allSelected:lo.value,isSelected:ro,select:oo,selectAll:ao,toggleSelect:io,isExpanded:co,toggleExpand:uo,isGroupOpen:D,toggleGroup:O,items:no.value.map((n=>n.raw)),internalItems:no.value,groupedItems:eo.value,columns:f.value,headers:m.value})));useRender((()=>{const r=VDataTableHeaders.filterProps(n),s=VDataTableRows.filterProps(n),l=VTable.filterProps(n);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--loading":n.loading},n.class],style:n.style},l,{fixedHeader:n.fixedHeader||n.sticky}),{top:()=>a.top?.(So.value),wrapper:()=>createVNode("div",{ref:po,onScrollPassive:yo,onScrollend:bo,class:"v-table__wrapper",style:{height:convertToUnit(n.height)}},[createVNode("table",null,[a.colgroup?.(So.value),!n.hideDefaultHeader&&createVNode("thead",{key:"thead"},[createVNode(VDataTableHeaders,r,a)]),!n.hideDefaultBody&&createVNode("tbody",null,[createVNode("tr",{ref:fo,style:{height:convertToUnit(ho.value),border:0}},[createVNode("td",{colspan:f.value.length,style:{height:0,border:0}},null)]),a["body.prepend"]?.(So.value),createVNode(VDataTableRows,mergeProps(o,s,{items:_o.value}),{...a,item:n=>createVNode(VVirtualScrollItem,{key:n.internalItem.index,renderless:!0,"onUpdate:height":r=>vo(n.internalItem.index,r)},{default:r=>{let{itemRef:o}=r;return a.item?.({...n,itemRef:o})??createVNode(VDataTableRow,mergeProps(n.props,{ref:o,key:n.internalItem.index,index:n.internalItem.index}),a)}})}),a["body.append"]?.(So.value),createVNode("tr",{style:{height:convertToUnit(mo.value),border:0}},[createVNode("td",{colspan:f.value.length,style:{height:0,border:0}},null)])])])]),bottom:()=>a.bottom?.(So.value)})}))}}),makeVDataTableServerProps=propsFactory({itemsLength:{type:[Number,String],required:!0},...makeDataTablePaginateProps(),...makeDataTableProps(),...makeVDataTableFooterProps()},"VDataTableServer"),VDataTableServer=genericComponent()({name:"VDataTableServer",props:makeVDataTableServerProps(),emits:{"update:modelValue":n=>!0,"update:page":n=>!0,"update:itemsPerPage":n=>!0,"update:sortBy":n=>!0,"update:options":n=>!0,"update:expanded":n=>!0,"update:groupBy":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const{groupBy:s}=createGroupBy(n),{sortBy:l,multiSort:c,mustSort:u}=createSort(n),{page:d,itemsPerPage:f}=createPagination(n),{disableSort:m}=toRefs(n),g=computed((()=>parseInt(n.itemsLength,10))),{columns:b,headers:S}=createHeaders(n,{groupBy:s,showSelect:toRef(n,"showSelect"),showExpand:toRef(n,"showExpand")}),{items:k}=useDataTableItems(n,b),{toggleSort:w}=provideSort({sortBy:l,multiSort:c,mustSort:u,page:d}),{opened:E,isGroupOpen:C,toggleGroup:T,extractRows:I}=provideGroupBy({groupBy:s,sortBy:l,disableSort:m}),{pageCount:P,setItemsPerPage:D}=providePagination({page:d,itemsPerPage:f,itemsLength:g}),{flatItems:O}=useGroupedItems(k,s,E),{isSelected:A,select:eo,selectAll:no,toggleSelect:ro,someSelected:oo,allSelected:ao}=provideSelection(n,{allItems:k,currentPage:k}),{isExpanded:io,toggleExpand:so}=provideExpanded(n),lo=computed((()=>I(k.value)));useOptions({page:d,itemsPerPage:f,sortBy:l,groupBy:s,search:toRef(n,"search")}),provide("v-data-table",{toggleSort:w,sortBy:l}),provideDefaults({VDataTableRows:{hideNoData:toRef(n,"hideNoData"),noDataText:toRef(n,"noDataText"),loading:toRef(n,"loading"),loadingText:toRef(n,"loadingText")}});const co=computed((()=>({page:d.value,itemsPerPage:f.value,sortBy:l.value,pageCount:P.value,toggleSort:w,setItemsPerPage:D,someSelected:oo.value,allSelected:ao.value,isSelected:A,select:eo,selectAll:no,toggleSelect:ro,isExpanded:io,toggleExpand:so,isGroupOpen:C,toggleGroup:T,items:lo.value.map((n=>n.raw)),internalItems:lo.value,groupedItems:O.value,columns:b.value,headers:S.value})));useRender((()=>{const r=VDataTableFooter.filterProps(n),s=VDataTableHeaders.filterProps(n),l=VDataTableRows.filterProps(n),c=VTable.filterProps(n);return createVNode(VTable,mergeProps({class:["v-data-table",{"v-data-table--loading":n.loading},n.class],style:n.style},c,{fixedHeader:n.fixedHeader||n.sticky}),{top:()=>a.top?.(co.value),default:()=>a.default?a.default(co.value):createVNode(Fragment,null,[a.colgroup?.(co.value),!n.hideDefaultHeader&&createVNode("thead",{key:"thead",class:"v-data-table__thead",role:"rowgroup"},[createVNode(VDataTableHeaders,s,a)]),a.thead?.(co.value),!n.hideDefaultBody&&createVNode("tbody",{class:"v-data-table__tbody",role:"rowgroup"},[a["body.prepend"]?.(co.value),a.body?a.body(co.value):createVNode(VDataTableRows,mergeProps(o,l,{items:O.value}),a),a["body.append"]?.(co.value)]),a.tbody?.(co.value),a.tfoot?.(co.value)]),bottom:()=>a.bottom?a.bottom(co.value):!n.hideDefaultFooter&&createVNode(Fragment,null,[createVNode(VDivider,null,null),createVNode(VDataTableFooter,r,{prepend:a["footer.prepend"]})])})}))}}),makeVContainerProps=propsFactory({fluid:{type:Boolean,default:!1},...makeComponentProps(),...makeDimensionProps(),...makeTagProps()},"VContainer"),VContainer=genericComponent()({name:"VContainer",props:makeVContainerProps(),setup(n,r){let{slots:o}=r;const{rtlClasses:a}=useRtl(),{dimensionStyles:s}=useDimension(n);return useRender((()=>createVNode(n.tag,{class:["v-container",{"v-container--fluid":n.fluid},a.value,n.class],style:[s.value,n.style]},o))),{}}}),breakpointProps=breakpoints.reduce(((n,r)=>(n[r]={type:[Boolean,String,Number],default:!1},n)),{}),offsetProps=breakpoints.reduce(((n,r)=>(n["offset"+capitalize(r)]={type:[String,Number],default:null},n)),{}),orderProps=breakpoints.reduce(((n,r)=>(n["order"+capitalize(r)]={type:[String,Number],default:null},n)),{}),propMap$1={col:Object.keys(breakpointProps),offset:Object.keys(offsetProps),order:Object.keys(orderProps)};function breakpointClass$1(n,r,o){let a=n;if(null!=o&&!1!==o){if(r){a+=`-${r.replace(n,"")}`}return"col"===n&&(a="v-"+a),"col"!==n||""!==o&&!0!==o?(a+=`-${o}`,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:n=>ALIGN_SELF_VALUES.includes(n)},...makeComponentProps(),...makeTagProps()},"VCol"),VCol=genericComponent()({name:"VCol",props:makeVColProps(),setup(n,r){let{slots:o}=r;const a=computed((()=>{const r=[];let o;for(o in propMap$1)propMap$1[o].forEach((a=>{const s=n[a],l=breakpointClass$1(o,a,s);l&&r.push(l)}));const a=r.some((n=>n.startsWith("v-col-")));return r.push({"v-col":!a||!n.cols,[`v-col-${n.cols}`]:n.cols,[`offset-${n.offset}`]:n.offset,[`order-${n.order}`]:n.order,[`align-self-${n.alignSelf}`]:n.alignSelf}),r}));return()=>h$2(n.tag,{class:[a.value,n.class],style:n.style},o.default?.())}}),ALIGNMENT=["start","end","center"],SPACE=["space-between","space-around","space-evenly"];function makeRowProps(n,r){return breakpoints.reduce(((o,a)=>(o[n+capitalize(a)]=r(),o)),{})}const ALIGN_VALUES=[...ALIGNMENT,"baseline","stretch"],alignValidator=n=>ALIGN_VALUES.includes(n),alignProps=makeRowProps("align",(()=>({type:String,default:null,validator:alignValidator}))),JUSTIFY_VALUES=[...ALIGNMENT,...SPACE],justifyValidator=n=>JUSTIFY_VALUES.includes(n),justifyProps=makeRowProps("justify",(()=>({type:String,default:null,validator:justifyValidator}))),ALIGN_CONTENT_VALUES=[...ALIGNMENT,...SPACE,"stretch"],alignContentValidator=n=>ALIGN_CONTENT_VALUES.includes(n),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(n,r,o){let a=classMap[n];if(null!=o){if(r){a+=`-${r.replace(n,"")}`}return a+=`-${o}`,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(n,r){let{slots:o}=r;const a=computed((()=>{const r=[];let o;for(o in propMap)propMap[o].forEach((a=>{const s=n[a],l=breakpointClass(o,a,s);l&&r.push(l)}));return r.push({"v-row--no-gutters":n.noGutters,"v-row--dense":n.dense,[`align-${n.align}`]:n.align,[`justify-${n.justify}`]:n.justify,[`align-content-${n.alignContent}`]:n.alignContent}),r}));return()=>h$2(n.tag,{class:["v-row",a.value,n.class],style:n.style},o.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(n,r){let{emit:o}=r;const a=computed((()=>Array.isArray(n.disabled)?n.disabled.includes("text"):!!n.disabled)),s=computed((()=>Array.isArray(n.disabled)?n.disabled.includes("mode"):!!n.disabled)),l=computed((()=>Array.isArray(n.disabled)?n.disabled.includes("prev"):!!n.disabled)),c=computed((()=>Array.isArray(n.disabled)?n.disabled.includes("next"):!!n.disabled));function u(){o("click:prev")}function d(){o("click:next")}function f(){o("click:year")}function m(){o("click:month")}return useRender((()=>createVNode("div",{class:["v-date-picker-controls"]},[createVNode(VBtn,{class:"v-date-picker-controls__month-btn",disabled:a.value,text:n.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:n.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:n.prevIcon,variant:"text",onClick:u},null),createVNode(VBtn,{disabled:c.value,icon:n.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(n,r){let{emit:o,slots:a}=r;const{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(n,"color");function c(){o("click")}function u(){o("click:append")}return useRender((()=>{const r=!(!a.default&&!n.header),o=!(!a.append&&!n.appendIcon);return createVNode("div",{class:["v-date-picker-header",{"v-date-picker-header--clickable":!!n.onClick},s.value],style:l.value,onClick:c},[a.prepend&&createVNode("div",{key:"prepend",class:"v-date-picker-header__prepend"},[a.prepend()]),r&&createVNode(MaybeTransition,{key:"content",name:n.transition},{default:()=>[createVNode("div",{key:n.header,class:"v-date-picker-header__content"},[a.default?.()??n.header])]}),o&&createVNode("div",{class:"v-date-picker-header__append"},[a.append?createVNode(VDefaultsProvider,{key:"append-defaults",disabled:!n.appendIcon,defaults:{VBtn:{icon:n.appendIcon,variant:"text"}}},{default:()=>[a.append?.()]}):createVNode(VBtn,{key:"append-btn",icon:n.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(n){const r=useDate(),o=useProxiedModel(n,"modelValue",[],(n=>wrapInArray(n))),a=computed((()=>n.displayValue?r.date(n.displayValue):o.value.length>0?r.date(o.value[0]):n.min?r.date(n.min):Array.isArray(n.allowedDates)?r.date(n.allowedDates[0]):r.date())),s=useProxiedModel(n,"year",void 0,(n=>{const o=null!=n?Number(n):r.getYear(a.value);return r.startOfYear(r.setYear(r.date(),o))}),(n=>r.getYear(n))),l=useProxiedModel(n,"month",void 0,(n=>{const o=null!=n?Number(n):r.getMonth(a.value),l=r.setYear(r.startOfMonth(r.date()),r.getYear(s.value));return r.setMonth(l,o)}),(n=>r.getMonth(n))),c=computed((()=>n.firstDayOfWeek??n.weekdays[0])),u=computed((()=>{const r=Number(n.firstDayOfWeek??0);return n.weekdays.map((n=>(n+r)%7))})),d=computed((()=>{const o=r.getWeekArray(l.value,c.value),a=o.flat();if("static"===n.weeksInMonth&&a.length<42){const n=a[a.length-1];let s=[];for(let l=1;l<=42-a.length;l++)s.push(r.addDays(n,l)),l%7==0&&(o.push(s),s=[])}return o}));function f(a,s){return a.filter((n=>u.value.includes(r.toJsDate(n).getDay()))).map(((a,c)=>{const u=r.toISO(a),d=!r.isSameMonth(a,l.value),f=r.isSameDay(a,r.startOfMonth(l.value)),m=r.isSameDay(a,r.endOfMonth(l.value)),g=r.isSameDay(a,l.value);return{date:a,isoDate:u,formatted:r.format(a,"keyboardDate"),year:r.getYear(a),month:r.getMonth(a),isDisabled:S(a),isWeekStart:c%7==0,isWeekEnd:c%7==6,isToday:r.isSameDay(a,s),isAdjacent:d,isHidden:d&&!n.showAdjacentMonths,isStart:f,isSelected:o.value.some((n=>r.isSameDay(a,n))),isEnd:m,isSame:g,localized:r.format(a,"dayOfMonth")}}))}const m=computed((()=>{const o=r.startOfWeek(a.value,n.firstDayOfWeek),s=[];for(let n=0;n<=6;n++)s.push(r.addDays(o,n));return f(s,r.date())})),g=computed((()=>f(d.value.flat(),r.date()))),b=computed((()=>d.value.map((n=>n.length?getWeek(r,n[0]):null))));function S(o){if(n.disabled)return!0;const a=r.date(o);return!(!n.min||!r.isAfter(r.date(n.min),a))||(!(!n.max||!r.isAfter(a,r.date(n.max)))||(Array.isArray(n.allowedDates)&&n.allowedDates.length>0?!n.allowedDates.some((n=>r.isSameDay(r.date(n),a))):"function"==typeof n.allowedDates&&!n.allowedDates(a)))}return{displayValue:a,daysInMonth:g,daysInWeek:m,genDays:f,model:o,weeksInMonth:d,weekDays:u,weekNumbers:b}}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":n=>!0,"update:month":n=>!0,"update:year":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=ref(),{daysInMonth:l,model:c,weekNumbers:u}=useCalendar(n),d=useDate(),f=shallowRef(),m=shallowRef(),g=shallowRef(!1),b=computed((()=>g.value?n.reverseTransition:n.transition));"range"===n.multiple&&c.value.length>0&&(f.value=c.value[0],c.value.length>1&&(m.value=c.value[c.value.length-1]));const S=computed((()=>{const r=["number","string"].includes(typeof n.multiple)?Number(n.multiple):1/0;return c.value.length>=r}));function k(r){"range"===n.multiple?function(n){const r=d.startOfDay(n);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=n,m.value=void 0,c.value=[f.value];else{if(d.isSameDay(r,f.value))return f.value=void 0,void(c.value=[]);d.isBefore(r,f.value)?(m.value=d.endOfDay(f.value),f.value=r):m.value=d.endOfDay(r);const n=d.getDiff(m.value,f.value,"days"),o=[f.value];for(let r=1;r<n;r++){const n=d.addDays(f.value,r);o.push(n)}o.push(m.value),c.value=o}else f.value=r,c.value=[f.value]}(r):n.multiple?function(n){const r=c.value.findIndex((r=>d.isSameDay(r,n)));if(-1===r)c.value=[...c.value,n];else{const n=[...c.value];n.splice(r,1),c.value=n}}(r):c.value=[r]}return watch(l,((n,r)=>{r&&(g.value=d.isBefore(n[0].date,r[0].date))})),()=>createVNode("div",{class:"v-date-picker-month"},[n.showWeek&&createVNode("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!n.hideWeekdays&&createVNode("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[createTextVNode(" ")]),u.value.map((n=>createVNode("div",{class:["v-date-picker-month__day","v-date-picker-month__day--adjacent"]},[n])))]),createVNode(MaybeTransition,{name:b.value},{default:()=>[createVNode("div",{ref:s,key:l.value[0].date?.toString(),class:"v-date-picker-month__days"},[!n.hideWeekdays&&d.getWeekdays(n.firstDayOfWeek).map((n=>createVNode("div",{class:["v-date-picker-month__day","v-date-picker-month__weekday"]},[n]))),l.value.map(((r,o)=>{const s={props:{onClick:()=>k(r.date)},item:r,i:o};return S.value&&!r.isSelected&&(r.isDisabled=!0),createVNode("div",{class:["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":r.isAdjacent,"v-date-picker-month__day--hide-adjacent":r.isHidden,"v-date-picker-month__day--selected":r.isSelected,"v-date-picker-month__day--week-end":r.isWeekEnd,"v-date-picker-month__day--week-start":r.isWeekStart}],"data-v-date":r.isDisabled?void 0:r.isoDate},[(n.showAdjacentMonths||!r.isAdjacent)&&createVNode(VDefaultsProvider,{defaults:{VBtn:{class:"v-date-picker-month__day-btn",color:!r.isSelected&&!r.isToday||r.isDisabled?void 0:n.color,disabled:r.isDisabled,icon:!0,ripple:!1,text:r.localized,variant:r.isDisabled?r.isToday?"outlined":"text":r.isToday&&!r.isSelected?"outlined":"flat",onClick:()=>k(r.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":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useDate(),l=useProxiedModel(n,"modelValue"),c=computed((()=>{let r=s.startOfYear(s.date());return n.year&&(r=s.setYear(r,n.year)),createRange(12).map((o=>{const a=s.format(r,"monthShort"),l=!!(n.min&&s.isAfter(s.startOfMonth(s.date(n.min)),r)||n.max&&s.isAfter(r,s.startOfMonth(s.date(n.max))));return r=s.getNextMonth(r),{isDisabled:l,text:a,value:o}}))}));return watchEffect((()=>{l.value=l.value??s.getMonth(s.date())})),useRender((()=>createVNode("div",{class:"v-date-picker-months",style:{height:convertToUnit(n.height)}},[createVNode("div",{class:"v-date-picker-months__content"},[c.value.map(((r,s)=>{const c={active:l.value===s,color:l.value===s?n.color:void 0,disabled:r.isDisabled,rounded:!0,text:r.text,variant:l.value===r.value?"flat":"text",onClick:()=>function(n){if(l.value===n)return void o("update:modelValue",l.value);l.value=n}(s)};return a.month?.({month:r,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":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useDate(),l=useProxiedModel(n,"modelValue"),c=computed((()=>{const r=s.getYear(s.date());let o=r-100,a=r+52;n.min&&(o=s.getYear(s.date(n.min))),n.max&&(a=s.getYear(s.date(n.max)));let l=s.startOfYear(s.date());return l=s.setYear(l,o),createRange(a-o+1,o).map((n=>{const r=s.format(l,"year");return l=s.setYear(l,s.getYear(l)+1),{text:r,value:n}}))}));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(n.height)}},[createVNode("div",{class:"v-date-picker-years__content"},[c.value.map(((r,s)=>{const c={ref:l.value===r.value?u:void 0,active:l.value===r.value,color:l.value===r.value?n.color:void 0,rounded:!0,text:r.text,variant:l.value===r.value?"flat":"text",onClick:()=>{l.value!==r.value?l.value=r.value:o("update:modelValue",l.value)}};return a.year?.({year:r,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(n,r){let{slots:o}=r;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(n,"color"));return useRender((()=>{const r=VSheet.filterProps(n),l=!(!n.title&&!o.title);return createVNode(VSheet,mergeProps(r,{color:n.bgColor,class:["v-picker",{"v-picker--landscape":n.landscape,"v-picker--with-actions":!!o.actions},n.class],style:n.style}),{default:()=>[!n.hideHeader&&createVNode("div",{key:"header",class:[a.value],style:[s.value]},[l&&createVNode(VPickerTitle,{key:"picker-title"},{default:()=>[o.title?.()??n.title]}),o.header&&createVNode("div",{class:"v-picker__header"},[o.header()])]),createVNode("div",{class:"v-picker__body"},[o.default?.()]),o.actions&&createVNode(VDefaultsProvider,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[createVNode("div",{class:"v-picker__actions"},[o.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":n=>!0,"update:month":n=>!0,"update:year":n=>!0,"update:viewMode":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const s=useDate(),{t:l}=useLocale(),c=useProxiedModel(n,"modelValue",void 0,(n=>wrapInArray(n)),(r=>n.multiple?r:r[0])),u=useProxiedModel(n,"viewMode"),d=computed((()=>{const r=s.date(n.min);return n.min&&s.isValid(r)?r:null})),f=computed((()=>{const r=s.date(n.max);return n.max&&s.isValid(r)?r:null})),m=computed((()=>{const n=s.date();let r=n;return c.value?.[0]?r=s.date(c.value[0]):d.value&&s.isBefore(n,d.value)?r=d.value:f.value&&s.isAfter(n,f.value)&&(r=f.value),r&&s.isValid(r)?r:n})),g=ref(Number(n.month??s.getMonth(s.startOfMonth(m.value)))),b=ref(Number(n.year??s.getYear(s.startOfYear(s.setMonth(m.value,g.value))))),S=shallowRef(!1),k=computed((()=>n.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(n.header))),w=computed((()=>{let n=s.date();return n=s.setDate(n,1),n=s.setMonth(n,g.value),n=s.setYear(n,b.value),s.format(n,"monthAndYear")})),E=computed((()=>`date-picker-header${S.value?"-reverse":""}-transition`)),C=computed((()=>{if(n.disabled)return!0;const r=[];if("month"!==u.value)r.push("prev","next");else{let n=s.date();if(n=s.startOfMonth(n),n=s.setMonth(n,g.value),n=s.setYear(n,b.value),d.value){const o=s.addDays(s.startOfMonth(n),-1);s.isAfter(d.value,o)&&r.push("prev")}if(f.value){const o=s.addDays(s.endOfMonth(n),1);s.isAfter(o,f.value)&&r.push("next")}}return r}));function T(){g.value<11?g.value++:(b.value++,g.value=0,eo(b.value)),A(g.value)}function I(){g.value>0?g.value--:(b.value--,g.value=11,eo(b.value)),A(g.value)}function P(){u.value="month"}function D(){u.value="months"===u.value?"month":"months"}function O(){u.value="year"===u.value?"month":"year"}function A(n){"months"===u.value&&D(),o("update:month",n)}function eo(n){"year"===u.value&&O(),o("update:year",n)}return watch(c,((n,r)=>{const o=wrapInArray(r),a=wrapInArray(n);if(!a.length)return;const l=s.date(o[o.length-1]),c=s.date(a[a.length-1]),u=s.getMonth(c),d=s.getYear(c);u!==g.value&&(g.value=u,A(g.value)),d!==b.value&&(b.value=d,eo(b.value)),S.value=s.isBefore(l,c)})),useRender((()=>{const r=VPicker.filterProps(n),o=VDatePickerControls.filterProps(n),s=VDatePickerHeader.filterProps(n),m=VDatePickerMonth.filterProps(n),S=omit(VDatePickerMonths.filterProps(n),["modelValue"]),no=omit(VDatePickerYears.filterProps(n),["modelValue"]),ro={header:k.value,transition:E.value};return createVNode(VPicker,mergeProps(r,{class:["v-date-picker",`v-date-picker--${u.value}`,{"v-date-picker--show-week":n.showWeek},n.class],style:n.style}),{title:()=>a.title?.()??createVNode("div",{class:"v-date-picker__title"},[l(n.title)]),header:()=>a.header?createVNode(VDefaultsProvider,{defaults:{VDatePickerHeader:{...ro}}},{default:()=>[a.header?.(ro)]}):createVNode(VDatePickerHeader,mergeProps({key:"header"},s,ro,{onClick:"month"!==u.value?P:void 0}),{...a,default:void 0}),default:()=>createVNode(Fragment,null,[createVNode(VDatePickerControls,mergeProps(o,{disabled:C.value,text:w.value,"onClick:next":T,"onClick:prev":I,"onClick:month":D,"onClick:year":O}),null),createVNode(VFadeTransition,{hideOnLeave:!0},{default:()=>["months"===u.value?createVNode(VDatePickerMonths,mergeProps({key:"date-picker-months"},S,{modelValue:g.value,"onUpdate:modelValue":[n=>g.value=n,A],min:d.value,max:f.value,year:b.value}),null):"year"===u.value?createVNode(VDatePickerYears,mergeProps({key:"date-picker-years"},no,{modelValue:b.value,"onUpdate:modelValue":[n=>b.value=n,eo],min:d.value,max:f.value}),null):createVNode(VDatePickerMonth,mergeProps({key:"date-picker-month"},m,{modelValue:c.value,"onUpdate:modelValue":n=>c.value=n,month:g.value,"onUpdate:month":[n=>g.value=n,A],year:b.value,"onUpdate:year":[n=>b.value=n,eo],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":n=>!0},setup(n,r){let{emit:o,slots:a}=r;const{themeClasses:s}=provideTheme(n),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(n,"bgColor")),{dimensionStyles:u}=useDimension(n),{displayClasses:d}=useDisplay();function f(n){o("click:action",n)}return useRender((()=>{const r=!(!a.actions&&!n.actionText),o=!(!a.headline&&!n.headline),m=!(!a.title&&!n.title),g=!(!a.text&&!n.text),b=!!(a.media||n.image||n.icon),S=n.size||(n.image?200:96);return createVNode("div",{class:["v-empty-state",{[`v-empty-state--${n.justify}`]:!0},s.value,l.value,d.value,n.class],style:[c.value,u.value,n.style]},[b&&createVNode("div",{key:"media",class:"v-empty-state__media"},[a.media?createVNode(VDefaultsProvider,{key:"media-defaults",defaults:{VImg:{src:n.image,height:S},VIcon:{size:S,icon:n.icon}}},{default:()=>[a.media()]}):createVNode(Fragment,null,[n.image?createVNode(VImg,{key:"image",src:n.image,height:S},null):n.icon?createVNode(VIcon,{key:"icon",color:n.color,size:S,icon:n.icon},null):void 0])]),o&&createVNode("div",{key:"headline",class:"v-empty-state__headline"},[a.headline?.()??n.headline]),m&&createVNode("div",{key:"title",class:"v-empty-state__title"},[a.title?.()??n.title]),g&&createVNode("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:convertToUnit(n.textWidth)}},[a.text?.()??n.text]),a.default&&createVNode("div",{key:"content",class:"v-empty-state__content"},[a.default()]),r&&createVNode("div",{key:"actions",class:"v-empty-state__actions"},[createVNode(VDefaultsProvider,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:n.color??"surface-variant",text:n.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(n,r){let{slots:o}=r;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(n,a.isSelected);return useRender((()=>createVNode(VExpandTransition,{onAfterLeave:l},{default:()=>[withDirectives(createVNode("div",{class:["v-expansion-panel-text",n.class],style:n.style},[o.default&&s.value&&createVNode("div",{class:"v-expansion-panel-text__wrapper"},[o.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(n,r){let{slots:o}=r;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(n,"color"),{dimensionStyles:c}=useDimension(n),u=computed((()=>({collapseIcon:n.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:n.expandIcon,readonly:n.readonly}))),d=computed((()=>a.isSelected.value?n.collapseIcon:n.expandIcon));return useRender((()=>withDirectives(createVNode("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":n.focusable,"v-expansion-panel-title--static":n.static},s.value,n.class],style:[l.value,c.value,n.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:n.readonly?void 0:a.toggle},[createVNode("span",{class:"v-expansion-panel-title__overlay"},null),o.default?.(u.value),!n.hideActions&&createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:d.value}}},{default:()=>[createVNode("span",{class:"v-expansion-panel-title__icon"},[o.actions?.(u.value)??createVNode(VIcon,null,null)])]})]),[[resolveDirective("ripple"),n.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useGroupItem(n,VExpansionPanelSymbol),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(n,"bgColor"),{elevationClasses:c}=useElevation(n),{roundedClasses:u}=useRounded(n),d=computed((()=>a?.disabled.value||n.disabled)),f=computed((()=>a.group.items.value.reduce(((n,r,o)=>(a.group.selected.value.includes(r.id)&&n.push(o),n)),[]))),m=computed((()=>{const n=a.group.items.value.findIndex((n=>n.id===a.id));return!a.isSelected.value&&f.value.some((r=>r-n==1))})),g=computed((()=>{const n=a.group.items.value.findIndex((n=>n.id===a.id));return!a.isSelected.value&&f.value.some((r=>r-n==-1))}));return provide(VExpansionPanelSymbol,a),useRender((()=>{const r=!(!o.text&&!n.text),f=!(!o.title&&!n.title),b=VExpansionPanelTitle.filterProps(n),S=VExpansionPanelText.filterProps(n);return createVNode(n.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,n.class],style:[l.value,n.style]},{default:()=>[createVNode("div",{class:["v-expansion-panel__shadow",...c.value]},null),createVNode(VDefaultsProvider,{defaults:{VExpansionPanelTitle:{...b},VExpansionPanelText:{...S}}},{default:()=>[f&&createVNode(VExpansionPanelTitle,{key:"title"},{default:()=>[o.title?o.title():n.title]}),r&&createVNode(VExpansionPanelText,{key:"text"},{default:()=>[o.text?o.text():n.text]}),o.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:n=>allowedVariants.includes(n)}},"VExpansionPanels"),VExpansionPanels=genericComponent()({name:"VExpansionPanels",props:makeVExpansionPanelsProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const{next:a,prev:s}=useGroup(n,VExpansionPanelSymbol),{themeClasses:l}=provideTheme(n),c=computed((()=>n.variant&&`v-expansion-panels--variant-${n.variant}`));return provideDefaults({VExpansionPanel:{bgColor:toRef(n,"bgColor"),collapseIcon:toRef(n,"collapseIcon"),color:toRef(n,"color"),eager:toRef(n,"eager"),elevation:toRef(n,"elevation"),expandIcon:toRef(n,"expandIcon"),focusable:toRef(n,"focusable"),hideActions:toRef(n,"hideActions"),readonly:toRef(n,"readonly"),ripple:toRef(n,"ripple"),rounded:toRef(n,"rounded"),static:toRef(n,"static")}}),useRender((()=>createVNode(n.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":n.flat,"v-expansion-panels--tile":n.tile},l.value,c.value,n.class],style:n.style},{default:()=>[o.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),s=shallowRef(56),l=ref(),{resizeRef:c}=useResizeObserver((n=>{n.length&&(s.value=n[0].target.clientHeight)})),u=computed((()=>n.app||n.absolute)),d=computed((()=>!!u.value&&(n.location?.split(" ").shift()??"bottom"))),f=computed((()=>!!u.value&&(n.location?.split(" ")[1]??"end")));useToggleScope((()=>n.app),(()=>{const r=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:d,layoutSize:computed((()=>n.layout?s.value+24:0)),elementSize:computed((()=>s.value+24)),active:computed((()=>n.app&&a.value)),absolute:toRef(n,"absolute")});watchEffect((()=>{l.value=r.layoutItemStyles.value}))}));const m=ref();return useRender((()=>{const r=VBtn.filterProps(n);return createVNode("div",{ref:m,class:["v-fab",{"v-fab--absolute":n.absolute,"v-fab--app":!!n.app,"v-fab--extended":n.extended,"v-fab--offset":n.offset,[`v-fab--${d.value}`]:u.value,[`v-fab--${f.value}`]:u.value},n.class],style:[n.app?{...l.value}:{height:n.absolute?"100%":"inherit"},n.style]},[createVNode("div",{class:"v-fab__container"},[createVNode(MaybeTransition,{appear:n.appear,transition:n.transition},{default:()=>[withDirectives(createVNode(VBtn,mergeProps({ref:c},r,{active:void 0,location:void 0}),o),[[vShow,n.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:n=>"boolean"==typeof n||[1e3,1024].includes(Number(n))},...makeVInputProps({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:n=>n.multiple?[]:null,validator:n=>wrapInArray(n).every((n=>null!=n&&"object"==typeof n))},...makeVFieldProps({clearable:!0})},"VFileInput"),VFileInput=genericComponent()({name:"VFileInput",inheritAttrs:!1,props:makeVFileInputProps(),emits:{"click:control":n=>!0,"mousedown:control":n=>!0,"update:focused":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{t:l}=useLocale(),c=useProxiedModel(n,"modelValue",n.modelValue,(n=>wrapInArray(n)),(r=>!n.multiple&&Array.isArray(r)?r[0]:r)),{isFocused:u,focus:d,blur:f}=useFocus(n),m=computed((()=>"boolean"!=typeof n.showSize?n.showSize:void 0)),g=computed((()=>(c.value??[]).reduce(((n,r)=>{let{size:o=0}=r;return n+o}),0))),b=computed((()=>humanReadableFileSize(g.value,m.value))),S=computed((()=>(c.value??[]).map((r=>{const{name:o="",size:a=0}=r;return n.showSize?`${o} (${humanReadableFileSize(a,m.value)})`:o})))),k=computed((()=>{const r=c.value?.length??0;return n.showSize?l(n.counterSizeString,r,b.value):l(n.counterString,r)})),w=ref(),E=ref(),C=ref(),T=computed((()=>u.value||n.active)),I=computed((()=>["plain","underlined"].includes(n.variant)));function P(){C.value!==document.activeElement&&C.value?.focus(),u.value||d()}function D(n){C.value?.click()}function O(n){a("mousedown:control",n)}function A(n){C.value?.click(),a("click:control",n)}function eo(r){r.stopPropagation(),P(),nextTick$2((()=>{c.value=[],callEvent(n["onClick:clear"],r)}))}function no(n){n.preventDefault()}function ro(n){n.preventDefault(),n.dataTransfer&&(c.value=[...n.dataTransfer.files??[]])}return watch(c,(n=>{(!Array.isArray(n)||!n.length)&&C.value&&(C.value.value="")})),useRender((()=>{const r=!(!s.counter&&!n.counter),a=!(!r&&!s.details),[l,d]=filterInputAttrs(o),{modelValue:m,...oo}=VInput.filterProps(n),ao=filterFieldProps(n);return createVNode(VInput,mergeProps({ref:w,modelValue:n.multiple?c.value:c.value[0],class:["v-file-input",{"v-file-input--chips":!!n.chips,"v-file-input--hide":n.hideInput,"v-input--plain-underlined":I.value},n.class],style:n.style,"onClick:prepend":D},l,oo,{centerAffix:!I.value,focused:u.value}),{...s,default:r=>{let{id:o,isDisabled:a,isDirty:l,isReadonly:m,isValid:k}=r;return createVNode(VField,mergeProps({ref:E,"prepend-icon":n.prependIcon,onMousedown:O,onClick:A,"onClick:clear":eo,"onClick:prependInner":n["onClick:prependInner"],"onClick:appendInner":n["onClick:appendInner"]},ao,{id:o.value,active:T.value||l.value,dirty:l.value||n.dirty,disabled:a.value,focused:u.value,error:!1===k.value,onDragover:no,onDrop:ro}),{...s,default:r=>{let{props:{class:o,...l}}=r;return createVNode(Fragment,null,[createVNode("input",mergeProps({ref:C,type:"file",readonly:m.value,disabled:a.value,multiple:n.multiple,name:n.name,onClick:n=>{n.stopPropagation(),m.value&&n.preventDefault(),P()},onChange:n=>{if(!n.target)return;const r=n.target;c.value=[...r.files??[]]},onFocus:P,onBlur:f},l,d),null),createVNode("div",{class:o},[!!c.value?.length&&!n.hideInput&&(s.selection?s.selection({fileNames:S.value,totalBytes:g.value,totalBytesReadable:b.value}):n.chips?S.value.map((n=>createVNode(VChip,{key:n,size:"small",text:n},null))):S.value.join(", "))])])}})},details:a?o=>createVNode(Fragment,null,[s.details?.(o),r&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:!!c.value?.length,value:k.value,disabled:n.disabled},s.counter)])]):void 0})})),forwardRefs({},w,E,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(n,r){let{slots:o}=r;const a=ref(),{themeClasses:s}=provideTheme(n),{backgroundColorClasses:l,backgroundColorStyles:c}=useBackgroundColor(toRef(n,"color")),{borderClasses:u}=useBorder(n),{elevationClasses:d}=useElevation(n),{roundedClasses:f}=useRounded(n),m=shallowRef(32),{resizeRef:g}=useResizeObserver((n=>{n.length&&(m.value=n[0].target.clientHeight)})),b=computed((()=>"auto"===n.height?m.value:parseInt(n.height,10)));return useToggleScope((()=>n.app),(()=>{const r=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:computed((()=>"bottom")),layoutSize:b,elementSize:computed((()=>"auto"===n.height?void 0:b.value)),active:computed((()=>n.app)),absolute:toRef(n,"absolute")});watchEffect((()=>{a.value=r.layoutItemStyles.value}))})),useRender((()=>createVNode(n.tag,{ref:g,class:["v-footer",s.value,l.value,u.value,d.value,f.value,n.class],style:[c.value,n.app?a.value:{height:convertToUnit(n.height)},n.style]},o))),{}}}),makeVFormProps=propsFactory({...makeComponentProps(),...makeFormProps()},"VForm"),VForm=genericComponent()({name:"VForm",props:makeVFormProps(),emits:{"update:modelValue":n=>!0,submit:n=>!0},setup(n,r){let{slots:o,emit:a}=r;const s=createForm(n),l=ref();function c(n){n.preventDefault(),s.reset()}function u(n){const r=n,o=s.validate();r.then=o.then.bind(o),r.catch=o.catch.bind(o),r.finally=o.finally.bind(o),a("submit",r),r.defaultPrevented||o.then((n=>{let{valid:r}=n;r&&l.value?.submit()})),r.preventDefault()}return useRender((()=>createVNode("form",{ref:l,class:["v-form",n.class],style:n.style,novalidate:!0,onReset:c,onSubmit:u},[o.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{runOpenDelay:s,runCloseDelay:l}=useDelay(n,(r=>!n.disabled&&(a.value=r)));return()=>o.default?.({isHovering:a.value,props:{onMouseenter:s,onMouseleave:l}})}}),makeVInfiniteScrollProps=propsFactory({color:String,direction:{type:String,default:"vertical",validator:n=>["vertical","horizontal"].includes(n)},side:{type:String,default:"end",validator:n=>["start","end","both"].includes(n)},mode:{type:String,default:"intersect",validator:n=>["intersect","manual"].includes(n)},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:(n,r)=>!0},setup(n,r){let{emit:o}=r;const{intersectionRef:a,isIntersecting:s}=useIntersectionObserver();return watch(s,(async r=>{o("intersect",n.side,r)})),useRender((()=>createVNode("div",{class:"v-infinite-scroll-intersect",style:{"--v-infinite-margin-size":n.rootMargin},ref:a},[createTextVNode(" ")]))),{}}}),VInfiniteScroll=genericComponent()({name:"VInfiniteScroll",props:makeVInfiniteScrollProps(),emits:{load:n=>!0},setup(n,r){let{slots:o,emit:a}=r;const s=ref(),l=shallowRef("ok"),c=shallowRef("ok"),u=computed((()=>convertToUnit(n.margin))),d=shallowRef(!1);function f(r){if(!s.value)return;const o="vertical"===n.direction?"scrollTop":"scrollLeft";s.value[o]=r}function m(){if(!s.value)return 0;const r="vertical"===n.direction?"scrollHeight":"scrollWidth";return s.value[r]}function g(n,r){"start"===n?l.value=r:"end"===n&&(c.value=r)}onMounted((()=>{s.value&&("start"===n.side?f(m()):"both"===n.side&&f(m()/2-function(){if(!s.value)return 0;const r="vertical"===n.direction?"clientHeight":"clientWidth";return s.value[r]}()/2))}));let b=0;function S(n,r){d.value=r,d.value&&k(n)}function k(r){if("manual"!==n.mode&&!d.value)return;const o=function(n){return"start"===n?l.value:c.value}(r);s.value&&!["empty","loading"].includes(o)&&(b=m(),g(r,"loading"),a("load",{side:r,done:function(o){g(r,o),nextTick$2((()=>{"empty"!==o&&"error"!==o&&("ok"===o&&"start"===r&&f(m()-b+function(){if(!s.value)return 0;const r="vertical"===n.direction?"scrollTop":"scrollLeft";return s.value[r]}()),"manual"!==n.mode&&nextTick$2((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{k(r)}))}))}))})))}))}}))}const{t:w}=useLocale();function E(r,a){if(n.side!==r&&"both"!==n.side)return;const s=()=>k(r),l={side:r,props:{onClick:s,color:n.color}};return"error"===a?o.error?.(l):"empty"===a?o.empty?.(l)??createVNode("div",null,[w(n.emptyText)]):"manual"===n.mode?"loading"===a?o.loading?.(l)??createVNode(VProgressCircular,{indeterminate:!0,color:n.color},null):o["load-more"]?.(l)??createVNode(VBtn,{variant:"outlined",color:n.color,onClick:s},{default:()=>[w(n.loadMoreText)]}):o.loading?.(l)??createVNode(VProgressCircular,{indeterminate:!0,color:n.color},null)}const{dimensionStyles:C}=useDimension(n);useRender((()=>{const r=n.tag,a="start"===n.side||"both"===n.side,d="end"===n.side||"both"===n.side,f="intersect"===n.mode;return createVNode(r,{ref:s,class:["v-infinite-scroll",`v-infinite-scroll--${n.direction}`,{"v-infinite-scroll--start":a,"v-infinite-scroll--end":d}],style:C.value},{default:()=>[createVNode("div",{class:"v-infinite-scroll__side"},[E("start",l.value)]),a&&f&&createVNode(VInfiniteScrollIntersect,{key:"start",side:"start",onIntersect:S,rootMargin:u.value},null),o.default?.(),d&&f&&createVNode(VInfiniteScrollIntersect,{key:"end",side:"end",onIntersect:S,rootMargin:u.value},null),createVNode("div",{class:"v-infinite-scroll__side"},[E("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":n=>!0},setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{isSelected:s,select:l,next:c,prev:u,selected:d}=useGroup(n,VItemGroupSymbol);return()=>createVNode(n.tag,{class:["v-item-group",a.value,n.class],style:n.style},{default:()=>[o.default?.({isSelected:s,select:l,next:c,prev:u,selected:d.value})]})}}),VItem=genericComponent()({name:"VItem",props:makeGroupItemProps(),emits:{"group:selected":n=>!0},setup(n,r){let{slots:o}=r;const{isSelected:a,select:s,toggle:l,selectedClass:c,value:u,disabled:d}=useGroupItem(n,VItemGroupSymbol);return()=>o.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(n,r){let{slots:o}=r;const{layoutClasses:a,layoutStyles:s,getLayoutItem:l,items:c,layoutRef:u}=createLayout(n),{dimensionStyles:d}=useDimension(n);return useRender((()=>createVNode("div",{ref:u,class:[a.value,n.class],style:[d.value,s.value,n.style]},[o.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(n,r){let{slots:o}=r;const{layoutItemStyles:a}=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:toRef(n,"position"),elementSize:toRef(n,"size"),layoutSize:toRef(n,"size"),active:toRef(n,"modelValue"),absolute:toRef(n,"absolute")});return()=>createVNode("div",{class:["v-layout-item",n.class],style:[a.value,n.style]},[o.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":n=>!0},setup(n,r){let{slots:o}=r;const{dimensionStyles:a}=useDimension(n),s=useProxiedModel(n,"modelValue");function l(n){s.value||(s.value=n)}return useRender((()=>withDirectives(createVNode(n.tag,{class:["v-lazy",n.class],style:[a.value,n.style]},{default:()=>[s.value&&createVNode(MaybeTransition,{transition:n.transition,appear:!0},{default:()=>[o.default?.()]})]}),[[resolveDirective("intersect"),{handler:l,options:n.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(n,r){let{slots:o}=r;const{rtlClasses:a}=provideLocale(n);return useRender((()=>createVNode("div",{class:["v-locale-provider",a.value,n.class],style:n.style},[o.default?.()]))),{}}}),makeVMainProps=propsFactory({scrollable:Boolean,...makeComponentProps(),...makeDimensionProps(),...makeTagProps({tag:"main"})},"VMain"),VMain=genericComponent()({name:"VMain",props:makeVMainProps(),setup(n,r){let{slots:o}=r;const{dimensionStyles:a}=useDimension(n),{mainStyles:s}=useLayout(),{ssrBootStyles:l}=useSsrBoot();return useRender((()=>createVNode(n.tag,{class:["v-main",{"v-main--scrollable":n.scrollable},n.class],style:[s.value,l.value,a.value,n.style]},{default:()=>[n.scrollable?createVNode("div",{class:"v-main__scroller"},[o.default?.()]):o.default?.()]}))),{}}});function useSticky(n){let{rootEl:r,isSticky:o,layoutItemStyles:a}=n;const s=shallowRef(!1),l=shallowRef(0),c=computed((()=>{const n="boolean"==typeof s.value?"top":s.value;return[o.value?{top:"auto",bottom:"auto",height:void 0}:void 0,s.value?{[n]:convertToUnit(l.value)}:{top:a.value.top}]}));onMounted((()=>{watch(o,(n=>{n?window.addEventListener("scroll",d,{passive:!0}):window.removeEventListener("scroll",d)}),{immediate:!0})})),onBeforeUnmount((()=>{window.removeEventListener("scroll",d)}));let u=0;function d(){const n=u>window.scrollY?"up":"down",o=r.value.getBoundingClientRect(),c=parseFloat(a.value.top??0),d=window.scrollY-Math.max(0,l.value-c),f=o.height+Math.max(l.value,c)-window.scrollY-window.innerHeight,m=parseFloat(getComputedStyle(r.value).getPropertyValue("--v-body-scroll-y"))||0;o.height<window.innerHeight-c?(s.value="top",l.value=c):"up"===n&&"bottom"===s.value||"down"===n&&"top"===s.value?(l.value=window.scrollY+o.top-m,s.value=!0):"down"===n&&f<=0?(l.value=0,s.value="bottom"):"up"===n&&d<=0&&(m?"top"!==s.value&&(l.value=-d+m+c,s.value="top"):(l.value=o.top+d,s.value="top")),u=window.scrollY}return{isStuck:s,stickyStyles:c}}const HORIZON=100,HISTORY=20;function kineticEnergyToVelocity(n){return(n<0?-1:1)*Math.sqrt(Math.abs(n))*1.41421356237}function calculateImpulseVelocity(n){if(n.length<2)return 0;if(2===n.length)return n[1].t===n[0].t?0:(n[1].d-n[0].d)/(n[1].t-n[0].t);let r=0;for(let o=n.length-1;o>0;o--){if(n[o].t===n[o-1].t)continue;const a=kineticEnergyToVelocity(r),s=(n[o].d-n[o-1].d)/(n[o].t-n[o-1].t);r+=(s-a)*Math.abs(s),o===n.length-1&&(r*=.5)}return 1e3*kineticEnergyToVelocity(r)}function useVelocity(){const n={};return{addMovement:function(r){Array.from(r.changedTouches).forEach((o=>{(n[o.identifier]??(n[o.identifier]=new CircularBuffer(HISTORY))).push([r.timeStamp,o])}))},endTouch:function(r){Array.from(r.changedTouches).forEach((r=>{delete n[r.identifier]}))},getVelocity:function(r){const o=n[r]?.values().reverse();if(!o)throw new Error(`No samples for touch id ${r}`);const a=o[0],s=[],l=[];for(const n of o){if(a[0]-n[0]>HORIZON)break;s.push({t:n[0],d:n[1].clientX}),l.push({t:n[0],d:n[1].clientY})}return{x:calculateImpulseVelocity(s),y:calculateImpulseVelocity(l),get direction(){const{x:n,y:r}=this,[o,a]=[Math.abs(n),Math.abs(r)];return o>a&&n>=0?"right":o>a&&n<=0?"left":a>o&&r>=0?"down":a>o&&r<=0?"up":oops$1()}}}}}function oops$1(){throw new Error}function useTouch(n){let{el:r,isActive:o,isTemporary:a,width:s,touchless:l,position:c}=n;onMounted((()=>{window.addEventListener("touchstart",T,{passive:!0}),window.addEventListener("touchmove",I,{passive:!1}),window.addEventListener("touchend",P,{passive:!0})})),onBeforeUnmount((()=>{window.removeEventListener("touchstart",T),window.removeEventListener("touchmove",I),window.removeEventListener("touchend",P)}));const u=computed((()=>["left","right"].includes(c.value))),{addMovement:d,endTouch:f,getVelocity:m}=useVelocity();let g=!1;const b=shallowRef(!1),S=shallowRef(0),k=shallowRef(0);let w;function E(n,r){return("left"===c.value?n:"right"===c.value?document.documentElement.clientWidth-n:"top"===c.value?n:"bottom"===c.value?document.documentElement.clientHeight-n:oops())-(r?s.value:0)}function C(n){let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const o="left"===c.value?(n-k.value)/s.value:"right"===c.value?(document.documentElement.clientWidth-n-k.value)/s.value:"top"===c.value?(n-k.value)/s.value:"bottom"===c.value?(document.documentElement.clientHeight-n-k.value)/s.value:oops();return r?Math.max(0,Math.min(1,o)):o}function T(n){if(l.value)return;const r=n.changedTouches[0].clientX,m=n.changedTouches[0].clientY,b="left"===c.value?r<25:"right"===c.value?r>document.documentElement.clientWidth-25:"top"===c.value?m<25:"bottom"===c.value?m>document.documentElement.clientHeight-25:oops(),T=o.value&&("left"===c.value?r<s.value:"right"===c.value?r>document.documentElement.clientWidth-s.value:"top"===c.value?m<s.value:"bottom"===c.value?m>document.documentElement.clientHeight-s.value:oops());(b||T||o.value&&a.value)&&(w=[r,m],k.value=E(u.value?r:m,o.value),S.value=C(u.value?r:m),g=k.value>-20&&k.value<80,f(n),d(n))}function I(n){const r=n.changedTouches[0].clientX,o=n.changedTouches[0].clientY;if(g){if(!n.cancelable)return void(g=!1);const a=Math.abs(r-w[0]),s=Math.abs(o-w[1]);(u.value?a>s&&a>3:s>a&&s>3)?(b.value=!0,g=!1):(u.value?s:a)>3&&(g=!1)}if(!b.value)return;n.preventDefault(),d(n);const a=C(u.value?r:o,!1);S.value=Math.max(0,Math.min(1,a)),a>1?k.value=E(u.value?r:o,!0):a<0&&(k.value=E(u.value?r:o,!1))}function P(n){if(g=!1,!b.value)return;d(n),b.value=!1;const r=m(n.changedTouches[0].identifier),a=Math.abs(r.x),s=Math.abs(r.y),l=u.value?a>s&&a>400:s>a&&s>3;o.value=l?r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[c.value]||oops()):S.value>.5}const D=computed((()=>b.value?{transform:"left"===c.value?`translateX(calc(-100% + ${S.value*s.value}px))`:"right"===c.value?`translateX(calc(100% - ${S.value*s.value}px))`:"top"===c.value?`translateY(calc(-100% + ${S.value*s.value}px))`:"bottom"===c.value?`translateY(calc(100% - ${S.value*s.value}px))`:oops(),transition:"none"}:void 0));return useToggleScope(b,(()=>{const n=r.value?.style.transform??null,o=r.value?.style.transition??null;watchEffect((()=>{r.value?.style.setProperty("transform",D.value?.transform||"none"),r.value?.style.setProperty("transition",D.value?.transition||null)})),onScopeDispose((()=>{r.value?.style.setProperty("transform",n),r.value?.style.setProperty("transition",o)}))})),{isDragging:b,dragProgress:S,dragStyles:D}}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:n=>locations.includes(n)},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":n=>!0,"update:rail":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{isRtl:l}=useRtl(),{themeClasses:c}=provideTheme(n),{borderClasses:u}=useBorder(n),{backgroundColorClasses:d,backgroundColorStyles:f}=useBackgroundColor(toRef(n,"color")),{elevationClasses:m}=useElevation(n),{displayClasses:g,mobile:b}=useDisplay(n),{roundedClasses:S}=useRounded(n),k=useRouter(),w=useProxiedModel(n,"modelValue",null,(n=>!!n)),{ssrBootStyles:E}=useSsrBoot(),{scopeId:C}=useScopeId(),T=ref(),I=shallowRef(!1),{runOpenDelay:P,runCloseDelay:D}=useDelay(n,(n=>{I.value=n})),O=computed((()=>n.rail&&n.expandOnHover&&I.value?Number(n.width):Number(n.rail?n.railWidth:n.width))),A=computed((()=>toPhysical(n.location,l.value))),eo=computed((()=>n.persistent)),no=computed((()=>!n.permanent&&(b.value||n.temporary))),ro=computed((()=>n.sticky&&!no.value&&"bottom"!==A.value));useToggleScope((()=>n.expandOnHover&&null!=n.rail),(()=>{watch(I,(n=>a("update:rail",!n)))})),useToggleScope((()=>!n.disableResizeWatcher),(()=>{watch(no,(r=>!n.permanent&&nextTick$2((()=>w.value=!r))))})),useToggleScope((()=>!n.disableRouteWatcher&&!!k),(()=>{watch(k.currentRoute,(()=>no.value&&(w.value=!1)))})),watch((()=>n.permanent),(n=>{n&&(w.value=!0)})),null!=n.modelValue||no.value||(w.value=n.permanent||!b.value);const{isDragging:oo,dragProgress:ao}=useTouch({el:T,isActive:w,isTemporary:no,width:O,touchless:toRef(n,"touchless"),position:A}),io=computed((()=>{const r=no.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):O.value;return oo.value?r*ao.value:r})),{layoutItemStyles:so,layoutItemScrimStyles:lo}=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:A,layoutSize:io,elementSize:O,active:computed((()=>w.value||oo.value)),disableTransitions:computed((()=>oo.value)),absolute:computed((()=>n.absolute||ro.value&&"string"!=typeof co.value))}),{isStuck:co,stickyStyles:uo}=useSticky({rootEl:T,isSticky:ro,layoutItemStyles:so}),po=useBackgroundColor(computed((()=>"string"==typeof n.scrim?n.scrim:null))),fo=computed((()=>({...oo.value?{opacity:.2*ao.value,transition:"none"}:void 0,...lo.value})));return provideDefaults({VList:{bgColor:"transparent"}}),useRender((()=>{const r=s.image||n.image;return createVNode(Fragment,null,[createVNode(n.tag,mergeProps({ref:T,onMouseenter:P,onMouseleave:D,class:["v-navigation-drawer",`v-navigation-drawer--${A.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":I.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":no.value,"v-navigation-drawer--persistent":eo.value,"v-navigation-drawer--active":w.value,"v-navigation-drawer--sticky":ro.value},c.value,d.value,u.value,g.value,m.value,S.value,n.class],style:[f.value,so.value,E.value,uo.value,n.style]},C,o),{default:()=>[r&&createVNode("div",{key:"image",class:"v-navigation-drawer__img"},[s.image?createVNode(VDefaultsProvider,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},s.image):createVNode(VImg,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.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:()=>[no.value&&(oo.value||w.value)&&!!n.scrim&&createVNode("div",mergeProps({class:["v-navigation-drawer__scrim",po.backgroundColorClasses.value],style:[fo.value,po.backgroundColorStyles.value],onClick:()=>{eo.value||(w.value=!1)}},C),null)]})])})),{isStuck:co}}}),VNoSsr=defineComponent({name:"VNoSsr",setup(n,r){let{slots:o}=r;const a=useHydration();return()=>a.value&&o.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:n=>!0,"update:focused":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const{dimensionStyles:l}=useDimension(n),{isFocused:c,focus:u,blur:d}=useFocus(n),f=useProxiedModel(n,"modelValue","",(n=>null==n?[]:String(n).split("")),(n=>n.join(""))),{t:m}=useLocale(),g=computed((()=>Number(n.length))),b=computed((()=>Array(g.value).fill(0))),S=ref(-1),k=ref(),w=ref([]),E=computed((()=>w.value[S.value]));function C(){if(P(E.value.value))return void(E.value.value="");const n=f.value.slice(),r=E.value.value;n[S.value]=r;let o=null;S.value>f.value.length?o=f.value.length+1:S.value+1!==g.value&&(o="next"),f.value=n,o&&focusChild(k.value,o)}function T(n){const r=f.value.slice(),o=S.value;let a=null;["ArrowLeft","ArrowRight","Backspace","Delete"].includes(n.key)&&(n.preventDefault(),"ArrowLeft"===n.key?a="prev":"ArrowRight"===n.key?a="next":["Backspace","Delete"].includes(n.key)&&(r[S.value]="",f.value=r,S.value>0&&"Backspace"===n.key?a="prev":requestAnimationFrame((()=>{w.value[o]?.select()}))),requestAnimationFrame((()=>{null!=a&&focusChild(k.value,a)})))}function I(){d(),S.value=-1}function P(r){return"number"===n.type&&/[^0-9]/g.test(r)}return provideDefaults({VField:{color:computed((()=>n.color)),bgColor:computed((()=>n.color)),baseColor:computed((()=>n.baseColor)),disabled:computed((()=>n.disabled)),error:computed((()=>n.error)),variant:computed((()=>n.variant))}},{scoped:!0}),watch(f,(n=>{n.length===g.value&&a("finish",n.join(""))}),{deep:!0}),watch(S,(n=>{n<0||nextTick$2((()=>{w.value[n]?.select()}))})),useRender((()=>{const[r,a]=filterInputAttrs(o);return createVNode("div",mergeProps({class:["v-otp-input",{"v-otp-input--divided":!!n.divider},n.class],style:[n.style]},r),[createVNode("div",{ref:k,class:"v-otp-input__content",style:[l.value]},[b.value.map(((r,o)=>createVNode(Fragment,null,[n.divider&&0!==o&&createVNode("span",{class:"v-otp-input__divider"},[n.divider]),createVNode(VField,{focused:c.value&&n.focusAll||S.value===o,key:o},{...s,loader:void 0,default:()=>createVNode("input",{ref:n=>w.value[o]=n,"aria-label":m(n.label,o+1),autofocus:0===o&&n.autofocus,autocomplete:"one-time-code",class:["v-otp-input__field"],disabled:n.disabled,inputmode:"number"===n.type?"numeric":"text",min:"number"===n.type?0:void 0,maxlength:0===o?g.value:"1",placeholder:n.placeholder,type:"number"===n.type?"text":n.type,value:f.value[o],onInput:C,onFocus:n=>{return r=o,u(),void(S.value=r);var r},onBlur:I,onKeydown:T,onPaste:n=>function(n,r){r.preventDefault(),r.stopPropagation();const o=r?.clipboardData?.getData("Text").slice(0,g.value)??"";P(o)||(f.value=o.split(""),w.value?.[n].blur())}(o,n)},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":!!n.loading,persistent:!0},{default:()=>[s.loader?.()??createVNode(VProgressCircular,{color:"boolean"==typeof n.loading?void 0:n.loading,indeterminate:!0,size:"24",width:"2"},null)]}),s.default?.()])])})),{blur:()=>{w.value?.some((n=>n.blur()))},focus:()=>{w.value?.[0].focus()},reset:function(){f.value=[]},isFocused:c}}});function floor(n){return Math.floor(Math.abs(n))*Math.sign(n)}const makeVParallaxProps=propsFactory({scale:{type:[Number,String],default:.5},...makeComponentProps()},"VParallax"),VParallax=genericComponent()({name:"VParallax",props:makeVParallaxProps(),setup(n,r){let{slots:o}=r;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,(n=>{n?(f=getScrollParent(a.value),f=f===document.scrollingElement?document:f,f.addEventListener("scroll",b,{passive:!0}),b()):f.removeEventListener("scroll",b)})),onBeforeUnmount((()=>{f?.removeEventListener("scroll",b)})),watch(u,b),watch((()=>c.value?.height),b);const m=computed((()=>1-clamp(+n.scale)));let g=-1;function b(){s.value&&(cancelAnimationFrame(g),g=requestAnimationFrame((()=>{const n=(d.value?.$el).querySelector(".v-img__img");if(!n)return;const r=f instanceof Document?document.documentElement.clientHeight:f.clientHeight,o=f instanceof Document?window.scrollY:f.scrollTop,s=a.value.getBoundingClientRect().top+o,l=c.value.height,u=floor((o-(s+(l-r)/2))*m.value),g=Math.max(1,(m.value*(r-l)+l)/l);n.style.setProperty("transform",`translateY(${u}px) scale(${g})`)})))}return useRender((()=>createVNode(VImg,{class:["v-parallax",{"v-parallax--active":s.value},n.class],style:n.style,ref:d,cover:!0,onLoadstart:b,onLoad:b},o))),{}}}),makeVRadioProps=propsFactory({...makeVSelectionControlProps({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),VRadio=genericComponent()({name:"VRadio",props:makeVRadioProps(),setup(n,r){let{slots:o}=r;return useRender((()=>{const r=VSelectionControl.filterProps(n);return createVNode(VSelectionControl,mergeProps(r,{class:["v-radio",n.class],style:n.style,type:"radio"}),o)})),{}}}),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":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const s=getUid(),l=computed((()=>n.id||`radio-group-${s}`)),c=useProxiedModel(n,"modelValue");return useRender((()=>{const[r,s]=filterInputAttrs(o),u=VInput.filterProps(n),d=VSelectionControl.filterProps(n),f=a.label?a.label({label:n.label,props:{for:l.value}}):n.label;return createVNode(VInput,mergeProps({class:["v-radio-group",n.class],style:n.style},r,u,{modelValue:c.value,"onUpdate:modelValue":n=>c.value=n,id:l.value}),{...a,default:r=>{let{id:o,messagesId:l,isDisabled:u,isReadonly:m}=r;return createVNode(Fragment,null,[f&&createVNode(VLabel,{id:o.value},{default:()=>[f]}),createVNode(VSelectionControlGroup,mergeProps(d,{id:o.value,"aria-describedby":l.value,defaultsTarget:"VRadio",trueIcon:n.trueIcon,falseIcon:n.falseIcon,type:n.type,disabled:u.value,readonly:m.value,"aria-labelledby":f?o.value:void 0,multiple:!1},s,{modelValue:c.value,"onUpdate:modelValue":n=>c.value=n}),a)])}})})),{}}}),makeVRangeSliderProps=propsFactory({...makeFocusProps(),...makeVInputProps(),...makeSliderProps(),strict:Boolean,modelValue:{type:Array,default:()=>[0,0]}},"VRangeSlider"),VRangeSlider=genericComponent()({name:"VRangeSlider",props:makeVRangeSliderProps(),emits:{"update:focused":n=>!0,"update:modelValue":n=>!0,end:n=>!0,start:n=>!0},setup(n,r){let{slots:o,emit:a}=r;const s=ref(),l=ref(),c=ref(),{rtlClasses:u}=useRtl();const d=useSteps(n),f=useProxiedModel(n,"modelValue",void 0,(n=>n?.length?n.map((n=>d.roundValue(n))):[0,0])),{activeThumbRef:m,hasLabels:g,max:b,min:S,mousePressed:k,onSliderMousedown:w,onSliderTouchstart:E,position:C,trackContainerRef:T,readonly:I}=useSlider({props:n,steps:d,onSliderStart:()=>{a("start",f.value)},onSliderEnd:r=>{let{value:o}=r;const l=m.value===s.value?.$el?[o,f.value[1]]:[f.value[0],o];!n.strict&&l[0]<l[1]&&(f.value=l),a("end",f.value)},onSliderMove:r=>{let{value:o}=r;const[a,c]=f.value;n.strict||a!==c||a===S.value||(m.value=o>a?l.value?.$el:s.value?.$el,m.value?.focus()),m.value===s.value?.$el?f.value=[Math.min(o,c),c]:f.value=[a,Math.max(a,o)]},getActiveThumb:function(r){if(!s.value||!l.value)return;const o=getOffset(r,s.value.$el,n.direction),a=getOffset(r,l.value.$el,n.direction),c=Math.abs(o),u=Math.abs(a);return c<u||c===u&&o<0?s.value.$el:l.value.$el}}),{isFocused:P,focus:D,blur:O}=useFocus(n),A=computed((()=>C(f.value[0]))),eo=computed((()=>C(f.value[1])));return useRender((()=>{const r=VInput.filterProps(n),a=!!(n.label||o.label||o.prepend);return createVNode(VInput,mergeProps({class:["v-slider","v-range-slider",{"v-slider--has-labels":!!o["tick-label"]||g.value,"v-slider--focused":P.value,"v-slider--pressed":k.value,"v-slider--disabled":n.disabled},u.value,n.class],style:n.style,ref:c},r,{focused:P.value}),{...o,prepend:a?r=>createVNode(Fragment,null,[o.label?.(r)??(n.label?createVNode(VLabel,{class:"v-slider__label",text:n.label},null):void 0),o.prepend?.(r)]):void 0,default:r=>{let{id:a,messagesId:c}=r;return createVNode("div",{class:"v-slider__container",onMousedown:I.value?void 0:w,onTouchstartPassive:I.value?void 0:E},[createVNode("input",{id:`${a.value}_start`,name:n.name||a.value,disabled:!!n.disabled,readonly:!!n.readonly,tabindex:"-1",value:f.value[0]},null),createVNode("input",{id:`${a.value}_stop`,name:n.name||a.value,disabled:!!n.disabled,readonly:!!n.readonly,tabindex:"-1",value:f.value[1]},null),createVNode(VSliderTrack,{ref:T,start:A.value,stop:eo.value},{"tick-label":o["tick-label"]}),createVNode(VSliderThumb,{ref:s,"aria-describedby":c.value,focused:P&&m.value===s.value?.$el,modelValue:f.value[0],"onUpdate:modelValue":n=>f.value=[n,f.value[1]],onFocus:n=>{D(),m.value=s.value?.$el,b.value!==S.value&&f.value[0]===f.value[1]&&f.value[1]===S.value&&n.relatedTarget!==l.value?.$el&&(s.value?.$el.blur(),l.value?.$el.focus())},onBlur:()=>{O(),m.value=void 0},min:S.value,max:f.value[1],position:A.value,ripple:n.ripple},{"thumb-label":o["thumb-label"]}),createVNode(VSliderThumb,{ref:l,"aria-describedby":c.value,focused:P&&m.value===l.value?.$el,modelValue:f.value[1],"onUpdate:modelValue":n=>f.value=[f.value[0],n],onFocus:n=>{D(),m.value=l.value?.$el,b.value!==S.value&&f.value[0]===f.value[1]&&f.value[0]===b.value&&n.relatedTarget!==s.value?.$el&&(l.value?.$el.blur(),s.value?.$el.focus())},onBlur:()=>{O(),m.value=void 0},min:f.value[0],max:b.value,position:eo.value,ripple:n.ripple},{"thumb-label":o["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:n=>["top","bottom"].includes(n)},ripple:Boolean,...makeComponentProps(),...makeDensityProps(),...makeSizeProps(),...makeTagProps(),...makeThemeProps()},"VRating"),VRating=genericComponent()({name:"VRating",props:makeVRatingProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const{t:a}=useLocale(),{themeClasses:s}=provideTheme(n),l=useProxiedModel(n,"modelValue"),c=computed((()=>clamp(parseFloat(l.value),0,+n.length))),u=computed((()=>createRange(Number(n.length),1))),d=computed((()=>u.value.flatMap((r=>n.halfIncrements?[r-.5,r]:[r])))),f=shallowRef(-1),m=computed((()=>d.value.map((r=>{const o=n.hover&&f.value>-1,a=c.value>=r,s=f.value>=r,l=(o?s:a)?n.fullIcon:n.emptyIcon,u=n.activeColor??n.color;return{isFilled:a,isHovered:s,icon:l,color:a||s?u:n.color}})))),g=computed((()=>[0,...d.value].map((r=>({onMouseenter:n.hover?function(){f.value=r}:void 0,onMouseleave:n.hover?function(){f.value=-1}:void 0,onClick:function(){n.disabled||n.readonly||(l.value=c.value===r&&n.clearable?0:r)}}))))),b=computed((()=>n.name??`v-rating-${getUid()}`));function S(r){let{value:s,index:l,showStar:u=!0}=r;const{onMouseenter:d,onMouseleave:f,onClick:S}=g.value[l+1],k=`${b.value}-${String(s).replace(".","-")}`,w={color:m.value[l]?.color,density:n.density,disabled:n.disabled,icon:m.value[l]?.icon,ripple:n.ripple,size:n.size,variant:"plain"};return createVNode(Fragment,null,[createVNode("label",{for:k,class:{"v-rating__item--half":n.halfIncrements&&s%1>0,"v-rating__item--full":n.halfIncrements&&s%1==0},onMouseenter:d,onMouseleave:f,onClick:S},[createVNode("span",{class:"v-rating__hidden"},[a(n.itemAriaLabel,s,n.length)]),u?o.item?o.item({...m.value[l],props:w,value:s,index:l,rating:c.value}):createVNode(VBtn,mergeProps({"aria-label":a(n.itemAriaLabel,s,n.length)},w),null):void 0]),createVNode("input",{class:"v-rating__hidden",name:b.value,id:k,type:"radio",value:s,checked:c.value===s,tabindex:-1,readonly:n.readonly,disabled:n.disabled},null)])}function k(n){return o["item-label"]?o["item-label"](n):n.label?createVNode("span",null,[n.label]):createVNode("span",null,[createTextVNode(" ")])}return useRender((()=>{const r=!!n.itemLabels?.length||o["item-label"];return createVNode(n.tag,{class:["v-rating",{"v-rating--hover":n.hover,"v-rating--readonly":n.readonly},s.value,n.class],style:n.style},{default:()=>[createVNode(S,{value:0,index:-1,showStar:!1},null),u.value.map(((o,a)=>createVNode("div",{class:"v-rating__wrapper"},[r&&"top"===n.itemLabelPosition?k({value:o,index:a,label:n.itemLabels?.[a]}):void 0,createVNode("div",{class:"v-rating__item"},[n.halfIncrements?createVNode(Fragment,null,[createVNode(S,{value:o-.5,index:2*a},null),createVNode(S,{value:o,index:2*a+1},null)]):createVNode(S,{value:o,index:a},null)]),r&&"bottom"===n.itemLabelPosition?k({value:o,index:a,label:n.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(n){return createVNode("div",{class:["v-skeleton-loader__bone",`v-skeleton-loader__${n}`]},[arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]])}function genBones(n){const[r,o]=n.split("@");return Array.from({length:o}).map((()=>genStructure(r)))}function genStructure(n){let r=[];if(!n)return r;const o=rootTypes[n];if(n===o);else{if(n.includes(","))return mapBones(n);if(n.includes("@"))return genBones(n);o.includes(",")?r=mapBones(o):o.includes("@")?r=genBones(o):o&&r.push(genStructure(o))}return[genBone(n,r)]}function mapBones(n){return n.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(n,r){let{slots:o}=r;const{backgroundColorClasses:a,backgroundColorStyles:s}=useBackgroundColor(toRef(n,"color")),{dimensionStyles:l}=useDimension(n),{elevationClasses:c}=useElevation(n),{themeClasses:u}=provideTheme(n),{t:d}=useLocale(),f=computed((()=>genStructure(wrapInArray(n.type).join(","))));return useRender((()=>{const r=!o.default||n.loading,m=n.boilerplate||!r?{}:{ariaLive:"polite",ariaLabel:d(n.loadingText),role:"alert"};return createVNode("div",mergeProps({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":n.boilerplate},u.value,a.value,c.value],style:[s.value,r?l.value:{}]},m),[r?f.value:o.default?.()])})),{}}}),VSlideGroupItem=genericComponent()({name:"VSlideGroupItem",props:makeGroupItemProps(),emits:{"group:selected":n=>!0},setup(n,r){let{slots:o}=r;const a=useGroupItem(n,VSlideGroupSymbol);return()=>o.default?.({isSelected:a.isSelected.value,select:a.select,toggle:a.toggle,selectedClass:a.selectedClass.value})}});function useCountdown(n){const r=shallowRef(n());let o=-1;function a(){clearInterval(o)}return onScopeDispose(a),{clear:a,time:r,start:function(s){const l=s?getComputedStyle(s):{transitionDuration:.2},c=1e3*parseFloat(l.transitionDuration)||200;if(a(),r.value<=0)return;const u=performance.now();o=window.setInterval((()=>{const o=performance.now()-u+c;r.value=Math.max(n()-o,0),r.value<=0&&a()}),c)},reset:function(){a(),nextTick$2((()=>r.value=n()))}}}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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{positionClasses:s}=usePosition(n),{scopeId:l}=useScopeId(),{themeClasses:c}=provideTheme(n),{colorClasses:u,colorStyles:d,variantClasses:f}=useVariant(n),{roundedClasses:m}=useRounded(n),g=useCountdown((()=>Number(n.timeout))),b=ref(),S=ref(),k=shallowRef(!1),w=shallowRef(0),E=ref(),C=inject$1(VuetifyLayoutKey,void 0);useToggleScope((()=>!!C),(()=>{const n=useLayout();watchEffect((()=>{E.value=n.mainStyles.value}))})),watch(a,I),watch((()=>n.timeout),I),onMounted((()=>{a.value&&I()}));let T=-1;function I(){g.reset(),window.clearTimeout(T);const r=Number(n.timeout);if(!a.value||-1===r)return;const o=refElement(S.value);g.start(o),T=window.setTimeout((()=>{a.value=!1}),r)}function P(){k.value=!0,g.reset(),window.clearTimeout(T)}function D(){k.value=!1,I()}function O(n){w.value=n.touches[0].clientY}function A(n){Math.abs(w.value-n.changedTouches[0].clientY)>50&&(a.value=!1)}function eo(){k.value&&D()}const no=computed((()=>n.location.split(" ").reduce(((n,r)=>(n[`v-snackbar--${r}`]=!0,n)),{})));return useRender((()=>{const r=VOverlay.filterProps(n),w=!!(o.default||o.text||n.text);return createVNode(VOverlay,mergeProps({ref:b,class:["v-snackbar",{"v-snackbar--active":a.value,"v-snackbar--multi-line":n.multiLine&&!n.vertical,"v-snackbar--timer":!!n.timer,"v-snackbar--vertical":n.vertical},no.value,s.value,n.class],style:[E.value,n.style]},r,{modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,contentProps:mergeProps({class:["v-snackbar__wrapper",c.value,u.value,m.value,f.value],style:[d.value],onPointerenter:P,onPointerleave:D},r.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:O,onTouchend:A,onAfterLeave:eo},l),{default:()=>[genOverlays(!1,"v-snackbar"),n.timer&&!k.value&&createVNode("div",{key:"timer",class:"v-snackbar__timer"},[createVNode(VProgressLinear,{ref:S,color:"string"==typeof n.timer?n.timer:"info",max:n.timeout,"model-value":g.time.value},null)]),w&&createVNode("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[o.text?.()??n.text,o.default?.()]),o.actions&&createVNode(VDefaultsProvider,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[createVNode("div",{class:"v-snackbar__actions"},[o.actions({isActive:a})])]})],activator:o.activator})})),forwardRefs({},b)}}),makeLineProps=propsFactory({autoDraw:Boolean,autoDrawDuration:[Number,String],autoDrawEasing:{type:String,default:"ease"},color:String,gradient:{type:Array,default:()=>[]},gradientDirection:{type:String,validator:n=>["top","bottom","left","right"].includes(n),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(n,r){let{slots:o}=r;const a=getUid(),s=computed((()=>n.id||`barline-${a}`)),l=computed((()=>Number(n.autoDrawDuration)||500)),c=computed((()=>Boolean(n.showLabels||n.labels.length>0||!!o?.label))),u=computed((()=>parseFloat(n.lineWidth)||4)),d=computed((()=>Math.max(n.modelValue.length*u.value,Number(n.width)))),f=computed((()=>({minX:0,maxX:d.value,minY:0,maxY:parseInt(n.height,10)}))),m=computed((()=>n.modelValue.map((r=>getPropertyFromItem(r,n.itemValue,r)))));function g(r,o){const{minX:a,maxX:s,minY:l,maxY:c}=o,u=r.length;let d=null!=n.max?Number(n.max):Math.max(...r),f=null!=n.min?Number(n.min):Math.min(...r);f>0&&null==n.min&&(f=0),d<0&&null==n.max&&(d=0);const m=s/u,g=(c-l)/(d-f||1),b=c-Math.abs(f*g);return r.map(((n,r)=>{const o=Math.abs(g*n);return{x:a+r*m,y:b-o+ +(n<0)*o,height:o,value:n}}))}const b=computed((()=>{const r=[],o=g(m.value,f.value),a=o.length;for(let s=0;r.length<a;s++){const a=o[s];let l=n.labels[s];l||(l="object"==typeof a?a.value:a),r.push({x:a.x,value:String(l)})}return r})),S=computed((()=>g(m.value,f.value))),k=computed((()=>(Math.abs(S.value[0].x-S.value[1].x)-u.value)/2)),w=computed((()=>"boolean"==typeof n.smooth?n.smooth?2:0:Number(n.smooth)));useRender((()=>{const r=n.gradient.slice().length?n.gradient.slice().reverse():[""];return createVNode("svg",{display:"block"},[createVNode("defs",null,[createVNode("linearGradient",{id:s.value,gradientUnits:"userSpaceOnUse",x1:"left"===n.gradientDirection?"100%":"0",y1:"top"===n.gradientDirection?"100%":"0",x2:"right"===n.gradientDirection?"100%":"0",y2:"bottom"===n.gradientDirection?"100%":"0"},[r.map(((n,o)=>createVNode("stop",{offset:o/Math.max(r.length-1,1),"stop-color":n||"currentColor"},null)))])]),createVNode("clipPath",{id:`${s.value}-clip`},[S.value.map((r=>createVNode("rect",{x:r.x+k.value,y:r.y,width:u.value,height:r.height,rx:w.value,ry:w.value},[n.autoDraw&&createVNode(Fragment,null,[createVNode("animate",{attributeName:"y",from:r.y+r.height,to:r.y,dur:`${l.value}ms`,fill:"freeze"},null),createVNode("animate",{attributeName:"height",from:"0",to:r.height,dur:`${l.value}ms`,fill:"freeze"},null)])])))]),c.value&&createVNode("g",{key:"labels",style:{textAnchor:"middle",dominantBaseline:"mathematical",fill:"currentColor"}},[b.value.map(((r,a)=>createVNode("text",{x:r.x+k.value+u.value/2,y:parseInt(n.height,10)-2+(parseInt(n.labelSize,10)||5.25),"font-size":Number(n.labelSize)||7},[o.label?.({index:a,value:r.value})??r.value])))]),createVNode("g",{"clip-path":`url(#${s.value}-clip)`,fill:`url(#${s.value})`},[createVNode("rect",{x:0,y:0,width:Math.max(n.modelValue.length*u.value,Number(n.width)),height:n.height},null)])])}))}});function genPath(n,r){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:75;if(0===n.length)return"";const s=n.shift(),l=n[n.length-1];return(o?`M${s.x} ${a-s.x+2} L${s.x} ${s.y}`:`M${s.x} ${s.y}`)+n.map(((o,a)=>{const l=n[a+1],c=n[a-1]||s,u=l&&checkCollinear(l,o,c);if(!l||u)return`L${o.x} ${o.y}`;const d=Math.min(getDistance(c,o),getDistance(l,o)),f=d/2<r?d/2:r,m=moveTo(c,o,f),g=moveTo(l,o,f);return`L${m.x} ${m.y}S${o.x} ${o.y} ${g.x} ${g.y}`})).join("")+(o?`L${l.x} ${a-s.x+2} Z`:"")}function int(n){return parseInt(n,10)}function checkCollinear(n,r,o){return int(n.x+o.x)===int(2*r.x)&&int(n.y+o.y)===int(2*r.y)}function getDistance(n,r){return Math.sqrt(Math.pow(r.x-n.x,2)+Math.pow(r.y-n.y,2))}function moveTo(n,r,o){const a=n.x-r.x,s=n.y-r.y,l=Math.sqrt(a*a+s*s),c=a/l,u=s/l;return{x:r.x+c*o,y:r.y+u*o}}const makeVTrendlineProps=propsFactory({fill:Boolean,...makeLineProps()},"VTrendline"),VTrendline=genericComponent()({name:"VTrendline",props:makeVTrendlineProps(),setup(n,r){let{slots:o}=r;const a=getUid(),s=computed((()=>n.id||`trendline-${a}`)),l=computed((()=>Number(n.autoDrawDuration)||(n.fill?500:2e3))),c=ref(0),u=ref(null);function d(r,o){const{minX:a,maxX:s,minY:l,maxY:c}=o,u=r.length,d=null!=n.max?Number(n.max):Math.max(...r),f=null!=n.min?Number(n.min):Math.min(...r),m=(s-a)/(u-1),g=(c-l)/(d-f||1);return r.map(((n,r)=>({x:a+r*m,y:c-(n-f)*g,value:n})))}const f=computed((()=>Boolean(n.showLabels||n.labels.length>0||!!o?.label))),m=computed((()=>parseFloat(n.lineWidth)||4)),g=computed((()=>Number(n.width))),b=computed((()=>{const r=Number(n.padding);return{minX:r,maxX:g.value-r,minY:r,maxY:parseInt(n.height,10)-r}})),S=computed((()=>n.modelValue.map((r=>getPropertyFromItem(r,n.itemValue,r))))),k=computed((()=>{const r=[],o=d(S.value,b.value),a=o.length;for(let s=0;r.length<a;s++){const a=o[s];let l=n.labels[s];l||(l="object"==typeof a?a.value:a),r.push({x:a.x,value:String(l)})}return r}));function w(r){const o="boolean"==typeof n.smooth?n.smooth?8:0:Number(n.smooth);return genPath(d(S.value,b.value),o,r,parseInt(n.height,10))}watch((()=>n.modelValue),(async()=>{if(await nextTick$2(),!n.autoDraw||!u.value)return;const r=u.value,o=r.getTotalLength();n.fill?(r.style.transformOrigin="bottom center",r.style.transition="none",r.style.transform="scaleY(0)",r.getBoundingClientRect(),r.style.transition=`transform ${l.value}ms ${n.autoDrawEasing}`,r.style.transform="scaleY(1)"):(r.style.strokeDasharray=`${o}`,r.style.strokeDashoffset=`${o}`,r.getBoundingClientRect(),r.style.transition=`stroke-dashoffset ${l.value}ms ${n.autoDrawEasing}`,r.style.strokeDashoffset="0"),c.value=o}),{immediate:!0}),useRender((()=>{const r=n.gradient.slice().length?n.gradient.slice().reverse():[""];return createVNode("svg",{display:"block","stroke-width":parseFloat(n.lineWidth)??4},[createVNode("defs",null,[createVNode("linearGradient",{id:s.value,gradientUnits:"userSpaceOnUse",x1:"left"===n.gradientDirection?"100%":"0",y1:"top"===n.gradientDirection?"100%":"0",x2:"right"===n.gradientDirection?"100%":"0",y2:"bottom"===n.gradientDirection?"100%":"0"},[r.map(((n,o)=>createVNode("stop",{offset:o/Math.max(r.length-1,1),"stop-color":n||"currentColor"},null)))])]),f.value&&createVNode("g",{key:"labels",style:{textAnchor:"middle",dominantBaseline:"mathematical",fill:"currentColor"}},[k.value.map(((r,a)=>createVNode("text",{x:r.x+m.value/2+m.value/2,y:parseInt(n.height,10)-4+(parseInt(n.labelSize,10)||5.25),"font-size":Number(n.labelSize)||7},[o.label?.({index:a,value:r.value})??r.value])))]),createVNode("path",{ref:u,d:w(n.fill),fill:n.fill?`url(#${s.value})`:"none",stroke:n.fill?"none":`url(#${s.value})`},null),n.fill&&createVNode("path",{d:w(!1),fill:"none",stroke:n.color??n.gradient?.[0]},null)])}))}}),makeVSparklineProps=propsFactory({type:{type:String,default:"trend"},...makeVBarlineProps(),...makeVTrendlineProps()},"VSparkline"),VSparkline=genericComponent()({name:"VSparkline",props:makeVSparklineProps(),setup(n,r){let{slots:o}=r;const{textColorClasses:a,textColorStyles:s}=useTextColor(toRef(n,"color")),l=computed((()=>Boolean(n.showLabels||n.labels.length>0||!!o?.label))),c=computed((()=>{let r=parseInt(n.height,10);return l.value&&(r+=1.5*parseInt(n.labelSize,10)),r}));useRender((()=>{const r="trend"===n.type?VTrendline:VBarline,l="trend"===n.type?VTrendline.filterProps(n):VBarline.filterProps(n);return createVNode(r,mergeProps({key:n.type,class:a.value,style:s.value,viewBox:`0 0 ${n.width} ${parseInt(c.value,10)}`},l),o)}))}}),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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),s=ref(),l=computed((()=>{const[r,o="center"]=n.location?.split(" ")??[];return`${r} ${o}`})),c=computed((()=>({[`v-speed-dial__content--${l.value.replace(" ","-")}`]:!0})));return useRender((()=>{const r=VMenu.filterProps(n);return createVNode(VMenu,mergeProps(r,{modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,class:n.class,style:n.style,contentClass:["v-speed-dial__content",c.value,n.contentClass],location:l.value,ref:s,transition:"fade-transition"}),{...o,default:r=>createVNode(VDefaultsProvider,{defaults:{VBtn:{size:"small"}}},{default:()=>[createVNode(MaybeTransition,{appear:!0,group:!0,transition:n.transition},{default:()=>[o.default?.(r)]})]})})})),{}}}),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(n,r){let{emit:o,slots:a}=r;const{t:s}=useLocale();function l(){o("click:prev")}function c(){o("click:next")}return useRender((()=>{const r={onClick:l},o={onClick:c};return createVNode("div",{class:"v-stepper-actions"},[createVNode(VDefaultsProvider,{defaults:{VBtn:{disabled:["prev",!0].includes(n.disabled),text:s(n.prevText),variant:"text"}}},{default:()=>[a.prev?.({props:r})??createVNode(VBtn,r,null)]}),createVNode(VDefaultsProvider,{defaults:{VBtn:{color:n.color,disabled:["next",!0].includes(n.disabled),text:s(n.nextText),variant:"tonal"}}},{default:()=>[a.next?.({props:o})??createVNode(VBtn,o,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":n=>!0},setup(n,r){let{slots:o}=r;const a=useGroupItem(n,VStepperSymbol,!0),s=computed((()=>a?.value.value??n.value)),l=computed((()=>n.rules.every((n=>!0===n())))),c=computed((()=>!n.disabled&&n.editable)),u=computed((()=>!n.disabled&&n.editable)),d=computed((()=>n.error||!l.value)),f=computed((()=>n.complete||n.rules.length>0&&l.value)),m=computed((()=>d.value?n.errorIcon:f.value?n.completeIcon:a.isSelected.value&&n.editable?n.editIcon:n.icon)),g=computed((()=>({canEdit:u.value,hasError:d.value,hasCompleted:f.value,title:n.title,subtitle:n.subtitle,step:s.value,value:n.value})));return useRender((()=>{const r=(!a||a.isSelected.value||f.value||u.value)&&!d.value&&!n.disabled,l=!(null==n.title&&!o.title),b=!(null==n.subtitle&&!o.subtitle);return withDirectives(createVNode("button",{class:["v-stepper-item",{"v-stepper-item--complete":f.value,"v-stepper-item--disabled":n.disabled,"v-stepper-item--error":d.value},a?.selectedClass.value],disabled:!n.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:r?n.color:void 0,size:24},{default:()=>[o.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"},[o.title?.(g.value)??n.title]),b&&createVNode("div",{key:"subtitle",class:"v-stepper-item__subtitle"},[o.subtitle?.(g.value)??n.subtitle]),o.default?.(g.value)])]),[[resolveDirective("ripple"),n.ripple&&n.editable,null]])})),{}}}),makeVStepperWindowProps=propsFactory({...omit(makeVWindowProps(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VStepperWindow"),VStepperWindow=genericComponent()({name:"VStepperWindow",props:makeVStepperWindowProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const a=inject$1(VStepperSymbol,null),s=useProxiedModel(n,"modelValue"),l=computed({get:()=>null==s.value&&a?a.items.value.find((n=>a.selected.value.includes(n.id)))?.value:s.value,set(n){s.value=n}});return useRender((()=>{const r=VWindow.filterProps(n);return createVNode(VWindow,mergeProps({_as:"VStepperWindow"},r,{modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,class:["v-stepper-window",n.class],style:n.style,mandatory:!1,touch:!1}),o)})),{}}}),makeVStepperWindowItemProps=propsFactory({...makeVWindowItemProps()},"VStepperWindowItem"),VStepperWindowItem=genericComponent()({name:"VStepperWindowItem",props:makeVStepperWindowItemProps(),setup(n,r){let{slots:o}=r;return useRender((()=>{const r=VWindowItem.filterProps(n);return createVNode(VWindowItem,mergeProps({_as:"VStepperWindowItem"},r,{class:["v-stepper-window-item",n.class],style:n.style}),o)})),{}}}),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":n=>!0},setup(n,r){let{slots:o}=r;const{items:a,next:s,prev:l,selected:c}=useGroup(n,VStepperSymbol),{displayClasses:u,mobile:d}=useDisplay(n),{completeIcon:f,editIcon:m,errorIcon:g,color:b,editable:S,prevText:k,nextText:w}=toRefs(n),E=computed((()=>n.items.map(((r,o)=>({title:getPropertyFromItem(r,n.itemTitle,r),value:getPropertyFromItem(r,n.itemValue,o+1),raw:r}))))),C=computed((()=>a.value.findIndex((n=>c.value.includes(n.id)))));return provideDefaults({VStepperItem:{editable:S,errorIcon:g,completeIcon:f,editIcon:m,prevText:k,nextText:w},VStepperActions:{color:b,disabled:computed((()=>n.disabled?n.disabled:0===C.value?"prev":C.value===a.value.length-1&&"next")),prevText:k,nextText:w}}),useRender((()=>{const r=VSheet.filterProps(n),a=!(!o.header&&!n.items.length),c=n.items.length>0,f=!(n.hideActions||!c&&!o.actions);return createVNode(VSheet,mergeProps(r,{color:n.bgColor,class:["v-stepper",{"v-stepper--alt-labels":n.altLabels,"v-stepper--flat":n.flat,"v-stepper--non-linear":n.nonLinear,"v-stepper--mobile":d.value},u.value,n.class],style:n.style}),{default:()=>[a&&createVNode(VStepperHeader,{key:"stepper-header"},{default:()=>[E.value.map(((n,r)=>{let{raw:a,...s}=n;return createVNode(Fragment,null,[!!r&&createVNode(VDivider,null,null),createVNode(VStepperItem,s,{default:o[`header-item.${s.value}`]??o.header,icon:o.icon,title:o.title,subtitle:o.subtitle})])}))]}),c&&createVNode(VStepperWindow,{key:"stepper-window"},{default:()=>[E.value.map((n=>createVNode(VStepperWindowItem,{value:n.value},{default:()=>o[`item.${n.value}`]?.(n)??o.item?.(n)})))]}),o.default?.({prev:l,next:s}),f&&(o.actions?.({next:s,prev:l})??createVNode(VStepperActions,{key:"stepper-actions","onClick:prev":l,"onClick:next":s},o))]})})),{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":n=>!0,"update:modelValue":n=>!0,"update:indeterminate":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const s=useProxiedModel(n,"indeterminate"),l=useProxiedModel(n,"modelValue"),{loaderClasses:c}=useLoader(n),{isFocused:u,focus:d,blur:f}=useFocus(n),m=ref(),g=IN_BROWSER&&window.matchMedia("(forced-colors: active)").matches,b=computed((()=>"string"==typeof n.loading&&""!==n.loading?n.loading:n.color)),S=getUid(),k=computed((()=>n.id||`switch-${S}`));function w(){s.value&&(s.value=!1)}function E(n){n.stopPropagation(),n.preventDefault(),m.value?.input?.click()}return useRender((()=>{const[r,S]=filterInputAttrs(o),C=VInput.filterProps(n),T=VSelectionControl.filterProps(n);return createVNode(VInput,mergeProps({class:["v-switch",{"v-switch--flat":n.flat},{"v-switch--inset":n.inset},{"v-switch--indeterminate":s.value},c.value,n.class]},r,C,{modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,id:k.value,focused:u.value,style:n.style}),{...a,default:r=>{let{id:o,messagesId:c,isDisabled:u,isReadonly:k,isValid:C}=r;const I={model:l,isValid:C};return createVNode(VSelectionControl,mergeProps({ref:m},T,{modelValue:l.value,"onUpdate:modelValue":[n=>l.value=n,w],id:o.value,"aria-describedby":c.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:u.value,readonly:k.value,onFocus:d,onBlur:f},S),{...a,default:n=>{let{backgroundColorClasses:r,backgroundColorStyles:o}=n;return createVNode("div",{class:["v-switch__track",g?void 0:r.value],style:o.value,onClick:E},[a["track-true"]&&createVNode("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](I)]),a["track-false"]&&createVNode("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](I)])])},input:r=>{let{inputNode:o,icon:s,backgroundColorClasses:l,backgroundColorStyles:c}=r;return createVNode(Fragment,null,[o,createVNode("div",{class:["v-switch__thumb",{"v-switch__thumb--filled":s||n.loading},n.inset||g?void 0:l.value],style:n.inset?void 0:c.value},[a.thumb?createVNode(VDefaultsProvider,{defaults:{VIcon:{icon:s,size:"x-small"}}},{default:()=>[a.thumb({...I,icon:s})]}):createVNode(VScaleTransition,null,{default:()=>[n.loading?createVNode(LoaderSlot,{name:"v-switch",active:!0,color:!1===C.value?void 0:b.value},{default:n=>a.loader?a.loader(n):createVNode(VProgressCircular,{active:n.isActive,color:n.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(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{backgroundColorClasses:s,backgroundColorStyles:l}=useBackgroundColor(toRef(n,"color")),{elevationClasses:c}=useElevation(n),{roundedClasses:u}=useRounded(n),{ssrBootStyles:d}=useSsrBoot(),f=computed((()=>n.height??(n.window?32:24))),{layoutItemStyles:m}=useLayoutItem({id:n.name,order:computed((()=>parseInt(n.order,10))),position:shallowRef("top"),layoutSize:f,elementSize:f,active:computed((()=>!0)),absolute:toRef(n,"absolute")});return useRender((()=>createVNode(n.tag,{class:["v-system-bar",{"v-system-bar--window":n.window},a.value,s.value,c.value,u.value,n.class],style:[l.value,m.value,d.value,n.style]},o))),{}}}),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(n,r){let{slots:o,attrs:a}=r;const{textColorClasses:s,textColorStyles:l}=useTextColor(n,"sliderColor"),c=ref(),u=ref(),d=computed((()=>"horizontal"===n.direction)),f=computed((()=>c.value?.group?.isSelected.value??!1));function m(n){let{value:r}=n;if(r){const n=c.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),r=u.value;if(!n||!r)return;const o=getComputedStyle(n).color,a=n.getBoundingClientRect(),s=r.getBoundingClientRect(),l=d.value?"x":"y",f=d.value?"X":"Y",m=d.value?"right":"bottom",g=d.value?"width":"height",b=a[l]>s[l]?a[m]-s[m]:a[l]-s[l],S=Math.sign(b)>0?d.value?"right":"bottom":Math.sign(b)<0?d.value?"left":"top":"center",k=(Math.abs(b)+(Math.sign(b)<0?a[g]:s[g]))/Math.max(a[g],s[g])||0,w=1.5;animate(r,{backgroundColor:[o,"currentcolor"],transform:[`translate${f}(${b}px) scale${f}(${a[g]/s[g]||0})`,`translate${f}(${b/w}px) scale${f}(${(k-1)/w+1})`,"none"],transformOrigin:Array(3).fill(S)},{duration:225,easing:standardEasing})}}return useRender((()=>{const r=VBtn.filterProps(n);return createVNode(VBtn,mergeProps({symbol:VTabsSymbol,ref:c,class:["v-tab",n.class],style:n.style,tabindex:f.value?0:-1,role:"tab","aria-selected":String(f.value),active:!1},r,a,{block:n.fixed,maxWidth:n.fixed?300:void 0,"onGroup:selected":m}),{...o,default:()=>createVNode(Fragment,null,[o.default?.()??n.text,!n.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":n=>!0},setup(n,r){let{slots:o}=r;const a=inject$1(VTabsSymbol,null),s=useProxiedModel(n,"modelValue"),l=computed({get:()=>null==s.value&&a?a.items.value.find((n=>a.selected.value.includes(n.id)))?.value:s.value,set(n){s.value=n}});return useRender((()=>{const r=VWindow.filterProps(n);return createVNode(VWindow,mergeProps({_as:"VTabsWindow"},r,{modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,class:["v-tabs-window",n.class],style:n.style,mandatory:!1,touch:!1}),o)})),{}}}),makeVTabsWindowItemProps=propsFactory({...makeVWindowItemProps()},"VTabsWindowItem"),VTabsWindowItem=genericComponent()({name:"VTabsWindowItem",props:makeVTabsWindowItemProps(),setup(n,r){let{slots:o}=r;return useRender((()=>{const r=VWindowItem.filterProps(n);return createVNode(VWindowItem,mergeProps({_as:"VTabsWindowItem"},r,{class:["v-tabs-window-item",n.class],style:n.style}),o)})),{}}});function parseItems(n){return n?n.map((n=>isObject$1(n)?n:{text:n,value:n})):[]}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":n=>!0},setup(n,r){let{attrs:o,slots:a}=r;const s=useProxiedModel(n,"modelValue"),l=computed((()=>parseItems(n.items))),{densityClasses:c}=useDensity(n),{backgroundColorClasses:u,backgroundColorStyles:d}=useBackgroundColor(toRef(n,"bgColor")),{scopeId:f}=useScopeId();return provideDefaults({VTab:{color:toRef(n,"color"),direction:toRef(n,"direction"),stacked:toRef(n,"stacked"),fixed:toRef(n,"fixedTabs"),sliderColor:toRef(n,"sliderColor"),hideSlider:toRef(n,"hideSlider")}}),useRender((()=>{const r=VSlideGroup.filterProps(n),m=!!(a.window||n.items.length>0);return createVNode(Fragment,null,[createVNode(VSlideGroup,mergeProps(r,{modelValue:s.value,"onUpdate:modelValue":n=>s.value=n,class:["v-tabs",`v-tabs--${n.direction}`,`v-tabs--align-tabs-${n.alignTabs}`,{"v-tabs--fixed-tabs":n.fixedTabs,"v-tabs--grow":n.grow,"v-tabs--stacked":n.stacked},c.value,u.value,n.class],style:[{"--v-tabs-height":convertToUnit(n.height)},d.value,n.style],role:"tablist",symbol:VTabsSymbol},f,o),{default:()=>[a.default?.()??l.value.map((n=>a.tab?.({item:n})??createVNode(VTab,mergeProps(n,{key:n.text,value:n.value}),{default:a[`tab.${n.value}`]?()=>a[`tab.${n.value}`]?.({item:n}):void 0})))]}),m&&createVNode(VTabsWindow,mergeProps({modelValue:s.value,"onUpdate:modelValue":n=>s.value=n,key:"tabs-window"},f),{default:()=>[l.value.map((n=>a.item?.({item:n})??createVNode(VTabsWindowItem,{value:n.value},{default:()=>a[`item.${n.value}`]?.({item:n})}))),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:n=>!isNaN(parseFloat(n))},maxRows:{type:[Number,String],validator:n=>!isNaN(parseFloat(n))},suffix:String,modelModifiers:Object,...makeVInputProps(),...makeVFieldProps()},"VTextarea"),VTextarea=genericComponent()({name:"VTextarea",directives:{Intersect:Intersect},inheritAttrs:!1,props:makeVTextareaProps(),emits:{"click:control":n=>!0,"mousedown:control":n=>!0,"update:focused":n=>!0,"update:modelValue":n=>!0},setup(n,r){let{attrs:o,emit:a,slots:s}=r;const l=useProxiedModel(n,"modelValue"),{isFocused:c,focus:u,blur:d}=useFocus(n),f=computed((()=>"function"==typeof n.counterValue?n.counterValue(l.value):(l.value||"").toString().length)),m=computed((()=>o.maxlength?o.maxlength:!n.counter||"number"!=typeof n.counter&&"string"!=typeof n.counter?void 0:n.counter));function g(r,o){n.autofocus&&r&&o[0].target?.focus?.()}const b=ref(),S=ref(),k=shallowRef(""),w=ref(),E=computed((()=>n.persistentPlaceholder||c.value||n.active));function C(){w.value!==document.activeElement&&w.value?.focus(),c.value||u()}function T(n){C(),a("click:control",n)}function I(n){a("mousedown:control",n)}function P(r){r.stopPropagation(),C(),nextTick$2((()=>{l.value="",callEvent(n["onClick:clear"],r)}))}function D(r){const o=r.target;if(l.value=o.value,n.modelModifiers?.trim){const n=[o.selectionStart,o.selectionEnd];nextTick$2((()=>{o.selectionStart=n[0],o.selectionEnd=n[1]}))}}const O=ref(),A=ref(+n.rows),eo=computed((()=>["plain","underlined"].includes(n.variant)));function no(){n.autoGrow&&nextTick$2((()=>{if(!O.value||!S.value)return;const r=getComputedStyle(O.value),o=getComputedStyle(S.value.$el),a=parseFloat(r.getPropertyValue("--v-field-padding-top"))+parseFloat(r.getPropertyValue("--v-input-padding-top"))+parseFloat(r.getPropertyValue("--v-field-padding-bottom")),s=O.value.scrollHeight,l=parseFloat(r.lineHeight),c=clamp(s??0,Math.max(parseFloat(n.rows)*l+a,parseFloat(o.getPropertyValue("--v-input-control-height"))),parseFloat(n.maxRows)*l+a||1/0);A.value=Math.floor((c-a)/l),k.value=convertToUnit(c)}))}let ro;return watchEffect((()=>{n.autoGrow||(A.value=+n.rows)})),onMounted(no),watch(l,no),watch((()=>n.rows),no),watch((()=>n.maxRows),no),watch((()=>n.density),no),watch(O,(n=>{n?(ro=new ResizeObserver(no),ro.observe(O.value)):ro?.disconnect()})),onBeforeUnmount((()=>{ro?.disconnect()})),useRender((()=>{const r=!!(s.counter||n.counter||n.counterValue),a=!(!r&&!s.details),[u,no]=filterInputAttrs(o),{modelValue:ro,...oo}=VInput.filterProps(n),ao=filterFieldProps(n);return createVNode(VInput,mergeProps({ref:b,modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,class:["v-textarea v-text-field",{"v-textarea--prefixed":n.prefix,"v-textarea--suffixed":n.suffix,"v-text-field--prefixed":n.prefix,"v-text-field--suffixed":n.suffix,"v-textarea--auto-grow":n.autoGrow,"v-textarea--no-resize":n.noResize||n.autoGrow,"v-input--plain-underlined":eo.value},n.class],style:n.style},u,oo,{centerAffix:1===A.value&&!eo.value,focused:c.value}),{...s,default:r=>{let{id:o,isDisabled:a,isDirty:u,isReadonly:f,isValid:m}=r;return createVNode(VField,mergeProps({ref:S,style:{"--v-textarea-control-height":k.value},onClick:T,onMousedown:I,"onClick:clear":P,"onClick:prependInner":n["onClick:prependInner"],"onClick:appendInner":n["onClick:appendInner"]},ao,{id:o.value,active:E.value||u.value,centerAffix:1===A.value&&!eo.value,dirty:u.value||n.dirty,disabled:a.value,focused:c.value,error:!1===m.value}),{...s,default:r=>{let{props:{class:o,...s}}=r;return createVNode(Fragment,null,[n.prefix&&createVNode("span",{class:"v-text-field__prefix"},[n.prefix]),withDirectives(createVNode("textarea",mergeProps({ref:w,class:o,value:l.value,onInput:D,autofocus:n.autofocus,readonly:f.value,disabled:a.value,placeholder:n.placeholder,rows:n.rows,name:n.name,onFocus:C,onBlur:d},s,no),null),[[resolveDirective("intersect"),{handler:g},null,{once:!0}]]),n.autoGrow&&withDirectives(createVNode("textarea",{class:[o,"v-textarea__sizer"],id:`${s.id}-sizer`,"onUpdate:modelValue":n=>l.value=n,ref:O,readonly:!0,"aria-hidden":"true"},null),[[vModelText,l.value]]),n.suffix&&createVNode("span",{class:"v-text-field__suffix"},[n.suffix])])}})},details:a?o=>createVNode(Fragment,null,[s.details?.(o),r&&createVNode(Fragment,null,[createVNode("span",null,null),createVNode(VCounter,{active:n.persistentCounter||c.value,value:f.value,max:m.value,disabled:n.disabled},s.counter)])]):void 0})})),forwardRefs({},b,S,w)}}),makeVThemeProviderProps=propsFactory({withBackground:Boolean,...makeComponentProps(),...makeThemeProps(),...makeTagProps()},"VThemeProvider"),VThemeProvider=genericComponent()({name:"VThemeProvider",props:makeVThemeProviderProps(),setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n);return()=>n.withBackground?createVNode(n.tag,{class:["v-theme-provider",a.value,n.class],style:n.style},{default:()=>[o.default?.()]}):o.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(n,r){let{slots:o}=r;const{sizeClasses:a,sizeStyles:s}=useSize(n,"v-timeline-divider__dot"),{backgroundColorStyles:l,backgroundColorClasses:c}=useBackgroundColor(toRef(n,"dotColor")),{roundedClasses:u}=useRounded(n,"v-timeline-divider__dot"),{elevationClasses:d}=useElevation(n),{backgroundColorClasses:f,backgroundColorStyles:m}=useBackgroundColor(toRef(n,"lineColor"));return useRender((()=>createVNode("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":n.fillDot},n.class],style:n.style},[createVNode("div",{class:["v-timeline-divider__before",f.value],style:m.value},null),!n.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},[o.default?createVNode(VDefaultsProvider,{key:"icon-defaults",disabled:!n.icon,defaults:{VIcon:{color:n.iconColor,icon:n.icon,size:n.size}}},o.default):createVNode(VIcon,{key:"icon",color:n.iconColor,icon:n.icon,size:n.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(n,r){let{slots:o}=r;const{dimensionStyles:a}=useDimension(n),s=shallowRef(0),l=ref();return watch(l,(n=>{n&&(s.value=n.$el.querySelector(".v-timeline-divider__dot")?.getBoundingClientRect().width??0)}),{flush:"post"}),useRender((()=>createVNode("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":n.fillDot},n.class],style:[{"--v-timeline-dot-size":convertToUnit(s.value),"--v-timeline-line-inset":n.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(n.lineInset)})`:convertToUnit(0)},n.style]},[createVNode("div",{class:"v-timeline-item__body",style:a.value},[o.default?.()]),createVNode(VTimelineDivider,{ref:l,hideDot:n.hideDot,icon:n.icon,iconColor:n.iconColor,size:n.size,elevation:n.elevation,dotColor:n.dotColor,fillDot:n.fillDot,rounded:n.rounded},{default:o.icon}),"compact"!==n.density&&createVNode("div",{class:"v-timeline-item__opposite"},[!n.hideOpposite&&o.opposite?.()])]))),{}}}),makeVTimelineProps=propsFactory({align:{type:String,default:"center",validator:n=>["center","start"].includes(n)},direction:{type:String,default:"vertical",validator:n=>["vertical","horizontal"].includes(n)},justify:{type:String,default:"auto",validator:n=>["auto","center"].includes(n)},side:{type:String,validator:n=>null==n||["start","end"].includes(n)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:n=>["start","end","both"].includes(n)},...pick$2(makeVTimelineItemProps({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...makeComponentProps(),...makeDensityProps(),...makeTagProps(),...makeThemeProps()},"VTimeline"),VTimeline=genericComponent()({name:"VTimeline",props:makeVTimelineProps(),setup(n,r){let{slots:o}=r;const{themeClasses:a}=provideTheme(n),{densityClasses:s}=useDensity(n),{rtlClasses:l}=useRtl();provideDefaults({VTimelineDivider:{lineColor:toRef(n,"lineColor")},VTimelineItem:{density:toRef(n,"density"),dotColor:toRef(n,"dotColor"),fillDot:toRef(n,"fillDot"),hideOpposite:toRef(n,"hideOpposite"),iconColor:toRef(n,"iconColor"),lineColor:toRef(n,"lineColor"),lineInset:toRef(n,"lineInset"),size:toRef(n,"size")}});const c=computed((()=>{const r=n.side?n.side:"default"!==n.density?"end":null;return r&&`v-timeline--side-${r}`})),u=computed((()=>{const r=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(n.truncateLine){case"both":return r;case"start":return r[0];case"end":return r[1];default:return null}}));return useRender((()=>createVNode(n.tag,{class:["v-timeline",`v-timeline--${n.direction}`,`v-timeline--align-${n.align}`,`v-timeline--justify-${n.justify}`,u.value,{"v-timeline--inset-line":!!n.lineInset},a.value,s.value,c.value,l.value,n.class],style:[{"--v-timeline-line-thickness":convertToUnit(n.lineThickness)},n.style]},o))),{}}}),makeVToolbarItemsProps=propsFactory({...makeComponentProps(),...makeVariantProps({variant:"text"})},"VToolbarItems"),VToolbarItems=genericComponent()({name:"VToolbarItems",props:makeVToolbarItemsProps(),setup(n,r){let{slots:o}=r;return provideDefaults({VBtn:{color:toRef(n,"color"),height:"inherit",variant:toRef(n,"variant")}}),useRender((()=>createVNode("div",{class:["v-toolbar-items",n.class],style:n.style},[o.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":n=>!0},setup(n,r){let{slots:o}=r;const a=useProxiedModel(n,"modelValue"),{scopeId:s}=useScopeId(),l=getUid(),c=computed((()=>n.id||`v-tooltip-${l}`)),u=ref(),d=computed((()=>n.location.split(" ").length>1?n.location:n.location+" center")),f=computed((()=>"auto"===n.origin||"overlap"===n.origin||n.origin.split(" ").length>1||n.location.split(" ").length>1?n.origin:n.origin+" center")),m=computed((()=>n.transition?n.transition:a.value?"scale-transition":"fade-transition")),g=computed((()=>mergeProps({"aria-describedby":c.value},n.activatorProps)));return useRender((()=>{const r=VOverlay.filterProps(n);return createVNode(VOverlay,mergeProps({ref:u,class:["v-tooltip",n.class],style:n.style,id:c.value},r,{modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,transition:m.value,absolute:!0,location:d.value,origin:f.value,persistent:!0,role:"tooltip",activatorProps:g.value,_disableGlobalStack:!0},s),{activator:o.activator,default:function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return o.default?.(...a)??n.text}})})),forwardRefs({},u)}}),VValidation=genericComponent()({name:"VValidation",props:makeValidationProps(),emits:{"update:modelValue":n=>!0},setup(n,r){let{slots:o}=r;const a=useValidation(n,"validation");return()=>o.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(n,r){const o=r.modifiers||{},a=r.value,{once:s,immediate:l,...c}=o,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 o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1?arguments[1]:void 0;d?.(o,a),s&&unmounted$2(n,r)}));l&&d?.([],m),n._mutate=Object(n._mutate),n._mutate[r.instance.$.uid]={observer:m},m.observe(n,f)}function unmounted$2(n,r){n._mutate?.[r.instance.$.uid]&&(n._mutate[r.instance.$.uid].observer.disconnect(),delete n._mutate[r.instance.$.uid])}const Mutate={mounted:mounted$2,unmounted:unmounted$2};function mounted$1(n,r){const o=r.value,a={passive:!r.modifiers?.active};window.addEventListener("resize",o,a),n._onResize=Object(n._onResize),n._onResize[r.instance.$.uid]={handler:o,options:a},r.modifiers?.quiet||o()}function unmounted$1(n,r){if(!n._onResize?.[r.instance.$.uid])return;const{handler:o,options:a}=n._onResize[r.instance.$.uid];window.removeEventListener("resize",o,a),delete n._onResize[r.instance.$.uid]}const Resize={mounted:mounted$1,unmounted:unmounted$1};function mounted(n,r){const{self:o=!1}=r.modifiers??{},a=r.value,s="object"==typeof a&&a.options||{passive:!0},l="function"==typeof a||"handleEvent"in a?a:a.handler,c=o?n:r.arg?document.querySelector(r.arg):window;c&&(c.addEventListener("scroll",l,s),n._onScroll=Object(n._onScroll),n._onScroll[r.instance.$.uid]={handler:l,options:s,target:o?void 0:c})}function unmounted(n,r){if(!n._onScroll?.[r.instance.$.uid])return;const{handler:o,options:a,target:s=n}=n._onScroll[r.instance.$.uid];s.removeEventListener("scroll",o,a),delete n._onScroll[r.instance.$.uid]}function updated(n,r){r.value!==r.oldValue&&(unmounted(n,r),mounted(n,r))}const Scroll={mounted:mounted,unmounted:unmounted,updated:updated};function useDirectiveComponent(n,r){const o=mountComponent("string"==typeof n?resolveComponent(n):n,r);return{mounted:o,updated:o,unmounted(n){render(null,n)}}}function mountComponent(n,r){return function(o,a,s){const l="function"==typeof r?r(a):r,c=a.value?.text??a.value??l?.text,u=isObject$1(a.value)?a.value:{},d=(s.ctx===a.instance.$?findComponentParent(s,a.instance.$)?.provides:s.ctx?.provides)??a.instance.$.provides,f=h$2(n,mergeProps(l,u),(()=>c??o.textContent));f.appContext=Object.assign(Object.create(null),a.instance.$.appContext,{provides:d}),render(f,o)}}function findComponentParent(n,r){const o=new Set,a=r=>{for(const s of r){if(!s)continue;if(s===n||s.el&&n.el&&s.el===n.el)return!0;let r;if(o.add(s),s.suspense?r=a([s.ssContent]):Array.isArray(s.children)?r=a(s.children):s.component?.vnode&&(r=a([s.component?.subTree])),r)return r;o.delete(s)}return!1};if(!a([r.subTree]))return r;const s=Array.from(o).reverse();for(const l of s)if(l.component)return l.component;return r}const Tooltip=useDirectiveComponent(VTooltip,(n=>({activator:"parent",location:n.arg?.replace("-"," "),text:"boolean"==typeof n.value?void 0:n.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 n=createPinia(),r=createApp(_sfc_main$4),{allCourseWare:o}=await __vitePreload((async()=>{const{allCourseWare:n}=await import("./index-BweUwxDQ.js");return{allCourseWare:n}}),[]),a=o.allViewsRaw();Object.entries(a).forEach((([n,o])=>{r.component(n,o)})),r.use(router),r.use(vuetify),r.use(n);const{piniaPlugin:s}=await __vitePreload((async()=>{const{piniaPlugin:n}=await Promise.resolve().then((()=>commonUi_es));return{piniaPlugin:n}}),void 0);r.use(s,{pinia:n}),r.provide("markdownComponents",{}),r.mount("#app")})();export{defineStore as $,adjustCourseScores as A,ref as B,Cn as C,DocType as D,ENV$2 as E,Fragment as F,onMounted as G,oa as H,we as I,be as J,hasActiveFilter as K,sn as L,ai as M,Ne as N,useRoute$1 as O,normalizeProps as P,guardReactiveProps as Q,Ti as R,ServerRequestType as S,TransitionGroup as T,bi as U,Vi as V,Mi as W,Question as X,Yi as Y,Ze as Z,_export_sfc as _,createVNode as a,withKeys as a0,withModifiers as a1,computed as a2,watch as a3,NameSpacer as a4,validateProcessorConfig as a5,importParsedCards as a6,ve as a7,ea as a8,Navigators as a9,FieldType as aa,Li as ab,DataShapeName as ac,markRaw as ad,Os as ae,$s as af,Bs as ag,withDirectives as ah,vModelText as ai,bn as aj,Ke as ak,Ge as al,fn as am,pn as an,nextTick$2 as ao,onBeforeUnmount as ap,js as aq,defineAsyncComponent as ar,onUnmounted as as,__vitePreload as at,wn as au,normalizeStyle as av,Displayable as aw,commonUi_es as ax,createBaseVNode as b,createBlock as c,defineComponent$1 as d,createTextVNode as e,CourseLookup as f,ri as g,getDataLayer as h,createElementBlock as i,createCommentVNode as j,Se as k,log$1 as l,Status as m,hooks as n,openBlock as o,renderList as p,mergeProps as q,resolveComponent as r,toHandlers as s,toDisplayString as t,normalizeClass as u,ka as v,withCtx as w,Transition as x,getDefaultExportFromCjs as y,ze as z};
|
|
3
|
-
//# sourceMappingURL=index-dF8VqAFl.js.map
|